.effects-shelf{margin-top:16px;border-top:1px solid var(--line);padding-top:10px}.effects-shelf summary{min-height:44px;display:list-item;cursor:pointer;font-size:13px;font-weight:700;padding:10px 0}.effects-shelf p{font-size:11px;color:var(--muted);margin:9px 0 0}.effects-shelf .palette{max-height:none}.light-readout{clear:both;font-size:10px!important;line-height:1.6}.light-readout i{display:inline-block;height:9px;width:9px;border:1px solid #6b8064;border-radius:50%;margin-right:4px}.sound-readout{font-size:10px!important;min-height:19px;color:#746038}.volume-setting{display:flex;align-items:center;gap:12px;font-size:14px;margin:8px 0 20px}.volume-setting input{flex:1;min-width:70px;accent-color:#456e5e}.volume-setting output{min-width:40px}.block-top [data-effect-target]{font-size:10px;min-width:90px}#sound-button[aria-pressed=true]{background:#e1ebd6;border-color:#7e9c64}#sound-button{white-space:nowrap}.world-svg .robot-beacon{pointer-events:none}.event-log li.sound{background:#faf0d4}.event-log li.light,.event-log li.light-pattern{background:#e5eedc}.muddle-effects{font-size:11px;margin-top:8px}.muddle-effects i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;border:1px solid #8b815e}@media(max-width:700px){.run-buttons .speed-label{grid-column:2/4}.run-buttons #sound-button{grid-column:1/2;padding:6px;min-height:36px}.effects-shelf button{min-height:48px}.block-top [data-effect-target]{min-height:48px}.volume-setting{flex-wrap:wrap}.volume-setting input{min-height:44px}.light-readout{font-size:9px!important}.sound-readout{font-size:10px!important}}
/* Keep touch workspaces readable, with one accessible panel at a time in portrait. */
.execution{flex-wrap:wrap}.run-buttons{max-width:100%}.block,.result,.goals,.replay-control{scroll-margin-block:100px 200px}.program-scroll{scroll-padding-block:12px}.mobile-tabs{scroll-margin-top:12px}.mobile-tabs button{touch-action:manipulation}button:disabled:active{transform:none}dialog{max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}.replay-control input{touch-action:pan-x}.live-message{overflow-wrap:anywhere}
@media(pointer:coarse){.selection-tools button,.block-top select,.insert-button{min-height:48px}.drag-handle{width:28px}.program-scroll,.palette{overscroll-behavior:auto}}
@media(min-width:701px) and (max-width:1000px) and (orientation:portrait){.mobile-tabs{display:flex;gap:8px;margin-bottom:16px}.mobile-tabs button{flex:1}.mobile-tabs button[aria-selected=true]{background:#dfead6;border-color:#839f73}.workspace{display:block}.workspace[data-tab=scene] .program-panel,.workspace[data-tab=program] .scene-panel{display:none}.program-scroll{max-height:50dvh}.execution{gap:10px}.prediction{max-width:none;flex-basis:100%}.run-buttons{width:100%;justify-content:space-between}.scene-panel #scene{max-width:640px;margin:auto}.cargo-card>img{float:left}}
@media(max-width:700px){.execution{padding-bottom:max(10px,env(safe-area-inset-bottom));bottom:0}.run-buttons .speed-label select{min-height:40px}.program-has-run .speed-label select{min-height:40px}.run-buttons #sound-button{min-height:40px}.mobile-tabs{position:relative}.selection-tools button{font-size:11px}.scene-panel .result button{width:100%}}
/* Put playback beside the plan's introduction, and keep it available while scrolling. */
.execution{top:8px;bottom:auto;margin:0 0 16px}.program-has-run .prediction{display:none}.mobile-tabs{scroll-margin-top:140px}
@media(max-width:700px){.execution{top:0;bottom:auto;margin:0 0 12px}.program-has-run .execution{margin-bottom:12px}}
@media(min-width:701px) and (max-width:1000px) and (orientation:portrait){.program-has-run .run-buttons{justify-content:space-between}}
