.universalEditor{--field-text:var(--panel-text,#f4ecd8);--field-muted:var(--panel-muted,rgba(244,236,216,0.72));--field-border:var(--panel-border,rgba(244,236,216,0.22));--universal-editor-sticky-bg:rgba(244,236,216,0.075);--universal-editor-sticky-bg-hover:rgba(244,236,216,0.12);--universal-editor-sticky-border:rgba(244,236,216,0.22);--universal-editor-sticky-shadow:0 1px 0 rgba(255,255,255,0.05) inset,0 8px 18px rgba(0,0,0,0.22);--universal-editor-section-sticky-top:72px;min-width:0;color:var(--panel-text,#f4ecd8)}.universalEditor--density-compact{--universal-editor-section-sticky-top:56px}.universalEditor--density-compact .universalEditor__shellHeader{gap:6px;padding:7px 8px}.universalEditor--density-compact .universalEditor__shellCopy h2{font-size:14px}.universalEditor--density-compact .universalEditor__shellCopy p,.universalEditor--density-compact .universalEditor__shellCopy small{font-size:11px}.universalEditor>.universalField{margin:0}.universalEditor__shellHeader{position:sticky;z-index:2;top:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;box-sizing:border-box;border:1px solid var(--field-border,var(--universal-editor-sticky-border));background:var(--field-bg-raised,var(--universal-editor-sticky-bg));color:var(--field-text,#f4ecd8);font-family:var(--field-font-family,inherit);margin-bottom:0;padding:10px;box-shadow:var(--universal-editor-sticky-shadow);backdrop-filter:blur(12px)}.universalEditor__shellMain{display:flex;min-width:0;gap:9px;align-items:flex-start}.universalEditor__shellCopy{display:flex;min-width:0;flex-direction:column;gap:2px}.universalEditor__eyebrow{color:var(--field-muted,rgba(244,236,216,.72));font-size:10px;font-weight:700;line-height:1.2;text-transform:uppercase}.universalEditor__shellCopy h2{overflow:hidden;margin:0;color:var(--field-text,#f4ecd8);font-size:16px;font-weight:800;letter-spacing:0;line-height:1.18;text-overflow:ellipsis;white-space:nowrap}.universalEditor__shellCopy p,.universalEditor__shellCopy small{overflow:hidden;margin:0;color:var(--field-muted,rgba(244,236,216,.72));font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.universalEditor__shellCopy small{font-size:11px}.universalEditor__activeSectionInline{display:flex;min-width:0;align-items:center;gap:6px;color:var(--field-muted,rgba(244,236,216,.72));font-size:12px;line-height:1.35;white-space:nowrap}.universalEditor__activeSectionInline span{overflow:hidden;color:var(--field-text,#f4ecd8);font-weight:800;text-overflow:ellipsis;white-space:nowrap}.universalEditor__activeSectionInline em{flex:0 0 auto;border:1px solid var(--field-border,var(--universal-editor-sticky-border));background:color-mix(in srgb,var(--universal-editor-sticky-bg) 74%,transparent);color:var(--field-muted,rgba(244,236,216,.72));font-size:10px;font-style:normal;font-weight:600;line-height:1;padding:2px 5px}.universalEditor__activeSectionInline small{overflow:hidden;min-width:0;margin:0;color:var(--field-muted,rgba(244,236,216,.72));font-size:inherit;line-height:inherit;text-overflow:ellipsis;white-space:nowrap}.universalEditor__shellMeta{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;justify-content:flex-end}.universalEditor__backButton{flex:0 0 auto;border:1px solid var(--field-border,var(--universal-editor-sticky-border));background:color-mix(in srgb,var(--universal-editor-sticky-bg) 74%,transparent);color:var(--field-text,#f4ecd8);cursor:pointer;font:inherit;font-size:12px;line-height:1;padding:6px 8px}.universalEditor__backButton:hover,.universalEditor__previewToggle:hover{background:var(--field-bg-strong,var(--universal-editor-sticky-bg-hover))}.universalEditor__backButton:focus-visible,.universalEditor__previewToggle:focus-visible{outline:2px solid var(--field-border-strong,currentColor);outline-offset:2px}.universalEditor__delete,.universalEditor__previewToggle{border:1px solid var(--field-border,var(--universal-editor-sticky-border));background:color-mix(in srgb,var(--universal-editor-sticky-bg) 74%,transparent);color:var(--field-text,#f4ecd8);font:inherit;font-size:13px;font-weight:700;line-height:1;padding:5px 7px;text-transform:capitalize;cursor:pointer}.universalEditor__previewToggle{cursor:pointer;text-transform:none}.universalEditor__breadcrumbs{grid-column:1/-1;display:flex;min-width:0;flex-wrap:wrap;gap:5px;align-items:center;color:var(--field-muted,rgba(244,236,216,.72));font-size:11px;line-height:1.25}.universalEditor__breadcrumbItem{display:inline-flex;min-width:0;align-items:center;gap:5px}.universalEditor__breadcrumbSeparator{color:color-mix(in srgb,var(--field-muted,rgba(244,236,216,.72)) 62%,transparent);font-size:10px;font-weight:700}.universalEditor__breadcrumbButton,.universalEditor__breadcrumbCurrent{display:inline-flex;max-width:150px;align-items:center;border:1px solid var(--field-border,var(--universal-editor-sticky-border));background:color-mix(in srgb,var(--universal-editor-sticky-bg) 64%,transparent);color:var(--field-text,#f4ecd8);font:inherit;font-weight:650;line-height:1;padding:4px 6px;user-select:none}.universalEditor__breadcrumbButton{cursor:pointer}.universalEditor__breadcrumbButton:hover{background:var(--field-bg-strong,var(--universal-editor-sticky-bg-hover))}.universalEditor__breadcrumbButton:focus-visible{outline:2px solid var(--field-border-strong,currentColor);outline-offset:2px}.universalEditor__breadcrumbCurrent{overflow:hidden;border-color:var(--field-border-strong,var(--universal-editor-sticky-border));background:var(--field-bg-strong,var(--universal-editor-sticky-bg-hover));text-overflow:ellipsis;white-space:nowrap}.universalEditor__jsonPreview{overflow:auto;box-sizing:border-box;max-height:260px;margin:0 0 10px;border:1px solid var(--field-border,rgba(244,236,216,.22));background:var(--field-bg-raised,rgba(244,236,216,.06));color:var(--field-text,#f4ecd8);font:11px/1.45 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;padding:10px;white-space:pre-wrap}@media(max-width:680px){.universalEditor{--universal-editor-section-sticky-top:0px}.universalEditor__shellHeader{position:static;grid-template-columns:1fr}.universalEditor__shellMeta{justify-content:flex-start}.universalEditor__shellCopy h2,.universalEditor__shellCopy p,.universalEditor__shellCopy small{white-space:normal}}.universalEditor__childTitle{display:flex;min-width:0;flex-direction:column;gap:2px;font-size:13px;line-height:1.25}.universalEditor__childTitle small,.universalEditor__childTitle span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.universalEditor__childTitle small{color:var(--field-muted,rgba(244,236,216,.72));font-size:11px}.connectionEditorPathwayTitle{display:inline-flex;align-items:center;gap:.4rem;min-width:0}.connectionEditorPathwayIcon{width:1.05em;height:1.05em;flex:0 0 auto;stroke-width:2;opacity:.82}.rightSideBar{height:100%;flex-shrink:0;overflow:auto;box-sizing:border-box;padding:0 16px 16px;border-left:1px solid var(--panel-border);background:var(--panel-bg);color:var(--panel-text)}.rightSideBar .rightSideBarSection{width:100%;padding-top:16px}.rightSideBar .roomEditor{padding-top:8px}.rightSideBar .rightSideBarFieldGroup{margin-top:14px}.rightSideBar .rightSideBarFieldLabel{display:block;margin-bottom:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:rgba(244,236,216,.86)}.rightSideBar .rightSideBarInput,.rightSideBar .rightSideBarTextarea{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid #2f2920;border-radius:4px;background:#f4ecd8;color:#2f2920;font:inherit;font-size:13px;line-height:1.4}.rightSideBar .rightSideBarInput:focus,.rightSideBar .rightSideBarTextarea:focus{outline:2px solid rgba(184,132,63,.7);outline-offset:2px}.rightSideBar .rightSideBarTextarea{min-height:136px;resize:vertical}.rightSideBar .rightSideBarInputError{border-color:#b75f4a}.rightSideBar .rightSideBarInputMuted{border-color:rgba(244,236,216,.12);background:rgba(244,236,216,.08);color:rgba(244,236,216,.42)}.rightSideBar .rightSideBarHelpText,.rightSideBar .rightSideBarWarningText{margin:6px 0 0;font-size:12px;line-height:1.4}.rightSideBar .rightSideBarHelpText{color:rgba(244,236,216,.45)}.rightSideBar .rightSideBarWarningText{color:#d48770}.rightSideBar .rightSideBarCheckboxRow{display:flex;align-items:center;gap:8px;margin-top:14px;color:rgba(244,236,216,.78);font-size:13px;cursor:pointer}.rightSideBar .rightSideBarCheckboxRow input{accent-color:#b8843f}.rightSideBar .rightSideBarEmptyText{margin:0;color:#777}.rightSideBar .rightSideBarEmptyPanel .rightSideBarEmptyTitle{margin:0;color:#fff;font-size:14px;font-weight:700}.rightSideBar .rightSideBarEmptyPanel .rightSideBarEmptyDescription{margin:8px 0 0;color:hsla(0,0%,100%,.52);font-size:13px;line-height:1.5}.rightSideBar .rightSideBarConnectionMeta{margin-bottom:16px;color:#777;font-size:13px}.rightSideBar .roomEditorHeader{padding-bottom:14px;border-bottom:1px solid rgba(244,236,216,.1)}.rightSideBar .roomEditorEyebrow{margin:0;color:var(--panel-muted);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.rightSideBar .roomEditorTitle{margin:6px 0 0;color:var(--panel-text);font-size:18px;font-weight:700;line-height:1.2}.rightSideBar .roomEditorFeaturePanel{margin-top:18px;padding-top:14px;border-top:1px solid rgba(244,236,216,.1)}.rightSideBar .roomEditorFeaturePanelHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.rightSideBar .roomEditorSectionTitle{margin:0;color:var(--panel-text);font-size:13px;font-weight:700}.rightSideBar .roomEditorFeatureCount{display:inline-flex;min-width:22px;height:22px;align-items:center;justify-content:center;box-sizing:border-box;border:1px solid rgba(244,236,216,.14);border-radius:999px;color:rgba(244,236,216,.58);font-size:12px}.rightSideBar .roomEditorFeatureList{display:flex;flex-direction:column;gap:8px}.rightSideBar .roomEditorFeatureCard{overflow:hidden;border:1px solid rgba(244,236,216,.12);border-radius:6px;background:rgba(244,236,216,.035)}.rightSideBar .roomEditorFeatureCardExpanded{border-color:rgba(184,132,63,.42)}.rightSideBar .roomEditorFeatureButton{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;padding:10px;border:0;background:rgba(0,0,0,0);color:#f4ecd8;font:inherit;text-align:left;cursor:pointer}.rightSideBar .roomEditorFeatureButton small,.rightSideBar .roomEditorFeatureButton strong{display:block}.rightSideBar .roomEditorFeatureButton strong{font-size:13px;line-height:1.3}.rightSideBar .roomEditorFeatureButton small{margin-top:2px;color:rgba(244,236,216,.42);font-size:11px}.rightSideBar .roomEditorFeatureButton:hover{background:rgba(244,236,216,.055)}.rightSideBar .roomEditorFeatureButton:focus-visible{outline:2px solid rgba(184,132,63,.7);outline-offset:-2px}.rightSideBar .roomEditorFeatureToggle{flex-shrink:0;color:rgba(244,236,216,.5);font-size:12px}.rightSideBar .roomEditorFeatureBody{padding:0 10px 12px;border-top:1px solid rgba(244,236,216,.08)}.rightSideBar .roomEditorEmptyFeatures{margin:0;padding:12px;border:1px dashed rgba(244,236,216,.14);border-radius:6px;color:rgba(244,236,216,.48);font-size:13px;line-height:1.5}.rightSideBar .roomEditorFeatureTextarea{min-height:86px}.output-log{display:flex;flex-direction:column;gap:4px;box-sizing:border-box;min-height:100%;padding:.75rem;font-family:var(--font-mono,monospace);font-size:.875rem;line-height:1.5;white-space:pre-wrap}.output-log__message{margin:0 0 .5rem;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--panel-text)}.output-log__message--error{color:#ff7a7a}.output-log__message--system{color:var(--panel-muted)}.command-input{display:flex;align-items:center;flex-shrink:0;padding:12px;background:var(--command-bg);color:var(--panel-text)}.command-input__prompt{margin-right:8px;user-select:none}.command-input__field{flex:1;min-width:0;margin:0;padding:0;border:none;outline:none;background:rgba(0,0,0,0);color:var(--panel-text);font:inherit}.command-input__field:focus{outline:none}.game-player{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;overflow:hidden;background:var(--command-bg);color:var(--panel-text);font-family:Courier New,Courier,monospace;font-size:14px;line-height:1.4}.game-player__output{flex:1;min-height:0;overflow-y:auto;padding:12px}.command-line{display:flex;min-height:0;flex-direction:column;overflow:hidden}.command-line__toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--panel-border);background:var(--panel-bg)}.command-line__sync-button{display:inline-flex;align-items:center;gap:6px;border:1px solid hsla(0,0%,100%,.22);background:hsla(0,0%,100%,.08);color:hsla(0,0%,100%,.88);font:inherit;font-size:12px;padding:4px 8px;cursor:pointer}.command-line__sync-button:hover:not(:disabled){background:hsla(0,0%,100%,.14)}.command-line__sync-button:disabled{cursor:not-allowed;opacity:.45}.node{position:absolute;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%;border:2px solid var(--map-border);background:var(--map-node-surface);pointer-events:auto;user-select:none;touch-action:none;z-index:3;cursor:pointer;box-shadow:0 1px 2px var(--map-shadow);transition:transform .1s ease,border-color .1s ease,background-color .1s ease,box-shadow .1s ease}.node:after{content:"";position:absolute;inset:-7px}.node:hover{transform:translate(-50%,-50%) scale(1.25);border-color:var(--map-accent-strong);background:var(--map-selection-contrast);box-shadow:0 1px 2px var(--map-shadow)}.node--outgoing:before{content:"";position:absolute;top:50%;left:50%;width:3px;height:3px;transform:translate(-50%,-50%);border-radius:50%;background:var(--map-line)}.node.node--armed,.node.node--armed:hover{--node-pulse-border:#8f2929;--node-pulse-fill:#ffd6d2;--node-pulse-ring:#d84b45;animation:nodePulse 1s ease-out infinite}.node--pulse{animation:nodePulse 1s ease-out infinite}@keyframes nodePulse{0%{transform:translate(-50%,-50%) scale(1);border-color:var(--node-pulse-border,var(--map-accent-strong));background:var(--node-pulse-fill,var(--map-selection-contrast));outline:2px solid var(--node-pulse-ring,var(--map-accent));outline-offset:0}70%,to{transform:translate(-50%,-50%) scale(1);border-color:var(--node-pulse-border,var(--map-accent-strong));background:var(--node-pulse-fill,var(--map-selection-contrast));outline:2px solid rgba(0,0,0,0);outline-offset:6px}}.roomCard{position:absolute;transform:translate(-50%,-50%);border:1px solid var(--map-room-border);border-radius:2px;background:var(--map-room-surface);color:var(--map-room-text);padding:8px 12px;cursor:grab;user-select:none;touch-action:none;z-index:1;overflow:visible;box-shadow:inset 0 1px 0 var(--map-highlight),0 2px 4px var(--map-shadow);transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease}.roomCard .roomCardName{display:-webkit-box;width:100%;overflow:hidden;font-size:13px;font-weight:600;line-height:1.2;text-align:center;overflow-wrap:anywhere;-webkit-box-orient:vertical}.roomCard:hover{background:var(--map-room-hover);box-shadow:inset 0 1px 0 var(--map-highlight),0 3px 7px var(--map-shadow)}.roomCard.roomCardSelected{border:3px solid var(--map-accent);background:var(--map-room-selected);box-shadow:inset 0 1px 0 var(--map-highlight),0 0 0 1px var(--map-accent-strong),0 3px 7px var(--map-shadow)}.roomCard.roomCardSelected .node{border-color:var(--map-room-border)}.roomCard.roomCardDragging{cursor:grabbing;box-shadow:0 6px 14px var(--map-shadow)}.connection .connectionClickTarget{cursor:pointer}.connection .connectionPath{stroke:var(--map-line);stroke-width:2}.connection .connectionPathUnderlay{stroke:var(--map-accent-strong);stroke-width:5.5;opacity:1}.connection .connectionPathDashed{stroke-dasharray:4 5}.connection .connectionPathDirectional{stroke-dasharray:50 50}.connection.connectionEditing .connectionPath{stroke:var(--map-line);stroke-width:3;opacity:.68}.connection.connectionSelected .connectionPath{stroke:var(--map-accent);stroke-width:3.5;opacity:1}.connectionMidpointGlyph{color:inherit}.connectionMidpointGlyphInner{transform-box:fill-box;transform-origin:center;transition:transform .12s ease,filter .12s ease}.connectionMidpointGlyphOutline{fill:var(--map-line);stroke:none;transition:fill .12s ease}.connectionMidpointGlyphBody,.connectionMidpointGlyphFace{fill:#fff;stroke:none}.connectionMidpointGlyphIcon{color:var(--map-line);stroke:currentColor;fill:none;transition:color .12s ease}.connectionMidpointGlyphControl{cursor:pointer;pointer-events:all;outline:none}.connectionMidpointGlyphControl circle{fill:rgba(0,0,0,0)}.connectionMidpointGlyphControl:focus-visible circle{stroke:var(--map-accent-strong);stroke-width:2}.connection:has(.connectionMidpointGlyphControl:active) .connectionMidpointGlyphFace{fill:#d8d8d8}.connectionSelected .connectionMidpointGlyphOutline{fill:var(--map-accent-strong)}.connectionSelected .connectionMidpointGlyphBody{fill:var(--map-accent)}.connectionSelected .connectionMidpointGlyphIcon{color:var(--map-accent-strong)}.connection:hover .connectionMidpointGlyphInner{transform:scale(1.06)}.map{--map-surface:#aaa08a;--map-grid:rgba(48,38,53,0.14);--map-border:#443a4b;--map-line:#4c4154;--map-room-surface:#d9ceb4;--map-room-hover:#e7dcc2;--map-room-selected:#cfe4da;--map-room-border:#665a70;--map-room-text:#2d2532;--map-node-surface:#fff8e8;--map-accent:#45c5a0;--map-accent-strong:#245c4f;--map-accent-soft:rgba(69,197,160,0.2);--map-selection-contrast:#d9fff3;--map-shadow:rgba(48,37,55,0.25);--map-highlight:rgba(255,251,235,0.48);position:relative;width:100%;height:100%;border:1px solid var(--map-border);background-color:var(--map-surface);background-image:radial-gradient(circle at 22% 28%,rgba(129,105,164,.08),transparent 34%),radial-gradient(circle at 78% 68%,rgba(92,126,145,.06),transparent 38%),linear-gradient(var(--map-grid) 1px,transparent 1px),linear-gradient(90deg,var(--map-grid) 1px,transparent 1px);background-size:auto,auto,48px 48px,48px 48px;overflow:hidden;touch-action:none;color-scheme:light;cursor:default}.map.map--tool-edit{cursor:crosshair}.map.map--tool-pan{cursor:grab}.map.map--tool-pan .mapViewport{pointer-events:none}.map.map--panning{cursor:grabbing}.map .mapViewport{position:absolute;inset:0;transform-origin:0 0;will-change:transform}.map.map--theme-dark{--map-surface:#756b56;--map-grid:rgba(246,231,198,0.1);--map-border:#a99a7b;--map-line:#d5c39d;--map-room-surface:#554d3f;--map-room-hover:#625847;--map-room-selected:#48675c;--map-room-border:#c4b28d;--map-room-text:#fff6dc;--map-node-surface:#f0dfba;--map-accent:#73e2c0;--map-accent-strong:#255d50;--map-accent-soft:rgba(115,226,192,0.2);--map-selection-contrast:#dcfff4;--map-shadow:rgba(24,20,14,0.38);--map-highlight:rgba(255,241,207,0.12);color-scheme:dark;background-image:radial-gradient(circle at 22% 28%,rgba(171,140,91,.12),transparent 34%),radial-gradient(circle at 78% 68%,rgba(93,132,133,.08),transparent 38%),linear-gradient(var(--map-grid) 1px,transparent 1px),linear-gradient(90deg,var(--map-grid) 1px,transparent 1px)}.map .mapSvg{position:absolute;inset:0;pointer-events:none;overflow:visible}.map .mapConnectionDragPath{stroke:var(--map-accent);stroke-width:2;stroke-dasharray:4 5}.map .mapSnapTarget{stroke:var(--map-accent);stroke-width:2;filter:drop-shadow(0 0 2px #ffffff)}.editorPage{display:flex;width:100%;height:100%;min-height:0;overflow:hidden;background:var(--workspace-bg)}.editorPage .editorMainPanel{display:flex;flex:1;flex-direction:column;min-width:0;overflow:hidden}.editorPage .editorWorkspaceShell{flex:1;min-height:0;overflow:hidden}.editorPage .editorToolbar{display:flex;align-items:center;height:48px;flex-shrink:0;box-sizing:border-box;padding:0 16px;border-bottom:1px solid var(--panel-border);background:var(--panel-bg)}.editorPage .editorToolbar .editorToolbarTitle{margin:0;color:var(--panel-text);font-size:14px;font-weight:600}.editorPage .editorToolbar .editorToolbarDescription{margin:0;color:var(--panel-muted);font-size:12px}.editorPage .placeholderWorkspace{display:flex;align-items:center;justify-content:center;height:100%;min-height:0;box-sizing:border-box;padding:24px;overflow:auto;background:var(--workspace-bg)}.editorPage .placeholderWorkspace .placeholderWorkspaceCard{max-width:576px;box-sizing:border-box;padding:32px;border:1px solid hsla(0,0%,100%,.1);border-radius:16px;background:hsla(0,0%,100%,.03);text-align:center;box-shadow:0 25px 50px rgba(0,0,0,.35)}.editorPage .placeholderWorkspace .placeholderWorkspaceCard .placeholderWorkspaceTitle{margin:0;color:#fff;font-size:18px;font-weight:600}.editorPage .placeholderWorkspace .placeholderWorkspaceCard .placeholderWorkspaceDescription{margin:8px 0 0;color:hsla(0,0%,100%,.55);font-size:14px;line-height:1.5}