:root{--ink:#f4f7fb;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);-webkit-font-smoothing:antialiased;user-select:none;background:#6f9fd0;margin:0;font-family:IBM Plex Mono,ui-monospace,Menlo,monospace;font-size:14px;overflow:hidden}canvas#view{cursor:grab;outline:none;width:100%;height:100%;position:fixed;inset:0}canvas#view:active{cursor:grabbing}#hud{pointer-events:none;text-transform:uppercase;text-shadow:0 1px 8px #0a1e3c73;zoom:var(--hud,1);font-weight:300;position:fixed;inset:0}#tl{letter-spacing:.55em;font-size:17px;position:absolute;top:20px;left:22px}#br{letter-spacing:.32em;margin-right:-.32em;font-size:15px;position:absolute;bottom:26px;right:28px}.notice{text-align:center;letter-spacing:.12em;background:#0b1626;place-content:center;gap:18px;padding:24px;font-weight:300;line-height:1.7;display:grid;position:fixed;inset:0}.notice .brand{letter-spacing:.55em;margin-right:-.55em;font-size:30px}body.mn-open #hud{display:none}.mn{z-index:20;color:var(--ink);text-transform:uppercase;text-shadow:0 1px 10px #0a1e3c80;zoom:var(--hud,1);background:radial-gradient(60% 70%,#08183080,#0818301a 70%,#0000);place-items:center;font-family:IBM Plex Mono,ui-monospace,Menlo,monospace;font-weight:300;transition:opacity .45s;display:grid;position:fixed;inset:0}.mn.out{opacity:0;pointer-events:none}.mn-col{text-align:center;gap:12px;width:min(440px,90vw);display:grid}.mn-logo{letter-spacing:.62em;margin:0 -.62em 4px 0;font-size:54px;font-weight:300}.mn-tag{letter-spacing:.2em;text-transform:none;opacity:.85;margin:0 0 22px;font-size:12px;line-height:1.8}.mn-note{color:#ffe1c2;letter-spacing:.16em;border:1px solid #ffbe78b3;margin:0 0 6px;padding:9px 12px;font-size:12px}.mn-field{text-align:left;letter-spacing:.34em;opacity:.95;gap:7px;margin-bottom:8px;font-size:10px;display:grid}.mn input,.mn-btn{font:inherit;color:inherit;text-transform:uppercase;backdrop-filter:blur(6px);background:#0a1e3c47;border:1px solid #f4f7fb99;box-shadow:0 2px 14px #0a1e3c2e}.mn input{letter-spacing:.24em;user-select:text;outline:none;height:44px;padding:0 14px;font-size:15px}.mn input::placeholder{color:#f4f7fb80}.mn input:focus{border-color:var(--ink);background:#0a1e3c66}.mn-btn{letter-spacing:.42em;text-indent:.42em;cursor:pointer;height:50px;text-shadow:inherit;padding:0 18px;font-size:14px;transition:background .15s,border-color .15s,color .15s}.mn-btn:hover{border-color:var(--ink);background:#0a1e3c73}.mn-btn.primary{color:#0d2442;text-shadow:none;background:#f4f7fbeb;border-color:#f4f7fbeb}.mn-btn.primary:hover{background:#fff}.mn.busy .mn-btn:not(.going){opacity:.4;pointer-events:none}.mn-btn.going{animation:1s ease-in-out infinite mn-pulse}.mn-join{grid-template-columns:1fr auto;gap:8px;display:grid}.mn-join input{text-align:center;letter-spacing:.5em;height:50px}.mn-join .mn-btn{letter-spacing:.32em;text-indent:.32em;font-size:12px}.mn-stats{letter-spacing:.3em;opacity:.8;min-height:1em;margin:10px 0 0;font-size:10px}.mn-foot{backdrop-filter:blur(6px);white-space:nowrap;letter-spacing:.34em;background:#08183073;padding:7px 14px;font-size:10px;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.mn kbd{font:inherit;border:1px solid #f4f7fb99;padding:1px 6px}.mn input.bad{border-color:#ffb08a;animation:.35s mn-shake}@keyframes mn-pulse{50%{opacity:.6}}@keyframes mn-shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}.om{z-index:14;zoom:max(var(--hud,1), .9);width:min(600px,100vw - 24px);color:var(--ink);text-transform:uppercase;font-family:IBM Plex Mono,ui-monospace,Menlo,monospace;font-weight:300;position:fixed;bottom:18%;left:50%;transform:translate(-50%)}.om[hidden]{display:none}.om-panel{border:1px solid #f4f7fb24;border-top:2px solid var(--tc,var(--ink));backdrop-filter:blur(12px);background:#071120c7;padding:16px 18px 12px;animation:.12s ease-out om-in;box-shadow:0 12px 50px #02081273}@keyframes om-in{0%{opacity:0;transform:translateY(6px)}}.om-head{letter-spacing:.32em;color:#f4f7fb99;align-items:baseline;gap:16px;margin-bottom:10px;font-size:9.5px;display:flex}.om-head b{color:var(--ink);letter-spacing:.5em;margin-right:auto;font-size:13px;font-weight:400}.om-head span{color:var(--tc)}.om-op{letter-spacing:.26em;color:#f4f7fb80;border-top:1px solid #f4f7fb12;grid-template-columns:26px minmax(0,1.25fr) minmax(0,1.3fr) 122px;align-items:center;gap:12px;min-height:44px;padding:0 10px;font-size:9.5px;display:grid}.om-op kbd{width:22px;height:22px;font:inherit;letter-spacing:0;border:1px solid #f4f7fb40;place-items:center;font-size:11px;display:grid}.om-label{letter-spacing:.3em;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.om-state{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.om-op.available{color:var(--ink);cursor:pointer}.om-op.available kbd{border-color:var(--tc);color:var(--tc)}.om-op.available .om-state{color:var(--tc)}.om-op.available:hover{background:color-mix(in srgb, var(--tc) 14%, transparent)}.om-op.active{color:var(--ink)}.om-op.active .om-state{color:var(--tc)}.om-op.recharging .om-state{color:#ffd34a}.om-slots{flex-wrap:wrap;gap:6px 14px;min-width:0;display:flex}.om-slot{letter-spacing:.18em;white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:7px;min-width:0;font-size:9px;display:inline-flex}.om-slot.used{color:var(--ink);text-transform:none;letter-spacing:.06em;font-size:11px}.om-slot i{border:1.5px solid var(--tc);border-radius:50%;flex:none;width:13px;height:13px}.om-slot.used i{background:var(--tc)}.om-slot.charging{color:#ffd34a}.om-slot.charging i{background:radial-gradient(circle, #071120f2 0 3.4px, transparent 4px), conic-gradient(#ffd34a calc(var(--p,0) * 360deg), #f4f7fb2e 0);border:0}@media (width<=560px){.om-op{grid-template-columns:24px 1fr auto;padding:6px 4px}.om-slots{grid-area:2/2/auto/-1}}.om-op.sep{border-top:1px solid #f4f7fb38;margin-top:8px}.om-slot b,.om-state b{font:inherit}.tm{z-index:15;color:var(--ink);text-transform:uppercase;zoom:max(var(--hud,1), .9);background:radial-gradient(80% 80%,#050e1c6b,#050e1c2e);place-items:center;padding:28px;font-family:IBM Plex Mono,ui-monospace,Menlo,monospace;font-weight:300;display:grid;position:fixed;inset:0}.tm[hidden]{display:none}.tm-panel{scrollbar-width:thin;backdrop-filter:blur(12px);background:#071120c7;border:1px solid #f4f7fb24;width:min(1080px,100%);max-height:100%;padding:22px 26px 24px;overflow:auto;box-shadow:0 12px 60px #02081280}.tm button{font:inherit;color:inherit;text-transform:uppercase;letter-spacing:.26em;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #f4f7fb6b;padding:5px 10px 5px calc(10px + .26em);font-size:9.5px;transition:background .12s,border-color .12s,color .12s}.tm button:hover:not([disabled]){border-color:var(--ink);background:#f4f7fb1a}.tm button[disabled]{cursor:default;color:#f4f7fb61;border-color:#f4f7fb24}.tm-head{letter-spacing:.32em;align-items:center;gap:18px;margin-bottom:20px;font-size:10px;display:flex}.tm-logo{letter-spacing:.6em;font-size:15px}.tm-room{color:#f4f7fbb3;align-items:center;gap:12px;margin-left:auto;display:flex}.tm-room b{color:var(--ink);letter-spacing:.42em;font-size:14px;font-weight:400}.tm-mode{color:#f4f7fb99}.tm-pin.on{background:var(--ink)!important;border-color:var(--ink)!important;color:#0b1d36!important}.tm-ships{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));align-items:start;gap:16px 20px;display:grid}.tm-ship{border:1px solid #f4f7fb14;border-top:2px solid var(--tc);background:#f4f7fb06;padding:10px 12px 8px}.tm-berth{opacity:.8;border-style:dashed}.tm-swatch{background:var(--tc);width:10px;height:10px;box-shadow:0 0 8px color-mix(in srgb, var(--tc) 60%, transparent);flex:none}.tm-berth .tm-swatch{border:1px solid var(--tc);box-shadow:none;background:0 0}.tm-ship.mine{background:color-mix(in srgb, var(--tc) 8%, transparent);border-color:color-mix(in srgb, var(--tc) 35%, transparent);border-top-color:var(--tc)}.tm-sh{letter-spacing:.26em;align-items:center;gap:10px;min-height:24px;font-size:9.5px;display:flex}.tm-sh b{color:var(--tc);letter-spacing:.3em;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:400;overflow:hidden}.tm-n{color:#f4f7fb80;font-variant-numeric:tabular-nums}.tm-warn{color:#ffd34a}.tm-sh>button,.tm-you{margin-left:auto}.tm-you{color:var(--tc)}.tm-join:not([disabled]){border-color:color-mix(in srgb, var(--tc) 75%, transparent)!important}.tm-join:hover:not([disabled]){color:#0b1d36;background:var(--tc)!important}.tm-padlock{opacity:.85;background:currentColor;border-radius:1px;flex:none;width:9px;height:7px;margin-top:5px;display:inline-block;position:relative}.tm-padlock:before{content:"";box-sizing:border-box;border:1.5px solid;border-bottom:0;border-radius:3px 3px 0 0;width:6px;height:5px;position:absolute;bottom:6px;left:1.5px}.tm-ship.locked .tm-sh>.tm-padlock{color:#ffd34a}.tm-lockbtn{align-items:center;gap:8px;display:inline-flex}.tm-lockbtn .tm-padlock{margin-top:4px}.tm-lockbtn.on{color:#ffd34a!important;border-color:#ffd34ab3!important}.tm-lockbtn:not(.on) .tm-padlock:before{left:4px}.tm-crew{margin:7px 0 0;padding:0;list-style:none;display:grid}.tm-crew li{letter-spacing:.24em;border-top:1px solid #f4f7fb0f;align-items:center;gap:10px;min-height:26px;padding:0 6px 0 2px;font-size:9px;display:flex}.tm-crew li.me{background:linear-gradient(90deg, color-mix(in srgb, var(--tc) 22%, transparent), transparent 85%)}.tm-cap{color:#ffd34a;text-align:center;letter-spacing:0;flex:0 0 12px;font-size:11px;font-style:normal}.tm-name{letter-spacing:.08em;text-transform:none;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;overflow:hidden}.tm-crew li.me .tm-name{color:var(--tc)}.tm-role{color:#f4f7fb80;flex:0 0 72px}.tm-role.helm{color:#ffd34a}.tm-role.air{color:#8be8ad}.tm-role.boat{color:#7fe3e0}.tm-role.down{color:#ff8f7a}.tm-role.gun{color:#9fd3ff;white-space:nowrap}.tm-kd{text-align:right;letter-spacing:.06em;font-variant-numeric:tabular-nums;flex:0 0 44px;font-size:11px}.tm-kd i{opacity:.4;margin:0 2px;font-style:normal}.tm-acts{flex:0 0 142px;justify-content:flex-end;gap:6px;display:flex}.tm-acts button{letter-spacing:.22em;color:#f4f7fbbf;border-color:#f4f7fb38;padding:3px 7px 3px calc(7px + .22em);font-size:8.5px}.tm-acts button.armed{color:#0b1d36;background:#ffd34a!important;border-color:#ffd34a!important}.tm-new{margin-left:auto;border-style:dashed!important;border-color:color-mix(in srgb, var(--tc) 55%, transparent)!important;color:color-mix(in srgb, var(--tc) 85%, white)!important}.tm-wait{letter-spacing:.3em;color:#f4f7fb73;padding:16px 0;font-size:10px}@media (width<=700px){.tm{padding:10px}.tm-panel{padding:16px 14px}.tm-head{flex-wrap:wrap;gap:10px}.tm-room{margin-left:0}.tm-ships{grid-template-columns:1fr}.tm-acts{flex-basis:118px}.tm-acts button{letter-spacing:.12em;padding:3px 5px}}.tm-hull{background:#f4f7fb2e;height:2px;margin:6px 0 2px;position:relative}.tm-hull i{background:var(--ink,#f4f7fb);position:absolute;top:0;bottom:0;left:0}.tm-hull.mid i{background:#ffc861}.tm-hull.low i{background:#ff5a3a}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-condensed-vietnamese-500-normal-DjeaNLFD.woff2)format("woff2"),url(./barlow-condensed-vietnamese-500-normal-CsrJDWc5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-condensed-latin-ext-500-normal-yA5ONLQ9.woff2)format("woff2"),url(./barlow-condensed-latin-ext-500-normal-B1RE8WP7.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-condensed-latin-500-normal-BgYH2mbd.woff2)format("woff2"),url(./barlow-condensed-latin-500-normal-HIEiP5Ov.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2)format("woff2"),url(./barlow-condensed-vietnamese-600-normal-CNlPk46_.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-condensed-latin-ext-600-normal-18ESti3H.woff2)format("woff2"),url(./barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(./barlow-condensed-latin-600-normal-BFJEwTuo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.achat{--achat-font:"Barlow Condensed", "Arial Narrow", sans-serif;flex-direction:column;gap:6px;display:flex}.achat-log{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.achat-line{border-left:2px solid var(--achat-accent,#ffffff40);max-width:100%;font:500 16px/1.25 var(--achat-font);letter-spacing:.04em;text-transform:none;color:#fff;text-shadow:none;overflow-wrap:anywhere;background:#04060ac7;padding:4px 9px;transition:opacity .8s;animation:.25s ease-out achat-in}@keyframes achat-in{0%{opacity:0;transform:translate(-8px)}}.achat-line.old{opacity:0}.achat.open .achat-line{opacity:1;transition:none}.achat-name{color:var(--achat-accent,inherit);margin-right:6px;font-weight:600}.achat-line.system{color:#fff9;background:#04060a8c;font-size:13px}.achat-line.system .achat-name{margin-right:0;font-weight:500}.achat-input{pointer-events:auto;color:#eef1f6;width:100%;height:28px;font:500 14px/1 var(--achat-font);letter-spacing:.04em;text-transform:none;text-shadow:none;background:#05070b99;border:1px solid #ffffff2e;outline:none;padding:0 10px}.achat-input:focus,.achat-input:focus-within{border-color:#fff6}.achat-input::placeholder,.achat-field::placeholder{color:#eef1f652}.achat-channel{letter-spacing:.08em;color:var(--achat-accent,#eef1f68c);white-space:nowrap;margin-right:8px;font-weight:600}.achat-field{min-width:0;height:100%;color:inherit;font:inherit;letter-spacing:inherit;background:0 0;border:0;outline:0;flex:1;padding:0}
