:root{color:#f0ead9;font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--gold:#dbb779;--muted:#adc0bb;--panel:#0d282ce0;background:#164850;font-family:Arial,Helvetica,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button{color:inherit}#app{width:100%;height:100dvh;min-height:480px;position:relative;overflow:hidden}.sea{position:absolute;inset:0}.sea canvas{touch-action:none;display:block}.vignette{pointer-events:none;background:linear-gradient(#09282b48,#0000 25% 60%,#0c303866);position:absolute;inset:0}.topbar{background:linear-gradient(#12383edf,#12383e3b);border-bottom:1px solid #e5ddbd26;justify-content:space-between;align-items:center;height:104px;padding:0 38px;display:flex;position:absolute;top:0;left:0;right:0}.brand{color:inherit;letter-spacing:5px;align-items:center;gap:14px;font:30px Georgia,serif;text-decoration:none;display:flex}.brand-icon{color:var(--gold);border:1px solid #d3b77a5c;border-radius:50% 50% 4px 4px;place-items:center;width:47px;height:51px;font-size:39px;display:grid;transform:rotate(180deg)}.brand-js{letter-spacing:1px;color:var(--gold);font:10px Arial}.brand small{letter-spacing:3px;color:#b3c1b9;margin-top:7px;font:9px Arial;display:block}.region{letter-spacing:2px;align-items:center;gap:13px;font-size:10px;display:flex}.region>span:last-child{letter-spacing:.4px;color:#becac0;font-size:12px}.status-dot{background:var(--gold);border-radius:50%;width:5px;height:5px;display:inline-block;box-shadow:0 0 9px #e0b57040}.divider{opacity:.35;margin:0 10px}.topbar nav{gap:10px;display:flex}.icon-button{background:#0e303652;border:1px solid #dcdac238;border-radius:50%;width:36px;height:36px;font:17px Georgia}.icon-button:hover{background:#b4a77a33}.voyage-card{background:var(--panel);border:1px solid #dac38c32;border-radius:3px;width:270px;padding:25px 23px 8px;position:absolute;top:140px;left:38px;box-shadow:0 8px 30px #082d3420}.eyebrow{letter-spacing:2px;color:var(--gold);align-items:center;gap:9px;font-size:9px;display:flex}.gold-line{background:var(--gold);width:15px;height:1px}.edition{opacity:.5;margin-left:auto}h1{letter-spacing:-.7px;margin:22px 0 13px;font:400 31px Georgia,serif}.voyage-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.85}.voyage-rule{background:#c4bc9228;height:1px;margin:23px 0}.ship-name{align-items:center;gap:12px;font:17px Georgia;display:flex}.ship-symbol{color:var(--gold);font-size:25px}.ship-name small{letter-spacing:1.3px;color:#91a8a4;margin-top:7px;font:8px Arial;display:block}.voyage-stat{color:#a5bbb6;justify-content:space-between;margin-top:20px;font-size:11px;display:flex}.voyage-stat span:last-child{color:#e1dac1;font-size:11px}.voyage-stat b{font-weight:400}.text-button{width:100%;color:var(--gold);background:0 0;border:0;border-top:1px solid #c4bc9228;justify-content:space-between;margin-top:22px;padding:16px 0;font-size:11px;display:flex}.text-button span{font-size:16px}.chart-card{background:#15383dda;border:1px solid #dac38c32;border-radius:3px;width:192px;padding:17px 14px 12px;position:absolute;top:140px;right:38px}.chart-card .eyebrow{letter-spacing:1.5px;justify-content:space-between;font-size:8px}.chart-card canvas{opacity:.9;width:100%;margin:8px 0 3px;display:block}.chart-footer{letter-spacing:.5px;color:#9db0a5;border-top:1px solid #c4bc9228;justify-content:space-between;padding-top:10px;font-size:7px;display:flex}.bottom-bar{justify-content:space-between;align-items:center;gap:20px;display:flex;position:absolute;bottom:28px;left:38px;right:38px}.navigation{background:var(--panel);border:1px solid #dac38c32;border-radius:3px;align-items:center;gap:21px;padding:17px 24px 17px 17px;display:flex}.compass{background:repeating-conic-gradient(#d0ba7c50 0deg 1deg,#0000 1deg 30deg);border:1px solid #bea66c70;border-radius:50%;width:82px;height:82px;position:relative;box-shadow:inset 0 0 0 7px #102e34}.compass:before{content:"";background:#102f34;border:1px solid #bea66c35;border-radius:50%;position:absolute;inset:14px}.compass>span{color:#cbb984;z-index:1;font:8px Georgia;position:absolute}.north{top:4px;left:37px}.south{bottom:4px;left:37px}.west{top:36px;left:5px}.east{top:36px;right:5px}.needle{color:#e4bd77;transform-origin:10px 20px;font-size:22px;line-height:18px;position:absolute;top:21px;left:31px}.needle i{color:#6c8b88;font-style:normal;display:block}.speed{min-width:81px}.speed strong{font-variant-numeric:tabular-nums;letter-spacing:-1px;font:36px Georgia}.speed>div:nth-child(2){margin:5px 0 2px}.speed span{color:#a5bab2;margin-left:7px;font-size:12px}.speed small{color:#9fb5ae;font-size:9px}.heading{border-left:1px solid #c4bc9228;min-width:86px;padding-left:20px}.heading strong{margin:11px 0;font:22px Georgia;display:block}.speed-track{background:#bdd0c52a;width:65px;height:2px}.speed-track i{background:var(--gold);width:0;height:2px;display:block}.controls-legend{align-items:center;gap:24px;display:flex}.controls-legend>div{align-items:center;gap:5px;display:flex}.controls-legend span{color:#d1ded5;margin-left:5px;font-size:10px}kbd{color:#e5e6d6;background:#113e4266;border:1px solid #d9e5d348;border-bottom-width:2px;border-radius:3px;place-items:center;width:23px;height:24px;font:10px Arial;display:inline-grid}.mouse-icon{font-size:23px!important}.build-tag{letter-spacing:1.6px;white-space:nowrap;font-size:8px}.build-tag .status-dot{width:4px;height:4px;margin-right:7px}.build-tag small{text-align:right;color:#a8bdb3;letter-spacing:1px;margin-top:9px;font-size:8px;display:block}.sailing-hint{color:#d2ddd0;white-space:nowrap;background:#163a3bbd;border:1px solid #ccceaa30;border-radius:3px;align-items:center;gap:9px;padding:10px 15px;font-size:11px;transition:opacity 1s;display:flex;position:absolute;bottom:183px;left:50%;transform:translate(-50%)}.sailing-hint.sailed{opacity:0;pointer-events:none}.hint-dot{background:var(--gold);border-radius:50%;width:4px;height:4px}dialog{color:#e9e2cb;background:#112f35;border:1px solid #d4b77377;border-radius:5px;width:min(450px,100% - 32px);padding:35px;box-shadow:0 20px 90px #0006}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#071c2280}dialog h2{margin:20px 0;font:31px Georgia}dialog p{color:#b9cac2;font-size:13px;line-height:1.9}dialog b{color:#ebd7ad;font-weight:500}.note{border-top:1px solid #c7b57f30;padding-top:15px;font-size:11px!important}.primary-button,.secondary-button{border-radius:2px;width:100%;margin-top:15px;padding:14px 20px;font-size:12px}.primary-button{color:#17373c;background:#dfbd7f;border:1px solid #dfbd7f}.primary-button:hover{background:#ecd4a4}.secondary-button{color:#c9d4c6;background:0 0;border:1px solid #b5c3b635}.touch-controls{display:none}#error{background:#112e34;border:1px solid #dfbd7f;max-width:500px;padding:30px;line-height:1.8;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (width<=1180px){.controls-legend{flex-wrap:wrap;gap:12px;max-width:230px}.controls-legend>div:last-child,.build-tag{display:none}.voyage-card{width:245px}.chart-card{width:170px}}@media (width<=760px){.topbar{height:80px;padding:0 18px}.brand{letter-spacing:3px;gap:9px;font-size:23px}.brand-icon{width:35px;height:39px;font-size:30px}.brand small{letter-spacing:2px;font-size:7px}.region{display:none}.voyage-card{width:196px;padding:18px 17px 0;top:102px;left:18px}.voyage-card h1{margin:14px 0;font-size:26px}.voyage-card p{font-size:10px}.voyage-rule{margin:15px 0}.ship-name{font-size:14px}.ship-name small{font-size:6px}.voyage-stat{display:none}.text-button{margin-top:16px}.chart-card{width:130px;padding:12px 10px;top:102px;right:18px}.chart-footer{font-size:6px}.chart-footer span:last-child{display:none}.bottom-bar{bottom:18px;left:18px;right:18px}.navigation{gap:13px;padding:12px}.compass{width:64px;height:64px}.north,.south{left:28px}.west,.east{top:27px}.needle{top:12px;left:22px}.speed strong{font-size:28px}.speed{min-width:66px}.heading{min-width:69px;padding-left:13px}.heading strong{font-size:19px}.controls-legend{display:none}.sailing-hint{padding:8px 10px;font-size:10px;bottom:180px}.sailing-hint>span:nth-child(2){display:none}.touch-controls{justify-content:flex-end;gap:8px;display:flex;position:absolute;bottom:129px;left:18px;right:18px}.touch-controls button{touch-action:none;-webkit-user-select:none;user-select:none;background:#143b42de;border:1px solid #d7bd875c;border-radius:3px;width:43px;height:40px}.touch-controls button:active{background:#a38d52}.eyebrow{font-size:8px}}@media (height<=650px){.voyage-card{top:100px}.voyage-card p,.voyage-rule,.voyage-stat{display:none}.ship-name{margin-top:12px}.chart-card{top:100px}.sailing-hint{bottom:155px}.topbar{height:80px}}.brand-icon{transform:none}@media (width<=760px){.voyage-card{width:calc(100% - 172px);max-width:196px}.voyage-card p,.voyage-card .voyage-rule,.voyage-card .ship-name{display:none}.voyage-card h1{font-size:24px}.voyage-card .text-button{margin-top:14px}.voyage-card .edition{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.wind-readout{border-left:1px solid #c4bc9228;grid-template-columns:50px 142px;align-items:center;gap:7px 12px;padding-left:20px;display:grid}.wind-dial{color:#d9bf85;border:1px dashed #bcb58180;border-radius:50%;width:50px;height:50px;position:relative}.wind-dial>span{font:8px Georgia;position:absolute;top:2px;left:22px}.wind-dial svg{transform-origin:50%;width:100%;height:100%}.wind-bearing{align-items:baseline;gap:8px;margin:5px 0;display:flex}.wind-bearing strong{font-variant-numeric:tabular-nums;font:20px Georgia}.wind-bearing span{color:#a9beb4;font-size:9px}.wind-details small{color:#b5caba;font-size:9px}.wind-details .headwind{color:#f0be8b}.wind-power{grid-column:1/-1}.wind-power>span{color:#a9beb4;justify-content:space-between;font-size:9px;display:flex}.wind-power b{color:#dec58e;font-weight:400}.wind-track{background:#bdd0c52a;height:3px;margin-top:5px}.wind-track i{background:#c8b47b;width:100%;height:100%;display:block}@media (width<=1300px){.controls-legend>div:last-child,.build-tag{display:none}}@media (width<=1000px){.controls-legend{display:none}}@media (width<=760px){.navigation{grid-template-columns:64px 1fr 1fr;gap:12px 20px;width:100%;display:grid}.heading{min-width:0}.wind-readout{border-top:1px solid #c4bc9228;border-left:0;grid-column:1/-1;grid-template-columns:40px 1fr 80px;gap:10px;padding:10px 0 0}.wind-dial{width:40px;height:40px}.wind-dial>span{font-size:7px;left:17px}.wind-bearing{margin:3px 0}.wind-bearing strong{font-size:17px}.wind-power{grid-column:auto}.wind-power>span{gap:8px}.wind-details small{font-size:8px}.touch-controls{bottom:201px}.sailing-hint{bottom:253px}}@media (width<=370px){.navigation{gap:10px 12px}.wind-readout{grid-template-columns:34px 1fr 65px;gap:8px}.wind-dial{width:34px;height:34px}.wind-dial>span{left:14px}.wind-power>span{font-size:8px}.wind-bearing{gap:5px}.wind-bearing span{font-size:8px}}@media (height<=550px){#app{min-height:360px}.voyage-card,.chart-card,.sailing-hint{display:none}.topbar{height:65px}.bottom-bar{bottom:12px}.navigation{padding:10px 14px}.touch-controls{top:83px;bottom:auto}}@media (height<=550px) and (width>=761px) and (width<=1000px){.touch-controls{gap:8px;display:flex;position:absolute;right:18px}.touch-controls button{touch-action:none;-webkit-user-select:none;user-select:none;background:#143b42de;border:1px solid #d7bd875c;border-radius:3px;width:43px;height:40px}.touch-controls button:active{background:#a38d52}}.combat-card{background:var(--panel);border:1px solid #dac38c32;border-radius:3px;width:232px;padding:18px;position:absolute;top:371px;right:38px}.combat-card>.eyebrow{letter-spacing:1.2px;justify-content:space-between;font-size:8px}.ammo-label{letter-spacing:.5px;color:#a9beb4;font-size:6px}.broadside-buttons{gap:9px;margin-top:15px;display:flex}.fire-button{text-align:left;background:#cfb67717;border:1px solid #c3a76588;border-radius:3px;flex:1;min-width:0;padding:10px 8px 12px;position:relative;overflow:hidden}.fire-button>span{align-items:center;gap:5px;font:13px Georgia;display:flex}.fire-button b{color:#dac18b;margin-left:auto;font:13px Arial}.fire-button kbd{width:18px;height:20px;font-size:9px}.fire-button small{color:#cccfb6;margin-top:8px;font-size:8px;display:block}.fire-button>i{background:var(--gold);width:100%;height:2px;position:absolute;bottom:0;left:0}.fire-button:disabled{cursor:default;opacity:.65}.fire-button:hover:enabled{background:#c6a75b40}.fire-button:active:enabled{transform:translateY(1px)}.combat-status{color:#d8c28f;margin-top:15px;font-size:10px}.combat-tip{color:#94ada6;margin:10px 0 0;font-size:9px;line-height:1.7}@media (width<=1180px){.combat-card{width:220px;top:340px;right:38px}}@media (width<=760px){.topbar nav{gap:6px}.topbar .icon-button{width:30px;height:30px}.combat-card{width:auto;padding:10px 12px;inset:auto 18px 254px}.combat-card>.eyebrow{font-size:7px}.broadside-buttons{margin-top:8px}.fire-button{padding:7px 9px 9px}.fire-button>span{font-size:12px}.fire-button small{margin-top:4px}.combat-status{margin-top:8px;font-size:8px}.combat-tip,.sailing-hint{display:none}}@media (width<=370px){.brand{letter-spacing:2px;font-size:20px}.brand-icon{width:29px;height:35px}.brand small{letter-spacing:1.5px;font-size:6px}.topbar .icon-button{width:27px;height:27px}.combat-card{bottom:246px}.combat-status{display:none}}@media (height<=550px){.combat-card{width:220px;padding:10px;inset:80px 18px auto auto}.combat-card>.eyebrow{font-size:7px}.combat-tip,.combat-status{display:none}.broadside-buttons{margin-top:8px}.fire-button{padding:6px 8px 8px}.touch-controls{top:195px;right:18px}.chart-card,.voyage-card{display:none}}@media (height<=550px) and (width<=760px){.combat-card{width:192px}.topbar nav{gap:5px}.touch-controls{left:auto}}.contact-card{background:var(--panel);border:1px solid #dac38c32;border-radius:3px;width:290px;padding:16px 18px;position:absolute;top:140px;left:50%;transform:translate(-50%)}.contact-card>.eyebrow{letter-spacing:1.4px;font-size:8px}.contact-card .eyebrow>span:last-child{color:#c0ccc2;letter-spacing:0;margin-left:auto;font-size:10px}.hostile-dot{background:#dc8976;border-radius:50%;width:5px;height:5px}.contact-title{justify-content:space-between;align-items:baseline;margin:11px 0 10px;display:flex}.contact-title strong{font:21px Georgia}.contact-title>span{color:#d69c8d;font-size:9px}.contact-card p{color:#b5c7bd;margin:10px 0 0;font-size:10px;line-height:1.6}.contact-card .secondary-button{margin-top:11px;padding:10px;font-size:10px}.contact-card[data-battle=victory]{border-color:#d4b77888}.contact-card[data-battle=defeat]{border-color:#c77b6f99}.hull-label{color:#b5c7bd;justify-content:space-between;margin:15px 0 6px;font-size:8px;display:flex}.hull-label b{color:#dfd3b1;font-weight:400}.hull-track{background:#abc2b525;border-radius:1px;height:4px;overflow:hidden}.hull-track i{background:#b4c797;width:100%;height:100%;transition:width .15s;display:block}.enemy-track i,.hull-track.critical i{background:#ce8b79}@media (width<=1000px){.contact-card{width:240px;top:140px;left:calc(50% + 25px)}.contact-title strong{font-size:19px}}@media (width<=760px){.voyage-card,.chart-card{display:none}.contact-card{width:auto;padding:11px 13px;top:98px;left:18px;right:18px;transform:none}.contact-card>.eyebrow{font-size:7px}.contact-title{margin:7px 0}.contact-title strong{font-size:18px}.contact-card p{margin-top:7px;font-size:9px}.hull-label{margin-top:10px}.combat-card{padding-top:10px}}@media (height<=550px){.contact-card{width:230px;padding:10px 12px;top:80px;left:18px;right:auto;transform:none}.contact-card>.eyebrow{font-size:7px}.contact-title{margin:7px 0}.contact-title strong{font-size:17px}.contact-card p{font-size:9px}.hull-label{margin-top:9px}.touch-controls{top:237px}.contact-card .secondary-button{margin-top:8px;padding:7px}}@media (height<=550px) and (width<=550px){.contact-card{width:calc(100% - 242px);min-width:135px;left:10px}.combat-card{width:185px;right:10px}.contact-title{display:block}.contact-title>span{margin-top:3px;display:block}.contact-card p{font-size:8px}.bottom-bar{left:10px;right:10px}}.harbor-card{background:var(--panel);border:1px solid #dac38c32;border-radius:3px;width:270px;padding:14px 18px;position:absolute;top:540px;left:38px}.harbor-card>.eyebrow{letter-spacing:1.4px;justify-content:space-between;font-size:8px}.harbor-card>.eyebrow>span{letter-spacing:0;color:#ecce92}.route-select{color:#9fb7ae;align-items:center;gap:12px;margin-top:11px;font-size:9px;display:flex}.route-select select{color:#cdd8c6;background:#153b40;border:1px solid #c8bd8538;border-radius:2px;width:100%;min-width:0;padding:5px 7px;font:10px Arial}.harbor-route{justify-content:space-between;align-items:baseline;gap:8px;margin-top:10px;display:flex}.harbor-route strong{font:18px Georgia}.harbor-route>span{color:#d8bf86;font:15px Georgia}.harbor-bottom{justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.harbor-bottom>small{color:#b2c5b6;white-space:nowrap;font-size:9px}#dock-button{color:#17383a;white-space:nowrap;background:#d8bc7e;border:1px solid #d8bc7e;border-radius:3px;align-items:center;gap:5px;padding:6px 8px;font-size:10px;display:flex}#dock-button kbd{width:16px;height:17px;color:inherit;background:0 0;border-color:#54736655;font-size:8px}#dock-button:disabled{color:#9aafa2;cursor:default;background:#abc59f12;border-color:#d8bc7e33}.harbor-card>p{color:#9fb7ae;margin:8px 0 0;font-size:8px;line-height:1.5}@media (width<=1180px){.harbor-card{width:245px}}@media (height<=820px) and (width>=761px){.voyage-card p,.voyage-rule{display:none}.voyage-card h1{margin:14px 0}.voyage-card .voyage-stat,.voyage-card .text-button{margin-top:12px}.harbor-card{top:460px}}@media (height<=700px) and (width>=761px){.voyage-card{display:none}.harbor-card{top:110px}}@media (width<=760px){.harbor-card{width:auto;padding:10px 13px;top:98px;left:18px;right:18px}.harbor-card>.eyebrow{font-size:7px}.route-select{width:139px;margin:0;position:absolute;top:32px;right:13px}.route-select>span{display:none}.harbor-route{margin-top:11px;padding-right:145px}.harbor-route strong{font-size:16px}.harbor-route>span{font-size:12px;position:absolute;top:76px;left:13px}.harbor-bottom{margin-top:12px}.harbor-bottom>small{padding-left:40px;font-size:8px}.harbor-card>p{margin-top:5px}#app[data-battle=sailing] .contact-card,#app[data-battle=victory] .contact-card,#app[data-dock-ready=true] .contact-card,#app[data-battle=engaged] .harbor-card,#app[data-battle=defeat] .harbor-card{display:none}#app[data-dock-ready=true] .harbor-card{display:block}}@media (height<=550px){.harbor-card{width:230px;padding:10px 12px;top:80px;left:18px}.harbor-route{padding-right:0}.harbor-route strong{font-size:17px}.route-select{width:auto;margin-top:8px;position:static}.route-select>span{display:block}.harbor-route>span{position:static}.harbor-bottom>small{padding-left:0}#app[data-battle=sailing] .contact-card,#app[data-battle=victory] .contact-card,#app[data-dock-ready=true] .contact-card,#app[data-battle=engaged] .harbor-card,#app[data-battle=defeat] .harbor-card{display:none}#app[data-dock-ready=true] .harbor-card{display:block}}.combat-card{width:252px}.ammo-selector{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:12px;display:grid}.ammo-selector button{color:#a8bbb0;background:#c4ae7020;border:1px solid #beae7b4d;border-radius:3px;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:32px;padding:5px 3px;font-size:9px;display:flex}.ammo-selector button[aria-pressed=true]{color:#19383a;background:#d9b875;border-color:#d9b875}.ammo-selector button:hover{border-color:#efd8a0}.ammo-selector kbd{width:14px;height:16px;color:inherit;opacity:.8;background:0 0;border-color:currentColor;font-size:8px}.ammo-detail{color:#d9c18b;margin-top:7px;font-size:9px}.ship-condition{color:#9eb8ac;justify-content:space-between;gap:10px;margin-top:7px;font-size:9px;display:flex}.ship-condition b{color:#ddd5b8;font-variant-numeric:tabular-nums;margin-left:4px;font-weight:400}.ship-condition .condition-critical{color:#eea08b}.combat-card .hull-label,.combat-card .broadside-buttons{margin-top:12px}.combat-tip,.contact-card .ship-condition{font-size:8px}@media (width<=1180px){.combat-card{width:236px}}@media (height<=760px) and (width>=761px){.chart-card{display:none}.combat-card{top:110px}}@media (width<=760px){.combat-card{width:auto;padding:8px 12px;bottom:246px}.ammo-selector{gap:6px;margin-top:7px}.ammo-selector button{min-height:29px;padding:4px;font-size:10px}.ammo-detail{margin-top:4px;font-size:8px}.combat-card .hull-label{margin:6px 0 5px;font-size:7px}.ship-condition{margin-top:4px;font-size:8px}.combat-card .broadside-buttons{margin-top:7px}.combat-status{clip-path:inset(50%);width:1px;height:1px;margin:0;display:block;position:absolute;overflow:hidden}.combat-card .fire-button{padding:6px 9px 8px}.combat-card .fire-button small{margin-top:3px;font-size:8px}.contact-card .ship-condition{margin-top:5px}}@media (width<=370px){.ammo-selector button{min-height:28px;font-size:9px}.ammo-selector{gap:4px}.ship-condition,.ammo-detail{font-size:7px}}@media (height<=550px){.combat-card{width:220px;padding:8px 10px;top:80px;bottom:auto}.ammo-selector{gap:4px;margin-top:5px}.ammo-selector button{min-height:25px;padding:3px 2px;font-size:8px}.ammo-selector kbd{width:12px;height:14px;font-size:7px}.ammo-detail{margin-top:3px;font-size:7px}.combat-card .hull-label{margin:6px 0 4px;font-size:7px}.ship-condition{margin-top:4px;font-size:7px}.combat-card .broadside-buttons{margin-top:6px}.combat-card .fire-button{padding:5px 7px 7px}.combat-card .fire-button small{margin-top:3px;font-size:7px}.combat-card .fire-button>span{font-size:11px}.combat-status{display:none}.touch-controls{top:237px}}@media (height<=550px) and (width>=560px) and (width<=760px){.navigation{gap:14px;padding:8px 12px;display:flex}.navigation .compass{flex-shrink:0}.wind-readout{border-top:0;border-left:1px solid #c4bc9228;grid-template-columns:32px 115px;gap:5px 8px;padding:0 0 0 14px}.wind-dial{width:32px;height:32px}.wind-dial>span{left:13px}.wind-power{grid-column:1/-1}.wind-bearing{margin:2px 0}.wind-bearing strong{font-size:15px}.wind-details .eyebrow{font-size:7px}.wind-power>span{font-size:8px}.wind-power .wind-track{margin-top:3px}}@media (width<=370px) and (height>=551px){.harbor-card{padding:8px 12px}.harbor-card>.eyebrow{font-size:6px}.route-select{width:125px;top:26px;right:12px}.harbor-route{margin-top:7px;padding-right:130px}.harbor-route strong{font-size:14px}.harbor-route>span{top:62px;left:12px}.harbor-bottom{margin-top:9px}.harbor-card>p{display:none}}.mission-tracker{border-top:1px solid #d4b77330;margin-top:10px;padding-top:9px;line-height:1.5}.mission-tracker[hidden]{display:none}.mission-tracker strong{color:#e7c88d;font-size:10px;font-weight:500;display:block}.mission-tracker>span{color:#b8cbbc;margin-top:3px;font-size:8px;display:block}#enemy-faction{letter-spacing:.8px;font-size:7px}@media (width<=760px){.mission-tracker{margin-top:6px;padding-top:6px}.mission-tracker strong{font-size:9px}.mission-tracker>span{margin-top:2px;font-size:8px}}@media (height<=550px){.mission-tracker{margin-top:5px;padding-top:5px}.mission-tracker strong{font-size:9px}.mission-tracker>span{font-size:8px;line-height:1.4}}.harbor-card>p[data-local=true]{display:block}.voyage-card{display:none}.sailing-hint{background:#15383d88;font-size:10px;bottom:164px;left:38px;transform:none}.contact-card,.harbor-card{width:258px;left:38px;right:auto;transform:none}.contact-card{padding:15px 16px;top:142px}.harbor-card{padding:14px 16px;top:365px}.chart-card{width:258px;padding:12px 13px 10px;top:128px;left:auto;right:38px}.chart-card canvas{opacity:1;height:178px;margin:7px 0}.chart-card .chart-footer{padding-top:7px;font-size:7px}.chart-card .eyebrow{letter-spacing:1.3px;font-size:8px}#expand-chart{color:var(--gold);background:0 0;border:0;padding:0 2px;font-size:19px;line-height:18px}.combat-card{width:258px;top:389px;left:auto;right:38px}.contact-card .contact-title strong{font-size:19px}.contact-card .contact-title{margin-top:9px}.contact-card p{min-height:31px}.panel-side-button{color:#d9c58b;z-index:2;background:#14373be0;border:1px solid #cdbf8b44;border-radius:3px;width:48px;height:23px;font:17px/18px Arial;position:absolute;top:113px;left:38px}#app[data-panel-side=right] .contact-card,#app[data-panel-side=right] .harbor-card{left:auto;right:38px}#app[data-panel-side=right] .chart-card,#app[data-panel-side=right] .combat-card{left:38px;right:auto}#app[data-panel-side=right] .panel-side-button,#app[data-panel-side=right] .sailing-hint{left:auto;right:38px}@media (width>=761px) and (height<=850px){.topbar{height:88px}.contact-card{top:126px}.harbor-card{top:342px}.chart-card{top:112px}.combat-card{top:371px}.panel-side-button{top:97px}.sailing-hint,.combat-tip{display:none}.combat-card{padding:12px 14px}.contact-card p{min-height:0}}@media (width>=761px) and (height<=760px){.chart-card{display:none}.combat-card,.contact-card{top:126px}.harbor-card{top:342px}.contact-card,.harbor-card,.combat-card{width:246px}.harbor-card{padding:10px 14px}.harbor-card .mission-tracker{margin-top:7px;padding-top:6px}}@media (width<=1100px) and (width>=761px){.region{display:none}.contact-card,.harbor-card{width:242px;left:24px}.chart-card,.combat-card{width:242px;right:24px}.panel-side-button{left:24px}#app[data-panel-side=right] .contact-card,#app[data-panel-side=right] .harbor-card,#app[data-panel-side=right] .panel-side-button{right:24px}#app[data-panel-side=right] .chart-card,#app[data-panel-side=right] .combat-card{left:24px}}@media (width<=760px){.topbar{height:76px;padding:0 14px}.brand{letter-spacing:2px;gap:7px;font-size:21px}.brand-icon{width:29px;height:34px}.brand-icon svg{width:21px}.brand small{letter-spacing:1.4px;font-size:6px}.topbar nav{gap:5px}.topbar .icon-button{width:29px;height:29px;font-size:16px}.chart-card,.sailing-hint{display:none}.contact-card,.harbor-card{width:auto;padding:10px 12px;top:109px;left:14px;right:14px}.panel-side-button{width:42px;height:21px;font-size:15px;top:82px;left:14px}.contact-card p{min-height:0}.contact-card .contact-title strong{font-size:18px}.contact-card .contact-title{margin:6px 0}.contact-card .ship-condition{margin-top:5px}.combat-card{width:auto;padding:8px 12px;inset:auto 18px 246px}#app[data-panel-side=right] .contact-card,#app[data-panel-side=right] .harbor-card{left:14px;right:14px}#app[data-panel-side=right] .combat-card{left:18px;right:18px}#app[data-panel-side=right] .panel-side-button{left:auto;right:14px}.route-select{right:12px}.harbor-route{margin-top:10px}.harbor-card>p{font-size:8px}.mission-tracker{margin-top:6px;padding-top:5px}}@media (width<=370px){.topbar{padding:0 11px}.brand{letter-spacing:1.4px;gap:6px;font-size:18px}.brand-js{display:none}.brand-icon{width:24px;height:30px}.brand small{letter-spacing:1.1px;font-size:5px}.topbar nav{gap:4px}.topbar .icon-button{width:26px;height:27px;font-size:15px}.contact-card,.harbor-card{padding:8px 11px}.harbor-card .route-select{top:26px;right:11px}.harbor-card .harbor-route{margin-top:7px}.harbor-card .harbor-route>span{top:62px;left:11px}.harbor-card .harbor-bottom{margin-top:9px}.contact-card .contact-title strong{font-size:16px}}@media (height<=550px){.topbar{height:65px}.panel-side-button{width:35px;height:19px;font-size:14px;top:69px;left:18px}.contact-card,.harbor-card{width:220px;padding:8px 11px;top:94px;left:18px;right:auto}.contact-card .contact-title strong{font-size:17px}.contact-card p{margin-top:6px;font-size:8px}.contact-card .contact-title{margin:5px 0}.combat-card{width:220px;padding:8px 10px;inset:80px 18px auto auto}.touch-controls{top:237px}.harbor-card .harbor-route{padding-right:0}.harbor-card .route-select{width:auto;margin-top:7px;position:static}.harbor-card .harbor-route>span{position:static}.harbor-card .harbor-bottom{margin-top:7px}.harbor-card .harbor-bottom>small{padding-left:0}.harbor-card .harbor-route{margin-top:7px}.harbor-card .mission-tracker,.harbor-card .mission-tracker strong{font-size:8px}.harbor-card .mission-tracker>span{font-size:7px}#app[data-panel-side=right] .contact-card,#app[data-panel-side=right] .harbor-card{left:auto;right:18px}#app[data-panel-side=right] .combat-card{left:18px;right:auto}#app[data-panel-side=right] .panel-side-button{left:auto;right:18px}#app[data-panel-side=right] .touch-controls{left:18px;right:auto}.contact-card .secondary-button{margin-top:6px;padding:6px}}.map-dialog{background:#102f35;border-color:#baaa7266;border-radius:5px;width:min(1050px,100% - 40px);max-height:calc(100dvh - 40px);padding:0;overflow:auto}.map-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#061c24b8}.map-header{justify-content:space-between;align-items:center;gap:16px;padding:24px 28px 16px;display:flex}.map-header .eyebrow{letter-spacing:2.1px;font-size:8px}.map-header h2{color:#eee2bc;margin:8px 0 0;font:30px Georgia}.map-close{color:#e8d7aa;background:0 0;border:1px solid #c4b48255;border-radius:50%;flex-shrink:0;width:34px;height:34px;font:25px Georgia}.map-toolbar{align-items:center;gap:6px;padding:0 28px 14px;display:flex}.map-toolbar button,.map-layout button{color:#bdc6ad;background:#b6b3850a;border:1px solid #b6b38545;border-radius:3px;padding:7px 12px;font-size:10px}.map-toolbar button[aria-pressed=true],.map-layout button[aria-pressed=true]{color:#ecd8a4;background:#d1bc8230;border-color:#d9bd7977}.map-zoom{align-items:center;gap:8px;margin-left:auto;display:flex}.map-zoom button{min-width:30px;padding:4px 10px;font-size:19px}.map-zoom output{font-variant-numeric:tabular-nums;color:#d9cb9e;text-align:center;min-width:32px;font-size:10px}.atlas-viewport{background:#153c40;margin:0 20px;position:relative;overflow:hidden}#atlas{touch-action:none;cursor:grab;width:100%;height:clamp(220px,50dvh,460px);display:block}#atlas:active{cursor:grabbing}.atlas-caption{letter-spacing:4px;color:#b4c0ac44;pointer-events:none;text-align:center;white-space:nowrap;font:italic 15px Georgia;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.atlas-caption small{letter-spacing:1px;color:#b4c0ac33;margin-top:5px;font:8px Arial;display:block}.map-ports{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:14px 20px;display:grid}.map-ports button{text-align:left;background:#b5c5ac08;border:1px solid #bdc5a323;border-radius:3px;align-items:center;gap:9px;min-width:0;padding:12px 10px;display:flex}.map-ports button:hover{background:#b5c5ac13}.map-ports button[aria-pressed=true]{background:#bba36817;border-color:#dcc28a88}.map-port-dot{background:var(--nation-color);border-radius:50%;flex-shrink:0;width:6px;height:6px;box-shadow:0 0 0 3px #b6b3850d}.map-ports strong{color:#e0d9ba;font:13px Georgia;display:block}.map-ports small{color:#a7bcae;margin-top:5px;font-size:8px;display:block}.map-port-arrow{color:#c7b578;margin-left:auto;font:18px Georgia}.map-footer{color:#d2c595;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:0 22px 18px;font-size:10px;display:flex}.map-footer>small{color:#8fa99c;flex-basis:100%;font-size:8px;line-height:1.5;display:block}.map-layout{align-items:center;gap:4px;display:flex}.map-layout>span{color:#a4b4a3;margin-right:6px;font-size:9px}.map-layout button{padding:5px 8px;font-size:9px}@media (width<=760px){.map-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.map-header{padding:18px 16px 12px}.map-header .eyebrow{letter-spacing:1.4px;font-size:6px}.map-header h2{font-size:25px}.map-toolbar{gap:5px;padding:0 12px 12px}.map-toolbar button{padding:7px 8px;font-size:9px}.map-zoom{gap:3px}.map-zoom button{min-width:24px;padding:4px 6px;font-size:17px}.map-zoom output{min-width:29px;font-size:9px}.atlas-viewport{margin:0 10px}#atlas{height:clamp(200px,40dvh,330px)}.atlas-caption{letter-spacing:2px;font-size:10px;bottom:20px}.atlas-caption small{font-size:6px}.map-ports{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:10px}.map-ports button{gap:6px;padding:9px 8px}.map-ports strong{font-size:12px}.map-ports small{font-size:7px}.map-footer{gap:9px;padding:0 12px 12px;font-size:9px}.map-footer>small{font-size:7px}.map-layout{margin-left:auto}.map-close{width:30px;height:30px}}@media (height<=550px){.map-header{padding:12px 16px 9px}.map-header h2{margin-top:5px;font-size:22px}.map-toolbar{padding:0 12px 9px}#atlas{height:220px}.map-dialog{width:calc(100% - 28px);max-height:calc(100dvh - 14px)}.map-ports{grid-template-columns:repeat(4,minmax(0,1fr))}.map-ports strong{font-size:10px}.map-ports small{font-size:6px}.map-footer{padding:0 12px 12px}}.map-dialog{max-width:none}.map-header{z-index:2;background:#102f35;position:sticky;top:0}@media (width<=370px){.map-header h2{font-size:22px}.map-header{padding:16px 14px 12px}.map-ports strong{font-size:11px}.map-ports small{font-size:7px}.map-ports button{padding:9px 7px}}@media (height<=550px){.touch-controls{top:231px}}.map-ports button:disabled{cursor:default;opacity:.7}#multiplayer-button>span{display:none}@media (width>=761px){.topbar #multiplayer-button{background:#dbb77915;border-color:#dbb77966;border-radius:20px;align-items:center;gap:8px;width:auto;padding:0 13px;display:flex}.topbar #multiplayer-button>span{color:#e6d4a6;white-space:nowrap;font:10px Arial;display:inline}}.reset-confirm{border-top:1px solid #c77b6f55;margin-top:15px;padding-top:4px}.reset-confirm[hidden]{display:none}.reset-confirm p{color:#e5c3b6;margin:10px 0 0}.danger-button{color:#1d1715;background:#c9806f;border-color:#c9806f}.danger-button:hover{background:#dd9a88}#pause-dialog .save-status{color:#a9c2b4;margin:14px 0 0;font-size:11px;line-height:1.5}.save-status:empty,#reset-button[hidden]{display:none}.port-dialog{color:#eee5cf;background:#102d33;border:1px solid #cbb47b7a;border-radius:5px;width:min(900px,100% - 40px);max-width:none;max-height:calc(100dvh - 40px);padding:0;overflow:hidden;box-shadow:0 30px 100px #001c29b3}.port-dialog::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#051e29b3}.port-shell{flex-direction:column;min-width:0;max-height:calc(100dvh - 42px);display:flex}.port-header{background:linear-gradient(110deg,#203e40,#17363a 64%,#234246);border-bottom:1px solid #bfa36938;flex-shrink:0;justify-content:space-between;align-items:center;gap:28px;padding:28px 32px 25px;display:flex}.port-identity{min-width:0}.port-identity .eyebrow{letter-spacing:2px;font-size:9px}.port-anchor{margin-right:3px;font-size:20px}.port-dialog h2{letter-spacing:-.6px;color:#f0e1bf;margin:10px 0 8px;font:400 36px Georgia,serif}.port-dialog .port-identity p{color:#adbbb0;max-width:360px;margin:0;font-size:11px;line-height:1.7}.port-resources{flex-shrink:0;grid-template-columns:repeat(3,minmax(70px,1fr));gap:22px;margin:0;display:grid}.port-resources>div{border-left:1px solid #c0ad7840;padding-left:17px}.port-resources dt{letter-spacing:1.3px;color:#c9b37c;white-space:nowrap;font-size:7px}.port-resources dd{white-space:nowrap;font-variant-numeric:tabular-nums;color:#f2e6c9;margin:9px 0 0;font:20px Georgia,serif}.port-resources small{color:#acbcb4;margin-top:4px;font:9px Arial,sans-serif;display:block}.port-tabs{background:#102c32;border-bottom:1px solid #bfa36932;flex-shrink:0;grid-template-columns:repeat(3,1fr);padding:0 32px;display:grid}.port-tabs button{color:#9fb7b0;text-align:left;background:0 0;border:0;border-bottom:2px solid #0000;padding:17px 16px 15px;font:19px Georgia,serif}.port-tabs button:first-child{padding-left:0}.port-tabs button[aria-selected=true]{color:#f0d49e;border-bottom-color:#d8b67a}.port-tabs button:hover{color:#f0d49e}.port-tabs button span{letter-spacing:.7px;color:#93a9a0;margin-top:5px;font:8px Arial,sans-serif;display:block}.port-tabs button[aria-selected=true] span{color:#c5b58f}.port-tabs button:focus-visible{outline-offset:-5px}.port-body{overscroll-behavior:contain;scrollbar-color:#8b906955 #102d33;min-height:0;padding:25px 32px 24px;overflow:auto}.port-body>[hidden]{display:none}.port-body>[role=tabpanel]:focus-visible{outline-offset:5px;outline:1px solid #cbb47b7a}.port-section-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.port-dialog h3{color:#ebdbb8;margin:0 0 8px;font:400 25px Georgia,serif}.port-dialog .port-section-heading p{color:#acbfb5;margin:0;font-size:11px;line-height:1.6}.port-quantity{color:#c1c8b3;white-space:nowrap;align-items:center;gap:10px;font-size:9px;display:flex}.port-quantity input{color:#f3dfb3;text-align:center;background:#09262c;border:1px solid #c8b17c6b;border-radius:2px;width:65px;min-width:0;padding:10px 8px;font:14px Georgia,serif}.port-quantity input:focus{outline-offset:2px;outline:2px solid #e1bd7b}.port-quantity input[aria-invalid=true]{border-color:#e5a184}.port-dialog .port-input-note{color:#8fa99f;margin:12px 0 16px;font-size:9px;line-height:1.6}.port-goods{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.port-good{background:#17393c66;border:1px solid #a9ba9c30;border-radius:3px;min-width:0;padding:17px 18px 16px}.port-local-good{background:linear-gradient(125deg,#6a603326,#17393c66);border-color:#d5b77a70}.port-good-title{align-items:center;gap:12px;display:flex}.port-good-mark{color:#d2b77b;border:1px solid #c3ae7c44;border-radius:50%;flex-shrink:0;place-items:center;width:37px;height:37px;font:26px Georgia,serif;display:grid}.port-dialog h4{color:#e9dfc4;margin:0 0 4px;font:400 19px Georgia,serif}.port-origin{color:#97afa5;font-size:8px;line-height:1.5}.port-local-good .port-origin{color:#d3bd86}.port-good-inventory{justify-content:space-between;gap:16px;margin:16px 0 13px;display:flex}.port-good-inventory>div{align-items:baseline;gap:8px;display:flex}.port-good-inventory dt{color:#9eb3a8;font-size:9px}.port-good-inventory dd{color:#e4dbc0;font-variant-numeric:tabular-nums;margin:0;font:14px Georgia,serif}.port-trade-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.port-trade-actions button{text-align:left;background:#d1b27519;border:1px solid #c3a96d71;border-radius:2px;min-width:0;padding:9px 10px}.port-trade-actions button>span{color:#c6d0bb;font-size:9px;display:block}.port-trade-actions button strong{color:#edd2a0;overflow-wrap:anywhere;margin-top:5px;font:14px Georgia,serif;display:block}.port-trade-actions button[data-sell]{background:#d1b27508;border-color:#b7c5a63d}.port-trade-actions button:hover:enabled{background:#b9984d40}.port-dialog button:disabled{cursor:default;opacity:.4}.port-dialog .port-service-note{color:#8fa89d;margin:15px 0 0;font-size:9px;line-height:1.7}.port-service-card{grid-template-columns:220px 1fr;align-items:center;gap:34px;min-height:310px;padding:16px 14px;display:grid}.port-service-illustration{aspect-ratio:1;color:#bda774;background:radial-gradient(circle,#9fa76616 0 48%,#0000 49%);border:1px solid #a7b38a2b;border-radius:50%;place-items:center;padding:23px;display:grid}.port-service-illustration svg{width:100%;height:auto}.port-service-copy .eyebrow{letter-spacing:1.4px;margin-bottom:15px;font-size:8px}.port-service-copy h3{font-size:29px}.port-dialog .port-service-copy>p:not(.port-service-note):not(.port-service-quote){color:#b1c2b7;margin:12px 0 20px;font-size:12px;line-height:1.8}.port-condition{color:#acc1b4;justify-content:space-between;margin:14px 0 8px;font-size:10px;display:flex}.port-condition b{color:#ead9b6;font:15px Georgia,serif}.port-dialog .port-service-quote{color:#e3c78d;margin:17px 0 12px;font-size:12px;line-height:1.7}.port-main-action{color:#19383b;background:#d7b577;border:1px solid #d7b577;border-radius:2px;width:100%;padding:13px 15px;font-size:11px}.port-main-action:hover:enabled{background:#e4c991}.port-tavern-ledger{gap:26px;margin:18px 0;display:flex}.port-tavern-ledger dt{color:#99b3a6;font-size:9px}.port-tavern-ledger dd{color:#e4d5b3;margin:6px 0 0;font:16px Georgia,serif}.port-hire-quantity{border-top:1px solid #b8b78e2b;justify-content:space-between;padding-top:16px}.port-footer{background:#0c282e;border-top:1px solid #bfa36938;flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;padding:18px 32px;display:flex}.port-footer #port-message{color:#bacbb4;min-width:0;font-size:11px;line-height:1.65}.port-footer #port-message[data-tone=error]{color:#e5a78d}.port-depart{color:#ebce98;background:0 0;border:1px solid #cbb47b9c;border-radius:2px;flex-shrink:0;justify-content:space-between;align-items:center;gap:22px;padding:12px 16px;font-size:11px;display:flex}.port-depart span{font-size:17px}.port-depart:hover{background:#cfb27824}@media (width<=760px){.port-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.port-shell{max-height:calc(100dvh - 26px)}.port-header{flex-direction:column;align-items:flex-start;gap:18px;padding:20px 22px}.port-dialog h2{font-size:30px}.port-resources{grid-template-columns:repeat(3,1fr);gap:10px;width:100%}.port-resources>div{padding-left:12px}.port-resources dd{margin-top:7px;font-size:20px}.port-resources small{margin-left:6px;display:inline}.port-tabs{padding:0 22px}.port-tabs button{padding:14px 12px 12px;font-size:18px}.port-body{padding:21px 22px}.port-footer{padding:16px 22px}.port-service-card{grid-template-columns:140px 1fr;gap:23px;min-height:280px;padding:4px 0}.port-service-illustration{padding:15px}.port-service-copy h3{font-size:25px}.port-good{padding:14px}.port-good-inventory>div{display:block}.port-good-inventory dd{margin-top:4px}}@media (width<=500px){.port-header{gap:17px;padding:19px 18px 17px}.port-dialog h2{font-size:29px}.port-dialog .port-identity p{font-size:10px}.port-identity .eyebrow{font-size:8px}.port-resources dt{letter-spacing:1px;font-size:6px}.port-resources dd{font-size:18px}.port-resources small{margin:3px 0 0;font-size:8px;display:block}.port-tabs{padding:0 18px}.port-tabs button{padding:12px 9px;font-size:17px}.port-tabs button span{font-size:7px}.port-body{padding:19px 18px}.port-section-heading{align-items:flex-start;gap:10px}.port-section-heading h3{font-size:22px}.port-dialog .port-section-heading p{font-size:10px}.port-quantity{flex-direction:column;align-items:flex-start;gap:6px;font-size:8px}.port-quantity input{width:60px;padding:8px 6px}.port-goods{grid-template-columns:1fr;gap:11px}.port-good{padding:14px}.port-good-inventory>div{align-items:baseline;display:flex}.port-good-inventory dd{margin-top:0}.port-good-title{gap:10px}.port-origin{font-size:8px}.port-good-inventory{margin:12px 0}.port-trade-actions button{padding:9px 10px}.port-footer{flex-direction:column;align-items:stretch;gap:12px;padding:13px 18px}.port-footer #port-message{min-height:32px;font-size:10px}.port-depart{justify-content:space-between;padding:10px 13px}.port-service-card{min-height:0;display:block}.port-service-illustration{display:none}.port-service-copy .eyebrow{margin-bottom:11px}.port-hire-quantity{flex-direction:row;align-items:center}.port-dialog .port-service-copy>p:not(.port-service-note):not(.port-service-quote){font-size:11px}.port-main-action{padding:12px}.port-dialog .port-service-note{font-size:9px}.port-tavern-ledger{gap:24px}}@media (height<=550px){.port-dialog{max-height:calc(100dvh - 16px)}.port-shell{max-height:calc(100dvh - 18px)}.port-header{flex-direction:row;align-items:center;gap:18px;padding:12px 24px}.port-anchor{font-size:15px}.port-identity .eyebrow{font-size:7px}.port-dialog h2{margin:4px 0 0;font-size:24px}.port-dialog .port-identity p{display:none}.port-resources{grid-template-columns:repeat(3,minmax(60px,1fr));gap:14px;width:auto}.port-resources dt{font-size:6px}.port-resources dd{margin-top:5px;font-size:17px}.port-resources small{margin-left:4px;font-size:7px;display:inline}.port-tabs{padding:0 24px}.port-tabs button{padding:10px 12px;font-size:16px}.port-tabs button span{display:none}.port-body{padding:18px 24px}.port-footer{flex-direction:row;align-items:center;gap:18px;padding:10px 24px}.port-footer #port-message{min-height:0;font-size:10px}.port-depart{padding:8px 12px}.port-service-card{grid-template-columns:150px 1fr;gap:28px;min-height:0;padding:4px 0}}@media (height<=550px) and (width<=500px){.port-header{flex-direction:column;align-items:stretch;gap:12px;padding:12px 15px}.port-resources{width:100%}.port-tabs{padding:0 15px}.port-body{padding:16px 15px}.port-footer{flex-direction:column;align-items:stretch;gap:8px;padding:10px 15px}.port-dialog h2{font-size:23px}}@media (height<=550px){.port-dialog .port-section-heading p,.port-dialog .port-input-note{display:none}.port-section-heading{margin-bottom:12px}.port-section-heading h3{margin:0;font-size:21px}.port-quantity input{padding:7px 6px}.port-good{padding:10px 12px}.port-good-mark{width:29px;height:29px;font-size:23px}.port-dialog h4{margin-bottom:2px;font-size:17px}.port-good-inventory{margin:10px 0 8px}.port-trade-actions button{padding:7px 9px}.port-trade-actions button strong{margin-top:3px;font-size:13px}.port-dialog .port-input-note.is-invalid{color:#e5a184;margin:5px 0 10px;display:block}}.port-repair-block+.port-repair-block{border-top:1px solid #b8b78e35;margin-top:22px;padding-top:8px}.port-repair-block .port-condition{margin-top:8px}.port-dialog .port-repair-block .port-service-quote{margin:11px 0 8px}.port-dialog .port-repair-block .port-service-note{margin-top:9px}#port-sails-track i{background:#cfbf93}#port-crew-efficiency{margin:0 0 15px}@media (height<=550px){#port-panel-repair .port-service-illustration{align-self:start}.port-repair-block+.port-repair-block{margin-top:16px}.port-repair-block .port-main-action{padding:10px 12px}}.port-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.port-tabs button{min-width:0}.port-nation{color:#d5c69f;align-items:center;gap:7px;margin:0 0 8px;font-size:9px;display:flex}.port-nation:before{content:"";background:var(--nation-color,#d5c69f);border-radius:50%;flex-shrink:0;width:6px;height:6px}.port-dialog .port-price-policy{color:#c9c4a2;background:#d4bd7a0d;border-left:2px solid #c9ac6c77;margin:0 0 16px;padding:9px 11px;font-size:10px;line-height:1.6}.reputation-ledger{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:20px;display:grid}.reputation-nation{background:#20414445;border:1px solid #a7bc9c30;min-width:0;padding:12px 10px}.reputation-nation>div{align-items:center;gap:6px;display:flex}.reputation-nation i{background:var(--nation-color);border-radius:50%;flex-shrink:0;width:6px;height:6px}.reputation-nation strong{color:#dfd9bc;font-size:10px;font-weight:400}.reputation-nation b{font-variant-numeric:tabular-nums;color:#d5c28e;margin-left:auto;font:16px Georgia,serif}.reputation-nation>span{color:#96b0a3;margin:7px 0 0 12px;font-size:8px;display:block}.reputation-nation[data-relation=friendly]{border-color:#a8c29566}.reputation-nation[data-relation=friendly] b{color:#c4dcad}.reputation-nation[data-relation=hostile]{border-color:#cc8a7466}.reputation-nation[data-relation=hostile] b{color:#e0a38d}.port-dialog .reputation-note{margin-top:10px}.governor-contracts{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px;display:grid}.governor-contract{background:linear-gradient(125deg,#5c55331f,#17393c66);border:1px solid #c9ad7159;border-radius:3px;flex-direction:column;min-width:0;padding:20px;display:flex}.governor-contract>.eyebrow{letter-spacing:1.2px;justify-content:space-between;align-items:center;gap:7px;font-size:7px;display:flex}.governor-contract>.eyebrow>span{color:#c2b385;letter-spacing:.6px;text-align:right;font-size:6px}.port-dialog .governor-contract h4{margin:14px 0 8px;font-size:22px;line-height:1.35}.port-dialog .governor-contract>p:not(.port-service-note){color:#b0c1b5;margin:0;font-size:11px;line-height:1.7}.governor-ledger{border-top:1px solid #b8b78e2b;border-bottom:1px solid #b8b78e2b;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0 0;padding:12px 0;display:grid}.governor-ledger dt{color:#98b1a3;font-size:8px}.governor-ledger dd{color:#dfcca2;margin:7px 0 0;font:16px Georgia,serif}.port-dialog .governor-contract>.port-service-note{margin-top:12px;font-size:9px;line-height:1.7}.governor-actions{gap:8px;margin-top:auto;padding-top:18px;display:grid}.governor-actions [hidden]{display:none}.governor-secondary{color:#bcc9b7;background:0 0;border:1px solid #b9b88d42;border-radius:2px;padding:10px 13px;font-size:10px}.governor-secondary:hover{background:#c1b77e16}@media (width<=760px){.port-tabs button{padding-left:9px;padding-right:9px}.reputation-ledger{grid-template-columns:repeat(2,minmax(0,1fr))}.governor-contracts{grid-template-columns:1fr}.governor-contract{padding:17px}.port-dialog .governor-contract h4{font-size:22px}.governor-actions{padding-top:14px}.port-nation{font-size:8px}}@media (width<=500px){.port-tabs button{min-height:44px;padding:12px 6px;font-size:16px}.port-tabs button span{display:none}.reputation-ledger{gap:8px;margin-top:16px}.reputation-nation{padding:10px}.reputation-nation strong{font-size:9px}.governor-contracts{gap:13px;margin-top:17px}.governor-contract{padding:15px}.governor-contract>.eyebrow{font-size:6px}.port-dialog .governor-contract h4{font-size:21px}.port-dialog .governor-contract>p:not(.port-service-note){font-size:10px}.governor-ledger dd{font-size:15px}.port-dialog .port-price-policy{padding:8px 10px;font-size:9px}}@media (height<=550px){.port-nation{margin:5px 0 0;font-size:8px}.reputation-ledger{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px}.reputation-nation{padding:9px}.reputation-nation strong{font-size:9px}.governor-contracts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px}.governor-contract{padding:14px}.port-dialog .governor-contract h4{font-size:21px}.port-dialog .port-price-policy{margin-bottom:12px;font-size:9px}.port-tabs button{padding-top:9px;padding-bottom:9px}.port-dialog .governor-contract>p:not(.port-service-note){font-size:10px}}@media (height<=550px) and (width<=560px){.reputation-ledger{grid-template-columns:repeat(2,minmax(0,1fr))}.governor-contracts{grid-template-columns:1fr}}#boarding-dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#071c22b8}.boarding-forces{grid-template-columns:1fr 1fr;gap:16px;margin:22px 0;display:grid}.boarding-forces>span{color:#a9bfb4;background:#ffffff06;border:1px solid #d4b77330;padding:14px;font-size:11px}.boarding-forces strong{color:#e8ce99;margin-top:8px;font:32px Georgia;display:block}.boarding-forecast{color:#dfc583!important;font-size:14px!important}#boarding-dialog[data-outcome=repelled] .boarding-forecast{color:#e8a58d!important}#board-button{color:#e2cb9d;background:#d7b77719;border:1px solid #d7b77770;border-radius:3px;width:100%;margin-top:9px;padding:8px 10px;font-size:10px}#board-button kbd{width:17px;height:18px;margin-right:6px}#board-button:disabled{opacity:.5;cursor:default}#board-button:enabled{color:#17383a;background:#d7b777}#board-button:enabled kbd{color:inherit;background:0 0;border-color:#17383a66}.event-toast{color:#f0d69e;text-align:center;pointer-events:none;z-index:4;background:#153a40ed;border:1px solid #d3b57b88;border-radius:3px;max-width:min(520px,100% - 36px);padding:10px 16px;font-size:12px;position:absolute;top:82px;left:50%;transform:translate(-50%)}.event-toast[hidden]{display:none}#enemy-status[data-captured=true] .hostile-dot{background:#edca7c}@media (width<=760px){#board-button{margin-top:6px;padding:6px 9px;font-size:9px}#board-button kbd{width:16px;height:16px}.event-toast{padding:8px 12px;font-size:10px;top:81px}#boarding-dialog{padding:22px}#boarding-dialog h2{font-size:27px}}@media (height<=550px){.event-toast{font-size:10px;top:62px}#board-button{margin-top:5px;padding:5px 7px;font-size:9px}#boarding-dialog{max-height:calc(100% - 20px);padding:20px;overflow:auto}#boarding-dialog h2{margin:12px 0;font-size:24px}.boarding-forces{margin:12px 0}}@media (height<=550px) and (width>=560px){#boarding-dialog[open]{grid-template-columns:1fr 1fr;gap:8px 14px;width:min(600px,100% - 32px);padding:16px;display:grid}#boarding-dialog>.eyebrow,#boarding-dialog>h2,#boarding-dialog>p:first-of-type{grid-column:1/-1}#boarding-dialog h2{margin:3px 0;font-size:24px}#boarding-dialog>p:first-of-type{margin:2px 0;font-size:11px;line-height:1.6}#boarding-dialog .boarding-forces{grid-area:4/1/6;gap:8px;margin:0}#boarding-dialog .boarding-forces>span{padding:10px;font-size:10px}#boarding-dialog .boarding-forces strong{margin-top:6px;font-size:28px}#boarding-forecast{grid-area:4/2;margin:0;line-height:1.5;font-size:12px!important}#boarding-cost{grid-area:5/2;margin:0;padding-top:7px;line-height:1.5;font-size:10px!important}#boarding-confirm,#boarding-cancel{grid-row:6;margin-top:3px;padding:11px 8px;font-size:11px}}.multiplayer-dialog{width:min(490px,100% - 24px);max-height:calc(100dvh - 28px);padding:28px;overflow-y:auto}.multiplayer-dialog h2{margin:14px 0}.multiplayer-dialog label{color:#c8d7c9;margin-top:14px;font-size:11px;display:block}.multiplayer-dialog input{color:#eee0c0;background:#0b252d;border:1px solid #dac38c50;border-radius:3px;width:100%;margin-top:8px;padding:12px 14px;font:16px Arial;display:block}.multiplayer-dialog #room-input{text-transform:uppercase;letter-spacing:4px}.room-divider{letter-spacing:1.5px;color:#95b0a7;margin-top:23px;font-size:8px}.multiplayer-dialog .note{line-height:1.7;font-size:10px!important}.multiplayer-dialog .text-button{width:100%;margin:12px 0 0}.multiplayer-dialog button:disabled{opacity:.55;cursor:wait}#room-message:empty{display:none}#room-message{color:#e7c486;font-size:12px;line-height:1.5}.multiplayer-panel{background:var(--panel);border:1px solid #dac38c50;border-radius:3px;width:258px;padding:18px;position:absolute;top:142px;left:38px}.multiplayer-panel[hidden]{display:none}.multiplayer-panel .eyebrow{letter-spacing:1px;font-size:8px}#room-count{color:#d9d8b5;margin-left:auto}.room-heading{justify-content:space-between;align-items:center;gap:10px;margin-top:14px;display:flex}#room-code{letter-spacing:3px;color:var(--gold);font:22px Georgia}#room-copy{color:#d7ddc9;background:0 0;border:1px solid #c4bc9240;border-radius:3px;max-width:95px;padding:5px 8px;font-size:9px;line-height:1.5}#room-hint{color:#b2c8bc;margin:12px 0;font-size:10px;line-height:1.6}#room-roster{margin:0;padding:0;list-style:none}#room-roster li{border-top:1px solid #c8be8825;justify-content:space-between;gap:8px;padding:9px 0;font-size:11px;display:flex}#room-roster li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#room-roster li b{color:#c0cdb8;white-space:nowrap;font-size:10px}#room-roster li[data-self=true]{color:#e5c892}#room-respawn{color:#ecc17e;margin-top:8px;font-size:11px;line-height:1.5}#room-respawn:empty{display:none}.multiplayer-panel .text-button{width:100%;margin:12px 0 0}#app[data-mode=online] .voyage-card,#app[data-mode=online] .harbor-card,#app[data-mode=online] .contact-card,#app[data-mode=online] .sailing-hint{display:none!important}#app[data-panel-side=right] .multiplayer-panel{left:auto;right:38px}@media (width>=761px) and (height<=850px){.multiplayer-panel{top:126px}}@media (width<=1100px) and (width>=761px){.multiplayer-panel{width:242px;left:24px}#app[data-panel-side=right] .multiplayer-panel{right:24px}}@media (width<=760px){.multiplayer-panel,#app[data-panel-side=right] .multiplayer-panel{width:auto;padding:11px 13px;top:109px;left:14px;right:14px}.room-heading{margin-top:6px}#room-code{font-size:19px}#room-copy{max-width:none;font-size:8px}#room-hint{margin:5px 0;font-size:9px}#room-roster{grid-template-columns:1fr 1fr;column-gap:15px;display:grid}#room-roster li{padding:5px 0;font-size:10px}.multiplayer-panel .text-button{margin-top:6px;padding:4px 0;font-size:9px}#room-respawn{margin-top:4px;font-size:9px}}@media (height<=550px){.multiplayer-panel{width:220px;padding:10px 12px;top:94px;left:18px;right:auto}.multiplayer-panel .eyebrow{font-size:7px}#room-code{font-size:19px}#room-hint{margin:6px 0;font-size:9px}#room-roster{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:10px;display:grid}#room-roster li{gap:4px;padding:4px 0;font-size:8px}#room-roster li b{font-size:8px}.multiplayer-panel .text-button{margin-top:6px;padding:5px 0;font-size:9px}.multiplayer-dialog{padding:20px}.multiplayer-dialog .note{font-size:9px!important}}@media (width<=370px) and (height>=551px){.multiplayer-panel{padding:9px 12px}#room-hint{font-size:8px}.multiplayer-panel .eyebrow{font-size:7px}#room-roster li,#room-roster li b{font-size:8px}}#room-roster li,#room-roster li span{min-width:0}#room-roster li b{flex-shrink:0}@media (height<=550px){#app[data-panel-side=right] .multiplayer-panel{width:220px;top:94px;left:auto;right:18px}.multiplayer-panel .room-heading{margin-top:6px}.multiplayer-panel #room-copy{max-width:90px;padding:3px 5px;font-size:8px}.multiplayer-panel #room-hint{margin:5px 0;font-size:8px;line-height:1.5}.multiplayer-panel #room-respawn{margin-top:4px;font-size:8px}.multiplayer-panel .text-button{padding:4px 0}}.multiplayer-dialog select{color:#eee0c0;background:#0b252d;border:1px solid #dac38c50;border-radius:3px;width:100%;margin-top:8px;padding:11px 12px;font:14px Arial;display:block}#room-mode-description{color:#abc5b6;margin:8px 0 0;font-size:10px;line-height:1.6}#room-details>summary{cursor:pointer;color:#b8ccbc;-webkit-user-select:none;user-select:none;padding:8px 0 0;font-size:10px;line-height:1.6}#room-details>summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.multiplayer-panel[data-mode=duel] #room-details>summary{display:none}.multiplayer-panel[data-mode=convoy]{scrollbar-width:thin;scrollbar-color:#849d8866 transparent;max-height:calc(100dvh - 320px);overflow-y:auto}.multiplayer-panel[data-mode=convoy] .room-heading{margin-top:9px}.multiplayer-panel[data-mode=convoy] #room-code{font-size:19px}.multiplayer-panel[data-mode=convoy] #room-copy{padding:4px 6px;font-size:8px}#convoy-objective[hidden],#convoy-actions[hidden],#convoy-meters[hidden],#convoy-meta[hidden],#convoy-result[hidden],#convoy-rules[hidden],#room-notice[hidden]{display:none}#convoy-title{color:#eed9ac;letter-spacing:-.2px;margin:14px 0 6px;font:18px Georgia}#convoy-status{color:#b8d0bb;min-height:16px;margin:0;font-size:10px;line-height:1.6}.multiplayer-panel[data-phase=victory] #convoy-status{color:#cbe4ab}.multiplayer-panel[data-phase=defeat] #convoy-status{color:#f1b49d}.multiplayer-panel[data-phase=sailing][data-escort-nearby=false] #convoy-status{color:#efd090}.convoy-meters{grid-template-columns:1fr 1fr;gap:10px;margin-top:11px;display:grid}.convoy-meter-label{color:#b1c6ba;justify-content:space-between;gap:4px;font-size:8px;line-height:1.4;display:flex}.convoy-meter-label b{color:#e6d8aa;font-variant-numeric:tabular-nums;font-weight:400}.convoy-meter{background:#cadaac25;border-radius:1px;height:4px;margin-top:5px;overflow:hidden}.convoy-meter i{background:#c0d5a0;width:100%;height:100%;transition:width .15s linear;display:block}#convoy-progress i{background:#dbb779;width:0}#convoy-health[data-critical=true] i{background:#db947e}.convoy-meta{color:#91b1a5;font-variant-numeric:tabular-nums;justify-content:space-between;gap:6px;margin-top:8px;font-size:9px;display:flex}#convoy-result{color:#dbbf83;margin:7px 0 0;font-size:10px;line-height:1.6}.convoy-actions{gap:7px;margin-top:12px;display:flex}.convoy-actions button{color:#ced9bf;white-space:nowrap;background:#b4c58c14;border:1px solid #c1bb8159;border-radius:3px;flex:1;min-width:0;padding:8px 5px;font-size:10px}.convoy-actions button[aria-pressed=true]{color:#d5e8bd;background:#83b88a23;border-color:#a4d5a366}.convoy-actions #convoy-start{color:#17373c;background:#dfbd7f;border-color:#dfbd7f}.convoy-actions button:disabled{opacity:.45;cursor:not-allowed}.convoy-actions button[hidden]{display:none}#convoy-rules{color:#9fb9ab;border-top:1px solid #c8be8825;margin:6px 0 0;padding-top:7px;font-size:9px;line-height:1.6}#room-notice{color:#e7c486;margin:7px 0 0;font-size:10px;line-height:1.5}.multiplayer-panel[data-mode=convoy] #room-roster li[data-ready=true] b{color:#cce4af}.multiplayer-panel[data-mode=convoy] #room-roster li[data-host=true] span{color:#e4cf98}@media (width<=760px) and (height>=551px){.multiplayer-panel[data-mode=convoy]{max-height:max(150px,100dvh - 540px);padding:9px 12px}.multiplayer-panel[data-mode=convoy] .room-heading{margin-top:5px}.multiplayer-panel[data-mode=convoy] #room-code{font-size:17px}.multiplayer-panel[data-mode=convoy] #room-copy{padding:3px 6px;font-size:8px}#convoy-title{margin:7px 0 3px;font-size:16px}#convoy-status{min-height:13px;font-size:9px;line-height:1.4}.convoy-meters{gap:12px;margin-top:6px}.convoy-meter-label{font-size:8px}.convoy-meter{height:3px;margin-top:3px}.convoy-meta{margin-top:5px;font-size:8px}.convoy-actions{gap:8px;margin-top:7px}.convoy-actions button{padding:6px;font-size:10px}#convoy-result{margin-top:4px;font-size:9px;line-height:1.4}#room-details>summary{padding-top:5px;font-size:9px}.multiplayer-panel[data-mode=convoy] .text-button{margin-top:5px;padding:3px 0}#room-notice{margin-top:5px;font-size:9px}}@media (height<=550px){.multiplayer-panel[data-mode=convoy]{max-height:calc(100dvh - 195px);padding:8px 11px}.multiplayer-panel[data-mode=convoy] .room-heading{margin-top:4px}.multiplayer-panel[data-mode=convoy] #room-code{font-size:16px}.multiplayer-panel[data-mode=convoy] #room-copy{padding:2px 5px;font-size:7px}#convoy-title{margin:6px 0 3px;font-size:15px}#convoy-status{min-height:12px;font-size:8px;line-height:1.4}.convoy-meters{gap:8px;margin-top:6px}.convoy-meter-label{font-size:7px}.convoy-meter{height:3px;margin-top:3px}.convoy-meta{margin-top:4px;font-size:7px}.convoy-actions{gap:6px;margin-top:6px}.convoy-actions button{padding:5px 3px;font-size:8px}#convoy-result{margin-top:4px;font-size:8px;line-height:1.4}#room-details>summary{padding-top:4px;font-size:8px}.multiplayer-panel[data-mode=convoy] .text-button{margin-top:4px;padding:3px 0}#room-notice{margin-top:4px;font-size:8px}}@media (width>=761px) and (height<=550px){.multiplayer-panel[data-mode=convoy]{max-height:calc(100dvh - 225px)}}@media (width<=760px) and (height>=551px){.multiplayer-panel[data-mode=convoy]:is([data-phase=sailing],[data-phase=countdown]){max-height:125px;padding:8px 12px}.multiplayer-panel[data-mode=convoy]:is([data-phase=sailing],[data-phase=countdown]) .room-heading,.multiplayer-panel[data-mode=convoy]:is([data-phase=sailing],[data-phase=countdown]) #room-details,.multiplayer-panel[data-mode=convoy]:is([data-phase=sailing],[data-phase=countdown]) #room-leave{display:none}.multiplayer-panel[data-mode=convoy]:is([data-phase=sailing],[data-phase=countdown]) #convoy-title{margin-top:5px;font-size:15px}}.touch-stick,.touch-help{display:none}#app[data-touch=true] .touch-help{border-left:2px solid var(--gold);padding-left:12px;display:block}body:has(#app[data-touch=true]){overscroll-behavior:none;background:#164850;overflow:hidden}#app[data-touch=true]{top:env(safe-area-inset-top,0px);right:env(safe-area-inset-right,0px);bottom:env(safe-area-inset-bottom,0px);left:env(safe-area-inset-left,0px);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:auto;height:auto;min-height:0;position:fixed;overflow:visible}#app[data-touch=true] .sea,#app[data-touch=true] .vignette{position:fixed;inset:0}#app[data-touch=true] button,#app[data-touch=true] select{touch-action:manipulation}#app[data-touch=true] .voyage-card,#app[data-touch=true] .chart-card,#app[data-touch=true] .controls-legend,#app[data-touch=true] .build-tag,#app[data-touch=true] .sailing-hint,#app[data-touch=true] .combat-tip,#app[data-touch=true] .panel-side-button,#app[data-touch=true] .region,#app[data-touch=true] .touch-controls,#app[data-touch=true] .ammo-detail,#app[data-touch=true] .combat-card>.eyebrow,#app[data-touch=true] .harbor-card>p,#app[data-touch=true] kbd{display:none}#app[data-touch=true] .combat-status{clip-path:inset(50%);width:1px;height:1px;margin:0;position:absolute;overflow:hidden}#app[data-touch=true] .topbar{background:linear-gradient(#12383ee6,#12383e00);height:48px;padding:0 10px}#app[data-touch=true] .brand{letter-spacing:2px;gap:7px;font-size:15px}#app[data-touch=true] .brand-icon{width:24px;height:28px}#app[data-touch=true] .brand-icon svg{width:16px}#app[data-touch=true] .brand small,#app[data-touch=true] .brand-js{display:none}#app[data-touch=true] .topbar nav{gap:5px}#app[data-touch=true] .topbar .icon-button,#app[data-touch=true] .topbar #multiplayer-button{background:#0e3036a6;border-radius:50%;place-items:center;width:34px;height:34px;padding:0;font-size:15px;display:grid}#app[data-touch=true] .topbar #multiplayer-button>span{display:none}#app[data-touch=true] .bottom-bar{z-index:1;gap:0;inset:6px auto auto 50%;transform:translate(-50%)}#app[data-touch=true] .navigation{background:#0d282cd9;border-radius:999px;align-items:center;gap:8px;width:auto;padding:3px 10px 3px 3px;display:flex}#app[data-touch=true] .compass{flex-shrink:0;width:82px;height:82px;margin:-24.6px;transform:scale(.4)}#app[data-touch=true] .navigation .eyebrow,#app[data-touch=true] #motion-label,#app[data-touch=true] .speed-track,#app[data-touch=true] #wind-status,#app[data-touch=true] #wind-cardinal,#app[data-touch=true] .wind-power>span{display:none}#app[data-touch=true] .speed{white-space:nowrap;min-width:0}#app[data-touch=true] .speed>div:nth-child(2){margin:0}#app[data-touch=true] .speed strong{letter-spacing:0;font-size:17px}#app[data-touch=true] .speed span{margin-left:2px;font-size:10px}#app[data-touch=true] .heading{min-width:0;padding-left:8px}#app[data-touch=true] .heading strong{margin:0;font-size:13px}#app[data-touch=true] .wind-readout{border-top:0;border-left:1px solid #c4bc9228;align-items:center;gap:6px;padding:0 0 0 8px;display:flex}#app[data-touch=true] .wind-dial{flex-shrink:0;width:24px;height:24px}#app[data-touch=true] .wind-dial>span{display:none}#app[data-touch=true] .wind-bearing{margin:0}#app[data-touch=true] .wind-bearing strong{font-size:13px}#app[data-touch=true] .wind-power{width:34px}#app[data-touch=true] .wind-power .wind-track{margin-top:0}#app[data-touch=true] .harbor-card,#app[data-touch=true] .contact-card{background:#0d282cd1;border-radius:8px;width:204px;padding:7px 10px 8px;inset:54px auto auto 10px;transform:none}#app[data-touch=true][data-battle=sailing] .contact-card,#app[data-touch=true][data-battle=victory] .contact-card,#app[data-touch=true][data-dock-ready=true] .contact-card,#app[data-touch=true][data-battle=engaged] .harbor-card,#app[data-touch=true][data-battle=defeat] .harbor-card{display:none}#app[data-touch=true][data-dock-ready=true] .harbor-card{display:block}#app[data-touch=true] .harbor-card>.eyebrow,#app[data-touch=true] .contact-card>.eyebrow{letter-spacing:1px;font-size:9px}#app[data-touch=true] #voyage-gold{font-size:11px}#app[data-touch=true] .route-select{width:auto;margin-top:5px;position:static}#app[data-touch=true] .route-select>span{display:none}#app[data-touch=true] .route-select select{height:30px;padding:2px 6px;font-size:16px}#app[data-touch=true] .harbor-route{margin-top:5px;padding-right:0}#app[data-touch=true] .harbor-route strong{font-size:14px}#app[data-touch=true] .harbor-route>span{font-size:12px;position:static}#app[data-touch=true] .harbor-bottom{margin-top:5px}#app[data-touch=true] .harbor-bottom>small{padding-left:0;font-size:10px}#app[data-touch=true] #dock-button{border-radius:6px;min-height:32px;padding:4px 10px;font-size:12px}#app[data-touch=true] .mission-tracker{margin-top:5px;padding-top:5px}#app[data-touch=true] .mission-tracker strong{font-size:11px}#app[data-touch=true] .mission-tracker>span{font-size:10px}#app[data-touch=true] #enemy-faction{font-size:9px}#app[data-touch=true] .contact-card .eyebrow>span:last-child{font-size:11px}#app[data-touch=true] .contact-card .contact-title{margin:4px 0 5px;display:flex}#app[data-touch=true] .contact-card .contact-title strong{font-size:15px}#app[data-touch=true] .contact-card .contact-title>span{margin:0;font-size:11px;display:inline}#app[data-touch=true] .contact-card p{min-height:0;margin-top:5px;font-size:11px;line-height:1.35}#app[data-touch=true] .contact-card .ship-condition{margin-top:4px;font-size:10px}#app[data-touch=true] #board-button{border-radius:6px;min-height:32px;margin-top:6px;padding:4px 10px;font-size:12px}#app[data-touch=true] .contact-card .secondary-button{min-height:32px;margin-top:6px;padding:6px;font-size:12px}#app[data-touch=true] .touch-stick{touch-action:none;z-index:3;background:radial-gradient(circle,#0e2f35a6 0 55%,#0e2f35d9);border:1px solid #dac38c66;border-radius:50%;width:132px;height:132px;display:block;position:absolute;bottom:16px;left:16px;box-shadow:inset 0 0 0 10px #dac38c12}.touch-stick-ring b{border:5px solid #0000;width:0;height:0;position:absolute}.touch-stick-ring b:first-child{border-top-width:0;border-bottom:8px solid #dac38caa;margin-left:-5px;top:9px;left:50%}.touch-stick-ring b:nth-child(2){border-left-width:0;border-right:8px solid #dac38caa;margin-top:-5px;top:50%;left:9px}.touch-stick-ring b:nth-child(3){border-left:8px solid #dac38caa;border-right-width:0;margin-top:-5px;top:50%;right:9px}.touch-stick-ring b:nth-child(4){border-top:8px solid #dac38caa;border-bottom-width:0;margin-left:-5px;bottom:9px;left:50%}.touch-stick-knob{pointer-events:none;background:radial-gradient(circle at 40% 35%,#f0d9a2,#c9a865 70%);border:1px solid #f3e2b6;border-radius:50%;width:58px;height:58px;margin:-29px 0 0 -29px;transition:transform .14s ease-out;position:absolute;top:50%;left:50%;box-shadow:0 4px 14px #0007}.touch-stick[data-active=true] .touch-stick-knob{transition:none}.touch-stick[data-active=true]{border-color:#e7cd91}#app[data-touch=true] .combat-card{background:#0d282cc7;border-radius:10px;width:214px;padding:7px 8px 8px;inset:auto 12px 12px auto}#app[data-touch=true] .ammo-selector{gap:4px;margin-top:0}#app[data-touch=true] .ammo-selector button{border-radius:5px;min-height:30px;padding:3px;font-size:11px}#app[data-touch=true] .combat-card .hull-label{margin:6px 0 3px;font-size:10px}#app[data-touch=true] .combat-card .ship-condition{margin-top:3px;font-size:10px}#app[data-touch=true] .combat-card .broadside-buttons{gap:6px;margin-top:6px}#app[data-touch=true] .combat-card .fire-button{background:#cfb67726;border-width:1.5px;border-radius:7px;min-height:50px;padding:6px 8px 7px}#app[data-touch=true] .combat-card .fire-button>span,#app[data-touch=true] .combat-card .fire-button b{font-size:14px}#app[data-touch=true] .combat-card .fire-button small{margin-top:3px;font-size:10px}#app[data-touch=true] .combat-card .fire-button>i{height:3px}#app[data-touch=true] .combat-card .fire-button:active:enabled{background:#d9b87566}#app[data-touch=true] .event-toast{max-width:min(420px,100% - 24px);padding:7px 12px;font-size:12px;top:54px}#app[data-touch=true] .multiplayer-panel{border-radius:8px;width:220px;padding:9px 10px;top:54px;left:10px;right:auto}#app[data-touch=true] dialog{max-height:calc(100dvh - 20px);padding:22px;overflow-y:auto}#app[data-touch=true] dialog h2{margin:12px 0;font-size:25px}#app[data-touch=true] dialog p{font-size:14px;line-height:1.6}#app[data-touch=true] .primary-button,#app[data-touch=true] .secondary-button{min-height:46px;font-size:14px}@media (orientation:portrait){#app[data-touch=true] .bottom-bar{top:52px}#app[data-touch=true] .harbor-card,#app[data-touch=true] .contact-card,#app[data-touch=true] .multiplayer-panel{width:min(240px,100% - 20px);top:96px}#app[data-touch=true] .event-toast{top:96px}#app[data-touch=true] .touch-stick{width:124px;height:124px;bottom:14px;left:12px}#app[data-touch=true] .combat-card{width:calc(100% - 160px);max-width:226px;bottom:12px;right:12px}#app[data-touch=true] .combat-card .fire-button>span{font-size:13px}#app[data-touch=true] .route-select{display:none}#app[data-touch=true] .multiplayer-panel[data-mode=convoy]{max-height:max(190px,100dvh - 400px);padding:8px 10px}}@media (orientation:portrait) and (width<=360px){#app[data-touch=true] .brand>span:last-child,#app[data-touch=true] .wind-power{display:none}}@media (orientation:landscape) and (height<=430px){#app[data-touch=true] .topbar{height:46px}#app[data-touch=true] .bottom-bar{justify-content:center;display:flex;top:5px;left:128px;right:212px;transform:none}#app[data-touch=true] .harbor-card,#app[data-touch=true] .contact-card,#app[data-touch=true] .multiplayer-panel,#app[data-touch=true] .event-toast{top:52px}#app[data-touch=true] #battle-guidance{display:none}#app[data-touch=true] .touch-stick{width:118px;height:118px;bottom:12px;left:14px}#app[data-touch=true] .touch-stick-knob{width:52px;height:52px;margin:-26px 0 0 -26px}#app[data-touch=true] .combat-card{bottom:10px;right:12px}#app[data-touch=true] .combat-card .fire-button{min-height:46px}}@media (orientation:landscape) and (height<=350px){#app[data-touch=true] .route-select{display:none}}@media (orientation:landscape) and (height<=430px) and (width<=700px){#app[data-touch=true] .brand>span:last-child{display:none}#app[data-touch=true] .bottom-bar{left:48px}}@media (orientation:landscape) and (height<=430px) and (width<=620px){#app[data-touch=true] .wind-power{display:none}#app[data-touch=true] .topbar nav{gap:4px}#app[data-touch=true] .topbar .icon-button,#app[data-touch=true] .topbar #multiplayer-button{width:32px;height:32px}#app[data-touch=true] .bottom-bar{right:194px}#app[data-touch=true] .harbor-card,#app[data-touch=true] .contact-card{width:190px}#app[data-touch=true] .combat-card{width:204px}}@media (width>=1000px) and (height>=680px){#app[data-touch=true] .chart-card{display:block;top:60px;left:auto;right:16px}#app[data-touch=true] .touch-stick{width:156px;height:156px;bottom:28px;left:28px}#app[data-touch=true] .touch-stick-knob{width:66px;height:66px;margin:-33px 0 0 -33px}#app[data-touch=true] .combat-card{width:250px;bottom:28px;right:28px}#app[data-touch=true] .harbor-card,#app[data-touch=true] .contact-card{width:240px;top:64px;left:28px}}#app[data-touch=true] .multiplayer-panel .eyebrow{font-size:9px}#app[data-touch=true] #room-copy{max-width:none;min-height:30px;padding:4px 8px;font-size:11px}#app[data-touch=true] #room-hint,#app[data-touch=true] #room-respawn,#app[data-touch=true] #room-roster li{font-size:11px}#app[data-touch=true] .multiplayer-panel .text-button{min-height:30px;font-size:12px}#app[data-touch=true] .convoy-actions button{border-radius:6px;min-height:36px;font-size:12px}@media (orientation:landscape) and (height<=430px){#app[data-touch=true] .multiplayer-panel{max-height:calc(100% - 190px);padding:8px 10px;overflow-y:auto}#app[data-touch=true] #room-hint{display:none}#app[data-touch=true] #room-code{font-size:17px}#app[data-touch=true] .room-heading{margin-top:4px}}
