.compact-menu,.compact-level-select{display:none}
.compact-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;border-bottom:1px solid #dfe3ee}.compact-dialog-head h2{font-size:21px;margin:0}.compact-dialog-head button{border:0;background:#eef0f6;border-radius:10px;min-width:44px;min-height:44px;font-size:18px}.compact-dialog-body{padding:18px 20px;max-height:65dvh;overflow:auto;font-size:16px;line-height:1.6}.compact-dialog-body p:first-child{margin-top:0}.compact-options{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
@media(max-width:750px),(max-width:1000px) and (max-height:550px){
 body.playing{height:100vh;height:var(--play-height,100dvh);overflow:hidden;overscroll-behavior:none;background:#f5f6fb}
 body.playing>header,body.playing>footer{display:none}
 body.playing main{max-width:none;width:100%;height:100%;margin:0;padding:4px 10px max(6px,env(safe-area-inset-bottom));overflow:hidden}
 .playing .game-view{height:100%;display:grid;grid-template-rows:44px 30px minmax(0,1fr);gap:5px;min-height:0}
 .playing .play-heading{gap:7px;height:44px;min-height:0;margin:0}
 .playing .play-heading .back-button{width:40px;height:44px;padding:0;font-size:23px;flex-shrink:0}
 .playing .play-heading .back-button span{display:none}
 .playing .world-label{font-size:16px;gap:7px;flex:1;min-width:0;line-height:1.15}
 .playing .world-label span{font-size:22px;flex-shrink:0}.playing .world-label b{font-weight:700}
 .playing .help-button{height:40px;min-width:44px;padding:6px 10px;font-size:13px;flex-shrink:0}
 .playing .compact-menu{display:block;border:1px solid #dfe3ee;border-radius:10px;background:white;font-size:24px;width:40px;height:40px;padding:0;flex-shrink:0}
 .playing .level-nav{display:none}
 .playing .mission-heading{display:flex;align-items:center;margin:0;height:30px;gap:8px;min-width:0}
 .playing .mission-heading>div,.playing .mission-badge{display:none}
 .playing .compact-level-select{display:block;border:0;border-radius:7px;background:#e7eaf3;color:#344057;width:100%;height:30px;font:600 14px 'DM Sans',sans-serif;padding:3px 9px}
 .playing .play-layout{display:flex;flex-direction:column;gap:6px;min-height:0;height:100%;align-items:stretch}
 .playing .stage,.playing .game-view[data-world] .stage{position:static;flex:1 1 0;min-height:0;max-width:none;width:100%;margin:0;padding:8px;border-radius:15px;display:flex;flex-direction:column;gap:4px;overflow:hidden}
 .playing .stage-header{height:15px;flex:0 0 15px;margin:0 3px;font-size:11px;line-height:15px;letter-spacing:0}
 .playing .stage-header span:first-child{font-size:10px}.playing .stage-header span:last-child{font-size:11px}
 .playing .surface{flex:1;min-height:0;min-width:0;display:flex;justify-content:center;align-items:center;overflow:hidden}
 .playing .board{flex:none;max-width:100%;max-height:100%;border-radius:7px;container-type:inline-size}
 .playing .tile,.playing .game-view[data-world] .tile{border-width:1.5px;border-radius:5px;font-size:clamp(16px,6cqw,27px)}
 .playing .tile.portal{font-size:clamp(25px,11cqw,43px)}
 .playing .tile.machine span{font-size:clamp(17px,7cqw,27px);padding:5px;border-radius:8px}
 .playing .robot-token,.playing .game-view[data-world] .robot-token{font-size:clamp(17px,7cqw,32px)}
 .playing .game-view[data-world] .robot-token{font-size:clamp(16px,5.6cqw,29px)}
 .playing .feature-token{font-size:clamp(15px,5.6cqw,26px)}
 .playing .tile.color-tile span{font-size:clamp(13px,4cqw,20px)}
 .playing .address-label{font-size:10px;padding:0 3px;bottom:0;right:0}.playing .signal-label{font-size:9px}
 .playing .stage-legend{display:none}
 .playing .objectives{display:flex;flex-wrap:nowrap;flex:0 0 28px;height:28px;min-height:0;gap:5px;margin:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
 .playing .task-chip{white-space:nowrap;padding:4px 7px;font-size:12px;line-height:18px;border-radius:6px}
 .playing .workspace{flex:0 0 var(--controls-height);height:var(--controls-height);min-height:0;max-width:none;width:100%;margin:0;padding:7px 9px;border-radius:13px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 7px;overflow:hidden;align-content:stretch}
 .playing .workspace>.instruction,.playing .workspace>.tutorial,.playing .panel-title,.playing .edit-note,.playing .adventure-tools,.playing .branch-note,.playing .pattern-how,.playing #hint-box{display:none}
 .playing .workspace>.message{grid-area:message;margin:0;padding:3px 7px;background:#f0f2f8;font-size:12px;line-height:16px;overflow:auto;border-radius:7px;min-height:0;max-height:100%}
 .playing .workspace>.message.warning{background:#fff0dc}
 .playing .run-button,.playing .stop-button{grid-area:run;height:40px;min-height:40px;padding:6px 9px;border-bottom-width:3px;border-radius:9px;font-size:15px;align-self:stretch}
 .playing .stop-button{grid-area:run}
 .playing .program,.playing .game-view[data-world] .program{grid-area:program;display:flex;flex-wrap:nowrap;align-items:stretch;gap:5px;padding:4px;border-width:1px;min-height:0;height:54px;max-height:54px;overflow-x:auto;overflow-y:hidden;border-radius:9px;scrollbar-width:thin}
 .playing .program button,.playing .game-view[data-world] .program button{flex:0 0 44px;width:44px;min-width:44px;min-height:44px;height:44px;padding:4px 5px;border-radius:6px}
 .playing .program small{font-size:9px;top:2px;left:3px}.playing .program b{font-size:23px;line-height:1.15}
 .playing .program em{font-size:10px;line-height:11px}
 .playing .program button.group-block,.playing .game-view[data-world] .program button.group-block{flex:0 0 auto;max-width:230px;width:auto;min-width:74px;height:44px;text-align:center;padding:4px 9px}
 .playing .program button.group-block b{font-size:16px;line-height:20px;word-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .playing .empty-program{min-height:40px;font-size:13px}
 .playing .direction-palette{grid-area:palette;gap:7px}
 .playing .direction-palette button{min-height:42px;height:42px;font-size:26px;border-radius:8px;border-bottom-width:3px}
 .playing .program-actions{grid-area:edit;display:flex;justify-content:space-between;margin:0;height:26px;min-height:0;align-items:center}
 .playing .program-actions .text-button{min-height:26px;padding:2px 8px;font-size:12px;height:26px}
 .playing .game-view[data-mode=robot] .workspace{grid-template-areas:'program program' 'palette palette' 'edit edit' 'run run' 'message message';grid-template-rows:54px 42px 26px 40px minmax(16px,1fr)}
 .playing .game-view[data-mode=debug] .workspace{grid-template-areas:'program program' 'palette palette' 'edit edit' 'step run' 'message message';grid-template-rows:54px 42px 26px 40px minmax(16px,1fr)}
 .playing .step-button{grid-area:step;margin:0;min-height:40px;height:40px;padding:4px 6px;border-radius:9px;font-size:13px}
 .playing .game-view[data-mode=loop] .workspace{grid-template-areas:'program program' 'repeat repeat' 'group group' 'palette palette' 'edit edit' 'run run' 'message message';grid-template-rows:54px 33px 33px 42px 24px 40px minmax(16px,1fr)}
 .playing .repeat-picker{grid-area:repeat;display:flex;flex-wrap:nowrap;margin:0;gap:5px;height:33px;align-items:center}
 .playing .repeat-picker span{flex:0 0 auto;font-size:12px;margin:0 3px 0 0}
 .playing .repeat-picker button{min-width:0;min-height:32px;height:32px;padding:3px;font-size:13px}
 .playing .group-builder{grid-area:group;margin:0;min-height:0}
 .playing .group-toggle{min-height:33px;height:33px;font-size:13px;padding:4px 8px;border-radius:7px}
 .playing .group-builder #group-editor:not([hidden]){position:fixed;z-index:20;left:12px;right:12px;bottom:calc(165px + env(safe-area-inset-bottom));padding:12px;border:1px solid #9f88c5;border-radius:13px;background:#fcfaff;box-shadow:0 5px 35px #222c3c44}
 .playing .group-builder #group-editor p{margin:0 0 6px;font-size:13px}
 .playing .group-builder #group-draft{min-height:40px;padding:8px;font-size:18px;line-height:1.3;max-height:70px;overflow:auto}
 .playing .group-builder #group-editor>div:last-child{margin:7px 0 0}
 .playing .game-view[data-mode=condition] .workspace{grid-template-areas:'rules rules' 'run run' 'message message';grid-template-rows:minmax(0,1fr) 40px 25px}
 .playing .rule-list{grid-area:rules;display:flex;flex-direction:column;gap:3px;min-height:0;margin:0;overflow:auto}
 .playing .rule-row{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:2px 5px;border-radius:8px;min-height:38px;flex:1}
 .playing .rule-row>div:first-child{gap:3px;font-size:12px;flex:1;line-height:1.1}
 .playing .rule-row b{gap:3px;font-size:12px}.playing .rule-row b i{padding:2px;font-size:12px}
 .playing .rule-actions{display:flex;flex-wrap:nowrap;gap:4px;margin:0;flex:0 0 152px}
 .playing .rule-actions span{display:none}
 .playing .rule-actions button,.playing .game-view[data-world] .rule-actions button{height:33px;min-height:33px;width:34px;min-width:0;font-size:22px;padding:0;flex:1;border-radius:6px}
 .playing .game-view[data-mode=math] .workspace{grid-template-areas:'numbers pad' 'actions pad' 'message message';grid-template-columns:minmax(0,1fr) 130px;grid-template-rows:58px 40px minmax(24px,1fr);gap:5px 9px}
 .playing .number-dashboard{grid-area:numbers;margin:0;padding:3px 7px;gap:7px;border-radius:9px;height:58px}
 .playing .number-dashboard div>span{font-size:12px}.playing .number-dashboard strong{font-size:28px;line-height:30px}.playing .number-dashboard .to{font-size:20px}
 .playing .dpad{grid-area:pad;grid-template-columns:repeat(3,39px);grid-template-rows:repeat(3,32px);gap:3px;margin:0;align-self:center}
 .playing .dpad button{min-height:32px;font-size:23px;padding:0;border-radius:7px;border-bottom-width:2px}
 .playing .math-actions{grid-area:actions;margin:0;gap:6px}.playing .math-actions .secondary{min-width:0;padding:4px;font-size:12px;height:40px;border-radius:7px}
 .playing .game-view[data-mode=pattern] .workspace{grid-template-areas:'instruction instruction' 'run reset' 'message message';grid-template-rows:31px 40px minmax(16px,1fr);gap:3px 8px}
 .playing .game-view[data-mode=pattern] .workspace>.instruction{display:block;grid-area:instruction;min-height:0;overflow:auto}
 .playing .game-view[data-mode=pattern] .instruction-number{display:none}.playing .game-view[data-mode=pattern] .instruction p{font-size:13px;line-height:15px;font-weight:500;margin:0}
 .playing .game-view[data-mode=pattern] .workspace>.text-button{grid-area:reset;padding:4px;min-height:40px;font-size:13px;border:1px solid #dfe3ee}
 .playing .pattern-studio{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;min-height:0;width:100%;height:100%;padding:8px 0;align-items:center;justify-items:center}
 .playing .reference-row{display:flex;flex-direction:column;gap:8px;align-items:center;max-width:90px}
 .playing .paint-grid.reference{width:76px;gap:3px}.playing .reference-row>strong{line-height:14px}
 .playing .mini-label{font-size:10px;letter-spacing:.5px;line-height:13px;margin-bottom:5px}
 .playing .mirror-label{font-size:28px;line-height:1}.playing .mirror-label small{font-size:9px;margin-top:3px}
 .playing .your-pattern{width:100%;max-width:210px;min-width:0}
 .playing .paint-grid.editable{width:100%;max-width:210px;gap:4px}
 .playing .paint-grid.editable button{min-height:0;aspect-ratio:1;border-radius:7px;font-size:20px}
 .playing .your-pattern>small{font-size:10px;line-height:12px;margin:6px 0 0}
 .playing .pattern-rule span{font-size:12px;line-height:1.3}.playing .pattern-rule b{font-size:19px;letter-spacing:0;line-height:1.6;margin-top:6px}
 .playing .success-content{padding:22px}.playing .success-star{font-size:45px;margin-bottom:8px}.playing .success-content h2{font-size:25px}.playing .success-content p{font-size:14px;margin:10px 0}.playing .success-progress{margin:13px 0;padding:9px}.playing dialog{max-height:90dvh;overflow:auto}
}
@media(max-width:1000px) and (max-height:550px) and (orientation:landscape){
 .playing .game-view{grid-template-rows:40px minmax(0,1fr);gap:4px}
 .playing .play-heading{height:40px;padding-right:200px}
 .playing .mission-heading{position:absolute;right:10px;top:9px;width:188px;height:30px}
 .playing .play-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,1fr);gap:8px;height:100%}
 .playing .workspace{height:100%;max-height:100%;overflow-y:auto;align-content:start}
 .playing .stage,.playing .game-view[data-world] .stage{height:100%;min-height:0}
 .playing .game-view[data-mode=math] .workspace{align-content:center}
 .playing .game-view[data-mode=condition] .workspace{grid-template-rows:minmax(145px,1fr) 40px 25px}
 .playing .pattern-studio{grid-template-columns:72px minmax(0,1fr);gap:8px;padding:0}
 .playing .your-pattern{max-width:170px}.playing .paint-grid.reference{width:57px}
}
@media(max-width:750px) and (max-height:620px) and (orientation:portrait){
 .playing .game-view{grid-template-rows:40px 27px minmax(0,1fr);gap:3px}.playing .play-heading{height:40px}.playing .mission-heading,.playing .compact-level-select{height:27px}
 .playing .game-view[data-mode=debug]{--controls-height:218px!important}
 .playing .game-view[data-mode=math]{--controls-height:157px!important}
 .playing .game-view[data-mode=loop]{--controls-height:282px!important}
 .playing .stage-header{display:none}.playing .stage{gap:2px}
 .playing .game-view[data-mode=pattern] .pattern-studio{grid-template-columns:76px minmax(0,1fr);gap:9px}
}
.compact-repeat,.compact-rule-tabs{display:none}
@media(max-width:750px),(max-width:1000px) and (max-height:550px){
 .playing .game-view[data-mode=loop] .workspace{grid-template-columns:93px minmax(0,1fr);grid-template-areas:'program program' 'repeat group' 'palette palette' 'edit edit' 'run run' 'message message';grid-template-rows:54px 36px 42px 24px 40px minmax(16px,1fr)}
 .playing .repeat-picker>span,.playing .repeat-picker>button{display:none}
 .playing .compact-repeat{display:block;width:100%;height:36px;border:1px solid #c9b6e7;background:#f1e9fa;color:#4d3a6e;border-radius:7px;font-size:14px;padding:3px 6px}
 .playing .group-toggle{min-height:36px;height:36px;padding:4px;font-size:12px}
 .playing .game-view[data-mode=condition] .workspace{grid-template-areas:'tabs tabs' 'rules rules' 'run run' 'message message';grid-template-rows:34px 48px 40px minmax(22px,1fr)}
 .playing .compact-rule-tabs{grid-area:tabs;display:flex;gap:5px;overflow-x:auto;scrollbar-width:none}
 .playing .compact-rule-tabs button{background:#f1f2f7;border:1px solid #ccd4e4;border-radius:7px;flex:1;min-width:44px;min-height:32px;line-height:20px;padding:2px 5px;font-size:14px;color:#253147;white-space:nowrap}
 .playing .compact-rule-tabs button small{font-size:14px;margin-left:5px;color:#636c81}
 .playing .compact-rule-tabs button[aria-pressed=true]{background:var(--rule-color);border-color:#52617e;box-shadow:inset 0 0 0 1px #52617e}
 .playing .compact-rule-tabs button.configured small{color:#213a26;font-weight:700}
 .playing .rule-row:not(.mobile-active){display:none}.playing .rule-list{overflow:hidden}
 .playing .rule-row.mobile-active{min-height:46px;height:46px;flex:0 0 46px}
 .playing .rule-actions button,.playing .game-view[data-world] .rule-actions button{min-height:38px;height:38px}
}
@media(max-width:750px) and (max-height:620px) and (orientation:portrait){.playing .game-view[data-mode=loop]{--controls-height:250px!important}}
