html,body,#root{width:100%;height:100%;margin:0;padding:0;overflow:hidden;background:var(--color-bg-panel);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;-webkit-user-select:none;user-select:none;color:var(--color-text-main)}input,textarea,[contenteditable]{-webkit-user-select:text;user-select:text}canvas{touch-action:none}:root{--color-primary: #007bff;--color-primary-hover: #0056b3;--color-primary-active: #004494;--color-accent: #4c79ff;--color-danger: #dc3545;--color-danger-hover: #c82333;--color-success: #28a745;--color-success-hover: #218838;--color-text-main: var(--color-primary-active);--color-text-secondary: #555;--color-text-tertiary: #666;--color-text-muted: #888;--color-text-inverse: white;--color-bg-app: white;--color-bg-panel: #fff;--color-bg-list-item: white;--color-bg-hover: #f5f5f5;--color-bg-secondary: #f9f9f9;--color-bg-tertiary: #e5e5e5;--color-overlay: rgba(0, 0, 0, .5);--color-border: #ddd;--color-border-light: #eee;--color-border-dark: #ccc;--space-xs: 4px;--space-sm: 6px;--space-md: 8px;--space-lg: 12px;--space-xl: 16px;--space-xxl: 24px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 12px;--radius-round: 50%;--radius: 8px;--panel-radius: var(--radius-xl);--btn-radius: var(--radius-sm);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .2);--panel-shadow: var(--shadow-md);--z-overlay: 100;--z-inspector: 500;--z-toolbar: 600;--z-modal: 1000;--z-cursor: 9999;--font-size-base: 14px;--font-size-sm: 12px;--font-size-lg: 16px;--font-size-xl: 20px;--panel-title-size: 16px;--panel-text-size: 13px;--panel-padding: var(--space-md);--btn-pad-y: 6px;--btn-pad-x: 10px;--btn-size-icon: 30px;--backdrop-blur: blur(8px);--transition-fast: .2s}.btn{font-size:var(--font-size-base);padding:var(--btn-pad-y) var(--btn-pad-x);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-border-light);color:var(--color-text-main);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);line-height:1.2}.btn-primary{border:none;background:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-danger{border:none;background:var(--color-danger);color:var(--color-text-inverse)}.btn-danger:hover{background:var(--color-danger-hover)}.btn-outline-danger{border:1px solid var(--color-danger);background:transparent;color:var(--color-danger)}.btn-outline-danger:hover{background:#dc35451a}.btn-secondary{background:#fff;color:var(--color-text-main)}.btn-secondary:hover{background:var(--color-bg-hover)}.btn-dark{border:none;background:var(--color-text-main);color:var(--color-text-inverse)}.btn-pill{border-radius:999px}.icon-button{display:flex;align-items:center;justify-content:center;width:var(--btn-size-icon);height:var(--btn-size-icon);padding:0;box-sizing:border-box;border-radius:var(--btn-radius);cursor:pointer;flex-shrink:0;transition:all var(--transition-fast) ease;border:1px solid var(--color-border);background:var(--color-bg-panel);color:var(--color-text-main)}.icon-button:disabled{cursor:not-allowed;background:var(--color-border-light);color:var(--color-text-muted);border:none;box-shadow:none}.icon-button:active:not(:disabled){transform:translateY(1px)}.icon-button--lg{width:40px;height:40px}.icon-button--md{width:34px;height:34px}.icon-button--sm{width:30px;height:30px}.icon-button--xs{width:24px;height:24px}.icon-button--danger{background:var(--color-danger);color:var(--color-text-inverse);border:none}.icon-button--danger:hover:not(:disabled){background:var(--color-danger-hover)}.icon-button--danger:active:not(:disabled){background:#bd2130;box-shadow:inset 0 3px 5px #0003}.icon-button--success{background:var(--color-success);color:var(--color-text-inverse);border:none}.icon-button--success:hover:not(:disabled){background:var(--color-success-hover)}.icon-button--success:active:not(:disabled){background:#1e7e34;box-shadow:inset 0 3px 5px #0003}.icon-button--primary{background:var(--color-primary);color:var(--color-text-inverse);border:none;box-shadow:var(--shadow-sm)}.icon-button--primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:0 2px 4px #0003}.icon-button--primary:active:not(:disabled),.icon-button--primary.icon-button--active{background:var(--color-primary-active);box-shadow:inset 0 2px 4px #0000004d}.icon-button--default{background:var(--color-primary);color:var(--color-text-inverse);border:none;box-shadow:var(--shadow-sm)}.icon-button--default:hover:not(:disabled){background:#3395ff;box-shadow:0 4px 8px #0003}.icon-button--default:active:not(:disabled){background:var(--color-primary-hover);box-shadow:inset 0 2px 4px #0000004d}.icon-button--default.icon-button--active{background:var(--color-primary-active);box-shadow:inset 0 3px 5px #0009}.icon-button--default.icon-button--active:hover:not(:disabled){background:#003875}.icon-button--secondary{background:var(--color-bg-tertiary);color:var(--color-text-secondary);border:none;box-shadow:var(--shadow-sm)}.icon-button--secondary:hover:not(:disabled){background:var(--color-border);color:var(--color-text-primary)}.icon-button--secondary:active:not(:disabled){background:var(--color-border-dark);box-shadow:inset 0 2px 4px #0000001a}.icon-button--ghost{background:transparent;border:none}.icon-button--ghost:hover:not(:disabled){background:#0000000d}.projection-helper-panel{position:absolute;bottom:0;right:0;left:auto;transform:none;background-color:var(--color-bg-panel);border:1px solid var(--color-border-light);border-top-left-radius:var(--radius-lg);border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:0;border-right:none;border-bottom:none;padding:12px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-lg);z-index:1000;min-width:280px;pointer-events:auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.projection-helper-header{font-weight:600;color:var(--color-text-primary);text-transform:capitalize;font-size:13px;display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;border-bottom:1px solid var(--color-border-light);margin-bottom:4px}.projection-header-actions-group{display:flex;gap:4px;align-items:center}.projection-helper-content{display:flex;flex-direction:column;gap:8px;padding:4px 0}.projection-slider-row{display:flex;align-items:center;gap:12px;width:100%}.projection-slider-label{font-size:12px;color:var(--color-text-secondary);font-weight:500;min-width:48px}.projection-slider{flex:1;height:4px;background:var(--color-border);border-radius:2px;appearance:none;outline:none;cursor:pointer}.projection-slider::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:2px solid white;box-shadow:0 1px 3px #0000001a;transition:transform .1s ease}.projection-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.projection-number-input{width:48px;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:4px;font-size:12px;text-align:center;background:var(--color-bg-canvas);color:var(--color-text-primary);font-family:inherit}.projection-number-input:focus{outline:none;border-color:var(--color-primary)}.projection-view-buttons{display:flex;gap:8px;margin-top:4px}.projection-view-btn{flex:1;padding:6px 12px;font-size:12px;font-weight:500;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-canvas);color:var(--color-text-primary);cursor:pointer;transition:all .2s ease}.projection-view-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover)}.projection-view-btn:active{background:var(--color-bg-active);transform:translateY(1px)}.projection-helper-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:12px;border-top:1px solid var(--color-border-light);margin-top:4px}.projection-helper-placeholder{display:flex;justify-content:center;align-items:center;min-height:32px;background:#00000008;border-radius:var(--radius-sm);padding:8px;font-size:12px;color:var(--color-text-secondary)}.panel-item-wrapper{display:flex;align-items:center;gap:var(--space-xs);touch-action:none;width:100%}.panel-item-wrapper.drag-overlay{opacity:.9;box-shadow:var(--shadow-lg);background:var(--color-bg-panel);border-radius:var(--radius-md);padding:4px;z-index:999}.panel-drag-handle{cursor:grab;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;padding:3px;flex-shrink:0}.panel-drag-handle:active{cursor:grabbing}.panel-item-content{flex:1;min-width:0}.panel-item{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:2px 4px;min-height:32px;width:100%;box-sizing:border-box;cursor:pointer;transition:all .2s ease}.panel-item:hover{border-color:var(--color-primary-light);background:var(--color-bg-panel-hover)}.panel-item.selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary),0 4px 12px #00000026;position:relative}.panel-item-info{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-xs);flex:1;min-width:0}.panel-title-row{display:flex;align-items:center;gap:var(--space-xs);flex:1;min-width:0;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel-item-actions{display:flex;align-items:center;gap:var(--space-xs)}.panel-item-thumb{width:80px;height:60px;background:var(--color-bg-canvas);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);margin-left:var(--space-xs);flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center}.panel-thumb-canvas,.panel-thumb-img{width:100%;height:100%;object-fit:contain}.panel-list{overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:var(--space-xs);padding:4px 4px 20px 0;flex:1;min-height:0}.panel-container{background:var(--color-bg-panel);border-radius:var(--panel-radius);box-shadow:var(--panel-shadow);padding:4px 4px 4px 0;display:flex;flex-direction:column;gap:var(--space-xs);pointer-events:auto;width:300px;flex-shrink:0;max-height:35vh}.panel-container.preview-mode{width:145px!important;min-width:145px!important;padding:4px}.panel-container.preview-mode .panel-list{align-items:center}.panel-container.hidden-mode{width:145px!important;min-width:145px!important;padding:4px}.panel-container.hidden-mode .panel-header-unified{margin-bottom:0;justify-content:center}.panel-header-unified{display:flex;flex-direction:column;gap:var(--space-xs);padding:0 2px;margin-bottom:4px}.panel-header-row{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:24px}.panel-header-title{font-size:11px;text-transform:uppercase;color:var(--color-text-secondary);font-weight:600;letter-spacing:.05em;padding-left:2px}.panel-mode-toggle{display:flex;gap:2px}.panel-header-add-button{display:flex;justify-content:center;width:100%}button.add-button-centered{width:100%;height:24px;border-radius:var(--radius-sm);display:flex;justify-content:center;align-items:center}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xs)}.panel-title{font-weight:700}.panel-item.preview{padding:4px;justify-content:center;min-height:auto;width:fit-content}.panel-item-thumb.preview{margin-left:0;width:80px;height:60px;border:none}.context-menu-overlay{position:fixed;inset:0;z-index:9998}.context-menu-content{position:fixed;background:var(--color-bg-panel);border:1.5px solid var(--color-border-dark);border-radius:8px;padding:6px;min-width:180px;box-shadow:var(--shadow-xl);z-index:9999;display:flex;flex-direction:column;gap:4px}.context-menu-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--color-text-primary);transition:background-color .2s}.context-menu-item:hover{background-color:var(--color-bg-hover)}.context-menu-item.danger{color:#ff4d4d}.context-menu-item.danger:hover{background-color:#ff4d4d1a}.editable-label-container{display:flex;align-items:center;gap:var(--space-md);min-width:0}.editable-label-input{flex:1;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);border:1px solid var(--color-primary);outline:none;min-width:0;height:34px;box-sizing:border-box;font-family:inherit;font-size:inherit}.editable-label-text{flex:1;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;height:34px;box-sizing:border-box;display:flex;align-items:center;cursor:text}.slates-panel-container{position:absolute;left:0;top:50px;bottom:115px;pointer-events:none;display:flex;flex-direction:column;gap:var(--space-xs);align-items:flex-start}.slates-panel-container .panel-container{border-top-left-radius:0;border-bottom-left-radius:0;flex:0 1 auto;min-height:0;max-height:calc(50% - var(--space-xs));height:auto;position:relative}.slates-panel-container.column-layout{flex-direction:column}.panel-actions-grid{position:absolute;top:0;left:100%;margin-left:8px;width:max-content;z-index:100;background:var(--color-bg-panel);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:0 4px 12px #0003;display:flex;flex-direction:column;gap:12px;padding:8px;box-sizing:border-box}.panel-actions-group{display:flex;flex-direction:column;gap:4px}.panel-actions-label{font-size:10px;text-transform:uppercase;color:var(--color-text-muted);font-weight:600;letter-spacing:.5px;margin-left:4px}.panel-actions-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.panel-actions-divider{height:1px;background-color:var(--color-border-light);width:100%;margin:4px 0}.confirm-modal-overlay{position:fixed;inset:0;background:var(--color-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);pointer-events:auto}.confirm-modal{background:var(--color-bg-panel);border-radius:var(--panel-radius);width:400px;max-width:90vw;display:flex;flex-direction:column;box-shadow:var(--panel-shadow);border:1px solid var(--color-border);animation:modal-pop .2s ease-out}@keyframes modal-pop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.confirm-modal-header{padding:var(--space-md);border-bottom:1px solid var(--color-border);font-weight:600;display:flex;justify-content:space-between;align-items:center}.confirm-modal-body{padding:var(--space-lg);color:var(--color-text-secondary);line-height:1.5}.confirm-modal-footer{padding:var(--space-md);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:var(--space-sm);background:var(--color-bg-secondary);border-bottom-left-radius:var(--panel-radius);border-bottom-right-radius:var(--panel-radius)}.material-modal-overlay{position:fixed;inset:0;background:var(--color-overlay);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;pointer-events:auto}.material-modal{--color-primary: #f97316;--color-primary-hover: #ea580c;background:var(--color-bg-panel);border-radius:var(--panel-radius);box-shadow:var(--shadow-lg);width:90%;max-width:600px;height:80vh;max-height:80vh;display:flex;flex-direction:column;animation:modal-in .2s ease-out}@keyframes modal-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.material-modal-header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.material-modal-header strong{font-size:var(--panel-title-size);color:var(--color-text-main)}.material-grid{padding:var(--space-lg);display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-auto-rows:max-content;gap:var(--space-md);overflow-y:auto;flex:1;min-height:0;align-content:start}.material-item{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:all var(--transition-fast);background:var(--color-bg-panel);display:flex;flex-direction:column;height:max-content}.material-item:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.material-item.selected{outline:2px solid var(--color-primary);border-color:var(--color-primary)}.material-ghost-item{border-style:dashed;border-width:2px;background:var(--color-bg-secondary);align-items:center;justify-content:center;color:var(--color-text-tertiary);aspect-ratio:1;gap:var(--space-xs)}.material-ghost-item:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-bg-hover)}.material-preview{width:100%;aspect-ratio:1;background:var(--color-bg-tertiary);display:flex;align-items:center;justify-content:center;overflow:hidden}.material-preview img{width:100%;height:100%;object-fit:cover}.material-ghost-item .material-preview{background:transparent;width:auto;height:auto;aspect-ratio:auto;margin-bottom:var(--space-xs)}.material-info{padding:var(--space-sm);display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--color-border-light);background:var(--color-bg-secondary);font-size:var(--font-size-sm)}.material-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px;color:var(--color-text-secondary)}.material-delete-btn{color:var(--color-text-muted);padding:2px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.material-delete-btn:hover{color:var(--color-danger);background:#dc35451a}.material-empty{grid-column:1 / -1;text-align:center;padding:var(--space-xl);color:var(--color-text-muted);font-style:italic}.material-modal-footer{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:var(--space-md);background:var(--color-bg-secondary);border-bottom-left-radius:var(--panel-radius);border-bottom-right-radius:var(--panel-radius)}.layer-panel{--color-primary: #f97316;--color-primary-hover: #ea580c;--color-primary-active: #c2410c;--color-primary-light: #fdba74;--color-bg-panel-hover: #fff7ed}.timeline-panel-container.panel-container{position:absolute;right:0;top:50px;border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0;max-height:40vh;height:fit-content}.timeline-items-container{display:flex;flex-direction:column;gap:0;width:100%;overflow-y:auto;flex:1;min-height:0}.timeline-bookmark-wrapper{margin-bottom:var(--space-xs);touch-action:none;width:100%}.timeline-item.panel-item{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:var(--space-sm);height:auto;min-height:auto;cursor:pointer}.timeline-item.disabled{opacity:.6;pointer-events:none}.timeline-item-header{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:var(--space-xs);gap:4px}.timeline-drag-handle{cursor:grab;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;padding:2px;flex-shrink:0}.timeline-drag-handle:active{cursor:grabbing}.timeline-item-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.timeline-item-details{display:flex;gap:var(--space-sm);width:100%}.timeline-input-group{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.timeline-input-group label{font-size:10px;color:var(--color-text-secondary)}.timeline-input-group input{width:100%;padding:4px;border:1px solid var(--color-border);border-radius:4px;font-size:11px;background:var(--color-bg-panel);box-sizing:border-box}.timeline-interval{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;padding:0;position:relative;height:32px}.timeline-interval-line{width:1px;height:50%;background:var(--color-border);flex:1}.timeline-interval-content{display:flex;align-items:center;gap:4px;padding:2px 6px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:12px;font-size:10px;z-index:1}.timeline-interval-icon{color:var(--color-text-secondary)}.timeline-interval-input{width:40px;background:transparent;border:none;font-size:10px;text-align:right;padding:0;color:var(--color-text-main)}.timeline-interval-input:focus{outline:none}.timeline-interval-unit{color:var(--color-text-secondary)}.ui-overlay-container{position:absolute;inset:0;pointer-events:none;z-index:var(--z-overlay);display:flex;flex-direction:column;justify-content:space-between}.ui-top-bar{display:flex;padding:0;gap:var(--space-sm)}.global-cursor-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999}.global-cursor-ring{position:absolute;top:0;left:0;width:var(--cursor-size);height:var(--cursor-size);border:var(--cursor-border-width) solid var(--cursor-color);border-radius:50%;transform-origin:center;box-sizing:border-box;margin-top:var(--cursor-offset);margin-left:var(--cursor-offset);box-shadow:0 0 0 1px #ffffff80,inset 0 0 0 1px #ffffff80;pointer-events:none}.ui-header-combined{display:flex;align-items:center;background:var(--color-bg-panel);padding:var(--space-sm) var(--space-md);border-radius:0 0 var(--panel-radius) 0;-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);box-shadow:var(--panel-shadow);pointer-events:auto;gap:var(--space-md);z-index:100}.ui-title-section{display:flex;align-items:center;gap:var(--space-md);padding-left:var(--space-md);font-family:sans-serif;color:var(--color-text-main)}.ui-header-divider{width:1px;height:20px;background:var(--color-border);margin:0 var(--space-xs)}.ui-project-name{opacity:.7;font-weight:400}.ui-project-actions{display:flex;gap:4px}.ui-bottom-bar{display:flex;justify-content:center;padding-bottom:var(--space-xxl);pointer-events:none}.ui-toolbar{display:flex;gap:var(--space-md);background:var(--color-bg-panel);padding:var(--space-md);border-radius:var(--panel-radius);box-shadow:var(--panel-shadow);pointer-events:auto;align-items:center;position:relative;z-index:var(--z-toolbar)}.ui-divider{width:1px;background:var(--color-border-light);margin:0 var(--space-xs);height:24px}.ui-color-picker{display:flex;gap:var(--space-sm);align-items:center}.color-button{width:24px;height:24px;border-radius:var(--radius-round);border:2px solid white;box-shadow:0 0 0 1px var(--color-border);cursor:pointer;transition:all var(--transition-fast)}.stats-top-right{position:absolute!important;top:0!important;left:auto!important;right:125px!important;z-index:1000!important}.ui-bottom-left-area{position:absolute;bottom:0;left:0;display:flex;flex-direction:column;align-items:flex-start;gap:0;z-index:var(--z-toolbar);pointer-events:none;padding:0}.ui-bottom-left-row{display:flex;align-items:flex-end;gap:0}.ui-bottom-left-controls{display:flex;gap:var(--space-md);background:var(--color-bg-panel);padding:var(--space-sm);border-radius:var(--panel-radius);box-shadow:var(--panel-shadow);pointer-events:auto;align-items:center}.ui-bottom-left-area>.ui-bottom-left-row:first-child>.ui-bottom-left-controls{border-top-left-radius:0;border-bottom-left-radius:0}.ui-bottom-left-area>.ui-bottom-left-row:last-child>.ui-bottom-left-controls{border-top-left-radius:0;border-bottom-left-radius:0}.ui-bottom-left-area>.ui-bottom-left-row:last-child>.ui-bottom-left-controls:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:var(--panel-radius)}.ui-bottom-left-settings-bar{position:relative;pointer-events:auto;display:flex;align-items:flex-end}.ui-overlay-container.projection-active .slates-panel-container,.ui-overlay-container.projection-active .timeline-panel,.ui-overlay-container.projection-active .ui-top-bar,.ui-overlay-container.projection-active .ui-bottom-left-area,.ui-overlay-container.projection-active .top-right-controls{display:none!important}.ui-overlay-container.projection-active .projection-helper-panel{pointer-events:auto;opacity:1;filter:none}.brush-panel-container{position:relative;display:flex;align-items:center}.toolbox-split-group{display:flex;align-items:center}.toolbox-split-group>*:first-child{border-right:none}.brush-trigger{width:30px;height:30px;border-radius:50%;border:2px solid white;box-shadow:0 0 0 1px var(--color-border);cursor:pointer;position:relative;overflow:hidden;transition:transform .2s}.brush-trigger:hover{transform:scale(1.1);box-shadow:0 0 0 1px var(--color-primary)}.brush-trigger-preview{width:100%;height:100%;position:relative}.brush-trigger-grid{position:absolute;inset:0;background-image:conic-gradient(#808080 .25turn,transparent .25turn .5turn,#808080 .5turn .75turn,transparent .75turn);background-size:8px 8px;background-color:#fff}.brush-trigger-color{position:absolute;inset:0}.brush-panel-popover{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:16px;background:#fff;border-radius:12px;padding:16px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;gap:16px;width:fit-content;z-index:1000;cursor:default;font-family:inherit}.brush-settings-popover{width:280px}.brush-panel-popover:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:8px;border-style:solid;border-color:white transparent transparent transparent}.brush-size-control{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px solid #eee;width:100%}.brush-size-header{display:flex;justify-content:space-between;font-size:12px;color:#666;font-weight:500;font-family:inherit}.brush-size-value{color:var(--color-primary);font-weight:700}.brush-size-slider{width:100%;height:4px;background:#eee;border-radius:2px;appearance:none;outline:none}.brush-size-slider::-webkit-slider-thumb{appearance:none;width:16px;height:16px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:2px solid white;box-shadow:0 2px 4px #0000001a}.brush-settings-content{display:flex;flex-direction:column;gap:16px}.brush-settings-tabs{display:flex;gap:8px;padding-top:16px;border-top:1px solid #eee;justify-content:center;flex-wrap:wrap}.brush-settings-tab{width:32px;height:32px;border-radius:8px;border:1px solid transparent;background:transparent;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.brush-settings-tab:hover{background:#f5f5f5;color:#333}.brush-settings-tab.active{background:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-primary-light)}.tool-settings-bar{display:flex;align-items:center;gap:8px;background:var(--color-bg-panel);padding:8px 12px;border-top-left-radius:0;border-top-right-radius:var(--panel-radius);border-bottom-left-radius:0;border-bottom-right-radius:0;box-shadow:var(--panel-shadow);height:100%;pointer-events:auto}.tool-setting-item{display:flex;align-items:center;gap:8px}.tool-setting-label{font-size:12px;color:var(--color-text-secondary);font-weight:500}.tool-setting-value{font-size:12px;color:var(--color-primary);font-weight:700;min-width:24px;text-align:right}.tool-setting-slider{height:4px;background:var(--color-border);border-radius:2px;appearance:none;outline:none}.tool-setting-slider::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:2px solid white;box-shadow:0 1px 3px #0000001a}.tool-setting-divider{width:1px;height:16px;background:var(--color-border);margin:0 4px}.tool-settings-toggle-group{display:flex;align-items:center;gap:0}.tool-settings-toggle-group .icon-button{border-radius:0}.tool-settings-toggle-group .icon-button:first-child{border-top-left-radius:var(--btn-radius);border-bottom-left-radius:var(--btn-radius)}.tool-settings-toggle-group .icon-button:last-child{border-top-right-radius:var(--btn-radius);border-bottom-right-radius:var(--btn-radius)}.tool-settings-toggle-group .icon-button:not(:first-child){border-left:none}.tool-settings-column{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.tool-settings-row{display:flex;align-items:center;gap:8px}.toast-container{position:fixed;top:24px;left:50%;transform:translate(-50%);z-index:2000;pointer-events:none;display:flex;justify-content:center}.toast{background:var(--color-bg-panel);color:var(--color-text-main);padding:12px 24px;border-radius:24px;box-shadow:0 4px 12px #0003;display:flex;align-items:center;gap:12px;pointer-events:auto;animation:toast-slide-up .3s cubic-bezier(.16,1,.3,1);border:1px solid var(--color-border)}.toast.success{border-left:4px solid var(--color-success)}.toast.error{border-left:4px solid var(--color-danger)}.toast.info{border-left:4px solid var(--color-primary)}.toast-message{font-size:14px;font-weight:500}@keyframes toast-slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.project-manager-loading{display:flex;justify-content:center;align-items:center;height:100vh;background:var(--color-bg-panel)}.project-manager-container{display:flex;flex-direction:column;align-items:center;height:100vh;background:var(--color-bg-panel);padding:40px;box-sizing:border-box}.project-manager-title{margin-bottom:30px}.project-list-card{width:100%;max-width:600px;background:var(--color-bg-panel);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:20px}.project-list-header{display:flex;justify-content:space-between;margin-bottom:20px;align-items:center}.project-list-header h2{margin:0}.project-create-form{margin-bottom:20px;display:flex;gap:10px}.project-create-input{flex:1;padding:var(--space-md);border-radius:var(--space-xs);border:1px solid var(--color-border-dark)}.project-list-empty{padding:20px;text-align:center;color:var(--color-text-muted)}.project-list{list-style:none;padding:0;margin:0}.project-list-item{border-bottom:1px solid var(--color-border-light);padding:15px 0;display:flex;justify-content:space-between;align-items:center}.project-info-name{font-weight:700;font-size:1.1em}.project-info-date{font-size:.8em;color:var(--color-text-muted)}.project-actions{display:flex;gap:10px}.app-canvas{background:var(--color-bg-app);position:absolute;top:0;left:0;z-index:0}.fps-stats{top:auto!important;bottom:0!important;left:0!important}
