:root{--slag: #12100e;--ash: #1e1b17;--panel: #2a261f;--rail: #3d372e;--bone: #f0ebe3;--bone-dim: #b8b0a4;--heat: #e8923a;--ember: #c45c1a;--coolant: #5ec8c8;--brass: #c9a66b;--focus: #5ec8c8;--font-display: "Oxanium", system-ui, sans-serif;--font-body: "Barlow", system-ui, sans-serif;--ease-out: cubic-bezier(.22, 1, .36, 1);--max: 1120px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{margin:0;min-height:100vh;min-height:100dvh;font-family:var(--font-body);font-size:1.0625rem;line-height:1.5;color:var(--bone);background:var(--slag);overflow-x:hidden}.atmosphere{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 90% 55% at 50% 115%,rgba(232,146,58,.28) 0%,transparent 55%),radial-gradient(ellipse 70% 40% at 85% 0%,rgba(94,200,200,.08) 0%,transparent 50%),radial-gradient(ellipse 50% 35% at 10% 20%,rgba(196,92,26,.12) 0%,transparent 45%),linear-gradient(180deg,#181511 0%,var(--slag) 42%,#0e0c0a 100%)}.atmosphere:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.45'/%3E%3C/svg%3E");mix-blend-mode:soft-light}.shell{position:relative;z-index:1;max-width:var(--max);margin:0 auto;padding:clamp(1.25rem,4vw,2.5rem) clamp(1.15rem,4vw,2rem) 3.5rem}.masthead{padding-top:clamp(1.5rem,6vh,3.5rem);padding-bottom:clamp(1.25rem,4vh,2rem);animation:rise .9s var(--ease-out) both}@keyframes rise{0%{opacity:0;transform:translateY(18px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}.brand{margin:0;font-family:var(--font-display);font-weight:700;font-size:clamp(2.75rem,11vw,5.5rem);line-height:.92;letter-spacing:-.03em;text-transform:uppercase;color:var(--bone);text-decoration:none}.brand span{display:block;color:var(--heat)}a.brand:hover{color:var(--bone)}.tagline{margin:1.1rem 0 0;max-width:32rem;font-size:clamp(1.05rem,2.4vw,1.25rem);font-weight:400;color:var(--bone-dim)}.nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:clamp(1.75rem,4vh,2.5rem) 0 0;padding:.4rem;background:var(--ash);border:1px solid var(--rail);border-radius:4px;box-shadow:0 12px 40px #00000059;animation:rise .9s var(--ease-out) .12s both;list-style:none}.nav a{flex:1 1 auto;min-width:6.5rem;padding:.85rem 1.15rem;font-family:var(--font-display);font-size:.95rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-align:center;text-decoration:none;color:var(--bone-dim);background:transparent;border-radius:2px;transition:color .25s var(--ease-out),background .25s var(--ease-out),box-shadow .25s var(--ease-out)}.nav a:hover{color:var(--bone);background:#f0ebe30a}.nav a[aria-current=page]{color:var(--slag);background:linear-gradient(180deg,#f0a85a 0%,var(--heat) 55%,var(--ember) 100%);box-shadow:0 0 0 1px #e8923a80,0 6px 20px #c45c1a59}.nav a:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.page{margin-top:clamp(1.75rem,4vh,2.75rem);animation:rise .9s var(--ease-out) .22s both}.page-lead{margin:0 0 1.5rem;max-width:38rem;color:var(--bone-dim);font-size:1.05rem}.page-lead strong{color:var(--brass);font-weight:600}.subnav{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1.35rem;padding:.3rem;background:var(--ash);border:1px solid var(--rail);border-radius:4px;list-style:none}.subnav button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;margin:0;cursor:pointer;flex:1 1 auto;min-width:8rem;padding:.7rem 1rem;font-family:var(--font-display);font-size:.82rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--bone-dim);background:transparent;border-radius:2px;transition:color .25s var(--ease-out),background .25s var(--ease-out),box-shadow .25s var(--ease-out)}.subnav button:hover{color:var(--bone);background:#f0ebe30a}.subnav button[aria-selected=true]{color:var(--slag);background:linear-gradient(180deg,#7ecfd0 0%,var(--coolant) 55%,#3aa8a8 100%);box-shadow:0 0 0 1px #5ec8c873,0 6px 18px #5ec8c833}.subnav button:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.math-panel[hidden]{display:none}.home-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}.home-actions a{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.35rem;font-family:var(--font-display);font-size:.9rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:filter .2s ease,transform .2s ease,border-color .2s ease}.home-actions a.primary{color:var(--slag);background:linear-gradient(180deg,#f0a85a 0%,var(--heat) 55%,var(--ember) 100%);box-shadow:0 6px 18px #c45c1a4d}.home-actions a.secondary{color:var(--bone);background:transparent;border:1px solid var(--rail)}.home-actions a:hover{filter:brightness(1.06);transform:translateY(-1px)}.home-actions a.secondary:hover{border-color:var(--coolant)}.home-actions a:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.games-grid{display:grid;grid-template-columns:1fr;gap:clamp(1.15rem,3vw,1.65rem)}@media(min-width:560px){.games-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:920px){.games-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.game{display:flex;flex-direction:column;text-decoration:none;color:inherit}.game-viewport{position:relative;aspect-ratio:16 / 9;overflow:hidden;background:#0a0908;border:2px solid var(--rail);border-radius:2px;box-shadow:inset 0 0 0 1px #c9a66b1f,0 10px 28px #0006;transition:border-color .3s var(--ease-out),box-shadow .3s var(--ease-out),transform .3s var(--ease-out)}.game-viewport img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-out),filter .3s var(--ease-out)}.game-viewport:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 55%,rgba(18,16,14,.55) 100%);pointer-events:none}.game:hover .game-viewport,.game:focus-visible .game-viewport{border-color:var(--heat);box-shadow:inset 0 0 0 1px #e8923a59,0 0 28px #e8923a38,0 14px 32px #00000073;transform:translateY(-3px)}.game:hover .game-viewport img,.game:focus-visible .game-viewport img{transform:scale(1.04)}.game:focus-visible{outline:none}.game:focus-visible .game-viewport{outline:2px solid var(--focus);outline-offset:3px}.game-name{margin:.7rem 0 0;font-family:var(--font-display);font-size:.92rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--bone)}.game-hint{margin:.2rem 0 0;font-size:.85rem;color:var(--coolant);opacity:0;transform:translateY(4px);transition:opacity .25s var(--ease-out),transform .25s var(--ease-out)}.game:hover .game-hint,.game:focus-visible .game-hint{opacity:1;transform:none}.math-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:640px){.math-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.math-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.35rem 1.4rem;text-decoration:none;color:inherit;background:var(--ash);border:1px solid var(--rail);border-radius:2px;transition:border-color .25s var(--ease-out),background .25s var(--ease-out),transform .25s var(--ease-out)}.math-link:hover,.math-link:focus-visible{border-color:var(--coolant);background:#23201a;transform:translateY(-2px)}.math-link:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.math-title{margin:0;font-family:var(--font-display);font-size:clamp(1.15rem,2.5vw,1.45rem);font-weight:600;letter-spacing:-.01em;line-height:1.2}.math-title .accent{color:var(--heat)}.math-meta{margin:.35rem 0 0;font-size:.88rem;color:var(--bone-dim)}.math-arrow{flex-shrink:0;width:2rem;height:2rem;display:grid;place-items:center;border:1px solid var(--rail);border-radius:2px;color:var(--coolant);font-size:1.1rem;transition:border-color .25s var(--ease-out),background .25s var(--ease-out)}.math-link:hover .math-arrow,.math-link:focus-visible .math-arrow{border-color:var(--coolant);background:#5ec8c814}.contact-aside{padding:.25rem 0}.contact-aside h1{margin:0;font-family:var(--font-display);font-size:clamp(1.5rem,3.5vw,2rem);font-weight:600;letter-spacing:-.02em}.contact-aside p{margin:.85rem 0 0;color:var(--bone-dim);max-width:28rem}.contact-aside a{color:var(--coolant);text-underline-offset:3px}.contact-aside a:hover{color:var(--bone)}.contact-channels{list-style:none;margin:1.25rem 0 0;padding:0;display:grid;gap:.75rem}.contact-channel{display:inline-flex;align-items:center;gap:.7rem;max-width:100%;color:var(--coolant);text-decoration:none;line-height:1.35}.contact-channel:hover{color:var(--bone)}.contact-channel span{overflow-wrap:anywhere}.contact-channel-icon{flex-shrink:0;width:1.15rem;height:1.15rem}.footer{margin-top:clamp(2.5rem,6vh,4rem);padding-top:1.25rem;border-top:1px solid var(--rail);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;font-size:.8rem;color:var(--bone-dim);letter-spacing:.04em}.footer a{color:var(--brass);text-decoration:none}.footer a:hover{color:var(--heat)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
