:root{--bg:#ffffff;--fg:#171717;--muted:#555555;--border:#e5e5e5;--accent:#16a34a;--code-bg:#f5f5f5}@media (prefers-color-scheme:dark){:root{--bg:#0a0a0a;--fg:#ededed;--muted:#a1a1a1;--border:#262626;--accent:#4ade80;--code-bg:#141414;color-scheme:dark}}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden}body{color:var(--fg);background:var(--bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.legal{max-width:760px;margin:0 auto;padding:clamp(2rem,6vw,4rem) 1.25rem}.legal h1{font-size:clamp(1.6rem,4vw,2.2rem);line-height:1.15;margin-bottom:.5rem}.legal h2{font-size:1.15rem;margin-top:1.75rem}.legal li,.legal p{margin-top:.6rem}.legal ul{margin:.3rem 0 0 1.25rem}.legal-updated{color:var(--muted);font-size:.9rem}.admin-header{justify-content:space-between;gap:1rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--border)}.admin-header,.admin-nav{display:flex;align-items:center}.admin-nav{gap:1.25rem;flex-wrap:wrap}.admin-nav a{color:var(--fg)}.admin-main{padding:1.5rem 1.25rem;max-width:1100px}.admin-main h1{font-size:1.5rem;margin-bottom:1rem}.admin-main h2{font-size:1.1rem;margin:1.75rem 0 .75rem}.admin-muted{color:var(--muted)}.admin-logout{background:none;border:1px solid var(--border);color:var(--fg);border-radius:6px;padding:.4rem .8rem;cursor:pointer;font:inherit}.admin-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1rem;gap:1rem}.admin-stat{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.25rem;border:1px solid var(--border);border-radius:10px}.admin-stat-label{color:var(--muted);font-size:.85rem}.admin-stat-value{font-size:1.6rem;font-weight:600}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table td,.admin-table th{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--border);white-space:nowrap}.admin-table td.num,.admin-table th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.admin-badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.8rem}.admin-badge.ok{background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent)}.admin-badge.bad{background:color-mix(in srgb,#ef4444 20%,transparent);color:#ef4444}.admin-login{min-height:80vh;display:flex;align-items:center;justify-content:center;padding:1.25rem}.admin-card{display:flex;flex-direction:column;gap:.6rem;width:100%;max-width:340px;padding:1.75rem;border:1px solid var(--border);border-radius:12px}.admin-card h1{font-size:1.25rem}.admin-card input{padding:.55rem .7rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font:inherit}.admin-card button{margin-top:.5rem;padding:.55rem .7rem;border:none;border-radius:6px;background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer}.admin-error{color:#ef4444;font-size:.9rem}