:root{--bg:#f6f7f7;--surface:#fff;--ink:#1d2324;--muted:#5d6a6c;--line:#dfe4e4;--brand:#1f6f6f;--brand-ink:#fff;--ok:#2f7a4f;--ok-bg:#e7f3ec;--warn:#8a5a12;--warn-bg:#fbf1df;--slow:#ad6a35;--off:#9aa3a5;--bar:#1f6f6f;--bar-ink:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#111617;--surface:#1a2122;--ink:#e8eeee;--muted:#9aa8aa;--line:#2c3537;--brand:#3aa3a3;--brand-ink:#0b1213;--ok:#7cc79b;--ok-bg:#16281e;--warn:#e5b866;--warn-bg:#2b2213;--slow:#d99a66;--off:#66716f;--bar:#17494a;--bar-ink:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0}body{-webkit-text-size-adjust:100%;font:17px/1.5 system-ui,-apple-system,Segoe UI,Noto Sans,PingFang TC,Microsoft JhengHei,sans-serif}button,input,select,textarea{font:inherit;color:inherit}.top{z-index:2;padding:calc(env(safe-area-inset-top) + 8px) 8px 8px;background:var(--bar);color:var(--bar-ink);align-items:center;gap:8px;display:flex;position:sticky;top:0}.top h1{text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:18px;font-weight:600;overflow:hidden}.icon{width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}main{max-width:640px;padding:16px 16px calc(env(safe-area-inset-bottom) + 32px);margin:0 auto}h2{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:24px 0 8px;font-size:14px;font-weight:600}p{margin:8px 0}.muted{color:var(--muted);font-size:15px}.note{background:var(--warn-bg);color:var(--warn);border-radius:10px;padding:10px 12px;font-size:15px}.foot{text-align:center;margin-top:32px}button{cursor:pointer;border:1px solid var(--line);background:var(--surface);border-radius:10px;min-height:44px;padding:10px 16px}.primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand);font-weight:600}.big{justify-content:center;align-items:center;gap:10px;width:100%;min-height:56px;font-size:18px;display:flex}.btns{flex-wrap:wrap;gap:8px;display:flex}.btns.col{flex-direction:column;margin-top:16px}.search{border:1px solid var(--line);background:var(--surface);border-radius:12px;width:100%;min-height:48px;margin-top:16px;padding:12px 14px}.search:focus,textarea:focus,select:focus{outline:2px solid var(--brand);outline-offset:1px}.list{margin-top:8px}.row{text-align:left;border:0;border-bottom:1px solid var(--line);background:var(--surface);border-radius:0;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 12px;display:flex}.list>.row:first-of-type,.list>div:first-of-type>.row{border-top-left-radius:12px;border-top-right-radius:12px}.row.cat{font-weight:600}.row.ghost{color:var(--brand);background:0 0;margin-top:8px}.chev{color:var(--muted);flex:none;transition:transform .15s;display:grid}.chev svg{width:20px;height:20px}.chev.open{transform:rotate(90deg)}.finding{font-weight:500}.summary{font-size:17px}.steps{counter-reset:s;margin:16px 0;padding-left:0;list-style:none}.steps li{counter-increment:s;background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:10px;padding:14px 14px 14px 52px;position:relative}.steps li:before{content:counter(s);background:var(--line);width:26px;height:26px;color:var(--ink);border-radius:50%;place-items:center;font-size:14px;font-weight:600;display:grid;position:absolute;top:14px;left:14px}.steps li.current{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.steps li.current:before{background:var(--brand);color:var(--brand-ink)}.steps li.tried{opacity:.6}.steps li.tried:before{content:"✕"}.steps li.ok:before{content:"✓";background:var(--ok);color:#fff}.steps li.later{opacity:.45}.steps img{border-radius:8px;width:100%;margin-bottom:10px;display:block}.ask{flex-direction:column;gap:8px;margin-top:12px;display:flex}.ask .btns button{flex:1}.banner{border-radius:12px;margin:12px 0;padding:12px 14px}.banner.ok{background:var(--ok-bg);color:var(--ok);font-weight:600}.banner.warn{background:var(--warn-bg);color:var(--warn)}.banner.warn .primary{width:100%;margin-top:8px}.why{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-top:16px;padding:4px 14px}.why summary{cursor:pointer;color:var(--brand);padding:10px 0;font-weight:500}.code{letter-spacing:.02em;margin:12px 0;font:600 22px/1.2 ui-monospace,Cascadia Mono,Menlo,monospace}.tags{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-bottom:12px;font-size:15px}.tags th,.tags td{text-align:right;border-bottom:1px solid var(--line);padding:6px 8px}.tags th:first-child,.tags td:first-child{text-align:left}.tags tr.slow td{color:var(--slow)}.tags tr.off td{color:var(--off)}.field{flex-direction:column;gap:6px;margin:16px 0;font-weight:500;display:flex}.field textarea,.field select,.field input[type=file]{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:10px 12px;font-weight:400}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-top:16px;padding:4px 14px 14px}progress{width:100%;height:8px;accent-color:var(--brand)}.scan{text-align:center}.viewfinder{aspect-ratio:1;background:#000;border-radius:16px;max-width:420px;margin:0 auto 12px;position:relative;overflow:hidden}.viewfinder video{object-fit:cover;width:100%;height:100%}.frame{border:3px solid #ffffffd9;border-radius:12px;position:absolute;inset:14%;box-shadow:0 0 0 999px #00000040}.ask-title{color:var(--ink);text-transform:none;letter-spacing:0;margin:8px 0 0;font-size:20px;font-weight:600}.ask-title+.search{margin-top:10px}.scan-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;margin-top:16px;padding:14px;display:flex}.scan-card>div{flex:1}.scan-card p{margin:4px 0 0;font-size:14px}.scan-card .primary{flex:none;align-items:center;gap:6px;display:flex}.row .count{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:14px;font-weight:400}.list+.list{margin-top:16px}.grp.open>.row.cat{color:var(--brand);border-bottom-color:#0000}.sub{background:var(--bg);border-bottom:1px solid var(--line);padding:4px 0 8px 12px}.sub .row{border-bottom:0;border-left:3px solid var(--brand);background:0 0;border-radius:0;margin:2px 0;padding:10px 12px;font-size:16px}.sub .row+.row{border-top:1px solid var(--line)}.sub .row .chev svg{width:16px;height:16px}
