.stage{width:100%;height:100%;border:2px solid transparent;cursor:default;position:relative;overflow:hidden;transition:border-color .2s ease;background-color:var(--bg-surface-secondary)}.stage:focus{outline:none}.stage canvas{top:0;left:0;width:100%;height:100%;position:absolute}.play-page{width:100vw;height:100vh;height:100dvh;display:flex;position:relative;align-items:center;justify-content:center;background-color:#000}.play-page .game-container{width:100%;height:100%;position:relative}.play-page .play-loading,.play-page .play-error{color:#fff;font-size:18px}.play-page .play-ui-overlay{top:0;left:0;width:100%;height:100%;display:flex;padding:20px 20px 12px;position:absolute;box-sizing:border-box;pointer-events:none;flex-direction:column;justify-content:space-between}.play-page .play-header{width:100%;display:flex;align-items:flex-start;justify-content:space-between}.play-page .play-stats{gap:15px;color:#fffc;display:flex;padding:6px 12px;font-size:12px;font-family:monospace;border-radius:4px;pointer-events:auto;background-color:#00000080}.play-page .play-controls{pointer-events:auto}.play-page .play-controls .icon-btn{color:#ffffffb3;border:none;cursor:pointer;padding:10px;font-size:24px;transition:all .2s;border-radius:50%;background-color:#0000004d}.play-page .play-controls .icon-btn:hover{color:#fff;background-color:#0009}.play-page .play-branding{gap:15px;display:flex;align-items:center;pointer-events:none;justify-content:flex-end}.play-page .play-branding .brand-link{color:#ffffff80;font-size:12px;font-weight:500;text-transform:uppercase;text-decoration:none}.play-page .play-branding .brand-link:hover{color:#fff}.play-page .loading-overlay{top:0;left:0;width:100%;height:100%;display:flex;z-index:20;position:absolute;align-items:center;justify-content:center;background-color:#000}.play-page .loading-overlay .loading-box{color:#eee;width:300px;text-align:center;font-family:sans-serif}.play-page .loading-overlay .loading-box h3{font-size:16px;font-weight:500;margin-bottom:15px;text-transform:uppercase;letter-spacing:1px}.play-page .loading-overlay .loading-box .progress-track{height:4px;overflow:hidden;border-radius:2px;margin-bottom:8px;background-color:#333}.play-page .loading-overlay .loading-box .progress-bar{height:100%;transition:width .2s ease;background-color:var(--accent-primary)}.play-page .loading-overlay .loading-box .progress-text{color:#888;font-size:12px;font-family:monospace}.play-page .play-btn-overlay{top:0;left:0;width:100%;height:100%;z-index:30;display:flex;position:absolute;align-items:center;justify-content:center;background-color:#0009}.play-page .play-btn-overlay .big-play-btn{color:#fff;width:100px;height:100px;border:4px solid white;cursor:pointer;display:flex;font-size:60px;transition:all .2s;align-items:center;padding:0 0 0 10px;border-radius:50%;justify-content:center;background-color:#ffffff1a}.play-page .play-btn-overlay .big-play-btn:hover{transform:scale(1.1);background-color:#ffffff4d}.flex{--flex-gap: 8px;--flex-padding: 8px;display:inline-flex;box-sizing:border-box}.flex--block{width:100%;display:flex}.flex>.divider{width:1px;height:100%;background:var(--divider-color);flex-shrink:0}.flex[direction=vertical]{flex-direction:column}.flex[direction=vertical]>.divider{width:100%;height:1px}.flex[justify=space-between]{justify-content:space-between}.flex[justify=center]{justify-content:center}.flex[justify=start]{justify-content:flex-start}.flex[justify=end]{justify-content:flex-end}.flex[justify=space-around]{justify-content:space-around}.flex[justify=space-evenly]{justify-content:space-evenly}.flex[align=center]{align-items:center}.flex[align=start]{align-items:flex-start}.flex[align=end]{align-items:flex-end}.flex[align=baseline]{align-items:baseline}.flex[align=stretch]{align-items:stretch}.flex[gap=small]{gap:var(--flex-gap)}.flex[gap=middle]{gap:calc(var(--flex-gap) * 2)}.flex[gap=large]{gap:calc(var(--flex-gap) * 3)}.flex[padding=small]{padding:var(--flex-padding)}.flex[padding=middle]{padding:calc(var(--flex-padding) * 2)}.flex[padding=large]{padding:calc(var(--flex-padding) * 3)}.otp-input-group{display:flex;gap:8px;justify-content:center;margin:10px 0}.otp-digit{width:40px;height:50px;font-size:24px;text-align:center;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-surface-secondary);color:var(--text-primary);font-family:monospace;font-weight:700;transition:all .2s ease}.otp-digit:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #007bff33;transform:translateY(-2px)}.otp-digit:disabled{opacity:.5;cursor:not-allowed}.custom-checkbox{gap:8px;width:unset!important;cursor:pointer;display:inline-flex;position:relative;-webkit-user-select:none;user-select:none;align-items:center}.custom-checkbox.disabled{cursor:not-allowed;opacity:.6}.custom-checkbox input{top:0;left:0;width:0;height:0;opacity:0;position:absolute}.custom-checkbox .checkmark{width:18px;height:18px;border:1px solid var(--border-color);transition:all .2s ease;align-items:center;border-radius:4px;background-color:var(--bg-surface-secondary)}.custom-checkbox .checkmark .check-icon{fill:none;width:10px;height:10px;stroke:#fff;display:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.custom-checkbox input:checked~.checkmark{background-color:var(--accent-primary)}.custom-checkbox input:checked~.checkmark .check-icon{display:block}.custom-checkbox .label-text{color:var(--text-primary);font-size:14px}.custom-text-input.disabled{cursor:not-allowed;opacity:.6;pointer-events:none;background-color:var(--bg-surface-secondary)}.color-input-container{height:24px;border:1px solid var(--border-color);overflow:hidden;border-radius:4px;background-color:var(--bg-surface-secondary)}.color-input-container .color-picker{width:22px!important;height:100%;border:none!important;cursor:pointer;margin:0;padding:4px!important;background:none;flex-shrink:0}.color-input-container .color-picker::-webkit-color-swatch-wrapper{padding:0}.color-input-container .color-picker::-webkit-color-swatch{border:1px solid rgba(0,0,0,.1);border-radius:2px}.color-input-container .color-text-input{width:100%;color:var(--text-primary);border:none!important;outline:none;padding:0 6px;min-width:0;font-size:11px;background:transparent;font-family:JetBrains Mono,monospace;border-left:1px solid var(--border-color)!important;border-radius:0!important;text-transform:uppercase}.color-input-container .color-text-input:focus{color:var(--text-primary);background-color:var(--bg-surface)}.number-input{width:100%;position:relative}.number-input.disabled{opacity:.6;pointer-events:none}.number-input .drag-overlay{top:0;left:0;width:100%;height:100%;cursor:ew-resize;position:absolute}.context-menu{position:fixed;z-index:9999;padding:4px;min-width:160px;box-shadow:0 4px 12px #0003;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-surface)}.context-menu-item{color:var(--text-primary);cursor:pointer;padding:8px 12px;font-size:13px;transition:background-color .1s;font-weight:500;border-radius:4px}.context-menu-item:hover{background-color:var(--bg-hover)}.context-menu-item.danger{color:var(--accent-danger-text)}.context-menu-item.danger:hover{color:#fff;background-color:var(--accent-danger-text)}.home-page{color:#333;width:100%;height:100%;overflow-y:auto;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;background-color:#e0e0e0}body.dark-theme .home-page{color:#eee;background-color:#111}.hero-grid{gap:40px;margin:0 auto;padding:60px 20px;display:grid;max-width:1200px;align-items:center;grid-template-columns:1.2fr 1fr}.hero-featured .featured-placeholder{color:#eee;background-color:#000}.hero-featured .featured-label{color:#666;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.hero-featured .featured-card{cursor:pointer;overflow:hidden;position:relative;box-shadow:0 10px 30px #0003;transition:transform .2s;aspect-ratio:16/9;border-radius:8px;background-color:#000}.hero-featured .featured-card:hover{transform:scale(1.01)}.hero-featured .featured-card:hover .play-overlay{opacity:1}.hero-featured .featured-card .preview-stage-wrapper{width:100%;height:100%;position:relative}.hero-featured .featured-card .preview-stage-wrapper .interaction-blocker{top:0;left:0;width:100%;height:100%;z-index:10;position:absolute}.hero-featured .featured-card .preview-stage-wrapper .preview-loading-overlay{top:0;left:0;width:100%;height:100%;display:flex;z-index:5;position:absolute;align-items:center;justify-content:center;background-color:#000}.hero-featured .featured-card .preview-stage-wrapper .preview-loading-overlay .spinner{width:30px;height:30px;border:3px solid rgba(255,255,255,.3);animation:spin 1s linear infinite;border-top:3px solid #fff;border-radius:50%}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hero-featured .featured-card .play-overlay{top:0;left:0;width:100%;height:100%;opacity:0;display:flex;z-index:20;position:absolute;transition:opacity .2s;align-items:center;justify-content:center;background-color:#0000004d}.hero-featured .featured-card .play-overlay .play-icon{color:#fff;width:64px;height:64px;display:flex;font-size:32px;transform:scale(1);transition:transform .2s;box-sizing:border-box;box-shadow:0 4px 20px #0006;align-items:center;padding-top:2px;padding-left:6px;border-radius:50%;justify-content:center;background-color:var(--accent-primary)}.hero-featured .featured-card .play-overlay:hover .play-icon{transform:scale(1.1)}.hero-featured .featured-card .featured-info{left:0;color:#fff;width:100%;bottom:0;padding:20px;z-index:15;position:absolute;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);box-sizing:border-box;pointer-events:none}.hero-featured .featured-card .featured-info h2{margin:0 0 5px;font-size:24px;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.5)}.hero-featured .featured-card .featured-info .meta{gap:10px;opacity:.9;display:flex;font-size:14px}.hero-featured .featured-card .featured-info .meta span{font-weight:600}.hero-content h1{color:#222;margin:0;font-size:64px;line-height:1;font-weight:800}.hero-content h1.sub{color:#666;font-weight:300}.hero-content p{color:#555;margin:20px 0 40px;max-width:500px;font-size:20px;line-height:1.5}body.dark-theme .hero-content h1{color:#fff}body.dark-theme .hero-content h1.sub{color:#aaa}body.dark-theme .hero-content p{color:#bbb}.hero-content .hero-actions{gap:15px;display:flex}.hero-content .hero-actions a{padding:12px 24px;font-size:16px;font-weight:700;text-shadow:1px 2px black;border-radius:30px;text-decoration:none;background-color:var(--color)}.hero-content .hero-actions a:hover{box-shadow:0 0 15px hsl(from var(--color) h s 25%)}.hero-content .hero-actions .btn-primary{--color: var(--accent-primary);color:#fff}.hero-content .hero-actions .btn-secondary{--color: #333;color:#ddd}.section-divider{height:1px;margin:0 auto;opacity:.5;max-width:1200px;background-color:#ccc}body.dark-theme .section-divider{background-color:#444}.community-section{margin:0 auto;padding:40px 20px;max-width:1200px}.community-section h3{color:#333;margin:0 0 20px;font-size:24px;font-weight:700}body.dark-theme .community-section h3{color:#eee}.community-section .games-grid{gap:20px;display:grid;grid-template-columns:repeat(4,1fr)}.community-section .games-grid .grid-card{cursor:pointer;overflow:hidden;box-shadow:0 2px 10px #0000000d;transition:transform .2s;border-radius:6px;background-color:#fff}body.dark-theme .community-section .games-grid .grid-card{background-color:#222}.community-section .games-grid .grid-card:hover{transform:translateY(-4px)}.community-section .games-grid .grid-card .card-thumb{aspect-ratio:16/9;background-color:#eee}body.dark-theme .community-section .games-grid .grid-card .card-thumb{background-color:#333}.community-section .games-grid .grid-card .card-details{padding:10px 12px}.community-section .games-grid .grid-card .card-details .card-title{overflow:hidden;font-size:14px;font-weight:700;white-space:nowrap;margin-bottom:4px;text-overflow:ellipsis}.community-section .games-grid .grid-card .card-details .card-author{color:#888;font-size:12px}@media (max-width: 900px){.hero-grid{text-align:center;grid-template-columns:1fr}.hero-content{align-items:center}.hero-content p{margin-left:auto;margin-right:auto}.games-grid{grid-template-columns:repeat(2,1fr)!important}}@media (max-width: 600px){.hero-title{font-size:40px}.games-grid{grid-template-columns:1fr!important}}.confirm-page{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--bg-main);box-sizing:border-box}.confirm-container{background-color:var(--bg-surface);padding:40px;border-radius:12px;border:1px solid var(--border-color);width:100%;max-width:400px;box-shadow:0 4px 20px #0000000d;text-align:center}.confirm-container.success{padding:60px 24px}.confirm-container .icon{font-size:48px;margin-bottom:20px}.confirm-container h2,.confirm-container h3{margin:0 0 15px;font-size:20px;color:var(--text-primary)}.confirm-container p{margin:0 0 30px;color:var(--text-secondary);line-height:1.6}.confirm-container .actions{display:flex;flex-direction:column;gap:15px}.confirm-container .confirm-btn,.confirm-container .cancel-btn{width:100%;padding:12px;border:1px solid;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease}.confirm-container .confirm-btn:disabled,.confirm-container .cancel-btn:disabled{opacity:.7;cursor:not-allowed}.confirm-container .confirm-btn{background-color:var(--accent-primary);border-color:var(--accent-primary);color:var(--accent-text)}.confirm-container .confirm-btn:hover:not(:disabled){background-color:var(--accent-primary-hover)}.confirm-container .cancel-btn{background-color:transparent;border-color:var(--border-color);color:var(--text-secondary)}.confirm-container .cancel-btn:hover:not(:disabled){background-color:var(--bg-hover)}.confirm-container .error-text{color:var(--accent-danger-text);background-color:var(--accent-danger-bg);padding:10px;border-radius:5px;text-align:center;margin-bottom:20px}.qr-code-login{display:flex;flex-direction:column;align-items:center;text-align:center;gap:15px}.qr-code-canvas-wrapper{padding:15px;background:#fff;border-radius:8px;line-height:0}.qr-code-login h3{margin:0;font-size:18px;color:var(--text-primary)}.qr-code-login p{margin:0;color:var(--text-secondary);max-width:280px}.qr-code-login .error-text{color:var(--accent-danger-text)}.qr-login-success{padding:40px 0}.qr-login-success .success-icon{font-size:48px;margin-bottom:10px}.auth-card{width:100%;display:flex;overflow:hidden;max-width:400px;box-shadow:0 10px 40px #00000014;border-radius:16px;flex-direction:column;background-color:var(--bg-surface);border:1px solid var(--border-color)}.login-method-tabs{display:flex;background-color:var(--bg-surface-secondary);border-bottom:1px solid var(--border-color)}.login-method-tabs button{flex:1;color:var(--text-secondary);border:none;cursor:pointer;padding:16px;font-size:14px;transition:all .2s ease;background:transparent;font-weight:600;border-bottom:2px solid transparent}.login-method-tabs button:hover{color:var(--text-primary);background-color:#00000005}.login-method-tabs button.active{color:var(--accent-primary);background-color:var(--bg-surface);border-bottom-color:var(--accent-primary)}.login-content,.verify-body{padding:32px}.header-group{text-align:center}.header-group h2{margin:0 0 8px;font-size:24px;color:var(--text-primary);font-weight:700;letter-spacing:-.5px}.header-group .subtitle{margin:0;color:var(--text-secondary);font-size:14px}.social-login{display:flex;gap:12px}.social-login .social-btn{width:100%;border:1px solid var(--border-color);cursor:pointer;display:flex;padding:10px;font-size:14px;transition:all .2s;align-items:center;font-weight:500;border-radius:8px;justify-content:center;background-color:var(--bg-surface);color:var(--text-primary)}.social-login .social-btn:hover{background-color:var(--bg-hover);border-color:#ccc}.social-login .social-btn svg{margin-right:10px}.social-login .social-btn.github{background-color:#24292e;color:#fff;border-color:#24292e}.social-login .social-btn.github:hover{background-color:#2f363d}.login-divider{width:100%;display:flex;align-items:center;margin:10px 0;color:var(--text-secondary);font-size:12px;font-weight:500}.login-divider:before,.login-divider:after{flex:1;height:1px;content:"";background:var(--border-color)}.login-divider span{padding:0 10px}.input-map-editor{width:100%;height:100%;display:flex;background-color:var(--bg-main)}.input-map-sidebar{width:320px;display:flex;padding:20px;flex-shrink:0;border-right:1px solid var(--border-color);flex-direction:column;background-color:var(--bg-surface)}.input-map-sidebar h3{margin:0 0 15px;font-size:16px;color:var(--text-primary);text-transform:uppercase}.input-map-sidebar .add-action-row{margin-bottom:20px}.input-map-sidebar .add-action-row input{flex:1;color:var(--text-primary);border:1px solid var(--border-color);padding:8px;outline:none;font-size:13px;border-radius:4px;background-color:var(--bg-surface-secondary)}.input-map-sidebar .add-action-row input:focus{border-color:var(--accent-primary)}.input-map-sidebar .add-action-row button{color:#fff;border:none;cursor:pointer;padding:0 12px;font-size:16px;font-weight:700;border-radius:4px;background-color:var(--accent-primary)}.input-map-sidebar .add-action-row button:hover{background-color:var(--accent-primary-hover)}.input-map-sidebar .actions-list{gap:10px;display:flex;overflow-y:auto;flex-direction:column}.input-map-sidebar .actions-list .action-item{border:1px solid var(--border-color);padding:10px;border-radius:6px;background-color:var(--bg-surface-secondary)}.input-map-sidebar .actions-list .action-item .action-header{display:flex;align-items:center;margin-bottom:8px;justify-content:space-between}.input-map-sidebar .actions-list .action-item .action-header .name{color:var(--text-primary);font-size:14px;font-weight:600}.input-map-sidebar .actions-list .action-item .action-header .controls{gap:5px;display:flex}.input-map-sidebar .actions-list .action-item .action-header .controls button{color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;padding:2px 8px;font-size:11px;background:var(--bg-surface);border-radius:3px}.input-map-sidebar .actions-list .action-item .action-header .controls button:hover{color:var(--text-primary);border-color:var(--text-primary)}.input-map-sidebar .actions-list .action-item .action-header .controls button.listening{color:#fff;border-color:#e67e22;background-color:#e67e22;animation:pulse 1s infinite}.input-map-sidebar .actions-list .action-item .action-header .controls button.delete-btn{color:#ff6b6b;border-color:transparent;background:transparent;font-size:16px;line-height:1;padding:0 4px}.input-map-sidebar .actions-list .action-item .action-header .controls button.delete-btn:hover{background-color:#ff6b6b1a}.input-map-sidebar .actions-list .action-item .bindings-list{gap:5px;display:flex;flex-wrap:wrap}.input-map-sidebar .actions-list .action-item .bindings-list .empty-hint{color:var(--text-secondary);font-size:11px;font-style:italic}.input-map-sidebar .actions-list .action-item .bindings-list .binding-tag{gap:5px;color:var(--text-primary);border:1px solid var(--border-color);display:flex;padding:2px 6px;font-size:11px;align-items:center;font-family:monospace;border-radius:4px;background-color:var(--bg-surface)}.input-map-sidebar .actions-list .action-item .bindings-list .binding-tag span{color:var(--text-secondary);cursor:pointer;font-weight:700}.input-map-sidebar .actions-list .action-item .bindings-list .binding-tag span:hover{color:var(--accent-danger-text)}.input-map-preview{flex:1;display:flex;align-items:center;justify-content:center;background-color:var(--bg-main)}.input-map-preview .preview-content{color:var(--text-secondary);padding:40px;max-width:400px;text-align:center}.input-map-preview .preview-content .icon{opacity:.2;font-size:64px;margin-bottom:20px}.input-map-preview .preview-content h2{margin:0 0 10px;color:var(--text-primary);font-size:20px}.input-map-preview .preview-content p{font-size:14px;line-height:1.5}.input-map-preview .preview-content code{color:var(--accent-primary);padding:2px 6px;display:inline-block;font-size:13px;margin-top:10px;font-family:monospace;border-radius:4px;background-color:var(--bg-surface-secondary)}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.feedback-panel{width:100%;height:100%;display:flex;overflow:hidden;justify-content:center;background-color:var(--bg-main)}.feedback-container{width:100%;display:flex;max-width:800px;border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);flex-direction:column;background-color:var(--bg-surface)}.feedback-header{padding:20px;display:flex;align-items:center;flex-shrink:0;border-bottom:1px solid var(--border-color);justify-content:space-between;background-color:var(--bg-surface-secondary)}.feedback-header h2{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.feedback-header .stats-pill{gap:10px;color:var(--text-secondary);border:1px solid var(--border-color);display:flex;padding:4px 12px;font-size:13px;background:var(--bg-surface);font-weight:600;align-items:center;border-radius:20px}.comment-feed{gap:20px;padding:20px;display:flex;flex-grow:1;overflow-y:auto;flex-direction:column}.comment-thread{border:1px solid var(--border-color);display:flex;padding:15px;border-radius:8px;flex-direction:column;background-color:var(--bg-surface)}.comment-thread .comment-main{width:100%}.comment-thread .avatar{width:36px;color:#fff;height:36px;display:flex;font-size:16px;font-weight:700;flex-shrink:0;align-items:center;border-radius:50%;justify-content:center;background-color:var(--accent-primary)}.comment-thread .avatar.small{width:24px;height:24px;font-size:11px}.comment-thread .avatar.dev{background-color:#8e44ad}.comment-thread .content{flex-grow:1}.comment-thread .content .meta{font-size:12px}.comment-thread .content .meta .author{color:var(--text-primary);font-weight:700}.comment-thread .content .meta .date{color:var(--text-secondary)}.comment-thread .content .meta .dev-tag{color:#8e44ad}.comment-thread .content .meta .badge{color:#fff;padding:1px 4px;font-size:9px;background:#8e44ad;margin-left:6px;border-radius:3px}.comment-thread .content .text{color:var(--text-primary);margin:0;font-size:14px;line-height:1.5}.comment-thread .content .actions{margin-top:5px}.comment-thread .content .actions .action-btn{color:var(--text-secondary);border:none;cursor:pointer;padding:0;font-size:12px;background:none}.comment-thread .content .actions .action-btn:hover{color:var(--text-primary);text-decoration:underline}.comment-thread .content .actions .like-btn.liked{color:#e74c3c}.comment-thread .content .actions .like-btn:hover{color:#e74c3c;text-decoration:none}.comment-thread .content .actions .delete-btn:hover{color:var(--accent-danger-text)}.replies-list{gap:10px;display:flex;margin-top:10px;border-top:1px solid var(--border-color-light);padding-top:10px;padding-left:48px;flex-direction:column}.replies-list .reply-item{padding:8px;background:var(--bg-surface-secondary);border-radius:6px}.reply-input-area,.main-input-area{display:flex;flex-shrink:0;flex-direction:column}.reply-input-area textarea,.main-input-area textarea{width:100%;color:var(--text-primary);height:60px;resize:none;border:1px solid var(--border-color);outline:none;padding:10px;font-size:13px;box-sizing:border-box;font-family:inherit;border-radius:6px 6px 0 0;background-color:var(--bg-surface-secondary)}.reply-input-area textarea:focus,.main-input-area textarea:focus{border-color:var(--accent-primary);background-color:var(--bg-surface)}.reply-input-area .input-footer,.main-input-area .input-footer{gap:8px;border:1px solid var(--border-color);display:flex;padding:8px 10px;border-top:none;border-radius:0 0 6px 6px;justify-content:flex-end;background-color:var(--bg-surface-secondary)}.reply-input-area .input-footer .cancel-btn,.main-input-area .input-footer .cancel-btn{color:var(--text-secondary);border:none;cursor:pointer;padding:6px 12px;font-size:12px;font-weight:600;background-color:transparent}.reply-input-area .input-footer .cancel-btn:hover,.main-input-area .input-footer .cancel-btn:hover{color:var(--text-primary)}.reply-input-area .input-footer .post-btn,.main-input-area .input-footer .post-btn{color:#fff;border:none;cursor:pointer;padding:6px 12px;font-size:12px;font-weight:600;border-radius:4px;background-color:var(--accent-primary)}.reply-input-area .input-footer .post-btn:hover,.main-input-area .input-footer .post-btn:hover{background-color:var(--accent-primary-hover)}.reply-input-area{margin-top:10px;padding-left:48px}.main-input-area{padding:15px 20px;border-top:1px solid var(--border-color)}.main-input-area textarea{height:80px}.scene-tree{width:100%;height:100%;display:flex;flex-shrink:0;flex-direction:column;background-color:var(--bg-surface)}.scene-tree .tree-header{color:var(--text-secondary);display:flex;padding:10px 12px;font-size:12px;background:var(--bg-surface-secondary);font-weight:700;align-items:center;border-bottom:1px solid var(--border-color);text-transform:uppercase;justify-content:space-between}.scene-tree .tree-header .header-actions{gap:4px;display:flex}.scene-tree .tree-header button{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;padding:2px 6px;font-size:14px;background:none;line-height:1;border-radius:3px}.scene-tree .tree-header button:hover{color:var(--text-primary);background:var(--bg-hover)}.scene-tree .tree-content{padding:5px;flex-grow:1;overflow-y:auto}.scene-tree .empty-tree{color:var(--text-secondary);padding:20px;font-size:12px;font-style:italic;text-align:center}.scene-tree .tree-item{color:var(--text-primary);border:1px solid transparent;cursor:pointer;display:flex;padding:4px 8px;position:relative;font-size:14px;align-items:center;border-radius:4px;margin-bottom:2px}.scene-tree .tree-item:hover{background-color:var(--bg-hover)}.scene-tree .tree-item.selected{color:var(--accent-text);background-color:var(--accent-primary)}.scene-tree .tree-item.selected .icon,.scene-tree .tree-item.selected .expand-toggle,.scene-tree .tree-item.selected .actions button{color:#fffc}.scene-tree .tree-item.selected .actions button:hover{color:#fff;background:#fff3}.scene-tree .tree-item.drop-before:before{top:0;left:0;right:0;height:2px;content:"";z-index:10;position:absolute;background-color:var(--accent-primary)}.scene-tree .tree-item.drop-after:after{left:0;right:0;bottom:0;height:2px;content:"";z-index:10;position:absolute;background-color:var(--accent-primary)}.scene-tree .tree-item.drop-inside{border:1px dashed var(--accent-primary);background-color:#007bff1a}.scene-tree .tree-item .rename-input{flex:1;color:var(--text-primary);border:0;outline:none;padding:0 4px;min-width:50px;font-size:inherit;background:var(--bg-surface);margin-left:-4px;line-height:inherit;border-radius:2px}.scene-tree .tree-item .expand-toggle{color:var(--text-secondary);width:12px;font-size:10px;text-align:center;margin-right:6px}.scene-tree .tree-item .expand-toggle:hover{color:var(--text-primary)}.scene-tree .tree-item .icon{font-size:14px;margin-right:8px}.scene-tree .tree-item .label{overflow:hidden;flex-grow:1;white-space:nowrap;text-overflow:ellipsis}.scene-tree .tree-item .actions{gap:4px;display:none;margin-left:4px}.scene-tree .tree-item .actions button{color:var(--text-secondary);border:none;cursor:pointer;padding:0 2px;font-size:14px;background:none}.scene-tree .tree-item .actions button:hover{color:var(--text-primary)}.scene-tree .tree-item:hover .actions{display:flex}.scene-picker-overlay{top:0;left:0;width:100vw;height:100vh;z-index:3000;display:flex;position:fixed;align-items:center;justify-content:center;background-color:#0009}.scene-picker-modal{width:300px;border:1px solid var(--border-color);display:flex;overflow:hidden;box-shadow:0 4px 20px #00000080;max-height:400px;border-radius:8px;flex-direction:column;background-color:var(--bg-surface)}.scene-picker-modal .picker-header{display:flex;padding:12px 15px;align-items:center;border-bottom:1px solid var(--border-color);justify-content:space-between;background-color:var(--bg-surface-secondary)}.scene-picker-modal .picker-header span{color:var(--text-primary);font-size:14px;font-weight:700}.scene-picker-modal .picker-header button{color:var(--text-secondary);cursor:pointer;border:none;padding:0;font-size:18px;background:none;line-height:1}.scene-picker-modal .picker-header button:hover{color:var(--text-primary)}.scene-picker-modal .picker-list{padding:8px;flex-grow:1;overflow-y:auto}.scene-picker-modal .picker-list .picker-empty{color:var(--text-secondary);padding:20px;font-size:13px;font-style:italic;text-align:center}.scene-picker-modal .picker-list .picker-item{cursor:pointer;display:flex;padding:8px 10px;transition:background-color .2s;align-items:center;border-radius:4px}.scene-picker-modal .picker-list .picker-item:hover{background-color:var(--bg-hover)}.scene-picker-modal .picker-list .picker-item .icon{font-size:18px;margin-right:10px}.scene-picker-modal .picker-list .picker-item .info{display:flex;flex-direction:column}.scene-picker-modal .picker-list .picker-item .info .name{color:var(--text-primary);font-size:14px;font-weight:500}.scene-picker-modal .picker-list .picker-item .info .type{color:var(--text-secondary);font-size:10px;text-transform:uppercase}.workspace-editor{width:100%;height:100%;padding:1rem;display:flex;overflow:hidden;box-sizing:border-box;flex-direction:column;background-color:var(--bg-surface-secondary)}.editor-container{overflow:hidden;position:relative;flex-grow:1;border-radius:.5rem}.codemirror-wrapper{height:100%;font-size:14px}.codemirror-wrapper .cm-editor{height:100%}.codemirror-wrapper .cm-scroller{font-family:JetBrains Mono,Fira Code,monospace;line-height:1.5}.map-toolbar{padding:8px 16px;flex-shrink:0;border-bottom:1px solid var(--border-color);background-color:var(--bg-surface-secondary)}.map-toolbar .toolbar-row{gap:15px}.editor-stats{gap:15px;color:var(--text-secondary);border:1px solid var(--border-color);padding:4px 10px;display:flex;font-size:11px;font-family:monospace;margin-left:auto;border-radius:4px;background-color:var(--bg-surface)}.status-bar{left:0;right:0;color:#ccc;bottom:0;height:32px;z-index:25;display:flex;padding:0 10px;position:absolute;font-size:11px;border-top:1px solid var(--border-color);align-items:center;background-color:#1e1e1e}.status-bar .panel-toggle-btn{gap:6px;color:#eee;border:none;cursor:pointer;height:100%;display:flex;padding:0 10px;font-size:12px;transition:all .2s;background:transparent;align-items:center;font-weight:600;white-space:nowrap;border-right:1px solid #333}.status-bar .panel-toggle-btn:hover,.status-bar .panel-toggle-btn.active{color:var(--accent-primary);background-color:#333}.status-bar .panel-toggle-btn .icon{font-size:10px}.status-bar .spacer{flex-grow:1}.status-bar .status-info{color:#999}.status-bar .status-info .info-item{min-width:60px;text-align:right}.inspector-row label{width:90px;color:var(--text-secondary);overflow:hidden;font-size:12px;text-align:left;flex-shrink:0;white-space:nowrap;text-overflow:ellipsis}.inspector-row .input-wrap{height:24px;display:flex;flex-grow:1}.inspector-row .input-wrap input[type=text],.inspector-row .input-wrap select{color:var(--text-primary);width:100%;height:100%;border:1px solid var(--border-color);outline:none;font-size:12px;box-sizing:border-box;transition:border-color .1s;font-family:JetBrains Mono,monospace;border-radius:4px;padding-inline:6px;background-color:var(--bg-input)}.inspector-row .input-wrap input[type=text]:focus,.inspector-row .input-wrap select:focus{border-color:var(--accent-primary)}.inspector-row .input-wrap input[type=checkbox]{margin:0;cursor:pointer}.component-container{--bg-component: #202020;border-bottom:1px solid var(--border-color);background-color:var(--bg-component)}.component-container.collapsed{--bg-component: var(--bg-surface-secondary)}.component-container .component-header{color:var(--text-primary);height:30px;font-size:12px;font-weight:700;-webkit-user-select:none;user-select:none;padding-inline:12px;text-transform:uppercase;background-color:var(--bg-component)}.component-container .component-header.clickable{cursor:pointer}.component-container .component-header.clickable:hover{background-color:hsl(from var(--bg-component) h s 10%)}.component-container .component-header .arrow{width:14px;color:var(--text-secondary);display:inline-block;font-size:9px;margin-right:4px}.component-container .component-body{--margin: 8px;gap:var(--inspector-rows-gap);width:calc(100% - var(--margin) * 2);margin:var(--margin);padding:12px;overflow:hidden;box-shadow:inset 0 2px 6px 2px #0009;border-radius:6px;background-color:var(--bg-surface)}.physics-editor-container{width:100%;height:100%;display:flex;overflow:hidden;position:relative;min-height:0;max-height:100%;box-sizing:border-box;flex-direction:column}.physics-editor-container .canvas-area{flex:1 1 0;width:100%;height:100%;display:block;position:relative;overflow:hidden;min-height:0;background:radial-gradient(#1a1a1a 1px,transparent 0);background-size:20px 20px;background-color:#000}.physics-editor-container .canvas-area .physics-canvas{inset:0;display:block;outline:none;position:absolute}.physics-editor-container .physics-footer{height:60px;display:flex;padding:0 20px;border-top:1px solid #333;box-sizing:border-box;flex-shrink:0;align-items:center;justify-content:space-between;background-color:#252525}.physics-editor-container .physics-footer .instructions{gap:20px;color:#aaa;display:flex;font-size:13px;font-weight:500}.physics-editor-container .physics-footer .instructions .inst-row span{margin-right:5px;color:#ddd}.physics-editor-container .physics-footer .actions{gap:10px;display:flex}.physics-editor-container .physics-footer .actions button{color:#eee;border:1px solid #555;cursor:pointer;padding:6px 12px;font-size:12px;background:#333;transition:all .2s;font-weight:600;border-radius:4px}.physics-editor-container .physics-footer .actions button:hover{background:#444;border-color:#777}.physics-editor-container .physics-footer .actions button.clear-btn{color:#ff6b6b;border-color:#803030}.physics-editor-container .physics-footer .actions button.clear-btn:hover{background:#ff6b6b1a;border-color:#ff6b6b}.animation-editor-modal{top:0;left:0;width:100vw;height:100vh;z-index:5000;display:flex;position:fixed;background:#000c;align-items:center;justify-content:center}.animation-editor-modal .modal-content{color:#eee;width:95%;height:95%;border:1px solid #444;display:flex;overflow:hidden;background:#1e1e1e;box-shadow:0 10px 30px #00000080;border-radius:8px;flex-direction:column}.animation-editor-modal .modal-content .modal-header{padding:10px 20px;display:flex;background:#252525;align-items:center;flex-shrink:0;border-bottom:1px solid #333;justify-content:space-between}.animation-editor-modal .modal-content .modal-header h3{color:#ddd;margin:0;font-size:14px;font-weight:700;text-transform:uppercase}.animation-editor-modal .modal-content .modal-header button{color:#aaa;cursor:pointer;border:1px solid #444;padding:6px 12px;font-size:12px;background:#333;border-radius:4px}.animation-editor-modal .modal-content .modal-header button:hover{color:#fff;background:#444}.animation-editor-modal .modal-content .editor-body{display:flex;overflow:hidden;flex-grow:1}.animation-editor-modal .modal-content .editor-body .sidebar{width:200px;display:flex;background:#252525;flex-shrink:0;border-right:1px solid #333;flex-direction:column}.animation-editor-modal .modal-content .editor-body .sidebar .sidebar-header{display:flex;padding:10px 15px;align-items:center;border-bottom:1px solid #333;justify-content:space-between}.animation-editor-modal .modal-content .editor-body .sidebar .sidebar-header .add-btn{color:#fff;cursor:pointer;border:none;padding:4px 10px;font-size:14px;background:var(--accent-primary);border-radius:3px}.animation-editor-modal .modal-content .editor-body .sidebar .sidebar-header .add-btn:hover{background:var(--accent-primary-hover)}.animation-editor-modal .modal-content .editor-body .sidebar .anim-list{flex-grow:1;overflow-y:auto}.animation-editor-modal .modal-content .editor-body .sidebar .anim-list .anim-item{color:#ccc;cursor:pointer;padding:10px 15px;display:flex;font-size:13px;border-left:3px solid transparent;align-items:center;justify-content:space-between}.animation-editor-modal .modal-content .editor-body .sidebar .anim-list .anim-item:hover{background:#ffffff0d}.animation-editor-modal .modal-content .editor-body .sidebar .anim-list .anim-item.active{color:#fff;background:#007bff1a;font-weight:500;border-left-color:var(--accent-primary)}.animation-editor-modal .modal-content .editor-body .sidebar .anim-list .anim-item .delete-btn{color:#666;opacity:0;padding:0 5px;font-weight:700}.animation-editor-modal .modal-content .editor-body .sidebar .anim-list .anim-item .delete-btn:hover{color:var(--accent-danger-text)}.animation-editor-modal .modal-content .editor-body .sidebar .anim-list .anim-item:hover .delete-btn{opacity:1}.animation-editor-modal .modal-content .editor-body .main-area{display:flex;flex-grow:1;min-width:0;background:#1e1e1e;flex-direction:column}.animation-editor-modal .modal-content .editor-body .main-area .properties-bar{gap:20px;display:flex;padding:10px 20px;background:#252525;flex-shrink:0;align-items:center;border-bottom:1px solid #333}.animation-editor-modal .modal-content .editor-body .main-area .properties-bar .prop-group{gap:4px;display:flex;flex-direction:column}.animation-editor-modal .modal-content .editor-body .main-area .properties-bar .prop-group label{color:#888;font-size:10px;font-weight:600;text-transform:uppercase}.animation-editor-modal .modal-content .editor-body .main-area .properties-bar .prop-group input{color:#fff;border:1px solid #444;padding:6px 8px;font-size:13px;min-width:60px;background:#1a1a1a;border-radius:4px}.animation-editor-modal .modal-content .editor-body .main-area .properties-bar .prop-group.checkbox{align-items:center;padding-top:14px;flex-direction:row}.animation-editor-modal .modal-content .editor-body .main-area .properties-bar .prop-group.checkbox input{margin:0 6px 0 0}.animation-editor-modal .modal-content .editor-body .main-area .properties-bar .zoom-controls{gap:2px;display:flex;padding:2px;background:#333;margin-left:auto;border-radius:4px}.animation-editor-modal .modal-content .editor-body .main-area .properties-bar .zoom-controls button{color:#ccc;width:24px;height:24px;border:none;cursor:pointer;background:transparent;align-items:center;justify-content:center}.animation-editor-modal .modal-content .editor-body .main-area .properties-bar .zoom-controls button:hover{background:#444}.animation-editor-modal .modal-content .editor-body .main-area .editor-split{display:flex;overflow:hidden;flex-grow:1}.animation-editor-modal .modal-content .editor-body .main-area .editor-split .canvas-container{flex:1;padding:40px;display:flex;overflow:auto;position:relative;background-size:20px 20px;background-color:#151515;background-image:radial-gradient(#222 1px,transparent 0)}.animation-editor-modal .modal-content .editor-body .main-area .editor-split .canvas-container .canvas-wrapper{border:1px solid #333;margin:auto;position:relative;background:#222}.animation-editor-modal .modal-content .editor-body .main-area .editor-split .canvas-container .canvas-wrapper canvas{cursor:crosshair;display:block}.animation-editor-modal .modal-content .editor-body .main-area .editor-split .canvas-container .canvas-wrapper .add-frame-tooltip{z-index:10;position:absolute;transform:translate(-50%)}.animation-editor-modal .modal-content .editor-body .main-area .editor-split .canvas-container .canvas-wrapper .add-frame-tooltip button{color:#fff;border:none;cursor:pointer;padding:4px 8px;font-size:11px;background:var(--accent-primary);font-weight:600;border-radius:4px}.animation-editor-modal .modal-content .editor-body .main-area .editor-split .right-panel{width:300px;display:flex;background:#202020;border-left:1px solid #333;flex-direction:column}.animation-editor-modal .modal-content .editor-body .main-area .editor-split .right-panel .frame-inspector{height:100%;display:flex;flex-direction:column}.animation-editor-modal .modal-content .editor-body .main-area .editor-split .right-panel .frame-inspector .inspector-header{padding:10px;display:flex;font-size:13px;background:#252525;flex-shrink:0;font-weight:700;align-items:center;border-bottom:1px solid #333;justify-content:space-between}.animation-editor-modal .modal-content .editor-body .main-area .editor-split .right-panel .frame-inspector .inspector-header span{white-space:nowrap;margin-right:10px}.animation-editor-modal .modal-content .editor-body .main-area .editor-split .right-panel .frame-inspector .inspector-header .toggles{gap:5px;display:flex;flex-wrap:wrap;justify-content:flex-end}.animation-editor-modal .modal-content .editor-body .main-area .editor-split .right-panel .frame-inspector .inspector-header .toggles button{color:#aaa;border:1px solid #444;cursor:pointer;padding:4px 10px;font-size:11px;background:#333;white-space:nowrap;border-radius:4px}.animation-editor-modal .modal-content .editor-body .main-area .editor-split .right-panel .frame-inspector .inspector-header .toggles button:hover{color:#fff;border-color:#666}.animation-editor-modal .modal-content .editor-body .main-area .editor-split .right-panel .frame-inspector .inspector-header .toggles button.active{color:#fff;background:var(--accent-primary);border-color:var(--accent-primary)}.animation-editor-modal .modal-content .editor-body .main-area .editor-split .right-panel .frame-inspector .inspector-header .toggles button.red.active{color:#fff;background:#d35400;border-color:#d35400}.animation-editor-modal .modal-content .editor-body .main-area .editor-split .right-panel .frame-inspector .hitbox-editor-wrapper{flex:1;display:flex;position:relative;overflow:hidden;background:#000;min-height:0;flex-direction:column}.animation-editor-modal .modal-content .editor-body .main-area .editor-split .right-panel .frame-inspector .hitbox-editor-wrapper .help-text{color:#888;padding:5px;font-size:11px;text-align:center;background:#252525}.animation-editor-modal .modal-content .editor-body .main-area .editor-split .right-panel .frame-inspector .frame-props{gap:15px;padding:15px;display:flex;flex-direction:column}.animation-editor-modal .modal-content .editor-body .main-area .editor-split .right-panel .frame-inspector .frame-props .prop-row{gap:10px;display:flex;align-items:center}.animation-editor-modal .modal-content .editor-body .main-area .editor-split .right-panel .frame-inspector .frame-props .prop-row label{flex:1;color:#aaa;font-size:12px}.animation-editor-modal .modal-content .editor-body .main-area .editor-split .right-panel .frame-inspector .frame-props .prop-row input{color:#fff;width:60px;border:1px solid #444;padding:4px;background:#111}.animation-editor-modal .modal-content .editor-body .main-area .editor-split .right-panel .frame-inspector .frame-props .events-list{gap:5px;display:flex;flex-wrap:wrap}.animation-editor-modal .modal-content .editor-body .main-area .editor-split .right-panel .frame-inspector .frame-props .events-list .event-tag{gap:5px;color:#eee;border:1px solid #444;padding:2px 6px;display:flex;font-size:11px;background:#333;align-items:center;border-radius:4px}.animation-editor-modal .modal-content .editor-body .main-area .editor-split .right-panel .frame-inspector .frame-props .events-list .event-tag span{color:#aaa;cursor:pointer}.animation-editor-modal .modal-content .editor-body .main-area .editor-split .right-panel .frame-inspector .frame-props .events-list .event-tag span:hover{color:#ff6b6b}.animation-editor-modal .modal-content .editor-body .main-area .timeline{height:140px;display:flex;border-top:1px solid #333;background:#252525;flex-shrink:0;flex-direction:column}.animation-editor-modal .modal-content .editor-body .main-area .timeline .timeline-header{color:#888;padding:8px 15px;font-size:11px;font-weight:700;border-bottom:1px solid #333;text-transform:uppercase}.animation-editor-modal .modal-content .editor-body .main-area .timeline .timeline-tracks{gap:8px;padding:0 15px;display:flex;flex-grow:1;overflow-x:auto;overflow-y:hidden;align-items:center}.animation-editor-modal .modal-content .editor-body .main-area .timeline .timeline-tracks .frame-item{cursor:pointer;border:1px solid #444;height:80px;display:flex;position:relative;min-width:60px;background:#333;align-items:center;flex-shrink:0;-webkit-user-select:none;user-select:none;border-radius:4px;flex-direction:column;justify-content:center}.animation-editor-modal .modal-content .editor-body .main-area .timeline .timeline-tracks .frame-item.selected{background:#0d6efd1a;border-color:var(--accent-primary)}.animation-editor-modal .modal-content .editor-body .main-area .timeline .timeline-tracks .frame-item .frame-idx{color:#eee;font-size:16px;font-weight:700}.animation-editor-modal .modal-content .editor-body .main-area .timeline .timeline-tracks .frame-item .frame-indicators{gap:2px;display:flex;margin-top:4px}.animation-editor-modal .modal-content .editor-body .main-area .timeline .timeline-tracks .frame-item .frame-indicators .ind{padding:1px 3px;font-size:9px;font-weight:700;border-radius:2px}.animation-editor-modal .modal-content .editor-body .main-area .timeline .timeline-tracks .frame-item .frame-indicators .ind.hit{color:#fff;background:#d35400}.animation-editor-modal .modal-content .editor-body .main-area .timeline .timeline-tracks .frame-item .frame-indicators .ind.evt{color:#fff;background:#8e44ad}.animation-editor-modal .modal-content .editor-body .main-area .timeline .timeline-tracks .frame-item .delete-frame{top:4px;right:4px;width:16px;color:#aaa;height:16px;cursor:pointer;display:none;position:absolute;font-size:12px;background:#444;align-items:center;border-radius:50%;justify-content:center}.animation-editor-modal .modal-content .editor-body .main-area .timeline .timeline-tracks .frame-item .delete-frame:hover{color:#fff;background:#d35400}.animation-editor-modal .modal-content .editor-body .main-area .timeline .timeline-tracks .frame-item:hover .delete-frame{display:flex}.property-group .property-header{color:var(--text-secondary);cursor:pointer;display:flex;padding:4px 0;font-size:12px;transition:color .1s;font-weight:600;align-items:center;-webkit-user-select:none;user-select:none}.property-group .property-header:hover{color:var(--text-primary)}.property-group .property-header .arrow{width:12px;font-size:9px;margin-right:2px}.property-group .property-body{border-left:1px solid var(--border-color);margin-left:4px;padding-left:10px;margin-bottom:6px}.property-body{gap:var(--inspector-rows-gap)}.inspector{--bg-input: #050505;--inspector-rows-gap: 6px;width:300px;height:100%;display:flex;overflow-y:hidden;border-left:1px solid var(--border-color);flex-shrink:0;flex-direction:column;background-color:var(--bg-surface)}.inspector .inspector-main-header{height:42px;display:flex;align-items:center;flex-shrink:0;border-bottom:1px solid var(--border-color);justify-content:space-between;background-color:var(--bg-surface-secondary)}.inspector .inspector-main-header .tab-buttons{width:100%;height:100%;display:flex;align-items:flex-end}.inspector .inspector-main-header .tab-buttons button{flex:1;color:var(--text-secondary);border:none;height:100%;cursor:pointer;opacity:.7;padding:10px 0;font-size:13px;background:transparent;transition:all .2s ease;font-weight:600;border-bottom:2px solid transparent;text-transform:uppercase;letter-spacing:.5px}.inspector .inspector-main-header .tab-buttons button:hover{color:var(--text-primary);opacity:1;background-color:var(--bg-hover)}.inspector .inspector-main-header .tab-buttons button.active{color:var(--accent-primary);opacity:1;border-color:var(--accent-primary);background-color:var(--bg-surface)}.inspector .stats-panel{height:100%;padding:20px;overflow-y:auto}.inspector .stats-panel h3{color:var(--text-primary);margin:0 0 10px;font-size:14px;text-transform:uppercase}.inspector .stats-panel .stat-row{color:var(--text-secondary);display:flex;font-size:13px;margin-bottom:8px;justify-content:space-between}.inspector .stats-panel .stat-row .val{color:var(--text-primary);font-family:monospace;font-weight:600}.inspector .stats-panel .divider{height:1px;margin:15px 0;background:var(--border-color)}.inspector .inspector-content{overflow-y:auto}.add-component-btn{color:#eee;width:100%;border:1px solid #444;cursor:pointer;padding:8px;font-size:12px;background:#333;font-weight:600;border-radius:4px}.add-component-btn:hover{background:#444}.remove-component-btn{color:#666;border:none;cursor:pointer;padding:2px 6px;font-size:14px;background:transparent;transition:color .1s;font-weight:700;line-height:1}.remove-component-btn:hover{color:var(--accent-danger-text)}.add-component-menu{gap:1px;border:1px solid #333;display:flex;padding:4px;margin-top:5px;background:#1a1a1a;box-shadow:0 4px 12px #00000080;border-radius:6px;flex-direction:column}.add-component-menu .component-option-btn{color:#ccc;border:none;cursor:pointer;padding:6px 10px;font-size:12px;text-align:left;background:transparent;border-radius:3px}.add-component-menu .component-option-btn:hover{color:#fff;background:var(--accent-primary)}.add-component-menu .cancel-add-btn{color:#aaa;border:1px solid #333;cursor:pointer;padding:4px;font-size:11px;margin-top:4px;background:#222;border-radius:3px}.add-component-menu .cancel-add-btn:hover{color:#fff;background:#333}.script-list{gap:4px;display:flex;margin-bottom:8px;flex-direction:column}.script-list .script-item{border:1px solid #333;display:flex;padding:4px 8px;font-size:11px;background:#0a0a0a;align-items:center;border-radius:4px;justify-content:space-between}.script-list .script-item .script-name{color:#ccc}.script-list .script-item .remove-script-btn{color:#666;border:none;cursor:pointer;padding:0;font-size:14px;background:transparent}.script-list .script-item .remove-script-btn:hover{color:var(--accent-danger-text)}.script-select-wrap select{color:#ccc;width:100%;border:1px solid #333;padding:4px;font-size:11px;background:#0a0a0a;border-radius:4px}.script-select-wrap select:hover{border-color:#555}.toolbar-inline-btn{color:#ccc;width:100%;cursor:pointer;border:1px solid #444;padding:4px 8px;font-size:11px;background:#222;transition:all .1s;border-radius:3px}.toolbar-inline-btn:hover{color:#fff;background:#333}.toolbar-inline-btn.active{color:#fff;background:var(--accent-primary);border-color:var(--accent-primary)}.multi-select-msg{color:#888;padding:20px;text-align:center}.vertical-fader-container{width:30px;height:100%;cursor:ns-resize;position:relative}.vertical-fader-container .fader-groove{top:0;left:50%;width:8px;bottom:0;border:1px solid #333;position:absolute;background:#000;margin-left:-4px;border-radius:99px}.vertical-fader-container .fader-thumb{left:7px;width:16px;height:30px;border:1px solid #000;position:absolute;box-shadow:0 4px 6px #00000080,inset 0 1px #fff3;background:linear-gradient(to bottom,#555,#333);border-radius:4px;pointer-events:none}.vertical-fader-container .fader-thumb.active{background:linear-gradient(to bottom,#666,#444)}.vertical-fader-container .fader-thumb .thumb-line{top:50%;left:3px;right:3px;height:2px;position:absolute;background:#000;border-bottom:1px solid #666}.audio-mixer{color:#ccc;overflow:hidden;-webkit-user-select:none;user-select:none;background-color:#1a1a1a}.audio-mixer .mixer-toolbar{padding:8px 12px;flex-shrink:0;border-bottom:1px solid #333;background-color:#252525}.audio-mixer .mixer-toolbar .add-bus-btn{color:#eee;border:1px solid #555;cursor:pointer;padding:6px 12px;font-size:12px;transition:all .1s;font-weight:500;border-radius:4px;background-color:#333}.audio-mixer .mixer-toolbar .add-bus-btn:hover{color:#fff;border-color:#777;background-color:#444}.audio-mixer .mixer-scroll-area{padding:10px 20px;flex-grow:1;overflow-x:auto;overflow-y:hidden}.bus-strip{width:80px;border:1px solid #000;overflow:hidden;box-shadow:2px 2px 5px #0000004d;min-height:250px;flex-shrink:0;border-radius:4px;background-color:#222}.bus-strip .bus-header{height:50px;padding:4px;box-sizing:border-box;flex-shrink:0;border-bottom:1px solid #000;background-color:#2a2a2a}.bus-strip .bus-header.master{align-items:center;background-color:#151515}.bus-strip .bus-header.master .master-badge{color:#888;font-size:12px;font-weight:700;letter-spacing:1px}.bus-strip .bus-header .header-content{width:100%}.bus-strip .bus-header .bus-name-input{color:#fff;width:100%;border:1px solid #444;padding:2px 4px;font-size:11px;background:#111;box-sizing:border-box;text-align:center;border-radius:2px}.bus-strip .bus-header .bus-name-input:focus{outline:none;background:#000;border-color:var(--accent-primary)}.bus-strip .bus-header .delete-bus-btn{color:#666;border:none;cursor:pointer;padding:0 4px;font-size:14px;background:none;font-weight:700;line-height:1}.bus-strip .bus-header .delete-bus-btn:hover{color:#f44}.bus-strip .bus-header .bus-route-select{color:#888;width:100%;cursor:pointer;border:1px solid #333;padding:1px;font-size:9px;margin-top:2px;background:#111;box-sizing:border-box;text-align:center;appearance:none;border-radius:2px}.bus-strip .bus-header .bus-route-select:hover{border-color:#555}.bus-strip .bus-pan{background:#1e1e1e;flex-shrink:0;border-bottom:1px solid #000}.bus-strip .bus-pan .pan-control{gap:4px;color:#555;display:flex;font-size:9px;align-items:center;justify-content:space-between}.bus-strip .bus-pan .pan-control input[type=range]{flex:1;width:100%;height:2px;cursor:ew-resize;min-width:0;background:#444;appearance:none}.bus-strip .bus-pan .pan-control input[type=range]:focus{outline:none}.bus-strip .bus-pan .pan-control input[type=range]::-webkit-slider-thumb{width:8px;height:8px;cursor:ew-resize;border:1px solid #000;appearance:none;background:#888;border-radius:50%}.bus-strip .bus-pan .pan-display{color:#666;font-size:9px;text-align:center;font-family:monospace}.bus-strip .bus-controls{background:#222;flex-shrink:0;border-bottom:1px solid #000}.bus-strip .bus-controls .ctrl-btn{color:#777;width:24px;height:20px;border:1px solid #000;cursor:pointer;display:flex;font-size:10px;box-shadow:inset 0 1px #ffffff1a;background:#333;align-items:center;font-weight:700;border-radius:2px;justify-content:center}.bus-strip .bus-controls .ctrl-btn:hover{background:#3d3d3d;color:#aaa}.bus-strip .bus-controls .ctrl-btn.mute.active{background:#900;color:#fff;box-shadow:inset 0 0 5px #00000080;border-color:#500}.bus-strip .bus-controls .ctrl-btn.solo.active{background:#b80;color:#000;box-shadow:inset 0 0 5px #00000080;border-color:#640}.bus-strip .fader-area{padding:10px 8px;position:relative;flex-grow:1;min-height:0;background:#181818}.bus-strip .fader-area .meter{width:6px;border:none;position:relative;overflow:hidden;background:#0a0a0a}.bus-strip .fader-area .meter .meter-fill{width:100%;background:linear-gradient(to top,#0f0,#ff0 80%,red);transition:height .05s ease-out}.bus-strip .bus-footer{color:#555;padding:4px;font-size:12px;text-align:center;background:#111;border-top:1px solid #000;font-family:monospace;flex-shrink:0;border-radius:0 0 3px 3px}.bottom-panel{left:0;right:0;bottom:32px;z-index:20;display:flex;position:absolute;box-shadow:0 -4px 10px #0000001a;border-top:1px solid var(--border-color);flex-shrink:0;flex-direction:column;background-color:var(--bg-surface)}.bottom-panel .resize-handle{top:-4px;left:0;right:0;height:8px;cursor:row-resize;z-index:10;position:absolute;transition:background .2s}.bottom-panel .resize-handle:hover{background:#0d6efd4d}.bottom-panel .panel-header{height:32px;display:flex;padding:0 12px;align-items:center;flex-shrink:0;border-bottom:1px solid var(--border-color);justify-content:space-between;background-color:var(--bg-surface-secondary)}.bottom-panel .panel-header .panel-title{color:var(--text-primary);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.bottom-panel .panel-content{height:100%;display:flex;position:relative;overflow:hidden;flex-grow:1}.bottom-panel .panel-empty{color:var(--text-secondary);width:100%;display:flex;font-size:13px;align-items:center;justify-content:center}.tileset-palette-container{display:flex;width:100%;height:100%;flex-direction:row;overflow:hidden}.tileset-palette-container .palette-toolbar{width:40px;display:flex;padding:10px 5px;border-right:1px solid var(--border-color);flex-shrink:0;flex-direction:column;background-color:var(--bg-surface-secondary);gap:10px}.tileset-palette-container .palette-toolbar .tool-group button{color:var(--text-secondary);width:30px;height:30px;border:1px solid var(--border-color);cursor:pointer;display:flex;padding:0;font-size:14px;align-items:center;border-radius:4px;justify-content:center;background-color:var(--bg-surface)}.tileset-palette-container .palette-toolbar .tool-group button:hover{color:var(--text-primary);background-color:var(--bg-hover)}.tileset-palette-container .palette-toolbar .tool-group button.active{color:var(--accent-text);border-color:var(--accent-primary);background-color:var(--accent-primary)}.tileset-palette-container .palette-sidebar{width:200px;display:flex;flex-shrink:0;border-right:1px solid var(--border-color);flex-direction:column;background-color:var(--bg-surface)}.tileset-palette-container .palette-sidebar .sidebar-header{color:var(--text-secondary);padding:8px 10px;font-size:11px;font-weight:700;border-bottom:1px solid var(--border-color);text-transform:uppercase;background-color:var(--bg-surface-secondary)}.tileset-palette-container .palette-sidebar .sidebar-list{gap:4px;padding:5px;display:flex;flex-grow:1;overflow-y:auto;flex-direction:column}.tileset-palette-container .palette-sidebar .sidebar-list .terrain-item{gap:10px;cursor:pointer;border:1px solid transparent;display:flex;padding:4px 6px;transition:all .1s;align-items:center;border-radius:4px}.tileset-palette-container .palette-sidebar .sidebar-list .terrain-item:hover{background-color:var(--bg-hover)}.tileset-palette-container .palette-sidebar .sidebar-list .terrain-item.active{border-color:var(--accent-primary);background-color:#0d6efd1a}.tileset-palette-container .palette-sidebar .sidebar-list .terrain-item.active .label{color:var(--accent-primary);font-weight:600}.tileset-palette-container .palette-sidebar .sidebar-list .terrain-item .preview-box{width:32px;height:32px;border:1px solid var(--border-color);display:flex;overflow:hidden;background:#222;align-items:center;flex-shrink:0;border-radius:3px;justify-content:center}.tileset-palette-container .palette-sidebar .sidebar-list .terrain-item .preview-box canvas{image-rendering:pixelated}.tileset-palette-container .palette-sidebar .sidebar-list .terrain-item .preview-box span{font-size:8px;color:#888}.tileset-palette-container .palette-sidebar .sidebar-list .terrain-item .label{color:var(--text-primary);overflow:hidden;font-size:12px;white-space:nowrap;text-overflow:ellipsis}.tileset-palette-container .palette-view{display:flex;position:relative;overflow:hidden;flex-grow:1;flex-direction:column;background-color:#151515}.tileset-palette-container .palette-view .palette-canvas-wrapper{width:100%;height:100%;position:relative;overflow:hidden;flex-grow:1}.tileset-palette-container .palette-view .palette-canvas-wrapper canvas{top:0;left:0;width:100%;height:100%;cursor:crosshair;display:block;position:absolute}.tileset-palette-container .palette-view .palette-empty-msg{color:#666;height:100%;display:flex;font-size:13px;align-items:center;justify-content:center}.map-editor{width:100%;height:100%;display:flex;flex-direction:row;background-color:var(--bg-main);overscroll-behavior:none}.map-editor-main{display:flex;flex-grow:1;min-width:0;flex-direction:column}.map-workspace-vertical{display:flex;position:relative;flex-grow:1;min-height:0;flex-direction:column}.map-canvas-container{overflow:hidden;position:relative;flex-grow:1;box-shadow:inset 0 0 20px #00000080;touch-action:none;background-color:#151515;overscroll-behavior:none}.map-canvas-container .canvas-wrapper{width:100%;height:100%;position:relative}.map-canvas-container .canvas-wrapper canvas{display:block;width:100%;height:100%;position:absolute;top:0;left:0}.asset-manager{color:var(--text-primary);background-color:var(--bg-surface)}.asset-list{gap:10px;display:grid;padding:10px;flex-grow:1;overflow-y:auto;align-content:start;grid-auto-rows:max-content;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.asset-item{border:1px solid var(--border-color);overflow:hidden;min-height:135px;transition:box-shadow .2s,border-color .2s;border-radius:6px;background-color:var(--bg-surface-secondary)}.asset-item:hover{box-shadow:0 4px 12px #0000001a;border-color:var(--accent-primary)}.asset-preview{height:100px;padding:10px;overflow:hidden;background:var(--bg-surface);flex-shrink:0;border-bottom:1px solid var(--border-color-light)}.asset-preview img{max-width:100%;max-height:100%;object-fit:contain}.asset-preview .file-icon{opacity:.7;font-size:32px}.asset-preview.audio{background-color:#0000001a}.asset-info{flex-grow:1}.asset-name{border:1px solid transparent;cursor:pointer;padding:2px 4px;overflow:hidden;font-size:12px;white-space:nowrap;font-weight:500;text-overflow:ellipsis;border-radius:3px}.asset-name:hover{color:var(--accent-primary);background:var(--bg-hover)}.asset-name-input{color:var(--text-primary);width:100%;border:1px solid var(--accent-primary);padding:2px 4px;outline:none;font-size:12px;box-sizing:border-box;background:var(--bg-surface);border-radius:3px}.asset-actions button{flex:1;color:var(--text-secondary);border:1px solid transparent;cursor:pointer;padding:4px;font-size:11px;transition:all .2s;border-radius:3px;background-color:var(--bg-surface)}.asset-actions button:hover{color:var(--text-primary);background-color:var(--bg-hover)}.asset-actions button.delete:hover{color:var(--accent-danger-text);background-color:var(--accent-danger-bg)}.asset-actions button.add{color:var(--accent-primary);background-color:#0d6efd1a}.asset-actions button.add:hover:not(:disabled){background-color:#0d6efd33}.asset-actions button.add:disabled{color:var(--text-secondary);cursor:default;opacity:.5;background-color:var(--bg-surface)}.asset-actions button.remove:disabled{color:var(--text-secondary);cursor:default;opacity:.5;background-color:var(--bg-surface)}.no-assets-message{color:var(--text-secondary);padding:40px;font-style:italic;text-align:center;grid-column:1/-1}.asset-manager-footer{padding:10px;border-top:1px solid var(--border-color);flex-shrink:0}.upload-asset-btn{color:var(--accent-text);border:none;cursor:pointer;padding:10px 20px;font-size:13px;transition:background-color .2s;font-weight:600;border-radius:6px;background-color:var(--accent-primary)}.upload-asset-btn:hover{background-color:var(--accent-primary-hover)}.pagination-bar button{color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;padding:6px 12px;font-size:12px;transition:all .2s;font-weight:500;border-radius:4px;background-color:var(--bg-surface-secondary)}.pagination-bar button:hover:not(:disabled){background-color:var(--bg-hover)}.pagination-bar button:disabled{cursor:not-allowed;opacity:.5}.pagination-bar .page-info{color:var(--text-secondary);font-size:12px;font-weight:600;font-family:monospace}.tileset-manager{overflow:hidden;background-color:var(--bg-surface)}.tileset-manager.loading{color:var(--text-secondary);align-items:center;justify-content:center}.tileset-list-pane{width:300px;flex-shrink:0;border-right:1px solid var(--border-color);background-color:var(--bg-surface)}.tileset-list-pane .header{padding:16px}.tileset-list-pane .header h3{color:var(--text-primary);margin:0;font-size:16px}.create-btn{color:var(--accent-text);border:none;cursor:pointer;padding:6px 12px;font-size:13px;transition:background .2s;font-weight:500;border-radius:4px;background-color:var(--accent-primary)}.create-btn:hover{background-color:var(--accent-primary-hover)}.create-form{border:1px solid var(--border-color);padding:15px;margin-bottom:15px;border-radius:6px;background-color:var(--bg-surface-secondary)}.create-form h4{margin:0 0 10px;color:var(--text-primary);font-size:14px}.create-form .form-group{margin-bottom:10px}.create-form .form-group label{color:var(--text-secondary);display:block;font-size:12px;margin-bottom:4px}.create-form .form-group input{width:100%;padding:6px;border:1px solid var(--border-color);outline:none;box-sizing:border-box;color:var(--text-primary);border-radius:4px;background-color:var(--bg-surface)}.create-form .form-group input:focus{border-color:var(--accent-primary)}.create-form .form-group.small{flex:1}.create-form .save-btn{flex:1;border:none;cursor:pointer;color:#fff;padding:8px;font-size:12px;font-weight:500;border-radius:4px;background-color:var(--accent-primary)}.create-form .save-btn:hover{background-color:var(--accent-primary-hover)}.create-form .cancel-btn{flex:1;border:1px solid var(--border-color);cursor:pointer;color:var(--text-primary);padding:8px;font-size:12px;border-radius:4px;background-color:transparent}.create-form .cancel-btn:hover{background-color:var(--bg-hover)}.list-content{padding:16px;flex-grow:1;overflow-y:auto;box-sizing:unset}.tileset-item{border:1px solid var(--border-color);cursor:pointer;display:flex;padding:10px 12px;transition:all .1s ease;align-items:center;border-radius:6px;justify-content:space-between;background-color:var(--bg-surface-secondary)}.tileset-item:hover{border-color:var(--accent-primary);background-color:var(--bg-hover)}.tileset-item .info{display:flex;flex-grow:1;min-width:0;flex-direction:column}.tileset-item .info input{width:100%;border:1px solid var(--accent-primary);padding:2px 4px;font-size:14px;color:var(--text-primary);box-sizing:border-box;border-radius:2px;background-color:var(--bg-surface)}.tileset-item .info .name{color:var(--text-primary);font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tileset-item .info .meta{color:var(--text-secondary);font-size:11px;margin-top:2px}.tileset-item .delete-btn{color:var(--text-secondary);border:none;cursor:pointer;padding:4px 8px;font-size:18px;transition:all .2s;border-radius:4px;background-color:transparent}.tileset-item .delete-btn:hover{color:var(--accent-danger-text);background-color:var(--accent-danger-bg)}.empty-state{color:var(--text-secondary);padding:0 10px;font-size:13px;text-align:center;margin-top:20px}.tileset-preview-pane{flex-grow:1;background-color:var(--bg-surface)}.tileset-preview-pane .placeholder-content{color:var(--text-secondary);text-align:center}.tileset-preview-pane .placeholder-content .icon{opacity:.5;display:block;font-size:48px;margin-bottom:20px}.tileset-preview-pane .placeholder-content h2{color:var(--text-primary);margin:0 0 10px;font-size:20px}.tileset-preview-pane .placeholder-content p{margin:0;font-size:14px}.tileset-editor-page{color:#e0e0e0;background-color:#121212}.tileset-editor-page .toolbar{padding:10px 20px;flex-shrink:0;border-bottom:1px solid #333;background-color:#1e1e1e}.tileset-editor-page .toolbar .back-btn{color:#aaa;border:1px solid #444;cursor:pointer;padding:6px 12px;font-size:13px;border-radius:4px;background-color:transparent}.tileset-editor-page .toolbar .back-btn:hover{color:#fff;background-color:#333}.tileset-editor-page .toolbar .save-btn{color:#fff;border:none;cursor:pointer;padding:6px 20px;font-size:13px;font-weight:600;border-radius:4px;background-color:var(--accent-primary)}.tileset-editor-page .toolbar .save-btn:hover{background-color:var(--accent-primary-hover)}.tileset-editor-page .toolbar .tabs{gap:4px;display:flex}.tileset-editor-page .toolbar .tabs button{color:#aaa;border:1px solid transparent;cursor:pointer;padding:6px 16px;font-size:13px;transition:all .2s;font-weight:500;border-radius:4px;background-color:#252525}.tileset-editor-page .toolbar .tabs button:hover{color:#fff;background-color:#333}.tileset-editor-page .toolbar .tabs button.active{color:#fff;background-color:var(--accent-primary)}.tileset-editor-page .editor-content{display:flex;overflow:hidden;flex-grow:1}.tileset-editor-page .sidebar{width:300px;flex-shrink:0;border-right:1px solid #333;background-color:#1a1a1a}.tileset-editor-page .sidebar .settings-form{gap:15px;display:flex;flex-direction:column}.tileset-editor-page .sidebar .settings-form h3{margin:0;color:#eee;font-size:14px}.tileset-editor-page .sidebar .settings-form label{color:#aaa;display:flex;font-size:12px;font-weight:500;flex-direction:column}.tileset-editor-page .sidebar .settings-form label input{color:#fff;padding:8px;border:1px solid #444;margin-top:6px;box-sizing:border-box;border-radius:4px;background-color:#252525}.tileset-editor-page .sidebar .settings-form label input:focus{outline:none;border-color:var(--accent-primary)}.tileset-editor-page .sidebar .action-btn{width:100%;border:1px solid #444;cursor:pointer;color:#eee;padding:8px;font-size:12px;border-radius:4px;transition:background .2s;background-color:#252525}.tileset-editor-page .sidebar .action-btn:hover{background-color:#333}.tileset-editor-page .sidebar .action-btn.danger{color:#ff6b6b;border-color:#803030}.tileset-editor-page .sidebar .action-btn.danger:hover{background-color:#ff6b6b1a}.tileset-editor-page .sidebar .view-options{padding:10px;background-color:#252525;border-radius:4px;margin-bottom:10px}.tileset-editor-page .sidebar .view-options .title{margin-bottom:8px;font-size:12px;font-weight:600;color:#ddd}.tileset-editor-page .sidebar .view-options .option-row{display:flex;align-items:center;gap:8px;font-size:11px;margin-bottom:5px}.tileset-editor-page .sidebar .view-options .option-row label{flex:1;color:#aaa}.tileset-editor-page .sidebar .view-options .option-row input{background:#1a1a1a;border:1px solid #444;color:#fff}.tileset-editor-page .sidebar .rules-list{display:flex;flex-grow:1;overflow:hidden;flex-direction:column}.tileset-editor-page .sidebar .rules-list .rules-header{display:flex;align-items:center;margin-bottom:10px;justify-content:space-between}.tileset-editor-page .sidebar .rules-list .rules-header span{color:#aaa;font-size:12px;font-weight:700;text-transform:uppercase}.tileset-editor-page .sidebar .rules-list .rules-header button{border:1px solid #444;cursor:pointer;color:#eee;padding:2px 8px;font-size:12px;border-radius:4px;background-color:#252525}.tileset-editor-page .sidebar .rules-list .rules-header button:hover{background-color:#333}.tileset-editor-page .sidebar .rules-list .rules-scroll{gap:6px;display:flex;flex-grow:1;overflow-y:auto;padding-right:4px;flex-direction:column}.tileset-editor-page .sidebar .rules-list .rules-scroll input[type=color]{width:20px;height:20px;border:none;cursor:pointer;padding:0;flex-grow:0;flex-shrink:0}.tileset-editor-page .sidebar .rules-list .rule-item{gap:8px;display:flex;padding:8px;align-items:center;cursor:pointer;border:1px solid transparent;transition:all .1s ease;border-radius:4px;background-color:#252525}.tileset-editor-page .sidebar .rules-list .rule-item:hover{background-color:#333}.tileset-editor-page .sidebar .rules-list .rule-item.active{border-color:var(--accent-primary);background-color:#007bff33}.tileset-editor-page .sidebar .rules-list .rule-item .name-label{color:#eee;font-size:13px;flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tileset-editor-page .sidebar .rules-list .rule-item input{color:#fff;border:1px solid var(--accent-primary);outline:none;padding:2px 4px;min-width:0;font-size:13px;flex-grow:1;background:#111;border-radius:2px}.tileset-editor-page .sidebar .rules-list .rule-item .remove-rule-btn{width:20px;border:none;cursor:pointer;color:#666;padding:0;font-size:16px;text-align:center;flex-shrink:0;background:transparent}.tileset-editor-page .sidebar .rules-list .rule-item .remove-rule-btn:hover{color:#ff6b6b}.tileset-editor-page .sidebar .instruction{color:#888;padding:10px 0;font-size:12px;margin-top:10px;border-top:1px solid #333}.tileset-editor-page .main-area{display:flex;flex-grow:1;position:relative;overflow:hidden;flex-direction:column;background-color:#111}.tileset-editor-page .main-area .physics-editor-container{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.tileset-editor-page .main-area .physics-editor-container .canvas-area{flex:1 1 0;min-height:0;display:flex;overflow:hidden;position:relative;background:radial-gradient(#1a1a1a 1px,transparent 0);background-size:20px 20px;background-color:#000}.tileset-editor-page .main-area .physics-editor-container .canvas-area .physics-canvas{display:block;width:100%;height:100%}.tileset-editor-page .main-area .physics-editor-container .physics-footer{height:60px;display:flex;padding:0 20px;flex-shrink:0;align-items:center;border-top:1px solid #333;box-sizing:border-box;justify-content:space-between;background-color:#252525}.tileset-editor-page .main-area .physics-editor-container .physics-footer .instructions{gap:20px;color:#aaa;display:flex;font-size:13px;font-weight:500}.tileset-editor-page .main-area .physics-editor-container .physics-footer .instructions .inst-row span{margin-right:5px;color:#ddd}.tileset-editor-page .main-area .physics-editor-container .physics-footer .actions{gap:10px;display:flex}.tileset-editor-page .main-area .physics-editor-container .physics-footer .actions button{border:1px solid #555;cursor:pointer;color:#eee;padding:6px 12px;font-size:12px;font-weight:600;transition:all .2s;border-radius:4px;background:#333}.tileset-editor-page .main-area .physics-editor-container .physics-footer .actions button:hover{border-color:#777;background:#444}.tileset-editor-page .main-area .physics-editor-container .physics-footer .actions button.clear-btn{color:#ff6b6b;border-color:#803030}.tileset-editor-page .main-area .physics-editor-container .physics-footer .actions button.clear-btn:hover{border-color:#ff6b6b;background:#ff6b6b1a}.tileset-editor-page .main-area .ruleset-editor{width:100%;height:100%;display:flex;flex-direction:column}.tileset-editor-page .main-area .ruleset-editor .ruleset-header{padding:10px 20px;display:flex;align-items:center;flex-shrink:0;border-bottom:1px solid #333;justify-content:space-between;background-color:#1a1a1a}.tileset-editor-page .main-area .ruleset-editor .ruleset-header .title{color:#fff;font-size:14px;font-weight:700}.tileset-editor-page .main-area .ruleset-editor .ruleset-header .instructions{color:#888;font-size:12px}.tileset-editor-page .main-area .ruleset-editor .ruleset-canvas-wrapper{display:flex;padding:20px;flex-grow:1;overflow:auto;background:#111;align-items:flex-start;justify-content:center}.tileset-editor-page .main-area .ruleset-editor .ruleset-canvas-wrapper canvas{display:block;background:#000;box-shadow:0 0 20px #00000080}.tileset-editor-page .main-area .canvas-wrapper{width:100%;height:100%;display:flex;overflow:auto;box-sizing:border-box;align-items:flex-start;justify-content:flex-start}.tileset-editor-page .main-area .canvas-wrapper canvas{display:block;box-shadow:0 0 20px #00000080;background-color:#222}.tileset-editor-page .main-area .no-image-text{color:#555;margin:auto;font-size:14px}.tileset-editor-page .main-area .split-view{width:100%;height:100%;display:flex}.tileset-editor-page .main-area .split-view .split-pane{display:flex;overflow:hidden;flex-direction:column}.tileset-editor-page .main-area .split-view .split-pane.left{flex:1;border-right:1px solid #333}.tileset-editor-page .main-area .split-view .split-pane.right{flex:1;background-color:#1a1a1a}.tileset-editor-page .main-area .split-view .split-pane .pane-header{color:#aaa;padding:8px 12px;font-size:12px;font-weight:600;border-bottom:1px solid #333;text-transform:uppercase;background-color:#252525;flex-shrink:0}.tileset-editor-page .main-area .split-view .split-pane .scroll-content{display:flex;flex-grow:1;overflow:auto;align-items:flex-start;justify-content:center;background-color:#111}.tileset-editor-page .main-area .split-view .split-pane .scroll-content canvas{box-shadow:0 0 10px #00000080;background-color:#222}.tileset-editor-page .main-area .split-view .split-pane .editor-container{display:flex;flex-grow:1;align-items:stretch;justify-content:stretch;background-color:#1a1a1a;min-height:0}.bulk-physics-editor{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:#aaa}.bulk-physics-editor .bulk-icon{font-size:48px;opacity:.2}.bulk-physics-editor h3{margin:0;font-size:16px;font-weight:600;color:#eee}.bulk-physics-editor p{margin:0;font-size:13px}.bulk-physics-editor .bulk-actions{display:flex;gap:10px}.bulk-physics-editor .bulk-actions button{border:1px solid #555;padding:8px 16px;cursor:pointer;border-radius:4px;background:#333;color:#eee;font-size:13px}.bulk-physics-editor .bulk-actions button:hover{background:#444;color:#fff}.bulk-physics-editor .bulk-actions button.danger{border-color:#803030;color:#ff6b6b}.bulk-physics-editor .bulk-actions button.danger:hover{background:#ff6b6b1a}.sprite-generator{color:var(--text-primary);overflow:hidden;background-color:var(--bg-surface)}.settings-sidebar{width:260px;padding:.75rem;flex-shrink:0;border-left:1px solid var(--border-color);background-color:var(--bg-surface)}.settings-sidebar h3{color:var(--text-primary);margin:0;font-size:14px;border-bottom:1px solid var(--border-color);padding-bottom:10px;text-transform:uppercase}.settings-sidebar .config-group{gap:5px}.settings-sidebar .config-group label{color:var(--text-secondary);font-size:11px;font-weight:600;text-transform:uppercase}.settings-sidebar .config-group input,.settings-sidebar .config-group select{width:100%;color:var(--text-primary);border:1px solid var(--border-color);padding:6px;font-size:13px;box-sizing:border-box;border-radius:4px;background-color:var(--bg-surface-secondary)}.settings-sidebar .config-group input:focus,.settings-sidebar .config-group select:focus{outline:none;border-color:var(--accent-primary)}.settings-sidebar .text-tools-panel{border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-surface-secondary)}.settings-sidebar .text-tools-panel h4{color:var(--accent-primary);margin:0;font-size:12px}.settings-sidebar .primary-action{color:var(--accent-text);width:100%;border:none;cursor:pointer;padding:10px;margin-top:auto;font-weight:600;border-radius:4px;text-transform:uppercase;background-color:var(--accent-primary)}.settings-sidebar .primary-action:hover{background-color:var(--accent-primary-hover)}.main-spritesheet{overflow:hidden;position:relative;flex-grow:1}.main-spritesheet .pane-header{height:40px;padding:0 10px;flex-shrink:0;border-bottom:1px solid var(--border-color);background-color:var(--bg-surface)}.main-spritesheet .pane-header span{color:var(--text-secondary);font-size:12px;font-weight:600;text-transform:uppercase}.main-spritesheet .pane-header .toolbar{gap:2px;display:flex}.main-spritesheet .pane-header .toolbar button{color:var(--text-secondary);width:28px;height:28px;border:1px solid transparent;cursor:pointer;display:flex;align-items:center;border-radius:4px;justify-content:center;background-color:transparent}.main-spritesheet .pane-header .toolbar button:hover{color:var(--text-primary);background-color:var(--bg-hover)}.main-spritesheet .pane-header .toolbar button.active{color:var(--accent-text);background-color:var(--accent-primary)}.main-spritesheet .sg-source-toolbar .label{color:var(--text-secondary);font-size:11px;font-weight:700;text-transform:uppercase}.main-spritesheet .sg-source-toolbar .source-select{color:var(--text-primary);border:1px solid var(--border-color);padding:2px 6px;font-size:12px;min-width:150px;border-radius:4px;background-color:var(--bg-surface)}.main-spritesheet .sg-source-toolbar .text-icon-btn{color:var(--text-secondary);border:none;cursor:pointer;display:flex;padding:4px 8px;font-size:11px;align-items:center;font-weight:700;border-radius:4px;text-transform:uppercase;background-color:transparent}.main-spritesheet .sg-source-toolbar .text-icon-btn:hover{color:var(--text-primary);background-color:var(--bg-hover)}.main-spritesheet .pane-content{flex:1;position:relative;overflow:auto;min-height:0;background-color:var(--bg-surface)}.main-spritesheet .pane-content.main-canvas{padding:1.5rem}.main-spritesheet .pane-content canvas{margin:auto;box-shadow:var(--shadow)}.main-spritesheet .pane-content .batch-list{flex-grow:1;box-sizing:border-box}.main-spritesheet .pane-content .batch-list .empty-drop-zone{gap:10px;color:var(--text-secondary);width:100%;border:2px dashed var(--border-color);display:flex;flex-grow:1;box-sizing:border-box;align-items:center;justify-content:center;flex-direction:column;background-color:var(--bg-surface-secondary)}.main-spritesheet .pane-content .batch-list .empty-drop-zone .icon{opacity:.5;font-size:48px}.main-spritesheet .pane-content .batch-list .empty-drop-zone button{cursor:pointer;padding:6px 12px;border-radius:4px;border:1px solid var(--border-color);color:var(--text-primary);background-color:var(--bg-surface)}.main-spritesheet .pane-content .batch-list .empty-drop-zone button:hover{background-color:var(--bg-hover)}.main-spritesheet .pane-content .batch-list .batch-container{margin-bottom:20px;background-color:transparent}.main-spritesheet .pane-content .batch-list .batch-container .batch-header{border:1px solid var(--border-color);padding:4px 10px;box-sizing:border-box;background-color:var(--bg-surface)}.main-spritesheet .pane-content .batch-list .batch-container .batch-header.selected{border-color:var(--accent-primary)}.main-spritesheet .pane-content .batch-list .batch-container .batch-header .batch-name{color:var(--text-secondary);font-size:11px;font-weight:700;text-transform:uppercase}.main-spritesheet .pane-content .batch-list .batch-container .batch-header .delete-batch-btn{color:var(--text-secondary);border:none;cursor:pointer;background:none}.main-spritesheet .pane-content .batch-list .batch-container .batch-header .delete-batch-btn:hover{color:var(--accent-danger-text)}.main-spritesheet .pane-content .batch-list .batch-container canvas{margin:0;border:1px solid var(--border-color);display:block;border-top:none}.main-spritesheet .pane-footer{color:var(--text-secondary);height:24px;z-index:10;padding:0 10px;font-size:10px;border-top:1px solid var(--border-color);flex-shrink:0;background-color:var(--bg-surface-secondary)}.main-spritesheet .pane-footer .zoom-controls button{color:var(--text-primary);width:16px;height:16px;cursor:pointer;border:1px solid var(--border-color);display:flex;font-size:12px;line-height:1;align-items:center;border-radius:2px;justify-content:center;background-color:var(--bg-surface)}.main-spritesheet .pane-footer .zoom-controls button:hover{background-color:var(--bg-hover)}.main-spritesheet .source-pane{overflow:hidden;position:relative;min-height:0}.main-spritesheet .source-pane.drag-over:after{inset:0;border:2px dashed var(--accent-primary);content:"";z-index:10;position:absolute;pointer-events:none;background-color:#0d6efd1a}.main-spritesheet .source-pane .source-view{display:flex;overflow:auto;background-color:var(--bg-surface-secondary)}.main-spritesheet .source-pane .empty-drop-zone{color:var(--text-secondary);flex-grow:1}.main-spritesheet .source-pane .empty-drop-zone p{margin:0}.main-spritesheet .canvas-pane{flex-grow:1;min-height:0}.main-spritesheet .canvas-pane .composite-canvas{border:1px solid var(--border-color);background:#111;box-shadow:var(--shadow);image-rendering:pixelated}.main-spritesheet .canvas-pane .composite-canvas.brush{cursor:crosshair}.main-spritesheet .canvas-pane .composite-canvas.eraser{cursor:no-drop}.main-spritesheet .canvas-pane .composite-canvas.select{cursor:default}.main-spritesheet .canvas-pane .composite-canvas.text{cursor:text}.character-creator{color:var(--text-primary);overflow:hidden;flex-grow:1}.creator-main{width:100%;flex-grow:1;min-height:0}.creator-left-panel{width:200px;padding:15px;min-height:0;flex-shrink:0}.creator-preview{width:160px;height:160px;border:1px solid var(--border-color);flex-shrink:0;border-radius:8px;margin-inline:auto;background-color:var(--bg-surface-secondary)}.creator-preview canvas{width:128px;height:128px;image-rendering:pixelated}.direction-controls button{border:1px solid var(--border-color);cursor:pointer;padding:5px;background:var(--bg-surface-secondary);border-radius:4px}.direction-controls button:hover{background:var(--bg-hover)}.direction-controls button.active{background:var(--accent-primary);border-color:var(--accent-primary)}.category-list{flex-grow:1;min-height:0;overflow-y:auto}.control-row{color:var(--text-secondary);font-size:13px}.control-row>*{cursor:pointer}.category-button{color:var(--text-secondary);width:100%;cursor:pointer;border:1px solid transparent;padding:8px 12px;font-size:14px;transition:all .2s ease;text-align:left;font-weight:500;border-radius:5px;background-color:transparent}.category-button:hover{color:var(--text-primary);background-color:var(--bg-hover)}.category-button.active{color:var(--accent-text);background-color:var(--accent-primary)}.creator-right-panel{flex-grow:1;min-width:0;min-height:0}.options-panel{flex-grow:1;min-height:0;overflow-y:auto}.option-grid{gap:8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.option-button{gap:4px;cursor:pointer;border:2px solid transparent;padding:5px;display:flex;transition:all .2s ease;align-items:center;border-radius:6px;flex-direction:column;background-color:var(--bg-surface-secondary)}.option-button canvas{border-radius:4px;image-rendering:pixelated}.option-button span{width:100%;color:var(--text-secondary);overflow:hidden;font-size:11px;text-align:center;white-space:nowrap;text-overflow:ellipsis}.option-button:hover{border-color:var(--border-color)}.option-button.active{border-color:var(--accent-primary);background-color:var(--bg-hover)}.option-button.active span{color:var(--text-primary)}.char-name-input{color:var(--text-primary);border:1px solid var(--border-color);padding:10px;flex-grow:1;background:var(--bg-surface-secondary);border-radius:5px}.char-name-input:focus{outline:none;border-color:var(--accent-primary)}.save-character-btn{color:var(--text-primary);cursor:pointer;border:1px solid var(--border-color);padding:10px;font-size:14px;flex-shrink:0;font-weight:500;border-radius:5px;background-color:var(--bg-surface-secondary)}.save-character-btn:hover:not(:disabled){background-color:var(--bg-hover)}.save-character-btn:disabled{cursor:not-allowed;opacity:.6}.saved-characters-list{gap:5px;max-height:200px}.saved-characters-list h4{color:var(--text-secondary);margin:0;font-size:14px}.new-char-btn{color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;padding:4px;background:var(--bg-surface-secondary);border-radius:4px;margin-bottom:5px}.new-char-btn:hover{background:var(--bg-hover)}.char-list-scroll{flex-grow:1;overflow-y:auto}.saved-char-item{cursor:pointer;display:flex;padding:5px 8px;font-size:13px;align-items:center;border-radius:4px;justify-content:space-between}.saved-char-item:hover{background:var(--bg-hover)}.saved-char-item.active{color:var(--accent-text);background:var(--accent-primary)}.saved-char-item.active .delete-char-btn{color:var(--accent-text)}.delete-char-btn{color:var(--text-secondary);border:none;cursor:pointer;padding:0 4px;background:none;font-weight:700}.delete-char-btn:hover{color:var(--accent-danger-text)}.assets-workspace{width:100%;overflow:hidden;background-color:var(--bg-main)}.aw-topbar{height:40px;padding:0 10px;flex-shrink:0;border-bottom:1px solid var(--border-color);background-color:var(--bg-surface-secondary)}.aw-topbar .aw-menu button{color:var(--text-secondary);border:1px solid transparent;cursor:pointer;padding:8px 16px;font-size:13px;transition:background-color .2s,color .2s;font-weight:600;border-radius:6px 6px 0 0;margin-bottom:-1px;border-bottom:1px solid transparent;background-color:transparent}.aw-topbar .aw-menu button:hover{color:var(--text-primary);background-color:var(--bg-hover)}.aw-topbar .aw-menu button.active{color:var(--accent-primary);z-index:1;border-color:var(--border-color);background-color:var(--bg-surface);border-bottom-color:var(--bg-surface)}.aw-content{overflow:hidden;flex-grow:1;background-color:var(--bg-surface)}.project-explorer{width:100%;height:100%;display:flex;overflow-y:auto;flex-shrink:0;-webkit-user-select:none;user-select:none;flex-direction:column;background-color:var(--bg-surface)}.project-explorer .explorer-section{padding:10px;display:flex;flex-shrink:0;border-bottom:1px solid var(--border-color-light);flex-direction:column}.project-explorer .explorer-section:last-child{border-bottom:none}.project-explorer .item-container{gap:2px;display:flex;flex-direction:column}.project-explorer .section-header{display:flex;align-items:center;padding-left:5px;margin-bottom:8px;justify-content:space-between}.project-explorer .section-header span{color:var(--text-secondary);font-size:11px;font-weight:700;text-transform:uppercase}.project-explorer .section-header button{color:var(--text-secondary);width:20px;border:1px solid transparent;cursor:pointer;height:20px;padding:0;display:flex;background:none;align-items:center;font-weight:700;border-radius:4px;justify-content:center}.project-explorer .section-header button:hover{color:var(--text-primary);background-color:var(--bg-hover)}.project-explorer__item,.project-explorer__directory-header{color:var(--text-secondary);cursor:pointer;display:flex;position:relative;font-size:14px;transition:background-color .2s ease;align-items:center;padding-top:6px;border-radius:5px;padding-right:8px;padding-bottom:6px}.project-explorer__item:hover,.project-explorer__directory-header:hover{color:var(--text-primary);background-color:var(--bg-hover)}.project-explorer__item.drop-before:before,.project-explorer__directory-header.drop-before:before{top:0;left:0;right:0;height:2px;content:"";z-index:10;position:absolute;background-color:var(--accent-primary)}.project-explorer__item.drop-after:after,.project-explorer__directory-header.drop-after:after{left:0;right:0;bottom:0;height:2px;content:"";z-index:10;position:absolute;background-color:var(--accent-primary)}.project-explorer__item.drop-inside,.project-explorer__directory-header.drop-inside{border:1px dashed var(--accent-primary);background-color:#007bff1a}.project-explorer__item .arrow-toggle,.project-explorer__item .arrow-spacer,.project-explorer__directory-header .arrow-toggle,.project-explorer__directory-header .arrow-spacer{width:16px;display:flex;min-width:16px;flex-shrink:0;align-items:center;margin-right:4px;justify-content:center}.project-explorer__item .arrow-toggle,.project-explorer__directory-header .arrow-toggle{color:var(--text-secondary);font-size:10px;text-align:center}.project-explorer__item .arrow-toggle:hover,.project-explorer__directory-header .arrow-toggle:hover{color:var(--text-primary)}.project-explorer__item.active{color:var(--accent-primary);font-weight:600}.project-explorer__item.selected,.project-explorer__directory-header.selected{background-color:var(--bg-hover)}.project-explorer__directory-children{display:flex;padding-bottom:4px;flex-direction:column}.project-explorer__rename-input{flex:1;color:var(--text-primary);width:100%;border:1px solid var(--accent-primary);outline:none;padding:2px 4px;min-width:20px;font-size:14px;box-sizing:border-box;margin-right:5px;border-radius:4px;background-color:var(--bg-surface-secondary)}.project-explorer .item-label{overflow:hidden;flex-grow:1;white-space:nowrap;text-overflow:ellipsis}.editor-page{width:100%;height:100%;display:flex;overflow:hidden;background-color:var(--bg-main)}.left-sidebar{width:240px;display:flex;flex-shrink:0;flex-direction:column;border-right:1px solid var(--border-color);background-color:var(--bg-surface)}.left-sidebar .sidebar-header{gap:10px;height:42px;display:flex;padding:0 10px;flex-shrink:0;align-items:center;border-bottom:1px solid var(--border-color);justify-content:space-between;background-color:var(--bg-surface-secondary)}.left-sidebar .sidebar-header .project-title{color:var(--text-primary);margin:0 5px 0 0;cursor:text;overflow:hidden;font-size:13px;flex-grow:1;min-width:0;font-weight:600;white-space:nowrap;text-overflow:ellipsis}.left-sidebar .sidebar-header .project-rename-input{width:100%;color:var(--text-primary);padding:2px 4px;font-size:13px;border-radius:4px;background-color:var(--bg-surface);border:1px solid var(--accent-primary)}.left-sidebar .sidebar-header .header-controls{gap:4px;display:flex;flex-shrink:0}.left-sidebar .sidebar-header .icon-btn-small{border:none;cursor:pointer;color:var(--text-secondary);padding:4px;font-size:14px;background:transparent;line-height:1;align-items:center;border-radius:4px;justify-content:center}.left-sidebar .sidebar-header .icon-btn-small:hover{color:var(--text-primary);background-color:var(--bg-hover)}.left-sidebar .left-tabs{display:flex;flex-shrink:0;border-bottom:1px solid var(--border-color);background-color:var(--bg-surface-secondary)}.left-sidebar .left-tabs button{flex:1;color:var(--text-secondary);border:none;cursor:pointer;padding:8px;font-size:12px;background:transparent;font-weight:600;border-bottom:2px solid transparent}.left-sidebar .left-tabs button:hover:not(:disabled){color:var(--text-primary)}.left-sidebar .left-tabs button:disabled{cursor:default;opacity:.5}.left-sidebar .left-tabs button.active{color:var(--accent-primary);background-color:var(--bg-surface);border-bottom-color:var(--accent-primary)}.left-sidebar .left-content{display:flex;flex-grow:1;position:relative;overflow-y:auto;flex-direction:column}.left-sidebar .sidebar-footer{padding:10px;flex-shrink:0;border-top:1px solid var(--border-color);background-color:var(--bg-surface-secondary)}.left-sidebar .sidebar-footer .back-dashboard-btn{width:100%;border:1px solid var(--border-color);cursor:pointer;color:var(--text-secondary);padding:8px 10px;font-size:13px;font-weight:600;border-radius:4px;background-color:var(--bg-surface);transition:all .2s}.left-sidebar .sidebar-footer .back-dashboard-btn:hover{color:var(--text-primary);background-color:var(--bg-hover)}.main-editor-area{display:flex;flex-grow:1;min-width:0;min-height:0;flex-direction:column}.editor-tabs-wrapper{overflow:hidden;flex-shrink:0}.editor-tabs{height:42px;padding:0 10px;border-bottom:1px solid var(--border-color);background-color:var(--bg-surface)}.editor-tabs button{color:var(--text-secondary);border:1px solid transparent;cursor:pointer;opacity:.7;padding:10px 20px;font-size:13px;background:transparent;transition:all .2s ease;font-weight:600;white-space:nowrap;border-radius:6px 6px 0 0;margin-bottom:-1px;border-bottom:none;text-transform:uppercase;letter-spacing:.5px}.editor-tabs button:hover{color:var(--text-primary);opacity:1;background-color:var(--bg-hover)}.editor-tabs button.active{color:var(--accent-primary);opacity:1;z-index:1;border-color:var(--border-color);background-color:var(--bg-surface-secondary)}.editor-content{display:flex;flex-grow:1;overflow:hidden;position:relative;background-color:var(--bg-surface-secondary)}.code-view-layout{width:100%;height:100%;display:flex;flex-direction:column}.code-toolbar{display:flex;padding:8px 16px;align-items:center;flex-shrink:0;border-bottom:1px solid var(--border-color);justify-content:space-between;background-color:var(--bg-surface-secondary)}.toolbar-btn{gap:10px;color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;display:flex;padding:6px 12px;font-size:12px;transition:all .2s;font-weight:600;line-height:1rem;align-items:center;border-radius:4px;background-color:var(--bg-surface)}.toolbar-btn:hover{color:var(--text-primary);background-color:var(--bg-hover)}.toolbar-btn.dirty{color:var(--accent-text);border-color:var(--accent-primary);background-color:var(--accent-primary)}.toolbar-btn.dirty:hover{background-color:var(--accent-primary-hover)}.assets-view,.character-view{width:100%;height:100%;padding:20px;overflow:hidden;box-sizing:border-box;background-color:var(--bg-surface-secondary)}.full-view{width:100%;height:100%;padding:0;overflow:hidden;box-sizing:border-box;background-color:var(--bg-surface-secondary)}.devices-page{width:100%;height:100%;display:flex;overflow:auto;align-items:flex-start;justify-content:center;background-color:var(--bg-main);padding:40px;box-sizing:border-box}.devices-container{background-color:var(--bg-surface);padding:40px;border-radius:12px;border:1px solid var(--border-color);width:100%;max-width:600px;box-shadow:0 4px 20px #0000000d}.devices-container h2{margin:0 0 10px;font-size:24px;color:var(--text-primary)}.devices-container .subtitle{margin:0 0 30px;color:var(--text-secondary);line-height:1.5}.device-list{display:flex;flex-direction:column;gap:15px}.device-item{display:flex;align-items:center;gap:15px;padding:15px;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-surface-secondary);transition:border-color .2s ease}.device-item.current{border-color:var(--accent-primary);background-color:var(--bg-surface)}.device-icon{font-size:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--bg-hover);border-radius:50%}.device-info{flex-grow:1;min-width:0}.device-header{display:flex;align-items:center;gap:10px;margin-bottom:5px;flex-wrap:wrap}.device-id{font-weight:500;color:var(--text-primary);font-family:monospace}.current-badge{font-size:11px;background-color:var(--accent-primary);color:var(--accent-text);padding:2px 6px;border-radius:10px;font-weight:700}.device-meta{font-size:13px;color:var(--text-secondary);line-height:1.4}.device-meta .label{font-weight:500;margin-right:4px}.revoke-btn{padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-surface);color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease}.revoke-btn:hover{background-color:var(--accent-danger-bg);color:var(--accent-danger-text);border-color:var(--accent-danger-text)}.error-text{color:var(--accent-danger-text);background-color:var(--accent-danger-bg);padding:15px;border-radius:6px;margin:0}.balance-page{width:100%;height:100%;padding:40px;display:flex;overflow-y:auto;box-sizing:border-box;align-items:flex-start;justify-content:center;background-color:var(--bg-main)}.balance-container{gap:30px;width:100%;display:flex;padding:40px;max-width:600px;box-shadow:0 4px 20px #0000000d;border-radius:12px;flex-direction:column;background-color:var(--bg-surface);border:1px solid var(--border-color)}.balance-container h2{margin:0;font-size:24px;color:var(--text-primary)}.balance-card{padding:30px;display:flex;align-items:center;border-radius:12px;flex-direction:column;justify-content:center;background-color:var(--bg-surface-secondary);border:1px solid var(--border-color)}.balance-card .label{font-size:14px;color:var(--text-secondary);margin-bottom:10px;font-weight:500;text-transform:uppercase}.balance-card .amount{font-size:36px;font-weight:700;color:var(--accent-primary)}.payment-info h3{margin:0 0 15px;font-size:18px;color:var(--text-primary)}.payment-info p{margin:0 0 20px;font-size:14px;color:var(--text-secondary);line-height:1.5}.bank-details{gap:12px;display:flex;padding:20px;border-radius:8px;margin-bottom:20px;flex-direction:column;background-color:var(--bg-surface-secondary);border:1px solid var(--border-color)}.bank-details .detail-row{display:flex;justify-content:space-between;font-size:14px}.bank-details .detail-row .label{color:var(--text-secondary)}.bank-details .detail-row .value{font-weight:600;color:var(--text-primary)}.bank-details .detail-row .value.highlight{color:var(--accent-primary);font-family:monospace;font-size:16px}.warning-box{color:#856404;padding:15px;font-size:13px;line-height:1.5;border-radius:6px;background-color:#fff3cd;border:1px solid #ffeeba}.share-modal-overlay{top:0;left:0;width:100vw;height:100vh;z-index:3000;display:flex;position:fixed;align-items:center;justify-content:center;background-color:#0009}.share-modal{width:400px;border:1px solid var(--border-color);display:flex;overflow:hidden;box-shadow:0 10px 40px #0000004d;border-radius:8px;flex-direction:column;background-color:var(--bg-surface)}.share-modal .modal-header{display:flex;padding:15px 20px;align-items:center;border-bottom:1px solid var(--border-color);justify-content:space-between;background-color:var(--bg-surface-secondary)}.share-modal .modal-header h3{margin:0;color:var(--text-primary);font-size:16px;font-weight:600}.share-modal .modal-header .close-btn{color:var(--text-secondary);border:none;cursor:pointer;padding:0;font-size:20px;background:none;line-height:1}.share-modal .modal-header .close-btn:hover{color:var(--text-primary)}.share-modal .modal-body{padding:20px;display:flex;flex-direction:column;gap:15px}.share-modal .modal-body .desc{margin:0;color:var(--text-secondary);font-size:14px}.share-modal .modal-body .tabs{display:flex;gap:10px;border-bottom:1px solid var(--border-color);padding-bottom:5px}.share-modal .modal-body .tabs button{background:none;border:none;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;padding:5px 10px;border-bottom:2px solid transparent;transition:all .2s}.share-modal .modal-body .tabs button:hover{color:var(--text-primary)}.share-modal .modal-body .tabs button.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.share-modal .modal-body .input-group{display:flex;gap:10px}.share-modal .modal-body .input-group input{flex:1;padding:10px;border:1px solid var(--border-color);border-radius:4px;background-color:var(--bg-surface-secondary);color:var(--text-primary);font-family:monospace;font-size:13px;outline:none}.share-modal .modal-body .input-group input:focus{border-color:var(--accent-primary)}.share-modal .modal-body .input-group button{padding:0 15px;border:none;border-radius:4px;background-color:var(--accent-primary);color:#fff;font-weight:500;cursor:pointer;transition:background-color .2s}.share-modal .modal-body .input-group button:hover{background-color:var(--accent-primary-hover)}.share-modal .modal-body .input-group button.copied{background-color:#2ecc71}.dashboard-page{width:100%;height:100%;padding:20px;overflow-y:auto;box-sizing:border-box;background-color:var(--bg-main)}.dashboard-container{gap:20px;margin:0 auto;display:flex;max-width:1200px;flex-direction:column}.dashboard-header h1{color:var(--text-primary);margin:0;font-size:24px}.new-btn{color:#fff;border:none;cursor:pointer;padding:10px 20px;transition:background-color .2s;font-weight:600;border-radius:6px;background-color:var(--accent-primary)}.new-btn:hover{background-color:var(--accent-primary-hover)}.dashboard-tabs{gap:10px;display:flex;margin-bottom:10px;border-bottom:1px solid var(--border-color)}.dashboard-tabs button{color:var(--text-secondary);border:none;cursor:pointer;padding:10px 20px;font-size:16px;background:none;transition:color .2s,border-color .2s;border-bottom:2px solid transparent}.dashboard-tabs button:hover{color:var(--text-primary)}.dashboard-tabs button.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.projects-grid{gap:24px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.project-card{border:1px solid var(--border-color);display:flex;overflow:hidden;transition:border-color .2s;border-radius:12px;flex-direction:column;background-color:var(--bg-surface)}.project-card:hover{border-color:var(--accent-primary)}.card-preview{height:150px;cursor:pointer;display:flex;position:relative;align-items:center;border-bottom:1px solid var(--border-color-light);justify-content:center;background-color:var(--bg-surface-secondary)}.card-preview .preview-icon{opacity:.3;font-size:48px}.card-info{gap:12px;padding:16px;display:flex;flex-grow:1;flex-direction:column}.card-info .info-header{display:flex;align-items:flex-start;justify-content:space-between}.card-info .card-title{color:var(--text-primary);overflow:hidden;font-size:16px;font-weight:700;white-space:nowrap;margin-right:8px;text-overflow:ellipsis}.card-info .visibility-badge{padding:2px 6px;font-size:10px;font-weight:700;border-radius:4px;text-transform:uppercase}.card-info .visibility-badge.public{color:#2ecc71;background-color:#2ecc711a}.card-info .visibility-badge.private{color:var(--text-secondary);background-color:var(--bg-surface-secondary)}.card-info .card-meta{gap:6px;color:var(--text-secondary);display:flex;font-size:13px;flex-direction:column}.card-info .card-meta .owner{font-weight:500}.card-info .card-meta .clone-count-label{color:var(--text-secondary);font-size:12px;font-weight:600}.card-actions{gap:8px;display:flex;margin-top:auto;align-items:center;justify-content:flex-end}.card-actions .icon-action{color:var(--text-secondary);width:32px;height:32px;border:1px solid transparent;cursor:pointer;display:flex;font-size:14px;transition:all .2s;align-items:center;border-radius:6px;justify-content:center;background-color:transparent}.card-actions .icon-action:hover{color:var(--text-primary);background-color:var(--bg-hover)}.card-actions .icon-action.primary{color:var(--accent-primary);background-color:#0d6efd1a}.card-actions .icon-action.primary:hover{background-color:#0d6efd33}.card-actions .icon-action.play-btn{color:#2ecc71;background-color:#2ecc711a}.card-actions .icon-action.play-btn:hover{background-color:#2ecc7133}.card-actions .icon-action.active{color:var(--accent-primary)}.card-actions .icon-action.danger:hover{color:var(--accent-danger-text);background-color:var(--accent-danger-bg)}.empty-state{color:var(--text-secondary);padding:40px;font-size:16px;text-align:center;grid-column:1/-1}.mobile-not-supported{display:flex;align-items:center;justify-content:center;height:100%;width:100%;padding:20px;box-sizing:border-box;text-align:center}.message-box{background:var(--bg-surface);padding:40px;border-radius:12px;border:1px solid var(--border-color);max-width:400px}.message-box .icon{font-size:48px;margin-bottom:20px}.message-box h2{margin:0 0 15px;font-size:20px;color:var(--text-primary)}.message-box p{margin:0 0 30px;color:var(--text-secondary);line-height:1.6}.message-box .home-button{display:inline-block;background-color:var(--accent-primary);color:var(--accent-text);padding:12px 24px;border-radius:8px;text-decoration:none;font-weight:500;transition:background-color .2s ease}.message-box .home-button:hover{background-color:var(--accent-primary-hover)}#app-root{height:100vh;display:flex;flex-direction:column}.main-nav{display:flex;padding:10px 30px;z-index:10;align-items:center;flex-shrink:0;border-bottom:1px solid var(--border-color);justify-content:space-between;background-color:var(--bg-surface)}.main-nav a{color:var(--text-primary);padding:8px 12px;font-size:16px;transition:background-color .2s ease,color .2s ease;font-weight:500;white-space:nowrap;border-radius:6px;text-decoration:none}.main-nav a.active{color:var(--accent-primary);background-color:var(--bg-hover)}.main-nav a:hover:not(.active){background-color:var(--bg-hover)}.nav-left,.nav-right{gap:15px;display:flex;align-items:center}.nav-logo{font-size:22px;font-weight:700;margin-right:15px}.nav-logo:hover,.nav-logo.active{background-color:transparent}.lang-toggle{color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;padding:6px 10px;font-size:13px;transition:all .2s;font-weight:600;border-radius:6px;background-color:transparent}.lang-toggle:hover{background-color:var(--bg-hover)}.theme-toggle{width:40px;height:40px;border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;display:flex;font-size:20px;transition:background-color .2s ease,border-color .2s ease;align-items:center;border-radius:8px;justify-content:center;background-color:transparent}.theme-toggle:hover{background-color:var(--bg-hover)}.user-display{color:var(--text-secondary);font-weight:500;white-space:nowrap}.nav-icon-link{border:none;cursor:pointer;display:flex;padding:6px 10px!important;font-size:20px;position:relative;background:transparent;align-items:center;border-radius:6px;justify-content:center}.nav-icon-link:hover{background-color:var(--bg-hover)}.notif-container{position:relative}.notif-container .notif-badge{top:2px;right:2px;color:#fff;width:16px;height:16px;display:flex;position:absolute;font-size:10px;font-weight:700;align-items:center;border-radius:50%;justify-content:center;background-color:#e74c3c}.notif-container .notif-dropdown{top:45px;right:0;width:300px;border:1px solid var(--border-color);z-index:100;position:absolute;overflow:hidden;box-shadow:0 10px 30px #0003;border-radius:8px;background-color:var(--bg-surface)}.notif-container .notif-dropdown .notif-header{display:flex;padding:10px 15px;align-items:center;border-bottom:1px solid var(--border-color);justify-content:space-between;background-color:var(--bg-surface-secondary)}.notif-container .notif-dropdown .notif-header span{color:var(--text-primary);font-size:14px;font-weight:600}.notif-container .notif-dropdown .notif-header .mark-read-btn{color:var(--accent-primary);border:none;cursor:pointer;padding:0;font-size:12px;background:transparent}.notif-container .notif-dropdown .notif-header .mark-read-btn:hover{text-decoration:underline}.notif-container .notif-dropdown .notif-list{max-height:300px;overflow-y:auto}.notif-container .notif-dropdown .notif-list .notif-empty{color:var(--text-secondary);padding:20px;font-size:13px;text-align:center}.notif-container .notif-dropdown .notif-list .notif-item{cursor:pointer;padding:12px 15px;border-bottom:1px solid var(--border-color-light);transition:background-color .2s}.notif-container .notif-dropdown .notif-list .notif-item:hover{background-color:var(--bg-hover)}.notif-container .notif-dropdown .notif-list .notif-item.unread{background-color:#0d6efd0d}.notif-container .notif-dropdown .notif-list .notif-item .notif-content{color:var(--text-primary);font-size:13px;line-height:1.4}.notif-container .notif-dropdown .notif-list .notif-item .notif-content strong{font-weight:600}.logout-button{color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;padding:8px 12px;font-size:16px;font-weight:500;border-radius:6px;background-color:var(--bg-surface-secondary)}.logout-button:hover{background-color:var(--bg-hover)}.login-button{color:var(--accent-text);border:none;background-color:var(--accent-primary)}.login-button:hover{background-color:var(--accent-primary-hover)}.login-button.active{color:var(--accent-text);background-color:var(--accent-primary-hover)}.page-content{height:1px;display:flex;flex-grow:1;flex-direction:column}@media (max-width: 768px){.main-nav{padding:10px 15px;row-gap:10px;flex-wrap:wrap}.nav-left,.nav-right{gap:8px}.nav-logo{font-size:18px;margin-right:0}.main-nav a{padding:6px 8px;font-size:14px}.user-display{display:none}.theme-toggle{width:36px;height:36px;font-size:18px}.logout-button,.login-button{padding:6px 10px;font-size:14px}}.auth-page{width:100%;height:100%;display:flex;overflow:auto;align-items:center;padding:20px;box-sizing:border-box;justify-content:center;background-color:var(--bg-main)}.auth-container{gap:16px;width:100%;margin:auto;border:1px solid var(--border-color);padding:40px;display:flex;max-width:400px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border-radius:12px;flex-direction:column;background-color:var(--bg-surface)}.auth-container h2{color:var(--text-primary);margin:0;font-size:24px;text-align:center;font-weight:700;letter-spacing:-.5px}.auth-container p{color:var(--text-secondary);margin:0;font-size:14px;text-align:center;line-height:1.6}.auth-form{gap:16px;display:flex;flex-direction:column}.form-group{gap:8px;display:flex;flex-direction:column}.form-group label{color:var(--text-primary);display:block;font-size:14px;font-weight:600}.form-group input{color:var(--text-primary);width:100%;height:44px;border:1px solid var(--border-color);padding:0 12px;font-size:15px;box-sizing:border-box;transition:all .2s;border-radius:8px;background-color:var(--bg-surface)}.form-group input:focus{outline:none;box-shadow:0 0 0 3px #0d6efd26;border-color:var(--accent-primary)}.form-group input.code-input{font-size:20px;text-align:center;font-weight:600;font-family:monospace;letter-spacing:.5em}.auth-btn{color:#fff;width:100%;height:44px;border:none;cursor:pointer;display:flex;font-size:15px;transition:all .2s;margin-top:10px;align-items:center;font-weight:600;border-radius:8px;justify-content:center;background-color:var(--accent-primary)}.auth-btn:hover:not(:disabled){background-color:var(--accent-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0d6efd33}.auth-btn:disabled{cursor:not-allowed;opacity:.7}.text-btn{color:var(--text-secondary);border:none;cursor:pointer;padding:6px 10px;font-size:13px;transition:all .2s;background:none;font-weight:500;border-radius:6px}.text-btn:hover:not(:disabled){color:var(--text-primary);background-color:var(--bg-hover)}.text-btn:disabled{cursor:default;opacity:.5}.auth-links,.auth-footer{gap:6px;color:var(--text-secondary);display:flex;margin-top:10px;align-items:center;justify-content:center;font-size:14px}.auth-links a,.auth-footer a{color:var(--accent-primary);font-weight:600;text-decoration:none}.auth-links a:hover,.auth-footer a:hover{text-decoration:underline}.msg-box{padding:12px;font-size:14px;text-align:center;line-height:1.4;font-weight:500;border-radius:8px}.msg-box.error{color:#d32f2f;border:1px solid #fad4d4;background-color:#fdecea}.msg-box.info{color:var(--accent-primary);border:1px solid rgba(13,110,253,.2);background-color:#0d6efd14}.actions-row{display:flex;margin-top:16px;border-top:1px solid var(--border-color-light);padding-top:16px;align-items:center;justify-content:space-between}.forgot-link{color:var(--accent-primary);font-size:13px;font-weight:500;text-decoration:none}.forgot-link:hover{text-decoration:underline}:root{--gap: 12px;--shadow: 0 4px 20px rgba(0, 0, 0, .5);--bg-color: #0a0a0a;--bg-main: #f4f4f4;--bg-hover: #f1f1f1;--bg-surface: #fff;--border-color: #e0e0e0;--text-primary: #212529;--text-secondary: #6c757d;--border-color-light: #f0f0f0;--bg-surface-secondary: #f8f9fa;--accent-text: #fff;--accent-primary: #0d6efd;--accent-danger-bg: #fff5f5;--accent-danger-text: #dc3545;--accent-primary-hover: #0b5ed7;--accent-danger-hover: #f8d7da;--controls-bg: #2e2e2e;--controls-text: #ccc;--controls-border: #555;--controls-bg-active: #444;--controls-text-active: #fff;--workspace-grid: #ddd;--stage-grid-color: #ddd;--workspace-controls-bg: rgba(255, 255, 255, .9)}body.dark-theme{--bg-main: #0f0f0f;--bg-hover: #2a2a2a;--bg-surface: #1a1a1a;--border-color: #333;--divider-color: #444;--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--border-color-light: #2a2a2a;--bg-surface-secondary: #111;--accent-primary: #0d6efd;--accent-danger-bg: #2c0b0e;--accent-primary-hover: #0a58ca;--accent-danger-text: #ff6b6b;--accent-danger-hover: #401014;--controls-bg: #1e1e1e;--controls-text: #bbb;--controls-border: #444;--controls-bg-active: #3c3c3c;--controls-text-active: #fff;--workspace-grid: #222;--stage-grid-color: #222;--workspace-controls-bg: rgba(30, 30, 30, .9)}body,html,#root{color:var(--text-primary);height:100%;margin:0;padding:0;overflow:hidden;font-family:Inter,Roboto,Segoe UI,sans-serif;-webkit-user-select:none;user-select:none;background-color:var(--bg-main);overscroll-behavior:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-surface-secondary)}::-webkit-scrollbar-thumb{background:#444;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}
