
:root { color-scheme: dark; font-family: Inter, system-ui, sans-serif; background: #070b18; color: #eef3ff; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at top, #1e3a8a55, transparent 40%), #070b18; }
main { width: min(1080px, calc(100% - 32px)); margin: 0 auto; padding: 48px 0; }
.hero p { color: #93c5fd; text-transform: uppercase; letter-spacing: .18em; }
.hero h1 { max-width: 720px; font-size: clamp(2rem, 5vw, 4.5rem); line-height: 1; }
.app-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.app-card { display: flex; gap: 16px; padding: 20px; border: 1px solid #334155; border-radius: 24px; background: #0f172acc; }
.app-card__icon { display: grid; place-items: center; flex: 0 0 56px; height: 56px; border-radius: 16px; background: #2563eb; font-size: 1.6rem; font-weight: 800; }
.app-card__download { display: inline-flex; margin-top: 12px; padding: 10px 14px; border-radius: 999px; background: #38bdf8; color: #06111f; font-weight: 800; text-decoration: none; }
.app-card__disabled { display: inline-flex; margin-top: 12px; color: #94a3b8; }
.error { color: #fca5a5; }
.top-nav { display: flex; gap: 12px; margin: 0 0 24px; }
.top-nav a { color: #bfdbfe; border: 1px solid #334155; border-radius: 999px; padding: 8px 12px; text-decoration: none; }
.top-nav a[aria-current="page"] { background: #2563eb; color: white; }
.admin-root { display: block; }
.admin-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; align-items: start; }
.admin-panel { border: 1px solid #334155; border-radius: 20px; background: #0f172acc; padding: 18px; }
.admin-panel h2 { margin-top: 0; }
.admin-panel label { display: grid; gap: 6px; margin: 10px 0; color: #cbd5e1; }
.admin-panel input, .admin-panel select { border: 1px solid #475569; border-radius: 10px; background: #020617; color: #eef3ff; padding: 10px; }
.admin-panel button { margin-top: 10px; border: 0; border-radius: 999px; background: #38bdf8; color: #06111f; font-weight: 800; padding: 10px 14px; cursor: pointer; }
.admin-result { margin: 18px 0; border: 1px solid #1e40af; border-radius: 16px; background: #172554aa; padding: 14px; }
.admin-state { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
code { color: #bae6fd; }
