/*
 * 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
 */
.wn-window{gap:8px}.wn-window .wn-tabs .wg-tab{min-height:44px}.wn-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:2px 4px 10px 2px}.wn-body:focus{outline:none}.wn-body:focus-visible{outline:2px solid var(--wg-accent);outline-offset:-2px}.wn-window .wg-btn{min-height:44px}.wn-window .wa-field input,.wn-window .wa-field textarea,.wn-window .wa-num-in,.wn-window .wa-select{min-height:44px;box-sizing:border-box}.wn-window .wa-field textarea{padding:8px;font:inherit;color:var(--wg-text);background:var(--wg-base-2);border:1px solid var(--wg-btn-edge)}.wn-window .wa-field input[type="text"],.wn-window .wa-field textarea,.wn-window .wn-field .wa-select{width:100%;max-width:100%}.wn-window .wa-field input.wa-num-in{width:8em}.wn-window .wa-field input.wn-short{width:10em}.wn-lead{margin:4px 0 0;font-size:14px;line-height:1.45;color:var(--wg-text)}.wn-note{margin:2px 0;font-size:13px;color:var(--wg-dim);line-height:1.4}.wn-hint{display:block;font-size:12px;color:var(--wg-dim)}.wn-alert::before,.wn-errsum-h::before,.wn-sec-bad::before,.wn-warn::before{content:"";display:inline-block;margin-right:6px;vertical-align:-1px;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:11px solid #f59e0b}.wn-warn{margin:4px 0;font-size:13px;color:var(--wg-warn);font-weight:600}.wn-warn-box{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.wn-window .wg-h{margin:8px 0 4px}.wn-sub{margin:10px 0 4px;font-size:13px;color:var(--wg-text)}.wn-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.wn-edit-h,.wn-step-h{margin:4px 0;font-family:var(--wg-font-display);font-size:18px;color:var(--wg-text)}.wn-edit-h:focus,.wn-step-h:focus{outline:none}.wn-edit-h:focus-visible,.wn-step-h:focus-visible{outline:2px solid var(--wg-accent);outline-offset:2px}.wn-link{min-height:32px;padding:0;border:0;background:none;color:var(--wg-accent);font:inherit;text-decoration:underline;cursor:pointer;text-align:left}.wn-link:focus-visible{outline:2px solid var(--wg-accent);outline-offset:2px}.wn-avs{display:grid;grid-template-columns:repeat(auto-fill, minmax(112px, 1fr));gap:8px}.wn-avs:focus-visible{outline:2px solid var(--wg-danger-edge);outline-offset:3px}.wn-av{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:4px;min-height:44px;padding:6px;border:1px solid var(--wg-btn-edge);background:var(--wg-card);color:var(--wg-text);cursor:pointer;text-align:left;font:inherit}.wn-av:hover{border-color:var(--wg-accent)}.wn-av[aria-pressed="true"]{border-color:var(--wg-accent);box-shadow:0 0 0 2px var(--wg-accent),0 0 14px var(--wg-glow)}.wn-av:focus-visible{outline:2px solid var(--wg-accent);outline-offset:3px}.wn-pic{display:grid;place-items:center;aspect-ratio:1/1;overflow:hidden;background:var(--wg-base-2)}.wn-pic img{width:100%;height:100%;object-fit:cover;display:block}.wn-pic-none{font:700 34px var(--wg-font-display);color:var(--wg-dim)}.wn-av-name{font-weight:700;font-size:13px;overflow-wrap:anywhere}.wn-av-kind{font-size:12px;color:var(--wg-dim)}.wn-chosen{position:absolute;top:8px;right:8px;padding:2px 6px;font-size:11px;font-weight:700;color:var(--wg-on-accent);background:var(--wg-accent)}.wn-empty{padding:12px;background:var(--wg-card);border:1px solid var(--wg-btn-edge);display:flex;flex-direction:column;align-items:flex-start;gap:6px}.wn-empty-t{margin:0;font-weight:700;color:var(--wg-text)}.wn-group,.wn-presets,.wn-radios,.wn-rule{margin:6px 0;padding:6px 8px 8px;border:1px solid var(--wg-btn-edge);min-width:0}.wn-group legend,.wn-presets legend,.wn-radios legend,.wn-rule legend{padding:0 4px;font-size:13px;font-weight:600;color:var(--wg-text)}.wn-preset,.wn-radio,.wn-tick{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;min-height:44px;padding:4px 6px;cursor:pointer;color:var(--wg-text)}.wn-preset{grid-template-rows:auto auto}.wn-preset input,.wn-radio input,.wn-tick input{width:20px;height:20px;margin:0;accent-color:var(--wg-accent)}.wn-preset input{grid-row:1/span 2}.wn-preset-line{grid-column:2;font-size:12px;color:var(--wg-dim)}.wn-preset:has(input:checked){background:color-mix(in srgb, var(--wg-accent) 14%, transparent);box-shadow:inset 3px 0 0 var(--wg-accent)}.wn-preset input:focus-visible,.wn-radio input:focus-visible,.wn-tick input:focus-visible{outline:2px solid var(--wg-accent);outline-offset:2px}.wn-tick-l .wn-hint{margin-top:2px}.wn-sec{border:1px solid var(--wg-btn-edge);background:var(--wg-card)}.wn-sec-h{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;cursor:pointer;list-style:none;color:var(--wg-text)}.wn-sec-h::-webkit-details-marker{display:none}.wn-sec-h::before{content:"";flex:0 0 auto;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:8px solid var(--wg-accent);transition:transform 0.12s ease}.wn-sec[open] > .wn-sec-h::before{transform:rotate(90deg)}.wn-sec-h:focus-visible{outline:2px solid var(--wg-accent);outline-offset:-2px}.wn-sec-t{font-weight:700;font-size:14px}.wn-sec-line{margin-left:auto;font-size:12px;color:var(--wg-dim)}.wn-sec-bad{font-size:12px;font-weight:700;color:var(--wg-danger)}.wn-sec-body{padding:4px 12px 12px;display:flex;flex-direction:column;gap:4px}.wn-switch{display:inline-grid;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;min-height:44px;padding:4px 12px 4px 6px;border:0;background:transparent;color:var(--wg-text);cursor:pointer;text-align:left;font:inherit;box-shadow:inset 0 0 0 1px var(--wg-btn-edge)}.wn-switch.wn-on{box-shadow:inset 0 0 0 1.5px var(--wg-accent)}.wn-switch:focus-visible{outline:2px solid var(--wg-accent);outline-offset:2px}.wn-switch:disabled{opacity:0.55;cursor:not-allowed}.wn-switch-track{position:relative;width:48px;height:26px;border-radius:13px;background:var(--wg-track)}.wn-switch.wn-on .wn-switch-track{background:var(--wg-accent)}.wn-switch-knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--wg-text);transition:left 0.12s ease}.wn-switch.wn-on .wn-switch-knob{left:25px;background:var(--wg-on-accent)}.wn-switch-words b{display:block;font-size:13px}.wn-switch-state{font-size:12px;color:var(--wg-dim)}.wn-switch.wn-on .wn-switch-state{color:var(--wg-accent);font-weight:700}.wn-ai-line{margin:6px 0;font-size:13px;color:var(--wg-text);font-variant-numeric:tabular-nums}.wn-inline{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.wn-inline .wa-field{margin-top:4px}.wn-btns{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.wn-actions{display:flex;justify-content:flex-end;gap:30px;margin-top:10px}.wn-actions-split{justify-content:space-between}.wn-go{min-width:160px}.wn-list-plain{list-style:none;margin:4px 0;padding:0;display:flex;flex-direction:column;gap:4px}.wn-li{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.wn-li-t{flex:1 1 140px;min-width:0;overflow-wrap:anywhere;color:var(--wg-text);font-variant-numeric:tabular-nums}.wn-routine{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.wn-shy input[type="range"]{width:100%;min-height:44px;accent-color:var(--wg-accent)}.wn-shy-ends{display:flex;justify-content:space-between;font-size:12px;color:var(--wg-dim)}.wn-dos{display:flex;flex-direction:column;gap:4px;margin-top:6px}.wn-remove{align-self:flex-start;margin-top:8px}.wn-row-err{display:block;margin-top:2px}.wn-errsum{padding:8px 12px;border:2px solid var(--wg-danger-edge);background:var(--wg-card)}.wn-errsum:focus-visible{outline:2px solid var(--wg-accent);outline-offset:2px}.wn-errsum-h{margin:0 0 4px;font-weight:700;color:var(--wg-danger)}.wn-errsum ul{margin:0;padding-left:18px}.wn-errsum .wn-link{color:var(--wg-danger)}.wn-done{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--wg-ok);background:var(--wg-card)}.wn-done-t{margin:0;font-weight:700;color:var(--wg-ok)}.wn-done-t::before{content:"\2713  "}.wn-npcs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.wn-npc{display:flex;flex-direction:column;gap:4px;padding:10px 12px}.wn-npc-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.wn-npc-name{font-family:var(--wg-font-display);font-size:16px;color:var(--wg-text);overflow-wrap:anywhere}.wn-npc-line{font-size:12px;color:var(--wg-dim)}.wn-npc-owner{font-size:12px;color:var(--wg-dim)}.wn-chips{display:flex;flex-wrap:wrap;gap:4px}.wn-chip{padding:2px 8px;font-size:12px;font-weight:700;color:var(--wg-text);border:1px solid var(--wg-btn-edge)}.wn-del{align-self:flex-end;margin-top:10px}.wn-rename{margin-top:4px}.wn-big-h{margin:4px 0 0;font-family:var(--wg-font-display);font-size:20px;color:var(--wg-accent)}.wn-big-h:focus{outline:none}.wn-big-h:focus-visible{outline:2px solid var(--wg-accent);outline-offset:2px}.wn-choices{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:10px;margin-top:6px}.wn-choice{display:flex;flex-direction:column;gap:6px;min-height:96px;padding:14px;text-align:left;cursor:pointer;font:inherit;color:var(--wg-text);background:var(--wg-card);border:1px solid var(--wg-btn-edge)}.wn-choice:hover{border-color:var(--wg-accent);box-shadow:0 0 12px var(--wg-glow)}.wn-choice:focus-visible{outline:2px solid var(--wg-accent);outline-offset:3px}.wn-choice-t{font-family:var(--wg-font-display);font-size:17px;color:var(--wg-accent)}.wn-choice-l{font-size:13px;color:var(--wg-dim);line-height:1.4}.wn-step{margin:10px 0 4px;font-size:15px;color:var(--wg-text)}.wn-back{align-self:flex-start}.wn-more{margin-top:8px}.wn-actions-split .wn-balance{margin:0;align-self:center;flex:1 1 auto}.wn-spent{font-variant-numeric:tabular-nums}.wn-costs{padding:8px 12px;border:1px solid var(--wg-btn-edge);background:var(--wg-card);display:flex;flex-direction:column;gap:4px}.wn-cost-line{margin:0;font-weight:700;color:var(--wg-text);font-variant-numeric:tabular-nums}.wn-subtabs{margin:4px 0 6px}.wn-subtabs .wg-tab{min-height:44px}.wn-editor{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px dashed var(--wg-btn-edge)}.wn-grow{flex:1 1 220px}.wn-grow input{width:100%}.wn-subtabs{flex-wrap:wrap}.wn-k-text{margin:0;color:var(--wg-text);line-height:1.4;overflow-wrap:anywhere}.wn-step-row{padding:6px 8px;margin:4px 0;border-left:3px solid var(--wg-accent);background:var(--wg-base-2)}.wn-step-n{font-weight:700;color:var(--wg-accent);align-self:center}.wn-errlist{margin:0 0 6px;padding-left:18px;color:var(--wg-danger)}@media (prefers-reduced-motion: reduce){.wn-sec-h::before,.wn-switch-knob{transition:none}}@media (max-width: 600px){.wn-avs{grid-template-columns:repeat(auto-fill, minmax(96px, 1fr))}.wn-actions{justify-content:stretch}.wn-actions .wg-btn{flex:1}}.wn-body > .wg-btn{align-self:flex-start}.llfloater-content.wn-window{--wg-base-1:rgba(19, 33, 43, 0.96);--wg-base-2:#0a141b;--wg-card:#13212b;--wg-text:#f6eedd;--wg-dim:#c4b9a4;--wg-accent:#ffb54d;--wg-on-accent:#1d1206;--wg-edge:rgba(255, 181, 77, 0.5);--wg-glow:rgba(255, 150, 60, 0.22);--wg-track:#2b3a44;--wg-btn-1:#2a3c48;--wg-btn-2:#24343f;--wg-btn-edge:rgba(214, 192, 160, 0.5);--wg-danger:#ffab9a;--wg-danger-edge:#f0603f;--wg-ok:#8fe3a8;--wg-warn:#ffd27a;--wn-title:#fff1d0;--wn-chip:#1b2c37;color:var(--wg-text)}.wn-window > .wg-con-bg.wn-sky{inset:0;clip-path:none;background:linear-gradient(180deg, #08121a 0, #0f1e27 45%, #161a17 78%, #2a170c 100%)}.wn-stars{position:absolute;left:0;top:0;width:100%;height:60%;fill:#fff8e6}.wn-stars g{opacity:0.8;animation:wn-twinkle 3.6s ease-in-out infinite}.wn-stars .wn-tw1{animation-duration:5.1s;opacity:0.6}.wn-stars .wn-tw2{animation-duration:6.3s;opacity:0.45}@keyframes wn-twinkle{50%{opacity:0.2}}.wn-sky-glow{position:absolute;left:0;right:0;bottom:0;height:30%;background:radial-gradient(ellipse at 50% 120%, rgba(255, 140, 50, 0.16), rgba(255, 140, 50, 0) 70%)}.wn-hero{position:relative;flex:0 0 auto;height:96px;margin:-10px -14px 0;padding:14px 16px 0;overflow:hidden}.wn-scene{position:absolute;left:0;bottom:0;width:100%;height:100%}.wn-hill{fill:#13202a}.wn-pines-far{fill:#0e1a22}.wn-ground{fill:#0a0f12}.wn-pines-near{fill:#05090c}.wn-sil{fill:#04070a}.wn-log{fill:#3b2414}.wn-flame{transform-box:fill-box;transform-origin:50% 100%;animation:wn-flicker 1.1s ease-in-out infinite alternate}.wn-flame-1{fill:#ff7a1a}.wn-flame-2{fill:#ffb347;animation-duration:0.8s}.wn-flame-3{fill:#ffe9a8;animation-duration:0.6s}@keyframes wn-flicker{from{transform:scale(1, 1)}to{transform:scale(0.9, 0.84)}}.wn-fire-glow{animation:wn-glow 2.4s ease-in-out infinite alternate}@keyframes wn-glow{to{opacity:0.65}}.wn-plate{position:relative;display:inline-block;padding:2px 12px 4px 0}.wn-title{margin:0;font:700 28px/1.05 var(--wg-font-display);letter-spacing:0.06em;color:var(--wn-title);text-shadow:0 0 14px rgba(255, 170, 70, 0.45),0 2px 3px #000}.wn-tagline{margin:2px 0 0;font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:var(--wg-dim);text-shadow:0 1px 2px #000}.wn-window .wn-tabs{border-bottom-color:rgba(255, 181, 77, 0.35)}.wn-window .wg-tab{color:var(--wg-dim);transition:color 0.15s ease,background 0.15s ease}.wn-window .wg-tab:hover{color:var(--wg-accent)}.wn-window .wg-tab.active{color:var(--wn-title)}.wn-window .wg-tab:focus-visible{outline:2px solid var(--wg-accent);outline-offset:-3px}.wn-window .wg-btn{transition:box-shadow 0.15s ease,filter 0.15s ease,transform 0.08s ease}.wn-window .wg-btn:hover:not(:disabled){filter:brightness(1.12)}.wn-window .wg-btn:active:not(:disabled){transform:translateY(1px);filter:brightness(0.95)}.wn-window .wg-btn-primary{background:linear-gradient(180deg, #ffd98a, #ffb54d 55%, #f29a2e);color:var(--wg-on-accent)}.wn-window .wg-btn-primary:hover:not(:disabled){box-shadow:0 0 14px rgba(255, 170, 70, 0.55)}.wn-big-h{font-size:22px;color:var(--wn-title);text-shadow:0 0 10px rgba(255, 170, 70, 0.35)}.wn-choice{position:relative;border-radius:10px;background:linear-gradient(180deg, #1a2b36, #13212b);border-color:rgba(214, 192, 160, 0.35);transition:transform 0.15s ease,box-shadow 0.15s ease,border-color 0.15s ease}.wn-choice:hover{transform:translateY(-2px);border-color:var(--wg-accent);box-shadow:0 6px 18px rgba(0, 0, 0, 0.45),0 0 16px rgba(255, 160, 60, 0.25)}.wn-choice:active{transform:translateY(0)}.wn-choice-art{display:flex;align-items:flex-end;gap:6px;height:40px}.wn-choice-art .wn-sil-ico{height:100%;width:auto;fill:var(--wg-accent);opacity:0.9}.wn-choice-t{color:var(--wn-title)}.wn-step{display:flex;align-items:center;gap:8px}.wn-window .wg-card,.wn-window .wn-costs,.wn-window .wn-empty,.wn-window .wn-sec{border-radius:10px}.wn-window .wg-card{background:var(--wg-card);border:1px solid rgba(214, 192, 160, 0.22);clip-path:none}.wn-npc.wn-char{display:grid;grid-template-columns:64px 1fr;column-gap:12px;align-items:start;transition:border-color 0.15s ease,box-shadow 0.15s ease}.wn-npc.wn-char:hover{border-color:rgba(255, 181, 77, 0.55);box-shadow:0 0 14px rgba(255, 160, 60, 0.14)}.wn-npc.wn-char > :not(.wn-portrait){grid-column:2}.wn-portrait{grid-row:1/span 6;width:64px;height:64px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:radial-gradient(circle at 50% 70%, #3a2412, #13212b 70%);box-shadow:0 0 0 2px rgba(255, 181, 77, 0.55),0 0 12px rgba(255, 150, 60, 0.25)}.wn-portrait img{width:100%;height:100%;object-fit:cover}.wn-portrait .wn-sil-ico{width:70%;height:70%;fill:#c4b9a4}.wn-npc-name{color:var(--wn-title)}.wn-av{border-radius:10px;transition:transform 0.15s ease,box-shadow 0.15s ease,border-color 0.15s ease}.wn-av:hover{transform:translateY(-2px)}.wn-av .wn-pic{border-radius:8px}.wn-sec{background:rgba(19, 33, 43, 0.92)}.wn-sec-h:hover .wn-sec-t{color:var(--wg-accent)}.wn-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;background:var(--wn-chip);border:1px solid rgba(214, 192, 160, 0.35);color:var(--wg-text)}.wn-chip::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--wg-dim);flex:0 0 auto}.wn-chip-awake::before{background:var(--wg-ok);box-shadow:0 0 6px var(--wg-ok)}.wn-chip-asleep::before{background:transparent;box-shadow:inset 3px -2px 0 0 #d9d2ff}.wn-chip-ai::before{background:var(--wg-accent)}.wn-chip-aipaused::before{border-radius:1px;width:7px;background:linear-gradient(90deg, var(--wg-dim) 35%, transparent 35% 65%, var(--wg-dim) 65%)}.wn-chip-paused::before{border-radius:1px;width:7px;background:linear-gradient(90deg, var(--wg-warn) 35%, transparent 35% 65%, var(--wg-warn) 65%)}.wn-chip-down::before{border-radius:1px;background:var(--wg-danger);transform:rotate(45deg)}.wn-chip-game::before{border-radius:2px;background:#9ec5ff}.wn-chip-live::before{background:#ff6b6b;box-shadow:0 0 6px #ff6b6b}.wn-costs{background:linear-gradient(180deg, #1a2a34, #13212b);border-color:rgba(255, 181, 77, 0.4);padding:10px 12px}.wn-costs-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;margin-bottom:2px}.wn-costs-t{font:700 13px var(--wg-font-display);letter-spacing:0.08em;text-transform:uppercase;color:var(--wg-accent)}.wn-balance-pill{padding:3px 10px;border-radius:999px;background:var(--wg-base-2);border:1px solid rgba(255, 181, 77, 0.45);font-size:12px;font-variant-numeric:tabular-nums}.wn-balance-pill:empty{display:none}.wn-cost-line{font-size:14px}.wn-window .wg-con-status:not(:empty){flex:0 0 auto;padding:5px 10px;border-radius:8px;background:var(--wg-base-2);box-shadow:inset 0 0 0 1px rgba(143, 227, 168, 0.35)}@media (max-width: 600px){.wn-hero{height:72px;padding-top:10px}.wn-title{font-size:22px}.wn-tagline{font-size:11px}.wn-npc.wn-char{grid-template-columns:48px 1fr}.wn-portrait{width:48px;height:48px}}@media (prefers-reduced-motion: reduce){.wn-fire-glow,.wn-flame,.wn-stars g{animation:none}}.wn-window.wn-still *,.wn-window.wn-still *::after,.wn-window.wn-still *::before{animation:none!important;transition:none!important}.wn-window.wn-still .wg-btn:active,.wn-window.wn-still .wn-av:hover,.wn-window.wn-still .wn-choice:hover{transform:none}.wn-chip-pet::before{background:#f0c27a;border-radius:50% 50% 40% 40%}