:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark only;background:var(--ui-background);color:var(--ui-text);--ui-primary:#e6e9e8;--ui-secondary:#428ddd;--ui-background:#0f151b;--ui-surface:#19232d;--ui-surface-raised:#263543;--ui-surface-deep:#121b23;--ui-border:#566776;--ui-border-soft:#303e4a;--ui-text:#e6e9e8;--ui-text-muted:#a3afb9;--ui-on-accent:#fff;--ui-primary-muted:color-mix(in srgb, var(--ui-primary) 60%, var(--ui-text-muted));--ui-primary-bright:color-mix(in srgb, var(--ui-primary) 80%, white);--ui-accent-border:color-mix(in srgb, var(--ui-secondary) 78%, var(--ui-surface));--ui-accent-surface:color-mix(in srgb, var(--ui-secondary) 12%, var(--ui-surface));--ui-accent-surface-hover:color-mix(in srgb, var(--ui-secondary) 20%, var(--ui-surface));--ui-action:color-mix(in srgb, var(--ui-secondary) 75%, var(--ui-surface));--ui-action-hover:color-mix(in srgb, var(--ui-secondary) 80%, var(--ui-surface));--ui-danger:#ff7c70;--rarity-normal-text:#f2f2f2;--rarity-normal-border:#626262;--rarity-normal-surface:#242424;--rarity-magic-text:#5c8eff;--rarity-magic-border:#385ea0;--rarity-magic-surface:#131b2e;--quest-accent:#8eb6cc;--quest-progress-text:#f2c94c;--quest-accent-border:color-mix(in srgb, var(--quest-accent) 62%, var(--ui-surface));--quest-accent-surface:color-mix(in srgb, var(--quest-accent) 12%, var(--ui-surface));--quest-accent-surface-hover:color-mix(in srgb, var(--quest-accent) 20%, var(--ui-surface));--quest-action:color-mix(in srgb, var(--quest-accent) 72%, var(--ui-surface));--quest-action-hover:color-mix(in srgb, var(--quest-accent) 80%, var(--ui-surface));--rarity-rare-text:#f2c94c;--rarity-rare-border:#c99a32;--rarity-rare-surface:#261a0e;--rarity-rare-highlight:#f2c94c2a;--rarity-epic-text:#ff5c5c;--rarity-epic-border:#e5383b;--rarity-epic-surface:#2e0d13;--rarity-unique-text:#caa2fe;--rarity-unique-border:#8f5bf5;--rarity-unique-surface:#1c1229;--panel-cut:8px;--hud-corner-angle:32deg;--hud-skill-base-depth:180px;--hud-tool-base-depth:30px;--game-width:100vw;--game-height:100vh;--keyboard-height:0px;--modak-viewport-height:var(--game-height);--modak-keyboard-inset:var(--keyboard-height);--hud-scale:clamp(.8, min(calc(100vw / 390px), max(1, calc(var(--game-height,100vh) / 900px))), 2);--ui-scale:clamp(.85, calc(var(--game-height,100vh) / 720px), 1);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{background:var(--ui-background);min-height:100%;margin:0;overflow-x:hidden}body{-webkit-user-select:none;user-select:none}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text}html.modak-game-page,html.modak-game-page body{overscroll-behavior:none;width:100%;height:100%;overflow:hidden}html.modak-game-page body{position:fixed;inset:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,[role=button]:focus-visible{outline:1px solid var(--ui-secondary);outline-offset:2px}.loading-shell,.roster-shell,.suspension-shell{background-color:var(--ui-background);place-items:center;min-height:100dvh;padding:24px;display:grid}.loading-shell{text-align:center}.loading-shell h1{margin:12px 0 6px;font-size:clamp(20px,4vw,28px)}.loading-shell p,.muted{color:var(--ui-text-muted);line-height:1.7}.loading-shell a{color:var(--ui-primary-bright);margin-top:8px;display:inline-block}.tab-session-shell{background-color:var(--ui-background);place-items:center;padding:24px;display:grid}.tab-session-card{border:1px solid var(--ui-border);background:var(--ui-surface);text-align:center;border-radius:4px;justify-items:center;width:min(440px,100%);padding:clamp(28px,7vw,48px);display:grid;box-shadow:0 24px 100px #0009}.tab-session-card h1{color:var(--ui-text);margin:12px 0 8px;font-size:clamp(25px,7vw,38px)}.tab-session-card p{color:var(--ui-text-muted);margin:0;line-height:1.7}.tab-session-card small{margin-top:18px;line-height:1.6}.tab-session-card button{border-radius:3px;min-width:190px;margin-top:22px;padding:10px 18px;font-weight:900;box-shadow:0 4px #080606}.ember{color:var(--ui-secondary);font-size:30px}.roster-card{border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:4px;width:min(480px,100%);padding:clamp(24px,6vw,42px);box-shadow:0 24px 100px #0009}.language-switcher{justify-content:flex-end;gap:4px;margin:-8px 0 8px;display:flex}.language-switcher button{border:1px solid var(--ui-border);color:var(--ui-text-muted);background:var(--ui-surface);font:inherit;cursor:pointer;border-radius:2px;padding:5px 9px;font-size:11px}.language-switcher button.is-active{color:var(--ui-surface);background:var(--ui-secondary);border-color:var(--ui-secondary)}.roster-card h1{font-size:clamp(34px,10vw,54px)}.roster-logo{justify-content:center;display:flex;margin:12px 0 8px!important}.roster-logo img{width:min(100%,390px);height:auto;display:block}.google-login-button{border-radius:3px;justify-content:center;align-items:center;gap:10px;width:100%;padding:10px 16px;font-weight:700;display:flex}.google-mark{color:#4285f4;background:#fff;border-radius:2px;place-items:center;width:20px;height:20px;font-family:Arial,sans-serif;font-size:13px;font-weight:900;line-height:1;display:inline-grid}.auth-divider{align-items:center;gap:10px;font-size:10px;display:flex}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px}.guest-play-button,.guest-start-button{border-radius:3px;width:100%;padding:9px 14px;font-size:12px;font-weight:700}.guest-warning{text-align:center;margin:10px 0 0;font-size:10px;line-height:1.55}.guest-roster{border-top:1px solid var(--ui-border-soft);margin-top:22px;padding-top:18px}.guest-roster-label{letter-spacing:.08em;margin-bottom:9px;font-size:10px;display:block}.roster-list{margin:24px 0;display:grid}.roster-item{border:1px solid var(--ui-border-soft);text-align:left;grid-template-columns:1fr auto;align-items:center;gap:12px;display:grid}.roster-item strong,.roster-item small{display:block}.roster-item small{margin-top:3px}.roster-arrow{font-size:20px}.create-form{grid-template-columns:1fr auto;gap:8px;margin-top:20px;display:grid}.create-form input{outline:none;min-width:0}.create-form button{border-radius:3px;padding:12px 15px;font-weight:800}.create-form button:disabled{opacity:.45;cursor:not-allowed}.error{margin:14px 0 0;font-size:13px}.game-shell{z-index:0;width:var(--game-width,100vw);height:var(--game-height,100vh);overscroll-behavior:none;background:var(--ui-background);isolation:isolate;justify-content:center;align-items:stretch;min-height:0;display:flex;position:fixed;inset:0;overflow:hidden}.game-device{z-index:1;background:var(--ui-surface);isolation:isolate;width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}.topdown-canvas{cursor:default;touch-action:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.topdown-canvas canvas{display:block}.game-loading-overlay{z-index:10;text-align:center;position:absolute;inset:0}.game-loading-overlay.is-finishing{pointer-events:none;animation:.3s ease-out forwards loading-reveal}@keyframes loading-reveal{0%{opacity:1}to{opacity:0}}.game-loading-content{justify-items:center;gap:12px;width:calc(100% - 48px);display:grid;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}.game-loading-fire{background:url(/assets/modak/props/campfire.webp) 0 0/768px 192px no-repeat;width:192px;height:192px;animation:.5s steps(4,end) infinite loading-fire}@keyframes loading-fire{to{background-position-x:-768px}}.game-loading-overlay strong{font-size:16px;font-weight:600}.game-loading-track{border:1px solid var(--ui-accent-border);width:min(260px,70vw);height:6px;overflow:hidden}.game-loading-track i{border-radius:inherit;height:100%;transition:width .18s;display:block}.game-loading-overlay small{font-size:10px}.connection-overlay{z-index:15;pointer-events:auto;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.connection-card{border:1px solid var(--ui-border);width:min(300px,100%);color:var(--ui-text);text-align:center;justify-items:center;gap:9px;padding:22px 24px 20px;display:grid}.connection-card strong{font-size:18px}.connection-card p{margin:0;font-size:11px}.client-update-shell{background:var(--ui-background);place-items:center;min-height:100dvh;padding:24px;display:grid}.client-update-shell .connection-card button{border:1px solid var(--ui-accent-border);background:var(--ui-accent-surface);color:var(--ui-text);cursor:pointer;border-radius:3px;margin-top:6px;padding:9px 16px}.entrance-title{z-index:14;pointer-events:none;text-align:center;width:calc(100% - 48px);animation:entrance-title-fade var(--entrance-duration) ease both;justify-items:center;gap:12px;display:grid;position:absolute;left:50%;transform:translate(-50%,-50%)}.entrance-title.is-holding{animation:.3s both entrance-title-in}.entrance-title.is-released{animation:entrance-title-out var(--entrance-duration) ease both}.entrance-title h1{color:var(--entrance-color);overflow-wrap:anywhere;-webkit-text-stroke:3px var(--entrance-stroke);paint-order:stroke fill;margin:0;font-size:clamp(24px,min(8vw,9.6dvh),48px);font-weight:700;line-height:1.15}.entrance-title p{color:var(--entrance-subtitle-color);-webkit-text-stroke:3px var(--entrance-stroke);paint-order:stroke fill;margin:0;font-size:clamp(12px,min(3vw,3.6dvh),18px);font-weight:700}.player-panel{z-index:3;top:max(4px, env(safe-area-inset-top));left:max(4px, env(safe-area-inset-left));border:1px solid var(--ui-border);background:var(--ui-surface);-webkit-backdrop-filter:none;backdrop-filter:none;width:min(300px,50% - 12px);box-shadow:none;pointer-events:auto;border-radius:3px;padding:9px 10px 8px;position:absolute}.player-panel-top{align-items:center;min-width:0;display:flex}.player-heading{justify-content:space-between;align-items:baseline;gap:12px;width:100%;min-width:0;display:flex}.player-heading strong{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;line-height:1.1;overflow:hidden}.player-heading small{min-width:0;max-width:52%;color:var(--ui-primary-muted);text-align:right;text-overflow:ellipsis;white-space:nowrap;flex:0 auto;font-size:9px;line-height:1;overflow:hidden}.player-heading-meta{flex:0 auto;justify-content:flex-end;align-items:baseline;gap:6px;min-width:0;max-width:66%;display:flex}.player-heading-meta .player-heading-job{text-overflow:ellipsis;max-width:100%;overflow:hidden}.xp-bar-wrap{gap:2px;margin-top:3px;display:grid}.xp-bar,.hp-bar{overflow:hidden}.xp-bar{border:1px solid var(--ui-border-soft);height:9px;padding:1px;position:relative}.xp-bar span{border-radius:inherit;height:100%;transition:width .3s;display:block;position:relative;overflow:hidden}.xp-bar b{z-index:1;text-shadow:1px 0 #090705,-1px 0 #090705,0 1px #090705,0 -1px #090705;font-size:8px;font-weight:700;line-height:1;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.hp-bar-row{align-items:center;margin-top:4px;display:flex}.hp-bar{border:1px solid var(--ui-border);flex:1;min-width:0;height:12px;position:relative}.hp-bar i{border-radius:inherit;height:100%;transition:width .25s;display:block}.hp-bar b{z-index:1;color:var(--ui-text);pointer-events:none;text-shadow:1px 0 #090705,-1px 0 #090705,0 1px #090705,0 -1px #090705;place-items:center;font-size:9px;font-weight:600;line-height:1;display:grid;position:absolute;inset:0}.effect-strip{pointer-events:auto;flex-wrap:wrap;align-content:flex-start;gap:4px;width:100%;margin-top:0;display:flex;position:relative}.effect-badge{pointer-events:auto;flex-direction:column;flex:0 0 20px;align-items:center;gap:1px;width:20px;display:flex;position:relative}.effect-icon-art{background-color:var(--ui-surface);background-repeat:no-repeat;border:1px solid #5d83bd;border-radius:2px;width:20px;height:20px;display:block;position:relative;overflow:hidden;box-shadow:0 1px 3px #000a}.effect-badge.is-debuff .effect-icon-art{border-color:#b94b46}.effect-badge.is-neutral .effect-icon-art{border-color:#9b8a68}.effect-timer{color:var(--ui-text);text-align:center;text-shadow:1px 0 #000,-1px 0 #000,0 1px #000,0 -1px #000;letter-spacing:-.02em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:8px;font-weight:700;line-height:1}.effect-overflow{border:1px solid var(--ui-border);width:20px;height:20px;color:var(--ui-primary-muted);background:var(--ui-surface);cursor:pointer;border-radius:3px;align-self:flex-start;place-items:center;padding:0;font-size:8px;font-weight:800;display:inline-grid}.effect-overflow:hover,.effect-overflow:focus-visible,.effect-overflow.is-expanded{border-color:var(--ui-secondary);color:var(--ui-primary-bright);background:var(--ui-accent-surface);outline:none}.effect-popover{z-index:4;border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:4px;flex-wrap:wrap;gap:4px;max-height:90px;padding:5px;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 5px 14px #000c}.quick-menu{z-index:4;top:min(calc(120px + env(safe-area-inset-top)), max(80px, calc(var(--game-height) / var(--hud-scale) - 300px - env(safe-area-inset-bottom))));left:max(8px, env(safe-area-inset-left));width:min(168px, calc(100vw / var(--hud-scale) - 16px));pointer-events:none;grid-template-columns:34px minmax(0,132px);align-items:start;gap:2px;padding:0;display:grid;position:absolute}.quick-menu-item{pointer-events:auto;border:1px solid var(--ui-border-soft);background:var(--ui-surface);width:100%;min-width:0;height:34px;min-height:34px;color:var(--ui-text-muted);text-shadow:none;cursor:pointer;border-radius:3px;flex-direction:row;grid-column:2;justify-content:flex-start;align-items:center;gap:6px;padding:3px 6px;transition:background .15s,border-color .15s,color .15s;display:flex;position:relative}.quick-menu-item:hover,.quick-menu-item:focus-visible{border-color:var(--ui-secondary);background:var(--ui-accent-surface);color:var(--ui-text);outline:none}.quick-menu-item:focus-visible{outline:2px solid var(--ui-secondary);outline-offset:2px}.quick-menu-item>span{font-size:22px;line-height:1}.quick-menu-item>small{min-width:0;color:inherit;letter-spacing:0;text-align:left;text-overflow:clip;white-space:nowrap;pointer-events:none;flex:auto;font-size:11px;font-weight:700;line-height:1;display:block;overflow:visible}.quick-menu-shortcut{color:var(--ui-text-muted);border:0;padding:0;font-size:8px;font-weight:800;line-height:1.2;position:absolute;top:4px;right:6px}.quick-menu .quick-menu-toggle{pointer-events:auto;box-sizing:border-box;border:1px solid var(--ui-border-soft);background:var(--ui-surface);width:34px;min-width:34px;height:34px;min-height:34px;color:var(--ui-text-muted);aspect-ratio:1;touch-action:manipulation;cursor:pointer;border-radius:3px;flex:0 0 34px;grid-area:1/1;place-items:center;padding:0;transition:background .15s,border-color .15s,color .15s;display:grid;position:relative}.quick-menu .quick-menu-toggle:hover,.quick-menu .quick-menu-toggle:focus-visible{border-color:var(--ui-secondary);background:var(--ui-accent-surface);color:var(--ui-text);outline:none}.quick-menu .quick-menu-toggle:focus-visible{outline:2px solid var(--ui-secondary);outline-offset:2px}.quick-menu-toggle-icon{width:20px;height:20px}.quick-menu.is-collapsed .quick-menu-item{display:none}.quick-menu.is-collapsed{grid-template-columns:34px;width:34px}.quick-menu.is-collapsed .quick-menu-toggle{pointer-events:auto}.quick-menu.is-open .quick-menu-item{display:flex}.action-bar{z-index:3;right:50%;bottom:calc(env(safe-area-inset-bottom) + 62px);border:1px solid var(--ui-border-soft);background:var(--ui-surface);width:max-content;box-shadow:none;pointer-events:auto;border-radius:3px;align-items:center;display:flex;position:absolute;transform:translate(50%)}.chat-composer{pointer-events:auto;width:100%;min-width:0}.chat-item-attachments{background:var(--ui-surface);flex-wrap:wrap;gap:4px 8px;padding:4px 6px;display:flex}.chat-composer-error{color:var(--ui-text);background:var(--ui-surface);padding:4px 6px;display:block}.chat-bar{border:1px solid var(--ui-border);background:var(--ui-surface);pointer-events:auto;border-radius:3px;align-items:center;gap:6px;width:100%;padding:4px 6px;display:flex}.chat-bar .chat-channel-select{border:1px solid var(--ui-border-soft);background:var(--ui-surface-raised);max-width:76px;height:28px;color:var(--ui-primary-bright);border-radius:2px;flex:none;padding:0 4px;font-size:10px;font-weight:700}.chat-bar .chat-channel-select:disabled{opacity:.55}.chat-bar input{min-width:0;height:28px;color:var(--ui-text);background:#00000059;border:1px solid #0000;border-radius:2px;outline:none;flex:1;padding:0 8px;font-size:12px;transition:border-color .15s,background-color .15s}.chat-bar input:focus{border-color:var(--ui-accent-border);background:#0000008c}.chat-bar input::placeholder{color:var(--ui-text-muted)}.chat-bar .chat-send-button{border:1px solid var(--ui-border-soft);background:var(--ui-surface-raised);width:28px;height:28px;color:var(--ui-text-muted);cursor:pointer;border-radius:2px;flex:0 0 28px;place-items:center;padding:0;transition:background .15s,border-color .15s,color .15s;display:grid}.chat-bar .chat-send-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:16px;height:16px}.chat-bar .chat-send-button:hover:not(:disabled){border-color:var(--ui-accent-border);background:var(--ui-accent-surface);color:var(--ui-primary-bright)}.chat-bar .chat-send-button:active:not(:disabled){border-color:var(--ui-secondary);background:var(--ui-accent-surface-hover);color:var(--ui-primary-bright)}.chat-bar .chat-send-button:disabled{cursor:default;opacity:.35;border-color:var(--ui-border-soft);background:var(--ui-surface);color:var(--ui-text-muted)}.skill-slots{flex:none;gap:3px;min-width:0;display:flex}.skill-slot{border:1px solid var(--ui-border);touch-action:none;-webkit-tap-highlight-color:transparent;flex:0 0 56px;place-items:center;width:56px;height:56px;display:grid;position:relative;overflow:visible}.skill-slot,.skill-slot *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.skill-slot:disabled{cursor:default;opacity:.95}.skill-slot span{color:var(--ui-primary);font-size:24px}.skill-slot small{max-width:56px;color:var(--ui-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.skill-slot kbd{color:var(--ui-text);font-size:10px;font-weight:800;position:absolute;top:3px;left:5px}.skill-slot.is-special-ready{background:#1c2a1e;border-color:#7ff58f}.skill-slot.is-empty{border-style:dashed}.skill-slot .skill-icon{z-index:0;background-color:var(--ui-surface-raised);width:100%;height:100%;color:inherit;text-shadow:none;opacity:.94;border:0;border-radius:2px;font-size:0;position:absolute;inset:0}.skill-slot .skill-icon.is-locked{filter:grayscale(.9)brightness(.48)}.skill-slot>.skill-auto-border{z-index:3;pointer-events:none;width:calc(100% + 2px);height:calc(100% + 2px);position:absolute;inset:-1px}.skill-auto-border rect{stroke:var(--ui-primary);stroke-width:1px;stroke-linecap:round;stroke-dasharray:24 76;animation:3s linear infinite skill-auto-orbit}@keyframes skill-auto-orbit{to{stroke-dashoffset:-100px}}.skill-slot>kbd,.skill-slot>small{z-index:2;position:absolute}.skill-slot>small{text-align:center;max-width:none;padding:2px 3px;font-size:10px;line-height:1.1;bottom:3px;left:3px;right:3px}.skill-slot>.skill-tier-badge{color:#f3d89a;padding:2px 3px;font-size:9px;font-weight:800;inset:3px 3px auto auto}.skill-slot>.skill-required-level{bottom:3px;left:3px;right:3px}.ember-pips{z-index:3;pointer-events:none;gap:2px;display:inline-flex;position:absolute;top:4px;right:4px}.ember-pips i{background:#2b211b;border:1px solid #68452c;border-radius:50%;width:5px;height:5px;display:block}.ember-pips i.is-active{background:#e34b2f;border-color:#f0a04b;box-shadow:0 0 4px #e34b2f}.skill-tooltip{z-index:5;border:1px solid var(--ui-accent-border);background:var(--ui-surface);width:100%;min-width:0;max-width:100%;color:var(--ui-text);text-align:left;text-shadow:none;opacity:0;pointer-events:none;visibility:hidden;border-radius:3px;gap:4px;padding:8px 10px;font-size:12px;transition:opacity .15s,transform .15s,visibility .15s;display:grid;position:absolute;bottom:calc(100% + 8px);left:0;right:0;transform:translateY(5px);box-shadow:0 8px 22px #000c}.skill-tooltip.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.skill-tooltip strong{color:var(--ui-primary-bright);white-space:normal;overflow-wrap:anywhere;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:5px;font-size:13px;line-height:1.25;display:flex}.skill-tooltip strong i{color:#f3d89a;flex:none;font-size:11px;font-style:normal}.skill-tooltip.evolution-tier-2{background:#182b3b;border-color:#4f91b8}.skill-tooltip.evolution-tier-3{background:#3a2915;border-color:#bd9140}.skill-tooltip.evolution-tier-4{background:#3b1e1b;border-color:#b96b58}.skill-tooltip span,.skill-tooltip em{color:#d3e0d3;text-shadow:none;white-space:normal;font-size:11px;font-style:normal;line-height:1.4;display:block}.skill-tooltip .skill-tooltip-description{white-space:pre-line;font-size:12px;line-height:1.45}.skill-tooltip .skill-tooltip-ember{color:#f0b067}.skill-tooltip em{color:var(--ui-primary-bright)}.skill-cooldown-display{align-items:baseline;gap:3px;display:inline-flex!important}.skill-cooldown-current{font-weight:700;color:#f3d89a!important;display:inline!important}.skill-cooldown-base{font-weight:400;color:#9e9a91!important;font-size:10px!important;display:inline!important}.toast{z-index:20001;bottom:calc(128px + env(safe-area-inset-bottom));pointer-events:none;border:1px solid #e8a75d80;max-width:min(420px,100% - 24px);padding:9px 13px;animation:2.6s both toast-in-out;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 8px 22px #0007}.level-up-effect{z-index:9;color:#fff2b4;pointer-events:none;justify-items:center;gap:2px;animation:1.6s cubic-bezier(.22,1,.36,1) both level-up-burst;display:grid;position:absolute;top:34%;left:50%;transform:translate(-50%,-50%)}.level-up-effect span,.level-up-effect strong{z-index:1;text-shadow:-1px -1px #1a0f07,1px -1px #1a0f07,-1px 1px #1a0f07,1px 1px #1a0f07,-1px 0 #1a0f07,1px 0 #1a0f07,0 -1px #1a0f07,0 1px #1a0f07,1px 2px #000;position:relative}.level-up-effect span{color:#ffca58;letter-spacing:.25em;text-transform:uppercase;font-size:11px;font-weight:800}.level-up-effect strong{color:var(--ui-text);letter-spacing:.02em;font-size:clamp(24px,6vw,38px);font-weight:900}.death-overlay{z-index:20;padding:0 24px calc(118px + env(safe-area-inset-bottom));pointer-events:none;place-items:end center;display:grid;position:absolute;inset:0}.death-panel{border:1px solid var(--ui-border);text-align:center;pointer-events:auto;justify-items:center;width:min(420px,100%);padding:22px 24px 20px;animation:.35s ease-out both death-panel-in;display:grid;box-shadow:inset 0 1px #dec18312,0 3px #050404,0 10px 22px #0009}.death-panel h2{color:var(--ui-text);letter-spacing:.04em;margin:0;font-family:inherit;font-size:clamp(22px,5vw,30px)}.death-panel p{color:var(--ui-text-muted);margin:7px 0 16px;font-size:11px}.death-panel button{border:1px solid var(--ui-accent-border);min-width:170px;min-height:40px;color:var(--ui-on-accent);box-shadow:inset 0 1px color-mix(in srgb, var(--ui-primary) 33%, transparent);padding:8px 16px;font-size:11px;font-weight:900}.death-panel button:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.death-panel button:disabled{cursor:wait;opacity:.58}.shop-panel,.game-sheet{z-index:6;border:1px solid var(--ui-border);background:var(--ui-surface);width:min(520px,100% - 16px);min-height:0;max-height:min(760px,100dvh - 24px);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0;flex-direction:column;padding:10px;display:flex;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.shop-panel{width:min(440px,100% - 16px)}.quest-panel{width:min(440px, calc(100vw - max(16px, env(safe-area-inset-left) + env(safe-area-inset-right) + 16px)));max-height:min(560px, calc(100dvh - max(24px, env(safe-area-inset-top) + env(safe-area-inset-bottom) + 16px)));animation:.18s ease-out both quest-panel-arrive}@keyframes quest-panel-arrive{0%{opacity:0;transform:translate(-50%,-48%)scale(.98)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.shop-panel,.game-sheet{clip-path:polygon(0 0, calc(100% - var(--panel-cut)) 0, 100% var(--panel-cut), 100% 100%, 0 100%)}.shop-panel:after,.game-sheet:after{content:"";width:var(--panel-cut);height:var(--panel-cut);background:var(--panel-outline,var(--ui-border));pointer-events:none;clip-path:polygon(0 0,100% 100%,calc(100% - 1.414px) 100%,0 1.414px);position:absolute;top:-1px;right:-1px}.corner-hud{isolation:isolate;position:relative}.corner-hud:before,.corner-hud:after{content:"";z-index:-1;inset:var(--corner-inset,0);height:var(--corner-depth,auto);clip-path:var(--corner-shape);pointer-events:none;position:absolute}.corner-hud:before{background:var(--ui-border)}.corner-hud:after{background:var(--ui-surface);transform:translateY(var(--corner-edge-offset,-1px))}.loot-panel.game-sheet{z-index:32;width:min(300px,100% - 16px);max-height:min(560px,100dvh - 24px);animation:.34s ease-out both loot-arrive}.loot-panel:focus{outline:none}.loot-panel .game-panel-header h2{font-size:16px}.loot-source{color:var(--ui-text-muted);padding:8px 4px 0;font-size:12px}.loot-rewards{flex-direction:column;gap:0;padding:0 0 4px;display:flex}.loot-gold{align-items:center;gap:10px;min-height:48px;padding:8px 4px;display:flex}.loot-gold>span{flex:0 0 32px}.loot-gold strong{color:var(--rarity-rare-text);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.loot-item{text-align:left;background:0 0;border:0;flex:none;align-items:center;gap:10px;width:100%;min-height:48px;padding:8px 4px;display:flex}.loot-item:hover,.loot-item:focus-visible{background:var(--ui-accent-surface);outline:1px solid var(--ui-secondary);outline-offset:-1px}.loot-item .item-icon{background-color:#0000;border:0;border-radius:0;flex:0 0 32px}.loot-item-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.loot-item-copy strong{color:var(--ui-text);overflow-wrap:anywhere;font-size:14px;font-weight:600}.loot-item.rarity-magic strong{color:var(--rarity-magic-text)}.loot-item.rarity-rare strong{color:var(--rarity-rare-text)}.loot-item.rarity-epic strong{color:var(--rarity-epic-text)}.loot-item.rarity-unique strong{color:var(--rarity-unique-text)}.loot-item-copy small{color:var(--ui-text-muted);font-size:11px}.loot-quantity{color:var(--ui-text-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:13px}.loot-reveal{animation:.24s ease-out both loot-reveal;animation-delay:var(--loot-delay,0s)}@keyframes loot-arrive{0%{opacity:0;transform:translate(-50%,-50%)scale(.86)}65%{opacity:1;transform:translate(-50%,-50%)scale(1.025)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes loot-reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.loot-panel.game-sheet,.loot-reveal{animation:none}}.reforge-panel.game-sheet{gap:6px;height:min(760px,100dvh - 24px)}.reforge-balance{color:var(--ui-text-muted);justify-content:space-between;font-size:11px;line-height:1.2;display:flex}.reforge-balance strong{color:var(--ui-primary);font-size:14px}.reforge-body.game-panel-container{flex-direction:column;flex:auto;gap:8px;min-height:0;display:flex}.reforge-bag-section.game-panel-container{flex-direction:column;flex:auto;min-height:140px;display:flex;overflow:hidden}.reforge-inventory-heading{flex:none;margin:0 0 4px}.reforge-bag-section .reforge-inventory{flex:auto;min-height:0;max-height:none;overflow-y:auto}.reforge-panel .equipment-inventory{width:min(100%, calc(var(--compact-item-slot-size) * 5 + 28px));scrollbar-gutter:stable;gap:6px;margin-inline:auto}.reforge-panel .inventory-slot{min-height:40px!important;padding:4px!important}.reforge-queued-badge{background:var(--ui-secondary);width:20px;height:20px;color:var(--ui-on-accent);border-radius:50%;place-items:center;font-size:13px;font-weight:800;line-height:1;display:grid;position:absolute;top:4px;right:4px}.reforge-queue-heading{flex:none;justify-content:space-between;align-items:center;gap:8px;display:flex}.reforge-queue-heading h3 span{color:var(--ui-text-muted);font-weight:400}.reforge-queue-heading button{border:1px solid var(--ui-border-soft);background:var(--ui-surface-deep);min-height:32px;color:var(--ui-text);padding:4px 8px;font-size:11px}.reforge-queue.game-panel-container{flex:none;min-height:0;max-height:none;overflow-y:hidden}.reforge-queue .inventory-slot.is-current:not(.reforge-hit) .inventory-item-icon{animation:.6s ease-in-out infinite reforge-pulse}.reforge-queue .inventory-slot.is-destroyed .inventory-item-icon{opacity:.3}.reforge-slot-status{color:var(--ui-secondary);font-size:15px;position:absolute;bottom:1px;right:3px}.reforge-queue .is-destroyed .reforge-slot-status,.reforge-danger{color:var(--ui-danger)}.reforge-slot-add{color:var(--ui-border);font-size:20px}.reforge-controls{flex-direction:column;flex:none;gap:5px;display:flex}.reforge-targets{gap:4px;display:flex;overflow-x:auto}.reforge-oil-toggle{min-height:32px;color:var(--ui-text);cursor:pointer;align-self:flex-start;align-items:center;gap:7px;font-size:12px;display:flex}.reforge-oil-toggle input{width:16px;height:16px;accent-color:var(--ui-secondary);margin:0}.reforge-targets button{border:1px solid var(--ui-border-soft);background:var(--ui-surface-deep);min-height:40px;color:var(--ui-text);flex:1 0 40px;padding:4px;font-size:12px}.reforge-targets button[aria-pressed=true]{border-color:var(--ui-secondary);background:var(--ui-action);color:var(--ui-on-accent)}.reforge-targets button.is-risky{border-color:var(--ui-danger);color:var(--ui-danger)}.reforge-targets button.is-risky[aria-pressed=true]{border-color:var(--ui-danger);background:var(--ui-danger);color:var(--ui-background)}.reforge-progress{min-height:16px;color:var(--ui-text-muted);font-size:11px;line-height:1.3}.reforge-progress [role=alert]{color:var(--ui-danger)}.reforge-rates{color:var(--ui-text-muted);flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:11px;display:flex}.reforge-risk-warning{color:var(--ui-text-muted);margin:0;font-size:11px;line-height:1.3}.reforge-action{border:1px solid var(--ui-secondary);background:var(--ui-action);width:100%;min-height:44px;color:var(--ui-on-accent);padding:8px 12px;font-size:14px;font-weight:700}.reforge-action:hover:not(:disabled){background:var(--ui-action-hover)}.reforge-action:disabled,.reforge-queue-heading button:disabled,.reforge-targets button:disabled{opacity:.6;cursor:not-allowed}.reforge-queue .inventory-slot:disabled{opacity:1}.reforge-hit.is-success .inventory-item-icon{animation:.5s ease-out both reforge-impact}.reforge-hit.is-critical_failure .inventory-item-icon{animation:.5s ease-out both reforge-break}.reforge-queue-effect{object-fit:contain;pointer-events:none;width:100%;height:100%;animation:.5s ease-out both reforge-flash;position:absolute;inset:0}@keyframes reforge-flash{0%{opacity:1;transform:scale(.35)}15%{opacity:1;transform:scale(1.15)}to{opacity:0;transform:scale(1.4)}}@keyframes reforge-pulse{0%,to{transform:scale(.94)}50%{transform:scale(1.06)}}@keyframes reforge-impact{0%{transform:scale(.8)}20%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes reforge-break{0%,40%{transform:translate(-2px)}20%,60%{transform:translate(2px)}to{opacity:.3}}@media (prefers-reduced-motion:reduce){.reforge-queue .inventory-slot.is-current:not(.reforge-hit) .inventory-item-icon,.reforge-hit .inventory-item-icon,.reforge-queue-effect{animation:none}}.game-panel-header{border-bottom:1px solid var(--ui-border-soft);padding-bottom:6px}.game-panel-header-row{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.game-panel-header-copy{min-width:0}.game-panel-header h2{color:var(--ui-primary-bright);margin:0;font-size:18px}.game-panel-header-actions>button{background:0 0;border:0;flex:0 0 40px;place-items:center;width:40px;min-width:40px;height:40px;min-height:40px;padding:0;font-size:24px;line-height:1;display:grid}.shop-panel p{color:#9ab6aa;margin:10px 0 12px;font-size:11px}.shop-tooltip-actions{border-top:1px solid #ffffff14;gap:7px;padding-top:5px;display:grid}.shop-tooltip-price{color:var(--ui-text-muted);justify-content:space-between;align-items:center;gap:12px;font-size:10px;display:flex}.shop-tooltip-price strong{color:#d0a45f}.shop-tooltip-actions>button{border:1px solid var(--ui-accent-border);background:var(--ui-action);min-height:34px;color:var(--ui-on-accent);border-radius:2px;padding:7px 10px;font-size:10px;font-weight:800}.shop-tooltip-actions>button:hover:not(:disabled){border-color:var(--ui-primary);background:var(--ui-action-hover)}.shop-tooltip-actions>button:disabled{cursor:not-allowed;opacity:.45}.shop-tabs,.storage-tabs-bar{grid-template-columns:repeat(2,1fr);gap:4px;margin:8px 0;display:grid}.shop-tabs button,.storage-tab-button,.ranking-tab-button{min-height:40px;color:var(--ui-text-muted);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #0000;border-radius:0;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:flex}.shop-tabs button:hover,.storage-tab-button:hover,.ranking-tab-button:hover{color:var(--ui-text);background:var(--ui-surface-raised)}.shop-tabs button.is-active,.storage-tab-button.is-active,.ranking-tab-button.is-active{border-bottom-color:var(--ui-secondary);color:var(--ui-secondary);background:0 0}.shop-tabs button span{color:var(--ui-text-muted);margin-left:3px;font-size:10px}.storage-panel{width:min(440px,100% - 16px);max-height:min(80dvh,620px)}.storage-tab-count{color:#d0a45f;font-variant-numeric:tabular-nums;font-size:9px}.shop-balance{background:var(--ui-surface);color:var(--ui-text-muted);border:1px solid #ffffff14;border-radius:2px;align-items:baseline;gap:8px;padding:8px 10px;font-size:10px;display:flex}.shop-balance strong{color:#e0b66f;font-variant-numeric:tabular-nums;font-size:16px}.shop-balance small{color:var(--ui-text-muted);margin-left:auto;font-size:9px}.shop-bulk-list{gap:6px;margin-bottom:12px;display:grid}.shop-bulk-button{border:1px solid var(--ui-border-soft);background:var(--ui-surface-raised);width:100%;min-height:48px;color:var(--ui-text);text-align:left;border-radius:3px;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.shop-bulk-button:hover:not(:disabled){border-color:var(--ui-accent-border);background:var(--ui-accent-surface-hover)}.shop-bulk-button:disabled{cursor:not-allowed;opacity:.4}.shop-bulk-button>span{gap:3px;display:grid}.shop-bulk-button b{font-size:11px}.shop-bulk-button small{color:var(--ui-text-muted);font-size:9px}.shop-bulk-button em{color:#d0a45f;font-size:11px;font-style:normal}.shop-bulk-button.rarity-normal b{color:var(--rarity-normal-text)}.shop-bulk-button.rarity-magic b{color:var(--rarity-magic-text)}.shop-bulk-button.rarity-rare{border-color:var(--rarity-rare-border)}.shop-bulk-button.rarity-rare b{color:var(--rarity-rare-text)}.shop-bulk-button.rarity-epic{border-color:var(--rarity-epic-border);box-shadow:inset 0 0 12px #e5383b1a}.shop-bulk-button.rarity-epic b{color:var(--rarity-epic-text);text-shadow:0 0 8px #e5383b40}.shop-bulk-button.rarity-unique{border-color:var(--rarity-unique-border)}.shop-bulk-button.rarity-unique b{color:var(--rarity-unique-text)}.shop-empty{border:1px dashed var(--ui-border-soft);color:var(--ui-text-muted);text-align:center;padding:30px 10px;font-size:11px}.shop-confirm{z-index:2;border:1px solid var(--ui-accent-border);background:var(--ui-surface);border-radius:3px;padding:16px;position:absolute;inset:86px 12px auto;box-shadow:0 14px 35px #000d}.shop-confirm strong{color:var(--ui-primary-bright);font-family:inherit;font-size:15px}.shop-confirm p{color:var(--ui-text-muted);margin:8px 0 14px;font-size:11px;line-height:1.5}.shop-confirm>div{justify-content:flex-end;gap:6px;display:flex}.shop-confirm button{border:1px solid var(--ui-border-soft);background:var(--ui-surface-raised);min-height:34px;color:var(--ui-text);border-radius:2px;padding:0 12px;font-size:10px}.shop-confirm button.is-danger{border-color:var(--ui-accent-border);background:var(--ui-action);color:var(--ui-on-accent)}.item-icon,.skill-icon{background-color:var(--ui-surface);width:32px;height:32px;image-rendering:pixelated;background-repeat:no-repeat;border:1px solid #ffffff24;border-radius:2px;flex:none;display:inline-block;position:relative;overflow:hidden}.item-icon{background-size:256px;width:64px;height:64px}.skill-icon{background-size:300% 300%}.item-details{gap:5px;min-width:0;display:grid}.item-details-heading{justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.item-details-heading>div{gap:2px;min-width:0;display:grid}.item-details-title-row{align-items:baseline;gap:6px;min-width:0;display:flex}.item-details-title-row strong,.item-details-heading strong{color:#f2f2f2;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.item-details-ilv{color:#a8a095;font-variant-numeric:tabular-nums;letter-spacing:-.01em;flex-shrink:0;font-size:9.5px;font-weight:700}.item-details-heading strong.rarity-normal{color:var(--rarity-normal-text)}.item-details-heading strong.rarity-magic{color:var(--rarity-magic-text)}.item-details-heading strong.rarity-rare{color:var(--rarity-rare-text)}.item-details-heading strong.rarity-epic{color:var(--rarity-epic-text);text-shadow:0 0 6px #e5383b44}.item-details-heading strong.rarity-unique{color:var(--rarity-unique-text)}.item-details-heading small{color:var(--ui-text-muted);font-size:9px}.item-details-meta{font-variant-numeric:tabular-nums;white-space:nowrap;display:block;color:var(--ui-text-muted)!important}.quick-action-tooltip .item-details-meta span{color:var(--ui-text-muted);display:inline}.item-details-meta .item-tier{color:var(--ui-text-muted);font-weight:400}.item-details.rarity-normal{border-left:2px solid var(--rarity-normal-border);padding-left:6px}.item-details.rarity-magic{border-left:2px solid var(--rarity-magic-border);padding-left:6px}.item-details.rarity-rare{border-left:2px solid var(--rarity-rare-border);padding-left:6px}.item-details.rarity-epic{border-left:2px solid var(--rarity-epic-border);padding-left:6px}.item-details.rarity-unique{border-left:2px solid var(--rarity-unique-border);padding-left:6px}.item-details-heading button{width:20px;height:20px;color:var(--ui-text-muted);background:0 0;border:0;flex:0 0 20px;padding:0;font-size:16px;line-height:1}.item-details p{color:#d3e0d3;white-space:pre-line;margin:0;font-size:10px;line-height:1.4}.item-stat-list{border-top:1px solid #ffffff14;gap:2px;padding-top:5px;display:grid}.item-stat-list span{font-size:10px;line-height:1.35}.item-stat-base{color:#8fc8ff}.item-stat-affix{color:#9edb9b}.quest-list{overscroll-behavior:contain;margin:0;padding:4px 0 0;display:block}.quest-group+.quest-group{margin-top:12px}.quest-panel .quest-group-title{margin:0 0 8px;font-size:14px;font-weight:700}.quest-group-toggle{border:1px solid var(--quest-accent-border);background:var(--quest-accent-surface);width:100%;min-height:48px;color:var(--ui-primary);font:inherit;text-align:left;align-items:center;gap:10px;padding:8px 12px;display:flex;position:relative;overflow:hidden}.quest-group-toggle:hover{background:var(--quest-accent-surface-hover);border-color:var(--quest-accent)}.quest-group-toggle:focus-visible{outline:1px solid var(--quest-accent);outline-offset:-1px}.quest-group-art{pointer-events:none;position:absolute;right:48px}.quest-group-art-king{transform-origin:top;opacity:.7;filter:saturate(.45)brightness(.95);top:-24px;right:32px;transform:scale(2)}.quest-group-art-book{background:var(--quest-accent);opacity:.2;width:32px;height:32px;top:8px;-webkit-mask:url(/assets/modak/menu-icons/quest.webp) 50%/contain no-repeat;mask:url(/assets/modak/menu-icons/quest.webp) 50%/contain no-repeat}.quest-group-name{overflow-wrap:anywhere;flex:1;min-width:0;padding-right:68px;position:relative}.quest-group-entries{margin-left:16px}.quest-group-count{color:var(--ui-text-muted);font-variant-numeric:tabular-nums;flex:none;font-size:11px;font-weight:500}.quest-group-chevron{color:var(--ui-text-muted);text-align:center;flex:0 0 12px;font-size:16px}.quest-tabs{flex:none;margin-top:4px;font-size:12px;display:flex}.quest-tabs .game-panel-tab{white-space:nowrap;padding:6px 4px}.quest-tabs .game-panel-tab span{color:var(--ui-text-muted);font-variant-numeric:tabular-nums;margin-left:4px;font-size:11px}.panel-list-entry+.panel-list-entry,.quest-entry+.quest-entry{margin-top:6px}.panel-list-row{border:1px solid var(--ui-border);background:var(--ui-surface-deep);width:100%;height:40px;color:var(--ui-text);font:inherit;text-align:left;align-items:center;gap:10px;padding:0 10px;display:flex}button.panel-list-row{cursor:pointer}button.panel-list-row:hover,.panel-list-row:focus-visible{border-color:var(--panel-list-accent,var(--ui-secondary));background:var(--ui-background)}.panel-list-row:focus-visible{outline:1px solid var(--panel-list-accent,var(--ui-secondary));outline-offset:-1px}.panel-list-row.is-expanded{border-color:var(--panel-list-accent-border,var(--ui-accent-border));background:var(--ui-background)}.panel-list-row.is-selected{border-color:var(--ui-secondary);background:var(--ui-accent-surface)}.panel-list-row.is-expanded .panel-list-name{color:var(--ui-primary)}.panel-list-icon{flex:0 0 32px;width:32px;height:32px;display:flex}.panel-list-icon>span{background-repeat:no-repeat;display:block}.panel-list-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:700;line-height:1.4;overflow:hidden}.panel-list-metadata{min-width:0;max-width:55%;color:var(--ui-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex:0 auto;align-items:center;gap:8px;font-size:11px;display:flex}.panel-list-row.is-selected .panel-list-metadata{color:var(--ui-secondary)}.panel-list-chevron{color:var(--ui-text-muted);text-align:center;flex:0 0 12px;font-size:16px}.panel-list-detail{border-left:1px solid var(--ui-border-soft);margin-left:16px;padding:6px 12px 16px 16px}.panel-list-detail p{color:var(--ui-text);white-space:pre-line;word-break:keep-all;overflow-wrap:anywhere;margin:10px 0;font-size:12px;line-height:1.75}.panel-list-actions{justify-content:flex-end;margin-top:10px;display:flex}.panel-list-actions button{border:1px solid var(--ui-border-soft);background:var(--ui-surface);min-height:40px;color:var(--ui-text);font:inherit;cursor:pointer;padding:7px 12px;font-size:12px;font-weight:600}.panel-list-actions button:hover:not(:disabled),.panel-list-actions button:focus-visible{border-color:var(--ui-secondary);background:var(--ui-accent-surface)}.panel-list-actions button:disabled{color:var(--ui-text-muted);cursor:not-allowed}.panel-list-actions button[aria-pressed=true]{color:var(--ui-secondary)}.quest-entry{--panel-list-accent:var(--quest-accent);--panel-list-accent-border:var(--quest-accent-border)}.quest-entry.is-ready .panel-list-metadata{color:var(--quest-accent);font-weight:700}.quest-memory-objectives{gap:6px;margin:10px 0;padding:0;list-style:none;display:grid}.quest-memory-objectives li{color:var(--ui-text);justify-content:space-between;gap:12px;font-size:12px;line-height:1.6;display:flex}.quest-memory-objectives li span:last-child{color:var(--ui-text-muted);flex-shrink:0}.quest-detail-progress{color:var(--ui-text-muted);justify-content:space-between;align-items:center;gap:8px;margin-top:12px;font-size:11px;display:flex}.quest-detail-progress strong{font-variant-numeric:tabular-nums;font-weight:500}.quest-progress{background:var(--ui-surface-deep);height:3px;margin:6px 0 12px;overflow:hidden}.quest-progress i{background:var(--quest-accent);height:100%;display:block}.quest-detail-objective,.quest-detail-reward{margin-top:12px}.quest-entry .panel-list-detail h4{color:var(--ui-text-muted);margin:0 0 8px;font-size:11px;font-weight:500}.quest-rewards{flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;list-style:none;display:flex}.quest-rewards li{min-width:0;color:var(--ui-text);overflow-wrap:anywhere;align-items:center;gap:8px;font-size:12px;line-height:1.6;display:flex}.quest-rewards .quest-reward-item{flex-basis:100%;margin-bottom:2px}.quest-reward-icon{flex:0 0 32px;display:flex}.quest-reward-icon .item-icon{background-color:#0000;border:0;border-radius:0;display:block}.quest-entry .panel-list-detail .quest-next{border:0;border-top:1px solid var(--ui-border-soft);width:100%;color:var(--ui-text-muted);text-align:left;overflow-wrap:anywhere;background:0 0;margin:18px 0 0;padding:12px 0 0;font-size:12px;line-height:1.5;display:block}.quest-next>span{color:var(--ui-text-muted);margin-bottom:4px;font-size:11px;display:block}.quest-next>strong{font-weight:500}.quest-entry .panel-list-detail button.quest-next{min-height:40px;color:var(--quest-accent)}.quest-entry .panel-list-detail button.quest-next:hover{color:var(--ui-text)}.quest-entry .panel-list-detail .quest-report-target{color:var(--ui-text-muted);margin-bottom:0;font-size:11px}.cinematic-overlay{z-index:20000;color:var(--ui-text);position:fixed;inset:0}.game-device:has(.cinematic-overlay)>:not(.topdown-canvas):not(.cinematic-overlay):not(.toast){visibility:hidden}.cinematic-skip{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));border:1px solid var(--ui-border-soft);background:var(--ui-surface);min-height:40px;color:var(--ui-text);padding:8px 14px;position:absolute}.cinematic-caption{left:50%;bottom:max(24px, env(safe-area-inset-bottom));background:var(--ui-surface);text-align:center;width:min(520px,100% - 32px);margin:0;padding:16px;font-size:15px;line-height:1.65;position:absolute;transform:translate(-50%)}.cutscene-error{z-index:20000;background:var(--ui-surface);max-width:calc(100% - 32px);color:var(--ui-text);border:1px solid var(--ui-border-soft);padding:16px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.collection-empty,.quest-empty{color:var(--ui-text-muted);text-align:center;margin:18px 4px;font-size:12px;line-height:1.6}.quest-dialogue-backdrop{z-index:30;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:#05080880;place-items:center;display:grid;position:absolute;inset:0}.quest-dialogue.game-sheet{width:min(360px,100vw - 32px);max-height:calc(100dvh - 32px)}.quest-dialogue .game-panel-header{flex:none}.quest-dialogue-content{overscroll-behavior:contain;scrollbar-color:var(--ui-border) var(--ui-surface-deep);flex:auto;min-height:0;overflow-y:auto}.quest-dialogue .game-panel-header h2{color:var(--ui-text);font-size:16px}.quest-dialogue .game-panel-header button{color:var(--ui-text-muted)}.quest-dialogue .game-panel-header button:hover{color:var(--quest-accent)}.quest-dialogue-copy{color:var(--ui-text);margin:13px 0 0;font-size:12px;line-height:1.6}.quest-dialogue-objective{color:var(--ui-text-muted);margin:11px 0 0;font-size:11px;line-height:1.5}.quest-dialogue-reward{color:var(--ui-text-muted);flex-wrap:wrap;gap:5px;margin:12px 0 0;font-size:10px;display:flex}.quest-dialogue-reward strong{color:var(--ui-text);font-size:10px;font-weight:500}.quest-dialogue-progress{margin:12px 0 0}.quest-dialogue-progress-title{color:var(--ui-text);margin-bottom:6px;font-size:11px;font-weight:700}.quest-dialogue-progress-list{flex-direction:column;gap:4px;display:flex}.quest-dialogue-progress-item{color:var(--ui-text-muted);justify-content:space-between;align-items:center;font-size:11px;line-height:1.5;display:flex}.quest-dialogue-progress-item.is-complete{color:#72b187;font-weight:600}.quest-dialogue-actions{border-top:1px solid var(--ui-border-soft);flex:none;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;display:flex}.quest-dialogue-actions button{border:1px solid var(--ui-border);border-radius:2px;min-height:40px;padding:6px 13px;font-size:11px;font-weight:800}.quest-dialogue-accept{background:var(--quest-action);color:var(--ui-on-accent);border-color:var(--quest-accent-border)!important}.quest-dialogue-accept:disabled{opacity:.45;cursor:not-allowed;filter:grayscale();transform:none!important}.quest-dialogue-decline{background:var(--ui-surface-raised);color:var(--ui-text-muted)}.quest-dialogue-actions button:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-1px)}.promotion-modal-backdrop{z-index:40;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:#050808b8;place-items:center;display:grid;position:absolute;inset:0;overflow-y:auto}.promotion-modal.game-sheet{width:min(430px,100% - 8px);max-height:min(90dvh,700px);position:relative;top:auto;left:auto;transform:none}.promotion-modal-icon-close{z-index:1;width:32px;height:32px;color:var(--ui-text-muted);background:0 0;border:0;place-items:center;padding:0;font-size:22px;line-height:1;display:grid;position:absolute;top:3px;right:6px}.promotion-modal-icon-close:hover{color:var(--ui-primary-bright)}.promotion-modal-content{scrollbar-color:var(--ui-border) var(--ui-surface-deep);flex:auto;min-height:0;padding-top:0;overflow-y:auto}.promotion-modal-image{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.promotion-modal-description{color:var(--ui-text);white-space:pre-line;margin:12px 1px 0;font-size:12px;line-height:1.6}.promotion-modal-description strong{color:var(--ui-primary-bright);font-weight:800}.promotion-modal-footer{border-top:1px solid var(--ui-border-soft);flex:none;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:12px;display:flex}.promotion-dismiss-option{min-width:0;color:var(--ui-text-muted);cursor:pointer;align-items:center;gap:7px;font-size:10px;line-height:1.3;display:inline-flex}.promotion-dismiss-option input{width:15px;height:15px;accent-color:var(--ui-accent-border);margin:0}.promotion-close-button{border:1px solid var(--ui-accent-border);background:var(--ui-action);min-height:36px;color:var(--ui-on-accent);border-radius:2px;flex:none;padding:6px 14px;font-size:11px;font-weight:800}.promotion-close-button:hover{filter:brightness(1.12);transform:translateY(-1px)}@media (max-width:360px){.promotion-modal-footer{flex-direction:column;align-items:stretch;gap:9px}.promotion-close-button{width:100%}}.equipment-slots{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;display:grid}.equipment-slots button,.equipment-inventory button{border:1px solid var(--ui-border-soft);background:var(--ui-surface-raised);min-height:44px;color:var(--ui-text);text-align:left;border-radius:3px;align-items:center;gap:8px;padding:9px;display:flex}.equipment-slots button{justify-items:center;display:grid}.equipment-slots b,.equipment-slots small{font-size:10px}.equipment-slots small{color:var(--ui-text-muted);font-size:9px}.equipment-slots .item-icon{background-color:#0000;border:0;border-radius:0}.inventory-heading{justify-content:space-between;align-items:center;gap:8px;margin:14px 0 8px;display:flex}.inventory-heading-title{align-items:baseline;gap:6px;display:flex}.inventory-heading-title h3{margin:0}.inventory-heading-count,.inventory-heading>span{color:#8fa99d;font-variant-numeric:tabular-nums;font-size:10px}.inventory-sort-bar{align-items:center;gap:2px;display:inline-flex}.inventory-sort-button{color:var(--ui-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;padding:3px 7px;font-size:9px;font-weight:700;transition:background .15s,color .15s}.inventory-sort-button:hover{color:var(--ui-text);background:var(--ui-accent-surface)}.inventory-sort-button.is-active{border-color:var(--ui-accent-border);background:var(--ui-accent-surface-hover);color:var(--ui-primary-bright);font-weight:800}.game-sheet h3{color:var(--ui-primary-bright);margin:0;font-size:12px}.equipment-inventory{scrollbar-color:var(--ui-border) var(--ui-surface-deep);grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:8px;max-height:min(44dvh,390px);padding:2px;display:grid;overflow-y:auto}.item-grid{gap:7px}.inventory-panel .equipment-inventory,.storage-panel .equipment-inventory{overflow-x:hidden}.shop-item-grid{max-height:none;overflow:visible}.inventory-slot{aspect-ratio:1;min-width:0;box-shadow:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;place-items:center;position:relative;overflow:hidden;border:1px solid var(--ui-border-soft)!important;background:var(--ui-surface-deep)!important;text-align:center!important;border-radius:3px!important;min-height:56px!important;padding:0!important;display:grid!important}.inventory-slot.has-item{box-shadow:0 2px 5px #0008;border-color:var(--ui-border)!important}.inventory-slot.rarity-normal{border-color:var(--rarity-normal-border)!important;background:var(--rarity-normal-surface)!important}.inventory-slot.rarity-magic{border-color:var(--rarity-magic-border)!important;background:var(--rarity-magic-surface)!important}.inventory-slot.rarity-rare{box-shadow:inset 0 1px 0 var(--rarity-rare-highlight);border-color:var(--rarity-rare-border)!important;background:var(--rarity-rare-surface)!important}.inventory-slot.rarity-epic{border-color:var(--rarity-epic-border)!important;background:var(--rarity-epic-surface)!important;box-shadow:0 0 6px #e5383b33,inset 0 1px #ff6b6b4d,inset 0 0 0 1px #781c25!important}.inventory-slot.rarity-unique{box-shadow:inset 0 1px #c084fc28;border-color:var(--rarity-unique-border)!important;background:var(--rarity-unique-surface)!important}.inventory-slot.has-item:hover,.inventory-slot.has-item:focus-visible{outline:none;border-color:var(--ui-secondary)!important;background:var(--ui-accent-surface-hover)!important}.inventory-slot.rarity-normal.has-item:hover,.inventory-slot.rarity-normal.has-item:focus-visible{background:#303030!important;border-color:#858585!important}.inventory-slot.rarity-magic.has-item:hover,.inventory-slot.rarity-magic.has-item:focus-visible{background:#1a2642!important;border-color:#4c7cd6!important}.inventory-slot.rarity-rare.has-item:hover,.inventory-slot.rarity-rare.has-item:focus-visible{background:#362414!important;border-color:#f0c34b!important}.inventory-slot.rarity-epic.has-item:hover,.inventory-slot.rarity-epic.has-item:focus-visible{background:#42131b!important;border-color:#ff5757!important;box-shadow:0 0 10px #e5383b66,inset 0 1px #ffa1a166,inset 0 0 0 1px #9c2430!important}.inventory-slot.rarity-unique.has-item:hover,.inventory-slot.rarity-unique.has-item:focus-visible{background:#2a1b3d!important;border-color:#b188ff!important}.inventory-slot.is-selected{box-sizing:border-box;border:2px solid var(--ui-secondary)!important;box-shadow:0 0 10px color-mix(in srgb, var(--ui-secondary) 27%, transparent)!important}.inventory-slot:disabled{cursor:default;opacity:.45}.inventory-item-icon{background-color:#0000;border:0;border-radius:0}.inventory-item-icon.is-unusable{filter:brightness(.7)}.inventory-item-icon.is-unusable:after{content:"";pointer-events:none;background:repeating-linear-gradient(135deg,#b8b8b82e 0 7px,#0003 7px 14px);position:absolute;inset:4px}.inventory-slot-empty,.inventory-bag-empty{display:none}.inventory-quantity{color:#fff;pointer-events:none;text-shadow:-1px -1px #050505,1px -1px #050505,-1px 1px #050505,1px 1px #050505,1px 2px #000;min-width:0;padding:0;font-size:14px;font-weight:900;line-height:1;position:absolute;bottom:4px;right:5px}.inventory-upgrade{color:#c8c0b0;pointer-events:none;text-shadow:-1px -1px #000,1px -1px #000,-1px 1px #000,1px 1px #000;min-width:0;padding:0;font-size:13px;font-weight:800;line-height:1;position:absolute;top:2px;left:2px}.inventory-lock-badge{pointer-events:none;filter:grayscale();font-size:12px;line-height:1;position:absolute;bottom:3px;right:3px}.inventory-lock-badge.has-quantity{top:3px;bottom:auto}.inventory-upgrade.is-mid{color:var(--ui-text)}.inventory-upgrade.is-high{color:#f0c030}.inventory-tooltip-overlay{z-index:100;border:1px solid var(--ui-accent-border);background:color-mix(in srgb, var(--ui-surface) 97%, transparent);width:max-content;min-width:185px;max-width:min(235px,100vw - 24px);color:var(--ui-text);text-align:left;pointer-events:none;border-radius:3px;gap:4px;padding:10px 11px;display:grid;position:fixed;overflow-y:auto;transform:translate(-50%);box-shadow:0 10px 28px #000c}.inventory-tooltip-overlay.is-action,.inventory-tooltip-overlay.is-dismissible{pointer-events:auto}.inventory-tooltip-overlay.is-below{transform:translate(-50%)}.inventory-tooltip-overlay:after,.inventory-tooltip-overlay.is-below:after{display:none}.inventory-tooltip-overlay.is-comparison{width:min(440px,100vw - 24px);max-width:min(440px,100vw - 24px);padding:10px 12px;display:block}.inventory-tooltip-overlay.is-dismissible{padding-top:10px;padding-right:11px}.inventory-tooltip-overlay.is-item-details.is-dismissible{padding:10px 12px}.inventory-tooltip-overlay.is-dismissible .item-details-heading,.inventory-tooltip-overlay.is-comparison.is-dismissible .inventory-tooltip-column.is-equipped .inventory-tooltip-column-header{padding-right:22px}.inventory-tooltip-header-actions{z-index:1;gap:2px;display:flex;position:absolute;top:6px;right:6px}.inventory-tooltip-close{width:24px;min-width:24px;height:24px;min-height:24px;color:var(--ui-text-muted);background:0 0;border:0;border-radius:3px;place-items:center;padding:0;font-size:18px;line-height:1;display:grid}.inventory-action-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:17px;height:17px}.inventory-item-actions .inventory-lock-toggle.is-locked{color:var(--ui-primary-bright)}.inventory-tooltip-close:hover,.inventory-tooltip-close:focus-visible{border:1px solid var(--ui-accent-border);background:var(--ui-accent-surface-hover);color:var(--ui-primary-bright);outline:none}.inventory-tooltip-comparison-columns{align-items:stretch;gap:12px;display:flex}.inventory-tooltip-column{flex-direction:column;flex:1 1 0;gap:4px;min-width:180px;display:flex}@media (max-width:440px){.inventory-tooltip-column{min-width:0}}.inventory-tooltip-column.is-selected{min-width:132px}.inventory-tooltip-column+.inventory-tooltip-column{border-left:1px solid #3e3025;padding-left:12px}.inventory-tooltip-column-header{margin-bottom:2px}.inventory-tooltip-badge{letter-spacing:.02em;border-radius:2px;padding:2px 6px;font-size:9px;font-weight:700;line-height:1.2;display:inline-block}.inventory-tooltip-badge.is-selected-badge{border:1px solid var(--ui-border);background:var(--ui-accent-surface);color:var(--ui-text)}.inventory-tooltip-badge.is-equipped-badge{color:#9fe295;background:#162618;border:1px solid #486a42}.inventory-tooltip-overlay strong{color:var(--ui-primary-bright);font-size:11px}.inventory-tooltip-overlay strong.rarity-normal{color:var(--rarity-normal-text)}.inventory-tooltip-overlay strong.rarity-magic{color:var(--rarity-magic-text)}.inventory-tooltip-overlay strong.rarity-rare{color:var(--rarity-rare-text)}.inventory-tooltip-overlay strong.rarity-epic{color:var(--rarity-epic-text);text-shadow:0 0 6px #e5383b44}.inventory-tooltip-overlay strong.rarity-unique{color:var(--rarity-unique-text)}.inventory-tooltip-overlay small{color:#9ab6aa;font-size:9px}.item-details p.item-equip-restriction{color:var(--ui-danger);margin:4px 0 0;font-size:11px}.inventory-tooltip-overlay small .item-category.is-unusable,.character-equipment-detail-heading small .item-category.is-unusable{color:var(--ui-danger);font-weight:800}.inventory-tooltip-overlay p{color:#d3e0d3;white-space:pre-line;margin:1px 0 4px;font-size:10px;line-height:1.45}.item-tool-effect{border-top:1px solid #ffffff14;gap:2px;padding:4px 0 2px;display:grid}.item-tool-effect-title{color:#f5eedb;font-size:10px;font-weight:700}.item-tool-effect-desc{font-size:10px;line-height:1.35;color:#9edb9b!important;margin:0!important}.inventory-tooltip-options{border-top:1px solid #ffffff14;gap:2px;padding:4px 0 2px;display:grid}.inventory-tooltip-options span{color:#8fc8ff;white-space:normal;overflow-wrap:anywhere;font-size:10px;line-height:1.35}.inventory-tooltip-options span+span{color:#9edb9b}.inventory-action-buttons,.inventory-action-confirm>div{gap:7px;display:flex}.inventory-upgrade-prompt{border:1px solid var(--ui-accent-border);color:var(--ui-text);justify-content:space-between;align-items:center;gap:8px;padding:7px 9px;font-size:11px;display:flex}.inventory-upgrade-prompt button{border:1px solid var(--ui-border);background:var(--ui-accent-surface-hover);min-height:30px;color:var(--ui-text);padding:5px 9px}.inventory-action-buttons button,.inventory-action-confirm button{border:1px solid var(--ui-border);background:var(--ui-accent-surface-hover);min-height:34px;color:var(--ui-text);border-radius:2px;flex:1;padding:7px 10px;font-size:10px;font-weight:800}.inventory-action-buttons button:hover,.inventory-action-confirm button:hover{border-color:var(--ui-secondary);background:var(--ui-accent-surface-hover)}.inventory-action-buttons .is-discard{color:#d7a18c;border-color:#684039}.inventory-item-actions{gap:4px;margin-top:6px}.inventory-item-actions button{white-space:nowrap;min-width:0;min-height:40px;padding:4px}.inventory-item-actions .inventory-action-icon{flex:0 0 40px;place-items:center;width:40px;padding:0;display:grid}.inventory-item-actions button:disabled{opacity:.4;cursor:not-allowed}.inventory-item-link{margin-top:4px}.inventory-item-link button{color:var(--ui-text-muted);background:0 0;border-color:#0000}.inventory-action-confirm{gap:6px;display:grid}.inventory-action-confirm p{color:var(--ui-text);margin:0;font-size:11px}.inventory-action-confirm p strong{color:var(--ui-primary)}.inventory-action-confirm>small{color:var(--ui-text-muted);font-size:9px}.inventory-action-confirm button:first-child{color:#f0c3a5;background:#3a201d;border-color:#a8614e}.skill-cooldown-shade,.skill-cooldown-progress{pointer-events:none;position:absolute;bottom:0;left:0;right:0}.skill-cooldown-shade{background:#07101399;top:0}.skill-cooldown-progress{background:#e3a45e66;top:0}.skill-cooldown-timer{z-index:2;color:var(--ui-text);text-shadow:-1px -1px #000,1px -1px #000,-1px 1px #000,1px 1px #000,0 1px #000;font-size:11px;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.promotion-grid{grid-template-columns:repeat(2,1fr);gap:9px;margin:20px 0 14px;display:grid}.promotion-card{border:1px solid var(--ui-border-soft);background:var(--ui-surface-raised);min-height:96px;color:var(--ui-text);text-align:left;border-radius:3px;justify-items:start;gap:5px;padding:13px;display:grid}.promotion-card:hover:not(:disabled),.promotion-card.is-selected{box-shadow:0 0 15px color-mix(in srgb, var(--ui-secondary) 10%, transparent)}.promotion-card.is-locked{cursor:not-allowed;opacity:.45}.promotion-card strong{font-size:16px}.promotion-card small{min-height:28px;color:var(--ui-text-muted);font-size:10px;line-height:1.45}.promotion-card em{font-size:9px;font-style:normal}.job-panel{max-height:min(86dvh,100dvh - 24px)}.job-panel .promotion-grid{flex:auto;grid-template-columns:1fr;gap:0;min-height:0;margin:10px 0;overflow-y:auto}.job-list-header,.job-card{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;column-gap:16px;display:grid}.job-list-header{color:var(--ui-text-muted);padding:10px 12px 6px;font-size:10px}.job-list-header span:nth-child(2),.job-list-header span:nth-child(3),.job-row-level,.job-row-score{text-align:right;min-width:54px}.job-card{border-width:0 0 1px;border-radius:0;gap:8px;min-height:48px;padding:10px 12px}.job-row-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.job-row-level,.job-row-score{color:#d0a45f;white-space:nowrap;font-size:11px}.job-equipment-preview{flex-wrap:wrap;grid-column:1/-1;gap:4px;min-width:0;display:flex}.job-equipment-slot{border:1px solid var(--ui-border-soft);background:var(--ui-surface-deep);width:28px;height:28px;color:var(--ui-text-muted);place-items:center;display:grid}.job-equipment-slot.has-item{cursor:help}.job-equipment-slot .item-icon{background-color:#0000;border:0;border-radius:0}.job-card.is-current .job-row-name{color:var(--ui-primary-bright)}.promotion-error{color:#ffae9c;margin:0 0 12px;font-size:12px}.gift-code-panel{width:min(400px,100% - 24px)}.gift-code-content{padding:16px}.gift-code-content p{color:var(--ui-text);margin:0 0 14px;font-size:12px;line-height:1.5}.gift-code-content form{gap:8px;display:flex}.gift-code-content input{border:1px solid var(--ui-border-soft);background:var(--ui-surface-raised);min-width:0;color:var(--ui-text);flex:1;padding:10px}.gift-code-content button{border:1px solid var(--ui-accent-border);background:var(--ui-action);color:var(--ui-on-accent);flex:none;padding:10px 14px;font-weight:700}.gift-code-content button:disabled{opacity:.5;cursor:not-allowed}.gift-code-content .gift-code-error{color:#ffae9c;margin:12px 0 0}.promotion-panel-footer{color:var(--ui-text-muted);flex:none;justify-content:space-between;align-items:center;gap:12px;font-size:11px;display:flex}.promotion-confirm{border:1px solid var(--ui-accent-border);padding:10px 16px;font-weight:800}.promotion-confirm:disabled{cursor:not-allowed;opacity:.4}@keyframes level-up-burst{0%{opacity:0;transform:translate(-50%,-30%)scale(.82)}12%{opacity:1;transform:translate(-50%,-52%)scale(1.06)}22%{opacity:1;transform:translate(-50%,-50%)scale(1)}75%{opacity:1;transform:translate(-50%,-58%)scale(1)}to{opacity:0;transform:translate(-50%,-75%)scale(.96)}}@keyframes death-panel-in{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toast-in-out{0%{opacity:0;transform:translate(-50%,8px)}12%,82%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-6px)}}@keyframes entrance-title-in{0%{opacity:0}to{opacity:1}}@keyframes entrance-title-out{0%,78%{opacity:1}to{opacity:0}}@keyframes entrance-title-fade{0%{opacity:0}12%{opacity:1}78%{opacity:1}to{opacity:0}}@media (max-width:767px){.player-currency{font-size:10px}.xp-bar-wrap{margin-top:3px}.hp-bar b{font-size:8px}.toast{bottom:calc(128px + env(safe-area-inset-bottom));max-width:calc(100% - 24px)}.promotion-grid{grid-template-columns:repeat(2,1fr)}.promotion-card{min-height:88px}.job-panel .promotion-grid{margin:8px 0 10px}.job-list-header,.job-card{column-gap:8px}.job-list-header{padding-left:8px;padding-right:8px}.job-card{min-height:46px;padding:8px}.job-panel .promotion-panel-footer{padding-top:2px}.promotion-panel-footer{flex-direction:column;align-items:stretch}.promotion-confirm{width:100%}.equipment-inventory{gap:6px;max-height:min(42dvh,330px)}.inventory-panel .equipment-inventory,.storage-panel .equipment-inventory{gap:6px}.inventory-quantity{font-size:12px;bottom:3px;right:4px}}.top-combat-hud{z-index:3;pointer-events:none;--player-hp-track:#202820;--player-hp-fill:#36b95b;--player-hp-highlight:#7dde8f;--target-panel-edge-highlight:#c85b4e;--target-hp-track:#220f0e;--target-hp-fill:#b74638;--target-hp-highlight:#dd7661;--combat-panel-slant:clamp(16px, 2.8vw, 40px);--combat-tip-cut:6px;--combat-hp-angle:18deg;grid-template-columns:minmax(0,320px) minmax(0,300px);justify-content:space-between;align-items:flex-start;gap:12px;display:grid;position:absolute;top:0;left:0;right:0}.top-combat-hud .player-hud-left{pointer-events:none;grid-column:1;width:100%;min-width:0;position:relative;top:auto;left:auto}.top-combat-hud .player-panel{width:100%;position:relative;top:auto;left:auto}.target-hud-right{pointer-events:none;flex-direction:column;grid-column:2;align-items:stretch;gap:6px;width:100%;min-width:0;display:flex}.target-panel{background:var(--ui-surface);width:100%;min-width:0;box-shadow:none;isolation:isolate;border:1px solid #70433b;border-radius:3px;padding:8px 10px 7px;position:relative}.target-clear{border:1px solid var(--ui-border);background:var(--ui-surface);min-height:32px;color:var(--ui-text);cursor:pointer;pointer-events:auto;flex:0 0 32px;padding:0;font-size:18px}.target-clear:focus-visible{outline:1px solid var(--ui-secondary);outline-offset:2px}.target-panel-top{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.target-panel-top small{color:var(--ui-primary-muted);white-space:nowrap;flex:none;font-size:12px;line-height:1}.target-panel-top strong{min-width:0;color:var(--ui-text);text-align:right;text-overflow:ellipsis;white-space:nowrap;flex:auto;font-family:inherit;font-size:16px;line-height:1.4;overflow:hidden}.target-hp-row{align-items:center;margin-top:6px;display:flex}.target-hp-bar{min-width:0;height:20px;box-shadow:none;background:#2a1110;border:1px solid #a34c3e;border-radius:2px;flex:1;padding:1px;position:relative;overflow:hidden}.target-hp-bar i{background:#c84636;border-radius:1px;min-width:2px;height:100%;transition:width .25s;display:block;box-shadow:inset 0 1px #e67c64}.target-hp-bar b{z-index:1;color:var(--ui-text);pointer-events:none;text-shadow:1px 0 #090705,-1px 0 #090705,0 1px #090705,0 -1px #090705;place-items:center;font-size:9px;font-weight:800;line-height:1;display:grid;position:absolute;inset:1px}.bottom-hud{z-index:4;--hud-bottom-left:calc(max(6px, env(safe-area-inset-left)) / var(--hud-scale));--hud-bottom-right:calc(max(6px, env(safe-area-inset-right)) / var(--hud-scale));--hud-bottom-gap:calc(max(6px, env(safe-area-inset-bottom)) / var(--hud-scale));left:var(--hud-bottom-left);right:var(--hud-bottom-right);bottom:var(--hud-bottom-gap);--corner-slot:min(clamp(52px, 6vw, 64px), calc((var(--game-width) / var(--hud-scale) - var(--hud-bottom-left) - var(--hud-bottom-right) - 2 * var(--skill-size) - 26px) / 4));--skill-size:clamp(64px, 8vw, 80px);pointer-events:none;flex-direction:column;align-items:flex-start;display:flex;position:absolute}.bottom-hud-action-stack{pointer-events:none;flex-direction:column;align-items:center;width:100%;max-width:100%;display:flex}.bottom-hud .action-bar{pointer-events:none;background:0 0;border:0;justify-content:space-between;align-items:flex-end;gap:8px;width:100%;padding:0;display:flex;position:relative;inset:auto;transform:none}.quick-action-grid{--corner-depth:calc(var(--hud-tool-base-depth) + var(--hud-bottom-gap));--corner-inset:auto -8px calc(-1 * var(--hud-bottom-gap)) calc(-1 * var(--hud-bottom-left));--corner-edge-offset:1px;--corner-shape:polygon(0 0, calc(100% - var(--corner-depth) / tan(var(--hud-corner-angle))) 0, 100% 100%, 0 100%);grid-template-columns:repeat(4, var(--corner-slot));grid-template-rows:var(--corner-slot);pointer-events:auto;gap:4px;display:grid}.quick-action-slot{border:1px solid var(--ui-border-soft);background:var(--ui-surface);width:100%;min-width:0;height:100%;min-height:0;color:var(--ui-text-muted);box-shadow:none;cursor:pointer;pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border-radius:2px;place-items:center;padding:0;transition:background .15s,border-color .15s,color .15s;display:grid;position:relative;overflow:hidden}.quick-action-slot:not(:disabled):hover,.quick-action-slot:not(:disabled):focus-visible{border-color:var(--ui-text-muted);background:var(--ui-surface-raised);color:var(--ui-text);outline:none}.quick-action-slot:focus-visible{outline:2px solid var(--ui-accent-border);outline-offset:1px}.quick-action-slot:disabled{border-color:var(--ui-border-soft);background:var(--ui-surface-deep);color:var(--ui-text-muted);cursor:not-allowed}.quick-action-slot.is-active{border-color:var(--ui-secondary);background:var(--ui-accent-surface-hover);color:var(--ui-primary-bright)}.quick-action-slot.is-active:hover{border-color:var(--ui-primary);background:var(--ui-accent-surface-hover);color:var(--ui-text)}.quick-action-auto{width:var(--skill-size);height:calc(var(--skill-size) / 2 - 6px);border-color:var(--ui-primary);background:var(--ui-surface-deep);color:var(--ui-primary);border-radius:999px;justify-content:center;align-items:center;display:flex;position:absolute;bottom:0;right:0}.quick-action-auto .quick-action-auto-label{font-size:10px;font-weight:800;line-height:1}.quick-action-auto:is(:hover,:focus-visible){border-color:var(--ui-primary);background:var(--ui-surface-raised);color:var(--ui-primary)}.quick-action-auto.is-active,.quick-action-auto.is-active:hover{border-color:var(--ui-primary);background:var(--ui-primary);color:var(--ui-background)}.quick-action-auto:disabled{opacity:.5;cursor:default}.quick-action-slot.is-empty{background:var(--ui-surface-deep);color:var(--ui-border-soft);cursor:default;border-style:dashed;border-color:#40362c}.quick-action-slot.is-empty span{color:var(--ui-border-soft);font-size:16px}.quick-action-icon{flex:0 0 20px;width:20px;height:20px}.quick-action-chat .quick-action-icon{flex:0 0 21px;width:21px;height:21px}.quick-action-slot kbd{color:var(--ui-text);z-index:2;pointer-events:none;font-size:9px;font-weight:800;line-height:1;position:absolute;top:2px;left:3px}.quick-action-tool .quick-action-icon{flex:0 0 26px;width:26px;height:26px}.quick-action-tool:disabled .quick-action-icon{filter:grayscale();opacity:.45}.tutorial-potion-pointer{pointer-events:none;background:#ffd36b;animation:.8s ease-in-out infinite alternate tutorial-potion-pointer-bob;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)rotate(180deg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@keyframes tutorial-potion-pointer-bob{to{transform:translate(-50%,-5px)rotate(180deg)}}@media (prefers-reduced-motion:reduce){.tutorial-potion-pointer{animation:none}}.quick-action-tool.is-cooldown{opacity:.85}.quick-action-potion .potion-icon{width:26px;height:26px;margin:0}.quick-action-potion.is-cooldown{opacity:.85}.combat-action-group{--corner-depth:calc(min(var(--hud-skill-base-depth), calc(2.25 * var(--skill-size) + 6px)) + var(--hud-bottom-gap));--corner-cut-run:calc((2 * var(--skill-size) + 14px + var(--hud-bottom-right)) * .7);--corner-inset:auto calc(-1 * var(--hud-bottom-right)) calc(-1 * var(--hud-bottom-gap)) -8px;--corner-edge-offset:1px;--corner-shape:polygon(var(--corner-cut-run) 0, 100% 0, 100% 100%, 0 100%, 0 calc(var(--corner-cut-run) * tan(var(--hud-corner-angle))));pointer-events:none;flex:none;gap:6px;display:grid}.bottom-hud .skill-slots{grid-template-columns:repeat(2, var(--skill-size));grid-template-rows:repeat(2, var(--skill-size));padding-top:calc(var(--skill-size) / 2);pointer-events:none;gap:6px;display:grid}.bottom-hud .skill-slot{width:var(--skill-size);height:var(--skill-size);pointer-events:auto;min-width:0}.bottom-hud .skill-slot:first-child{grid-area:2/1}.bottom-hud .skill-slot:nth-child(2){grid-area:2/2;transform:translateY(-50%)}.bottom-hud .skill-slot:nth-child(3){grid-area:1/1}.bottom-hud .skill-slot:nth-child(4){grid-area:1/2;transform:translateY(-50%)}.bottom-hud .skill-tooltip{width:min(260px, calc(var(--game-width) / var(--hud-scale) - var(--hud-bottom-left) - var(--hud-bottom-right)));max-width:none;max-height:min(320px, max(40px, calc(var(--game-height) / var(--hud-scale) - 100% - var(--hud-bottom-gap) - 12px)));overflow-wrap:anywhere;overscroll-behavior:contain;pointer-events:auto;left:auto;right:0;overflow-y:auto}.quick-action-grid>.skill-tooltip{width:min(240px, calc(var(--game-width) / var(--hud-scale) - var(--hud-bottom-left) - var(--hud-bottom-right)));left:0;right:auto}.virtual-pad{z-index:5;pointer-events:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;position:fixed;inset:0}.virtual-pad-base{border:1px solid color-mix(in srgb, var(--ui-primary) 40%, transparent);background:color-mix(in srgb, var(--ui-surface) 40%, transparent);pointer-events:none;border-radius:50%;width:112px;height:112px;position:absolute;transform:translate(-50%,-50%)}.virtual-pad-knob{border:1px solid color-mix(in srgb, var(--ui-text) 67%, transparent);background:color-mix(in srgb, var(--ui-primary) 40%, transparent);pointer-events:none;border-radius:50%;width:42%;height:42%;position:absolute;top:50%;left:50%}.virtual-pad-setting-row select{border:1px solid var(--ui-border-soft);background:var(--ui-surface-deep);min-width:82px;color:var(--ui-text);font:inherit;border-radius:2px;padding:5px 7px;font-size:11px}.chat-stack{left:0;bottom:calc(var(--corner-slot) + 8px);width:min(420px, calc(100% - var(--skill-size) * 2 - 16px));pointer-events:none;flex-direction:column;gap:4px;display:flex;position:absolute}.chat-input-wrap{pointer-events:auto;width:100%}.player-panel-top{gap:5px}.player-heading strong{font-size:12px}.damage-meter{border:1px solid var(--ui-border);background:var(--ui-surface);width:min(180px,100%);box-shadow:none;border-radius:3px;align-self:flex-end;gap:1px;margin:0;padding:5px 8px 6px;display:grid}.damage-meter-row{min-height:17px;color:var(--ui-text);grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:4px;font-size:9px;display:grid}.damage-meter-row i{color:var(--ui-text-muted);text-align:center;font-size:8px;font-style:normal}.damage-meter-row strong{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.damage-meter-row b{color:var(--ui-primary-muted);font-variant-numeric:tabular-nums;font-size:9px}.damage-meter-overflow{color:var(--ui-text-muted);text-align:right;padding-top:1px;font-size:8px;line-height:10px}.latency-panel{border:1px solid var(--ui-border);background:var(--ui-surface);width:max-content;min-height:25px;box-shadow:none;color:var(--ui-text-muted);font-variant-numeric:tabular-nums;pointer-events:auto;border-radius:3px;align-items:center;gap:6px;margin-left:auto;padding:4px 8px;font-size:9px;display:flex}.latency-dot{background:currentColor;border:1px solid;border-radius:50%;width:6px;height:6px}.latency-name{color:var(--ui-text-muted);letter-spacing:.08em;font-size:8px}.latency-panel b{color:var(--ui-primary-muted);font-size:9px;font-weight:700}.latency-panel.is-good{color:#91bd83}.latency-panel.is-warning{color:#d3a45d}.latency-panel.is-poor,.latency-panel.is-unknown{color:#9d8172}.player-panel,.target-panel,.damage-meter,.action-bar{border:1px solid var(--ui-border);background:var(--ui-surface);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:2px}.top-combat-hud .player-panel{--corner-depth:auto;--corner-shape:polygon(0 0, calc(100% - var(--combat-tip-cut)) 0, calc(100% - var(--combat-tip-cut) / 2) var(--combat-tip-cut), calc(100% - var(--combat-panel-slant)) 100%, 0 100%);padding:calc(4px + env(safe-area-inset-top)) calc(var(--combat-panel-slant) + 6px) 4px max(6px, env(safe-area-inset-left));box-shadow:none;background:0 0;border:0;border-radius:0}.top-combat-hud .target-panel{--corner-depth:auto;--corner-shape:polygon(var(--combat-panel-slant) 0, 100% 0, 100% 100%, var(--combat-tip-cut) 100%, calc(var(--combat-tip-cut) / 2) calc(100% - var(--combat-tip-cut)));padding:calc(4px + env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) 4px calc(var(--combat-panel-slant) + 6px);background:0 0;border:0;border-radius:0}.top-combat-hud :is(.player-panel,.target-panel){min-height:calc(60px + env(safe-area-inset-top))}.top-combat-hud :is(.player-panel-top,.target-panel-top){align-items:center;height:24px}.top-combat-hud .target-clear{min-height:24px}.top-combat-hud :is(.hp-bar-row,.target-hp-row){margin-top:2px;padding:0}.top-combat-hud .corner-hud:after{height:auto;inset:1px;transform:none}.top-combat-hud .target-panel-top strong{color:var(--ui-text)}.top-combat-hud .target-hp-bar{--combat-hp-cut:6px;background:var(--target-hp-track)}.top-combat-hud .target-hp-bar i{background:var(--target-hp-fill);box-shadow:inset 0 1px var(--target-hp-highlight)}.top-combat-hud .target-hp-bar b{color:#ffe7dc;font-size:12px}.top-combat-hud .target-hud-right .damage-meter{border-color:var(--ui-border);background:var(--ui-surface)}.top-combat-hud .target-hud-right .damage-meter-row b{color:#d99a82}.top-combat-hud .player-heading strong{color:var(--ui-text);font-size:17px}.top-combat-hud .player-status-bars .hp-bar{--combat-hp-cut:8px;height:18px}.top-combat-hud :is(.player-status-bars .hp-bar,.target-hp-bar){border:0;border-radius:0;padding:0}.top-combat-hud :is(.player-status-bars .hp-bar,.target-hp-bar):after{content:"";z-index:2;width:calc(var(--combat-hp-cut) / tan(var(--combat-hp-angle)));height:var(--combat-hp-cut);background:var(--ui-surface);clip-path:polygon(100% 0,100% 100%,0 100%);pointer-events:none;position:absolute;bottom:0;right:0}.top-combat-hud .target-panel .target-hp-bar:after{clip-path:polygon(0 0,100% 0,0 100%);inset:0 auto auto 0}.top-combat-hud :is(.player-status-bars .hp-bar,.target-hp-bar) i{border-radius:0}.top-combat-hud .player-status-bars .hp-bar b{font-size:12px}.top-combat-hud .player-status-bars .xp-bar-wrap{cursor:help;margin-top:2px;padding:0;position:relative}.top-combat-hud .xp-tooltip{z-index:5;border:1px solid var(--ui-border);background:var(--ui-surface);width:max-content;max-width:min(260px,100vw - 16px);color:var(--ui-text);pointer-events:none;padding:6px 8px;font-size:11px;line-height:1.3;display:none;position:absolute;top:calc(100% + 4px);left:0}.top-combat-hud .xp-bar-wrap:is(:hover,:focus) .xp-tooltip{display:block}.top-combat-hud .player-status-bars .xp-value{display:none}.top-combat-hud .player-heading small{color:var(--ui-primary-muted);font-size:12px}.player-status-bars .hp-bar-row{margin-top:3px}.top-combat-hud .player-status-bars .hp-bar-row{margin-top:2px}.player-status-bars .hp-bar{border-color:var(--player-hp-highlight,#dd7661);background:var(--player-hp-track,#220f0e);height:14px;box-shadow:none;border-radius:2px;padding:1px}.player-status-bars .hp-bar i{background:var(--player-hp-fill,#b74638);min-width:2px;box-shadow:inset 0 1px var(--player-hp-highlight,#dd7661);border-radius:1px}@media (hover:hover) and (pointer:fine){.player-status-bars .hp-bar{height:18px}}.player-status-bars .hp-bar i.hp-temporary{background:#c99a3d;box-shadow:inset 0 1px #f4d98a}.player-status-bars .hp-bar b{color:var(--ui-text);font-size:9px;font-weight:800}.player-status-bars .xp-bar-wrap{align-items:center;gap:6px;margin-top:3px;display:flex}.player-status-bars .xp-bar{min-width:0;height:3px;box-shadow:none;border:0;border-radius:2px;flex:auto;padding:0;overflow:hidden}.player-status-bars .xp-value{color:var(--ui-text-muted);text-shadow:none;white-space:nowrap;flex:none;font-size:8px;font-weight:700;line-height:1}.player-heading strong{color:var(--ui-text);font-family:inherit}.xp-bar b{color:var(--ui-text-muted)}.xp-bar,.hp-bar{background:var(--ui-surface-deep);border-radius:2px;box-shadow:inset 0 1px 3px #000}.hp-bar{border-color:var(--ui-border)}.xp-bar{border-color:var(--ui-border-soft);background:var(--ui-surface-deep);box-shadow:inset 0 1px 3px #000}.xp-bar:before,.xp-bar:after{display:none}.xp-bar span{background:#86789e}.xp-bar span:after{display:none}.hp-bar i{background:#9c2826;position:relative;overflow:hidden}.hp-bar i:after{display:none}.action-bar{gap:5px;padding:6px}.skill-slot{border-color:var(--ui-border);background:var(--ui-surface);color:var(--ui-primary-muted);box-shadow:none;border-radius:3px}.skill-slot.is-registered{border-color:var(--ui-accent-border);background:var(--ui-accent-surface)}.skill-slot.evolution-tier-2{background:#182b3b;border-color:#4f91b8}.skill-slot.evolution-tier-3{background:#3a2915;border-color:#bd9140}.skill-slot.evolution-tier-4{background:#3b1e1b;border-color:#b96b58}.skill-slot.is-empty{border-color:var(--ui-border-soft);color:var(--ui-text-muted);background:var(--ui-surface)}.skill-slot.is-locked{border-color:var(--ui-border-soft);background:#121212}.skill-slot>small{color:var(--ui-text-muted);background:#090808dc;border-radius:2px}.skill-slot.is-locked>small{color:#b79658}.skill-tooltip,.inventory-tooltip-overlay{border-color:var(--ui-accent-border);background:var(--ui-surface);border-radius:3px;box-shadow:0 8px 22px #000c}.skill-tooltip strong,.inventory-tooltip-overlay strong{color:var(--ui-primary)}.game-panel-header h2,.game-sheet h3{color:var(--ui-primary);font-family:inherit}.quest-panel .game-panel-header h2{color:var(--quest-accent)}.quest-panel button:focus-visible,.quest-dialogue button:focus-visible{outline-color:var(--quest-accent)}.quest-panel .game-panel-header-actions>button:hover{color:var(--quest-accent)}.game-panel-header-actions>button{color:var(--ui-text-muted)}.equipment-slots button,.equipment-inventory button,.promotion-card{border-color:var(--ui-border-soft);background:var(--ui-surface-raised);color:var(--ui-text);border-radius:3px}.promotion-card:hover:not(:disabled),.promotion-card.is-selected{border-color:var(--ui-secondary);background:var(--ui-accent-surface)}.shop-icon{background:var(--ui-accent-surface);color:#d3a25d;border-radius:2px}.promotion-panel-footer{color:var(--ui-text-muted)}.promotion-card em{color:var(--ui-primary)}.promotion-confirm{border-color:var(--ui-accent-border);background:var(--ui-action);min-height:42px;color:var(--ui-on-accent);border-radius:2px}.toast{color:#d8b982;background:#281b16;border-color:#8f673e;border-radius:3px}.death-panel{background:var(--ui-surface);border-color:#81443d;border-radius:4px}.death-panel button{border-color:var(--ui-accent-border);background:var(--ui-action);border-radius:2px}.loading-shell,.roster-shell,.suspension-shell,.tab-session-shell{isolation:isolate;background-color:var(--ui-background);position:relative;overflow:hidden}.roster-shell{-webkit-overflow-scrolling:touch;min-height:100dvh;overflow:hidden auto}.tab-session-shell{z-index:100;width:100%;height:100%;min-height:100%;color:var(--ui-text);position:fixed;inset:0}.loading-shell:after,.roster-shell:after,.suspension-shell:after,.tab-session-shell:after{display:none}.loading-shell h1,.roster-card h1,.tab-session-card h1{color:var(--ui-text);letter-spacing:.06em;font-family:inherit;font-weight:700}.loading-shell p,.tab-session-card p,.muted{color:var(--ui-text-muted)}.suspension-card{border:1px solid var(--ui-border);background:var(--ui-surface);width:min(500px,100% - 32px);color:var(--ui-text);border-radius:4px;padding:clamp(28px,6vw,46px);position:relative;box-shadow:0 24px 90px #000d}.suspension-card>strong{letter-spacing:.04em;font-size:clamp(22px,5vw,30px);display:block}.suspension-card>p{color:var(--ui-text-muted);margin:10px 0 22px;line-height:1.7}.suspension-card>small{color:var(--ui-text-muted);margin-top:20px;line-height:1.6;display:block}.suspension-details{border-top:1px solid var(--ui-border-soft);gap:0;margin:0;display:grid}.suspension-details>div{border-bottom:1px solid var(--ui-border-soft);grid-template-columns:minmax(90px,1fr) 2fr;gap:16px;padding:12px 0;display:grid}.suspension-details dt{color:var(--ui-text-muted)}.suspension-details dd{color:var(--ui-text);text-align:right;overflow-wrap:anywhere;margin:0}.roster-card,.tab-session-card{border:1px solid var(--ui-border);background:var(--ui-surface);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:4px;width:min(500px,100% - 32px);padding:clamp(28px,6vw,46px);position:relative;box-shadow:0 24px 90px #000d}.tab-session-card:before{display:none}.roster-card>*,.tab-session-card>*{z-index:1;position:relative}.tab-session-card{z-index:1}.roster-card h1{margin:12px 0 0}.roster-lede{color:var(--ui-text-muted);margin:8px 0 22px;font-size:12px;line-height:1.6}.roster-landing{isolation:isolate;background:var(--ui-background);overscroll-behavior-y:contain;height:100dvh;position:relative;overflow:hidden auto}.landing-content{background:var(--ui-background);width:min(440px,100%);min-height:100%;margin:0 auto;position:relative}@media (min-width:441px){.roster-landing:before{content:"";z-index:-1;filter:blur(18px)brightness(.3);pointer-events:none;background:url(/assets/modak/landing/party-og.webp) 50%/cover;position:fixed;inset:-24px}}.landing-hero{width:100%;padding-bottom:68px;position:relative;overflow:hidden}.landing-background{aspect-ratio:4/5;background:url(/assets/modak/landing/dopamine-poster.webp) 50%/cover;width:100%;position:relative}.landing-background:after{content:"";background:linear-gradient(to bottom, transparent, var(--ui-background));pointer-events:none;position:absolute;inset:60% 0 0}.landing-background video{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.language-select{background:var(--ui-surface);min-height:40px;color:var(--ui-text);font:inherit;border:0;border-radius:0;padding:6px 10px;font-size:12px}.landing-entry{text-align:center;width:100%;margin:0 auto;padding:28px 24px 24px;position:relative}.landing-hero+.landing-entry{margin-top:-96px}.landing-title{color:var(--ui-primary);margin:0 0 10px;font-size:clamp(24px,5vw,32px);font-weight:800}.landing-actions{flex-direction:column;gap:10px;margin-top:20px;display:flex}.landing-play{border:1px solid var(--ui-secondary);background:var(--ui-action);width:100%;min-height:56px;color:var(--ui-on-accent);border-radius:0;justify-content:center;align-items:center;gap:10px;padding:14px 20px;font-size:18px;font-weight:800;display:flex}.landing-play:hover:not(:disabled){background:var(--ui-action-hover)}.landing-guest{background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-border);font-size:15px}.landing-guest:hover:not(:disabled){background:var(--ui-surface-raised)}.landing-play:disabled{cursor:not-allowed;color:#77736b;background:#242321;border-color:#393733}.landing-play:disabled .google-mark{filter:grayscale();opacity:.5}.landing-entry>p{color:var(--ui-text);word-break:keep-all;margin:0 0 20px;font-size:14px;line-height:1.6}.landing-entry>p.landing-consent-hint{color:var(--ui-primary);text-align:left;margin:0;font-size:12px}.landing-entry>p.error{color:#ff8a80;margin:16px 0 0}.landing-entry .age-consent{border-top:1px solid var(--ui-border-soft);color:var(--ui-text);margin-top:24px;padding:12px 0;font-size:13px}.landing-entry .age-consent input{flex-shrink:0;width:20px;height:20px}.landing-entry .age-consent a{color:var(--ui-text)}.landing-about{width:min(520px,100%);color:var(--ui-text-muted);text-align:left;word-break:keep-all;margin:28px auto 0;font-size:13px;line-height:1.75}.landing-about p{margin:8px 0 0}.landing-footer{width:100%;padding:8px 24px max(24px, env(safe-area-inset-bottom));background:var(--ui-background);text-align:center;margin:0 auto;position:relative}.landing-login{min-height:44px;color:var(--ui-text);text-underline-offset:4px;background:0 0;border:0;padding:8px;font-size:14px;text-decoration:underline}.landing-login:disabled{cursor:not-allowed;opacity:.65}.landing-footer .legal-footer{opacity:1;color:var(--ui-text-muted);gap:6px 12px;margin-top:8px;font-size:11px}.landing-motion{border:1px solid var(--ui-border-soft);background:var(--ui-surface);width:40px;height:40px;color:var(--ui-text);border-radius:0;font-size:18px;position:absolute;top:12px;right:12px}.google-login-button,.guest-play-button,.guest-start-button,.tab-session-card button,.create-form button{border-radius:3px;box-shadow:0 4px #080606}.google-login-button{color:#202124;min-height:48px;text-shadow:none;background:#f8f9fa;border:1px solid #dadce0;margin-top:8px;box-shadow:0 1px 2px #0004}.google-login-button:hover{background:#fff;border-color:#c8cbd0;transform:translateY(-1px)}.google-login-button:disabled{cursor:not-allowed;opacity:.42;filter:grayscale(.25);box-shadow:none}.google-mark{box-shadow:none}.auth-divider{color:var(--ui-text-muted);margin:20px 0 12px}.auth-divider:before,.auth-divider:after{background:var(--ui-border-soft)}.guest-play-button{border:1px solid var(--ui-border);background:var(--ui-surface);min-height:44px;color:var(--ui-text);margin-top:10px}.guest-play-button:hover{border-color:var(--ui-accent-border);background:var(--ui-accent-surface-hover)}.guest-play-button:disabled{cursor:not-allowed;opacity:.42}.guest-start-button{border:1px solid var(--ui-border);background:var(--ui-surface);min-height:44px;color:var(--ui-text);margin-top:8px}.guest-start-button:hover{border-color:var(--ui-accent-border);background:var(--ui-accent-surface-hover)}.guest-start-button:disabled{cursor:not-allowed;opacity:.42}.guest-warning{color:var(--ui-text-muted)}.age-consent{color:var(--ui-primary-muted);text-align:left;cursor:pointer;align-items:flex-start;gap:8px;margin:16px 0 0;font-size:12px;line-height:1.5;display:flex}.age-consent a{color:var(--ui-primary)}.age-consent input{accent-color:var(--ui-secondary);margin-top:3px}.guest-roster{border-top-color:var(--ui-border-soft)}.guest-roster-label{color:var(--ui-primary-muted);font-family:inherit}.roster-list{gap:7px}.roster-item{border-color:var(--ui-border-soft);background:var(--ui-surface);color:var(--ui-text);border-radius:3px;padding:11px 12px}.roster-item:hover{border-color:var(--ui-accent-border);background:var(--ui-accent-surface-hover)}.roster-item small{color:var(--ui-text-muted)}.roster-arrow{color:var(--ui-secondary)}.create-form{border-top:1px solid var(--ui-border-soft);padding-top:16px}.create-form input{border:1px solid var(--ui-border-soft);background:var(--ui-background);color:var(--ui-text);border-radius:3px;padding:11px 12px}.create-form input:focus{border-color:var(--ui-accent-border)}.create-form input::placeholder{color:var(--ui-text-muted)}.create-form button{border:1px solid var(--ui-accent-border);background:var(--ui-action);color:var(--ui-on-accent)}.create-form button:hover:not(:disabled){background:var(--ui-action-hover)}.character-create-card{text-align:center}.character-create-card .roster-lede{margin-bottom:22px}.character-create-card .age-consent{text-align:left}.create-form--standalone{border-top:0;grid-template-columns:1fr;margin-top:22px;padding-top:0}.create-form--standalone button{min-height:44px}.create-note{color:var(--ui-text-muted);margin:12px 0 0;font-size:11px;line-height:1.5}.error{color:#c9826f}.character-name-open-button{border:1px solid var(--ui-accent-border);background:var(--ui-action);width:100%;min-height:54px;color:var(--ui-on-accent);border-radius:3px;margin-top:24px;padding:12px 18px;font-size:14px;font-weight:900;display:block;box-shadow:0 4px #080606}.character-name-open-button:hover:not(:disabled){background:var(--ui-action-hover);transform:translateY(-1px)}.character-name-open-button:disabled{cursor:not-allowed;opacity:.42}.character-name-modal-backdrop{z-index:100;-webkit-backdrop-filter:none;backdrop-filter:none;background:#050505d9;place-items:center;padding:20px;display:grid;inset:0;position:fixed!important}.character-name-modal{border:1px solid var(--ui-border);background:var(--ui-surface);text-align:left;border-radius:4px;width:min(720px,100%);max-height:90vh;padding:34px clamp(22px,6vw,38px) 30px;overflow-y:auto;box-shadow:0 24px 80px #000e;position:relative!important}.character-name-modal-close{width:32px;height:32px;color:var(--ui-text-muted);background:0 0;border:0;font-size:25px;line-height:1;position:absolute;top:7px;right:9px}.character-name-modal-close:hover:not(:disabled){color:var(--ui-primary-bright)}.character-name-modal h2{color:var(--ui-text);margin:10px 0 6px;font-family:inherit;font-size:clamp(24px,6vw,30px)}.character-name-modal-lead{color:var(--ui-text-muted);margin:0 0 14px;font-size:12px;line-height:1.5}.character-job-selection{margin-bottom:14px}.character-job-label{color:var(--ui-primary-muted);margin-bottom:3px;font-size:12px;font-weight:800;display:block}.character-job-picker{grid-template-columns:minmax(0,1.15fr) minmax(205px,.85fr);align-items:stretch;gap:10px;display:grid}.character-job-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.character-job-card{border:1px solid var(--ui-border-soft);background:var(--ui-background);min-height:144px;color:var(--ui-text);text-align:left;cursor:pointer;border-radius:3px;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:8px;transition:border-color .15s,background-color .15s;display:flex}.character-job-card:hover:not(:disabled){border-color:var(--ui-accent-border);background:var(--ui-surface)}.character-job-card.is-selected{border-color:var(--ui-secondary);background:var(--ui-accent-surface);box-shadow:inset 0 0 0 1px var(--ui-secondary)}.character-job-sprite-frame{background:var(--ui-surface-deep);place-items:center;min-height:96px;display:grid;overflow:hidden}.character-job-sprite{z-index:1;background-repeat:no-repeat;width:96px;height:96px;animation:2.4s step-end infinite character-sheet-loop,1.2s ease-in-out infinite character-sheet-bob;display:block;position:relative}.job-card-header{align-items:center;gap:8px;margin:8px 2px 1px;display:flex}.job-radio-dot{border:1px solid var(--ui-border);background:var(--ui-surface-deep);border-radius:50%;flex-shrink:0;width:12px;height:12px}.character-job-card.is-selected .job-radio-dot{border-color:var(--ui-secondary);background:var(--ui-secondary);box-shadow:inset 0 0 0 2px var(--ui-accent-surface)}.job-card-title{color:var(--ui-text);font-size:14px;font-weight:800}.character-job-card.is-selected .job-card-title{color:var(--ui-primary-bright)}.character-job-detail{border:1px solid var(--ui-border);background:var(--ui-surface-raised);border-radius:3px;align-content:center;gap:8px;min-height:100%;padding:16px;display:grid}.character-job-detail h3{color:var(--ui-primary-bright);margin:0;font-family:inherit;font-size:22px}.character-job-detail p{color:var(--ui-text-muted);margin:0;font-size:11px;line-height:1.55}.character-job-detail-meta{border-top:1px solid var(--ui-border-soft);gap:4px;margin-top:3px;padding-top:9px;display:grid}.character-job-detail-meta span{color:var(--ui-primary);font-size:10px;font-weight:800}.character-job-detail-meta strong{color:var(--ui-primary-muted);font-size:10.5px;font-weight:400;line-height:1.45}.character-name-label{color:var(--ui-primary-muted);margin-top:6px;font-size:12px;font-weight:800}.character-name-form{gap:8px;display:grid}.character-name-input-wrap{position:relative}.character-name-input-wrap input{border:1px solid var(--ui-border);background:var(--ui-surface-deep);width:100%;min-height:52px;color:var(--ui-text);letter-spacing:.04em;border-radius:3px;outline:none;padding:10px 62px 10px 14px;font-size:20px}.character-name-input-wrap input:focus{border-color:var(--ui-secondary)}.character-name-input-wrap input::placeholder{color:var(--ui-text-muted);letter-spacing:0;font-size:14px}.character-name-count{color:var(--ui-text-muted);font-size:11px;position:absolute;bottom:10px;right:12px}.character-name-rules{color:var(--ui-text-muted);font-size:11px;line-height:1.5}.character-name-form .error{margin:3px 0 0}.character-name-submit{border:1px solid var(--ui-accent-border);background:var(--ui-action);min-height:48px;color:var(--ui-on-accent);cursor:pointer;border-radius:3px;margin-top:12px;font-weight:900;box-shadow:0 4px #080606}.character-name-submit:hover:not(:disabled){background:var(--ui-action-hover)}.character-name-submit:disabled{cursor:not-allowed;opacity:.45}@media (max-width:620px){.character-job-picker{grid-template-columns:1fr}.character-job-detail{min-height:0}}@media (max-width:520px){.character-name-modal{padding-left:16px;padding-right:16px}.character-job-grid{gap:6px}.character-job-card{min-height:136px;padding:6px}.character-job-sprite-frame{min-height:92px}.character-job-sprite{width:92px;height:92px}.job-card-header{margin-top:6px}}@media (orientation:landscape) and (max-height:520px){.character-name-modal{max-height:calc(100dvh - 16px);padding-top:18px;padding-bottom:16px}.character-name-modal h2{margin-top:4px;font-size:21px}.character-name-modal-lead,.character-job-selection{margin-bottom:8px}.character-job-card{min-height:104px;padding:5px}.character-job-sprite-frame{min-height:62px}.character-job-sprite{width:64px;height:64px}.character-job-detail{gap:5px;padding:9px}.character-job-detail h3{font-size:18px}}.tab-session-card h1{margin-top:14px}.tab-session-card button{border:1px solid var(--ui-accent-border);background:var(--ui-action);min-height:46px;color:var(--ui-on-accent)}.tab-session-card button:hover{background:var(--ui-action-hover);transform:translateY(-1px)}.tab-session-card small{color:var(--ui-text-muted)}.game-loading-overlay{color:var(--ui-text);background:#000}.game-loading-track{background:var(--ui-surface-raised);box-shadow:none;border:0;border-radius:0}.game-loading-track i{background:var(--ui-secondary)}.game-loading-overlay small{color:var(--ui-text-muted)}.connection-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:#080606c9}.connection-card{border-color:var(--ui-border);background:var(--ui-surface);border-radius:4px;box-shadow:0 18px 55px #000d}.connection-card strong{color:var(--ui-text);font-family:inherit}.connection-card p{color:var(--ui-text-muted)}.death-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.game-panel-header h2{align-items:center;gap:0;display:inline-flex}.inventory-heading h3{align-items:center;display:inline-flex}.legal-footer{opacity:.72;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:18px;font-size:12px;display:flex}.legal-footer a{color:inherit;text-decoration:none}.legal-footer a:hover{text-decoration:underline}.age-notice{color:color-mix(in srgb, var(--ui-text) 66%, transparent);margin:12px 0 0;font-size:12px;line-height:1.55}.policy-shell{background:var(--ui-background);min-height:100vh;color:var(--ui-text);padding:36px 18px}.policy-card{border:1px solid var(--ui-border);background:color-mix(in srgb, var(--ui-surface) 94%, transparent);border-radius:18px;max-width:760px;margin:0 auto;padding:32px;line-height:1.7;box-shadow:0 24px 80px #00000059}.policy-card h1{color:var(--ui-primary);margin:0 0 8px;font-family:inherit}.policy-card h2{color:var(--ui-primary);margin:26px 0 6px;font-size:18px}.policy-card p{color:var(--ui-text);margin:8px 0}.policy-card ul{color:var(--ui-text);margin:8px 0;padding-left:22px}.policy-card a{color:var(--ui-primary)}.policy-back{color:var(--ui-primary);margin-top:24px;display:inline-block}.da-btn{font:inherit;cursor:pointer;border:1px solid;border-radius:3px;justify-content:center;align-items:center;padding:10px 20px;font-size:14px;font-weight:700;transition:opacity .15s;display:inline-flex}.da-btn:disabled{opacity:.45;cursor:not-allowed}.da-btn-danger{color:#ff9090;background:#3d1212;border-color:#8b2323}.da-btn-danger:not(:disabled):hover{background:#521717}.da-btn-secondary{background:var(--ui-surface-raised);border-color:var(--ui-border-soft);color:var(--ui-text);text-decoration:none}.da-btn-secondary:not(:disabled):hover{background:var(--ui-accent-surface-hover)}.da-modal-overlay{z-index:9000;background:#000000b8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.da-modal{background:#1a0f0f;border:1px solid #e550504d;border-radius:12px;width:min(480px,100%);padding:28px;box-shadow:0 24px 80px #0009}.da-modal h2{color:#ff9090;margin:0 0 12px;font-size:18px}.da-modal p{color:var(--ui-text);margin:8px 0;font-size:14px;line-height:1.6}.da-modal ul{margin:8px 0;padding-left:20px}.da-modal-label{color:var(--ui-text-muted);margin-top:16px;margin-bottom:6px;font-size:12px;display:block}.da-modal-input{border:1px solid var(--ui-border-soft);background:var(--ui-surface-deep);width:100%;color:var(--ui-text);font:inherit;border-radius:3px;outline:none;padding:9px 12px;font-size:14px}.da-modal-input:focus{border-color:#8b4f4f}.da-modal-actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.da-error{color:#ff9090;margin-top:10px;font-size:13px}.da-done{background:#14281480;border:1px solid #64c86440;border-radius:8px;margin-top:24px;padding:20px}.da-done-title{color:#90c090;margin:0 0 8px;font-size:18px;font-weight:700}.system-panel{width:min(390px,100% - 28px)}.system-menu-list,.system-settings,.system-info,.system-account,.system-licenses{gap:8px;margin-top:16px;display:grid}.system-operations{gap:10px;margin-top:16px;display:grid}.system-operations-menu{gap:8px;display:grid}.system-achievement-management,.system-achievement-form{gap:10px;min-width:0;display:grid}.system-achievement-form select{border:1px solid var(--ui-border-soft);background:var(--ui-surface-deep);width:100%;min-width:0;color:var(--ui-text);font:inherit;padding:8px 10px;font-size:11px}.system-operations[data-operation-view=achievements]>:is(section,form):not(.system-achievement-management){display:none}.system-operations-back{color:var(--ui-secondary);font:inherit;background:0 0;border:0;justify-self:start;padding:0;font-size:11px}.system-operations-back:hover,.system-operations-back:focus-visible{color:var(--ui-primary-bright);outline:none}.system-operations[data-operation-view=menu]>section,.system-operations[data-operation-view=menu]>form,.system-operations[data-operation-view=onlineUsers] .system-active-players,.system-operations[data-operation-view=onlineUsers] .system-immediate-announcement,.system-operations[data-operation-view=onlineUsers] .system-system-messages-form,.system-operations[data-operation-view=onlineUsers] .system-loadtest-cleanup,.system-operations[data-operation-view=allUsers] .system-active-players,.system-operations[data-operation-view=allUsers] .system-immediate-announcement,.system-operations[data-operation-view=allUsers] .system-system-messages-form,.system-operations[data-operation-view=allUsers] .system-loadtest-cleanup,.system-operations[data-operation-view=zones] .system-user-management,.system-operations[data-operation-view=zones] .system-loadtest-cleanup,.system-operations[data-operation-view=zones] .system-immediate-announcement,.system-operations[data-operation-view=zones] .system-system-messages-form,.system-operations[data-operation-view=announcement] .system-user-management,.system-operations[data-operation-view=announcement] .system-loadtest-cleanup,.system-operations[data-operation-view=announcement] .system-active-players,.system-operations[data-operation-view=announcement] .system-system-messages-form,.system-operations[data-operation-view=systemMessages] .system-user-management,.system-operations[data-operation-view=systemMessages] .system-loadtest-cleanup,.system-operations[data-operation-view=systemMessages] .system-active-players,.system-operations[data-operation-view=systemMessages] .system-immediate-announcement,.system-operations[data-operation-view=bans] .system-user-management,.system-operations[data-operation-view=bans] .system-active-players,.system-operations[data-operation-view=bans] .system-immediate-announcement,.system-operations[data-operation-view=bans] .system-loadtest-cleanup,.system-operations[data-operation-view=bans] .system-system-messages-form{display:none}.system-operations>form{gap:10px;display:grid}.system-operations>form+form{border-top:1px solid var(--ui-border-soft);margin-top:6px;padding-top:16px}.system-active-players,.system-user-management,.system-immediate-announcement,.system-ban-management{border-bottom:1px solid var(--ui-border-soft);gap:10px;padding-bottom:6px;display:grid}.system-admin-ban-list{gap:6px;max-height:420px;display:grid;overflow-y:auto}.system-admin-ban{border:1px solid var(--ui-border-soft);background:var(--ui-surface);border-radius:3px;gap:5px;padding:9px 10px;display:grid}.system-admin-ban>small{color:var(--ui-text-muted);overflow-wrap:anywhere;font-size:10px}.system-user-search{align-items:end;gap:6px;display:flex}.system-user-search .system-moderation-reason{flex:auto;min-width:0}.system-user-search>button{border:1px solid var(--ui-border);background:var(--ui-surface-raised);min-height:32px;color:var(--ui-primary);font:inherit;border-radius:3px;padding:0 10px;font-size:10px}.system-user-search>button:disabled{cursor:wait;opacity:.55}.system-moderation-reason{gap:4px;display:grid}.system-moderation-reason>span,.system-immediate-announcement label>span{color:var(--ui-text-muted);font-size:10px}.system-moderation-reason input,.system-immediate-announcement textarea{border:1px solid var(--ui-border-soft);background:var(--ui-surface-deep);width:100%;color:var(--ui-text);font:inherit;border-radius:3px;padding:8px 10px;font-size:11px}.system-admin-character-list{gap:6px;max-height:360px;display:grid;overflow-y:auto}.system-admin-character{border:1px solid var(--ui-border-soft);background:var(--ui-surface);border-radius:3px;gap:5px;padding:9px 10px;display:grid}.system-admin-character-heading{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.system-admin-character-heading strong{color:var(--ui-text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.system-admin-character-heading span,.system-admin-character>small{color:var(--ui-text-muted);font-size:10px}.system-admin-character-heading span.is-online{color:#9dc49b}.system-admin-character .system-suspended-label{color:#d7a18c}.system-admin-character-actions{flex-wrap:wrap;gap:4px;display:flex}.system-admin-character-actions button{border:1px solid var(--ui-border);background:var(--ui-surface-raised);min-height:26px;color:var(--ui-primary);font:inherit;border-radius:3px;padding:0 7px;font-size:9px}.system-admin-character-actions button.is-danger{color:#d7a18c;border-color:#684039}.system-admin-character-rename{flex-wrap:wrap;flex:100%;gap:4px;display:flex}.system-admin-character-rename input{border:1px solid var(--ui-border-soft);background:var(--ui-surface-deep);min-width:0;min-height:26px;color:var(--ui-text);font:inherit;border-radius:3px;flex:120px;padding:0 7px;font-size:10px}.system-admin-character-rename button{border:1px solid var(--ui-border);background:var(--ui-surface-raised);min-height:26px;color:var(--ui-primary);font:inherit;border-radius:3px;padding:0 7px;font-size:9px}.system-admin-character-note{color:var(--ui-text-muted);font-size:9px}.system-admin-pagination{color:var(--ui-text-muted);justify-content:center;align-items:center;gap:10px;font-size:10px;display:flex}.system-admin-pagination button{border:1px solid var(--ui-border);background:var(--ui-surface-raised);min-height:26px;color:var(--ui-primary);font:inherit;border-radius:3px;padding:0 8px;font-size:9px}.system-admin-pagination button:disabled{cursor:not-allowed;opacity:.45}.system-immediate-announcement label{gap:4px;display:grid}.system-immediate-announcement textarea{resize:vertical;min-height:54px}.system-operations-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.system-refresh-button{border:1px solid var(--ui-border);background:var(--ui-surface-raised);min-height:32px;color:var(--ui-primary);font:inherit;border-radius:3px;flex:none;padding:0 10px;font-size:10px}.system-refresh-button:disabled{cursor:wait;opacity:.55}.system-active-player-list{gap:5px;max-height:180px;display:grid;overflow-y:auto}.system-active-player{border:1px solid var(--ui-border-soft);background:var(--ui-surface);border-radius:3px;justify-content:space-between;align-items:baseline;gap:8px;padding:8px 10px;display:flex}.system-active-player strong{color:var(--ui-text);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.system-active-player small{color:var(--ui-text-muted);flex:none;font-size:9px}.system-active-player>span:first-child{gap:3px;min-width:0;display:grid}.system-zone-population-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:150px;display:grid;overflow-y:auto}.system-zone-population-grid span{border:1px solid var(--ui-border-soft);background:var(--ui-surface);border-radius:3px;gap:3px;min-width:0;padding:7px 8px;display:grid}.system-zone-population-grid small{color:var(--ui-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.system-zone-population-grid strong{color:var(--ui-primary);font-size:11px}.system-zone-move-controls{flex:none;align-items:center;gap:5px;display:flex}.system-zone-move-controls select{border:1px solid var(--ui-border-soft);background:var(--ui-surface-deep);max-width:116px;min-height:30px;color:var(--ui-text);font:inherit;border-radius:3px;padding:0 5px;font-size:9px}.system-zone-current-move{justify-content:space-between;align-items:center;gap:10px;padding-top:4px;display:flex}.system-zone-move-button{border:1px solid var(--ui-accent-border);background:var(--ui-accent-surface);min-height:30px;color:var(--ui-primary-bright);font:inherit;border-radius:3px;padding:0 8px;font-size:10px}.system-zone-move-button:disabled{cursor:wait;opacity:.5}.system-announcement-memory{border-bottom:1px solid var(--ui-border-soft);gap:10px;padding:10px 0 6px;display:grid}.system-announcement-status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.system-announcement-status-grid span{border:1px solid var(--ui-border-soft);background:var(--ui-surface);border-radius:3px;gap:3px;min-width:0;padding:8px;display:grid}.system-announcement-status-grid small{color:var(--ui-text-muted);font-size:9px}.system-announcement-status-grid strong{color:var(--ui-primary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.system-announcement-memory-list,.system-announcement-editor-list{gap:7px;display:grid}.system-announcement-memory-list{max-height:180px;overflow-y:auto}.system-announcement-memory-item{border:1px solid var(--ui-border-soft);background:var(--ui-surface);border-radius:3px;align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.system-announcement-memory-item>b{color:var(--ui-secondary);flex:none;font-size:10px}.system-announcement-memory-item>span{gap:3px;min-width:0;display:grid}.system-announcement-memory-item strong,.system-announcement-memory-item small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.system-announcement-memory-item strong{color:var(--ui-text);font-size:11px}.system-announcement-memory-item small{color:var(--ui-text-muted);font-size:10px}.system-remove-pool-button{color:#d7a18c;min-height:30px;font:inherit;background:#201514;border:1px solid #684039;border-radius:3px;justify-self:start;padding:0 10px;font-size:10px}.system-remove-pool-button:hover,.system-remove-pool-button:focus-visible{background:#2c1b19;border-color:#a8614e;outline:none}.system-remove-pool-button:disabled{cursor:wait;opacity:.55}.system-announcement-form-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.system-announcement-add-button,.system-announcement-remove-button{border:1px solid var(--ui-border);background:var(--ui-surface-raised);color:var(--ui-primary);font:inherit;border-radius:3px;flex:none}.system-announcement-add-button{width:34px;height:34px;font-size:20px;line-height:1}.system-announcement-add-button:hover,.system-announcement-add-button:focus-visible,.system-announcement-remove-button:hover,.system-announcement-remove-button:focus-visible{border-color:var(--ui-accent-border);background:var(--ui-accent-surface-hover);outline:none}.system-announcement-editor{border:1px solid var(--ui-border-soft);background:var(--ui-surface-raised);border-radius:3px;gap:8px;padding:10px;display:grid}.system-announcement-editor-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.system-announcement-editor-heading strong{color:var(--ui-primary);font-size:11px}.system-announcement-remove-button{color:#d7a18c;width:26px;height:26px;font-size:18px;line-height:1}.system-announcement-editor label{gap:4px;display:grid}.system-announcement-editor label>span{color:var(--ui-text-muted);font-size:10px}.system-announcement-editor textarea{min-height:54px}.system-announcement-editor-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.system-announcement-editor-settings label{justify-content:space-between;align-items:center;gap:6px;min-width:0;display:flex}.system-operations textarea{resize:vertical;border:1px solid var(--ui-border-soft);background:var(--ui-surface-deep);width:100%;color:var(--ui-text);font:inherit;border-radius:3px;padding:10px 12px;font-size:12px;line-height:1.5}.system-announcement-repeat-input{color:var(--ui-text-muted);white-space:nowrap;align-items:center;gap:5px;font-size:11px;display:flex}.system-announcement-repeat-input input{border:1px solid var(--ui-border-soft);background:var(--ui-surface-deep);width:58px;color:var(--ui-text);font:inherit;text-align:right;border-radius:3px;padding:8px 6px}.system-announcement-repeat-input input:focus{border-color:var(--ui-accent-border);outline:none}.system-operations-footer{color:var(--ui-text-muted);justify-content:space-between;align-items:center;gap:10px;font-size:10px;display:flex}.system-operations-footer button{border:1px solid var(--ui-accent-border);background:var(--ui-accent-surface);min-height:38px;color:var(--ui-primary-bright);font:inherit;border-radius:3px;padding:0 14px;font-size:11px}.system-operations-footer button:disabled{cursor:wait;opacity:.55}.system-operation-result{margin:0;font-size:11px}.system-operation-result.is-success{color:#9dc49b}.system-operation-result.is-error{color:#d7a18c}.system-menu-item{border:1px solid var(--ui-border-soft);background:var(--ui-surface-raised);width:100%;min-height:58px;color:var(--ui-text);text-align:left;border-radius:3px;align-items:center;gap:11px;padding:10px 12px;text-decoration:none;display:flex}.system-menu-item:hover,.system-menu-item:focus-visible{border-color:var(--ui-accent-border);background:var(--ui-accent-surface-hover);outline:none}.system-menu-item:disabled{cursor:wait;opacity:.6}.system-menu-item.is-danger{color:#d7a18c;border-color:#684039}.system-menu-item.is-danger:hover,.system-menu-item.is-danger:focus-visible{background:#2c1b19;border-color:#a8614e}.system-menu-copy{flex:1;gap:3px;min-width:0;display:grid}.system-menu-copy strong{color:var(--ui-primary);font-size:12px}.system-menu-copy small{color:var(--ui-text-muted);font-size:10px;line-height:1.35}.system-menu-item.is-danger .system-menu-copy strong{color:#d7a18c}.system-menu-arrow{color:var(--ui-secondary);font-size:17px}.system-setting-row{border:1px solid var(--ui-border-soft);background:var(--ui-surface-raised);cursor:pointer;border-radius:3px;align-items:center;gap:12px;min-height:58px;padding:10px 12px;display:flex}.system-setting-row:hover{border-color:var(--ui-accent-border);background:var(--ui-accent-surface-hover)}.system-setting-row input{width:20px;height:20px;accent-color:var(--ui-secondary);flex:none}.system-volume-row input[type=range]{flex:auto;width:auto;min-width:72px;height:4px}.system-volume-row output{color:var(--ui-primary);text-align:right;flex:0 0 34px;font-size:10px}.system-info-row{border:1px solid var(--ui-border-soft);background:var(--ui-surface-raised);border-radius:3px;align-items:center;gap:12px;min-height:58px;padding:10px 12px;display:flex}.system-info-row .latency-panel{margin-left:auto}.system-info-row .system-menu-copy small{overflow-wrap:anywhere}.system-client-diagnostics{gap:8px;margin-top:8px;display:grid}.system-client-diagnostics .system-info-row{min-width:0}.client-diagnostics-value{max-width:58%;color:var(--ui-primary-muted);font-variant-numeric:tabular-nums;text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.system-settings-note{color:var(--ui-text-muted);margin:4px 0 0;font-size:10px}.system-license-entry{border-bottom:1px solid var(--ui-border-soft);gap:5px;padding:4px 2px 10px;display:grid}.system-license-entry:last-child{border-bottom:0}.system-license-entry strong{color:var(--ui-primary);font-size:12px}.system-license-entry small,.system-license-entry span{color:var(--ui-text-muted);font-size:10px;line-height:1.45}.system-license-entry a{color:var(--ui-secondary)}.combat-alert{z-index:9;top:calc(env(safe-area-inset-top,0px) + 88px);text-align:center;pointer-events:none;width:min(620px,100% - 32px);position:absolute;left:50%;transform:translate(-50%)}.combat-alert strong{color:var(--ui-text);text-shadow:-1px -1px #000,0 -1px #000,1px -1px #000,-1px 0 #000,1px 0 #000,-1px 1px #000,0 1px #000,1px 1px #000;font-size:clamp(15px,3vw,22px);line-height:1.4;animation:4.6s ease-out forwards combat-alert-arrive;display:inline-block}@keyframes combat-alert-arrive{0%{opacity:0;transform:scale(.9)}6%{opacity:1;transform:scale(1.16)}14%,85%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.combat-alert strong{animation:none}}.system-announcement{z-index:9;border:1px solid var(--ui-accent-border);background:color-mix(in srgb, var(--ui-surface) 95%, transparent);text-align:left;pointer-events:none;border-radius:3px;width:min(520px,100% - 28px);padding:12px 16px;display:block;position:absolute;top:16px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 10px 30px #0009}.system-announcement strong{width:max-content;color:var(--ui-primary-bright);padding-left:100%;font-size:13px;line-height:1.45;animation:14s linear forwards system-announcement-roll;display:block}@keyframes system-announcement-roll{0%{transform:translate(0)}to{transform:translate(-100%)}}.quest-progress-notices{z-index:8;top:max(80px, calc(env(safe-area-inset-top) + 72px));pointer-events:none;gap:4px;width:max-content;max-width:calc(100% - 28px);display:grid;position:absolute;left:50%;transform:translate(-50%)}.quest-progress-notice{min-width:0;color:var(--quest-progress-text);text-shadow:1px 0 #000,-1px 0 #000,0 1px #000,0 -1px #000;justify-content:center;align-items:center;gap:8px;font-size:15px;font-weight:600;line-height:1.45;display:flex}.quest-progress-notice>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.quest-progress-notice>strong{font-weight:inherit;font-variant-numeric:tabular-nums;flex-shrink:0}.chat-section{pointer-events:auto;min-width:0;display:flex}.chat-section-toggle{background:var(--ui-action);min-height:44px;color:var(--ui-on-accent);font:inherit;cursor:pointer;pointer-events:auto;touch-action:manipulation;border:0;border-radius:2px 0 0 2px;flex:0 0 18px;justify-content:center;align-items:center;padding:0;display:flex}.chat-section-toggle:hover{background:var(--ui-action-hover)}.chat-section-toggle:focus-visible{outline:1px solid var(--ui-text);outline-offset:1px}.chat-section-toggle.has-new{background:var(--ui-secondary)}.chat-section-chevron{font-size:16px;line-height:1}.chat-news-ticker{clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,0 100%);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;box-sizing:border-box;background:#0e101447;border:1px solid #ffffff0d;border-radius:0 2px 2px 0;flex-direction:column;flex:1;gap:3px;min-width:0;min-height:0;padding:5px 8px;display:flex}.chat-news-item{word-break:break-word;color:#f0e6d2;text-shadow:-1px 0 #000,1px 0 #000,0 -1px #000,0 1px #000;pointer-events:none;flex:none;font-size:12px;line-height:17px;animation:.2s ease-out chat-news-fadein}@keyframes chat-news-fadein{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.chat-feed{--chat-line-height:19px;pointer-events:none;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,0 100%);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-sizing:border-box;background:#0a0c0f61;border:1px solid #ffffff0d;border-radius:0 2px 2px 0;flex:1;min-width:0;padding:5px 8px}.chat-stack:hover .chat-feed,.chat-input-wrap:focus-within~.chat-feed,.chat-feed:hover{pointer-events:auto}.chat-feed-list{max-height:calc(6 * var(--chat-line-height));box-shadow:none;pointer-events:auto;scrollbar-width:thin;scrollbar-color:var(--ui-border) transparent;background:0 0;border:none;flex-direction:column;gap:2px;padding:0;display:flex;overflow:hidden auto}.chat-feed-list::-webkit-scrollbar{width:4px}.chat-feed-list::-webkit-scrollbar-thumb{background:var(--ui-border);border-radius:2px}.chat-feed-item{font-size:13px;line-height:var(--chat-line-height);word-break:break-word;color:#f0e6d2;text-shadow:-1px 0 #000,1px 0 #000,0 -1px #000,0 1px #000;pointer-events:none;flex:none}.chat-feed-item.is-chat .chat-msg-text,.chat-feed-item.is-announcement .chat-msg-text{pointer-events:auto}.chat-msg-translated{color:var(--ui-text-muted);font:inherit;font-size:10px;line-height:inherit;text-shadow:inherit;white-space:nowrap;cursor:pointer;pointer-events:auto;background:0 0;border:0;margin-left:6px;padding:0}.chat-msg-translated:focus-visible{outline:1px solid var(--ui-secondary);outline-offset:2px}.chat-original-tooltip.inventory-tooltip-overlay{background:var(--ui-surface);border-color:var(--ui-border);min-width:0;max-width:min(320px,100vw - 24px);box-shadow:none;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.5}.chat-link{color:var(--ui-secondary);overflow-wrap:anywhere;pointer-events:auto;text-decoration:underline}.chat-link:hover,.chat-link:focus-visible{color:var(--ui-primary-bright)}.chat-msg-sender{color:#94d882;text-shadow:-1px 0 #000,1px 0 #000,0 -1px #000,0 1px #000,1px 1px #000;font-weight:700}.chat-msg-sender.is-self{color:#4ade80}.chat-msg-self{color:#f2c779;text-shadow:-1px 0 #000,1px 0 #000,0 -1px #000,0 1px #000,1px 1px #000;font-size:10px;font-weight:800}.chat-msg-time{color:#cbd5e1;font-variant-numeric:tabular-nums;text-shadow:-1px 0 #000,1px 0 #000,0 -1px #000,0 1px #000;font-weight:600}.chat-msg-channel{font-size:inherit;text-shadow:-1px 0 #000,1px 0 #000,0 -1px #000,0 1px #000;font-weight:800}.chat-msg-channel.is-global{color:#fbbf24}.chat-msg-channel.is-zone{color:#94a3b8}.chat-msg-badge{text-shadow:-1px 0 #000,1px 0 #000,0 -1px #000,0 1px #000,1px 1px #000;margin-right:2px;font-weight:700}.chat-msg-badge.is-announcement{color:#fbbf24}.chat-msg-badge.is-rare_loot{color:#38bdf8}.chat-msg-badge.is-loot{color:#86efac}.chat-msg-badge.is-level_up{color:#93c5fd}.chat-msg-badge.is-system{color:var(--ui-text)}.chat-item-link{pointer-events:auto;touch-action:manipulation;font:inherit;text-align:inherit;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;padding:0;display:inline}.chat-item-link:hover,.chat-item-link:focus-visible{text-decoration:underline}.chat-item-link:disabled{cursor:default;opacity:.55}.chat-item-tag{text-shadow:-1px 0 #000,1px 0 #000,0 -1px #000,0 1px #000,1px 1px #000;font-weight:700}.chat-item-tag.rarity-rare{color:var(--rarity-rare-text);text-shadow:-1px 0 #000,1px 0 #000,0 -1px #000,0 1px #000,1px 1px #000}.chat-item-tag.rarity-epic{color:var(--rarity-epic-text);text-shadow:-1px 0 #000,1px 0 #000,0 -1px #000,0 1px #000,0 0 6px #e5383b88}.chat-item-tag.rarity-unique{color:var(--rarity-unique-text);text-shadow:-1px 0 #000,1px 0 #000,0 -1px #000,0 1px #000,1px 1px #000}.chat-item-tag.rarity-magic{color:var(--rarity-magic-text);text-shadow:-1px 0 #000,1px 0 #000,0 -1px #000,0 1px #000,1px 1px #000}.chat-item-tag.rarity-normal{color:var(--rarity-normal-text);text-shadow:-1px 0 #000,1px 0 #000,0 -1px #000,0 1px #000,1px 1px #000}.chat-feed-item.is-announcement .chat-msg-text{color:#fef08a;font-weight:600}.chat-feed-item.is-rare_loot .chat-msg-text,.chat-feed-item.is-loot .chat-msg-text{color:#fff}.chat-feed-item.is-level_up .chat-msg-text{color:#dbeafe;font-weight:600}.chat-feed-item.is-system .chat-msg-text{color:#e5dfd5}.quick-menu-art{background:currentColor;flex:0 0 17px;width:17px;height:17px;margin:0;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.quick-menu-art-character{background:currentColor;flex:0 0 17px;width:17px;height:17px;transform:scale(1.04);-webkit-mask-image:url(/assets/modak/menu-icons/character.webp);mask-image:url(/assets/modak/menu-icons/character.webp)}.quick-menu-art-character:before,.quick-menu-art-character:after{display:none}.quick-menu-art-inventory{-webkit-mask-image:url(/assets/modak/menu-icons/equipment.webp);mask-image:url(/assets/modak/menu-icons/equipment.webp)}.quick-menu-art-quest{-webkit-mask-image:url(/assets/modak/menu-icons/quest.webp);mask-image:url(/assets/modak/menu-icons/quest.webp)}.quick-menu-art-ranking{transform:scale(1.05);-webkit-mask-image:url(/assets/modak/menu-icons/ranking.webp);mask-image:url(/assets/modak/menu-icons/ranking.webp)}.quick-menu-art-collection{-webkit-mask-image:url(/assets/modak/menu-icons/collection.webp);mask-image:url(/assets/modak/menu-icons/collection.webp)}.quick-menu-art-map{background:0 0}.quick-menu-art-system{transform:scale(1.1);-webkit-mask-image:url(/assets/modak/menu-icons/system.webp?v=gear);mask-image:url(/assets/modak/menu-icons/system.webp?v=gear)}.quick-menu-item{position:relative}.quick-menu-notice{border:2px solid var(--ui-surface);background:#e65a4f;border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:6px}.character-sprite-frame{background:0 0;border:0;place-items:center;min-height:190px;display:grid;position:relative;overflow:hidden}@keyframes character-sheet-loop{0%,8%{background-position:20% 0}16%{background-position:40% 0}24%{background-position:60% 0}32%,40%{background-position:40% 0}48%{background-position:20% 0}56%{background-position:40% 0}64%{background-position:60% 0}72%{background-position:80% 0}78%{background-position:100% 0}84%{background-position:0 12.5%}90%{background-position:20% 12.5%}94%,to{background-position:0 0}}@keyframes character-sheet-bob{0%,to{transform:translateY(1px)scale(1)}50%{transform:translateY(-2px)scale(1.015)}}.character-sprite{z-index:1;background-repeat:no-repeat;width:160px;height:160px;animation:2.4s step-end infinite character-sheet-loop,1.2s ease-in-out infinite character-sheet-bob;display:block;position:relative}.character-stat-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;display:grid}.character-stat-item{cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid #2e2722;border-radius:2px;justify-content:space-between;align-items:baseline;gap:6px;min-height:27px;padding:4px 6px;transition:background .12s;display:flex}.character-stat-item:hover,.character-stat-item.is-active{background:color-mix(in srgb, var(--ui-text) 6%, transparent)}.character-stat-item .stat-item-label{color:var(--ui-text-muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;overflow:hidden}.character-stat-item .stat-item-value{color:var(--ui-text);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;flex-shrink:0;font-size:11px}.character-stat-item .stat-item-value small{color:var(--ui-text-muted);margin-left:2px;font-size:10px;font-weight:400}.character-stat-tooltip{z-index:100;border:1px solid var(--ui-accent-border);background:var(--ui-surface);width:max-content;max-width:min(220px,100vw - 24px);color:var(--ui-text);text-align:left;pointer-events:none;border-radius:3px;padding:8px 10px;animation:.12s ease-out stat-tooltip-fade;position:fixed;box-shadow:0 8px 22px #000c}.character-stat-tooltip strong{color:var(--ui-primary);margin-bottom:3px;font-size:11px;display:block}.character-stat-tooltip p{color:#d3e0d3;white-space:pre-line;margin:0;font-size:10px;line-height:1.4}.character-stat-breakdown{border-top:1px solid #ffffff14;gap:2px;margin:6px 0;padding-top:5px;display:grid}.character-stat-breakdown-row{color:var(--ui-text-muted);justify-content:space-between;gap:14px;font-size:10px;line-height:1.35;display:flex}.character-stat-breakdown-row b{color:var(--ui-text);font-variant-numeric:tabular-nums}.character-stat-breakdown-row.is-equipment b{color:#9edb9b}.character-stat-breakdown-row.is-proficiency b{color:#8fc8ff}.character-stat-breakdown-row.is-effects b{color:#c6a6e8}.character-stat-breakdown-row.is-total{color:var(--ui-primary);border-top:1px solid #ffffff1c;margin-top:3px;padding-top:4px}.character-stat-breakdown-row.is-total b{color:var(--ui-primary)}.character-stat-breakdown small{color:var(--ui-text-muted);font-size:9px}@keyframes stat-tooltip-fade{0%{opacity:0}to{opacity:1}}.character-skill-list{display:grid}.character-skill{border:0;border-bottom:1px solid var(--ui-border-soft);background:0 0;align-items:center;gap:9px;min-width:0;padding:10px 0;display:flex}.character-skill.evolution-tier-2{background:#182b3b;border-color:#4f91b8}.character-skill.evolution-tier-3{background:#3a2915;border-color:#bd9140}.character-skill.evolution-tier-4{background:#3b1e1b;border-color:#b96b58}.character-skill .skill-icon{width:46px;height:46px;box-shadow:none;background-color:#0000;border:0}.character-skill>div{gap:4px;min-width:0;display:grid}.character-skill strong{color:var(--ui-text);flex-wrap:wrap;align-items:baseline;gap:6px;font-size:13px;display:flex}.character-skill strong em{color:#f3d89a;flex:none;font-size:11px;font-style:normal}.character-skill span{color:var(--ui-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.character-skill .character-skill-description{color:#d3e0d3;white-space:pre-line;text-overflow:clip;font-size:12px;line-height:1.45;overflow:visible}.skill-tooltip .skill-description-value,.character-skill .skill-description-value{color:var(--ui-primary);font-weight:700}.character-skill .character-skill-requirement{color:var(--ui-text-muted);font-size:11px}.character-empty-state{color:var(--ui-text-muted);margin:10px 0 4px;font-size:10px}.is-keyboard-open .bottom-hud-action-stack,.is-keyboard-open .quick-menu{display:none!important}.is-keyboard-open .chat-stack{bottom:calc(var(--keyboard-height,0px) / var(--hud-scale) + 4px);width:min(420px,100%)}@media (max-width:960px) and (orientation:landscape){.chat-stack{width:min(320px, calc(100% - var(--skill-size) * 2 - 16px))}.chat-feed-list{max-height:calc(3 * var(--chat-line-height))}.is-keyboard-open .chat-stack{width:min(320px,100%)}}.top-combat-hud,.quick-menu,.bottom-hud{zoom:var(--hud-scale)}@media (max-width:600px),(max-width:960px) and (pointer:coarse){.top-combat-hud{--mobile-player-share:3fr;--mobile-target-share:2fr;--mobile-hud-gap:3px;--mobile-hud-row:24px;--mobile-hud-height:60px;--mobile-hp-height:22px;--combat-panel-slant:clamp(32px, 8vw, 44px);zoom:1;grid-template-columns:minmax(0, var(--mobile-player-share)) minmax(0, var(--mobile-target-share));gap:var(--mobile-hud-gap)}.top-combat-hud .target-hud-right{margin-left:calc(-1 * var(--combat-panel-slant));width:calc(100% + var(--combat-panel-slant))}.top-combat-hud :is(.player-panel,.target-panel){height:calc(var(--mobile-hud-height) + env(safe-area-inset-top));padding:calc(4px + env(safe-area-inset-top)) 6px 4px;--corner-depth:auto}.top-combat-hud .player-panel{padding-left:max(6px, env(safe-area-inset-left));padding-right:calc(var(--combat-panel-slant) + 6px);--mobile-hp-height:18px;--mobile-hp-fill:var(--player-hp-fill);--mobile-hp-track:var(--player-hp-track)}.top-combat-hud .target-panel{padding-left:calc(var(--combat-panel-slant) + 6px);padding-right:max(6px, env(safe-area-inset-right));--mobile-hp-fill:var(--target-hp-fill);--mobile-hp-track:var(--target-hp-track)}.top-combat-hud :is(.player-panel-top,.target-panel-top){height:var(--mobile-hud-row);align-items:center;gap:3px}.top-combat-hud .player-heading{align-items:center;gap:4px}.top-combat-hud .player-heading strong{font-size:15px;line-height:1.2}.top-combat-hud .player-heading-meta{flex:0 auto;max-width:62%}.top-combat-hud .player-heading small{font-size:11px;line-height:1.2}.top-combat-hud .target-panel-top small{font-size:10px}.top-combat-hud .target-panel-top strong{font-size:12px;line-height:1.2}.top-combat-hud .target-clear{background:0 0;border:0;flex-basis:28px;min-height:24px;font-size:18px}.top-combat-hud :is(.hp-bar-row,.target-hp-row){margin-top:2px}.top-combat-hud :is(.player-status-bars .hp-bar,.target-hp-bar){height:var(--mobile-hp-height);background:var(--mobile-hp-track);box-shadow:none}.top-combat-hud :is(.player-status-bars .hp-bar,.target-hp-bar) i{box-shadow:none;transition:width .25s}.top-combat-hud :is(.player-status-bars .hp-bar,.target-hp-bar) i:not(.hp-temporary){background:var(--mobile-hp-fill)}.top-combat-hud :is(.player-status-bars .hp-bar,.target-hp-bar) b{font-variant-numeric:tabular-nums;color:var(--ui-text);text-shadow:0 1px 1px #000;white-space:nowrap;padding:0 5px;font-size:clamp(10px,2.8vw,12px);font-weight:700;inset:1px}.top-combat-hud .player-status-bars .xp-bar-wrap{gap:4px;margin-top:2px}.top-combat-hud .player-status-bars .xp-bar{border-radius:0;height:3px}.top-combat-hud .player-status-bars .xp-value{font-size:10px;line-height:1}}@media (min-width:1920px) and (min-height:1080px){:root{--ui-scale:clamp(1, calc(var(--game-height,100vh) / 1200px), 1.25)}.game-sheet,.shop-panel,.death-panel{zoom:var(--ui-scale)}}.game-sheet.inventory-panel{overflow:hidden}.game-panel-header,.game-panel-controls{flex:none}.game-panel-header-actions{flex:none;align-items:center;gap:2px!important;display:flex!important}.world-map-zoom-controls{align-items:center;gap:2px;display:flex}.world-map-zoom-controls button{border:1px solid var(--ui-border);background:var(--ui-surface);min-width:36px;height:36px;color:var(--ui-text);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;border-radius:2px;padding:0 8px;font-size:16px}.world-map-zoom-controls button:hover:not(:disabled),.world-map-zoom-controls button:focus-visible{border-color:var(--ui-secondary);background:var(--ui-accent-surface-hover);outline:none}.world-map-zoom-controls button:disabled{opacity:.45;cursor:default}.world-map-zoom-controls .world-map-zoom-level{min-width:54px;color:var(--ui-primary);font-size:11px}.game-panel-container{flex:auto;min-height:0}.game-panel-container.is-scrollable{scrollbar-color:var(--ui-border) var(--ui-surface-deep);overflow-y:auto}.world-map-panel.game-sheet{z-index:30;zoom:1;box-sizing:border-box;width:auto;height:auto;max-height:none;padding:max(8px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));background:var(--ui-surface-deep);clip-path:none;border:0;position:absolute;inset:0;transform:none}.world-map-panel.game-sheet:after{display:none}.world-map-viewport.game-panel-container{overscroll-behavior:contain;touch-action:pan-x pan-y;scrollbar-color:var(--ui-border) var(--ui-surface-deep);cursor:grab;-webkit-user-select:none;user-select:none;background:url(/assets/modak/world-map/fog.webp) 50%/768px 768px;flex:auto;display:flex;overflow:auto}.world-map-viewport.is-dragging,.world-map-viewport.is-dragging *{cursor:grabbing}.world-map-canvas{flex:none;margin:auto;position:relative}.world-map-layer{transform-origin:0 0;flex:none;position:relative}.world-map-region{width:240px;height:150px;color:var(--ui-text);font:inherit;text-align:center;cursor:pointer;pointer-events:none;background:0 0;border:0;padding:0;position:absolute;overflow:visible}.world-map-hit-area{pointer-events:auto;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);position:absolute;inset:0}.world-map-region img{object-fit:contain;pointer-events:none;width:240px;height:150px;transition:filter .18s;display:block}.world-map-region:hover img,.world-map-region:focus-visible img{filter:brightness(1.12)}.world-map-region.is-selected img{filter:brightness(1.14)}.world-map-label{z-index:3;width:max-content;max-width:200px;color:var(--ui-primary);text-shadow:0 1px 2px var(--ui-surface-deep), 0 0 3px var(--ui-surface-deep);pointer-events:auto;position:absolute;top:32px;left:50%;transform:translate(-50%,-50%)}.world-map-region strong{letter-spacing:.035em;font-size:14px;font-weight:650;line-height:1.3;display:block}.world-map-region.is-selected strong{color:var(--ui-primary-bright)}.world-map-region.is-current img{filter:brightness(1.12) drop-shadow(0 0 7px color-mix(in srgb, var(--ui-secondary) 45%, transparent))}.world-map-region.is-current strong{color:var(--quest-accent)}.world-map-region.is-locked img{filter:grayscale()brightness(.45)}.world-map-region.is-locked strong{color:var(--ui-text-muted)}.world-map-region:focus-visible .world-map-label{outline:1px solid var(--ui-secondary);outline-offset:2px}.world-map-current{color:var(--quest-accent);white-space:nowrap;font-size:11px;font-weight:600}.world-map-participants{overflow-wrap:anywhere;max-height:120px;overflow-y:auto}.world-map-population{color:var(--ui-text-muted);font-variant-numeric:tabular-nums;font-size:11px;line-height:1.5}.world-map-status.is-active{color:var(--quest-accent)}.world-map-waypoint-marker{pointer-events:none;z-index:2;background:url(/assets/modak/props/campfire-base.webp) 50%/contain no-repeat;width:32px;height:32px;position:absolute;transform:translate(-50%,-100%)}.world-map-region.is-locked .world-map-waypoint-marker{filter:grayscale()brightness(.45)}.world-map-marker{pointer-events:auto;z-index:2;width:32px;height:32px;position:absolute;transform:translate(-50%,-50%)}.world-map-boss-marker{background:var(--ui-text-muted);opacity:.7;-webkit-mask:url(/assets/modak/world-map/boss-skull-outline.webp) 50%/contain no-repeat;mask:url(/assets/modak/world-map/boss-skull-outline.webp) 50%/contain no-repeat}.world-map-boss-marker.is-active{background:var(--ui-danger);opacity:1;-webkit-mask-image:url(/assets/modak/world-map/boss-skull.webp);mask-image:url(/assets/modak/world-map/boss-skull.webp)}.world-map-challenge-marker,.world-map-challenge-icon{color:var(--ui-text)}.world-map-label .world-map-challenge-marker{bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.world-map-challenge-marker.is-entrance{transform:translate(-50%)}.world-map-challenge-marker.is-claimed,.world-map-challenge-icon.is-claimed{color:var(--ui-text-muted);opacity:.7}.world-map-challenge-marker.is-checking,.world-map-challenge-icon.is-checking{opacity:.7}.world-map-challenge-marker.is-pending,.world-map-challenge-icon.is-pending{color:var(--ui-primary-bright)}.world-map-challenge-marker:is(.is-pending,.is-available) .world-map-challenge-blades,.world-map-challenge-icon:is(.is-pending,.is-available) .world-map-challenge-blades{fill:currentColor}.world-map-challenges-toggle{z-index:4;right:max(20px, env(safe-area-inset-right));bottom:max(20px, env(safe-area-inset-bottom));border:1px solid var(--ui-border);background:var(--ui-surface);min-height:44px;color:var(--ui-text);cursor:pointer;font:inherit;align-items:center;gap:8px;padding:6px 12px;display:flex;position:absolute}.world-map-challenges-toggle svg{width:26px;height:26px}.world-map-challenges-toggle:hover,.world-map-challenges-toggle:focus-visible{border-color:var(--ui-secondary)}.world-map-challenges-tooltip h3{margin:0 24px 8px 0;font-size:17px}.world-map-challenges-list{max-height:60dvh;overflow:auto}.world-map-challenge-row{border-bottom:1px solid var(--ui-border-soft);align-items:center;gap:8px;padding:8px 0;display:flex}.world-map-challenge-row:last-child{border-bottom:0}.world-map-challenge-card{flex-direction:column;align-items:stretch;gap:8px;padding:12px 0}.world-map-challenge-rewards{gap:6px;margin:0;padding:0;list-style:none;display:flex}.world-map-challenge-reward{border:1px solid var(--ui-border-soft);background:var(--ui-surface-deep);text-align:center;overflow-wrap:anywhere;flex:1;gap:5px;min-width:0;padding:9px 4px;display:grid}.world-map-challenge-reward strong{color:var(--ui-text);font-size:13px}.world-map-challenge-reward small,.world-map-challenge-pending small{color:var(--ui-text-muted);font-size:12px}.world-map-challenge-reward.is-completed{border-color:var(--ui-accent-border);background:var(--ui-accent-surface)}.world-map-challenge-reward.is-completed small{color:var(--ui-secondary)}.world-map-challenge-pending{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.world-map-challenge-location{min-width:0;min-height:44px;color:var(--ui-text);text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:0;display:flex}.world-map-challenge-location svg{flex:0 0 32px}.world-map-challenge-location span{gap:4px;min-width:0;display:grid}.world-map-challenge-location strong{font-size:13px}.world-map-challenge-location small{color:var(--ui-text-muted);overflow-wrap:anywhere;font-size:12px}.world-map-challenge-location:focus-visible{outline:1px solid var(--ui-secondary);outline-offset:2px}.world-map-challenge-claim{border:1px solid var(--ui-border);background:var(--ui-action);min-height:40px;color:var(--ui-on-accent);cursor:pointer;flex-shrink:0;padding:4px 10px}.world-map-challenge-claim:disabled{opacity:.5;cursor:default}.world-map-challenges-reset{color:var(--ui-text-muted);margin:8px 0 0;font-size:12px}.world-map-players{z-index:0;pointer-events:none;height:150px;position:absolute;inset:0 0 auto}.world-map-player{z-index:1;opacity:1;width:22px;height:22px;color:var(--ui-on-accent);pointer-events:auto;cursor:help;background:0 0;border:0;border-radius:50%;outline:none;place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%)}.world-map-player:hover,.world-map-player:focus-visible{z-index:4;filter:brightness(1.12);scale:1.14}.world-map-player:focus-visible{outline:2px solid var(--ui-primary);outline-offset:2px}.world-map-player-icon{z-index:1;filter:drop-shadow(0 1px 2px #07121d);background:linear-gradient(145deg,#62a9ed 0%,#428ddd 52%,#2b68ad 100%);width:17px;height:17px;position:relative}.world-map-player-name{z-index:5;border:1px solid var(--ui-border);background:var(--ui-surface);width:max-content;max-width:180px;color:var(--ui-text);text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border-radius:2px;padding:3px 6px;font-size:11px;line-height:1.25;display:none;position:absolute;bottom:calc(100% + 5px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 3px 8px #000a}.world-map-player:hover .world-map-player-name,.world-map-player:focus-visible .world-map-player-name{display:block}.world-map-tooltip.inventory-tooltip-overlay{background:var(--ui-surface);width:300px;max-width:calc(100vw - 24px);box-shadow:none;border-radius:3px;padding:14px}.world-map-tooltip .world-map-detail{font-size:12px}.world-map-tooltip .world-map-detail-heading{padding-right:24px}.world-map-detail-heading{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.world-map-tooltip .world-map-detail-heading h3{letter-spacing:.025em;margin:0;font-size:17px;font-weight:650;line-height:1.4}.world-map-level{color:var(--ui-text-muted);font-variant-numeric:tabular-nums;font-size:12px}.world-map-tooltip .world-map-detail p{color:var(--ui-text-muted);overflow-wrap:anywhere;margin:6px 0 0;line-height:1.6}.world-map-tooltip .world-map-detail .world-map-description{font-size:13px}.world-map-encounter{border-top:1px solid var(--ui-border-soft);margin-top:10px;padding-top:10px}.world-map-encounter-heading{flex-wrap:wrap;align-items:baseline;gap:5px 10px;display:flex}.world-map-tooltip .world-map-encounter-heading strong{color:var(--ui-text);font-size:13px;font-weight:600}.world-map-caption{color:var(--ui-text-muted);font-size:11px}.world-map-status{color:var(--ui-text);font-variant-numeric:tabular-nums}.waypoint-panel.game-sheet{width:min(420px,100% - 24px)}.waypoint-list{gap:8px;padding-top:12px;display:grid}.waypoint-destination{border:1px solid var(--ui-border-soft);background:var(--ui-surface);width:100%;color:var(--ui-text);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.waypoint-destination:hover,.waypoint-destination:focus-visible{border-color:var(--ui-secondary);background:var(--ui-accent-surface)}.waypoint-destination span{gap:4px;display:grid}.waypoint-destination strong{color:var(--ui-primary);font-size:14px}.waypoint-destination small{color:var(--ui-text-muted);font-size:11px}.waypoint-destination b{color:var(--ui-text);flex:none;font-size:12px}.waypoint-empty{color:var(--ui-text-muted);font-size:12px}.tower-panel{width:min(430px,100% - 24px)}.tower-panel .world-map-challenge-row>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tower-panel-content{flex-direction:column;gap:12px;padding:12px;display:flex}.tower-controls{justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.tower-controls strong{overflow-wrap:anywhere;min-width:0}.tower-panel button{min-height:40px;font:inherit}.tower-panel button:disabled{opacity:.5;cursor:not-allowed}.tower-controls>button,.tower-action{border:1px solid var(--ui-border);background:var(--ui-surface-raised);color:var(--ui-text);cursor:pointer;padding:8px 12px}.tower-action{color:var(--ui-primary);border-color:var(--ui-secondary)}.tower-controls button{flex-shrink:0}.king-raid-panel .tower-panel-content{gap:8px}.raid-roster-heading{color:var(--ui-text-muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.raid-roster-heading strong{color:var(--ui-primary)}.raid-player-slots{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.raid-banner{border:1px solid var(--ui-border-soft);background:var(--ui-surface-raised);align-items:center;gap:12px;min-height:64px;padding:10px 12px;display:flex}.raid-banner.is-empty{background:var(--ui-surface-deep);color:var(--ui-text-muted)}.raid-slot-number{color:var(--ui-text-muted);font-variant-numeric:tabular-nums;flex:0 0 24px;font-size:12px}.raid-banner.is-occupied .raid-slot-number{color:var(--ui-secondary)}.raid-banner-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.raid-banner-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.raid-banner-copy>span{color:var(--ui-text-muted);font-size:12px}.raid-banner>button{flex-shrink:0}.raid-room-capacity{gap:4px;display:flex}.raid-room-capacity span{background:var(--ui-border-soft);width:20px;height:4px}.raid-room-capacity span.is-filled{background:var(--ui-secondary)}.tower-panel-note{color:var(--ui-text-muted);margin:0;font-size:11px}.tower-run-hud{top:max(76px, calc(env(safe-area-inset-top) + 72px));pointer-events:auto;z-index:3;border:1px solid var(--ui-secondary);width:max-content;max-width:calc(100% - 24px);color:var(--ui-primary-muted);white-space:nowrap;background:#171411ef;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-size:12px;line-height:1.2;display:flex;position:absolute;left:50%;transform:translate(-50%)}.tower-run-hud strong{text-overflow:ellipsis;min-width:0;overflow:hidden}.tower-run-hud span{color:var(--ui-text);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.tower-run-hud span.is-warning{color:#e05244}.tower-run-hud button{border:1px solid var(--ui-accent-border);min-height:40px;color:var(--ui-primary);cursor:pointer;background:0 0;padding:6px 12px;font-size:14px}.tower-countdown{z-index:30;color:var(--ui-text);pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tower-countdown strong{color:var(--ui-primary);font-size:72px;line-height:1}.tower-run-hud button:hover{background:var(--ui-accent-surface);color:var(--ui-text)}.shop-panel-content{min-width:0;overflow-x:hidden}.inventory-panel-body,.character-panel-body{padding:0 2px 2px}.game-sheet.inventory-panel .inventory-panel-body{flex-direction:column;flex:auto;display:flex;overflow:hidden}.game-sheet.inventory-panel .inventory-panel-body>.inventory-heading,.game-sheet.inventory-panel .inventory-panel-body>.inventory-equipped{flex:none}.inventory-panel-body .inventory-heading{margin:11px 0 6px}.inventory-resources{flex-direction:column;padding:2px;display:flex}.inventory-resources .inventory-token{border-bottom:1px solid var(--ui-border-soft);flex:none;min-height:44px;padding:6px 0}.inventory-resources .inventory-token:last-child{border-bottom:0}.inventory-resources .inventory-token-name{color:var(--ui-text-muted);gap:10px}.inventory-resources .inventory-token>span:last-child{color:var(--ui-primary-bright);flex:none;font-weight:600}.inventory-resources .gold-icon{flex:0 0 20px}.inventory-resources .item-icon{background-color:#0000;border:0;border-radius:0}.inventory-token{font-variant-numeric:tabular-nums;align-items:center;gap:8px;display:flex}.inventory-token-name{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.inventory-token-name>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gold-amount{align-items:center;gap:5px;display:inline-flex}.gold-amount .gold-icon{flex:0 0 16px;display:block}.inventory-equipped{margin-top:0}.inventory-equipped .inventory-heading{margin-top:9px}.inventory-equipped-slot{aspect-ratio:1;min-width:0;color:var(--ui-primary-muted);box-shadow:none;place-items:center;position:relative;border:1px solid var(--ui-border-soft)!important;background:var(--ui-surface-deep)!important;border-radius:3px!important;min-height:0!important;padding:4px!important;display:grid!important}.inventory-equipped-slot:hover,.inventory-equipped-slot:focus-visible{box-shadow:0 0 10px color-mix(in srgb, var(--ui-secondary) 17%, transparent), inset 0 1px color-mix(in srgb, var(--ui-primary) 13%, transparent);outline:none;border-color:var(--ui-secondary)!important}.inventory-equipped-slot.is-empty{opacity:.7;border-style:dashed!important;border-color:var(--ui-border-soft)!important}.inventory-equipped-slot.rarity-normal{border-color:var(--rarity-normal-border)!important;background:var(--rarity-normal-surface)!important}.inventory-equipped-slot.rarity-magic{border-color:var(--rarity-magic-border)!important;background:var(--rarity-magic-surface)!important}.inventory-equipped-slot.rarity-rare{box-shadow:inset 0 1px 0 var(--rarity-rare-highlight);border-color:var(--rarity-rare-border)!important;background:var(--rarity-rare-surface)!important}.inventory-equipped-slot.rarity-epic{border-color:var(--rarity-epic-border)!important;background:var(--rarity-epic-surface)!important;box-shadow:0 0 6px #e5383b33,inset 0 1px #ff6b6b4d,inset 0 0 0 1px #781c25!important}.inventory-equipped-slot.rarity-unique{box-shadow:inset 0 1px #c084fc28;border-color:var(--rarity-unique-border)!important;background:var(--rarity-unique-surface)!important}.game-sheet.inventory-panel .inventory-panel-body>.equipment-inventory{flex:auto;min-height:0;max-height:none;overflow-y:auto}.storage-panel-body{flex-direction:column;display:flex;overflow:hidden}.storage-panel-body>.inventory-heading{flex:none}.storage-panel-body>.equipment-inventory{flex:auto;min-height:0;max-height:none}.character-panel{--character-section-gap:12px}.game-panel-header:has(+.character-panel-tabs){border-bottom:0}.character-panel-tabs{border-bottom:1px solid var(--ui-border-soft);margin-bottom:8px;display:flex}.character-panel-tabs .game-panel-tab{min-width:0;min-height:40px;color:var(--ui-text-muted);cursor:pointer;text-align:center;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;flex:1;margin-bottom:-1px;padding:6px 12px;font-family:inherit;font-size:12px}.character-panel-tabs .game-panel-tab:hover{color:var(--ui-text);background:var(--ui-accent-surface)}.character-panel-tabs .game-panel-tab.is-active{border-bottom-color:var(--ui-secondary);color:var(--ui-secondary);background:0 0;font-weight:700}.character-panel-tabs .game-panel-tab:focus-visible{background:var(--ui-accent-surface-hover);color:var(--ui-secondary);outline:none}.character-main-grid{gap:var(--character-section-gap);grid-template-columns:minmax(0,1fr);margin-top:10px;display:grid}.character-equipment-section,.character-stats-section,.character-skills-section{background:0 0;border:0;min-width:0;padding:0}.character-section-heading{border-bottom:1px solid var(--ui-border-soft);margin-bottom:10px;padding-bottom:8px}.character-section-heading h3{color:var(--ui-primary);margin:0;font-family:inherit;font-size:15px}.character-stage{grid-template-rows:repeat(4,54px);grid-template-columns:54px minmax(0,1fr) 54px;place-items:center;gap:7px;max-width:340px;margin:0 auto 4px;display:grid}.character-stage .character-sprite-frame{grid-area:1/2/-1;width:100%;min-height:237px}.character-stage .character-sprite{width:164px;height:164px}.character-equipment-slot{width:54px;height:54px;position:relative;overflow:hidden;padding:0!important}.character-equipment-slot.is-weapon{grid-area:1/1}.character-equipment-slot.is-offhand{grid-area:2/1}.character-equipment-slot.is-armor{grid-area:3/1}.character-equipment-slot.is-necklace{grid-area:4/1}.character-equipment-slot.is-ring1{grid-area:1/3}.character-equipment-slot.is-ring2{grid-area:2/3}.character-equipment-slot.is-tool1{grid-area:3/3}.character-equipment-slot.is-tool2{grid-area:4/3}.character-equipment-slot.is-tool{grid-area:4/1}.character-profile{text-align:center;gap:4px;width:min(340px,100%);margin:5px auto 0;display:grid}.character-profile h2{color:var(--ui-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-family:inherit;font-size:clamp(20px,4vw,27px);overflow:hidden}.character-title-error{color:#e05244;margin:2px 0 0;font-size:10px}.collection-panel.game-sheet{height:min(520px,100dvh - 24px)}.quest-tabs .game-panel-tab{border:0;border-bottom:1px solid var(--ui-border-soft);min-height:44px;color:var(--ui-text-muted);font:inherit;cursor:pointer;background:0 0;flex:1}.collection-tabs{margin-top:10px}.quest-tabs .game-panel-tab.is-active{border-bottom-color:var(--quest-accent);color:var(--quest-accent)}.collection-content{padding:12px 2px}.collection-list{display:block}.collection-note{color:var(--ui-text-muted);margin:0 8px 8px;font-size:11px}.collection-achievement-reward{text-overflow:ellipsis;min-width:0;overflow:hidden}.collection-list time{flex:none}.character-profile p{color:var(--ui-primary-muted);margin:0;font-size:11px}.character-profile p b{color:var(--ui-border);padding:0 4px}.character-profile .player-status-bars{width:100%;margin-top:4px}.player-exp-value{color:var(--ui-text-muted);font-variant-numeric:tabular-nums;text-align:right;margin-top:2px;font-size:9px;display:block}.character-mastery-body{flex-direction:column;gap:14px;padding:6px 4px;display:flex}.character-mastery-summary-card{border:1px solid var(--ui-border);background:var(--ui-surface);text-align:center;border-radius:2px;flex-direction:column;align-items:center;gap:6px;padding:12px;display:flex}.character-mastery-badge{align-items:center;gap:8px;display:flex}.mastery-level-tag{color:var(--ui-primary);font-size:18px;font-weight:700}.mastery-bonus-tag{color:#8fc8ff;background:#132438;border:1px solid #1e3d60;border-radius:2px;padding:2px 8px;font-size:13px;font-weight:700}.character-mastery-bonus-desc{color:var(--ui-text);margin:0;font-size:13px}.character-mastery-tip{color:var(--ui-text-muted);font-size:11px;line-height:1.4}.character-mastery-section,.character-mastery-perk-list{flex-direction:column;gap:8px;display:flex}.character-mastery-perk-item{border:1px solid var(--ui-border-soft);background:var(--ui-surface);border-radius:2px;padding:10px 12px}.character-mastery-perk-item.is-unlocked{border-color:var(--ui-border-soft);background:#1b1613}.character-mastery-perk-item.is-locked{opacity:.65}.perk-info{flex-direction:column;gap:4px;display:flex}.perk-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.perk-title-row strong{color:var(--ui-primary);font-size:13px}.perk-info p{color:var(--ui-text-muted);margin:0;font-size:11px;line-height:1.4}.perk-status-tag{border-radius:2px;padding:2px 6px;font-size:10px}.perk-status-tag.is-unlocked{color:#82c99b;background:#1a3022;border:1px solid #285438}.perk-status-tag.is-locked{color:var(--ui-text-muted);background:#261e1b;border:1px solid #4a3832}.perk-toggle-label{cursor:pointer;color:var(--ui-text);align-items:center;gap:6px;font-size:11px;display:inline-flex}.perk-toggle-label input[type=checkbox]{cursor:pointer;accent-color:var(--ui-secondary);width:15px;height:15px}.character-equipment-detail{border:1px solid var(--ui-accent-border);background:#171313;border-radius:3px;gap:6px;width:min(340px,100%);margin:11px auto 0;padding:9px;display:grid;box-shadow:0 6px 15px #0009}.character-equipment-detail-heading{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.character-equipment-detail-heading>div{gap:2px;min-width:0;display:grid}.character-equipment-detail-heading strong{color:#f2f2f2;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.character-equipment-detail-heading strong.rarity-magic{color:var(--rarity-magic-text)}.character-equipment-detail-heading strong.rarity-rare{color:var(--rarity-rare-text)}.character-equipment-detail-heading strong.rarity-epic{color:var(--rarity-epic-text);text-shadow:0 0 6px #e5383b44}.character-equipment-detail-heading strong.rarity-unique{color:var(--rarity-unique-text)}.character-equipment-detail-heading small{color:var(--ui-text-muted);font-size:9px}.character-equipment-detail p{color:#d3e0d3;white-space:pre-line;margin:0;font-size:10px;line-height:1.4}.character-equipment-detail-options{border-top:1px solid #ffffff14;gap:2px;padding-top:5px;display:grid}.character-equipment-detail-options span{color:#8fc8ff;font-size:10px}.character-equipment-detail-options span:nth-child(n+2){color:#9edb9b}.character-unequip-button{border:1px solid var(--ui-border);background:var(--ui-accent-surface-hover);min-height:30px;color:var(--ui-primary);border-radius:2px;padding:5px 9px;font-size:9px;font-weight:800}.character-unequip-button:hover{border-color:var(--ui-secondary);background:var(--ui-accent-surface-hover)}.character-stats-section{align-self:stretch}.character-stats-section .character-stat-list{margin-top:0}.character-skills-section{margin-top:var(--character-section-gap);grid-column:1/-1}.character-skill-list{grid-template-columns:minmax(0,1fr);gap:0;padding-top:0}.inventory-equipped-row,.reforge-panel .equipment-inventory{--compact-item-slot-size:clamp(39.5px, calc((100dvh - 254px) / 4), 72.5px)}.inventory-equipped-row{width:min(calc(var(--compact-item-slot-size) * 4 + 18px), calc(100% - 4px));grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-inline:auto;display:grid}.inventory-equipped-slot .inventory-item-icon{background-color:#0000;border:0;border-radius:0}.ranking-panel.game-sheet{height:min(80dvh,680px);max-height:min(80dvh,680px)}.ranking-container{flex-direction:column;flex:1;gap:10px;min-height:0;padding:10px 0 0;display:flex;overflow:hidden}.ranking-tabs{scrollbar-width:none;flex:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.ranking-tabs::-webkit-scrollbar{display:none}.ranking-tab-button{flex:none}.ranking-filters{flex:none;gap:8px;display:flex}.ranking-filters select{background:var(--ui-surface-raised);min-width:0;min-height:40px;color:var(--ui-text);border:1px solid var(--ui-border-soft);font:inherit;flex:1}.ranking-note{color:var(--ui-text-muted);margin:0;font-size:12px}.ranking-time{white-space:nowrap;font-variant-numeric:tabular-nums}.ranking-list-wrap{background:0 0;border:0;flex:1;min-height:0;overflow-y:auto}.ranking-loading,.ranking-empty{text-align:center;color:var(--ui-text-muted);padding:40px 20px;font-size:13px}.ranking-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.ranking-table th{z-index:1;color:var(--ui-text-muted);letter-spacing:.05em;text-transform:uppercase;background:#201915;border-bottom:1px solid #433527;padding:8px 10px;font-size:11px;font-weight:600;position:sticky;top:0}.ranking-table td{color:#dcd0c2;vertical-align:middle;border-bottom:1px solid #231c17;padding:8px 10px}.ranking-row{cursor:pointer;transition:background .12s}.ranking-row:hover{background:#251d18}.ranking-row.is-selected{border-color:var(--ui-border);background:#32251c}.ranking-row.is-self{background:#1c261f}.ranking-row.is-self:hover{background:#24352a}.th-rank,.td-rank{text-align:center;width:34px}.th-char,.td-char{min-width:90px}.th-job,.td-job{width:60px}.th-level,.td-level{text-align:center;width:45px}.th-item-level,.td-item-level{text-align:center;width:82px}.rank-badge{border-radius:2px;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:inline-flex}.rank-1{color:#100e0e;background:#b88d44}.rank-2{color:#100e0e;background:#7c7c7c}.rank-3{color:var(--ui-text);background:#8a5734}.rank-number{color:var(--ui-text-muted);font-size:12px;font-weight:600}.self-tag{color:#c9e8cd;vertical-align:middle;background:#2e5436;border-radius:2px;margin-left:6px;padding:1px 4px;font-size:9px;font-weight:700;display:inline-block}.ranking-profile-backdrop{z-index:10;background:#000000c0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ranking-profile-card{border:1px solid var(--ui-border-soft);background:var(--ui-surface);border-radius:3px;width:min(340px,100% - 24px);padding:14px}.ranking-profile-header{border-bottom:1px solid #433527;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.ranking-profile-header h3{color:var(--ui-text);margin:0;font-family:inherit;font-size:16px}.ranking-profile-close{color:var(--ui-text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:20px;line-height:1}.ranking-profile-close:hover{color:#fff}.ranking-profile-top{gap:12px;margin-bottom:14px;display:flex}.ranking-sprite-frame{border-radius:3px;flex:0 0 100px;width:100px;height:110px;min-height:110px}.ranking-sprite-frame .character-sprite{width:90px;height:90px;transform:scale(.9)}.ranking-profile-info{flex-direction:column;flex:1;justify-content:center;gap:3px;min-width:0;display:flex}.ranking-profile-job{color:var(--ui-text-muted);font-size:12px}.ranking-profile-current-job{color:var(--ui-text-muted);font-size:10px}.ranking-profile-level{color:var(--ui-primary);font-size:18px}.ranking-profile-stats{flex-direction:column;gap:2px;margin-top:4px;display:flex}.profile-stat-row{color:var(--ui-text-muted);justify-content:space-between;font-size:11px;display:flex}.profile-stat-row b{color:#eae0d4;font-variant-numeric:tabular-nums}.ranking-profile-equipment h4{letter-spacing:.08em;color:var(--ui-text-muted);text-transform:uppercase;margin:0 0 8px;font-size:11px}.ranking-equipment-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.ranking-equipment-slot-box{flex-direction:column;align-items:center;gap:3px;display:flex}.ranking-equipment-slot-box .slot-name{color:var(--ui-text-muted);font-size:9px}.ranking-equipment-slot{cursor:default;background:#120f0e;border:1px solid #433527;border-radius:3px;place-items:center;width:44px;height:44px;padding:0;display:grid}.ranking-equipment-slot.is-empty{color:#433527;font-size:14px}.ranking-equipment-slot.rarity-normal{border-color:var(--rarity-normal-border);background:var(--rarity-normal-surface)}.ranking-equipment-slot.rarity-magic{border-color:var(--rarity-magic-border);background:var(--rarity-magic-surface)}.ranking-equipment-slot.rarity-rare{border-color:var(--rarity-rare-border);background:var(--rarity-rare-surface);box-shadow:inset 0 1px 0 var(--rarity-rare-highlight)}.ranking-equipment-slot.rarity-epic{border-color:var(--rarity-epic-border);background:var(--rarity-epic-surface);box-shadow:0 0 6px #e5383b33,inset 0 1px #ff6b6b4d,inset 0 0 0 1px #781c25}.ranking-equipment-slot.rarity-unique{border-color:var(--rarity-unique-border);background:var(--rarity-unique-surface);box-shadow:inset 0 1px #c084fc28}.xp-bar b,.hp-bar b,.target-hp-bar b,.effect-timer,.effect-overflow,.quick-menu-shortcut,.skill-slot>.skill-tier-badge{font-size:9px}.damage-meter-row i,.latency-name,.player-status-bars .xp-value,.skill-slot>small,.equipment-slots small,.inventory-tooltip-badge,.auth-divider,.guest-warning,.guest-roster-label,.game-loading-overlay small,.reforge-rates{font-size:10px}.player-heading small,.shop-tabs button span,.storage-tab-count,.shop-balance small,.shop-bulk-button small,.item-details-heading small,.inventory-tooltip-overlay small,.inventory-action-confirm>small,.promotion-card em,.job-card-heading span,.inventory-sort-button,.character-stat-list small,.character-skill strong em,.character-skill span,.character-equipment-detail-heading small,.character-unequip-button,.system-active-player small,.system-zone-population-grid small,.system-announcement-status-grid small,.skill-tooltip strong i,.skill-tooltip em,.client-diagnostics-value,.system-announcement-memory-item small,.system-menu-copy small,.shop-tooltip-price,.shop-tooltip-actions>button{font-size:11px}.skill-tooltip-description,.character-skill .character-skill-description,.item-details p,.item-stat-list span,.inventory-tooltip-overlay p,.inventory-tooltip-options span,.character-equipment-detail p,.character-equipment-detail-options span,.reforge-balance,.reforge-cost,.reforge-action,.reforge-change,.reforge-empty,.quest-dialogue-reward,.quest-dialogue-reward strong,.equipment-slots b,.inventory-heading-count,.inventory-heading>span,.inventory-action-buttons button,.inventory-action-confirm button,.promotion-card small,.promotion-panel-footer,.death-panel p,.death-panel button,.system-refresh-button,.system-zone-move-button,.system-remove-pool-button,.system-operations-footer,.system-announcement-memory-item>b,.system-announcement-editor label>span,.system-settings-note,.system-license-entry small,.system-license-entry span,.system-announcement-repeat-input,.quick-menu small,.quick-menu-item>small,.chat-bar button,.shop-panel p,.shop-tabs button,.shop-bulk-button em,.shop-confirm p,.quest-empty,.quest-dialogue-objective,.quest-dialogue-actions button,.promotion-error,.character-profile p,.system-announcement-memory-item strong,.system-announcement-editor-heading strong,.system-operation-result,.system-operations-footer button{font-size:12px}.skill-tooltip strong,.character-skill strong,.chat-bar input,.quest-dialogue-copy,.ranking-loading,.ranking-empty,.ranking-table,.ranking-tab-button{font-size:13px}.is-onboarding-target{outline:2px solid var(--ui-primary)!important;outline-offset:2px!important;z-index:30!important;position:relative!important;overflow:visible!important}.onboarding-guide{top:calc(84px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));z-index:35;background:var(--ui-surface);width:min(340px,100vw - 96px);color:var(--ui-text);border:1px solid var(--ui-border);pointer-events:none;padding:10px 12px;font-size:12px;line-height:1.45;position:fixed}.onboarding-guide strong{color:var(--ui-primary)}.onboarding-guide p{margin:4px 0}.onboarding-hunt-tracker{justify-content:space-between;align-items:center;gap:12px;display:flex}.onboarding-hunt-tracker strong{font-variant-numeric:tabular-nums;flex:none;font-size:14px}.onboarding-guide-actions{justify-content:flex-end;gap:8px;display:flex}.onboarding-guide button{border:1px solid var(--ui-border);background:var(--ui-surface-raised);min-height:36px;color:var(--ui-text);pointer-events:auto;padding:4px 10px}.onboarding-guide .onboarding-primary{border-color:var(--ui-secondary);color:var(--ui-primary)}.onboarding-guide .onboarding-primary:hover{border-color:var(--ui-primary)}.onboarding-guide .onboarding-dismiss{min-height:28px;color:var(--ui-text-muted);border:0;padding:2px 6px;font-size:10px}.tutorial-skip{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));z-index:20001;border:1px solid var(--ui-border-soft);background:var(--ui-surface);min-height:40px;color:var(--ui-text);padding:8px 14px;position:fixed}body:has(.cinematic-overlay) .coachmark-anchor{visibility:hidden}.coachmark-anchor{pointer-events:none;z-index:1200;position:fixed}.coachmark-anchor.placement-right{top:50%;left:calc(100% + 6px);transform:translateY(-50%)}.coachmark-anchor.placement-top{bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.coachmark-anchor.placement-top-left{bottom:calc(100% + 6px);left:0;transform:none}.coachmark-anchor.placement-bottom{top:calc(100% + 6px);right:0}.coachmark-bubble{pointer-events:none;box-sizing:border-box;background:var(--ui-surface);border:1px solid var(--ui-border);min-width:190px;max-width:240px;color:var(--ui-text);letter-spacing:normal;text-transform:none;text-align:left;white-space:normal;cursor:default;padding:10px 12px;font-family:inherit;font-size:12px;font-weight:400;line-height:1.45;animation:.2s ease-out coachmark-pop;position:relative}.coachmark-bubble *{box-sizing:border-box}.coachmark-bubble.arrow-left:before{content:"";border-top:6px solid #0000;border-bottom:6px solid #0000;border-right:6px solid var(--ui-border);width:0;height:0;position:absolute;top:50%;left:-6px;transform:translateY(-50%)}.coachmark-bubble.arrow-bottom:before{content:"";border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid var(--ui-border);width:0;height:0;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.coachmark-bubble.arrow-bottom-left:before{content:"";border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid var(--ui-border);width:0;height:0;position:absolute;bottom:-6px;left:18px}.coachmark-bubble.arrow-top-right:before{content:"";border-left:6px solid #0000;border-right:6px solid #0000;border-bottom:6px solid var(--ui-border);width:0;height:0;position:absolute;top:-6px;right:14px}.coachmark-header{justify-content:space-between;align-items:center;gap:8px;width:100%;margin-bottom:4px;display:flex}.coachmark-title{color:var(--ui-primary);margin:0;font-weight:700;font-size:13px!important;line-height:1.3!important}.coachmark-close-btn{appearance:none;cursor:pointer;opacity:.85;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,border-color .15s,color .15s,background .15s;pointer-events:auto!important;border:1px solid var(--ui-border-soft)!important;background:var(--ui-surface-raised)!important;width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important;color:var(--ui-text-muted)!important;border-radius:0!important;margin:0!important;padding:0!important;font-size:13px!important;line-height:1!important;display:inline-flex!important}.coachmark-close-btn:hover{opacity:1;color:#fff!important;border-color:var(--ui-primary)!important;background:var(--ui-surface-raised)!important}.coachmark-desc{color:var(--ui-text-muted);margin-bottom:0;font-size:12px!important;line-height:1.45!important}.coachmark-footer{border-top:1px solid var(--ui-border-soft);justify-content:flex-end;align-items:center;gap:8px;margin-top:8px;padding-top:6px;display:flex}.coachmark-skip-btn{appearance:none;cursor:pointer;opacity:.85;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;font-family:inherit;font-weight:500;transition:opacity .15s,border-color .15s,color .15s,background .15s;pointer-events:auto!important;background:var(--ui-surface-raised)!important;border:1px solid var(--ui-border-soft)!important;width:auto!important;min-width:0!important;height:auto!important;min-height:32px!important;color:var(--ui-text-muted)!important;white-space:nowrap!important;border-radius:0!important;margin:0!important;padding:4px 10px!important;font-size:12px!important;line-height:1.2!important;text-decoration:none!important;display:inline-flex!important}.coachmark-skip-btn:hover{opacity:1;color:#fff!important;border-color:var(--ui-primary)!important;background:var(--ui-surface-raised)!important}.coachmark-finish-btn{background:var(--ui-surface-raised);border:1px solid var(--ui-secondary);width:auto;min-height:36px;color:var(--ui-text);text-align:center;cursor:pointer;border-radius:0;justify-content:center;align-items:center;margin-top:0;padding:4px 10px;font-size:12px;font-weight:700;transition:background .15s,border-color .15s;display:inline-flex;pointer-events:auto!important}.coachmark-finish-btn:hover{background:var(--ui-surface-raised);border-color:var(--ui-primary)}@keyframes coachmark-pop{0%{opacity:0}to{opacity:1}}.name-change-backdrop{z-index:35;background:#05080890;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.name-change-modal{border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:2px;width:min(380px,100% - 12px);padding:16px;box-shadow:0 14px 34px #0009}.name-change-dialogue{color:var(--ui-text);margin:12px 0 0;font-size:12px;line-height:1.6}.name-change-info-grid{background:var(--ui-surface);border:1px solid #362e24;border-radius:2px;gap:6px;margin:12px 0 0;padding:10px;display:grid}.name-change-info-row{justify-content:space-between;align-items:center;font-size:11px;display:flex}.name-change-info-label{color:var(--ui-text-muted)}.name-change-info-value{color:var(--ui-primary-bright);font-weight:700}.name-change-info-value.is-insufficient{color:#e66a5e}.name-change-alert{border-radius:2px;margin:10px 0 0;padding:8px 10px;font-size:11px;font-weight:600;line-height:1.4}.name-change-alert.is-cooldown{color:#e89182;background:#281a17;border:1px solid #6c3b31}.name-change-alert.is-warning{color:#e0b468;background:#261f14;border:1px solid #5f4a2b}.name-change-notice{color:var(--ui-text-muted);margin:8px 0 0;font-size:10.5px;line-height:1.4}.name-change-form{gap:8px;margin-top:12px;display:grid}.name-change-input-label{color:var(--ui-primary-muted);font-size:11.5px;font-weight:700}.name-change-error{color:#e66a5e;margin:2px 0 0;font-size:11px}.name-change-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.name-change-actions button{border:1px solid var(--ui-border);cursor:pointer;border-radius:2px;min-height:36px;padding:6px 14px;font-size:11px;font-weight:800}.name-change-submit{background:var(--ui-action);color:var(--ui-on-accent);border-color:var(--ui-accent-border)!important}.name-change-submit:hover:not(:disabled){background:var(--ui-action-hover)}.name-change-submit:disabled{opacity:.45;cursor:not-allowed;filter:grayscale()}.name-change-cancel{background:var(--ui-surface-raised);color:var(--ui-text-muted)}.name-change-cancel:hover:not(:disabled){filter:brightness(1.15)}
