:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#0f172a;background:#f8fafc;font-synthesis:none}
.public-snapshot{max-width:850px;margin:24px auto 0;text-align:left}
.public-activity{margin-top:28px;text-align:left;border-top:1px solid #e2e8f0;padding-top:22px}.public-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:0;gap:12px}.public-stats>div{border:1px solid #e2e8f0;border-radius:10px;background:white;padding:16px 18px}.public-stats dt{color:#64748b;font-size:12px}.public-stats dd{margin:7px 0 0;font-size:30px;font-weight:700;font-variant-numeric:tabular-nums;color:#0f172a}.public-stats>div:last-child dd{color:#047857}.stats-note{font-size:11px!important;color:#64748b!important;line-height:1.8;margin:10px 0}.recent-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.recent-heading h2{font-size:12px}.recent-heading span{font-size:10px;color:#94a3b8}.recent-jobs{list-style:none;margin:10px 0 0;padding:0}.recent-jobs li{display:flex;justify-content:space-between;gap:12px;font-size:12px;padding:9px 0;border-bottom:1px solid #eef2f6}.recent-jobs li span:last-child{font-size:11px;color:#64748b}.feedback{border-top:1px solid #e2e8f0;margin-top:18px;padding-top:14px;font-size:12px;color:#64748b}.feedback summary{cursor:pointer}.feedback form{display:flex;align-items:start;flex-wrap:wrap;gap:10px;margin-top:12px}.feedback select,.feedback textarea{font:inherit;padding:8px;border:1px solid #cbd5e1;border-radius:7px;background:white;color:#334155}.feedback textarea{flex:1;min-width:180px}.feedback .note{width:100%;margin:0}@media(max-width:680px){.public-stats{gap:7px}.public-stats>div{padding:12px}.public-stats dd{font-size:24px}.recent-jobs li{font-size:11px;flex-wrap:wrap;gap:4px}}
.timing-summary{margin-top:20px;padding:16px 18px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px}
.timing-total{font-size:14px;font-weight:650;color:#0f172a;margin:0 0 14px}
.timing-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0}
.timing-step dt{font-size:11px;color:#64748b;line-height:1.6}.timing-step dd{font-size:12px;color:#334155;font-variant-numeric:tabular-nums;margin:5px 0 0;line-height:1.6}
.timing-step.running dd{color:#2563eb}.timing-step.unknown dd,.timing-step.pending dd,.timing-step.skipped dd{color:#94a3b8}
.timing-note{font-size:11px;color:#94a3b8;line-height:1.7;margin:14px 0 0}
@media(max-width:680px){.timing-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 8px}.timing-summary{padding:14px}.timing-total{font-size:13px}}

*{box-sizing:border-box}body{margin:0}main{max-width:1080px;padding:48px 24px 30px;margin:auto}header{margin-bottom:26px}.mark{width:44px;height:44px;display:grid;place-items:center;background:#e5eee8;color:#326149;border-radius:12px;font-weight:750;font-size:12px;letter-spacing:.5px}h1{font-size:30px;letter-spacing:-1px;margin:18px 0 8px}header p{color:#64748b;margin:0;font-size:15px}.card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px;box-shadow:0 3px 18px #243e2e03}label{display:block;font-size:14px;font-weight:600;margin-bottom:12px}.input-row{display:flex;gap:10px}input[type=password]{border:1px solid #cbd5e1;border-radius:9px;padding:12px 14px;font:inherit;min-width:0;flex:1}:focus-visible{outline:2px solid #3b82f6;outline-offset:3px}button,.download{border:0;border-radius:9px;background:#2563eb;color:#fff;padding:12px 20px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;text-decoration:none;text-align:center}button:hover,.download:hover{background:#1d4ed8}button:disabled{opacity:.45;cursor:default}.secondary{background:#eff6ff;color:#2563eb;padding:9px 13px;font-size:12px}.secondary:hover{background:#dbeafe}.secondary[aria-pressed=true]{background:#2563eb;color:white}.error{font-size:13px;color:#b54435;min-height:0;margin:10px 0 0}.error:empty{display:none}.file-area{border:1px dashed #cbd5e1;background:#f8fafc;border-radius:11px;min-height:146px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;cursor:pointer;text-align:center;margin-bottom:16px;padding:18px}.file-area:hover{border-color:#3b82f6}.file-area:focus-within{outline:2px solid #3b82f6;outline-offset:3px}.file-area strong{font-size:15px;font-weight:600;overflow-wrap:anywhere}.file-area span:last-of-type{font-size:12px;font-weight:400;color:#94a3b8}.upload-icon{font-size:28px;color:#64748b;line-height:1}input[type=file]{position:absolute;width:1px;height:1px;opacity:0}#start{width:100%}.results-heading{display:flex;align-items:center;justify-content:space-between;margin-top:28px}h2{font-size:15px;font-weight:650;margin:0}.text-button{background:transparent;color:#64748b;padding:7px;font-size:12px}.text-button:hover{background:#f1f5f9}.empty{color:#919b94;font-size:13px;padding:18px 0}.job{background:white;border:1px solid #e2e8f0;border-radius:12px;padding:20px;margin-top:12px}.job-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.job-info{min-width:0}.filename{font-size:14px;font-weight:600;overflow-wrap:anywhere;margin:0}.job-title{font-size:14px;font-weight:600;margin:12px 0 0}.job-meta,.job-expiry{font-size:12px;color:#64748b;margin:6px 0 0;line-height:1.7}.job-expiry{margin-top:16px;color:#94a3b8}.job[data-state=failed] .job-title,.job[data-state=skipped] .job-title{color:#986334}.job[data-state=done] .job-title{color:#059669}.note{color:#64748b;font-size:12px;line-height:1.8;margin:20px 0 0}footer{color:#94a3b8;font-size:11px;margin-top:38px;text-align:center}.help{margin-top:16px;background:#fafbf9;border-radius:8px;padding:10px 12px;font-size:12px;color:#637467;line-height:1.9}.help summary{cursor:pointer;font-weight:600}.help p{margin:8px 0}.help a{color:#2563eb}.stages{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:0;list-style:none;font-size:12px;color:#9ba69e}.stages li{padding:7px 11px;background:#f3f6f4;border-radius:6px}.stages .complete{color:#558369}.stages .current{background:#e5f0e8;color:#2563eb;font-weight:600}.stages .current:before{content:"";width:6px;height:6px;background:#3b82f6;border-radius:50%;display:inline-block;margin-right:6px;animation:pulse 1.5s infinite}.transfer{margin-top:14px}.transfer-label{font-size:12px;color:#627767;margin:0 0 6px;overflow-wrap:anywhere}progress{display:block;width:100%;height:7px;border:0;border-radius:10px;overflow:hidden;accent-color:#059669;background:#edf1ee}progress::-webkit-progress-bar{background:#edf1ee}progress::-webkit-progress-value{background:#059669;border-radius:10px}progress::-moz-progress-bar{background:#059669;border-radius:10px}.preview-panel{border-top:1px solid #e8ede9;margin-top:18px;padding-top:16px}.preview-status,.page-note{font-size:12px;color:#7c8b81;line-height:1.6;margin:0 0 12px}.page-note{text-align:center;margin:14px 0}.page-ranges{display:flex;flex-wrap:wrap;gap:6px;max-height:150px;overflow:auto;margin-bottom:16px;padding:3px}.page-ranges button{padding:7px 10px}.preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.comparison-card{min-width:0;border:1px solid #dde5df;border-radius:9px;overflow:hidden}.comparison-head{display:flex;justify-content:space-between;align-items:center;padding:5px 10px;background:#f7f9f7;font-size:12px}.comparison-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.comparison-pane{min-width:0}.comparison-pane+.comparison-pane{border-left:1px solid #e2e8f0}.pane-label{font-size:11px;text-align:center;margin:0;padding:7px}.pane-label.before{background:#fcf6eb;color:#9a733d}.pane-label.after{background:#edf6ef;color:#427653}.image-button{display:block;width:100%;cursor:zoom-in;background:#f5f6f4;padding:0;border:0;border-radius:0}.preview-image{position:relative;min-height:140px;background:#f0f3f1;display:grid;place-items:center}.preview-image img{width:100%;height:auto;display:block;color:#7c8b81;font-size:12px}.image-status,.image-retry{position:absolute;font-size:11px;padding:8px;white-space:normal}.image-status{color:#64748b;pointer-events:none}.image-retry{background:#fff2e6;color:#955e2c;max-width:90%}.preview-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #e8ede9;padding-top:14px}.preview-footer .note{margin:0}.download{font-size:13px;padding:11px 20px;flex-shrink:0}dialog{padding:0;border:0;border-radius:12px;width:min(1400px,95vw);max-height:94vh;color:#0f172a;background:#f8fafc;box-shadow:0 20px 80px #13201955}dialog::backdrop{background:#15251cd0}.lightbox-header{position:sticky;top:0;z-index:1;background:white;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid #e2e8f0}#lightbox-pages{padding:16px;gap:16px;align-items:start}#lightbox-pages .comparison-pane{border:1px solid #e2e8f0;background:white}.lightbox-header h2{font-size:14px}#lightbox-pages .preview-image img{width:100%;height:auto}.job-header>.secondary{flex-shrink:0}[hidden]{display:none!important}@keyframes pulse{50%{opacity:.3}}@media(max-width:680px){main{padding:30px 16px}.card{padding:18px}.job{padding:16px}.job-header{gap:10px}.job-header>.secondary{padding:8px}.preview-grid{grid-template-columns:minmax(0,1fr)}.preview-footer{align-items:stretch;flex-direction:column;gap:12px}.preview-footer .download{align-self:flex-end}h1{font-size:27px}.stages{gap:5px}.stages li{padding:6px 8px}#lightbox-pages{padding:8px;gap:8px}.lightbox-header{padding:12px}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}

/* Transfer progress stays visible from the first byte through server acceptance. */
.transfer{padding:12px 14px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}
.transfer-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:9px;font-size:12px}
.transfer-name{min-width:0;overflow-wrap:anywhere;color:#334155;font-weight:600}
.transfer-percent{flex-shrink:0;color:#2563eb;font-variant-numeric:tabular-nums}
.transfer progress{height:9px;accent-color:#2563eb;background:#e2e8f0}
.transfer progress::-webkit-progress-bar{background:#e2e8f0}
.transfer progress::-webkit-progress-value{background:#2563eb}
.transfer progress::-moz-progress-bar{background:#2563eb}
.transfer progress:indeterminate{background:linear-gradient(90deg,#e2e8f0 25%,#93c5fd 50%,#e2e8f0 75%);background-size:200% 100%;animation:transfer-wait 1.4s linear infinite}
.transfer progress:indeterminate::-webkit-progress-bar{background:transparent}
.transfer .transfer-label{margin:8px 0 0;color:#64748b;font-variant-numeric:tabular-nums;line-height:1.6}
.transfer[data-state=complete] .transfer-percent{color:#047857}
.transfer[data-state=error]{border-color:#fecaca;background:#fff7f7}
.transfer[data-state=error] .transfer-percent,.transfer[data-state=error] .transfer-label{color:#b54435}
.download-dock .transfer .transfer-label{margin:8px 0 0}
@keyframes transfer-wait{to{background-position:-200% 0}}

/* Two pages share the same task state; downloads stay at the viewport edge. */
.landing-hero{max-width:720px;margin-bottom:28px}.landing-hero h1{font-size:42px;line-height:1.25;letter-spacing:-1.4px;margin:12px 0 18px}.landing-hero>p{line-height:1.8}.landing-hero .eyebrow{color:#059669;font-size:13px;font-weight:650;letter-spacing:1px;margin:18px 0 0}.landing-benefits{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.landing-benefits span{padding:6px 10px;background:#e9f0eb;border-radius:6px;color:#50705b;font-size:12px}.landing-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0}.landing-steps div{border-top:1px solid #e2e8f0;padding-top:15px}.landing-steps span{font-size:12px;color:#8da394;margin-right:9px}.landing-steps strong{font-size:14px;font-weight:600}.landing-steps p{font-size:12px;color:#829087;line-height:1.7;margin:8px 0 0}.result-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#64748b;font-size:12px;margin-bottom:24px}.result-topbar .text-button{padding-left:0;padding-right:0}.results-header{margin-bottom:24px}.results-header h1{margin-top:0}.file-picker{display:flex;align-items:center;gap:12px;margin:18px 0}.file-picker label{margin:0;font-size:12px;color:#64748b;flex-shrink:0}.file-picker select{appearance:auto;min-width:0;width:100%;max-width:580px;padding:11px 12px;background:white;color:#334155;border:1px solid #cbd5e1;border-radius:8px;font:inherit;font-size:13px}.download-dock{position:fixed;bottom:0;left:0;right:0;z-index:40;background:#fffffffa;border-top:1px solid #e2e8f0;box-shadow:0 -6px 24px #1f3a2b08;padding:15px 24px calc(15px + env(safe-area-inset-bottom,0px))}.download-dock-inner{max-width:1032px;margin:0 auto}.dock-main{display:flex;align-items:center;justify-content:space-between;gap:24px}.dock-info{min-width:0}.dock-info strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650}.dock-info p{margin:5px 0 0;font-size:12px;color:#64748b;line-height:1.6}.dock-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.dock-actions .download{min-width:168px}.download-dock .transfer{margin-top:12px}.download-dock .transfer-label{margin-bottom:5px}body[data-page=results] main{padding-top:24px;padding-bottom:190px}body[data-page=landing] main{max-width:900px}.job{scroll-margin-top:24px}@media(max-width:680px){.landing-hero h1{font-size:33px}.landing-steps{gap:12px;margin:22px 0}.landing-steps span{display:block;margin-bottom:8px}.landing-steps strong{font-size:13px}.download-dock{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}.dock-main{align-items:stretch;flex-direction:column;gap:10px}.dock-actions{justify-content:space-between}.dock-actions .download{min-width:0;flex:1}.dock-info strong{font-size:13px}.dock-info p{font-size:11px}body[data-page=results] main{padding-top:16px;padding-bottom:230px}.result-topbar{gap:10px;margin-bottom:22px}}

/* Optional waiting-room game. Its controls stay separate from PDF progress. */
.waiting-game{margin-top:18px;padding:20px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;overflow:hidden}
.game-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.game-heading-copy{min-width:0}.game-tag{display:inline-block;font-size:10px;line-height:1.5;letter-spacing:1px;color:#64748b;margin-bottom:7px}.game-heading h2{font-size:15px}.game-heading-copy p{font-size:12px;color:#64748b;line-height:1.6;margin:7px 0 0}
.game-scores{display:flex;gap:20px;flex-shrink:0;color:#94a3b8;font-size:10px}.game-scores span{display:flex;flex-direction:column;gap:5px}.game-scores strong{font:600 17px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;color:#475569;letter-spacing:2px}
.game-canvas{display:block;width:100%;height:184px;margin:18px 0 0;background:#f8fafc;border-radius:8px;image-rendering:pixelated;touch-action:pan-y;cursor:pointer}.game-canvas[aria-disabled=true]{cursor:default}
.game-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:49px;padding-top:14px}.game-footer p{font-size:12px;color:#64748b;line-height:1.7;margin:0}.game-actions{flex-shrink:0}.game-actions button{min-width:88px}
.game-controls{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;border-top:1px solid #f1f5f9;padding-top:12px;margin:14px 0 0;color:#94a3b8;font-size:10px;line-height:1.8}.game-controls kbd{font:inherit;color:#64748b}
.waiting-game[data-game-state=complete]{border-color:#bfdbfe}.waiting-game[data-game-state=complete] .game-tag,.waiting-game[data-game-state=complete] .game-footer p{color:#2563eb}
@media(max-width:680px){.waiting-game{padding:16px}.game-heading{gap:12px;align-items:flex-start}.game-scores{gap:10px}.game-scores strong{font-size:13px;letter-spacing:1px}.game-heading h2{font-size:14px}.game-heading-copy p{font-size:11px}.game-footer{align-items:flex-start}.game-footer p{font-size:11px}.game-actions button{padding:9px 11px;min-width:76px}.game-controls{font-size:10px}}

/* Shared visual language from the existing PDF product. */
.site-brand{display:flex;align-items:center;gap:12px;border-bottom:1px solid #e2e8f0;padding:0 0 24px;grid-column:1/-1}
.site-brand .mark{background:#0f172a;color:white;border-radius:8px;width:40px;height:40px}
.site-brand strong{font-size:16px}.site-brand p{margin:5px 0 0;font-size:12px;color:#64748b}
.site-brand>span{margin-left:auto;font-size:12px;color:#64748b}
body[data-page=landing] main{max-width:1440px;display:grid;grid-template-columns:320px minmax(0,1fr);gap:28px 36px;padding:28px 36px}
body[data-page=landing] #workspace{display:contents}
body[data-page=landing] #landing-page,body[data-page=landing] #login{grid-column:1;grid-row:2;align-self:start}
body[data-page=landing] .landing-hero{grid-column:2;grid-row:2;max-width:none;text-align:center;margin:0;padding:12px 0}
body[data-page=landing] footer{grid-column:1/-1;margin-top:10px}
body[data-page=results] .site-brand{display:none}
.landing-hero h1{font-size:30px;line-height:1.4;letter-spacing:-.7px;margin:14px 0 12px}
.landing-hero .eyebrow{display:inline-flex;margin:0;background:#eff6ff;border:1px solid #dbeafe;border-radius:99px;padding:5px 12px;color:#1d4ed8;font-size:12px;letter-spacing:0}
.landing-hero>p{font-size:14px;color:#64748b;line-height:1.8}
.demo-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:26px auto 20px;max-width:850px}
.demo-pair figure{margin:0;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;background:white;box-shadow:0 1px 3px #0f172a08}
.demo-pair figcaption{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:10px 12px;font-size:12px;color:#64748b}
.demo-pair figcaption span{font-size:10px;border-radius:99px;background:#fff1f2;color:#e11d48;padding:3px 7px}
.demo-pair img{display:block;width:100%;height:auto;max-height:480px;object-fit:contain;object-position:top}
.demo-pair .demo-after{border-color:#a7f3d0}.demo-after figcaption{background:#ecfdf5;border-color:#d1fae5;color:#047857}.demo-after figcaption span{background:white;color:#059669}
.landing-benefits{justify-content:center;margin:16px 0}.landing-benefits span{background:white;border:1px solid #e2e8f0;border-radius:99px;color:#475569;font-size:12px;padding:6px 12px}
.landing-hero .demo-caption{font-size:11px;color:#94a3b8}
.upload{padding:22px;border-radius:10px;box-shadow:none}.upload h2{font-size:16px}.upload-subtitle{font-size:12px;color:#64748b;line-height:1.7;margin:8px 0 20px}
.file-area{border-width:2px;border-radius:8px;min-height:190px}.file-area.dragging{border-color:#2563eb;background:#eff6ff}
.landing-steps{display:flex;flex-direction:column;gap:20px;padding:20px;border:1px solid #e2e8f0;border-radius:8px;background:white;margin:20px 0}
.landing-steps div{border:0;padding:0;display:grid;grid-template-columns:28px 1fr;column-gap:10px;align-items:center}
.landing-steps span{display:grid;place-items:center;grid-row:1/3;width:26px;height:26px;border-radius:99px;background:#eff6ff;color:#2563eb;margin:0;font-size:12px}
.landing-steps strong{font-size:12px}.landing-steps p{grid-column:2;margin:4px 0 0;font-size:11px;color:#94a3b8}
#payment-modal{width:min(840px,calc(100% - 32px));max-height:calc(100dvh - 32px);border:0;border-radius:16px;padding:0;color:#0f172a;box-shadow:0 24px 80px #0f172a40}
#payment-modal::backdrop{background:#0f172a80}
.payment-layout{display:grid;grid-template-columns:1.15fr 1fr}.payment-main{position:relative;padding:30px;text-align:center}
.payment-close{position:absolute;right:12px;top:10px}.payment-badge{font-size:11px;color:#2563eb;background:#eff6ff;padding:5px 10px;border-radius:99px}
#payment-title{font-size:22px;margin:16px 0 10px}.payment-file{font-size:12px;color:#64748b;overflow-wrap:anywhere;margin:0}
.payment-amount{font-size:22px;margin:16px 0 6px}.payment-amount strong{font-size:42px;letter-spacing:-1px}
.payment-meta{font-size:11px;color:#64748b;margin:6px 0;overflow-wrap:anywhere}
.qr-area{width:220px;height:220px;margin:22px auto 12px;display:grid;place-items:center;border:1px solid #e2e8f0;border-radius:10px;background:white;padding:10px}
#payment-qr{width:100%;height:100%;object-fit:contain}.payment-placeholder{font-size:13px;color:#94a3b8;line-height:1.8;padding:12px}
#payment-status{font-size:12px;color:#475569;line-height:1.7;min-height:20px}.payment-query{width:100%;margin:12px 0 8px}
.payment-explanation{background:#f8fafc;border-left:1px solid #e2e8f0;padding:42px 28px}
.payment-explanation h3{font-size:16px;margin:0 0 28px}.payment-explanation ul{list-style:none;margin:0;padding:0}
.payment-explanation li{margin:0 0 24px}.payment-explanation strong{font-size:13px}.payment-explanation li p{font-size:12px;color:#64748b;line-height:1.8;margin:8px 0 0}
@media(max-width:900px){body[data-page=landing] main{grid-template-columns:280px minmax(0,1fr);gap:24px;padding:24px}.demo-pair{gap:8px}.demo-pair figcaption{padding:8px}.demo-pair figcaption span{display:none}}
@media(max-width:680px){body[data-page=landing] main{display:flex;flex-direction:column;padding:20px 16px;gap:24px}.site-brand{order:0;padding-bottom:18px}.site-brand>span{display:none}#landing-page,#login{order:1}.landing-hero{order:2}footer{order:3}.landing-hero h1{font-size:27px}.landing-steps{gap:16px}.landing-steps span{margin:0}.landing-steps strong{font-size:12px}.demo-pair{margin-top:20px}.payment-layout{grid-template-columns:1fr}.payment-main{padding:28px 22px}.payment-explanation{border-left:0;border-top:1px solid #e2e8f0;padding:24px}.payment-explanation h3{margin-bottom:18px}.payment-explanation li{margin-bottom:16px}}

/* Shared customer support, separate from the payment code. */
.support-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:14px;align-items:center;padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin:20px 0}
.support-card a{display:block;line-height:0}.support-card img{display:block;width:112px;height:112px;object-fit:contain}.support-card strong{font-size:14px;color:#1f2937}.support-card p{font-size:12px;line-height:1.7;color:#667085;margin:7px 0}.support-card span{display:block;font-size:11px;line-height:1.6;color:#667085}.payment-explanation .support-card{padding:12px;gap:12px;margin-bottom:0}

.review-issues p{font-size:13px;line-height:1.7;color:#78581c}.review-confirmation{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.7;margin:12px 0}.review-confirmation input{width:auto;flex:0 0 auto;margin:4px 0;padding:0}

.hero-copy>p{font-size:14px;color:#64748b;line-height:1.8}
/* Keep the desktop home in one view; allow natural scrolling on short or zoomed screens. */
@media(min-width:1024px){
  body[data-page=landing] main{max-width:1600px;min-height:100dvh;grid-template-columns:320px minmax(0,1fr);grid-template-rows:auto 1fr auto;gap:14px 28px;padding:14px 24px}
  body[data-page=landing] .site-brand{padding-bottom:14px}
  body[data-page=landing] footer{margin:0;line-height:1.6}
  body[data-page=landing] #landing-page{display:flex;flex-direction:column;gap:12px;min-width:0}
  body[data-page=landing] .upload{position:relative;padding:18px}
  body[data-page=landing] #view-results{position:absolute;right:12px;top:15px;padding:6px;font-size:11px;background:transparent}
  body[data-page=landing] .upload-subtitle{margin:6px 0 14px}
  body[data-page=landing] .file-area{min-height:120px;padding:14px;gap:8px;margin-bottom:14px}
  body[data-page=landing] .landing-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;border:0;background:transparent;gap:10px}
  body[data-page=landing] .landing-steps div{grid-template-columns:1fr;gap:5px;align-content:start}
  body[data-page=landing] .landing-steps span{grid-row:auto;width:22px;height:22px}
  body[data-page=landing] .landing-steps p{grid-column:1;margin:0;color:#64748b;line-height:1.6}
  body[data-page=landing] #landing-support{margin:0;padding:12px;gap:12px}
  body[data-page=landing] #landing-support p{margin:5px 0;line-height:1.6}
  body[data-page=landing] #landing-page>.note{margin:0;font-size:11px;line-height:1.7}
  body[data-page=landing] .landing-hero{display:grid;grid-template-columns:minmax(0,1fr) 218px;grid-template-rows:auto 1fr;gap:20px;align-self:start;padding:0;text-align:left}
  .hero-copy{grid-column:1}
  .landing-hero .eyebrow{padding:0;border:0;background:transparent;font-size:12px}
  .landing-hero h1{font-size:28px;line-height:1.3;margin:8px 0;text-wrap:balance}
  .landing-hero h1 br{display:none}
  .hero-copy>p{font-size:13px;line-height:1.7}
  .hero-copy>p br{display:none}
  .demo-showcase{min-width:0}
  .demo-pair{gap:10px;margin:0;max-width:none}
  .demo-pair figcaption{padding:10px;font-size:12px}
  .demo-pair figcaption span{display:none}
  .demo-pair img{height:clamp(180px,calc(100dvh - 430px),440px);max-height:none;object-position:center}
  .landing-benefits{gap:6px;margin:12px 0 8px}
  .landing-benefits span{padding:4px 8px;font-size:11px}
  .landing-hero .demo-caption{text-align:center;font-size:11px;line-height:1.7}
  .activity-rail{grid-column:2;grid-row:1/3;min-width:0;border-left:1px solid #e2e8f0;padding-left:18px}
  .public-snapshot{margin:0}
  .public-stats{gap:0;grid-template-columns:1fr}
  .public-stats>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border:0;border-bottom:1px solid #e2e8f0;border-radius:0;background:transparent}
  .public-stats>div:first-child{padding-top:0}
  .public-stats dd{font-size:25px;margin:0;line-height:1.3}
  .stats-note{line-height:1.7;margin:10px 0 0}
  .public-activity{margin-top:18px;padding-top:0;border:0}
  .recent-heading{display:block;margin:0}
  .recent-heading span{display:block;margin-top:5px}
  .recent-jobs{margin-top:6px}
  .recent-jobs li{flex-direction:column;gap:3px;padding:7px 0;font-size:11px;line-height:1.5}
  .recent-jobs li span:last-child{font-size:10px}
}


.presence-warning{font-size:12px;line-height:1.8;color:#92400e;margin:14px 0 0}

footer .icp-record{display:inline-block;margin-top:6px;color:inherit;text-decoration:none}footer .icp-record:hover{text-decoration:underline}

/* Compact payment flow: one action, a stable QR area and optional help. */
#payment-modal{width:min(400px,calc(100% - 24px))}
.payment-layout{display:block}.payment-main{padding:26px 24px 18px}
#payment-title{color:#1677ff;font-size:23px;margin:8px 0 14px}
.payment-amount{margin:14px 0 4px}.payment-amount strong{font-size:40px}
.qr-area{margin:18px auto 10px;box-sizing:border-box;width:220px;height:220px;padding:4px}
#payment-qr{width:100%;height:100%;display:grid;place-items:center}
#payment-qr svg,#payment-qr img{width:100%;height:100%;object-fit:contain}
.payment-placeholder::before{content:'';display:block;width:24px;height:24px;margin:0 auto 14px;border:3px solid #dbeafe;border-top-color:#1677ff;border-radius:50%;animation:payment-spin .8s linear infinite}
.payment-placeholder[data-error]::before{display:none}
.payment-query{margin:8px 0}.payment-details{text-align:left;margin-top:12px;font-size:12px;color:#64748b}
.payment-details summary{cursor:pointer;text-align:center;padding:6px}
.payment-details .support-card{padding:12px;gap:10px}.payment-details .support-card img{width:72px;height:72px}
.mobile-delivery{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0}.mobile-delivery a{color:#1d4ed8;text-decoration:underline;padding:10px 0}
@keyframes payment-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.payment-placeholder::before{animation:none}}
