:root{color-scheme:dark;--bg:#0b121b;--surface:#111c28;--line:#243141;--text:#e9f0f5;--muted:#94a5b5;--green:#64e0ad;--blue:#66b9ff;--danger:#ff9e97;font-family:Inter,'Segoe UI',system-ui,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}button,a,input,canvas{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid var(--green)}[hidden]{display:none!important}button{color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:32px;line-height:1.2;letter-spacing:-1px;font-weight:650}h2{font-size:15px;font-weight:600;display:flex;align-items:center;gap:10px}h3{font-size:13px;font-weight:600}input{min-width:0;background:#0c1621;border:1px solid #344153;color:var(--text);border-radius:9px;padding:10px 12px}input:focus{border-color:var(--green)}fieldset{border:0;margin:0;padding:0;min-width:0}.muted,.micro{color:var(--muted)}.micro{font-size:11px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:2px;color:var(--muted);margin-bottom:10px}.topbar{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1384px)/2));gap:20px}.brand{display:flex;align-items:center;gap:10px;font-size:30px;font-weight:750;letter-spacing:-1.4px}.brand-dot{color:var(--green)}.brand .brand-tag{font-size:9px;letter-spacing:2px;font-weight:500;color:var(--muted);border-left:1px solid #35414b;margin-left:16px;padding-left:24px}.account{display:flex;align-items:center;gap:16px;font-size:12px}.connection{color:var(--muted);margin-right:12px}.connection i{display:inline-block;height:6px;width:6px;background:var(--green);border-radius:50%;margin-right:7px}.button{border:1px solid transparent;border-radius:9px;padding:10px 17px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:background .15s,transform .15s;white-space:nowrap}.button:not(:disabled):active{transform:translateY(1px)}.button.primary{background:var(--green);color:#08251e;border-color:var(--green)}.button.primary:not(:disabled):hover{background:#8ceac3}.button.secondary{background:#243849;border-color:#365066}.button.secondary:hover{background:#2e4559}.button.quiet{background:transparent;border-color:var(--line);color:#bdccd8}.button.quiet:not(:disabled):hover{background:#1f2c3a;color:var(--text)}.button.small{padding:7px 11px;font-size:11px}main{max-width:1440px;margin:auto;padding:34px 28px 0}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:20px}.page-heading .muted{margin-top:9px;font-size:13px}.heading-dot{color:var(--green)}.method-tag{border:1px solid var(--line);border-radius:30px;padding:9px 16px;color:#b7c6d3;font-size:11px}.method-tag span{padding:0 9px;color:#5c7181}.work-grid{display:grid;grid-template-columns:minmax(0,1fr) 348px;gap:20px;align-items:stretch}.panel{background:var(--surface);border:1px solid var(--line);border-radius:15px;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 21px;border-bottom:1px solid var(--line)}.step{font-size:10px;font-weight:500;color:#8395a8;border:1px solid #344151;border-radius:6px;padding:2px 5px}.upload-bar{padding:16px 20px;display:flex;align-items:center;gap:8px}.upload-bar .button{font-size:12px;padding:8px 12px}.filename{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;margin-left:8px}.viewport{position:relative;margin:0 20px;background-color:#080f17;background-image:radial-gradient(#1b2d3d 1px,transparent 1px);background-size:20px 20px;border:1px solid #2a3847;border-radius:10px;height:436px;overflow:hidden}.viewport.dragover{border:2px solid var(--green);background-color:#122f27}.empty-view{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:100%;border:0;background:transparent;color:var(--muted);padding:20px}.empty-view strong{color:#e2eaf1;font-size:19px;font-weight:550;letter-spacing:-.3px}.empty-view span:not(.upload-symbol){font-size:12px}.empty-view small{font-size:10px;color:#667e91;margin-top:13px}.upload-symbol{width:58px;height:58px;border:1px solid #334c5e;border-radius:16px;display:grid;place-items:center;font-size:32px;color:var(--green);margin-bottom:12px;background:#132331}.image-foot{display:flex;justify-content:space-between;gap:12px;padding:13px 20px 17px}.image-foot .micro{font-size:10px}.image-foot>span:last-child{white-space:nowrap}#viewer{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}.viewport-legend{position:absolute;top:12px;left:12px;display:flex;gap:15px;background:#0b1427d9;border:1px solid #364555;border-radius:7px;padding:7px 10px;pointer-events:none;font-size:10px}.viewport-legend span{display:flex;align-items:center;gap:6px}.ref-dot,.test-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:5px}.test-dot{background:var(--blue)}.zoom-controls{position:absolute;bottom:12px;right:12px;display:flex;align-items:center;background:#101b28eF;border:1px solid #405067;border-radius:9px;padding:3px;gap:3px}.zoom-controls button{width:33px;height:31px;border:0;border-radius:6px;background:transparent;color:var(--text);font-size:19px}.zoom-controls button:hover{background:#26374b}.zoom-controls output{font-size:11px;min-width:31px;text-align:center}.zoom-controls>span{height:17px;border-right:1px solid #405067;margin:0 3px}.selection-panel{padding-bottom:18px}.selection-help{padding:17px 21px 13px;color:var(--muted);font-size:12px}.color-picks{display:grid;gap:9px;margin:0 20px 21px}.color-pick{display:flex;align-items:center;gap:11px;border:1px solid #304153;border-radius:10px;padding:12px;background:#142130;text-align:left;width:100%;transition:border-color .15s}.color-pick.active{border-color:var(--green);background:#142b2a}.color-pick[data-mode=test].active{border-color:var(--blue);background:#152b3f}.swatch{height:39px;width:39px;border-radius:9px;background:#193f33;border:1px solid #39705c;display:grid;place-items:center;color:var(--green);font-size:12px;font-weight:700;flex-shrink:0;text-shadow:0 1px 3px #000}#test-swatch{background:#183951;border-color:#2f658b;color:var(--blue)}.color-copy{display:grid;gap:3px;min-width:0}.color-copy strong{font-size:12px;font-weight:600}.color-copy small{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.pick-indicator{margin-left:auto;border:1px solid #587082;border-radius:50%;width:13px;height:13px;flex-shrink:0}.active .pick-indicator{background:var(--green);border:3px solid #244b3e}.active[data-mode=test] .pick-indicator{background:var(--blue);border-color:#244965}#position-controls{margin:0 21px}.precision-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:17px}.precision-heading h3{font-size:11px}.precision-heading .micro{font-size:10px}.precision-body{display:flex;justify-content:space-around;align-items:center;padding:14px 0;gap:18px}.magnifier-wrap{display:flex;flex-direction:column;align-items:center;gap:5px}#magnifier{width:84px;height:84px;border:1px solid #36485a;border-radius:9px;background:#0c1723;image-rendering:pixelated}.magnifier-wrap .micro{font-size:9px}.dpad{display:grid;grid-template-columns:35px 35px 35px;grid-template-rows:32px 32px 32px;gap:4px}.dpad button{border:1px solid #35495f;border-radius:7px;background:#1d2d3f;font-size:20px;touch-action:none;user-select:none}.dpad button:not(:disabled):hover{background:#2d475e}.dpad .up{grid-area:1/2}.dpad .left{grid-area:2/1}.dpad .right{grid-area:2/3}.dpad .down{grid-area:3/2}.dpad>span{grid-area:2/2;display:grid;place-items:center;border-radius:7px;background:#183a30;color:var(--green);font-size:12px;font-weight:700}.coordinates{display:flex;gap:12px}.coordinates label{color:var(--muted);font-size:11px;display:flex;align-items:center;gap:7px;flex:1}.coordinates input{width:100%;font-size:12px;padding:7px 9px}.analyze-button{margin:20px 20px 0;width:calc(100% - 40px);justify-content:space-between;padding:12px 15px}.status{margin:10px 21px 0;font-size:10px;min-height:30px;color:var(--muted)}.status.error,#login-status.error{color:var(--danger)}.status.success{color:var(--green)}.results-panel{margin-top:22px}.report-actions{display:flex;gap:7px}.results-empty{padding:30px;display:flex;align-items:center;justify-content:center;gap:20px}.result-icon{font-size:36px;color:#597d8f;line-height:1}.results-empty strong{font-size:13px;font-weight:550}.results-empty p{color:var(--muted);font-size:11px;margin-top:4px}.results-overview{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;padding:26px 28px;gap:28px;border-bottom:1px solid var(--line)}.similarity-number{font-size:46px;line-height:1.1;letter-spacing:-1.5px;font-weight:650;color:var(--green);font-variant-numeric:tabular-nums}.similarity-number small{font-size:21px;margin-left:5px}.similarity-block .eyebrow{margin-bottom:9px}.similarity-block .micro{font-size:9px;margin-top:7px}.meter{height:4px;border-radius:8px;background:#283f43;margin-top:13px;max-width:220px;overflow:hidden}.meter>span{display:block;height:100%;background:var(--green);width:0}.metric{display:flex;flex-direction:column;justify-content:center;gap:9px;border-left:1px solid #283746;padding-left:28px}.metric>span{font-size:12px;color:#abc0d0}.metric strong{font-size:31px;font-weight:550;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.metric small{color:var(--muted);font-size:10px}.results-detail{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;padding:22px 28px}.lab-table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}caption{text-align:left;margin-bottom:12px;font-weight:600}th,td{text-align:right;padding:9px 11px;border-bottom:1px solid var(--line)}th{font-weight:500}th:first-child{text-align:left;padding-left:0}thead{color:var(--muted);font-size:10px}.delta-row th,.delta-row td{font-size:10px;color:var(--muted);border-bottom:0}.feedback{padding:10px 0}.feedback h3{font-size:15px;margin-bottom:10px}.feedback p:not(.eyebrow){color:#aec0ce;font-size:12px;line-height:1.8}.feedback p.micro{font-size:10px;color:var(--muted);margin-top:14px}.result-time{padding:0 28px 16px;font-size:10px}.footer{display:flex;justify-content:space-between;align-items:center;padding:24px 2px;font-size:10px;color:#8297a9}.footer>span:first-child{font-size:16px;font-weight:600}.footer>span:first-child>span:last-child{font-size:10px;font-weight:400;margin-left:12px}.login-shell{max-width:410px;margin:50px auto;padding:20px;text-align:center}.login-shell h1{font-size:29px;line-height:1.25}.login-shell>.muted{font-size:13px;margin:17px 0 24px;line-height:1.8}.login-form{text-align:left;display:grid;gap:8px}.login-form label{font-size:12px;color:#bdccd8;margin-top:8px}.login-form input{padding:12px}.login-form button{margin-top:17px;justify-content:space-between;padding:12px 17px}#login-status{font-size:12px;color:var(--muted);min-height:36px;margin-top:7px}.login-art{height:110px;position:relative;margin:0 auto 22px;width:160px}.color-disc{width:76px;height:76px;border:1px solid #547c78;display:block;border-radius:50%;position:absolute;top:5px;background:radial-gradient(circle at 32% 30%,#97ebbe,#26715a);box-shadow:0 0 45px #59dfa512}.color-disc.green{left:12px}.color-disc.blue{left:69px;top:30px;background:radial-gradient(circle at 32% 30%,#a0d1fc,#235e8f);opacity:.9}.crosshair{position:absolute;left:76px;top:47px;z-index:1;color:white;font-size:24px;font-weight:200}.loading-veil{position:absolute;inset:0;background:#07121fdd;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;font-size:13px;backdrop-filter:blur(3px)}.spinner{width:26px;height:26px;border:2px solid #325447;border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1450px){.viewport{height:480px}.selection-help{padding-top:21px}.color-picks{margin-bottom:25px}.precision-body{padding:20px 0}.analyze-button{margin-top:26px}}
@media(max-width:1050px){.work-grid{grid-template-columns:minmax(0,1fr) 305px;gap:14px}.viewport{margin:0 14px;height:430px}.panel-heading{padding:16px}.upload-bar{padding:14px}.image-foot{padding:12px 14px}.image-foot>span:last-child{display:none}.brand .brand-tag{display:none}.results-overview{gap:15px;padding:22px}.metric{padding-left:18px}.selection-help{padding:17px 16px 13px}.color-picks{margin-left:16px;margin-right:16px}#position-controls{margin:0 16px}.analyze-button{margin-left:16px;width:calc(100% - 32px)}.precision-heading{flex-wrap:wrap}.connection{display:none}}
@media(max-width:760px){.topbar{height:66px;padding:0 18px}.brand{font-size:26px}.brand img{width:30px;height:30px}.account{gap:10px}main{padding:25px 16px 0}h1{font-size:27px}.page-heading{margin-bottom:22px}.method-tag{display:none}.work-grid{grid-template-columns:1fr}.viewport{height:390px}.selection-panel{padding-bottom:17px}.selection-help{padding-top:13px}.color-picks{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:17px}.color-pick{padding:10px;gap:8px}.color-copy strong{font-size:11px}.color-copy small{font-size:9px}.pick-indicator{display:none}.swatch{width:30px;height:34px}.precision-body{justify-content:center;gap:45px;padding:13px 0}.precision-heading{justify-content:space-between}.coordinates{max-width:350px;margin:auto}.analyze-button{margin-top:17px}.status{min-height:15px}.results-panel{margin-top:17px}.results-overview{grid-template-columns:1fr 1fr;gap:25px}.metric:nth-child(3){border-left:0;padding-left:0}.results-detail{grid-template-columns:1fr;gap:15px;padding:18px 20px}.similarity-number{font-size:40px}.metric strong{font-size:28px}.footer{gap:15px;align-items:flex-start}.footer>span:last-child{max-width:130px;text-align:right}.report-actions{gap:5px}.report-actions .button{font-size:10px;padding:6px 7px}.results-panel .panel-heading{flex-wrap:wrap}.results-empty{padding:27px 19px;gap:14px}.results-empty p{line-height:1.7}.login-shell{margin-top:30px}}
@media(max-width:390px){.viewport{height:330px}.upload-bar{flex-wrap:wrap}.filename{flex-basis:100%;margin:2px 0 0}.color-copy small{max-width:95px}.image-foot .micro{font-size:9px}.topbar #username{max-width:80px;overflow:hidden;text-overflow:ellipsis}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{:root{color-scheme:light;--text:#111;--muted:#444;--line:#ccc;--surface:white;--green:#185b40}body{background:white;color:#111}.topbar,.page-heading,.work-grid,.report-actions,.footer,.login-shell{display:none!important}main{padding:0;max-width:none}.results-panel{border:0;margin:0}.results-overview{grid-template-columns:1.2fr 1fr 1fr 1fr}.results-detail{grid-template-columns:1.2fr 1fr}.panel-heading{padding-left:28px}.feedback p:not(.eyebrow),.metric>span{color:#333}.metric strong{font-size:26px}.results-panel{break-inside:avoid}.ref-dot{background:#168349!important}.test-dot{background:#2469b5!important}}

.density-toggle{border-color:#356579;background:#142e3b;color:#9ce5ef}.density-toggle:hover,.density-toggle[aria-pressed=true]{background:#204354;border-color:#6bdbed}.density-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#6bdbed;margin-right:5px}.density-pick{display:flex;gap:14px;align-items:center;margin:0 21px 24px;padding:15px;border:1px solid #385260;background:#102531;border-radius:10px}.density-pick small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.density-pick .swatch{flex-shrink:0}.density-intro{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:24px 24px 0}.density-intro h3{font-size:18px;font-weight:550}.density-intro .eyebrow{margin-bottom:5px}.density-sample{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:12px}.density-sample>span:first-child{width:32px;height:32px;border-radius:9px;border:1px solid #ffffff35}.ink-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:24px}.ink-card{--ink:#67ddeb;padding:20px;border:1px solid #30404f;border-radius:12px;background:linear-gradient(145deg,#67ddeb09,transparent)}.ink-m{--ink:#ee8bcc}.ink-y{--ink:#f2d970}.ink-k{--ink:#bdc9d8}.ink-heading{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.ink-letter{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--ink);color:var(--ink);border-radius:9px;font-size:15px;font-weight:650}.ink-value{display:flex;align-items:baseline;gap:5px;margin:19px 0 16px}.ink-value strong{font-size:36px;line-height:1.1;font-weight:550;letter-spacing:-1px;font-variant-numeric:tabular-nums}.ink-value>span{color:var(--muted);font-size:15px}.ink-meter{height:5px;border-radius:10px;overflow:hidden;background:#263341}.ink-meter>span{height:100%;display:block;background:var(--ink);border-radius:10px}.density-note{margin:0 24px 20px;color:var(--muted);font-size:12px;max-width:900px;line-height:1.8}
@media(max-width:760px){.topbar{height:auto;min-height:66px;flex-wrap:wrap;gap:9px;padding:14px 16px}.account{flex-wrap:wrap;justify-content:flex-end;flex:1;gap:7px}.density-toggle{font-size:10px!important}.density-pick{margin:0 16px 18px}.ink-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:18px;gap:10px}.ink-card{padding:16px}.ink-value strong{font-size:30px}.density-intro{align-items:flex-start;flex-wrap:wrap;padding:20px 18px 0}.density-note{margin:0 18px 18px}.density-intro h3{font-size:16px}}
@media(max-width:430px){.account{flex-basis:100%;justify-content:flex-start}.account #username{margin-left:auto}.ink-value strong{font-size:28px}}
@media print{.ink-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ink-card{background:white;break-inside:avoid;padding:14px}.ink-value strong{font-size:25px}.ink-letter{color:#222}.ink-meter{print-color-adjust:exact;-webkit-print-color-adjust:exact}.density-note{color:#444}}

.queue-panel{display:flex;align-items:center;gap:16px;padding:18px 20px;margin-bottom:20px;border:1px solid #3d5c65;border-radius:14px;background:#142b34}.queue-position{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border-radius:12px;background:#25464e;color:#9ce5ef;font-size:22px;font-weight:650}.queue-panel strong{font-size:14px}.queue-panel p{font-size:12px;color:#afc5cf;margin-top:4px}.queue-panel>div{flex:1}.queue-panel .button{flex-shrink:0}@media(max-width:600px){.queue-panel{flex-wrap:wrap;gap:12px;padding:15px}.queue-panel>div{min-width:170px}.queue-panel .button{margin-left:auto}}@media print{.queue-panel{display:none!important}}

.optical-picks{padding:0 21px 24px}.optical-picks>label{display:block;font-size:12px;margin-bottom:8px;color:var(--muted)}.optical-picks select{width:100%;font:inherit;background:#142632;color:var(--text);border:1px solid #456071;border-radius:10px;padding:12px;margin-bottom:16px}.optical-picks .color-picks{padding:0;margin:0 0 12px}.optical-picks>.button{width:100%}.optical-picks .color-pick{text-align:left}.paper-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#f1dfaa;margin-right:5px}.optical-result{display:flex;align-items:center;gap:35px;margin:24px;padding:25px 30px;border:1px solid #365464;border-radius:16px;background:linear-gradient(120deg,#163744,#111c28)}.optical-number{display:flex;align-items:baseline;gap:10px;white-space:nowrap}.optical-number strong{font-size:68px;font-weight:550;letter-spacing:-2px;font-variant-numeric:tabular-nums}.optical-number>span{font-size:24px;color:#94dfea}.optical-result p,.optical-result small{color:var(--muted)}.optical-result>div>strong:not(#density-value){font-size:20px}.density-warning{color:#f1d38a}.density-sample{flex-wrap:wrap;max-width:55%}select:focus-visible{outline:2px solid var(--green);outline-offset:3px}
@media(max-width:760px){.optical-picks{padding:0 16px 18px}.optical-result{margin:18px;padding:20px;gap:18px;flex-wrap:wrap}.optical-number strong{font-size:56px}.density-sample{max-width:100%}}
@media print{.optical-result{background:white;border-color:#aaa}.optical-number>span{color:#222}.density-warning{color:#222}.density-sample{max-width:100%}}
/* Public introduction and focused sign-in dialog. */
#public-actions { margin-left: auto; }
#open-login { min-width: 112px; font-size: 12px; }
.landing { max-width: 1384px; padding-top: 0; }
.landing-hero { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 70px; padding: 82px 0 70px; }
.hero-copy .eyebrow { color: var(--green); margin-bottom: 25px; letter-spacing: 2.3px; }
.hero-copy h1 { font-size: clamp(45px, 5vw, 72px); line-height: 1.07; letter-spacing: -3px; font-weight: 650; }
.hero-copy h1 span { color: var(--green); }
.hero-description { max-width: 480px; color: #a7b8c8; font-size: 16px; line-height: 1.85; margin-top: 26px; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 26px; margin-top: 30px; }
.hero-actions .button { padding: 14px 22px; }
.hero-link { font-size: 13px; color: #c2d0dc; padding: 10px 0; }
.hero-link span { margin-left: 10px; color: var(--green); }
.hero-link:hover { color: var(--green); }
.hero-footnote { margin-top: 20px; color: var(--muted); font-size: 11px; line-height: 1.7; }
.hero-preview { min-width: 0; border: 1px solid #314448; background: #111f28; border-radius: 20px; padding: 22px; box-shadow: 0 24px 70px #0003; }
.preview-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 9px; letter-spacing: 1px; color: #a3b6bf; }
.preview-top>span:first-child { display: flex; align-items: center; gap: 8px; }
.preview-top>span:last-child { color: #7d929e; letter-spacing: 0; white-space: nowrap; }
.preview-top i { width: 5px; height: 5px; border-radius: 50%; background: var(--green); }
.preview-image { position: relative; display: grid; place-items: center; height: 300px; overflow: hidden; margin: 20px 0; border: 1px solid #293b40; border-radius: 10px; background-color: #0b171e; background-image: linear-gradient(#24383e50 1px,transparent 1px),linear-gradient(90deg,#24383e50 1px,transparent 1px); background-size: 24px 24px; }
.print-sheet { position: relative; width: 76%; height: 81%; background: #e5e5d9; padding: 21px; transform: rotate(-8deg); box-shadow: 9px 16px 24px #0006; }
.print-stripes { height: 82%; background: linear-gradient(90deg,#677a72 0 25%,#6a8577 25% 50%,#9bab95 50% 75%,#b9c5aa 75%); }
.sheet-label { color: #45554d; font-size: 7px; letter-spacing: 2px; position: absolute; bottom: 11px; left: 21px; }
.preview-target { position: absolute; top: 45%; transform: rotate(8deg); display: flex; flex-direction: column; align-items: center; gap: 5px; }
.target-one { left: 31%; --point: var(--green); }
.target-two { left: 53%; --point: var(--blue); }
.preview-target span { background: #0b171eed; color: var(--point); font-size: 10px; border: 1px solid #778b8c; border-radius: 3px; padding: 1px 7px; }
.preview-target i { position: relative; width: 24px; height: 24px; border: 2px solid var(--point); outline: 2px solid #152d2b; border-radius: 50%; box-shadow: 0 0 0 4px #ebf4e8a0; }
.preview-target i::before,.preview-target i::after { content: ''; position: absolute; background: #fff; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 10px; height: 1px; }
.preview-target i::after { width: 1px; height: 10px; }
.preview-picks { display: flex; align-items: center; justify-content: center; gap: 30px; }
.preview-picks>span:not(.preview-divider) { display: flex; align-items: center; gap: 10px; font-size: 12px; }
.preview-picks small { display: block; color: var(--muted); font-size: 9px; }
.preview-swatch { width: 36px; height: 36px; border: 1px solid #b9d0c34d; border-radius: 8px; }
.target-color { background: #6a8577; }
.sample-color { background: #9bab95; }
.preview-divider { color: #71938d; }
.preview-caption { text-align: center; font-size: 11px; color: var(--muted); margin-top: 19px; }
.landing-features { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; padding-bottom: 64px; }
.feature-card { padding: 27px; border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(135deg,#142329,#101923); }
.feature-number { font-size: 9px; letter-spacing: 1.7px; color: #85b4a4; }
.feature-card h2 { display: block; font-size: 19px; letter-spacing: -.4px; margin: 19px 0 12px; line-height: 1.4; }
.feature-card p { color: var(--muted); font-size: 13px; line-height: 1.85; }
.feature-tag { display: inline-block; border-top: 1px solid #2a3c43; padding-top: 16px; margin-top: 24px; font-size: 10px; color: #b7cbbf; width: 100%; }
.landing-steps { display: grid; grid-template-columns: 1fr 2fr; gap: 50px; border-top: 1px solid var(--line); padding: 48px 0; scroll-margin-top: 28px; }
.landing-steps h2 { display: block; font-size: 27px; letter-spacing: -.7px; line-height: 1.35; }
.landing-steps ol { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 25px; }
.landing-steps li>span { display: inline-block; color: var(--green); font-size: 11px; margin-bottom: 16px; }
.landing-steps h3 { margin-bottom: 8px; font-size: 13px; }
.landing-steps li p { font-size: 12px; line-height: 1.8; color: var(--muted); }
.landing-footer { border-top: 1px solid var(--line); padding: 24px 0; display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: 11px; }
.brand-word { font-size: 25px; color: var(--text); font-weight: 700; letter-spacing: -1px; }
.no-script { color: var(--muted); margin-bottom: 20px; }
dialog.login-shell { margin: auto; width: min(440px,calc(100% - 32px)); max-width: 440px; max-height: calc(100dvh - 32px); padding: 34px; border: 1px solid #3b5059; border-radius: 18px; background: #111c28; color: var(--text); text-align: center; box-shadow: 0 30px 100px #0008; }
dialog.login-shell::backdrop { background: #040b13c9; backdrop-filter: blur(6px); }
.login-close { position: absolute; top: 12px; right: 12px; min-width: 34px; min-height: 34px; }
dialog.login-shell .login-art { margin-bottom: 10px; height: 95px; }
#login-title { display: block; font-size: 25px; line-height: 1.25; letter-spacing: -.6px; }
body:has(#login-shell[open]) { overflow: hidden; }
@media(max-width:1050px) {
  .landing-hero { gap: 35px; padding: 60px 0; }
  .hero-copy h1 { font-size: 52px; letter-spacing: -2px; }
  .hero-description { font-size: 14px; }
  .hero-preview { padding: 17px; }
  .preview-image { height: 275px; }
  .feature-card { padding: 21px; }
  .feature-card h2 { font-size: 17px; }
  .landing-steps { grid-template-columns: 1fr; gap: 30px; }
  .landing-steps h2 br { display: none; }
}
@media(max-width:760px) {
  .landing-hero { grid-template-columns: 1fr; gap: 38px; padding: 44px 0 34px; }
  .hero-copy h1 { font-size: 53px; }
  .hero-copy .eyebrow { font-size: 9px; letter-spacing: 1.6px; margin-bottom: 20px; }
  .hero-description { max-width: 540px; margin-top: 20px; }
  .hero-actions { gap: 22px; margin-top: 23px; }
  .hero-actions .button { padding: 12px 18px; font-size: 13px; }
  .hero-footnote { font-size: 10px; }
  .hero-preview { max-width: 500px; width: 100%; justify-self: center; }
  .landing-features { grid-template-columns: 1fr; gap: 12px; padding-bottom: 35px; }
  .feature-card { padding: 24px; }
  .feature-card h2 { font-size: 20px; margin-top: 14px; }
  .feature-tag { padding-top: 12px; margin-top: 18px; }
  .landing-steps { padding: 33px 0; }
  .landing-steps ol { grid-template-columns: 1fr; gap: 24px; }
  .landing-steps li { display: flex; align-items: flex-start; gap: 18px; }
  .landing-steps li>span { margin: 2px 0 0; }
  .landing-steps h3 { margin-bottom: 3px; }
  dialog.login-shell { padding: 32px 24px 20px; }
}
@media(max-width:390px) {
  #open-login { min-width: 100px; padding: 9px 12px; font-size: 11px; }
  .hero-copy h1 { font-size: 46px; }
  .preview-top { font-size: 8px; letter-spacing: .5px; }
  .preview-top>span:last-child { max-width: 40px; white-space: normal; text-align: right; }
  .preview-image { height: 235px; }
  .preview-picks { gap: 18px; }
  .print-sheet { padding: 15px; }
  #login-title { font-size: 23px; }
}
@media print { #landing,#public-actions,dialog.login-shell { display: none!important; } }
/* Main navigation, contact and registration preview. */
.public-nav { display: flex; align-items: center; gap: 10px; }
.nav-link { border: 0; background: transparent; padding: 10px 12px; font-size: 12px; color: #bdccd8; border-radius: 8px; white-space: nowrap; }
.nav-link:hover { color: var(--green); background: #17262f; }
#open-signup { font-size: 12px; min-width: 92px; }
.contact-section { display: grid; grid-template-columns: 1fr 2fr; align-items: center; gap: 40px; padding: 42px 0; border-top: 1px solid var(--line); scroll-margin-top: 30px; }
.contact-section h2 { font-size: 27px; letter-spacing: -.7px; }
.contact-placeholder { display: flex; gap: 18px; align-items: center; padding: 24px; background: #111e28; border: 1px solid #2c404c; border-radius: 13px; }
.contact-placeholder>span { font-size: 25px; color: var(--green); }
.contact-placeholder h3 { font-size: 14px; margin-bottom: 6px; }
.contact-placeholder p { color: var(--muted); font-size: 12px; }
.signup-icon { display: grid; place-items: center; width: 55px; height: 55px; margin: 4px auto 22px; color: var(--green); border: 1px solid #396b59; border-radius: 16px; background: #173a30; font-size: 30px; }
#signup-title { display: block; font-size: 25px; line-height: 1.25; letter-spacing: -.6px; }
.signup-notice { font-size: 11px; color: var(--muted); line-height: 1.7; margin-top: 8px; }
.signup-privacy { margin-top:12px; padding:14px; border:1px solid #396b59; border-radius:10px; background:#142a27; font-size:11px; line-height:1.65; color:#c0d0ca; }
.privacy-links { display:flex; flex-wrap:wrap; gap:8px 16px; margin:10px 0; }
.privacy-links a { color:var(--green); text-decoration:underline; text-underline-offset:3px; }
.login-form .privacy-check { display:grid; grid-template-columns:20px minmax(0,1fr); align-items:start; gap:10px; cursor:pointer; margin:12px 0 0; color:#e1ece7; line-height:1.65; }
.login-form .privacy-check input { appearance:auto; width:18px; height:18px; padding:0; margin:3px 0 0; accent-color:var(--green); }
.signup-privacy p,.privacy-check span { overflow-wrap:anywhere; }
.signup-login { font-size: 12px; color: var(--muted); border-top: 1px solid var(--line); padding-top: 18px; margin-top: 22px; }
.text-button { color: var(--green); background: none; border: 0; padding: 5px; font-size: inherit; }
.auth-links { display:flex; flex-direction:column; gap:8px; margin-top:18px; font-size:12px; }
.auth-status { min-height:18px; margin:10px 0 0; font-size:12px; line-height:1.7; color:var(--green); overflow-wrap:anywhere; }
.auth-status.error { color:#ffb4ae; }
#membership-title { display:block; font-size:25px; line-height:1.25; letter-spacing:-.6px; }
#membership-form>div label { display:block; margin-bottom:8px; }
#membership-form>div input { width:100%; box-sizing:border-box; }
#username { max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body:has(dialog[open]) { overflow: hidden; }
.single-pick { grid-template-columns: 1fr; }
@media(max-width:760px) {
  .public-nav { gap: 4px; }
  .nav-link { padding: 9px 8px; font-size: 11px; }
  #open-login,#open-signup { min-width: 0; padding: 9px 11px; font-size: 11px; }
  .contact-section { grid-template-columns: 1fr; gap: 20px; padding: 32px 0; }
  .contact-placeholder { padding: 20px; }
}
@media(max-width:560px) {
  .public-nav { width: 100%; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 5px; }
  .nav-link,#open-login,#open-signup { padding: 9px 4px; font-size: 11px; }
  #signup-title { font-size: 23px; }
}

#password-title { display:block; font-size:25px; line-height:1.25; letter-spacing:-.6px; margin:20px 0 14px; }
.account { flex-wrap:wrap; justify-content:flex-end; }
@media(max-width:560px) { .account { gap:8px; } #username { max-width:180px; } }

.language-switch{display:inline-flex;align-items:center;gap:1px;padding:3px;border:1px solid var(--line);border-radius:9px;white-space:nowrap;font-size:10px}
.language-switch button{padding:5px;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:11px}
.language-switch button[aria-pressed="true"]{background:#224c3d;color:#8ceac3;font-weight:700}
.language-switch>span{color:#647c88}
@media(max-width:560px){.public-nav{grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:3px}.public-nav .language-switch button{font-size:10px;padding:5px 3px}.public-nav .nav-link,.public-nav #open-login,.public-nav #open-signup{font-size:10px;padding:9px 2px}}

.landing-pricing{padding:70px 0;border-top:1px solid var(--line);scroll-margin-top:25px}.landing-pricing>.eyebrow{color:var(--green)}.pricing-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px}.pricing-heading h2{font-size:clamp(28px,3vw,42px);letter-spacing:-1.5px}.pricing-heading p{color:var(--muted);line-height:1.7}.landing-plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.landing-plan{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;padding:26px 22px;background:var(--surface);overflow:hidden}.landing-plan:before{content:'';position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#70bfff,#bd8eff,#ff9ab7)}.landing-plan.recommended{border-color:var(--green);background:linear-gradient(145deg,#143931,#111c28)}.landing-plan.recommended:before{background:var(--green)}.plan-tag{min-height:32px;font-size:9px;letter-spacing:1.3px;color:var(--green)}.landing-plan h3{font-size:19px}.plan-allowance{color:var(--muted);margin-top:8px}.plan-price{font-size:clamp(27px,2.5vw,38px);font-weight:650;letter-spacing:-1px;margin-top:23px;white-space:nowrap}.plan-period{font-size:11px;color:var(--muted);min-height:36px;margin-top:4px}.landing-plan ul{padding-left:17px;color:#b9cbd6;line-height:1.9;font-size:12px;margin:20px 0 26px}.landing-plan .button{margin-top:auto;justify-content:center}.pricing-note{color:var(--muted);font-size:12px;margin-top:24px}.pricing-account{display:inline-block;margin-top:12px;color:var(--green);font-size:13px}@media(max-width:1000px){.landing-plans{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.pricing-heading{align-items:start;flex-direction:column}.landing-plans{grid-template-columns:1fr}.landing-pricing{padding:42px 0}.landing-plan{padding:26px}.plan-price{font-size:38px}}

.lab-method{padding:22px 28px 0;margin:0;color:var(--muted);font-size:12px}.lab-overview{grid-template-columns:repeat(4,minmax(0,1fr))}.lab-overview .metric{min-width:0}.lab-overview .metric:first-child{border-left:0;padding-left:0}.lab-overview .metric strong{font-variant-numeric:tabular-nums;font-size:clamp(25px,3vw,38px)}.lab-overview .primary-difference strong{color:var(--green)}.lab-convention{padding:0 28px 20px;border-bottom:1px solid var(--line);font-size:12px}.lab-convention strong{color:var(--green)}.lab-convention p{color:var(--muted);line-height:1.7;margin-bottom:0}.lab-extra{margin:0 28px 24px;border-top:1px solid var(--line);padding-top:18px}.lab-extra summary{cursor:pointer;color:var(--muted);font-size:12px}.lab-extra-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:18px 0}.lab-extra-grid strong{display:block;font-size:22px;margin:6px 0}.lab-extra-grid>div>span{font-size:12px;color:var(--muted)}
@media(max-width:760px){.lab-method{padding:20px 20px 0;line-height:1.6}.lab-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-overview .metric:nth-child(3){border-left:0;padding-left:0}.lab-convention{padding:0 20px 18px}.lab-extra{margin:0 20px 20px}.lab-extra-grid{gap:12px}.lab-overview .metric strong{font-size:28px}}

.topbar{position:sticky;top:0;z-index:30;height:auto;min-height:80px;background:#0b121bf5;backdrop-filter:blur(12px);padding-top:12px;padding-bottom:12px;gap:12px}.account{min-width:0;gap:7px}.credit-badge{display:inline-block;white-space:nowrap;padding:10px 12px;border:1px solid #3c705d;border-radius:10px;background:#16362c;color:#8ceac3;font-size:12px;font-weight:650}.coming-notice{font-size:12px;color:var(--muted);padding:12px 15px;background:#192634;border:1px solid var(--line);border-radius:10px;margin:0 0 18px}.upload-bar{flex-wrap:wrap;align-items:center}.capture-guidance{flex:1 1 280px;min-width:0;font-size:11px;line-height:1.7;color:var(--muted);margin:0}.upload-bar .filename{flex-basis:100%}.landing-plans{grid-template-columns:repeat(3,minmax(0,1fr))}#density-toggle{display:none!important}.billing-view .plans{grid-template-columns:repeat(3,minmax(0,1fr))}.transfer-price{font-size:22px;font-weight:650;color:var(--green)}.bank-details{margin:22px 0}.bank-details dt{font-size:11px;color:var(--muted);margin-top:16px}.bank-details dd{margin:5px 0;font-size:16px;overflow-wrap:anywhere;user-select:text}.bank-details dd[data-billing-id=iban]{font-variant-numeric:tabular-nums;font-size:18px;font-weight:650}.billing-view dialog>p{line-height:1.7}.billing-view dialog .actions{display:flex;gap:12px;flex-wrap:wrap}#billing-checkout-status{color:var(--green)}
@media(max-width:1100px){.topbar{flex-wrap:wrap}.account{flex:1}.brand-tag{display:none}}
@media(max-width:760px){.topbar{min-height:64px;padding:10px 12px}.topbar:has(#account:not([hidden]))>.brand{display:none}.account{width:100%;justify-content:flex-start}.account-tabs{order:3}.credit-badge{order:0}.account #open-support{order:1}.account #username{order:4;max-width:130px;font-size:10px}.account #open-password{order:5}.account #logout{order:6}.account .language-switch{order:2;margin-left:auto}.account-tabs .button{font-size:10px}.capture-guidance{flex-basis:100%}.landing-plans,.billing-view .plans{grid-template-columns:1fr}.billing-view .summary{grid-template-columns:1fr}.billing-view dialog{max-width:calc(100vw - 24px)}.credit-badge{font-size:11px}}
