.sokobanPage{overscroll-behavior-y:contain;color:#15233a;background:#f4f7fb;min-width:320px;min-height:100dvh;overflow-y:auto}.sokobanMain{flex:1;width:min(100% - clamp(32px,5vw,80px),1500px);min-height:510px;padding:clamp(12px,1.8vw,28px);display:grid}.sokobanShell{grid-template-columns:clamp(250px,21vw,310px) minmax(0,1fr);align-items:center;gap:clamp(18px,3vw,56px);width:min(100%,1500px);min-height:510px;margin:0 auto;display:grid}.sokobanInfoPanel{flex-direction:column;gap:13px;min-height:0;display:flex}.sokobanEyebrow,.sokobanOverlayKicker,.sokobanStatCard span,.sokobanSettingLabel{color:var(--primary-color);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.67rem;font-weight:700}.sokobanTitleGroup h1{letter-spacing:-.06em;margin:3px 0 5px;font-size:clamp(2rem,3.2vw,3rem);line-height:.95}.sokobanSummary,.sokobanControlsText{color:var(--text-secondary);margin:0;font-size:.86rem;line-height:1.45}.sokobanStatGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.sokobanStatCard,.sokobanSettingsPanel,.sokobanHelp{border:1px solid var(--border-subtle);background:var(--surface-white);border-radius:8px}.sokobanStatCard{padding:10px 12px}.sokobanStatCard strong{color:var(--text-primary);margin-top:2px;font-size:1.1rem;line-height:1.1;display:block}.sokobanStatCard.savedProgressCard{position:relative}.sokobanStatCard .savedDataButton{min-height:21px;color:var(--primary-color);border:1px solid var(--primary-color-border);background:var(--surface-white);cursor:pointer;border-radius:4px;padding:2px 6px;font-size:.58rem;font-weight:700;position:absolute;top:8px;right:8px}.sokobanSettingsPanel{gap:8px;padding:11px;display:grid}.levelSelector{gap:6px;max-height:250px;padding-right:3px;display:grid;overflow-y:auto}.levelDifficultyGroup{border:1px solid var(--border-subtle);background:var(--surface-subtle);border-radius:6px}.levelDifficultyGroup summary{color:var(--text-primary);cursor:pointer;padding:7px 9px;font-size:.76rem;font-weight:700}.levelGrid{grid-template-columns:repeat(5,1fr);gap:4px;padding:0 7px 7px;display:grid}.levelButton{min-height:29px;color:var(--text-secondary);border:1px solid var(--border-subtle);background:var(--surface-white);cursor:pointer;border-radius:4px;padding:3px;font-size:.68rem;font-weight:700}.levelButton:hover,.levelButton.isActive{color:var(--primary-color);border-color:var(--primary-color-border);background:var(--primary-color-light)}.levelButton.isActive{box-shadow:inset 0 0 0 1px var(--primary-color)}.sokobanActions{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.sokobanPrimaryButton,.sokobanSecondaryButton,.sokobanTouchControls button{cursor:pointer;border-radius:6px;min-height:34px;padding:8px 10px;font-size:.84rem;font-weight:700}.sokobanPrimaryButton{color:#fff;border:1px solid var(--primary-color);background:var(--primary-color)}.sokobanPrimaryButton:hover{background:var(--primary-color-hover)}.sokobanSecondaryButton{color:var(--primary-color);border:1px solid var(--primary-color-border);background:var(--surface-white)}.sokobanSecondaryButton:disabled,.sokobanPrimaryButton:disabled{cursor:default;opacity:.55}.sokobanControlsText kbd{border:1px solid var(--border-subtle);background:var(--surface-white);color:var(--text-primary);white-space:nowrap;border-radius:3px;padding:2px 4px;font-size:.72rem}.sokobanHelp{color:var(--text-secondary);padding:10px 12px;font-size:.78rem;line-height:1.45}.sokobanHelp summary{color:var(--text-primary);cursor:pointer;font-weight:700}.sokobanHelp p{margin:8px 0 0}.sokobanGameArea{place-items:center;gap:10px;min-width:0;max-width:100%;display:grid}.sokobanBoardViewport{border:1px solid var(--primary-color-border);background:var(--surface-white);overscroll-behavior:contain;border-radius:10px;place-items:center;width:min(100%,930px);min-height:500px;padding:clamp(16px,3vw,32px);display:grid;position:relative;overflow:auto;box-shadow:0 16px 40px #0000000f}.sokobanBoard{--tile-size:clamp(24px, min(4vw, 5.5vh), 50px);grid-template-columns:repeat(var(--board-columns-num), var(--tile-size));grid-auto-rows:var(--tile-size);background:#2aa95d;border:4px solid #875331;border-radius:8px;outline:0;display:grid;overflow:hidden;box-shadow:0 8px #5e3822,0 14px 22px #432a1433}.sokobanBoard:focus-visible{outline:3px solid var(--focus-ring);outline-offset:5px}.sokobanTile{min-width:0;min-height:0;font-size:calc(var(--tile-size) * .44);background-color:#35bf69;background-image:linear-gradient(135deg,#ffffff1f 25%,#0000 25%),linear-gradient(45deg,#0379381a 25%,#0000 25%),radial-gradient(circle at 15% 16%,#ffffff2e 0 3%,#0000 4%),radial-gradient(circle at 78% 72%,#0378371f 0 4%,#0000 5%);background-size:13px 13px,13px 13px,19px 19px,23px 23px;border:1px dashed #09673252;place-items:center;font-weight:800;display:grid;position:relative;overflow:hidden}.wallTile{background-color:#ca3d3c;background-image:linear-gradient(90deg,#0000 48%,#69181fb3 49% 52%,#0000 53%),linear-gradient(#ff70668c,#97222726),linear-gradient(90deg,#751b2094 1px,#0000 1px),linear-gradient(#751b2094 1px,#0000 1px);background-size:100% 50%,100% 100%,50% 50%,100% 50%;border-color:#a12a2f;box-shadow:inset 0 3px #ffaf8f52,inset 0 -3px #6f1c1c4d}.goalTile{background-color:#39c875;border-color:#f6fff9b8;box-shadow:inset 0 0 0 3px #effff6db,inset 0 0 0 5px #1d914cad}.crateTile,.crateOnGoalTile{z-index:1;background-color:#c9823d;background-image:linear-gradient(145deg,#0000 43%,#ffd17d80 44% 53%,#0000 54%),linear-gradient(35deg,#0000 43%,#67331959 44% 53%,#0000 54%),linear-gradient(#d9984d,#ba6e31);border:3px solid #8d5128;border-radius:3px;box-shadow:inset 0 0 0 3px #e2a253,inset 0 -4px #6c34194d,0 2px #5c2c1673}.crateOnGoalTile{border-color:#f5fff6;box-shadow:inset 0 0 0 3px #e2a253,inset 0 -4px #6c34194d,0 0 0 3px #198d55,0 2px #5c2c1673}.playerTile{z-index:2;border-color:#09673252}.playerTile:before{z-index:2;width:53%;height:46%;box-shadow:0 calc(var(--tile-size) * .14) 0 -2px #f7f2de, 0 calc(var(--tile-size) * .19) 0 -2px #d84742;content:"";background:radial-gradient(circle at 31% 44%,#2b2524 0 7%,#0000 8%),radial-gradient(circle at 69% 44%,#2b2524 0 7%,#0000 8%),radial-gradient(at 50% 77%,#e85c4b 0 14%,#0000 15%),#ffd29c;border:2px solid #913c29;border-radius:43% 43% 35% 35%;position:absolute;bottom:12%}.playerTile:after{z-index:3;content:"";background:#3bc66b;border:2px solid #176d45;border-radius:48% 48% 23% 23%;width:59%;height:25%;position:absolute;bottom:49%;box-shadow:inset 0 -4px #269c55}.completionPanel{z-index:2;text-align:center;color:var(--text-primary);text-shadow:0 1px 12px #fffffff5;background:#ffffffc7;place-content:center;gap:9px;padding:24px;display:grid;position:absolute;inset:0}.completionPanel h2,.completionPanel p{margin:0}.completionPanel h2{font-size:clamp(1.6rem,2.6vw,2.3rem)}.completionActions{justify-content:center;gap:8px;margin-top:4px;display:flex}.gameStatus{min-height:20px;color:var(--text-secondary);text-align:center;margin:0;font-size:.79rem}.sokobanTouchControls{grid-template-rows:repeat(2,46px);grid-template-columns:repeat(3,58px);gap:6px;display:none}.sokobanTouchControls button{color:var(--primary-color);border:1px solid var(--primary-color-border);background:var(--surface-white)}.sokobanTouchControls button:active{color:#fff;background:var(--primary-color)}.sokobanTouchControls #upButton{grid-column:2}.sokobanTouchControls #leftButton{grid-area:2/1}.sokobanTouchControls #downButton{grid-area:2/2}.sokobanTouchControls #rightButton{grid-area:2/3}@media (width<=760px){.sokobanMain{padding:10px}.sokobanShell{grid-template-rows:auto minmax(500px,1fr);grid-template-columns:1fr;align-items:stretch;gap:10px}.sokobanInfoPanel{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px 12px;display:grid}.sokobanTitleGroup{grid-area:1/1}.sokobanTitleGroup h1{margin:1px 0;font-size:1.65rem}.sokobanSummary,.sokobanControlsText,.sokobanHelp{display:none}.sokobanStatGrid{grid-area:1/3;grid-template-columns:repeat(4,auto);gap:6px}.sokobanStatCard{min-width:42px;padding:6px 7px}.sokobanStatCard span{font-size:.52rem}.sokobanStatCard strong{font-size:.82rem}.sokobanSettingsPanel{grid-area:2/1/auto/3;padding:6px 8px}.sokobanSettingLabel{display:none}.levelSelector{width:100%;max-height:154px;display:block}.levelDifficultyGroup{flex:1}.levelDifficultyGroup summary{padding:6px;font-size:.66rem}.levelGrid{grid-template-columns:repeat(3,1fr);padding:0}.levelButton{min-height:24px;font-size:.61rem}.sokobanActions{grid-area:2/3;gap:6px;display:flex}.sokobanActions button{min-height:28px;padding:5px 9px}.sokobanBoardViewport{min-height:500px;padding:20px}.sokobanTouchControls{display:grid}}@media (width<=520px){.sokobanPage{min-width:0}.sokobanInfoPanel{grid-template-columns:auto 1fr}.sokobanStatGrid{grid-column:2;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.sokobanSettingsPanel{grid-area:2/1}.levelSelector{overflow-y:auto}.levelDifficultyGroup{min-width:82px}.sokobanActions{grid-area:2/2;justify-self:end}.sokobanActions .sokobanSecondaryButton:first-child{display:none}.sokobanBoardViewport{width:100%;min-height:500px;padding:16px}.sokobanBoard{--tile-size:28px}}@media (prefers-reduced-motion:reduce){.sokobanPrimaryButton,.sokobanSecondaryButton,.levelButton{transition:none}}
