*,*:before,*:after{box-sizing:border-box}:root{--brand: #2b6cb0;--brand-ink: #fff;--ink: #16191d;--ink-2: #4a5259;--faint: #8b949c;--bg: #f5f6f7;--surface: #fff;--rule: #e3e6e8;--rule-soft: #eef0f1;--ok: #1f7a4d;--ok-wash: #e7f4ed;--warn: #a8761b;--warn-wash: #fbf2e2;--bad: #a32a35;--bad-wash: #fbeaec;color-scheme:light}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.topbar{display:flex;align-items:center;gap:12px;background:var(--brand);color:var(--brand-ink);padding:0 20px;height:52px;flex:none}.topbar .logo{font-weight:700;letter-spacing:-.01em;font-size:16px}.topbar .spacer{flex:1}.topbar .who{font-size:13px;opacity:.9}.shell{display:flex;height:100%;flex-direction:column}.body{display:flex;flex:1;min-height:0}.side{width:216px;flex:none;background:var(--surface);border-right:1px solid var(--rule);padding:14px 0;overflow-y:auto}.side a,.side button{display:block;width:100%;text-align:left;background:none;border:0;padding:8px 20px;font:inherit;font-size:14px;color:var(--ink-2);cursor:pointer}.side .on{color:var(--brand);font-weight:600;box-shadow:inset 3px 0 0 var(--brand)}.side .grouphead{padding:14px 20px 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.main{flex:1;min-width:0;overflow-y:auto;padding:24px 28px 60px}h1{font-size:24px;margin:0 0 4px;letter-spacing:-.01em}h2{font-size:17px;margin:26px 0 10px}.sub{color:var(--ink-2);margin:0 0 20px;font-size:14px}.card{background:var(--surface);border:1px solid var(--rule);border-radius:8px}.card+.card{margin-top:16px}.card .head{padding:12px 16px;border-bottom:1px solid var(--rule-soft);font-weight:600;font-size:14px;display:flex;align-items:center;gap:10px}.card .pad{padding:16px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:10px 16px;border-bottom:1px solid var(--rule-soft)}th{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);font-weight:600}tbody tr:last-child td{border-bottom:0}td.num{font-variant-numeric:tabular-nums}.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;background:var(--rule-soft);color:var(--ink-2);white-space:nowrap}.pill.ok{background:var(--ok-wash);color:var(--ok)}.pill.warn{background:var(--warn-wash);color:var(--warn)}.pill.bad{background:var(--bad-wash);color:var(--bad)}.tags{display:flex;flex-wrap:wrap;gap:6px}.tag{font-size:12px;padding:2px 8px;border-radius:4px;background:var(--rule-soft);color:var(--ink-2)}.tag.fresh{background:var(--warn-wash);color:var(--warn)}.kv{display:grid;grid-template-columns:120px 1fr;gap:8px 16px;font-size:14px}.kv dt{color:var(--faint)}.kv dd{margin:0}.note{border-left:3px solid var(--brand);background:#fbfcfd;padding:10px 14px;font-size:14px;color:var(--ink-2);white-space:pre-wrap}.empty{color:var(--faint);font-size:14px;padding:22px 16px;text-align:center}.ticker{position:fixed;right:12px;bottom:12px;width:300px;max-height:40vh;overflow-y:auto;background:#16191d;color:#dfe4e8;border-radius:6px;padding:8px 10px;font:11.5px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;z-index:50;box-shadow:0 6px 24px #00000040}.ticker b{color:#8fd0ff;font-weight:600}.ticker .err{color:#ff9d9d}.topbar .toplinks{display:flex;gap:4px}.topbar .toplinks a{color:var(--brand-ink);text-decoration:none;padding:6px 10px;border-radius:6px;font-size:14px;opacity:.85}.topbar .toplinks a.on{background:#ffffff2e;opacity:1}.side a{text-decoration:none}.faint{color:var(--faint);font-size:12px}.empty{padding:28px 16px;text-align:center;color:var(--ink-2)}.scroll{overflow-x:auto}.shelf{list-style:none;margin:0;padding:0;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.shelf.small{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.shelf .name{font-weight:600;margin-top:8px}.shelf .price{color:var(--ink-2)}.photo{display:block;width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:6px;background:var(--rule-soft);border:1px solid var(--rule)}.photo.none{display:grid;place-items:center;color:var(--faint);font-size:12px}.foot{flex:none;padding:8px 16px;font-size:12px;color:var(--faint);text-align:center;border-top:1px solid var(--rule);background:var(--surface)}@media (max-width: 640px){.body{flex-direction:column}.side{width:auto;border-right:0;border-bottom:1px solid var(--rule);padding:6px 0;display:flex;flex-wrap:wrap}.side a,.side button{width:auto}.side .grouphead{display:none}.main{padding:18px 16px 40px}.topbar .who{display:none}}
