:root{color-scheme:dark;--bg: #1b1b1c;--panel: #262628;--panel-2: #2d2d30;--header: #222224;--widget: #3a3a3e;--widget-hover: #47474c;--widget-press: #54545a;--line: #141415;--line-soft: #38383c;--text: #e8e8ea;--muted: #9b9ba3;--faint: #6c6c74;--accent: #4c8bf5;--accent-soft: rgba(76, 139, 245, .18);--select: #f28a2e;--active: #ffbf66;--keyed: #d9b52c;--animated: #4f9a42;--danger: #e5534b;--ok: #4caf68;--radius: .48rem;--k: 1;--side-w: 340px;--outliner-h: 34%;--timeline-h: 120px;--tl-bg: #202022;--tl-grid: #303033;--tl-text: #8f8f97;font:12.5px/1.35 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}:focus-visible{outline:.16rem solid var(--accent);outline-offset:1px}kbd{font:600 .84rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;background:#18181a;border:1px solid #44444a;border-bottom-width:.16rem;border-radius:.32rem;padding:.16rem .4rem;color:#d2d2d8;white-space:nowrap}.icon{flex:none}.spacer{flex:1}.muted{color:var(--muted)}.small{font-size:.92rem}.pad{padding:.32rem .96rem}#app{display:flex;flex-direction:column;height:100vh}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.48rem;height:2.24rem;padding:0 .96rem;border-radius:var(--radius);background:var(--widget);border:1px solid #2a2a2e;transition:background .12s}.btn:hover:not(:disabled){background:var(--widget-hover)}.btn:active:not(:disabled){background:var(--widget-press)}.btn.primary{background:var(--accent);border-color:#3a74d6;color:#fff}.btn.primary:hover:not(:disabled){background:#5b97fa}.btn.small{height:1.92rem;padding:0 .64rem;font-size:.96rem}.btn.wide{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.24rem;height:2.24rem;border-radius:var(--radius);border:0;background:transparent;color:var(--muted)}.icon-btn:hover:not(:disabled){background:var(--widget);color:var(--text)}.icon-btn.on{background:var(--accent-soft);color:#9cc2ff}.icon-btn.danger:hover{color:var(--danger)}.btn-row{display:flex;flex-wrap:wrap;gap:.48rem;align-items:center}.badge{display:inline-flex;align-items:center;gap:.32rem;color:var(--ok);font-size:.96rem}.seg{display:inline-flex;background:#1c1c1e;border:1px solid var(--line);border-radius:var(--radius);padding:.16rem;gap:.16rem}.seg-btn{border:0;background:transparent;height:1.92rem;padding:0 .8rem;border-radius:.32rem;color:var(--muted);display:inline-flex;align-items:center;gap:.32rem}.seg-btn.icon{width:2.4rem;padding:0;justify-content:center}.seg-btn:hover:not(:disabled){color:var(--text);background:var(--widget)}.seg-btn.on{background:var(--accent);color:#fff}.topbar{display:flex;align-items:center;gap:.48rem;height:3.2rem;padding:0 .64rem;background:var(--header);border-bottom:1px solid var(--line);flex:none;min-width:0;white-space:nowrap}.topbar>*{flex-shrink:0}.topbar>.spacer{flex:1 1 0;min-width:.16rem}.brand{display:flex;align-items:center;gap:.56rem;height:2.4rem;padding:0 .48rem 0 .16rem;margin-right:.16rem;border:0;border-radius:var(--radius);background:transparent;color:inherit;font-weight:650;letter-spacing:.2px}button.brand:hover{background:var(--widget)}.logo{display:grid;place-items:center;width:1.92rem;height:1.92rem}.logo .logo-mark{width:100%;height:100%;filter:drop-shadow(0 2px 6px #ff4d6d40)}.menubar{display:flex;gap:1px}.menu-btn{border:0;background:transparent;padding:0 .72rem;height:2.24rem;border-radius:.4rem;color:#d6d6da}.menu-btn:hover,.menu-btn.open{background:var(--widget);color:#fff}.search-box{display:flex;align-items:center;gap:.64rem;flex:0 1 24rem;min-width:2.24rem;height:2.24rem;padding:0 .64rem 0 .8rem;border-radius:var(--radius);background:#1a1a1c;border:1px solid var(--line-soft);color:var(--faint);container-type:inline-size;overflow:hidden}.topbar>.search-box{flex-shrink:1}.search-box span{flex:1;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.search-box:hover{border-color:#55555c;color:var(--muted)}@container (max-width: 10rem){.search-box span,.search-box kbd{display:none}}.doc-title{color:var(--muted);max-width:16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar>.doc-title{flex:0 1 auto;min-width:0}.render-btn{margin-left:.32rem}.workspace{flex:1;display:flex;min-height:0}.toolshelf{width:5.12rem;flex:none;display:flex;flex-direction:column;align-items:stretch;gap:.16rem;padding:.48rem .4rem;background:var(--panel);border-right:1px solid var(--line);overflow-y:auto}.tool{display:flex;flex-direction:column;align-items:center;gap:.24rem;padding:.48rem .16rem;border:0;border-radius:var(--radius);background:transparent;color:#c9c9ce;font-size:.84rem}.tool:hover{background:var(--widget);color:#fff}.tool.on{background:var(--accent);color:#fff}.tool.add{color:#fff;background:#333337}.tool-sep{height:1px;background:var(--line-soft);margin:.32rem .48rem}.viewport-area{flex:1;position:relative;min-width:0;background:#3d3d3d;overflow:hidden}.viewport{position:absolute;inset:0}.viewport-canvas{display:block;touch-action:none}.box-select{position:absolute;display:none;border:1px dashed #fff;background:#ffffff0f;pointer-events:none}.camera-frame{position:absolute;display:none;pointer-events:none;outline:1px solid rgba(255,255,255,.55);box-shadow:0 0 0 100vmax #00000073}.vp-header{position:absolute;top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;padding:.64rem .8rem;pointer-events:none;gap:.64rem}.vp-info{text-shadow:0 1px .16rem rgba(0,0,0,.7)}.vp-view{font-weight:600}.vp-sub{color:#d0d0d0;font-size:.96rem}.vp-tools{display:flex;align-items:center;gap:.32rem;pointer-events:auto;background:#1e1e20d1;padding:.24rem;border-radius:.64rem;border:1px solid rgba(0,0,0,.35);backdrop-filter:blur(.48rem)}.vp-tools .icon-btn{width:2.4rem;height:2.08rem}.nav-gizmo{position:absolute;top:4rem;right:.8rem;display:flex;flex-direction:column;align-items:center;gap:.32rem}.nav-gizmo canvas{width:96px;height:96px;cursor:grab}.nav-btns{display:flex;flex-direction:column;gap:.32rem}.nav-btn{width:2.4rem;height:2.4rem;border-radius:50%;border:0;display:grid;place-items:center;background:#1e1e20bf;color:#ddd}.nav-btn:hover{background:#46464ce6;color:#fff}.redo-panel{position:absolute;left:.8rem;bottom:.8rem;width:21.6rem;background:#222224f0;border:1px solid var(--line);border-radius:.64rem;box-shadow:0 .48rem 1.44rem #00000059}.redo-bar{display:flex;align-items:center}.redo-head{flex:1;display:flex;align-items:center;gap:.48rem;border:0;background:transparent;padding:.56rem .64rem;text-align:left;font-weight:600}.redo-body{padding:0 .64rem .64rem;display:flex;flex-direction:column;gap:.32rem}.redo-body .prop-row{grid-template-columns:8.8rem 1fr 0}.splitter{flex:none;background:var(--line);position:relative;z-index:2}.splitter.v{width:.32rem;cursor:col-resize}.splitter.h{height:.32rem;cursor:row-resize}.splitter:hover,.splitter.active{background:var(--accent)}.sidebar{width:calc(var(--side-w) * var(--k));flex:none;display:flex;flex-direction:column;background:var(--panel);min-width:0}.pane-head{display:flex;align-items:center;gap:.48rem;padding:.48rem .64rem;background:var(--header);border-bottom:1px solid var(--line)}.pane-title{font-weight:650}.outliner{height:var(--outliner-h);display:flex;flex-direction:column;min-height:6.4rem}.outliner-filter{flex:1;min-width:0;height:1.92rem;background:#1c1c1e;border:1px solid var(--line-soft);border-radius:.4rem;padding:0 .64rem}.outliner-list{flex:1;overflow-y:auto;padding:.32rem 0}.outliner-list.drop-root{background:var(--accent-soft)}.tree-row{display:flex;align-items:center;gap:.4rem;height:2.08rem;padding-right:.32rem;cursor:default;user-select:none;color:#d8d8dc}.tree-row:hover{background:#303034}.tree-row.selected{background:#3a3f4c}.tree-row.active{background:#45506a;color:#fff}.tree-row.active .row-name{color:var(--active)}.tree-row.hidden .row-name{opacity:.45}.tree-row.drop-target{box-shadow:inset 0 0 0 1px var(--accent)}.tree-row.dragging{opacity:.5}.tree-toggle{width:1.28rem;height:1.28rem;display:grid;place-items:center;border:0;background:transparent;color:var(--muted);padding:0}.row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-toggle{width:1.92rem;height:1.76rem;display:grid;place-items:center;border:0;background:transparent;color:#c5c5ca;border-radius:.32rem}.row-toggle:hover{background:var(--widget)}.row-toggle.off{color:var(--faint)}.mat-dot{width:.72rem;height:.72rem;border-radius:50%;flex:none;box-shadow:0 0 0 1px #00000080}.row-badge{color:var(--muted);font-size:.8rem}.row-badge.anim{color:var(--keyed)}.rename-input{flex:1;min-width:0;height:1.76rem;background:#151517;border:1px solid var(--accent);border-radius:.32rem;padding:0 .48rem}.empty-hint{color:var(--muted);padding:.96rem 1.12rem;margin:0;line-height:1.5}.properties{flex:1;display:flex;flex-direction:column;min-height:0}.prop-tabs{display:flex;gap:.16rem;padding:.48rem;background:var(--header);border-bottom:1px solid var(--line);overflow-x:auto;flex:none}.prop-tab{display:inline-flex;align-items:center;gap:.4rem;height:2.24rem;padding:0 .72rem;border:0;border-radius:.4rem;background:transparent;color:var(--muted);white-space:nowrap}.prop-tab:hover{background:var(--widget);color:var(--text)}.prop-tab.active{background:var(--widget);color:#fff;box-shadow:inset 0 -2px 0 var(--accent)}.prop-body{flex:1;overflow-y:auto;padding-bottom:1.6rem}.panel{border-bottom:1px solid var(--line)}.panel>summary{display:flex;align-items:center;gap:.48rem;padding:.64rem .96rem;cursor:pointer;font-weight:600;list-style:none;background:var(--panel-2)}.panel>summary::-webkit-details-marker{display:none}.panel>summary:before{content:"▸";color:var(--muted);font-size:.8rem;transition:transform .15s}.panel[open]>summary:before{transform:rotate(90deg)}.panel-actions{margin-left:auto;display:flex;gap:1px}.panel-actions .icon-btn{width:1.92rem;height:1.92rem}.panel-body{padding:.64rem .96rem .8rem;display:flex;flex-direction:column;gap:.48rem}.panel-pad{padding:.8rem .96rem}.disabled-panel .panel-body{opacity:.5}.prop-row{display:grid;grid-template-columns:8.96rem 1fr 1.76rem;align-items:center;gap:.64rem;min-height:2.08rem}.prop-row.vector{align-items:start}.prop-label{color:var(--muted);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prop-row.vector .prop-label{padding-top:.4rem}.prop-control{min-width:0}.vec-stack{display:flex;flex-direction:column;gap:1px;border-radius:var(--radius);overflow:hidden}.vec-stack .num-field{border-radius:0}.key-space{width:1.76rem}.key-btn{width:1.76rem;height:1.76rem;display:grid;place-items:center;border:0;background:transparent;color:var(--faint);border-radius:.32rem;padding:0}.key-btn:hover{color:var(--text);background:var(--widget)}.key-btn.animated{color:var(--animated)}.key-btn.keyed{color:var(--keyed)}.key-btn.keyed svg{fill:currentColor}.num-field{position:relative;display:flex;align-items:center;height:2.08rem;border-radius:var(--radius);background:var(--widget);cursor:ew-resize;user-select:none;overflow:hidden;touch-action:none}.num-field:hover{background:var(--widget-hover)}.num-field.dragging{background:var(--widget-press)}.num-field.animated{background:#3c5a37}.num-field.keyed{background:#6b5d1f}.nf-label{color:var(--muted);padding-left:.64rem}.nf-value{flex:1;text-align:right;padding:0 .64rem;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden}.nf-step{position:absolute;top:0;bottom:0;width:1.44rem;border:0;background:transparent;color:var(--muted);display:none;place-items:center;padding:0;z-index:1}.nf-step:first-child{left:0}.nf-step:last-child{right:0}.num-field:hover .nf-step{display:grid}.num-field:hover .nf-label{padding-left:1.44rem}.num-field:hover .nf-value{padding-right:1.44rem}.nf-step:hover{color:#fff;background:#ffffff14}.nf-input{width:100%;height:100%;border:1px solid var(--accent);border-radius:var(--radius);background:#141416;padding:0 .64rem;text-align:right;outline:none;cursor:text}.select{width:100%;height:2.08rem;border-radius:var(--radius);background:var(--widget);border:1px solid #2a2a2e;padding:0 .48rem}.text-input{width:100%;min-height:2.08rem;border-radius:var(--radius);background:#1a1a1c;border:1px solid var(--line-soft);padding:.32rem .64rem;resize:vertical}.text-input:focus{border-color:var(--accent);outline:none}.check-row{display:flex;align-items:center;gap:.64rem;padding-left:9.6rem;min-height:1.92rem;cursor:pointer}.check-row input{accent-color:var(--accent);width:1.2rem;height:1.2rem}.color-wrap{display:flex;align-items:center;gap:.64rem}.color-input{width:4.32rem;height:2.08rem;border:1px solid #2a2a2e;border-radius:var(--radius);background:var(--widget);padding:.16rem;cursor:pointer}.color-hex{color:var(--muted);font-family:ui-monospace,Menlo,monospace;font-size:.92rem}.tex-thumb{width:2.08rem;height:2.08rem;border-radius:.32rem;object-fit:cover;border:1px solid var(--line-soft)}.preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(6.72rem,1fr));gap:.4rem}.stat-head,.stat-row{display:grid;grid-template-columns:1fr 5.6rem 8.8rem;gap:.48rem;font-variant-numeric:tabular-nums}.stat-head{color:var(--faint);font-size:.88rem}.stat-row span:first-child{color:var(--muted)}.anim-row{display:flex;justify-content:space-between;padding:.16rem 0}.timeline-area{height:var(--timeline-h);flex:none;background:var(--panel)}.timeline{display:flex;flex-direction:column;height:100%}.timeline-bar{display:flex;align-items:center;gap:.8rem;padding:.32rem .64rem;background:var(--header);border-bottom:1px solid var(--line);flex-wrap:wrap}.tl-group{display:flex;gap:1px}.tl-fields{display:flex;gap:.48rem}.tl-fields .num-field{width:8.32rem}.icon-btn.rec.on{color:#ff4d4d;background:#ff4d4d26}.icon-btn.rec.on svg{fill:currentColor}.timeline-canvas{flex:1;width:100%;min-height:0;display:block;cursor:pointer;touch-action:none}.statusbar{display:flex;align-items:center;gap:1.12rem;height:2.08rem;padding:0 .8rem;background:var(--header);border-top:1px solid var(--line);color:var(--muted);font-size:.92rem;flex:none;overflow:hidden;white-space:nowrap}.hints{display:flex;gap:1.12rem;overflow:hidden}.hint{display:inline-flex;align-items:center;gap:.4rem}.status-msg{color:var(--text);opacity:0;transition:opacity .2s;overflow:hidden;text-overflow:ellipsis}.status-msg.show{opacity:1}.stats{font-variant-numeric:tabular-nums}.menu{position:fixed;z-index:1000;min-width:17.6rem;padding:.4rem;background:#252527;border:1px solid #3a3a3e;border-radius:.64rem;box-shadow:0 .8rem 2.24rem #00000080;max-height:calc(100vh - .64rem);overflow-y:auto}.menu-item{display:flex;align-items:center;gap:.64rem;height:2.24rem;padding:0 .64rem;border-radius:.4rem;cursor:default;color:#e2e2e6}.menu-item.hot{background:var(--accent);color:#fff}.menu-item.disabled{color:var(--faint)}.menu-item.disabled.hot{background:#333337}.menu-icon{width:1.28rem;display:grid;place-items:center}.menu-label{flex:1;white-space:nowrap}.menu-shortcut{color:var(--faint);font-size:.92rem;padding-left:1.28rem}.menu-item.hot .menu-shortcut{color:#dce8ff}.menu-sep{height:1px;background:#38383c;margin:.32rem .16rem}.menu-header{padding:.4rem .64rem .24rem;font-size:.88rem;color:var(--faint);text-transform:uppercase;letter-spacing:.6px}.modal-backdrop,.palette-backdrop,.render-window{position:fixed;inset:0;z-index:900;background:#00000080;display:grid;place-items:center;padding:1.28rem}.palette-backdrop{place-items:start center;padding-top:12vh}.modal{width:min(36.8rem,100%);max-height:calc(100vh - 2.56rem);display:flex;flex-direction:column;background:#262628;border:1px solid #3c3c40;border-radius:.96rem;box-shadow:0 1.6rem 4rem #0000008c}.modal.wide{width:min(68.8rem,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:.96rem 1.12rem .32rem 1.44rem}.modal-head h2{margin:0;font-size:1.28rem}.modal-body{padding:.64rem 1.44rem 1.12rem;overflow-y:auto}.modal-body p{line-height:1.55}.modal-foot{display:flex;justify-content:flex-end;gap:.64rem;padding:.96rem 1.44rem;border-top:1px solid #333336}.field-row{display:flex;flex-direction:column;gap:.48rem}.palette{width:min(49.6rem,100%);background:#252527;border:1px solid #3c3c40;border-radius:.96rem;box-shadow:0 1.6rem 4.8rem #0009;overflow:hidden}.palette-search{display:flex;align-items:center;gap:.8rem;padding:0 1.12rem;border-bottom:1px solid #333336;color:var(--muted)}.palette-input{flex:1;height:3.84rem;background:transparent;border:0;outline:none;font-size:1.2rem}.palette-list{max-height:50vh;overflow-y:auto;padding:.48rem}.palette-row{display:flex;align-items:center;gap:.8rem;height:2.56rem;padding:0 .8rem;border-radius:.48rem;cursor:pointer}.palette-row.hot{background:var(--accent);color:#fff}.palette-row.hot kbd{background:#0003;color:#fff;border-color:#ffffff4d}.palette-row.disabled{color:var(--faint)}.palette-cat{width:6.72rem;color:var(--faint);font-size:.88rem;text-transform:uppercase;letter-spacing:.4px;flex:none}.palette-row.hot .palette-cat{color:#dce8ff}.palette-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-recent{font-size:.84rem;color:var(--faint)}.palette-empty{padding:1.6rem;text-align:center;color:var(--muted)}.icon-space{width:1.12rem}.toasts{position:fixed;bottom:3.2rem;left:50%;transform:translate(-50%);z-index:1100;display:flex;flex-direction:column;gap:.48rem;align-items:center;pointer-events:none}.toast{background:#2f2f33;border:1px solid #45454b;border-left:.24rem solid var(--accent);padding:.64rem 1.12rem;border-radius:.64rem;box-shadow:0 .64rem 1.6rem #00000073;animation:toast-in .18s ease-out;max-width:70vw}.toast.warn{border-left-color:#e0a72c}.toast.error{border-left-color:var(--danger)}.toast.success{border-left-color:var(--ok)}.toast.out{opacity:0;transition:opacity .25s}@keyframes toast-in{0%{transform:translateY(.64rem);opacity:0}}.render-panel{width:min(96rem,100%);max-height:calc(100vh - 2.56rem);display:flex;flex-direction:column;background:#1e1e20;border:1px solid #3c3c40;border-radius:.96rem;overflow:hidden}.render-head{display:flex;align-items:center;gap:.8rem;padding:.64rem .8rem .64rem 1.28rem;border-bottom:1px solid #333336}.render-info{color:var(--muted);font-variant-numeric:tabular-nums}.render-canvas{flex:1;min-height:0;display:grid;place-items:center;padding:.96rem;background:repeating-conic-gradient(#2a2a2c 0% 25%,#232325 0% 50%) 50% / 1.6rem 1.6rem;overflow:auto}.render-canvas canvas,.render-canvas video{max-width:100%;max-height:calc(100vh - 11.2rem);width:auto!important;height:auto!important;box-shadow:0 .32rem 1.92rem #00000080}.sc-wrap{columns:2 24rem;column-gap:1.92rem}.sc-group{break-inside:avoid;margin-bottom:1.12rem}.sc-group h3{display:flex;align-items:center;gap:.48rem;margin:0 0 .48rem;font-size:.96rem;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.sc-row{display:flex;justify-content:space-between;gap:.8rem;padding:.24rem 0;border-bottom:1px solid #2f2f32}.sc-keys{display:flex;gap:.32rem;flex-wrap:wrap;justify-content:flex-end}.ev h3{margin:1.44rem 0 .64rem;font-size:1.04rem}.ev-target{background:#1e1e20;border:1px solid #333336;border-radius:.64rem;padding:.8rem .96rem;display:grid;gap:.16rem}.ev-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.6rem,1fr));gap:.64rem;margin-top:.8rem}.ev-stat{background:#1e1e20;border:1px solid #333336;border-radius:.64rem;padding:.8rem;display:grid;gap:.16rem}.ev-stat strong{font-size:1.44rem;font-variant-numeric:tabular-nums}.ev-stat span{color:var(--muted);font-size:.92rem}.ev-bars{display:grid;gap:.4rem}.ev-bar{display:grid;grid-template-columns:4.16rem 1fr 4.16rem minmax(0,1.4fr);gap:.8rem;align-items:center}.ev-track{height:.64rem;background:#1a1a1c;border-radius:.32rem;overflow:hidden}.ev-fill{height:100%;background:var(--accent);border-radius:.32rem}.ev-n{text-align:right;font-variant-numeric:tabular-nums}.ev-table{display:grid;border:1px solid #333336;border-radius:.64rem;overflow:hidden}.ev-row{display:grid;grid-template-columns:1fr 2fr 2fr;gap:.96rem;padding:.56rem .8rem;border-top:1px solid #2f2f32;font-size:.96rem}.ev-row.head{border-top:0;background:#1e1e20;font-weight:600}.welcome-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(13.6rem,1fr));gap:.8rem;margin:1.12rem 0}.welcome-card{display:grid;gap:.32rem;justify-items:start;text-align:left;padding:1.12rem;border-radius:.8rem;background:#1e1e20;border:1px solid #36363a}.welcome-card:hover{border-color:var(--accent);background:#232837}.welcome h3{display:flex;align-items:center;gap:.48rem;font-size:1.04rem}.tips{display:grid;grid-template-columns:repeat(auto-fit,minmax(19.2rem,1fr));gap:.48rem 1.28rem}.tip{display:flex;align-items:center;gap:.8rem}.tip kbd{min-width:5.92rem;text-align:center}.history{display:grid;gap:.16rem}.history-row{text-align:left;border:0;background:transparent;padding:.48rem .64rem;border-radius:.4rem}button.history-row:hover{background:var(--widget)}.history-row.current{color:var(--accent);font-weight:600}body.dropping:after{content:"Drop a model (glTF, OBJ, STL, PLY, FBX) or a .biolender project";position:fixed;inset:.8rem;z-index:2000;display:grid;place-items:center;border:.16rem dashed var(--accent);border-radius:1.28rem;background:#141e3299;font-size:1.44rem;pointer-events:none}@media(max-width:900px){.menu-btn{padding:0 .48rem}.sidebar{position:absolute;right:0;top:0;bottom:0;z-index:50;width:min(calc(var(--side-w) * var(--k)),88vw);box-shadow:-.64rem 0 1.92rem #0006}.workspace{position:relative}.splitter.v{display:none}.toolshelf{width:4.16rem}.tool span,.hints{display:none}}@media(max-width:600px){.menubar{overflow-x:auto;max-width:46vw;scrollbar-width:none}.brand{padding-right:0}.vp-header{flex-direction:column;align-items:stretch}.vp-tools{overflow-x:auto;scrollbar-width:none;align-self:flex-start;max-width:100%}.nav-gizmo{top:7.36rem}.tl-fields .num-field{width:6.88rem}.mode-seg .seg-btn{padding:0 .48rem}.timeline-bar .btn{display:none}.nav-gizmo{transform:scale(.85);transform-origin:top right}}:root{--brand-a: #ff7a3c;--brand-b: #ff4d6d;--brand-c: #b8329e;--brand-ink: #d63a5a;--brand-grad: linear-gradient(90deg, var(--brand-a), var(--brand-b), var(--brand-c));--bio: #33b5a5;--bio-soft: rgba(51, 181, 165, .16);--lib-w: clamp(21.6rem, 22vw, 34rem)}.brand-name em{font-style:normal;background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent}body.simple .logo{background:none}.tb-btn{display:inline-flex;align-items:center;gap:.48rem;height:2.24rem;padding:0 .8rem;border-radius:var(--radius);border:1px solid transparent;background:transparent;color:#d6d6da;white-space:nowrap}.tb-btn:disabled{opacity:.4}.btn{white-space:nowrap}.tb-btn:hover{background:var(--widget);color:#fff}.tb-btn.on{background:var(--bio-soft);color:#9fe6dc;border-color:#33b5a559}.tb-btn.mode{border-color:var(--line-soft)}.topbar.simple .btn.primary{background:var(--bio);border-color:#2a9c8e}.topbar.simple .btn.primary:hover{background:#3cc6b5}.library{width:var(--lib-w);flex:none;display:flex;background:var(--panel);border-right:1px solid var(--line);min-height:0}.lib-rail{width:5.28rem;flex:none;display:flex;flex-direction:column;gap:.16rem;padding:.48rem .32rem;background:var(--header);border-right:1px solid var(--line);overflow-y:auto}.lib-cat{display:flex;flex-direction:column;align-items:center;gap:.24rem;padding:.56rem .16rem .48rem;border:0;border-radius:.64rem;background:transparent;color:#bdbdc4;font-size:.84rem;line-height:1.15;text-align:center;flex:none}.lib-cat span{max-width:100%;overflow:hidden;text-overflow:ellipsis;hyphens:manual;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.lib-cat:hover:not(:disabled){background:var(--widget);color:#fff}.lib-cat.on{background:var(--bio-soft);color:#9fe6dc}.lib-cat.tpl{color:#ffd38a}.lib-cat.spec{color:#9fd0f0}.lib-cat.spec.on{color:#9fe6dc}.spec-grid{display:grid;grid-template-columns:1fr;gap:.4rem}.spec-tile{display:flex;align-items:center;gap:.72rem;padding:.56rem .72rem;border-radius:.72rem;border:1px solid transparent;background:#2f2f33;color:var(--text);text-align:left;cursor:pointer;transition:background .12s,border-color .12s}.spec-tile:hover{background:#38383d;border-color:#33b5a599}.spec-ico{width:2.4rem;height:2.4rem;flex:none;display:grid;place-items:center;border-radius:.64rem;background:var(--bio-soft);color:#9fe6dc}.spec-txt{display:flex;flex-direction:column;gap:1px;min-width:0}.spec-txt strong{font-size:1rem;font-weight:600}.spec-back{display:inline-flex;align-items:center;gap:.32rem;margin:.48rem 0 0;padding:.24rem .64rem .24rem .32rem;border:0;border-radius:.48rem;background:transparent;color:var(--muted);font-size:.96rem;cursor:pointer}.spec-back:hover{background:var(--widget);color:var(--text)}.spec-tpls{display:flex;flex-direction:column;gap:.32rem}.spec-tpl{display:flex;align-items:center;gap:.56rem;padding:.48rem .72rem;border-radius:.64rem;border:1px solid var(--line-soft);background:#2a2a2e;color:#ffd38a;text-align:left;font-size:.96rem;cursor:pointer}.spec-tpl:hover{background:#343438;border-color:#ffd38a80}.lib-rail-sep{height:1px;background:var(--line-soft);margin:.24rem .48rem}.lib-panel{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.lib-head{padding:.64rem;border-bottom:1px solid var(--line)}.lib-searchbox{display:flex;align-items:center;gap:.48rem;height:2.56rem;padding:0 .32rem 0 .8rem;border-radius:.64rem;background:#1a1a1c;border:1px solid var(--line-soft);color:var(--faint)}.lib-searchbox:focus-within{border-color:var(--bio)}.lib-search{flex:1;min-width:0;border:0;background:transparent;outline:none;color:var(--text)}.lib-search::-webkit-search-cancel-button{display:none}.lib-clear{width:1.92rem;height:1.92rem}.lib-list{flex:1;overflow-y:auto;padding:.32rem .64rem .96rem}.lib-cat-title{display:flex;gap:.64rem;align-items:flex-start;padding:.64rem .16rem .32rem}.lib-cat-title>div{display:flex;flex-direction:column;gap:.16rem}.lib-group{margin:.96rem .16rem .48rem;font-size:.88rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:.48rem}.lib-card{display:flex;flex-direction:column;align-items:stretch;gap:.32rem;padding:.4rem .4rem .56rem;border-radius:.72rem;border:1px solid transparent;background:#2f2f33;color:var(--text);cursor:grab;text-align:center;transition:background .12s,border-color .12s,transform .12s}.lib-card:hover{background:#38383d;border-color:#33b5a599}.lib-card:active{cursor:grabbing;transform:scale(.98)}.lib-img{aspect-ratio:1;border-radius:.48rem;background:radial-gradient(circle at 50% 45%,#3a3b40,#2a2a2e 70%) center / contain no-repeat;position:relative;overflow:hidden}.lib-img:not(.ready):not(.failed):after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.06) 50%,transparent 70%);animation:shimmer 1.4s infinite}.lib-img.ready{background:var(--thumb) center / contain no-repeat,radial-gradient(circle at 50% 45%,#46474e,#2c2c30 72%)}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.lib-name{font-size:.92rem;line-height:1.2;color:#dcdce0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em}.lib-empty{padding:2.4rem .8rem;text-align:center;color:var(--muted)}.lib-foot{padding:.48rem .8rem;border-top:1px solid var(--line);color:var(--faint);font-size:.88rem;text-align:center}body.dragging-asset .viewport-area:after{content:"Drop to add";position:absolute;inset:.8rem;border:.16rem dashed var(--bio);border-radius:1.12rem;display:grid;place-items:center;color:#9fe6dc;font-weight:600;pointer-events:none;background:#33b5a50f}.inspector{flex:1;overflow-y:auto;min-height:0;padding-bottom:1.6rem}.b-section{padding:.8rem 1.12rem .96rem;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:.72rem}.b-h{margin:0;font-size:.88rem;font-weight:650;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.b-title{display:flex;gap:.8rem;align-items:center;padding:.96rem 1.12rem .48rem}.b-title h2{margin:0;font-size:1.2rem}.b-title p{margin:.16rem 0 0}.b-title-text{flex:1;min-width:0}.b-thumb{width:4.32rem;height:4.32rem;flex:none;border-radius:.8rem;background:#2f2f33 center / contain no-repeat}.b-name{width:100%;font-size:1.2rem;font-weight:650;border:1px solid transparent;background:transparent;border-radius:.48rem;padding:.24rem .48rem;margin-left:-6px}.b-name:hover{border-color:var(--line-soft)}.b-name:focus{border-color:var(--bio);background:#1c1c1e;outline:none}.b-about{margin:0;padding:0 1.12rem .8rem;color:#c4c4ca;line-height:1.45;border-bottom:1px solid var(--line)}.b-size{display:block;margin-top:.4rem;color:var(--muted);font-size:.92rem}.b-hint{display:flex;gap:.8rem;margin:.96rem;padding:.96rem;border-radius:.8rem;background:var(--bio-soft);color:#c9efe9}.b-hint p{margin:.24rem 0 0;color:#b6d9d4;line-height:1.4}.b-label{color:#cfcfd4}.b-slider{display:flex;flex-direction:column;gap:.24rem}.b-slider-top{display:flex;justify-content:space-between;align-items:center}.b-value{border:0;background:transparent;color:#9fe6dc;font:600 .96rem ui-monospace,SFMono-Regular,Menlo,monospace;padding:1px .32rem;border-radius:.32rem}.b-value:hover{background:var(--widget)}.b-value-input{width:6.4rem;text-align:right;background:#1a1a1c;border:1px solid var(--bio);border-radius:.32rem;padding:1px .32rem;font:.96rem ui-monospace,monospace}.b-range{--fill: 50%;-webkit-appearance:none;appearance:none;width:100%;height:1.44rem;background:transparent;margin:0;cursor:pointer}.b-range::-webkit-slider-runnable-track{height:.4rem;border-radius:.24rem;background:linear-gradient(90deg,var(--bio) var(--fill),#44444a var(--fill))}.b-range::-moz-range-track{height:.4rem;border-radius:.24rem;background:linear-gradient(90deg,var(--bio) var(--fill),#44444a var(--fill))}.b-range::-webkit-slider-thumb{-webkit-appearance:none;width:1.2rem;height:1.2rem;margin-top:-5px;border-radius:50%;background:#fff;border:0;box-shadow:0 1px .24rem #00000080}.b-range::-moz-range-thumb{width:1.2rem;height:1.2rem;border-radius:50%;background:#fff;border:0}.b-toggle{display:flex;align-items:center;justify-content:space-between;gap:.8rem;cursor:pointer;position:relative}.b-switch-input{position:absolute;opacity:0;pointer-events:none}.b-switch{width:2.56rem;height:1.44rem;border-radius:.72rem;background:#4a4a50;position:relative;flex:none;transition:background .15s}.b-switch:after{content:"";position:absolute;top:.16rem;left:.16rem;width:1.12rem;height:1.12rem;border-radius:50%;background:#fff;transition:transform .15s}.b-switch-input:checked+.b-switch{background:var(--bio)}.b-switch-input:checked+.b-switch:after{transform:translate(1.12rem)}.b-switch-input:focus-visible+.b-switch{outline:.16rem solid var(--accent)}.b-field{display:flex;flex-direction:column;gap:.32rem}.b-seg{display:flex;flex-wrap:wrap;gap:.24rem;background:#1c1c1e;border:1px solid var(--line);border-radius:.56rem;padding:.16rem}.b-seg-btn{flex:1;border:0;background:transparent;color:var(--muted);height:2.08rem;border-radius:.4rem;padding:0 .48rem;white-space:nowrap}.b-seg-btn:hover{color:var(--text);background:var(--widget)}.b-seg-btn.on{background:var(--bio);color:#fff}.b-select{height:2.24rem;border-radius:.48rem;background:var(--widget);border:1px solid #2a2a2e;padding:0 .48rem}.b-select.mini{height:1.92rem;font-size:.92rem;width:7.36rem}.b-text{height:2.24rem;border-radius:.48rem;background:#1c1c1e;border:1px solid var(--line-soft);padding:0 .64rem}.b-text:focus{border-color:var(--bio);outline:none}.b-colour-row{display:flex;gap:.64rem;align-items:center}.b-dims{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem .5rem;align-items:end}.b-dim{display:flex;flex-direction:column;gap:.2rem;min-width:0}.b-num{width:100%;min-width:0;height:2.08rem;padding:0 .48rem;border-radius:.48rem;border:1px solid var(--line-soft);background:#1c1c1e;color:var(--text);font:inherit;font-variant-numeric:tabular-nums}.b-keep{grid-column:1 / -1;display:flex;gap:.4rem;align-items:center;font-size:.82rem;opacity:.85}.b-changes{display:flex;flex-direction:column;gap:.35rem}.b-change{display:flex;align-items:center;gap:.45rem}.b-change-name{min-width:4.6rem;font-size:.85rem}.b-change .b-range{flex:1;min-width:4rem}.b-seg.mini{flex-wrap:nowrap}.b-seg.mini .b-seg-btn{height:1.6rem;padding:0 .42rem;font-size:.75rem}.b-grad{display:flex;flex-direction:column;gap:.5rem;padding:.35rem .4rem;margin:0 -.4rem;border-radius:.6rem;transition:box-shadow .3s}.b-grad .b-colour-row .b-label{min-width:5.5rem}.b-grad .b-swatches{flex-wrap:wrap}.b-grad.flash{box-shadow:0 0 0 2px var(--accent)}.b-color{width:3.04rem;height:3.04rem;border:.16rem solid #4a4a50;border-radius:.72rem;padding:0;background:none;cursor:pointer;flex:none}.b-color::-webkit-color-swatch-wrapper{padding:0}.b-color::-webkit-color-swatch{border:0;border-radius:.48rem}.b-color.small{width:2.08rem;height:2.08rem;border-radius:.48rem}.b-parts .b-color{width:2.08rem;height:2.08rem;border-radius:.48rem;border-width:1px}.b-swatches{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.32rem;flex:1}.b-swatches.big{grid-template-columns:repeat(6,minmax(0,1fr))}.b-swatch{aspect-ratio:1.6;border-radius:.4rem;border:1px solid rgba(255,255,255,.15);padding:0;min-height:1.2rem}.b-swatch:hover{transform:scale(1.08);border-color:#fff}.b-chips{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.b-chip{height:2.08rem;padding:0 .8rem;border-radius:1.04rem;border:1px solid var(--line-soft);background:#2f2f33;color:#d6d6da}.b-chip:hover{border-color:var(--bio);color:#fff}.b-chip.on{background:var(--bio);border-color:var(--bio);color:#fff}.b-parts{display:flex;flex-direction:column;gap:.24rem}.b-part{display:flex;align-items:center;gap:.48rem}.b-part-name{flex:1;min-width:0;text-align:left;border:0;background:transparent;padding:.32rem;border-radius:.4rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#dcdce0}.b-part-name:hover{background:var(--widget)}.b-part .icon-btn{width:1.92rem;height:1.92rem}.b-part .icon-btn.off{color:var(--faint)}.b-row{display:flex;flex-wrap:wrap;gap:.48rem}.b-row.pad{padding:.32rem 1.12rem .8rem;border-bottom:1px solid var(--line)}.b-btn{display:inline-flex;align-items:center;gap:.48rem;height:2.24rem;padding:0 .8rem;border-radius:.56rem;border:1px solid #2a2a2e;background:var(--widget);color:var(--text)}.b-btn:hover{background:var(--widget-hover)}.b-btn.primary{background:var(--bio);border-color:#2a9c8e;color:#fff}.b-btn.primary:hover{background:#3cc6b5}.b-btn.danger:hover{background:#5a2b2b;color:#ffb4ae}.vtools{position:absolute;top:.8rem;left:.8rem;display:flex;align-items:center;gap:.48rem;padding:.32rem;border-radius:.88rem;background:#1e1e21db;border:1px solid rgba(0,0,0,.35);backdrop-filter:blur(.64rem);box-shadow:0 .32rem 1.28rem #00000040;z-index:3;flex-wrap:wrap;max-width:calc(100% - 11.2rem)}.vt-group{display:flex;gap:.16rem}.vt-sep{width:1px;align-self:stretch;background:#4a4a50;margin:.16rem}.vt-btn{display:inline-flex;align-items:center;gap:.4rem;height:2.4rem;padding:0 .64rem;border:0;border-radius:.64rem;background:transparent;color:#d8d8dd}.vt-btn:hover{background:#ffffff14;color:#fff}.vt-btn.on{background:var(--bio);color:#fff}.vt-btn.text{font-size:.96rem;padding:0 .56rem}.vhint{position:absolute;left:50%;bottom:.96rem;transform:translate(-50%);display:flex;align-items:center;gap:1.12rem;padding:.4rem .48rem .4rem 1.12rem;border-radius:1.44rem;background:#1e1e21d1;color:#cfcfd4;font-size:.96rem;backdrop-filter:blur(.64rem);white-space:nowrap;z-index:3;max-width:calc(100% - 1.6rem);overflow:hidden}.vhint b{color:#fff;font-weight:600}.vhint .icon-btn{width:1.76rem;height:1.76rem}body.simple .redo-panel{display:none!important}body.simple .nav-gizmo{top:.8rem}.snap{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:1.44rem}.snap-left{display:flex;flex-direction:column;gap:.48rem}.snap-preview{width:100%;border-radius:.64rem;border:1px solid var(--line-soft);background:#111;min-height:9.6rem;object-fit:contain}.snap-preview.checker{background:repeating-conic-gradient(#3a3a3e 0% 25%,#2a2a2e 0% 50%) 50% / 1.44rem 1.44rem}.snap-right h4{margin:.32rem 0 .48rem;font-size:.88rem;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.snap-right .b-chips{margin-bottom:.64rem}.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15.2rem,1fr));gap:.8rem;margin-top:.8rem}.tpl-card{display:flex;flex-direction:column;gap:.32rem;padding:.64rem;border-radius:.8rem;border:1px solid var(--line-soft);background:#2f2f33;text-align:left}.tpl-card:hover{border-color:var(--bio);background:#36363b}.tpl-img{aspect-ratio:16 / 10;border-radius:.56rem;background:radial-gradient(circle at 50% 45%,#4a4b52,#2a2a2e 75%) center / contain no-repeat;margin-bottom:.32rem}.wb-lead{font-size:1.2rem;margin:0 0 .96rem}.wb-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.wb-step{display:flex;gap:.8rem;padding:.96rem;border-radius:.8rem;background:#2f2f33}.wb-step p{margin:.32rem 0 0;color:#c4c4ca;line-height:1.4}.wb-icon{width:2.88rem;height:2.88rem;flex:none;border-radius:.72rem;display:grid;place-items:center;background:var(--bio-soft);color:#9fe6dc}.wb-start{display:flex;flex-wrap:wrap;gap:.64rem;margin:1.28rem 0 .48rem}.wb-start .btn.primary{background:var(--bio);border-color:#2a9c8e}.al-row{display:flex;gap:.8rem;padding:.64rem 0;border-top:1px solid var(--line)}.al-row p{margin:.32rem 0 0;color:#c4c4ca;line-height:1.5}@media(max-width:760px){.lib-rail{width:4.32rem}.snap,.wb-steps{grid-template-columns:1fr}.vhint,.tb-btn span,.topbar.simple .search-box span,.topbar.simple kbd{display:none}.topbar.simple{gap:.32rem;padding:0 .48rem;overflow-x:auto;scrollbar-width:none}.topbar.simple .search-box,.topbar.simple .doc-title,.topbar.simple .brand-name,.topbar.simple .btn.primary span{display:none}.topbar.simple .btn.primary{padding:0 .64rem}.topbar.simple .menu-btn{padding:0 .48rem}.vtools{max-width:calc(100% - 8.8rem)}.vt-btn span{display:none}}.video-bar{display:flex;align-items:center;gap:.64rem;flex:none;height:3.68rem;padding:0 .96rem;background:var(--panel);border-top:1px solid var(--line);overflow-x:auto}.vb-label{display:inline-flex;align-items:center;gap:.48rem;font-weight:600;color:var(--bio);white-space:nowrap}.vb-play{width:2.72rem;height:2.72rem;flex:none;border-radius:50%;border:0;background:var(--bio);color:#fff;display:inline-flex;align-items:center;justify-content:center}.vb-play:hover{filter:brightness(1.1)}.vb-play.on{background:#e8704a}.vb-track{position:relative;flex:1 1 16rem;min-width:9.6rem;display:flex;align-items:center}.vb-range{flex:1 1 auto;width:100%;min-width:9.6rem;accent-color:var(--bio)}.vb-marks{position:absolute;left:.64rem;right:.64rem;bottom:-3px;height:.64rem;pointer-events:none}.vb-mark{position:absolute;width:.56rem;height:.56rem;margin-left:-3.5px;background:#f2b33a;border:1px solid #8a5a10;transform:rotate(45deg)}.vb-mark.cam{background:#4a8fe0;border-color:#1e4f8a;bottom:0}.vb-time{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.96rem;white-space:nowrap;min-width:7.36rem}.vb-sep{width:1px;height:1.92rem;background:var(--line)}.vb-field{display:inline-flex;align-items:center;gap:.48rem;color:var(--muted);font-size:.96rem;white-space:nowrap}.vb-field .b-select.mini{width:auto}.vb-progress{height:.48rem;border-radius:.24rem;background:#1a1a1c;overflow:hidden;margin:.48rem 0}.vb-progress-fill{height:100%;width:0;background:var(--bio);transition:width .15s}.vb-result{display:flex;flex-direction:column;gap:.64rem}.vb-video{width:100%;max-height:24rem;border-radius:.64rem;background:#000}.b-anim-row{display:flex;flex-wrap:wrap;align-items:center;gap:.48rem}.b-anim-row .b-select{flex:1 1 10.4rem;min-width:0}.b-num{width:4.64rem;height:2.08rem;border-radius:.48rem;background:var(--widget);border:1px solid #2a2a2e;color:var(--text);padding:0 .48rem}.ref{display:flex;flex-direction:column;gap:.8rem}.ref-searchbox{flex:1 1 20.8rem}.ref-main{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1.12rem;min-height:25.6rem}.ref-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.8rem,1fr));grid-auto-rows:8.8rem;gap:.48rem;align-content:start;max-height:52vh;overflow-y:auto}.ref-card{position:relative;padding:0;border:.16rem solid transparent;border-radius:.64rem;overflow:hidden;background:#111;height:8.8rem}.ref-card img{width:100%;height:100%;object-fit:cover;display:block}.ref-card.on,.ref-card:hover{border-color:var(--bio)}.ref-lic{position:absolute;left:.32rem;bottom:.32rem;font-size:.8rem;padding:1px .4rem;border-radius:.32rem;background:#000000a6;color:#fff}.ref-detail{display:flex;flex-direction:column;gap:.48rem;max-height:52vh;overflow-y:auto}.ref-preview{width:100%;max-height:17.6rem;object-fit:contain;border-radius:.64rem;background:#111}.credits-text{white-space:pre-wrap;font-size:.96rem;background:#1a1a1c;border:1px solid var(--line-soft);border-radius:.64rem;padding:.8rem;max-height:50vh;overflow:auto;user-select:text}.lib-more{grid-column:1 / -1;height:2.24rem;border-radius:.56rem;border:1px dashed var(--line-soft);background:transparent;color:var(--muted)}.lib-more:hover{color:#fff;border-color:var(--bio)}.lib-img.remote:not(.ready):not(.failed):after{content:"real 3D data";inset:50% auto auto 50%;transform:translate(-50%,-50%);animation:none;background:none;font-size:.8rem;color:var(--muted);white-space:nowrap}.lib-img.remote.loading:not(.ready):after{content:"downloading…"}@media(max-width:760px){.ref-main{grid-template-columns:1fr}.ref-detail{order:-1;max-height:none}.ref-grid{max-height:40vh}.video-bar{height:auto;flex-wrap:wrap;padding:.48rem .8rem}}.tpl-badge{display:inline-block;margin-right:.48rem;padding:0 .48rem;border-radius:.32rem;background:#e8704a;color:#fff;font-size:.84rem;font-weight:600;vertical-align:1px}.tpl-head{align-items:center;justify-content:space-between;margin:.64rem 0 .16rem}.tpl-search{flex:1 1 17.6rem;max-width:28.8rem}.load-overlay{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;background:#1011149e;backdrop-filter:blur(.24rem);animation:load-in .18s ease}.load-overlay.out{opacity:0;transition:opacity .25s ease}.load-card{display:grid;justify-items:center;gap:.64rem;min-width:24rem;max-width:min(36.8rem,86vw);padding:1.76rem 2.08rem;border-radius:.96rem;background:#24252b;border:1px solid var(--line-soft);box-shadow:0 1.44rem 4rem #00000073;text-align:center;color:#e9e9ee}.load-spinner{width:2.72rem;height:2.72rem;border-radius:50%;border:.24rem solid #3a3c45;border-top-color:var(--bio);animation:load-spin .8s linear infinite}.load-bar{width:100%;height:.32rem;margin-top:.48rem;border-radius:.16rem;background:#33353d;overflow:hidden}.load-fill{height:100%;width:0;border-radius:.16rem;background:linear-gradient(90deg,#4a8fe0,var(--bio));transition:width .2s ease}.load-bar.indeterminate .load-fill{width:35%;animation:boot-slide 1.3s ease-in-out infinite}@keyframes load-spin{to{transform:rotate(360deg)}}@keyframes load-in{0%{opacity:0}}@keyframes boot-slide{0%{transform:translate(-110%)}to{transform:translate(300%)}}@media(prefers-reduced-motion:reduce){.load-spinner,.load-bar.indeterminate .load-fill{animation:none}}.story-bar{position:fixed;left:50%;bottom:1.76rem;transform:translate(-50%);z-index:800;width:min(60.8rem,calc(100vw - 2.56rem));padding:1.12rem 1.44rem .96rem;border-radius:1.12rem;background:#1e1f23f0;border:1px solid var(--line-soft);box-shadow:0 .96rem 3.2rem #00000073;backdrop-filter:blur(.64rem);animation:story-in .25s ease}.story-bar.out{opacity:0;transform:translate(-50%,.96rem);transition:opacity .2s ease,transform .2s ease}@keyframes story-in{0%{opacity:0;transform:translate(-50%,1.12rem)}to{opacity:1;transform:translate(-50%)}}.story-head{display:flex;align-items:center;gap:.8rem}.story-badge{font-size:.88rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--accent);padding:.16rem .64rem;border-radius:7.92rem}.story-count{color:var(--muted);font-size:.96rem;white-space:nowrap}.story-dots{display:flex;gap:.4rem;flex:1;flex-wrap:wrap;justify-content:flex-end}.story-dot{width:.8rem;height:.8rem;padding:0;border-radius:50%;border:1px solid var(--faint);background:transparent;cursor:pointer}.story-dot.seen{background:var(--faint)}.story-dot.on{background:var(--accent);border-color:var(--accent);transform:scale(1.25)}.story-title{margin:.8rem 0 .32rem;font-size:1.36rem;font-weight:650;color:var(--text)}.story-text{margin:0 0 .96rem;font-size:1.12rem;line-height:1.5;color:#cfd0d6;min-height:3.36rem}.story-actions{display:flex;flex-wrap:wrap;gap:.48rem;align-items:center}.story-actions .btn{display:inline-flex;align-items:center;gap:.4rem}.story-sep{flex:1}.story-close{margin-left:.32rem}@media(max-width:640px){.story-bar{bottom:.8rem;padding:.96rem}.story-sep{flex-basis:100%;height:0}}.b-sub{margin:.8rem 0 .32rem;font-size:.96rem;font-weight:600;color:#d6d6da}.b-motion .b-chip{display:inline-flex;align-items:center;gap:.32rem}.b-link{background:none;border:0;padding:0 .16rem;color:inherit;cursor:pointer;display:inline-flex;align-items:center}.b-link:hover{color:#fff;text-decoration:underline}.bg-chips{gap:.48rem}.bg-chip{display:inline-flex;align-items:center;gap:.48rem;height:2.4rem;padding:0 .8rem 0 .24rem}.bg-swatch{width:3.04rem;height:1.92rem;border-radius:.8rem;background:linear-gradient(135deg,#4a4d58,#34363e);background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px #ffffff26}.shade-chip{background-position:center}.room-switch{display:inline-flex;padding:.16rem;gap:.16rem;border-radius:.64rem;background:#19191b;border:1px solid var(--line-soft);margin-right:.48rem}.room-btn{display:inline-flex;align-items:center;gap:.48rem;height:2.08rem;padding:0 .8rem;border-radius:.48rem;border:0;background:transparent;color:#b8b8c0;white-space:nowrap}.room-btn:hover{color:#fff;background:var(--widget)}.room-btn.on{background:var(--bio);color:#0b1d1a;font-weight:600}.figure-studio{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--bg);z-index:5}.fs-bar{gap:.48rem}.fs-name{width:14.4rem;min-width:7rem;height:2.24rem;background:var(--widget);border:1px solid transparent;border-radius:var(--radius);color:var(--text);padding:0 .64rem}.fs-name:focus{border-color:var(--accent);outline:none}.fs-zoom{min-width:4.32rem;height:2.4rem;border-radius:.64rem;border:0;background:transparent;color:var(--text);font-variant-numeric:tabular-nums}.fs-zoom:hover{background:#ffffff14}.fs-zoombar{position:absolute;right:.8rem;bottom:.8rem;z-index:3;display:flex;align-items:center;gap:.16rem;padding:.32rem;border-radius:.88rem;background:#1e1e21db;border:1px solid rgba(0,0,0,.35);backdrop-filter:blur(8px);box-shadow:0 .32rem 1.28rem #00000040}.fs-zoombar .icon-btn{width:2.4rem;height:2.4rem;border-radius:.64rem;color:#d8d8dd}.fs-bar .topbar-name{flex:0 1 auto}.fs-bar>.fs-name{flex:0 1 14.4rem}.fs-bar>.b-select.mini{width:auto;max-width:16rem;height:2.24rem}.fs-body{flex:1;display:flex;min-height:0;position:relative}.fs-body.no-left>.fs-panel,.fs-body.no-right>.fs-inspector{display:none}.fs-rail{width:5.6rem;flex:none;display:flex;flex-direction:column;gap:.16rem;padding:.48rem .32rem;background:var(--header);border-right:1px solid var(--line);overflow-y:auto}.fs-rail-btn{display:flex;flex-direction:column;align-items:center;gap:.24rem;padding:.64rem .16rem;border:0;border-radius:.64rem;background:transparent;color:#bdbdc4;font-size:.84rem;line-height:1.15;flex:none}.fs-rail-btn:hover{background:var(--widget);color:#fff}.fs-rail-btn.on{background:var(--bio-soft);color:var(--bio)}.fs-panel{width:clamp(20rem,20vw,30rem);flex:none;overflow-y:auto;padding:.8rem .96rem 1.92rem;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:.64rem}.fs-h{margin:.16rem 0;font-size:1.12rem;font-weight:650}.fs-sub{margin:.64rem 0 .16rem;font-size:.88rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.fs-panel>*{flex:none}.fs-panel>.lib-search,.fs-panel>.b-select{height:2.4rem}.fs-panel>.lib-search{padding:0 .8rem;border-radius:.64rem;background:#1a1a1c;border:1px solid var(--line-soft)}.fs-panel>.lib-search:focus{border-color:var(--bio)}.fs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.2rem,1fr));gap:.64rem}.fs-card{display:flex;flex-direction:column;gap:.32rem;padding:.48rem;border-radius:.64rem;border:1px solid var(--line-soft);background:var(--panel-2);color:#d6d6da;text-align:left;font-size:.88rem;line-height:1.2}.fs-card:hover,.fs-card.on{border-color:var(--bio)}.fs-card span{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.fs-thumb{width:100%;aspect-ratio:1;border-radius:.48rem;background:radial-gradient(circle at 50% 45%,#46474e,#2c2c30 72%) center / contain no-repeat #34353b}.fs-grid.bgs .fs-thumb{aspect-ratio:1.6;background-size:cover}.fs-shapes{display:grid;grid-template-columns:repeat(5,1fr);gap:.48rem}.fs-shape{aspect-ratio:1;padding:.64rem;border-radius:.64rem;border:1px solid var(--line-soft);background:var(--panel-2)}.fs-shape:hover{border-color:var(--bio);background:#34343a}.fs-shape svg{width:100%;height:100%}.fs-textpreset{text-align:left;padding:.8rem .96rem;border-radius:.64rem;border:1px solid var(--line-soft);background:var(--panel-2);color:var(--text)}.fs-textpreset:hover{border-color:var(--bio)}.fs-swatches{display:flex;flex-wrap:wrap;gap:.48rem}.fs-swatch{width:2.4rem;height:2.4rem;border-radius:.48rem;border:1px solid #00000055}.fs-swatch.on{outline:.16rem solid var(--bio);outline-offset:1px}.checker{background-color:#fff;background-image:linear-gradient(45deg,#ccc 25%,transparent 25%),linear-gradient(-45deg,#ccc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ccc 75%),linear-gradient(-45deg,transparent 75%,#ccc 75%);background-size:1.28rem 1.28rem;background-position:0 0,0 .64rem,.64rem -8px,-8px 0}.fs-layers{display:flex;flex-direction:column;gap:.16rem}.fs-layer{display:flex;align-items:center;gap:.48rem;padding:.32rem .48rem;border-radius:.48rem;cursor:pointer}.fs-layer:hover{background:var(--widget)}.fs-layer.on{background:var(--bio-soft)}.fs-layer-kind{width:1.44rem;text-align:center;color:var(--muted)}.fs-layer-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn.wide{width:100%;justify-content:center}.fs-stage{position:relative;flex:1;overflow:hidden;background:#3a3b40;outline:none;cursor:default}.fs-stage.panning{cursor:grab}.fs-page{position:absolute;box-shadow:0 .48rem 2.4rem #00000073;background:transparent}.fs-page svg{display:block}.fs-overlay{position:absolute;inset:0;pointer-events:none}.fs-overlay>*{pointer-events:auto}.fs-sel{position:absolute;border:1.5px solid #3d8ef7;box-sizing:border-box;pointer-events:none!important}.fs-sel.thin{border-width:1px;border-style:dashed}.fs-sel.locked{border-color:#e5a13b;border-style:dashed}.fs-sel.crop{pointer-events:auto!important;cursor:move;border:.16rem solid #fff;box-shadow:0 0 0 1px #000a,0 0 0 799.92rem #14141859}.fs-handle{position:absolute;width:.88rem;height:.88rem;margin:-6px 0 0 -6px;background:#fff;border:1.5px solid #3d8ef7;border-radius:.24rem;pointer-events:auto}.fs-handle.crop{width:1.28rem;height:1.28rem;margin:-8px 0 0 -8px;background:#111;border-color:#fff;border-radius:.16rem}.fs-rot{position:absolute;left:50%;top:-30px;width:1.12rem;height:1.12rem;margin-left:-7px;border-radius:50%;background:#fff;border:1.5px solid #3d8ef7;pointer-events:auto;cursor:grab}.fs-rot:after{content:"";position:absolute;left:.48rem;top:1.12rem;width:1.5px;height:1.2rem;background:#3d8ef7}.fs-ghost{position:absolute;opacity:.35;pointer-events:none!important}.fs-ghost img{width:100%;height:100%;display:block}.fs-crop-tip{position:absolute;left:0;top:100%;margin-top:.64rem;white-space:nowrap;font-size:.88rem;color:#fff;background:#000a;padding:.24rem .64rem;border-radius:.48rem;pointer-events:none}.fs-marquee{position:absolute;border:1px solid #3d8ef7;background:#3d8ef71f;pointer-events:none!important}.fs-guide{position:absolute;background:#ff3d7f;pointer-events:none!important}.fs-guide.v{top:0;bottom:0;width:1px}.fs-guide.h{left:0;right:0;height:1px}.fs-textedit{position:absolute;transform-origin:center;resize:none;border:1.5px dashed #3d8ef7;background:#ffffff0a;padding:0;margin:0;overflow:hidden;outline:none;box-sizing:border-box}.fs-inspector{width:clamp(18rem,20vw,28rem);flex:none;overflow-y:auto;padding:.8rem .96rem 2.4rem;background:var(--panel);border-left:1px solid var(--line)}.fs-sec{border-top:1px solid var(--line-soft);padding:.48rem 0 .64rem;display:flex;flex-direction:column;gap:.48rem}.fs-sec .b-row{flex-wrap:wrap;gap:.32rem}.fs-grid2{display:grid;grid-template-columns:1fr 1fr;gap:.48rem}.fs-num{display:flex;align-items:center;gap:.48rem;font-size:.92rem;color:var(--muted)}.fs-num .b-num{width:5.6rem}.fs-slider{display:grid;grid-template-columns:7.2rem 1fr 3.84rem;align-items:center;gap:.48rem;font-size:.92rem;color:var(--muted)}.fs-slider input{width:100%;accent-color:var(--bio)}.fs-col{display:flex;flex-direction:column;gap:.48rem}.icon-btn.on{background:var(--bio-soft);color:var(--bio)}.fs-color{display:inline-flex;align-items:center;gap:.64rem;height:2.24rem;padding:0 .64rem 0 .32rem;border-radius:var(--radius);border:1px solid var(--line-soft);background:var(--widget);color:var(--text);font-variant-numeric:tabular-nums}.fs-color-chip{width:1.6rem;height:1.6rem;border-radius:.32rem;box-shadow:inset 0 0 0 1px #0006}.fs-pop{position:fixed;z-index:1000;width:21.44rem;padding:.8rem;border-radius:.8rem;background:var(--panel-2);border:1px solid var(--line-soft);box-shadow:0 .96rem 3.2rem #000a;display:flex;flex-direction:column;gap:.32rem}.fs-shades{display:grid;grid-template-columns:repeat(10,1fr);gap:.24rem}.fs-chip{aspect-ratio:1;border-radius:.24rem;border:0;box-shadow:inset 0 0 0 1px #0004;padding:0}.fs-chip:hover{outline:.16rem solid #fff;outline-offset:1px}.fs-pop input[type=color]{width:2.88rem;height:2.24rem;padding:0;border:0;background:none}.bg-groups{display:flex;flex-direction:column;gap:.48rem}.bg-group-title{font-size:.84rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:.32rem 0 .24rem}.b-sub{font-size:.92rem;color:var(--muted);margin-top:.48rem}.inspector .bg-chip{height:2.08rem;font-size:.88rem}.inspector .bg-swatch{width:2.4rem;height:1.6rem}.editbar{position:absolute;left:50%;top:.8rem;transform:translate(-50%);z-index:6;display:flex;align-items:center;gap:.48rem;padding:.48rem .64rem;border-radius:.8rem;background:#1e1e22f0;border:1px solid var(--line-soft);box-shadow:0 .48rem 1.92rem #0008;max-width:calc(100% - 1.92rem);flex-wrap:wrap}.editbar .eb-title{font-weight:600;padding:0 .48rem;white-space:nowrap}.editbar .eb-title em{font-style:normal;color:var(--muted);font-weight:400}.editbar .vt-btn.primary{background:var(--bio);color:#0b1d1a}.editbar .vt-btn:disabled{opacity:.35}body.mode-edit .vtools{display:none!important}.fs-featured{display:flex;flex-direction:column;gap:.48rem}.fs-grid.three{grid-template-columns:repeat(auto-fill,minmax(5.6rem,1fr))}.fs-card-wrap{position:relative;display:flex}.fs-card-wrap>.fs-card{flex:1;min-width:0}.fs-parts-btn{position:absolute;top:.32rem;right:.32rem;width:1.76rem;height:1.76rem;border-radius:.48rem;border:0;background:#141418bf;color:#fff;display:grid;place-items:center;opacity:0;transition:opacity .15s}.fs-card-wrap:hover .fs-parts-btn{opacity:1}.fs-bar .brand{margin-right:.32rem}.shade-row{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.shade-chip{width:2.24rem;height:2.24rem;border-radius:50%;border:1px solid #0003;background-size:cover}.shade-chip.on{outline:.16rem solid var(--bio);outline-offset:.16rem}.shade-pick{width:2.24rem;height:2.24rem;border-radius:50%;overflow:hidden;display:inline-grid;border:1px dashed #fff6;background:conic-gradient(#f7c6c6,#f6e7a8,#cfeccd,#c9dcf5,#d9cff3,#f7c6c6)}.shade-pick input{opacity:0;width:100%;height:100%;cursor:pointer}.fs-turnpad{position:relative;width:100%;aspect-ratio:1;border-radius:.8rem;background:radial-gradient(circle at 50% 40%,#3a3d46,#24262c);border:1px solid var(--line-soft);cursor:grab;touch-action:none;overflow:hidden}.fs-turnpad:active{cursor:grabbing}.fs-turnpad img{width:100%;height:100%;object-fit:contain;pointer-events:none}.fs-turn-hint{position:absolute;left:.64rem;bottom:.48rem;font-size:.88rem;color:#ffffffa0;pointer-events:none}.tb-sep{width:1px;height:1.6rem;background:var(--line-soft);margin:0 .16rem}.room-short{display:none}.icon-btn:disabled{opacity:.35;cursor:default}.icon-btn:disabled:hover{background:transparent;color:var(--muted)}.lib-search,.b-text,.b-num,.text-input,.fs-name{min-width:0}@media(max-width:1600px){.bar3d .doc-title{display:none}}@media(max-width:1500px){.bar3d [data-p="3"]>span{display:none}}@media(max-width:1380px){.bar3d [data-p="2"]>span{display:none}}@media(max-width:1240px){.bar3d [data-p="1"]>span{display:none}}@media(max-width:1240px){.fs-bar>.b-select.mini{display:none}}@media(max-width:1180px){.topbar .brand-name,.bar3d .tb-sep{display:none}}@media(max-width:1100px){.topbar [data-p]>span,.topbar .btn.primary>span{display:none}.topbar .btn.primary{padding:0 .64rem}.room-long{display:none}.room-short{display:inline}.room-btn{padding:0 .64rem}.room-switch{margin-right:.16rem}.topbar{gap:.32rem;padding:0 .48rem}.menu-btn{padding:0 .56rem}.vt-btn span{display:none}.vtools{max-width:calc(100% - 8.8rem)}.fs-panel{position:absolute;left:5.6rem;top:0;bottom:0;z-index:6;width:min(22rem,calc(100vw - 7rem));box-shadow:.64rem 0 1.92rem #00000073}.fs-inspector{position:absolute;right:0;top:0;bottom:0;z-index:6;width:min(20rem,calc(100vw - 7rem));box-shadow:-.64rem 0 1.92rem #00000073}}@media(max-width:1280px){.sidebar{width:min(calc(var(--side-w) * var(--k)),30vw)}}@media(max-width:800px){.bar3d .search-box,.fs-bar>.fs-name{display:none}.tb-sep{display:none}}.modal-foot{flex-wrap:wrap}.modal-body,.menu,.palette-list,.lib-list,.inspector,.fs-panel,.fs-inspector,.lib-rail,.fs-rail{overscroll-behavior:contain}.fs-stage{touch-action:none}.fs-pop{max-height:calc(100vh - 1.6rem);overflow-y:auto}@media(pointer:coarse){.topbar{height:3.84rem}.menu-btn,.tb-btn,.btn,.room-btn,.search-box,.fs-name,.topbar .b-select,.brand{height:2.88rem}.icon-btn{width:2.88rem;height:2.88rem}.room-btn{height:2.56rem}.menu-item,.palette-row,.vt-btn,.fs-zoombar .icon-btn,.fs-zoom{height:2.88rem}.vt-btn{min-width:2.88rem;justify-content:center}.nav-btn{width:2.88rem;height:2.88rem}.b-btn,.b-chip,.b-select,.b-text,.b-num,.select,.b-seg-btn{min-height:2.72rem}.b-seg-btn,.b-chip{height:auto}.b-value{padding:.48rem .64rem}.b-range{height:2.24rem}.b-range::-webkit-slider-thumb{width:1.6rem;height:1.6rem;margin-top:-.6rem}.b-range::-moz-range-thumb{width:1.6rem;height:1.6rem}.b-swatch{min-height:2.4rem}.b-part .icon-btn,.panel-actions .icon-btn,.fs-layer .icon-btn{width:2.56rem;height:2.56rem}.fs-layer{min-height:2.88rem}.shade-chip,.shade-pick,.fs-swatch{width:2.72rem;height:2.72rem}.fs-chip{min-height:1.92rem}.lib-clear{width:2.56rem;height:2.56rem}.lib-searchbox{height:2.88rem}.story-dot{width:1.28rem;height:1.28rem}.fs-handle{width:1.6rem;height:1.6rem;margin:-.8rem 0 0 -.8rem}.fs-rot{width:1.6rem;height:1.6rem;margin-left:-.8rem;top:-3.2rem}.fs-rot:after{left:.72rem;top:1.6rem;height:1.6rem}.vhint .icon-btn{width:2.24rem;height:2.24rem}.fs-zoombar .icon-btn{width:2.88rem;height:2.88rem}.fs-color,.fs-panel>.lib-search,.fs-panel>.b-select,.fs-textpreset{min-height:2.88rem}}@media(hover:none){.fs-parts-btn{opacity:1}.lib-card:hover,.fs-card:hover,.tpl-card:hover{transform:none}}@media(min-width:2300px)and (min-height:1250px){:root{font-size:13.5px;--k: 1.08}}@media(min-width:3000px)and (min-height:1650px){:root{font-size:16px;--k: 1.28}}@media(min-width:3000px)and (min-height:1650px)and (min-resolution:1.4dppx){:root{font-size:15px;--k: 1.2}}.home{position:fixed;inset:0;z-index:20;overflow-y:auto;color:#161a20;display:grid;place-items:center;background:radial-gradient(900px 600px at 85% 15%,#ffeee6 0%,transparent 60%),radial-gradient(800px 600px at 10% 90%,#fbe9f3 0%,transparent 60%),#fffaf6}.home-inner{width:min(1120px,100%);padding:40px 32px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:40px;align-items:center}.home-inner.flat{grid-template-columns:minmax(0,560px);justify-content:center}.home-copy{display:flex;flex-direction:column;align-items:flex-start}.home-logo{width:64px;height:64px;display:grid;place-items:center}.home-logo .logo-mark{width:100%;height:100%;filter:drop-shadow(0 10px 22px #ff4d6d3d)}.home-title{margin:20px 0 0;font-size:clamp(48px,7vw,84px);line-height:1;font-weight:700;letter-spacing:-.035em}.home-title span{background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.home-motto{margin:14px 0 0;font-size:19px;font-weight:500;color:#3a414b}.home-sub{margin:6px 0 0;font-size:16px;color:#6b7380}.home-word{display:inline-block;color:var(--brand-ink);font-weight:600;transition:opacity .22s,transform .22s}.home-word.out{opacity:0;transform:translateY(-6px)}.home-cards{display:flex;flex-direction:column;gap:10px;width:100%;max-width:440px;margin-top:36px}.home-card{display:flex;align-items:center;gap:14px;padding:15px 18px;border-radius:12px;border:1px solid #e3e7ec;background:#fffc;color:inherit;text-align:left;transition:border-color .15s,box-shadow .15s,transform .15s}.home-card:hover,.home-card:focus-visible{border-color:var(--brand-b);box-shadow:0 6px 20px #1a2a3a12;transform:translateY(-1px)}.home-card>svg:first-child{color:var(--brand-ink);flex:none}.home-card.figure>svg:first-child{color:var(--brand-c)}.home-card-text{flex:1;display:flex;flex-direction:column;gap:2px}.home-card-text strong{font-size:16px;font-weight:600}.home-card-text span{font-size:13px;color:#737b87}.home-continue{margin-top:16px;background:none;border:0;padding:0;color:#737b87;font-size:13px;text-decoration:underline;text-underline-offset:3px}.home-continue:hover{color:#161a20}.home-play{display:flex;flex-direction:column;align-items:center;gap:12px}.home-stage{position:relative;width:100%;aspect-ratio:1 / .86;max-height:58vh;cursor:grab;touch-action:none}.home-stage:after{content:"";position:absolute;left:22%;right:22%;bottom:11%;height:6%;border-radius:50%;background:radial-gradient(closest-side,#1a2a3a1c,transparent);pointer-events:none}.home-stage.grab{cursor:grabbing}.home-stage.off{display:none}.home-canvas{position:relative;z-index:1;width:100%;height:100%;display:block}.home-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:5px}.home-chip{padding:4px 10px;border-radius:999px;border:1px solid #e3e7ec;background:#fff;color:#4a525d;font-size:12.5px;transition:all .15s}.home-chip:hover{border-color:#b9c1cb}.home-chip.on{background:#161a20;border-color:#161a20;color:#fff}.home-dots{display:flex;gap:8px}.home-dot{width:20px;height:20px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #d5dae0;padding:0;transition:transform .15s,box-shadow .15s}.home-dot.own{background:conic-gradient(#2fbfa9,#5b7cfa,#ef7fae,#f4b04e,#2fbfa9)}.home-dot:hover{transform:scale(1.12)}.home-dot.on{box-shadow:0 0 0 2px #161a20}.home-hint{margin:0;font-size:12px;color:#98a0ab}.home-inner.flat .home-copy{align-items:center;text-align:center}.home-card-go,.home-card-wait{display:grid;place-items:center;flex:none;color:#a3aab4;transition:transform .15s,color .15s}.home-card-wait{display:none;color:var(--brand-ink)}.home-card-wait svg{animation:home-spin .9s linear infinite}.home-card.loading .home-card-go{display:none}.home-card.loading .home-card-wait{display:grid}.home-card.loading{border-color:var(--brand-b);cursor:progress}.home-card:hover .home-card-go{color:var(--brand-ink);transform:translate(3px)}@keyframes home-spin{to{transform:rotate(360deg)}}.home-stage-wait{cursor:default}.home-stage-wait:before{content:"";position:absolute;inset:22% 26%;border-radius:50%;background:radial-gradient(closest-side,#ffe9e1,#fbeef4 70%,transparent);animation:home-breathe 1.8s ease-in-out infinite alternate}@keyframes home-breathe{0%{opacity:.45;transform:scale(.94)}to{opacity:.9;transform:scale(1)}}.home-notice{margin:14px 0 0;max-width:440px;padding:10px 12px;border-radius:10px;background:#fff4f2;border:1px solid #f6d2cb;color:#8a3a2c;font-size:13px}.home-gl-note{margin-top:14px;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid #f1d9b6;background:#fff8ec;color:#8a5a14;font-size:13px}.home-gl-note:hover{background:#fff1d9}.home-help{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px;background:#10141a59;backdrop-filter:blur(3px)}.home-help-card{position:relative;width:min(560px,100%);max-height:calc(100vh - 40px);overflow-y:auto;padding:28px 28px 22px;border-radius:18px;background:#fff;color:#161a20;box-shadow:0 24px 70px #10141a40}.home-help-card h2{margin:12px 0 6px;font-size:21px}.home-help-card p,.home-help-card li{font-size:14px;line-height:1.55;color:#3a414b}.home-help-card ol{margin:10px 0 0;padding-left:20px;display:grid;gap:8px}.home-help-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#fff1e6;color:#c86a1e}.home-help-x{position:absolute;top:12px;right:12px;width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:8px;background:none;color:#737b87}.home-help-x:hover{background:#f1f3f6}.home-help-ref{margin:12px 0 0;font-size:12px!important;color:#98a0ab!important}.home-help-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}.home-help-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:10px;border:1px solid #dfe3e8;background:#fff;color:#161a20;font-weight:600}.home-help-btn.primary{background:var(--brand-ink);border-color:var(--brand-ink);color:#fff}.home-help-btn:hover{filter:brightness(.97)}@media(prefers-reduced-motion:reduce){.home-card-wait svg,.home-stage-wait:before,.home-word{animation:none;transition:none}}@media(max-width:900px){.home-inner{grid-template-columns:minmax(0,1fr);gap:12px;padding-top:20px}.home-play{order:-1}.home-stage{max-height:34vh}.home-copy{align-items:center;text-align:center}.home-cards{margin-top:26px}}@media(max-width:900px)and (max-height:700px){.home-stage{max-height:26vh}.home-hint{display:none}}@media(pointer:coarse){.home-chip{padding:7px 13px;font-size:14px}.home-dot{width:28px;height:28px}.home-card{padding:18px 20px}.home-hint{display:none}}@media(min-width:1900px){.home-inner{width:min(1500px,100%);gap:64px}.home-logo{width:76px;height:76px}.home-title{font-size:108px}.home-motto{font-size:23px}.home-sub{font-size:19px}.home-cards{max-width:540px;margin-top:44px}.home-card{padding:20px 22px}.home-card-text strong{font-size:19px}.home-card-text span{font-size:15px}.home-chip{font-size:14px;padding:6px 13px}.home-dot{width:24px;height:24px}.home-hint,.home-continue{font-size:14px}}@media(min-width:2600px){.home-inner{width:min(1960px,100%);gap:96px}.home-logo{width:100px;height:100px}.home-title{font-size:144px}.home-motto{font-size:30px;margin-top:20px}.home-sub{font-size:24px}.home-cards{max-width:700px;gap:14px;margin-top:56px}.home-card{padding:26px 28px;border-radius:16px}.home-card svg{width:28px;height:28px}.home-card-text strong{font-size:24px}.home-card-text span{font-size:18px}.home-chip{font-size:17px;padding:8px 16px}.home-dot{width:30px;height:30px}.home-hint,.home-continue{font-size:17px}}.snap2{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1.6rem;min-width:min(64rem,86vw)}.snap2 .snap-left{display:flex;flex-direction:column;gap:.72rem;min-width:0}.snap-stage{display:grid;place-items:center;min-height:18rem;padding:1rem;border-radius:.96rem;background:#15171b;border:1px solid #ffffff12}.snap-stage.model:after{content:"3D model";color:#8b929c;font-size:.96rem}.snap-stage.model .snap-preview{display:none}.snap-preview{max-width:100%;max-height:52vh;border-radius:.4rem;box-shadow:0 10px 30px #0006}.snap-preview.checker{background:repeating-conic-gradient(#d9dce1 0% 25%,#fff 0% 50%) 50% / 16px 16px}.snap-summary{font-size:.92rem;color:#c9ced6;font-variant-numeric:tabular-nums}.snap-file{display:flex;align-items:center;gap:.64rem;font-size:.88rem;color:#8b929c}.snap-name{flex:1;min-width:0;height:2.4rem;padding:0 .72rem;border-radius:.64rem;border:1px solid #ffffff1f;background:#0000002e;color:#eef1f4;font:inherit}.snap-name:focus{outline:none;border-color:#2fbfa9;box-shadow:0 0 0 3px #2fbfa92e}.snap2 .snap-right{display:flex;flex-direction:column;gap:.96rem;min-width:0;max-height:64vh;overflow-y:auto;padding-right:.32rem}.snap-presets-title,.snap-sec h4{margin:0 0 .48rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#8b929c}.snap-presets{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.6rem,1fr));gap:.48rem}.snap-preset{display:flex;flex-direction:column;gap:.16rem;padding:.64rem .72rem;border-radius:.8rem;border:1px solid #ffffff17;background:#ffffff07;color:#eef1f4;text-align:left;cursor:pointer}.snap-preset strong{font-size:.92rem;font-weight:600}.snap-preset span{font-size:.78rem;color:#8b929c}.snap-preset:hover{border-color:#2fbfa9;background:#2fbfa914}.snap-sec{display:flex;flex-direction:column;gap:.48rem;padding-top:.8rem;border-top:1px solid #ffffff0f}.snap-seg{display:flex;flex-wrap:wrap;gap:.24rem;padding:.24rem;border-radius:.8rem;background:#0000002e}.snap-seg-btn{flex:1 1 auto;min-height:2.24rem;padding:.4rem .72rem;border:0;border-radius:.6rem;background:none;color:#b8bec7;font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;white-space:nowrap}.snap-seg-btn:hover{color:#fff}.snap-seg-btn.on{background:#2fbfa9;color:#06231f}.snap-hint{margin:0;font-size:.82rem;color:#8b929c;line-height:1.45}.snap-size-group{display:grid;grid-template-columns:6.4rem minmax(0,1fr);gap:.48rem;align-items:start}.snap-size-label{padding-top:.48rem;font-size:.8rem;color:#8b929c}.snap-sizes{display:flex;flex-wrap:wrap;gap:.32rem}.snap-size{padding:.4rem .72rem;border-radius:999px;border:1px solid #ffffff1c;background:#ffffff06;color:#c9ced6;font:inherit;font-size:.84rem;cursor:pointer}.snap-size:hover{border-color:#ffffff40;color:#fff}.snap-size.on{background:#eef1f4;border-color:#eef1f4;color:#14171c;font-weight:600}.snap-check{display:flex;align-items:center;gap:.48rem;font-size:.86rem;color:#c9ced6}.snap-note{margin:0;padding:.64rem .8rem;border-radius:.72rem;background:#ffffff08;font-size:.82rem;color:#a9b0bb;line-height:1.45}@media(max-width:900px){.snap2{grid-template-columns:minmax(0,1fr);min-width:0}.snap2 .snap-right{max-height:none}.snap-stage{min-height:12rem}}.home-foot{position:absolute;left:max(14px,env(safe-area-inset-left));bottom:max(10px,env(safe-area-inset-bottom));z-index:2;display:flex;gap:12px;font-size:11px;line-height:1}.home-foot a{color:#9aa1ac;text-decoration:none}.home-foot a:hover,.home-foot a:focus-visible{color:#4a5160;text-decoration:underline}.scene-layers{flex:none;display:flex;flex-direction:column;max-height:38%;min-height:0;border-bottom:1px solid var(--line);background:var(--panel)}.scene-layers.shut{max-height:none}.scene-layers.shut .sl-body{display:none}.sl-head{display:flex;align-items:center;gap:.48rem;width:100%;padding:.56rem .72rem;border:0;background:var(--header);color:inherit;font:inherit;cursor:pointer;text-align:left}.sl-head strong{font-weight:650}.sl-count{font-size:.78rem;color:var(--muted);background:var(--widget);border-radius:999px;padding:0 .48rem}.sl-caret{margin-left:auto;color:var(--muted);display:flex;transition:transform .15s}.scene-layers.shut .sl-caret{transform:rotate(-90deg)}.sl-body{display:flex;flex-direction:column;min-height:0}.sl-findbox{display:flex;align-items:center;gap:.4rem;margin:.4rem .56rem .24rem;padding:0 .48rem;height:1.84rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--widget);color:var(--muted)}.sl-find{flex:1;min-width:0;border:0;background:transparent;color:var(--text);font:inherit;font-size:.86rem;outline:none}.sl-list{overflow-y:auto;min-height:0;padding:.16rem .24rem .48rem;overscroll-behavior:contain}.sl-row{display:flex;align-items:center;gap:.4rem;min-height:2.08rem;padding-right:.24rem;border-radius:.4rem;cursor:pointer;user-select:none}.sl-row:hover{background:var(--widget)}.sl-row.on{background:color-mix(in srgb,var(--accent) 16%,transparent)}.sl-row.active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 55%,transparent)}.sl-row.off .sl-name,.sl-row.off .sl-thumb,.sl-row.off .sl-swatch{opacity:.45}.sl-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sl-twist{flex:none;width:1.12rem;height:1.12rem;display:grid;place-items:center;border:0;background:transparent;color:var(--muted);padding:0;cursor:pointer}.sl-thumb{flex:none;width:1.76rem;height:1.76rem;border-radius:.32rem;object-fit:contain;background:var(--widget)}.sl-swatch{flex:none;width:.96rem;height:.96rem;margin:0 .4rem;border-radius:50%;box-shadow:inset 0 0 0 1px #0000002e}.sl-icon{flex:none;width:1.76rem;height:1.76rem;display:grid;place-items:center;color:var(--muted)}.sl-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}.sl-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.sl-sub{font-size:.72rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sl-eye{flex:none;width:1.76rem;height:1.76rem;display:grid;place-items:center;border:0;border-radius:.32rem;background:transparent;color:var(--muted);cursor:pointer;opacity:.7}.sl-eye:hover{background:var(--widget);opacity:1;color:var(--text)}.sl-row.off .sl-eye{opacity:1;color:var(--text)}.sl-empty{margin:.48rem .72rem;color:var(--muted);font-size:.86rem}.home-data{position:absolute;left:50%;transform:translate(-50%);bottom:max(10px,env(safe-area-inset-bottom));z-index:2;margin:0;font-size:12px;line-height:1;color:#7d7488;white-space:nowrap}.home-data a{color:var(--brand-ink);font-weight:600;text-decoration:none}.home-data a:hover,.home-data a:focus-visible{text-decoration:underline}@media(max-width:860px){.home .home-data,.home .home-quip,.home .home-foot{position:static;transform:none;margin:0 0 10px;white-space:normal;text-align:center;justify-content:center}.home .home-data{order:1}.home .home-quip{order:2}.home .home-foot{order:3;margin-bottom:max(16px,env(safe-area-inset-bottom))}}.home-quip{position:absolute;right:max(14px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));z-index:2;margin:0;font-size:11px;line-height:1;color:#a39aa6;font-style:italic}.home-poster{position:absolute;inset:4% 10% 9%;width:80%;height:87%;object-fit:contain;animation:home-poster-in .35s ease-out;pointer-events:none;user-select:none}@keyframes home-poster-in{0%{opacity:0}to{opacity:1}}.brush-ring{position:absolute;display:none;transform:translate(-50%,-50%);border:1.5px solid rgba(255,255,255,.9);border-radius:50%;box-shadow:0 0 0 1px #00000059;pointer-events:none;z-index:2}.reshape-bar{position:absolute;bottom:3.6rem;left:50%;transform:translate(-50%);display:flex;align-items:center;flex-wrap:wrap;gap:.64rem;padding:.48rem .8rem;border-radius:.88rem;background:#1e1e21e6;border:1px solid rgba(0,0,0,.35);color:#e6e6ea;backdrop-filter:blur(.64rem);box-shadow:0 .32rem 1.28rem #00000040;z-index:3;max-width:calc(100% - 1.6rem)}.reshape-bar .b-chips{display:flex;gap:.24rem;flex-wrap:wrap}.reshape-range{display:inline-flex;align-items:center;gap:.4rem;font-size:.88rem}.reshape-range input{width:6.4rem}.amd-card{position:fixed;right:1.2rem;bottom:1.2rem;z-index:1000;display:flex;align-items:center;gap:.96rem;max-width:min(30rem,calc(100vw - 2.4rem));padding:.8rem 2.4rem .8rem .8rem;border-radius:.96rem;background:#fff;color:#1d1d22;border:1px solid #e3e3e8;box-shadow:0 .8rem 2.4rem #00000047;animation:toast-in .2s ease-out;transition:opacity .2s,transform .2s;font-size:.96rem;line-height:1.4}.amd-card.out{opacity:0;transform:translateY(.48rem)}.amd-logo{flex:none;display:block;line-height:0}.amd-logo img{width:7.6rem;height:auto}.amd-text{display:flex;flex-direction:column;gap:.16rem}.amd-text a{color:#8a3a1e;font-weight:600}.amd-close{position:absolute;top:.32rem;right:.48rem;width:1.76rem;height:1.76rem;border:0;border-radius:50%;background:transparent;color:#6b6b73;font-size:1.2rem;line-height:1;cursor:pointer}.amd-close:hover{background:#f0f0f3;color:#1d1d22}.carve-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:visible}.carve-svg path{fill:#ffffff14;stroke:#fff;stroke-width:2;stroke-dasharray:6 4;stroke-linejoin:round;filter:drop-shadow(0 0 1px rgba(0,0,0,.8))}.carve-svg[data-tool=tear] path{fill:none}.carving .viewport-canvas{cursor:crosshair}
