.blocks-title{font-size:clamp(38px,6vw,58px);letter-spacing:-2px}.blocks-app{display:grid;grid-template-columns:175px minmax(245px,1fr) minmax(300px,1.15fr);gap:18px;align-items:start}.blocks-panel{background:#e9edde;border-radius:23px;padding:17px;min-width:0}.blocks-panel h2{font-size:19px;letter-spacing:-.5px;margin:0}.panel-tip{font-size:12px;color:#667269;line-height:1.6}.panel-heading{display:flex;justify-content:space-between;gap:10px;align-items:center}#block-count{font-size:11px;color:#667269}.palette-block{display:block;width:100%;text-align:left;margin:10px 0;border:0;border-radius:11px;padding:13px 11px;color:#24372d;font-size:13px;box-shadow:0 2px 0 #24372d0b;cursor:grab}.move{background:#c1dbe0}.turn{background:#cbd8ec}.jump{background:#cfe09a}.say{background:#e2cde5}.sound{background:#efc2bb}.wait{background:#eadcaa}.repeat{background:#eed09e}.event-block{font-size:12px;font-weight:600;border-radius:14px 14px 7px 7px;padding:12px;background:#d6e594;margin:18px 0 10px}.block-drop{min-height:150px;border:1px dashed #bbc5ac;border-radius:13px;padding:9px;margin-bottom:14px}.block-drop.drag-over{outline:2px solid #688b32;background:#f5f3ec99}.empty-program{font-size:12px;color:#667269;text-align:center;line-height:1.6;padding:22px 5px}.program-block{border-radius:10px;padding:10px;margin:6px 0;position:relative;box-shadow:0 2px 0 #24372d0b;cursor:grab}.block-fields{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px}.block-fields input{font:inherit;min-width:0;max-width:100%;width:63px;border:1px solid #24372d20;border-radius:7px;background:#f5f3ecd9;padding:7px 6px;color:#24372d}.block-fields input[type=text]{width:100%}.block-fields select{font:inherit;max-width:100%;padding:5px;border-radius:7px;border:1px solid #24372d20;background:#f5f3ec}.block-tools{display:flex;justify-content:flex-end;gap:4px;margin-top:7px}.block-tools button{border:0;background:#f5f3ec80;border-radius:6px;min-width:27px;min-height:26px;font-size:12px;color:#435347}.repeat-body{margin:9px 0 0 7px;background:#f5f3ec40;border-radius:9px}.program-block.executing{outline:3px solid #526f35;outline-offset:1px}.stage-panel{min-width:0}.blocks-stage{position:relative;aspect-ratio:5/3;overflow:hidden;background:#e5def1;border-radius:23px}.blocks-stage canvas{width:100%;height:100%;display:block}.speech{position:absolute;top:15px;left:10%;right:10%;background:#f5f3ecef;border-radius:17px;padding:10px 15px;text-align:center;font-size:14px;overflow-wrap:anywhere;pointer-events:none}.stage-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.stage-actions button{font-size:12px;padding:11px 13px}.blocks-app button:disabled{opacity:.45;cursor:default}#run-status{font-size:13px;line-height:1.6;min-height:40px;margin:14px 0 5px}.actor-position{font:11px ui-monospace,monospace;color:#667269}.challenge{border:1px solid #d0d8c3;border-radius:19px;padding:17px;margin-top:21px}.challenge label{font-size:13px;font-weight:600;display:block;margin-bottom:9px}.challenge select{font:inherit;font-size:13px;width:100%;padding:10px;border-radius:9px;border:1px solid #c7d0bf;background:#f5f3ec;color:#24372d}.challenge p{font-size:12px;line-height:1.6;color:#667269}.challenge .secondary{font-size:12px;padding:10px 13px}#challenge-result{color:#4b6933;font-weight:600}.blocks-panel #clear{font-size:12px;padding:10px 12px}.palette-panel h2{margin-bottom:12px}[hidden]{display:none!important}@media(max-width:1000px){.blocks-app{grid-template-columns:185px minmax(0,1fr)}.stage-panel{grid-column:1/-1;grid-row:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.8fr);gap:0 24px}.blocks-stage{grid-column:1;grid-row:1/6}.stage-actions,#run-status,.actor-position,.challenge,.stage-panel>.panel-tip{grid-column:2}.challenge{margin-top:8px}.stage-panel .panel-tip{margin-top:8px}}@media(max-width:600px){.blocks-app{grid-template-columns:1fr}.stage-panel{display:block;grid-column:auto;grid-row:auto;order:-1}.palette-panel{order:0}.program-panel{order:1}.blocks-title{font-size:41px}.blocks-stage{border-radius:20px}.palette-panel #palette{display:grid;grid-template-columns:1fr 1fr;gap:8px}.palette-block{margin:0}.blocks-panel{padding:18px}.blocks-panel h2{font-size:21px}.block-fields{font-size:13px}.block-tools button{min-width:32px;min-height:32px}.stage-actions{margin-bottom:10px}.speech{font-size:12px}.subtitle{max-width:100%}}@media(prefers-reduced-motion:reduce){.program-block{transition:none}}
