:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}html,body,#root{height:100%}body{margin:0;min-width:320px}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{height:100%}.page{position:relative;min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:2rem;overflow:hidden}.vfx-bg{position:absolute;top:-25%;right:-25%;bottom:-25%;left:-25%;background:radial-gradient(60% 60% at 20% 20%,rgba(99,102,241,.35),transparent 60%),radial-gradient(60% 60% at 80% 30%,rgba(236,72,153,.35),transparent 60%),radial-gradient(60% 60% at 50% 80%,rgba(34,197,94,.25),transparent 60%);filter:blur(40px) saturate(120%);animation:float 18s ease-in-out infinite alternate;pointer-events:none}@keyframes float{0%{transform:translateY(-2%) scale(1)}50%{transform:translateY(2%) scale(1.05)}to{transform:translateY(-2%) scale(1)}}.card{position:relative;border-radius:16px;padding:clamp(1.25rem,2vw,2rem);background:color-mix(in oklab,canvas 70%,white 10%);-webkit-backdrop-filter:blur(10px) saturate(120%);backdrop-filter:blur(10px) saturate(120%);border:1px solid color-mix(in oklab,canvasText 15%,transparent);box-shadow:0 10px 30px #00000026}.header{text-align:center}.logo{font-size:clamp(2.2rem,5vw,3rem)}.title{margin:.25rem 0 0;font-size:clamp(1.6rem,4.5vw,2.4rem)}.tagline{margin:.25rem 0 .5rem;opacity:.8}.contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1.25rem 0 .5rem}.button{display:grid;align-items:center;grid-template-columns:auto 1fr;gap:.5rem;padding:.9rem 1rem;border-radius:12px;background:color-mix(in oklab,canvas 82%,white 8%);border:1px solid color-mix(in oklab,canvasText 12%,transparent);transition:transform .12s ease,background .2s ease,border-color .2s ease}.button:hover{transform:translateY(-2px);border-color:color-mix(in oklab,canvasText 25%,transparent)}.button strong{font-weight:700}.button span{opacity:.8}.classes{margin-top:1rem}.classes h2{font-size:1.15rem;opacity:.9;margin:.5rem 0 .25rem}.classes ul{list-style:none;padding:0;margin:.5rem 0 0;display:grid;gap:.5rem}.class-item{display:grid;grid-template-columns:.9fr .9fr 1.2fr;gap:.5rem;padding:.75rem .9rem;border-radius:12px;background:color-mix(in oklab,canvas 86%,white 8%);border:1px solid color-mix(in oklab,canvasText 10%,transparent)}.class-day{font-weight:700}.class-time{opacity:.9}.class-location{opacity:.85}.footer{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem;opacity:.9}.footer a{text-decoration:underline}.note{text-align:center;margin-top:.75rem;opacity:.7;font-size:.95rem}@media (max-width: 640px){.contact,.class-item{grid-template-columns:1fr}}@media (min-width: 641px){.card{width:min(85vw)}}@media (min-width: 901px){.card{width:min(60vw)}}
