:root{--bg:#111;--bg-2:#161616;--panel:#1b1b1b;--panel-2:#212121;--field:#262626;--field-2:#2e2e2e;--line:#ffffff12;--line-2:#ffffff1f;--ink:#ededed;--ink-2:#c4c4c4;--muted:#8b8b8b;--faint:#5a5a5a;--accent:#ededed;--blue:#4c9dff;--blue-soft:#4c9dff29;--blue-ink:#9cc8ff;--green:#4ade80;--amber:#f0b44c;--red:#f87171;--moss:#4ade80;--danger:#f87171;--dot:#ffffff0f;--r:12px;--r-sm:7px;--sans:"Geist",-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",system-ui,sans-serif;--serif:var(--sans);--mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,monospace;--shadow-lg:0 24px 60px -12px #000000b3;--go:#5ee38f;--go-ink:#0a1a10;--glow:radial-gradient(640px 420px at 88% -12%,#8468ff1c,transparent 70%),radial-gradient(520px 380px at 104% 46%,#ff70c40f,transparent 70%),radial-gradient(560px 420px at -8% 108%,#4c9dff12,transparent 70%);--buncss-light: ;--buncss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{color:var(--ink);font:13px/1.5 var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background:var(--glow),radial-gradient(var(--dot)1px,transparent 1px)0 0/18px 18px,var(--bg);background-attachment:fixed;margin:0}button,input,textarea,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}img{display:block}::selection{background:var(--blue-soft)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{border:3px solid var(--bg);background:#2c2c2c;border-radius:10px}::-webkit-scrollbar-track{background:0 0}.dots{background-color:var(--bg);background-image:radial-gradient(var(--dot)1px,transparent 1px);background-size:18px 18px}.row{display:flex;align-items: center;gap:8px}.wrap{flex-wrap:wrap}.grow{flex:1}.muted{color:var(--muted)}.tiny{font-size:11.5px}.mono{font-family:var(--mono);font-size:11.5px}.stack{display:flex;flex-direction:column;gap:12px}.label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:500}.hint{color:var(--muted);margin:0;font-size:11.5px}.dot{display:inline-block;border-radius:50%;flex:none;width:8px;height:8px}kbd{font:11px var(--mono);color:var(--faint);border:1px solid var(--line-2);border-radius:4px;padding:0 5px}.app{display:flex;flex-direction:column;height:100%}.topbar{display:flex;position:relative;z-index:5;flex:none;align-items: center;gap:10px;height:64px;padding:0 18px}.brand{letter-spacing:-.02em;color:var(--ink);display:inline-flex;align-items: center;gap:9px;margin-right:12px;font-size:15px;font-weight:600}.logo{flex:none}.topbar .pills{display:flex;gap:6px}.topbar .pills a{display:inline-flex;background:var(--panel);border:1px solid var(--line);color:var(--ink-2);border-radius:11px;align-items: center;height:38px;padding:0 18px;transition:background .15s,color .15s;font-weight:500}.topbar .pills a:hover{background:var(--panel-2);color:var(--ink)}.topbar .pills a.on{background:var(--field);border-color:var(--line-2);color:var(--ink)}.brand.big{text-align:center;margin-bottom:6px;font-size:26px}.topbar nav{display:flex;gap:4px}.topbar nav a{color:var(--muted);border-radius:7px;padding:6px 10px;transition:color .15s;font-weight:500}.topbar nav a:hover{color:var(--ink)}.topbar nav a.on{color:var(--ink);background:var(--panel-2)}.conn{display:inline-flex;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;align-items: center;gap:7px;max-width:46vw;font-size:12px}.conn i{background:var(--faint);border-radius:50%;flex:none;width:7px;height:7px}.conn.ok i{background:var(--green);box-shadow:0 0 8px #4ade8080}.conn.busy i{background:var(--amber);animation:pulse .9s infinite alternate}.conn.bad i{background:var(--red)}.main{overflow:auto;flex:1;min-height:0}.page{max-width:1720px;margin:0 auto;padding:22px 26px 80px}.toolbar{display:flex;flex-wrap:wrap;align-items: center;gap:10px;margin-bottom:14px}.toolbar h2{letter-spacing:-.02em;display:flex;align-items:baseline;gap:8px;margin:0 8px 0 0;font-size:20px;font-weight:500}.toolbar h2 .count{color:var(--faint);font-variant-numeric:tabular-nums;font-size:13px;font-weight:400}.toolbar.in-modal{margin-bottom:12px}.empty{display:flex;text-align:center;color:var(--muted);flex-direction:column;align-items: center;gap:10px;padding:90px 20px}.empty h3{color:var(--ink);margin:0;font-size:16px;font-weight:500}.empty p{max-width:420px;margin:0}.btn{display:inline-flex;background:var(--field);color:var(--ink);cursor:pointer;white-space:nowrap;border:0;border-radius:8px;justify-content:center;align-items: center;gap:7px;height:32px;padding:0 13px;transition:background .15s,opacity .15s;font-weight:500}.btn:hover{background:var(--field-2)}.btn:active{transform:translateY(.5px)}.btn:disabled{opacity:.4;cursor:default}.btn.primary{background:var(--ink);color:#111;border-radius:999px;padding:0 15px}.btn.primary:hover{background:#fff}.btn.ghost{color:var(--ink-2);background:0 0}.btn.ghost:hover{background:var(--panel-2)}.btn.danger{color:var(--red);background:0 0}.btn.danger:hover{background:#f871711a}.btn.danger.armed{background:var(--red);color:#111}.btn.sm{border-radius:7px;height:27px;padding:0 10px;font-size:12px}.btn.lg{height:40px;padding:0 20px;font-size:14px}.icon-btn{all:unset;cursor:pointer;display:grid;color:var(--muted);border-radius:7px;flex:none;place-items: center;width:30px;height:30px}.icon-btn:hover{background:var(--panel-2);color:var(--ink)}.icon-btn:disabled{opacity:.35;cursor:default}.icon-btn.xs{border-radius:5px;width:22px;height:22px}.round-btn{all:unset;cursor:pointer;display:grid;color:var(--ink-2);border:1px solid var(--line-2);backdrop-filter:blur(8px);background:#1b1b1bd9;border-radius:50%;flex:none;place-items: center;width:36px;height:36px;transition:background .15s}.round-btn:hover{background:var(--field);color:var(--ink)}.link{all:unset;cursor:pointer;color:var(--muted);border-radius:4px;padding:2px 4px;font-size:12px}.link:hover{color:var(--ink)}.link.strong{color:var(--blue-ink);font-weight:500}.input,.textarea,.select{background:var(--field);border-radius:var(--r-sm);outline:none;border:0;width:100%;min-height:30px;padding:6px 10px;transition:background .15s,box-shadow .15s;font-size:12.5px}.input:hover,.textarea:hover,.select:hover{background:var(--field-2)}.input:focus,.textarea:focus,.select:focus{background:var(--field);box-shadow:inset 0 0 0 1px #ffffff40}.input::placeholder,.textarea::placeholder{color:var(--faint)}.textarea{resize:vertical;padding:7px 10px;line-height:1.5}.input.big{min-height:40px;padding:8px 12px;font-size:15px}.input.bare,.textarea.bare{background:0 0;min-height:24px;padding-left:0;padding-right:0}.input.bare:hover,.textarea.bare:hover,.input.bare:focus,.textarea.bare:focus{box-shadow:none;background:0 0}.input.strong{color:var(--ink);font-weight:500}.textarea.desc{color:var(--ink-2);resize:none;font-size:13px}.textarea.bare,.note-box textarea{field-sizing:content;max-height:240px}.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;padding-right:26px}.select.bare{color:var(--ink-2);background-color:#0000;width:auto}.select.bare:hover{background-color:var(--panel-2)}.select-wrap{position:relative;display:flex;align-items: center;min-width:0}.select-wrap .dot{position:absolute;pointer-events:none;left:10px}.select-wrap .select{padding-left:25px}.select-wrap.compact{flex:none;width:auto}.select-wrap.compact .select{color:var(--muted);background-color:#0000;height:24px;min-height:24px;padding:0 24px 0 23px;font-size:11.5px}.select-wrap.compact .select:hover{background-color:var(--field);color:var(--ink)}.field-btn{display:flex;align-items: center;gap:4px}.search{display:flex;background:var(--field);color:var(--faint);border-radius:999px;align-items: center;gap:8px;width:340px;max-width:100%;height:32px;padding:0 12px}.search:focus-within{box-shadow:inset 0 0 0 1px #fff3}.search input{all:unset;color:var(--ink);flex:1;font-size:12.5px}.search input::placeholder{color:var(--faint)}.range{accent-color:var(--ink);width:90px}.seg{display:inline-flex;background:var(--field);border-radius:8px;gap:2px;padding:2px}.seg button{all:unset;cursor:pointer;color:var(--muted);border-radius:6px;padding:4px 11px;transition:color .15s,background .15s;font-size:12px;font-weight:500}.seg button:hover{color:var(--ink)}.seg button.on{color:var(--ink);background:#3a3a3a}.chips,.filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.chip{all:unset;cursor:pointer;display:inline-flex;background:var(--panel-2);color:var(--ink-2);border-radius:999px;align-items: center;gap:7px;height:26px;padding:0 11px;transition:background .15s,color .15s;font-size:12px;font-weight:500}.chip:hover{background:var(--field);color:var(--ink)}.chip.on{background:var(--ink);color:#111}.chip.ghost{color:var(--faint);background:0 0}.chip.ghost:hover{color:var(--ink)}.chip .n{color:var(--faint);font-variant-numeric:tabular-nums}.chip.on .n{color:#555}.tag{display:inline-flex;background:var(--field);color:var(--ink-2);border-radius:999px;align-items: center;gap:6px;padding:1px 8px;font-size:11px}.token{display:inline-flex;background:var(--blue-soft);color:var(--blue-ink);border-radius:6px;align-items: center;gap:2px;height:24px;padding:0 4px 0 8px;font-size:12px}a.token{padding-right:8px}.token .link{color:var(--blue-ink);padding:0;font-size:12px}.token .x{all:unset;cursor:pointer;display:grid;color:var(--blue-ink);opacity:.7;border-radius:4px;place-items: center;width:18px;height:18px}.token .x:hover{opacity:1;background:#4c9dff33}.tags-input{display:flex;background:var(--field);border-radius:var(--r-sm);flex-wrap:wrap;gap:4px;width:100%;min-height:30px;padding:3px}.tags-input input{all:unset;flex:1;min-width:70px;padding:0 6px;font-size:12.5px}.tags-input input::placeholder{color:var(--faint)}.tag-adder .input{width:110px}.toggle{display:flex;cursor:pointer;user-select:none;align-items: center;gap:10px}.toggle .sw{position:relative;background:#3a3a3a;border-radius:99px;flex:none;width:30px;height:18px;transition:background .2s}.toggle .sw:after{content:"";position:absolute;background:#d8d8d8;border-radius:50%;width:14px;height:14px;transition:transform .2s;top:2px;left:2px}.toggle.on .sw{background:var(--blue)}.toggle.on .sw:after{background:#fff;transform:translate(12px)}.toggle b{font-size:12.5px;font-weight:500}.toggle small{display:block;color:var(--muted);font-size:11.5px}.field{display:flex;flex-direction:column;gap:6px}.field>label{color:var(--muted);font-size:12px}.num{display:flex;background:var(--field);border-radius:var(--r-sm);align-items: center}.num input{all:unset;font-variant-numeric:tabular-nums;width:100%;padding:6px 10px}.num span{color:var(--muted);padding-right:10px;font-size:12px}.num-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.num-grid.four{grid-template-columns:repeat(3,1fr)auto;align-items: center;gap:8px}.num-field{display:flex;background:var(--field);border-radius:var(--r-sm);align-items: center;gap:6px;min-width:0;height:30px;padding:0 9px}.num-field:focus-within{box-shadow:inset 0 0 0 1px #ffffff40}.num-field span{color:var(--faint);flex:none;min-width:12px;font-size:11.5px}.num-field input{all:unset;font-variant-numeric:tabular-nums;width:100%;min-width:0;font-size:12.5px}.num-field i{color:var(--faint);font-size:11px;font-style:normal}.num-field input::-webkit-inner-spin-button{display:none}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);display:flex;flex-direction:column;gap:10px;padding:14px}.panel h4{color:var(--ink);margin:0;font-size:12.5px;font-weight:500}.panel-head{display:flex;align-items: center;gap:2px}.panel-head h4{flex:1}.prow{display:grid;grid-template-columns:92px minmax(0,1fr);align-items: center;gap:10px}.prow.top{align-items: start}.prow.top label{padding-top:6px}.prow>label{color:var(--muted);font-size:12px}.swatches{display:flex;gap:4px}.swatches i{border-radius:5px;width:22px;height:22px;box-shadow:inset 0 0 0 1px #ffffff14}.used{display:flex;flex-wrap:wrap;gap:5px}.menu-host{position:relative}.menu{position:absolute;border:1px solid var(--line-2);z-index:30;box-shadow:var(--shadow-lg);display:flex;background:#0d0d0d;border-radius:10px;flex-direction:column;gap:1px;min-width:220px;padding:5px;top:calc(100% + 6px);right:0}.menu>button{all:unset;cursor:pointer;display:flex;color:var(--ink-2);border-radius:7px;align-items: center;gap:10px;padding:7px 10px;font-size:12.5px}.menu>button:hover{background:var(--panel-2);color:var(--ink)}.menu-hint{color:var(--faint);padding:5px 10px 3px;font-size:11px}.menu-url{display:flex;gap:6px;width:340px;padding:3px}.masonry{column-gap:12px}.tile{break-inside:avoid;position:relative;overflow:hidden;cursor:zoom-in;background:var(--panel);border-radius:10px;margin-bottom:12px}.tile-img{width:100%;min-height:60px}.tile-img img,.tile-img svg{object-fit:cover;display:block;width:100%;height:100%}.tile.is-text{cursor:pointer}.tile.is-text .tile-img{aspect-ratio:4/3}.tile.is-3d{display:block;cursor:pointer}.tile.is-3d .tile-img{aspect-ratio:1;display:grid;position:relative;place-items: center}.badge-3d{position:absolute;display:inline-flex;letter-spacing:.02em;color:var(--ink);border:1px solid var(--line-2);background:#111111b8;border-radius:99px;align-items: center;gap:4px;padding:2px 7px;font-size:10.5px;font-weight:500;top:8px;right:8px}.tile-cap{position:absolute;display:flex;color:#fff;opacity:0;pointer-events:none;background:linear-gradient(#0000,#000000bf);align-items: center;gap:7px;padding:22px 10px 8px;transition:opacity .15s;font-size:12px;bottom:0;left:0;right:0}.tile-cap span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile:hover .tile-cap{opacity:1}.tile-check{all:unset;cursor:pointer;position:absolute;display:grid;color:#111;opacity:0;background:#00000059;border-radius:50%;place-items: center;width:20px;height:20px;transition:opacity .12s;top:8px;left:8px;box-shadow:inset 0 0 0 1.5px #fffc}.tile:hover .tile-check,.tile.sel .tile-check{opacity:1}.tile.sel .tile-check{background:var(--ink);box-shadow:none}.tile.sel{box-shadow:0 0 0 2px var(--ink)}.tile.sel .tile-img{opacity:.82}.text-ref{display:flex;background:var(--panel-2);overflow:hidden;align-items: flex-start;width:100%;height:100%;padding:16px}.text-ref p{color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:7;overflow:hidden;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.5}.bulkbar{position:fixed;display:flex;z-index:20;border:1px solid var(--line-2);box-shadow:var(--shadow-lg);white-space:nowrap;background:#0d0d0d;border-radius:999px;align-items: center;gap:8px;padding:7px 8px 7px 16px;bottom:22px;left:50%;transform:translate(-50%)}.bulkbar b{margin-right:4px;font-weight:500}.bulkbar .select{border-radius:999px;width:auto}.bulkbar .input{border-radius:999px}.drop-overlay{position:fixed;z-index:40;display:grid;backdrop-filter:blur(4px);pointer-events:none;background:#0000008c;place-items: center;inset:0}.drop-overlay>div{border:1px dashed #fff6;border-radius:14px;padding:18px 26px;font-size:15px}.detail{position:fixed;z-index:25;display:grid;grid-template-columns:minmax(0,1fr)360px;background:var(--bg);inset:0}.detail-stage{position:relative;display:grid;cursor:zoom-out;place-items: center;min-height:0;padding:40px 80px}.detail-img{display:grid;cursor:default;place-items: center;width:100%;max-width:100%;height:100%;min-height:0;max-height:100%}.detail-img img,.detail-img svg{object-fit:contain;border-radius:6px;width:auto;max-width:100%;height:auto;max-height:calc(100vh - 80px)}.detail-img svg{width:100%;height:100%}.text-edit{all:unset;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);white-space:pre-wrap;width:min(620px,100%);min-height:260px;padding:28px;font-size:17px;line-height:1.55}.round-btn.back{position:absolute;z-index:2;top:18px;left:18px}.round-btn.nav{position:absolute;top:50%;transform:translateY(-50%)}.round-btn.nav.l{left:18px}.round-btn.nav.r{right:18px}.inspector{border-left:1px solid var(--line);background:var(--bg-2);display:flex;overflow:auto;overflow-x:hidden;flex-direction:column;gap:12px;min-height:0;padding:20px 18px}.inspector.wide{width:420px}.title-input{all:unset;letter-spacing:-.01em;text-overflow:ellipsis;width:100%;min-width:0;font-size:18px;font-weight:500}.meta{display:flex;justify-content:space-between;align-items: center;gap:8px;margin-top:-8px;font-size:12px}.menu-check{display:flex;color:var(--ink-2);cursor:pointer;border-top:1px solid var(--line);align-items: center;gap:9px;margin-top:3px;padding:7px 10px;font-size:12.5px}.menu-check input{accent-color:var(--blue);margin:0}.tile.busy:after{content:"";position:absolute;animation:shimmer 1.4s linear infinite;pointer-events:none;background:linear-gradient(100deg,#0000 30%,#ffffff24 50%,#0000 70%) 0 0/250% 100%;inset:0}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.busy-pill{position:fixed;z-index:21;display:flex;border:1px solid var(--line-2);color:var(--ink-2);box-shadow:var(--shadow-lg);background:#0d0d0d;border-radius:999px;align-items: center;gap:9px;padding:8px 14px;font-size:12px;bottom:22px;left:22px}.busy-pill i{background:var(--amber);animation:pulse .9s infinite alternate;border-radius:50%;width:7px;height:7px}.type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));align-items: end;gap:18px}.type-grid.compact{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:12px}.type-card{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:9px}.type-cover{position:relative;overflow:hidden;background:var(--panel-2);display:grid;box-shadow:0 0 0 1px var(--line);border-radius:6px;place-items: center;width:100%;max-height:260px;transition:box-shadow .15s;font-size:30px}.type-cover img,.type-cover svg{object-fit:cover;filter:grayscale(.6)contrast(1.05);width:100%;height:100%;transition:filter .2s}.type-card:hover .type-cover img,.type-card.on .type-cover img{filter:none}.type-cover .frame-hint{position:absolute;pointer-events:none;inset:0;box-shadow:inset 0 0 0 7px #d9c7a6,inset 0 0 0 11px #1a1612}.type-card.on .type-cover{box-shadow:0 0 0 2px var(--ink)}.type-body{display:flex;flex-direction:column;gap:1px;min-width:0}.type-body b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.type-body span{font-size:11.5px}.type-desc{max-width:640px;margin:10px 0 0}.editor{position:fixed;display:grid;grid-template-columns:minmax(0,1fr)auto;z-index:4;inset:64px 0 0}.editor-stage{position:relative;display:grid;overflow:hidden;place-items: center;min-height:0;padding:50px}.editor-preview{display:grid;place-items: center;width:min(100%,720px);height:100%}.preview-svg{width:100%;height:100%;max-height:calc(100vh - 160px)}.stage-cap{position:absolute;font-size:11.5px;bottom:16px;left:22px}.ref-rows{display:flex;flex-direction:column;gap:2px;margin:0 -6px}.ref-row{display:flex;border-radius:8px;align-items: flex-start;gap:10px;padding:6px}.ref-row:hover{background:var(--panel-2)}.ref-row-img{overflow:hidden;background:var(--field);display:grid;color:var(--muted);cursor:pointer;border-radius:5px;flex:none;place-items: center;width:40px;height:40px}.ref-row-img img,.ref-row-img svg{object-fit:cover;width:100%;height:100%}.ref-row-img .text-ref{padding:4px}.ref-row-img .text-ref p{-webkit-line-clamp:4;font-size:7px}.ref-row-img.cover{box-shadow:0 0 0 2px var(--blue)}.ref-row-main{display:flex;flex-direction:column;flex:1;min-width:0}.ref-row-top{display:flex;align-items: center;gap:4px;min-width:0}.ref-row-top b,.ref-row-top .input{flex:1;min-width:0}.ref-row-main b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12.5px;font-weight:500;line-height:24px}.ref-row-main .input.bare{color:var(--ink-2);min-height:20px;padding-top:0;padding-bottom:0;font-size:12px}.ref-row-main .textarea.bare{color:var(--ink-2);resize:none;min-height:20px;padding:0;font-size:12px}.sculpture-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:26px 18px}.sculpture{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:10px;min-width:0}.sculpture-img{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--panel);border-radius:8px}.sculpture-img img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.sculpture:hover .sculpture-img img{transform:scale(1.025)}.live-dot{position:absolute;background:var(--amber);box-shadow:0 0 10px var(--amber);animation:pulse .9s infinite alternate;border-radius:50%;width:9px;height:9px;top:10px;right:10px}.sculpture-body{display:flex;flex-direction:column;gap:2px;min-width:0}.sculpture-body b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.sculpture-body .muted{font-size:12px}.mini-progress{display:flex;color:var(--faint);align-items: center;gap:3px;min-width:0;margin-top:5px;font-size:11.5px}.mini-progress i{background:#2c2c2c;border-radius:2px;flex:none;width:12px;height:3px}.mini-progress i.on{background:var(--ink-2)}.mini-progress span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:6px}.sheet{position:fixed;z-index:30;background:var(--bg);display:flex;flex-direction:column;inset:0}.sheet-head{display:flex;border-bottom:1px solid var(--line);align-items: center;gap:10px;padding:14px 22px}.sheet-head h2{margin:0;font-size:17px;font-weight:500}.sheet-body{overflow:auto;display:grid;grid-template-columns:minmax(0,1.2fr)minmax(320px,1fr);flex:1;gap:40px;width:100%;max-width:1400px;margin:0 auto;padding:26px 30px}.sheet-body>section{display:flex;flex-direction:column;gap:12px;min-width:0}.sheet-foot{display:flex;border-top:1px solid var(--line);align-items: center;gap:8px;padding:12px 22px}.drop{border:1px dashed var(--line-2);text-align:center;cursor:pointer;background:var(--bg-2);border-radius:10px;padding:26px}.drop:hover{border-color:#ffffff4d}.drop.has{cursor:default;text-align:left;padding:10px}.drop-thumbs{display:flex;flex-wrap:wrap;gap:8px}.drop-thumbs figure{position:relative;width:92px;margin:0}.drop-thumbs img,.drop-thumbs svg{object-fit:cover;border-radius:6px;width:92px;height:72px}.drop-thumbs figcaption{color:var(--muted);margin-top:3px;font-size:11px}.drop-thumbs .x{all:unset;cursor:pointer;position:absolute;display:grid;color:#fff;background:#0009;border-radius:50%;place-items: center;width:18px;height:18px;top:4px;right:4px}.add-more{all:unset;cursor:pointer;display:grid;color:var(--muted);border:1px dashed var(--line-2);border-radius:6px;place-items: center;width:72px;height:72px}.add-more:hover{color:var(--ink)}.scrim{position:fixed;z-index:50;animation:fade .15s;background:#0009;inset:0}.modal{position:fixed;z-index:51;display:flex;background:var(--panel);border:1px solid var(--line-2);box-shadow:var(--shadow-lg);animation:fade .15s;border-radius:14px;flex-direction:column;width:min(620px,100vw - 32px);max-height:calc(100vh - 60px);top:50%;left:50%;transform:translate(-50%,-50%)}.modal.wide{width:min(1080px,100vw - 32px);height:calc(100vh - 80px)}.modal-head{display:flex;justify-content:space-between;align-items: center;padding:14px 16px 6px 18px}.modal-head h3{margin:0;font-size:14px;font-weight:500}.modal-body{overflow:auto;display:flex;flex-direction:column;flex:1;min-height:0;padding:8px 18px 16px}.modal-foot{display:flex;border-top:1px solid var(--line);align-items: center;gap:8px;padding:12px 16px}.picker-scroll{overflow:auto;flex:1;min-height:0}.picker-scroll .tile{cursor:pointer}.drawer{position:fixed;z-index:51;background:var(--panel);border-left:1px solid var(--line-2);display:flex;flex-direction:column;width:min(440px,100vw);top:0;bottom:0;right:0}.drawer-head{display:flex;justify-content:space-between;align-items: center;padding:14px 16px}.drawer-head h3{margin:0;font-size:14px;font-weight:500}.drawer-body{overflow:auto;display:flex;flex-direction:column;gap:14px;padding:0 16px 16px}.cat-list{display:flex;flex-direction:column;gap:6px}.cat-row{display:grid;grid-template-columns:26px 1fr 1.6fr 34px 30px;align-items: center;gap:6px}.cat-row .n{text-align:center}.swatch{all:unset;cursor:pointer;border-radius:50%;width:20px;height:20px;margin-left:3px;box-shadow:inset 0 0 0 1px #ffffff26}@keyframes fade{0%{opacity:0}}@keyframes pulse{to{opacity:.35}}.toasts{position:fixed;z-index:60;display:flex;flex-direction:column;align-items: flex-end;gap:8px;bottom:22px;right:22px}.toast{background:var(--ink);color:#111;box-shadow:var(--shadow-lg);animation:fade .15s;border-radius:10px;max-width:420px;padding:9px 14px;font-size:12.5px;font-weight:500}.toast.err{background:var(--red);color:#111}.signin{display:grid;place-items: center;height:100%}.signin .panel{gap:12px;width:320px;padding:26px}.crop-stage{display:grid;background:var(--bg)radial-gradient(var(--dot)1px,transparent 1px)0 0/16px 16px;border-radius:10px;place-items: center;padding:14px}.crop-box{position:relative;touch-action:none;user-select:none;margin:8px;line-height:0}.crop-dim{position:absolute;overflow:hidden;pointer-events:none;inset:0}.crop-hole{position:absolute;box-shadow:0 0 0 9999px #0000009e}.crop-box img{display:block;pointer-events:none;max-width:100%;max-height:62vh}.crop-rect{position:absolute;cursor:move;outline:1px solid #fff}.crop-grid{position:absolute;pointer-events:none;background:linear-gradient(90deg,#0000 33.2%,#fff6 33.3% 33.5%,#0000 33.6% 66.5%,#fff6 66.6% 66.8%,#0000 66.9%),linear-gradient(#0000 33.2%,#fff6 33.3% 33.5%,#0000 33.6% 66.5%,#fff6 66.6% 66.8%,#0000 66.9%);inset:0}.crop-h{position:absolute;background:#fff;border-radius:3px;width:12px;height:12px;box-shadow:0 1px 4px #00000080}.crop-h.nw{cursor:nwse-resize;top:-6px;left:-6px}.crop-h.se{cursor:nwse-resize;bottom:-6px;right:-6px}.crop-h.ne{cursor:nesw-resize;top:-6px;right:-6px}.crop-h.sw{cursor:nesw-resize;bottom:-6px;left:-6px}.crop-h.n{cursor:ns-resize;top:-6px;left:calc(50% - 6px)}.crop-h.s{cursor:ns-resize;bottom:-6px;left:calc(50% - 6px)}.crop-h.e{cursor:ew-resize;top:calc(50% - 6px);right:-6px}.crop-h.w{cursor:ew-resize;top:calc(50% - 6px);left:-6px}.pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));overflow:auto;gap:10px}.pick{all:unset;cursor:pointer;overflow:hidden;background:var(--panel-2);border-radius:8px}.pick:hover{box-shadow:0 0 0 2px var(--ink)}.pick img{object-fit:cover;width:100%;height:100px}.pick span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink-2);padding:5px 7px;font-size:11.5px}.wf{display:flex;flex-direction:column;height:100%}.wf-top{display:flex;border-bottom:1px solid var(--line);flex:none;align-items: center;gap:12px;height:52px;padding:0 14px}.wf-top .round-btn{background:0 0;border-color:#0000;width:30px;height:30px}.wf-top .round-btn:hover{background:var(--panel-2)}.wf-top h2{white-space:nowrap;margin:0;font-size:14px;font-weight:500}.wf-body{display:grid;grid-template-columns:196px minmax(0,1fr)330px;flex:1;min-height:0}.wf-steps{display:flex;border-right:1px solid var(--line);flex-direction:column;gap:1px;padding:12px 8px}.wf-step{all:unset;cursor:pointer;display:flex;border-radius:8px;align-items: center;gap:10px;padding:7px 9px}.wf-step:hover{background:var(--panel)}.wf-step.on{background:var(--panel-2)}.wf-n{display:grid;box-shadow:inset 0 0 0 1px var(--line-2);color:var(--muted);border-radius:50%;flex:none;place-items: center;width:20px;height:20px;font-size:10.5px;font-weight:600}.wf-t{display:flex;flex-direction:column;min-width:0;line-height:1.3}.wf-t b{font-size:12.5px;font-weight:500}.wf-t small{color:var(--faint);font-size:11px}.wf-step.approved .wf-n{background:var(--ink);color:#111;box-shadow:none}.wf-step.review .wf-n,.wf-step.todo .wf-n{box-shadow:inset 0 0 0 1.5px var(--blue);color:var(--blue-ink)}.wf-step.working .wf-n{box-shadow:inset 0 0 0 1.5px var(--amber);color:var(--amber);animation:pulse 1s infinite alternate}.wf-step.stale .wf-n{box-shadow:inset 0 0 0 1.5px var(--amber);color:var(--amber)}.wf-step.error .wf-n{box-shadow:inset 0 0 0 1.5px var(--red);color:var(--red)}.wf-step.locked{opacity:.45}.wf-main{display:flex;background:var(--bg);flex-direction:column;min-width:0;min-height:0}.wf-view{position:relative;display:grid;grid-template-columns:1fr;background:var(--bg)radial-gradient(var(--dot)1px,transparent 1px)0 0/18px 18px;min-height:0}.wf-view.compare{grid-template-columns:1fr 1fr;background-color:var(--line);gap:1px}.wf-view>*{min-width:0;min-height:0}.wf-view.compare>*{background:var(--bg)}.wf-empty{display:grid;color:var(--muted);place-items: center}.viewer{position:relative;overflow:hidden;cursor:crosshair;touch-action:none;user-select:none}.viewer.ro{cursor:grab}.viewer>svg{position:absolute;display:block;inset:0}.mark{fill:none;stroke:#ff5a36;stroke-linecap:round;stroke-linejoin:round;opacity:.95}.mark.done{opacity:.3}.pin{all:unset;position:absolute;color:#fff;font:600 11px/22px var(--sans);text-align:center;cursor:pointer;background:#ff5a36;border-radius:50%;width:22px;height:22px;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #111,0 2px 8px #00000080}.pin.done{background:#555}.pin.on{background:var(--ink);color:#111}.note-box{position:absolute;border:1px solid var(--line-2);box-shadow:var(--shadow-lg);display:flex;cursor:auto;z-index:2;background:#0d0d0d;border-radius:10px;flex-direction:column;gap:6px;width:260px;padding:9px;transform:translate(14px,14px)}.note-box textarea{all:unset;min-height:52px;font-size:12.5px;line-height:1.45}.note-box p{margin:0;font-size:12.5px}.note-box .row{white-space:nowrap;flex-wrap:nowrap;gap:6px}.viewer-cap{position:absolute;color:var(--ink-2);pointer-events:none;background:#0d0d0dd9;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:500;top:10px;right:12px}.shapes{position:absolute;display:flex;border:1px solid var(--line-2);z-index:1;background:#0d0d0de6;border-radius:9px;gap:2px;padding:3px;top:12px;left:12px}.shapes button{all:unset;cursor:pointer;display:grid;color:var(--muted);border-radius:6px;place-items: center;width:28px;height:26px}.shapes button:hover{color:var(--ink)}.shapes button.on{color:var(--ink);background:#3a3a3a}.note-refs{display:flex;flex-wrap:wrap;gap:5px}.note-refs.inline{display:inline-flex;vertical-align:middle;margin-left:6px}.note-ref{position:relative}.note-ref button{all:unset;cursor:pointer;position:absolute;background:var(--ink);color:#111;text-align:center;border-radius:50%;width:15px;height:15px;font-size:11px;line-height:15px;top:-5px;right:-5px}.ref-thumb{display:block;background:var(--field);border-radius:6px;width:44px;height:44px}.note-refs.inline .ref-thumb{border-radius:4px;width:22px;height:22px}.ref-bar{display:flex;border-top:1px solid var(--line);background:var(--bg-2);align-items: center;gap:12px;padding:9px 14px}.ref-bar p{color:var(--ink-2);flex:1.2;margin:0;font-size:12.5px}.ref-bar .input{flex:1}.wf-strip{display:flex;border-top:1px solid var(--line);background:var(--bg-2);align-items: center;gap:12px;min-height:56px;padding:8px 12px}.thumbs{display:flex;overflow-x:auto;gap:6px}.thumb{all:unset;cursor:pointer;position:relative;overflow:hidden;background:var(--panel-2);display:grid;color:var(--muted);opacity:.7;border-radius:6px;flex:none;place-items: center;width:56px;height:40px;transition:opacity .15s}.thumb:hover{opacity:1}.thumb img{object-fit:cover;width:100%;height:100%}.thumb.on{opacity:1;box-shadow:inset 0 0 0 2px var(--ink)}.thumb.on img{outline:2px solid var(--ink);outline-offset:-2px}.thumb.add{box-shadow:inset 0 0 0 1px var(--line-2);opacity:1}.thumb i{position:absolute;background:#ff5a36;border-radius:50%;width:7px;height:7px;top:3px;right:3px;box-shadow:0 0 0 1.5px #111}.thumb-x{position:absolute;background:var(--ink);color:#111;text-align:center;display:none;border-radius:50%;width:15px;height:15px;font-size:11px;line-height:15px;top:2px;left:2px}.thumb:hover .thumb-x{display:block}.iters{display:flex;align-items: center;gap:3px}.tm-open{all:unset;cursor:pointer;display:flex;color:var(--ink-2);background:var(--panel-2);border-radius:8px;align-items: center;gap:7px;height:30px;padding:0 11px;font-size:12px}.tm-open:hover{color:var(--ink);background:var(--field)}.tm-open b{font:500 11.5px var(--mono);color:var(--blue-ink)}.tm-open.on{background:var(--ink);color:#111}.tm-open.on b{color:#111}.tm{position:relative;overflow:hidden;outline:none;background:radial-gradient(80% 70% at 50% -8%,#1e2735 0%,#10141b 45%,#09090b 100%);min-height:0}.tm:before{content:"";position:absolute;pointer-events:none;opacity:.5;mask-image:linear-gradient(#000,#0000 75%);background:radial-gradient(#ffffff12 1px,#0000 1px) 0 0/22px 22px;inset:0}.tm-space{position:absolute;perspective:1400px;perspective-origin:50% -60%;inset:0 96px 0 0}.tm-card{position:absolute;display:flex;overflow:hidden;border:1px solid var(--line-2);cursor:pointer;transform-origin:50% 0;background:#151517;border-radius:12px;flex-direction:column;transition:transform .55s cubic-bezier(.2,.75,.2,1),opacity .45s,filter .45s;inset:17% 8% 31%;box-shadow:0 30px 70px -20px #000000d9}.tm-card.front{cursor:default;border-color:#ffffff38}.tm-card:not(.front):hover{border-color:#9cc8ff80}.tm-card-bar{display:flex;color:var(--muted);border-bottom:1px solid var(--line);background:#ffffff06;align-items:baseline;gap:8px;padding:6px 11px;font-size:11.5px}.tm-card-bar b{font:600 11.5px var(--mono);color:var(--ink)}.tm-pic{display:grid;background:var(--bg);flex:1;place-items: center;min-height:0}.tm-pic svg{display:block;width:100%;height:100%}.tm-pin{fill:#ff5a36;stroke:#111;stroke-width:0.25%}.tm-pin-n{fill:#fff;text-anchor:middle;dominant-baseline:central;pointer-events:none;font-weight:600}.tm-rail{position:absolute;display:flex;overflow-y:auto;scrollbar-width:none;flex-direction:column;justify-content:center;gap:2px;width:96px;padding-right:14px;top:18px;bottom:18px;right:0}.tm-rail-row{display:flex;flex-direction:column;align-items: flex-end}.tm-day{letter-spacing:.04em;text-transform:uppercase;color:var(--faint);margin:6px 2px 2px 0;font-size:10px}.tm-tick{all:unset;cursor:pointer;display:flex;align-items: center;gap:8px;padding:3px 0}.tm-tick i{background:#ffffff40;border-radius:2px;width:14px;height:2px;transition:width .2s,background .2s}.tm-tick-label{font:500 11px var(--mono);color:var(--faint);display:flex;opacity:0;align-items:baseline;gap:5px;transition:opacity .15s}.tm-tick-label small{color:var(--faint);font-size:10px}.tm-tick:hover i{background:var(--ink-2);width:22px}.tm-tick:hover .tm-tick-label,.tm-tick.on .tm-tick-label,.tm-rail-row:last-child .tm-tick-label{opacity:1}.tm-tick.on i{background:var(--ink);width:28px}.tm-tick.on .tm-tick-label{color:var(--ink)}.tm-info{position:absolute;display:flex;overflow:auto;backdrop-filter:blur(14px);border:1px solid var(--line-2);z-index:60;background:#161618db;border-radius:12px;flex-direction:column;gap:8px;max-height:30%;padding:10px 14px 12px;bottom:14px;left:14px;right:110px}.tm-head{display:flex;flex-wrap:wrap;align-items: center;gap:8px;font-size:12px}.tm-head>svg{color:var(--blue-ink)}.tm-v{font:600 14px var(--mono)}.tm-step{display:flex;gap:2px}.tm-body{display:grid;grid-template-columns:1fr 1.4fr;color:var(--ink-2);gap:18px;font-size:12.5px}.tm-body p{margin:2px 0 0}.tm-body ul{margin:4px 0 0;padding-left:16px}.tm-body li{margin:1px 0}.tm-body .clamp{display:-webkit-box;-webkit-line-clamp:3;overflow:hidden;cursor:pointer;-webkit-box-orient:vertical}.tm-marks{margin:0}.cmp-chip{display:flex;font:500 11.5px var(--mono);color:var(--muted);align-items: center;gap:4px}.wf-side{border-left:1px solid var(--line);background:var(--bg-2);display:flex;overflow:auto;flex-direction:column;gap:14px;padding:16px}.wf-head h3{letter-spacing:-.01em;margin:2px 0 4px;font-size:17px;font-weight:500}.wf-head p{margin:0 0 10px;font-size:12.5px}.pill{display:inline-block;background:var(--panel-2);color:var(--muted);border-radius:99px;padding:2px 8px;font-size:11px;font-weight:500}.pill.review,.pill.todo{background:var(--blue-soft);color:var(--blue-ink)}.pill.working{color:var(--amber);background:#f0b44c24}.pill.approved{color:#111;background:#ffffffe6}.pill.stale{color:var(--amber);background:#f0b44c24}.pill.error{color:var(--red);background:#f8717124}.banner{background:var(--panel);border:1px solid var(--line);color:var(--ink-2);border-radius:8px;padding:8px 11px;font-size:12px}.banner.err{color:var(--red);border-color:#f8717140}.wf-block{display:flex;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;gap:7px;padding:12px}.wf-block p{margin:0;font-size:12.5px;line-height:1.5}.wf-block .label{text-transform:none;letter-spacing:0;color:var(--muted);font-size:12px;font-weight:500}.clamp{display:-webkit-box;-webkit-line-clamp:6;overflow:hidden;cursor:pointer;-webkit-box-orient:vertical}.intent summary{cursor:pointer;color:var(--blue-ink);font-size:12px}.intent p{margin-top:6px}.grow-block{flex:1}.qs{color:var(--ink-2);margin:0;padding-left:18px;font-size:12.5px}.note-row{display:flex;cursor:pointer;border-radius:7px;align-items: flex-start;gap:8px;padding:5px 4px;font-size:12.5px}.note-row:hover{background:var(--panel-2)}.pin-n{color:#fff;display:grid;background:#ff5a36;border-radius:50%;flex:none;place-items: center;width:18px;height:18px;font-size:10px;font-weight:600}.wf-actions{display:flex;position:sticky;background:var(--bg-2);border-top:1px solid var(--line);gap:8px;margin:0 -16px -16px;padding:12px 16px 16px;bottom:-16px}.wf-actions .btn.primary{flex:1}.ans-qs{display:flex;flex-direction:column;gap:4px}.ans-q{all:unset;cursor:pointer;display:flex;background:var(--blue-soft);color:var(--ink);border-radius:8px;align-items: flex-start;gap:10px;padding:7px 9px;font-size:12.5px;line-height:1.45}.ans-q span{flex:1}.ans-q b{color:var(--blue-ink);opacity:0;white-space:nowrap;transition:opacity .15s;font-size:11.5px;font-weight:500}.ans-q:hover b{opacity:1}.ans-notes{display:flex;border-top:1px solid var(--line);flex-direction:column;gap:2px;padding-top:6px}.ans-note{display:flex;color:var(--ink-2);align-items: flex-start;gap:8px;padding:3px 0;font-size:12px}.ans-note .grow{display:-webkit-box;-webkit-line-clamp:2;overflow:hidden;-webkit-box-orient:vertical}.ans-note .link{color:var(--amber);flex:none}.answer .textarea{field-sizing:content;min-height:54px;max-height:220px;margin-top:2px}.again-tag{display:inline-block;color:var(--amber);background:#f0b44c24;border-radius:4px;margin-right:6px;padding:0 5px;font-size:10.5px;font-weight:500}.tq{gap:8px}.tq-item{display:flex;background:var(--bg-2);border:1px solid var(--line);border-radius:9px;flex-direction:column;gap:6px;padding:9px 10px}.tq-item.run{background:linear-gradient(180deg,#f0b44c0f,transparent 70%),var(--bg-2);border-color:#f0b44c47}.tq-top{display:flex;align-items: center;gap:8px;min-width:0;font-size:12.5px}.tq-top b{white-space:nowrap;font-weight:500}.tq-top .muted{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11.5px}.tq-title{display:flex;align-items:baseline;gap:8px;min-width:0}.tq-item.away .tq-title,.tq-item.away.run .tq-top{cursor:pointer}.tq-item.away .tq-title:hover b,.tq-item.away.run .tq-top:hover b{text-decoration:underline;text-underline-offset:3px}.tq-dot{background:var(--amber);animation:pulse .9s infinite alternate;border-radius:50%;flex:none;width:7px;height:7px}.tq-n{border:1px solid var(--line-2);color:var(--muted);display:grid;border-radius:50%;flex:none;place-items: center;width:18px;height:18px;font-size:10.5px;font-weight:600}.tq-msg{color:var(--ink-2);margin:0;font-size:12px}.tq-notes{display:flex;flex-direction:column;gap:2px}.tq-note{display:flex;color:var(--ink-2);cursor:pointer;border-radius:6px;align-items: flex-start;gap:8px;margin:0 -4px;padding:3px 4px;font-size:12px}.tq-note:hover{background:var(--panel-2)}.tq-note>span:last-child{display:-webkit-box;-webkit-line-clamp:2;overflow:hidden;-webkit-box-orient:vertical}.pin-n.sent{background:#555}.tq-item .log{border-top:1px solid var(--line);padding-top:6px}.tq-foot{display:flex;align-items: center;gap:8px}.log{font:11.5px/1.5 var(--mono);color:var(--muted);display:flex;flex-direction:column;gap:3px}.log>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.log .text{color:var(--ink-2);white-space:normal;font-family:var(--sans);font-size:12px}.log .error{color:var(--red);white-space:normal}.wf-stage{display:grid;grid-template-columns:1fr;flex:1;min-height:0}.wf-stage.with-model{grid-template-columns:minmax(0,1fr)minmax(340px,44%)}.wf-stage>*{min-width:0;min-height:0}.model-show{position:absolute;z-index:1;top:12px;right:12px}.model-pane{display:flex;border-left:1px solid var(--line);background:var(--bg);flex-direction:column}.model-bar{display:flex;white-space:nowrap;border-bottom:1px solid var(--line);background:var(--bg-2);align-items: center;gap:6px;min-height:42px;padding:6px 8px 6px 12px}.model-bar b{font-size:12.5px;font-weight:500}.mini-seg{display:flex;background:var(--field);border-radius:7px;padding:2px}.mini-seg button{all:unset;cursor:pointer;color:var(--muted);border-radius:5px;padding:2px 9px;font-size:11.5px;font-weight:500}.mini-seg button.on{color:var(--ink);background:#3a3a3a}.cp-select{background:var(--field)url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 7px center;appearance:none;border:0;border-radius:6px;max-width:130px;padding:4px 22px 4px 8px;font-size:11.5px}.cp-name{display:flex;border-bottom:1px solid var(--line);background:var(--bg-2);align-items: center;gap:8px;padding:8px 10px}.model-views{display:grid;grid-template-columns:1fr;flex:1;min-height:0}.model-views.two{grid-template-rows:1fr 1fr;background:var(--line);gap:1px}.model-slot{position:relative;display:grid;background:radial-gradient(at 45% 35%,#222 0%,#121212 70%);min-height:0}.slot-cap{position:absolute;pointer-events:none;background:#0d0d0dd9;border-radius:5px;padding:2px 7px;font-size:11px;font-weight:500;top:8px;left:10px}.m3d,.r3d{position:relative;width:100%;height:100%}.m3d canvas,.r3d-host canvas{position:absolute;display:block;inset:0}.r3d-host{position:absolute;inset:0}.cp-bar{display:flex;border-top:1px solid var(--line);background:var(--bg-2);align-items: center;gap:8px;padding:8px 10px}.status-line{display:flex;border-left:1px solid var(--line);flex:1;align-items: center;gap:12px;min-width:0;margin-left:4px;padding-left:14px}.progress{display:flex;flex:none;gap:3px}.progress i{cursor:pointer;background:#2c2c2c;border-radius:2px;width:18px;height:4px}.progress i.approved{background:var(--ink)}.progress i.review,.progress i.todo{background:var(--blue);opacity:.7}.progress i.working,.progress i.live{background:var(--amber);animation:pulse .9s infinite alternate}.progress i.stale{background:var(--amber);opacity:.6}.progress i.error{background:var(--red)}.status-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;color:var(--ink-2);min-width:0;font-size:12.5px}.status-text b{color:var(--ink);font-weight:500}.status-text.live b{color:var(--amber)}.status-warn{color:var(--amber);white-space:nowrap;background:#f0b44c1f;border-radius:99px;padding:2px 8px;font-size:11.5px}.status-model{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:34%}.md p,.md ul{margin:0 0 6px;font-size:12.5px;line-height:1.55}.md ul{padding-left:18px}.md b{color:var(--ink);font-weight:600}.md code{font:11.5px var(--mono);background:var(--field);border-radius:4px;padding:0 4px}.md.clamp{overflow:hidden;cursor:pointer;-webkit-mask-image:linear-gradient(#000 70%,#0000);mask-image:linear-gradient(#000 70%,#0000);max-height:9.5em}@media (max-width:900px){.topbar{gap:14px;padding:0 14px}.conn{display:none}.page{padding:16px 16px 80px}.search{order:5;width:100%}.hide-sm{display:none}.detail{grid-template-columns:1fr;grid-template-rows:55vh auto;overflow:auto}.detail-stage{overflow:hidden;min-height:0;padding:16px 52px}.detail-img img,.detail-img svg{max-height:calc(55vh - 32px)}.inspector{border-left:0;border-top:1px solid var(--line)}.inspector.wide{width:auto}.editor{grid-template-columns:1fr;grid-template-rows:40vh auto;overflow:auto}.sheet-body{grid-template-columns:1fr;padding:18px 16px}.wf-body{display:flex;overflow:auto;flex-direction:column}.wf-steps{overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;flex:none;padding:8px}.wf-step{white-space:nowrap;padding:6px 8px}.wf-t small{display:none}.wf-main{flex:none}.wf-stage{flex:none;height:62vh}.wf-stage.with-model{grid-template-columns:1fr;grid-template-rows:1fr 1fr;height:92vh}.model-pane{border-left:0;border-top:1px solid var(--line)}.ref-bar{flex-wrap:wrap}.ref-bar p{flex-basis:100%}.wf-side{overflow:visible;border-left:0;border-top:1px solid var(--line);flex:none}.wf-actions{bottom:0}.status-text,.status-model,.status-warn,.wf-top .conn{display:none}.wf-top h2{overflow:hidden;text-overflow:ellipsis;min-width:0}.bulkbar{overflow-x:auto;left:12px;right:12px;transform:none}}.tabs{display:flex;align-items:baseline;gap:18px;margin-right:8px}.tabs a{letter-spacing:-.02em;color:var(--faint);display:flex;align-items:baseline;gap:7px;transition:color .15s;font-size:20px;font-weight:500}.tabs a:hover{color:var(--ink-2)}.tabs a.on{color:var(--ink)}.tabs .count{color:var(--faint);font-variant-numeric:tabular-nums;font-size:13px;font-weight:400}.kind-badge{position:absolute;letter-spacing:.02em;color:var(--ink-2);backdrop-filter:blur(6px);pointer-events:none;background:#0d0d0db8;border-radius:99px;padding:2px 7px;font-size:10.5px;font-weight:500;top:8px;left:8px}.sculpture-img.square{aspect-ratio:1}.sculpture-img>span.muted{position:absolute;display:grid;place-items: center;inset:0}.new-group{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.new-group-head{font-size:12.5px;font-weight:500}.drop-thumbs figure.composition img,.drop-thumbs figure.composition svg{box-shadow:0 0 0 2px var(--blue)}.role-toggle{all:unset;cursor:pointer;background:var(--field);color:var(--muted);border-radius:99px;margin-top:4px;padding:1px 7px;font-size:11px}.drop-thumbs figure.composition .role-toggle{background:var(--blue-soft);color:var(--blue-ink)}.model-pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.model-pick{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:6px;min-width:0}.model-pick b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12.5px;font-weight:500}.model-pick-img{position:relative;aspect-ratio:1;overflow:hidden;background:var(--panel-2);display:grid;border-radius:8px;place-items: center}.model-pick-img img{object-fit:cover;width:100%;height:100%}.model-pick.on .model-pick-img{box-shadow:0 0 0 2px var(--ink)}.tile-check.on{opacity:1;background:var(--ink);box-shadow:none}.object-cover{display:flex;color:var(--faint);flex-direction:column;align-items: center;gap:12px;max-width:min(520px,80%)}.object-cover img,.object-cover svg{object-fit:contain;border-radius:8px;max-width:100%;max-height:60vh}.wf-body.object{grid-template-columns:minmax(0,1fr)340px}.wf-head .title-input{margin:2px 0}.num-field.mini{width:92px;height:26px}.pick>span.muted{display:block;text-align:center;height:100px;line-height:100px}@media (max-width:900px){.wf-body.object{display:flex;flex-direction:column}.tabs a{font-size:17px}}.tasks-btn{all:unset;cursor:pointer;display:inline-flex;color:var(--ink-2);background:var(--panel);border:1px solid var(--line);white-space:nowrap;border-radius:10px;align-items: center;gap:7px;height:32px;padding:0 13px;font-size:12px}.topbar .tasks-btn{border-radius:11px;height:38px}.tasks-btn:hover{background:var(--field);color:var(--ink)}.tasks-btn i{background:var(--faint);border-radius:50%;width:7px;height:7px}.tasks-btn.live i{background:var(--amber);animation:pulse .9s infinite alternate}.scrim.light{background:#00000059}.tasks-panel{position:fixed;z-index:52;background:var(--bg-2);border-left:1px solid var(--line-2);display:flex;box-shadow:var(--shadow-lg);animation:slide .18s ease-out;flex-direction:column;width:min(440px,100vw);top:0;bottom:0;right:0}@keyframes slide{0%{transform:translate(24px);opacity:0}}.tasks-head{display:flex;align-items: center;padding:14px 14px 10px 18px}.tasks-head h3{margin:0;font-size:15px;font-weight:500}.slots{display:flex;flex-direction:column;gap:6px;padding:0 18px 12px}.slot-row{display:flex;background:var(--panel);border:1px solid var(--line);border-radius:8px;align-items: center;gap:10px;padding:8px 10px;font-size:12px}.slot-row>span:first-child{flex:1}.slot-row.bad{color:var(--red)}.slot-bars{display:flex;gap:3px}.slot-bars i{background:#2c2c2c;border-radius:2px;width:16px;height:6px}.slot-bars i.on{background:var(--amber);animation:pulse .9s infinite alternate}.tasks-body{overflow:auto;display:flex;flex-direction:column;flex:1;gap:18px;padding:4px 18px 18px}.tasks-body section{display:flex;flex-direction:column;gap:6px}.task,.todo{background:var(--panel);border:1px solid var(--line);cursor:pointer;display:flex;border-radius:10px;flex-direction:column;gap:4px;padding:10px 12px}.task:hover,.todo:hover{border-color:var(--line-2)}.task-top{display:flex;align-items: center;gap:8px;min-width:0;font-size:12.5px}.task-top b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.task-top .muted{white-space:nowrap;font-size:11.5px}.task-dot{background:var(--faint);border-radius:50%;flex:none;width:7px;height:7px}.task.running .task-dot{background:var(--amber);animation:pulse .9s infinite alternate}.task.queued .task-dot{background:var(--blue)}.task.done .task-dot{background:var(--green)}.task.error .task-dot{background:var(--red)}.task.done,.task.error,.task.cancelled{opacity:.8}.task-msg{color:var(--ink-2);margin:0;font-size:12px}.task-line{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;font-size:11.5px}.task-line .where{color:var(--ink-2);background:var(--field);border-radius:4px;margin-right:6px;padding:0 5px}.task.error .task-line{color:var(--red);white-space:normal}.todo ul{color:var(--ink-2);display:flex;flex-direction:column;gap:2px;margin:2px 0 0;padding-left:16px;font-size:12px}.count-pill{background:var(--blue-soft);color:var(--blue-ink);border-radius:99px;padding:0 7px;font-size:11px}.tasks-foot{border-top:1px solid var(--line);margin:0;padding:10px 18px 14px}.quick{display:inline-flex;color:var(--muted);cursor:pointer;white-space:nowrap;align-items: center;gap:6px;padding:0 4px;font-size:12px}.quick input{accent-color:var(--blue);margin:0}.users{max-width:720px}.user-list{display:flex;flex-direction:column;gap:4px;margin:18px 0}.user-row{display:flex;background:var(--panel-2);border-radius:var(--r-sm);align-items: center;gap:12px;padding:8px 12px}.user-add{display:flex;gap:8px;max-width:420px}.user-pass{display:flex;align-items: center;gap:10px}.user-pass code{background:var(--field);border-radius:var(--r-sm);user-select:all;padding:6px 10px;font-size:15px}.tile.is-3d .live-dot{left:10px;right:auto}.btn.go{background:var(--go);color:var(--go-ink);border-radius:999px;padding:0 16px;box-shadow:0 0 22px -6px #5ee38f8c}.btn.go:hover{background:#7bf0a6}.btn.go:disabled{box-shadow:none}.view-seg{flex:none}.dock{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));z-index:22;display:flex;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line-2);background:#181818db;border-radius:18px;align-items: center;gap:4px;padding:6px;transform:translate(-50%);box-shadow:0 18px 50px -12px #000000d9,inset 0 1px #ffffff0a}.dock-btn{all:unset;cursor:pointer;position:relative;display:flex;color:var(--muted);border-radius:12px;flex-direction:column;justify-content:center;align-items: center;gap:3px;min-width:54px;height:48px;padding:0 8px;transition:background .15s,color .15s;font-size:10.5px;font-weight:500}.dock-btn:hover{color:var(--ink);background:var(--panel-2)}.dock-btn.on{background:var(--ink);color:#111}.dock-btn:disabled{opacity:.3;cursor:default;background:0 0}.dock-sep{background:var(--line-2);width:1px;height:26px;margin:0 4px}.dock-badge{position:absolute;box-sizing:border-box;background:var(--amber);color:#111;display:grid;border-radius:99px;place-items: center;min-width:15px;height:15px;padding:0 4px;font-size:9.5px;top:4px;right:9px}.dock.nav{display:none}.canvas{position:relative;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;background-image:radial-gradient(#ffffff13 1.2px,#0000 1.2px);height:100%}.canvas:active{cursor:grabbing}.canvas-world{position:absolute;transform-origin:0 0;top:0;left:0}.float-bar{position:absolute;z-index:5;display:flex;pointer-events:none;align-items: center;gap:8px;top:14px;left:14px;right:14px}.float-bar>*{pointer-events:auto}.pill-input{all:unset;box-sizing:border-box;background:var(--panel);border:1px solid var(--line);border-radius:11px;width:min(360px,56vw);min-width:0;height:38px;padding:0 14px;font-weight:500}.pill-input:focus{border-color:var(--line-2);background:var(--panel-2)}.board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:26px 18px}.board-card{display:flex;flex-direction:column;gap:10px;min-width:0}.board-collage{aspect-ratio:4/3;overflow:hidden;display:grid;background:var(--panel);border:1px solid var(--line);border-radius:14px;gap:2px;transition:border-color .15s}.board-card:hover .board-collage{border-color:#ffffff40}.board-collage.n0{color:var(--faint);place-items: center}.board-collage.n2{grid-template-columns:1fr 1fr}.board-collage.n3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}.board-collage.n3>:first-child{grid-row:span 2}.board-collage.n4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.board-collage>div{overflow:hidden;display:grid;background:var(--panel-2);place-items: center;min-width:0;min-height:0}.board-collage img,.board-collage svg{object-fit:cover;width:100%;height:100%}.board-view{position:relative;overflow:hidden;height:100%}.board-canvas{position:absolute;inset:0}.mood-item{position:absolute;overflow:hidden;background:var(--panel);cursor:grab;touch-action:none;box-shadow:0 14px 34px -14px #000c,0 0 0 1px var(--line);border-radius:10px}.mood-item:active{cursor:grabbing}.mood-item>img,.mood-item>svg{object-fit:cover;pointer-events:none;width:100%;height:100%}.mood-item .text-ref{height:100%}.mood-item.sel{box-shadow:0 0 0 2px var(--blue),0 18px 40px -14px #000000e6;overflow:visible}.mood-item.sel>img,.mood-item.sel>svg{border-radius:10px}.mood-item.note{background:var(--panel-2);padding:12px 14px}.mood-item.note p{white-space:pre-wrap;overflow:hidden;height:100%;margin:0;font-size:14px;line-height:1.45}.mood-item.note textarea{all:unset;white-space:pre-wrap;cursor:text;width:100%;height:100%;font-size:14px;line-height:1.45}.mood-cap{position:absolute;display:inline-flex;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;pointer-events:none;background:#0d0d0dc7;border-radius:6px;align-items: center;gap:4px;max-width:calc(100% - 16px);padding:2px 7px;transition:opacity .15s;font-size:11px;bottom:8px;left:8px}.mood-item:hover .mood-cap,.mood-item.sel .mood-cap{opacity:1}.mood-size{position:absolute;background:var(--blue);cursor:nwse-resize;touch-action:none;border-radius:50%;width:16px;height:16px;bottom:-7px;right:-7px;box-shadow:0 0 0 3px #111}.board-hint{position:absolute;pointer-events:none;text-align:center;max-width:80%;font-size:13px;top:50%;left:50%;transform:translate(-50%,-50%)}.graph{position:relative;flex:1;min-height:0}.graph .canvas{position:absolute;inset:0}.wires{position:absolute;overflow:visible;pointer-events:none;top:0;left:0}.wires path{fill:none;stroke-width:1.6;opacity:.6}.gnode{position:absolute;display:flex;color:var(--ink);border:1px solid var(--line-2);background:#1c1c1cf0;border-radius:16px;flex-direction:column;padding:0 8px 8px;transition:border-color .15s;box-shadow:0 22px 50px -22px #000000e6}.gnode:hover{border-color:#ffffff47}.gnode-head{display:flex;flex:none;align-items: center;gap:9px;min-width:0;height:36px;padding:0 6px;font-size:12.5px}.gnode-head i{background:var(--ink);border-radius:50%;flex:none;width:7px;height:7px;margin-left:4px}.gnode-head b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;font-weight:500}.gnode-head span{color:var(--muted);white-space:nowrap;font-size:11px}.gnode-body{overflow:hidden;background:var(--bg-2);display:grid;color:var(--faint);border-radius:10px;flex:1;place-items: center;min-height:0}.gnode-body img,.gnode-body svg{object-fit:cover;width:100%;height:100%}.gnode-body .text-ref{height:100%}.gnode-foot{display:flex;color:var(--muted);flex:none;align-items: center;height:36px;padding:0 6px;font-size:12px}.gnode.center{border-color:#5ee38f66;box-shadow:0 0 0 1px #5ee38f1f,0 30px 90px -24px #5ee38f47}.port{position:absolute;border-radius:50%;width:9px;height:9px;top:14px;box-shadow:0 0 0 3px #1c1c1c}.port.in{left:-5px}.port.out{right:-5px}.dl{display:flex;flex-direction:column;gap:16px}.dl section{display:flex;flex-direction:column;gap:4px}.dl-row{display:flex;background:var(--panel-2);border-radius:8px;align-items: center;gap:10px;min-width:0;padding:7px 9px;font-size:12.5px}.dl-row:hover{background:var(--field)}.dl-row span.grow{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.dl-fmt{font:600 10.5px var(--mono);color:var(--blue-ink);flex:none;width:38px}@media (max-width:700px){.topbar{gap:8px;height:56px;padding:0 12px}.topbar .pills,.topbar .tasks-btn{display:none}.editor{inset:56px 0 0}.dock.nav{display:flex}.dock{bottom:calc(10px + env(safe-area-inset-bottom));max-width:calc(100vw - 20px)}.dock-btn{min-width:60px}.page{padding:10px 12px calc(110px + env(safe-area-inset-bottom))}.toolbar{gap:8px}.tabs{gap:14px}.tabs a{font-size:18px}.masonry{columns:2;column-gap:8px;column-width:auto!important}.tile{border-radius:9px;margin-bottom:8px}.tile-cap{opacity:1;padding:18px 8px 6px;font-size:11px}.tile-check{opacity:.55}.range{display:none}.chips{overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap;margin:0 -12px 12px;padding:0 12px}.chips::-webkit-scrollbar{display:none}.chip{flex:none}.sculpture-grid,.board-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 10px}.sculpture-body .muted.tiny{display:none}.type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bulkbar{bottom:calc(86px + env(safe-area-inset-bottom))}.busy-pill{left:12px;bottom:calc(150px + env(safe-area-inset-bottom))}.toasts{left:12px;right:12px;bottom:calc(86px + env(safe-area-inset-bottom));align-items:stretch}.toast{max-width:none}.menu{max-width:calc(100vw - 24px)}.menu-url{width:auto}.float-bar{top:calc(10px + env(safe-area-inset-top));left:10px;right:10px}.mood-size{width:24px;height:24px;bottom:-11px;right:-11px}.mood-cap{opacity:1}.wf-top{gap:8px;padding:0 8px}.wf-top .tasks-btn{display:none}.view-seg button{padding:4px 8px}.graph{min-height:calc(100vh - 52px)}.dock.tools{overflow-x:auto;scrollbar-width:none;gap:2px;padding:5px}.dock.tools .dock-btn{min-width:44px;padding:0 3px;font-size:10px}.dock.tools .dock-sep{margin:0 1px}.wf-stage{height:52vh}}
