:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0b0f;--card:#15151d;--line:#23232e;--line2:#2a2a36;--text:#e9e9ee;--muted:#9a9aa6;--dim:#71717d;--pink:#ff2d55;--violet:#8a2be2;--link:#ff6b8a;--ok:#8affc1;--err:#ff9d9d;--warn:#ffc98a}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}code{background:#22222c;border-radius:5px;padding:1px 6px;font-size:.9em}.center{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;width:100%;max-width:420px;padding:30px}.brand{color:var(--text);align-items:center;gap:10px;display:flex}.brand img{border-radius:8px;width:34px;height:34px}.brand b{font-size:1.08rem}.sub{color:var(--muted);margin:8px 0 0;font-size:.92rem}label{color:var(--muted);margin:14px 0 5px;font-size:.84rem;display:block}input{background:var(--bg);border:1px solid var(--line2);width:100%;color:var(--text);font:inherit;border-radius:9px;padding:11px}input:focus{border-color:var(--violet);outline:none}.btn{background:linear-gradient(135deg,var(--pink),var(--violet));color:#fff;width:100%;font-weight:700;font:inherit;cursor:pointer;text-align:center;border:0;border-radius:10px;margin-top:18px;padding:12px;font-weight:700;display:inline-block}.btn:disabled{opacity:.55;cursor:wait}.btn.sm{width:auto;margin:0;padding:8px 16px;font-size:.88rem}.btn.ghost{color:var(--text);background:#22222c}.btn.danger{color:#ffb4c8;background:#3a1520}.err{color:var(--err);margin-top:12px;font-size:.88rem}.ok{color:var(--ok);margin-top:12px;font-size:.9rem}.hint{color:var(--muted);background:#1a1a24;border:1px dashed #33333f;border-radius:9px;margin-top:16px;padding:12px;font-size:.84rem}.links{justify-content:space-between;gap:10px;margin-top:16px;font-size:.86rem;display:flex}.muted{color:var(--dim);font-size:.85rem}.ts{min-height:65px;margin-top:14px}.qr{background:#fff;border-radius:10px;width:200px;height:200px;margin:16px auto;padding:10px}.qr svg{width:100%;height:100%;display:block}.secret{word-break:break-all;background:var(--bg);border:1px solid var(--line2);text-align:center;letter-spacing:.05em;border-radius:8px;padding:8px 10px;font-family:ui-monospace,Menlo,monospace;font-size:.85rem}.codes{background:var(--bg);border:1px solid var(--line2);text-align:center;border-radius:9px;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px;padding:12px;font-family:ui-monospace,Menlo,monospace;display:grid}.demo{color:var(--warn);text-align:center;background:#3a2410;border-bottom:1px solid #6b4318;padding:7px 16px;font-size:.85rem}.top{background:var(--bg);z-index:5;border-bottom:1px solid #1c1c26;align-items:center;gap:12px;padding:12px 20px;display:flex;position:sticky;top:0}.top .sp{color:var(--muted);align-items:center;gap:14px;margin-left:auto;font-size:.9rem;display:flex}.top form{display:inline}.linkbtn{color:var(--link);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.shell{min-height:calc(100vh - 60px);display:flex}nav.side{border-right:1px solid #1c1c26;flex:none;width:210px;padding:16px 10px}nav.side a,nav.side span{color:#b9b9c4;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:3px;padding:9px 12px;font-size:.93rem;display:flex}nav.side a:hover{background:#16161e;text-decoration:none}nav.side a.on{color:#fff;background:#1c1c26;font-weight:600}nav.side span{color:#55555f;cursor:default}nav.side .nav-g{cursor:pointer;width:100%;font:inherit;color:#b9b9c4;text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:3px;padding:9px 12px;font-size:.93rem;display:flex}nav.side .nav-g:hover{background:#16161e}nav.side .nav-g .car{color:#6c6c78;transition:transform .15s}nav.side .nav-grp.open>.nav-g .car{transform:rotate(90deg)}nav.side .nav-grp>.nav-kids{display:none}nav.side .nav-grp.open>.nav-kids{display:block}nav.side .nav-g.d1,nav.side a.d1{padding-left:24px}nav.side a.d2{padding-left:36px;font-size:.9rem}nav.side em{color:var(--dim);background:#1c1c26;border-radius:999px;padding:1px 7px;font-size:.68rem;font-style:normal}main{flex:1;min-width:0;max-width:980px;padding:24px}h1{margin:0 0 4px;font-size:1.35rem}.panel{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:16px;padding:18px;overflow-x:auto}.panel h3{margin:0 0 10px;font-size:1rem}.grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:18px 0;display:grid}.plat{border-bottom:1px solid #191921;align-items:center;gap:12px;padding:13px 0;display:flex}.plat:last-child{border-bottom:0}.dot{background:#3a3a48;border-radius:50%;flex:none;width:9px;height:9px}.pill{color:#b9b9c4;white-space:nowrap;background:#1c1c26;border-radius:999px;padding:2px 9px;font-size:.76rem;display:inline-block}.pill.ok{color:var(--ok);background:#12301f}table{border-collapse:collapse;width:100%;font-size:.9rem}th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 10px;font-size:.79rem;font-weight:600}td{vertical-align:middle;border-bottom:1px solid #191921;padding:10px}tr:last-child td{border-bottom:0}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.panel form label:first-child{margin-top:0}.narrow{max-width:420px}@media (max-width:700px){.shell{flex-direction:column}nav.side{background:var(--bg);z-index:4;scrollbar-width:none;border-bottom:1px solid #1c1c26;border-right:0;gap:4px;width:auto;padding:8px 10px;display:flex;position:sticky;top:57px;overflow-x:auto}nav.side::-webkit-scrollbar{display:none}nav.side a{white-space:nowrap;flex:none;margin:0;padding:8px 12px}nav.side span{display:none}nav.side .nav-grp,nav.side .nav-grp>.nav-kids,nav.side .nav-grp.open>.nav-kids{display:contents}nav.side .nav-g{display:none}nav.side a.d1,nav.side a.d2{padding-left:12px;font-size:.93rem}main{min-width:0;padding:16px}.top{padding:10px 14px}.top .sp span{display:none}.panel{overflow-x:auto}}select{background:var(--bg);border:1px solid var(--line2);color:var(--text);font:inherit;border-radius:9px;padding:9px}.cal{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.cal-h{color:var(--muted);padding:4px 6px;font-size:.78rem;font-weight:600}.cal-c{background:#13131a;border:1px solid #1c1c26;border-radius:8px;min-height:96px;padding:5px;overflow:hidden}.cal-empty{background:0 0;border-color:#0000}.cal-past{opacity:.7}.cal-today{border-color:#a273f2}.cal-d{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:3px;font-size:.8rem;display:flex}.cal-i{white-space:nowrap;text-overflow:ellipsis;background:#191922;border-left:3px solid #a273f2;border-radius:3px;margin-bottom:2px;padding:1px 4px;font-size:.74rem;overflow:hidden}.cal-add{position:relative}.cal-add summary{cursor:pointer;text-align:center;width:20px;height:20px;color:var(--text);border:1px solid #2a2a36;border-radius:5px;line-height:18px;list-style:none}.cal-add summary::-webkit-details-marker{display:none}.cal-menu{z-index:6;background:#1c1c26;border:1px solid #2a2a36;border-radius:8px;flex-direction:column;min-width:110px;padding:4px;display:flex;position:absolute;top:22px;right:0}.cal-menu a{color:var(--text);border-radius:6px;padding:6px 10px;font-size:.85rem}.cal-menu a:hover{background:#26263a;text-decoration:none}@media (max-width:700px){.cal{grid-template-columns:1fr}.cal-h,.cal-empty{display:none}.cal-c{min-height:0}}.pill.admin-pill{color:#ff8fa3;background:#3a1420;margin-left:6px;font-weight:600}.banner{white-space:pre-wrap;color:#cfe3ff;background:#14243a;border:1px solid #23406a;border-radius:10px;margin:0 0 16px;padding:10px 14px;font-size:.9rem}.banner.warn{color:#ffe2a8;background:#3a2a10;border-color:#6a4b18}.adm-bars{align-items:flex-end;gap:2px;height:90px;display:flex}.adm-bars span{background:#a24dff;border-radius:3px 3px 0 0;flex:1;min-width:3px}.adm-bars span.f{background:#ff5c7a}.adm-tbl td,.adm-tbl th{text-align:left;vertical-align:top;padding:6px 8px}.adm-tbl tr+tr{border-top:1px solid var(--line,#2a2a33)}.adm-filter{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}.adm-filter input,.adm-filter select{flex:1;min-width:140px}.nav-badge{color:#fff;text-align:center;vertical-align:middle;background:#ff2d75;border-radius:999px;min-width:18px;margin-left:6px;padding:0 5px;font-size:.7rem;font-weight:700;line-height:18px;display:inline-block}
