:root{--bg:#f5f6f8;--card:#fff;--text:#14171a;--muted:#6a7279;--line:#e3e6ea;--accent:#2f6fed;--ok:#1f9d55;--warn:#e07b00;--bad:#d64545;--purple:#7a4fd6}
@media (prefers-color-scheme:dark){:root{--bg:#0f1114;--card:#181b20;--text:#eceff2;--muted:#8d959c;--line:#2a2f36;--accent:#6c9bff;--ok:#43c281;--warn:#f0a040;--bad:#ef7070;--purple:#a58aff}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 -apple-system,system-ui,Segoe UI,Roboto,sans-serif}
.bar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--card);position:sticky;top:0;z-index:2}
.brand{font-weight:700;font-size:18px;letter-spacing:.2px}
.bar-right{display:flex;gap:8px;align-items:center}
main{max-width:760px;margin:0 auto;padding:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px}
.narrow{max-width:460px;margin:8vh auto 0}
h1{font-size:22px;margin:0 0 8px}h2{margin:0 0 8px;font-size:18px}
.muted{color:var(--muted)}.small-text{font-size:13px}.center{text-align:center}
input[type=text],input:not([type]),input[type=search]{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font-size:16px}
#codeInput{font-family:ui-monospace,Menlo,monospace;letter-spacing:1px;text-align:center}
button{font:inherit;cursor:pointer;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--text);padding:10px 14px}
button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}
button.ghost{background:transparent}button.small{padding:7px 12px}
button.danger{color:var(--bad);border-color:var(--bad);background:transparent}
.check{display:flex;gap:8px;align-items:center;margin:12px 0;font-size:14px;color:var(--muted)}
.msg{min-height:1.2em;color:var(--bad);font-size:14px;margin:10px 0 0}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.tabs{display:flex;gap:6px;flex-wrap:wrap}
.tab{padding:7px 12px;border-radius:999px;background:transparent}
.tab.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.notice{background:var(--card);border:1px solid var(--warn);border-radius:10px;padding:10px 12px;font-size:14px}
.list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.item{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;gap:12px;justify-content:space-between;align-items:center;cursor:pointer}
.item:hover{border-color:var(--accent)}
.item .t{font-weight:600}.item .s{font-size:14px;color:var(--muted)}
.right{text-align:right;flex:none}
.badge{display:inline-block;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--c) 15%,transparent);color:var(--c)}
.eta{font-size:13px;color:var(--muted);margin-top:4px}
dialog{border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--text);max-width:560px;width:calc(100% - 32px);padding:20px}
dialog::backdrop{background:rgba(0,0,0,.45)}
.stack{display:grid;gap:12px}.row{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.tl{list-style:none;margin:12px 0;padding:0 0 0 14px;border-left:2px solid var(--line)}
.tl li{margin:0 0 12px;padding-left:10px}.tl .d{font-size:13px;color:var(--muted)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:14px;margin:10px 0}.kv dt{color:var(--muted)}.kv dd{margin:0;word-break:break-all}
a{color:var(--accent)}
