*[hidden]{display:none!important}*{box-sizing:border-box}body{margin:0;background:#f6f8fb;color:#172033;font-family:Inter,Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.entryPage{min-height:100vh;display:grid;place-items:center;background:#f6f8fb;padding:24px}.entryBox{width:min(92vw,500px);display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;border:1px solid #e5e9f0;border-radius:24px;padding:42px 38px;box-shadow:0 14px 40px rgba(23,32,51,.07)}.entryBrand{display:flex;align-items:center;gap:10px;margin-bottom:24px}.entryBrandLogo{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#635bff;color:#fff;font-weight:900;font-size:18px}.entryBrandText{text-align:left}.entryBrandText strong{display:block;font-size:15px;line-height:1.2}.entryBrandText small{display:block;color:#8b95a7;font-size:11px;margin-top:3px}.entryBox h1{margin:0 0 12px;font-size:36px;line-height:1.18;letter-spacing:-1.5px;color:#172033;font-weight:900}.entryBox h1 em{font-style:normal;color:#635bff}.entryBox p{margin:0 0 24px;color:#697386;font-size:15px;line-height:1.6}.entryLock{width:58px;height:58px;margin:0 0 20px;display:grid;place-items:center;border-radius:16px;background:#efedff}.entryLock svg{width:30px;height:30px;fill:none;stroke:#635bff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.entryInput{width:100%;height:56px;border:1px solid #dce1e8;border-radius:11px;background:#fff;padding:0 16px;font-size:17px;color:#39445a;outline:none;transition:border-color .15s,box-shadow .15s}.entryInput:focus{border-color:#635bff;box-shadow:0 0 0 3px rgba(99,91,255,.12)}.entryInput::placeholder{color:#a5adba}.entryButton{width:100%;height:56px;margin-top:14px;border:0;border-radius:11px;background:#635bff;color:#fff;font-size:17px;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(99,91,255,.2);transition:opacity .15s,transform .05s,box-shadow .15s}.entryButton:hover:not(:disabled){box-shadow:0 10px 24px rgba(99,91,255,.28)}.entryButton:active{transform:translateY(1px)}.entryButton:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.entryError{width:100%;margin-top:11px;padding:10px 12px;border-radius:8px;background:#fff1f1;color:#c62828;font-size:13px;text-align:left}.entryHint{margin-top:14px;color:#929aaa;font-size:11px}.shell{max-width:1180px;margin:auto;padding:28px 24px 70px}.hero{text-align:center;padding:8px 0 24px}.brand{display:flex;justify-content:center;align-items:center;gap:10px;margin-bottom:22px}.brand>div{text-align:left}.brand strong{display:block;font-size:15px}.brand small{color:#8b95a7}.logo{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#635bff;color:#fff;font-weight:900}.privacy{display:inline-block;background:#ecf8f2;color:#21815a;border-radius:999px;padding:7px 13px;font-size:12px;font-weight:700}.hero h1{font-size:46px;line-height:1.12;margin:18px 0 12px;letter-spacing:-1.8px}.hero h1 em{font-style:normal;color:#635bff}.hero p{margin:0 auto;color:#697386;max-width:760px;line-height:1.7}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:0 0 18px}.steps div{display:flex;align-items:center;justify-content:center;gap:8px;background:#fff;border:1px solid #e5e9f0;border-radius:11px;padding:10px;font-size:12px;color:#697386}.steps b{width:23px;height:23px;display:grid;place-items:center;border-radius:7px;background:#efedff;color:#635bff}.panel{background:#fff;border:1px solid #e5e9f0;border-radius:16px;box-shadow:0 5px 20px rgba(23,32,51,.035)}.apiPanel{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:24px;align-items:center;padding:20px;margin-bottom:18px}.apiIntro{display:flex;gap:13px;align-items:flex-start}.apiIcon{width:43px;height:43px;border-radius:12px;background:#fff7d6;display:grid;place-items:center;font-size:20px;flex:0 0 auto}.apiIntro h2{font-size:16px;margin:2px 0 6px}.apiIntro p{font-size:12px;line-height:1.6;color:#7f899b;margin:0}.apiActions{min-width:0}.keyLink{display:inline-flex;align-items:center;text-decoration:none;background:#fff7d6;color:#755b00;border-radius:9px;padding:8px 11px;font-size:12px;font-weight:800;margin-bottom:9px}.keyRow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px}.keyRow input{width:100%;height:43px;border:1px solid #dce1e8;border-radius:9px;padding:0 12px;font:inherit;color:#39445a;outline:none}.keyRow input:focus{border-color:#635bff;box-shadow:0 0 0 3px rgba(99,91,255,.1)}.primaryButton,.ghostButton{border:0;border-radius:9px;padding:0 14px;font-weight:800;cursor:pointer}.primaryButton{background:#635bff;color:#fff}.ghostButton{background:#f1f3f7;color:#4c566a}.keyStatusRow{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px}.keyStatus{font-size:12px;color:#8b95a7}.keyStatus.saved{color:#21815a;font-weight:700}.keyStatus.error{color:#c62828;font-weight:700}.textButton{border:0;background:transparent;color:#7d8799;font-size:11px;cursor:pointer}.upload{background:#fff;border:2px dashed #ccd3df;border-radius:20px;padding:36px 20px;text-align:center;box-shadow:0 8px 28px rgba(23,32,51,.04);transition:.2s;cursor:pointer}.upload:hover,.upload.dragging{border-color:#635bff;background:#fbfaff}.uploadIcon{margin:auto;width:54px;height:54px;border-radius:16px;background:#efedff;color:#635bff;display:grid;place-items:center;font-size:30px}.upload h2{font-size:19px;margin:14px 0 6px}.upload p{color:#8a94a6;font-size:12px}.primary{display:inline-block;cursor:pointer;border:0;border-radius:10px;padding:11px 18px;margin:8px 4px;font-size:13px;font-weight:800;background:#635bff;color:#fff}.hiddenInput{display:none}.notice{margin:14px 0;padding:11px 14px;border-radius:10px;background:#f0efff;color:#5148cf;font-size:13px;line-height:1.55}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;margin-top:20px;align-items:start}.panelHead{display:flex;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid #edf0f4}.panel h2{font-size:16px;margin:0}.panelHead h2 b{color:#635bff}.panelHead p{font-size:12px;color:#8993a5;margin:5px 0 0}.tools button,.progress button{border:0;background:#f1f3f7;padding:8px 10px;border-radius:8px;margin-left:5px;cursor:pointer}.tools button:disabled,.progress button:disabled{opacity:.5;cursor:not-allowed}.tools .danger{color:#d34848}.emptyState{padding:48px 20px;text-align:center;color:#a0a8b6;font-size:13px}.fileList{max-height:650px;overflow:auto}.fileRow{display:flex;align-items:flex-start;gap:11px;padding:13px 15px;border-bottom:1px solid #f0f2f5;background:#fff;transition:.15s}.fileRow:hover,.fileRow.active{background:#fafbff}.number{font-size:11px;color:#9aa3b2;width:20px;padding-top:19px}.fileRow>img{width:58px;height:58px;object-fit:cover;border-radius:9px;background:#f1f3f6;flex:0 0 auto}.meta{min-width:0;flex:1}.meta>strong{font-size:13px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta>span{font-size:11px;color:#8d96a6}.fileNameLabel{display:block;margin-top:7px;font-size:10px;color:#7f899b}.fileNameLabel input{width:100%;margin-top:4px;border:1px solid #e0e4eb;border-radius:7px;padding:7px 8px;font:inherit;color:#39445a}.filenameWarning,.typeWarning,.filenameOk{margin-top:5px;font-size:10px;line-height:1.45}.filenameWarning,.typeWarning{color:#b06b00}.filenameOk{color:#2b8a64}.rowActions{display:flex;align-items:center;gap:6px}.remove{border:0;background:transparent;color:#9da6b5;font-size:22px;cursor:pointer}.remove:disabled{opacity:.45}.status{display:inline-block;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800;white-space:nowrap}.status.pending{background:#f1f3f7;color:#7d8798}.status.working{background:#eeecff;color:#635bff}.status.done{background:#e9f8f1;color:#21815a}.status.error{background:#fff0f0;color:#c62828}.status.waiting{background:#fff7d6;color:#8a6900}.settings{padding:20px;position:sticky;top:18px}.settings h2{margin-bottom:18px}.settings label{display:block;font-size:12px;font-weight:800;margin:13px 0}.settings select{display:block;width:100%;margin-top:7px;border:1px solid #dce1e8;border-radius:9px;background:#fff;padding:10px;font:inherit;color:#39445a}.strategyBox{display:flex;flex-direction:column;gap:6px;margin-top:16px;padding:13px;border-radius:10px;background:#fafaff;border:1px solid #eceaff}.strategyBox strong{font-size:12px;color:#5148cf;margin-bottom:2px}.strategyBox span{font-size:10px;color:#7b8496}.strategyBox span b{color:#555f73}.summary{display:flex;justify-content:space-between;background:#f7f8fb;border-radius:10px;padding:12px;margin:18px 0;font-size:12px}.summary span{display:flex;flex-direction:column;color:#8791a3}.summary b{font-size:17px;color:#202a3d;margin-top:3px}.make{width:100%;border:0;border-radius:11px;background:#635bff;color:#fff;font-weight:900;padding:13px;cursor:pointer}.make:disabled{opacity:.5;cursor:not-allowed}.helper{display:block;margin-top:8px;color:#8d96a6;font-size:10px;line-height:1.45}.progress{margin-top:15px;padding-top:14px;border-top:1px solid #edf0f4}.progress>div{display:flex;justify-content:space-between;font-size:11px}.progress span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.progress progress{width:100%;margin:8px 0}.progress small{display:block;color:#7f899b;line-height:1.45}.progress button{margin:10px 0 0;width:100%;color:#b33}.results{margin-top:18px;padding:20px}.resultHead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:15px}.resultHead p{font-size:12px;color:#8993a5;margin:5px 0 0}.download{border:0;border-radius:10px;background:#635bff;color:#fff;font-weight:900;padding:11px 16px;cursor:pointer;white-space:nowrap}.download:disabled{opacity:.5;cursor:not-allowed}.resultList{display:grid;gap:12px}.resultCard{display:grid;grid-template-columns:100px minmax(0,1fr);gap:14px;border:1px solid #e8ebf1;border-radius:13px;padding:13px;background:#fff}.resultCard>img{width:100px;height:100px;object-fit:cover;border-radius:10px;background:#f1f3f6}.resultBody{min-width:0}.resultTop{display:flex;align-items:center;justify-content:space-between;gap:10px}.resultTop>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.count{font-size:10px;font-weight:900;border-radius:999px;padding:5px 8px;white-space:nowrap}.count.valid{background:#e9f8f1;color:#21815a}.count.invalid{background:#fff0f0;color:#c62828}.strategySummary{margin:5px 0 8px;font-size:10px;color:#7d8798}.resultBody label{display:block;font-size:11px;font-weight:800;color:#5e687a;margin-top:7px}.resultBody label small{font-weight:500;color:#9aa3b2}.resultBody input,.resultBody textarea{width:100%;margin-top:5px;border:1px solid #dce1e8;border-radius:8px;padding:8px 10px;font:inherit;color:#39445a;outline:none;resize:vertical}.resultBody input:focus,.resultBody textarea:focus{border-color:#635bff;box-shadow:0 0 0 3px rgba(99,91,255,.08)}.aiWarning{margin-top:8px;padding:8px 9px;border-radius:8px;background:#fff7e8;color:#9b6500;font-size:10px;line-height:1.45}.errorCard{border-color:#f1d8d8}.resultError{margin:8px 0;color:#b52a2a;font-size:12px;line-height:1.5}.errorCard small{color:#8b95a7;font-size:10px}.finalNotice{margin-top:15px;padding:11px 13px;border-radius:10px;background:#f7f8fb;color:#687386;font-size:11px;line-height:1.55}footer{text-align:center;color:#929aaa;font-size:11px;margin-top:30px}@media(max-width:800px){.shell{padding:18px 14px 50px}.hero h1{font-size:34px}.steps{grid-template-columns:1fr 1fr}.steps div:last-child{grid-column:1/-1}.apiPanel{grid-template-columns:1fr}.keyRow{grid-template-columns:1fr auto}.keyRow .primaryButton{grid-column:1/-1;height:42px}.workspace{grid-template-columns:1fr}.settings{position:static}.panelHead{align-items:flex-start;gap:10px;flex-direction:column}.tools{width:100%}.tools button{margin:2px}.upload{padding:30px 12px}.resultHead{flex-direction:column}.download{width:100%}.resultCard{grid-template-columns:76px minmax(0,1fr)}.resultCard>img{width:76px;height:76px}.entryPage{padding:14px}.entryBox{width:min(96vw,390px);padding:34px 22px;border-radius:20px}.entryBox h1{font-size:30px}.entryBox p{font-size:14px}.entryInput,.entryButton{height:52px;font-size:16px}}@media(max-width:520px){.steps{grid-template-columns:1fr}.steps div:last-child{grid-column:auto}.apiPanel{padding:16px}.keyStatusRow{align-items:flex-start;flex-direction:column}.fileRow{gap:8px}.fileRow>img{width:48px;height:48px}.number{display:none}.rowActions{flex-direction:column;align-items:flex-end}.resultCard{grid-template-columns:1fr}.resultCard>img{width:100%;height:170px}.resultTop{align-items:flex-start}.hero p{font-size:13px}}