@font-face{font-family:Nunito;src:url('/brand/nunito-regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Nunito;src:url('/brand/nunito-bold.ttf') format('truetype');font-weight:700;font-display:swap}@font-face{font-family:Nunito;src:url('/brand/nunito-black.ttf') format('truetype');font-weight:900;font-display:swap}
:root{--bg:#151818;--surface:#212424;--ink:#f2f7f7;--muted:#bec7c8;--accent:#9eced1;--paper:#ebeded;--paper-ink:#202424;--pad:32px;--body:18px;--small:15px;--lead:28px;--head:clamp(36px,4.2vw,64px);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Nunito,Arial,sans-serif;font-size:var(--body);line-height:1.55}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:0}img{display:block;width:100%;height:auto}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:900;line-height:1.05;letter-spacing:-.035em;text-wrap:balance}h2{font-size:var(--head)}h3{font-size:40px}h4{font-size:var(--body);letter-spacing:0}p{text-wrap:pretty}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:6px}button:disabled{cursor:default;opacity:.65}[hidden]{display:none!important}.frame{padding-inline:var(--pad);margin-inline:auto;width:100%}.section{margin-top:160px}.header{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--bg);position:relative;z-index:10}.logo{flex-shrink:0}.logo img{width:130px;height:auto}.header nav{display:flex;gap:32px}.header nav a{padding:12px 0;font-size:var(--small)}.header-tools{display:flex;align-items:center;gap:20px}.language-switch{display:flex;gap:6px}.language-link{font-size:var(--small);padding:10px 8px;color:var(--muted)}.language-link.active{color:var(--ink);font-weight:900}.menu{display:none;color:var(--ink);background:transparent;padding:10px 0}.skip{position:fixed;left:var(--pad);top:16px;background:var(--paper);color:var(--paper-ink);padding:12px;z-index:100}.skip:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0}
.hero{height:calc(100svh - 88px);min-height:720px;max-height:1060px;position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;padding:12px var(--pad) 24px}.hero-world{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% 48%;z-index:-3;filter:brightness(.55)}.hero-shade{position:absolute;inset:0;z-index:-2;background:rgba(0,0,0,.18)}.hero-name{font-size:clamp(120px,19vw,310px);letter-spacing:-.065em;line-height:1.1;align-self:start;display:block}.hero-games{font-weight:900;justify-self:end;font-size:clamp(92px,13vw,210px);letter-spacing:-.065em;line-height:1;grid-row:3;text-align:right}.hero-summary{grid-row:2;align-self:center;max-width:430px;padding-block:28px}.hero-summary p{font-size:20px;margin-bottom:30px;max-width:33ch}.hero-summary .text-link{display:table;margin-top:20px}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;padding:17px 26px;min-height:56px;font-size:var(--body);font-weight:700;border-radius:0;transition:transform 180ms var(--ease),opacity 180ms;line-height:1.25}.button.primary{background:var(--accent);color:var(--paper-ink)}.button.light{background:var(--paper);color:var(--paper-ink)}.button.ink{background:var(--paper-ink);color:var(--ink)}.button:hover{transform:translateY(-3px)}.button:active{transform:translateY(1px)}.text-link{font-weight:700;text-decoration:underline;text-underline-offset:6px}.text-link:hover{opacity:.75}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;margin-bottom:60px}.section-heading h2{max-width:14ch}.section-heading>p{max-width:440px;align-self:end}.game-feature{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:64px;align-items:center;margin-top:130px}.game-feature:first-of-type{margin-top:0}.game-feature.reverse{grid-template-columns:minmax(280px,1fr) minmax(0,1.65fr)}.game-feature.reverse .game-visual{order:2}.game-visual{display:block;overflow:hidden;background:var(--surface)}.game-visual img{aspect-ratio:auto;object-fit:contain;height:auto}.game-story{padding:20px 0;max-width:470px}.game-story h3{margin-bottom:28px}.game-story>p{margin-bottom:30px}.game-story .platform{font-size:var(--small);color:var(--muted);margin:20px 0 0}.install{margin-top:32px;padding:24px;background:var(--surface)}.install p{font-size:var(--small);margin-top:12px}.install ol{padding-left:20px;margin:18px 0 0}.install li{padding-left:8px;margin-top:16px}.install .button{padding:13px 20px;min-height:48px}.mini-fields{display:grid;grid-template-columns:1fr 1fr;gap:0}.mini{padding:50px;min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:40px}.memory-teaser{background:var(--surface)}.math-teaser{background:var(--paper);color:var(--paper-ink)}.mini-copy h3{font-size:40px}.mini-copy p{max-width:38ch;margin:22px 0 28px}.mini-demo{min-height:230px;display:flex;align-items:center;justify-content:center;flex-direction:column}.demo-memory{display:grid;grid-template-columns:repeat(3,80px);gap:12px;transform:rotate(-6deg)}.demo-memory span{display:grid;place-items:center;width:80px;height:92px;background:var(--accent);color:var(--paper-ink);font-size:42px;font-weight:900}.demo-memory span:nth-child(2n){background:#343838;color:var(--ink)}.demo-equation{font-size:64px;font-weight:900;letter-spacing:-.04em}.demo-answers{display:flex;gap:16px;margin-top:22px}.demo-answers span{padding:14px 35px;background:#d2d9da;font-size:38px;font-weight:900}.demo-answers span:first-child{background:var(--accent)}.rank-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.rank-panel{background:var(--surface);padding:28px;min-width:0}.rank-panel h3{font-size:var(--lead);margin-bottom:24px}.rank-panel .text-button{margin-top:22px}.text-button{background:none;color:inherit;padding:10px 0;font-weight:700;text-decoration:underline;text-underline-offset:5px}.score-table{width:100%;border-collapse:collapse;font-size:var(--small);font-variant-numeric:tabular-nums}.score-table th,.score-table td{padding:12px 5px;text-align:left;border-bottom:1px solid #4a5151}.score-table th{font-weight:700}.score-table td:last-child,.score-table th:last-child{text-align:right}.your-score{background:#313e3f}.empty-scores{padding:20px 0}.studio{padding-top:80px;padding-bottom:80px;background:var(--paper);color:var(--paper-ink)}.studio-body{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;margin-top:55px;align-items:center}.studio-body>img{aspect-ratio:1;object-fit:cover;object-position:42% center}.studio-body .statement{font-size:32px;line-height:1.3;margin-bottom:30px;max-width:30ch}.studio-body p{max-width:52ch}.studio-body #values{margin-top:42px}.studio-body h3{font-size:var(--lead);margin-bottom:16px}.footer{margin-top:150px;overflow:hidden}.footer-top{display:flex;justify-content:space-between;gap:60px}.footer-top>div:first-child{max-width:740px}.footer-top p{margin-top:28px;max-width:45ch}.contact-email{display:inline-block;font-size:clamp(24px,4vw,60px);letter-spacing:-.04em;font-weight:700;margin-top:30px}.socials{display:grid;gap:10px;min-width:180px;align-content:start}.socials h3{font-size:var(--body);margin-bottom:10px;letter-spacing:0}.socials a{padding-block:3px}.footer-bottom{display:flex;justify-content:space-between;gap:25px;margin-top:80px;font-size:var(--small)}.footer-bottom>div{display:flex;gap:24px;flex-wrap:wrap}.footer-word{font-size:29vw;line-height:1.05;letter-spacing:-.075em;font-weight:900;margin:22px 0 -7vw;transform-origin:bottom left}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
/* Existing live game interface. Server contract and score calculations are unchanged. */
dialog{background:var(--paper);color:var(--paper-ink);border:0;padding:36px;max-width:560px;width:calc(100% - 32px);max-height:calc(100svh - 32px);box-shadow:0 20px 80px #0008;overflow:auto}dialog::backdrop{background:#090b0bd9}dialog .close{display:block;margin:0 0 18px auto;background:#d2d9da;color:var(--paper-ink);width:44px;height:44px;font-size:20px}dialog h2{font-size:32px;margin-bottom:20px}dialog p{font-size:16px}dialog .score{display:flex;gap:12px 22px;flex-wrap:wrap;margin:24px 0;font-size:15px;font-variant-numeric:tabular-nums}dialog .button{background:var(--paper-ink);color:var(--ink);font-size:16px}#memory-board{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.memory-card{height:72px;background:#d2d9da;color:var(--paper-ink);font-size:32px;font-weight:900}.memory-card.flipped{background:var(--accent)}.memory-card.matched{background:#b1d5bf;opacity:1}#game-status,#gate-status{margin:22px 0;min-height:48px}#gate-question{font-size:36px;font-weight:900;line-height:1.2;margin:25px 0}#gate-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.answer-gate{min-height:70px;font-size:28px;background:#d2d9da;font-weight:900}.answer-gate.correct{background:#a4ceb5;opacity:1}.answer-gate.wrong{background:#e7b5bd;opacity:1}#gate-progress{width:100%;height:8px;accent-color:#4c9ba0}#gate-restart{display:block;margin-top:22px}.rank-consent{font-size:13px!important;margin:24px 0}.rank-result{padding:20px;background:#d9e3e4;margin:20px 0}.rank-result h3{font-size:24px;margin-bottom:15px}.rank-result p{margin:12px 0}.rank-result .score-table{font-size:13px}.rank-result .score-table th,.rank-result .score-table td{border-color:#acbbbc}.rank-result .your-score{background:#b8d8da}.privacy-page{max-width:1000px;padding-block:80px}.privacy-page h1{font-size:var(--head);margin:35px 0}.privacy-page p{margin:20px 0}.privacy-page section{margin-top:45px}.privacy-page h2{font-size:var(--lead)}.legal .footer-word{font-size:22vw}.legal .footer{background:var(--surface);padding-top:70px}
@media(min-width:1100px) and (prefers-reduced-motion:no-preference){@supports(animation-timeline:scroll()){.hero-name{animation:monument linear both;animation-timeline:scroll();animation-range:0 850px;transform-origin:left top}@keyframes monument{to{transform:scale(.94)}}.footer-word{animation:footer-arrive linear both;animation-timeline:view();animation-range:entry 0% entry 100%}@keyframes footer-arrive{from{transform:scale(.94)}to{transform:scale(1)}}}}
@media(prefers-reduced-motion:no-preference){.hero-world{animation:world-arrive 1.1s var(--ease) both}@keyframes world-arrive{from{transform:scale(1.045)}to{transform:scale(1)}}.hero-summary{animation:copy-arrive .7s var(--ease) both}@keyframes copy-arrive{from{transform:translateY(18px);opacity:.5}to{transform:translateY(0);opacity:1}}}
@media(max-width:1000px){:root{--pad:24px;--body:17px;--lead:26px}.header nav{gap:18px}.header{gap:18px}.game-feature,.game-feature.reverse{grid-template-columns:1fr;gap:28px;margin-top:85px}.game-story{max-width:620px;padding:0}.install ol{display:flex;align-items:center;gap:35px;flex-wrap:wrap}.game-feature.reverse .game-visual{order:0}.game-story h3{font-size:32px}.install{padding:20px}.mini{padding:32px}.mini-copy h3{font-size:32px}.studio-body{gap:40px}.studio-body .statement{font-size:28px}.section-heading>p{max-width:330px}.hero{min-height:690px}.hero-name{font-size:23vw}.hero-games{font-size:17vw}}
@media(max-width:700px){:root{--pad:20px;--body:17px;--lead:24px;--head:38px}.header{min-height:76px;gap:14px}.logo img{width:106px}.header-tools{gap:12px}.menu{display:block;font-size:15px}.header nav{display:none;position:absolute;top:76px;left:0;right:0;padding:20px;background:var(--surface)}.header nav.open{display:grid;gap:8px}.header nav a{font-size:18px}.language-link{padding:10px 5px;font-size:13px}.hero{height:calc(100svh - 76px);min-height:630px;max-height:900px;padding-top:20px}.hero-world{object-position:52% 50%;filter:brightness(.48)}.hero-name{font-size:29vw}.hero-games{font-size:26vw}.hero-summary{max-width:290px;align-self:center}.hero-summary p{font-size:18px;margin-bottom:24px}.hero-summary .text-link{font-size:15px}.section{margin-top:100px}.section-heading{display:block;margin-bottom:38px}.section-heading>p{max-width:40ch;margin-top:24px}.game-feature,.game-feature.reverse{grid-template-columns:1fr;gap:28px;margin-top:85px}.game-story{max-width:none;padding:0}.game-story h3{font-size:32px;margin-bottom:20px}.game-story>p{margin-bottom:24px;max-width:45ch}.install{margin-top:25px}.install ol{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.install li{margin-top:8px}.mini-fields{grid-template-columns:1fr}.mini{padding:30px;gap:32px}.mini-demo{min-height:215px}.mini-copy h3{font-size:32px}.demo-memory{grid-template-columns:repeat(3,66px)}.demo-memory span{width:66px;height:78px}.demo-equation{font-size:52px}.rank-grid{grid-template-columns:1fr;gap:20px}.rank-panel{padding:22px}.rank-panel h3{font-size:24px}.studio{padding-block:50px}.studio-body{grid-template-columns:1fr;gap:35px;margin-top:35px}.studio-body>img{aspect-ratio:4/3}.studio-body .statement{font-size:24px}.studio-body h3{font-size:24px}.footer{margin-top:100px}.footer-top{display:block}.footer-top p{margin-top:24px}.contact-email{font-size:32px;letter-spacing:-.04em}.socials{margin-top:45px;grid-template-columns:1fr 1fr;gap:12px}.socials h3{grid-column:1/-1}.footer-bottom{display:block;margin-top:45px;font-size:13px}.footer-bottom>div{margin-top:20px;gap:16px}.footer-word{font-size:29vw;margin-top:35px}.privacy-page{padding-block:50px}.privacy-page h1{font-size:36px}dialog{padding:24px}dialog h2{font-size:28px}#gate-question{font-size:28px}.memory-card{height:60px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

@keyframes picture-arrive{from{transform:scale(.965);opacity:.7}to{transform:scale(1);opacity:1}}@keyframes element-arrive{from{transform:translateY(22px);opacity:.55}to{transform:translateY(0);opacity:1}}
