@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./cormorant-garamond-latin-400-normal-B-1hWBU7.woff2)format("woff2"),url(./cormorant-garamond-latin-400-normal-B7YtguxJ.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(./cormorant-garamond-latin-500-normal-BsRWmXhO.woff2)format("woff2"),url(./cormorant-garamond-latin-500-normal-zIXX3Q-H.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(./cormorant-garamond-latin-600-normal-Co1r35X9.woff2)format("woff2"),url(./cormorant-garamond-latin-600-normal-2CBVLo0M.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(./cormorant-garamond-latin-400-italic-Dc_OZ8oc.woff2)format("woff2"),url(./cormorant-garamond-latin-400-italic-BLh7T8o8.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(./cormorant-garamond-latin-500-italic-Y14P-dkT.woff2)format("woff2"),url(./cormorant-garamond-latin-500-italic-DhNIfkTX.woff)format("woff")}@font-face{font-family:Cormorant SC;font-style:normal;font-display:swap;font-weight:500;src:url(./cormorant-sc-latin-500-normal-DKsS8ykr.woff2)format("woff2"),url(./cormorant-sc-latin-500-normal-DEFRA2y3.woff)format("woff")}@font-face{font-family:Cormorant SC;font-style:normal;font-display:swap;font-weight:600;src:url(./cormorant-sc-latin-600-normal-wS6gaVTd.woff2)format("woff2"),url(./cormorant-sc-latin-600-normal-CtbbO-J9.woff)format("woff")}:root{--ink:#f1e8d4;--ink-dim:#f1e8d49e;--ink-faint:#f1e8d447;--brass:#e3b766;--brass-dim:#e3b7668c;--warn:#f08a5d;--sea:#0b1a24;--shadow:0 1px 2px #0000008c, 0 0 18px #00000040;--serif:"Cormorant Garamond", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--sc:"Cormorant SC", "Cormorant Garamond", Georgia, serif}html,body{height:100%;color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;background:#05080b;margin:0;overflow:hidden}#c{width:100vw;height:100vh;display:block;position:fixed;inset:0}#ui{pointer-events:none;text-shadow:var(--shadow);position:fixed;inset:0}.hidden{opacity:0!important;pointer-events:none!important}.fade{transition:opacity .9s}.hud{transition:opacity 1.2s;position:absolute;inset:0}.compass{width:min(620px,70vw);height:46px;position:absolute;top:22px;left:50%;overflow:hidden;transform:translate(-50%);-webkit-mask-image:linear-gradient(90deg,#0000,#000 18% 82%,#0000);mask-image:linear-gradient(90deg,#0000,#000 18% 82%,#0000)}.compass .strip{will-change:transform;height:100%;position:absolute;top:0;left:0}.compass .tick{background:var(--ink-faint);width:1px;height:6px;position:absolute;bottom:14px}.compass .tick.major{background:var(--ink-dim);height:11px}.compass .label{font-family:var(--sc);letter-spacing:.12em;color:var(--ink-dim);font-size:15px;position:absolute;bottom:27px;transform:translate(-50%)}.compass .label.card{color:var(--ink);font-weight:600}.compass .center{border-left:5px solid #0000;border-right:5px solid #0000;border-bottom:7px solid var(--ink);width:0;height:0;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.compass .mark,.compass .wind{will-change:left;position:absolute;bottom:12px;transform:translate(-50%)}.compass .mark i{background:var(--brass);width:9px;height:9px;display:block;transform:rotate(45deg);box-shadow:0 0 10px #e3b766cc}.compass .wind{color:#a9d3e8;font-size:13px;font-family:var(--sc);letter-spacing:.08em;bottom:30px}.markinfo{color:var(--ink-dim);white-space:nowrap;font-size:15px;font-style:italic;position:absolute;top:72px;left:50%;transform:translate(-50%)}.markinfo b{color:var(--brass);margin:0 .3em;font-style:normal;font-weight:600}.offscreen-arrow{color:var(--brass);font-size:18px;position:absolute;top:26px}.speed{line-height:1;position:absolute;bottom:30px;left:34px}.speed .num{font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.01em;font-size:58px;font-weight:500}.speed .unit{font-family:var(--sc);color:var(--ink-dim);letter-spacing:.1em;margin-left:6px;font-size:18px}.speed .sub{color:var(--ink-dim);margin-top:8px;font-size:15px;font-style:italic}.speed .surf{color:#9fe3e0;font-style:normal;font-family:var(--sc);letter-spacing:.1em;opacity:0;margin-left:.6em;transition:opacity .3s}.trim{text-align:center;width:300px;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.trim .state{min-height:26px;margin-bottom:10px;font-size:21px;font-style:italic;transition:color .4s}.trim .state.good{color:#cfe8cf}.trim .state.warn{color:var(--warn)}.trim .bar{background:#f1e8d42e;border-radius:2px;height:4px;position:relative}.trim .zone{border:1px solid var(--brass-dim);will-change:left, width;background:#e3b76654;border-radius:3px;height:10px;position:absolute;top:-3px}.trim .needle{background:var(--ink);will-change:left;width:2px;height:20px;margin-left:-1px;position:absolute;top:-8px;box-shadow:0 0 6px #fff9}.trim .ends{font-family:var(--sc);letter-spacing:.12em;color:var(--ink-faint);justify-content:space-between;margin-top:9px;font-size:13px;display:flex}.telltales{vertical-align:middle;gap:10px;margin-left:10px;display:inline-flex}.telltales span{transform-origin:0;background:#d24b3a;border-radius:2px;width:22px;height:3px;transition:transform .25s;display:inline-block}.telltales span.blue{background:#4d8fd6}.telltales.flutter span{animation:.18s infinite alternate flutter}.telltales.droop span{transform:rotate(38deg)scaleX(.75)}@keyframes flutter{0%{transform:rotate(-35deg)scaleX(.7)}to{transform:rotate(40deg)scaleX(.85)}}.heel{text-align:right;position:absolute;bottom:30px;right:34px}.heel .arc{width:120px;height:64px;margin-left:auto;position:relative}.heel .arc svg{overflow:visible}.heel .label{font-family:var(--sc);letter-spacing:.12em;color:var(--ink-dim);margin-top:4px;font-size:14px}.heel .label.warn{color:var(--warn)}.hull{color:var(--warn);opacity:0;margin-top:6px;font-size:14px;font-style:italic;transition:opacity .6s}.hint{text-align:center;white-space:nowrap;font-size:22px;font-style:italic;transition:opacity .8s,transform .8s;position:absolute;bottom:140px;left:50%;transform:translate(-50%)}.key{border:1px solid var(--ink-dim);min-width:1.4em;font-family:var(--sc);letter-spacing:.06em;background:#0a121859;border-radius:4px;margin:0 .15em;padding:.05em .45em .12em;font-size:.82em;font-style:normal;display:inline-block}.caption{color:var(--ink);white-space:nowrap;font-size:20px;font-style:italic;transition:opacity .7s;position:absolute;top:110px;left:50%;transform:translate(-50%)}.legcard{max-width:560px;transition:opacity 1.6s,transform 1.6s;position:absolute;top:30vh;left:8vw}.legcard .numeral{font-size:30px;font-family:var(--sc);letter-spacing:.3em;color:var(--brass)}.legcard .name{margin:6px 0 10px;font-size:76px;font-weight:500;line-height:.95}.legcard .sub{font-family:var(--sc);letter-spacing:.16em;color:var(--ink-dim);font-size:19px}.legcard .log{color:var(--ink);max-width:480px;margin-top:22px;font-size:23px;font-style:italic;line-height:1.35}.legcard .rule{background:var(--brass-dim);width:64px;height:1px;margin-top:20px}.screen{pointer-events:auto;transition:opacity 1.1s;position:absolute;inset:0}.title{background:linear-gradient(90deg,#04080c8c,#04080c00 55%);flex-direction:column;justify-content:flex-end;padding:0 0 12vh 9vw;display:flex}.title h1{letter-spacing:.02em;margin:0;font-size:clamp(64px,10vw,150px);font-weight:500;line-height:.85}.title .tag{color:var(--ink-dim);text-shadow:0 1px 12px #04080c99;margin:14px 0 44px 6px;font-size:24px;font-style:italic}.menu{flex-direction:column;gap:6px;margin-left:4px;display:flex}.menu button{all:unset;cursor:pointer;font-family:var(--serif);color:var(--ink-dim);text-shadow:0 1px 14px #04080cbf,0 0 2px #04080c80;width:max-content;padding:3px 0;font-size:27px;transition:color .25s,transform .25s}.menu button small{color:var(--ink-faint);margin-left:.6em;font-size:17px;font-style:italic}.menu button:hover,.menu button.sel{color:var(--ink);transform:translate(8px)}.menu button.sel:before{content:"";background:var(--brass);width:12px;height:1px;margin:.62em 0 0 -22px;position:absolute}.panel{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;background:#04080c8c;justify-content:center;align-items:center;transition:opacity .5s;display:flex;position:absolute;inset:0}.panel .inner{width:min(520px,86vw)}.panel h2{margin:0 0 6px;font-size:46px;font-weight:500}.panel .rule{background:var(--brass-dim);width:64px;height:1px;margin:10px 0 26px}.panel p{color:var(--ink-dim);font-size:19px;line-height:1.45}.setting{justify-content:space-between;align-items:center;margin:12px 0;font-size:21px;display:flex}.setting input[type=range]{width:200px;accent-color:var(--brass)}.setting .toggle{all:unset;cursor:pointer;font-family:var(--sc);letter-spacing:.12em;color:var(--brass);text-align:right;min-width:70px;font-size:16px}.controls-grid{color:var(--ink-dim);grid-template-columns:auto 1fr;gap:10px 22px;font-size:19px;display:grid}.controls-grid .k{text-align:right;color:var(--ink)}.ending{background:linear-gradient(90deg,#04080c80,#04080c00 60%);flex-direction:column;justify-content:center;padding-left:9vw;display:flex}.ending .over{font-family:var(--sc);letter-spacing:.3em;color:var(--brass);font-size:18px}.ending h1{margin:8px 0 18px;font-size:clamp(56px,8vw,120px);font-weight:500;line-height:.9}.ending .log{max-width:560px;margin-bottom:30px;font-size:24px;font-style:italic;line-height:1.4}.stats{grid-template-columns:repeat(3,auto);gap:8px 44px;width:max-content;margin-bottom:36px;display:grid}.stats .v{font-size:34px;font-weight:500}.stats .l{font-family:var(--sc);letter-spacing:.12em;color:var(--ink-dim);font-size:14px}.chart{background:#04080c80;justify-content:center;align-items:center;transition:opacity .45s;display:flex;position:absolute;inset:0}.chart canvas{border-radius:3px;max-width:90vw;height:86vh;box-shadow:0 20px 80px #0009}.boot{color:var(--ink-dim);pointer-events:auto;background:#05080b;justify-content:center;align-items:center;font-size:22px;font-style:italic;transition:opacity 1.4s;display:flex;position:absolute;inset:0}.boot .click{font-family:var(--sc);letter-spacing:.2em;color:var(--brass);margin-top:18px;font-size:15px;font-style:normal;animation:2.4s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.35}}.vignette-swamp{background:radial-gradient(#0000 40%,#020a0ed9);transition:opacity 1.5s;position:absolute;inset:0}
