:root{--bg:#f4f5f7;--card:#fff;--ink:#1c2430;--ink2:#4a5563;--line:#e2e5ea;--line2:#c9ced6;--accent:#0f5e6b;--accent-d:#0a434d;--accent-t:#e6f3f5;--keep:#1d4ed8;--keep-t:#eaf0fd;--keep-d:#1e3a8a;--sell:#c2410c;--sell-t:#fdeee3;--sell-d:#7c2d12;--don:#166534;--don-t:#e7f4ea;--don-d:#14532d;--store:#5b21b6;--store-t:#efeafb;--store-d:#4c1d95;--toss:#57534e;--toss-t:#eeecea;--toss-d:#44403c;--warn-t:#fef3c7;--warn-d:#78350f;--bad-t:#fdeee3;--bad-d:#7c2d12;--sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:15px/1.45 var(--sans);margin:0}a{color:var(--accent)}a:hover{color:var(--accent-d)}button,input,select,textarea{font:inherit;color:inherit}h1{margin:4px 0 6px;font-size:26px;font-weight:700;line-height:1.2}h2{margin:18px 0 8px;font-size:18px}.kicker{font-family:var(--mono);letter-spacing:.08em;color:var(--accent);font-size:12px}.lead{color:var(--ink2);margin:0 0 14px}.mono{font-family:var(--mono);font-size:13px}.sub{color:var(--ink2);font-size:12.5px}.center{text-align:center}.grow{flex-direction:column;flex:1;min-width:0;display:flex}.top{z-index:30;background:var(--ink);color:#fff;align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:0}.top .brand{letter-spacing:.01em;color:#fff;flex:1;font-weight:700;text-decoration:none}.top .who{color:#c9ced6;font-size:12px}.iconbtn{width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.iconbtn:hover{background:#ffffff14}.drawer{z-index:40;border-right:1px solid var(--line);background:#fff;width:280px;padding:12px 0 24px;transition:transform .2s;position:fixed;inset:0 auto 0 0;overflow:auto;transform:translate(-100%)}.drawer.open{transform:none;box-shadow:0 0 0 100vmax #1c243059}.drawer h3{letter-spacing:.06em;color:var(--ink2);text-transform:uppercase;margin:14px 18px 4px;font-size:11px}.drawer a{min-height:40px;color:var(--ink);align-items:center;padding:6px 18px;font-size:14px;text-decoration:none;display:flex}.drawer a.on{background:var(--accent-t);color:var(--accent-d);font-weight:600}.drawer a .n{font-family:var(--mono);color:var(--ink2);width:26px;font-size:11px}main{max-width:600px;margin:0 auto;padding:18px 16px 110px}.tabs{z-index:25;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);background:#fff;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.tabs a{min-height:56px;color:var(--ink2);justify-content:center;align-items:center;font-size:13px;font-weight:600;text-decoration:none;display:flex}.tabs a.on{color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}@media (min-width:1000px){.drawer{box-shadow:none;top:64px;transform:none}.drawer.open{box-shadow:none}.top .menu{display:none}.top{min-height:64px}main{max-width:none;margin-left:280px;padding:24px 40px 60px}main>*{max-width:720px}.tabs{display:none}}body.public .top,body.public .drawer,body.public .tabs{display:none}body.public main{max-width:640px;margin:0 auto;padding-bottom:40px}.lab{letter-spacing:.05em;color:var(--ink2);text-transform:uppercase;margin:16px 0 6px;font-size:11.5px;font-weight:600}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:10px;overflow:hidden}.card.pad{padding:12px}.row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:10px 12px;display:flex}.row:first-child{border-top:0}.row .rv{text-align:right}.row.total{font-weight:700}.tag{white-space:nowrap;color:var(--ink2);background:#eef0f3;border-radius:10px;padding:3px 8px;font-size:11.5px;font-weight:600;display:inline-block}.tag.ok{background:var(--accent-t);color:var(--accent-d)}.tag.warn{background:var(--warn-t);color:var(--warn-d)}.tag.bad{background:var(--bad-t);color:var(--bad-d)}.tag.keep{background:var(--keep-t);color:var(--keep-d)}.tag.sell{background:var(--sell-t);color:var(--sell-d)}.tag.don{background:var(--don-t);color:var(--don-d)}.tag.store{background:var(--store-t);color:var(--store-d)}.tag.gift{background:var(--accent-t);color:var(--accent-d)}.tag.toss{background:var(--toss-t);color:var(--toss-d)}.tags{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.note{border-radius:10px;margin:10px 0;padding:10px 12px;font-size:14px;line-height:1.45}.note.ok{background:var(--accent-t);color:var(--accent-d)}.note.warn{background:var(--warn-t);color:var(--warn-d)}.note.bad,.note.sell{background:var(--sell-t);color:var(--sell-d)}.note.keep{background:var(--keep-t);color:var(--keep-d)}.note.don{background:var(--don-t);color:var(--don-d)}.note.store{background:var(--store-t);color:var(--store-d)}.note.toss{background:var(--toss-t);color:var(--toss-d)}.note.gift{background:var(--accent-t);color:var(--accent-d)}.chips{flex-wrap:wrap;gap:6px;margin:6px 0 10px;display:flex}.chip{border:1px solid var(--line2);cursor:pointer;background:#fff;border-radius:18px;min-height:36px;padding:0 13px;font-size:13.5px;font-weight:500}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn{border:1px solid var(--line2);cursor:pointer;min-height:46px;color:var(--ink);background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--ink2);color:var(--ink)}.btn.primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn.primary:hover{color:#fff;background:#000}.btn.accent{background:var(--accent);border-color:var(--accent);color:#fff}.btn.sellbtn{background:var(--sell);border-color:var(--sell);color:#fff}.btn.small{border-radius:9px;min-height:36px;padding:0 12px;font-size:13px}.btn.danger{color:var(--sell-d)}.btn[disabled]{opacity:.45;cursor:not-allowed}.actions{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.actions>.btn{flex:1}.fl{color:var(--ink2);flex-direction:column;gap:4px;margin-bottom:8px;font-size:12px;font-weight:600;display:flex}.fl input,.fl select,.fl textarea{border:1px solid var(--line2);min-height:42px;color:var(--ink);background:#fff;border-radius:9px;width:100%;padding:8px 10px;font-size:14.5px;font-weight:400}.fl textarea{resize:vertical;min-height:72px}.fl input:focus,.fl select:focus,.fl textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px;display:grid}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 8px;display:grid}.grid2 .wide,.grid3 .wide{grid-column:1/-1}.pad{padding:12px}.ck{border-top:1px solid var(--line);cursor:pointer;align-items:center;gap:10px;min-height:44px;padding:4px 12px;font-size:14.5px;display:flex}.ck:first-child{border-top:0}.ck input{width:20px;height:20px;accent-color:var(--accent)}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:8px;margin:8px 0;display:flex}.inline-form .fl{flex:1;min-width:120px;margin:0}.inline-form .btn{min-height:42px}.track{background:var(--line);border-radius:5px;height:9px;overflow:hidden}.fill{background:var(--keep);border-radius:5px;height:9px}.meter{flex-direction:column;gap:6px;margin:8px 0 12px;display:flex}.meter .mh{color:var(--ink2);justify-content:space-between;font-size:13px;display:flex}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0;display:grid}.tile{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px}.tile .tl{letter-spacing:.04em;color:var(--ink2);text-transform:uppercase;font-size:11px;font-weight:600}.tile .tv{font-family:var(--mono);margin-top:2px;font-size:19px}.tile.keep{background:var(--keep-t);border-color:#0000}.tile.sell{background:var(--sell-t);border-color:#0000}.tile.don{background:var(--don-t);border-color:#0000}.tile.ok{background:var(--accent-t);border-color:#0000}.empty{color:var(--ink2);text-align:center;padding:18px 12px;font-size:14px}.irow{border-top:1px solid var(--line);color:var(--ink);align-items:center;gap:12px;min-height:62px;padding:9px 12px;text-decoration:none;display:flex}.irow:first-child{border-top:0}.irow:hover{color:var(--ink);background:#fafbfc}.irow .nm{text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:600;overflow:hidden}.irow .right{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.th{object-fit:cover;background:var(--line);border-radius:9px;flex:none;width:46px;height:46px}.photos{gap:10px;padding:4px 0 8px;display:flex;overflow-x:auto}.photo{flex-direction:column;flex:none;align-items:stretch;gap:4px;width:92px;display:flex}.photo img{object-fit:cover;background:var(--line);border-radius:10px;width:92px;height:92px}.photo select{border:1px solid var(--line2);background:#fff;border-radius:7px;min-height:30px;font-size:12px}.addphoto{text-align:center;width:92px;height:92px;color:var(--ink2);cursor:pointer;border:1.5px dashed #9aa3af;border-radius:10px;flex:none;justify-content:center;align-items:center;font-size:12px;display:flex}.math .row{min-height:38px;padding:7px 12px}.actgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.actgrid .btn{border-width:2px;min-height:52px;font-weight:700}.a-keep{color:var(--keep)!important;border-color:var(--keep)!important}.a-store{color:var(--store)!important;border-color:var(--store)!important}.a-sell{color:var(--sell)!important;border-color:var(--sell)!important}.a-donate{color:var(--don)!important;border-color:var(--don)!important}.a-gift{color:var(--accent)!important;border-color:var(--accent)!important}.a-toss{color:var(--toss)!important;border-color:var(--toss)!important}.actgrid .rec{color:#fff!important}.a-keep.rec{background:var(--keep)}.a-store.rec{background:var(--store)}.a-sell.rec{background:var(--sell)}.a-donate.rec{background:var(--don)}.a-gift.rec{background:var(--accent)}.a-toss.rec{background:var(--toss)}.crumb{flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 10px;font-size:13px;display:flex}.crumb a,.crumb b{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:4px 9px;font-weight:600;text-decoration:none}.bigcode{font-family:var(--mono);font-size:30px;font-weight:500}.banner{background:var(--warn-t);color:var(--warn-d);border-radius:10px;margin:8px 0 12px;padding:10px 12px;font-size:13.5px}.scbar{border-top:1px solid var(--line);flex-direction:column;gap:5px;padding:10px 12px;display:flex}.scbar:first-child{border-top:0}.scbar .bt{justify-content:space-between;gap:8px;font-size:14.5px;display:flex}.scbar .fill{background:#9aa3af}.scbar.best .fill{background:var(--accent)}.lblprev{background:#fff;border:2px dashed #9aa3af;border-radius:10px;align-items:center;gap:12px;margin:8px 0;padding:12px;display:flex}.lblprev .qr{flex:none;width:72px;height:72px}.saleitem{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:12px;overflow:hidden}.saleitem img{object-fit:cover;background:var(--line);width:100%;height:200px;display:block}.saleitem .body{flex-direction:column;gap:8px;padding:12px;display:flex}.saleitem .hd{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.saleitem .price{font-family:var(--mono);font-size:18px}.strike{color:var(--ink2);margin-right:6px;font-size:13px;text-decoration:line-through}.pubhead{padding:8px 0 6px}.pubhead h1{font-size:30px}.modal{z-index:60;background:#1c243073;justify-content:center;align-items:flex-end;display:none;position:fixed;inset:0}.modal.on{display:flex}.modal .sheetbox{background:#fff;border-radius:18px 18px 0 0;width:100%;max-width:520px;max-height:90vh;padding:18px 16px 24px;overflow:auto}@media (min-width:700px){.modal{align-items:center}.modal .sheetbox{border-radius:18px}}#toast{left:50%;top:calc(72px + env(safe-area-inset-top));opacity:0;z-index:70;background:var(--ink);color:#fff;pointer-events:none;border-radius:10px;max-width:90vw;padding:10px 16px;font-size:14px;transition:all .2s;position:fixed;bottom:auto;transform:translate(-50%)translateY(-12px)}#toast.on{opacity:1;transform:translate(-50%)}pre.code{color:#e6e9ee;font:12.5px/1.5 var(--mono);white-space:pre-wrap;background:#0f141a;border-radius:12px;max-height:460px;padding:14px;overflow:auto}.md{border:1px solid var(--line);font:13.5px/1.55 var(--mono);white-space:pre-wrap;background:#fff;border-radius:12px;max-height:620px;padding:14px;overflow:auto}.testok{color:var(--accent-d)}.testfail{color:var(--sell-d);font-weight:700}.claimpair{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.claimpair img{object-fit:cover;background:var(--line);border-radius:10px;width:100%;height:120px}.split{justify-content:space-between;gap:8px;display:flex}.hidden{display:none!important}#print{display:none}@media print{body{background:#fff}body>:not(#print){display:none!important}#print{display:block}}#print .sheet{page-break-after:always;break-after:page;position:relative;overflow:hidden}#print .lbl{color:#000;align-items:center;gap:.08in;padding:.06in;font-family:IBM Plex Sans,Arial,sans-serif;display:flex;position:absolute;overflow:hidden}#print .lbl.col{text-align:center;flex-direction:column;justify-content:center;gap:.04in}#print .lbl .qr{flex:none}#print .lbl .code{font-family:IBM Plex Mono,Menlo,monospace;font-weight:600;line-height:1}#print .lbl .meta{line-height:1.15}#print .noqr{border:1px solid #000;justify-content:center;align-items:center;width:100%;height:100%;font-size:8pt;display:flex}#print .report{color:#000;padding:0;font-family:IBM Plex Sans,Arial,sans-serif;font-size:10pt}#print .report h1{margin:0 0 4pt;font-size:16pt}#print .report h2{margin:12pt 0 4pt;font-size:12pt}#print .report table{border-collapse:collapse;width:100%;margin:4pt 0 8pt}#print .report th,#print .report td{text-align:left;vertical-align:top;border-bottom:.5pt solid #999;padding:3pt 4pt}#print .report td.n,#print .report th.n{text-align:right;font-family:IBM Plex Mono,Menlo,monospace}#print .report .sig{gap:40pt;margin-top:28pt;display:flex}#print .report .sig div{border-top:.75pt solid #000;flex:1;padding-top:3pt;font-size:9pt}#print .report .ph{gap:8pt;display:flex}#print .report .ph img{object-fit:cover;border:.5pt solid #999;width:2.4in;height:1.8in}.pagehead{grid-template-columns:1fr auto;align-items:start;column-gap:10px;margin:2px 0 12px;display:grid}.pagehead .kicker{grid-column:1/-1;font-size:11px}.pagehead h1{grid-column:1;margin:2px 0 0;font-size:22px}.pagehead .about{grid-area:2/2}.pagehead .about summary{cursor:pointer;border:1.5px solid var(--line2);width:30px;height:30px;color:var(--ink2);border-radius:15px;place-items:center;font-size:14px;font-weight:700;list-style:none;display:grid}.pagehead .about summary::-webkit-details-marker{display:none}.pagehead .about[open] summary{background:var(--ink);border-color:var(--ink);color:#fff}.pagehead .about[open]{grid-area:3/1/auto/-1;display:block}.pagehead .about[open] summary{margin-top:-34px;position:absolute;right:16px}.pagehead .about .lead{background:var(--card);border:1px solid var(--line);border-radius:12px;margin:10px 0 0;padding:10px 12px;font-size:14px}@media (min-width:900px){.pagehead h1{font-size:28px}}body.capturing{background:#0d1014}body.capturing main{padding:0 0 calc(70px + env(safe-area-inset-bottom));max-width:640px}body.capturing .top{background:#0d1014;border-bottom:1px solid #1e242c}.cap{color:#e8ebef}.cam{width:100%;height:calc(100svh - 300px - env(safe-area-inset-bottom));background:#000;min-height:260px;max-height:720px;position:relative;overflow:hidden}@media (min-width:700px){.cam{border-radius:18px;margin-top:12px}}.cam-slot{position:absolute;inset:0}.cam video,.cam .cam-still{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.cam .cam-still{object-fit:contain;background:#000}.cam.flash:after{content:"";opacity:.85;background:#fff;animation:.18s ease-out forwards camflash;position:absolute;inset:0}@keyframes camflash{to{opacity:0}}@media (prefers-reduced-motion:reduce){.cam.flash:after{opacity:0;animation:none}}.cam-wait{color:#aeb5c0;place-items:center;font-size:14px;display:grid;position:absolute;inset:0}.cam-room{color:#fff;min-height:40px;font:600 15px var(--sans);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;background:#0d1014b8;border:0;border-radius:20px;padding:0 14px;position:absolute;top:12px;left:12px}.cam-room span{opacity:.7;margin-left:2px}.cam-badge{color:#3a2e00;background:#f4d35e;border-radius:12px;padding:5px 10px;font-size:12px;font-weight:700;position:absolute;top:16px;right:12px}.cam-flip,.cam-close{color:#fff;cursor:pointer;background:#0d1014b8;border:0;border-radius:22px;place-items:center;width:44px;height:44px;display:grid;position:absolute;bottom:12px;right:12px}.cam-close{width:auto;font:600 14px var(--sans);padding:0 14px}.cam-fallback{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex;position:absolute;inset:0}.cam-fallback p{max-width:30ch;margin:0}.cam-fallback .sub{color:#aeb5c0;font-size:13px}.sheet-inline{background:#151a20;border-bottom:1px solid #1e242c;padding:12px 12px 4px}.sheet-inline .chip{color:#e8ebef;background:#1e242c;border-color:#2b323c}.sheet-inline .chip.on{color:#0d1014;background:#fff;border-color:#fff}.add-room{gap:8px;margin:4px 0 8px;display:flex}.add-room input{color:#fff;min-height:44px;font:16px var(--sans);background:#0d1014;border:1px solid #2b323c;border-radius:12px;flex:1;padding:0 12px}.add-room .btn{min-height:44px}.roles{scrollbar-width:none;gap:6px;padding:12px 12px 2px;display:flex;overflow-x:auto}.roles::-webkit-scrollbar{display:none}.role{color:#c9ced6;min-height:36px;font:600 14px var(--sans);cursor:pointer;background:0 0;border:1px solid #2b323c;border-radius:18px;flex:none;padding:0 13px}.role.on{color:#0d1014;background:#fff;border-color:#fff}.cap-hint{color:#fff;text-shadow:0 1px 3px #000c;pointer-events:none;margin:0;font-size:13px;line-height:1.35;position:absolute;bottom:16px;left:12px;right:68px}.roles:empty{display:none}.cap-controls{grid-template-columns:1fr auto 1fr;align-items:center;padding:16px 20px 8px;display:grid}.cap-lib{color:#e8ebef;cursor:pointer;border:1px solid #2b323c;border-radius:12px;justify-self:start;place-items:center;width:48px;height:48px;display:grid}.shutter{cursor:pointer;background:#fff;border:0;border-radius:50%;width:76px;height:76px;transition:transform 80ms;display:block;box-shadow:0 0 0 4px #0d1014,0 0 0 7px #fff}.shutter:active{transform:scale(.92)}label.shutter{display:block}.cap-next{background:var(--accent);color:#fff;min-width:76px;min-height:52px;font:700 16px var(--sans);cursor:pointer;border:0;border-radius:26px;flex-direction:column;justify-content:center;justify-self:end;align-items:center;padding:0 16px;line-height:1.1;display:flex}.cap-next span{opacity:.85;font-size:11px;font-weight:500}.cap-next.idle{color:#8a93a0;background:#1e242c}.strip{scrollbar-width:none;gap:8px;padding:6px 16px 4px;display:flex;overflow-x:auto}.strip::-webkit-scrollbar{display:none}.mini{cursor:pointer;background:#1e242c;border:2px solid #0000;border-radius:10px;flex:none;width:58px;height:58px;padding:0;position:relative;overflow:hidden}.mini.on{border-color:#fff}.mini img{object-fit:cover;width:100%;height:100%}.mini span{color:#fff;text-align:center;background:#0009;padding:1px 0;font-size:10px;position:absolute;bottom:0;left:0;right:0}.mini.drop{color:#fca5a5;font:600 12px var(--sans);border-color:#3a2020}.cap-meta{gap:10px;padding:10px 16px;display:flex}.cap-meta input{color:#fff;min-width:0;min-height:48px;font:16px var(--sans);background:#151a20;border:1px solid #2b323c;border-radius:12px;flex:1;padding:0 14px}.cap-meta input::placeholder{color:#6b7480}.stepper{background:#151a20;border:1px solid #2b323c;border-radius:12px;align-items:center;display:flex}.stepper button{color:#fff;cursor:pointer;background:0 0;border:0;width:44px;height:46px;font-size:22px}.stepper span{text-align:center;min-width:26px;font-weight:700}.recent{color:#c9ced6;margin:6px 16px 0}.recent summary{cursor:pointer;padding:10px 0;font-size:14px}.recent .card{color:var(--ink)}.cap .btn.primary.native{min-height:52px;padding:0 22px;font-size:16px}body.capturing .tabs{background:#0d1014;border-top-color:#1e242c}body.capturing .tabs a{color:#8a93a0}body.capturing .tabs a.on{color:#fff;box-shadow:inset 0 3px #fff}
