body{margin:0;padding:0;overflow:hidden;font-family:Arial,sans-serif;background:#87ceeb}#app{width:100vw;height:100vh;position:relative;overflow:hidden}#game-canvas{display:block;width:100%;height:100%;cursor:crosshair}.editor-screen{width:100vw;height:100vh;position:relative;overflow:hidden}#editor-canvas{display:block;width:100%;height:100%;cursor:default}.editor-status{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:18px;text-shadow:2px 2px 4px rgba(0,0,0,.7);pointer-events:none;z-index:100}.editor-settings-section{border-top:1px solid rgba(255,255,255,.08);padding:8px 12px}.editor-settings-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:4px 0;color:#ffffff80;font-size:11px;text-transform:uppercase;letter-spacing:.5px;-webkit-user-select:none;user-select:none}.editor-settings-header:hover{color:#ffffffb3}.editor-settings-arrow{font-size:9px}.editor-settings-content{padding-top:4px}.editor-settings-checkbox{accent-color:#64b4ff;cursor:pointer}.editor-hotbar{position:absolute;bottom:36px;left:50%;transform:translate(-50%);display:flex;gap:2px;background:#0009;padding:4px;border-radius:6px;pointer-events:auto;z-index:1}.editor-hotbar.elevated{z-index:350}.editor-hotbar-slot{width:52px;height:52px;position:relative;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:2px solid rgba(255,255,255,.12);border-radius:4px;cursor:pointer;transition:border-color .12s,background .12s}.editor-hotbar-slot:hover{background:#ffffff1f}.editor-hotbar-slot.active{border-color:#64b4ffcc;background:#64b4ff26}.editor-hotbar-number{position:absolute;top:1px;left:3px;font-size:9px;color:#ffffff59;pointer-events:none;line-height:1}.editor-hotbar-icon{width:44px;height:44px}.editor-options-info{margin-top:auto;padding:10px 14px;border-top:1px solid rgba(255,255,255,.08)}.editor-options-info-title{font-size:11px;color:#fff6;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.editor-options-info-empty{font-size:12px;color:#ffffff4d}.editor-options-info-rows{display:flex;flex-direction:column;gap:3px}.editor-options-info-row{display:flex;gap:6px;font-size:12px}.editor-options-info-label{color:#ffffff80;min-width:48px;flex-shrink:0}.editor-options-info-value{color:#e0e0e0;word-break:break-all}.editor-options-header{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08)}.editor-options-header-icon{width:20px;height:20px;flex-shrink:0}.editor-options-header-icon svg{width:20px;height:20px}.editor-options-header-label{font-size:14px;font-weight:700;color:#fff}.editor-options-content{padding:10px 14px;flex:1}.editor-options-shortcuts{padding:10px 14px;border-top:1px solid rgba(255,255,255,.08)}.editor-options-shortcuts-title{font-size:11px;color:#fff6;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.editor-options-shortcut-row{font-size:12px;color:#fff9;padding:2px 0}.editor-opt-group{margin-bottom:12px}.editor-opt-label{font-size:11px;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.editor-opt-row{display:flex;gap:4px;flex-wrap:wrap}.editor-opt-btn{padding:4px 10px;border:1px solid rgba(255,255,255,.15);border-radius:4px;background:#ffffff0f;color:#aaa;cursor:pointer;font-size:12px;transition:background .12s,color .12s,border-color .12s}.editor-opt-btn:hover{background:#ffffff1f;color:#ddd}.editor-opt-btn.active{background:#64b4ff40;border-color:#64b4ff80;color:#fff}.editor-opt-slider{width:100%;accent-color:#64b4ff;margin:4px 0}.editor-opt-value{font-size:13px;color:#fff;min-width:30px;text-align:right}.editor-palette-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0006;z-index:300;display:flex;align-items:center;justify-content:center;padding-bottom:110px;pointer-events:auto;box-sizing:border-box}.editor-palette{width:820px;max-width:90vw;max-height:80vh;background:#141414f2;border:1px solid rgba(255,255,255,.2);border-radius:8px;display:flex;flex-direction:column}.editor-palette-header{padding:10px 14px;font-size:16px;font-weight:700;color:#fff;border-bottom:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:space-between}.editor-palette-close{background:none;border:none;color:#fff9;font-size:22px;cursor:pointer;padding:0 4px;line-height:1}.editor-palette-close:hover{color:#fff}.editor-palette-hover-label{padding:8px 14px 0;height:22px;min-height:22px;flex-shrink:0;line-height:22px;font-size:12px;color:#ffffffb3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-palette-search{display:block;width:calc(100% - 28px);margin:8px 14px 0;padding:8px 10px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#e0e0e0;font-size:14px;outline:none;box-sizing:border-box}.editor-palette-search:focus{border-color:#64b4ff80}.editor-palette-search::placeholder{color:#ffffff59}.editor-palette-tabs{display:flex;gap:2px;padding:8px 14px 0}.editor-palette-tab{flex:1;padding:6px 0;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#ffffff80;font-size:12px;cursor:pointer;transition:background .12s,color .12s}.editor-palette-tab:hover{background:#ffffff1a;color:#fffc}.editor-palette-tab.active{background:#64b4ff33;border-color:#64b4ff66;color:#fff}.editor-palette-scroll{overflow-y:auto;padding:8px;flex:1}.editor-palette-section{margin-bottom:12px}.editor-palette-section-title{color:#fff9;font-size:12px;text-transform:uppercase;padding:4px 6px;letter-spacing:.5px}.editor-palette-grid{display:grid;grid-template-columns:repeat(auto-fill,56px);gap:3px}.editor-palette-cell{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border:2px solid transparent;border-radius:4px;cursor:pointer;background:#ffffff0d;overflow:hidden}.editor-palette-cell:hover{background:#ffffff26}.editor-palette-cell.selected{border-color:#64b4ffcc;background:#64b4ff33}.editor-palette-cell.favorite{position:relative}.editor-palette-cell.favorite:after{content:"★";position:absolute;top:1px;right:2px;font-size:8px;color:gold;line-height:1;pointer-events:none}.editor-palette-section-title.editor-palette-hidden{display:none}.editor-palette-icon{width:44px;height:44px;flex-shrink:0}#ui-overlay{position:fixed;top:10px;left:10px;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.7);pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1000}.debug-overlay{position:fixed;top:10px;left:10px;background:#00000080;padding:10px;border-radius:5px;font-family:Courier New,monospace;font-size:14px;line-height:1.5;min-width:200px;color:#fff;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1000}.debug-overlay-row{margin:2px 0}.debug-overlay-target{white-space:pre;max-width:400px;word-wrap:break-word}#crosshair{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:24px;font-weight:700;text-shadow:-1px -1px 0 rgba(0,0,0,.8),1px -1px 0 rgba(0,0,0,.8),-1px 1px 0 rgba(0,0,0,.8),1px 1px 0 rgba(0,0,0,.8);pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1001}#reconnect-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:none;justify-content:center;align-items:center;z-index:10001}#reconnect-container{background:#2c3e50;padding:30px;border-radius:10px;text-align:center;color:#fff;box-shadow:0 4px 6px #0000004d}#reconnect-container h2{margin-top:0;margin-bottom:15px;font-size:24px;color:#e74c3c}#reconnect-container p{margin-bottom:20px;color:#ecf0f1}#reconnect-button{background:#3498db;color:#fff;border:none;padding:12px 30px;font-size:16px;border-radius:5px;cursor:pointer;transition:background .3s}#reconnect-button:hover{background:#2980b9}#reconnect-button:active{transform:scale(.98)}.inventory-hotbar{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;gap:3px;background:#c6c6c6;padding:8px;border:1px solid #888;border-radius:2px;z-index:100;pointer-events:none;box-shadow:0 8px 32px #0003}@keyframes flash{0%{opacity:1}to{opacity:0}}.player-appearance-container{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;justify-content:center;align-items:center;z-index:10000}.player-appearance-form{background:#2c3e50;padding:30px;border-radius:10px;box-shadow:0 10px 40px #00000080;min-width:400px;text-align:center}.player-appearance-form h2{color:#ecf0f1;margin-bottom:25px;font-size:24px}.player-appearance-label{display:block;color:#ecf0f1;margin-bottom:15px;text-align:left;font-size:14px}.player-appearance-input{width:100%;padding:10px;margin-top:5px;border:1px solid #34495e;background:#34495e;color:#ecf0f1;border-radius:5px;font-size:16px;box-sizing:border-box}.player-appearance-input:focus{outline:none;border-color:#3498db;background:#2c3e50}.color-presets-container{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:15px 0}.color-preset-button{width:50px;height:50px;border:2px solid transparent;border-radius:5px;cursor:pointer;transition:all .2s}.color-preset-button:hover{border-color:#3498db;transform:scale(1.1)}.custom-color-container{display:flex;align-items:center;justify-content:center;gap:10px;margin:20px 0;color:#ecf0f1}.player-appearance-color-input{width:50px;height:40px;border:1px solid #34495e;border-radius:5px;cursor:pointer;background:transparent}.color-display{width:50px;height:40px;border:2px solid #34495e;border-radius:5px;background:#0f0}.player-appearance-action-button{background:#27ae60;color:#fff;border:none;padding:12px 30px;font-size:16px;border-radius:5px;cursor:pointer;margin-top:20px;transition:background .3s;width:100%}.player-appearance-action-button:hover{background:#229954}.player-appearance-action-button:active{transform:scale(.98)}.player-appearance-cancel-button{background:#e74c3c;color:#fff;border:none;padding:12px 30px;font-size:16px;border-radius:5px;cursor:pointer;margin-top:10px;transition:background .3s;width:100%}.player-appearance-cancel-button:hover{background:#c0392b}.player-appearance-cancel-button:active{transform:scale(.98)}.main-menu-screen{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:10002;opacity:0;transition:opacity .3s ease}.main-menu-screen.visible{opacity:1}.main-menu-background{position:absolute;top:0;left:0;width:100%;height:100%;background-image:url(/background.webp);background-size:cover;background-position:center;background-repeat:no-repeat;z-index:-1}.main-menu-container{display:flex;flex-direction:column;align-items:center;padding:40px;border-radius:10px;background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #00000080;max-width:500px;width:90%}.main-menu-title{text-align:center;margin-bottom:40px}.main-menu-title h1{font-size:48px;margin:0 0 10px;color:#fff;text-shadow:0 0 20px rgba(135,206,235,.5);font-weight:700;letter-spacing:2px}.main-menu-buttons{display:flex;flex-direction:column;gap:15px;width:100%;max-width:300px}.main-menu-button{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 24px;font-size:18px;font-weight:500;color:#fff;background:linear-gradient(135deg,#2c3e50,#34495e);border:2px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.main-menu-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.main-menu-button:hover{background:linear-gradient(135deg,#34495e,#2c3e50);border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.main-menu-button:hover:before{left:100%}.main-menu-button:active{transform:translateY(0);box-shadow:0 2px 6px #0000004d}.main-menu-button-primary{background:linear-gradient(135deg,#3498db,#2980b9)}.main-menu-button-primary:hover{background:linear-gradient(135deg,#2980b9,#3498db)}.button-text{display:block;text-align:center}.main-menu-version{margin-top:30px;font-size:12px;color:#ffffff80;text-align:center}.main-menu-character{position:absolute;right:12%;bottom:32px;cursor:pointer}.main-menu-character-view{width:180px;height:260px;border-radius:10px;transition:background .2s ease}.main-menu-character:hover .main-menu-character-view{background:#ffffff14}.main-menu-message{position:fixed;bottom:40px;left:50%;transform:translate(-50%) translateY(20px);background:#000c;color:#fff;padding:12px 24px;border-radius:6px;font-size:14px;opacity:0;transition:all .3s ease;pointer-events:none;z-index:10003}.main-menu-message.visible{opacity:1;transform:translate(-50%) translateY(0)}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#1a1a2e,#0f0f1e);z-index:10001;opacity:0;transition:opacity .3s ease}.loading-screen.visible{opacity:1}.loading-container{display:flex;flex-direction:column;align-items:center;gap:30px;padding:40px;background:#00000080;border-radius:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.loading-spinner{width:80px;height:80px;position:relative;transform-style:preserve-3d;animation:loading-rotate 2s linear infinite}@keyframes loading-rotate{0%{transform:rotateY(0) rotateX(0)}to{transform:rotateY(360deg) rotateX(180deg)}}.loading-cube{position:absolute;width:20px;height:20px;background:linear-gradient(135deg,#3498db,#87ceeb);border:1px solid rgba(255,255,255,.3);animation:loading-pulse 1.5s ease-in-out infinite}.loading-cube-0{top:0;left:0;animation-delay:0s}.loading-cube-1{top:0;right:0;animation-delay:.1s}.loading-cube-2{bottom:0;left:0;animation-delay:.2s}.loading-cube-3{bottom:0;right:0;animation-delay:.3s}.loading-cube-4{top:30px;left:30px;animation-delay:.4s}.loading-cube-5{top:15px;left:15px;animation-delay:.5s}.loading-cube-6{bottom:15px;right:15px;animation-delay:.6s}.loading-cube-7{top:30px;right:30px;animation-delay:.7s}@keyframes loading-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.loading-message{font-size:20px;color:#fff;text-align:center;font-weight:500;text-shadow:0 2px 4px rgba(0,0,0,.5)}.loading-progress-container{width:300px;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.loading-progress-bar{height:100%;background:linear-gradient(90deg,#3498db,#87ceeb);border-radius:3px;transition:width .3s ease}.loading-progress-text{font-size:14px;color:#ffffffb3;text-align:center}.loading-tip{max-width:400px;font-size:14px;color:#fff9;text-align:center;line-height:1.5;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}.tip-label{color:#87ceeb;font-weight:500}.game-screen{width:100vw;height:100vh;position:absolute;top:0;left:0;background:#87ceeb;overflow:hidden}#game-app{width:100%;height:100%;position:relative;overflow:hidden}.game-escape-hint{position:fixed;bottom:100px;left:50%;transform:translate(-50%) translateY(20px);background:#000c;color:#fff;padding:12px 24px;border-radius:6px;font-size:16px;opacity:0;transition:all .3s ease;pointer-events:none;z-index:1001;border:1px solid rgba(255,255,255,.2)}.game-escape-hint.visible{opacity:1;transform:translate(-50%) translateY(0)}.game-exit-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:10000;opacity:0;transition:opacity .3s ease}.game-exit-modal.visible{opacity:1}.game-exit-modal-content{background:linear-gradient(135deg,#2c3e50,#34495e);border-radius:10px;padding:30px;max-width:400px;width:90%;color:#fff;box-shadow:0 8px 32px #00000080;border:1px solid rgba(255,255,255,.1)}.game-exit-modal-content h3{margin:0 0 15px;text-align:center;color:#fff;font-size:20px}.game-exit-modal-content p{text-align:center;color:#fffc;margin:0 0 25px;font-size:14px}.game-exit-modal-buttons{display:flex;gap:15px}.game-exit-button-confirm,.game-exit-button-cancel{flex:1;padding:12px 20px;font-size:16px;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease}.game-exit-button-confirm{background:#e74c3c;color:#fff}.game-exit-button-confirm:hover{background:#c0392b}.game-exit-button-cancel{background:#34495e;color:#fff}.game-exit-button-cancel:hover{background:#2c3e50}.game-pause-menu{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:10000;opacity:0;transition:opacity .3s ease}.game-pause-menu.visible{opacity:1}.game-pause-menu-content{background:linear-gradient(135deg,#2c3e50,#34495e);border-radius:10px;padding:30px;max-width:360px;width:90%;color:#fff;box-shadow:0 8px 32px #00000080;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:12px}.game-pause-menu-content h3{margin:0;text-align:center;color:#fff;font-size:20px}.game-pause-steam-section{display:flex;flex-direction:column;gap:8px;padding:12px;background:#0003;border-radius:8px;border:1px solid rgba(255,255,255,.05)}.game-pause-section-label{font-size:12px;color:#ffffff80;text-transform:uppercase;letter-spacing:1px}.game-pause-visibility-label{font-size:14px;color:#fffc}.game-pause-visibility-group{display:flex;gap:6px}.game-pause-visibility-btn{flex:1;padding:8px 4px;font-size:13px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#ffffffb3;cursor:pointer;transition:all .2s ease}.game-pause-visibility-btn:hover{background:#ffffff26;color:#fff}.game-pause-visibility-btn.active{background:#4a90d9;border-color:#5aa0e9;color:#fff;font-weight:500}.game-pause-visibility-btn:disabled{opacity:.5;cursor:default}.game-pause-visibility-btn.loading,.game-pause-visibility-btn.done{display:inline-flex;align-items:center;justify-content:center;gap:4px;pointer-events:none}.game-pause-visibility-btn.loading:after{content:"";display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:pause-spinner .6s linear infinite;flex-shrink:0}.game-pause-visibility-btn.done:after{content:"✓";font-size:14px;flex-shrink:0}@keyframes pause-spinner{to{transform:rotate(360deg)}}.game-pause-invite-btn{padding:10px;font-size:14px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#ffffffe6;cursor:pointer;transition:all .2s ease}.game-pause-invite-btn:hover{background:#ffffff26}.game-pause-separator{height:1px;background:#ffffff1a;margin:4px 0}.game-pause-action-btn{width:100%;padding:12px 20px;font-size:16px;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease;background:#34495e;color:#fff}.game-pause-action-btn:hover{background:#3d566e}.game-pause-exit-btn{background:#e74c3c}.game-pause-exit-btn:hover{background:#c0392b}@media (max-width: 768px){.main-menu-title h1{font-size:36px}.main-menu-button{font-size:16px;padding:14px 20px}.main-menu-character{display:none}.loading-spinner{width:60px;height:60px}.loading-cube{width:15px;height:15px}.loading-message{font-size:18px}.loading-progress-container{width:250px}}.setup-screen{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000}.setup-background{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460)}.setup-container{position:relative;z-index:1;max-width:600px;margin:0 auto;padding:40px 20px;height:100%;overflow-y:auto;box-sizing:border-box}.setup-title{color:#e0e0e0;font-family:monospace;font-size:28px;text-align:center;margin-bottom:30px}.setup-section{margin-bottom:30px}.setup-section-title{color:#87ceeb;font-family:monospace;font-size:16px;margin-bottom:12px;border-bottom:1px solid rgba(135,206,235,.3);padding-bottom:6px}.setup-card-list{display:flex;flex-direction:column;gap:8px}.setup-card{position:relative;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:12px 16px}.setup-card-actions{display:flex;gap:8px;margin-top:10px}.setup-card-actions .setup-button{padding:6px 14px;font-size:13px}.setup-card-title{color:#e0e0e0;font-family:monospace;font-size:15px;font-weight:700}.setup-card-subtitle{color:#888;font-family:monospace;font-size:12px;margin-top:4px}.setup-empty{color:#666;font-family:monospace;font-size:13px;text-align:center;padding:16px}.setup-form{display:flex;flex-direction:column;gap:16px}.setup-field{display:flex;flex-direction:column;gap:6px}.setup-field label{color:#aaa;font-family:monospace;font-size:13px}.setup-field input[type=text],.setup-field select{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#e0e0e0;font-family:monospace;font-size:14px;padding:8px 12px;outline:none}.setup-field input[type=text]:focus,.setup-field select:focus{border-color:#87ceeb80}.setup-slider-row{display:flex;align-items:center;gap:12px}.setup-slider-row input[type=range]{flex:1;accent-color:#87CEEB}.setup-size-label{color:#e0e0e0;font-family:monospace;font-size:14px;min-width:70px;text-align:right}.setup-button{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#e0e0e0;font-family:monospace;font-size:14px;padding:10px 16px;cursor:pointer;transition:background .15s;text-align:center}.setup-button:hover{background:#ffffff26}.setup-button-primary{background:#4a90e24d;border-color:#4a90e280}.setup-button-primary:hover{background:#4a90e280}.setup-button:disabled{opacity:.5;cursor:not-allowed}.setup-form-actions{display:flex;gap:8px}.setup-form-actions .setup-button{flex:1}.setup-error{color:#ff6b6b;font-family:monospace;font-size:13px;min-height:18px}.setup-card-menu-btn{position:absolute;top:8px;right:8px;background:transparent;border:none;border-radius:4px;color:#aaa;font-family:monospace;font-size:15px;padding:4px 8px;cursor:pointer;transition:background .15s}.setup-card-menu-btn:hover{background:#ffffff1a}.setup-card-menu{display:none;position:absolute;top:34px;right:8px;background:#1e1e2e;border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:4px;min-width:140px;z-index:10}.setup-card-menu.open{display:block}.setup-card-menu-item{display:block;width:100%;background:transparent;border:none;border-radius:4px;color:#e0e0e0;font-family:monospace;font-size:13px;text-align:left;padding:8px 12px;cursor:pointer;transition:background .15s}.setup-card-menu-item:hover{background:#ffffff1a}.setup-card-menu-item-danger{color:#ff6b6b}.setup-card-menu-item-danger:hover{background:#ff6b6b26}.setup-card-menu-item:disabled{opacity:.5;cursor:not-allowed}.setup-card-menu-item:disabled:hover{background:transparent}.character-edit-screen{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000}.character-edit-overlay{z-index:10000}.character-edit-back-btn{position:absolute;top:16px;left:16px;z-index:1;padding:8px 16px;border:1px solid rgba(255,255,255,.15);border-radius:4px;background:#1e1e1ecc;color:#aaa;font-family:monospace;font-size:13px;cursor:pointer;transition:background .15s,color .15s}.character-edit-back-btn:hover{background:#323232e6;color:#fff}.character-edit-container{position:relative;z-index:1;max-width:860px;margin:0 auto;padding:40px 20px;height:100%;overflow-y:auto;box-sizing:border-box}.character-edit-content{display:flex;gap:24px;align-items:flex-start}.character-edit-preview-pane{flex:1 1 40%;min-width:260px;position:sticky;top:0}.character-edit-preview{width:100%;aspect-ratio:3 / 4;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;overflow:hidden}.character-edit-anim-row{display:flex;gap:8px;margin-top:10px;justify-content:center}.character-edit-anim-btn{padding:6px 18px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#aaa;font-family:monospace;font-size:13px;cursor:pointer;transition:background .15s,color .15s}.character-edit-anim-btn:hover{background:#ffffff26}.character-edit-anim-btn.active{background:#87ceeb40;border-color:#87ceeb80;color:#e0e0e0}.character-edit-follow-toggle{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:8px;color:#aaa;font-family:monospace;font-size:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.character-edit-follow-toggle input{cursor:pointer;accent-color:rgba(135,206,235,.8)}.character-edit-form-pane{flex:1 1 60%;background:#c6c6c6;border:1px solid #888;border-radius:2px;padding:20px;box-shadow:0 0 10px #00000080}.character-edit-name-row{display:flex;gap:8px;align-items:baseline}.character-edit-name-label{font-size:13px;color:#555;font-weight:700}.character-edit-name-value{font-size:15px;color:#333;font-weight:700}.character-edit-name-note{font-size:11px;color:#777;margin:4px 0 14px}@media (max-width: 700px){.character-edit-content{flex-direction:column}.character-edit-preview-pane{position:static;width:100%;min-width:0}.character-edit-preview{aspect-ratio:4 / 3}}.block-state-panel{padding:4px 0;font-family:Courier New,monospace;font-size:13px;color:#eee;max-height:60vh;overflow-y:auto}.block-state-panel-title{font-size:14px;font-weight:700;margin-bottom:6px;color:#8cf}.block-state-panel-header{color:#ccc;word-break:break-all}.block-state-panel-position{color:#999;margin-bottom:4px}.block-state-panel-sep{border:none;border-top:1px solid rgba(255,255,255,.15);margin:8px 0}.block-state-panel-entries{display:flex;flex-direction:column;gap:4px}.block-state-entry{display:flex;align-items:center;gap:4px}.block-state-entry-key{min-width:80px;color:#adf;flex-shrink:0}.block-state-entry-key-input{width:76px;padding:2px 4px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:3px;color:#eee;font-family:inherit;font-size:12px;flex-shrink:0}.block-state-entry-value{flex:1;min-width:0;padding:2px 4px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:3px;color:#eee;font-family:inherit;font-size:12px}.block-state-entry-error{border-color:#f66!important}.block-state-entry-apply,.block-state-entry-cancel{padding:2px 6px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:3px;color:#ccc;cursor:pointer;font-size:11px;flex-shrink:0}.block-state-entry-apply:hover,.block-state-entry-cancel:hover{background:#fff3}.block-state-panel-add-btn{margin-top:8px;padding:4px 8px;background:#64b4ff26;border:1px solid rgba(100,180,255,.3);border-radius:3px;color:#8cf;cursor:pointer;font-family:inherit;font-size:12px;width:100%}.block-state-panel-add-btn:hover{background:#64b4ff40}.block-state-image-upload,.block-state-container-edit{margin-bottom:8px;padding:6px;background:#64b4ff14;border:1px solid rgba(100,180,255,.2);border-radius:3px}.block-state-image-upload-btn,.block-state-container-edit-btn{padding:4px 8px;background:#64b4ff33;border:1px solid rgba(100,180,255,.4);border-radius:3px;color:#8cf;cursor:pointer;font-family:inherit;font-size:12px;width:100%}.block-state-image-upload-btn:hover,.block-state-container-edit-btn:hover{background:#64b4ff59}.block-state-image-upload-btn:disabled,.block-state-container-edit-btn:disabled{opacity:.5;cursor:not-allowed}.block-state-image-info{margin-top:4px;font-size:11px;color:#aaa}.container-editor-popup{position:fixed;z-index:10005;display:flex;gap:6px;align-items:center;padding:8px;background:#c6c6c6;border:1px solid #888;border-radius:2px;box-shadow:0 4px 16px #0000004d;font-family:monospace}.container-editor-popup-input{width:56px;padding:2px 4px;font-family:monospace}.container-editor-popup-btn{padding:3px 8px;background:#8b8b8b;border:1px solid #666;color:#fff;cursor:pointer;font-family:monospace;font-size:12px}.container-editor-popup-btn:hover{background:#9b9b9b}.block-state-gate-edit{margin-bottom:8px;padding:6px;background:#64b4ff14;border:1px solid rgba(100,180,255,.2);border-radius:3px;display:flex;flex-direction:column;gap:4px}.block-state-gate-id-row{display:flex;gap:4px}.block-state-gate-id-input{flex:1;min-width:0;padding:2px 4px;background:#0006;border:1px solid rgba(255,255,255,.2);border-radius:2px;color:#eee;font-family:monospace;font-size:11px}.block-state-gate-auto-btn{padding:2px 6px;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:3px;color:#aaa;cursor:pointer;font-family:inherit;font-size:11px}.block-state-gate-auto-btn:hover{background:#ffffff1f}.block-state-gate-status{font-size:11px;color:#aaa}.block-state-gate-status-connected{color:#7d7}.block-state-gate-edit-btn{padding:4px 8px;background:#64b4ff33;border:1px solid rgba(100,180,255,.4);border-radius:3px;color:#8cf;cursor:pointer;font-family:inherit;font-size:12px;width:100%}.block-state-gate-edit-btn:hover{background:#64b4ff59}.block-state-gate-edit-btn:disabled{opacity:.5;cursor:not-allowed}.gate-editor-window{width:480px}.gate-editor-section{display:flex;flex-direction:column;gap:8px;color:#404040}.gate-editor-status{font-size:13px;color:#7a4a00}.gate-editor-status-connected{color:#1a7a1a}.gate-editor-note{font-size:11px;color:#806020;padding:2px 0}.gate-editor-endpoints{display:flex;flex-direction:column;gap:4px;min-height:28px}.gate-editor-endpoint{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 8px;background:#b0b0b0;border:1px solid #888;border-radius:2px}.gate-editor-endpoint-info{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gate-editor-endpoint-badge{margin-left:6px;padding:1px 5px;background:#4a7ab5;color:#fff;border-radius:2px;font-size:10px}.gate-editor-endpoint-btns{display:flex;gap:4px;flex-shrink:0}.gate-editor-row-btn{padding:3px 8px;background:#8b8b8b;border:1px solid #666;color:#fff;cursor:pointer;font-family:monospace;font-size:12px}.gate-editor-row-btn:hover{background:#9b9b9b}.gate-editor-row-btn-danger:hover{background:#b55}.gate-editor-form-title{margin-top:4px;padding-top:8px;border-top:1px solid #999;font-size:13px;font-weight:700}.gate-editor-form{display:flex;flex-direction:column;gap:6px}.gate-editor-form-row{display:flex;align-items:center;gap:8px}.gate-editor-form-label{width:72px;flex-shrink:0;font-size:12px}.gate-editor-input{padding:3px 6px;background:#fff;border:1px solid #888;border-radius:2px;font-family:monospace;font-size:12px;color:#222}.gate-editor-dim,.gate-editor-facing{flex:1;min-width:0}.gate-editor-coords{display:flex;gap:4px;flex:1;min-width:0}.gate-editor-coord{width:0;flex:1}.gate-editor-quick-row{display:flex;gap:6px}.gate-editor-quick-btn{flex:1;padding:3px 8px;background:#8b8b8b;border:1px solid #666;color:#fff;cursor:pointer;font-family:monospace;font-size:12px}.gate-editor-quick-btn:hover{background:#9b9b9b}.gate-editor-register-btn{padding:6px 8px;background:#4a7ab5;border:1px solid #3a5a8a;color:#fff;cursor:pointer;font-family:monospace;font-size:13px}.gate-editor-register-btn:hover{background:#5a8ac5}.gate-panel-list{display:flex;flex-direction:column;gap:6px;margin-bottom:6px;max-height:220px;overflow-y:auto}.gate-panel-empty{font-size:11px;color:#888;padding:2px 0}.gate-panel-item{border:1px solid rgba(255,255,255,.1);border-radius:3px;padding:4px 6px;background:#ffffff08}.gate-panel-item-head{display:flex;align-items:center;justify-content:space-between;gap:6px;cursor:pointer}.gate-panel-item-head:hover .gate-panel-item-name{color:#8cf}.gate-panel-item-name{font-size:12px;color:#ddd;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gate-panel-item-badge{flex-shrink:0;min-width:16px;text-align:center;padding:0 4px;border-radius:8px;font-size:10px;background:#ffa05040;color:#fb9}.gate-panel-item-badge-connected{background:#64dc6433;color:#7d7}.gate-panel-endpoint{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-top:2px}.gate-panel-endpoint-label{font-size:10px;color:#999;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gate-panel-jump-btn{flex-shrink:0;padding:0 6px;background:#64b4ff26;border:1px solid rgba(100,180,255,.3);border-radius:3px;color:#8cf;cursor:pointer;font-size:11px;line-height:16px}.gate-panel-jump-btn:hover{background:#64b4ff4d}.gate-panel-refresh-btn{width:100%}.selection-panel{padding:4px 0;font-family:Courier New,monospace;font-size:13px;color:#eee}.selection-panel-title{font-size:14px;font-weight:700;margin-bottom:8px;color:#8cf}.selection-panel-axis{display:flex;align-items:center;gap:6px;margin-bottom:4px}.selection-panel-axis-label{width:20px;color:#adf;font-weight:700;flex-shrink:0}.selection-panel-btn{width:28px;height:24px;padding:0;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:3px;color:#ccc;cursor:pointer;font-size:13px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.selection-panel-btn:hover{background:#fff3}.selection-panel-btn:active{background:#64b4ff4d}.selection-panel-range{flex:1;text-align:center;color:#ccc;font-size:12px}.selection-panel-size{margin-top:6px;color:#999;font-size:12px}.selection-panel-sep{border:none;border-top:1px solid rgba(255,255,255,.15);margin:8px 0}.selection-panel-wand-btn{padding:5px 8px;background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:3px;color:#ccc;cursor:pointer;font-family:inherit;font-size:12px;width:100%}.selection-panel-wand-btn:hover{background:#ffffff26}.selection-panel-wand-btn.active{background:#64b4ff33;border-color:#64b4ff66;color:#8cf}.dimension-list{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.dimension-item{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:4px;font-size:12px;color:#ffffffb3;transition:background .12s}.dimension-item:hover{background:#ffffff14}.dimension-item.active{background:#64b4ff26;color:#8cf}.dimension-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dimension-item-badge{font-size:9px;color:#ffffff59;background:#ffffff0f;padding:1px 5px;border-radius:3px;flex-shrink:0}.dimension-button-row{display:flex;gap:4px}.dimension-btn{flex:1;padding:4px 8px;border:1px solid rgba(255,255,255,.12);border-radius:4px;background:#ffffff0f;color:#ffffffb3;font-size:11px;cursor:pointer;transition:background .12s}.dimension-btn:hover:not(:disabled){background:#ffffff1f}.dimension-btn:disabled{opacity:.3;cursor:default}.dimension-dialog-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.dimension-dialog{background:#1e1e2e;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:20px;width:340px;max-width:90vw}.dimension-dialog-title{font-size:14px;font-weight:600;color:#e0e0e0;margin-bottom:16px}.dimension-dialog-form{display:flex;flex-direction:column;gap:12px}.dimension-dialog-field{display:flex;flex-direction:column;gap:4px}.dimension-dialog-label{font-size:11px;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px}.dimension-dialog-input{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:4px;padding:6px 8px;color:#e0e0e0;font-size:13px;outline:none}.dimension-dialog-input:focus{border-color:#64b4ff80}.dimension-dialog-input-small{width:60px}.dimension-dialog-radio-group{display:flex;flex-direction:column;gap:4px}.dimension-dialog-radio{font-size:12px;color:#ffffffb3;cursor:pointer;display:flex;align-items:center;gap:4px}.dimension-dialog-chunk-inputs{display:flex;align-items:center;gap:4px;margin-left:20px;margin-top:2px}.dimension-dialog-error{font-size:12px;color:#ff6b6b;min-height:18px;margin-top:4px}.dimension-dialog-buttons{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.dimension-dialog-btn{padding:6px 16px;border:1px solid rgba(255,255,255,.12);border-radius:4px;background:#ffffff0f;color:#ffffffb3;font-size:13px;cursor:pointer;transition:background .12s}.dimension-dialog-btn:hover{background:#ffffff1f}.dimension-dialog-btn-primary{background:#64b4ff33;border-color:#64b4ff66;color:#8cf}.dimension-dialog-btn-primary:hover{background:#64b4ff4d}.confirm-dialog-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000}.confirm-dialog{background:#1e1e2e;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:20px;width:340px;max-width:90vw}.confirm-dialog-title{font-size:14px;font-weight:600;color:#e0e0e0;margin-bottom:12px}.confirm-dialog-message{font-size:13px;color:#aaa;line-height:1.6;white-space:pre-line}.confirm-dialog-error{font-size:12px;color:#ff6b6b;min-height:18px;margin-top:8px}.confirm-dialog-buttons{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.confirm-dialog-btn{padding:6px 16px;border:1px solid rgba(255,255,255,.12);border-radius:4px;background:#ffffff0f;color:#ffffffb3;font-size:13px;cursor:pointer;transition:background .12s}.confirm-dialog-btn:hover{background:#ffffff1f}.confirm-dialog-btn-primary{background:#64b4ff33;border-color:#64b4ff66;color:#8cf}.confirm-dialog-btn-primary:hover{background:#64b4ff4d}.confirm-dialog-btn-danger{background:#ff6b6b26;border-color:#ff6b6b66;color:#ff6b6b}.confirm-dialog-btn-danger:hover{background:#ff6b6b4d}.confirm-dialog-btn:disabled{opacity:.5;cursor:not-allowed}.winfo-container{max-width:760px}.winfo-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.winfo-title{flex:1;margin:0;text-align:left;font-size:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.winfo-back-btn{flex-shrink:0}.winfo-header-actions{display:flex;gap:8px;flex-shrink:0}.winfo-facts{display:flex;flex-direction:column;gap:6px}.winfo-fact{display:flex;gap:12px;font-family:monospace;font-size:13px;color:#ccc}.winfo-fact-label{color:#888;min-width:130px;flex-shrink:0}.winfo-stat-group{margin-bottom:14px}.winfo-stat-heading{display:flex;justify-content:space-between;color:#aaa;font-family:monospace;font-size:13px;font-weight:700;margin-bottom:4px}.winfo-stat-total{color:#87ceeb;font-weight:400}.winfo-stat-row{display:flex;justify-content:space-between;font-family:monospace;font-size:13px;color:#ccc;padding:2px 8px}.winfo-stat-row:nth-child(2n){background:#ffffff08}.winfo-stat-value{color:#e0e0e0}.winfo-stat-more{background:none;border:none;color:#87ceeb;font-family:monospace;font-size:12px;cursor:pointer;padding:2px 8px}.winfo-hidden{display:none}.winfo-player-list{display:flex;flex-direction:column;gap:4px}.winfo-player{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:4px}.winfo-player-row{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;font-family:monospace;font-size:13px;color:#ccc}.winfo-player-row:hover{background:#ffffff0f}.winfo-player-presence{color:#666}.winfo-player-presence.online{color:#6bde7f}.winfo-player-name{flex:1;color:#e0e0e0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.winfo-player-meta{color:#888;font-size:12px;flex-shrink:0}.winfo-player-detail{padding:10px 12px 12px;border-top:1px solid rgba(255,255,255,.08)}.winfo-player-detail-grid{display:flex;gap:16px;align-items:flex-start}.winfo-player-preview{width:180px;flex-shrink:0}.winfo-preview-canvas{width:180px;height:220px;background:#00000040;border-radius:4px;overflow:hidden}.winfo-player-stats{flex:1;min-width:0}.winfo-history{display:flex;flex-direction:column;gap:2px}.winfo-history-row{display:flex;justify-content:space-between;gap:12px;font-family:monospace;font-size:13px;color:#ccc;padding:3px 8px}.winfo-history-row:nth-child(2n){background:#ffffff08}.winfo-history-time{color:#777;flex-shrink:0}.winfo-more-btn{margin-top:8px;font-size:12px;padding:6px 14px}.winfo-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:20px;border-bottom:1px solid rgba(135,206,235,.3)}.winfo-tab{background:none;border:none;border-bottom:2px solid transparent;color:#999;font-family:monospace;font-size:14px;padding:8px 14px;cursor:pointer;transition:color .15s,border-color .15s}.winfo-tab:hover{color:#e0e0e0}.winfo-tab.active{color:#87ceeb;border-bottom-color:#87ceeb}.winfo-map-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:10px}.winfo-map-dim-label{color:#999;font-family:monospace;font-size:12px;display:flex;align-items:center;gap:8px}.winfo-map-dim-select{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#e0e0e0;font-family:monospace;font-size:13px;padding:6px 10px}.winfo-map-coords{margin-left:auto;color:#999;font-family:monospace;font-size:12px;min-width:240px;text-align:right;white-space:nowrap}.winfo-map-host{position:relative;width:100%;height:480px;background:#0d0d12;border:1px solid rgba(255,255,255,.15);border-radius:4px;overflow:hidden}.winfo-map-canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}.winfo-map-canvas.winfo-map-dragging{cursor:grabbing}.winfo-state-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px}.winfo-state-filter{flex:1;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#e0e0e0;font-family:monospace;font-size:13px;padding:6px 10px}.winfo-state-filter::placeholder{color:#666}.winfo-state-table{display:flex;flex-direction:column;gap:2px}.winfo-state-row{display:flex;align-items:center;gap:8px;font-family:monospace;font-size:13px;color:#ccc;padding:4px 8px}.winfo-state-row:nth-child(2n){background:#ffffff08}.winfo-state-key{min-width:120px;max-width:200px;color:#87ceeb;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}.winfo-state-value{flex:1;min-width:0;color:#e0e0e0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.winfo-state-value:hover{background:#ffffff0f;border-radius:2px}.winfo-state-value-edit{flex:1;min-width:0;background:#ffffff1a;border:1px solid #87CEEB;border-radius:2px;color:#e0e0e0;font-family:monospace;font-size:13px;padding:2px 6px}.winfo-state-delete-btn{background:none;border:none;color:#666;font-size:14px;cursor:pointer;padding:2px 6px;flex-shrink:0}.winfo-state-delete-btn:hover{color:#e06060}.winfo-state-footer{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-family:monospace;font-size:12px}.winfo-state-count{color:#888}.winfo-state-reset-btn{font-size:11px;padding:4px 10px;color:#e06060}.winfo-state-add-row{display:flex;gap:8px;align-items:center;margin-bottom:8px;padding:6px 8px;background:#87ceeb14;border:1px solid rgba(135,206,235,.2);border-radius:4px}.winfo-state-add-key,.winfo-state-add-value{flex:1;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:2px;color:#e0e0e0;font-family:monospace;font-size:13px;padding:4px 8px}.winfo-state-add-key::placeholder,.winfo-state-add-value::placeholder{color:#666}.winfo-state-input-error{border-color:#e06060!important}.winfo-state-error{color:#e06060;font-family:monospace;font-size:13px;padding:8px}
