@import "https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700;800&display=swap";:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--surface:#ffffffc2;--border:#0f172a1f;--border-strong:#0f172a2e;--heading:#0f172a;--text-muted:#334155;--text-subtle:#475569;--accent:#7c3aed;--shadow-soft:0 24px 48px -26px #0f172a6b;font-family:Sora,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--heading);background:radial-gradient(circle at 14% 18%,#f5d0fed9,#0000 34%),radial-gradient(circle at 82% 20%,#bfdbfecc,#0000 32%),radial-gradient(circle at 80% 84%,#ccfbf1d1,#0000 30%),linear-gradient(140deg,#fff7ed 0%,#eff6ff 55%,#ecfeff 100%);margin:0}#root{justify-content:center;align-items:center;min-height:100vh;padding:1.2rem;display:flex}.page{z-index:1;grid-template-columns:1.3fr 1fr;gap:1.5rem;width:min(1120px,100%);display:grid;position:relative}.hero,.adminPanel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:1.25rem}.hero{padding:2.5rem}.eyebrow{letter-spacing:.18em;color:var(--accent);margin:0;font-size:.75rem;font-weight:700}h1{color:var(--heading);margin:.9rem 0 1rem;font-size:clamp(2rem,4vw,3.2rem);line-height:1.04}h2{color:var(--heading);margin:0}.lead{max-width:56ch;color:var(--text-muted);margin:0}.heroCta{flex-direction:column;align-items:flex-start;gap:.75rem;margin-top:2rem;display:flex}.hint{color:var(--text-subtle);font-size:.88rem}.btnPrimary,.btnSecondary{cursor:pointer;border:1px solid #0000;border-radius:.9rem;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;font-weight:700;transition:transform .16s,box-shadow .16s,border-color .16s}.btnPrimary{color:#fff;background:linear-gradient(135deg,#8b5cf6,#0f766e);box-shadow:0 10px 28px #4f46e547}.btnSecondary{color:var(--heading);border-color:var(--border-strong);background:#ffffffb8}.btnPrimary:hover,.btnSecondary:hover{transform:translateY(-1px)}.btnPrimary:disabled,.btnSecondary:disabled{cursor:not-allowed;opacity:.72}.adminPanel{padding:2rem}.muted{color:var(--text-muted)}.adminContent,.denied{gap:.75rem;margin-top:1rem;display:grid}.error{color:#991b1b;margin-top:1rem;font-size:.92rem}@media (width<=900px){.page{grid-template-columns:1fr}.hero,.adminPanel{padding:1.4rem}}
