.app{width:100vw;height:100vh;display:flex;flex-direction:column;background-color:#1e1e22;position:relative;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;transition:background-color .3s ease;overflow:hidden;margin:0;padding:0;border:none}.top-bar{position:fixed;top:0;left:0;right:0;height:60px;background:#2a2a2af2;border-bottom:1px solid rgba(102,179,255,.2);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);display:flex;align-items:center;justify-content:space-between;padding:0 24px;z-index:1000;transition:all .3s ease}.top-bar-left{display:flex;align-items:center}.brand-logo{display:flex;align-items:center;gap:12px;padding:8px 16px;background:linear-gradient(135deg,#0abab5,#4ecdc4);border-radius:4px;cursor:pointer;transition:all .3s ease;border:none;font:inherit}.letter-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.letter-popup{background:#fff;padding:32px;border-radius:8px;box-shadow:0 8px 32px #0003;max-width:400px;width:90%;animation:slideIn .3s ease}.letter-content{text-align:center;font-size:18px;line-height:1.6;color:#333}.letter-content p{margin:0 0 16px}.letter-content p:last-child{margin-bottom:0;font-style:italic;color:#666}.inspiration-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.inspiration-popup{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;max-width:600px;width:90%;max-height:80vh;display:flex;flex-direction:column;animation:slideIn .3s ease}.inspiration-popup-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid #e0e0e0;background:#f5f5f5;border-radius:12px 12px 0 0}.header-actions{display:flex;align-items:center;gap:8px}.clear-btn{padding:6px 12px;border:1px solid #e0e0e0;border-radius:4px;background:#f5f5f5;color:#666;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s ease}.clear-btn:hover{background:#e0e0e0;color:#333;border-color:#ccc}.clear-btn:active{transform:translateY(1px)}.inspiration-popup-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.inspiration-popup-close{width:32px;height:32px;border:none;border-radius:4px;background:transparent;color:#666;cursor:pointer;font-size:24px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.inspiration-popup-close:hover{background:#e0e0e0;color:#333}.inspiration-popup-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-messages{flex:1;padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.chat-message{max-width:80%;animation:fadeIn .3s ease}.user-message{align-self:flex-end}.ai-message{align-self:flex-start}.message-content{padding:12px 16px;border-radius:16px;line-height:1.4}.user-message .message-content{background:#0abab5;color:#fff;border-bottom-right-radius:4px}.ai-message .message-content{background:#f1f1f1;color:#333;border-bottom-left-radius:4px}.ai-message.loading .message-content{background:#e0e0e0;color:#666}.loading-indicator{display:flex;align-items:center;margin-top:8px}.loading-dot{width:8px;height:8px;border-radius:50%;background-color:#0abab5;margin:0 2px;animation:loading-bounce 1.4s infinite ease-in-out both}.loading-dot:nth-child(1){animation-delay:-.32s}.loading-dot:nth-child(2){animation-delay:-.16s}@keyframes loading-bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.error-message .message-content{background:#ffebee;color:#c62828;border-bottom-left-radius:4px}.chat-input-area{display:flex;gap:8px;padding:16px 24px;border-top:1px solid #e0e0e0;background:#f5f5f5;border-radius:0 0 12px 12px}.chat-input{flex:1;padding:12px 16px;border:1px solid #e0e0e0;border-radius:24px;font-size:14px;outline:none;transition:all .2s ease}.chat-input:focus{border-color:#0abab5;box-shadow:0 0 0 2px #0abab51a}.chat-send-btn{padding:12px 24px;border:none;border-radius:24px;background:#0abab5;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.chat-send-btn:hover{background:#08a09b;transform:translateY(-1px);box-shadow:0 4px 12px #0abab54d}.chat-send-btn:active{transform:translateY(0)}.app.light-theme .inspiration-popup{background:#fff;box-shadow:0 8px 32px #7d9d8c33}.app.light-theme .inspiration-popup-header{background:#a8c1b21a;border-bottom:1px solid rgba(125,157,140,.2)}.app.light-theme .inspiration-popup-header h3{color:#7d9d8c}.app.light-theme .clear-btn{background:#a8c1b233;border-color:#7d9d8c4d;color:#7d9d8c}.app.light-theme .clear-btn:hover{background:#7d9d8c4d;border-color:#7d9d8c;color:#3a3a38}.app.light-theme .inspiration-popup-close{color:#7d9d8c}.app.light-theme .inspiration-popup-close:hover{background:#7d9d8c33;color:#3a3a38}.app.light-theme .user-message .message-content{background:#7d9d8c;color:#fff}.app.light-theme .ai-message .message-content{background:#a8c1b21a;color:#3a3a38;border:1px solid rgba(125,157,140,.2)}.app.light-theme .ai-message.loading .message-content{background:#a8c1b233;color:#7d9d8c}.app.light-theme .loading-dot{background-color:#7d9d8c}.app.light-theme .chat-input-area{background:#a8c1b21a;border-top:1px solid rgba(125,157,140,.2)}.app.light-theme .chat-input{border-color:#7d9d8c4d;background:#fff;color:#3a3a38}.app.light-theme .chat-input:focus{border-color:#7d9d8c;box-shadow:0 0 0 2px #7d9d8c1a}.app.light-theme .chat-send-btn{background:#7d9d8c;color:#fff}.app.light-theme .chat-send-btn:hover{background:#6b8a78;box-shadow:0 4px 12px #7d9d8c4d}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.app.dark-theme .letter-popup{background:#252525;color:#fff}.app.dark-theme .letter-content{color:#fff}.app.dark-theme .letter-content p:last-child{color:#aaa}.app.dark-theme .inspiration-popup{background:#252525;box-shadow:0 8px 32px #00000080}.app.dark-theme .inspiration-popup-header{background:#333;border-bottom-color:#444}.app.dark-theme .inspiration-popup-header h3{color:#fff}.app.dark-theme .inspiration-popup-close{color:#aaa}.app.dark-theme .inspiration-popup-close:hover{background:#444;color:#fff}.app.dark-theme .clear-btn{background:#333;border-color:#555;color:#aaa}.app.dark-theme .clear-btn:hover{background:#444;color:#fff;border-color:#666}.app.dark-theme .chat-messages{background:#252525}.app.dark-theme .user-message .message-content{background:#0abab5;color:#fff}.app.dark-theme .ai-message .message-content{background:#333;color:#e0e0e0}.app.dark-theme .ai-message.loading .message-content{background:#444;color:#aaa}.app.dark-theme .error-message .message-content{background:#4e2c2c;color:#ffcdd2}.app.dark-theme .chat-input-area{background:#333;border-top-color:#444}.app.dark-theme .chat-input{background:#444;border-color:#555;color:#fff}.app.dark-theme .chat-input:focus{border-color:#0abab5;box-shadow:0 0 0 2px #0abab533}.app.dark-theme .chat-send-btn{background:#0abab5;color:#fff}.app.dark-theme .chat-send-btn:hover{background:#08a09b}@media (max-width: 768px){.inspiration-popup{width:95%;max-height:90vh}.inspiration-popup-header{padding:12px 16px}.chat-messages{padding:16px;gap:12px}.chat-input-area{padding:12px 16px}.chat-message{max-width:90%}}@media (max-width: 480px){.inspiration-popup{width:100%;height:100%;max-height:100%;border-radius:0}.inspiration-popup-header,.chat-input-area{border-radius:0}}.brand-logo:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0abab54d}.logo-icon{font-size:20px}.logo-text{font-size:18px;font-weight:700;color:#fff;letter-spacing:1px}.top-bar-center{display:flex;align-items:center}.theme-switcher-group{display:flex;gap:8px;background:#3a3a3ae6;border-radius:24px;padding:4px}.theme-switcher-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;border:none;border-radius:20px;background:transparent;color:#fff;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease}.theme-switcher-btn:hover{background:#66666680}.theme-switcher-btn.active{background:linear-gradient(135deg,#0abab5,#4ecdc4);color:#fff;box-shadow:0 2px 8px #0abab54d}.top-bar-right{display:flex;align-items:center}.quick-actions{display:flex;gap:12px}.quick-action-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid rgba(102,179,255,.2);border-radius:20px;background:#3a3a3ae6;color:#fff;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease}.quick-action-btn:hover{background:#4a4a4af2;transform:translateY(-2px);box-shadow:0 4px 12px #0abab533;border-color:#0abab580}.main-content{flex:1;display:flex;flex-direction:column;margin-top:60px;margin-bottom:40px;height:calc(100vh - 100px);position:relative}.left-sidebar{position:fixed;top:60px;left:0;width:240px;height:calc(100vh - 100px);background:#2a2a2af2;border-right:1px solid rgba(10,186,181,.2);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);transition:all .3s ease;z-index:999;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.left-sidebar .sidebar-content{padding:20px;flex:1;overflow-y:auto;box-sizing:border-box}.left-sidebar.collapsed{width:60px}.right-sidebar{position:fixed;top:60px;right:0;width:260px;height:calc(100vh - 100px);background:#2a2a2af2;border-left:1px solid rgba(10,186,181,.2);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);transition:all .3s ease;z-index:999;overflow-y:auto}.right-sidebar.collapsed{width:60px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(10,186,181,.1);background:#3a3a3af2}.sidebar-title{margin:0;font-size:16px;font-weight:600;color:#fff;transition:all .3s ease}.sidebar-toggle-btn{width:24px;height:24px;border:none;border-radius:4px;background:#0abab533;color:#fff;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.sidebar-toggle-btn:hover{background:#0abab566;transform:scale(1.1)}.sidebar-content{padding:20px}.sidebar-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;min-height:300px}.empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.6}.sidebar-empty-state h4{margin:0 0 12px;font-size:16px;font-weight:600;color:#fff}.sidebar-empty-state p{margin:0 0 16px;font-size:14px;color:#ffffffb3;line-height:1.4}.empty-state-hint{font-size:12px;color:#ffffff80}.app.light-theme .sidebar-empty-state h4{color:#3a3a38}.app.light-theme .sidebar-empty-state p{color:#3a3a3ab3}.app.light-theme .empty-state-hint{color:#3a3a3a80}.operation-buttons{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.view-control-buttons{display:flex;gap:8px;margin-bottom:16px}.view-control-btn{flex:1;height:44px;border:1px solid rgba(10,186,181,.2);border-radius:8px;background:#3a3a3ae6;color:#fff;cursor:pointer;font-size:12px;font-weight:500;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.view-control-btn:hover{background:#4a4a4af2;transform:translateY(-2px);box-shadow:0 4px 12px #0abab533;border-color:#0abab580}.view-control-btn.active{background:linear-gradient(135deg,#0abab5,#4ecdc4);color:#fff;box-shadow:0 4px 16px #0abab566;border-color:#0abab5cc}.property-panel-toggle-section{margin-bottom:16px}.property-edit-section{margin-top:24px;position:static;z-index:1;overflow:hidden;width:100%;box-sizing:border-box}.property-panel-container{background:transparent;border:none;box-shadow:none;margin:8px 0 16px;padding:0;position:static;width:100%;overflow:visible;transition:all .3s ease;opacity:1}.property-panel-container.expanded{opacity:1;margin:8px 0 16px}.property-panel-container.expanded .property-panel-content{overflow:visible}.property-panel-container.collapsed{opacity:1;margin:8px 0 16px}.property-panel-container.collapsed .property-panel-content{overflow:visible}.property-panel-container.collapsed .property-panel-empty{padding:8px 12px;margin:0}.property-panel-container.collapsed .property-panel-empty p{margin:0;font-size:12px;color:#fff9}.property-panel-embedded{background:transparent;border:none;box-shadow:none;margin:0;padding:0;position:static!important;width:100%!important;min-width:0!important;max-width:none!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;z-index:1!important;box-sizing:border-box!important;display:block!important;cursor:default!important;resize:none!important}.property-panel-embedded .property-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#3a3a3ae6;border-radius:8px;margin-bottom:8px;box-sizing:border-box;width:100%}.property-panel-embedded .property-panel-content{background:#2a2a2ae6;border-radius:8px;padding:12px;overflow-y:visible;box-sizing:border-box;width:100%;min-height:100px}.property-panel-embedded *{box-sizing:border-box;max-width:100%}.property-button{flex:1;padding:8px 12px;border:1px solid rgba(10,186,181,.2);border-radius:4px;background:#3a3a3ae6;color:#fff;font-size:12px;cursor:pointer;transition:all .3s ease;box-sizing:border-box}.property-color-control input[type=color]{width:40px;height:30px;border:none;border-radius:4px;cursor:pointer;box-sizing:border-box}.property-color-control .color-value{font-size:11px;color:#fffc;flex:1;min-width:80px;box-sizing:border-box}.operation-btn{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid rgba(10,186,181,.2);border-radius:12px;background:#3a3a3ae6;color:#fff;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease}.operation-btn:hover{background:#4a4a4af2;transform:translateY(-2px);box-shadow:0 4px 12px #0abab533;border-color:#0abab580}.operation-btn.active{background:linear-gradient(135deg,#0abab5,#4ecdc4);color:#fff;box-shadow:0 4px 16px #0abab566;border-color:#0abab5cc}.tool-categories{margin-bottom:32px}.tool-category{margin-bottom:24px}.category-title{margin:0 0 12px;font-size:12px;font-weight:600;color:#0abab5cc;text-transform:uppercase;letter-spacing:.5px}.category-content{display:flex;flex-direction:column;gap:8px}.category-btn{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid transparent;border-radius:8px;background:#3a3a3ae6;color:#fff;cursor:pointer;font-size:13px;font-weight:500;transition:all .3s ease}.category-btn:hover{background:#4a4a4af2;transform:translateY(-1px);box-shadow:0 2px 8px #0abab533;border-color:#0abab54d}.sidebar-footer{display:flex;justify-content:center;gap:16px;padding:20px;border-top:1px solid rgba(10,186,181,.1);margin-top:auto}.footer-btn{width:40px;height:40px;border:1px solid rgba(10,186,181,.2);border-radius:8px;background:#3a3a3ae6;color:#fff;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.footer-btn:hover{background:#4a4a4af2;transform:translateY(-2px);box-shadow:0 4px 12px #0abab533;border-color:#0abab580}.design-mode-section{margin-bottom:16px}.section-title{margin:0 0 12px;font-size:12px;font-weight:600;color:#66b3ffcc;text-transform:uppercase;letter-spacing:.5px}.mode-buttons{display:flex;flex-direction:column;gap:8px}.mode-btn{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid rgba(10,186,181,.2);border-radius:8px;background:#3a3a3ae6;color:#fff;cursor:pointer;font-size:13px;font-weight:500;transition:all .3s ease;width:100%}.mode-btn:hover{background:#4a4a4af2;transform:translateY(-1px);box-shadow:0 2px 8px #0abab533;border-color:#0abab580}.mode-btn.active{background:linear-gradient(135deg,#0abab5,#4ecdc4);color:#fff;box-shadow:0 4px 12px #0abab566;border-color:#0abab5cc}.block-library-section{margin-bottom:16px}.geometry-panel{background:transparent;border:none;box-shadow:none;margin:0;padding:0;position:static;width:100%;z-index:1;transform:translate(-8px)}.property-panel-empty{display:flex;align-items:center;justify-content:center;height:200px;text-align:center;color:#ccccccb3;font-style:italic}.property-panel-empty p{margin:0;font-size:14px}.property-item{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.property-item label{font-size:12px;color:#fffc}.property-control{display:flex;flex-direction:column;gap:6px}.property-control input[type=number]{width:100%;padding:6px 8px;border:1px solid rgba(10,186,181,.2);border-radius:4px;background:#3a3a3ae6;color:#fff;font-size:12px;box-sizing:border-box}.property-control input[type=range]{width:100%;box-sizing:border-box}.property-color-control{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.property-color-control input[type=color]{width:40px;height:30px;border:none;border-radius:4px;cursor:pointer}.property-color-control .color-value{font-size:11px;color:#fffc;flex:1;min-width:80px}.property-checkbox{display:flex;align-items:center;gap:8px;margin-bottom:12px}.property-checkbox input[type=checkbox]{width:14px;height:14px}.property-checkbox label{font-size:12px;color:#fffc}.property-actions{display:flex;gap:8px;margin-top:12px}.property-button{flex:1;padding:8px 12px;border:1px solid rgba(10,186,181,.2);border-radius:4px;background:#3a3a3ae6;color:#fff;font-size:12px;cursor:pointer;transition:all .3s ease}.property-button:hover{background:#4a4a4af2;border-color:#0abab580}.property-group{margin-bottom:16px}.property-group-title{font-size:12px;font-weight:600;color:#0abab5cc;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.property-panel-embedded select{width:100%;padding:6px 8px;border:1px solid rgba(10,186,181,.2);border-radius:4px;background:#3a3a3ae6;color:#fff;font-size:12px;box-sizing:border-box;cursor:pointer}.property-panel-fixed{position:fixed;top:50%;right:20px;transform:translateY(-50%);width:320px;max-height:80vh;background:#2a2a2af2;border-radius:12px;box-shadow:0 8px 32px #0006;z-index:1000;overflow:hidden;display:flex;flex-direction:column}.property-panel-fixed-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#3a3a3ae6;border-bottom:1px solid rgba(255,255,255,.1)}.property-panel-fixed-header h3{margin:0;font-size:16px;font-weight:600;color:#fff}.property-panel-fixed-close{background:none;border:none;color:#fff9;font-size:24px;cursor:pointer;padding:0;line-height:1;transition:color .2s ease}.property-panel-fixed-close:hover{color:#fff}.property-panel-fixed-content{flex:1;overflow-y:auto;padding:16px;max-height:calc(80vh - 60px)}.app.dark-theme .property-panel-fixed{background:#1e1e1ef2;box-shadow:0 8px 32px #00000080}.app.dark-theme .property-panel-fixed-header{background:#323232e6;border-bottom-color:#ffffff26}.app.dark-theme .property-panel-fixed-header h3{color:#fff}.app.dark-theme .property-panel-fixed-close{color:#fff9}.app.dark-theme .property-panel-fixed-close:hover{color:#fff}.app.light-theme .property-panel-fixed{background:#fffffffa;box-shadow:0 8px 32px #00000026}.app.light-theme .property-panel-fixed-header{background:#f5f5f5fa;border-bottom-color:#0000001a}.app.light-theme .property-panel-fixed-header h3{color:#333}.app.light-theme .property-panel-fixed-close{color:#00000080}.app.light-theme .property-panel-fixed-close:hover{color:#333}@media (max-width: 768px){.property-panel-fixed{width:280px;right:10px;max-height:70vh}.property-panel-fixed-content{max-height:calc(70vh - 60px);padding:12px}}@media (max-width: 480px){.property-panel-fixed{width:calc(100% - 20px);right:10px;left:10px;top:auto;bottom:20px;transform:none;max-height:50vh}.property-panel-fixed-content{max-height:calc(50vh - 60px);padding:12px}}.geometry-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#3a3a3ae6;border-radius:8px;cursor:pointer;transition:all .3s ease;margin-bottom:6px}.geometry-panel-header:hover{background:#4a4a4af2}.geometry-panel-header h3{margin:0;font-size:12px;font-weight:600;color:#fff}.toggle-icon{font-size:12px;transition:transform .3s ease;color:#fff}.toggle-icon.collapsed{transform:rotate(0)}.geometry-panel-content{padding:10px;background:#3a3a3a80;border-radius:8px;margin-bottom:12px}.geometry-panel.collapsed .geometry-panel-content{display:none}.block-type-button{width:100%;padding:8px 12px;background:#4a4a4ae6;border:1px solid rgba(10,186,181,.2);border-radius:8px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;transition:all .3s ease;display:flex;align-items:center;gap:8px;margin-bottom:6px}.block-type-button:hover{background:#666666f2;transform:translateY(-1px);box-shadow:0 2px 8px #0abab533;border-color:#0abab580}.block-type-button:active{transform:translateY(0);box-shadow:0 1px 4px #0abab533}.app.light-theme .geometry-panel-header{background:#eae8e3e6}.app.light-theme .geometry-panel-header h3,.app.light-theme .toggle-icon{color:#3a3a38}.app.light-theme .geometry-panel-content{background:#eae8e380}.app.light-theme .block-type-button{background:#eae8e3e6;border:1px solid rgba(125,157,140,.2);color:#3a3a38}.app.light-theme .block-type-button:hover{background:#a8c1b280;border-color:#7d9d8c80}.app.light-theme .block-type-button:active{background:#eae8e3e6}.app.light-theme .block-type-button.active{background:linear-gradient(135deg,#7d9377,#9cb28a);color:#fff;box-shadow:0 4px 16px #7d937766;border-color:#7d9377cc}.app.light-theme .block-type-button:disabled{background:#eae8e380;color:#6b6b69;border-color:#7d9d8c1a}.snapshot-section{margin-bottom:16px;max-height:200px;overflow-y:auto}.snapshot-list{display:flex;flex-direction:column;gap:8px}.snapshot-item{padding:10px 14px;border:1px solid rgba(10,186,181,.2);border-radius:8px;background:#3a3a3ae6;color:#fff;cursor:pointer;transition:all .3s ease}.snapshot-item:hover{background:#4a4a4af2;transform:translateY(-1px);box-shadow:0 2px 8px #0abab533;border-color:#0abab580}.snapshot-name{display:block;font-size:13px;font-weight:500;margin-bottom:4px}.snapshot-date{display:block;font-size:11px;color:#ccccccb3}.snapshot-empty{padding:20px;text-align:center;color:#ccccccb3;font-size:13px;font-style:italic}.canvas-area{flex:1;margin-left:240px;margin-right:260px;height:100%;position:relative;transition:all .3s ease;overflow:hidden}.left-sidebar.collapsed~.canvas-area{margin-left:60px}.right-sidebar.collapsed~.canvas-area{margin-right:60px}.left-sidebar.collapsed~.right-sidebar.collapsed~.canvas-area{margin-left:60px;margin-right:60px}.bottom-bar{position:fixed;bottom:0;left:0;right:0;height:40px;background:#2a2a2af2;border-top:1px solid rgba(10,186,181,.2);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);display:flex;align-items:center;justify-content:space-between;padding:0 24px;z-index:999;transition:all .3s ease}.bottom-bar-left{flex:1}.bottom-bar-center{flex:1;text-align:center}.bottom-bar-right{flex:1;text-align:right}.status-message,.canvas-info,.copyright-info{font-size:12px;color:#cccc}.ubiquitous-body-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#2a2a2afa;border:1px solid rgba(10,186,181,.3);border-radius:12px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:0 8px 32px #0006;z-index:1001;min-width:400px;max-width:600px;overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#3a3a3af2;border-bottom:1px solid rgba(10,186,181,.2)}.panel-title{margin:0;font-size:16px;font-weight:600;color:#fff}.panel-close-btn{width:24px;height:24px;border:none;border-radius:4px;background:#ff4500cc;color:#fff;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.panel-close-btn:hover{background:#ff4500;transform:scale(1.1)}.panel-content{padding:24px}.btn-icon{font-size:16px;min-width:20px;display:flex;align-items:center;justify-content:center}.action-icon,.theme-icon{font-size:16px}.btn-text,.action-text,.theme-text{font-size:13px;font-weight:500}@media (max-width: 1200px){.left-sidebar{width:200px}.right-sidebar{width:220px}.canvas-area{margin-left:200px;margin-right:220px}.left-sidebar.collapsed~.canvas-area{margin-left:60px}.right-sidebar.collapsed~.canvas-area{margin-right:60px}}@media (max-width: 768px){.left-sidebar,.right-sidebar{width:60px}.canvas-area{margin-left:60px;margin-right:60px}.top-bar{padding:0 16px}.brand-logo{padding:6px 12px}.logo-text{font-size:14px}.theme-switcher-btn{padding:6px 12px}.theme-text{display:none}.quick-action-btn{padding:6px 12px}.action-text,.bottom-bar{display:none}.main-content{margin-bottom:0;height:calc(100vh - 60px)}.left-sidebar,.right-sidebar{height:calc(100vh - 60px)}}@media (max-width: 480px){.left-sidebar,.right-sidebar{width:60px}.canvas-area{margin-left:60px;margin-right:60px}.top-bar{padding:0 12px}.brand-logo{gap:8px;padding:4px 8px}.logo-icon{font-size:16px}.logo-text{font-size:12px}.quick-actions{gap:4px}.ubiquitous-body-panel{min-width:300px;max-width:90%}.panel-header{padding:12px 16px}.panel-content{padding:16px}}.app.light-theme .top-bar{background:#fffffff2;border-bottom:1px solid rgba(125,157,140,.2)}.app.light-theme .brand-logo{background:linear-gradient(135deg,#7d9d8c,#a8c1b2)}.app.light-theme .logo-text{color:#fff}.app.light-theme .theme-switcher-group{background:#eae8e3e6}.app.light-theme .theme-switcher-btn{color:#3a3a38}.app.light-theme .theme-switcher-btn:hover{background:#a8c1b280}.app.light-theme .theme-switcher-btn.active{background:linear-gradient(135deg,#7d9d8c,#a8c1b2);color:#fff;box-shadow:0 4px 12px #7d9d8c66}.app.light-theme .quick-action-btn{background:#eae8e3e6;border:1px solid rgba(125,157,140,.2);color:#3a3a38}.app.light-theme .quick-action-btn:hover{background:#a8c1b280;border-color:#7d9d8c80}.app.light-theme .left-sidebar,.app.light-theme .right-sidebar{background:#fffffff2;border-color:#7d9d8c33}.app.light-theme .sidebar-header{background:#eae8e3f2;border-bottom:1px solid rgba(125,157,140,.2)}.app.light-theme .sidebar-title{color:#3a3a38}.app.light-theme .sidebar-toggle-btn{background:#7d9d8c33;color:#3a3a38}.app.light-theme .sidebar-toggle-btn:hover{background:#7d9d8c66}.app.light-theme .operation-btn{background:#eae8e3e6;border:1px solid rgba(125,157,140,.2);color:#3a3a38}.app.light-theme .operation-btn:hover{background:#a8c1b280;border-color:#7d9d8c80}.app.light-theme .operation-btn.active{background:linear-gradient(135deg,#7d9d8c,#a8c1b2);color:#fff;box-shadow:0 4px 12px #7d9d8c66;border-color:#7d9d8ccc}.app.light-theme .view-control-btn{background:#eae8e3e6;border:1px solid rgba(125,157,140,.2);color:#3a3a38}.app.light-theme .view-control-btn:hover{background:#a8c1b280;border-color:#7d9d8c80}.app.light-theme .view-control-btn.active{background:linear-gradient(135deg,#7d9d8c,#a8c1b2);color:#fff;box-shadow:0 4px 12px #7d9d8c66;border-color:#7d9d8ccc}.app.light-theme .category-title,.app.light-theme .section-title{color:#7d9d8ccc}.app.light-theme .category-btn{background:#eae8e3e6;border:1px solid rgba(125,157,140,.2);color:#3a3a38}.app.light-theme .category-btn:hover{background:#a8c1b280;border-color:#7d9d8c80}.app.light-theme .footer-btn{background:#eae8e3e6;border:1px solid rgba(125,157,140,.2);color:#3a3a38}.app.light-theme .footer-btn:hover{background:#a8c1b280;border-color:#7d9d8c80}.app.light-theme .mode-btn{background:#eae8e3e6;border:1px solid rgba(125,157,140,.2);color:#3a3a38}.app.light-theme .mode-btn:hover{background:#a8c1b280;border-color:#7d9d8c80}.app.light-theme .mode-btn.active{background:linear-gradient(135deg,#7d9d8c,#a8c1b2);color:#fff;box-shadow:0 4px 12px #7d9d8c66;border-color:#7d9d8ccc}.app.light-theme .snapshot-item{background:#eae8e3e6;border:1px solid rgba(125,157,140,.2);color:#3a3a38}.app.light-theme .snapshot-item:hover{background:#a8c1b280;border-color:#7d9d8c80}.app.light-theme .snapshot-name{color:#3a3a38}.app.light-theme .snapshot-date,.app.light-theme .snapshot-empty{color:#6b6b69b3}.app.light-theme .bottom-bar{background:#fffffff2;border-top:1px solid rgba(125,157,140,.2)}.app.light-theme .status-message,.app.light-theme .canvas-info,.app.light-theme .copyright-info{color:#6b6b69cc}.app.light-theme .ubiquitous-body-panel{background:#fffffffa;border:1px solid rgba(125,157,140,.3)}.app.light-theme .panel-header{background:#eae8e3f2;border-bottom:1px solid rgba(125,157,140,.2)}.app.light-theme .panel-title{color:#3a3a38}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.top-bar,.left-sidebar,.right-sidebar,.bottom-bar{animation:fadeIn .3s ease}.operation-btn,.category-btn,.mode-btn,.quick-action-btn{animation:slideIn .3s ease}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#3a3a3a80;border-radius:4px}::-webkit-scrollbar-thumb{background:#666c;border-radius:4px;transition:all .3s ease}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#0abab5,#4ecdc4)}.app.light-theme ::-webkit-scrollbar-track{background:#eae8e380}.app.light-theme ::-webkit-scrollbar-thumb{background:#a8c1b2cc}.app.light-theme ::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#7d9d8c,#a8c1b2)}.app:-webkit-full-screen{width:100%!important;height:100%!important}.app:-moz-full-screen{width:100%!important;height:100%!important}.app:-ms-fullscreen{width:100%!important;height:100%!important}.app:fullscreen{width:100%!important;height:100%!important}.project-menu-container{position:relative;margin-right:10px}.project-menu-toggle{display:flex;align-items:center;background:var(--secondary-color);border:1px solid var(--border-color);color:var(--text-color);padding:8px 12px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s ease}.project-menu-toggle:hover{background:var(--hover-color)}.project-menu-icon{margin-right:8px}.project-menu-arrow{margin-left:8px;font-size:12px}.project-menu-dropdown{position:absolute;top:100%;right:0;background:var(--secondary-color);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #00000026;min-width:300px;z-index:1000;max-height:400px;overflow-y:auto}.project-menu-section{padding:10px;border-bottom:1px solid var(--border-color)}.project-menu-subtitle{margin:0 0 10px;font-size:14px;color:var(--text-secondary)}.project-menu-action{width:100%;display:flex;align-items:center;background:var(--secondary-color);border:1px solid var(--border-color);color:var(--text-color);padding:8px 12px;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s ease;margin-bottom:5px}.project-menu-action:hover{background:var(--hover-color)}.project-menu-empty{padding:12px;text-align:center;color:var(--text-secondary);font-style:italic}.new-project-button{background:var(--accent-color)!important;color:#fff!important;border:none!important}.new-project-button:hover{background:var(--accent-hover)!important}.project-card{position:relative;background:var(--card-background);border:1px solid var(--border-color);border-radius:6px;padding:12px;margin-bottom:8px;cursor:pointer;transition:all .2s ease;display:flex;justify-content:space-between;align-items:center;overflow:hidden}.project-card:hover{background:var(--hover-color);box-shadow:0 2px 8px #0000001a}.project-card-content{flex:1}.project-name{display:block;font-weight:500;color:var(--text-color);margin-bottom:4px;word-break:break-word}.project-date{display:block;font-size:12px;color:var(--text-secondary)}.project-card-actions{display:none;flex-direction:column;gap:4px;margin-left:8px}.project-card:hover .project-card-actions{display:flex}.project-card-action{background:transparent;border:1px solid var(--border-color);color:var(--text-color);padding:4px 8px;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s ease;display:flex;align-items:center;gap:4px}.project-card-action:hover{background:var(--hover-color)}.delete-btn:hover{color:#f44336;border-color:#f44336}.export-options{display:flex;flex-direction:column;gap:12px}.export-option-btn{background:var(--primary-color);border:1px solid var(--border-color);border-radius:8px;padding:16px;cursor:pointer;display:flex;align-items:center;gap:12px;transition:all .2s ease}.export-option-btn:hover{background:var(--hover-color);box-shadow:0 4px 12px #0000001a;border-color:var(--accent-color);transform:translateY(-2px)}.export-option-icon{font-size:24px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--secondary-color);border-radius:50%;color:var(--accent-color)}.export-option-content{flex:1}.export-option-content h3{margin:0 0 4px;color:var(--text-color);font-size:16px;font-weight:500}.export-option-content p{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.4}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1001}.project-name-modal{background:var(--secondary-color);border:1px solid var(--border-color);border-radius:8px;padding:20px;width:90%;max-width:400px;box-shadow:0 4px 20px #0003}.modal-header{margin-bottom:20px;border-bottom:1px solid var(--border-color);padding-bottom:10px}.modal-header h2{margin:0;color:var(--text-color);font-size:18px;font-weight:500}.modal-content{margin-bottom:20px}.input-group{margin-bottom:15px}.input-group label{display:block;margin-bottom:8px;color:var(--text-color);font-size:14px}.input-group input{width:100%;padding:10px;background:var(--primary-color);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);font-size:14px;box-sizing:border-box}.input-group input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-shadow)}.input-hint{font-size:12px;color:var(--text-secondary);margin-top:4px}.error-message{font-size:12px;color:#f44336;margin-top:4px}.modal-footer{display:flex;justify-content:flex-end;gap:10px}.modal-btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s ease}.cancel-btn{background:var(--secondary-color);border:1px solid var(--border-color);color:var(--text-color)}.cancel-btn:hover{background:var(--hover-color)}.confirm-btn{background:var(--accent-color);color:#fff}.confirm-btn:hover{background:var(--accent-hover)}.delete-btn{background:#f44336;color:#fff}.delete-btn:hover{background:#d32f2f}.delete-confirm-text{color:var(--text-color);line-height:1.5;margin:0;text-align:center}.dark-theme{--primary-color: #1E1E22;--secondary-color: #2C2C34;--hover-color: #3a3a3a;--text-color: #ffffff;--text-secondary: #b0b0b0;--border-color: #404040;--accent-color: #0ABAB5;--accent-hover: #08A09B;--accent-shadow: rgba(10, 186, 181, .3);--card-background: #252525}.light-theme{--primary-color: #ffffff;--secondary-color: #f5f5f5;--hover-color: #e0e0e0;--text-color: #333333;--text-secondary: #666666;--border-color: #e0e0e0;--accent-color: #007acc;--accent-hover: #005fa3;--accent-shadow: rgba(0, 122, 204, .3);--card-background: #ffffff}.app.light-theme{background-color:#faf7f2;transition:background-color .3s ease}.app.dark-theme{background-color:#e3f2fd;transition:background-color .3s ease}.theme-toggle-button{background:#3a3a3ae6;color:#fff;border:1px solid rgba(0,170,255,.2);border-radius:8px;padding:12px 16px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 1px #ffffff1a;position:relative}.theme-toggle-button:hover{background:#4a4a4af2;transform:translateY(-2px);box-shadow:0 4px 12px #0af3,inset 0 1px #ffffff26;border-color:#00aaff80}.theme-toggle-button:active{transform:translateY(0);box-shadow:0 2px 6px #0000004d}.project-menu-container{position:relative;z-index:1001}.project-menu-toggle{background:#3a3a3ae6;color:#fff;border:1px solid rgba(0,170,255,.2);border-radius:8px;padding:12px 16px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 1px #ffffff1a;position:relative}.project-menu-toggle:hover{background:#4a4a4af2;transform:translateY(-2px);box-shadow:0 4px 12px #0af3,inset 0 1px #ffffff26;border-color:#00aaff80}.project-menu-toggle:active{transform:translateY(0);box-shadow:0 2px 6px #0000004d}.project-menu-icon{font-size:16px}.project-menu-text{font-weight:600}.project-menu-arrow{font-size:12px;margin-left:4px}.project-menu-dropdown{position:absolute;top:100%;right:0;background:#2a2a2af2;border:1px solid rgba(68,68,68,.8);border-radius:12px;box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);min-width:300px;max-height:400px;overflow-y:auto;margin-top:8px;animation:slideDown .3s ease}.project-menu-section{padding:12px 0;border-bottom:1px solid rgba(68,68,68,.8)}.project-menu-section:last-child{border-bottom:none}.project-menu-subtitle{margin:0 16px 8px;font-size:12px;font-weight:600;color:#0abab5;text-transform:uppercase;letter-spacing:.5px}.project-menu-item{display:flex;flex-direction:column;padding:12px 16px;cursor:pointer;transition:all .2s ease;border-left:3px solid transparent}.project-menu-item:hover{background:#3a3a3af2;border-left-color:#0abab5}.project-name{font-size:14px;font-weight:500;color:#fff;margin-bottom:4px}.project-date{font-size:12px;color:#888}.project-menu-empty{padding:16px;text-align:center;color:#666;font-style:italic;font-size:13px}.color-picker{width:48px;height:36px;border:1px solid rgba(10,186,181,.3);border-radius:6px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.color-picker:hover{transform:scale(1.05);box-shadow:0 4px 8px #0abab54d}.opacity-input{width:100%;padding:8px 12px;border:1px solid rgba(10,186,181,.2);border-radius:4px;background:#3a3a3ae6;color:#fff;font-size:12px;box-sizing:border-box;transition:all .3s ease}.opacity-input:focus{outline:none;border-color:#0abab5cc;box-shadow:0 0 0 2px #0abab533}.opacity-slider{width:100%;height:6px;border-radius:3px;background:#66666680;outline:none;-webkit-appearance:none;transition:all .3s ease}.opacity-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,#0abab5,#4ecdc4);cursor:pointer;box-shadow:0 2px 4px #0003;transition:all .3s ease}.opacity-slider::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 4px 8px #0abab566}.opacity-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,#0abab5,#4ecdc4);cursor:pointer;border:none;box-shadow:0 2px 4px #0003;transition:all .3s ease}.opacity-slider::-moz-range-thumb:hover{transform:scale(1.2);box-shadow:0 4px 8px #0abab566}.material-select{width:100%;padding:8px 30px 8px 12px;border:1px solid rgba(10,186,181,.2);border-radius:4px;background:#3a3a3ae6;color:#fff;font-size:12px;box-sizing:border-box;cursor:pointer;transition:all .3s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3e%3cpath fill='%23ffffff' d='M6 9L1 4h10L6 9z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 8px center}.material-select:focus{outline:none;border-color:#0abab5cc;box-shadow:0 0 0 2px #0abab533}.material-select:hover{background-color:#4a4a4af2;border-color:#0abab580}.advanced-material{margin-top:8px;padding-top:8px;border-top:1px solid rgba(10,186,181,.1)}.texture-settings{margin-top:12px;padding:12px;background:#3a3a3a80;border-radius:8px;border:1px solid rgba(10,186,181,.1);animation:fadeIn .3s ease}.texture-settings .property-item{margin-bottom:8px}.property-item select{width:100%;padding:8px 30px 8px 12px;border:1px solid rgba(10,186,181,.2);border-radius:4px;background:#3a3a3ae6;color:#fff;font-size:12px;box-sizing:border-box;cursor:pointer;transition:all .3s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3e%3cpath fill='%23ffffff' d='M6 9L1 4h10L6 9z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 8px center}.property-item select:focus{outline:none;border-color:#0abab5cc;box-shadow:0 0 0 2px #0abab533}.property-item select:hover{background-color:#4a4a4af2;border-color:#0abab580}.app.light-theme .color-picker{border-color:#7d9d8c4d;box-shadow:0 2px 4px #0000000d}.app.light-theme .color-picker:hover{box-shadow:0 4px 8px #7d9d8c4d}.app.light-theme .opacity-input{background:#eae8e3e6;border-color:#7d9d8c33;color:#3a3a38}.app.light-theme .opacity-input:focus{border-color:#7d9d8ccc;box-shadow:0 0 0 2px #7d9d8c33}.app.light-theme .opacity-slider{background:#a8c1b280}.app.light-theme .opacity-slider::-webkit-slider-thumb{background:linear-gradient(135deg,#7d9d8c,#a8c1b2);box-shadow:0 2px 4px #0000001a}.app.light-theme .opacity-slider::-webkit-slider-thumb:hover{box-shadow:0 4px 8px #7d9d8c66}.app.light-theme .opacity-slider::-moz-range-thumb{background:linear-gradient(135deg,#7d9d8c,#a8c1b2);box-shadow:0 2px 4px #0000001a}.app.light-theme .opacity-slider::-moz-range-thumb:hover{box-shadow:0 4px 8px #7d9d8c66}.app.light-theme .material-select{background:#eae8e3e6;border-color:#7d9d8c33;color:#3a3a38;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3e%3cpath fill='%233A3A38' d='M6 9L1 4h10L6 9z'/%3e%3c/svg%3e")}.app.light-theme .material-select:focus{border-color:#7d9d8ccc;box-shadow:0 0 0 2px #7d9d8c33}.app.light-theme .material-select:hover{background-color:#a8c1b280;border-color:#7d9d8c80}.app.light-theme .advanced-material{border-top-color:#7d9d8c1a}.app.light-theme .texture-settings{background:#eae8e380;border-color:#7d9d8c1a}.app.light-theme .property-item select{background:#eae8e3e6;border-color:#7d9d8c33;color:#3a3a38;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3e%3cpath fill='%233A3A38' d='M6 9L1 4h10L6 9z'/%3e%3c/svg%3e")}.app.light-theme .property-item select:focus{border-color:#7d9d8ccc;box-shadow:0 0 0 2px #7d9d8c33}.app.light-theme .property-item select:hover{background-color:#a8c1b280;border-color:#7d9d8c80}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.color-picker{width:40px;height:32px}.opacity-input,.material-select,.property-item select{padding:6px 10px;font-size:11px}.material-select,.property-item select{padding-right:24px;background-position:right 6px center}.texture-settings{padding:10px}}@media (max-width: 480px){.property-color-control{flex-direction:column;align-items:flex-start}.color-picker{width:100%;height:40px}.color-value{margin-top:6px}}.project-menu-action{width:100%;background:transparent;color:#fff;border:none;padding:12px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left;display:flex;align-items:center;gap:8px}.project-menu-action:hover{background:#3a3a3af2}.app.light-theme .project-menu-toggle{background:#eae8e3b3;color:#3a3a38;box-shadow:0 2px 8px #0000001a}.app.light-theme .project-menu-dropdown{background:#fffffffa;border:1px solid rgba(211,209,203,.8);box-shadow:0 8px 32px #0000001a}.app.light-theme .project-menu-section{border-bottom:1px solid #EAE8E3}.app.light-theme .project-menu-subtitle{color:#7d9d8c}.app.light-theme .project-menu-item{color:#3a3a38}.app.light-theme .project-menu-item:hover{background:#f5f0e1;border-left-color:#7d9d8c}.app.light-theme .project-name{color:#3a3a38}.app.light-theme .project-date,.app.light-theme .project-menu-empty{color:#6b6b69}.app.light-theme .project-menu-action{color:#3a3a38}.app.light-theme .project-menu-action:hover{background:#f5f0e1}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.app.light-theme .theme-toggle-button{background:#eae8e3b3;color:#3a3a38;box-shadow:0 2px 8px #0000001a}.theme-toggle-button:hover{transform:scale(1.05);box-shadow:0 4px 16px #0006;border:1px solid rgba(125,157,140,.5)}.app.light-theme .theme-toggle-button:hover{box-shadow:0 4px 16px #0003;border:1px solid rgba(125,157,140,.5)}.theme-icon{font-size:16px}.theme-text{font-weight:600}.main-content{flex:1;overflow:hidden;position:relative;width:100%;height:100%}.scene-container{width:100%;height:100%;position:relative;overflow:hidden;background:#2c2c34;transition:background .3s ease;z-index:1}.app.light-theme .scene-container{background:#eae8e3;transition:background .3s ease}.app.light-theme .ground{background:#eae8e3;box-shadow:inset 0 0 100px #0000000d}.toolbar{position:absolute;top:20px;left:20px;background:#2a2a2af2;border:1px solid rgba(68,68,68,.8);border-radius:12px;display:flex;flex-direction:column;align-items:center;padding:15px;gap:15px;z-index:1000;box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);transition:all .3s cubic-bezier(.4,0,.2,1);min-width:180px;max-width:300px;min-height:200px;max-height:calc(100vh - 40px);overflow-y:auto;box-sizing:border-box;resize:both;overflow:auto}.floating-window{position:absolute;background:#2a2a2af2;border:1px solid rgba(68,68,68,.8);border-radius:12px;box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1000;resize:both;overflow:hidden;display:flex;flex-direction:column}.floating-window-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#3a3a3af2;border-bottom:1px solid rgba(68,68,68,.8);cursor:move;-webkit-user-select:none;user-select:none;transition:all .3s}.floating-window-header:hover{background:#404040f2}.floating-window-title{margin:0;color:#fff;font-size:14px;font-weight:600}.floating-window-controls{display:flex;gap:6px;align-items:center}.floating-window-control-btn{width:20px;height:20px;border:none;border-radius:4px;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0}.floating-window-control-btn.minimize{background:#ffb800;color:#000}.floating-window-control-btn.maximize{background:#00c853;color:#000}.floating-window-control-btn.close{background:#ff3d00;color:#fff}.floating-window-control-btn.lock{background:#2196f3;color:#fff}.floating-window-control-btn:hover{opacity:.8;transform:scale(1.1)}.floating-window-content{flex:1;padding:16px;overflow-y:auto}.floating-window-resize-handle{position:absolute;bottom:0;right:0;width:20px;height:20px;cursor:nwse-resize;background:transparent;border-right:3px solid transparent;border-bottom:3px solid rgba(0,170,255,.5);border-radius:0 0 12px;transition:all .3s}.floating-window-resize-handle:hover{border-right-color:#0afc;border-bottom-color:#0afc;background:#00aaff1a}.floating-window.locked{cursor:default;resize:none}.floating-window.locked .floating-window-header{cursor:default}.floating-window.locked .floating-window-resize-handle{display:none}.floating-window.minimized{height:40px;min-height:40px;max-height:40px;overflow:hidden}.floating-window.minimized .floating-window-content,.floating-window.minimized .floating-window-resize-handle{display:none}.floating-window.maximized{top:0!important;left:0!important;width:100%!important;height:100%!important;min-width:100%;max-width:100%;min-height:100%;max-height:100%;border-radius:0}.top-nav{position:absolute;top:10px;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;z-index:1000;padding:10px 20px;gap:20px;background:#2a2a2af2;border:1px solid rgba(68,68,68,.8);border-radius:10px;box-shadow:0 4px 16px #0000004d;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);cursor:move;resize:both;min-width:400px;max-width:600px;min-height:60px;max-height:100px;transition:all .3s cubic-bezier(.4,.2,1)}.toolbar-header{width:100%;height:24px;display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;cursor:move}.toolbar-controls{display:flex;gap:4px}.toolbar-control-btn{width:16px;height:16px;border:none;border-radius:4px;cursor:pointer;font-size:10px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.toolbar-control-btn.minimize{background:#ffb800;color:#000}.toolbar-control-btn.maximize{background:#00c853;color:#000}.toolbar-control-btn.close{background:#ff3d00;color:#fff}.toolbar-control-btn:hover{opacity:.8;transform:scale(1.1)}.toolbar:hover{box-shadow:0 12px 40px #00000080;transform:translateY(-2px)}.app.light-theme .toolbar{background:#fff;border:1px solid transparent;box-shadow:0 4px 16px #d3d1cb1a}.app.light-theme .toolbar-button:not(.active){background:#eae8e3;color:#3a3a38;box-shadow:inset 0 1px #0000000d}.app.light-theme .toolbar-button:hover{background:#a8c1b2;color:#3a3a38;box-shadow:0 2px 8px #a8c1b24d;transform:translateY(-2px)}.app.light-theme .toolbar-button.active{background:#7d9d8c;color:#fff;box-shadow:0 2px 8px #7d9d8c66;border-color:#7d9d8c}.app.light-theme .edit-operations,.app.light-theme .tool-auxiliary{background:#eae8e34d;border:1px solid rgba(234,232,227,.8)}.toolbar .title-button.brand-logo{margin:0 0 16px;padding:24px;background:linear-gradient(135deg,#0abab5,#4ecdc4);border:none;border-radius:6px;width:105%;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;display:flex;justify-content:center;align-items:center;box-shadow:none}.logo-text{font-size:24px;font-weight:800;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.4),0 0 10px rgba(0,170,255,.6);letter-spacing:2px;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;text-align:center}.logo-text:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#ffffff,transparent);transform:scaleX(0);transition:transform .4s ease}.toolbar .title-button.brand-logo:hover{transform:translateY(-4px) scale(1.05);box-shadow:none;border:none;background:linear-gradient(135deg,#4ecdc4,#0abab5)}.toolbar .title-button.brand-logo:hover .logo-text{transform:scale(1.05);text-shadow:0 2px 4px rgba(0,0,0,.5),0 0 20px rgba(0,170,255,.8)}.toolbar .title-button.brand-logo:hover .logo-text:after{transform:scaleX(1)}.toolbar .title-button.brand-logo:active{transform:translateY(-2px) scale(.98);box-shadow:none;border:none}.toolbar .title-button.brand-logo:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.4),transparent);transform:rotate(45deg);animation:lightSweep 3s ease-in-out infinite;opacity:0;transition:opacity .4s ease}.toolbar .title-button.brand-logo:hover:before{opacity:1}.app.light-theme .toolbar .title-button.brand-logo{background:linear-gradient(135deg,#7d9d8c,#a8c1b2);box-shadow:none;border:none}.app.light-theme .toolbar .title-button.brand-logo:hover{background:linear-gradient(135deg,#6b8a78,#7d9d8c);box-shadow:none;border:none}.app.light-theme .toolbar .title-button.brand-logo .logo-text{color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3),0 0 10px rgba(125,157,140,.6)}@keyframes lightSweep{0%{transform:translate(-100%) rotate(45deg)}to{transform:translate(100%) rotate(45deg)}}@media (max-width: 768px){.toolbar .title-button.brand-logo{margin-bottom:12px;padding:20px;width:100%}.logo-text{font-size:20px;letter-spacing:1px}}@media (max-width: 480px){.toolbar .title-button.brand-logo{margin-bottom:8px;padding:18px 16px;width:100%}.logo-text{font-size:16px;letter-spacing:1px}}.toolbar-section{width:100%;display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #E0E0E0}.toolbar-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.toolbar-button{width:100%;padding:12px 18px;color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:flex-start;gap:14px;white-space:nowrap;box-shadow:inset 0 1px #ffffff1a,0 2px 4px #0003;border:1px solid transparent;position:relative;overflow:hidden;background:linear-gradient(180deg,#3a3a3af2,#2a2a2af2)}.toolbar-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .6s ease;z-index:1}.toolbar-button:hover:before{left:100%}.toolbar-button.basic-button{background:linear-gradient(180deg,#404040f2,#303030f2);border:1px solid rgba(0,170,255,.2);font-weight:600;font-size:15px;padding:14px 20px;border-radius:12px}.toolbar-button.basic-button:hover{background:linear-gradient(180deg,#505050f2,#404040f2);transform:translateY(-3px);box-shadow:0 6px 16px #00aaff4d,inset 0 1px #fff3;border-color:#0af9}.toolbar-button.basic-button.active{background:linear-gradient(135deg,#0abab5,#4ecdc4);box-shadow:0 6px 20px #0abab580,inset 0 1px #fff3;border-color:#fff6;transform:translateY(-2px);color:#fff;font-weight:700}.toolbar-button.basic-button.active:hover{background:linear-gradient(135deg,#08a09b,#3dbfb8);box-shadow:0 8px 24px #0abab599,inset 0 1px #fff3}.toolbar-button.edit-button{background:linear-gradient(180deg,#3a3a3af2,#2a2a2af2);border:1px solid transparent;font-weight:500;font-size:14px;padding:12px 18px;border-radius:10px}.toolbar-button.edit-button:hover{background:linear-gradient(180deg,#4a4a4af2,#3a3a3af2);transform:translateY(-2px);box-shadow:0 4px 14px #00000059,inset 0 1px #ffffff26;border-color:#444c}.toolbar-button.edit-button.active{background:linear-gradient(135deg,#4a4a4af2,#3a3a3af2);box-shadow:0 4px 14px #00000059,inset 0 1px #ffffff26;border-color:#0abab599;transform:translateY(-2px);color:#fff}.toolbar-button.tool-button{background:linear-gradient(180deg,#3a3a3af2,#2a2a2af2);border:1px solid transparent;font-weight:500;font-size:14px;padding:12px 18px;border-radius:10px}.toolbar-button.tool-button:hover{background:linear-gradient(180deg,#4a4a4af2,#3a3a3af2);transform:translateY(-2px);box-shadow:0 4px 14px #00000059,inset 0 1px #ffffff26;border-color:#444c}.toolbar-button.tool-button.active{background:linear-gradient(135deg,#4a4a4af2,#3a3a3af2);box-shadow:0 4px 14px #00000059,inset 0 1px #ffffff26;border-color:#0abab599;transform:translateY(-2px);color:#fff}.toolbar-button:active{transform:translateY(0) scale(.98);box-shadow:0 2px 8px #0006;transition:all .1s ease}.toolbar-button:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#0abab5,#4ecdc4);opacity:0;transition:opacity .3s ease;z-index:2}.toolbar-button.active:after{opacity:1}.toolbar-button:hover:after{opacity:.7}.tool-icon{font-size:18px;min-width:24px;display:flex;align-items:center;justify-content:center;transition:transform .3s ease;z-index:2}.toolbar-button.basic-button .tool-icon{font-size:20px;min-width:28px}.tool-name{font-size:14px;font-weight:500;transition:color .3s ease;z-index:2}.toolbar-button.basic-button .tool-name{font-size:15px;font-weight:600}.toolbar-button:hover .tool-name{color:#fff}.toolbar-button.active .tool-name{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.tool-name{flex:1;text-align:left;letter-spacing:.5px}.app.light-theme .toolbar-section{border-bottom-color:#e0e0e0}.app.light-theme .toolbar-section-title{color:#3a3a38;font-size:11px;text-decoration:underline;text-decoration-color:#eae8e3;text-decoration-thickness:1px}.app.light-theme .basic-operations{background:#eae8e380;border:1px solid rgba(125,157,140,.2)}.app.light-theme .toolbar-button.basic-button{background:#eae8e3;color:#3a3a38;box-shadow:0 1px 4px #0000000d}.app.light-theme .toolbar-button.basic-button:hover{background:#a8c1b2;color:#3a3a38;box-shadow:0 2px 8px #a8c1b24d;transform:translateY(-2px);border-color:#a8c1b2}.app.light-theme .toolbar-button.basic-button.active{background:#7d9d8c;color:#fff;box-shadow:0 2px 8px #7d9d8c66;border-color:#7d9d8c}.app.light-theme .edit-operations{background:#eae8e34d;border:1px solid rgba(234,232,227,.8)}.app.light-theme .toolbar-button.edit-button{background:#fff;color:#3a3a38;border:1px solid rgba(211,209,203,.5);box-shadow:0 1px 4px #0000000d}.app.light-theme .toolbar-button.edit-button:hover{background:#f5f0e1;color:#3a3a38;box-shadow:0 2px 8px #0000001a;border-color:#d3d1cbcc}.app.light-theme .toolbar-button.edit-button.active{background:#f5f0e1;color:#3a3a38;box-shadow:0 2px 8px #0000001a;border-color:#7d9d8c}.app.light-theme .tool-auxiliary{background:#eae8e34d;border:1px solid rgba(234,232,227,.8)}.app.light-theme .toolbar-button.tool-button{background:#fff;color:#3a3a38;border:1px solid rgba(211,209,203,.5);box-shadow:0 1px 4px #0000000d}.app.light-theme .toolbar-button.tool-button:hover{background:#f5f0e1;color:#3a3a38;box-shadow:0 2px 8px #0000001a;border-color:#d3d1cbcc}.app.light-theme .toolbar-button.tool-button.active{background:#f5f0e1;color:#3a3a38;box-shadow:0 2px 8px #0000001a;border-color:#7d9d8c}.block-types{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:16px}.block-type-button{width:100%;padding:8px 12px;background:#3a3a3ae6;color:#fff;border:1px solid rgba(10,186,181,.2);border-radius:8px;cursor:pointer;font-size:12px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:8px;box-shadow:inset 0 1px #ffffff1a;margin-bottom:6px}.block-shape-preview{font-size:16px;min-width:20px;display:flex;align-items:center;justify-content:center}.block-shape-name{flex:1;text-align:left}.block-type-button:hover{background:#4a4a4af2;transform:translateY(-2px);box-shadow:0 4px 12px #0abab533,inset 0 1px #ffffff26;border-color:#0abab580}.block-type-button:active{transform:translateY(0);box-shadow:0 2px 6px #0000004d}.block-type-button.active{background:linear-gradient(135deg,#7d9377,#9cb28a);color:#fff;box-shadow:0 4px 16px #7d937766;border-color:#7d9377cc}.block-type-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.mode-switcher{position:absolute;top:20px;right:20px;background:#2a2a2af2;border:1px solid rgba(68,68,68,.8);border-radius:12px;padding:15px;z-index:1000;box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);transition:all .3s cubic-bezier(.4,0,.2,1);min-width:200px;max-width:300px;min-height:120px;max-height:200px;cursor:move;resize:both}.mode-switcher:hover{box-shadow:0 12px 40px #00000080;transform:translateY(-2px)}.mode-buttons{display:flex;flex-direction:column;gap:8px;width:100%}.mode-button{width:100%;padding:10px 16px;background:#3a3a3ae6;color:#fff;border:1px solid rgba(10,186,181,.2);border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:inset 0 1px #ffffff1a}.mode-button-icon{font-size:16px}.mode-button-name{font-weight:600}.mode-button:hover{background:#4a4a4af2;transform:translateY(-2px);box-shadow:0 4px 12px #0abab533,inset 0 1px #ffffff26;border-color:#0abab580}.mode-button.active{background:linear-gradient(135deg,#08a09b,#3dbfb8);box-shadow:0 4px 16px #0abab566,inset 0 1px #fff3;border-color:#ffffff4d;transform:translateY(-1px)}.mode-button:active{transform:translateY(0);box-shadow:0 2px 6px #0000004d}.toggle-icon{transform:rotate(90deg)}.geometry-panel-content{padding:16px}.app.light-theme .toolbar-tools,.app.light-theme .toolbar-actions{border-color:#d3d1cb80}.app.light-theme .tool-button{background:#fff;color:#3a3a38;border:1px solid rgba(211,209,203,.5);box-shadow:0 1px 4px #0000000d}.app.light-theme .tool-button:hover{background:#a8c1b2;color:#3a3a38;box-shadow:0 2px 8px #a8c1b24d;transform:translateY(-2px);border-color:#a8c1b2}.app.light-theme .tool-button:active{transform:translateY(0);box-shadow:0 1px 4px #0000001a}.app.light-theme .toolbar-action{background:#fff;color:#3a3a38;border:1px solid rgba(211,209,203,.5);box-shadow:0 1px 4px #0000000d}.app.light-theme .toolbar-action:hover{background:#a8c1b2;color:#3a3a38;box-shadow:0 2px 8px #a8c1b24d;transform:translateY(-2px);border-color:#a8c1b2}.app.light-theme .toolbar-action:active{transform:translateY(0);box-shadow:0 1px 4px #0000001a}.app.light-theme .block-type-button{background:#fff;color:#3a3a38;border:1px solid rgba(211,209,203,.5);box-shadow:0 1px 4px #0000000d}.app.light-theme .block-type-button:hover{background:#a8c1b2;color:#3a3a38;box-shadow:0 2px 8px #a8c1b24d;transform:translateY(-2px);border-color:#a8c1b2}.app.light-theme .block-type-button:active{transform:translateY(0);box-shadow:0 1px 4px #0000001a}.app.light-theme .block-type-button:disabled{background:#f5f0e1;color:#6b6b69;border-color:#d3d1cb80}.app.light-theme .mode-switcher{background:#eae8e3;border:1px solid rgba(211,209,203,.5);box-shadow:0 4px 16px #0000001a}.app.light-theme .mode-switcher:hover{box-shadow:0 8px 24px #00000026}.app.light-theme .mode-button{background:#fff;color:#3a3a38;border:1px solid rgba(211,209,203,.5);box-shadow:0 1px 4px #0000000d}.app.light-theme .mode-button:hover{background:#a8c1b2;color:#3a3a38;box-shadow:0 2px 8px #a8c1b24d;transform:translateY(-2px);border-color:#a8c1b2}.app.light-theme .mode-button.active{background:#7d9d8c;color:#fff;box-shadow:0 2px 8px #7d9d8c66;border-color:#7d9d8c}.letter-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .3s ease}.letter-modal{background:#2a2a2af2;border:1px solid rgba(68,68,68,.8);border-radius:12px;padding:32px;max-width:500px;width:90%;box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);animation:slideUp .3s ease}.letter-content{text-align:center}.letter-title{margin:0 0 24px;color:#0abab5;font-size:24px;font-weight:600}.letter-body{margin:0;color:#fff;font-size:18px;line-height:1.6}.app.light-theme .letter-modal{background:#fffffffa;border:1px solid rgba(211,209,203,.8);box-shadow:0 8px 32px #0000001a}.app.light-theme .letter-title{color:#7d9d8c}.app.light-theme .letter-body{color:#3a3a38}@media (max-width: 768px){.letter-modal{padding:24px;max-width:400px}.letter-title{font-size:20px;margin-bottom:20px}.letter-body{font-size:16px}}@media (max-width: 480px){.letter-modal{padding:16px;max-width:95%}.letter-title{font-size:18px;margin-bottom:16px}.letter-body{font-size:14px}}.toolbar-section{width:100%;display:flex;flex-direction:column;gap:8px}.toolbar-section-title{margin:0;font-size:12px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px;text-align:left;padding:0 4px}.toolbar-buttons{display:flex;flex-direction:column;gap:8px;width:100%}.toolbar-button{width:100%;padding:10px 16px;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;box-shadow:inset 0 1px #ffffff1a;border:1px solid transparent;position:relative}.basic-operations{padding:12px;background:#3a3a3a80;border:1px solid rgba(0,170,255,.3);border-radius:10px}.toolbar-button.basic-button{background:#3a3a3ae6;border:1px solid rgba(0,170,255,.2);font-weight:600;font-size:14px;padding:12px 16px}.toolbar-button.basic-button:hover{background:#4a4a4af2;transform:translateY(-2px);box-shadow:0 4px 12px #0af3,inset 0 1px #ffffff26;border-color:#00aaff80}.toolbar-button.basic-button.active{background:linear-gradient(135deg,#0abab5,#4ecdc4);box-shadow:0 4px 16px #0abab566,inset 0 1px #fff3;border-color:#ffffff4d;transform:translateY(-1px)}.edit-operations{padding:12px;background:#3a3a3a4d;border:1px solid rgba(68,68,68,.8);border-radius:10px}.toolbar-button.edit-button{background:#3a3a3ae6;border:1px solid transparent;font-weight:500;font-size:13px;padding:10px 16px}.toolbar-button.edit-button:hover{background:#4a4a4af2;transform:translateY(-1px);box-shadow:0 4px 12px #0000004d,inset 0 1px #ffffff26;border-color:#444c}.toolbar-button.edit-button.active{background:#4a4a4af2;box-shadow:0 4px 12px #0000004d,inset 0 1px #ffffff26;border-color:#00aaff80;transform:translateY(-1px)}.tool-auxiliary{padding:12px;background:#3a3a3a4d;border:1px solid rgba(68,68,68,.8);border-radius:10px}.toolbar-button.tool-button{background:#3a3a3ae6;border:1px solid transparent;font-weight:500;font-size:13px;padding:10px 16px}.toolbar-button.tool-button:hover{background:#4a4a4af2;transform:translateY(-1px);box-shadow:0 4px 12px #0000004d,inset 0 1px #ffffff26;border-color:#444c}.toolbar-button.tool-button.active{background:#4a4a4af2;box-shadow:0 4px 12px #0000004d,inset 0 1px #ffffff26;border-color:#00aaff80;transform:translateY(-1px)}.toolbar-button:active{transform:translateY(0);box-shadow:0 2px 6px #0000004d}.toolbar-button:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#0abab5,#4ecdc4);opacity:0;transition:opacity .3s}.toolbar-button.active:before{opacity:1}.property-panel-window{background:#2a2a2afa;border:1px solid rgba(68,68,68,.8);border-radius:12px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:0 8px 32px #0006;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden;-webkit-user-select:none;user-select:none}.property-panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#3a3a3af2;border-bottom:1px solid rgba(68,68,68,.8);cursor:move;-webkit-user-select:none;user-select:none;transition:all .3s}.property-panel-header:hover{background:#404040f2}.property-panel-content{flex:1;padding:24px;overflow-y:auto;box-sizing:border-box;max-height:calc(100% - 60px)}.property-panel-window-controls{display:flex;gap:8px;align-items:center}.property-panel-window-btn{width:24px;height:24px;border:none;border-radius:6px;background:#555c;color:#fff;font-size:12px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);box-sizing:border-box}.property-panel-window-btn:hover{background:#666666e6;transform:scale(1.1);box-shadow:0 2px 8px #0000004d}.property-panel-window-btn:active{transform:scale(.95)}.property-panel-window-btn.minimize-btn:hover{background:#ffd700cc}.property-panel-window-btn.maximize-btn:hover{background:#00c800cc}.property-panel-window-btn.close-btn:hover{background:#ff4500cc}.property-panel-resize-handle{position:absolute;bottom:0;right:0;width:20px;height:20px;cursor:nwse-resize;background:transparent;border-right:3px solid transparent;border-bottom:3px solid rgba(0,170,255,.5);border-radius:0 0 12px;transition:all .3s}.property-panel-resize-handle:hover{border-right-color:#0afc;border-bottom-color:#0afc;background:#00aaff1a}.property-panel-window:not(.maximized) .property-panel-content{max-height:calc(100% - 60px)}@media (max-width: 1200px){.property-panel{width:280px;right:-280px;padding:20px}}@media (max-width: 768px){.property-panel{width:240px;right:-240px;padding:16px;box-shadow:-4px 0 20px #0000004d}.property-group{margin-bottom:16px;padding:12px}.property-item{margin-bottom:12px}.property-panel-header h2{font-size:16px}}@media (max-width: 576px){.property-panel{top:auto;bottom:-60vh;right:0;left:0;width:100%;max-height:60vh;border-left:none;border-top:1px solid rgba(68,68,68,.8);box-shadow:0 -4px 20px #0006;padding:16px;transition:bottom .4s cubic-bezier(.4,0,.2,1)}.property-panel.visible{bottom:0;right:0}.property-panel-toggle{top:-40px;left:50%;transform:translate(-50%);width:80px;height:36px;border-radius:12px 12px 0 0}.property-panel-header h2{font-size:15px}.property-group{margin-bottom:14px;padding:10px}.property-item{margin-bottom:10px}.property-item input,.property-item select,.property-item textarea{padding:8px 10px;font-size:13px;min-height:36px}.toolbar-button{padding:8px 12px;font-size:12px}.toolbar{min-width:140px;padding:10px}.status-bar{font-size:12px;padding:8px 16px;bottom:10px}}@media (max-width: 400px){.property-panel{bottom:-70vh;max-height:70vh}.toolbar{min-width:120px;padding:8px}.toolbar h1{font-size:16px;padding:6px 12px}.toolbar-button{padding:6px 10px;font-size:11px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:3000;animation:fadeIn .3s ease}.project-name-modal{background:#2a2a2af2;border:1px solid rgba(68,68,68,.8);border-radius:12px;padding:0;width:400px;max-width:90vw;box-shadow:0 8px 32px #0006;animation:slideUp .3s ease}.app.light-theme .project-name-modal{background:#fff;border:1px solid rgba(211,209,203,.8);box-shadow:0 8px 32px #0000001a}.modal-header{padding:16px 24px;border-bottom:1px solid rgba(68,68,68,.8);background:#3a3a3af2}.app.light-theme .modal-header{background:#f5f0e1;border-bottom:1px solid #EAE8E3}.modal-header h2{margin:0;color:#fff;font-size:18px;font-weight:600}.app.light-theme .modal-header h2{color:#3a3a38}.modal-content{padding:24px}.input-group{display:flex;flex-direction:column;gap:8px}.input-group label{color:#0abab5;font-size:14px;font-weight:600}.app.light-theme .input-group label{color:#3a3a38}.input-group input{padding:12px 16px;background:#2a2a2ae6;border:1px solid rgba(68,68,68,.8);border-radius:8px;color:#fff;font-size:16px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1)}.app.light-theme .input-group input{background:#fff;color:#3a3a38;border:1px solid #EAE8E3}.input-group input:focus{outline:none;border-color:#0abab5;box-shadow:0 0 0 3px #0abab51a;transform:translateY(-1px)}.app.light-theme .input-group input:focus{border-color:#7d9d8c;box-shadow:0 0 0 3px #7d9d8c1a}.error-message{color:#ff4500;font-size:12px;font-style:italic;margin-top:4px}.input-hint{color:#888;font-size:12px;font-style:italic;margin-top:4px}.app.light-theme .input-hint{color:#6b6b69}.modal-footer{padding:16px 24px;border-top:1px solid rgba(68,68,68,.8);background:#3a3a3af2;display:flex;justify-content:flex-end;gap:12px}.app.light-theme .modal-footer{background:#f5f0e1;border-top:1px solid #EAE8E3}.modal-btn{padding:10px 20px;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1)}.modal-btn.confirm-btn{background:#00c800cc;color:#fff}.modal-btn.confirm-btn:hover{background:#00ff00e6;transform:translateY(-2px);box-shadow:0 4px 12px #0f06}.modal-btn.cancel-btn{background:#ff4500cc;color:#fff}.modal-btn.cancel-btn:hover{background:#ff6a00e6;transform:translateY(-2px);box-shadow:0 4px 12px #ff6a0066}.app.light-theme .modal-btn.confirm-btn{background:#7d9d8ccc}.app.light-theme .modal-btn.confirm-btn:hover{background:#7d9d8ce6;box-shadow:0 4px 12px #7d9d8c66}.app.light-theme .modal-btn.cancel-btn{background:#ffa500cc}.app.light-theme .modal-btn.cancel-btn:hover{background:#ffa500e6;box-shadow:0 4px 12px #ffa50066}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.property-panel-toggle{position:absolute;top:50%;left:-36px;transform:translateY(-50%);width:36px;height:80px;background:linear-gradient(135deg,#0abab5,#4ecdc4);border:none;border-radius:12px 0 0 12px;color:#fff;cursor:pointer;font-size:20px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:998;box-shadow:-4px 0 16px #007acc4d;display:flex;align-items:center;justify-content:center}.property-panel-toggle:hover{background:linear-gradient(135deg,#4ecdc4,#7ee7e2);width:44px;box-shadow:-6px 0 20px #0abab566;transform:translateY(-50%) scale(1.05)}.property-panel-toggle:active{transform:translateY(-50%) scale(.98)}@media (max-width: 1200px){.property-panel-toggle{width:32px;height:70px;left:-32px;font-size:18px}.property-panel-toggle:hover{width:40px}}@media (max-width: 768px){.property-panel-toggle{width:28px;height:60px;left:-28px;font-size:16px;box-shadow:-2px 0 12px #007acc4d}.property-panel-toggle:hover{width:36px}}.property-panel{position:absolute;top:100px;right:20px;background:#2a2a2af2;border:1px solid rgba(68,68,68,.8);border-radius:12px;box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);z-index:999;min-width:320px;max-width:500px;min-height:400px;max-height:700px;overflow:hidden;display:flex;flex-direction:column;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:move;resize:both}.property-panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(68,68,68,.8);background:#3a3a3af2;cursor:move;-webkit-user-select:none;user-select:none}.property-panel:hover{box-shadow:0 12px 40px #00000080}.property-panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(68,68,68,.8);background:#3a3a3af2}.property-panel-header h3{margin:0;color:#fff;font-size:16px;font-weight:600}.property-panel-close{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.property-panel-close:hover{background:#ffffff1a}.property-panel-content{flex:1;padding:20px;overflow-y:auto;overflow-x:hidden}.property-group{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid rgba(68,68,68,.5)}.property-group:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.property-group-title{margin:0 0 16px;color:#fff;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.property-item{margin-bottom:16px}.property-item label{display:block;margin-bottom:8px;color:#ccc;font-size:13px;font-weight:500}.property-control{display:flex;flex-direction:column;gap:8px}.property-control input[type=number]{padding:8px 12px;background:#3a3a3ae6;border:1px solid rgba(68,68,68,.8);border-radius:6px;color:#fff;font-size:13px;width:100%;box-sizing:border-box}.property-control input[type=range]{width:100%;height:6px;background:#444c;border-radius:3px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.property-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:#0abab5;border-radius:50%;cursor:pointer;transition:all .2s ease}.property-control input[type=range]::-webkit-slider-thumb:hover{background:#00b3ff;transform:scale(1.1)}.property-control input[type=range]::-moz-range-thumb{width:16px;height:16px;background:#0abab5;border-radius:50%;cursor:pointer;border:none;transition:all .2s ease}.property-control input[type=range]::-moz-range-thumb:hover{background:#00b3ff;transform:scale(1.1)}.property-checkbox{display:flex;align-items:center;gap:8px;margin-top:12px}.property-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer}.property-checkbox label{margin:0;color:#ccc;font-size:13px;font-weight:500;cursor:pointer}.property-color-control{display:flex;align-items:center;gap:12px}.property-color-control input[type=color]{width:40px;height:40px;border:none;border-radius:6px;cursor:pointer;padding:0;background:none}.property-color-control input[type=color]::-webkit-color-swatch-wrapper{padding:0}.property-color-control input[type=color]::-webkit-color-swatch{border:1px solid rgba(68,68,68,.8);border-radius:6px}.color-value{color:#ccc;font-size:12px;font-family:monospace}.property-item select{width:100%;padding:8px 12px;background:#3a3a3ae6;border:1px solid rgba(68,68,68,.8);border-radius:6px;color:#fff;font-size:13px;cursor:pointer;box-sizing:border-box}.property-item select option{background:#2c2c34;color:#fff}.property-button{padding:8px 16px;background:#3a3a3ae6;border:1px solid rgba(68,68,68,.8);border-radius:6px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;margin-top:12px;width:100%}.property-button:hover{background:#4a4a4af2;border-color:#0abab5;transform:translateY(-1px)}.property-button:active{transform:translateY(0)}.property-actions{margin-top:12px}.property-panel-footer{display:flex;gap:8px;padding:16px 20px;border-top:1px solid rgba(68,68,68,.8);background:#3a3a3af2;flex-wrap:wrap}.property-footer-button{flex:1;min-width:80px;padding:10px 16px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.property-footer-button.apply{background:#0abab5;color:#fff}.property-footer-button.apply:hover{background:#00b3ff;transform:translateY(-1px)}.property-footer-button.reset{background:#80808080;color:#fff}.property-footer-button.reset:hover{background:#808080b3;transform:translateY(-1px)}.property-footer-button.delete{background:#ff4500cc;color:#fff}.property-footer-button.delete:hover{background:#ff4500;transform:translateY(-1px)}.property-footer-button.collapse{background:#6495ed80;color:#fff}.property-footer-button.collapse:hover{background:#6495edb3;transform:translateY(-1px)}.app.light-theme .property-panel{background:#fffffffa;border:1px solid rgba(211,209,203,.8);box-shadow:0 8px 32px #0000001a}.app.light-theme .property-panel-header{background:#f5f0e1;border-bottom:1px solid #EAE8E3}.app.light-theme .property-panel-header h3,.app.light-theme .property-panel-close{color:#3a3a38}.app.light-theme .property-panel-close:hover{background:#0000000d}.app.light-theme .property-panel-content{background:#fff}.app.light-theme .property-group{border-bottom:1px solid #EAE8E3}.app.light-theme .property-group-title{color:#3a3a38}.app.light-theme .property-item label{color:#6b6b69}.app.light-theme .property-control input[type=number]{background:#fff;border:1px solid #EAE8E3;color:#3a3a38;box-shadow:0 1px 4px #0000000d}.app.light-theme .property-control input[type=range]{background:#eae8e3}.app.light-theme .property-control input[type=range]::-webkit-slider-thumb{background:#7d9d8c}.app.light-theme .property-control input[type=range]::-webkit-slider-thumb:hover{background:#6b8a78}.app.light-theme .property-control input[type=range]::-moz-range-thumb{background:#7d9d8c}.app.light-theme .property-control input[type=range]::-moz-range-thumb:hover{background:#6b8a78}.app.light-theme .property-checkbox label,.app.light-theme .color-value{color:#6b6b69}.app.light-theme .property-item select{background:#fff;border:1px solid #EAE8E3;color:#3a3a38;box-shadow:0 1px 4px #0000000d}.app.light-theme .property-item select option{background:#fff;color:#3a3a38}.app.light-theme .property-button{background:#eae8e3;border:1px solid #D3D1CB;color:#3a3a38;box-shadow:0 1px 4px #0000000d}.app.light-theme .property-button:hover{background:#a8c1b2;border-color:#7d9d8c;color:#3a3a38}.app.light-theme .property-panel-footer{background:#f5f0e1;border-top:1px solid #EAE8E3}.app.light-theme .property-footer-button.apply{background:#7d9d8c;color:#fff}.app.light-theme .property-footer-button.apply:hover{background:#6b8a78}.app.light-theme .property-footer-button.reset{background:#eae8e3;color:#3a3a38}.app.light-theme .property-footer-button.reset:hover{background:#d3d1cb}.app.light-theme .property-footer-button.delete{background:#ff4500cc;color:#fff}.app.light-theme .property-footer-button.collapse{background:#a8c1b2;color:#3a3a38}.app.light-theme .property-footer-button.collapse:hover{background:#7d9d8c;color:#fff}@media (max-width: 1200px){.property-panel{min-width:280px;max-width:350px}}@media (max-width: 768px){.property-panel{min-width:240px;max-width:300px;top:80px;right:10px}.property-panel-header{padding:12px 16px}.property-panel-header h3{font-size:14px}.property-panel-content{padding:16px}.property-panel-footer{padding:12px 16px}.property-footer-button{font-size:12px;padding:8px 12px}}@media (max-width: 480px){.property-panel{min-width:200px;max-width:260px;top:70px;right:5px}.property-panel-header{padding:10px 12px}.property-panel-header h3{font-size:13px}.property-panel-content{padding:12px}.property-group-title,.property-item label{font-size:12px}.property-panel-footer{padding:10px 12px}.property-footer-button{font-size:11px;padding:8px 10px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#2a2a2a80;border-radius:4px}::-webkit-scrollbar-thumb{background:#555c;border-radius:4px;transition:all .3s ease}::-webkit-scrollbar-thumb:hover{background:#666666e6;background:linear-gradient(180deg,#0abab5,#4ecdc4)}::-webkit-scrollbar-corner{background:transparent}*{scroll-behavior:smooth}.toolbar::-webkit-scrollbar,.property-panel::-webkit-scrollbar{opacity:0;transition:opacity .3s ease}.toolbar:hover::-webkit-scrollbar,.property-panel:hover::-webkit-scrollbar{opacity:1}.toolbar::-webkit-scrollbar-thumb{background:#00aaff4d}.bottom-info-container{position:fixed;bottom:0;left:0;right:0;height:50px;display:flex;align-items:center;justify-content:center;z-index:900;background:transparent;pointer-events:none}.status-bar{position:relative;height:100%;width:100%;max-width:1200px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 20px;box-sizing:border-box;background:#2a2a2af2;border-top:1px solid rgba(68,68,68,.8);color:#fff;font-size:12px;pointer-events:auto;transition:all .3s ease}.app.light-theme .status-bar{background:#eae8e3f2;border-top:1px solid rgba(211,209,203,.8);color:#3a3a38}.status-content{display:flex;justify-content:space-between;align-items:center;width:100%;height:100%}.status-left,.status-right{display:flex;align-items:center;gap:16px}.save-status-indicator{display:flex;align-items:center;gap:8px}.save-status-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px}.save-status-text{font-size:11px;white-space:nowrap}.save-progress-bar{width:50px;height:3px;background:#fff3;border-radius:2px;overflow:hidden}.save-progress-fill{height:100%;background:linear-gradient(90deg,#007acc,#0af);border-radius:2px;transition:width .3s ease}.save-success{color:#4caf50;font-weight:600}.save-error{color:#f44336;font-weight:600}.status-warning{position:absolute;top:-40px;left:50%;transform:translate(-50%);width:100%;max-width:600px;display:flex;justify-content:center;pointer-events:auto}.toolbar::-webkit-scrollbar-thumb:hover{background:#0af9}.property-panel::-webkit-scrollbar-thumb{background:#00aaff4d}.property-panel::-webkit-scrollbar-thumb:hover{background:#0af9}.mode-switcher{background:transparent;border:none;padding:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;display:flex;gap:8px}.app.light-theme .mode-switcher{background:transparent;border:none;box-shadow:none}.app.light-theme .mode-switcher-title{color:#3a3a38}.app.light-theme .mode-name{color:#7d9d8c}.app.light-theme .mode-button:not(.active){background:#fff;color:#3a3a38;box-shadow:0 1px 4px #0000000d}.app.light-theme .mode-button.active{background:#7d9d8c;color:#fff;box-shadow:0 2px 8px #7d9d8c66;border-color:#7d9d8c}.app.light-theme .mode-button:hover{background:#a8c1b2;color:#3a3a38;box-shadow:0 2px 8px #a8c1b24d;transform:translateY(-2px);border-color:#a8c1b2}.ubiquitous-body{position:absolute;top:180px;right:20px;background:#2a2a2af2;border:1px solid rgba(68,68,68,.8);border-radius:12px;padding:15px;z-index:1002;box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);transition:all .3s cubic-bezier(.4,0,.2,1);min-width:200px;max-height:150px}.ubiquitous-body.active{background:#3a3a3af2;box-shadow:0 8px 32px #0af6}.ubiquitous-body-toggle{width:100%;padding:10px 16px;background:#007acccc;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #007acc4d}.ubiquitous-body-toggle:hover{background:#00aaffe6;transform:translateY(-2px);box-shadow:0 4px 12px #0af6}.ubiquitous-body-toggle:active{transform:translateY(0);box-shadow:0 2px 6px #007acc4d}.ubiquitous-body-content{margin-top:12px;padding-top:12px;border-top:1px solid rgba(68,68,68,.8)}.ubiquitous-body-input-group{display:flex;flex-direction:column;gap:8px}.ubiquitous-body-input-group label{color:#0af;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.ubiquitous-body-input-group input,.ubiquitous-body-input-group select{padding:10px 12px;background:#2a2a2ae6;border:1px solid rgba(68,68,68,.8);border-radius:8px;color:#fff;font-size:14px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 1px #ffffff1a;cursor:pointer}.ubiquitous-body-input-group input:focus,.ubiquitous-body-input-group select:focus{outline:none;border-color:#0af;box-shadow:0 0 0 3px #00aaff1a;background:#303030f2;transform:translateY(-1px)}.ubiquitous-body-select{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.25rem;padding-right:2.5rem}.ubiquitous-body-hint{color:#888;font-size:12px;font-style:italic}.ubiquitous-body-error{color:#ff4500;font-size:12px;font-style:italic;margin-top:4px}.ubiquitous-body-panel{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:#2a2a2af2;border:1px solid rgba(68,68,68,.8);border-radius:12px;padding:15px 20px;z-index:2000;box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);transition:all .3s cubic-bezier(.4,0,.2,1);min-width:300px}.ubiquitous-body-panel-content{display:flex;gap:12px;justify-content:center;align-items:center}.ubiquitous-body-panel-btn{padding:10px 16px;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000004d}.ubiquitous-body-panel-undo,.ubiquitous-body-panel-redo{background:#007acccc;color:#fff}.ubiquitous-body-panel-undo:hover,.ubiquitous-body-panel-redo:hover{background:#00aaffe6;transform:translateY(-2px);box-shadow:0 4px 12px #0af6}.ubiquitous-body-panel-cancel{background:#ff4500cc;color:#fff}.ubiquitous-body-panel-cancel:hover{background:#ff6a00e6;transform:translateY(-2px);box-shadow:0 4px 12px #ff6a0066}.ubiquitous-body-panel-confirm{background:#00c800cc;color:#fff}.ubiquitous-body-panel-confirm:hover{background:#00ff00e6;transform:translateY(-2px);box-shadow:0 4px 12px #0f06}.ubiquitous-body-panel-btn:active{transform:translateY(0);box-shadow:0 2px 6px #0000004d}.mode-switcher-title{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-weight:600;color:#fff;font-size:14px;padding-bottom:8px;border-bottom:1px solid rgba(68,68,68,.8)}.mode-icon{font-size:18px}.mode-name{color:#0af;font-weight:700}.mode-buttons{display:flex;gap:8px}.mode-button{flex:1;padding:10px 12px;background:#3a3a3ae6;color:#fff;border:1px solid transparent;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;gap:4px;white-space:nowrap;box-shadow:inset 0 1px #ffffff1a;position:relative}.mode-button-icon{font-size:16px}.mode-button-name{font-size:12px;opacity:.9}.mode-button:hover{background:#4a4a4af2;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d,inset 0 1px #ffffff26;border-color:#007acc80}.mode-button.active{background:linear-gradient(135deg,#007acc,#09f);box-shadow:0 4px 16px #007acc66,inset 0 1px #fff3;border-color:#ffffff4d;transform:translateY(-1px)}.mode-button:active{transform:translateY(0);box-shadow:0 2px 6px #0000004d}.toolbar-button{position:relative;overflow:hidden}.toolbar-button:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.toolbar-button:active:after{width:300px;height:300px}.geometry-panel{position:fixed;top:80px;right:20px;width:280px;height:calc(100vh - 100px);min-height:500px;background:#2a2a2af2;border:1px solid rgba(68,68,68,.8);border-radius:12px;box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);z-index:999;display:flex;flex-direction:column;overflow:hidden}.app.light-theme .geometry-panel{background:#fff;border:1px solid transparent;box-shadow:0 4px 16px #d3d1cb1a}.block-types{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:16px}.block-type-button{width:100%;padding:8px 12px;background:#3a3a3ae6;color:#fff;border:1px solid rgba(10,186,181,.2);border-radius:8px;cursor:pointer;font-size:12px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:inset 0 1px #ffffff1a;margin-bottom:6px}.block-type-button:hover{background:#4a4a4af2;transform:translateY(-2px);box-shadow:0 4px 12px #0abab533,inset 0 1px #ffffff26;border-color:#0abab580}.block-type-button:active{transform:translateY(0);box-shadow:0 2px 6px #0000004d}.block-type-button.active{background:linear-gradient(135deg,#7d9377,#9cb28a);color:#fff;box-shadow:0 4px 16px #7d937766;border-color:#7d9377cc}.block-type-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.app.light-theme .block-type-button{background:#f5f0e1;color:#3a3a38;border:1px solid #EAE8E3;box-shadow:0 1px 4px #0000000d}.app.light-theme .block-type-button:hover{background:#a8c1b2;color:#3a3a38;border-color:#7d9d8c;box-shadow:0 2px 8px #a8c1b24d}.app.light-theme .block-type-button:active{transform:translateY(0);box-shadow:0 2px 6px #0000001a}.app.light-theme .block-type-button.active{background:linear-gradient(135deg,#7d9377,#9cb28a);color:#fff;box-shadow:0 4px 16px #7d937766;border-color:#7d9377cc}.app.light-theme .block-type-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.geometry-panel-content{flex:1;overflow-y:auto;padding:0}.geometry-panel-header{padding:16px 20px;background:#3a3a3af2;border-bottom:1px solid rgba(68,68,68,.8);display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all .3s ease}.geometry-panel-header:hover{background:#404040f2}.geometry-panel-header h3{margin:0;color:#fff;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.toggle-icon{font-size:12px;color:#888;transition:all .3s ease}.toggle-icon.collapsed{transform:rotate(0)}.toggle-icon:not(.collapsed){transform:rotate(90deg)}.geometry-panel-ubiquitous-config{padding:15px;background:#3a3a3af2;border-bottom:1px solid rgba(68,68,68,.8)}.geometry-panel-ubiquitous-config h3{margin:0 0 12px;color:#0af;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.ubiquitous-config-content{display:flex;flex-direction:column;gap:12px}.ubiquitous-config-item{display:flex;flex-direction:column;gap:8px}.project-switching-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:2000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.project-switching-loader{background-color:#2a2a2af2;border:1px solid rgba(68,68,68,.8);border-radius:12px;padding:30px;text-align:center;box-shadow:0 8px 32px #0006;min-width:250px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);animation:slideUp .3s ease}.loader-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top:4px solid #00aaff;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}.loader-text{color:#fff;font-size:16px;font-weight:500}.app.light-theme .project-switching-overlay{background-color:#ffffffb3}.app.light-theme .project-switching-loader{background-color:#fffffff2;border:1px solid rgba(211,209,203,.8);box-shadow:0 8px 32px #0000001a}.app.light-theme .loader-spinner{border:4px solid rgba(0,0,0,.1);border-top:4px solid #7D9D8C}.app.light-theme .loader-text{color:#3a3a38}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.ubiquitous-config-item label{color:#fff;font-size:13px;font-weight:500}.ubiquitous-config-hint{color:#888;font-size:12px;font-style:italic}.ubiquitous-config-actions{display:flex;gap:8px;margin-top:8px}.ubiquitous-config-btn{flex:1;padding:10px 16px;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1)}.ubiquitous-config-btn.confirm{background:#00c800cc;color:#fff}.ubiquitous-config-btn.confirm:hover{background:#00ff00e6;transform:translateY(-2px);box-shadow:0 4px 12px #0f06}.ubiquitous-config-btn.cancel{background:#ff4500cc;color:#fff}.ubiquitous-config-btn.cancel:hover{background:#ff6a00e6;transform:translateY(-2px);box-shadow:0 4px 12px #ff6a0066}.geometry-panel-toggle-btn{width:32px;height:32px;background:#0af3;color:#0af;border:1px solid rgba(0,170,255,.4);border-radius:6px;cursor:pointer;font-size:18px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;padding:0;margin:0}.geometry-panel-toggle-btn:hover{background:#00aaff4d;border-color:#0af9;box-shadow:0 2px 8px #00aaff4d;transform:scale(1.1)}.geometry-panel-toggle-btn:active{transform:scale(.95)}.geometry-panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#3a3a3af2;border-bottom:1px solid rgba(68,68,68,.8);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .3s ease}.geometry-panel-header h2{margin:0;color:#fff;font-size:16px;font-weight:600;transition:all .3s ease}.geometry-panel-controls{display:flex;gap:8px}.geometry-panel-btn{width:32px;height:32px;background:#3a3a3ae6;color:#fff;border:1px solid transparent;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}.geometry-panel-btn:hover{background:#4a4a4af2;border-color:#007acc80;box-shadow:0 2px 8px #007acc4d}.geometry-panel-content{flex:1;overflow-y:auto;padding:12px}.geometry-category{margin-bottom:16px;background:#3a3a3ab3;border:1px solid rgba(68,68,68,.8);border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;transition:all .3s ease}.geometry-category:hover{background:#404040cc;border-color:#007acc80;box-shadow:0 2px 8px #0003}.geometry-category-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .3s ease;background:#3a3a3af2;border-bottom:1px solid rgba(68,68,68,.8)}.geometry-category-header:hover{background:#4a4a4af2}.geometry-category-header h3{margin:0;font-size:14px;font-weight:600;color:#0af}.geometry-category-toggle{font-size:12px;color:#aaa;transition:all .3s ease}.geometry-category-header:hover .geometry-category-toggle{color:#0af}.geometry-blocks-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:12px}.geometry-block-item{position:relative;display:flex;flex-direction:column;align-items:center;padding:12px;background:#2a2a2ae6;border:2px solid rgba(68,68,68,.8);border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #0000001a;-webkit-user-select:none;user-select:none}.geometry-block-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0af3;border-color:#00aaff80;background:#3a3a3af2}.geometry-block-item.selected{background:#007acc33;border-color:#0afc;box-shadow:0 4px 12px #00aaff4d}.geometry-block-thumbnail{font-size:32px;margin-bottom:8px;transition:transform .3s ease;color:#0af}.geometry-block-item:hover .geometry-block-thumbnail{transform:scale(1.1)}.geometry-block-name{font-size:12px;font-weight:500;color:#fff;text-align:center;margin-bottom:4px}.geometry-block-favorite-btn{position:absolute;top:8px;right:8px;background:none;border:none;font-size:16px;color:#bdbdbd;cursor:pointer;padding:4px;transition:all .2s ease;border-radius:4px}.geometry-block-favorite-btn:hover{background:#ffd70033;color:gold}.geometry-block-favorite-btn.active{color:gold}.geometry-panel-footer{padding:16px;background:#fff;border-top:1px solid #e0e0e0}.selected-block-info h4{margin:0 0 8px;font-size:14px;font-weight:600;color:#333}.selected-block-info p{margin:0 0 12px;font-size:12px;color:#666}.geometry-panel-action-btn{width:100%;padding:10px 16px;background:#007acc;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .3s ease;box-shadow:0 2px 4px #007acc4d}.geometry-panel-action-btn:hover{background:#0069b3;box-shadow:0 4px 8px #007acc66;transform:translateY(-1px)}.geometry-panel-favorites{padding:12px;background:#e8f5e9;border-bottom:1px solid #c8e6c9}.geometry-panel-favorites h3{margin:0 0 8px;font-size:13px;font-weight:600;color:#2e7d32}.geometry-panel-content::-webkit-scrollbar{width:6px}.geometry-panel-content::-webkit-scrollbar-track{background:#2a2a2a80;border-radius:3px}.geometry-panel-content::-webkit-scrollbar-thumb{background:#555c;border-radius:3px}.geometry-panel-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#007acc,#0af)}.record-tray{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#2a2a2af2;border:1px solid rgba(68,68,68,.8);border-radius:12px;box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1000;min-width:200px;max-width:400px;padding:12px 16px;display:flex;align-items:center;gap:12px}.record-tray:hover{box-shadow:0 12px 40px #00000080;transform:translate(-50%) translateY(-2px)}.record-tray-content{flex:1;display:flex;align-items:center;gap:12px}.record-tray-icon{font-size:18px;color:#0af;min-width:24px;display:flex;align-items:center;justify-content:center}.record-tray-text{flex:1;color:#fff;font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-tray-actions{display:flex;gap:8px;align-items:center}.record-tray-btn{padding:6px 12px;background:#3a3a3ae6;border:1px solid rgba(68,68,68,.8);border-radius:6px;color:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.record-tray-btn:hover{background:#4a4a4af2;border-color:#0af;transform:translateY(-1px)}.record-tray-btn:active{transform:translateY(0)}.app.light-theme .record-tray{background:#fffffffa;border:1px solid rgba(211,209,203,.8);box-shadow:0 8px 32px #0000001a}.app.light-theme .record-tray-icon{color:#7d9d8c}.app.light-theme .record-tray-text{color:#3a3a38}.app.light-theme .record-tray-btn{background:#eae8e3;border:1px solid #D3D1CB;color:#3a3a38}.app.light-theme .record-tray-btn:hover{background:#a8c1b2;border-color:#7d9d8c}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;overflow:hidden}#root{width:100vw;height:100vh}
