:root{--bg:#111214;--panel:#1a1c20;--panel2:#22252b;--line:#2e323a;--text:#eceef2;--muted:#9aa1ad;--accent:#ff8a3d;--accent-ink:#1b1007;--ok:#5fd38d;--bad:#ff6b6b;--warn:#ffc857;--radius:14px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{max-width:860px;margin:0 auto;padding:32px 20px 64px}header{align-items:center;gap:16px;margin-bottom:28px;display:flex}.logo{background:var(--accent);width:52px;height:52px;color:var(--accent-ink);border-radius:14px;flex:none;place-items:center;font-size:28px;font-weight:700;display:grid}h1{letter-spacing:-.02em;margin:0;font-size:1.9rem}.tagline{color:var(--muted);margin:2px 0 0}section{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;padding:20px 22px}section:empty{display:none}#setup:has(>p.muted:only-child){background:0 0;border:none;margin-bottom:8px;padding:0 4px}h2{align-items:center;gap:10px;margin:0 0 12px;font-size:1.2rem;display:flex}h2.off{color:var(--muted);margin:0}h3{margin:0;font-size:1rem}.step{background:var(--panel2);border:1px solid var(--line);border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:.85rem;display:inline-grid}p{margin:8px 0}a{color:var(--accent)}code{background:var(--panel2);word-break:break-all;border-radius:6px;padding:3px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.muted{color:var(--muted)}.small{font-size:.85rem}.block{display:block}.error{color:var(--bad)}.warn{color:var(--warn)}.ok{color:var(--ok);font-weight:600}.hint{color:var(--muted);margin-top:10px;font-size:.85rem}.ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:999px;padding:8px 18px}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:650}button.primary:not(:disabled):hover{filter:brightness(1.08)}button.big{padding:12px 28px;font-size:1.05rem}button.ghost{background:0 0}button.small{padding:4px 12px;font-size:.85rem}button.link{color:var(--accent);font-size:inherit;background:0 0;border:none;border-radius:0;padding:0;text-decoration:underline}button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input[type=text]{font:inherit;border:1px solid var(--line);background:var(--bg);min-width:0;color:var(--text);border-radius:10px;flex:1;padding:9px 14px}input[type=checkbox]{accent-color:var(--accent);flex:none;width:17px;height:17px;margin:0}.row{gap:10px;margin:10px 0;display:flex}.howto{margin:8px 0 12px;padding-left:22px}.howto li{margin:6px 0}.copyrow{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.cards{grid-template-columns:1fr auto 1fr;align-items:stretch;gap:12px;display:grid}.arrow{color:var(--muted);align-self:center;font-size:1.6rem}.card{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.card.connected{border-color:color-mix(in srgb, var(--ok) 45%, var(--line))}.cardhead{flex-direction:column;margin-bottom:12px;display:flex}.profile{align-items:center;gap:12px;display:flex}.profile>div:nth-child(2){flex:1;min-width:0;overflow:hidden}.pname{white-space:nowrap;text-overflow:ellipsis;font-weight:650;overflow:hidden}.avatar{object-fit:cover;border-radius:50%;flex:none;width:42px;height:42px}.avatar.empty{background:var(--line);place-items:center;font-weight:700;display:grid}.cats{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;margin:12px 0;display:grid}.cat{background:var(--panel2);border:1px solid var(--line);cursor:pointer;border-radius:10px;grid-template-columns:auto 1fr auto;align-content:start;align-items:center;gap:2px 10px;padding:10px 12px;display:grid}.cat.empty{opacity:.5;cursor:default}.catname{font-weight:600}.count{font-variant-numeric:tabular-nums;color:var(--muted)}.catdetail{grid-column:2/4}details{margin:10px 0}summary{cursor:pointer;padding:4px 0}.plgroup{border:1px solid var(--line);border-radius:10px;padding:6px 12px}.plgroup.disabled{opacity:.5}.plactions{margin:4px 0 8px;font-size:.85rem}.pllist{max-height:380px;margin:0;padding:0;list-style:none;overflow-y:auto}.pllist label{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:5px 4px;display:flex}.pllist label:hover{background:var(--panel2)}.thumb{object-fit:cover;background:var(--line);border-radius:6px;flex:none;width:36px;height:36px}.plinfo{flex-direction:column;min-width:0;display:flex}.plname{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tag{background:var(--line);border-radius:6px;margin-left:6px;padding:0 6px;font-size:.75rem}.tag.bad{color:var(--bad)}.options{gap:10px;margin:16px 0 6px;display:grid}.opt{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.opt input{margin-top:3px}.cannot ul,.warnings ul{color:var(--muted);margin:6px 0;padding-left:20px;font-size:.9rem}.cannot b{color:var(--text)}.prog{margin:12px 0}.proghead{justify-content:space-between;gap:12px;margin-bottom:4px;display:flex}.bar{background:var(--panel2);border-radius:999px;height:8px;overflow:hidden}.bar>div{background:var(--accent);border-radius:999px;height:100%;transition:width .25s}.bar.indeterminate>div{animation:1.2s ease-in-out infinite slide}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(340%)}}.log pre{background:var(--bg);border:1px solid var(--line);white-space:pre-wrap;border-radius:8px;max-height:260px;padding:10px;font-size:.8rem;overflow:auto}.report{margin-bottom:16px}.report table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin:8px 0}.report th,.report td{text-align:right;border-bottom:1px solid var(--line);padding:6px 10px}.report th:first-child,.report td:first-child{text-align:left}.report th{color:var(--muted);font-size:.85rem;font-weight:500}td.bad{color:var(--bad);font-weight:600}.report ul{padding-left:20px;font-size:.9rem}footer{color:var(--muted);text-align:center;margin-top:28px;font-size:.8rem}@media (width<=640px){.cards{grid-template-columns:1fr}.arrow{justify-self:center;transform:rotate(90deg)}.row{flex-direction:column}}footer details{text-align:left;max-width:640px;margin:0 auto 8px}footer summary{text-align:center}footer details p{line-height:1.6}.tip{background:color-mix(in srgb, var(--accent) 12%, var(--panel2));border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin:12px 0;padding:14px 16px;display:flex}.tip p{flex:320px;margin:0}a.kofi{background:var(--accent);color:var(--accent-ink);border-radius:999px;flex:none;padding:9px 18px;font-weight:650;text-decoration:none}a.kofi:hover{filter:brightness(1.08)}#support:empty{display:none}.guide header{align-items:flex-start}.guide a.logo{text-decoration:none}.guide h1{font-size:1.7rem;line-height:1.25}.kicker{color:var(--muted);margin:0 0 4px;font-size:.9rem}.kicker a{color:var(--muted)}.guide article{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:8px 26px 24px;line-height:1.65}.guide article h2{margin:32px 0 10px;scroll-margin-top:16px;font-size:1.3rem;display:block}.guide article h3{margin:20px 0 6px;font-size:1.05rem}.guide .lead{font-size:1.08rem}.guide ol,.guide ul{padding-left:22px}.guide li{margin:6px 0}.guide table{border-collapse:collapse;width:100%;margin:12px 0;font-size:.95rem}.guide th,.guide td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px}.guide th{color:var(--muted);font-weight:500}.toc{background:var(--panel2);border-radius:10px;margin:16px 0;padding:6px 16px}.toc ul{margin:6px 0}kbd{border:1px solid var(--line);background:var(--panel2);border-radius:5px;padding:1px 6px;font-family:ui-monospace,Menlo,monospace;font-size:.85em}a.cta{background:var(--accent);color:var(--accent-ink);border-radius:999px;margin:6px 0;padding:11px 22px;font-weight:650;text-decoration:none;display:inline-block}a.cta:hover{filter:brightness(1.08)}.guide details{border-bottom:1px solid var(--line);margin:0;padding:4px 0}.guide summary{font-weight:600}.cta-row{margin-top:24px}footer a{color:var(--muted)}.pagelinks{text-align:center;margin:4px 0 0;font-size:.9rem}@media (width<=640px){.guide article{padding:4px 16px 18px}.guide h1{font-size:1.4rem}}
