:root{--white:#fff;--paper:#fbfbfc;--ink:#0b0d12;--soft:#6a7280;--line:#e7e9ee;--tint:#eef7f4;--accent:#0b7a66;--online:#0b7a66;--offline:#b45309;--display:"Bricolage Grotesque", "Segoe UI", sans-serif;--body:"Figtree", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--ink);font-family:var(--body);background:var(--white);-webkit-font-smoothing:antialiased;margin:0}.page{min-height:100vh;position:relative;overflow:hidden}.wash{pointer-events:none;background:radial-gradient(ellipse 90% 55% at 85% -15%, #0b7a661c, transparent 58%), radial-gradient(ellipse 60% 40% at -10% 30%, #0f172a0a, transparent 55%), linear-gradient(180deg, var(--white) 0%, var(--paper) 100%);position:fixed;inset:0}.wash:before{content:"";background:radial-gradient(circle at 20% 80%,#0b7a660d,#0000 35%);animation:14s ease-in-out infinite alternate drift;position:absolute;inset:0}.frame{z-index:1;width:min(920px,100% - 2.5rem);margin:0 auto;padding:clamp(1.5rem,4vw,2.75rem) 0 clamp(3rem,8vw,5rem);position:relative}.topbar{color:var(--soft);letter-spacing:.01em;justify-content:space-between;align-items:center;margin-bottom:clamp(2.5rem,7vw,4.5rem);font-size:.92rem;font-weight:600;animation:.7s both fade;display:flex}.hero{margin-bottom:clamp(2.25rem,6vw,3.75rem)}.mark{font-family:var(--display);letter-spacing:-.055em;color:var(--ink);margin:0;font-size:clamp(4rem,12vw,7.5rem);font-weight:800;line-height:.86;animation:.9s cubic-bezier(.16,1,.3,1) both brand-in}.headline{max-width:14ch;font-family:var(--display);letter-spacing:-.04em;margin:1.35rem 0 .65rem;font-size:clamp(2rem,4.5vw,3rem);font-weight:700;line-height:1.05;animation:.75s cubic-bezier(.16,1,.3,1) 80ms both fade-up}.sub{max-width:28rem;color:var(--soft);margin:0;font-size:clamp(1.05rem,1.8vw,1.25rem);font-weight:500;line-height:1.5;animation:.75s cubic-bezier(.16,1,.3,1) .16s both fade-up}.rows{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.rows>li{animation:.7s cubic-bezier(.16,1,.3,1) both fade-up}.row{color:inherit;border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:1.25rem;padding:1.55rem .85rem 1.55rem 0;text-decoration:none;transition:background .25s,padding .25s;display:grid}.row:hover,.row:focus-visible{background:linear-gradient(90deg, var(--tint), transparent 70%);outline:none;padding-left:.85rem}.row-meta{letter-spacing:.02em;text-transform:uppercase;color:var(--soft);flex-wrap:wrap;gap:.65rem 1rem;margin-bottom:.45rem;font-size:.82rem;font-weight:600;display:flex}.live.online{color:var(--online)}.live.offline{color:var(--offline)}.row h2{font-family:var(--display);letter-spacing:-.04em;margin:0;font-size:clamp(1.85rem,3.4vw,2.45rem);font-weight:700;line-height:1.05}.row p{max-width:38rem;color:var(--soft);margin:.55rem 0 0;font-size:1.05rem;line-height:1.45}.arrow{font-family:var(--display);color:var(--ink);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:700;transition:transform .28s cubic-bezier(.16,1,.3,1);transform:translate(0)}.row:hover .arrow,.row:focus-visible .arrow{color:var(--accent);transform:translate(8px)}.msg{color:var(--soft);margin:0 0 1rem;font-size:1.05rem}.msg.err{color:#b42318}.unlock{gap:.65rem;max-width:28rem;margin-top:1.75rem;animation:.75s cubic-bezier(.16,1,.3,1) .2s both fade-up;display:flex}.unlock input{border:1px solid var(--line);background:var(--white);min-width:0;color:var(--ink);font:inherit;border-radius:12px;flex:1;padding:.95rem 1.05rem;font-size:1.05rem}.unlock input:focus{border-color:#0b7a6673;outline:none;box-shadow:0 0 0 3px #0b7a661f}.unlock button{background:var(--ink);color:var(--white);font:inherit;cursor:pointer;border:0;border-radius:12px;padding:.95rem 1.25rem;font-weight:700}.unlock button:disabled{opacity:.5;cursor:wait}@keyframes brand-in{0%{opacity:0;letter-spacing:-.02em;transform:translateY(18px)}to{opacity:1;letter-spacing:-.055em;transform:translateY(0)}}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes drift{0%{transform:translate(0,0)}to{transform:translate(-2%,-1.5%)}}@media (width<=640px){.frame{width:min(100% - 1.75rem,920px)}.row{grid-template-columns:1fr;gap:.85rem;padding-right:0}.arrow{justify-self:start}.unlock{flex-direction:column}}
