:root{color-scheme:dark;--bg:#101513;--panel:#19211d;--line:#35433a;--text:#f0f4ef;--muted:#aab8af;--accent:#d4f58b;--ink:#172512;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1.0rem}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button,.button{cursor:pointer;border:1px solid var(--line);color:var(--text);background:#202a24;border-radius:12px;padding:12px 16px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600;text-decoration:none}button:hover,.button:hover{background:#2d3c31}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button[aria-pressed=true]{color:var(--accent);background:#2a3827;border-color:#617746}input[type=range],input[type=radio]{accent-color:var(--accent)}[hidden]{display:none!important}.shell{max-width:1280px;margin:auto;padding:0 44px}header{height:100px;display:flex;gap:25px;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;font-size:2.375rem;font-weight:750;letter-spacing:-2px;color:var(--text);text-decoration:none}.brand-dot{color:var(--accent)}.brandmark{display:grid;place-content:center;background:var(--accent);color:#13200f;border-radius:12px;width:37px;height:37px;font-size:1.9375rem;margin-right:11px;font-weight:850;font-style:italic;letter-spacing:-3px;padding-right:4px}.tagline{font-size:0.75rem;letter-spacing:2.1px;color:var(--muted)}.local-badge{margin-left:auto;font-size:0.8125rem;color:var(--accent);display:flex;gap:8px}nav{display:flex;gap:8px;padding:23px 0 0}nav button{background:none;border-color:transparent;min-width:120px;gap:10px}nav button[aria-pressed=true]{background:var(--accent);color:var(--ink);border-color:var(--accent)}main{padding:0 0 35px}.page-heading{display:flex;align-items:center;justify-content:space-between;padding:30px 0 24px;gap:15px}.eyebrow{font-size:0.75rem;letter-spacing:1.8px;font-weight:650;color:var(--muted);margin:0 0 10px}h1{font-size:1.875rem;font-weight:550;letter-spacing:-1px;margin:0}h2{font-weight:600}.profile-chip{font-size:0.8125rem;padding:8px 12px;border:1px solid var(--line);border-radius:20px;color:var(--muted)}.workspace-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,1fr);gap:25px}.viewfinder{height:440px;border-radius:22px;position:relative;overflow:hidden;background:#222c26;border:1px solid #445047;isolation:isolate}.viewfinder video,.viewfinder canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.viewer-top,.viewer-bottom{position:absolute;left:18px;right:18px;display:flex;align-items:center;justify-content:space-between;gap:8px;pointer-events:none;z-index:3}.viewer-top{top:18px}.viewer-bottom{bottom:18px}.glass{border-radius:9px;background:#101713cf;color:#f2f4ef;font-size:0.75rem;padding:9px 11px;border:1px solid #ffffff24;backdrop-filter:blur(8px)}button.glass{pointer-events:auto;font-size:0.875rem}.viewer-top #view-label{color:var(--accent)}#empty-state{position:absolute;inset:60px 20px 25px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.camera-icon{font-size:3.625rem;color:var(--accent);font-weight:300;line-height:1}#empty-state h2{font-size:1.6875rem;letter-spacing:-.8px;margin:14px 0 0}#empty-state p{color:#bdc8c1;line-height:1.6;font-size:0.9375rem;margin:12px 0 24px}.primary{background:var(--accent);color:var(--ink);border-color:var(--accent);border-radius:12px}.primary:hover{background:#e5ffb7}.small{color:var(--muted);font-size:0.8125rem;line-height:1.6}#empty-state .small{margin-top:13px}.text-button{background:transparent;border-color:transparent;font-size:0.875rem;color:var(--muted);text-decoration:underline;text-underline-offset:4px}.target{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:50px;width:50px;min-height:50px;background:transparent!important;border:2px solid white;border-radius:50%;box-shadow:0 0 0 2px #0009;z-index:2;padding:0;touch-action:manipulation}.target:before,.target:after{content:"";position:absolute;background:#fff;box-shadow:0 0 2px #000}.target:before{width:18px;height:2px}.target:after{width:2px;height:18px}.source-controls{display:flex;gap:8px;margin-top:12px}.source-controls button,.source-controls .button{flex:1;font-size:0.875rem;background:transparent}.status{font-size:0.8125rem;color:var(--muted);line-height:1.5;margin:10px 2px 20px;min-height:20px}.control-label{display:flex;align-items:center;justify-content:space-between;font-size:0.9375rem;gap:10px;margin-bottom:12px}.control-label>span:last-child{font-size:0.75rem;color:var(--muted)}.segmented{display:flex;border:1px solid var(--line);padding:4px;border-radius:13px;gap:4px}.segmented button{flex:1;background:none;border-color:transparent;min-height:42px}.segmented button[aria-pressed=true]{background:#344331;color:var(--accent);border-color:#647851}.range-row{display:flex;align-items:center;gap:16px;margin-top:14px;font-size:0.875rem;color:var(--muted)}.range-row input{min-width:50px;flex:1;height:28px}.range-row output{width:42px;text-align:right}.reading-card,.auto-card,.compare-card,.settings-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:24px}.card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.card-top .eyebrow{margin:0}.card-top>span{font-size:0.75rem;color:var(--muted)}.colour-symbol{height:80px;width:80px;border:1px solid #637250;border-radius:23px;display:grid;place-content:center;font-size:2.3125rem;margin:27px 0 20px;color:var(--accent);background:#2c3a25}#colour-name{font-size:clamp(28px,3.2vw,44px);line-height:1.15;letter-spacing:-1px;margin:0 0 16px;text-transform:uppercase;overflow-wrap:anywhere}.colour-values{display:flex;flex-wrap:wrap;gap:12px;font-family:ui-monospace,monospace;font-size:0.8125rem;color:var(--muted)}.colour-values span+span{border-left:1px solid #516056;padding-left:12px}.symbol-caption{font-size:0.8125rem;color:var(--muted);margin:17px 0 25px}.speak{width:100%;min-height:57px;font-size:1.0625rem}.speech-status{text-align:center;font-size:0.75rem;color:var(--muted);line-height:1.6;margin:12px 0 0}.auto-card{padding:20px 24px;margin-top:16px}.auto-card select{width:100%;background:#111a15;color:var(--text);border:1px solid var(--line);border-radius:9px;min-height:48px;padding:10px;font-size:0.875rem}.auto-card p{font-size:0.75rem;color:var(--muted);margin-bottom:0}.tip{display:flex;gap:12px;margin:20px 10px}.tip>span{font-size:1.75rem;color:var(--accent)}.tip p{margin:0;font-size:0.8125rem;line-height:1.7;color:var(--muted)}.tip strong{display:block;color:#e2e9e1;font-weight:500}.compare-card{margin-top:16px}.compare-card>p{font-size:0.875rem;line-height:1.6}.compare-slots{display:grid;grid-template-columns:1fr 1fr;gap:10px}.compare-slots button{flex-direction:column;align-items:start;min-height:105px;font-size:0.875rem}.compare-slots strong{border:1px solid #7c8b7b;padding:4px 8px;border-radius:5px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.settings-card{margin-bottom:20px}.settings-card h2{font-size:1.3125rem;margin-top:0}.settings-card p{color:var(--muted);line-height:1.7;font-size:0.9375rem}.settings-card a{color:var(--accent)}fieldset{border:0;margin:22px 0 0;padding:0}fieldset label{display:flex;gap:15px;align-items:start;padding:18px 14px;border:1px solid var(--line);border-radius:12px;margin:10px 0;cursor:pointer}fieldset label:has(input:checked){border-color:var(--accent);background:#293425}fieldset input{margin-top:4px;width:20px;height:20px;flex-shrink:0}fieldset small{display:block;color:var(--muted);font-size:0.875rem;line-height:1.6;margin-top:7px}summary{cursor:pointer;padding:10px 0;color:var(--accent);min-height:44px}footer{padding:24px 0 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:0.75rem;line-height:1.7}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body[data-mode=identify] .viewfinder{height:500px}body[data-mode=identify] .page-heading{padding:20px 0}body[data-mode=identify] .page-heading .eyebrow{display:none}
@media(min-width:1500px){.shell{padding-top:15px}.viewfinder{height:500px}}
@media(max-width:760px){.shell{padding:0 18px}header{height:76px;gap:14px}.brand{font-size:2.0rem}.brandmark{width:31px;height:31px;font-size:1.625rem;border-radius:9px}.tagline{display:none}.local-badge{font-size:0.75rem}nav{position:fixed;bottom:0;left:0;right:0;z-index:10;background:#101713f5;border-top:1px solid var(--line);padding:8px 10px calc(8px + env(safe-area-inset-bottom));justify-content:space-around;backdrop-filter:blur(12px);gap:3px}nav button{min-width:0;flex:1;flex-direction:column;gap:3px;font-size:0.75rem;border-radius:10px;padding:7px 5px;min-height:54px}nav button span{font-size:1.3125rem;line-height:1}.page-heading{padding:23px 0 20px}.eyebrow{font-size:0.75rem;letter-spacing:1.4px}h1{font-size:1.4375rem;letter-spacing:-.7px}.profile-chip{font-size:0.75rem;padding:7px 9px;max-width:120px;text-align:center}.workspace-grid,.settings-grid{grid-template-columns:1fr;gap:16px}.viewfinder{height:48svh;min-height:340px;max-height:530px;border-radius:18px}.viewer-top,.viewer-bottom{left:12px;right:12px}.viewer-top{top:12px}.viewer-bottom{bottom:12px}.glass{font-size:0.75rem}.source-controls{margin-top:10px}.status{margin-bottom:14px}.reading-column{display:contents}.reading-card{grid-row:2;padding:20px;display:grid;grid-template-columns:60px 1fr;gap:0 16px}.card-top{grid-column:1/-1;margin-bottom:17px}.colour-symbol{width:60px;height:60px;border-radius:17px;font-size:1.8125rem;margin:0;grid-row:2/4}#colour-name{font-size:1.9375rem;margin-bottom:8px;grid-column:2}.colour-values{grid-column:2;font-size:0.75rem;gap:7px}.colour-values span+span{padding-left:7px}.symbol-caption{grid-column:1/-1;margin:14px 0;font-size:0.75rem}.speak,.speech-status{grid-column:1/-1}.speak{min-height:54px}.camera-column{display:contents}.viewfinder{grid-row:1}.source-controls{grid-row:3}.status{grid-row:4;margin:0}.assist-controls{grid-row:5}.auto-card,.compare-card{margin-top:0}.auto-card{padding:20px}.tip{margin:0 3px 10px}footer{padding-bottom:110px;flex-direction:column;gap:8px}footer span:last-child{display:none}main{padding-bottom:24px}.settings-card{padding:21px}body[data-mode=identify] .viewfinder{height:50svh}.control-label>span:last-child{font-size:0.75rem}#empty-state{inset:48px 15px 15px}#empty-state p{margin-bottom:16px}#empty-state h2{font-size:1.5625rem}}
@media(prefers-reduced-motion:no-preference){button{transition:background .15s,border-color .15s}.target{transition:left .12s,top .12s}}

@media(max-width:760px){body[data-mode=identify] .page-heading{display:none}body[data-mode=identify] .workspace-grid{padding-top:16px}body[data-mode=identify] .viewfinder{height:44svh;min-height:260px}.local-badge{min-width:0}.source-controls button{min-width:0}.page-heading>div{min-width:0}}

#empty-state{overflow-y:auto;justify-content:safe center;z-index:2}#camera-message{max-width:440px}#empty-state:has(#cancel-camera:not([hidden])) .camera-icon{display:none}#empty-state:has(#cancel-camera:not([hidden])) #camera-note{display:none}

#simulation-controls{margin-top:16px}#simulation-controls label{display:block;font-size:1rem;margin-bottom:10px}#simulation-profile{width:100%;min-height:48px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);font:inherit}#simulation-note{font-size:.875rem;line-height:1.6;color:var(--muted)}.segmented button{min-width:0;padding-left:8px;padding-right:8px}#view-label{max-width:65%;text-align:right}body.simulation-view #view-label{border-style:dashed}@media(max-width:380px){.segmented button{font-size:.8125rem;gap:4px}.control-label{flex-wrap:wrap}}

#before-after{position:absolute;inset:62px 12px 15px;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:12px;background:var(--bg)}#before-after figure{margin:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg);border:1px solid var(--line);border-radius:12px}#before-after figcaption{padding:12px;min-height:76px;display:flex;flex-direction:column;gap:6px;background:var(--panel)}#before-after strong{font-size:1.125rem}#before-after span{font-size:.75rem;line-height:1.4;color:var(--muted)}#before-after canvas{position:static;width:100%;height:0;flex:1;min-height:0;object-fit:contain}.before-after-view .viewfinder{background:var(--bg)}.before-after-view .segmented{flex-wrap:wrap}.before-after-view .reading-column:has(.compare-card[hidden]){display:none}.segmented button{flex-basis:40%}.segmented{flex-wrap:wrap}@media(min-width:761px){.before-after-view .workspace-grid{grid-template-columns:1fr}.before-after-view .viewfinder{height:540px}.before-after-view .camera-column{max-width:100%}.before-after-view .assist-controls{max-width:720px;margin:0 auto}}@media(max-width:760px){#before-after{gap:8px;left:8px;right:8px}#before-after figcaption{padding:10px;min-height:84px}.before-after-view .viewfinder{height:52svh}.before-after-view .assist-controls{grid-row:2}.before-after-view .status{grid-row:4}.before-after-view .source-controls{grid-row:3}}

.comparison-layout{display:flex;gap:6px;margin-top:12px}.comparison-layout button{flex:1;min-width:0;font-size:.875rem;padding:10px 6px}#before-after[data-layout="before"],#before-after[data-layout="after"]{grid-template-columns:1fr}#before-after[data-layout="before"] figure:last-child,#before-after[data-layout="after"] figure:first-child{display:none}@media(max-width:760px){.before-after-view #comparison-tools{grid-row:2}.before-after-view .assist-controls{grid-row:3}.before-after-view .source-controls{grid-row:4}.before-after-view .status{grid-row:5}}

.experience-switch{display:flex;gap:10px;margin-top:20px}.experience-switch button{flex:1;flex-direction:column;align-items:flex-start;text-align:left}.experience-switch strong{font-size:1rem}.experience-switch span{font-size:.8125rem;font-weight:400}.explain-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px}.explain-photo{min-height:260px;border:1px solid var(--line);border-radius:20px;background:var(--panel);display:grid;place-items:center;overflow:hidden}.explain-photo canvas{width:100%;max-height:480px;object-fit:contain}.explain-photo p{max-width:270px;line-height:1.6;padding:20px;color:var(--muted);text-align:center}#explain-experience{padding-bottom:30px}#explain-availability{line-height:1.6;color:var(--accent)}#explain-send{width:100%}#explain-answer{white-space:pre-wrap;color:var(--text)}#explain-result{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}@media(max-width:760px){.experience-switch{gap:8px;margin-top:16px}.experience-switch button{padding:12px 10px}.explain-grid{grid-template-columns:1fr;gap:20px}.explain-experience footer{padding-bottom:30px}}
