:root{--bg: #f4f4f5;--surface: #ffffff;--border: #e4e4e7;--ink: #18181b;--ink-2: #52525b;--ink-3: #a1a1aa;--brand: #111111;--accent: #2563e6;--ok: #16a34a;--danger: #dc2626;--r: 12px;--r-sm: 8px;--sh: 0 1px 2px rgba(0, 0, 0, .05)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5}h1{font-size:24px;margin:0 0 16px}h2{font-size:16px;margin:0}.muted{color:var(--ink-2)}.brand{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;font-size:17px;color:var(--brand)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;background:var(--brand);color:#fff;font:inherit;font-weight:600;padding:10px 18px;border-radius:var(--r-sm);cursor:pointer;text-decoration:none}.btn:hover{opacity:.92}.btn:disabled{opacity:.55;cursor:default}.btn--sm{padding:7px 12px;font-size:13px}.btn--outline{background:transparent;color:var(--ink);border-color:var(--border)}.btn--ghost{background:transparent;color:var(--ink-2);border-color:transparent}.link-btn{background:none;border:0;color:var(--accent);font:inherit;font-weight:600;padding:0;cursor:pointer;text-decoration:underline}.error{color:var(--danger);font-size:13.5px;margin:10px 0 0}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:100%;max-width:420px;text-align:center}.auth-card .brand{margin-bottom:18px}.auth-card h1{font-size:20px}.field{display:flex;flex-direction:column;gap:6px;text-align:left;margin:18px 0 14px}.field span{font-size:12.5px;font-weight:600;color:var(--ink-2)}.field input{padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-sm);font:inherit}.auth-card .btn{width:100%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh);padding:18px 20px}.cards{display:flex;flex-direction:column;gap:14px;margin-top:12px}.app{min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:var(--surface);border-bottom:1px solid var(--border)}.topbar__right{display:flex;align-items:center;gap:14px}.content{max-width:780px;margin:0 auto;padding:32px 24px 64px}.content section{margin-top:32px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.license__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.license__head strong{margin-right:10px}.key{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;color:var(--ink-2);background:var(--bg);padding:3px 8px;border-radius:6px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 12px}.cell dt{font-size:11px;font-weight:600;color:var(--ink-3);margin-bottom:2px}.cell dd{margin:0;font-size:13.5px;font-weight:600}.badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em;vertical-align:middle}.badge--ok{background:#dcfce7;color:#166534}.badge--danger{background:#fee2e2;color:#991b1b}.badge--muted{background:#f4f4f5;color:var(--ink-2)}.chip{display:inline-block;background:var(--accent);color:#fff;font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px}.sites{margin-top:12px;border-top:1px solid var(--border);padding-top:12px;display:flex;flex-direction:column;gap:8px}.site{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13.5px}.site__domain{font-weight:600}.download{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.download__main{display:flex;align-items:center;gap:10px}.splash{min-height:100vh;display:grid;place-items:center}.spinner{width:26px;height:26px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;margin:8px auto 0;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}.skeleton{height:96px;background:linear-gradient(90deg,#f0f0f2,#f7f7f9,#f0f0f2);border:0}@media(max-width:560px){.grid{grid-template-columns:1fr 1fr}}
