:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--transition-duration: .4s;--transition-timing: cubic-bezier(.16, 1, .3, 1)}body{margin:0;transition:background-color var(--transition-duration) var(--transition-timing),color calc(var(--transition-duration) * .8) var(--transition-timing);will-change:background-color,color}[data-theme]{transition:all var(--transition-duration) var(--transition-timing)}body.theme-changing{overflow:hidden}.is-loading *{transition:none!important}h1{margin:0}button{font-size:1em;font-weight:500;font-family:inherit}:root{--primary-bg: #2d2d2d;--secondary-bg: #1f1f1f;--input-bg: #1a1a1a;--accent-color: #3498db;--text-primary: #e0e0e0;--text-secondary: #cccccc;--border-color: #3e3e3e;--border-color-button: #4a4a4a;--border-color-active: #888888;--button-bg: #3a3a3a;--button-hover: #5a5a5a;--scrollbar-thumb: #666;--scrollbar-hover: #555;--slider-thumb: #eee;--selection-highlight: #ffa500;--selection-highlight-shadow: rgba(255, 165, 0, .7);--overlay-bg: rgba(0, 0, 0, .7);--bg-gradient: linear-gradient(to right, var(--primary-bg), var(--secondary-bg));--bg-solid: var(--primary-bg);--panel-gradient: linear-gradient(to bottom, var(--primary-bg), var(--secondary-bg));--panel-solid: var(--secondary-bg);--cell-bg: #636363;--grid-line-color: #2b2b2b;--library-bg: rgba(30, 30, 30, .8);--simulation-header-color: #333;--close-btn-bg: rgba(255, 255, 255, .1);--close-btn-bg-hover: rgba(255, 255, 255, .2);--dashed-box: #666;--checkbox-primary: #4caf50;--checkbox-secondary: #388e3c;--checkbox-shadow: #4caf50;--window-entrace-shadow-0: rgba(255, 255, 255, 0);--window-entrace-shadow-50: rgba(74, 74, 74, .5);--window-entrace-shadow-100: rgba(0, 0, 0, .5);--float-height: 10px;--rotation-speed: 25deg;--mobile-bottom-bar-height: 71px}[data-theme=tilesetter]{--primary-bg: #1B1E29;--secondary-bg: #141720;--input-bg: #0F111A;--accent-color: #4A90E2;--text-primary: #E0E7FF;--text-secondary: #B8C2E0;--border-color: #2A2F3D;--border-color-button: #3A4052;--border-color-active: #4c546d;--button-bg: #252A38;--button-hover: #3A4052;--scrollbar-thumb: #3A4052;--scrollbar-hover: #4A5166;--slider-thumb: #E0E7FF;--selection-highlight: #FFA726;--selection-highlight-shadow: rgba(255, 167, 38, .5);--overlay-bg: rgba(11, 13, 20, .85);--cell-bg: var(--primary-bg);--grid-line-color: #243335;--library-bg: rgba(20, 23, 32, .9);--simulation-header-color: #242735;--close-btn-bg: rgba(255, 255, 255, .1);--close-btn-bg-hover: rgba(255, 255, 255, .2);--dashed-box: #3A4052;--checkbox-primary: #4caf50;--checkbox-secondary: #388e3c;--checkbox-shadow: #4caf50;--window-entrace-shadow-0: rgba(255, 255, 255, 0);--window-entrace-shadow-50: rgba(42, 47, 61, .5);--window-entrace-shadow-100: rgba(11, 13, 20, .5)}[data-theme=cream]{--primary-bg: #FAF8F5;--secondary-bg: #F0EDE8;--input-bg: #FFFFFF;--accent-color: #4267B2;--text-primary: #3A3A3A;--text-secondary: #5A5A5A;--border-color: #D8D2C9;--border-color-button: #C4BCB2;--button-bg: #E8E3DD;--button-hover: #D8D2C9;--scrollbar-thumb: #C4BCB2;--scrollbar-hover: #A89F94;--slider-thumb: #4267B2;--selection-highlight: #73c0d4;--selection-highlight-shadow: rgba(46, 187, 197, .4);--overlay-bg: rgba(240, 237, 232, .9);--cell-bg: #F0EDE8;--grid-line-color: #2b2b2b;--library-bg: rgba(233, 229, 226, .9);--simulation-header-color: #E8E3DD;--close-btn-bg: rgba(0, 0, 0, .06);--close-btn-bg-hover: rgba(0, 0, 0, .1);--dashed-box: #C4BCB2;--checkbox-primary: #4267B2;--checkbox-secondary: #385897;--checkbox-shadow: rgba(66, 103, 178, .7);--window-entrace-shadow-0: rgba(0, 0, 0, 0);--window-entrace-shadow-50: rgba(180, 174, 164, .4);--window-entrace-shadow-100: rgba(140, 134, 125, .2)}.app{display:flex;flex-direction:column;height:100vh;padding:0;margin:0;background:var(--bg-gradient, var(--bg-solid));transition:background-color .4s cubic-bezier(.16,1,.3,1)}.side-panel,.menu-bar,.settings-window,.tile-library-window,.simulation-header{transition:background-color .4s cubic-bezier(.16,1,.3,1),border-color .4s cubic-bezier(.16,1,.3,1)}.cell,.theme-option,button,input,select{transition:background-color .4s cubic-bezier(.16,1,.3,1),border-color .4s cubic-bezier(.16,1,.3,1),color .4s cubic-bezier(.16,1,.3,1)}button:focus{outline:none}.splash-screen{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;background:linear-gradient(to bottom,var(--primary-bg),var(--secondary-bg));color:var(--text-primary);font-family:Arial,sans-serif}.loading-text{font-size:24px;font-weight:700;display:inline-flex}.dot-container{display:flex;justify-content:center;align-items:center;gap:5px;margin-top:10px}.dot{width:7px;height:7px;background-color:var(--text-primary);border-radius:50%;animation:bounce 1.5s infinite ease-in-out}.dot:nth-child(1){animation-delay:0s}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.map-image-container{position:relative;width:100%;height:500px;max-width:500px;margin:0 auto;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.spinner-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:1;pointer-events:none}.spinner{border:4px solid rgba(255,255,255,.3);border-top:4px solid var(--accent-color);border-radius:50%;width:50px;height:50px;animation:spintwo 2s linear infinite;z-index:2}@keyframes spintwo{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hidden{display:none}.visible{display:block}.map-image{object-fit:contain;width:100%;height:100%;display:block}.menu-bar{display:flex;background:var(--bg-gradient, var(--bg-solid));padding:.5rem 1rem;border-bottom:2px solid var(--border-color);box-shadow:0 2px 4px #00000080;align-items:center;resize:vertical;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between;max-height:max-content}.start-buttons{display:flex;justify-content:flex-start;gap:.5rem}.end-buttons{display:flex;justify-content:flex-end;gap:.5rem;color:inherit!important;fill:inherit!important;stroke:inherit!important}.end-buttons button .icon-fill-bucket{transform:translateY(1px)}.menu-bar button{position:relative;padding:.4rem .8rem;background-color:var(--button-bg);color:var(--text-primary);font-size:.9rem;font-weight:500;border:1px solid var(--border-color-button);border-radius:4px;cursor:pointer;transition:background-color .3s ease,transform .2s ease;flex:0 0 100px;height:40px;display:flex;justify-content:center;align-items:center}.menu-bar button:hover{background-color:var(--button-hover);transform:scale(1.05)}.menu-bar .menu-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin-right:1rem}.main-layout{display:flex;flex:1;overflow:auto}.side-panel{position:relative;width:13vw;min-width:75px;max-width:450px;padding:1rem;background:var(--panel-gradient, var(--panel-solid));border-right:2px solid var(--border-color);box-shadow:2px 0 8px #00000080;resize:horizontal;overflow:auto;flex-shrink:0;display:flex;flex-direction:column;gap:2rem;padding-bottom:0%}@media (max-width: 1280px){.side-panel{width:23vw}}.side-panel h3{margin-top:0;font-size:1.2rem;color:var(--text-primary);text-align:center;text-transform:uppercase;letter-spacing:1px;margin-bottom:1rem}.side-panel label{font-size:.9rem;color:var(--text-secondary);margin-bottom:.5rem}input[type=number]{width:60px;margin-left:.5rem;padding:.2rem .4rem;font-size:.9rem;color:var(--text-primary);background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:4px;text-align:center}input[type=number]:focus{outline:none;border-color:var(--button-hover)}input[type=range]{width:100%;margin:.5rem 0}.side-panel button{margin:.25rem 0;padding:.5rem;background-color:var(--button-bg);color:var(--text-primary);font-size:.9rem;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease,transform .2s ease}.side-panel button:hover{background-color:var(--button-hover);transform:translateY(-1px)}.side-panel button:active{background-color:var(--border-color-button);transform:translateY(0)}.side-panel .toggle-button{background:none;border:none;cursor:pointer;display:inline-flex;align-items:center}.collision-toggle button{background:none;border:none;outline:none;box-shadow:none;width:40px;height:20px}.side-panel .toggle-button svg{width:40px;height:20px;fill:var(--text-secondary)}.side-panel .toggle-button:hover{background:none}.side-panel .toggle-button:hover svg{fill:var(--text-primary)}.side-panel .toggle-button:active{background:none}.edit-mode-eye{transform:scale(1.2);animation:pulse 1s infinite alternate}.edit-mode-eye path{fill:none;opacity:1;visibility:visible}@keyframes pulse{0%{transform:scale(1.2)}to{transform:scale(1.25)}}.dropdown-container{display:inline-flex;justify-content:space-between;align-items:center}.dropdown-container label{margin:0;padding:0}.dropdown-container select{padding:.2rem;color:var(--text-primary);background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:background-color .3s ease,border-color .2s ease}.dropdown-container select:hover{background-color:var(--button-bg);border-color:var(--border-color)}.dropdown-container select:focus{outline:none;border-color:var(--border-color);background-color:var(--button-bg)}.dropdown-container select option{background-color:var(--input-bg);color:var(--text-primary);padding:.5rem}.dropdown-container select option:hover{background-color:var(--button-bg)}.dropdown-container select option:disabled{color:#777;background-color:var(--input-bg)}.dropdown-container select::-ms-expand{background-color:var(--input-bg);color:var(--text-primary)}.map-name-control{display:flex;gap:2rem;font-size:1rem;color:var(--text-secondary)}.map-name-control label{display:flex;align-items:center;justify-content:space-between;font-size:1rem}.map-name-input{width:70%;padding:5px;border:1px solid var(--border-color);background-color:var(--input-bg);border-radius:4px;color:var(--text-primary);font-size:.9rem}.map-name-input:focus{outline:none;border-color:var(--button-hover)}.dimension-controls{display:flex;flex-direction:column;gap:1.5rem}.map-name-control,.dimension-group{display:flex;flex-direction:column;gap:.5rem}.collision-toggle{display:inline-flex;flex-direction:row;gap:.5rem;justify-content:space-between}.dimension-group label,.map-name-control label,.collision-toggle label{font-size:1rem;color:var(--text-secondary);display:flex;align-items:center;justify-content:space-between}.dimension-group input[type=number]{width:60px;text-align:center}.dimension-slider{width:100%;height:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:linear-gradient(90deg,var(--button-bg),var(--button-hover));border-radius:5px;outline:none;transition:background .3s ease}.dimension-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--slider-thumb);box-shadow:0 2px 4px #0000004d;border:2px solid var(--button-bg);transition:transform .2s ease,background-color .3s ease}.dimension-slider::-webkit-slider-thumb:hover{transform:scale(1.2);background-color:var(--text-secondary)}.dimension-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--button-bg);box-shadow:0 2px 4px #0000004d;border:2px solid var(--button-bg);transition:transform .2s ease,background-color .3s ease}.dimension-slider::-moz-range-thumb:hover{transform:scale(1.2);background-color:var(--text-secondary)}.dimension-slider::-webkit-slider-runnable-track{height:8px;background:linear-gradient(90deg,var(--button-bg),var(--button-hover));border-radius:5px}.dimension-slider::-moz-range-track{height:8px;background:linear-gradient(90deg,var(--button-bg),var(--button-hover));border-radius:5px}.map-grid-wrapper{position:relative;flex-grow:1;overflow:auto;white-space:nowrap;padding:5px}.map-grid{display:grid;gap:1px;padding:1px;width:fit-content;height:fit-content;white-space:nowrap;background-color:var(--grid-line-color)}.cell{background-color:var(--cell-bg);width:50px;height:50px;flex-shrink:0;transition:background-color .2s ease}.map-grid.grid-hidden{gap:0;border-left:none;border-top:none}.map-grid.grid-hidden .cell{background-color:var(--border-color)}.tile-library-window{position:fixed;top:55%;left:0;width:100%;height:45%;min-width:60vh;min-height:35vh;background-color:var(--library-bg);overflow-y:auto;border-top-left-radius:10px;border-top-right-radius:10px;z-index:1000;display:flex;flex-direction:column;padding:0 10px 10px 30px;resize:both;cursor:move;will-change:transform;contain:strict;justify-content:center}.tile-library-window .close-btn{position:fixed}.tile-library-entering{opacity:0;transform:translateY(20px)}.tile-library-entered{opacity:1;transform:translateY(0);transition:opacity .3s ease,transform .3s ease;animation:windowEntrance .5s ease-out}.mini-tileset{display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(5,1fr);gap:1px;background-color:var(--grid-line-color)}.mini-tileset-container{display:flex;flex-direction:column;align-items:center;gap:20px}.mini-tileset-placeholder{position:relative;contain:none!important;overflow:visible!important;min-width:458px;min-height:250px}.close-btn{position:absolute;top:12px;left:10px;padding:8px;background:var(--close-btn-bg);border:none;border-radius:50%;cursor:pointer;z-index:1001;transition:all .3s cubic-bezier(.4,0,.2,1)}.close-btn:hover{background:#fff3;transform:rotate(90deg)}.close-btn svg{display:block;color:var(--text-primary)}.tileset-center-container{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;width:100%;max-width:100%}.tile-library{display:flex;flex-wrap:wrap;gap:20px;padding:20px 15px 20px 20px;justify-content:center;-webkit-user-select:none;user-select:none;contain:strict;height:calc(100% - 40px);overflow-y:overlay;margin-right:-8px;scrollbar-gutter:stable;width:98%}.tile{contain:strict;width:50px;height:50px;background-color:#fff;display:flex;justify-content:center;align-items:center;box-shadow:0 2px 5px #0000004d;cursor:pointer;transition:transform .2s ease,box-shadow .3s ease,z-index 0s;position:relative}.tile:hover{background-color:#3a3a3a;box-shadow:0 4px 10px #0006;transform:scale(1.05);transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease,z-index 0s}.tile.selected{background-color:#555;border:2px solid var(--selection-highlight);box-shadow:0 0 15px var(--selection-highlight-shadow);border-radius:5px;transform:scale(1.1);z-index:9999;transition:transform .3s ease,background-color .3s ease,box-shadow .3s ease,border .3s ease,z-index 0s}.tile:focus{outline:2px solid var(--selection-highlight);box-shadow:0 0 5px var(--selection-highlight-shadow)}.tile-img{width:100%;height:auto;object-fit:contain}.animated-tile{width:100%;height:100%;background-repeat:no-repeat;image-rendering:pixelated}.tile-rotate-0{transform:rotate(0)}.tile-rotate-90{transform:rotate(90deg)}.tile-flip-x{transform:scaleX(-1)}.tile-flip-y{transform:scaleY(-1)}*,*:before,*:after{box-sizing:border-box}::-webkit-scrollbar{width:8px;height:10px}::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:4px;border:2px solid var(--border-color-button);transition:background-color .3s ease}::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-hover);cursor:auto}::-webkit-scrollbar-track{background:transparent;border-radius:5px}.tile-library::-webkit-scrollbar{width:10px;margin-right:15px}.tile-library::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border:2px solid transparent;border-radius:4px;background-clip:content-box}.mobile-alert{position:fixed;top:0;left:0;width:100%;z-index:1000;animation:fadeInDown .5s ease-out forwards,fadeOutUp .5s ease-out 4.5s forwards;transform:translateY(-100%);opacity:0}.alert-content{background-color:var(--selection-highlight);color:#000;padding:15px;font-size:16px;position:relative}.alert-content p{margin:0;padding:0 40px 0 20px;text-align:center}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOutUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%);visibility:hidden}}.mobile-alert .close-btn{position:absolute;top:50%;right:15px;transform:translateY(-50%);background:none;border:none;font-size:1.2rem;cursor:pointer}.weapon-panel-layout{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;overflow:auto}.weapon-library{display:flex;background:var(--bg-gradient, var(--bg-solid));padding:.5rem 1rem;border-bottom:1px solid var(--border-color);box-shadow:0 2px 4px #00000080;align-items:center;justify-content:flex-end;resize:vertical;overflow:hidden;gap:.5rem;width:100%}.weapons-library-content{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-evenly}.weapon-library h3{font-size:1.2rem;font-weight:600;color:var(--text-primary);text-align:center;text-transform:uppercase;margin-bottom:1rem}.weapon-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:1rem;padding:10px}.weapon-item{color:var(--text-primary);border-radius:5px;text-align:center;cursor:pointer;transition:transform .2s ease,box-shadow .3s ease;display:flex;flex-direction:column;justify-content:center;align-items:center;width:50px;height:50px;padding:5px;box-sizing:border-box}.weapon-item:hover{transform:scale(1.25)}.weapon-item.selected{background-color:#555;border:2px solid var(--selection-highlight);box-shadow:0 0 10px var(--selection-highlight-shadow);transform:scale(1.05)}.weapon-item .weapon-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin-top:.5rem}.weapon-item .weapon-icon{width:60px;height:60px;border-radius:5px;margin-bottom:1rem;display:flex;justify-content:center;align-items:center;box-shadow:0 2px 5px #0000004d;overflow:hidden}.weapon-container{position:absolute;pointer-events:none;width:100%;height:100%;z-index:1;overflow:visible!important}.weapon-float{animation:weapon-float 3s ease-in-out infinite;width:100%;height:100%}@keyframes weapon-float{0%,to{transform:translateY(0)}50%{transform:translateY(calc(-1 * var(--float-height)))}}.weapon-rotate{animation:weapon-rotate 14.4s linear infinite;transform-origin:center center;width:100%;height:100%}@keyframes weapon-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.weapon-shadow{position:absolute;top:55%;left:50%;transform:translate(-50%,-50%);animation:shadow-scale 3s ease-in-out infinite,shadow-opacity 3s ease-in-out infinite}@keyframes shadow-opacity{0%,to{opacity:.9}50%{opacity:.4}}@keyframes shadow-scale{0%,to{transform:translate(-50%,-50%);opacity:.7}50%{transform:translate(-50%,-50%) translateY(5px);opacity:.4}}.map-loader-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000;z-index:1100;display:flex;justify-content:center;align-items:center;pointer-events:none;opacity:0;transition:opacity .3s ease,background-color .3s ease}.map-loader-overlay:not(.map-loader-window-overlay){display:flex!important;justify-content:center;align-items:center;pointer-events:auto;opacity:1;background:#000000b3}.map-loader-overlay.open{opacity:1;background:#000000b3;pointer-events:all}.map-loader-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--overlay-bg);display:flex;justify-content:center;align-items:center;border-radius:8px;z-index:1}.map-loader-window-base{color:var(--text-primary);position:relative;background:linear-gradient(to bottom,var(--primary-bg),var(--secondary-bg));border:1px solid var(--border-color);border-radius:8px;opacity:0;transform:translateY(20px);transition:opacity .3s ease,transform .3s ease}.map-loader-window-base.open{opacity:1;transform:translateY(0);animation:windowEntrance .5s ease-out}.map-loader-window{position:relative;background:linear-gradient(to bottom,var(--primary-bg),var(--secondary-bg));border:1px solid var(--border-color);box-shadow:0 4px 8px #00000080;border-radius:8px;padding:1.5rem;width:50%;max-width:600px;height:50%;max-height:500px;display:flex;flex-direction:column;opacity:0;transform:translateY(20px);transition:opacity .3s ease,transform .3s ease}.map-loader-window.open{opacity:1;transform:translateY(0);animation:windowEntrance .5s ease-out}.map-loader-window textarea{flex:1;background:var(--input-bg);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem;margin:1rem 0;resize:none}.map-loader-window textarea:hover{border:1px solid var(--button-hover)}.map-loader-window textarea:focus{border:2px solid #c4c4c4;outline:none;transition:border-color .3s ease}.map-loader-content h3{margin:0 0 1rem;text-transform:uppercase;letter-spacing:1px;font-size:1.2rem;color:var(--text-primary);text-align:center;border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.map-loader-buttons{display:flex;justify-content:space-between;margin-top:1rem}.map-loader-buttons button{padding:.5rem 1rem;background-color:var(--border-color);color:var(--text-primary);border:1px solid var(--border-color-button);border-radius:4px;cursor:pointer;transition:background-color .3s ease,transform .2s ease}.map-loader-buttons button:hover{background-color:var(--button-hover);transform:scale(1.05)}.map-loader-buttons button:active{background-color:var(--border-color-button);transform:scale(1)}.map-loader-account-window{padding:2rem;display:flex;flex-direction:column;gap:1.5rem;color:var(--text-primary);font-size:1rem;max-width:100%;overflow:hidden;transition:min-width .4s cubic-bezier(.16,1,.3,1),opacity .3s ease,transform .3s ease;min-width:300px}.map-loader-view-container{position:absolute;top:0;left:0;right:0;opacity:0;transform:translateY(20px);transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);pointer-events:none}.map-loader-view-container.active{opacity:1;transform:translateY(0);pointer-events:all;position:relative}.map-loader-account-window.maps-loaded{min-width:785px}.username-view,.maps-view{display:flex;flex-direction:column;gap:1.5rem}.map-loader-stock-window{padding:2rem;display:flex;flex-direction:column;gap:1.5rem;width:30%;min-width:300px;color:var(--text-primary);font-size:1rem;overflow:hidden;transition:opacity .3s ease-in-out,transform .3s ease-in-out}.input-group{display:flex;align-items:center;gap:1rem}.input-group label{flex-basis:30%;text-align:right;margin:0}.map-loader-account-input{flex-grow:1;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--secondary-bg);color:var(--text-primary);font-size:1rem}.map-loader-account-window.open{opacity:1;transform:translateY(0)}.map-loader-account-content h3{margin:0 0 1rem;text-transform:uppercase;letter-spacing:1px;font-size:1.2rem;color:var(--text-primary);text-align:center;border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.map-loader-account-buttons{display:flex;justify-content:space-between;margin-top:1rem}.map-loader-account-buttons button{padding:.5rem 1rem;background-color:var(--button-bg);color:var(--text-primary);border:1px solid var(--border-color-button);border-radius:4px;cursor:pointer;transition:background-color .3s ease,transform .2s ease}.map-loader-account-buttons button:hover{background-color:var(--button-hover);transform:scale(1.05)}.map-loader-account-buttons button:active{background-color:var(--border-color-button);transform:scale(1)}.map-loader-account-maps-grid{display:flex;justify-content:flex-start;padding:20px 20px 10px;width:100%;overflow-x:auto}.map-loader-account-map-tile-container{width:100%;text-align:center;flex:0 0 120px;min-width:120px}.map-loader-account-maps-scroll-wrapper{display:flex;gap:15px;padding:20px;min-width:min-content;justify-content:center}.map-loader-account-map-tile{cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);position:relative;padding:8px;border-radius:6px;background:transparent;transform-origin:center}.map-loader-account-map-tile-image{width:49px;height:45px;object-fit:cover;transition:transform .3s ease,filter .3s ease;filter:brightness(.95)}.map-loader-account-map-tile:hover .map-loader-account-map-tile-image{transform:scale(1.08);filter:brightness(1.1)}.map-loader-account-map-tile:hover .map-loader-account-map-name{color:var(--text-primary);text-shadow:0 2px 4px rgba(0,0,0,.2)}.map-loader-account-map-name{margin-top:8px;font-size:.9rem;display:flex;align-items:center;justify-content:center;max-width:100%;word-break:break-word;transition:color .3s ease;position:relative}.map-loader-account-empty-tile{opacity:.6}.map-loader-account-dashed-box{width:49px;height:45px;border:2px dashed var(--dashed-box);margin:0 auto}.map-loader-account-empty-name{color:var(--dashed-box);-webkit-user-select:none;user-select:none}.password-input-group{position:relative;margin-bottom:1rem}.password-input-wrapper{position:relative;display:flex;align-items:center}.toggle-password{position:absolute;right:10px;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:5px;display:flex;align-items:center}.toggle-password:hover{color:var(--text-primary)}.map-loader-account-input[type=password],.map-loader-account-input[type=text]{padding-right:35px;width:100%}.toggle-password svg{transition:opacity .2s ease}.toggle-password:hover svg{opacity:.8}.map-loader-account-map-tile.selected{border:2px solid var(--selection-highlight);box-shadow:0 0 12px var(--selection-highlight-shadow);transform:scale(1.05);transition:all .2s ease}.map-loader-account-map-tile.empty-tile.selected{border:2px solid var(--selection-highlight)}.map-loader-account-map-tile.selected .map-loader-account-map-tile-image{filter:brightness(1.1)}.map-loader-account-map-tile.selected:hover{box-shadow:0 0 15px var(--selection-highlight-shadow)}.map-loader-account-map-tile.empty-tile.selected .map-loader-account-dashed-box{border-color:var(--selection-highlight)}.map-loader-account-map-tile.empty-tile.selected .map-loader-account-empty-name{color:var(--text-primary)}.map-loader-checkbox-group{display:flex;flex-direction:row;gap:1rem;justify-content:space-evenly;margin-bottom:1rem}.map-loader-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer}.map-loader-checkbox input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border:1px solid var(--border-color);border-radius:4px;background:linear-gradient(to bottom,var(--primary-bg),var(--secondary-bg));position:relative;outline:none;cursor:pointer;transition:background .2s ease-in-out,box-shadow .2s ease-in-out}.map-loader-checkbox input:checked{background:linear-gradient(to bottom,var(--checkbox-primary),var(--checkbox-secondary));box-shadow:0 0 5px var(--checkbox-shadow)}.map-loader-checkbox span{color:var(--text-primary);font-size:1rem;-webkit-user-select:none;user-select:none}.api-choice-container{display:flex;align-items:center;margin:15px 0;gap:10px}.api-choice-button{display:flex;align-items:center;gap:8px;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:5px;border-radius:4px;transition:all .2s}.api-choice-button:hover{background:#ffffff1a}.api-tooltip{position:relative;display:inline-block}.api-tooltip>span{display:block;width:18px;height:18px;background:var(--button-bg);color:var(--text-primary);border-radius:50%;text-align:center;line-height:18px;font-size:12px;cursor:help}.tooltip-text{visibility:hidden;width:200px;background-color:var(--secondary-bg);color:var(--text-primary);text-align:center;border-radius:6px;padding:5px;position:absolute;z-index:1;bottom:125%;left:50%;transform:translate(-50%);opacity:0;transition:opacity .3s;font-size:12px;border:1px solid var(--border-color);box-shadow:0 2px 8px #0000004d}.api-tooltip:hover .tooltip-text{visibility:visible;opacity:1}[data-theme=cream] .api-choice-button{color:var(--text-secondary)}[data-theme=cream] .api-choice-button:hover{background:#0000000f}[data-theme=cream] .api-tooltip>span{background:#c4bcb2;color:var(--text-primary)}[data-theme=cream] .tooltip-text{background-color:var(--secondary-bg);color:var(--text-primary)}.save-dropdown{position:relative;flex:0 0 100px;display:flex;justify-content:flex-start}.save-button{position:relative;padding:.4rem .8rem;color:var(--text-primary);font-size:.9rem;font-weight:500;border:1px solid var(--border-color-button);border-radius:4px;cursor:pointer;transition:background-color .3s ease,transform .2s ease;flex:0 0 100px;display:flex;height:40px;justify-content:center;align-items:center}.save-button.menu-open:hover,.load-button.menu-open:hover{z-index:9999;border-radius:4px}.save-options{position:absolute;top:100%;border:1px solid var(--border-color);border-radius:0%;box-shadow:0 4px 6px #0000001a;width:100%;z-index:2000}.save-options button{display:block;box-sizing:border-box;width:calc(100% + 1px);padding:8px 11px;border:none;border-left:1px solid var(--border-color-button);border-right:1px solid var(--border-color-button);border-bottom:1px solid var(--border-color-button);border-radius:0%;text-align:left;cursor:pointer;margin-top:-1px}.save-options button:hover{background-color:var(--button-hover);z-index:9999;border-radius:4px}.menu-bar button.menu-open{border-radius:0%;border-bottom:none!important}.menu-bar button.active{background-color:var(--button-hover);border-color:var(--border-color-active)}.simulate-btn{width:100%}.simulation-window{position:fixed;width:550px;height:430px;border:1px solid #ccc;background-color:#fff;box-shadow:0 4px 8px #0003;z-index:50000;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none}.simulation-header{background-color:var(--simulation-header-color);color:var(--text-primary);height:30px;cursor:move;display:flex;align-items:center;justify-content:space-between;padding:0 10px}.simulation-header button{background:none;border:none;outline:none;box-shadow:none}.simulation-header button:hover{background:none;border:none}.simulation-frame{width:100%;height:100%;border:none}.timer-display{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);color:#fff;background-color:#00000080;padding:5px;border-radius:5px;font-size:12px;text-align:center;cursor:pointer;z-index:3}@keyframes fadeInUp{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}[data-tooltip-id]{cursor:help}.custom-tooltip{background-color:var(--primary-bg)!important;color:var(--text-primary)!important;border-radius:4px;box-shadow:0 2px 8px #0000004d;font-size:.9rem;max-width:300px;border:1px solid var(--border-color)!important;padding:6px 12px;z-index:9999}.custom-tooltip .react-tooltip-arrow{filter:drop-shadow(0 2px 2px rgba(0,0,0,.3))}.react-tooltip{position:fixed!important}.custom-alert-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;z-index:9999;display:flex;justify-content:center;align-items:center}.custom-alert{color:var(--text-primary);background:linear-gradient(to bottom,var(--primary-bg),var(--secondary-bg));border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;max-width:400px;box-shadow:0 4px 20px #00000080;animation:alertFadeIn .3s ease-out}@keyframes alertFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.alert-button-container{display:flex;justify-content:flex-end;margin-top:1.5rem}.alert-confirm-btn{background:var(--button-bg);color:var(--text-primary);border:1px solid var(--border-color-button);padding:.4rem 1.2rem;font-size:.9rem;margin-top:1rem;border-radius:4px;cursor:pointer;transition:all .2s ease}.alert-confirm-btn:hover{background:var(--border-color-button);transform:translateY(-1px)}.alert-button-container.space-between{justify-content:space-between;margin-top:.5rem}.alert-confirm-btn.danger{background-color:#dc3545;order:1}.alert-confirm-btn.danger:hover{background-color:#bb2d3b}.confirmation-content{text-align:center;margin-bottom:1rem}.settings-window{display:flex;flex-direction:column;position:fixed;top:0;left:0;right:0;bottom:0;margin:auto;width:fit-content;height:fit-content;max-width:90vw;max-height:90vh;background:var(--panel-solid);border:1px solid var(--border-color);border-radius:8px;padding:2.5rem;z-index:2000;box-shadow:0 4px 20px #0000;min-width:300px;color:var(--text-primary);opacity:0;transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1),min-width .6s cubic-bezier(.22,1,.36,1),min-height .6s cubic-bezier(.22,1,.36,1);will-change:min-width,min-height}.settings-window.open{opacity:1;transform:translateY(0);box-shadow:0 4px 20px #00000080;animation:windowEntranceSettings .5s ease-out}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.settings-header .close-btn{position:relative;top:-12px;background-color:var(--button-bg)}.settings-button{bottom:0;background:none!important;border:none!important;color:var(--text-secondary);display:inline-flex!important;justify-content:center;transition:transform var(--transition-duration) var(--transition-timing),color var(--transition-duration) var(--transition-timing);transform-origin:center;will-change:transform;width:fit-content}.settings-button:hover{transform:none!important;background:none!important}.settings-button svg{width:30px;height:30px;fill:var(--text-secondary);transition:transform var(--transition-duration) var(--transition-timing),fill var(--transition-duration) var(--transition-timing);transform-origin:center}.settings-button svg:hover{fill:var(--text-primary);transform:rotate(90deg)}.settings-button:active svg{transform:rotate(180deg)!important}.settings-button svg{transition:inherit}.settings-button.active svg{animation:slow-rotate 4s linear infinite;fill:var(--text-primary)}@keyframes slow-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.settings-button.active:hover svg{fill:var(--text-primary);transform:rotate(90deg)}.settings-button.active:not(:hover) svg{fill:var(--text-secondary)}.theme-options{display:grid;gap:1rem}.theme-option{display:flex;align-items:center;gap:1rem;padding:.75rem;border-radius:6px;cursor:pointer;transition:background-color .3s ease}.theme-option:hover{background-color:var(--button-hover)}.theme-preview{width:40px;height:40px;border-radius:4px;border:2px solid;transition:transform .2s ease}.theme-option.selected .theme-preview{transform:scale(1.1);box-shadow:0 0 0 2px var(--accent-color)}.tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.tab{padding:.5rem 1rem;background:none;border:none;color:var(--text-secondary);cursor:pointer;transition:all .3s ease;position:relative}.tab.active{color:var(--text-primary);border-bottom:2px solid var(--accent-color)}.tab:hover:not(.active){color:var(--text-primary);background-color:var(--button-hover)}.tab-content-container{flex:1;min-height:230px;position:relative;overflow:hidden;transition:transform .45s cubic-bezier(.22,1,.36,1)}.tab-panel{position:absolute;width:100%;opacity:0;transform:translateY(10px);transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);pointer-events:none}.tab-panel.active{opacity:1;transform:translateY(0);pointer-events:all}.settings-header-text{position:relative;min-height:32px;overflow:hidden}.header-content{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:.5rem;opacity:0;transform:translateY(10px);transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);will-change:opacity,transform}.header-content.active{opacity:1;transform:translateY(0);position:relative}.header-content:not(.active){pointer-events:none}.audio-settings{padding:1rem 0}.audio-option{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border-radius:6px;transition:background-color .3s ease}.audio-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem .7rem;background:none;border:none;cursor:pointer;transition:all .3s ease;color:var(--text-secondary)}.audio-toggle svg{width:20px;height:20px}.audio-toggle:hover{transform:translateY(-1px)}.audio-toggle span{font-size:.9rem}.volume-control{display:flex;align-items:center;gap:1rem;width:70%}.volume-control input[type=range]{width:100%;height:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:linear-gradient(90deg,var(--button-bg),var(--button-hover));border-radius:5px;outline:none;transition:background .3s ease}.volume-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--slider-thumb);box-shadow:0 2px 4px #0000004d;border:2px solid var(--button-bg);transition:transform .2s ease,background-color .3s ease}.volume-control input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2);background-color:var(--text-secondary)}.volume-control input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--button-bg);box-shadow:0 2px 4px #0000004d;border:2px solid var(--button-bg);transition:transform .2s ease,background-color .3s ease}.volume-control span{min-width:40px;text-align:center;font-weight:700;color:var(--text-primary)}.keybind-settings{padding:1rem;display:flex;flex-direction:column;height:100%;flex:1;min-height:0}.settings-window.keybind-active{min-width:600px;min-height:600px}.keybind-list{display:grid;flex-direction:column;gap:.5rem;overflow-y:auto;height:100%;grid-auto-rows:min-content;padding:4px;margin:-4px;padding-right:.5rem}.keybind-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border-radius:6px;background-color:var(--button-bg);cursor:pointer;transition:all .2s ease}.keybind-item:hover{background-color:var(--button-hover)}.keybind-item.editing{background-color:var(--selection-highlight);box-shadow:0 0 8px var(--selection-highlight-shadow)}.keybind-description{font-size:.9rem}.keybind-key{font-weight:700;min-width:100px;text-align:right;padding:.25rem .5rem;border-radius:4px;background-color:var(--secondary-bg)}.reset-keybinds{margin-top:1.5rem;padding:.5rem 1rem;background-color:var(--button-bg);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .2s ease;color:var(--text-primary)}.reset-keybinds:hover{background-color:var(--button-hover)}@keyframes glow-confirm{0%{box-shadow:0 0 0 0 var(--selection-highlight-shadow);transform:scale(1)}50%{box-shadow:0 0 12px 4px var(--selection-highlight-shadow);transform:scale(1.02)}to{box-shadow:0 0 0 0 var(--selection-highlight-shadow);transform:scale(1)}}.keybind-item.flash{animation:glow-confirm .4s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}.keybind-list.flash-all .keybind-item{animation:glow-confirm .4s cubic-bezier(.4,0,.2,1)}@keyframes text-pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.pulse-animation{animation:text-pulse 1.5s ease-in-out infinite;font-style:italic}@keyframes windowEntrance{0%{opacity:0;transform:translateY(20px);box-shadow:0 0 0 var(--window-entrace-shadow-0)}50%{opacity:1;box-shadow:0 0 15px var(--window-entrace-shadow-50)}to{transform:translateY(0);box-shadow:0 4px 8px var(--window-entrace-shadow-100)}}@keyframes windowEntranceSettings{0%{opacity:0;transform:translateY(20px);box-shadow:0 4px 20px #0000}50%{opacity:1;box-shadow:0 4px 20px #00000040}to{transform:translateY(0);box-shadow:0 4px 20px #00000080}}.simulate-erase-container{display:flex;flex-direction:column;gap:.5rem}.settings-btn-wrapper{width:100%;text-align:center;margin-top:.5rem}.map-eraser button{width:100%;background-color:#ac0000;color:#fff}.map-eraser button:hover{background-color:#d40000}@media (max-width: 768px){.app{height:auto;min-height:100vh}.main-layout{flex-direction:column;overflow:visible}.side-panel{width:100%!important;min-width:100%;max-width:100%;max-height:30vh;overflow-y:auto;border-right:none;border-bottom:1px solid var(--border-color);padding:10px;resize:none}.map-grid-wrapper{padding-bottom:var(--mobile-bottom-bar-height)}.map-grid{padding:4px}.cell{width:30px!important;height:30px!important}.menu-bar{flex-direction:column;height:auto;padding:10px}.start-buttons,.end-buttons{width:100%;justify-content:center;margin-bottom:10px}.menu-bar button{width:100%;margin:5px 0;height:35px}.tileset-center-container{gap:0}.tile-library{gap:0;overflow-x:hidden}.tile-library-window{top:60%;height:40vh!important;min-height:250px!important;width:100vw!important;min-width:300px!important;max-width:100vw!important;padding:10px 15px 0;transform:none!important;border-radius:12px}.tileset-center-container{justify-content:center!important;padding:0 5px}.tile{width:35px!important;height:35px!important}.mini-tileset-placeholder{display:flex;justify-content:center}.weapon-library{position:relative;height:auto}.settings-window{width:95vw!important;padding:15px}.start-buttons,.end-buttons{width:100%;justify-content:flex-start;flex-wrap:wrap;gap:.5rem}.save-dropdown,.save-options{width:100%}.mobile-bottom-bar{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:var(--primary-bg);border-top:1px solid var(--border-color);z-index:1000;padding:10px 0}.mobile-bottom-bar button{background:none;border:none;color:var(--text-primary);padding:10px 20px;display:flex;flex-direction:column;align-items:center}.mobile-bottom-bar button svg{width:24px;height:24px;margin-bottom:5px}.mobile-menu-overlay,.mobile-panel-overlay{position:fixed;bottom:0;left:0;right:0;height:70vh;background:var(--secondary-bg);z-index:2000;border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -4px 12px #0000004d;display:flex;flex-direction:column;padding:0 16px 16px;overflow-y:auto;color:var(--text-primary);overflow-x:hidden}.mobile-menu-overlay{height:54vh}.mobile-menu-header,.mobile-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border-color);padding-left:7px}.mobile-menu-header{color:var(--text-primary);padding-top:5px}.close-button-mobile{background:none;border:none;color:var(--text-primary);font-size:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.close-button-mobile-library{background:none;border:none;color:var(--text-primary);font-size:24px;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.mobile-menu-content{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.mobile-tool-group{display:flex;flex-direction:column;gap:8px}.mobile-tool-group button{background:var(--button-bg);border:1px solid var(--border-color);color:var(--text-primary);padding:12px;border-radius:8px;text-align:center}.mobile-tool-group button.active{background:var(--accent-color);color:var(--text-primary)}.mobile-side-panel{padding:10px;display:flex;flex-direction:column;gap:15px;overflow-y:auto;height:100%;color:var(--text-primary)}.mobile-panel-content{flex:1;overflow-y:auto;width:103%;padding:0 0 16px}.mobile-side-panel button{color:var(--text-primary)}.side-panel .toggle-button{background:none;border:none}.mobile-bottom-bar .mobile-button-options svg{height:28px;width:28px}.mobile-bottom-bar .mobile-button-library img{height:25px;width:27px}.mobile-dimension-controls{display:flex;flex-direction:column;gap:15px}.mobile-dimension-controls .dimension-group{display:flex;flex-direction:column;gap:5px}.mobile-toggle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.toggle-group{display:flex;flex-direction:column;align-items:center;gap:5px}.toggle-group button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:8px}.toggle-group span{font-size:.8rem;text-align:center;color:var(--text-primary)}.mobile-background-select{display:flex;flex-direction:column;gap:5px}.mobile-background-select select{width:100%;padding:8px;background:var(--input-bg);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px}.mobile-action-buttons{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;margin-top:10px}.mobile-action-buttons button{padding:10px;border-radius:8px;border:none;display:flex;align-items:center;justify-content:center;font-weight:500}.mobile-test-btn{background:var(--button-bg)}.mobile-erase-btn{background:#ac0000}.mobile-load-save-menu{position:fixed;bottom:70px;left:0;right:0;background:var(--secondary-bg);border-top:1px solid var(--border-color);z-index:2000;padding:15px;box-shadow:0 -4px 10px #0000004d;border-top-left-radius:16px;border-top-right-radius:16px}.mobile-load-save-menu button{color:var(--text-primary)}.mobile-menu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.mobile-menu-header h3{margin:0;font-size:1.2rem}.mobile-menu-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.mobile-menu-options button{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 8px;background:var(--button-bg);border:1px solid var(--border-color);border-radius:8px;text-align:center;font-size:.9rem}.mobile-menu-options .icon{font-size:1.5rem;margin-bottom:5px}.mobile-back-button{background:var(--button-bg);border:1px solid var(--border-color);border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;margin-right:10px}.back-icon{width:20px;height:20px;color:var(--text-primary)}.mobile-weapons-grid{display:grid;grid-template-columns:repeat(4,1fr)}.weapon-item-mobile{background:none;border:1px solid var(--border-color);border-radius:8px;display:flex;align-items:center;justify-content:center;padding:8px;transition:all .2s ease}.mobile-tool-group{grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}.mobile-tool-group button{height:55px;min-width:80px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:8px 4px}.mobile-tool-group button img{object-fit:contain;margin-bottom:5px}.settings-header .close-btn{background:none;padding-top:25px}.mobile-map-loader-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;z-index:1100;display:flex;justify-content:center;align-items:center;opacity:0;pointer-events:none;transition:opacity .3s ease;color:var(--text-primary)}.mobile-map-loader-overlay.open{opacity:1;pointer-events:all}.mobile-map-loader-window{position:relative;background:linear-gradient(to bottom,var(--primary-bg),var(--secondary-bg));border:1px solid var(--border-color);border-radius:12px;padding:20px;width:100vw;max-height:90vh;display:flex;flex-direction:column;transform:translateY(20px);opacity:0;transition:opacity .3s ease,transform .3s ease}.mobile-map-loader-window.open{transform:translateY(0);opacity:1}.mobile-map-loader-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid var(--border-color)}.mobile-map-loader-header h2{margin:0;font-size:1.4rem}.close-btn-mobile{background:none;border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer}.close-btn-mobile svg{color:var(--text-primary);font-size:18px}.mobile-map-type-selector{margin-bottom:15px}.mobile-map-type-selector select{width:100%;padding:12px;font-size:16px;border:1px solid var(--border-color);border-radius:8px;background:var(--input-bg);color:var(--text-primary)}.mobile-map-image-container{position:relative;width:100%;height:40vh;margin-bottom:15px;border-radius:8px;overflow:hidden;background-color:var(--input-bg)}.mobile-map-image-container .spinner-wrapper{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center}.mobile-map-image-container img{width:100%;height:100%;object-fit:contain}.mobile-map-selector{margin-bottom:15px}.mobile-map-selector select{width:100%;padding:12px;font-size:16px;border:1px solid var(--border-color);border-radius:8px;background:var(--input-bg);color:var(--text-primary)}.mobile-map-loader-buttons button{flex:1;padding:12px;border-radius:8px;border:none;font-weight:500;cursor:pointer}.mobile-map-loader-buttons button:first-child{background-color:var(--accent-color);color:var(--text-primary)}.mobile-map-loader-buttons button:last-child{background-color:var(--button-bg);color:var(--text-primary)}.mobile-map-loader-account-content{padding:20px;display:flex;flex-direction:column;gap:20px}.mobile-map-loader-account-maps{padding:15px}.mobile-map-slots-grid{display:flex;flex-direction:column;gap:15px;margin-bottom:20px;max-height:50vh;overflow-y:auto;width:100%;padding-right:10px}.mobile-map-slot{padding:2px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.mobile-map-slot:hover{transform:translateY(-3px);box-shadow:0 4px 8px #0003}.mobile-map-slot-image{width:40px;height:40px;object-fit:contain;margin-bottom:10px;flex-shrink:0}.mobile-map-slot-name{font-size:.95rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;padding:0 5px;text-align:center}.mobile-map-slot-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%}.mobile-map-slot-dashed{width:40px;height:40px;border:2px dashed var(--dashed-box);margin-bottom:10px;flex-shrink:0}.mobile-map-slot-name.long{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;height:2.5em;line-height:1.25}.mobile-map-slots-grid::-webkit-scrollbar{width:6px}.mobile-map-slots-grid::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.mobile-map-slots-grid::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-hover)}.mobile-map-loader-buttons{display:flex;gap:10px}.mobile-map-loader-buttons button{flex:1;padding:12px;border-radius:8px;border:none;background-color:var(--button-bg);color:var(--text-primary);font-weight:500;cursor:pointer}.mobile-map-loader-buttons button:first-child{background-color:var(--accent-color)}.map-loader-window{width:95vw!important;max-width:95vw!important;height:70vh!important;max-height:80vh!important;padding:20px}.map-loader-textarea{height:60%!important;font-size:16px!important;padding:15px!important}.map-loader-buttons{flex-direction:column;gap:10px;margin-top:20px}.map-loader-buttons button{width:100%!important;padding:15px!important;font-size:16px!important}}@media (max-width: 480px){.mobile-map-loader-window{width:95vw;padding:15px}.mobile-map-image-container{height:35vh}}@media (min-width: 481px) and (max-width: 768px){.mobile-map-slots-grid{grid-template-columns:repeat(2,1fr)}}
