:root{--ui-scale: 1}*{box-sizing:border-box;margin:0;padding:0}body,html,#root{width:100%;height:100%;overflow:hidden;background-color:#1a1a1a}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0000001a;border-radius:4px}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px;border:2px solid transparent;background-clip:padding-box;transition:all .2s ease}::-webkit-scrollbar-thumb:hover{background:#ffffff40;background-clip:padding-box}::-webkit-scrollbar-corner{background:transparent}.color-picker-popover{position:absolute;top:calc(-10px * var(--ui-scale, 1));left:calc(270px * var(--ui-scale, 1));margin-top:0;z-index:100;background:#2a2a2a;border:1px solid #444;border-radius:8px;padding:12px;box-shadow:0 4px 12px #00000080;display:flex;flex-direction:column;gap:12px;width:240px;transform:scale(var(--ui-scale, 1));transform-origin:top left}.color-picker-popover .react-colorful{width:100%;height:150px}.palette-container{display:flex;flex-direction:column;gap:10px;max-height:200px;overflow-y:auto;padding-right:4px}.palette-container::-webkit-scrollbar{width:6px}.palette-container::-webkit-scrollbar-track{background:#1a1a1a;border-radius:3px}.palette-container::-webkit-scrollbar-thumb{background:#444;border-radius:3px}.palette-category{display:flex;flex-direction:column;gap:4px}.category-title{font-size:.7rem;color:#888;text-transform:uppercase;font-weight:600;margin-left:2px}.color-palette{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.color-swatch{width:24px;height:24px;border-radius:4px;border:2px solid transparent;cursor:pointer;transition:transform .1s}.color-swatch:hover{transform:scale(1.1);border-color:#fff;z-index:1}.input-section{display:flex;flex-direction:column;gap:8px}.input-mode-switcher{display:flex;background:#1a1a1a;border-radius:4px;padding:2px;gap:2px}.mode-btn{flex:1;background:transparent;border:none;color:#666;font-size:.7rem;padding:4px;cursor:pointer;border-radius:3px;transition:all .2s;font-weight:600}.mode-btn:hover{color:#fff;background:#ffffff0d}.mode-btn.active{background:#444;color:#fff}.input-row{display:flex;gap:4px}.slider-container{display:flex;flex-direction:column;gap:8px}.slider-row{display:flex;align-items:center;gap:8px}.slider-row label{width:15px;font-size:.7rem;color:#888;font-weight:600}.slider-row input[type=range]{flex:1;height:4px;border-radius:2px;background:#444;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer}.slider-row input[type=range]::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 0 2px #00000080}.slider-row input[type=number]{width:40px;background:#1a1a1a;border:1px solid #444;color:#fff;padding:2px 4px;border-radius:3px;font-family:monospace;text-align:right;font-size:.8rem;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.slider-row input[type=number]::-webkit-outer-spin-button,.slider-row input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.input-group{flex:1;display:flex;flex-direction:column;gap:2px}.input-group label{font-size:.6rem;color:#666;text-align:center;text-transform:uppercase}.input-group input{width:100%;background:#1a1a1a;border:1px solid #444;color:#fff;padding:4px;border-radius:4px;font-family:monospace;text-align:center;font-size:.8rem}.input-group input:focus{border-color:#007bff;outline:none}.color-picker-popover:after{content:"";position:absolute;top:25px;right:100%;margin-top:-5px;border-width:5px;border-style:solid;border-color:transparent #2a2a2a transparent transparent}.confirmation-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.confirmation-modal{background:#1e1e1e;padding:24px;border-radius:12px;border:1px solid #333;box-shadow:0 4px 20px #00000080;max-width:400px;width:90%;text-align:center;color:#fff;font-family:Inter,sans-serif}.confirmation-modal h3{margin-top:0;margin-bottom:12px;font-size:1.2rem;color:#eee}.confirmation-modal p{margin-bottom:24px;color:#aaa;line-height:1.5}.confirmation-actions{display:flex;justify-content:flex-end;gap:12px}.confirmation-button{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s ease}.confirmation-button.cancel{background-color:transparent;color:#aaa;border:1px solid #444}.confirmation-button.cancel:hover{background-color:#333;color:#fff}.confirmation-button.confirm{background-color:#e63946;color:#fff}.confirmation-button.confirm:hover{background-color:#c1121f}.toolbar{position:absolute;top:calc(20px * var(--ui-scale, 1));left:calc(20px * var(--ui-scale, 1));background:#0f0f0fb3;padding:20px;border-radius:12px;color:#eee;display:flex;flex-direction:column;gap:18px;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);width:240px;z-index:100;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000005e;transform:scale(calc(var(--ui-scale, 1) * .9));transform-origin:top left}.tool-group{display:flex;flex-direction:column;gap:8px}.tool-group label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#aaa}.button-group{display:flex;gap:6px;flex-wrap:wrap}.button-group button{flex:1 1 auto;min-width:60px;padding:8px 10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#eee;border-radius:6px;cursor:pointer;font-size:.8rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:4px}.button-group button:hover{background:#ffffff26;border-color:#fff3;transform:translateY(-1px)}.button-group button:active{transform:translateY(0)}.button-group button.active{background:#007bff;border-color:#007bff;color:#fff;box-shadow:0 0 15px #007bff66}input[type=range]{width:100%;accent-color:#007bff;cursor:pointer}input[type=color]{width:100%;height:36px;border:1px solid rgba(255,255,255,.1);padding:2px;background:#ffffff0d;border-radius:6px;cursor:pointer}select{background:#ffffff0d;color:#fff;border:1px solid rgba(255,255,255,.1);padding:8px;border-radius:6px;font-size:.85rem;cursor:pointer;outline:none}select:hover{background:#ffffff1a}select option{background:#222;color:#fff}.layer-manager{position:absolute;top:calc(20px * var(--ui-scale, 1));right:calc(20px * var(--ui-scale, 1));background:#0f0f0ff2;padding:12px;border-radius:12px;color:#fff;width:320px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080;border:1px solid rgba(255,255,255,.1);transform:scale(var(--ui-scale, 1));transform-origin:top right}.layer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.layer-list-container{display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding-right:8px}.layer-category{display:flex;flex-direction:column;gap:6px}.category-header{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#ffffff14;border-radius:6px;cursor:pointer;font-size:.75rem;font-weight:600;color:#ccc;transition:all .2s ease;-webkit-user-select:none;user-select:none}.category-header:hover{background:#ffffff1f;color:#fff}.category-arrow{font-size:.6rem;width:12px;text-align:center}.category-label{flex:1}.category-actions{display:flex;align-items:center;gap:6px}.category-seasonal-select{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#eee;font-size:.58rem;padding:2px 1px;cursor:pointer;outline:none;max-width:160px;transition:all .2s ease}.category-seasonal-select:hover{background:#ffffff1a;border-color:#ffffff4d}.category-seasonal-select option{background:#222;color:#eee;font-size:.58rem}.category-vis-toggle{background:none;border:none;cursor:pointer;font-size:.9rem;padding:2px 4px;border-radius:4px;transition:all .2s ease;opacity:.5}.category-vis-toggle.active{opacity:1}.category-vis-toggle:hover{background:#ffffff1a}.category-content{display:flex;flex-direction:column;gap:6px;padding-left:4px}.layer-item{display:flex;flex-direction:column;align-items:stretch;padding:8px;background:#ffffff0d;border-radius:8px;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.layer-item:hover{background:#ffffff14}.layer-item.active{background:#ffffff1f;border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 12px #0000004d}.layer-controls{display:flex;flex-direction:column;gap:4px;flex:1}.layer-preview{width:52px;height:52px;background:#222;border-radius:8px;overflow:hidden;flex-shrink:0;border:1px solid rgba(255,255,255,.1)}.layer-preview img{width:100%;height:100%;object-fit:cover}.no-preview{width:100%;height:100%;background:repeating-conic-gradient(#333,#333 25%,#444 0%,#444 50%) 50% / 8px 8px}.layer-opacity{width:40px}.layer-type-select{background:#2a2a2a;color:#eee;border:1px solid #444;border-radius:6px;font-size:11px;padding:3px 6px;outline:none;cursor:pointer}.layer-type-select:hover{border-color:#666}.layer-controls-row{display:flex;gap:6px;margin-top:2px;width:100%}.std-btn{padding:6px 10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#eee;border-radius:6px;cursor:pointer;font-size:.8rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:4px}.std-btn:hover{background:#ffffff26;border-color:#fff3;transform:translateY(-1px)}.std-btn:active{transform:translateY(0)}.icon-btn{cursor:pointer;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:4px;font-size:12px;color:#fff;min-width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.icon-btn:hover{background:#ffffff26;border-color:#fff3;transform:translateY(-1px)}.icon-btn:active{transform:translateY(0)}.icon-btn:not(.active){opacity:.7}.icon-btn.active{opacity:1;border-color:#007bff;background:#007bff33;box-shadow:0 0 10px #007bff33}.export-btn,.delete-btn{font-size:11px!important;padding:0!important}.delete-btn{background:#ff44441a!important;border-color:#ff44444d!important;color:#f66!important}.delete-btn:hover{background:#f443!important;border-color:#f44!important}.layer-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.layer-tag{background:#3498db33;border:1px solid rgba(52,152,219,.4);color:#3498db;font-size:.52rem;padding:2px 6px;border-radius:4px;white-space:normal;word-break:break-word;font-weight:600;line-height:1.2}.layer-expanded-settings{background:#0006;border-radius:6px;padding:10px;margin-top:8px;margin-bottom:4px;border:1px solid rgba(255,255,255,.15);animation:slideDown .2s ease-out;box-shadow:inset 0 2px 4px #0003;width:100%;flex-basis:100%;cursor:default}@keyframes slideDown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.setting-group{display:flex;flex-direction:column;gap:8px}.setting-group label{display:flex;justify-content:space-between;align-items:center;color:#ccc;font-size:.7rem!important;font-family:serif!important;font-weight:400!important;text-transform:uppercase;letter-spacing:.05em!important;opacity:.8}.setting-group label span{color:#3498db;font-family:serif!important;font-weight:400!important;background:#0000004d;padding:2px 6px;border-radius:4px;font-size:.5rem!important}.setting-slider{width:100%;accent-color:#3498db;height:6px;cursor:pointer;background:#ffffff1a;border-radius:3px}.import-heightmap-modal{max-width:450px;background:#1e1e1e;border:1px solid #333;border-radius:8px;color:#fff}.import-heightmap-modal .modal-body{display:flex;flex-direction:column;gap:12px}.import-heightmap-modal .input-group{display:flex;flex-direction:column;gap:5px}.import-heightmap-modal .input-group label{font-size:.85rem;font-weight:600;color:#aaa}.import-heightmap-modal .input-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.import-heightmap-modal input[type=number],.import-heightmap-modal input[type=file]{background:#2a2a2a;border:1px solid #444;color:#fff;padding:8px;border-radius:4px;font-size:.9rem}.import-heightmap-modal .input-with-info{display:flex;align-items:center;gap:10px}.import-heightmap-modal .info-text{font-size:.75rem;color:#666}.import-heightmap-modal .modal-footer{margin-top:15px;justify-content:flex-end}.loading-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:999999}.loading-modal{background:#141414f2;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:32px;width:360px;color:#fff;box-shadow:0 10px 40px #00000080;display:flex;flex-direction:column;align-items:center;text-align:center}.loading-modal h2{margin:0 0 24px;font-size:1.2rem;color:#eee;letter-spacing:.5px}.progress-wrapper{width:100%;display:flex;align-items:center;gap:12px;margin-bottom:16px}.progress-container{flex:1;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.progress-percentage{font-family:monospace;font-size:.9rem;color:#4facfe;min-width:40px;text-align:right}.progress-bar{height:100%;background:#007bff;width:0%;transition:width .2s ease-out;box-shadow:0 0 10px #007bff80}.status-text{font-size:.9rem;color:#bbb;min-height:1.2em}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:transparent;display:flex;justify-content:center;align-items:center;z-index:1000;pointer-events:none}.modal-content.tectonics-modal{pointer-events:auto;background:#141414f2;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:20px;width:400px;color:#fff;box-shadow:0 10px 40px #00000080;max-height:calc(70vh / var(--ui-scale, 1));overflow-y:auto;transform:scale(var(--ui-scale, 1));transform-origin:center center}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:12px}.modal-header h2{margin:0;font-size:1.1rem;color:#eee}.close-btn{background:none;border:none;color:#888;font-size:1.5rem;cursor:pointer;padding:0;line-height:1}.control-group label{display:block;margin-bottom:8px;font-size:.9rem;color:#ccc}.dual-slider{position:relative;width:100%;height:30px}.dual-slider:before{content:"";position:absolute;top:50%;left:0;width:100%;height:6px;background:#ffffff1a;transform:translateY(-50%);border-radius:3px;z-index:0}.thumb{position:absolute;pointer-events:none;-webkit-appearance:none;appearance:none;-moz-appearance:none;z-index:2;height:10px;width:100%;background:transparent;top:50%;transform:translateY(-50%)}.thumb::-webkit-slider-thumb{pointer-events:auto;-webkit-appearance:none;width:18px;height:18px;background-color:#007bff;border:2px solid white;border-radius:50%;cursor:pointer;margin-top:-4px;box-shadow:0 2px 5px #0000004d}.range-labels{display:flex;justify-content:space-between;font-size:.75rem;color:#888;margin-bottom:4px}.value-display{text-align:right;font-size:.8rem;color:#007bff;margin-top:4px}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;margin:8px 0;height:6px;background:#fff;border-radius:3px;outline:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:#007bff;border-radius:50%;cursor:pointer;box-shadow:0 2px 5px #0000004d;border:2px solid #fff}input[type=range]::-moz-range-thumb{width:18px;height:18px;background:#007bff;border-radius:50%;cursor:pointer;box-shadow:0 2px 5px #0000004d;border:2px solid #fff}.dual-slider-container{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.slider-values{display:flex;justify-content:space-between;font-size:.8rem;color:#007bff}.dual-slider{position:relative;width:100%;height:30px;display:flex;align-items:center}.dual-slider:before{content:"";position:absolute;top:50%;left:0;width:100%;height:6px;background:#fff;transform:translateY(-50%);border-radius:3px;z-index:0}.slider-track{position:absolute;top:50%;transform:translateY(-50%);height:6px;background:#007bff;border-radius:3px;z-index:1}.thumb{position:absolute;pointer-events:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:2;height:0;width:100%;outline:none;background:transparent!important}.thumb::-webkit-slider-thumb{pointer-events:auto;-webkit-appearance:none;width:18px;height:18px;background-color:#007bff;border:2px solid white;border-radius:50%;cursor:pointer;box-shadow:0 2px 5px #0000004d;margin-top:-14px}.thumb::-moz-range-thumb{pointer-events:auto;width:18px;height:18px;background-color:#007bff;border:2px solid white;border-radius:50%;cursor:pointer;box-shadow:0 2px 5px #0000004d}.thumb-left{z-index:3}.thumb-right{z-index:4}.modal-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:28px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.cancel-btn{background:transparent;border:1px solid rgba(255,255,255,.2);color:#ccc;padding:8px 16px;border-radius:6px;cursor:pointer}.cancel-btn:hover{border-color:#fff;color:#fff}.confirm-btn{background:#007bff;border:none;color:#fff;padding:8px 20px;border-radius:6px;cursor:pointer;font-weight:600}.confirm-btn:hover{background:#0066d6}.tectonics-confirm-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:transparent;display:flex;justify-content:center;align-items:center;border-radius:16px;z-index:2000;animation:fadeIn .2s ease-out;pointer-events:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.tectonics-confirm-content{pointer-events:auto;background:#1a1a1a;border:1px solid rgba(255,100,100,.3);padding:24px;border-radius:12px;text-align:center;max-width:90%;box-shadow:0 4px 20px #00000080}.tectonics-confirm-content h3{color:#ff6b6b;margin-top:0;margin-bottom:12px}.tectonics-confirm-content p{color:#ccc;margin-bottom:24px;font-size:.95rem}.tectonics-confirm-actions{display:flex;flex-direction:column;gap:10px}.keep-btn,.replace-btn{padding:10px;border-radius:6px;cursor:pointer;font-weight:600;border:none;transition:all .2s}.keep-btn{background:#2d2d2d;color:#fff;border:1px solid #444}.keep-btn:hover{background:#444}.replace-btn{background:#dc3545;color:#fff}.replace-btn:hover{background:#c82333}.modal-content.landscape-modal{pointer-events:auto;background:#1e1e1e;border-radius:12px;width:400px;max-width:90vw;color:#fff;box-shadow:0 10px 30px #00000080;border:1px solid #333;display:flex;flex-direction:column;max-height:calc(70vh / var(--ui-scale, 1));overflow-y:auto;transform:scale(var(--ui-scale, 1));transform-origin:center center}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-bottom:1px solid #333;background:#252525;border-radius:12px 12px 0 0}.modal-header h2{margin:0;font-size:1.1rem;font-weight:500;color:#e0e0e0}.close-btn{background:none;border:none;color:#888;font-size:24px;cursor:pointer;line-height:1;padding:0}.close-btn:hover{color:#fff}.modal-body{padding:20px}.control-group{margin-bottom:16px}.control-group label{display:block;margin-bottom:8px;font-weight:500;color:#ccc;font-size:.9rem}.slider-container{display:flex;align-items:center;gap:15px}.slider-container input[type=range]{flex:1}.value-display{min-width:60px;text-align:right;font-family:monospace;font-size:.9rem;color:#4da6ff}.range-labels{display:flex;justify-content:space-between;font-size:.8rem;color:#888;margin-bottom:5px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.9em;color:#ccc;-webkit-user-select:none;user-select:none}.checkbox-label.disabled{color:#555;cursor:not-allowed;opacity:.6}.checkbox-label.disabled input{cursor:not-allowed}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#007bff}.landscape-modal input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;margin:5px 0;background:transparent}.landscape-modal input[type=range]:focus{outline:none}.landscape-modal input[type=range]::-webkit-slider-runnable-track{width:100%;height:6px;cursor:pointer;background:transparent;border-radius:3px;border:none}.landscape-modal input[type=range]::-webkit-slider-thumb{height:16px;width:16px;border-radius:50%;background:#007bff;cursor:pointer;-webkit-appearance:none;margin-top:-5px;box-shadow:0 0 5px #0000004d;border:2px solid white}.modal-footer{padding:12px 18px;border-top:1px solid #333;display:flex;justify-content:flex-end;gap:10px;background:#252525;border-radius:0 0 12px 12px}.cancel-btn,.confirm-btn{padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s;border:none}.cancel-btn{background:#333;color:#ccc}.cancel-btn:hover{background:#444;color:#fff}.confirm-btn{background:#007bff;color:#fff}.confirm-btn:hover{background:#0056b3}.landscape-confirm-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:transparent;display:flex;justify-content:center;align-items:center;border-radius:12px;z-index:10;pointer-events:none}.landscape-confirm-content{pointer-events:auto;text-align:center;padding:20px;width:90%;max-width:400px}.landscape-confirm-actions{display:flex;gap:10px;justify-content:center;margin-top:20px}.keep-btn{background:#28a745;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer}.replace-btn{background:#dc3545;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer}.temperature-modal{pointer-events:auto;background:#1e1e1e;border-radius:12px;width:400px;max-width:90vw;color:#fff;box-shadow:0 10px 30px #00000080;border:1px solid #333;display:flex;flex-direction:column}.temperature-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #333;background:#252525;border-radius:12px 12px 0 0}.temperature-modal .modal-header h2{margin:0;font-size:1.2rem;font-weight:500;color:#e0e0e0}.temperature-modal .close-btn{background:none;border:none;color:#888;font-size:24px;cursor:pointer;line-height:1;padding:0}.temperature-modal .close-btn:hover{color:#fff}.temperature-modal .modal-body{padding:20px}.temperature-modal .modal-footer{padding:15px 20px;border-top:1px solid #333;display:flex;justify-content:flex-end;gap:10px;background:#252525;border-radius:0 0 12px 12px}.temperature-modal input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;margin:5px 0;background:transparent;height:10px}.temperature-modal input[type=range]:focus{outline:none}.temperature-modal input[type=range]::-webkit-slider-runnable-track{width:100%;height:10px;cursor:pointer;border-radius:5px;border:none}.temperature-modal input[type=range]::-webkit-slider-thumb{height:18px;width:18px;border-radius:50%;background:#fff;border:2px solid #e74c3c;cursor:pointer;-webkit-appearance:none;margin-top:-4px;box-shadow:0 0 5px #0000004d}.temperature-confirm-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:transparent;display:flex;justify-content:center;align-items:center;border-radius:12px;z-index:10;pointer-events:none}.temperature-confirm-content{pointer-events:auto;background:#1e1e1e;padding:20px;border-radius:12px;text-align:center;border:1px solid #333;box-shadow:0 4px 15px #00000080;width:90%;max-width:350px}.temperature-confirm-actions{display:flex;gap:10px;justify-content:center;margin-top:20px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:99999!important;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:auto!important}.modal-content{pointer-events:auto;background:#1e1e1e;color:#fff;padding:20px;border-radius:12px;width:90%;max-width:500px;box-shadow:0 10px 30px #00000080;border:1px solid #333;font-family:Inter,sans-serif;max-height:calc(70vh / var(--ui-scale, 1));overflow-y:auto;transform:scale(var(--ui-scale, 1));transform-origin:center center}.modal-content h2{margin-top:0;border-bottom:1px solid #333;padding-bottom:12px;font-size:1.35rem}.modal-content p{color:#aaa;line-height:1.5}.modal-group{margin-bottom:16px;display:flex;flex-direction:column;gap:8px}.modal-group label{font-weight:500;color:#ddd;display:flex;justify-content:space-between}.modal-group small{color:#666;font-size:.8rem}.modal-group input[type=range]{width:100%;height:6px;background:#333;border-radius:3px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.modal-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:#3498db;border-radius:50%;cursor:pointer;transition:background .2s}.modal-group input[type=range]::-webkit-slider-thumb:hover{background:#2980b9}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;padding-top:14px;border-top:1px solid #333}.modal-actions button{padding:8px 20px;border-radius:6px;border:1px solid #444;background:transparent;color:#fff;cursor:pointer;font-size:.85rem;transition:all .2s}.modal-actions button:hover:not(:disabled){background:#333}.modal-actions button.primary{background:#3498db;border-color:#3498db}.modal-actions button.primary:hover:not(:disabled){background:#2980b9}.modal-actions button:disabled{opacity:.5;cursor:not-allowed}.confirm-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:transparent;display:flex;justify-content:center;align-items:center;border-radius:12px;z-index:10000;pointer-events:none}.confirm-content{pointer-events:auto;background:#1e1e1e;padding:24px;border-radius:12px;text-align:center;border:1px solid #444;box-shadow:0 4px 20px #0009;width:90%;max-width:320px;animation:fadeIn .2s ease-out}.confirm-content h3{margin:0 0 12px;color:#e67e22;font-size:1.1rem}.confirm-content p{font-size:.9rem;color:#ccc;margin-bottom:24px;line-height:1.4}.confirm-actions{display:flex;gap:12px;justify-content:center}.confirm-actions button{padding:8px 16px;border-radius:6px;border:1px solid #444;background:transparent;color:#fff;cursor:pointer;font-size:.9rem;transition:all .2s}.confirm-actions button:hover{background:#333}.confirm-actions button.primary{background:#e67e22;border-color:#e67e22;color:#fff}.confirm-actions button.primary:hover{background:#d35400}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.erosion-dashboard{display:flex;flex-direction:column;gap:.4rem;padding:0}.tool-btn{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.1rem;padding:.4rem .6rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff;cursor:pointer;transition:all .2s ease;text-align:left}.tool-btn:hover{background:#ffffff1a;border-color:#4facfe;transform:translateY(-2px)}.tool-btn .icon{font-size:1.1rem}.magic-section{background:#667eea0d;padding:.4rem .6rem;border-radius:8px;border:1px dashed rgba(102,126,234,.3)}.section-description{font-size:.75rem;color:#bbb;text-align:center;margin-bottom:.4rem;line-height:1.1}.magic-btn-container{width:100%}.advanced-section{margin-top:0;padding-top:.4rem;border-top:1px solid rgba(255,255,255,.1)}.section-header{margin-bottom:.4rem}.section-header h3{margin:0;font-size:.85rem;color:#4facfe}.section-subtitle{margin:0;font-size:.7rem;color:#777}.tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.magic-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.4rem;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:4px;color:#fff;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000004d}.magic-btn:hover{transform:scale(1.02);box-shadow:0 6px 20px #764ba266;filter:brightness(1.1)}.setting-group{display:flex;flex-direction:column;gap:.5rem}.setting-group label{font-size:.9rem;color:#eee;font-weight:500;display:flex;justify-content:space-between}.slider-value{color:#4facfe;font-family:monospace}.toggle-group{display:flex;align-items:center;gap:1rem;cursor:pointer}.toggle-group input[type=checkbox]{width:1.2rem;height:1.2rem;accent-color:#4facfe;cursor:pointer}.toggle-label{flex:1;font-size:.95rem;color:#ddd}.info-text{font-size:.8rem;color:#aaa;font-style:italic;background:#ffffff0d;padding:.5rem;border-radius:4px;margin-top:-.5rem}.tool-header{display:flex;align-items:center;gap:.4rem;font-weight:600;font-size:.8rem}.tool-description{margin:0;font-size:.65rem;color:#888;line-height:1}.rivers-modal .modal-content{background:linear-gradient(135deg,#1e3c72,#2a5298);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #1f26875e;color:#fff;max-height:calc(70vh / var(--ui-scale, 1));overflow-y:auto;transform:scale(var(--ui-scale, 1));transform-origin:center center}.rivers-modal .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:10px}.rivers-modal .modal-header h2{margin:0;font-size:1.35rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.rivers-modal .close-btn{background:none;border:none;color:#fff9;font-size:1.5rem;cursor:pointer;transition:color .3s}.rivers-modal .close-btn:hover{color:#fff}.rivers-modal .control-group{margin-bottom:16px}.rivers-modal label{display:block;margin-bottom:10px;font-weight:500}.rivers-modal input[type=range]{width:100%;height:8px;border-radius:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;cursor:pointer;background:#fff3}.rivers-modal input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#4facfe;cursor:pointer;border:2px solid white;box-shadow:0 2px 4px #0003}.rivers-modal .value-display{text-align:right;margin-top:5px;font-size:.9em;color:#fffc}.rivers-modal .modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;border-top:1px solid rgba(255,255,255,.1);padding-top:15px}.rivers-modal .cancel-btn{padding:8px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:4px;cursor:pointer;transition:all .2s}.rivers-modal .cancel-btn:hover{background:#fff3}.rivers-modal .confirm-btn{padding:8px 24px;background:linear-gradient(90deg,#4facfe,#00f2fe);border:none;color:#fff;font-weight:700;border-radius:4px;cursor:pointer;box-shadow:0 4px 6px #0003;transition:transform .1s,box-shadow .2s}.rivers-modal .confirm-btn:hover{transform:translateY(-1px);box-shadow:0 6px 8px #0000004d}.rivers-modal .confirm-btn:active{transform:translateY(1px);box-shadow:0 2px 4px #0003}.rivers-modal .checkbox-group{display:flex;flex-direction:column;margin-top:10px}.rivers-modal .checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:1rem;-webkit-user-select:none;user-select:none}.rivers-modal .checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#4facfe}.alert-overlay{z-index:3000}.alert-modal{width:350px;background:#252525;border:1px solid #ffaa00;box-shadow:0 10px 40px #000c}.alert-header{background:#2a2a2a;border-bottom:1px solid #333}.alert-header h2{color:#fa0}.alert-body{text-align:center;padding:30px 20px;font-size:1rem;color:#e0e0e0}.alert-footer{justify-content:center;padding:15px;background:#2a2a2a}.manual-features-panel{position:fixed;top:90px;left:-140px;width:260px;background:#141414f2;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;color:#fff;box-shadow:4px 4px 20px #00000080;z-index:1000}.manual-features-panel h3{margin:0 0 8px;font-size:1.1rem;color:#eee;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:8px}.hint{font-size:.8rem;color:#aaa;margin-bottom:16px}.tools{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.tool-btn{background:transparent;border:1px solid #444;padding:10px;border-radius:6px;color:#ccc;cursor:pointer;font-weight:600;text-align:left;transition:all .2s}.tool-btn:hover{background:#ffffff0d}.tool-btn.active{background:#ffffff1a;border-width:2px}.controls{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.controls label{font-size:.85rem;color:#ccc;display:flex;flex-direction:column;gap:4px}.controls input[type=range]{width:100%}.actions{border-top:1px solid rgba(255,255,255,.1);padding-top:16px;display:flex;gap:12px}.generate-btn{flex:2;background:#27ae60;color:#fff;border:none;padding:10px;border-radius:6px;font-weight:700;cursor:pointer;font-size:1rem;transition:background .2s}.generate-btn:hover{background:#2ecc71}.cancel-btn{flex:1;background:transparent;color:#e74c3c;border:1px solid #c0392b;padding:10px;border-radius:6px;font-weight:700;cursor:pointer;font-size:1rem;transition:all .2s}.cancel-btn:hover{background:#e74c3c1a;border-color:#e74c3c}.world-parameters-modal{max-width:320px;padding:12px!important}.world-parameters-modal h2{border-bottom:none!important;padding-bottom:0!important;margin-bottom:8px!important;font-size:.9rem!important}.world-parameters-modal .modal-header{border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:6px;margin-bottom:10px}.world-parameters-modal .control-group{margin-bottom:8px}.world-parameters-modal .names-grid{display:grid;grid-template-columns:105px 1fr;gap:6px;align-items:center;background:#ffffff08;padding:8px;border-radius:6px;border:1px solid rgba(255,255,255,.08)}.world-parameters-modal .names-grid label{font-size:.65rem;color:#95a5a6;line-height:1.2}.world-parameters-modal .name-input{background:#0003;border:1px solid rgba(255,255,255,.15);border-radius:4px;padding:4px 8px;color:#fff;font-family:inherit;font-size:.7rem;height:22px;transition:all .2s;width:100%;box-sizing:border-box}.world-parameters-modal .name-input:focus{outline:none;border-color:#3498db;background:#0006}.world-parameters-modal h3{margin:8px 0 6px;font-size:.6rem;color:#3498db;text-transform:uppercase;letter-spacing:.5px;opacity:.8}.world-parameters-modal .modal-footer{margin-top:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:flex-end;gap:8px}.world-parameters-modal .modal-footer button{font-size:.7rem;padding:4px 12px;height:26px}.world-parameters-modal .close-btn{font-size:1.1rem;line-height:1}.maritime-modal h2{color:#3498db;font-size:1.1rem;margin-bottom:8px;padding-bottom:8px}.maritime-modal.modal-content{max-width:450px;max-height:490px;padding:12px 16px}.maritime-modal .modal-header{margin-bottom:12px}.maritime-modal .control-group{margin-bottom:8px}.maritime-modal .control-group label{font-size:.65rem;margin-bottom:4px}.maritime-modal .control-help{font-size:.5rem;margin-top:2px;margin-bottom:4px;opacity:.8}.maritime-modal .slider-container{display:flex;align-items:center;gap:5px}.maritime-modal .value-display{font-size:.55rem;min-width:0px;text-align:left}.maritime-modal .modal-footer{margin-top:12px;padding-top:8px;gap:8px}.maritime-modal .modal-footer button{padding:6px 30px;font-size:.8rem}.maritime-confirm-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;border-radius:8px}.maritime-confirm-content{background:#2c3e50;padding:15px;border-radius:12px;border:1px solid #3498db;max-width:240px;text-align:center}.maritime-confirm-content h3{font-size:1rem;margin-top:0}.maritime-confirm-content p{font-size:.8rem;margin-bottom:15px}.maritime-confirm-actions{display:flex;gap:10px;margin-top:10px;justify-content:center}.maritime-confirm-actions button{padding:6px 12px;font-size:.8rem}.maritime-confirm-actions .replace-btn{border:none;color:#fff;border-radius:4px;cursor:pointer;font-weight:700}.political-borders-modal{width:450px;max-width:90vw}.political-borders-modal .info-box{background:#2ecc711a;border-left:4px solid #2ecc71;padding:10px;border-radius:4px;margin-bottom:20px;font-size:.85rem;color:#ecf0f1}.political-borders-modal .control-section{margin-bottom:20px}.political-borders-modal h3{font-size:.9rem;color:#3498db;margin-bottom:12px;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid rgba(52,152,219,.3);padding-bottom:4px}.political-borders-modal .total-indicator{margin-top:10px;text-align:right;font-size:.9rem;color:#bdc3c7}.political-borders-modal .total-indicator strong{color:#f1c40f;font-size:1.1rem}.political-borders-modal .checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.political-borders-modal .checkbox-container{display:flex;align-items:center;gap:8px;font-size:.85rem;color:#ecf0f1;cursor:pointer}.political-borders-modal .checkbox-container input{cursor:pointer}.influence-group{margin-bottom:20px;background:#0003;padding:12px;border-radius:8px;border:1px solid rgba(255,255,255,.05)}.influence-header{margin-bottom:8px}.nested-controls{display:flex;flex-direction:column;gap:12px;margin-left:24px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1)}.nested-control{display:flex;flex-direction:column;gap:4px}.nested-control label{font-size:.8rem;color:#ccc;display:flex;justify-content:space-between}.nested-control .slider-container{height:24px}.nested-control .slider-container input{height:4px}.nested-control .value-display{font-size:.8rem;min-width:40px}.nested-confirm-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1001;border-radius:8px}.confirm-content{background:#2c3e50;padding:20px;border-radius:8px;text-align:center;box-shadow:0 4px 20px #00000080;border:1px solid #e74c3c}.confirm-content h3{color:#e74c3c;margin-top:0}.confirm-actions{display:flex;gap:10px;justify-content:center;margin-top:20px}.confirm-actions .replace-btn{background:#e74c3c;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer}.top-bar{position:absolute;top:calc(20px * var(--ui-scale, 1));left:50%;transform:translate(-50%) scale(var(--ui-scale, 1));transform-origin:top center;width:auto;height:auto;background:#0f0f0fd9;display:flex;flex-direction:row;align-items:center;padding:6px 16px;box-sizing:border-box;z-index:100;border:1px solid rgba(255,255,255,.1);border-radius:8px;box-shadow:0 4px 12px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);gap:16px}.app-logo-container{display:flex;align-items:center}.top-bar-logo{height:48px;width:auto;filter:invert(1) brightness(1.5);display:block}.world-gen-tools{display:flex;flex-direction:column;gap:6px;align-items:center}.tools-row{display:flex;gap:4px;flex-wrap:nowrap}.tools-row.secondary{justify-content:center;opacity:.9}.world-gen-tools button{background:#ffffff0d;border:1px solid rgba(255,255,255,.15);color:#eee;padding:3px 8px;border-radius:4px;cursor:pointer;font-size:.7rem;white-space:nowrap;transition:all .2s ease;display:flex;align-items:center;gap:3px}.world-gen-tools button:hover{background:#fff3;border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.world-gen-tools button:active{transform:translateY(0)}.debug-toolbar{position:fixed;bottom:calc(20px * var(--ui-scale, 1));right:calc(20px * var(--ui-scale, 1));display:flex;gap:10px;background:#000000b3;padding:10px;border-radius:12px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;transform:scale(var(--ui-scale, 1));transform-origin:bottom right}.debug-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:1.5rem;width:50px;height:50px;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.debug-btn:hover{background:#fff3;transform:scale(1.05)}.debug-btn:active{transform:scale(.95)}.version-footer{position:fixed;bottom:calc(12px * var(--ui-scale, 1));right:calc(12px * var(--ui-scale, 1));display:flex;align-items:center;gap:8px;padding:6px 12px;background:#0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;border:1px solid rgba(255,255,255,.1);color:#ffffff80;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:.75rem;letter-spacing:.05em;pointer-events:none;z-index:1000;transition:opacity .3s ease;text-transform:uppercase;transform:scale(var(--ui-scale, 1));transform-origin:bottom right}.version-footer .copyright{font-weight:500}.version-footer .divider{opacity:.3}.version-footer .version{font-weight:700;color:#ffffffb3}.version-footer .release-date{font-weight:400;color:#ffffff80}.version-footer .sw-status{font-weight:600;display:flex;align-items:center;gap:4px}.version-footer .sw-status.ready{color:#4ade80}.version-footer .sw-status.checking{color:#fbbf24}.version-footer .sw-status.need-refresh{color:#60a5fa}.version-footer .sw-status.offline{color:#f87171}.login-container{position:fixed;top:0;left:0;width:100vw;height:100vh;background:radial-gradient(circle at center,#1a1a1a,#0a0a0a);display:flex;justify-content:center;align-items:center;z-index:100000}.login-card{background:#141414cc;-webkit-backdrop-filter:blur(15px) saturate(160%);backdrop-filter:blur(15px) saturate(160%);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:40px;width:100%;max-width:400px;box-shadow:0 20px 50px #00000080;display:flex;flex-direction:column;gap:16px;animation:fadeIn .6s ease-out;transform:scale(var(--ui-scale, 1));transform-origin:center center}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-card h1{color:#fff;font-size:1.5rem;font-weight:700;text-align:center;margin:0;letter-spacing:2px;text-transform:uppercase}.login-logo{width:100%;margin-bottom:20px;filter:invert(1) brightness(2);display:block;object-fit:contain}.login-card p{color:#888;font-size:.9rem;text-align:center;margin:-10px 0 10px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#aaa}.form-group input{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px 16px;color:#fff;font-size:1rem;transition:all .2s ease;outline:none}.form-group input:focus{background:#ffffff1a;border-color:#3498db;box-shadow:0 0 10px #3498db33}.login-button{background:#3498db;border:none;border-radius:8px;padding:14px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:10px;box-shadow:0 4px 15px #3498db4d}.login-button:hover{background:#2980b9;transform:translateY(-2px);box-shadow:0 6px 20px #3498db66}.login-button:active{transform:translateY(0)}.error-message{color:#ff4757;font-size:.85rem;text-align:center;background:#ff47571a;padding:10px;border-radius:6px;border:1px solid rgba(255,71,87,.2)}.viewport-controls{position:fixed;bottom:calc(12px * var(--ui-scale, 1));left:50%;transform:translate(-50%) scale(var(--ui-scale, 1));display:flex;gap:8px;align-items:center;z-index:999}.viewport-btn{background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #0000004d;transition:all .2s ease;padding:0;line-height:1;-webkit-user-select:none;user-select:none}.viewport-btn.home{width:48px;height:48px;font-size:1.5rem;border-radius:50%}.viewport-btn.zoom-in,.viewport-btn.zoom-out,.viewport-btn.grid-toggle{width:36px;height:36px;font-size:1.25rem;border-radius:50%;font-weight:700}.viewport-btn.grid-toggle{font-size:1.1rem}.viewport-btn.grid-toggle.active{background:#0096ff66;border-color:#0096ff99;box-shadow:0 0 10px #0096ff4d}.viewport-btn:hover{background:#1e1e1ecc;transform:scale(1.1);box-shadow:0 6px 16px #0006;border-color:#ffffff4d}.viewport-btn:active{transform:scale(.95);background:#323232e6}.viewport-btn.zoom-in{padding-bottom:2px}.climate-slider-item{pointer-events:auto}.tilt-slider{background:linear-gradient(to right,#9b59b6,#3498db,#2ecc71)!important}.season-label{color:#fff;font-size:.65rem;font-weight:500;text-align:center;text-transform:uppercase;letter-spacing:.1em;opacity:.8}.slider-track-wrapper{position:relative;padding-bottom:12px}.season-slider{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(to right,#3498db,#2ecc71,#f1c40f,#e67e22,#3498db);border-radius:2px;outline:none;cursor:pointer}.season-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:#fff;border:2px solid #2c3e50;border-radius:50%;box-shadow:0 0 10px #00000080;transition:transform .15s ease}.season-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.season-markers{position:absolute;top:6px;left:0;right:0;display:flex;justify-content:space-between;padding:0 7px;pointer-events:none;opacity:.4}.marker-tick{width:1px;height:6px;background:#fff}.climate-controls-container{position:fixed;bottom:calc(48px * var(--ui-scale, 1));left:50%;transform:translate(-50%) scale(var(--ui-scale, 1));width:auto;min-width:650px;background:#000000b3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 20px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:32px;z-index:998;box-shadow:0 8px 32px #0006;pointer-events:auto}.climate-slider-item{display:flex;flex-direction:column;gap:6px;flex:1;min-width:300px}.error-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.error-modal-content{background:#1e1e1e;border:1px solid #ef4444;border-radius:calc(8px * var(--ui-scale));width:calc(400px * var(--ui-scale));max-width:90%;box-shadow:0 4px 20px #00000080;display:flex;flex-direction:column;overflow:hidden;animation:slideIn .2s ease-out}@keyframes slideIn{0%{transform:translateY(calc(20px * var(--ui-scale)));opacity:0}to{transform:translateY(0);opacity:1}}.error-modal-header{background:#2a1515;padding:calc(15px * var(--ui-scale));border-bottom:1px solid #3d2020}.error-modal-header h3{margin:0;color:#f87171;font-size:calc(16px * var(--ui-scale));font-weight:600;display:flex;align-items:center;gap:calc(8px * var(--ui-scale))}.error-modal-header h3:before{content:"⚠️"}.error-modal-body{padding:calc(20px * var(--ui-scale));color:#e5e5e5;font-size:calc(14px * var(--ui-scale));line-height:1.5;white-space:pre-wrap}.error-modal-footer{padding:calc(15px * var(--ui-scale));background:#1a1a1a;display:flex;justify-content:flex-end;border-top:1px solid #333}.error-modal-footer button{background:#ef4444;color:#fff;border:none;padding:calc(8px * var(--ui-scale)) calc(24px * var(--ui-scale));border-radius:calc(4px * var(--ui-scale));font-size:calc(14px * var(--ui-scale));cursor:pointer;transition:background .2s;font-weight:500}.error-modal-footer button:hover{background:#dc2626}.info-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.info-modal-content{background:#1a1a1a;border:1px solid #3498db;border-radius:12px;padding:24px;width:450px;max-width:90%;box-shadow:0 10px 40px #00000080;transform:scale(var(--ui-scale));animation:modal-appear .3s cubic-bezier(.18,.89,.32,1.28)}.info-modal-header h3{margin:0 0 16px;color:#3498db;font-size:1.4rem;text-align:center}.info-modal-body{margin-bottom:24px;color:#e0e0e0;line-height:1.6;font-size:.95rem}.info-modal-footer{display:flex;justify-content:flex-end;gap:12px}.info-modal-footer button{padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s;border:none}.info-modal-footer .confirm-btn{background:#3498db;color:#fff}.info-modal-footer .confirm-btn:hover{background:#2980b9;transform:translateY(-2px)}.info-modal-footer .cancel-btn{background:#444;color:#ccc}.info-modal-footer .cancel-btn:hover{background:#555;color:#fff}@keyframes modal-appear{0%{opacity:0;transform:scale(calc(var(--ui-scale) * .8))}to{opacity:1;transform:scale(var(--ui-scale))}}.maritime-save-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:9999}.modal-content.maritime-info-modal{max-width:450px;background:#1a1a1a;border:1px solid #3498db;border-radius:12px;box-shadow:0 10px 40px #000c;pointer-events:auto}.maritime-info-modal .modal-body{padding:20px;line-height:1.5;color:#eee}.maritime-info-modal .modal-body strong{color:#3498db}.maritime-info-modal .modal-footer{display:flex;justify-content:center;padding-bottom:20px}.maritime-load-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:9999}.modal-content.maritime-load-modal{max-width:450px;background:#1a1a1a;border:1px solid #3498db;border-radius:12px;box-shadow:0 10px 40px #000c;pointer-events:auto}.maritime-load-modal .modal-body{padding:20px;line-height:1.5;color:#eee}.maritime-load-modal .modal-body strong{color:#3498db}.maritime-load-modal .modal-footer{padding-bottom:20px}.maritime-load-modal button{flex:1;display:flex;flex-direction:column;align-items:center;padding:10px}
