:root{--bg: #f7f7f5;--fg: #1d1d1b;--muted: #6b6b66;--card: #ffffff;--line: #e2e2dc;--accent: #1f6feb;--warn-bg: #fff6d6;--warn-fg: #6b5200;--hidden: #b5b5ad;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #161615;--fg: #ececea;--muted: #9a9a94;--card: #1f1f1e;--line: #34342f;--accent: #58a6ff;--warn-bg: #3a3214;--warn-fg: #f2d675;--hidden: #5e5e58}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.55 system-ui,-apple-system,Microsoft YaHei,sans-serif}main{max-width:860px;margin:0 auto;padding:24px 16px 48px}h1{font-size:22px;margin:0 0 4px}h2{font-size:15px;margin:0 0 10px}section{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px;margin-top:16px}.hint{color:var(--muted);font-size:13px;margin:6px 0 0}.row{display:flex;gap:8px;flex-wrap:wrap}.row input{flex:1 1 220px}input[type=text],input[type=password],textarea{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--fg);font:inherit}button{padding:8px 14px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--fg);font:inherit;cursor:pointer}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button:disabled{opacity:.5;cursor:default}.drop{display:flex;align-items:center;justify-content:center;min-height:96px;border:2px dashed var(--line);border-radius:8px;color:var(--muted);cursor:pointer}.drop.over{border-color:var(--accent);color:var(--accent)}.drop input{display:none}details{margin-top:12px}details textarea{margin:8px 0}.warn{background:var(--warn-bg);color:var(--warn-fg);border-radius:6px;padding:8px 10px;margin:10px 0 0;font-size:13px}table{width:100%;border-collapse:collapse;margin-top:12px;font-size:13px;table-layout:fixed}th,td{text-align:left;vertical-align:top;padding:6px 8px;border-top:1px solid var(--line);overflow-wrap:anywhere}th:first-child,td:first-child{width:48px}th:nth-child(2),td:nth-child(2){width:30%}td.note{white-space:pre-wrap}tr.hidden td{color:var(--hidden)}.empty{color:var(--muted);font-style:italic}#decks{list-style:none;margin:0;padding:0}#decks li{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--line);flex-wrap:wrap}#decks li:first-child{border-top:0}#decks .name{flex:1 1 200px}#decks .active{color:var(--accent);font-weight:600}#status{min-height:1.5em}
