:root{--ink: #eef3f4;--dim: rgba(238, 243, 244, .62);--glass: rgba(9, 18, 24, .66);--edge: rgba(238, 243, 244, .16);--amber: #ffc46b;--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;color-scheme:dark;--edge-top: calc(16px + env(safe-area-inset-top, 0px)) ;--edge-bottom: calc(16px + env(safe-area-inset-bottom, 0px)) ;--edge-left: max(16px, env(safe-area-inset-left, 0px));--edge-right: max(16px, env(safe-area-inset-right, 0px))}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#0a141a;color:var(--ink);font-family:var(--font)}body{overscroll-behavior:none;touch-action:none;user-select:none;-webkit-user-select:none}#view{position:fixed;inset:0;width:100%;height:100%;display:block;outline:none}.hud{position:fixed;z-index:2;background:var(--glass);border:1px solid var(--edge);border-radius:10px;font-variant-numeric:tabular-nums}.readout{left:var(--edge-left);top:var(--edge-top);display:grid;grid-template-columns:repeat(3,auto);gap:2px 18px;padding:10px 14px;cursor:pointer}.readout .cell{display:flex;flex-direction:column;min-width:58px}.readout .k{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.readout .v{font-size:22px;font-weight:600;line-height:1.15;white-space:nowrap}.readout .v small{font-size:11px;font-weight:500;color:var(--dim);margin-left:3px}.readout.hidden{padding:6px 10px;display:block}.readout.hidden .cell{display:none}.readout.hidden:after{content:"instruments";font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.clock{right:var(--edge-right);top:var(--edge-top);padding:9px 14px 8px;text-align:right;cursor:ew-resize;min-width:112px}.clock .time{font-size:22px;font-weight:600;line-height:1.15}.clock .sub{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.clock.paused .time,.clock.fast .sub{color:var(--amber)}.alarm{left:50%;bottom:calc(var(--edge-bottom) + 12px);transform:translate(-50%) translateY(8px);padding:8px 16px;font-size:14px;letter-spacing:.02em;opacity:0;transition:opacity .35s ease,transform .35s ease;pointer-events:none;white-space:nowrap}.alarm.on{opacity:1;transform:translate(-50%)}.fps{left:var(--edge-left);bottom:var(--edge-bottom);padding:5px 9px;font:11px var(--mono);color:var(--dim)}.tag{position:fixed;z-index:3;left:0;top:0;pointer-events:none;opacity:0;transition:opacity .12s ease;padding:5px 10px;border-radius:8px;background:#091218c7;border:1px solid rgba(255,196,107,.5);font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}.tag.on{opacity:1}.tag b{font-weight:600;color:var(--amber);margin-left:6px}.veil{position:fixed;inset:0;z-index:5;background:#0a141a;display:grid;place-items:center;transition:opacity 1.4s ease .2s;pointer-events:none}.veil.gone{opacity:0}.veil .title{font-size:clamp(28px,5vw,54px);font-weight:300;letter-spacing:.22em;text-transform:uppercase;text-align:center}.veil .title small{display:block;margin-top:14px;font-size:11px;letter-spacing:.3em;color:var(--dim)}@media(max-width:560px){.readout{grid-template-columns:repeat(3,auto);gap:2px 12px;padding:8px 10px}.readout .v{font-size:17px}.readout .cell{min-width:46px}.clock .time{font-size:17px}}.readout{grid-template-columns:auto auto;grid-template-areas:"dial cells" "sail sail" "tide tide" "pilot pilot";gap:6px 14px;align-items:center}.readout .dial{grid-area:dial;width:104px}.readout .dial svg{display:block;width:104px;height:104px}.readout .dial .legend{display:flex;justify-content:center;gap:7px;font-size:8.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--dim);white-space:nowrap}.readout .dial .legend span:before{content:"";display:inline-block;width:6px;height:6px;margin-right:2px;border-radius:50%;flex:none}.readout .dial .legend span{display:inline-flex;align-items:center}.readout .dial .legend .app:before{background:var(--amber)}.readout .dial .legend .true:before{border:1.5px solid var(--ink);width:4px;height:4px}.readout .dial .legend .tide:before{background:#6cc0ff}.readout .cells{grid-area:cells;display:grid;grid-template-columns:repeat(3,auto);gap:2px 16px}.readout .tideline{grid-area:tide;font-size:12px;color:var(--dim);border-top:1px solid var(--edge);padding-top:6px;white-space:nowrap}.readout .tideline b{color:var(--ink);font-weight:600}.readout .pilotline{grid-area:pilot;font-size:12px;color:var(--dim);white-space:nowrap}.readout .pilotline b{color:var(--ink);font-weight:600}.readout .pilotline b.on{color:var(--amber)}.readout .sailline{grid-area:sail;font-size:12px;color:var(--dim);letter-spacing:.04em;border-top:1px solid var(--edge);padding-top:6px}.readout .sailline b{color:var(--ink);font-weight:600;font-size:15px;letter-spacing:0}.readout .tideline{border-top:0;padding-top:0}.readout.hidden .dial,.readout.hidden .cells,.readout.hidden .tideline,.readout.hidden .pilotline,.readout.hidden .sailline{display:none}.mini{right:var(--edge-right);bottom:var(--edge-bottom);width:236px;height:196px;padding:0;overflow:hidden;cursor:pointer;display:block}.mini[hidden],.chart[hidden]{display:none}.chart{position:fixed;inset:0;z-index:4;display:grid;place-items:center;background:#060c109e;padding:calc(14px + env(safe-area-inset-top,0px)) var(--edge-right) calc(14px + env(safe-area-inset-bottom,0px)) var(--edge-left)}.chart-frame{width:min(1560px,100%);height:min(960px,100%);display:grid;grid-template-columns:minmax(0,1fr) 452px;grid-template-rows:minmax(0,1fr) 138px;background:#0d1820;border:1px solid var(--edge);border-radius:12px;overflow:hidden;box-shadow:0 24px 80px #00000080}.chart-map{grid-column:1;grid-row:1;width:100%;height:100%;display:block;cursor:crosshair;touch-action:none}.chart-strip{grid-column:1;grid-row:2;width:100%;height:100%;display:block;cursor:ew-resize;touch-action:none;border-top:1px solid var(--edge)}.chart-side{grid-column:2;grid-row:1 / span 2;border-left:1px solid var(--edge);padding:14px 16px;overflow:auto;font-size:12.5px;font-variant-numeric:tabular-nums}.chart-side header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.chart-side h2{margin:0;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.chart-side h3{margin:0 0 6px;font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.chart-side .key{font-size:10.5px;letter-spacing:.08em;color:var(--dim)}.chart-side section{border-top:1px solid var(--edge);padding:10px 0;display:grid;gap:5px}.chart-side .big{display:flex;justify-content:space-between;align-items:baseline}.chart-side .big b{font-size:19px;font-weight:600}.chart-side .pair{display:grid;grid-template-columns:64px 1fr 56px 1fr;gap:2px 8px;align-items:baseline}.chart-side .pair span,.chart-side .big span{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.chart-side .pair b{font-weight:600}.chart-side .quiet{margin:0;color:var(--dim)}.chart-side table{width:100%;border-collapse:collapse;margin:2px 0 10px;font-size:11.5px}.chart-side th{font-size:9.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);text-align:right;padding:4px 3px;border-bottom:1px solid var(--edge)}.chart-side td{text-align:right;padding:5px 3px;border-bottom:1px solid rgba(238,243,244,.07);white-space:nowrap}.chart-side th.name,.chart-side td.name{text-align:left}.chart-side td.name{max-width:92px;overflow:hidden;text-overflow:ellipsis}.chart-side tr.next td{color:var(--amber)}.chart-side tr.done td{color:var(--dim)}.chart-side .late{color:#ff9a8a}.chart-side .early,.chart-side .ok{color:#86dba8}.chart-side .live{color:var(--ink)}.chart-side .hint,.chart-side .source{margin:10px 0 0;font-size:11px;line-height:1.45;color:var(--dim)}@media(max-width:980px){.chart-frame{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1.2fr) 120px minmax(0,1fr)}.chart-side{grid-column:1;grid-row:3;border-left:0;border-top:1px solid var(--edge)}.mini{width:168px;height:148px}.readout .dial,.readout .dial svg{width:78px;height:78px}.readout .dial svg{height:78px}.readout .tideline{font-size:10.5px;white-space:normal}}.boat-label{position:fixed;left:0;top:0;z-index:1;pointer-events:none;white-space:nowrap;padding:3px 9px;border-radius:999px;background:#091218b3;border:1px solid var(--edge);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}body.lobby .hud,body.lobby .tag,.join[hidden],.coach[hidden]{display:none}.join{position:fixed;z-index:4;left:var(--edge-left);top:var(--edge-top);bottom:var(--edge-bottom);width:min(440px,calc(100% - var(--edge-left) - var(--edge-right)));display:flex;flex-direction:column;gap:14px;padding:22px 22px 18px;background:#091218d6;border:1px solid var(--edge);border-radius:14px;box-shadow:0 24px 80px #00000073;user-select:text;-webkit-user-select:text}.join header h1{margin:0;font-size:30px;font-weight:300;letter-spacing:.3em;text-transform:uppercase}.join header p{margin:8px 0 0;font-size:12.5px;color:var(--dim);line-height:1.4}.join-steps{list-style:none;margin:0;padding:0;display:flex;gap:6px}.join-steps li{flex:1}.join-steps button{width:100%;display:flex;align-items:center;gap:7px;padding:7px 8px;font:inherit;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);background:none;border:0;border-bottom:2px solid var(--edge);cursor:pointer;white-space:nowrap}.join-steps button i{font-style:normal;font-variant-numeric:tabular-nums;width:18px;height:18px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;font-size:10.5px;flex:none}.join-steps button[aria-current=step]{color:var(--ink);border-bottom-color:var(--amber)}.join-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-right:2px}.join h2{margin:2px 0;font-size:18px;font-weight:600;text-wrap:balance}.join .cards{display:flex;flex-direction:column;gap:8px}.join .card{display:grid;gap:3px;text-align:left;padding:11px 13px;font:inherit;color:var(--ink);cursor:pointer;background:#eef3f40b;border:1px solid var(--edge);border-radius:10px}.join .card:hover:not(:disabled){background:#eef3f417}.join .card[aria-pressed=true]{border-color:var(--amber);background:#ffc46b1a}.join .card b{font-size:15px;font-weight:600}.join .card .sub{font-size:12px;color:var(--dim)}.join .card .say{font-size:13px;line-height:1.4;color:#eef3f4db}.join .card .now{font-size:11.5px;color:var(--dim);font-variant-numeric:tabular-nums}.join .card.yard{cursor:default;opacity:.5}.join .soon{margin:2px 0 0;font-size:12px;line-height:1.45;color:var(--dim)}.join .fit{display:grid;grid-template-columns:auto 1fr;gap:10px 12px;align-items:center;margin-top:4px}.join .fit label,.join .fit .lab{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.join .fit input{font:inherit;font-size:15px;color:var(--ink);background:#eef3f412;border:1px solid var(--edge);border-radius:8px;padding:8px 10px;min-width:0;letter-spacing:.04em}.join .swatches{display:flex;gap:8px;flex-wrap:wrap}.join .swatch{width:30px;height:30px;border-radius:50%;border:2px solid rgba(238,243,244,.35);cursor:pointer;padding:0}.join .swatch[aria-pressed=true]{border-color:var(--amber);box-shadow:0 0 0 2px #ffc46b59}.join footer{display:flex;justify-content:space-between;gap:10px}.join footer button,.coach button{font:inherit;font-size:13.5px;font-weight:600;padding:9px 18px;border-radius:9px;cursor:pointer;color:var(--ink);background:#eef3f40f;border:1px solid var(--edge)}.join footer button.primary,.coach button.primary{color:#1a1205;background:var(--amber);border-color:var(--amber)}.join button:focus-visible,.join input:focus-visible,.coach button:focus-visible{outline:2px solid var(--amber);outline-offset:2px}@media(max-width:760px){.join{top:auto;height:min(64%,560px);width:auto;right:var(--edge-right);padding:16px 16px 14px;gap:10px}.join header h1{font-size:22px}.join header p{display:none}}.coach{position:fixed;z-index:3;left:calc((100% - 252px)/2);transform:translate(-50%);bottom:calc(var(--edge-bottom) + 62px);width:min(520px,calc(100% - 300px));padding:14px 16px 12px;background:#091218db;border:1px solid rgba(255,196,107,.45);border-radius:12px;transition:border-color .3s ease,box-shadow .3s ease}.coach.done{border-color:#86dba8;box-shadow:0 0 0 3px #86dba840}.coach-step{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);display:flex;align-items:baseline;gap:10px}.coach-step b{font-size:16px;letter-spacing:0;text-transform:none;color:var(--ink);font-weight:600}.coach p{margin:7px 0 10px;font-size:14px;line-height:1.45}.coach-foot{display:flex;align-items:center;gap:8px}.coach-foot span{flex:1;font-size:12px;color:var(--amber)}.coach button{padding:6px 12px;font-size:12.5px}@media(max-width:760px){.coach{left:50%;width:calc(100% - 32px);bottom:calc(var(--edge-bottom) + 160px)}}.join .when{display:flex;gap:6px}.join .chip{flex:1;display:grid;gap:1px;padding:7px 8px;font:inherit;font-size:11.5px;color:var(--dim);text-align:left;cursor:pointer;background:#eef3f40b;border:1px solid var(--edge);border-radius:9px;white-space:nowrap}.join .chip b{font-size:15px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.join .chip[aria-pressed=true]{border-color:var(--amber);background:#ffc46b1a}.alarm{left:calc((100% - 252px)/2);max-width:min(640px,calc(100% - 300px));white-space:normal;text-align:center;line-height:1.35}@media(max-width:760px){.alarm{left:50%;max-width:calc(100% - 32px);bottom:calc(var(--edge-bottom) + 164px)}}.boardlink{left:var(--edge-left);bottom:var(--edge-bottom);padding:7px 12px;font:inherit;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);cursor:pointer}.boardlink:hover{color:var(--ink)}body.lobby .boardlink{display:block;left:auto;right:var(--edge-right)}.boardlink.new:after{content:"New";margin-left:9px;padding:1px 6px;border-radius:6px;background:var(--amber);color:#1a1205;font-weight:700;letter-spacing:.06em}.newsflash[hidden]{display:none}.newsflash{left:var(--edge-left);bottom:calc(var(--edge-bottom) + 42px);z-index:3;display:grid;gap:2px;text-align:left;padding:10px 14px;max-width:min(300px,calc(100% - 32px));font:inherit;color:var(--ink);border-color:var(--amber);cursor:pointer}.newsflash b{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}.newsflash span{font-size:14px;line-height:1.35}.newsflash i{font-style:normal;font-size:12px;color:var(--dim);text-decoration:underline}body.lobby .newsflash{left:auto;right:var(--edge-right)}.board .notes{list-style:disc;padding-left:20px;gap:5px}.board .notes li{font-size:13.5px;line-height:1.5;color:#eef3f4db}.board .release.unread>header h3{color:var(--amber)}.sailline .gust{color:var(--amber)}.fps{bottom:calc(var(--edge-bottom) + 40px)}.board[hidden]{display:none}.board{position:fixed;inset:0;z-index:6;display:grid;place-items:center;background:#060c109e;padding:calc(14px + env(safe-area-inset-top,0px)) var(--edge-right) calc(14px + env(safe-area-inset-bottom,0px)) var(--edge-left);user-select:text;-webkit-user-select:text}.board-frame{width:min(860px,100%);height:min(900px,100%);display:flex;flex-direction:column;background:#0d1820;border:1px solid var(--edge);border-radius:14px;overflow:hidden;box-shadow:0 24px 80px #00000080}.board-frame>header{display:flex;align-items:center;gap:16px;padding:14px 18px;border-bottom:1px solid var(--edge)}.board-frame h2{margin:0;font-size:15px;font-weight:300;letter-spacing:.3em;text-transform:uppercase}.board-frame nav{display:flex;gap:4px;flex:1}.board button{font:inherit;color:var(--ink);background:#eef3f40f;border:1px solid var(--edge);border-radius:8px;padding:7px 13px;font-size:13px;cursor:pointer}.board button:disabled{opacity:.4;cursor:default}.board button[aria-pressed=true]{border-color:var(--amber);background:#ffc46b1f}.board button.primary{color:#1a1205;background:var(--amber);border-color:var(--amber);font-weight:600}.board button.link{background:none;border:0;padding:0;color:var(--amber);text-decoration:underline;font-size:inherit}.board button:focus-visible,.board textarea:focus-visible,.board input:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.board-body{flex:1;min-height:0;overflow-y:auto;padding:16px 18px 22px;display:flex;flex-direction:column;gap:14px}.board .lede,.board .note{margin:0;font-size:13px;line-height:1.5;color:var(--dim)}.board .note{color:var(--amber)}.board .release>header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.board .release h3{margin:0;font-size:16px;font-weight:600;text-wrap:balance}.board .release>header span{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);white-space:nowrap}.board .blurb{margin:3px 0 8px;font-size:13px;color:var(--dim)}.board ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.board .item{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:start;padding:10px 12px;background:#eef3f40a;border:1px solid rgba(238,243,244,.09);border-radius:10px}.board .item.shipped{grid-template-columns:minmax(0,1fr)}.board .item b{font-size:14px;font-weight:600}.board .item p{margin:3px 0 0;font-size:13px;line-height:1.45;color:#eef3f4cc}.board .item .status{float:right;margin-left:10px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.board .item.building .status{color:var(--amber)}.board .item.shipped .status{color:#86dba8}.board .votes{display:grid;justify-items:center;gap:2px}.board .votes button{padding:3px 0;width:38px;font-size:11px;line-height:1}.board .votes b{font-variant-numeric:tabular-nums;font-size:15px}.board .kinds{display:flex;gap:6px;flex-wrap:wrap}.board label{font-size:13px;color:var(--dim)}.board textarea{font:inherit;font-size:15px;line-height:1.45;color:var(--ink);background:#eef3f40f;border:1px solid var(--edge);border-radius:10px;padding:11px 12px;resize:vertical;min-height:120px}.board .check{display:flex;gap:9px;align-items:flex-start;line-height:1.4}.board .row{display:flex;gap:8px;flex-wrap:wrap}.board .feedback h3{margin:8px 0 0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.board .sent li{font-size:13px;line-height:1.45;padding:8px 0;border-top:1px solid rgba(238,243,244,.09);white-space:pre-wrap;overflow-wrap:anywhere}.board .sent span{display:block;font-size:11px;color:var(--dim)}.hint[hidden],.hail[hidden]{display:none}.hint{position:fixed;z-index:3;left:calc((100% - 252px)/2);transform:translate(-50%);bottom:calc(var(--edge-bottom) + 62px);width:min(520px,calc(100% - 300px));display:flex;gap:12px;align-items:flex-start;padding:11px 14px;background:#091218db;border:1px solid rgba(127,196,238,.5);border-radius:12px}.hint p{margin:0;flex:1;font-size:13.5px;line-height:1.45}.hint button{font:inherit;font-size:11px;color:var(--dim);background:none;border:1px solid var(--edge);border-radius:7px;padding:4px 8px;cursor:pointer;white-space:nowrap}body.lobby .hint,body.lobby .hails{display:none}.hails{position:fixed;z-index:2;left:var(--edge-left);bottom:calc(var(--edge-bottom) + 46px);display:grid;gap:4px;max-width:min(360px,60%);pointer-events:none}.hails div{padding:5px 10px;border-radius:9px;background:#091218b8;border:1px solid var(--edge);font-size:13px;line-height:1.35;overflow-wrap:anywhere}.hails b{color:var(--amber);font-weight:600}.hail{position:fixed;z-index:4;left:50%;transform:translate(-50%);bottom:calc(var(--edge-bottom) + 120px);width:min(460px,calc(100% - 32px));display:flex;gap:10px;align-items:center;padding:9px 12px;background:#091218e6;border:1px solid var(--amber);border-radius:12px}.hail label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}.hail input{flex:1;min-width:0;font:inherit;font-size:15px;color:var(--ink);background:none;border:0;outline:none}@media(max-width:760px){.hint{left:50%;width:calc(100% - 32px);bottom:calc(var(--edge-bottom) + 160px)}}.board .stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.board .stat{padding:12px;background:#eef3f40a;border:1px solid rgba(238,243,244,.09);border-radius:10px;display:grid;gap:2px}.board .stat b{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}.board .stat span{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.board .logbook h3{margin:8px 0 0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.board table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.board th{text-align:left;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);padding:6px;border-bottom:1px solid var(--edge);font-weight:600}.board td{padding:7px 6px;border-bottom:1px solid rgba(238,243,244,.07);overflow-wrap:anywhere}.board tr.me td{color:var(--amber)}.racebar[hidden],.fleetpanel[hidden]{display:none}.racebar{right:var(--edge-right);top:calc(var(--edge-top, 16px) + 64px);padding:7px 12px;font:inherit;font-size:12.5px;color:var(--amber);border-color:#ffc46b80;cursor:pointer;max-width:min(420px,calc(100% - 32px));text-align:right;font-variant-numeric:tabular-nums}.fleetpanel{position:fixed;z-index:5;right:var(--edge-right);top:calc(var(--edge-top, 16px) + 64px);width:min(440px,calc(100% - 32px));max-height:calc(100% - 200px);display:flex;flex-direction:column;background:#0b151cf2;border:1px solid var(--edge);border-radius:14px;overflow:hidden;box-shadow:0 18px 60px #00000073;user-select:text;-webkit-user-select:text}.fleetpanel>header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--edge)}.fleetpanel h2{margin:0;font-size:13px;font-weight:400;letter-spacing:.22em;text-transform:uppercase}.fleetpanel h3{margin:6px 0 0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.fleet-body{overflow-y:auto;padding:12px 14px 16px;display:flex;flex-direction:column;gap:10px}.fleetpanel button{font:inherit;font-size:13px;color:var(--ink);background:#eef3f40f;border:1px solid var(--edge);border-radius:8px;padding:7px 12px;cursor:pointer}.fleetpanel button[aria-pressed=true]{border-color:var(--amber);background:#ffc46b1f}.fleetpanel button.primary{color:#1a1205;background:var(--amber);border-color:var(--amber);font-weight:600}.fleetpanel button:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.fleetpanel .lede{margin:0;font-size:12.5px;line-height:1.5;color:var(--dim)}.fleetpanel .lede b{color:var(--ink)}.fleetpanel .roster{list-style:none;margin:0;padding:0;display:grid;gap:4px}.fleetpanel .roster li{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.1fr) minmax(0,1.2fr) auto;gap:8px;align-items:baseline;padding:7px 10px;font-size:13px;background:#eef3f40a;border-radius:8px;overflow-wrap:anywhere}.fleetpanel .roster span{color:var(--dim);font-size:12px;font-variant-numeric:tabular-nums}.fleetpanel .roster .me b{color:var(--amber)}.fleetpanel .courses{display:grid;gap:6px}.fleetpanel .course{display:grid;gap:2px;text-align:left;padding:9px 11px}.fleetpanel .course span{font-size:12px;line-height:1.4;color:var(--dim)}.fleetpanel .chips{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.fleetpanel .chips span{font-size:12px;color:var(--dim);min-width:78px}.fleetpanel .offer{display:flex;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--amber);border-radius:10px}.fleetpanel .offer p{margin:0;flex:1;font-size:13px;line-height:1.4}.fleetpanel .count{margin:0;font-size:34px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1;color:var(--amber)}.fleetpanel table{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}.fleetpanel th{text-align:left;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);padding:5px;border-bottom:1px solid var(--edge)}.fleetpanel td{padding:6px 5px;border-bottom:1px solid rgba(238,243,244,.07);overflow-wrap:anywhere}.fleetpanel td i{font-style:normal;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.fleetpanel tr.me td{color:var(--amber)}body.lobby .racebar,body.lobby .fleetpanel{display:none}@media(max-width:760px){.fleetpanel{max-height:calc(100% - 240px)}}.trimcard[hidden]{display:none}.trimcard{left:var(--edge-left);bottom:calc(var(--edge-bottom) + 46px);width:min(380px,calc(100% - 290px));padding:11px 14px 12px;display:grid;gap:6px;font-size:12.5px;line-height:1.45}.trimcard h4{margin:0;font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.trimcard h4 i{font-style:normal;color:var(--amber);margin-left:8px;letter-spacing:.06em}.trimcard .row{display:grid;grid-template-columns:42px 92px minmax(0,1fr) 40px;gap:8px;align-items:baseline;font-variant-numeric:tabular-nums}.trimcard .row b{font-size:13px}.trimcard .row i{font-style:normal;color:var(--dim);font-size:11.5px}.trimcard .row span:last-child{text-align:right;font-weight:600}.trimcard .row.good span:nth-child(3){color:#8fd8ff}.trimcard .row.bad span:nth-child(3){color:#ff8a6e}.trimcard .row.dead span:nth-child(3){color:#c3ccd3}.trimcard p{margin:0;color:#eef3f4db}.trimcard .speed b{color:var(--amber)}.trimcard .key{font-size:11px;color:var(--dim);display:flex;gap:6px;align-items:center;flex-wrap:wrap}.trimcard .k{display:inline-block;width:16px;height:3px;border-radius:2px;margin-left:6px}.trimcard .k:first-child{margin-left:0}.trimcard .k.smooth{background:#8fd8ff}.trimcard .k.stalled{background:#ff5a3c}.trimcard .k.dead{background:#8b98a3}body.lobby .trimcard{display:none}@media(max-width:760px){.trimcard{width:calc(100% - 32px);bottom:calc(var(--edge-bottom) + 210px)}}.board-frame nav{flex-wrap:wrap}.board .keypage{display:grid;gap:22px;max-width:720px;margin:0 auto;width:100%}.board .keygroup h3{margin:0 0 4px;font-size:16px;font-weight:600}.board .keygroup .lede{margin-bottom:4px}.board .keylist{display:grid;gap:0;margin-top:6px}.board .keylist li{display:grid;grid-template-columns:148px minmax(0,1fr);gap:16px;align-items:start;padding:10px 0;border-top:1px solid rgba(238,243,244,.09)}.board .keylist .caps{display:flex;gap:5px;flex-wrap:wrap;align-items:center}.board .keylist kbd{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 8px;font:inherit;font-size:13px;font-weight:600;color:var(--ink);background:#eef3f417;border:1px solid rgba(238,243,244,.28);border-bottom-width:3px;border-radius:7px}.board .keylist .caps i{font-style:normal;color:var(--dim)}.board .keylist .gesture{font-size:12.5px;font-weight:600;color:var(--amber);line-height:1.3;padding-top:6px}.board .keylist .what{font-size:14px;line-height:1.5;color:#eef3f4d6}.board .keylist .what b{display:block;font-size:14.5px;color:var(--ink)}@media(max-width:560px){.board .keylist li{grid-template-columns:1fr;gap:6px}}.board-frame.wide{width:min(1320px,100%)}.board{--a-experience: #7fc4ee;--a-multiplayer: #ffc46b;--a-world: #86dba8;--a-platform: #c7a6f2;--a-progress: #f29ab4}.board .rm-filter{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.board .chip{padding:5px 11px;font-size:12.5px;border-radius:999px;display:inline-flex;align-items:center;gap:7px}.board .chip:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--dot, transparent)}.board .chip.area-all:before,.board .chip.shipped:before{display:none}.board .chip.shipped{margin-left:auto}.board .area-experience{--dot: var(--a-experience)}.board .area-multiplayer{--dot: var(--a-multiplayer)}.board .area-world{--dot: var(--a-world)}.board .area-platform{--dot: var(--a-platform)}.board .area-progress{--dot: var(--a-progress)}.board .rm-scroll{overflow-x:auto;margin:0 -4px;padding:0 4px 6px}.board .rm-board{display:grid;grid-template-columns:112px repeat(var(--cols),minmax(190px,1fr));gap:8px;align-items:stretch;min-width:calc(112px + var(--cols) * 198px)}.board .rm-head{position:sticky;top:0;z-index:1;display:flex;align-items:baseline;justify-content:space-between;padding:8px 10px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:#14232d;border-radius:9px;border-bottom:2px solid rgba(238,243,244,.25)}.board .rm-head i{font-style:normal;color:var(--dim);font-weight:400;letter-spacing:0}.board .rm-head.building{border-bottom-color:var(--amber)}.board .rm-head.shipped{border-bottom-color:#86dba8}.board .rm-lane{display:flex;align-items:flex-start;padding:10px 8px 10px 12px;font-size:12px;font-weight:600;line-height:1.3;border-left:3px solid var(--dot);background:#eef3f408;border-radius:4px 9px 9px 4px}.board .rm-cell{display:flex;flex-direction:column;gap:6px;padding:6px;min-height:64px;background:#eef3f406;border:1px dashed rgba(238,243,244,.08);border-radius:10px;align-content:start}.board .item.card{grid-template-columns:34px minmax(0,1fr);gap:8px;padding:8px 9px;border-left:3px solid var(--dot);background:#eef3f40e}.board .item.card.shipped{grid-template-columns:minmax(0,1fr);opacity:.85}.board .item.card b{font-size:13px;line-height:1.3;display:block}.board .item.card p{font-size:12px;line-height:1.4;margin-top:3px;color:#eef3f4b8}.board .item.card .theme{display:inline-block;margin-top:6px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);border:1px solid rgba(238,243,244,.14);border-radius:5px;padding:1px 6px}.board .item.card .votes button{width:30px;padding:2px 0;font-size:10px}.board .item.card .votes b{font-size:14px}@media(max-width:760px){.board .rm-scroll{overflow:visible}.board .rm-board{display:block;min-width:0}.board .rm-head,.board .rm-corner{display:none}.board .rm-lane{margin:14px 0 6px;font-size:14px}.board .rm-cell{margin-bottom:6px}.board .rm-cell.empty{display:none}.board .rm-cell:before{content:attr(data-col);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);padding:2px 4px}.board .chip.shipped{margin-left:0}}.board .item.card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.board .item.card:hover p,.board .item.card:focus-within p{-webkit-line-clamp:unset;line-clamp:unset}@media(max-width:760px){.board .item.card p{-webkit-line-clamp:unset;line-clamp:unset}}.night{position:fixed;inset:0;z-index:6;background:#04080b;display:grid;place-items:center;opacity:0;transition:opacity 1.2s ease;pointer-events:none}.night.on{opacity:1}.night .title{font-size:clamp(26px,4.6vw,48px);font-weight:300;letter-spacing:.2em;text-transform:uppercase;text-align:center;font-variant-numeric:tabular-nums}.night .title small{display:block;margin-top:14px;font-size:11px;letter-spacing:.3em;color:var(--dim)}body.lobby .night{display:none}.join .racenight{margin:0 0 12px;padding:10px 13px;font-size:13.5px;line-height:1.5;border:1px solid var(--amber);border-radius:10px;background:#ffc46b14}.join .racenight b:first-child{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin-bottom:2px}
