:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f4f6fb;--panel-bg:#fff;--border:#d5dae6;--text:#1f2430;--text-muted:#5c6475;--accent:#3b5bdb;--accent-text:#fff;--grid-bg:#eef7ee;--grid-line:#b8d4b8;--bubble-bg:#fff;--bubble-text:#1f2430;--bubble-border:#5c6475;--error:#c92a2a;--success:#2b8a3e;--code-keyword:#7048e8;--code-type:#1971c2;--code-string:#2b8a3e;--code-number:#d9480f;--code-comment:#868e96;--code-function:#0c8599;--code-active-line:#3b5bdb0f;--code-execution-line:#fcc41947;--code-execution:#fcc4198c;--code-error-line:#e031311f;--changed:#fcc41959;--blocks-bg:#fbfcfe;--blocks-flyout:#e4e8f0;--notice-bg:#fff4d6;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.4}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#16181d;--panel-bg:#1f2229;--border:#353a45;--text:#e6e8ee;--text-muted:#9aa2b3;--accent:#748ffc;--accent-text:#0b1026;--grid-bg:#1d2a1f;--grid-line:#35503a;--bubble-bg:#f1f3f5;--bubble-text:#16181d;--bubble-border:#9aa2b3;--error:#ff8787;--success:#69db7c;--code-keyword:#b197fc;--code-type:#74c0fc;--code-string:#8ce99a;--code-number:#ffa94d;--code-comment:#868e96;--code-function:#66d9e8;--code-active-line:#748ffc14;--code-execution-line:#fcc4192e;--code-execution:#fcc41961;--code-error-line:#ff878724;--changed:#fcc41940;--blocks-bg:#1b1e24;--blocks-flyout:#2a2e37;--notice-bg:#3a3320}}*{box-sizing:border-box}html,html>body{background:var(--bg);height:100%;color:var(--text);margin:0}#app{height:100%}.app{grid-template:"header header""world editor"minmax(0,1fr)"controls controls"/minmax(0,3fr) minmax(0,2fr);gap:12px;height:100%;padding:12px;display:grid}@media (width>=801px){.app:has(.editor-views){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.app:has(.editor-views[data-view=both]){grid-template-areas:"header header""editor editor""controls controls"}.app:has(.editor-views[data-view=both]) .panel-world{display:none}}.app-header{flex-wrap:wrap;grid-area:header;align-items:baseline;gap:4px 16px;display:flex}.app-title{color:var(--accent);margin:0;font-size:1.5rem}.app-tagline{color:var(--text-muted);margin:0}.app-header .segmented{margin-left:auto}.locale-select{align-self:center}.panel{background:var(--panel-bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:8px;min-height:0;padding:12px;display:flex}.panel-world{grid-area:world}.panel-editor{grid-area:editor}.world-canvas{flex:1;width:100%;min-height:0}.run-controls{flex-wrap:wrap;grid-area:controls;align-items:center;gap:8px;display:flex}button{font:inherit;color:var(--text);background:var(--panel-bg);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:6px 12px}button:disabled{cursor:not-allowed;opacity:.6}.segmented{display:inline-flex}.segmented button{border-radius:0}.segmented button+button{border-left:none}.segmented button:first-child{border-radius:6px 0 0 6px}.segmented button:last-child{border-radius:0 6px 6px 0}.segmented button[aria-checked=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-text);opacity:1}.run-speed{align-items:center;gap:8px;margin-left:auto;display:inline-flex}@media (width<=800px){.app{grid-template:"header""world""editor""controls"/minmax(0,1fr);height:auto;min-height:100%}.app-header .segmented{margin-left:0}.world-canvas{aspect-ratio:3/2;flex:none}}.world-status{text-align:center;min-height:1.4em;color:var(--text-muted);margin:0}.world-status.is-error{color:var(--error);font-weight:600}.program-view{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.magic-panel{flex-direction:column;gap:12px;display:flex;overflow-y:auto}.magic-intro{color:var(--text-muted);margin:0}.magic-heading{margin:0 0 6px;font-size:.95rem}.magic-pad{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:".step.""left pick right""cast cast undo";gap:6px;max-width:360px;display:grid}.magic-pad button{flex-direction:column;align-items:center;gap:2px;padding:8px 4px;display:flex}.magic-icon{font-size:1.4rem;line-height:1}.magic-step{grid-area:step}.magic-left{grid-area:left}.magic-pick{grid-area:pick}.magic-right{grid-area:right}.magic-cast{background:var(--accent);border-color:var(--accent);color:var(--accent-text);grid-area:cast}.magic-undo{grid-area:undo}.palette{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px;display:grid}.palette-item{flex-direction:column;align-items:center;gap:2px;padding:6px 4px;display:flex;position:relative}.palette-item img{image-rendering:pixelated}.palette-item[aria-checked=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.palette-key{color:var(--text-muted);font-size:.7rem;position:absolute;top:2px;left:5px}.palette-name{font-size:.8rem}.palette-icon{height:32px;font-size:1.6rem;line-height:32px}.magic-bitkos[hidden]{display:none}.magic-keys{color:var(--text-muted);font-size:.9rem}.magic-keys ul{margin:6px 0 0;padding-left:20px}.build-panel{flex-direction:column;gap:10px;display:flex;overflow-y:auto}.build-hint{color:var(--text-muted);margin:-4px 0 0;font-size:.85rem}.build-looks{flex-direction:column;gap:6px;display:flex}.build-looks[hidden]{display:none}.build-subheading{margin:0;font-size:.9rem}.palette-grounds{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}.palette-grounds .palette-icon{border:1px solid var(--grid-line);background:var(--grid-bg);color:#0000;border-radius:4px;width:32px}.build-ground-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.build-world-ground{color:var(--text-muted);font-size:.9rem}.build-row{flex-wrap:wrap;gap:12px;display:flex}.build-field{flex-direction:column;gap:4px;font-size:.9rem;display:flex}.build-field-name{flex:1;min-width:160px}.build-size{align-items:center;gap:6px;display:inline-flex}.build-dimension{width:4.5em}input[type=text],input[type=number]{font:inherit;color:var(--text);background:var(--panel-bg);border:1px solid var(--border);border-radius:6px;padding:5px 8px}.build-actions{flex-wrap:wrap;gap:6px;display:flex}.build-scene-row[hidden],.build-actions [hidden]{display:none}.build-scene-select{font:inherit;color:var(--text);background:var(--panel-bg);border:1px solid var(--border);border-radius:6px;padding:5px 8px}.build-scene-dialog{border:1px solid var(--border);background:var(--panel-bg);color:var(--text);border-radius:10px;max-width:min(90vw,360px);padding:0;box-shadow:0 10px 30px #0003}.build-open-dialog{width:min(92vw,420px);max-width:min(92vw,420px);max-height:min(88vh,640px)}.build-scene-dialog h4{color:var(--text-muted);margin:0;padding:8px 16px 0;font-size:.85rem}.build-open-row{gap:6px;display:flex}.build-scene-dialog .build-open-row>button:not(.build-open-scene){flex:none;width:auto;padding:6px 10px}.build-scene-dialog li .build-open-scene{flex:1;justify-content:space-between;gap:8px;display:flex}.build-open-detail{color:var(--text-muted);font-size:.8rem}.build-open-scene:hover .build-open-detail{color:inherit}.build-open-empty{color:var(--text-muted);margin:0;padding:8px 16px;font-size:.9rem}.build-open-actions{gap:8px;padding:8px 16px 16px;display:flex}.build-scene-dialog .build-open-actions button{font:inherit;border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;margin:0;padding:8px 14px}.build-scene-dialog::backdrop{background:#0006}.build-scene-dialog h3{margin:0;padding:16px 16px 8px;font-size:1rem}.build-scene-dialog ul{flex-direction:column;gap:6px;margin:0;padding:8px 16px;list-style:none;display:flex}.build-scene-dialog li button{text-align:left;width:100%;font:inherit;background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;padding:10px 12px}.build-scene-dialog li button:hover{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.build-scene-dialog>button:last-child{font:inherit;border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;margin:8px 16px 16px;padding:8px 14px}.build-scene-dialog>button:last-child:hover{background:var(--bg)}.world-canvas.is-building{cursor:crosshair;touch-action:none}.program-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.level-picker{color:var(--text-muted);align-items:center;gap:6px;margin-left:auto;display:inline-flex}.level-picker[hidden]{display:none}.file-bar{flex-wrap:wrap;flex:100%;align-items:center;gap:6px;min-width:0;display:flex}.file-bar:empty{display:none}.file-tabs{flex-wrap:wrap;gap:4px;display:flex}.file-tab{align-items:center;gap:6px;padding:5px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem;display:inline-flex}.file-tab[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.file-errors{text-align:center;color:#fff;background:var(--error);border-radius:999px;min-width:1.4em;padding:0 4px;font-family:system-ui,sans-serif;font-size:.8rem;font-weight:700;line-height:1.4}.file-action{padding:5px 8px}.file-library{font:inherit;color:var(--text-muted);background:var(--panel-bg);border:1px solid var(--border);border-radius:6px;padding:5px 8px;font-size:.9rem}.file-library.is-open{color:var(--accent-text);background:var(--accent);border-color:var(--accent)}.code-status button{margin-left:8px;padding:2px 8px;font-size:.85rem}.level-select,.api-select,.locale-select{font:inherit;color:var(--text);background:var(--panel-bg);border:1px solid var(--border);border-radius:6px;padding:5px 8px}.editor-views{flex:1;grid-template-columns:minmax(0,1fr);gap:8px;min-height:0;display:grid}.editor-views[data-view=code] .blocks-host,.editor-views[data-view=blocks] .code-host{display:none}.editor-views[data-view=both]{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.code-host,.blocks-host{border:1px solid var(--border);border-radius:6px;min-height:0;overflow:hidden}.view-notice{color:var(--text);background:var(--notice-bg);border-radius:6px;margin:0;padding:6px 10px;font-size:.9rem}.view-notice.is-error{color:var(--error);font-weight:600}.view-notice[hidden]{display:none}.code-status{color:var(--text-muted);margin:0;font-size:.9rem}.code-status.is-error{color:var(--error)}.program-bottom{flex:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;height:11rem;display:grid}.run-controls{position:relative}.task-button{margin-left:auto}.task-button[aria-expanded=true]{color:var(--accent-text);background:var(--accent);border-color:var(--accent)}.task-button:not([hidden])+.run-speed,.task-button:not([hidden])+.level-picker,.level-picker:not([hidden])+.run-speed,.level-picker:not([hidden])+.level-picker{margin-left:0}.task-box{z-index:5;border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--panel-bg);border-radius:8px;width:min(440px,100%);max-height:min(60vh,420px);padding:8px 12px;position:absolute;bottom:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 8px 24px #0000002e}.task-box[hidden]{display:none}.task-box.is-met,.task-result-dialog.is-met{border-left-color:var(--success)}.task-box.is-not-met,.task-result-dialog.is-not-met{border-left-color:var(--error)}.task-result-dialog{width:min(92vw,420px);color:var(--text);background:var(--panel-bg);border:1px solid var(--border);border-left:6px solid var(--accent);border-radius:10px;padding:16px 20px}.task-result-dialog::backdrop{background:#0f121973}.task-result-dialog h2{margin:0 0 8px;font-size:1.2rem}.task-result-dialog.is-met h2{color:var(--success)}.task-result-actions .is-primary,.update-notice .is-primary{color:var(--accent-text);background:var(--accent);border-color:var(--accent)}.task-result-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.task-text{margin:4px 0;font-weight:600}.task-goals{flex-direction:column;gap:2px;margin:4px 0 0;padding:0;font-size:.9rem;list-style:none;display:flex}.task-goals li{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.task-mark{text-align:center;width:1.2em}.task-goals .is-met .task-mark{color:var(--success)}.task-goals .is-not-met .task-mark{color:var(--error)}.task-actual{color:var(--text-muted);font-size:.85rem}.task-actual:before{content:"– "}.task-result{margin:6px 0 0;font-weight:600}.task-box.is-met .task-result{color:var(--success)}.build-task{border:1px solid var(--border);border-radius:8px;padding:6px 10px}.build-task>summary{cursor:pointer;font-weight:600}.build-task.has-task>summary:after{content:" ●";color:var(--accent)}.build-task[open]{flex-direction:column;gap:8px;display:flex}.task-editor-text,.task-editor-output{font:inherit;color:var(--text);background:var(--panel-bg);border:1px solid var(--border);resize:vertical;border-radius:6px;padding:5px 8px}.task-editor-goals{flex-direction:column;gap:4px;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.task-editor-goals li{justify-content:space-between;align-items:center;gap:8px;display:flex}.task-editor-goals li button{padding:2px 8px}.task-editor-empty{color:var(--text-muted)}.task-editor-add,.task-editor-fields{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.build-task select{font:inherit;color:var(--text);background:var(--panel-bg);border:1px solid var(--border);border-radius:6px;padding:4px 6px}.task-editor-output{flex:1;min-width:10rem}.task-editor-fields .is-picking{outline:2px solid var(--accent)}.console,.variables{flex-direction:column;gap:4px;min-height:0;display:flex}.program-heading{color:var(--text-muted);margin:0;font-size:.85rem;font-weight:600}.console-output,.variables-list{background:var(--bg);border:1px solid var(--border);border-radius:6px;flex:1;min-height:0;margin:0;padding:6px 8px;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,monospace;font-size:.85rem;overflow:auto}.console-output{white-space:pre-wrap;overflow-wrap:anywhere}.console-output:empty:before{content:attr(data-empty);color:var(--text-muted);font-family:system-ui,sans-serif}.console-form{gap:4px;display:flex}.console-form[hidden]{display:none}.console-input{min-width:0;font:inherit;color:var(--text);background:var(--panel-bg);border:2px solid var(--accent);border-radius:6px;flex:1;padding:4px 8px}.variables-empty{color:var(--text-muted);margin:0;font-family:system-ui,sans-serif}.variables-group+.variables-group{margin-top:6px}.variables-group h3{font-size:inherit;margin:0 0 2px;font-weight:600}.variables-group ul{margin:0;padding:0;list-style:none}.variables-group li{overflow-wrap:anywhere;border-radius:4px;padding:0 4px}.variables-group li.is-changed{background:var(--changed)}.variable-type{color:var(--code-type)}.variable-value{color:var(--code-number)}@media (width<=800px){.panel-editor{min-height:50vh}.editor-views{flex:none;height:60vh}.editor-views[data-view=both]{grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.program-bottom{grid-template-columns:minmax(0,1fr);height:auto}.console-output,.variables-list{min-height:6rem;max-height:12rem}}.blocks-host .blocklyHighlighted>.blocklyPath{stroke:#fcc419;stroke-width:4px;filter:drop-shadow(0 0 6px #fcc419e6)}.tile-icon{image-rendering:pixelated;background-repeat:no-repeat;flex:none;display:inline-block}.tile-icon-fluid{aspect-ratio:1;width:100%}.palette-more{border-style:dashed}.tile-picker{width:min(52rem,100vw - 32px);max-height:min(44rem,100vh - 32px);color:var(--text);background:var(--panel-bg);border:1px solid var(--border);border-radius:10px;padding:0}.tile-picker[open]{flex-direction:column;display:flex}.tile-picker::backdrop{background:#0f12198c}.tile-picker-head{justify-content:space-between;align-items:center;padding:12px 16px 4px;display:flex}.tile-picker-title{margin:0;font-size:1.1rem}.tile-picker-close{padding:4px 10px}.tile-picker-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;padding:4px 16px 0;display:flex}.tile-picker-tabs [role=tab]{background:0 0;border:1px solid #0000;border-bottom:none;border-radius:6px 6px 0 0}.tile-picker-tabs [role=tab][aria-selected=true]{background:var(--bg);border-color:var(--border);font-weight:600}.tile-picker-tools{flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px;display:flex}.tile-picker-search{min-width:8rem;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;flex:0 14rem;padding:5px 8px}.tile-picker-categories{flex-wrap:wrap;gap:4px;display:flex}.tile-picker-categories[hidden]{display:none}.tile-picker-chip{border-radius:999px;padding:3px 10px;font-size:.85rem}.tile-picker-chip[aria-pressed=true]{color:var(--accent-text);background:var(--accent);border-color:var(--accent)}.tile-picker-grid{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:4px;min-height:0;padding:0 16px 8px;display:grid;overflow:auto}.tile-picker-map{grid-template-columns:repeat(var(--tile-columns), minmax(28px, 56px));justify-content:start;gap:3px}.tile-picker-map .tile-picker-tile{padding:3px}.tile-picker-tile{background:var(--bg);place-items:center;padding:4px;display:grid;position:relative}.tile-picker-tile[aria-checked=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.tile-picker-tile:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.tile-badge{font-size:.7rem;line-height:1;position:absolute;bottom:1px;right:2px}.tile-badge-obstacle{color:var(--error)}.tile-badge+.tile-badge{right:14px}.tile-picker-empty{color:var(--text-muted);grid-column:1/-1}.tile-picker-source{color:var(--text-muted);margin:0;padding:6px 16px 12px;font-size:.8rem}@media (width<=600px){.tile-picker{border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0}.tile-picker-grid{padding:0 8px 8px}.tile-picker-map{gap:2px}.tile-picker-map .tile-picker-tile{padding:1px}}.update-notice{z-index:100;max-width:calc(100vw - 32px);color:var(--text);background:var(--panel-bg);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 14px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0003}
