:root{--ink:#161922;--ink-2:#11131a;--panel:#1e2230;--panel-2:#252a3a;--line:#e9edf717;--line-strong:#e9edf729;--text:#c7cbd6;--text-dim:#868ca0;--text-bright:#f4f5f8;--paper:#f2f0ea;--paper-2:#e7e4da;--paper-ink:#1b1e27;--paper-dim:#6c6a61;--signal:#f5b700;--signal-ink:#161922;--done:#2bb3a3;--alert:#ff6b5e;--display:"Space Grotesk", system-ui, sans-serif;--body:"IBM Plex Sans", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--radius:12px;--radius-sm:8px;--gap:16px;--shell-w:540px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--body);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px;line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100svh;margin:0}body{background:var(--ink-2);background-image:radial-gradient(120% 80% at 50% -10%, #1c2030 0%, var(--ink-2) 60%)}h1,h2,h3{font-family:var(--display);color:var(--text-bright);letter-spacing:-.01em;margin:0;font-weight:600}a{color:var(--signal);text-decoration:none}button{font-family:var(--body);cursor:pointer}input,textarea,select{font-family:var(--body)}.mono{font-family:var(--mono);font-feature-settings:"tnum" 1}.eyebrow{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);font-size:11px}.viewfinder{position:relative}.viewfinder:before,.viewfinder:after,.viewfinder>.vf-b:before,.viewfinder>.vf-b:after{content:"";border:2px solid var(--signal);pointer-events:none;width:18px;height:18px;position:absolute}.viewfinder:before{border-bottom:0;border-right:0;top:8px;left:8px}.viewfinder:after{border-bottom:0;border-left:0;top:8px;right:8px}.viewfinder>.vf-b:before{border-top:0;border-right:0;bottom:8px;left:8px}.viewfinder>.vf-b:after{border-top:0;border-left:0;bottom:8px;right:8px}@media (prefers-reduced-motion:no-preference){.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}}:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.app{width:100%;max-width:var(--shell-w);background:var(--ink);min-height:100svh;box-shadow:0 0 0 1px var(--line), 0 30px 80px -40px #000;flex-direction:column;margin:0 auto;display:flex}.topbar{z-index:20;background:linear-gradient(var(--ink), color-mix(in srgb, var(--ink) 88%, transparent));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:max(10px, env(safe-area-inset-top)) 14px 0;position:sticky;top:0}.brandrow{justify-content:space-between;align-items:center;gap:10px;padding-bottom:10px;display:flex}.brand{font-family:var(--display);letter-spacing:-.02em;color:var(--text-bright);background:0 0;border:0;align-items:center;gap:9px;padding:0;font-size:18px;font-weight:700;display:flex}.brand .lens{border:2px solid var(--signal);border-radius:50%;flex:none;width:22px;height:22px;position:relative}.brand .lens:after{content:"";background:radial-gradient(circle at 35% 30%,#43506b,#1a1d27);border-radius:50%;position:absolute;inset:4px}.savechip{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);align-items:center;gap:6px;font-size:10px;display:flex}.savechip .dot{background:var(--done);border-radius:50%;width:7px;height:7px}.rail{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:7px;padding-bottom:10px;display:flex;overflow-x:auto}.rail::-webkit-scrollbar{display:none}.chip{border:1px solid var(--line-strong);background:var(--panel);color:var(--text-dim);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:7px;padding:7px 11px;font-size:12.5px;font-weight:500;display:flex}.chip[data-active=true]{border-color:var(--signal);color:var(--text-bright);background:color-mix(in srgb, var(--signal) 12%, var(--panel))}.chip .count{font-family:var(--mono);background:var(--panel-2);min-width:18px;height:18px;color:var(--text);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;display:inline-flex}.chip[data-done=true] .count{background:color-mix(in srgb, var(--done) 22%, var(--panel-2));color:var(--text-bright)}.content{flex:1;padding:18px 14px 120px}.screen-head{margin-bottom:16px}.screen-head h1{margin-top:4px;font-size:26px}.screen-head p{color:var(--text-dim);margin-top:5px;font-size:13.5px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:14px;padding:16px}.card>h2{margin-bottom:12px;font-size:15px}.card-tap{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);width:100%;color:var(--text);align-items:center;gap:13px;margin-bottom:10px;padding:15px;display:flex}.card-tap:active{background:var(--panel-2)}.card-tap .glyph{background:var(--panel-2);border:1px solid var(--line-strong);width:38px;height:38px;font-family:var(--mono);color:var(--signal);border-radius:10px;flex:none;place-items:center;font-size:15px;display:grid}.card-tap .body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.card-tap .body .t{font-family:var(--display);color:var(--text-bright);font-size:15px;font-weight:600}.card-tap .body .s{color:var(--text-dim);margin-top:2px;font-size:12.5px}.card-tap .status{font-family:var(--mono);color:var(--text-dim);font-size:11px}.card-tap .status[data-done=true]{color:var(--done)}.field{margin-bottom:13px;display:block}.field>.lab{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-bottom:6px;font-size:11px;display:block}.input,.textarea,.select{background:var(--paper);width:100%;color:var(--paper-ink);border:1px solid var(--paper-2);border-radius:var(--radius-sm);padding:11px 12px;font-size:15px}.input::placeholder,.textarea::placeholder{color:var(--paper-dim)}.textarea{resize:vertical;min-height:92px;line-height:1.5}.input.mono,.select.mono{font-family:var(--mono)}.field .hint{color:var(--text-dim);margin-top:5px;font-size:11.5px}.row2{grid-template-columns:1fr 1fr;gap:11px;display:grid}.colorrow{align-items:stretch;gap:9px;display:flex}.colorrow .input{flex:1}.swatch{border:1px solid var(--paper-2);border-radius:var(--radius-sm);background:var(--paper);cursor:pointer;flex:none;width:46px;padding:4px}.swatch::-webkit-color-swatch-wrapper{padding:0}.swatch::-webkit-color-swatch{border:none;border-radius:5px}.swatch::-moz-color-swatch{border:none;border-radius:5px}.toggle{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;padding:11px 13px;display:flex}.toggle .tl{color:var(--text-bright);font-size:14px}.toggle .tl small{color:var(--text-dim);font-size:11.5px;display:block}.switch{background:var(--line-strong);border:none;border-radius:999px;flex:none;width:46px;height:27px;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:21px;height:21px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch[aria-checked=true]{background:var(--signal)}.switch[aria-checked=true]:after{transform:translate(19px)}.btn{appearance:none;border:1px solid var(--line-strong);background:var(--panel-2);color:var(--text-bright);border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:8px;padding:11px 15px;font-size:14px;font-weight:600;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--signal);color:var(--signal-ink);border-color:var(--signal)}.btn-ghost{background:0 0}.btn-danger{color:var(--alert);border-color:color-mix(in srgb, var(--alert) 40%, transparent);background:0 0}.btn-block{width:100%}.btn-grow{flex:1}.btn:disabled{opacity:.5}.btn-sm{padding:7px 11px;font-size:12.5px}.actionbar{width:100%;max-width:var(--shell-w);padding:12px 14px max(12px, env(safe-area-inset-bottom));background:linear-gradient(transparent, var(--ink) 28%);z-index:20;gap:10px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.capture-grid{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.capture{aspect-ratio:1;border:1px dashed var(--line-strong);background:var(--ink-2);color:var(--text-dim);border-radius:10px;place-items:center;padding:0;display:grid;position:relative;overflow:hidden}.capture img{object-fit:cover;width:100%;height:100%}.capture .cap-label{font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;color:#fff;text-align:center;background:linear-gradient(#0000,#000000bf);padding:10px 6px 5px;font-size:10px;position:absolute;bottom:0;left:0;right:0}.capture .cap-add{color:var(--signal);font-size:22px}.capture[data-filled=true]{border-style:solid;border-color:var(--line)}.cap-hit{z-index:1;cursor:pointer;background:0 0;border:0;padding:0;position:absolute;inset:0}.cap-gallery{z-index:2;color:#fff;cursor:pointer;background:0 0;border:0;place-items:center;width:40px;height:40px;line-height:1;display:grid;position:absolute;top:1px;right:9px}.cap-gallery:active{opacity:.6}.cap-add svg{display:block}.cap-gallery svg{filter:drop-shadow(0 1px 2px #000000b3);display:block}.cap-over{z-index:1;pointer-events:none;color:var(--signal);position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.cap-over svg{filter:drop-shadow(0 1px 3px #000000d9);display:block}.listrow{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 0;display:flex}.listrow:last-child{border-bottom:0}.listrow .lr-main{flex:1;min-width:0}.listrow .lr-main .lr-t{color:var(--text-bright);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.listrow .lr-main .lr-s{font-family:var(--mono);color:var(--text-dim);font-size:11.5px}.iconbtn{color:var(--text-dim);background:0 0;border:0;padding:6px;font-size:18px;line-height:1}.empty{text-align:center;color:var(--text-dim);border:1px dashed var(--line);border-radius:var(--radius);padding:26px 10px;font-size:13px}.divider{background:var(--line);height:1px;margin:16px 0}.cfg-head{text-align:left;width:100%;color:var(--text);background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:0;display:flex}.cfg-head .t{font-family:var(--display);color:var(--text-bright);font-size:15px;font-weight:600;display:block}.cfg-head .s{color:var(--text-dim);margin-top:2px;font-size:12px;display:block}.cfg-head .pm{font-family:var(--mono);color:var(--signal);flex:none;font-size:19px}.tierrow{align-items:center;gap:8px;margin-bottom:9px;display:flex}.tierrow .input{flex:1}.tierrow .input.factor{text-align:center;flex:none;width:66px}.muted{color:var(--text-dim)}.addbtn{border:1px dashed var(--line-strong);width:100%;color:var(--signal);border-radius:var(--radius-sm);background:0 0;padding:11px;font-size:13.5px;font-weight:600}
