:root{--maroon:#781824;--maroon-d:#4A0F18;--char:#3C3C3C;--amber:#E8A33D;--ink:#1C1917;--body:#3F3A38;--muted:#78716C;--faint:#A8A29E;--line:#E3DEDB;--ground:#FAF8F7;--card:#FFFFFF;--good:#2E7D5B;--bad:#C0392B}@media(prefers-color-scheme:dark){:root{--maroon:#CC4A5F;--maroon-d:#2A0A10;--char:#C9C4C1;--amber:#F0B45C;--ink:#F5F1EF;--body:#D6CFCB;--muted:#A29996;--faint:#7A716E;--line:#3A3230;--ground:#161211;--card:#1F1A19;--good:#4FB088;--bad:#F16A6A}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;background:var(--ground);color:var(--body);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}.bar{background:var(--maroon);color:#fff;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;padding-top:calc(14px + env(safe-area-inset-top))}.bar .brand{font-weight:700;letter-spacing:-.02em;font-size:1.05rem}.bar .role{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#f0c0c8;border:1px solid rgba(255,255,255,.28);padding:3px 8px;border-radius:99px}.wrap{max-width:640px;margin:0 auto;padding:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin-bottom:12px}.card h3{margin:0;font-size:1rem;color:var(--ink)}.card .sub{color:var(--muted);font-size:.86rem;margin-top:3px}.rowline{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 0;border-bottom:1px solid var(--line)}.rowline:last-child{border-bottom:none}.rowline .k{color:var(--muted);font-size:.88rem}.mn{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink)}.pill{display:inline-block;font-size:.7rem;padding:2px 8px;border-radius:99px;background:#7818241a;color:var(--maroon)}button{font:inherit;border:none;border-radius:8px;padding:13px 16px;font-weight:600;background:var(--maroon);color:#fff;width:100%;cursor:pointer}button.amber{background:var(--amber);color:var(--maroon-d)}button:disabled{opacity:.55}input{font:inherit;width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink)}.login{max-width:340px;margin:12vh auto;padding:0 20px;text-align:center}.login .mark{font-size:2rem;font-weight:800;letter-spacing:-.04em;color:var(--ink)}.login .mark span{color:var(--maroon)}.login .tag{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin:8px 0 26px}.err{color:var(--bad);font-size:.88rem;margin-top:12px;min-height:1.2em}.empty{text-align:center;color:var(--muted);padding:40px 20px;font-size:.94rem}.chain{font-size:.76rem;color:var(--muted);text-align:center;padding:10px 0 24px}.chain b{color:var(--good)}.chain b.bad{color:var(--bad)}.login input+input{margin-top:10px}.switch{margin-top:16px;font-size:.86rem;color:var(--maroon);cursor:pointer}.bar .back{color:#f0c0c8;font-size:.92rem;cursor:pointer}.tabs{display:flex;gap:0;background:var(--card);border-bottom:1px solid var(--line);overflow-x:auto;position:sticky;top:0;z-index:5}.tab{padding:13px 16px;font-size:.9rem;color:var(--muted);white-space:nowrap;cursor:pointer;border-bottom:2px solid transparent}.tab.on{color:var(--maroon);border-bottom-color:var(--maroon);font-weight:600}.card.tapp{cursor:pointer}.rw{display:flex;justify-content:space-between;align-items:center;gap:10px}.rw.tight{gap:6px}.total{border-top:1px solid var(--line);margin-top:4px;padding-top:9px}.mn.big{font-size:1.12rem}.mn.good{color:var(--good)}.mn.bad{color:var(--bad)}.mn.hot{color:var(--maroon)}.mn.tiny{font-size:.72rem;font-family:ui-monospace,monospace}button.big{width:100%;margin:12px 0 4px}button.ghost{background:transparent;color:var(--maroon);border:1px solid var(--line);width:auto;padding:9px 14px}button.ghost.big{width:100%;margin-top:8px}.lbl{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin:16px 0 7px}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{font-size:.8rem;padding:6px 11px;border-radius:99px;border:1px solid var(--line);color:var(--muted);cursor:pointer;background:var(--card)}.chip.on{background:var(--maroon);color:#fff;border-color:var(--maroon)}.sheet{padding:16px;max-width:640px;margin:0 auto}.sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px}.sheet-head h3{margin:0}.sub{color:var(--muted);font-size:.86rem;margin-top:2px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:9px;margin-top:12px}.grid.small{grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}.tile{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--card);cursor:pointer}.tile.sel{border-color:var(--maroon);box-shadow:0 0 0 2px #7818242e}.tile-img{height:74px;background:linear-gradient(135deg,#d6d3d1,#b8b2ae)}.tile-meta{padding:6px 8px;font-size:.68rem;line-height:1.4}.tile-meta b{display:block;color:var(--ink)}.tile-meta span{color:var(--faint)}.full{width:100%;border-radius:8px;margin:10px 0;display:block}.stampcard{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--maroon);border-radius:6px;padding:10px 12px;margin-top:10px}.progress{display:flex;align-items:center;gap:10px;padding:16px 0;color:var(--muted);font-size:.92rem}.spin{width:15px;height:15px;border:2px solid var(--line);border-top-color:var(--maroon);border-radius:50%;animation:sp .7s linear infinite;display:inline-block}@keyframes sp{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spin{animation:none}}.sealed{background:#2e7d5b17;border:1px solid var(--good);border-radius:8px;padding:11px 13px;margin-top:14px;font-size:.84rem}.sealed b{color:var(--good);display:block;margin-bottom:4px}.mini{font-size:.75rem;color:var(--faint);line-height:1.55}.sigpad{width:100%;height:170px;border:1px solid var(--line);border-radius:8px;background:var(--card);touch-action:none;display:block}.sigrow{display:flex;justify-content:space-between;align-items:center;margin-top:7px}.linkish{color:var(--maroon);font-size:.84rem;cursor:pointer}.consent{font-size:.78rem;color:var(--muted);line-height:1.55;margin-top:14px;padding:10px 12px;background:var(--card);border:1px solid var(--line);border-radius:6px}.pctbox{width:60px;padding:6px 8px;text-align:right;font-size:.86rem}.fee{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:9px 11px;margin-top:10px}
