:root{color-scheme:dark;--color-bg: #010f14;--color-surface: #061a22;--color-surface-2: #0a2530;--color-surface-3: #0e303c;--color-surface-raised: rgba(10, 183, 245, .1);--color-border: #163542;--color-border-strong: #2c5160;--color-border-subtle: rgba(255, 255, 255, .06);--color-text: #dde3e7;--color-text-muted: #818993;--color-text-dim: #5a636e;--color-text-faint: #3f4853;--color-accent: #0ab7f5;--color-accent-hover: #38c9f7;--color-accent-soft: rgba(10, 183, 245, .16);--color-accent-text: #0ab7f5;--color-success: #2dd47e;--color-success-bg: rgba(45, 212, 126, .12);--color-success-border: #2a6e4f;--color-warning: #f0b440;--color-warning-bg: rgba(240, 180, 64, .1);--color-warning-border: #6e5320;--color-danger: #f06262;--color-danger-bg: rgba(240, 98, 98, .12);--color-danger-border: #6e2828;--color-info: #5fa6e0;--color-info-bg: rgba(95, 166, 224, .1);--color-info-border: #2a4f6e;--color-btn-bg: #0a2530;--color-btn-border: #2c5160;--color-btn-text: #ffffff;--color-btn-hover-bg: #1a4a62;--color-btn-active-bg: #1a4a62;--color-input-bg: #0a2530;--color-input-border: #2c5160;--color-input-text: #ffffff;--color-input-focus-border: var(--color-accent);--color-nav-bg: #061a22;--color-nav-border: #163542;--color-chat-told-bg: rgba(95, 166, 224, .1);--color-chat-error-bg: rgba(240, 98, 98, .12);--color-chat-input-text: #d6dde0;--color-board: #0d1418;--color-board-grid: rgba(255, 255, 255, .04);--color-board-border: #1a3845;--color-board-map: #0a2028;--color-board-empty: var(--color-text-muted);--color-note-yellow: #856c25;--color-note-blue: #235589;--color-note-green: #336e3d;--color-note-pink: #6b324b;--color-note-white: #353e48;--color-note-text: #f4ecd8;--color-note-border: rgba(255, 255, 255, .16);--color-note-shadow: rgba(0, 0, 0, .55);--color-note-tooltip-bg: rgba(0, 0, 0, .88);--color-note-tooltip-border: rgba(255, 255, 255, .14);--color-note-meta-bg: rgba(255, 255, 255, .06);--color-dial-border: #2c5160;--color-dial-center: #0e303c;--color-dial-pointer: var(--color-accent);--color-dial-band-1: #163542;--color-dial-band-2: #2c5160;--color-dial-band-3: #b96d56;--color-dial-band-4: #163542;--color-step-active-bg: var(--color-accent);--color-step-active-border: var(--color-accent);--color-step-active-text: var(--color-bg);--color-cue-active-bg: rgba(240, 180, 64, .18);--color-cue-active-border: var(--color-warning);--color-loop-cue-bg: rgba(240, 180, 64, .08);--color-resizer: #2c5160;--color-resizer-hover: var(--color-accent);--font-body: Helvetica, Arial, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--shadow-card: 0 8px 24px rgba(0, 0, 0, .55);--shadow-pin: 0 4px 10px rgba(0, 0, 0, .55);--shadow-tooltip: 0 6px 16px rgba(0, 0, 0, .6);--shadow-zoom: 0 4px 12px rgba(0, 0, 0, .5)}:root[data-theme=light]{color-scheme:light;--color-bg: #f3f5f2;--color-surface: #ffffff;--color-surface-2: #fafbf8;--color-surface-3: #ecf0ea;--color-surface-raised: #dfe9dc;--color-border: #d5dcd1;--color-border-strong: #aab2a6;--color-border-subtle: #ecf0ea;--color-text: #20251f;--color-text-muted: #5f685d;--color-text-dim: #697366;--color-text-faint: #748070;--color-accent: #1a3a17;--color-accent-hover: #4f6049;--color-accent-soft: #dfe9dc;--color-accent-text: #4f6049;--color-success: #377d5b;--color-success-bg: #ecf8ef;--color-success-border: #83ad90;--color-warning: #b18432;--color-warning-bg: #fff8e8;--color-warning-border: #c69a7a;--color-danger: #8b2d24;--color-danger-bg: #f6d6d6;--color-danger-border: #d99c9c;--color-info: #1c4f7a;--color-info-bg: #eef4f8;--color-info-border: #8aa6c3;--color-btn-bg: #ffffff;--color-btn-border: #9ba399;--color-btn-text: #20251f;--color-btn-hover-bg: #dfe9dc;--color-btn-active-bg: #dfe9dc;--color-input-bg: #ffffff;--color-input-border: #aab2a6;--color-input-text: #20251f;--color-input-focus-border: #4f6049;--color-nav-bg: #ecf0ea;--color-nav-border: #d0d7cd;--color-chat-told-bg: #eef4f7;--color-chat-error-bg: #fff2ef;--color-chat-input-text: #4a554a;--color-board: #e5d5b6;--color-board-grid: rgba(75, 84, 73, .06);--color-board-border: #c6b58f;--color-board-map: #eadbbc;--color-board-empty: #697266;--color-note-yellow: #fff3a6;--color-note-blue: #cfe7ff;--color-note-green: #d8f3c6;--color-note-pink: #ffd4e2;--color-note-white: #fbfbf2;--color-note-text: #2a2a24;--color-note-border: rgba(65, 58, 42, .35);--color-note-shadow: rgba(58, 48, 30, .16);--color-note-tooltip-bg: rgba(31, 34, 29, .9);--color-note-tooltip-border: rgba(36, 38, 32, .18);--color-note-meta-bg: rgba(255, 255, 255, .55);--color-dial-border: #778171;--color-dial-center: #f7f8f5;--color-dial-pointer: #2f3a35;--color-dial-band-1: #8ca497;--color-dial-band-2: #d4d0a8;--color-dial-band-3: #b96d56;--color-dial-band-4: #d9ddd6;--color-step-active-bg: #242c24;--color-step-active-border: #242c24;--color-step-active-text: #ffffff;--color-cue-active-bg: #f5d78d;--color-cue-active-border: #b18432;--color-loop-cue-bg: #fff8e8;--color-resizer: #9aa397;--color-resizer-hover: #4c6f56;--font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--shadow-card: 0 8px 24px rgba(20, 40, 20, .06);--shadow-pin: 0 4px 10px rgba(58, 48, 30, .16);--shadow-tooltip: 0 6px 16px rgba(40, 34, 24, .22);--shadow-zoom: 0 4px 12px rgba(46, 38, 23, .14)}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);background:var(--color-bg);color:var(--color-text)}button,input,select,textarea{font:inherit}button{border:1px solid var(--color-btn-border);background:var(--color-btn-bg);color:var(--color-btn-text);border-radius:6px;padding:.45rem .7rem;cursor:pointer}button:hover,button.active{background:var(--color-btn-hover-bg)}input,select,textarea{border:1px solid var(--color-input-border);border-radius:6px;padding:.45rem .55rem;background:var(--color-input-bg);color:var(--color-input-text)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-input-focus-border);outline-offset:1px;border-color:var(--color-input-focus-border)}a{color:var(--color-accent)}a:hover{color:var(--color-accent-hover)}.shell{min-height:100vh;display:grid;grid-template-columns:190px minmax(0,1fr) 360px}.shell.observations-collapsed{grid-template-columns:190px minmax(0,1fr) 3.25rem}.nav,.events{border-right:1px solid var(--color-nav-border);background:var(--color-nav-bg);padding:1rem}.nav{display:flex;flex-direction:column;position:sticky;top:0;align-self:start;height:100vh;overflow:auto}.github-link{margin-top:auto;align-self:flex-start;color:var(--color-text-muted);display:inline-flex;padding:.25rem;border-radius:4px;transition:color .12s}.github-link:hover,.github-link:focus-visible{color:var(--color-accent)}.events-logout{margin-top:auto;align-self:center;background:transparent;border:0;color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;padding:.3rem;border-radius:4px;cursor:pointer;transition:color .12s,background-color .12s}.events-logout:hover,.events-logout:focus-visible{color:var(--color-accent);background:var(--color-surface-raised)}.login-shell{min-height:100vh;display:grid;place-items:center;padding:2rem;background:var(--color-bg)}.login-card{width:min(360px,100%);display:flex;flex-direction:column;gap:.75rem;padding:1.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;box-shadow:var(--shadow-card)}.login-brand{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin:0 0 1rem;text-align:center}.login-brand-name{margin:0;font-size:5.5rem;font-weight:700;letter-spacing:-.02em;line-height:1;color:var(--color-text)}.login-brand-tagline{margin:0;font-size:1.4rem;color:var(--color-accent)}.login-guest,.login-submit{font:inherit;padding:.55rem .85rem;border-radius:6px;border:1px solid var(--color-btn-border);background:var(--color-btn-active-bg);color:var(--color-text);cursor:pointer;transition:background-color .12s,border-color .12s}.login-guest:hover,.login-submit:hover,.login-guest:focus-visible,.login-submit:focus-visible{background:var(--color-accent-soft);border-color:var(--color-accent)}.login-guest:disabled,.login-submit:disabled{opacity:.6;cursor:progress}.login-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.6rem;color:var(--color-text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;margin:.25rem 0}.login-divider:before,.login-divider:after{content:"";height:1px;background:var(--color-border)}.login-field{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--color-text-muted)}.login-field input{font:inherit;padding:.5rem .65rem;border-radius:6px;border:1px solid var(--color-input-border);background:var(--color-input-bg);color:var(--color-input-text)}.login-field input:focus-visible{outline:2px solid var(--color-input-focus-border);outline-offset:1px;border-color:var(--color-input-focus-border)}.login-error{margin:0;padding:.5rem .65rem;background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:6px;color:var(--color-danger);font-size:.85rem}.events{border-right:0;border-left:1px solid var(--color-nav-border);position:sticky;top:0;align-self:start;height:100vh;display:flex;flex-direction:column;min-height:0}.events-header{display:flex;align-items:center;justify-content:space-between;gap:.65rem;margin:0 0 .65rem}.events h2{margin:0;font-size:.95rem}.events-toggle{display:inline-grid;place-items:center;width:1.45rem;height:1.45rem;min-width:0;padding:0;font-size:.72rem;line-height:1}.events.collapsed{align-items:center;padding:.7rem .45rem;overflow:hidden}.events.collapsed .events-header{flex:1 1 auto;margin:0;flex-direction:column-reverse;justify-content:flex-end}.events.collapsed h2{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.78rem;letter-spacing:0;color:var(--color-text-dim)}.events.collapsed .event-list{display:none}.brand{font-size:1.35rem;font-weight:700;margin-bottom:.3rem}.actor{color:var(--color-text-muted);font-size:.9rem;margin-bottom:1rem}.nav-button{width:100%;text-align:left;margin-bottom:.5rem}.main{padding:1rem;overflow:auto}woo-chat-space{display:block}.toolbar{display:flex;align-items:center;gap:.65rem;margin-bottom:1rem}.toolbar h1{font-size:1.35rem;margin:0 auto 0 0}.chat-room-title{display:flex;align-items:center;gap:.55rem;min-width:0;margin-right:auto}.chat-room-title h1{margin-right:0}.weather-badge{display:inline-flex;align-items:center;gap:.28rem;min-height:1.45rem;padding:.12rem .42rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text);font-size:.82rem;line-height:1;white-space:nowrap}.weather-badge-icon{color:var(--color-warning);font-size:.92rem}.weather-badge-condition{display:none}.weather-badge.pending,.weather-badge.error{min-width:1.45rem;justify-content:center}.weather-badge.error{border-color:var(--color-danger-border);background:var(--color-danger-bg);color:var(--color-danger)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.8rem}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1rem;min-width:0}.panel h2{margin:0 0 .75rem;font-size:1rem}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.panel-head h2{margin:0}.slot.playing{border-color:var(--color-success);box-shadow:inset 0 0 0 2px var(--color-success-bg)}.loop-console-panel{grid-column:span 2}.loop-console{display:grid;grid-template-columns:repeat(5,minmax(4.5rem,1fr));gap:.7rem;align-items:stretch}.loop-strip,.filter-strip{min-height:18rem;display:grid;grid-template-rows:auto auto minmax(8rem,1fr) auto auto;gap:.55rem;justify-items:center;padding:.65rem .45rem;border:1px solid var(--color-border);border-radius:7px;background:var(--color-surface-2)}.filter-strip{grid-template-rows:auto minmax(8rem,1fr) auto}.loop-strip.playing{border-color:var(--color-success);box-shadow:inset 0 0 0 2px var(--color-success-bg)}.loop-strip.cue-active{border-color:var(--color-cue-active-border);background:var(--color-loop-cue-bg)}.loop-strip-head{display:grid;gap:.1rem;justify-items:center;text-align:center}.loop-strip-head strong{font-size:1.1rem}.loop-strip-head span{color:var(--color-text-dim);font-size:.76rem}.vertical-fader{width:2rem;min-height:8rem;writing-mode:vertical-lr;direction:rtl}.pitch-switch{width:100%;display:grid;gap:.25rem;justify-items:center}.pitch-dial{width:2.7rem;aspect-ratio:1;position:relative;border:1px solid var(--color-dial-border);border-radius:50%;background:radial-gradient(circle at 50% 52%,var(--color-dial-center) 0 38%,transparent 39%),conic-gradient(from -135deg,var(--color-dial-band-1) 0deg,var(--color-dial-band-2) 135deg,var(--color-dial-band-3) 270deg,var(--color-dial-band-4) 270deg 360deg);box-shadow:inset 0 1px 2px #0000004d;cursor:grab;touch-action:none}.pitch-dial:active{cursor:grabbing}.pitch-pointer{position:absolute;left:calc(50% - .085rem);top:.3rem;width:.17rem;height:1.05rem;border-radius:999px;background:var(--color-dial-pointer);transform-origin:50% 1.05rem;transform:rotate(var(--pitch-angle))}.pitch-switch-input{width:100%;min-width:0;height:.75rem}.pitch-readout{min-height:2rem;display:grid;gap:.05rem;justify-items:center;color:var(--color-text-dim);font-size:.7rem;line-height:1.15;text-align:center}.pitch-readout strong{color:var(--color-text);font-size:.82rem}.fader-readout{color:var(--color-text-dim);font-size:.74rem;white-space:nowrap}.cue-button{width:100%;padding-inline:.35rem}.cue-button.active{border-color:var(--color-cue-active-border);background:var(--color-cue-active-bg)}label{display:grid;gap:.35rem;margin:.7rem 0;color:var(--color-text-muted)}input[type=range]{width:100%;padding:0}.loop-strip .vertical-fader,.filter-strip .vertical-fader{width:2rem;padding:0}.sequencer{grid-column:span 2}.steps{display:grid;gap:.45rem}.step-row{display:grid;grid-template-columns:4.5rem repeat(8,minmax(1.9rem,1fr));gap:.35rem;align-items:center}.step-row span{color:var(--color-text-muted);font-size:.9rem}.step{aspect-ratio:1;min-width:0;padding:0;text-align:center}.step.active{background:var(--color-step-active-bg);border-color:var(--color-step-active-border);color:var(--color-step-active-text)}.split{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(360px,1.1fr);gap:1rem;align-items:start}.task-toolbar{align-items:baseline}.task-summary{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;color:var(--color-text-muted);font-size:.82rem}.status-filter{cursor:pointer}.status-filter:not(.active){opacity:.45;background:var(--color-surface)}.status-filter.active{box-shadow:inset 0 0 0 1px currentColor}.taskspace-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);gap:1rem;align-items:start}.taskspace-layout.has-space-chat{height:100%;min-height:0;overflow:hidden}.tree{min-height:520px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:.85rem}.taskspace-layout.has-space-chat .tree,.taskspace-layout.has-space-chat .inspector{min-height:0;height:100%;overflow:auto}.task-create,.task-tree-list{display:grid;gap:.5rem}.task-create{grid-template-columns:minmax(8rem,1fr) minmax(8rem,1.2fr) auto}.task-node{--depth: 0}.task-row{display:flex;align-items:stretch;gap:.35rem;margin-left:calc(var(--depth) * 1rem);border-radius:7px}.task-row.selected .task-select{border-color:var(--color-accent);background:var(--color-accent-soft)}.task-row.filtered-context .task-select{opacity:.62}.task-toggle{width:2rem;min-width:2rem;padding:0;text-align:center;color:var(--color-text-muted)}.task-toggle:disabled{opacity:.35;cursor:default}.task-select,.related-task{width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:.22rem;text-align:left}.task-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.task-meta{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;color:var(--color-text-dim);font-size:.76rem}.children{display:grid;gap:.3rem;margin-top:.3rem}.inspector{display:grid;gap:1rem}.task-inspector-head{display:flex;align-items:start;justify-content:space-between;gap:1rem}.task-inspector-head h2{margin-bottom:.35rem}.task-inspector-head p{margin:0;color:var(--color-text-muted);line-height:1.45}.task-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.task-facts div{border:1px solid var(--color-border);border-radius:7px;padding:.55rem;min-width:0}.task-facts strong,.task-facts span{display:block}.task-facts strong{color:var(--color-text-dim);font-size:.72rem;font-weight:600;text-transform:uppercase}.task-facts span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-section{display:grid;gap:.55rem}.task-section h3{margin:0;font-size:.92rem}.related-list,.activity-list,.artifact-list{display:grid;gap:.45rem}.related-task{grid-template-columns:minmax(0,1fr) auto;align-items:center}.activity-item,.artifact-item{border:1px solid var(--color-border);border-radius:7px;padding:.55rem;background:var(--color-surface-2)}.activity-item div,.artifact-item{display:flex;justify-content:space-between;gap:.7rem;align-items:baseline}.activity-item span,.artifact-item>span{color:var(--color-text-dim);font-size:.76rem}.activity-item p{margin:.35rem 0 0;overflow-wrap:anywhere}.artifact-item a,.artifact-item span:last-child{min-width:0;overflow-wrap:anywhere}.empty-state{color:var(--color-text-dim);font-size:.88rem}.status-pill{display:inline-flex;align-items:center;min-height:1.35rem;padding:.08rem .45rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text);white-space:nowrap;font-size:.75rem}.status-open{border-color:var(--color-border-strong)}.status-claimed,.status-in_progress{border-color:var(--color-info-border);background:var(--color-info-bg);color:var(--color-info)}.status-blocked{border-color:var(--color-warning-border);background:var(--color-warning-bg);color:var(--color-warning)}.status-done{border-color:var(--color-success-border);background:var(--color-success-bg);color:var(--color-success)}.row,.button-row,.inline-form{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin:.65rem 0}.row{justify-content:space-between}.inline-form input{flex:1;min-width:160px}.checklist{padding-left:1.2rem}.chat-layout{display:grid;grid-template-columns:minmax(360px,1fr) 240px;gap:1rem;align-items:stretch;height:calc(100dvh - 5.25rem);min-height:0;overflow:hidden}.chat-layout.solo{grid-template-columns:minmax(320px,640px)}.chat-empty-panel p{margin:0;color:var(--color-text-muted);line-height:1.45}.chat-panel{min-height:0;height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:.8rem}.chat-presence{min-height:0;height:100%;overflow:auto}.chat-feed{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:0;padding-right:.25rem}.chat-empty{color:var(--color-text-muted);line-height:1.45}.chat-line{display:grid;grid-template-columns:4.2rem minmax(7rem,auto) minmax(0,1fr);gap:.55rem;align-items:baseline;padding:.08rem .6rem;background:transparent;overflow-wrap:anywhere}.chat-line.emote,.chat-line.system,.chat-line.error{grid-template-columns:4.2rem minmax(0,1fr);color:var(--color-text-muted)}.chat-line.error{background:var(--color-chat-error-bg);color:var(--color-danger)}.chat-line.told{background:var(--color-chat-told-bg)}.chat-line.input{grid-template-columns:4.2rem minmax(0,1fr);color:var(--color-chat-input-text)}.chat-line.input>span:not(.chat-time){font-style:italic}.space-chat-feed .chat-line.input{grid-template-columns:3.6rem minmax(0,1fr)}.chat-line.separator{display:block;border-top:1px solid var(--color-border);padding:0;margin:.25rem 0;height:0}.chat-time{color:var(--color-text-faint);font-size:.8rem;white-space:nowrap}.chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem}.dubspace-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:1rem;align-items:stretch}.dubspace-layout.has-space-chat{height:100%;min-height:0;overflow:hidden}.dubspace-work{min-width:0}.dubspace-presence{min-height:0;overflow:auto}.pinboard-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:1rem;align-items:stretch;height:calc(100dvh - 5.25rem - var(--space-chat-h, 280px) - .8rem);min-height:0}.pinboard-layout.has-space-chat{height:auto;min-height:0;overflow:hidden}.space-chat-shell{height:calc(100dvh - 5.25rem);min-height:0;display:grid;grid-template-rows:minmax(0,1fr) var(--space-chat-h, 280px);gap:.8rem;overflow:hidden}.pinboard-work{min-height:0;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);gap:.25rem;overflow:hidden}.pinboard-create{display:grid;grid-template-columns:minmax(0,1fr) 7rem auto;gap:.35rem;align-items:center;padding:.25rem .4rem}.pinboard-create textarea{min-height:1.9rem;height:1.9rem;max-height:3rem;resize:vertical;padding-block:.3rem;line-height:1.2}.pinboard-create select,.pinboard-create button{min-height:1.9rem;padding-block:.28rem;line-height:1.2}.pinboard-create-placeholder{min-height:2.85rem;visibility:hidden;pointer-events:none}.pinboard-stage-panel,.pinboard-presence{min-height:0;overflow:auto}.pinboard-presence{display:grid;grid-template-rows:auto minmax(0,1fr);gap:.6rem;overflow:hidden}.pinboard-presence h2{margin:0}.space-chat-panel{position:relative;height:var(--space-chat-h, 280px);min-height:220px;max-height:45vh;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.45rem;padding:.85rem .65rem .65rem}.space-chat-resizer{position:absolute;top:0;left:.75rem;right:.75rem;height:.7rem;cursor:ns-resize;touch-action:none}.space-chat-resizer:before{content:"";position:absolute;top:.28rem;left:50%;width:4.5rem;height:.18rem;border-radius:999px;background:var(--color-resizer);transform:translate(-50%)}.space-chat-resizer:hover:before,.space-chat-panel.is-resizing .space-chat-resizer:before{background:var(--color-resizer-hover)}.space-chat-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.space-chat-head h2{margin:0;font-size:.9rem}.space-chat-head span{color:var(--color-text-dim);font-size:.76rem}.space-chat-toggle{margin-left:auto;background:transparent;border:0;color:var(--color-text-muted);padding:.1rem .35rem;font-size:.75rem;line-height:1;border-radius:4px;cursor:pointer}.space-chat-toggle:hover,.space-chat-toggle:focus-visible{color:var(--color-text);background:var(--color-surface-raised)}.space-chat-panel.is-collapsed{height:auto!important;min-height:0;max-height:none;padding:.3rem .65rem;grid-template-rows:auto}.space-chat-shell:has(.space-chat-panel.is-collapsed){grid-template-rows:minmax(0,1fr) auto}.space-chat-feed{font-size:.86rem}.space-chat-feed .chat-line{padding:.06rem .45rem;grid-template-columns:3.6rem minmax(5.5rem,auto) minmax(0,1fr)}.space-chat-feed .chat-line.emote,.space-chat-feed .chat-line.system,.space-chat-feed .chat-line.error{grid-template-columns:3.6rem minmax(0,1fr)}.space-chat-form{gap:.45rem}.space-chat-form input{min-width:0}.pinboard-stage-panel{display:flex;overflow:hidden;padding:0;min-height:420px}.pinboard-layout:not(.has-space-chat) .pinboard-stage-panel{min-height:0;height:calc(100dvh - 5.25rem - var(--space-chat-h, 280px) - .8rem - 2.85rem - .25rem)}[data-pinboard-map-shell]{min-height:0;height:100%}.pinboard-stage{flex:1 1 auto;width:100%;height:100%;min-height:0;position:relative;overflow:hidden;background-color:var(--color-board);background-image:linear-gradient(90deg,var(--color-board-grid) 1px,transparent 1px),linear-gradient(var(--color-board-grid) 1px,transparent 1px);background-size:var(--pinboard-grid-size, 24px) var(--pinboard-grid-size, 24px);background-position:var(--pinboard-grid-x, 0) var(--pinboard-grid-y, 0);border:1px solid var(--color-board-border);border-radius:7px;cursor:grab;touch-action:none;overscroll-behavior:contain}.pinboard-stage.panning{cursor:grabbing}.pinboard-stage.viewport-animating{transition:background-position .48s cubic-bezier(.16,1,.3,1),background-size .48s cubic-bezier(.16,1,.3,1)}.pinboard-canvas{position:absolute;inset:0 auto auto 0;width:max(var(--pinboard-w),6000px);height:max(var(--pinboard-h),4000px);transform-origin:0 0}.pinboard-canvas.viewport-animating{transition:transform .48s cubic-bezier(.16,1,.3,1);will-change:transform}.pinboard-zoom-controls{position:absolute;z-index:10000;right:.75rem;top:.75rem;display:inline-grid;grid-template-columns:2rem 3.25rem 2rem;align-items:center;gap:.25rem;padding:.25rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);box-shadow:var(--shadow-zoom)}.pinboard-zoom-controls button{min-width:2rem;padding:.35rem 0}.pinboard-zoom-controls span{text-align:center;font-size:.78rem;color:var(--color-text-muted)}.pinboard-empty{position:absolute;left:1rem;top:1rem;padding:1rem;color:var(--color-board-empty)}.pinboard-map{position:relative;width:100%;height:100%;min-height:11rem;overflow:hidden;border:1px solid var(--color-board-border);border-radius:6px;background:var(--color-board-map);cursor:crosshair}.pinboard-map-note{position:absolute;min-width:3px;min-height:3px;border:1px solid rgb(255 255 255 / .45);box-sizing:border-box;pointer-events:none}.pinboard-map-viewport{position:absolute;min-width:5px;min-height:5px;padding:0;appearance:none;border:1px solid var(--color-accent);border-radius:2px;background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px #ffffff2e;cursor:crosshair;transition:left .36s cubic-bezier(.16,1,.3,1),top .36s cubic-bezier(.16,1,.3,1),width .36s cubic-bezier(.16,1,.3,1),height .36s cubic-bezier(.16,1,.3,1)}.pinboard-map-viewport:hover{background:var(--color-accent-hover);opacity:.45}.pinboard-map-viewport.self{border-color:var(--color-success);background:var(--color-success-bg)}.pinboard-map-viewport.self:hover{background:var(--color-success-bg);opacity:.85}.pinboard-map-empty{position:absolute;left:.65rem;top:.55rem;margin:0;color:var(--color-board-empty);font-size:.78rem;pointer-events:none}.pin-note{position:absolute;cursor:auto;min-width:100px;min-height:72px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:.3rem;padding:.45rem;border:1px solid var(--color-note-border);border-radius:4px;box-shadow:0 4px 10px var(--color-note-shadow);color:var(--color-note-text)}.pin-note:after{content:attr(data-note-meta);position:absolute;left:.35rem;bottom:calc(100% + .35rem);z-index:20;max-width:18rem;padding:.35rem .5rem;border:1px solid var(--color-note-tooltip-border);border-radius:4px;background:var(--color-note-tooltip-bg);color:var(--color-text);box-shadow:var(--shadow-tooltip);font-size:.72rem;line-height:1.25;opacity:0;pointer-events:none;transform:translateY(.2rem);transition:opacity .12s ease,transform .12s ease;white-space:pre-line}.pin-note:hover:after,.pin-note:focus-within:after{opacity:1;transform:translateY(0)}.pin-note-animating{transition:transform .36s cubic-bezier(.16,1,.3,1);will-change:transform}.pin-note-yellow{background:var(--color-note-yellow)}.pin-note-blue{background:var(--color-note-blue)}.pin-note-green{background:var(--color-note-green)}.pin-note-pink{background:var(--color-note-pink)}.pin-note-white{background:var(--color-note-white)}.pin-note-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.3rem;align-items:center}.pin-note-head button,.pin-note-head select{min-width:0;padding:.18rem .35rem;font-size:.72rem;background:var(--color-note-meta-bg);color:inherit;border-color:var(--color-note-border)}.pin-note-drag{cursor:grab;touch-action:none}.pin-note-drag:active{cursor:grabbing}.pin-note textarea{width:100%;min-height:0;resize:none;border:0;padding:.25rem;background:var(--color-note-meta-bg);color:inherit;line-height:1.25}.pin-note-resize{position:absolute;right:.18rem;bottom:.18rem;width:.85rem;height:.85rem;padding:0;border-radius:2px;background:linear-gradient(135deg,transparent 0 42%,var(--color-note-border) 44% 54%,transparent 56%);cursor:nwse-resize;touch-action:none}.presence-list{display:grid;gap:.45rem}.presence-list button{display:grid;gap:.1rem;text-align:left}.presence-list span{color:var(--color-text-dim);font-size:.78rem}pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.82rem;font-family:var(--font-mono)}.event-list{display:grid;gap:.45rem;overflow:auto;min-height:0;padding-right:.15rem}.event-list pre{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;padding:.5rem;font-size:.7rem;line-height:1.28}.editor{display:grid;gap:.65rem}textarea{min-height:270px;resize:vertical;font-family:var(--font-mono)}@media(max-width:980px){.shell,.shell.observations-collapsed{grid-template-columns:1fr}.nav{display:grid;grid-template-columns:auto minmax(7rem,1fr) repeat(5,minmax(0,max-content));align-items:center;gap:.45rem;padding:.55rem;border:0;border-bottom:1px solid var(--color-nav-border);position:static;height:auto;overflow:visible}.events{border:0;position:static;height:min(42vh,22rem)}.events.collapsed{height:auto;padding:.55rem;flex-direction:row;align-items:center;gap:.5rem}.events.collapsed .events-logout{order:-1;margin-top:0;align-self:center}.events.collapsed .events-header{flex:1 1 auto;flex-direction:row;justify-content:space-between}.events.collapsed h2{writing-mode:horizontal-tb;transform:none}.brand,.actor,.nav-button{margin:0}.brand{font-size:1rem}.actor{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.nav-button{width:auto;padding:.32rem .42rem;text-align:center;font-size:.82rem;white-space:nowrap}.split{grid-template-columns:1fr}.loop-console-panel{grid-column:auto}.loop-console{grid-template-columns:repeat(5,minmax(3.4rem,1fr));gap:.45rem}.loop-strip,.filter-strip{min-height:16rem;padding-inline:.3rem}.taskspace-layout,.task-facts,.task-create,.chat-layout{grid-template-columns:1fr}.dubspace-layout,.pinboard-layout{grid-template-columns:1fr;height:auto}.pinboard-layout .pinboard-stage-panel{min-height:420px;height:min(70vh,560px)}.pinboard-create{grid-template-columns:1fr}.sequencer{grid-column:auto}.step-row{grid-template-columns:3.8rem repeat(8,minmax(1.7rem,1fr))}}@media(max-width:520px){.nav{grid-template-columns:repeat(5,minmax(0,1fr))}.brand,.actor,.github-link{display:none}.nav-button{width:100%;padding-inline:.25rem;font-size:.76rem}.loop-console{grid-template-columns:repeat(5,minmax(2.8rem,1fr));gap:.3rem}.loop-strip button,.filter-strip button{padding-inline:.2rem;font-size:.72rem}.pitch-dial{width:2.25rem}.pitch-readout{font-size:.64rem}.pitch-readout strong{font-size:.74rem}}@media(prefers-reduced-motion:reduce){.pin-note-animating,.pinboard-stage.viewport-animating,.pinboard-canvas.viewport-animating,.pinboard-map-viewport{transition:none}}
