@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#151719;--panel:#1c1e21;--line:#303338;--text:#eeefeb;--muted:#8c9297;--accent:#b6f36c;--purple:#bc9bff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:13px 'DM Sans',system-ui,sans-serif}button,input,textarea,select{font:inherit}button{color:var(--text);background:#272a2e;border:1px solid #383c41;border-radius:6px;padding:8px 10px;cursor:pointer;transition:background .15s}button:hover{background:#363b40}button:disabled{opacity:.4;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}header{height:72px;padding:0 25px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:40px}.brand{color:var(--accent);font:600 30px 'Space Grotesk',sans-serif;text-decoration:none;display:flex;align-items:center;gap:10px}.brand span{font-size:23px;color:var(--text);letter-spacing:-1px}.room-label{font-size:12px;display:flex;align-items:center;gap:12px}.muted{color:var(--muted)}.pill{font-size:9px;letter-spacing:1px;border:1px solid #46513b;padding:4px 6px;border-radius:4px;color:var(--accent)}.header-actions{margin-left:auto;display:flex;align-items:center;gap:20px}#presence{display:flex;align-items:center;gap:5px}.avatar{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#20281c;font-size:11px;font-weight:700}.avatar:nth-child(2n){background:var(--purple)}main{display:grid;grid-template-columns:240px minmax(420px,1fr) 320px;min-height:calc(100vh - 72px)}aside{padding:23px 18px;display:flex;flex-direction:column;min-height:0}.world-panel{border-right:1px solid var(--line)}.agent-panel{border-left:1px solid var(--line);background:#191b1e;height:calc(100vh - 72px);position:sticky;top:0}.panel-title{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:700;letter-spacing:1.4px}.panel-caption{color:var(--muted);font-size:11px;margin:12px 0 22px;line-height:1.6}.add-row{display:flex;gap:4px;margin-bottom:16px}.add-row button{font-size:10px;padding:7px}#objects{overflow:auto;max-height:38vh}.object{width:100%;border:0;background:transparent;display:flex;gap:10px;text-align:left;align-items:center;border-radius:5px;padding:11px 8px;margin-bottom:3px;font-size:12px}.object.selected{background:#30382a;color:#d4ff9f}.swatch{height:10px;width:10px;border-radius:3px;flex-shrink:0}.object small{margin-left:auto;color:var(--muted)}#inspector{border-top:1px solid var(--line);margin-top:18px;padding-top:20px}label{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:10px;margin-top:14px}input,select{background:#24272b;color:var(--text);border:1px solid var(--line);border-radius:5px;min-width:0;padding:7px;width:100%}input[type=color]{height:31px;padding:3px}.property-row{display:flex;gap:8px;margin-top:8px}.property-row>*{flex:1;min-width:0}.property-row button{font-size:11px}.danger{color:#f2a89e}.world-footer{margin-top:auto;padding-top:25px;display:flex;flex-direction:column;gap:14px;color:var(--muted);font-size:10px}.world-footer button{text-align:left;font-size:11px}.stage{padding:30px 28px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.8px;color:var(--muted)}h1{font:500 24px 'Space Grotesk',system-ui;margin:10px 0 28px;letter-spacing:-.9px}.stage-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.connection{font-size:10px;color:var(--muted);white-space:nowrap}.connection.live{color:var(--accent)}.viewport{position:relative;background:#101316;border:1px solid #3a4047;border-radius:10px;aspect-ratio:16/9;overflow:hidden;box-shadow:0 12px 50px #0003}video{width:100%;height:100%;object-fit:contain;display:block;outline:none}.viewport-top,.viewport-bottom{position:absolute;left:0;right:0;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.viewport-top{top:0;padding:15px;background:linear-gradient(#0006,transparent);font-size:9px;font-weight:600;letter-spacing:1px}.viewport-top>span:first-child{background:#1d262bd9;padding:6px 8px;border-radius:4px}.viewport-bottom{bottom:0;padding:12px 15px;background:linear-gradient(transparent,#0009);font-size:9px;letter-spacing:.5px;color:#cbd0d5}.viewport-bottom b{font-weight:400;color:#8b969e}.viewport-bottom button{pointer-events:auto;background:#1b2227b8;font-size:18px;padding:2px 8px}.canvas-footer{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;padding:15px 2px;gap:10px}.dot{display:inline-block;width:5px;height:5px;background:var(--accent);border-radius:50%;margin-right:4px}.start-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.start-cards button{text-align:left;background:var(--panel);padding:20px;border-color:var(--line)}.start-cards span{display:block;font-size:8px;letter-spacing:1.1px;color:var(--muted);margin-bottom:12px}.start-cards strong{font-size:12px;font-weight:500}.hint{color:#737b83;font-size:11px;line-height:1.7;margin-top:20px}.agent-badge{color:var(--purple);font-size:9px;letter-spacing:.8px}#activity{flex:1;overflow:auto;min-height:120px;scrollbar-width:thin;padding:0 0 12px}.intro{padding:42px 5px}.intro>span{color:var(--purple);font-size:32px}.intro h2{font:500 21px 'Space Grotesk';letter-spacing:-.6px}.intro p{font-size:12px;color:var(--muted);line-height:1.8}.small{font-size:10px;padding:10px;margin-top:14px;background:transparent;text-align:left}.entry{padding:12px 0;border-bottom:1px solid #2a2d31;line-height:1.65;font-size:12px;overflow-wrap:anywhere}.entry .author{font-size:9px;letter-spacing:1px;text-transform:uppercase;margin-bottom:6px;color:var(--muted);display:flex;justify-content:space-between}.entry.prompt{color:#f1f4eb}.entry.agent .author{color:var(--purple)}.entry.error{color:#f2a89e}.entry.system,.entry.edit{font-size:10px;color:var(--muted)}.entry p{margin:0;white-space:pre-wrap}#prompt-form{background:#24272b;border:1px solid #41464d;border-radius:9px;margin-top:10px;padding:12px}#selected-context{color:var(--purple);font-size:9px;margin-bottom:10px}textarea{border:0;outline:none;resize:vertical;width:100%;background:transparent;color:var(--text);font-size:12px;line-height:1.65;max-height:200px;min-height:72px}textarea::placeholder{color:#7d858c}.composer-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;font-size:9px;color:var(--muted)}#build{background:var(--accent);color:#233218;border:0;font-weight:700;font-size:11px}#waiting{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(ellipse at center,#26332d,#11181c);z-index:2}#waiting[hidden]{display:none}.orbit-mark{color:var(--accent);font-size:42px}#waiting h2{font:500 20px 'Space Grotesk';margin:15px 0 0}#waiting p{color:var(--muted);font-size:12px;line-height:1.8}#waiting button{font-size:11px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#4a302c;border:1px solid #906555;border-radius:8px;padding:15px 22px;max-width:650px;z-index:5;box-shadow:0 4px 20px #0006}@media(min-width:1600px){main{grid-template-columns:260px minmax(420px,1fr) 360px}.stage{padding:38px 40px}}@media(max-width:1150px){main{grid-template-columns:190px minmax(350px,1fr) 280px}.stage{padding:25px 18px}h1{font-size:20px}.room-label{display:none}aside{padding:20px 12px}.viewport-bottom{font-size:8px}.add-row{flex-wrap:wrap}}@media(max-width:900px){main{grid-template-columns:1fr 290px}.world-panel{display:none}.header-actions{gap:8px}header{padding:0 18px}.stage{padding:22px 16px}.start-cards{grid-template-columns:1fr}.canvas-footer{flex-direction:column}}@media(max-width:640px){header{height:60px}.brand span{font-size:18px}.header-actions button{font-size:10px}main{display:flex;flex-direction:column}.stage{padding:22px 14px}.agent-panel{height:550px;position:static;border-top:1px solid var(--line)}.start-cards,.hint{display:none}h1{font-size:19px}}
.session-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;font-size:10px;letter-spacing:1px}.session-toolbar>div{display:flex;gap:6px;align-items:center}.session-toolbar select{width:auto;font-size:11px}.session-toolbar button{font-size:11px}.session-toolbar [hidden]{display:none}#play-start{background:var(--accent);color:#203215}#session-state{padding:10px 12px;border:1px solid #4a583c;background:#253021;border-radius:6px;color:var(--accent);font-size:11px}.playtest-panel{margin-top:12px;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:8px}.play-session{display:flex;gap:6px;align-items:center;padding-top:12px;font-size:11px}.play-session>span{flex:1;color:var(--muted)}.play-session button{font-size:10px}.playtest-panel .panel-caption{margin-bottom:0}
#scene-picker{width:auto;max-width:230px;font-size:11px}#new-scene{font-size:11px}dialog{color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:24px;max-width:400px}dialog::backdrop{background:#0009}dialog h2{font:500 22px 'Space Grotesk'}dialog p{color:var(--muted);line-height:1.7}.room-label select{margin:0}@media(max-width:1150px){.room-label{display:flex}.room-label .muted,.room-label .pill{display:none}header{gap:16px}#scene-picker{max-width:160px}}@media(max-width:720px){.room-label{display:none}.session-toolbar{align-items:flex-start;flex-direction:column}}
.palette-hint{font-size:10px;color:var(--muted);margin:-6px 0 12px;line-height:1.5}video{touch-action:none}video.dragging{cursor:grabbing}.add-row button[draggable=true]{cursor:grab}
.twitch-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px;color:var(--muted);font-size:10px;letter-spacing:1px}.twitch-toolbar button{font-size:11px;color:var(--purple);letter-spacing:0}#twitch-panel{flex-shrink:0;border:1px solid #57426d;border-radius:8px;margin:0 -1px 18px;background:#17131e;overflow:hidden}#twitch-panel[hidden]{display:none}.twitch-heading{display:flex;align-items:center;gap:8px;padding:10px 12px}.twitch-heading a{color:#e1ceff;text-decoration:none;overflow-wrap:anywhere}.twitch-heading a:hover{text-decoration:underline}.twitch-badge{color:#d3b4ff;background:#39264d;border-radius:3px;font-size:9px;letter-spacing:.5px;padding:2px 5px}.twitch-chat-status{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:10px 12px;color:var(--muted);font-size:10px;line-height:1.5}.twitch-chat-status button{font-size:10px}#twitch-player iframe{display:block;border:0;width:100%;height:300px}#twitch-small-screen{padding:0 12px;color:var(--muted);font-size:11px;line-height:1.6}.entry.twitch .author{justify-content:flex-start;align-items:center;gap:7px;color:#d3b4ff}.entry.twitch .author>span:last-child{margin-left:auto;color:var(--muted)}.entry.twitch.action p{font-style:italic}dialog .form-help{font-size:11px}dialog .form-error{color:#f2a89e;font-size:12px}dialog{width:min(440px,calc(100vw - 32px));max-width:440px}main.has-twitch:is(:not(.workflow-shell),[data-workspace-tab=games]){grid-template-columns:190px minmax(320px,1fr) 440px}main.has-twitch:is(:not(.workflow-shell),[data-workspace-tab=games]) .agent-panel{min-height:720px}main.has-twitch:is(:not(.workflow-shell),[data-workspace-tab=games]) .agent-panel>.panel-caption{margin-bottom:10px}@media(max-width:1100px){main.has-twitch:is(:not(.workflow-shell),[data-workspace-tab=games]){grid-template-columns:190px minmax(0,1fr)}main.has-twitch:is(:not(.workflow-shell),[data-workspace-tab=games]) .agent-panel{grid-column:1/-1;position:static;height:820px;min-height:0;border-top:1px solid var(--line)}main.has-twitch:is(:not(.workflow-shell),[data-workspace-tab=games]) .world-panel{display:flex}main.has-twitch:is(:not(.workflow-shell),[data-workspace-tab=games]) #twitch-player iframe{height:300px}}@media(max-width:640px){main.has-twitch:is(:not(.workflow-shell),[data-workspace-tab=games]){display:flex}main.has-twitch:is(:not(.workflow-shell),[data-workspace-tab=games]) .world-panel{display:none}main.has-twitch:is(:not(.workflow-shell),[data-workspace-tab=games]) .agent-panel{height:820px}main.has-twitch:is(:not(.workflow-shell),[data-workspace-tab=games]) .agent-panel>.panel-title{flex-shrink:0}}
.people{display:flex;flex-direction:column;gap:5px;align-items:flex-end}.people>span{font-size:8px;letter-spacing:.5px;color:var(--muted)}button.avatar{padding:0;border:1px solid transparent;flex-shrink:0}button.avatar:hover:not(:disabled){background:#d0ff98;transform:translateY(-1px)}button.avatar:disabled{opacity:.65;cursor:default}button.avatar.mine{border-color:#fff8}button.avatar[data-role=observer]{background:#464b52;color:#dce1e6}button.avatar.watching{outline:2px solid var(--text);outline-offset:2px}#watch-banner{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:10px 12px;margin-bottom:18px;background:#282238;border:1px solid #655181;border-radius:6px;color:#d4bbff;font-size:11px}#watch-banner[hidden],#watch-return[hidden]{display:none}#watch-return{font-size:11px;white-space:nowrap}@media(max-width:720px){.people>span{display:none}#presence{gap:3px}button.avatar{width:22px;height:22px}.header-actions{gap:10px}#watch-banner{align-items:flex-start;flex-direction:column}}

#godot-viewport{position:absolute;inset:0;width:100%;height:100%;border:0;background:#101316}#godot-viewport[hidden]{display:none}.viewport-top,.viewport-bottom{pointer-events:none}.viewport-bottom button{pointer-events:auto}

.projects-dialog{width:min(1180px,94vw);max-width:94vw;max-height:92vh;background:#171c20;color:#edf0ed;border:1px solid #495257;border-radius:14px;padding:24px;overflow:auto}.projects-dialog::backdrop{background:#000b}.projects-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.projects-heading h2{margin:0 0 8px}.projects-heading p{color:#a6afb0}.projects-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0}.project-upload{display:flex;align-items:center;gap:12px}.project-upload input{max-width:230px}.project-files-editor{display:grid;grid-template-columns:240px minmax(0,1fr);border:1px solid #394248;border-radius:8px;overflow:hidden}.project-files-editor nav{height:340px;overflow:auto;border-right:1px solid #394248;padding:8px}.project-files-editor nav button{display:block;width:100%;text-align:left;word-break:break-all;margin:3px 0}.project-files-editor section{padding:12px;min-width:0}#project-source{width:100%;height:265px;resize:vertical;font:13px/1.5 ui-monospace,monospace;white-space:pre;overflow:auto;tab-size:4}#project-path{flex:1;word-break:break-all}#project-status.error{color:#f6a68f}.projects-dialog.busy button,.projects-dialog.busy input,.projects-dialog.busy select{pointer-events:none;opacity:.55}.projects-dialog.busy #projects-close{pointer-events:auto;opacity:1}#imported-project-preview{display:block;width:100%;height:540px;border:1px solid #394248;background:#111;resize:vertical}#project-download{color:#b6f36c}@media(max-width:720px){.project-files-editor{grid-template-columns:1fr}.project-files-editor nav{height:140px;border-right:0;border-bottom:1px solid #394248}.projects-dialog{padding:14px}#imported-project-preview{height:380px}}
.project-build-history{margin-top:24px}.project-build-history h3{margin-bottom:4px}.project-build-history ul{list-style:none;padding:0;margin:12px 0}.project-build-history li{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid #394248}.project-build-history li>span{flex:1;min-width:180px}.project-build-history a{color:#b6f36c}#project-source-state{min-height:1.5em;margin:0 0 8px}.projects-dialog [disabled]{cursor:not-allowed}.projects-dialog textarea[readonly]{opacity:.7}
.project-editor-panel{margin:26px 0;border-top:1px solid #394248;padding-top:12px}.project-editor-panel h3{margin-bottom:4px}.project-editor-grid{display:grid;grid-template-columns:260px minmax(0,1fr);border:1px solid #394248;border-radius:8px;overflow:hidden}.project-editor-grid nav{max-height:330px;overflow:auto;border-right:1px solid #394248;padding:8px}.project-editor-grid nav button{display:block;text-align:left;width:100%;margin:3px 0;overflow-wrap:anywhere}.project-editor-grid section{padding:12px;min-width:0}#editor-property-value{display:block;width:100%;min-height:120px;margin:10px 0;font:13px/1.5 ui-monospace,monospace;tab-size:2}#editor-output{max-height:240px;overflow:auto;white-space:pre-wrap;font:12px/1.5 ui-monospace,monospace;color:#c7d5db}#editor-status.error{color:#f6a68f}#editor-breakpoint-line{max-width:90px}.project-editor-panel input,.project-editor-panel select{width:auto;max-width:100%}#editor-property{width:100%;margin-top:10px}#editor-scene-path,#editor-breakpoint-path{flex:1;min-width:160px}.project-editor-panel [hidden]{display:none}@media(max-width:720px){.project-editor-grid{grid-template-columns:1fr}.project-editor-grid nav{max-height:170px;border-right:0;border-bottom:1px solid #394248}}
#account-link{color:var(--text);font-size:12px;text-decoration:none;padding:8px 0}#account-link:hover{color:var(--accent)}#account-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px}

/* Project collaboration uses the existing game/editor surface without remounting it. */
#workspace-navigation{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:50px;padding:0 25px;border-bottom:1px solid var(--line);background:#191b1e}
#workspace-tabs{display:flex;gap:8px;align-self:stretch}
#workspace-tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;padding:14px 17px;color:var(--muted);font-weight:600}
#workspace-tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}
#workspace-tabs button:hover{color:var(--text);background:#ffffff05}
.workspace-navigation-end{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:11px;min-width:0}
#workspace-project{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}
#workflow-policy-open{font-size:10px;background:transparent}
.workflow-shell{min-height:calc(100vh - 122px)}
.workflow-shell>.agent-panel{height:calc(100vh - 122px);min-height:460px}
#games-panel{display:contents}
.workflow-shell.has-web-project[data-workspace-tab=games]{grid-template-columns:minmax(0,1fr) 360px}
.has-web-project #games-panel>.world-panel,.has-web-project #games-panel>.stage{display:none}
#web-project-play{grid-column:1;display:flex;flex-direction:column;min-width:0;min-height:600px;padding:18px 22px;gap:14px}
#web-project-play[hidden]{display:none}
.web-project-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.web-project-heading h1{font-size:21px;margin:0 0 6px}
.web-project-heading a{font-size:12px;color:var(--muted)}
#web-project-frame{border:1px solid var(--line);border-radius:10px;width:100%;flex:1;min-height:600px;background:#11101a}
@media(max-width:900px){.workflow-shell.has-web-project[data-workspace-tab=games]{display:flex;flex-direction:column}#web-project-play{padding:14px;min-height:65vh}#web-project-frame{min-height:65vh}.has-web-project>.agent-panel{width:100%;height:auto;min-height:420px}}
#games-panel[hidden],#workflow-view[hidden],#world-assistant[hidden],#project-assistant[hidden],#chat-panel[hidden],#roadmap-panel[hidden],#agents-panel[hidden]{display:none}
.workflow-shell:not([data-workspace-tab=games]){grid-template-columns:minmax(0,1fr) 320px}
#workflow-view{min-width:0;padding:20px 28px 32px;grid-column:1}
.workflow-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:34px;margin-bottom:25px;font-size:10px;color:var(--muted)}
.workflow-topline button{font-size:10px;background:transparent;padding:6px 10px}
.workflow-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:23px}
.workflow-heading h1{font-size:30px;margin:8px 0 10px;letter-spacing:-1px}
.workflow-heading h2{font:500 22px 'Space Grotesk',system-ui;margin:8px 0 0;letter-spacing:-.5px}
.workflow-heading p{color:var(--muted);line-height:1.7;font-size:12px;margin:0;max-width:600px}
.workflow-heading>button{margin-top:15px;white-space:nowrap}
button.workflow-primary{background:var(--accent);border-color:var(--accent);color:#26351c;font-weight:700}
button.workflow-primary:hover:not(:disabled){background:#cdfc96}
.workflow-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px}
.workflow-actions>[role=status]{flex:1;min-width:150px;color:var(--muted);font-size:11px}
.workflow-empty{font-size:12px;line-height:1.7;color:var(--muted);padding:18px 0}
.workflow-note{color:var(--muted);font-size:11px;line-height:1.7}
#workflow-view .error,.workflow-dialog .error,#project-assistant .error{color:#f3ab9f}
#chat-messages{display:flex;flex-direction:column;gap:14px;min-height:230px;max-height:calc(100vh - 480px);overflow:auto;padding:0 4px 12px 0;scrollbar-width:thin}
.chat-message{padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:#1c1f22}
.chat-message-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:11px}
.chat-message-heading strong{color:#d7dfd1;font-weight:600}
.chat-message-heading time{font-size:10px;color:var(--muted)}
.chat-message-select{margin:0 0 0 auto;display:flex;flex-direction:row;align-items:center;gap:6px;font-size:10px;cursor:pointer}
.chat-message-select input{width:14px;height:14px;accent-color:var(--accent);margin:0}
.chat-message-text{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75;margin:11px 0}
.chat-message-actions{display:flex;gap:8px;flex-wrap:wrap}
.chat-message-actions button{font-size:10px;background:transparent;padding:5px 8px}
.task-source-link{color:var(--purple)}
.chat-selection{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px;background:#2c3327;border:1px solid #48593a;border-radius:8px;margin:12px 0;font-size:11px}
.chat-selection[hidden]{display:none}
.chat-selection button{font-size:11px}
.workflow-composer{background:#212529;border:1px solid #3a4146;border-radius:10px;padding:14px;margin-top:16px}
.workflow-composer label{margin:0 0 8px;font-size:11px;color:#c1cacd}
.workflow-composer textarea{min-height:75px;max-height:240px;font-size:12px}
#chat-earlier{font-size:11px;margin-bottom:14px;background:transparent}
#roadmap-status,#agents-status{font-size:11px;line-height:1.7;min-height:20px;color:var(--muted);margin:0 0 16px}
.roadmap-board{display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));gap:12px;overflow-x:auto;padding:0 0 20px;align-items:start;scrollbar-width:thin}
.roadmap-column{background:#1b1e20;border:1px solid #30363b;border-radius:10px;min-height:320px;padding:12px}
.roadmap-column h2{font-size:11px;font-weight:600;display:flex;align-items:center;gap:7px;margin:3px 0 18px;white-space:nowrap}
.roadmap-column h2:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--muted)}
.roadmap-column[data-status=in_progress] h2:before{background:var(--purple)}
.roadmap-column[data-status=testing] h2:before{background:#f1c47c}
.roadmap-column[data-status=shipped] h2:before{background:var(--accent)}
.task-count{margin-left:auto;color:var(--muted);font-size:10px;font-weight:400}
.task-card{display:flex;flex-direction:column;text-align:left;width:100%;padding:13px 12px;background:#24282c;border-color:#394047;margin-bottom:10px;gap:9px;min-width:0}
.task-card:hover{background:#2d3337;border-color:#59654e}
.task-card-meta{display:flex;align-items:center;justify-content:space-between;gap:7px;color:#a3abb1;font-size:8px;line-height:1.4;width:100%}
.task-type{font-weight:700;letter-spacing:.7px;color:var(--purple)}
.task-type.issue{color:#f1b793}
.task-card strong{font-size:12px;font-weight:600;line-height:1.55;overflow-wrap:anywhere}
.task-card p{margin:0;font-size:10px;color:#a0a8ae;line-height:1.7;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere}
.task-assignee,.task-origin{font-size:9px;color:#b4bebd;overflow-wrap:anywhere}
.task-origin{color:#9ca9b6}
.roadmap-column>.workflow-empty{font-size:10px}
#world-assistant,#project-assistant{display:flex;flex-direction:column;flex:1;min-height:0}
.assistant-shortcuts{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:8px}
.assistant-shortcuts button{font-size:10px;background:transparent}
#workflow-assistant-messages{flex:1;min-height:120px;overflow:auto;padding:8px 0;scrollbar-width:thin}
#workflow-assistant-messages .entry strong{display:block;font-size:10px;color:var(--purple);margin-bottom:7px}
#workflow-assistant-messages .entry.prompt strong{color:var(--muted)}
#workflow-assistant-status{font-size:10px;line-height:1.6;color:var(--muted);margin:12px 0 0}
#agents-panel h2{font:500 16px 'Space Grotesk',system-ui;margin:26px 0 12px}
.agent-work,.agent-node{background:#1e2225;border:1px solid var(--line);border-radius:9px;padding:14px;margin-bottom:10px;font-size:12px}
.agent-work strong{font-weight:600;overflow-wrap:anywhere}
.agent-work p,.agent-work small,.agent-node p{font-size:11px;color:var(--muted);line-height:1.7;margin:8px 0 0}
.agent-job-status{float:right;color:var(--purple);font-size:10px;margin-left:10px;text-transform:capitalize}
.agent-nodes{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.agent-node>span{float:right;font-size:10px}
.worker-live{color:var(--accent)}
.agent-events{list-style:none;padding:0;margin:0}
.agent-events li{padding:12px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:11px;line-height:1.6}
.agent-events time{color:var(--muted);font-size:10px;white-space:nowrap}
.workflow-dialog{color:var(--text);background:#1c2023;border:1px solid #4a5359;border-radius:14px;padding:25px;width:min(620px,94vw);max-width:94vw;max-height:90vh;overflow:auto;box-shadow:0 24px 80px #0006}
.workflow-dialog::backdrop{background:#070b0dcc}
.workflow-dialog [hidden]{display:none!important}
.workflow-dialog fieldset{padding:0;border:0;margin:0;min-width:0}
.workflow-dialog label{font-size:11px;margin-top:16px;color:#b8c1c7}
.workflow-dialog input,.workflow-dialog select{padding:10px;font-size:12px;background:#252b2f}
.workflow-dialog textarea{background:#252b2f;border:1px solid var(--line);border-radius:6px;padding:10px;min-height:125px;max-height:300px}
.workflow-dialog .workflow-heading>button{margin-top:0;background:transparent;padding:5px 9px}
.workflow-dialog [role=status]{line-height:1.7;font-size:11px}
#task-move-form{margin-top:24px;padding-top:10px;border-top:1px solid var(--line)}
#task-move-form h3{font-size:13px;font-weight:500;margin:10px 0}
#task-move-form>.property-row{align-items:flex-end}
#task-move-form>.property-row>button{flex:0 0 auto;padding:10px 16px}
#task-evidence{font-size:11px;line-height:1.7;overflow-wrap:anywhere}
.task-provenance{font-size:11px;line-height:1.7;color:var(--purple);border:1px solid #524663;background:#29232f;padding:10px 12px;border-radius:7px}
#task-revision{font-size:10px;margin-left:auto}
#task-approval-link{color:var(--accent);display:inline-block;padding:10px 0;font-weight:600}
@media(min-width:1600px){.workflow-shell:not([data-workspace-tab=games]){grid-template-columns:minmax(0,1fr) 360px}#workflow-view{padding:24px 40px 40px}}
@media(max-width:1150px){.workflow-shell:not([data-workspace-tab=games]){grid-template-columns:minmax(0,1fr) 280px}#workflow-view{padding:18px}.workspace-navigation-end{gap:10px}#workspace-project{max-width:150px}}
@media(max-width:900px){#workspace-navigation{padding:0 16px;gap:8px}#workspace-tabs{gap:0}#workspace-tabs button{padding:14px 12px}.workspace-navigation-end #workspace-project{display:none}.workflow-heading h1{font-size:26px}.workflow-heading{gap:12px}.workflow-heading>button{font-size:11px}.workflow-shell>.agent-panel{min-height:440px}}
@media(max-width:640px){#workspace-navigation{padding:0 8px;flex-wrap:wrap;gap:0}#workspace-tabs{flex:1;justify-content:space-around}#workspace-tabs button{flex:1;padding:13px 10px;font-size:12px}.workspace-navigation-end{width:100%;justify-content:flex-end}.workspace-navigation-end:has(button[hidden]){display:none}#workflow-policy-open{margin:0 8px 8px}.workflow-shell{display:flex;min-height:calc(100vh - 108px)}#workflow-view{padding:18px 14px;width:100%}.workflow-shell>.agent-panel{height:auto;min-height:430px;padding:22px 18px}.workflow-topline{margin-bottom:18px}.workflow-heading{flex-wrap:wrap}.workflow-heading>button{margin-top:0}.workflow-heading h1{font-size:27px}#chat-messages{max-height:55vh;min-height:200px}.chat-message{padding:13px}.chat-message-heading{gap:8px}.chat-message-select{margin-left:auto}.roadmap-board{grid-template-columns:repeat(4,230px);margin-right:-14px;padding-right:14px}.workflow-dialog{padding:20px 16px}.workflow-dialog .property-row{gap:10px}.agent-events li{flex-direction:column;gap:5px}#workflow-assistant-messages{min-height:130px;max-height:340px}}
@media(max-width:640px){header{flex-wrap:wrap;height:auto;min-height:60px;gap:12px;padding:12px 14px}.header-actions{justify-content:flex-end;flex-wrap:wrap;max-width:100%;gap:8px}#presence{flex-wrap:wrap;max-width:100%}}

.recording-panel{margin:22px 0;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--panel);min-width:0}
.recording-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.recording-heading h2{font-size:21px;margin:6px 0 0}
#recording-indicator{font-size:11px;color:var(--muted);white-space:nowrap}#recording-indicator.is-recording{color:#ff8f89;font-weight:700}
.recording-note,#recording-availability,#recording-progress,#recording-recovery{font-size:12px;line-height:1.7;color:var(--muted)}#recording-binding{overflow-wrap:anywhere}
.recording-select{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;margin:14px 0}.recording-select label{display:flex;flex:1;flex-direction:column;gap:7px;min-width:150px;font-size:12px}
.recording-select select,.recording-select textarea,.recording-marker input{width:100%;padding:10px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:7px;font:inherit}
#recording-preview-wrap{margin:14px 0;background:#080b0c;border:1px solid var(--line);border-radius:8px;overflow:hidden}#recording-preview{display:block;width:100%;aspect-ratio:16/9;min-height:240px;border:0}
.recording-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:14px 0}.recording-controls label{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:12px;margin:0 auto 0 0}.recording-controls input{width:16px;height:16px;accent-color:var(--accent)}
#recording-start{color:#141817;background:var(--accent);font-weight:700}#recording-stop:enabled{border-color:#a45450;color:#ffaaa6}
.recording-marker{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:18px 0}.recording-marker label{font-size:12px}.recording-marker input{flex:1;min-width:160px}#recording-error{font-size:12px;line-height:1.6}.recording-panel .error{color:#ffaaa6}
#recording-finish{padding:14px;border:1px solid var(--line);border-radius:8px}.recording-panel h3,#task-recordings h3{font-size:13px;margin:22px 0 10px}
.recording-evidence{padding:14px;margin:12px 0;background:var(--bg);border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere}.recording-evidence strong{font-size:12px}.recording-evidence p{font-size:12px;line-height:1.6;color:var(--muted)}.recording-evidence video{display:block;width:100%;max-height:440px;margin:12px 0;background:#080b0c;border-radius:6px}.recording-evidence .recording-warning{color:#ebbd75}.recording-markers{display:flex;flex-direction:column;gap:6px}.recording-markers button{text-align:left;line-height:1.5;white-space:normal}
@media(max-width:640px){.recording-panel{padding:14px}.recording-heading{align-items:flex-start;flex-direction:column}.recording-select>button{flex:1}.recording-controls label{width:100%}.recording-controls button{flex:1}#recording-preview{min-height:180px}.recording-marker label{width:100%}}

/* Registered personal machine video stays separate from the shared Godot scene. */
#machine-panel { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--border, #30343d); }
#machine-panel .agent-node button { margin: 8px 8px 0 0; }
.machine-view { margin-top: 18px; }
.machine-view video { display: block; width: 100%; max-height: 65vh; aspect-ratio: 16 / 9; object-fit: contain; background: #050609; border-radius: 10px; touch-action: none; }
.machine-view video:focus { outline: 2px solid var(--accent, #9be5bc); }
.machine-view button { margin-right: 10px; }
.machine-view p { overflow-wrap: anywhere; }

#chat-panel>#twitch-panel{max-width:900px;margin:0 0 18px}#chat-panel>.twitch-toolbar{max-width:900px}.chat-message.twitch{border-color:#57426d}.chat-message.twitch .chat-message-heading strong{color:#d3b4ff}
