.split-pane__divider{background:currentColor;flex-shrink:0;position:relative;z-index:var(--z-controls)}.split-pane__divider--h[data-fs-junction=row]~div .split-pane__divider--v{color:var(--border-focus)}.split-pane__divider--h{width:var(--fs-seam);z-index:calc(var(--z-controls) + 1)}.split-pane__divider--v{height:var(--fs-seam)}.limit-modal__suggestions{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.45}.limit-modal__desktop{margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.45}.limit-modal__desktop-links{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-1)}.limit-modal__desktop-links a{color:var(--border-focus)}.csv-import-modal__backdrop{position:fixed;inset:0;z-index:var(--z-overlay);background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.csv-import-modal__panel{width:min(440px,92vw);background:var(--bg-panel);border:1px solid var(--border-default);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.csv-import-modal__title{font-size:var(--font-size-sm);font-weight:700;color:var(--text-primary);word-break:break-word}.csv-import-modal__message{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5}.csv-import-modal__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:var(--font-size-sm);color:var(--text-primary)}.csv-import-modal__row select{padding:3px 6px;font-size:var(--font-size-sm);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--border-radius-sm)}.csv-import-modal__check{display:flex;align-items:flex-start;gap:8px;font-size:var(--font-size-xs);color:var(--text-secondary);line-height:1.4;cursor:pointer;user-select:none}.csv-import-modal__check input{margin:2px 0 0;flex:none}.csv-import-modal__buttons{display:flex;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap}.csv-import-modal__button{display:inline-flex;align-items:center;justify-content:center;height:var(--ctl-size);padding:0 12px;font-size:var(--font-size-sm);line-height:1;text-decoration:none;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.csv-import-modal__button:hover:not(:disabled){background:var(--bg-surface-hover)}.csv-import-modal__button--primary{border-color:var(--border-focus);color:var(--border-focus);font-weight:600}.csv-import-modal__button--yes{font-weight:700;color:#1a1a1a;background:#cdeab0;border-color:#8fbf5e;min-width:72px}.csv-import-modal__button--yes:hover:not(:disabled){background:#bce197;border-color:#6fa63e}.csv-import-modal__button:disabled{opacity:.5;cursor:not-allowed}.csv-import-modal__file{text-align:center;font-size:var(--font-size-md)}.csv-import-modal__heading{text-align:center;font-size:var(--font-size-sm);font-weight:700;color:var(--text-primary);margin:var(--space-3) 0 var(--space-2)}.csv-import-modal__choices{display:flex;gap:var(--space-2);margin-bottom:var(--space-2)}.csv-import-modal__choice{flex:1 1 0;min-width:0;height:auto;min-height:var(--ctl-size);padding:var(--space-2) 12px;text-align:center;white-space:normal}.csv-import-modal__cancel{display:block;margin:var(--space-1) auto 0;padding:var(--space-1) var(--space-2);border:1px solid transparent;background:none;font-size:var(--font-size-sm);font-family:inherit;color:#d92d20;cursor:pointer}.csv-import-modal__cancel:hover:not(:disabled){text-decoration:underline}.csv-import-modal__cancel:disabled{opacity:.5;cursor:default}.csv-import-modal__done{display:inline-flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:700;color:var(--text-primary)}.feedback-modal__panel{width:min(520px,94vw);max-height:min(88vh,760px);overflow-y:auto}.feedback-modal__kinds{display:flex;gap:var(--space-2);flex-wrap:wrap}.feedback-modal__kind{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;height:var(--ctl-size);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;line-height:1;padding:0 10px;color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.feedback-modal__kind:hover{border-color:var(--border-focus);color:var(--text-primary)}.feedback-modal__kind--on,.feedback-modal__kind--on:hover{background:var(--border-focus);border-color:var(--border-focus);color:#fff}.feedback-modal__kind:focus-visible{outline:1px solid var(--border-focus);outline-offset:2px}.feedback-modal__field{display:flex;flex-direction:column;gap:var(--space-1)}.feedback-modal__label{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.4}.feedback-modal__textarea{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm);padding:8px;width:100%;resize:vertical;min-height:90px;line-height:1.5}.feedback-modal__textarea:focus{outline:none;border-color:var(--border-focus)}.feedback-modal__details{font-size:var(--font-size-xs);color:var(--text-secondary)}.feedback-modal__details summary{cursor:pointer;user-select:none}.feedback-modal__env{margin:var(--space-2) 0 0;padding:var(--space-2);font-family:var(--font-mono);font-size:10px;line-height:1.5;color:var(--text-secondary);background:var(--bg-surface-hover);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm);white-space:pre-wrap;overflow-wrap:anywhere}.feedback-modal__raw{font-family:var(--font-mono);font-size:10px}.feedback-modal__warn{font-size:var(--font-size-xs);line-height:1.45;color:#b42318}.feedback-modal__hint{font-size:var(--font-size-xs);line-height:1.45;color:var(--text-secondary)}.feedback-modal__send{display:inline-flex;align-items:center;text-decoration:none;font-weight:600}.feedback-modal__send--off{opacity:.5;cursor:not-allowed}:root[data-theme=dark] .feedback-modal__warn{color:#ff7b72}.palettes-modal__panel{width:min(620px,94vw);max-height:min(88vh,820px);overflow-y:auto;gap:var(--space-2)}.palettes-modal__toolbar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.palettes-modal__section{display:flex;flex-direction:column;gap:var(--space-2)}.palettes-modal__section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);padding-bottom:var(--space-1);border-bottom:1px solid var(--border-subtle)}.palettes-modal__section-title{margin:0;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.palettes-modal__count{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-secondary)}.palettes-modal__hint{font-family:var(--font-sans);font-size:var(--font-size-xs);line-height:1.45;color:var(--text-secondary)}.palettes-modal__empty{font-size:var(--font-size-sm);line-height:1.5;color:var(--text-secondary)}.palettes-modal__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.palettes-modal__list--builtin{gap:2px}.palettes-modal__row{display:flex;flex-direction:column;gap:6px;padding:6px var(--space-2);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm)}.palettes-modal__line{display:flex;align-items:center;gap:var(--space-2);min-width:0}.palettes-modal__row--builtin{background:var(--bg-panel)}.palettes-modal__name{flex:1 1 130px;min-width:0;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);background:var(--bg-input);border:1px solid transparent;border-radius:var(--border-radius-sm);padding:4px 6px;text-overflow:ellipsis}.palettes-modal__name:hover{border-color:var(--border-subtle)}.palettes-modal__name:focus{outline:none;border-color:var(--border-focus)}.palettes-modal__builtin-name{flex:1 1 130px;min-width:0;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);padding:4px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.palettes-modal__strip{display:flex;flex-wrap:nowrap;gap:3px;flex:0 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}.palettes-modal__strip::-webkit-scrollbar{display:none}.palettes-modal__chip{flex:none;width:22px;height:22px;border-radius:0;border:1px solid var(--border-default)}.palettes-modal__actions{display:flex;align-items:center;gap:var(--space-1);flex:none;flex-wrap:nowrap;margin-left:auto}.palettes-modal__spacer{flex:1 1 auto}.palettes-modal__btn{display:inline-flex;align-items:center;justify-content:center;height:var(--ctl-size);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;line-height:1;color:var(--text-primary);background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm);padding:0 8px;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.palettes-modal__btn:hover:not(:disabled){border-color:var(--border-focus);color:var(--border-focus)}.palettes-modal__btn:disabled{opacity:.45;cursor:not-allowed}.palettes-modal__btn:focus-visible{outline:1px solid var(--border-focus);outline-offset:2px}.palettes-modal__btn--icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:22px;padding:0;font-size:var(--font-size-sm);line-height:1}.palettes-modal__btn--icon svg{width:9px;height:9px;display:block;fill:currentColor}.palettes-modal__btn--danger:hover:not(:disabled){color:#b42318;border-color:#b42318}.palettes-modal__editor{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-1);padding-top:var(--space-2);border-top:1px dashed var(--border-subtle);max-height:320px;overflow-y:auto;align-items:flex-start}.palettes-modal__color-row{display:flex;align-items:center;gap:var(--space-2);width:100%}.palettes-modal__color{flex:none;width:34px;height:24px;padding:0;background:none;border:1px solid var(--border-default);border-radius:0;cursor:pointer}.palettes-modal__hex{flex:none;width:62px;font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-secondary)}.palettes-modal__label{flex:1 1 auto;min-width:0;font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--text-primary);background:var(--bg-input);border:1px solid transparent;border-radius:var(--border-radius-sm);padding:3px 6px}.palettes-modal__label:hover{border-color:var(--border-subtle)}.palettes-modal__label:focus{outline:none;border-color:var(--border-focus)}.palettes-modal__editor-foot{display:flex;align-items:center;gap:var(--space-1);width:100%;padding-top:var(--space-1)}.palettes-modal__file{display:none}.palettes-modal__paste{display:flex;align-items:center;gap:var(--space-2)}.palettes-modal__paste-input{flex:1 1 auto;min-width:0;font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm);padding:5px 8px}.palettes-modal__paste-input:focus{outline:none;border-color:var(--border-focus)}.palettes-modal__report{display:flex;flex-direction:column;gap:2px;padding:var(--space-2);font-size:var(--font-size-xs);line-height:1.45;color:var(--text-secondary);background:var(--bg-surface-hover);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm);overflow-wrap:anywhere}.palettes-modal__report--warn{color:#b42318;border-color:#b42318}:root[data-theme=dark] .palettes-modal__report--warn,:root[data-theme=dark] .palettes-modal__btn--danger:hover:not(:disabled){color:#ff7b72;border-color:#ff7b72}.toolbar{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--bg-panel);border-bottom:1px solid var(--border-subtle);flex-shrink:0;height:auto;position:relative}.toolbar__left{position:relative;flex-shrink:0;display:flex;align-items:baseline;gap:var(--space-2)}.toolbar__brand{font-family:var(--font-sans);font-size:28px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;background:none;border:none;padding:0;margin:0;cursor:pointer;line-height:inherit;transition:color var(--transition-fast)}.toolbar__brand:hover{color:var(--border-focus)}.toolbar__brand:focus-visible{outline:1px solid var(--border-focus);outline-offset:2px}.toolbar__contact-popover,.toolbar__local-popover,.toolbar__overflow-menu,.toolbar__prefs-popover{z-index:100;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-lg)}.toolbar__contact-popover{position:absolute;top:calc(100% + 6px);left:0;min-width:264px}.toolbar__contact-label{font-family:var(--font-sans);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.toolbar__contact-name{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);padding-bottom:4px;border-bottom:1px solid var(--border-subtle)}.toolbar__contact-funding{margin-top:2px;padding-top:var(--space-2);border-top:1px solid var(--border-subtle);font-family:var(--font-sans);font-size:10px;line-height:1.5;color:var(--text-secondary);max-width:260px}.toolbar__contact-logos{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-3);margin-top:2px}.toolbar__contact-logo{height:26px;width:auto;object-fit:contain}.toolbar__contact-logo--eu{height:30px}.toolbar__contact-logo--nap{height:48px}.toolbar__contact-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.toolbar__contact-link{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-primary);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toolbar__contact-link:hover{text-decoration:underline;color:var(--border-focus)}.toolbar__contact-copy{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;height:var(--ctl-size);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;line-height:1;padding:0 8px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;min-width:48px;text-align:center;transition:border-color var(--transition-fast),color var(--transition-fast)}.toolbar__contact-copy:hover{border-color:var(--border-focus);color:var(--text-primary)}.toolbar__version{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:500;color:var(--text-secondary);letter-spacing:0}.toolbar__center{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.toolbar__name-label{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);white-space:nowrap}.toolbar__name-input{height:var(--ctl-size);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--border-radius-sm);padding:0 var(--space-3);text-align:left;min-width:200px;max-width:400px;transition:border-color var(--transition-fast),background var(--transition-fast)}.toolbar__name-input:hover{border-color:var(--border-focus)}.toolbar__name-input:focus{outline:none;border-color:var(--border-focus);background:var(--bg-input)}.toolbar__right{flex-shrink:0;display:flex;align-items:center;gap:var(--space-2)}.toolbar__export{display:inline-flex;align-items:center;justify-content:center;height:var(--ctl-size);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:700;letter-spacing:.05em;line-height:1;text-transform:uppercase;color:#fff;background:var(--text-accent);border:1px solid var(--text-accent);border-radius:var(--border-radius-sm);padding:0 14px;cursor:pointer;transition:filter var(--transition-fast);align-self:center}.toolbar__export:hover{filter:brightness(1.1)}.toolbar__export:focus-visible{outline:1px solid var(--border-focus);outline-offset:2px}.toolbar__export-wrap{position:relative;display:flex;align-self:center}.toolbar__local-popover.toolbar__export-popover{min-width:264px}.toolbar__export-check{display:flex;align-items:flex-start;gap:var(--space-2);font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--text-primary);cursor:pointer}.toolbar__export-check input{margin:2px 0 0;accent-color:var(--text-accent)}.toolbar__export-check--off{color:var(--text-secondary);cursor:default}.toolbar__export-popover .toolbar__export-alt{align-self:flex-start;display:inline-flex;align-items:center;min-height:calc(var(--ctl-size) - 6px);padding:4px 10px;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;line-height:1.2;text-align:left;color:var(--text-accent);background:var(--bg-surface);border:1px solid var(--text-accent);border-radius:var(--border-radius-sm);cursor:pointer;margin-bottom:var(--space-1);transition:background var(--transition-fast)}.toolbar__export-popover .toolbar__export-alt:hover{background:var(--bg-panel)}.toolbar__export-popover .toolbar__export-alt:focus-visible{outline:1px solid var(--border-focus);outline-offset:2px}.toolbar__export-popover .toolbar__export-alt[aria-busy=true]{cursor:progress;color:var(--text-secondary);border-color:var(--text-secondary)}.toolbar__workfolder{position:relative;display:flex;align-self:center}button.toolbar__sc-link.toolbar__wf-save{text-transform:uppercase;border-top-right-radius:0;border-bottom-right-radius:0}button.toolbar__sc-link.toolbar__wf-save.toolbar__wf-save--saved{color:#067647;border-color:#067647}button.toolbar__sc-link.toolbar__wf-link--unavailable,button.toolbar__sc-link.toolbar__wf-link--unavailable:hover{opacity:.5;cursor:default;color:var(--text-primary);background:var(--bg-surface);border-color:var(--border-subtle)}button.toolbar__sc-link.toolbar__wf-caret{border-top-left-radius:0;border-bottom-left-radius:0;border-left:0;padding:0 8px}.toolbar__wf-caret svg{width:10px;height:10px;display:block;fill:currentColor}.toolbar__local-popover.toolbar__wf-popover{min-width:300px;max-height:60vh;overflow-y:auto}button.toolbar__local-row.toolbar__wf-row{font-family:var(--font-sans);width:100%;text-align:left;cursor:pointer}.toolbar__wf-row-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.toolbar__local-row.toolbar__wf-row--current{border-color:var(--border-focus);box-shadow:inset 3px 0 0 var(--border-focus);font-weight:600}.toolbar__wf-forget{font-family:var(--font-sans);font-size:10px;color:var(--text-secondary);background:none;border:none;padding:0;cursor:pointer;align-self:flex-start;text-decoration:underline}.toolbar__wf-forget:hover{color:#b42318}.toolbar__sc-link.toolbar__theme-toggle{font-size:16px;line-height:1;padding:0 10px}.toolbar__sc-link.toolbar__refresh{display:inline-flex;align-items:center;justify-content:center;padding:0 10px;background:var(--text-primary);color:var(--bg-surface);border-color:var(--text-primary)}.toolbar__sc-link.toolbar__refresh:hover{background:var(--border-focus);border-color:var(--border-focus);color:#fff}.toolbar__sc-link.toolbar__intro{min-width:30px;font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:700;font-size:15px}.toolbar__sc-link.toolbar__feedback{display:inline-flex;align-items:center;justify-content:center;min-width:30px;padding:0 10px;font-size:17px;font-weight:800;line-height:1;color:#fff;background:#d92d20;border-color:#d92d20}.toolbar__sc-link.toolbar__feedback:hover{background:#b42318;border-color:#b42318;color:#fff}.toolbar__sc-link.toolbar__feedback:focus-visible{outline:1px solid #d92d20;outline-offset:2px}.toolbar__eval-badge{display:inline-flex;align-items:center;height:var(--ctl-size);padding:0 7px;font-size:10px;font-weight:800;letter-spacing:.08em;line-height:1;color:#d92d20;border:1px solid #d92d20;border-radius:var(--border-radius-sm);user-select:none;cursor:default}.toolbar__refresh svg{width:15px;height:15px;display:block;fill:currentColor}.toolbar__local{position:relative}.toolbar__local-popover{position:absolute;top:calc(100% + 6px);right:0;min-width:236px}.toolbar__local-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding-bottom:4px;border-bottom:1px solid var(--border-subtle)}.toolbar__local-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:6px 8px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm);text-decoration:none;transition:border-color var(--transition-fast),background var(--transition-fast)}.toolbar__local-row:hover{border-color:var(--border-focus);background:var(--bg-surface)}.toolbar__local-os{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.toolbar__local-detail{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--text-secondary);white-space:nowrap}.toolbar__local-note{font-family:var(--font-sans);font-size:10px;line-height:1.5;color:var(--text-secondary);max-width:220px}.toolbar__sc-link{display:inline-flex;align-items:center;justify-content:center;height:var(--ctl-size);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:700;letter-spacing:.04em;line-height:1;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm);padding:0 12px;text-decoration:none;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.toolbar__sc-link:hover{border-color:var(--border-focus);color:var(--border-focus);background:var(--bg-panel)}.toolbar__sc-link:focus-visible{outline:1px solid var(--border-focus);outline-offset:2px}.toolbar__sc-link.toolbar__lang{padding:0 8px;min-width:34px}.toolbar__vr-popover{min-width:300px;max-width:340px}.toolbar__vr-note{max-width:none}.toolbar__vr-live{font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:600;color:#1a7f37;text-transform:uppercase;letter-spacing:.04em}.toolbar__vr-action{display:inline-flex;align-items:center;justify-content:center;height:var(--ctl-size);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;line-height:1;padding:0 10px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm);color:var(--text-primary);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.toolbar__vr-action:hover:not(:disabled){border-color:var(--text-accent);color:var(--text-accent)}.toolbar__vr-action:disabled{opacity:.6;cursor:default}.toolbar__vr-url-row{display:flex;align-items:center;gap:var(--space-2)}.toolbar__vr-url{flex:1;font-family:var(--font-mono);font-size:var(--font-size-sm);padding:4px 6px;background:var(--bg-surface-hover);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm);user-select:all;overflow-wrap:anywhere}.toolbar__vr-hint{font-family:var(--font-sans);font-size:10px;line-height:1.5;color:var(--text-secondary)}.toolbar__vr-hint ol{margin:var(--space-1) 0 0;padding-left:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.toolbar__vr-hint code{font-family:var(--font-mono);font-size:10px;background:var(--bg-surface-hover);padding:0 3px;overflow-wrap:anywhere}.toolbar__vr-error{font-family:var(--font-sans);font-size:10px;line-height:1.4;color:#b42318}:root[data-theme=dark] .toolbar__contact-popover,:root[data-theme=dark] .toolbar__local-popover{box-shadow:var(--shadow-lg),0 0 0 1px #ffffff0f}:root[data-theme=dark] .toolbar__vr-live{color:#3fb950}:root[data-theme=dark] .toolbar__sc-link.toolbar__feedback{background:#e5484d;border-color:#e5484d}:root[data-theme=dark] .toolbar__sc-link.toolbar__feedback:hover{background:#f2555a;border-color:#f2555a}:root[data-theme=dark] .toolbar__eval-badge{color:#e5484d;border-color:#e5484d}:root[data-theme=dark] .toolbar__vr-error{color:#ff7b72}:root[data-theme=dark] .toolbar__export-popover .toolbar__export-alt{color:#9dbdff;border-color:#9dbdff}:root[data-theme=dark] button.toolbar__sc-link.toolbar__wf-save.toolbar__wf-save--saved{color:#3fb950;border-color:#3fb950}:root[data-theme=dark] .toolbar__wf-forget:hover{color:#ff7b72}.toolbar__overflow{position:relative;display:flex;align-items:center}.toolbar__sc-link.toolbar__overflow-btn{padding:0 10px}.toolbar__overflow-btn svg{width:16px;height:16px;display:block;fill:currentColor}.toolbar__overflow-menu{position:absolute;top:calc(100% + 6px);right:0;align-items:stretch;min-width:168px}.toolbar__overflow-menu .toolbar__local{display:flex;align-self:stretch}.toolbar__overflow-menu .toolbar__local>.toolbar__sc-link{flex:1}.toolbar__overflow-menu .toolbar__local-popover{top:0;left:auto;right:100%;margin-right:var(--space-2)}.toolbar__reload-wrap{display:flex;align-self:center}.toolbar__local-popover.toolbar__reload-popover{min-width:180px}button.toolbar__local-row.toolbar__reload-row{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--text-primary);width:100%;text-align:left;cursor:pointer}.toolbar__prefs-popover{position:fixed;width:200px}.toolbar__prefs-row{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;user-select:none}.toolbar__prefs-label{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.toolbar__wf-header-actions{display:flex;gap:var(--space-2);flex:none}.preview-route{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:5;transition:opacity .16s ease}.preview-route__line{stroke:var(--border-focus);stroke-width:2.5;stroke-linecap:round;filter:drop-shadow(1px 1px 0 var(--node-cost-text-shadow, rgba(0, 0, 0, .35)))}.preview-route__dot{fill:var(--border-focus)}.preview-node{position:relative}.preview-node__canvas-wrap{padding:3px 5px;display:flex;justify-content:center}.preview-node__canvas{width:96px;height:96px;border-radius:var(--border-radius-sm);border:1px solid rgba(var(--node-ink-rgb),.1);image-rendering:pixelated}.preview-node>.react-flow__handle{transform:translateY(-50%)!important}.preview-node>.react-flow__handle-left{left:calc(var(--handle-size) / -2)!important}.preview-node>.react-flow__handle-right{right:calc(var(--handle-size) / -2)!important}.preview-node__range{position:absolute;right:3px;bottom:1px;font-size:8px;font-weight:700;line-height:1;color:#e74c3c;pointer-events:none}.math-preview-node{position:relative}.math-preview-node__canvas-wrap{padding:3px 5px;display:flex;flex-direction:column;align-items:center;gap:2px}.math-preview-node__canvas{width:72px;height:72px;border-radius:var(--border-radius-sm);border:1px solid rgba(var(--node-ink-rgb),.1)}.math-preview-node__port-row{display:flex;align-items:center;justify-content:space-between;padding:0 5px;min-height:16px;position:relative}.math-preview-node__left{display:flex;align-items:center;gap:2px}.math-preview-node__port-row .react-flow__handle{top:50%!important;transform:translateY(-50%)!important}.math-preview-node__port-row .react-flow__handle-left{left:calc(var(--handle-size) / -2)!important}.math-preview-node>.react-flow__handle{transform:translateY(-50%)!important}.math-preview-node>.react-flow__handle-right{right:calc(var(--handle-size) / -2)!important}.clock-node{position:relative}.clock-node__canvas-wrap{padding:3px 5px;display:flex;justify-content:center;position:relative}.clock-node__canvas{width:56px;height:56px;border-radius:50%}.clock-node__canvas-wrap>.react-flow__handle{top:50%!important;transform:translateY(-50%)!important}.clock-node__speed-row>.react-flow__handle{top:auto!important;bottom:calc(4px + 6px * var(--node-text-scale, 1))!important;transform:translateY(50%)!important}.clock-node__canvas-wrap>.react-flow__handle-left,.clock-node__speed-row>.react-flow__handle-left{left:calc(var(--handle-size) / -2)!important}.clock-node__canvas-wrap>.react-flow__handle-right,.clock-node__speed-row>.react-flow__handle-right{right:calc(var(--handle-size) / -2)!important}.clock-node__speed-row{position:relative;display:flex;flex-direction:column;align-items:center;gap:1px;padding:0 5px 4px}.clock-node__speed-x{font:700 calc(8px * var(--node-text-scale, 1)) var(--font-mono);color:rgba(var(--node-ink-rgb),.55);line-height:1}.clock-node__speed-row .drag-num--compact,.clock-node__speed-wired{width:70%;justify-content:center}.clock-node__speed-wired{display:flex;align-items:center}.sound-node__body{position:relative}.sound-node__body .react-flow__handle{z-index:2}.sound-node__body>.react-flow__handle{transform:translateY(-50%)!important}.sound-node__body>.react-flow__handle-left{left:calc(var(--handle-size) / -2)!important}.sound-node__body>.react-flow__handle-right{right:calc(var(--handle-size) / -2)!important}.mesh-picker{display:flex;align-items:center;gap:2px;flex:1;min-width:0;max-width:104px;height:20px;padding:0 4px;border:1px solid var(--border-subtle);border-radius:0;background:var(--node-plate);font-family:var(--font-sans);color:rgba(var(--node-ink-rgb),.85);cursor:pointer;text-align:left}.mesh-picker:hover{border-color:rgba(var(--node-ink-rgb),.35)}.mesh-picker__label,.mesh-picker__name{font-size:11.7px;font-weight:700;line-height:1.1}.mesh-picker__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mesh-picker__more{flex:none;font-size:11.7px;font-weight:700;opacity:.6}.mesh-picker__caret{flex:none;width:0;height:0;margin-left:1px;border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid rgba(var(--node-ink-rgb),.45)}.mesh-picker--missing,.mesh-picker--unassigned,.mesh-picker--silent{border-color:var(--cost-high);color:var(--cost-high)}.mesh-picker--shadowed,.mesh-picker--unused,.mesh-picker--parked{opacity:.55}.mesh-picker--material{cursor:default;background:transparent;border-style:dashed}.mesh-picker--material:hover{border-color:var(--border-subtle)}.mesh-picker__pop{position:fixed;z-index:var(--z-menu);min-width:150px;max-width:260px;max-height:260px;overflow-y:auto;padding:3px;border:1px solid var(--border-default);border-radius:var(--border-radius-sm);background:var(--bg-panel);box-shadow:var(--shadow-float)}.mesh-picker__row{display:flex;align-items:center;gap:6px;padding:3px 5px;border-radius:0;cursor:pointer}.mesh-picker__row:hover{background:#7f7f7f29}.mesh-picker__row input{flex:none;margin:0;cursor:pointer}.mesh-picker__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.mesh-picker__row--default{border-bottom:1px solid var(--border-subtle);border-radius:0;margin-bottom:2px}.mesh-picker__row--missing .mesh-picker__name{color:var(--cost-high)}.mesh-picker__row--capped,.mesh-picker__row--capped input{opacity:.45;cursor:default}.mesh-picker__row--capped:hover{background:transparent}.output-node{position:relative;width:fit-content;min-width:140px;border:none;border-radius:var(--border-radius-md);box-shadow:var(--fs-node-lift, var(--shadow-node));scale:var(--fs-node-scale, 1);transition:box-shadow var(--transition-fast),translate var(--transition-fast);font-family:var(--font-sans);overflow:visible}.output-node--selected{--fs-node-lift: var(--shadow-node-selected)}.output-node__header{display:flex;align-items:center;padding:3px 8px;border-bottom:1px solid rgba(var(--node-ink-rgb),.1);border-radius:var(--border-radius-md) var(--border-radius-md) 0 0;background:var(--cat-output)}.output-node__preview-socket{position:absolute;top:50%;right:calc(var(--handle-size) * -1);width:calc(var(--handle-size) * 2);height:calc(var(--handle-size) * 2);padding:0;transform:translateY(-50%);border:var(--handle-border) solid white;border-radius:50%;background:rgb(var(--node-ink-rgb));box-shadow:0 0 0 1px #00000026;pointer-events:none}.output-node__preview-socket--inactive{background:var(--node-plate);box-shadow:0 0 0 1px #00000026,inset 0 0 0 2px rgb(var(--node-ink-rgb))}.react-flow .output-node__preview-socket{background:var(--node-cost-text, #000);pointer-events:auto;cursor:pointer}.react-flow .output-node__preview-socket--inactive{background:var(--node-bg);box-shadow:0 0 0 1px #00000026,inset 0 0 0 2px var(--node-cost-text, #000)}.react-flow .output-node__preview-socket--inactive:hover{box-shadow:0 0 0 1px #00000026,inset 0 0 0 4px var(--node-cost-text, #000)}.react-flow .output-node__preview-socket--fixed{cursor:default}.react-flow .output-node .node-base__cost-badge{font-size:24px;top:-26px}.output-node--inactive .node-base__cost-badge{opacity:.45}.output-node__material{position:relative}.output-node__material--unused .output-node__section,.output-node__material--parked .output-node__section{opacity:.55}.output-node__mesh-row{display:flex;align-items:center;gap:4px;padding:3px 8px 1px}.output-node__dormant{margin:3px 8px 4px;padding:2px 6px;border:1px dashed var(--border-subtle);border-radius:0;font-size:8px;color:rgba(var(--node-ink-rgb),.45);text-align:center}.output-node--dormant .output-node__dormant{margin-top:4px}.output-node__title{font-size:10px;font-weight:700;color:#fff;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.output-node__section{padding:2px 0}.output-node__section-label{font-size:8px;font-weight:600;color:rgba(var(--node-ink-rgb),.4);text-transform:uppercase;letter-spacing:.5px;padding:3px 8px 1px}.output-node__row{position:relative;display:flex;align-items:center;min-height:18px;padding:0 8px;gap:2px}.output-node__row .react-flow__handle{top:50%!important;transform:translateY(-50%)!important}.output-node__row .react-flow__handle-left{left:calc(var(--handle-size) / -2)!important}.output-node__port-label{font-size:9px;color:rgba(var(--node-ink-rgb),.6);white-space:nowrap;padding-left:4px}.output-node__val{margin-left:2px;width:20px;flex-shrink:0}.output-node__val .drag-num__arrow{display:none}.output-node__val .drag-num{width:100%}.output-node__row .shader-node__edge-val.output-node__val{display:inline-flex;align-items:center;justify-content:center}.output-node--sdf .output-node__val{width:32px}.output-node__subdivider{height:1px;margin:2px 10px;background:rgba(var(--node-ink-rgb),.06)}.output-node__original{display:block;font-size:8px;font-weight:400;letter-spacing:.2px;text-transform:none;line-height:1.2;opacity:.85}.group-node{position:relative;border:calc(2px * var(--fs-node-border-scale, 1)) solid;border-radius:0;overflow:visible}.group-node--selected{box-shadow:0 0 0 2px #6382ff40}.group-node__header{display:flex;align-items:center;gap:6px;height:22px;padding:0 4px 0 10px;cursor:grab;user-select:none}.group-node__label{font-size:var(--font-size-xs);font-weight:600;color:#fff;text-shadow:1px 1px 0 rgba(0,0,0,.45);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:0}.group-node__toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;font-size:14px;font-weight:700;line-height:1;color:#fff;background:rgba(var(--node-ink-rgb),.18);border:1px solid rgba(255,255,255,.35);border-radius:0;cursor:pointer;transition:background .12s ease}.group-node__toggle:hover{background:rgba(var(--node-ink-rgb),.32)}@media(pointer:coarse){.group-node__toggle{width:28px;height:28px;font-size:18px}}.group-node--collapsed{border-radius:0;overflow:visible;box-shadow:var(--fs-node-lift, var(--shadow-node));scale:var(--fs-node-scale, 1);transition:box-shadow var(--transition-fast),translate var(--transition-fast)}.group-node--collapsed.group-node--selected{--fs-node-lift: var(--shadow-node-selected)}.group-node--collapsed .group-node__header{border-bottom-left-radius:0;border-bottom-right-radius:0;height:28px;flex-shrink:0}.group-node__socket{position:absolute;left:0;right:0;height:18px;display:flex;align-items:center;pointer-events:none;transform:translateY(-50%)}.group-node__socket--in{justify-content:flex-start;padding-left:10px}.group-node__socket--out{justify-content:flex-end;padding-right:10px}.group-node__socket-label{font-size:9px;font-weight:600;color:rgba(var(--node-ink-rgb),.7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90px;pointer-events:none}.react-flow__node.react-flow__node-group{z-index:-1!important}.react-flow__node.react-flow__node-group,.react-flow__node-group .group-node{pointer-events:none!important}.react-flow__node-group .group-node--collapsed,.react-flow__node-group .group-node__header,.react-flow__node-group .react-flow__resize-control{pointer-events:auto!important}.note-node{display:flex;flex-direction:column;border:calc(1px * var(--fs-node-border-scale, 1)) solid rgba(var(--node-ink-rgb),.18);border-radius:var(--border-radius-sm);box-shadow:var(--fs-node-lift, var(--shadow-node));scale:var(--fs-node-scale, 1);transition:box-shadow var(--transition-fast),translate var(--transition-fast);overflow:hidden}.note-node--selected{--fs-node-lift: var(--shadow-node-selected)}.note-node__header{flex:0 0 auto;padding:3px 8px;font-family:var(--font-sans);font-weight:700;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:grab;user-select:none}.note-node__header:active{cursor:grabbing}.note-node__body{flex:1;width:100%;border:none;background:transparent;resize:none;padding:6px 8px;font-family:var(--font-sans);line-height:1.4;outline:none;overflow:auto}.note-node__body::placeholder{opacity:.5}.react-flow__node.react-flow__node-note{z-index:500!important}.react-flow__node.react-flow__node-note.selected,.react-flow__node.react-flow__node-note.dragging{z-index:1000!important}.edge-info-card{position:absolute;pointer-events:all;z-index:9999;padding:2px 10px;border-radius:0;box-shadow:var(--shadow-float);font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:700;color:#fff;white-space:nowrap;background:#2a2a2a;display:flex;align-items:center;gap:6px;animation:edge-info-enter .15s ease-out}.edge-info-card__values{display:flex;flex-direction:column;align-items:stretch;gap:1px;font-family:var(--font-mono);font-weight:400;font-size:10px}.edge-info-card__channel{display:flex;align-items:center;gap:4px}.edge-info-card__label{font-weight:700;font-size:9px}.edge-info-card__num{opacity:.95;color:#fff}@keyframes edge-info-enter{0%{opacity:0}to{opacity:1}}:root[data-theme=dark] .edge-info-card{background:#5f6570;border:1px solid rgba(255,255,255,.14)}.connection-stub{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:calc(var(--z-menu) - 1);overflow:visible}.connection-stub path{fill:none;stroke-width:2;stroke-linecap:round}.context-menu{position:fixed;z-index:var(--z-menu);background:var(--bg-panel);border:1px solid var(--border-default);border-radius:var(--border-radius-md);box-shadow:var(--shadow-float);overflow:hidden;min-width:260px;max-height:min(520px,calc(100vh - 16px));max-width:calc(100vw - 16px);display:flex;flex-direction:column;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-md: 16px}.context-menu--add-node{width:280px}.context-menu--add-node .context-menu__item{overflow-wrap:break-word}.context-menu--add-node .context-menu__item>span:first-child{min-width:0}.context-menu--add-node .context-menu__item-category{flex:none;white-space:nowrap}.context-menu__item-cost{margin-left:var(--space-2);font-size:var(--font-size-xs);font-weight:600;font-variant-numeric:tabular-nums}.context-menu input[type=checkbox]{width:14px!important;height:14px!important}.context-menu .context-menu__color{width:80px;height:18px;padding:0;border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm);cursor:pointer}.context-menu__search{width:100%;padding:var(--space-2) var(--space-3);background:var(--bg-input);border:none;border-bottom:1px solid var(--border-subtle);color:var(--text-primary);font-size:var(--font-size-sm);outline:none}.context-menu__search::placeholder{color:var(--text-muted)}.context-menu__list{overflow-y:auto;overflow-x:auto;flex:1;min-height:0}.context-menu:not(.context-menu--add-node) .context-menu__list>*{min-width:max-content}.context-menu__category{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-app);position:sticky;top:0}.context-menu__item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--text-primary);transition:background var(--transition-fast);text-align:left}.context-menu__item:hover{background:var(--bg-surface-hover)}.context-menu__item:disabled{opacity:.4;cursor:default}.context-menu__item:disabled:hover{background:none}.context-menu__item--focused,.context-menu__item--focused:hover{background:var(--bg-surface-hover);box-shadow:inset 2px 0 0 var(--border-focus)}.context-menu__item--danger{color:#c0392b}.context-menu__item--danger:hover{background:#e74c3c1a;color:#c0392b}:root[data-theme=dark] .context-menu__item--danger,:root[data-theme=dark] .context-menu__item--danger:hover{color:#ff6b5e}.context-menu__item-category{font-size:var(--font-size-xs);color:var(--text-muted)}.context-menu__divider{height:1px;background:var(--border-subtle);margin:var(--space-1) 0}@media(pointer:coarse){.context-menu{min-width:300px}.context-menu__item{padding:var(--space-3) var(--space-4);font-size:var(--font-size-md)}.context-menu__search{padding:var(--space-3) var(--space-3);font-size:var(--font-size-md)}}.context-menu__construction{padding:var(--space-2) var(--space-3);max-width:260px}.context-menu:not(.context-menu--add-node) .context-menu__list>.context-menu__construction{min-width:0}.context-menu__construction pre{margin:0;max-height:150px;overflow-y:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--font-mono);font-size:10px;line-height:1.45;color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--border-subtle);padding:var(--space-2);user-select:text}.context-menu .context-menu__texture-grid{display:grid;grid-template-columns:repeat(4,44px);gap:4px;max-height:148px;overflow-y:auto;padding:var(--space-1) var(--space-3)}.context-menu .context-menu__texture-cell{width:44px;height:44px;padding:0;border:1px solid var(--border-default);background:var(--bg-app);cursor:pointer}.context-menu .context-menu__texture-cell[aria-selected=true]{outline:2px solid var(--border-focus);outline-offset:-2px}.context-menu .context-menu__texture-cell:disabled{cursor:default;opacity:.5}.context-menu .context-menu__texture-cell img{width:100%;height:100%;object-fit:contain;display:block}.context-menu .context-menu__texture-pending{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:var(--font-size-sm);color:var(--text-secondary)}.context-menu .fs-lut-editor{width:236px;padding:0 var(--space-3);box-sizing:content-box}.fs-lut-editor__toolbar,.fs-lut-editor__stepper{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) 0}.fs-lut-editor__stepper{justify-content:space-between}.fs-lut-editor__btn{min-width:24px;height:22px;padding:0 var(--space-1);border:1px solid var(--border-subtle);border-radius:0;background:var(--bg-input);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer}.fs-lut-editor__btn:hover{background:var(--bg-surface-hover)}.fs-lut-editor__btn[aria-disabled=true]{opacity:.4;cursor:default}.fs-lut-editor__select{margin-left:auto;font-size:var(--font-size-xs)}.fs-lut-editor__count{font-size:var(--font-size-xs);color:var(--text-secondary)}.fs-lut-editor__bar{position:relative;width:236px;height:40px;margin:var(--space-1) 0}.fs-lut-editor__strip{display:block;box-sizing:border-box;width:236px;height:24px;border:1px solid var(--border-default);border-radius:0;pointer-events:none}.fs-lut-editor__hit{position:absolute;left:0;top:0;overflow:visible}.fs-lut-editor__marker{cursor:ew-resize;outline:none}.fs-lut-editor__marker-body{stroke:var(--text-primary)}.fs-lut-editor__marker-shadow{fill:var(--text-primary)}.fs-lut-editor__marker:focus-visible .fs-lut-editor__marker-body{stroke:var(--border-focus)}.fs-lut-editor__tab[aria-pressed=true]{background:var(--bg-surface-hover);border-color:var(--text-primary)}.fs-lut-editor__plotbox{width:236px;height:200px;margin:var(--space-1) 0;outline:1px solid var(--border-default);outline-offset:-1px}.fs-lut-editor__plot{display:block;cursor:crosshair}.fs-lut-editor__plot:focus{outline:none}:root[data-theme=dark] .fs-lut-editor__plot .fs-curves__inactive{stroke-opacity:.9}.fs-lut-editor__plot:focus-visible{outline:1px solid var(--border-focus);outline-offset:-1px}.fs-lut-editor__point{cursor:move}.fs-lut-editor__point-body{fill:var(--bg-input);stroke:var(--text-primary)}.asset-tooltip{position:fixed;transform:translate(-50%);z-index:var(--z-overlay);max-width:260px;padding:5px 9px;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:500;line-height:1.45;color:var(--text-primary);background:var(--bg-panel);border:1px solid var(--border-default);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-md);pointer-events:none;text-align:left}.node-preview-card{flex-shrink:0;cursor:grab;user-select:none;padding:20px calc(8px + var(--fs-sock-r, 0px)) 6px calc(8px + var(--fs-sock-l, 0px));zoom:.67;transition:scale var(--transition-fast)}.node-preview-card:hover{--fs-node-lift: var(--shadow-node-selected);scale:var(--fs-node-grow)}.node-preview-card:active{cursor:grabbing;opacity:.7}.node-preview-card__node{pointer-events:none}.node-preview-card .node-base__title{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:normal}.node-preview-card__inert{pointer-events:none;display:inline-flex}.node-preview-card__color-scale{transform-origin:top left;pointer-events:none}.node-preview-card__color-scale .color-node{cursor:inherit}.content-browser{position:relative;border-top:var(--fs-seam) solid var(--edge-color);transition:border-color var(--transition-fast);background:var(--bg-raised);display:flex;flex-direction:column;overflow:visible;min-height:0;max-height:calc(100% - 120px)}.content-browser__resizer{position:absolute;top:calc(-1 * var(--fs-seam));left:0;right:0;height:var(--fs-seam);z-index:var(--z-controls)}.content-browser:has(>.content-browser__resizer:hover),.content-browser:has(>.content-browser__resizer:focus-visible),.content-browser:has(>.content-browser__resizer.fs-seam--dragging),:has(>.split-pane__divider[data-fs-junction=bar]) .content-browser{border-top-color:var(--border-focus)}.content-browser__scroll-wrapper{position:relative;display:flex;flex-shrink:0;--fs-arrow-bg: var(--bg-raised-sub)}.content-browser__scroll-wrapper:last-child{--fs-arrow-bg: var(--bg-raised);flex:1;min-height:0;overflow-y:hidden}.content-browser__categories{display:flex;align-items:flex-end;gap:0;padding:0 var(--space-2);overflow-x:auto;flex:1;border-bottom:1px solid var(--border-subtle);background:var(--bg-raised-sub);position:relative;scrollbar-width:none}.content-browser__categories::-webkit-scrollbar{display:none}.content-browser__search{flex-shrink:0;width:124px;padding:3px 8px;margin-right:6px;margin-bottom:3px;font-size:var(--font-size-xs);font-family:var(--font-sans);font-weight:600;color:var(--text-primary);background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm);outline:none;align-self:center}.content-browser__search:focus{border-color:var(--text-secondary)}.content-browser__search::placeholder{color:var(--text-muted);font-weight:500}.content-browser__cat-btn{flex-shrink:0;padding:5px 14px 4px;font-size:var(--font-size-sm);font-family:var(--font-sans);font-weight:600;cursor:pointer;transition:color .15s,background .15s;border:1px solid transparent;border-bottom:1px solid var(--border-subtle);border-radius:var(--border-radius-sm) var(--border-radius-sm) 0 0;background:var(--bg-raised-sub);color:var(--text-secondary);position:relative;bottom:-1px}.content-browser__cat-btn:hover{color:var(--text-primary);background:#00000005}:root[data-theme=dark] .content-browser__cat-btn:hover{background:#ffffff0f}.content-browser__cat-btn:after{content:attr(data-label);display:block;height:0;overflow:hidden;visibility:hidden;font-weight:700;pointer-events:none}.content-browser__cat-btn--active{color:var(--text-primary);font-weight:700;padding-top:9px;border-color:var(--border-subtle);border-bottom-color:transparent}.content-browser__items{overflow-x:auto;overflow-y:hidden;padding:var(--space-1) var(--space-3) var(--space-2);display:flex;flex:1;flex-wrap:nowrap;gap:2px;align-items:flex-start;scrollbar-width:none}.content-browser__items::-webkit-scrollbar{display:none}.content-browser__empty{padding:var(--space-4) var(--space-3);color:var(--text-muted);font-size:var(--font-size-xs);font-style:italic}.saved-group-card{position:relative;flex-shrink:0;width:140px;margin:var(--space-2) var(--space-1) 0;cursor:grab;user-select:none;zoom:.67}.saved-group-card--preview{width:108px}.saved-group-card--preview .saved-group-card__title{min-height:2.4em}.saved-group-card:active{cursor:grabbing}.saved-group-card__frame{border:2px solid;border-radius:0;overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.saved-group-card:hover .saved-group-card__frame{box-shadow:var(--shadow-lg);scale:var(--fs-node-grow)}.saved-group-card__header{display:flex;align-items:center;min-height:22px;padding:2px 8px}.saved-group-card__title{font-size:var(--font-size-xs);font-weight:600;color:#fff;text-shadow:1px 1px 0 rgba(0,0,0,.45);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;line-height:1.2}.saved-group-card__body{padding:var(--space-1);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:40px}.saved-group-card__count{font-size:var(--font-size-xs);color:var(--text-secondary);font-weight:500}.saved-group-card__delete{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border:none;border-radius:50%;background:var(--bg-panel);color:var(--text-secondary);font-size:14px;line-height:1;cursor:pointer;box-shadow:var(--shadow-sm);display:none;align-items:center;justify-content:center;padding:0}.saved-group-card:hover .saved-group-card__delete{display:flex}.saved-group-card__delete:hover{background:#e74c3c;color:#fff}@media(pointer:coarse){.content-browser__cat-btn{padding:10px 18px 9px;font-size:11px}.content-browser__search{padding:8px 10px;font-size:11px;width:140px}.saved-group-card__delete{display:flex;top:-10px;right:-10px;width:28px;height:28px;font-size:18px}}.cost-profile-modal__field{display:flex;flex-direction:column;gap:4px;margin-top:12px;font-size:var(--font-size-sm);color:var(--text-secondary)}.cost-profile-modal__field input{padding:6px 8px;font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm)}.cost-profile-modal__field input:focus{outline:none;border-color:var(--border-focus)}.cost-profile-modal__choices{display:flex;flex-direction:column;gap:8px;margin-top:12px}.cost-profile-modal__choice{display:flex;align-items:flex-start;gap:8px;font-size:var(--font-size-sm);color:var(--text-primary);cursor:pointer}.cost-profile-modal__choice--off{color:var(--text-secondary);opacity:.6;cursor:default}.cost-profile-modal__choice input{margin-top:2px;flex:none}.cost-bar{padding:var(--space-3);flex-shrink:0;border-radius:var(--border-radius-sm);transition:box-shadow var(--transition-fast),background var(--transition-fast)}.cost-bar--drop{box-shadow:inset 0 0 0 2px var(--border-focus);background:#3366cc14;background:color-mix(in srgb,var(--border-focus) 8%,transparent)}.cost-bar__override{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap}.cost-bar__override-tag{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.cost-bar__override--warn .cost-bar__override-tag{color:var(--cost-high)}.cost-bar__override-btn{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm);padding:1px var(--space-2);cursor:pointer;transition:border-color var(--transition-fast)}.cost-bar__override-btn:hover{border-color:var(--border-default)}.cost-bar__device-row{display:flex;align-items:stretch;gap:var(--space-1);margin-bottom:var(--space-2)}.cost-bar__headset-select{flex:1;min-width:0;font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:500;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm);padding:var(--space-1) var(--space-2);cursor:pointer;transition:border-color var(--transition-fast)}.cost-bar__device-remove{flex-shrink:0;font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm);padding:0 var(--space-2);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.cost-bar__device-remove:hover{border-color:var(--cost-high);color:var(--cost-high)}.cost-bar__bench-offer{display:flex;align-items:center;gap:var(--space-1);margin-top:var(--space-1);padding:2px var(--space-1) 2px var(--space-2);font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--text-primary);background:#3366cc14;background:color-mix(in srgb,var(--border-focus) 8%,transparent);border:1px solid var(--border-focus);border-radius:var(--border-radius-sm)}.cost-bar__bench-offer-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cost-bar__bench-add{flex-shrink:0;font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:700;color:#fff;background:var(--border-focus);border:1px solid var(--border-focus);border-radius:var(--border-radius-sm);padding:1px var(--space-2);cursor:pointer}.cost-bar__bench-add:hover{filter:brightness(1.1)}.cost-bar__bench-dismiss{flex-shrink:0;font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--text-secondary);background:transparent;border:none;padding:1px var(--space-1);cursor:pointer}.cost-bar__bench-dismiss:hover{color:var(--cost-high)}.cost-bar__notice{display:flex;align-items:flex-start;gap:var(--space-1);margin-top:var(--space-1);padding:3px var(--space-1) 3px var(--space-2);font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--text-secondary);background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm)}.cost-bar__notice-text{flex:1;min-width:0;overflow-wrap:anywhere}.cost-bar__headset-select:hover{border-color:var(--border-default)}.cost-bar__headset-select:focus{outline:none;border-color:var(--border-focus)}.cost-bar__labels{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.cost-bar__label-end{font-size:var(--font-size-xs);color:var(--text-muted);font-family:var(--font-mono)}.cost-bar__value{font-family:var(--font-mono);font-size:var(--font-size-md);font-weight:700;color:var(--text-primary)}.cost-bar__value--link{padding:0;border:none;background:none;cursor:pointer;text-decoration:none}.cost-bar__value--link:hover{text-decoration:underline}.cost-bar__value--link:focus-visible{outline:1px solid var(--border-focus);outline-offset:2px}.cost-bar__value--over{color:var(--cost-high)}.cost-bar__track-row{display:flex;align-items:center;gap:var(--space-2)}.cost-bar__track-row .cost-bar__pole-picker{width:20px;height:20px;padding:0;border:1px solid var(--border-subtle);border-radius:0;cursor:pointer;flex-shrink:0}.cost-bar__track{flex:1;height:10px;border-radius:0;position:relative}.cost-bar__indicator{position:absolute;top:-3px;width:5px;height:16px;background:var(--text-primary);border-radius:0;transform:translate(-50%);box-shadow:var(--shadow-sm);transition:left var(--transition-normal)}.cost-cap-menu{position:fixed;z-index:var(--z-menu);min-width:200px;padding:var(--space-2);background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);font-size:var(--font-size-sm);color:var(--text-primary)}.cost-cap-menu__title{margin-bottom:var(--space-1);font-weight:600}.cost-cap-menu__row{display:flex;align-items:center;gap:var(--space-1)}.cost-cap-menu__input{flex:1;min-width:0;padding:3px 6px;font:inherit;color:var(--text-primary);background:var(--bg-app);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm)}.cost-cap-menu__unit{color:var(--text-secondary)}.cost-cap-menu__apply,.cost-cap-menu__reset{font:inherit;color:var(--text-primary);background:var(--bg-app);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm);padding:3px 8px;cursor:pointer}.cost-cap-menu__reset{width:100%;margin-top:var(--space-1);color:var(--text-secondary);text-align:left}.cost-cap-menu__apply:hover:not(:disabled),.cost-cap-menu__reset:hover:not(:disabled){border-color:var(--border-focus)}.cost-cap-menu__reset:disabled{opacity:.5;cursor:default}.cost-bar__cap-mark{color:var(--text-secondary)}.preview-link{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:-1;transition:opacity .16s ease}.preview-link__wire{opacity:.8;filter:drop-shadow(1px 1px 0 var(--node-cost-text-shadow, rgba(0, 0, 0, .35)))}.preview-link__path{stroke:var(--node-cost-text, #000);stroke-width:4.5;stroke-linecap:butt}.preview-link__arrows{stroke:var(--node-cost-text, #000);stroke-width:3;stroke-linecap:round}.preview-link__wire[data-live] .preview-link__path{stroke-dasharray:6 3;animation:preview-link-flow .9s linear infinite}.preview-link__wire[data-live] .preview-link__arrows{display:none}.preview-link__wire--hot{opacity:1}.preview-link__wire--hot .preview-link__path{stroke-width:6}.preview-link__wire--hot .preview-link__arrows{stroke-width:4}.preview-link__label{position:absolute;left:0;top:0;z-index:6;max-width:220px;padding:2px 6px;overflow:hidden;border:1px solid var(--border-subtle);background:var(--bg-panel);box-shadow:var(--shadow-float);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--font-size-sm);line-height:1.3;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.preview-link__label[hidden]{display:none}@keyframes preview-link-flow{to{stroke-dashoffset:-18}}@media(prefers-reduced-motion:reduce){.preview-link__wire[data-live] .preview-link__path{animation:none}}.preview-rail{position:absolute;top:0;bottom:0;right:calc(var(--handle-size) * -1);width:calc(var(--handle-size) * 2);z-index:var(--z-controls);pointer-events:none}.preview-rail__socket{position:absolute;left:0;width:calc(var(--handle-size) * 2);height:calc(var(--handle-size) * 2);padding:0;transform:translateY(-50%);border:var(--handle-border) solid white;border-radius:50%;background:var(--node-cost-text, #000);box-shadow:0 0 0 1px #00000026;pointer-events:auto;cursor:pointer;transition:box-shadow var(--transition-fast),scale var(--transition-fast)}.preview-rail__socket:hover,.preview-rail__socket:focus-visible{box-shadow:0 0 0 1px #00000026,var(--shadow-node-control-hover);scale:var(--fs-node-grow)}.preview-rail__socket--empty{background:var(--node-bg);box-shadow:0 0 0 1px #00000026,inset 0 0 0 2px var(--node-cost-text, #000)}.preview-rail__socket--empty:hover,.preview-rail__socket--empty:focus-visible{box-shadow:0 0 0 1px #00000026,var(--shadow-node-control-hover),inset 0 0 0 4px var(--node-cost-text, #000)}:root.fs-dragging .preview-rail__socket,:root.fs-canvas-busy .preview-rail__socket{pointer-events:none}.node-editor{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-panel)}.node-editor__canvas{flex:1;position:relative;overflow:hidden}.node-editor__canvas.fs-touch-as-mouse{touch-action:none}.node-editor__cost-overlay{position:absolute;top:var(--space-3);right:var(--space-3);z-index:var(--z-controls);width:280px;max-width:calc(100% - 210px)}.node-editor__file-btns{position:absolute;top:var(--space-3);left:var(--space-3);z-index:var(--z-controls);display:flex;gap:var(--space-2)}.node-editor__new-btn{display:inline-flex;align-items:center;justify-content:center;height:var(--ctl-size);line-height:1;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#1a1a1a;background:#cdeab0;border:1px solid #8fbf5e;border-radius:var(--border-radius-sm);box-shadow:var(--shadow-float);padding:0 14px;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.node-editor__new-btn:hover{background:#bce197;border-color:#6fa63e}.node-editor__import-btn{background:#fff;border-color:#b8b8b8}.node-editor__import-btn:hover{background:#f0f0f0;border-color:#8a8a8a}.node-editor__new-btn:focus-visible{outline:1px solid var(--border-focus);outline-offset:2px}.node-editor__cost-overlay .cost-bar{padding:var(--space-2);background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--border-radius-md);box-shadow:var(--shadow-float)}.node-editor .react-flow__edge.animated path:not(.react-flow__edge-interaction){stroke-linecap:round}.node-editor .react-flow__node{border:none;box-shadow:none;background:transparent;padding:0}.node-editor .react-flow__node-output,.node-editor .react-flow__node-output.selectable:hover,.node-editor .react-flow__node-output.selectable.selected,.node-editor .react-flow__node-output.selectable:focus,.node-editor .react-flow__node-output.selectable:focus-visible{width:auto;padding:0;border:none;background:transparent;box-shadow:none}.node-editor .react-flow__nodesselection-rect,.node-editor .react-flow__selection{background:transparent!important;border:none!important;border-radius:0}.node-editor .react-flow__selection{outline:1px dotted var(--border-focus)}.node-editor .react-flow__nodesselection-rect:after{--fs-sel-pad: 5px;content:"";position:absolute;inset:calc(-1 * var(--fs-sel-pad)) calc(-1 * (var(--fs-sel-dr, 0px) + var(--fs-sel-pad))) calc(-1 * (var(--fs-sel-db, 0px) + var(--fs-sel-pad))) calc(-1 * var(--fs-sel-pad));border:1px dotted var(--border-focus);pointer-events:none}.node-editor .react-flow__edge-interaction{stroke-width:20;stroke:transparent;fill:none;pointer-events:stroke;cursor:pointer}.node-editor .react-flow__node.fs-collapsed-member,.node-editor .react-flow__edge.fs-collapsed-edge{display:none!important}.node-editor .react-flow__edge.fs-edge-drop-target path:not(.react-flow__edge-interaction){stroke-width:4!important;opacity:1!important}.node-editor .react-flow__node.fs-connect-target{outline:2px solid var(--border-focus);outline-offset:4px;border-radius:var(--border-radius-md)}.node-editor .react-flow__edges>svg{z-index:0!important}.node-editor .react-flow__node.fs-connect-front{z-index:10000!important}.node-editor .react-flow__handle.fs-connect-socket{box-shadow:0 0 0 3px var(--border-focus),0 0 0 1px #00000026}.node-editor__bg-color-btn{position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer}.node-editor__bg-color-swatch{width:14px;height:14px;border:1px solid var(--border-default);border-radius:0;pointer-events:none}.node-editor__canvas.fs-draw-active,.node-editor__canvas.fs-draw-active .react-flow__pane{cursor:crosshair}.node-editor__canvas.fs-erase-active,.node-editor__canvas.fs-erase-active .react-flow__pane{cursor:cell}.node-editor .fs-canvas-bar{display:flex;align-items:center;gap:10px;padding:6px 8px;background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--border-radius-md);box-shadow:var(--shadow-float);width:max-content;flex-wrap:wrap;justify-content:flex-start;max-width:calc(100% - 30px)}.node-editor__import-note{position:absolute;top:var(--space-3);left:90px;right:calc(var(--ctl-size) + var(--space-2) + 290px);margin:0 auto;width:max-content;max-width:max(160px,calc(100% - 90px - var(--ctl-size) - var(--space-2) - 290px));z-index:var(--z-controls);display:flex;align-items:center;gap:8px;padding:5px 8px 5px 12px;font-size:var(--font-size-xs);color:var(--text-primary);background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-float)}.node-editor__import-note-lines{display:flex;flex-direction:column;gap:2px}.node-editor__import-note-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;font-size:12px;line-height:1;color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--border-radius-sm);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.node-editor__import-note-btn:hover{border-color:var(--border-focus);color:var(--border-focus)}.node-editor__import-note-btn:focus-visible{outline:1px solid var(--border-focus);outline-offset:2px}.node-editor__import-ghost{position:fixed;z-index:var(--z-controls);display:flex;align-items:center;gap:6px;padding:4px 10px;font-size:var(--font-size-xs);color:var(--text-primary);background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-float);pointer-events:none;transform:translate(-50%,-50%);white-space:nowrap}.node-editor__import-ghost-dot{width:8px;height:8px;border-radius:50%;background:var(--border-focus);animation:fs-import-pulse .9s ease-in-out infinite}@keyframes fs-import-pulse{0%,to{opacity:.35;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}.fs-canvas-bar__group{display:flex;align-items:center;gap:6px}.fs-canvas-bar__group+.fs-canvas-bar__group{padding-left:10px;border-left:1px solid var(--border-subtle)}.fs-canvas-bar__btn{display:inline-flex;align-items:center;justify-content:center;width:var(--ctl-size);height:var(--ctl-size);padding:0;font-size:15px;line-height:1;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--border-radius-sm);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast),opacity var(--transition-fast)}.fs-canvas-bar__group--history{gap:0;border:2px solid var(--border-strong);border-radius:var(--border-radius-sm);background:var(--bg-panel);overflow:hidden}.fs-canvas-bar__btn--history{border:none;border-radius:0;background:none;color:var(--text-primary)}.fs-canvas-bar__btn--history+.fs-canvas-bar__btn--history{border-left:1px solid var(--border-default)}.fs-canvas-bar__btn--history svg{width:19px;height:19px;display:block;fill:currentColor}.fs-canvas-bar__btn--history:hover:not(:disabled){background:var(--bg-surface-hover);color:var(--border-focus)}.fs-canvas-bar__btn--history:focus-visible{outline:none;background:var(--bg-surface-hover);color:var(--border-focus)}.fs-canvas-bar__btn:hover:not(:disabled){border-color:var(--border-focus);color:var(--border-focus)}.fs-canvas-bar__btn:disabled{opacity:.35;cursor:default}.fs-canvas-bar__btn:focus-visible{outline:1px solid var(--border-focus);outline-offset:2px}.fs-draw-controls{position:absolute;bottom:calc(100% + 8px);left:0;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;padding:6px 10px;background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--border-radius-md);box-shadow:var(--shadow-float);width:max-content;max-width:100%}.fs-draw-btn{display:inline-flex;align-items:center;gap:5px;font-size:var(--font-size-xs);font-weight:600;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--border-radius-sm);padding:5px 10px;cursor:pointer;white-space:nowrap}.fs-draw-btn:hover{border-color:var(--border-focus)}.fs-draw-btn.is-active{background:#2b6cff;border-color:#2b6cff;color:#fff}.fs-draw-btn--sm{padding:4px 8px}.fs-draw-btn:disabled{opacity:.45;cursor:not-allowed}.fs-draw-controls .fs-draw-swatch{position:relative;width:22px;height:22px;padding:0;border-radius:var(--border-radius-sm);border:1px solid var(--border-default);overflow:hidden;cursor:pointer}.fs-draw-field{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-xs);color:var(--text-secondary)}.fs-draw-field>span{width:12px;text-align:center}.fs-draw-field>input[type=range]{width:84px;accent-color:#2b6cff}.fs-draw-field>b{min-width:30px;color:var(--text-primary);font-variant-numeric:tabular-nums}.glb-import-modal__panel{max-width:520px}.glb-import-modal__subtitle{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);margin:var(--space-3) 0 var(--space-1)}.glb-import-modal__warn{color:var(--text-primary)}.glb-import-modal__progress{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:var(--space-2)}.glb-import-modal__facts{display:flex;flex-direction:column;gap:var(--space-1);margin:var(--space-2) 0}.shader-preview{display:flex;flex-direction:column;height:100%;background:var(--bg-panel)}.shader-preview__ctl-wrap{position:relative;display:flex;flex-shrink:0;--fs-arrow-bg: var(--bg-surface)}.shader-preview__controls{display:flex;align-items:center;gap:8px;padding:var(--space-1) var(--space-3);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);flex-shrink:0;flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.shader-preview__controls::-webkit-scrollbar{display:none}.shader-preview__controls>*{flex-shrink:0}.shader-preview__reset-btn,.shader-preview__vr-btn,.shader-preview__play-btn,.shader-preview__anim-play,.shader-preview__anim-inplace,.shader-preview__anim-clips-btn,.shader-preview__fs-btn,.shader-preview__props-btn,.shader-preview__mic-btn{display:flex;align-items:center;justify-content:center;height:var(--ctl-size);font-size:var(--font-size-sm);line-height:1;color:var(--text-primary);background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm);cursor:pointer;font-family:var(--font-sans)}.shader-preview__reset-btn,.shader-preview__play-btn,.shader-preview__anim-play,.shader-preview__anim-inplace,.shader-preview__anim-clips-btn,.shader-preview__fs-btn{width:var(--ctl-size);padding:0}.shader-preview__vr-btn:hover,.shader-preview__play-btn:hover,.shader-preview__anim-play:hover,.shader-preview__anim-clips-btn:hover,.shader-preview__anim-inplace:not(:disabled):hover,.shader-preview__fs-btn:hover,.shader-preview__props-btn:hover,.shader-preview__mic-btn:hover,.shader-preview__geo-select:hover,.shader-preview__subdivision:hover,.shader-preview__bottom-controls .shader-preview__bg-color:hover{border-color:var(--border-focus)}.shader-preview__reset-btn{font-size:14px;font-weight:600;color:#d32f2f}.shader-preview__reset-btn:hover{border-color:#d32f2f;background:#d32f2f0f}.shader-preview__reset-btn:active{background:#d32f2f1f}.shader-preview__vr-btn{padding:0 9px;font-weight:700;letter-spacing:.02em}.shader-preview__fs-btn{font-size:14px}.shader-preview__props-btn{padding:0 10px;font-weight:600;color:var(--text-secondary)}.shader-preview__props-btn--active,.shader-preview__anim-clips-btn--active,.shader-preview__anim-inplace--active{color:var(--text-primary);border-color:var(--border-focus);background:#0000000a}:root[data-theme=dark] .shader-preview__props-btn--active,:root[data-theme=dark] .shader-preview__anim-clips-btn--active,:root[data-theme=dark] .shader-preview__anim-inplace--active{background:#ffffff0f}.shader-preview:fullscreen{width:100vw;height:100vh;background:var(--bg-panel)}.shader-preview__bottom-controls .shader-preview__bg-color{width:var(--ctl-size);height:var(--ctl-size);padding:0;border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm);box-shadow:inset 0 0 0 2px var(--bg-panel);cursor:pointer;flex-shrink:0}.shader-preview__geo-select{height:var(--ctl-size);max-width:180px;font-size:var(--font-size-sm);font-family:var(--font-sans);padding:0 6px;border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm);background:var(--bg-panel);color:var(--text-primary);cursor:pointer;outline:none}.shader-preview__subdivision{display:flex;align-items:center;gap:4px;padding:0 6px;height:var(--ctl-size);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm);background:var(--bg-panel)}.shader-preview__subdivision-slider{width:88px;margin:0;cursor:pointer;--fs-subd-stops: 8;--fs-subd-thumb: 12px;padding:5px 0;background-image:repeating-linear-gradient(to right,var(--border-subtle) 0 1px,transparent 1px calc((100% - 1px) / (var(--fs-subd-stops) - 1)));background-position:center;background-repeat:no-repeat;background-size:calc(100% - var(--fs-subd-thumb)) 100%;background-origin:content-box;background-clip:content-box}.shader-preview__subdivision-value{font-size:12px;font-family:var(--font-mono);color:var(--text-secondary);min-width:var(--ctl-size);text-align:right;user-select:none}.shader-preview__body{flex:1;position:relative;overflow:hidden;border-bottom:1px solid var(--border-subtle)}.shader-preview:fullscreen .shader-preview__body{border-bottom:none}.shader-preview__ctl{display:inline-flex;align-items:center;gap:5px}.shader-preview__ctl-label{font-family:var(--font-sans);font-size:12px;font-weight:600;color:var(--text-secondary);user-select:none;white-space:nowrap}.shader-preview__bottom-bar{position:absolute;left:10px;right:10px;bottom:10px;z-index:2;display:flex;align-items:center;gap:8px;flex-wrap:wrap-reverse;pointer-events:none}.shader-preview__bottom-bar>*{pointer-events:auto}.shader-preview__bottom-controls,.shader-preview__anim-controls,.shader-preview__display-controls{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm)}.shader-preview__display-controls{margin-left:auto}.shader-preview__timeline{--fs-anim-thumb: 20px;position:relative;flex:1;height:var(--ctl-size);min-width:40px;cursor:pointer;touch-action:none}.shader-preview__timeline:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:var(--border-radius-sm)}.shader-preview__timeline-line{position:absolute;top:50%;left:calc(var(--fs-anim-thumb) / 2);right:calc(var(--fs-anim-thumb) / 2);height:2px;transform:translateY(-50%);background:var(--text-primary);box-shadow:0 0 0 1px #ffffff8c;border-radius:0;pointer-events:none}:root[data-theme=dark] .shader-preview__timeline-line{box-shadow:0 0 0 1px #00000073}.shader-preview__timeline-thumb{position:absolute;top:50%;left:calc(var(--fs-anim-thumb) / 2);width:var(--fs-anim-thumb);height:var(--fs-anim-thumb);transform:translate(-50%,-50%);background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);pointer-events:none}.shader-preview__anim-inplace:disabled{opacity:.35;cursor:default}.anim-clip-menu{position:fixed;z-index:1000;min-width:140px;max-width:260px;max-height:50vh;overflow-y:auto;padding:4px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);font-family:var(--font-sans)}.anim-clip-menu__head{padding:3px 8px 5px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);user-select:none}.anim-clip-menu__item{display:flex;align-items:center;gap:6px;width:100%;padding:4px 8px;font-size:12px;font-family:inherit;text-align:left;color:var(--text-primary);background:none;border:none;border-radius:var(--border-radius-sm);cursor:pointer}.anim-clip-menu__item:hover{background:#0000000f}:root[data-theme=dark] .anim-clip-menu__item:hover{background:#ffffff14}.anim-clip-menu__item--active{font-weight:600}.anim-clip-menu__mark{flex:0 0 auto;width:8px;font-size:9px;line-height:1;color:var(--border-focus)}.anim-clip-menu__name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shader-preview__compiling{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:0;background:#0000009e;color:#fff;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;pointer-events:none}.shader-preview__compiling-dot{width:8px;height:8px;border-radius:50%;background:currentColor;animation:shader-preview-pulse 1s ease-in-out infinite}@keyframes shader-preview-pulse{0%,to{opacity:.25}50%{opacity:1}}.shader-preview__iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;display:block}:root.fs-canvas-busy .shader-preview__iframe{pointer-events:none}.shader-preview__drop-veil{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;padding:16px;text-align:center;background:#1e28468c;color:#fff;font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:700;pointer-events:none}.shader-preview__drop-notice{position:absolute;top:8px;left:8px;max-width:calc(100% - 16px);z-index:3;padding:6px 10px;border-radius:var(--border-radius-md);background:#b42828eb;color:#fff;font-family:var(--font-sans);font-size:var(--font-size-sm);pointer-events:none;white-space:pre-wrap;display:flex;align-items:flex-start;gap:8px}.shader-preview__drop-notice--info{background:#1c1e22e6}.shader-preview__drop-notice-text{flex:1 1 auto;min-width:0}.shader-preview__drop-notice-close{pointer-events:auto;flex:none;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;font-size:11px;line-height:1;color:#fff;background:transparent;border:1px solid rgba(255,255,255,.6);border-radius:0;cursor:pointer}.shader-preview__drop-notice-close:hover{background:#ffffff2e}.shader-preview__drop-notice-close:focus-visible{outline:1px solid #fff;outline-offset:1px}.shader-preview__error-notice{position:absolute;top:8px;left:8px;right:8px;max-height:40%;overflow-y:auto;z-index:4;padding:6px 10px;background:#1c1c1c;color:#ff6b6b;font-family:var(--font-mono);font-size:12px;line-height:1.4;pointer-events:none;white-space:pre-wrap;display:flex;align-items:flex-start;gap:8px}.shader-preview__error-notice-text{flex:1 1 auto;min-width:0;pointer-events:auto;user-select:text}.shader-preview__error-notice-copy{pointer-events:auto;flex:none;position:sticky;top:0;display:inline-flex;align-items:center;justify-content:center;height:18px;padding:0 6px;font-family:var(--font-sans);font-size:11px;line-height:1;color:#fff;background:transparent;border:1px solid rgba(255,255,255,.6);border-radius:0;cursor:pointer}.shader-preview__error-notice-copy:hover{background:#ffffff2e}.shader-preview__error-notice-copy:focus-visible{outline:1px solid #fff;outline-offset:1px}.shader-preview__ctl-right{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.shader-preview__props-btn.shader-preview__model-remove{width:var(--ctl-size);padding:0;margin-left:-2px}.shader-preview__props-btn[aria-disabled=true]{opacity:.45;cursor:default}.shader-preview__props-btn[aria-disabled=true]:hover{border-color:var(--border-subtle)}.shader-preview__stats{position:absolute;top:6px;right:6px;z-index:2;padding:4px 8px;color:#fff;background:#1415198c;border:1px solid rgba(255,255,255,.18);border-radius:var(--border-radius-sm);font:12px/1.35 var(--font-mono);font-variant-numeric:tabular-nums;white-space:pre;pointer-events:none}.shader-preview__body--stats .shader-preview__uniforms{top:36px;max-height:calc(100% - 95px)}.shader-preview__uniforms{position:absolute;top:6px;right:6px;z-index:5;display:flex;flex-direction:column;gap:4px;padding:6px 8px;max-width:220px;max-height:calc(100% - 65px);overflow-y:auto;overscroll-behavior:contain;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-md);font-size:10px;color:var(--text-primary)}.shader-preview__uniforms-default-btn{padding:3px 6px;font-size:10px;line-height:1.4;color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--border-radius-sm);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.shader-preview__uniforms-default-btn:hover{border-color:var(--border-focus);color:var(--border-focus)}.shader-preview__uniform-row{display:flex;flex-direction:column;gap:1px}.shader-preview__uniform-header{display:flex;align-items:baseline;justify-content:space-between;gap:4px}.shader-preview__uniform-name{font-weight:600;font-family:var(--font-mono);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shader-preview__uniform-value{font-family:var(--font-mono);font-size:9px;color:var(--text-secondary);flex-shrink:0}.shader-preview__uniform-revert{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:11px;line-height:1;border-radius:var(--border-radius-sm);border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary);cursor:pointer}.shader-preview__uniform-revert:disabled{opacity:.35;cursor:default}.shader-preview__uniform-revert--active{background:#d62828;border-color:#d62828;color:#fff;font-weight:700}.shader-preview__uniform-revert--active:hover{background:#b21e1e;border-color:#b21e1e}.shader-preview__uniform-value--override{color:var(--text-primary);font-weight:600}.shader-preview__uniforms-default-btn--active{color:var(--text-primary);border-color:var(--text-primary)}.shader-preview__props-btn--override{border-color:var(--text-primary)}.shader-preview__props-btn--override:after{content:"";display:inline-block;width:5px;height:5px;margin-left:5px;border-radius:50%;background:var(--text-primary);vertical-align:middle}.shader-preview__uniform-controls{display:grid;grid-template-columns:32px 1fr 32px auto;align-items:center;gap:2px}.shader-preview__uniform-controls .shader-preview__uniform-color{grid-column:1 / -2;width:100%;height:18px;padding:0;border:1px solid var(--border-subtle);border-radius:0;cursor:pointer}.shader-preview__uniform-bound{width:100%;font-size:10px;font-family:var(--font-mono);padding:1px 3px;border:1px solid var(--border-subtle);border-radius:0;background:var(--bg-input);color:var(--text-primary);text-align:center;outline:none}.shader-preview__uniform-bound:hover,.shader-preview__uniform-bound:focus{border-color:var(--border-focus)}.shader-preview__uniform-slider{width:100%;margin:0}.shader-preview__mic{display:flex;align-items:center;gap:6px}.shader-preview__mic-btn{gap:6px;padding:0 8px}.shader-preview__mic-btn.is-live{border-color:#d32f2f;background:#d32f2f14}.shader-preview__mic-btn.is-starting{opacity:.7;cursor:progress}.shader-preview__mic-btn.is-failed{border-color:#e08a1e;color:#b26a00}.shader-preview__mic-meter{display:block;width:34px;height:6px;overflow:hidden;background:var(--border-subtle);border-radius:0}.shader-preview__mic-meter-fill{display:block;width:100%;height:100%;background:#d32f2f;border-radius:0;transform:scaleX(0);transform-origin:left center}.shader-preview__mic-error{max-width:190px;font-size:11px;line-height:1.25;color:#b26a00;font-family:var(--font-sans)}:root[data-theme=dark] .shader-preview__mic-btn.is-failed{color:#f0b357}:root[data-theme=dark] .shader-preview__mic-error{color:#f0b357}.shader-import-modal__panel{max-width:480px}.fs-tooltip{position:fixed;z-index:10000;max-width:260px;padding:5px 9px;background:var(--text-primary);color:var(--bg-panel);font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:500;line-height:1.4;border-radius:var(--border-radius-sm);box-shadow:var(--shadow-md);pointer-events:none;white-space:normal;overflow-wrap:break-word;transition:opacity 80ms ease-out}.app-layout{display:flex;flex-direction:column;height:100%;width:100%;background:var(--bg-app)}.app-layout__left{display:flex;flex-direction:column;height:100%;position:relative}.app-layout__left:before{content:"";position:absolute;top:0;left:6px;right:0;height:6px;background:var(--shadow-float-color);z-index:1;pointer-events:none}.app-layout__node-editor{flex:1;overflow:hidden}.app-layout__right,.app-layout__code-panel{display:flex;flex-direction:column;height:100%}.app-layout__code{flex:1;overflow:hidden}.app-layout__preview{height:100%}.eval-modal__panel{width:min(640px,94vw);max-height:92vh;overflow-y:auto}.eval-consent__section{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.55}.eval-consent__section strong{color:var(--text-primary)}.eval-consent__list{margin:var(--space-1) 0 0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.eval-consent__code-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--text-primary)}.eval-consent__code-row input{width:110px;padding:4px 8px;font-size:var(--font-size-sm);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--border-radius-sm)}.eval-consent__age-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--text-primary);cursor:pointer}.eval-consent__age-row input{margin:0}.sus-modal__meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.sus-modal__items{display:flex;flex-direction:column}.sus-modal__item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:7px 0;border-bottom:1px dashed var(--border-subtle)}.sus-modal__item:last-child{border-bottom:none}.sus-modal__statement{flex:1;font-size:var(--font-size-sm);color:var(--text-primary);line-height:1.4}.sus-modal__scale{display:flex;align-items:center;gap:6px;flex:none}.sus-modal__scale label{display:flex;flex-direction:column;align-items:center;gap:1px;font-size:var(--font-size-xs);color:var(--text-secondary);cursor:pointer}.sus-modal__anchors{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--font-size-xs);color:var(--text-secondary);padding:0 0 2px}.sus-modal__comment{width:100%;min-height:56px;padding:6px 8px;font-size:var(--font-size-sm);font-family:inherit;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--border-radius-sm);resize:vertical}.sus-modal__progress{font-size:var(--font-size-xs);color:var(--text-secondary)}.eval-done__file{font-size:var(--font-size-sm);color:var(--text-primary);word-break:break-all;padding:6px 8px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm)}.eval-done__warn{font-size:var(--font-size-sm);color:#b42318;line-height:1.5}:root[data-theme=dark] .eval-done__warn{color:#f2938c}.eval-consent__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.eval-consent__lang{flex:none;min-width:34px;padding:4px 8px;font-weight:700}.eval-consent__what-head{display:flex;align-items:center;gap:var(--space-2)}.eval-consent__help{flex:none;display:inline-flex;align-items:center;justify-content:center;height:var(--ctl-size);padding:0 14px;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:700;line-height:1;color:#fff;background:var(--text-accent);border:1px solid var(--text-accent);border-radius:var(--border-radius-sm);cursor:pointer;transition:filter var(--transition-fast)}.eval-consent__help:hover{filter:brightness(1.1)}.eval-consent__help:focus-visible{outline:1px solid var(--border-focus);outline-offset:2px}.eval-disclosure__backdrop{z-index:calc(var(--z-overlay) + 1)}.eval-disclosure__list{gap:var(--space-2)}.eval-disclosure__body{margin-top:var(--space-1)}:root[data-fs-points=off] .node-base__cost-badge,:root[data-fs-points=off] .cost-bar{display:none!important}.eval-disclosure__item{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);padding:4px 0}.eval-disclosure__q{flex:none;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;font-size:11px;font-weight:700;line-height:1;color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--border-radius-sm);cursor:help;transition:border-color var(--transition-fast),color var(--transition-fast)}.eval-disclosure__q:hover,.eval-disclosure__q:focus-visible{border-color:var(--border-focus);color:var(--border-focus)}.sus-modal__section-head{font-size:var(--font-size-sm);font-weight:700;color:var(--text-primary);padding-top:var(--space-2)}.sus-modal__section-head+.sus-modal__anchors{padding-top:2px}.sus-modal__items+.sus-modal__section-head{margin-top:var(--space-2);border-top:1px solid var(--border-subtle);padding-top:var(--space-3)}.sus-modal__followup{font-size:var(--font-size-xs);color:var(--text-secondary)}.sus-modal__followup-input{width:100%;padding:5px 8px;font-family:inherit;font-size:var(--font-size-sm);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--border-radius-sm)}.sus-modal__pro-scale{display:flex;flex-direction:column;gap:4px;padding:7px 0;border-bottom:1px dashed var(--border-subtle)}.sus-modal__scale--wide{flex-wrap:wrap;gap:var(--space-2)}.sus-modal__scale--wide label{flex-direction:row;align-items:center;gap:4px}.sus-modal__level-label{font-size:var(--font-size-xs);color:var(--text-secondary)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:var(--font-sans);font-size:var(--font-size-md);color:var(--text-primary);background:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none}:where(input,textarea,[contenteditable]:not([contenteditable=false]),pre,code){user-select:text;-webkit-user-select:text}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-panel)}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}}:root.fs-dragging,:root.fs-dragging *{user-select:none!important;-webkit-user-select:none!important}:root.fs-dragging iframe{pointer-events:none!important}.fs-seam{color:var(--edge-color);transition:color var(--transition-fast),background-color var(--transition-fast);touch-action:none;user-select:none;-webkit-user-select:none}.fs-seam--v{cursor:col-resize}.fs-seam--h{cursor:row-resize}.fs-seam--xy{cursor:move}.fs-seam:before{content:"";position:absolute}.fs-seam--v:before{top:0;bottom:0;left:calc((var(--fs-seam) - var(--fs-seam-hit)) / 2);width:var(--fs-seam-hit)}.fs-seam--h:before{left:0;right:0;top:calc((var(--fs-seam) - var(--fs-seam-hit)) / 2);height:var(--fs-seam-hit)}.fs-seam:hover,.fs-seam:focus-visible,.fs-seam--dragging{color:var(--border-focus)}.fs-seam:focus-visible{outline:1px solid var(--border-focus);outline-offset:2px}.fs-seam-lens{position:absolute;pointer-events:none;opacity:0;transition:transform var(--transition-fast),opacity var(--transition-fast)}.fs-seam--v .fs-seam-lens{left:calc(var(--fs-seam) / 2);top:var(--fs-lens-at, 50%);transform:translate(-50%,-50%) scaleX(0)}.fs-seam--h .fs-seam-lens{top:calc(var(--fs-seam) / 2);left:var(--fs-lens-at, 50%);transform:translate(-50%,-50%) scaleY(0)}@media(hover:hover){.fs-seam--v:hover .fs-seam-lens,.fs-seam--v.fs-seam--dragging .fs-seam-lens{opacity:1;transform:translate(-50%,-50%) scaleX(1)}.fs-seam--h:hover .fs-seam-lens,.fs-seam--h.fs-seam--dragging .fs-seam-lens{opacity:1;transform:translate(-50%,-50%) scaleY(1)}}.fs-seam-lens__outline{fill:var(--bg-panel);stroke:currentColor;stroke-width:var(--fs-seam);stroke-linejoin:round}.fs-seam-lens__grip{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:butt}.fs-seam-lens__bulge,.fs-seam-lens__ring{transform-box:view-box;transform-origin:50% 50%;transition:opacity var(--transition-fast),transform var(--transition-fast)}.fs-seam-lens__ring{opacity:0;transform:scale(.5)}.fs-seam--xy .fs-seam-lens__bulge{opacity:0}.fs-seam--xy .fs-seam-lens__ring{opacity:1;transform:scale(1)}.fs-scroll-arrow{position:absolute;top:0;bottom:0;width:24px;z-index:2;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:var(--text-secondary);background:var(--fs-arrow-bg, var(--bg-raised-sub));padding:0;transition:background var(--transition-fast),color var(--transition-fast)}.fs-scroll-arrow--left{left:0;border-right:1px solid var(--border-default)}.fs-scroll-arrow--right{right:0;border-left:1px solid var(--border-default)}.fs-scroll-arrow:hover{color:var(--text-primary);background:var(--bg-surface-hover)}.fs-scroll-arrow--invert{background:var(--text-primary);color:var(--bg-surface);border-color:var(--text-primary)}.fs-scroll-arrow--invert:hover{background:var(--border-focus);border-color:var(--border-focus);color:#fff}@media(pointer:coarse){.fs-scroll-arrow{width:40px;font-size:26px}}.app-boot-overlay{position:fixed;inset:0;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;background:var(--bg-app);color:var(--text-secondary);font-size:var(--font-size-sm)}
