﻿:root{--ink:#172236;--muted:#697386;--paper:#f7f8fa;--white:#fff;--purple:#6254d9;--line:#e7e9ee;--danger:#c84b58}/* Ad-ready layout v24 */
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.page-container{width:min(960px,calc(100% - 32px));margin:auto}.page-header{padding:18px 0;border-bottom:1px solid var(--line);background:#fff}.page-nav{display:flex;align-items:center;gap:18px}.page-brand{display:flex;align-items:center;gap:9px;font-weight:900}.page-brand span{width:35px;height:35px;display:grid;place-items:center;border-radius:10px 10px 10px 4px;color:#fff;background:var(--purple);font-size:11px}.page-nav nav{margin-left:auto;display:flex;gap:18px;color:#697386;font-size:10px;font-weight:800}.page-nav nav a.active{color:var(--purple)}.page-hero{padding:65px 0 35px}.page-kicker{color:var(--purple);font-size:8px;text-transform:uppercase;letter-spacing:.14em;font-weight:900}.page-hero h1{margin:10px 0;font-size:38px;letter-spacing:-.05em}.page-hero p{max-width:630px;color:var(--muted);font-size:11px;line-height:1.8}.panel{margin-bottom:22px;padding:24px;border:1px solid var(--line);border-radius:13px;background:#fff}.panel h2{margin:0 0 15px;font-size:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid label{display:grid;gap:6px;color:#687386;font-size:8px;font-weight:800}.form-grid .full{grid-column:1/-1}input,textarea,select{width:100%;padding:11px;border:1px solid var(--line);border-radius:8px;outline:0;background:#fff}input:focus,textarea:focus,select:focus{border-color:var(--purple)}.primary,.secondary,.danger{display:inline-block;padding:11px 15px;border:0;border-radius:8px;color:#fff;background:var(--purple);font-size:9px;font-weight:850;cursor:pointer}.secondary{color:var(--purple);border:1px solid var(--purple);background:#fff}.danger{background:var(--danger)}.form-actions{margin-top:15px;display:flex;gap:8px}.message{margin-top:10px;min-height:15px;color:#138273;font-size:9px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.plus-card{color:#fff;background:linear-gradient(135deg,#1d2740,#493daf)}.plus-card p{color:#c9c9e5;font-size:10px;line-height:1.7}.plan-badge{display:inline-block;padding:5px 8px;border-radius:8px;color:#fff;background:var(--purple);font-size:8px;font-weight:900}.news-grid{display:grid;gap:12px}.news-card{width:100%;padding:18px;border:1px solid var(--line);border-radius:11px;background:#fff;text-align:left;cursor:pointer}.news-card span{color:var(--purple);font-size:8px;font-weight:850}.news-card h2{margin:8px 0;font-size:15px}.news-card p{margin:0;color:var(--muted);font-size:9px}.prose{color:#4f5a6d;font-size:11px;line-height:1.9}.prose h2{color:var(--ink);font-size:19px}.lesson-filters{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:13px}.lesson-filters label{display:grid;gap:6px;color:#687386;font-size:8px;font-weight:800}.lesson-page-grid,.resource-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.lesson-page-card,.resource-page-card{padding:18px;border:1px solid var(--line);border-radius:13px;background:#fff}.lesson-page-card.locked,.resource-page-card.locked{border-color:#ded7ff;background:linear-gradient(180deg,#fff,#fbfaff)}.lesson-page-card span,.resource-page-card span{color:var(--purple);font-size:7px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.lesson-page-card h2,.resource-page-card h2{margin:9px 0 7px;font-size:15px}.lesson-page-card p,.resource-page-card p{min-height:38px;margin:0;color:var(--muted);font-size:9px;line-height:1.7}.resource-page-card small{display:block;margin-top:10px;color:#9199a7;font-size:8px}.lesson-page-card button,.resource-page-card button{margin-top:14px;padding:0;border:0;background:none;color:var(--purple);font-size:9px;font-weight:900;cursor:pointer}.page-empty{padding:18px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);text-align:center}.ad-box{height:130px;margin:16px 0;display:grid;place-items:center;border:1px dashed #c9c3f8;border-radius:12px;color:var(--purple);background:#f5f3ff;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.page-footer{margin-top:45px;padding:25px 0;border-top:1px solid var(--line);color:#8a92a0;font-size:8px}.modal{width:min(720px,calc(100% - 24px));padding:0;border:0;border-radius:13px}.modal::backdrop{background:rgba(20,27,46,.65)}.modal-head{padding:20px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.modal-head h2{margin:4px 0 0}.modal-head button{border:0;background:none;font-size:20px}.modal-body{max-height:65vh;overflow:auto;padding:24px}.modal-body sup,.modal-body sub{font-size:.75em}.modal-body .math-root{display:inline-flex;align-items:flex-start;gap:2px}.modal-body .math-root>span{padding:0 3px;border-top:1px solid currentColor}.modal-body:after{content:"";display:block;clear:both}.modal-body img{max-width:100%;height:auto}.test-page-dialog{width:min(820px,calc(100% - 24px))}.test-page-form{max-height:70vh;overflow:auto;padding:22px}.test-page-question{margin-bottom:16px;padding:15px;border:1px solid var(--line);border-radius:10px;background:#fff}.question-title{display:grid;grid-template-columns:auto 1fr;gap:7px;color:#4f5a6d;font-size:11px;line-height:1.7}.test-page-options{display:grid;gap:7px;margin-top:11px}.test-page-options label{padding:9px;border:1px solid var(--line);border-radius:7px;color:#657083;font-size:9px}.test-page-options input{width:auto}.result-score{margin:18px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.result-score div{padding:15px;border-radius:10px;background:var(--paper);text-align:center}.result-score strong{display:block;font-size:24px}.result-score span{color:#8b93a1;font-size:8px}@media(max-width:650px){.page-nav{align-items:flex-start;flex-wrap:wrap}.page-nav nav{width:100%;margin-left:0;display:flex;flex-wrap:wrap;gap:10px}.profile-grid,.form-grid,.lesson-filters,.lesson-page-grid,.resource-page-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.page-hero h1{font-size:31px}}
.modal-body a{color:var(--purple);text-decoration:underline}.modal-body h1,.modal-body h2,.modal-body h3,.modal-body h4,.modal-body h5{color:var(--ink)}.modal-body .color-block{margin:13px 0;padding:13px 15px;border-radius:10px;border:1px solid #dedcf6;background:#f5f3ff}.modal-body .color-block.blue{border-color:#c9dcff;background:#eef5ff}.modal-body .color-block.green{border-color:#c9e9e3;background:#ecfaf7}.modal-body .color-block.orange{border-color:#ffdfb8;background:#fff5e8}.modal-body .color-block.red{border-color:#f3ccd2;background:#fff0f2}.modal-body .color-block.yellow{border-color:#f5e6a8;background:#fffbea}.modal-body .color-block.teal{border-color:#bce7df;background:#e9fbf8}.modal-body .color-block.gray{border-color:#d9dee8;background:#f4f6f9}.modal-body .color-block.custom{border-color:var(--block-border,#dedcf6);background:var(--block-bg,#f5f3ff)}
body:has(dialog[open]){overflow:hidden}.lesson-frame{width:100%;height:calc(100vh - 185px);min-height:0;border:0;border-radius:14px;background:#fff}.modal:has(.lesson-frame){width:min(1180px,calc(100% - 24px));max-height:calc(100vh - 24px);overflow:hidden}.modal-body:has(.lesson-frame){max-height:none;overflow:hidden;padding:10px;background:#fffcf5}
.page-ad{margin:-12px 0 22px}.ad-slot{min-height:96px;display:grid;place-items:center;border:1px dashed #d8d4ff;border-radius:14px;color:#7c729f;background:linear-gradient(135deg,#fbfaff,#f7fbfb);text-align:center}.ad-slot-note{font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.cookie-consent{position:fixed;left:18px;right:18px;bottom:18px;z-index:90;max-width:920px;margin:auto;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #dedce9;border-radius:16px;background:#fff;box-shadow:0 18px 50px rgba(28,34,66,.16)}.cookie-consent strong{display:block;margin-bottom:4px;font-size:12px}.cookie-consent p{margin:0;color:#697386;font-size:9px;line-height:1.55}.cookie-actions{display:flex;gap:8px;flex:0 0 auto}.cookie-actions button{padding:9px 13px;border:1px solid var(--purple);border-radius:8px;color:var(--purple);background:#fff;font-size:9px;font-weight:850}.cookie-actions [data-cookie-accept]{color:#fff;background:var(--purple)}@media(max-width:650px){.cookie-consent{display:block}.cookie-actions{margin-top:12px}}
.game-hero{padding-bottom:22px}.game-layout{display:grid;grid-template-columns:280px 1fr;gap:22px;align-items:start}.game-list-card,.sudoku-card{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 18px 45px rgba(23,34,54,.07)}.game-list-card{position:sticky;top:18px;padding:22px;background:linear-gradient(155deg,#fff,#f6f4ff)}.game-list-card h2{margin:10px 0 8px;font-size:22px;letter-spacing:-.04em}.game-list-card p,.game-list-card li{color:var(--muted);font-size:10px;line-height:1.7}.game-list-card ul{margin:16px 0 0;padding-left:18px}.sudoku-card{padding:22px}.sudoku-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.sudoku-head h2{margin:8px 0 0;font-size:30px;letter-spacing:-.05em}.difficulty-picker{display:grid;gap:6px;min-width:150px;color:#687386;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.sudoku-status{margin:18px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.sudoku-status div{padding:13px;border-radius:13px;background:#f7f8fb;text-align:center}.sudoku-status strong{display:block;font-size:20px}.sudoku-status span{color:#8b93a1;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.sudoku-board{width:min(100%,540px);aspect-ratio:1;margin:0 auto;display:grid;grid-template-columns:repeat(9,1fr);border:3px solid #1d2740;border-radius:14px;overflow:hidden;background:#1d2740}.sudoku-cell{min-width:0;min-height:0;border:1px solid #d9deea;background:#fff;color:#26344f;font-size:clamp(18px,4.8vw,34px);font-weight:900;cursor:pointer}.sudoku-cell:nth-child(3n){border-right:3px solid #1d2740}.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 #1d2740}.sudoku-cell.given{background:#f2f4fb;color:#5b50c8}.sudoku-cell.selected{outline:3px solid #ffb020;outline-offset:-3px;background:#fff7df}.sudoku-cell.same-number:not(.selected){background:#eef5ff}.sudoku-cell.wrong{background:#fff0f2;color:#c84b58}.number-pad{width:min(100%,540px);margin:18px auto 0;display:grid;grid-template-columns:repeat(9,1fr);gap:7px}.number-pad button{padding:12px 0;border:1px solid #d8d4ff;border-radius:11px;color:var(--purple);background:#f7f5ff;font-size:18px;font-weight:900;cursor:pointer}.number-pad button:hover{background:#eeeaff}.game-actions{width:min(100%,540px);margin:16px auto 0;display:flex;gap:8px;flex-wrap:wrap}.game-message{width:min(100%,540px);margin:14px auto 0;padding:12px 14px;border-radius:12px;color:#59657a;background:#f7f8fb;font-size:10px;line-height:1.6}.game-message.warn{color:#9c5b00;background:#fff7df}.game-message.success{color:#138273;background:#ebfaf6}@media(max-width:820px){.game-layout{grid-template-columns:1fr}.game-list-card{position:static}.sudoku-head{display:block}.difficulty-picker{margin-top:14px}.sudoku-card{padding:16px}.number-pad{grid-template-columns:repeat(5,1fr)}}
.game-library{margin:-8px 0 22px;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.game-choice{padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:#fff;text-align:left;cursor:pointer;box-shadow:0 12px 30px rgba(23,34,54,.05)}.game-choice.active{border-color:#c9c3ff;background:linear-gradient(145deg,#fff,#f5f3ff)}.game-choice span{color:var(--purple);font-size:8px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.game-choice strong{display:block;margin:7px 0 5px;font-size:20px;letter-spacing:-.04em}.game-choice small{color:var(--muted);font-size:10px}.game-panel{display:none;grid-template-columns:280px 1fr;gap:22px;align-items:start}.game-panel.active{display:grid}.game-list-card,.sudoku-card,.maze-card,.blocks-card,.math-card,.merge-card{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 18px 45px rgba(23,34,54,.07)}.maze-card,.blocks-card,.math-card,.merge-card{padding:22px}.maze-info{background:linear-gradient(155deg,#fff,#effaf7)}.blocks-info{background:linear-gradient(155deg,#fff,#fff4ec)}.math-info{background:linear-gradient(155deg,#fff,#eef5ff)}.merge-info{background:linear-gradient(155deg,#fff,#f4f1ff)}.maze-level-badge{padding:10px 13px;border-radius:12px;color:#138273;background:#ebfaf6;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.maze-level-badge strong{font-size:19px}.maze-board{--maze-cols:9;width:min(100%,560px);aspect-ratio:1;margin:0 auto;display:grid;grid-template-columns:repeat(var(--maze-cols),1fr);border:4px solid #1d2740;border-radius:16px;overflow:hidden;background:#fff;outline:0}.maze-cell{position:relative;min-width:0;min-height:0;background:#fbfcff;border-color:#1d2740}.maze-cell.wall-top{border-top:2px solid #1d2740}.maze-cell.wall-right{border-right:2px solid #1d2740}.maze-cell.wall-bottom{border-bottom:2px solid #1d2740}.maze-cell.wall-left{border-left:2px solid #1d2740}.maze-cell.maze-trail{background:#eef5ff}.maze-cell.maze-start{background:#fff7df}.maze-cell.maze-exit{background:#ebfaf6}.maze-cell.maze-exit:after{content:"";position:absolute;inset:28%;border-radius:50%;background:#18a67d;box-shadow:0 0 0 4px rgba(24,166,125,.14)}.maze-cell.maze-player:before{content:"";position:absolute;inset:18%;z-index:2;border-radius:50%;background:linear-gradient(135deg,#6254d9,#2fa7dc);box-shadow:0 5px 14px rgba(38,52,79,.25)}.maze-controls{width:min(270px,100%);margin:18px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.maze-controls button{height:48px;border:1px solid #d8d4ff;border-radius:14px;color:#fff;background:linear-gradient(135deg,#6254d9,#493daf);font-size:24px;font-weight:900;cursor:pointer}.maze-status{width:min(100%,560px);margin-left:auto;margin-right:auto}@media(max-width:1100px){.game-library{grid-template-columns:repeat(3,1fr)}}@media(max-width:820px){.game-library,.game-panel{grid-template-columns:1fr}.maze-card,.blocks-card,.math-card,.merge-card{padding:16px}.maze-board{border-width:3px}.maze-cell.wall-top{border-top-width:1px}.maze-cell.wall-right{border-right-width:1px}.maze-cell.wall-bottom{border-bottom-width:1px}.maze-cell.wall-left{border-left-width:1px}}
.maze-cell.maze-player:before{animation:mazeStep .16s ease-out}.maze-board.maze-complete{animation:mazeWinBoard 1.1s ease both}.maze-board.maze-complete .maze-cell.maze-exit:after{animation:mazeExitPulse .65s ease-in-out 2}.maze-board.maze-complete .maze-cell.maze-player:before{animation:mazeWinPlayer .75s ease both}@keyframes mazeStep{0%{transform:scale(.55);opacity:.65}100%{transform:scale(1);opacity:1}}@keyframes mazeExitPulse{0%,100%{transform:scale(1);box-shadow:0 0 0 4px rgba(24,166,125,.14)}50%{transform:scale(1.65);box-shadow:0 0 0 12px rgba(24,166,125,.18)}}@keyframes mazeWinPlayer{0%{transform:scale(1)}45%{transform:scale(1.65);filter:brightness(1.2)}100%{transform:scale(1);filter:brightness(1)}}@keyframes mazeWinBoard{0%{box-shadow:0 0 0 rgba(24,166,125,0)}40%{box-shadow:0 0 0 10px rgba(24,166,125,.16),0 24px 55px rgba(24,166,125,.2)}100%{box-shadow:0 0 0 rgba(24,166,125,0)}}
.blocks-play-area{display:grid;grid-template-columns:minmax(280px,520px) 160px;gap:18px;align-items:start;justify-content:center}.blocks-board{width:min(100%,520px);aspect-ratio:1;display:grid;grid-template-columns:repeat(10,1fr);gap:4px;padding:8px;border-radius:18px;background:#1d2740;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.blocks-cell{min-width:0;min-height:0;border:0;border-radius:8px;background:#f4f6fb;cursor:pointer;box-shadow:inset 0 0 0 1px #e5e8f0}.blocks-cell:hover{filter:brightness(.97)}.piece-rack{display:grid;gap:12px}.piece-card{padding:12px;border:1px solid #e7e9ee;border-radius:15px;background:#fff;cursor:pointer;box-shadow:0 10px 24px rgba(23,34,54,.06)}.piece-card.selected{border-color:#ffb020;background:#fff8e8;transform:translateY(-2px)}.piece-preview{--piece-cols:3;display:grid;grid-template-columns:repeat(var(--piece-cols),24px);gap:4px;justify-content:center}.piece-preview i{width:24px;height:24px;border-radius:7px;background:transparent}.blocks-cell.block-purple,.piece-preview .block-purple{background:linear-gradient(135deg,#8b63e8,#5b50c8)}.blocks-cell.block-blue,.piece-preview .block-blue{background:linear-gradient(135deg,#45b8ff,#2c8fdb)}.blocks-cell.block-green,.piece-preview .block-green{background:linear-gradient(135deg,#35d49b,#18a67d)}.blocks-cell.block-orange,.piece-preview .block-orange{background:linear-gradient(135deg,#ffb14a,#f28a2e)}.blocks-cell.block-pink,.piece-preview .block-pink{background:linear-gradient(135deg,#ff7fa8,#e94f82)}.blocks-clearing{animation:blockClear .24s ease both}.blocks-status{width:min(100%,680px);margin-left:auto;margin-right:auto}@keyframes blockClear{0%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.18);filter:brightness(1.35)}100%{transform:scale(.2);opacity:.15}}@media(max-width:760px){.blocks-play-area{grid-template-columns:1fr}.piece-rack{grid-template-columns:repeat(3,1fr)}.piece-preview{grid-template-columns:repeat(var(--piece-cols),18px)}.piece-preview i{width:18px;height:18px;border-radius:5px}.blocks-board{gap:3px;padding:6px}.blocks-cell{border-radius:6px}}
.blocks-card{position:relative;overflow:hidden}.game-help-popover{position:absolute;inset:0;z-index:8;display:grid;place-items:center;padding:18px;background:rgba(29,39,64,.5);backdrop-filter:blur(4px)}.game-help-popover[hidden]{display:none}.game-help-popover>div{position:relative;width:min(420px,100%);padding:24px;border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(23,34,54,.26)}.game-help-popover h3{margin:8px 0 10px;font-size:24px;letter-spacing:-.04em}.game-help-popover p{color:var(--muted);font-size:11px;line-height:1.7}.help-close{position:absolute;right:13px;top:10px;border:0;background:none;color:#8b93a1;font-size:22px;cursor:pointer}
.blocks-cell.blocks-preview-ok{outline:3px solid rgba(255,176,32,.9);outline-offset:-3px;transform:scale(.94);opacity:.72}.blocks-cell.blocks-preview-bad{outline:3px solid rgba(200,75,88,.8);outline-offset:-3px;background:#fff0f2}.blocks-cell.preview-purple{background:linear-gradient(135deg,#8b63e8,#5b50c8)}.blocks-cell.preview-blue{background:linear-gradient(135deg,#45b8ff,#2c8fdb)}.blocks-cell.preview-green{background:linear-gradient(135deg,#35d49b,#18a67d)}.blocks-cell.preview-orange{background:linear-gradient(135deg,#ffb14a,#f28a2e)}.blocks-cell.preview-pink{background:linear-gradient(135deg,#ff7fa8,#e94f82)}.blocks-clearing{position:relative;animation:blockClearBetter .42s ease both}.blocks-clearing:after{content:"";position:absolute;inset:-6px;border-radius:12px;background:radial-gradient(circle,rgba(255,255,255,.95),rgba(255,255,255,0) 62%);animation:blockSpark .42s ease both}@keyframes blockClearBetter{0%{transform:scale(1) rotate(0);filter:brightness(1)}40%{transform:scale(1.22) rotate(4deg);filter:brightness(1.45)}100%{transform:scale(.12) rotate(12deg);opacity:0}}@keyframes blockSpark{0%{transform:scale(.3);opacity:0}45%{transform:scale(1.25);opacity:1}100%{transform:scale(1.9);opacity:0}}
.math-question-box{width:min(100%,560px);margin:20px auto;padding:28px;border-radius:22px;color:#fff;background:linear-gradient(135deg,#1d2740,#6254d9);text-align:center;box-shadow:0 20px 45px rgba(23,34,54,.16)}.math-question-box span{display:block;margin-bottom:8px;color:#cfcaff;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.math-question-box strong{display:block;font-size:clamp(36px,8vw,66px);letter-spacing:-.05em}.math-options{width:min(100%,560px);margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.math-options button{padding:18px;border:1px solid #d8d4ff;border-radius:16px;color:#493daf;background:#f7f5ff;font-size:26px;font-weight:950;cursor:pointer}.math-options button:hover{background:#eeeaff;transform:translateY(-2px)}.math-status{width:min(100%,560px);margin-left:auto;margin-right:auto}.merge-board{width:min(100%,430px);aspect-ratio:1;margin:18px auto 0;padding:12px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;border-radius:22px;background:#26344f;outline:0}.merge-tile{display:grid;place-items:center;border-radius:15px;background:#eef1f7;color:#26344f;font-size:clamp(22px,6vw,42px);font-weight:950;box-shadow:inset 0 -5px 0 rgba(0,0,0,.08);transition:.15s}.merge-empty{background:rgba(255,255,255,.13);box-shadow:none}.merge-2{background:#f4f6fb}.merge-4{background:#e9f5ff}.merge-8{color:#fff;background:#45b8ff}.merge-16{color:#fff;background:#35d49b}.merge-32{color:#fff;background:#ffb14a}.merge-64{color:#fff;background:#ff7fa8}.merge-128{color:#fff;background:#8b63e8;font-size:clamp(20px,5vw,36px)}.merge-256{color:#fff;background:#5b50c8;font-size:clamp(20px,5vw,36px)}.merge-512{color:#fff;background:#18a67d;font-size:clamp(20px,5vw,36px)}.merge-1024,.merge-2048{color:#fff;background:#1d2740;font-size:clamp(17px,4vw,30px)}.merge-controls{margin-top:16px}.merge-status{width:min(100%,430px);margin-left:auto;margin-right:auto}@media(max-width:620px){.math-options{grid-template-columns:1fr}.merge-board{gap:7px;padding:8px}.merge-tile{border-radius:10px}}

.merge-tile.merge-appear{animation:mergePop .24s ease both}.merge-board.merge-board-merge .merge-tile:not(.merge-empty){animation:mergeMergePop .28s ease both}.merge-board.merge-move-left .merge-tile:not(.merge-empty){animation:mergeNudgeLeft .22s ease both}.merge-board.merge-move-right .merge-tile:not(.merge-empty){animation:mergeNudgeRight .22s ease both}.merge-board.merge-move-up .merge-tile:not(.merge-empty){animation:mergeNudgeUp .22s ease both}.merge-board.merge-move-down .merge-tile:not(.merge-empty){animation:mergeNudgeDown .22s ease both}@keyframes mergePop{0%{opacity:.65;transform:scale(.78)}65%{opacity:1;transform:scale(1.08)}100%{opacity:1;transform:scale(1)}}@keyframes mergeMergePop{0%{transform:scale(.82);filter:brightness(1)}55%{transform:scale(1.14);filter:brightness(1.18)}100%{transform:scale(1);filter:brightness(1)}}@keyframes mergeNudgeLeft{0%{transform:translateX(18px) scale(.96)}100%{transform:translateX(0) scale(1)}}@keyframes mergeNudgeRight{0%{transform:translateX(-18px) scale(.96)}100%{transform:translateX(0) scale(1)}}@keyframes mergeNudgeUp{0%{transform:translateY(18px) scale(.96)}100%{transform:translateY(0) scale(1)}}@keyframes mergeNudgeDown{0%{transform:translateY(-18px) scale(.96)}100%{transform:translateY(0) scale(1)}}

.merge-board{position:relative;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr)}.merge-cell-bg{border-radius:15px;background:rgba(255,255,255,.13)}.merge-tile{position:absolute;z-index:2;transition:left .18s ease,top .18s ease,opacity .16s ease,transform .16s ease;will-change:left,top,transform}.merge-tile.merge-new{animation:mergeNewTile .18s ease both}.merge-tile.merge-merged{animation:mergeOnlyMerged .26s ease both}.merge-tile.merge-removing{opacity:.25;transform:scale(.82)}.merge-tile.merge-appear,.merge-board.merge-board-merge .merge-tile:not(.merge-empty),.merge-board.merge-move-left .merge-tile:not(.merge-empty),.merge-board.merge-move-right .merge-tile:not(.merge-empty),.merge-board.merge-move-up .merge-tile:not(.merge-empty),.merge-board.merge-move-down .merge-tile:not(.merge-empty){animation:none}@keyframes mergeNewTile{0%{opacity:0;transform:scale(.72)}100%{opacity:1;transform:scale(1)}}@keyframes mergeOnlyMerged{0%{transform:scale(1)}50%{transform:scale(1.14);filter:brightness(1.16)}100%{transform:scale(1);filter:brightness(1)}}

.message p{margin:0 0 8px}.message.error{color:#c84b58}.inline-action{display:inline-block;margin-top:4px;padding:9px 12px;border-radius:8px;color:#fff;background:var(--purple);font-size:9px;font-weight:850}.contact-intro h2{margin-bottom:14px}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.info-grid div{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fbfcff}.info-grid strong{display:block;margin-bottom:6px;font-size:12px}.info-grid span{display:block;color:var(--muted);font-size:9px;line-height:1.7}.consent-line input{width:auto;margin-right:6px}@media(max-width:650px){.info-grid{grid-template-columns:1fr}}

.slice-info{color:#fff;background:radial-gradient(circle at 30% 0,rgba(98,84,217,.45),transparent 42%),linear-gradient(155deg,#151737,#202647)}.slice-info p,.slice-info li{color:#d5dbff}.slice-card{position:relative;padding:22px;border:1px solid #243d68;border-radius:22px;background:radial-gradient(circle at 90% 10%,rgba(46,196,182,.18),transparent 28%),linear-gradient(145deg,#111a32,#172b45);box-shadow:0 22px 55px rgba(11,22,42,.22);overflow:hidden}.slice-card .sudoku-head h2{color:#fff}.slice-card .page-kicker{color:#61f2df}.slice-status{width:min(100%,820px);margin-left:auto;margin-right:auto}.slice-status div{background:rgba(255,255,255,.08);color:#fff}.slice-status span{color:#b8c9e8}.slice-board{--slice-cols:42;--slice-rows:28;width:min(100%,820px);aspect-ratio:42/28;margin:0 auto;display:grid;grid-template-columns:repeat(var(--slice-cols),1fr);grid-template-rows:repeat(var(--slice-rows),1fr);border:8px solid #10243d;border-radius:28px;overflow:hidden;background:#071224;outline:0;box-shadow:0 0 0 7px rgba(46,196,182,.55),0 18px 45px rgba(0,0,0,.35),inset 0 0 0 2px rgba(85,244,220,.22)}.slice-cell{position:relative;min-width:0;min-height:0;background:#08203d;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}.slice-cell:nth-child(3n){background:#0a2343}.slice-cell.claimed{background:linear-gradient(135deg,#18bba3,#1ed8bb);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 0 10px rgba(46,196,182,.18)}.slice-cell.claimed:nth-child(2n){background:linear-gradient(135deg,#109d99,#25caa9)}.slice-cell.trail{background:#78fff0;box-shadow:0 0 0 1px rgba(255,255,255,.45),0 0 15px rgba(120,255,240,.95);z-index:2}.slice-cell.player:before{content:"";position:absolute;inset:-35%;z-index:3;border-radius:50%;background:radial-gradient(circle,rgba(120,255,240,.6),transparent 60%)}.slice-cell.player:after{content:"";position:absolute;inset:6%;z-index:4;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#9cffef 22%,#41d6bd 55%,#18957f);box-shadow:0 0 0 2px rgba(255,255,255,.85),0 0 18px rgba(120,255,240,.9);animation:slicePlayer .08s ease}.slice-cell.monster:before{content:"";position:absolute;inset:4%;z-index:3;border-radius:43% 43% 50% 50%;background:radial-gradient(circle at 35% 30%,#fff,#ff9db3 20%,#ff4f76 58%,#a71f46);box-shadow:0 0 0 2px rgba(255,255,255,.7),0 0 13px rgba(255,79,118,.75);animation:sliceMonster .42s ease-in-out infinite alternate}.slice-cell.monster:after{content:"";position:absolute;left:32%;top:30%;width:8%;height:8%;z-index:4;border-radius:50%;background:#fff;box-shadow:12px 0 0 #fff}.slice-board.slice-hit{animation:sliceHit .35s ease}.slice-board.slice-win{animation:sliceWin .9s ease}.slice-controls{margin-top:16px}.slice-card .game-message{width:min(100%,820px);margin-left:auto;margin-right:auto;color:#d7e5ff;background:rgba(255,255,255,.08)}@keyframes slicePlayer{0%{transform:scale(.82);opacity:.9}100%{transform:scale(1);opacity:1}}@keyframes sliceMonster{0%{transform:scale(.9) rotate(-8deg)}100%{transform:scale(1.08) rotate(8deg)}}@keyframes sliceHit{0%,100%{transform:translateX(0)}25%{transform:translateX(-8px)}50%{transform:translateX(8px)}75%{transform:translateX(-5px)}}@keyframes sliceWin{0%{box-shadow:0 0 0 7px rgba(46,196,182,.55)}45%{box-shadow:0 0 0 14px rgba(120,255,240,.28),0 26px 62px rgba(46,196,182,.22)}100%{box-shadow:0 0 0 7px rgba(46,196,182,.55)}}@media(max-width:820px){.slice-card{padding:16px}.slice-board{border-width:5px;border-radius:20px}.game-library{grid-template-columns:repeat(2,1fr)}}@media(min-width:821px){.game-library{grid-template-columns:repeat(6,1fr)}}

.slice-target-line{width:min(100%,820px);margin:-8px auto 14px;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:14px;color:#d7e5ff;background:rgba(255,255,255,.07);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.slice-target-line strong{color:#61f2df;font-size:18px}.game-overlay{position:absolute;inset:0;z-index:12;display:grid;place-items:center;padding:18px;background:rgba(8,14,31,.72);backdrop-filter:blur(6px)}.game-overlay[hidden]{display:none}.game-overlay>div{width:min(430px,100%);padding:26px;border:1px solid rgba(120,255,240,.24);border-radius:22px;color:#fff;background:linear-gradient(145deg,#17213e,#11182f);box-shadow:0 28px 80px rgba(0,0,0,.42);text-align:center}.game-overlay h3{margin:8px 0 10px;font-size:28px;letter-spacing:-.04em}.game-overlay p{color:#d7e5ff;font-size:11px;line-height:1.7}.overlay-score{margin:16px 0;padding:15px;border-radius:16px;background:rgba(255,255,255,.08)}.overlay-score span{display:block;color:#b8c9e8;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.overlay-score strong{font-size:34px}.overlay-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:9px}.snake-info{background:linear-gradient(155deg,#fff,#ecfaf7)}.snake-card{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 18px 45px rgba(23,34,54,.07)}.snake-rule{width:min(100%,620px);margin:14px auto;padding:16px;border-radius:16px;color:#0d624f;background:#e9fbf8;text-align:center;font-size:18px;font-weight:950}.snake-status{width:min(100%,620px);margin-left:auto;margin-right:auto}.snake-board{--snake-cols:18;--snake-rows:18;width:min(100%,620px);aspect-ratio:1;margin:0 auto;display:grid;grid-template-columns:repeat(var(--snake-cols),1fr);grid-template-rows:repeat(var(--snake-rows),1fr);gap:2px;padding:8px;border-radius:22px;background:#16233b;outline:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.snake-cell{position:relative;min-width:0;min-height:0;border-radius:8px;background:#eef3fb}.snake-cell.snake-body{background:linear-gradient(135deg,#35d49b,#18a67d);box-shadow:inset 0 -3px 0 rgba(0,0,0,.12)}.snake-cell.snake-head{background:linear-gradient(135deg,#6254d9,#2fa7dc);box-shadow:0 0 0 2px #fff,0 6px 13px rgba(23,34,54,.25);z-index:2}.snake-cell.snake-item{display:grid;place-items:center;background:#fff7df;color:#1d2740;border:1px solid #ffd166;font-size:clamp(10px,2vw,18px);font-weight:950}.snake-cell.snake-bad{background:#fff0f2;border-color:#ff9db3;color:#c84b58}.snake-card .game-message{width:min(100%,620px)}@media(max-width:820px){.snake-card{padding:16px}.snake-cell{border-radius:5px}}@media(min-width:821px){.game-library{grid-template-columns:repeat(7,1fr)}}

.snake-card{position:relative;overflow:hidden}.snake-cell.snake-grow{animation:snakeGrow .18s ease both}.snake-dying-board .snake-cell.snake-head,.snake-dying-board .snake-cell.snake-body{animation:snakeFade .58s ease forwards}@keyframes snakeGrow{0%{transform:scale(.75);filter:brightness(1)}55%{transform:scale(1.28);filter:brightness(1.25)}100%{transform:scale(1);filter:brightness(1)}}@keyframes snakeFade{0%{opacity:1;transform:scale(1)}55%{opacity:.65;transform:scale(.82) rotate(8deg)}100%{opacity:0;transform:scale(.25) rotate(18deg)}}

#sudokuHearts{color:#e94f82;letter-spacing:.08em;font-size:18px}.low-hearts{animation:heartWarn .42s ease-in-out infinite alternate}@keyframes heartWarn{from{transform:scale(1);filter:brightness(1)}to{transform:scale(1.08);filter:brightness(1.2)}}
.number-pad button{position:relative}.number-pad button.completed-number{color:#138273;background:#ebfaf6;border-color:#9ee6d4;box-shadow:0 8px 18px rgba(24,166,125,.16)}.number-pad button.completed-number:after{content:"✓";position:absolute;right:-6px;top:-8px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#18a67d;font-size:14px;font-weight:950;box-shadow:0 6px 14px rgba(24,166,125,.28)}
.sudoku-card{position:relative;overflow:hidden}.sudoku-confetti{pointer-events:none;position:absolute;inset:0;z-index:9;overflow:hidden}.sudoku-confetti:not(.show){display:none}.sudoku-confetti i{position:absolute;top:-18px;width:10px;height:16px;border-radius:3px;background:var(--c);opacity:.95;animation:sudokuConfettiFall 1.8s cubic-bezier(.12,.7,.32,1) forwards}@keyframes sudokuConfettiFall{0%{transform:translate3d(0,-20px,0) rotate(0);opacity:1}78%{opacity:1}100%{transform:translate3d(var(--x),620px,0) rotate(var(--r));opacity:0}}
.sudoku-cell.same-number:not(.selected){background:#fff0d1;color:#9c5b00}.sudoku-cell.line-wave{animation:sudokuLineWave .58s ease both;animation-delay:var(--wave-delay,0ms)}@keyframes sudokuLineWave{0%{transform:translateY(0) scale(1);background:#fff}35%{transform:translateY(-7px) scale(1.08);background:#ffe2a8;box-shadow:inset 0 0 0 2px rgba(255,176,32,.65)}70%{transform:translateY(3px) scale(.98);background:#fff7df}100%{transform:translateY(0) scale(1)}}

