:root{--g-accent: var(--accent, #f0b040);--g-accent-text: var(--accent-light, var(--accent, #f0b040));--g-accent-soft: color-mix(in srgb, var(--g-accent) 45%, transparent);--g-on-accent: var(--on-accent, #1a1206);--g-action: var(--accent-strong, var(--accent, #2a5a8a));--g-action-edge: var(--accent-light, #58a4c4);--g-on-action: var(--on-accent-strong, var(--on-accent, #fff))}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#0b0e11;font-family:Segoe UI,system-ui,sans-serif;color:#e6e6e6;user-select:none;-webkit-user-select:none}input{user-select:text;-webkit-user-select:text}body{display:flex;flex-direction:column}#navbar-mount{flex:none;position:relative;z-index:30}#navbar-mount,#ov-footer{--bg-primary: #0a0f1c;--bg-secondary: #101828;--bg-tertiary: #172238;--bg-card: #131c2e;--text-primary: #e6edf7;--text-secondary: #96a7c2;--text-muted: #7386a3;--border: #1f2d47;--border-light: #2c3d5c;color-scheme:dark}#stage{position:relative;flex:1 1 auto;min-height:0}#game{width:100%;height:100%;display:block;outline:none}#ui{position:absolute;inset:0;pointer-events:none}#ov-footer{flex:none}#ov-footer.ovf{margin-top:0!important;padding-top:8px!important;padding-bottom:8px!important}body.ovg-frame-hidden #navbar-mount,body.ovg-frame-hidden #ov-footer{display:none}#ovg-frame-toggle{position:absolute;top:10px;left:10px;z-index:40;display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;border:1px solid var(--border, #2a3340);background:var(--bg-secondary, rgba(10, 14, 18, .8));color:var(--text-secondary, #b0b0b8);font:600 12px/1 system-ui,sans-serif;cursor:pointer;opacity:.55;transition:opacity .15s}#ovg-frame-toggle:hover,#ovg-frame-toggle:focus-visible{opacity:1;color:var(--text-primary, #e6e6e6)}#ovg-frame-toggle[hidden]{display:none}.crosshair{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#ffffffd9;box-shadow:0 0 4px #000c}.prompt{position:absolute;left:50%;top:56%;transform:translate(-50%);background:#0009;padding:6px 14px;border-radius:4px;font-size:calc(14px * var(--ov-text-scale, 1));display:none}.hotbar{position:absolute;bottom:14px;left:50%;transform:translate(-50%);display:flex;gap:6px}.slot{width:58px;height:58px;background:#0a0e12bf;border:2px solid #3a4450;border-radius:6px;position:relative;display:flex;align-items:center;justify-content:center;font-size:calc(11px * var(--ov-text-scale, 1));text-align:center;pointer-events:auto;cursor:pointer;user-select:none}.slot.active{border-color:var(--g-accent-text)}.slot.holstered{border-color:#6a7420;opacity:.75}.slot.selected-src{border-color:#58c470}.slot .count{position:absolute;right:4px;bottom:2px;font-size:calc(12px * var(--ov-text-scale, 1));font-weight:700;color:#f0d090}.slot .key{position:absolute;left:4px;top:2px;font-size:calc(10px * var(--ov-text-scale, 1));color:#8fa0b0}.panel{position:absolute;background:#0a0e12eb;border:1px solid #3a4450;border-radius:8px;padding:14px;pointer-events:auto;display:none}.panel h2{font-size:calc(15px * var(--ov-text-scale, 1));margin-bottom:10px;color:var(--g-accent-text);letter-spacing:.06em;text-transform:uppercase}#inventory-panel{left:50%;top:48%;transform:translate(-50%,-50%)}.inv-grid{display:grid;grid-template-columns:repeat(6,58px);gap:6px}.inv-grid .backpack-divider{grid-column:1 / -1;height:1px;background:#3a4450;margin:4px 0}#craft-panel{right:20px;top:50%;transform:translateY(-50%);width:300px;max-height:70vh;overflow-y:auto}.recipe{border:1px solid #2c3540;border-radius:6px;padding:8px 10px;margin-bottom:8px}.recipe .name{font-weight:600;font-size:calc(14px * var(--ov-text-scale, 1))}.recipe .req{font-size:calc(12px * var(--ov-text-scale, 1));color:#9fb0c0;margin:4px 0}.recipe .req.missing{color:#d06060}.recipe button{background:var(--g-action);color:var(--g-on-action);border:0;border-radius:4px;padding:5px 12px;cursor:pointer;font-size:calc(13px * var(--ov-text-scale, 1))}.recipe button:disabled{background:#333c46;color:#778;cursor:default}.toast-area{position:absolute;top:18px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;align-items:center}.toast{background:#000000b3;border-left:3px solid var(--g-accent);padding:6px 14px;border-radius:4px;font-size:calc(13px * var(--ov-text-scale, 1));animation:fadeout 3.5s forwards}.toast.error{border-left-color:#d06060}@keyframes fadeout{0%{opacity:1}75%{opacity:1}to{opacity:0}}.status{position:absolute;top:10px;left:12px;font-size:calc(12px * var(--ov-text-scale, 1));color:#8fa0b0}body:has(#ovg-frame-toggle:not([hidden])) .status{top:42px}.overlay-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;background:#05080bd9;pointer-events:auto}.overlay-center h1{font-size:calc(42px * var(--ov-text-scale, 1));letter-spacing:.12em;color:var(--g-accent-text)}.overlay-center input{background:#141a20;color:#fff;border:1px solid #3a4450;border-radius:6px;padding:10px 16px;font-size:calc(16px * var(--ov-text-scale, 1));text-align:center}.overlay-center button{background:var(--g-action);border:0;color:var(--g-on-action);font-size:calc(16px * var(--ov-text-scale, 1));padding:10px 30px;border-radius:6px;cursor:pointer}.overlay-center .hint{color:#8fa0b0;font-size:calc(13px * var(--ov-text-scale, 1))}#skills-panel{left:20px;top:50%;transform:translateY(-50%);width:260px}.skill-row{margin-bottom:12px}.skill-head{display:flex;justify-content:space-between;font-size:calc(14px * var(--ov-text-scale, 1));margin-bottom:4px}.skill-level{color:var(--g-accent-text);font-weight:700}.skill-bar{height:8px;background:#1d242c;border-radius:4px;overflow:hidden}.skill-fill{height:100%;background:linear-gradient(90deg,var(--g-action),var(--g-action-edge))}.skill-xp{font-size:calc(11px * var(--ov-text-scale, 1));color:#8fa0b0;margin-top:2px}#players-panel{left:50%;top:45%;transform:translate(-50%,-50%);width:300px}.hint-line{font-size:calc(12px * var(--ov-text-scale, 1));color:#8fa0b0;margin-bottom:10px}.player-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid #232b33;font-size:calc(14px * var(--ov-text-scale, 1))}.trust-btn{background:var(--g-action);color:var(--g-on-action);border:0;border-radius:4px;padding:4px 12px;cursor:pointer;font-size:calc(12px * var(--ov-text-scale, 1))}.trust-btn.trusted{background:#2d6b45}.customize-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-start;pointer-events:auto}.customize-panel{--text-primary: #e6e6e6;--text-secondary: #b8c2d0;--text-muted: #8d98a8;margin-left:4vw;width:320px;max-height:92vh;overflow-y:auto;background:#0a0e12eb;border:1px solid #3a4450;border-radius:10px;padding:18px}.customize-panel h1{font-size:calc(26px * var(--ov-text-scale, 1));letter-spacing:.12em;color:var(--g-accent-text);margin-bottom:12px}.customize-panel input[type=text],.customize-panel input#cname{width:100%;background:#141a20;color:#fff;border:1px solid #3a4450;border-radius:6px;padding:8px 12px;font-size:calc(15px * var(--ov-text-scale, 1));margin-bottom:10px}.cust-label{font-size:calc(11px * var(--ov-text-scale, 1));text-transform:uppercase;letter-spacing:.08em;color:#8fa0b0;margin:8px 0 4px}.cust-row{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:4px}.swatch{width:26px;height:26px;border-radius:5px;border:2px solid transparent;cursor:pointer}.swatch.selected{border-color:var(--g-accent-text)}.cust-btn{background:#232b33;color:#dde;border:1px solid #3a4450;border-radius:5px;padding:5px 12px;cursor:pointer;font-size:calc(13px * var(--ov-text-scale, 1))}.cust-btn.selected{background:var(--g-action);border-color:var(--g-action-edge)}.cust-sliders{display:flex;flex-direction:column;gap:6px;margin:10px 0}.cust-sliders label{font-size:calc(12px * var(--ov-text-scale, 1));color:#9fb0c0;display:flex;justify-content:space-between;align-items:center;gap:10px}.cust-sliders input{flex:1}.cust-actions{display:flex;gap:8px;margin-top:12px}.cust-actions button{flex:1;background:#232b33;color:#dde;border:1px solid #3a4450;border-radius:6px;padding:10px 0;cursor:pointer;font-size:calc(14px * var(--ov-text-scale, 1))}.cust-actions button.primary{background:var(--g-action);border-color:var(--g-action-edge);font-weight:600}.menu{position:absolute;left:50%;bottom:92px;transform:translate(-50%);width:min(460px,calc(100vw - 16px));max-height:62vh;display:none;flex-direction:column;background:#090d11f0;border:1px solid #39434f;border-radius:12px;overflow:hidden;pointer-events:auto;box-shadow:0 12px 40px #00000080}.menu-tabs{display:flex;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid #2a333d;background:#10151be6}.menu-tab{flex:1 0 auto;background:none;border:0;color:#8fa0b0;padding:11px 10px;white-space:nowrap;font-size:calc(13px * var(--ov-text-scale, 1));letter-spacing:.05em;cursor:pointer;border-bottom:2px solid transparent;transition:color .12s,border-color .12s}.menu-tab:hover{color:#cfd8e0}.menu-tab.active{color:var(--g-accent-text);border-bottom-color:var(--g-accent-text)}.menu-body{padding:14px;overflow-y:auto}.inv-grid{display:grid;grid-template-columns:repeat(6,64px);gap:8px;justify-content:center}.slot-icon{width:54px;height:54px;image-rendering:auto;pointer-events:none}.slot.dragging{opacity:.4}.slot.drop-target{border-color:#58c4e8;background:#58c4e81f}.craft-list{display:flex;flex-direction:column;gap:8px}.recipe{display:flex;align-items:center;gap:10px;border:1px solid #2c3540;border-radius:8px;padding:8px 10px;margin-bottom:0}.recipe-icon{width:46px;height:46px;flex:none;background:#ffffff0a;border-radius:6px;display:flex;align-items:center;justify-content:center}.recipe-icon img{width:42px;height:42px}.recipe-info{flex:1;min-width:0}.craft-btn{flex:none;background:var(--g-action);color:var(--g-on-action);border:0;border-radius:6px;padding:8px 14px;cursor:pointer;font-size:calc(13px * var(--ov-text-scale, 1))}.craft-btn:disabled{background:#333c46;color:#778;cursor:default}.skills-list{display:flex;flex-direction:column;gap:4px}.settings-list{display:flex;flex-direction:column;gap:14px}.segmented{display:flex;gap:4px;padding:3px;margin:6px 0 8px;background:#1d242c;border:1px solid #2a333d;border-radius:8px}.segmented-option{flex:1;min-height:40px;background:none;border:0;border-radius:6px;color:#8fa0b0;font-size:calc(13px * var(--ov-text-scale, 1));letter-spacing:.03em;cursor:pointer;transition:background .12s,color .12s}.segmented-option:hover{color:#cfd8e0}.segmented-option.active{background:#2a333d;color:var(--g-accent-text)}.waypoint{position:absolute;top:12px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 8px;border-radius:999px;border:1px solid var(--g-accent-soft);background:#0e1218c7;color:#f3e6c8;font:600 calc(13px * var(--ov-text-scale, 1))/1.2 system-ui,sans-serif;pointer-events:none;white-space:nowrap}.waypoint[hidden]{display:none}.waypoint-arrow{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--g-accent);color:var(--g-on-accent);font-size:calc(15px * var(--ov-text-scale, 1));font-weight:800;transition:transform .15s linear}.volume-range{display:block;width:100%;min-height:40px;margin:2px 0 6px;accent-color:var(--g-accent-text)}.segmented-option:focus-visible{outline:2px solid var(--g-accent);outline-offset:1px}.weapon-title{font-size:calc(15px * var(--ov-text-scale, 1));color:var(--g-accent-text);letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px}.weapon-opt{margin-bottom:12px}.weapon-opt-label{font-size:calc(12px * var(--ov-text-scale, 1));color:#9fb0c0;margin-bottom:5px}.weapon-opt-choices{display:flex;gap:6px;flex-wrap:wrap}.vitals{position:absolute;left:16px;bottom:14px;display:flex;flex-direction:column;gap:4px;width:190px;pointer-events:none}.vital{display:flex;align-items:center;gap:6px}.vital-extras{display:flex;flex-wrap:wrap;gap:4px;min-height:0}.status-chip{font-size:calc(10px * var(--ov-text-scale, 1));letter-spacing:.04em;color:#e8edf2;background:#0a0e1299;border:1px solid rgba(255,255,255,.12);border-radius:4px;padding:1px 6px;text-shadow:0 1px 2px rgba(0,0,0,.7)}.vital span{width:38px;font-size:calc(10px * var(--ov-text-scale, 1));letter-spacing:.08em;color:#cdd3da;text-shadow:0 1px 2px rgba(0,0,0,.7)}.vital-bar{flex:1;height:8px;background:#0a0e128c;border-radius:4px;overflow:hidden}.vital-fill{height:100%;border-radius:4px;transition:width .4s ease}.vital-fill.hp{background:#d05050}.vital-fill.hunger{background:#d0913f}.vital-fill.thirst{background:#4d9fd6}.vital-fill.stamina{background:#66b36a}.container-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:10px;background:#10141af5;border:1px solid #2a3340;border-radius:10px;padding:16px;min-width:340px;pointer-events:auto}.container-title{font-weight:600;color:#e8b54a;letter-spacing:.06em}.container-grid{display:grid;grid-template-columns:repeat(6,48px);gap:6px}.hitmarker{position:absolute;top:50%;left:50%;width:18px;height:18px;transform:translate(-50%,-50%) rotate(45deg);opacity:0;pointer-events:none;transition:opacity .12s ease}.hitmarker:before,.hitmarker:after{content:"";position:absolute;background:#ff5c4a}.hitmarker:before{left:8px;top:0;width:2px;height:18px}.hitmarker:after{top:8px;left:0;width:18px;height:2px}.hitmarker.show{opacity:.95}.vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 140px 50px #b414148c;opacity:0;transition:opacity .4s ease}.vignette.flash{opacity:.85!important;transition:opacity .05s ease}.shop-list{display:flex;flex-direction:column;gap:6px;max-height:50vh;overflow-y:auto}.shop-row{display:flex;align-items:center;gap:10px;background:#1e2630cc;border:1px solid #2a3340;border-radius:8px;padding:8px 10px;color:#dde3ea;cursor:pointer;text-align:left}.shop-row:hover:not(:disabled){background:#2c3846e6}.shop-row:disabled{opacity:.45;cursor:default}.shop-row img{width:34px;height:34px}.shop-get{flex:1;font-weight:600}.shop-cost{font-size:calc(12px * var(--ov-text-scale, 1));color:#9ab08e}.shop-cost.missing{color:#c96a5a}.announce{position:absolute;top:12%;left:50%;transform:translate(-50%);background:#141a22eb;border:1px solid #e8b54a;color:#f0d79a;border-radius:10px;padding:10px 22px;font-size:calc(16px * var(--ov-text-scale, 1));letter-spacing:.03em;opacity:0;transition:opacity .4s ease;pointer-events:none}.announce.show{opacity:1}.first-steps{position:absolute;top:56px;right:16px;width:min(290px,calc(100vw - 32px));padding:10px 12px 8px;border-radius:10px;background:#141a22db;border:1px solid rgba(232,181,74,.55);color:#e8e2d4;font-size:calc(13px * var(--ov-text-scale, 1));line-height:1.35;pointer-events:auto}.first-steps[hidden]{display:none}.first-steps-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:calc(11px * var(--ov-text-scale, 1));color:#e8b54a}.first-steps-head button{background:none;border:0;color:#b9b2a3;font-size:calc(18px * var(--ov-text-scale, 1));line-height:1;cursor:pointer;padding:0 2px}.first-steps-head button:hover{color:#fff}.first-steps ol{list-style:none;margin:0;padding:0}.first-steps li{padding:2px 0;color:#a8a194}.first-steps li .mark{display:inline-block;width:1.2em;color:#6f6a60}.first-steps li.done{color:#7f9b6e}.first-steps li.done .mark{color:#8fc06f}.first-steps li.current{color:#fff;font-weight:600}.first-steps li.current .mark{color:#e8b54a}.first-steps .hint{margin:2px 0 4px 1.2em;font-weight:400;color:#cfc8b8;font-size:calc(12px * var(--ov-text-scale, 1))}@media(max-width:640px){.first-steps{top:auto;bottom:96px;font-size:calc(12px * var(--ov-text-scale, 1))}}body:has(.ov-touch:not([hidden])) .hotbar{bottom:244px;gap:4px}body:has(.ov-touch:not([hidden])) .slot{width:46px;height:46px}body:has(.ov-touch:not([hidden])) .slot-icon{width:42px;height:42px}body:has(.ov-touch:not([hidden])) .vitals{bottom:156px;left:12px;width:136px}body:has(.ov-touch:not([hidden])) .status{display:none}body:has(.ov-touch:not([hidden])) .waypoint{top:52px;font-size:calc(12px * var(--ov-text-scale, 1))}body:has(.ov-touch:not([hidden])) .first-steps{top:92px;bottom:auto;right:8px;width:min(250px,calc(100vw - 16px));font-size:calc(12px * var(--ov-text-scale, 1))}body:has(.ov-touch:not([hidden])) .first-steps li:not(.current){display:none}.death-screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:radial-gradient(ellipse at center,#3c00008c,#080000eb);opacity:0;pointer-events:none;transition:opacity 1.1s ease}.death-screen.show{opacity:1}.death-title{font-size:calc(64px * var(--ov-text-scale, 1));font-weight:800;letter-spacing:.35em;color:#c33;text-shadow:0 0 30px rgba(255,40,40,.5)}.death-sub{color:#b99;letter-spacing:.1em}.char-slot{display:flex;justify-content:space-between;align-items:center;width:100%;padding:14px 16px;margin-top:8px;font-size:calc(15px * var(--ov-text-scale, 1))}.char-slot span{color:var(--text-muted, #8d98a8);font-size:calc(12px * var(--ov-text-scale, 1))}.char-onesentence{margin:0 0 12px;color:var(--text-secondary);font-size:calc(14px * var(--ov-text-scale, 1));line-height:1.45}.char-promise{margin-top:14px;color:var(--text-muted);font-size:calc(12px * var(--ov-text-scale, 1));line-height:1.5}.char-upsell{margin-top:14px;padding:12px 14px;background:#283c568c;border:1px solid #34506e;border-radius:10px;font-size:calc(13px * var(--ov-text-scale, 1));color:#b8c6d6;line-height:1.5}.char-upsell a{color:#7fd0ff}.char-sso-btn{display:block;width:100%;margin-top:10px;padding:13px 16px;font-size:calc(15px * var(--ov-text-scale, 1));font-weight:700;background:linear-gradient(180deg,#3b6a96,#2a4d70);border-color:#4b7cab;color:#eaf4ff}.char-sso-btn:hover{background:linear-gradient(180deg,#467dae,#335d87)}.cust-guest-note{margin:10px 0 0;padding:10px 12px;background:#3c321980;border:1px solid #6e5a2e;border-radius:8px;font-size:calc(12.5px * var(--ov-text-scale, 1));color:#d8c9a0;line-height:1.45}.cust-guest-note a{color:#ffd76e}.edit-indicator{display:none;position:absolute;top:14px;left:50%;transform:translate(-50%);padding:6px 14px;background:#a06e14d9;border:1px solid #ffce54;border-radius:8px;color:#fff3d6;font-size:calc(13px * var(--ov-text-scale, 1));font-weight:700;letter-spacing:.04em;pointer-events:none}.menu-tab.edit-toggle{margin-left:auto;background:#78501480;border-color:#8a6a2e}.menu-tab.edit-toggle+.menu-tab.edit-toggle{margin-left:4px}.menu-tab.edit-toggle.active{background:#c88c1eb3}.char-authbar{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding:9px 12px;background:#1e462d73;border:1px solid #3f7a55;border-radius:8px;font-size:calc(13px * var(--ov-text-scale, 1));color:#a8dcb8}.char-logout{padding:5px 12px;font-size:calc(12px * var(--ov-text-scale, 1));background:#5a282899;border:1px solid #8a4a4a;border-radius:6px;color:#f0c8c8;cursor:pointer}.char-logout:hover{background:#783232bf}.chat{position:absolute;z-index:13;left:16px;bottom:132px;width:min(30rem,calc(100vw - 2rem));display:flex;flex-direction:column;gap:4px;font-size:calc(13px * var(--ov-text-scale, 1));pointer-events:none}.chat-lines{max-height:12rem;overflow-y:auto;list-style:none;padding:2px 0;text-shadow:0 1px 2px rgba(0,0,0,.9);scrollbar-width:thin}.chat-line{padding:1px 4px;overflow-wrap:anywhere;background:#080b0f6b;border-radius:3px}.chat-line+.chat-line{margin-top:1px}.chat-from{margin-right:.35em;font-weight:700}.chat-system{color:var(--g-accent-text, #f0b040)}.chat-form{display:flex;align-items:center;gap:6px;padding:5px 8px;background:#080b0fdb;border:1px solid var(--border, #2a3340);border-radius:5px;pointer-events:auto}.chat-form[hidden]{display:none}.chat-channel{font-size:.75em;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--g-accent-text, #f0b040)}.chat-input{flex:1;min-width:0;padding:2px 0;border:0;outline:0;background:transparent;color:var(--text-primary, #e6e6e6);font:inherit}.ovg-surf .chat{bottom:18px}.chat:not(.is-open) .chat-line{animation:chat-line-fade 12s linear forwards}@keyframes chat-line-fade{0%,75%{opacity:1}to{opacity:0;visibility:hidden}}.chat.is-open .chat-lines{padding:4px;border-radius:5px;background:#080b0f8c;pointer-events:auto}.chat.is-open .chat-line{background:transparent}.chat-team .chat-from{color:var(--g-team-text, #7cc4ff)}html[data-ov-motion=reduced] .chat:not(.is-open) .chat-line{animation-timing-function:steps(1,end)}
