:root{--ink:#15131b;--paper:#f7f3ea;--yellow:#ffce5c;--pink:#ef7a9b;--blue:#9ed9e1;--purple:#bca8e8;--muted:#696572;--line:rgba(21,19,27,.16);--max:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input{font:inherit}.container{width:min(calc(100% - 48px),var(--max));margin:auto}.site-header{position:sticky;top:0;z-index:10;background:rgba(247,243,234,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;font-size:14px;font-weight:900;letter-spacing:.14em}.brand-mark{display:grid;place-items:center;width:30px;height:30px;background:var(--yellow);font-size:18px;font-weight:900;letter-spacing:-.08em}.brand-accent{color:#d84c7a}.site-nav{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:800}.site-nav a:not(.nav-cta):hover,.footer-links a:hover{opacity:.55}.nav-cta{background:var(--ink);color:var(--paper);padding:12px 16px}.nav-cta span{color:var(--yellow);font-size:17px;margin-left:7px}.menu-toggle{display:none;background:none;border:0}.section{padding:115px 0}.hero{padding:72px 0 92px;background:var(--paper);overflow:hidden}.hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center;min-height:580px}.eyebrow{display:flex;gap:11px;align-items:center;text-transform:uppercase;font-size:11px;letter-spacing:.18em;font-weight:900}.eyebrow-line{width:26px;height:2px;background:var(--pink);display:inline-block}.hero h1,h2{font-size:clamp(54px,7vw,95px);line-height:.92;letter-spacing:-.07em;margin:26px 0;font-weight:900}.hero h1 em,h2 em{font-style:normal;color:#d84c7a}.hero-lede{font-size:19px;line-height:1.5;max-width:500px;color:#53505a}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:34px}.button{border:0;cursor:pointer;display:inline-flex;align-items:center;gap:25px;padding:17px 20px;font-weight:900;font-size:13px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary,.button-dark{background:var(--ink);color:var(--paper)}.button-primary span,.button-dark span{color:var(--yellow);font-size:20px;line-height:0}.button-small{padding:12px 14px;gap:15px;background:var(--ink);color:var(--paper);margin-top:auto;width:max-content}.button-small span{color:var(--yellow);font-size:18px}.button-light{background:var(--paper);color:var(--ink);margin-top:16px}.button-light span{color:#d84c7a}.text-link{font-size:13px;font-weight:900;border-bottom:1px solid var(--ink);padding-bottom:5px}.text-link span{margin-left:9px;color:#d84c7a;font-size:17px}.hero-meta{display:flex;gap:42px;margin-top:84px;border-top:1px solid var(--line);padding-top:19px}.hero-meta div{display:flex;flex-direction:column}.hero-meta strong{font-size:18px}.hero-meta span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-top:4px}.hero-art{height:540px;background:var(--ink);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.hero-art:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 58px,rgba(255,255,255,.04) 59px 60px),repeating-linear-gradient(0deg,transparent 0 58px,rgba(255,255,255,.04) 59px 60px)}.art-orbit{position:absolute;border:1px solid rgba(255,255,255,.23);border-radius:50%;width:410px;aspect-ratio:1;transform:rotate(25deg) skewX(-14deg)}.orbit-two{width:270px;border-color:var(--yellow);transform:rotate(-35deg) skewX(-14deg)}.art-card{width:125px;height:170px;display:grid;place-items:center;font-size:80px;font-weight:900;position:absolute;z-index:1;box-shadow:12px 16px 0 rgba(0,0,0,.25);border:3px solid var(--ink)}.card-a{background:var(--yellow);transform:rotate(-13deg) translate(-80px,-20px);color:var(--ink)}.card-b{background:var(--pink);transform:rotate(11deg) translate(85px,-25px);color:var(--ink)}.card-c{background:var(--blue);transform:rotate(3deg) translate(0,93px);font-size:52px;color:var(--ink)}.art-label,.art-number{position:absolute;z-index:2;color:var(--paper);font-size:10px;letter-spacing:.18em}.art-label{left:27px;bottom:25px}.art-number{right:27px;top:25px;color:var(--yellow);font-size:16px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:54px}.section-heading h2{font-size:clamp(45px,5vw,72px);margin-bottom:0}.section-heading>p{max-width:290px;color:var(--muted);font-size:14px}.games{background:#e9e3f1}.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.game-card{min-height:470px;padding:25px;display:flex;flex-direction:column;position:relative;overflow:hidden}.sudoku-card{background:var(--yellow)}.tic-card{background:var(--pink)}.memory-card{background:var(--blue)}.game-card-top{display:flex;justify-content:space-between;align-items:center}.game-tag{font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:900}.game-arrow{font-size:28px}.game-card h3{font-size:32px;letter-spacing:-.05em;margin:27px 0 7px}.game-card p{font-size:14px;max-width:260px;color:#4c4650}.mini-sudoku{display:grid;grid-template-columns:repeat(3,38px);grid-template-rows:repeat(3,38px);gap:3px;margin:45px 0 0;transform:rotate(-5deg);width:max-content}.mini-sudoku i{background:var(--paper);display:grid;place-items:center;font-style:normal;font-weight:900;font-size:17px}.mini-sudoku i:nth-child(3n){background:#fff0b1}.tic-preview{display:grid;grid-template-columns:repeat(3,42px);grid-auto-rows:42px;gap:3px;margin:45px 0 0;transform:rotate(5deg);width:max-content}.tic-preview b{background:var(--paper);display:grid;place-items:center;font-size:29px;font-weight:500}.tic-preview b:nth-child(odd){background:#ffd3de}.memory-preview{display:grid;grid-template-columns:repeat(4,38px);grid-auto-rows:48px;gap:3px;margin:45px 0 0;transform:rotate(-4deg);width:max-content}.memory-preview b{background:var(--paper);display:grid;place-items:center;font-size:20px}.memory-preview b:nth-child(2),.memory-preview b:nth-child(4),.memory-preview b:nth-child(7){background:#d3f2f3;color:transparent}.dark-section{background:var(--ink);color:var(--paper)}.purple-section{background:var(--purple)}.light-section{background:#dfedf0}.play-layout{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}.play-layout.reverse{grid-template-columns:1fr 1fr}.play-copy h2{color:var(--paper)}.purple-section .play-copy h2,.light-section .play-copy h2{color:var(--ink)}.play-copy>p:not(.eyebrow):not(.game-status):not(.rule-note){font-size:19px;color:#b9b6bf;max-width:480px}.purple-section .play-copy>p:not(.eyebrow):not(.game-status):not(.rule-note),.light-section .play-copy>p:not(.eyebrow):not(.game-status):not(.rule-note){color:#57525f}.game-tools{display:flex;align-items:center;gap:20px;margin-top:30px}.text-button{border:0;border-bottom:1px solid currentColor;background:none;color:var(--paper);cursor:pointer;padding:5px 0;font-size:13px;font-weight:900}.game-status{font-size:13px;color:var(--yellow);font-weight:800;margin-top:20px;min-height:20px}.light-status{color:var(--ink)}.sudoku-board-wrap,.memory-game-wrap,.tic-game-wrap{max-width:440px;margin:auto;width:100%}.difficulty-row,.memory-stats,.tic-score{display:flex;justify-content:space-between;gap:15px;color:var(--yellow);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;margin-bottom:12px}.sudoku-board{display:grid;grid-template-columns:repeat(9,1fr);aspect-ratio:1;border:3px solid var(--paper);background:var(--paper);gap:1px}.sudoku-cell{border:0;background:#e9e5dc;color:var(--ink);display:grid;place-items:center;font-size:clamp(14px,3vw,21px);font-weight:900;cursor:pointer;padding:0}.sudoku-cell:nth-child(3n){border-right:3px solid var(--ink)}.sudoku-cell:nth-child(9n){border-right:0}.sudoku-cell:nth-child(n+19):nth-child(-n+27),.sudoku-cell:nth-child(n+46):nth-child(-n+54){border-bottom:3px solid var(--ink)}.sudoku-cell.given{background:var(--paper);cursor:default}.sudoku-cell.selected{background:var(--yellow)}.sudoku-cell.error{background:var(--pink)}.number-pad{display:grid;grid-template-columns:repeat(9,1fr);gap:5px;margin-top:12px}.number-pad button{border:0;background:#302c37;color:var(--paper);padding:10px 4px;cursor:pointer;font-weight:900}.number-pad button:hover{background:var(--yellow);color:var(--ink)}.tic-score{color:var(--ink);background:rgba(255,255,255,.34);padding:11px 14px;margin-bottom:16px}.tic-score span{display:flex;gap:7px}.tic-score b{font-size:17px}.tic-board{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.tic-board button{aspect-ratio:1;border:0;background:var(--paper);font-size:clamp(40px,8vw,75px);font-weight:900;cursor:pointer;color:var(--ink)}.tic-board button.x{color:#d84c7a}.tic-board button.o{color:#4d91a0}.tic-board button:disabled{cursor:default}.rule-note{font-size:12px;font-weight:800;margin-top:29px}.memory-stats{color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:12px}.memory-board{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.memory-card-button{border:0;background:var(--ink);aspect-ratio:1;cursor:pointer;color:var(--paper);font-size:31px;font-weight:900;transition:transform .2s,background .2s}.memory-card-button:hover{transform:rotate(3deg)}.memory-card-button.flipped,.memory-card-button.matched{background:var(--yellow);color:var(--ink)}.memory-card-button.matched{background:var(--pink)}.about{background:var(--yellow)}.about-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:100px;align-items:center}.about h2{margin-top:25px}.large-copy{font-size:23px;line-height:1.35;max-width:700px}.about-stamp{width:210px;height:210px;border:2px solid var(--ink);border-radius:50%;display:grid;place-items:center;text-align:center;font-size:29px;line-height:.88;font-weight:900;transform:rotate(-12deg)}.about-stamp span{color:#d84c7a}.about-points{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--line);margin-top:51px;padding-top:18px}.about-points span{font-size:11px;color:#d84c7a;font-weight:900}.about-points strong{display:block;margin-top:28px}.about-points p{font-size:12px;color:#5b555c}.faq{background:var(--paper)}.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:100px}.faq .section-intro p:last-child{font-size:14px;color:var(--muted);margin-top:40px}.faq-list details{border-top:1px solid var(--line);padding:22px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;font-size:18px;font-weight:900;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary span{font-size:24px;font-weight:400;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{max-width:650px;color:var(--muted);font-size:14px;margin:16px 35px 0 0}.site-footer{background:var(--ink);color:var(--paper);padding:55px 0 22px}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;border-bottom:1px solid rgba(247,243,234,.2);padding-bottom:60px}.footer-top>p{font-size:19px;font-weight:900;line-height:1.15;margin:0}.footer-links{display:flex;justify-content:flex-end;gap:20px;font-size:12px}.footer-bottom{display:flex;justify-content:space-between;color:#aaa4af;font-size:11px;padding-top:18px}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:10px;top:10px;background:var(--yellow);padding:10px;z-index:20}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.reveal{animation:rise .7s ease both}@keyframes rise{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@media(max-width:800px){.container{width:min(calc(100% - 32px),var(--max))}.header-inner{height:68px}.menu-toggle{display:flex;flex-direction:column;gap:4px;padding:10px}.menu-toggle span:not(.sr-only){width:23px;height:2px;background:var(--ink)}.site-nav{position:absolute;top:68px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:20px 16px;display:none;flex-direction:column;align-items:stretch;gap:0}.site-nav.open{display:flex}.site-nav a{padding:14px 0}.nav-cta{padding:14px!important;text-align:center;margin-top:8px}.hero{padding:47px 0 68px}.hero-inner,.play-layout,.play-layout.reverse,.about-grid,.faq-layout{grid-template-columns:1fr;gap:52px}.hero-inner{min-height:0}.hero h1{font-size:62px}.hero-art{height:370px}.hero-meta{margin-top:55px;gap:15px;justify-content:space-between}.hero-meta strong{font-size:15px}.hero-meta span{font-size:9px}.section{padding:78px 0}.section-heading{display:block}.section-heading>p{margin-top:25px}.game-grid{grid-template-columns:1fr}.game-card{min-height:400px}.play-layout .play-copy{order:0}.play-layout .sudoku-board-wrap,.play-layout .tic-game-wrap,.play-layout .memory-game-wrap{order:1}.play-copy h2{font-size:59px}.about-stamp{margin:auto}.about-points{gap:12px}.about-points strong{font-size:13px}.footer-top{grid-template-columns:1fr 1fr;gap:35px}.footer-links{grid-column:1/-1;justify-content:flex-start;flex-wrap:wrap}.footer-bottom{gap:15px;flex-direction:column}}@media(max-width:480px){.hero h1{font-size:55px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-art{height:310px}.art-card{width:94px;height:135px;font-size:58px}.card-a{transform:rotate(-13deg) translate(-57px,-15px)}.card-b{transform:rotate(11deg) translate(58px,-18px)}.card-c{transform:rotate(3deg) translate(0,74px)}.art-orbit{width:270px}.game-card{min-height:380px}.game-tools{align-items:flex-start;flex-direction:column;gap:17px}.number-pad{gap:3px}.number-pad button{padding:9px 2px}.footer-top{grid-template-columns:1fr}}
/* Game difficulty controls and chess */
.difficulty-control{display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:900;margin:25px 0 18px}.difficulty-control select{border:1px solid currentColor;background:transparent;color:inherit;padding:8px 10px;font-size:12px;font-weight:800;letter-spacing:0;text-transform:none}.dark-control{color:var(--paper)}.dark-control select{background:#24212b;color:var(--paper);border-color:#66616c}.chess-card{background:#c8b7ef}.chess-preview{font-size:30px;line-height:1.12;background:var(--ink);color:var(--paper);width:130px;height:125px;padding:10px 15px;letter-spacing:9px;margin:40px 0 0;transform:rotate(4deg)}.chess-preview span{color:var(--yellow)}.chess-section{background:#c8b7ef}.chess-game-wrap{max-width:500px;width:100%;margin:auto}.chess-topline{display:flex;justify-content:space-between;background:rgba(255,255,255,.38);padding:11px 14px;color:var(--ink);font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:900}.chess-board{display:grid;grid-template-columns:repeat(8,1fr);border:5px solid var(--ink);aspect-ratio:1}.chess-square{border:0;aspect-ratio:1;display:grid;place-items:center;padding:0;font-size:clamp(23px,5vw,45px);line-height:1;cursor:pointer;color:var(--ink);font-family:Georgia,serif}.chess-square.light-square{background:#f2dbb7}.chess-square.dark-square{background:#8c6588}.chess-square.black-piece{color:#211b25;text-shadow:1px 1px 0 #fff}.chess-square.white-piece{color:#fff;text-shadow:1px 1px 0 #17131c,-1px -1px 0 #17131c}.chess-square.selected{outline:4px solid var(--yellow);outline-offset:-4px}.chess-square.legal{box-shadow:inset 0 0 0 7px rgba(255,206,92,.75)}.chess-square.capture{box-shadow:inset 0 0 0 7px rgba(239,122,155,.8)}@media(min-width:1000px){.game-grid{grid-template-columns:repeat(4,1fr)}.game-card{min-height:485px}.game-card h3{font-size:26px}.game-card p{font-size:13px}}@media(max-width:800px){.chess-game-wrap{max-width:500px}.game-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.game-grid{grid-template-columns:1fr}.difficulty-control{align-items:flex-start;flex-direction:column;gap:6px}.chess-square{font-size:27px}}
/* 3D game presentation */
.game-card{transform-style:preserve-3d;box-shadow:0 12px 0 rgba(21,19,27,.12),0 24px 42px rgba(21,19,27,.12);transition:transform .25s,box-shadow .25s}.game-card:hover{transform:translateY(-8px) rotateX(2deg) rotateY(-2deg);box-shadow:0 18px 0 rgba(21,19,27,.14),0 30px 48px rgba(21,19,27,.18)}.game-card:after{content:"";position:absolute;left:14px;right:14px;bottom:-10px;height:10px;background:rgba(21,19,27,.3);transform:skewX(-38deg);filter:blur(2px);z-index:-1}.sudoku-board-wrap,.tic-game-wrap,.memory-game-wrap,.chess-game-wrap{perspective:1100px}.sudoku-board{transform:rotateX(8deg) rotateZ(-1deg);box-shadow:0 16px 0 #09080d,0 25px 28px rgba(0,0,0,.45);transform-style:preserve-3d}.sudoku-cell{transition:transform .12s,background .12s}.sudoku-cell:not(.given):hover{transform:translateZ(8px);background:#fff0b1}.number-pad button{box-shadow:0 4px 0 #09080d;transition:transform .12s,box-shadow .12s}.number-pad button:active{transform:translateY(4px);box-shadow:0 0 0 #09080d}.tic-board{transform:rotateX(9deg) rotateZ(1deg);transform-style:preserve-3d;filter:drop-shadow(0 16px 0 rgba(21,19,27,.18))}.tic-board button{box-shadow:0 7px 0 rgba(21,19,27,.25);transition:transform .14s,box-shadow .14s,background .14s}.tic-board button:hover:not(:disabled){transform:translateZ(10px) translateY(-2px);background:#fff7e8}.tic-board button:active:not(:disabled){transform:translateY(6px);box-shadow:0 1px 0 rgba(21,19,27,.25)}.memory-board{transform:rotateX(8deg) rotateZ(-1deg);transform-style:preserve-3d;filter:drop-shadow(0 17px 0 rgba(21,19,27,.18))}.memory-card-button{box-shadow:0 6px 0 #09080d;transform-style:preserve-3d;transition:transform .3s,background .2s,box-shadow .2s}.memory-card-button:hover{transform:translateZ(10px) rotateY(8deg) rotateX(-5deg);box-shadow:0 10px 0 #09080d}.memory-card-button.flipped{transform:rotateY(180deg);box-shadow:0 3px 0 #09080d}.memory-card-button.matched{transform:translateZ(8px) rotateY(180deg)}.chess-board{transform:rotateX(10deg) rotateZ(-1deg);transform-style:preserve-3d;box-shadow:0 17px 0 #17121e,0 27px 30px rgba(21,19,27,.35)}.chess-square{transition:transform .12s,filter .12s}.chess-square:hover{transform:translateZ(9px);filter:brightness(1.12)}.chess-square.white-piece,.chess-square.black-piece{text-shadow:2px 4px 0 rgba(21,19,27,.33),1px 1px 0 #fff}.chess-square.selected{transform:translateZ(12px);box-shadow:inset 0 0 0 4px var(--yellow),0 8px 0 rgba(21,19,27,.35)}.chess-square.legal{box-shadow:inset 0 0 0 7px rgba(255,206,92,.8),0 5px 0 rgba(21,19,27,.2)}.chess-square.capture{box-shadow:inset 0 0 0 7px rgba(239,122,155,.85),0 5px 0 rgba(21,19,27,.2)}.play-section .button{box-shadow:0 5px 0 rgba(0,0,0,.35)}.play-section .button:active{transform:translateY(4px);box-shadow:0 1px 0 rgba(0,0,0,.35)}@media(max-width:800px){.game-card:hover{transform:translateY(-5px)}.sudoku-board,.tic-board,.memory-board,.chess-board{transform:rotateX(5deg)}}
.memory-card-button.flipped{transform:translateZ(8px) rotateX(0deg)}.memory-card-button.matched{transform:translateZ(10px) rotateX(0deg)}
