@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-latin-400-normal-BCNrxLz_.woff2)format("woff2"),url(/assets/eb-garamond-latin-400-normal-maQnHeKB.woff)format("woff")}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-latin-400-italic-DSEbMgZu.woff2)format("woff2"),url(/assets/eb-garamond-latin-400-italic-CDFyLPXJ.woff)format("woff")}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-latin-500-normal-DehAIUv0.woff2)format("woff2"),url(/assets/eb-garamond-latin-500-normal-DZU8xF9o.woff)format("woff")}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/eb-garamond-latin-600-normal-DHwxsLHv.woff2)format("woff2"),url(/assets/eb-garamond-latin-600-normal-xCe6GkOx.woff)format("woff")}@font-face{font-family:IM Fell English;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/im-fell-english-latin-400-normal-BhowGHCQ.woff2)format("woff2"),url(/assets/im-fell-english-latin-400-normal-CxhBQSzl.woff)format("woff")}@font-face{font-family:IM Fell English;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/im-fell-english-latin-400-italic-DD_ylKHZ.woff2)format("woff2"),url(/assets/im-fell-english-latin-400-italic-hN89MLGX.woff)format("woff")}@font-face{font-family:IM Fell English SC;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/im-fell-english-sc-latin-400-normal-CW_nhHm4.woff2)format("woff2"),url(/assets/im-fell-english-sc-latin-400-normal-DPW2r_p4.woff)format("woff")}:root{--paper:#efe3c4;--paper-2:#e2d1a6;--paper-3:#d6c08c;--ink:#2b1d0e;--ink-2:#4a3620;--ink-soft:#6b5536;--rule:#5b4122;--brass-hi:#f3dc98;--brass:#c9a24a;--brass-lo:#8a6a24;--brass-dark:#5a4217;--oak:#3a2414;--oak-2:#24160b;--red-ink:#9b2216;--green-ink:#2e6b24;--amber-ink:#a0660f;--blue-ink:#2b4a6e;--gb:#2d5b9a;--allies:#a33a2e;--serif:"EB Garamond", "IM Fell English", Georgia, "Times New Roman", serif;--fell:"IM Fell English", "EB Garamond", Georgia, serif;--fell-sc:"IM Fell English SC", "IM Fell English", Georgia, serif;--parchment:radial-gradient(ellipse 40% 30% at 18% 22%, #aa762c1f, transparent 70%), radial-gradient(ellipse 35% 40% at 88% 78%, #96602224, transparent 70%), radial-gradient(circle at 72% 18%, #80521a21 0 1.5px, transparent 2.5px), radial-gradient(circle at 34% 84%, #80521a1a 0 2px, transparent 3px), radial-gradient(circle at 91% 34%, #80521a1a 0 1px, transparent 2px), radial-gradient(ellipse at center, transparent 58%, #70481642 100%), linear-gradient(172deg, #f3e8cb 0%, #efe3c4 40%, #e2d1a6 100%);--corners:linear-gradient(135deg, #f6e2a4 0, #c9a24a 38%, #7d5e1f 49%, transparent 51%) top left / 11px 11px no-repeat, linear-gradient(225deg, #f6e2a4 0, #c9a24a 38%, #7d5e1f 49%, transparent 51%) top right / 11px 11px no-repeat, linear-gradient(45deg, #e8cf88 0, #b8913f 38%, #6e5019 49%, transparent 51%) bottom left / 11px 11px no-repeat, linear-gradient(315deg, #e8cf88 0, #b8913f 38%, #6e5019 49%, transparent 51%) bottom right / 11px 11px no-repeat;--frame-shadow:inset 0 0 0 3px #efe3c4e6, inset 0 0 0 4px #4b3418bf, 0 1px 0 1px #28190a59, 0 6px 18px #00000061}*{box-sizing:border-box}html,body{height:100%;font:15px/1.3 var(--serif);font-variant-numeric:oldstyle-nums;color:var(--ink);background:#0b1a26;margin:0;overflow:hidden}#game{width:100%;height:100%;display:block;position:fixed;inset:0}.panel,.parchment{background:var(--parchment);color:var(--ink);border:1px solid var(--rule);box-shadow:var(--frame-shadow);border-radius:2px;padding:11px 14px 10px;position:absolute}.panel:after,.parchment:after{content:"";pointer-events:none;background:var(--corners);filter:drop-shadow(0 1px #28190a80);position:absolute;inset:-2px}.title{font:20px/1.1 var(--fell);color:var(--ink);letter-spacing:.01em;margin-bottom:6px}.title .dim{font:italic 15px var(--serif)}.dim{color:var(--ink-soft);font-weight:400}.tiny{margin-top:4px;font-size:13px;line-height:1.25}.good,.ok{color:var(--green-ink)}.bad{color:var(--red-ink)}.warn{color:var(--amber-ink)}.legend-good{color:#2f8a2a}.legend-warn{color:#b87a0a}.legend-bad{color:#c0271b}.sc{font-family:var(--fell-sc);letter-spacing:.03em}kbd{border:1px solid var(--brass-dark);background:linear-gradient(180deg, var(--brass-hi) 0%, #dcbc6a 45%, var(--brass) 55%, #a7822f 100%);min-width:20px;box-shadow:inset 0 1px 0 #fffae1bf, inset 0 -1px 0 #5a3c0f59, 0 1px 0 var(--oak-2), 0 1px 2px #0000004d;color:var(--oak-2);font:600 13px/1.35 var(--serif);font-variant-numeric:lining-nums;text-align:center;text-shadow:0 1px #fff5d299;white-space:nowrap;border-radius:2px;margin:0 1px;padding:0 6px;display:inline-block}.keys{color:var(--ink-2);border-top:1px solid #5b412259;flex-wrap:wrap;gap:5px 14px;margin-top:7px;padding-top:6px;font-size:14px;display:flex}.keys>span{white-space:nowrap}#lobby{background:repeating-conic-gradient(from 0deg at 50% 50%, #e8c87812 0 .35deg, transparent .35deg 11.25deg), radial-gradient(circle at 50% 50%, transparent 0 34%, #e8c87814 34.2% 34.5%, transparent 34.7%), repeating-linear-gradient(0deg, #ffffff06 0 1px, transparent 1px 5px), radial-gradient(ellipse at 50% 40%, #1f3a52 0%, #10222f 55%, #070f16 100%);place-items:center;display:grid;position:fixed;inset:0;overflow:auto}#join-form{background:var(--parchment);border:1px solid var(--rule);width:480px;box-shadow:inset 0 0 0 5px #efe3c4e6, inset 0 0 0 6px #4b3418cc, inset 0 0 0 8px #efe3c4e6, inset 0 0 0 9px #4b341880, 0 0 0 6px var(--oak), 0 0 0 7px var(--brass-lo), 0 24px 60px #0009;border-radius:2px;gap:12px;padding:30px 36px 24px;display:grid;position:relative}#join-form:after{content:"";pointer-events:none;background:linear-gradient(135deg,#f6e2a4 0,#c9a24a 40%,#7d5e1f 49%,#0000 51%) 0 0/20px 20px no-repeat,linear-gradient(225deg,#f6e2a4 0,#c9a24a 40%,#7d5e1f 49%,#0000 51%) 100% 0/20px 20px no-repeat,linear-gradient(45deg,#e8cf88 0,#b8913f 40%,#6e5019 49%,#0000 51%) 0 100%/20px 20px no-repeat,linear-gradient(315deg,#e8cf88 0,#b8913f 40%,#6e5019 49%,#0000 51%) 100% 100%/20px 20px no-repeat;position:absolute;inset:-7px}#join-form .crest{text-align:center;font:13px var(--fell-sc);letter-spacing:.35em;color:var(--ink-soft);margin-bottom:-6px}#join-form h1{text-align:center;font:44px/1 var(--fell);color:var(--ink);letter-spacing:.01em;margin:0}#join-form .sides{font:17px var(--fell-sc);color:var(--ink-2);justify-content:center;align-items:center;gap:10px;display:flex}#join-form .sides i{font:italic 15px var(--serif);color:var(--ink-soft)}#join-form .sides .gb{color:var(--gb)}#join-form .sides .allies{color:var(--allies)}.sub{text-align:center;color:var(--ink-2);margin:0 0 4px;font-style:italic}.ornament{background:radial-gradient(circle, var(--rule) 0 2.5px, transparent 3px) center / 10px 10px no-repeat, linear-gradient(var(--rule), var(--rule)) center / 100% 1px no-repeat;opacity:.8;height:10px;margin:0 30px}#join-form label{font:15px var(--fell-sc);letter-spacing:.03em;color:var(--ink-2);gap:3px;display:grid}#join-form label.check{font:15px var(--serif);letter-spacing:0;align-items:center;gap:9px;display:flex}#join-form input[type=checkbox]{accent-color:var(--rule);width:15px;height:15px;margin:0}#join-form input:not([type=checkbox]),#join-form select{border:0;border-bottom:1px solid var(--ink-2);color:var(--ink);font:18px var(--serif);background:#fffae659;border-radius:0;outline:none;padding:5px 4px 4px}#join-form input:not([type=checkbox]):focus,#join-form select:focus{border-bottom-color:var(--red-ink);background:#fffae6b3}#join-form button{color:#f7e7c2;font:21px var(--fell-sc);letter-spacing:.06em;text-shadow:0 1px #3a0804;cursor:pointer;background:radial-gradient(at 50% 30%,#b8382a 0%,#8e1c12 55%,#5e0f09 100%);border:1px solid #4a0d07;border-radius:3px;justify-self:center;margin-top:4px;padding:10px 34px 11px;transition:transform .1s,filter .12s;box-shadow:inset 0 1px #ffc8aa59,inset 0 0 0 3px #5e0f0959,0 2px #3a0804,0 4px 10px #00000059}#join-form button:hover{filter:brightness(1.12)}#join-form button:active{transform:translateY(1px)}#lobby-status{text-align:center;min-height:0;color:var(--red-ink);margin:-6px 0 -4px;font-style:italic}.help{color:var(--ink-2);border-top:1px solid #5b412266;grid-template-columns:auto 1fr;gap:3px 12px;padding-top:10px;font-size:14px;display:grid}.help dt{font:14px var(--fell-sc);color:var(--ink-soft);letter-spacing:.03em}.help dd{margin:0}#hud{pointer-events:none;position:fixed;inset:0}#ship-panel{width:356px;top:12px;left:12px}#minimap{filter:drop-shadow(0 6px 12px #0006);width:230px;height:230px;position:absolute;top:8px;right:8px}#station-panel{width:600px;bottom:14px;left:50%;transform:translate(-50%)}.ship-title{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:2px;display:flex}.ship-title .name{font:22px/1.05 var(--fell)}.ship-title .flag{align-self:center}.ship-sub{font:italic 15px var(--serif);color:var(--ink-soft);border-bottom:1px solid #5b412273;margin:0 0 6px;padding-bottom:5px;box-shadow:0 2px 0 -1px #5b412240}.ship-sub .navy{font-family:var(--fell-sc);letter-spacing:.03em;font-style:normal}.row{align-items:center;gap:10px;margin:4px 0;display:flex}.row>span{width:60px;font:15px var(--fell-sc);letter-spacing:.03em;color:var(--ink-2);flex:none}.row>b{text-align:right;font-variant-numeric:lining-nums tabular-nums;white-space:nowrap;min-width:44px;font-weight:600}.row.course>b{text-align:left;font-style:italic;font-weight:500}.bar{border:1px solid var(--ink-2);min-width:80px;height:12px;box-shadow:0 0 0 1px #d8b964, 0 0 0 2px var(--brass-lo), inset 0 1px 2px #3c280a59;background:linear-gradient(#d9c38e,#efe1ba 40%,#e6d3a3);border-radius:1px;flex:1;position:relative}.bar>.fill,.bar>.ghost{height:auto;transition:width .14s ease-out,background-color .2s;position:absolute;top:0;bottom:0;left:0}.bar>.fill{background-color:var(--ink-2);background-image:repeating-linear-gradient(115deg,#fff5d729 0 1px,#0000 1px 4px),linear-gradient(#ffffff2e,#0000 50%,#00000026)}.bar>.ghost{border-right:2px dashed var(--ink);background:repeating-linear-gradient(135deg,#2b1d0e47 0 2px,#0000 2px 5px);transition:width 60ms linear}.bar:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 calc(50% - .5px),#2b1d0eb3 calc(50% - .5px) calc(50% + .5px),#0000 calc(50% + .5px)) 0 0/100% 7px no-repeat,repeating-linear-gradient(90deg,#0000 0 calc(10% - 1px),#2b1d0e8c calc(10% - 1px) 10%) 0 0/100% 4px no-repeat,repeating-linear-gradient(90deg,#0000 0 calc(10% - 1px),#2b1d0e8c calc(10% - 1px) 10%) 0 100%/100% 4px no-repeat;position:absolute;inset:0}.bar>i{z-index:2;background:var(--red-ink);width:2px;margin-left:-1px;transition:left .3s ease-out;position:absolute;top:-5px;bottom:-5px}.bar>i:before,.bar>i:after{content:"";border:5px solid #0000;margin-left:-5px;position:absolute;left:50%}.bar>i:before{border-top:6px solid var(--red-ink);top:-5px}.bar>i:after{border-bottom:6px solid var(--red-ink);bottom:-5px}.bar.center:before{content:"";background:var(--ink);width:1px;position:absolute;top:-4px;bottom:-4px;left:50%}.bar .needle{z-index:2;border:1px solid var(--brass-dark);background:linear-gradient(90deg, #8a6a24, var(--brass-hi) 45%, #b8913f 60%, #7a5a1e);border-radius:1px 1px 3px 3px;width:7px;margin-left:-3.5px;transition:left 80ms linear;position:absolute;top:-5px;bottom:-5px;box-shadow:0 1px 2px #0006}.bar .needle.ghost{border:1px dashed var(--ink-2);box-shadow:none;background:#2b1d0e2e;transition:left .2s ease-out}.bar .needle.turn{border-color:var(--oak-2);background:linear-gradient(90deg,#4a3620,#7a5a36 50%,#2b1d0e);width:5px;margin-left:-2.5px;transition:left .12s linear}.stats{border-top:1px solid #5b412280;border-bottom:1px solid #5b412280;grid-template-columns:.85fr 1.3fr .7fr 1fr;margin:8px 0 6px;display:grid}.stats>div{border-left:1px solid #5b41224d;padding:3px 7px 4px}.stats>div:first-child{border-left:0;padding-left:0}.stats small{font:13px var(--fell-sc);letter-spacing:.04em;color:var(--ink-soft);display:block}.stats b{font-variant-numeric:lining-nums tabular-nums;font-size:15px;font-weight:600}.crew{color:var(--ink-2);gap:12px;margin:4px 0 2px;font-size:14px;display:flex}.crew span{font-variant-numeric:lining-nums tabular-nums}.crew .sc{font-size:14px}#ship-panel .captain{font:italic 14px var(--serif);color:var(--ink-2);margin-top:4px}#ship-panel .captain.me{color:var(--red-ink);font-style:normal}#ship-panel .captain.me:before{content:"";vertical-align:-1px;background:radial-gradient(circle at 35% 35%,#d0503e,#8e1c12 60%,#5e0f09);border-radius:50%;width:11px;height:11px;margin-right:6px;display:inline-block;box-shadow:0 0 0 1px #5e0f0980}#ship-panel .orders{border-left:3px double var(--rule);font:italic 15px var(--fell);color:var(--ink);background:#fff8e166;margin-top:5px;padding:4px 8px}#ship-panel .orders:empty{display:none}#ship-panel .netline{color:var(--ink-soft);font-variant-numeric:lining-nums tabular-nums;margin-top:5px;font-size:12px}#ship-panel .netline kbd{min-width:16px;padding:0 4px;font-size:11px}.flag{vertical-align:-2px;border:1px solid #2b1d0ed9;flex:none;width:21px;height:14px;display:inline-block;box-shadow:1px 1px #2b1d0e40}.flag.sm{vertical-align:-1px;width:15px;height:10px}.flag.gb{background:linear-gradient(#c8102e,#c8102e) 0 21%/45% 12% no-repeat,linear-gradient(#c8102e,#c8102e) 19% 0/8% 45% no-repeat,linear-gradient(#f4f1e8,#f4f1e8) 0 19%/45% 22% no-repeat,linear-gradient(#f4f1e8,#f4f1e8) 18% 0/14% 45% no-repeat,linear-gradient(#012169,#012169) 0 0/45% 45% no-repeat,linear-gradient(#c8102e,#c8102e) 0/100% 18% no-repeat,linear-gradient(#c8102e,#c8102e) 55% 0/14% 100% no-repeat,#f4f1e8}.flag.fr{background:linear-gradient(90deg,#002395 0 33.4%,#f4f1e8 33.4% 66.6%,#ed2939 66.6%)}.flag.es{background:linear-gradient(#aa151b 0 25%,#f1bf00 25% 75%,#aa151b 75%)}#compass{background:linear-gradient(#f5e1a0,#c9a24a 45%,#8a6a24) top/100% 3px no-repeat,linear-gradient(#c9a24a,#8a6a24) bottom/100% 3px no-repeat,repeating-linear-gradient(90deg,#78501e0d 0 3px,#0000 3px 11px),linear-gradient(#e6cd8e,#f0dcaa 45%,#dcbf80);border-radius:2px;width:540px;height:40px;position:absolute;top:10px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:inset 0 0 0 1px #2b1d0e99,inset 0 3px 6px #50320a40;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}#compass-strip{will-change:transform;position:absolute;inset:0}#compass .tick{font:13px/1 var(--serif);font-variant-numeric:lining-nums;color:var(--ink-2);white-space:nowrap;position:absolute;top:19px;transform:translate(-50%)}#compass .tick:before{content:"";background:var(--ink-2);width:1px;height:9px;position:absolute;top:-15px;left:50%}#compass .tick.minor{top:3px}#compass .tick.minor:before{height:5px;top:0}#compass .tick.micro{top:3px}#compass .tick.micro:before{background:#2b1d0e8c;height:3px;top:0}#compass .tick.major{font:16px/1 var(--fell);color:var(--ink);top:18px}#compass .tick.major:before{background:var(--ink);width:2px;height:11px;margin-left:-1px}#compass .tick.north:before{display:none}#compass .tick.north{color:var(--red-ink)}#compass .tick .fleur{color:var(--red-ink);font:21px/1 Apple Symbols,Segoe UI Symbol,DejaVu Sans,serif;position:absolute;top:-19px;left:50%;transform:translate(-50%)}#compass-caret{background:#9b2216bf;width:1px;margin-left:-.5px;position:absolute;top:3px;bottom:3px;left:50%}#compass-caret:before{content:"";border:6px solid #0000;border-top:8px solid var(--brass-dark);margin-left:-6px;position:absolute;top:0;left:50%}#compass .cm{font:14px/1 var(--fell-sc);transition:color .2s,transform .2s;position:absolute;top:3px;transform:translate(-50%)}#cm-port,#cm-stbd{color:#2b1d0e73}#cm-port.live,#cm-stbd.live{color:var(--green-ink);text-shadow:0 0 6px #fffadce6;transform:translate(-50%)scale(1.35)}#cm-wind{color:var(--blue-ink);top:4px}#cm-wind svg{width:18px;height:12px;display:block}#cm-course{color:var(--brass-dark);font-size:11px;top:2px}#compass .cm.contact{font:14px/1 var(--serif);text-shadow:0 0 2px #f5e6c0,0 0 3px #f5e6c0;top:3px}#score{text-align:center;background:var(--parchment);border:1px solid var(--rule);width:218px;box-shadow:var(--frame-shadow);font:14px/1.2 var(--fell-sc);letter-spacing:0;white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:3px 8px 4px;display:flex;position:absolute;top:240px;right:14px}#score .n{font:600 18px/1 var(--serif);font-variant-numeric:lining-nums tabular-nums;color:var(--ink)}#score .gb{color:var(--gb)}#score .allies{color:var(--allies)}#score .dash{color:var(--ink-soft)}#banner{text-align:center;background:var(--parchment);border:1px solid var(--rule);min-width:460px;box-shadow:inset 0 0 0 4px #efe3c4e6, inset 0 0 0 5px #4b3418cc, inset 0 0 0 7px #efe3c4e6, inset 0 0 0 8px #4b341873, 0 0 0 5px var(--oak), 0 0 0 6px var(--brass-lo), 0 20px 50px #0000008c;font:italic 18px var(--serif);color:var(--ink-2);padding:18px 40px 16px;animation:.3s ease-out banner-in;display:none;position:absolute;top:24%;left:50%;transform:translate(-50%)}#banner .win,#banner .lose{font:60px/1 var(--fell);letter-spacing:.03em;margin-bottom:4px;font-style:normal}#banner .win{color:var(--ink)}#banner .lose{color:var(--red-ink)}#banner .verdict{font:20px var(--fell-sc);color:var(--ink);margin-bottom:4px;font-style:normal}#banner .count{font-variant-numeric:lining-nums tabular-nums}#feed{flex-direction:column;gap:4px;width:420px;display:flex;position:absolute;bottom:64px;left:12px}.toast{background:var(--parchment);border-left:3px double var(--rule);clip-path:polygon(0 0,100% 0,calc(100% - 5px) 22%,100% 45%,calc(100% - 4px) 70%,100% 100%,0 100%);max-width:100%;font:italic 16px/1.25 var(--fell);color:var(--ink);align-self:flex-start;padding:3px 18px 4px 12px;transition:opacity .5s,transform .5s;animation:.22s cubic-bezier(.2,.9,.3,1.2) toast-in;box-shadow:0 2px 6px #0000004d}.toast.good{color:var(--green-ink);border-left-color:var(--green-ink)}.toast.bad{color:var(--red-ink);border-left-color:var(--red-ink);font-style:normal}.toast.chat{color:var(--blue-ink);border-left-color:var(--blue-ink);font:15px/1.25 var(--serif)}.toast.shout:before{content:"Hailing — ";font-family:var(--fell-sc);font-style:normal}.toast.out{opacity:0;transform:translate(-12px)}@keyframes toast-in{0%{opacity:0;transform:translate(-16px)}}@keyframes banner-in{0%{opacity:0;transform:translate(-50%)translateY(-10px)}}#chat-input{pointer-events:auto;border:1px solid var(--rule);background:var(--parchment);width:420px;box-shadow:var(--frame-shadow);color:var(--ink);font:italic 16px var(--fell);border-radius:1px;outline:none;padding:6px 10px;display:none;position:absolute;bottom:18px;left:12px}#chat-input::placeholder{color:var(--ink-soft)}body.dragging{cursor:grabbing}.panel.enter{animation:.18s cubic-bezier(.2,.9,.3,1.2) panel-in}@keyframes panel-in{0%{opacity:0;transform:translate(-50%)translateY(10px)scale(.98)}}#ship-panel.enter,#voice.enter{animation:none}#prompt{background:var(--parchment);border:1px solid var(--rule);white-space:nowrap;text-align:center;opacity:0;border-radius:1px;padding:4px 10px 5px;font-size:14px;transition:opacity .12s;position:absolute;top:0;left:0;box-shadow:inset 0 0 0 2px #efe3c4e6,inset 0 0 0 3px #4b341880,0 3px 8px #00000059}#prompt.show{opacity:1}#prompt b{font:16px var(--fell);font-weight:400}#prompt .dim{font-variant-numeric:lining-nums;font-size:13px}#reticle{opacity:0;--p:0;width:56px;height:56px;margin:-28px 0 0 -28px;transition:opacity .15s;position:absolute;top:50%;left:50%}#reticle.show{opacity:1}#reticle .ring{background:conic-gradient(#e0b24e calc(var(--p) * 360deg), #2b1d0e73 0);filter:drop-shadow(0 0 1px #140c04e6);border-radius:50%;position:absolute;inset:0;-webkit-mask:radial-gradient(circle,#0000 21px,#000 22px);mask:radial-gradient(circle,#0000 21px,#000 22px)}#reticle:before{content:"";filter:drop-shadow(0 0 1px #000);background:linear-gradient(#f5e6c0e6,#f5e6c0e6) 50%/1px 100% no-repeat,linear-gradient(#f5e6c0e6,#f5e6c0e6) 50%/100% 1px no-repeat;position:absolute;inset:22px}#reticle.ready .ring{background:#6fcf5a;animation:1s ease-in-out infinite ready-pulse}#reticle:after{content:attr(data-label);background:var(--parchment);border:1px solid var(--rule);font:14px var(--fell-sc);letter-spacing:.08em;color:var(--ink);white-space:nowrap;padding:1px 8px 2px;position:absolute;top:62px;left:50%;transform:translate(-50%);box-shadow:0 2px 5px #00000059}#reticle.ready:after{color:var(--green-ink)}@keyframes ready-pulse{50%{opacity:.7;transform:scale(1.12)}}#hitmarker{font:52px/1 var(--fell);letter-spacing:.04em;color:#f6e2a4;text-shadow:0 0 2px #2b1d0e,0 0 2px #2b1d0e,0 2px #5e0f09,0 3px 10px #781405d9,0 0 24px #ffaa3c99;opacity:0;pointer-events:none;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}#hitmarker.show{animation:.9s cubic-bezier(.2,1.4,.4,1) forwards hit-pop}@keyframes hit-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(2.2)}15%{opacity:1;transform:translate(-50%,-50%)scale(1)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-80%)scale(.9)}}#vignette{opacity:0;background:radial-gradient(#0000 45%,#96140abf 100%);position:absolute;inset:0}#nameplates .plate{text-align:center;white-space:nowrap;pointer-events:none;border:1px solid var(--rule);border-top:2px solid var(--side,var(--rule));background:#efe3c4e6;padding:2px 8px 3px;position:absolute;top:0;left:0;box-shadow:0 2px 6px #0000004d}#nameplates .plate:after{content:"";border:5px solid #0000;border-bottom:0;border-top:5px solid var(--rule);margin-left:-5px;position:absolute;bottom:-6px;left:50%}.plate .pname{font:16px/1.1 var(--fell);color:var(--side,var(--ink));justify-content:center;align-items:center;gap:5px;display:flex}.plate small{font:italic 12px/1.2 var(--serif);font-variant-numeric:lining-nums;color:var(--ink-2);display:block}.plate .hpbar,#ship-picker .hpbar{background:#2b1d0e2e;border:1px solid #2b1d0e99;width:64px;height:4px;margin:2px auto 0;overflow:hidden}.plate .hpbar>div,#ship-picker .hpbar>div{background:var(--ink-2);height:100%}.plate.sunk{opacity:.45!important}.plate.sunk .pname{text-decoration:line-through}#nameplates.chart .plate small,#nameplates.chart .plate .hpbar{display:none}#nameplates.chart .plate{padding:1px 6px 2px}#nameplates.chart .plate .pname{font-size:13px}#ship-picker{pointer-events:auto;background:radial-gradient(#0a121840,#050a0e99);place-items:center;display:none;position:absolute;inset:0}#ship-picker.show{display:grid}#ship-picker .panel-in{background:var(--parchment);border:1px solid var(--rule);width:640px;box-shadow:inset 0 0 0 4px #efe3c4e6, inset 0 0 0 5px #4b3418cc, inset 0 0 0 7px #efe3c4e6, inset 0 0 0 8px #4b341873, 0 0 0 5px var(--oak), 0 0 0 6px var(--brass-lo), 0 24px 60px #0000008c;padding:22px 26px 16px;animation:.2s ease-out toast-in;position:relative}#ship-picker .panel-in:after{content:"";pointer-events:none;background:linear-gradient(135deg,#f6e2a4 0,#c9a24a 40%,#7d5e1f 49%,#0000 51%) 0 0/18px 18px no-repeat,linear-gradient(225deg,#f6e2a4 0,#c9a24a 40%,#7d5e1f 49%,#0000 51%) 100% 0/18px 18px no-repeat,linear-gradient(45deg,#e8cf88 0,#b8913f 40%,#6e5019 49%,#0000 51%) 0 100%/18px 18px no-repeat,linear-gradient(315deg,#e8cf88 0,#b8913f 40%,#6e5019 49%,#0000 51%) 100% 100%/18px 18px no-repeat;position:absolute;inset:-6px}#ship-picker .title{text-align:center;margin-bottom:2px;font-size:28px}#ship-picker .subtitle{text-align:center;font:16px var(--fell-sc);letter-spacing:.05em;color:var(--ink-2)}#ship-picker .subtitle .flag{margin:0 4px}#ship-picker .note{text-align:center;color:var(--ink-soft);margin-top:4px;font-style:italic}#ship-picker .ships{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);box-shadow:0 -3px 0 -2px var(--rule), 0 3px 0 -2px var(--rule);margin:12px 0 8px;display:grid}#ship-picker button{color:var(--ink);font:15px var(--serif);font-variant-numeric:lining-nums tabular-nums;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px dotted #5b41228c;grid-template-columns:1.9fr 1fr .8fr 72px 84px;align-items:center;gap:10px;padding:7px 10px;transition:background .12s,transform .12s;display:grid}#ship-picker button:last-child{border-bottom:0}#ship-picker button:hover:not(:disabled){background:#c9a24a38}#ship-picker button.mine{background:#9b221612}#ship-picker button:disabled{opacity:.45;cursor:default}#ship-picker .sname{align-items:center;gap:8px;min-width:0;display:flex}#ship-picker .sname b{font:18px/1.1 var(--fell);white-space:nowrap;text-overflow:ellipsis;font-weight:400;overflow:hidden}#ship-picker .sname small{font:italic 12px var(--serif);color:var(--ink-soft);display:block}#ship-picker .cls{color:var(--ink-2);font-style:italic}#ship-picker em{font:15px var(--fell-sc);letter-spacing:.03em;color:var(--red-ink);text-align:right;font-style:normal}#ship-picker button.mine em{color:var(--ink-soft)}#ship-picker .keys{border-top:0;justify-content:center}#voice{width:310px;font-size:14px;transition:box-shadow .12s;bottom:14px;right:12px}#voice b{font:16px var(--fell-sc);letter-spacing:.03em;font-weight:400}#voice b:before{content:"";vertical-align:0;background:#2b1d0e40;border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block;box-shadow:inset 0 0 0 1px #2b1d0e80}#voice.live b:before{background:var(--brass)}#voice.talking b:before,#voice.shouting b:before{background:radial-gradient(circle at 35% 35%,#e0604a,#9b2216 65%);animation:.8s ease-in-out infinite ready-pulse}#voice.talking{box-shadow:var(--frame-shadow), 0 0 0 2px var(--green-ink), 0 0 14px #50b45a8c}#voice.shouting{box-shadow:var(--frame-shadow), 0 0 0 2px var(--amber-ink), 0 0 18px #ffb04099}#voice .keys{font-size:13px}#station-panel,#track-ticks{transition:opacity .15s}body.ball-cam #reticle,body.ball-cam #station-panel,body.ball-cam #track-ticks{opacity:0}#crosshair{background:radial-gradient(circle,#f3dc98 0 1.6px,#5a4217 2px,#0000 2.6px);border:1px solid #f5e6c0d9;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;display:none;position:absolute;top:50%;left:50%;box-shadow:0 0 0 1px #140c0480,inset 0 0 0 1px #140c0459}body.first-person #crosshair{display:block}#track-ticks .tick-label{font:italic 13px/1.15 var(--serif);font-variant-numeric:lining-nums;color:var(--ink);pointer-events:none;background:#efe3c4e0;border:1px solid #4b3418cc;border-radius:1px;padding:0 5px 1px;position:absolute;top:0;left:0;box-shadow:0 1px 3px #00000059}#join-form .join-actions{justify-items:center;gap:2px;display:grid}#join-form button.link,#lobby-status button.link{box-shadow:none;color:var(--ink-2);font:italic 16px var(--serif);letter-spacing:0;text-shadow:none;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin:0;padding:2px 6px;-webkit-text-decoration:underline dotted #4b341899;text-decoration:underline dotted #4b341899}#join-form button.link:hover,#lobby-status button.link:hover{color:var(--red-ink);filter:none}#lobby-status button.link{color:var(--red-ink);font-style:normal}body.spectating #ship-panel,body.spectating #station-panel,body.spectating #compass,body.spectating #reticle,body.spectating #crosshair,body.spectating #prompt,body.spectating #track-ticks,body.spectating #hitmarker{display:none}#spectate-panel{pointer-events:auto;width:330px;animation:.22s ease-out panel-in;display:none;top:12px;left:12px}#spectate-panel .title{font-size:22px}#spectate-panel .watching{flex-wrap:wrap;align-items:center;gap:7px;display:flex}#spectate-panel .watching b{font:18px var(--fell);font-weight:400}#spectate-panel .note{color:var(--red-ink);margin-top:4px;font-style:italic}#spectate-panel .note:empty{display:none}#spectate-panel .row{justify-content:space-between;align-items:center;margin-top:9px;display:flex}#spectate-panel button.board,#signal button{color:#f7e7c2;font:17px var(--fell-sc);letter-spacing:.05em;text-shadow:0 1px #3a0804;cursor:pointer;background:radial-gradient(at 50% 30%,#b8382a 0%,#8e1c12 55%,#5e0f09 100%);border:1px solid #4a0d07;border-radius:3px;padding:5px 18px 6px;box-shadow:inset 0 1px #ffc8aa59,0 2px #3a0804,0 3px 8px #0000004d}#spectate-panel button.board:hover,#signal button:hover{filter:brightness(1.12)}#signal{z-index:20;background:radial-gradient(#08101640,#04090db3);place-items:center;display:none;position:fixed;inset:0}#signal.show{display:grid}#signal .signal-card{text-align:center;background:var(--parchment);border:1px solid var(--rule);width:400px;box-shadow:var(--frame-shadow), 0 0 0 5px var(--oak), 0 0 0 6px var(--brass-lo), 0 24px 60px #0000008c;padding:20px 26px 18px;animation:.2s ease-out toast-in;position:relative}#signal .signal-card:after{content:"";pointer-events:none;background:var(--corners);position:absolute;inset:-6px}#signal .title{margin:8px 0 4px;font-size:26px}#signal .note{color:var(--ink-2);font-variant-numeric:lining-nums;font-style:italic}#signal button{margin:14px auto 0;display:none}#signal.lost button,#signal.version button{display:block}#signal .flags{justify-content:center;align-items:flex-end;gap:6px;height:30px;display:flex}#signal .flags i{border:1px solid var(--ink);width:22px;height:15px;animation:1.6s ease-in-out infinite hoist}#signal .flags i:first-child{background:linear-gradient(90deg,#c33 0 50%,#f2e6c6 50%)}#signal .flags i:nth-child(2){background:linear-gradient(#1d3f73 0 33%,#f2e6c6 33% 66%,#1d3f73 66%);animation-delay:.2s}#signal .flags i:nth-child(3){background:repeating-conic-gradient(#c9a24a 0 25%, #2b1d0e 0 50%) 0 0 / 11px 8px;animation-delay:.4s}#signal.lost .flags i{opacity:.55;animation:none;transform:translateY(12px)rotate(-8deg)}@keyframes hoist{0%,to{transform:translateY(12px)}50%{transform:translateY(0)}}#spectate-panel .count{white-space:nowrap;font:italic 14px var(--serif);margin:0}:root{--sat:env(safe-area-inset-top,0px);--sar:env(safe-area-inset-right,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px)}html,body{overscroll-behavior:none}#game{touch-action:none}#join-form .lobby-head,#join-form .lobby-fields{display:contents}#touch,#rotate,.touch-help,.touch-hint,#lobby-fullscreen,#ship-picker button.close{display:none}body.touch{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body.touch #hud,body.touch #touch,body.touch #signal{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}body.touch button{touch-action:manipulation}body.touch #lobby,body.touch #ship-picker .panel-in,body.touch #ship-panel.open,body.touch #signal .signal-card{touch-action:pan-y}body.touch #join-form{-webkit-touch-callout:none}body.touch #join-form .crest,body.touch #join-form h1,body.touch #join-form .sides,body.touch #join-form .sub,body.touch .help{-webkit-user-select:none;user-select:none}body.touch .keys-help,body.touch #station-panel .keys,body.touch #voice .keys,body.touch #spectate-panel .keys,body.touch #ship-picker .keys{display:none}body.touch .touch-help{display:grid}body.touch .touch-hint{display:block}body.touch .touch-help b{color:var(--ink);font-weight:600}body.touch.can-fullscreen #lobby-fullscreen{display:block}body.touch #join-form #lobby-fullscreen{justify-self:center;font-size:15px}body.touch #ship-picker button.close{color:#f7e7c2;min-height:44px;font:17px var(--fell-sc);letter-spacing:.05em;text-shadow:0 1px #3a0804;background:radial-gradient(at 50% 30%,#b8382a 0%,#8e1c12 55%,#5e0f09 100%);border:1px solid #4a0d07;border-radius:3px;margin:4px auto 0;padding:8px 26px 9px;display:block;box-shadow:inset 0 1px #ffc8aa59,0 2px #3a0804,0 3px 8px #0000004d}body.touch #ship-picker .panel-in{max-width:calc(100vw - var(--sal) - var(--sar) - 20px);max-height:calc(100dvh - var(--sat) - var(--sab) - 16px);-webkit-overflow-scrolling:touch;overflow-y:auto}body.touch #ship-picker button[data-id]{min-height:48px}body.touch #signal .signal-card{max-width:calc(100vw - 32px);max-height:calc(100dvh - 16px);overflow-y:auto}body.touch #chat-input{top:calc(var(--sat) + 46px);width:min(560px, calc(100vw - var(--sal) - var(--sar) - 40px));z-index:30;padding:9px 12px;font-size:16px;bottom:auto;left:50%;transform:translate(-50%)}body.touch #ship-panel{pointer-events:auto;top:calc(var(--sat) + 12px);left:calc(var(--sal) + 12px)}body.touch #spectate-panel{top:calc(var(--sat) + 12px);left:calc(var(--sal) + 12px)}body.touch #minimap{top:calc(var(--sat) + 8px);right:calc(var(--sar) + 8px)}body.touch #compass{width:min(540px, calc(100vw - var(--sal) - var(--sar) - 780px))}body.touch #spectate-panel button.board{display:none}body.touch #touch{pointer-events:none;display:block;position:absolute;inset:0}#touch [data-for],#touch .tc-voice{display:none}#touch[data-mode=deck] [data-for~=deck],#touch[data-mode=helm] [data-for~=helm],#touch[data-mode=mast] [data-for~=mast],#touch[data-mode=gun] [data-for~=gun],#touch[data-mode=pump] [data-for~=pump],#touch[data-mode=watch] [data-for~=watch],#touch[data-mode=idle] [data-for~=idle],#touch[data-voice="1"] .tc-voice{display:flex}#touch[data-mode=off] .tc-util,#touch[data-mode=watch] .tc-util .view,#touch[data-mode=watch] .tc-util .chart,#touch[data-mode=watch] .tc-util .ships,#touch[data-mode=watch] .tc-util .chat,#touch[data-mode=idle] .tc-util .view,#touch[data-mode=idle] .tc-util .chart,#touch[data-mode=idle] .tc-util .ships,#touch[data-mode=idle] .tc-util .chat{display:none}#touch .tb{pointer-events:auto;width:50px;height:50px;color:var(--oak-2);font:10px/1 var(--fell-sc);letter-spacing:.02em;text-shadow:0 1px #fff5d273;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:radial-gradient(circle at 50% 32%,#f6e2a4cc,#c9a24ab3 55%,#7d5e1fb8);border:1px solid #3a2414d9;border-radius:50%;align-content:center;place-items:center;gap:1px;padding:0;transition:transform 80ms,filter .12s,box-shadow .12s,opacity .15s;display:grid;position:relative;box-shadow:inset 0 1px #fffae18c,inset 0 0 0 2px #5a42174d,0 2px 6px #00000059}#touch .tb[data-keys]{touch-action:none}#touch .tb svg{filter:drop-shadow(0 1px #fff5d266);width:22px;height:22px}#touch .tb span{text-align:center;white-space:nowrap;max-width:94%;font-size:9.5px;line-height:1}#touch .tb.on,#touch .tb:active{filter:brightness(1.18);transform:scale(.93);box-shadow:inset 0 1px #fffae18c,0 0 0 2px #f6e2a4e6,0 0 14px #ffd678b3}#touch .tb.active,#touch[data-course="1"] .tb.course,#touch[data-chart="1"] .tb.chart,#touch[data-fp="1"] .tb.view{box-shadow:inset 0 1px 0 #fffae199, 0 0 0 2px var(--red-ink), 0 2px 6px #00000059;background:radial-gradient(circle at 50% 32%,#ffeeb4f2,#deb450e6 55%,#966e24e6)}#touch[data-muted="1"] .tb.sound{opacity:.6}#touch .tb.lg{width:64px;height:64px}#touch .tb.lg svg{width:26px;height:26px}#touch .tb.lg span{font-size:11px}#touch .tb.take{border-radius:29px;grid-auto-flow:column;gap:8px;width:auto;height:58px;padding:0 18px 0 12px}#touch .tb.take svg{width:26px;height:26px}#touch .tb.take span{max-width:none;font-size:15px}#touch[data-near="0"] .tb.take{opacity:.5}#touch .tb.fire{color:#f7e7c2;text-shadow:0 1px #3a0804;background:radial-gradient(circle at 50% 32%,#c84634e6,#8e1c12e0 58%,#5e0f09e6);border:2px solid #5a140ae6;width:92px;height:92px;box-shadow:inset 0 1px #ffc8aa66,0 0 0 3px #c9a24abf,0 3px 10px #00000073}#touch .tb.fire b{font:25px/1 var(--fell-sc);letter-spacing:.06em;font-weight:400}#touch .tb.fire span{font:italic 10px/1 var(--serif);opacity:.85}#touch[data-loaded="1"] .tb.fire:not(.pump){box-shadow:inset 0 1px #ffc8aa66,0 0 0 3px #f6e2a4f2,0 0 18px #ffbe5abf}#touch[data-loaded="0"] .tb.fire:not(.pump){filter:saturate(.45)brightness(.8)}#touch[data-loaded="0"] .tb.reload{box-shadow:inset 0 1px 0 #fffae18c, 0 0 0 2px var(--red-ink), 0 0 12px #ff78508c}#touch .tb.fire.on{filter:brightness(1.2);transform:scale(.94)}#touch .tb.pump{background:radial-gradient(circle at 50% 32%,#7a562ce6,#4a321ae6 58%,#281a0ceb);border-color:#24160be6;box-shadow:inset 0 1px #ffdcaa4d,0 0 0 3px #c9a24ab3,0 3px 10px #00000073}#touch .tc-left,#touch .tc-right{bottom:calc(var(--sab) + 12px);align-items:flex-end;gap:10px;position:absolute}#touch .tc-left{left:calc(var(--sal) + 14px)}#touch .tc-right{right:calc(var(--sar) + 14px)}#touch .col{flex-direction:column;gap:8px;display:flex}#touch .tc-util{top:calc(var(--sat) + 276px);right:calc(var(--sar) + 12px);grid-template-columns:repeat(2,50px);gap:8px;display:grid;position:absolute}body:not(.can-fullscreen) #touch .tc-util .full{display:none}#touch .tc-voice{left:calc(var(--sal) + 12px);flex-direction:column;gap:8px;position:absolute;top:50%;transform:translateY(-50%)}#touch[data-talking=talk] .tb.talk,#touch[data-talking=hail] .tb.hail{box-shadow:inset 0 1px 0 #fffae18c, 0 0 0 2px var(--green-ink), 0 0 14px #50b45ab3}#touch[data-talking=hail] .tb.hail{box-shadow:inset 0 1px 0 #fffae18c, 0 0 0 2px var(--amber-ink), 0 0 16px #ffb040bf}#touch .tc-stick{left:calc(var(--sal) + 8px);bottom:calc(var(--sab) + 4px);pointer-events:auto;touch-action:none;place-items:center;width:160px;height:160px;position:absolute}#touch[data-mode=deck] .tc-stick{display:grid}#touch .tc-stick .base{background:repeating-conic-gradient(from -1.5deg, #2b1d0e8c 0 3deg, transparent 3deg 45deg), radial-gradient(circle, #efe3c429 0 55%, #efe3c457 56% 100%);border:1.5px solid #3a241499;border-radius:50%;place-items:center;width:122px;height:122px;display:grid;position:relative;box-shadow:inset 0 0 0 6px #c9a24a47,inset 0 0 0 22px #efe3c414,0 2px 10px #00000040}#touch .tc-stick .base:before{content:"N";font:12px/1 var(--fell);color:#9b2216cc;position:absolute;top:5px}#touch .tc-stick .knob{background:radial-gradient(circle at 42% 34%,#fff4c8f2,#d6b054e6 45%,#7d5e1feb);border:1px solid #3a2414d9;border-radius:50%;width:54px;height:54px;transition:transform .12s ease-out;box-shadow:inset 0 0 0 4px #5a421740,0 3px 8px #0006}#touch .tc-stick.on .knob{transition:none}#touch .tc-stick.on .base{box-shadow:inset 0 0 0 6px #f6e2a480,0 2px 10px #00000040}body.ball-cam #touch>:not(.tc-right),body.ball-cam #touch .tc-right>:not(.fire){opacity:0;pointer-events:none}#touch[data-mode=down] .tc-voice{display:none}@media (orientation:portrait){body.touch #rotate{z-index:100;touch-action:none;background:repeating-linear-gradient(0deg,#ffffff06 0 1px,#0000 1px 5px),radial-gradient(at 50% 40%,#1f3a52 0%,#10222f 55%,#070f16 100%);place-items:center;padding:24px;display:grid;position:fixed;inset:0}}#rotate .rotate-card{text-align:center;background:var(--parchment);border:1px solid var(--rule);width:min(330px,86vw);box-shadow:var(--frame-shadow), 0 0 0 5px var(--oak), 0 0 0 6px var(--brass-lo), 0 24px 60px #0000008c;padding:22px 22px 20px;position:relative}#rotate .rotate-card:after{content:"";pointer-events:none;background:var(--corners);position:absolute;inset:-6px}#rotate .phone{width:120px;height:120px;color:var(--ink)}#rotate .phone .body{transform-origin:60px 61px;animation:2.6s cubic-bezier(.6,0,.3,1) infinite rotate-phone}#rotate .phone .arc{color:var(--red-ink)}#rotate .title{margin:6px 0 4px;font-size:24px}#rotate .note{color:var(--ink-2);font-style:italic}@keyframes rotate-phone{0%,22%{transform:rotate(0)}55%,85%{transform:rotate(-90deg)}to{transform:rotate(0)}}body.touch #station-panel{bottom:calc(var(--sab) + 14px);width:min(560px, calc(100vw - var(--sal) - var(--sar) - 440px))}body.touch #voice{bottom:auto;top:calc(var(--sat) + 276px);right:calc(var(--sar) + 136px);width:240px}body.touch #feed{bottom:calc(var(--sab) + 200px);left:calc(var(--sal) + 76px)}body.touch #touch .tc-voice{top:auto;bottom:calc(var(--sab) + 190px);transform:none}body.touch #touch[data-mode=deck] .tc-voice{bottom:calc(var(--sab) + 180px)}@media (height<=500px){body.touch{font-size:13px}body.touch #lobby{padding:calc(var(--sat) + 16px) calc(var(--sar) + 16px) calc(var(--sab) + 16px) calc(var(--sal) + 16px);display:flex}body.touch #join-form{grid-template-columns:1fr 1.05fr;gap:10px 28px;width:min(780px,100%);margin:auto;padding:18px 24px 16px}body.touch #join-form .lobby-head,body.touch #join-form .lobby-fields{align-content:center;gap:7px;display:grid}body.touch #join-form .lobby-head{text-align:center;border-right:1px solid #5b412259;padding-right:26px}body.touch #join-form h1{font-size:36px}body.touch #join-form .crest{margin-bottom:0}body.touch #join-form .sides{white-space:nowrap;flex-wrap:nowrap;gap:5px;font-size:14px}body.touch #join-form .sides .flag{width:18px;height:12px}body.touch #join-form .sides i{font-size:13px}body.touch .sub{margin:0;font-size:14px}body.touch #join-form label{font-size:14px}body.touch #join-form input:not([type=checkbox]),body.touch #join-form select{padding:4px 4px 3px;font-size:16px}body.touch #join-form label.check{min-height:26px;font-size:14px}body.touch #join-form input[type=checkbox]{width:18px;height:18px}body.touch #join-form button[type=submit]{margin-top:2px;padding:9px 28px 10px;font-size:19px}body.touch #join-form button.link{min-height:30px;font-size:15px}body.touch #join-form .help{grid-column:1/-1;gap:2px 10px;padding-top:8px;font-size:13px}body.touch .help dt{font-size:13px}body.touch #lobby-status{margin:0}body.touch #lobby-status:empty{display:none}body.touch #ship-panel{top:calc(var(--sat) + 6px);left:calc(var(--sal) + 6px);cursor:pointer;width:196px;padding:5px 9px 6px;font-size:13px}body.touch #ship-panel .ship-title{flex-wrap:nowrap;gap:6px;margin:0 0 1px}body.touch #ship-panel .ship-title .name{white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}body.touch #ship-panel .ship-title:after{content:"▾";color:var(--ink-soft);margin-left:auto;font-size:11px}body.touch #ship-panel.open .ship-title:after{content:"▴"}body.touch #ship-panel .row{gap:6px;margin:2px 0}body.touch #ship-panel .row>span{width:38px;font-size:12px}body.touch #ship-panel .row>b{min-width:30px;font-size:12px}body.touch #ship-panel .bar{min-width:60px;height:7px}body.touch #ship-panel:not(.open) .ship-sub,body.touch #ship-panel:not(.open) .stats,body.touch #ship-panel:not(.open) .crew,body.touch #ship-panel:not(.open) .captain,body.touch #ship-panel:not(.open) .orders,body.touch #ship-panel:not(.open) .netline{display:none}body.touch #ship-panel.open{z-index:5;width:300px;max-height:calc(100dvh - var(--sat) - var(--sab) - 12px);overflow-y:auto}body.touch #ship-panel .ship-sub,body.touch #ship-panel .stats b{font-size:13px}body.touch #ship-panel .stats small{font-size:11px}body.touch #ship-panel .crew,body.touch #ship-panel .captain,body.touch #ship-panel .orders{font-size:12px}body.touch #ship-panel .crew{flex-wrap:wrap;gap:8px}body.touch #compass{top:calc(var(--sat) + 4px);transform-origin:50% 0;width:330px;transform:translate(-50%)scale(.76)}body.touch #score{top:calc(var(--sat) + 35px);gap:5px;width:auto;padding:1px 8px 2px;font-size:11px;left:50%;right:auto;transform:translate(-50%)}body.touch #score .n{font-size:13px}body.touch #minimap{top:calc(var(--sat) + 5px);right:calc(var(--sar) + 6px)}body.touch #feed{top:calc(var(--sat) + 62px);width:min(400px, calc(100vw - var(--sal) - var(--sar) - 420px));align-items:center;gap:3px;bottom:auto;left:50%;transform:translate(-50%)}body.touch .toast{text-align:center;align-self:center;padding:1px 12px 2px 9px;font-size:12.5px;line-height:1.2}body.touch .toast.chat{font-size:12.5px}body.touch #feed .toast:nth-last-child(n+3){display:none}body.touch #station-panel{bottom:calc(var(--sab) + 6px);width:min(300px, calc(100vw - var(--sal) - var(--sar) - 450px));padding:5px 10px 6px;font-size:12px}body.touch #station-panel .title{margin-bottom:2px;font-size:15px}body.touch #station-panel .title .dim{font-size:12px}body.touch #station-panel .row{gap:6px;margin:2px 0}body.touch #station-panel .row>span{width:44px;font-size:12px}body.touch #station-panel .row>b{min-width:34px;font-size:12px}body.touch #station-panel .bar{min-width:60px;height:8px}body.touch #station-panel .stats{margin:3px 0 0}body.touch #station-panel .stats>div{padding:1px 5px 2px}body.touch #station-panel .stats small{font-size:10.5px}body.touch #station-panel .stats b{font-size:12px}body.touch #station-panel .tiny{margin-top:2px;font-size:11px}body.touch #station-panel .legend,body.touch #station-panel .touch-hint,body.touch #voice,body.touch #station-panel .warn:empty{display:none}body.touch #touch .tc-util{top:calc(var(--sat) + 114px);right:calc(var(--sar) + 6px);grid-template-columns:repeat(3,48px);gap:6px}body.touch #touch .tb.sm,body.touch #touch .tc-util .tb{width:48px;height:48px}body.touch #touch .tc-left,body.touch #touch .tc-right{bottom:calc(var(--sab) + 8px);gap:8px}body.touch #touch .tc-left{left:calc(var(--sal) + 10px)}body.touch #touch .tc-right{right:calc(var(--sar) + 8px)}body.touch #touch .tc-stick{left:calc(var(--sal) + 2px);bottom:calc(var(--sab) + 0px);width:150px;height:150px}body.touch #touch .tc-stick .base{width:116px;height:116px}body.touch #touch .tb.fire{width:86px;height:86px}body.touch #touch .tc-voice,body.touch #touch[data-mode=deck] .tc-voice{top:calc(var(--sat) + 78px);bottom:auto;left:calc(var(--sal) + 6px);gap:6px}body.touch #spectate-panel{top:calc(var(--sat) + 6px);left:calc(var(--sal) + 6px);width:250px;padding:6px 10px 7px}body.touch #spectate-panel .title{margin-bottom:2px;font-size:17px}body.touch #spectate-panel .watching b{font-size:15px}body.touch #spectate-panel .row{margin-top:3px}body.touch #prompt{padding:2px 8px 3px;font-size:12px}body.touch #prompt b{font-size:14px}body.touch #nameplates .plate{padding:1px 6px 2px}body.touch .plate .pname{font-size:13px}body.touch .plate small{font-size:10px}body.touch .plate .hpbar{width:48px}body.touch #track-ticks .tick-label{font-size:11px}body.touch #hitmarker{font-size:34px}body.touch #reticle:after{font-size:12px}body.touch #banner{width:min(440px,76vw);min-width:0;padding:10px 18px;font-size:14px;top:16%}body.touch #banner .win,body.touch #banner .lose{font-size:38px}body.touch #banner .verdict{font-size:16px}body.touch #ship-picker .panel-in{width:600px;padding:12px 16px 10px}body.touch #ship-picker .title{font-size:21px}body.touch #ship-picker .subtitle{font-size:14px}body.touch #ship-picker .note{margin-top:0;font-size:13px}body.touch #ship-picker .ships{margin:6px 0 4px}body.touch #ship-picker button[data-id]{grid-template-columns:1.9fr 1fr .8fr 56px 74px;min-height:44px;padding:3px 8px;font-size:13px}body.touch #ship-picker .sname b{font-size:16px}body.touch #ship-picker em{font-size:13px}body.touch #ship-picker button.close{padding:6px 22px 7px;font-size:16px}body.touch #signal .signal-card{padding:12px 18px}body.touch #signal .title{font-size:21px}body.touch #chat-input{top:calc(var(--sat) + 40px)}}#touch .tb.lg span{white-space:normal;max-width:84%;line-height:1.02}body.ball-cam #touch .tb.fire{filter:none;opacity:.8}
