:root{--radius-xl:1rem;--radius-2xl:1.25rem;--ink:#FAFAF9;--muted:#E7E5E4;--line:#2A1B1F}
:root[data-theme=warm]{--bg0:#130A0F;--bg1:#1A0F14;--card:rgba(32,22,26,.72);--accentA:#F59E0B;--accentB:#F43F5E;--accentC:#0EA5E9}
:root[data-theme=midnight]{--bg0:#0A0F1E;--bg1:#0C1430;--card:rgba(8,18,36,.72);--accentA:#60A5FA;--accentB:#EF4444;--accentC:#93C5FD;--muted:#C7D2FE;--line:#0A0F1E}
html,body{height:100%}body{background:radial-gradient(1200px 800px at 25% 10%,rgba(255,255,255,.07),transparent 60%),var(--bg0);color:var(--ink);margin:0;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif}
.soft-card{background:var(--card);border:1px solid var(--line);backdrop-filter:blur(6px)}.round-xl{border-radius:var(--radius-xl)}.round-2xl{border-radius:var(--radius-2xl)}.shadow-soft{box-shadow:0 20px 60px rgba(0,0,0,.45)}
.header-blur{backdrop-filter:blur(12px);background:color-mix(in oklab,var(--bg1) 80%,transparent);border-bottom:1px solid var(--line)}.footer-blur{backdrop-filter:blur(8px);background:color-mix(in oklab,var(--bg1) 80%,transparent);border-top:1px solid var(--line)}
a.link{text-decoration:underline;font-weight:600;color:var(--accentC)}.nav-btn[data-active=true]{background:linear-gradient(135deg, color-mix(in oklab,var(--accentA) 60%,transparent), color-mix(in oklab,var(--accentB) 45%,transparent));color:#fff;border:1px solid color-mix(in oklab,var(--accentA) 50%,transparent)}.nav-btn[data-active=false]{background:rgba(255,255,255,.06);color:var(--ink);border:1px solid var(--line)}
input,textarea,select{background:rgba(255,255,255,.06);color:var(--ink);border:1px solid var(--line)}button{transition:transform .2s,box-shadow .2s}button:hover{transform:translateY(-1px)}.btn-cta{background:linear-gradient(135deg,var(--accentA),var(--accentB));color:var(--bg1);font-weight:800;border:none}.btn-ghost{background:rgba(255,255,255,.08);border:1px solid var(--line);color:var(--ink)}.card-accent{border:1px solid color-mix(in oklab,var(--accentA) 50%,transparent)}
#tabs,#top-nav{background:rgba(255,255,255,.06);border:1px solid var(--line)}.lounge-seat{position:relative;display:flex;align-items:center;justify-content:center;min-height:200px}.lounge-seat .occupant{position:absolute;pointer-events:none;opacity:.98;z-index:5}
hr.divider{border-color:var(--line);opacity:.6}
@media (prefers-reduced-motion:no-preference){.twinkle{animation:tw 6s ease-in-out infinite alternate}@keyframes tw{0%{opacity:.6;transform:translateY(0)}100%{opacity:1;transform:translateY(2px)}}}
.focus-ring:focus{outline:2px solid var(--accentA);outline-offset:2px;border-radius:8px}

html[data-theme=midnight] body{background:radial-gradient(1000px 680px at 20% 8%, rgba(147,197,253,.10), transparent 55%),radial-gradient(900px 700px at 80% 70%, rgba(239,68,68,.08), transparent 60%),var(--bg0);}