*{box-sizing:border-box}html{background:#f6f8fb}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;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 #17203312}.entryBrand{display:flex;align-items:center;gap:10px;margin-bottom:24px}.entryBrandLogo,.logo{display:grid;place-items:center;background:#635bff;color:#fff;font-weight:900}.entryBrandLogo{width:42px;height:42px;border-radius:12px;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;font-weight:900}.entryBox h1 em,.hero 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}.entryInput:focus{border-color:#635bff;box-shadow:0 0 0 3px #635bff1f}.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}.entryButton:disabled{opacity:.45;cursor:not-allowed}.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 30px}.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{width:38px;height:38px;border-radius:11px}.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 p{margin:0;color:#697386;line-height:1.65}.upload{background:#fff;border:2px dashed #ccd3df;border-radius:20px;padding:38px 20px;text-align:center;box-shadow:0 8px 28px #1720330a;transition:border-color .15s ease,background .15s ease}.upload:hover,.upload.dragging{border-color:#635bff}.upload.dragging{background:#faf9ff}.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,.secondary{display:inline-block;cursor:pointer;border:0;border-radius:10px;padding:11px 18px;margin:8px 4px;font-size:13px;font-weight:800}.primary{background:#635bff;color:#fff}.secondary{background:#f1f3f7;color:#4c566a}.uploadButton{-webkit-user-select:none;user-select:none}.loadingText{min-height:18px;margin-top:8px;color:#635bff;font-size:12px;font-weight:700}.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) 350px;gap:18px;margin-top:20px;align-items:start}.panel{background:#fff;border:1px solid #e5e9f0;border-radius:16px;box-shadow:0 5px 20px #17203309}.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 p,.resultTitle p{font-size:12px;color:#8993a5;margin:5px 0 0}.fileList{padding:8px 14px 14px}.fileRow{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:12px 8px;border-bottom:1px solid #eef1f5}.fileRow:last-child{border-bottom:0}.fileRow strong{display:block;font-size:13px}.fileRow span{display:block;margin-top:4px;font-size:11px;color:#8d96a6}.badge{padding:5px 8px;border-radius:999px;background:#efedff;color:#635bff!important;font-size:10px!important;font-weight:900;white-space:nowrap}.settings{padding:20px;position:sticky;top:18px}.summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.summary div{background:#f7f8fb;border-radius:10px;padding:12px}.summary span{display:block;color:#8791a3;font-size:11px}.summary b{display:block;font-size:18px;margin-top:4px}.make{width:100%;border:0;border-radius:11px;background:#635bff;color:#fff;font-weight:900;padding:13px;cursor:pointer}.make:disabled{opacity:.45;cursor:not-allowed}.tip{font-size:11px;line-height:1.55;color:#7e8798;background:#f7f8fb;border-radius:9px;padding:10px;margin-top:10px}.emptyTip{margin:8px}.result{margin-top:18px;padding:20px}.resultTitle{display:flex;align-items:center;justify-content:space-between;gap:16px}.resultActions{display:flex;gap:8px;flex-wrap:wrap}.tableWrap{overflow:auto;max-height:420px;border:1px solid #e7eaf0;border-radius:11px;margin-top:14px}.preview{border-collapse:collapse;width:100%;font-size:11px}.preview th,.preview td{border-bottom:1px solid #edf0f4;border-right:1px solid #edf0f4;padding:8px;white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis}.preview th{position:sticky;top:0;background:#f7f8fb;text-align:left;z-index:1}.preview td:first-child,.preview th:first-child{position:sticky;left:0;background:#fff;z-index:2}.preview th:first-child{background:#f7f8fb;z-index:3}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}.workspace{grid-template-columns:1fr}.settings{position:static}.entryBox{width:min(96vw,390px);padding:34px 22px}.entryBox h1{font-size:30px}.resultTitle{align-items:flex-start;flex-direction:column}.resultActions{width:100%}.resultActions button{flex:1;margin:0}}
