.dock-root{position:absolute;inset:0;display:flex;overflow:hidden;background:var(--g-bg)}.dock-split{display:flex;flex:1 1 auto;min-width:0;min-height:0}.dock-split.is-row{flex-direction:row}.dock-split.is-column{flex-direction:column}.dock-cell{display:flex;flex-basis:0;min-width:0;min-height:0}.dock-divider{position:relative;flex:0 0 auto;background:transparent;z-index:2}.dock-divider.is-row{width:6px;margin:0 -2px;cursor:col-resize}.dock-divider.is-column{height:6px;margin:-2px 0;cursor:row-resize}.dock-divider:after{content:"";position:absolute;background:var(--g-line);transition:background .12s ease}.dock-divider.is-row:after{top:0;bottom:0;left:2px;width:2px}.dock-divider.is-column:after{left:0;right:0;top:2px;height:2px}.dock-divider:hover:after,.dock-divider.is-dragging:after{background:var(--g-accent)}body.dock-resizing-col{cursor:col-resize;user-select:none}body.dock-resizing-row{cursor:row-resize;user-select:none}.dock-group{position:relative;display:flex;flex:1 1 auto;flex-direction:column;min-width:0;min-height:0;background:var(--g-panel);border:1px solid var(--g-line);border-radius:8px;margin:4px;overflow:hidden}.dock-tabs{display:flex;flex:0 0 auto;align-items:stretch;height:32px;background:var(--g-panel-head);overflow-x:auto;scrollbar-width:none}.dock-tabs::-webkit-scrollbar{display:none}.dock-tab{display:flex;align-items:center;gap:6px;padding:0 12px;font-size:12px;color:var(--g-text-dim);white-space:nowrap;cursor:grab;user-select:none;transition:color .12s ease,background .12s ease}.dock-tab-insert{flex:0 0 2px;align-self:stretch;margin:4px 0;background:var(--g-accent);border-radius:1px;box-shadow:0 0 6px color-mix(in srgb,var(--g-accent) 70%,transparent)}.dock-group:hover .dock-tab,.dock-float:hover .dock-tab{color:var(--g-text-dim)}.dock-tab:hover{color:var(--g-text);background:var(--g-hover)}.dock-tab.is-active{color:var(--g-text);background:var(--g-panel);box-shadow:inset 0 -2px 0 var(--g-accent)}.dock-tab-icon{display:flex;opacity:.85}.dock-tab-btn{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;font-size:14px;line-height:1;color:inherit;background:none;border:0;border-radius:3px;opacity:0;cursor:pointer}.dock-group:hover .dock-tab.is-active .dock-tab-btn,.dock-float:hover .dock-tab.is-active .dock-tab-btn,.dock-tab:hover .dock-tab-btn{opacity:.6}.dock-tab-btn.is-close:hover{background:var(--g-danger);color:var(--g-on-danger);opacity:1}.dock-tab-btn:not(.is-close):hover{background:var(--g-hover);color:var(--g-text);opacity:1}.dock-content{position:relative;flex:1 1 auto;min-height:0;overflow:hidden}.dock-body{position:absolute;inset:0;overflow:auto}.dock-missing{padding:12px;font-size:12px;color:var(--g-text-dim)}.dock-dropzone{position:absolute;background:color-mix(in srgb,var(--g-accent) 28%,transparent);border:1px solid var(--g-accent);border-radius:6px;pointer-events:none;z-index:5;animation:dock-zone-in .14s ease-out;transition:opacity 80ms ease}@keyframes dock-zone-in{0%{opacity:0}to{opacity:1}}.dock-dropzone.is-center{inset:0}.dock-dropzone.is-left{top:0;bottom:0;left:0;width:35%}.dock-dropzone.is-right{top:0;bottom:0;right:0;width:35%}.dock-dropzone.is-top{left:0;right:0;top:0;height:35%}.dock-dropzone.is-bottom{left:0;right:0;bottom:0;height:35%}.dock-float{position:absolute;display:flex;flex-direction:column;isolation:isolate;background:var(--g-panel);border:1px solid var(--g-line-strong);border-radius:8px;box-shadow:0 12px 40px #00000073;overflow:hidden}.dock-float-head{display:flex;align-items:center;height:30px;padding-left:4px;background:var(--g-panel-head);border-bottom:1px solid var(--g-line);cursor:move;user-select:none}.dock-float-title{flex:1 1 auto;padding:0 6px;font-size:12px;color:var(--g-text)}.dock-float-btn{width:26px;height:30px;color:var(--g-text-dim);background:none;border:0;cursor:pointer}.dock-float-btn:hover{color:var(--g-text);background:var(--g-hover)}.dock-float-btn.is-close:hover{background:var(--g-danger);color:var(--g-on-danger)}.dock-float-body{position:relative;flex:1 1 auto;min-height:0;overflow:auto}.dock-float-grip{position:absolute;z-index:60}.dock-float-grip.is-n,.dock-float-grip.is-s{left:14px;right:14px;height:5px;cursor:ns-resize}.dock-float-grip.is-e,.dock-float-grip.is-w{top:14px;bottom:14px;width:5px;cursor:ew-resize}.dock-float-grip.is-n{top:0}.dock-float-grip.is-s{bottom:0}.dock-float-grip.is-w{left:0}.dock-float-grip.is-e{right:0}.dock-float-grip.is-ne,.dock-float-grip.is-nw,.dock-float-grip.is-se,.dock-float-grip.is-sw{width:14px;height:14px}.dock-float-grip.is-nw{top:0;left:0;cursor:nwse-resize}.dock-float-grip.is-se{bottom:0;right:0;cursor:nwse-resize}.dock-float-grip.is-ne{top:0;right:0;cursor:nesw-resize}.dock-float-grip.is-sw{bottom:0;left:0;cursor:nesw-resize}body.dock-resizing-window{user-select:none}.dock-body.is-maximised,.dock-float-body.is-maximised{position:fixed;inset:32px 0 0;z-index:150;background:var(--g-panel)}.dock-maximised-head{position:fixed;top:0;right:0;left:0;z-index:151;display:flex;align-items:center;justify-content:space-between;height:32px;padding:0 8px;background:var(--g-panel-head);border-bottom:1px solid var(--g-line)}.dock-group .blocklyToolboxDiv{z-index:4}.dock-group .blocklyFlyoutScrollbar,.dock-group .toolboxBody:after{z-index:3}.dock-group .blocklyFlyout,.dock-group .blocklyMainWorkspaceScrollbar{z-index:2}.dock-group .blocklyBlockDragSurface{z-index:200}.dock-group:has(.blocklyBlockDragActive),.dock-float:has(.blocklyBlockDragActive){overflow:visible}.dock-float:has(.blocklyBlockDragActive){z-index:100!important}.dock-group:has(.blocklyBlockDragActive) .dock-content,.dock-group:has(.blocklyBlockDragActive) .dock-body,.dock-float:has(.blocklyBlockDragActive) .dock-content,.dock-float:has(.blocklyBlockDragActive) .dock-body,.dock-float:has(.blocklyBlockDragActive) .dock-float-body{overflow:visible}.dock-root:has(.blocklyBlockDragActive){overflow:visible}.dock-drag-ghost{position:fixed;top:0;left:0;z-index:200;display:flex;align-items:center;gap:6px;height:32px;padding:0 12px;font-size:12px;color:var(--g-text);white-space:nowrap;background:var(--g-panel);border-radius:6px;box-shadow:inset 0 -2px 0 var(--g-accent),0 8px 24px #00000073;opacity:.95;pointer-events:none;will-change:transform}.dock-drag-count{padding:0 5px;font-size:10px;color:#fff;background:var(--g-accent);border-radius:100px}body.dock-dragging{cursor:grabbing;user-select:none}.dock-group.is-dock-target .dock-tabs{box-shadow:inset 0 -2px color-mix(in srgb,var(--g-accent) 55%,transparent)}.dock-tab.is-dragging{opacity:.4}.dock-float.is-carried{opacity:.75}.dock-float.is-merge-target{outline:2px solid var(--g-accent)}.dock-float-tabs{display:flex;flex:1 1 auto;align-items:stretch;min-width:0;overflow-x:auto;scrollbar-width:none}.dock-float-tabs::-webkit-scrollbar{display:none}.dock-tab.is-float{height:30px;padding:0 10px}.panel-broken{display:flex;flex-direction:column;align-items:flex-start;gap:8px;height:100%;padding:24px;overflow:auto;font-size:13px;color:var(--g-text);background:var(--g-panel)}.panel-broken-what{font-size:15px;font-weight:600}.panel-broken-why{max-width:60ch;font-family:ui-monospace,Consolas,monospace;font-size:12px;line-height:1.6;color:var(--g-danger);overflow-wrap:anywhere}.panel-broken-again{padding:6px 14px;font:inherit;font-size:13px;color:#fff;background:var(--g-accent);border:0;border-radius:6px;cursor:pointer}.panel-broken-note{font-size:12px;color:var(--g-text-dim)}.layout-bar{position:relative}.layout-bar .app-action{height:34px;padding:0 12px;font-size:12.5px;color:var(--g-text-dim);background:none;border:0;border-radius:8px;cursor:pointer;transition:color .12s ease,background .12s ease}.layout-bar .app-action:hover,.layout-bar .app-action.is-on{color:var(--g-text);background:var(--g-hover)}.layout-menu{position:absolute;top:40px;right:0;z-index:70;display:flex;flex-direction:column;min-width:220px;padding:6px;background:var(--g-panel-head);border:1px solid var(--g-line-strong);border-radius:8px;box-shadow:0 12px 30px #00000073}.layout-menu>button,.layout-pick{padding:6px 10px;font:inherit;font-size:12px;text-align:left;color:var(--g-text);background:none;border:0;border-radius:5px;cursor:pointer}.layout-menu>button:hover,.layout-pick:hover{background:var(--g-hover)}.layout-menu>button.is-current,.layout-pick.is-current{color:#fff;background:color-mix(in srgb,var(--g-accent) 40%,transparent)}.layout-row{display:flex;align-items:center;gap:4px}.layout-pick{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout-mini{flex:0 0 auto;padding:3px 7px;font:inherit;font-size:11px;color:var(--g-text-dim);background:var(--g-btn);border:1px solid var(--g-line);border-radius:4px;cursor:pointer}.layout-mini:hover{color:var(--g-text)}.layout-mini.is-danger:hover{color:var(--g-on-danger);background:var(--g-danger);border-color:var(--g-danger)}.layout-sep{height:1px;margin:5px 4px;background:var(--g-line)}.controls{display:flex;flex:1;align-items:center;gap:8px;min-width:0}.control{width:48px;height:24px;padding:6px;border-radius:4px;cursor:pointer;user-select:none;opacity:.5;transition:opacity .12s ease}.control.is-active{opacity:1}.control.is-go{background-color:#5fc454;opacity:1}.control.is-go.is-active{background-color:#5fc45499;box-shadow:0 0 6px #2d8cffcc}.control.is-pause{background-color:#f4be50}.control.is-stop{background-color:#ee6a5f}.mode{height:18px;padding:1px 4px;border-radius:4px;cursor:pointer;user-select:none;opacity:.35;transition:opacity .12s ease,background .12s ease}.mode:hover{opacity:.7}.mode.is-on{opacity:1;background:color-mix(in srgb,var(--g-accent) 26%,transparent)}.controls-tools{display:flex;gap:6px;align-items:center;margin-left:auto}.controls-tools .tool{width:24px;height:24px;font-size:12px;line-height:1;color:var(--g-text-dim);background:none;border:1px solid transparent;border-radius:6px;cursor:pointer}.controls-tools .tool:hover{color:var(--g-text);background:var(--g-hover)}.controls-mouse{margin-left:10px;white-space:nowrap;font-size:13px;font-weight:600;color:var(--g-accent);font-variant-numeric:tabular-nums}.controls-tools .tool.is-fullscreen{width:20px;height:20px;padding:2px;opacity:.75}.controls-tools .tool.is-fullscreen:hover{opacity:1}.monitor-layer{position:absolute;top:0;left:0;transform-origin:0 0;overflow:hidden;pointer-events:none}.monitor{position:absolute;top:0;left:0;overflow:hidden;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;line-height:1.2;color:#fff;background:#3b414d;border:1px solid rgb(0 0 0 / 15%);border-radius:4px;cursor:pointer;pointer-events:auto;user-select:none;transition:box-shadow .2s}.monitor.is-dragging{box-shadow:3px 3px 5px #888}.monitor-default{display:flex;flex-direction:column;padding:3px}.monitor-row{display:flex;flex-direction:row}.monitor-label{margin:0 5px;font-weight:700;text-align:center}.monitor-value{min-width:40px;margin:0 5px;padding:0 2px;color:#fff;text-align:center;white-space:pre-wrap;border-radius:4px;transform:translateZ(0)}.monitor-large{min-width:3rem;min-height:1.4rem;padding:.1rem .25rem;font-size:1rem;color:#fff;text-align:center;white-space:pre-wrap;border-radius:4px;transform:translateZ(0)}.monitor-slider{width:100%;transform:translateZ(0)}.monitor-list{display:flex;flex-direction:column;width:100%;height:100%;line-height:16px}.monitor-list-head{width:100%;padding:3px;font-size:12px;font-weight:700;text-align:center;background:#2e3644;border-bottom:1px solid #1d2634}.monitor-list-rows{display:flex;flex:1 1 auto;flex-direction:column;width:100%;overflow-x:hidden;overflow-y:auto;background:#3b414d;scrollbar-width:thin}.monitor-list-row{display:flex;flex-shrink:0;flex-direction:row;align-items:center;justify-content:space-around;padding:2px;transform:translateZ(0)}.monitor-list-no{flex-shrink:0;margin:0 3px;font-weight:700}.monitor-list-value{flex-grow:1;min-width:40px;min-height:22px;margin:0 3px;padding:3px 5px;overflow:hidden;line-height:14px;text-overflow:ellipsis;white-space:pre;border:1px solid transparent;border-radius:4px}.monitor-list-value.is-editing{padding:0;border-color:var(--g-accent)}.monitor-list-input{width:100%;padding:3px 5px;font:inherit;font-size:12px;color:#fff;background:none;border:0;outline:none}.monitor-list-empty{width:100%;padding:5px;text-align:center}.monitor-list-foot{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:3px;font-size:12px;font-weight:700;background:#2e3644}.monitor-list-add,.monitor-list-resize{padding:0 3px;font:inherit;color:#fff;background:none;border:0;cursor:pointer}.monitor-list-resize{cursor:nwse-resize}.monitor-menu{position:fixed;z-index:70;display:flex;flex-direction:column;min-width:130px;padding:4px;background:var(--g-panel);border:1px solid var(--g-line-strong);border-radius:8px;box-shadow:0 10px 30px #0006}.monitor-menu button{padding:6px 10px;font:inherit;font-size:12px;color:var(--g-text);text-align:left;background:none;border:0;border-radius:6px;cursor:pointer}.monitor-menu button:hover{background:var(--g-hover)}.monitor-menu button.is-on{color:var(--g-accent)}.monitor-range-backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;background:#00000073}.monitor-range{display:flex;flex-direction:column;gap:12px;width:280px;padding:18px;background:var(--g-panel);border:1px solid var(--g-line-strong);border-radius:12px}.monitor-range-head{font-size:15px;font-weight:600;color:var(--g-text)}.monitor-range label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--g-text-dim)}.monitor-range input{width:140px;padding:6px 10px;font:inherit;font-size:13px;color:var(--g-text);background:var(--g-page);border:1px solid var(--g-line-strong);border-radius:8px}.monitor-range-foot{display:flex;justify-content:flex-end;gap:10px}.monitor-range-foot button{padding:7px 18px;font:inherit;font-size:13px;border-radius:8px;cursor:pointer}.monitor-range-foot .is-ghost{color:var(--g-text-dim);background:none;border:1px solid var(--g-line-strong)}.monitor-range-foot .is-primary{color:#fff;background:var(--g-accent);border:0}.stage-mouse-position{position:absolute;right:4px;bottom:4px;padding:2px 6px;font-size:11px;line-height:1.4;color:var(--g-text-dim);background:#00000059;border-radius:4px;pointer-events:none}.stage-drag-canvas{position:absolute;top:0;left:0;transform-origin:0 0;pointer-events:none;z-index:10}.stage-question{position:absolute;right:0;bottom:0;left:0;z-index:10;padding:6px;font-size:12px;color:#575e75;text-align:left;background:#fff;border-top:1px solid rgb(0 0 0 / 15%)}.stage-question-ask{padding:0 4px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-question-row{display:flex;gap:6px;align-items:center}.stage-question-input{flex:1 1 auto;min-width:0;height:24px;padding:0 8px;font:inherit;color:#575e75;background:#fff;border:1px solid #4c97ff;border-radius:100px;outline:none}.stage-question-send{display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:#4c97ff;border:0;border-radius:100px;cursor:pointer}.stage-question-send img{width:14px;height:14px}.stage-panel{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--g-panel)}.stage-toolbar{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;min-width:0;height:47px;padding:0 16px;overflow:hidden;border-bottom:1px solid var(--g-line)}.stage-holder{display:flex;flex:1 1 auto;align-items:center;justify-content:center;min-width:0;min-height:0;padding:8px;overflow:hidden;background:var(--g-bg)}.stage-canvas{background:var(--g-thumb);border-radius:4px;box-shadow:0 2px 12px #00000059}.panel-placeholder{display:flex;align-items:center;justify-content:center;height:100%;font-size:12px;color:var(--g-text-dim)}.blocks-area{position:relative;width:100%;height:100%;overflow:hidden}.blocks-host{width:100%;height:100%;background:var(--g-panel)}.blocks-canvas{width:100%;height:100%}.big-waits{position:absolute;inset:0;pointer-events:none}.big-wait{position:absolute;top:0;left:0;display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:12px;color:var(--g-text-dim);white-space:nowrap;background:var(--g-panel);border:1px dashed var(--g-line-strong);border-radius:8px;cursor:pointer;pointer-events:auto}.big-wait em{margin-left:6px;font-style:normal;opacity:.65}.big-wait-dot{width:8px;height:8px;background:var(--g-accent);border-radius:50%;animation:big-wait-pulse 1.2s ease-in-out infinite}.big-wait.is-building{top:-34px;color:var(--g-text);border-style:solid}.blocks-progress{position:absolute;bottom:12px;left:12px;display:flex;flex-direction:column;gap:6px;width:190px;padding:8px 10px;font-size:11px;color:var(--g-text-dim);background:color-mix(in srgb,var(--g-panel) 88%,transparent);border:1px solid var(--g-line);border-radius:8px;pointer-events:none}.blocks-progress em{float:right;font-style:normal;opacity:.7}.blocks-progress-track{position:relative;height:3px;overflow:hidden;background:var(--g-line-strong);border-radius:2px}.blocks-progress-bar{height:100%;background:var(--g-accent);border-radius:2px;transition:width .2s ease-out}.blocks-progress-shimmer{position:absolute;inset:0;width:40%;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--g-accent) 60%,white),transparent);animation:blocks-progress-sweep 1.1s linear infinite}@keyframes blocks-progress-sweep{0%{transform:translate(-100%)}to{transform:translate(350%)}}@keyframes big-wait-pulse{0%,to{opacity:.35}50%{opacity:1}}.toolbox-area{position:relative;width:100%;height:100%}.toolbox-host{width:100%;height:100%;background:var(--g-panel)}.toolbox-host .blocklyMainBackground{fill:var(--g-panel)}.asset-strip{position:relative;display:flex;flex-direction:column;flex:0 0 108px;height:100%;background:var(--g-panel);border-right:1px solid var(--g-line)}.asset-strip.is-dropping{outline:2px dashed var(--g-accent);outline-offset:-4px}.asset-strip-list{flex:1 1 auto;height:0;padding:6px 0 12px;overflow-y:auto}.asset-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:76px;min-height:76px;margin:6px auto;padding:4px;font-size:11px;text-align:center;color:var(--g-text);background:var(--g-btn);border:2px solid var(--g-line-strong);border-radius:8px;cursor:pointer;user-select:none}.asset-tile:hover{border-color:var(--g-accent);background:var(--g-hover)}.asset-tile.is-selected{border-color:var(--g-accent);background:var(--g-panel-head)}.asset-tile-art{display:flex;align-items:center;justify-content:center;height:42px}.asset-tile-art img{max-width:42px;max-height:42px;pointer-events:none}.asset-tile-note{opacity:.8}.asset-tile-name{max-width:100%;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-tile-sub{font-size:9px;color:var(--g-text-dim)}.asset-tile-no{position:absolute;top:2px;left:4px;font-size:10px;font-weight:700;color:var(--g-text-dim)}.asset-tile-delete{position:absolute;top:-10px;right:-10px;width:24px;height:24px;padding:5px;background:var(--g-panel-head);border:1px solid var(--g-line-strong);border-radius:50%;z-index:2}.asset-tile-delete:hover{background:var(--g-danger);border-color:var(--g-danger)}.asset-add{display:flex;flex-direction:column;align-items:center;gap:8px;flex:0 0 auto;padding:10px}.toolbox-host.is-folded{overflow:hidden}.toolbox-host.is-folded:hover{overflow:visible}.toolbox-host.is-folded .blocklyFlyout,.toolbox-host.is-folded .blocklyFlyoutScrollbar,.toolbox-host.is-folded .blocklyToolboxDiv .blocklyScrollbarVertical{opacity:0!important;pointer-events:none;transition:opacity .12s ease}.toolbox-host.is-folded:hover .blocklyFlyout,.toolbox-host.is-folded:hover .blocklyFlyoutScrollbar,.toolbox-host.is-folded:hover .blocklyToolboxDiv .blocklyScrollbarVertical{opacity:1!important;pointer-events:auto}.dock-group:has(.toolbox-host.is-folded:hover),.dock-float:has(.toolbox-host.is-folded:hover){z-index:90!important;overflow:visible}.dock-group:has(.toolbox-host.is-folded:hover) .dock-content,.dock-group:has(.toolbox-host.is-folded:hover) .dock-body,.dock-float:has(.toolbox-host.is-folded:hover) .dock-content,.dock-float:has(.toolbox-host.is-folded:hover) .dock-body{overflow:visible}.toolbox-host.is-folded:hover .blocklyToolboxDiv{box-shadow:8px 0 24px #00000073}.toolbox-host.is-folded .blocklyMainBackground{fill:transparent}.toolbox-host.is-folded .blocklySvg{background:transparent;pointer-events:none}.toolbox-host.is-folded .blocklyToolboxDiv,.toolbox-host.is-folded .blocklyFlyout{pointer-events:auto}.stage-stack{position:relative;line-height:0}.stage-panel.is-fullscreen{position:fixed;inset:0;z-index:400;background:#000}.stage-panel.is-fullscreen .stage-holder{padding:0;background:#000}.picker-backdrop{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;background:#00000073;animation:picker-fade .14s ease-out}.picker{display:flex;flex-direction:column;width:min(1040px,92vw);height:min(720px,86vh);overflow:hidden;background:var(--g-page);border:1px solid var(--g-line-strong);border-radius:14px;box-shadow:0 24px 70px #0000007f;animation:picker-in .18s cubic-bezier(.16,.9,.3,1)}@keyframes picker-fade{0%{opacity:0}to{opacity:1}}@keyframes picker-in{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}.picker-head{display:flex;align-items:center;gap:14px;flex:0 0 auto;padding:16px 20px 0}.picker-title{font-size:18px;font-weight:500}.picker-search{position:relative;flex:0 1 320px;margin-left:auto}.picker-search input{width:100%;padding:8px 38px 8px 14px;font:inherit;font-size:13px;color:var(--g-text);background:var(--g-panel);border:1px solid var(--g-line);border-radius:100px}.picker-search input:focus{outline:none;border-color:var(--g-accent)}.picker-search img{position:absolute;top:50%;right:13px;width:16px;height:16px;transform:translateY(-50%);pointer-events:none}.picker-close{flex:0 0 auto;width:32px;height:32px;font-size:20px;line-height:1;color:var(--g-text-dim);background:none;border:0;border-radius:8px;cursor:pointer}.picker-close:hover{color:var(--g-text);background:var(--g-hover)}.picker-tags{display:flex;flex-wrap:wrap;gap:8px;flex:0 0 auto;padding:14px 20px 0}.picker-tag{padding:5px 14px;font:inherit;font-size:12px;color:var(--g-text-dim);background:transparent;border:1px solid var(--g-line-strong);border-radius:100px;cursor:pointer;white-space:nowrap}.picker-tag:hover{color:var(--g-text)}.picker-tag.is-on{color:#fff;background:var(--g-accent);border-color:var(--g-accent)}.picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:12px;flex:1 1 auto;align-content:start;padding:16px 20px 32px;overflow:auto}.picker-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;font:inherit;font-size:11px;color:var(--g-text);background:var(--g-panel);border:2px solid transparent;border-radius:8px;cursor:pointer}.picker-item:hover{border-color:var(--g-accent)}.picker-art{display:flex;align-items:center;justify-content:center;width:100%;height:72px;background:var(--g-thumb);border-radius:6px;overflow:hidden}.picker-art img{max-width:90%;max-height:90%;object-fit:contain}.picker-note{font-size:26px;color:var(--g-text-dim)}.picker-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-empty{grid-column:1 / -1;padding:50px;text-align:center;font-size:13px;color:var(--g-text-dim)}.context-menu{position:fixed;z-index:200;min-width:208px;margin:2px 0 0;padding:8px 0;overflow:hidden;font-size:14px;text-align:left;background:var(--theme-color-300);border:1px solid var(--theme-color-200);border-radius:12px;box-shadow:0 4px 15px 2px #0003;animation:context-menu-in .12s ease}@keyframes context-menu-in{0%{opacity:0}to{opacity:1}}.context-menu-item{display:block;width:100%;padding:8px 16px;font:inherit;font-size:14px;line-height:20px;color:var(--theme-text-primary);text-align:left;white-space:nowrap;background:none;border:0;cursor:pointer;transition:.1s ease}.context-menu-item:hover{color:#fff;background:var(--theme-brand-color)}.context-menu-item.is-bordered{border-top:1px solid var(--theme-color-200)}.context-menu-item.is-dangerous:hover{color:var(--theme-text-primary);background:var(--theme-error-color-p3)}.name-dialog-backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;background:#00000073}.name-dialog{display:flex;flex-direction:column;gap:12px;width:min(380px,90vw);padding:20px;background:var(--g-panel);border:1px solid var(--g-line-strong);border-radius:12px;box-shadow:0 20px 50px #00000073}.name-dialog-head{font-size:15px;font-weight:600}.name-dialog-label{font-size:12px;color:var(--g-text-dim)}.name-dialog input{padding:9px 12px;font:inherit;font-size:13px;color:var(--g-text);background:var(--g-page);border:1px solid var(--g-line-strong);border-radius:8px}.name-dialog input:focus{border-color:var(--g-accent);outline:none}.name-dialog-foot{display:flex;justify-content:flex-end;gap:10px}.name-dialog-foot button{padding:7px 20px;font:inherit;font-size:13px;border-radius:8px;cursor:pointer}.name-dialog-foot .is-ghost{color:var(--g-text-dim);background:none;border:1px solid var(--g-line-strong)}.name-dialog-foot .is-ghost:hover{color:var(--g-text)}.name-dialog-foot .is-primary{color:#fff;background:var(--g-accent);border:0}.name-dialog-foot .is-primary:disabled{opacity:.45;cursor:default}.name-dialog-foot .is-primary:not(:disabled):hover{filter:brightness(1.1)}.file-picker-backdrop{position:fixed;inset:0;z-index:300;display:flex;justify-content:center;padding-top:12vh;background:#00000059}.file-picker{display:flex;flex-direction:column;width:min(520px,90vw);max-height:60vh;overflow:hidden;background:var(--theme-color-300);border:1px solid var(--theme-color-200);border-radius:12px;box-shadow:0 4px 15px 2px #0003;animation:file-picker-in .12s ease}@keyframes file-picker-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.file-picker-head{padding:10px 16px 6px;font-size:12px;color:var(--g-text-dim)}.file-picker-input{margin:0 12px 8px;padding:8px 10px;font:inherit;font-size:14px;color:var(--g-text);background:var(--g-input);border:1px solid var(--g-line-strong);border-radius:8px;outline:none}.file-picker-input:focus{border-color:var(--g-accent)}.file-picker-list{overflow-y:auto;border-top:1px solid var(--theme-color-200)}.file-picker-item{display:flex;gap:10px;align-items:baseline;width:100%;padding:8px 16px;font:inherit;font-size:13px;color:var(--g-text);text-align:left;background:none;border:0;cursor:pointer}.file-picker-item.is-current{color:#fff;background:var(--theme-brand-color)}.file-picker-where{font-size:11px;color:var(--g-text-dim)}.file-picker-item.is-current .file-picker-where{color:#ffffffbf}.file-picker-empty{padding:16px;font-size:12px;color:var(--g-text-dim);text-align:center}.sx-panel{display:flex;flex-direction:column;height:100%;overflow:hidden;font-size:13px;color:var(--g-text)}.sx-toolbar{display:flex;flex:none;gap:6px;align-items:center;padding:8px;border-bottom:1px solid var(--g-line)}.sx-search{flex:1;min-width:0;height:28px;padding:0 10px;font:inherit;font-size:12px;color:var(--g-text);background:var(--g-input);border:1px solid transparent;border-radius:8px;outline:none}.sx-search::placeholder{color:var(--g-text-dim)}.sx-search:focus{border-color:var(--g-accent)}.sx-tool{display:grid;flex:none;place-items:center;width:28px;height:28px;padding:0;color:var(--g-text-dim);background:none;border:0;border-radius:8px;cursor:pointer}.sx-tool:hover{color:var(--g-text);background:var(--g-hover)}.sx-tool img{width:16px;height:16px;filter:brightness(0) invert(42%)}:root[data-theme=dark] .sx-tool img{filter:brightness(0) invert(72%)}.sx-tool:hover img{filter:brightness(0) invert(25%)}:root[data-theme=dark] .sx-tool:hover img{filter:brightness(0) invert(92%)}.sx-tool.is-primary{color:#fff;background:var(--g-accent)}.sx-tool.is-primary:hover{filter:brightness(1.08)}.sx-tool.is-primary img,:root[data-theme=dark] .sx-tool.is-primary img,.sx-tool.is-primary:hover img,:root[data-theme=dark] .sx-tool.is-primary:hover img{filter:none}.sx-list{display:flex;flex:1;flex-direction:column;padding:4px 0 8px;overflow-y:auto}.sx-row{position:relative;display:flex;flex:none;gap:6px;align-items:center;height:28px;padding-right:6px;color:var(--g-text-dim);cursor:pointer;user-select:none}.sx-row.is-sprite{height:34px;color:var(--g-text)}.sx-row:hover{background:var(--g-hover)}.sx-row.is-selected{color:var(--g-text);background:color-mix(in srgb,var(--g-accent) 12%,transparent);box-shadow:inset 3px 0 0 var(--g-accent)}.sx-row.is-open{color:#fff;background:var(--g-accent);box-shadow:none}.sx-row.is-open .sx-note,.sx-row.is-open .sx-tag{color:#ffffffbf;border-color:#ffffff59}.sx-row.is-open .sx-action,.sx-row.is-open .sx-chevron{color:#fff}.sx-row.is-open .sx-action:hover,.sx-row.is-open .sx-chevron:hover{background:#fff3}.sx-row.is-open .sx-icon{opacity:1}.sx-row.is-selected.is-open{box-shadow:inset 3px 0 color-mix(in srgb,#fff 70%,var(--g-accent))}.sx-guides{display:flex;flex:none;align-self:stretch}.sx-guide{flex:none;width:14px;border-right:1px solid var(--g-line-strong)}.sx-chevron{display:grid;flex:none;place-items:center;width:20px;height:20px;margin-left:4px;border-radius:5px}.sx-chevron:before{width:0;height:0;content:"";border-top:4.5px solid transparent;border-bottom:4.5px solid transparent;border-left:6px solid currentcolor;opacity:.75;transition:transform .12s ease;transform:translate(1px)}.sx-chevron.is-turned:before{transform:rotate(90deg)}.sx-chevron:hover:before{opacity:1}.sx-chevron:hover{background:var(--g-hover)}.sx-chevron.is-empty{visibility:hidden}.sx-thumb{display:grid;flex:none;place-items:center;width:26px;height:26px;overflow:hidden;background-color:#fff;background-image:linear-gradient(45deg,#e6e9ef 25%,transparent 25%),linear-gradient(-45deg,#e6e9ef 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e6e9ef 75%),linear-gradient(-45deg,transparent 75%,#e6e9ef 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px;border:1px solid var(--g-line);border-radius:6px}.sx-thumb img{max-width:22px;max-height:22px;object-fit:contain}.sx-thumb.is-module{background:var(--g-input);background-image:none}.sx-thumb.is-module img{width:14px;height:14px;opacity:.7}.sx-icon{flex:none;width:14px;height:14px;background:currentcolor;opacity:.7}.sx-icon.is-folder{clip-path:polygon(0 12%,42% 12%,52% 30%,100% 30%,100% 100%,0 100%)}.sx-icon.is-doc{clip-path:polygon(12% 0,68% 0,88% 22%,88% 100%,12% 100%)}.sx-icon.is-page{background:linear-gradient(currentcolor,currentcolor) 0 14% / 100% 28% no-repeat,linear-gradient(currentcolor,currentcolor) 0 58% / 72% 28% no-repeat;color:#4c97ff;border-radius:2px;opacity:1}.sx-row.is-open .sx-icon.is-page{color:#fff}.sx-row.is-open .sx-icon,.sx-row.is-selected .sx-icon{opacity:1}.sx-name{flex:1;min-width:0;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.sx-row.is-sprite .sx-name{font-weight:500}.sx-row.is-selected .sx-name{font-weight:600}.sx-note{flex:none;max-width:45%;overflow:hidden;font-size:11px;color:var(--g-text-dim);text-overflow:ellipsis;white-space:nowrap}.sx-tag{flex:none;padding:0 6px;font-size:10px;line-height:15px;color:var(--g-text-dim);border:1px solid var(--g-line-strong);border-radius:100px}.sx-dot{flex:none;width:8px;height:8px;border-radius:3px}.sx-actions{display:flex;flex:none;gap:2px;align-items:center;opacity:0}.sx-row:hover .sx-actions,.sx-row.is-selected .sx-actions{opacity:1}.sx-action{display:grid;place-items:center;width:22px;height:22px;padding:0;font-size:13px;line-height:1;color:var(--g-text-dim);background:none;border:0;border-radius:5px;cursor:pointer}.sx-action:hover{color:var(--g-text);background:var(--g-hover)}.sx-action img{width:15px;height:15px}.sx-row.is-category .sx-icon{opacity:.85}.sx-chip{display:grid;flex:none;place-items:center;width:20px;height:20px;overflow:hidden;background-color:#fff;background-image:linear-gradient(45deg,#e6e9ef 25%,transparent 25%),linear-gradient(-45deg,#e6e9ef 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e6e9ef 75%),linear-gradient(-45deg,transparent 75%,#e6e9ef 75%);background-position:0 0,0 3px,3px -3px,-3px 0;background-size:6px 6px;border:1px solid var(--g-line);border-radius:5px}.sx-chip img{max-width:17px;max-height:17px;object-fit:contain}.sx-sound{flex:none;width:14px;height:14px;opacity:.7}.sx-row.is-open .sx-sound{opacity:1;filter:brightness(3)}.sx-row.is-insert-before:after,.sx-row.is-insert-after:after{position:absolute;right:4px;left:4px;height:2px;content:"";background:var(--g-accent);border-radius:2px}.sx-row.is-insert-before:after{top:-1px}.sx-row.is-insert-after:after{bottom:-1px}.sx-row.is-drop{background:color-mix(in srgb,var(--g-accent) 30%,transparent);box-shadow:inset 0 0 0 1px var(--g-accent)}.sx-row.is-hidden .sx-thumb,.sx-row.is-hidden .sx-name{opacity:.45}.sx-empty{padding:18px 8px;font-size:12px;color:var(--g-text-dim);text-align:center}.sx-inspector{display:flex;flex:none;flex-wrap:wrap;gap:6px 8px;align-items:center;padding:8px;border-top:1px solid var(--g-line);background:color-mix(in srgb,var(--g-panel-head) 55%,transparent)}.sx-line{display:flex;gap:8px;align-items:center;width:100%}.sx-line .sx-field{flex:1;justify-content:space-between}.sx-line .sx-field input{width:100%;min-width:0}.sx-field{display:flex;flex:none;gap:6px;align-items:center;font-size:11px;color:var(--g-text-dim);white-space:nowrap}.sx-field input{width:48px;height:26px;padding:0 8px;font:inherit;font-size:12px;color:var(--g-text);text-align:center;background:var(--g-input);border:1px solid transparent;border-radius:7px;outline:none}.sx-field.is-name{flex:1 1 100%;min-width:120px}.sx-field.is-name input{flex:1;width:auto;text-align:left}.sx-field input:focus{border-color:var(--g-accent)}.sx-toggle{display:flex;gap:2px;padding:2px;background:var(--g-input);border-radius:8px}.sx-toggle button{display:grid;place-items:center;width:26px;height:22px;padding:0;background:none;border:0;border-radius:6px;cursor:pointer}.sx-toggle button.is-on{background:var(--g-accent)}.sx-toggle img{width:15px;height:15px;opacity:.8}.sx-toggle button.is-on img{opacity:1;filter:brightness(3)}.cbd-backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:24px;background:#06080c85;backdrop-filter:blur(6px);animation:cbd-veil .18s ease both}.cbd-backdrop.is-closing{animation:cbd-veil .14s ease both reverse}@keyframes cbd-veil{0%{opacity:0}to{opacity:1}}.cbd{--cbd-ink: #ff6680;--cbd-ink-dark: #ff4d6a;--cbd-ink-deep: #ff3355;--cbd-stage: var(--g-blocks-workspace);--cbd-ease: cubic-bezier(.22, 1, .36, 1);display:flex;flex-direction:column;gap:16px;width:min(680px,100%);max-height:90vh;padding:22px 24px 20px;overflow-y:auto;color:var(--g-text);background:var(--g-panel);border:1px solid var(--g-line);border-radius:16px;box-shadow:0 24px 64px #0000006b,0 2px 8px #0003;animation:cbd-rise .26s var(--cbd-ease) both}.cbd-backdrop.is-closing .cbd{animation:cbd-sink .14s ease both}@keyframes cbd-rise{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}@keyframes cbd-sink{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(8px) scale(.98)}}.cbd-head{display:flex;align-items:center;justify-content:space-between}.cbd-head h2{margin:0;font-size:17px;font-weight:600;letter-spacing:.02em}.cbd-x{width:28px;height:28px;font-size:19px;line-height:1;color:var(--g-text-dim);background:none;border:0;border-radius:8px;cursor:pointer;transition:color .14s ease,background .14s ease}.cbd-x:hover{color:var(--g-text);background:var(--g-hover)}.cbd-stage{display:flex;align-items:center;justify-content:center;min-height:118px;padding:26px 24px;background:radial-gradient(circle at 1px 1px,var(--g-blocks-grid) 1px,transparent 0) 0 0 / 16px 16px,var(--cbd-stage);border:1px solid var(--g-line);border-radius:12px}.cbd-shell{--notch: 1;--round: 8px;position:relative;display:inline-block;max-width:100%;filter:drop-shadow(0 3px 6px rgb(0 0 0 / 24%))}.cbd-shell.is-reporter{--notch: 0;--round: 999px}.cbd-shell.is-boolean{--notch: 0;--round: 4px}.cbd-shell:before,.cbd-shell:after{content:"";position:absolute;z-index:1;left:22px;width:20px;height:5px;clip-path:polygon(0 0,100% 0,calc(100% - 5px) 100%,5px 100%);opacity:var(--notch);transition:opacity .2s var(--cbd-ease);pointer-events:none}.cbd-shell:before{top:0;background:var(--cbd-stage)}.cbd-shell:after{top:calc(100% - 1px);background:var(--cbd-ink-dark)}.cbd-skin{position:absolute;inset:0;background:linear-gradient(180deg,var(--cbd-ink) 0%,var(--cbd-ink-dark) 100%);border-radius:var(--round);clip-path:polygon(0% 0%,100% 0%,100% 50%,100% 100%,0% 100%,0% 50%);transition:clip-path .3s var(--cbd-ease),border-radius .3s var(--cbd-ease)}.cbd-shell.is-boolean .cbd-skin{clip-path:polygon(18px 0%,calc(100% - 18px) 0%,100% 50%,calc(100% - 18px) 100%,18px 100%,0% 50%)}.cbd-block{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-height:48px;padding:8px 18px;transition:padding .3s var(--cbd-ease)}.cbd-shell.is-boolean .cbd-block{padding:8px 30px}.cbd-shell.is-reporter .cbd-block{padding:8px 22px}.cbd-prefix{padding:0 2px;font-size:15px;font-weight:600;color:#ffffffb8;white-space:nowrap}.cbd-part{position:relative;display:inline-flex;align-items:center;font-size:16px;line-height:1;will-change:transform}.cbd-part.is-carried{z-index:3;filter:drop-shadow(0 8px 14px rgb(0 0 0 / 35%));cursor:grabbing}.cbd-fit{position:relative;display:inline-block;box-sizing:border-box;padding:8px 14px}.cbd-fit-ghost{display:block;min-width:1.4em;white-space:pre;visibility:hidden}.cbd-fit input{position:absolute;inset:0;box-sizing:border-box;width:100%;padding:inherit;font:inherit;color:inherit;text-align:center;background:none;border:0;outline:none}.cbd-fit input::placeholder{color:currentcolor;opacity:.55}.cbd-part.is-label .cbd-fit{font-weight:600;color:#fff;border-radius:6px;transition:background .15s ease,box-shadow .15s ease}.cbd-part.is-label:hover .cbd-fit,.cbd-part.is-label.is-picked .cbd-fit{background:#00000024}.cbd-part.is-string .cbd-fit,.cbd-part.is-boolean .cbd-fit{color:var(--g-blocks-field-text);background:#fff;box-shadow:inset 0 0 0 1px #00000014;transition:box-shadow .15s ease}.cbd-part.is-string .cbd-fit{border-radius:999px}.cbd-part.is-boolean .cbd-fit{padding:8px 20px;border-radius:4px;clip-path:polygon(11px 0%,calc(100% - 11px) 0%,100% 50%,calc(100% - 11px) 100%,11px 100%,0% 50%)}.cbd-part.is-menu{padding-right:12px;color:#fff;background:var(--cbd-ink-deep);border-radius:999px;box-shadow:inset 0 0 0 1px #0000001f;transition:box-shadow .15s ease}.cbd-part.is-menu .cbd-fit{padding-right:7px;color:#fff}.cbd-caret{width:0;height:0;border-right:5px solid transparent;border-left:5px solid transparent;border-top:6px solid #fff}.cbd-part.is-picked .cbd-fit{box-shadow:inset 0 0 0 1px #00000014,0 0 0 2px #ffffffd9}.cbd-part.is-menu.is-picked,.cbd-part.is-menu.is-picked .cbd-fit{box-shadow:none}.cbd-part.is-menu.is-picked{box-shadow:0 0 0 2px #ffffffd9}.cbd-grip,.cbd-part-x{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;width:15px;height:15px;padding:0;color:#fff;background:var(--cbd-ink-deep);border:1px solid rgb(255 255 255 / 65%);border-radius:999px;opacity:0;transform:scale(.6);transition:opacity .15s ease,transform .15s var(--cbd-ease)}.cbd-grip{top:-10px;left:-8px;cursor:grab;background:radial-gradient(circle at 4px 4px,#fff 1px,transparent 0) 1px 1px / 4.5px 4.5px,var(--cbd-ink-deep)}.cbd-part-x{top:-10px;right:-8px;font-size:12px;line-height:1;cursor:pointer}.cbd-part:hover .cbd-grip,.cbd-part:hover .cbd-part-x,.cbd-part.is-picked .cbd-grip,.cbd-part.is-picked .cbd-part-x{opacity:1;transform:none}.cbd-part-x:hover{background:var(--g-danger)}.cbd-adders{display:flex;flex-wrap:wrap;gap:8px}.cbd-adders button{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;font:inherit;font-size:13px;color:var(--g-text);background:var(--g-btn);border:1px solid var(--g-line);border-radius:999px;cursor:pointer;transition:transform .16s var(--cbd-ease),border-color .16s ease,background .16s ease}.cbd-adders button:hover{background:var(--g-hover);border-color:var(--cbd-ink);transform:translateY(-1px)}.cbd-adders button:active{transform:translateY(0) scale(.97)}.cbd-add-mark{position:relative;width:20px;height:13px;background:var(--cbd-ink)}.cbd-add-mark.is-string{background:#fff;border-radius:999px;box-shadow:inset 0 0 0 1px var(--cbd-ink)}.cbd-add-mark.is-menu{background:var(--cbd-ink);border-radius:999px}.cbd-add-mark.is-menu:after{content:"";position:absolute;top:50%;right:4px;width:0;height:0;margin-top:-1.5px;border-right:3.5px solid transparent;border-left:3.5px solid transparent;border-top:4px solid #fff}.cbd-add-mark.is-boolean{clip-path:polygon(5px 0%,calc(100% - 5px) 0%,100% 50%,calc(100% - 5px) 100%,5px 100%,0% 50%)}.cbd-add-mark.is-label{border-radius:2px}.cbd-drawer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s var(--cbd-ease),opacity .2s ease;opacity:0}.cbd-drawer.is-open{grid-template-rows:1fr;opacity:1}.cbd-drawer-inner{overflow:hidden;min-height:0}.cbd-drawer.is-open .cbd-drawer-inner{padding:1px}.cbd-drawer-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:var(--g-page);border:1px solid var(--g-line);border-radius:10px 10px 0 0}.cbd-drawer-title{font-size:13px;font-weight:600}.cbd-kinds{display:inline-flex;padding:2px;background:var(--g-input);border-radius:999px}.cbd-kinds button{padding:5px 12px;font:inherit;font-size:12px;color:var(--g-text-dim);background:none;border:0;border-radius:999px;cursor:pointer;transition:color .16s ease,background .16s ease}.cbd-kinds button.is-on{color:#fff;background:var(--cbd-ink)}.cbd-options{display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px;background:var(--g-page);border:1px solid var(--g-line);border-top:0;border-radius:0 0 10px 10px}.cbd-option{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 8px;background:var(--g-panel);border:1px solid var(--g-line-strong);border-radius:999px;transition:border-color .15s ease}.cbd-option:focus-within{border-color:var(--cbd-ink)}.cbd-option-no{font-size:10px;color:var(--g-text-dim)}.cbd-option input{width:82px;font:inherit;font-size:12px;color:var(--g-text);background:none;border:0;outline:none}.cbd-option button{width:18px;height:18px;font-size:13px;line-height:1;color:var(--g-text-dim);background:none;border:0;border-radius:999px;cursor:pointer;transition:color .14s ease,background .14s ease}.cbd-option button:hover{color:#fff;background:var(--g-danger)}.cbd-option-add{padding:6px 12px;font:inherit;font-size:12px;color:var(--g-text-dim);background:none;border:1px dashed var(--g-line-strong);border-radius:999px;cursor:pointer;transition:color .15s ease,border-color .15s ease}.cbd-option-add:hover{color:var(--cbd-ink);border-color:var(--cbd-ink)}.cbd-shapes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.cbd-shape{display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 8px 10px;font:inherit;color:var(--g-text);background:var(--g-btn);border:1px solid var(--g-line);border-radius:12px;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s var(--cbd-ease),box-shadow .18s ease}.cbd-shape:hover{transform:translateY(-2px);border-color:var(--g-line-strong)}.cbd-shape.is-on{background:color-mix(in srgb,var(--cbd-ink) 12%,var(--g-btn));border-color:var(--cbd-ink);box-shadow:0 0 0 1px var(--cbd-ink) inset}.cbd-shape-mark{width:44px;height:16px;background:var(--cbd-ink);transition:border-radius .22s var(--cbd-ease),clip-path .22s var(--cbd-ease)}.cbd-shape-mark.is-stack{border-radius:4px}.cbd-shape-mark.is-reporter{border-radius:999px}.cbd-shape-mark.is-boolean{border-radius:3px;clip-path:polygon(8px 0%,calc(100% - 8px) 0%,100% 50%,calc(100% - 8px) 100%,8px 100%,0% 50%)}.cbd-shape-name{font-size:12px;font-weight:600}.cbd-shape-hint{font-size:10px;color:var(--g-text-dim);text-align:center}.cbd-switches{display:flex;flex-direction:column;gap:4px}.cbd-switch{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;font:inherit;text-align:left;color:var(--g-text);background:none;border:0;border-radius:10px;cursor:pointer;transition:background .15s ease}.cbd-switch:hover:not(:disabled){background:var(--g-hover)}.cbd-switch:disabled{cursor:default;opacity:.55}.cbd-knob{position:relative;flex:none;width:34px;height:20px;margin-top:1px;background:var(--g-input);border-radius:999px;transition:background .22s var(--cbd-ease)}.cbd-knob:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;background:#fff;border-radius:999px;box-shadow:0 1px 3px #0000004d;transition:transform .22s var(--cbd-ease)}.cbd-switch.is-on .cbd-knob{background:var(--cbd-ink)}.cbd-switch.is-on .cbd-knob:after{transform:translate(14px)}.cbd-switch-text{display:flex;flex-direction:column;gap:2px;font-size:13px}.cbd-switch-text em{font-size:11px;font-style:normal;color:var(--g-text-dim)}.cbd-foot{display:flex;align-items:center;gap:10px;padding-top:2px}.cbd-error{flex:1;font-size:12px;color:var(--g-danger);opacity:0;transform:translateY(4px);transition:opacity .2s ease,transform .2s var(--cbd-ease)}.cbd-error.is-shown{opacity:1;transform:none}.cbd-foot button{padding:9px 24px;font:inherit;font-size:13px;border-radius:10px;cursor:pointer;transition:transform .15s var(--cbd-ease),filter .15s ease,color .15s ease}.cbd-foot button:active{transform:scale(.97)}.cbd-foot .is-ghost{color:var(--g-text-dim);background:none;border:1px solid var(--g-line-strong)}.cbd-foot .is-ghost:hover{color:var(--g-text)}.cbd-foot .is-primary{color:#fff;background:var(--g-accent);border:0;box-shadow:0 4px 12px #2d8cff4d}.cbd-foot .is-primary:hover{filter:brightness(1.08)}@media (prefers-reduced-motion: reduce){.cbd,.cbd-backdrop,.cbd *,.cbd *:before,.cbd *:after{transition-duration:1ms!important;animation-duration:1ms!important}}.gc-host{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:none}.gc-mount{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden}.gc-doc{position:relative;flex:1;min-height:0;box-sizing:border-box;width:100%;padding:8px 10px;overflow-y:auto;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12.5px;line-height:1.7;color:#3c3c40;outline:none;scrollbar-width:none;white-space:pre-wrap;word-break:break-word;cursor:text}.gc-doc::-webkit-scrollbar{width:0;display:none}.gc-doc:empty:before,.gc-doc:has(>div:only-child>br:only-child):before{content:attr(data-placeholder);position:absolute;left:10px;top:8px;right:10px;color:#9a9aa2;pointer-events:none}.gc-doc h1,.gc-doc h2,.gc-doc h3{margin:6px 0 2px;font-weight:700;line-height:1.35}.gc-doc h1{font-size:16px}.gc-doc h2{font-size:14.5px}.gc-doc h3{font-size:13px}.gc-doc ul,.gc-doc ol{margin:3px 0;padding-left:20px}.gc-doc blockquote{margin:4px 0;padding:1px 10px;color:#6e6e78;border-left:3px solid rgba(0,0,0,.18)}.gc-doc code{padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.92em;background:#00000017;border-radius:4px}.gc-doc a{color:#2f7ae5}.gc-tools{flex:none;display:flex;align-items:center;gap:1px;box-sizing:border-box;height:0;padding:0 6px;overflow:hidden;background:#0000000b;border-bottom:1px solid rgba(0,0,0,0);opacity:0;user-select:none;transition:height .16s cubic-bezier(.2,.8,.3,1),opacity .14s ease,border-color .16s ease}.gc-tools.is-open{height:26px;border-bottom-color:#00000014;opacity:1}.gc-tools button{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:19px;padding:0 4px;font-family:inherit;font-size:11px;line-height:1;color:#00000085;background:none;border:0;border-radius:4px;cursor:pointer;transition:color .12s ease,background .12s ease}.gc-tools button:hover{color:#000000d1;background:#00000014}.gc-tools button.is-on{color:#000000d9;background:#00000021}.gc-tools-sep{width:1px;height:12px;margin:0 4px;background:#0000001f}.gc-snip{position:relative;display:block;margin:6px 0;padding:4px 6px;background:#0000000d;border:1px solid rgba(0,0,0,.12);border-radius:8px;cursor:grab;touch-action:none;user-select:none;transition:border-color .15s ease,box-shadow .15s ease}.gc-snip:hover{border-color:#4c97ffa6;box-shadow:0 2px 10px -4px #00000059}.gc-snip.is-dragging{opacity:.5;cursor:grabbing}.gc-snip.is-target{background:#4c97ff24;border-color:#4c97ff;border-style:dashed;box-shadow:0 0 0 3px #4c97ff2e}.gc-snip.is-target:after{content:"松手替换";position:absolute;left:50%;top:-9px;padding:1px 8px;font-size:10px;color:#fff;white-space:nowrap;background:#4c97ff;border-radius:6px;transform:translate(-50%);pointer-events:none}.gc-snip-view{overflow:hidden}.gc-snip-svg{display:block;max-width:100%}.gc-snip-hint{position:absolute;right:4px;bottom:3px;padding:1px 7px;font-size:9.5px;color:#fff;background:#4c97ffeb;border-radius:5px;opacity:0;pointer-events:none;transition:opacity .15s ease}.gc-snip:hover .gc-snip-hint{opacity:1}.gc-snip-x{position:absolute;right:-6px;top:-6px;display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;padding:0;font-size:13px;line-height:1;color:#6b6b73;background:#fff;border:1px solid rgba(0,0,0,.15);border-radius:50%;cursor:pointer;opacity:0;transition:opacity .15s ease,color .15s ease,background .15s ease}.gc-snip:hover .gc-snip-x{opacity:1}.gc-snip-x:hover{color:#fff;background:#e2445c;border-color:#e2445c}.gc-snip-ghost{position:fixed;left:0;top:0;z-index:9999;pointer-events:none;opacity:.9;filter:drop-shadow(0 8px 16px rgba(0,0,0,.45));will-change:transform}.sortable{display:flex;flex-direction:column;gap:6px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--g-line-strong) transparent}.sortable::-webkit-scrollbar{width:8px}.sortable::-webkit-scrollbar-thumb{background:var(--g-line-strong);border:2px solid transparent;border-radius:8px;background-clip:content-box}.sortable::-webkit-scrollbar-thumb:hover{background:var(--g-text-dim);background-clip:content-box}.sortable::-webkit-scrollbar-track{background:transparent}.sortable-row{position:relative;flex-shrink:0;transition:transform .18s cubic-bezier(.2,0,0,1);will-change:transform}.sortable.is-dragging .sortable-row{pointer-events:none}.sortable-row.is-carried{z-index:3}.sortable-handle{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:18px;height:24px;color:var(--g-text-dim);cursor:grab;opacity:.45;transition:opacity .14s ease}.sortable-row:hover .sortable-handle{opacity:1}.sortable.is-dragging .sortable-handle{cursor:grabbing}.sortable.is-empty{align-items:center;justify-content:center;padding:24px;font-size:12px;color:var(--g-text-dim);text-align:center}.tbs-backdrop{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;background:#00000073;animation:tbs-fade .16s ease both}.tbs-backdrop.is-closing{animation:tbs-fade .16s ease both reverse}@keyframes tbs-fade{0%{opacity:0}to{opacity:1}}.tbs{display:flex;flex-direction:column;width:min(860px,92vw);height:min(620px,86vh);overflow:hidden;background:var(--g-panel);border:1px solid var(--g-line-strong);border-radius:14px;box-shadow:0 24px 70px #00000073;animation:tbs-rise .2s cubic-bezier(.2,0,0,1) both}.is-closing .tbs{animation:tbs-rise .16s ease both reverse}@keyframes tbs-rise{0%{opacity:0;transform:translateY(10px) scale(.975)}to{opacity:1;transform:none}}.tbs-head{display:flex;flex-shrink:0;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 14px;border-bottom:1px solid var(--g-line)}.tbs-head h2{margin:0;font-size:16px;font-weight:600;color:var(--g-text)}.tbs-head p{margin:5px 0 0;font-size:12px;color:var(--g-text-dim)}.tbs-close{flex-shrink:0;width:28px;height:28px;font-size:13px;color:var(--g-text-dim);background:none;border:0;border-radius:8px;cursor:pointer;transition:background .14s ease,color .14s ease}.tbs-close:hover{color:var(--g-text);background:var(--g-hover)}.tbs-body{display:grid;flex:1 1 auto;grid-template-columns:268px 1fr;min-height:0}.tbs-pane{display:flex;flex-direction:column;min-height:0;padding:14px 14px 8px}.tbs-categories{border-right:1px solid var(--g-line)}.tbs-pane h3{display:flex;flex-shrink:0;align-items:baseline;gap:10px;margin:0 0 10px 4px;font-size:12px;font-weight:600;color:var(--g-text-dim);letter-spacing:.04em}.tbs-hint{font-size:11px;font-weight:400;opacity:.72}.tbs-list{flex:1 1 auto;padding:2px;min-height:0}.tbs-note{padding:18px;font-size:12px;line-height:1.7;color:var(--g-text-dim);background:var(--g-page);border:1px dashed var(--g-line-strong);border-radius:10px}.tbs-cat,.tbs-block{display:flex;align-items:center;gap:8px;padding:7px 8px;background:var(--g-page);border:1px solid transparent;border-radius:10px;cursor:pointer;transition:background .14s ease,border-color .14s ease,box-shadow .16s ease,opacity .16s ease}.tbs-cat:hover,.tbs-block:hover{background:var(--g-hover)}.tbs-cat.is-open{background:color-mix(in srgb,var(--g-accent) 16%,var(--g-page));border-color:color-mix(in srgb,var(--g-accent) 45%,transparent)}.tbs-cat.is-hidden,.tbs-block.is-hidden{opacity:.42}.tbs-cat.is-carried,.tbs-block.is-carried{background:var(--g-panel);border-color:var(--g-accent);box-shadow:0 10px 26px #00000059;transform:scale(1.015)}.tbs-dot{position:relative;display:flex;flex-shrink:0;align-items:center;justify-content:center;width:22px;height:22px;color:#ffffffe0;border-radius:50%}.tbs-dot img{width:14px;height:14px;filter:brightness(0) invert(1);opacity:.92}.tbs-cat-name{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;gap:1px;font-size:13px;color:var(--g-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tbs-cat-name em{font-size:11px;font-style:normal;color:var(--g-text-dim)}.tbs-block{padding:5px 8px;cursor:default}.tbs-thumb-well{display:flex;flex:1 1 auto;align-items:center;min-width:0;min-height:30px;overflow:hidden}.tbs-thumb{display:block;overflow:visible}.tbs-block.is-hidden .tbs-thumb{filter:grayscale(.85)}.tbs-icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:26px;height:26px;padding:0;color:var(--g-text-dim);background:none;border:0;border-radius:7px;cursor:pointer;opacity:.55;transition:background .14s ease,color .14s ease,opacity .14s ease,transform .14s cubic-bezier(.2,0,0,1)}.tbs-cat:hover .tbs-icon,.tbs-block:hover .tbs-icon{opacity:1}.tbs-icon:hover{background:var(--g-hover);transform:scale(1.12)}.tbs-icon.is-on{color:var(--g-text);opacity:.9}.tbs-star.is-on{color:#ffbf00;opacity:1}.tbs-foot{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid var(--g-line)}.tbs-reset,.tbs-done{padding:7px 16px;font:inherit;font-size:12px;border-radius:8px;cursor:pointer;transition:background .14s ease,color .14s ease}.tbs-reset{color:var(--g-text-dim);background:none;border:1px solid var(--g-line-strong)}.tbs-reset:hover{color:var(--g-text);background:var(--g-hover)}.tbs-done{color:#fff;background:var(--g-accent);border:0}.tbs-done:hover{filter:brightness(1.08)}.toolbox-settings-button{position:absolute;bottom:10px;left:10px;z-index:4;display:flex;align-items:center;justify-content:center;width:30px;height:30px;color:var(--g-text-dim);background:color-mix(in srgb,var(--g-panel) 90%,transparent);border:1px solid var(--g-line-strong);border-radius:50%;cursor:pointer;transition:color .16s ease,background .16s ease,transform .22s cubic-bezier(.2,0,0,1)}.toolbox-settings-button:hover{color:var(--g-text);background:var(--g-hover);transform:rotate(60deg)}.p2-drawer{position:absolute;z-index:9;display:contents}.p2-drawer-panel{position:absolute;z-index:9;transform:var(--p2-drawer-away);opacity:0;pointer-events:none;transition:transform .22s ease,opacity .16s ease}.p2-drawer.is-open .p2-drawer-panel,.p2-drawer-edge:hover+.p2-drawer-panel,.p2-drawer-panel:hover{transform:none;opacity:1;pointer-events:auto}.p2-drawer-edge{position:absolute;z-index:8}.p2-drawer-handle{position:absolute;z-index:10;display:flex;align-items:center;justify-content:center;padding:0;color:var(--g-text-dim);background:color-mix(in srgb,var(--g-panel) 78%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--p2-hairline);cursor:pointer;transition:left .22s ease,right .22s ease,bottom .22s ease,color .13s ease,background .13s ease}.p2-drawer-handle:hover{color:var(--g-text);background:color-mix(in srgb,var(--g-panel) 94%,transparent)}.p2-drawer.is-left .p2-drawer-panel{left:var(--p2-edge, 12px);top:14px;bottom:14px}.p2-drawer.is-left .p2-drawer-edge{left:0;top:0;bottom:0;width:calc(var(--p2-edge, 12px) + 10px)}.p2-drawer.is-left .p2-drawer-handle{top:50%;left:var(--p2-edge, 12px);width:16px;height:48px;transform:translateY(-50%);border-radius:9px}.p2-drawer.is-left.is-open .p2-drawer-handle,.p2-drawer.is-left:has(.p2-drawer-edge:hover) .p2-drawer-handle,.p2-drawer.is-left:has(.p2-drawer-panel:hover) .p2-drawer-handle{left:calc(var(--p2-edge, 12px) + var(--p2-drawer-w, 216px) - 1px);border-left:0;border-radius:0 9px 9px 0}.p2-drawer.is-right .p2-drawer-edge{right:0;top:0;bottom:0;width:calc(var(--p2-edge, 12px) + 10px)}.p2-drawer.is-right .p2-drawer-handle{top:50%;right:var(--p2-edge, 12px);width:16px;height:48px;transform:translateY(-50%);border-radius:9px}.p2-drawer.is-right.is-open .p2-drawer-handle,.p2-drawer.is-right:has(.p2-drawer-edge:hover) .p2-drawer-handle,.p2-drawer.is-right:has(.p2-drawer-panel:hover) .p2-drawer-handle{right:calc(var(--p2-edge, 12px) + var(--p2-drawer-w, 288px) - 1px);border-right:0;border-radius:9px 0 0 9px}.p2-drawer.is-bottom .p2-drawer-edge{left:0;right:0;bottom:0;height:calc(var(--p2-edge, 12px) + 10px)}.p2-drawer.is-bottom .p2-drawer-handle{left:50%;bottom:var(--p2-edge, 12px);width:48px;height:16px;transform:translate(-50%);border-radius:9px}.p2-drawer.is-bottom.is-open .p2-drawer-handle,.p2-drawer.is-bottom:has(.p2-drawer-edge:hover) .p2-drawer-handle,.p2-drawer.is-bottom:has(.p2-drawer-panel:hover) .p2-drawer-handle{bottom:calc(var(--p2-edge, 12px) + var(--p2-drawer-h, 150px) - 1px);border-bottom:0;border-radius:9px 9px 0 0}:root{--p2-r-sm: 8px;--p2-r: 12px;--p2-r-lg: 16px;--p2-pad: 12px;--p2-gap: 12px;--p2-glass: color-mix(in srgb, var(--g-panel) 68%, transparent);--p2-glass-strong: color-mix(in srgb, var(--g-panel) 86%, transparent);--p2-ring: color-mix(in srgb, var(--g-accent) 60%, transparent);--p2-shadow: 0 6px 24px -12px rgba(0, 0, 0, .55), 0 1.5px 4px -2px rgba(0, 0, 0, .3);--p2-hairline: color-mix(in srgb, var(--g-line) 70%, transparent)}.p2{display:flex;flex-direction:column;height:100%;min-height:0;color:var(--g-text);background:radial-gradient(120% 80% at 50% -10%,color-mix(in srgb,var(--g-accent) 6%,transparent),transparent 60%),var(--g-bg, var(--g-panel));font-feature-settings:"tnum" 1}.p2-body{position:relative;display:flex;flex:1 1 auto;min-height:0}.p2-topbar{position:relative;z-index:20;flex:0 0 auto;padding:var(--p2-gap) var(--p2-gap) 0 var(--p2-lane-l, 120px);transition:padding .2s ease}.p2-stage{position:relative;display:flex;flex:1 1 auto;min-width:0;overflow:hidden;background:var(--g-panel)}.p2-canvas{position:relative;flex:1 1 auto;min-width:0;overflow:hidden;touch-action:none}.p2-canvas>canvas{display:block;width:100%;height:100%}.p2-lane{position:absolute;top:14px;left:var(--p2-lane-l, 120px);right:var(--p2-lane-r, 312px);z-index:8;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end;gap:var(--p2-gap);pointer-events:none;transition:left .2s ease,right .2s ease}.p2-lane>*{flex:0 0 auto;pointer-events:auto}.p2-toolbar{margin-inline:auto}.p2-nodebar{position:relative;z-index:1;display:flex;align-items:center;gap:4px;width:fit-content;margin:8px auto 0;padding:5px 8px;background:var(--p2-glass);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);border:1px solid var(--p2-hairline);border-radius:var(--p2-r);box-shadow:var(--p2-shadow)}.p2-nodebar .p2-text-button{height:26px}.p2-nodebar-hint{padding:0 4px 0 6px;font-size:11px;color:var(--g-text-dim);white-space:nowrap;font-variant-numeric:tabular-nums}.p2-tools{position:relative;z-index:2;display:flex;align-items:center;gap:3px;padding:6px;background:var(--p2-glass);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);border:1px solid var(--p2-hairline);border-radius:var(--p2-r-lg);box-shadow:var(--p2-shadow)}.p2-tool{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;color:var(--g-text-dim);background:none;border:0;border-radius:var(--p2-r-sm);cursor:pointer;transition:color .13s ease,background .13s ease,transform .13s ease}.p2-tool:hover{color:var(--g-text);background:var(--g-hover)}.p2-tool:active{transform:scale(.92)}.p2-tool.is-on{color:#fff;background:linear-gradient(180deg,color-mix(in srgb,var(--g-accent) 84%,#fff),var(--g-accent));box-shadow:0 3px 10px -4px var(--p2-ring)}.p2-sep{flex:0 0 auto;width:1px;height:22px;margin:0 4px;background:var(--p2-hairline)}.p2-zoom{display:flex;gap:2px;align-items:center;padding:4px;font-size:12px;color:var(--g-text-dim);font-variant-numeric:tabular-nums;background:var(--p2-glass);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border:1px solid var(--p2-hairline);border-radius:var(--p2-r);box-shadow:var(--p2-shadow)}.p2-tools .p2-zoom{margin-left:auto;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.p2-zoom button{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 7px;font:inherit;color:inherit;background:none;border:0;border-radius:var(--p2-r-sm);cursor:pointer;transition:color .13s ease,background .13s ease}.p2-zoom button:hover{color:var(--g-text);background:var(--g-hover)}.p2-zoom button:disabled{opacity:.3;cursor:default}.p2-empty,.p2-problem{padding:20px;font-size:13px;color:var(--g-text-dim)}.p2-problem{position:absolute;top:8px;left:8px;z-index:5;padding:8px 12px;color:#fff;background:var(--g-danger);border-radius:7px}.p2-flash{position:absolute;top:68px;left:50%;z-index:12;transform:translate(-50%);padding:6px 14px;font-size:12px;color:var(--g-text);background:var(--p2-glass-strong);-webkit-backdrop-filter:blur(20px) saturate(1.5);backdrop-filter:blur(20px) saturate(1.5);border:1px solid var(--p2-hairline);border-radius:999px;box-shadow:var(--p2-shadow);pointer-events:none;animation:p2-flash-in .16s ease}@keyframes p2-flash-in{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.p2-tool.is-soon{opacity:.3;cursor:default}.p2-tool.is-soon:hover{color:var(--g-text-dim);background:none}.p2-dock{position:absolute;top:12px;right:12px;bottom:12px;z-index:10;display:flex;width:288px;flex-direction:column;min-width:0;min-height:0;background:var(--p2-glass);-webkit-backdrop-filter:blur(22px) saturate(1.6);backdrop-filter:blur(22px) saturate(1.6);border:1px solid var(--p2-hairline);border-radius:var(--p2-r-lg);box-shadow:var(--p2-shadow);overflow:hidden}.p2-dock-props{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain}.p2-design{display:flex;flex-direction:column}.p2-design>.p2-hint{order:400}.p2-layers-card{display:flex;flex-direction:column;width:var(--p2-layers-w, 216px);background:var(--p2-glass);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);border:1px solid var(--p2-hairline);border-radius:var(--p2-r-lg);box-shadow:var(--p2-shadow);overflow:hidden}.p2-drawer.is-left{--p2-drawer-w: var(--p2-layers-w, 216px)}.paint-panel:has(.p2.is-layers-off){--p2-lane-l: 30px}.p2-dock-props::-webkit-scrollbar,.p2-layers-list::-webkit-scrollbar{width:0;height:0;display:none}.p2-what{display:flex;gap:8px;align-items:center;height:42px;padding:0 16px;font-size:13px;font-weight:600;border-bottom:1px solid color-mix(in srgb,var(--g-line) 45%,transparent)}.p2-what-icon{display:flex;align-items:center;justify-content:center;width:26px;height:26px;color:var(--g-accent);background:color-mix(in srgb,var(--g-accent) 14%,transparent);border-radius:var(--p2-r-sm)}.p2-group{position:relative;padding:12px 16px 14px;border-bottom:1px solid color-mix(in srgb,var(--g-line) 45%,transparent)}.p2-group.is-collapsed{padding-bottom:11px}.p2-group-head{position:relative;display:flex;gap:5px;align-items:center;height:22px;margin-bottom:9px}.p2-group.is-collapsed .p2-group-head{margin-bottom:0}.p2-group-grip{position:absolute;top:50%;left:-13px;z-index:2;display:flex;align-items:center;justify-content:center;width:13px;height:22px;color:var(--g-text-dim);border-radius:4px;opacity:0;cursor:grab;transform:translateY(-50%);transition:opacity .13s ease,color .13s ease;touch-action:none}.p2-group:hover .p2-group-grip{opacity:.5}.p2-group-grip:hover{color:var(--g-text);opacity:1}.p2-group.is-dragging{z-index:5;opacity:.75;cursor:grabbing}.p2-group.is-dragging .p2-group-grip{cursor:grabbing;opacity:1}.p2-group.is-drop-before:before,.p2-group.is-drop-after:after{position:absolute;right:8px;left:8px;height:2px;background:var(--g-accent);border-radius:2px;content:""}.p2-group.is-drop-before:before{top:-1px}.p2-group.is-drop-after:after{bottom:-1px}.p2-group-title{font-size:11px;font-weight:700;color:var(--g-text-dim);letter-spacing:.06em;text-transform:uppercase}.p2-group-right{display:flex;gap:2px;align-items:center;margin-left:auto}.p2-group-body{display:flex;flex-direction:column;gap:8px}.p2-group-toggle{display:flex;flex:1 1 auto;gap:5px;align-items:center;min-width:0;margin:-4px -6px;padding:4px 6px;color:inherit;background:none;border:0;border-radius:7px;cursor:pointer;transition:background .12s ease}.p2-group-toggle:hover{background:var(--g-hover)}.p2-caret{display:flex;align-items:center;justify-content:center;width:12px;height:12px;padding:0;color:var(--g-text-dim);background:none;border:0;cursor:pointer;transition:transform .13s ease}.p2-group-toggle.is-open .p2-caret,.p2-caret.is-open{transform:rotate(90deg)}.p2-caret-space{display:inline-block;flex:0 0 auto;width:14px}.p2-field{display:flex;gap:6px;align-items:center;min-height:28px}.p2-field-label{flex:0 0 52px;font-size:11px;color:var(--g-text-dim)}.p2-number{display:flex;flex:1 1 0;gap:3px;align-items:center;min-width:44px;height:30px;padding:0 8px;background:var(--g-input);border:1px solid transparent;border-radius:var(--p2-r-sm);cursor:ew-resize;touch-action:none;transition:border-color .13s ease,background .13s ease,box-shadow .13s ease,min-width .14s ease}.p2-number:hover{border-color:var(--g-line)}.p2-number.is-scrub{border-color:var(--g-accent);background:color-mix(in srgb,var(--g-accent) 12%,var(--g-input))}.p2-number:focus-within{cursor:text;background:var(--g-panel);border-color:var(--g-accent);box-shadow:0 0 0 3px var(--p2-ring)}.p2-number.is-off{opacity:.45}.p2-number-label{flex:0 0 auto;font-size:10.5px;color:var(--g-text-dim);user-select:none}.p2-number input{flex:1 1 0;min-width:0;font:inherit;font-size:12px;color:var(--g-text);background:none;border:0;outline:none;cursor:inherit;font-variant-numeric:tabular-nums}.p2-number:focus-within input{cursor:text}.p2-number-suffix{flex:0 0 auto;font-size:10.5px;color:var(--g-text-dim)}.p2-colour{display:flex;flex:1 1 0;gap:6px;align-items:center;min-width:0}.p2-row:hover .p2-number,.p2-row:focus-within .p2-number,.p2-row-line:hover .p2-number,.p2-row-line:focus-within .p2-number,.p2-field:hover .p2-number,.p2-field:focus-within .p2-number,.p2-colour:hover .p2-colour-hex,.p2-colour:focus-within .p2-colour-hex{min-width:28px;padding:0 4px}.p2-number:hover,.p2-number:focus-within,.p2-colour-hex:hover,.p2-colour-hex:focus{min-width:78px;padding:0 8px}.p2-colour-chip{position:relative;flex:0 0 auto;width:26px;height:26px;overflow:hidden;background-image:linear-gradient(45deg,#8b8b8b 25%,transparent 25%),linear-gradient(-45deg,#8b8b8b 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#8b8b8b 75%),linear-gradient(-45deg,transparent 75%,#8b8b8b 75%);background-position:0 0,0 3px,3px -3px,-3px 0;background-size:6px 6px;border:1px solid var(--g-line);border-radius:var(--p2-r-sm);cursor:pointer;transition:transform .13s ease,box-shadow .13s ease}.p2-colour-chip:hover{transform:scale(1.06);box-shadow:0 0 0 3px var(--p2-ring)}.p2-colour-chip{padding:0}.p2-colour-chip-fill{position:absolute;inset:0}.p2-cp{position:fixed;z-index:220;width:232px;padding:12px;background:var(--p2-glass-strong);-webkit-backdrop-filter:blur(20px) saturate(1.5);backdrop-filter:blur(20px) saturate(1.5);border:1px solid var(--p2-hairline);border-radius:var(--p2-r, 12px);box-shadow:0 16px 40px -12px #0000008c;animation:p2-pop .12s ease;user-select:none}.p2-cp-sv{position:relative;width:100%;height:150px;border-radius:var(--p2-r-sm, 8px);cursor:crosshair;touch-action:none}.p2-cp-sv-dot{position:absolute;width:12px;height:12px;transform:translate(-50%,-50%);border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #0006;pointer-events:none}.p2-cp-slider{position:relative;height:12px;margin-top:12px;border-radius:6px;cursor:pointer;touch-action:none}.p2-cp-hue{background:linear-gradient(to right,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.p2-cp-alpha{background:linear-gradient(to right,transparent,var(--c)),repeating-conic-gradient(#888 0% 25%,#ccc 0% 50%) 0 / 8px 8px}.p2-cp-knob{position:absolute;top:50%;width:14px;height:14px;transform:translate(-50%,-50%);background:#fff;border:1px solid rgba(0,0,0,.35);border-radius:50%;box-shadow:0 1px 3px #0006;pointer-events:none}.p2-cp-foot{display:flex;gap:6px;align-items:center;margin-top:12px}.p2-cp-preview{flex:0 0 auto;width:26px;height:26px;border-radius:var(--p2-r-sm, 8px);overflow:hidden;background:repeating-conic-gradient(#888 0% 25%,#ccc 0% 50%) 0 / 8px 8px}.p2-cp-preview span{display:block;width:100%;height:100%}.p2-cp-hex{flex:1 1 auto;min-width:0;height:26px;padding:0 8px;font:inherit;font-size:12px;text-transform:uppercase;color:var(--g-text);background:var(--g-input);border:1px solid transparent;border-radius:var(--p2-r-sm, 8px);outline:none}.p2-cp-hex:focus{border-color:var(--g-accent)}.p2-cp-a{flex:0 0 auto;width:46px;height:26px;padding:0 6px;font:inherit;font-size:12px;color:var(--g-text);background:var(--g-input);border:1px solid transparent;border-radius:var(--p2-r-sm, 8px);outline:none}.p2-colour-hex{flex:1 1 0;min-width:44px;height:30px;padding:0 8px;font:inherit;font-size:12px;letter-spacing:.02em;color:var(--g-text);text-transform:uppercase;background:var(--g-input);border:1px solid transparent;border-radius:var(--p2-r-sm);outline:none;font-variant-numeric:tabular-nums;transition:border-color .13s ease,background .13s ease,box-shadow .13s ease,min-width .14s ease}.p2-colour-hex:hover{border-color:var(--g-line)}.p2-colour-hex:focus{background:var(--g-panel);border-color:var(--g-accent);box-shadow:0 0 0 3px var(--p2-ring)}.p2-seg{display:flex;flex:0 0 auto;padding:2px;background:var(--g-input);border-radius:var(--p2-r-sm)}.p2-seg button{display:flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 6px;font:inherit;font-size:11px;color:var(--g-text-dim);background:none;border:0;border-radius:6px;cursor:pointer;transition:color .13s ease,background .13s ease}.p2-seg button:hover{color:var(--g-text);background:var(--g-hover)}.p2-seg button.is-on{color:var(--g-text);background:var(--g-panel);box-shadow:0 1px 3px #00000040}.p2-select{display:flex;align-items:center;gap:4px;flex:1 1 0;min-width:0;height:30px;padding:0 8px 0 9px;font:inherit;font-size:12px;color:var(--g-text);background:var(--g-input);border:1px solid transparent;border-radius:var(--p2-r-sm);cursor:pointer;transition:border-color .13s ease,box-shadow .13s ease}.p2-select:hover{border-color:var(--g-line)}.p2-select.is-open{border-color:var(--g-accent);box-shadow:0 0 0 3px var(--p2-ring)}.p2-select-value{flex:1 1 auto;min-width:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.p2-select-chev{flex:0 0 auto;color:var(--g-text-dim);transition:transform .16s ease}.p2-select.is-open .p2-select-chev{transform:rotate(180deg)}.p2-select-menu{position:fixed;z-index:200;display:flex;flex-direction:column;gap:1px;padding:5px;overflow-y:auto;scrollbar-width:none;color:var(--g-text);background:var(--p2-glass-strong);-webkit-backdrop-filter:blur(20px) saturate(1.5);backdrop-filter:blur(20px) saturate(1.5);border:1px solid var(--p2-hairline);border-radius:var(--p2-r, 12px);box-shadow:0 16px 40px -12px #0000008c;animation:p2-pop .12s ease}.p2-select-menu::-webkit-scrollbar{width:0;display:none}.p2-select-opt{display:flex;align-items:center;flex:0 0 auto;height:30px;padding:0 10px;font:inherit;font-size:12px;color:var(--g-text);text-align:left;background:none;border:0;border-radius:var(--p2-r-sm, 8px);cursor:pointer;transition:background .11s ease}.p2-select-opt:hover{background:var(--g-hover)}.p2-select-opt.is-on{color:#fff;background:var(--g-accent, #4c97ff)}.p2-icon{display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:26px;height:26px;padding:0;color:var(--g-text-dim);background:none;border:0;border-radius:var(--p2-r-sm);cursor:pointer;transition:color .13s ease,background .13s ease,transform .13s ease}.p2-icon:hover:not(:disabled){color:var(--g-text);background:var(--g-hover)}.p2-icon:active:not(:disabled){transform:scale(.9)}.p2-icon.is-on{color:var(--g-accent);background:color-mix(in srgb,var(--g-accent) 16%,transparent)}.p2-icon:disabled{opacity:.3;cursor:default}.p2-text-button{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 11px;font:inherit;font-size:11.5px;color:var(--g-text);background:var(--g-input);border:1px solid transparent;border-radius:var(--p2-r-sm);cursor:pointer;transition:color .13s ease,background .13s ease,border-color .13s ease}.p2-text-button:hover{color:var(--g-text);background:var(--g-hover);border-color:var(--g-line)}.p2-text-button.is-on{color:#fff;background:var(--g-accent);border-color:var(--g-accent)}.p2-text-button:disabled{opacity:.4;cursor:default}.p2-aligns{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.p2-gap{width:6px}.p2-row{display:flex;gap:7px;align-items:center;min-width:0;padding:3px 5px;margin:0 -5px;border-radius:var(--p2-r-sm);transition:background .13s ease}.p2-row:hover{background:color-mix(in srgb,var(--g-text) 4%,transparent)}.p2-row.is-off{opacity:.5}.p2-row-tall{flex-direction:column;gap:5px;align-items:stretch}.p2-row-line{display:flex;gap:7px;align-items:center;min-width:0}.p2-row-indent{padding-left:6px}.p2-row-name{flex:1 1 auto;font-size:11.5px}.p2-row-actions{display:inline-flex;gap:1px;align-items:center;opacity:0;transition:opacity .13s ease}.p2-row:hover .p2-row-actions,.p2-row.is-off .p2-row-actions,.p2-row-line:hover .p2-row-actions{opacity:1}.p2-gradient{flex:1 1 0;height:26px;border:1px solid var(--g-line);border-radius:var(--p2-r-sm);cursor:pointer;transition:box-shadow .13s ease}.p2-gradient:hover{box-shadow:0 0 0 3px var(--p2-ring)}.p2-add-menu{position:relative}.p2-add-list{position:fixed;z-index:200;display:flex;flex-direction:column;min-width:120px;padding:5px;overflow-y:auto;scrollbar-width:none;background:var(--p2-glass-strong);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);border:1px solid var(--p2-hairline);border-radius:var(--p2-r, 12px);box-shadow:var(--p2-shadow, 0 8px 24px rgb(0 0 0 / 35%));animation:p2-pop .12s ease}.p2-add-list::-webkit-scrollbar{width:0;display:none}.p2-add-list button{flex:0 0 auto;padding:7px 9px;font:inherit;font-size:12px;color:var(--g-text);text-align:left;background:none;border:0;border-radius:var(--p2-r-sm, 8px);cursor:pointer;transition:background .12s ease}.p2-swatches{display:flex;flex-wrap:wrap;gap:5px;padding:2px 0}.p2-swatch{width:22px;height:22px;padding:0;border:1px solid var(--g-line, rgba(128, 128, 128, .4));border-radius:7px;cursor:pointer;box-shadow:inset 0 0 0 1px #ffffff26;transition:transform .13s ease,box-shadow .13s ease}.p2-swatch:hover{transform:scale(1.14);box-shadow:inset 0 0 0 1px #ffffff26,0 0 0 3px var(--p2-ring, rgba(76, 151, 255, .5))}.p2-swatch-add{display:inline-flex;align-items:center;justify-content:center;font-size:13px;line-height:1;color:var(--g-text-dim, #889);background:var(--g-elev, rgba(128, 128, 128, .12));box-shadow:none}.p2-comps{position:relative;display:flex;flex:0 0 auto;flex-direction:column;width:calc(var(--p2-layers-w, 216px) - 2px);border-bottom:1px solid var(--p2-hairline)}.p2-comps-grip{position:absolute;right:0;bottom:-4px;left:0;z-index:2;height:7px;cursor:ns-resize}.p2-comps-grip:after{position:absolute;top:3px;left:50%;width:28px;height:2px;content:"";background:var(--g-text-dim);border-radius:1px;opacity:0;transform:translate(-50%);transition:opacity .13s ease}.p2-comps-grip:hover:after{opacity:.55}.p2-comps-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:0 0 auto;height:34px;padding:0 8px 0 14px;font-size:11px;font-weight:700;color:var(--g-text-dim);letter-spacing:.04em}.p2-comps-add{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;color:var(--g-text-dim);background:transparent;border:0;border-radius:var(--p2-r-sm, 8px);cursor:pointer}.p2-comps-add:hover{color:var(--g-text);background:var(--g-hover)}.p2-comps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:0 10px 10px;overflow-y:auto;overflow-x:hidden}.p2-comps-grid::-webkit-scrollbar{width:0;height:0;display:none}.p2-comp{display:flex;flex-direction:column;align-items:center;gap:3px;width:100%;padding:5px 3px 4px;font:inherit;color:var(--g-text);background:var(--g-input);border:1px solid var(--g-line, rgba(128, 128, 128, .25));border-radius:var(--p2-r-sm, 8px);cursor:grab;transition:border-color .13s ease,background .13s ease}.p2-comp:hover{border-color:var(--g-accent);background:var(--g-hover)}.p2-comp:active{cursor:grabbing}.p2-comp-thumb{width:44px;height:44px}.p2-comp-name{max-width:100%;overflow:hidden;font-size:10px;line-height:1.2;color:var(--g-text-dim);text-overflow:ellipsis;white-space:nowrap}.p2-comp-menu{position:fixed;z-index:300;display:flex;flex-direction:column;min-width:104px;padding:3px;background:var(--g-panel);border:1px solid var(--g-line, rgba(128, 128, 128, .25));border-radius:var(--p2-r-sm, 8px);box-shadow:var(--p2-shadow)}.p2-comp-menu-name{padding:5px 8px 4px;overflow:hidden;font-size:10.5px;color:var(--g-text-dim);text-overflow:ellipsis;white-space:nowrap}.p2-comp-menu button{padding:5px 8px;font:inherit;font-size:11px;color:var(--g-text);text-align:left;background:transparent;border:0;border-radius:5px;cursor:pointer}.p2-comp-menu button:hover{background:var(--g-hover)}.p2-comp-menu button.is-danger:hover{color:#fff;background:var(--g-danger, #d9534f)}.p2-add-list button:hover{background:var(--g-hover)}.p2-hint{padding:12px;font-size:11.5px;line-height:1.75;color:var(--g-text-dim)}.p2-hint-tight{padding:2px 12px 4px}.p2-layers{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.p2-layers-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:0 0 auto;width:calc(var(--p2-layers-w, 216px) - 2px);height:34px;padding:0 8px 0 14px;font-size:11px;font-weight:700;color:var(--g-text-dim);letter-spacing:.06em;text-transform:uppercase}.p2-layers-title{flex:0 0 auto}.p2-layers-order{display:flex;align-items:center;gap:1px;flex:0 0 auto}.p2-order-btn{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:22px;height:22px;padding:0;color:var(--g-text-dim);background:none;border:0;border-radius:5px;cursor:pointer;transition:color .12s ease,background .12s ease,opacity .12s ease}.p2-order-btn:hover:not(:disabled){color:var(--g-text);background:var(--g-hover)}.p2-order-btn:disabled{opacity:.3;cursor:default}.p2-order-sep{flex:0 0 auto;width:1px;height:13px;margin:0 4px;background:var(--g-line, rgba(128, 128, 128, .35))}.p2-layers-list{flex:1 1 auto;min-height:0;width:calc(var(--p2-layers-w, 216px) - 2px);padding-bottom:6px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.p2-layer{display:flex;gap:5px;align-items:center;height:26px;padding-right:6px;font-size:11.5px;color:var(--g-text-dim);cursor:pointer;user-select:none;scroll-margin:6px 0}.p2-layer:hover{color:var(--g-text);background:var(--g-hover)}.p2-layer.is-on{color:var(--g-text);background:color-mix(in srgb,var(--g-accent) 22%,transparent);box-shadow:inset 2px 0 0 var(--g-accent, #4c97ff)}.p2-layer.is-on .p2-layer-name{font-weight:600}.p2-layer.is-drop{box-shadow:inset 0 2px 0 var(--g-accent, #4c97ff)}.p2-layer[draggable=true]{cursor:grab}.p2-layer.is-hidden .p2-layer-name,.p2-layer.is-hidden .p2-layer-icon{opacity:.45}.p2-layer-icon{display:flex;flex:0 0 auto;align-items:center}.p2-layer-thumb{width:22px;height:22px;border-radius:4px;border:1px solid var(--g-line, rgba(128, 128, 128, .3));background:repeating-conic-gradient(rgba(128,128,128,.12) 0% 25%,transparent 0% 50%) 50% / 8px 8px}.p2-layer-name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p2-layer-rename{flex:1 1 auto;min-width:0;height:20px;padding:0 4px;font:inherit;font-size:11.5px;color:var(--g-text);background:var(--g-panel);border:1px solid var(--g-accent);border-radius:4px;outline:none}.p2-layer-btn{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:22px;height:22px;color:var(--g-text-dim);background:none;border:0;border-radius:6px;opacity:0;cursor:pointer;transition:opacity .12s ease,color .12s ease,background .12s ease}.p2-layer:hover .p2-layer-btn,.p2-layer-btn.is-active{opacity:.75}.p2-layer-btn:hover{opacity:1;color:var(--g-text);background:var(--g-hover)}.p2-layer-btn.is-active{color:var(--g-accent)}.p2-text-input{position:absolute;z-index:4;min-width:12px;padding:0;overflow:hidden;white-space:pre;background:none;border:0;outline:1px dashed var(--g-accent);outline-offset:2px;resize:none;transform-origin:0 0}.p2-tools-bitmap{background:color-mix(in srgb,var(--g-accent) 12%,transparent)}.p2-mode{flex:0 0 auto;padding:3px 8px;margin-right:4px;font-size:11px;font-weight:600;color:#fff;background:var(--g-accent);border-radius:5px}.p2-mode-hint{flex:0 0 auto;font-size:11px;color:var(--g-text-dim);white-space:nowrap}.p2-brush{display:flex;flex:0 0 auto;gap:8px;align-items:center}.p2-tools-bitmap .p2-colour{flex:0 0 auto}.p2-tools-bitmap .p2-colour-hex{flex:0 0 auto;width:78px}.p2-brush-nums{display:flex;flex:0 0 auto;gap:6px;align-items:center;width:176px}.p2-brush-swatches{display:flex;gap:4px;align-items:center}.p2-canvascfg{position:relative}.p2-canvascfg-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:40;width:232px;padding:12px;background:var(--p2-glass-strong);-webkit-backdrop-filter:blur(20px) saturate(1.5);backdrop-filter:blur(20px) saturate(1.5);border:1px solid var(--p2-hairline);border-radius:var(--p2-r, 12px);box-shadow:0 16px 40px -12px #0000008c;animation:p2-pop .12s ease}.p2-canvascfg-head{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--g-text-dim)}.p2-canvascfg-cur{margin-top:8px;font-size:12px;color:var(--g-text-dim)}.p2-canvascfg-cur b{color:var(--g-text);font-variant-numeric:tabular-nums}.p2-canvascfg-label{margin:12px 0 6px;font-size:11px;color:var(--g-text-dim)}.p2-canvascfg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.p2-canvascfg-preset{height:30px;font:inherit;font-size:12px;color:var(--g-text);background:var(--g-input);border:1px solid transparent;border-radius:var(--p2-r-sm, 8px);cursor:pointer;font-variant-numeric:tabular-nums;transition:background .12s ease,border-color .12s ease}.p2-canvascfg-preset:hover{background:var(--g-hover)}.p2-canvascfg-preset.is-on{color:#fff;background:var(--g-accent);border-color:var(--g-accent)}.p2-canvascfg-apply{width:100%;height:32px;margin-top:10px;font:inherit;font-size:12px;font-weight:600;color:#fff;background:var(--g-accent);border:0;border-radius:var(--p2-r-sm, 8px);cursor:pointer;transition:filter .12s ease}.p2-canvascfg-apply:hover{filter:brightness(1.08)}.p2-canvascfg-hint{margin-top:8px;font-size:10.5px;line-height:1.6;color:var(--g-text-dim)}.p2-brush-swatches .p2-swatch{width:18px;height:18px;border-radius:5px}.p2-done{flex:0 0 auto;height:30px;padding:0 14px;margin-left:auto;white-space:nowrap;font:inherit;font-size:12px;font-weight:600;color:#fff;background:linear-gradient(180deg,color-mix(in srgb,var(--g-accent) 84%,#fff),var(--g-accent));border:0;border-radius:var(--p2-r-sm, 8px);box-shadow:0 3px 10px -4px var(--p2-ring, rgba(76, 151, 255, .5));cursor:pointer;transition:filter .13s ease,transform .13s ease}.p2-done:hover{filter:brightness(1.08)}.p2-done:active{transform:scale(.97)}.p2-more{position:relative;flex:0 0 auto}.p2-more-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:252px;padding:10px;background:var(--p2-glass-strong);-webkit-backdrop-filter:blur(20px) saturate(1.5);backdrop-filter:blur(20px) saturate(1.5);border:1px solid var(--p2-hairline);border-radius:var(--p2-r, 12px);box-shadow:0 16px 40px -12px #0000008c;animation:p2-pop .12s ease}.p2-more-row{display:flex;gap:8px;align-items:center;margin-top:8px}.p2-more-row:first-child{margin-top:0}.p2-more-label{flex:0 0 30px;font-size:11px;color:var(--g-text-dim)}.p2-more-panel .p2-brush-swatches{flex-wrap:wrap}.p2-more-panel .p2-brush-nums{flex:1 1 auto;width:auto}.p2-more-hint{font-size:11px;color:var(--g-text-dim)}.p2-tools-bitmap.is-tight{gap:2px}.p2-tools-bitmap.is-tight .p2-tool{width:30px;height:30px}.p2-tools-bitmap.is-tight .p2-colour-hex{display:none}.p2-tools-bitmap.is-tight .p2-sep{margin:0 2px}.p2-tools-bitmap.is-tight .p2-done{padding:0 10px}.p2-group-tool{position:relative;display:flex}.p2-group-tool.has-more .p2-tool-more{position:absolute;right:3px;bottom:3px;width:0;height:0;border-right:4px solid var(--g-text-dim);border-top:4px solid transparent;pointer-events:none}.p2-group-tool.has-more .p2-tool.is-on~.p2-tool-more{border-right-color:#ffffffb3}.p2-tool-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:30;display:none;flex-direction:column;min-width:156px;padding:5px;background:var(--p2-glass-strong);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);border:1px solid var(--p2-hairline);border-radius:var(--p2-r);box-shadow:var(--p2-shadow)}.p2-tool-menu:before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px}.p2-tool-menu{transform-origin:top left;animation:p2-pop .12s ease}@keyframes p2-pop{0%{opacity:0;transform:translateY(-4px) scale(.97)}}.p2-group-tool.has-more:hover .p2-tool-menu{display:flex}.p2-tool-menu button{display:flex;gap:8px;align-items:center;padding:5px 8px;font:inherit;font-size:12px;color:var(--g-text);text-align:left;background:none;border:0;border-radius:6px;cursor:pointer}.p2-tool-menu button:hover{background:var(--g-hover)}.p2-tool-menu button.is-on{color:#fff;background:var(--g-accent)}.p2-tool-menu-icon{display:flex;flex:0 0 auto;align-items:center;opacity:.85}.p2-tool-menu-name{flex:1 1 auto}.p2-tool-menu-key{flex:0 0 auto;font-size:11px;color:var(--g-text-dim)}.p2-tool-menu button.is-on .p2-tool-menu-key{color:#ffffffbf}.p2-sides{width:46px;height:24px;padding:0 4px;font:inherit;font-size:12px;color:var(--g-text);text-align:center;background:var(--g-input);border:1px solid transparent;border-radius:6px;outline:none}.p2-sides:focus{border-color:var(--g-accent)}.p2-context{position:fixed;z-index:60;display:flex;flex-direction:column;min-width:190px;padding:6px;background:var(--p2-glass-strong, var(--g-panel));-webkit-backdrop-filter:blur(20px) saturate(1.5);backdrop-filter:blur(20px) saturate(1.5);border:1px solid var(--p2-hairline, var(--g-line));border-radius:var(--p2-r, 12px);box-shadow:0 16px 40px -12px #0000008c;animation:p2-pop .12s ease}.p2-context button{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:7px 10px;font:inherit;font-size:12px;color:var(--g-text);text-align:left;background:none;border:0;border-radius:var(--p2-r-sm, 8px);cursor:pointer}.p2-context button:hover:not(:disabled){color:#fff;background:var(--g-accent)}.p2-context button:disabled{opacity:.35;cursor:default}.p2-context-key{font-size:11px;color:var(--g-text-dim)}.p2-context button:hover:not(:disabled) .p2-context-key{color:#ffffffbf}.p2-context-line{height:1px;margin:4px 6px;background:var(--g-line)}.action-menu{position:relative;display:flex;flex-direction:column-reverse;border-radius:50%;box-shadow:0 5px 10px #00000059}:root[data-theme=light] .action-menu{box-shadow:0 4px 12px #00000024}:root[data-theme=light] .action-menu-more-outer{border:1px solid var(--g-line);border-bottom:0}.action-menu-btn{display:flex;align-items:center;justify-content:center;width:var(--action-menu-size);height:var(--action-menu-size);padding:0;background:var(--g-accent);border:0;cursor:pointer;transition:background .16s ease}.action-menu-btn img{width:calc(var(--action-menu-size) / 2);height:calc(var(--action-menu-size) / 2)}.action-menu-btn.is-main{border-radius:50%;position:relative;z-index:2}.action-menu-btn.is-main:hover{filter:brightness(1.12)}.action-menu-btn.is-more{background:var(--g-panel-head)}.action-menu-btn.is-more:hover{background:var(--g-hover)}:root[data-theme=light] .action-menu-btn.is-more img{filter:invert(1) brightness(.35)}.action-menu-more-outer{position:absolute;bottom:var(--action-menu-size);width:var(--action-menu-size);margin-bottom:calc(var(--action-menu-size) / -2);padding-bottom:calc(var(--action-menu-size) / 2);overflow-y:hidden;background:var(--g-panel-head);border-top-left-radius:var(--action-menu-size);border-top-right-radius:var(--action-menu-size)}.action-menu:not(.is-open) .action-menu-more-outer{visibility:hidden;transition:visibility 0s .4s}.action-menu-more{display:flex;flex-direction:column;max-height:0;overflow-x:visible;transition:max-height .4s ease}.action-menu.is-open .action-menu-more{max-height:400px}.action-menu-more .action-menu-btn:first-child{border-top-left-radius:var(--action-menu-size);border-top-right-radius:var(--action-menu-size)}.paint-panel{--p2-edge: 12px;--p2-layers-w: 216px;--p2-dock-w: 288px;--p2-lane-l: calc(var(--p2-edge) * 2 + var(--p2-layers-w));--p2-lane-r: calc(var(--p2-edge) * 2 + var(--p2-dock-w));position:relative;display:flex;width:100%;height:100%}.paint-stage{position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-width:0;overflow:hidden;background:var(--g-panel, #1a1f29);color:var(--g-text, #e6e8ee)}.paint-editor-host{position:relative;flex:1 1 auto;min-height:0}.paint-editor-host>*{width:100%;height:100%}.paint-stage>.panel-placeholder{flex:1 1 auto}.p2-timeline{position:absolute;left:var(--p2-lane-l);right:var(--p2-lane-r);bottom:var(--p2-edge);z-index:6;transition:left .2s ease,right .2s ease;display:flex;flex-direction:column;overflow:hidden;color:var(--g-text, #e6e8ee);background:color-mix(in srgb,var(--g-panel, #2b2f3a) 68%,transparent);-webkit-backdrop-filter:blur(22px) saturate(1.6);backdrop-filter:blur(22px) saturate(1.6);border:1px solid color-mix(in srgb,var(--g-line, #556) 70%,transparent);border-radius:13px;box-shadow:0 8px 28px -14px #0009}.p2-tl-header{display:flex;align-items:center;gap:7px;flex:0 0 auto;height:34px;padding:0 12px;font:inherit;font-size:12px;color:var(--g-text, #e6e8ee);background:none;border:0;cursor:pointer;transition:background .13s ease}.p2-tl-header:hover{background:color-mix(in srgb,var(--g-text, #fff) 5%,transparent)}.p2-tl-header em{padding:1px 7px;font-style:normal;font-size:11px;color:var(--g-text-dim, #aab);background:color-mix(in srgb,var(--g-text, #fff) 8%,transparent);border-radius:6px;font-variant-numeric:tabular-nums}.p2-tl-chev{margin-left:auto;color:var(--g-text-dim, #aab);transition:transform .2s ease}.p2-timeline.is-collapsed .p2-tl-chev{transform:rotate(-90deg)}.p2-timeline.is-collapsed:hover .p2-tl-chev{transform:none}.p2-tl-body{display:flex;flex-direction:column;gap:7px;max-height:220px;padding:2px 12px 12px;overflow:hidden;opacity:1;transition:max-height .22s ease,opacity .18s ease,padding .22s ease}.p2-timeline.is-collapsed .p2-tl-body{max-height:0;padding-top:0;padding-bottom:0;opacity:0;pointer-events:none}.p2-timeline.is-collapsed:hover .p2-tl-body{max-height:220px;padding-top:2px;padding-bottom:12px;opacity:1;pointer-events:auto}.p2-tl-controls{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.p2-tl-controls>*{flex:0 0 auto}.p2-tl-cluster{display:inline-flex;align-items:center;gap:2px;padding:3px;background:color-mix(in srgb,var(--g-text, #fff) 6%,transparent);border-radius:10px}.p2-tl-play,.p2-tl-toggle{display:inline-flex;align-items:center;justify-content:center;width:30px;height:28px;padding:0;color:var(--g-text-dim, #aab);background:none;border:0;border-radius:7px;cursor:pointer;transition:color .13s ease,background .13s ease,transform .13s ease}.p2-tl-play{color:var(--g-text, #e6e8ee)}.p2-tl-play:hover,.p2-tl-toggle:hover{color:var(--g-text, #fff);background:color-mix(in srgb,var(--g-text, #fff) 10%,transparent)}.p2-tl-play:active,.p2-tl-toggle:active{transform:scale(.9)}.p2-tl-play.is-on,.p2-tl-toggle.is-on{color:#fff;background:var(--g-accent, #4c97ff);box-shadow:0 3px 10px -4px var(--g-accent, #4c97ff)}.p2-tl-play:disabled,.p2-tl-toggle:disabled,.p2-tl-text:disabled{opacity:.35;cursor:default}.p2-tl-cluster .p2-number{width:74px;height:26px;background:none}.p2-tl-select,.p2-tl-text{height:30px;font:inherit;font-size:12px;color:var(--g-text, #e6e8ee);background:color-mix(in srgb,var(--g-text, #fff) 6%,transparent);border:1px solid transparent;border-radius:9px;cursor:pointer;transition:background .13s ease,border-color .13s ease}.p2-tl-select{display:inline-flex;align-items:center;gap:3px;padding:0 6px 0 9px}.p2-tl-text{display:inline-flex;align-items:center;gap:5px;padding:0 12px}.p2-tl-select:hover,.p2-tl-text:hover:not(:disabled){background:color-mix(in srgb,var(--g-text, #fff) 12%,transparent)}.p2-tl-select.is-open{border-color:var(--g-accent, #4c97ff)}.p2-tl-export{margin-left:auto}.p2-tl-count{font-size:12px;color:var(--g-text-dim, #aab);font-variant-numeric:tabular-nums}.p2-tl-count i{margin:0 1px;font-style:normal;opacity:.5}.p2-tl-track-wrap{position:relative}.p2-tl-track{display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;padding:1px 44px 4px 1px;scrollbar-width:none;-ms-overflow-style:none}.p2-tl-new{position:absolute;right:calc(var(--p2-lane-r) + 12px);bottom:calc(var(--p2-edge) + 12px);z-index:12;transition:right .2s ease,opacity .16s ease}.paint-stage:has(.p2-tl-new:hover) .p2-timeline.is-collapsed .p2-tl-body{max-height:220px;padding-top:2px;padding-bottom:12px;opacity:1;pointer-events:auto}.paint-stage:has(.p2-tl-new:hover) .p2-timeline.is-collapsed .p2-tl-chev{transform:none}.p2-tl-scope{display:flex;align-items:center;gap:4px;padding:0 2px 6px}.p2-tl-scope button{display:flex;align-items:center;gap:4px;padding:3px 9px;font:inherit;font-size:11px;color:var(--g-text-dim);background:none;border:1px solid transparent;border-radius:999px;cursor:pointer;transition:background .12s ease,color .12s ease}.p2-tl-scope button:hover{color:var(--g-text);background:var(--g-hover)}.p2-tl-scope button.is-on{color:var(--g-accent);background:color-mix(in srgb,var(--g-accent) 12%,transparent);border-color:color-mix(in srgb,var(--g-accent) 35%,transparent)}.p2-tl-scope-at{font-size:11px;color:var(--g-text-dim);opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p2-tl-cell.is-dragging{opacity:.4}.p2-tl-cell.is-over{box-shadow:-2px 0 0 var(--g-accent)}.p2-tl-menu{position:fixed;z-index:300;display:flex;flex-direction:column;min-width:132px;padding:5px;background:var(--p2-glass-strong, var(--g-panel));-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);border:1px solid var(--p2-hairline, var(--g-line));border-radius:12px;box-shadow:0 12px 32px -12px #00000080}.p2-tl-menu-name{padding:4px 9px 6px;font-size:11px;color:var(--g-text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p2-tl-menu button{padding:7px 9px;font:inherit;font-size:12px;color:var(--g-text);text-align:left;background:none;border:0;border-radius:8px;cursor:pointer;transition:background .12s ease}.p2-tl-menu button:hover{background:var(--g-hover)}.p2-tl-menu button.is-danger:hover{color:#fff;background:var(--g-danger)}.p2-tl-track::-webkit-scrollbar{width:0;height:0;display:none}.p2-tl-cell{position:relative;display:flex;flex-direction:column;flex:0 0 auto;width:50px;padding:0;background:none;border:0;cursor:pointer}.p2-tl-thumb{display:block;width:50px;height:38px;overflow:hidden;background:repeating-conic-gradient(rgba(128,128,128,.14) 0% 25%,transparent 0% 50%) 50% / 12px 12px,color-mix(in srgb,var(--g-panel, #2b2f3a) 60%,#fff 4%);border:1.5px solid color-mix(in srgb,var(--g-line, #556) 80%,transparent);border-radius:9px;transition:border-color .13s ease,transform .13s ease,box-shadow .13s ease}.p2-tl-cell:hover .p2-tl-thumb{transform:translateY(-2px);border-color:color-mix(in srgb,var(--g-accent, #4c97ff) 60%,transparent)}.p2-tl-thumb img{width:100%;height:100%;object-fit:contain}.p2-tl-cell.is-current .p2-tl-thumb{border-color:var(--g-accent, #4c97ff);box-shadow:0 0 0 2px color-mix(in srgb,var(--g-accent, #4c97ff) 45%,transparent)}.p2-tl-num{display:block;margin-top:3px;font-size:10px;line-height:1.3;text-align:center;color:var(--g-text-dim, #aab);font-variant-numeric:tabular-nums}.p2-tl-cell.is-current .p2-tl-num{color:var(--g-accent, #4c97ff);font-weight:700}.paint-elsewhere{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;height:100%;padding:24px;text-align:center;color:var(--g-text-dim)}.paint-elsewhere-what{font-size:14px;color:var(--g-text)}.paint-elsewhere-why{max-width:34ch;font-size:12px;line-height:1.7}.paint-elsewhere-take{padding:6px 14px;font:inherit;font-size:13px;color:#fff;background:var(--g-accent);border:0;border-radius:6px;cursor:pointer}.paint-panel.is-w-md,.paint-panel.is-w-sm,.paint-panel.is-w-xs{--p2-layers-w: 184px;--p2-dock-w: 240px}.paint-panel.is-dock-off{--p2-lane-r: 34px}.paint-panel .p2-dock{width:var(--p2-dock-w);transition:transform .22s ease,opacity .16s ease,width .2s ease}.paint-panel.is-dock-off .p2-dock{transform:translate(calc(100% + 20px));opacity:0;pointer-events:none}.paint-dock-handle{position:absolute;top:50%;right:calc(var(--p2-edge) + var(--p2-dock-w) - 1px);z-index:11;display:flex;align-items:center;justify-content:center;width:16px;height:48px;padding:0;transform:translateY(-50%);color:var(--g-text-dim, #aab);background:color-mix(in srgb,var(--g-panel, #2b2f3a) 78%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid color-mix(in srgb,var(--g-line, #556) 70%,transparent);border-right:0;border-radius:9px 0 0 9px;cursor:pointer;transition:right .2s ease,color .13s ease,background .13s ease}.paint-dock-handle:hover{color:var(--g-text, #fff);background:color-mix(in srgb,var(--g-panel, #2b2f3a) 94%,transparent)}.paint-panel.is-dock-off .paint-dock-handle{right:var(--p2-edge);border-right:1px solid color-mix(in srgb,var(--g-line, #556) 70%,transparent);border-radius:9px}.paint-panel.is-dock-off:has(.paint-dock-edge:hover) .paint-dock-handle,.paint-panel.is-dock-off:has(.p2-dock:hover) .paint-dock-handle{right:calc(var(--p2-edge) + var(--p2-dock-w) - 1px);border-right:0;border-radius:9px 0 0 9px}.paint-dock-edge{position:absolute;right:0;top:0;bottom:0;z-index:7;width:calc(var(--p2-edge) + 10px)}.paint-panel.is-dock-off:has(.paint-dock-edge:hover) .p2-dock,.paint-panel.is-dock-off:has(.paint-dock-handle:hover) .p2-dock,.paint-panel.is-dock-off:has(.p2-dock:hover) .p2-dock{transform:translate(0);opacity:1;pointer-events:auto}.paint-panel.is-w-sm .p2-tools,.paint-panel.is-w-xs .p2-tools{gap:2px;padding:5px}.paint-panel.is-w-sm .p2-tool,.paint-panel.is-w-xs .p2-tool{width:30px;height:30px}.paint-panel.is-w-sm .p2-zoom button,.paint-panel.is-w-xs .p2-zoom button{min-width:24px;padding:0 5px}.paint-panel.is-w-md .asset-tile{width:64px;min-height:64px;margin:5px auto}.paint-panel.is-w-sm .asset-tile{width:56px;min-height:56px;margin:5px auto}.paint-panel.is-w-xs .asset-tile{width:44px;min-height:44px;margin:4px auto}.paint-panel.is-w-md .asset-tile-art,.paint-panel.is-w-sm .asset-tile-art{height:34px}.paint-panel.is-w-md .asset-tile-art img,.paint-panel.is-w-sm .asset-tile-art img{max-width:34px;max-height:34px}.paint-panel.is-w-xs .asset-tile-art{height:30px}.paint-panel.is-w-xs .asset-tile-art img{max-width:30px;max-height:30px}.paint-panel.is-w-xs .asset-tile-name,.paint-panel.is-w-xs .asset-tile-sub{display:none}.paint-panel.is-w-xs .asset-add{padding:8px 4px}.record-backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;background:#00000073}.record{display:flex;flex-direction:column;gap:14px;width:min(520px,92vw);padding:20px;background:var(--g-panel);border:1px solid var(--g-line-strong);border-radius:12px;box-shadow:0 20px 50px #00000073}.record-head{font-size:16px;font-weight:600;color:var(--g-text)}.record-error{padding:8px 10px;font-size:12px;color:#fff;background:var(--g-danger);border-radius:8px}.record-hint{font-size:12px;color:var(--g-text-dim);text-align:center}.record-meter{height:10px;overflow:hidden;background:var(--g-page);border:1px solid var(--g-line-strong);border-radius:100px}.record-meter-fill{height:100%;background:var(--g-accent);transition:width .06s linear}.record-button{align-self:center;padding:10px 28px;font:inherit;font-size:13px;color:#fff;background:var(--g-accent);border:0;border-radius:100px;cursor:pointer}.record-button.is-on{background:var(--g-danger)}.record-wave{width:100%;height:90px;background:var(--g-page);border:1px solid var(--g-line);border-radius:8px}.record-trim{display:flex;flex-direction:column;gap:6px}.record-trim label{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--g-text-dim)}.record-trim input{flex:1 1 auto}.record-foot{display:flex;justify-content:flex-end;gap:10px}.record-foot button{padding:8px 20px;font:inherit;font-size:13px;border-radius:8px;cursor:pointer}.record-foot .is-ghost{color:var(--g-text-dim);background:none;border:1px solid var(--g-line-strong)}.record-foot .is-ghost:hover{color:var(--g-text)}.record-foot .is-primary{color:#fff;background:var(--g-accent);border:0}.s2.s2-tb.is-toolbar{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:var(--s2-2);height:var(--s2-toolbar);min-height:var(--s2-toolbar);padding:0 var(--s2-3);background:var(--s2-glass);overflow:visible}.s2-tb>*{flex:0 0 auto;min-width:0;white-space:nowrap}.s2-tb .s2-tb-key:not(.is-primary):not(.is-on){background:transparent;border-color:transparent}.s2-tb .s2-tb-key:not(.is-primary):hover:not(:disabled){background:var(--g-hover);border-color:transparent}.s2-tb .s2-tb-clock{display:inline-flex;align-items:center;justify-content:center;min-width:calc(var(--s2-fs-readout) * 11);padding:0 var(--s2-2)}.s2-tb .s2-tb-now{display:inline-block;font-variant-numeric:tabular-nums;contain:layout paint}.s2-tb .s2-tb-fields,.s2-tb .s2-tb-field{display:inline-flex;align-items:center;gap:var(--s2-2)}.s2-tb .s2-tb-name{color:var(--g-text-dim);font-size:var(--s2-fs-dim)}.s2-tb .s2-tb-field>.s2-input{height:var(--s2-h-sm);padding:0 var(--s2-2);border-radius:var(--s2-r-xs);font-size:var(--s2-fs-dim)}.s2-tb .s2-tb-more{min-width:var(--s2-h-sm)}.s2-tb .s2-tb-menu .s2-row>.s2-select,.s2-tb .s2-tb-menu .s2-row>.s2-input{flex:1 1 auto;min-width:0}.s2-tb .s2-tb-menu>.s2-btn{justify-content:flex-start}.s2-ins{gap:0;min-width:0}.s2-ins .s2-ins-title{display:flex;flex:0 0 auto;flex-direction:column;gap:1px;padding:0 0 var(--s2-3);font-size:var(--s2-fs)}.s2-ins .s2-ins-title-name{color:var(--g-text);font-weight:600;line-height:1.4;overflow-wrap:anywhere}.s2-ins .s2-ins-title-kind{color:var(--g-text-dim);font-size:var(--s2-fs-dim);line-height:1.4;overflow-wrap:anywhere}.s2-ins .s2-section-body>.s2-btn{align-self:flex-start}.s2-ins .s2-ins-wide{width:100%}.s2-ins .s2-ins-pair{display:flex;gap:var(--s2-2)}.s2-ins .s2-ins-pair>.s2-btn{flex:1 1 0;min-width:0}.s2-ins .s2-ins-steps{display:flex;flex:1 1 auto;align-items:center;justify-content:flex-end;gap:var(--s2-1);min-width:0}.s2-ins .s2-row>.s2-label,.s2-ins .s2-row>.s2-value{flex-shrink:1;overflow-wrap:anywhere}.s2-ins .s2-fx-list{display:flex;flex-direction:column}.s2-ins .s2-fx{display:flex;flex-direction:column;gap:var(--s2-2);padding:var(--s2-1) 0;border:0;border-radius:0;background:none}.s2-ins .s2-fx+.s2-fx{border-top:var(--s2-border)}.s2-ins .s2-fx.is-off{opacity:.5}.s2-ins .s2-fx-head{display:flex;align-items:center;gap:var(--s2-2);min-width:0}.s2-ins .s2-fx-name{flex:1 1 auto;min-width:0;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.s2-ins .s2-fx-head .s2-btn:not(.is-on){border-color:transparent;background:none}.s2-ins .s2-fx-head .s2-btn:not(.is-on):hover:not(:disabled){border-color:transparent;background:var(--g-hover)}.s2-ins .s2-fx-caret svg{transition:transform var(--s2-fast)}.s2-ins .s2-fx-caret.is-open svg{transform:rotate(90deg)}.s2-ins .s2-fx-body{display:flex;flex-direction:column;gap:var(--s2-2);min-width:0;padding:0 0 var(--s2-2) var(--s2-3)}.s2-ins .s2-fx-add{display:flex;flex-wrap:wrap;gap:var(--s2-2)}.s2-wave,.s2-sp{position:relative;display:flex;flex:1 1 auto;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.s2-wave:hover .s2-float.is-tools,.s2-sp:hover .s2-float.is-tools{opacity:1}.s2-wave .s2-float.is-tools,.s2-sp .s2-float.is-tools{top:var(--s2-float);left:var(--s2-float)}.s2-wave>.s2-empty>svg,.s2-sp>.s2-empty>svg{width:32px;height:32px;opacity:.45}.s2-wave .s2-empty-title,.s2-sp .s2-empty-title{color:var(--g-text)}.s2-wave .s2-empty-hint,.s2-sp .s2-empty-hint{max-width:240px;margin-top:var(--s2-2);color:var(--g-text-dim);font-size:var(--s2-fs-dim);line-height:1.6;white-space:normal;overflow-wrap:anywhere}.s2-wave .s2-overflow>.s2-btn,.s2-sp .s2-overflow>.s2-btn{justify-content:flex-start;width:100%}.s2-wave .s2-pop-title,.s2-sp .s2-pop-title{color:var(--g-text-dim);font-size:var(--s2-fs-dim);font-weight:600;letter-spacing:.04em}.s2-wave .s2-btn.s2-more,.s2-sp .s2-btn.s2-more{min-width:var(--s2-h-sm)}.s2-wave .s2-badge,.s2-sp .s2-badge{position:absolute;z-index:5;padding:var(--s2-1) var(--s2-3);border:var(--s2-border);border-radius:var(--s2-r);background:var(--s2-glass);color:var(--g-text-dim);font-size:var(--s2-fs-dim);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none}.s2-wave .s2-dim,.s2-sp .s2-dim{opacity:.65}.s2-wave-stage{position:absolute;inset:0;touch-action:none;outline:none}.s2-wave-stage:focus-visible:after{content:"";position:absolute;inset:0;border:1px solid var(--s2-ring);pointer-events:none}.s2-wave-layer{position:absolute;left:0;display:block;width:100%;pointer-events:none}.s2-wave-ruler{top:0}.s2-wave-over{top:0;bottom:0;height:100%}.s2-wave-badge{left:50%;bottom:var(--s2-float);transform:translate(-50%);max-width:calc(100% - var(--s2-6));white-space:normal;text-align:center}.s2-wave-note{position:absolute;z-index:5;top:calc(var(--s2-float) + var(--s2-h-lg) + var(--s2-3));left:var(--s2-float);padding:var(--s2-1) var(--s2-3);border:var(--s2-border);border-radius:var(--s2-r);background:var(--s2-glass);color:var(--g-text-dim);font-size:var(--s2-fs-dim);pointer-events:none}.s2-wave .s2-wave-more{right:auto;left:0}.s2-sp-stage{position:absolute;inset:0;touch-action:none;outline:none}.s2-sp-stage:focus-visible:after{content:"";position:absolute;inset:0;border:1px solid var(--s2-ring);pointer-events:none}.s2-sp-axis{position:absolute;top:0;left:0;display:block;height:100%;border-right:var(--s2-border);background:var(--s2-well);pointer-events:none}.s2-sp-canvas{position:absolute;top:0;display:block;height:100%;pointer-events:none}.s2-sp-badge{left:var(--s2-float);bottom:var(--s2-float)}.s2-sp .s2-float.is-tools.s2-sp-gear{left:auto;right:calc(var(--s2-float) + var(--s2-rail-tab) + var(--s2-3))}.s2-sp .s2-sp-pop{min-width:264px}.s2-sp .s2-sp-more{right:auto;left:0;min-width:288px}.s2-sp-actions{display:flex;justify-content:flex-end;gap:var(--s2-2);margin-top:var(--s2-1)}.s2-sp-tools{position:absolute;inset:0;z-index:2;display:block;height:auto;pointer-events:none}.s2-sp-tools>*{pointer-events:auto}.s2-float.s2-sp-float{left:50%;bottom:var(--s2-float);transform:translate(-50%);flex-direction:column;align-items:stretch;gap:var(--s2-2);max-width:calc(100% - var(--s2-6));padding:var(--s2-3) var(--s2-4);border-radius:var(--s2-r-lg)}.s2-sp-float-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2-2)}.s2-sp-float-row>.s2-slider{flex:0 1 148px;min-width:88px}.s2-sp-label{flex:0 0 auto;color:var(--g-text-dim);font-size:var(--s2-fs-dim);white-space:nowrap}.s2-sp-num{flex:0 0 auto;min-width:48px;color:var(--g-text-dim);font-size:var(--s2-fs-dim);font-variant-numeric:tabular-nums;white-space:nowrap}.s2-sp-tools>.s2-sp-tip{left:50%;bottom:var(--s2-float);transform:translate(-50%);max-width:calc(100% - var(--s2-6));white-space:normal;text-align:center;pointer-events:none}.s2-sp .s2-loading-icon{animation:s2-breathe 1.4s ease-in-out infinite}.s2-sp .s2-sp-bar{flex:none;width:120px;height:3px;border-radius:2px;overflow:hidden;background:var(--s2-well)}.s2-sp .s2-sp-bar>i{display:block;height:100%;background:var(--g-accent);transition:width .12s linear}@keyframes s2-breathe{0%,to{opacity:.35}50%{opacity:1}}.s2.s2-roll{--s2-roll-ruler: 22px;--s2-key-white: color-mix(in srgb, var(--g-text) 88%, var(--g-panel));--s2-key-black: var(--g-bg);--s2-key-line: color-mix(in srgb, var(--g-bg) 42%, transparent);--s2-key-ink: var(--g-bg);display:flex;flex:1 1 auto;flex-direction:column;min-width:0;min-height:0;padding:0}:root[data-theme=light] .s2.s2-roll{--s2-key-white: var(--g-panel);--s2-key-black: color-mix(in srgb, var(--g-text) 86%, var(--g-panel));--s2-key-line: color-mix(in srgb, var(--g-text) 18%, transparent);--s2-key-ink: var(--g-text-dim)}.s2-roll:focus,.s2-roll:focus-visible{outline:none}.s2-roll-crumb{display:flex;flex:0 0 auto;align-items:center;gap:var(--s2-2);height:var(--s2-h);padding:0 var(--s2-3);border-bottom:var(--s2-border);background:var(--g-panel);font-size:var(--s2-fs);white-space:nowrap}.s2-roll-crumb-back{flex:0 0 auto;padding:0 var(--s2-2);border:0;border-radius:var(--s2-r-xs);background:transparent;color:var(--g-text-dim);font:inherit;line-height:var(--s2-h-sm);cursor:pointer;transition:background var(--s2-fast),color var(--s2-fast)}.s2-roll-crumb-back:hover{background:var(--s2-raised);color:var(--g-text)}.s2-roll-crumb-sep{flex:0 0 auto;color:var(--g-text-dim)}.s2-roll-crumb-name{flex:0 1 auto;min-width:0;overflow:hidden;color:var(--g-text)}.s2-roll-body{display:flex;flex:1 1 auto;min-height:0;background:var(--s2-well)}.s2-roll-main{position:relative;display:flex;flex:1 1 auto;flex-direction:column;min-width:0;min-height:0}.s2-roll-keys{display:flex;flex:0 0 var(--s2-keys);flex-direction:column;min-height:0;border-right:var(--s2-border)}.s2-roll-keys-head{flex:1 1 auto;min-height:var(--s2-roll-ruler);border-bottom:var(--s2-border)}.s2-roll-keys-list{position:relative;flex:0 0 auto;min-height:0;overflow:hidden;background:var(--s2-key-white)}.s2-roll-key{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:flex-end;padding-right:var(--s2-2);background:var(--s2-key-white);box-shadow:inset 0 -1px 0 var(--s2-key-line);cursor:pointer;overflow:hidden;transition:background var(--s2-fast)}.s2-roll-key.is-black{z-index:1;right:38%;justify-content:flex-start;padding-right:0;background:var(--s2-key-black);border-radius:0 var(--s2-r-xs) var(--s2-r-xs) 0;box-shadow:none}.s2-roll-key:hover{background:color-mix(in srgb,var(--g-accent) 32%,var(--s2-key-white))}.s2-roll-key.is-black:hover{background:color-mix(in srgb,var(--g-accent) 45%,var(--s2-key-black))}.s2-roll-key:active{background:var(--g-accent)}.s2-roll-key-name{color:var(--s2-key-ink);font-size:var(--s2-fs-dim);line-height:1;white-space:nowrap;pointer-events:none}.s2-roll .s2-roll-ruler{flex:0 0 var(--s2-roll-ruler);height:var(--s2-roll-ruler);min-height:0;border-bottom:var(--s2-border);cursor:text}.s2-roll-grid{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;touch-action:none}.s2-roll-layer{position:absolute;inset:0;pointer-events:none}.s2-roll-grid[data-tool=draw]{cursor:crosshair}.s2-roll-grid[data-tool=select]{cursor:default}.s2-roll-grid[data-tool=velocity]{cursor:ns-resize}.s2-roll-blank{position:absolute;inset:0;display:flex;flex-direction:column;pointer-events:none}.s2-roll .s2-float.is-tools{position:absolute;z-index:10;top:calc(var(--s2-roll-ruler) + var(--s2-float));left:var(--s2-float);display:flex;align-items:center;gap:var(--s2-2);height:var(--s2-h-lg);padding:0 var(--s2-3);border:var(--s2-border);border-radius:var(--s2-r-lg);background:var(--s2-glass);box-shadow:var(--s2-shadow);opacity:.35;transition:opacity var(--s2-slow)}.s2-roll-main:hover .s2-float.is-tools,.s2-roll .s2-float.is-tools:focus-within,.s2-roll .s2-float.is-tools.is-open{opacity:1}.s2-roll-tag{flex:0 0 auto;padding-left:var(--s2-1);color:var(--g-text-dim);font-size:var(--s2-fs-dim);letter-spacing:.02em;white-space:nowrap}.s2-roll-pop-host{position:relative;display:inline-flex}.s2-roll-pop{position:absolute;z-index:20;top:calc(100% + var(--s2-3));left:auto;right:0;display:flex;flex-direction:column;gap:var(--s2-2);width:252px;padding:var(--s2-4);border:var(--s2-border);border-radius:var(--s2-r);background:var(--s2-glass);box-shadow:var(--s2-shadow);white-space:normal}.s2-roll-pop-sep{height:1px;margin:var(--s2-1) 0;background:var(--s2-hairline)}.s2-roll-pop .s2-group{flex:1 1 0;min-width:0}.s2-roll-pop .s2-group>.s2-btn{flex:1 1 0;min-width:0}.s2-roll-pop .s2-select{flex:1 1 auto;min-width:0}.s2-trk{display:flex;flex-direction:column;min-width:0}.s2-trk-list .s2-empty>div{display:flex;flex-direction:column;align-items:center;gap:var(--s2-4)}.s2-trk-row{display:flex;align-items:stretch;gap:var(--s2-3);min-width:0;padding-right:var(--s2-1);cursor:pointer;transition:background var(--s2-fast),opacity var(--s2-fast)}.s2-trk-row+.s2-trk-row{margin-top:calc(0px - var(--s2-1));border-top:var(--s2-border)}.s2-trk-row:hover{background:var(--g-hover)}.s2-trk-row.is-on{background:var(--s2-wash)}.s2-trk-row.is-dim{opacity:.45}.s2-trk-row.is-drop{box-shadow:inset 0 2px 0 var(--g-accent)}.s2-trk-colour{flex:0 0 3px;align-self:stretch;margin:var(--s2-2) 0;border-radius:var(--s2-r-xs)}.s2-trk-stack{display:flex;flex:1 1 auto;flex-direction:column;min-width:0}.s2-trk-line{display:flex;flex:0 0 auto;align-items:center;gap:var(--s2-2);height:var(--s2-h);min-width:0}.s2-trk-kind{flex:0 0 auto;color:var(--g-text-dim);opacity:.8}.s2-trk-name{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.s2 .s2-input.s2-trk-rename{flex:1 1 auto;min-width:0;height:var(--s2-h-sm)}.s2 .s2-btn.s2-trk-flag{flex:0 0 auto;width:var(--s2-h-sm);padding:0;font-size:var(--s2-fs-dim);letter-spacing:0}.s2 .s2-btn.s2-trk-flag:not(.is-on){border-color:transparent;background:none;color:var(--g-text-dim)}.s2 .s2-btn.s2-trk-flag:not(.is-on):hover:not(:disabled){border-color:var(--s2-hairline);background:var(--g-hover);color:var(--g-text)}.s2-trk-mix{display:flex;flex:0 0 auto;flex-direction:column;min-width:0;padding-bottom:var(--s2-2)}.s2-trk-mix-row{display:flex;align-items:center;gap:var(--s2-2);min-width:0;height:var(--s2-h-sm)}.s2-trk-mix-icon{flex:0 0 auto;color:var(--g-text-dim)}.s2-trk-mix .s2-slider{flex:1 1 auto;min-width:0;height:var(--s2-h-sm)}.s2-trk-menu{position:fixed;z-index:40;display:flex;flex-direction:column;gap:var(--s2-1);min-width:160px;padding:var(--s2-2);border:var(--s2-border);border-radius:var(--s2-r);background:var(--s2-glass);box-shadow:var(--s2-shadow)}.s2 .s2-btn.s2-trk-menu-item{justify-content:flex-start;width:100%;border-color:transparent;background:none}.s2 .s2-btn.s2-trk-menu-item:hover:not(:disabled){border-color:transparent;background:var(--g-hover)}.s2-trk-swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s2-2);margin:var(--s2-1) 0;padding:var(--s2-2) var(--s2-1);border-top:var(--s2-border);border-bottom:var(--s2-border);justify-items:center}.s2 .s2-btn.s2-trk-swatch{width:18px;height:18px;min-width:0;padding:0;border-color:transparent;border-radius:50%;transition:transform var(--s2-fast),border-color var(--s2-fast)}.s2 .s2-btn.s2-trk-swatch:hover:not(:disabled){border-color:var(--g-text);transform:scale(1.12)}.s2.s2-arr{--s2-arr-ruler: 22px;--s2-arr-head: var(--s2-lane);display:flex;flex:1 1 auto;flex-direction:column;min-width:0;min-height:0;padding:0}.s2-arr:focus,.s2-arr:focus-visible{outline:none}.s2-arr-body{display:flex;flex:1 1 auto;min-height:0;background:var(--s2-well)}.s2-arr-main{position:relative;display:flex;flex:1 1 auto;flex-direction:column;min-width:0;min-height:0}.s2-arr-heads{display:flex;flex:0 0 var(--s2-arr-head);flex-direction:column;min-height:0;border-right:var(--s2-border);background:var(--g-panel)}.s2-arr-heads-top{flex:0 0 var(--s2-arr-ruler);height:var(--s2-arr-ruler);border-bottom:var(--s2-border)}.s2-arr-heads-clip{position:relative;flex:1 1 auto;min-height:0;overflow:hidden}.s2-arr-heads-list{position:absolute;inset:0 0 auto;will-change:transform}.s2-arr-head{display:flex;align-items:center;gap:var(--s2-2);padding:0 var(--s2-3) 0 0;border-bottom:var(--s2-border);cursor:pointer;transition:background var(--s2-fast)}.s2-arr-head:hover{background:var(--g-hover)}.s2-arr-head.is-on{background:var(--s2-wash)}.s2-arr-head.is-dim{opacity:.5}.s2-arr-head-colour{flex:0 0 auto;align-self:stretch;width:3px}.s2-arr-head-stack{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--s2-1);min-width:0;padding-left:var(--s2-2)}.s2-arr-head-line{display:flex;align-items:center;gap:var(--s2-2);min-width:0}.s2-arr-head-name{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.s2 .s2-btn.s2-arr-flag{flex:0 0 auto;width:20px;padding:0;font-size:var(--s2-fs-dim)}.s2-arr-head-inst,.s2-trk-inst{display:flex;align-items:center;gap:var(--s2-2);max-width:100%;height:var(--s2-h-sm);padding:0 var(--s2-2) 0 0;border:0;border-radius:var(--s2-r-xs);background:none;color:var(--g-text-dim);font-size:var(--s2-fs-dim);text-align:left;cursor:pointer;transition:color var(--s2-fast),background var(--s2-fast)}.s2-arr-head-inst:hover,.s2-trk-inst:hover{background:var(--g-hover);color:var(--g-text)}.s2-arr-head-inst-name,.s2-trk-inst{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.s2-trk-inst{padding-left:21px}.s2-arr-heads-foot{display:flex;padding:var(--s2-3)}.s2-arr .s2-arr-ruler{flex:0 0 var(--s2-arr-ruler);height:var(--s2-arr-ruler);min-height:0;border-bottom:var(--s2-border);cursor:text}.s2-arr-grid{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;touch-action:none}.s2-arr-layer{position:absolute;inset:0;pointer-events:none}.s2-arr-blank{position:absolute;inset:0;display:flex;flex-direction:column;pointer-events:none}.s2-arr .s2-float.is-arr-tools{position:absolute;z-index:10;bottom:var(--s2-float);left:var(--s2-float);display:flex;align-items:center;gap:var(--s2-2);height:var(--s2-h-lg);padding:0 var(--s2-3);border:var(--s2-border);border-radius:var(--s2-r-lg);background:var(--s2-glass);box-shadow:var(--s2-shadow);opacity:.35;transition:opacity var(--s2-slow)}.s2-arr-main:hover .s2-float.is-arr-tools,.s2-arr .s2-float.is-arr-tools:focus-within{opacity:1}.s2-arr-tag{flex:0 0 auto;color:var(--g-text-dim);font-size:var(--s2-fs-dim);letter-spacing:.02em;white-space:nowrap}.s2-arr-menu{position:fixed;z-index:40;display:flex;flex-direction:column;gap:var(--s2-1);min-width:168px;padding:var(--s2-2);border:var(--s2-border);border-radius:var(--s2-r);background:var(--s2-glass);box-shadow:var(--s2-shadow)}.s2 .s2-btn.s2-arr-menu-item{justify-content:flex-start;width:100%;border-color:transparent;background:none}.s2 .s2-btn.s2-arr-menu-item:hover:not(:disabled){border-color:transparent;background:var(--g-hover)}.s2-arr-menu-input{width:100%}.s2-arr-swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s2-2);margin:var(--s2-1) 0;padding:var(--s2-2) var(--s2-1);border-top:var(--s2-border);border-bottom:var(--s2-border);justify-items:center}.s2 .s2-btn.s2-arr-swatch{width:18px;height:18px;min-width:0;padding:0;border-color:transparent;border-radius:50%;transition:transform var(--s2-fast),border-color var(--s2-fast)}.s2 .s2-btn.s2-arr-swatch:hover:not(:disabled){border-color:var(--g-text);transform:scale(1.12)}.s2-inst-pick{position:fixed;z-index:40;display:flex;flex-direction:column;gap:var(--s2-2);width:320px;padding:var(--s2-3);border:var(--s2-border);border-radius:var(--s2-r);background:var(--s2-glass);box-shadow:var(--s2-shadow)}.s2-inst-search{width:100%}.s2-inst-cols{display:flex;gap:var(--s2-3);min-height:0}.s2-inst-families,.s2-inst-list{display:flex;flex-direction:column;gap:1px;height:232px;overflow-y:auto}.s2-inst-families{flex:0 0 96px;border-right:var(--s2-border);padding-right:var(--s2-2)}.s2-inst-list{flex:1 1 auto;min-width:0}.s2-inst-family,.s2-inst-item{flex:0 0 auto;height:var(--s2-h-sm);padding:0 var(--s2-2);border:0;border-radius:var(--s2-r-xs);background:none;color:var(--g-text);font-size:var(--s2-fs-dim);text-align:left;white-space:nowrap;cursor:pointer;transition:background var(--s2-fast)}.s2-inst-family:hover,.s2-inst-item:hover{background:var(--g-hover)}.s2-inst-family.is-on,.s2-inst-item.is-on{background:var(--s2-wash);color:var(--g-text)}.s2-inst-none{padding:var(--s2-3) var(--s2-2);color:var(--g-text-dim);font-size:var(--s2-fs-dim)}.s2-pr{--s2-pr-keys: 68px;--s2-pr-ruler: 24px;display:flex;flex:1 1 auto;flex-direction:column;gap:var(--s2-3);min-width:0;min-height:0;padding:var(--s2-3)}.s2-pr:focus{outline:none}.s2-pr:focus-visible{outline:none}.s2-pr-bar{display:flex;flex:0 0 auto;align-items:center;gap:var(--s2-2);flex-wrap:wrap;min-height:var(--s2-h)}.s2-pr-tag,.s2-dg-tag{flex:0 0 auto;color:var(--g-text-dim);font-size:12px;letter-spacing:.02em}.s2-pr-gap,.s2-dg-gap{flex:1 1 auto;min-width:var(--s2-2)}.s2-pr-pos{flex:0 0 auto;min-width:76px;color:var(--g-text-dim);font-size:12px;font-variant-numeric:tabular-nums;text-align:right}.s2-pr-body{display:flex;flex:1 1 auto;min-height:0}.s2-pr-keys{display:flex;flex:0 0 var(--s2-pr-keys);flex-direction:column;min-height:0;border-right:var(--s2-border)}.s2-pr-keys-head{flex:0 0 var(--s2-pr-ruler);border-bottom:var(--s2-border)}.s2-pr-keys-list{position:relative;flex:1 1 auto;min-height:0;overflow:hidden}.s2-pr-key{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:flex-end;padding-right:var(--s2-2);background:var(--s2-raised);box-shadow:inset 0 -1px 0 var(--s2-hairline);cursor:pointer;transition:background var(--s2-fast)}.s2-pr-key.is-black{right:22%;background:var(--g-bg);box-shadow:none;border-radius:0 var(--s2-r-xs) var(--s2-r-xs) 0;z-index:1}.s2-pr-key:hover{background:var(--s2-accent-wash)}.s2-pr-key:active{background:var(--s2-ring-soft)}.s2-pr-key-name{color:var(--g-text-dim);font-size:10px;line-height:1;pointer-events:none}.s2-pr-main{display:flex;flex:1 1 auto;flex-direction:column;min-width:0;min-height:0}.s2-pr-ruler{flex:0 0 var(--s2-pr-ruler);height:var(--s2-pr-ruler);border-bottom:var(--s2-border);cursor:text}.s2-pr-grid{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;touch-action:none}.s2-pr-layer{position:absolute;inset:0;pointer-events:none}.s2-pr-grid[data-tool=draw]{cursor:crosshair}.s2-pr-grid[data-tool=select]{cursor:default}.s2-pr-grid[data-tool=velocity]{cursor:ns-resize}.s2-pr-blank{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--g-text-dim);pointer-events:none}.s2-tl{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;width:232px;border-right:var(--s2-border)}.s2-tl-title{flex:0 0 auto;padding:var(--s2-3) var(--s2-3) var(--s2-2);color:var(--g-text-dim);font-size:12px;letter-spacing:.06em}.s2-tl-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:0 var(--s2-2) var(--s2-2);display:flex;flex-direction:column;gap:var(--s2-1)}.s2-tl-blank{padding:var(--s2-4) var(--s2-2);color:var(--g-text-dim);font-size:12px;line-height:1.6}.s2-tl-row{position:relative;display:flex;gap:var(--s2-2);padding:var(--s2-2) var(--s2-2) var(--s2-2) 0;border:1px solid transparent;border-radius:var(--s2-r-sm);background:transparent;cursor:pointer;transition:background var(--s2-fast),border-color var(--s2-fast),box-shadow var(--s2-fast),opacity var(--s2-fast)}.s2-tl-row:hover{background:var(--g-hover)}.s2-tl-row.is-on{background:var(--s2-raised);border-color:var(--s2-ring);box-shadow:var(--s2-glow)}.s2-tl-row.is-dim{opacity:.45}.s2-tl-row.is-drop{border-color:var(--g-accent)}.s2-tl-colour{flex:0 0 3px;align-self:stretch;margin-left:var(--s2-1);border-radius:var(--s2-r-xs)}.s2-tl-main{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--s2-1);min-width:0}.s2-tl-head{display:flex;align-items:center;gap:var(--s2-1);min-width:0}.s2-tl-name{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.s2 .s2-input.s2-tl-rename{flex:1 1 auto;min-width:0;height:var(--s2-h-sm);font-size:13px}.s2 .s2-btn.s2-tl-flag{flex:0 0 auto;width:var(--s2-h-sm);padding:0;font-size:11px;letter-spacing:0}.s2-tl-inst{display:flex;align-items:center;gap:var(--s2-1);min-width:0}.s2 .s2-select.s2-tl-select{flex:1 1 auto;min-width:0;height:var(--s2-h-sm);font-size:12px}.s2-tl-mix{display:flex;align-items:center;gap:var(--s2-1);min-width:0}.s2-tl-mix-icon{flex:0 0 auto;color:var(--g-text-dim)}.s2-tl-mix .s2-slider{flex:1 1 0;min-width:0;height:var(--s2-h-sm)}.s2-tl-foot{flex:0 0 auto;padding:var(--s2-2) var(--s2-3) var(--s2-3);border-top:var(--s2-border)}.s2-tl-menu,.s2-dg-menu{position:fixed;z-index:40;display:flex;flex-direction:column;gap:var(--s2-1);padding:var(--s2-2);min-width:150px;box-shadow:var(--s2-shadow-lg)}.s2-dg-menu{flex-direction:row;align-items:center;min-width:0}.s2-dg-menu-tag{padding-right:var(--s2-1);color:var(--g-text-dim);font-size:12px}.s2 .s2-btn.s2-tl-menu-item{justify-content:flex-start;width:100%}.s2-tl-swatches{display:grid;grid-template-columns:repeat(8,1fr);gap:var(--s2-1);padding:var(--s2-1) 0;border-top:var(--s2-border);border-bottom:var(--s2-border);margin:var(--s2-1) 0}.s2 .s2-btn.s2-tl-swatch{width:18px;height:18px;min-width:0;padding:0;border-radius:50%;border-color:transparent;box-shadow:none}.s2 .s2-btn.s2-tl-swatch:hover:not(:disabled){border-color:var(--g-text);transform:scale(1.12)}.s2-dg{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--s2-3);min-width:0;min-height:0;padding:var(--s2-3)}.s2-dg-bar{display:flex;flex:0 0 auto;align-items:center;gap:var(--s2-1);flex-wrap:wrap;min-height:var(--s2-h)}.s2-dg-body{display:flex;flex:1 1 auto;min-height:0;overflow:hidden}.s2-dg-names{display:flex;flex:0 0 96px;flex-direction:column;border-right:var(--s2-border)}.s2-dg-name{display:flex;align-items:center;padding:0 var(--s2-2);color:var(--g-text-dim);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:color var(--s2-fast)}.s2-dg-name:hover{color:var(--g-text)}.s2-dg-scroll{flex:1 1 auto;min-width:0;overflow:auto}.s2-dg-steps{position:relative;display:flex;align-items:center;border-bottom:var(--s2-border)}.s2-dg-step{flex:0 0 auto;color:var(--g-text-dim);font-size:10px;line-height:1;text-align:center;opacity:.5}.s2-dg-step.is-beat{color:var(--g-text);opacity:.8}.s2-dg-cells{position:relative;touch-action:none}.s2-dg-cell{position:absolute;display:block;padding:4px 2px;background-clip:content-box;box-shadow:inset 1px 0 0 var(--s2-hairline);cursor:pointer;transition:opacity var(--s2-fast)}.s2-dg-cell.is-beat{box-shadow:inset 1px 0 0 var(--s2-hairline),inset 2px 0 0 var(--s2-hairline)}.s2-dg-cell.is-bar{box-shadow:inset 1px 0 0 var(--g-line-strong)}.s2-dg-cell:not(.is-on):after{content:"";position:absolute;left:50%;top:50%;width:2px;height:2px;margin:-1px 0 0 -1px;border-radius:50%;background:var(--g-text-dim);opacity:.35}.s2-dg-cell:not(.is-on):hover{background:var(--s2-accent-wash);background-clip:content-box}.s2-dg-cell.is-on{border-radius:var(--s2-r-xs)}.s2-dg-cell.is-soft{opacity:.4}.s2-dg-cell.is-mid{opacity:.72}.s2-dg-cell.is-loud{opacity:1}.s2-dg-cell.is-head{outline:1px solid var(--s2-ring);outline-offset:-1px}.s2-inst{min-width:0;container-type:inline-size;container-name:s2inst}.s2-inst-head{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:center;gap:var(--s2-2) var(--s2-3);min-height:var(--s2-toolbar);padding:var(--s2-2) var(--s2-4);border-bottom:var(--s2-border)}.s2-inst-title{display:flex;align-items:center;gap:var(--s2-2);min-width:0;font-size:var(--s2-fs);font-weight:600}.s2-inst-title>span{min-width:0;overflow-wrap:anywhere}.s2-inst-title svg{flex:0 0 auto;color:var(--g-accent)}.s2-inst-tools{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--s2-2)}.s2-inst-label{flex:0 0 auto;color:var(--g-text-dim);font-size:var(--s2-fs-dim)}.s2-preset{flex:1 1 auto;min-width:120px;max-width:180px}.s2-inst-note{display:flex;flex:0 0 auto;align-items:flex-start;gap:var(--s2-2);padding:var(--s2-3) var(--s2-4);border-bottom:var(--s2-border);background:var(--s2-wash);color:var(--g-text);font-size:var(--s2-fs);line-height:1.5}.s2-inst-note svg{flex:0 0 auto;margin-top:2px;color:var(--g-accent)}.s2-inst-save{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:center;gap:var(--s2-2);padding:var(--s2-3) var(--s2-4);border-bottom:var(--s2-border);background:var(--s2-well)}.s2-save-name{flex:1 1 140px;min-width:0}.s2-inst-save .s2-hint{flex:1 1 100%;min-width:0}.s2-inst-body{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--s2-3);min-width:0;min-height:0;padding:var(--s2-3) var(--s2-4) var(--s2-5);overflow-x:hidden;overflow-y:auto}.s2-sec-tag{color:var(--g-text-dim);font-size:var(--s2-fs-dim);font-weight:400;letter-spacing:0}.s2-inst-foot{display:flex;flex:0 0 auto;align-items:center;padding:var(--s2-3) var(--s2-4);border-top:var(--s2-border)}.s2-mod{display:flex;flex-direction:column;gap:var(--s2-2);min-width:0}.s2-mod+.s2-mod,.s2-smp-tune>*+.s2-mod,.s2-smp-drums>*+.s2-mod{padding-top:var(--s2-3);border-top:var(--s2-border)}.s2-mod-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2-1) var(--s2-2);min-width:0;min-height:var(--s2-h-sm);color:var(--g-text)}.s2-mod-toggle{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;gap:var(--s2-1) var(--s2-2);min-width:0;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:color var(--s2-fast)}.s2-mod-toggle:hover{color:var(--g-accent)}.s2-mod-toggle .s2-caret{flex:0 0 auto;color:var(--g-text-dim);transition:transform var(--s2-fast)}.s2-mod-toggle.is-open .s2-caret{transform:rotate(90deg)}.s2-mod-title{flex:0 0 auto;font-size:var(--s2-fs-dim);font-weight:600;letter-spacing:.04em}.s2-mod-badge{flex:1 1 auto;min-width:0;color:var(--g-text-dim);font-size:var(--s2-fs-dim);font-weight:400;line-height:1.5;overflow-wrap:anywhere}.s2-mod-right{display:flex;flex:0 0 auto;align-items:center;gap:var(--s2-1);margin-left:auto}.s2-mod-body{display:flex;flex-direction:column;gap:var(--s2-3);min-width:0;padding-bottom:var(--s2-1)}.s2-knobs{display:grid;grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:var(--s2-4) var(--s2-3);align-items:start;min-width:0}.s2-ctl{display:flex;flex-direction:column;align-items:center;gap:var(--s2-1);min-width:0;text-align:center}.s2-ctl>.s2-hint{width:100%;text-wrap:pretty}.s2-ctl.is-wide{grid-column:1 / -1;align-items:stretch;text-align:left}@container s2inst (min-width: 400px){.s2-ctl.is-wide{grid-column:span 2}}.s2-ctl-label{color:var(--g-text-dim);font-size:var(--s2-fs-dim)}.s2-ctl-body{display:flex;align-items:center;gap:var(--s2-1);width:100%;min-width:0}.s2-ctl-body>.s2-select,.s2-ctl-body>.s2-group{flex:1 1 auto;min-width:0}.s2-env-wrap{display:flex;flex-direction:column;gap:var(--s2-2);min-width:0}.s2-env{height:96px;border:var(--s2-border);border-radius:var(--s2-r-sm);background:var(--s2-well);cursor:crosshair}.s2-keys-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2-2) var(--s2-3);width:100%;min-width:0}.s2-keys-oct{display:flex;flex:0 0 auto;order:1;align-items:center;gap:var(--s2-1)}.s2-keys-name{min-width:30px;color:var(--g-text-dim);font-size:var(--s2-fs-dim);text-align:center}.s2-flip svg{transform:rotate(180deg)}.s2-keys{position:relative;display:flex;flex:1 1 100%;order:4;height:64px;min-width:0;border:var(--s2-border);border-radius:var(--s2-r-xs) var(--s2-r-xs) var(--s2-r-sm) var(--s2-r-sm);background:var(--g-line-strong);overflow:hidden;touch-action:none}.s2-key{flex:1 1 0;min-width:0;margin-right:1px;border-radius:0 0 var(--s2-r-xs) var(--s2-r-xs);background:var(--g-thumb);cursor:pointer;transition:background var(--s2-fast)}.s2-key:last-of-type{margin-right:0}.s2-key.is-black{position:absolute;top:0;z-index:2;height:62%;margin:0;border-radius:0 0 var(--s2-r-xs) var(--s2-r-xs);background:var(--g-blocks-field-text);transform:translate(-50%)}.s2-key:hover{background:color-mix(in srgb,var(--g-accent) 22%,var(--g-thumb))}.s2-key.is-black:hover{background:color-mix(in srgb,var(--g-accent) 35%,var(--g-blocks-field-text))}.s2-key.is-lit,.s2-key.is-black.is-lit{background:var(--g-accent)}.s2-keys-caption{flex:0 1 auto;order:2;color:var(--g-text-dim);font-size:var(--s2-fs-dim)}.s2-keys-right{display:flex;flex:0 0 auto;order:3;align-items:center;gap:var(--s2-2);margin-left:auto}@container s2inst (min-width: 520px){.s2-keys-bar{flex-wrap:nowrap}.s2-keys-oct,.s2-keys,.s2-keys-caption,.s2-keys-right{order:0}.s2-keys{flex:1 1 auto}.s2-keys-caption{white-space:nowrap}.s2-keys-right{margin-left:0}}.s2-smp-new{display:flex;flex-direction:column;align-items:center;gap:var(--s2-4);padding:var(--s2-5) var(--s2-4);border:1px dashed var(--s2-hairline);border-radius:var(--s2-r-lg);background:var(--s2-well);text-align:center}.s2-smp-slot{color:var(--g-text-dim);font-size:var(--s2-fs-dim)}.s2-smp-take{display:flex;flex-direction:column;align-items:center;gap:var(--s2-3);max-width:340px;min-width:0}.s2-rec{display:flex;align-items:center;justify-content:center;gap:var(--s2-2);min-height:var(--s2-h-lg);padding:0 var(--s2-5);border:var(--s2-border);border-radius:var(--s2-r-sm);background:var(--s2-raised);color:var(--g-text);font:inherit;font-size:var(--s2-fs);cursor:pointer;touch-action:none;transition:background var(--s2-fast),border-color var(--s2-fast),box-shadow var(--s2-fast)}.s2-rec svg{flex:0 0 auto;color:var(--g-danger)}.s2-rec:hover:not(:disabled){background:var(--g-hover);border-color:var(--g-line-strong)}.s2-rec:disabled{opacity:.38;cursor:default}.s2-rec.is-on{background:var(--s2-danger-wash);border-color:color-mix(in srgb,var(--g-danger) 60%,transparent);animation:s2-rec-pulse 1.2s ease-in-out infinite}@keyframes s2-rec-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--g-danger) 45%,transparent)}50%{box-shadow:0 0 0 8px transparent}}.s2-smp-or,.s2-smp-rule{display:flex;align-items:center;gap:var(--s2-3);width:100%;color:var(--g-text-dim);font-size:var(--s2-fs-dim)}.s2-smp-or:before,.s2-smp-or:after,.s2-smp-rule:before,.s2-smp-rule:after{content:"";flex:1 1 auto;height:1px;background:var(--s2-hairline)}.s2-smp-alts{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s2-2);width:100%;min-width:0}.s2-smp-alts>.s2-select{flex:1 1 140px;min-width:0}.s2-file{display:inline-flex;flex:0 0 auto;cursor:pointer}.s2-file input{display:none}.s2-smp-done{display:flex;flex-direction:column;gap:var(--s2-3);width:100%;min-width:0}.s2-check{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2-1) var(--s2-2);min-height:var(--s2-h-sm);min-width:0;color:var(--g-text);font-size:var(--s2-fs);line-height:1.5;text-align:left}.s2-check>svg{flex:0 0 auto;color:var(--g-accent)}.s2-check>span{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.s2-check.is-soft{color:var(--g-text-dim)}.s2-check.is-soft>svg{color:var(--g-text-dim)}.s2-check-fix{display:flex;flex:0 0 auto;align-items:center;gap:var(--s2-2);margin-left:auto;color:var(--g-text-dim);font-size:var(--s2-fs-dim)}.s2-smp-play{display:flex;align-items:center;gap:var(--s2-2);min-height:var(--s2-h);padding:var(--s2-2) var(--s2-3);border-radius:var(--s2-r-sm);background:var(--s2-wash);font-size:var(--s2-fs);line-height:1.5;text-align:left}.s2-smp-play svg{flex:0 0 auto;color:var(--g-accent)}.s2-smp-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--s2-2)}.s2-smp-tune,.s2-smp-drums{display:flex;flex-direction:column;gap:var(--s2-3);min-width:0}.s2-map{height:88px;border:var(--s2-border);border-radius:var(--s2-r-sm);background:var(--s2-well);cursor:ew-resize}.s2-smp-wave{height:112px;border:var(--s2-border);border-radius:var(--s2-r-sm);background:var(--s2-well);cursor:ew-resize}.s2-smp-zone-foot{display:flex;justify-content:flex-end}.s2-pads{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s2-2)}@container s2inst (min-width: 560px){.s2-pads{grid-template-columns:repeat(8,minmax(0,1fr))}}.s2-pad{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s2-1);min-height:60px;padding:var(--s2-4) var(--s2-2) var(--s2-2);border:var(--s2-border);border-radius:var(--s2-r-sm);background:var(--s2-well);color:var(--g-text-dim);cursor:pointer;transition:background var(--s2-fast),border-color var(--s2-fast)}.s2-pad:hover{border-color:var(--g-line-strong);background:var(--g-hover)}.s2-pad.is-filled{background:var(--s2-wash);border-color:var(--s2-ring);color:var(--g-text)}.s2-pad-key{position:absolute;top:var(--s2-1);left:var(--s2-2);color:var(--g-text-dim);font-size:var(--s2-fs-dim)}.s2-pad-name{max-width:100%;font-size:var(--s2-fs-dim);line-height:1.4;text-align:center;overflow-wrap:anywhere}.s2-pad-x{position:absolute;top:var(--s2-1);right:var(--s2-1);display:flex;padding:2px;border:0;border-radius:var(--s2-r-xs);background:none;color:var(--g-text-dim);cursor:pointer;opacity:0;transition:opacity var(--s2-fast),color var(--s2-fast)}.s2-pad:hover .s2-pad-x,.s2-pad-x:focus-visible{opacity:1}.s2-pad-x:hover{color:var(--g-danger)}@container s2inst (max-width: 280px){.s2-inst-head,.s2-inst-note,.s2-inst-save,.s2-inst-body,.s2-inst-foot,.s2-smp-new{padding-right:var(--s2-3);padding-left:var(--s2-3)}.s2-check-fix{width:100%;margin-left:0}}.s2.s2-ch{display:flex;flex-direction:column;gap:var(--s2-3);height:auto}.s2-ch-head{color:var(--g-text);font-size:var(--s2-fs-dim);font-weight:600;letter-spacing:.04em;white-space:normal;overflow-wrap:anywhere}.s2-ch-block{display:flex;flex-direction:column;gap:var(--s2-3);min-width:0}.s2-ch-block+.s2-ch-block{padding-top:var(--s2-3);border-top:var(--s2-border)}.s2-ch-caption{color:var(--g-text-dim);font-size:var(--s2-fs-dim);font-weight:600;letter-spacing:.04em}.s2-ch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2-2)}.s2-ch-cell.s2-btn{flex-direction:column;gap:0;height:auto;min-width:0;padding:var(--s2-3) var(--s2-2);white-space:normal;overflow-wrap:anywhere}.s2-ch-name{font-size:var(--s2-fs-readout);line-height:1.25}.s2-ch-roman{color:var(--g-text-dim);font-size:var(--s2-fs-dim);line-height:1.4}.s2-ch-cell.s2-btn:hover:not(:disabled) .s2-ch-roman{color:var(--g-text)}.s2-ch-progs{display:flex;flex-direction:column;gap:var(--s2-2)}.s2-ch-prog.s2-btn{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:var(--s2-1);width:100%;height:auto;min-width:0;padding:var(--s2-3);text-align:left;white-space:normal}.s2-ch-prog-name{font-weight:600;line-height:1.4;overflow-wrap:anywhere}.s2-ch-prog .s2-hint{align-self:stretch;white-space:normal;text-align:left}.s2-ch .s2-row>.s2-select{flex:1 1 auto}.s2-ch-follow.s2-group{display:flex}.s2-ch-follow.s2-group>.s2-btn{flex:1 1 0;min-width:0}.s2.s2-kb{display:flex;flex-direction:column;gap:var(--s2-3);height:auto}.s2-kb-head{display:flex;align-items:center;gap:var(--s2-3);min-height:var(--s2-h-sm)}.s2-kb-caption{color:var(--g-text-dim);font-size:var(--s2-fs-dim);font-weight:600;letter-spacing:.04em}.s2-kb-oct{display:flex;align-items:center;gap:var(--s2-2);margin-left:auto}.s2-kb-oct-value{min-width:26px;text-align:center;font-variant-numeric:tabular-nums}.s2-kb-down svg{transform:rotate(90deg)}.s2-kb-up svg{transform:rotate(-90deg)}.s2-kb-keys{position:relative;height:132px;border:var(--s2-border);border-radius:var(--s2-r-sm);background:var(--s2-well);overflow:hidden;touch-action:none}.s2-kb-whites{display:flex;height:100%}.s2-kb-key{display:flex;align-items:flex-end;justify-content:center;box-sizing:border-box;height:100%;padding-bottom:var(--s2-2);border-right:var(--s2-border);background:var(--s2-raised);cursor:pointer;touch-action:none;transition:background var(--s2-fast)}.s2-kb-key:last-child{border-right:0}.s2-kb-key:hover{background:var(--g-hover)}.s2-kb-key.is-black{position:absolute;top:0;z-index:2;height:62%;padding:0;border:var(--s2-border);border-top:0;border-radius:0 0 var(--s2-r-xs) var(--s2-r-xs);background:color-mix(in srgb,var(--g-bg) 85%,var(--g-line));transform:translate(-50%)}.s2-kb-key.is-in-scale{box-shadow:inset 0 -3px 0 -1px var(--s2-ring)}.s2-kb-key.is-held,.s2-kb-key.is-black.is-held{background:var(--g-accent)}.s2-kb-name{color:var(--g-text-dim);font-size:var(--s2-fs-dim);line-height:1;pointer-events:none}.s2-kb-key.is-held .s2-kb-name{color:var(--g-on-accent)}.s2-kb-map{display:flex;flex-direction:column;gap:var(--s2-1)}.s2-kb-map-line{display:flex;gap:var(--s2-3);align-items:baseline}.s2-kb-map-label{flex:0 0 auto;min-width:38px}.s2-kb-map-keys{flex:1 1 auto;min-width:0;color:var(--g-text);white-space:normal;overflow-wrap:anywhere}.s2{--s2-r-xs: 4px;--s2-r-sm: 6px;--s2-r: 9px;--s2-r-lg: 13px;--s2-1: 2px;--s2-2: 4px;--s2-3: 8px;--s2-4: 12px;--s2-5: 20px;--s2-6: 32px;--s2-h-sm: 24px;--s2-h: 28px;--s2-h-lg: 32px;--s2-toolbar: 40px;--s2-float: 12px;--s2-lane: 200px;--s2-rail: 296px;--s2-rail-tab: 40px;--s2-keys: 56px;--s2-fs: 12px;--s2-fs-dim: 11px;--s2-fs-readout: 16px;--s2-panel: var(--g-panel);--s2-well: color-mix(in srgb, var(--g-bg) 72%, var(--g-panel));--s2-raised: color-mix(in srgb, var(--g-text) 5%, var(--g-panel));--s2-glass: var(--g-panel);--s2-hairline: color-mix(in srgb, var(--g-line) 85%, transparent);--s2-border: 1px solid var(--s2-hairline);--s2-shadow: 0 10px 30px -14px rgb(0 0 0 / 60%), 0 1px 3px -1px rgb(0 0 0 / 28%);--s2-ring: color-mix(in srgb, var(--g-accent) 60%, transparent);--s2-wash: color-mix(in srgb, var(--g-accent) 16%, transparent);--s2-danger-wash: color-mix(in srgb, var(--g-danger) 16%, transparent);--s2-fast: .11s cubic-bezier(.4, 0, .2, 1);--s2-slow: .22s cubic-bezier(.4, 0, .2, 1);--s2-accent-wash: var(--s2-wash);--s2-ring-soft: color-mix(in srgb, var(--g-accent) 22%, transparent);--s2-glass-strong: color-mix(in srgb, var(--g-panel) 96%, transparent);--s2-glow: 0 0 0 1px var(--s2-ring);--s2-shadow-sm: 0 1px 2px rgb(0 0 0 / 16%);--s2-shadow-lg: var(--s2-shadow);--s2-r-xl: var(--s2-r-lg);display:flex;flex-direction:column;height:100%;min-height:0;color:var(--g-text);background:var(--g-bg);font-feature-settings:"tnum" 1;font-size:var(--s2-fs);user-select:none}.s2 .s2{height:auto;min-height:0;flex:1 1 auto;background:none}.s2 button,.s2 select,.s2 input,.s2 textarea{font:inherit}.s2-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2-2);height:var(--s2-h);padding:0 var(--s2-3);border:var(--s2-border);border-radius:var(--s2-r-sm);background:var(--s2-raised);color:var(--g-text);font:inherit;white-space:nowrap;cursor:pointer;transition:background var(--s2-fast),border-color var(--s2-fast),color var(--s2-fast)}.s2-btn:hover:not(:disabled){background:var(--g-hover);border-color:var(--g-line-strong)}.s2-btn:disabled{opacity:.38;cursor:default}.s2-btn.is-on{background:var(--s2-wash);border-color:var(--s2-ring);color:var(--g-text)}.s2-btn.is-danger.is-on{background:var(--s2-danger-wash);border-color:color-mix(in srgb,var(--g-danger) 60%,transparent)}.s2-btn.is-icon{width:var(--s2-h);padding:0}.s2-btn.is-lg{height:var(--s2-h-lg);padding:0 var(--s2-4)}.s2-btn.is-sm{height:var(--s2-h-sm);padding:0 var(--s2-2);border-radius:var(--s2-r-xs);font-size:var(--s2-fs-dim)}.s2-btn.is-sm.is-icon{width:var(--s2-h-sm)}.s2-btn.is-primary{background:var(--g-accent);border-color:transparent;color:var(--g-on-accent)}.s2-btn.is-primary:hover:not(:disabled){background:color-mix(in srgb,var(--g-accent) 86%,var(--g-text));border-color:transparent}.s2-group{display:inline-flex;padding:1px;gap:1px;border:var(--s2-border);border-radius:var(--s2-r-sm);background:var(--s2-well)}.s2-group>.s2-btn{border-color:transparent;background:transparent}.s2-group>.s2-btn:hover:not(:disabled){background:var(--g-hover);border-color:transparent}.s2-group>.s2-btn.is-on{background:var(--s2-raised);border-color:var(--s2-hairline)}.s2-section{display:flex;align-items:center;gap:var(--s2-2);width:100%;height:var(--s2-h-sm);padding:0;border:0;background:none;color:var(--g-text-dim);font:inherit;font-size:var(--s2-fs-dim);font-weight:600;letter-spacing:.04em;cursor:pointer}.s2-section:hover{color:var(--g-text)}.s2-section .s2-caret{transition:transform var(--s2-fast)}.s2-section.is-open .s2-caret{transform:rotate(90deg)}.s2-section-body{display:flex;flex-direction:column;gap:var(--s2-3);padding:var(--s2-2) 0 var(--s2-4)}.s2-sec+.s2-sec{border-top:var(--s2-border);padding-top:var(--s2-3)}.s2-sec-right{margin-left:auto;display:flex;align-items:center;gap:var(--s2-1)}.s2-row{display:flex;align-items:center;gap:var(--s2-3);min-height:var(--s2-h)}.s2-row>.s2-label{flex:0 0 auto;min-width:42px;color:var(--g-text-dim);font-size:var(--s2-fs-dim)}.s2-row>.s2-value{flex:0 0 auto;min-width:38px;text-align:right;color:var(--g-text-dim);font-size:var(--s2-fs-dim);font-variant-numeric:tabular-nums}.s2-hint{color:var(--g-text-dim);font-size:var(--s2-fs-dim);line-height:1.5;white-space:normal;overflow-wrap:anywhere}.s2-slider{flex:1 1 auto;min-width:0;height:var(--s2-h);appearance:none;background:none;cursor:pointer}.s2-slider::-webkit-slider-runnable-track{height:3px;border-radius:var(--s2-r-xs);background:var(--s2-well);box-shadow:inset 0 0 0 1px var(--s2-hairline)}.s2-slider::-webkit-slider-thumb{appearance:none;width:11px;height:11px;margin-top:-4px;border:0;border-radius:50%;background:var(--g-text);transition:transform var(--s2-fast),background var(--s2-fast)}.s2-slider:hover::-webkit-slider-thumb{transform:scale(1.15)}.s2-slider:active::-webkit-slider-thumb,.s2-slider:focus-visible::-webkit-slider-thumb{background:var(--g-accent)}.s2-slider:focus-visible{outline:none}.s2-select{height:var(--s2-h);min-width:0;padding:0 var(--s2-2);border:var(--s2-border);border-radius:var(--s2-r-sm);background:var(--s2-raised);color:var(--g-text);font:inherit;cursor:pointer;transition:background var(--s2-fast),border-color var(--s2-fast)}.s2-select:hover{background:var(--g-hover);border-color:var(--g-line-strong)}.s2-select:focus-visible{outline:none;border-color:var(--s2-ring)}.s2-select.is-sm{height:var(--s2-h-sm);font-size:var(--s2-fs-dim)}.s2-input{height:var(--s2-h);min-width:0;padding:0 var(--s2-2);border:var(--s2-border);border-radius:var(--s2-r-sm);background:var(--s2-well);color:var(--g-text);font:inherit;font-variant-numeric:tabular-nums;transition:border-color var(--s2-fast)}.s2-input:focus-visible{outline:none;border-color:var(--s2-ring)}.s2-input::-webkit-outer-spin-button,.s2-input::-webkit-inner-spin-button{appearance:none;margin:0}.s2-readout{display:inline-flex;align-items:baseline;gap:var(--s2-2);font-size:var(--s2-fs-readout);font-variant-numeric:tabular-nums;letter-spacing:.01em;color:var(--g-text)}.s2-readout .s2-readout-dim{color:var(--g-text-dim)}.s2-readout .s2-unit{color:var(--g-text-dim);font-size:var(--s2-fs-dim);letter-spacing:0}.s2-empty{display:flex;flex:1 1 auto;flex-direction:column;align-items:center;justify-content:center;padding-bottom:96px;gap:var(--s2-4);color:var(--g-text-dim);text-align:center}.s2-empty-icon{opacity:.45}.s2-empty-text{max-width:240px;line-height:1.6}.s2-sep{flex:0 0 auto;width:1px;height:16px;margin:0 var(--s2-2);background:var(--s2-hairline)}.s2-knob{display:flex;flex-direction:column;align-items:center;gap:1px;cursor:ns-resize;touch-action:none}.s2-knob.is-disabled{opacity:.38;cursor:default}.s2-knob-track{fill:none;stroke:var(--s2-well);stroke-width:3.5;stroke-linecap:round}.s2-knob-fill{fill:none;stroke:var(--g-accent);stroke-width:3.5;stroke-linecap:round}.s2-knob-pin{stroke:var(--g-text);stroke-width:1.8;stroke-linecap:round}.s2-knob-label{color:var(--g-text-dim);font-size:var(--s2-fs-dim);white-space:nowrap}.s2-knob-value{color:var(--g-text);font-size:var(--s2-fs-dim);font-variant-numeric:tabular-nums;white-space:nowrap}.s2 *::-webkit-scrollbar{width:9px;height:9px}.s2 *::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:5px;background:color-mix(in srgb,var(--g-text-dim) 40%,transparent);background-clip:content-box}.s2 *::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--g-text-dim) 65%,transparent);background-clip:content-box}.s2 *::-webkit-scrollbar-corner,.s2 *::-webkit-scrollbar-track{background:transparent}.s2-canvas{display:block;width:100%;height:100%;touch-action:none}.s2-shell{position:relative;display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}.s2-stage{position:relative;display:flex;flex:1 1 auto;min-width:0;min-height:0;overflow:hidden;background:var(--s2-well)}.s2-stage>.s2-canvas-host{position:absolute;inset:0;padding-top:calc(var(--s2-float) + var(--s2-toolbar) + var(--s2-3));padding-left:calc(var(--s2-float) + var(--s2-lane) + var(--s2-3));display:flex;flex-direction:column;min-width:0;min-height:0;transition:padding-left var(--s2-slow)}.s2-shell.is-lane-hidden .s2-stage>.s2-canvas-host{padding-left:var(--s2-float)}.s2-stage>.s2-canvas-host>.s2-empty{margin-top:calc(-1 * (var(--s2-float) + var(--s2-toolbar) + var(--s2-3)));margin-left:calc(-1 * (var(--s2-float) + var(--s2-lane) + var(--s2-3)))}.s2-float{position:absolute;z-index:10;display:flex;align-items:center;border:var(--s2-border);border-radius:var(--s2-r-lg);background:var(--s2-glass);box-shadow:var(--s2-shadow)}.s2-float.is-toolbar{top:var(--s2-float);left:var(--s2-float);height:var(--s2-toolbar);gap:var(--s2-2);padding:0 var(--s2-3)}.s2-float.is-shapes{top:var(--s2-float);right:calc(var(--s2-float) + var(--s2-rail-tab) + var(--s2-3));height:var(--s2-toolbar);gap:1px;padding:0 var(--s2-2)}.s2-float.is-lane{top:calc(var(--s2-float) + var(--s2-toolbar) + var(--s2-3));bottom:var(--s2-float);left:var(--s2-float);width:var(--s2-lane);flex-direction:column;align-items:stretch;overflow:hidden}.s2-lane-tracks{display:flex;flex:1 1 auto;flex-direction:column;min-height:120px;border-top:var(--s2-border);overflow:hidden}.s2-float.is-lane:has(.s2-lane-tracks) .s2-lane-body{flex:0 1 auto;max-height:40%}.s2-float.is-tools{height:var(--s2-h-lg);gap:var(--s2-2);padding:0 var(--s2-3);opacity:.35;transition:opacity var(--s2-slow)}.s2-stage:hover .s2-float.is-tools,.s2-float.is-tools:focus-within,.s2-float.is-tools.is-open{opacity:1}.s2-rail-tabs{position:absolute;z-index:12;top:var(--s2-float);right:var(--s2-float);display:flex;flex-direction:column;gap:1px;padding:var(--s2-2) 0;width:var(--s2-rail-tab);border:var(--s2-border);border-radius:var(--s2-r-lg);background:var(--s2-glass);box-shadow:var(--s2-shadow)}.s2-rail-tab{display:flex;align-items:center;justify-content:center;height:var(--s2-h-lg);margin:0 var(--s2-2);border:1px solid transparent;border-radius:var(--s2-r-sm);background:none;color:var(--g-text-dim);font:inherit;font-size:var(--s2-fs-dim);cursor:pointer;transition:background var(--s2-fast),color var(--s2-fast)}.s2-rail-tab:hover{background:var(--g-hover);color:var(--g-text)}.s2-rail-tab.is-on{background:var(--s2-wash);border-color:var(--s2-ring);color:var(--g-text)}.s2-rail{position:absolute;z-index:11;top:var(--s2-float);right:calc(var(--s2-float) + var(--s2-rail-tab) + var(--s2-3));bottom:var(--s2-float);display:flex;flex-direction:column;width:var(--s2-rail);border:var(--s2-border);border-radius:var(--s2-r-lg);background:var(--s2-glass);box-shadow:var(--s2-shadow);overflow:hidden}.s2-shell.is-rail-open .s2-float.is-shapes{right:calc(var(--s2-float) + var(--s2-rail-tab) + var(--s2-3) + var(--s2-rail) + var(--s2-3))}.s2-rail-head{display:flex;flex:0 0 auto;align-items:center;gap:var(--s2-3);height:var(--s2-toolbar);padding:0 var(--s2-4);border-bottom:var(--s2-border);color:var(--g-text);font-size:var(--s2-fs-dim);font-weight:600;letter-spacing:.04em}.s2-rail-head .s2-rail-close{margin-left:auto}.s2-rail-body{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--s2-3);min-height:0;padding:var(--s2-4);overflow-y:auto;overflow-x:hidden}.s2.s2-shell .s2-rail-body>*{flex:0 0 auto;min-width:0;max-width:100%}.s2-lane-head{display:flex;flex:0 0 auto;align-items:center;gap:var(--s2-2);height:var(--s2-h-lg);padding:0 var(--s2-4);border-bottom:var(--s2-border);color:var(--g-text-dim);font-size:var(--s2-fs-dim);font-weight:600;letter-spacing:.04em}.s2-lane-head .s2-lane-count{margin-left:auto;font-weight:400;font-variant-numeric:tabular-nums}.s2-lane-body{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--s2-1);min-height:0;padding:var(--s2-3);overflow-y:auto;overflow-x:hidden}.s2-lane-foot{display:flex;flex:0 0 auto;padding:var(--s2-3);border-top:var(--s2-border)}.s2-lane-foot>.s2-btn{flex:1 1 auto}.s2-sound{display:flex;align-items:center;gap:var(--s2-3);height:var(--s2-h-lg);padding:0 var(--s2-3);border:1px solid transparent;border-radius:var(--s2-r-sm);color:var(--g-text-dim);cursor:pointer;transition:background var(--s2-fast),color var(--s2-fast)}.s2-sound:hover{background:var(--g-hover);color:var(--g-text)}.s2-sound.is-on{background:var(--s2-wash);border-color:var(--s2-ring);color:var(--g-text)}.s2-sound-icon{flex:0 0 auto;opacity:.7}.s2-sound-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s2-sound-len{flex:0 0 auto;color:var(--g-text-dim);font-size:var(--s2-fs-dim);font-variant-numeric:tabular-nums}.s2-sound-del{flex:0 0 auto;display:none;border-color:transparent;background:none}.s2-sound:hover .s2-sound-del{display:inline-flex}.s2-sound:hover .s2-sound-len{display:none}.s2-overflow{position:absolute;z-index:20;top:calc(100% + var(--s2-2));right:0;display:flex;flex-direction:column;gap:var(--s2-3);min-width:220px;padding:var(--s2-4);border:var(--s2-border);border-radius:var(--s2-r);background:var(--s2-glass);box-shadow:var(--s2-shadow)}.s2-overflow-host{position:relative}.s2-overflow.is-up{top:auto;right:auto;bottom:calc(100% + var(--s2-2));left:0;min-width:100%}.s2-overflow.is-up>.s2-btn{justify-content:flex-start}.s2-progress{position:absolute;z-index:15;right:var(--s2-float);bottom:var(--s2-float);display:flex;align-items:center;gap:var(--s2-4);min-width:280px;height:var(--s2-toolbar);padding:0 var(--s2-4);border:var(--s2-border);border-radius:var(--s2-r-lg);background:var(--s2-glass);box-shadow:var(--s2-shadow);font-size:var(--s2-fs-dim)}.s2-progress-bar{flex:1 1 auto;height:3px;border-radius:var(--s2-r-xs);background:var(--s2-well);overflow:hidden}.s2-progress-fill{height:100%;border-radius:var(--s2-r-xs);background:var(--g-accent);transition:width var(--s2-fast)}.s2-sf{position:absolute;z-index:15;bottom:var(--s2-float);left:calc(var(--s2-float) + var(--s2-lane) + var(--s2-3));display:flex;align-items:center;gap:var(--s2-3);max-width:520px;height:var(--s2-toolbar);padding:0 var(--s2-4);border:var(--s2-border);border-radius:var(--s2-r-lg);background:var(--s2-glass);box-shadow:var(--s2-shadow);color:var(--g-text-dim);font-size:var(--s2-fs-dim)}.s2-sf.is-warn{border-color:color-mix(in srgb,var(--g-danger) 45%,transparent);color:var(--g-text)}.s2-sf-text{min-width:0}.s2-sf-bar{flex:1 1 auto;min-width:80px;height:3px;border-radius:var(--s2-r-xs);background:var(--s2-well);overflow:hidden}.s2-sf-fill{display:block;height:100%;border-radius:var(--s2-r-xs);background:var(--g-accent);transition:width var(--s2-fast)}.s2-sf-num{flex:0 0 auto;font-variant-numeric:tabular-nums}.s2-loading{position:absolute;z-index:14;inset:0;display:flex;align-items:center;justify-content:center;gap:var(--s2-3);color:var(--g-text-dim);background:color-mix(in srgb,var(--g-bg) 45%,transparent);pointer-events:none}.s2-save{position:absolute;z-index:13;right:var(--s2-float);bottom:var(--s2-float)}.extlib{position:absolute;inset:0;z-index:60;background:var(--g-page)}.extlib-close{position:absolute;top:14px;right:20px;z-index:1;width:34px;height:34px;font-size:22px;line-height:1;color:var(--g-text-dim);background:none;border:0;border-radius:8px;cursor:pointer}.extlib-close:hover{color:var(--g-text);background:var(--g-hover)}.extlib-scroll{width:100%;height:100%;padding:0 32px 48px;overflow:auto}.extlib-top{display:flex;flex-direction:column;align-items:center;padding-top:28px}.extlib-docs{align-self:center;margin-bottom:8px;font-size:12px;color:var(--g-accent);text-decoration:none}.extlib-docs:hover{text-decoration:underline}.extlib-search{position:relative;width:100%;max-width:620px}.extlib-search input{width:100%;padding:11px 44px 11px 16px;font:inherit;font-size:14px;color:var(--g-text);background:var(--g-panel);border:1px solid var(--g-line);border-radius:8px}.extlib-search input::placeholder{color:var(--g-text-dim)}.extlib-search input:focus{outline:none;border-color:var(--g-accent)}.extlib-search img{position:absolute;top:50%;right:14px;width:18px;height:18px;transform:translateY(-50%);pointer-events:none}.extlib-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:28px auto 0;max-width:1200px}.extlib-tag{padding:7px 18px;font:inherit;font-size:13px;color:var(--g-text-dim);background:transparent;border:1px solid var(--g-line-strong);border-radius:100px;cursor:pointer;white-space:nowrap}.extlib-tag:hover{color:var(--g-text)}.extlib-tag.is-on{color:#fff;background:var(--g-accent);border-color:var(--g-accent)}.extlib-error{max-width:1200px;margin:16px auto 0;padding:10px 14px;font-size:13px;color:var(--g-danger);background:color-mix(in srgb,var(--g-danger) 12%,transparent);border-radius:8px}.extlib-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:32px auto 0;max-width:1200px}@media screen and (max-width: 1400px){.extlib-grid{grid-template-columns:repeat(3,1fr);max-width:900px}}@media screen and (max-width: 1040px){.extlib-grid{grid-template-columns:repeat(2,1fr);max-width:600px}}@media screen and (max-width: 700px){.extlib-grid{grid-template-columns:1fr;max-width:290px}}.extlib-card{display:flex;flex-direction:column;background:var(--g-panel);border-radius:10px;overflow:hidden;transition:transform .12s ease,box-shadow .12s ease}.extlib-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0000004d}.extlib-cover{position:relative;flex:0 0 auto;height:160px;background:var(--g-thumb)}.extlib-art{width:100%;height:100%;object-fit:cover}.extlib-inset{position:absolute;left:12px;bottom:-18px;width:36px;height:36px;padding:6px;object-fit:contain;background:var(--g-panel-head);border-radius:8px}.extlib-body{display:flex;flex-direction:column;flex:1 1 auto;padding:26px 16px 16px}.extlib-name{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:600;color:var(--g-text)}.extlib-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.extlib-doc{display:flex;flex:0 0 auto;opacity:.7}.extlib-doc:hover{opacity:1}.extlib-flag{flex:0 0 auto;padding:1px 7px;font-size:10px;font-weight:400;color:var(--g-text-dim);background:var(--g-btn);border-radius:100px}.extlib-desc{flex:1 1 auto;margin-top:6px;font-size:12px;line-height:1.6;color:var(--g-text-dim)}.extlib-by{margin:10px 0 8px;font-size:11px;text-align:right;color:var(--g-text-dim);min-height:14px}.extlib-btn{width:100%;padding:8px;font:inherit;font-size:13px;color:#fff;background:var(--g-accent);border:0;border-radius:6px;cursor:pointer}.extlib-btn:hover:not(:disabled){filter:brightness(1.1)}.extlib-btn.is-installed{color:var(--g-text-dim);background:var(--g-btn)}.extlib-card:hover .extlib-btn.is-installed{color:#fff;background:var(--g-danger)}.extlib-btn:disabled{color:var(--g-text-dim);background:var(--g-btn);cursor:default}.extlib-empty{padding:60px;text-align:center;font-size:14px;color:var(--g-text-dim)}.pb{display:flex;flex:0 1 auto;gap:2px;align-items:center;padding:3px;margin:0 auto;background:var(--g-page);border:1px solid var(--g-line);border-radius:10px}.pb-item{display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;color:var(--g-text-dim);background:none;border:0;border-radius:8px;cursor:pointer;transition:color .12s ease,background .12s ease}.pb-item svg{width:20px;height:20px}.pb-item:hover{color:var(--g-text);background:var(--g-hover)}.pb-item.is-on{color:#fff;background:var(--g-accent)}.pb-divider{width:1px;height:20px;margin:0 6px;background:var(--g-line-strong)}.gf{display:flex;height:100%;min-height:0;color:var(--g-text);background:var(--g-panel)}.gf-list{display:flex;flex:0 0 224px;flex-direction:column;min-width:0;border-right:1px solid var(--g-line)}.gf-list-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 8px;font-size:11px;font-weight:600;color:var(--g-text-dim);letter-spacing:.04em}.gf-count{font-variant-numeric:tabular-nums}.gf-rows{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin}.gf-row{display:flex;gap:8px;align-items:center;height:30px;padding:0 10px 0 12px;font-size:12px;color:var(--g-text-dim);cursor:pointer;user-select:none}.gf-row:hover{color:var(--g-text);background:var(--g-hover)}.gf-row.is-on{color:var(--g-text);background:color-mix(in srgb,var(--g-accent) 22%,transparent)}.gf-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%}.gf-name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gf-size{flex:0 0 auto;font-size:10.5px;color:var(--g-text-dim);opacity:.7;font-variant-numeric:tabular-nums}.gf-remove{flex:0 0 auto;width:18px;height:18px;padding:0;font-size:14px;line-height:1;color:inherit;background:none;border:0;border-radius:4px;opacity:0;cursor:pointer}.gf-row:hover .gf-remove{opacity:.6}.gf-remove:hover{color:#fff;background:var(--g-danger);opacity:1}.gf-rename{flex:1 1 auto;min-width:0;height:22px;padding:0 5px;font:inherit;font-size:12px;color:var(--g-text);background:var(--g-panel);border:1px solid var(--g-accent);border-radius:4px;outline:none}.gf-ext{flex:0 0 auto;font-size:11px;color:var(--g-text-dim)}.gf-empty{padding:16px 12px;font-size:11.5px;line-height:1.8;color:var(--g-text-dim)}.gf-problem{padding:6px 12px;font-size:11.5px;color:var(--g-danger)}.gf-create{position:relative;flex:0 0 auto;padding:10px 12px 6px}.gf-create-btn{display:flex;gap:8px;align-items:center;justify-content:center;width:100%;height:38px;padding:0 12px;font:inherit;font-size:13px;font-weight:600;color:#fff;background:var(--g-accent);border:0;border-radius:9px;cursor:pointer;box-shadow:0 2px 8px color-mix(in srgb,var(--g-accent) 40%,transparent);transition:filter .15s,box-shadow .15s}.gf-create-btn:hover{filter:brightness(1.06)}.gf-create-btn.is-open{filter:brightness(.96)}.gf-create-plus{flex:0 0 auto}.gf-create-caret{flex:0 0 auto;margin-left:auto;transition:transform .15s}.gf-create-btn.is-open .gf-create-caret{transform:rotate(180deg)}.gf-create-menu{position:absolute;left:12px;right:12px;top:52px;z-index:20;padding:6px;background:var(--g-panel-head);border:1px solid var(--g-line);border-radius:10px;box-shadow:0 12px 32px #00000052}.gf-create-item{display:flex;gap:10px;align-items:center;width:100%;padding:8px 10px;font:inherit;font-size:13px;color:var(--g-text);background:transparent;border:0;border-radius:7px;cursor:pointer;text-align:left}.gf-create-item:hover{background:var(--g-hover)}.gf-badge{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:26px;height:26px;font-size:10px;font-weight:700;line-height:1;color:#fff;border-radius:7px;letter-spacing:-.02em}.gf-create-label{flex:1 1 auto}.gf-main{position:relative;display:flex;flex:1 1 auto;flex-direction:column;min-width:0;min-height:0}.gf-bar{display:flex;flex:0 0 auto;gap:10px;align-items:center;height:34px;padding:0 12px;border-bottom:1px solid var(--g-line)}.gf-open{flex:1 1 auto;overflow:hidden;font-size:12px;color:var(--g-text-dim);text-overflow:ellipsis;white-space:nowrap}.gf-install{padding:4px 10px;font:inherit;font-size:11.5px;color:#fff;background:var(--g-accent);border:0;border-radius:5px;cursor:pointer}.gf-install:hover{filter:brightness(1.1)}.gf-editor{flex:1 1 auto;min-height:0}.gf-loading{position:absolute;top:50%;left:50%;font-size:12px;color:var(--g-text-dim);transform:translate(-50%,-50%)}.disabled-wrap{position:relative;height:100%;min-height:0;overflow:hidden}.disabled-under{height:100%;pointer-events:none;user-select:none}.disabled-veil{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;color:#fff;background:#0a0c108c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.disabled-veil svg{color:#ffffffe6}.disabled-veil p{margin:0;max-width:300px;font-size:15px;font-weight:600;line-height:1.6;color:#ffffffeb}.app-panel{display:flex;flex-direction:column;height:100%;min-height:0;color:var(--g-text);background:var(--g-panel)}.app-head{display:flex;flex:0 0 auto;gap:12px;align-items:flex-start;justify-content:space-between;padding:14px 16px 10px}.app-head h2{margin:0;font-size:15px;font-weight:600}.app-head p{margin:3px 0 0;font-size:11.5px;color:var(--g-text-dim)}.app-scroll{flex:1 1 auto;min-height:0;padding:0 16px 16px;overflow-y:auto;scrollbar-width:thin}.app-section{margin-top:14px}.app-section h3{margin:0 0 8px;font-size:11px;font-weight:600;color:var(--g-text-dim);letter-spacing:.04em}.app-button{flex:0 0 auto;padding:6px 12px;font:inherit;font-size:11.5px;color:var(--g-text);background:var(--g-input);border:0;border-radius:6px;cursor:pointer}.app-button:hover:not(:disabled){background:var(--g-hover)}.app-button:disabled{opacity:.4;cursor:default}.app-button.is-danger:hover{color:#fff;background:var(--g-danger)}.app-search{flex:0 0 160px;height:28px;padding:0 8px;font:inherit;font-size:12px;color:var(--g-text);background:var(--g-input);border:1px solid transparent;border-radius:6px;outline:none}.app-search:focus{border-color:var(--g-accent)}.app-empty{padding:40px 20px;text-align:center}.app-empty-icon{display:block;margin-bottom:10px;font-size:34px;opacity:.5}.app-empty p{margin:0 0 4px;font-size:12.5px;color:var(--g-text-dim)}.app-empty-hint{max-width:340px;margin:8px auto 0!important;font-size:11.5px!important;line-height:1.8;opacity:.75}.app-score{flex:0 0 auto;font-variant-numeric:tabular-nums}.app-score-now{font-size:22px;font-weight:600}.app-score-of{font-size:12px;color:var(--g-text-dim)}.app-bar-track{flex:0 0 auto;height:4px;margin:0 16px 4px;overflow:hidden;background:var(--g-input);border-radius:2px}.app-bar-fill{height:100%;background:var(--g-accent);border-radius:2px;transition:width .3s ease}.ach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}.ach{display:flex;gap:10px;align-items:center;padding:10px;background:var(--g-input);border:1px solid transparent;border-radius:9px}.ach:not(.is-done){opacity:.55}.ach.is-done{background:color-mix(in srgb,var(--g-accent) 14%,var(--g-input));border-color:color-mix(in srgb,var(--g-accent) 40%,transparent)}.ach-icon{flex:0 0 auto;width:32px;font-size:22px;text-align:center}.ach-text{display:flex;flex:1 1 auto;flex-direction:column;gap:2px;min-width:0}.ach-name{font-size:12.5px;font-weight:600}.ach-detail{overflow:hidden;font-size:11px;color:var(--g-text-dim);text-overflow:ellipsis;white-space:nowrap}.ach-track{height:3px;margin-top:4px;overflow:hidden;background:color-mix(in srgb,var(--g-line) 80%,transparent);border-radius:2px}.ach-fill{height:100%;background:var(--g-accent);transition:width .3s ease}.ach-count{flex:0 0 auto;font-size:11px;color:var(--g-text-dim);font-variant-numeric:tabular-nums}.ach.is-done .ach-count{font-size:14px;color:var(--g-accent)}.lb-tabs{display:flex;flex:0 0 auto;gap:4px;padding:0 16px 8px}.lb-tabs button{padding:4px 10px;font:inherit;font-size:11.5px;color:var(--g-text-dim);background:var(--g-input);border:0;border-radius:6px;cursor:pointer}.lb-tabs button.is-on{color:#fff;background:var(--g-accent)}.lb-list{padding:0;margin:8px 0 0;list-style:none}.lb-list li{display:flex;gap:10px;align-items:center;height:36px;padding:0 10px;font-size:12.5px;border-radius:7px}.lb-list li:nth-child(odd){background:color-mix(in srgb,var(--g-input) 60%,transparent)}.lb-list li.is-top{background:color-mix(in srgb,var(--g-accent) 12%,transparent)}.lb-rank{flex:0 0 26px;font-size:13px;text-align:center;font-variant-numeric:tabular-nums}.lb-name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-when{flex:0 0 auto;font-size:11px;color:var(--g-text-dim)}.lb-score{flex:0 0 auto;min-width:64px;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.lb-foot{padding:14px 0 0;text-align:center}.dm-table{width:100%;margin-top:6px;font-size:12px;border-collapse:collapse}.dm-table th{padding:6px 8px;font-size:11px;font-weight:600;color:var(--g-text-dim);text-align:left;border-bottom:1px solid var(--g-line)}.dm-table td{padding:5px 8px;border-bottom:1px solid color-mix(in srgb,var(--g-line) 45%,transparent)}.dm-name{font-weight:500}.dm-owner{color:var(--g-text-dim)}.dm-kind{padding:1px 6px;font-size:10.5px;border-radius:4px}.dm-kind.is-cloud{color:#fff;background:var(--g-accent)}.dm-kind.is-list{background:color-mix(in srgb,var(--g-line) 90%,transparent)}.dm-kind.is-scalar{color:var(--g-text-dim);background:color-mix(in srgb,var(--g-line) 55%,transparent)}.dm-value{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:text;font-variant-numeric:tabular-nums}.dm-value input{width:100%;font:inherit;font-size:12px;color:var(--g-text);background:var(--g-panel);border:1px solid var(--g-accent);border-radius:4px;outline:none}.dm-len{margin-left:8px;font-size:10.5px;color:var(--g-text-dim)}.bp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin-top:8px}.bp-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px}.bp-thumb{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;padding:6px;background:var(--g-input);border:1px solid transparent;border-radius:9px;cursor:pointer}.bp-thumb:hover{border-color:var(--g-accent)}.bp-thumb img{max-width:100%;max-height:100%;object-fit:contain}.bp-noimg{font-size:26px;opacity:.5}.bp-name{max-width:100%;overflow:hidden;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.bp-size{font-size:10.5px;color:var(--g-text-dim)}.bp-remove{position:absolute;top:-4px;right:-4px;width:18px;height:18px;padding:0;font-size:13px;line-height:1;color:var(--g-text-dim);background:var(--g-panel);border:1px solid var(--g-line);border-radius:50%;opacity:0;cursor:pointer}.bp-item:hover .bp-remove{opacity:1}.bp-remove:hover{color:#fff;background:var(--g-danger);border-color:var(--g-danger)}.app-button.is-primary{color:#fff;background:var(--g-accent)}.app-button.is-primary:hover:not(:disabled){background:color-mix(in srgb,var(--g-accent) 88%,#000)}.mgr-intro{padding:16px 4px 12px}.mgr-intro-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.mgr-intro-head h2{margin:0;font-size:20px;font-weight:700}.mgr-intro-icon{display:inline-flex;color:var(--g-accent)}.mgr-intro-icon svg{width:30px;height:30px}.mgr-intro p{margin:4px 0;font-size:12.5px;color:var(--g-text-dim);line-height:1.7}.mgr-create-btn{margin-top:14px;border:none;border-radius:8px;padding:8px 18px;font-size:13px;font-weight:600;color:#fff;background:var(--g-accent);cursor:pointer}.mgr-create-btn:disabled{opacity:.5;cursor:default}.mgr-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:60px;color:#9ca3af;font-size:14px}.mgr-empty img{width:150px;margin-bottom:24px}.mgr-list{display:flex;flex-direction:column;gap:8px;margin-top:4px}.mgr-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--g-input);border-radius:10px}.mgr-row-main{display:flex;flex-direction:column;gap:3px;min-width:0}.mgr-row-title{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mgr-row-sub{font-size:11.5px;color:var(--g-text-dim)}.mgr-row-actions{display:flex;gap:6px;flex:0 0 auto}.mgr-row-actions button{border:none;border-radius:6px;padding:5px 12px;font-size:12px;cursor:pointer;background:var(--g-btn);color:var(--g-text)}.mgr-row-actions button:hover{background:var(--g-hover)}.mgr-row-actions button.is-danger:hover{color:#fff;background:var(--g-danger)}.lb-view-bar{display:flex;align-items:center;gap:12px;padding:10px 16px;flex:0 0 auto}.lb-view-title{font-size:14px;font-weight:600}.app-modal-mask{position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px;background:#00000073}.app-modal{width:100%;max-width:720px;max-height:90%;display:flex;flex-direction:column;background:var(--g-panel);border-radius:12px;overflow:hidden;box-shadow:0 12px 40px #00000059}.app-modal-head{display:flex;align-items:center;justify-content:center;position:relative;padding:16px;border-bottom:1px solid var(--g-line)}.app-modal-head h3{margin:0;font-size:15px;font-weight:700}.app-modal-close{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:none;background:transparent;font-size:22px;line-height:1;color:var(--g-text-dim);cursor:pointer}.app-modal-foot{display:flex;justify-content:center;gap:12px;padding:14px;border-top:1px solid var(--g-line)}.app-modal-foot .app-button{padding:8px 24px;font-size:13px}.lb-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.lb-field>span{font-size:12.5px;color:var(--g-text-dim)}.lb-field input[type=text],.lb-field select,.lb-field textarea{width:100%;padding:8px 10px;font:inherit;font-size:13px;color:var(--g-text);background:var(--g-input);border:1px solid transparent;border-radius:7px;outline:none;box-sizing:border-box}.lb-field input[type=text]:focus,.lb-field select:focus,.lb-field textarea:focus{border-color:var(--g-accent)}.lb-field textarea{resize:vertical}.lb-field-row{flex-direction:row;align-items:center;justify-content:space-between}.login-dialog{max-width:460px}.login-dialog-body{padding:20px;overflow-y:auto}.login-steps{margin:0 0 16px;padding-left:20px;font-size:12.5px;line-height:1.9;color:var(--g-text-dim)}.login-steps code{padding:1px 5px;font-family:monospace;font-size:12px;color:var(--g-text);background:var(--g-input);border-radius:4px}.login-inline-link{margin-left:6px;border:none;background:transparent;color:var(--g-accent);font-size:12.5px;cursor:pointer;text-decoration:underline;padding:0}.login-dialog-hint{margin:12px 0 0;font-size:11px;color:var(--g-text-dim);opacity:.85}.login-snippet{display:block;margin-top:6px;padding:8px 10px;font-family:monospace;font-size:11px;line-height:1.5;color:var(--g-text);background:var(--g-input);border-radius:6px;word-break:break-all;white-space:pre-wrap}.coming-soon{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:24px;text-align:center;color:var(--g-text)}.coming-soon-icon{font-size:56px;line-height:1;margin-bottom:14px;filter:grayscale(.2);opacity:.85}.coming-soon h3{margin:0 0 8px;font-size:16px;font-weight:700}.coming-soon p{margin:0;max-width:300px;font-size:13px;line-height:1.7;color:var(--g-text-dim)}.ach-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:4px 0 14px}.ach-count-tip{font-size:12px;color:var(--g-text-dim)}.term-win{position:relative;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;background:#12161edb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.term{flex:1 1 auto;min-height:0;padding:10px 12px 6px;overflow:hidden}.term .xterm,.term .xterm .xterm-viewport{background:transparent!important}.term-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;font-size:13px;color:#9ca3af;background:inherit}.term-spinner{width:16px;height:16px;border:2px solid color-mix(in srgb,var(--g-text-dim) 40%,transparent);border-top-color:var(--g-accent);border-radius:50%;animation:term-spin .8s linear infinite}@keyframes term-spin{to{transform:rotate(360deg)}}.file-menu{position:relative}.file-menu .app-action{height:34px;padding:0 12px;font-size:12.5px;color:var(--g-text-dim);background:none;border:0;border-radius:8px;cursor:pointer;transition:color .12s ease,background .12s ease}.file-menu .app-action:hover,.file-menu .app-action.is-open{color:var(--g-text);background:var(--g-hover)}.file-menu-list{position:absolute;top:calc(100% + 4px);left:0;z-index:60;display:flex;flex-direction:column;min-width:160px;padding:4px;background:var(--g-panel);border:1px solid var(--g-line-strong);border-radius:8px;box-shadow:0 10px 30px #0006}.file-menu-list button{padding:7px 10px;font:inherit;font-size:12px;color:var(--g-text);text-align:left;white-space:nowrap;background:none;border:0;border-radius:6px;cursor:pointer}.file-menu-list button:hover{background:var(--g-hover)}.file-menu-list button.is-danger{color:var(--g-danger)}.app-title-input{width:200px;height:34px;padding:0 12px;font:inherit;font-size:12.5px;color:var(--g-text);background:var(--g-page);border:1px solid transparent;border-radius:8px}.app-title-input:hover{border-color:var(--g-line-strong)}.app-title-input:focus{border-color:var(--g-accent);outline:none}.settings-backdrop{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;background:#00000073;backdrop-filter:blur(3px);animation:settings-fade .12s ease-out}@keyframes settings-fade{0%{opacity:0}to{opacity:1}}.settings{display:flex;flex-direction:column;width:720px;max-width:calc(100vw - 48px);height:560px;max-height:calc(100vh - 80px);overflow:hidden;color:var(--g-text);background:var(--g-panel);border:1px solid var(--g-line);border-radius:12px;box-shadow:0 24px 64px #00000073;animation:settings-rise .14s cubic-bezier(.16,1,.3,1)}@keyframes settings-rise{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}.settings-head{display:flex;flex:0 0 auto;align-items:center;height:48px;padding:0 12px 0 20px;font-size:13px;font-weight:600;border-bottom:1px solid var(--g-line)}.settings-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin-left:auto;padding:0;color:var(--g-text-dim);background:none;border:0;border-radius:6px;cursor:pointer;transition:color .12s ease,background .12s ease}.settings-close:hover{color:var(--g-text);background:var(--g-hover)}.settings-body{display:flex;flex:1 1 auto;min-height:0}.settings-nav{display:flex;flex:0 0 172px;flex-direction:column;gap:2px;padding:12px 10px;border-right:1px solid var(--g-line)}.settings-nav-item{position:relative;display:flex;gap:10px;align-items:center;height:34px;padding:0 10px;font:inherit;font-size:13px;color:var(--g-text-dim);text-align:left;background:none;border:0;border-radius:7px;cursor:pointer;transition:color .12s ease,background .12s ease}.settings-nav-item:hover,.settings-nav-item.is-on{color:var(--g-text);background:var(--g-hover)}.settings-nav-item.is-on:before{position:absolute;top:9px;bottom:9px;left:0;width:3px;background:var(--g-accent);border-radius:0 3px 3px 0;content:""}.settings-nav-icon{display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:16px;height:16px;opacity:.9}.settings-pane{flex:1 1 auto;min-width:0;padding:4px 24px 24px;overflow-y:auto;scrollbar-width:thin}.settings-pane::-webkit-scrollbar{width:10px}.settings-pane::-webkit-scrollbar-thumb{background:var(--g-line);background-clip:content-box;border:3px solid transparent;border-radius:10px}.settings-group{margin:24px 0 10px;font-size:11px;font-weight:600;color:var(--g-text-dim);letter-spacing:.06em;text-transform:uppercase}.settings-group:first-child{margin-top:20px}.settings-row{display:flex;gap:20px;align-items:center;min-height:44px;padding:4px 0}.settings-row+.settings-row{border-top:1px solid color-mix(in srgb,var(--g-line) 55%,transparent)}.settings-label{flex:1 1 auto;min-width:0;font-size:13px}.settings-hint{display:block;margin-top:3px;font-size:11.5px;line-height:1.5;color:var(--g-text-dim)}.settings-control{display:flex;flex:0 0 auto;align-items:center}.settings-cards{display:flex;gap:10px;margin-bottom:4px}.settings-card{display:flex;flex-direction:column;gap:7px;align-items:center;padding:10px 12px;font:inherit;color:var(--g-text-dim);background:var(--g-input);border:1px solid transparent;border-radius:9px;cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.settings-card:hover{color:var(--g-text);background:var(--g-hover)}.settings-card.is-on{color:var(--g-text);background:color-mix(in srgb,var(--g-accent) 14%,var(--g-input));border-color:var(--g-accent)}.settings-card-shape{height:30px;background:currentcolor;border-radius:3px;opacity:.4;transition:opacity .12s ease,background .12s ease}.settings-card.is-on .settings-card-shape{background:var(--g-accent);opacity:1}.settings-card.is-16-9 .settings-card-shape{width:53px}.settings-card.is-4-3 .settings-card-shape{width:40px}.settings-card-name{font-size:12px;font-variant-numeric:tabular-nums}.settings-select{appearance:none;min-width:148px;height:32px;padding:0 30px 0 11px;font:inherit;font-size:13px;color:var(--g-text);background-color:var(--g-input);background-image:linear-gradient(45deg,transparent 50%,currentcolor 50%),linear-gradient(135deg,currentcolor 50%,transparent 50%);background-repeat:no-repeat;background-position:right 14px center,right 9px center;background-size:5px 5px,5px 5px;border:1px solid var(--g-line);border-radius:7px;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.settings-select:hover{background-color:var(--g-hover)}.settings-select:focus-visible{border-color:var(--g-accent);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--g-accent) 25%,transparent)}.settings-toggle{position:relative;flex:0 0 auto;width:40px;height:22px;padding:0;background:var(--g-line-strong);border:0;border-radius:100px;cursor:pointer;transition:background .16s ease}.settings-toggle span{position:absolute;top:3px;left:3px;width:16px;height:16px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0000004d;transition:transform .16s cubic-bezier(.16,1,.3,1)}.settings-toggle.is-on{background:var(--g-accent)}.settings-toggle.is-on span{transform:translate(18px)}.settings-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--g-accent) 25%,transparent)}.settings-text{font-size:13px;color:var(--g-text-dim);font-variant-numeric:tabular-nums}.settings-about{display:flex;gap:14px;align-items:center;margin:20px 0 4px}.settings-about-mark{display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:48px;height:48px;font-size:20px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--g-accent),#7b5cff);border-radius:12px}.settings-about-name{font-size:15px;font-weight:600}.settings-about-what{margin-top:3px;font-size:12px;color:var(--g-text-dim)}.toast-stack{position:fixed;top:12px;right:12px;z-index:300;display:flex;flex-direction:column;gap:8px;align-items:flex-end;max-width:min(420px,calc(100vw - 24px));pointer-events:none}.toast{display:flex;align-items:center;box-sizing:border-box;min-height:48px;max-width:100%;padding:0 8px 0 16px;font-size:14px;line-height:20px;color:#fff;background:#16191f;border:1px solid #2e3644;border-radius:8px;box-shadow:0 8px 16px #0003,0 4px 6px #0000004d;pointer-events:all;animation:toast-in .3s ease-in 1}.toast.is-leaving{animation:toast-out .22s ease-in 1 forwards}@keyframes toast-in{0%{opacity:0;transform:translate3d(110%,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes toast-out{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(110%,0,0)}}.toast-mark{display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:16px;height:16px;margin-right:8px;font-size:11px;font-weight:700;line-height:1;color:#fff;border-radius:50%}.toast-mark.is-success{background:#39c66c}.toast-mark.is-error{background:#fa594c}.toast-mark.is-warn{background:#ffc700}.toast-mark.is-info{background:#2d8cff}.toast-mark.is-loading{border:2px solid #3e495b;border-top-color:#9ca3af;border-radius:50%;animation:toast-spin .7s linear infinite}@keyframes toast-spin{to{transform:rotate(360deg)}}.toast-text{flex:1 1 auto;min-width:0;padding:14px 0;overflow-wrap:anywhere}.toast-close{display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:24px;height:24px;margin-left:12px;font-size:16px;line-height:1;color:#9ca3af;background:none;border:0;border-radius:4px;cursor:pointer}.toast-close:hover{color:#fff;background:#2e3644}.loader{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;color:var(--g-text);background:var(--g-page);animation:loader-in .16s ease-out}@keyframes loader-in{0%{opacity:0}to{opacity:1}}.loader-inner{display:flex;flex-direction:column;align-items:center;text-align:center}.loader-blocks{width:125px;height:150px;margin-bottom:8px}.loader-blocks span{display:block;height:30%;margin-top:-4px;text-align:left}.loader-blocks svg{transform:scale(1.3);transform-origin:left}.loader-top{animation:loader-top-slide 1.5s ease infinite}.loader-middle{animation:loader-middle-slide 1.5s ease infinite}.loader-bottom{animation:loader-bottom-slide 1.5s ease infinite}@keyframes loader-top-slide{0%{transform:translateY(50px);opacity:0}33%{transform:translateY(0);opacity:1}}@keyframes loader-middle-slide{0%{transform:translateY(50px);opacity:0}33%{transform:translateY(50px);opacity:0}66%{transform:translateY(0);opacity:1}}@keyframes loader-bottom-slide{0%{transform:translateY(50px);opacity:0}66%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.loader-title{margin:8px 0;font-size:30px;font-weight:700}.loader-message{font-size:13px;color:var(--g-text-dim)}.loader-bar{width:240px;height:4px;margin-top:14px;overflow:hidden;background:var(--g-line);border-radius:100px}.loader-bar-fill{height:100%;background:var(--g-accent);border-radius:100px;transition:width .12s linear}:root,:root[data-theme=dark]{--g-bg: #16191f;--g-page: #191e25;--g-panel: #242731;--g-panel-head: #2e3644;--g-line: #3e495b;--g-line-strong: #566276;--g-hover: #3f4654;--g-input: #39414f;--g-btn: #2e3644;--g-text: #ffffff;--g-text-dim: #9ca3af;--g-accent: #2d8cff;--g-danger: #fa594c;--g-on-accent: #ffffff;--g-thumb: #f3f4f6;--g-track-1: #4c8dff;--g-track-2: #46d6a8;--g-track-3: #ffb454;--g-track-4: #ff6f91;--g-track-5: #a78bfa;--g-track-6: #58d6ef;--g-track-7: #b6e05a;--g-track-8: #ff8f5a;--g-blocks-workspace: #191e25;--g-blocks-grid: #262b35;--g-blocks-flyout: #16191f;--g-blocks-toolbox: #242731;--g-blocks-toolbox-text: #d1d5db;--g-blocks-toolbox-selected: #2e3644;--g-blocks-scrollbar: #3e495b;--g-blocks-field-text: #575e75;--g-blocks-field: #ffffff;--g-blocks-insertion: #ffffff;--g-blocks-report-bg: #22262f;--g-blocks-report-border: #3a4150}:root{--theme-brand-color: var(--g-accent);--theme-brand-color-p4: color-mix(in srgb, var(--g-accent) 40%, transparent);--theme-brand-color-p3: color-mix(in srgb, var(--g-accent) 30%, transparent);--theme-yellow-color: #ffc700;--theme-error-color: var(--g-danger);--theme-error-color-p3: color-mix(in srgb, var(--g-danger) 30%, transparent);--theme-text-primary: var(--g-text);--theme-color-700: var(--g-bg);--theme-color-600: var(--g-bg);--theme-color-550: var(--g-page);--theme-color-500: var(--g-page);--theme-color-400: var(--g-panel);--theme-color-350: var(--g-line);--theme-color-300: var(--g-panel-head);--theme-color-200: var(--g-line);--theme-color-150: var(--g-hover);--theme-color-100: var(--g-line-strong);--theme-color-50: color-mix(in srgb, var(--g-text-dim) 15%, transparent);--theme-color-b100: color-mix(in srgb, var(--g-accent) 60%, var(--g-text));--theme-color-b200: color-mix(in srgb, var(--g-accent) 30%, var(--g-panel));--theme-color-g500: var(--g-text-dim);--theme-color-g450: color-mix(in srgb, var(--g-text-dim) 40%, transparent);--theme-color-g400: var(--g-text-dim);--theme-color-g300: var(--g-text);--theme-border-size-tip: 1px;--theme-border-color-tip: var(--g-line-strong);--theme-scrollbar-color: color-mix(in srgb, var(--g-text-dim) 60%, transparent);--theme-box-shadow-color: rgb(0 0 0 / 20%);--theme-extension-icon-bg: var(--g-panel)}:root[data-theme=light]{--g-bg: #d7dde4;--g-page: #e3e5e8;--g-panel: #ffffff;--g-panel-head: #f7f7f7;--g-line: #e8eaed;--g-line-strong: #d2d4d7;--g-hover: #e8eaeb;--g-input: #f1f3f5;--g-btn: #f7f7f7;--g-text: #262b33;--g-text-dim: #828997;--g-accent: #2d8cff;--g-danger: #fa594c;--g-thumb: #f3f4f6;--g-track-1: #2d6fe0;--g-track-2: #10916d;--g-track-3: #b8730b;--g-track-4: #d4436b;--g-track-5: #7c4dd6;--g-track-6: #0f8fae;--g-track-7: #5d8b12;--g-track-8: #cf6224;--g-blocks-workspace: #e3e5e8;--g-blocks-grid: #d7dde4;--g-blocks-flyout: #f5f6fa;--g-blocks-toolbox: #ffffff;--g-blocks-toolbox-text: #262b33;--g-blocks-toolbox-selected: #e8eaed;--g-blocks-scrollbar: #d2d4d7;--g-blocks-field-text: #575e75;--g-blocks-field: #ffffff;--g-blocks-insertion: #000000;--g-blocks-report-bg: #ffffff;--g-blocks-report-border: #d2d4d7}*{box-sizing:border-box}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--g-line-strong) transparent}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:transparent}::-webkit-scrollbar-thumb{background:var(--g-line-strong);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--g-text-dim)}::-webkit-scrollbar-button{display:none}html,body,#root{height:100%;margin:0;overflow:hidden}body{font-family:Segoe UI,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:var(--g-text);background:var(--g-bg)}button{font-family:inherit}.app-shell{display:flex;flex-direction:column;height:100%}.app-bar{display:flex;align-items:center;gap:10px;flex:0 0 auto;height:46px;padding:0 12px;background:var(--g-panel-head);border-bottom:1px solid var(--g-line)}.app-bar-left{display:flex;flex:0 0 auto;gap:8px;align-items:center}.app-bar-right{display:flex;flex:0 0 auto;gap:6px;align-items:center;margin-left:auto}.app-brand{display:flex;gap:7px;align-items:center;font-size:14px;font-weight:700;letter-spacing:.2px;user-select:none}.app-brand-logo{display:block;color:#fff}:root[data-theme=light] .app-brand-logo{color:#16181d}.app-brand-ver{margin-left:1px;font-size:11px;font-weight:700;color:var(--g-text-dim)}.app-status{margin-left:4px;font-size:11px;color:var(--g-text-dim);white-space:nowrap}.app-icon-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;color:var(--g-text-dim);background:none;border:0;border-radius:8px;cursor:pointer;transition:color .12s ease,background .12s ease}.app-icon-btn svg{width:19px;height:19px}.app-icon-btn:hover{color:var(--g-text);background:var(--g-hover)}.app-body{position:relative;display:flex;flex:1 1 auto;min-height:0}.app-dock{position:relative;flex:1 1 auto;min-width:0}.app-action{padding:3px 10px;font-size:11px;color:var(--g-text-dim);background:var(--g-btn);border:1px solid var(--g-line);border-radius:4px;cursor:pointer}.app-action.is-on{color:var(--g-text);background:color-mix(in srgb,var(--g-accent) 26%,transparent);border-color:var(--g-accent)}.app-action:disabled{opacity:.45;cursor:default}.app-action:hover:not(:disabled){color:var(--g-text);background:var(--g-hover);border-color:var(--g-accent)}
