.ws-body{min-height:100vh;display:grid;grid-template-columns:var(--side-w,56px) 1fr;background:var(--ink);transition:grid-template-columns .22s cubic-bezier(.2,.8,.2,1)}.ws-body.is-side-pinned{--side-w:240px}.ws-side{position:fixed;top:0;left:0;bottom:0;width:56px;background:var(--ink-2);border-right:1px solid var(--line);z-index:40;transition:width .22s cubic-bezier(.2,.8,.2,1);overflow:hidden;display:flex;flex-direction:column}.ws-side.is-pinned{width:240px}.ws-side-head{padding:16px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;white-space:nowrap;min-height:60px;position:relative}.ws-side-head .brand-mark{width:32px;height:32px;flex-shrink:0}.ws-side:not(.is-pinned) .ws-side-head{padding:16px 0;gap:0;justify-content:center}.ws-side-head-text{opacity:0;transition:opacity .18s;font-family:var(--serif);font-weight:600;font-size:15px}.ws-side.is-pinned .ws-side-head-text{opacity:1}.ws-side-nav{padding:10px 8px;flex:1 1;overflow-y:auto;overflow-x:hidden}.ws-side-group{font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--graphite-2);padding:10px 10px 6px;opacity:0;transition:opacity .18s}.ws-side.is-pinned .ws-side-group{opacity:1}.ws-side:not(.is-pinned) .ws-side-group{display:none}.ws-side-item{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:4px;color:var(--paper-2);font-size:13px;cursor:pointer;white-space:nowrap;margin-bottom:2px}.ws-side-item:hover{background:var(--ink-3);color:var(--paper)}.ws-side-item.is-active{background:hsla(36,47%,60%,.12);color:var(--gold)}.ws-side-icon{width:20px;height:20px;flex-shrink:0;display:grid;place-items:center;font-family:var(--mono);font-size:11px;color:inherit}.ws-side-text{opacity:0;transition:opacity .18s}.ws-side.is-pinned .ws-side-text{opacity:1}.ws-side:not(.is-pinned) .ws-side-text{display:none}.ws-side:not(.is-pinned) .ws-side-item{justify-content:center;padding:8px 0;gap:0}.ws-side-foot{padding:12px;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;white-space:nowrap}.ws-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-3));display:grid;place-items:center;color:var(--ink);font-family:var(--serif);font-weight:700;font-size:12px;flex-shrink:0}.ws-side-foot-text{opacity:0;transition:opacity .18s;font-size:12px}.ws-side.is-pinned .ws-side-foot-text{opacity:1}.ws-side-toggle{margin-left:auto;width:28px;height:28px;border-radius:3px;background:var(--ink-3);border:1px solid var(--line-2);color:var(--paper-2);cursor:pointer;font-family:var(--mono);font-size:14px;line-height:1;display:grid;place-items:center;transition:color .15s,border-color .15s,background .15s;flex-shrink:0}.ws-side-brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit;flex:1 1;min-width:0}.ws-side:not(.is-pinned) .ws-side-toggle{margin-left:0}.ws-side .ws-side-toggle{opacity:1}.ws-side-toggle:hover{color:var(--gold);border-color:var(--gold);background:hsla(36,47%,60%,.1)}.ws-main{grid-column:2;min-height:100vh;display:flex;flex-direction:column}.ws-header{padding:0 32px;min-height:60px;background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;gap:20px;position:-webkit-sticky;position:sticky;top:0;z-index:20}.ws-breadcrumb{font-family:var(--mono);font-size:11px;color:var(--graphite-2);letter-spacing:.1em}.ws-breadcrumb a{color:var(--graphite-2);text-decoration:none}.ws-breadcrumb a:hover{color:var(--paper)}.ws-breadcrumb .sep{margin:0 8px;color:var(--line-2)}.ws-title-wrap{flex:1 1;display:flex;align-items:baseline;gap:14px;min-width:0}.ws-title{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--paper);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-title-input{background:transparent;border:1px solid transparent;border-radius:4px;padding:4px 8px;margin:-4px -8px;width:100%;min-width:0;outline:none;cursor:text;transition:background .12s,border-color .12s}.ws-title-input:hover:not(:focus){background:var(--ink-3);border-color:var(--line)}.ws-title-input.is-editing,.ws-title-input:focus{background:var(--ink-2);border-color:var(--gold-3);cursor:text}.ws-title-input::placeholder{color:var(--graphite-2);font-style:italic}.ws-task-id{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--graphite-2);padding:3px 8px;border:1px solid var(--line-2);border-radius:3px}.ws-header-actions{display:flex;align-items:center;gap:10px}.ws-save-chip{font-family:var(--mono);font-size:11px;color:var(--ok);letter-spacing:.1em;display:flex;align-items:center;gap:6px}.ws-save-chip:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ok)}.ws-pipe{gap:14px}.ws-pipe,.ws-pipe-dot{display:inline-flex;align-items:center}.ws-pipe-dot{position:relative;gap:8px;padding:4px 2px;background:transparent;border:none;color:var(--graphite-2);cursor:pointer;transition:color .15s;font-family:inherit}.ws-pipe-dot:hover:not(.is-active) .ws-pipe-dot-label{color:var(--paper)}.ws-pipe-dot+.ws-pipe-dot:before{content:"";position:absolute;left:-16px;top:50%;transform:translateY(-50%);width:14px;height:1px;background:var(--line-2)}.ws-pipe-dot.is-done+.ws-pipe-dot.is-done:before,.ws-pipe-dot.is-done+.ws-pipe-dot:before{background:var(--gold-3)}.ws-pipe-dot-ball{width:22px;height:22px;border-radius:50%;background:var(--ink-3);border:1px solid var(--line-2);display:grid;place-items:center;font-family:var(--mono);font-size:10px;font-weight:600;flex-shrink:0;transition:all .2s;color:var(--graphite-2)}.ws-pipe-dot.is-done .ws-pipe-dot-ball{background:var(--gold-3);border-color:var(--gold-3);color:var(--ink)}.ws-pipe-dot.is-active .ws-pipe-dot-ball{background:var(--gold);border-color:var(--gold);color:var(--ink);box-shadow:0 0 0 3px hsla(36,47%,60%,.18);width:24px;height:24px}.ws-pipe-dot-label{font-family:var(--serif);font-size:12px;font-weight:500;white-space:nowrap;color:var(--graphite-2);transition:color .15s}.ws-pipe-dot.is-done .ws-pipe-dot-label{color:var(--paper-2)}.ws-pipe-dot.is-active .ws-pipe-dot-label{color:var(--gold);font-weight:600;font-size:13px}.ws-stage{flex:1 1;padding:0;overflow-y:auto;position:relative}.ws-stage-inner{padding:32px 32px 120px;max-width:1600px;margin:0 auto}.ws-stage.is-flush{overflow:hidden}.ws-stage.is-flush .ws-stage-inner{padding:0;max-width:none;height:100%}.ws-panel-head{margin-bottom:24px}.ws-panel-head h2{font-size:32px;font-family:var(--serif);margin-bottom:8px}.ws-panel-sub{font-size:14px;color:var(--graphite-2);max-width:720px}.ws1-grid{display:flex;flex-direction:column;gap:16px;margin-top:20px}.ws1-editor{background:var(--ink-2);border:1px solid var(--line);border-radius:6px;overflow:hidden}.ws1-editor-head{padding:12px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;font-family:var(--mono);font-size:11px;color:var(--graphite-2);letter-spacing:.1em;background:var(--ink-3)}.ws1-editor-head-actions{margin-left:auto;display:flex;gap:8px}.ws1-pill{padding:4px 10px;border:1px solid var(--line-2);border-radius:3px;cursor:pointer;color:var(--paper-2);font-size:10px;letter-spacing:.12em}.ws1-pill:hover{border-color:var(--gold);color:var(--gold)}.ws1-pill.is-sel{background:var(--gold);color:var(--ink);border-color:var(--gold)}.ws1-editor-body,.ws1-upload-drop{height:360px}.ws1-editor-body{padding:28px 36px;font-family:var(--serif);font-size:16px;line-height:2;color:var(--paper);white-space:pre-wrap;outline:none;overflow-y:auto}.ws1-editor-body:first-line{color:var(--gold);font-weight:600;font-size:18px}.ws1-editor-foot{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--line);background:var(--ink-3);font-family:var(--mono);font-size:11px;color:var(--graphite-2);letter-spacing:.1em}.ws1-side{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;align-items:start}@media (max-width:900px){.ws1-side{grid-template-columns:1fr}}.ws1-card{padding:18px 20px}.ws1-card,.ws1-fold{background:var(--ink-2);border:1px solid var(--line);border-radius:6px}.ws1-fold{overflow:hidden;transition:border-color .15s}.ws1-fold.is-open{border-color:var(--line-2)}.ws1-fold-head{width:100%;display:flex;align-items:center;gap:12px;padding:14px 18px;background:transparent;border:none;color:var(--paper);cursor:pointer;text-align:left;font-family:inherit;transition:background .15s}.ws1-fold-head:hover{background:var(--ink-3)}.ws1-fold.is-open .ws1-fold-head{border-bottom:1px solid var(--line)}.ws1-fold-title{font-family:var(--serif);font-size:14px;color:var(--paper);flex-shrink:0}.ws1-fold-summary{flex:1 1;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--gold);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws1-fold-chev{display:grid;place-items:center;width:20px;height:20px;color:var(--graphite-2);flex-shrink:0}.ws1-fold.is-open .ws1-fold-chev{color:var(--paper-2)}.ws1-fold-body{padding:16px 18px 18px}.ws1-card h4{margin:0 0 12px;font-family:var(--serif);font-size:15px;color:var(--paper);display:flex;align-items:center;justify-content:space-between}.ws1-card-count{font-family:var(--mono);font-size:10px;color:var(--gold);letter-spacing:.14em;font-weight:400}.ws1-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--line);font-size:13px}.ws1-row:last-child{border-bottom:0}.ws1-row-label{color:var(--graphite-2)}.ws1-row-val{color:var(--paper);font-family:var(--mono);font-size:12px}.ws1-params-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.ws2-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:12px 16px;background:var(--ink-2);border:1px solid var(--line);border-radius:6px}.ws2-toolbar-group{display:flex;gap:4px;padding:0 8px;border-right:1px solid var(--line)}.ws2-toolbar-group:last-child{border-right:0}.ws2-tb-btn{padding:6px 12px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;border-radius:3px;color:var(--paper-2);cursor:pointer;background:transparent;border:1px solid transparent}.ws2-tb-btn.is-sel,.ws2-tb-btn:hover{background:var(--ink-3)}.ws2-tb-btn.is-sel{border-color:var(--line-2);color:var(--gold)}.ws2-btn{padding:7px 14px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;border-radius:3px;color:var(--paper-2);cursor:pointer;background:var(--ink-3);border:1px solid var(--line-2);transition:background .1s,border-color .1s,color .1s;line-height:1}.ws2-btn:hover:not(:disabled){background:var(--ink);border-color:var(--gold-3);color:var(--paper)}.ws2-btn:active:not(:disabled){transform:translateY(1px)}.ws2-btn:disabled{opacity:.4;cursor:not-allowed}.ws2-btn-primary{background:var(--gold);color:var(--ink);border-color:var(--gold)}.ws2-btn-primary:hover:not(:disabled){background:var(--gold-3,var(--gold));color:var(--ink);border-color:var(--gold-3,var(--gold))}.ws2-btn-danger{color:var(--red);border-color:rgba(214,79,42,.4)}.ws2-btn-danger:hover:not(:disabled){background:rgba(214,79,42,.15);border-color:var(--red);color:var(--red)}.ws2-board-head{padding:10px 14px;font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--graphite-2);text-transform:uppercase;background:var(--ink-3);border-radius:4px 4px 0 0;border:1px solid var(--line);border-bottom:0}.ws2-board-head,.ws2-row{display:grid;grid-template-columns:70px 110px 130px minmax(0,1.2fr) minmax(0,1fr) 120px 70px;grid-gap:12px;gap:12px}.ws2-row{padding:12px 14px;border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ink-2);font-size:13px;color:var(--paper-2);align-items:center;transition:background .1s;cursor:pointer}.ws2-row:hover{background:var(--ink-3)}.ws2-row.is-sel{background:hsla(36,47%,60%,.18);border-left:3px solid var(--gold);padding-left:12px;color:var(--paper)}.ws2-row.is-sel .ws2-row-num{color:var(--gold);font-weight:600}.ws2-row-thumb{width:40px;aspect-ratio:16/9;border:1px solid var(--line-2);border-radius:2px;background:linear-gradient(135deg,#2a2428,#0e0e10);position:relative;overflow:hidden}.ws2-row-num{font-family:var(--mono);color:var(--gold);font-size:11px;letter-spacing:.1em}.ws2-row-scene{font-family:var(--serif);color:var(--paper);font-size:13px}.ws2-row-desc{font-size:12px;line-height:1.5;color:var(--paper-2)}.ws2-row-meta{font-size:10px;letter-spacing:.08em}.ws2-board-foot,.ws2-row-meta{font-family:var(--mono);color:var(--graphite-2)}.ws2-board-foot{padding:10px 16px;background:var(--ink-3);border:1px solid var(--line);border-top:0;border-radius:0 0 4px 4px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.1em}.ws3-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--line)}.ws3-tab{padding:10px 18px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--graphite-2);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.ws3-tab:hover{color:var(--paper)}.ws3-tab.is-active{color:var(--gold);border-bottom-color:var(--gold)}.ws3-tab-count{margin-left:6px;opacity:.5}.ws3-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px}.ws3-card{background:var(--ink-2);border:1px solid var(--line);border-radius:6px;overflow:hidden;cursor:pointer;transition:all .2s}.ws3-card:hover{border-color:var(--gold-3);transform:translateY(-2px)}.ws3-card-art{aspect-ratio:4/5;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.ws3-card-tag{top:10px;left:10px;color:var(--gold)}.ws3-card-status,.ws3-card-tag{position:absolute;font-family:var(--mono);font-size:9px;letter-spacing:.14em;padding:3px 8px;background:rgba(14,14,16,.85);border-radius:2px}.ws3-card-status{bottom:10px;right:10px;color:var(--ok)}.ws3-card-body{padding:14px}.ws3-card-name{font-family:var(--serif);font-size:16px;color:var(--paper);margin-bottom:4px;font-weight:600}.ws3-card-desc{font-size:12px;color:var(--graphite-2);line-height:1.5;margin-bottom:10px}.ws3-card-actions{display:flex;gap:6px;font-family:var(--mono);font-size:10px;letter-spacing:.1em}.ws3-card-link{color:var(--paper-2);cursor:pointer;padding:3px 0}.ws3-card-link:hover{color:var(--gold)}.ws4-layout{display:grid;grid-template-columns:1fr 320px;grid-gap:20px;gap:20px}.ws4-preview{background:var(--ink-2);border:1px solid var(--line);border-radius:6px;overflow:hidden}.ws4-preview-viewer{aspect-ratio:16/9;position:relative;background:#050507;overflow:hidden}.ws4-preview-frame,.ws4-preview-overlays{position:absolute;inset:0}.ws4-preview-overlays{pointer-events:none}.ws4-preview-top{top:0;color:var(--paper);background:linear-gradient(180deg,rgba(0,0,0,.6),transparent)}.ws4-preview-bottom,.ws4-preview-top{position:absolute;left:0;right:0;padding:14px 20px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;letter-spacing:.14em}.ws4-preview-bottom{bottom:0;color:var(--paper-2);background:linear-gradient(0deg,rgba(0,0,0,.6),transparent)}.ws4-scrub{padding:14px 16px;background:var(--ink-3);border-top:1px solid var(--line);display:flex;align-items:center;gap:16px}.ws4-play{width:36px;height:36px;border-radius:50%;background:var(--gold);color:var(--ink);border:none;cursor:pointer;display:grid;place-items:center;font-size:14px;padding-left:2px;flex-shrink:0}.ws4-track-wrap{flex:1 1}.ws4-tc{font-family:var(--mono);font-size:12px;color:var(--paper);letter-spacing:.1em;min-width:120px;text-align:right}.ws4-track{height:4px;background:var(--line-2);border-radius:2px;overflow:hidden;position:relative;cursor:pointer}.ws4-track-fill{position:absolute;left:0;top:0;bottom:0;background:var(--gold);width:34%}.ws4-track-marks{display:flex;gap:2px;margin-top:6px;font-family:var(--mono);font-size:9px;color:var(--graphite-2);letter-spacing:.08em;justify-content:space-between}.ws4-timeline{padding:14px;border-top:1px solid var(--line);overflow-x:auto}.ws4-timeline-track{display:flex;gap:4px}.ws4-tl-tile{flex:0 0 80px;aspect-ratio:16/9;border:1px solid var(--line-2);border-radius:2px;background:linear-gradient(135deg,#2a2428,#0e0e10);position:relative;cursor:pointer;overflow:hidden}.ws4-tl-tile.is-cur{border-color:var(--gold);box-shadow:0 0 0 2px hsla(36,47%,60%,.3)}.ws4-tl-num{position:absolute;top:2px;left:3px;font-family:var(--mono);font-size:8px;color:var(--gold);letter-spacing:.08em}.ws4-inspector{background:var(--ink-2);border:1px solid var(--line);border-radius:6px;overflow:hidden;align-self:start}.ws4-insp-head{padding:14px 16px;border-bottom:1px solid var(--line);background:var(--ink-3);font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--gold);text-transform:uppercase}.ws4-insp-body{padding:16px}.ws4-insp-preview{aspect-ratio:16/9;border:1px solid var(--line);border-radius:3px;margin-bottom:14px;position:relative;overflow:hidden;background:linear-gradient(135deg,#1a1619,#0e0e10)}.ws4-insp-row{display:grid;grid-template-columns:80px 1fr;grid-gap:10px;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:12px}.ws4-insp-row:last-of-type{border-bottom:0}.ws4-insp-row-label{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--graphite-2);text-transform:uppercase;align-self:center}.ws4-insp-row-val{color:var(--paper);font-size:12px}.ws-foot{position:-webkit-sticky;position:sticky;bottom:0;background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:14px 32px;gap:16px;z-index:15}.ws-foot,.ws-foot-status{display:flex;align-items:center}.ws-foot-status{gap:10px;flex:1 1}.ws-foot-step-text{font-family:var(--mono);font-size:11px;color:var(--graphite-2);letter-spacing:.14em}.ws-foot-step-title{font-family:var(--serif);font-size:14px;color:var(--paper);font-weight:600}.ws-foot-btns{display:flex;gap:8px}.vp-shell,.vp-shell *,.vp-shell ::-webkit-scrollbar{scrollbar-width:thin;scrollbar-color:hsla(40,21%,89%,.2) transparent}.vp-shell ::-webkit-scrollbar,.vp-shell::-webkit-scrollbar{width:6px;height:6px}.vp-shell ::-webkit-scrollbar-track,.vp-shell::-webkit-scrollbar-track{background:transparent}.vp-shell ::-webkit-scrollbar-thumb,.vp-shell::-webkit-scrollbar-thumb{background:hsla(40,21%,89%,.18);border-radius:3px;-webkit-transition:background .15s;transition:background .15s}.vp-shell ::-webkit-scrollbar-thumb:hover,.vp-shell::-webkit-scrollbar-thumb:hover{background:hsla(36,47%,60%,.5)}.vp-shell ::-webkit-scrollbar-corner,.vp-shell::-webkit-scrollbar-corner{background:transparent}