/*
 * WolfStorm — Wolf Territories Grid Web Viewer
 * Copyright (C) 2026 Wolf Territories Grid / IntelligentWolf Ltd.
 * All rights reserved.
 *
 * An original work. Interoperates with OpenSimulator grids by implementing the
 * publicly documented LLUDP and HTTP capability protocols; protocol
 * interoperability does not imply shared authorship or a shared code base.
 *
 * Unauthorised copying, redistribution or modification of this file, in whole or
 * in part, is prohibited without the written permission of IntelligentWolf Ltd.
 * See COPYRIGHT in the project root. https://wolfterritories.org
 */
#loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg, #1a1a2e 0, #16213e 50%, #0f3460 100%);display:flex;align-items:center;justify-content:center;z-index:10000;font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif}.loading-content{display:flex;flex-direction:column;align-items:center;width:600px;padding:40px;background:rgba(0, 0, 0, 0.7);border-radius:10px;box-shadow:0 8px 32px rgba(0, 0, 0, 0.5)}.loading-logo{max-width:300px;height:auto;margin-bottom:40px;filter:drop-shadow(0 4px 8px rgba(0, 0, 0, 0.5))}.loading-progress{width:100%;margin-bottom:20px}.progress-bar-container{width:100%;height:30px;background:rgba(255, 255, 255, 0.1);border-radius:15px;overflow:hidden;border:2px solid rgba(255, 255, 255, 0.2);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.3)}.progress-bar-fill{height:100%;width:0%;background:linear-gradient(90deg, #00d4ff 0, #09f 50%, #06c 100%);border-radius:15px;transition:width 0.3s ease-out;box-shadow:0 0 10px rgba(0, 212, 255, 0.5);position:relative}.progress-bar-fill::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg, 
        transparent 0, 
        rgba(255, 255, 255, 0.3) 50%, 
        transparent 100%);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.progress-text{color:#fff;font-size:16px;font-weight:600;margin-top:10px;text-align:center;text-shadow:0 2px 4px rgba(0, 0, 0, 0.5)}.progress-message{color:#b0b0b0;font-size:14px;text-align:center;margin-top:10px;min-height:40px;display:flex;align-items:center;justify-content:center}.ws-release-line{color:#9aa0a6;font-size:13px;letter-spacing:0.02em;text-align:center;margin-top:2px}.cancel-button{margin-top:20px;padding:10px 30px;background:rgba(255, 255, 255, 0.1);color:#fff;border:2px solid rgba(255, 255, 255, 0.3);border-radius:5px;cursor:pointer;font-size:14px;font-weight:600;transition:all 0.3s ease}.cancel-button:hover{background:rgba(255, 255, 255, 0.2);border-color:rgba(255, 255, 255, 0.5);transform:translateY(-2px);box-shadow:0 4px 8px rgba(0, 0, 0, 0.3)}.cancel-button:active{transform:translateY(0)}#loading-screen.fade-out{animation:fadeOut 0.5s ease-out forwards}@keyframes fadeOut{from{opacity:1}to{opacity:0}}#region-load-progress{position:fixed;left:50%;transform:translateX(-50%);bottom:96px;z-index:1200;pointer-events:none;max-width:min(560px, calc(100vw - 24px))}.rlp-live{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}#region-load-progress .rlp-panel{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:#10131a;border:1px solid #2b3242;border-left:4px solid #8ab4ff;border-radius:8px;box-shadow:0 8px 28px rgba(0, 0, 0, 0.55);color:#e8ecf3;font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;font-size:13px;line-height:1.45;pointer-events:auto}#region-load-progress .rlp-panel[hidden]{display:none}#region-load-progress .rlp-body{flex:1 1 auto;min-width:0}#region-load-progress .rlp-title{font-weight:600;color:#e8ecf3}#region-load-progress .rlp-detail{color:#b9c2d0;font-variant-numeric:tabular-nums}#region-load-progress .rlp-note{color:#b9c2d0;font-size:12px;margin-top:2px}#region-load-progress .rlp-note:empty{display:none}#region-load-progress .rlp-spinner{flex:0 0 auto;width:16px;height:16px;margin-top:2px;border-radius:50%;border:2px solid #2b3242;border-top-color:#8ab4ff;animation:rlp-spin 0.9s linear infinite;will-change:transform;contain:strict}@keyframes rlp-spin{to{transform:rotate(360deg)}}#region-load-progress .rlp-panel[data-state="paused"]{border-left-color:#ffb454}#region-load-progress .rlp-panel[data-state="paused"] .rlp-spinner{animation:none;border-color:#ffb454;border-top-color:#ffb454;opacity:0.6}#region-load-progress .rlp-panel[data-state="done"]{border-left-color:#7ee081}#region-load-progress .rlp-panel[data-state="done"] .rlp-title{color:#7ee081}#region-load-progress .rlp-panel[data-state="done"] .rlp-spinner{animation:none;border-color:#7ee081;border-top-color:#7ee081}#region-load-progress .rlp-panel[data-state="nodata"],#region-load-progress .rlp-panel[data-state="stalled"]{border-left-color:#ff8a8a;border-color:#5a2c2c}#region-load-progress .rlp-panel[data-state="nodata"] .rlp-title,#region-load-progress .rlp-panel[data-state="stalled"] .rlp-title{color:#ff8a8a}#region-load-progress .rlp-panel[data-state="nodata"] .rlp-spinner,#region-load-progress .rlp-panel[data-state="stalled"] .rlp-spinner{animation:none;border-color:#ff8a8a;border-top-color:#ff8a8a}#region-load-progress .rlp-action,#region-load-progress .rlp-close{flex:0 0 auto;align-self:center;padding:5px 10px;border-radius:5px;border:1px solid #3a4256;background:transparent;color:#b9c2d0;font-size:12px;font-family:inherit;cursor:pointer}#region-load-progress .rlp-action{color:#e8ecf3;border-color:#8ab4ff}#region-load-progress .rlp-action[hidden]{display:none}#region-load-progress .rlp-action:hover,#region-load-progress .rlp-close:hover{background:rgba(255, 255, 255, 0.08);color:#e8ecf3}#region-load-progress .rlp-action:focus-visible,#region-load-progress .rlp-close:focus-visible{outline:2px solid #8ab4ff;outline-offset:2px}@media (prefers-reduced-motion: reduce){#region-load-progress .rlp-spinner{animation:none}}@media (max-width: 640px){#region-load-progress{bottom:76px;max-width:calc(100vw - 16px)}#region-load-progress .rlp-panel{font-size:12px}}