.game-main{padding-top:4px}.game-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-bottom:12px;border-bottom:1px solid var(--line)}.game-toolbar>.back-home{flex-shrink:0;margin:0;white-space:nowrap}.game-toolbar>.save-status{min-width:0;margin:0;color:var(--muted);font:12px/1.5 system-ui,sans-serif;text-align:end;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.back-home{display:inline-flex;align-items:center;gap:7px;min-height:44px;margin:0 0 12px;color:var(--muted);font-size:13px;text-decoration:none;touch-action:manipulation}.back-home:hover{color:var(--purple);text-decoration:underline}.back-home-arrow{font-size:17px}html[dir=rtl] .back-home-arrow{transform:scaleX(-1)}
.challenges-title{padding:0 0 16px}.challenges-title h1{font-size:clamp(32px,5vw,48px)}.challenges-title p{font-size:13px;line-height:1.5;color:var(--muted);margin:6px 0 0}.challenge-overview{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.challenge-overview h2{font-size:18px;margin:0}.challenge-overview p{font-size:13px;color:var(--muted);margin:5px 0}.challenge-progress{background:#e8e0fc;border-radius:20px;padding:11px 15px;color:var(--purple);font-size:13px;font-weight:bold}.challenge-levels{display:flex;gap:8px;margin:10px 0 16px}.challenge-levels button{flex:1;padding:11px 5px}.challenge-levels [aria-pressed=true]{background:var(--purple);color:#fff;border-color:var(--purple)}.challenge-list{display:grid;gap:12px;grid-template-columns:1fr}.challenge-card{display:flex;align-items:center;gap:12px;text-align:start;min-height:86px;padding:16px;background:#fffefa;border-radius:17px}.challenge-number{font-size:23px;color:var(--purple);background:#f0eafd;border-radius:12px;padding:10px;min-width:50px;text-align:center}.challenge-card strong,.challenge-card small{display:block}.challenge-card strong{font-size:16px}.challenge-card small{font-size:12px;font-weight:400;color:var(--muted);margin-top:5px}.challenge-badge{margin-inline-start:auto;font-size:11px;color:var(--muted)}.challenge-card.solved .challenge-badge{color:#3e6632}.challenge-card.assisted .challenge-badge{color:var(--purple)}.exercise-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.exercise-top button{font-size:12px}.exercise-heading h2{font-size:25px;margin:7px 0}.exercise-heading p{font-size:14px;line-height:1.55;color:var(--muted);margin:8px 0 18px}.puzzle-layout{display:grid;gap:20px;align-items:start}.puzzle-board-wrap{min-width:0}.puzzle-board-wrap .board{direction:ltr}.puzzle-status{border-radius:16px;background:#eee8fc;padding:15px;margin-bottom:16px}.puzzle-status h3{margin:0 0 7px;font-size:19px}.puzzle-status p{font-size:13px;line-height:1.5;margin:0}.puzzle-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}.puzzle-controls button{min-height:46px;white-space:normal}.puzzle-controls .wide{grid-column:1/-1}.puzzle-note{font-size:13px;line-height:1.6;color:var(--muted)}.puzzle-hint{border-inline-start:4px solid var(--purple);padding:12px;background:#f0eafd;border-radius:8px;font-size:14px;line-height:1.6}.puzzle-error{color:#a52d29!important}.puzzle-explanation{padding:16px;border:1px solid #c3d99f;border-radius:14px;background:#edfacd;font-size:14px;line-height:1.6}.puzzle-history{direction:ltr;text-align:start;overflow-wrap:anywhere;font:13px/1.9 system-ui;min-height:22px}.square.suggested{box-shadow:inset 0 0 0 4px #6348db}.solution-moves{direction:ltr;font:600 20px/1.8 system-ui;overflow-wrap:anywhere}.puzzle-loading{padding:40px 10px;text-align:center}.setup-home{display:block;text-align:center;font-size:12px;color:var(--muted);padding:14px;margin-top:14px}.puzzle-count{margin-top:14px}.challenges-main button{touch-action:manipulation}html[dir=rtl] .challenges-main h1,html[dir=rtl] .challenges-main h2,html[dir=rtl] .challenges-main .eyebrow{letter-spacing:0}html[dir=rtl] .challenges-main .eyebrow{line-height:1.8}
#puzzle-side{display:block;font-size:18px;font-weight:700;line-height:1.4;letter-spacing:.02em;text-transform:none}
.puzzle-history:empty{display:none}.puzzle-history{margin:8px 0 0;min-height:0}.puzzle-count{margin-bottom:0}
@media(max-width:849px){.puzzle-layout{gap:12px}}
@media(min-width:600px){.challenge-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:850px){.puzzle-layout{grid-template-columns:minmax(0,1.35fr) minmax(280px,.8fr);gap:30px}.challenge-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:360px){.challenge-card{padding:12px;gap:8px}.challenge-badge{font-size:10px}.challenge-number{min-width:42px;padding:8px}.challenge-card strong{font-size:14px}}

#puzzle-result{text-align:center}#puzzle-result .result-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;margin:0 auto 18px;background:#eee8fc;color:var(--purple);font-size:36px;font-weight:bold}#puzzle-result[data-result=success] .result-icon{background:#e6f7c6;color:#356523}#puzzle-result[data-result=failure] .result-icon{background:#fff0e4;color:#9b4a15}#puzzle-result h2{font-size:clamp(24px,6vw,30px);overflow-wrap:anywhere}#puzzle-result button{min-height:48px;white-space:normal}
