:root{--bg:#F2F5F3;--ink:#14262B;--mut:#5B6E72;--card:#fff;--line:#D5DEDA;--sea:#0F4C5C;--on:#fff;--ok:#2F7D4F;--bad:#B23A2E;--acc:#E0932F;box-sizing:border-box}
@media(prefers-color-scheme:dark){:root{--bg:#0E1A1D;--ink:#E6EEEC;--mut:#93A6A9;--card:#162428;--line:#27393D;--sea:#5DB3C6;--on:#0E1A1D;--ok:#6BC48F;--bad:#E8806F;--acc:#F0AE55}}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.5 "Bricolage Grotesque",system-ui,-apple-system,Segoe UI,sans-serif}
main{max-width:720px;margin:0 auto;padding:20px 16px 48px}
h1{font-size:2rem;font-weight:800;margin:0;letter-spacing:-.02em}h2{font-size:1.15rem;font-weight:600;margin:0 0 12px}
.sub{color:var(--mut);margin:4px 0 20px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:16px}
label{display:block;font-weight:600;font-size:.9rem;margin:12px 0 4px}
input,select{width:100%;padding:11px 12px;font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:6px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.slots{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.slots button{padding:9px 14px;border-radius:6px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;cursor:pointer}
.slots button[aria-pressed="true"]{background:var(--sea);color:var(--on);border-color:var(--sea)}
.slots button:disabled{opacity:.4;text-decoration:line-through;cursor:not-allowed}
.btn{display:inline-block;margin-top:16px;width:100%;padding:13px;border:0;border-radius:6px;background:var(--sea);color:var(--on);font:inherit;font-weight:600;cursor:pointer;text-align:center;text-decoration:none}
.btn.sm{width:auto;margin:0;padding:6px 10px;font-size:.85rem}.btn.ghost{background:none;border:1px solid var(--line);color:var(--ink)}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
.msg{padding:12px;border-radius:6px;margin-top:14px;border:1px solid var(--ok)}.msg.err{border-color:var(--bad)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px}.stat b{display:block;font-size:1.6rem;font-weight:800}.stat span{color:var(--mut);font-size:.85rem}
.bk{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 0;border-top:1px solid var(--line);flex-wrap:wrap}
.bk small{color:var(--mut);display:block}.acts{display:flex;gap:6px;flex-wrap:wrap}
.tag{font-size:.8rem;font-weight:600;padding:2px 8px;border-radius:99px;border:1px solid var(--line)}.tag.ok{color:var(--ok);border-color:var(--ok)}.tag.no{color:var(--bad);border-color:var(--bad)}
.empty,.mut{color:var(--mut)}[hidden]{display:none!important}
.link{word-break:break-all;font-weight:600}
