:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#f5f4ff;background:#101029;font-size:16px}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 90% -8%,#35266c 0,transparent 33%),radial-gradient(circle at -15% 33%,#163c57 0,transparent 30%),#101029;color:#f5f4ff}button{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid #8cfdc5;outline-offset:3px}.site-shell{max-width:1260px;margin:auto;padding:0 34px}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff20}.brand{text-decoration:none;color:#fff;display:flex;align-items:center;gap:11px;font-size:20px;font-weight:900;letter-spacing:-.05em}.brand-mark{width:37px;height:37px;display:grid;place-items:center;border-radius:12px;background:#8cfdc5;color:#111227;font-size:22px}.brand-accent{color:#8cfdc5}.game-count{padding:9px 15px;border:1px solid #ffffff31;border-radius:999px;color:#c9c7dc;font-size:.88rem;font-weight:700}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin:42px 0 27px}.eyebrow{margin:0 0 7px;color:#8cfdc5;letter-spacing:.15em;font-size:.77rem;font-weight:900}.section-heading h1{font-size:clamp(2rem,4vw,3.25rem);line-height:1.04;letter-spacing:-.055em;margin:0}.heading-note{color:#b8b7ca;margin:0 0 5px;font-size:.95rem}.game-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding-bottom:55px}.game-card{appearance:none;border:1px solid #ffffff24;background:#1c1c38;border-radius:24px;overflow:hidden;padding:0;text-align:left;color:inherit;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.game-card:hover{transform:translateY(-5px);border-color:#8cfdc5a1;box-shadow:0 20px 45px #0004}.card-art{height:178px;display:grid;place-items:center;position:relative;overflow:hidden;background:var(--card-bg)}.card-art::before{content:"";width:210px;height:210px;border:1px solid #ffffff45;border-radius:50%;position:absolute;left:-70px;bottom:-115px}.card-art::after{content:"";width:140px;height:140px;border:1px solid #ffffff4f;border-radius:50%;position:absolute;right:-35px;top:-65px}.card-glyph{position:relative;z-index:1;font-size:4.6rem;line-height:1;filter:drop-shadow(0 12px 12px #0005);transform:rotate(-8deg)}.card-copy{padding:18px 20px 20px}.card-category{font-size:.72rem;letter-spacing:.13em;font-weight:900;color:#8cfdc5;text-transform:uppercase;margin:0 0 7px}.card-title{font-size:1.25rem;line-height:1.2;font-weight:800;margin:0 0 5px;letter-spacing:-.025em}.card-description{font-size:.88rem;line-height:1.4;color:#c4c2d5;margin:0}.site-footer{border-top:1px solid #ffffff20;padding:22px 0 30px;color:#908fa7;font-size:.8rem}.game-dialog{border:1px solid #ffffff2e;border-radius:28px;background:#17172f;color:#fff;padding:0;width:min(720px,calc(100vw - 24px));max-height:min(92vh,860px);box-shadow:0 30px 100px #000b}.game-dialog::backdrop{background:#060614df;backdrop-filter:blur(9px)}.dialog-layout{padding:23px 28px 30px;max-height:min(92vh,860px);overflow:auto}.dialog-top{display:flex;justify-content:space-between;gap:10px}.back-button,.reset-button,.pill-button{border:1px solid #ffffff30;background:#ffffff12;color:#fff;border-radius:12px;padding:10px 15px;cursor:pointer;font-weight:750}.back-button:hover,.reset-button:hover,.pill-button:hover{background:#ffffff21}.dialog-heading{display:flex;gap:16px;align-items:center;margin:24px 0 20px}.dialog-icon{width:67px;height:67px;flex:none;border-radius:20px;display:grid;place-items:center;font-size:2.4rem;background:var(--card-bg)}.dialog-heading h2{margin:0 0 3px;font-size:1.9rem;line-height:1.06;letter-spacing:-.04em}.dialog-heading p:last-child{margin:0;color:#bfbdd3;font-size:.94rem;line-height:1.45}.game-root{min-height:300px;display:grid;place-items:center}.game-column{width:100%;display:grid;justify-items:center;gap:16px}.scorebar{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.stat{border:1px solid #ffffff2a;background:#ffffff0c;border-radius:11px;padding:8px 13px;color:#d9d6ee;font-size:.9rem;font-weight:700}.stat strong{color:#8cfdc5}.game-status{min-height:24px;color:#fff;text-align:center;font-size:1rem;font-weight:700}.snake-canvas{width:min(100%,360px);height:auto;aspect-ratio:1;border-radius:16px;border:1px solid #ffffff2e;background:#11192b;touch-action:none}.dpad{display:grid;grid-template-columns:repeat(3,54px);grid-template-rows:repeat(2,45px);gap:5px}.dpad button{border:0;border-radius:10px;background:#32475b;color:#fff;font-size:1.2rem;cursor:pointer;touch-action:manipulation}.dpad button:hover{background:#47657d}.dpad [data-dir="up"]{grid-column:2}.dpad [data-dir="left"]{grid-column:1;grid-row:2}.dpad [data-dir="down"]{grid-column:2;grid-row:2}.dpad [data-dir="right"]{grid-column:3;grid-row:2}.ttt-board{display:grid;grid-template-columns:repeat(3,92px);gap:8px}.ttt-cell{height:92px;border:1px solid #ffffff29;border-radius:15px;background:#26274b;color:#8cfdc5;font-size:3rem;font-weight:900;cursor:pointer}.ttt-cell:hover:not(:disabled){background:#313363}.ttt-cell[data-mark="O"]{color:#ffad78}.ttt-cell:disabled{cursor:default}.notice{font-size:.86rem;color:#a9a8be;text-align:center;margin:0}
@media(max-width:1000px){.game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.site-shell{padding:0 18px}.site-header{height:72px}.section-heading{display:block;margin:30px 0 22px}.heading-note{margin-top:10px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card-art{height:145px}.card-copy{padding:14px}.card-glyph{font-size:3.6rem}.card-title{font-size:1.08rem}.card-description{font-size:.8rem}.game-dialog{width:calc(100vw - 14px);max-height:96vh;border-radius:20px}.dialog-layout{padding:17px;max-height:96vh}.dialog-heading{margin:17px 0}.ttt-board{grid-template-columns:repeat(3,min(24vw,92px))}.ttt-cell{height:min(24vw,92px)}}@media(max-width:390px){.game-count{font-size:.75rem;padding:7px 10px}.brand{font-size:17px}.card-art{height:125px}.card-description{display:none}}@media(prefers-reduced-motion:reduce){.game-card{transition:none}}

.tile-board,.memory-board{display:grid;grid-template-columns:repeat(4,76px);gap:8px;padding:8px;border-radius:17px;background:#101b31;touch-action:none}.number-tile,.memory-card{height:76px;border:0;border-radius:11px;display:grid;place-items:center;font-size:1.5rem;font-weight:900;color:#fff}.number-tile{background:#23344c}.number-tile[data-value="2"]{background:#4b7399}.number-tile[data-value="4"]{background:#388f9b}.number-tile[data-value="8"]{background:#d27e5d}.number-tile[data-value="16"]{background:#d36365}.number-tile[data-value="32"]{background:#bb4c85}.number-tile[data-value="64"]{background:#9e5fa4}.number-tile[data-value="128"],.number-tile[data-value="256"],.number-tile[data-value="512"],.number-tile[data-value="1024"],.number-tile[data-value="2048"]{background:#e0b653;color:#1b1c39;font-size:1.2rem}.memory-card{background:#4e4d9e;color:#fff;cursor:pointer;font-size:2rem}.memory-card:hover:not(:disabled){background:#6664be}.memory-card.is-open,.memory-card.is-matched{background:#ddd5ef;color:#1c1d3e}.memory-card.is-matched{background:#8cfdc5}.move-pad{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.move-pad button{width:46px;height:43px;border:0;border-radius:10px;background:#314660;color:#fff;font-size:1.15rem;cursor:pointer}.move-pad button:hover{background:#496681}.target-board{display:grid;grid-template-columns:repeat(3,95px);gap:9px}.target-cell{height:95px;border:1px solid #ffffff28;border-radius:17px;background:#292847;color:#ffd36e;font-size:2.6rem;cursor:pointer;touch-action:manipulation}.target-cell:hover{background:#393858}.target-cell:disabled{cursor:default}.start-button{border:0;border-radius:13px;background:#8cfdc5;color:#111227;font-weight:900;padding:13px 24px;cursor:pointer}.start-button:hover{background:#b4ffe0}.reaction-panel{width:min(100%,490px);min-height:235px;border:0;border-radius:22px;background:#39455d;color:#fff;display:grid;place-items:center;padding:25px;text-align:center;cursor:pointer;font-size:1.3rem;font-weight:900;line-height:1.4;touch-action:manipulation}.reaction-panel.waiting{background:#bd645f}.reaction-panel.ready{background:#45bc89;color:#101b2a}.reaction-panel.result{background:#405c90}.math-question{font-size:clamp(2.5rem,7vw,4rem);font-weight:900;line-height:1.1;margin:14px 0;color:#8cfdc5}.answer-grid{display:grid;grid-template-columns:repeat(2,minmax(110px,160px));gap:10px}.answer-button{min-height:64px;border:1px solid #ffffff2c;border-radius:14px;background:#2a3657;color:#fff;font-size:1.4rem;font-weight:800;cursor:pointer}.answer-button:hover{background:#3e5178}.answer-button:disabled{cursor:default}.pattern-board{display:grid;grid-template-columns:repeat(2,130px);gap:12px}.pattern-pad{height:130px;border:0;border-radius:22px;cursor:pointer;opacity:.65;transition:opacity .12s,transform .12s;touch-action:manipulation}.pattern-pad[data-color="0"]{background:#59c9a1}.pattern-pad[data-color="1"]{background:#eea56e}.pattern-pad[data-color="2"]{background:#668fea}.pattern-pad[data-color="3"]{background:#de7bad}.pattern-pad.lit{opacity:1;transform:scale(1.045);box-shadow:0 0 25px #ffffff75}.pattern-pad:disabled{cursor:default}.pattern-pad:not(:disabled):hover{opacity:.9}
@media(max-width:700px){.tile-board,.memory-board{grid-template-columns:repeat(4,min(18vw,76px));gap:6px}.number-tile,.memory-card{height:min(18vw,76px)}.target-board{grid-template-columns:repeat(3,min(25vw,95px));gap:7px}.target-cell{height:min(25vw,95px)}.pattern-board{grid-template-columns:repeat(2,min(31vw,130px))}.pattern-pad{height:min(31vw,130px)}}
