@font-face{font-family:fo2font;src:url(/fonts/fffharmonyvx.woff2)format("woff2"),url(/fonts/fffharmonyvx.woff)format("woff"),url(/fonts/fffharmonyvx.ttf)format("truetype");font-weight:400;font-style:normal}:root{--foreground-rgb:255, 255, 255;--background-rgb:0, 0, 0}@media (prefers-color-scheme:dark){:root{--foreground-rgb:255, 255, 255;--background-rgb:0, 0, 0}}:focus{outline:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #fff}canvas{-webkit-user-select:text;user-select:text}html,body{height:100%;color:rgb(var(--foreground-rgb));background-color:#000;background:rgb(var(--background-rgb));-webkit-user-select:none;user-select:none;scrollbar-color:darkgrey black;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:none;outline:none;justify-content:center;align-items:center;margin:0;padding:0;display:flex;overflow:hidden}body{font-family:fo2font,sans-serif;font-size:12px}a:link,a:visited,a:active,a:hover{color:#fff;cursor:pointer;text-decoration:none}button[disabled],button:disabled{opacity:.5;pointer-events:none}label,.characterName{text-align:center;margin-bottom:8px;display:block}main{flex-direction:column;justify-content:center;align-items:center;width:100vw;min-height:100vh;display:flex;position:relative}main.gameActive{pointer-events:none}html.fo2-game-input-blocked canvas{pointer-events:none!important}.gameLoadingOverlay,.gameRecoveryOverlay{background:#000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gameLoadingOverlay{pointer-events:none;z-index:2147483000}.gameLoadingOverlayRevealed{background:0 0}.gameLoadingContent,.gameLoadingCard{flex-direction:column;justify-content:center;align-items:center;display:flex}.gameLoadingCard{box-sizing:border-box;background:#000000e0;border:2px solid #bdbdbd;min-width:250px;padding:22px 28px}.gameLoadingSquares{gap:8px;display:flex}.gameLoadingSquare{opacity:.25;background:#fff;width:12px;height:12px;display:block}.gameLoadingSquare.active{opacity:1}.gameLoadingStatus{color:#bdbdbd;text-align:center;margin-top:14px;font-family:fo2font,sans-serif;font-size:10px}.gameRecoveryOverlay{pointer-events:auto;z-index:2147483646;flex-direction:column;padding:28px}html.px-mobile-orientation-gate-blocked .gameLoadingOverlay{visibility:hidden}.gameRecoveryTitle{color:#fff;text-align:center;margin:18px 0 0;font-size:16px;font-weight:400}.gameRecoveryMessage{color:#bdbdbd;text-align:center;max-width:620px;margin:10px 0 0;font-size:10px}.gameRecoveryActions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:22px;display:flex}.fo2Button.gameRecoveryButton{width:auto;min-width:150px;height:44px;margin:0;padding:0 18px}.fo2Button.gameRecoveryExit{background-color:#252525}@media (forced-colors:active){.gameLoadingSquare{forced-color-adjust:none;background:canvastext}}.formContainer{flex-direction:column;align-items:center;display:flex}.input{box-sizing:border-box;text-align:center;color:#000;width:256px;height:32px;margin-bottom:8px;font-family:fo2font,sans-serif;display:block}.error{color:red;text-align:center;width:256px;margin:0 auto 8px;font-family:fo2font,sans-serif;font-size:12px;display:block}.fo2Button{color:#fff;cursor:pointer;opacity:1;background-color:#900;border:3px solid #ccc;width:256px;height:48px;margin-bottom:16px;font-family:fo2font,sans-serif}.fo2Button:hover{opacity:.9}.fo2Button:active{transform:scale(.98)}.fo2BackButtonLink{cursor:pointer;color:#fff;z-index:1000;background:0 0;border:none;padding:8px;font-family:fo2font,sans-serif;font-size:14px;text-decoration:none;position:fixed;top:0;right:0}.fo2CharacterButton{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:102px;height:118px;padding:0;transition:background-color .3s;display:flex;overflow:hidden}.fo2CharacterButton:hover,.fo2CharacterButton:focus{background-color:#fff3}.fo2CharacterButton:active{background-color:#ffffff4d}.fo2CharacterImage{object-fit:cover;object-position:top center;width:102px;height:150px;image-rendering:pixelated;position:relative;top:-16px}.fo2CharacterCustomization{box-sizing:border-box;flex-direction:column;align-items:center;width:100%;height:100dvh;min-height:0;max-height:100vh;display:flex;overflow:hidden}.fo2CharacterSelectContainer{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:darkgrey transparent;touch-action:pan-y;-webkit-overflow-scrolling:touch;flex:auto;grid-template-columns:repeat(auto-fit,102px);grid-auto-rows:118px;place-content:start center;width:100%;max-width:740px;min-height:0;display:grid;overflow:hidden auto}.footer{text-align:center;width:100%;font-size:8px;position:fixed;bottom:8px}select,option{font-family:inherit;font-size:inherit;color:inherit;background:inherit;border:inherit}.shellBackgrounds{z-index:0;pointer-events:none;background:#10141b url(/shell/keep.webp) 50%/cover no-repeat;position:fixed;inset:0;overflow:hidden}.shellBackgroundImage{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.shellBackgroundIncoming{opacity:0;transition:opacity 1.2s}.shellBackgroundFading{opacity:1}.shellBackgroundShade{background:#070a0f75;position:absolute;inset:0}.shellBackgroundsFrozen{z-index:2147482999}.shellBackgroundsHidden{display:none}.shellBackgroundsWall{background-image:url(/shell/crab-coast.webp)}.shellBackgroundsWall .shellBackgroundImage{display:none}.shellBackgroundsWall .shellBackgroundShade{background:linear-gradient(90deg,#070a0f00 0%,#070a0f1a 45%,#070a0f9e 100%)}.shellPanel{z-index:1;box-sizing:border-box;width:min(420px,100%);max-height:calc(100dvh - var(--shell-edge,24px) * 2);color:#fff;text-align:center;overflow-wrap:anywhere;background:#1a1f28f5;border:2px solid #717987;border-radius:4px;flex-direction:column;flex-shrink:0;align-items:center;padding:24px 16px;scroll-padding:12px;display:flex;position:relative;overflow:hidden auto}main{--shell-edge:24px;box-sizing:border-box;height:100dvh;min-height:0;padding:var(--shell-edge) 16px}.shellPanelWide{width:min(720px,100%);height:min(800px, calc(100dvh - var(--shell-edge) * 2));overflow-y:auto}.shellPanelRecovery{width:min(496px,100%)}.shellPanelLoading{width:min(250px,100%)}.shellPanel.shellPanelBare{display:contents}.shellPanel form,.formContainer{max-width:100%}.shellPanel .fo2Button,.shellPanel .input,.shellPanel .error{box-sizing:border-box;max-width:100%}.shellPanel label{font-size:calc(16px * var(--shell-text-scale,1));margin-bottom:8px;font-weight:400}.shellPanel .fo2Button{height:48px;font-size:calc(12px * var(--shell-text-scale,1));flex-shrink:0;padding:0 8px}.shellPanel .formContainer>.fo2Button:last-child{margin-bottom:0}.shellCharacterRow{white-space:pre-wrap;flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.shellCharacterLevel{font-size:calc(12px * var(--shell-text-scale,1));justify-content:center;align-items:center;gap:6px;display:inline-flex}.shellCharacterLevel img{image-rendering:pixelated;flex-shrink:0}.formContainer .fo2Button{justify-content:center;align-items:center;display:flex}.characterName{font-size:calc(16px * var(--shell-text-scale,1));margin-bottom:12px}.shellCharacterSprite{width:192px;height:168px;image-rendering:pixelated;flex-shrink:0;overflow:hidden}.shellCharacterSprite img{object-fit:cover;object-position:top center;width:192px;height:288px;image-rendering:pixelated;display:block;position:relative;top:-64px}.shellPanel .shellPlayButton{font-size:calc(16px * var(--shell-text-scale,1));margin-bottom:0}.shellServerSelect{width:280px;max-width:100%;margin-bottom:16px}.shellServerSelectTrigger{color:#fff;cursor:pointer;width:100%;height:44px;font-family:var(--shell-font,"fo2font", sans-serif);font-size:calc(14px * var(--shell-text-scale,1));background:#000;border:3px solid #ccc;border-radius:0;justify-content:center;align-items:center;padding:0 30px 0 12px;display:flex;position:relative}.shellServerSelectTriggerOpen{background:#900}.shellServerSelectText{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.shellServerSelectArrow{box-sizing:border-box;border-bottom:2px solid #fff;border-right:2px solid #fff;width:8px;height:8px;position:absolute;right:12px;transform:translateY(-2px)rotate(45deg)}.shellServerSelectOverlay{z-index:2147483647;padding:calc(8px + env(safe-area-inset-top)) calc(8px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left));box-sizing:border-box;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.shellServerSelectShade{pointer-events:none;background:#0009;transition-property:opacity;transition-timing-function:ease;position:absolute;inset:0}.shellServerSelectMenu{box-sizing:border-box;background:#000;border:3px solid #ccc;width:280px;max-width:100%;max-height:100%;position:relative;overflow-y:auto}.shellServerSelectOption{box-sizing:border-box;color:#fff;width:100%;min-height:44px;font-family:var(--shell-font,"fo2font", sans-serif);font-size:calc(12px * var(--shell-text-scale,1));cursor:pointer;text-align:center;background:#000;border:0;border-top:1px solid #333;border-radius:0;padding:8px 12px;display:block}.shellServerSelectOptionSelected{background:#900}.shellServerSelectOption:focus-visible{outline-offset:-3px}.shellCreateForm{box-sizing:border-box;flex-direction:column;align-items:center;gap:12px;width:100%;padding:4px;display:flex}.shellPanel .input{color:#fff;width:256px;height:44px;font-size:calc(12px * var(--shell-text-scale,1));background:#10141b;border:1px solid #999;border-radius:0;padding:4px 8px}.shellCreateForm .fo2Button{font-size:calc(16px * var(--shell-text-scale,1));margin-bottom:0}.shellPanel .error{color:#f77;font-size:calc(12px * var(--shell-text-scale,1))}.fo2CharacterCustomization{flex:1;height:auto;max-height:none;padding-block:4px}.fo2CharacterCustomization>label{flex-shrink:0;margin-bottom:12px}.shellPanel .fo2CharacterSelectContainer{flex-wrap:wrap;flex:1;place-content:flex-start center;gap:8px;width:100%;max-width:none;min-height:0;max-height:none;display:flex}.fo2CharacterButton{background:#10141b;border-radius:0;flex-shrink:0;width:102px;height:150px;margin:4px}.fo2CharacterImage{flex-shrink:0}.shellPanel .shellTermsPane{box-sizing:border-box;background:#000;border:1px solid #ccc;flex:1;width:100%;max-width:640px;min-height:80px;margin-bottom:8px;padding:12px}.shellDialogActions{flex-shrink:0;justify-content:center;gap:8px;width:100%;margin-top:8px;display:flex}.shellPanel .shellDialogActions .fo2Button{width:160px;min-width:0;max-width:calc(50% - 4px);font-size:calc(14px * var(--shell-text-scale,1));margin:0}.fo2BackButtonLink{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));color:#a9d5ff;z-index:2;min-width:44px;min-height:44px;font-size:calc(14px * var(--shell-text-scale,1))}.guestAuthPrompt{flex-direction:column;align-items:center;width:100%;display:flex}.guestAuthPrompt h1{color:#fff;font-size:calc(17px * var(--shell-text-scale,1));margin:0 0 12px;font-weight:400}.guestAuthPrompt p{color:#c8d0dc;font-size:calc(11px * var(--shell-text-scale,1));margin:0 0 19px;line-height:1.65}.ctaRow{justify-content:center;width:100%;display:flex}.ctaRow .fo2Button{margin-bottom:0}.shellPanelRecovery .guestAuthPrompt h1{font-size:calc(18px * var(--shell-text-scale,1));margin:0}.shellPanelRecovery .guestAuthPrompt p{color:#c7c7c7;margin:10px 0 22px}.shellPanelRecovery .ctaRow .fo2Button{width:auto;min-width:150px;height:44px;font-size:calc(11px * var(--shell-text-scale,1));border-width:2px;padding-inline:18px}.gameLoadingOverlay,.gameRecoveryOverlay{--shell-edge:24px;box-sizing:border-box;padding:var(--shell-edge) 16px;background:0 0}.gameLoadingContent,.gameLoadingCard{width:250px;max-width:100%}.gameLoadingCard{background:0 0;border:0;min-width:0;padding:0}.gameRecoveryOverlay .shellPanel{width:min(250px,100%)}.gameRecoveryTitle{font-size:calc(10px * var(--shell-text-scale,1));color:#bdbdbd;margin-top:14px}.gameRecoveryMessage{font-size:calc(10px * var(--shell-text-scale,1))}.gameRecoveryActions{flex-direction:column;align-items:center;gap:8px}.shellPanel .fo2Button.gameRecoveryButton{height:44px;min-height:44px;font-size:calc(11px * var(--shell-text-scale,1));border-width:2px}.shellPanel,.shellPanel button,.shellPanel input,.shellPanel select,.shellPanel .gameLoadingStatus,.shellPanel .gameRecoveryTitle,.shellPanel .gameRecoveryMessage,.fo2BackButtonLink{font-family:var(--shell-font,"fo2font", sans-serif);font-weight:400}.gameLoadingStatus{font-size:calc(10px * var(--shell-text-scale,1))}html[data-shell-locale=vi],html[data-shell-locale=zh-CN],html[data-shell-locale=ja],html[data-shell-locale=ko]{--shell-font:system-ui, "Microsoft YaHei", "Meiryo", "Malgun Gothic", sans-serif;--shell-text-scale:1.5}main.shellWallMain{align-items:flex-end;padding-right:max(16px,6vw)}.shellPanel.shellPanelWall{background:#12161eeb;width:min(440px,100%);padding:22px 22px 20px}.shellWall{text-wrap:balance;flex-direction:column;align-items:center;width:100%;display:flex}.shellWall p{margin:0}html[data-shell-locale=zh-CN] .shellWall,html[data-shell-locale=ja] .shellWall,html[data-shell-locale=ko] .shellWall{word-break:keep-all}.shellWallBrand{justify-content:center;align-items:center;gap:12px;margin-bottom:10px;display:flex}.shellWallKnight{width:34px;height:48px;image-rendering:pixelated;flex-shrink:0;display:block}.shellPanel .shellWallTitle{color:#fff;white-space:nowrap;margin:0;font-family:fo2font,sans-serif;font-size:26px;font-weight:400;line-height:1.15}.shellWall .shellWallTagline{color:#dfe6f0;font-size:calc(14px * var(--shell-text-scale,1));line-height:1.5}.shellWall .shellWallOnline{color:#9fe3a5;font-size:calc(13px * var(--shell-text-scale,1));margin-top:6px;line-height:1.4}.shellWallOnlineDot{vertical-align:middle;background:#45d35a;width:9px;height:9px;margin-right:8px;display:inline-block;box-shadow:0 0 0 3px #45d35a40}.shellWall .shellWallNote{color:#ffd88a;font-size:calc(14px * var(--shell-text-scale,1));margin-top:12px;line-height:1.55}.shellPanel .shellWallButton{width:100%;max-width:none;height:auto;min-height:56px;font-size:calc(18px * var(--shell-text-scale,1));margin:18px 0 0;padding:8px;line-height:1.25}.shellWall .shellWallReason{color:#c8d0dc;font-size:calc(13px * var(--shell-text-scale,1));margin-top:14px;line-height:1.6}.shellWall .gameLoadingSquares{margin:18px 0 8px}.shellWall .error{width:100%;font-family:inherit;font-size:calc(13px * var(--shell-text-scale,1));margin:12px 0 0;line-height:1.5}@media (min-width:761px) and (max-width:1100px){main.shellWallMain{padding-right:max(16px,3vw)}.shellPanel.shellPanelWall{width:min(380px,100%);padding:18px 18px 16px}.shellPanel .shellWallTitle{font-size:24px}.shellWall .shellWallTagline{font-size:calc(13px * var(--shell-text-scale,1))}.shellPanel .shellWallButton{min-height:52px;font-size:calc(16px * var(--shell-text-scale,1));margin-top:16px}}@media (orientation:portrait){.shellBackgroundsWall{background:url(/shell/crab-coast.webp) 47% 0/auto 58% no-repeat,linear-gradient(#4d8a3a 0%,#2b4a2a 45%,#10141b 75%)}.shellBackgroundsWall .shellBackgroundShade{background:linear-gradient(#070a0f00 0% 50%,#070a0f99 58%,#070a0fb3 100%)}main.shellWallMain{padding:16px 12px max(28px, env(safe-area-inset-bottom));justify-content:flex-end;align-items:center}.shellPanel.shellPanelWall{padding:18px 12px}.shellPanel .shellWallTitle{font-size:min(26px,6.2vw)}.shellPanel .shellWallButton{font-size:calc(clamp(13px, (100vw - 72px) / 20, 16px) * var(--shell-text-scale,1))}}@media (max-height:499.98px){main,.gameLoadingOverlay,.gameRecoveryOverlay{--shell-edge:12px}.shellPanel{padding-block:12px}.shellPanelWide{width:min(520px,100%)}.shellCharacterSprite{width:137px;height:120px}.shellCharacterSprite img{width:137px;height:206px;top:-46px}}@media (max-height:499.98px) and (orientation:landscape){.shellBackgroundsWall{background-position:100% 45%;background-size:max(120%,177.78vh)}main.shellWallMain{padding:12px max(12px,3vw)}.shellPanel.shellPanelWall{width:min(480px,100%);padding:14px 16px}.shellWallBrand{margin-bottom:6px}.shellPanel .shellWallTitle{font-size:22px}.shellWall .shellWallTagline{font-size:calc(13px * var(--shell-text-scale,1))}.shellWall .shellWallNote{font-size:calc(13px * var(--shell-text-scale,1));margin-top:8px}.shellPanel .shellWallButton{min-height:48px;font-size:calc(16px * var(--shell-text-scale,1));margin-top:12px}.shellWall .shellWallReason{margin-top:10px}}@media (max-height:359.98px) and (orientation:landscape){html[data-shell-locale=vi] .shellWall,html[data-shell-locale=zh-CN] .shellWall,html[data-shell-locale=ja] .shellWall,html[data-shell-locale=ko] .shellWall{--shell-text-scale:1.35}.shellPanel.shellPanelWall{padding-block:10px}.shellWallBrand{margin-bottom:4px}.shellWall .shellWallTagline,.shellWall .shellWallNote{line-height:1.4}.shellPanel .shellWallButton{min-height:44px;margin-top:10px}.shellWall .shellWallReason{margin-top:8px;line-height:1.45}.shellWall .error{margin-top:8px;line-height:1.4}}html[data-shell-locale=fr] .shellWallButton:disabled{min-height:max(56px,2.5em + 22px)}@media (orientation:landscape) and (min-height:500px){html[data-shell-locale=es] .shellWallButton:disabled,html[data-shell-locale=pt-BR] .shellWallButton:disabled,html[data-shell-locale=vi] .shellWallButton:disabled,html[data-shell-locale=ja] .shellWallButton:disabled,html[data-shell-locale=ko] .shellWallButton:disabled,html[data-shell-locale=id] .shellWallButton:disabled,html[data-shell-locale=de] .shellWallButton:disabled{min-height:max(56px,2.5em + 22px)}}@media (orientation:portrait){html[data-shell-locale=es] .shellWallButton:disabled,html[data-shell-locale=vi] .shellWallButton:disabled,html[data-shell-locale=id] .shellWallButton:disabled{min-height:max(56px,2.5em + 22px)}}@media (orientation:portrait) and (min-width:761px) and (max-width:1100px){html[data-shell-locale=pt-BR] .shellWallButton:disabled,html[data-shell-locale=ja] .shellWallButton:disabled,html[data-shell-locale=ko] .shellWallButton:disabled,html[data-shell-locale=de] .shellWallButton:disabled{min-height:max(56px,2.5em + 22px)}}@media (orientation:portrait) and (max-width:341.98px){html[data-shell-locale=zh-CN] .shellWallButton:disabled{min-height:max(56px,2.5em + 22px)}}@media (orientation:portrait) and (max-width:404.98px){html[data-shell-locale=ko] .shellWallButton:disabled{min-height:max(56px,2.5em + 22px)}}@media (orientation:portrait) and (max-width:417.98px){html[data-shell-locale=pt-BR] .shellWallButton:disabled{min-height:max(56px,2.5em + 22px)}}@media (orientation:portrait) and (max-width:443.98px){html[data-shell-locale=ja] .shellWallButton:disabled{min-height:max(56px,2.5em + 22px)}}@media (orientation:portrait) and (max-width:449.98px){html[data-shell-locale=de] .shellWallButton:disabled{min-height:max(56px,2.5em + 22px)}}@media (orientation:landscape) and (max-height:499.98px) and (max-width:489.98px){html[data-shell-locale=es] .shellWallButton:disabled{min-height:max(56px,2.5em + 22px)}}@media (orientation:landscape) and (max-height:499.98px) and (max-width:495.98px){html[data-shell-locale=id] .shellWallButton:disabled{min-height:max(56px,2.5em + 22px)}}@media (max-width:579.98px){main.shellHasBack{--shell-edge:56px}}@media (min-height:500px) and (max-width:879.98px){main.shellHasBack.shellContent{--shell-edge:56px}}@media (max-height:499.98px) and (max-width:679.98px){main.shellHasBack.shellContent{--shell-edge:56px}}@media (prefers-reduced-motion:reduce){.shellBackgroundIncoming{transition:none}}