/*
 * 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
 */
body.ws-glass{--wg-lime:#84cc16;--wg-lime-soft:rgba(132, 204, 22, 0.60);--wg-lime-dim:rgba(132, 204, 22, 0.22);--wg-slate-900:#0f172a;--wg-slate-800:#1e293b;--floater-bg:rgba(15, 23, 42, 0.78);--floater-header:rgba(30, 41, 59, 0.74);--floater-header-focused:rgba(40, 56, 78, 0.84);--floater-border:rgba(132, 204, 22, 0.24);--floater-shadow:rgba(0, 8, 20, 0.55);--text-primary:#e5e7eb;--text-secondary:#9ca3af;--accent-blue:var(--wg-lime);--accent-green:var(--wg-lime);--button-hover:rgba(132, 204, 22, 0.16);--glass-blur:14px;--glass-fill:rgba(30, 41, 59, 0.55);--glass-fill-soft:rgba(255, 255, 255, 0.06);--glass-rim:rgba(132, 204, 22, 0.20);--glass-rim-bright:rgba(132, 204, 22, 0.45);--glass-sheen:rgba(255, 255, 255, 0.10)}body.ws-glass.ws-glass-noblur{--glass-blur:0px}body.ws-glass{--glass-blur:0px}body.ws-glass.ws-glass-blur{--glass-blur:14px}body.ws-glass .llfloater{backdrop-filter:blur(var(--glass-blur)) saturate(1.2);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.2);box-shadow:0 8px 30px var(--floater-shadow),0 0 0 1px rgba(255, 255, 255, 0.04) inset;border-radius:10px}body.ws-glass .llfloater::before{content:'';position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(to right,
        transparent, var(--glass-sheen) 18%, var(--glass-sheen) 82%, transparent);pointer-events:none;z-index:2}body.ws-glass .llfloater-header{backdrop-filter:blur(calc(var(--glass-blur) / 2));-webkit-backdrop-filter:blur(calc(var(--glass-blur) / 2));border-bottom:1px solid var(--glass-rim)}body.ws-glass .llfloater-focused{box-shadow:0 10px 36px var(--floater-shadow),0 0 0 1px var(--glass-rim-bright) inset}body.ws-glass .land-tabs,body.ws-glass .llfloater-tabs{background:rgba(15, 23, 42, 0.45);border-bottom:1px solid var(--glass-rim)}body.ws-glass .land-tab:hover,body.ws-glass .llfloater-tab:hover{background:var(--button-hover)}body.ws-glass .land-tab.active,body.ws-glass .llfloater-tab.active{background:rgba(132, 204, 22, 0.12);color:var(--wg-lime)}body.ws-glass .land-tab.active::after{background:var(--wg-lime)}body.ws-glass .ll-input,body.ws-glass .ll-list-view,body.ws-glass .ll-textarea,body.ws-glass .ll-tree-view,body.ws-glass input[type="text"].ll-input{background:rgba(8, 14, 28, 0.42);border-color:rgba(132, 204, 22, 0.16)}body.ws-glass .ll-input:focus,body.ws-glass .ll-textarea:focus{background:rgba(8, 14, 28, 0.55);border-color:var(--glass-rim-bright);outline:none;box-shadow:0 0 0 2px rgba(132, 204, 22, 0.18)}body.ws-glass .ll-button,body.ws-glass .ll-radio-btn{background:var(--glass-fill-soft);border:1px solid rgba(132, 204, 22, 0.18)}body.ws-glass .ll-button:hover,body.ws-glass .ll-radio-btn:hover{background:rgba(132, 204, 22, 0.18);border-color:var(--glass-rim-bright)}body.ws-glass .ll-button:active{background:rgba(132, 204, 22, 0.10)}body.ws-glass .ll-button-primary,body.ws-glass .ll-button-success{background:rgba(132, 204, 22, 0.28);border-color:var(--glass-rim-bright);color:#f2ffdc}body.ws-glass .ll-button-primary:hover,body.ws-glass .ll-button-success:hover{background:rgba(132, 204, 22, 0.45)}body.ws-glass .ll-list-item:hover,body.ws-glass .ll-tree-item:hover{background:rgba(132, 204, 22, 0.10)}body.ws-glass .ll-list-item.selected,body.ws-glass .ll-tree-item.selected{background:rgba(132, 204, 22, 0.22);color:#f2ffdc}body.ws-glass .ll-separator,body.ws-glass .ll-slider{background:rgba(132, 204, 22, 0.20)}body.ws-glass .ll-list-view::-webkit-scrollbar-track,body.ws-glass .ll-tree-view::-webkit-scrollbar-track{background:rgba(8, 14, 28, 0.30)}body.ws-glass .ll-list-view::-webkit-scrollbar-thumb,body.ws-glass .ll-tree-view::-webkit-scrollbar-thumb{background:rgba(132, 204, 22, 0.28);border-radius:3px}body.ws-glass .ll-list-view::-webkit-scrollbar-thumb:hover,body.ws-glass .ll-tree-view::-webkit-scrollbar-thumb:hover{background:rgba(132, 204, 22, 0.45)}body.ws-glass .toolbar-bottom{background:linear-gradient(to top,
        rgba(15, 23, 42, 0.84), rgba(30, 41, 59, 0.62));backdrop-filter:blur(var(--glass-blur)) saturate(1.2);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.2);border-top:1px solid var(--glass-rim)}body.ws-glass .toolbar-btn{background:var(--glass-fill-soft);border:1px solid rgba(255, 255, 255, 0.10);border-radius:8px}body.ws-glass .toolbar-btn:hover:not(.disabled):not(:disabled){background:rgba(132, 204, 22, 0.20);border-color:var(--glass-rim-bright)}body.ws-glass .toolbar-btn.active{background:linear-gradient(to bottom,
        rgba(132, 204, 22, 0.48), rgba(101, 163, 13, 0.34));border-color:rgba(132, 204, 22, 0.85);box-shadow:0 0 10px var(--wg-lime-dim)}body.ws-glass #chat-container,body.ws-glass #favorites-bar,body.ws-glass .chat-panel,body.ws-glass .location-bar{background:rgba(15, 23, 42, 0.72);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-rim);border-radius:8px}@media (prefers-reduced-motion: reduce){body.ws-glass .llfloater,body.ws-glass .toolbar-btn{transition:none}}body.ws-glass #viewer-menu-bar{background:linear-gradient(to bottom,
        rgba(30, 41, 59, 0.72), rgba(15, 23, 42, 0.80));backdrop-filter:blur(var(--glass-blur)) saturate(1.2);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.2);border-bottom:1px solid var(--glass-rim)}body.ws-glass #viewer-menu-bar .menu-item:hover,body.ws-glass #viewer-menu-bar .menu-title:hover{background:rgba(132, 204, 22, 0.18)}body.ws-glass .context-menu,body.ws-glass .menu-dropdown,body.ws-glass .pie-menu-panel,body.ws-glass .viewer-menu-dropdown{background:rgba(15, 23, 42, 0.86);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-rim);border-radius:8px;box-shadow:0 10px 30px var(--floater-shadow)}body.ws-glass .context-menu .menu-entry:hover,body.ws-glass .menu-dropdown .menu-entry:hover{background:rgba(132, 204, 22, 0.18)}body.ws-glass .chat-floater,body.ws-glass .chat-history-content{background:rgba(15, 23, 42, 0.68);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-color:var(--glass-rim)}body.ws-glass .chat-bubble{background:rgba(15, 23, 42, 0.80);border:1px solid var(--glass-rim);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}body.ws-glass .inventory-container,body.ws-glass .inventory-footer,body.ws-glass .inventory-header,body.ws-glass .map-actions,body.ws-glass .radar-actions{background:rgba(15, 23, 42, 0.55);border-color:var(--glass-rim)}body.ws-glass .icon-btn:hover,body.ws-glass .inventory-btn-icon:hover,body.ws-glass .map-action-btn:hover{background:rgba(132, 204, 22, 0.20)}body.ws-glass .map-canvas{border:1px solid var(--glass-rim)}body.ws-glass .script-dialog{background:rgba(15, 23, 42, 0.82);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-rim)}body.ws-glass .script-dialog-btn{background:var(--glass-fill-soft);border:1px solid rgba(132, 204, 22, 0.20)}body.ws-glass .script-dialog-btn:hover{background:rgba(132, 204, 22, 0.22);border-color:var(--glass-rim-bright)}body.ws-glass .loading-content,body.ws-glass .teleport-content{background:rgba(15, 23, 42, 0.78);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-rim);border-radius:12px}body.ws-glass .loading-progress .progress-bar-fill,body.ws-glass .progress-bar-fill{background:linear-gradient(to right, #65a30d, var(--wg-lime));box-shadow:0 0 12px var(--wg-lime-dim)}body.ws-glass .progress-bar-container{background:rgba(8, 14, 28, 0.55);border:1px solid var(--glass-rim)}body.ws-glass .camera-controls,body.ws-glass .movement-controls,body.ws-glass .touch-controls{background:rgba(15, 23, 42, 0.62);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-rim);border-radius:10px}body.ws-glass{--wolf-primary:#84cc16;--wolf-primary-dark:#65a30d;--wolf-secondary:#84cc16;--wolf-dark:#1e293b;--wolf-darker:#0f172a;--wolf-light:#e5e7eb;--wolf-border:rgba(132, 204, 22, 0.24);--wolf-hover:#a3e635}body.ws-glass .login-panel{background:rgba(15, 23, 42, 0.72);backdrop-filter:blur(var(--glass-blur)) saturate(1.2);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.2);border-right:1px solid var(--glass-rim)}body.ws-glass #login-bottom-bar,body.ws-glass #login-menu-bar{background:rgba(15, 23, 42, 0.68);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-color:var(--glass-rim)}body.ws-glass #login-form input[type="password"],body.ws-glass #login-form input[type="text"],body.ws-glass .combo-input,body.ws-glass .field-input-group input{background-color:rgba(8, 14, 28, 0.45);border:1px solid rgba(132, 204, 22, 0.18)}body.ws-glass #login-form input:focus,body.ws-glass .combo-input:focus,body.ws-glass .field-input-group input:focus{background-color:rgba(8, 14, 28, 0.60);border-color:var(--glass-rim-bright);outline:none;box-shadow:0 0 0 2px rgba(132, 204, 22, 0.18)}body.ws-glass .combo-list{background:rgba(15, 23, 42, 0.94);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-rim)}body.ws-glass .combo-list li:hover{background:rgba(132, 204, 22, 0.18)}body.ws-glass .login-button{background:linear-gradient(135deg, #84cc16, #65a30d);border:1px solid rgba(132, 204, 22, 0.85);color:#0f172a;font-weight:600;box-shadow:0 4px 18px rgba(132, 204, 22, 0.22)}body.ws-glass .login-button:hover:not(:disabled){background:linear-gradient(135deg, #a3e635, #84cc16)}body.ws-glass .login-button:disabled{background:rgba(255, 255, 255, 0.08);border-color:rgba(255, 255, 255, 0.12);color:var(--text-secondary);box-shadow:none}body.ws-glass .emphasis-link{color:var(--wg-lime)}body.ws-glass #login-alert{background:rgba(120, 30, 30, 0.82);border:1px solid rgba(255, 140, 140, 0.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}body.ws-glass .location-bar__input{background:rgba(8, 14, 28, 0.45);border:1px solid rgba(102, 170, 255, 0.28);border-radius:6px;color:#6af;caret-color:#6af;font-size:13px;padding:3px 8px;min-width:0}body.ws-glass .location-bar__input::placeholder{color:rgba(102, 170, 255, 0.55)}body.ws-glass .location-bar__input:focus{background:rgba(8, 14, 28, 0.62);border-color:rgba(102, 170, 255, 0.75);outline:none;box-shadow:0 0 0 2px rgba(102, 170, 255, 0.18)}body.ws-glass .location-bar__clear,body.ws-glass .location-bar__history{background:transparent;border:0;color:rgba(102, 170, 255, 0.75);cursor:pointer;padding:0 4px}body.ws-glass .location-bar__clear:hover,body.ws-glass .location-bar__history:hover{color:#9cf}body.ws-glass .region-search-panel{background:rgba(15, 23, 42, 0.92);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid rgba(102, 170, 255, 0.30);border-radius:8px;box-shadow:0 10px 30px var(--floater-shadow)}body.ws-glass .region-search-results li{color:#cfe0ff;border-bottom:1px solid rgba(255, 255, 255, 0.05)}body.ws-glass .region-search-results li:hover,body.ws-glass .region-search-results li[aria-selected="true"]{background:rgba(102, 170, 255, 0.22);color:#fff}body.ws-glass .region-search-status{color:rgba(156, 163, 175, 0.9)}