:root{--bg:#f6f4ef;--surface:#fff;--surface-2:#efece5;--text:#1c1b19;--text-2:#5f5c55;--text-3:#8f8b82;--border:#1c1b191f;--border-strong:#1c1b193d;--accent:#1f6f5c;--accent-bg:#dcefe8;--on-accent:#fff;--danger:#b3261e;--keep:#3559b7;--keep-bg:#e3e9f8;--sell:#1f6f5c;--sell-bg:#dcefe8;--donate:#9a5b0c;--donate-bg:#f8ead2;--trash:#8a3a30;--trash-bg:#f6e1dd;--radius:14px;--radius-sm:10px;--tabbar:64px;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#161513;--surface:#211f1c;--surface-2:#2b2925;--text:#f2efe9;--text-2:#bdb8ae;--text-3:#8a857b;--border:#f2efe91f;--border-strong:#f2efe93d;--accent:#5cc4a6;--accent-bg:#173a31;--on-accent:#0c1f1a;--danger:#f2948d;--keep:#9db4f2;--keep-bg:#1f2a45;--sell:#5cc4a6;--sell-bg:#173a31;--donate:#f0bd6e;--donate-bg:#3d2c12;--trash:#f0a397;--trash-bg:#3f211d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}img{max-width:100%;display:block}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:650}.page{max-width:560px;padding:calc(var(--safe-top) + 12px) 16px calc(var(--safe-bottom) + 32px);min-height:100dvh;margin:0 auto}.page.with-tabs{padding-bottom:calc(var(--tabbar) + var(--safe-bottom) + 24px)}.topbar{align-items:center;gap:8px;min-height:44px;margin-bottom:12px;display:flex}.topbar h1{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:20px;overflow:hidden}.icon-btn{width:40px;height:40px;color:var(--text);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn:active{background:var(--surface-2)}.stack{flex-direction:column;gap:12px;display:flex}.row{align-items:center;gap:8px;display:flex}.spacer{flex:1}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.small{font-size:13px}.tiny{font-size:12px}.big-number{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.section-title{color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;margin:20px 0 8px;font-size:13px;font-weight:600}.card{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius);padding:14px}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.stat{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.stat .label{color:var(--text-2);font-size:12px}.stat .value{font-variant-numeric:tabular-nums;font-size:18px;font-weight:650}.list{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius);overflow:hidden}.list-row{border-bottom:.5px solid var(--border);text-align:left;align-items:center;gap:12px;width:100%;padding:10px 12px;display:flex}.list-row:last-child{border-bottom:none}.list-row:active{background:var(--surface-2)}.list-row .main{flex:1;min-width:0}.list-row .title{text-overflow:ellipsis;white-space:nowrap;font-weight:550;overflow:hidden}.thumb{object-fit:cover;background:var(--surface-2);border-radius:10px;flex-shrink:0;width:52px;height:52px}.btn{background:var(--surface);border:.5px solid var(--border-strong);white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-weight:600;display:inline-flex}.btn:active{transform:scale(.98)}.btn.primary{background:var(--accent);color:var(--on-accent);border-color:#0000}.btn.ghost{background:0 0;border-color:#0000}.btn.danger{color:var(--danger)}.btn.block{width:100%}.btn:disabled{opacity:.5}.input,.textarea,.select{border:.5px solid var(--border-strong);background:var(--surface);border-radius:10px;width:100%;min-height:44px;padding:10px 12px;font-size:16px}.textarea{resize:vertical;min-height:110px}.input:focus,.textarea:focus,.select:focus{outline:2px solid var(--accent);outline-offset:-1px}.field-label{color:var(--text-2);margin-bottom:4px;font-size:12px;display:block}.chip{background:var(--surface-2);color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.chip.keep,.seg button.keep.on,.decide.keep.suggested{background:var(--keep-bg);color:var(--keep)}.chip.sell,.seg button.sell.on,.decide.sell.suggested{background:var(--sell-bg);color:var(--sell)}.chip.donate,.seg button.donate.on,.decide.donate.suggested{background:var(--donate-bg);color:var(--donate)}.chip.trash,.seg button.trash.on,.decide.trash.suggested{background:var(--trash-bg);color:var(--trash)}.chip.warn{background:var(--donate-bg);color:var(--donate)}.chips{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.filter{border:.5px solid var(--border-strong);white-space:nowrap;background:var(--surface);border-radius:999px;padding:6px 12px;font-size:14px}.filter.on{background:var(--text);color:var(--bg);border-color:#0000}.seg{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.seg button{border:.5px solid var(--border-strong);background:var(--surface);border-radius:10px;min-height:44px;font-size:14px;font-weight:600}.seg button.on{border-color:#0000}.tabbar{z-index:20;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(16px);border-top:.5px solid var(--border);padding-bottom:var(--safe-bottom);position:fixed;bottom:0;left:0;right:0}.tabbar .inner{max-width:560px;height:var(--tabbar);grid-template-columns:repeat(4,1fr);margin:0 auto;display:grid}.tabbar button{color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:600;display:flex;position:relative}.tabbar button.on{color:var(--accent)}.badge{background:var(--accent);min-width:18px;height:18px;color:var(--on-accent);text-align:center;border-radius:999px;padding:0 5px;font-size:11px;line-height:18px;position:absolute;top:6px;left:calc(50% + 6px)}.camera{border-radius:var(--radius);aspect-ratio:3/4;background:#000;width:100%;max-height:62dvh;position:relative;overflow:hidden}.camera video{object-fit:cover;width:100%;height:100%}.camera .flash{opacity:0;pointer-events:none;background:#fff;transition:opacity .25s;position:absolute;inset:0}.camera .flash.on{opacity:.7;transition:none}.camera .empty{text-align:center;color:#e9e6df;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex;position:absolute;inset:0}.shutter-row{grid-template-columns:1fr auto 1fr;align-items:center;padding:16px 4px 8px;display:grid}.shutter{border:4px solid var(--text);border-radius:999px;justify-content:center;align-items:center;width:72px;height:72px;display:flex}.shutter:after{content:"";background:var(--text);border-radius:999px;width:56px;height:56px;transition:transform .1s}.shutter:active:after{transform:scale(.88)}.strip{scrollbar-width:none;gap:8px;padding:4px 0;display:flex;overflow-x:auto}.strip::-webkit-scrollbar{display:none}.strip-photo{background:var(--surface-2);border-radius:10px;flex-shrink:0;width:64px;height:64px;position:relative;overflow:hidden}.strip-photo img{object-fit:cover;width:100%;height:100%}.strip-photo .status{text-align:center;color:#fff;background:#0009;padding:2px 0;font-size:11px;font-weight:700;position:absolute;inset:auto 0 0}.strip-photo .status.failed{background:var(--danger)}.strip-photo.scanning:after{content:"";background:linear-gradient(100deg,#0000 30%,#ffffff73 50%,#0000 70%) 0 0/200% 100%;animation:1.2s linear infinite sweep;position:absolute;inset:0}@keyframes sweep{0%{background-position:150% 0}to{background-position:-50% 0}}.triage-card{background:var(--surface);border:.5px solid var(--border);touch-action:pan-y;-webkit-user-select:none;user-select:none;will-change:transform;border-radius:20px;overflow:hidden}.triage-card .hero{object-fit:contain;background:var(--surface-2);width:100%;height:30dvh;min-height:180px}.triage-card .body{padding:12px 14px 14px}.clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.decide-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px;display:grid}.decide{border:.5px solid var(--border-strong);background:var(--surface);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:60px;font-size:14px;font-weight:650;display:flex}.decide.suggested{border:2px solid}.decide:active{transform:scale(.97)}.swipe-hint{opacity:0;pointer-events:none;border:3px solid;border-radius:10px;padding:6px 12px;font-size:18px;font-weight:800;position:absolute;top:16px}.photo-frame{border-radius:var(--radius);background:var(--surface-2);position:relative;overflow:hidden}.photo-frame img{width:100%}.box{border:2px solid #fff;border-radius:6px;position:absolute;box-shadow:0 0 0 1px #00000080}.box.keep{border-color:#8fb0ff}.box.sell{border-color:#5cc4a6}.box.donate{border-color:#f0bd6e}.box.trash{border-color:#f0a397}.box.focus{border-width:3px;box-shadow:0 0 0 9999px #00000073}.box-label{text-overflow:ellipsis;white-space:nowrap;color:#fff;background:#000000b3;border-radius:6px;max-width:160px;padding:2px 6px;font-size:11px;font-weight:700;position:absolute;top:-22px;left:-2px;overflow:hidden}.toast-host{left:0;right:0;bottom:calc(var(--tabbar) + var(--safe-bottom) + 12px);z-index:50;pointer-events:none;justify-content:center;padding:0 16px;display:flex;position:fixed}.toast{pointer-events:auto;background:var(--text);width:100%;max-width:528px;color:var(--bg);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;font-size:15px;animation:.18s ease-out rise;display:flex}.toast button{color:var(--accent-bg);font-weight:700}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.empty-state{text-align:center;padding:40px 16px}.empty-state h2{margin:12px 0 6px;font-size:20px}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}
