:root{color-scheme:dark;--ink:#10151f;--field:#0b1119;--panel:#182433;--line:#385061;--text:#f3f7e8;--muted:#b7c6c9;--mint:#9ff5c5;--mint-ink:#073d31;--amber:#ffd166;--coral:#ff8c7d;--focus:#ffd166;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--ink);color:var(--text)}:root.day{color-scheme:light;--ink:#f4f0e5;--field:#fffdf7;--panel:#e4ece9;--line:#62757b;--text:#15202b;--muted:#4a5a62;--mint:#087f5b;--mint-ink:#fffdf7;--amber:#795600;--coral:#b13932;--focus:#795600}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--ink);min-width:320px;font-size:16px;line-height:1.5}button,input{font:inherit}button,a,input,summary{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--focus)}a{color:var(--mint)}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}.skip-link{position:absolute;top:-4rem;left:1rem;background:var(--mint);color:var(--mint-ink);padding:.7rem 1rem;font-weight:800;z-index:10}.skip-link:focus{top:1rem}.topbar{max-width:1200px;margin:auto;padding:20px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{color:var(--text);text-decoration:none;font:800 14px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;white-space:nowrap}.brand span{color:var(--mint);font-size:24px;vertical-align:-2px}.top-actions,footer nav{display:flex;align-items:center;gap:8px}.quiet{min-height:44px;padding:8px 12px;border:1px solid transparent;border-radius:2px;background:transparent;color:var(--text);text-decoration:none}.quiet:hover{border-color:var(--line);background:color-mix(in srgb,var(--panel) 72%,transparent)}main{max-width:1200px;margin:auto;padding:16px 28px 72px}.intro{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,7vw,90px);align-items:center;padding:46px 0 68px}.eyebrow{font:800 12px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;color:var(--mint);margin:0 0 12px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.5rem,6vw,4.6rem);line-height:.98;letter-spacing:-.055em;max-width:650px;margin-bottom:20px}h2{font-size:clamp(1.3rem,2vw,1.75rem);letter-spacing:-.025em;margin:0}.lede{font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.55;max-width:620px;color:var(--muted)}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:30px 0 15px}.primary,.secondary{border:2px solid var(--mint);border-radius:2px;min-height:48px;padding:10px 16px;font-weight:800}.primary{background:var(--mint);color:var(--mint-ink)}.primary:hover{filter:brightness(1.08)}.secondary{color:var(--text);background:transparent}.secondary:hover{background:var(--panel)}kbd{font:700 11px ui-monospace,SFMono-Regular,Menlo,monospace;border:1px solid color-mix(in srgb,var(--mint) 60%,var(--line));border-bottom-width:3px;border-radius:3px;padding:2px 5px;margin-left:2px;color:inherit}.privacy-note{color:var(--muted);font-size:.9rem}.privacy-note span{color:var(--mint);margin-right:6px}.signal{margin:0;position:relative}.signal:before{content:"";position:absolute;inset:-10px;background:repeating-linear-gradient(0deg,transparent 0 5px,rgba(159,245,197,.06) 6px 7px);pointer-events:none;mix-blend-mode:screen}.signal img{width:100%;height:auto;border:1px solid var(--line);display:block}.signal figcaption{font:12px ui-monospace,monospace;color:var(--muted);margin-top:8px}.workspace{border-top:1px solid var(--line);padding-top:28px}.stage-head,.result-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0 0 14px}.state,.key-help{color:var(--muted);font-size:.9rem;max-width:37rem;margin:0}.capture-area{position:relative;min-height:260px;overflow:hidden;border:1px solid var(--line);background:var(--field);display:grid;place-items:center}.capture-area:has(canvas:not([hidden])){display:block}.empty{display:grid;justify-items:center;text-align:center;max-width:370px;padding:35px;color:var(--muted)}.empty>span{font:40px ui-monospace,monospace;color:var(--mint);margin-bottom:8px}.empty strong{color:var(--text)}.empty p{font-size:.92rem;margin:4px 0 0}.small{padding:28px}.small>span{font-size:27px}.capture-area canvas{width:100%;height:auto;max-height:600px;object-fit:contain;display:block}.target-overlay{position:absolute;inset:0;pointer-events:none}.marker{position:absolute;display:grid;place-items:center;min-width:28px;height:28px;border:2px solid var(--mint);background:var(--mint-ink);color:var(--mint);font:800 14px ui-monospace,monospace;transform:translate(-2px,-2px);box-shadow:2px 2px 0 var(--ink)}.marker.uncertain{border-color:var(--amber);color:var(--amber)}.crop-controls{display:grid;grid-template-columns:repeat(4,minmax(80px,1fr)) auto;gap:10px;padding:16px 0 34px;align-items:end}.crop-controls label,.import-label,#license-form label{display:grid;gap:4px;color:var(--muted);font-size:.82rem;font-weight:700}.crop-controls input,#license{border:1px solid var(--line);border-radius:2px;background:var(--field);color:var(--text);min-height:46px;padding:8px}.result-head{border-top:1px solid var(--line);padding-top:26px}.results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.results>.empty,.error{grid-column:1/-1}.target{min-height:84px;display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;text-align:left;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:var(--panel);color:var(--text);padding:14px}.target:hover,.target.selected{background:color-mix(in srgb,var(--mint) 20%,var(--panel))}.target b{display:grid;place-items:center;width:34px;height:34px;background:var(--mint);color:var(--mint-ink);font:800 16px ui-monospace,monospace}.target.uncertain b{background:var(--amber);color:#3d2b00}.target strong,.target small{display:block}.target small{color:var(--muted);font-size:.78rem;margin-top:2px}.save-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:16px}.import-label{display:inline-flex;grid-template-columns:auto;cursor:pointer;border:1px solid transparent;min-height:44px;padding:10px 12px;color:var(--text)}.import-label:hover{border-color:var(--line)}.import-label input{max-width:180px;color:var(--muted)}.error{border:1px solid var(--coral);padding:20px;color:var(--text)}.error p{color:var(--muted);margin:4px 0 0}.how{margin-top:64px;padding:34px 0;border-top:1px solid var(--line);max-width:900px}.how ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;font-weight:700}.how li span{display:block;font:800 20px ui-monospace,monospace;color:var(--mint);margin-bottom:5px}.how>p{color:var(--muted);max-width:780px}.how details{margin-top:18px;border:1px solid var(--line);padding:12px 14px}.how summary{cursor:pointer;font-weight:800}.how form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;padding-top:16px}.how form p{grid-column:1/-1;margin:0;color:var(--muted);font-size:.9rem}.legal{max-width:720px;padding-top:70px;min-height:65vh}.legal h1{font-size:clamp(2.4rem,5vw,4rem)}.legal p{color:var(--muted);font-size:1.08rem}.legal h2{margin-top:34px}footer{max-width:1200px;margin:auto;padding:26px 28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;color:var(--muted);font-size:.88rem}.toast{position:fixed;right:20px;bottom:20px;display:flex;align-items:center;gap:12px;background:var(--text);color:var(--ink);border:2px solid var(--mint);padding:10px 12px;box-shadow:5px 5px 0 var(--mint-ink)}.toast button{background:var(--mint-ink);color:var(--mint);border:0;min-height:34px;padding:4px 8px;font-weight:800}.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}.spinner{display:inline-block;animation:turn 1s linear infinite}@keyframes turn{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.signal:before{display:none}}@media(max-width:720px){.topbar,main,footer{padding-left:16px;padding-right:16px}.topbar{align-items:flex-start}.top-actions{gap:0}.top-actions a{display:none}.intro{grid-template-columns:1fr;padding:24px 0 42px}.signal{max-width:480px}.crop-controls{grid-template-columns:repeat(2,1fr)}.crop-controls button{grid-column:1/-1}.stage-head,.result-head{align-items:start;flex-direction:column}.results{grid-template-columns:1fr}.how ol{grid-template-columns:1fr;gap:14px}.how form{grid-template-columns:1fr}.how form .secondary{justify-self:start}footer{flex-direction:column}.key-help{line-height:1.8}}@media(max-width:390px){h1{font-size:2.45rem}.actions{align-items:stretch}.actions button{width:100%}.topbar{gap:6px}.brand{font-size:12px}.quiet{padding:8px}.capture-area{min-height:220px}}
