.toasts[data-v-7ebcb987]{z-index:200;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast[data-v-7ebcb987]{background:linear-gradient(to bottom, var(--wash-1), #fff0 42%), var(--surface-panel);border:1px solid var(--border);box-shadow:0 1px 0 var(--wash-1) inset, var(--shadow-2);max-width:360px;color:var(--text);cursor:pointer;border-left:3px solid var(--app-accent);border-radius:8px;align-items:flex-start;gap:10px;padding:11px 13px;font-size:13px;line-height:1.4;display:flex}.toast.success[data-v-7ebcb987]{border-left-color:var(--success)}.toast.error[data-v-7ebcb987]{border-left-color:var(--danger)}.toast-enter-active[data-v-7ebcb987],.toast-leave-active[data-v-7ebcb987]{transition:opacity .18s,transform .18s}.toast-enter-from[data-v-7ebcb987],.toast-leave-to[data-v-7ebcb987]{opacity:0;transform:translate(12px)}.loading-animation{width:54px;height:20px;display:inline-block;position:relative}.loading-animation div{background:#7d5f41;border-radius:50%;width:10px;height:10px;animation-timing-function:cubic-bezier(0,1,1,0);position:absolute;top:5px}.loading-animation div:first-child{animation:.6s infinite loading-animation1;left:0}.loading-animation div:nth-child(2){animation:.6s infinite loading-animation2;left:0}.loading-animation div:nth-child(3){animation:.6s infinite loading-animation2;left:20px}.loading-animation div:nth-child(4){animation:.6s infinite loading-animation3;left:44px}@keyframes loading-animation1{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes loading-animation3{0%{transform:scale(1)}to{transform:scale(0)}}@keyframes loading-animation2{0%{transform:translate(0)}to{transform:translate(24px)}}.full-screen-loading{z-index:10000001;color:#d3deea;background:#080c16;flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:20px;display:flex;position:fixed;inset:0}.hidden{display:none!important}:root{--surface-sunken:#0c0d0f;--surface-base:#121316;--surface-panel:#1a1c20;--surface-panel-hi:#212429;--surface-raised:#26292f;--surface-overlay:#2f333a;--surface-input:#101216;--border-subtle:#ffffff0d;--border:#ffffff17;--border-strong:#ffffff29;--text:#e4e7ea;--text-muted:#e4e7ea94;--text-faint:#e4e7ea4d;--text-on-accent:#101216;--wash-1:#ffffff08;--wash-2:#ffffff0f;--wash-3:#ffffff1a;--shadow-1:0 1px 3px #0000004d;--shadow-2:0 2px 10px #00000059;--shadow-3:0 8px 30px #00000080;--scrim:#080706b8;--ease:.14s ease;--gold:#e8b87a;--amber:#f3a03b;--teal:#5fb8ab;--blue:#6fa8dc;--violet:#a68bd8;--rose:#e08a9a;--cyan:#52b0c9;--green:#7bc46c;--red:#e06060;--gold-fill:#e8b87a24;--gold-fill-hi:#e8b87a3d;--gold-border:#e8b87a66;--gold-text:#f3d3a8;--amber-fill:#f3a03b24;--amber-fill-hi:#f3a03b3d;--amber-border:#f3a03b66;--amber-text:#f8c489;--teal-fill:#5fb8ab24;--teal-fill-hi:#5fb8ab3d;--teal-border:#5fb8ab66;--teal-text:#94d5cb;--blue-fill:#6fa8dc24;--blue-fill-hi:#6fa8dc3d;--blue-border:#6fa8dc66;--blue-text:#a3c9e8;--violet-fill:#a68bd824;--violet-fill-hi:#a68bd83d;--violet-border:#a68bd866;--violet-text:#c6b2e6;--rose-fill:#e08a9a24;--rose-fill-hi:#e08a9a3d;--rose-border:#e08a9a66;--rose-text:#eeb2bd;--cyan-fill:#52b0c924;--cyan-fill-hi:#52b0c93d;--cyan-border:#52b0c966;--cyan-text:#92cfe0;--green-fill:#7bc46c24;--green-fill-hi:#7bc46c3d;--green-border:#7bc46c66;--green-text:#a6dc9a;--red-fill:#e0606024;--red-fill-hi:#e060603d;--red-border:#e0606066;--red-text:#eda0a0;--success:var(--green);--success-fill:var(--green-fill);--success-fill-hi:var(--green-fill-hi);--success-border:var(--green-border);--success-text:var(--green-text);--danger:var(--red);--danger-fill:var(--red-fill);--danger-fill-hi:var(--red-fill-hi);--danger-border:var(--red-border);--danger-text:var(--red-text);--warning:var(--amber);--warning-fill:var(--amber-fill);--warning-fill-hi:var(--amber-fill-hi);--warning-border:var(--amber-border);--warning-text:var(--amber-text);--info:var(--blue);--info-fill:var(--blue-fill);--info-fill-hi:var(--blue-fill-hi);--info-border:var(--blue-border);--info-text:var(--blue-text);--app-accent:var(--gold);--app-accent-fill:var(--gold-fill);--app-accent-fill-hi:var(--gold-fill-hi);--app-accent-border:var(--gold-border);--app-accent-text:var(--gold-text)}[data-app=zones]{--app-accent:var(--green);--app-accent-fill:var(--green-fill);--app-accent-fill-hi:var(--green-fill-hi);--app-accent-border:var(--green-border);--app-accent-text:var(--green-text)}[data-app=entities]{--app-accent:var(--violet);--app-accent-fill:var(--violet-fill);--app-accent-fill-hi:var(--violet-fill-hi);--app-accent-border:var(--violet-border);--app-accent-text:var(--violet-text)}[data-app=models]{--app-accent:var(--teal);--app-accent-fill:var(--teal-fill);--app-accent-fill-hi:var(--teal-fill-hi);--app-accent-border:var(--teal-border);--app-accent-text:var(--teal-text)}[data-app=animation]{--app-accent:var(--rose);--app-accent-fill:var(--rose-fill);--app-accent-fill-hi:var(--rose-fill-hi);--app-accent-border:var(--rose-border);--app-accent-text:var(--rose-text)}[data-app=items]{--app-accent:var(--gold);--app-accent-fill:var(--gold-fill);--app-accent-fill-hi:var(--gold-fill-hi);--app-accent-border:var(--gold-border);--app-accent-text:var(--gold-text)}[data-app=admin]{--app-accent:var(--blue);--app-accent-fill:var(--blue-fill);--app-accent-fill-hi:var(--blue-fill-hi);--app-accent-border:var(--blue-border);--app-accent-text:var(--blue-text)}[data-app] button:not(.tp-fldv_b):not(.tp-rotv_b):not(.tp-btnv_b):not(.tp-colswv_b):not(.add-btn):not(.delete-btn):not(.remove-btn):not(.exclude-toggle):not(.shell-btn):not(.admin-btn),[data-app] .btn:not(.tp-fldv_b):not(.tp-rotv_b):not(.tp-btnv_b):not(.tp-colswv_b):not(.add-btn):not(.delete-btn):not(.remove-btn):not(.exclude-toggle):not(.shell-btn):not(.admin-btn){color:var(--text);border:1px solid var(--border-strong);background:linear-gradient(to bottom, var(--wash-2), #fff0), var(--surface-raised);transition:background var(--ease), border-color var(--ease), color var(--ease);border-radius:6px}[data-app] button:not(.tp-fldv_b):not(.tp-rotv_b):not(.tp-btnv_b):not(.tp-colswv_b):not(.add-btn):not(.delete-btn):not(.remove-btn):not(.exclude-toggle):not(.shell-btn):not(.admin-btn):hover:not(:disabled),[data-app] .btn:not(.tp-fldv_b):not(.tp-rotv_b):not(.tp-btnv_b):not(.tp-colswv_b):not(.add-btn):not(.delete-btn):not(.remove-btn):not(.exclude-toggle):not(.shell-btn):not(.admin-btn):hover:not(:disabled){background:linear-gradient(to bottom, var(--wash-3), #fff0), var(--surface-overlay);border-color:var(--app-accent-border);color:var(--app-accent-text)}[data-app] button:not(.tp-fldv_b):not(.tp-rotv_b):not(.tp-btnv_b):not(.tp-colswv_b):not(.add-btn):not(.delete-btn):not(.remove-btn):not(.exclude-toggle):not(.shell-btn):not(.admin-btn):active:not(:disabled),[data-app] .btn:not(.tp-fldv_b):not(.tp-rotv_b):not(.tp-btnv_b):not(.tp-colswv_b):not(.add-btn):not(.delete-btn):not(.remove-btn):not(.exclude-toggle):not(.shell-btn):not(.admin-btn):active:not(:disabled){background:var(--surface-panel);box-shadow:inset 0 1px 3px #0006}[data-app] button:not(.tp-fldv_b):not(.tp-rotv_b):not(.tp-btnv_b):not(.tp-colswv_b):not(.add-btn):not(.delete-btn):not(.remove-btn):not(.exclude-toggle):not(.shell-btn):not(.admin-btn).active,[data-app] button:not(.tp-fldv_b):not(.tp-rotv_b):not(.tp-btnv_b):not(.tp-colswv_b):not(.add-btn):not(.delete-btn):not(.remove-btn):not(.exclude-toggle):not(.shell-btn):not(.admin-btn).selected,[data-app] .btn:not(.tp-fldv_b):not(.tp-rotv_b):not(.tp-btnv_b):not(.tp-colswv_b):not(.add-btn):not(.delete-btn):not(.remove-btn):not(.exclude-toggle):not(.shell-btn):not(.admin-btn).active,[data-app] .btn:not(.tp-fldv_b):not(.tp-rotv_b):not(.tp-btnv_b):not(.tp-colswv_b):not(.add-btn):not(.delete-btn):not(.remove-btn):not(.exclude-toggle):not(.shell-btn):not(.admin-btn).selected{background:var(--app-accent-fill);border-color:var(--app-accent-border);color:var(--app-accent-text)}[data-app] button:not(.tp-fldv_b):not(.tp-rotv_b):not(.tp-btnv_b):not(.tp-colswv_b):not(.add-btn):not(.delete-btn):not(.remove-btn):not(.exclude-toggle):not(.shell-btn):not(.admin-btn).red,[data-app] .btn:not(.tp-fldv_b):not(.tp-rotv_b):not(.tp-btnv_b):not(.tp-colswv_b):not(.add-btn):not(.delete-btn):not(.remove-btn):not(.exclude-toggle):not(.shell-btn):not(.admin-btn).red{background:var(--danger-fill);border-color:var(--danger-border);color:var(--danger-text)}[data-app] button:not(.tp-fldv_b):not(.tp-rotv_b):not(.tp-btnv_b):not(.tp-colswv_b):not(.add-btn):not(.delete-btn):not(.remove-btn):not(.exclude-toggle):not(.shell-btn):not(.admin-btn).red:hover:not(:disabled),[data-app] .btn:not(.tp-fldv_b):not(.tp-rotv_b):not(.tp-btnv_b):not(.tp-colswv_b):not(.add-btn):not(.delete-btn):not(.remove-btn):not(.exclude-toggle):not(.shell-btn):not(.admin-btn).red:hover:not(:disabled){background:var(--danger-fill-hi);border-color:var(--danger);color:var(--danger-text)}[data-app] button:not(.tp-fldv_b):not(.tp-rotv_b):not(.tp-btnv_b):not(.tp-colswv_b):not(.add-btn):not(.delete-btn):not(.remove-btn):not(.exclude-toggle):not(.shell-btn):not(.admin-btn).red:active:not(:disabled),[data-app] .btn:not(.tp-fldv_b):not(.tp-rotv_b):not(.tp-btnv_b):not(.tp-colswv_b):not(.add-btn):not(.delete-btn):not(.remove-btn):not(.exclude-toggle):not(.shell-btn):not(.admin-btn).red:active:not(:disabled){background:var(--danger-fill)}
