:root{--fg:#1a1a1a;--muted:#5a5f66;--bg:#fff;--surface:#f3f5f8;--line:#d6dae0;--accent:#0057b8;--danger:#b3261e;color:var(--fg);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45}*{box-sizing:border-box}body{margin:0}h1{margin:0 0 .5rem;font-size:1.5rem}h2{font-size:1.2rem}a{color:var(--accent)}.sr-only{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.topbar{border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.5rem 1rem;display:flex}.brand{color:var(--accent);font-weight:700}.topbar nav{flex-wrap:wrap;order:3;gap:.25rem;width:100%;display:flex}.topbar nav a{border-radius:8px;align-items:center;min-height:44px;padding:.5rem .6rem;text-decoration:none;display:inline-flex}.topbar nav a[aria-current=page]{background:var(--accent);color:#fff}.user{color:var(--muted);align-items:center;gap:.5rem;margin-left:auto;display:flex}@media (width>=900px){.topbar nav{order:0;width:auto}}.page{max-width:80rem;margin:0 auto;padding:1rem}.page.narrow{max-width:32rem}button{font:inherit;border:1px solid var(--line);background:var(--bg);min-height:44px;color:var(--fg);cursor:pointer;border-radius:8px;padding:.4rem .9rem}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{border-color:var(--danger);color:var(--danger)}button.link{color:var(--accent);background:0 0;border:none;min-height:0;padding:.2rem .4rem;text-decoration:underline}button:disabled{opacity:.5;cursor:default}input,select,textarea{font:inherit;border:1px solid var(--line);border-radius:8px;width:100%;min-height:44px;padding:.45rem .6rem}textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem}label{flex-direction:column;gap:.25rem;font-weight:600;display:flex}label.check{flex-direction:row;align-items:center;font-weight:400}label.check input{width:auto;min-height:0}fieldset{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;gap:1.5rem;display:flex}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.row.spread{justify-content:space-between}.row.end{justify-content:flex-end}.row .grow,form.row label{flex:1}form.row{align-items:flex-end}.panel{border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:.75rem;margin:1rem 0;padding:1rem;display:flex}.split{gap:1rem;display:grid}@media (width>=900px){.split{grid-template-columns:1fr 1fr}}.filters{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem;margin:1rem 0;display:grid}.muted{color:var(--muted);font-weight:400}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem}.error{color:var(--danger)}.ok{color:#1d5e20}.warning{color:var(--danger);background:#fdecea;border-radius:8px;padding:.75rem 1rem}.badge{color:#1d5e20;background:#e3f0e3;border-radius:999px;padding:.1rem .5rem;font-size:.85rem;display:inline-block}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.5rem}td.actions{white-space:nowrap}td.actions button+button{margin-left:.25rem}td.details{word-break:break-word;max-width:28rem}tr.inactive{color:var(--muted)}.pager{margin-top:.75rem}.dialog{border:none;border-radius:12px;width:calc(100% - 2rem);max-width:28rem}.dialog::backdrop{background:#0006}.preview,.markdown{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin:1rem 0;padding:0 1rem}.pairing-code{letter-spacing:.25em;margin:.25rem 0;font-size:2.5rem}.facts{grid-template-columns:max-content 1fr;gap:.25rem 1rem;display:grid}.facts dd{margin:0}.count{background:var(--accent);color:#fff;text-align:center;border-radius:999px;min-width:2.2rem;padding:0 .5rem;display:inline-block}.cards{gap:.5rem;margin:1rem 0;padding:0;list-style:none;display:grid}.card{border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:.1rem;padding:.75rem 1rem;display:flex}@media (width>=700px){.cards{grid-template-columns:repeat(auto-fill,minmax(20rem,1fr))}}@media print{.topbar,.no-print,.error{display:none!important}.page{max-width:none;padding:0}.cards{display:block}.card{break-inside:avoid;border:none;border-bottom:1px solid #999;border-radius:0;padding:.3rem 0}.count{color:#000;background:0 0}}
