html,body{color:#eef2f3;background:#0b0f14;height:100%;margin:0;font-family:monospace;overflow:hidden}#app{width:100%;height:100%;position:relative}.game-canvas{image-rendering:pixelated;cursor:crosshair;display:block}.fps-meter{pointer-events:none;background:#0b0f14b3;padding:2px 6px;font-size:12px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.hud{--u0:3px;--m:var(--u0);--hud-scale:1;--help-h:78;--help-w:211;--u-max:max(var(--m), min(calc((100vh - var(--m) * 16) / (129 + var(--help-h))), calc((100vw - var(--m) * 12) / (98 + var(--help-w)))));--u:min(calc(var(--m) * var(--hud-scale)), var(--u-max));pointer-events:none;font-family:VT323,monospace;font-size:calc(var(--u) * 10);color:#eef2f3;text-shadow:var(--u) var(--u) 0 #0b0f14;line-height:1;position:absolute;inset:0}.hud-panel{border:var(--u) solid #39424d;padding:calc(var(--u) * 2) calc(var(--u) * 3);background:#0b0f14a6;position:absolute}.hud-status{left:calc(var(--m) * 4);bottom:calc(var(--m) * 4);white-space:pre}.hud-power{width:calc(var(--u) * 5);height:calc(var(--u) * 40);transform:translate(calc(var(--u) * 24), -50%);padding:0;top:50%;left:50%}.hud-power-fill{background:#f6d04d;position:absolute;bottom:0;left:0;right:0}.hud-message{top:36%;left:calc(var(--m) * 8 + var(--u) * 8);right:calc(var(--m) * 8 + var(--u) * 8);z-index:2;text-align:center;font-size:calc(var(--u) * 12);color:#fff3b0;white-space:pre-line;position:absolute}.hud-message span{padding:0 calc(var(--u) * 3);background:#0b0f148c;display:inline-block}.hud-top-left,.hud-top-center,.hud-bottom-right{gap:calc(var(--m) * 4);flex-direction:column;display:flex;position:absolute}.hud-top-left>.hud-panel,.hud-top-center>.hud-panel,.hud-bottom-right>.hud-panel{position:relative}.hud-top-left{left:calc(var(--m) * 4);top:calc(var(--m) * 4);align-items:flex-start}.hud-top-center{left:50%;top:calc(var(--m) * 4);align-items:center;transform:translate(-50%)}.hud-bottom-right{right:calc(var(--m) * 4);bottom:calc(var(--m) * 4);align-items:flex-end}.hud-help{white-space:pre;font-size:calc(var(--u) * 8);color:#c3cbd2}.hud-tension{right:calc(var(--m) * 4);top:calc(var(--m) * 4);width:calc(var(--u) * 8);height:calc(var(--u) * 60);padding:0}.hud-tension-fill{background:#2f9e8f;position:absolute;bottom:0;left:0;right:0}.hud-tension-fill.slip{background:#d23a2a}.hud-tension-drag{left:calc(var(--u) * -2);right:calc(var(--u) * -2);height:var(--u);background:#f6d04d;position:absolute}.hud-stamina{align-items:center;gap:calc(var(--u) * 3);font-size:calc(var(--u) * 8);display:flex}.hud-stamina-bar{width:calc(var(--u) * 50);height:calc(var(--u) * 4);padding:0;position:relative}.hud-stamina-fill{background:#5fae3c;position:absolute;top:0;bottom:0;left:0}.hud-stamina-fill.tired{background:#f08a2c}.hud-stamina-fill.spent{background:#d23a2a}.hud-gauges{align-items:flex-start;gap:calc(var(--m) * 4);flex-flow:row-reverse wrap;display:flex}.hud-gauges .hud-panel{position:relative}.hud-sonar,.hud-lure-sonar{padding:var(--u)}.hud-lure-sonar canvas{width:calc(var(--u) * 96);height:calc(var(--u) * 44);image-rendering:pixelated;display:block}.hud-lure-sonar .hud-sonar-label{text-align:left}.hud-sonar-label.warn{color:#f08a2c}.hud-sonar-label.alert{color:#d23a2a}.hud-sonar canvas{width:calc(var(--u) * 64);height:calc(var(--u) * 44);image-rendering:pixelated;display:block}.hud-sonar-label{margin-top:var(--u);font-size:calc(var(--u) * 8);text-align:right}.hud-tension-label{top:100%;right:calc(var(--u) * -1);margin-top:calc(var(--u) * 2);font-size:calc(var(--u) * 8);position:absolute}.hud-probe{visibility:hidden;height:0;position:absolute}[hidden]{display:none!important}.screen{color:#eef2f3;background:#0b0f148c;place-items:center;padding:16px;font-family:VT323,monospace;display:grid;position:absolute;inset:0}.screen-panel{background:#1c232b;border:4px solid #5f6b78;width:100%;max-width:560px;max-height:calc(100dvh - 80px);padding:20px 24px;font-size:24px;overflow:auto;box-shadow:8px 8px #0b0f14}.screen-panel h1{white-space:nowrap;color:#f6d04d;text-shadow:4px 4px #8c1c1c;letter-spacing:4px;margin:0;font-size:min(72px,15vw);font-weight:400}.screen-panel h2{color:#f6d04d;margin:0 0 12px;font-size:44px;font-weight:400}.screen-panel p{margin:8px 0}.screen-panel .subtitle{color:#83c2db;margin-bottom:20px}.screen-panel .hint{color:#8e99a4;font-size:19px}.screen-panel .total{color:#fff3b0}.choice{margin:14px 0}.choice-label{color:#c3cbd2;margin-bottom:6px;display:block}.choice-options,.buttons{flex-wrap:wrap;gap:8px;display:flex}.buttons{margin:18px 0 10px}.screen-panel>.buttons:last-child{z-index:2;background:#1c232b;margin-bottom:-20px;padding:10px 0 20px;position:sticky;bottom:-20px}.screen button{font:inherit;color:#eef2f3;cursor:pointer;background:#39424d;border:3px solid #5f6b78;padding:4px 14px;font-size:24px}.screen button:hover,.screen button:focus-visible{border-color:#f6d04d;outline:none}.screen button.selected{background:#1b5a84;border-color:#83c2db}.screen button.primary{background:#8c1c1c;border-color:#d23a2a}.catch-list{white-space:pre;max-height:40vh;margin:8px 0;padding-left:32px;overflow:auto}.hud-timer{font-size:calc(var(--u) * 14)}.hud-flash{opacity:0;pointer-events:none;background:#eef2f3;position:absolute;inset:0}.hud-flash.hud-flash-invert{mix-blend-mode:difference;background:#fff;opacity:1!important}.hud-weather{font-size:calc(var(--u) * 7);white-space:nowrap}.hud-compass{height:calc(var(--u) * 11);padding:0;overflow:hidden}.hud-compass-strip{position:absolute;top:0;bottom:0;left:0}.hud-compass-tick{width:var(--u);height:calc(var(--u) * 2);background:#5f6b78;position:absolute;bottom:0}.hud-compass-tick.major{height:calc(var(--u) * 3);background:#c3cbd2}.hud-compass-label{font-size:calc(var(--u) * 8);color:#c3cbd2;position:absolute;top:0;transform:translate(-50%)}.hud-compass-label.main{color:#f6d04d}.hud-compass-needle{width:var(--u);height:calc(var(--u) * 5);background:#d23a2a;position:absolute;bottom:0;left:50%}.hud-timer.low{color:#f08a2c}.hud-catches{white-space:pre;font-size:calc(var(--u) * 8)}.hud-weigh{width:max-content;max-width:calc(100% - var(--m) * 8);box-sizing:border-box;z-index:1;text-align:center;font-size:calc(var(--u) * 12);color:#fff3b0;padding:calc(var(--u) * 4) calc(var(--u) * 8);top:22%;left:50%;transform:translate(-50%)}.hud-weigh small{font-size:calc(var(--u) * 8);color:#c3cbd2;display:block}.bench-result{color:#9ef0d6;white-space:pre-wrap;background:#0b0f14d9;max-width:calc(100% - 64px);margin:0;padding:12px;font-size:14px;position:absolute;top:40px;left:16px}.screen input[type=text],.screen textarea{font:inherit;box-sizing:border-box;color:#eef2f3;background:#0b0f14;border:3px solid #5f6b78;width:100%;padding:4px 10px;font-size:26px}.screen textarea{resize:vertical;margin-top:8px;font-size:20px}.screen input[type=text]:focus,.screen textarea:focus{border-color:#f6d04d;outline:none}.hud-size-track{align-items:center;gap:10px;display:flex}.hud-size-end{color:#c3cbd2;font-size:30px;line-height:1}.hud-size-end.small{font-size:18px}.screen input[type=range]{cursor:pointer;appearance:none;background:0 0;flex:1;min-width:0;height:32px;margin:0}.screen input[type=range]::-webkit-slider-runnable-track{background:#39424d;border:3px solid #5f6b78;height:8px}.screen input[type=range]::-moz-range-track{background:#39424d;border:3px solid #5f6b78;height:8px}.screen input[type=range]::-webkit-slider-thumb{appearance:none;background:#1b5a84;border:3px solid #83c2db;border-radius:0;width:18px;height:28px;margin-top:-13px}.screen input[type=range]::-moz-range-thumb{background:#1b5a84;border:3px solid #83c2db;border-radius:0;width:12px;height:22px}.screen input[type=range]:focus-visible{outline:none}.screen input[type=range]:focus-visible::-webkit-slider-thumb{border-color:#f6d04d}.screen input[type=range]:focus-visible::-moz-range-thumb{border-color:#f6d04d}.screen-panel .error{color:#f08a4b}.room-code{color:#fff3b0;letter-spacing:4px;font-size:56px;margin:0 0 8px!important}.player-list{margin:6px 0;padding:0;list-style:none}.player-list li{border-bottom:2px solid #39424d;flex-wrap:wrap;justify-content:space-between;padding:2px 0;display:flex}.player-state{color:#8e99a4}.player-state.ok{color:#8fd16a}.fish-art{image-rendering:pixelated;vertical-align:middle}.catch-list .fish-art{margin-left:12px}.catch-list .record-row{cursor:pointer}.screen .catch-list button.record-info{vertical-align:middle;margin-left:12px;padding:0 8px;font-size:18px}.catch-list .record-more{white-space:normal;margin:4px 0 10px;list-style:none;position:sticky;left:0}.record-more .buttons{margin:6px 0 0}.record-details span:last-child{text-align:right}.hud-weigh .fish-art{margin:0 auto calc(var(--u) * 2);max-width:100%;display:block;height:auto!important}:root{--fish-px:2px}@media (width<=600px){:root{--fish-px:1px}}.weigh-card{border:2px solid #0b0f14;width:100%;height:auto;margin:4px 0 8px;display:block}.player-gear{color:#8e99a4;flex-basis:100%;font-size:.8em;display:block}.name-tags{pointer-events:none;position:absolute;inset:0;overflow:hidden}.name-tag{color:#eef2f3;white-space:nowrap;background:#0b0f14b3;border-bottom:3px solid;padding:0 6px;font-family:VT323,monospace;font-size:18px;position:fixed;transform:translate(-50%,calc(-100% - 14px))}.screen button:disabled{opacity:.4;cursor:default;border-color:#39424d}.screen-panel .settings .choice{margin:8px 0}.screen-panel .settings .choice-label{font-size:20px}.screen-panel .settings button{padding:2px 10px;font-size:20px}.settings-summary{margin:8px 0;font-size:20px}.settings-summary div{justify-content:space-between;gap:12px;display:flex}.settings-summary .choice-label{margin:0;display:inline}.hud-countdown{font-size:calc(var(--u) * 40);color:#f6d04d;text-shadow:calc(var(--u) * 2) calc(var(--u) * 2) 0 #8c1c1c;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}.catch-list.results li.me{color:#f6d04d}.screen-panel .server-status.ok{color:#8fd16a}.credits{margin:4px 0 8px;padding-left:20px}.credits a{color:#83c2db}.credit-line{margin-top:4px;font-size:.75em}.screen-panel.start-panel{text-align:center}.main-menu{flex-direction:column;align-items:stretch}.main-menu button{padding:6px 14px;position:relative}.language-choice{justify-content:center;align-items:center;gap:10px;display:flex}.language-choice .choice-label{margin-bottom:0}.main-menu button:hover:before,.main-menu button:focus-visible:before{content:"▶";color:#f6d04d;font-size:.7em;animation:.8s step-end infinite cursor-blink;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.wave-letter{animation:2.4s steps(2,end) infinite title-wave;animation-delay:calc(var(--i,0) * -.3s);display:inline-block}.screen-panel.enter{animation:.12s steps(3,end) backwards panel-in}.screen-panel.enter .main-menu button{animation:90ms steps(2,end) backwards menu-in;animation-delay:calc(30ms + var(--i,0) * 20ms)}.screen-panel h2:after{content:"";background:#8c1c1c;width:48px;height:4px;margin-top:2px;display:block}.screen-panel.enter h2:after{animation:.18s steps(4,end) 40ms backwards underline-in}.screen .buttons button{box-shadow:3px 3px #0b0f14}@media (hover:hover){.screen .buttons button:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:4px 4px #0b0f14}}.screen .buttons button:active:not(:disabled){box-shadow:none;transform:translate(3px,3px)}@keyframes title-wave{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@keyframes panel-in{0%{opacity:0;transform:translateY(8px)}}@keyframes menu-in{0%{opacity:0;transform:translate(-8px)}}@keyframes underline-in{0%{width:0}}@keyframes cursor-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.screen *,.screen :before,.screen :after,.screen-panel.enter{animation:none!important}}.game-canvas{touch-action:none}.touch-controls{pointer-events:none;text-shadow:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;font-size:22px;position:absolute;inset:0}.touch-controls button{pointer-events:auto;touch-action:none;font:inherit;color:#eef2f3;-webkit-tap-highlight-color:transparent;background:#39424dbf;border:3px solid #5f6b78;min-width:48px;height:44px;padding:0}.touch-controls button:active,.touch-controls button.down{background:#1b5a84;border-color:#83c2db}.touch-stick{left:calc(16px + env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));pointer-events:auto;touch-action:none;background:#0b0f1473;border:3px solid #5f6b78;border-radius:50%;place-items:center;width:124px;height:124px;display:grid;position:absolute}.touch-stick-knob{pointer-events:none;background:#5f6b78;border:3px solid #c3cbd2;border-radius:50%;width:52px;height:52px}.touch-tools{left:calc(8px + env(safe-area-inset-left,0px));top:calc(8px + env(safe-area-inset-top,0px));flex-direction:column;gap:6px;display:flex;position:absolute}.touch-actions{right:calc(12px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));align-items:flex-end;gap:8px;display:flex;position:absolute}.touch-grid{grid-template-columns:repeat(3,56px);gap:6px;display:grid}.touch-grid button{font-size:18px}.touch-controls .touch-reel{background:#8c1c1ccc;border-color:#d23a2a;border-radius:50%;width:88px;height:88px}@media (orientation:portrait){.touch-actions{flex-direction:column}}.hud.touch .hud-top-left{left:64px}.hud.touch .hud-status{font-size:calc(var(--u) * 7)}.hud.touch .hud-stamina{left:calc(16px + env(safe-area-inset-left,0px));bottom:calc(150px + env(safe-area-inset-bottom,0px));position:absolute}.hud.touch .hud-stamina-bar{width:124px}.hud.touch .hud-stamina-label{display:none}.hud.touch .hud-bottom-right{display:contents}.hud.touch .hud-gauges{right:calc(var(--m) * 4);top:calc(var(--m) * 10 + var(--u) * 72);position:absolute}.hud.touch .hud-help{left:50%;top:calc(var(--m) * 12 + var(--u) * 26);font-size:calc(var(--u) * 7);white-space:pre-line;box-sizing:border-box;background:#0b0f14e6;width:max-content;max-width:calc(100% - 16px);position:absolute;transform:translate(-50%)}.hud.touch .hud-message{top:30%;left:calc(64px + var(--m) * 4 + var(--u) * 76);right:calc(var(--m) * 10 + var(--u) * 172)}.hud.touch{--u-max:max(var(--m), calc((100dvh - 160px - var(--m) * 14) / 129))}@media (orientation:portrait){.hud.touch{--m:calc(var(--u0) * .75);--u-max:max(var(--m), min(calc((100vw - 64px - var(--m) * 16) / 133), calc((100dvh - 256px - var(--m) * 14) / 186)))}.hud.touch .hud-top-center{left:calc(64px + var(--m) * 4 + var(--u) * 36);align-items:flex-start;transform:none}.hud.touch .hud-timer{margin-bottom:calc(var(--m) * 4 + var(--u) * 6)}.hud.touch .hud-catches{font-size:calc(var(--u) * 7)}.hud.touch .hud-help{top:calc(var(--m) * 16 + var(--u) * 72);max-width:calc(100% - 72px);left:64px;transform:none}.hud.touch .hud-status{font-size:calc(var(--u) * 7)}.hud.touch .hud-gauges{flex-direction:column;align-items:flex-end}.hud.touch .hud-message{top:auto;bottom:calc(264px + env(safe-area-inset-bottom,0px));left:calc(var(--m) * 4);right:calc(var(--m) * 4)}}.screen-panel.map-panel{max-width:1100px}.lake-map-frame{position:relative}.lake-map-canvas{aspect-ratio:16/10;box-sizing:border-box;touch-action:none;cursor:grab;width:100%;min-height:200px;max-height:58vh;image-rendering:pixelated;border:3px solid #39424d;display:block}.lake-map-canvas:active{cursor:grabbing}.lake-map-zoom{flex-direction:column;gap:4px;display:flex;position:absolute;bottom:8px;right:8px}.screen .lake-map-zoom button{width:40px;height:40px;padding:0;font-size:26px;line-height:1}.screen-panel .lake-map-info{color:#fff3b0;min-height:1.2em;margin:6px 0}.lake-map-legend{color:#c3cbd2;flex-wrap:wrap;gap:4px 12px;font-size:18px;display:flex}.lake-map-legend i{vertical-align:-1px;border:1px solid #0b0f14;width:14px;height:14px;margin-right:4px;display:inline-block}.race-legend{margin-top:6px}.race-legend b{text-shadow:1px 1px #0b0f14;font-weight:400}@media (height<=500px){.lake-map-canvas{max-height:52dvh}.screen-panel.map-panel h2{display:none}}@media (width<=600px){.screen-panel.map-panel{padding:12px}.screen .lake-map-zoom button{width:32px;height:32px;font-size:22px}}.chat-line{overflow-wrap:anywhere;white-space:pre-wrap}.chat-name{color:#83c2db}.chat-line.me .chat-name{color:#f6d04d}.chat-notice{color:#8e99a4;font-style:italic}.chat-form{gap:8px;display:flex}.chat-panel .chat-log{background:#0b0f14;border:3px solid #39424d;max-height:150px;margin-bottom:6px;padding:4px 10px;font-size:20px;overflow-y:auto}.screen .chat-form button{flex:none}.chat-hud{left:calc(var(--m) * 4);bottom:calc(var(--m) * 8 + var(--u) * 58);width:min(calc(var(--u) * 130), 45%);font-size:calc(var(--u) * 8);gap:var(--u);flex-direction:column;display:flex;position:absolute}.chat-hud .chat-log{padding:var(--u) calc(var(--u) * 3);background:#0b0f148c}.chat-hud.typing .chat-log{background:#0b0f14cc}.chat-hud .chat-form{pointer-events:auto}.chat-hud input{min-width:0;font:inherit;font-size:max(16px, calc(var(--u) * 8));color:#eef2f3;border:var(--u) solid #f6d04d;padding:0 calc(var(--u) * 2);background:#0b0f14;outline:none;flex:1}.chat-hud button{font:inherit;font-size:max(16px, calc(var(--u) * 8));color:#eef2f3;border:var(--u) solid #5f6b78;padding:0 calc(var(--u) * 3);background:#39424d}.hud.touch .chat-hud{bottom:auto;left:50%;top:calc(var(--m) * 12 + var(--u) * 26);width:min(360px,50%);font-size:max(14px, calc(var(--u) * 7));transform:translate(-50%)}@media (orientation:portrait){.hud.touch .chat-hud{left:calc(8px + env(safe-area-inset-left,0px));top:calc(var(--m) * 16 + var(--u) * 126);width:calc(var(--u) * 108);transform:none}}.touch-controls .touch-chat{font-size:18px}.settings.appearance{align-items:flex-start;gap:12px;display:flex}.tube-preview{width:80px;height:80px;image-rendering:pixelated;border:2px solid #39424d;flex:none;margin-top:8px}.appearance-rows{flex:1;min-width:0}.screen-panel .settings .swatches{gap:8px}.screen-panel .settings button.swatch{border:2px solid #39424d;width:32px;height:32px;padding:0;position:relative}.screen-panel .settings button.swatch.selected{border:3px solid #0b0f14;box-shadow:0 0 0 3px #f6d04d}.screen-panel .settings button.swatch.selected:after{content:"";filter:drop-shadow(0 0 1px #0b0f14);border:4px solid #eef2f3;border-width:0 4px 4px 0;width:28%;height:52%;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.screen-panel .settings button.swatch.light.selected:after{filter:drop-shadow(0 0 1px #eef2f3);border-color:#0b0f14}.player-color{border:1px solid #0b0f14;width:.7em;height:.7em;margin-right:6px;display:inline-block}@media (width<=600px){.settings.appearance{flex-direction:column}.tube-preview{width:60px;height:60px}}@media (pointer:coarse){.screen-panel .settings button.swatch{width:38px;height:38px}}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(./vt323-vietnamese-400-normal-D0VnvwZ9.woff2)format("woff2"),url(./vt323-vietnamese-400-normal-D_5Q7Vcv.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:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(./vt323-latin-ext-400-normal-iUdYUaX4.woff2)format("woff2"),url(./vt323-latin-ext-400-normal-DqOq58ri.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:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(./vt323-latin-400-normal-wDgJuOC9.woff2)format("woff2"),url(./vt323-latin-400-normal-Dqn9ZSPj.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}
