.game-lobby{padding-bottom:50px}.game-hero{display:grid;grid-template-columns:minmax(0,1fr) 360px;align-items:center;gap:30px;padding:42px 0 34px}.game-hero h1{font-size:clamp(38px,5vw,64px);line-height:1.06;margin:14px 0}.game-hero h1 span{color:var(--blue)}.game-hero p{font-size:17px;line-height:1.75;color:#5d7f71;max-width:650px}.game-hero-orb{height:260px;border-radius:34px;background:radial-gradient(circle at 40% 28%,#f5fdfa,#d3f5e7 35%,#6abe9b 70%,#224f3c);box-shadow:0 20px 50px #5aaa893b;display:grid;place-items:center;position:relative;color:#fff}.game-hero-orb div{font-size:110px;font-weight:800;text-shadow:0 12px 22px #0e261c66}.game-hero-orb span{position:absolute;bottom:25px;letter-spacing:.12em;font-size:11px;font-weight:800}.game-section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin:12px 0 18px}.game-section-head h2{font-size:30px;margin:7px 0}.game-section-head p{max-width:420px;color:#719485}.game-lobby-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.game-lobby-card{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 12px 36px #2d69500d}.game-lobby-image{height:190px;position:relative;background:#285b46}.game-lobby-image img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.1)}.game-lobby-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,#102f22b8)}.game-time,.game-icon{position:absolute;z-index:1}.game-time{top:14px;right:14px;background:#fffdf0dd;color:#755c17;padding:6px 10px;border-radius:99px;font-size:11px;font-weight:700}.game-icon{left:18px;bottom:-19px;width:52px;height:52px;border-radius:16px;background:#41cb91;color:#fff;display:grid;place-items:center;font-size:28px;box-shadow:0 8px 20px #41cb9150}.game-icon svg{width:25px;height:25px}.game-icon.tone-violet,.game-icon.tone-purple{background:#6bc5a0}.game-icon.tone-green{background:#11a77b}.game-icon.tone-orange{background:#e58b25}.game-icon.tone-pink{background:#df5f91}.game-icon.tone-cyan{background:#349a6f}.game-card-meta{display:flex;justify-content:space-between;align-items:center;gap:8px}.game-level{font-size:10px;color:#82a496;background:#f4f9f7;border-radius:99px;padding:5px 8px}.game-lobby-content{padding:28px 20px 20px}.game-label{font-size:10px;letter-spacing:.12em;color:#82a496;font-weight:800}.game-lobby-content h2{font-size:23px;margin:8px 0}.game-lobby-content p{color:#6b8a7d;min-height:66px}.game-skills{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.game-skills span{font-size:11px;padding:6px 9px;border-radius:99px;background:#f1fcf7;color:#518e75}.game-lobby-content .btn{width:100%;justify-content:space-between}.game-how{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr;gap:12px 14px;align-items:center;background:#f6fdfa;border:1px solid #e1f2eb;border-radius:20px;padding:20px;margin-top:26px}.how-number{width:38px;height:38px;border-radius:12px;background:#e2f7ee;color:#3ca67a;display:grid;place-items:center;font-weight:800}.game-how strong,.game-how span{display:block}.game-how span{font-size:12px;color:#7a988b;margin-top:3px}.game-play-page{padding-top:34px}.game-play-shell{max-width:900px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:0 16px 45px #2c695014}.game-play-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.game-back{display:inline-block;color:#4da983;font-size:13px;margin-bottom:18px}.game-status-orb{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,#d5f8ea,#e3f8ef);color:#41cb91;font-size:30px}.game-instruction{margin:8px 0 20px;padding:12px 14px;background:#f6fbf9;color:#587c6d;border-radius:12px;font-size:13px}.game-instruction span{font-size:10px;font-weight:800;color:#41cb91;margin-right:10px;letter-spacing:.1em}.game-play-shell .formula{margin:18px auto;max-width:480px;font-size:38px}.game-play-shell #answers{max-width:560px;margin:0 auto}.game-play-shell #answers .btn{min-height:58px;font-size:18px}.game-play-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:20px}.game-play-shell .alert{max-width:620px;margin:18px auto}.game-play-shell .sudoku-grid{max-width:540px}.game-play-shell .maze-grid{margin-top:25px}.game-play-shell[aria-busy=true]{cursor:progress}.game-play-shell[aria-busy=true] .game-instruction{opacity:.7}
@media(max-width:900px){.game-hero{grid-template-columns:1fr}.game-hero-orb{height:170px}.game-lobby-grid{grid-template-columns:1fr 1fr}.game-how{grid-template-columns:auto 1fr}.game-play-shell{padding:22px}}
@media(max-width:520px){.game-section-head{display:block}.game-lobby-grid{grid-template-columns:1fr}.game-hero h1{font-size:40px}.game-play-head{display:block}.game-status-orb{display:none}.game-play-shell .formula{font-size:30px}.game-play-shell #answers{grid-template-columns:1fr}.game-how{gap:10px 12px}}
.game-lobby-image img[src*=".svg"]{object-fit:contain;background:#f5fdfa;filter:none}
#checkSudoku{display:flex;width:100%;margin-top:14px}
.game-play-actions{display:flex;flex-wrap:wrap;gap:10px}
.game-play-actions .btn{flex:1 1 160px}
.challenge-shell .game-play-actions .btn{min-width:145px}
@media(max-width:1100px){.game-lobby-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.challenge-toolbar{grid-template-columns:1fr 1fr}.challenge-progress{grid-column:1/-1}.coordinate-point{font-size:10px}}
@media(max-width:520px){.challenge-toolbar{grid-template-columns:1fr 1fr}.fraction-board{grid-template-columns:repeat(4,1fr);gap:7px}.memory-card{border-radius:11px;font-size:16px}.hanoi-board{gap:5px}.hanoi-rod{min-height:205px;padding-left:3px;padding-right:3px}.hanoi-stack{height:145px}.hanoi-disk{height:20px;line-height:20px;font-size:9px;width:calc(30px + var(--disk) * 16px)}.challenge-shell{padding:17px}.expression-line{font-size:17px;padding:15px 10px}.challenge-token{min-width:45px;min-height:43px}}
.challenge-toolbar{display:grid;grid-template-columns:180px 120px 1fr;align-items:end;gap:14px;margin:20px 0}.challenge-toolbar label{font-size:11px;font-weight:800;color:#698c7d}.challenge-toolbar select{display:block;width:100%;margin-top:6px;border:1px solid #deefe8;border-radius:10px;padding:10px;background:#fff;font:inherit;color:var(--ink)}.challenge-score,.challenge-progress{min-height:61px;border:1px solid #e5f3ed;border-radius:14px;padding:9px 12px;background:#f9fefc}.challenge-score span,.challenge-progress span{display:block;font-size:10px;color:#80a394}.challenge-score strong{display:block;font-size:22px;color:var(--blue);margin-top:2px}.challenge-progress{display:flex;align-items:center;justify-content:space-between;gap:10px}.challenge-progress .btn{padding:9px 12px;font-size:12px}.challenge-instruction{display:flex;gap:10px;align-items:baseline}.challenge-instruction span:last-child{font-weight:600;color:#376753}.challenge-board{min-height:245px;padding:12px 0}.challenge-title{display:flex;align-items:center;justify-content:center;gap:18px;color:#628a79}.challenge-title strong{font-size:42px;color:var(--blue);line-height:1}.expression-line{max-width:640px;min-height:68px;margin:18px auto;padding:18px 20px;border:2px dashed #c7e6d9;border-radius:16px;text-align:center;font-size:23px;font-weight:800;color:#285f48;background:#f9fdfb;word-break:break-word}.challenge-token-row{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:12px auto}.challenge-token{min-width:56px;min-height:48px;font-size:19px;font-weight:800}.challenge-token.number{background:#edfbf5;color:#39926d;border-color:#d1ede1}.challenge-token.operator{min-width:47px;background:#f2fcf8;color:#67b192;border:1px solid #def7ed}.challenge-inline-actions{display:flex;justify-content:center;gap:10px;margin:20px 0}.fraction-board{display:grid;grid-template-columns:repeat(4,minmax(70px,1fr));gap:12px;max-width:620px;margin:10px auto}.memory-card{aspect-ratio:1/1.1;border:1px solid #d1eae0;border-radius:16px;background:linear-gradient(145deg,#eefbf6,#ddf4ea);color:#439070;font-size:22px;font-weight:800;box-shadow:0 6px 12px #347c5e20;transition:transform .18s,background .18s}.memory-card:hover:not(:disabled){transform:translateY(-3px)}.memory-card.is-open{background:#fff;color:#285f48;border-color:#96d8bd}.memory-card.is-matched{background:linear-gradient(145deg,#dff9ed,#bdf1da);border-color:#66c999;color:#12734f}.challenge-wait{text-align:center}.coordinate-board{display:grid;grid-template-columns:repeat(var(--coord-size),minmax(0,1fr));gap:4px;max-width:620px;margin:12px auto;padding:8px;background:linear-gradient(135deg,#f1fcf7,#fafefc);border:1px solid #dff0e9;border-radius:18px}.coordinate-point{min-width:0;aspect-ratio:1/1;border:1px solid #d0e9df;border-radius:8px;background:#fff;color:#5f8e7a;padding:3px;font-size:clamp(8px,1.8vw,13px);font-weight:700}.coordinate-point:hover:not(:disabled),.coordinate-point.is-last{background:#e5f9f1;border-color:#6acda4;color:#2e8b64}.coordinate-help{text-align:center}.hanoi-board{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:700px;margin:22px auto 18px;align-items:end}.hanoi-rod{min-height:240px;border:1px solid #deefe8;border-radius:18px;padding:12px 8px 10px;background:linear-gradient(180deg,#f9fefc,#f0f9f5);display:flex;flex-direction:column;justify-content:end;align-items:center;position:relative}.hanoi-rod:before{content:'';position:absolute;bottom:48px;left:50%;width:7px;height:160px;transform:translateX(-50%);border-radius:99px;background:#b1d4c5}.hanoi-stack{width:100%;height:168px;display:flex;flex-direction:column;justify-content:end;align-items:center;z-index:1}.hanoi-disk{height:24px;width:calc(42px + var(--disk) * 23px);max-width:95%;border-radius:99px;background:linear-gradient(90deg,#41cb91,#81e2ba);color:#fff;font-size:11px;font-weight:800;text-align:center;line-height:24px;box-shadow:0 4px 7px #41cb9130}.hanoi-disk:nth-child(2n){background:linear-gradient(90deg,#6abd9a,#aee4ce)}.hanoi-peg{position:relative;z-index:2;width:100%;padding:10px 8px;font-size:12px}.hanoi-rod.is-selected{border-color:#41cb91;box-shadow:0 0 0 3px #41cb911f}.challenge-hint{margin:12px auto;padding:12px 14px;max-width:680px;border-radius:12px;background:#fff8df;color:#795d16;border:1px solid #f1df9d;font-size:13px}.challenge-result{text-align:center;max-width:600px;margin:16px auto 0;padding:28px;border-radius:20px;background:linear-gradient(135deg,#edfff7,#f3fcf8);border:1px solid #bfe7d4}.challenge-result>svg{width:44px;height:44px;color:#e3a62d}.challenge-result h2{margin:8px 0 4px}.challenge-result p{margin:6px 0;color:#5e8474}.challenge-rules{margin:20px auto 0;border-top:1px solid #e8f3ee;padding-top:14px;color:#658879;font-size:13px}.challenge-rules summary{cursor:pointer;font-weight:700;color:#48886d;list-style:none}.challenge-rules summary svg{width:16px;vertical-align:-3px;margin-right:5px}.challenge-rules ol{margin:12px 0;padding-left:22px}.challenge-rules li{margin:6px 0}.challenge-rules>p{line-height:1.6}
.game-instruction-full ul{margin:8px 0 0 18px;padding:0;display:grid;gap:5px}.game-instruction-full li{line-height:1.5}
