.game-screen-layout{--game-screen-shell-width: min(100vw, 480px);width:min(100%,480px);height:100dvh;min-height:100dvh;margin:0 auto;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;overflow:hidden;background:linear-gradient(180deg,#111827,#0b1020 60%,#090d18);border-inline:1px solid #263041}.game-status-bar{grid-row:1;position:sticky;top:0;z-index:40;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#f9fafb;background:#070a12f2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid #273146}.game-status-resource-line{margin:0;flex:1;min-width:0;font-size:16px;font-weight:800;letter-spacing:.015em;color:#e2e8f0;white-space:nowrap}.game-status-resource-stack{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.game-status-recharge-line{margin:0;font-size:11px;font-weight:700;letter-spacing:.01em;color:#93c5fd;white-space:nowrap}.gold-amount{display:inline-flex;align-items:center;gap:4px;line-height:1;vertical-align:middle;transform:translateY(1px)}.gold-amount-icon{display:block;flex:0 0 auto;width:16px;height:16px;object-fit:contain;image-rendering:pixelated}.gold-amount-value{display:inline-block;line-height:1}.game-status-gold{display:inline-flex;align-items:center;gap:2px}.game-status-gold .gold-amount-icon{width:14px;height:14px}.ui-progress{display:block}.ui-progress-track{display:block;height:8px;border-radius:999px;overflow:hidden;background:#0f172ae6;border:1px solid rgba(71,85,105,.8)}.ui-progress-fill{display:block;height:100%;width:0;border-radius:inherit;transition:width .24s ease}.ui-progress-exp .ui-progress-fill{background:linear-gradient(90deg,#2563eb,#60a5fa)}.ui-progress-hp .ui-progress-fill{background:linear-gradient(90deg,#16a34a,#4ade80)}.ui-progress-stamina .ui-progress-fill{background:linear-gradient(90deg,#eab308,#facc15)}.ui-progress-monster .ui-progress-fill{background:linear-gradient(90deg,#b91c1c,#ef4444)}.ui-progress.is-pending .ui-progress-fill{width:35%!important;background:linear-gradient(90deg,#475569,#94a3b8,#475569);background-size:200% 100%;animation:status-progress-pulse 1.2s linear infinite}@keyframes status-progress-pulse{0%{background-position:0 0}to{background-position:200% 0}}.game-status-convert-button{width:80px;min-width:80px;height:25px;min-height:25px;padding:0;border-radius:10px;border-color:#0f766e;background:#0f766e3d;color:#99f6e4;font-size:13px;line-height:1.2;font-weight:700;display:grid;place-items:center}@media(max-width:420px){.game-status-resource-line{font-size:14px}.game-status-recharge-line{font-size:10px}}.status-divider{margin:0 6px;color:#6b7280}.game-screen-notice-slot{position:absolute;top:3px;left:12px;right:12px;z-index:39;pointer-events:none}.game-screen-notice-slot>*{pointer-events:auto}.game-screen-body{grid-row:2;position:relative;min-height:0;overflow-y:auto;padding:12px;display:grid;align-content:start;gap:12px}.game-screen-footer-slot{grid-row:3;padding:4px 0 0}.alert-toast-anchor{position:relative;z-index:1;display:flex;justify-content:center;pointer-events:none}.alert-toast-stack{width:100%;display:grid;gap:8px;padding:2px 0 0}.session-result-countdown-notice{margin-top:8px;padding:12px 14px;border-radius:12px;border:1px solid #f59e0b;background:#78350feb;color:#fef3c7;box-shadow:0 10px 28px #02061761}.session-result-countdown-notice-title,.session-result-countdown-notice-description{margin:0}.session-result-countdown-notice-title{font-size:14px;font-weight:800}.session-result-countdown-notice-description{margin-top:4px;font-size:12px;color:#fde68a}.alert-toast{padding:10px 12px;border-radius:10px;border:1px solid transparent;background:#0f172a;color:#eff6ff;box-shadow:0 8px 20px #02061773;animation:alert-toast-enter .18s ease-out}.alert-toast.is-notice{border-color:#60a5fa;background:#1e40af;color:#dbeafe}.alert-toast.is-error{border-color:#fca5a5;background:#991b1b;color:#fee2e2}.alert-toast-message{margin:0;font-size:13px;font-weight:700;line-height:1.35;letter-spacing:.01em}@keyframes alert-toast-enter{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.game-bottom-nav{grid-row:4;position:relative;z-index:40;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px 10px calc(10px + env(safe-area-inset-bottom));background:#090c14f5;border-top:1px solid #273146;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.game-bottom-nav.has-menu{grid-template-columns:repeat(4,minmax(0,1fr)) 52px;padding:4px 4px calc(4px + env(safe-area-inset-bottom))}.game-bottom-nav-button{min-height:40px;padding:0;display:grid;place-items:center;border:1px solid #364154;background:#121a29;color:#d1d5db}.game-bottom-nav-button.active{background:linear-gradient(180deg,#31496f,#24334d);border-color:#64748b;color:#f8fafc}.game-bottom-nav-icon{width:35px;height:35px;object-fit:contain;pointer-events:none}.game-bottom-nav-menu-button{min-width:40px;width:40px;padding:0;font-size:18px;line-height:1}.map-game-body{padding:0;display:flex;flex-direction:column;min-height:0;height:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto}.village-game-body{padding:0;display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}.map-game-stage{position:relative;flex:1;min-width:0;min-height:0;height:100%;overflow:hidden;padding:0;display:flex;flex-direction:column;gap:0}.map-burn-flash-overlay{position:absolute;inset:0;z-index:7;pointer-events:none;background:radial-gradient(circle at 50% 50%,#ffa07a33,#ff52521f 45%,#7f1d1d0a),linear-gradient(180deg,#f8717129,#7f1d1d47);mix-blend-mode:screen;animation:map-burn-flash .42s ease-out forwards}.map-action-dock{position:absolute;left:12px;right:8px;bottom:8px;z-index:38;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}.map-action-dock-toggle{pointer-events:auto;width:74px;min-height:38px;border-radius:0;border:1px solid #64748b;background:#0f172ae0;color:#e2e8f0;font-size:13px;font-weight:700}.map-action-dock-toggle-accent{color:#fef3c7}.map-action-panel{width:100%;max-height:min(44vh,360px);overflow-x:hidden;overflow-y:auto;pointer-events:auto;border:1px solid rgba(100,116,139,.7);border-radius:12px;background:#0f172ae6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.map-action-panel-content{min-height:100%;padding:12px;display:grid;gap:10px;border-radius:inherit}.map-action-panel h2{margin:0;font-size:16px}.map-action-group{display:grid;gap:8px}.map-action-group-title{margin:0;font-size:12px;color:#93c5fd;font-weight:700}.map-action-button-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.map-action-combat-grid{display:grid;gap:8px}.map-action-combat-grid.is-dual{grid-template-columns:repeat(2,minmax(0,1fr))}.map-action-combat-grid.is-single{grid-template-columns:1fr}.map-action-activity-grid,.map-action-system-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.map-action-button-grid button,.map-action-group>button,.map-action-combat-grid button,.map-action-activity-grid button,.map-action-system-grid button{min-height:40px;width:100%;padding:8px 10px;border-radius:10px;font-size:13px;font-weight:700}.map-action-empty{margin:0;color:#94a3b8;font-size:12px}.map-action-event-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.map-action-event-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;border:1px solid #334155;border-radius:10px;background:#0f172ab8}.map-action-event-item button{min-width:84px;min-height:34px;padding:6px 10px}.map-action-event-item.is-completed{opacity:.55}.map-action-event-item.is-unavailable{opacity:.5;border-color:#475569}.map-action-event-item.is-selected{border-color:#f59e0b;background:#78350f66}.map-action-event-content{min-width:0}.map-action-event-title{margin:0;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700}.map-action-event-status{margin:4px 0 0;font-size:12px;color:#94a3b8}.map-action-event-icon{width:18px;height:18px;image-rendering:pixelated}.map-action-event-id{color:#94a3b8;font-size:11px;font-weight:600}.map-action-event-check{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:999px;background:#0f766e;color:#ecfeff;font-size:11px;font-weight:800}.map-action-primary-button{width:100%}.map-action-detail{margin:0;color:#cbd5e1;font-size:12px}.map-log-overlay{position:absolute;inset:0;z-index:44;background:#0b1222;padding:12px;display:grid;grid-template-rows:auto 1fr auto auto;gap:10px;border:1px solid #334155;border-radius:12px}.map-log-overlay-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.map-log-overlay-actions{display:inline-flex;align-items:center}.map-log-overlay-session{margin:0;display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:8px;font-size:14px;font-weight:700;line-height:1.2;color:#cbd5e1}.map-log-overlay-session-text{display:inline}.map-log-overlay-player-badge{display:inline-flex;align-items:center;justify-content:center;min-height:20px;padding:0 8px;border-radius:999px;border:1px solid #93c5fd;background:#93c5fd33;color:#eff6ff;font-size:11px;font-weight:700;line-height:1}.map-log-overlay-title{margin:0;font-size:20px;color:#f8fafc}.map-log-overlay-actions button{min-height:36px;padding:6px 10px;font-size:13px}.map-log-overlay-list{overflow-y:auto;display:grid;gap:8px;padding-right:4px}.map-log-item{border:1px solid #334155;border-radius:10px;background:#111827;padding:8px 10px;display:grid;gap:6px}.map-log-item.is-chat-log{border:none;background:#93c5fd29}.map-log-item.is-chat-log.is-mine{border:none;background:#93c5fd38}.map-log-item.is-mine{border-color:#1d4ed8;background:#1e40af38}.map-log-item.is-chat-log p,.map-log-item.is-chat-log .map-log-item-header strong{color:#dbeafe}.map-log-item.is-chat-log .map-log-item-header time{color:#bfdbfe}.map-log-item-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}.map-log-item-header time{color:#94a3b8;margin-left:auto}.map-log-item p{margin:0;white-space:pre-wrap;word-break:break-word;font-size:13px}.map-log-badge{display:inline-flex;align-items:center;justify-content:center;min-height:20px;border-radius:999px;border:1px solid #475569;padding:0 8px;font-size:10px;font-weight:700}.map-log-badge.is-chat{border-color:#1d4ed8;color:#bfdbfe}.map-log-badge.is-alert{border-color:#0f766e;color:#99f6e4}.map-bottom-status-bar{border:1px solid #334155;border-radius:12px;background:#0f172ae0;padding:8px 10px;min-height:78px;display:grid;grid-template-columns:minmax(0,1fr) minmax(118px,42%);gap:10px;align-items:center}.map-bottom-status-left{min-width:0;margin-left:5px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px}button.map-bottom-hud-toggle{all:unset;box-sizing:border-box;min-width:0;margin-left:5px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;cursor:pointer;-webkit-tap-highlight-color:rgba(148,163,184,.25)}button.map-bottom-hud-toggle:disabled{cursor:default}.map-bottom-level{margin:0;color:#bfdbfe;font-weight:800;font-size:14px;min-width:38px}.map-bottom-growth-stack{min-width:0;display:grid;gap:3px}.map-bottom-growth-metric{margin:0;display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:11px;color:#cbd5e1}.map-bottom-progress .ui-progress-track{height:6px}.map-bottom-wave-info{min-width:0;margin-right:5px;display:grid;justify-items:end;gap:2px;text-align:right}.map-bottom-wave-title{margin:0;font-size:11px;font-weight:800;color:#93c5fd}.map-bottom-wave-text{margin:0;font-size:12px;font-weight:700;color:#dbeafe}.map-bottom-wave-sub{margin:0;font-size:11px;color:#93c5fd}.map-bottom-status-bar.is-combat-mode{grid-template-columns:minmax(0,1fr) minmax(160px,46%)}.map-bottom-combat-info{min-width:0;margin-right:5px;display:grid;align-items:center;height:100%}.map-bottom-quick-slots{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 34px;gap:6px;align-items:stretch;margin-top:0}button.map-bottom-quick-slot{all:unset;box-sizing:border-box;min-height:46px;height:46px;border:1px solid rgba(245,158,11,.34);border-radius:12px;background:radial-gradient(circle at top,rgba(250,204,21,.2),transparent 58%),linear-gradient(180deg,#1e293beb,#0f172afa),#0f172af0;display:grid;place-items:center;gap:2px;padding:4px 6px;color:#f8fafc;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:inset 0 0 0 1px #fbbf2414;touch-action:manipulation;-webkit-touch-callout:none}.map-bottom-quick-slot.is-empty{border-style:solid;color:#fef3c7}.map-bottom-quick-slot.is-disabled,button.map-bottom-quick-slot:disabled{opacity:.55;cursor:default}.map-bottom-quick-slot-plus{width:20px;height:20px;border-radius:999px;display:grid;place-items:center;background:#facc1529;border:1px solid rgba(250,204,21,.5);font-size:14px;font-weight:900;line-height:1}.map-bottom-quick-slot-image{width:24px;height:24px;object-fit:contain;image-rendering:pixelated}.map-bottom-quick-slot-fallback{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:#94a3b829;color:#f8fafc;font-size:10px;font-weight:700}.map-bottom-quick-slot-count{font-size:10px;font-weight:700;color:#fef08a}.map-bottom-quick-slot-reset{min-height:46px;height:46px;border:1px solid rgba(148,163,184,.34);border-radius:12px;background:linear-gradient(180deg,#1e293be6,#0f172afa),#0f172af0;display:grid;place-items:center;color:#cbd5e1;padding:0;touch-action:manipulation;-webkit-touch-callout:none}.map-bottom-quick-slot-reset-icon{width:18px;height:18px}.quick-slot-picker-modal{width:min(420px,100%)}.quick-slot-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-slot-picker-card{border:1px solid rgba(148,163,184,.32);border-radius:12px;background:#0f172ad6;padding:12px 10px;display:grid;justify-items:center;gap:6px;color:#e2e8f0}.quick-slot-picker-card.is-selected{border-color:#facc15;box-shadow:inset 0 0 0 1px #facc158c}.quick-slot-picker-card.is-disabled{opacity:.45}.quick-slot-picker-name,.quick-slot-picker-count,.quick-slot-picker-empty{font-size:12px}.quick-slot-picker-name{font-weight:700;text-align:center}.quick-slot-picker-count{color:#cbd5e1}.quick-slot-picker-empty{margin:0;grid-column:1 / -1;color:#cbd5e1;text-align:center}.map-log-overlay-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}.map-log-overlay-form textarea{width:100%;min-height:56px;border:1px solid #475569;border-radius:10px;background:#0b1220;color:#e2e8f0;font:inherit;padding:8px 10px;resize:none}.map-log-overlay-form textarea:focus-visible{outline:2px solid #0ea5e9;outline-offset:1px;border-color:#0ea5e9}.map-log-overlay-submit{min-height:56px;padding:0 14px;white-space:nowrap}.screen-overview-card{padding:12px;border-radius:12px;border:1px solid #374151;background:#111827cc}.screen-overview-card h1{margin:0;font-size:20px;color:#f9fafb}.screen-overview-card p{margin:8px 0 0}.screen-overview-actions{margin-top:10px;display:flex;justify-content:flex-end}.enhance-resource-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:center;row-gap:8px;column-gap:12px}.enhance-resource-inline{margin:0;display:inline-flex;align-items:center;gap:6px;min-width:0;white-space:nowrap}.enhance-resource-inline.is-right{justify-self:end}.enhance-resource-inline strong{color:#f8fafc}.enhance-resource-item-icon{width:18px;height:18px;border-radius:4px;border:1px solid #475569;background:#0f172a;object-fit:cover;image-rendering:pixelated}.other-players-summary{margin-top:12px;border-top:1px solid #334155;padding-top:10px}.other-players-summary p{margin:0 0 8px;font-size:13px;color:#cbd5e1}.other-players-summary ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.other-players-summary li{display:flex;justify-content:space-between;gap:8px;padding:6px 8px;border:1px solid #334155;border-radius:8px;background:#0f172abf;font-size:12px}.map-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:10px}.map-actions{display:flex;gap:8px;flex-wrap:wrap}.map-shell-container{position:relative;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;overflow:hidden}.map-shell{--map-node-ui-scale: 1;--map-node-tile-scale: 3;--map-node-scale-ratio: calc(var(--map-node-tile-scale) / 1.5);width:100%;min-width:0;max-width:100%;box-sizing:border-box;background:#0d111a;border:1px solid #2f394b;border-radius:0;padding:0;height:100%;min-height:100%;overflow:auto;touch-action:manipulation;overscroll-behavior:auto;-webkit-overflow-scrolling:touch;position:relative}.map-zoom-controls{position:absolute;top:8px;right:8px;z-index:9;display:flex;gap:8px}.map-online-presence-badge{position:absolute;top:8px;left:8px;z-index:9;min-height:30px;padding:0 8px;display:inline-flex;align-items:center;gap:6px;border-radius:9px;border:1px solid #1e40af;background:#0f172ae6;color:#dbeafe;box-shadow:0 4px 14px #02061761}.map-online-presence-icon{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center}.map-online-presence-icon svg{width:14px;height:14px;overflow:visible}.map-online-presence-icon circle,.map-online-presence-icon path{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.map-online-presence-count{font-size:11px;font-weight:700;line-height:1}.map-roaming-attack-gauge{position:absolute;left:8px;bottom:8px;z-index:9;min-width:132px;padding:8px 10px;display:grid;gap:5px;border-radius:10px;border:1px solid #ca8a04;background:#0f172af0;color:#fef3c7;box-shadow:0 6px 18px #0206176b}.map-roaming-attack-gauge-label,.map-roaming-attack-gauge-text{margin:0;line-height:1}.map-roaming-attack-gauge-label{font-size:12px;font-weight:800}.map-roaming-attack-gauge-text{font-size:11px;color:#fde68a}.map-roaming-attack-gauge-track{width:100%;height:8px;overflow:hidden;border-radius:999px;border:1px solid rgba(234,179,8,.7);background:#78350feb}.map-roaming-attack-gauge-fill{display:block;height:100%;background:linear-gradient(90deg,#facc15,#f59e0b);box-shadow:0 0 10px #facc1573}.map-zoom-control{width:38px;height:38px;padding:0;display:grid;place-items:center;border-radius:10px;border:1px solid #1e40af;background:#0f172aeb;color:#dbeafe;cursor:pointer}.map-zoom-control:hover{background:#1e40af59}.map-zoom-control-icon{width:18px;height:18px}.map-viewport{position:relative;min-width:100%;min-height:100%;background:#18181b}.map-tile-layer,.map-region-symbol-layer,.map-decoration-symbol-layer,.map-edge-layer,.map-combat-laser-layer,.map-node-layer,.map-roaming-layer,.map-roaming-damage-layer,.map-hazard-damage-layer,.map-other-player-layer,.map-player-push-layer,.map-fog-layer{position:absolute;inset:0}.map-tile-layer{z-index:1;image-rendering:pixelated}.map-region-symbol-layer,.map-decoration-symbol-layer{z-index:1;pointer-events:none}.map-region-symbol{position:absolute;transform:translate(-50%,-50%);display:block;background-position:center;background-repeat:no-repeat;background-size:contain;image-rendering:pixelated;opacity:.68;pointer-events:none;-webkit-user-select:none;user-select:none}.map-decoration-symbol{position:absolute;transform:translate(-50%,-50%);display:block;background-position:center;background-repeat:no-repeat;background-size:contain;image-rendering:pixelated;pointer-events:none;-webkit-user-select:none;user-select:none}.map-region-symbol.is-volcano{background-image:url(/assets/symbols/region_symbol_volcano_v4.png);opacity:1}.map-region-symbol.is-forest{background-image:url(/assets/symbols/region_symbol_forest_v4.png);opacity:1}.map-region-symbol.is-wetland{background-image:url(/assets/symbols/region_symbol_wetland_v4.png);opacity:1}.map-region-symbol.is-shadow{background-image:url(/assets/symbols/region_symbol_shadow_v4.png);opacity:1}.map-edge-layer{z-index:2;display:block;pointer-events:none}.map-combat-laser-layer,.map-node-layer{z-index:3;pointer-events:none}.map-other-player-layer,.map-roaming-layer,.map-roaming-damage-layer,.map-hazard-damage-layer,.map-player-push-layer{z-index:4;pointer-events:none}.map-fog-layer{z-index:5;pointer-events:none}.map-current-player-indicator{position:absolute;z-index:8;left:0;top:0;transform:translate(-50%,-50%);display:none;width:22px;height:22px;align-items:center;justify-content:center;pointer-events:none;border-radius:999px;border:1px solid #60a5fa;background:#1e40af40;box-shadow:0 4px 14px #0206178c}.map-current-player-indicator.is-visible{display:flex}.map-current-player-indicator-arrow{display:inline-block;font-size:10px;line-height:1;color:#93c5fd;transform:rotate(var(--map-player-arrow-rotation, 0deg))}.map-other-player-marker{position:absolute;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:6px}.map-other-player-marker.is-hit-reacting{animation:map-player-hit-shake .3s ease-out}.map-other-player-chip{width:20px;height:20px;border-radius:999px;display:grid;place-items:center;background:#1d4ed8;color:#eff6ff;font-size:11px;font-weight:700;border:1px solid #93c5fd;box-shadow:0 2px 8px #0f172a73}.map-other-player-name{font-size:11px;font-weight:700;color:#bfdbfe;background:#0f172adb;border:1px solid #1e40af;border-radius:8px;padding:2px 6px;max-width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-other-player-marker.is-offline .map-other-player-chip{background:#4b5563;border-color:#94a3b8;color:#e2e8f0}.map-other-player-marker.is-offline .map-other-player-name{color:#e2e8f0;border-color:#64748b;background:#334155db}.map-player-push-animation{position:absolute;left:0;top:0;transform:translate(-50%,-50%);animation:map-player-push-travel .65s cubic-bezier(.22,1,.36,1) forwards}.map-player-push-animation-chip{width:20px;height:20px;border-radius:999px;display:grid;place-items:center;background:#1d4ed8f0;color:#eff6ff;font-size:11px;font-weight:800;border:1px solid rgba(191,219,254,.9);box-shadow:0 0 0 2px #ffffff2e,0 8px 18px #0f172a59}.map-player-push-animation.is-current-player .map-player-push-animation-chip{background:#2563ebfa;border-color:#dbeafef2}@keyframes map-player-push-travel{0%{opacity:0;transform:translate(-50%,-50%) scale(.86)}18%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--map-player-push-dx, 0px)),calc(-50% + var(--map-player-push-dy, 0px))) scale(1.02)}}.map-combat-laser{position:absolute;transform:translateY(-50%) rotate(var(--map-combat-laser-angle, 0rad));transform-origin:left center;height:max(2px,var(--map-combat-laser-thickness, 4px));border-radius:999px;background:linear-gradient(90deg,#ffedd524,#ffedd5eb 12%,#fb923cfa 46%,#f97316f2);box-shadow:0 0 calc(var(--map-combat-laser-thickness, 4px) * 1.8) #fb923ce6,0 0 calc(var(--map-combat-laser-thickness, 4px) * 3.2) #f973166b;opacity:0;animation:map-combat-laser-flash .3s cubic-bezier(.2,.8,.2,1) forwards}.map-combat-laser:before,.map-combat-laser:after{content:"";position:absolute;pointer-events:none}.map-combat-laser:before{inset:calc(var(--map-combat-laser-thickness, 4px) * -.9) 0;border-radius:inherit;background:linear-gradient(90deg,#ffedd500,#fbbf248f 24%,#f9731694);filter:blur(calc(var(--map-combat-laser-thickness, 4px) * 1.2))}.map-combat-laser:after{right:0;top:50%;width:calc(var(--map-combat-laser-thickness, 4px) * 2.4);height:calc(var(--map-combat-laser-thickness, 4px) * 2.4);transform:translate(50%,-50%);border-radius:999px;background:#fff7edf5;box-shadow:0 0 calc(var(--map-combat-laser-thickness, 4px) * 1.6) #ffedd5f2,0 0 calc(var(--map-combat-laser-thickness, 4px) * 3.1) #f9731685}@keyframes map-combat-laser-flash{0%{opacity:0;transform:translateY(-50%) rotate(var(--map-combat-laser-angle, 0rad)) scaleX(.16)}18%{opacity:1}72%{opacity:.88}to{opacity:0;transform:translateY(-50%) rotate(var(--map-combat-laser-angle, 0rad)) scaleX(1)}}.map-roaming-marker{all:unset;box-sizing:border-box;--wave-mob-marker-base-offset: 0px;position:absolute;transform:translate(-50%,-50%);width:max(30px,calc(180px * var(--map-node-ui-scale)));height:max(40px,calc(240px * var(--map-node-ui-scale)));display:block;pointer-events:auto;cursor:pointer;touch-action:manipulation;overflow:visible;z-index:5;animation:wave-mob-float 2.2s ease-in-out infinite;animation-play-state:var(--map-wave-marker-play-state, running)}.map-damage-float-anchor{position:absolute;display:inline-flex;align-items:center;justify-content:center;min-width:max-content;left:50%;top:calc(max(-18px,calc(-34px * var(--map-node-ui-scale))) - var(--map-damage-float-stack-index, 0) * 18px);transform:translate3d(-50%,0,0);pointer-events:none;z-index:10}.map-damage-float{display:inline-flex;align-items:center;justify-content:center;min-width:0;padding:0;color:#ff6b6b;font-size:max(15px,calc(24px * var(--map-node-ui-scale)));font-weight:900;line-height:1;letter-spacing:0;white-space:nowrap;-webkit-text-stroke:1.6px rgba(0,0,0,.96);paint-order:stroke fill;text-shadow:0 0 12px rgba(239,68,68,.38),0 2px 8px rgba(15,23,42,.88);animation:map-damage-float-rise 2s cubic-bezier(.18,.72,.28,1) forwards}.map-damage-float.is-crit{color:#fde68a;transform:scale(1.08);text-shadow:0 0 14px rgba(250,204,21,.45),0 2px 8px rgba(15,23,42,.88)}.map-damage-float.is-miss{color:#fecaca;text-shadow:0 0 12px rgba(248,113,113,.34),0 2px 8px rgba(15,23,42,.88)}.map-damage-float.is-heal{color:#86efac;text-shadow:0 0 12px rgba(34,197,94,.36),0 2px 8px rgba(15,23,42,.88)}.map-marker-cooldown{display:inline-flex;width:max(20px,calc(54px * var(--map-node-ui-scale)))}.map-marker-cooldown-track{width:100%;height:max(4px,calc(8px * var(--map-node-ui-scale)));border-radius:999px;overflow:hidden;background:#0f172abd;border:1px solid rgba(148,163,184,.7)}.map-marker-cooldown-fill{display:block;height:100%;background:linear-gradient(90deg,#f59e0b,#f97316 45%,#ef4444)}.map-roaming-marker:focus-visible{outline:2px solid #9cc4ff;outline-offset:2px}.map-roaming-marker-anchor{position:absolute;inset:0;display:block}.map-roaming-marker-anchor.is-hit-reacting{animation:map-roaming-hit-shake .3s ease-out}.map-roaming-marker-meta{position:absolute;left:50%;top:calc(100% + max(2px,calc(4px * var(--map-node-ui-scale))));transform:translate(-50%);display:grid;justify-items:center;gap:max(2px,calc(4px * var(--map-node-ui-scale)));z-index:100}.map-roaming-marker.is-attackable,.map-roaming-marker.is-out-of-range{opacity:1}.map-roaming-marker.is-dying{pointer-events:none}.map-roaming-marker-piece{filter:drop-shadow(0 2px 6px rgba(15,23,42,.72)) drop-shadow(0 0 0 rgba(0,0,0,0))}.map-roaming-marker.is-dying .map-roaming-marker-anchor,.map-roaming-marker.is-dying .map-roaming-marker-meta{animation:map-marker-death-fade 1s ease forwards}.map-roaming-marker-anchor.is-hit-reacting .map-roaming-marker-piece,.map-roaming-marker-anchor.is-hit-reacting .map-roaming-marker-piece-fallback{animation:map-roaming-hit-flash .18s ease-out}.map-roaming-marker-piece-fallback{border-color:#f87171;background:#450a0a;color:#fee2e2}.map-roaming-marker.is-attackable .map-roaming-marker-piece,.map-roaming-marker.is-attackable .map-roaming-marker-piece-fallback{filter:drop-shadow(0 2px 6px rgba(15,23,42,.72)) drop-shadow(0 0 max(5px,calc(10px * var(--map-node-ui-scale))) rgba(245,158,11,.45))}.map-roaming-marker.is-selected .map-roaming-marker-piece,.map-roaming-marker.is-selected .map-roaming-marker-piece-fallback{filter:drop-shadow(0 2px 6px rgba(15,23,42,.72)) drop-shadow(0 0 max(6px,calc(12px * var(--map-node-ui-scale))) rgba(251,191,36,.72))}.map-roaming-marker-hp{display:block;width:max(54px,calc(144px * var(--map-node-ui-scale)));height:max(6px,calc(12px * var(--map-node-ui-scale)));border-radius:999px;border:1px solid #f87171;background:#450a0a;box-shadow:0 0 max(6px,calc(12px * var(--map-node-ui-scale))) #f871714d,0 0 max(10px,calc(18px * var(--map-node-ui-scale))) #7f1d1d3d;overflow:hidden}.map-roaming-marker-hp-fill{display:block;height:100%;background:linear-gradient(90deg,#fca5a5,#ef4444 18%,#b91c1c)}.map-roaming-marker-chasing-badge{display:inline-flex;align-items:center;justify-content:center;min-height:calc(28px * var(--map-node-ui-scale, 1));padding:0 calc(14px * var(--map-node-ui-scale, 1));border-radius:999px;border:1px solid #f59e0b;background:#451a03;color:#fcd34d;font-size:calc(20px * var(--map-node-ui-scale, 1));font-weight:900;letter-spacing:.02em;line-height:1;white-space:nowrap;word-break:keep-all;writing-mode:horizontal-tb;position:relative;z-index:100}@media(prefers-reduced-motion:reduce){.map-combat-laser{animation:none;opacity:.82}.map-roaming-marker,.map-roaming-marker-anchor.is-hit-reacting,.map-roaming-marker-anchor.is-hit-reacting .map-roaming-marker-piece,.map-roaming-marker-anchor.is-hit-reacting .map-roaming-marker-piece-fallback,.map-node-current-player-anchor.is-hit-reacting,.map-node-current-player-anchor.is-hit-reacting .map-node-current-player,.map-node-current-player-anchor.is-hit-reacting .map-node-current-player-fallback,.wave-mob-marker-anchor.is-hit-reacting,.wave-mob-marker-anchor.is-hit-reacting .wave-mob-piece,.wave-mob-marker-anchor.is-hit-reacting .wave-mob-piece-fallback{animation:none}}.map-roaming-damage-popup{position:absolute;left:0;top:0;transform:translate(-50%,calc(-42px - var(--map-roaming-popup-stack-index, 0) * 20px));font-size:max(10px,calc(18px * var(--map-node-ui-scale)));font-weight:900;line-height:1;letter-spacing:.02em;text-shadow:0 1px 0 rgba(15,23,42,.85),0 0 10px rgba(15,23,42,.45);opacity:0;color:#f87171;animation:map-roaming-damage-float 2s ease-out forwards}.map-roaming-damage-popup.is-player{color:#f87171}.map-roaming-damage-popup.is-critical{color:#fecaca;font-size:max(12px,calc(24px * var(--map-node-ui-scale)))}.map-roaming-damage-popup.is-counter,.map-roaming-damage-popup.is-remote{color:#f87171}.map-hazard-damage-popup{position:absolute;left:0;top:0;transform:translate(-50%,calc(-46px - var(--map-hazard-popup-stack-index, 0) * 18px));font-size:max(11px,calc(19px * var(--map-node-ui-scale)));font-weight:900;line-height:1;letter-spacing:.02em;text-shadow:0 1px 0 rgba(15,23,42,.9),0 0 12px rgba(127,29,29,.45);opacity:0;color:#fecaca;animation:map-hazard-damage-float 1.6s ease-out forwards}.map-hazard-damage-popup.is-entry{color:#fde68a}.map-hazard-damage-popup.is-tick{color:#fca5a5}@keyframes map-roaming-damage-float{0%{opacity:0;transform:translate(-50%,calc(-10px - var(--map-roaming-popup-stack-index, 0) * 14px)) scale(.9)}15%{opacity:1}to{opacity:0;transform:translate(-50%,calc(-68px - var(--map-roaming-popup-stack-index, 0) * 22px)) scale(1.04)}}@keyframes map-hazard-damage-float{0%{opacity:0;transform:translate(-50%,calc(-18px - var(--map-hazard-popup-stack-index, 0) * 12px)) scale(.88)}18%{opacity:1}to{opacity:0;transform:translate(-50%,calc(-82px - var(--map-hazard-popup-stack-index, 0) * 20px)) scale(1.06)}}@keyframes map-roaming-hit-shake{0%{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}to{transform:translate(0)}}.map-mob-attack-effect-layer{position:absolute;inset:0;z-index:10;display:grid;place-items:center;pointer-events:none;overflow:visible}.map-mob-attack-effect-image{position:absolute;top:50%;left:50%;image-rendering:pixelated;opacity:0}.map-mob-attack-effect-layer.is-slash .map-mob-attack-effect-image{width:calc((200% + max(40px,calc(80px * var(--map-node-ui-scale, 1))))*.7);height:calc((100% + max(20px,calc(40px * var(--map-node-ui-scale, 1))))*.7);animation:combat-attack-slash .3s ease-out forwards}.map-mob-attack-effect-layer.is-pierce .map-mob-attack-effect-image{width:calc((200% + max(30px,calc(60px * var(--map-node-ui-scale, 1))))*.7);height:calc((200% + max(30px,calc(60px * var(--map-node-ui-scale, 1))))*.7);animation:combat-attack-pierce 1s ease-out forwards}.map-mob-attack-effect-layer.is-blunt .map-mob-attack-effect-image{width:calc((200% + max(40px,calc(80px * var(--map-node-ui-scale, 1))))*.7);height:calc((150% + max(20px,calc(40px * var(--map-node-ui-scale, 1))))*.7);animation:combat-attack-blunt 2s ease-out forwards}@media(prefers-reduced-motion:reduce){.map-mob-attack-effect-image{animation:none!important}}@keyframes map-player-hit-shake{0%{transform:translate(-50%,-50%)}25%{transform:translate(calc(-50% - 6px),-50%)}75%{transform:translate(calc(-50% + 6px),-50%)}to{transform:translate(-50%,-50%)}}@keyframes map-roaming-hit-flash{0%{filter:brightness(1) saturate(1) drop-shadow(0 2px 6px rgba(15,23,42,.72))}50%{filter:brightness(1.12) sepia(.95) saturate(6) hue-rotate(-28deg) drop-shadow(0 0 10px rgba(248,113,113,.7))}to{filter:brightness(1) saturate(1) drop-shadow(0 2px 6px rgba(15,23,42,.72))}}@keyframes map-player-hit-flash{0%{filter:drop-shadow(0 1px 3px rgba(15,23,42,.65))}50%{filter:brightness(1.18) sepia(.95) saturate(6) hue-rotate(-28deg) drop-shadow(0 0 10px rgba(248,113,113,.72))}to{filter:drop-shadow(0 1px 3px rgba(15,23,42,.65))}}.map-node{position:absolute;transform:translate(-50%,-50%);width:max(24px,calc(74px * var(--map-node-ui-scale) * var(--map-node-scale-ratio)));height:max(24px,calc(74px * var(--map-node-ui-scale) * var(--map-node-scale-ratio)));display:grid;place-items:center;pointer-events:auto;outline:none}.map-node-visual{position:absolute;inset:0;display:grid;place-items:center}.map-node-visual.is-disabled{opacity:.45}.map-node:focus-visible{border-radius:999px;box-shadow:0 0 0 3px #3b82f68c}.map-node.is-roaming-blocked .map-node-core{border-color:#b91c1c;box-shadow:0 0 0 max(1px,calc(2px * var(--map-node-ui-scale))) #f87171b3,0 0 max(10px,calc(18px * var(--map-node-ui-scale))) #b91c1c73;background:radial-gradient(circle at 30% 30%,#fecacaf2,#991b1be6)}.map-node.is-roaming-blocked .map-node-ring-reachable{border-color:#f87171e6}.map-node-fire-zone-aura,.map-node-fire-zone-core-tint,.map-node-fire-pulse,.map-node-hazard-zone-aura,.shockwave-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:999px;pointer-events:none}.map-node-fire-zone-aura{width:max(30px,calc(94px * var(--map-node-ui-scale) * var(--map-node-tile-scale)));height:max(30px,calc(94px * var(--map-node-ui-scale) * var(--map-node-tile-scale)));z-index:0;background:radial-gradient(circle,#fb71854d,#dc26262e 45%,#450a0a00 78%);filter:blur(calc(3px * var(--map-node-ui-scale)))}.map-node-fire-zone-aura.is-center{background:radial-gradient(circle,#fff1f257,#f8717152,#dc262633 56%,#450a0a00 82%)}.map-node-fire-zone-core-tint{width:max(16px,calc(42px * var(--map-node-ui-scale) * var(--map-node-tile-scale)));height:max(16px,calc(42px * var(--map-node-ui-scale) * var(--map-node-tile-scale)));z-index:2;background:radial-gradient(circle,#fecaca80,#ef4444a6 48%,#7f1d1de6);box-shadow:0 0 0 max(1px,calc(2px * var(--map-node-ui-scale))) #fecaca2e,0 0 max(8px,calc(12px * var(--map-node-ui-scale))) #ef444442;mix-blend-mode:screen}.map-node.is-fire-dragon-center .map-node-fire-zone-core-tint{box-shadow:0 0 0 max(1px,calc(2px * var(--map-node-ui-scale))) #fff1f238,0 0 max(10px,calc(16px * var(--map-node-ui-scale))) #fb718552}.map-node.is-fire-dragon-zone .map-node-core{background:#8a3838}.map-node-fire-pulse{width:max(40px,calc(128px * var(--map-node-ui-scale) * var(--map-node-tile-scale)));height:max(40px,calc(128px * var(--map-node-ui-scale) * var(--map-node-tile-scale)));z-index:1;border:max(1px,calc(3px * var(--map-node-ui-scale))) solid rgba(255,255,255,.94);background:radial-gradient(circle,#ffffff57,#ffffff24 34%,#ffffff0a,#fff0 78%);box-shadow:0 0 max(18px,calc(30px * var(--map-node-ui-scale))) #ffffffeb,0 0 max(34px,calc(56px * var(--map-node-ui-scale))) #ffffff94,0 0 max(52px,calc(84px * var(--map-node-ui-scale))) #ffffff3d;animation:map-fire-dragon-pulse 2s ease-out forwards}.map-node-hazard-zone-aura{width:max(26px,calc(88px * var(--map-node-ui-scale) * var(--map-node-tile-scale)));height:max(26px,calc(88px * var(--map-node-ui-scale) * var(--map-node-tile-scale)));z-index:1;background:radial-gradient(circle,var(--map-hazard-zone-color, rgba(220, 60, 20, .35)) 0%,rgba(220,60,20,.18) 42%,rgba(69,10,10,0) 78%);box-shadow:var(--map-hazard-zone-glow, 0 0 12px 4px rgba(220, 60, 20, .6));filter:blur(calc(2.5px * var(--map-node-ui-scale)))}.map-node-hazard-warning-badge{position:absolute;left:calc(50% + max(8px,calc(16px * var(--map-node-ui-scale))));top:calc(50% - max(12px,calc(22px * var(--map-node-ui-scale))));z-index:5;min-width:max(9px,calc(16px * var(--map-node-ui-scale)));height:max(9px,calc(16px * var(--map-node-ui-scale)));padding:0 max(2px,calc(4px * var(--map-node-ui-scale)));border-radius:999px;display:grid;place-items:center;background:#f87171f2;color:#fff7ed;font-size:max(8px,calc(10px * var(--map-node-ui-scale)));font-weight:900;line-height:1;box-shadow:0 0 0 1px #ffffff3d,0 0 10px #f8717173;pointer-events:none}.shockwave-ring{width:max(24px,calc(72px * var(--map-node-ui-scale) * var(--map-node-tile-scale)));height:max(24px,calc(72px * var(--map-node-ui-scale) * var(--map-node-tile-scale)));z-index:4;border:max(1px,calc(3px * var(--map-node-ui-scale))) solid rgba(255,255,255,.85);box-shadow:0 0 max(12px,calc(22px * var(--map-node-ui-scale))) #ffffff73,0 0 max(18px,calc(32px * var(--map-node-ui-scale))) #fbbf2433;animation:shockwave-pulse .6s ease-out forwards}@keyframes shockwave-pulse{0%{transform:translate(-50%,-50%) scale(.5);opacity:.9}to{transform:translate(-50%,-50%) scale(2.5);opacity:0}}.map-node-core{width:max(16px,calc(42px * var(--map-node-ui-scale) * var(--map-node-tile-scale)));height:max(16px,calc(42px * var(--map-node-ui-scale) * var(--map-node-tile-scale)));border-radius:999px;border:max(1px,calc(3px * var(--map-node-ui-scale) * var(--map-node-tile-scale))) solid #5b3418;background:#b67a3e;display:grid;place-items:center;z-index:2}.map-node-center-piece{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(32px,calc(64px * var(--map-node-ui-scale) * var(--map-node-tile-scale)));height:max(32px,calc(64px * var(--map-node-ui-scale) * var(--map-node-tile-scale)));object-fit:contain;image-rendering:pixelated;pointer-events:none;z-index:3;filter:drop-shadow(0 10px 10px rgba(2,6,23,.55))}.map-node-center-piece-fallback{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(32px,calc(64px * var(--map-node-ui-scale) * var(--map-node-tile-scale)));height:max(32px,calc(64px * var(--map-node-ui-scale) * var(--map-node-tile-scale)));border-radius:16px;border:1px dashed #94a3b8;background:#0f172ad9;color:#cbd5e1;font-size:11px;font-weight:700;display:grid;place-items:center;text-transform:uppercase;pointer-events:none;z-index:3;box-shadow:0 10px 12px #02061780}.map-node-center-piece.is-castle,.map-node-center-piece.is-village{filter:none}.map-node-center-piece.is-village,.map-node-center-piece-fallback.is-village{z-index:3}.map-node-center-piece-fallback.is-castle,.map-node-center-piece-fallback.is-village{box-shadow:none}.map-node-center-piece.is-castle.is-node-reachable-highlight,.map-node-center-piece.is-portal.is-node-reachable-highlight,.map-node-center-piece.is-village.is-node-reachable-highlight{filter:drop-shadow(1px 0 0 #3b82f6) drop-shadow(-1px 0 0 #3b82f6) drop-shadow(0 1px 0 #3b82f6) drop-shadow(0 -1px 0 #3b82f6) drop-shadow(1px 1px 0 #3b82f6) drop-shadow(-1px -1px 0 #3b82f6) drop-shadow(-1px 1px 0 #3b82f6) drop-shadow(1px -1px 0 #3b82f6)}.map-node-center-piece.is-castle.is-node-current-highlight,.map-node-center-piece.is-portal.is-node-current-highlight,.map-node-center-piece.is-village.is-node-current-highlight{filter:drop-shadow(1px 0 0 #f59e0b) drop-shadow(-1px 0 0 #f59e0b) drop-shadow(0 1px 0 #f59e0b) drop-shadow(0 -1px 0 #f59e0b) drop-shadow(1px 1px 0 #f59e0b) drop-shadow(-1px -1px 0 #f59e0b) drop-shadow(-1px 1px 0 #f59e0b) drop-shadow(1px -1px 0 #f59e0b)}.map-node-center-piece-fallback.is-castle.is-node-reachable-highlight,.map-node-center-piece-fallback.is-portal.is-node-reachable-highlight,.map-node-center-piece-fallback.is-village.is-node-reachable-highlight{box-shadow:0 0 0 max(1px,calc(2px * var(--map-node-ui-scale))) #3b82f6}.map-node-center-piece-fallback.is-castle.is-node-current-highlight,.map-node-center-piece-fallback.is-portal.is-node-current-highlight,.map-node-center-piece-fallback.is-village.is-node-current-highlight{box-shadow:0 0 0 max(1px,calc(2px * var(--map-node-ui-scale))) #f59e0b}.map-node-edge-piece{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;pointer-events:none;z-index:4}.map-node-edge-piece.is-dimmed{opacity:.3}.map-node-edge-piece-image{object-fit:contain;image-rendering:pixelated}.map-node-edge-piece.is-monster .map-node-edge-piece-image{width:max(8px,calc(50px * var(--map-node-ui-scale)));height:max(11px,calc(66px * var(--map-node-ui-scale)));filter:drop-shadow(0 6px 2px rgba(2,6,23,.6))}.map-node-edge-piece.is-treasure .map-node-edge-piece-image,.map-node-edge-piece.is-rest .map-node-edge-piece-image{width:max(8px,calc(48px * var(--map-node-ui-scale)));height:max(8px,calc(48px * var(--map-node-ui-scale)))}.map-node-edge-piece-fallback{border-radius:8px;border:1px dashed #94a3b8;background:#0f172adb;color:#cbd5e1;font-size:10px;display:grid;place-items:center;text-transform:uppercase}.map-node-edge-piece.is-monster .map-node-edge-piece-fallback{width:max(8px,calc(50px * var(--map-node-ui-scale)));height:max(11px,calc(66px * var(--map-node-ui-scale)));box-shadow:0 6px 2px #02061799}.map-node-edge-piece.is-treasure .map-node-edge-piece-fallback,.map-node-edge-piece.is-rest .map-node-edge-piece-fallback{width:max(8px,calc(48px * var(--map-node-ui-scale)));height:max(8px,calc(48px * var(--map-node-ui-scale)))}.map-node-edge-piece-cooldown{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(6px,calc(20px * var(--map-node-ui-scale)));height:max(6px,calc(20px * var(--map-node-ui-scale)));border-radius:999px;border:1px solid #475569;background:#0f172af0;color:#e2e8f0;font-size:max(6px,calc(11px * var(--map-node-ui-scale)));line-height:max(6px,calc(20px * var(--map-node-ui-scale)));text-align:center;z-index:7}.map-node-current-player-anchor{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:6;pointer-events:none}.map-node-current-player{width:max(13px,calc(34px * var(--map-node-ui-scale) * var(--map-node-tile-scale)));height:max(13px,calc(34px * var(--map-node-ui-scale) * var(--map-node-tile-scale)));object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 1px 3px rgba(15,23,42,.65))}.map-node-current-player-fallback{width:max(13px,calc(34px * var(--map-node-ui-scale) * var(--map-node-tile-scale)));height:max(13px,calc(34px * var(--map-node-ui-scale) * var(--map-node-tile-scale)));border-radius:999px;display:grid;place-items:center;font-size:max(7px,calc(10px * var(--map-node-ui-scale) * var(--map-node-tile-scale)));font-weight:700;color:#dbeafe;border:1px solid #93c5fd;background:#1d4ed8eb}.map-node-current-player-anchor.is-hit-reacting{animation:map-player-hit-shake .3s ease-out}.map-node-current-player-anchor.is-hit-reacting .map-node-current-player,.map-node-current-player-anchor.is-hit-reacting .map-node-current-player-fallback{animation:map-player-hit-flash .18s ease-out}.map-node-start .map-node-core{background:#22c55e;border-color:#15803d}.map-node-normal .map-node-core{background:#b67a3e;border-color:#5b3418;box-shadow:inset 0 0 0 max(1px,calc(2px * var(--map-node-ui-scale))) var(--map-node-region-color, rgba(255, 255, 255, 0)),0 0 max(3px,calc(7px * var(--map-node-ui-scale))) color-mix(in srgb,var(--map-node-region-color, transparent) 36%,transparent)}.map-node-boss .map-node-core{background:#a855f7;border-color:#7e22ce}.map-node-end .map-node-core{background:#ef4444;border-color:#b91c1c}.map-node-castle .map-node-core{width:max(20px,calc(52px * var(--map-node-ui-scale) * var(--map-node-tile-scale)));height:max(20px,calc(52px * var(--map-node-ui-scale) * var(--map-node-tile-scale)));background:#fbbf24;border-color:#92400e;box-shadow:0 0 0 max(1px,calc(2px * var(--map-node-ui-scale))) #fbbf2459}.map-node-portal .map-node-core{background:#67e8f9;border-color:#0e7490;box-shadow:0 0 0 max(1px,calc(2px * var(--map-node-ui-scale))) #67e8f94d}.map-node.is-portal-destroyed .map-node-core{background:#9ca3af;border-color:#475569;box-shadow:none}.map-node-depth{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;pointer-events:none;color:#fff4e0;font-size:max(9px,calc(11px * var(--map-node-ui-scale) * var(--map-node-tile-scale)));font-weight:700;line-height:1;text-shadow:0 1px 1px rgba(51,27,11,.7)}.map-node-depth.is-center-piece-badge{min-width:max(18px,calc(36px * var(--map-node-ui-scale)));height:max(18px,calc(36px * var(--map-node-ui-scale)));border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 max(2px,calc(5px * var(--map-node-ui-scale)));border:1px solid rgba(251,191,36,.85);background:#0f172ad1;color:#fef3c7;text-shadow:none;box-shadow:0 2px 6px #02061773}.map-node-castle-hp,.map-node-portal-status{position:absolute;left:50%;transform:translate(-50%);z-index:7;font-size:10px;font-weight:700;line-height:1;white-space:nowrap;border-radius:999px;padding:4px 8px;border:1px solid #334155;background:#0f172ae6}.map-node-castle-hp{top:calc(-20px * var(--map-node-ui-scale) * var(--map-node-tile-scale));color:#fde68a}.map-node-portal-status{bottom:calc(-20px * var(--map-node-ui-scale) * var(--map-node-tile-scale))}.map-node-portal-status.is-active{color:#a7f3d0;border-color:#0f766e}.map-node-portal-status.is-destroyed{color:#d1d5db;border-color:#475569}.map-node-ring{position:absolute;border-radius:999px;pointer-events:none}.map-node-ring-current{width:max(22px,calc(60px * var(--map-node-ui-scale) * var(--map-node-tile-scale)));height:max(22px,calc(60px * var(--map-node-ui-scale) * var(--map-node-tile-scale)));border:max(1px,calc(4px * var(--map-node-ui-scale) * var(--map-node-tile-scale))) solid #f59e0b;z-index:1}.map-node-ring-reachable{width:max(18px,calc(48px * var(--map-node-ui-scale) * var(--map-node-tile-scale)));height:max(18px,calc(48px * var(--map-node-ui-scale) * var(--map-node-tile-scale)));border:max(1px,calc(3px * var(--map-node-ui-scale) * var(--map-node-tile-scale))) solid #3b82f6;z-index:2}@keyframes map-fire-dragon-pulse{0%{opacity:1;transform:translate(-50%,-50%) scale(.82)}65%{opacity:.58;transform:translate(-50%,-50%) scale(1.42)}to{opacity:0;transform:translate(-50%,-50%) scale(1.72)}}@keyframes map-burn-flash{0%{opacity:0}20%{opacity:1}to{opacity:0}}.wave-mob-marker{--wave-mob-marker-base-offset: max(3px, calc(4px * var(--map-node-ui-scale)));position:absolute;left:50%;top:50%;transform:translate(-50%,calc(-50% - var(--wave-mob-marker-base-offset)));display:flex;flex-direction:column;align-items:center;gap:max(2px,calc(4px * var(--map-node-ui-scale)));pointer-events:auto;cursor:pointer;z-index:5;animation:wave-mob-float 2.2s ease-in-out infinite;animation-play-state:var(--map-wave-marker-play-state, running)}.wave-mob-marker:focus-visible{outline:2px solid #9cc4ff;outline-offset:2px}.wave-mob-marker.is-dying{pointer-events:none;cursor:default}.wave-mob-piece{width:max(30px,calc(180px * var(--map-node-ui-scale)));height:max(40px,calc(240px * var(--map-node-ui-scale)));object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 2px 6px rgba(15,23,42,.72))}.wave-mob-marker-anchor{display:grid;place-items:center}.wave-mob-marker-anchor.is-hit-reacting{animation:map-roaming-hit-shake .3s ease-out}.wave-mob-marker-anchor.is-hit-reacting .wave-mob-piece,.wave-mob-marker-anchor.is-hit-reacting .wave-mob-piece-fallback{animation:map-roaming-hit-flash .18s ease-out}.wave-mob-piece.is-volcanic-dragon{width:max(67.5px,calc(405px * var(--map-node-ui-scale)));height:max(90px,calc(540px * var(--map-node-ui-scale)))}.wave-mob-piece-fallback{width:max(30px,calc(180px * var(--map-node-ui-scale)));height:max(40px,calc(240px * var(--map-node-ui-scale)));border-radius:12px;border:1px dashed #94a3b8;background:#0f172adb;color:#e2e8f0;font-size:10px;font-weight:700;display:grid;place-items:center;text-transform:uppercase}.wave-mob-behavior-head-badge{width:max(8px,calc(48px * var(--map-node-ui-scale)));height:max(8px,calc(48px * var(--map-node-ui-scale)));border-radius:999px;border:1px solid #334155;background:#0f172aeb;display:grid;place-items:center;box-shadow:0 1px 4px #0206177a;position:relative;z-index:100}.wave-mob-behavior-head-icon{width:max(6px,calc(36px * var(--map-node-ui-scale)));height:max(6px,calc(36px * var(--map-node-ui-scale)));object-fit:contain;image-rendering:pixelated}.wave-mob-behavior-head-fallback{width:max(6px,calc(36px * var(--map-node-ui-scale)));height:max(6px,calc(36px * var(--map-node-ui-scale)));border-radius:999px;background:#1d4ed8;color:#dbeafe;font-size:max(6px,calc(20px * var(--map-node-ui-scale)));font-weight:700;display:grid;place-items:center}.wave-mob-marker.is-dying .wave-mob-marker-anchor,.wave-mob-marker.is-dying .wave-mob-piece,.wave-mob-marker.is-dying .wave-mob-piece-fallback,.wave-mob-marker.is-dying .wave-mob-behavior-head-badge,.wave-mob-marker.is-dying .wave-mob-marker-meta,.wave-mob-marker.is-dying .wave-mob-hp-bar{animation:map-marker-death-fade 1s ease forwards}.wave-mob-marker-meta{display:inline-flex;flex-direction:column;align-items:center;gap:max(1px,calc(3px * var(--map-node-ui-scale)));position:relative;z-index:100}.wave-mob-stack-badge,.wave-mob-support-badge{border-radius:999px;border:1px solid #334155;background:#0f172aeb;color:#e2e8f0;box-shadow:0 1px 4px #02061766;font-weight:700;position:relative;z-index:100}.wave-mob-stack-badge{min-width:max(10px,calc(20px * var(--map-node-ui-scale)));padding:max(1px,calc(2px * var(--map-node-ui-scale))) max(3px,calc(6px * var(--map-node-ui-scale)));font-size:calc(28px * var(--map-node-ui-scale));line-height:1;text-align:center}.wave-mob-support-badge{padding:max(1px,calc(2px * var(--map-node-ui-scale))) max(3px,calc(6px * var(--map-node-ui-scale)));font-size:calc(24px * var(--map-node-ui-scale));line-height:1.1;white-space:nowrap}@keyframes wave-mob-float{0%{transform:translate(-50%,calc(-50% - var(--wave-mob-marker-base-offset)))}25%{transform:translate(-50%,calc(-50% - var(--wave-mob-marker-base-offset) - 2px))}75%{transform:translate(-50%,calc(-50% - var(--wave-mob-marker-base-offset) + 2px))}to{transform:translate(-50%,calc(-50% - var(--wave-mob-marker-base-offset)))}}@media(prefers-reduced-motion:reduce){.wave-mob-marker{animation:none}}.mob-info-panel{position:absolute;left:50%;bottom:max(56px,calc(140px * var(--map-node-ui-scale)));transform:translate(-50%);width:min(320px,calc(100vw - 24px));padding:0 16px 16px;border-radius:18px;border:1px solid rgba(148,163,184,.35);background:#0f172af5;box-shadow:0 18px 36px #0206177a;display:grid;gap:12px;z-index:30}.mob-info-panel-stage{--combat-monster-scale: .78;--mob-info-stage-image: none;justify-self:center;width:calc(100% + 32px);aspect-ratio:5 / 3;border-radius:18px 18px 0 0;border-bottom:1px solid rgba(51,65,85,.92);background:radial-gradient(circle at top,rgba(59,130,246,.18),transparent 52%),linear-gradient(180deg,#0f172a66,#020617eb)}.mob-info-panel-stage-backdrop{background-image:var(--mob-info-stage-image)}.mob-info-panel-stage-image,.mob-info-panel-stage-fallback{width:calc(100% * var(--combat-monster-scale, 1));height:calc(100% * var(--combat-monster-scale, 1))}.mob-info-panel-stage-fallback{color:#e2e8f0;font-size:28px;font-weight:800;background:#0f172abd;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mob-info-panel-content{display:grid;gap:8px;padding-top:14px}.mob-info-panel-name{margin:0;font-size:18px;font-weight:800;color:#f8fafc}.mob-info-panel-engagement,.mob-info-panel-hp-text{margin:0;color:#cbd5e1;font-size:13px}.mob-info-panel-hp{height:10px;border-radius:999px;overflow:hidden;background:#450a0adb;border:1px solid rgba(248,113,113,.72)}.mob-info-panel-hp-fill{display:block;height:100%;background:linear-gradient(90deg,#fca5a5,#ef4444 22%,#b91c1c)}.mob-info-panel-stats{display:flex;gap:8px;flex-wrap:wrap}.mob-info-panel-stats span{padding:4px 8px;border-radius:999px;background:#1e293be6;color:#e2e8f0;font-size:12px;font-weight:700}@keyframes map-damage-float-rise{0%{opacity:0;transform:translate(-50%,14px) scale(.9)}12%{opacity:1;transform:translate(-50%) scale(1)}72%{opacity:1}to{opacity:0;transform:translate(-50%,calc(-42px * var(--map-node-ui-scale))) scale(1.04)}}@keyframes map-marker-death-fade{0%{opacity:1;filter:saturate(1)}to{opacity:0;filter:saturate(.6)}}.wave-mob-behavior-summary{display:inline-flex;align-items:center;gap:max(2px,calc(5px * var(--map-node-ui-scale)));border-radius:999px;border:1px solid #334155;background:#0f172aeb;padding:max(1px,calc(2px * var(--map-node-ui-scale))) max(3px,calc(6px * var(--map-node-ui-scale)));box-shadow:0 1px 4px #02061766}.wave-mob-behavior-summary-item{display:inline-flex;align-items:center;gap:max(1px,calc(2px * var(--map-node-ui-scale)))}.wave-mob-behavior-summary-icon{width:max(7px,calc(14px * var(--map-node-ui-scale)));height:max(7px,calc(14px * var(--map-node-ui-scale)));object-fit:contain;image-rendering:pixelated}.wave-mob-behavior-summary-icon-fallback{width:max(7px,calc(14px * var(--map-node-ui-scale)));height:max(7px,calc(14px * var(--map-node-ui-scale)));border-radius:999px;background:#1e293b;color:#dbeafe;font-size:max(7px,calc(8px * var(--map-node-ui-scale)));font-weight:700;display:grid;place-items:center}.wave-mob-behavior-summary-count{min-width:max(6px,calc(11px * var(--map-node-ui-scale)));color:#e2e8f0;font-size:max(7px,calc(10px * var(--map-node-ui-scale)));line-height:1;font-weight:700;text-align:center}.wave-mob-hp-bar{width:max(36px,calc(84px * var(--map-node-ui-scale)));height:max(4px,calc(8px * var(--map-node-ui-scale)));border-radius:999px;border:1px solid rgba(148,163,184,.6);background:#0f172ae6;overflow:hidden}.wave-mob-hp-bar.is-emphasized{width:max(48px,calc(120px * var(--map-node-ui-scale)));height:max(6px,calc(14px * var(--map-node-ui-scale)));border:1px solid rgba(248,113,113,.82);background:#450a0aeb;box-shadow:0 0 max(6px,calc(12px * var(--map-node-ui-scale))) #f8717159,0 0 max(10px,calc(18px * var(--map-node-ui-scale))) #7f1d1d47}.wave-mob-hp-bar-fill{display:block;height:100%;background:linear-gradient(90deg,#ef4444,#f59e0b 40%,#22c55e)}.wave-mob-hp-bar-fill.is-emphasized{background:linear-gradient(90deg,#fca5a5,#ef4444 18%,#b91c1c)}.event-panel{margin:0 0 16px;padding:14px 16px;background:#141a26;border:1px solid #334155;border-radius:12px;text-align:left}.roaming-target-panel,.roaming-result-popup{position:absolute;left:8px;right:8px;z-index:39;border:1px solid rgba(148,163,184,.46);border-radius:16px;background:radial-gradient(circle at top left,rgba(245,158,11,.16),transparent 34%),linear-gradient(180deg,#0f172af7,#0f172aeb);box-shadow:0 20px 40px #02061773;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.roaming-target-panel{bottom:216px;padding:14px;display:grid;gap:12px}.roaming-result-popup{top:56px;padding:14px;display:grid;gap:12px}.roaming-target-panel-header,.roaming-result-popup-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.roaming-target-panel-header h2,.roaming-result-popup-header h3,.roaming-target-panel-kicker,.roaming-result-popup-kicker,.roaming-result-popup-summary{margin:0}.roaming-target-panel-kicker,.roaming-result-popup-kicker{color:#fdba74;font-size:11px;font-weight:800;letter-spacing:.08em}.roaming-target-panel-close,.roaming-result-popup-close{min-width:54px;min-height:32px;border-radius:10px}.roaming-target-panel-badges{display:flex;flex-wrap:wrap;gap:6px}.roaming-target-panel-badges span{padding:4px 8px;border-radius:999px;border:1px solid rgba(148,163,184,.32);background:#0f172a8a;color:#e2e8f0;font-size:11px;font-weight:700}.roaming-target-panel-hp{display:grid;gap:6px}.roaming-target-panel-hp-row{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#e2e8f0;font-size:13px}.roaming-target-panel-progress .ui-progress-track{height:10px}.roaming-target-panel-details{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.roaming-target-panel-details div{display:grid;gap:4px}.roaming-target-panel-details dt{color:#93c5fd;font-size:11px;font-weight:700}.roaming-target-panel-details dd{margin:0;color:#e2e8f0;font-size:13px;font-weight:600}.roaming-target-panel-warning{margin:0;padding:10px 12px;border-radius:12px;border:1px solid rgba(248,113,113,.42);background:#7f1d1d3d;color:#fecaca;font-size:13px}.roaming-target-panel-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.roaming-target-panel-footer.is-readonly{grid-template-columns:1fr}.roaming-target-panel-button{min-height:42px;border-radius:12px;font-size:14px;font-weight:800}.roaming-target-panel-button.is-secondary{background:#334155d9}.roaming-result-popup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.roaming-result-popup-grid div,.roaming-result-popup-reward{display:grid;gap:4px;padding:10px 12px;border-radius:12px;border:1px solid rgba(148,163,184,.28);background:#0f172a85}.roaming-result-popup-grid span,.roaming-result-popup-reward span{color:#93c5fd;font-size:11px;font-weight:700}.roaming-result-popup-grid strong,.roaming-result-popup-reward strong{color:#f8fafc;font-size:15px;line-height:1.4}.roaming-result-popup-summary{color:#e2e8f0;font-size:13px}.roaming-result-popup-section-title{margin:0;color:#f8fafc;font-size:12px;font-weight:800}.roaming-result-popup-skill-box,.roaming-result-popup-skill-choice-box{display:grid;gap:8px;padding:12px;border-radius:12px;border:1px solid rgba(148,163,184,.28);background:#0f172a94}.roaming-result-popup-skill-choice-box{border-color:#60a5fa59;background:#1e293bc2}.roaming-result-popup-skill-log-list{margin:0;padding-left:18px;display:grid;gap:6px;color:#cbd5e1;font-size:13px}.roaming-result-popup-actions{display:flex;justify-content:flex-start}.roaming-result-popup-primary-button{min-height:40px;border-radius:12px;padding:0 14px;font-size:14px;font-weight:800}@media(max-width:640px){.roaming-target-panel{bottom:194px}.roaming-target-panel-details,.roaming-target-panel-footer,.roaming-result-popup-grid{grid-template-columns:1fr}}.event-panel h2{margin:0 0 8px;font-size:17px}.event-panel p{margin:0}.event-panel button{margin-bottom:10px;min-height:48px;font-weight:700}.defense-action-panel{margin-bottom:0}.session-chat-panel{margin-bottom:0;display:grid;gap:10px}.session-chat-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.session-chat-header h2{margin-bottom:0}.session-chat-header p{margin:0;font-size:12px}.session-chat-log{max-height:220px;overflow-y:auto;display:grid;gap:8px;padding-right:4px}.session-chat-item{margin:0;border:1px solid #334155;border-radius:10px;background:#0f172a;padding:8px 10px}.session-chat-item.is-mine{border-color:#0369a1;background:#0c4a6e40}.session-chat-item-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:12px}.session-chat-item-header span{color:#94a3b8}.session-chat-item p{margin:0;white-space:pre-wrap;word-break:break-word;font-size:13px}.session-chat-form{display:grid;gap:8px}.session-chat-form textarea{width:100%;min-height:56px;border:1px solid #475569;border-radius:10px;background:#0b1220;color:#e2e8f0;font:inherit;padding:8px 10px;resize:vertical}.session-chat-form textarea:focus-visible{outline:2px solid #0ea5e9;outline-offset:1px;border-color:#0ea5e9}.session-chat-form-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.session-chat-form-footer .muted{margin:0}.session-chat-form-footer button{margin:0;min-height:36px;padding:6px 12px}.defense-action-panel h2,.defense-action-panel p{margin-bottom:10px}.wave-combat-panel,.wave-combat-result-card{margin-bottom:0;display:grid;gap:10px}.wave-combat-panel{border:1px solid #334155;border-radius:10px;background:#0f172a8c;padding:10px}.wave-combat-panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.wave-combat-panel-header h2,.wave-combat-panel-header h3{margin-bottom:0}.wave-combat-state{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;border:1px solid #475569;padding:0 10px;font-size:12px;font-weight:700}.wave-combat-state.is-active{border-color:#b45309;color:#fde68a;background:#b4530926}.wave-combat-state.is-inactive{border-color:#475569;color:#cbd5e1;background:#0f172a99}.wave-combat-target,.wave-combat-loadout{margin:0}.wave-combat-monster-box{display:grid;grid-template-columns:84px minmax(0,1fr);gap:10px;align-items:center}.wave-combat-monster-image,.wave-combat-monster-fallback{width:84px;height:84px}.wave-combat-monster-image{object-fit:contain;image-rendering:pixelated;border-radius:8px;border:1px solid #334155;background:#020617}.wave-combat-monster-fallback{display:inline-flex;align-items:center;justify-content:center;text-align:center;font-size:11px;line-height:1.2;color:#9ca3af;background:#111827;border:1px dashed #475569;border-radius:8px;padding:4px}.wave-combat-monster-meta{display:grid;gap:4px}.wave-combat-monster-name{margin:0;font-weight:700}.wave-combat-monster-element{margin:0;font-size:12px;color:#cbd5e1}.wave-combat-panel .wave-mob-hp-bar{width:100%;height:8px}.wave-result-close{margin-bottom:0;min-height:36px;padding:4px 12px;font-size:13px}.wave-combat-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.wave-combat-result-grid p{margin:0;border:1px solid #334155;border-radius:10px;background:#111827;padding:8px}.wave-combat-stun-line{margin:0;border:1px solid #b91c1c;border-radius:10px;background:#7f1d1d33;color:#fecaca;padding:8px 10px;font-weight:700}.wave-combat-level-up-box{border:1px solid #854d0e;border-radius:10px;background:linear-gradient(180deg,#854d0e38,#78350f24);color:#fde68a;padding:10px;display:grid;gap:4px}.wave-combat-level-up-box p{margin:0}.wave-combat-level-up-title{font-size:15px;font-weight:800;letter-spacing:.03em}.wave-stun-dialog-backdrop{position:fixed;inset:0;z-index:85;background:#020617bf;display:grid;place-items:center;padding:12px}.wave-stun-dialog{width:min(100%,420px);border:1px solid #334155;border-radius:12px;background:#0b1222;padding:14px;display:grid;gap:10px}.wave-stun-dialog h2{margin:0}.wave-stun-label{margin:0;width:fit-content;border-radius:999px;border:1px solid #f59e0b;background:#f59e0b33;color:#fde68a;padding:4px 10px;font-size:12px;font-weight:800;letter-spacing:.04em}.wave-stun-dialog ul{margin:0;padding-left:18px;display:grid;gap:6px}.wave-stun-dialog li{color:#e2e8f0}.skill-panel-backdrop{position:fixed;inset:0;z-index:120;background:#020617c7;display:grid;place-items:center;padding:16px}.skill-panel{width:min(100%,360px);border:1px solid #334155;border-radius:12px;background:#111827;display:grid;gap:10px;padding:14px;max-height:min(80vh,620px);overflow-y:auto}.skill-choice-panel{width:min(100%,420px)}.skill-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.skill-panel-header h2{margin:0;font-size:18px}.skill-panel-header p{margin:6px 0 0;font-size:12px;color:#cbd5e1}.skill-panel-grid{list-style:none;margin:0;padding:0;display:grid;gap:8px}.skill-card{width:100%;margin:0;border:1px solid #334155;border-radius:10px;background:#111827;padding:10px;display:grid;gap:6px;text-align:left}.skill-card.is-ready{border-color:#166534;background:#15803d2e}.skill-card.is-active{border-color:#2563eb;background:#2563eb2e;box-shadow:inset 0 0 0 1px #93c5fd3d,0 0 0 1px #2563eb14,0 12px 24px #2563eb24}.skill-card.is-cooldown{border-color:#475569;background:#47556938}.skill-card.is-selected{border-color:#60a5fa;background:#2563eb38}.skill-card-state-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.skill-card-name{margin:0;font-size:15px;font-weight:800;color:#f8fafc;display:flex;align-items:center;gap:8px}.skill-card-description{margin:0;font-size:12px;color:#cbd5e1}.skill-card-current-level{margin:0;font-size:12px;font-weight:700;color:#bfdbfe}.skill-card-state-icon{width:22px;height:22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;background:#0f172a9e;border:1px solid rgba(148,163,184,.28)}.skill-card-state-icon.is-ready{color:#86efac;border-color:#22c55e47}.skill-card-state-icon.is-active{color:#bfdbfe;border-color:#60a5fa73;background:#1e40af6b;box-shadow:0 0 16px #3b82f638}.skill-card-state-icon.is-cooldown{color:#cbd5e1;border-color:#94a3b847}.skill-card-state-badge{flex-shrink:0;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.skill-card-state-badge.is-ready{background:#22c55e2e;color:#86efac}.skill-card-state-badge.is-active{background:#3b82f638;color:#93c5fd}.skill-card-state-badge.is-cooldown{background:#94a3b82e;color:#cbd5e1}.skill-panel-guide-box{border:1px solid #334155;border-radius:10px;padding:8px 10px;display:grid;gap:4px}.skill-panel-guide-title{margin:0;font-size:12px;font-weight:700;color:#93c5fd}.skill-panel-guide-message{margin:0;font-size:13px;color:#cbd5e1}.skill-panel-empty{border:1px dashed #475569;border-radius:10px;padding:16px 12px;display:grid;gap:6px;background:#0f172a73}.skill-panel-empty-title,.skill-panel-empty-message{margin:0}.skill-panel-empty-title{font-size:14px;font-weight:700;color:#f8fafc}.skill-panel-empty-message{font-size:13px;color:#cbd5e1}.skill-choice-tab-list{display:flex;gap:8px}.skill-choice-tab{flex:1;min-height:38px;border:1px solid #334155;border-radius:10px;background:#0f172ab3;color:#cbd5e1;font-weight:700}.skill-choice-tab.is-active{border-color:#60a5fa;color:#eff6ff;background:#2563eb38}.skill-panel-actions{display:block}.skill-panel-close-button{min-width:72px;color:#fff}.skill-panel-confirm-button{width:100%;min-height:40px;color:#fff;font-weight:800}.map-skill-entry{display:grid;gap:2px;text-align:left}.wave-log-summary-card{margin-bottom:0}.wave-log-summary-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.wave-log-summary-header button{min-height:40px;margin-bottom:0;padding-inline:12px;font-size:13px}.wave-log-summary-grid{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.wave-log-summary-item{border:1px solid #334155;border-radius:10px;background:#111827;padding:8px;display:grid;gap:4px}.wave-log-summary-item span{font-size:12px;color:#94a3b8}.wave-log-summary-item strong{font-size:13px;color:#f8fafc}.wave-log-preview-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.wave-log-preview-item{border:1px solid #334155;border-radius:10px;background:#111827;padding:8px;display:grid;gap:6px}.wave-log-preview-item p{margin:0;color:#d1d5db;font-size:13px}.wave-log-type-badge{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:4px 7px;border-radius:999px;border:1px solid #475569;background:#0f172ae6;color:#d1d5db;font-size:11px;font-weight:700;line-height:1;letter-spacing:.03em}.wave-log-type-badge.is-spawn{border-color:#0f766e;color:#99f6e4}.wave-log-type-badge.is-combat{border-color:#b45309;color:#fcd34d}.wave-log-type-badge.is-castle{border-color:#1d4ed8;color:#93c5fd}.wave-log-type-badge.is-stun{border-color:#7e22ce;color:#d8b4fe}.wave-log-type-badge.is-misc{border-color:#475569;color:#cbd5e1}.wave-log-list-backdrop{position:fixed;inset:0;z-index:70;background:#020617bd;padding:0}.wave-log-list-sheet{width:min(100%,480px);height:100dvh;margin:0 auto;padding:14px 12px;border-inline:1px solid #334155;background:#0b1222;display:grid;align-content:start;gap:10px;overflow-y:auto}.wave-log-list-header{display:flex;justify-content:space-between;align-items:center;gap:10px}.wave-log-list-header h2{margin:0;font-size:20px}.wave-log-list-header button{margin-bottom:0;min-height:40px;padding-inline:12px}.wave-log-list-controls{display:grid;gap:4px}.wave-log-list-controls label{font-size:13px;color:#cbd5e1}.wave-log-list-controls select{min-height:40px}.wave-log-filter-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.wave-log-filter-row button{min-height:38px;margin-bottom:0;font-size:13px;border-radius:8px}.wave-log-filter-row button.active{border-color:#64748b;background:#2b3b57;color:#f8fafc}.wave-log-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.wave-log-row{border:1px solid #334155;border-radius:10px;background:#111827;padding:10px;display:grid;gap:6px}.wave-log-row-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:#93c5fd}.wave-log-row-message{margin:0;color:#f3f4f6}.wave-log-row-raw{margin:0;font-size:12px;color:#9ca3af}.wave-log-expand-button{min-height:34px;margin:0;width:fit-content;border-radius:8px;border:1px solid #475569;background:#1f2937;color:#e2e8f0;font-size:13px;padding:4px 10px}.wave-log-combat-detail{border:1px solid #334155;border-radius:10px;background:#0f172a;padding:8px;display:grid;gap:6px}.wave-log-detail-line{margin:0;color:#e2e8f0;font-size:13px}.wave-log-hit-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.wave-log-hit-list li{border:1px solid #334155;border-radius:8px;background:#111827;color:#f8fafc;padding:6px 8px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:12px}.wave-log-kill-line{margin:0;color:#86efac;font-weight:700}@media(max-width:340px){.wave-log-summary-grid,.wave-combat-result-grid{grid-template-columns:1fr}}.node-event-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.node-event-item{border:1px solid #324055;border-radius:10px;background:#1a2232;padding:10px;display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.node-event-title{margin:0 0 6px;font-weight:600;display:flex;align-items:center;gap:8px}.event-type-icon{width:20px;height:20px;border-radius:4px;object-fit:cover;image-rendering:pixelated}.event-type-icon.is-grayscale{filter:grayscale(1)}.asset-image-fallback{display:inline-flex;align-items:center;justify-content:center;text-align:center;font-size:11px;line-height:1.2;color:#9ca3af;background:#111827;border:1px dashed #475569;border-radius:8px;padding:4px}.sweep-actions{margin-top:8px}.treasure-reward-box{margin-top:12px;padding:10px;border:1px solid #334155;border-radius:10px;background:#111827}.treasure-reward-box h3{margin:0 0 8px;font-size:14px}.treasure-reward-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.treasure-reward-item{display:flex;align-items:center;gap:8px;padding:8px;border-radius:8px;background:#1b2435;border:1px solid #334155}.treasure-reward-image{width:40px;height:40px;border-radius:6px;image-rendering:pixelated}.treasure-reward-name{margin:0 0 4px;font-weight:600}.treasure-reward-item p{margin:0}.treasure-reward-gold{width:40px;height:40px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;background:#422006;border:1px solid #f59e0b}.treasure-reward-gold .gold-amount-icon{width:20px;height:20px}.village-flow-panel{display:flex;flex:1;min-height:0;height:100%}.village-flow-panel>.event-panel,.village-flow-panel>.shop-panel{margin:0;flex:1;min-height:0;height:100%;overflow-y:auto}.village-flow-panel>.shop-panel{padding:10px 12px 14px;box-sizing:border-box}.runtime-context-banner{display:grid;gap:10px;padding:12px 14px;border-radius:14px;border:1px solid rgba(148,163,184,.32);background:linear-gradient(135deg,#0f172aeb,#1e293be0),linear-gradient(90deg,#94a3b814,#38bdf814);box-shadow:inset 0 1px #ffffff0d}.runtime-context-banner-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.runtime-context-banner-copy{display:grid;gap:4px;min-width:0}.runtime-context-banner-kicker{margin:0;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#93c5fd}.runtime-context-banner-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.runtime-context-banner-depth{color:#f8fafc}.runtime-context-banner-breadcrumb{min-width:0;color:#cbd5e1;font-size:.92rem}.runtime-context-banner-lifecycle-badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;border:1px solid rgba(148,163,184,.28);font-size:.75rem;font-weight:700;letter-spacing:.02em;color:#e2e8f0;background:#0f172a8c}.runtime-context-banner-lifecycle-badge.is-stable{border-color:#22c55e59;background:#16653447;color:#dcfce7}.runtime-context-banner-lifecycle-badge.is-temporary{border-color:#fbbf2452;background:#78350f42;color:#fde68a}.runtime-context-banner-lifecycle-badge.is-warning{border-color:#f8717161;background:#7f1d1d4d;color:#fecaca}.runtime-context-banner-lifecycle-copy{margin:0;color:#fde68a;font-size:.82rem}.runtime-context-banner-leave-button{flex-shrink:0;border:1px solid rgba(148,163,184,.3);border-radius:999px;background:#0f172ab8;color:#f8fafc;padding:8px 12px}.runtime-context-banner-note{margin:0;color:#cbd5e1;font-size:.9rem}.dungeon-objective-panel{display:grid;gap:12px;padding:14px;border-radius:18px;border:1px solid rgba(251,191,36,.24);background:radial-gradient(circle at top left,rgba(250,204,21,.14),transparent 38%),linear-gradient(145deg,#18181bf5,#111827f0);box-shadow:inset 0 1px #ffffff0d,0 16px 36px #0f172a47}.dungeon-objective-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dungeon-objective-panel-kicker{margin:0 0 4px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#fbbf24}.dungeon-objective-panel-header h2{margin:0;color:#fff7ed;font-size:1rem}.dungeon-objective-panel-state{border-radius:999px;border:1px solid rgba(251,191,36,.26);background:#78350f4d;color:#fde68a;padding:6px 10px;font-size:.78rem;font-weight:700;text-transform:uppercase}.dungeon-objective-panel-state.is-cleared{border-color:#4ade804d;background:#14532d61;color:#bbf7d0}.dungeon-objective-progress{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:14px;background:#0f172a80;border:1px solid rgba(148,163,184,.18)}.dungeon-objective-progress-copy{display:grid;gap:4px}.dungeon-objective-progress-copy strong{color:#f8fafc}.dungeon-objective-progress-copy p,.dungeon-objective-cleared-at,.dungeon-objective-refreshing{margin:0;color:#cbd5e1;font-size:.88rem}.dungeon-objective-progress-value{flex-shrink:0;color:#fef3c7;font-weight:700}.dungeon-objective-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.dungeon-objective-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:14px;border:1px solid rgba(148,163,184,.18);background:#0f172a70}.dungeon-objective-card.is-resolved{border-color:#4ade803d;background:#14532d3d}.dungeon-objective-card-copy{display:grid;gap:4px;min-width:0}.dungeon-objective-card-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.dungeon-objective-card-title-row strong{color:#f8fafc}.dungeon-objective-card-title-row span,.dungeon-objective-card-copy p{margin:0;color:#cbd5e1;font-size:.86rem}.dungeon-objective-action,.dungeon-objective-primary,.dungeon-objective-secondary{border-radius:999px;padding:8px 12px;font-weight:600}.dungeon-objective-action,.dungeon-objective-primary{border:1px solid rgba(251,191,36,.32);background:linear-gradient(135deg,#d97706eb,#b45309eb);color:#fff7ed}.dungeon-objective-secondary{border:1px solid rgba(148,163,184,.26);background:#0f172a8a;color:#e2e8f0}.dungeon-objective-destroy{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:14px;border:1px solid rgba(248,113,113,.18);background:#450a0a38}.dungeon-objective-destroy-copy{display:grid;gap:4px}.dungeon-objective-destroy-copy strong{color:#fee2e2}.dungeon-objective-destroy-copy p{margin:0;color:#fecaca;font-size:.88rem}.dungeon-objective-destroy-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}@media(max-width:720px){.dungeon-objective-card,.dungeon-objective-destroy,.dungeon-objective-progress,.runtime-context-banner-top{flex-direction:column;align-items:stretch}.dungeon-objective-action,.dungeon-objective-primary,.dungeon-objective-secondary,.runtime-context-banner-leave-button{width:100%}.dungeon-objective-destroy-actions{flex-direction:column;width:100%}}.village-panel{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;height:100%;background:#000;border-color:#1f2937;padding:12px;overflow:hidden}.village-panel-header{display:block}.village-panel-header h2{margin:0}.village-scene{position:relative;width:100%;min-height:0;height:100%;border-radius:12px;border:1px solid #334155;background:linear-gradient(to bottom,#02061726,#02061773),url(/assets/backgrounds/village.png) center / cover no-repeat,#000;overflow:hidden}.village-scene:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 52% 88%,#94a3b829,#0f172a00 58%),linear-gradient(to bottom,#0206172e,#02061773)}.village-scene-buildings{position:absolute;inset:0;list-style:none;margin:0;padding:0}.village-scene-building-slot{position:absolute}.village-scene-building-slot.is-shop{right:7%;bottom:8%}.village-scene-building-slot.is-forge{left:7%;bottom:20%}.village-scene-building-slot.is-casino{right:7%;top:48%}.village-scene-building-slot.is-house{left:5%;top:30%}.village-scene-building{position:relative;width:clamp(146px,40.3vw,218px);height:clamp(107px,28.6vw,151px);margin:0;padding:0;border:0;border-radius:0;background:transparent;color:#e2e8f0;display:block;text-align:center;min-height:0;font-size:14px;font-weight:700;letter-spacing:.03em;overflow:visible;transition:opacity .15s ease}.village-scene-building-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(1px 0 0 #000) drop-shadow(-1px 0 0 #000) drop-shadow(0 1px 0 #000) drop-shadow(0 -1px 0 #000) drop-shadow(2px 0 0 #000) drop-shadow(-2px 0 0 #000) drop-shadow(0 2px 0 #000) drop-shadow(0 -2px 0 #000)}.village-scene-building-image-fallback{position:absolute;inset:0;width:100%;height:100%;display:grid;place-items:center;border:0;background:transparent;color:#dbeafe;font-size:13px;font-weight:700}.village-scene-building:before{content:none}.village-scene-building.is-closed{opacity:.92}.village-scene-building.is-interactive{cursor:pointer}.village-scene-building-slot.is-casino .village-scene-building,.village-scene-building-slot.is-house .village-scene-building{width:clamp(120px,33.8vw,177px);height:clamp(86px,23.4vw,125px)}.village-scene-building:focus-visible{outline:2px solid #bae6fd;outline-offset:2px}.village-scene-building-name{position:absolute;left:50%;top:calc(100% + 2px);transform:translate(-50%);z-index:2;display:inline-flex;margin:0;padding:4px 8px;border:0;border-radius:8px;background:#000;color:#f8fafc;font-size:12px;line-height:1.2;white-space:nowrap;text-shadow:none}.village-closed-panel{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px;background:#000;border-color:#1f2937}.village-closed-panel-content{display:grid;place-content:center;text-align:center;gap:8px;min-height:0}.village-closed-panel h2,.village-closed-panel p{margin:0}.village-closed-panel button{margin:0;color:#fff}@media(max-width:640px){.village-scene-building-slot.is-shop{right:7%;bottom:8%}.village-scene-building-slot.is-forge{left:7%;bottom:20%}.village-scene-building-slot.is-casino{right:7%;top:48%}.village-scene-building-slot.is-house{left:5%;top:30%}}.building-placeholder-panel{display:grid;gap:10px}.building-placeholder-panel h2,.building-placeholder-panel p{margin:0}.building-placeholder-meta-list{margin:0;padding:0 0 0 16px;display:grid;gap:4px;color:#cbd5e1}.building-placeholder-panel button{margin:0;color:#fff}.casino-panel{--casino-stage-height: 530px;margin-bottom:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:10px;height:100%;min-height:0;background:#0f1f18;border-color:#1d3a2c;padding:12px;overflow-x:hidden;overflow-y:auto}.casino-panel button{color:#fff}.casino-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.casino-panel-header h2,.casino-panel-header p{margin:0}.casino-panel-header-actions{display:inline-flex;align-items:center;gap:8px}.casino-panel-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.casino-panel-tab{margin:0;min-height:36px;border:1px solid rgba(167,243,208,.22);background:#05140e8c;color:#d1fae5}.casino-panel-tab.is-active{border-color:#facc1580;background:linear-gradient(160deg,#4d7c0f40,#14532dc7);color:#fef08a}.casino-panel-tab:disabled{opacity:.72}.casino-panel-limit-time{font-size:12px;color:#d1fae5;white-space:nowrap}.casino-panel-history-button,.casino-panel-exit-button{margin:0;min-height:38px;font-size:12px;white-space:nowrap}.casino-table-stage{position:relative;top:3rem;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:8px;height:var(--casino-stage-height);min-height:0;border:1px solid #1f4a34;border-radius:12px;padding:10px;background:radial-gradient(circle at 20% 15%,#bef2641f,#2d5a3f00 38%),radial-gradient(circle at 80% 8%,#fcd34d1f,#2d5a3f00 34%),linear-gradient(160deg,#0d271df5,#153e2ce6),#2d5a3f;overflow-x:hidden;overflow-y:auto}.casino-table-stage.is-win-glow{animation:casino-win-glow .9s ease}.casino-table-stage.is-lose-shake{animation:casino-lose-shake .55s ease}.casino-table-stage-header{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;font-size:12px;color:#dcfce7}.casino-table-stage-header span{display:inline-flex;align-items:center;gap:4px}.casino-dust-panel,.casino-dust-result-panel{display:grid;gap:12px;align-content:start}.casino-dust-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.casino-dust-panel-header h3,.casino-dust-panel-header p{margin:0}.casino-dust-panel-header h3{font-size:15px;color:#f0fdf4}.casino-dust-panel-header p{margin-top:2px;font-size:12px;color:#d1fae5}.casino-dust-balance{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:999px;border:1px solid rgba(190,242,100,.24);background:#06120d6b;color:#fef08a;font-size:12px;white-space:nowrap}.casino-dust-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.casino-dust-option-button{margin:0;min-height:76px;border:1px solid rgba(167,243,208,.24);border-radius:12px;background:radial-gradient(circle at top left,#facc1524,#facc1500 36%),linear-gradient(165deg,#0f271df0,#0a1812e6);display:grid;gap:4px;align-content:center;justify-items:center}.casino-dust-option-button strong,.casino-dust-option-button span{display:block}.casino-dust-option-button strong{font-size:15px;color:#fef08a}.casino-dust-option-button span{font-size:12px;color:#d1fae5}.casino-dust-option-button.is-insufficient{opacity:.48}.casino-dust-inline-message{margin:0;font-size:12px;color:#bbf7d0}.casino-dust-inline-message.is-error{color:#fecaca}.casino-dust-result-stage{display:grid;gap:10px;justify-items:center}.casino-dust-flip-frame{position:relative;display:grid;place-items:center;width:100%;min-height:284px;padding:8px 0 4px}.casino-dust-flip-frame .card-flip-card-glow{width:172px;height:246px}.casino-dust-flip-card{width:160px;cursor:default}.casino-dust-flip-card .card-flip-card-inner{min-height:229px}.casino-dust-flip-card .card-flip-card-front-body{border-radius:14px}.casino-dust-card-back-status{position:absolute;bottom:18px;left:50%;z-index:1;transform:translate(-50%);color:#f8fafc;font-size:12px;font-weight:800;letter-spacing:.18em;text-shadow:0 6px 18px rgba(15,23,42,.9)}.casino-dust-result-caption{margin:0;text-align:center;font-size:13px;color:#d1fae5}.casino-dust-result-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.casino-dust-result-actions button{margin:0}.casino-card-lane{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;justify-items:center}.casino-playing-card{width:min(100%,124px);aspect-ratio:5 / 7;perspective:1000px}.casino-playing-card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transition:transform .6s ease}.casino-playing-card.is-face-up .casino-playing-card-inner{transform:rotateY(180deg)}.casino-playing-card-face{position:absolute;inset:0;border-radius:10px;border:1px solid rgba(15,23,42,.55);backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}.casino-playing-card-front{position:absolute;inset:0;background:linear-gradient(145deg,#f8fafc,#e2e8f0);background-color:#f8fafc;color:#111827;transform:rotateY(180deg)}.casino-playing-card-back{background:linear-gradient(135deg,#15803d4d,#164e6333),repeating-linear-gradient(45deg,#1f2937 0 6px,#0f172a 6px 12px);border-color:#fff3}.casino-playing-card-corner{position:absolute;left:8px;top:8px;display:inline-flex;flex-direction:column;font-size:14px;line-height:1;font-weight:700}.casino-playing-card-corner.is-bottom{inset:auto 8px 8px auto;transform:rotate(180deg)}.casino-playing-card-center{position:absolute;inset:0;display:grid;place-items:center;font-size:30px}.casino-playing-card-center.is-red,.casino-playing-card-corner.is-red{color:#b91c1c}.casino-playing-card-center.is-black,.casino-playing-card-corner.is-black{color:#0f172a}.casino-round-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;font-size:12px;color:#f0fdf4}.casino-round-summary p{margin:0;display:inline-flex;align-items:center;gap:4px}.casino-betting-input{display:grid;gap:8px;min-height:0}.casino-betting-input-header h3,.casino-betting-input-header p{margin:0}.casino-betting-input-header h3{font-size:14px}.casino-betting-input-header p{margin-top:2px;color:#d1fae5;font-size:12px}.casino-betting-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-size:12px;color:#f0fdf4}.casino-betting-range span{display:inline-flex;align-items:center;gap:4px}.casino-betting-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.casino-betting-preset-button{margin:0;min-height:38px}.casino-betting-input-field{display:grid;gap:6px;font-size:12px;color:#ecfdf5}.casino-betting-input-field input{width:100%;height:40px;border-radius:8px;border:1px solid rgba(187,247,208,.4);background:#06120d7a;color:#f0fdf4;padding:0 10px;box-sizing:border-box}.casino-betting-submit-button{margin:-2.5rem 0 0;min-height:34px;height:34px;padding:0 10px;font-size:12px;line-height:1;display:inline-flex;align-items:center;justify-content:center;gap:6px}.casino-choice-panel{display:grid;gap:8px;align-content:start}.casino-choice-guide{margin:0;font-size:12px;color:#dcfce7}.casino-choice-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.casino-choice-button{margin:0}.casino-choice-button.is-high{color:#7dd3fc}.casino-choice-button.is-low{color:#fca5a5}.casino-history-modal-backdrop{position:fixed;inset:0;z-index:39;display:grid;place-items:center;padding:12px;background:#020617b8}.casino-history-modal{width:min(90%,620px);max-height:80%;border-radius:12px;border:1px solid rgba(167,243,208,.28);background:linear-gradient(165deg,#05140efa,#091f15f5);padding:12px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;overflow:hidden}.casino-history-modal-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.casino-history-modal-header h3{margin:0;font-size:14px;color:#ecfdf5}.casino-history-modal-header button{margin:0;min-height:34px;padding:0 12px;font-size:12px}.casino-history-modal-body{min-height:0;overflow-y:auto;display:grid;gap:10px}.casino-history-modal .casino-recent-history,.casino-history-modal .casino-history-panel{min-height:0}.casino-history-modal .casino-history-panel{max-height:none}.casino-result-overlay{position:fixed;inset:0;display:grid;place-items:center;background:#020617b3;padding:12px;z-index:40}.casino-result-overlay-content{width:min(100%,340px);display:grid;gap:10px;text-align:center;border-radius:12px;border:1px solid rgba(255,255,255,.18);padding:14px 12px;background:#0f172ad9}.casino-result-overlay-content h3,.casino-result-overlay-content p{margin:0}.casino-result-overlay-content h3{font-size:20px;letter-spacing:.05em}.casino-result-overlay.is-win .casino-result-overlay-content h3,.casino-result-overlay.is-cashout .casino-result-overlay-content h3{color:#fef08a}.casino-result-overlay.is-lose .casino-result-overlay-content h3{color:#fca5a5}.casino-result-overlay.is-jackpot .casino-result-overlay-content h3{color:#fde047}.casino-result-overlay-payout{display:inline-flex;align-items:center;justify-content:center;gap:6px}.casino-result-overlay-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.casino-result-overlay-actions button,.casino-result-overlay-restart-button{margin:0}.casino-jackpot-badge{justify-self:center;display:inline-flex;padding:4px 10px;border-radius:999px;background:linear-gradient(140deg,#fde047,#f59e0b);color:#422006;font-size:12px;font-weight:800;animation:casino-jackpot-pop .6s ease-out}.casino-action-error,.casino-action-notice{margin:0;font-size:12px}.casino-action-error{color:#fecaca}.casino-action-notice{color:#bbf7d0}.casino-bankrupt-panel{border:1px solid rgba(248,113,113,.5);border-radius:10px;background:#450a0a59;padding:10px;display:grid;gap:8px}.casino-bankrupt-panel h3,.casino-bankrupt-panel p,.casino-bankrupt-panel button{margin:0}.casino-recent-history{border:1px solid rgba(187,247,208,.25);border-radius:10px;padding:8px 10px;background:#03191173;display:grid;gap:8px}.casino-recent-history h3{margin:0;font-size:13px}.casino-recent-history-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.casino-recent-history-item{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:8px;align-items:center;font-size:12px;color:#ecfdf5}.casino-recent-history-item.is-mine{color:#fef08a}.casino-history-panel{height:auto;max-height:80vh;border:1px solid rgba(167,243,208,.2);border-radius:10px;padding:8px 10px;background:#04130c73;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px}.casino-history-panel h3{margin:0;font-size:13px}.casino-history-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;overflow-y:auto;min-height:0}.casino-history-item{border:1px solid rgba(134,239,172,.18);border-radius:8px;padding:8px;background:#0722156b;display:grid;gap:6px}.casino-history-item.is-mine{border-color:#facc1580;background:#452b0461}.casino-history-item-header{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#dcfce7}.casino-history-item-gameid{font-weight:700;letter-spacing:.04em}.casino-history-item-date{color:#a7f3d0}.casino-history-item-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px;font-size:12px;color:#f0fdf4}.casino-history-item-metrics span{display:inline-flex;align-items:center;gap:4px}.casino-history-error{margin:0;color:#fecaca;font-size:12px}@keyframes casino-win-glow{0%{box-shadow:0 0 #fde04700}40%{box-shadow:0 0 24px #fde04773}to{box-shadow:0 0 #fde04700}}@keyframes casino-lose-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}50%{transform:translate(5px)}75%{transform:translate(-3px)}}@keyframes casino-jackpot-pop{0%{transform:scale(.7);opacity:0}70%{transform:scale(1.12);opacity:1}to{transform:scale(1)}}@keyframes casino-dust-flash{0%{opacity:0}30%{opacity:1}to{opacity:0}}@keyframes casino-dust-apex-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}}@media(max-width:640px){.casino-panel{padding:10px}.casino-table-stage-header,.casino-round-summary{grid-template-columns:1fr}.casino-betting-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.casino-dust-panel-header{grid-template-columns:1fr;display:grid}.casino-dust-flip-frame{min-height:250px}.casino-dust-flip-card{width:144px}.casino-dust-flip-card .card-flip-card-inner{min-height:206px}.casino-dust-flip-frame .card-flip-card-glow{width:156px;height:222px}.casino-dust-option-grid,.casino-dust-result-actions,.casino-history-item-metrics{grid-template-columns:1fr}}.forge-panel{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:10px;height:100%;min-height:0;overflow:hidden}.forge-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.forge-panel-header h2,.forge-panel-header p{margin:0}.forge-panel-header-actions{display:inline-flex;align-items:center;gap:8px}.forge-panel-header button{margin:0}.forge-scene{position:relative;min-height:0;width:100%;aspect-ratio:5 / 3;border:1px solid #334155;border-radius:12px;background:#020617;overflow:hidden}.forge-scene-combat-stage{position:relative;width:100%;height:100%}.forge-scene-visual{position:absolute;inset:0;z-index:1;background:#0f172a;overflow:hidden}.forge-panel.is-animation-locked .forge-scene-visual{box-shadow:0 0 0 1px #facc1559,0 0 18px #facc1533}.forge-scene-image{display:block;width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.forge-scene-image-base{object-position:center}.forge-scene-image-hammer{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:cover;object-position:center;transform:translate3d(0,-6%,0);transform-origin:center top}.forge-scene-image-crack{position:absolute;inset:0;z-index:6;object-fit:cover;opacity:0;transition:opacity .16s ease-out}.forge-scene-flash-overlay{position:absolute;inset:0;z-index:4;pointer-events:none;background:radial-gradient(circle at 50% 50%,#ffec99d6,#facc152e 62%,#facc1500);mix-blend-mode:screen;opacity:0;transition:opacity .22s ease-out}.forge-scene-upgrade-preview{position:absolute;left:50%;bottom:10px;z-index:5;transform:translate(-50%);width:min(88%,300px);height:68px}.forge-scene-upgrade-card{position:absolute;inset:0;border:1px solid #334155;border-radius:10px;background:#0f172aeb;padding:8px 10px;display:grid;gap:2px;align-content:center;transition:opacity .22s ease,transform .22s ease,box-shadow .2s ease}.forge-scene-upgrade-card p{margin:0}.forge-scene-upgrade-card.is-after{opacity:0;transform:translateY(10px) scale(.96)}.forge-scene-visual.is-card-swapped .forge-scene-upgrade-card.is-before{opacity:0;transform:translateY(-8px) scale(.95)}.forge-scene-visual.is-card-swapped .forge-scene-upgrade-card.is-after{opacity:1;transform:translateY(0) scale(1)}.forge-scene-visual.is-hammer-moving .forge-scene-image-hammer{animation:forge-hammer-up-motion .72s ease-in-out infinite}.forge-scene-visual.is-hammer-down .forge-scene-image-hammer{transform:translateZ(0)}.forge-scene-visual.is-scene-shake{animation:forge-scene-shake .2s ease-in-out 2}.forge-scene-visual.is-overlay-visible .forge-scene-flash-overlay{opacity:.85}.forge-scene-visual.is-overlay-fadeout .forge-scene-flash-overlay{opacity:0}.forge-scene-visual.is-crack-visible .forge-scene-image-crack{opacity:.96}.forge-scene-visual.is-success-glow .forge-scene-upgrade-card{box-shadow:0 0 0 1px #fde047ad,0 0 18px #fde04761}.forge-scene-visual.is-card-failure .forge-scene-upgrade-card.is-before.is-failure-blink{animation:forge-upgrade-failure-blink .52s steps(2,end) 2}.forge-animation-status{margin:0;font-size:11px;color:#facc15;font-weight:700}.forge-scene-screen-meta.combat-prep-monster-hp{top:0;left:0;z-index:7;width:min(220px,calc(100% - 8px));border-radius:0 0 10px;background:#020617ad}.forge-scene-dialogue-box.combat-prep-monster-info{z-index:7;width:min(88%,360px);max-width:88%;bottom:12px;background:#020617d6}.forge-scene-dialogue-box .combat-monster-dialogue{color:#bfdbfe}.forge-animation-input-lock{position:fixed;inset:0;z-index:118;pointer-events:auto}.game-screen-layout .event-panel>.forge-animation-input-lock{position:fixed;z-index:118}@keyframes forge-hammer-up-motion{0%{transform:translate3d(0,-8%,0)}50%{transform:translate3d(0,-2%,0)}to{transform:translate3d(0,-8%,0)}}@keyframes forge-scene-shake{0%{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}to{transform:translate(0)}}@keyframes forge-upgrade-failure-blink{0%,to{background:#0f172aeb;border-color:#334155}50%{background:#7f1d1dc7;border-color:#ef4444}}.forge-slot-section{display:grid;gap:8px}.forge-panel-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.forge-panel-tab{margin:0;min-height:38px;border:1px solid rgba(148,163,184,.28);background:#0f172aa8;color:#dbeafe}.forge-panel-tab.is-active{border-color:#facc158f;background:linear-gradient(180deg,#78350f6b,#334155db);color:#fef3c7}.forge-panel-tab:disabled{opacity:.72}.forge-scroll-shell{min-height:0;overflow-y:auto;overflow-x:hidden;display:grid;gap:10px;padding-right:2px;-webkit-overflow-scrolling:touch}.forge-slot-enhance-panel{border-color:#334155;background:#111827;padding:0;overflow:hidden}.forge-slot-button{text-align:left;min-height:80px;border-radius:0}.forge-slot-button .enhance-slot-empty{text-align:left}.game-screen-layout button.forge-slot-button:disabled{opacity:1;filter:none}.forge-slot-image-shell{border-radius:8px;box-shadow:0 0 0 1px #94a3b833}.forge-check-panel{display:grid;gap:10px}.forge-check-summary{border:1px solid #334155;border-radius:12px;background:#1b2435;padding:10px;display:grid;gap:4px}.forge-check-summary p{margin:0}.forge-imbue-toggle{display:flex;gap:8px;flex-wrap:wrap}.forge-imbue-toggle button.active{border-color:#64748b;background:#2b3b57;color:#f8fafc}.forge-result-list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.forge-result-card{border:1px solid #334155;border-radius:10px;background:#1b2435;padding:10px;display:grid;gap:4px}.forge-result-name{margin:0;font-weight:700}.forge-result-card p{margin:0}.forge-cost-panel{border:1px solid #334155;border-radius:12px;background:#1b2435;padding:10px;display:grid;gap:8px}.forge-crafting-stock{display:flex;flex-wrap:wrap;gap:8px}.forge-crafting-stock-item{display:inline-flex;align-items:center;gap:6px;min-height:36px;border:1px solid #334155;border-radius:999px;background:#0f172a;padding:0 10px;color:#e2e8f0;font-size:13px;font-weight:600}.forge-crafting-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.forge-material-panel{align-content:start}.forge-crafting-button{min-height:72px;padding:10px 12px;text-align:left;display:grid;gap:4px}.forge-crafting-button strong,.forge-crafting-button span{display:block}.forge-crafting-button span{font-size:12px;color:#cbd5e1}.forge-cost-title{margin:0;font-weight:700}.forge-cost-panel ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}.forge-cost-panel li{display:flex;justify-content:space-between;gap:10px}.forge-cost-panel li>span:last-child{display:inline-flex;align-items:center;gap:4px}.forge-cost-panel li.is-insufficient{color:#fca5a5}.game-screen-layout .forge-imbue-toggle button,.game-screen-layout .forge-cost-panel .shop-confirm-actions button{z-index:0;background:transparent;color:#f8fafc}.game-screen-layout .forge-cost-panel .shop-confirm-actions .forge-execute-button{min-width:160px}.game-screen-layout .forge-imbue-toggle button:before,.game-screen-layout .forge-cost-panel .shop-confirm-actions button:before{z-index:-1;background-image:var(--ui-btn-main-left),var(--ui-btn-main-right),var(--ui-btn-main-center);background-repeat:no-repeat,no-repeat,repeat-x;background-position:left center,right center,center center;background-size:auto 100%,auto 100%,auto 100%}@media(max-width:640px){.forge-crafting-actions,.forge-result-list{grid-template-columns:minmax(0,1fr)}}.shop-panel{display:grid;gap:12px;align-content:start}.shop-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.shop-panel-header h2{margin:0}.shop-panel-header p{margin:6px 0 0}.shop-panel-header-actions{display:inline-flex;align-items:center;gap:8px}.shop-tabs{display:flex;gap:8px}.shop-tabs button.active{border-color:#64748b;background:#2b3b57;color:#f8fafc}.shop-card-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.shop-card{border:1px solid #334155;border-radius:12px;background:#1b2435;padding:12px;display:grid;gap:8px;align-content:start;position:relative}.shop-card-image{width:64px;height:64px;border-radius:8px;object-fit:cover;border:1px solid #475569;background:#0f172a;image-rendering:pixelated}.shop-card-image-shell{position:relative;width:64px;height:64px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.shop-card-header{display:flex;align-items:center;gap:8px}.shop-card-heading{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.element-effect-frame.shop-card-image-shell .element-effect-frame-content{z-index:auto}.element-effect-frame.shop-card-image-shell .shop-card-image{background:transparent}.shop-card-enchant-turn-badge{top:2px;left:2px}.shop-card-title{margin:0;font-size:15px;font-weight:700}.shop-card-element-badge{margin:0;width:fit-content;display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;border:1px solid #64748b;font-size:12px;font-weight:700;letter-spacing:.02em}.shop-card-element-badge.is-fire{border-color:#f97316;color:#fed7aa;background:#9a341261}.shop-card-element-badge.is-water{border-color:#38bdf8;color:#bae6fd;background:#0e74905c}.shop-card-element-badge.is-wood{border-color:#22c55e;color:#dcfce7;background:#16653457}.shop-card-meta{margin:0;color:#cbd5e1;font-size:13px;line-height:1.2}.shop-card-price{margin:0;font-size:13px;font-weight:700;line-height:1.2;color:#f8fafc;display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.shop-card-price.is-element-weapon{color:#fef08a}.shop-card-price-tag{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;border:1px solid rgba(250,204,21,.55);background:#facc1533;color:#fde68a;font-size:11px;font-weight:700;letter-spacing:.02em}.shop-card-soldout-overlay{position:absolute;inset:0;z-index:4;border-radius:inherit;background:linear-gradient(180deg,#0f172a3d,#0f172ac2);display:grid;place-items:center;color:#f8fafc;font-size:15px;font-weight:800;letter-spacing:.12em;text-shadow:0 1px 2px rgba(2,6,23,.8);pointer-events:none}.game-screen-layout .shop-card>.shop-card-soldout-overlay{z-index:4}.shop-card.is-out-of-stock .shop-card-image{filter:grayscale(.22) brightness(.86)}.shop-quantity-field{display:grid;gap:4px;font-size:13px}.shop-quantity-field input,.shop-quantity-field select{width:100%}.shop-sell-panel{display:grid;gap:10px;align-content:start}.shop-confirm-backdrop,.point-convert-confirm-backdrop{position:fixed;inset:0;z-index:21;display:grid;place-items:center;padding:16px;background:#0f172a80}.forge-confirm-backdrop{z-index:119}.shop-confirm-modal,.point-convert-confirm-modal{width:min(360px,100%);border:1px solid #334155;border-radius:12px;background:#111827;padding:16px;display:grid;gap:10px}.shop-confirm-modal h3,.shop-confirm-modal p,.point-convert-confirm-modal h3,.point-convert-confirm-modal p{margin:0}.shop-confirm-actions,.point-convert-confirm-actions{display:flex;justify-content:flex-end;gap:8px}.combat-panel{display:grid;gap:0;max-height:100%;min-height:0;overflow:hidden}.combat-panel.combat-draw{height:100%}.combat-panel.combat-draw .combat-panel-scroll{align-content:start}.combat-panel.combat-draw .combat-result-actions{align-self:start}.combat-panel-scroll{display:grid;gap:10px;overflow-y:auto;overflow-x:hidden;min-height:0}.monster-dialogue-box{margin:0;padding:10px 12px;border-left:4px solid #38bdf8;border-radius:8px;background:#1e40af33;color:#bfdbfe}.encounter-monster-visual{width:min(100%,420px);margin:0 auto;aspect-ratio:5 / 3;border:1px solid #334155;border-radius:12px;background:#020617;padding:10px;display:grid;place-items:center;overflow:hidden}.encounter-monster-image{position:relative;z-index:1;width:calc(100% * var(--combat-monster-scale, 1));height:calc(100% * var(--combat-monster-scale, 1));margin:0 auto;border-radius:10px;image-rendering:pixelated;object-fit:contain;object-position:center}.encounter-monster-image.is-hit-react{animation:combat-monster-hit-shake .18s ease-in-out 2}.encounter-monster-empty{position:relative;z-index:1;width:100%;height:100%;min-height:0;border:2px dashed #475569;border-radius:10px;display:grid;place-items:center;gap:6px;color:#9ca3af;text-align:center}.encounter-monster-empty-invisible{border:0;background:transparent}.encounter-monster-empty p{margin:0}.encounter-monster-empty-icon{font-size:32px}.encounter-monster-title-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.combat-monster-name{margin:0;font-size:20px;font-weight:700}.combat-result-label{margin:0;width:fit-content;border-radius:999px;border:1px solid #475569;background:#0f172abf;padding:4px 10px;font-size:12px;font-weight:800;letter-spacing:.05em}.combat-result-label.is-victory{border-color:#16a34a;background:#16a34a33;color:#bbf7d0}.combat-result-label.is-defeat{border-color:#b91c1c;background:#7f1d1d40;color:#fecaca}.combat-result-label.is-draw{border-color:#d97706;background:#b453093d;color:#fde68a}.combat-result-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.combat-result-header h2{margin:0}.combat-result-actions{display:grid;gap:8px}.combat-log-modal{--combat-log-frame-cap: 24px;width:min(420px,100%);max-height:min(70vh,560px);position:relative;isolation:isolate;overflow:hidden;border:0;background:transparent}.combat-log-modal:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background-image:url(/assets/ui/ui-frame-dark-tl.png),url(/assets/ui/ui-frame-dark-tr.png),url(/assets/ui/ui-frame-dark-bl.png),url(/assets/ui/ui-frame-dark-br.png),url(/assets/ui/ui-frame-dark-tc.png),url(/assets/ui/ui-frame-dark-bc.png),url(/assets/ui/ui-frame-dark-ml.png),url(/assets/ui/ui-frame-dark-mr.png),url(/assets/ui/ui-frame-dark-mc.png);background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,repeat-x,repeat-x,repeat-y,repeat-y,repeat;background-position:left top,right top,left bottom,right bottom,center top,center bottom,left center,right center,center center;background-size:var(--combat-log-frame-cap) var(--combat-log-frame-cap),var(--combat-log-frame-cap) var(--combat-log-frame-cap),var(--combat-log-frame-cap) var(--combat-log-frame-cap),var(--combat-log-frame-cap) var(--combat-log-frame-cap),calc(100% - (var(--combat-log-frame-cap) * 2)) var(--combat-log-frame-cap),calc(100% - (var(--combat-log-frame-cap) * 2)) var(--combat-log-frame-cap),var(--combat-log-frame-cap) calc(100% - (var(--combat-log-frame-cap) * 2)),var(--combat-log-frame-cap) calc(100% - (var(--combat-log-frame-cap) * 2)),calc(100% - (var(--combat-log-frame-cap) * 2)) calc(100% - (var(--combat-log-frame-cap) * 2));opacity:.9}.combat-log-modal>*{position:relative;z-index:1}.combat-log-modal .modal-confirm-button{min-width:128px;position:relative;z-index:0;background:transparent;isolation:isolate;overflow:hidden}.combat-log-modal .modal-confirm-button:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background-image:url(/assets/ui/ui-btn-main-left.png),url(/assets/ui/ui-btn-main-right.png),url(/assets/ui/ui-btn-main-center.png);background-repeat:no-repeat,no-repeat,repeat-x;background-position:left center,right center,center center;background-size:auto 100%,auto 100%,auto 100%}.combat-log-scroll{display:grid;gap:12px;max-height:min(50vh,420px);overflow-y:auto;padding-right:4px}.combat-log-turn{display:grid;gap:4px;padding:10px 12px;border:1px solid #334155;border-radius:8px;background:#0f172a}.combat-log-turn p,.combat-log-end{margin:0}.combat-evade-text{color:#86efac}.combat-log-end{font-weight:700;color:#cbd5e1}.monster-mastered-badge{display:inline-flex;align-items:center;border-radius:999px;border:1px solid #16a34a;background:#16a34a2e;color:#bbf7d0;font-size:12px;padding:4px 10px;font-weight:700}.combat-multiplier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.combat-multiplier-grid h3,.combat-monster-summary h3,.combat-drop-box h3{margin:0 0 8px;font-size:15px}.combat-multiplier-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.combat-multiplier-list li{display:flex;justify-content:space-between;gap:12px;padding:6px 8px;border:1px solid #334155;border-radius:8px;background:#111827}.combat-prep-panel{--combat-prep-backdrop-image: none;padding:0;max-height:100%;min-height:0;overflow-y:hidden;overflow-x:hidden;display:grid;gap:0;scrollbar-gutter:stable}.combat-prep-scroll-shell{height:100%;min-height:0;display:grid;gap:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.combat-prep-panel button{margin-bottom:0}.combat-prep-monster-section{position:relative;display:block;padding:0;background:transparent;width:100%;aspect-ratio:5 / 3;border-bottom:1px solid #334155}.combat-prep-monster-stage{--combat-monster-scale: .6666667;position:relative;width:100%;height:100%;display:grid;place-items:center;overflow:hidden}.combat-monster-hit-flash-layer{position:absolute;top:50%;left:50%;z-index:2;width:calc(100% * var(--combat-monster-scale, 1));height:calc(100% * var(--combat-monster-scale, 1));border-radius:10px;transform:translate(-50%,-50%);pointer-events:none;background:#ffffff80;animation:combat-monster-hit-flash .2s ease-out forwards}.combat-attack-effect-layer{position:absolute;inset:0;z-index:4;display:grid;place-items:center;pointer-events:none}.combat-attack-effect-image{position:absolute;top:50%;left:50%;image-rendering:pixelated;opacity:0}.combat-attack-effect-layer.is-slash .combat-attack-effect-image{width:min(86%,300px);height:min(41%,112px);animation:combat-attack-slash .3s ease-out forwards}.combat-attack-effect-layer.is-pierce .combat-attack-effect-image{width:min(56%,190px);height:min(56%,190px);animation:combat-attack-pierce 1s ease-out forwards}.combat-attack-effect-layer.is-blunt .combat-attack-effect-image{width:min(70%,220px);height:min(50%,150px);animation:combat-attack-blunt 2s ease-out forwards}@keyframes combat-monster-hit-flash{0%{opacity:.5}to{opacity:0}}@keyframes combat-monster-hit-shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}50%{transform:translate(8px)}75%{transform:translate(-6px)}}@keyframes combat-attack-slash{0%{opacity:0;transform:translate(-50%,-50%) translate(32px);clip-path:inset(0 0 0 100%)}8%{opacity:1}50%{opacity:1;transform:translate(-50%,-50%);clip-path:inset(0 0 0 0)}to{opacity:0;transform:translate(-50%,-50%) translate(-32px);clip-path:inset(0 100% 0 0)}}@keyframes combat-attack-pierce{0%{opacity:1;transform:translate(-50%,-50%) scale(.2)}to{opacity:0;transform:translate(-50%,-50%) scale(1)}}@keyframes combat-attack-blunt{0%{opacity:1;transform:translate(-100%,-50%)}to{opacity:0;transform:translate(-100%,-50%)}}.combat-prep-monster-backdrop{position:absolute;inset:0;z-index:0;background-image:var(--combat-prep-backdrop-image);background-repeat:no-repeat;background-size:cover;background-position:center;opacity:.62;transform:scale(1.04)}.combat-prep-monster-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0206172e,#0206178f)}.combat-prep-monster-hp{position:absolute;z-index:3;width:min(120px,calc(100% - 4px));padding:2px 6px;border:0;background:#02061780}.combat-prep-monster-hp-row{margin:0 0 4px;display:flex;justify-content:space-between;gap:8px;font-size:11px;font-weight:700;color:#e2e8f0}.combat-prep-monster-hp-row span:first-child{max-width:112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combat-prep-monster-hp-row span:last-child{flex-shrink:0}.combat-prep-monster-hp-bar .ui-progress-track{height:6px}.combat-prep-monster-stat-row{margin:6px 0 0;font-size:11px;color:#cbd5e1}.combat-prep-monster-meta-row{margin:4px 0 0;font-size:10px;color:#fcd34d}.combat-prep-difficulty{position:absolute;top:0;right:0;z-index:3;min-width:108px;background:#02061780;text-align:right}.combat-prep-difficulty-rate{margin:0;font-size:11px;font-weight:700;color:#dbeafe}.combat-prep-difficulty-label{margin:2px 0 0;font-size:11px;color:#93c5fd}.combat-prep-difficulty.is-normal .combat-prep-difficulty-rate,.combat-prep-difficulty.is-normal .combat-prep-difficulty-label{color:#4ade80}.combat-prep-difficulty.is-hard .combat-prep-difficulty-rate,.combat-prep-difficulty.is-hard .combat-prep-difficulty-label{color:#fb923c}.combat-prep-difficulty.is-deadly .combat-prep-difficulty-rate,.combat-prep-difficulty.is-deadly .combat-prep-difficulty-label{color:#f87171}.combat-prep-monster-info{position:absolute;left:50%;bottom:10px;transform:translate(-50%);z-index:2;width:70%;max-width:70%;padding:6px 10px;border-radius:10px;background:#020617db;border:1px solid #334155;text-align:center}.combat-monster-dialogue{margin:0;color:#bfdbfe;font-size:12px;line-height:1.35}.combat-prep-monster-info .combat-monster-dialogue{margin:0;text-align:center;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;word-break:keep-all}.combat-monster-stat-line{margin:0}.combat-prep-multiplier-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.combat-prep-analysis-grid{display:grid;gap:8px}.combat-prep-analysis-card{border-radius:10px;border:1px solid #334155;background:#0f172ab8;padding:8px;display:grid;gap:8px}.combat-prep-analysis-card h3{margin:0;font-size:13px;color:#e2e8f0}.combat-prep-affinity-value{margin:0;color:#f8fafc;font-size:13px;font-weight:700}.combat-prep-multiplier-chip{padding:8px;border-radius:10px;border:1px solid #334155;background:#0f172acc;display:grid;gap:4px;text-align:center}.combat-prep-multiplier-chip span{font-size:12px;color:#cbd5e1}.combat-prep-multiplier-chip strong{font-size:12px}.multiplier-weakness strong{color:#fca5a5}.multiplier-resistance strong{color:#93c5fd}.multiplier-normal strong{color:#d1d5db}.combat-prep-loadout-section{min-height:220px;padding:8px;display:grid;gap:8px;background:#111827}.combat-prep-evasion-rate{margin:0;color:#86efac;font-weight:700}.combat-prep-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.combat-prep-slot-card{display:grid;gap:6px}.combat-prep-slot-card .bag-card{padding:8px}.combat-prep-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.combat-slot-card{border:1px solid #334155;border-radius:10px;padding:10px;display:grid;gap:8px;justify-items:center;background:#182132}.combat-slot-card h3{margin:0;font-size:13px;letter-spacing:.03em}.combat-slot-name{margin:0;text-align:center;font-weight:700}.combat-slot-sub{margin:0;text-align:center;font-size:12px;color:#cbd5e1}.combat-start-button{width:100%;min-height:52px}.combat-run-button{width:100%}.equipment-select-modal-backdrop{position:absolute;inset:0;z-index:48;background:#000000b3;padding:0;display:flex;justify-content:center}.equipment-select-modal{width:min(100%,480px);height:100%;margin:0;background:#0f172a;border:1px solid #334155;border-radius:12px;display:grid;grid-template-rows:auto 1fr;gap:10px;padding:12px;overflow:hidden;overscroll-behavior:contain}.equipment-select-header{display:flex;justify-content:flex-end;align-items:center;gap:8px}.equipment-select-header h2{margin:0;font-size:24px}.equipment-select-grid{list-style:none;margin:0;padding:0;overflow-y:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;align-items:start;gap:10px}.equipment-select-card{border:1px solid #334155;border-radius:12px;padding:10px;display:grid;align-content:start;gap:8px;justify-items:center;background:#172135}.equipment-select-card.is-equipped{border-color:#22c55e;box-shadow:inset 0 0 0 1px #22c55e}.equipment-select-image{width:64px;height:64px;border-radius:10px;border:1px solid #475569;background:#0f172a}.equipment-select-name{margin:0;text-align:center;font-weight:700}.equipment-select-meta{margin:0;text-align:center;font-size:12px;color:#cbd5e1}.combat-weapon-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.combat-weapon-item{border:1px solid #334155;border-radius:10px;padding:10px;background:#182132}.combat-weapon-item.selected{border-color:#60a5fa;background:#1e293b}.combat-weapon-item label{display:flex;align-items:center;gap:8px;font-weight:600}.combat-weapon-item p{margin:6px 0 0}.combat-item-image{width:72px;height:72px;border-radius:8px;object-fit:cover;border:1px solid #475569;background:#0f172a;image-rendering:pixelated}.combat-actions{display:flex;gap:8px}.perfect-text{margin:0;color:#86efac;font-weight:700}.combat-flag-list{margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.combat-flag-list span{padding:4px 8px;border-radius:999px;border:1px solid #16a34a;background:#16a34a2e;color:#86efac;font-size:13px}.combat-monster-summary,.combat-drop-box{border:1px solid #334155;border-radius:10px;padding:10px;background:#182132}.combat-monster-summary-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px}.combat-monster-summary-header h3{margin:0}.combat-perfect-summary{display:grid;gap:6px;justify-items:end;text-align:right}.combat-perfect-summary .combat-flag-list{justify-content:flex-end}.combat-monster-summary-body{margin-top:8px;display:flex;align-items:flex-start;gap:10px}.combat-monster-summary-meta{display:grid;gap:6px}.combat-exp-box,.combat-level-up-box,.combat-draw-box,.combat-defeat-box{border:1px solid #334155;border-radius:10px;padding:10px;background:#182132;display:grid;gap:6px}.combat-exp-box h3,.combat-level-up-box h3{margin:0;font-size:15px}.combat-exp-gained{margin:0;color:#fcd34d;font-weight:700}.combat-exp-track{height:10px;border:1px solid #475569;border-radius:999px;background:#0f172a;overflow:hidden}.combat-exp-fill{display:block;height:100%;background:linear-gradient(90deg,#f59e0b,#facc15)}.combat-level-up-box{border-color:#854d0e;background:linear-gradient(180deg,#854d0e38,#78350f24);color:#fde68a}.combat-level-up-box p{margin:0}.combat-result-inline-actions{margin-top:10px;display:flex;justify-content:flex-start}.combat-level-up-title{margin:0;font-weight:800;letter-spacing:.03em}.combat-defeat-box{border-color:#7f1d1d;background:#7f1d1d33}.combat-draw-box{border-color:#92400e;background:#92400e33}.combat-draw-box p,.combat-defeat-box p,.combat-monster-summary-meta p,.combat-drop-box p{margin:0}.combat-drop-list{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px}.combat-drop-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid #334155;border-radius:8px;background:#0f172a}.combat-drop-list li>span{display:inline-flex;align-items:center;gap:6px;min-height:20px}.card-flip-panel{gap:12px}.card-flip-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.card-flip-panel-copy{display:grid;gap:4px}.card-flip-panel-copy h3,.card-flip-set-summary-header h4{margin:0}.card-flip-header-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.card-flip-header-meta>*{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border:1px solid #475569;border-radius:999px;background:#0f172ab8;color:#e2e8f0;font-size:12px;font-weight:700}.card-flip-stage{display:grid;gap:14px;overflow:visible}.card-flip-slot-zone,.card-flip-archive-zone,.card-flip-summary,.card-flip-unique-drop{border:1px solid rgba(71,85,105,.56);border-radius:18px;background:radial-gradient(circle at top,rgba(59,130,246,.1),transparent 40%),linear-gradient(180deg,#0f172af0,#020617fa);box-shadow:inset 0 1px #ffffff0d,0 18px 40px #02061738}.card-flip-slot-zone,.card-flip-archive-zone,.card-flip-summary{padding:16px}.card-flip-slot-zone{position:relative;z-index:2;padding:0;background:transparent;border:0;box-shadow:none}.card-flip-slot-frame{--slot-aura: rgba(96, 165, 250, .18);position:relative;display:grid;place-items:center;min-height:250px;border:1px solid rgba(71,85,105,.56);border-radius:20px;background:radial-gradient(circle at 50% 28%,var(--slot-aura),transparent 58%),linear-gradient(180deg,#0f172af0,#020617fa);box-shadow:inset 0 1px #ffffff0d,0 18px 40px #02061738;overflow:visible}.card-flip-slot-frame.is-heroic{--slot-aura: rgba(245, 158, 11, .18)}.card-flip-slot-frame.is-apex{--slot-aura: rgba(244, 114, 182, .2)}.card-flip-stack-display{--stack-shadow: rgba(96, 165, 250, .18);position:absolute;left:50%;top:50%;width:140px;height:200px;transform:translate(-50%,-50%)}.card-flip-stack-display.is-heroic{--stack-shadow: rgba(245, 158, 11, .18)}.card-flip-stack-display.is-apex{--stack-shadow: rgba(244, 114, 182, .2)}.card-flip-stack-display.is-ready{filter:drop-shadow(0 0 18px var(--stack-shadow))}.card-flip-stack-card{position:absolute;inset:0;display:block;z-index:var(--stack-card-z-index);transform:translate(calc(var(--stack-card-index) * -3px)) translateY(calc(var(--stack-card-index) * 2px))}.card-flip-stack-card .card-flip-card{display:block}.card-flip-stack-card .card-flip-card-back{box-shadow:0 12px 24px #02061738,inset 0 1px #ffffff0f}.card-flip-stack-badge{position:absolute;right:-10px;top:10px;min-width:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(148,163,184,.28);background:#080f20eb;color:#f8fafc;font-size:12px;font-weight:800}.card-flip-slot-placeholder{position:absolute;inset:auto 0 18px;display:flex;justify-content:center;text-align:center;color:#cbd5e1}.card-flip-slot-placeholder strong{color:#e2e8f0;font-size:15px}.card-flip-active-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:10}.card-flip-active-card.is-moving_to_archive{top:calc(100% + 60px);transform:translate(-50%,-50%) scale(.9);opacity:0;transition:top var(--card-flip-archive-duration, .42s) cubic-bezier(.22,.61,.36,1),transform var(--card-flip-archive-duration, .42s) cubic-bezier(.22,.61,.36,1),opacity .18s ease-out .24s;pointer-events:none}.card-flip-active-card.is-preflip_shaking{animation:card-flip-apex-preflip-shudder var(--card-flip-preflip-duration, 1.5s) ease-in-out forwards}.card-flip-card{all:unset;box-sizing:border-box;--card-flip-border: rgba(148, 163, 184, .48);--card-flip-accent: rgba(226, 232, 240, .82);--card-flip-aura: rgba(56, 189, 248, .18);--card-flip-light-color: rgba(226, 232, 240, .42);display:block;width:140px;cursor:pointer;-webkit-tap-highlight-color:rgba(148,163,184,.25);perspective:1200px}.card-flip-card.is-heroic{--card-flip-border: rgba(251, 191, 36, .68);--card-flip-accent: #fef08a;--card-flip-aura: rgba(245, 158, 11, .24)}.card-flip-card.is-apex{--card-flip-border: rgba(251, 113, 133, .78);--card-flip-accent: #fde68a;--card-flip-aura: rgba(244, 114, 182, .28)}.card-flip-card.is-grade-elite{--card-flip-light-color: rgba(168, 85, 247, .94)}.card-flip-card.is-grade-magic{--card-flip-light-color: rgba(16, 185, 129, .92)}.card-flip-card.is-grade-epic{--card-flip-light-color: rgba(220, 38, 82, .96)}.card-flip-card.is-grade-legend{--card-flip-light-color: rgba(249, 115, 22, .96)}.card-flip-card.is-grade-unique{--card-flip-light-color: rgba(250, 204, 21, .98)}.card-flip-card:disabled{opacity:1;cursor:default}.card-flip-card-inner{position:relative;display:block;min-height:200px;transform-style:preserve-3d;transition:transform var(--card-flip-flip-duration, .72s) cubic-bezier(.22,1,.36,1)}.card-flip-card.is-revealed .card-flip-card-inner{transform:rotateY(180deg)}.card-flip-card-face{position:absolute;inset:0;border-radius:16px;border:1px solid var(--card-flip-border);backface-visibility:hidden;overflow:hidden}.card-flip-card-back{display:grid;place-items:center;background:#0f172a var(--card-face-image) center / cover no-repeat;box-shadow:inset 0 1px #ffffff0f}.card-flip-card-back:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0f172a1f,#0f172a4d);pointer-events:none}.card-flip-card-back-caption{position:absolute;bottom:16px;left:0;right:0;color:#e2e8f0d1;font-size:11px;font-weight:700;letter-spacing:.08em;text-align:center;text-shadow:0 2px 8px rgba(15,23,42,.9);z-index:1}.card-flip-card-front{transform:rotateY(180deg);display:block;background:#0f172a var(--card-face-image) center / cover no-repeat;padding:0;box-shadow:0 18px 36px #02061757,inset 0 0 0 1px #ffffff0a}.card-flip-card-front:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 34%,var(--card-flip-aura),transparent 34%),linear-gradient(180deg,#0f172a14,#0f172a5c);pointer-events:none}.card-flip-card-reveal-light{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,color-mix(in srgb,var(--card-flip-light-color) 88%,white 12%),color-mix(in srgb,var(--card-flip-light-color) 82%,white 18%) 42%,color-mix(in srgb,var(--card-flip-light-color) 74%,transparent 26%)),radial-gradient(circle at 50% 16%,rgba(255,255,255,.44),transparent 42%);box-shadow:inset 0 0 30px color-mix(in srgb,var(--card-flip-light-color) 62%,white 38%),0 0 24px color-mix(in srgb,var(--card-flip-light-color) 48%,transparent 52%);opacity:0;pointer-events:none;z-index:3}.card-flip-card.is-revealed .card-flip-card-front{animation:card-flip-reveal-pop .45s ease-out}.card-flip-card.is-revealed.is-heroic .card-flip-card-front{animation:card-flip-reveal-pop .45s ease-out,card-flip-heroic-pulse 1.2s ease-out}.card-flip-card.is-revealed.is-grade-magic .card-flip-card-front{animation:card-flip-reveal-pop .45s ease-out,card-flip-magic-pulse .95s ease-out}.card-flip-card.is-revealed.is-apex .card-flip-card-front{animation:card-flip-reveal-pop .45s ease-out,card-flip-heroic-pulse 1.2s ease-out,card-flip-apex-shake .34s ease-out .12s}.card-flip-card.is-revealed.is-grade-magic .card-flip-card-reveal-light,.card-flip-card.is-revealed.is-heroic .card-flip-card-reveal-light,.card-flip-card.is-revealed.is-apex .card-flip-card-reveal-light{animation:card-flip-reveal-light-fade var(--card-flip-light-fade-duration, 1.5s) ease-out forwards}.card-flip-card-flash{position:absolute;inset:-10%;background:radial-gradient(circle,rgba(255,255,255,.42),transparent 52%);opacity:0;pointer-events:none}.card-flip-card.is-revealed .card-flip-card-flash{animation:card-flip-flash .4s ease-out}.card-flip-card-top-badges{position:absolute;top:8.5%;left:12%;right:12%;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}.card-flip-card-front-body,.card-flip-card-front-footer{position:relative;z-index:1}.card-flip-card-front-body{position:absolute;left:11%;right:11%;top:9.25%;height:54%;overflow:hidden;border-radius:12px;background:radial-gradient(circle at top,rgba(148,163,184,.14),transparent 46%),#0f172aeb}.card-flip-card-front-footer{position:absolute;left:12%;right:12%;bottom:17%;display:flex;align-items:center;justify-content:center;min-height:12%;padding:0 2px;text-align:center}.card-flip-card-visual-window,.card-flip-card-illustration,.card-flip-card-window-fallback{width:100%;height:100%}.card-flip-card-visual-window{display:block}.card-flip-card-grade,.card-flip-card-status,.card-flip-card-unique,.card-flip-set-state,.card-flip-unique-drop-label{display:inline-flex;align-items:center;justify-content:center;min-height:14px;padding:1px 7px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.04em}.card-flip-card-grade,.card-flip-card-status{border:1px solid rgba(148,163,184,.42);color:#f8fafc;background:#0f172ab8}.card-flip-card-grade.is-grade-normal{border-color:#94a3b880;background:#475569d1}.card-flip-card-grade.is-grade-magic{border-color:#6ee7b78f;background:#065f46db}.card-flip-card-grade.is-grade-rare{border-color:#7dd3fc94;background:#0369a1db}.card-flip-card-grade.is-grade-elite{border-color:#c4b5fd99;background:#6d28d9d6}.card-flip-card-grade.is-grade-epic{border-color:#dc2652ad;background:#9f1239e0}.card-flip-card-grade.is-grade-legend{border-color:#fbbf24a8;background:#b45309e0}.card-flip-card-grade.is-grade-unique{border-color:#f472b6b8;background:linear-gradient(135deg,#9d174deb,#5b21b6e6)}.card-flip-card-status{border-color:#6ee7b794;background:#15803de6;color:#ecfdf5}.session-intro-overlay{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px 16px calc(112px + env(safe-area-inset-bottom));background:radial-gradient(circle at top,rgba(16,185,129,.22),transparent 34%),linear-gradient(180deg,#020617c7,#020617eb);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.session-intro-panel{width:min(100%,420px);display:grid;gap:18px;padding:24px 20px;border:1px solid rgba(110,231,183,.28);border-radius:24px;background:radial-gradient(circle at top,rgba(16,185,129,.16),transparent 38%),linear-gradient(180deg,#0f172afa,#020617fa);box-shadow:0 28px 80px #02061770}.session-intro-copy{display:grid;gap:8px;text-align:center}.session-intro-copy h2,.session-intro-copy p{margin:0}.session-intro-eyebrow{color:#6ee7b7;font-size:11px;font-weight:800;letter-spacing:.28em}.session-intro-copy h2{color:#f8fafc;font-size:24px}.session-intro-copy p{color:#cbd5e1;line-height:1.55}.session-intro-card-frame{display:grid;place-items:center;padding:6px 0 2px}.session-intro-card{width:180px;cursor:pointer}.session-intro-card.is-disabled{cursor:default}.session-intro-card .card-flip-card-inner{min-height:257px}.session-intro-card .card-flip-card-front-body{border-radius:14px}.session-intro-card-touch,.session-intro-card-back-status{position:absolute;left:50%;z-index:1;transform:translate(-50%);color:#f8fafc;font-weight:800;text-shadow:0 6px 18px rgba(15,23,42,.9);pointer-events:none}.session-intro-card-touch{top:50%;transform:translate(-50%,-50%);font-size:28px;letter-spacing:.08em;text-transform:uppercase}.session-intro-card-back-status{bottom:18px;font-size:12px;letter-spacing:.08em}.session-intro-status{display:grid;gap:6px;text-align:center}.session-intro-status strong,.session-intro-status p{margin:0}.session-intro-status strong{color:#f8fafc;font-size:18px}.session-intro-status p{color:#cbd5e1;line-height:1.5}.session-intro-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.session-intro-error{margin:0;text-align:center}.pending-reward-flip-overlay{position:fixed;inset:0;z-index:120;display:grid;place-items:start center;overflow-y:auto;overflow-x:hidden;padding:max(24px,env(safe-area-inset-top)) 16px calc(112px + env(safe-area-inset-bottom));background:radial-gradient(circle at top,rgba(245,158,11,.22),transparent 34%),linear-gradient(180deg,#020617d1,#020617f0);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.pending-reward-flip-panel{width:min(100%,calc(var(--game-screen-shell-width, 480px) - 24px));max-width:min(100%,calc(var(--game-screen-shell-width, 480px) - 24px));max-height:calc(100dvh - max(32px,env(safe-area-inset-top)) - 32px);display:grid;gap:16px;padding:24px 20px;overflow-y:auto;overflow-x:hidden;border:1px solid rgba(251,191,36,.28);border-radius:28px;background:radial-gradient(circle at top,rgba(245,158,11,.14),transparent 42%),linear-gradient(180deg,#0f172afa,#020617fa);box-shadow:0 28px 80px #0206177a}.pending-reward-flip-header{display:grid;gap:8px;text-align:center}.pending-reward-flip-header h2,.pending-reward-flip-header p{margin:0}.pending-reward-flip-eyebrow{color:#fbbf24;font-size:11px;font-weight:800;letter-spacing:.28em}.pending-reward-flip-progress{color:#f8fafc;font-size:20px;font-weight:700}.pending-reward-flip-error{margin:0;text-align:center}.pending-reward-flip-content{position:relative;min-width:0;overflow-x:hidden}.pending-reward-flip-content .card-flip-panel{margin:0;min-width:0}.pending-reward-flip-content .card-flip-stage{min-width:0}.pending-reward-flip-loading{position:absolute;inset:0;display:grid;place-items:center;padding:20px;border-radius:24px;background:#020617b8;color:#f8fafc;font-size:15px;font-weight:700;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@media(max-width:480px){.session-intro-overlay{padding-top:max(20px,env(safe-area-inset-top))}.session-intro-panel{padding:22px 16px}.session-intro-actions{grid-template-columns:1fr}.pending-reward-flip-panel{width:min(100%,calc(var(--game-screen-shell-width, 480px) - 16px));max-width:min(100%,calc(var(--game-screen-shell-width, 480px) - 16px));padding:22px 16px}.pending-reward-flip-progress{font-size:18px}}.card-flip-card-illustration{display:block;object-fit:contain;object-position:center;padding:12px}.card-flip-card-window-fallback{display:grid;place-items:center;color:#f8fafcd1;font-size:11px;font-weight:800;letter-spacing:.12em;text-shadow:0 2px 10px rgba(15,23,42,.9);background:linear-gradient(180deg,#0f172a2e,#0f172a6b),#0f172ab8}.card-flip-card-name{display:-webkit-box;width:100%;overflow:hidden;color:#f8fafc;font-size:14px;line-height:1.18;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;text-align:center;text-shadow:0 2px 10px rgba(15,23,42,.92)}.card-flip-card-unique,.card-flip-unique-drop-label,.card-flip-set-state.is-active{border:1px solid rgba(250,204,21,.42);background:#facc1529;color:#fde68a}.card-flip-particles{position:absolute;inset:0;pointer-events:none}.card-flip-particle{position:absolute;left:50%;top:50%;width:6px;height:6px;border-radius:999px;background:color-mix(in srgb,var(--card-flip-accent) 75%,white 25%);opacity:0}.card-flip-card.is-revealed .card-flip-particle{animation:card-flip-particle-burst .78s ease-out}.card-flip-particle:nth-child(1){--particle-x: -44px;--particle-y: -52px}.card-flip-particle:nth-child(2){--particle-x: 0px;--particle-y: -62px}.card-flip-particle:nth-child(3){--particle-x: 42px;--particle-y: -44px}.card-flip-particle:nth-child(4){--particle-x: 60px;--particle-y: 0px}.card-flip-particle:nth-child(5){--particle-x: 36px;--particle-y: 46px}.card-flip-particle:nth-child(6){--particle-x: -30px;--particle-y: 48px}.card-flip-particle:nth-child(7){--particle-x: -56px;--particle-y: 8px}.card-flip-particle:nth-child(8){--particle-x: -10px;--particle-y: 58px}.card-flip-particle:nth-child(9){--particle-x: 54px;--particle-y: 24px}.card-flip-particle:nth-child(10){--particle-x: -58px;--particle-y: -18px}.card-flip-card-glow{position:absolute;left:50%;top:50%;width:152px;height:212px;transform:translate(-50%,-50%);border-radius:22px;opacity:0;pointer-events:none;z-index:9}.card-flip-card-glow.is-heroic{filter:brightness(1.18) saturate(1.12)}.card-flip-card-glow.is-apex{filter:brightness(1.24) saturate(1.16)}.card-flip-card-glow.is-grade-magic{box-shadow:0 0 18px #22c55e8c,0 0 36px #22c55e38}.card-flip-card-glow.is-grade-rare{box-shadow:0 0 18px #3b82f699,0 0 36px #3b82f63d}.card-flip-card-glow.is-grade-elite{box-shadow:0 0 22px #a855f7b8,0 0 46px #a855f74d,0 0 82px #a855f724}.card-flip-card-glow.is-grade-epic{box-shadow:0 0 24px #dc2652c2,0 0 50px #dc265257,0 0 92px #dc265229}.card-flip-card-glow.is-grade-legend{box-shadow:0 0 26px #f97316d1,0 0 54px #f9731661,0 0 102px #f973162e}.card-flip-card-glow.is-grade-unique{box-shadow:0 0 28px #facc15e6,0 0 58px #facc156b,0 0 112px #facc1533}.card-flip-card-glow.is-glow-active.is-standard{animation:card-flip-glow-weak 1.2s ease-out forwards}.card-flip-card-glow.is-glow-active.is-heroic{animation:card-flip-glow-medium var(--card-flip-glow-duration, 2.6s) ease-out forwards}.card-flip-card-glow.is-glow-active.is-apex{animation:card-flip-glow-strong var(--card-flip-glow-duration, 2.8s) ease-out forwards}.card-flip-card-glow.is-glow-active.is-apex.is-grade-unique{animation:card-flip-glow-unique var(--card-flip-glow-duration, 2.8s) ease-out forwards}.card-flip-card-glow.is-glow-archive{top:calc(100% + 60px);opacity:0;transition:top var(--card-flip-archive-duration, .42s) cubic-bezier(.22,.61,.36,1),opacity .12s ease-out}@media(prefers-reduced-motion:reduce){.card-flip-active-card.is-preflip_shaking,.card-flip-card-glow,.card-flip-card-reveal-light{animation:none!important}}.card-flip-controls,.card-flip-summary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.card-flip-summary{display:grid;gap:12px}.card-flip-unique-drop{display:grid;gap:6px;padding:12px;border:1px solid rgba(250,204,21,.38);border-radius:12px;background:radial-gradient(circle at left top,rgba(250,204,21,.18),transparent 45%),#78350f2e}.card-flip-unique-drop strong{color:#fef3c7}.card-flip-unique-drop p{margin:0;color:#fde68a;font-size:12px}.card-flip-unique-drop-highlight{margin-top:12px;box-shadow:inset 0 1px #ffffff14,0 0 28px #facc152e,0 14px 30px #02061738}.card-flip-archive-zone{padding:16px}.card-flip-archive-pile{position:relative;min-height:232px;border-radius:18px;background:linear-gradient(180deg,#080f206b,#080f20d1),radial-gradient(circle at top,rgba(148,163,184,.08),transparent 55%);border:1px dashed rgba(71,85,105,.42);overflow:hidden}.card-flip-archive-empty{margin:0;padding:20px;color:#94a3b8;font-size:13px}.card-flip-archive-card{position:absolute;left:18px;top:14px;transform:translate(calc(var(--archive-index) * 26px)) rotate(calc((var(--archive-index) - 2) * 1.5deg));transform-origin:bottom left}.card-flip-archive-card .card-flip-card{width:140px;filter:saturate(.88)}.card-flip-archive-card.is-apex .card-flip-card-front{box-shadow:0 14px 28px #02061747,inset 0 0 0 1px #ffffff0a,0 0 18px #facc1529}.card-flip-empty-state,.card-flip-summary-metrics{display:grid;gap:8px}.card-flip-empty-state{padding:16px}.card-flip-summary-metrics article{border:1px solid #334155;border-radius:12px;background:#0f172a;padding:10px;display:grid;gap:4px}.card-flip-summary-metrics span{color:#94a3b8;font-size:12px}.card-flip-summary-metrics strong{color:#f8fafc;font-size:24px;line-height:1}.card-flip-set-summary{display:grid;gap:8px}.card-flip-set-summary-header{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#cbd5e1}.card-flip-set-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.card-flip-set-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #334155;border-radius:12px;background:#0f172a}.card-flip-set-list li>div{display:grid;gap:4px}.card-flip-set-list strong{color:#f8fafc}.card-flip-set-list span{color:#94a3b8;font-size:12px}.card-flip-set-state{border:1px solid rgba(148,163,184,.42);background:#33415557;color:#cbd5e1;flex-shrink:0}@keyframes card-flip-reveal-pop{0%{transform:scale(.94)}70%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes card-flip-heroic-pulse{0%{box-shadow:0 0 #f59e0b00}35%{box-shadow:0 0 24px #f59e0b57}to{box-shadow:0 18px 36px #02061757}}@keyframes card-flip-magic-pulse{0%{box-shadow:0 0 #10b98100;filter:saturate(1) brightness(1)}38%{box-shadow:0 0 18px #10b98157;filter:saturate(1.12) brightness(1.06)}to{box-shadow:0 18px 36px #02061757;filter:saturate(1) brightness(1)}}@keyframes card-flip-apex-preflip-shudder{0%{transform:translate(-50%,-50%) translate(0)}14%{transform:translate(-50%,-50%) translate(-1px,1px)}28%{transform:translate(-50%,-50%) translate(1px,-1px)}42%{transform:translate(-50%,-50%) translate(-2px,1px)}58%{transform:translate(-50%,-50%) translate(2px,-2px)}72%{transform:translate(-50%,-50%) translate(-7px,5px)}82%{transform:translate(-50%,-50%) translate(8px,-6px)}90%{transform:translate(-50%,-50%) translate(-10px,7px)}96%{transform:translate(-50%,-50%) translate(9px,-8px)}to{transform:translate(-50%,-50%) translate(0)}}@keyframes card-flip-apex-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-3px)}}@keyframes card-flip-flash{0%{opacity:0}20%{opacity:.92}to{opacity:0}}@keyframes card-flip-reveal-light-fade{0%{opacity:1}35%{opacity:.92}to{opacity:0}}@keyframes card-flip-particle-burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}25%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--particle-x)),calc(-50% + var(--particle-y))) scale(1)}}@keyframes card-flip-glow-weak{0%{opacity:0;transform:translate(-50%,-50%) scale(.75)}40%{opacity:.35;transform:translate(-50%,-50%) scale(.88)}55%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.85)}}@keyframes card-flip-glow-medium{0%{opacity:0;transform:translate(-50%,-50%) scale(1)}12%{opacity:.12;transform:translate(-50%,-50%) scale(1.02)}24%{opacity:.28;transform:translate(-50%,-50%) scale(1.06)}38%{opacity:.56;transform:translate(-50%,-50%) scale(1.12)}52%{opacity:1;transform:translate(-50%,-50%) scale(1.34)}68%{opacity:.82;transform:translate(-50%,-50%) scale(1.5)}86%{opacity:.42;transform:translate(-50%,-50%) scale(1.38)}to{opacity:0;transform:translate(-50%,-50%) scale(1.18)}}@keyframes card-flip-glow-strong{0%{opacity:0;transform:translate(-50%,-50%) scale(1)}12%{opacity:.1;transform:translate(-50%,-50%) scale(1.02)}24%{opacity:.22;transform:translate(-50%,-50%) scale(1.05)}36%{opacity:.46;transform:translate(-50%,-50%) scale(1.1)}48%{opacity:.98;transform:translate(-50%,-50%) scale(1.32)}64%{opacity:.86;transform:translate(-50%,-50%) scale(1.58)}84%{opacity:.48;transform:translate(-50%,-50%) scale(1.44)}to{opacity:0;transform:translate(-50%,-50%) scale(1.22)}}@keyframes card-flip-glow-unique{0%{opacity:0;transform:translate(-50%,-50%) scale(1)}10%{opacity:.12;transform:translate(-50%,-50%) scale(1.02)}22%{opacity:.26;transform:translate(-50%,-50%) scale(1.06)}34%{opacity:.5;transform:translate(-50%,-50%) scale(1.12)}48%{opacity:1;transform:translate(-50%,-50%) scale(1.38)}66%{opacity:.88;transform:translate(-50%,-50%) scale(1.66)}86%{opacity:.52;transform:translate(-50%,-50%) scale(1.5)}to{opacity:0;transform:translate(-50%,-50%) scale(1.24)}}.drop-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 20px;line-height:1;text-align:center}.drop-icon-image{display:block;width:20px;height:20px;border-radius:4px;box-sizing:border-box;object-fit:contain;image-rendering:pixelated}.drop-icon-image.asset-image-fallback{display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:4px;font-size:9px;line-height:1}.drop-icon .gold-amount-icon{width:16px;height:16px}.treasure-modal-backdrop{position:fixed;inset:0;display:grid;place-items:center;background:#11182773;padding:16px;z-index:20}.treasure-modal{width:min(480px,100%);background:#111827;border:1px solid #334155;border-radius:12px;padding:16px;display:grid;gap:12px}.treasure-modal h2{margin:0}.treasure-modal-actions{display:flex;justify-content:flex-end}.sweep-modal-backdrop{position:fixed;inset:0;display:grid;place-items:center;background:#11182773;padding:16px;z-index:20}.sweep-modal{width:min(480px,100%);background:#111827;border:1px solid #334155;border-radius:12px;padding:16px}.sweep-modal h2{margin:0 0 12px}.sweep-modal p{margin:12px 0}.sweep-modal .modal-confirm-actions{margin-top:10px}.monster-records-page{max-width:1180px;margin:24px auto;padding:24px}.monster-record-filter-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.monster-record-filter-tabs button.active{border-color:#1d4ed8;background:#dbeafe;color:#1e40af}.monster-record-layout{display:grid;grid-template-columns:minmax(260px,380px) minmax(0,1fr);gap:14px}.monster-record-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.monster-record-card{width:100%;border:1px solid #d1d5db;border-radius:10px;background:#fff;text-align:left}.monster-record-card.selected{border-color:#2563eb;background:#eff6ff}.monster-record-card h2{margin:0;font-size:16px}.monster-record-card p{margin:8px 0 0}.monster-record-card-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.star{font-size:16px;color:#6b7280}.star.mastered{color:#ca8a04}.monster-record-detail{border:1px solid #d1d5db;border-radius:12px;background:#fff;padding:14px 16px}.monster-record-detail-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.monster-record-detail h2,.monster-record-detail h3{margin:0}.monster-record-stats{margin:12px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.monster-record-stats p{margin:0;padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc}.monster-record-affinity-box{margin:0 0 12px;padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc;display:grid;gap:4px}.monster-record-affinity-box p{margin:0;color:#0f172a;font-weight:700}@media(max-width:900px){.monster-record-layout{grid-template-columns:1fr}}.inventory-page{max-width:1080px;margin:24px auto;padding:24px}.bag-filter-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.bag-filter-tabs button.active{border-color:#60a5fa;background:#22324e;color:#eff6ff}.bag-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bag-card{border:1px solid #334155;border-radius:12px;background:#1a2334;padding:10px;display:grid;gap:4px}.bag-card-selectable{width:100%;min-height:0;text-align:left;cursor:pointer}.bag-card.is-equipped{border-color:#22c55e;box-shadow:inset 0 0 0 1px #22c55e}.bag-card-consumable{align-content:start}.bag-card-consumable.is-quick-slot-selection{gap:8px;border-color:#facc1547;background:linear-gradient(180deg,#1e293bf0,#0f172afa),#111827}.bag-card-top{display:flex;align-items:center;gap:8px}.bag-card-heading{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.bag-card-title{font-size:15px}.bag-card-meta{margin:0;color:#cbd5e1;font-size:13px;line-height:1.2}.bag-card-meta-inline{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bag-card-stat{margin:0;font-size:13px;font-weight:700;line-height:1.2}.bag-card-evasion{color:#86efac}.bag-card-action-button{width:100%}.bag-equipment-image-shell{width:64px;height:64px;border-radius:8px;flex:0 0 auto}.bag-equipment-image{width:64px;height:64px;border:1px solid #475569;image-rendering:pixelated}.element-effect-frame{position:relative;display:inline-flex;align-items:center;justify-content:center;background:#0f172a;overflow:hidden}.element-effect-frame-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;filter:saturate(1.05) brightness(1.05);pointer-events:none}.element-effect-frame.is-fire .element-effect-frame-background{filter:saturate(1.2) brightness(1.08)}.element-effect-frame.is-water .element-effect-frame-background{filter:saturate(1.1) brightness(1.04)}.element-effect-frame.is-wood .element-effect-frame-background{filter:saturate(1.16) brightness(1.03)}.element-effect-frame-content{position:relative;z-index:1;display:inline-flex;width:100%;height:100%;align-items:center;justify-content:center}.bag-consumable-image{width:64px;height:64px;border-radius:8px;border:1px solid #475569;background:#0f172a;image-rendering:pixelated}.bag-equipped-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;border:1px solid #16a34a;background:#16a34a33;color:#86efac;font-size:12px;font-weight:700}.bag-consumable-count{margin:0;font-size:13px;color:#99f6e4;font-weight:700}.bag-consumable-use-button{color:#fff}button.bag-quick-slot-select-surface{all:unset;box-sizing:border-box;width:100%;min-height:42px;border:1px solid rgba(250,204,21,.45);border-radius:12px;background:radial-gradient(circle at top,rgba(250,204,21,.16),transparent 70%),#47556929;display:grid;place-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.bag-quick-slot-select-surface.is-disabled,button.bag-quick-slot-select-surface:disabled{opacity:.45;cursor:default}.bag-quick-slot-select-label{font-size:13px;font-weight:800;color:#fef3c7}.inventory-use-target-field{display:grid;gap:6px;margin:0;font-size:13px;color:#cbd5e1}.inventory-use-target-field select{width:100%}.enhance-slot-panel{border:1px solid #334155;border-radius:12px;background:#111827;padding:12px}.enhance-slot-button{width:100%;min-height:140px;border:2px dashed #4b5563;border-radius:12px;background:#0f172a}.enhance-slot-empty{display:grid;gap:6px;color:#cbd5e1}.enhance-slot-empty p{margin:0;font-weight:700}.enhance-slot-empty span{font-size:13px;color:#94a3b8}.enhance-slot-filled{display:flex;align-items:center;gap:12px;text-align:left}.enhance-slot-image-shell{position:relative;width:64px;height:64px;overflow:hidden;isolation:isolate;flex:0 0 auto}.enhance-slot-image-shell:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;z-index:2}.enhance-slot-image-shell.is-charging:after{animation:enhance-slot-charge-glow 2s ease-out forwards}.enhance-slot-image-shell.is-success-burst:after{animation:enhance-slot-success-burst .12s ease-out}.enhance-slot-image-shell.is-success-hold{animation:enhance-slot-success-edge-fade 1.4s ease-out forwards}.enhance-slot-image-shell.is-failure:after{animation:enhance-slot-failure-flash .5s ease-out}.enhance-slot-equipment-image{width:100%;height:100%}.enhance-slot-effect-shell{width:64px;height:64px;border-radius:8px;flex:0 0 auto}.equipment-enchant-turn-badge{position:absolute;top:2px;left:2px;z-index:3;min-width:18px;height:18px;padding:0 5px;border-radius:999px;border:1px solid #38bdf8;background:#020617e6;color:#e0f2fe;font-size:11px;font-weight:800;line-height:1;display:inline-flex;align-items:center;justify-content:center;pointer-events:none}.enhance-slot-enchant-turn-badge{top:2px;left:2px}.enhance-slot-equipment-image.is-failure{animation:enhance-slot-failure-shake .5s ease-in-out}.enhance-slot-enhancement-badge{position:relative;overflow:hidden;line-height:1}.enhance-slot-enhancement-badge.is-success-hold{animation:enhance-slot-badge-edge-fade 1.4s ease-out forwards}.enhance-slot-enhancement-badge.is-failure-roll .enhance-slot-badge-roll{animation:enhance-slot-badge-failure-roll .5s ease-in-out forwards}.enhance-slot-enhancement-badge.is-rolling .enhance-slot-badge-text{opacity:0}.enhance-slot-badge-text{display:inline-flex;align-items:center;justify-content:center;min-height:16px}.enhance-slot-badge-roll{position:absolute;inset:0;display:flex;flex-direction:column;transform:translateY(0)}.enhance-slot-badge-roll-row{flex:0 0 100%;display:flex;align-items:center;justify-content:center}@keyframes enhance-slot-charge-glow{0%{background:#facc151f;opacity:.26}55%{background:#facc15b8;opacity:.86}to{background:#facc15f5;opacity:1}}@keyframes enhance-slot-success-edge-fade{0%{box-shadow:0 0 0 1px #fef08adb,0 0 8px #fef08acc}35%{box-shadow:0 0 0 1px #facc15fa,0 0 24px #facc15f5,0 0 36px #facc15b8}to{box-shadow:0 0 0 1px #facc1500,0 0 #facc1500,0 0 #facc1500}}@keyframes enhance-slot-badge-edge-fade{0%{box-shadow:0 0 0 1px #fef08acc,0 0 6px #fef08ab3}35%{box-shadow:0 0 0 1px #facc15f2,0 0 14px #facc15c7}to{box-shadow:0 0 0 1px #facc1500,0 0 #facc1500}}@keyframes enhance-slot-success-burst{0%{background:#fef08ab8;opacity:.88;transform:scale(1)}60%{background:#fef08af2;opacity:1;transform:scale(1.18)}to{background:#facc1500;opacity:0;transform:scale(1.28)}}@keyframes enhance-slot-failure-flash{0%{background:#02061700;opacity:0}35%{background:#0206178c;opacity:1}to{background:#02061700;opacity:0}}@keyframes enhance-slot-failure-shake{0%,to{transform:translate(0)}16%{transform:translate(-1px)}33%{transform:translate(1px)}50%{transform:translate(0)}66%{transform:translate(-1px)}83%{transform:translate(1px)}}@keyframes enhance-slot-badge-rise{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@keyframes enhance-slot-badge-failure-roll{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes enhance-slot-badge-revert{0%{transform:translateY(-50%)}to{transform:translateY(0)}}.enhance-slot-enhancement-badge.is-rolling-up .enhance-slot-badge-roll{animation:enhance-slot-badge-rise 2s ease-out forwards}.enhance-slot-enhancement-badge.is-success-up .enhance-slot-badge-roll{animation:enhance-slot-badge-rise .2s ease-out forwards}.enhance-slot-enhancement-badge.is-reverting .enhance-slot-badge-roll{animation:enhance-slot-badge-revert .2s ease-in forwards}.enhance-slot-content{min-width:0;display:grid;gap:4px}.enhance-slot-image{width:64px;height:64px;border-radius:10px;border:1px solid #475569;background:#0f172a}.enhance-screen-scroll-wrap{min-height:0;height:100%;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:12px;padding-right:2px}.enhance-screen-scroll-wrap>*{flex:0 0 auto}.enhance-game-body{display:block;overflow:hidden}.enhance-info-panel{border:1px solid #334155;border-radius:12px;background:#141b2a;padding:12px;display:grid;gap:12px}.enhance-info-panel h2{margin:0;font-size:18px}.enhance-info-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.enhance-info-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #334155;border-radius:8px;background:#0f172a;padding:8px 10px;font-size:13px}.enhance-action-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.enhance-info-secondary-actions{display:flex;justify-content:flex-end}.enhance-submit-row{display:grid}.enhance-submit-button{width:100%;min-height:52px;background:transparent;z-index:0}.insufficient{color:#fca5a5}.enhance-infuse-modal-backdrop{position:fixed;inset:0;z-index:70;background:#000000b8;display:grid;place-items:center;padding:16px}.enhance-infuse-modal{width:min(480px,100%);border:1px solid #334155;border-radius:12px;background:#111827;padding:16px;display:grid;gap:10px}.enhance-infuse-modal h2,.enhance-infuse-modal p{margin:0}.enhance-infuse-elements{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.enhance-infuse-elements button{display:flex;align-items:center;justify-content:center;background:#0f172a;border:1px solid #334155;color:#e2e8f0}.enhance-infuse-element-label{display:inline-flex;align-items:center;gap:6px}.enhance-infuse-element-icon{width:20px;height:20px;border-radius:4px;border:1px solid #475569;background:#0f172a;object-fit:cover;image-rendering:pixelated}.enhance-infuse-elements button:before{content:none}.enhance-infuse-elements button.active{border-color:#60a5fa;background:#233047;color:#f8fafc}.enhance-infuse-actions{display:flex;justify-content:flex-end;gap:8px}.inventory-actions{display:flex;gap:8px}.inventory-tabs{display:flex;gap:8px;margin:0 0 14px}.inventory-tabs button.active{border-color:#60a5fa;background:#233047;color:#f8fafc}.inventory-section{margin-bottom:20px;padding:14px 16px;background:#141b2a;border:1px solid #334155;border-radius:10px}.inventory-section.is-empty-state{min-height:220px;display:grid;place-items:center;text-align:center}.inventory-section h2{margin:0 0 12px}.inventory-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.inventory-item{border:1px solid #334155;border-radius:10px;padding:12px;background:#1a2334}.equipped-item{border-color:#22c55e;background:#22c55e1a}.inventory-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.inventory-item-header h3{margin:0}.inventory-item-header p{margin:6px 0 0;color:#9ca3af;font-size:13px}.inventory-item p{margin:8px 0 0}.inventory-item-image{width:72px;height:72px;border-radius:8px;object-fit:cover;border:1px solid #475569;background:#0f172a;margin:8px 0 0;image-rendering:pixelated}.enhancement-badge{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:2px 8px;margin-left:6px;border-radius:999px;border:1px solid #60a5fa;background:#1e293b;color:#bfdbfe;font-size:12px;font-weight:700}.inventory-inline-actions{margin-top:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}.inventory-action-card{border:1px solid #334155;border-radius:8px;background:#0f172a;padding:10px}.inventory-action-card h4{margin:0 0 8px}.warning{margin:0;color:#fbbf24}.infuse-element-grid{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.infuse-element-grid button.active{border-color:#60a5fa;background:#233047;color:#f8fafc}.consumable-quantity{border-radius:999px;border:1px solid #0d9488;background:#0d948833;color:#99f6e4;padding:2px 10px;font-weight:700;font-size:13px}.groups-page{max-width:760px;margin:24px auto;padding:20px;display:grid;gap:14px}.groups-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.groups-header h1{margin:0}.groups-header p{margin:6px 0 0}.groups-actions-panel,.groups-empty-panel,.groups-members-panel,.groups-sessions-panel{border:1px solid #334155;border-radius:12px;background:#111827;padding:14px;display:grid;gap:10px}.groups-actions-panel h2,.groups-members-panel h2,.groups-sessions-panel h2{margin:0;font-size:18px}.groups-inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.groups-session-start-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;align-items:start}.groups-start-mode-row{display:grid;gap:6px}.groups-vision-config{border:1px solid #334155;border-radius:10px;background:#0f172a;padding:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.groups-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:#cbd5e1}.groups-toggle-row input{width:16px;height:16px;margin:0;accent-color:#22c55e}.groups-start-mode-row label{font-size:13px;color:#cbd5e1;text-align:left}.groups-start-mode-row input,.groups-start-mode-row select{width:100%}.groups-defense-wave-config{border:1px solid #334155;border-radius:10px;background:#0f172a;padding:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.groups-defense-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.groups-defense-advanced-settings{display:grid;gap:8px}.groups-session-start-grid>.groups-vision-config,.groups-session-start-grid>.groups-defense-wave-config,.groups-session-start-grid>.groups-defense-advanced-settings{grid-column:1 / -1}.groups-vision-config>.groups-toggle-row,.groups-defense-wave-config>.groups-toggle-row,.groups-defense-wave-config>.muted,.groups-defense-advanced-settings>.muted{grid-column:1 / -1}.groups-session-start-submit{grid-column:1 / -1}.groups-defense-advanced-toggle{width:100%;min-height:40px;margin:0;padding:8px 12px;border-radius:10px;border:1px solid #334155;background:#0f172a;color:#e2e8f0;font-weight:700}.groups-card-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.groups-card{border:1px solid #334155;border-radius:12px;background:#1a2334;padding:12px;display:grid;gap:8px}.groups-card p{margin:0}.groups-card-header{display:flex;align-items:center;gap:8px}.groups-card-header h2{margin:0;font-size:18px}.groups-owner-badge{display:inline-flex;align-items:center;border-radius:999px;border:1px solid #16a34a;background:#16a34a33;color:#86efac;font-size:12px;font-weight:700;padding:2px 10px}.groups-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.groups-card-actions a{color:#93c5fd}.groups-members-list,.groups-sessions-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.groups-members-list li,.groups-sessions-list li{border:1px solid #334155;border-radius:8px;background:#172135;padding:10px}.groups-members-list li{display:flex;align-items:center;gap:8px}.groups-sessions-list p{margin:0 0 4px}.session-result-screen{position:relative;isolation:isolate;background:radial-gradient(circle at top,rgba(250,204,21,.12),transparent 36%),linear-gradient(180deg,#161212,#101523 40%,#080d18)}.session-result-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 30px;color:#f8fafc;border-bottom:1px solid rgba(249,178,0,.16);overflow:hidden}.session-result-topbar:before{content:"";position:absolute;inset:0;z-index:-2;background-image:var(--ui-header-left),var(--ui-header-right),var(--ui-header-center);background-repeat:no-repeat,no-repeat,repeat-x;background-position:left center,right center,center center;background-size:auto 100%,auto 100%,auto 100%;opacity:.88}.session-result-topbar:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg,rgba(245,158,11,.2),transparent 45%),linear-gradient(180deg,#0f172a33,#020617c7)}.session-result-topbar-copy{min-width:0}.session-result-state-kicker,.session-result-award-label,.session-result-meta-label,.session-result-award-summary-label{margin:0;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.session-result-state-kicker{color:#fcd34d}.session-result-topbar h1,.session-result-state-card h2,.session-result-award-card h3{margin:0;color:#f8fafc}.session-result-topbar h1{font-size:26px;line-height:1.05}.session-result-status-chip{flex:0 0 auto;align-self:center;min-width:88px;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.14);text-align:center;font-size:12px;font-weight:900;letter-spacing:.14em;color:#fff7ed;background:#0f172ab8;box-shadow:inset 0 1px #ffffff14}.session-result-status-chip.is-victory{border-color:#facc156b;background:linear-gradient(135deg,#92400ee6,#eab3084d);color:#fef3c7}.session-result-status-chip.is-defeat{border-color:#f8717173;background:linear-gradient(135deg,#7f1d1deb,#dc262652);color:#fee2e2}.session-result-status-chip.is-pending{border-color:#94a3b866;color:#e2e8f0}.session-result-status-chip.is-error{border-color:#f8717173;background:linear-gradient(135deg,#7f1d1de6,#b91c1c47);color:#fee2e2}.session-result-body{padding:18px 12px calc(18px + env(safe-area-inset-bottom));gap:14px}.session-result-body:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 12%,rgba(250,204,21,.08),transparent 24%),radial-gradient(circle at 84% 24%,rgba(59,130,246,.08),transparent 26%),linear-gradient(180deg,transparent,rgba(2,6,23,.12))}.session-result-body>*{position:relative;z-index:1}.session-result-state-card{margin:0;padding:14px;display:grid;gap:14px;background:radial-gradient(circle at top right,rgba(250,204,21,.16),transparent 28%),linear-gradient(180deg,#111827f0,#0a0f1af5)}.session-result-state-card p{margin:0;color:#cbd5e1;line-height:1.5}.session-result-overview-strip{display:grid;grid-template-columns:1fr;gap:10px}.session-result-overview-card{min-width:0;border-radius:14px;padding:12px 14px;background:linear-gradient(180deg,#0f172ad1,#070a12eb);border:1px solid rgba(148,163,184,.14);box-shadow:inset 0 1px #ffffff0a,0 10px 24px #0206172e;display:grid;gap:6px}.session-result-meta-label,.session-result-award-summary-label{color:#93c5fd}.session-result-overview-card strong,.session-result-award-summary-row strong,.session-result-award-winner-box strong{min-width:0;color:#f8fafc;font-size:15px;line-height:1.35}.session-result-awards-list{display:grid;gap:12px}.session-result-award-card{margin:0;padding:14px;display:grid;gap:12px;overflow:hidden;background:linear-gradient(180deg,#121826f5,#080c14f5)}.session-result-award-card:after{content:"";position:absolute;inset:1px;z-index:0;pointer-events:none;border-radius:11px;background:radial-gradient(circle at top right,rgba(255,255,255,.08),transparent 26%),linear-gradient(180deg,rgba(255,255,255,.02),transparent 46%)}.session-result-award-card>*{position:relative;z-index:1}.session-result-award-card.is-mvp{background:radial-gradient(circle at top right,rgba(245,158,11,.22),transparent 32%),linear-gradient(180deg,#1f1810f5,#0a0c14f5)}.session-result-award-card.is-slayer{background:radial-gradient(circle at top right,rgba(239,68,68,.2),transparent 30%),linear-gradient(180deg,#211419f5,#0a0c14f5)}.session-result-award-card.is-explorer{background:radial-gradient(circle at top right,rgba(56,189,248,.2),transparent 30%),linear-gradient(180deg,#121b24f5,#0a0c14f5)}.session-result-award-card.is-gambler{background:radial-gradient(circle at top right,rgba(34,197,94,.18),transparent 30%),linear-gradient(180deg,#121d19f5,#0a0c14f5)}.session-result-award-card.is-hogu{background:radial-gradient(circle at top right,rgba(248,113,113,.2),transparent 30%),linear-gradient(180deg,#261414f5,#0a0c14f5)}.session-result-award-card.is-blacksmith{background:radial-gradient(circle at top right,rgba(251,146,60,.2),transparent 30%),linear-gradient(180deg,#211812f5,#0a0c14f5)}.session-result-award-card.is-unique-treasure{background:radial-gradient(circle at top right,rgba(167,139,250,.2),transparent 30%),linear-gradient(180deg,#1a1526f5,#0a0c14f5)}.session-result-award-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.session-result-award-order{font-size:18px;font-weight:900;letter-spacing:.12em;color:#f8fafc9e}.session-result-award-badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border-radius:999px;border:1px solid rgba(148,163,184,.18);background:#0f172ab8;color:#e2e8f0;font-size:11px;font-weight:800;letter-spacing:.12em}.session-result-award-main{display:grid;grid-template-columns:68px minmax(0,1fr);gap:12px;align-items:start}.session-result-award-icon-wrap{width:68px;height:68px;border-radius:18px;border:1px solid rgba(148,163,184,.18);background:linear-gradient(180deg,#0f172ae6,#080c14e6);display:grid;place-items:center;box-shadow:inset 0 1px #ffffff0a}.session-result-award-icon{width:36px;height:36px;object-fit:contain;image-rendering:pixelated}.session-result-award-icon-fallback{color:#f8fafc;font-size:12px;font-weight:800;text-align:center}.session-result-award-copy{display:grid;gap:4px;min-width:0}.session-result-award-label{color:#fcd34d}.session-result-award-copy h3{font-size:20px;line-height:1.2}.session-result-award-description{margin:0;color:#94a3b8;font-size:13px;line-height:1.45}.session-result-award-summary-row,.session-result-award-winner-box{display:grid;gap:5px;border-radius:12px;padding:10px 12px;background:#070a12a8;border:1px solid rgba(148,163,184,.12)}.session-result-award-winner-box strong{font-size:18px}.session-result-close-row{padding-top:2px}.session-result-close-button{width:100%;min-height:52px;border:0;border-radius:16px;background:transparent;color:#fff7ed;font-size:16px;font-weight:900;letter-spacing:.08em;z-index:0}.session-result-close-button:before{background-image:var(--ui-btn-active-left),var(--ui-btn-active-right),var(--ui-btn-active-center);background-repeat:no-repeat,no-repeat,repeat-x;background-position:left center,right center,center center;background-size:auto 100%,auto 100%,auto 100%}@media(max-width:420px){.session-result-topbar h1{font-size:22px}.session-result-award-main{grid-template-columns:56px minmax(0,1fr)}.session-result-award-icon-wrap{width:56px;height:56px;border-radius:14px}.session-result-award-icon{width:30px;height:30px}.session-result-award-copy h3{font-size:18px}.combat-prep-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.combat-prep-multiplier-grid,.wave-combat-result-grid,.wave-combat-monster-box{grid-template-columns:1fr}.wave-combat-monster-image,.wave-combat-monster-fallback{width:72px;height:72px}.equipment-select-grid,.bag-filter-tabs,.bag-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.enhance-infuse-elements,.enhance-action-buttons,.groups-inline-form,.groups-session-start-grid,.groups-vision-config,.groups-defense-wave-config,.groups-defense-settings-grid{grid-template-columns:1fr}.shop-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-bottom-nav.has-menu{grid-template-columns:repeat(4,minmax(0,1fr)) 40px}.game-bottom-nav-menu-button{min-width:40px;width:40px}}@media(max-width:960px){.card-flip-slot-frame{min-height:250px}}@media(max-width:640px){.card-flip-summary-metrics,.card-flip-controls,.card-flip-summary-actions{grid-template-columns:1fr}.card-flip-archive-zone,.card-flip-summary{padding:14px}.card-flip-slot-frame{min-height:250px}.card-flip-stack-display{width:140px;height:200px}.card-flip-archive-pile{min-height:220px}.card-flip-archive-card{left:12px;top:16px;transform:translate(calc(var(--archive-index) * 18px)) rotate(calc((var(--archive-index) - 2) * 1.3deg))}.card-flip-archive-card .card-flip-card{width:140px}.card-flip-set-list li{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){.card-flip-card-inner,.card-flip-card.is-revealed .card-flip-card-front,.card-flip-card.is-revealed.is-heroic .card-flip-card-front,.card-flip-card.is-revealed.is-apex .card-flip-card-front,.card-flip-card.is-revealed .card-flip-card-flash,.card-flip-card.is-revealed .card-flip-particle{animation:none;transition:none}}@media(max-width:340px){.map-action-button-grid,.map-action-system-grid{grid-template-columns:1fr}}.admin-sim-page{width:min(100%,1280px);margin:0 auto;padding:16px;display:grid;gap:12px}.admin-sim-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:14px;border:1px solid #334155;border-radius:12px;background:#0f172a}.admin-sim-header h1{margin:0;font-size:24px}.admin-sim-header p{margin:6px 0 0}.admin-sim-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.admin-sim-tabs button.active{background:#1d4ed8;border-color:#60a5fa;color:#eff6ff}.admin-sim-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;padding:10px;border:1px solid #334155;border-radius:12px;background:#0f172a}.admin-sim-filters label,.admin-sim-log-filters label,.admin-sim-rerun-form label{display:grid;gap:4px;font-size:11px;color:#cbd5e1}.admin-sim-filters input,.admin-sim-filters select,.admin-sim-log-filters input,.admin-sim-log-filters select,.admin-sim-rerun-form input,.admin-sim-rerun-form select{min-height:34px;padding:6px 8px;font-size:11px;width:70%;justify-self:start}.admin-sim-create-form{border:1px solid #334155;border-radius:12px;background:#0f172a;padding:10px;display:grid;gap:8px}.admin-sim-create-form h2{margin:0}.admin-sim-create-overrides{border-top:1px solid #334155;padding-top:10px;display:grid;gap:8px}.admin-sim-main{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:10px}.admin-sim-run-list,.admin-sim-run-detail{border:1px solid #334155;border-radius:12px;background:#0f172a;padding:10px}.admin-sim-run-list header,.admin-sim-logs-panel header,.admin-sim-run-detail-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.admin-sim-run-list ul,.admin-sim-log-list,.admin-sim-inline-list,.admin-sim-summary-grid,.admin-sim-player-summary-list{list-style:none;margin:0;padding:0}.admin-sim-run-list ul{margin-top:8px;display:grid;gap:6px;max-height:520px;overflow:auto}.admin-sim-run-list li button{width:100%;min-height:auto;display:grid;gap:2px;text-align:left;padding:8px;border-radius:8px}.admin-sim-run-list li button.active{border-color:#60a5fa;background:#1e293b}.admin-sim-run-list-header-actions{display:flex;align-items:center;gap:8px}.admin-sim-run-list-header-actions .muted{margin:0}.admin-sim-pagination,.admin-sim-log-pagination{margin-top:8px;display:flex;align-items:center;gap:8px}.admin-sim-actions{display:flex;gap:6px}.admin-sim-rerun-form{margin-top:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.admin-sim-report-summary{margin-top:10px;border-top:1px solid #334155;padding-top:10px;display:grid;gap:8px}.admin-sim-report-summary h3,.admin-sim-report-summary h4,.admin-sim-run-list h2,.admin-sim-run-detail h2,.admin-sim-logs-panel h3{margin:0}.admin-sim-inline-list{display:grid;gap:6px}.admin-sim-inline-list li{padding:6px 8px;border-radius:8px;border:1px solid #334155;background:#111827;font-size:13px}.admin-sim-summary-grid{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-sim-summary-grid li{padding:6px 8px;border-radius:8px;border:1px solid #334155;background:#111827;font-size:13px}.admin-sim-player-summary-list{display:grid;gap:6px}.admin-sim-player-summary-item{border:1px solid #334155;border-radius:8px;overflow:hidden;background:#111827}.admin-sim-player-toggle{width:100%;min-height:auto;text-align:left;padding:8px;border:0;border-radius:0;background:#111827;color:inherit}.admin-sim-player-toggle:hover{background:#172033}.admin-sim-player-detail{border-top:1px solid #334155;padding:8px;display:grid;gap:4px}.admin-sim-player-detail p{margin:0;font-size:13px}.admin-sim-logs-panel{margin-top:10px;border-top:1px solid #334155;padding-top:10px;display:grid;gap:8px}.admin-sim-log-filters{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.admin-sim-log-player-list{display:grid;gap:6px;list-style:none;margin:0;padding:0}.admin-sim-log-player-list li{padding:6px 8px;border-radius:8px;border:1px solid #334155;background:#111827;font-size:13px}.admin-sim-log-list{display:grid;gap:6px;max-height:360px;overflow:auto}.admin-sim-log-row{width:100%;min-height:auto;display:flex;justify-content:space-between;gap:8px;text-align:left;font-size:12px}.admin-sim-log-json{margin-top:4px;display:grid;gap:4px}.admin-sim-log-json pre{margin:0;padding:8px;border-radius:8px;border:1px solid #334155;background:#020617;overflow:auto;font-size:12px}@media(max-width:1024px){.admin-sim-main{grid-template-columns:1fr}.admin-sim-run-list ul,.admin-sim-log-list{max-height:none}}.game-screen-layout{--ui-btn-main-left: url(/assets/ui/ui-btn-main-left.png);--ui-btn-main-center: url(/assets/ui/ui-btn-main-center.png);--ui-btn-main-right: url(/assets/ui/ui-btn-main-right.png);--ui-btn-active-left: url(/assets/ui/ui-btn-active-left.png);--ui-btn-active-center: url(/assets/ui/ui-btn-active-center.png);--ui-btn-active-right: url(/assets/ui/ui-btn-active-right.png);--ui-btn-battle-left: url(/assets/ui/ui-btn-battle-left.png);--ui-btn-battle-center: url(/assets/ui/ui-btn-battle-center.png);--ui-btn-battle-right: url(/assets/ui/ui-btn-battle-right.png);--ui-btn-bottom-fixed: url(/assets/ui/ui-btn-bottom-fixed.png);--ui-btn-popup-fixed: url(/assets/ui/ui-btn-popup-fixed.png);--ui-header-left: url(/assets/ui/ui-header-left.png);--ui-header-center: url(/assets/ui/ui-header-center.png);--ui-header-right: url(/assets/ui/ui-header-right.png);--ui-frame-dark-tl: url(/assets/ui/ui-frame-dark-tl.png);--ui-frame-dark-tc: url(/assets/ui/ui-frame-dark-tc.png);--ui-frame-dark-tr: url(/assets/ui/ui-frame-dark-tr.png);--ui-frame-dark-ml: url(/assets/ui/ui-frame-dark-ml.png);--ui-frame-dark-mc: url(/assets/ui/ui-frame-dark-mc.png);--ui-frame-dark-mr: url(/assets/ui/ui-frame-dark-mr.png);--ui-frame-dark-bl: url(/assets/ui/ui-frame-dark-bl.png);--ui-frame-dark-bc: url(/assets/ui/ui-frame-dark-bc.png);--ui-frame-dark-br: url(/assets/ui/ui-frame-dark-br.png);--ui-frame-item-tl: url(/assets/ui/ui-frame-item-tl.png);--ui-frame-item-tc: url(/assets/ui/ui-frame-item-tc.png);--ui-frame-item-tr: url(/assets/ui/ui-frame-item-tr.png);--ui-frame-item-ml: url(/assets/ui/ui-frame-item-ml.png);--ui-frame-item-mc: url(/assets/ui/ui-frame-item-mc.png);--ui-frame-item-mr: url(/assets/ui/ui-frame-item-mr.png);--ui-frame-item-bl: url(/assets/ui/ui-frame-item-bl.png);--ui-frame-item-bc: url(/assets/ui/ui-frame-item-bc.png);--ui-frame-item-br: url(/assets/ui/ui-frame-item-br.png);--ui-frame-dark-cap: 24px;--ui-frame-item-cap: 18px}.game-screen-layout button:not(.map-bottom-hud-toggle,.map-bottom-quick-slot,.map-roaming-marker,.card-flip-card,.bag-quick-slot-select-surface,.collection-card-row-button,.game-bottom-nav-button,.game-bottom-nav-menu-button,.map-zoom-control,.bag-card){position:relative;isolation:isolate;overflow:hidden}.game-screen-layout button:not(.map-bottom-hud-toggle,.map-bottom-quick-slot,.map-roaming-marker,.card-flip-card,.bag-quick-slot-select-surface,.collection-card-row-button,.game-bottom-nav-button,.game-bottom-nav-menu-button,.map-zoom-control,.bag-card):before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background-image:var(--ui-btn-main-left),var(--ui-btn-main-right),var(--ui-btn-main-center);background-repeat:no-repeat,no-repeat,repeat-x;background-position:left center,right center,center center;background-size:auto 100%,auto 100%,auto 100%;opacity:.96}.game-screen-layout button:not(.map-bottom-hud-toggle,.map-bottom-quick-slot,.map-roaming-marker,.card-flip-card,.bag-quick-slot-select-surface,.collection-card-row-button,.game-bottom-nav-button,.game-bottom-nav-menu-button,.map-zoom-control,.bag-card)>*{position:relative;z-index:1}.game-screen-layout button:not(.map-bottom-hud-toggle,.map-bottom-quick-slot,.map-roaming-marker,.card-flip-card,.bag-quick-slot-select-surface,.collection-card-row-button,.game-bottom-nav-button,.game-bottom-nav-menu-button,.map-zoom-control,.bag-card):hover:not(:disabled){filter:brightness(1.06)}.game-screen-layout button:not(.map-bottom-hud-toggle,.map-bottom-quick-slot,.map-roaming-marker,.card-flip-card,.bag-quick-slot-select-surface,.collection-card-row-button,.game-bottom-nav-button,.game-bottom-nav-menu-button,.map-zoom-control,.bag-card):active:not(:disabled){transform:translateY(1px);filter:brightness(.92)}.game-screen-layout button:not(.map-bottom-hud-toggle,.map-bottom-quick-slot,.map-roaming-marker,.card-flip-card,.bag-quick-slot-select-surface,.collection-card-row-button,.game-bottom-nav-button,.game-bottom-nav-menu-button,.map-zoom-control,.bag-card):focus-visible{outline:2px solid #9cc4ff;outline-offset:2px}.game-screen-layout button:not(.map-bottom-hud-toggle,.map-bottom-quick-slot,.map-roaming-marker,.card-flip-card,.bag-quick-slot-select-surface,.collection-card-row-button,.game-bottom-nav-button,.game-bottom-nav-menu-button,.map-zoom-control,.bag-card):disabled{opacity:.72;filter:saturate(.45) brightness(.85)}.game-screen-layout button.enhance-slot-button:before,.game-screen-layout button.game-status-convert-button:before{content:none}.game-screen-layout .enhance-infuse-elements button:before{content:none;background-image:none}.game-screen-layout .modal-confirm-actions{display:flex;justify-content:center}.game-screen-layout .modal-confirm-button{min-width:128px;background:transparent;z-index:0}.game-screen-layout .modal-confirm-button:before{z-index:-1;background-image:var(--ui-btn-popup-fixed);background-repeat:no-repeat;background-position:center;background-size:100% 100%}.game-screen-layout .game-status-bar{position:sticky;isolation:isolate;overflow:hidden}.game-screen-layout .game-status-bar:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background-image:var(--ui-header-left),var(--ui-header-right),var(--ui-header-center);background-repeat:no-repeat,no-repeat,repeat-x;background-position:left center,right center,center center;background-size:auto 100%,auto 100%,auto 100%;opacity:.9}.game-screen-layout .game-status-bar>*{position:relative;z-index:1}.game-screen-layout .game-status-resource-stack{margin-left:20px}.game-screen-layout .game-status-convert-button{margin-right:30px}.game-screen-layout .map-action-dock-toggle{border:0;border-radius:0;background:transparent;box-shadow:none;z-index:0}.game-screen-layout .map-action-dock-toggle:before{z-index:-1;background-image:var(--ui-btn-main-right),var(--ui-btn-main-left),var(--ui-btn-main-center);background-repeat:no-repeat,no-repeat,repeat-x;background-position:right center,left center,center center;background-size:24px 100%,24px 100%,auto 100%}.game-screen-layout .map-action-panel button{z-index:0}.game-screen-layout .map-action-panel button:before{z-index:-1;background-image:var(--ui-btn-main-left),var(--ui-btn-main-right),var(--ui-btn-main-center);background-repeat:no-repeat,no-repeat,repeat-x;background-position:left center,right center,center center;background-size:auto 100%,auto 100%,auto 100%}.game-screen-layout .game-bottom-nav-button,.game-screen-layout .game-bottom-nav-menu-button{position:relative;isolation:isolate;overflow:hidden}.game-screen-layout .game-bottom-nav-button:before,.game-screen-layout .game-bottom-nav-menu-button:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background-image:var(--ui-btn-bottom-fixed);background-repeat:no-repeat;background-position:center;background-size:100% 100%;opacity:.96}.game-screen-layout .game-bottom-nav.has-menu .game-bottom-nav-button:before,.game-screen-layout .game-bottom-nav.has-menu .game-bottom-nav-menu-button:before{z-index:-1}.game-screen-layout .game-bottom-nav-button.active:not(:disabled),.game-screen-layout .game-bottom-nav-menu-button.active:not(:disabled){filter:brightness(1.16)}.game-screen-layout .combat-start-button:before,.game-screen-layout .combat-run-button:before{background-image:var(--ui-btn-battle-left),var(--ui-btn-battle-right),var(--ui-btn-battle-center);background-repeat:no-repeat,no-repeat,repeat-x;background-position:left center,right center,center center;background-size:auto 100%,auto 100%,auto 100%}.game-screen-layout .combat-run-button:before{background-image:var(--ui-btn-main-left),var(--ui-btn-main-right),var(--ui-btn-main-center)}.game-screen-layout .combat-prep-loadout-section button{z-index:0}.game-screen-layout .combat-prep-loadout-section button:before{z-index:-1;background-image:var(--ui-btn-main-left),var(--ui-btn-main-right),var(--ui-btn-main-center);background-repeat:no-repeat,no-repeat,repeat-x;background-position:left center,right center,center center;background-size:auto 100%,auto 100%,auto 100%}.game-screen-layout .casino-betting-submit-button:before{background-image:var(--ui-btn-active-left),var(--ui-btn-active-right),var(--ui-btn-active-center)}.game-screen-layout .event-panel,.game-screen-layout .map-action-panel,.game-screen-layout .map-bottom-status-bar,.game-screen-layout .treasure-modal,.game-screen-layout .equipment-select-modal,.game-screen-layout .shop-confirm-modal,.game-screen-layout .enhance-slot-panel,.game-screen-layout .enhance-info-panel,.game-screen-layout .enhance-infuse-modal{position:relative;isolation:isolate;overflow:hidden}.game-screen-layout .map-action-panel,.game-screen-layout .event-panel.casino-panel{overflow-x:hidden;overflow-y:auto}.game-screen-layout .map-action-panel-content{background-image:var(--ui-frame-dark-tl),var(--ui-frame-dark-tr),var(--ui-frame-dark-bl),var(--ui-frame-dark-br),var(--ui-frame-dark-tc),var(--ui-frame-dark-bc),var(--ui-frame-dark-ml),var(--ui-frame-dark-mr),var(--ui-frame-dark-mc);background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,repeat-x,repeat-x,repeat-y,repeat-y,repeat;background-position:left top,right top,left bottom,right bottom,center top,center bottom,left center,right center,center center;background-size:var(--ui-frame-dark-cap) var(--ui-frame-dark-cap),var(--ui-frame-dark-cap) var(--ui-frame-dark-cap),var(--ui-frame-dark-cap) var(--ui-frame-dark-cap),var(--ui-frame-dark-cap) var(--ui-frame-dark-cap),calc(100% - (var(--ui-frame-dark-cap) * 2)) var(--ui-frame-dark-cap),calc(100% - (var(--ui-frame-dark-cap) * 2)) var(--ui-frame-dark-cap),var(--ui-frame-dark-cap) calc(100% - (var(--ui-frame-dark-cap) * 2)),var(--ui-frame-dark-cap) calc(100% - (var(--ui-frame-dark-cap) * 2)),calc(100% - (var(--ui-frame-dark-cap) * 2)) calc(100% - (var(--ui-frame-dark-cap) * 2))}.game-screen-layout .event-panel:before,.game-screen-layout .map-action-panel:before,.game-screen-layout .map-bottom-status-bar:before,.game-screen-layout .treasure-modal:before,.game-screen-layout .equipment-select-modal:before,.game-screen-layout .shop-confirm-modal:before,.game-screen-layout .enhance-slot-panel:before,.game-screen-layout .enhance-info-panel:before,.game-screen-layout .enhance-infuse-modal:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background-image:var(--ui-frame-dark-tl),var(--ui-frame-dark-tr),var(--ui-frame-dark-bl),var(--ui-frame-dark-br),var(--ui-frame-dark-tc),var(--ui-frame-dark-bc),var(--ui-frame-dark-ml),var(--ui-frame-dark-mr),var(--ui-frame-dark-mc);background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,repeat-x,repeat-x,repeat-y,repeat-y,repeat;background-position:left top,right top,left bottom,right bottom,center top,center bottom,left center,right center,center center;background-size:var(--ui-frame-dark-cap) var(--ui-frame-dark-cap),var(--ui-frame-dark-cap) var(--ui-frame-dark-cap),var(--ui-frame-dark-cap) var(--ui-frame-dark-cap),var(--ui-frame-dark-cap) var(--ui-frame-dark-cap),calc(100% - (var(--ui-frame-dark-cap) * 2)) var(--ui-frame-dark-cap),calc(100% - (var(--ui-frame-dark-cap) * 2)) var(--ui-frame-dark-cap),var(--ui-frame-dark-cap) calc(100% - (var(--ui-frame-dark-cap) * 2)),var(--ui-frame-dark-cap) calc(100% - (var(--ui-frame-dark-cap) * 2)),calc(100% - (var(--ui-frame-dark-cap) * 2)) calc(100% - (var(--ui-frame-dark-cap) * 2));opacity:.9}.game-screen-layout .map-action-panel:before{content:none}.game-screen-layout .event-panel>*,.game-screen-layout .map-action-panel>*,.game-screen-layout .map-bottom-status-bar>*,.game-screen-layout .treasure-modal>*,.game-screen-layout .equipment-select-modal>*,.game-screen-layout .shop-confirm-modal>*,.game-screen-layout .enhance-slot-panel>*,.game-screen-layout .enhance-info-panel>*,.game-screen-layout .enhance-infuse-modal>*{position:relative;z-index:1}.game-screen-layout .bag-card,.game-screen-layout .shop-card,.game-screen-layout .treasure-reward-item,.game-screen-layout .equipment-select-card{position:relative;isolation:isolate;overflow:hidden}.game-screen-layout .bag-card:before,.game-screen-layout .shop-card:before,.game-screen-layout .treasure-reward-item:before,.game-screen-layout .equipment-select-card:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background-image:var(--ui-frame-item-tl),var(--ui-frame-item-tr),var(--ui-frame-item-bl),var(--ui-frame-item-br),var(--ui-frame-item-tc),var(--ui-frame-item-bc),var(--ui-frame-item-ml),var(--ui-frame-item-mr),var(--ui-frame-item-mc);background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,repeat-x,repeat-x,repeat-y,repeat-y,repeat;background-position:left top,right top,left bottom,right bottom,center top,center bottom,left center,right center,center center;background-size:var(--ui-frame-item-cap) var(--ui-frame-item-cap),var(--ui-frame-item-cap) var(--ui-frame-item-cap),var(--ui-frame-item-cap) var(--ui-frame-item-cap),var(--ui-frame-item-cap) var(--ui-frame-item-cap),calc(100% - (var(--ui-frame-item-cap) * 2)) var(--ui-frame-item-cap),calc(100% - (var(--ui-frame-item-cap) * 2)) var(--ui-frame-item-cap),var(--ui-frame-item-cap) calc(100% - (var(--ui-frame-item-cap) * 2)),var(--ui-frame-item-cap) calc(100% - (var(--ui-frame-item-cap) * 2)),calc(100% - (var(--ui-frame-item-cap) * 2)) calc(100% - (var(--ui-frame-item-cap) * 2));opacity:.88}.game-screen-layout .bag-card>*,.game-screen-layout .shop-card>*,.game-screen-layout .treasure-reward-item>*,.game-screen-layout .equipment-select-card>*{position:relative;z-index:1}.game-screen-layout .map-bottom-status-left{margin-left:5px}.game-screen-layout .map-bottom-wave-info{margin-right:5px}.game-screen-layout .map-bottom-status-bar:before{background-size:16px 16px,16px 16px,16px 16px,16px 16px,calc(100% - 32px) 16px,calc(100% - 32px) 16px,16px calc(100% - 32px),16px calc(100% - 32px),calc(100% - 32px) calc(100% - 32px)}.game-screen-layout .map-zoom-control:before,.game-screen-layout .equipment-select-header button:before,.game-screen-layout .map-log-overlay-header button:before,.game-screen-layout .map-log-overlay-submit:before{content:none}.game-screen-layout .bag-filter-tabs button{z-index:0}.game-screen-layout .bag-filter-tabs button:before{z-index:-1;background-image:var(--ui-btn-main-left),var(--ui-btn-main-right),var(--ui-btn-main-center);background-repeat:no-repeat,no-repeat,repeat-x;background-position:left center,right center,center center;background-size:auto 100%,auto 100%,auto 100%}.game-screen-layout .enhance-submit-button,.game-screen-layout .enhance-info-secondary-actions button{z-index:0;background:transparent}.game-screen-layout .enhance-submit-button:before,.game-screen-layout .enhance-info-secondary-actions button:before{z-index:-1;background-image:var(--ui-btn-main-left),var(--ui-btn-main-right),var(--ui-btn-main-center);background-repeat:no-repeat,no-repeat,repeat-x;background-position:left center,right center,center center;background-size:auto 100%,auto 100%,auto 100%}.game-screen-layout .enhance-submit-button.active:before{background-image:var(--ui-btn-battle-left),var(--ui-btn-battle-right),var(--ui-btn-battle-center)}.game-screen-layout .event-panel.combat-panel button,.game-screen-layout .map-action-panel button,.game-screen-layout .combat-prep-loadout-section button,.game-screen-layout .shop-card button,.game-screen-layout .shop-tabs button,.game-screen-layout .map-scroll-use-button,.game-screen-layout .casino-panel button,.game-screen-layout .village-closed-panel button,.game-screen-layout .sweep-modal button{z-index:0;background:transparent}.game-screen-layout .event-panel.combat-panel button:before,.game-screen-layout .map-action-panel button:before,.game-screen-layout .combat-prep-loadout-section button:before,.game-screen-layout .shop-card button:before,.game-screen-layout .shop-tabs button:before,.game-screen-layout .map-scroll-use-button:before,.game-screen-layout .casino-panel button:before,.game-screen-layout .village-closed-panel button:before,.game-screen-layout .sweep-modal button:before{z-index:-1;background-image:var(--ui-btn-main-left),var(--ui-btn-main-right),var(--ui-btn-main-center);background-repeat:no-repeat,no-repeat,repeat-x;background-position:left center,right center,center center;background-size:auto 100%,auto 100%,auto 100%}.game-screen-layout .combat-prep-loadout-section .combat-start-button:before,.game-screen-layout .combat-prep-loadout-section .combat-run-button:before{background-image:var(--ui-btn-battle-left),var(--ui-btn-battle-right),var(--ui-btn-battle-center)}.game-screen-layout .combat-prep-loadout-section .combat-run-button:before{background-image:var(--ui-btn-main-left),var(--ui-btn-main-right),var(--ui-btn-main-center)}.game-screen-layout .sweep-modal{position:relative;isolation:isolate;overflow:hidden}.game-screen-layout .sweep-modal:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background-image:var(--ui-frame-dark-tl),var(--ui-frame-dark-tr),var(--ui-frame-dark-bl),var(--ui-frame-dark-br),var(--ui-frame-dark-tc),var(--ui-frame-dark-bc),var(--ui-frame-dark-ml),var(--ui-frame-dark-mr),var(--ui-frame-dark-mc);background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,repeat-x,repeat-x,repeat-y,repeat-y,repeat;background-position:left top,right top,left bottom,right bottom,center top,center bottom,left center,right center,center center;background-size:var(--ui-frame-dark-cap) var(--ui-frame-dark-cap),var(--ui-frame-dark-cap) var(--ui-frame-dark-cap),var(--ui-frame-dark-cap) var(--ui-frame-dark-cap),var(--ui-frame-dark-cap) var(--ui-frame-dark-cap),calc(100% - (var(--ui-frame-dark-cap) * 2)) var(--ui-frame-dark-cap),calc(100% - (var(--ui-frame-dark-cap) * 2)) var(--ui-frame-dark-cap),var(--ui-frame-dark-cap) calc(100% - (var(--ui-frame-dark-cap) * 2)),var(--ui-frame-dark-cap) calc(100% - (var(--ui-frame-dark-cap) * 2)),calc(100% - (var(--ui-frame-dark-cap) * 2)) calc(100% - (var(--ui-frame-dark-cap) * 2));opacity:.9}.game-screen-layout .sweep-modal>*{position:relative;z-index:1}.game-screen-layout .shop-panel{margin:0;overflow-x:hidden}.game-screen-layout .village-flow-panel,.game-screen-layout .village-panel{margin:0}.game-screen-layout .event-panel.village-panel:before{content:none}.game-screen-layout .village-closed-panel button,.game-screen-layout .map-scroll-use-button{color:#fff}.game-screen-layout .shop-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.game-screen-layout .shop-tabs button{width:100%}.game-screen-layout .event-panel.combat-prep-panel,.game-screen-layout .event-panel.combat-panel{margin:0}.game-screen-layout .event-panel.combat-prep-panel{padding:12px;border:0;background:transparent;overflow-y:hidden!important;overflow-x:hidden!important}.game-screen-layout .event-panel.combat-panel{overflow:hidden!important}.game-screen-layout .event-panel.combat-prep-panel .combat-prep-monster-section{border-top-left-radius:10px;border-top-right-radius:10px}.game-screen-layout .event-panel.combat-prep-panel .combat-prep-loadout-section{border-bottom-left-radius:10px;border-bottom-right-radius:10px}.game-screen-layout .skill-panel .skill-card{background:#111827;z-index:0}.game-screen-layout .skill-panel .skill-card:before{content:none}.game-screen-layout .skill-panel-close-button,.game-screen-layout .skill-panel-confirm-button{background:transparent;z-index:0;color:#fff}.game-screen-layout .skill-panel-close-button:before,.game-screen-layout .skill-panel-confirm-button:before{z-index:-1}.game-screen-layout .skill-panel-close-button:disabled,.game-screen-layout .skill-panel-confirm-button:disabled{opacity:1;filter:none;color:#fff}.sweep-modal-backdrop,.treasure-modal-backdrop,.wave-stun-dialog-backdrop,.shop-confirm-backdrop,.point-convert-confirm-backdrop,.skill-panel-backdrop,.enhance-infuse-modal-backdrop,.equipment-select-modal-backdrop{z-index:120}.collection-page{background:radial-gradient(circle at top,rgba(232,198,126,.16),transparent 30%),linear-gradient(180deg,#201814,#110d0b)}.collection-game-body{padding:0;display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;background:radial-gradient(circle at top,rgba(232,198,126,.16),transparent 30%),linear-gradient(180deg,#201814,#110d0b)}.collection-page-shell{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:12px;width:min(1180px,100%);min-height:0;height:100%;margin:0 auto;padding:12px;box-sizing:border-box}.collection-page-header,.collection-page-summary,.collection-page-panel,.collection-page-empty{border:1px solid rgba(232,198,126,.2);border-radius:20px;background:#15110ee0;box-shadow:0 24px 60px #00000047}.collection-page-header,.collection-page-empty{position:relative;display:flex;justify-content:flex-start;gap:16px;padding:20px 24px;align-items:center}.collection-page-header h1,.collection-page-empty h1{margin:0}.collection-page-actions{position:absolute;right:2rem;display:flex;gap:10px;flex-wrap:wrap}.collection-page-tabs{grid-template-columns:repeat(3,minmax(0,1fr));width:min(480px,100%)}.collection-page-tab-panel{min-height:0;overflow-y:auto;display:grid;align-content:start;gap:18px;padding-right:2px}.collection-page-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px}.collection-page-summary article{display:grid;gap:6px;padding:16px;border-radius:14px;background:#ffffff0a}.collection-page-summary span{color:#f5efe0b8;font-size:.84rem}.collection-page-summary strong{font-size:1.25rem}.collection-page-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,320px);gap:18px}.collection-page-side-panel{display:grid;gap:18px}.collection-page-panel{padding:20px}.collection-page-panel-header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.collection-page-panel-header h2{margin:0;font-size:1.05rem}.collection-page-panel-header span{color:#e8c67ed1}.collection-set-list,.collection-card-list{list-style:none;margin:0;padding:0}.collection-set-list{display:grid;gap:10px}.collection-set-list li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px;border-radius:14px;background:#ffffff0a}.collection-set-list li>div,.collection-set-list li>strong{display:grid;gap:4px}.collection-set-list span{color:#f5efe0b8;font-size:.86rem}.collection-set-state{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#ffffff14;color:#f5efe0cc;white-space:nowrap}.collection-set-state.is-active{background:#e8c67e38;color:#f8e6b1}.collection-card-panel{min-width:0}.collection-refresh-indicator{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#ffffff0f;color:#f5efe0b8;font-size:.78rem}.collection-filter-toolbar{display:grid;gap:12px;margin-bottom:18px}.collection-filter-group{position:relative;z-index:0;isolation:isolate;display:flex;gap:10px;flex-wrap:wrap}.collection-filter-chip{position:relative;z-index:-1;border:1px solid rgba(255,255,255,.08);border-radius:0;background:#ffffff0a;color:#f5efe0d1;padding:9px 14px}.collection-filter-chip.is-active{border-color:#e8c67e57;background:#e8c67e2e;color:#f8e6b1}.collection-tier-filter{display:inline-grid;gap:8px;color:#f5efe0c2;font-size:.82rem}.collection-tier-filter select{min-width:180px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#0c0a08e0;color:#f5efe0}.collection-card-list{display:grid;gap:10px}.collection-card-list-item{padding:10px 12px;background:#1a2334;border-color:#334155;cursor:pointer}.collection-card-list-item.is-silhouetted{opacity:.72}.collection-card-list-item.is-undiscovered{background:#141b2a}.collection-card-list-item:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.collection-card-thumb-frame{aspect-ratio:1 / 1;border:1px solid #475569;border-radius:8px;overflow:hidden;background:#0f172a}.collection-card-thumb-frame.is-compact{width:56px;min-width:56px}.collection-card-thumb-frame.is-uncollected{border-color:transparent;background:transparent}.collection-card-equipment-image,.collection-card-equipment-image img,.collection-card-equipment-fallback{width:100%;height:100%}.collection-card-equipment-image{display:block;padding:4px}.collection-card-equipment-image img{display:block;width:100%;height:100%;object-fit:contain}.collection-card-equipment-image.is-muted img{filter:grayscale(1) blur(1.8px);transform:scale(.96)}.collection-card-equipment-fallback{display:grid;place-items:center;background:transparent;color:#f5efe0ad;letter-spacing:.12em;font-size:.8rem}.collection-card-copy{display:grid;gap:6px;min-width:0}.collection-card-copy strong{font-size:1rem}.collection-card-copy span{color:#f5efe0b8;font-size:.86rem}.collection-card-row-button{all:unset;box-sizing:border-box;display:block;width:100%;cursor:pointer;-webkit-tap-highlight-color:rgba(148,163,184,.25)}.collection-card-row{display:flex;align-items:flex-start;gap:10px}.collection-card-badges{display:flex;gap:8px;flex-wrap:wrap}.collection-card-badge,.collection-card-status-badge,.collection-card-unique-badge{display:inline-flex;align-items:center;padding:0 8px;border-radius:999px;background:#ffffff14;color:#f5efe0d1;font-size:.75rem}.collection-card-badge{border:1px solid rgba(148,163,184,.42)}.collection-card-badge.is-undiscovered{border-color:#94a3b85c;background:#0f172ab8;color:#e2e8f0d1}.collection-card-unique-badge{background:#e8c67e38;color:#f8e6b1}.collection-card-status-badge.is-owned{background:#70c6982e;color:#d4ffe8}.collection-empty-state{display:grid;gap:8px;padding:20px;border-radius:16px;background:#ffffff0a}.collection-set-card{align-items:flex-start}.collection-set-bonus-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.collection-set-bonus-chip{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#ffffff14;color:#f5efe0d1;font-size:.74rem}.collection-progress-track{width:100%;height:7px;margin-top:12px;border-radius:999px;background:#ffffff14;overflow:hidden}.collection-progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,#bd784ee6,#e8c67eeb)}.collection-progress-bar.is-active{background:linear-gradient(90deg,#70c698f5,#d0ffe4e0)}.codex-page-shell{gap:16px}.codex-page-hero{display:grid;gap:8px;padding:16px 18px;border:1px solid rgba(110,198,156,.28);border-radius:18px;background:radial-gradient(circle at top right,rgba(88,198,142,.18),transparent 42%),linear-gradient(160deg,#12281ff5,#0a1512fa)}.codex-page-kicker{display:inline-flex;width:fit-content;padding:4px 9px;border-radius:999px;background:#98ebbe29;color:#b7ffd5;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.codex-page-hero strong{display:block;font-size:1rem;color:#f2fff8}.codex-page-hero p{margin:0;color:#e5f5eec2}.codex-buff-panel{display:grid;gap:14px}.codex-bonus-list{flex-wrap:wrap}.runtime-crafting-panel{display:grid;gap:16px}.runtime-crafting-panel-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.runtime-crafting-panel-header h2,.runtime-crafting-panel-header p{margin:0}.runtime-crafting-panel-header p{color:#dfe8ffad}.runtime-crafting-recipe-list{display:grid;gap:14px;margin:0;padding:0;list-style:none}.runtime-crafting-recipe-card{display:grid;gap:14px;padding:16px;border-radius:18px;border:1px solid rgba(148,175,255,.14);background:#0d121fc7}.runtime-crafting-recipe-card.is-disabled{opacity:.72}.runtime-crafting-result-row{display:flex;gap:14px;align-items:center}.runtime-crafting-result-image{width:50px;height:50px;border-radius:14px;object-fit:cover;background:#ffffff14}.runtime-crafting-result-copy{display:grid;gap:4px}.runtime-crafting-result-copy strong,.runtime-crafting-result-copy span,.runtime-crafting-result-copy p{margin:0}.runtime-crafting-result-copy strong{color:#f6f7ff}.runtime-crafting-result-copy span,.runtime-crafting-result-copy p{color:#dee4ffb8}.runtime-crafting-cost-list{display:flex;flex-wrap:wrap;gap:8px}.runtime-crafting-cost-chip{display:inline-flex;gap:7px;align-items:center;padding:6px 11px;border-radius:999px;background:#7d99ff1f;color:#d8e3ff}.runtime-crafting-cost-chip.is-insufficient{background:#ff6e6e2e;color:#ffd1d1}.runtime-crafting-submit{justify-self:flex-start;padding:11px 16px;border:none;border-radius:12px;background:linear-gradient(135deg,#77d18c,#4aa0a8);color:#08120e;font-weight:700}.runtime-crafting-submit:disabled{cursor:not-allowed;opacity:.5}.collection-dialog-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px 16px;background:#060504b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.collection-dialog{width:min(840px,100%);max-height:min(90vh,960px);overflow:auto;border-radius:24px;border:1px solid rgba(232,198,126,.24);background:radial-gradient(circle at top,rgba(232,198,126,.14),transparent 38%),#15110ef5;box-shadow:0 26px 90px #00000070}.collection-detail-dialog{width:min(980px,100%)}.collection-dialog-header,.collection-dialog-footer{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:20px 24px}.collection-dialog-header{border-bottom:1px solid rgba(255,255,255,.06)}.collection-dialog-header h3{margin:0;font-size:1.24rem}.collection-dialog-header p{margin:6px 0 0;color:#f5efe0ad}.collection-dialog-close{padding:9px 14px;border-radius:999px;background:#ffffff0f;color:#f5efe0d1}.collection-dialog-body{display:grid;gap:18px;padding:24px}.collection-dialog-footer{justify-content:flex-end;border-top:1px solid rgba(255,255,255,.06)}.collection-dialog-button{padding:11px 16px;border-radius:12px;background:#ffffff14;color:#f5efe0e6}.collection-dialog-button.is-secondary{background:#ffffff0d}.collection-dialog-button.is-primary{background:#e8c67e2e;color:#f8e6b1}.collection-detail-layout{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:22px}.collection-detail-art{aspect-ratio:7 / 10;display:grid;place-items:center;overflow:visible;border-radius:20px;background:transparent}.collection-detail-card-shell{position:relative;width:min(100%,320px);aspect-ratio:7 / 10;margin:0 auto;background-position:center;background-size:cover;background-repeat:no-repeat;filter:drop-shadow(0 18px 32px rgba(0,0,0,.34))}.collection-detail-card-shell.is-muted{filter:grayscale(.16) saturate(.88) drop-shadow(0 18px 32px rgba(0,0,0,.34))}.collection-detail-card-top-badges{position:absolute;top:8.5%;left:12%;right:12%;z-index:2;display:flex;align-items:flex-start;justify-content:flex-start;pointer-events:none}.collection-card-detail-window{position:absolute;left:11%;right:11%;top:9.25%;height:54%;overflow:hidden;border-radius:12px;background:radial-gradient(circle at top,rgba(148,163,184,.14),transparent 46%),#0f172aeb}.collection-card-detail-illustration,.collection-card-detail-illustration img,.collection-card-detail-window-fallback{width:100%;height:100%}.collection-card-detail-illustration{display:block;padding:1.5rem;box-sizing:border-box}.collection-card-detail-illustration img{display:block;object-fit:cover}.collection-card-detail-illustration.is-muted img{filter:grayscale(1) blur(1.8px);transform:scale(1.04)}.collection-card-detail-window-fallback{position:relative;display:grid;place-items:center;background-position:center;background-size:cover;background-repeat:no-repeat}.collection-card-detail-window-fallback span,.collection-detail-card-lock-caption{position:relative;z-index:1;color:#f8fafcd1;font-size:.76rem;font-weight:800;letter-spacing:.12em;text-shadow:0 2px 10px rgba(15,23,42,.9)}.collection-card-detail-window-fallback:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0f172a2e,#0f172a6b);pointer-events:none}.collection-card-detail-footer-copy{position:absolute;left:12%;right:12%;bottom:16%;display:grid;gap:4px;justify-items:center;min-height:18%;text-align:center}.collection-card-detail-title{color:#f8fafc;font-size:.96rem;line-height:1.16;text-shadow:0 2px 10px rgba(15,23,42,.9)}.collection-card-detail-description{color:#e2e8f0db;font-size:.72rem;line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;text-shadow:0 2px 8px rgba(15,23,42,.88)}.collection-detail-card-shell.is-locked{display:grid;place-items:end center;padding-bottom:12%}.collection-detail-card-shell.is-locked:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0f172a1a,#0f172a5c);pointer-events:none}.collection-detail-copy{display:grid;gap:16px;align-content:start}.collection-detail-locked-title{margin:0;font-size:1.4rem}.collection-detail-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.collection-detail-stats div{display:grid;gap:5px;padding:14px;border-radius:16px;background:#ffffff0a}.collection-detail-stats dt{color:#f5efe0a8;font-size:.8rem}.collection-detail-stats dd{margin:0;font-size:1rem}.collection-detail-locked{display:grid;gap:18px;grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:center}.collection-detail-dialog-footer{display:grid;gap:12px}.collection-detail-dialog-actions{display:flex;justify-content:flex-end;gap:12px}.collection-detail-close-button{width:100%}.collection-confirm-layout,.collection-result-layout{display:grid;gap:16px}.collection-warning-block{margin:0;padding:14px 16px;border-radius:16px;background:#ffffff0a;color:#f5efe0d1;line-height:1.6}.collection-warning-block.is-critical{background:#ad443633;color:#ffd8d1}.collection-inline-error{margin:0;color:#ffd8d1}.collection-action-confirm-modal{gap:14px}.collection-action-confirm-warning{margin:0;padding:12px 14px;border-radius:14px;background:#ad443633;color:#ffd8d1;line-height:1.5}.collection-result-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.collection-result-summary article,.collection-result-equipment{display:grid;gap:6px;padding:14px;border-radius:16px;background:#ffffff0a}.collection-result-summary span,.collection-result-equipment span{color:#f5efe0b3;font-size:.82rem}.collection-result-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.collection-result-list li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px;border-radius:16px;background:#ffffff0a}.collection-result-list li>div{display:grid;gap:4px}.collection-result-list li span{color:#f5efe0b8;font-size:.84rem}@media(max-width:900px){.collection-page-summary,.collection-page-content,.collection-detail-layout,.collection-detail-locked,.collection-result-summary{grid-template-columns:1fr}.collection-dialog-header,.collection-dialog-footer,.collection-page-header{flex-direction:column;align-items:stretch}.collection-page-tabs{width:100%}.collection-dialog-footer{justify-content:stretch}.collection-dialog-footer .collection-dialog-button{width:100%}.collection-detail-dialog-actions{flex-direction:column}}*{box-sizing:border-box}:root{color-scheme:dark;-webkit-tap-highlight-color:rgba(148,163,184,.25)}body{margin:0;font-family:Pretendard,Noto Sans KR,Apple SD Gothic Neo,sans-serif;color:#e5e7eb;background:#07090f}#root{min-height:100dvh}img{image-rendering:pixelated}.page{max-width:480px;margin:40px auto;padding:24px;background:#111723;border:1px solid #2f3747;border-radius:12px}.form{display:grid;gap:10px;margin-bottom:16px}.invite-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.invite-tabs button.active{border-color:#60a5fa;background:#1e3a5f;color:#dbeafe;font-weight:700}input,button,select{font:inherit;min-height:44px;padding:10px 12px;border-radius:10px;border:1px solid #3e4b61;background:#1b2536;color:#e5e7eb}button{touch-action:manipulation;font-family:Pretendard,Noto Sans KR,Apple SD Gothic Neo,sans-serif;font-size:13px;font-weight:700;line-height:1.2}button:disabled{opacity:.45;cursor:not-allowed}.error{margin:0;color:#fca5a5}.notice{margin:0 0 12px;color:#a7f3d0}.muted{margin:0;color:#9ca3af}
