.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:#536b89;max-width:650px}.game-hero-orb{height:260px;border-radius:34px;background:radial-gradient(circle at 40% 28%,#f9f3ff,#d8c9ff 35%,#6f50d8 70%,#28155c);box-shadow:0 20px 50px #6241c33b;display:grid;place-items:center;position:relative;color:#fff}.game-hero-orb div{font-size:110px;font-weight:800;text-shadow:0 12px 22px #13072d66}.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:#67809e}.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 #1b477b0d}.game-lobby-image{height:190px;position:relative;background:#193e6a}.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%,#061a38b8)}.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:#1769f5;color:#fff;display:grid;place-items:center;font-size:28px;box-shadow:0 8px 20px #1769f550}.game-icon svg{width:25px;height:25px}.game-icon.tone-violet,.game-icon.tone-purple{background:#7c4fe1}.game-icon.tone-green{background:#11a77b}.game-icon.tone-orange{background:#e58b25}.game-icon.tone-pink{background:#df5f91}.game-icon.tone-cyan{background:#1597b9}.game-card-meta{display:flex;justify-content:space-between;align-items:center;gap:8px}.game-level{font-size:10px;color:#7890ae;background:#f2f6fb;border-radius:99px;padding:5px 8px}.game-lobby-content{padding:28px 20px 20px}.game-label{font-size:10px;letter-spacing:.12em;color:#7890ae;font-weight:800}.game-lobby-content h2{font-size:23px;margin:8px 0}.game-lobby-content p{color:#617894;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:#eef5ff;color:#3e6aa1}.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:#f4f9ff;border:1px solid #dbe9f8;border-radius:20px;padding:20px;margin-top:26px}.how-number{width:38px;height:38px;border-radius:12px;background:#dbeafe;color:#1b5cc7;display:grid;place-items:center;font-weight:800}.game-how strong,.game-how span{display:block}.game-how span{font-size:12px;color:#7186a1;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 #1a447b14}.game-play-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.game-back{display:inline-block;color:#316cc5;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,#dceaff);color:#1769f5;font-size:30px}.game-instruction{margin:8px 0 20px;padding:12px 14px;background:#f4f8fd;color:#4d6887;border-radius:12px;font-size:13px}.game-instruction span{font-size:10px;font-weight:800;color:#1769f5;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:#f5f3ff;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:#5e7897}.challenge-toolbar select{display:block;width:100%;margin-top:6px;border:1px solid #d8e6f5;border-radius:10px;padding:10px;background:#fff;font:inherit;color:var(--ink)}.challenge-score,.challenge-progress{min-height:61px;border:1px solid #e1ebf7;border-radius:14px;padding:9px 12px;background:#f8fbff}.challenge-score span,.challenge-progress span{display:block;font-size:10px;color:#7690ad}.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:#284d76}.challenge-board{min-height:245px;padding:12px 0}.challenge-title{display:flex;align-items:center;justify-content:center;gap:18px;color:#567596}.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 #bdd5f0;border-radius:16px;text-align:center;font-size:23px;font-weight:800;color:#173f70;background:#f7fbff;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:#e9f2ff;color:#1d5fae;border-color:#c9ddf5}.challenge-token.operator{min-width:47px;background:#f6efff;color:#7950c8;border:1px solid #e4d6ff}.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 #cadcf1;border-radius:16px;background:linear-gradient(145deg,#eaf4ff,#d6e6fb);color:#2b67a8;font-size:22px;font-weight:800;box-shadow:0 6px 12px #1e5b9220;transition:transform .18s,background .18s}.memory-card:hover:not(:disabled){transform:translateY(-3px)}.memory-card.is-open{background:#fff;color:#173f70;border-color:#81b3ed}.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,#eef7ff,#f9fcff);border:1px solid #d9e8f6;border-radius:18px}.coordinate-point{min-width:0;aspect-ratio:1/1;border:1px solid #c9dcf0;border-radius:8px;background:#fff;color:#51759c;padding:3px;font-size:clamp(8px,1.8vw,13px);font-weight:700}.coordinate-point:hover:not(:disabled),.coordinate-point.is-last{background:#dff1ff;border-color:#4ba3ec;color:#1265a7}.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 #d8e7f5;border-radius:18px;padding:12px 8px 10px;background:linear-gradient(180deg,#f8fbff,#edf5fc);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:#a6c2df}.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,#1769f5,#64b7ff);color:#fff;font-size:11px;font-weight:800;text-align:center;line-height:24px;box-shadow:0 4px 7px #1769f530}.hanoi-disk:nth-child(2n){background:linear-gradient(90deg,#7b50d7,#be9df5)}.hanoi-peg{position:relative;z-index:2;width:100%;padding:10px 8px;font-size:12px}.hanoi-rod.is-selected{border-color:#1769f5;box-shadow:0 0 0 3px #1769f51f}.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,#f0f6ff);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:#526f90}.challenge-rules{margin:20px auto 0;border-top:1px solid #e4edf7;padding-top:14px;color:#5b7592;font-size:13px}.challenge-rules summary{cursor:pointer;font-weight:700;color:#35669b;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}
