:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:#1b2430;background:#eef2f7;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--line: #d8dee9;--line-strong: #b9c3d2;--surface: #ffffff;--surface-soft: #f7f9fc;--ink-muted: #607086;--blue: #2563eb;--blue-soft: #dbeafe;--green: #16875d;--green-soft: #dff5eb;--red: #c83f3f;--red-soft: #fde2e2;--amber: #a86b0a;--amber-soft: #fff1cf;--black-soft: #e4e7ec;--shadow: 0 14px 40px rgba(34, 43, 59, .09)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.multi-world-shell{min-height:100vh;display:grid;gap:12px;padding:14px}.multi-world-shell .app-shell,.multi-world-shell .runtime-shell{padding:0}.world-selector{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:12px 14px}.world-selector h1{margin:0;font-size:18px;line-height:1.2;letter-spacing:0}.world-tabs{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.world-tab{min-height:48px;min-width:180px;display:grid;justify-items:start;gap:2px;border:1px solid var(--line);border-radius:8px;background:#fbfcff;color:#263447;padding:7px 10px}.world-tab strong{font-size:13px;line-height:1.25}.world-tab span{color:var(--ink-muted);font-size:12px}.world-tab.active{border-color:#7ba4ef;background:#eef5ff}.workspace-switcher{min-height:54px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:8px}.workspace-tab{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:8px;background:#fbfcff;color:#263447;padding:0 14px}.workspace-tab.active{border-color:#7ba4ef;background:#eef5ff;color:#1747a6}.play-workspace{min-height:0;display:grid;gap:12px}.play-release-switcher{min-height:68px;display:grid;grid-template-columns:minmax(260px,1fr) auto;align-items:center;gap:10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:12px 14px}.play-release-summary h2,.play-release-summary p{margin:0}.play-release-summary h2{font-size:18px;line-height:1.2;letter-spacing:0}.play-release-summary p{margin-top:4px;color:var(--ink-muted);font-size:13px;line-height:1.4}.play-release-tabs{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.play-release-tab{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:8px;background:#fbfcff;color:#263447;padding:0 12px}.play-release-tab.active{border-color:#7ba4ef;background:#eef5ff;color:#1747a6}.play-release-switcher .release-status-row,.play-release-switcher .manifest-issues{grid-column:1 / -1}.builder-workspace,.test-workspace,.settings-workspace{min-height:0;display:grid;gap:12px}.settings-panel{display:grid;gap:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:16px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-card{min-width:0;border:1px solid var(--line);border-radius:8px;background:#fbfcff;padding:12px}.settings-card strong{display:block;margin-bottom:8px;color:#31425b;font-size:13px}.settings-card ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.settings-card li{color:var(--ink-muted);font-size:12px;line-height:1.45;overflow-wrap:anywhere}.builder-nav{min-height:68px;display:grid;grid-template-columns:minmax(180px,auto) 1fr;align-items:start;gap:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:12px 14px}.builder-nav-head{min-width:0;display:grid;gap:8px}.builder-nav h2{margin:0;font-size:18px;line-height:1.2;letter-spacing:0}.builder-nav-body{min-width:0;display:grid;gap:10px}.builder-module-section{min-width:0;display:grid;gap:6px}.builder-module-section>strong{color:#31425b;font-size:12px;line-height:1.35}.builder-nav-tabs{display:flex;justify-content:flex-start;gap:8px;flex-wrap:wrap}.builder-nav-tab{min-height:42px;min-width:132px;display:grid;grid-template-columns:auto 1fr;align-items:center;justify-items:start;gap:1px 7px;border:1px solid var(--line);border-radius:8px;background:#fbfcff;color:#263447;padding:6px 9px}.builder-nav-tab.active{border-color:#9ed8ba;background:#eef7f2}.builder-nav-tab.planned{grid-template-columns:1fr;background:#f3f5f8;color:#667085}.builder-nav-tab>svg{grid-row:1 / span 2}.builder-nav-tab.mounted{grid-template-columns:1fr auto;gap:0;padding:0;overflow:hidden}.builder-nav-tab.mounted>button:first-child{min-width:0;min-height:42px;display:grid;justify-items:start;gap:1px;border:0;background:transparent;color:inherit;padding:6px 9px;text-align:left}.builder-nav-remove{width:32px;height:100%;min-height:42px;display:grid;place-items:center;border:0;border-left:1px solid var(--line);background:transparent;color:var(--ink-muted);padding:0}.builder-nav-remove:hover:not(:disabled){background:#edf2f8;color:#263447}.builder-nav-tab strong{font-size:12px;line-height:1.25}.builder-nav-tab span{color:var(--ink-muted);font-size:11px;line-height:1.25}.builder-add-entry{width:fit-content;min-height:34px;display:inline-flex;align-items:center;gap:7px;border:1px solid #9ed8ba;border-radius:8px;background:#eef7f2;color:#1f5f43;font-weight:750;padding:7px 10px}.builder-add-entry:hover:not(:disabled){background:#e1f1e9}.builder-add-module{display:grid;gap:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:16px}.builder-add-layout{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:14px;align-items:start}.builder-add-main{min-width:0;display:grid;gap:14px}.builder-add-group{min-width:0;display:grid;gap:10px}.builder-add-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#31425b}.builder-add-group-head strong{font-size:13px}.builder-add-group-head span{color:var(--ink-muted);font-size:12px}.builder-add-grid{min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}.builder-add-card{min-width:0;display:grid;gap:10px;border:1px solid var(--line);border-radius:8px;background:#fbfcff;padding:12px}.builder-add-card-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.builder-add-card-head h3{margin:2px 0 0;color:#172033;font-size:17px;line-height:1.2;letter-spacing:0}.builder-add-card-head span{color:var(--ink-muted);font-size:11px;font-weight:750;text-transform:uppercase}.builder-add-card p{margin:0;color:#40506a;font-size:13px;line-height:1.55}.module-boundary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.module-boundary>div{min-width:0;border-top:1px solid var(--line);padding-top:8px}.module-boundary strong{display:block;margin-bottom:5px;color:#31425b;font-size:12px}.module-boundary ul{display:grid;gap:4px;margin:0;padding:0;list-style:none}.module-boundary li{color:var(--ink-muted);font-size:12px;line-height:1.35}.builder-mounted-summary{min-width:0;display:grid;gap:10px;border:1px solid var(--line);border-radius:8px;background:#f7f9fc;padding:12px}.builder-mounted-summary>strong{color:#31425b;font-size:13px}.builder-mounted-list{display:grid;gap:7px}.builder-mounted-item{min-height:42px;display:grid;justify-items:start;gap:2px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#263447;padding:7px 9px;text-align:left}.builder-mounted-item span{font-size:13px;font-weight:750}.builder-mounted-item small{color:var(--ink-muted);font-size:11px}.builder-link-map{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:10px}.builder-link-map strong{color:#31425b;font-size:13px}.builder-link-map ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}.builder-link-map li,.builder-link-map p{margin:0;color:var(--ink-muted);font-size:12px;line-height:1.4;overflow-wrap:anywhere}.manifest-draft-controls{min-height:68px;display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:center;gap:10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:12px 14px}.manifest-draft-controls h2{margin:0;font-size:18px;line-height:1.2;letter-spacing:0}.manifest-draft-controls .editor-save-message,.manifest-draft-controls .manifest-issues{grid-column:1 / -1}.release-status-row{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px}.release-status-row span{min-height:26px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:#526173;padding:3px 9px;font-size:12px;line-height:1.35}.migration-preview-row{grid-column:1 / -1;display:grid;gap:7px;border:1px solid var(--line);border-radius:8px;background:#fbfcff;padding:9px 10px}.release-diff-row{grid-column:1 / -1;display:grid;gap:7px;border:1px solid #c7d8f5;border-radius:8px;background:#f5f9ff;padding:9px 10px}.prepublish-gate-row{grid-column:1 / -1;display:grid;gap:7px;border:1px solid #bcd8ca;border-radius:8px;background:#f5fbf8;padding:9px 10px}.migration-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.migration-preview-head strong{font-size:13px;line-height:1.3}.migration-preview-head span,.migration-change-list p{margin:0;color:var(--ink-muted);font-size:12px;line-height:1.45}.migration-change-list{display:grid;gap:3px}.manifest-preview{min-height:0;display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.manifest-preview-head{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-bottom:1px solid var(--line);background:#fbfcff}.manifest-preview-head h2{margin:0;font-size:18px;line-height:1.2;letter-spacing:0}.manifest-preview-body{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr);gap:14px;padding:12px 14px}.manifest-column{min-width:0;display:grid;align-content:start;gap:10px}.manifest-preview-section{min-width:0;border-top:1px solid var(--line);padding-top:10px}.manifest-preview-section:first-child{border-top:0;padding-top:0}.manifest-preview-section strong{display:inline-flex;align-items:center;gap:6px;margin-bottom:6px;color:#31425b;font-size:13px;line-height:1.35}.manifest-preview-section ul{margin:0;padding-left:18px}.manifest-preview-section li{margin:3px 0;color:#526173;font-size:12px;line-height:1.45;overflow-wrap:anywhere;white-space:pre-wrap}.manifest-dryrun-input{display:grid;grid-template-columns:1fr auto;gap:8px}.manifest-dryrun-input input{width:100%;min-width:0;min-height:38px;border:1px solid var(--line-strong);border-radius:8px;background:#fbfcff;color:#1f2a3a;padding:0 10px}.manifest-editor,.manifest-module-editor{min-height:0;display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.manifest-module-head{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-bottom:1px solid var(--line);background:#fbfcff}.manifest-module-head h2{margin:0;font-size:18px;line-height:1.2;letter-spacing:0}.manifest-module-body{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(360px,1.15fr) minmax(260px,.8fr);gap:14px;padding:12px 14px}.module-library-body{grid-template-columns:minmax(220px,.65fr) minmax(360px,1.25fr) minmax(260px,.75fr)}.manifest-module-list,.manifest-module-form,.manifest-module-preview{min-width:0;display:grid;align-content:start;gap:10px}.manifest-module-list{max-height:500px;overflow:auto}.module-json-editor{min-width:0;display:grid;gap:5px}.module-json-editor span{color:var(--ink-muted);font-size:12px;line-height:1.35}.module-json-editor textarea{width:100%;min-width:0;min-height:220px;resize:vertical;border:1px solid var(--line-strong);border-radius:8px;background:#fbfcff;color:#1f2a3a;padding:9px 10px;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.module-json-editor.compact-json-editor textarea{min-height:86px}.two-column-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.action-flow-body{grid-template-columns:minmax(220px,.58fr) minmax(420px,1.32fr) minmax(280px,.82fr)}.action-flow-section{display:grid;gap:10px;border:1px solid var(--line);border-radius:8px;background:#fbfcff;padding:10px}.action-flow-section>strong,.action-flow-section .manifest-editor-toolbar>strong{color:#31425b;font-size:13px;line-height:1.35}.relationship-stage-editor{display:grid;gap:10px;border:1px solid var(--line);border-radius:8px;background:#fbfcff;padding:10px}.relationship-stage-tabs{display:flex;flex-wrap:wrap;gap:6px}.relationship-stage-tabs .workspace-tab{min-height:32px;padding:0 10px;font-size:12px}.manifest-schema-field-list,.manifest-schema-field-editor{min-width:0;display:grid;gap:8px}.manifest-schema-field-list{max-height:260px;overflow:auto}.manifest-schema-field-list .manifest-panel-item{min-height:50px}.manifest-schema-field-list .manifest-panel-item>span{min-width:54px;padding:0 6px;overflow-wrap:anywhere}.manifest-module-preview{border-left:1px solid var(--line);padding-left:14px}.manifest-module-preview>strong{color:#31425b;font-size:13px;line-height:1.35}.manifest-module-preview ul{margin:0;padding-left:18px}.manifest-module-preview li{margin:3px 0;color:#526173;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.module-library-detail{display:grid;gap:12px;border:1px solid var(--line);border-radius:8px;background:#fbfcff;padding:12px}.module-library-title{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:10px}.module-library-title h3,.module-library-title p{margin:0}.module-library-title h3{font-size:17px;line-height:1.2;letter-spacing:0}.module-library-title p{margin-top:4px;color:var(--ink-muted);font-size:13px;line-height:1.45}.manifest-test-runner{min-height:0;display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.manifest-test-head{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-bottom:1px solid var(--line);background:#fbfcff}.manifest-test-head h2{margin:0;font-size:18px;line-height:1.2;letter-spacing:0}.manifest-test-body{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(320px,1.05fr) minmax(320px,1.05fr);gap:14px;padding:12px 14px}.manifest-test-column{min-width:0;display:grid;align-content:start;gap:10px}.manifest-test-section{min-width:0;border-top:1px solid var(--line);padding-top:10px}.manifest-test-section:first-child{border-top:0;padding-top:0}.manifest-test-section strong,.manifest-sim-list>strong{display:inline-flex;align-items:center;gap:6px;margin-bottom:6px;color:#31425b;font-size:13px;line-height:1.35}.manifest-test-section ul,.manifest-sim-samples ul{margin:0;padding-left:18px}.manifest-test-section li,.manifest-sim-samples li{margin:3px 0;color:#526173;font-size:12px;line-height:1.45;overflow-wrap:anywhere;white-space:pre-wrap}.manifest-designer-form{display:grid;gap:10px}.manifest-designer-form label,.manifest-designer-grid label{display:grid;gap:6px}.manifest-designer-form span,.manifest-designer-grid span{color:var(--ink-muted);font-size:12px;font-weight:700}.manifest-designer-form textarea,.manifest-designer-grid select{width:100%;min-width:0;border:1px solid var(--line-strong);border-radius:8px;background:#fbfcff;color:#1f2a3a;padding:10px;font:inherit}.manifest-designer-form textarea{resize:vertical;line-height:1.5}.manifest-designer-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.manifest-designer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:flex-end;margin-bottom:10px}.manifest-proposal-controls{display:flex;flex-wrap:wrap;gap:8px}.manifest-proposal-controls button{border:1px solid var(--line-strong);border-radius:8px;background:#fbfcff;color:#31425b;padding:8px 10px;font:inherit;font-size:12px;cursor:pointer}.manifest-proposal-payload{border-top:1px solid var(--line);padding-top:10px}.manifest-proposal-payload summary{cursor:pointer;color:#31425b;font-size:13px;font-weight:700}.manifest-proposal-payload pre{max-height:420px;margin:8px 0 0;overflow:auto;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f6f8fb;color:#334155;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.manifest-diff-list{border-top:1px solid var(--line);padding:12px;display:grid;gap:10px}.manifest-diff-list>strong{display:flex;align-items:center;gap:6px;color:#31425b;font-size:13px}.manifest-diff-card{border:1px solid var(--line);border-radius:8px;background:#fbfcff;overflow:hidden}.manifest-diff-head{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding:8px 10px}.manifest-diff-head span{border:1px solid var(--line);border-radius:999px;padding:2px 8px;color:#365174;font-size:11px;font-weight:800;text-transform:uppercase}.manifest-diff-head b{min-width:0;color:#1f2a3a;font-size:12px;overflow-wrap:anywhere}.manifest-diff-card p{margin:0;padding:8px 10px;color:var(--ink-muted);font-size:12px;line-height:1.45}.manifest-diff-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.manifest-diff-grid pre{max-height:260px;margin:0;overflow:auto;padding:10px;background:#f6f8fb;color:#334155;border-right:1px solid var(--line);font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.manifest-diff-grid pre:last-child{border-right:0;background:#f7fbf8}.manifest-sim-control label{display:grid;gap:5px}.manifest-sim-control span{color:var(--ink-muted);font-size:12px}.manifest-sim-control input{width:130px;min-height:34px;border:1px solid var(--line-strong);border-radius:8px;background:#fbfcff;color:#1f2a3a;padding:0 10px}.manifest-sim-list{min-width:0;display:grid;gap:10px;border-top:1px solid var(--line);padding-top:10px}.manifest-sim-card{min-width:0;border:1px solid var(--line);border-radius:8px;background:#fbfcff;overflow:hidden}.manifest-sim-head{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-bottom:1px solid var(--line)}.manifest-sim-head b,.manifest-sim-head span{display:block}.manifest-sim-head b{color:#263447;font-size:13px;line-height:1.35}.manifest-sim-head span{color:var(--ink-muted);font-size:12px;line-height:1.35}.manifest-sim-metrics{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:8px;padding:10px}.manifest-sim-metrics div{min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:8px}.manifest-sim-metrics span,.manifest-sim-metrics small{display:block;color:var(--ink-muted);font-size:11px;line-height:1.35}.manifest-sim-metrics strong{display:block;margin-top:4px;color:#263447;font-size:13px;line-height:1.35;overflow-wrap:anywhere}.manifest-sim-samples{border-top:1px solid var(--line);padding:8px 10px 10px}.manifest-sim-samples summary{color:#31425b;font-size:12px;font-weight:700;cursor:pointer}.manifest-editor-head{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-bottom:1px solid var(--line);background:#fbfcff}.manifest-editor-head h2{margin:0;font-size:18px;line-height:1.2;letter-spacing:0}.manifest-editor-body{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(360px,1.25fr) minmax(300px,1fr);gap:14px;padding:12px 14px}.manifest-panel-list,.manifest-panel-form,.manifest-layout-form{min-width:0;display:grid;align-content:start;gap:10px}.manifest-editor-toolbar{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px}.manifest-editor-toolbar strong{color:#31425b;font-size:13px}.manifest-panel-items{max-height:420px;overflow:auto;display:grid;gap:7px}.manifest-panel-item{width:100%;min-width:0;min-height:58px;display:grid;grid-template-columns:30px 1fr;align-items:center;gap:9px;border:1px solid var(--line);border-radius:8px;background:#fbfcff;color:#1f2a3a;padding:8px 10px;text-align:left}.manifest-panel-item.active{border-color:#7ba4ef;background:#eef5ff}.manifest-panel-item>span{min-height:28px;display:grid;place-items:center;border-radius:6px;background:var(--surface-soft);color:var(--ink-muted);font-size:12px}.manifest-panel-item strong,.manifest-panel-item small{display:block;min-width:0;overflow-wrap:anywhere}.manifest-panel-item strong{font-size:13px;line-height:1.35}.manifest-panel-item small{margin-top:2px;color:var(--ink-muted);font-size:11px;line-height:1.35}.editor-field-grid,.editor-json-grid{display:grid;gap:10px}.editor-field-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.editor-json-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}.editor-field-grid label,.editor-json-grid label,.manifest-layout-form label{min-width:0;display:grid;gap:5px}.editor-field-grid span,.editor-json-grid span,.manifest-layout-form label span{color:var(--ink-muted);font-size:12px;line-height:1.35}.editor-field-grid input,.editor-field-grid select,.manifest-layout-form input{width:100%;min-width:0;min-height:36px;border:1px solid var(--line-strong);border-radius:8px;background:#fbfcff;color:#1f2a3a;padding:0 10px}.editor-field-grid .inline-checkbox{min-height:36px;display:flex;align-items:center;gap:8px;align-self:end}.editor-field-grid .inline-checkbox input{width:16px;min-height:16px;padding:0}.editor-json-grid textarea,.manifest-layout-form textarea,.manifest-ui-json textarea{width:100%;min-width:0;min-height:120px;resize:vertical;border:1px solid var(--line-strong);border-radius:8px;background:#fbfcff;color:#1f2a3a;padding:9px 10px;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.manifest-layout-form textarea{min-height:150px}.manifest-layout-preview{display:flex;flex-wrap:wrap;gap:6px}.manifest-layout-preview span{min-height:26px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:#31425b;padding:3px 8px;font-size:12px}.manifest-ui-json{display:grid;gap:8px}.manifest-ui-json textarea{min-height:240px;margin:0 10px;width:calc(100% - 20px)}.manifest-ui-json .command-button{justify-self:start;margin:0 10px 10px}.editor-error,.editor-save-message{margin:0;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.editor-error{border-color:#efb6b6;background:var(--red-soft);color:#9b2929}.editor-save-message{border-color:#a8dfc5;background:var(--green-soft);color:#0c6847}.manifest-issues{display:grid;gap:5px;border-top:1px solid var(--line);padding-top:8px}.manifest-issues p{margin:0;color:var(--ink-muted);font-size:12px;line-height:1.45;overflow-wrap:anywhere}.app-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;gap:14px;padding:14px}.runtime-shell{min-height:0;display:grid;grid-template-rows:auto 1fr auto;gap:14px}.runtime-header{min-height:76px;display:grid;grid-template-columns:minmax(260px,1fr) auto;align-items:center;gap:16px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.runtime-header h1,.runtime-header p{margin:0}.runtime-header h1{font-size:24px;line-height:1.15;letter-spacing:0}.runtime-header p{margin-top:5px;color:var(--ink-muted);line-height:1.45}.runtime-grid{min-height:0;display:grid;grid-template-columns:repeat(4,minmax(260px,1fr));grid-auto-rows:minmax(230px,auto);gap:14px}.composition-runtime-shell{min-height:0;display:grid;gap:14px}.composition-runtime-summary,.composition-plan-panel,.composition-result-package{min-width:0;padding:14px}.composition-runtime-facts{display:grid;gap:5px;color:var(--ink-muted);font-size:13px;overflow-wrap:anywhere}.composition-runtime-facts p{margin:0}.composition-runtime-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:14px}.composition-instance-id{margin:0 0 10px;color:var(--ink-muted);font-size:12px;overflow-wrap:anywhere}.composition-plan-panel{display:grid;gap:10px}.composition-plan-panel textarea{min-height:220px;width:100%;resize:vertical;border:1px solid var(--line);border-radius:8px;background:#101722;color:#e8eef8;padding:12px;font:12px/1.45 Consolas,Courier New,monospace}.composition-result-package{margin:0;max-height:360px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#101722;color:#e8eef8;font:12px/1.45 Consolas,Courier New,monospace}.runtime-panel{min-height:260px}.runtime-status-grid,.runtime-command-grid,.runtime-list{min-height:0;overflow:auto;padding:12px}.runtime-status-grid{display:grid;grid-template-columns:repeat(2,minmax(100px,1fr));align-content:start;gap:8px}.runtime-stat{min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:10px}.runtime-stat span{display:block;color:var(--ink-muted);font-size:12px;line-height:1.35}.runtime-stat strong{display:block;margin-top:5px;font-size:16px;line-height:1.35;overflow-wrap:anywhere}.runtime-command-grid{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));align-content:start;gap:8px}.runtime-option-list{min-height:0;overflow:auto;display:grid;align-content:start;gap:12px;padding:12px}.runtime-option-group{min-width:0;display:grid;gap:8px}.runtime-option-group>strong{color:#31425b;font-size:13px}.runtime-option-grid{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:8px}.option-button{min-height:76px;display:grid;align-content:center;gap:4px;border:1px solid var(--line);border-radius:8px;background:#fbfcff;color:#1f2a3a;padding:9px 10px;text-align:left}.option-button:hover:not(:disabled){border-color:#8da2c0;background:#f1f6ff}.option-button span{font-weight:700;line-height:1.25}.option-button small{color:var(--ink-muted);line-height:1.35}.runtime-list{display:grid;align-content:start}.runtime-item-row{grid-template-columns:1fr}.character-card-list{gap:10px}.character-card-block{min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden}.character-card-head{min-height:64px;display:grid;grid-template-columns:1fr auto;align-items:start;gap:12px;padding:12px;border-bottom:1px solid var(--line);background:#fbfcff}.character-card-head strong{display:block;color:#263447;font-size:14px;line-height:1.35}.character-card-head p{margin:4px 0 0;color:var(--ink-muted);font-size:12px;line-height:1.45}.character-entry-list{display:grid}.character-entry{display:grid;gap:5px;padding:10px 12px;border-bottom:1px solid var(--line);background:#fff}.character-entry:last-child{border-bottom:0}.character-entry.active{background:#eef7f2}.character-entry-title{min-width:0;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.character-entry-title strong{color:#263447;font-size:13px;line-height:1.35}.character-entry-title span,.active-chip{min-height:22px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:2px 7px;color:var(--ink-muted);background:var(--surface-soft);font-size:11px}.character-entry-title .active-chip{border-color:#9ed8ba;background:var(--green-soft);color:#0c6847}.character-entry p,.character-entry small{margin:0;color:var(--ink-muted);font-size:12px;line-height:1.45;overflow-wrap:anywhere}.header-bar{min-height:76px;display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:16px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.title-block h1,.panel h2,.asset-card h3{margin:0;letter-spacing:0}.title-block h1{font-size:24px;line-height:1.1}.world-kicker,.section-kicker,.log-meta{color:var(--ink-muted);font-size:12px;line-height:1.4}.state-cluster,.header-actions,.card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.runtime-perspective-control{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:4px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--ink-muted);font-size:12px}.runtime-perspective-control select{min-width:96px;border:0;outline:0;background:transparent;color:#2d3949;font:inherit;font-weight:700}.stat-pill,.count-chip,.status-chip,.color-chip,.price-tag{min-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:999px;padding:5px 10px;border:1px solid var(--line);background:var(--surface-soft);color:#2d3949;white-space:nowrap}.gold-pill{background:var(--amber-soft);border-color:#f0cc7c;color:#714a05}.command-button,.icon-button{min-height:38px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:#1f2a3a;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;transition:border-color .16s ease,background .16s ease,transform .16s ease}.icon-button{width:38px;padding:0;flex:0 0 38px}.command-button:hover:not(:disabled),.icon-button:hover:not(:disabled){border-color:#8da2c0;background:#f1f6ff}.command-button:active:not(:disabled),.icon-button:active:not(:disabled){transform:translateY(1px)}.command-button.primary{border-color:#1d4ed8;background:var(--blue);color:#fff}.command-button.primary:hover:not(:disabled){background:#1d4ed8}.main-grid{min-height:0;display:grid;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.4fr) minmax(300px,1fr);gap:14px}.left-column,.center-column,.right-column{min-height:0;display:grid;gap:14px}.left-column{grid-template-rows:minmax(260px,1fr) minmax(300px,1.05fr)}.center-column{grid-template-rows:minmax(260px,1.1fr) minmax(260px,.95fr) minmax(190px,.7fr)}.right-column{grid-template-rows:minmax(260px,1fr) minmax(280px,1.05fr) minmax(230px,.85fr)}.panel{min-height:0;border:1px solid var(--line);border-radius:8px;background:#fffffff0;box-shadow:var(--shadow);overflow:hidden;display:grid;grid-template-rows:auto 1fr}.panel-header{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);background:#fbfcff}.panel h2{font-size:18px;line-height:1.2}.card-list,.narrative-list,.ledger-list,.trace-block,.battle-zone-body,.battle-detail-body,.exploration-body{min-height:0;overflow:auto;padding:12px}.card-list{display:grid;align-content:start;gap:10px}.asset-card{border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--surface)}.asset-card.dead,.asset-card.settled{background:#f0f2f5;color:#697586}.asset-card-head{min-height:36px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.asset-card h3{font-size:16px;line-height:1.25;margin-bottom:6px}.stats-grid{margin-top:12px;display:grid;grid-template-columns:repeat(4,minmax(48px,1fr));gap:6px}.stats-grid span,.stats-grid strong{min-height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px}.stats-grid span{background:#edf1f7;color:var(--ink-muted);font-size:12px}.stats-grid strong{background:#f9fbff;border:1px solid #e5eaf2;font-size:13px}.card-actions{justify-content:flex-end;margin-top:12px}.buy-button{width:100%;margin-top:12px}.select-row{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;margin-bottom:10px}.select-row span{color:var(--ink-muted);font-size:13px}.select-row select{min-width:0;min-height:36px;border:1px solid var(--line-strong);border-radius:8px;background:#fbfcff;color:#1f2a3a;padding:0 10px}.battle-card-list{padding:0}.price-tag{border-color:#f0cc7c;background:var(--amber-soft);color:#7b5108;font-size:14px}.status-chip{font-size:12px}.status-chip.alive{background:var(--green-soft);border-color:#a8dfc5;color:#0c6847}.status-chip.dead{background:var(--black-soft);color:#4d5969}.status-chip.tired{background:var(--amber-soft);border-color:#f0cc7c;color:#7b5108}.color-chip{min-height:24px;padding:3px 8px;font-size:12px}.color-red{background:var(--red-soft);border-color:#efb6b6;color:#9b2929}.color-blue{background:var(--blue-soft);border-color:#aac6ff;color:#1747a6}.color-green{background:var(--green-soft);border-color:#a7dfc3;color:#0d6948}.color-yellow{background:var(--amber-soft);border-color:#f1cf82;color:#805407}.color-black{background:#e9ebef;border-color:#c5cad3;color:#2a313c}.log-entry,.ledger-row{border-bottom:1px solid var(--line);padding:12px 2px}.log-entry:first-child,.ledger-row:first-child{padding-top:0}.log-entry p,.ledger-row p{margin:4px 0 0;line-height:1.55}.ledger-row{display:grid;grid-template-columns:1fr auto;align-items:start;gap:12px}.ledger-row strong{font-size:13px;color:#365174}.ledger-row span{color:var(--ink-muted);font-size:12px;white-space:nowrap}.trace-block{display:grid;gap:12px}.trace-section{border-bottom:1px solid var(--line);padding-bottom:10px}.trace-section strong{display:block;margin-bottom:6px;color:#31425b;font-size:13px}.trace-section ul{margin:0;padding-left:18px}.trace-section li{margin:3px 0;color:#526173;line-height:1.45;overflow-wrap:anywhere}.prompt-preview{border:1px solid var(--line);border-radius:8px;background:#fbfcff;overflow:hidden}.prompt-preview summary{min-height:38px;display:flex;align-items:center;padding:8px 10px;color:#31425b;font-size:13px;font-weight:700;cursor:pointer}.prompt-preview pre{max-height:360px;margin:0;overflow:auto;border-top:1px solid var(--line);padding:10px;background:#f6f8fb;color:#334155;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.battle-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.battle-summary-grid div{min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:10px}.battle-summary-grid span{display:block;color:var(--ink-muted);font-size:12px;line-height:1.35}.battle-summary-grid strong{display:block;margin-top:4px;font-size:13px;line-height:1.45;overflow-wrap:anywhere}.battle-round-list{display:grid;gap:8px;margin-top:12px}.battle-round-row{display:grid;grid-template-columns:70px 1fr;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:8px 0}.battle-round-row span{color:#365174;font-size:12px}.battle-round-row p{margin:0;line-height:1.45;overflow-wrap:anywhere}.subpanel{border:1px solid var(--line);border-radius:8px;background:#fbfcff;margin-top:12px;overflow:hidden}.subpanel-title{min-height:36px;display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--line)}.subpanel-title strong{font-size:13px;color:#31425b}.subpanel-title span{color:var(--ink-muted);font-size:12px}.compact-list{display:grid;gap:0}.compact-row{min-width:0;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:10px;border-bottom:1px solid var(--line)}.compact-row:last-child{border-bottom:0}.compact-row strong{display:block;font-size:13px;line-height:1.35;overflow-wrap:anywhere}.compact-row p{margin:4px 0 0;color:var(--ink-muted);font-size:12px;line-height:1.4;overflow-wrap:anywhere}.codex-row{grid-template-columns:1fr}.compact-empty{min-height:62px}.empty-state{display:grid;place-items:center;padding:20px;color:var(--ink-muted)}.nl-input-bar{min-height:68px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:10px}.nl-input-bar input{width:100%;min-width:0;min-height:44px;border:1px solid var(--line-strong);border-radius:8px;padding:0 12px;color:#1f2a3a;background:#fbfcff}.nl-input-bar input:focus{outline:2px solid #bfdbfe;border-color:#4f8ff7}@media(max-width:1180px){.main-grid,.runtime-grid{grid-template-columns:1fr 1fr}.warehouse-panel{grid-row:span 2}.right-column{grid-column:2}}@media(max-width:820px){.app-shell{padding:10px}.header-bar,.runtime-header,.world-selector,.builder-nav,.manifest-draft-controls,.manifest-preview-body,.manifest-test-body,.manifest-designer-grid,.manifest-diff-grid,.manifest-editor-body,.manifest-module-body,.builder-add-layout,.module-boundary,.settings-grid,.main-grid,.runtime-grid,.composition-runtime-grid,.nl-input-bar{grid-template-columns:1fr}.manifest-module-preview{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:12px}.world-tabs{justify-content:flex-start}.world-tab{width:100%}.header-actions{justify-content:flex-start}.main-grid,.left-column,.center-column,.right-column{display:grid;grid-template-columns:1fr}.warehouse-panel,.right-column{grid-column:auto;grid-row:auto}.panel{min-height:320px}}
