:root{color:#f3ead7;background:#111;font-family:Trebuchet MS,Segoe UI,sans-serif;--overlay-panel-width: min(360px, calc(100vw - 36px) );--overlay-panel-bg: rgba(23, 17, 11, .42);--hud-edge-gap: 18px;--hud-top-gap: 18px;--hud-bottom-gap: 18px;--hud-touch-bottom-gap: 182px;--hud-bottom: var(--hud-bottom-gap)}body.is-touch-mode{--hud-bottom: var(--hud-touch-bottom-gap)}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden;background:radial-gradient(circle at top,rgba(255,224,177,.14),transparent 45%),linear-gradient(180deg,#6f8dad,#c7d3da 32%,#352816)}canvas{display:block;touch-action:none}.overlay-root{position:fixed;inset:0;pointer-events:none;-webkit-user-select:none;user-select:none}.overlay-root:before,.overlay-root:after{content:"";position:fixed;inset:0;pointer-events:none;opacity:0;z-index:55}.overlay-root:before{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}.overlay-root:after{background:radial-gradient(circle at 4% 18%,rgba(175,0,0,.72) 0 5px,transparent 6px 100%),radial-gradient(circle at 10% 42%,rgba(135,0,0,.62) 0 3px,transparent 4px 100%),radial-gradient(circle at 9% 62%,rgba(150,0,0,.68) 0 7px,transparent 8px 100%),radial-gradient(circle at 96% 28%,rgba(175,0,0,.7) 0 6px,transparent 7px 100%),radial-gradient(circle at 91% 74%,rgba(145,0,0,.6) 0 8px,transparent 9px 100%),radial-gradient(circle at 98% 52%,rgba(150,0,0,.56) 0 4px,transparent 5px 100%),linear-gradient(90deg,rgba(135,0,0,.68),transparent 23%,transparent 77%,rgba(135,0,0,.68));mix-blend-mode:multiply}.online-panel{position:absolute;top:18px;right:18px;width:fit-content;min-width:var(--overlay-panel-width);max-width:calc(100vw - 36px);padding:12px 14px;border:1px solid rgba(255,241,211,.16);border-radius:16px;background:var(--overlay-panel-bg);box-shadow:0 20px 50px #00000047;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hud-title{margin:0 0 10px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#fcecc4b8}.online-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.online-panel-title{margin:0}.online-count-text{font-size:12px;color:#fff1d394}.online-list{display:grid;gap:0}.online-table-head,.online-player-row{display:grid;grid-template-columns:minmax(160px,1fr) 44px 56px 52px;align-items:center;gap:6px}.online-table-head{min-height:24px;padding:0 0 6px}.online-table-head-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#fff1d36b;text-align:center;justify-self:center}.online-table-head-name{text-align:left;justify-self:stretch}.online-player-row,.online-list-empty{min-height:34px;border-top:1px solid rgba(255,241,211,.08)}.online-player-row{padding:8px 0}.online-player-name{color:#fff5dce6;text-align:left;justify-self:stretch;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.online-player-row.is-local .online-player-name{color:#ffe39a;font-weight:700;text-shadow:0 0 12px rgba(255,221,140,.22)}.online-player-row.is-bot .online-player-name{color:#fff5dc99}.online-player-bot-tag{font-size:.8em;color:#a89870;font-style:italic;margin-left:4px}.online-player-stat,.online-player-ping{color:#b7ffd4b8;font-size:11px;text-transform:uppercase;letter-spacing:.12em;text-align:center;justify-self:center;font-variant-numeric:tabular-nums}.online-player-ping{color:#c4ffe1db}.online-player-row.is-local .online-player-stat,.online-player-row.is-local .online-player-ping{color:#ffeab8}.online-list-empty{display:flex;align-items:center;color:#ffebc285;font-size:13px}.status-online{color:#85ffb2}.status-offline{color:#ff9d72}.reticle{position:absolute;top:50%;left:50%;width:14px;height:14px;transform:translate(-50%,-50%)}.reticle:before,.reticle:after{content:"";position:absolute;background:#fff6e2eb;border-radius:999px}.reticle:before{left:6px;width:2px;height:14px}.reticle:after{top:6px;width:14px;height:2px}.menu-wrap{position:fixed;inset:0;display:grid;place-items:center;padding:24px;background:#0c09068c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;z-index:10}.menu-panel{display:grid;gap:20px;width:min(520px,100%);max-height:calc(100vh - 48px);padding:32px 32px 28px;border:1px solid rgba(255,241,211,.16);border-radius:22px;background:#17110bb8;box-shadow:0 30px 70px #00000073;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow:auto}.menu-options{display:grid;gap:20px;padding:18px;border-radius:14px;background:#0a070459;border:1px solid rgba(255,241,211,.08)}.menu-section-label{margin:0 0 8px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#fcecc499}.menu-field{display:grid;gap:6px}.menu-field-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}.menu-field-actions .menu-field-label{width:100%}.menu-field-label{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#fcecc499}.menu-input{width:100%;padding:12px 14px;border:1px solid rgba(255,235,201,.18);border-radius:12px;background:#0d0a0799;color:inherit;font:inherit}.menu-input:focus{outline:2px solid rgba(255,216,143,.38);outline-offset:2px}.menu-toggle{justify-self:start;padding:10px 18px;border:1px solid rgba(255,216,143,.3);border-radius:999px;background:#dca56626;color:#ffefcfe6;font:inherit;font-size:13px;letter-spacing:.08em;cursor:pointer;transition:background .15s}.menu-toggle:hover{background:#dca5664d}.menu-controls-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;font-size:13px;color:#f5e8d2d1}.menu-key{display:inline-block;min-width:54px;margin-right:8px;padding:2px 8px;border:1px solid rgba(255,216,143,.3);border-radius:6px;background:#dca5661f;font-size:11px;letter-spacing:.08em;color:#ffefcfe6;text-align:center}.menu-footer{display:grid;gap:10px;justify-items:center}.menu-enter{width:min(360px,100%);padding:18px 24px;border:0;border-radius:999px;background:linear-gradient(135deg,#dca566,#f2d19e);color:#2b190b;font:inherit;font-size:18px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;box-shadow:0 12px 28px #00000059;transition:transform .12s ease-out}.menu-enter:hover:not(:disabled){transform:translateY(-1px)}.menu-enter:disabled{opacity:.7;cursor:progress}.menu-note{margin:0;min-height:20px;font-size:13px;color:#ffefcfb8;text-align:center}.hp-bar{position:absolute;bottom:var(--hud-bottom);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:8px 18px 8px 10px;border:1px solid rgba(255,224,168,.32);border-radius:999px;background:linear-gradient(180deg,#382616b8,#160e08c7);box-shadow:0 10px 28px #00000073,0 0 0 1px #0006,inset 0 1px #ffeec82e,inset 0 -2px 6px #00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hp-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:#ff8a7a;background:radial-gradient(circle at 35% 30%,#ffb48c47,#00000059 70%);box-shadow:inset 0 0 0 1px #ffd2aa40,0 0 12px #ff6e5a59;filter:drop-shadow(0 1px 1px rgba(0,0,0,.4));transition:color .3s,box-shadow .3s}.hp-icon svg{width:20px;height:20px}.hp-track{position:relative;flex:1;width:340px;height:24px;border-radius:999px;background:linear-gradient(180deg,#0a0604d9,#1e140cb3);box-shadow:inset 0 2px 4px #000000b3,inset 0 -1px #ffeec814;overflow:hidden}.hp-track:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:repeating-linear-gradient(90deg,transparent 0 23px,rgba(0,0,0,.35) 23px 24px);mix-blend-mode:multiply;opacity:.55}.revive-banner{position:absolute;left:50%;top:20%;transform:translate(-50%);max-width:min(560px,calc(100vw - 32px));padding:10px 16px;border:1px solid rgba(255,221,162,.32);border-radius:10px;background:#1e0c08b3;color:#ffeed0f5;font-size:clamp(14px,2vw,18px);font-weight:800;letter-spacing:.02em;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.45);box-shadow:0 16px 40px #00000059,inset 0 1px #fff1d626;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);z-index:65}.revive-prompt{position:absolute;left:50%;bottom:calc(var(--hud-bottom) + 110px);transform:translate(-50%);padding:8px 14px;border:1px solid rgba(255,222,164,.32);border-radius:8px;background:#110805b8;color:#ffebc9f5;font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.4);box-shadow:0 10px 28px #00000057,inset 0 1px #fff5dc1f;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:66}.station-prompt{position:absolute;left:50%;bottom:calc(var(--hud-bottom) + 160px);transform:translate(-50%);padding:8px 14px;border:1px solid rgba(180,220,255,.32);border-radius:8px;background:#080c11b8;color:#dcebfff5;font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.4);box-shadow:0 10px 28px #00000057,inset 0 1px #dcf5ff1f;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:66}.bread-bar{--bread-eat-progress: 0;position:absolute;left:50%;bottom:calc(var(--hud-bottom) + 56px);transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid rgba(255,232,182,.28);border-radius:999px;background:#1d120ab8;box-shadow:0 8px 20px #0006,inset 0 1px #fff0d224;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.bread-slot{width:18px;height:18px;border-radius:5px;border:1px solid rgba(246,219,157,.32);background:#26180ee6;box-shadow:inset 0 1px 2px #0009;position:relative;overflow:hidden}.bread-slot-loaf{position:absolute;inset:3px 2px 2px;border-radius:8px 8px 5px 5px;background:linear-gradient(180deg,#d8944f,#9a5f2c);opacity:.2;transform:scale(.8);transition:opacity .16s ease-out,transform .16s ease-out}.bread-slot.is-filled .bread-slot-loaf{opacity:1;transform:scale(1)}.bread-status{margin-left:4px;min-width:76px;color:#fff1d1d1;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.bread-bar.is-eating .bread-status{color:#ffde8ef2}.bread-bar:after{content:"";position:absolute;left:10px;right:10px;bottom:-3px;height:2px;border-radius:999px;background:linear-gradient(90deg,#ffd682e6,#ffb05ce6 calc(var(--bread-eat-progress) * 100%),#ffd68214 calc(var(--bread-eat-progress) * 100%) 100%);opacity:0;transition:opacity .12s ease-out}.bread-bar.is-eating:after{opacity:1}.perf-panel{position:absolute;right:var(--hud-edge-gap);bottom:var(--hud-bottom);max-width:min(420px,calc(100vw - 36px));padding:10px 12px;border:1px solid rgba(255,241,211,.16);border-radius:12px;background:#110b079e;color:#fff4d8c7;font-size:11px;line-height:1.5;white-space:pre-line;font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.combat-widget{position:absolute;top:18px;left:18px;opacity:.92;transition:opacity .16s ease-out}.combat-widget[data-active=false]{opacity:.6}.combat-dpad{position:relative;display:grid;grid-template-columns:repeat(3,56px);grid-template-rows:repeat(3,56px);gap:6px;padding:8px;border-radius:18px;border:1px solid rgba(251,235,204,.14);background:var(--overlay-panel-bg);box-shadow:0 18px 40px #00000047;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.combat-segment{display:grid;place-items:center;gap:2px;border-radius:12px;border:1px solid rgba(255,240,208,.09);background:#fff7e608;color:#ffebca8c;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;transition:color .14s ease-out,border-color .14s ease-out,background .14s ease-out,box-shadow .14s ease-out}.combat-segment-glyph{font-size:18px;line-height:1;letter-spacing:0}.combat-segment-label{font-size:8px;opacity:.8}.combat-segment-top{grid-column:2;grid-row:1}.combat-segment-left{grid-column:1;grid-row:2}.combat-segment-right{grid-column:3;grid-row:2}.combat-segment-thrust{grid-column:2;grid-row:3}.combat-widget[data-mode=attack_aim] .combat-segment.is-selected{border-color:#efc984c7;background:#ca914538;color:#ffefcb;box-shadow:inset 0 0 16px #ca914538}.combat-widget[data-mode=blocking] .combat-segment.is-selected,.combat-widget[data-mode=idle] .combat-segment.is-selected{border-color:#90b5dcb8;background:#4a6e9c38;color:#f2f7ff;box-shadow:inset 0 0 14px #4a6e9c38}.combat-dpad-core{grid-column:2;grid-row:2;display:grid;place-items:center;border-radius:12px;border:1px solid rgba(255,240,208,.14);background:#0e0a08d1;color:#ffe7bfb8;transition:color .14s ease-out,border-color .14s ease-out,background .14s ease-out}.combat-dpad-core-label{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.combat-widget[data-mode=attack_aim] .combat-dpad-core{border-color:#efc98499;background:#422a12d1;color:#ffe6b5}.combat-widget[data-mode=blocking] .combat-dpad-core{border-color:#90b5dc99;background:#20304ad1;color:#dfeaff}.touch-move-pad,.touch-action-button{display:none}.touch-move-pad{position:absolute;left:18px;bottom:22px;width:152px;height:152px;place-items:center;border-radius:50%;pointer-events:auto;touch-action:none}.touch-move-ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(255,241,211,.16);background:radial-gradient(circle at 30% 30%,rgba(255,227,182,.16),transparent 55%),#120c086b;box-shadow:inset 0 0 28px #0000002e}.touch-move-knob{width:62px;height:62px;border-radius:50%;border:1px solid rgba(255,241,211,.2);background:radial-gradient(circle at 35% 35%,rgba(255,236,202,.28),transparent 50%),#432e19e0;box-shadow:0 10px 24px #00000047;transition:transform .06s linear}.touch-move-pad.is-active .touch-move-ring{border-color:#f2ce9247}.touch-action-button{position:absolute;right:20px;width:96px;height:96px;border:1px solid rgba(255,241,211,.2);border-radius:999px;place-items:center;padding:0;background:#110b07c7;color:#fff4d8e0;font:inherit;font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;pointer-events:auto;touch-action:none;box-shadow:0 18px 34px #00000042}.touch-action-attack{bottom:20px}.touch-action-block{bottom:128px}.touch-action-jump{left:18px;right:auto;bottom:190px;width:72px;height:72px;font-size:12px}.touch-action-kick{bottom:236px;width:72px;height:72px;font-size:12px}.touch-action-interact{bottom:318px;width:72px;height:72px;font-size:11px}.touch-action-attack.is-active{border-color:#efc984b8;box-shadow:0 18px 34px #00000042,0 0 20px #ddad5b29}.touch-action-block.is-active{border-color:#90b5dcb8;box-shadow:0 18px 34px #00000042,0 0 20px #7ea8d633}.overlay-root.touch-mode .combat-dpad{grid-template-columns:repeat(3,68px);grid-template-rows:repeat(3,68px);pointer-events:auto;touch-action:none}.overlay-root.touch-mode .perf-panel{max-width:min(340px,calc(100vw - 28px))}.overlay-root:not(.touch-mode) .touch-move-pad,.overlay-root:not(.touch-mode) .touch-action-button{opacity:0;pointer-events:none}.overlay-root.touch-mode .bread-bar{pointer-events:auto;cursor:pointer}.hp-fill{position:relative;height:100%;width:100%;border-radius:999px;background:linear-gradient(180deg,#7be0a8,#3fa070 55%,#2a7a54);box-shadow:inset 0 1px #ffffff59,inset 0 -4px 8px #00000059,0 0 14px #50dc8c59;transition:width .25s ease-out,background .35s,box-shadow .35s}.hp-fill:before{content:"";position:absolute;inset:1px 1px auto;height:45%;border-radius:999px 999px 40% 40%/999px 999px 60% 60%;background:linear-gradient(180deg,#ffffff73,#fff0);pointer-events:none}.hp-bar[data-level=mid] .hp-fill{background:linear-gradient(180deg,#ffd479,#d9913a 55%,#8c5820);box-shadow:inset 0 1px #ffffff59,inset 0 -4px 8px #00000059,0 0 14px #e6a03c66}.hp-bar[data-level=low] .hp-fill{background:linear-gradient(180deg,#ff8a6e,#d63b3b 55%,#821c1c);box-shadow:inset 0 1px #ffffff59,inset 0 -4px 8px #0006,0 0 16px #e63c3c8c}.hp-bar[data-level=mid] .hp-icon{color:#ffc26a}.hp-bar[data-level=low] .hp-icon{color:#ff6a6a;box-shadow:inset 0 0 0 1px #ffb4b44d,0 0 16px #ff46468c}.hp-bar.is-critical .hp-icon{animation:hp-heartbeat .9s ease-in-out infinite}.hp-bar.is-critical .hp-fill{animation:hp-critical-pulse .9s ease-in-out infinite}@keyframes hp-heartbeat{0%,70%,to{transform:scale(1)}15%{transform:scale(1.18)}30%{transform:scale(.95)}45%{transform:scale(1.1)}}@keyframes hp-critical-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.35) saturate(1.2)}}.hp-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;letter-spacing:.08em;color:#fffaebf2;text-shadow:0 1px 2px rgba(0,0,0,.85),0 0 6px rgba(0,0,0,.5)}@keyframes damage-flash{0%{box-shadow:inset 0 0 120px #dc1e1ead}to{box-shadow:inset 0 0 0 transparent}}.damage-flash{animation:damage-flash .4s ease-out}@keyframes block-blur{0%{opacity:0;-webkit-backdrop-filter:blur(0) saturate(1);backdrop-filter:blur(0) saturate(1)}18%{opacity:1;-webkit-backdrop-filter:blur(8px) saturate(1.65) brightness(1.12);backdrop-filter:blur(8px) saturate(1.65) brightness(1.12)}to{opacity:0;-webkit-backdrop-filter:blur(0) saturate(1);backdrop-filter:blur(0) saturate(1)}}@keyframes blood-spatter{0%{opacity:0;filter:saturate(1.4)}6%{opacity:.96;filter:saturate(1.8) contrast(1.12)}68%{opacity:.7}to{opacity:0;filter:saturate(1)}}.block-blur:before{animation:block-blur .2s ease-out}.blood-spatter:after{animation:blood-spatter 5s ease-out}.combat-hint{position:absolute;bottom:92px;left:50%;transform:translate(-50%);font-size:13px;color:#fff0cfb3;text-transform:uppercase;letter-spacing:.12em}.blacksmith-overlay{position:fixed;inset:0;place-items:center;padding:24px;background:radial-gradient(circle at center,#46231266,#080503db 66%),#0000009e;pointer-events:auto;z-index:80}.blacksmith-panel{width:min(520px,calc(100vw - 48px));display:grid;gap:16px;padding:26px;border:1px solid rgba(255,196,120,.22);border-radius:14px;background:#160d07e0;box-shadow:0 30px 80px #00000094;color:#f4e7cf}.blacksmith-heading{font-family:Georgia,Palatino Linotype,serif;font-size:34px;font-weight:700;text-align:center;color:#ffd18a}.blacksmith-subtitle{font-size:13px;text-align:center;color:#ffebc9ad}.blacksmith-recipes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.blacksmith-recipe{min-height:58px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(255,216,143,.18);border-radius:8px;background:#fff1d30f;color:#fff4d8d1}.blacksmith-recipe span{display:grid;place-items:center;width:30px;height:30px;border-radius:6px;border:1px solid rgba(255,216,143,.34);background:#fff1d314;color:#fff0c8;font-weight:800}.blacksmith-recipe strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blacksmith-recipe em{color:#ffebc98f;font-style:normal;font-variant-numeric:tabular-nums}.blacksmith-recipe.is-selected{border-color:#ffcd78b8;background:#dca56633;box-shadow:inset 0 0 0 1px #ffe8b024}.blacksmith-recipe.is-full{opacity:.58}.blacksmith-body{display:grid;grid-template-columns:96px minmax(0,1fr);gap:22px;align-items:center}.blacksmith-gauge{position:relative;width:76px;height:280px;overflow:hidden;border:1px solid rgba(255,216,143,.24);border-radius:10px;background:linear-gradient(180deg,#2c1710,#100906)}.blacksmith-gauge-fill{position:absolute;left:0;right:0;bottom:0;height:0%;background:linear-gradient(180deg,#fff0a0,#f27c35 42%,#7b1d12);transition:height .08s linear}.blacksmith-target-band{position:absolute;left:0;right:0;border-top:2px solid rgba(165,255,168,.95);border-bottom:2px solid rgba(165,255,168,.95);background:#46ff6e26;box-shadow:0 0 16px #50ff783d;transition:bottom .12s linear,height .12s linear}.blacksmith-readout{display:grid;gap:12px}.blacksmith-temp{font-size:44px;font-weight:800;color:#fff0c2;font-variant-numeric:tabular-nums}.blacksmith-progress{height:16px;overflow:hidden;border-radius:999px;background:#fff1d31a}.blacksmith-progress-fill{width:0%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#e69b4d,#ffe2a0);transition:width .1s linear}.blacksmith-reward{font-size:16px;font-weight:700;color:#ffd18a}.blacksmith-stock{color:#ffebc999;font-size:13px;font-variant-numeric:tabular-nums}.blacksmith-status{min-height:42px;color:#ffebc9b8;line-height:1.45}.blacksmith-leave-hint{justify-self:center;padding:8px 12px;border:1px solid rgba(255,216,143,.28);border-radius:8px;background:#fff1d314;color:#fff4d8db;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.recruit-panel{position:fixed;inset:0;place-items:center;padding:24px;background:#0806048a;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;z-index:76}.recruit-panel-card{width:min(460px,calc(100vw - 48px));display:grid;gap:14px;padding:24px;border:1px solid rgba(255,216,143,.22);border-radius:12px;background:#120c07db;color:#f4e7cf;box-shadow:0 28px 70px #00000085}.recruit-panel-title{font-family:Georgia,Palatino Linotype,serif;font-size:32px;font-weight:700;text-align:center;color:#ffd18a}.recruit-panel-subtitle,.recruit-ready-text,.recruit-status{color:#ffebc9ad;text-align:center;font-size:13px}.recruit-panel-gold{justify-self:center;padding:6px 12px;border:1px solid rgba(255,216,143,.2);border-radius:8px;color:#ffe2a0;font-weight:800;font-variant-numeric:tabular-nums}.recruit-option{display:grid;gap:8px;padding:14px;border:1px solid rgba(255,241,211,.12);border-radius:8px;background:#fff1d30f}.recruit-option-name{font-weight:800;color:#fff0c8}.recruit-option-note,.recruit-total{color:#ffebc99e;font-size:13px}.recruit-controls{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:8px}.recruit-controls button,.recruit-ready-button{border:1px solid rgba(255,216,143,.28);border-radius:8px;background:#fff1d314;color:#fff4d8e6;font:inherit;font-weight:800;cursor:pointer}.recruit-controls button{height:42px;font-size:22px}.recruit-controls button:disabled,.recruit-ready-button:disabled{opacity:.42;cursor:default}.recruit-count{display:grid;place-items:center;height:42px;border-radius:8px;background:#0000002e;font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}.recruit-ready-button{justify-self:center;min-width:180px;padding:12px 18px;background:#78c88c33;border-color:#78c88c73}@media(max-width:640px){:root{--overlay-panel-width: min(320px, calc(100vw - 24px) )}.online-panel{top:12px;right:12px}.menu-panel{padding:22px 20px;gap:20px}.menu-controls-grid{grid-template-columns:minmax(0,1fr)}.combat-widget{top:12px;left:12px}.combat-dpad{grid-template-columns:repeat(3,48px);grid-template-rows:repeat(3,48px);gap:5px;padding:6px}.combat-segment-glyph{font-size:16px}.combat-dpad-core-label{font-size:9px;letter-spacing:.14em}.overlay-root.touch-mode .combat-dpad{grid-template-columns:repeat(3,60px);grid-template-rows:repeat(3,60px)}.touch-move-pad{left:14px;bottom:18px;width:140px;height:140px}.perf-panel{right:14px;bottom:14px;max-width:min(320px,calc(100vw - 28px));font-size:10px;line-height:1.45}.touch-action-button{right:14px;width:88px;height:88px;font-size:12px}.touch-action-block{bottom:118px}.touch-action-jump{left:14px;bottom:174px;width:64px;height:64px;font-size:11px}.touch-action-kick{bottom:216px;width:64px;height:64px;font-size:11px}.touch-action-interact{bottom:290px;width:64px;height:64px;font-size:10px}body.is-touch-mode{--hud-touch-bottom-gap: 170px}.overlay-root.touch-mode .hp-track{width:min(260px,calc(100vw - 200px))}}.bot-controls{position:fixed;left:var(--hud-edge-gap);top:var(--hud-top-gap);width:min(280px,calc(100vw - 36px));max-height:calc(100vh - 2 * var(--hud-top-gap));display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid rgba(255,241,211,.16);border-radius:12px;background:#110b079e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff4d8c7;font-size:11px;line-height:1.5;pointer-events:auto;z-index:20}.bot-controls-header-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.bot-controls-header{font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.75}.bot-controls-summary{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#ffc478d9}.bot-controls-section-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#fff1d36b;margin-top:2px}.bot-controls-skill-row,.bot-controls-action-row{display:flex;gap:6px;flex-wrap:wrap}.bot-controls-skill-btn{min-width:64px}.bot-controls-wave-status{margin-top:6px;padding:6px 8px;border-radius:6px;background:#fff1d30f;color:#d8c9a1;font-size:12px;text-align:center}.bot-controls-wave-status.is-active{background:#ff785038;color:#fff1c0;font-weight:700}.wave-banner{position:fixed;inset:0;pointer-events:none;display:flex;flex-direction:column;align-items:center;z-index:50;font-family:Georgia,Palatino Linotype,serif;color:#f3ead7;text-shadow:0 2px 8px rgba(0,0,0,.85)}.wave-banner-crest{color:#e8c887;width:104px;height:46px;opacity:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.75))}.wave-banner-crest.small{width:84px;height:36px}.wave-banner-crest svg{width:100%;height:100%;display:block}.wave-banner-rule{width:260px;height:3px;background:linear-gradient(to right,transparent,rgba(232,200,135,.9) 20%,rgba(246,228,178,1) 50%,rgba(232,200,135,.9) 80%,transparent);border-radius:2px;box-shadow:0 1px 4px #00000080;margin:10px 0}.wave-banner-intro{margin-top:14vh;display:flex;flex-direction:column;align-items:center;text-align:center}.wave-banner-intro .wave-banner-crest{margin-bottom:10px}.wave-banner-intro-title{font-size:60px;font-weight:700;letter-spacing:6px;text-transform:uppercase;line-height:1;color:#f3ead7}.wave-banner-intro-subtitle{margin-top:10px;font-size:17px;letter-spacing:1px;color:#f3ead7;font-weight:600}.wave-banner-intro.is-boss .wave-banner-crest{color:#ffb648}.wave-banner-intro.is-boss .wave-banner-intro-title{color:#ffd28a}.wave-banner-intro.is-entering{animation:wave-banner-intro-in .3s ease-out,wave-banner-intro-out .4s ease-in 1.8s forwards}@keyframes wave-banner-intro-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes wave-banner-intro-out{0%{opacity:1}to{opacity:0}}.wave-banner-rest{margin-top:10vh}.wave-banner-rest-inner{display:flex;flex-direction:column;align-items:center;text-align:center}.wave-banner-rest .wave-banner-crest{margin-bottom:6px}.wave-banner-rest-title{font-size:18px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#f3ead7}.wave-banner-rest .wave-banner-rule{width:220px;margin:8px 0 6px}.wave-banner-rest-countdown{font-size:76px;font-weight:700;line-height:1;color:#f3ead7}.wave-banner-rest-composition{margin-top:8px;font-size:16px;color:#f3ead7;font-weight:600;letter-spacing:.5px}.wave-banner-rest-hint{margin-top:16px;font-size:15px;color:#e8c887;letter-spacing:1px;font-weight:600}.wave-banner-key{display:inline-block;padding:2px 9px;border:1px solid rgba(232,200,135,.7);border-radius:3px;color:#fff1c0;font-family:monospace;font-weight:700;margin:0 3px;text-shadow:none;font-size:14px}.wave-banner-rest.is-boss .wave-banner-crest,.wave-banner-rest.is-boss .wave-banner-rest-title{color:#ffb648}.wave-banner-rest.is-boss .wave-banner-rest-countdown{color:#ffd28a}.bot-controls-skill-btn,.bot-controls-add,.bot-controls-killall,.bot-controls-remove{background:#fff1d314;border:1px solid rgba(255,241,211,.2);color:#f3ead7;border-radius:8px;cursor:pointer;font:inherit;padding:5px 8px}.bot-controls-skill-btn{flex:1;font-weight:700}.bot-controls-skill-btn.is-selected{background:#ffc47838;border-color:#ffc4788c}.bot-controls-add{flex:1;background:#78c88c2e;border-color:#78c88c73}.bot-controls-killall{flex:1;background:#c846462e;border-color:#c8464673}.bot-controls-bot-stats{font-variant-numeric:tabular-nums;font-size:10px;opacity:.6;padding:0 6px}.bot-controls-row.is-dead{opacity:.45}.bot-controls-list{display:flex;flex-direction:column;gap:3px;overflow-y:auto;max-height:30vh;padding-right:2px}.bot-controls-row{display:flex;align-items:center;justify-content:space-between;padding:3px 6px;border-radius:6px;background:#fff1d30d}.bot-controls-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bot-controls-remove{padding:0 6px;line-height:20px;font-size:12px}.bot-controls-empty{opacity:.55;font-style:italic;padding:4px 0}@media(max-width:720px){.bot-controls{display:none!important}}.chat-panel{position:fixed;left:var(--hud-edge-gap);bottom:var(--hud-bottom);width:min(420px,calc(100vw - 36px));max-height:240px;display:flex;flex-direction:column;gap:4px;pointer-events:none;z-index:12;font-size:13px;text-shadow:0 1px 2px rgba(0,0,0,.8)}.chat-log{display:flex;flex-direction:column;gap:2px;max-height:200px;overflow-y:auto;scrollbar-width:thin;padding:4px 6px}.chat-panel.chat-active .chat-log{background:#0f0b078c;border-radius:6px;pointer-events:auto}.chat-row{line-height:1.25;word-wrap:break-word;transition:opacity .2s linear}.chat-row--system{font-style:italic;opacity:.75;color:#d6c69b}.chat-name{font-weight:600}.chat-name--ally{color:#7ec9ff}.chat-name--enemy{color:#ff8a72}.chat-name--neutral{color:#f3ead7}.chat-name--self{text-shadow:0 0 6px rgba(255,230,150,.6),0 1px 2px rgba(0,0,0,.8)}.chat-sep,.chat-text{color:#f3ead7}.chat-input-wrap{display:flex;align-items:center;gap:6px;padding:6px 8px;background:#0f0b07c7;border:1px solid rgba(255,224,177,.25);border-radius:6px;pointer-events:auto}.chat-input-prefix{font-weight:600;color:#ffd684;font-size:12px;letter-spacing:.5px}.chat-input{flex:1;background:transparent;border:none;outline:none;color:#f3ead7;font-family:inherit;font-size:13px}.chat-bubble-layer{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:11}.chat-bubble{position:absolute;left:0;top:0;max-width:260px;padding:6px 10px;background:#140e086b;border:1px solid rgba(255,224,168,.22);border-radius:10px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:#f3ead7;font-size:13px;line-height:1.25;text-align:center;word-wrap:break-word;white-space:normal;text-shadow:0 1px 2px rgba(0,0,0,.8);box-shadow:0 6px 18px #0000008c;transition:opacity .2s linear;will-change:transform}.chat-bubble:after{content:"";position:absolute;left:50%;bottom:-7px;transform:translate(-50%);width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid rgba(20,14,8,.42)}
