*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--background:#0d0e10;--surface:#0d0e10;--surface-dim:#0d0e10;--surface-bright:#2b2c2f;--surface-container-lowest:#000;--surface-container-low:#121316;--surface-container:#181a1c;--surface-container-high:#1e2022;--surface-container-highest:#242629;--surface-variant:#242629;--surface-tint:#8ff5ff;--primary:#8ff5ff;--primary-dim:#00deec;--primary-container:#00eefc;--primary-fixed:#00eefc;--primary-fixed-dim:#00deec;--on-primary:#005d63;--on-primary-container:#005359;--on-primary-fixed:#003f43;--on-primary-fixed-variant:#005e64;--inverse-primary:#006a71;--secondary:#ac89ff;--secondary-dim:#874cff;--secondary-container:#7000ff;--secondary-fixed:#dac9ff;--secondary-fixed-dim:#ceb9ff;--on-secondary:#290067;--on-secondary-container:#f8f1ff;--on-secondary-fixed:#41009a;--on-secondary-fixed-variant:#6300e2;--tertiary:#dcffb2;--tertiary-dim:#93ef00;--tertiary-container:#9dff00;--tertiary-fixed:#9dff00;--tertiary-fixed-dim:#93ef00;--on-tertiary:#3c6700;--on-tertiary-container:#375d00;--on-tertiary-fixed:#2a4900;--on-tertiary-fixed-variant:#3e6800;--error:#ff716c;--error-dim:#d7383b;--error-container:#9f0519;--on-error:#490006;--on-error-container:#ffa8a3;--on-surface:#fdfbfe;--on-surface-variant:#ababad;--on-background:#fdfbfe;--outline:#757578;--outline-variant:#47484a;--inverse-surface:#faf9fb;--inverse-on-surface:#555557;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-full:9999px;--font-headline:"Space Grotesk", sans-serif;--font-body:"Inter", sans-serif;--font-label:"Manrope", sans-serif;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease}html,body,#root{width:100%;height:100%;overflow:hidden}body{background-color:var(--background);color:var(--on-surface);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}.font-headline{font-family:var(--font-headline)}.font-body{font-family:var(--font-body)}.font-label{font-family:var(--font-label)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:var(--outline-variant);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}.material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;user-select:none;direction:ltr;justify-content:center;align-items:center;line-height:1;display:inline-flex}.material-symbols-outlined.filled{font-variation-settings:"FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24}.ghost-border{border:1px solid #47484a26}.glass{-webkit-backdrop-filter:blur(20px);background:#24262999}.gradient-primary{background:linear-gradient(45deg, var(--primary), var(--primary-container))}.gradient-secondary{background:linear-gradient(45deg, var(--secondary), var(--secondary-container))}.glow-primary{box-shadow:0 0 32px #8ff5ff0f}.glow-secondary{box-shadow:0 0 32px #ac89ff0f}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse-glow{0%,to{opacity:.4}50%{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes orb-drift{0%{transform:translate(0)scale(1)}33%{transform:translate(30px,-20px)scale(1.05)}66%{transform:translate(-20px,15px)scale(.95)}to{transform:translate(0)scale(1)}}.animate-fade-in{animation:.4s forwards fadeIn}.animate-fade-in-up{animation:.5s forwards fadeInUp}.animate-slide-in-left{animation:.4s forwards slideInLeft}::selection{color:var(--on-surface);background:#8ff5ff40}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}a{color:inherit;text-decoration:none}input,textarea,select{font-family:var(--font-body);color:var(--on-surface)}input::placeholder,textarea::placeholder{color:var(--outline)}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.server-login{background:var(--background);min-height:100vh;color:var(--on-surface);justify-content:center;align-items:center;padding:1.5rem;display:flex}.server-login__card{border:1px solid var(--outline-variant);background:var(--surface-container);border-radius:14px;flex-direction:column;width:100%;max-width:26rem;padding:2rem;display:flex}.server-login__brand{align-items:center;gap:.85rem;margin-bottom:1.25rem;display:flex}.server-login__icon{color:var(--primary);flex:none;font-size:2rem}.server-login__title{margin:0;font-size:1.35rem;line-height:1.2}.server-login__subtitle{letter-spacing:.08em;text-transform:uppercase;color:var(--primary);margin:.15rem 0 0;font-size:.75rem}.server-login__helper{color:var(--on-surface-variant);margin:0 0 1.25rem;font-size:.85rem;line-height:1.5}.server-login__error{min-height:1.15rem;font-family:var(--font-label);color:var(--error);margin:0 0 .75rem;font-size:.8rem}.server-login__label{font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase;color:var(--on-surface-variant);margin-bottom:.35rem;font-size:.72rem}.server-login__input{font-family:var(--font-body);color:var(--on-surface);background:var(--surface-container-highest);border:1px solid var(--outline-variant);border-radius:8px;outline:none;margin-bottom:1rem;padding:.65rem .8rem;font-size:.95rem}.server-login__input:focus{border-color:var(--primary)}.server-login__input:disabled{opacity:.6}.server-login__submit{font-family:var(--font-label);letter-spacing:.08em;color:var(--on-primary);background:var(--primary);cursor:pointer;border:none;border-radius:8px;margin-top:.5rem;padding:.7rem 1rem;font-size:.8rem;font-weight:700}.server-login__submit:disabled{opacity:.45;cursor:not-allowed}@keyframes logsFadeIn{0%{opacity:0}to{opacity:1}}@keyframes logsScaleUp{0%{opacity:0;transform:scale(.96)translateY(16px)}to{opacity:1;transform:scale(1)translateY(0)}}.logs-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:2000;background:#0d0e10d9;justify-content:center;align-items:center;animation:.25s logsFadeIn;display:flex;position:fixed;inset:0}.logs-modal{background:var(--surface-container-low);border-radius:var(--radius-xl);border:1px solid #8ff5ff14;flex-direction:column;width:1100px;max-width:94vw;height:85vh;animation:.3s cubic-bezier(.34,1.56,.64,1) logsScaleUp;display:flex;overflow:hidden;box-shadow:0 32px 64px #00000080}.logs-header{border-bottom:1px solid #47484a40;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.logs-title-group{align-items:center;gap:.875rem;min-width:0;display:flex}.logs-title-group>.material-symbols-outlined{color:var(--primary)}.logs-title{color:var(--on-surface);margin:0;font-size:1.125rem;font-weight:600}.logs-subtitle{color:var(--on-surface-variant);text-overflow:ellipsis;white-space:nowrap;max-width:70ch;margin:.125rem 0 0;font-size:.75rem;overflow:hidden}.logs-close{color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;transition:color .2s;display:flex}.logs-close:hover{color:var(--primary)}.logs-body{flex:1;min-height:0;display:flex}.logs-sources{border-right:1px solid #47484a40;flex-direction:column;flex-shrink:0;gap:.25rem;width:210px;padding:.75rem;display:flex;overflow-y:auto}.logs-source{border-radius:var(--radius-lg);color:var(--on-surface-variant);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.625rem;padding:.625rem .75rem;transition:background .15s,color .15s;display:flex}.logs-source:hover{background:var(--surface-container)}.logs-source--active{background:var(--surface-container-high);color:var(--on-surface)}.logs-source-dot{border-radius:var(--radius-full);background:var(--outline-variant);flex-shrink:0;width:7px;height:7px}.logs-source-dot--live{background:var(--primary)}.logs-source-text{flex-direction:column;min-width:0;display:flex}.logs-source-label{white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:500;overflow:hidden}.logs-source-meta{color:var(--on-surface-variant);font-size:.6875rem}.logs-view{flex-direction:column;flex:1;gap:.75rem;min-width:0;padding:.75rem;display:flex}.logs-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.logs-filter{background:var(--surface-container);border-radius:var(--radius-lg);min-width:160px;color:var(--on-surface-variant);border:1px solid #47484a59;flex:1;align-items:center;gap:.5rem;padding:.4rem .625rem;display:flex}.logs-filter:focus-within{border-color:var(--primary-dim)}.logs-filter .material-symbols-outlined{font-size:16px}.logs-filter input{min-width:0;color:var(--on-surface);background:0 0;border:none;outline:none;flex:1;font-size:.8125rem}.logs-filter button{color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;display:flex}.logs-filter button:hover{color:var(--primary)}.logs-tool-btn{background:var(--surface-container);border-radius:var(--radius-lg);color:var(--on-surface-variant);cursor:pointer;border:1px solid #47484a59;align-items:center;gap:.375rem;padding:.4rem .75rem;font-size:.8125rem;transition:background .15s,color .15s,border-color .15s;display:flex}.logs-tool-btn:hover{color:var(--on-surface);border-color:var(--outline)}.logs-tool-btn .material-symbols-outlined{font-size:16px}.logs-tool-btn--on{border-color:var(--primary-dim);color:var(--primary);background:#8ff5ff1f}.logs-startup-toggle{border-radius:var(--radius-lg);color:var(--on-surface-variant);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;align-items:center;gap:.4rem;margin-left:auto;padding:.4rem .625rem;font-size:.75rem;transition:color .15s,background .15s;display:flex}.logs-startup-toggle:hover{background:var(--surface-container);color:var(--on-surface)}.logs-startup-toggle input{width:14px;height:14px;accent-color:var(--primary);cursor:pointer;margin:0}.logs-error{border-radius:var(--radius-lg);color:var(--error);background:#ff716c1a;border:1px solid #ff716c4d;align-items:center;gap:.5rem;margin:0;padding:.5rem .75rem;font-size:.8125rem;display:flex}.logs-error .material-symbols-outlined{font-size:16px}.logs-output{background:var(--surface-container-lowest);border-radius:var(--radius-lg);color:var(--on-surface);white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid #47484a40;flex:1;margin:0;padding:.875rem 1rem;font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;line-height:1.55;overflow:hidden auto}.logs-output:focus-visible{outline:1px solid var(--primary-dim)}@media (width<=720px){.logs-modal{max-width:96vw;height:92vh}.logs-body{flex-direction:column}.logs-sources{border-bottom:1px solid #47484a40;border-right:none;flex-direction:row;width:100%;overflow-x:auto}.logs-source{flex-shrink:0}}.remote-banner{font-family:var(--font-label);letter-spacing:.02em;border-bottom:1px solid #00000040;flex:none;align-items:center;gap:.6rem;padding:.55rem 1.1rem;font-size:.78rem;display:flex}.remote-banner__icon{flex:none;font-size:1.1rem}.remote-banner__text{overflow-wrap:anywhere;min-width:0}.remote-banner--error{color:#ffdad6;background:#58191b}.remote-banner--warning{color:#ffe0a3;background:#4d3a12}.remote-banner--info{background:var(--surface-container-high);color:var(--on-surface-variant)}.header{z-index:50;background:var(--surface-container-low);flex-shrink:0;justify-content:space-between;align-items:center;height:52px;padding:0 1.5rem;display:flex;position:sticky;top:0;box-shadow:0 0 20px #8ff5ff0d}.header__left{z-index:1;align-items:center;gap:2rem;display:flex;position:relative}.header__title-wrap{pointer-events:none;max-width:min(40vw,520px);position:absolute;left:50%;transform:translate(-50%)}.header__title{font-family:var(--font-headline);color:var(--on-surface);text-align:center;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1rem;font-weight:700;overflow:hidden}.header__logo{font-family:var(--font-headline);color:var(--primary);letter-spacing:-.02em;white-space:nowrap;font-size:1.25rem;font-weight:700}.header__nav{align-items:center;gap:1.5rem;display:flex}.header__nav-link{font-family:var(--font-headline);color:var(--on-surface-variant);letter-spacing:-.01em;transition:color var(--transition-base);white-space:nowrap;font-size:.875rem}.header__nav-link:hover{color:var(--on-surface)}.header__nav-link--active{color:var(--primary);border-bottom:2px solid var(--primary);padding-bottom:2px}.header__right{z-index:1;align-items:center;gap:1rem;display:flex;position:relative}.header__search-btn{background:var(--surface-container-highest);border-radius:var(--radius-lg);color:var(--on-surface-variant);cursor:pointer;transition:color var(--transition-base);font-family:var(--font-label);border:1px solid #47484a26;align-items:center;gap:.5rem;padding:.375rem 1rem;display:flex}.header__search-btn:hover{color:var(--on-surface)}.header__search-field{cursor:text;padding:.25rem .5rem .25rem .75rem}.header__search-input{color:var(--on-surface);font-family:var(--font-label);letter-spacing:.02em;background:0 0;border:none;outline:none;width:200px;font-size:.8rem}.header__search-input::placeholder{color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.header__search-clear{color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:2px;display:flex}.header__search-clear:hover{color:var(--on-surface)}.header__search-text{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.header__actions{align-items:center;gap:.25rem;display:flex}.header__icon-btn{width:36px;height:36px;color:var(--on-surface-variant);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:relative}.header__icon-btn:hover{background:var(--surface-container-high);color:var(--primary)}.header__icon-btn:active{transform:scale(.95)}.header__icon-btn--update{color:var(--primary);background:linear-gradient(135deg,#8ff5ff26,#3edcf008)}.header__notif-dot{background:#ff8f66;border-radius:50%;width:8px;height:8px;animation:1.8s infinite header-notif-pulse;position:absolute;top:6px;right:6px;box-shadow:0 0 #ff8f66d9}.header__notifications-pop{z-index:70;background:radial-gradient(circle at 100% 0,#8ff5ff2e,#0000 45%),linear-gradient(150deg,#0e1218fa,#080b10fa);border:1px solid #8ff5ff4d;border-radius:16px;width:min(380px,100vw - 2rem);padding:.875rem;animation:.18s ease-out header-notif-pop;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 24px 48px #00000073,0 0 32px #8ff5ff24}.header__notifications-head{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.header__notifications-head-actions{align-items:center;gap:.45rem;display:inline-flex}.header__notifications-title{font-family:var(--font-headline);letter-spacing:.03em;text-transform:uppercase;color:var(--on-surface);margin:0;font-size:.85rem}.header__notifications-close{width:28px;height:28px;color:var(--on-surface-variant);cursor:pointer;background:#ffffff08;border:none;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.header__notifications-close:hover{color:var(--on-surface);background:#ffffff12}.header__notifications-clear{color:var(--primary);font-family:var(--font-label);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:#8ff5ff14;border:1px solid #8ff5ff4d;border-radius:999px;padding:.22rem .6rem;font-size:.68rem}.header__notifications-clear:hover{color:var(--on-surface);background:#8ff5ff24}.header__notifications-card{border:1px solid #ffffff14;border-radius:12px;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:.65rem;margin-bottom:.625rem;padding:.75rem;display:grid}.header__notifications-card .material-symbols-outlined{font-size:20px;line-height:1}.header__notifications-card-title{font-family:var(--font-headline);color:var(--on-surface);margin:0 0 .2rem;font-size:.85rem}.header__notifications-card-text{color:var(--on-surface-variant);margin:0;font-size:.77rem}.header__notifications-card-hint{color:var(--primary,#9cc3ff);opacity:.85;margin:.35rem 0 0;font-size:.72rem;font-weight:600}.header__notifications-card--clickable{cursor:pointer;transition:transform .12s,border-color .12s,filter .12s}.header__notifications-card--clickable:hover{filter:brightness(1.08);border-color:#ffffff38;transform:translateY(-1px)}.header__notifications-card--clickable:focus-visible{outline:2px solid var(--primary,#9cc3ff);outline-offset:2px}.header__notifications-card--success{background:linear-gradient(145deg,#315d6547,#121d22a6)}.header__notifications-card--success .material-symbols-outlined{color:#7ef2dc}.header__notifications-card--warning{background:linear-gradient(145deg,#7a383859,#2c1414b3)}.header__notifications-card--warning .material-symbols-outlined{color:#ff8f8f}.header__notifications-card--neutral{background:linear-gradient(145deg,#29314080,#10141cb3)}.header__notifications-card--neutral .material-symbols-outlined{color:#9cc3ff}.header__notifications-link{width:100%;color:var(--primary);font-family:var(--font-label);letter-spacing:.02em;transition:all var(--transition-fast);border:1px dashed #8ff5ff73;border-radius:10px;align-items:center;gap:.45rem;padding:.55rem .7rem;font-size:.78rem;display:inline-flex}.header__notifications-link:hover{color:var(--on-surface);background:#8ff5ff14}@keyframes header-notif-pulse{0%{box-shadow:0 0 #ff8f66cc}70%{box-shadow:0 0 0 9px #ff8f6600}to{box-shadow:0 0 #ff8f6600}}@keyframes header-notif-pop{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.header__avatar{cursor:pointer;background:var(--secondary-container);width:32px;height:32px;transition:border-color var(--transition-base);border:1px solid #8ff5ff33;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.header__avatar:hover{border-color:var(--primary)}.header__avatar-letter{font-family:var(--font-headline);color:var(--on-surface);font-size:.8rem;font-weight:700}.header__create-btn{background:var(--primary);color:var(--on-primary);font-family:var(--font-headline);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;padding:.375rem 1rem;font-size:.875rem;font-weight:600}.header__create-btn:hover{filter:brightness(1.1)}.header__create-btn:active{transform:scale(.95)}@media (width<=768px){html:has(.treegen,.buildinggen,.assembly-page,.vfx-page,.mesh-editor-layout){height:auto;min-height:100%;overflow:hidden auto}body:has(.treegen,.buildinggen,.assembly-page,.vfx-page,.mesh-editor-layout){height:auto;min-height:100%;overflow:hidden auto}#root:has(.treegen,.buildinggen,.assembly-page,.vfx-page,.mesh-editor-layout){height:auto;min-height:100%;overflow:hidden auto}.header{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.2rem .5rem;height:auto;min-height:52px;padding:.35rem .65rem;display:grid}.header__left{display:contents}.header__logo{grid-area:1/1;font-size:1.05rem}.header__right{grid-area:1/2;gap:.25rem}.header__title-wrap{grid-area:2/1/auto/-1;justify-self:start;max-width:100%;position:static;transform:none}.header__title{text-align:left;white-space:normal;font-size:.85rem}.header__nav{overscroll-behavior-x:contain;scrollbar-width:thin;grid-area:3/1/auto/-1;gap:1rem;min-width:0;max-width:100%;padding:.3rem 0 .15rem;display:flex;overflow-x:auto}.header__nav-link{font-size:.78rem}.header__search-btn#search-assets-btn,.header__search-field{display:none}.header__right>a.header__search-btn{padding:.3rem .45rem;display:flex}.header__title-wrap{pointer-events:auto}.header__notifications-pop{right:-.5rem}}.footer{height:40px;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.1em;color:var(--outline);background:var(--surface-container-low);border-top:1px solid #47484a1a;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 1.5rem;font-size:10px;display:flex}.footer--kanban{background:var(--surface-container-low);border-top:1px solid #47484a26}.footer__left,.footer__right{align-items:center;gap:1.5rem;display:flex}.footer__text{color:var(--outline)}.footer__text--success{color:var(--tertiary)}.footer__link{color:var(--outline);transition:color var(--transition-base)}.footer__link-btn{font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:none;padding:0}.footer__link:hover{color:var(--primary)}.footer__status{align-items:center;gap:.5rem;display:flex}.footer__status-dot{border-radius:50%;width:6px;height:6px}.footer__status-dot--online{background:var(--tertiary);animation:2s ease-in-out infinite pulse-glow}.footer__status-text{color:var(--on-surface-variant)}.footer__metrics{color:#ababadcc;align-items:center;gap:1.2rem;font-family:monospace;font-size:10px;display:flex}.footer__metrics span{white-space:nowrap}.footer__action-btn{color:var(--on-surface-variant);font-family:var(--font-label);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:color var(--transition-base);background:0 0;border:none;align-items:center;gap:.375rem;font-size:10px;display:flex}.footer__action-btn:hover{color:var(--primary)}.server-dot{border-radius:50%;flex:none;width:9px;height:9px;margin-left:auto}.server-dot--on{background:#4caf50;box-shadow:0 0 6px #4caf50b3}.server-dot--warn{background:#ffb300}.server-dot--error{background:#e5484d;box-shadow:0 0 6px #e5484db3}.server-dot--off{background:var(--on-surface-variant);opacity:.4}.server-status-line{font-family:var(--font-label);color:var(--on-surface);overflow-wrap:anywhere;margin:.5em 0 .9em;font-size:.8rem}.server-message{font-family:var(--font-label);border-radius:var(--radius-md);overflow-wrap:anywhere;margin:0 0 .8em;padding:.5em .7em;font-size:.78rem}.server-message--error{color:#ffdad6;background:#58191b}.server-message--ok{color:#b7f0c2;background:#1b3b23}.server-actions{flex-wrap:wrap;align-items:center;gap:.6em;margin-top:.4em;display:flex}.server-btn{font-family:var(--font-label);letter-spacing:.06em;border-radius:var(--radius-md);border:1px solid var(--surface-container-highest);color:var(--on-surface-variant);cursor:pointer;transition:var(--transition-fast);background:0 0;padding:.55em 1em;font-size:.72rem}.server-btn:hover:not(:disabled){background:var(--surface-container-high);color:var(--on-surface)}.server-btn:disabled{opacity:.45;cursor:not-allowed}.user-list{flex-direction:column;gap:.4em;margin-bottom:.6em;display:flex}.user-row{border-radius:var(--radius-md);background:var(--surface-container-low);flex-wrap:wrap;align-items:center;gap:.6em;padding:.45em .6em;display:flex}.user-row--disabled{opacity:.55}.user-row__identity{flex:12ch;align-items:baseline;gap:.5em;min-width:0;display:flex}.user-row__login{font-family:var(--font-label);color:var(--on-surface);overflow-wrap:anywhere;font-size:.82rem}.user-row__name{color:var(--on-surface-variant);overflow-wrap:anywhere;font-size:.74rem}.user-row__badge{font-family:var(--font-label);letter-spacing:.08em;border-radius:var(--radius-md);color:#ffe0a3;background:#4d3a12;padding:.15em .45em;font-size:.62rem}.user-row__role{flex:none;width:auto;min-width:12ch;padding:.35em .5em;font-size:.75rem}.server-offline-toggle{cursor:pointer;align-items:flex-start;gap:10px;margin-top:14px;display:flex}.server-offline-toggle input{cursor:pointer;flex:none;margin-top:3px}.server-offline-toggle span{flex-direction:column;gap:3px;display:flex}.server-offline-toggle strong{font-size:12px;font-weight:600}.server-offline-toggle em{opacity:.7;font-size:11px;font-style:normal;line-height:1.45}.settings-overlay{z-index:2000;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.settings-overlay__scrim{-webkit-backdrop-filter:blur(12px);background:#0d0e10d9;position:absolute;inset:0}.settings-modal{background:var(--surface-container-low);border-radius:var(--radius-2xl);border:1px solid #8ff5ff14;flex-direction:column;width:700px;max-width:90vw;max-height:85vh;animation:.4s cubic-bezier(.34,1.56,.64,1) modalScaleUp;display:flex;position:relative;overflow:hidden;box-shadow:0 32px 64px #00000080}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.9)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.settings-header{border-bottom:1px solid #47484a26;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.settings-title-group{align-items:center;gap:1rem;display:flex}.settings-close{color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;transition:color .2s}.settings-close:hover{color:var(--primary)}.settings-body{flex-direction:column;gap:2.5rem;padding:2rem;display:flex;overflow-y:auto}.settings-tabs{gap:.75rem;display:flex}.settings-tab{border-radius:var(--radius-md);background:var(--surface-container-high);color:var(--on-surface-variant);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:1px solid #47484a2e;padding:.625rem 1rem;font-weight:700;transition:all .2s}.settings-tab:hover{color:var(--on-surface);border-color:#8ff5ff3d}.settings-tab--active{color:var(--primary);border-color:#8ff5ff5c;box-shadow:inset 0 0 0 1px #8ff5ff2e}.settings-section{flex-direction:column;gap:1.25rem;display:flex}.settings-section-title{letter-spacing:.15em;color:var(--primary);text-transform:uppercase;font-size:.75rem;font-weight:700}.settings-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.settings-grid--triple{grid-template-columns:2fr 1fr}.settings-api-card{background:var(--surface-container-high);border-radius:var(--radius-xl);border:1px solid #47484a1a;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.settings-api-header{align-items:center;gap:.75rem;display:flex}.settings-api-icon{background:var(--surface-container-lowest);border-radius:var(--radius-md);width:32px;height:32px;color:var(--on-surface-variant);justify-content:center;align-items:center;display:flex}.settings-api-name{font-size:.9rem;font-weight:600}.settings-input-group{flex-direction:column;gap:.5rem;display:flex}.settings-label{color:var(--on-surface-variant);font-size:.65rem;font-weight:600}.settings-input{background:var(--surface-container-lowest);border-radius:var(--radius-md);color:var(--on-surface);border:1px solid #47484a33;outline:none;padding:.625rem .875rem;font-size:.875rem;transition:border-color .2s}.settings-input:focus{border-color:var(--primary)}.settings-helper-text{color:var(--on-surface-variant);font-size:.8rem;line-height:1.5}.custom-apis-list{flex-direction:column;gap:1rem;display:flex}.custom-api-item{background:var(--surface-container-highest);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;padding:1rem;display:flex}.custom-api-info{flex-direction:column;display:flex}.custom-api-url{color:var(--on-surface-variant);font-family:monospace;font-size:.7rem}.add-custom-api-form{border-radius:var(--radius-xl);background:#8ff5ff08;border:1px dashed #8ff5ff33;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.settings-footer{border-top:1px solid #47484a26;justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;display:flex}.btn-save{background:var(--primary);color:var(--on-primary);border-radius:var(--radius-md);cursor:pointer;border:none;padding:.75rem 1.5rem;font-weight:700;transition:transform .2s}.btn-save:hover{filter:brightness(1.1);transform:translateY(-2px)}.settings-license{border:1px solid var(--outline-variant,#2a2a30);background:#ffffff05;border-radius:10px;flex-direction:column;gap:.5rem;margin-top:8px;padding:.75rem;display:flex}.settings-license__row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.settings-license__accept{color:var(--on-surface);cursor:pointer;align-items:center;gap:.4rem;font-size:.8rem;display:inline-flex}.settings-license__ok{color:#4caf50;align-items:center;gap:.35rem;font-size:.8rem;display:inline-flex}.settings-license__ok .material-symbols-outlined{font-size:1.1em}.settings-license__link{font:inherit;color:var(--primary);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0;font-size:.78rem;text-decoration:underline}.settings-license__text{border:1px solid var(--outline-variant,#2a2a30);max-height:260px;color:var(--on-surface-variant);white-space:pre-wrap;-webkit-user-select:text;user-select:text;background:#00000059;border-radius:8px;margin:0;padding:.6rem .7rem;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.68rem;line-height:1.5;overflow-y:auto}.settings-btn-primary{color:#0b0e14;cursor:pointer;background:linear-gradient(90deg,#7c5cff,#22d3ee);border:none;border-radius:8px;align-self:flex-start;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:600}.settings-btn-primary:hover{filter:brightness(1.1)}.projects-page__modal.setup-wizard{scrollbar-width:thin;scrollbar-color:var(--outline) transparent;max-width:640px;max-height:90vh;overflow:hidden auto}.projects-page__modal.setup-wizard::-webkit-scrollbar{width:5px}.projects-page__modal.setup-wizard::-webkit-scrollbar-track{background:0 0}.projects-page__modal.setup-wizard::-webkit-scrollbar-thumb{background:var(--outline);border-radius:10px}.setup-wizard__steps{border-bottom:1px solid #47484a1f;align-items:center;gap:.5rem;margin:0 0 1rem;padding:0 0 1.25rem;list-style:none;display:flex}.setup-wizard__step{color:var(--on-surface-variant);flex:1;align-items:center;gap:.5rem;font-size:.75rem;display:flex;position:relative}.setup-wizard__step+.setup-wizard__step:before{content:"";background:#47484a2e;height:1px;position:absolute;left:-.5rem;right:calc(100% - .25rem)}.setup-wizard__step-index{background:var(--surface-container-highest);width:22px;height:22px;font-family:var(--font-label);color:var(--on-surface-variant);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;display:inline-flex}.setup-wizard__step--active .setup-wizard__step-index{background:var(--primary);color:var(--on-primary)}.setup-wizard__step--done .setup-wizard__step-index{color:var(--primary);background:#8ff5ff29}.setup-wizard__step--active .setup-wizard__step-label{color:var(--on-surface);font-weight:600}.setup-wizard__body{flex-direction:column;gap:1rem;display:flex;position:relative}.setup-wizard__path-row{align-items:stretch;gap:.5rem;display:flex}.setup-wizard__path-input{flex:1;min-width:0}.setup-wizard__browse-btn{background:var(--surface-container-highest);color:var(--on-surface);border-radius:var(--radius-lg);font-family:var(--font-headline);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border:1px solid #47484a2e;flex-shrink:0;align-items:center;gap:.375rem;padding:0 .875rem;font-size:.8rem;font-weight:600;display:inline-flex}.setup-wizard__browse-btn:hover:not(:disabled){color:var(--primary);background:#8ff5ff0d;border-color:#8ff5ff59}.setup-wizard__browse-btn:disabled{opacity:.6;cursor:not-allowed}.setup-wizard__hint{color:var(--on-surface-variant);margin:0;font-size:.75rem;line-height:1.5}.setup-wizard__hint code{font-family:var(--font-label);background:var(--surface-container-highest);border-radius:var(--radius-sm);padding:.05rem .3rem;font-size:.72rem}.setup-wizard__error{color:var(--error);background:var(--error-container);border-radius:var(--radius-md);padding:.625rem .75rem;font-size:.75rem;line-height:1.4}.setup-wizard__model-list{scrollbar-width:thin;scrollbar-color:var(--outline) transparent;flex-direction:column;gap:.75rem;max-height:360px;padding-right:6px;display:flex;overflow-y:auto}.setup-wizard__model-list::-webkit-scrollbar{width:5px}.setup-wizard__model-list::-webkit-scrollbar-track{background:0 0}.setup-wizard__model-list::-webkit-scrollbar-thumb{background:var(--outline);border-radius:10px}.setup-wizard__model-card{border-radius:var(--radius-lg);background:#12131673;border:1px solid #47484a1f;flex-direction:column;gap:.625rem;padding:.875rem 1rem;display:flex}.setup-wizard__model-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.setup-wizard__model-name{color:var(--on-surface);font-size:.9rem}.setup-wizard__model-meta{color:var(--on-surface-variant);font-size:.7rem;font-family:var(--font-label)}.setup-wizard__model-toggle{color:var(--on-surface-variant);border-radius:var(--radius-md);cursor:pointer;border:1px solid #47484a2e;align-items:center;gap:.5rem;padding:.625rem .75rem;font-size:.78rem;display:flex}.setup-wizard__model-toggle input[type=checkbox]{accent-color:var(--primary);cursor:pointer;width:16px;height:16px}.setup-wizard__summary{border-radius:var(--radius-md);color:var(--on-surface);background:#8ff5ff0d;border:1px solid #8ff5ff2e;justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.8rem;display:flex}.setup-wizard__progress-block{border-radius:var(--radius-lg);background:#12131673;border:1px solid #47484a1f;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.setup-wizard__progress-meta,.setup-wizard__progress-foot{color:var(--on-surface-variant);justify-content:space-between;align-items:center;gap:.75rem;font-size:.75rem;display:flex}.setup-wizard__progress-file{color:var(--on-surface);font-family:var(--font-label);word-break:break-all}.setup-wizard__progress-bar{background:var(--surface-container-highest);border-radius:var(--radius-full);width:100%;height:8px;position:relative;overflow:hidden}.setup-wizard__progress-bar-fill{background:linear-gradient(90deg, var(--primary), var(--secondary));height:100%;transition:width .2s}.setup-wizard__workflow-toolbar{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.setup-wizard__workflow-counter{font-size:.7rem;font-family:var(--font-label);color:var(--on-surface-variant)}.setup-wizard__workflow-toolbar-actions{gap:.75rem;display:flex}.setup-wizard__workflow-link{color:var(--primary);font-size:.72rem;font-family:var(--font-headline);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.setup-wizard__workflow-link:hover:not(:disabled){filter:brightness(1.15)}.setup-wizard__workflow-link:disabled{opacity:.5;cursor:not-allowed}.setup-wizard__workflow-list{scrollbar-width:thin;scrollbar-color:var(--outline) transparent;flex-direction:column;gap:.375rem;max-height:280px;padding-right:6px;display:flex;overflow-y:auto}.setup-wizard__workflow-list::-webkit-scrollbar{width:5px}.setup-wizard__workflow-list::-webkit-scrollbar-track{background:0 0}.setup-wizard__workflow-list::-webkit-scrollbar-thumb{background:var(--outline);border-radius:10px}.setup-wizard__workflow-empty{color:var(--on-surface-variant);text-align:center;padding:.75rem;font-size:.75rem}.setup-wizard__workflow-item{color:var(--on-surface);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-base), background var(--transition-base);background:#12131673;border:1px solid #47484a1f;align-items:center;gap:.625rem;padding:.5rem .75rem;font-size:.8rem;display:flex}.setup-wizard__workflow-item:hover{border-color:#8ff5ff40}.setup-wizard__workflow-item input[type=checkbox]{accent-color:var(--primary);cursor:pointer;flex-shrink:0;width:16px;height:16px}.setup-wizard__workflow-item-body{flex-direction:column;gap:.125rem;min-width:0;display:flex}.setup-wizard__workflow-item-name{color:var(--on-surface);word-break:break-word;font-weight:500}.setup-wizard__workflow-item-meta{color:var(--on-surface-variant);font-size:.66rem;font-family:var(--font-label);letter-spacing:.02em}.setup-wizard__overwrite{color:var(--on-surface-variant);border-radius:var(--radius-md);cursor:pointer;border:1px solid #47484a2e;align-items:center;gap:.5rem;padding:.625rem .75rem;font-size:.78rem;display:flex}.setup-wizard__overwrite input[type=checkbox]{accent-color:var(--primary);cursor:pointer;width:16px;height:16px}.setup-wizard__result-skipped{color:var(--on-surface-variant);margin:.5rem 0 0;padding-left:1rem;font-size:.72rem}.setup-wizard__result{color:var(--on-surface);border-radius:var(--radius-md);scrollbar-width:thin;scrollbar-color:var(--outline) transparent;background:#12131673;border:1px solid #47484a1f;max-height:70px;padding:.75rem 1rem;font-size:.8rem;overflow-y:auto}.setup-wizard__result::-webkit-scrollbar{width:5px}.setup-wizard__result::-webkit-scrollbar-track{background:0 0}.setup-wizard__result::-webkit-scrollbar-thumb{background:var(--outline);border-radius:10px}.setup-wizard__result-errors{color:var(--error);margin:.5rem 0 0;padding-left:1rem;font-size:.72rem}.setup-wizard__actions{gap:.75rem;padding-top:.5rem;display:flex}.setup-wizard__actions>button{flex:1}.setup-wizard__btn-skip{flex:none;min-width:96px}.folder-browser-overlay{z-index:2400;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0d0e10d1;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.folder-browser{background:var(--surface-container-low);border-radius:var(--radius-xl);border:1px solid #8ff5ff14;flex-direction:column;width:100%;max-width:560px;max-height:min(78vh,640px);display:flex;overflow:hidden;box-shadow:0 32px 64px #00000073}.folder-browser__header{background:#1e2022c7;border-bottom:1px solid #47484a2e;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.folder-browser__title{margin:0;font-size:1rem}.folder-browser__close{width:36px;height:36px;color:var(--on-surface-variant);cursor:pointer;transition:all var(--transition-base);background:0 0;border:1px solid #47484a2e;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.folder-browser__close:hover{color:var(--on-surface);border-color:#8ff5ff52}.folder-browser__path-row{border-bottom:1px solid #47484a2e;align-items:center;gap:.5rem;padding:.85rem 1.25rem;display:flex}.folder-browser__up,.folder-browser__go{border-radius:var(--radius-md);height:38px;color:var(--on-surface);cursor:pointer;transition:all var(--transition-base);background:#47484a2e;border:1px solid #47484a3d;justify-content:center;align-items:center;display:inline-flex}.folder-browser__up{width:38px}.folder-browser__go{padding:0 .9rem;font-size:.8rem;font-weight:600}.folder-browser__up:hover:not(:disabled),.folder-browser__go:hover:not(:disabled){color:var(--primary);border-color:#8ff5ff47}.folder-browser__up:disabled,.folder-browser__go:disabled{opacity:.45;cursor:not-allowed}.folder-browser__path-input{border-radius:var(--radius-md);min-width:0;height:38px;color:var(--on-surface);font-family:var(--font-mono,monospace);background:#121315e0;border:1px solid #47484a3d;flex:1;padding:0 .75rem;font-size:.78rem}.folder-browser__path-input:focus{border-color:#8ff5ff66;outline:none}.folder-browser__body{flex:1;min-height:160px;padding:.5rem;overflow-y:auto}.folder-browser__status{color:var(--on-surface-variant);padding:1rem 1.25rem;font-size:.82rem}.folder-browser__status--error{color:#ff9c9c}.folder-browser__entry{border-radius:var(--radius-md);width:100%;color:var(--on-surface);text-align:left;cursor:pointer;transition:background var(--transition-base);background:0 0;border:none;align-items:center;gap:.6rem;padding:.55rem .75rem;font-size:.84rem;display:flex}.folder-browser__entry:hover{background:#8ff5ff1a}.folder-browser__entry .material-symbols-outlined{color:var(--primary);font-size:1.2rem}.folder-browser__entry-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.folder-browser__actions{background:#1e2022c7;border-top:1px solid #47484a2e;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.25rem;display:flex}.folder-browser__current{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-mono,monospace);color:var(--on-surface-variant);flex:1;font-size:.74rem;overflow:hidden}.folder-browser__action-buttons{gap:.6rem;display:flex}.folder-browser__btn{border-radius:var(--radius-md);min-width:96px;font-family:var(--font-body);cursor:pointer;transition:all var(--transition-base);border:1px solid #0000;justify-content:center;align-items:center;padding:.6rem 1rem;font-size:.8rem;font-weight:600;display:inline-flex}.folder-browser__btn--secondary{color:var(--on-surface);background:#47484a2e;border-color:#47484a3d}.folder-browser__btn--secondary:hover{color:var(--primary);border-color:#8ff5ff47}.folder-browser__btn--primary{background:var(--primary);color:var(--on-primary,#06231f)}.folder-browser__btn--primary:hover:not(:disabled){filter:brightness(1.08)}.folder-browser__btn--primary:disabled{opacity:.45;cursor:not-allowed}.project-io-overlay{z-index:2300;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0d0e10d1;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.project-io{background:var(--surface-container-low);border-radius:var(--radius-xl);border:1px solid #8ff5ff14;width:100%;max-width:480px;overflow:hidden;box-shadow:0 32px 64px #00000073}.project-io__header{background:#1e2022c7;border-bottom:1px solid #47484a2e;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.project-io__title{margin:0;font-size:1rem}.project-io__close{width:36px;height:36px;color:var(--on-surface-variant);cursor:pointer;transition:all var(--transition-base);background:0 0;border:1px solid #47484a2e;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.project-io__close:hover{color:var(--on-surface);border-color:#8ff5ff52}.project-io__body{flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.project-io__field{flex-direction:column;gap:.4rem;display:flex}.project-io__label{letter-spacing:.04em;text-transform:uppercase;color:var(--on-surface-variant);font-size:.74rem;font-weight:600}.project-io__input{border-radius:var(--radius-md);height:40px;color:var(--on-surface);font-family:var(--font-body);background:#121315e0;border:1px solid #47484a3d;padding:0 .75rem;font-size:.84rem}.project-io__input:focus{border-color:#8ff5ff66;outline:none}.project-io__folder-row{align-items:center;gap:.5rem;display:flex}.project-io__folder-row .project-io__input{flex:1;min-width:0}.project-io__browse{border-radius:var(--radius-md);height:40px;color:var(--on-surface);cursor:pointer;white-space:nowrap;transition:all var(--transition-base);background:#47484a2e;border:1px solid #47484a3d;align-items:center;gap:.4rem;padding:0 .85rem;font-size:.8rem;font-weight:600;display:inline-flex}.project-io__browse:hover{color:var(--primary);border-color:#8ff5ff47}.project-io__browse .material-symbols-outlined{font-size:1.1rem}.project-io__hint{color:var(--on-surface-variant);margin:0;font-size:.74rem;line-height:1.5}.project-io__hint code{font-family:var(--font-mono,monospace);color:var(--primary);font-size:.72rem}.project-io__message{border-radius:var(--radius-md);word-break:break-word;padding:.65rem .8rem;font-size:.8rem;line-height:1.4}.project-io__message--error{color:#ff9c9c;background:#ff78781f;border:1px solid #ff78784d}.project-io__message--success{color:#9cffce;background:#78ffbe1a;border:1px solid #78ffbe42}.project-io__actions{background:#1e2022c7;border-top:1px solid #47484a2e;justify-content:flex-end;align-items:center;gap:.6rem;padding:1rem 1.25rem;display:flex}.project-io__btn{border-radius:var(--radius-md);min-width:110px;font-family:var(--font-body);cursor:pointer;transition:all var(--transition-base);border:1px solid #0000;justify-content:center;align-items:center;padding:.7rem 1rem;font-size:.8rem;font-weight:600;display:inline-flex}.project-io__btn--secondary{color:var(--on-surface);background:#47484a2e;border-color:#47484a3d}.project-io__btn--secondary:hover{color:var(--primary);border-color:#8ff5ff47}.project-io__btn--primary{background:var(--primary);color:var(--on-primary,#06231f)}.project-io__btn--primary:hover:not(:disabled){filter:brightness(1.08)}.project-io__btn--primary:disabled{opacity:.55;cursor:not-allowed}.projects-layout{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.projects-page{flex:1;padding:2rem 2.5rem;position:relative;overflow-y:auto}.projects-page__container{max-width:1200px;margin:0 auto}.projects-page__header{justify-content:space-between;align-items:flex-end;margin-bottom:2rem;animation:.4s forwards fadeIn;display:flex}.projects-page__page-title{letter-spacing:-.02em;color:var(--on-surface);font-size:1.75rem;font-weight:700}.projects-page__page-desc{color:var(--on-surface-variant);margin-top:.25rem;font-size:.8rem}.projects-page__header-actions{align-items:center;gap:.625rem;display:flex}.projects-page__new-btn{background:var(--primary);color:var(--on-primary);font-family:var(--font-headline);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);border:none;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;display:flex}.projects-page__setup-btn{color:var(--on-surface-variant);font-family:var(--font-headline);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);background:0 0;border:1px solid #47484a4d;align-items:center;gap:.5rem;padding:.625rem 1.125rem;font-size:.875rem;font-weight:600;display:flex}.projects-page__setup-btn:hover{color:var(--primary);background:#8ff5ff0a;border-color:#8ff5ff59}.projects-page__new-btn:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 16px #8ff5ff26}.projects-page__new-btn:active{transform:scale(.98)}.projects-page__grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.25rem;display:grid}.project-card{background:var(--surface-container-low);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-base);opacity:0;animation:.5s forwards fadeInUp;position:relative;overflow:hidden}.project-card:hover{background:var(--surface-container);transform:translateY(-2px);box-shadow:0 8px 32px #0000004d}.project-card__thumb{aspect-ratio:16/10;background:var(--surface-container-lowest);position:relative;overflow:hidden}.project-card__thumb-img{object-fit:cover;width:100%;height:100%;display:block}.project-card__thumb-inner{background:radial-gradient(circle at 30% 60%,#8ff5ff0a 0%,#0000 60%),radial-gradient(circle at 70% 30%,#ac89ff08 0%,#0000 50%);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.project-card__status{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.08em;border-radius:var(--radius-full);padding:.25rem .625rem;font-size:.6rem;font-weight:700;position:absolute;top:.75rem;right:.75rem}.project-card__status--active{color:var(--primary);background:#8ff5ff1a}.project-card__status--processing{color:var(--secondary);background:#ac89ff1a;animation:2s ease-in-out infinite pulse-glow}.project-card__status--complete{color:var(--tertiary);background:#dcffb21a}.project-card__info{padding:1rem 1.25rem 1.25rem}.project-card__name{letter-spacing:-.01em;color:var(--on-surface);margin-bottom:.375rem;font-size:1rem;font-weight:600}.project-card__desc{color:var(--on-surface-variant);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:1rem;font-size:.75rem;line-height:1.5;display:-webkit-box;overflow:hidden}.project-card__meta{gap:1rem;margin-bottom:.75rem;display:flex}.project-card__meta-item{color:var(--on-surface-variant);align-items:center;gap:.375rem;font-size:.7rem;display:flex}.project-card__footer{justify-content:space-between;align-items:center;padding-top:.75rem;display:flex}.project-card__preset{text-transform:uppercase;letter-spacing:.05em;color:var(--secondary);border-radius:var(--radius-sm);background:#ac89ff14;padding:.2rem .5rem;font-size:.6rem}.project-card__date{color:var(--outline);font-size:.65rem;font-family:var(--font-label)}.project-card__owner{border-top:1px solid var(--outline-variant);color:var(--on-surface-variant);align-items:center;gap:.3rem;margin-top:.5rem;padding-top:.5rem;display:flex}.project-card__owner-name{font-family:var(--font-label);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.project-card__action{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-sm);width:28px;height:28px;color:var(--on-surface-variant);cursor:pointer;opacity:0;transition:all var(--transition-base);background:#0009;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:.75rem}.project-card__edit{left:.75rem}.project-card__delete{left:calc(1.125rem + 28px)}.project-card__export{left:calc(56px + 1.5rem)}.project-card:hover .project-card__action{opacity:1}.project-card__edit:hover{color:var(--primary);background:#8ff5ff26}.project-card__delete:hover{background:var(--error-container);color:var(--error)}.project-card__export:hover{color:var(--primary);background:#8ff5ff26}.projects-page__empty{color:var(--on-surface-variant);flex-direction:column;grid-column:1/-1;align-items:center;gap:1rem;padding:4rem 2rem;font-size:.875rem;animation:.4s forwards fadeIn;display:flex}.projects-page__modal-overlay{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;justify-content:center;align-items:center;animation:.2s forwards fadeIn;display:flex;position:fixed;inset:0}.projects-page__modal{background:var(--surface-container-low);border-radius:var(--radius-xl);border:1px solid #47484a1a;width:100%;max-width:520px;padding:2.5rem;animation:.3s forwards fadeInUp;position:relative;overflow:hidden;box-shadow:0 32px 80px #00000080}.projects-page__modal--changelog{max-width:640px}.projects-page__modal-glow{pointer-events:none;background:radial-gradient(circle,#8ff5ff0f 0%,#0000 70%);width:500px;height:500px;position:absolute;top:-200px;left:50%;transform:translate(-50%)}.projects-page__modal-header{text-align:center;margin-bottom:2rem;position:relative}.projects-page__modal-header--split{text-align:left;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.projects-page__modal-title{letter-spacing:-.02em;color:var(--on-surface);margin-bottom:.375rem;font-size:1.75rem;font-weight:700}.projects-page__modal-desc{color:var(--on-surface-variant);font-size:.8rem}.projects-page__icon-btn{width:36px;height:36px;color:var(--on-surface-variant);cursor:pointer;transition:all var(--transition-base);background:#121316a6;border:1px solid #47484a2e;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.projects-page__icon-btn:hover{color:var(--primary);border-color:#8ff5ff47}.projects-page__changelog{scrollbar-width:thin;scrollbar-color:var(--primary) transparent;flex-direction:column;gap:1rem;max-height:480px;padding-right:8px;display:flex;position:relative;overflow-y:auto}.projects-page__changelog::-webkit-scrollbar{width:5px}.projects-page__changelog::-webkit-scrollbar-track{background:0 0}.projects-page__changelog::-webkit-scrollbar-thumb{background:var(--outline);border-radius:10px}.projects-page__changelog::-webkit-scrollbar-thumb:hover{background:var(--primary)}.projects-page__changelog-entry{border-radius:var(--radius-lg);background:#12131673;border:1px solid #47484a1f;padding:1rem 1.125rem}.projects-page__changelog-meta{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.projects-page__changelog-version{color:var(--primary);font-size:.65rem}.projects-page__changelog-date{color:var(--outline);font-size:.72rem}.projects-page__changelog-list{color:var(--on-surface-variant);margin:0;padding-left:1rem;font-size:.8rem;line-height:1.6}.projects-page__form{flex-direction:column;gap:1.5rem;display:flex;position:relative}.projects-page__field{flex-direction:column;gap:.5rem;display:flex}.projects-page__label{text-transform:uppercase;letter-spacing:.12em;color:var(--on-surface-variant);font-size:.65rem;font-weight:600}.projects-page__input-wrap{position:relative}.projects-page__input{background:var(--surface-container-highest);border-radius:var(--radius-lg);width:100%;color:var(--on-surface);transition:all var(--transition-base);border:none;outline:none;padding:.75rem 1rem;font-size:.875rem}.projects-page__input:focus{box-shadow:0 0 0 2px var(--primary)}.projects-page__input-underline{background:var(--primary);width:0;height:2px;transition:width var(--transition-slow);position:absolute;bottom:0;left:0}.projects-page__input-wrap:focus-within .projects-page__input-underline{width:100%}.projects-page__textarea{background:var(--surface-container-highest);border-radius:var(--radius-lg);width:100%;color:var(--on-surface);resize:none;transition:all var(--transition-base);border:none;outline:none;padding:.75rem 1rem;font-size:.875rem}.projects-page__textarea:focus{box-shadow:0 0 0 2px var(--primary)}.projects-page__select-wrap{position:relative}.projects-page__select{background:var(--surface-container-highest);border-radius:var(--radius-lg);width:100%;color:var(--on-surface);appearance:none;cursor:pointer;transition:all var(--transition-base);border:none;outline:none;padding:.75rem 2.5rem .75rem 1rem;font-size:.875rem}.projects-page__select:focus{box-shadow:0 0 0 2px var(--primary)}.projects-page__select-icon{color:var(--outline);pointer-events:none;font-size:20px;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.projects-page__form-actions{flex-direction:column;gap:.75rem;padding-top:.5rem;display:flex}.projects-page__btn-primary{background:var(--primary);width:100%;color:var(--on-primary);font-family:var(--font-headline);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);border:none;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-size:.9375rem;font-weight:700;display:flex}.projects-page__btn-primary:hover{background:var(--primary-dim);transform:translateY(-1px);box-shadow:0 4px 20px #8ff5ff33}.projects-page__btn-primary:active{transform:scale(.98)}.projects-page__btn-secondary{border-radius:var(--radius-lg);width:100%;color:var(--on-surface-variant);font-family:var(--font-headline);cursor:pointer;transition:all var(--transition-base);background:0 0;border:1px solid #47484a4d;padding:1rem;font-size:.9375rem;font-weight:600}.projects-page__btn-secondary:hover{background:var(--surface-container-high);color:var(--on-surface)}.projects-page__sys-info{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.5rem;display:grid;position:relative}.projects-page__sys-item{border-radius:var(--radius-lg);background:#12131680;border:1px solid #47484a0d;align-items:center;gap:.75rem;padding:.75rem;display:flex}.projects-page__sys-icon{border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.projects-page__sys-icon--secondary{color:var(--secondary);background:#ac89ff1a}.projects-page__sys-icon--tertiary{color:var(--tertiary);background:#dcffb21a}.projects-page__sys-label{text-transform:uppercase;letter-spacing:.05em;color:var(--on-surface-variant);font-size:.55rem;display:block}.projects-page__sys-value{color:var(--on-surface);font-size:.75rem;font-weight:500;display:block}.export-mesh-overlay{z-index:2300;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0d0e10d1;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.export-mesh{background:var(--surface-container-low);border-radius:var(--radius-xl);width:100%;max-width:460px;max-height:100%;transition:max-width var(--transition-base);border:1px solid #8ff5ff14;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 32px 64px #00000073}.export-mesh__header{background:#1e2022c7;border-bottom:1px solid #47484a2e;flex:none;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.export-mesh__title{margin:0;font-size:1rem}.export-mesh__close{width:36px;height:36px;color:var(--on-surface-variant);cursor:pointer;transition:all var(--transition-base);background:0 0;border:1px solid #47484a2e;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.export-mesh__close:hover{color:var(--on-surface);border-color:#8ff5ff52}.export-mesh__body{overscroll-behavior:contain;flex-direction:column;flex:auto;gap:1rem;min-height:0;padding:1.25rem;display:flex;overflow-y:auto}.export-mesh__columns{align-items:start;gap:1rem;display:grid}.export-mesh__column{flex-direction:column;gap:1rem;min-width:0;display:flex}.export-mesh__field{flex-direction:column;gap:.4rem;display:flex}.export-mesh__label{letter-spacing:.04em;text-transform:uppercase;color:var(--on-surface-variant);font-size:.74rem;font-weight:600}.export-mesh__select,.export-mesh__input{border-radius:var(--radius-md);height:40px;color:var(--on-surface);font-family:var(--font-body);background:#121315e0;border:1px solid #47484a3d;padding:0 .75rem;font-size:.84rem}.export-mesh__select:focus,.export-mesh__input:focus{border-color:#8ff5ff66;outline:none}.export-mesh__filename-row,.export-mesh__folder-row{align-items:center;gap:.5rem;display:flex}.export-mesh__filename-row .export-mesh__input,.export-mesh__folder-row .export-mesh__input{flex:1;min-width:0}.export-mesh__ext{font-family:var(--font-mono,monospace);color:var(--on-surface-variant);font-size:.82rem}.export-mesh__browse{border-radius:var(--radius-md);height:40px;color:var(--on-surface);cursor:pointer;white-space:nowrap;transition:all var(--transition-base);background:#47484a2e;border:1px solid #47484a3d;align-items:center;gap:.4rem;padding:0 .85rem;font-size:.8rem;font-weight:600;display:inline-flex}.export-mesh__browse:hover{color:var(--primary);border-color:#8ff5ff47}.export-mesh__browse .material-symbols-outlined{font-size:1.1rem}.export-mesh__hint{color:var(--on-surface-variant);margin:0;font-size:.74rem;line-height:1.4}.export-mesh__progress{flex-direction:column;gap:.35rem;display:flex}.export-mesh__progress-track{background:#47484a47;border-radius:999px;height:6px;overflow:hidden}.export-mesh__progress-bar{background:var(--primary);border-radius:999px;height:100%;transition:width .25s}.export-mesh__progress-message{color:var(--on-surface-variant);font-size:.74rem;line-height:1.4}.export-mesh__message{border-radius:var(--radius-md);word-break:break-word;padding:.65rem .8rem;font-size:.8rem;line-height:1.4}.export-mesh__message--error{color:#ff9c9c;background:#ff78781f;border:1px solid #ff78784d}.export-mesh__message--success{color:#9cffce;background:#78ffbe1a;border:1px solid #78ffbe42}.export-mesh__extras{border-top:1px solid #47484a2e;flex-direction:column;gap:.6rem;padding-top:.9rem;display:flex}.export-mesh__check{color:var(--on-surface);cursor:pointer;align-items:center;gap:.5rem;font-size:.82rem;display:flex}.export-mesh__extra-body{flex-direction:column;gap:.45rem;margin:-.1rem 0 .35rem 1.5rem;display:flex}.export-mesh__inline-field{color:var(--on-surface-variant);align-items:center;gap:.5rem;font-size:.78rem;display:flex}.export-mesh__select--inline{flex:1;min-width:0;height:32px;font-size:.78rem}.export-mesh__check-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.export-mesh__check-row .export-mesh__btn{min-width:0;padding:.5rem .8rem;font-size:.78rem}.export-mesh__verdict{font-size:.78rem;font-weight:600}.export-mesh__verdict--pass{color:#9cffce}.export-mesh__verdict--warn{color:#e0a030}.export-mesh__verdict--fail{color:#ff9c9c}.export-mesh__findings{flex-direction:column;gap:.3rem;max-height:160px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.export-mesh__finding{color:var(--on-surface-variant);border-left:2px solid #0000;padding-left:.6rem;font-size:.74rem;line-height:1.4}.export-mesh__finding--fail{border-left-color:#ff9c9c}.export-mesh__finding--warn{border-left-color:#e0a030}.export-mesh__finding--pass{border-left-color:#9cffce}.export-mesh__footer{background:#1e2022c7;border-top:1px solid #47484a2e;flex-direction:column;flex:none;display:flex}.export-mesh__status{overscroll-behavior:contain;flex-direction:column;gap:.6rem;max-height:30vh;padding:.9rem 1.25rem 0;display:flex;overflow-y:auto}.export-mesh__actions{flex:none;justify-content:flex-end;align-items:center;gap:.6rem;padding:1rem 1.25rem;display:flex}.export-mesh__btn{border-radius:var(--radius-md);min-width:110px;font-family:var(--font-body);cursor:pointer;transition:all var(--transition-base);border:1px solid #0000;justify-content:center;align-items:center;padding:.7rem 1rem;font-size:.8rem;font-weight:600;display:inline-flex}.export-mesh__btn--secondary{color:var(--on-surface);background:#47484a2e;border-color:#47484a3d}.export-mesh__btn--secondary:hover{color:var(--primary);border-color:#8ff5ff47}.export-mesh__btn--primary{background:var(--primary);color:var(--on-primary,#06231f)}.export-mesh__btn--primary:hover:not(:disabled){filter:brightness(1.08)}.export-mesh__btn--primary:disabled{opacity:.55;cursor:not-allowed}.export-mesh__map-row{flex-wrap:wrap;gap:.3rem .85rem;display:flex}.export-mesh__map-row .export-mesh__check{color:var(--on-surface-variant);font-size:.78rem}.export-mesh__input--inline{flex:none;width:4.5rem;height:32px;font-size:.78rem}@media (width>=900px){.export-mesh--wide{max-width:880px}.export-mesh--wide .export-mesh__columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem}.export-mesh--wide .export-mesh__extras{border-top:none;padding-top:0}}@media (width>=1180px){.export-mesh--wide3{max-width:1240px}.export-mesh--wide3 .export-mesh__columns{grid-template-columns:repeat(3,minmax(0,1fr))}}.export-mesh__items{overscroll-behavior:contain;border-radius:var(--radius-md);background:#121315e0;border:1px solid #47484a3d;flex-direction:column;gap:2px;max-height:280px;margin:0;padding:.35rem;list-style:none;display:flex;overflow-y:auto}.export-mesh__item{border-radius:var(--radius-sm,6px);grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:.5rem;padding:.3rem .45rem;font-size:.78rem;display:grid}.export-mesh__item--running{background:#8ff5ff12}.export-mesh__item-icon{color:var(--on-surface-variant);grid-row:span 3;align-self:start;font-size:1.05rem}.export-mesh__item--running .export-mesh__item-icon{color:var(--primary);animation:1.2s linear infinite export-mesh-spin}.export-mesh__item--done .export-mesh__item-icon{color:#9cffce}.export-mesh__item--failed .export-mesh__item-icon{color:#ff9c9c}.export-mesh__item--skipped{opacity:.55}.export-mesh__item-name{text-overflow:ellipsis;white-space:nowrap;color:var(--on-surface);overflow:hidden}.export-mesh__item-file,.export-mesh__item-message{text-overflow:ellipsis;white-space:nowrap;color:var(--on-surface-variant);grid-column:2;font-size:.7rem;overflow:hidden}.export-mesh__item--failed .export-mesh__item-message{color:#ff9c9c;white-space:normal}@keyframes export-mesh-spin{to{transform:rotate(360deg)}}.mesh-preview-dialog-overlay{z-index:2100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0d0e10d1;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.mesh-preview-dialog{background:var(--surface-container-low);border-radius:var(--radius-xl);border:1px solid #8ff5ff14;width:100%;max-width:520px;overflow:hidden;box-shadow:0 32px 64px #00000073}.mesh-preview-dialog--viewer{max-width:980px}.mesh-preview-dialog__header,.mesh-preview-dialog__actions{background:#1e2022c7;border-bottom:1px solid #47484a2e;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.mesh-preview-dialog__actions{border-top:1px solid #47484a2e;border-bottom:none}.mesh-preview-dialog__title{margin:0;font-size:1rem}.mesh-preview-dialog__close{width:36px;height:36px;color:var(--on-surface-variant);cursor:pointer;transition:all var(--transition-base);background:0 0;border:1px solid #47484a2e;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.mesh-preview-dialog__close:hover{color:var(--on-surface);border-color:#8ff5ff52}.mesh-preview-dialog__body{padding:1.25rem}.mesh-preview-dialog__body--viewer{align-items:stretch;height:min(70vh,720px);padding:0;display:flex}.mesh-preview-dialog__viewer{flex:1;min-width:0;position:relative}.mesh-preview-dialog__toolbar{z-index:3;flex-direction:column;gap:.45rem;display:flex;position:absolute;top:1rem;left:1rem}.mesh-preview-dialog__tool{border-radius:var(--radius-full);min-width:28px;height:28px;color:var(--on-surface-variant);letter-spacing:.08em;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all var(--transition-base);background:#121315e0;border:1px solid #47484a38;justify-content:center;align-items:center;padding:0 .5rem;font-size:.72rem;font-weight:700;display:inline-flex}.mesh-preview-dialog__tool:hover,.mesh-preview-dialog__tool--active{color:var(--primary);background:#8ff5ff24;border-color:#8ff5ff52}.mesh-preview-dialog__stats{z-index:3;border-radius:var(--radius-full);color:var(--on-surface-variant);letter-spacing:.04em;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:#121315e0;border:1px solid #47484a38;gap:.75rem;padding:.35rem .7rem;font-size:.7rem;display:flex;position:absolute;bottom:1rem;left:1rem}.mesh-preview-dialog__stats strong{color:var(--on-surface);font-weight:700}.mesh-preview-dialog__light-panel{border-radius:var(--radius-lg);background:#121315eb;border:1px solid #47484a33;width:40px;padding:.55rem .35rem;box-shadow:0 12px 24px #00000040}.mesh-preview-dialog__light-panel input[type=range]{transform-origin:50%;width:110px;margin:0;transform:rotate(-90deg)}.mesh-preview-dialog__btn{border-radius:var(--radius-md);min-width:120px;font-family:var(--font-body);cursor:pointer;transition:all var(--transition-base);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.8rem;font-weight:600;display:inline-flex}.mesh-preview-dialog__btn--secondary{color:var(--on-surface);background:#47484a2e;border-color:#47484a3d}.mesh-preview-dialog__btn--secondary:hover{color:var(--primary);border-color:#8ff5ff47}.kanban-layout{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.kanban-body{flex:1;display:flex;overflow:hidden}.kanban-status-message{z-index:70;border-radius:var(--radius-lg);max-width:min(420px,100vw - 3rem);color:var(--on-surface);background:#121315f5;border:1px solid #47484a2e;align-items:center;gap:.625rem;padding:.875rem 1rem;font-size:.8125rem;line-height:1.4;animation:.2s forwards fadeIn;display:flex;position:fixed;top:4.25rem;right:1.5rem;box-shadow:0 12px 28px #00000059}.kanban-status-message--success{color:var(--primary);border-color:#8ff5ff47}.kanban-status-message--error{color:#ff9b9b;border-color:#ff787847}.kanban-status-message--info{color:var(--secondary);border-color:#ac89ff47}.kanban-sidebar{background:var(--surface-container-low);border-right:1px solid #47484a26;flex-direction:column;flex-shrink:0;gap:.5rem;width:240px;padding:1rem;animation:.3s forwards slideInLeft;display:flex;overflow-y:auto}.kanban-sidebar__workspace{border-radius:var(--radius-xl);background:#1e202266;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.5rem;display:flex}.kanban-sidebar__ws-icon{border-radius:var(--radius-lg);background:#ac89ff33;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.kanban-sidebar__ws-info{flex-direction:column;min-width:0;display:flex}.kanban-sidebar__ws-name{color:var(--on-surface);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.kanban-sidebar__ws-version{color:var(--on-surface-variant);font-size:.6rem}.kanban-sidebar__nav{flex-direction:column;flex:1;gap:.25rem;display:flex}.kanban-sidebar__nav-item{color:var(--on-surface-variant);font-family:var(--font-body);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);text-align:left;background:0 0;border:none;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;font-size:.875rem;display:flex}.kanban-sidebar__nav-item:hover{color:var(--primary);background:#1e202280;transform:translate(4px)}.kanban-sidebar__nav-item--active{background:var(--surface-container-high);color:var(--primary);font-weight:700}.kanban-sidebar__divider{background:#47484a26;height:1px;margin:1.5rem .75rem .5rem}.kanban-sidebar__new-asset{background:var(--surface-container-highest);border-radius:var(--radius-md);color:var(--on-surface);letter-spacing:.1em;cursor:pointer;transition:all var(--transition-base);border:1px solid #47484a1a;justify-content:center;align-items:center;gap:.5rem;margin:0 .75rem;padding:.5rem;font-size:.7rem;display:flex}.kanban-sidebar__new-asset:hover{background:var(--surface-variant)}.kanban-sidebar__bottom{border-top:1px solid #47484a26;flex-direction:column;gap:.25rem;padding-top:1rem;display:flex}.kanban-sidebar__link{color:var(--on-surface-variant);border-radius:var(--radius-md);transition:all var(--transition-base);align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.875rem;display:flex}.kanban-sidebar__link:hover{color:var(--primary)}.kanban-main{background:var(--background);flex:1;padding:1.5rem;overflow:auto hidden}.kanban-columns{gap:1.5rem;min-width:max-content;height:100%;display:flex}.kanban-col{flex-direction:column;flex-shrink:0;width:380px;min-width:340px;height:100%;animation:.4s forwards fadeIn;display:flex}.kanban-col:nth-child(2){animation-delay:60ms}.kanban-col:nth-child(3){animation-delay:.12s}.kanban-col:nth-child(4){animation-delay:.18s}.kanban-col:nth-child(5){animation-delay:.24s}.kanban-col__header{justify-content:space-between;align-items:center;margin-bottom:1rem;padding:0 .5rem;display:flex}.kanban-col__title-group{align-items:center;gap:.5rem;display:flex}.kanban-col__title{letter-spacing:.02em;text-transform:uppercase;font-size:1rem;font-weight:700}.kanban-col__badge{letter-spacing:.05em;border-radius:var(--radius-full);background:var(--surface-container-high);color:var(--on-surface-variant);padding:.2rem .5rem;font-size:.6rem}.kanban-col__badge--secondary{color:var(--secondary);background:#ac89ff1a}.kanban-col__content{background:var(--surface-container-low);border-radius:var(--radius-sm);flex-direction:column;flex:1;gap:1rem;min-height:0;padding:.75rem;display:flex;overflow-y:auto}.kanban-col__content--file-drop{outline:2px dashed var(--primary);outline-offset:-2px;background:#8ff5ff14}.kanban-drop-zone{border-radius:var(--radius-md);min-height:10px;transition:all var(--transition-base)}.kanban-drop-zone--active{background:#8ff5ff0f;border:2px dashed #8ff5ff59;min-height:56px}.kanban-drop-zone--empty{min-height:180px;color:var(--on-surface-variant);text-align:center;background:#8ff5ff08;border:2px dashed #8ff5ff2e;justify-content:center;align-items:center;padding:1rem;display:flex}.kanban-drop-zone__label{letter-spacing:.08em;font-size:.65rem}.image-card{background:var(--surface-container-high);border-radius:var(--radius-lg);transition:all var(--transition-base);cursor:pointer;border:1px solid #47484a0d;flex-shrink:0;width:100%;position:relative;overflow:hidden}.image-card:hover{border-color:#8ff5ff66;transform:translateY(-4px);box-shadow:0 12px 24px #0000004d}.image-card--dragging{opacity:.45}.image-card--focus-flash{animation:1.8s ease-out image-card-focus-flash}@keyframes image-card-focus-flash{0%{border-color:#8ff5ffe6;box-shadow:0 0 0 3px #8ff5ff8c,0 12px 28px #00000059}70%{border-color:#8ff5ffe6;box-shadow:0 0 0 3px #8ff5ff4d,0 12px 28px #0000004d}to{box-shadow:none;border-color:#47484a0d}}.image-card__actions{z-index:3;gap:.5rem;display:flex;position:absolute;top:.75rem;right:.75rem}.image-card__action-btn{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--on-surface-variant);cursor:pointer;opacity:0;transition:all var(--transition-base);background:#0009;border:none;justify-content:center;align-items:center;display:flex}.image-card:hover .image-card__action-btn{opacity:1}.image-card__action-btn:hover{color:var(--primary);background:#000000c7}.image-card__delete{z-index:3}.image-card__delete:hover{color:var(--error);background:#000000c7}.image-card__thumb{aspect-ratio:1;background:var(--surface-container-lowest);width:100%;height:auto;position:relative;overflow:hidden}.image-card__thumb--grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:2px;display:grid}.image-card__thumb--carousel{display:flex}.image-card__thumb-item{background:var(--surface-container-lowest);flex-direction:column;width:100%;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.image-card__thumb-item--mesh{cursor:pointer}.image-card__thumb-item--mesh:hover{box-shadow:inset 0 0 0 1px #8ff5ff59}.image-card__thumb-item--mesh:focus-visible{outline-offset:-2px;outline:2px solid #8ff5ffb3}.image-card__thumb-image{object-fit:cover;flex:1;width:100%;height:100%;min-height:0;display:block}.image-card__thumb-remove{width:24px;height:24px;color:var(--on-surface);cursor:pointer;opacity:0;z-index:4;transition:all var(--transition-base);background:#00000094;border:none;border-radius:999px;justify-content:center;align-items:center;display:flex;position:absolute;top:.75rem;left:.35rem}.image-card__thumb-item:hover .image-card__thumb-remove,.image-card:hover .image-card__thumb-remove{opacity:1}.image-card__thumb-remove:hover{color:var(--error);background:#000000c7}.image-card__thumb-remove--left{inset:auto auto 2.1rem .35rem}.image-card__thumb-caption{border-radius:var(--radius-sm);color:var(--on-surface);letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;z-index:1;background:#0000009e;padding:.25rem .4rem;font-size:.58rem;position:absolute;bottom:.35rem;left:.35rem;right:.35rem;overflow:hidden}.image-card__thumb-dimensions{color:var(--on-surface);letter-spacing:.08em;z-index:2;background:#00000094;border-radius:999px;padding:.2rem .45rem;font-size:.56rem;position:absolute;bottom:.35rem;left:50%;transform:translate(-50%)}.image-card__thumb-dimensions--with-caption{bottom:1.9rem}.image-card__thumb-nav{width:28px;height:28px;color:var(--on-surface);cursor:pointer;z-index:2;transition:all var(--transition-base);background:#0000009e;border:none;border-radius:999px;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.image-card__thumb-nav:hover:not(:disabled){color:var(--primary);background:#000000c7}.image-card__thumb-nav:disabled{opacity:.35;cursor:default}.image-card__thumb-nav--prev{left:.35rem}.image-card__thumb-nav--next{right:.35rem}.image-card__thumb-page-indicator{color:var(--on-surface);letter-spacing:.08em;z-index:2;background:#00000094;border-radius:999px;padding:.2rem .45rem;font-size:.6rem;position:absolute;bottom:.4rem;left:50%;transform:translate(-50%)}.image-card__mesh-edit-btn{color:var(--primary);letter-spacing:.08em;cursor:pointer;z-index:3;transition:all var(--transition-base);background:#8ff5ff2e;border:none;border-radius:999px;align-items:center;gap:.25rem;padding:.25rem .55rem;font-size:.6rem;font-weight:600;display:inline-flex;position:absolute;bottom:.4rem;right:.4rem}.image-card__mesh-edit-btn:hover:not(:disabled){color:var(--on-primary,#001f24);background:#8ff5ff52}.image-card__mesh-edit-btn:disabled{opacity:.45;cursor:default}.image-card__edit-preview-indicator{max-width:calc(100% - 3.2rem);color:var(--on-surface);letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;z-index:2;background:#00000094;border-radius:999px;padding:.2rem .45rem;font-size:.56rem;position:absolute;top:.4rem;left:.4rem;overflow:hidden}.image-card__thumb-overflow{color:#fff;letter-spacing:.08em;background:#0000008c;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex;position:absolute;inset:0}.image-card__thumb-placeholder{background:radial-gradient(at 30%,#8ff5ff0a 0%,#0000 60%),radial-gradient(at 70% 30%,#ac89ff08 0%,#0000 50%);flex:1;justify-content:center;align-items:center;width:100%;height:100%;min-height:0;display:flex}.image-card__info{padding:.75rem}.image-card__row{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.25rem;display:flex}.image-card__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.8125rem;font-weight:500;overflow:hidden}.image-card__edit-strip{background:#0000002e;flex-direction:column;gap:.35rem;padding:.35rem;display:flex}.image-card__edit-strip-label{color:var(--primary);font-size:.55rem}.image-card__edit-strip-scroll{gap:.35rem;padding-bottom:.15rem;display:flex;overflow-x:auto}.image-card__edit-thumb{flex-direction:column;gap:.2rem;width:54px;min-width:54px;text-decoration:none;display:flex}.image-card__edit-thumb-image{border-radius:var(--radius-sm);object-fit:cover;border:1px solid #8ff5ff29;width:54px;height:54px}.image-card__edit-thumb-name{color:var(--on-surface);text-overflow:ellipsis;white-space:nowrap;font-size:.55rem;line-height:1.2;overflow:hidden}.image-card__badges{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.375rem;display:flex}.image-card__count{border-radius:var(--radius-xs);color:var(--primary);white-space:nowrap;background:#8ff5ff1a;padding:.125rem .375rem;font-size:.6rem}.image-card__source{border-radius:var(--radius-xs);white-space:nowrap;padding:.125rem .375rem;font-size:.6rem}.image-card__meta{color:var(--on-surface-variant);font-size:.6875rem}.image-card__attributes{border-top:1px solid #47484a29;flex-direction:column;gap:.75rem;margin-top:.875rem;padding-top:.875rem;display:flex}.image-card__edit-actions{flex-direction:column;gap:.625rem;display:flex}.image-card__edit-action-btn,.image-card__edit-action-option{width:fit-content;color:var(--primary);border-radius:var(--radius-md);cursor:pointer;background:#8ff5ff14;border:1px solid #8ff5ff33;justify-content:center;align-items:center;gap:.35rem;padding:.45rem .7rem;font-size:.72rem;display:inline-flex}.image-card__cancel-btn{width:fit-content;color:var(--error);border-radius:var(--radius-md);cursor:pointer;background:#ff716c1a;border:1px solid #ff716c47;justify-content:center;align-items:center;gap:.35rem;margin-top:.5rem;padding:.4rem .65rem;font-size:.7rem;display:inline-flex}.image-card__cancel-btn:hover:not(:disabled){background:#ff716c2e}.image-card__cancel-btn:disabled{opacity:.55;cursor:default}.image-card__edit-action-menu{flex-wrap:wrap;gap:.5rem;display:flex}.image-card__edit-panel{border-radius:var(--radius-md);background:#0d0e1066;flex-direction:column;gap:.75rem;padding:.75rem;display:flex}.image-card__edit-panel-actions{flex-direction:column;gap:.5rem;display:flex}.image-card__attributes-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.image-card__attributes-title{letter-spacing:.08em;color:var(--on-surface-variant);font-size:.6rem}.image-card__attribute-add{color:var(--primary);border-radius:var(--radius-md);cursor:pointer;background:#8ff5ff14;border:1px solid #8ff5ff33;align-items:center;gap:.35rem;padding:.4rem .6rem;font-size:.7rem;display:inline-flex}.image-card__attribute-list{flex-direction:column;gap:.5rem;display:flex}.image-card__attribute-row{grid-template-columns:110px minmax(0,1fr) 34px;align-items:center;gap:.5rem;display:grid}.image-card__attribute-select,.image-card__attribute-input{background:var(--surface-container-lowest);border-radius:var(--radius-md);width:100%;min-width:0;color:var(--on-surface);border:1px solid #47484a2e;outline:none;padding:.55rem .65rem;font-size:.75rem}.image-card__attribute-input:focus,.image-card__attribute-select:focus{border-color:#8ff5ff66}.image-card__attribute-delete{border-radius:var(--radius-md);width:34px;height:34px;color:var(--error);cursor:pointer;background:#ff525214;border:none;justify-content:center;align-items:center;display:flex}.image-card__attribute-empty{border-radius:var(--radius-md);color:var(--on-surface-variant);text-align:center;background:#0d0e1059;padding:.75rem;font-size:.72rem}.image-card--draft{border:1px solid var(--primary);background:#8ff5ff05;min-height:200px}.image-card--loading{cursor:progress;background:linear-gradient(#8ff5ff0d 0%,#242629e6 100%);border:1px solid #8ff5ff33}.image-card--loading:hover{box-shadow:none;border-color:#8ff5ff4d;transform:none}.image-card__thumb--loading{background:radial-gradient(circle at 50% 35%,#8ff5ff1f,#0000 45%),linear-gradient(#8ff5ff0a,#0d0e1066);justify-content:center;align-items:center;display:flex}.image-card__loading-state{color:var(--primary);flex-direction:column;align-items:center;gap:.75rem;display:flex}.image-card__loading-spinner{font-size:2rem;animation:1s linear infinite image-card-spin}.image-card__loading-label{letter-spacing:.08em;color:var(--on-surface);font-size:1rem;font-weight:700}.image-card__source--loading{color:var(--primary);background:#8ff5ff1f}.image-card__meta--loading-node{color:var(--primary);margin-top:.375rem}.image-card__progress{background:#ffffff14;border-radius:999px;width:100%;height:.35rem;margin-top:.75rem;overflow:hidden}.image-card__progress-bar{border-radius:inherit;background:linear-gradient(90deg,#8ff5ffb3 0%,#8ff5ff 100%);height:100%;transition:width .2s}@keyframes image-card-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.image-card__options{flex-direction:column;gap:.5rem;padding:1rem;display:flex}.image-card__asset-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.image-card__asset-option{background:var(--surface-container-lowest);border-radius:var(--radius-md);color:var(--on-surface);cursor:pointer;transition:all var(--transition-base);text-align:left;border:1px solid #47484a26;flex-direction:column;gap:.5rem;padding:.5rem;display:flex}.image-card__asset-option:hover{border-color:#8ff5ff66;transform:translateY(-2px)}.image-card__asset-thumb{aspect-ratio:1;border-radius:var(--radius-sm);object-fit:cover;background:var(--surface-container-high);width:100%}.image-card__asset-name{color:var(--on-surface-variant);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.image-card__asset-picker-empty{border-radius:var(--radius-md);min-height:160px;color:var(--on-surface-variant);text-align:center;border:1px dashed #8ff5ff2e;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1rem;display:flex}.image-card__asset-picker-empty--compact{min-height:120px}.option-btn{background:var(--surface-container-lowest);border-radius:var(--radius-md);color:var(--on-surface);cursor:pointer;border:1px solid #47484a26;align-items:center;gap:.75rem;padding:.75rem;font-size:.8rem;transition:all .2s;display:flex}.option-btn:hover{background:var(--surface-container-high);border-color:var(--primary);transform:translate(4px)}.gen-section{border-top:1px solid #47484a1a;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.image-card__workflow-meta{color:var(--on-surface-variant);justify-content:space-between;gap:.75rem;font-size:.7rem;display:flex}.image-card__workflow-params{flex-direction:column;gap:.875rem;display:flex}.image-card__edit-progress{flex-direction:column;gap:.375rem;margin-top:.75rem;display:flex}.image-card__toggle-row{color:var(--on-surface);align-items:center;gap:.5rem;font-size:.8rem;display:flex}.image-card__file-input{background:var(--surface-container-lowest);border-radius:var(--radius-md);color:var(--on-surface);cursor:pointer;border:1px dashed #8ff5ff33;align-items:center;gap:.625rem;padding:.75rem;display:flex}.image-card__file-input input{display:none}.image-card__param-textarea{min-height:120px}.image-card__param-hint{color:var(--on-surface-variant);font-size:.65rem}.gen-prompt-input{background:var(--surface-container-lowest);border-radius:var(--radius-md);width:100%;color:var(--on-surface);resize:none;border:1px solid #47484a33;outline:none;min-height:80px;padding:.75rem;font-size:.875rem}.gen-btn{background:linear-gradient(135deg, var(--primary) 0%, #0091ff 100%);color:var(--on-primary);border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem;font-weight:700;transition:all .2s;display:flex}.gen-btn:hover{filter:brightness(1.2);box-shadow:0 0 20px #00d4ff4d}.api-select{background:var(--surface-container-lowest);color:var(--on-surface);border-radius:var(--radius-md);border:1px solid #47484a33;outline:none;padding:.6rem;font-size:.8rem}.kanban-col__add-btn{border-radius:var(--radius-lg);color:var(--on-surface-variant);cursor:pointer;transition:all var(--transition-base);letter-spacing:.12em;background:0 0;border:2px dashed #47484a1a;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:.5rem;padding:1.25rem;font-size:.6rem;font-weight:700;display:flex}.kanban-col__add-btn:hover{background:var(--surface-container-high);color:var(--primary);border-color:#8ff5ff4d}.params-card{background:var(--surface-container-highest);border-radius:var(--radius-lg);padding:1rem;box-shadow:0 4px 16px #0003}.params-card--secondary{border-left:2px solid var(--secondary)}.params-card--tertiary{border-left:2px solid var(--tertiary)}.params-card__header{color:var(--on-surface-variant);align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.params-card__title{letter-spacing:.12em;font-size:.7rem;font-weight:700}.params-card__body{flex-direction:column;gap:1rem;display:flex}.params-card__field{flex-direction:column;gap:.375rem;display:flex}.params-card__label{text-transform:uppercase;letter-spacing:.05em;color:var(--on-surface-variant);font-size:.6rem}.params-card__input{background:var(--surface-container-lowest);border-radius:var(--radius-lg);width:100%;color:var(--on-surface);transition:box-shadow var(--transition-base);border:none;outline:none;padding:.5rem .75rem;font-size:.8125rem}.params-card__input:focus{box-shadow:0 0 0 1px #ac89ff80}.params-card__input--seed{color:var(--secondary);font-family:monospace}.params-card__select{background:var(--surface-container-lowest);border-radius:var(--radius-lg);width:100%;color:var(--on-surface);appearance:none;cursor:pointer;border:none;outline:none;padding:.5rem .75rem;font-size:.8125rem}.params-card__row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.params-card__engine{border-radius:var(--radius-sm);background:#0d0e1080;justify-content:space-between;align-items:center;padding:.5rem;display:flex}.params-card__engine-label{color:var(--on-surface-variant);font-size:.75rem}.params-card__toggle-group{background:var(--surface-container-lowest);border-radius:var(--radius-sm);gap:.125rem;padding:.125rem;display:flex}.params-card__toggle{border-radius:var(--radius-xs);color:var(--on-surface-variant);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;padding:.25rem .5rem;font-size:.6rem;font-weight:700}.params-card__toggle--active-secondary{background:var(--secondary);color:var(--on-secondary)}.params-card__engine-grid{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.params-card__engine-btn{background:var(--surface-container-lowest);border-radius:var(--radius-sm);color:var(--on-surface-variant);cursor:pointer;transition:all var(--transition-base);border:1px solid #47484a1a;padding:.5rem;font-size:.7rem;font-weight:700}.params-card__engine-btn:hover{background:var(--surface-variant)}.params-card__engine-btn--active-tertiary{color:var(--tertiary);border-color:#dcffb266}.params-card__checkboxes{flex-direction:column;gap:.5rem;padding-top:.5rem;display:flex}.params-card__checkbox-label{cursor:pointer;color:var(--on-surface-variant);align-items:center;gap:.5rem;font-size:.7rem;display:flex}.params-card__checkbox-label--dim{opacity:.6}.params-card__checkbox{border-radius:var(--radius-xs);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.params-card__checkbox--checked{background:var(--tertiary)}.params-card__checkbox--unchecked{background:var(--surface-container-lowest);border:1px solid #47484a4d}.params-card__action{width:100%;font-family:var(--font-headline);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base);border:none;justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;padding:.75rem;font-size:.8125rem;font-weight:700;display:flex}.params-card__action:hover{filter:brightness(1.1)}.params-card__action:active{transform:scale(.98)}.params-card__action--secondary{background:var(--secondary);color:var(--on-secondary)}.params-card__action--tertiary{background:var(--tertiary);color:var(--on-tertiary)}.task-card{background:var(--surface-container-high);border-radius:var(--radius-lg);border:1px solid #ac89ff33;padding:1rem;position:relative;overflow:hidden}.task-card__progress-bar{background:var(--surface-container-highest);width:100%;height:3px;position:absolute;top:0;left:0}.task-card__progress-fill{background:var(--secondary);height:100%;transition:width .5s}.task-card__header{justify-content:space-between;align-items:center;margin-bottom:.375rem;display:flex}.task-card__name{font-size:.75rem;font-weight:500}.task-card__pct{color:var(--secondary);font-family:monospace;font-size:.6rem}.task-card__status{color:var(--on-surface-variant);margin-bottom:.75rem;font-size:.625rem}.task-card__preview{background:var(--surface-container-lowest);border-radius:var(--radius-sm);background:linear-gradient(90deg,#ac89ff08 0%,#ac89ff26 50%,#ac89ff08 100%);justify-content:center;align-items:center;height:48px;display:flex}.task-card__preview-icon{color:#ac89ff66;animation:2s ease-in-out infinite pulse-glow}.tool-card{background:var(--surface-container-high);border-radius:var(--radius-lg);transition:all var(--transition-base);cursor:pointer;border:1px solid #47484a1a;padding:1rem}.tool-card:hover{background:var(--surface-variant)}.tool-card--hoverable-tertiary:hover{border-color:#dcffb266}.tool-card--hoverable-primary:hover{border-color:#8ff5ff66}.tool-card__header{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.tool-card__inline-header{justify-content:space-between;align-items:center;width:100%;display:flex}.tool-card__inline-left{align-items:center;gap:.75rem;display:flex}.tool-card__icon{border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.tool-card__icon--primary{color:var(--primary);background:#8ff5ff1a}.tool-card__name{font-size:.8125rem;font-weight:500}.tool-card__desc{color:var(--on-surface-variant);font-size:.625rem}.tool-card__body-text{color:var(--on-surface-variant);font-size:.7rem;line-height:1.5}.tool-card__api-badge{border-radius:var(--radius-xs);padding:.125rem .375rem;font-family:monospace;font-size:.55rem}.tool-card__api-badge--tertiary{color:var(--tertiary);background:#dcffb21a}.tool-card__viewport{background:var(--surface-container-lowest);border-radius:var(--radius-sm);border:1px solid #47484a0d;justify-content:center;align-items:center;height:96px;margin-bottom:.5rem;display:flex;position:relative;overflow:hidden}.tool-card__viewport-label{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-xs);color:var(--primary);background:#1e2022cc;padding:.25rem .5rem;font-family:monospace;font-size:.55rem;position:absolute;bottom:.5rem;right:.5rem}.presets-card{background:var(--surface-container-low);border-radius:var(--radius-lg);border:1px solid #47484a1a;padding:.75rem}.presets-card__title{letter-spacing:.12em;color:var(--on-surface-variant);margin-bottom:.75rem;font-size:.6rem;display:block}.presets-card__tags{flex-wrap:wrap;gap:.5rem;display:flex}.presets-card__tag{background:var(--surface-container-high);border-radius:var(--radius-sm);color:var(--on-surface);cursor:pointer;transition:border-color var(--transition-base);border:1px solid #47484a1a;padding:.25rem .5rem;font-size:.625rem}.presets-card__tag:hover{border-color:#dcffb24d}@media (width<=768px){.kanban-status-message{max-width:none;top:3.75rem;left:1rem;right:1rem}}.tag-filter{align-items:center;gap:.25rem;display:flex;position:relative}.tag-filter__trigger{border-radius:var(--radius-lg);background:var(--surface-container-low);color:var(--on-surface-variant);cursor:pointer;transition:background var(--transition-base), color var(--transition-base), border-color var(--transition-base);border:1px solid #47484a40;align-items:center;gap:.35rem;padding:.3rem .6rem;font-size:.8rem;display:flex}.tag-filter__trigger:hover:not(:disabled){border-color:var(--primary)}.tag-filter__trigger:disabled{opacity:.5;cursor:not-allowed}.tag-filter__trigger--active{background:var(--primary);color:var(--on-primary,#fff);border-color:var(--primary)}.tag-filter__trigger .material-symbols-outlined{font-size:1.1rem}.tag-filter__summary{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.tag-filter__caret{opacity:.7}.tag-filter__clear{width:1.6rem;height:1.6rem;color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.tag-filter__clear:hover{background:var(--surface-container-low);color:var(--on-surface)}.tag-filter__clear .material-symbols-outlined{font-size:1rem}.tag-filter__panel{z-index:40;border-radius:var(--radius-lg);background:var(--surface-container,#1d1d1f);border:1px solid #47484a59;flex-direction:column;gap:.35rem;width:240px;padding:.5rem;display:flex;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 12px 32px #00000059}.tag-filter__search{border-radius:var(--radius-md,8px);background:var(--surface-container-low);color:var(--on-surface-variant);align-items:center;gap:.35rem;padding:.3rem .5rem;display:flex}.tag-filter__search .material-symbols-outlined{font-size:1rem}.tag-filter__search-input{min-width:0;color:var(--on-surface);background:0 0;border:none;outline:none;flex:1;font-size:.8rem}.tag-filter__options{flex-direction:column;max-height:240px;display:flex;overflow-y:auto}.tag-filter__option{border-radius:var(--radius-md,8px);color:var(--on-surface);cursor:pointer;align-items:center;gap:.5rem;padding:.35rem .4rem;font-size:.8rem;display:flex}.tag-filter__option:hover{background:var(--surface-container-low)}.tag-filter__option-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tag-filter__option-count{color:var(--on-surface-variant);font-size:.7rem}.tag-filter__empty{color:var(--on-surface-variant);padding:.5rem .4rem;font-size:.78rem}.tag-filter__reset{border-radius:var(--radius-md,8px);color:var(--on-surface-variant);cursor:pointer;background:0 0;border:1px solid #47484a59;padding:.35rem;font-size:.75rem}.tag-filter__reset:hover{border-color:var(--primary);color:var(--on-surface)}.asset-selector-overlay{z-index:2100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0d0e10d1;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.asset-selector-modal{background:var(--surface-container-low);border-radius:var(--radius-xl);border:1px solid #8ff5ff14;flex-direction:column;width:100%;max-width:980px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 32px 64px #00000073}.asset-selector-header{border-bottom:1px solid #47484a26;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.asset-selector-title{color:var(--on-surface);font-size:1.25rem;font-weight:700}.asset-selector-close{color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;display:inline-flex}.asset-selector-body{flex:1;padding:1.5rem;overflow-y:auto}.asset-selector-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin:1rem 1.5rem 0;display:flex}.asset-selector-search{background:var(--surface-container-highest);border-radius:var(--radius-lg);min-width:0;color:var(--on-surface-variant);border:1px solid #47484a26;flex:1;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.asset-selector-project-select{border-radius:var(--radius-lg);background:var(--surface-container-highest);color:var(--on-surface-variant);border:1px solid #47484a26;align-items:center;gap:.35rem;padding:.3rem .6rem;display:flex}.asset-selector-project-select .material-symbols-outlined{font-size:1.1rem}.asset-selector-project-select__input{color:inherit;cursor:pointer;background:0 0;border:none;outline:none;max-width:180px;font-size:.8rem}.asset-selector-project-select__input option{color:initial}.asset-selector-search-input{color:var(--on-surface);font-family:var(--font-label);background:0 0;border:none;outline:none;flex:1;font-size:.875rem}.asset-selector-search-input::placeholder{color:var(--on-surface-variant)}.asset-selector-search-clear{color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:2px;display:inline-flex}.asset-selector-search-clear:hover{color:var(--on-surface)}.asset-selector-loading,.asset-selector-empty{min-height:220px;color:var(--on-surface-variant);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex}.asset-selector-spinner{animation:1s linear infinite asset-selector-spin}@keyframes asset-selector-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.asset-selector-grid{gap:1rem;display:grid}.asset-selector-grid--image,.asset-selector-grid--brush{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.asset-selector-grid--mesh,.asset-selector-grid--tree{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.asset-selector-card{border-radius:var(--radius-xl);background:var(--surface-container-low);cursor:pointer;border:1px solid #47484a26;transition:transform .2s,border-color .2s,box-shadow .2s;overflow:hidden}.asset-selector-card:hover{border-color:#8ff5ff52;transform:translateY(-2px);box-shadow:0 14px 28px #00000038}.asset-selector-card--selected{border:2px solid var(--primary);box-shadow:0 0 0 2px #8ff5ff33}.asset-selector-preview{background:var(--surface-container-high);width:100%;position:relative;overflow:hidden}.asset-selector-preview--image{aspect-ratio:1}.asset-selector-preview--brush{background:#fff}.asset-selector-preview--mesh{aspect-ratio:16/10;background:radial-gradient(circle at 50% 30%,#ac89ff24,#0000 40%),linear-gradient(#242629,#0d0e10);justify-content:center;align-items:center;display:flex}.asset-selector-image{object-fit:contain;object-position:center;width:100%;height:100%;display:block}.asset-selector-preview--mesh .asset-selector-image{object-fit:contain}.asset-selector-mesh-placeholder{flex-direction:column;justify-content:center;align-items:center;gap:.5rem;width:100%;height:100%;display:flex}.asset-selector-mesh-icon{color:var(--secondary);font-size:2.5rem}.asset-selector-mesh-label{color:var(--on-surface-variant);letter-spacing:.14em;font-size:.68rem}.asset-selector-dimensions{color:var(--on-surface);letter-spacing:.08em;z-index:1;background:#0d0e10b8;border-radius:999px;padding:.25rem .5rem;font-size:.62rem;position:absolute;bottom:.75rem;left:50%;transform:translate(-50%)}.asset-selector-info{flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.asset-selector-name{color:var(--on-surface);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.asset-selector-meta{align-items:center;gap:.5rem;display:flex}.asset-selector-badge{border-radius:var(--radius-sm);color:var(--primary);background:#8ff5ff1f;padding:.2rem .45rem;font-size:.65rem;font-weight:700}.asset-selector-footer{border-top:1px solid #47484a26;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.asset-selector-btn{border-radius:var(--radius-md);cursor:pointer;border:none;padding:.75rem 1.25rem;font-weight:700;transition:opacity .2s}.asset-selector-btn--secondary{background:var(--surface-container-highest);color:var(--on-surface)}.asset-selector-btn--primary{background:var(--primary);color:var(--on-primary)}.asset-selector-btn:disabled{opacity:.5;cursor:not-allowed}.asset-selector-pagination{border-top:1px solid #47484a1a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1rem;display:flex}.asset-selector-pagination-summary,.asset-selector-page-indicator{color:var(--on-surface-variant);font-size:.8rem}.asset-selector-pagination-controls{align-items:center;gap:.75rem;display:flex}.asset-selector-page-btn{border-radius:var(--radius-md);background:var(--surface-container-high);color:var(--on-surface);cursor:pointer;border:none;padding:.5rem .9rem;font-weight:600}.asset-selector-page-btn:disabled{opacity:.5;cursor:not-allowed}.asset-selector-child-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--primary);letter-spacing:.05em;z-index:2;background:#000000b3;border-radius:999px;padding:.2rem .5rem;font-size:.6rem;font-weight:700;position:absolute;top:.5rem;right:.5rem}.asset-selector-parent{color:var(--on-surface-variant);margin-left:.5rem;font-size:.6rem}@media (width<=640px){.asset-selector-modal{max-width:95%;max-height:90vh}.asset-selector-grid--image,.asset-selector-grid--brush{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.asset-selector-grid--mesh,.asset-selector-grid--tree{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}.asset-selector-tags{flex-wrap:wrap;gap:.25rem;display:flex}.asset-selector-tag{border-radius:var(--radius-full);color:var(--primary);letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;background:#8ff5ff14;border:1px solid #8ff5ff38;max-width:100%;padding:.1rem .4rem;font-size:.62rem;overflow:hidden}.comfy-tg-overlay{z-index:2000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0009;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.comfy-tg-modal{background:var(--surface-container-low);border-radius:var(--radius-lg,16px);border:1px solid #ffffff14;flex-direction:column;width:100%;max-width:560px;max-height:88vh;display:flex;overflow:hidden;box-shadow:0 24px 60px #0000008c}.comfy-tg-header{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.comfy-tg-title{color:var(--on-surface,#fff);margin:0;font-size:1.05rem}.comfy-tg-close{width:2rem;height:2rem;color:var(--on-surface-variant,#b8b8b8);cursor:pointer;transition:background var(--transition-base,.2s ease);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.comfy-tg-close:hover:not(:disabled){background:#ffffff14}.comfy-tg-close:disabled{opacity:.4;cursor:not-allowed}.comfy-tg-body{flex-direction:column;gap:1rem;padding:1.25rem;display:flex;overflow-y:auto}.comfy-tg-field{flex-direction:column;gap:.4rem;display:flex}.comfy-tg-label{font-family:var(--font-label,sans-serif);letter-spacing:.04em;text-transform:uppercase;color:var(--on-surface-variant,#b8b8b8);font-size:.72rem}.comfy-tg-input,.comfy-tg-textarea{background:var(--surface-container-lowest,#000);border-radius:var(--radius-md,10px);width:100%;color:var(--on-surface,#fff);transition:border-color var(--transition-base,.2s ease);border:1px solid #47484a66;outline:none;padding:.6rem .7rem;font-size:.875rem}.comfy-tg-input:focus,.comfy-tg-textarea:focus{border-color:var(--primary,#8ff5ff)}.comfy-tg-textarea{resize:vertical;min-height:90px}.comfy-tg-textarea--result{min-height:140px;color:var(--tertiary,#dcffb2)}.comfy-tg-checkbox{color:var(--on-surface,#fff);cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}.comfy-tg-file-row{align-items:center;gap:.5rem;display:flex}.comfy-tg-hint{color:var(--on-surface-variant,#b8b8b8);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.78rem;overflow:hidden}.comfy-tg-hidden-file{display:none}.comfy-tg-file-btn{cursor:pointer}.comfy-tg-state{color:var(--on-surface-variant,#b8b8b8);align-items:center;gap:.6rem;padding:1.5rem .5rem;font-size:.9rem;display:flex}.comfy-tg-state--error{color:var(--error,#ff716c)}.comfy-tg-spinner{animation:1s linear infinite comfy-tg-spin}@keyframes comfy-tg-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.comfy-tg-progress{flex-direction:column;gap:.5rem;display:flex}.comfy-tg-progress-bar{background:var(--surface-container-lowest,#000);border-radius:999px;width:100%;height:6px;overflow:hidden}.comfy-tg-progress-fill{background:var(--primary,#8ff5ff);border-radius:999px;height:100%;transition:width .3s}.comfy-tg-error{color:var(--error,#ff716c);align-items:center;gap:.5rem;font-size:.82rem;display:flex}.comfy-tg-error .material-symbols-outlined{font-size:1.1rem}.comfy-tg-footer{border-top:1px solid #ffffff0f;justify-content:flex-end;gap:.6rem;padding:1rem 1.25rem;display:flex}.comfy-tg-btn{border-radius:var(--radius-md,10px);cursor:pointer;transition:filter var(--transition-base,.2s ease), background var(--transition-base,.2s ease);border:none;padding:.55rem 1.1rem;font-size:.85rem;font-weight:600}.comfy-tg-btn:disabled{opacity:.45;cursor:not-allowed}.comfy-tg-btn--primary{background:var(--primary,#8ff5ff);color:#06262a}.comfy-tg-btn--primary:hover:not(:disabled){filter:brightness(1.08)}.comfy-tg-btn--secondary{background:var(--surface-container,#181a1c);color:var(--on-surface,#fff)}.comfy-tg-btn--secondary:hover:not(:disabled){background:var(--surface-container-high,#222)}.comfy-tg-btn--ghost{color:var(--on-surface,#fff);background:0 0;border:1px solid #ffffff29;padding:.4rem .8rem}.comfy-tg-btn--ghost:hover:not(:disabled){background:#ffffff0f}.comfy-text-btn{background:var(--surface-container,#181a1c);cursor:pointer;width:1.5rem;height:1.5rem;transition:background var(--transition-base,.2s ease), border-color var(--transition-base,.2s ease), transform var(--transition-base,.2s ease);border:1px solid #ffffff24;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.comfy-text-btn:hover{background:var(--surface-container-high,#222);border-color:var(--primary,#8ff5ff);transform:translateY(-1px)}.comfy-text-btn__icon{object-fit:contain;width:1rem;height:1rem;display:block}.comfy-text-btn--corner{z-index:2;position:absolute;top:.4rem;right:.4rem}.comfy-textfield-wrap{width:100%;display:block;position:relative}.comfy-textfield-wrap>textarea,.comfy-textfield-wrap>input{width:100%;padding-right:2.2rem}.comfy-text-btn--inline{vertical-align:middle;margin-left:.4rem}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}.graph-layout{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.graph-page__body{background:var(--background);flex:1;display:flex;overflow:hidden}.graph-page__main{flex-direction:column;flex:1;gap:1rem;min-height:0;padding:1.5rem;display:flex;position:relative}.graph-page__toolbar-chip{border-radius:var(--radius-full);color:var(--on-surface-variant);letter-spacing:.04em;text-transform:uppercase;background:#121315eb;border:1px solid #47484a2e;align-items:center;gap:.5rem;padding:.625rem .875rem;font-size:.75rem;display:inline-flex}.graph-page__toolbar-chip--primary{color:var(--primary);border-color:#8ff5ff38}.graph-page__canvas-shell{border-radius:var(--radius-xl);background:radial-gradient(circle at top,#8ff5ff14,#0000 38%),linear-gradient(#181a1df5,#101114fa);border:1px solid #47484a26;flex:1;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff08}.graph-page__canvas{width:100%;height:100%}.graph-page__loading{z-index:4;border-radius:var(--radius-full);color:var(--on-surface-variant);background:#121315e0;border:1px solid #47484a29;padding:.65rem .85rem;position:absolute;top:1.25rem;right:1.25rem}.graph-page__node-picker{z-index:5;border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#121315f5;border:1px solid #47484a2e;min-width:190px;padding:.75rem;position:absolute;box-shadow:0 18px 36px #00000059}.graph-page__node-picker-title{letter-spacing:.08em;color:var(--primary);margin-bottom:.6rem;font-size:.62rem}.graph-page__node-picker-options{flex-direction:column;gap:.45rem;display:flex}.graph-page__node-picker-option{border-radius:var(--radius-md);width:100%;color:var(--on-surface);cursor:pointer;transition:all var(--transition-base);background:#8ff5ff0d;border:1px solid #47484a29;justify-content:flex-start;align-items:center;padding:.65rem .75rem;display:flex}.graph-page__node-picker-option:hover{color:var(--primary);background:#8ff5ff1f;border-color:#8ff5ff47}.graph-page__empty-state{z-index:4;border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#121315e0;border:1px solid #47484a29;align-items:flex-start;gap:.875rem;max-width:360px;padding:1rem 1.125rem;display:flex;position:absolute;top:1.25rem;left:1.25rem}.graph-page__empty-icon{border-radius:var(--radius-lg);width:40px;height:40px;color:var(--primary);background:#8ff5ff1f;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.graph-page__empty-copy{flex-direction:column;gap:.35rem;display:flex}.graph-page__empty-title{color:var(--on-surface);margin:0;font-size:1rem}.graph-page__empty-text{color:var(--on-surface-variant);margin:0;font-size:.85rem;line-height:1.5}.graph-page__minimap{background:#121315e6;border:1px solid #47484a29}.graph-page__reorganize{border-radius:var(--radius-md);color:var(--on-surface);letter-spacing:.02em;cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:all var(--transition-base);background:#121315f5;border:1px solid #47484a2e;align-items:center;gap:.4rem;padding:.5rem .85rem;font-size:.75rem;font-weight:600;display:inline-flex;box-shadow:0 10px 24px #00000047}.graph-page__reorganize:hover:not(:disabled){color:var(--primary);background:#8ff5ff1f;border-color:#8ff5ff47}.graph-page__reorganize:disabled{opacity:.45;cursor:not-allowed}.graph-page__reorganize .material-symbols-outlined{font-size:1.05rem}.graph-page__controls{box-shadow:0 10px 24px #00000047}.graph-page__controls button{color:var(--on-surface);background:#121315f5;border-bottom-color:#47484a29}.graph-page__controls button:hover{background:var(--surface-container-high)}.graph-page__canvas .react-flow__node{background:0 0;border:none}.graph-page__canvas .react-flow__edge-path{stroke:#8ff5ff99;stroke-width:2px}.graph-page__canvas .react-flow__edge.selected .react-flow__edge-path{stroke:var(--secondary)}.graph-page__edge-menu{z-index:6;pointer-events:all;flex-direction:column;align-items:center;gap:.4rem;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.graph-page__edge-delete{border-radius:var(--radius-full);width:24px;height:24px;color:var(--on-surface-variant);cursor:pointer;background:#121315f5;border:1px solid #47484a33;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 8px 18px #00000047}.graph-page__edge-delete:hover{color:#ff8a80;border-color:#ff8a8047}.graph-page__edge-delete .material-symbols-outlined{font-size:14px}.graph-page__edge-dropdown{border-radius:var(--radius-md);pointer-events:all;background:#121315fa;border:1px solid #47484a33;min-width:96px;padding:.35rem;box-shadow:0 14px 28px #00000052}.graph-page__edge-dropdown-action{border-radius:var(--radius-sm);width:100%;color:var(--on-surface);text-align:left;cursor:pointer;background:0 0;border:none;padding:.45rem .6rem}.graph-page__edge-dropdown-action:hover{color:#ff8a80;background:#ff8a801f}.graph-node{background:linear-gradient(#17191db8,#0f1013e6);border:1px solid #8ff5ff2e;border-radius:28px;padding:.85rem 1.4rem;position:relative;box-shadow:0 12px 28px #00000047}.graph-node--imageEdit{border-color:#ac89ff38}.graph-node--number{border-color:#79e3883d}.graph-node--text{border-color:#ffd36e3d}.graph-node--boolean{border-color:#ff7fc842}.graph-node--imageCompare{border-color:#ff9a6242}.graph-node--rigMesh,.graph-node--flattenMesh{border-color:#ac89ff3d}.graph-node__error{color:#ff8a80}.graph-node__card.image-card{cursor:grab;border-color:#47484a24;width:360px;box-shadow:0 10px 26px #0003}.graph-node__card.image-card:active{cursor:grabbing}.graph-node__card.image-card:hover{transform:none;box-shadow:0 14px 30px #0000004d}.graph-node__card .image-card__action-btn{opacity:1}.graph-node__thumb{aspect-ratio:1}.graph-node__thumb .image-card__thumb-item{justify-content:center;align-items:center}.graph-node__thumb .image-card__thumb-image{object-fit:contain;background:#0c0e10eb}.graph-node__name-input{width:100%;min-width:0;color:var(--on-surface);background:0 0;border:none;padding:0}.graph-node__name-input:focus{outline:none}.graph-node__name-input::placeholder{color:var(--on-surface-variant)}.graph-node__name-input--value{font-size:1rem;font-weight:600}.graph-node__value-card{cursor:grab;flex-direction:column;gap:.9rem;width:280px;display:flex}.graph-node__value-card:active{cursor:grabbing}.graph-node__value-header{cursor:grab;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.graph-node__value-header:active{cursor:grabbing}.graph-node__value-title-group{flex-direction:column;flex:1;gap:.45rem;min-width:0;display:flex}.graph-node__value-type{border-radius:var(--radius-full);letter-spacing:.08em;text-transform:uppercase;border:1px solid;align-items:center;width:fit-content;padding:.22rem .5rem;font-size:.58rem;display:inline-flex}.graph-node__value-body{flex-direction:column;gap:.7rem;display:flex}.graph-node__value-input{width:100%}.graph-node__value-input--textarea{resize:vertical;min-height:112px}.graph-node__boolean-toggle{border-radius:var(--radius-md);min-height:42px;color:var(--on-surface-variant);cursor:pointer;transition:all var(--transition-base);background:#ffffff05;border:1px solid #47484a33;justify-content:center;align-items:center;gap:.5rem;display:inline-flex}.graph-node__boolean-toggle:hover,.graph-node__boolean-toggle--active{color:#ff9bd3;background:#ff7fc81f;border-color:#ff7fc84d}.graph-node__progress{margin-top:.6rem}.graph-node__actions-panel{margin-top:.75rem}.graph-node__primary-actions{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.graph-node__edit-action{margin-left:auto}.graph-node__panel-title{color:var(--primary);letter-spacing:.08em;font-size:.62rem}.graph-node__linked-input{border-radius:var(--radius-md);color:var(--on-surface-variant);background:#8ff5ff14;padding:.55rem .7rem;font-size:.68rem;line-height:1.4}.graph-node__asset-picker{max-height:320px;overflow-y:auto}.graph-node__asset-thumb-placeholder{color:var(--primary);background:#8ff5ff14;justify-content:center;align-items:center;display:inline-flex}.graph-node__asset-kind{color:var(--secondary);font-size:.55rem}.graph-node__ports-summary{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.graph-node__port-label{border-radius:var(--radius-full);color:var(--on-surface-variant);letter-spacing:.06em;text-transform:uppercase;background:#47484a33;align-items:center;gap:.25rem;padding:.2rem .45rem;font-size:.58rem;display:inline-flex}.graph-node__port-label--output{color:var(--primary);background:#8ff5ff1a}.graph-node__compare-card{flex-direction:column;gap:.9rem;width:420px;display:flex}.graph-node__compare-header{cursor:grab;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.graph-node__compare-header:active{cursor:grabbing}.graph-node__compare-title-group{flex-direction:column;flex:1;gap:.45rem;min-width:0;display:flex}.graph-node__compare-type{border-radius:var(--radius-full);color:#ffb189;letter-spacing:.08em;text-transform:uppercase;background:#ff9a6224;border:1px solid #ff9a6257;align-items:center;width:fit-content;padding:.22rem .5rem;font-size:.58rem;display:inline-flex}.graph-node__compare-body{flex-direction:column;gap:.8rem;display:flex}.graph-node__compare-stage{background:linear-gradient(#15171af5,#0d0e11fa),#0c0e10fa;border:1px solid #47484a2e;border-radius:22px;min-height:400px;position:relative;overflow:hidden}.graph-node__compare-stage--active{cursor:ew-resize}.graph-node__compare-image{object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;background:#0c0e10fa;width:100%;height:100%;position:absolute;inset:0}.graph-node__compare-image--overlay{border-right:1px solid #ffffff14}.graph-node__compare-divider{pointer-events:none;background:#ff9a62eb;width:2px;position:absolute;top:0;bottom:0;transform:translate(-50%);box-shadow:0 0 0 1px #0c0e10b8}.graph-node__compare-divider .material-symbols-outlined{border-radius:var(--radius-full);color:#ffb189;background:#121315eb;padding:.3rem;font-size:17px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.graph-node__compare-placeholder{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;min-height:400px;padding:.9rem;display:grid}.graph-node__compare-slot{color:var(--on-surface-variant);text-align:center;background:#ff9a620f;border:1px dashed #ff9a623d;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:.55rem;padding:1rem;display:flex}.graph-node__compare-slot .material-symbols-outlined{color:#ffb189;font-size:28px}.graph-node__compare-caption{border-radius:var(--radius-full);color:var(--on-surface);justify-content:space-between;gap:.75rem;padding:.45rem .65rem;display:flex;position:absolute;bottom:.8rem;left:.8rem;right:.8rem}.graph-node__compare-caption span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.graph-node__compare-refresh{justify-content:center}.graph-node__compare-refresh:disabled{opacity:.45;cursor:not-allowed}.graph-node__connector{z-index:2;pointer-events:none;align-items:center;gap:.35rem;display:inline-flex;position:absolute;transform:translateY(-50%)}.graph-node__connector--input{left:.15rem;transform:translate(-1.15rem,-50%)}.graph-node__connector--output{right:.15rem;transform:translate(1.15rem,-50%)}.graph-node__connector-badge{border-radius:var(--radius-full);letter-spacing:.08em;text-transform:uppercase;pointer-events:none;background:#0c0e108c;border:1px solid;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 .25rem;font-size:.58rem;font-weight:700;display:inline-flex}.graph-node__handle{background:var(--surface-container-highest);pointer-events:all;border:2px solid #8ff5ff99;width:12px;height:12px;box-shadow:0 0 0 3px #0c0e10e6;position:relative!important;inset:auto!important;transform:none!important}.graph-node__handle--input{border-color:#ac89ffa6}.graph-node__handle--output{border-color:#8ff5ffb3}@media (width<=900px){.graph-page__main{padding:1rem}.graph-page__empty-state{max-width:calc(100% - 2rem)}.graph-node__card.image-card{width:300px}.graph-node__value-card{width:240px}.graph-node__compare-card{width:320px}.graph-node{padding-inline:1.6rem}.graph-node__connector--input{transform:translate(-1.05rem,-50%)}.graph-node__connector--output{transform:translate(1.05rem,-50%)}}.image-card__info-btn{border-radius:var(--radius-xs);width:1.125rem;height:1.125rem;color:var(--on-surface-variant);cursor:pointer;background:#8ff5ff14;border:none;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s;display:inline-flex}.image-card__info-btn:hover,.image-card__info-btn--active{color:var(--primary);background:#8ff5ff2e}.last-action-popover{z-index:1200;border-radius:var(--radius-sm);background:var(--surface,#14151b);width:18rem;max-height:24rem;color:var(--on-surface);pointer-events:auto;border:1px solid #8ff5ff38;padding:.75rem;font-size:.6875rem;position:fixed;overflow-y:auto;box-shadow:0 12px 32px #00000073}.last-action-popover__header{align-items:center;gap:.375rem;margin-bottom:.5rem;display:flex}.last-action-popover__source{letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-xs);color:var(--primary);white-space:nowrap;background:#8ff5ff1f;padding:.125rem .375rem;font-size:.6rem;font-weight:700}.last-action-popover__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--on-surface-variant);flex:1;font-weight:600;overflow:hidden}.last-action-popover__close{border-radius:var(--radius-xs);width:1.125rem;height:1.125rem;color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.last-action-popover__close:hover{color:var(--on-surface);background:#ffffff14}.last-action-popover__time{color:var(--on-surface-variant);margin-bottom:.5rem;font-size:.625rem}.last-action-popover__list{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.last-action-popover__item{border-bottom:1px solid #ffffff0d;flex-direction:column;gap:.125rem;padding-bottom:.375rem;display:flex}.last-action-popover__item:last-child{border-bottom:none;padding-bottom:0}.last-action-popover__key{color:var(--on-surface-variant);font-weight:600}.last-action-popover__value{flex-direction:column;gap:.125rem;display:flex}.last-action-popover__value-text{color:var(--on-surface);word-break:break-word;white-space:pre-wrap}.last-action-popover__binding{color:var(--primary);font-size:.625rem}.last-action-popover__empty{color:var(--on-surface-variant);font-style:italic}.image-card__edit-panel--locked{opacity:.55}.image-card__edit-panel--locked input,.image-card__edit-panel--locked select,.image-card__edit-panel--locked textarea,.image-card__edit-panel--locked button,.image-card__edit-panel--locked label,.image-card__edit-panel--locked .params-card__checkbox{pointer-events:none;cursor:not-allowed}.graph-node__panel-lock-note{border-radius:var(--radius-sm,6px);color:var(--primary);background:#8ff5ff14;border:1px solid #8ff5ff33;align-items:center;gap:.35rem;padding:.35rem .5rem;display:flex}.export-files-card{z-index:2300;background:var(--surface-container-low);border-radius:var(--radius-xl);border:1px solid #8ff5ff24;flex-direction:column;gap:.5rem;width:min(380px,100vw - 2rem);padding:.85rem 1rem;display:flex;position:fixed;bottom:3.25rem;right:1.25rem;box-shadow:0 24px 48px #00000073}.export-files-card__header{align-items:center;gap:.5rem;display:flex}.export-files-card__icon{color:#9cffce;font-size:1.2rem}.export-files-card__icon--running{color:var(--primary);animation:1.2s linear infinite export-files-spin}.export-files-card__icon--warn{color:#e0a030}@keyframes export-files-spin{to{transform:rotate(360deg)}}.export-files-card__title{min-width:0;color:var(--on-surface);flex:auto;font-size:.86rem;font-weight:600}.export-files-card__close{width:28px;height:28px;color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.export-files-card__close:hover{color:var(--on-surface)}.export-files-card__track{background:#47484a47;border-radius:999px;height:6px;overflow:hidden}.export-files-card__bar{background:var(--primary);border-radius:999px;height:100%;transition:width .2s}.export-files-card__row{align-items:center;gap:.75rem;display:flex}.export-files-card__message{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--on-surface-variant);flex:auto;font-size:.74rem;overflow:hidden}.export-files-card__btn{border-radius:var(--radius-md);color:var(--on-surface);cursor:pointer;background:0 0;border:1px solid #47484a4d;padding:.3rem .75rem;font-size:.76rem}.export-files-card__btn:disabled{opacity:.5;cursor:not-allowed}.export-files-card__failures{color:#ff9c9c;max-height:140px;margin:0;padding:0 0 0 1rem;font-size:.72rem;line-height:1.45;overflow-y:auto}.batch-page{background:var(--background);height:100vh;color:var(--on-surface);flex-direction:column;display:flex;overflow:hidden}.batch-page__toolbar{background:#0d0e10e6;border-bottom:1px solid #8ff5ff1f;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.batch-page__toolbar-left,.batch-page__toolbar-right{align-items:center;gap:.75rem;display:flex}.batch-page__badge{border-radius:var(--radius-sm,6px);color:var(--primary);letter-spacing:.08em;background:#8ff5ff1a;border:1px solid #8ff5ff40;padding:.2rem .5rem}.batch-page__summary{color:var(--on-surface-variant);font-size:.8rem}.batch-page__save{color:var(--on-surface-variant);min-width:4rem;font-size:.72rem}.batch-page__save--error{color:#ff8a8a}.batch-page__save--saved{color:#8ff5ffb3}.batch-page__problems{border-radius:var(--radius-md,10px);color:#ffcf9b;background:#ffb05c12;border:1px solid #ffb05c4d;flex:none;margin:.75rem 1.25rem 0;padding:.4rem .6rem;font-size:.8rem}.batch-page__problems-toggle{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;padding:.1rem;display:flex}.batch-page__problems-toggle .material-symbols-outlined{font-size:18px}.batch-page__problems-title{letter-spacing:.04em}.batch-page__problems-list{max-height:8.5rem;margin:.4rem 0 .2rem;padding-left:1.6rem;overflow-y:auto}.batch-page__problems-list li{margin:.15rem 0}.batch-page__problems--error{color:#ff9a9a;background:#ff7a7a14;border-color:#ff7a7a66}.batch-page__main{flex-direction:column;flex:auto;gap:1rem;min-height:0;padding:1.25rem;display:flex;overflow:hidden}.batch-page__loading{text-align:center;color:var(--on-surface-variant);padding:3rem}.batch-page__columns{flex:auto;align-items:stretch;gap:1rem;min-height:0;padding-bottom:.5rem;display:flex;overflow-x:auto}.batch-column{border-radius:var(--radius-md,10px);background:#14161af2;border:1px solid #8ff5ff24;flex-direction:column;flex:0 0 320px;min-height:0;display:flex;overflow:hidden}.batch-column--add{background:0 0;border-style:dashed;flex:0 0 220px}.batch-column--add .batch-add-stage{flex:auto;justify-content:center}.batch-column__header{background:#0d0e1099;border-bottom:1px solid #8ff5ff1f;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem .75rem;display:flex}.batch-column__header-actions{gap:.15rem;display:flex}.batch-column__title{color:var(--primary);letter-spacing:.08em}.batch-column__subtitle{color:var(--on-surface-variant);font-size:.7rem}.batch-column__body{flex-direction:column;flex:1;gap:.85rem;padding:.75rem;display:flex;overflow-y:auto}.batch-section{flex-direction:column;gap:.5rem;display:flex}.batch-section__header{justify-content:space-between;align-items:center;display:flex}.batch-section__title{color:var(--on-surface-variant);letter-spacing:.08em}.batch-empty{color:var(--on-surface-variant);opacity:.8;margin:0;font-size:.75rem;line-height:1.4}.batch-field{flex-direction:column;gap:.25rem;display:flex}.batch-field__label{color:var(--on-surface-variant);letter-spacing:.06em}.batch-input,.batch-select,.batch-textarea{border-radius:var(--radius-sm,6px);width:100%;color:var(--on-surface);background:#0d0e10b3;border:1px solid #8ff5ff2e;padding:.4rem .5rem;font-family:inherit;font-size:.8rem}.batch-textarea{resize:vertical}.batch-input--title{font-weight:600}.batch-select--compact{width:auto;min-width:5.5rem}.batch-input:disabled,.batch-select:disabled,.batch-textarea:disabled{opacity:.5;cursor:not-allowed}.batch-checkbox{align-items:center;gap:.4rem;font-size:.78rem;display:flex}.batch-btn{border-radius:var(--radius-sm,6px);color:var(--primary);cursor:pointer;background:#8ff5ff14;border:1px solid #8ff5ff40;align-items:center;gap:.35rem;padding:.4rem .7rem;font-size:.78rem;display:inline-flex}.batch-btn:hover:not(:disabled){background:#8ff5ff29}.batch-btn:disabled{opacity:.45;cursor:not-allowed}.batch-btn .material-symbols-outlined{font-size:16px}.batch-btn--ghost{background:0 0}.batch-btn--primary{background:var(--primary);color:var(--on-tertiary,#06202a);border-color:#0000;font-weight:600}.batch-btn--danger{color:#ff9a9a;background:#ff7a7a24;border-color:#ff7a7a66}.batch-icon-btn{border-radius:var(--radius-sm,6px);width:1.6rem;height:1.6rem;color:var(--on-surface-variant);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.batch-icon-btn:hover:not(:disabled){color:var(--primary);background:#8ff5ff1a}.batch-icon-btn:disabled{opacity:.35;cursor:not-allowed}.batch-icon-btn .material-symbols-outlined{font-size:16px}.batch-variable-list{flex-direction:column;gap:.35rem;display:flex}.batch-variable-row{align-items:center;gap:.35rem;display:flex}.batch-group-list{flex-direction:column;gap:.6rem;display:flex}.batch-group-card{border-radius:var(--radius-sm,6px);background:#0d0e1080;border:1px solid #8ff5ff24;flex-direction:column;gap:.5rem;padding:.6rem;display:flex}.batch-group-card__header{align-items:center;gap:.3rem;display:flex}.batch-group-card__values{flex-direction:column;gap:.45rem;display:flex}.batch-asset-picker{flex-direction:column;gap:.3rem;display:flex}.batch-asset-picker__chip{border-radius:var(--radius-sm,6px);background:#0d0e10b3;border:1px solid #8ff5ff2e;align-items:center;gap:.4rem;padding:.25rem .3rem;display:flex}.batch-asset-picker__thumb{object-fit:cover;border-radius:4px;flex:none;width:2rem;height:2rem}.batch-asset-picker__icon{color:var(--primary);opacity:.75;font-size:20px}.batch-asset-picker__name{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;font-size:.75rem;overflow:hidden}.batch-asset-picker__empty{color:var(--on-surface-variant);opacity:.8;font-size:.72rem}.batch-group-card__badge{border-radius:var(--radius-sm,6px);color:var(--primary);letter-spacing:.06em;background:#8ff5ff14;align-self:flex-start;padding:.15rem .4rem}.batch-param-list{flex-direction:column;gap:.7rem;display:flex}.batch-param{border-bottom:1px solid #8ff5ff12;flex-direction:column;gap:.28rem;padding-bottom:.6rem;display:flex}.batch-param:last-child{border-bottom:none;padding-bottom:0}.batch-param__label{color:var(--primary);letter-spacing:.05em}.batch-param__hint{color:var(--on-surface-variant);opacity:.8;font-size:.68rem;line-height:1.35}.batch-param__warning{color:#ffcf9b;font-size:.68rem;line-height:1.35}.batch-add-stage{border-radius:var(--radius-md,10px);width:100%;color:var(--on-surface-variant);cursor:pointer;text-align:center;background:0 0;border:none;flex-direction:column;align-items:center;gap:.35rem;padding:1.5rem 1rem;display:flex}.batch-add-stage:hover:not(:disabled){color:var(--primary)}.batch-add-stage:disabled{opacity:.4;cursor:not-allowed}.batch-add-stage .material-symbols-outlined{font-size:26px}.batch-add-stage__hint{opacity:.75;font-size:.68rem;line-height:1.35}.batch-results{border-radius:var(--radius-md,10px);background:#14161af2;border:1px solid #8ff5ff24;overflow:hidden}.batch-results__header{background:#0d0e1099;border-bottom:1px solid #8ff5ff1f;align-items:baseline;gap:.75rem;padding:.6rem .75rem;display:flex}.batch-results__scroll{overflow-x:auto}.batch-results__col-head-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.batch-results__export{border-radius:var(--radius-md);color:var(--primary);cursor:pointer;background:0 0;border:1px solid #8ff5ff47;align-items:center;gap:.3rem;margin-left:auto;padding:.25rem .6rem;font-size:.72rem;font-weight:600;display:inline-flex}.batch-results__export .material-symbols-outlined{font-size:1rem}.batch-results__export:hover:not(:disabled){background:#8ff5ff14}.batch-results__export:disabled{opacity:.45;cursor:not-allowed}.batch-results__export--stage{padding:.15rem .45rem}.batch-results__table{border-collapse:collapse;width:100%;min-width:max-content}.batch-results__corner{width:8rem}.batch-results__col-head,.batch-results__row-head{letter-spacing:.05em;color:var(--on-surface-variant);text-align:left;white-space:nowrap;border-bottom:1px solid #8ff5ff1a;padding:.5rem .75rem;font-size:.72rem;font-weight:600}.batch-results__row-head{background:#14161afa;border-bottom:1px solid #8ff5ff12;border-right:1px solid #8ff5ff1a;position:sticky;left:0}.batch-results__cell{vertical-align:top;border-bottom:1px solid #8ff5ff12;padding:.35rem}.batch-results__cell-wrap{width:fit-content;display:flex;position:relative}.batch-results__delete{z-index:1;border-radius:var(--radius-sm,6px);color:#ff9a9a;cursor:pointer;opacity:0;background:#0d0e10d9;border:1px solid #ff7a7a4d;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;padding:0;transition:opacity .12s;display:inline-flex;position:absolute;top:.2rem;right:.2rem}.batch-results__delete .material-symbols-outlined{font-size:15px}.batch-results__cell-wrap:hover .batch-results__delete,.batch-results__delete:focus-visible{opacity:1}.batch-results__delete:hover{background:#ff7a7a33}.batch-results__cell-btn{border-radius:var(--radius-sm,6px);width:8.5rem;height:8.5rem;color:var(--on-surface-variant);cursor:pointer;background:#0d0e108c;border:1px solid #8ff5ff1f;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;padding:.4rem;display:flex;overflow:hidden}.batch-results__cell-btn:disabled{cursor:default}.batch-results__cell-btn:hover:not(:disabled){border-color:#8ff5ff66}.batch-results__thumb{object-fit:contain;border-radius:4px;max-width:100%;max-height:5.6rem}.batch-results__icon{opacity:.5;font-size:26px}.batch-results__caption{text-align:center;font-size:.66rem}.batch-results__extra{opacity:.7;font-size:.6rem}.batch-results__cell--running .batch-results__cell-btn{border-color:#8ff5ff73}.batch-results__cell--error .batch-results__cell-btn{border-color:#ff7a7a73}.batch-results__cell--completed .batch-results__cell-btn{border-color:#8ff5ff47}.batch-results__cell--running .batch-results__icon{opacity:.9;animation:1.2s linear infinite batch-spin}@keyframes batch-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.batch-tabs{border-radius:var(--radius-sm,6px);background:#0d0e10cc;border:1px solid #8ff5ff24;gap:.15rem;padding:.15rem;display:flex}.batch-tab{border-radius:var(--radius-sm,6px);color:var(--on-surface-variant);letter-spacing:.08em;cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.7rem;font-weight:600;display:inline-flex}.batch-tab:hover{color:var(--primary)}.batch-tab--active{color:var(--primary);background:#8ff5ff1f}.batch-tab__count{color:var(--primary);letter-spacing:0;background:#8ff5ff2e;border-radius:999px;padding:0 .3rem;font-size:.62rem}.batch-order{border-radius:var(--radius-sm,6px);background:#0d0e10cc;border:1px solid #8ff5ff24;align-items:center;gap:.15rem;padding:.15rem .15rem .15rem .5rem;display:flex}.batch-order__label{color:var(--on-surface-variant);letter-spacing:.1em;margin-right:.35rem;font-size:.62rem}.batch-order__option{border-radius:var(--radius-sm,6px);color:var(--on-surface-variant);letter-spacing:.06em;cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;padding:.3rem .6rem;font-size:.68rem;font-weight:600;display:inline-flex}.batch-order__option .material-symbols-outlined{font-size:1rem}.batch-order__option:hover:not(:disabled){color:var(--primary)}.batch-order__option--active{color:var(--primary);background:#8ff5ff1f}.batch-order__option:disabled{cursor:not-allowed}.batch-order__option:disabled:not(.batch-order__option--active){opacity:.45}.batch-page__main>.batch-results{flex-direction:column;flex:auto;min-height:0;display:flex}.batch-page__main>.batch-results .batch-results__scroll{flex:auto;min-height:0;overflow:auto}.batch-page__main>.batch-results .batch-results__col-head{z-index:1;background:#14161afa;position:sticky;top:0}.batch-modal__overlay{z-index:60;background:#06080ab8;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.batch-modal{border-radius:var(--radius-md,10px);background:#14161a;border:1px solid #8ff5ff38;flex-direction:column;gap:.85rem;width:min(28rem,100%);padding:1.25rem;display:flex;box-shadow:0 18px 48px #0000008c}.batch-modal__title{color:var(--on-surface);margin:0;font-size:1.05rem}.batch-modal__desc{color:var(--on-surface-variant);margin:0;font-size:.78rem;line-height:1.45}.batch-modal__error{color:#ff9a9a;margin:0;font-size:.75rem}.batch-modal__actions{justify-content:flex-end;gap:.5rem;margin-top:.25rem;display:flex}.vfx-import{max-width:560px}.vfx-import__file-input{display:none}.vfx-import__summary{border-radius:var(--radius-md);background:#8ff5ff0a;border:1px solid #8ff5ff24;flex-direction:column;gap:.4rem;padding:.7rem .85rem;display:flex}.vfx-import__summary-head{color:var(--on-surface);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.86rem;display:flex}.vfx-import__summary-head .material-symbols-outlined{color:var(--primary);font-size:1.1rem}.vfx-import__meta{color:var(--on-surface-variant);font-size:.72rem}.vfx-import__counts{color:var(--on-surface-variant);flex-wrap:wrap;gap:.35rem .75rem;margin:0;padding:0;font-size:.75rem;list-style:none;display:flex}.vfx-import__counts li+li:before{content:"·";opacity:.5;margin-right:.75rem}.vfx-import__check{color:var(--on-surface);flex-direction:row;align-items:flex-start;gap:.55rem;font-size:.8rem;line-height:1.45}.vfx-import__check input{accent-color:var(--primary);flex:none;margin-top:.15rem}.vfx-import__check em{color:var(--on-surface-variant);font-size:.74rem;font-style:normal}.vfx-import__warnings{color:var(--on-surface-variant);flex-direction:column;gap:.4rem;margin:.4rem 0 0;padding:0;font-size:.75rem;line-height:1.45;list-style:none;display:flex}.vfx-import__warnings li{align-items:flex-start;gap:.4rem;display:flex}.vfx-import__warnings .material-symbols-outlined{color:#ffc46b;flex:none;font-size:1rem}.vfx-import__warnings code{font-family:var(--font-mono,monospace);color:var(--primary)}.vfx-import__link{font:inherit;color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.vfx-import__link:hover{color:var(--on-surface)}.building-import{max-width:560px}.building-import__file-input{display:none}.building-import__summary{border-radius:var(--radius-md);background:#8ff5ff0a;border:1px solid #8ff5ff24;flex-direction:column;gap:.4rem;padding:.7rem .85rem;display:flex}.building-import__summary-head{color:var(--on-surface);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.86rem;display:flex}.building-import__summary-head .material-symbols-outlined{color:var(--primary);font-size:1.1rem}.building-import__meta{color:var(--on-surface-variant);font-size:.72rem}.building-import__counts{color:var(--on-surface-variant);flex-wrap:wrap;gap:.35rem .75rem;margin:0;padding:0;font-size:.75rem;list-style:none;display:flex}.building-import__counts li+li:before{content:"·";opacity:.5;margin-right:.75rem}.building-import__check{color:var(--on-surface);flex-direction:row;align-items:flex-start;gap:.55rem;font-size:.8rem;line-height:1.45}.building-import__check input{accent-color:var(--primary);flex:none;margin-top:.15rem}.building-import__check em{color:var(--on-surface-variant);font-size:.74rem;font-style:normal}.building-import__warnings{color:var(--on-surface-variant);flex-direction:column;gap:.4rem;margin:.4rem 0 0;padding:0;font-size:.75rem;line-height:1.45;list-style:none;display:flex}.building-import__warnings li{align-items:flex-start;gap:.4rem;display:flex}.building-import__warnings .material-symbols-outlined{color:#ffc46b;flex:none;font-size:1rem}.building-import__warnings code{font-family:var(--font-mono,monospace);color:var(--primary)}.building-import__link{font:inherit;color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.building-import__link:hover{color:var(--on-surface)}.assets-layout{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.assets-page{flex:1;padding:2rem 2.5rem;overflow-y:auto}.assets-page__container{flex-direction:column;gap:2rem;width:100%;display:flex}.assets-page__header{justify-content:space-between;align-items:flex-end;gap:1.5rem;display:flex}.assets-page__header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;display:flex}.assets-page__title{color:var(--on-surface);font-size:1.9rem}.assets-page__desc{color:var(--on-surface-variant);margin-top:.35rem;font-size:.85rem}.assets-page__stats{flex-wrap:wrap;gap:.75rem;display:flex}.assets-page__stat{border-radius:var(--radius-lg);background:var(--surface-container-low);color:var(--on-surface-variant);align-items:center;gap:.5rem;padding:.7rem 1rem;display:flex}.assets-page__import-btn,.assets-sidebar__item,.assets-pagination__button{cursor:pointer;transition:background var(--transition-base), color var(--transition-base), opacity var(--transition-base), transform var(--transition-base);border:none;justify-content:center;align-items:center;gap:.5rem;display:inline-flex}.assets-page__import-btn{border-radius:var(--radius-md);background:var(--primary);color:var(--on-primary);padding:.8rem 1.1rem;font-weight:700}.assets-page__import-btn:disabled,.assets-pagination__button:disabled{opacity:.5;cursor:not-allowed}.assets-page__file-input{display:none}.assets-page__content{grid-template-columns:220px minmax(0,1fr);align-items:flex-start;gap:1.5rem;display:grid}.assets-sidebar{border-radius:var(--radius-xl);background:var(--surface-container-low);border:1px solid #47484a26;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.assets-sidebar__item{border-radius:var(--radius-lg);width:100%;color:var(--on-surface-variant);text-align:left;background:0 0;justify-content:flex-start;padding:.9rem 1rem}.assets-sidebar__item:hover{color:var(--on-surface);background:#8ff5ff14}.assets-sidebar__item--active{color:var(--primary);background:#8ff5ff1f}.assets-sidebar__label{flex:1}.assets-sidebar__count{border-radius:var(--radius-full);min-width:2rem;color:inherit;text-align:center;background:#ffffff14;padding:.12rem .45rem;font-size:.75rem}.assets-section{flex-direction:column;gap:1rem;min-width:0;display:flex}.assets-section__header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.assets-section__title{font-size:1.15rem}.assets-section__path{color:var(--primary);letter-spacing:.08em;margin-top:.25rem;font-size:.7rem;display:inline-block}.assets-section__summary{color:var(--on-surface-variant);flex-wrap:wrap;align-items:center;gap:1rem;font-size:.8rem;display:flex}.assets-section__controls{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.assets-project-select{border-radius:var(--radius-lg);background:var(--surface-container-low);color:var(--on-surface-variant);border:1px solid #47484a40;align-items:center;gap:.35rem;padding:.3rem .6rem;display:flex}.assets-project-select .material-symbols-outlined{font-size:1.1rem}.assets-project-select__input{color:inherit;cursor:pointer;background:0 0;border:none;outline:none;max-width:180px;font-size:.8rem}.assets-project-select__input option{color:initial}.assets-group-toggle{border-radius:var(--radius-lg);background:var(--surface-container-low);color:var(--on-surface-variant);cursor:pointer;transition:background var(--transition-base), color var(--transition-base), border-color var(--transition-base);border:1px solid #47484a40;align-items:center;gap:.35rem;padding:.35rem .7rem;font-size:.8rem;display:flex}.assets-group-toggle .material-symbols-outlined{font-size:1.1rem}.assets-group-toggle:hover{border-color:var(--primary)}.assets-group-toggle--active{background:var(--primary);color:var(--on-primary,#fff);border-color:var(--primary)}.assets-project-groups{flex-direction:column;gap:1.5rem;display:flex}.assets-project-group{flex-direction:column;gap:1rem;display:flex}.assets-project-group__header{width:100%;color:var(--on-surface);cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:1px solid #47484a33;align-items:center;gap:.5rem;padding:.5rem .25rem;display:flex}.assets-project-group__header .material-symbols-outlined{color:var(--on-surface-variant);font-size:1.2rem}.assets-project-group__chevron{color:var(--on-surface-variant)}.assets-project-group__title{font-size:.95rem;font-weight:600}.assets-project-group__count{background:var(--surface-container-low);color:var(--on-surface-variant);border-radius:999px;margin-left:auto;padding:.1rem .55rem;font-size:.75rem}.assets-page__feedback{border-radius:var(--radius-lg);background:var(--surface-container-low);align-items:center;gap:.65rem;padding:.9rem 1rem;display:flex}.assets-page__feedback--success{color:var(--primary)}.assets-page__feedback--warning{color:#ffd36b}.assets-page__feedback--error{color:var(--error)}.library-grid,.library-config-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1rem;display:grid}.library-panel,.library-config-card,.library-workflow-card,.library-feedback{background:var(--surface-container-low);border-radius:var(--radius-xl);border:1px solid #8ff5ff14}.library-panel,.library-config-card{padding:1.25rem}.library-panel,.library-import-form,.library-field,.library-config-list,.library-config-item,.library-selected-list,.library-workflow-list,.library-workflow-card,.library-workflow-card__section{flex-direction:column;gap:.75rem;display:flex}.library-panel--import{min-height:520px}.library-panel__header,.library-config-card__header,.library-workflow-card__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.library-panel__title,.library-config-card h4,.library-workflow-card h4{font-size:1rem;font-weight:700}.library-panel__badge,.library-workflow-card__badge,.library-chip{border-radius:var(--radius-full);background:var(--surface-container-high);color:var(--on-surface);align-items:center;gap:.375rem;padding:.45rem .75rem;font-size:.75rem;display:inline-flex}.library-btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;font-weight:700;display:inline-flex}.library-btn--primary{background:var(--primary);color:var(--on-primary);padding:.75rem 1rem}.library-btn--secondary{background:var(--surface-container-highest);color:var(--on-surface);padding:.75rem 1rem}.library-btn:disabled{opacity:.5;cursor:not-allowed}.library-selector{position:relative}.library-selector__trigger{border-radius:var(--radius-md);background:var(--surface-container-lowest);width:100%;color:var(--on-surface);cursor:pointer;border:1px solid #47484a33;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .875rem;display:flex}.library-selector__menu{z-index:10;border-radius:var(--radius-lg);background:var(--surface-container-high);border:1px solid #47484a33;padding:.75rem;position:absolute;top:calc(100% + .5rem);left:0;right:0;box-shadow:0 16px 32px #00000038}.library-selector__search{border-radius:var(--radius-md);background:var(--surface-container-lowest);border:1px solid #47484a29;align-items:center;gap:.5rem;padding:.65rem .75rem;display:flex}.library-selector__search-input{color:var(--on-surface);background:0 0;border:none;outline:none;flex:1}.library-selector__options{flex-direction:column;gap:.5rem;max-height:240px;margin-top:.75rem;display:flex;overflow-y:auto}.library-selector__option,.library-selector__empty,.library-selected-item{border-radius:var(--radius-lg);background:var(--surface-container-lowest);border:1px solid #47484a26;padding:.85rem}.library-selector__option{width:100%;color:var(--on-surface);text-align:left;cursor:pointer;flex-direction:column;gap:.25rem;display:flex}.library-selector__option span,.library-selector__empty,.library-selected-item__header span{color:var(--on-surface-variant)}.library-selected-item{flex-direction:column;gap:.75rem;display:flex}.library-selected-item__header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.library-selected-item__header div{flex-direction:column;gap:.25rem;display:flex}.library-input{background:var(--surface-container-lowest);border-radius:var(--radius-md);width:100%;color:var(--on-surface);border:1px solid #47484a33;padding:.75rem .875rem}.library-textarea{resize:vertical;min-height:4.5rem;font-family:inherit;line-height:1.4}.library-selected-item .library-field{gap:.35rem}.library-hint{color:var(--on-surface-variant);font-size:.72rem}.library-config-fields,.library-config-actions,.library-workflow-card__actions,.library-chip-list,.library-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.library-label,.library-workflow-card__label{letter-spacing:.08em;text-transform:uppercase;color:var(--primary);font-size:.7rem}.library-checkbox-row{align-items:flex-start;gap:.75rem;display:flex}.library-checkbox-row div{flex-direction:column;gap:.25rem;display:flex}.library-checkbox-row span,.library-empty-inline,.library-workflow-card__header p{color:var(--on-surface-variant)}.library-link-btn,.library-icon-btn{background:var(--surface-container-highest);color:var(--on-surface);cursor:pointer;border:1px solid #47484a33}.library-link-btn{border-radius:var(--radius-md);padding:.5rem .75rem;font-weight:600}.library-icon-btn{border-radius:var(--radius-full);justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.library-empty-state{min-height:220px;color:var(--on-surface-variant);border-radius:var(--radius-lg);text-align:center;border:1px dashed #8ff5ff1f;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;padding:1.5rem;display:flex}.library-feedback{color:var(--on-surface);padding:.875rem 1rem}.library-chip--muted{opacity:.6}.library-chip--secondary,.library-workflow-card__badge{color:var(--secondary);background:#ac89ff29}.library-spinner{animation:1s linear infinite library-spin}@keyframes library-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.assets-grid{gap:1rem;display:grid}.assets-grid--images{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.assets-grid--meshes{grid-template-columns:repeat(auto-fill,minmax(265px,1fr))}.asset-card{border-radius:var(--radius-xl);background:var(--surface-container-low);transition:transform var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base);border:1px solid #47484a26;overflow:hidden}.asset-card:hover{border-color:#8ff5ff52;transform:translateY(-2px);box-shadow:0 14px 28px #00000038}.asset-card{position:relative}.asset-card--selected,.asset-card--selected:hover{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.asset-card__select{z-index:2;border-radius:var(--radius-md);cursor:pointer;opacity:.75;width:30px;height:30px;transition:opacity var(--transition-base);background:#0d0e10b8;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:.6rem;right:.6rem}.asset-card:hover .asset-card__select,.asset-card--selected .asset-card__select{opacity:1}.asset-card__select input{width:17px;height:17px;accent-color:var(--primary);cursor:pointer;margin:0}.asset-card__child-badge{z-index:2;border-radius:var(--radius-full);background:var(--secondary);color:var(--on-secondary,#0d0e10);letter-spacing:.12em;padding:.25rem .5rem;font-size:.62rem;position:absolute;top:.75rem;left:.75rem}.asset-card__parent{color:var(--on-surface-variant);white-space:nowrap;text-overflow:ellipsis;margin-top:-.5rem;font-size:.72rem;overflow:hidden}.assets-selection-bar{border-radius:var(--radius-lg);background:var(--surface-container-low);color:var(--on-surface-variant);border:1px solid #47484a40;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-bottom:1rem;padding:.55rem .75rem;font-size:.82rem;display:flex}.assets-selection-bar__check{color:var(--on-surface);cursor:pointer;align-items:center;gap:.45rem;display:inline-flex}.assets-selection-bar__check input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;margin:0}.assets-selection-bar__link{color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.assets-selection-bar__link:hover{text-decoration:underline}.assets-selection-bar__actions{align-items:center;gap:.75rem;margin-left:auto;display:flex}.assets-selection-bar__export{border-radius:var(--radius-md);background:var(--primary);color:var(--on-primary);cursor:pointer;transition:opacity var(--transition-base);border:none;align-items:center;gap:.4rem;padding:.5rem .9rem;font-weight:700;display:inline-flex}.assets-selection-bar__export .material-symbols-outlined{font-size:1.1rem}.assets-selection-bar__export:disabled{opacity:.5;cursor:not-allowed}.asset-card__preview{background:var(--surface-container-high);width:100%;position:relative;overflow:hidden}.asset-card__preview--image{aspect-ratio:1}.asset-card__preview--brush{background:#fff}.asset-card__preview--mesh{aspect-ratio:16/10;background:radial-gradient(circle at 50% 30%,#ac89ff24,#0000 40%),linear-gradient(#242629,#0d0e10);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex;position:relative;overflow:hidden}.asset-card__preview--mesh-thumbnail{padding:0}.asset-card__image{object-fit:contain;object-position:center;width:100%;height:100%;display:block}.asset-card__preview--mesh .asset-card__image{object-fit:cover}.asset-card__preview--mesh-thumbnail .asset-card__image{object-fit:contain}.asset-card__mesh-icon{color:var(--secondary);font-size:2.75rem}.asset-card__mesh-label{color:var(--on-surface-variant);letter-spacing:.14em;font-size:.68rem}.asset-card__mesh-tag{border-radius:var(--radius-full);color:var(--on-surface);letter-spacing:.12em;background:#0d0e10b8;padding:.25rem .5rem;font-size:.62rem;position:absolute;bottom:.75rem;left:.75rem}.asset-card__dimensions{color:var(--on-surface);letter-spacing:.08em;z-index:1;background:#0d0e10b8;border-radius:999px;padding:.25rem .5rem;font-size:.62rem;position:absolute;bottom:.75rem;left:50%;transform:translate(-50%)}.asset-card__body{flex-direction:column;gap:.75rem;padding:1rem;display:flex}.asset-card__title-row{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.asset-card__name{color:var(--on-surface);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.asset-card__meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .75rem;min-width:0;display:flex}.asset-card__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.4rem;min-width:0;display:flex}.asset-card__edits-btn{border-radius:var(--radius-full);color:var(--primary);cursor:pointer;background:#8ff5ff14;border:1px solid #8ff5ff38;align-items:center;gap:.35rem;padding:.35rem .6rem;font-size:.72rem;font-weight:700;display:inline-flex}.asset-card__edits-btn .material-symbols-outlined{font-size:16px}.asset-card__badge{border-radius:var(--radius-sm);color:var(--primary);background:#8ff5ff1f;padding:.2rem .45rem;font-size:.65rem;font-weight:700}.asset-card__badge--secondary{color:var(--secondary);background:#ac89ff24}.asset-card__link{color:var(--on-surface-variant);letter-spacing:.08em;white-space:nowrap;flex:none;font-size:.72rem}.asset-card__link-btn{cursor:pointer;background:0 0;border:none}.asset-card__link:hover{color:var(--primary)}.asset-card__icon-btn{border-radius:var(--radius-full);background:var(--surface-container-high);width:30px;height:30px;color:var(--on-surface-variant);cursor:pointer;border:1px solid #47484a38;flex:none;justify-content:center;align-items:center;display:inline-flex}.asset-card__icon-btn .material-symbols-outlined{font-size:18px}.asset-card__icon-btn:hover:not(:disabled){color:var(--error);border-color:#ff716c47}.asset-card__icon-btn--edit:hover:not(:disabled){color:var(--primary);border-color:#8ff5ff52}.asset-card__icon-btn:disabled{opacity:.5;cursor:not-allowed}.assets-dialog-overlay{z-index:2100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0d0e10d1;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.assets-dialog-overlay--elevated{z-index:2200}.assets-dialog{background:var(--surface-container-low);border-radius:var(--radius-xl);border:1px solid #8ff5ff14;flex-direction:column;width:100%;max-width:520px;max-height:calc(100vh - 3rem);display:flex;overflow:hidden;box-shadow:0 32px 64px #00000073}.assets-dialog--viewer{max-width:980px}.assets-dialog__header,.assets-dialog__actions{justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.assets-dialog__header{border-bottom:1px solid #47484a26}.assets-dialog__title{font-size:1.1rem}.assets-dialog__close{color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.assets-dialog__body{min-height:0;color:var(--on-surface-variant);flex:auto;padding:1.5rem;overflow-y:auto}.asset-edits-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;display:grid}.asset-edit-card{border-radius:var(--radius-lg);background:var(--surface-container-high);border:1px solid #47484a26;overflow:hidden}.asset-edit-card__preview{aspect-ratio:1;background:var(--surface-container-lowest);position:relative;overflow:hidden}.asset-edit-card__preview--brush{background:#fff}.asset-edit-card__body{flex-direction:column;gap:.45rem;padding:.85rem;display:flex}.asset-edit-card__details{align-items:center;gap:.35rem;min-width:0;display:flex}.asset-edit-card__title{min-width:0;color:var(--on-surface);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.82rem;font-weight:600;overflow:hidden}.assets-page__empty-state--compact{min-height:160px}.assets-dialog__body--viewer{height:min(70vh,720px);padding:0}.assets-dialog__actions{border-top:1px solid #47484a26;justify-content:flex-end}.assets-dialog__btn{border-radius:var(--radius-md);cursor:pointer;border:none;padding:.75rem 1rem;font-weight:700}.assets-dialog__btn--secondary{background:var(--surface-container-highest);color:var(--on-surface)}.assets-dialog__btn--primary{background:var(--primary);color:var(--on-primary)}.assets-dialog__btn--danger{color:#fff;background:#a93232}.assets-dialog__btn:disabled{opacity:.5;cursor:not-allowed}.assets-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:.5rem;display:flex}.assets-pagination__summary,.assets-pagination__page{color:var(--on-surface-variant);font-size:.8rem}.assets-pagination__controls{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.assets-pagination__button{border-radius:var(--radius-md);background:var(--surface-container-high);color:var(--on-surface);padding:.65rem .9rem}.assets-page__loading,.assets-page__empty-state{border-radius:var(--radius-xl);background:var(--surface-container-low);min-height:220px;color:var(--on-surface-variant);flex-direction:column;justify-content:center;align-items:center;gap:.85rem;display:flex}.assets-page__spinner{animation:1s linear infinite assets-page-spin}@keyframes assets-page-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=900px){.assets-page{padding:1.25rem}.assets-page__header,.assets-section__header,.assets-page__header-actions,.assets-pagination{flex-direction:column;align-items:flex-start}.assets-page__content{grid-template-columns:1fr}.assets-sidebar{flex-flow:wrap}.assets-sidebar__item{flex:180px}}@media (width<=1100px){.library-grid,.library-config-grid{grid-template-columns:1fr}}.workflow-filterbar{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding:.25rem 0;display:flex}.workflow-filterbar__label{color:var(--on-surface-variant);align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;display:inline-flex}.workflow-filterbar__label .material-symbols-outlined{font-size:1.1rem}.workflow-typefilter{flex-wrap:wrap;gap:.5rem;display:flex}.workflow-typechip{border-radius:var(--radius-full);background:var(--surface-container-high);color:var(--on-surface-variant);cursor:pointer;border:1px solid #8ff5ff1f;align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.78rem;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.workflow-typechip:hover{color:var(--on-surface);border-color:#8ff5ff4d}.workflow-typechip--active{background:var(--primary);color:var(--on-primary);border-color:#0000}.workflow-typechip__count{border-radius:var(--radius-full);background:#0000002e;justify-content:center;align-items:center;min-width:1.25rem;padding:0 .35rem;font-size:.7rem;display:inline-flex}.workflow-typechip--active .workflow-typechip__count{background:#00000038}.workflow-grid{grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:1rem;display:grid}.workflow-card{background:var(--surface-container-low);border-radius:var(--radius-xl);border:1px solid #8ff5ff14;flex-direction:column;gap:.75rem;padding:1rem;transition:border-color .15s,transform .15s;display:flex}.workflow-card:hover{border-color:#8ff5ff38;transform:translateY(-1px)}.workflow-card__top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.workflow-card__heading{align-items:center;gap:.5rem;min-width:0;display:flex}.workflow-card__icon{color:var(--primary);flex:none;font-size:1.25rem}.workflow-card__name{min-width:0;color:var(--on-surface);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.95rem;font-weight:700;display:-webkit-box;overflow:hidden}.workflow-card__buttons{flex:none;align-items:center;gap:.15rem;display:flex}.workflow-card__types{flex-wrap:wrap;gap:.35rem;display:flex}.workflow-type-badge{border-radius:var(--radius-full);background:var(--surface-container-high);color:var(--on-surface);text-transform:uppercase;letter-spacing:.02em;align-items:center;padding:.25rem .55rem;font-size:.7rem;font-weight:600;display:inline-flex}.workflow-type-badge--image{color:var(--primary);background:#8ff5ff29}.workflow-type-badge--video{color:#ffb86c;background:#ffb86c29}.workflow-type-badge--mesh{color:var(--secondary);background:#ac89ff29}.workflow-type-badge--muted{opacity:.55}.workflow-card__meta{color:var(--on-surface-variant);align-items:center;gap:.5rem;margin-top:auto;font-size:.78rem;display:flex}.workflow-card__meta strong{color:var(--on-surface)}.assets-dialog--workflow{max-width:880px}.assets-dialog--workflow .assets-dialog__body{flex-direction:column;gap:1.5rem;display:flex}.workflow-editor__header{gap:1rem}.workflow-editor__heading{align-items:center;gap:.5rem;min-width:0;display:flex}.workflow-editor__heading .material-symbols-outlined{color:var(--primary)}.workflow-editor__topactions{flex:none;align-items:center;gap:.5rem;display:flex}.asset-card__tags{flex-wrap:wrap;gap:.3rem;margin-top:-.35rem;display:flex}.asset-tag-chip{border-radius:var(--radius-full);color:var(--primary);letter-spacing:.04em;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;max-width:100%;transition:background var(--transition-base), color var(--transition-base), border-color var(--transition-base);background:#8ff5ff14;border:1px solid #8ff5ff38;align-items:center;gap:.25rem;padding:.15rem .5rem;font-size:.68rem;display:inline-flex;overflow:hidden}.asset-tag-chip:hover:not(:disabled){border-color:var(--primary)}.asset-tag-chip:disabled{opacity:.5;cursor:not-allowed}.asset-tag-chip--active{background:var(--primary);border-color:var(--primary);color:var(--on-primary,#05161a)}.asset-tag-chip--editing{cursor:default;padding-right:.25rem}.asset-tag-chip--suggestion{color:var(--on-surface-variant);background:0 0;border-color:#8ff5ff2e}.asset-tag-chip--suggestion:hover:not(:disabled){color:var(--primary)}.asset-tag-chip__remove{color:inherit;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.asset-tag-chip__remove .material-symbols-outlined{font-size:.85rem}.asset-tag-editor{flex-direction:column;gap:.75rem;display:flex}.asset-tag-editor__field{border-radius:var(--radius-lg);background:var(--surface-container-low);border:1px solid #47484a59;flex-wrap:wrap;align-items:center;gap:.35rem;min-height:2.6rem;padding:.45rem .6rem;display:flex}.asset-tag-editor__field:focus-within{border-color:var(--primary)}.asset-tag-editor__input{min-width:8rem;color:var(--on-surface);background:0 0;border:none;outline:none;flex:1;font-size:.85rem}.asset-tag-editor__hint{color:var(--on-surface-variant);font-size:.75rem}.asset-tag-editor__suggestions{flex-direction:column;gap:.4rem;display:flex}.asset-tag-editor__suggestions-label{color:var(--on-surface-variant);letter-spacing:.1em;font-size:.68rem}.asset-tag-editor__suggestion-list{flex-wrap:wrap;gap:.3rem;max-height:8rem;display:flex;overflow-y:auto}.asset-tag-editor__error{color:var(--error,#ff6b6b);font-size:.78rem}.mesh-editor-mask-overlay{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.mesh-editor-projection-source-preview{z-index:4;border-radius:var(--radius-md,8px);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;background:#101114c7;border:1px solid #8ff5ff59;flex-direction:column;gap:4px;max-width:28%;padding:6px;display:flex;position:absolute;bottom:12px;left:12px}.mesh-editor-projection-source-preview__label{letter-spacing:.04em;text-transform:uppercase;color:#8ff5ffd9;font-size:.7rem}.mesh-editor-projection-source-preview img{border-radius:var(--radius-sm,6px);image-rendering:auto;width:180px;max-width:100%;height:auto;display:block}:root{--mesh-editor-gap:2px}.mesh-editor-layout{flex-direction:column;width:100%;height:100vh;min-height:100vh;display:flex;overflow:hidden}.mesh-editor-page{background:var(--background);flex:1;min-height:0;padding:.1rem;display:flex;overflow:auto}.mesh-editor-shell{gap:var(--mesh-editor-gap);flex-direction:column;flex:1;width:100%;min-height:0;margin:0 auto;display:flex}.mesh-editor-toolbar,.mesh-editor-panel,.mesh-editor-feedback,.mesh-editor-empty-state{border-radius:var(--radius-xl);background:#121315eb;border:1px solid #47484a2e}.mesh-editor-toolbar{justify-content:space-between;align-items:center;gap:1rem;padding:.15rem .85rem;display:flex}.mesh-editor-toolbar__group{flex:1;align-items:center;gap:1rem;min-width:0;display:flex}.mesh-editor-toolbar__title-group{flex-direction:column;gap:0;display:flex}.mesh-editor-toolbar__name-field{flex-direction:column;gap:.3rem;display:flex}.mesh-editor-toolbar__save-panel{flex-direction:column;gap:.3rem;max-width:100px;display:flex}.mesh-editor-toolbar__save-actions{flex-wrap:nowrap}.mesh-editor-toolbar__save-actions .mesh-editor-btn{flex:1}.mesh-editor-toolbar__stats{color:var(--on-surface-variant);flex-wrap:wrap;justify-content:flex-end;gap:.75rem;font-size:.8rem;display:inline-flex}.mesh-editor-toolbar__back,.mesh-editor-btn,.mesh-editor-toggle{cursor:pointer;transition:background var(--transition-base), color var(--transition-base), opacity var(--transition-base), transform var(--transition-base);border:none;justify-content:center;align-items:center;gap:.45rem;display:inline-flex}.mesh-editor-toolbar__back{border-radius:var(--radius-md);color:var(--primary);background:#8ff5ff1a;padding:.55rem .8rem}.mesh-editor-page__title{color:var(--on-surface);font-size:1.28rem}.mesh-editor-page__desc{color:var(--on-surface-variant);margin-top:.3rem;font-size:.82rem}.mesh-editor-workspace{gap:var(--mesh-editor-gap);flex:1;grid-template-columns:300px minmax(0,1fr);align-items:start;min-height:0;display:grid}.mesh-editor-workspace--with-layers{grid-template-columns:300px minmax(0,1fr) 280px}.mesh-editor-workspace--with-skeleton{grid-template-columns:300px minmax(0,1fr) 340px}.mesh-editor-layers-panel{background:var(--surface-container,#1e1e22);border:1px solid var(--outline-variant,#2a2a30);border-radius:12px;flex-direction:column;align-self:stretch;gap:.75rem;height:100%;min-height:0;max-height:1400px;padding:1rem;display:flex;overflow:hidden auto}.mesh-editor-layers-panel__header{justify-content:space-between;align-items:center;display:flex}.mesh-editor-layers-panel__header-actions{align-items:center;gap:.5rem;display:flex}.mesh-editor-layers-panel__title{font-size:.95rem;font-weight:600}.mesh-editor-layers-panel__apply-all-btn{min-height:30px;color:var(--on-surface);cursor:pointer;background:#6c8cff29;border:1px solid #6c8cff73;border-radius:999px;justify-content:center;align-items:center;padding:.35rem .7rem;font-size:.8rem;font-weight:600;display:inline-flex}.mesh-editor-layers-panel__apply-all-btn:hover:not(:disabled){background:#6c8cff3d}.mesh-editor-layers-panel__apply-all-btn:disabled{opacity:.45;cursor:not-allowed}.mesh-editor-layers-panel__list{overscroll-behavior:contain;flex-direction:column;flex:1;gap:.5rem;min-height:0;padding-bottom:.85rem;padding-right:4px;scroll-padding-bottom:1rem;display:flex;overflow-y:auto}.mesh-editor-layer-card{border:1px solid var(--outline-variant,#2a2a30);background:var(--surface,#141418);border-radius:8px;flex-direction:column;gap:.45rem;padding:.55rem .6rem;display:flex}.mesh-editor-layer-card--selected{border-color:var(--primary,#ac89ff);box-shadow:0 0 0 1px var(--primary,#ac89ff) inset}.mesh-editor-layer-card__header{align-items:center;gap:.4rem;display:flex}.mesh-editor-paint-mode-switch{background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;gap:.25rem;margin-bottom:.6rem;padding:.25rem;display:flex}.mesh-editor-paint-mode-switch__btn{color:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:.35rem;padding:.4rem .6rem;font-size:.85rem;display:inline-flex}.mesh-editor-paint-mode-switch__btn:hover:not(:disabled){background:#ffffff0f}.mesh-editor-paint-mode-switch__btn--active{color:#fff;background:#6c8cff}.mesh-editor-paint-mode-switch__btn--active:hover{background:#6c8cff}.mesh-editor-paint-mode-switch__btn:disabled{opacity:.4;cursor:not-allowed}.mesh-editor-layer-card__radio{cursor:pointer;accent-color:#6c8cff;flex:none;width:16px;height:16px;margin:0}.mesh-editor-layer-card__name{color:inherit;background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:.85rem}.mesh-editor-layer-card__icon-btn{color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px;display:inline-flex}.mesh-editor-layer-card__icon-btn:hover:not(:disabled){background:var(--surface-container-high,#26262c);color:var(--on-surface,#eaeaee)}.mesh-editor-layer-card__icon-btn:disabled{opacity:.35;cursor:not-allowed}.mesh-editor-layer-card__row{grid-template-columns:64px 1fr;align-items:center;gap:.4rem;font-size:.75rem;display:grid}.mesh-editor-layer-card__row select,.mesh-editor-layer-card__row input[type=range]{width:100%;min-width:0}.mesh-editor-layer-card__row select{background:var(--surface-container-high,#26262c);color:var(--on-surface,#eaeaee);border:1px solid var(--outline-variant,#2a2a30);border-radius:4px;padding:2px 4px;font-size:.78rem}.mesh-editor-layer-card__row select option{background:var(--surface-container-high,#26262c);color:var(--on-surface,#eaeaee)}.mesh-editor-layer-card__btn-row{gap:.4rem;margin-top:.2rem;display:flex}.mesh-editor-layer-card__btn-row .mesh-editor-btn{white-space:nowrap;flex:1 1 0;min-width:0;min-height:34px;padding:.45rem .5rem;font-size:.78rem}.mesh-editor-layer-card__btn-row .mesh-editor-btn .material-symbols-outlined{font-size:1.1rem}.mesh-editor-paint-cursor{pointer-events:none;mix-blend-mode:difference;z-index:5;border:2px solid #fff;border-radius:50%;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #000000b3}.mesh-editor-sculpt-cursor{border-color:#ac89ff}.mesh-editor-weight-cursor{border-color:#8ff5ff}.mesh-editor-weight-modes{grid-template-columns:repeat(4,1fr);gap:.35rem;display:grid}.mesh-editor-weight-bone{color:var(--on-surface-variant);align-items:center;gap:.4em;font-size:.78rem;display:flex}.mesh-editor-weight-bone .material-symbols-outlined{color:#8ff5ff;font-size:1.1em}.mesh-editor-weight-bone strong{color:var(--on-surface)}.mesh-editor-weight-bone--empty .material-symbols-outlined{color:#e0a030}.mesh-editor-weight-bone__share{opacity:.75}.mesh-editor-weight-legend{flex-direction:column;gap:.15rem;display:flex}.mesh-editor-weight-legend__ramp{background:linear-gradient(90deg,#00f 0%,#0ff 25%,#0f0 50%,#ff0 75%,red 100%);border-radius:4px;height:8px}.mesh-editor-weight-legend__labels{color:var(--on-surface-variant);justify-content:space-between;font-size:.68rem;display:flex}.mesh-editor-mask-applying{z-index:6;cursor:progress;pointer-events:all;background:#ffffff1f;justify-content:center;align-items:center;animation:1s ease-in-out infinite mesh-editor-mask-applying-pulse;display:flex;position:absolute;inset:0}.mesh-editor-mask-applying__badge{border-radius:var(--radius-md,8px);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#ebf8fff2;letter-spacing:.02em;background:#101114d1;border:1px solid #8ff5ff73;align-items:center;gap:8px;padding:10px 16px;font-size:.85rem;display:flex}.mesh-editor-mask-applying__badge .material-symbols-outlined{animation:1.1s linear infinite mesh-editor-mask-applying-spin}@keyframes mesh-editor-mask-applying-pulse{0%,to{background:#ffffff14}50%{background:#fff3}}@keyframes mesh-editor-mask-applying-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mesh-editor-layer-card__color{border:1px solid var(--outline-variant,#2a2a30);cursor:pointer;background:0 0;border-radius:4px;width:22px;height:22px;padding:0}.mesh-editor-layers-panel__empty{color:var(--on-surface-variant);text-align:center;padding:1.25rem .5rem;font-size:.8rem}.mesh-editor-skeleton-panel{gap:.6rem}.mesh-editor-skeleton-panel__tabs{background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;gap:.25rem;padding:.25rem;display:flex}.mesh-editor-skeleton-panel__tab{min-width:0;color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:.15rem;padding:.4rem .25rem;font-size:.7rem;font-weight:600;line-height:1.1;display:inline-flex}.mesh-editor-skeleton-panel__tab>span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.mesh-editor-skeleton-panel__tab:hover{color:var(--on-surface);background:#ffffff0d}.mesh-editor-skeleton-panel__tab--active{color:var(--on-surface);background:#6c8cff29;box-shadow:inset 0 0 0 1px #6c8cff59}.mesh-editor-skeleton-panel__tab .material-symbols-outlined{font-size:1.15rem}.mesh-editor-skeleton-panel__body{flex-direction:column;flex:1;gap:.6rem;min-height:0;display:flex}.mesh-editor-skeleton-panel__body--scroll{overscroll-behavior:contain;padding-right:4px;overflow-y:auto}.mesh-editor-skeleton-panel__body--scroll .mesh-editor-anim__list{flex:none;overflow:visible}.mesh-editor-bone-tree,.mesh-editor-bone-tree__children{margin:0;padding:0;list-style:none}.mesh-editor-bone-tree{overscroll-behavior:contain;flex:1;min-height:0;padding-bottom:4px;padding-right:4px;overflow:auto}.mesh-editor-bone-tree__row{cursor:pointer;color:var(--on-surface);-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:.3rem;width:max-content;min-width:100%;padding:.28rem .35rem;font-size:.82rem;display:flex}.mesh-editor-bone-tree__row:hover{background:#ffffff0d}.mesh-editor-bone-tree__row--selected{background:#8ff5ff24;box-shadow:inset 0 0 0 1px #8ff5ff66}.mesh-editor-bone-tree__toggle{width:18px;height:18px;color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.mesh-editor-bone-tree__toggle--leaf{cursor:default}.mesh-editor-bone-tree__toggle .material-symbols-outlined{font-size:1.05rem}.mesh-editor-bone-tree__icon{color:var(--primary,#ac89ff);flex:none;font-size:.95rem}.mesh-editor-bone-tree__row--selected .mesh-editor-bone-tree__icon{color:#8ff5ff}.mesh-editor-bone-tree__name{white-space:nowrap}.mesh-editor-bone-tree__weight{color:var(--on-surface-variant);font-variant-numeric:tabular-nums;flex:none;margin-left:.4rem;font-size:.68rem}.mesh-editor-bone-tree__weight--none{color:#e0a030}.mesh-editor-bone-tree__action{width:20px;height:20px;color:var(--on-surface-variant);opacity:0;cursor:pointer;background:0 0;border:none;border-radius:5px;flex:none;justify-content:center;align-items:center;margin-left:.25rem;padding:0;display:inline-flex}.mesh-editor-bone-tree__action .material-symbols-outlined{font-size:15px}.mesh-editor-bone-tree__row:hover .mesh-editor-bone-tree__action,.mesh-editor-bone-tree__action:focus-visible{opacity:1}.mesh-editor-bone-tree__action:hover{color:#8ff5ff;background:#8ff5ff29}.mesh-editor-bone-tree__action--danger:hover{color:#ff9c9c;background:#e0646429}.mesh-editor-bone-edit__toggle{border:1px solid var(--outline-variant,#2a2a30);color:var(--on-surface-variant);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.25rem;margin-left:auto;padding:.2rem .5rem;font-size:.74rem;display:inline-flex}.mesh-editor-bone-edit__toggle .material-symbols-outlined{font-size:15px}.mesh-editor-bone-edit__toggle:hover{color:var(--on-surface);border-color:#8ff5ff80}.mesh-editor-bone-edit__toggle--on{color:#8ff5ff;background:#8ff5ff29;border-color:#8ff5ff99}.mesh-editor-bone-edit{background:#8ff5ff0d;border:1px solid #8ff5ff47;border-radius:8px;flex-direction:column;gap:.45rem;padding:.5rem;display:flex}.mesh-editor-bone-edit__bar{align-items:center;gap:.35rem;display:flex}.mesh-editor-bone-edit__icon-btn{border:1px solid var(--outline-variant,#2a2a30);min-width:26px;height:26px;color:var(--on-surface-variant);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:.25rem;padding:0 .35rem;font-size:.74rem;display:inline-flex}.mesh-editor-bone-edit__icon-btn .material-symbols-outlined{font-size:16px}.mesh-editor-bone-edit__icon-btn:hover:not(:disabled){color:var(--on-surface);border-color:#8ff5ff80}.mesh-editor-bone-edit__icon-btn:disabled{opacity:.4;cursor:default}.mesh-editor-bone-edit__dirty{color:#8ff5ff;background:#8ff5ff29;border-radius:999px;margin-left:auto;padding:.1rem .4rem;font-size:.68rem}.mesh-editor-bone-edit__cleanup{color:#e0a030;background:#e0a0301f;border-radius:6px;align-items:center;gap:.4rem;padding:.35rem .45rem;font-size:.74rem;display:flex}.mesh-editor-bone-edit__cleanup .material-symbols-outlined{font-size:16px}.mesh-editor-bone-edit__cleanup .mesh-editor-bonemap__mini-btn{margin-left:auto}.mesh-editor-bone-edit__card{border-top:1px solid #ffffff14;flex-direction:column;gap:.4rem;padding-top:.35rem;display:flex}.mesh-editor-bone-edit__row{flex-direction:column;gap:.15rem;display:flex}.mesh-editor-bone-edit__axes{grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;display:grid}.mesh-editor-bone-edit__axis{flex-direction:column;gap:.15rem;min-width:0;display:flex}.mesh-editor-bone-edit__axis .mesh-editor-panel__input{font-variant-numeric:tabular-nums;min-width:0}.mesh-editor-bone-edit__foot{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.mesh-editor-bone-edit__action-btn{border:1px solid var(--outline-variant,#2a2a30);color:var(--on-surface-variant);cursor:pointer;background:0 0;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:.25rem;padding:.22rem .5rem;font-size:.74rem;display:inline-flex}.mesh-editor-bone-edit__action-btn .material-symbols-outlined{font-size:15px}.mesh-editor-bone-edit__action-btn:hover{color:#8ff5ff;border-color:#8ff5ff80}.mesh-editor-bone-edit__action-btn--danger{color:#ff9c9c;border-color:#e0646466}.mesh-editor-bone-edit__action-btn--danger:hover{color:#ff9c9c;background:#e0646429;border-color:#e0646499}.mesh-editor-bone-edit__capture{color:#8ff5ff;cursor:pointer;background:0 0;border:1px dashed #8ff5ff73;border-radius:6px;justify-content:center;align-items:center;gap:.3rem;padding:.28rem .5rem;font-size:.74rem;display:inline-flex}.mesh-editor-bone-edit__capture .material-symbols-outlined{font-size:15px}.mesh-editor-bone-edit__capture:hover{background:#8ff5ff1f}.mesh-editor-bone-label{pointer-events:none;color:#8ff5ff;white-space:nowrap;background:#101114eb;border:1px solid #8ff5ff80;border-radius:6px;padding:.2rem .5rem;font-size:.72rem;font-weight:600;transform:translateY(-160%);box-shadow:0 4px 12px #00000073}.mesh-editor-bone-label--muted{color:#ffd9a0;box-shadow:none;background:#101114c7;border-color:#f0913c73;padding:.1rem .35rem;font-size:.64rem;font-weight:500;transform:translateY(-130%)}.mesh-editor-anim__controls{flex-direction:column;gap:.6rem;display:flex}.mesh-editor-anim__field{flex-direction:column;gap:.25rem;display:flex}.mesh-editor-anim__error{margin:0}.mesh-editor-anim__floor-btn{border:1px solid var(--outline-variant,#2a2a30);background:var(--surface,#141418);color:var(--on-surface-variant);cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;padding:.4rem .6rem;font-size:.8rem;font-weight:600;display:inline-flex}.mesh-editor-anim__floor-btn:hover{color:var(--on-surface);border-color:#8ff5ff66}.mesh-editor-anim__floor-btn--on{color:#8ff5ff;background:#8ff5ff1a;border-color:#8ff5ff80}.mesh-editor-anim__floor-btn .material-symbols-outlined{font-size:1.1rem}.mesh-editor-anim__arms{border:1px solid var(--outline-variant,#2a2a30);background:var(--surface,#141418);border-radius:8px;flex-direction:column;gap:.35rem;padding:.5rem .6rem;display:flex}.mesh-editor-anim__arms-head{justify-content:space-between;align-items:center;display:flex}.mesh-editor-anim__arms-reset{color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.mesh-editor-anim__arms-reset:hover{color:#8ff5ff}.mesh-editor-anim__arms-reset .material-symbols-outlined{font-size:1.05rem}.mesh-editor-anim__arms-row{align-items:center;gap:.5rem;display:flex}.mesh-editor-anim__arms-row input[type=range]{flex:1;min-width:0}.mesh-editor-anim__arms-val{color:var(--on-surface);text-align:right;font-variant-numeric:tabular-nums;min-width:38px;font-size:.75rem}.mesh-editor-anim__list{overscroll-behavior:contain;flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;min-height:0;padding-bottom:.5rem;padding-right:4px;display:grid;overflow-y:auto}.mesh-editor-anim-item{border:1px solid var(--outline-variant,#2a2a30);background:var(--surface,#141418);color:var(--on-surface);cursor:pointer;text-align:left;border-radius:8px;flex-direction:column;gap:.3rem;padding:.35rem;display:flex}.mesh-editor-anim-item:hover{border-color:#8ff5ff73}.mesh-editor-anim-item--selected{border-color:#8ff5ff;box-shadow:inset 0 0 0 1px #8ff5ff}.mesh-editor-anim-item__thumb{aspect-ratio:1;background:#00000059;border-radius:6px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.mesh-editor-anim-item__thumb video{object-fit:cover;width:100%;height:100%}.mesh-editor-anim-item__thumb>.material-symbols-outlined{color:var(--on-surface-variant);font-size:1.6rem}.mesh-editor-anim-item__spinner,.mesh-editor-anim-item__playing{color:#8ff5ff;background:#101114b3;border-radius:50%;padding:2px;font-size:1.1rem;position:absolute;bottom:4px;right:4px}.mesh-editor-anim-item__spinner{animation:1s linear infinite mesh-editor-spin}.mesh-editor-anim-item__name{word-break:break-word;font-size:.72rem;line-height:1.15}.mesh-editor-anim-item--checked{border-color:#69f0ae99;box-shadow:inset 0 0 0 1px #69f0ae80}.mesh-editor-anim-item__check{cursor:pointer;background:#101114b8;border-radius:4px;justify-content:center;align-items:center;padding:2px;display:inline-flex;position:absolute;top:4px;left:4px}.mesh-editor-anim-item__check input[type=checkbox]{cursor:pointer;accent-color:#69f0ae;width:15px;height:15px;margin:0}.mesh-editor-anim__search{border:1px solid var(--outline-variant,#2a2a30);background:var(--surface,#141418);border-radius:8px;align-items:center;gap:.35rem;padding:.3rem .5rem;display:flex}.mesh-editor-anim__search:focus-within{border-color:#8ff5ff80}.mesh-editor-anim__search>.material-symbols-outlined{color:var(--on-surface-variant);font-size:1.1rem}.mesh-editor-anim__search input{min-width:0;color:var(--on-surface);background:0 0;border:none;outline:none;flex:1;font-size:.8rem}.mesh-editor-anim__search input::placeholder{color:var(--on-surface-variant)}.mesh-editor-anim__search-clear{color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.mesh-editor-anim__search-clear:hover{color:#8ff5ff}.mesh-editor-anim__search-clear .material-symbols-outlined{font-size:1rem}.mesh-editor-anim__save{justify-content:center;width:100%}@keyframes mesh-editor-spin{to{transform:rotate(360deg)}}.mesh-editor-bonemap__overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.mesh-editor-bonemap{background:var(--surface-container,#1e1e22);border:1px solid var(--outline-variant,#2a2a30);border-radius:14px;flex-direction:column;width:min(1240px,96vw);height:min(760px,92vh);display:flex;overflow:hidden;box-shadow:0 24px 60px #0000008c}.mesh-editor-bonemap__header{border-bottom:1px solid var(--outline-variant,#2a2a30);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;display:flex}.mesh-editor-bonemap__title{margin:0;font-size:1.05rem;font-weight:700}.mesh-editor-bonemap__subtitle{color:var(--on-surface-variant);max-width:640px;margin:.25rem 0 0;font-size:.78rem}.mesh-editor-bonemap__close{color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.2rem}.mesh-editor-bonemap__close:hover{color:var(--on-surface);background:#ffffff0f}.mesh-editor-bonemap__body{flex:1;grid-template-columns:minmax(240px,300px) 1fr auto 1fr;gap:.75rem;min-height:0;padding:1rem 1.25rem;display:grid}.mesh-editor-bonemap__views{flex-direction:column;gap:.6rem;min-height:0;display:flex}.mesh-editor-bonemap-view{flex-direction:column;flex:1;gap:.35rem;min-height:0;display:flex}.mesh-editor-bonemap-view__head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.mesh-editor-bonemap-view__title{font-size:.8rem;font-weight:600}.mesh-editor-bonemap-view__selected{text-align:right;color:#8ff5ff;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.72rem;overflow:hidden}.mesh-editor-bonemap-view__reset{border:1px solid var(--outline-variant,#2a2a30);width:22px;height:22px;color:var(--on-surface-variant);cursor:pointer;background:0 0;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.mesh-editor-bonemap-view__reset .material-symbols-outlined{font-size:14px}.mesh-editor-bonemap-view__reset:hover:not(:disabled){color:var(--on-surface);border-color:#6c8cff99}.mesh-editor-bonemap-view__reset:disabled{opacity:.4;cursor:default}.mesh-editor-bonemap-view__canvas{border:1px solid var(--outline-variant,#2a2a30);background:radial-gradient(120% 120% at 50% 0%, #6c8cff14, transparent 60%), var(--surface,#141418);border-radius:10px;flex:1;min-height:0;position:relative;overflow:hidden}.mesh-editor-bonemap-view__empty{color:var(--on-surface-variant);justify-content:center;align-items:center;font-size:.8rem;display:flex;position:absolute;inset:0}.mesh-editor-bonemap-view__label-anchor{pointer-events:none}.mesh-editor-bonemap-view__label{color:#eaf7ff;white-space:nowrap;pointer-events:none;background:#0c0e14e6;border:1px solid #8ff5ff80;border-radius:6px;padding:.15rem .45rem;font-size:.72rem;font-weight:600;transform:translateY(-1.4rem)}.mesh-editor-bonemap__col{flex-direction:column;gap:.5rem;min-height:0;display:flex}.mesh-editor-bonemap__col-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.mesh-editor-bonemap__col-title{font-size:.85rem;font-weight:600}.mesh-editor-bonemap__col-actions{gap:.35rem;display:flex}.mesh-editor-bonemap__mini-btn{color:var(--on-surface);cursor:pointer;background:#6c8cff29;border:1px solid #6c8cff73;border-radius:999px;padding:.3rem .7rem;font-size:.75rem;font-weight:600}.mesh-editor-bonemap__mini-btn:hover:not(:disabled){background:#6c8cff42}.mesh-editor-bonemap__mini-btn:disabled{opacity:.45;cursor:not-allowed}.mesh-editor-bonemap__filter{border:1px solid var(--outline-variant,#2a2a30);background:var(--surface,#141418);color:var(--on-surface);border-radius:8px;padding:.45rem .6rem;font-size:.82rem}.mesh-editor-bonemap__list{overscroll-behavior:contain;flex-direction:column;flex:1;gap:.3rem;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.mesh-editor-bonemap__source,.mesh-editor-bonemap__target{border:1px solid var(--outline-variant,#2a2a30);background:var(--surface,#141418);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:.4rem;padding:.4rem .5rem;font-size:.8rem;display:flex}.mesh-editor-bonemap__source:hover{border-color:#8ff5ff73}.mesh-editor-bonemap__source--picked{border-color:#8ff5ff;box-shadow:inset 0 0 0 1px #8ff5ff}.mesh-editor-bonemap__source--used{opacity:.55}.mesh-editor-bonemap__grip{color:var(--on-surface-variant);cursor:grab;font-size:1rem}.mesh-editor-bonemap__source-name,.mesh-editor-bonemap__target-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.mesh-editor-bonemap__used-check{color:#8ff5ff;font-size:1rem}.mesh-editor-bonemap__target--mapped{border-color:#8ff5ff66}.mesh-editor-bonemap__target--droppable{border-style:dashed;border-color:#8ff5ff99}.mesh-editor-bonemap__chip{max-width:45%;color:var(--on-surface);white-space:nowrap;text-overflow:ellipsis;background:#6c8cff33;border:1px solid #6c8cff66;border-radius:999px;flex:none;padding:.15rem .45rem;font-size:.72rem;font-weight:600;overflow:hidden}.mesh-editor-bonemap__chip--empty{border-style:dashed;border-color:var(--outline-variant,#2a2a30);color:var(--on-surface-variant);background:0 0;font-weight:500}.mesh-editor-bonemap__clear-btn{color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.mesh-editor-bonemap__clear-btn .material-symbols-outlined{font-size:1rem}.mesh-editor-bonemap__clear-btn:hover{color:#ff8a8a}.mesh-editor-bonemap__arrow{color:var(--on-surface-variant);align-items:center;display:flex}.mesh-editor-bonemap__footer{border-top:1px solid var(--outline-variant,#2a2a30);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.25rem;display:flex}.mesh-editor-bonemap__footer-actions{gap:.5rem;display:flex}.mesh-editor-layer-card__apply-btn{background:var(--primary,#ac89ff);color:#fff;cursor:pointer;letter-spacing:.03em;border:none;border-radius:5px;width:100%;padding:.35rem 0;font-size:.8rem;font-weight:600;transition:background .15s}.mesh-editor-layer-card__apply-btn:hover:not(:disabled){background:#c4a8ff}.mesh-editor-layer-card__apply-btn:disabled{opacity:.4;cursor:not-allowed}.mesh-editor-layer-card__dirty-note{color:var(--primary,#ac89ff);letter-spacing:.02em;background:#6c8cff1f;border-radius:999px;align-self:flex-start;padding:.28rem .55rem;font-size:.72rem;font-weight:600}.mesh-editor-rebuild-progress{background:var(--outline-variant,#2a2a30);border-radius:2px;flex-shrink:0;width:100%;height:4px;overflow:hidden}.mesh-editor-rebuild-progress__bar{background:var(--primary,#ac89ff);border-radius:2px;min-width:4px;height:100%;transition:width .1s linear}.post-proc-panel{border-top:1px solid var(--outline-variant,#2a2a30);flex-direction:column;flex-shrink:0;gap:.55rem;padding:.75rem;display:flex}.post-proc-panel__title{letter-spacing:.06em;text-transform:uppercase;color:var(--on-surface-variant,#aaa);font-size:.72rem;font-weight:700}.post-proc-panel__section-toggle{color:var(--on-surface,#e0e0e0);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.45rem;margin-top:.2rem;font-size:.82rem;font-weight:600;display:flex}.post-proc-panel__section-toggle input[type=checkbox]{accent-color:var(--primary,#ac89ff);flex-shrink:0;width:14px;height:14px}.post-proc-panel__row{grid-template-columns:6rem 1fr 2.8rem;align-items:center;gap:.4rem;font-size:.8rem;display:grid}.post-proc-panel__row label{color:var(--on-surface-variant,#aaa);font-size:.78rem}.post-proc-panel__row input[type=range]{width:100%}.post-proc-panel__row span{text-align:right;color:var(--on-surface,#e0e0e0);white-space:nowrap;font-size:.75rem}.post-proc-panel__hint{color:var(--on-surface-variant,#999);margin:0 0 .1rem;font-size:.72rem;line-height:1.35}.post-proc-panel__actions{gap:.5rem;margin-top:.15rem;display:flex}.post-proc-panel__apply-btn,.post-proc-panel__reset-btn{cursor:pointer;border:none;border-radius:6px;flex:1;padding:.38rem .6rem;font-size:.8rem;font-weight:600;transition:opacity .15s}.post-proc-panel__apply-btn{background:var(--primary,#ac89ff);color:#fff}.post-proc-panel__apply-btn:disabled{opacity:.4;cursor:not-allowed}.post-proc-panel__reset-btn{background:var(--surface-variant,#2a2a30);color:var(--on-surface-variant,#aaa)}.post-proc-panel__reset-btn:hover{opacity:.8}.mesh-editor-sidebar{gap:var(--mesh-editor-gap);flex-direction:column;align-self:stretch;height:100%;min-height:0;display:flex;overflow:hidden auto}.mesh-editor-panel{flex-direction:column;gap:.75rem;width:100%;padding:1rem;display:flex}.mesh-editor-panel--compact{gap:.9rem;min-height:0;max-height:100%;padding:0 .9rem .9rem}.mesh-editor-panel--compact .mesh-editor-mode-select{flex:none}.mesh-editor-panel__tools-body{overscroll-behavior:contain;flex-direction:column;flex:1;gap:.9rem;min-height:0;padding-right:.25rem;display:flex;overflow:hidden auto}.mesh-editor-panel__label{letter-spacing:.08em;text-transform:uppercase;color:var(--primary);font-size:.72rem}.mesh-editor-panel__hint{color:var(--on-surface-variant);font-size:.74rem}.mesh-editor-panel__input{border-radius:var(--radius-md);background:var(--surface-container-high);width:100%;min-width:0;max-width:100%;min-height:38px;color:var(--on-surface);border:1px solid #47484a2e;padding:.65rem .8rem}.mesh-editor-panel__select{appearance:none}.mesh-editor-panel__textarea{resize:vertical;min-height:92px}.mesh-editor-panel__section{flex-direction:column;gap:.7rem;display:flex}.mesh-editor-panel__section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--on-surface-variant);font-size:.72rem}.mesh-editor-panel__notes{flex-direction:column;gap:.45rem;display:flex}.mesh-editor-mode-select{position:relative}.mesh-editor-mode-trigger{border-radius:var(--radius-md);background:var(--surface-container-high);width:100%;min-height:42px;color:var(--on-surface);text-align:left;cursor:pointer;transition:background var(--transition-base), color var(--transition-base), border-color var(--transition-base);border:1px solid #47484a47;align-items:center;gap:.55rem;padding:.55rem .7rem;font-size:.85rem;display:flex}.mesh-editor-mode-trigger:hover,.mesh-editor-mode-trigger--open{color:var(--primary);border-color:#8ff5ff73}.mesh-editor-mode-trigger .material-symbols-outlined{font-size:1.15rem}.mesh-editor-mode-trigger__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.mesh-editor-mode-trigger__chevron{color:var(--on-surface-variant)}.mesh-editor-mode-popover{z-index:900;border:1px solid var(--outline-variant,#2a2a30);border-radius:var(--radius-lg,12px);background:var(--surface-container,#1e1e22);overscroll-behavior:contain;flex-direction:column;gap:.75rem;padding:.75rem;display:flex;position:fixed;overflow-y:auto;box-shadow:0 12px 32px #00000073}.mesh-editor-mode-popover__group{flex-direction:column;gap:.45rem;display:flex}.mesh-editor-mode-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.mesh-editor-mode-btn,.mesh-editor-icon-btn{border-radius:var(--radius-md);background:var(--surface-container-high);min-height:42px;color:var(--on-surface-variant);cursor:pointer;transition:background var(--transition-base), color var(--transition-base), opacity var(--transition-base), transform var(--transition-base);border:none;justify-content:center;align-items:center;gap:.4rem;padding:.65rem .75rem;display:flex}.mesh-editor-mode-btn{flex-direction:column;font-size:.76rem}.mesh-editor-mode-btn .material-symbols-outlined,.mesh-editor-icon-btn .material-symbols-outlined{font-size:1.15rem}.mesh-editor-mode-btn--active,.mesh-editor-icon-btn--active{color:var(--primary);background:#8ff5ff24}.mesh-editor-icon-grid{gap:.55rem;display:grid}.mesh-editor-icon-grid--double{grid-template-columns:repeat(2,minmax(0,1fr))}.mesh-editor-icon-btn{text-align:center;flex-direction:column;font-size:.75rem}.mesh-editor-range-field,.mesh-editor-workflow-field{color:var(--on-surface-variant);flex-direction:column;gap:.4rem;font-size:.78rem;display:flex}.mesh-editor-workflow-field--checkbox{flex-direction:row;align-items:center;gap:.5rem}.mesh-editor-workflow-field--checkbox input{order:-1;margin:0}.mesh-editor-range-field strong{color:var(--on-surface);font-size:.76rem}.mesh-editor-range-field input[type=range]{width:100%}.mesh-editor-texture-workflow-meta{color:var(--on-surface-variant);flex-direction:column;gap:.25rem;font-size:.74rem;display:flex}.mesh-editor-patch-preview{border-radius:var(--radius-md);background:#8ff5ff0d;border:1px solid #8ff5ff38;flex-direction:column;gap:.75rem;padding:.85rem;animation:.18s patch-preview-in;display:flex}@keyframes patch-preview-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.mesh-editor-patch-preview__title{align-items:center;gap:.4rem;display:flex;color:var(--primary)!important}.mesh-editor-patch-preview__title .material-symbols-outlined{font-size:1rem}.mesh-editor-patch-preview__actions{flex-wrap:nowrap!important}.mesh-editor-patch-preview__actions .mesh-editor-btn{flex:1}.mesh-editor-range-field__sub{opacity:.7;font-size:.7rem;font-style:normal}.mesh-editor-tool-progress{flex-direction:column;gap:.4rem;margin-top:.5rem;display:flex}.mesh-editor-tool-progress__head{color:var(--on-surface-variant);justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.76rem;display:flex}.mesh-editor-tool-progress__head strong{color:var(--on-surface)}.mesh-editor-tool-progress__track{background:#8ff5ff26;border-radius:999px;width:100%;height:6px;overflow:hidden}.mesh-editor-tool-progress__fill{background:var(--primary);border-radius:999px;height:100%;transition:width .2s}.mesh-editor-bake-grid{grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:.5rem;display:grid}.mesh-editor-bake-map{flex-direction:column;gap:.25rem;margin:0;display:flex}.mesh-editor-bake-map img{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-md);background:#111;border:1px solid #47484a47;width:100%;display:block}.mesh-editor-bake-map figcaption{color:var(--on-surface-variant);text-align:center;font-size:.68rem;line-height:1.25}.mesh-editor-lod-table{flex-direction:column;gap:.3rem;display:flex}.mesh-editor-lod-row{color:var(--on-surface-variant);grid-template-columns:auto 3.2em 1fr auto;align-items:center;gap:.5rem;font-size:.76rem;display:grid}.mesh-editor-lod-row__name{color:var(--on-surface);font-weight:600}.mesh-editor-lod-row__ratio{text-align:right;opacity:.75}.mesh-editor-lod-row__count{color:var(--on-surface);white-space:nowrap;justify-content:flex-end;align-items:center;gap:.25rem;display:flex}.mesh-editor-lod-row__warn{color:#e0a030;font-size:.95rem}.mesh-editor-lod-row__apply{border-radius:var(--radius-md);color:var(--primary);cursor:pointer;background:0 0;border:1px solid #8ff5ff47;min-width:4.6em;padding:.25rem .6rem;font-size:.72rem}.mesh-editor-lod-row__apply:hover:not(:disabled){background:#8ff5ff1f}.mesh-editor-lod-row__apply:disabled{opacity:.45;cursor:default;color:var(--on-surface-variant);border-color:#47484a47}.mesh-editor-check-summary{border-radius:var(--radius-md);background:var(--surface-container-high);color:var(--on-surface);border:1px solid;align-items:center;gap:.5rem;padding:.6rem .7rem;font-size:.78rem;display:flex}.mesh-editor-check-row{align-items:flex-start;gap:.5rem;display:flex}.mesh-editor-check-row__icon{flex:none;font-size:1.05rem;line-height:1.4}.mesh-editor-check-row__body{flex-direction:column;flex:auto;gap:.2rem;min-width:0;display:flex}.mesh-editor-check-row__head{justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.78rem;display:flex}.mesh-editor-check-row__label{color:var(--on-surface-variant)}.mesh-editor-check-row__value{color:var(--on-surface);text-align:right;overflow-wrap:anywhere}.mesh-editor-check-row__detail{color:var(--on-surface-variant);opacity:.85;font-size:.72rem;line-height:1.35}.mesh-editor-check-row__fix{border-radius:var(--radius-md);color:var(--primary);cursor:pointer;background:0 0;border:1px solid #8ff5ff47;align-self:flex-start;align-items:center;gap:.3rem;margin-top:.15rem;padding:.28rem .55rem;font-size:.72rem;display:inline-flex}.mesh-editor-check-row__fix:hover:not(:disabled){background:#8ff5ff1f}.mesh-editor-check-row__fix:disabled{opacity:.5;cursor:not-allowed}.mesh-editor-check-row__fix .material-symbols-outlined{font-size:.95rem}.mesh-editor-toggle-group,.mesh-editor-actions{display:center;flex-wrap:wrap;gap:.65rem}.mesh-editor-actions--column{flex-direction:column}.mesh-editor-panel--actions{grid-template-rows:auto minmax(0,1fr);min-height:0;max-height:calc(100vh - 320px);display:grid}.mesh-editor-panel__scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;padding-right:.25rem;overflow-y:auto}.mesh-editor-panel--actions .mesh-editor-actions--column{flex-wrap:nowrap;align-content:flex-start}.mesh-editor-toggle,.mesh-editor-btn{border-radius:var(--radius-md);background:var(--surface-container-high);min-height:38px;color:var(--on-surface-variant);padding:.6rem .8rem}.mesh-editor-toggle--active{color:var(--primary);background:#8ff5ff24}.mesh-editor-btn--primary{background:var(--primary);color:var(--on-primary)}.mesh-editor-btn--secondary{color:var(--secondary);background:#ac89ff24}.mesh-editor-btn--danger{color:var(--error);background:#ff716c24}.mesh-editor-btn--danger:hover:not(:disabled){background:#ff716c38}.mesh-editor-btn--ghost{color:var(--on-surface);background:#ffffff0a}.mesh-editor-btn:disabled,.mesh-editor-toggle:disabled,.mesh-editor-mode-btn:disabled,.mesh-editor-icon-btn:disabled{opacity:.45;cursor:not-allowed}.mesh-editor-feedback{color:var(--primary);align-items:center;gap:.45rem;min-height:1.9rem;padding:.25rem .75rem;font-size:.78rem;line-height:1.25;display:flex}.mesh-editor-feedback .material-symbols-outlined{font-size:1rem}.mesh-editor-feedback--error{color:var(--error)}.mesh-editor-canvas-shell{border-radius:var(--radius-xl);background:radial-gradient(circle at top,#8ff5ff14,#0000 42%),linear-gradient(#181a1df5,#101114fa);border:1px solid #47484a2e;flex:1;min-height:620px;max-height:1400px;position:relative;overflow:hidden}.mesh-editor-canvas-shell--texturing{cursor:crosshair}.mesh-editor-selection-box{z-index:3;pointer-events:none;background:#8ff5ff1f;border:1px solid #8ff5ffe6;position:absolute;box-shadow:inset 0 0 0 1px #8ff5ff1f}.mesh-editor-projection-mask{z-index:2;pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity var(--transition-base);mix-blend-mode:screen;position:absolute;inset:0}.mesh-editor-projection-mask--active{opacity:.42}.mesh-editor-canvas-shell canvas{display:block;width:100%!important;height:100%!important}.mesh-editor-empty-state{color:var(--on-surface-variant);place-items:center;gap:.6rem;display:grid;position:absolute;inset:1rem}.mesh-editor-empty-state__icon{color:var(--primary);font-size:2rem}@media (width<=1200px){.mesh-editor-toolbar{flex-direction:column;align-items:flex-start}.mesh-editor-toolbar__group{flex-wrap:wrap;width:100%}.mesh-editor-toolbar__save-panel{min-width:260px}.mesh-editor-toolbar__stats{justify-content:flex-start}.mesh-editor-workspace{grid-template-columns:220px minmax(0,1fr)}}@media (width<=720px){.mesh-editor-page{padding:1rem}.mesh-editor-toolbar,.mesh-editor-toolbar__group{flex-direction:column;align-items:flex-start}.mesh-editor-toolbar__name-field{width:100%;min-width:0;max-width:none}.mesh-editor-toolbar__save-panel{width:100%;min-width:0}.mesh-editor-toolbar__save-actions{flex-wrap:wrap}.mesh-editor-workspace{grid-template-columns:1fr}.mesh-editor-panel--actions,.mesh-editor-panel__scroll{max-height:none}.mesh-editor-panel--compact{max-height:none;overflow-y:visible}.mesh-editor-panel__tools-body{padding-right:0;overflow-y:visible}.mesh-editor-canvas-shell{min-height:620px;max-height:1000px}}.mesh-editor-motionpick{background:var(--surface-container,#1e1e22);border:1px solid var(--outline-variant,#2a2a30);border-radius:14px;flex-direction:column;width:min(820px,94vw);height:min(680px,88vh);display:flex;overflow:hidden;box-shadow:0 24px 60px #0000008c}.mesh-editor-motionpick__toolbar{border-bottom:1px solid var(--outline-variant,#2a2a30);align-items:center;gap:.6rem;padding:.75rem 1.25rem;display:flex}.mesh-editor-motionpick__search{flex:1;min-width:0}.mesh-editor-motionpick__count{white-space:nowrap;flex:none}.mesh-editor-motionpick__error{margin:.75rem 1.25rem 0}.mesh-editor-animpick__import{background:#8ff5ff0f;border:1px solid #8ff5ff59;border-radius:8px;flex-direction:column;gap:.5rem;margin:0 .75rem;padding:.6rem .75rem;display:flex}.mesh-editor-animpick__import-head{color:var(--on-surface);align-items:center;gap:.4rem;font-size:.85rem;display:flex}.mesh-editor-animpick__import-clips{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.25rem;max-height:30vh;display:grid;overflow-y:auto}.mesh-editor-animpick__clip{color:var(--on-surface-variant);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:.35rem;padding:.25rem .4rem;font-size:.78rem;display:flex}.mesh-editor-animpick__clip:hover{background:#ffffff0d}.mesh-editor-animpick__clip--on{color:var(--on-surface)}.mesh-editor-animpick__clip-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.mesh-editor-animpick__clip .material-symbols-outlined{font-size:1rem}.mesh-editor-animpick__import-actions{gap:.4rem;display:flex}.mesh-editor-motionpick__list{flex-direction:column;flex:1;gap:3px;min-height:0;padding:.5rem 1.25rem;display:flex;overflow-y:auto}.mesh-editor-motionpick__row{cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff08;border:1px solid #0000;border-radius:9px;align-items:center;gap:.7rem;padding:.5rem .7rem;display:flex}.mesh-editor-motionpick__row:hover{background:#ffffff12}.mesh-editor-motionpick__row:focus-visible{outline:2px solid var(--primary,#ac89ff);outline-offset:1px}.mesh-editor-motionpick__row--on{background:#ac89ff24;border-color:#ac89ff73}.mesh-editor-motionpick__check{opacity:.85;flex:none;font-size:1.2em}.mesh-editor-motionpick__row--on .mesh-editor-motionpick__check{color:var(--primary,#ac89ff);opacity:1}.mesh-editor-motionpick__text{flex-direction:column;flex:1;min-width:0;display:flex}.mesh-editor-motionpick__name,.mesh-editor-motionpick__prompt{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mesh-editor-motionpick__name{color:var(--on-surface,#e8eaf0);font-size:.85rem}.mesh-editor-motionpick__prompt{opacity:.6;font-size:.74rem}.mesh-editor-motionpick__meta{opacity:.6;white-space:nowrap;flex:none;font-size:.72rem}.mesh-editor-motionpick__play{width:30px;height:30px;color:var(--on-surface,#e8eaf0);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;flex:none;place-items:center;display:grid}.mesh-editor-motionpick__play:hover:not(:disabled){background:#ac89ff33;border-color:#ac89ff80}.mesh-editor-motionpick__play:disabled{opacity:.4;cursor:default}.mesh-editor-motionpick__danger{color:#fecaca;background:#f8717140;border-color:#f87171}:root{--mesh-editor-anim-dock-height:360px}.mesh-editor-viewport{gap:var(--mesh-editor-gap);flex-direction:column;align-self:stretch;min-width:0;height:100%;min-height:0;display:flex}.mesh-editor-anim-dock{height:var(--mesh-editor-anim-dock-height);border-radius:var(--radius-xl);color:var(--on-surface-variant);background:#121315eb;border:1px solid #47484a2e;flex-direction:column;gap:.5rem;padding:.6rem .8rem;display:flex;position:relative;overflow:hidden}.mesh-editor-anim-dock__head{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.mesh-editor-anim-dock__title{color:var(--on-surface);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.35rem;max-width:22rem;font-size:.85rem;font-weight:700;display:inline-flex;overflow:hidden}.mesh-editor-anim-dock__title .material-symbols-outlined{color:#8ff5ff;font-size:1.1rem}.mesh-editor-anim-dock__badge{color:#8ff5ff;background:#8ff5ff1f;border:1px solid #8ff5ff66;border-radius:6px;padding:.1rem .4rem;font-size:.7rem;font-weight:700}.mesh-editor-anim-dock__badge--warn{color:#e0a030;background:#e0a0301f;border-color:#e0a03066}.mesh-editor-anim-dock__transport{align-items:center;gap:.3rem;margin-left:auto;display:inline-flex}.mesh-editor-anim-dock__head-actions{align-items:center;gap:.3rem;display:inline-flex}.mesh-editor-anim-dock__save{align-items:center;gap:.25rem;display:inline-flex}.mesh-editor-anim-dock__save input{width:11rem}.mesh-editor-anim-dock__save-message{align-items:center;gap:.4rem;margin:0 .6rem .35rem;font-size:.82rem;display:flex}.mesh-editor-anim-dock__save-message .mesh-editor-anim__search-clear{margin-left:auto}.mesh-editor-anim-dock__frame{text-align:right;width:5rem}.mesh-editor-anim-dock__scrub-row{align-items:center;gap:.5rem;display:flex}.mesh-editor-anim-dock__scrub{accent-color:#8ff5ff;flex:1;min-width:0}.mesh-editor-anim-dock__seam input{text-align:center;width:3.4rem}.mesh-editor-anim-dock__frame-ops{border-left:1px solid var(--outline-variant,#2a2a30);align-items:center;gap:.2rem;padding-left:.4rem;display:inline-flex}.mesh-editor-anim-dock__body{flex:1;grid-template-columns:minmax(0,1fr) 380px;align-items:stretch;gap:.7rem;min-height:0;display:grid}:root{--anim-sheet-row-h:20px}.mesh-editor-anim-sheet{flex-direction:column;gap:.35rem;min-width:0;min-height:0;display:flex}.mesh-editor-anim-sheet__toolbar{flex-wrap:nowrap;align-items:center;gap:.4rem;min-width:0;display:flex}.mesh-editor-anim-sheet__toolbar .mesh-editor-anim__search{flex:0 10rem;min-width:4rem}.mesh-editor-anim-sheet__selection{min-width:0;color:var(--on-surface-variant);opacity:.55;white-space:nowrap;text-overflow:ellipsis;flex:0 auto;font-size:.72rem;overflow:hidden}.mesh-editor-anim-sheet__selection--on{opacity:1;color:#8ff5ff}.mesh-editor-anim-sheet__zoom{flex:none;margin-left:auto}.mesh-editor-anim-sheet__body{background:#090a0c8c;border:1px solid #ffffff14;border-radius:8px;flex:1;grid-template-columns:190px minmax(0,1fr);min-height:100px;display:grid;overflow:hidden}.mesh-editor-anim-sheet__left{border-right:1px solid #ffffff14;flex-direction:column;min-width:0;min-height:0;display:flex}.mesh-editor-anim-sheet__left-head{white-space:nowrap;border-bottom:1px solid #ffffff14;align-items:center;height:22px;padding:0 .4rem;font-size:.68rem;display:flex;overflow:hidden}.mesh-editor-anim-sheet__names{flex:1;min-height:0;overflow:hidden}.mesh-editor-anim-sheet__names-inner{will-change:transform}.mesh-editor-anim-sheet__name{height:var(--anim-sheet-row-h);color:var(--on-surface-variant);white-space:nowrap;cursor:pointer;align-items:center;gap:.2rem;padding:0 .3rem;font-size:.7rem;line-height:1;display:flex}.mesh-editor-anim-sheet__name:hover{color:var(--on-surface);background:#8ff5ff0f}.mesh-editor-anim-sheet__name--selected{color:#8ff5ff;background:#8ff5ff1a}.mesh-editor-anim-sheet__name--idle .mesh-editor-anim-sheet__name-text{opacity:.5;font-style:italic}.mesh-editor-anim-sheet__name--track{cursor:default;opacity:.75;padding-left:.5rem;font-size:.66rem}.mesh-editor-anim-sheet__name-text{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.mesh-editor-anim-sheet__name .material-symbols-outlined{opacity:.7;font-size:.85rem}.mesh-editor-anim-sheet__caret,.mesh-editor-anim-sheet__caret-spacer{width:14px;height:14px;color:inherit;cursor:pointer;background:0 0;border:0;flex:none;padding:0}.mesh-editor-anim-sheet__caret .material-symbols-outlined{font-size:1rem;line-height:14px}.mesh-editor-anim-sheet__row-btn{opacity:0;pointer-events:none;flex:none;width:16px;height:16px;padding:0}.mesh-editor-anim-sheet__row-btn .material-symbols-outlined{font-size:.9rem}.mesh-editor-anim-sheet__name:hover .mesh-editor-anim-sheet__row-btn,.mesh-editor-anim-sheet__name--selected .mesh-editor-anim-sheet__row-btn{opacity:1;pointer-events:auto}.mesh-editor-anim-sheet__right{flex-direction:column;min-width:0;min-height:0;display:flex}.mesh-editor-anim-sheet__ruler{cursor:ew-resize;touch-action:none;border-bottom:1px solid #ffffff14;height:22px}.mesh-editor-anim-sheet__ruler canvas{display:block}.mesh-editor-anim-sheet__grid{outline:none;flex:1;min-height:0;overflow:auto}.mesh-editor-anim-sheet__grid:focus-visible{box-shadow:inset 0 0 0 1px #8ff5ff66}.mesh-editor-anim-sheet__content{position:relative}.mesh-editor-anim-sheet__canvas{cursor:crosshair;touch-action:none;display:block;position:sticky;top:0;left:0}.mesh-editor-anim-dock__editor{flex-direction:column;gap:.45rem;min-width:0;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.mesh-editor-anim-dock__editor-head{color:var(--on-surface);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.mesh-editor-anim-dock__clear{margin-left:.15rem}.mesh-editor-anim-dock__clear:not(:disabled):hover{color:var(--error,#ff6b6b);border-color:#ff6b6b80}.mesh-editor-anim-dock__gizmo{align-items:center;gap:.25rem;margin-left:auto;display:inline-flex}.mesh-editor-anim-dock__gizmo .material-symbols-outlined{font-size:1rem}.mesh-editor-anim-dock__gizmo .mesh-editor-anim-dock__scope{align-items:center;gap:.25rem;display:inline-flex}.mesh-editor-anim-dock__row{flex-wrap:wrap;align-items:flex-end;gap:.5rem;display:flex}.mesh-editor-anim-dock__row-label{min-width:6.5rem;font-size:.78rem;font-weight:600}.mesh-editor-anim-dock__row--scope{align-items:center;margin-top:.2rem}.mesh-editor-anim-dock__axis{align-items:center;gap:.3rem;font-size:.75rem;display:flex}.mesh-editor-anim-dock__axis input{text-align:right;width:6.5rem}.mesh-editor-anim-dock__scope{border:1px solid var(--outline-variant,#2a2a30);background:var(--surface,#141418);color:var(--on-surface-variant);cursor:pointer;border-radius:8px;padding:.3rem .55rem;font-size:.75rem;font-weight:600}.mesh-editor-anim-dock__scope--on{color:#8ff5ff;background:#8ff5ff1a;border-color:#8ff5ff80}.mesh-editor-anim-item__edited{color:#8ff5ff;background:#101114b3;border-radius:50%;padding:2px;font-size:1rem;position:absolute;bottom:4px;left:4px}.mesh-editor-anim-dock__grip{cursor:ns-resize;touch-action:none;height:7px;position:absolute;top:0;left:0;right:0}.mesh-editor-anim-dock__grip:after{content:"";background:#ffffff29;border-radius:2px;width:48px;height:2px;margin-left:-24px;position:absolute;top:2px;left:50%}.mesh-editor-anim-dock__grip:hover:after{background:#8ff5ff99}.mesh-editor-anim-dock__editor .mesh-editor-anim-dock__row-label{min-width:100%;margin-bottom:-.2rem}.mesh-editor-anim-dock__editor .mesh-editor-anim-dock__axis input{width:5rem}.mesh-editor-canvas-shell--docked{min-height:320px}@media (height<=900px){:root{--mesh-editor-anim-dock-height:300px}}@media (width<=700px){.mesh-editor-bonemap__overlay{align-items:flex-start;padding:.5rem;overflow-y:auto}.mesh-editor-bonemap{width:100%;height:auto;max-height:calc(100dvh - 1rem);margin:auto 0}.mesh-editor-bonemap__header,.mesh-editor-bonemap__footer{flex:none;padding:.75rem}.mesh-editor-bonemap__body{flex:1;grid-template-columns:minmax(0,1fr);grid-auto-rows:max-content;align-content:start;gap:.75rem;padding:.75rem;overflow-y:auto}.mesh-editor-bonemap__views{flex:none;height:260px}.mesh-editor-bonemap__arrow{display:none}.mesh-editor-bonemap__col{align-self:start;width:100%;min-height:0;display:flex}.mesh-editor-bonemap__col-head{flex-wrap:wrap;align-items:flex-start}.mesh-editor-bonemap__col-actions{flex-wrap:wrap}.mesh-editor-bonemap__mini-btn{min-height:36px}.mesh-editor-bonemap__list{flex:none;height:min(35dvh,280px);min-height:120px;max-height:280px}.mesh-editor-bonemap__footer{flex-direction:column;align-items:stretch;gap:.5rem}.mesh-editor-bonemap__footer-actions{width:100%}.mesh-editor-bonemap__footer-actions>button{flex:1;justify-content:center}.mesh-editor-layout{height:auto;min-height:100dvh;overflow:visible}.mesh-editor-page{flex:none;min-height:0;padding:.35rem;overflow:visible}.mesh-editor-workspace,.mesh-editor-workspace--with-layers,.mesh-editor-workspace--with-skeleton{flex-direction:column;flex:none;align-items:stretch;display:flex}.mesh-editor-sidebar{flex:none;height:auto;min-height:0}.mesh-editor-viewport{flex:none;height:min(56vh,520px);min-height:320px}.mesh-editor-canvas-shell,.mesh-editor-canvas-shell--docked{flex:none;height:100%;min-height:320px;max-height:520px}.mesh-editor-layers-panel{max-height:none}}.image-editor-layout{flex-direction:column;min-height:100vh;display:flex}.image-editor-page{background:var(--background);flex:1;min-height:0;padding:1.25rem}.image-editor-shell{flex-direction:column;gap:1rem;width:100%;margin:0 auto;display:flex}.image-editor-toolbar,.image-editor-feedback,.image-editor-tools,.image-editor-canvas-shell,.image-editor-layers-panel{border-radius:var(--radius-xl);background:#121315eb;border:1px solid #47484a2e}.image-editor-toolbar{justify-content:space-between;align-items:center;gap:1rem;padding:.65rem .9rem;display:flex}.image-editor-toolbar__left{align-items:center;gap:.9rem;min-width:0;display:flex}.image-editor-toolbar__right{align-items:center;gap:.6rem;display:flex}.image-editor-title{margin:0;font-size:1.15rem}.image-editor-subtitle{color:var(--on-surface-variant);text-overflow:ellipsis;white-space:nowrap;max-width:50vw;margin:.2rem 0 0;font-size:.8rem;overflow:hidden}.image-editor-toolbar__name-field{flex-direction:column;gap:.25rem;min-width:180px;display:flex}.image-editor-toolbar__name-label{color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.image-editor-toolbar__name-input{width:100%;color:var(--on-surface);background:#0d0e10b3;border:1px solid #47484a4d;border-radius:9px;padding:.46rem .6rem;font-size:.85rem}.image-editor-feedback{color:var(--on-surface-variant);align-items:center;gap:.5rem;padding:.6rem .85rem;font-size:.86rem;display:flex}.image-editor-workspace{grid-template-columns:300px minmax(0,1fr) 320px;gap:1rem;height:min(74vh,900px);min-height:min(74vh,900px);display:grid;overflow:hidden}.image-editor-tools{flex-direction:column;gap:.75rem;min-height:0;max-height:100%;padding:1rem;display:flex;overflow:hidden auto}.image-editor-tools__group{flex-direction:column;gap:.4rem;display:flex}.image-editor-tools__group-title{letter-spacing:.08em;text-transform:uppercase;color:var(--on-surface-variant);margin:0;font-size:.85rem}.image-editor-tools__item{color:var(--on-surface);cursor:pointer;text-align:left;background:#8ff5ff08;border:1px solid #8ff5ff1f;border-radius:10px;align-items:center;gap:.5rem;padding:.55rem .7rem;display:inline-flex}.image-editor-tools__item:hover{background:#8ff5ff14}.image-editor-tools__item--active{color:var(--primary);background:#8ff5ff26;border-color:#8ff5ff59}.image-editor-controls{border-top:1px solid #47484a33;flex-direction:column;gap:.65rem;padding-top:.8rem;display:flex}.image-editor-controls--nested{border-top:none;margin-top:-.2rem;padding-top:0}.image-editor-ai-input{gap:.45rem}.image-editor-ai-row{justify-content:space-between;align-items:center;gap:.55rem;display:flex}.image-editor-ai-row .image-editor-help{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.image-editor-label{color:var(--on-surface-variant);flex-direction:column;gap:.3rem;font-size:.78rem;display:flex}.image-editor-label--checkbox{flex-direction:row;align-items:center;gap:.5rem}.image-editor-input{width:100%;color:var(--on-surface);background:#0d0e10b3;border:1px solid #47484a4d;border-radius:9px;padding:.46rem .6rem}.image-editor-input--color{min-height:38px;padding:.2rem}.image-editor-toggle-row{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.image-editor-toggle{color:var(--on-surface);cursor:pointer;background:#ffffff0a;border:1px solid #47484a47;border-radius:9px;padding:.45rem .55rem}.image-editor-toggle--active{color:var(--primary);background:#8ff5ff24;border-color:#8ff5ff57}.image-editor-help{color:var(--on-surface-variant);margin:0;font-size:.75rem}.image-editor-btn{color:var(--on-surface);cursor:pointer;background:#ffffff0d;border:1px solid #47484a47;border-radius:9px;justify-content:center;align-items:center;gap:.35rem;padding:.5rem .7rem;display:inline-flex}.image-editor-btn--primary{color:var(--primary);background:#8ff5ff29;border-color:#8ff5ff4d}.image-editor-btn--danger{color:var(--error);background:#ff716c1a;border-color:#ff716c47}.image-editor-btn--danger:hover:not(:disabled){background:#ff716c2e}.image-editor-btn:disabled{opacity:.45;cursor:not-allowed}.image-editor-hidden-file{display:none}.image-editor-canvas-shell{cursor:default;overscroll-behavior:contain;background-image:linear-gradient(45deg,#ffffff06 25%,#0000 25%),linear-gradient(-45deg,#ffffff06 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#ffffff06 75%),linear-gradient(-45deg,#0000 75%,#ffffff06 75%);background-position:0 0,0 11px,11px -11px,-11px 0;background-size:22px 22px;justify-content:center;align-items:center;min-height:0;padding:1rem;display:flex;position:relative;overflow:auto}.image-editor-zoom-controls{z-index:4;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0d0e10d1;border:1px solid #47484a59;border-radius:10px;align-items:center;gap:.45rem;padding:.35rem;display:inline-flex;position:absolute;top:.75rem;left:.75rem}.image-editor-zoom-label{text-align:right;min-width:52px;color:var(--on-surface-variant);font-size:.74rem}.image-editor-canvas{touch-action:none;cursor:crosshair;will-change:transform;background-color:#2b2d31;background-image:linear-gradient(45deg,#ffffff17 25%,#0000 25%),linear-gradient(-45deg,#ffffff17 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#ffffff17 75%),linear-gradient(-45deg,#0000 75%,#ffffff17 75%);background-position:0 0,0 9px,9px -9px,-9px 0;background-size:18px 18px;border:1px solid #8ff5ff33;border-radius:12px;width:auto;max-width:100%;height:auto;max-height:min(70vh,820px)}.image-editor-cursor-preview{pointer-events:none;z-index:3;background:#8ff5ff1f;border:1px solid #8ff5fff2;border-radius:999px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0d0e108c}.image-editor-cursor-preview--mask{background:#8ff5ff2e;border-color:#8ff5fff2}.image-editor-loading{color:var(--on-surface-variant);flex-direction:column;align-items:center;gap:.55rem;display:inline-flex}.image-editor-spinner{animation:.95s linear infinite image-editor-spin}.image-editor-layers-panel{flex-direction:column;gap:.75rem;min-height:0;padding:1rem;display:flex}.image-editor-layers-panel__header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.image-editor-layers-panel__title{font-size:.95rem;font-weight:600}.image-editor-layer-btn{color:var(--on-surface-variant);cursor:pointer;background:#ffffff0d;border:1px solid #47484a47;border-radius:7px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.image-editor-layers-panel__list{flex-direction:column;gap:.55rem;min-height:0;display:flex;overflow-y:auto}.image-editor-layers-panel__empty{color:var(--on-surface-variant);font-size:.8rem}.image-editor-layer-card{background:#0d0e10b8;border:1px solid #47484a40;border-radius:9px;flex-direction:column;gap:.45rem;padding:.55rem;display:flex}.image-editor-layer-card--selected{border-color:#8ff5ff73;box-shadow:inset 0 0 0 1px #8ff5ff3d}.image-editor-layer-card__header{align-items:center;gap:.35rem;display:flex}.image-editor-layer-card__radio{margin:0}.image-editor-layer-card__name{min-width:0;color:var(--on-surface);background:0 0;border:none;flex:1}.image-editor-layer-card__icon-btn{color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;display:inline-flex}.image-editor-layer-card__icon-btn:hover:not(:disabled){background:#ffffff0f}.image-editor-layer-card__icon-btn:disabled{opacity:.35;cursor:not-allowed}.image-editor-layer-card__row{color:var(--on-surface-variant);grid-template-columns:64px minmax(0,1fr);align-items:center;gap:.35rem;font-size:.76rem;display:grid}.image-editor-layer-card__row select,.image-editor-layer-card__row input[type=range]{width:100%}.image-editor-layer-card__row select{color:var(--on-surface);background-color:var(--surface-container)}@keyframes image-editor-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=1280px){.image-editor-workspace{grid-template-columns:270px minmax(0,1fr)}.image-editor-layers-panel{grid-column:1/-1;max-height:320px}}@media (width<=900px){.image-editor-page{padding:.9rem}.image-editor-workspace{grid-template-columns:1fr;height:auto;min-height:auto}.image-editor-toolbar{flex-direction:column;align-items:flex-start}.image-editor-toolbar__left,.image-editor-toolbar__right{width:100%}.image-editor-subtitle{max-width:100%}}.image-editor-side{flex-direction:column;gap:1rem;min-height:0;display:flex;overflow:hidden}.image-editor-side>.image-editor-layers-panel{flex:auto;min-height:120px}.seamless-preview-panel{border-radius:var(--radius-xl);background:#121315eb;border:1px solid #47484a2e;flex-direction:column;flex:none;gap:.6rem;padding:1rem;display:flex}.seamless-preview-panel__header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.seamless-preview-panel__title{font-size:.95rem;font-weight:600}.seamless-preview{grid-template-columns:1fr 1fr;gap:8px;display:grid}.seamless-preview figure{flex-direction:column;gap:4px;margin:0;display:flex}.seamless-preview canvas{aspect-ratio:1;border:1px solid var(--outline-variant);background:var(--surface-container);image-rendering:auto;border-radius:4px;width:100%;height:auto}.seamless-preview figcaption{color:var(--on-surface-variant);text-align:center;font-size:11px}.seamless-verdict[data-verdict=invisible],.seamless-verdict[data-verdict=even]{color:#3fbf7f}.seamless-verdict[data-verdict=faint],.seamless-verdict[data-verdict=slight\ banding]{color:#c9b458}.seamless-verdict[data-verdict=visible],.seamless-verdict[data-verdict=banding]{color:#e08b4a}.seamless-verdict[data-verdict=obvious],.seamless-verdict[data-verdict=strong\ banding]{color:#e5484d}.seamless-hint{color:var(--on-surface-variant);margin:0;font-size:11px;line-height:1.4}.seamless-warn{color:#e08b4a;font-weight:500}.seamless-group{border-left:2px solid #8ff5ff38;flex-direction:column;gap:.55rem;padding-left:.6rem;display:flex}.seamless-seed{align-items:flex-end;gap:.4rem;display:flex}.seamless-seed .image-editor-label{flex:1;min-width:0}.seamless-seed .image-editor-btn{flex:none;padding:.3rem .5rem;line-height:1.2}.image-editor-toggle{color:var(--on-surface);cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.excalidraw .Spinner{--spinner-color:var(--icon-fill-color);justify-content:center;align-items:center;height:100%;margin-left:auto;margin-right:auto;display:flex}.excalidraw .Spinner svg{animation:1.6s linear infinite rotate;animation-delay:var(--spinner-delay);transform-origin:50%}.excalidraw .Spinner circle{stroke:var(--spinner-color);stroke-linecap:round;animation:1.6s linear infinite dash}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1 300;stroke-dashoffset:0}50%{stroke-dasharray:150 300;stroke-dashoffset:-200px}to{stroke-dasharray:1 300;stroke-dashoffset:-280px}}.excalidraw .ToolIcon{border-radius:var(--border-radius-lg);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;align-items:center;display:inline-flex;position:relative}.excalidraw .ToolIcon__hidden{display:none!important}.excalidraw .ToolIcon.fillable .ToolIcon_type_radio:checked+.ToolIcon__icon,.excalidraw .ToolIcon.fillable .ToolIcon_type_checkbox:checked+.ToolIcon__icon{--icon-fill-color:var(--color-on-primary-container)}.excalidraw .ToolIcon.fillable .ToolIcon_type_radio:checked+.ToolIcon__icon svg,.excalidraw .ToolIcon.fillable .ToolIcon_type_checkbox:checked+.ToolIcon__icon svg{fill:var(--icon-fill-color)}.excalidraw .ToolIcon .ToolIcon_type_radio:checked+.ToolIcon__icon,.excalidraw .ToolIcon .ToolIcon_type_checkbox:checked+.ToolIcon__icon{background:var(--color-surface-primary-container);--keybinding-color:var(--color-on-primary-container)}.excalidraw .ToolIcon .ToolIcon_type_radio:checked+.ToolIcon__icon svg,.excalidraw .ToolIcon .ToolIcon_type_checkbox:checked+.ToolIcon__icon svg{color:var(--color-on-primary-container)}.excalidraw .ToolIcon .ToolIcon__keybinding{bottom:4px;right:4px}.excalidraw .ToolIcon .ToolIcon__icon:hover{background:var(--button-hover-bg)}.excalidraw .ToolIcon .ToolIcon__icon:active{background:var(--button-hover-bg);border:1px solid var(--button-active-border)}.excalidraw .ToolIcon .ToolIcon__icon:active svg{color:var(--color-on-primary-container)}.excalidraw .ToolIcon .ToolIcon__icon[aria-disabled=true]{background:initial;border:none}.excalidraw .ToolIcon .ToolIcon__icon[aria-disabled=true] svg{color:var(--color-disabled)}.excalidraw .ToolIcon--plain{background-color:#0000}.excalidraw .ToolIcon--plain .ToolIcon__icon{width:2rem;height:2rem}.excalidraw .ToolIcon_type_radio,.excalidraw .ToolIcon_type_checkbox{opacity:0;pointer-events:none;position:absolute}.excalidraw .ToolIcon__icon{box-sizing:border-box;width:var(--default-button-size);height:var(--default-button-size);color:var(--icon-fill-color);border-radius:var(--border-radius-lg);justify-content:center;align-items:center;display:flex}.excalidraw .ToolIcon__icon+.ToolIcon__label{margin-inline-start:0}.excalidraw .ToolIcon__icon svg{width:var(--default-icon-size);height:var(--default-icon-size);color:var(--icon-fill-color);position:relative}.excalidraw .ToolIcon__label{color:var(--icon-fill-color);font-family:var(--ui-font);text-overflow:ellipsis;align-items:center;margin:0 .8em;display:flex}.excalidraw .ToolIcon__label .Spinner{margin-left:.6em}.excalidraw .ToolIcon_size_small .ToolIcon__icon{width:2rem;height:2rem;font-size:.8em}.excalidraw .ToolIcon_type_button,.excalidraw .Modal .ToolIcon_type_button{font-size:inherit;background-color:initial;border:none;margin:0;padding:0}.excalidraw .ToolIcon_type_button:focus-visible,.excalidraw .Modal .ToolIcon_type_button:focus-visible{box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw .ToolIcon_type_button.ToolIcon--selected,.excalidraw .Modal .ToolIcon_type_button.ToolIcon--selected{background-color:var(--button-gray-2)}.excalidraw .ToolIcon_type_button.ToolIcon--selected:active,.excalidraw .Modal .ToolIcon_type_button.ToolIcon--selected:active,.excalidraw .ToolIcon_type_button:active,.excalidraw .Modal .ToolIcon_type_button:active{background-color:var(--button-gray-3)}.excalidraw .ToolIcon_type_button:disabled,.excalidraw .Modal .ToolIcon_type_button:disabled{cursor:default}.excalidraw .ToolIcon_type_button:disabled:active,.excalidraw .ToolIcon_type_button:disabled:focus-visible,.excalidraw .ToolIcon_type_button:disabled:hover,.excalidraw .Modal .ToolIcon_type_button:disabled:active,.excalidraw .Modal .ToolIcon_type_button:disabled:focus-visible,.excalidraw .Modal .ToolIcon_type_button:disabled:hover{background-color:initial;box-shadow:none;border:none}.excalidraw .ToolIcon_type_button:disabled svg,.excalidraw .Modal .ToolIcon_type_button:disabled svg{color:var(--color-disabled)}.excalidraw .ToolIcon_type_button--show,.excalidraw .Modal .ToolIcon_type_button--show{visibility:visible}.excalidraw .ToolIcon_type_button--hide,.excalidraw .Modal .ToolIcon_type_button--hide{display:none!important}.excalidraw .ToolIcon_type_floating,.excalidraw .ToolIcon_type_floating:hover,.excalidraw .ToolIcon_type_floating:active{background-color:#0000}.excalidraw .ToolIcon_type_floating .ToolIcon__icon{background-color:var(--button-gray-1);width:2rem;height:2rem}.excalidraw .ToolIcon_type_floating .ToolIcon__icon:hover{background-color:var(--button-gray-2)}.excalidraw .ToolIcon_type_floating .ToolIcon__icon:active{background-color:var(--button-gray-3)}.excalidraw .ToolIcon__keybinding{color:var(--keybinding-color);font-size:.625rem;font-family:var(--ui-font);-webkit-user-select:none;user-select:none;position:absolute;bottom:2px;right:3px}:root[dir=ltr] .excalidraw .unlocked-icon{left:2px}:root[dir=rtl] .excalidraw .unlocked-icon{right:2px}.excalidraw .App-toolbar-container .ToolIcon__icon{width:var(--lg-button-size);height:var(--lg-button-size)}@media screen and (width<=450px){.excalidraw .App-toolbar-container .ToolIcon__icon{width:1.8rem;height:1.8rem}}@media screen and (width<=379px){.excalidraw .App-toolbar-container .ToolIcon__icon{width:1.5rem;height:1.5rem}}.excalidraw .App-toolbar-container .ToolIcon__icon svg{width:var(--lg-icon-size);height:var(--lg-icon-size)}.excalidraw .App-toolbar-container .ToolIcon__LaserPointer .ToolIcon__icon,.excalidraw .App-toolbar-container .ToolIcon__MagicButton .ToolIcon__icon{width:var(--default-button-size);height:var(--default-button-size)}.excalidraw button.standalone{width:var(--button-width,var(--default-button-size));height:var(--button-height,var(--default-button-size));box-sizing:border-box;border-style:solid;border-width:1px;border-color:var(--button-border,var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg,var(--island-bg-color));color:var(--button-color,var(--color-on-surface));font-family:var(--ui-font);justify-content:center;align-items:center;padding:0;display:flex}.excalidraw button.standalone:hover{background-color:var(--button-hover-bg,var(--island-bg-color));border-color:var(--button-hover-border,var(--button-border,var(--default-border-color)));color:var(--button-hover-color,var(--button-color,var(--text-primary-color,inherit)))}.excalidraw button.standalone:active{background-color:var(--button-active-bg,var(--island-bg-color));border-color:var(--button-active-border,var(--color-primary-darkest))}.excalidraw button.standalone.active{background-color:var(--button-selected-bg,var(--color-surface-primary-container));border-color:var(--button-selected-border,var(--color-surface-primary-container))}.excalidraw button.standalone.active:hover{background-color:var(--button-selected-hover-bg,var(--color-surface-primary-container))}.excalidraw button.standalone.active svg{color:var(--button-color,var(--color-on-primary-container))}.excalidraw button.standalone svg{width:var(--default-icon-size);height:var(--default-icon-size)}.excalidraw button.standalone>*{pointer-events:none}.excalidraw .excalidraw-eye-dropper-container,.excalidraw .excalidraw-eye-dropper-backdrop{width:100%;height:100%;z-index:var(--zIndex-eyeDropperBackdrop);touch-action:none;position:absolute}.excalidraw .excalidraw-eye-dropper-container{pointer-events:none}.excalidraw .excalidraw-eye-dropper-backdrop{pointer-events:all}.excalidraw .excalidraw-eye-dropper-preview{pointer-events:none;width:3rem;height:3rem;z-index:var(--zIndex-eyeDropperPreview);border:1px solid var(--default-border-color);filter:var(--theme-filter);border-radius:1rem;position:fixed}.excalidraw .excalidraw-eye-dropper-trigger{cursor:pointer;width:1.25rem;height:1.25rem;color:var(--icon-fill-color);border-radius:.5rem;margin-left:-2px;margin-right:-4px;padding:4px}.excalidraw .excalidraw-eye-dropper-trigger:hover{background:var(--button-hover-bg)}.excalidraw .excalidraw-eye-dropper-trigger.selected{color:var(--color-primary);background:var(--color-primary-light)}.excalidraw .Island{--padding:0;box-sizing:border-box;background-color:var(--island-bg-color);box-shadow:var(--shadow-island);border-radius:var(--border-radius-lg);padding:calc(var(--padding) * var(--space-factor));transition:box-shadow .5s ease-in-out;position:relative}.excalidraw .Island.zen-mode{box-shadow:none}.excalidraw .focus-visible-none:focus-visible{outline:none!important}.excalidraw .color-picker__heading{text-align:left;padding:0 .5rem;font-size:.75rem}.excalidraw .color-picker-container{grid-template-columns:1fr 20px 1.625rem;align-items:center;padding:.25rem 0;display:grid}.excalidraw--mobile.excalidraw .color-picker-container{max-width:11rem}.excalidraw .color-picker__top-picks{justify-content:space-between;display:flex}.excalidraw .color-picker__button{--radius:.25rem;border:1px solid var(--color-gray-30);border-radius:var(--radius);width:1.35rem;height:1.35rem;filter:var(--theme-filter);background-color:var(--swatch-color);box-sizing:border-box;background-position:0;margin:0;padding:0;font-family:inherit;position:relative}.excalidraw .color-picker__button:hover:after{content:"";box-shadow:0 0 0 1px var(--color-gray-30);border-radius:calc(var(--radius) + 1px);filter:var(--theme-filter);position:absolute;inset:-2px}.excalidraw .color-picker__button.active .color-picker__button-outline{box-shadow:0 0 0 1px var(--color-primary-darkest);z-index:1;border-radius:calc(var(--radius) + 1px);filter:var(--theme-filter);position:absolute;inset:-2px}.excalidraw .color-picker__button:focus-visible{outline:none}.excalidraw .color-picker__button:focus-visible:after{content:"";border:3px solid var(--focus-highlight-color);border-radius:calc(var(--radius) + 1px);position:absolute;inset:-4px}.excalidraw .color-picker__button:focus-visible.active .color-picker__button-outline{display:none}.excalidraw .color-picker__button--large{--radius:.5rem;width:1.875rem;height:1.875rem}.excalidraw .color-picker__button.is-transparent{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==)}.excalidraw .color-picker__button--no-focus-visible{border:0}.excalidraw .color-picker__button--no-focus-visible:after{display:none}.excalidraw .color-picker__button--no-focus-visible:focus-visible{outline:none!important}.excalidraw .color-picker__button.active-color{border-radius:calc(var(--radius) + 1px);width:1.625rem;height:1.625rem}.excalidraw .color-picker__button__hotkey-label{filter:none;font-size:11px;position:absolute;bottom:4px;right:4px}.excalidraw .color-picker{background:var(--popup-bg-color);border:0 solid #ffffff40;border-radius:4px;position:absolute;box-shadow:0 1px 4px #00000040}:root[dir=ltr] .excalidraw .color-picker{left:-5.5px}:root[dir=rtl] .excalidraw .color-picker{right:-5.5px}.excalidraw .color-picker-control-container{grid-template-columns:auto 1fr;align-items:center;column-gap:.5rem;display:grid}.excalidraw .color-picker-control-container+.popover{position:static}.excalidraw .color-picker-popover-container{margin-top:-.25rem}:root[dir=ltr] .excalidraw .color-picker-popover-container{margin-left:.5rem}:root[dir=rtl] .excalidraw .color-picker-popover-container{margin-left:-3rem}.excalidraw .color-picker-triangle{border-style:solid;border-width:0 9px 10px;border-color:transparent transparent var(--popup-bg-color);width:0;height:0;position:absolute;top:10px}:root[dir=ltr] .excalidraw .color-picker-triangle{left:-14px;transform:rotate(270deg)}:root[dir=rtl] .excalidraw .color-picker-triangle{right:-14px;transform:rotate(90deg)}.excalidraw .color-picker-triangle-shadow{border-color:#0000 #0000 #0000001a}:root[dir=ltr] .excalidraw .color-picker-triangle-shadow{left:-14px}:root[dir=rtl] .excalidraw .color-picker-triangle-shadow{right:-16px}.excalidraw .color-picker-content{outline:none;flex-direction:column;gap:.75rem;display:flex}.excalidraw .color-picker-content--default{grid-gap:.25rem;border-radius:4px;grid-template-columns:repeat(5,1.875rem);padding:.5rem;display:grid}.excalidraw .color-picker-content--default:focus{box-shadow:0 0 0 2px var(--focus-highlight-color);outline:none}.excalidraw .color-picker-content--canvas{flex-direction:column;padding:.25rem;display:flex}.excalidraw .color-picker-content--canvas-title{color:#868e96;padding:0 .25rem;font-size:12px}.excalidraw .color-picker-content--canvas-colors{padding:.5rem 0}.excalidraw .color-picker-content--canvas-colors .color-picker-swatch{margin:0 .25rem}.excalidraw .color-picker-content .color-input-container{grid-column:1/span 5}.excalidraw .color-picker-swatch{cursor:pointer;box-sizing:border-box;width:1.875rem;height:1.875rem;filter:var(--theme-filter);border:1px solid #ddd;border-radius:4px;margin:0;position:relative;background-color:currentColor!important}.excalidraw .color-picker-swatch:focus{border-color:var(--select-highlight-color);box-shadow:0 0 4px 1px}.excalidraw .color-picker-transparent{border-radius:4px;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #0000001a}.excalidraw .color-picker-transparent,.excalidraw .color-picker-label-swatch{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==) 0}.excalidraw .color-picker-hash{height:var(--default-button-size);border:1px solid var(--default-border-color);box-sizing:border-box;color:var(--input-label-color);border-right:0;flex-shrink:0;justify-content:center;align-items:center;padding:.5rem .5rem .5rem .75rem;display:flex;position:relative}:root[dir=ltr] .excalidraw .color-picker-hash{border-radius:var(--border-radius-lg) 0 0 var(--border-radius-lg)}:root[dir=rtl] .excalidraw .color-picker-hash{border-radius:0 var(--border-radius-lg) var(--border-radius-lg) 0;border-right:1px solid var(--default-border-color);border-left:0}.excalidraw .color-input-container{display:flex}.excalidraw .color-input-container:focus-within{box-shadow:0 0 0 1px var(--color-primary-darkest);border-radius:var(--border-radius-lg)}.excalidraw .color-picker__input-label{border:1px solid var(--default-border-color);box-sizing:border-box;border-radius:8px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;margin:8px;padding:0 12px;display:grid}.excalidraw .color-picker__input-label:focus-within{box-shadow:0 0 0 1px var(--color-primary-darkest);border-radius:var(--border-radius-lg)}.excalidraw .color-picker__input-hash{padding:0 .25rem}.excalidraw .color-picker-input{box-sizing:border-box;width:100%;color:var(--text-primary-color);height:var(--default-button-size);border:0;border:1px solid var(--default-border-color);letter-spacing:.4px;appearance:none;background-color:#0000;border-left:0;outline:none;margin:0;padding:.5rem .5rem .5rem .25rem;font-family:inherit;font-size:.875rem}:root[dir=ltr] .excalidraw .color-picker-input{border-radius:0 var(--border-radius-lg) var(--border-radius-lg) 0}:root[dir=rtl] .excalidraw .color-picker-input{border-radius:var(--border-radius-lg) 0 0 var(--border-radius-lg);border-left:1px solid var(--default-border-color);border-right:0}.excalidraw .color-picker-input:focus-visible{box-shadow:none}.excalidraw .color-picker-label-swatch-container{border:1px solid var(--default-border-color);border-radius:var(--border-radius-lg);width:var(--default-button-size);height:var(--default-button-size);box-sizing:border-box;overflow:hidden}.excalidraw .color-picker-label-swatch{width:var(--button-width,var(--default-button-size));height:var(--button-height,var(--default-button-size));box-sizing:border-box;border-style:solid;border-width:1px;border-color:var(--button-border,var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg,var(--island-bg-color));color:var(--button-color,var(--color-on-surface));font-family:var(--ui-font);filter:var(--theme-filter);justify-content:center;align-items:center;padding:.625rem;display:flex;position:relative;overflow:hidden;background-color:var(--swatch-color)!important;border:0!important}.excalidraw .color-picker-label-swatch svg{width:var(--button-width,var(--lg-icon-size));height:var(--button-height,var(--lg-icon-size))}.excalidraw .color-picker-label-swatch:hover{background-color:var(--button-hover-bg,var(--island-bg-color));border-color:var(--button-hover-border,var(--button-border,var(--default-border-color)));color:var(--button-hover-color,var(--button-color,var(--text-primary-color,inherit)))}.excalidraw .color-picker-label-swatch:active{background-color:var(--button-active-bg,var(--island-bg-color));border-color:var(--button-active-border,var(--color-primary-darkest))}.excalidraw .color-picker-label-swatch.active{background-color:var(--button-selected-bg,var(--color-surface-primary-container));border-color:var(--button-selected-border,var(--color-surface-primary-container))}.excalidraw .color-picker-label-swatch.active:hover{background-color:var(--button-selected-hover-bg,var(--color-surface-primary-container))}.excalidraw .color-picker-label-swatch.active svg{color:var(--button-color,var(--color-on-primary-container))}.excalidraw .color-picker-label-swatch:after{content:"";background:var(--swatch-color);width:100%;height:100%;position:absolute;top:0;left:0}.excalidraw .color-picker-keybinding{font-size:.7em;position:absolute;bottom:2px}:root[dir=ltr] .excalidraw .color-picker-keybinding{right:2px}:root[dir=rtl] .excalidraw .color-picker-keybinding{left:2px}.excalidraw--mobile.excalidraw .color-picker-keybinding{display:none}.excalidraw .color-picker-type-canvasBackground .color-picker-keybinding{color:#aaa}.excalidraw .color-picker-type-elementBackground .color-picker-keybinding{color:#fff}.excalidraw .color-picker-swatch[aria-label=transparent] .color-picker-keybinding{color:#aaa}.excalidraw .color-picker-type-elementStroke .color-picker-keybinding{color:#d4d4d4}.excalidraw.theme--dark .color-picker-type-elementBackground .color-picker-keybinding,.excalidraw.theme--dark .color-picker-swatch[aria-label=transparent] .color-picker-keybinding{color:#000}.excalidraw .picker{background:var(--popup-bg-color);box-shadow:var(--shadow-island);border:0 solid #ffffff40;border-radius:4px;padding:.5rem;position:absolute}:root[dir=rtl] .excalidraw .picker{padding:.4rem}.excalidraw .picker-container button,.excalidraw .picker button{justify-content:center;align-items:center;display:flex;position:relative}.excalidraw .picker-container button:focus-visible,.excalidraw .picker button:focus-visible{background-color:var(--button-gray-2);outline:#0000}.excalidraw .picker-container button:focus-visible svg,.excalidraw .picker button:focus-visible svg{opacity:1}.excalidraw .picker-container button:hover,.excalidraw .picker button:hover{background-color:var(--button-gray-2)}.excalidraw .picker-container button:active,.excalidraw .picker button:active{background-color:var(--button-gray-3)}.excalidraw .picker-container button:disabled,.excalidraw .picker button:disabled{cursor:not-allowed}.excalidraw .picker-container button svg,.excalidraw .picker button svg{pointer-events:none;width:36px;height:18px;margin:0}.excalidraw .picker button{padding:.25rem .28rem .35rem .25rem}.excalidraw .picker-content{grid-gap:.5rem;border-radius:4px;grid-template-columns:repeat(4,auto);display:grid}.excalidraw .picker-collapsible{padding:.5rem 0;font-size:.75rem}.excalidraw .picker-keybinding{color:var(--keybinding-color);font-size:.7em;position:absolute;bottom:2px}:root[dir=ltr] .excalidraw .picker-keybinding{right:2px}:root[dir=rtl] .excalidraw .picker-keybinding{left:2px}.excalidraw--mobile.excalidraw .picker-keybinding{display:none}.excalidraw .picker-type-canvasBackground .picker-keybinding{color:#aaa}.excalidraw .picker-type-elementBackground .picker-keybinding{color:#fff}.excalidraw .picker-swatch[aria-label=transparent] .picker-keybinding{color:#aaa}.excalidraw .picker-type-elementStroke .picker-keybinding{color:#d4d4d4}.excalidraw.theme--dark .picker-type-elementBackground .picker-keybinding,.excalidraw.theme--dark .picker-swatch[aria-label=transparent] .picker-keybinding{color:#000}.excalidraw{--list-border-color:var(--color-gray-20)}.excalidraw .QuickSearch__wrapper{border-bottom:1px solid var(--list-border-color);height:2.6rem;position:relative}.excalidraw .QuickSearch__wrapper svg{width:1.25rem;height:1.25rem;color:var(--color-gray-40);z-index:1;position:absolute;top:47.5%;left:.75rem;transform:translateY(-50%)}.excalidraw.theme--dark{--list-border-color:var(--color-gray-80)}.excalidraw.theme--dark .QuickSearch__wrapper{border-bottom:none}.excalidraw .QuickSearch__input{box-sizing:border-box;width:100%;font-size:.875rem;position:absolute;top:0;left:0;border:0!important;padding-left:2.5rem!important;padding-right:.75rem!important}.excalidraw .QuickSearch__input::placeholder{color:var(--color-gray-40)}.excalidraw .QuickSearch__input:focus{box-shadow:none!important}.excalidraw .ScrollableList__wrapper{border:none;font-size:.875rem;overflow-y:auto;position:static!important}.excalidraw .ScrollableList__wrapper>.empty,.excalidraw .ScrollableList__wrapper>.hint{color:var(--color-gray-60);text-align:center;justify-content:center;align-items:center;padding:.5rem;font-size:.75rem;line-height:150%;display:flex;overflow:hidden}.excalidraw .FontPicker__container{grid-template-columns:calc(1rem + 3 * var(--default-button-size)) 1rem 1fr;align-items:center;display:grid}.excalidraw--mobile.excalidraw .FontPicker__container{max-width:calc(2rem + 4 * var(--default-button-size))}.excalidraw{--slider-thumb-size:16px}.excalidraw .range-wrapper{padding-top:10px;padding-bottom:30px;position:relative}.excalidraw .range-input{-webkit-appearance:none;background:var(--color-slider-track);border-radius:2px;outline:none;width:100%;height:4px}.excalidraw .range-input::-webkit-slider-thumb{appearance:none;width:var(--slider-thumb-size);height:var(--slider-thumb-size);background:var(--color-slider-thumb);cursor:pointer;border:none;border-radius:50%}.excalidraw .range-input::-moz-range-thumb{width:var(--slider-thumb-size);height:var(--slider-thumb-size);background:var(--color-slider-thumb);cursor:pointer;border:none;border-radius:50%}.excalidraw .value-bubble{color:var(--text-primary-color);font-size:12px;position:absolute;bottom:0;transform:translate(-50%)}.excalidraw .zero-label{color:var(--text-primary-color);font-size:12px;position:absolute;bottom:0;left:4px}.excalidraw-tooltip{--ui-font:Assistant, system-ui, BlinkMacSystemFont, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;font-family:var(--ui-font);z-index:var(--zIndex-popup);box-sizing:border-box;pointer-events:none;word-wrap:break-word;text-align:center;color:#fff;background:#000;border-radius:6px;padding:8px;font-size:13px;font-weight:500;line-height:1.5;display:none;position:fixed}.excalidraw-tooltip.excalidraw-tooltip--visible{display:block}.excalidraw-tooltip-wrapper{display:flex}.excalidraw-tooltip-icon{width:.9em;height:.9em;margin-top:1px;margin-left:5px;display:flex}.excalidraw--mobile.excalidraw-tooltip-icon{display:none}.excalidraw .TextInput{display:inline-block}.ProjectName{align-items:center;margin:auto;display:flex}.ProjectName .TextInput{text-align:center;text-overflow:ellipsis;width:200px;height:calc(1rem - 3px);margin-left:8px;overflow:hidden}.ProjectName .TextInput--readonly{background:0 0;border:none;width:auto;max-width:200px;padding-left:2px}.ProjectName .TextInput--readonly:hover{background:0 0}.excalidraw .Checkbox{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;align-items:center;margin:4px .3em;display:flex}.excalidraw .Checkbox:hover:not(.is-checked) .Checkbox-box:not(:focus){box-shadow:0 0 0 2px #4dabf7}.excalidraw .Checkbox:hover:not(.is-checked) .Checkbox-box:not(:focus) svg{opacity:.3;display:block}.excalidraw .Checkbox:active .Checkbox-box{box-shadow:inset 0 0 2px 1px #1c7ed6!important}.excalidraw .Checkbox:hover .Checkbox-box{background-color:#d0ebff33}.excalidraw .Checkbox.is-checked .Checkbox-box{background-color:#d0ebff}.excalidraw .Checkbox.is-checked .Checkbox-box svg{display:block}.excalidraw .Checkbox.is-checked:hover .Checkbox-box{background-color:#a5d8ff}.excalidraw .Checkbox .Checkbox-box{color:#1c7ed6;background-color:#0000;border:0;border-radius:4px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;margin:0 1em;padding:0;display:flex;box-shadow:0 0 0 2px #1c7ed6}.excalidraw .Checkbox .Checkbox-box:focus{box-shadow:0 0 0 3px #1c7ed6}.excalidraw .Checkbox .Checkbox-box svg{stroke-width:3px;width:16px;height:16px;display:none}.excalidraw .Checkbox .Checkbox-label{align-items:center;display:flex}.excalidraw .Checkbox .excalidraw-tooltip-icon{width:1em;height:1em}.excalidraw .Avatar{width:var(--avatar-size,1.5rem);height:var(--avatar-size,1.5rem);outline-offset:2px;cursor:pointer;color:var(--color-gray-90);border-radius:100%;flex:none;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;line-height:1;display:flex;position:relative}.excalidraw .Avatar:active{transform:scale(.94)}.excalidraw .Avatar-img{border-radius:100%;width:100%;height:100%}.excalidraw .Avatar:before{content:"";border-radius:100%;position:absolute;inset:-3px}.excalidraw .Avatar.is-followed:before{border-color:var(--color-primary-hover);box-shadow:0 0 0 1px var(--color-primary-hover)}.excalidraw .Avatar.is-current-user{cursor:auto}.excalidraw-hyperlinkContainer{z-index:var(--zIndex-hyperlinkContainer);background:var(--island-bg-color);border-radius:var(--border-radius-md);box-sizing:border-box;justify-content:space-between;align-items:center;min-height:42px;display:flex;position:absolute;box-shadow:0 2px 4px #0000004d}.excalidraw-hyperlinkContainer-input,.excalidraw-hyperlinkContainer button{z-index:100}.excalidraw-hyperlinkContainer-input,.excalidraw-hyperlinkContainer-link{height:24px;font-size:.9rem;font-weight:500;line-height:24px;font-family:var(--ui-font);padding:0 8px}.excalidraw-hyperlinkContainer-input{width:18rem;color:var(--text-primary-color);background-color:#0000;border:none;outline:none;box-shadow:none!important}.excalidraw-hyperlinkContainer-link{text-overflow:ellipsis;white-space:nowrap;max-width:15rem;overflow:hidden}.excalidraw-hyperlinkContainer button{color:#228be6;font-weight:500;background-color:#0000!important}.excalidraw-hyperlinkContainer button.excalidraw-hyperlinkContainer--remove{color:#c92a2a}.excalidraw-hyperlinkContainer--remove .ToolIcon__icon svg{color:#fa5252}.excalidraw-hyperlinkContainer .ToolIcon__icon{width:2rem;height:2rem}.excalidraw-hyperlinkContainer__buttons{flex:none}.excalidraw .Dialog{-webkit-user-select:text;user-select:text;cursor:auto}.excalidraw .Dialog__title{text-align:left;border-bottom:1px solid var(--dialog-border-color);margin:0 0 1.5rem;padding:0 0 .75rem;font-size:1.25rem}.excalidraw .Dialog__close{color:var(--color-gray-40);cursor:pointer;background-color:#0000;border:0;margin:0;line-height:0;position:absolute;top:.75rem;right:.5rem}.excalidraw .Dialog__close:hover{color:var(--color-gray-60)}.excalidraw .Dialog__close:active{color:var(--color-gray-40)}.excalidraw .Dialog__close svg{width:1.5rem;height:1.5rem}.excalidraw .Dialog__close+.Dialog__content{--offset:28px;height:calc(100% - var(--offset))!important;margin-top:var(--offset)!important}.excalidraw .Dialog--fullscreen .Dialog__close{top:1.25rem;right:1.25rem}.excalidraw.excalidraw-modal-container{z-index:var(--zIndex-modal);position:absolute}.excalidraw .Modal{padding:calc(var(--space-factor) * 10);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:auto}.excalidraw .Modal .Island{box-shadow:none;border:0;border-radius:0;padding:2.5rem}.excalidraw .Modal.animations-disabled .Modal__background{animation:none}.excalidraw .Modal.animations-disabled .Modal__content{opacity:1;animation:none}.excalidraw .Modal__background{z-index:1;background-color:#12121233;animation:.1s linear forwards Modal__background__fade-in;position:fixed;inset:0}.excalidraw .Modal__content{z-index:2;width:100%;max-width:var(--max-width);opacity:0;background:var(--island-bg-color);border:1px solid var(--dialog-border-color);max-height:100%;box-shadow:var(--modal-shadow);box-sizing:border-box;border-radius:.75rem;animation:25ms ease-out forwards Modal__content_fade-in;position:relative;overflow-y:auto;transform:translateY(10px)}.excalidraw .Modal__content:focus{outline:none}@keyframes Modal__background__fade-in{0%{opacity:0}to{opacity:1}}@keyframes Modal__content_fade-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.excalidraw .Modal__close{color:var(--icon-fill-color);cursor:pointer;background-color:#0000;border:0;margin:0;padding:.375rem;line-height:0;position:absolute;top:1rem;right:1rem}.excalidraw .Modal__close svg{width:1.5rem;height:1.5rem}.excalidraw .Dialog--fullscreen .Modal{padding:0}.excalidraw .Dialog--fullscreen .Modal__content{border:0;border-radius:0;max-width:100%;position:absolute;inset:0}.excalidraw .Stack{--gap:0;gap:calc(var(--space-factor) * var(--gap));display:grid}.excalidraw .Stack_vertical{grid-template-columns:auto;grid-auto-rows:min-content;grid-auto-flow:row}.excalidraw .Stack_horizontal{grid-template-rows:auto;grid-auto-columns:min-content;grid-auto-flow:column}.excalidraw .confirm-dialog-buttons{justify-content:flex-end;column-gap:.5rem;display:flex}.excalidraw .Dialog__action-button{border:1px solid var(--default-border-color);border-radius:var(--border-radius-lg);letter-spacing:.4px;height:3rem;color:inherit;-webkit-user-select:none;user-select:none;background-color:#0000;align-items:center;column-gap:.5rem;padding:.5rem 1.5rem;font-family:inherit;font-size:.875rem;font-weight:600;display:flex;position:relative}.excalidraw .Dialog__action-button svg{width:1rem;height:1rem;display:block}.excalidraw .Dialog__action-button--danger{background-color:var(--color-danger);border-color:var(--color-danger);color:#fff}.excalidraw .Dialog__action-button--primary{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.excalidraw.theme--dark .Dialog__action-button--danger,.excalidraw.theme--dark .Dialog__action-button--primary{color:var(--color-gray-100)}.excalidraw .publish-library__fields{flex-direction:column;display:flex}.excalidraw .publish-library__fields label{justify-content:space-between;align-items:center;padding:1em 0;display:flex}.excalidraw .publish-library__fields label span{color:#868e96;font-size:1rem;font-weight:500}.excalidraw .publish-library__fields label input,.excalidraw .publish-library__fields label textarea{width:70%;font-family:var(--ui-font);padding:.6em}.excalidraw .publish-library__fields label .required{color:#e03131;margin:.2rem}.excalidraw .publish-library__buttons{justify-content:flex-end;gap:.5rem;padding:.2rem 0;display:flex}.excalidraw .publish-library__buttons .ToolIcon__icon{width:auto;min-width:2.5rem;font-size:1rem}.excalidraw .publish-library__buttons .ToolIcon_type_button{margin-left:1rem;padding:0 .5rem}.excalidraw .publish-library__buttons--confirm.ToolIcon_type_button{background-color:#228be6}.excalidraw .publish-library__buttons--confirm.ToolIcon_type_button:hover{background-color:#1971c2}.excalidraw .publish-library__buttons--cancel.ToolIcon_type_button{background-color:#adb5bd}.excalidraw .publish-library__buttons--cancel.ToolIcon_type_button:hover{background-color:#868e96}.excalidraw .publish-library__buttons .ToolIcon__icon{color:#fff}.excalidraw .publish-library__buttons .ToolIcon__icon .Spinner{--spinner-color:#fff}.excalidraw .publish-library__buttons .ToolIcon__icon .Spinner svg{padding:.5rem}.excalidraw .publish-library .selected-library-items{flex-wrap:wrap;display:flex}.excalidraw .publish-library .selected-library-items .single-library-item-wrapper{width:9rem}.excalidraw .publish-library-warning{color:#fa5252}.excalidraw .publish-library-note{padding:1em 0;font-size:14px;font-style:italic;display:block}.excalidraw .single-library-item{position:relative}.excalidraw .single-library-item-status{color:#f03e3e;background:#ffffffe6;border-radius:.2rem;padding:.1rem .2rem;font-size:.7rem;position:absolute;top:.3rem;left:.3rem}.excalidraw .single-library-item__svg{border:1px solid var(--button-gray-2);background-color:#fff;width:7.5rem;height:7.5rem;padding:.3rem}.excalidraw .single-library-item__svg svg{width:100%;height:100%}.excalidraw .single-library-item .ToolIcon__icon{background-color:#fff;width:auto;height:auto;margin:0 .5rem}.excalidraw .single-library-item .ToolIcon,.excalidraw .single-library-item .ToolIcon_type_button:hover{background-color:#fff}.excalidraw .single-library-item .required,.excalidraw .single-library-item .error{color:#e03131;margin:.2rem;font-size:1rem;font-weight:700}.excalidraw .single-library-item .error{margin:0;padding:.3em 0;font-weight:500}.excalidraw .single-library-item--remove{position:absolute;top:.2rem;right:1rem}.excalidraw .single-library-item--remove .ToolIcon__icon{background-color:#fa5252;margin:0}.excalidraw .single-library-item--remove .ToolIcon__icon:hover{background-color:#f03e3e}.excalidraw .single-library-item--remove .ToolIcon__icon:active{background-color:#e03131}.excalidraw .single-library-item--remove svg{color:#fff;border-radius:.3em;width:1rem;height:1rem;padding:.26rem}.excalidraw .dropdown-menu{margin-top:.5rem;position:absolute;top:100%}.excalidraw .dropdown-menu--mobile{row-gap:.75rem;width:100%;left:0}.excalidraw .dropdown-menu--mobile .dropdown-menu-container{box-sizing:border-box;box-shadow:var(--shadow-island);border-radius:var(--border-radius-lg);padding:8px;transition:box-shadow .5s ease-in-out;position:relative}.excalidraw .dropdown-menu--mobile .dropdown-menu-container.zen-mode{box-shadow:none}.excalidraw .dropdown-menu .dropdown-menu-container{background-color:var(--island-bg-color);--gap:2;max-height:calc(100vh - 150px);overflow-y:auto}.excalidraw .dropdown-menu .dropdown-menu-item-base{color:var(--color-on-surface);box-sizing:border-box;column-gap:.625rem;width:100%;font-family:inherit;font-size:.875rem;font-weight:400;display:flex}.excalidraw .dropdown-menu.manual-hover .dropdown-menu-item:hover{background-color:#0000}.excalidraw .dropdown-menu.manual-hover .dropdown-menu-item--hovered{background-color:var(--button-hover-bg)!important}.excalidraw .dropdown-menu.manual-hover .dropdown-menu-item--selected{background-color:var(--color-primary-light)!important}.excalidraw .dropdown-menu.fonts{max-height:calc(17.95rem + 14px);margin-top:1rem}@media screen and (width>=1921px){.excalidraw .dropdown-menu.fonts{max-height:calc(19.7rem + 14px)}}.excalidraw .dropdown-menu.fonts .dropdown-menu-item-base{display:inline-flex}.excalidraw .dropdown-menu.fonts .dropdown-menu-group:not(:first-child){margin-top:1rem}.excalidraw .dropdown-menu.fonts .dropdown-menu-group-title{text-align:left;margin:0 0 .5rem;font-size:.75rem;font-weight:400;line-height:1.3}.excalidraw .dropdown-menu .dropdown-menu-item{cursor:pointer;border-radius:var(--border-radius-md);background-color:#0000;border:1px solid #0000;align-items:center;width:calc(100% - 2px);height:2rem;margin:1px;padding:0 .5rem}@media screen and (width>=1921px){.excalidraw .dropdown-menu .dropdown-menu-item{height:2.25rem}}.excalidraw .dropdown-menu .dropdown-menu-item__text{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.75rem;width:100%;display:flex;overflow:hidden}.excalidraw .dropdown-menu .dropdown-menu-item__shortcut{opacity:.5;margin-inline-start:auto}.excalidraw .dropdown-menu .dropdown-menu-item__shortcut--orphaned{text-align:right;padding:0 .625rem;font-size:.875rem}.excalidraw .dropdown-menu .dropdown-menu-item--selected{background:var(--color-primary-light);--icon-fill-color:var(--color-primary-darker)}.excalidraw .dropdown-menu .dropdown-menu-item:hover{background-color:var(--button-hover-bg);text-decoration:none}.excalidraw .dropdown-menu .dropdown-menu-item:active{background-color:var(--button-hover-bg);border-color:var(--color-brand-active)}.excalidraw .dropdown-menu .dropdown-menu-item svg{width:1rem;height:1rem;display:block}.excalidraw .dropdown-menu .dropdown-menu-item-bare{justify-content:space-between;align-items:center;height:2rem}@media screen and (width>=1921px){.excalidraw .dropdown-menu .dropdown-menu-item-bare{height:2.25rem}}.excalidraw .dropdown-menu .dropdown-menu-item-bare svg{width:1rem;height:1rem;display:block}.excalidraw .dropdown-menu .dropdown-menu-item-custom{margin-top:.5rem}.excalidraw .dropdown-menu .dropdown-menu-group-title{text-align:left;margin:10px 0;font-size:14px;font-weight:500}.excalidraw .dropdown-menu-button{width:var(--button-width,var(--default-button-size));height:var(--button-height,var(--default-button-size));box-sizing:border-box;border-style:solid;border-width:1px;border-color:var(--button-border,var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg,var(--island-bg-color));color:var(--button-color,var(--color-on-surface));font-family:var(--ui-font);width:var(--lg-button-size);height:var(--lg-button-size);--background:var(--color-surface-mid);background-color:var(--background);justify-content:center;align-items:center;padding:.625rem;display:flex}.excalidraw .dropdown-menu-button:hover{background-color:var(--button-hover-bg,var(--island-bg-color));border-color:var(--button-hover-border,var(--button-border,var(--default-border-color)));color:var(--button-hover-color,var(--button-color,var(--text-primary-color,inherit)))}.excalidraw .dropdown-menu-button:active{background-color:var(--button-active-bg,var(--island-bg-color));border-color:var(--button-active-border,var(--color-primary-darkest))}.excalidraw .dropdown-menu-button.active{background-color:var(--button-selected-bg,var(--color-surface-primary-container));border-color:var(--button-selected-border,var(--color-surface-primary-container))}.excalidraw .dropdown-menu-button.active:hover{background-color:var(--button-selected-hover-bg,var(--color-surface-primary-container))}.excalidraw .dropdown-menu-button.active svg{color:var(--button-color,var(--color-on-primary-container))}.excalidraw.theme--dark.excalidraw .dropdown-menu-button{--background:var(--color-surface-high)}.excalidraw.theme--dark.excalidraw .dropdown-menu-button:hover{--background:#363541}.excalidraw .dropdown-menu-button:hover{--background:var(--color-surface-high);background-color:var(--background);text-decoration:none}.excalidraw .dropdown-menu-button:active{border-color:var(--color-primary)}.excalidraw .dropdown-menu-button svg{width:var(--lg-icon-size);height:var(--lg-icon-size)}.excalidraw .dropdown-menu-button--mobile{width:var(--default-button-size);height:var(--default-button-size);border:none;margin:0;padding:0}.excalidraw .library-unit{box-sizing:border-box;border-radius:var(--border-radius-lg);border:1px solid #0000;justify-content:center;align-items:center;width:55px;height:55px;display:flex;position:relative}.excalidraw .library-unit svg{pointer-events:none}.excalidraw .library-unit--hover{border-color:var(--color-primary)}.excalidraw .library-unit--selected{border-color:var(--color-primary);border-width:1px}.excalidraw .library-unit--skeleton{opacity:.5;background:linear-gradient(-45deg,var(--color-gray-10),var(--color-gray-20),var(--color-gray-10));background-size:200% 200%;animation:.2s linear library-unit__skeleton-opacity-animation}.excalidraw.theme--dark .library-unit--skeleton{background-image:linear-gradient(-45deg,var(--color-gray-100),var(--color-gray-80),var(--color-gray-100))}.excalidraw .library-unit__dragger{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.excalidraw .library-unit__dragger>svg{filter:var(--theme-filter);flex-grow:1;max-width:100%;max-height:100%}.excalidraw .library-unit__checkbox-container,.excalidraw .library-unit__checkbox-container:hover,.excalidraw .library-unit__checkbox-container:active{color:var(--icon-fill-color);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:.5rem;display:flex;position:absolute;bottom:2rem;left:2rem}.excalidraw .library-unit__checkbox-container input,.excalidraw .library-unit__checkbox-container:hover input,.excalidraw .library-unit__checkbox-container:active input{cursor:pointer}.excalidraw .library-unit__checkbox{margin:0;position:absolute;top:.125rem;right:.125rem}.excalidraw .library-unit__checkbox .Checkbox-box{background-color:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:4px;width:1rem;height:1rem;margin:0;padding:2px;box-shadow:none!important}.excalidraw .library-unit__checkbox.Checkbox:hover .Checkbox-box{background-color:var(--color-primary-light)}.excalidraw .library-unit__checkbox.is-checked .Checkbox-box{background-color:var(--color-primary)!important}.excalidraw .library-unit__checkbox.is-checked .Checkbox-box svg{color:var(--color-primary-light)}.excalidraw .library-unit__removeFromLibrary>svg{width:16px;height:16px}.excalidraw .library-unit__adder{background-color:var(--color-primary);border-radius:var(--border-radius-md);pointer-events:none;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;animation:1s ease-in infinite library-unit__adder-animation;display:flex;position:absolute;transform:scale(1)}.excalidraw .library-unit__adder svg{color:var(--color-primary-light);width:1rem;height:1rem}.excalidraw .library-unit:active .library-unit__adder{animation:none;transform:scale(.8)}.excalidraw .library-unit__active{cursor:pointer}@keyframes library-unit__adder-animation{0%{transform:scale(.85)}50%{transform:scale(1)}to{transform:scale(.85)}}@keyframes library-unit__skeleton-opacity-animation{0%{opacity:0}75%{opacity:0}to{opacity:.5}}.excalidraw{--container-padding-y:1.5rem;--container-padding-x:.75rem}.excalidraw .library-menu-items__no-items{text-align:center;color:var(--color-gray-70);width:100%;font-size:.875rem;line-height:1.5}.excalidraw .library-menu-items__no-items__label{color:var(--color-primary);margin-bottom:.75rem;font-size:1.125rem;font-weight:700}.excalidraw.theme--dark .library-menu-items__no-items{color:var(--color-gray-40)}.excalidraw .library-menu-items-container{flex-direction:column;flex:1 1 0;justify-content:center;width:100%;height:100%;margin:0;display:flex;position:relative;overflow-y:auto}.excalidraw .library-menu-items-container>div{padding-left:.75rem;padding-right:.75rem}.excalidraw .library-menu-items-container__row{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.excalidraw .library-menu-items-container__items{padding:var(--container-padding-y) 0;flex:1;row-gap:.5rem;margin-bottom:1rem;overflow:hidden auto}.excalidraw .library-menu-items-container__header{color:var(--color-primary);box-sizing:border-box;width:100%;margin-bottom:.75rem;padding-right:4rem;font-size:1.125rem;font-weight:700}.excalidraw .library-menu-items-container__header--excal{margin-top:2rem}.excalidraw .library-menu-items-container__grid{grid-gap:1rem;grid-template-columns:1fr 1fr 1fr 1fr;display:grid}.excalidraw .library-menu-items-container .separator{width:100%;color:var(--text-primary-color);align-items:center;margin:.6em .2em;font-size:.9rem;font-weight:500;display:flex}.excalidraw .library-menu-items-private-library-container{width:100%;min-height:3.75rem}.excalidraw .layer-ui__library{flex-direction:column;flex:auto;display:flex}.excalidraw .library-actions-counter{background-color:var(--color-primary);color:var(--color-primary-light);pointer-events:none;border-radius:50%;justify-content:center;align-items:center;width:1rem;height:1rem;font-size:.625rem;font-weight:700;display:flex;position:absolute;bottom:-.25rem;right:-.25rem}.excalidraw .layer-ui__library-message{flex-direction:column;flex-grow:1;justify-content:center;align-items:center;min-width:200px;padding:2rem;display:flex}.excalidraw .layer-ui__library-message span{font-size:.8em}.excalidraw .publish-library-success .Dialog__content{flex-direction:column;display:flex}.excalidraw .publish-library-success-close.ToolIcon_type_button{background-color:#228be6;align-self:flex-end}.excalidraw .publish-library-success-close.ToolIcon_type_button:hover{background-color:#1971c2}.excalidraw .publish-library-success-close.ToolIcon_type_button .ToolIcon__icon{color:#fff;width:auto;padding:0 .5rem;font-size:1rem}.excalidraw .library-menu-control-buttons{justify-content:center;align-items:center;gap:.625rem;display:flex;position:relative}.excalidraw .library-menu-control-buttons--at-bottom:before{content:"";background:var(--sidebar-border-color);width:calc(100% - 1.5rem);height:1px;position:absolute;top:-1px}.excalidraw .library-menu-browse-button{height:var(--lg-button-size);border-radius:var(--border-radius-lg);background-color:var(--color-primary);color:#fff;text-align:center;white-space:nowrap;flex:1;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:flex;position:relative;overflow:hidden;text-decoration:none!important}.excalidraw .library-menu-browse-button:hover{background-color:var(--color-brand-hover)}.excalidraw .library-menu-browse-button:active{background-color:var(--color-brand-active)}.excalidraw.theme--dark .library-menu-browse-button{color:var(--color-gray-100)}.excalidraw.excalidraw--mobile .library-menu-browse-button{height:var(--default-button-size)}.excalidraw .layer-ui__library .dropdown-menu{width:auto;top:initial;right:0;left:initial;margin-bottom:.625rem;bottom:100%}.excalidraw .layer-ui__library .dropdown-menu .dropdown-menu-container{width:196px;box-shadow:var(--library-dropdown-shadow);border-radius:var(--border-radius-lg);padding:.25rem .5rem}.excalidraw .layer-ui__library .library-menu-dropdown-container{position:relative}.excalidraw .layer-ui__library .library-menu-dropdown-container--in-heading{z-index:1;padding:0;position:absolute;top:1rem;right:.75rem}.excalidraw .layer-ui__library .library-menu-dropdown-container--in-heading .dropdown-menu{top:100%}.excalidraw{--ExcTextField--color:var(--color-on-surface);--ExcTextField--label-color:var(--color-on-surface);--ExcTextField--background:var(--color-surface-low);--ExcTextField--readonly--background:var(--color-surface-high);--ExcTextField--readonly--color:var(--color-on-surface);--ExcTextField--border:var(--color-gray-20);--ExcTextField--readonly--border:var(--color-border-outline-variant);--ExcTextField--border-hover:var(--color-brand-hover);--ExcTextField--border-active:var(--color-brand-active);--ExcTextField--placeholder:var(--color-border-outline-variant)}.excalidraw .ExcTextField{position:relative}.excalidraw .ExcTextField svg{width:1.25rem;height:1.25rem;color:var(--color-gray-40);z-index:1;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.excalidraw .ExcTextField--fullWidth{flex-grow:1;width:100%}.excalidraw .ExcTextField__label{color:var(--ExcTextField--label-color);-webkit-user-select:none;user-select:none;margin-bottom:.25rem;font-family:Assistant;font-size:.875rem;font-style:normal;font-weight:600;line-height:150%}.excalidraw .ExcTextField__input{box-sizing:border-box;background:var(--ExcTextField--background);border:1px solid var(--ExcTextField--border);border-radius:.5rem;flex-direction:row;align-items:center;height:3rem;padding:0 .75rem;display:flex}.excalidraw .ExcTextField__input:not(.excalidraw .ExcTextField__input--readonly):hover{border-color:var(--ExcTextField--border-hover)}.excalidraw .ExcTextField__input:not(.excalidraw .ExcTextField__input--readonly):active,.excalidraw .ExcTextField__input:not(.excalidraw .ExcTextField__input--readonly):focus-within{border-color:var(--ExcTextField--border-active)}.excalidraw .ExcTextField__input input{height:1.5rem;color:var(--ExcTextField--color);text-overflow:ellipsis;background:0 0;border:none;outline:none;align-items:center;width:100%;margin:0;padding:0;font-family:Assistant;font-size:1rem;font-style:normal;font-weight:400;line-height:150%;display:flex}.excalidraw .ExcTextField__input input:not(:focus):hover{background-color:initial}.excalidraw .ExcTextField__input input:focus{outline:initial;box-shadow:initial}.excalidraw .ExcTextField__input--readonly{background:var(--ExcTextField--readonly--background);border-color:var(--ExcTextField--readonly--border)}.excalidraw .ExcTextField__input--readonly input{color:var(--ExcTextField--readonly--color)}.excalidraw .ExcTextField--hasIcon .ExcTextField__input{padding-left:2.5rem}.excalidraw .excalidraw-button{width:var(--button-width,var(--default-button-size));height:var(--button-height,var(--default-button-size));box-sizing:border-box;border-style:solid;border-width:1px;border-color:var(--button-border,var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg,var(--island-bg-color));color:var(--button-color,var(--color-on-surface));font-family:var(--ui-font);justify-content:center;align-items:center;padding:.625rem;display:flex}.excalidraw .excalidraw-button svg{width:var(--button-width,var(--lg-icon-size));height:var(--button-height,var(--lg-icon-size))}.excalidraw .excalidraw-button:hover{background-color:var(--button-hover-bg,var(--island-bg-color));border-color:var(--button-hover-border,var(--button-border,var(--default-border-color)));color:var(--button-hover-color,var(--button-color,var(--text-primary-color,inherit)))}.excalidraw .excalidraw-button:active{background-color:var(--button-active-bg,var(--island-bg-color));border-color:var(--button-active-border,var(--color-primary-darkest))}.excalidraw .excalidraw-button.active{background-color:var(--button-selected-bg,var(--color-surface-primary-container));border-color:var(--button-selected-border,var(--color-surface-primary-container))}.excalidraw .excalidraw-button.active:hover{background-color:var(--button-selected-hover-bg,var(--color-surface-primary-container))}.excalidraw .excalidraw-button.active svg{color:var(--button-color,var(--color-on-primary-container))}.zoom-actions,.undo-redo-buttons{background-color:var(--island-bg-color);border-radius:var(--border-radius-lg);box-shadow:0 0 0 1px var(--color-surface-lowest)}.zoom-button,.undo-redo-buttons button{width:var(--lg-button-size);height:var(--lg-button-size);background-color:var(--color-surface-low)!important;border-radius:0!important;font-size:.875rem!important}.zoom-button svg,.undo-redo-buttons button svg{width:var(--lg-icon-size)!important;height:var(--lg-icon-size)!important}.zoom-button .ToolIcon__icon,.undo-redo-buttons button .ToolIcon__icon{width:100%;height:100%}.reset-zoom-button{color:var(--text-primary-color);justify-content:center;border-left:0!important;border-right:0!important;width:3.75rem!important;padding:0 .625rem!important}.zoom-out-button{border-top-left-radius:var(--border-radius-lg)!important;border-bottom-left-radius:var(--border-radius-lg)!important}:root[dir=rtl] .zoom-out-button{transform:scaleX(-1)}.zoom-out-button .ToolIcon__icon{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.zoom-in-button{border-top-right-radius:var(--border-radius-lg)!important;border-bottom-right-radius:var(--border-radius-lg)!important}:root[dir=rtl] .zoom-in-button{transform:scaleX(-1)}.zoom-in-button .ToolIcon__icon{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.undo-redo-buttons .undo-button-container button{border-top-left-radius:var(--border-radius-lg)!important;border-bottom-left-radius:var(--border-radius-lg)!important;border-right:0!important}:root[dir=rtl] .undo-redo-buttons .undo-button-container button{transform:scaleX(-1)}.undo-redo-buttons .undo-button-container button .ToolIcon__icon{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.undo-redo-buttons .redo-button-container button{border-top-right-radius:var(--border-radius-lg)!important;border-bottom-right-radius:var(--border-radius-lg)!important}:root[dir=rtl] .undo-redo-buttons .redo-button-container button{transform:scaleX(-1)}.undo-redo-buttons .redo-button-container button .ToolIcon__icon{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.excalidraw .command-palette-dialog{-webkit-user-select:none;user-select:none}.excalidraw .command-palette-dialog .Modal__content{height:auto;max-height:100%}@media screen and (width>=861px){.excalidraw .command-palette-dialog .Modal__content{height:100%;max-height:750px}}.excalidraw .command-palette-dialog .Modal__content .Island{height:100%;padding:1.5rem}.excalidraw .command-palette-dialog .Modal__content .Dialog__content{flex-direction:column;height:100%;display:flex}.excalidraw .command-palette-dialog .shortcuts-wrapper{justify-content:center;align-items:center;gap:1.5rem;margin-top:12px;display:flex}.excalidraw .command-palette-dialog .shortcut{justify-content:center;align-items:center;gap:.25rem;height:16px;font-size:10px;display:flex}.excalidraw .command-palette-dialog .shortcut .shortcut-wrapper{display:flex}.excalidraw .command-palette-dialog .shortcut .shortcut-plus{margin:0 4px}.excalidraw .command-palette-dialog .shortcut .shortcut-key{background-color:var(--color-primary-light);border-radius:4px;justify-content:center;align-items:center;height:16px;padding:0 4px;display:flex}.excalidraw .command-palette-dialog .shortcut .shortcut-desc{color:var(--color-gray-50);margin-left:4px}.excalidraw .command-palette-dialog .commands{box-sizing:border-box;color:var(--popup-text-color);-webkit-user-select:none;user-select:none;margin-top:12px;overflow-y:auto}.excalidraw .command-palette-dialog .commands .command-category{flex-direction:column;margin-right:.25rem;padding:12px 0;display:flex}.excalidraw .command-palette-dialog .commands .command-category-title{align-items:center;margin-bottom:6px;font-size:1rem;font-weight:600;display:flex}.excalidraw .command-palette-dialog .commands .command-item{color:var(--popup-text-color);box-sizing:border-box;border-radius:var(--border-radius-lg);cursor:pointer;justify-content:space-between;align-items:center;height:2.5rem;padding:0 .5rem;display:flex}.excalidraw .command-palette-dialog .commands .command-item:active{background-color:var(--color-surface-low)}.excalidraw .command-palette-dialog .commands .command-item .name{align-items:center;gap:.25rem;display:flex}.excalidraw .command-palette-dialog .commands .item-selected{background-color:var(--color-surface-mid)}.excalidraw .command-palette-dialog .commands .item-disabled{opacity:.3;cursor:not-allowed}.excalidraw .command-palette-dialog .commands .no-match{justify-content:center;align-items:center;margin-top:36px;display:flex}.excalidraw .command-palette-dialog .icon{width:16px;height:16px;margin-right:6px}.excalidraw .popover{z-index:10;outline:none;padding:5px 0;position:absolute}.excalidraw .context-menu{-webkit-user-select:none;user-select:none;background-color:var(--popup-secondary-bg-color);border:1px solid var(--button-gray-3);cursor:default;border-radius:4px;margin:-.25rem 0 0 .125rem;padding:.5rem 0;list-style:none;position:relative;box-shadow:0 3px 10px #0003}.excalidraw .context-menu button{color:var(--popup-text-color)}.excalidraw .context-menu-item{text-align:start;white-space:nowrap;background-color:#0000;border:none;border-radius:0;grid-template-columns:1fr .2fr;align-items:center;width:100%;min-width:9.5rem;margin:0;padding:.25rem 1rem .25rem 1.25rem;font-family:inherit;display:grid;position:relative}.excalidraw .context-menu-item.checkmark:before{content:"✓";margin-bottom:1px;position:absolute;left:6px}.excalidraw .context-menu-item.dangerous .context-menu-item__label{color:#f03e3e}.excalidraw .context-menu-item .context-menu-item__label{justify-self:start;margin-inline-end:20px}.excalidraw .context-menu-item .context-menu-item__shortcut{opacity:.6;justify-self:end;font-family:inherit;font-size:.7rem}.excalidraw .context-menu-item:hover{color:var(--popup-bg-color);background-color:var(--select-highlight-color)}.excalidraw .context-menu-item:hover.dangerous{background-color:#fa5252}.excalidraw .context-menu-item:hover.dangerous .context-menu-item__label{color:var(--popup-bg-color)}.excalidraw .context-menu-item:focus{z-index:1}.excalidraw--mobile.excalidraw .context-menu-item{display:block}.excalidraw--mobile.excalidraw .context-menu-item .context-menu-item__label{margin-inline-end:0}.excalidraw--mobile.excalidraw .context-menu-item .context-menu-item__shortcut{display:none}.excalidraw .context-menu-item-separator{border:none;border-top:1px solid #adb5bd}.excalidraw{--RadioGroup-background:var(--island-bg-color);--RadioGroup-border:var(--color-surface-high);--RadioGroup-choice-color-off:var(--color-primary);--RadioGroup-choice-color-off-hover:var(--color-brand-hover);--RadioGroup-choice-background-off:var(--island-bg-color);--RadioGroup-choice-background-off-active:var(--color-surface-high);--RadioGroup-choice-color-on:var(--color-surface-lowest);--RadioGroup-choice-background-on:var(--color-primary);--RadioGroup-choice-background-on-hover:var(--color-brand-hover);--RadioGroup-choice-background-on-active:var(--color-brand-active)}.excalidraw .RadioGroup{box-sizing:border-box;background:var(--RadioGroup-background);border:1px solid var(--RadioGroup-border);border-radius:10px;flex-direction:row;align-items:flex-start;padding:3px;display:flex}.excalidraw .RadioGroup__choice{width:32px;height:24px;color:var(--RadioGroup-choice-color-off);background:var(--RadioGroup-choice-background-off);-webkit-user-select:none;user-select:none;letter-spacing:.4px;border-radius:8px;justify-content:center;align-items:center;font-family:Assistant;font-size:.75rem;font-style:normal;font-weight:600;line-height:100%;transition:all 75ms ease-out;display:flex;position:relative}.excalidraw .RadioGroup__choice:hover{color:var(--RadioGroup-choice-color-off-hover)}.excalidraw .RadioGroup__choice:active{background:var(--RadioGroup-choice-background-off-active)}.excalidraw .RadioGroup__choice.active{color:var(--RadioGroup-choice-color-on);background:var(--RadioGroup-choice-background-on)}.excalidraw .RadioGroup__choice.active:hover{background:var(--RadioGroup-choice-background-on-hover)}.excalidraw .RadioGroup__choice.active:active{background:var(--RadioGroup-choice-background-on-active)}.excalidraw .RadioGroup__choice input{z-index:1;appearance:none;cursor:pointer;border-radius:8px;width:100%;height:100%;margin:0;padding:0;position:absolute}.excalidraw{--Switch-disabled-color:var(--color-border-outline);--Switch-disabled-toggled-background:var(--color-border-outline-variant);--Switch-disabled-border:var(--color-border-outline-variant);--Switch-track-background:var(--island-bg-color);--Switch-thumb-background:var(--color-on-surface);--Switch-hover-background:var(--color-brand-hover);--Switch-active-background:var(--color-brand-active)}.excalidraw .Switch{box-sizing:border-box;background:var(--Switch-track-background);border:1px solid var(--Switch-disabled-color);border-radius:12px;width:40px;height:20px;transition-property:background,border;transition-duration:.15s;transition-timing-function:ease-out;position:relative}.excalidraw .Switch:hover{background:var(--Switch-track-background);border:1px solid var(--Switch-hover-background)}.excalidraw .Switch:active{border:1px solid var(--Switch-active-background)}.excalidraw .Switch.toggled{background:var(--color-primary);border:1px solid var(--color-primary)}.excalidraw .Switch.toggled:hover{background:var(--color-primary-darker);border:1px solid var(--color-primary-darker)}.excalidraw .Switch.disabled{background:var(--Switch-track-background);border:1px solid var(--Switch-disabled-border)}.excalidraw .Switch.disabled.toggled{background:var(--Switch-disabled-toggled-background);border:1px solid var(--Switch-disabled-toggled-background)}.excalidraw .Switch:before{content:"";box-sizing:border-box;pointer-events:none;background:var(--Switch-thumb-background);border-radius:100%;width:10px;height:10px;transition:all .15s ease-out;display:block;position:absolute;top:4px;left:4px}.excalidraw .Switch:active:before{width:12px}.excalidraw .Switch.toggled:before{background:var(--Switch-track-background);width:14px;height:14px;top:2px;left:22px}.excalidraw .Switch.toggled:active:before{width:16px;left:20px}.excalidraw .Switch.disabled:before,.excalidraw .Switch.disabled.toggled:before{background:var(--Switch-disabled-color)}.excalidraw .Switch input{appearance:none;cursor:pointer;border-radius:12px;width:100%;height:100%;margin:0}.excalidraw .Switch input:disabled{cursor:unset}.excalidraw{--ImageExportModal-preview-border:#d6d6d6}.excalidraw.theme--dark{--ImageExportModal-preview-border:#5c5c5c}.excalidraw .ImageExportModal{-webkit-user-select:none;user-select:none;flex-direction:row;justify-content:space-between;display:flex}.excalidraw .ImageExportModal h3{margin:0;padding:0;font-family:Assistant;font-size:1.313rem;font-style:normal;font-weight:700;line-height:130%}.excalidraw--mobile.excalidraw .ImageExportModal h3,.excalidraw .ImageExportModal>h3{display:none}.excalidraw--mobile.excalidraw .ImageExportModal>h3{display:block}.excalidraw--mobile.excalidraw .ImageExportModal{flex-direction:column;height:calc(100vh - 5rem)}.excalidraw .ImageExportModal__preview{box-sizing:border-box;flex-direction:column;align-items:center;width:55%;height:360px;margin-right:1.5rem;display:flex}.excalidraw--mobile.excalidraw .ImageExportModal__preview{max-width:unset;margin-right:unset;width:100%;height:unset;flex-grow:1}.excalidraw .ImageExportModal__preview__filename>input{margin-top:1rem}.excalidraw .ImageExportModal__preview__canvas{box-sizing:border-box;border:1px solid var(--ImageExportModal-preview-border);background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==) 0;border-radius:12px;flex-grow:1;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;display:flex;overflow:hidden}.excalidraw .ImageExportModal__preview__canvas>canvas{max-width:calc(100% - 2rem);max-height:calc(100% - 2rem);filter:none!important}.excalidraw--mobile.excalidraw .ImageExportModal__preview__canvas>canvas{max-height:100%}.excalidraw--mobile.excalidraw .ImageExportModal__preview__canvas{max-width:unset;margin-top:24px}.excalidraw .ImageExportModal__settings{flex-flow:column wrap;gap:18px;display:flex}.excalidraw--mobile.excalidraw .ImageExportModal__settings{margin-left:unset;flex-direction:row;align-content:flex-start;gap:6px 34px;margin-top:1rem}.excalidraw .ImageExportModal__settings__setting{flex-direction:row;justify-content:space-between;align-items:center;display:flex}.excalidraw--mobile.excalidraw .ImageExportModal__settings__setting{align-items:start;justify-content:unset;flex-direction:column;height:52px}.excalidraw .ImageExportModal__settings__setting__label{flex-direction:row;align-items:center;font-family:Assistant;font-size:1rem;font-weight:600;line-height:150%;display:flex}.excalidraw .ImageExportModal__settings__setting__label svg{width:20px;height:20px;margin-left:10px}.excalidraw .ImageExportModal__settings__setting__content{align-items:center;height:100%;display:flex}.excalidraw .ImageExportModal__settings__buttons{flex-flow:wrap;flex-grow:1;align-content:flex-end;align-items:flex-end;gap:11px;display:flex}.excalidraw--mobile.excalidraw .ImageExportModal__settings__buttons{flex-basis:100%;justify-content:center;padding-top:32px}@keyframes successStatusAnimation{0%{transform:scale(.35)}50%{transform:scale(1.25)}to{transform:scale(1)}}.excalidraw .ExcButton{--text-color:transparent;--border-color:transparent;--back-color:transparent;color:var(--text-color);background-color:var(--back-color);border-color:var(--border-color);font-family:var(--font-family);-webkit-user-select:none;user-select:none;border-style:solid;border-width:1px;border-radius:.5rem}.excalidraw .ExcButton:hover{transition:all .15s ease-out}.excalidraw .ExcButton .Spinner{--spinner-color:var(--color-surface-lowest)}.excalidraw .ExcButton .ExcButton__statusIcon{visibility:visible;width:1.2rem;height:1.2rem;animation:.5s cubic-bezier(.3,1,.6,1) successStatusAnimation;position:absolute}.excalidraw .ExcButton.ExcButton--status-loading,.excalidraw .ExcButton.ExcButton--status-success{pointer-events:none}.excalidraw .ExcButton.ExcButton--status-loading .ExcButton__contents,.excalidraw .ExcButton.ExcButton--status-success .ExcButton__contents{visibility:hidden}.excalidraw .ExcButton[disabled]{pointer-events:none}.excalidraw .ExcButton,.excalidraw .ExcButton__contents{flex-wrap:nowrap;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.excalidraw .ExcButton--color-primary.ExcButton--variant-filled{--text-color:var(--color-surface-lowest);--back-color:var(--color-primary)}.excalidraw .ExcButton--color-primary.ExcButton--variant-filled .Spinner{--spinner-color:var(--text-color)}.excalidraw .ExcButton--color-primary.ExcButton--variant-filled:hover{--back-color:var(--color-brand-hover)}.excalidraw .ExcButton--color-primary.ExcButton--variant-filled:active{--back-color:var(--color-brand-active)}.excalidraw .ExcButton--color-primary.ExcButton--variant-outlined,.excalidraw .ExcButton--color-primary.ExcButton--variant-icon{--text-color:var(--color-primary);--border-color:var(--color-primary);--back-color:transparent}.excalidraw .ExcButton--color-primary.ExcButton--variant-outlined .Spinner,.excalidraw .ExcButton--color-primary.ExcButton--variant-icon .Spinner{--spinner-color:var(--text-color)}.excalidraw .ExcButton--color-primary.ExcButton--variant-outlined:hover,.excalidraw .ExcButton--color-primary.ExcButton--variant-icon:hover{--text-color:var(--color-brand-hover);--border-color:var(--color-brand-hover)}.excalidraw .ExcButton--color-primary.ExcButton--variant-outlined:active,.excalidraw .ExcButton--color-primary.ExcButton--variant-icon:active{--text-color:var(--color-brand-active);--border-color:var(--color-brand-active)}.excalidraw .ExcButton--color-danger.ExcButton--variant-filled{--text-color:var(--color-danger-text);--back-color:var(--color-danger-dark)}.excalidraw .ExcButton--color-danger.ExcButton--variant-filled .Spinner{--spinner-color:var(--text-color)}.excalidraw .ExcButton--color-danger.ExcButton--variant-filled:hover{--back-color:var(--color-danger-darker)}.excalidraw .ExcButton--color-danger.ExcButton--variant-filled:active{--back-color:var(--color-danger-darkest)}.excalidraw .ExcButton--color-danger.ExcButton--variant-outlined,.excalidraw .ExcButton--color-danger.ExcButton--variant-icon{--text-color:var(--color-danger);--border-color:var(--color-danger);--back-color:transparent}.excalidraw .ExcButton--color-danger.ExcButton--variant-outlined .Spinner,.excalidraw .ExcButton--color-danger.ExcButton--variant-icon .Spinner{--spinner-color:var(--text-color)}.excalidraw .ExcButton--color-danger.ExcButton--variant-outlined:hover,.excalidraw .ExcButton--color-danger.ExcButton--variant-icon:hover{--text-color:var(--color-danger-darkest);--border-color:var(--color-danger-darkest)}.excalidraw .ExcButton--color-danger.ExcButton--variant-outlined:active,.excalidraw .ExcButton--color-danger.ExcButton--variant-icon:active{--text-color:var(--color-danger-darker);--border-color:var(--color-danger-darker)}.excalidraw .ExcButton--color-success.ExcButton--variant-filled{--text-color:var(--color-success-text);--back-color:var(--color-success)}.excalidraw .ExcButton--color-success.ExcButton--variant-filled .Spinner{--spinner-color:var(--color-success)}.excalidraw .ExcButton--color-success.ExcButton--variant-filled:hover{--back-color:var(--color-success-darker)}.excalidraw .ExcButton--color-success.ExcButton--variant-filled:active{--back-color:var(--color-success-darkest)}.excalidraw .ExcButton--color-success.ExcButton--variant-outlined,.excalidraw .ExcButton--color-success.ExcButton--variant-icon{--text-color:var(--color-success-contrast);--border-color:var(--color-success-contrast);--back-color:transparent}.excalidraw .ExcButton--color-success.ExcButton--variant-outlined .Spinner,.excalidraw .ExcButton--color-success.ExcButton--variant-icon .Spinner{--spinner-color:var(--color-success-contrast)}.excalidraw .ExcButton--color-success.ExcButton--variant-outlined:hover,.excalidraw .ExcButton--color-success.ExcButton--variant-icon:hover{--text-color:var(--color-success-contrast-hover);--border-color:var(--color-success-contrast-hover)}.excalidraw .ExcButton--color-success.ExcButton--variant-outlined:active,.excalidraw .ExcButton--color-success.ExcButton--variant-icon:active{--text-color:var(--color-success-contrast-active);--border-color:var(--color-success-contrast-active)}.excalidraw .ExcButton--color-muted.ExcButton--variant-filled{--text-color:var(--island-bg-color);--back-color:var(--color-gray-50)}.excalidraw .ExcButton--color-muted.ExcButton--variant-filled .Spinner{--spinner-color:var(--text-color)}.excalidraw .ExcButton--color-muted.ExcButton--variant-filled:hover{--back-color:var(--color-gray-60)}.excalidraw .ExcButton--color-muted.ExcButton--variant-filled:active{--back-color:var(--color-gray-80)}.excalidraw .ExcButton--color-muted.ExcButton--variant-outlined,.excalidraw .ExcButton--color-muted.ExcButton--variant-icon{--text-color:var(--color-muted-background);--border-color:var(--color-muted);--back-color:var(--island-bg-color)}.excalidraw .ExcButton--color-muted.ExcButton--variant-outlined .Spinner,.excalidraw .ExcButton--color-muted.ExcButton--variant-icon .Spinner{--spinner-color:var(--text-color)}.excalidraw .ExcButton--color-muted.ExcButton--variant-outlined:hover,.excalidraw .ExcButton--color-muted.ExcButton--variant-icon:hover{--text-color:var(--color-muted-background-darker);--border-color:var(--color-muted-darker)}.excalidraw .ExcButton--color-muted.ExcButton--variant-outlined:active,.excalidraw .ExcButton--color-muted.ExcButton--variant-icon:active{--text-color:var(--color-muted-background-darker);--border-color:var(--color-muted-darkest)}.excalidraw .ExcButton--color-warning.ExcButton--variant-filled{--text-color:black;--back-color:var(--color-warning-dark)}.excalidraw .ExcButton--color-warning.ExcButton--variant-filled .Spinner{--spinner-color:var(--text-color)}.excalidraw .ExcButton--color-warning.ExcButton--variant-filled:hover{--back-color:var(--color-warning-darker)}.excalidraw .ExcButton--color-warning.ExcButton--variant-filled:active{--back-color:var(--color-warning-darkest)}.excalidraw .ExcButton--color-warning.ExcButton--variant-outlined,.excalidraw .ExcButton--color-warning.ExcButton--variant-icon{--text-color:var(--color-warning-dark);--border-color:var(--color-warning-dark);--back-color:var(--input-bg-color)}.excalidraw .ExcButton--color-warning.ExcButton--variant-outlined .Spinner,.excalidraw .ExcButton--color-warning.ExcButton--variant-icon .Spinner{--spinner-color:var(--text-color)}.excalidraw .ExcButton--color-warning.ExcButton--variant-outlined:hover,.excalidraw .ExcButton--color-warning.ExcButton--variant-icon:hover{--text-color:var(--color-warning-darker);--border-color:var(--color-warning-darker)}.excalidraw .ExcButton--color-warning.ExcButton--variant-outlined:active,.excalidraw .ExcButton--color-warning.ExcButton--variant-icon:active{--text-color:var(--color-warning-darkest);--border-color:var(--color-warning-darkest)}.excalidraw .ExcButton--size-large{letter-spacing:.4px;min-height:3rem;padding:.5rem 1.5rem;font-size:.875rem;font-weight:600}.excalidraw .ExcButton--size-large .ExcButton__contents{gap:.75rem}.excalidraw .ExcButton--size-medium{letter-spacing:normal;min-height:2.5rem;padding:.5rem 1rem;font-size:.75rem;font-weight:600}.excalidraw .ExcButton--size-medium .ExcButton__contents{gap:.5rem}.excalidraw .ExcButton--variant-icon{width:3rem;padding:.5rem .75rem}.excalidraw .ExcButton--fullWidth{width:100%}.excalidraw .ExcButton__icon{width:1.25rem;height:1.25rem}.excalidraw .FixedSideContainer{pointer-events:none;position:absolute}.excalidraw .FixedSideContainer>*{pointer-events:var(--ui-pointerEvents)}.excalidraw .FixedSideContainer_side_top{left:var(--editor-container-padding);top:var(--editor-container-padding);right:var(--editor-container-padding);bottom:var(--editor-container-padding)}.excalidraw .FixedSideContainer_side_top.zen-mode{right:42px}.excalidraw .HintViewer{pointer-events:none;box-sizing:border-box;text-align:center;width:100%;max-width:100%;color:var(--color-gray-40);flex-direction:column;justify-content:center;margin-top:.5rem;font-size:.75rem;display:flex;position:absolute;top:100%;left:0}.excalidraw--mobile.excalidraw .HintViewer{padding-right:2rem;position:static}.excalidraw .HintViewer>span{padding:.25rem}.excalidraw.theme--dark .HintViewer{color:var(--color-gray-60)}.excalidraw--mobile.excalidraw .PasteChartDialog .Island{flex-direction:column;display:flex}.excalidraw .PasteChartDialog .container{flex-wrap:wrap;justify-content:space-around;align-items:center;display:flex}.excalidraw--mobile.excalidraw .PasteChartDialog .container{flex-direction:column;justify-content:center}.excalidraw .PasteChartDialog .ChartPreview{text-align:center;background:0 0;border:1px solid #ced4da;border-radius:2px;justify-content:center;align-items:center;width:192px;height:128px;margin:8px;padding:1px;display:flex}.excalidraw .PasteChartDialog .ChartPreview div{display:inline-block}.excalidraw .PasteChartDialog .ChartPreview svg{max-width:186px;max-height:120px}.excalidraw .PasteChartDialog .ChartPreview:hover{border:2px solid #339af0;padding:0}.excalidraw .HelpDialog .Modal__content{max-width:960px}.excalidraw .HelpDialog h3{margin:1.5rem 0;font-size:1.125rem;font-weight:700}.excalidraw .HelpDialog__header{flex-wrap:wrap;gap:.75rem;display:flex}.excalidraw .HelpDialog__btn{--background:var(--color-surface-mid);background-color:var(--background);border:1px solid var(--background);border-radius:var(--border-radius-lg);color:var(--text-primary-color);letter-spacing:.4px;align-items:center;column-gap:.5rem;padding:.625rem 1rem;font-size:.75rem;font-weight:600;display:flex}.excalidraw.theme--dark.excalidraw .HelpDialog__btn{--background:var(--color-surface-high)}.excalidraw.theme--dark.excalidraw .HelpDialog__btn:hover{--background:#363541}.excalidraw .HelpDialog__btn:hover{--background:var(--color-surface-high);text-decoration:none}.excalidraw .HelpDialog__btn:active{border-color:var(--color-primary)}.excalidraw .HelpDialog__link-icon{line-height:0}.excalidraw .HelpDialog__link-icon svg{width:1rem;height:1rem}.excalidraw .HelpDialog__islands-container{grid-column-gap:1.5rem;grid-row-gap:2rem;display:grid}@media screen and (width>=1024px){.excalidraw .HelpDialog__islands-container{grid-template-columns:1fr 1fr}.excalidraw .HelpDialog__island--tools{grid-area:1/1/2/2}.excalidraw .HelpDialog__island--view{grid-area:2/1/3/2}.excalidraw .HelpDialog__island--editor{grid-area:1/2/3/3}}.excalidraw .HelpDialog__island h4{margin:0 0 .625rem;font-size:1rem;font-weight:700}.excalidraw .HelpDialog__island-content{border:1px solid var(--dialog-border-color);border-radius:var(--border-radius-lg)}.excalidraw .HelpDialog__shortcut{border-bottom:1px solid var(--dialog-border-color);justify-content:space-between;align-items:center;column-gap:.5rem;padding:.375rem .75rem;font-size:.875rem;display:flex}.excalidraw .HelpDialog__shortcut:last-child{border-bottom:none}.excalidraw .HelpDialog__key-container{flex-shrink:0;align-items:center;column-gap:.25rem;display:flex}.excalidraw .HelpDialog__key{box-sizing:border-box;background-color:var(--color-primary-light);border-radius:var(--border-radius-md);word-break:keep-all;align-items:center;padding:.5rem;font-family:inherit;font-size:.625rem;line-height:1;display:flex}.excalidraw{--avatar-size:1.75rem;--avatarList-gap:.625rem;--userList-padding:var(--space-factor);--userlist-hint-bg-color:var(--color-gray-10);--userlist-hint-heading-color:var(--color-gray-80);--userlist-hint-text-color:var(--color-gray-60);--userlist-collaborators-border-color:var(--color-gray-20)}.excalidraw .UserList__wrapper{justify-content:flex-end;align-items:center;width:100%;display:flex;pointer-events:none!important}.excalidraw .UserList{pointer-events:none;padding:var(--userList-padding);justify-content:flex-end;align-items:center;gap:var(--avatarList-gap);box-sizing:border-box;--max-size:calc(var(--avatar-size) * var(--max-avatars,2) + var(--avatarList-gap) * (var(--max-avatars,2) - 1) + var(--userList-padding) * 2);max-height:var(--max-size);max-width:var(--max-size);flex-wrap:wrap;display:flex}.excalidraw .UserList>*{pointer-events:var(--ui-pointerEvents)}.excalidraw .UserList_mobile{justify-content:normal;max-width:none;max-height:none;margin:.5rem 0;padding:0}.excalidraw .UserList__more{width:var(--avatar-size,1.5rem);height:var(--avatar-size,1.5rem);outline-offset:2px;cursor:pointer;color:var(--color-gray-100);background-color:var(--color-gray-20);border-radius:100%;flex:none;justify-content:center;align-items:center;font-size:.625rem;font-weight:700;line-height:1;display:flex;position:relative;border:0!important}.excalidraw .UserList__more:active{transform:scale(.94)}.excalidraw .UserList__more-img{border-radius:100%;width:100%;height:100%}.excalidraw .UserList__more:before{content:"";border-radius:100%;position:absolute;inset:-3px}.excalidraw .UserList__more.is-followed:before{border-color:var(--color-primary-hover);box-shadow:0 0 0 1px var(--color-primary-hover)}.excalidraw .UserList__more.is-current-user{cursor:auto}.excalidraw .UserList__collaborator-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.excalidraw .UserList__collaborator--avatar-only{flex:none;display:flex;position:relative}.excalidraw .UserList__collaborator--avatar-only .UserList__collaborator-status-icon{--size:14px;width:var(--size);height:var(--size);flex:none;display:flex;position:absolute;bottom:-.25rem;right:-.25rem}.excalidraw .UserList__collaborator--avatar-only .UserList__collaborator-status-icon svg{width:var(--size);height:var(--size);flex:none}.excalidraw .UserList__collaborator-status-icons{flex:none;justify-content:flex-end;gap:.25rem;min-width:2.25rem;margin-left:auto;display:flex}.excalidraw .UserList__collaborator.is-muted .UserList__collaborator-status-icon-microphone-muted{color:var(--color-danger);filter:drop-shadow(0 0 #00000080)}.excalidraw .UserList__collaborator-status-icon-speaking-indicator{box-sizing:border-box;flex-flow:row;justify-content:space-between;align-items:center;width:1rem;padding:0 3px;display:flex}.excalidraw .UserList__collaborator-status-icon-speaking-indicator div{background-color:#a2f1a6;width:.125rem;height:.4rem}.excalidraw .UserList__collaborator-status-icon-speaking-indicator div:first-of-type{animation:1s ease-in-out -.45s infinite speaking-indicator-anim}.excalidraw .UserList__collaborator-status-icon-speaking-indicator div:nth-of-type(2){animation:1s ease-in-out -.9s infinite speaking-indicator-anim}.excalidraw .UserList__collaborator-status-icon-speaking-indicator div:nth-of-type(3){animation:1s ease-in-out -.15s infinite speaking-indicator-anim}@keyframes speaking-indicator-anim{0%,to{transform:scaleY(1)}50%{transform:scaleY(2)}}.excalidraw.theme--dark{--userlist-hint-bg-color:var(--color-gray-90);--userlist-hint-heading-color:var(--color-gray-30);--userlist-hint-text-color:var(--color-gray-40);--userlist-collaborators-border-color:var(--color-gray-80)}.excalidraw .UserList__collaborators{max-height:50vh;top:auto}.excalidraw .Card{text-align:center;flex-direction:column;align-items:center;max-width:290px;margin:1em;display:flex}.excalidraw .Card .Card-icon{background:var(--card-color);color:#fff;border-radius:50%;flex:none;padding:1.4rem;font-size:2.6em;display:flex}.excalidraw .Card .Card-icon svg{width:2.8rem;height:2.8rem}.excalidraw .Card .Card-details{min-height:90px;margin-bottom:auto;padding:0 1em;font-size:.96em}.excalidraw .Card .Card-button.ToolIcon_type_button{background-color:var(--card-color);height:2.5rem;margin-top:1em;margin-bottom:.3em}.excalidraw .Card .Card-button.ToolIcon_type_button:hover{background-color:var(--card-color-darker)}.excalidraw .Card .Card-button.ToolIcon_type_button:active{background-color:var(--card-color-darkest)}.excalidraw .Card .Card-button.ToolIcon_type_button .ToolIcon__label{color:#fff}.excalidraw .Card .Card-button.ToolIcon_type_button .Spinner{--spinner-color:#fff}.excalidraw .ExportDialog__preview{--preview-padding:calc(var(--space-factor) * 4);text-align:center;padding:var(--preview-padding);margin-bottom:calc(var(--space-factor) * 3);background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==) 0;justify-content:center;align-items:center;display:flex}.excalidraw .ExportDialog__preview canvas{max-width:calc(100% - var(--preview-padding) * 2);max-height:25rem}.excalidraw.theme--dark .ExportDialog__preview canvas{filter:none}.excalidraw .ExportDialog__actions{grid-gap:calc(var(--space-factor) * 2);align-items:top;justify-content:space-between;width:100%;display:flex}.excalidraw--mobile.excalidraw .ExportDialog{flex-direction:column;display:flex}.excalidraw--mobile.excalidraw .ExportDialog__actions{flex-direction:column;align-items:center}.excalidraw--mobile.excalidraw .ExportDialog__actions>*{margin-bottom:calc(var(--space-factor) * 3)}.excalidraw--mobile.excalidraw .ExportDialog__preview canvas{max-height:30vh}.excalidraw--mobile.excalidraw .ExportDialog__dialog,.excalidraw--mobile.excalidraw .ExportDialog__dialog .Island{box-sizing:border-box;height:100%}.excalidraw--mobile.excalidraw .ExportDialog__dialog .Island{overflow-y:auto}.excalidraw .ExportDialog--json .ExportDialog-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));justify-items:center;row-gap:2em;display:grid}@media (width<=460px){.excalidraw .ExportDialog--json .ExportDialog-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.excalidraw .ExportDialog--json .ExportDialog-cards .Card-details{min-height:40px}}.excalidraw .ExportDialog--json .ExportDialog-cards .ProjectName{flex-direction:column;align-items:flex-start;width:fit-content;margin:1em auto}.excalidraw .ExportDialog--json .ExportDialog-cards .ProjectName .TextInput{width:auto}.excalidraw .ExportDialog--json .ExportDialog-cards .ProjectName-label{margin:.625em 0;font-weight:700}.excalidraw button.ExportDialog-imageExportButton{background-color:var(--button-color);color:#fff;border:0;border-radius:1rem;justify-content:center;align-items:center;width:5rem;height:5rem;margin:0 .2em;padding:0;font-family:Cascadia;font-size:1.8em;display:flex;box-shadow:0 3px 5px -1px #00000047,0 6px 10px #00000024}.excalidraw button.ExportDialog-imageExportButton:hover{background-color:var(--button-color-darker)}.excalidraw button.ExportDialog-imageExportButton:active{background-color:var(--button-color-darkest);box-shadow:none}.excalidraw button.ExportDialog-imageExportButton svg{width:.9em}.excalidraw .sidebar-trigger{width:var(--button-width,var(--default-button-size));height:var(--button-height,var(--default-button-size));box-sizing:border-box;border-style:solid;border-width:1px;border-color:var(--button-border,var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg,var(--island-bg-color));color:var(--button-color,var(--color-on-surface));font-family:var(--ui-font);box-shadow:0 0 0 1px var(--color-surface-lowest);background-color:var(--color-surface-low);width:auto;height:var(--lg-button-size);letter-spacing:.4px;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.625rem;font-size:.75rem;line-height:0;display:flex}.excalidraw .sidebar-trigger:hover{background-color:var(--button-hover-bg,var(--island-bg-color));border-color:var(--button-hover-border,var(--button-border,var(--default-border-color)));color:var(--button-hover-color,var(--button-color,var(--text-primary-color,inherit)))}.excalidraw .sidebar-trigger:active{background-color:var(--button-active-bg,var(--island-bg-color));border-color:var(--button-active-border,var(--color-primary-darkest))}.excalidraw .sidebar-trigger.active{background-color:var(--button-selected-bg,var(--color-surface-primary-container));border-color:var(--button-selected-border,var(--color-surface-primary-container))}.excalidraw .sidebar-trigger.active:hover{background-color:var(--button-selected-hover-bg,var(--color-surface-primary-container))}.excalidraw .sidebar-trigger.active svg{color:var(--button-color,var(--color-on-primary-container))}.excalidraw .sidebar-trigger:active{box-shadow:0 0 0 1px var(--color-brand-active)}.excalidraw .sidebar-trigger svg{width:var(--lg-icon-size);height:var(--lg-icon-size)}.excalidraw .sidebar-trigger__label-element{align-self:flex-start}.excalidraw .default-sidebar-trigger .sidebar-trigger__label{white-space:nowrap;display:block}.excalidraw.excalidraw--mobile .default-sidebar-trigger .sidebar-trigger__label{display:none}.excalidraw .sidebar{z-index:5;box-sizing:border-box;background-color:var(--sidebar-bg-color);box-shadow:var(--sidebar-shadow);pointer-events:var(--ui-pointerEvents);width:calc(var(--right-sidebar-width) - var(--space-factor) * 2);border-left:1px solid var(--sidebar-border-color);border-radius:0;flex-direction:column;margin:0;padding:0;display:flex;position:absolute;top:0;bottom:0;right:0;overflow:hidden}:root[dir=rtl] .excalidraw .sidebar{left:0;right:auto}.excalidraw .sidebar--docked{box-shadow:none}:root[dir=rtl] .excalidraw .sidebar{border-right:1px solid var(--sidebar-border-color);border-left:0}.excalidraw .sidebar__header{box-sizing:border-box;justify-content:space-between;align-items:center;width:100%;padding:1rem .75rem;display:flex;position:relative}.excalidraw .sidebar__header:after{content:"";background:var(--sidebar-border-color);width:calc(100% - 1.5rem);height:1px;position:absolute;bottom:-1px}.excalidraw .sidebar__header__buttons{align-items:center;gap:0;margin-left:auto;display:flex}.excalidraw .sidebar__header__buttons button{width:var(--button-width,var(--default-button-size));height:var(--button-height,var(--default-button-size));box-sizing:border-box;border-style:solid;border-width:1px;border-color:var(--button-border,var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg,var(--island-bg-color));color:var(--button-color,var(--color-on-surface));font-family:var(--ui-font);--button-bg:transparent;width:var(--lg-button-size);height:var(--lg-button-size);justify-content:center;align-items:center;padding:0;display:flex;border:0!important}.excalidraw .sidebar__header__buttons button:hover{background-color:var(--button-hover-bg,var(--island-bg-color));border-color:var(--button-hover-border,var(--button-border,var(--default-border-color)));color:var(--button-hover-color,var(--button-color,var(--text-primary-color,inherit)))}.excalidraw .sidebar__header__buttons button:active{background-color:var(--button-active-bg,var(--island-bg-color));border-color:var(--button-active-border,var(--color-primary-darkest))}.excalidraw .sidebar__header__buttons button.active{background-color:var(--button-selected-bg,var(--color-surface-primary-container));border-color:var(--button-selected-border,var(--color-surface-primary-container))}.excalidraw .sidebar__header__buttons button.active:hover{background-color:var(--button-selected-hover-bg,var(--color-surface-primary-container))}.excalidraw .sidebar__header__buttons button.active svg{color:var(--button-color,var(--color-on-primary-container))}.excalidraw .sidebar__header__buttons button svg{width:var(--lg-icon-size);height:var(--lg-icon-size)}.excalidraw .sidebar__header__buttons button:hover{background:var(--button-hover-bg,var(--island-bg-color))}.excalidraw .sidebar__header__buttons .sidebar__dock.selected svg{stroke:var(--color-primary);fill:var(--color-primary)}.excalidraw .sidebar-tabs-root{flex-direction:column;flex:auto;padding:1rem 0;display:flex}.excalidraw .sidebar-tabs-root [role=tabpanel]{outline:none;flex-direction:column;flex:auto;display:flex}.excalidraw .sidebar-tabs-root [role=tabpanel][data-state=inactive]{display:none!important}.excalidraw .sidebar-tabs-root [role=tablist]{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:1rem;display:grid}.excalidraw .sidebar-tabs-root>.sidebar__header{padding-top:0;padding-bottom:1rem}.excalidraw .sidebar-tab-trigger{--button-width:auto;--button-bg:transparent;--button-hover-bg:transparent;--button-active-bg:var(--color-primary);--button-hover-color:var(--color-primary);--button-hover-border:var(--color-primary)}.excalidraw .sidebar-tab-trigger[data-state=active]{--button-bg:var(--color-primary);--button-hover-bg:var(--color-primary-darker);--button-hover-color:var(--color-icon-white);--button-border:var(--color-primary);color:var(--color-icon-white)}.excalidraw .default-sidebar{flex-direction:column;display:flex}.excalidraw .default-sidebar .sidebar-triggers{border:1px solid var(--sidebar-border-color);background:var(--default-bg-color);border-radius:.625rem;gap:0;margin-top:-3px;margin-bottom:-3px;padding:2px;display:flex}.excalidraw .default-sidebar .sidebar-triggers .sidebar-tab-trigger{height:var(--lg-button-size);width:var(--lg-button-size);border:none}.excalidraw .ActiveFile .ActiveFile__fileName{align-items:center;display:flex}.excalidraw .ActiveFile .ActiveFile__fileName span{text-overflow:ellipsis;white-space:nowrap;width:9.3em;overflow:hidden}.excalidraw .ActiveFile .ActiveFile__fileName svg{width:1.15em;margin-inline-end:.3em;transform:scaleY(.9)}.excalidraw .OverwriteConfirm{isolation:isolate;flex-direction:column;align-items:center;gap:.75rem;display:flex}.excalidraw .OverwriteConfirm h3{color:var(--text-primary-color);align-self:flex-start;margin:0;font-size:1.3125rem;font-weight:700;line-height:130%}.excalidraw .OverwriteConfirm__Description{box-sizing:border-box;background:var(--color-danger-background);width:100%;color:var(--color-danger-color);border-radius:.5rem;flex-direction:row;align-items:center;gap:1rem;padding:2.5rem;font-family:Assistant;font-size:1rem;font-style:normal;font-weight:400;line-height:150%;display:flex}.excalidraw--mobile.excalidraw .OverwriteConfirm__Description{text-align:center;flex-direction:column}.excalidraw .OverwriteConfirm__Description__spacer{flex-grow:1}.excalidraw .OverwriteConfirm__Description__icon{box-sizing:border-box;background:var(--color-danger-icon-background);border-radius:2.5rem;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;padding:.75rem;display:flex}.excalidraw .OverwriteConfirm__Description__icon svg{color:var(--color-danger-icon-color);width:1.5rem;height:1.5rem}.excalidraw .OverwriteConfirm__Description.OverwriteConfirm__Description--color-warning{background:var(--color-warning-background);color:var(--color-warning-color)}.excalidraw .OverwriteConfirm__Description.OverwriteConfirm__Description--color-warning .OverwriteConfirm__Description__icon{background:var(--color-warning-icon-background);flex:none}.excalidraw .OverwriteConfirm__Description.OverwriteConfirm__Description--color-warning .OverwriteConfirm__Description__icon svg{color:var(--color-warning-icon-color)}.excalidraw .OverwriteConfirm__Actions{flex-direction:row;justify-content:center;place-items:stretch stretch;gap:1.5rem;display:flex}.excalidraw--mobile.excalidraw .OverwriteConfirm__Actions{flex-direction:column}.excalidraw .OverwriteConfirm__Actions__Action{flex-direction:column;flex-grow:0;flex-basis:50%;align-items:center;gap:.75rem;padding:1.5rem;display:flex}.excalidraw .OverwriteConfirm__Actions__Action__content{text-align:center;height:100%;font-size:.875rem}.excalidraw .OverwriteConfirm__Actions__Action h4{color:var(--text-primary-color);margin:0;font-size:1.125rem;font-weight:700;line-height:130%}.excalidraw .layer-ui__search{flex-direction:column;flex:1 0 auto;padding:8px 0 0;display:flex}.excalidraw .layer-ui__search-header{justify-content:space-between;align-items:center;padding:0 .75rem;display:flex}.excalidraw .layer-ui__search-header .ExcTextField{flex:1 0 auto}.excalidraw .layer-ui__search-header .ExcTextField__input{border-radius:var(--border-radius-md);background-color:#f5f5f9;border:0}.excalidraw.theme--dark.excalidraw .layer-ui__search-header .ExcTextField__input{background-color:#31303b}.excalidraw .layer-ui__search-header .ExcTextField__input input::placeholder{font-size:.9rem}.excalidraw .layer-ui__search-count{justify-content:space-between;align-items:center;margin:0 .75rem .25rem;padding:8px 8px 0;font-size:.8em;display:flex}.excalidraw .layer-ui__search-count .result-nav{display:flex}.excalidraw .layer-ui__search-count .result-nav .result-nav-btn{--button-border:transparent;width:36px;height:36px}.excalidraw .layer-ui__search-count .result-nav .result-nav-btn:active{background-color:var(--color-surface-high)}.excalidraw .layer-ui__search-count .result-nav .result-nav-btn:first-child{margin-right:4px}.excalidraw .layer-ui__search-result-container{flex-direction:column;flex:1 1 0;gap:.125rem;display:flex;overflow-y:auto}.excalidraw .layer-ui__result-item{cursor:pointer;border-radius:var(--border-radius-md);border:1px solid #0000;outline:none;flex:none;align-items:center;min-height:2rem;margin:0 .75rem;padding:.25rem .75rem;display:flex}.excalidraw .layer-ui__result-item .text-icon{width:1rem;height:1rem;margin-right:.75rem}.excalidraw .layer-ui__result-item .preview-text{text-overflow:ellipsis;word-break:break-all;flex:1;max-height:48px;line-height:24px;overflow:hidden}.excalidraw .layer-ui__result-item:hover{background-color:var(--color-surface-high)}.excalidraw .layer-ui__result-item:active{border-color:var(--color-primary)}.excalidraw .layer-ui__result-item.active{background-color:var(--color-surface-high)}.excalidraw .dialog-mermaid-title{margin-block:.25rem;padding-inline:2.5rem;font-size:1.25rem;font-weight:700}.excalidraw .Modal.Dialog.ttd-dialog{padding:1.25rem}.excalidraw .Modal.Dialog.ttd-dialog.Dialog--fullscreen{margin-top:0}.excalidraw .Modal.Dialog.ttd-dialog .Island{height:100%;box-shadow:none;flex-direction:column;flex:auto;display:flex;padding-inline:0!important}.excalidraw .Modal.Dialog.ttd-dialog .Modal__content{height:auto;max-height:100%}@media screen and (width>=861px){.excalidraw .Modal.Dialog.ttd-dialog .Modal__content{height:100%;max-height:750px}}.excalidraw .Modal.Dialog.ttd-dialog .Dialog__content{flex:auto}.excalidraw .ttd-dialog-desc{margin-bottom:1.5rem;font-size:15px;font-style:italic;font-weight:500}.excalidraw .ttd-dialog-tabs-root{flex-direction:column;width:100%;height:100%;display:flex}.excalidraw .ttd-dialog-tab-trigger{color:var(--color-on-surface);letter-spacing:.4px;background-color:#0000;border:0;height:2.875rem;margin:0;padding:0 1rem;font-family:inherit;font-size:.875rem;font-weight:600}.excalidraw .ttd-dialog-tab-trigger[data-state=active]{border-bottom:2px solid var(--color-primary)}.excalidraw .ttd-dialog-triggers{border-bottom:1px solid var(--color-surface-high);margin-bottom:1.5rem;padding-inline:2.5rem}.excalidraw .ttd-dialog-content{flex-direction:column;height:100%;padding-inline:2.5rem;display:flex}.excalidraw .ttd-dialog-content[hidden]{display:none}.excalidraw .ttd-dialog-input{resize:none;border-radius:var(--border-radius-lg);border:1px solid var(--dialog-border-color);white-space:pre-wrap;box-sizing:border-box;width:auto;height:10rem;padding:.85rem;font-family:monospace}@media screen and (width>=861px){.excalidraw .ttd-dialog-input{width:100%;height:100%}}.excalidraw .ttd-dialog-output-wrapper{box-sizing:border-box;border-radius:var(--border-radius-lg);border:1px solid var(--dialog-border-color);background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==) 0;flex-grow:1;justify-content:center;align-items:center;width:auto;height:400px;padding:.85rem;display:flex;position:relative}@media screen and (width>=861px){.excalidraw .ttd-dialog-output-wrapper{width:100%;height:200px}}.excalidraw .ttd-dialog-output-wrapper canvas{max-width:100%;max-height:100%}.excalidraw .ttd-dialog-output-canvas-container{flex-grow:1;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.excalidraw .ttd-dialog-output-error{color:red;word-break:break-word;text-align:center;z-index:10;width:100%;height:100%;max-height:100%;font-size:30px;font-weight:700;position:absolute;overflow:auto}.excalidraw .ttd-dialog-output-error p{text-align:left;white-space:pre-wrap;padding:0 10px;font-family:Cascadia;font-size:.875rem;font-weight:500}.excalidraw .ttd-dialog-panels{height:100%}@media screen and (width>=861px){.excalidraw .ttd-dialog-panels{grid-template-columns:1fr 1fr;gap:4rem;display:grid}}.excalidraw .ttd-dialog-panel{flex-direction:column;width:100%;display:flex}.excalidraw .ttd-dialog-panel__header{align-items:center;gap:1rem;margin:0 4px 4px;display:flex}.excalidraw .ttd-dialog-panel__header label{font-size:14px;font-style:normal;font-weight:600}.excalidraw .ttd-dialog-panel:first-child .ttd-dialog-panel-button-container:not(.invisible){margin-bottom:4rem}@media screen and (width>=861px){.excalidraw .ttd-dialog-panel .ttd-dialog-panel-button-container:not(.invisible){margin-bottom:.5rem!important}}.excalidraw .ttd-dialog-panel textarea{resize:none;border-radius:var(--border-radius-lg);border:1px solid var(--dialog-border-color);white-space:pre-wrap;box-sizing:border-box;width:100%;height:100%;padding:.85rem;font-family:monospace}@media screen and (width<=861px){.excalidraw .ttd-dialog-panel textarea{width:auto;height:10rem}}.excalidraw .ttd-dialog-panel-button-container{margin-top:1rem;margin-bottom:.5rem}.excalidraw .ttd-dialog-panel-button-container.invisible .ttd-dialog-panel-button{display:none}@media screen and (width>=861px){.excalidraw .ttd-dialog-panel-button-container.invisible .ttd-dialog-panel-button{visibility:hidden;display:block}}.excalidraw .ttd-dialog-panel-button{position:relative}.excalidraw .ttd-dialog-panel-button.excalidraw-button{color:#fff;background-color:var(--color-primary);width:100%;height:2.5rem;font-family:inherit;font-size:12px;font-weight:600}.excalidraw .ttd-dialog-panel-button.excalidraw-button:hover{background-color:var(--color-primary-darker)}.excalidraw .ttd-dialog-panel-button.excalidraw-button:active{background-color:var(--color-primary-darkest)}.excalidraw .ttd-dialog-panel-button.excalidraw-button:disabled{opacity:.5;cursor:not-allowed}.excalidraw .ttd-dialog-panel-button.excalidraw-button:disabled:hover{background-color:var(--color-primary)}@media screen and (width>=861px){.excalidraw .ttd-dialog-panel-button.excalidraw-button{width:auto;min-width:7.5rem}}.excalidraw.theme--dark.excalidraw .ttd-dialog-panel-button.excalidraw-button{color:var(--color-gray-100)}.excalidraw .ttd-dialog-panel-button div{display:contents}.excalidraw .ttd-dialog-panel-button div.invisible{visibility:hidden}.excalidraw .ttd-dialog-panel-button div.Spinner{--spinner-color:white;position:absolute;inset:0;display:flex!important}.excalidraw.theme--dark.excalidraw .ttd-dialog-panel-button div.Spinner{--spinner-color:var(--color-gray-100)}.excalidraw .ttd-dialog-panel-button div span{padding-left:.5rem;display:flex}.excalidraw .ttd-dialog-submit-shortcut{opacity:.6;gap:.125rem;margin-inline-start:.5rem;font-size:.625rem;display:flex}.excalidraw .ttd-dialog-submit-shortcut__key{border:1px solid gray;border-radius:4px;padding:2px 3px}.excalidraw .drag-input-container{width:100%;display:flex}.excalidraw .drag-input-container:focus-within{box-shadow:0 0 0 1px var(--color-primary-darkest);border-radius:var(--border-radius-md)}.excalidraw .disabled{opacity:.5;pointer-events:none}.excalidraw .drag-input-label{border:1px solid var(--default-border-color);box-sizing:border-box;min-width:1rem;height:2rem;color:var(--popup-text-color);border-right:0;flex-shrink:0;justify-content:center;align-items:center;padding:0 .5rem 0 .75rem;display:flex;position:relative}:root[dir=ltr] .excalidraw .drag-input-label{border-radius:var(--border-radius-md) 0 0 var(--border-radius-md)}:root[dir=rtl] .excalidraw .drag-input-label{border-radius:0 var(--border-radius-md) var(--border-radius-md) 0;border-right:1px solid var(--default-border-color);border-left:0}.excalidraw .drag-input{box-sizing:border-box;width:100%;color:var(--text-primary-color);border:0;border:1px solid var(--default-border-color);letter-spacing:.4px;appearance:none;background-color:#0000;border-left:0;outline:none;height:2rem;margin:0;padding:.5rem .5rem .5rem .25rem;font-family:inherit;font-size:.875rem}:root[dir=ltr] .excalidraw .drag-input{border-radius:0 var(--border-radius-md) var(--border-radius-md) 0}:root[dir=rtl] .excalidraw .drag-input{border-radius:var(--border-radius-md) 0 0 var(--border-radius-md);border-left:1px solid var(--default-border-color);border-right:0}.excalidraw .drag-input:focus-visible{box-shadow:none}.exc-stats{width:204px;z-index:var(--zIndex-layerUI);pointer-events:var(--ui-pointerEvents);font-size:12px;position:absolute;top:60px}:root[dir=rtl] .exc-stats{left:12px;right:initial}.exc-stats h2{margin-block:.83em;font-size:1.5em;font-weight:700}.exc-stats h3{white-space:nowrap;margin:0;font-size:1.17em;font-weight:700}.exc-stats__rows{flex-direction:column;gap:.3125rem;display:flex}.exc-stats__row{justify-content:space-between;align-items:center;gap:4px;display:grid}.exc-stats__row div+div{text-align:right}.exc-stats__row--heading{text-align:center;margin:.25rem 0;font-weight:700}.exc-stats .title{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.exc-stats .title h2{margin:0}.exc-stats .close{cursor:pointer;width:16px;height:16px}.exc-stats .close svg{width:100%;height:100%}.excalidraw .ElementLinkDialog{top:var(--editor-container-padding);left:var(--editor-container-padding);z-index:var(--zIndex-modal);box-shadow:var(--shadow-island);background-color:var(--island-bg-color);border-radius:10px;flex-direction:column;justify-content:space-between;padding:1.5rem;display:flex;position:absolute}.excalidraw--mobile.excalidraw .ElementLinkDialog{box-sizing:border-box;z-index:5;width:calc(100% - 1rem);margin-left:.5rem;margin-right:.5rem;left:0}.excalidraw .ElementLinkDialog .ElementLinkDialog__header{margin-bottom:1.5rem}.excalidraw .ElementLinkDialog .ElementLinkDialog__header h2{margin-top:0;margin-bottom:.5rem}.excalidraw--mobile.excalidraw .ElementLinkDialog .ElementLinkDialog__header h2{font-size:1.25rem}.excalidraw .ElementLinkDialog .ElementLinkDialog__header p{margin:0}.excalidraw--mobile.excalidraw .ElementLinkDialog .ElementLinkDialog__header p{font-size:.875rem}.excalidraw--mobile.excalidraw .ElementLinkDialog .ElementLinkDialog__header{margin-bottom:1rem}.excalidraw .ElementLinkDialog .ElementLinkDialog__input{display:flex}.excalidraw .ElementLinkDialog .ElementLinkDialog__input .ElementLinkDialog__input-field{flex:1}.excalidraw .ElementLinkDialog .ElementLinkDialog__input .ElementLinkDialog__remove{color:#c92a2a;margin-left:1rem}.excalidraw .ElementLinkDialog .ElementLinkDialog__input .ElementLinkDialog__remove .ToolIcon__icon{width:2rem;height:2rem}.excalidraw .ElementLinkDialog .ElementLinkDialog__input .ElementLinkDialog__remove .ToolIcon__icon svg{color:#fa5252}.excalidraw .ElementLinkDialog .ElementLinkDialog__actions{justify-content:flex-end;margin-top:1.5rem;display:flex}.excalidraw--mobile.excalidraw .ElementLinkDialog .ElementLinkDialog__actions{margin-top:1rem;font-size:.875rem}.excalidraw .layer-ui__wrapper.animate{transition:width .1s ease-in-out}.excalidraw .layer-ui__wrapper{pointer-events:none;width:100%;height:100%;z-index:var(--zIndex-layerUI);position:absolute}.excalidraw .layer-ui__wrapper__top-right{justify-content:flex-end;gap:.75rem;width:100%;display:flex;pointer-events:none!important}.excalidraw .layer-ui__wrapper__top-right>*{pointer-events:var(--ui-pointerEvents)}.excalidraw .layer-ui__wrapper__footer{width:100%}.excalidraw .layer-ui__wrapper__footer-right{z-index:100;display:flex}.excalidraw .layer-ui__wrapper .zen-mode-transition{transition:transform .5s ease-in-out}:root[dir=ltr] .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-left{transform:translate(-999px)}:root[dir=ltr] .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-right,:root[dir=rtl] .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-left{transform:translate(999px)}:root[dir=rtl] .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-right{transform:translate(-999px)}.excalidraw .layer-ui__wrapper .zen-mode-transition.layer-ui__wrapper__footer-left--transition-bottom{transform:translateY(92px)}.excalidraw .layer-ui__wrapper .disable-zen-mode{opacity:0;visibility:hidden;font-family:var(--ui-font);border-radius:var(--border-radius-lg);border:1px solid var(--default-border-color);background-color:var(--island-bg-color);color:var(--text-primary-color);padding:10px;font-size:.75rem;font-weight:500;line-height:1;transition:visibility linear,opacity .5s;position:absolute;bottom:0}[dir=ltr] .excalidraw .layer-ui__wrapper .disable-zen-mode{right:1rem}[dir=rtl] .excalidraw .layer-ui__wrapper .disable-zen-mode{left:1rem}.excalidraw .layer-ui__wrapper .disable-zen-mode:hover{background-color:var(--button-hover-bg)}.excalidraw .layer-ui__wrapper .disable-zen-mode:active{border-color:var(--color-primary)}.excalidraw .layer-ui__wrapper .disable-zen-mode--visible{opacity:1;visibility:visible;pointer-events:var(--ui-pointerEvents);transition:visibility 0s linear .8s,opacity .5s .8s}.excalidraw .layer-ui__wrapper .layer-ui__wrapper__footer-left>*,.excalidraw .layer-ui__wrapper .footer-center>*,.excalidraw .layer-ui__wrapper .layer-ui__wrapper__footer-right>*{pointer-events:var(--ui-pointerEvents)}.excalidraw .layer-ui__wrapper .layer-ui__wrapper__footer-right{margin-top:auto;margin-bottom:auto}.excalidraw .App-toolbar.zen-mode .ToolIcon__keybinding,.excalidraw .App-toolbar.zen-mode .HintViewer{display:none}.excalidraw .App-toolbar__divider{background-color:var(--default-border-color);align-self:center;width:1px;height:1.5rem;margin:0 .25rem}.excalidraw--mobile.excalidraw .App-toolbar__divider{margin:0}.excalidraw .App-toolbar__extra-tools-trigger{box-shadow:none;background-color:#0000;border:0}.excalidraw .App-toolbar__extra-tools-trigger:active{background-color:var(--button-hover-bg);box-shadow:0 0 0 1px var(--button-active-border,var(--color-primary-darkest)) inset}.excalidraw .App-toolbar__extra-tools-trigger--selected,.excalidraw .App-toolbar__extra-tools-trigger--selected:hover{background:var(--color-primary-light);color:var(--color-primary)}.excalidraw .App-toolbar__extra-tools-dropdown{z-index:1;min-width:11.875rem;margin-top:.375rem;right:0}.excalidraw .Toast{background-color:var(--button-gray-1);box-sizing:border-box;cursor:default;text-align:center;z-index:999999;border-radius:4px;width:300px;margin-left:-150px;padding:4px 0;animation:.5s fade-in;position:absolute;bottom:10px;left:50%}.excalidraw .Toast .Toast__message{color:var(--popup-text-color);white-space:pre-wrap;padding:0 1.6rem}.excalidraw .Toast .close{padding:.4rem;position:absolute;top:0;right:0}.excalidraw .Toast .close .ToolIcon__icon{width:1.2rem;height:1.2rem}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.excalidraw .SVGLayer{pointer-events:none;width:100vw;height:100vh;z-index:var(--zIndex-svgLayer);position:fixed;top:0;left:0}.excalidraw .SVGLayer svg{image-rendering:auto;width:100%;height:100%;position:absolute;top:0;left:0;overflow:visible}.excalidraw .excalidraw-canvas-buttons{z-index:var(--zIndex-canvasButtons);background:var(--island-bg-color);border-radius:var(--border-radius-lg);flex-direction:column;gap:.375rem;display:flex;position:absolute;box-shadow:0 2px 4px #0000004d}.excalidraw .follow-mode{box-sizing:border-box;pointer-events:none;border:2px solid var(--color-primary-hover);z-index:9999;justify-content:center;align-items:flex-end;display:flex;position:absolute}.excalidraw .follow-mode__badge{background-color:var(--color-primary-hover);color:var(--color-primary-light);pointer-events:all;border-radius:.5rem;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.25rem .5rem;font-size:.75rem;display:flex}.excalidraw .follow-mode__badge__label{white-space:pre-wrap;line-height:1;display:flex}.excalidraw .follow-mode__badge__username{white-space:nowrap;text-overflow:ellipsis;max-width:100px;display:block;overflow:hidden}.excalidraw .follow-mode__disconnect-btn{all:unset;cursor:pointer;border-radius:.25rem}.excalidraw .follow-mode__disconnect-btn:hover{background-color:var(--color-primary-darker)}.excalidraw .follow-mode__disconnect-btn:active{background-color:var(--color-primary-darkest)}.excalidraw .follow-mode__disconnect-btn svg{width:1rem;height:1rem;display:block}.visually-hidden{clip:rect(1px,1px,1px,1px);white-space:nowrap;-webkit-user-select:none;user-select:none;width:1px;height:1px;overflow:hidden;position:absolute!important}.LoadingMessage{z-index:999;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.LoadingMessage .Spinner{font-size:2.8em}.LoadingMessage .LoadingMessage-text{margin-top:1em;font-size:.8em}.LoadingMessage--dark{color:#ced4da;background-color:#121212}.excalidraw{--theme-filter:none;--button-destructive-bg-color:#ffe3e3;--button-destructive-color:#c92a2a;--button-gray-1:#e9ecef;--button-gray-2:#ced4da;--button-gray-3:#adb5bd;--button-special-active-bg-color:#ebfbee;--dialog-border-color:var(--color-gray-20);--dropdown-icon:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"292.4\" height=\"292.4\" viewBox=\"0 0 292 292\"><path d=\"M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z\"/></svg>");--focus-highlight-color:#a5d8ff;--icon-fill-color:var(--color-on-surface);--icon-green-fill-color:#2b8a3e;--default-bg-color:#fff;--input-bg-color:#fff;--input-border-color:#ced4da;--input-hover-bg-color:#f1f3f5;--input-label-color:#495057;--island-bg-color:#fff;--keybinding-color:var(--color-gray-40);--link-color:#1c7ed6;--overlay-bg-color:#ffffffe0;--popup-bg-color:var(--island-bg-color);--popup-secondary-bg-color:#f1f3f5;--popup-text-color:#000;--popup-text-inverted-color:#fff;--select-highlight-color:#339af0;--shadow-island:0px 0px .931014px 0px #0000002b, 0px 0px 3.12708px 0px #00000014, 0px 7px 14px 0px #0000000d;--button-hover-bg:var(--color-surface-high);--button-active-bg:var(--color-surface-high);--button-active-border:var(--color-brand-active);--default-border-color:var(--color-surface-high);--default-button-size:2rem;--default-icon-size:1rem;--lg-button-size:2.25rem;--lg-icon-size:1rem;--editor-container-padding:1rem;--scrollbar-thumb:var(--button-gray-2);--scrollbar-thumb-hover:var(--button-gray-3);--color-slider-track:#ccf;--color-slider-thumb:var(--color-gray-80);--modal-shadow:0px 100px 80px #00000012, 0px 41.7776px 33.4221px #0000000d, 0px 22.3363px 17.869px #0000000b, 0px 12.5216px 10.0172px #00000009, 0px 6.6501px 5.32008px #00000007, 0px 2.76726px 2.21381px #00000005;--avatar-border-color:var(--color-gray-20);--sidebar-shadow:0px 100px 80px #00000012, 0px 41.7776px 33.4221px #0000000d, 0px 22.3363px 17.869px #0000000b, 0px 12.5216px 10.0172px #00000009, 0px 6.6501px 5.32008px #00000007, 0px 2.76726px 2.21381px #00000005;--sidebar-border-color:var(--color-surface-high);--sidebar-bg-color:var(--island-bg-color);--library-dropdown-shadow:0px 15px 6px #00000003, 0px 8px 5px #0000000d, 0px 4px 4px #00000017, 0px 1px 2px #0000001a, 0px 0px 0px #0000001a;--space-factor:.25rem;--text-primary-color:var(--color-on-surface);--color-selection:#6965db;--color-icon-white:#fff;--color-primary:#6965db;--color-primary-darker:#5b57d1;--color-primary-darkest:#4a47b1;--color-primary-light:#e3e2fe;--color-primary-light-darker:#d7d5ff;--color-primary-hover:#5753d0;--color-gray-10:#f5f5f5;--color-gray-20:#ebebeb;--color-gray-30:#d6d6d6;--color-gray-40:#b8b8b8;--color-gray-50:#999;--color-gray-60:#7a7a7a;--color-gray-70:#5c5c5c;--color-gray-80:#3d3d3d;--color-gray-85:#242424;--color-gray-90:#1e1e1e;--color-gray-100:#121212;--color-disabled:var(--color-gray-40);--color-warning:#fceeca;--color-warning-dark:#f5c354;--color-warning-darker:#f3ab2c;--color-warning-darkest:#ec8b14;--color-text-warning:var(--text-primary-color);--color-danger:#db6965;--color-danger-dark:#db6965;--color-danger-darker:#d65550;--color-danger-darkest:#d1413c;--color-danger-text:black;--color-danger-background:#fff0f0;--color-danger-icon-background:#ffdad6;--color-danger-color:#700000;--color-danger-icon-color:#700000;--color-warning-background:var(--color-warning);--color-warning-icon-background:var(--color-warning-dark);--color-warning-color:var(--text-primary-color);--color-warning-icon-color:var(--text-primary-color);--color-muted:var(--color-gray-30);--color-muted-darker:var(--color-gray-60);--color-muted-darkest:var(--color-gray-100);--color-muted-background:var(--color-gray-80);--color-muted-background-darker:var(--color-gray-100);--color-promo:var(--color-primary);--color-success:#cafccc;--color-success-darker:#bafabc;--color-success-darkest:#a5eba8;--color-success-text:#268029;--color-success-contrast:#65bb6a;--color-success-contrast-hover:#6bcf70;--color-success-contrast-active:#6edf74;--color-logo-icon:var(--color-primary);--color-logo-text:#190064;--border-radius-md:.375rem;--border-radius-lg:.5rem;--color-surface-high:#f1f0ff;--color-surface-mid:#f2f2f7;--color-surface-low:#ececf4;--color-surface-lowest:#fff;--color-on-surface:#1b1b1f;--color-brand-hover:#5753d0;--color-on-primary-container:#030064;--color-brand-active:#4440bf;--color-border-outline:#767680;--color-border-outline-variant:#c5c5d0;--color-surface-primary-container:#e0dfff;--color-badge:#0b6513;--background-color-badge:#d3ffd2}@media screen and (device-width>=1921px){.excalidraw{--lg-button-size:2.5rem;--lg-icon-size:1.25rem;--default-button-size:2.25rem;--default-icon-size:1.25rem}}.excalidraw.theme--dark.theme--dark-background-none{background:0 0}.excalidraw.theme--dark{--theme-filter:invert(93%) hue-rotate(180deg);--button-destructive-bg-color:#5a0000;--button-destructive-color:#ffa8a8;--button-gray-1:#363636;--button-gray-2:#272727;--button-gray-3:#222;--button-special-active-bg-color:#204624;--dialog-border-color:var(--color-gray-80);--dropdown-icon:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"292.4\" height=\"292.4\" viewBox=\"0 0 292 292\"><path fill=\"%23ced4da\" d=\"M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z\"/></svg>");--focus-highlight-color:#228be6;--icon-green-fill-color:#69db7c;--default-bg-color:#121212;--input-bg-color:#121212;--input-border-color:#2e2e2e;--input-hover-bg-color:#181818;--input-label-color:#e9ecef;--island-bg-color:#232329;--keybinding-color:var(--color-gray-60);--link-color:#4dabf7;--overlay-bg-color:#343a401f;--popup-secondary-bg-color:#222;--popup-text-color:#ced4da;--popup-text-inverted-color:#2c2c2c;--select-highlight-color:#4dabf7;--shadow-island:0px 0px .931014px 0px #0000002b, 0px 0px 3.12708px 0px #00000014, 0px 7px 14px 0px #0000000d;--modal-shadow:0px 100px 80px #00000012, 0px 41.7776px 33.4221px #0000000d, 0px 22.3363px 17.869px #0000000b, 0px 12.5216px 10.0172px #00000009, 0px 6.6501px 5.32008px #00000007, 0px 2.76726px 2.21381px #00000005;--avatar-border-color:var(--color-gray-85);--scrollbar-thumb:#343a40;--scrollbar-thumb-hover:#495057;--color-slider-track:#504d7a;--color-selection:#3530c4;--color-icon-white:var(--color-gray-90);--color-primary:#a8a5ff;--color-primary-darker:#b2aeff;--color-primary-darkest:#beb9ff;--color-primary-light:#4f4d6f;--color-primary-light-darker:#43415e;--color-primary-hover:#bbb8ff;--color-disabled:var(--color-gray-70);--color-text-warning:var(--color-gray-80);--color-danger:#ffa8a5;--color-danger-dark:#672120;--color-danger-darker:#8f2625;--color-danger-darkest:#ac2b29;--color-danger-text:#fbcbcc;--color-danger-background:#fbcbcc;--color-danger-icon-background:#672120;--color-danger-color:#261919;--color-danger-icon-color:#fbcbcc;--color-warning-background:var(--color-warning);--color-warning-icon-background:var(--color-warning-dark);--color-warning-color:var(--color-gray-80);--color-warning-icon-color:var(--color-gray-80);--color-muted:var(--color-gray-80);--color-muted-darker:var(--color-gray-60);--color-muted-darkest:var(--color-gray-20);--color-muted-background:var(--color-gray-40);--color-muted-background-darker:var(--color-gray-20);--color-logo-text:#e2dfff;--color-surface-high:#31303b;--color-surface-low:#232329;--color-surface-mid:#18181b;--color-surface-lowest:#121212;--color-on-surface:#e3e3e8;--color-brand-hover:#bbb8ff;--color-on-primary-container:#e0dfff;--color-brand-active:#d0ccff;--color-border-outline:#8e8d9c;--color-border-outline-variant:#46464f;--color-surface-primary-container:#403e6a}:root{--zIndex-canvas:1;--zIndex-interactiveCanvas:2;--zIndex-svgLayer:3;--zIndex-wysiwyg:3;--zIndex-canvasButtons:3;--zIndex-layerUI:4;--zIndex-eyeDropperBackdrop:5;--zIndex-eyeDropperPreview:6;--zIndex-hyperlinkContainer:7;--zIndex-modal:1000;--zIndex-popup:1001;--zIndex-toast:999999;--sab:env(safe-area-inset-bottom);--sal:env(safe-area-inset-left);--sar:env(safe-area-inset-right);--sat:env(safe-area-inset-top)}body.excalidraw-cursor-resize,body.excalidraw-cursor-resize a:hover,body.excalidraw-cursor-resize *{cursor:ew-resize}.excalidraw{--ui-font:Assistant, system-ui, BlinkMacSystemFont, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;font-family:var(--ui-font);color:var(--text-primary-color);-webkit-user-select:none;user-select:none;width:100%;height:100%;display:flex;position:relative;inset:0;overflow:hidden}.excalidraw button{cursor:pointer;-webkit-user-select:none;user-select:none}.excalidraw:focus{outline:none}.excalidraw .excalidraw-link,.excalidraw a{color:var(--link-color);-webkit-user-select:none;user-select:none;cursor:pointer;font-weight:500;text-decoration:none}.excalidraw .excalidraw-link:hover,.excalidraw a:hover{text-decoration:underline}.excalidraw .excalidraw-link:active,.excalidraw a:active{text-decoration:none}.excalidraw canvas{touch-action:none;image-rendering:pixelated;image-rendering:-moz-crisp-edges;z-index:var(--zIndex-canvas)}.excalidraw canvas.interactive{z-index:var(--zIndex-interactiveCanvas)}.excalidraw__canvas-wrapper,.excalidraw__canvas.static{pointer-events:none}.excalidraw__canvas{position:absolute}.excalidraw__embeddable{border:0;width:100%;height:100%}.excalidraw__embeddable-container{z-index:2;transform-origin:0 0;pointer-events:none;position:absolute}.excalidraw.theme--dark canvas{filter:var(--theme-filter)}.excalidraw .FixedSideContainer{padding-top:var(--sat,0);padding-right:var(--sar,0);padding-bottom:var(--sab,0);padding-left:var(--sal,0)}.excalidraw .panelRow{justify-content:space-between;display:flex}.excalidraw .panelColumn{flex-direction:column;row-gap:.75rem;display:flex}.excalidraw .panelColumn h3,.excalidraw .panelColumn legend,.excalidraw .panelColumn .control-label{color:var(--text-primary-color);margin:0 0 .25rem;font-size:.75rem;font-weight:400;display:block}.excalidraw .panelColumn .control-label input{width:100%;display:block}.excalidraw .panelColumn legend{padding:0}.excalidraw .panelColumn .iconSelectList{flex-wrap:wrap;position:relative}.excalidraw .panelColumn .buttonList{flex-wrap:wrap;gap:.5rem;display:flex}.excalidraw .panelColumn .buttonList label{font-size:.75rem}.excalidraw .panelColumn .buttonList input[type=radio],.excalidraw .panelColumn .buttonList input[type=button]{opacity:0;pointer-events:none;position:absolute}.excalidraw .panelColumn .buttonList .iconRow{margin-top:8px}.excalidraw .panelColumn fieldset{border:none;margin:0;padding:0}.excalidraw .divider{background-color:#e9ecef;width:1px;margin:1px}.excalidraw .welcome-screen-menu-item:focus-visible,.excalidraw .dropdown-menu-item:focus-visible,.excalidraw button:focus-visible,.excalidraw .buttonList label:focus-within,.excalidraw input:focus-visible{box-shadow:0 0 0 1px var(--color-brand-hover);outline:#0000}.excalidraw .buttonList .ToolIcon__icon{all:unset!important;display:flex!important}.excalidraw .buttonList button{background-color:#0000}.excalidraw .buttonList label,.excalidraw .buttonList button,.excalidraw .buttonList .zIndexButton{width:var(--button-width,var(--default-button-size));height:var(--button-height,var(--default-button-size));box-sizing:border-box;border-style:solid;border-width:1px;border-color:var(--button-border,var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg,var(--island-bg-color));color:var(--button-color,var(--color-on-surface));font-family:var(--ui-font);justify-content:center;align-items:center;padding:0;display:flex}.excalidraw .buttonList label:hover,.excalidraw .buttonList button:hover,.excalidraw .buttonList .zIndexButton:hover{background-color:var(--button-hover-bg,var(--island-bg-color));border-color:var(--button-hover-border,var(--button-border,var(--default-border-color)));color:var(--button-hover-color,var(--button-color,var(--text-primary-color,inherit)))}.excalidraw .buttonList label:active,.excalidraw .buttonList button:active,.excalidraw .buttonList .zIndexButton:active{background-color:var(--button-active-bg,var(--island-bg-color));border-color:var(--button-active-border,var(--color-primary-darkest))}.excalidraw .buttonList label.active,.excalidraw .buttonList button.active,.excalidraw .buttonList .zIndexButton.active{background-color:var(--button-selected-bg,var(--color-surface-primary-container));border-color:var(--button-selected-border,var(--color-surface-primary-container))}.excalidraw .buttonList label.active:hover,.excalidraw .buttonList button.active:hover,.excalidraw .buttonList .zIndexButton.active:hover{background-color:var(--button-selected-hover-bg,var(--color-surface-primary-container))}.excalidraw .buttonList label.active svg,.excalidraw .buttonList button.active svg,.excalidraw .buttonList .zIndexButton.active svg{color:var(--button-color,var(--color-on-primary-container))}.excalidraw .buttonList label svg,.excalidraw .buttonList button svg,.excalidraw .buttonList .zIndexButton svg{width:var(--default-icon-size);height:var(--default-icon-size)}.excalidraw .App-top-bar{z-index:var(--zIndex-layerUI);flex-direction:column;align-items:center;display:flex}.excalidraw .App-bottom-bar{--bar-padding:calc(4 * var(--space-factor));padding-top:max(var(--bar-padding),var(--sat,0));padding-right:var(--sar,0);padding-bottom:var(--sab,0);padding-left:var(--sal,0);z-index:4;pointer-events:none;align-items:flex-end;display:flex;position:absolute;inset:0}.excalidraw .App-bottom-bar>.Island{box-sizing:border-box;pointer-events:var(--ui-pointerEvents);flex-direction:column;width:100%;min-width:100%;max-width:100%;max-height:100%;display:flex}.excalidraw .App-bottom-bar>.Island .panelColumn{padding:8px 8px 0}.excalidraw .App-toolbar{width:100%}.excalidraw .App-toolbar .eraser.ToolIcon:hover{--icon-fill-color:#fff;--keybinding-color:#fff}.excalidraw .App-toolbar .eraser.active{background-color:var(--color-primary)}.excalidraw .App-toolbar-content{justify-content:space-between;align-items:center;padding:8px;display:flex}.excalidraw .App-toolbar-content .dropdown-menu--mobile{top:auto;bottom:55px}.excalidraw .App-mobile-menu{box-sizing:border-box;width:100%;margin-bottom:var(--bar-padding);overflow:visible auto}.excalidraw .App-menu{color:var(--icon-fill-color);display:grid}.excalidraw .shapes-section{justify-content:center;display:flex;pointer-events:none!important}.excalidraw .shapes-section>*{pointer-events:var(--ui-pointerEvents)}.excalidraw .App-menu_top{grid-gap:2rem;cursor:default;grid-template-columns:1fr 2fr 1fr;align-items:flex-start;pointer-events:none!important}.excalidraw .App-menu_top>*{pointer-events:var(--ui-pointerEvents)}@media (width>=1536px){.excalidraw .App-menu_top{grid-gap:3rem;grid-template-columns:1fr 1fr 1fr}}.excalidraw .App-menu_top>:first-child{justify-self:flex-start}.excalidraw .App-menu_top>:last-child{justify-self:flex-end}.excalidraw .App-menu_bottom{cursor:default;box-sizing:border-box;justify-content:space-between;align-items:flex-start;padding:0 1rem;display:flex;position:absolute;bottom:1rem;pointer-events:none!important}.excalidraw .App-menu_bottom--transition-left section{width:185px}.excalidraw .App-menu_bottom section{display:flex}.excalidraw .App-menu_bottom>:first-child{justify-self:flex-start}.excalidraw .App-menu_bottom>:last-child{justify-self:flex-end}.excalidraw .App-menu_left{grid-template-rows:1fr auto 1fr;height:100%}.excalidraw .App-menu_right{grid-template-rows:1fr;height:100%}.excalidraw .App-menu__left{box-sizing:border-box;width:12.5rem;padding:.75rem;position:absolute;overflow-y:auto}.excalidraw .dropdown-select{padding:0;height:1.5rem;color:var(--icon-fill-color);background-color:var(--button-gray-1);border-radius:var(--space-factor);border:1px solid var(--button-gray-2);appearance:none;background-image:var(--dropdown-icon);background-position:right .7rem top 50%,0 0;background-repeat:no-repeat;background-size:.65em,100%;outline:none;padding-inline:.5rem 1.5rem;font-family:inherit;font-size:.8rem}:root[dir=rtl] .excalidraw .dropdown-select{background-position:.7rem 50%,0 0}.excalidraw .dropdown-select:focus{box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw .dropdown-select:hover,.excalidraw .dropdown-select:active{background-color:var(--button-gray-2)}.excalidraw .dropdown-select__language{background-color:var(--island-bg-color);cursor:pointer;height:2rem;border-color:var(--default-border-color)!important}.excalidraw .dropdown-select__language:hover{background-color:var(--island-bg-color)}.excalidraw .scroll-back-to-content{border-radius:var(--border-radius-lg);background-color:var(--island-bg-color);color:var(--icon-fill-color);border:1px solid var(--default-border-color);pointer-events:var(--ui-pointerEvents);padding:10px 20px;font-family:inherit;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.excalidraw .scroll-back-to-content:hover{background-color:var(--button-hover-bg)}.excalidraw .scroll-back-to-content:active{border:1px solid var(--button-active-border)}.excalidraw .help-icon{width:var(--button-width,var(--default-button-size));height:var(--button-height,var(--default-button-size));box-sizing:border-box;border-style:solid;border-width:1px;border-color:var(--button-border,var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg,var(--island-bg-color));color:var(--button-color,var(--color-on-surface));font-family:var(--ui-font);box-shadow:0 0 0 1px var(--color-surface-lowest);background-color:var(--color-surface-low);width:var(--lg-button-size);height:var(--lg-button-size);border:none;justify-content:center;align-items:center;padding:.625rem;display:flex}.excalidraw .help-icon:hover{background-color:var(--button-hover-bg,var(--island-bg-color));border-color:var(--button-hover-border,var(--button-border,var(--default-border-color)));color:var(--button-hover-color,var(--button-color,var(--text-primary-color,inherit)))}.excalidraw .help-icon:active{background-color:var(--button-active-bg,var(--island-bg-color));border-color:var(--button-active-border,var(--color-primary-darkest))}.excalidraw .help-icon.active{background-color:var(--button-selected-bg,var(--color-surface-primary-container));border-color:var(--button-selected-border,var(--color-surface-primary-container))}.excalidraw .help-icon.active:hover{background-color:var(--button-selected-hover-bg,var(--color-surface-primary-container))}.excalidraw .help-icon.active svg{color:var(--button-color,var(--color-on-primary-container))}.excalidraw .help-icon:active{box-shadow:0 0 0 1px var(--color-brand-active)}.excalidraw .help-icon svg{width:var(--lg-icon-size);height:var(--lg-icon-size)}.excalidraw .reset-zoom-button{font-family:var(--ui-font)}.excalidraw .finalize-button{margin-top:auto;margin-bottom:auto;grid-auto-flow:column;gap:.4em;margin-inline-start:.6em;display:grid}.excalidraw .undo-redo-buttons,.excalidraw .eraser-buttons{margin-top:auto;margin-bottom:auto;grid-auto-flow:column;margin-inline-start:.6em;display:grid}.excalidraw--mobile.excalidraw aside{display:none}.excalidraw--mobile.excalidraw .scroll-back-to-content{bottom:calc(80px + var(--sab,0));z-index:-1}:root[dir=rtl] .excalidraw .rtl-mirror{transform:scaleX(-1)}.excalidraw .zen-mode-visibility{visibility:visible;opacity:1;width:auto;height:auto;transition:opacity .5s}.excalidraw .zen-mode-visibility.zen-mode-visibility--hidden{visibility:hidden;opacity:0;width:0;height:0;transition:opacity .5s}.excalidraw .disable-pointerEvents{pointer-events:none!important}.excalidraw.excalidraw--view-mode .App-menu{justify-content:space-between;display:flex}.excalidraw input.is-redacted{-webkit-text-security:disc}.excalidraw input[type=text],.excalidraw textarea:not(.excalidraw-wysiwyg){color:var(--text-primary-color);border:1.5px solid var(--input-border-color);white-space:nowrap;border-radius:var(--space-factor);background-color:var(--input-bg-color);padding:.75rem}.excalidraw input[type=text]:not(:focus):hover,.excalidraw textarea:not(.excalidraw-wysiwyg):not(:focus):hover{border-color:var(--color-brand-hover)}.excalidraw input[type=text]:focus,.excalidraw textarea:not(.excalidraw-wysiwyg):focus{border-color:var(--color-brand-hover);outline:none}@media print{.excalidraw .App-bottom-bar,.excalidraw .FixedSideContainer,.excalidraw .layer-ui__wrapper{display:none}}.excalidraw ::-webkit-scrollbar{width:4px;height:3px}.excalidraw select::-webkit-scrollbar{width:10px}.excalidraw ::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:10px}.excalidraw ::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.excalidraw ::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb)}.excalidraw .mobile-misc-tools-container{top:calc(5rem - var(--editor-container-padding));right:calc(var(--editor-container-padding) * -1);border:1px solid var(--sidebar-border-color);border-top-left-radius:var(--border-radius-lg);border-bottom-left-radius:var(--border-radius-lg);background-color:var(--island-bg-color);border-right:0;flex-direction:column;display:flex;position:absolute;overflow:hidden}.excalidraw .mobile-misc-tools-container .ToolIcon__icon{border-radius:0;width:2rem;height:2rem}.excalidraw .mobile-misc-tools-container .default-sidebar-trigger{border:0}.excalidraw .App-toolbar--mobile{max-width:98vw;overflow:visible}.excalidraw .App-toolbar--mobile .ToolIcon__keybinding{display:none}.excalidraw .UserList-Wrapper{text-align:left;border:none;margin:0;padding:0}.excalidraw .UserList-Wrapper legend{margin:0 0 .25rem;padding:0;font-size:.75rem;font-weight:400;display:block}.excalidraw .main-menu-trigger{box-shadow:0 0 0 1px var(--color-surface-lowest);background-color:var(--color-surface-low);border:none}.excalidraw .main-menu-trigger:active{box-shadow:0 0 0 1px var(--color-brand-active)}.excalidraw .App-mobile-menu,.excalidraw .App-menu__left{--button-border:transparent;--button-bg:var(--color-surface-mid)}.excalidraw.theme--dark.excalidraw .App-mobile-menu,.excalidraw.theme--dark.excalidraw .App-menu__left{--button-hover-bg:#363541;--button-bg:var(--color-surface-high)}.excalidraw .App-menu__left .buttonList{padding:.25rem 0}.excalidraw .excalidraw__paragraph{margin:1rem 0}.excalidraw .Modal__content .excalidraw__paragraph:first-child{margin-top:0}.excalidraw .Modal__content .excalidraw__paragraph+.excalidraw__paragraph{margin-top:0}.ErrorSplash.excalidraw{-webkit-user-select:text;user-select:text;justify-content:center;align-items:center;min-height:100vh;padding:20px 0;display:flex;overflow:auto}.ErrorSplash.excalidraw .ErrorSplash-messageContainer{background-color:#ffe3e3;border:3px solid #c92a2a;flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex}.ErrorSplash.excalidraw .ErrorSplash-paragraph{max-width:600px;margin:15px 0}.ErrorSplash.excalidraw .ErrorSplash-paragraph.align-center{text-align:center}.ErrorSplash.excalidraw .bigger,.ErrorSplash.excalidraw .bigger button{font-size:1.1em}.ErrorSplash.excalidraw .smaller,.ErrorSplash.excalidraw .smaller button{font-size:.9em}.ErrorSplash.excalidraw .ErrorSplash-details{flex-direction:column;align-items:flex-start;display:flex}.ErrorSplash.excalidraw .ErrorSplash-details textarea{width:100%;margin:10px 0;font-family:Cascadia;font-size:.8em}.excalidraw__embeddable-container .excalidraw__embeddable-container__inner{border-radius:var(--embeddable-radius);justify-content:center;align-items:center;display:flex;overflow:hidden}.excalidraw__embeddable-container .excalidraw__embeddable__outer{width:100%;height:100%}.excalidraw__embeddable-container .excalidraw__embeddable__outer>*{border-radius:var(--embeddable-radius)}.excalidraw__embeddable-container .excalidraw__embeddable-hint{z-index:1;color:#fff;letter-spacing:.6px;background:#00000080;border-radius:12px;padding:1rem 1.6rem;font-family:Assistant;font-weight:700;position:absolute}@font-face{font-family:Assistant;src:url(/assets/Assistant-Regular-DVxZuzxb.woff2)format("woff2");font-weight:400;style:normal;display:swap}@font-face{font-family:Assistant;src:url(/assets/Assistant-Medium-DrcxCXg3.woff2)format("woff2");font-weight:500;style:normal;display:swap}@font-face{font-family:Assistant;src:url(/assets/Assistant-SemiBold-SCI4bEL9.woff2)format("woff2");font-weight:600;style:normal;display:swap}@font-face{font-family:Assistant;src:url(/assets/Assistant-Bold-gm-uSS1B.woff2)format("woff2");font-weight:700;style:normal;display:swap}.footer-center{pointer-events:none;justify-content:flex-start;width:100%;margin-inline-end:.6rem;display:flex}.footer-center>*{pointer-events:var(--ui-pointerEvents)}.excalidraw .ExcalidrawLogo{--logo-icon--xs:2rem;--logo-text--xs:1.5rem;--logo-icon--small:2.5rem;--logo-text--small:1.75rem;--logo-icon--normal:3rem;--logo-text--normal:2.2rem;--logo-icon--large:90px;--logo-text--large:65px;align-items:center;display:flex}.excalidraw .ExcalidrawLogo svg{flex:none}.excalidraw .ExcalidrawLogo .ExcalidrawLogo-icon{width:auto;color:var(--color-logo-icon)}.excalidraw .ExcalidrawLogo .ExcalidrawLogo-text{width:auto;color:var(--color-logo-text);margin-left:.75rem}.excalidraw .ExcalidrawLogo.is-xs .ExcalidrawLogo-icon{height:var(--logo-icon--xs)}.excalidraw .ExcalidrawLogo.is-xs .ExcalidrawLogo-text{height:var(--logo-text--xs)}.excalidraw .ExcalidrawLogo.is-small .ExcalidrawLogo-icon{height:var(--logo-icon--small)}.excalidraw .ExcalidrawLogo.is-small .ExcalidrawLogo-text{height:var(--logo-text--small)}.excalidraw .ExcalidrawLogo.is-normal .ExcalidrawLogo-icon{height:var(--logo-icon--normal)}.excalidraw .ExcalidrawLogo.is-normal .ExcalidrawLogo-text{height:var(--logo-text--normal)}.excalidraw .ExcalidrawLogo.is-large .ExcalidrawLogo-icon{height:var(--logo-icon--large)}.excalidraw .ExcalidrawLogo.is-large .ExcalidrawLogo-text{height:var(--logo-text--large)}.excalidraw .excalifont{font-family:Excalifont,Xiaolai}.excalidraw .welcome-screen-decor{pointer-events:none;color:var(--color-gray-40)}.excalidraw .welcome-screen-decor a{--color:var(--color-primary);color:var(--color);margin-bottom:-6px;text-decoration:none}.excalidraw.theme--dark .welcome-screen-decor{color:var(--color-gray-60)}@media (height<=599px){.excalidraw .welcome-screen-decor-hint{display:none!important}}@media (width<=1024px),(width<=800px){.excalidraw .welcome-screen-decor-hint .welcome-screen-decor--help,.excalidraw .welcome-screen-decor-hint .welcome-screen-decor--menu{display:none}}.excalidraw .welcome-screen-decor-hint--help{display:flex;position:absolute;bottom:100%;right:0}:root[dir=rtl] .excalidraw .welcome-screen-decor-hint--help{left:0;right:auto}.excalidraw .welcome-screen-decor-hint--help svg{width:85px;height:71px;margin-top:.5rem;transform:scaleX(-1)rotate(80deg)}:root[dir=rtl] .excalidraw .welcome-screen-decor-hint--help svg{transform:rotate(80deg)}.excalidraw .welcome-screen-decor-hint--toolbar{align-items:baseline;margin-top:2.5rem;display:flex;position:absolute;top:100%;left:50%;transform:translate(-50%)}.excalidraw .welcome-screen-decor-hint--toolbar .welcome-screen-decor-hint__label{width:120px;position:relative;top:-.5rem}.excalidraw .welcome-screen-decor-hint--toolbar svg{width:38px;height:78px}:root[dir=rtl] .excalidraw .welcome-screen-decor-hint--toolbar svg{transform:scaleX(-1)}.excalidraw .welcome-screen-decor-hint--menu{margin-top:.25rem;align-items:flex-end;gap:.5rem;width:320px;margin-inline-start:.6rem;font-size:1rem;display:flex;position:absolute;top:100%}.excalidraw .welcome-screen-decor-hint--menu svg{width:41px;height:94px}:root[dir=rtl] .excalidraw .welcome-screen-decor-hint--menu svg{transform:scaleX(-1)}@media (width<=860px){.excalidraw .welcome-screen-decor-hint--menu .welcome-screen-decor-hint__label{max-width:160px}}.excalidraw .welcome-screen-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:2rem;display:flex;position:absolute;inset:1rem}.excalidraw .welcome-screen-center__logo{align-items:center;column-gap:.75rem;font-size:2.25rem;display:flex}.excalidraw .welcome-screen-center__heading{text-align:center;font-size:1.125rem}.excalidraw .welcome-screen-menu{flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.excalidraw .welcome-screen-menu-item{box-sizing:border-box;pointer-events:var(--ui-pointerEvents);color:var(--color-gray-50);border-radius:var(--border-radius-md);grid-template-columns:calc(var(--default-icon-size) + .5rem) 1fr 3rem;background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;width:100%;min-width:300px;max-width:400px;padding:.75rem;font-size:.875rem;display:grid}.excalidraw .welcome-screen-menu-item__text{text-align:left;align-items:center;column-gap:.5rem;margin-right:auto;display:flex}.excalidraw .welcome-screen-menu-item__icon{width:var(--default-icon-size);height:var(--default-icon-size)}.excalidraw .welcome-screen-menu-item__shortcut{color:var(--color-gray-40);margin-left:auto;font-size:.75rem}.excalidraw .welcome-screen-menu-item:hover{background:var(--button-hover-bg);text-decoration:none}.excalidraw .welcome-screen-menu-item:hover .welcome-screen-menu-item__shortcut,.excalidraw .welcome-screen-menu-item:hover .welcome-screen-menu-item__icon,.excalidraw .welcome-screen-menu-item:hover .welcome-screen-menu-item__text{color:var(--color-gray-100)}.excalidraw .welcome-screen-menu-item:active{background:var(--button-hover-bg);border-color:var(--color-brand-active)}.excalidraw .welcome-screen-menu-item:active .welcome-screen-menu-item__shortcut,.excalidraw .welcome-screen-menu-item:active .welcome-screen-menu-item__icon,.excalidraw .welcome-screen-menu-item:active .welcome-screen-menu-item__text{color:var(--color-gray-100)}.excalidraw.theme--dark .welcome-screen-menu-item,.excalidraw.theme--dark .welcome-screen-menu-item__shortcut{color:var(--color-gray-60)}.excalidraw.theme--dark .welcome-screen-menu-item:hover{background-color:var(--color-surface-low)}.excalidraw.theme--dark .welcome-screen-menu-item:hover .welcome-screen-menu-item__icon,.excalidraw.theme--dark .welcome-screen-menu-item:hover .welcome-screen-menu-item__shortcut,.excalidraw.theme--dark .welcome-screen-menu-item:hover .welcome-screen-menu-item__text,.excalidraw.theme--dark .welcome-screen-menu-item:active .welcome-screen-menu-item__icon,.excalidraw.theme--dark .welcome-screen-menu-item:active .welcome-screen-menu-item__shortcut,.excalidraw.theme--dark .welcome-screen-menu-item:active .welcome-screen-menu-item__text{color:var(--color-gray-10)}@media (height<=599px){.excalidraw .welcome-screen-center{margin-top:4rem}}@media (height>=600px) and (height<=900px){.excalidraw .welcome-screen-center{margin-top:8rem}}@media (height<=500px),(width<=320px){.excalidraw .welcome-screen-center{display:none}}.excalidraw .collab-button{--button-bg:var(--color-primary);--button-color:var(--color-surface-lowest);--button-border:var(--color-primary);--button-width:var(--lg-button-size);--button-height:var(--lg-button-size);--button-hover-bg:var(--color-primary-darker);--button-hover-border:var(--color-primary-darker);--button-active-bg:var(--color-primary-darker);box-shadow:0 0 0 1px var(--color-surface-lowest);flex-shrink:0}.excalidraw .collab-button.active.active{background-color:#0fb884;border-color:#0fb884}.excalidraw .collab-button.active.active svg{color:#fff}.excalidraw .collab-button.active.active:hover,.excalidraw .collab-button.active.active:active{background-color:#0fb884;border-color:#0fb884}.excalidraw .CollabButton.is-collaborating{background-color:var(--button-special-active-bg-color)}.excalidraw .CollabButton.is-collaborating .ToolIcon__icon svg,.excalidraw .CollabButton.is-collaborating .ToolIcon__label{color:var(--icon-green-fill-color)}.excalidraw .CollabButton-collaborators{color:#2b8a3e;background-color:#b2f2bb;border-radius:50%;min-width:1em;min-height:1em;padding:3px;font-family:Cascadia;font-size:.6rem;line-height:1;position:absolute;bottom:-5px}:root[dir=ltr] .excalidraw .CollabButton-collaborators{right:-5px}:root[dir=rtl] .excalidraw .CollabButton-collaborators{left:-5px}.board-page{background:var(--background);height:100vh;color:var(--on-surface);flex-direction:column;display:flex;overflow:hidden}.board-page__bar{border-bottom:1px solid var(--outline-variant);background:var(--surface-container-low);flex:none;align-items:center;gap:.75rem;padding:.5rem 1rem;display:flex}.board-page__save{font-size:.78rem;font-family:var(--font-label);color:var(--on-surface-variant);margin-left:.25rem}.board-page__save--saving{color:var(--primary-dim)}.board-page__save--saved{color:var(--on-surface-variant)}.board-page__save--error{color:var(--error)}.board-page__body{flex:auto;min-height:0;display:flex}.board-page__canvas{flex:auto;min-width:0;height:100%;position:relative}.board-page__canvas .excalidraw{width:100%;height:100%}.board-page__loading,.board-page__empty,.board-page__error{height:100%;color:var(--on-surface-variant);font-family:var(--font-body);place-items:center;display:grid}.board-page__error{height:auto;color:var(--on-error-container);background:var(--error-container);place-items:start;padding:.5rem 1rem}.board-switcher{align-items:center;gap:.5rem;display:flex;position:relative}.board-switcher__current{border:1px solid var(--outline-variant);border-radius:var(--radius-md);background:var(--surface-container);color:var(--on-surface);font-family:var(--font-label);cursor:pointer;align-items:center;gap:.4rem;max-width:260px;padding:.35rem .7rem;font-size:.9rem;display:inline-flex}.board-switcher__current:hover{border-color:var(--outline)}.board-switcher__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board-switcher__menu{z-index:40;border:1px solid var(--outline-variant);border-radius:var(--radius-md);background:var(--surface-container-high);min-width:240px;max-height:340px;padding:.35rem;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 8px 24px #00000073}.board-switcher__item{border-radius:var(--radius-sm);cursor:pointer;color:var(--on-surface);justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .5rem;font-size:.88rem;display:flex}.board-switcher__item:hover{background:var(--surface-container-highest)}.board-switcher__item--active{background:var(--surface-variant)}.board-switcher__item-actions{opacity:0;gap:.15rem;display:flex}.board-switcher__item:hover .board-switcher__item-actions{opacity:1}.board-switcher__icon-btn,.board-switcher__btn{border:1px solid var(--outline-variant);border-radius:var(--radius-sm);background:var(--surface-container);color:var(--on-surface);cursor:pointer;font-family:var(--font-label);align-items:center;gap:.3rem;display:inline-flex}.board-switcher__icon-btn{color:var(--on-surface-variant);background:0 0;border-color:#0000;padding:.25rem}.board-switcher__icon-btn:hover{color:var(--on-surface);background:var(--surface-container-lowest)}.board-switcher__btn{padding:.35rem .6rem;font-size:.85rem}.board-switcher__btn:hover{border-color:var(--outline)}.board-switcher__input{border:1px solid var(--outline);border-radius:var(--radius-sm);background:var(--surface-container-lowest);color:var(--on-surface);flex:1;padding:.3rem .4rem;font-size:.85rem}.board-ai-panel{border-left:1px solid var(--outline-variant);background:var(--surface-container-low);flex-direction:column;flex:0 0 320px;width:320px;height:100%;display:flex;overflow-y:auto}.board-ai-panel__head{border-bottom:1px solid var(--outline-variant);padding:.75rem 1rem}.board-ai-panel__title{font-family:var(--font-headline);color:var(--on-surface);font-size:1rem}.board-ai-panel__subtitle{color:var(--on-surface-variant);margin-top:.15rem;font-size:.75rem}.board-ai-panel__body{flex-direction:column;gap:.75rem;padding:.85rem 1rem;display:flex}.board-ai-panel__tabs{gap:.35rem;display:flex}.board-ai-panel__tab{border:1px solid var(--outline-variant);border-radius:var(--radius-md);background:var(--surface-container);color:var(--on-surface-variant);font-family:var(--font-label);cursor:pointer;flex:1;padding:.4rem;font-size:.8rem}.board-ai-panel__tab--active{border-color:var(--primary);color:var(--on-surface);background:var(--surface-variant)}.board-ai-panel__label{text-transform:uppercase;letter-spacing:.04em;color:var(--on-surface-variant);font-size:.72rem;font-family:var(--font-label);margin-bottom:.3rem;display:block}.board-ai-panel__field{flex-direction:column;display:flex}.board-ai-panel__select,.board-ai-panel__input,.board-ai-panel__textarea{border:1px solid var(--outline-variant);border-radius:var(--radius-md);background:var(--surface-container-lowest);width:100%;color:var(--on-surface);font-size:.85rem;font-family:var(--font-body);padding:.45rem .55rem}.board-ai-panel__textarea{resize:vertical;min-height:76px}.board-ai-panel__file-btn{border:1px dashed var(--outline);border-radius:var(--radius-md);background:var(--surface-container-lowest);color:var(--on-surface-variant);cursor:pointer;align-items:center;gap:.35rem;width:100%;padding:.4rem .55rem;font-size:.8rem;display:inline-flex}.board-ai-panel__file-btn--set{color:var(--on-surface);border-style:solid}.board-ai-panel__file-actions{flex-wrap:wrap;gap:.6rem;margin-top:.3rem;display:flex}.board-ai-panel__link-btn{color:var(--primary);font-size:.75rem;font-family:var(--font-label);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.board-ai-panel__link-btn:hover{color:var(--primary-dim)}.board-ai-panel__run{border-radius:var(--radius-md);background:var(--primary);color:var(--on-primary);font-family:var(--font-label);cursor:pointer;border:none;margin-top:.25rem;padding:.6rem;font-size:.9rem;font-weight:600}.board-ai-panel__run--danger{color:var(--error);background:#ff716c24}.board-ai-panel__run--danger:hover:not(:disabled){background:#ff716c38}.board-ai-panel__run:disabled{opacity:.5;cursor:not-allowed}.board-ai-panel__status{color:var(--on-surface-variant);border-radius:var(--radius-md);background:var(--surface-container);padding:.5rem .6rem;font-size:.8rem}.board-ai-panel__status--error{color:var(--on-error-container);background:var(--error-container)}.board-ai-panel__hint{color:var(--on-surface-variant);font-size:.72rem}.assembly-page{background:var(--background);height:100vh;color:var(--on-surface);flex-direction:column;display:flex;overflow:hidden}.assembly-page__toolbar{background:var(--surface);border-bottom:1px solid var(--outline-variant);flex-shrink:0;align-items:center;gap:12px;padding:8px 16px;display:flex}.assembly-page__toolbar-spacer{flex:1}.assembly-page__history{gap:4px;display:flex}.assembly-page__history button{border:1px solid var(--outline-variant);background:var(--surface-container);width:30px;height:30px;color:var(--on-surface-variant);cursor:pointer;border-radius:6px;place-items:center;display:grid}.assembly-page__history button:hover:not(:disabled){background:var(--surface-container-high);color:var(--on-surface)}.assembly-page__history button:disabled{opacity:.35;cursor:default}.assembly-page__save{text-align:right;min-width:76px;color:var(--on-surface-variant);font-size:12px}.assembly-page__save--error{color:var(--error,#ef5350)}.assembly-page__error{background:color-mix(in srgb, var(--error,#ef5350) 12%, transparent);color:var(--error,#ef5350);flex-shrink:0;padding:8px 16px;font-size:13px}.assembly-page__workspace{flex:1;grid-template-columns:300px 1fr 280px;min-height:0;display:grid}.assembly-page__rail{background:var(--surface);border-right:1px solid var(--outline-variant);min-height:0;overflow-y:auto}.assembly-page__panel{background:var(--surface);border-left:1px solid var(--outline-variant);min-height:0;overflow-y:auto}.assembly-page__loading{color:var(--on-surface-variant);padding:24px 16px;font-size:13px}.assembly-page__viewport{background:var(--background);min-width:0;min-height:0;position:relative;overflow:hidden}.assembly-vp-toolbar{z-index:2;pointer-events:none;align-items:center;gap:10px;display:flex;position:absolute;top:10px;left:10px}.assembly-vp-toolbar__group{border:1px solid var(--outline-variant);background:var(--surface);pointer-events:auto;border-radius:8px;gap:2px;padding:3px;display:flex}.assembly-vp-toolbar__btn{width:28px;height:28px;color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;border-radius:6px;place-items:center;display:grid}.assembly-vp-toolbar__btn:hover{background:var(--surface-container-high);color:var(--on-surface)}.assembly-vp-toolbar__btn--on{background:color-mix(in srgb, var(--primary) 22%, transparent);color:var(--primary)}.assembly-vp-toolbar__readout{border:1px solid var(--outline-variant);background:var(--surface);color:var(--on-surface-variant);pointer-events:auto;border-radius:8px;gap:10px;padding:5px 9px;font-size:11px;display:flex}.assembly-vp-toolbar__warn{color:var(--error,#ef5350);font-weight:600}.assembly-page__isolate-banner{z-index:2;border:1px solid var(--primary);background:var(--surface);color:var(--primary);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:12px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.assembly-page__viewport-empty,.assembly-page__viewport-placeholder{text-align:center;color:var(--on-surface-variant);background:var(--background);place-content:center;justify-items:center;gap:8px;padding:24px;display:grid}.assembly-page__viewport-placeholder h2{margin:0;font-size:16px;font-weight:500}.assembly-page__viewport-placeholder p{max-width:46ch;margin:0;font-size:13px;line-height:1.5}.assembly-switcher{align-items:center;gap:6px;display:flex;position:relative}.assembly-switcher__current{border:1px solid var(--outline-variant);background:var(--surface-container);height:30px;color:var(--on-surface);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:0 8px;font-size:13px;display:flex}.assembly-switcher__current:hover{background:var(--surface-container-high)}.assembly-switcher__name{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.assembly-switcher__icon-btn,.assembly-switcher__btn{border:1px solid var(--outline-variant);background:var(--surface-container);height:30px;color:var(--on-surface-variant);cursor:pointer;border-radius:6px;align-items:center;gap:4px;font-size:12px;display:flex}.assembly-switcher__icon-btn{justify-content:center;width:30px}.assembly-switcher__btn{padding:0 10px}.assembly-switcher__icon-btn:hover,.assembly-switcher__btn:hover:not(:disabled){background:var(--surface-container-high);color:var(--on-surface)}.assembly-switcher__input{border:1px solid var(--primary);background:var(--surface-container);height:30px;color:var(--on-surface);border-radius:6px;padding:0 8px;font-size:13px}.assembly-switcher__menu{z-index:40;background:var(--surface-container);border:1px solid var(--outline-variant);border-radius:8px;min-width:240px;max-height:320px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 8px 24px #00000047}.assembly-switcher__item{cursor:pointer;border-radius:6px;padding:7px 10px;font-size:13px}.assembly-switcher__item:hover{background:var(--surface-container-high)}.assembly-switcher__item--active{background:color-mix(in srgb, var(--primary) 18%, transparent);color:var(--on-surface)}.assembly-switcher__empty{color:var(--on-surface-variant);padding:10px;font-size:12px}.assembly-pieces__header{z-index:1;background:var(--surface);border-bottom:1px solid var(--outline-variant);justify-content:space-between;align-items:center;padding:10px 12px;display:flex;position:sticky;top:0}.assembly-pieces__title{letter-spacing:.04em;text-transform:uppercase;color:var(--on-surface-variant);font-size:12px;font-weight:600}.assembly-pieces__add{border:1px solid var(--outline-variant);background:var(--surface-container);height:26px;color:var(--on-surface);cursor:pointer;border-radius:6px;align-items:center;gap:4px;padding:0 8px;font-size:12px;display:flex}.assembly-pieces__add:hover{background:var(--surface-container-high)}.assembly-pieces__empty{text-align:center;color:var(--on-surface-variant);justify-items:center;gap:6px;padding:32px 20px;display:grid}.assembly-pieces__empty p{margin:0;font-size:13px}.assembly-pieces__empty-hint{opacity:.75;line-height:1.5;font-size:12px!important}.assembly-pieces__list{gap:4px;margin:0;padding:6px;list-style:none;display:grid}.assembly-piece{background:var(--surface-container);cursor:pointer;border:1px solid #0000;border-radius:8px;grid-template-columns:40px 1fr 22px;align-items:center;gap:8px;padding:6px;display:grid;position:relative}.assembly-piece:hover{background:var(--surface-container-high)}.assembly-piece--selected{border-color:var(--primary)}.assembly-piece--base{background:color-mix(in srgb, var(--primary) 10%, var(--surface-container))}.assembly-piece--missing{opacity:.7;border-color:color-mix(in srgb, var(--error,#ef5350) 45%, transparent)}.assembly-piece__thumb{background:var(--surface-container-highest,#ffffff0f);width:40px;height:40px;color:var(--on-surface-variant);border-radius:6px;place-items:center;display:grid;overflow:hidden}.assembly-piece__thumb img{object-fit:cover;width:100%;height:100%}.assembly-piece__body{gap:4px;min-width:0;display:grid}.assembly-piece__name-row{align-items:center;gap:6px;min-width:0;display:flex}.assembly-piece__name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.assembly-piece__badge{background:var(--primary);color:var(--on-primary,#fff);letter-spacing:.06em;border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:9px;font-weight:700}.assembly-piece__status{color:var(--on-surface-variant);flex-shrink:0;font-size:10px}.assembly-piece__status--error{color:var(--error,#ef5350)}.assembly-piece__status--ready{color:var(--primary)}.assembly-piece__missing-note{color:var(--error,#ef5350);font-size:11px}.assembly-piece__controls{align-items:center;gap:2px;display:flex}.assembly-piece__toggle{width:22px;height:22px;color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;border-radius:4px;place-items:center;display:grid}.assembly-piece__toggle:hover{background:var(--surface-container-highest,#ffffff14);color:var(--on-surface)}.assembly-piece__toggle--on{color:var(--primary)}.assembly-piece__toggle--off{opacity:.45}.assembly-piece__opacity{width:54px;accent-color:var(--primary);margin-left:2px}.assembly-piece__remove{width:22px;height:22px;color:var(--on-surface-variant);opacity:0;cursor:pointer;background:0 0;border:none;border-radius:4px;place-items:center;display:grid}.assembly-piece:hover .assembly-piece__remove{opacity:1}.assembly-piece__remove:hover{background:color-mix(in srgb, var(--error,#ef5350) 20%, transparent);color:var(--error,#ef5350)}.assembly-tp{gap:8px;padding:12px;font-size:12px;display:grid}.assembly-tp--empty{color:var(--on-surface-variant);padding:24px 16px}.assembly-tp__header{align-items:center;gap:6px;min-width:0;display:flex}.assembly-tp__title{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.assembly-tp__section{border-top:1px solid var(--outline-variant);letter-spacing:.04em;text-transform:uppercase;color:var(--on-surface-variant);margin-top:6px;padding-top:8px;font-size:11px;font-weight:600}.assembly-tp__row{grid-template-columns:52px repeat(3,1fr);align-items:center;gap:4px;display:grid}.assembly-tp__label{color:var(--on-surface-variant)}.assembly-tp__field{align-items:center;gap:2px;min-width:0;display:flex}.assembly-tp__axis{width:9px;color:var(--on-surface-variant);font-size:10px}.assembly-tp__field input,.assembly-tp__region select{border:1px solid var(--outline-variant);background:var(--surface-container);width:100%;min-width:0;height:24px;color:var(--on-surface);font-variant-numeric:tabular-nums;border-radius:4px;padding:0 4px;font-size:11px}.assembly-tp__check{color:var(--on-surface-variant);cursor:pointer;align-items:center;gap:6px;display:flex}.assembly-tp__region{grid-template-columns:1fr 1fr;gap:4px;display:grid}.assembly-tp__actions{flex-wrap:wrap;gap:4px;display:flex}.assembly-tp__actions button{border:1px solid var(--outline-variant);background:var(--surface-container);min-width:84px;height:26px;color:var(--on-surface);cursor:pointer;border-radius:6px;flex:1;padding:0 8px;font-size:11px}.assembly-tp__actions button:hover:not(:disabled){background:var(--surface-container-high)}.assembly-tp__actions button:disabled{opacity:.4;cursor:default}.assembly-tp__note{color:var(--on-surface-variant);opacity:.8;margin:0;font-size:10px;line-height:1.45}.assembly-tp__stats{grid-template-columns:auto 1fr;gap:2px 10px;margin:0;font-size:11px;display:grid}.assembly-tp__stats dt{color:var(--on-surface-variant)}.assembly-tp__stats dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.assembly-tp__warn{color:var(--error,#ef5350);font-weight:600}.assembly-vp-toolbar__snap{color:var(--on-surface-variant);align-items:center;gap:3px;padding:0 4px;font-size:10px;display:flex}.assembly-vp-toolbar__snap input{border:1px solid var(--outline-variant);background:var(--surface-container);width:46px;height:22px;color:var(--on-surface);font-variant-numeric:tabular-nums;border-radius:4px;padding:0 3px;font-size:10px}.assembly-vp-toolbar__btn--text{text-transform:uppercase;letter-spacing:.04em;width:auto;min-width:40px;padding:0 6px;font-size:10px}.assembly-vp-toolbar__btn:disabled{opacity:.35;cursor:default}@media (width<=1200px){.assembly-page__workspace{grid-template-columns:260px 1fr 250px}}@media (width<=900px){.assembly-page__workspace{grid-template-rows:minmax(160px,28%) 1fr minmax(160px,28%);grid-template-columns:1fr}.assembly-page__rail{border-right:none;border-bottom:1px solid var(--outline-variant)}.assembly-page__panel{border-left:none;border-top:1px solid var(--outline-variant)}}.assembly-fit{gap:6px;padding:0 12px 14px;font-size:12px;display:grid}.assembly-fit--empty{color:var(--on-surface-variant);gap:8px;padding:12px;display:grid}.assembly-fit__section{border-top:1px solid var(--outline-variant);letter-spacing:.04em;text-transform:uppercase;color:var(--on-surface-variant);margin-top:6px;padding-top:8px;font-size:11px;font-weight:600}.assembly-fit__classes{grid-template-columns:repeat(3,1fr);gap:3px;display:grid}.assembly-fit__class{border:1px solid var(--outline-variant);background:var(--surface-container);height:26px;color:var(--on-surface-variant);cursor:pointer;border-radius:6px;padding:0 4px;font-size:10px}.assembly-fit__class--on{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 20%, transparent);color:var(--on-surface)}.assembly-fit__stage{cursor:pointer;align-items:center;gap:6px;display:flex}.assembly-fit__knobs{grid-template-columns:1fr 1fr;gap:4px;display:grid}.assembly-fit__knob{color:var(--on-surface-variant);gap:2px;font-size:10px;display:grid}.assembly-fit__knob input{border:1px solid var(--outline-variant);background:var(--surface-container);height:24px;color:var(--on-surface);font-variant-numeric:tabular-nums;border-radius:4px;padding:0 4px;font-size:11px}.assembly-fit__actions{gap:4px;display:flex}.assembly-fit__actions button,.assembly-fit__run{border:1px solid var(--outline-variant);background:var(--surface-container);height:28px;color:var(--on-surface);cursor:pointer;border-radius:6px;flex:1;padding:0 8px;font-size:11px}.assembly-fit__run{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 22%, transparent);font-weight:600}.assembly-fit__actions button:hover:not(:disabled),.assembly-fit__run:hover:not(:disabled){background:var(--surface-container-high)}.assembly-fit__actions button:disabled,.assembly-fit__run:disabled{opacity:.4;cursor:default}.assembly-fit__progress{gap:3px;display:grid}.assembly-fit__bar{background:var(--surface-container-high);border-radius:2px;height:4px;overflow:hidden}.assembly-fit__bar span{background:var(--primary);height:100%;transition:width .15s linear;display:block}.assembly-fit__progress-text{color:var(--on-surface-variant);font-size:10px}.assembly-fit__hint{color:var(--on-surface-variant);opacity:.8;margin:0;font-size:10px;line-height:1.45}.assembly-fit__result{margin:0;font-size:11px}.assembly-fit__warn{color:var(--error,#ef5350);margin:0;font-size:10px}.assembly-fit__error{background:color-mix(in srgb, var(--error,#ef5350) 15%, transparent);color:var(--error,#ef5350);cursor:pointer;border-radius:6px;padding:6px 8px;font-size:10px;line-height:1.4}.assembly-fit__tag{background:color-mix(in srgb, var(--error,#ef5350) 22%, transparent);color:var(--error,#ef5350);letter-spacing:.03em;text-transform:uppercase;border-radius:3px;margin-left:4px;padding:0 4px;font-size:9px}.assembly-page__viewport--sculpt{cursor:none}.assembly-page__brush{z-index:3;pointer-events:none;border:1.5px solid #8ff5ffe6;border-radius:50%;position:absolute;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 1px #00000073}.assembly-page__brush:after{content:"";background:#8ff5ffe6;border-radius:50%;width:3px;height:3px;margin:-1.5px 0 0 -1.5px;position:absolute;top:50%;left:50%}.assembly-page__sculpt-banner{z-index:3;border:1px solid var(--primary);background:var(--surface);color:var(--primary);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:12px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.assembly-page__save-btn{background:var(--primary);height:30px;color:var(--on-primary);cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.assembly-page__save-btn:hover:not(:disabled){filter:brightness(1.08)}.assembly-page__save-btn:disabled{opacity:.4;cursor:default}.assembly-save__overlay{z-index:1200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.assembly-save{border:1px solid var(--outline-variant);background:var(--surface-container);width:min(520px,100vw - 32px);max-height:calc(100vh - 64px);color:var(--on-surface);border-radius:12px;flex-direction:column;display:flex;box-shadow:0 18px 48px #00000073}.assembly-save__header{border-bottom:1px solid var(--outline-variant);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.assembly-save__header h2{margin:0;font-size:15px;font-weight:600}.assembly-save__header button{width:28px;height:28px;color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;border-radius:6px;place-items:center;display:grid}.assembly-save__header button:hover:not(:disabled){background:var(--surface-container-high)}.assembly-save__body{flex-direction:column;gap:10px;padding:16px;display:flex;overflow-y:auto}.assembly-save__check{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.assembly-save__check input[type=checkbox]{accent-color:var(--primary)}.assembly-save__muted{color:var(--on-surface-variant);opacity:.75}.assembly-save__pieces{flex-direction:column;gap:6px;margin:0;padding:0 0 0 24px;list-style:none;display:flex}.assembly-save__pieces input,.assembly-save__merged input[type=text],.assembly-save__merged label>input,.assembly-save__merged select{border:1px solid var(--outline-variant);background:var(--surface);width:100%;color:var(--on-surface);border-radius:6px;padding:6px 8px;font-size:12px}.assembly-save__merged{flex-direction:column;gap:10px;padding:0 0 0 24px;display:flex}.assembly-save__merged>label{color:var(--on-surface-variant);flex-direction:column;gap:4px;font-size:12px;display:flex}.assembly-save__merged>label.assembly-save__check{color:var(--on-surface);flex-direction:row;align-items:center;font-size:13px}.assembly-save__merged>label.assembly-save__check input{width:auto}.assembly-save__note{color:var(--on-surface-variant);margin:0 0 0 24px;font-size:11px;line-height:1.5}.assembly-save__merged .assembly-save__note{margin-left:0}.assembly-save__atlas{flex-direction:column;gap:8px;padding-left:24px;display:flex}.assembly-save__atlas>label{color:var(--on-surface-variant);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.assembly-save__atlas select{flex:none;min-width:150px}.assembly-save__warn{background:color-mix(in srgb, var(--warning,#f0a030) 14%, transparent);color:var(--on-surface);border-radius:6px;margin:0;padding:8px 10px;font-size:11px;line-height:1.5}.assembly-save__error,.assembly-save__error-text{color:var(--error,#ef5350);font-size:12px}.assembly-save__error{background:color-mix(in srgb, var(--error,#ef5350) 12%, transparent);border-radius:6px;padding:8px 10px}.assembly-save__progress{color:var(--on-surface-variant);font-size:12px}.assembly-save__result{background:var(--surface-container-high);border-radius:6px;padding:8px 10px;font-size:12px}.assembly-save__result p{margin:0 0 4px}.assembly-save__result p:last-child{margin-bottom:0}.assembly-save__actions{border-top:1px solid var(--outline-variant);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.assembly-save__actions button{border:1px solid var(--outline-variant);background:var(--surface-container-high);height:32px;color:var(--on-surface);cursor:pointer;border-radius:6px;padding:0 16px;font-size:12px}.assembly-save__actions button:disabled{opacity:.4;cursor:default}.assembly-save__primary{font-weight:600;background:var(--primary)!important;color:var(--on-primary)!important;border-color:#0000!important}.assembly-landmarks__intro,.assembly-landmarks__note{color:var(--on-surface-variant);margin:0;font-size:11px;line-height:1.5}.assembly-landmarks__start,.assembly-landmarks__stop,.assembly-landmarks__clear{border:1px solid var(--outline-variant);background:var(--surface-container-high);width:100%;height:30px;color:var(--on-surface);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:6px;font-size:12px;display:inline-flex}.assembly-landmarks__start:hover,.assembly-landmarks__clear:hover{background:var(--surface-container-highest,var(--surface-container-high))}.assembly-landmarks__stop{background:var(--primary);color:var(--on-primary);border-color:#0000;font-weight:600}.assembly-landmarks__hint{opacity:.7}.assembly-landmarks__prompt{border-radius:6px;padding:8px 10px;font-size:12px;line-height:1.4}.assembly-landmarks__prompt--base{color:var(--on-surface);background:#4fc3f72e}.assembly-landmarks__prompt--piece{color:var(--on-surface);background:#ffb74d2e}.assembly-landmarks__list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.assembly-landmarks__list li{border-radius:4px;align-items:center;gap:8px;padding:4px 6px;font-size:11px;display:flex}.assembly-landmarks__list li:hover{background:var(--surface-container-high)}.assembly-landmarks__row--partial{opacity:.6;font-style:italic}.assembly-landmarks__index{min-width:22px;color:var(--on-surface-variant);font-variant-numeric:tabular-nums}.assembly-landmarks__label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.assembly-landmarks__list button{width:22px;height:22px;color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;border-radius:4px;place-items:center;display:grid}.assembly-landmarks__list button:hover{background:var(--surface-container-highest,var(--surface-container-high));color:var(--error,#ef5350)}.assembly-landmarks__gate{background:color-mix(in srgb, var(--warning,#f0a030) 14%, transparent);border-radius:6px;padding:6px 8px;font-size:11px}.assembly-landmarks__gate--ok{background:#66bb6a29}@media (width<=700px){.assembly-page{height:auto;min-height:100dvh;overflow:visible}.assembly-page__toolbar{flex-wrap:wrap;padding:8px 10px}.assembly-page__toolbar-spacer{flex:1 1 0}.assembly-page__workspace{flex-direction:column;flex:none;min-height:0;display:flex;overflow:visible}.assembly-page__rail,.assembly-page__panel{flex:none;min-height:0;overflow:visible}.assembly-page__rail{border-right:0;border-bottom:1px solid var(--outline-variant)}.assembly-page__panel{border-left:0;border-top:1px solid var(--outline-variant)}.assembly-page__viewport{flex:none;height:min(54vh,500px);min-height:320px}}.assembly-fit__tag--warn{background:color-mix(in srgb, var(--warning,#f0a030) 22%, transparent)}.promptdialog__overlay{z-index:1200;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.promptdialog{background:var(--surface-container-high,#23252b);width:min(420px,100vw - 32px);color:var(--on-surface,#e6e6e6);border-radius:12px;padding:18px;box-shadow:0 18px 48px #00000073}.promptdialog__title{margin:0 0 6px;font-size:15px;font-weight:600}.promptdialog__message{white-space:pre-line;color:var(--on-surface-variant,#a8a8a8);margin:0 0 10px;font-size:12px;line-height:1.5}.promptdialog__input{box-sizing:border-box;border:1px solid var(--outline-variant,#45474d);background:var(--surface,#16171a);width:100%;color:inherit;border-radius:8px;padding:8px 10px;font-size:13px}.promptdialog__input:focus{border-color:var(--primary,#7aa2f7);outline:none}.promptdialog__actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.promptdialog__actions button{border:1px solid var(--outline-variant,#45474d);color:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:7px 14px;font-size:12px}.promptdialog__actions button:hover:not(:disabled){background:var(--surface-container-highest,#2c2e35)}.promptdialog__primary{font-weight:600;background:var(--primary,#7aa2f7)!important;color:var(--on-primary,#10131a)!important;border-color:#0000!important}.promptdialog__primary:disabled{opacity:.5;cursor:default}.treegen{background:var(--background);height:100vh;color:var(--on-surface);flex-direction:column;display:flex;overflow:hidden}.treegen__body{flex:1;grid-template-columns:250px minmax(0,1fr) 320px;min-height:0;display:grid}.treegen__sidebar{background:var(--surface);flex-direction:column;gap:8px;padding:12px;display:flex;overflow-y:auto}.treegen__sidebar--left{border-right:1px solid var(--outline-variant)}.treegen__sidebar--right{border-left:1px solid var(--outline-variant)}.treegen__title{letter-spacing:.08em;text-transform:uppercase;color:var(--on-surface-variant);margin:6px 0 2px;font-size:11px;font-weight:700}.treegen__presets{flex-direction:column;gap:4px;display:flex}.treegen__preset{border:1px solid var(--outline-variant);background:var(--surface-container);color:var(--on-surface);cursor:pointer;text-align:left;border-radius:6px;flex-direction:column;align-items:flex-start;gap:1px;padding:7px 10px;display:flex}.treegen__preset:hover{background:var(--surface-container-high)}.treegen__preset--active{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 14%, var(--surface-container))}.treegen__preset-label{font-size:13px;font-weight:600}.treegen__preset-meta{color:var(--on-surface-variant);font-size:11px}.treegen__seed-row{gap:6px;display:flex}.treegen__seed-row input{border:1px solid var(--outline-variant);background:var(--surface-container);min-width:0;color:var(--on-surface);border-radius:6px;flex:1;padding:6px 8px;font-family:ui-monospace,monospace;font-size:12px}.treegen__dice{border:1px solid var(--outline-variant);background:var(--surface-container);cursor:pointer;border-radius:6px;width:38px;font-size:17px;line-height:1}.treegen__dice:hover{background:var(--surface-container-high)}.treegen__dice:active{transform:rotate(-18deg)}.treegen__spec-io{flex-direction:column;gap:4px;margin-top:10px;display:flex}.treegen__spec-io button,.treegen__actions button,.treegen__viewport-toolbar button{border:1px solid var(--outline-variant);background:var(--surface-container);color:var(--on-surface);cursor:pointer;border-radius:6px;padding:6px 10px;font-size:12px}.treegen__spec-io button:hover,.treegen__actions button:hover:not(:disabled),.treegen__viewport-toolbar button:hover{background:var(--surface-container-high)}.treegen__actions button:disabled{opacity:.5;cursor:default}.treegen__viewport{background:var(--background);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.treegen__viewport-toolbar{border-bottom:1px solid var(--outline-variant);background:var(--surface);flex-shrink:0;align-items:center;gap:6px;padding:6px 10px;display:flex}.treegen__viewport-toolbar button.is-active{border-color:var(--primary);color:var(--primary)}.treegen__toolbar-spacer{flex:1}.treegen__mode{color:var(--on-surface-variant);align-items:center;gap:6px;font-size:12px;display:inline-flex}.treegen__spinner{border:2px solid var(--outline-variant);border-top-color:var(--primary);border-radius:50%;width:10px;height:10px;animation:.7s linear infinite treegen-spin}@keyframes treegen-spin{to{transform:rotate(360deg)}}.treegen__canvas{flex:1;min-height:0}.treegen__actions{border-top:1px solid var(--outline-variant);background:var(--surface);flex-shrink:0;align-items:center;gap:8px;padding:8px 10px;display:flex}.treegen__generate{border-color:var(--primary)!important;color:var(--primary)!important;font-weight:600!important}.treegen__progress{background:var(--surface-container);border-radius:4px;flex:1;align-items:center;min-width:0;height:22px;display:flex;position:relative;overflow:hidden}.treegen__progress-bar{background:color-mix(in srgb, var(--primary) 30%, transparent);transition:width .12s linear;position:absolute;inset:0 auto 0 0}.treegen__progress span{color:var(--on-surface-variant);white-space:nowrap;text-overflow:ellipsis;padding:0 8px;font-size:11px;position:relative;overflow:hidden}.treegen__error{color:var(--error,#e5484d);background:var(--surface);border-top:1px solid var(--outline-variant);margin:0;padding:6px 10px;font-size:12px}.treegen__params{flex-direction:column;gap:6px;display:flex}.treegen__params--disabled{opacity:.55;pointer-events:none}.treegen__advanced-toggle{color:var(--on-surface-variant);cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.treegen__group{border:1px solid var(--outline-variant);border-radius:6px;overflow:hidden}.treegen__group-header{background:var(--surface-container);width:100%;color:var(--on-surface);cursor:pointer;border:0;align-items:center;gap:6px;padding:6px 8px;font-size:12px;font-weight:600;display:flex}.treegen__chevron{width:10px;color:var(--on-surface-variant)}.treegen__group-count{color:var(--on-surface-variant);margin-left:auto;font-size:10px;font-weight:400}.treegen__group-body{flex-direction:column;gap:8px;padding:8px;display:flex}.treegen__field{flex-direction:column;gap:3px;display:flex}.treegen__field label{color:var(--on-surface-variant);align-items:baseline;gap:6px;font-size:11px;display:flex}.treegen__value{color:var(--on-surface);margin-left:auto;font-family:ui-monospace,monospace;font-size:11px}.treegen__slider-row{align-items:center;gap:6px;display:flex}.treegen__slider-row input[type=range]{flex:1;min-width:0}.treegen__number{border:1px solid var(--outline-variant);background:var(--surface-container);width:62px;color:var(--on-surface);border-radius:4px;padding:3px 5px;font-family:ui-monospace,monospace;font-size:11px}.treegen__field select{border:1px solid var(--outline-variant);background:var(--surface-container);color:var(--on-surface);border-radius:4px;padding:4px 6px;font-size:12px}.treegen__field--check{cursor:pointer;flex-direction:row;align-items:center;gap:6px}.treegen__field--check span{color:var(--on-surface);font-size:12px}.treegen__stats{flex-direction:column;gap:3px;margin:0;font-size:12px;display:flex}.treegen__stats>div{justify-content:space-between;gap:8px;display:flex}.treegen__stats dt{color:var(--on-surface-variant)}.treegen__stats dd{color:var(--on-surface);margin:0;font-family:ui-monospace,monospace}.treegen__stats-rule{background:var(--outline-variant);height:1px;margin:4px 0}@media (width<=1200px){.treegen__body{grid-template-columns:200px minmax(0,1fr) 270px}}.treegen__textures{flex-direction:column;gap:8px;display:flex}.treegen__slot{border:1px solid var(--outline-variant);background:var(--surface-container);border-radius:6px;flex-direction:column;gap:6px;padding:7px 8px;display:flex}.treegen__slot-head{align-items:baseline;gap:6px;display:flex}.treegen__slot-label{color:var(--on-surface);font-size:12px;font-weight:600}.treegen__slot-optional{color:var(--on-surface-variant);margin-left:auto;font-size:10px}.treegen__thumbs{flex-wrap:wrap;gap:4px;display:flex}.treegen__slot-warning{color:var(--warning,#e0a458);margin:0;font-size:10.5px;line-height:1.35}.treegen__thumb-wrap{position:relative}.treegen__thumb{border:1px solid var(--outline-variant);background:var(--surface);cursor:pointer;border-radius:4px;width:64px;height:64px;padding:0;display:block;position:relative;overflow:hidden}.treegen__thumb img{object-fit:cover;width:100%;height:100%;display:block}.treegen__thumb-remove{color:#fff;opacity:0;background:#0000008c;place-items:center;font-size:18px;line-height:1;display:grid;position:absolute;inset:0}.treegen__thumb:hover .treegen__thumb-remove{opacity:1}.treegen__slot-actions{gap:4px;display:flex}.treegen__slot-actions button,.treegen__upload{border:1px solid var(--outline-variant);background:var(--surface);color:var(--on-surface);text-align:center;cursor:pointer;border-radius:4px;flex:1;padding:4px 8px;font-size:11px}.treegen__slot-actions button:hover,.treegen__upload:hover{background:var(--surface-container-high)}.treegen__saved{flex-direction:column;gap:6px;display:flex}.treegen__saved-form{gap:4px;display:flex}.treegen__saved-form input{border:1px solid var(--outline-variant);background:var(--surface-container);min-width:0;color:var(--on-surface);border-radius:5px;flex:1;padding:5px 7px;font-size:12px}.treegen__saved-form button,.treegen__saved-overwrite{border:1px solid var(--outline-variant);background:var(--surface-container);color:var(--on-surface);cursor:pointer;border-radius:5px;padding:5px 9px;font-size:12px}.treegen__saved-form button:disabled{opacity:.5;cursor:default}.treegen__saved-overwrite{width:100%}.treegen__saved-form button:hover:not(:disabled),.treegen__saved-overwrite:hover:not(:disabled){background:var(--surface-container-high)}.treegen__open-preset{color:var(--on-surface-variant);margin:2px 0 6px;font-size:11px;line-height:1.45}.treegen__open-preset strong{color:var(--on-surface)}.treegen__saved-empty{color:var(--on-surface-variant);margin:2px 0;font-size:11px;line-height:1.45}.treegen__saved-list{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.treegen__saved-item{border:1px solid var(--outline-variant);background:var(--surface-container);border-radius:5px;align-items:stretch;gap:2px;display:flex;overflow:hidden}.treegen__saved-item--active{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, var(--surface-container))}.treegen__saved-open{min-width:0;color:var(--on-surface);cursor:pointer;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:7px;padding:5px 6px;display:flex}.treegen__saved-open:hover{background:var(--surface-container-high)}.treegen__saved-open img,.treegen__saved-placeholder{object-fit:cover;background:var(--surface);border-radius:4px;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:15px;display:grid}.treegen__saved-text{flex-direction:column;min-width:0;display:flex}.treegen__saved-name{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.treegen__saved-meta{color:var(--on-surface-variant);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.treegen__saved-actions{flex-direction:column;display:flex}.treegen__saved-actions button{border:0;border-left:1px solid var(--outline-variant);width:22px;color:var(--on-surface-variant);cursor:pointer;background:0 0;flex:1;font-size:11px;line-height:1}.treegen__saved-actions button:hover{background:var(--surface-container-high);color:var(--on-surface)}.treegen__saved-confirm{color:var(--error,#e5484d)!important}.treegen__notice{color:var(--on-surface-variant);background:var(--surface);border-top:1px solid var(--outline-variant);margin:0;padding:6px 10px;font-size:12px}.treegen__stat-note{color:var(--on-surface-variant);font-family:inherit;font-size:10px}.treegen__thumb-pivot{border:1px solid var(--outline-variant);background:var(--surface);width:20px;height:20px;color:var(--on-surface-variant);cursor:pointer;border-radius:50%;padding:0;font-size:12px;line-height:1;position:absolute;bottom:-3px;right:-3px}.treegen__thumb-pivot:hover{background:var(--surface-container-high);color:var(--on-surface)}.treegen__thumb-pivot--set{border-color:var(--primary);color:var(--primary)}.leafpivot__overlay{z-index:1200;background:#0009;place-items:center;display:grid;position:fixed;inset:0}.leafpivot{background:var(--surface);border:1px solid var(--outline-variant);border-radius:10px;flex-direction:column;gap:10px;width:min(760px,92vw);padding:14px 16px 12px;display:flex}.leafpivot__header{align-items:center;gap:10px;display:flex}.leafpivot__header h2{margin:0;font-size:15px;font-weight:600}.leafpivot__header button{width:28px;height:28px;color:var(--on-surface-variant);cursor:pointer;background:0 0;border:0;border-radius:6px;margin-left:auto;font-size:20px;line-height:1}.leafpivot__hint{color:var(--on-surface-variant);margin:0;font-size:12px}.leafpivot__body{align-items:flex-start;gap:14px;display:flex}.leafpivot__stage{aspect-ratio:1;border:1px solid var(--outline-variant);cursor:crosshair;background-color:#2a2d31;background-image:linear-gradient(45deg,#33373c 25%,#0000 25%),linear-gradient(-45deg,#33373c 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#33373c 75%),linear-gradient(-45deg,#0000 75%,#33373c 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;border-radius:8px;flex:1;min-width:0;max-height:56vh;position:relative;overflow:hidden}.leafpivot__stage img{object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block}.leafpivot__marker{pointer-events:none;border:2px solid #ff4d4d;border-radius:50%;width:16px;height:16px;margin:-8px 0 0 -8px;position:absolute;box-shadow:0 0 0 1px #0009}.leafpivot__marker:after{content:"";background:#ff4d4d;width:2px;height:2px;margin:-1px 0 0 -1px;position:absolute;top:50%;left:50%}.leafpivot__side{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;width:140px;display:flex}.leafpivot__side-label{color:var(--on-surface-variant);font-size:11px}.leafpivot__side canvas{border:1px solid var(--outline-variant);background:var(--surface-container);border-radius:6px}.leafpivot__side code{color:var(--on-surface-variant);text-align:center;font-size:11px;line-height:1.5}.leafpivot__footer{align-items:center;gap:8px;display:flex}.leafpivot__spacer{flex:1}.leafpivot__footer button{border:1px solid var(--outline-variant);background:var(--surface-container);color:var(--on-surface);cursor:pointer;border-radius:6px;padding:6px 12px;font-size:12px}.leafpivot__footer button:hover{background:var(--surface-container-high)}.leafpivot__primary{font-weight:600;border-color:var(--primary)!important;color:var(--primary)!important}@media (width<=700px){.treegen{height:auto;min-height:100dvh;overflow:visible}.treegen__body{flex-direction:column;flex:none;min-height:0;display:flex;overflow:visible}.treegen__sidebar{padding:10px 12px;overflow:visible}.treegen__sidebar--left{border-right:0;border-bottom:1px solid var(--outline-variant)}.treegen__sidebar--right{border-left:0;border-top:1px solid var(--outline-variant)}.treegen__viewport{flex:none;height:min(56vh,520px);min-height:320px}.treegen__viewport-toolbar{flex-wrap:wrap}.treegen__toolbar-spacer{flex:1 1 0}.treegen__actions{flex-wrap:wrap}}.vfx-sprite-overlay{z-index:60;background:#08090cb8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.vfx-sprite{color:#e6e9f0;background:#16181d;border:1px solid #2a2d34;border-radius:8px;flex-direction:column;width:min(520px,100vw - 32px);max-height:calc(100vh - 64px);display:flex;box-shadow:0 18px 48px #0000008c}.vfx-sprite__header{border-bottom:1px solid #23262d;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.vfx-sprite__header h3{margin:0;font-size:15px}.vfx-sprite__header button{color:#8a93a4;cursor:pointer;background:0 0;border:none;display:inline-flex}.vfx-sprite__header button:hover{color:#e6e9f0}.vfx-sprite__body{flex-direction:column;gap:12px;padding:14px;display:flex;overflow-y:auto}.vfx-sprite__teach{color:#9aa3b4;margin:0;font-size:12px;line-height:1.5}.vfx-sprite__teach strong{color:#cdd4e0}.vfx-sprite__presets{flex-wrap:wrap;gap:5px;display:flex}.vfx-sprite__presets button{color:#b8c0cf;cursor:pointer;background:#1b1e24;border:1px solid #2a2d34;border-radius:5px;padding:4px 8px;font-size:11px;font-weight:600}.vfx-sprite__presets button:hover{color:#e6e9f0;border-color:#3a3f49}.vfx-sprite__field{flex-direction:column;gap:4px;display:flex}.vfx-sprite__field>span{text-transform:uppercase;letter-spacing:.04em;color:#8a93a4;font-size:10px}.vfx-sprite__field textarea,.vfx-sprite__field select{color:#e6e9f0;font:inherit;resize:vertical;background:#14161b;border:1px solid #2a2d34;border-radius:5px;padding:6px 8px;font-size:12px}.vfx-sprite__note{color:#8a93a4;margin:0;font-size:11px}.vfx-sprite__note strong{color:#cdd4e0}.vfx-sprite__message{border-radius:5px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex}.vfx-sprite__message img{object-fit:contain;background:#000;border-radius:4px;width:44px;height:44px}.vfx-sprite__message.is-error{color:#f0c8c8;background:#a03c3c29;border:1px solid #c85a5a59}.vfx-sprite__message.is-success{color:#c8f0d8;background:#3c8c5a24;border:1px solid #5abe824d}.vfx-sprite__actions{border-top:1px solid #23262d;justify-content:flex-end;gap:8px;padding:12px 14px;display:flex}.vfx-sprite__actions button{color:#b8c0cf;cursor:pointer;background:#1b1e24;border:1px solid #2a2d34;border-radius:5px;padding:6px 14px;font-size:12px;font-weight:600}.vfx-sprite__actions button.is-primary{color:#fff;background:#2f5fb0;border-color:#3d6fc4}.vfx-sprite__actions button:disabled{opacity:.5;cursor:default}.vfx-sprite__params{flex-direction:column;gap:10px;display:flex}.vfx-sprite__params .image-editor-label{text-transform:uppercase;letter-spacing:.04em;color:#8a93a4;gap:4px;font-size:10px}.vfx-sprite__params .image-editor-label--checkbox{text-transform:none;letter-spacing:normal;color:#e6e9f0;font-size:12px}.vfx-sprite__params .image-editor-input{color:#e6e9f0;font:inherit;background:#14161b;border:1px solid #2a2d34;border-radius:5px;padding:7px 8px;font-size:12px}.vfx-sprite__params .image-editor-input:focus-visible{outline-offset:1px;outline:2px solid #6ea8ff}.vfx-shortcuts-overlay{z-index:60;background:#08090cb8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.vfx-shortcuts{color:#e6e9f0;background:#16181d;border:1px solid #2a2d34;border-radius:8px;flex-direction:column;width:min(560px,100vw - 32px);max-height:calc(100vh - 64px);display:flex;box-shadow:0 18px 48px #0000008c}.vfx-shortcuts__header{border-bottom:1px solid #23262d;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.vfx-shortcuts__header h3{margin:0;font-size:15px}.vfx-shortcuts__header button{color:#8a93a4;cursor:pointer;background:0 0;border:none;display:inline-flex}.vfx-shortcuts__header button:hover{color:#e6e9f0}.vfx-shortcuts__body{flex-direction:column;gap:16px;padding:14px;display:flex;overflow-y:auto}.vfx-shortcuts__body h4{text-transform:uppercase;letter-spacing:.06em;color:#8a93a4;margin:0 0 6px;font-size:10px}.vfx-shortcuts__body dl{flex-direction:column;gap:4px;margin:0;display:flex}.vfx-shortcuts__body dl>div{grid-template-columns:minmax(0,auto) minmax(0,1fr);align-items:baseline;gap:10px;display:grid}.vfx-shortcuts__body dt{margin:0}.vfx-shortcuts__body dd{color:#b8c0cf;margin:0;font-size:12px}.vfx-shortcuts__body kbd{color:#cdd4e0;white-space:nowrap;background:#1b1e24;border:1px solid #2f333b;border-bottom-width:2px;border-radius:4px;padding:2px 6px;font-family:inherit;font-size:11px;font-weight:600;display:inline-block}.vfx-shortcuts__note{color:#8a93a4;border-top:1px solid #23262d;margin:0;padding-top:10px;font-size:11.5px;line-height:1.55}.vfx-presets-overlay{z-index:60;background:#060709b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.vfx-presets{background:#16181d;border:1px solid #2a2d34;border-radius:10px;flex-direction:column;width:min(1180px,100%);height:min(820px,100%);display:flex;overflow:hidden;box-shadow:0 24px 64px #0009}.vfx-presets__header{background:#1a1d23;border-bottom:1px solid #2a2d34;align-items:center;gap:12px;padding:12px 14px;display:flex}.vfx-presets__title{align-items:center;gap:8px;min-width:0;display:flex}.vfx-presets__title h2{color:#e6e9f0;white-space:nowrap;margin:0;font-size:15px}.vfx-presets__title .material-symbols-outlined{color:#ac89ff;font-size:20px}.vfx-presets__count{color:#8a93a4;white-space:nowrap;font-size:11px}.vfx-presets__badge{text-transform:uppercase;letter-spacing:.05em;color:#8a93a4;border:1px solid #3a3f49;border-radius:999px;padding:2px 7px;font-size:10px}.vfx-presets__search{color:#e6e9f0;min-width:0;font:inherit;background:#12141a;border:1px solid #2a2d34;border-radius:6px;flex:1;padding:7px 10px;font-size:13px}.vfx-presets__search:focus-visible{outline-offset:1px;outline:2px solid #6ea8ff}.vfx-presets__new,.vfx-presets__close{color:#d8dde7;font:inherit;cursor:pointer;white-space:nowrap;background:#22262e;border:1px solid #2f333c;border-radius:6px;padding:7px 10px;font-size:12px}.vfx-presets__new:hover,.vfx-presets__close:hover{background:#2b3039}.vfx-presets__close{place-items:center;padding:5px;display:grid}.vfx-presets__body{flex:1;grid-template-columns:208px minmax(0,1fr);min-height:0;display:grid}.vfx-presets__rail{background:#14161b;border-right:1px solid #2a2d34;padding:10px 8px;overflow-y:auto}.vfx-presets__cat{color:#b7bfcc;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;margin-bottom:2px;padding:7px 9px;font-size:12.5px;display:flex}.vfx-presets__cat:hover{color:#e6e9f0;background:#1e222a}.vfx-presets__cat.is-active{color:#e6e9f0;background:#ac89ff29}.vfx-presets__cat-dot{background:hsl(var(--vfx-preset-hue,220) 65% 62%);border-radius:50%;flex:none;width:8px;height:8px}.vfx-presets__cat-count{color:#737d8e;margin-left:auto;font-size:11px}.vfx-presets__main{min-width:0;padding:12px 14px 20px;overflow-y:auto}.vfx-presets__filters{border-bottom:1px solid #22252c;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-bottom:4px;padding-bottom:12px;display:flex}.vfx-presets__filter-group{align-items:center;gap:5px;display:flex}.vfx-presets__filter-label{text-transform:uppercase;letter-spacing:.05em;color:#6c7688;margin-right:2px;font-size:10px}.vfx-presets__chip{color:#b7bfcc;font:inherit;cursor:pointer;background:#1c1f26;border:1px solid #2c3039;border-radius:999px;padding:3px 10px;font-size:11.5px}.vfx-presets__chip:hover{color:#e6e9f0;border-color:#3d4250}.vfx-presets__chip.is-active{color:#efe9ff;background:#ac89ff33;border-color:#ac89ff}.vfx-presets__clear{color:#8a93a4;font:inherit;cursor:pointer;background:0 0;border:none;font-size:11.5px;text-decoration:underline}.vfx-presets__error{color:#ffb3b3;background:#ff6b6b1f;border:1px solid #ff6b6b59;border-radius:6px;margin:10px 0;padding:8px 10px;font-size:12px}.vfx-presets__empty{color:#8a93a4;padding:28px 4px;font-size:13px}.vfx-presets__group{margin-top:18px}.vfx-presets__group-title{text-transform:uppercase;letter-spacing:.06em;color:hsl(var(--vfx-preset-hue,220) 55% 72%);align-items:center;gap:8px;margin:0 0 10px;font-size:12px;display:flex}.vfx-presets__group-title span{color:#6c7688;letter-spacing:normal;font-size:10px}.vfx-presets__group-title:after{content:"";background:#24272f;flex:1;height:1px}.vfx-presets__grid{grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:12px;display:grid}.vfx-preset-card{border-radius:8px;position:relative}.vfx-preset-card__open{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#1a1d23;border:1px solid #262a32;border-radius:8px;flex-direction:column;gap:5px;padding:0 0 10px;transition:border-color .12s,transform .12s;display:flex;overflow:hidden}.vfx-preset-card__open:hover:not(:disabled){border-color:#ac89ff;transform:translateY(-1px)}.vfx-preset-card__open:focus-visible{outline-offset:2px;outline:2px solid #6ea8ff}.vfx-preset-card__open:disabled{opacity:.6;cursor:default}.vfx-preset-card__art{aspect-ratio:16/10;background:radial-gradient(circle at 50% 45%, hsl(var(--vfx-preset-hue,220) 60% 26%), hsl(var(--vfx-preset-hue,220) 45% 12%));border-bottom:1px solid #262a32;place-items:center;display:grid}.vfx-preset-card__art img{object-fit:cover;width:100%;height:100%;display:block}.vfx-preset-card__initials{letter-spacing:.04em;color:hsl(var(--vfx-preset-hue,220) 70% 78%);opacity:.85;font-size:26px;font-weight:600}.vfx-preset-card__name{color:#e6e9f0;padding:0 10px;font-size:13px;font-weight:600}.vfx-preset-card__blurb{color:#8a93a4;-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:0 10px;font-size:11.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.vfx-preset-card__tags{flex-wrap:wrap;gap:4px;padding:2px 10px 0;display:flex}.vfx-preset-card__tag{color:#98a1b1;background:#22262e;border-radius:999px;padding:1px 6px;font-size:10px}.vfx-preset-card__admin{opacity:0;gap:4px;transition:opacity .12s;display:flex;position:absolute;top:6px;right:6px}.vfx-preset-card:hover .vfx-preset-card__admin,.vfx-preset-card:focus-within .vfx-preset-card__admin{opacity:1}.vfx-preset-card__admin button{color:#d8dde7;cursor:pointer;background:#0c0e12d9;border:1px solid #3a3f49;border-radius:5px;place-items:center;width:24px;height:24px;padding:0;display:grid}.vfx-preset-card__admin button:hover{color:#fff;background:#2b3039}.vfx-preset-card__admin .material-symbols-outlined{font-size:15px}.vfx-presets__editor{background:#1a1d23;border:1px solid #3a3f49;border-radius:10px;flex-direction:column;gap:10px;width:min(460px,100% - 48px);height:fit-content;max-height:calc(100% - 48px);margin:auto;padding:16px;display:flex;position:absolute;inset:0;overflow-y:auto;box-shadow:0 20px 56px #0009}.vfx-presets__editor h3{color:#e6e9f0;margin:0 0 2px;font-size:14px}.vfx-presets__editor label{flex-direction:column;gap:4px;display:flex}.vfx-presets__editor label>span{text-transform:uppercase;letter-spacing:.04em;color:#8a93a4;font-size:10px}.vfx-presets__editor input,.vfx-presets__editor select,.vfx-presets__editor textarea{color:#e6e9f0;font:inherit;resize:vertical;background:#14161b;border:1px solid #2a2d34;border-radius:5px;padding:7px 8px;font-size:12px}.vfx-presets__editor input:disabled{color:#7b8494}.vfx-presets__assets{background:#14161b;border:1px solid #2a2d34;border-radius:6px;flex-direction:column;gap:6px;padding:10px;display:flex}.vfx-presets__assets-title{text-transform:uppercase;letter-spacing:.04em;color:#8a93a4;align-items:center;gap:6px;font-size:10px;display:flex}.vfx-presets__assets-title em{color:#b8c0ce;background:#22262e;border-radius:8px;padding:1px 6px;font-style:normal}.vfx-presets__assets-note{color:#7b8494;margin:0;font-size:11px;line-height:1.45}.vfx-presets__editor label.vfx-presets__asset{flex-direction:row;align-items:center;gap:8px}.vfx-presets__asset>.material-symbols-outlined{color:#8a93a4;text-transform:none;letter-spacing:normal;flex:none;font-size:16px}.vfx-presets__asset input{flex:auto;min-width:0}.vfx-presets__asset-file{text-overflow:ellipsis;white-space:nowrap;color:#6f7889;text-transform:none;letter-spacing:normal;flex:none;max-width:45%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;overflow:hidden}.vfx-presets__asset-file.is-bad{color:#e8746a}.vfx-presets__asset-gone{text-transform:uppercase;letter-spacing:.04em;color:#e8746a;flex:none;font-size:10px}.vfx-presets__editor-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.vfx-presets__editor-actions button{color:#d8dde7;font:inherit;cursor:pointer;background:#22262e;border:1px solid #2f333c;border-radius:6px;padding:7px 14px;font-size:12px}.vfx-presets__editor-actions .is-primary{color:#fff;background:#4c6ef5;border-color:#4c6ef5}.vfx-presets__editor-actions button:disabled{opacity:.55;cursor:default}@media (width<=900px){.vfx-presets__body{grid-template-columns:minmax(0,1fr)}.vfx-presets__rail{border-bottom:1px solid #2a2d34;border-right:none;gap:4px;display:flex;overflow-x:auto}.vfx-presets__cat{white-space:nowrap;width:auto}}.vfx-sheet-overlay{z-index:60;background:#060709b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.vfx-sheet{background:#16181d;border:1px solid #2a2d34;border-radius:8px;flex-direction:column;width:min(520px,100%);max-height:calc(100vh - 48px);display:flex;overflow:hidden;box-shadow:0 18px 48px #0000008c}.vfx-sheet__header{background:#1a1d23;border-bottom:1px solid #2a2d34;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.vfx-sheet__header h3{color:#e6e9f0;margin:0;font-size:14px}.vfx-sheet__header button{color:#8a93a4;cursor:pointer;background:0 0;border:none;border-radius:5px;place-items:center;padding:4px;display:grid}.vfx-sheet__header button:hover{color:#e6e9f0;background:#2b3039}.vfx-sheet__body{flex-direction:column;gap:12px;padding:14px;display:flex;overflow-y:auto}.vfx-sheet__teach,.vfx-sheet__hint{color:#8a93a4;margin:0;font-size:11.5px;line-height:1.5}.vfx-sheet__teach strong,.vfx-sheet__hint strong{color:#c8cfdb;font-weight:600}.vfx-sheet__row{gap:10px;display:flex}.vfx-sheet__row>label{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.vfx-sheet__row>label>span{text-transform:uppercase;letter-spacing:.04em;color:#8a93a4;font-size:10px}.vfx-sheet__row>label>em{color:#6c7688;font-size:10.5px;font-style:normal}.vfx-sheet__row input[type=number],.vfx-sheet__row select{color:#e6e9f0;font:inherit;background:#14161b;border:1px solid #2a2d34;border-radius:5px;min-width:0;padding:7px 8px;font-size:12px}.vfx-sheet__row input:focus-visible,.vfx-sheet__row select:focus-visible{outline-offset:1px;outline:2px solid #6ea8ff}.vfx-sheet__row>label.is-check{flex-direction:row;align-items:center;gap:7px}.vfx-sheet__row>label.is-check>span{text-transform:none;letter-spacing:normal;color:#d8dde7;font-size:12px}.vfx-sheet__summary{background:#14161b;border:1px solid #24272f;border-radius:6px;grid-template-columns:repeat(4,1fr);gap:8px;margin:0;padding:10px;display:grid}.vfx-sheet__summary div{min-width:0}.vfx-sheet__summary dt{text-transform:uppercase;letter-spacing:.05em;color:#6c7688;margin-bottom:2px;font-size:9.5px}.vfx-sheet__summary dd{color:#e6e9f0;font-variant-numeric:tabular-nums;margin:0;font-size:12.5px}.vfx-sheet__summary dd em{color:#737d8e;font-size:10.5px;font-style:normal}.vfx-sheet__summary dd.is-bad{color:#ff9b9b}.vfx-sheet__message{color:#c8cfdb;background:#1c1f26;border:1px solid #2c3039;border-radius:6px;padding:8px 10px;font-size:11.5px;line-height:1.5}.vfx-sheet__message.is-error{color:#ffb3b3;background:#ff6b6b1f;border-color:#ff6b6b59}.vfx-sheet__message.is-warn{color:#ffd9a0;background:#ffc46b1a;border-color:#ffc46b4d}.vfx-sheet__actions{background:#1a1d23;border-top:1px solid #2a2d34;justify-content:flex-end;gap:8px;padding:12px 14px;display:flex}.vfx-sheet__actions button{color:#d8dde7;font:inherit;cursor:pointer;background:#22262e;border:1px solid #2f333c;border-radius:6px;padding:7px 14px;font-size:12px}.vfx-sheet__actions button:hover:not(:disabled){background:#2b3039}.vfx-sheet__actions .is-primary{color:#fff;background:#4c6ef5;border-color:#4c6ef5}.vfx-sheet__actions button:disabled{opacity:.55;cursor:default}.vfx-modes{background:#14161a;border:1px solid #2a2d34;border-radius:5px;flex:none;align-items:center;gap:1px;padding:1px;display:inline-flex}.vfx-modes__btn{color:#8b929f;letter-spacing:.01em;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;align-items:center;gap:3px;padding:3px 6px;font-size:10px;font-weight:600;display:inline-flex}.vfx-modes__btn .material-symbols-outlined{font-size:13px}.vfx-modes__btn:hover:not(:disabled){color:#d6d9df;background:#20232a}.vfx-modes__btn.is-active{color:#fff;background:#2f6feb}.vfx-modes__btn:disabled{opacity:.4;cursor:default}.vfx-modes.is-wired{background:#16202f;border-color:#4a7bd4;gap:4px;padding:1px 3px}.vfx-modes__wired{color:#8fb4f5;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:3px;max-width:140px;font-size:10px;font-weight:600;display:inline-flex;overflow:hidden}.vfx-modes__wired .material-symbols-outlined{font-size:13px}.vfx-modes__unwire{color:#7b8290;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 4px;font-size:10px}.vfx-modes__unwire:hover{color:#ff9b9b;background:#2a1d1d}.vfx-num{background:#16181d;border:1px solid #2a2d34;border-radius:5px;flex:auto;align-items:center;gap:4px;min-width:0;height:26px;padding:0 6px;display:inline-flex}.vfx-num:hover{border-color:#3a3e47}.vfx-num.is-editing{background:#101216;border-color:#2f6feb}.vfx-num.is-disabled{opacity:.5}.vfx-num__input{color:#e6e8ec;font-variant-numeric:tabular-nums;background:0 0;border:none;outline:none;flex:auto;width:100%;min-width:0;padding:0;font-size:12px}.vfx-num__input[readonly]{cursor:ew-resize;-webkit-user-select:none;user-select:none}.vfx-num.is-editing .vfx-num__input{cursor:text;-webkit-user-select:text;user-select:text}.vfx-num__unit{color:#7b8290;pointer-events:none;flex:none;font-size:10px}.vfx-curve{background:#14171d;border:1px solid #2a2d34;border-radius:6px;flex-direction:column;gap:5px;padding:7px 8px 9px;display:flex}.vfx-curve__head{align-items:center;gap:5px;display:flex}.vfx-curve__title{letter-spacing:.02em;color:#c9cdd6;text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:10px;font-weight:700;overflow:hidden}.vfx-curve__preset{color:#c9cdd6;cursor:pointer;background:#101216;border:1px solid #2a2d34;border-radius:4px;flex:none;max-width:96px;height:22px;font-size:10px}.vfx-curve__head button{color:#6d7484;cursor:pointer;background:0 0;border:none;border-radius:3px;flex:none;align-items:center;padding:2px;display:inline-flex}.vfx-curve__head button:hover{color:#e6e8ec;background:#2b2f38}.vfx-curve__head .material-symbols-outlined{font-size:15px}.vfx-curve__canvas-wrap{width:100%;min-width:0;height:168px;position:relative}.vfx-curve__canvas{cursor:crosshair;touch-action:none;border-radius:4px;outline:none;display:block}.vfx-curve__canvas:focus-visible{box-shadow:0 0 0 2px #2f6feb}.vfx-curve__status{color:#9aa1af;font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;min-height:24px;font-size:10px;display:flex}.vfx-curve__interp{letter-spacing:.02em;color:#8fb4f5;background:#16202f;border-radius:3px;padding:1px 4px;font-size:9px;font-weight:700}.vfx-curve__hint{color:#767d8b;line-height:1.4}.vfx-curve__notice{color:#ebd6a3;background:#221c0f;border:1px solid #4a3a12;border-radius:4px;margin:0;padding:4px 6px;font-size:10px;line-height:1.4}.vfx-curve__numbers{color:#8b929f;font-size:10px}.vfx-curve__numbers summary{cursor:pointer;padding:2px 0}.vfx-curve__numbers table{border-collapse:collapse;width:100%;margin-top:4px}.vfx-curve__numbers th{text-align:left;color:#5f6673;border-bottom:1px solid #22252c;padding:2px 3px;font-size:9px;font-weight:600}.vfx-curve__numbers td{padding:2px 3px}.vfx-curve__numbers tr.is-selected td{background:#1c2735}.vfx-curve__numbers input,.vfx-curve__numbers select{color:#d6d9df;font-variant-numeric:tabular-nums;background:#101216;border:1px solid #2a2d34;border-radius:3px;width:100%;min-width:0;padding:1px 3px;font-size:10px}.vfx-curve__numbers td button{color:#6d7484;cursor:pointer;background:0 0;border:none;border-radius:3px;align-items:center;padding:1px;display:inline-flex}.vfx-curve__numbers td button:hover:not(:disabled){color:#ff9b9b;background:#2a1d1d}.vfx-curve__numbers td button:disabled{opacity:.3;cursor:default}.vfx-curve__numbers td .material-symbols-outlined{font-size:13px}.vfx-grad{background:#14171d;border:1px solid #2a2d34;border-radius:6px;flex-direction:column;gap:5px;padding:7px 8px 9px;display:flex}.vfx-grad__head{align-items:center;gap:5px;display:flex}.vfx-grad__title{letter-spacing:.02em;color:#c9cdd6;text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:10px;font-weight:700;overflow:hidden}.vfx-grad__preset{color:#c9cdd6;cursor:pointer;background:#101216;border:1px solid #2a2d34;border-radius:4px;flex:none;max-width:96px;height:22px;font-size:10px}.vfx-grad__head button{color:#6d7484;cursor:pointer;background:0 0;border:none;border-radius:3px;flex:none;align-items:center;padding:2px;display:inline-flex}.vfx-grad__head button:hover{color:#e6e8ec;background:#2b2f38}.vfx-grad__head .material-symbols-outlined{font-size:15px}.vfx-grad__body{flex-direction:column;min-width:0;display:flex}.vfx-grad__bar{border-left:1px solid #2a2d34;border-right:1px solid #2a2d34;width:100%;display:block}.vfx-grad__rail{cursor:crosshair;touch-action:none;background:#101216;border:1px solid #2a2d34;min-width:0;position:relative}.vfx-grad__rail.is-alpha{border-bottom:none;border-radius:4px 4px 0 0}.vfx-grad__rail.is-color{border-top:none;border-radius:0 0 4px 4px}.vfx-grad__stop{pointer-events:none;border:1px solid #101216;width:10px;height:10px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #ffffff59}.vfx-grad__stop.is-color{border-radius:2px}.vfx-grad__stop.is-alpha{background:#dce3ef;border-radius:1px;width:8px;height:8px;transform:translate(-50%,-50%)rotate(45deg)}.vfx-grad__stop.is-selected{z-index:2;box-shadow:0 0 0 2px #fff}.vfx-grad__selected{align-items:flex-end;gap:5px;min-width:0;display:flex}.vfx-grad__swatch{cursor:pointer;background:0 0;border:1px solid #2a2d34;border-radius:4px;flex:none;width:28px;height:26px;padding:0}.vfx-grad__swatch::-webkit-color-swatch-wrapper{padding:2px}.vfx-grad__swatch::-webkit-color-swatch{border:none;border-radius:2px}.vfx-grad__swatch::-moz-color-swatch{border:none;border-radius:2px}.vfx-grad__field{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.vfx-grad__field.is-narrow{flex:none;width:62px}.vfx-grad__field>span{color:#6d7484;font-size:9px;font-weight:600}.vfx-grad__field input[type=text]{color:#e6e8ec;font-variant-numeric:tabular-nums;background:#16181d;border:1px solid #2a2d34;border-radius:5px;width:100%;min-width:0;height:26px;padding:0 6px;font-size:11px}.vfx-grad__field input[type=text]:focus{border-color:#2f6feb;outline:none}.vfx-grad__remove{color:#6d7484;cursor:pointer;background:0 0;border:1px solid #2a2d34;border-radius:5px;flex:none;align-items:center;height:26px;padding:0 4px;display:inline-flex}.vfx-grad__remove:hover{color:#ff9b9b;background:#2a1d1d;border-color:#6d3131}.vfx-grad__remove .material-symbols-outlined{font-size:15px}.vfx-grad__hdr{color:#ffd88a;background:#221c0f;border:1px solid #4a3a12;border-radius:4px;margin:0;padding:4px 6px;font-size:10px;line-height:1.4}.vfx-grad__notice{color:#ebd6a3;background:#221c0f;border:1px solid #4a3a12;border-radius:4px;margin:0;padding:4px 6px;font-size:10px;line-height:1.4}.vfx-prop{border-bottom:1px solid #1e2027;flex-direction:column;gap:5px;padding:8px 10px;display:flex}.vfx-prop:last-child{border-bottom:none}.vfx-prop__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.vfx-prop__label{color:#c9cdd6;letter-spacing:.01em;align-items:center;gap:5px;font-size:11px;font-weight:600;display:inline-flex}.vfx-prop__dot{background:#e0a33c;border-radius:50%;flex:none;width:5px;height:5px}.vfx-prop__editor{align-items:center;gap:6px;min-width:0;display:flex}.vfx-prop__hint{color:#767d8b;margin:0;font-size:10px;line-height:1.4}.vfx-prop__summary{color:#8fa4c8;margin:0;font-size:10px;font-style:italic}.vfx-prop__vec,.vfx-prop__color,.vfx-prop__range{flex:auto;align-items:center;gap:5px;min-width:0;display:flex}.vfx-prop__axis,.vfx-prop__color-num,.vfx-prop__scale{flex:1 1 0;align-items:center;gap:3px;min-width:0;display:flex}.vfx-prop__axis-label{color:#6d7484;text-align:center;flex:none;width:8px;font-size:9px;font-weight:700}.vfx-prop__swatch{cursor:pointer;background:0 0;border:1px solid #2a2d34;border-radius:5px;flex:none;width:30px;height:26px;padding:0}.vfx-prop__swatch::-webkit-color-swatch-wrapper{padding:2px}.vfx-prop__swatch::-webkit-color-swatch{border:none;border-radius:3px}.vfx-prop__swatch::-moz-color-swatch{border:none;border-radius:3px}.vfx-prop__bool{color:#c9cdd6;cursor:pointer;align-items:center;gap:5px;font-size:11px;display:inline-flex}.vfx-prop__range-to{color:#6d7484;flex:none;font-size:10px}.vfx-prop__freq,.vfx-prop__preset{color:#c9cdd6;cursor:pointer;background:#16181d;border:1px solid #2a2d34;border-radius:5px;min-width:0;height:26px;padding:0 4px;font-size:11px}.vfx-prop__freq{flex:none;max-width:96px}.vfx-prop__preset{flex:auto}.vfx-prop__curve,.vfx-prop__gradient{flex:auto;align-items:center;gap:6px;min-width:0;display:flex}.vfx-prop__spark{vector-effect:non-scaling-stroke;background:#101216;border:1px solid #2a2d34;border-radius:5px;flex:none;width:44px;height:26px}.vfx-prop__spark path{fill:none;stroke:#6fa8ff;stroke-width:1.5px;vector-effect:non-scaling-stroke}.vfx-prop__bar-wrap{background-color:#101216;background-image:linear-gradient(45deg,#2a2d34 25%,#0000 25% 75%,#2a2d34 75%),linear-gradient(45deg,#2a2d34 25%,#0000 25% 75%,#2a2d34 75%);background-position:0 0,4px 4px;background-size:8px 8px;border:1px solid #2a2d34;border-radius:5px;flex:auto;min-width:40px;height:26px;overflow:hidden}.vfx-prop__bar{width:100%;height:100%}.vfx-prop__hdr{letter-spacing:.04em;color:#ffd88a;background:#33290f;border-radius:3px;flex:none;padding:2px 4px;font-size:9px;font-weight:700}.vfx-prop__edit{color:#8b929f;cursor:pointer;background:#16181d;border:1px solid #2a2d34;border-radius:5px;flex:none;align-items:center;height:26px;padding:0 4px;display:inline-flex}.vfx-prop__edit:hover{color:#e6e8ec;border-color:#3d6096}.vfx-prop__edit.is-open{color:#8fb4f5;background:#1c2735;border-color:#3d6096}.vfx-prop__edit .material-symbols-outlined{font-size:15px}.vfx-prop__asset{flex:auto;align-items:center;gap:4px;min-width:0;display:flex}.vfx-prop__asset-pick{color:#8b929f;cursor:pointer;text-align:left;background:#16181d;border:1px dashed #3a3e47;border-radius:5px;flex:auto;align-items:center;gap:5px;min-width:0;height:26px;padding:0 7px;font-size:11px;display:inline-flex}.vfx-prop__asset-pick.is-set{color:#d6d9df;border-style:solid}.vfx-prop__asset-pick:hover{color:#e6e8ec;border-color:#2f6feb}.vfx-prop__asset-pick .material-symbols-outlined{flex:none;font-size:15px}.vfx-prop__asset-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vfx-prop__asset-clear{color:#6d7484;cursor:pointer;background:0 0;border:none;border-radius:3px;flex:none;align-items:center;padding:2px;display:inline-flex}.vfx-prop__asset-clear:hover{color:#ff9b9b;background:#2a1d1d}.vfx-prop__asset-clear .material-symbols-outlined{font-size:15px}.vfx-prop__wired-value{color:#8fa4c8;background:#14181f;border:1px solid #262b34;border-radius:5px;flex:auto;padding:5px 7px;font-size:11px}.vfx-prop__presets{flex-wrap:wrap;gap:4px;display:flex}.vfx-prop__preset-btn{color:#9aa1af;cursor:pointer;background:#1c1f26;border:1px solid #2a2d34;border-radius:10px;padding:2px 8px;font-size:10px}.vfx-prop__preset-btn:hover{color:#dce3ef;background:#24303f;border-color:#3d6096}.vfx-prop.is-compact{border-bottom:none;flex-direction:row;align-items:center;gap:6px;padding:3px 0}.vfx-prop.is-compact .vfx-prop__label{color:#8b929f;text-overflow:ellipsis;white-space:nowrap;flex:none;width:66px;font-size:10px;font-weight:500;overflow:hidden}.vfx-prop.is-compact .vfx-prop__editor{flex:auto}.vfx-hovercard{z-index:3000;color:#dce3ef;pointer-events:none;background:#16181d;border:1px solid #3d6096;border-radius:6px;width:268px;padding:8px 10px 9px;position:fixed;box-shadow:0 0 0 1px #0b0c0e}.vfx-hovercard__head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.vfx-hovercard__label{font-size:12px;font-weight:700}.vfx-hovercard__category{letter-spacing:.04em;text-transform:uppercase;color:#6d7484;font-size:9px;font-weight:600}.vfx-hovercard__blurb{color:#b8c0cf;margin:0;font-size:10px;line-height:1.5}.vfx-hovercard__teach{color:#ffd88a;background:#221c0f;border-radius:4px;gap:5px;margin:6px 0 0;padding:6px 7px;font-size:10px;line-height:1.5;display:flex}.vfx-hovercard__teach .material-symbols-outlined{flex:none;margin-top:1px;font-size:14px}.vfx-hovercard__engines{flex-direction:column;gap:2px;margin:6px 0 0;padding:0;list-style:none;display:flex}.vfx-hovercard__engines li{font-size:9px;line-height:1.4}.vfx-hovercard__engines li.is-approx{color:#e6c98a}.vfx-hovercard__engines li.is-none{color:#f0b8b8}.vfx-hovercard__note{color:#767d8b;margin:5px 0 0;font-size:9px;line-height:1.4}.vfx-board{--vfx-accent-0:#4f8cf5;--vfx-accent-1:#e07a4f;--vfx-accent-2:#4fc38a;--vfx-accent-3:#b678e6;--vfx-accent-4:#e0c04f;--vfx-accent-5:#4fc6d8}.vfx-node{color:#e6e8ec;background:#191b20;border:1px solid #2a2d34;border-radius:8px;width:288px;font-size:12px;overflow:hidden;box-shadow:0 0 0 1px #101216}.vfx-node.is-selected{border-color:#4f8cf5;box-shadow:0 0 0 1px #4f8cf5}.vfx-node.has-warn{border-color:#7a6229}.vfx-node.has-error{border-color:#8f3b3b}.vfx-node__header{border-left:3px solid var(--vfx-system-accent,#4f8cf5);cursor:grab;background:#20232a;align-items:center;gap:7px;padding:7px 8px;display:flex}.vfx-node__header:active{cursor:grabbing}.vfx-node__icon{color:var(--vfx-system-accent,#4f8cf5);flex:none;font-size:17px}.vfx-node__titles{flex-direction:column;flex:auto;min-width:0;line-height:1.25;display:flex}.vfx-node__kind{letter-spacing:.01em;font-size:12px;font-weight:700}.vfx-node__system{color:#838a98;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.vfx-node__note{color:#767d8b;background:#16181d;border-bottom:1px solid #22252c;margin:0;padding:5px 9px 6px;font-size:10px}.vfx-node__tool{color:#838a98;cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;align-items:center;padding:2px;display:inline-flex}.vfx-node__tool:hover{color:#e6e8ec;background:#2b2f38}.vfx-node__tool .material-symbols-outlined{font-size:16px}.vfx-node__flow.react-flow__handle{background:#4f8cf5;border:1px solid #101216;border-radius:3px;width:6px;height:12px;top:21px;transform:translate(-50%,-50%)}.vfx-node__flow.react-flow__handle-right{transform:translate(50%,-50%)}.vfx-node__stack{margin:0;padding:0;list-style:none;position:relative}.vfx-node__drop{height:0;display:block;position:relative;overflow:visible}.vfx-node__drop:before{content:"";background:#4f8cf5;border-radius:1px;height:2px;position:absolute;top:-1px;left:4px;right:4px}.vfx-node__empty{color:#6d7484;background:#16181d;margin:0;padding:10px 9px;font-size:10px;line-height:1.5}.vfx-node__params{background:#16181d;border-top:1px solid #22252c;flex-direction:column;gap:4px;padding:7px 9px;display:flex}.vfx-node__param{color:#8b929f;justify-content:space-between;align-items:center;gap:8px;font-size:10px;display:flex}.vfx-node__param select{color:#d6d9df;cursor:pointer;background:#101216;border:1px solid #2a2d34;border-radius:4px;flex:none;max-width:130px;padding:2px 3px;font-size:10px}.vfx-node__footer{background:#1b1e24;border-top:1px solid #22252c;justify-content:space-between;align-items:center;gap:6px;padding:6px 8px;display:flex;position:relative}.vfx-node__add{color:#b8c0cf;cursor:pointer;background:#232732;border:1px solid #313743;border-radius:5px;align-items:center;gap:4px;padding:3px 7px;font-size:10px;font-weight:600;display:inline-flex}.vfx-node__add:hover{color:#e6e8ec;background:#2b3444;border-color:#3d6096}.vfx-node__add .material-symbols-outlined{font-size:14px}.vfx-node__order{color:#5f6673;letter-spacing:.02em;font-size:9px}.vfx-node__add-menu{background:#101216;border:1px solid #313743;border-radius:6px;width:100%;max-height:260px;overflow-y:auto}.vfx-node__add-head{color:#b8c0cf;background:#101216;border-bottom:1px solid #22252c;justify-content:space-between;align-items:center;padding:5px 7px;font-size:10px;font-weight:700;display:flex;position:sticky;top:0}.vfx-node__add-head button{color:#838a98;cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.vfx-node__add-head .material-symbols-outlined{font-size:15px}.vfx-node__add-item{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #1a1c22;flex-direction:column;gap:1px;padding:6px 8px;display:flex}.vfx-node__add-item:hover{background:#1c2431}.vfx-node__add-name{color:#dce3ef;font-size:11px;font-weight:600}.vfx-node__add-blurb{color:#767d8b;font-size:9px;line-height:1.4}.vfx-node__add-empty{color:#6d7484;margin:0;padding:8px;font-size:10px}.vfx-block{background:#191b20;border-bottom:1px solid #1e2027;position:relative}.vfx-block:last-child{border-bottom:none}.vfx-block.is-selected{background:#1c2735;box-shadow:inset 2px 0 #4f8cf5}.vfx-block.has-warn .vfx-block__name{color:#e6c98a}.vfx-block.has-error .vfx-block__name{color:#f0a3a3}.vfx-block.is-unknown .vfx-block__name{color:#f0a3a3;text-decoration:line-through}.vfx-block.is-off .vfx-block__title{opacity:.45}.vfx-block.is-dragging{z-index:5;background:#232935;box-shadow:0 0 0 1px #4f8cf5}.vfx-block__head{align-items:center;gap:4px;min-height:26px;padding:4px 6px 4px 4px;display:flex}.vfx-block__grip{color:#4d5461;cursor:grab;touch-action:none;flex:none;align-items:center;display:inline-flex}.vfx-block__grip:hover{color:#8b929f}.vfx-block__grip .material-symbols-outlined{font-size:15px}.vfx-block__title{min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;flex-direction:column;flex:auto;align-items:flex-start;gap:0;padding:0;line-height:1.3;display:flex}.vfx-block__name{color:#dce3ef;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;font-weight:600;overflow:hidden}.vfx-block__digest{color:#7b8290;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:9px;overflow:hidden}.vfx-block__off{letter-spacing:.04em;color:#9aa1af;background:#2b2f38;border-radius:3px;flex:none;padding:1px 4px;font-size:9px;font-weight:700}.vfx-block__flag{flex:none;align-items:center;display:inline-flex}.vfx-block__flag .material-symbols-outlined{font-size:15px}.vfx-block__flag.is-warn{color:#e0a33c}.vfx-block__flag.is-error{color:#e05f5f}.vfx-block__engines{flex:none;gap:2px;display:inline-flex}.vfx-block__engine{letter-spacing:.02em;border-radius:3px;padding:1px 3px;font-size:8px;font-weight:800}.vfx-block__engine.is-warn{color:#ffd88a;background:#4a3a12}.vfx-block__engine.is-bad{color:#ffb3b3;background:#4a1d1d}.vfx-block__tools{opacity:0;flex:none;gap:0;transition:opacity .1s;display:inline-flex}.vfx-block:hover .vfx-block__tools,.vfx-block:focus-within .vfx-block__tools,.vfx-block.is-selected .vfx-block__tools{opacity:1}.vfx-block__tool{color:#6d7484;cursor:pointer;background:0 0;border:none;border-radius:3px;align-items:center;padding:2px;display:inline-flex}.vfx-block__tool:hover{color:#e6e8ec;background:#2b2f38}.vfx-block__tool.is-danger:hover{color:#ff9b9b;background:#2a1d1d}.vfx-block__tool .material-symbols-outlined{font-size:15px}.vfx-block__socket{background:#3a3e47;border:1px solid #101216;border-radius:2px;width:8px;height:8px}.vfx-block:hover .vfx-block__socket{background:#4f8cf5}.vfx-block__socket.is-prop{background:#4f8cf5;border-radius:50%;width:7px;height:7px}.vfx-block__socket.is-stacked{top:50%;left:-10px}.vfx-block__wired-chip{color:#8fb4f5;align-items:center;gap:2px;font-size:8px;font-weight:700;display:inline-flex;position:absolute;bottom:2px;left:4px}.vfx-block__wired-chip .material-symbols-outlined{font-size:11px}.vfx-block__body{background:#15171c;border-top:1px solid #1e2027;padding:2px 8px 6px 22px}.vfx-block__prop{position:relative}body.is-row-dragging,body.is-row-dragging *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}.vfx-op{color:#e6e8ec;background:#191b20;border:1px solid #2a2d34;border-radius:8px;width:208px;overflow:hidden;box-shadow:0 0 0 1px #101216}.vfx-op.is-selected{border-color:#b678e6;box-shadow:0 0 0 1px #b678e6}.vfx-op.has-warn{border-color:#7a6229}.vfx-op.has-error,.vfx-op.is-unknown{border-color:#8f3b3b}.vfx-op__header{cursor:grab;background:#232030;border-left:3px solid #b678e6;align-items:center;gap:5px;padding:5px 6px;display:flex}.vfx-op__header:active{cursor:grabbing}.vfx-op__icon{color:#b678e6;flex:none;font-size:15px}.vfx-op__label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:11px;font-weight:700;overflow:hidden}.vfx-op__freq{letter-spacing:.02em;color:#c9a6e6;background:#2d2440;border-radius:3px;flex:none;padding:1px 3px;font-size:8px;font-weight:700}.vfx-op__tool{color:#6d7484;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:3px;flex:none;align-items:center;padding:1px;transition:opacity .1s;display:inline-flex}.vfx-op:hover .vfx-op__tool,.vfx-op:focus-within .vfx-op__tool{opacity:1}.vfx-op__tool.is-danger:hover{color:#ff9b9b;background:#2a1d1d}.vfx-op__tool .material-symbols-outlined{font-size:15px}.vfx-op__body{flex-direction:column;gap:3px;padding:5px 8px 7px;display:flex}.vfx-op__mode{color:#8b929f;justify-content:space-between;align-items:center;gap:6px;font-size:10px;display:flex}.vfx-op__mode select{color:#d6d9df;cursor:pointer;background:#101216;border:1px solid #2a2d34;border-radius:4px;flex:none;max-width:110px;padding:2px 3px;font-size:10px}.vfx-op__blurb{color:#767d8b;margin:0;font-size:9px;line-height:1.4}.vfx-op__socket{background:#b678e6;border:1px solid #101216;border-radius:50%;width:9px;height:9px}.vfx-note{border:1px solid var(--vfx-note-accent,#4f8cf5);min-width:140px;min-height:70px;box-shadow:inset 3px 0 0 var(--vfx-note-accent,#4f8cf5);background:#1a1d24;border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.vfx-note.is-selected{box-shadow:inset 3px 0 0 var(--vfx-note-accent,#4f8cf5), 0 0 0 1px #ffffff40}.vfx-note__bar{cursor:grab;background:#20232a;align-items:center;gap:5px;padding:3px 5px 3px 8px;display:flex}.vfx-note__bar:active{cursor:grabbing}.vfx-note__bar>.material-symbols-outlined{color:var(--vfx-note-accent,#4f8cf5);font-size:14px}.vfx-note__accents{gap:2px;margin-left:auto;display:flex}.vfx-note__accent{cursor:pointer;opacity:.55;border:1px solid #101216;border-radius:2px;width:9px;height:9px;padding:0}.vfx-note__accent:hover,.vfx-note__accent.is-active{opacity:1;box-shadow:0 0 0 1px #ffffff80}.vfx-note__remove{color:#6d7484;cursor:pointer;background:0 0;border:none;border-radius:3px;align-items:center;padding:1px;display:inline-flex}.vfx-note__remove:hover{color:#ff9b9b;background:#2a1d1d}.vfx-note__remove .material-symbols-outlined{font-size:14px}.vfx-note__text{resize:none;color:#dce3ef;background:0 0;border:none;outline:none;flex:auto;width:100%;min-height:0;padding:6px 8px;font-family:inherit;font-size:11px;line-height:1.5}.vfx-note__text::placeholder{color:#5f6673}.vfx-note .react-flow__resize-control.handle{background:var(--vfx-note-accent,#4f8cf5);border:1px solid #101216;border-radius:2px;width:7px;height:7px}.vfx-note .react-flow__resize-control.line{border-color:var(--vfx-note-accent,#4f8cf5);border-width:1px}.vfx-board{background:#121316;width:100%;min-width:0;height:100%;min-height:0;position:relative}.vfx-board .react-flow{width:100%;height:100%}.vfx-board .react-flow__node.selected{box-shadow:none;outline:none}.vfx-board .react-flow__node{background:0 0;border:none;border-radius:8px;padding:0;font-family:inherit}.vfx-board .react-flow__handle{min-width:0;min-height:0;transition:none}.vfx-board .react-flow__controls{box-shadow:none;border:1px solid #2a2d34;border-radius:6px;overflow:hidden}.vfx-board .react-flow__controls-button{fill:#b8c0cf;background:#1b1e24;border-bottom:1px solid #2a2d34}.vfx-board .react-flow__controls-button:hover{background:#262b34}.vfx-board__panel{gap:5px;margin:8px;display:flex}.vfx-board__system{color:#e6e9f0;cursor:pointer;background:#1b1e24;border:1px solid #2a2d34;border-radius:5px;max-width:160px;padding:4px 6px;font-size:11px;font-weight:600}.vfx-board__system:hover{border-color:#3a3f49}.vfx-board__panel button{color:#b8c0cf;cursor:pointer;background:#1b1e24;border:1px solid #2a2d34;border-radius:5px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:600;display:inline-flex}.vfx-board__panel button:hover{color:#e6e8ec;background:#262b34;border-color:#3d6096}.vfx-board__panel .material-symbols-outlined{font-size:15px}.vfx-board__chooser{z-index:10;background:#16181d;border:1px solid #3d6096;border-radius:6px;min-width:172px;max-height:260px;position:absolute;overflow-y:auto;box-shadow:0 0 0 1px #0b0c0e}.vfx-board__chooser-head{color:#b8c0cf;border-bottom:1px solid #22252c;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:10px;font-weight:700;display:flex}.vfx-board__chooser-head button{color:#838a98;cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.vfx-board__chooser-head .material-symbols-outlined{font-size:15px}.vfx-board__chooser-item{text-align:left;color:#dce3ef;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #1a1c22;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:6px 8px;font-size:11px;display:flex}.vfx-board__chooser-item:last-child{border-bottom:none}.vfx-board__chooser-item:hover{background:#1c2431}.vfx-board__chooser-width{color:#7b8290;font-size:9px}.vfx-edge__remove{color:#d4a6ff;cursor:pointer;opacity:0;pointer-events:all;background:#2d2440;border:1px solid #8c5fc0;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:0;display:inline-flex;position:absolute}.vfx-edge__remove:hover,.react-flow__edge:hover .vfx-edge__remove,.react-flow__edge.selected .vfx-edge__remove{opacity:1}.vfx-edge__remove .material-symbols-outlined{font-size:12px}.vfx-path{border:1px solid var(--outline-variant);border-radius:var(--radius-md,8px);background:#ffffff08;flex-direction:column;gap:6px;padding:8px;display:flex}.vfx-path__head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.vfx-path__label{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.04em;color:var(--on-surface-variant);font-size:.72rem}.vfx-path__count{color:var(--on-surface-variant);opacity:.75;font-size:.68rem}.vfx-path__hint{color:var(--on-surface-variant);margin:0;font-size:.68rem;line-height:1.45}.vfx-path__list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.vfx-path__row{align-items:center;gap:4px;display:flex}.vfx-path__index{width:1.1rem;color:var(--on-surface-variant);opacity:.7;text-align:right;flex:none;font-size:.68rem}.vfx-path__axis{flex:1;align-items:center;gap:3px;min-width:0;display:flex}.vfx-path__axis>span{color:var(--on-surface-variant);opacity:.7;font-size:.62rem}.vfx-path__axis input{background:var(--surface-container-highest,#1f2226);border:1px solid var(--outline-variant);width:100%;min-width:0;color:var(--on-surface);font:inherit;border-radius:4px;padding:3px 4px;font-size:.72rem}.vfx-path__axis input:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.vfx-path__actions{flex:none;gap:1px;display:flex}.vfx-path__actions button{width:20px;height:20px;color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;border-radius:3px;place-items:center;padding:0;display:grid}.vfx-path__actions button:hover:not(:disabled){color:var(--on-surface);background:#ffffff14}.vfx-path__actions button:disabled{opacity:.3;cursor:default}.vfx-path__actions .material-symbols-outlined{font-size:14px}.vfx-params{background:#15171c;border-right:1px solid #22252c;flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.vfx-params__head{background:#1b1e24;border-bottom:1px solid #22252c;flex:none;align-items:center;gap:8px;padding:8px 10px;display:flex}.vfx-params__titles{flex-direction:column;flex:auto;min-width:0;line-height:1.25;display:flex}.vfx-params__title{color:#e6e8ec;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.vfx-params__crumb{color:#7b8290;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.vfx-params__close{color:#838a98;cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;padding:2px;display:inline-flex}.vfx-params__close:hover{color:#e6e8ec;background:#2b2f38}.vfx-params__close .material-symbols-outlined{font-size:17px}.vfx-params__body{flex:auto;min-height:0;overflow-y:auto}.vfx-params__teach{color:#98a0af;background:#171b22;border-bottom:1px solid #1e2027;margin:0;padding:9px 10px;font-size:10px;line-height:1.5}.vfx-params__note{color:#767d8b;margin:0;padding:8px 10px;font-size:10px}.vfx-params__unknown{color:#d6a3a3;margin:0;padding:12px 10px;font-size:11px;line-height:1.5}.vfx-params__unknown code{background:#22252c;border-radius:3px;padding:1px 3px}.vfx-params__diagnostics{flex:none;margin:0;padding:0;list-style:none}.vfx-params__diagnostics li{border-bottom:1px solid #1e2027;flex-wrap:wrap;align-items:baseline;gap:5px;padding:7px 10px;font-size:10px;line-height:1.45;display:flex}.vfx-params__diagnostics li.is-error{color:#f0b8b8;background:#2a1618}.vfx-params__diagnostics li.is-warn{color:#ebd6a3;background:#2a2413}.vfx-params__diagnostics li.is-info{color:#a8c4e6;background:#16202c}.vfx-params__diagnostics button{color:#fff;cursor:pointer;background:#2f6feb;border:none;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:600}.vfx-params__diagnostics button:hover{background:#4482f5}.vfx-params__modes{border-bottom:1px solid #1e2027}.vfx-params__mode,.vfx-params__text{border-bottom:1px solid #1e2027;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.vfx-params__mode-label{color:#c9cdd6;font-size:11px;font-weight:600}.vfx-params__mode select,.vfx-params__text input{color:#e6e8ec;background:#16181d;border:1px solid #2a2d34;border-radius:5px;width:100%;height:26px;padding:0 6px;font-size:12px}.vfx-params__mode select:focus,.vfx-params__text input:focus{border-color:#2f6feb;outline:none}.vfx-params__sheet{border-top:1px solid #23262d;flex-direction:column;gap:5px;padding:8px 0;display:flex}.vfx-params__sheet-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.vfx-params__sheet-grid label{flex-direction:column;gap:3px;min-width:0;display:flex}.vfx-params__sheet-grid span{color:#8a93a4;text-transform:uppercase;letter-spacing:.04em;font-size:10px}.vfx-params__sheet-grid input{color:#e6e9f0;background:#14161b;border:1px solid #2a2d34;border-radius:4px;width:100%;min-width:0;padding:4px 6px;font-size:12px}.vfx-params__sheet-grid input:disabled{opacity:.45}.vfx-params__mode-hint{color:#767d8b;margin:0;font-size:10px;line-height:1.45}.vfx-params__check{color:#c9cdd6;cursor:pointer;border-bottom:1px solid #1e2027;align-items:center;gap:6px;padding:8px 10px;font-size:11px;display:flex}.vfx-params__advanced{color:#9aa1af;cursor:pointer;background:#1c1f26;border:1px solid #2a2d34;border-radius:5px;width:calc(100% - 20px);margin:8px 10px;padding:5px;font-size:10px;font-weight:600;display:block}.vfx-params__advanced:hover{color:#dce3ef;background:#242832}.vfx-params__engines{border:1px solid #22252c;border-radius:5px;margin:8px 10px;padding:7px 8px;font-size:10px;line-height:1.5}.vfx-params__engines strong{font-weight:700}.vfx-params__engines p{color:#767d8b;margin:4px 0 0}.vfx-params__engines.is-ok{color:#9fd0b3;background:#14201a;border-color:#274434}.vfx-params__engines.is-warn{color:#e6c98a;background:#221c0f;border-color:#4a3a12}.vfx-params__engines.is-bad{color:#f0b8b8;background:#241414;border-color:#4a1d1d}.vfx-params__stages{border-top:1px solid #1e2027;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.vfx-params__stage{text-align:left;color:#b8c0cf;cursor:pointer;background:#1c1f26;border:1px solid #2a2d34;border-radius:5px;align-items:flex-start;gap:7px;padding:6px 8px;display:flex}.vfx-params__stage:hover{color:#e6e8ec;background:#242832;border-color:#3d6096}.vfx-params__stage .material-symbols-outlined{flex:none;margin-top:1px;font-size:16px}.vfx-params__stage strong{margin-bottom:1px;font-size:11px;font-weight:700;display:block}.vfx-params__stage span span,.vfx-params__stage>span:last-child{color:#767d8b;font-size:9px;line-height:1.4}.vfx-params__links{padding:4px 10px 8px}.vfx-params__learn{color:#6fa8ff;align-items:center;gap:3px;font-size:10px;text-decoration:none;display:inline-flex}.vfx-params__learn:hover{text-decoration:underline}.vfx-params__learn .material-symbols-outlined{font-size:13px}.vfx-params__raw{color:#8b929f;margin:0 10px 10px;font-size:10px}.vfx-params__raw summary{cursor:pointer;padding:3px 0}.vfx-params__raw pre{color:#b8c0cf;background:#101216;border:1px solid #22252c;border-radius:5px;margin:4px 0 0;padding:7px;font-size:10px;line-height:1.45;overflow-x:auto}.vfx-params__actions{border-top:1px solid #1e2027;gap:5px;padding:8px 10px 14px;display:flex}.vfx-params__actions button{color:#b8c0cf;cursor:pointer;background:#1c1f26;border:1px solid #2a2d34;border-radius:5px;align-items:center;gap:4px;padding:4px 8px;font-size:10px;font-weight:600;display:inline-flex}.vfx-params__actions button:hover{color:#e6e8ec;background:#242832}.vfx-params__actions button.is-danger:hover{color:#ff9b9b;background:#2a1d1d;border-color:#6d3131}.vfx-params__actions .material-symbols-outlined{font-size:14px}.vfx-timeline{--vfx-accent-0:#4f8cf5;--vfx-accent-1:#e07a4f;--vfx-accent-2:#4fc38a;--vfx-accent-3:#b678e6;--vfx-accent-4:#e0c04f;--vfx-accent-5:#4fc6d8;background:#15171c;border-top:1px solid #22252c;flex:none}.vfx-timeline__bar{background:#1b1e24;border-bottom:1px solid #22252c;flex-wrap:wrap;align-items:center;gap:10px;padding:5px 10px;display:flex}.vfx-timeline.is-collapsed .vfx-timeline__bar{border-bottom:none}.vfx-timeline__collapse{color:#b8c0cf;letter-spacing:.02em;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:3px;padding:2px 4px;font-size:11px;font-weight:700;display:inline-flex}.vfx-timeline__collapse:hover{color:#e6e8ec;background:#262b34}.vfx-timeline__transport{background:#14161a;border:1px solid #2a2d34;border-radius:5px;gap:1px;padding:1px;display:inline-flex}.vfx-timeline__transport button{color:#b8c0cf;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:2px 5px;display:inline-flex}.vfx-timeline__transport button:hover{color:#fff;background:#2b2f38}.vfx-timeline__transport .material-symbols-outlined{font-size:17px}.vfx-timeline__time{color:#7b8290;font-variant-numeric:tabular-nums;font-size:11px}.vfx-timeline__time strong{color:#e6e8ec;font-weight:700}.vfx-timeline__duration{width:52px;color:inherit;font:inherit;text-align:right;background:0 0;border:1px solid #0000;border-radius:4px;padding:1px 2px}.vfx-timeline__duration:hover,.vfx-timeline__duration:focus{background:#14161b;border-color:#2a2d34;outline:none}.vfx-timeline__duration::-webkit-inner-spin-button{opacity:0;margin:0}.vfx-timeline__duration::-webkit-outer-spin-button{opacity:0;margin:0}.vfx-timeline__duration:hover::-webkit-inner-spin-button{opacity:1}.vfx-timeline__duration:focus::-webkit-inner-spin-button{opacity:1}.vfx-timeline__unit{margin-left:1px}.vfx-timeline__effect{align-items:center;gap:4px;display:inline-flex}.vfx-timeline__effect .material-symbols-outlined{font-size:15px}.vfx-timeline__speed,.vfx-timeline__loop{color:#8b929f;cursor:pointer;align-items:center;gap:5px;font-size:10px;display:inline-flex}.vfx-timeline__speed select{color:#d6d9df;cursor:pointer;background:#14161a;border:1px solid #2a2d34;border-radius:4px;padding:2px 3px;font-size:10px}.vfx-timeline__add{color:#b8c0cf;cursor:pointer;background:#232732;border:1px solid #313743;border-radius:5px;align-items:center;gap:3px;margin-left:auto;padding:3px 7px;font-size:10px;font-weight:600;display:inline-flex}.vfx-timeline__add:hover{color:#e6e8ec;background:#2b3444;border-color:#3d6096}.vfx-timeline__add .material-symbols-outlined{font-size:14px}.vfx-timeline__grid{grid-template-columns:188px minmax(0,1fr);max-height:168px;display:grid;overflow-y:auto}.vfx-timeline__tracks{background:#16181d;border-right:1px solid #22252c}.vfx-timeline__tracks-head{letter-spacing:.04em;text-transform:uppercase;color:#5f6673;border-bottom:1px solid #22252c;align-items:center;height:20px;padding:0 8px;font-size:9px;font-weight:700;display:flex}.vfx-timeline__track{border-bottom:1px solid #1c1e24;align-items:center;gap:4px;height:26px;padding:0 6px 0 0;display:flex}.vfx-timeline__track.is-selected{background:#1c2735}.vfx-timeline__track.is-muted .vfx-timeline__name,.vfx-timeline__track.is-silenced .vfx-timeline__name{opacity:.45;text-decoration:line-through}.vfx-timeline__swatch{background:var(--vfx-track-accent,#4f8cf5);flex:none;align-self:stretch;width:3px}.vfx-timeline__name{color:#dce3ef;text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex:auto;min-width:0;padding:0 0 0 5px;font-size:11px;overflow:hidden}.vfx-timeline__name:hover{color:#fff}.vfx-timeline__flag{color:#4d5461;cursor:pointer;background:0 0;border:none;border-radius:3px;flex:none;align-items:center;padding:1px;display:inline-flex}.vfx-timeline__flag:hover{color:#b8c0cf;background:#2b2f38}.vfx-timeline__flag.is-on{color:#e0a33c}.vfx-timeline__flag .material-symbols-outlined{font-size:14px}.vfx-timeline__lanes-wrap{min-width:0;position:relative}.vfx-timeline__ruler{cursor:col-resize;touch-action:none;background:#16181d;border-bottom:1px solid #22252c;height:20px;position:relative;overflow:hidden}.vfx-timeline__tick{color:#5f6673;font-variant-numeric:tabular-nums;pointer-events:none;white-space:nowrap;border-left:1px solid #2a2d34;align-items:center;height:100%;padding-left:3px;font-size:9px;display:flex;position:absolute;top:0}.vfx-timeline__lanes{min-width:0;position:relative}.vfx-timeline__lane{background:repeating-linear-gradient(90deg,#0000 0 63px,#1c1e24 63px 64px);border-bottom:1px solid #1c1e24;position:relative}@property --vfx-clip-dx{syntax:"<length>";inherits:false;initial-value:0}@property --vfx-clip-dw{syntax:"<length>";inherits:false;initial-value:0}.vfx-timeline__clip{top:3px;bottom:3px;left:calc(var(--vfx-clip-at,0px) + var(--vfx-clip-dx));width:calc(var(--vfx-clip-w,8px) + var(--vfx-clip-dw));background:var(--vfx-track-accent,#4f8cf5);border-radius:3px;align-items:stretch;min-width:8px;display:flex;position:absolute;overflow:hidden;box-shadow:inset 0 0 0 1px #00000073}.vfx-timeline__clip.is-burst{background:linear-gradient(to bottom, #fff 0 2px, transparent 2px), var(--vfx-track-accent,#4f8cf5);border-radius:2px}.vfx-timeline__clip.is-loop{background-image:repeating-linear-gradient(45deg,#ffffff38 0 3px,#0000 3px 7px)}.vfx-timeline__clip-body{cursor:grab;flex:auto;min-width:6px}.vfx-timeline__clip-body:active{cursor:grabbing}.vfx-timeline__handle{cursor:ew-resize;touch-action:none;background:#00000052;flex:none;width:8px;position:relative}.vfx-timeline__handle:before{content:"";background:repeating-linear-gradient(90deg,#ffffffb3 0 1px,#0000 1px 3px);width:4px;height:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vfx-timeline__handle:after{content:"";position:absolute;top:0;bottom:0}.vfx-timeline__handle.is-start:after{left:-3px;right:0}.vfx-timeline__handle.is-end:after{left:0;right:-3px}.vfx-timeline__handle:hover{background:#ffffff80}.vfx-timeline__handle:hover:before{background:repeating-linear-gradient(90deg,#000000bf 0 1px,#0000 1px 3px)}.vfx-timeline__clip-tools{opacity:0;gap:1px;transition:opacity .1s;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.vfx-timeline__clip:hover .vfx-timeline__clip-tools{opacity:1}.vfx-timeline__clip.is-burst,.vfx-timeline__clip.has-outside-tools{overflow:visible}.vfx-timeline__clip.is-burst .vfx-timeline__clip-tools,.vfx-timeline__clip.has-outside-tools .vfx-timeline__clip-tools{right:-40px}.vfx-timeline__clip-tools:hover{opacity:1}.vfx-timeline__clip-tools button{color:#b8c0cf;cursor:pointer;background:#101216;border:none;border-radius:3px;align-items:center;padding:1px;display:inline-flex}.vfx-timeline__clip-tools button:hover:not(:disabled){color:#fff;background:#2b2f38}.vfx-timeline__clip-tools button.is-on{color:#ffd88a}.vfx-timeline__clip-tools button:disabled{opacity:.35;cursor:default}.vfx-timeline__clip-tools .material-symbols-outlined{font-size:12px}.vfx-timeline__playhead{pointer-events:none;will-change:transform;background:#ff5f5f;width:1px;position:absolute;top:0;bottom:0;left:0}.vfx-timeline__playhead:before{content:"";clip-path:polygon(0 0,100% 0,50% 100%);background:#ff5f5f;width:7px;height:5px;position:absolute;top:0;left:-3px}.vfx-viewmenu{position:relative}.vfx-viewmenu__trigger{background:var(--surface-container-highest,#1f2226);color:var(--on-surface-variant);border:1px solid var(--outline-variant);border-radius:var(--radius-md,8px);font-family:var(--font-label);cursor:pointer;align-items:center;gap:.35rem;padding:.3rem .5rem;font-size:.78rem;display:inline-flex}.vfx-viewmenu__trigger:hover,.vfx-viewmenu__trigger.is-open{color:var(--on-surface);border-color:var(--primary,#7aa2f7)}.vfx-viewmenu__trigger .material-symbols-outlined{font-size:1rem}.vfx-viewmenu__count{background:var(--surface-container,#15171c);text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;min-width:1.1rem;padding:0 .25rem}.vfx-viewmenu__chevron{opacity:.7}.vfx-viewmenu__panel{z-index:40;border:1px solid var(--outline-variant);border-radius:var(--radius-md,8px);background:#1b1e24;flex-direction:column;gap:.15rem;min-width:11rem;padding:.4rem;display:flex;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 10px 28px #00000073}.vfx-viewmenu__panel label{border-radius:var(--radius-sm,6px);color:var(--on-surface-variant);font-family:var(--font-label);cursor:pointer;align-items:center;gap:.45rem;padding:.3rem .35rem;font-size:.8rem;display:flex}.vfx-viewmenu__panel label:hover{background:var(--surface-container-highest,#1f2226);color:var(--on-surface)}.vfx-splitter{z-index:3;background:#1b1d22;border:none;flex:none;padding:0;position:relative}.vfx-splitter.is-vertical{cursor:col-resize;width:6px}.vfx-splitter.is-horizontal{cursor:row-resize;height:6px}.vfx-splitter:after{content:"";position:absolute;inset:0}.vfx-splitter.is-vertical:after{inset:0 -4px}.vfx-splitter.is-horizontal:after{inset:-4px 0}.vfx-splitter:hover,.vfx-splitter:focus-visible{background:#2f6feb;outline:none}.vfx-splitter__grip{opacity:0;pointer-events:none;transition:opacity .12s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vfx-splitter:hover .vfx-splitter__grip,.vfx-splitter:focus-visible .vfx-splitter__grip{opacity:1}.vfx-splitter.is-vertical .vfx-splitter__grip{background:repeating-linear-gradient(#ffffffd9 0 2px,#0000 2px 6px);width:2px;height:26px}.vfx-splitter.is-horizontal .vfx-splitter__grip{background:repeating-linear-gradient(90deg,#ffffffd9 0 2px,#0000 2px 6px);width:26px;height:2px}body.is-col-resizing,body.is-col-resizing *{cursor:col-resize!important}body.is-row-resizing,body.is-row-resizing *{cursor:row-resize!important}body.is-col-resizing,body.is-row-resizing{-webkit-user-select:none;user-select:none}body.is-col-resizing canvas,body.is-row-resizing canvas,body.is-col-resizing iframe,body.is-row-resizing iframe{pointer-events:none}.vfx-empty{pointer-events:none;z-index:5;justify-content:center;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.vfx-empty__card{pointer-events:auto;background:#191b20;border:1px solid #4a3a12;border-radius:8px;align-items:flex-start;gap:9px;max-width:420px;padding:10px 12px;display:flex;box-shadow:0 0 0 1px #0b0c0e}.vfx-empty__icon{color:#e0a33c;flex:none;margin-top:1px;font-size:19px}.vfx-empty__text{flex:auto;min-width:0}.vfx-empty__text strong{color:#ffd88a;margin-bottom:2px;font-size:12px;font-weight:700;display:block}.vfx-empty__text p{color:#b8c0cf;margin:0;font-size:10px;line-height:1.5}.vfx-empty__actions{flex-direction:column;flex:none;align-self:center;gap:4px;display:flex}.vfx-empty__actions button{white-space:nowrap;color:#b8c0cf;cursor:pointer;background:#232732;border:1px solid #313743;border-radius:5px;padding:4px 9px;font-size:10px;font-weight:600}.vfx-empty__actions button:hover{color:#e6e8ec;background:#2b3444}.vfx-empty__actions button.is-primary{color:#fff;background:#2f6feb;border-color:#2f6feb}.vfx-empty__actions button.is-primary:hover{background:#4482f5}@property --vfx-params-w{syntax:"<length>";inherits:false;initial-value:0}@property --vfx-preview-w{syntax:"<length>";inherits:false;initial-value:520px}.vfx-page{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.vfx-page__bar{background:var(--surface-container);border-bottom:1px solid var(--outline-variant);flex-wrap:wrap;align-items:center;gap:1.25rem;padding:.6rem 1.5rem;display:flex}.vfx-page__toggles{font-family:var(--font-label);color:var(--on-surface-variant);align-items:center;gap:.9rem;margin-left:auto;font-size:.78rem;display:flex}.vfx-page__toggles label{cursor:pointer;align-items:center;gap:.35rem;display:inline-flex}.vfx-page__toggles select{background:var(--surface-container-highest,#1f2226);color:var(--on-surface);border:1px solid var(--outline-variant);border-radius:var(--radius-md,8px);font-family:var(--font-label);padding:.3rem .5rem;font-size:.78rem}.vfx-page__body{grid-template-columns:var(--vfx-params-w,0px) auto minmax(0, 1fr) auto var(--vfx-preview-w,520px);background:var(--background);flex:1;min-height:0;transition:--vfx-params-w .18s;display:grid;position:relative}.vfx-page__params{grid-column:1;min-width:0;min-height:0;overflow:hidden}.vfx-page__gutter-params{grid-column:2}.vfx-page__gutter-preview{grid-column:4}.vfx-page__board{flex-direction:column;grid-column:3;min-width:0;min-height:0;display:flex}.vfx-page__viewport{border-left:1px solid var(--outline-variant);background:radial-gradient(circle at 50% 40%,#ac89ff0f,#0000 60%),#0c0d0f;grid-column:5;min-width:0;min-height:0;position:relative;overflow:hidden}.vfx-viewport__canvas{width:100%;height:100%}.vfx-hud{border:1px solid var(--outline-variant);border-radius:var(--radius-md,8px);min-width:190px;font-family:var(--font-label);color:var(--on-surface-variant);font-variant-numeric:tabular-nums;pointer-events:none;background:#14161a;padding:.6rem .7rem;font-size:.72rem;position:absolute;top:.75rem;right:.75rem}.vfx-hud__row{justify-content:space-between;gap:1rem;line-height:1.5;display:flex}.vfx-hud__row.is-bad .vfx-hud__value{color:var(--error,#ff6b6b);font-weight:700}.vfx-hud__label{opacity:.75}.vfx-hud__value{color:var(--on-surface)}.vfx-hud__dim{opacity:.5}.vfx-hud__bar{background:#ffffff14;border-radius:2px;height:3px;margin:.25rem 0 .5rem;overflow:hidden}.vfx-hud__bar span{background:var(--primary);height:100%;display:block}.vfx-hud__bar.is-high span{background:#ffc46b}.vfx-hud__bar.is-full span{background:var(--error,#ff6b6b)}.vfx-hud__rule{background:var(--outline-variant);height:1px;margin:.45rem 0}.vfx-page__diagnostics{border-top:1px solid var(--outline-variant);background:var(--surface-container);max-height:150px;font-family:var(--font-label);flex:none;padding:.4rem .8rem .5rem;font-size:.78rem;overflow-y:auto}.vfx-page__diagnostics-summary{color:var(--on-surface-variant);align-items:center;gap:.4rem;display:flex}.vfx-page__diagnostics.is-ok .vfx-page__diagnostics-summary{color:#79e388}.vfx-page__diagnostics.is-warn .vfx-page__diagnostics-summary{color:#ffc46b}.vfx-page__diagnostics.is-error .vfx-page__diagnostics-summary{color:var(--error,#ff6b6b)}.vfx-page__diagnostics-summary .material-symbols-outlined{font-size:1.05rem}.vfx-page__diagnostics-list{flex-direction:column;gap:.35rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.vfx-page__diagnostics-list li{border-radius:var(--radius-md,8px);color:var(--on-surface-variant);background:#ffffff08;align-items:flex-start;gap:.45rem;padding:.35rem .5rem;line-height:1.45;display:flex}.vfx-page__diagnostics-list li .material-symbols-outlined{flex:none;margin-top:.1rem;font-size:1rem}.vfx-page__diagnostics-list li.is-error .material-symbols-outlined{color:var(--error,#ff6b6b)}.vfx-page__diagnostics-list li.is-warn .material-symbols-outlined{color:#ffc46b}.vfx-page__diagnostics-list li.is-info .material-symbols-outlined{color:var(--primary)}.vfx-page__diagnostics-text{text-align:left;min-width:0;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;flex:1;margin:0;padding:0}.vfx-page__diagnostics-text:hover strong{text-decoration:underline}.vfx-page__diagnostics-text strong{color:var(--on-surface);font-weight:600}.vfx-page__diagnostics-text em{opacity:.72;margin-top:.15rem;font-style:normal;display:block}.vfx-page__diagnostics-fix{border:1px solid var(--primary);border-radius:var(--radius-full);color:var(--on-surface);font-family:var(--font-label);cursor:pointer;white-space:nowrap;background:#ac89ff29;flex:none;padding:.25rem .6rem;font-size:.72rem}.vfx-page__diagnostics-fix:hover:not(:disabled){background:#ac89ff4d}.vfx-page__diagnostics-fix:disabled{border-color:var(--outline-variant);color:var(--on-surface-variant);opacity:.5;cursor:default;background:0 0}@media (width<=1200px){.vfx-page__body{grid-template-columns:var(--vfx-params-w,0px) auto minmax(0, 1fr) auto 340px}}@media (width<=900px){.vfx-page__body{grid-template-columns:0 auto minmax(0,1fr) auto 300px}.vfx-page__body.has-params .vfx-page__params{z-index:20;border-right:1px solid var(--outline-variant);background:#15171c;width:min(340px,86vw);position:absolute;top:0;bottom:0;left:0}.vfx-page__toggles{margin-left:0}}.vfx-page__name{background:var(--surface-container-highest,#1f2226);min-width:220px;color:var(--on-surface);border:1px solid var(--outline-variant);border-radius:var(--radius-md,8px);font-family:var(--font-body);padding:.35rem .6rem;font-size:.9rem}.vfx-page__save{align-items:center;gap:.5rem;display:flex}.vfx-page__save button{border:1px solid var(--primary);border-radius:var(--radius-full);color:var(--on-surface);font-family:var(--font-label);cursor:pointer;background:#ac89ff29;padding:.35rem .85rem;font-size:.8rem}.vfx-page__save button.is-quiet{border-color:var(--outline-variant);color:var(--on-surface-variant);background:0 0}.vfx-page__save button:disabled{opacity:.5;cursor:default}.vfx-page__status{font-family:var(--font-label);color:var(--on-surface-variant);min-width:108px;font-size:.75rem}.vfx-page__status.is-dirty{color:#ffc46b}.vfx-page__status.is-saved{color:#79e388}.vfx-page__status.is-error{color:var(--error,#ff6b6b)}.vfx-page__back{color:var(--on-surface-variant);border-bottom:1px solid #0000;text-decoration:none}.vfx-page__back:hover{color:var(--on-surface);border-bottom-color:var(--primary)}.vfx-page__draft{color:#ffd79a;font-family:var(--font-label);background:#2a2416;border-bottom:1px solid #6b5a24;align-items:center;gap:.6rem;padding:.5rem 1.5rem;font-size:.8rem;display:flex}.vfx-page__draft button{border-radius:var(--radius-full);color:#ffd79a;font-family:var(--font-label);cursor:pointer;background:#ffd79a1f;border:1px solid #6b5a24;padding:.25rem .7rem;font-size:.75rem}.vfx-page__draft button.is-quiet{opacity:.75;background:0 0}.vfx-page__history{gap:.25rem;display:flex}.vfx-page__history button{border:1px solid var(--outline-variant);border-radius:var(--radius-md,8px);width:30px;height:30px;color:var(--on-surface-variant);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:inline-flex}.vfx-page__history button:hover:not(:disabled){color:var(--on-surface);border-color:var(--primary)}.vfx-page__history button:disabled{opacity:.35;cursor:default}.vfx-page__history .material-symbols-outlined{font-size:1.05rem}@media (width<=700px){.vfx-page{height:auto;min-height:100dvh;overflow:visible}.vfx-page__bar{gap:.5rem;padding:.5rem .65rem}.vfx-page__body{flex-direction:column;flex:none;min-height:0;display:flex;overflow:visible}.vfx-page__params{border-right:0;border-bottom:1px solid var(--outline-variant);flex:none;width:100%;overflow:visible}.vfx-page__gutter-params,.vfx-page__gutter-preview{display:none}.vfx-page__board{border-bottom:1px solid var(--outline-variant);flex:none;min-height:460px}.vfx-page__viewport{border-left:0;border-top:1px solid var(--outline-variant);flex:none;width:100%;height:min(54vh,500px);min-height:320px}}.bstyle{flex-direction:column;gap:6px;display:flex}.bstyle__pick{align-items:stretch;gap:6px;display:flex}.bstyle__select{border:1px solid var(--outline-variant);background:var(--surface-container-high);min-width:0;color:var(--on-surface);cursor:pointer;border-radius:8px;flex:auto;padding:7px 8px;font-size:13px}.bstyle__select:focus-visible{border-color:var(--primary);outline:none}.bstyle__select:disabled{opacity:.5;cursor:default}.bstyle__again{border:1px solid var(--outline-variant);width:34px;color:var(--on-surface-variant);cursor:pointer;background:0 0;border-radius:8px;flex:none;justify-content:center;align-items:center;display:flex}.bstyle__again:hover:not(:disabled){background:var(--surface-container-high);color:var(--on-surface)}.bstyle__again:disabled{opacity:.35;cursor:default}.bstyle__again .material-symbols-outlined{font-size:18px}.bstyle__current{align-items:flex-start;gap:8px;padding:2px 2px 0;display:flex}.bstyle__blurb{color:var(--on-surface-variant);font-size:11px;line-height:1.45}.bstyle__swatches{border:1px solid var(--outline-variant);border-radius:4px;flex:none;display:flex;overflow:hidden}.bstyle__swatch{width:9px;height:22px}.bstyle__note,.bstyle__error{color:var(--on-surface-variant);margin:2px 2px 0;font-size:11px;line-height:1.4}.bstyle__error{color:var(--error,#e5786d)}.bstyle__note code,.bstyle__error code{font-family:var(--font-mono,ui-monospace, monospace);background:var(--surface-container-high);border-radius:3px;padding:1px 4px;font-size:10px}.bpal{flex-direction:column;gap:6px;display:flex}.bpal__head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.bpal__reset{border:1px solid var(--outline-variant);color:var(--on-surface-variant);cursor:pointer;background:0 0;border-radius:999px;padding:2px 8px;font-size:10px}.bpal__reset:hover{background:var(--surface-container-high);color:var(--on-surface)}.bpal__list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.bpal__row{align-items:center;gap:10px;padding:3px 2px;display:flex}.bpal__swatch{border:1px solid var(--outline-variant);cursor:pointer;background:0 0;border-radius:4px;flex:none;width:34px;height:22px;padding:0}.bpal__swatch::-webkit-color-swatch-wrapper{padding:0}.bpal__swatch::-webkit-color-swatch{border:none;border-radius:3px}.bpal__text{flex-direction:column;min-width:0;display:flex}.bpal__label{color:var(--on-surface);font-size:12px;line-height:1.25}.bpal__hex{font-family:var(--font-mono,ui-monospace, monospace);color:var(--on-surface-variant);font-size:10px}.bpal__note{color:var(--on-surface-variant);margin:2px 2px 0;font-size:11px;line-height:1.4}.btex{flex-direction:column;gap:6px;display:flex}.btex__list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.btex__slot{border-radius:8px;align-items:center;gap:8px;padding:5px 8px;display:flex}.btex__slot:hover{background:var(--surface-container-high)}.btex__chip{border:1px solid var(--outline-variant);width:26px;height:26px;color:var(--on-surface-variant);border-radius:6px;flex:none;justify-content:center;align-items:center;display:inline-flex}.btex__chip .material-symbols-outlined{font-size:16px}.btex__chip--on{border-color:var(--primary);color:var(--primary)}.btex__text{flex-direction:column;flex:1;min-width:0;display:flex}.btex__label{font-size:13px;line-height:1.2}.btex__state{color:var(--on-surface-variant);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.btex__buttons{flex:none;gap:1px;display:flex}.btex__buttons button{color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:3px;display:inline-flex}.btex__buttons button:hover{background:var(--surface-container-highest);color:var(--on-surface)}.btex__buttons .material-symbols-outlined{font-size:17px}.btex__note{color:var(--on-surface-variant);margin:2px 2px 0;font-size:11px;line-height:1.4}.btex__group{flex-direction:column;display:flex}.btex__entry{color:var(--on-surface-variant);align-items:center;gap:6px;padding:1px 8px 1px 34px;font-size:11px;display:flex}.btex__entry-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.btex__entry button{color:var(--on-surface-variant);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:4px;align-items:center;gap:2px;padding:1px 4px;font-size:10px;display:inline-flex}.btex__entry button:hover{background:var(--surface-container-highest);color:var(--on-surface)}.btex__entry .material-symbols-outlined{font-size:14px}.btex__entry--only{padding-left:30px}.btex__warn{color:var(--primary);opacity:.85;margin:0 2px 4px 34px;font-size:11px;line-height:1.4}.btex__entry--mesh{flex-wrap:wrap;row-gap:2px}.btex__rot{gap:4px;margin-left:auto;display:flex}.btex__rot-axis{color:var(--on-surface-variant);align-items:center;gap:2px;font-size:10px;display:flex}.btex__rot-axis input{border:1px solid var(--outline-variant);background:var(--surface-container-high);width:42px;color:var(--on-surface);text-align:right;border-radius:4px;padding:1px 3px;font-size:11px}.btex__rot-axis input:focus-visible{border-color:var(--primary);outline:none}.btex__tile .btex__rot-axis input{width:48px}.btex__entry-del{flex:none}.bai-overlay{z-index:60;background:#08090cb8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.bai{color:#e6e9f0;background:#16181d;border:1px solid #2a2d34;border-radius:8px;flex-direction:column;width:min(520px,100vw - 32px);max-height:calc(100vh - 64px);display:flex;box-shadow:0 18px 48px #0000008c}.bai__header{border-bottom:1px solid #23262d;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.bai__header h3{margin:0;font-size:15px}.bai__header button{color:#8a93a4;cursor:pointer;background:0 0;border:none;display:inline-flex}.bai__header button:hover{color:#e6e9f0}.bai__body{flex-direction:column;gap:12px;padding:14px;display:flex;overflow-y:auto}.bai__teach{color:#9aa3b4;margin:0;font-size:12px;line-height:1.5}.bai__teach strong{color:#cdd4e0}.bai__presets{flex-wrap:wrap;gap:5px;display:flex}.bai__presets button{color:#b8c0cf;cursor:pointer;background:#1b1e24;border:1px solid #2a2d34;border-radius:5px;padding:4px 8px;font-size:11px;font-weight:600}.bai__presets button:hover{color:#e6e9f0;border-color:#3a3f49}.bai__field{flex-direction:column;gap:4px;display:flex}.bai__field>span{text-transform:uppercase;letter-spacing:.04em;color:#8a93a4;font-size:10px}.bai__field textarea,.bai__field select{color:#e6e9f0;font:inherit;resize:vertical;background:#14161b;border:1px solid #2a2d34;border-radius:5px;padding:6px 8px;font-size:12px}.bai__note{color:#8a93a4;margin:0;font-size:11px}.bai__note strong{color:#cdd4e0}.bai__message{border-radius:5px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex}.bai__message img{object-fit:contain;background:#000;border-radius:4px;width:44px;height:44px}.bai__message.is-error{color:#f0c8c8;background:#a03c3c29;border:1px solid #c85a5a59}.bai__message.is-success{color:#c8f0d8;background:#3c8c5a24;border:1px solid #5abe824d}.bai__actions{border-top:1px solid #23262d;justify-content:flex-end;gap:8px;padding:12px 14px;display:flex}.bai__actions button{color:#b8c0cf;cursor:pointer;background:#1b1e24;border:1px solid #2a2d34;border-radius:5px;padding:6px 14px;font-size:12px;font-weight:600}.bai__actions button.is-primary{color:#fff;background:#2f5fb0;border-color:#3d6fc4}.bai__actions button:disabled{opacity:.5;cursor:default}.bai__params{flex-direction:column;gap:10px;display:flex}.bai__params .image-editor-label{text-transform:uppercase;letter-spacing:.04em;color:#8a93a4;gap:4px;font-size:10px}.bai__params .image-editor-label--checkbox{text-transform:none;letter-spacing:normal;color:#e6e9f0;font-size:12px}.bai__params .image-editor-input{color:#e6e9f0;font:inherit;background:#14161b;border:1px solid #2a2d34;border-radius:5px;padding:7px 8px;font-size:12px}.bai__params .image-editor-input:focus-visible{outline-offset:1px;outline:2px solid #6ea8ff}.bai__field input[type=number]{color:#e6e9f0;font:inherit;background:#14161b;border:1px solid #2a2d34;border-radius:5px;padding:6px 8px;font-size:12px}.bai__field small{color:#8a93a4;font-size:11px;line-height:1.4}.bai__message img{object-fit:cover;background:#14161b}.bexport-overlay{z-index:60;background:#08090cb8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.bexport{color:#e6e9f0;background:#16181d;border:1px solid #2a2d34;border-radius:8px;flex-direction:column;width:min(520px,100vw - 32px);max-height:calc(100vh - 64px);display:flex;box-shadow:0 18px 48px #0000008c}.bexport__header{border-bottom:1px solid #23262d;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.bexport__header h3{margin:0;font-size:15px}.bexport__header button{color:#8a93a4;cursor:pointer;background:0 0;border:none;display:inline-flex}.bexport__header button:hover{color:#e6e9f0}.bexport__body{flex-direction:column;gap:12px;padding:14px;display:flex;overflow-y:auto}.bexport__teach{color:#9aa3b4;margin:0;font-size:12px;line-height:1.5}.bexport__teach strong{color:#cdd4e0}.bexport__presets{flex-wrap:wrap;gap:5px;display:flex}.bexport__presets button{color:#b8c0cf;cursor:pointer;background:#1b1e24;border:1px solid #2a2d34;border-radius:5px;padding:4px 8px;font-size:11px;font-weight:600}.bexport__presets button:hover{color:#e6e9f0;border-color:#3a3f49}.bexport__field{flex-direction:column;gap:4px;display:flex}.bexport__field>span{text-transform:uppercase;letter-spacing:.04em;color:#8a93a4;font-size:10px}.bexport__field textarea,.bexport__field select{color:#e6e9f0;font:inherit;resize:vertical;background:#14161b;border:1px solid #2a2d34;border-radius:5px;padding:6px 8px;font-size:12px}.bexport__note{color:#8a93a4;margin:0;font-size:11px}.bexport__note strong{color:#cdd4e0}.bexport__message{border-radius:5px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex}.bexport__message img{object-fit:contain;background:#000;border-radius:4px;width:44px;height:44px}.bexport__message.is-error{color:#f0c8c8;background:#a03c3c29;border:1px solid #c85a5a59}.bexport__message.is-success{color:#c8f0d8;background:#3c8c5a24;border:1px solid #5abe824d}.bexport__actions{border-top:1px solid #23262d;justify-content:flex-end;gap:8px;padding:12px 14px;display:flex}.bexport__actions button{color:#b8c0cf;cursor:pointer;background:#1b1e24;border:1px solid #2a2d34;border-radius:5px;padding:6px 14px;font-size:12px;font-weight:600}.bexport__actions button.is-primary{color:#fff;background:#2f5fb0;border-color:#3d6fc4}.bexport__actions button:disabled{opacity:.5;cursor:default}.bexport__params{flex-direction:column;gap:10px;display:flex}.bexport__params .image-editor-label{text-transform:uppercase;letter-spacing:.04em;color:#8a93a4;gap:4px;font-size:10px}.bexport__params .image-editor-label--checkbox{text-transform:none;letter-spacing:normal;color:#e6e9f0;font-size:12px}.bexport__params .image-editor-input{color:#e6e9f0;font:inherit;background:#14161b;border:1px solid #2a2d34;border-radius:5px;padding:7px 8px;font-size:12px}.bexport__params .image-editor-input:focus-visible{outline-offset:1px;outline:2px solid #6ea8ff}.bexport__field input[type=number]{color:#e6e9f0;font:inherit;background:#14161b;border:1px solid #2a2d34;border-radius:5px;padding:6px 8px;font-size:12px}.bexport__field small{color:#8a93a4;font-size:11px;line-height:1.4}.bexport__message img{object-fit:cover;background:#14161b}.bexport__levels{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.bexport__level{border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:5px 8px;display:flex}.bexport__level:hover{background:#1b1e24}.bexport__level label{cursor:pointer;align-items:center;gap:8px;min-width:0;display:flex}.bexport__level input:disabled{cursor:default}.bexport__level-name{color:#e6e9f0;flex-direction:column;font-size:12px;line-height:1.2;display:flex}.bexport__level-name small{color:#8a93a4;font-size:10px}.bexport__level-count{font-variant-numeric:tabular-nums;color:#9aa3b4;white-space:nowrap;font-size:11px}.bexport__field input[type=text]{color:#e6e9f0;font:inherit;background:#14161b;border:1px solid #2a2d34;border-radius:5px;padding:6px 8px;font-size:12px}.bexport__level-detail{color:var(--text-dim,#8b93a1);margin-top:2px;font-size:11px;display:block}.bexport__extras{border-top:1px solid var(--border-subtle,#2a2f3a);flex-direction:column;gap:12px;margin-top:14px;padding-top:14px;display:flex}.bexport__extra{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.bexport__extra input{margin-top:3px}.bexport__extra small{color:var(--text-dim,#8b93a1);margin-top:3px;line-height:1.45;display:block}.bexport__atlas{gap:16px;margin:-4px 0 0 26px;display:flex}.bexport__atlas label{color:var(--text-dim,#8b93a1);flex-direction:column;gap:4px;font-size:12px;display:flex}.bexport__atlas select,.bexport__atlas input{background:var(--surface-2,#171b24);border:1px solid var(--border-subtle,#2a2f3a);color:inherit;border-radius:6px;padding:5px 8px}.bexport__atlas input{width:72px}.bexport__atlas-warn,.bexport__atlas-ok{align-items:center;gap:6px;margin:0 0 0 26px;font-size:12px;display:flex}.bexport__atlas-warn{color:var(--warn,#e0b341)}.bexport__atlas-ok{color:var(--text-dim,#8b93a1)}.bexport__atlas-warn .material-symbols-outlined{font-size:16px}.bexport__atlas-warn button{background:var(--surface-2,#171b24);border:1px solid var(--border-subtle,#2a2f3a);color:inherit;cursor:pointer;border-radius:6px;margin-left:4px;padding:3px 8px}.bexport__atlas-ok button{background:var(--surface-2,#171b24);border:1px solid var(--border-subtle,#2a2f3a);color:inherit;cursor:pointer;border-radius:6px;margin-left:6px;padding:2px 8px}.bexport__atlas-ok button:disabled{opacity:.6;cursor:default}.bexport__hint{border:1px solid var(--border-subtle,#2a2f3a);cursor:help;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;margin-left:4px;font-size:10px;display:inline-flex}.bexport__message.is-busy{color:var(--text-dim,#8b93a1);border-left:2px solid var(--accent,#4a7cff);padding-left:10px}.bexport__atlas-note{color:var(--text-dim,#8b93a1);align-self:flex-end;padding-bottom:6px;font-size:11px}.planedit{background:var(--surface-container-lowest);flex-direction:column;height:100%;min-height:0;display:flex}.planedit__toolbar{border-bottom:1px solid var(--surface-container-highest);background:var(--surface-container-low);flex:none;align-items:center;gap:6px;padding:6px 10px;display:flex}.planedit__tool{border:1px solid var(--surface-container-highest);background:var(--surface-container);min-height:28px;color:var(--on-surface-variant);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:5px;padding:0 9px;font-family:inherit;font-size:12px;display:inline-flex}.planedit__tool .material-symbols-outlined{font-size:16px}.planedit__tool:hover:not(:disabled){color:var(--primary);border-color:var(--primary)}.planedit__tool:disabled{opacity:.4;cursor:default}.planedit__tool--on{background:var(--primary);border-color:var(--primary);color:var(--on-primary,#00363d)}.planedit__tool--on:hover:not(:disabled){color:var(--on-primary,#00363d)}.planedit__sep{background:var(--surface-container-highest);width:1px;height:20px;margin:0 2px}.planedit__hint{min-width:0;color:var(--on-surface-variant);opacity:.8;white-space:nowrap;text-overflow:ellipsis;margin-left:auto;font-size:11px;overflow:hidden}.planedit__canvas-wrap{flex:1;min-height:0;position:relative;overflow:hidden}.planedit__canvas{background:var(--surface-container-lowest);cursor:crosshair;touch-action:none;outline:none;width:100%;height:100%;display:block}.planedit__readout{background:var(--surface-container);border:1px solid var(--surface-container-highest);color:var(--on-surface-variant);font-variant-numeric:tabular-nums;pointer-events:none;border-radius:4px;padding:3px 8px;font-size:11px;position:absolute;bottom:8px;right:8px}.binspect{flex-direction:column;gap:12px;min-height:0;display:flex}.binspect--empty{text-align:center;color:var(--on-surface-variant);justify-content:center;align-items:center;gap:8px;padding:32px 12px}.binspect--empty .material-symbols-outlined{opacity:.45;font-size:32px}.binspect--empty p{margin:0;font-size:12px}.binspect__head{align-items:flex-start;gap:10px;display:flex}.binspect__icon{color:var(--primary);margin-top:2px;font-size:20px}.binspect__titles{flex:1;min-width:0}.binspect__title{margin:0;font-size:14px;font-weight:600}.binspect__blurb{color:var(--on-surface-variant);margin:2px 0 0;font-size:11px}.binspect__mute{border:1px solid var(--surface-container-highest);background:var(--surface-container);width:28px;height:28px;color:var(--on-surface-variant);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.binspect__mute .material-symbols-outlined{font-size:16px}.binspect__mute--on{color:var(--error,#ffb4ab);border-color:var(--error,#ffb4ab)}.binspect__teach{background:var(--surface-container);color:var(--on-surface-variant);border-radius:6px;margin:0;padding:8px 10px;font-size:11px;line-height:1.55}.binspect__section{flex-direction:column;gap:10px;display:flex}.binspect__row{grid-template-columns:1fr auto;align-items:center;gap:6px 10px;display:grid}.binspect__row--mode{grid-template-columns:1fr}.binspect__row--muted{opacity:.45}.binspect__label{color:var(--on-surface-variant);font-size:12px}.binspect__note{color:var(--on-surface-variant);opacity:.8;grid-column:1/-1;font-size:10.5px;line-height:1.5}.binspect__control{align-items:center;gap:4px;display:inline-flex}.binspect__input{border:1px solid var(--surface-container-highest);background:var(--surface-container);width:78px;color:var(--on-surface);font-variant-numeric:tabular-nums;border-radius:5px;padding:5px 7px;font-family:inherit;font-size:12px}.binspect__input:focus{border-color:var(--primary);outline:none}.binspect__unit{color:var(--on-surface-variant);min-width:14px;font-size:11px}.binspect__select{border:1px solid var(--surface-container-highest);background:var(--surface-container);width:100%;color:var(--on-surface);border-radius:5px;padding:6px 8px;font-family:inherit;font-size:12px}.binspect__select:focus{border-color:var(--primary);outline:none}.binspect__check{width:16px;height:16px;accent-color:var(--primary)}.binspect__driven{color:var(--primary);align-items:center;gap:4px;font-size:11px;display:inline-flex}.binspect__driven .material-symbols-outlined{font-size:14px}.binspect__plan-btn{border:1px solid var(--surface-container-highest);background:var(--surface-container);color:var(--on-surface-variant);cursor:pointer;border-radius:5px;align-items:center;gap:5px;padding:5px 9px;font-family:inherit;font-size:11px;display:inline-flex}.binspect__plan-btn:hover{color:var(--primary);border-color:var(--primary)}.binspect__plan-btn .material-symbols-outlined{font-size:14px}.binspect__todo{color:var(--on-surface-variant);opacity:.7;font-size:11px}.binspect__advanced summary{letter-spacing:.06em;text-transform:uppercase;color:var(--on-surface-variant);cursor:pointer;padding:4px 0;font-size:11px}.binspect__advanced[open] summary{margin-bottom:8px}.binspect__curve{grid-column:1/-1;margin:6px -6px 2px}.binspect__section--textures{border-top:1px solid var(--outline-variant);gap:4px;padding-top:10px}.binspect__sides-toggle{color:var(--on-surface-variant);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:6px;align-self:flex-start;align-items:center;gap:4px;margin-left:2px;padding:3px 6px 3px 3px;font-size:11px;display:inline-flex}.binspect__sides-toggle:hover{background:var(--surface-container-high);color:var(--on-surface)}.binspect__sides-toggle .material-symbols-outlined{font-size:16px}.btex__slot--sub{padding-left:22px}.btex__slot--sub .btex__chip{width:20px;height:20px}.btex__slot--sub .btex__chip .material-symbols-outlined{font-size:13px}.btex__slot--sub .btex__label{font-size:12px}.buildinggen{background:var(--background);height:100vh;color:var(--on-surface);flex-direction:column;display:flex;overflow:hidden}.buildinggen__body{flex:1;grid-template-columns:260px minmax(0,1fr) 320px;min-height:0;display:grid}.buildinggen__sidebar{background:var(--surface-container-low);flex-direction:column;gap:14px;min-height:0;padding:16px;display:flex;overflow-y:auto}.buildinggen__sidebar--left{border-right:1px solid var(--surface-container-highest)}.buildinggen__sidebar--right{border-left:1px solid var(--surface-container-highest)}.buildinggen__title{letter-spacing:.08em;text-transform:uppercase;color:var(--on-surface-variant);margin:0;font-size:13px;font-weight:600}.buildinggen__hint{color:var(--on-surface-variant);margin:0;font-size:12px;line-height:1.5}.buildinggen__field{flex-direction:column;gap:6px;display:flex}.buildinggen__label{letter-spacing:.06em;text-transform:uppercase;color:var(--on-surface-variant);font-size:11px}.buildinggen__input{box-sizing:border-box;border:1px solid var(--surface-container-highest);background:var(--surface-container);width:100%;color:var(--on-surface);border-radius:6px;padding:8px 10px;font-family:inherit;font-size:13px}.buildinggen__input:focus{border-color:var(--primary);outline:none}.buildinggen__seed-row{align-items:center;gap:6px;display:flex}.buildinggen__icon-btn{border:1px solid var(--surface-container-highest);background:var(--surface-container);width:34px;height:34px;color:var(--on-surface-variant);cursor:pointer;border-radius:6px;flex:none;justify-content:center;align-items:center;display:inline-flex}.buildinggen__icon-btn:hover{color:var(--primary);border-color:var(--primary)}.buildinggen__stats{background:var(--surface-container);border-radius:6px;flex-direction:column;gap:4px;padding:10px;font-size:12px;display:flex}.buildinggen__stats>div{justify-content:space-between;gap:12px;display:flex}.buildinggen__stats span{color:var(--on-surface-variant)}.buildinggen__centre{grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid}.buildinggen__tabs{border-bottom:1px solid var(--surface-container-highest);background:var(--surface-container-low);align-items:center;gap:4px;padding:6px 10px;display:flex}.buildinggen__tab{min-height:28px;color:var(--on-surface-variant);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:5px;padding:0 10px;font-family:inherit;font-size:12px;display:inline-flex}.buildinggen__tab .material-symbols-outlined{font-size:16px}.buildinggen__tab:hover{color:var(--primary)}.buildinggen__tab--on{background:var(--surface-container);border-color:var(--surface-container-highest);color:var(--primary)}.buildinggen__stage{background:var(--background);min-height:0;position:relative}.buildinggen__canvas{width:100%;height:100%;display:block}.buildinggen__diagnostics{border-top:1px solid var(--surface-container-highest);background:var(--surface-container-low);max-height:132px;margin:0;padding:0;list-style:none;overflow-y:auto}.buildinggen__diag{border-bottom:1px solid var(--surface-container);align-items:flex-start;gap:8px;padding:6px 12px;font-size:11.5px;line-height:1.5;display:flex}.buildinggen__diag:last-child{border-bottom:none}.buildinggen__diag .material-symbols-outlined{flex:none;margin-top:1px;font-size:15px}.buildinggen__diag--error{color:var(--error,#ffb4ab)}.buildinggen__diag--warn{color:#ffd28a}.buildinggen__diag--info{color:var(--on-surface-variant)}.buildinggen__diag-text{flex:1;min-width:0}.buildinggen__diag-text em{opacity:.75;font-style:normal}.buildinggen__diag-btn{color:inherit;cursor:pointer;opacity:.85;background:0 0;border:1px solid;border-radius:999px;flex:none;padding:2px 8px;font-family:inherit;font-size:10.5px}.buildinggen__diag-btn:hover{opacity:1}.buildinggen__nodes{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.buildinggen__node{width:100%;color:var(--on-surface-variant);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-family:inherit;font-size:12px;display:flex}.buildinggen__node .material-symbols-outlined{font-size:16px}.buildinggen__node:hover{background:var(--surface-container);color:var(--on-surface)}.buildinggen__node--on{background:var(--surface-container);border-color:var(--primary);color:var(--primary)}.buildinggen__node--muted .buildinggen__node-label{opacity:.6;text-decoration:line-through}.buildinggen__node-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.buildinggen__placeholder{text-align:center;color:var(--on-surface-variant);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex;position:absolute;inset:0}.buildinggen__placeholder .material-symbols-outlined{opacity:.5;font-size:40px}.buildinggen__placeholder p{max-width:46ch;margin:0;font-size:12px;line-height:1.6}.buildinggen__banner{border-bottom:1px solid var(--surface-container-highest);background:var(--surface-container);align-items:center;gap:10px;padding:8px 16px;font-size:13px;display:flex}.buildinggen__banner .material-symbols-outlined{font-size:18px}.buildinggen__banner--error{color:var(--error,#ffb4ab)}.buildinggen__banner--ok{color:var(--tertiary)}.buildinggen__banner--draft{color:var(--on-surface-variant)}.buildinggen__banner-btn{border:1px solid var(--surface-container-highest);color:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:4px 10px;font-family:inherit;font-size:12px}.buildinggen__banner-btn:hover{border-color:var(--primary);color:var(--primary)}.buildinggen__actions{border-top:1px solid var(--surface-container-highest);background:var(--surface-container-low);align-items:center;gap:8px;padding:10px 16px;display:flex}.buildinggen__spacer{flex:1}.buildinggen__btn{border:1px solid var(--surface-container-highest);background:var(--surface-container);min-height:34px;color:var(--on-surface);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-family:inherit;font-size:13px;display:inline-flex}.buildinggen__btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.buildinggen__btn:disabled{opacity:.4;cursor:default}.buildinggen__btn--primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary,#00363d);font-weight:600}.buildinggen__btn--primary:hover:not(:disabled){color:var(--on-primary,#00363d);filter:brightness(1.08)}.buildinggen__pane{min-width:0;min-height:0;position:absolute;inset:0}.buildinggen__pane--off{visibility:hidden;pointer-events:none}.buildinggen__node-row{align-items:center;gap:2px;display:flex}.buildinggen__node-row .buildinggen__node{flex:1;min-width:0}.buildinggen__node-tag{background:var(--surface-container-highest);color:var(--on-surface-variant);border-radius:999px;flex:none;padding:1px 6px;font-size:10px}.buildinggen__node-del{width:22px;height:22px;color:var(--on-surface-variant);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:5px;flex:none;justify-content:center;align-items:center;display:inline-flex}.buildinggen__node-del .material-symbols-outlined{font-size:15px}.buildinggen__node-row:hover .buildinggen__node-del,.buildinggen__node-del:focus-visible{opacity:1}.buildinggen__node-del:hover{background:var(--surface-container);color:var(--error,#ffb4ab)}.buildinggen__add{flex-wrap:wrap;gap:4px;display:flex}.buildinggen__add-btn{border:1px dashed var(--surface-container-highest);color:var(--on-surface-variant);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:3px;padding:4px 8px;font-family:inherit;font-size:11px;display:inline-flex}.buildinggen__add-btn .material-symbols-outlined{font-size:13px}.buildinggen__add-btn:hover{border-style:solid;border-color:var(--primary);color:var(--primary)}.buildinggen__planpick{z-index:2;border:1px solid var(--outline-variant);background:var(--surface-container);color:var(--on-surface-variant);border-radius:999px;align-items:center;gap:6px;padding:5px 8px;font-size:11px;display:flex;position:absolute;top:50px;left:50%;transform:translate(-50%)}.buildinggen__planpick-btn{color:var(--on-surface-variant);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:3px 10px;font-size:11px}.buildinggen__planpick-btn:hover{background:var(--surface-container-high);color:var(--on-surface)}.buildinggen__planpick-btn--on{border-color:var(--primary);color:var(--primary)}.buildinggen__node-move{flex-direction:column;flex:none;display:flex}.buildinggen__node-move button{width:18px;height:13px;color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.buildinggen__node-move button:hover:not(:disabled){color:var(--primary)}.buildinggen__node-move button:disabled{opacity:.25;cursor:default}.buildinggen__node-move .material-symbols-outlined{font-size:15px}@media (width<=700px){.buildinggen{height:auto;min-height:100dvh;overflow:visible}.buildinggen__body{flex-direction:column;flex:none;min-height:0;display:flex;overflow:visible}.buildinggen__sidebar{padding:12px;overflow:visible}.buildinggen__sidebar--left{border-right:0;border-bottom:1px solid var(--surface-container-highest)}.buildinggen__sidebar--right{border-left:0;border-top:1px solid var(--surface-container-highest)}.buildinggen__centre{flex:none;grid-template-rows:auto minmax(320px,54vh) auto;min-height:0}.buildinggen__tabs{overflow-x:auto}}.wiki-page{flex:1;min-height:0;display:flex;overflow:hidden}.wiki-sidebar{border-right:1px solid var(--outline-variant);background:var(--surface-container-low);flex-direction:column;flex-shrink:0;width:400px;min-height:0;display:flex}.wiki-sidebar__head{flex-direction:column;gap:.85rem;padding:1.1rem 1rem .75rem;display:flex}.wiki-sidebar__title-row{color:var(--primary);align-items:center;gap:.55rem;display:flex}.wiki-sidebar__title-row .material-symbols-outlined{font-size:22px}.wiki-sidebar__title{letter-spacing:-.01em;color:var(--on-surface);margin:0;font-size:1.1rem;font-weight:700}.wiki-readonly-badge{border-radius:var(--radius-full);background:var(--surface-container-highest);border:1px solid var(--outline-variant);color:var(--on-surface-variant);font-family:var(--font-label);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:.2rem;margin-left:auto;padding:.15rem .5rem;font-size:.62rem;font-weight:600;display:inline-flex}.wiki-readonly-badge .material-symbols-outlined{font-size:13px}.wiki-sidebar__new{border-radius:var(--radius-lg);color:var(--primary);font-family:var(--font-label);letter-spacing:.02em;cursor:pointer;transition:all var(--transition-base);background:linear-gradient(135deg,#8ff5ff24,#3edcf005);border:1px solid #8ff5ff40;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .75rem;font-size:.8rem;font-weight:600;display:inline-flex}.wiki-sidebar__new:hover:not(:disabled){border-color:var(--primary);background:#8ff5ff33}.wiki-sidebar__new:disabled{opacity:.5;cursor:default}.wiki-sidebar__new .material-symbols-outlined{font-size:18px}.wiki-sidebar__search{border-radius:var(--radius-lg);background:var(--surface-container-highest);border:1px solid #47484a2e;align-items:center;gap:.4rem;margin:0 1rem .5rem;padding:.4rem .6rem;display:flex}.wiki-sidebar__search .material-symbols-outlined{color:var(--on-surface-variant);font-size:16px}.wiki-sidebar__search input{color:var(--on-surface);font-family:var(--font-label);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:.8rem}.wiki-sidebar__search-clear{color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;padding:0;display:flex}.wiki-sidebar__search-clear:hover{color:var(--on-surface)}.wiki-sidebar__scroll{flex:1;padding:.25rem .5rem 1rem;overflow-y:auto}.wiki-sidebar__empty{text-align:center;color:var(--on-surface-variant);flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1rem;font-size:.82rem;display:flex}.wiki-sidebar__empty .material-symbols-outlined{opacity:.6;font-size:28px}.wiki-tree,.wiki-tree__children{margin:0;padding:0;list-style:none}.wiki-tree__row{border-radius:var(--radius-md);cursor:pointer;color:var(--on-surface-variant);transition:background var(--transition-fast), color var(--transition-fast);align-items:center;gap:.35rem;padding:.4rem .5rem .4rem .25rem;display:flex;position:relative}.wiki-tree--flat .wiki-tree__row{padding-left:.5rem}.wiki-tree__row:hover{background:var(--surface-container-high);color:var(--on-surface)}.wiki-tree__row--active{color:var(--on-surface);background:linear-gradient(135deg,#8ff5ff29,#8ff5ff0a)}.wiki-tree__row--active:before{content:"";background:var(--primary);border-radius:2px;width:2px;position:absolute;top:4px;bottom:4px;left:0}.wiki-tree__chevron{width:18px;height:18px;color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.wiki-tree__chevron:hover{color:var(--primary)}.wiki-tree__chevron .material-symbols-outlined{font-size:18px}.wiki-tree__chevron--hidden{visibility:hidden}.wiki-tree__icon{opacity:.85;flex-shrink:0;font-size:18px}.wiki-tree__label{min-width:0;font-size:.83rem;font-family:var(--font-label);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.wiki-tree__actions{opacity:0;transition:opacity var(--transition-fast);align-items:center;gap:1px;display:flex}.wiki-tree__row:hover .wiki-tree__actions{opacity:1}.wiki-tree__action{width:22px;height:22px;color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;display:flex}.wiki-tree__action:hover:not(:disabled){color:var(--primary);background:#ffffff14}.wiki-tree__action--danger:hover:not(:disabled){color:var(--error)}.wiki-tree__action:disabled{opacity:.25;cursor:default}.wiki-tree__action .material-symbols-outlined{font-size:15px}.wiki-content{flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow-y:auto}.wiki-content__placeholder{color:var(--on-surface-variant);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;padding:2rem;display:flex}.wiki-content__placeholder .material-symbols-outlined{opacity:.5;font-size:48px}.wiki-content__placeholder h2{font-family:var(--font-headline);color:var(--on-surface);margin:0}.wiki-content__placeholder p{max-width:360px;margin:0}.wiki-article{width:100%;max-width:880px;margin:0 auto;padding:1.5rem 2.5rem 4rem;animation:.3s fadeIn}.wiki-article__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.wiki-breadcrumb{font-family:var(--font-label);color:var(--on-surface-variant);flex-wrap:wrap;align-items:center;font-size:.78rem;display:flex}.wiki-breadcrumb__item{align-items:center;display:inline-flex}.wiki-breadcrumb__sep{opacity:.5;margin:0 .4rem}.wiki-breadcrumb button{color:var(--on-surface-variant);cursor:pointer;font:inherit;background:0 0;border:none;padding:0}.wiki-breadcrumb button:hover{color:var(--primary)}.wiki-breadcrumb__current{color:var(--on-surface)!important;cursor:default!important}.wiki-article__actions{gap:.5rem;display:flex}.wiki-article__header{border-bottom:1px solid var(--outline-variant);align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.25rem;display:flex}.wiki-article__icon{color:var(--primary);border-radius:var(--radius-lg);background:linear-gradient(135deg,#8ff5ff24,#3edcf005);flex-shrink:0;padding:.5rem;font-size:38px}.wiki-article__title{letter-spacing:-.02em;margin:0;font-size:1.85rem;font-weight:700}.wiki-article__meta{color:var(--outline);font-size:.75rem;font-family:var(--font-label);margin:.25rem 0 0}.wiki-btn{border-radius:var(--radius-md);background:var(--surface-container-high);color:var(--on-surface);font-family:var(--font-label);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:1px solid #47484a4d;align-items:center;gap:.35rem;padding:.45rem .85rem;font-size:.8rem;font-weight:600;display:inline-flex}.wiki-btn:hover:not(:disabled){border-color:var(--outline);background:var(--surface-container-highest)}.wiki-btn:disabled{opacity:.5;cursor:default}.wiki-btn .material-symbols-outlined{font-size:17px}.wiki-btn--primary{background:var(--primary);color:var(--on-primary);border-color:#0000}.wiki-btn--primary:hover:not(:disabled){filter:brightness(1.1);background:var(--primary)}.wiki-feedback{z-index:20;border-radius:var(--radius-lg);font-size:.82rem;font-family:var(--font-label);align-items:center;gap:.5rem;padding:.55rem .95rem;animation:.2s fadeIn;display:flex;position:absolute;top:1rem;left:50%;transform:translate(-50%);box-shadow:0 12px 28px #0006}.wiki-feedback .material-symbols-outlined{font-size:18px}.wiki-feedback--success{color:#7ef2dc;background:linear-gradient(145deg,#315d65f2,#121d22f2);border:1px solid #7ef2dc4d}.wiki-feedback--error{color:#ff8f8f;background:linear-gradient(145deg,#7a3838f2,#2c1414f2);border:1px solid #ff8f8f4d}.wiki-feedback--info{background:var(--surface-container-highest);color:var(--on-surface);border:1px solid var(--outline-variant)}.wiki-editor{flex-direction:column;flex:1;min-height:0;display:flex}.wiki-editor__bar{border-bottom:1px solid var(--outline-variant);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.wiki-editor__title-fields{flex:1;align-items:center;gap:.6rem;min-width:240px;display:flex}.wiki-icon-field{align-items:center;display:flex;position:relative}.wiki-icon-field__preview{color:var(--primary);pointer-events:none;font-size:19px;position:absolute;left:.5rem}.wiki-input{border-radius:var(--radius-md);background:var(--surface-container-highest);color:var(--on-surface);font-family:var(--font-body);transition:border-color var(--transition-fast);border:1px solid #47484a4d;outline:none;padding:.5rem .7rem}.wiki-input:focus{border-color:var(--primary)}.wiki-input--icon{width:130px;font-family:var(--font-label);padding-left:2rem;font-size:.8rem}.wiki-input--title{min-width:0;font-family:var(--font-headline);flex:1;font-size:1.05rem;font-weight:600}.wiki-editor__bar-actions{gap:.5rem;display:flex}.wiki-toolbar{border-bottom:1px solid var(--outline-variant);background:var(--surface-container-low);flex-wrap:wrap;align-items:center;gap:2px;padding:.5rem 1.5rem;display:flex}.wiki-toolbar__btn{width:32px;height:32px;color:var(--on-surface-variant);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.wiki-toolbar__btn:hover:not(:disabled){background:var(--surface-container-high);color:var(--on-surface)}.wiki-toolbar__btn:disabled{opacity:.4;cursor:default}.wiki-toolbar__btn .material-symbols-outlined{font-size:19px}.wiki-toolbar__btn--accent{color:var(--primary)}.wiki-toolbar__btn--accent:hover:not(:disabled){background:#8ff5ff1f}.wiki-toolbar__divider{background:var(--outline-variant);width:1px;height:20px;margin:0 6px}.wiki-toolbar__status{color:var(--primary);font-size:.75rem;font-family:var(--font-label);align-items:center;gap:.35rem;margin-left:.5rem;display:inline-flex}.wiki-toolbar__status .material-symbols-outlined{font-size:16px}.wiki-editor__panes{flex:1;grid-template-columns:1fr 1fr;min-height:0;display:grid}.wiki-editor__textarea{resize:none;background:var(--surface);color:var(--on-surface);border:none;border-right:1px solid var(--outline-variant);outline:none;padding:1.5rem;font-family:SFMono-Regular,ui-monospace,Menlo,Consolas,monospace;font-size:.85rem;line-height:1.65}.wiki-editor__textarea::placeholder{color:var(--outline)}.wiki-editor__preview{background:var(--surface-container-low);padding:.5rem 2rem 3rem;overflow-y:auto}.wiki-editor__preview-label{z-index:1;letter-spacing:.12em;text-transform:uppercase;color:var(--outline);font-size:.65rem;font-family:var(--font-label);background:var(--surface-container-low);border-bottom:1px solid var(--outline-variant);margin:0 -2rem .5rem;padding:.5rem 2rem;position:sticky;top:0}.wiki-spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.wiki-markdown{color:var(--on-surface);font-size:.95rem;line-height:1.75}.wiki-markdown>:first-child{margin-top:0}.wiki-markdown h1,.wiki-markdown h2,.wiki-markdown h3,.wiki-markdown h4{font-family:var(--font-headline);letter-spacing:-.01em;margin:2rem 0 .85rem;font-weight:700;line-height:1.25}.wiki-markdown h1{font-size:1.6rem}.wiki-markdown h2{border-bottom:1px solid var(--outline-variant);padding-bottom:.35rem;font-size:1.3rem}.wiki-markdown h3{font-size:1.1rem}.wiki-markdown h4{color:var(--on-surface-variant);font-size:.98rem}.wiki-markdown p{margin:.85rem 0}.wiki-markdown a{color:var(--primary);text-underline-offset:2px;text-decoration:underline}.wiki-markdown a:hover{color:var(--primary-container)}.wiki-markdown ul,.wiki-markdown ol{margin:.85rem 0;padding-left:1.5rem}.wiki-markdown li{margin:.3rem 0}.wiki-markdown li::marker{color:var(--primary-dim)}.wiki-markdown blockquote{border-left:3px solid var(--primary);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--on-surface-variant);background:linear-gradient(90deg,#8ff5ff14,#0000);margin:1.1rem 0;padding:.6rem 1rem}.wiki-markdown blockquote p{margin:.25rem 0}.wiki-markdown code{background:var(--surface-container-highest);border-radius:var(--radius-sm);color:var(--tertiary);padding:.12em .4em;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85em}.wiki-markdown pre{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);margin:1.1rem 0;padding:1rem 1.2rem;overflow-x:auto}.wiki-markdown pre code{color:var(--on-surface);background:0 0;padding:0;font-size:.82rem;line-height:1.6}.wiki-markdown hr{border:none;border-top:1px solid var(--outline-variant);margin:2rem 0}.wiki-markdown table{border-collapse:collapse;width:100%;margin:1.1rem 0;font-size:.88rem}.wiki-markdown th,.wiki-markdown td{border:1px solid var(--outline-variant);text-align:left;padding:.5rem .75rem}.wiki-markdown th{background:var(--surface-container-high);font-family:var(--font-label);font-weight:600}.wiki-markdown tr:nth-child(2n) td{background:#ffffff04}.wiki-figure{text-align:center;margin:1.25rem 0}.wiki-figure img,.wiki-markdown img{border-radius:var(--radius-lg);border:1px solid var(--outline-variant);max-width:100%;height:auto;margin:0 auto;display:block}.wiki-figure figcaption{color:var(--outline);font-size:.78rem;font-family:var(--font-label);margin-top:.5rem}.wiki-video{border-radius:var(--radius-lg);border:1px solid var(--outline-variant);background:#000;width:100%;max-width:100%;margin:1.25rem 0}@media (width<=900px){.wiki-sidebar{width:240px}.wiki-editor__panes{grid-template-columns:1fr}.wiki-editor__textarea{border-right:none;border-bottom:1px solid var(--outline-variant)}.wiki-article{padding:1.5rem 1.25rem 3rem}}
