*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f3f5f2;color:#20251f}button,input,select,textarea{font:inherit}button{border:1px solid #9ba399;background:#fff;color:#20251f;border-radius:6px;padding:.45rem .7rem;cursor:pointer}button:hover,button.active{background:#dfe9dc}input,select,textarea{border:1px solid #aab2a6;border-radius:6px;padding:.45rem .55rem;background:#fff}.shell{min-height:100vh;display:grid;grid-template-columns:190px minmax(0,1fr) 360px}.nav,.events{border-right:1px solid #d0d7cd;background:#ecf0ea;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:#5f685d;display:inline-flex;padding:.25rem;border-radius:4px;transition:color .12s}.github-link:hover,.github-link:focus-visible{color:#1a3a17}.events{border-right:0;border-left:1px solid #d0d7cd;position:sticky;top:0;align-self:start;height:100vh;display:flex;flex-direction:column;min-height:0}.events h2{margin:0 0 .65rem;font-size:.95rem}.brand{font-size:1.35rem;font-weight:700;margin-bottom:.3rem}.actor{color:#5f685d;font-size:.9rem;margin-bottom:1rem}.nav-button{width:100%;text-align:left;margin-bottom:.5rem}.main{padding:1rem;overflow:auto}.toolbar{display:flex;align-items:center;gap:.65rem;margin-bottom:1rem}.toolbar h1{font-size:1.35rem;margin:0 auto 0 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.8rem}.panel{background:#fff;border:1px solid #d5dcd1;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:#377d5b;box-shadow:inset 0 0 0 2px #c7e8d6}.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 #d5dcd1;border-radius:7px;background:#fafbf8}.filter-strip{grid-template-rows:auto minmax(8rem,1fr) auto}.loop-strip.playing{border-color:#377d5b;box-shadow:inset 0 0 0 2px #c7e8d6}.loop-strip.cue-active{border-color:#b18432;background:#fff8e8}.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:#647060;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 #778171;border-radius:50%;background:radial-gradient(circle at 50% 52%,#f7f8f5 0 38%,transparent 39%),conic-gradient(from -135deg,#8ca497,#d4d0a8,#b96d56 270deg,#d9ddd6 270deg 360deg);box-shadow:inset 0 1px 2px #0000001f;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:#2f3a35;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:#647060;font-size:.7rem;line-height:1.15;text-align:center}.pitch-readout strong{color:#2f3a35;font-size:.82rem}.fader-readout{color:#647060;font-size:.74rem;white-space:nowrap}.cue-button{width:100%;padding-inline:.35rem}.cue-button.active{border-color:#b18432;background:#f5d78d}label{display:grid;gap:.35rem;margin:.7rem 0;color:#4b5449}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:#4b5449;font-size:.9rem}.step{aspect-ratio:1;min-width:0;padding:0;text-align:center}.step.active{background:#242c24;border-color:#242c24;color:#fff}.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:#5f685d;font-size:.82rem}.status-filter{cursor:pointer}.status-filter:not(.active){opacity:.45;background:#fff}.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}.tree{min-height:520px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:.85rem}.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:#377d5b;background:#dfe9dc}.task-row.filtered-context .task-select{opacity:.62}.task-toggle{width:2rem;min-width:2rem;padding:0;text-align:center;color:#4b5449}.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:#647060;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:#4b5449;line-height:1.45}.task-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.task-facts div{border:1px solid #d5dcd1;border-radius:7px;padding:.55rem;min-width:0}.task-facts strong,.task-facts span{display:block}.task-facts strong{color:#647060;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 #d5dcd1;border-radius:7px;padding:.55rem;background:#fafbf8}.activity-item div,.artifact-item{display:flex;justify-content:space-between;gap:.7rem;align-items:baseline}.activity-item span,.artifact-item>span{color:#647060;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:#697366;font-size:.88rem}.status-pill{display:inline-flex;align-items:center;min-height:1.35rem;padding:.08rem .45rem;border-radius:999px;border:1px solid #c9d1c6;background:#f7f8f5;color:#3d463b;white-space:nowrap;font-size:.75rem}.status-open{border-color:#b8c5b4}.status-claimed,.status-in_progress{border-color:#8aa6c3;background:#eef4f8}.status-blocked{border-color:#c69a7a;background:#fff1e7}.status-done{border-color:#83ad90;background:#ecf8ef}.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:#4b5449;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:.35rem;padding-right:.25rem}.chat-empty{color:#5f685d;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:.48rem .6rem;border-radius:6px;background:#f7f8f5;overflow-wrap:anywhere}.chat-line.emote,.chat-line.system{grid-template-columns:4.2rem minmax(0,1fr);color:#4b5449}.chat-line.told{background:#eef4f7}.chat-time{color:#748070;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-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);min-height:0}.pinboard-work{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:.8rem}.pinboard-create{display:grid;grid-template-columns:minmax(0,1fr) 8rem auto;gap:.55rem;align-items:stretch;padding:.65rem}.pinboard-create textarea{min-height:2.45rem;max-height:5rem;resize:vertical}.pinboard-stage-panel,.pinboard-presence{min-height:0;overflow:auto}.pinboard-presence{display:grid;grid-template-rows:auto minmax(0,auto);gap:.6rem}.pinboard-presence h2{margin:0}.pinboard-stage-panel{display:flex;overflow:hidden;padding:0;min-height:420px}.pinboard-stage{flex:1 1 auto;width:100%;height:100%;min-height:0;position:relative;overflow:hidden;background-color:#e5d5b6;background-image:linear-gradient(90deg,rgb(75 84 73 / .06) 1px,transparent 1px),linear-gradient(rgb(75 84 73 / .06) 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 #c6b58f;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 rgb(59 68 56 / .22);border-radius:6px;background:#ffffffe0;box-shadow:0 4px 12px #2e261724}.pinboard-zoom-controls button{min-width:2rem;padding:.35rem 0}.pinboard-zoom-controls span{text-align:center;font-size:.78rem;color:#4d594b}.pinboard-empty{position:absolute;left:1rem;top:1rem;padding:1rem;color:#5f685d}.pinboard-map{position:relative;width:100%;aspect-ratio:1 / 1.15;min-height:11rem;overflow:hidden;border:1px solid rgb(74 84 71 / .28);border-radius:6px;background:#eadbbc;cursor:crosshair}.pinboard-map-note{position:absolute;min-width:3px;min-height:3px;border:1px solid rgb(39 39 31 / .75);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 rgb(25 90 110 / .62);border-radius:2px;background:#379eb82e;box-shadow:inset 0 0 0 1px #ffffff47;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:#379eb842}.pinboard-map-viewport.self{border-color:#385038d1;background:#5a784824}.pinboard-map-viewport.self:hover{background:#5a784833}.pinboard-map-empty{margin:.5rem 0 0;color:#697266;font-size:.78rem}.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 rgb(65 58 42 / .35);border-radius:4px;box-shadow:0 4px 10px #3a301e29}.pin-note-animating{transition:transform .36s cubic-bezier(.16,1,.3,1);will-change:transform}.pin-note-yellow{background:#fff3a6}.pin-note-blue{background:#cfe7ff}.pin-note-green{background:#d8f3c6}.pin-note-pink{background:#ffd4e2}.pin-note-white{background:#fbfbf2}.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:#ffffff8c}.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:#ffffff47;color:#2a2a24;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%,rgb(65 58 42 / .45) 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:#697366;font-size:.78rem}pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.82rem}.event-list{display:grid;gap:.45rem;overflow:auto;min-height:0;padding-right:.15rem}.event-list pre{background:#fff;border:1px solid #d5dcd1;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:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}@media(max-width:980px){.shell{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 #d0d7cd;position:static;height:auto;overflow:visible}.events{border:0;position:static;height:min(42vh,22rem)}.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-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}}
