:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#e8edf7;--muted:#8ea0c0;--line:#24304c;--panel:#0f1626;--raised:#16203a;--accent:#5b8def;--danger:#ff8080}html,body{height:100%;color:var(--ink);background:#0b1220;margin:0;font:14px/1.5 system-ui,sans-serif}.app-editor{height:100%}.app-login{min-height:100%}#editor{background:var(--panel);height:100%;overflow:hidden}.app-login #editor{background:0 0;border:0;height:100%;padding:0;overflow:visible}.login-page{box-sizing:border-box;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);place-items:center;min-height:100%;padding:24px;display:grid}.login-card{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;box-sizing:border-box;color:#303133;background:#fff;border:1px solid #dcdfe6;border-radius:4px;width:min(400px,100%);overflow:hidden;box-shadow:0 10px 40px #0000004d}.login-header{text-align:center;border-bottom:1px solid #ebeef5;padding:18px 20px}.login-header h1{margin:0 0 8px;font-size:24px}.login-header p{color:#909399;margin:0}.login-form{gap:18px;padding:20px;display:grid}.login-form label{color:#606266;gap:8px;display:grid}.login-input{box-sizing:border-box;color:#303133;caret-color:#303133;width:100%;font:inherit;background:#fff;border:1px solid #dcdfe6;border-radius:4px;padding:10px 12px}.login-input::placeholder{color:#909399;opacity:1}.login-input:focus{border-color:#409eff;outline:none}.login-submit{color:#fff;cursor:pointer;width:100%;font:inherit;background:#409eff;border:0;border-radius:4px;padding:11px 16px}.login-submit:disabled{cursor:wait;opacity:.7}.login-error{color:#f56c6c;background:#fef0f0;border-radius:4px;margin:0;padding:10px 12px}.ed-session{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;display:flex}.ed-shell{background:#0b1220;grid-template-columns:104px minmax(0,1fr) 310px;height:100%;display:grid}.ed-main{background:var(--panel);min-width:0;overflow-y:auto}.ed-shell-wide .ed-main{grid-column:2/-1}.ed-toolbar,.ed-work{box-sizing:border-box;width:min(900px,100%);margin-inline:auto;padding-inline:32px}.ed-toolbar{border-bottom:1px solid var(--line);padding-top:24px;padding-bottom:18px}.ed-work{padding-top:24px;padding-bottom:48px}.ed-context{border-left:1px solid var(--line);background:#0c1322;padding:20px 16px;overflow-y:auto}.ed-context-group+.ed-context-group{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.ed-context h2{margin:0 0 10px}.ed-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.ed-save-row{align-items:center;gap:9px;margin-top:12px;display:flex}.ed-world-row{align-items:end;gap:8px;margin-top:14px;display:flex}.ed-world-row .ed-field{flex:260px;margin-bottom:0}.ed-world-select{width:100%}.ed-save-note{color:var(--muted);font-size:12px}.ed-save-note.ed-error{color:var(--danger)}#editor h1{margin:2px 0 0;font-size:22px}.ed-eyebrow{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:700}#editor h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:20px 0 8px;font-size:14px}.ed-row{flex-wrap:wrap;align-items:end;gap:8px;margin-bottom:8px;display:flex}.ed-button{border:1px solid var(--line);background:var(--raised);color:var(--ink);cursor:pointer;font:inherit;border-radius:6px;padding:6px 10px}.ed-button:hover:not(:disabled){border-color:var(--accent)}.ed-button:disabled{opacity:.5;cursor:default}.ed-primary{background:var(--accent);border-color:var(--accent);color:#06101f;font-weight:600}.ed-field{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.ed-field-label{color:var(--muted);font-size:12px}.ed-input{border:1px solid var(--line);color:var(--ink);font:inherit;background:#0c1424;border-radius:6px;min-width:0;padding:6px 8px}.ed-area{resize:vertical}.ed-count{width:72px}.ed-mode-rail{border-right:1px solid var(--line);background:#080e19;flex-direction:column;gap:6px;padding:20px 10px;display:flex}.ed-mode-link,.ed-section-link,.ed-tab{color:var(--muted);cursor:pointer;font:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:7px}.ed-mode-link{padding:10px 9px;font-size:12px}.ed-mode-link:hover,.ed-section-link:hover,.ed-tab:hover{background:var(--raised);color:var(--ink)}.ed-mode-link.ed-tab-active{border-color:var(--line);background:var(--raised);color:var(--accent)}.ed-design-sections,.ed-kind-tabs{gap:4px;display:grid}.ed-section-link,.ed-kind-tabs .ed-tab{box-sizing:border-box;width:100%;padding:7px 9px}.ed-section-link.ed-tab-active,.ed-kind-tabs .ed-tab-active{border-color:var(--line);background:var(--raised);color:var(--accent)}.ed-editor{max-width:720px}.ed-entity-picker{border-bottom:1px solid var(--line);margin-bottom:22px;padding-bottom:20px}.ed-entity-picker h2{margin-top:0}.ed-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px;display:grid}.ed-form .ed-field:has(.ed-area){grid-column:1/-1}.ed-list{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:4px;display:grid}.ed-list-item{text-align:left;flex-direction:column;align-items:start;gap:2px;display:flex}.ed-add{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-top:6px;display:grid}.ed-list-item-active{border-color:var(--accent)}.ed-list-detail{color:var(--muted);font-size:11px}.ed-detail{min-width:0}.ed-card{border:1px solid var(--line);background:var(--raised);border-radius:8px;margin-bottom:10px;padding:10px}.ed-card-head{justify-content:space-between;gap:8px;margin-bottom:6px;display:flex}.ed-badge{color:var(--muted);font-size:11px}.ed-accepted{color:#7ddc9a}.ed-rejected{color:var(--danger)}.ed-line,.ed-rationale{margin:2px 0;font-size:12px}.ed-rationale{color:var(--accent);font-style:italic}.ed-notes{color:var(--muted);margin:6px 0;padding-left:18px;font-size:12px}.ed-empty,.ed-status{color:var(--muted);font-size:12px}.ed-error,.ed-alert{color:var(--danger)}.ed-alert{margin:8px 0 0;font-size:13px}.ed-section-heading{margin-bottom:12px}.ed-section-heading h2,.ed-section-heading p{margin:0}.ed-section-heading p{color:var(--muted);margin-top:4px;font-size:12px}.ed-deployment-status{border:1px solid var(--line);color:var(--muted);border-radius:8px;grid-template-columns:auto minmax(0,1fr);gap:8px 16px;margin-top:24px;padding:14px;display:grid}.ed-deployment-status strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.ed-file{font-size:11px}.ed-generation-block{border:1px solid var(--line);background:var(--raised);border-radius:10px;padding:16px}.ed-generation-block+.ed-generation-block{margin-top:16px}@media (max-width:900px){.ed-shell{grid-template-columns:80px minmax(0,1fr) 250px}.ed-toolbar,.ed-work{padding-inline:20px}}@media (max-width:700px){.ed-shell{grid-template-rows:auto minmax(280px,1fr) minmax(180px,38vh);grid-template-columns:1fr}.ed-mode-rail{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;padding:8px}.ed-mode-link{text-align:center;flex:1}.ed-world-row{flex-wrap:wrap}.ed-context{border-top:1px solid var(--line);border-left:0;padding:12px 16px}.ed-context-group+.ed-context-group{margin-top:12px;padding-top:10px}.ed-form{grid-template-columns:1fr}.ed-form .ed-field:has(.ed-area){grid-column:auto}}.st-panel{flex-direction:column;gap:4px;display:flex}.st-worlds{margin-bottom:8px}.st-flowing{border:1px solid var(--accent);color:var(--ink);background:#10203a;border-radius:8px;margin:8px 0;padding:10px 12px;font-style:italic;position:relative}.st-flowing:not(.ff-pipeline-idle){padding-right:40px}.st-flowing:not(.ff-pipeline-idle):after{border:2px solid #83dfc547;border-top-color:var(--accent);content:"";border-radius:50%;width:14px;height:14px;animation:.8s linear infinite st-spin;position:absolute;top:12px;right:12px}.ff-pipeline-title{margin:0 0 7px;font-weight:700}.ff-turn-heading{flex-wrap:wrap;align-items:baseline;gap:6px 10px;display:flex}.ff-turn-info{border:1px solid var(--accent);width:20px;height:20px;color:var(--accent);cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;font:700 12px/1 inherit;display:inline-grid}.ff-turn-info:hover,.ff-turn-info:focus-visible,.ff-turn-info[aria-expanded=true]{background:#51c6aa24;outline:none}.ff-turn-metadata{border:1px solid var(--line);background:#0a1322;border-radius:8px;margin:6px 0 12px;padding:10px}.ff-turn-metadata h4{margin:0 0 8px;font-size:12px}.ff-turn-metadata-scroll{overflow-x:auto}.ff-turn-metadata-table{border-collapse:collapse;text-align:left;width:100%;font-size:11px}.ff-turn-metadata-table th,.ff-turn-metadata-table td{border-top:1px solid var(--line);white-space:nowrap;padding:5px 7px}.ff-turn-metadata-table thead th{color:var(--muted);border-top:0}.ff-turn-metadata-table tbody th{color:var(--ink);font-weight:500}.ff-turn-id{border:1px solid var(--line);color:#cbd6ec;cursor:copy;text-overflow:ellipsis;white-space:nowrap;background:#0b1220;border-radius:4px;min-width:0;max-width:min(310px,100%);padding:2px 6px;font:11px/1.3 ui-monospace,monospace;overflow:hidden}.ff-turn-id:hover,.ff-turn-id:focus-visible,.ff-turn-id-copied{border-color:var(--accent);color:var(--accent);outline:none}.ff-turn-id-failed{border-color:var(--danger);color:var(--danger)}.ff-pipeline{gap:4px;margin:0;padding:0;font-style:normal;list-style:none;display:grid}.ff-pipeline-stage{display:block}.ff-pipeline-row{width:100%;font:inherit;text-align:left;color:var(--muted);cursor:pointer;background:0 0;border:0;grid-template-columns:16px minmax(0,1fr) minmax(110px,auto) auto;align-items:center;gap:7px;padding:2px 0;display:grid}.ff-pipeline-running .ff-pipeline-row{color:var(--ink)}.ff-pipeline-state{color:var(--accent);text-align:center}.ff-pipeline-agent{color:var(--muted);font-size:12px}.ff-pipeline-prompt{border:1px solid var(--line);background:#0b1220;border-radius:6px;margin:6px 0 10px 23px;padding:8px 10px}.ff-pipeline-prompt p{margin:0 0 6px}.ff-pipeline-prompt pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#cbd6ec;max-height:420px;margin:0;font:11px/1.45 ui-monospace,monospace;overflow:auto}.ff-pipeline-time{color:#83dfc5;font-variant-numeric:tabular-nums}@keyframes st-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.st-flowing:not(.ff-pipeline-idle):after{animation:none}}.st-narration{white-space:pre-wrap;margin:8px 0 12px;font-size:15px;line-height:1.65}.st-standing{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin:0 0 12px;font-size:12px;display:grid}.st-standing-group{border:1px solid var(--line);background:linear-gradient(145deg,#151f33eb,#0b1423eb);border-radius:9px;min-width:0;padding:9px 10px}.st-standing-label{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:6px;margin:0 0 7px;font-size:10px;font-weight:700;display:flex}.st-standing-icon{color:var(--accent);font-size:14px;line-height:1}.st-standing-power{color:#83dfc5;letter-spacing:.02em;text-transform:none;background:#51c6aa29;border-radius:999px;margin-left:auto;padding:2px 6px;font-size:10px}.st-standing-entries{flex-wrap:wrap;gap:5px;display:flex}.st-standing-entry{min-width:0;color:var(--ink);background:#070d19b8;border:1px solid #7591ba40;border-radius:999px;align-items:center;gap:5px;padding:4px 7px;line-height:1.25;display:inline-flex}.st-standing-link{cursor:pointer;font:inherit;text-align:left}.st-standing-link:hover,.st-standing-link:focus-visible{border-color:var(--accent);background:#51c6aa1a;outline:none}.st-standing-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.st-standing-value{color:#83dfc5;font-variant-numeric:tabular-nums;background:#51c6aa29;border-radius:999px;padding:1px 5px;font-size:11px}.ff-established{grid-column:1/-1}.ff-established .st-standing-link{overflow-wrap:anywhere;white-space:normal;border-radius:12px;flex:100%;align-items:flex-start;width:100%;max-width:none}.ff-trace-timings{color:var(--muted);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:4px 18px;padding-left:18px;display:grid}.st-branches{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.st-branch-row{border:1px solid var(--line);background:var(--raised);border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;display:flex}.st-branch{border:1px solid var(--line);min-width:0;color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:#0c1424;border-radius:6px;flex:auto;padding:6px 10px}.st-branch:hover:not(:disabled){border-color:var(--accent)}.st-branch:disabled{opacity:.55;cursor:not-allowed}.st-branch-detail,.st-branch-cost,.st-branch-blocked{flex-basis:100%;margin:0;font-size:12px}.st-branch-detail{color:var(--muted)}.st-branch-cost{color:#d9b45b}.st-branch-blocked{color:var(--danger)}.st-badge{text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:2px 6px;font-size:11px}.st-written{color:#7bd88f;background:#16321f}.st-fresh{color:#b79bf0;background:#2a2340}.st-arc-card{border:1px solid var(--line);background:var(--raised);border-radius:8px;margin-bottom:10px;padding:10px 12px}.st-arc{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font:600 15px/1.4 inherit}.st-arc:hover:not(:disabled){color:var(--accent)}.st-arc-premise,.st-arc-hook{margin:6px 0 0;font-size:13px}.st-arc-hook{color:var(--muted);font-style:italic}.st-tag{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:2px 6px;font-size:11px}.st-own,.st-redo{border-top:1px solid var(--line);margin-bottom:10px;padding-top:10px}.st-provenance{color:var(--muted);margin:4px 0 0;font-size:11px}.st-empty{color:var(--muted);font-style:italic}.ff-threads{border:1px solid color-mix(in srgb, var(--accent) 38%, var(--line));background:#0b1728;border-radius:9px;margin-bottom:12px;padding:10px}.ff-thread-tabs{margin:6px 0 9px}.ff-thread-tab{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#111c2e;border-radius:7px;padding:7px 10px}.ff-thread-tab.ff-thread-active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 24%, #111c2e);color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}.ff-thread-running:after{color:var(--accent)}.ff-degraded{color:#ffd58a;background:#30240f;border:1px solid #d69a35;border-radius:7px;margin:8px 0;padding:9px 11px;font-size:12px;line-height:1.45}.ff-roll-table{border-collapse:collapse;border:1px solid var(--line);background:#0a1322;width:100%;margin:10px 0;font-size:12px}.ff-roll-table caption{color:var(--ink);text-align:left;padding:8px 10px;font-weight:700}.ff-roll-table th,.ff-roll-table td{border-top:1px solid var(--line);text-align:left;padding:6px 9px}.ff-roll-table th:first-child{width:22%}.ff-roll-positive td:last-child{color:#7bd88f}.ff-roll-negative td:last-child{color:#ff8e8e}.ff-roll-opposed{color:#d7b4ff}.ff-roll-total,.ff-roll-outcome{font-weight:700}.ff-scene-bar,.ff-chronicle-index{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.ff-scene-bar{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--line));background:#0d1a2d;border-radius:9px;margin:6px 0 12px;padding:10px 12px}.ff-scene-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-right:3px;font-size:11px;font-weight:700}.ff-scene-entity{border:1px solid var(--accent);color:var(--ink);cursor:pointer;font:inherit;background:0 0;border-radius:999px;padding:4px 9px;font-size:12px}.ff-inspector-actions{margin:4px 0 12px}.ff-chronicles,.ff-traces{border:1px solid var(--line);background:var(--raised);border-radius:10px;margin:6px 0 14px;padding:14px}.ff-inspector-head{justify-content:space-between;align-items:start;gap:12px;display:flex}.ff-inspector-head h2,.ff-traces h2,.ff-trace h3,.ff-trace h4,.ff-chronicle-entry p{margin:0}.ff-chronicle-index{max-height:130px;margin:12px 0;overflow:auto}.ff-chronicle-entry,.ff-trace{border:1px solid var(--line);background:#0c1424;border-radius:8px;margin-top:10px;padding:11px}.ff-chronicle-entry p{margin-top:5px;line-height:1.5}.ff-knowledge-tree{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin:12px 0;display:grid}.ff-knowledge-tree>h3{grid-column:1/-1;margin:0}.ff-knowledge-branch{border:1px solid var(--line);background:#0c1424;border-radius:7px;min-width:0;padding:7px 9px}.ff-knowledge-branch summary{color:var(--muted);cursor:pointer;font-size:12px;font-weight:700}.ff-knowledge-branch .ff-chronicle-index{margin-bottom:0}.ff-fact-link{width:100%;color:var(--ink);cursor:pointer;font:inherit;text-align:left;line-height:1.5;display:block}.ff-fact-link:hover,.ff-fact-link:focus-visible{border-color:var(--accent);outline:none}.ff-fact-detail{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--line));background:#0d1a2d;border-radius:9px;margin-top:14px;padding:13px}.ff-fact-detail h3,.ff-fact-detail h4{margin-bottom:6px}.ff-fact-source summary{color:var(--accent);cursor:pointer}.ff-character-profile{border:1px solid var(--line);background:#0c1424;border-radius:8px;margin-top:12px;padding:12px}.ff-character-appearance{color:#dce7f8;font-style:italic}.ff-character-summary{flex-wrap:wrap;gap:6px;margin:10px 0;display:flex}.ff-character-values{border-collapse:collapse;width:100%;font-size:12px}.ff-character-values caption{text-align:left;padding:5px 0;font-weight:700}.ff-character-values th,.ff-character-values td{border-top:1px solid var(--line);text-align:left;padding:5px 8px}.ed-field-label[title],.ff-skill-name[title]{text-underline-offset:3px;cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.ff-trace h4{margin-top:12px}.ff-trace-call{border:1px solid var(--line);border-radius:7px;margin-top:8px;padding:8px 10px}.ff-trace-call summary{cursor:pointer;font-weight:600}.ff-trace-payload{color:#c8d5ea;white-space:pre-wrap;background:#070c15;border-radius:6px;max-height:320px;padding:10px;font:11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto}.admin-panel{padding-bottom:24px}.admin-tabs{margin-bottom:16px}.admin-intro{border:1px solid var(--line);background:var(--raised);border-radius:8px;padding:14px}.admin-intro h2,.admin-intro p,.admin-model-copy h3,.admin-model-copy p{margin:0}.admin-intro p{color:var(--muted);margin-top:6px}.admin-model-group{margin-top:18px}.admin-model-row{border:1px solid var(--line);background:var(--raised);border-radius:8px;grid-template-columns:minmax(180px,.8fr) minmax(220px,1.2fr);align-items:end;gap:14px;margin-bottom:8px;padding:12px;display:grid}.admin-model-copy h3{font-size:14px}.admin-model-copy code{color:var(--accent);font-size:11px}.admin-model-copy p{color:var(--muted);margin-top:5px;font-size:12px}.admin-model-select{width:100%}.admin-actions{background:linear-gradient(transparent, var(--panel) 22%);align-items:center;gap:10px;margin-top:18px;padding:12px 0 16px;display:flex;position:sticky;bottom:-16px}.admin-saved{color:#7ddc9a}@media (max-width:1100px){.admin-model-row{grid-template-columns:1fr}}@media (max-width:700px){#editor,.app-editor,.ed-shell{height:100dvh}.ed-shell-wide{grid-template-rows:auto minmax(0,1fr)}.ed-shell-wide .ed-main{grid-area:2/1}.ed-mode-rail{overflow-x:auto}.ed-mode-link{flex:none;min-width:76px;min-height:42px}.ed-toolbar,.ed-work{padding-inline:12px}.ed-toolbar{padding-top:14px;padding-bottom:12px}.ed-work{padding-top:14px;padding-bottom:max(28px, env(safe-area-inset-bottom))}.st-panel{overflow-wrap:anywhere;min-width:0}.st-panel>.ed-row,.ff-threads>.ed-row,.st-own>.ed-row{align-items:stretch}.st-panel .ed-button,.ff-thread-tab{min-height:44px}.ff-threads{padding:9px}.ff-thread-tabs{scroll-snap-type:x proximity;flex-wrap:nowrap;padding-bottom:3px;overflow-x:auto}.ff-thread-tab{scroll-snap-align:start;white-space:nowrap;flex:none}.ff-threads>.ed-row:last-child .ed-input{box-sizing:border-box;flex:1 0 100%;width:100%;min-height:44px}.st-own .ed-field,.st-own .ed-area{box-sizing:border-box;width:100%}.st-own .ed-area{min-height:92px;font-size:16px}.st-own>.ed-primary{width:100%;min-height:48px}.ff-pipeline-row{grid-template-columns:16px minmax(0,1fr) auto;gap:5px;min-height:40px}.ff-pipeline-agent{grid-column:2/-1}.ff-pipeline-time{grid-area:1/3;font-size:11px}.ff-pipeline-prompt{margin-left:0}.ff-roll-table,.ff-character-values{white-space:nowrap;max-width:100%;display:block;overflow-x:auto}.ff-roll-table th,.ff-roll-table td,.ff-character-values th,.ff-character-values td{padding-inline:7px}.st-standing{grid-template-columns:1fr}.ff-scene-bar,.ff-chronicle-index,.ff-character-summary{align-items:stretch}.ff-scene-entity,.ff-chronicle-index .ed-button{min-height:40px}.ff-trace-payload{box-sizing:border-box;max-width:100%}}.ui-legacy{display:contents}
