:root{color-scheme:light dark;--bg:#f7f9fe;--surface:#fff;--ink:#111c37;--muted:#475569;--line:#dbe3f3;--accent:#5633d4;--soft:#eef0ff;--hero:#101426;--hero-ink:#f7f9ff;--hero-muted:#c7d2e8;--gold:#ffe27a;--focus:#2368ff}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#101426;--surface:#1b2137;--ink:#fff;--muted:#c7d2e8;--line:#384562;--accent:#c3b4ff;--soft:#27314d;--focus:#ffe27a}}
:root[data-theme=dark]{--bg:#101426;--surface:#1b2137;--ink:#fff;--muted:#c7d2e8;--line:#384562;--accent:#c3b4ff;--soft:#27314d;--focus:#ffe27a}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1rem}body{margin:0;background:var(--bg);color:var(--ink);font:1rem/1.65 "Segoe UI",Arial,sans-serif}a{color:var(--accent);text-underline-offset:.22em}a:hover{text-decoration-thickness:2px}a,button,summary{touch-action:manipulation}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:5px;border-radius:4px}img,svg{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.14;letter-spacing:-.035em}h1{font-size:clamp(2.6rem,5.4vw,4.6rem);font-weight:800}h2{font-size:clamp(1.9rem,3.3vw,2.8rem)}h3{font-size:1.35rem}p{margin-bottom:1.1rem}.wrap{width:min(1160px,calc(100% - 3rem));margin:auto}.skip{position:fixed;top:-100px;left:1rem;z-index:10;background:var(--surface);padding:1rem}.skip:focus{top:1rem}.preview{padding:.4rem 1rem;text-align:center;font-size:.78rem;font-weight:600;background:var(--soft);color:var(--muted)}.header{display:flex;align-items:center;justify-content:space-between;gap:1.4rem;padding:1.25rem 0}.brand{display:inline-flex;flex:none;min-height:44px;align-items:center}.brand img{width:147px;height:49px;object-fit:contain}.header nav{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem 1.5rem}.header nav a{color:var(--ink);text-decoration:none;font-size:.9rem;font-weight:600;padding:.6rem 0}.theme{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:.45rem .85rem;border-radius:999px;font-size:.82rem;min-height:44px}.hero{background:radial-gradient(ellipse at 90% 10%,#342462 0,transparent 60%),var(--hero);color:var(--hero-ink);border-radius:30px;display:grid;grid-template-columns:1.25fr 1fr;align-items:center;position:relative;padding:4.5rem 3.8rem;isolation:isolate;overflow:hidden}.hero-copy{position:relative;z-index:1}.eyebrow{font-size:.74rem;letter-spacing:.16em;font-weight:700;margin-bottom:1.2rem}.hero .eyebrow{color:var(--gold)}.hero h1 span{display:block}.hero h1{margin-bottom:1.4rem}.hero p{color:var(--hero-muted);max-width:31rem;font-size:1.075rem}.pill{display:inline-flex;border:1px solid #615574;color:#eee4ff;border-radius:999px;padding:.35rem .8rem;font-size:.76rem;font-weight:600;margin-bottom:1.25rem}.cta{display:inline-flex;align-items:center;justify-content:center;gap:1rem;min-height:50px;padding:.8rem 1.3rem;border-radius:12px;background:var(--gold);color:#18203b;font-weight:700;text-decoration:none;margin:.5rem 0 1.2rem}.hero .note{font-size:.78rem;margin:0;max-width:29rem}.mascot{width:100%;max-height:360px;object-fit:contain;filter:drop-shadow(0 18px 25px #0005);position:relative;z-index:0}.section{padding-top:5.8rem}.section .eyebrow{color:var(--accent);margin-bottom:.8rem}.section-intro{display:flex;gap:2rem;justify-content:space-between;align-items:flex-end;margin-bottom:2rem}.section-intro h2{max-width:24rem;margin-bottom:0}.section-intro p{max-width:28rem;color:var(--muted);margin-bottom:0}.games{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}.game{border:1px solid var(--line);background:var(--surface);border-radius:20px;overflow:hidden}.art{height:170px;display:flex;align-items:center;justify-content:center;position:relative;background:#eeeaff;color:#392667}.art svg{width:134px;height:134px}.art.g2048{background:#fff1da}.art.nonogram{background:#e6f5ed}.art.xox{background:#e6efff}.art.sokoban{background:#f6e9dc}.art.memory{background:#f9e5f2}.game-copy{padding:1.4rem 1.5rem}.game .tag{font-size:.72rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.075em;display:block;margin-bottom:.5rem}.game h3{margin-bottom:.65rem}.game p{font-size:.92rem;color:var(--muted);margin:0}.help{display:grid;grid-template-columns:.85fr 1.15fr;gap:4rem;padding-bottom:5rem}.help p{color:var(--muted)}.mail{font-size:1.25rem;font-weight:700;overflow-wrap:anywhere}.faq details{border-top:1px solid var(--line);padding:1.05rem 0}.faq details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:600;padding:.25rem .25rem .25rem 0}.faq p{font-size:.92rem;margin:1rem 0 .3rem}.footer{border-top:1px solid var(--line);padding:2rem 0 2.5rem;display:flex;gap:1.5rem;justify-content:space-between;align-items:flex-start}.footer p{max-width:31rem;color:var(--muted);font-size:.8rem;margin:0}.footer nav{display:flex;gap:1.4rem;flex-wrap:wrap;font-size:.82rem}.legal-header{padding:3rem 0 1.7rem;max-width:850px}.legal-header h1{font-size:clamp(2.3rem,5vw,3.7rem);margin:1rem 0 1.3rem}.legal-header .eyebrow{color:var(--accent);margin:0}.draft-notice{background:var(--soft);border-left:4px solid var(--accent);border-radius:0 12px 12px 0;padding:1.4rem;font-size:.95rem;color:var(--muted)}.legal-layout{display:grid;grid-template-columns:220px minmax(0,760px);gap:3.5rem;padding:1.5rem 0 5rem}.toc{font-size:.84rem}.toc strong{display:block;margin-bottom:1rem}.toc ol{margin:0;padding:0;list-style:none}.toc li{margin-bottom:.7rem}.toc a{display:inline-block;padding:.2rem 0}.legal-copy section{margin-bottom:2.8rem;scroll-margin-top:1.5rem}.legal-copy h2{font-size:1.55rem;line-height:1.3}.legal-copy p{color:var(--muted)}.legal-copy ul{padding-left:1.3rem}.legal-copy li{margin:.5rem 0;overflow-wrap:anywhere}.version{font-size:.78rem;color:var(--muted);margin-top:1.2rem}.legal-header>a{font-size:.9rem}.no-js-note{font-size:.8rem}
@media(max-width:850px){.hero{padding:3rem 2.5rem;grid-template-columns:1.35fr .8fr}.hero h1{font-size:3.1rem}.hero p{font-size:1rem}.mascot{max-height:300px}.games{grid-template-columns:repeat(2,minmax(0,1fr))}.help{gap:2rem}.legal-layout{grid-template-columns:170px minmax(0,1fr);gap:2rem}.header nav{gap:.5rem 1rem}.header nav a{font-size:.8rem}.theme{font-size:.75rem}}
@media(max-width:600px){.wrap{width:calc(100% - 2rem)}.header{flex-wrap:wrap;gap:.25rem;padding:.8rem 0 1.1rem}.brand img{width:120px;height:40px}.header nav{justify-content:space-between;width:100%;gap:.4rem .75rem}.header nav a{min-height:44px;display:inline-flex;align-items:center;font-size:.8rem}.theme{padding:.4rem .65rem}.hero{border-radius:22px;display:flex;flex-direction:column;padding:2.5rem 1.6rem 1.2rem;align-items:stretch}.hero h1{font-size:2.75rem}.hero p{font-size:1rem}.hero .eyebrow{font-size:.62rem;letter-spacing:.12em}.hero .note{font-size:.74rem}.mascot{height:225px;margin-top:.75rem;max-height:none}.section{padding-top:3.7rem}.section-intro{display:block}.section-intro h2{margin-bottom:1rem}.section-intro p{font-size:.94rem}.games{grid-template-columns:minmax(0,1fr);gap:1.1rem}.game{display:grid;grid-template-columns:115px minmax(0,1fr)}.art{height:100%;min-height:175px}.art svg{width:98px;height:98px}.game-copy{padding:1.1rem}.game h3{font-size:1.2rem}.game p{font-size:.84rem}.game .tag{font-size:.62rem}.help{display:block;padding-bottom:3rem}.faq{margin-top:2rem}.footer{flex-direction:column;gap:1rem}.legal-header{padding-top:1.5rem}.legal-layout{display:block;padding-top:.75rem}.toc{border:1px solid var(--line);border-radius:12px;padding:1.2rem;margin-bottom:2rem}.legal-copy h2{font-size:1.4rem}.legal-copy p{font-size:.95rem}.draft-notice{padding:1rem}.legal-header h1{font-size:2.4rem}}
@media(max-width:360px){.hero{padding:2rem 1.2rem 1rem}.hero h1{font-size:2.35rem}.game{grid-template-columns:90px minmax(0,1fr)}.art svg{width:80px}.game-copy{padding:1rem}.header nav{gap:.25rem .5rem}.theme{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.header nav,.preview,.theme,.hero .mascot,.toc{display:none}.wrap{width:100%}.legal-layout{display:block}.legal-copy p{color:#111}.footer{display:block}a{color:#111}}
