:root{--ink:#111827;--muted:#667085;--paper:#f6f4ef;--card:#fff;--accent:#e85d3f;--line:#e6e2da;--soft:#fff1ec}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Noto Sans Devanagari",sans-serif}header{height:72px;display:flex;align-items:center;justify-content:space-between;max-width:1180px;margin:auto;padding:0 24px;border-bottom:1px solid var(--line)}.brand{font-size:24px;font-weight:850;text-decoration:none;color:var(--ink);letter-spacing:-1px}.brand span{color:var(--accent)}.badge{font-size:11px;font-weight:800;letter-spacing:.06em;border:1px solid var(--line);padding:7px 10px;border-radius:99px;background:#fff}.badge b{color:var(--accent);margin-left:5px}main{max-width:1180px;margin:auto;padding:68px 24px 36px}.hero{max-width:760px;margin-bottom:38px}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.18em;color:var(--accent);margin:0 0 10px}.hero h1{font-size:clamp(44px,7vw,82px);line-height:.94;letter-spacing:-.055em;margin:0}.hero h1 em{font-style:normal;color:var(--accent)}.sub{max-width:620px;font-size:17px;line-height:1.65;color:var(--muted);margin:22px 0 0}.workspace{display:grid;grid-template-columns:1fr 1fr;gap:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 10px 35px rgba(17,24,39,.04)}.dropzone{min-height:390px;border:1.5px dashed #cfc9bd;border-radius:14px;display:grid;place-items:center;text-align:center;padding:22px;overflow:hidden;position:relative}.dropzone.drag{border-color:var(--accent);background:var(--soft)}.dropzone img{max-width:100%;max-height:440px;object-fit:contain;border-radius:8px}.upload-icon{margin:auto;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-size:24px}.dropzone h2{margin:15px 0 5px;font-size:20px}.dropzone p,.placeholder p{color:var(--muted)}button{font:inherit;cursor:pointer;border:0}.secondary,.ghost{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-weight:750}.secondary{margin-top:8px}.actions{display:flex;gap:10px;margin-top:14px}.primary{flex:1;background:var(--ink);color:#fff;padding:14px 18px;border-radius:11px;font-weight:850}.primary:disabled{opacity:.35;cursor:not-allowed}.primary span{float:right}.progress-wrap{margin-top:14px}.progress-line{height:5px;background:#eee;border-radius:9px;overflow:hidden}.progress-line div{height:100%;width:0;background:var(--accent);transition:width .2s}.progress-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:7px}.result-card{min-height:480px}.result-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:3px 2px 14px}.result-head h2{margin:0;font-size:28px}.placeholder{height:380px;display:grid;place-content:center;text-align:center}.placeholder p{margin:10px 0 3px}.placeholder small{color:#98a2b3}.scan-mark{font-size:48px;color:#d5d0c7}.stats{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.stat{font-size:12px;background:#f7f7f6;border:1px solid var(--line);padding:6px 9px;border-radius:99px}.lines{margin:0;padding-left:34px}.lines li{padding:10px 8px;border-bottom:1px solid #f0eee9;line-height:1.55;outline:none}.lines li.low{background:#fff6cf}.edit-note{font-size:12px;color:var(--muted);margin:14px 4px}.privacy{margin-top:18px;border-top:1px solid var(--line);padding:18px 2px;display:flex;gap:18px;color:var(--muted);font-size:13px}.privacy strong{color:var(--ink)}footer{max-width:1180px;margin:auto;padding:28px 24px 45px;color:#98a2b3;font-size:10px;letter-spacing:.16em}@media(max-width:760px){header{height:62px}.workspace{grid-template-columns:1fr}main{padding-top:42px}.hero{margin-bottom:26px}.dropzone{min-height:300px}.result-card{min-height:400px}.privacy{flex-direction:column;gap:4px}}.progress-line div{position:relative}.progress-line div:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);animation:scan 1.15s linear infinite}@keyframes scan{from{transform:translateX(-100%)}to{transform:translateX(100%)}}.result-card.processing{box-shadow:0 10px 35px rgba(17,24,39,.04),0 0 0 2px rgba(232,93,63,.08)}