:root{--bg:#fff;--fg:#1a1a1a;--muted:#6b7280;--border:#e5e7eb;--row-alt:#f9fafb;--link:#2563eb;--accent:#16a34a;--good-bg:#dcfce7;--warn-bg:#fef3c7;--danger:#dc2626}@media(prefers-color-scheme:dark){:root{--bg:#0f172a;--fg:#e2e8f0;--muted:#94a3b8;--border:#1e293b;--row-alt:#111827;--link:#60a5fa;--accent:#4ade80;--good-bg:#14532d;--warn-bg:#78350f;--danger:#f87171}}.dev-banner{background:var(--warn-bg);color:var(--fg);border-bottom:1px solid var(--warn);padding:.5rem 1.5rem;font-size:.875rem;text-align:center}.dev-banner a{color:var(--link)}.dev-banner code{background:var(--bg);padding:.05rem .3rem;border-radius:.25rem}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;line-height:1.5}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}.site-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border)}.site-header .brand{font-weight:700;font-size:1.125rem;color:var(--fg)}.site-header nav{display:flex;gap:1rem}.site-header nav a{color:var(--fg)}main{max-width:1100px;margin:0 auto;padding:1.5rem}main h1{margin:0 0 .5rem;font-size:1.875rem}main h2{margin:1.5rem 0 .5rem;font-size:1.25rem}.site-footer{max-width:1100px;margin:2rem auto 1rem;padding:1rem 1.5rem;border-top:1px solid var(--border);color:var(--muted);font-size:.875rem}.site-footer p{margin:.25rem 0}table{width:100%;border-collapse:collapse;font-size:.9375rem}thead{position:sticky;top:0;background:var(--bg);z-index:1}th,td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border)}th{font-weight:600;cursor:pointer;user-select:none}th:hover,th.sorted-asc,th.sorted-desc{background:var(--row-alt)}th.sorted-asc:after{content:" ▲";color:var(--muted);font-size:.75em}th.sorted-desc:after{content:" ▼";color:var(--muted);font-size:.75em}tbody tr:nth-child(2n),tbody tr:hover{background:var(--row-alt)}.score-good{background:var(--good-bg);padding:.125rem .375rem;border-radius:.25rem}.score-warn{background:var(--warn-bg);padding:.125rem .375rem;border-radius:.25rem}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin:1rem 0}.card{border:1px solid var(--border);border-radius:.5rem;padding:1rem;background:var(--bg);transition:border-color .1s}.card:hover{border-color:var(--link)}.card h3{margin:0 0 .25rem;font-size:1rem}form.stack{display:flex;flex-direction:column;gap:.75rem;max-width:480px}form.stack label{display:flex;flex-direction:column;gap:.25rem;font-weight:600;font-size:.875rem}form.stack input,form.stack textarea,form.stack select{width:100%;padding:.5rem;border:1px solid var(--border);border-radius:.25rem;background:var(--bg);color:var(--fg);font:inherit}form.stack button{padding:.625rem 1rem;background:var(--link);color:#fff;border:none;border-radius:.25rem;font-weight:600;cursor:pointer}form.stack button:hover{opacity:.9}form.stack button:disabled{opacity:.5;cursor:not-allowed}.muted{color:var(--muted);font-size:.875rem}.empty{text-align:center;padding:2.5rem 1rem;color:var(--muted);border:1px dashed var(--border);border-radius:.5rem;margin:1rem 0}.alert{padding:.75rem 1rem;border-radius:.25rem;margin:.75rem 0}.alert-success{background:var(--good-bg);color:var(--fg);border:1px solid var(--accent)}.alert-error{background:var(--warn-bg);color:var(--fg);border:1px solid var(--danger)}.kv{display:grid;grid-template-columns:max-content 1fr;gap:.25rem 1rem;font-size:.9375rem;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0}.toolbar{display:flex;gap:1rem;flex-wrap:wrap;align-items:end;margin-bottom:1rem}.auth-slot{display:flex;align-items:center;gap:.5rem;margin-left:auto}.auth-slot[data-state=loading]{opacity:.6}.auth-slot a{color:var(--link);text-decoration:none}.auth-slot a:hover{text-decoration:underline}.auth-avatar{width:24px;height:24px;border-radius:50%;vertical-align:middle}.auth-handle{font-weight:600}.auth-signin,.auth-signout{font-size:.875rem;color:var(--muted)}.auth-signin:hover,.auth-signout:hover{color:var(--link)}
