:root{--bg:#07080c;--panel:#10131b;--panel-2:#161a25;--line:#232838;--fg:#e8eaf0;--dim:#8b93a7;--acc:#7c9cff;--acc-2:#b18cff;--ok:#3ddc97;--warn:#ffc65c;--bad:#ff6b6b;--radius:16px}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);-webkit-font-smoothing:antialiased;margin:0;font:15px/1.45 ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}.center{place-items:center;min-height:100%;padding:24px;display:grid}.glow{pointer-events:none;filter:blur(10px);z-index:0;background:radial-gradient(closest-side,#7c9cff29,#0000 70%);width:60vmax;height:60vmax;position:fixed;inset:-20% -10% auto auto}.card{z-index:1;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:28px;position:relative}.login{width:min(380px,100%)}.brand{letter-spacing:.2px;align-items:center;gap:10px;font-weight:650;display:flex}.brand .mark{background:linear-gradient(135deg, var(--acc), var(--acc-2));color:#0b0d12;border-radius:8px;place-items:center;width:28px;height:28px;font-size:15px;display:grid}.muted{color:var(--dim)}.small{font-size:13px}h1{margin:18px 0 6px;font-size:22px}label{color:var(--dim);margin:16px 0 6px;font-size:13px;display:block}.input{width:100%;color:var(--fg);border:1px solid var(--line);background:#0b0d14;border-radius:12px;outline:none;padding:12px 14px}.input:focus{border-color:var(--acc);box-shadow:0 0 0 3px #7c9cff2e}.code{letter-spacing:10px;text-align:center;font:600 26px/1 ui-monospace,monospace}.btn{border:1px solid var(--line);background:var(--panel-2);color:var(--fg);cursor:pointer;white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;transition:border-color .15s,transform 50ms;display:inline-flex}.btn:hover{border-color:var(--acc)}.btn:active{transform:translateY(1px)}.btn.primary{background:linear-gradient(135deg, var(--acc), var(--acc-2));color:#0b0d12;border:0;font-weight:650}.btn.block{width:100%;margin-top:20px}.btn.sm{border-radius:10px;padding:7px 11px;font-size:13px}.btn[disabled]{opacity:.6;cursor:default}.error{color:var(--bad);min-height:1.2em;margin-top:12px;font-size:14px}.shell{z-index:1;max-width:960px;margin:0 auto;padding:28px 20px 60px;position:relative}.top{justify-content:space-between;align-items:center;gap:12px;display:flex}.grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:28px;display:grid}.tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;transition:border-color .15s,transform .15s;display:block}.tile:hover{border-color:var(--acc);transform:translateY(-2px)}.tile .icon{font-size:28px}.tile h2{margin:14px 0 6px;font-size:19px}.tag{border:1px solid var(--line);color:var(--dim);border-radius:999px;margin-top:14px;padding:3px 9px;font-size:12px;display:inline-block}.tag.lock{color:var(--warn);border-color:#ffc65c66}.pill{color:var(--dim);border:1px solid var(--line);background:var(--panel);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:inline-flex}.dot{background:var(--dim);border-radius:50%;width:8px;height:8px}.dot.ok{background:var(--ok);box-shadow:0 0 10px var(--ok)}.dot.bad{background:var(--bad)}.dot.warn{background:var(--warn)}.viewer{background:#000;flex-direction:column;display:flex;position:fixed;inset:0}.viewer-bar{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 10px;display:flex}.viewer-bar .title{align-items:center;gap:10px;margin-right:auto;font-weight:600;display:flex}.viewer iframe{background:#000;border:0;flex:1;width:100%}.viewer.full .viewer-bar{display:none}.hint{color:var(--dim);border:1px solid var(--line);background:#10131bd9;border-radius:10px;padding:6px 10px;font-size:12px;position:absolute;bottom:12px;right:12px}@media (max-width:560px){.viewer-bar .label{display:none}}
