:root{--ink:#2c3440;--ink-soft:#6d7887;--paper:#fff;--sea:#cfe3ec;--accent:#e2533f;--green:#3aa76d;--amber:#e9a23b;--red:#e2533f;--sea-deep:#2f7f95;--paper-soft:#f2f6f8;--soak:#3d8fd1;--ready:#3aa76d;--escape:#e9a23b;--gold:#f2b33d;--shadow:0 2px 0 #2c34400f, 0 6px 18px #2c344024;--radius:14px;--font:ui-rounded, "SF Pro Rounded", "Nunito", "Varela Round", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{background:var(--sea);height:100%;font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}button{color:inherit;font-family:inherit}#app{position:fixed;inset:0;container:app/size}#view{position:absolute;inset:0;overflow:hidden}#view canvas{touch-action:none;display:block}.hidden,body[data-mode=large] :is(.m-small,.m-strip):not(.m-large),body[data-mode=small] :is(.m-large,.m-strip):not(.m-small),body[data-mode=strip] :is(.m-large,.m-small):not(.m-strip){display:none!important}#hud{pointer-events:none;position:absolute;inset:0}#modals:empty{display:none}#modals{z-index:20;position:absolute;inset:0}#labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}#minigame{z-index:15;position:absolute;inset:0}#panels{z-index:12;pointer-events:none;position:absolute;inset:0}#hints{z-index:14;pointer-events:none;position:absolute;inset:0}#start{z-index:30}.debug{pointer-events:auto;opacity:.92;background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);white-space:pre;margin:0;padding:12px 14px;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;position:absolute;bottom:88px;left:16px}.screen{background:#cfe3ecb3;place-items:center;display:grid;position:absolute;inset:0}.card{background:var(--paper);box-shadow:var(--shadow);border-radius:20px;padding:28px 32px}.start-card{text-align:center;width:min(380px,100cqw - 32px)}.start-card h1{letter-spacing:-.01em;margin:0 0 4px;font-size:34px}.tag{color:var(--ink-soft);margin:0 0 6px}.how{color:var(--sea-deep);margin:0 0 20px;font-size:13px;font-weight:700}.start-mark{width:64px;height:30px;margin:-6px auto 2px;animation:3.2s ease-in-out infinite startBob;display:block;overflow:visible}.start-mark .sm-sea{fill:none;stroke:var(--sea-deep);stroke-width:2.4px;stroke-linecap:round;opacity:.55}.start-mark .sm-hull{fill:var(--accent)}.start-mark .sm-cabin{fill:var(--paper);stroke:var(--ink);stroke-width:1.6px}.start-mark .sm-window{fill:var(--ink)}.start-mark .sm-crane{fill:none;stroke:var(--gold);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.start-mark .sm-pot{fill:none;stroke:var(--ink-soft);stroke-width:1.4px}@keyframes startBob{50%{transform:translateY(1.5px)rotate(-2deg)}}@media (prefers-reduced-motion:reduce){.start-mark{animation:none}}.btns{justify-content:center;gap:10px;display:flex}.btns button{cursor:pointer;background:#eef2f5;border:0;border-radius:21px;height:42px;padding:0 20px;font-size:16px;font-weight:700}.btns button.primary{background:var(--accent);color:#fff}.fine{color:var(--ink-soft);margin:16px 0 0;font-size:12px}@container app (height<=420px) or (width<=400px){.start-card{border-radius:16px;padding:16px 20px 14px}.start-mark{width:48px;height:22px;margin:-2px auto 0}.start-card h1{margin-bottom:2px;font-size:26px}.tag{margin-bottom:4px;font-size:13px}.how{margin-bottom:12px;font-size:11.5px}.btns button{border-radius:18px;height:36px;padding:0 16px;font-size:14px}.fine{margin-top:10px;font-size:11px}}@container app (height<=240px){.start-mark,.how{display:none}.start-card{padding:12px 18px 10px}.tag{margin-bottom:10px;line-height:1.25}.fine{margin-top:8px}}#app{--winbar-w:200px;--winbar-cw:132px;--winbar-clear:34px}body[data-host=electron] #app{--winbar-w:280px;--winbar-cw:180px}#hud-main{z-index:1;pointer-events:none;font-family:var(--font);color:var(--ink);position:absolute;inset:0}.hud-card{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);pointer-events:auto;font-variant-numeric:tabular-nums}svg.hi{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.hud-tl{flex-direction:column;align-items:flex-start;gap:8px;display:flex;position:absolute;top:16px;left:16px}.hud-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:relative}.hud-money{white-space:nowrap;border-radius:20px;align-items:center;height:40px;padding:0 16px;font-size:19px;display:flex;position:relative}.hud-money b{font-weight:800}.hud-money.neg b{color:var(--red)}.hud-voyage{white-space:nowrap;height:32px;color:var(--ink);cursor:pointer;border:0;border-radius:16px;align-items:center;gap:6px;padding:0 12px 0 9px;font-family:inherit;font-size:14px;font-weight:800;transition:filter .15s,transform .1s;display:flex}.hud-voyage:hover{filter:brightness(.97);transform:translateY(-1px)}.hud-voyage:active{transform:translateY(1px)}.hud-voyage svg.hi{color:var(--sea-deep)}.hud-voyage .ic-bell,.hud-voyage[data-s=expiredAtPort] .ic-clock{display:none}.hud-voyage[data-s=expiredAtPort] .ic-bell{display:block}.hud-voyage[data-s=none]{color:var(--ink-soft)}.hud-voyage[data-s=none] svg.hi{color:var(--ink-soft);opacity:.7}.hud-voyage[data-s=soon],.hud-voyage[data-s=soon] svg.hi{color:var(--amber)}.hud-voyage[data-s=snoozed]{color:var(--ink-soft)}.hud-voyage[data-s=snoozed] svg.hi{color:var(--amber)}.hud-voyage[data-s=expiredAtPort]{background:var(--soak);color:#fff}.hud-voyage[data-s=alarm]{background:var(--gold);color:#5b3906;animation:1.6s ease-in-out infinite hudAlarm}.hud-voyage[data-s=alarm] svg.hi{color:#5b3906;animation:1.6s ease-in-out infinite hudAlarmIcon}.hud-voyage[data-s=expiredAtPort] svg.hi{color:#fff}@keyframes hudAlarm{50%{box-shadow:var(--shadow), 0 0 0 6px #f2b33d59}}@keyframes hudAlarmIcon{0%,30%,to{transform:rotate(0)}6%{transform:rotate(-14deg)}12%{transform:rotate(12deg)}18%{transform:rotate(-8deg)}24%{transform:rotate(5deg)}}.hud-float{opacity:0;pointer-events:none;color:var(--green);white-space:nowrap;text-shadow:0 1px #fff,0 0 6px #fff;font-size:15px;font-weight:800;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.hud-float.neg{color:var(--red)}.hud-float.show{animation:1.3s ease-out forwards hudFloat}@keyframes hudFloat{0%{opacity:0;margin-top:4px}15%{opacity:1;margin-top:0}to{opacity:0;margin-top:-22px}}.hud-res{flex-direction:column;gap:7px;padding:11px 14px;display:flex}.hud-row{white-space:nowrap;align-items:center;gap:8px;font-size:13px;display:flex}.hud-row .lbl{width:72px;color:var(--ink-soft);font-weight:700}.hud-row b{font-size:13px;font-weight:800}.hud-bar .val{text-align:right;min-width:58px}.hud-bar .track{background:#e6edf1;border-radius:5px;flex:none;width:110px;height:10px;position:relative;overflow:hidden}.hud-bar .fill{transform-origin:0;border-radius:5px;transition:transform .25s,background .3s;position:absolute;inset:0;transform:scaleX(0)}.hud-bar.fuel svg.hi{color:var(--amber)}.hud-bar.fuel .fill{background:var(--amber)}.hud-bar.prov svg.hi{color:var(--green)}.hud-bar.prov .fill{background:var(--green)}.hud-bar.tank svg.hi{color:var(--sea-deep)}.hud-bar.tank .fill{background:var(--sea-deep)}.hud-bar.low svg.hi,.hud-bar.low .val{color:var(--red)}.hud-bar.low .fill{background:var(--red);animation:1.2s ease-in-out infinite hudPulse}.hud-bar.tank.full .val{color:var(--amber)}.hud-cages svg.hi{color:var(--ink-soft)}.hud-ready{color:var(--ready);margin-left:-4px;font-weight:800}@keyframes hudPulse{50%{opacity:.55}}#hud-main kbd{background:var(--paper-soft);min-width:20px;height:20px;color:var(--ink-soft);border-radius:6px;place-items:center;padding:0 5px;font-family:inherit;font-size:11px;font-weight:800;line-height:1;display:inline-grid;box-shadow:inset 0 -2px #2c34401f}.hud-pills{gap:6px;display:flex}.hud-radar{background:var(--paper);height:32px;box-shadow:var(--shadow);pointer-events:auto;cursor:pointer;color:var(--ink-soft);border:0;border-radius:16px;align-items:center;gap:6px;padding:0 6px 0 11px;font-size:13px;font-weight:800;transition:background .15s,color .15s;display:flex}.hud-radar:hover{filter:brightness(.97)}.hud-radar.on{background:var(--sea-deep);color:#fff}.hud-radar.on kbd{color:#fff;box-shadow:none;background:#fff3}.hud-map svg.hi{color:var(--sea-deep)}.hud-map.on svg.hi{color:#fff}.hud-notify{padding-right:12px}.hud-notify svg.hi{color:var(--amber)}.hud-notify.on svg.hi{color:#fff}.hud-sound{padding-right:12px}.hud-sound svg.hi{color:var(--sea-deep)}.hud-sound .ic-off,.hud-sound.muted .ic-on{display:none}.hud-sound.muted .ic-off{color:var(--ink-soft);display:block}.hud-gauge{border-radius:20px;align-items:center;gap:12px;padding:6px 14px 6px 6px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.hud-gears{gap:3px;display:flex}.hud-gears span{background:var(--paper-soft);width:30px;height:30px;color:var(--ink-soft);border-radius:10px;place-items:center;font-size:15px;font-weight:800;transition:background .15s,color .15s;display:grid}.hud-gears span.cruise{box-shadow:inset 0 -3px #2f7f9559}.hud-gears span.on{background:var(--sea-deep);color:#fff;box-shadow:none}.hud-gears span.on[data-g="-1"]{background:var(--amber)}.hud-gears span.on[data-g="0"]{background:var(--ink)}.hud-speed{align-items:center;gap:8px;display:flex}.hud-speed b{white-space:nowrap;min-width:76px;font-size:18px;font-weight:800}.hud-brake{background:var(--red);color:#fff;text-transform:uppercase;letter-spacing:.06em;border-radius:8px;padding:2px 8px;font-size:11px;font-weight:800}.hud-br{flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:16px;right:16px}.hud-badges,.hud-btns{flex-direction:column;align-items:flex-end;gap:6px;display:flex}:is(.hud-badges:not(:has(>:not(.hidden))),.hud-btns:not(:has(>:not(.hidden)))){display:none}.hud-badge{background:var(--paper);height:28px;box-shadow:var(--shadow);pointer-events:auto;white-space:nowrap;border-radius:14px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:800;display:flex}.hud-badge:before{content:"";background:currentColor;border-radius:4px;width:8px;height:8px}.hud-badge.dock{color:var(--sea-deep)}.hud-badge.tow{color:var(--amber)}.hud-badge.ap{color:var(--green)}.hud-badge.ap[data-k=run]{color:var(--sea-deep)}.hud-badge.ap[data-k=need]{background:var(--amber);color:#fff;animation:1.4s ease-in-out infinite hudNeedBadge}@keyframes hudNeedBadge{50%{box-shadow:var(--shadow), 0 0 0 4px #e9a23b4d}}.hud-badge.task{color:var(--sea-deep)}.hud-badge.task>span:first-child{color:var(--ink)}.hud-badge.task .track{background:#e6edf1;border-radius:3px;width:56px;height:6px;position:relative;overflow:hidden}.hud-badge.task .fill{background:var(--sea-deep);transform-origin:0;border-radius:3px;transition:transform .15s linear;position:absolute;inset:0;transform:scaleX(0)}.hud-btn{cursor:pointer;pointer-events:auto;background:var(--paper);height:40px;box-shadow:var(--shadow);color:var(--ink);white-space:nowrap;border:0;border-radius:20px;padding:0 18px;font-family:inherit;font-size:15px;font-weight:800;transition:transform .1s,filter .15s}.hud-btn:hover{filter:brightness(.97);transform:translateY(-1px)}.hud-btn:active{transform:translateY(1px)}.hud-btn.primary{background:var(--accent);color:#fff}.hud-btn.warn{background:var(--amber);color:#fff}.hud-port{align-items:center;gap:7px;padding:0 8px 0 14px;display:flex}.hud-port svg.hi{color:var(--sea-deep)}.hud-acts{gap:6px;display:flex}.hud-act{align-items:center;gap:7px;padding:0 8px 0 14px;display:flex;position:relative}.hud-act svg.hi{color:var(--sea-deep)}.hud-act.off{cursor:default;box-shadow:0 1px #2c34400f,0 3px 10px #2c34401a}.hud-act.off>*{opacity:.42}.hud-act.off:hover,.hud-act.off:active{filter:none;transform:none}.hud-act.ready{background:var(--ready);color:#fff;animation:1.6s ease-in-out infinite hudReady}.hud-act.ready svg.hi{color:#fff}.hud-act.ready kbd{color:#fff;box-shadow:none;background:#ffffff38}@keyframes hudReady{50%{box-shadow:var(--shadow), 0 0 0 5px #3aa76d47}}.hud-act.need{background:var(--amber);color:#fff;animation:1.1s ease-in-out infinite hudNeed}.hud-act.need svg.hi{color:#fff}.hud-act.need kbd{color:#fff;box-shadow:none;background:#ffffff3d}@keyframes hudNeed{50%{box-shadow:var(--shadow), 0 0 0 6px #e9a23b59}}@container app (width<=1100px){#hud-main:not(.compact) .hud-act .t{display:none}#hud-main:not(.compact) .hud-act{padding:0 8px 0 11px}}@container app (width<=880px){#hud-main:not(.compact) .hud-acts{flex-direction:column;align-items:flex-end}}.hud-hint{pointer-events:none;max-width:calc(50% - 170px);color:var(--ink-soft);background:#ffffffb8;border-radius:11px;padding:6px 11px;font-size:12px;font-weight:700;position:absolute;bottom:16px;left:16px}.hud-hint>div{white-space:nowrap}.hud-hint>div+div{margin-top:2px}@container app (width<=900px){.hud-hint{display:none}}#toasts{pointer-events:none;z-index:13;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:min(460px,100% - 32px);display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%)}@container app (width<=1080px){#toasts:not(.compact){width:auto;max-width:none;top:64px;left:360px;right:16px;transform:none}}.toast{background:var(--paper);box-shadow:var(--shadow);border-radius:14px;align-items:center;gap:8px;padding:9px 16px;font-size:14px;font-weight:700;line-height:1.3;transition:opacity .3s,transform .3s;animation:.25s hudToastIn;display:flex}.toast .dot{background:var(--sea-deep);border-radius:5px;flex:none;width:10px;height:10px}.toast.good .dot{background:var(--green)}.toast.warn .dot{background:var(--amber)}.toast.bad .dot{background:var(--red)}.toast.bell .dot{background:var(--soak);box-shadow:0 0 0 3px #3d8fd133}.toast.out{opacity:0;transform:translateY(-8px)}@keyframes hudToastIn{0%{opacity:0;transform:translateY(-10px)scale(.96)}to{opacity:1;transform:none}}#hud-main.compact .hud-tl{gap:5px;top:8px;left:8px}#hud-main.compact .hud-money{border-radius:13px;height:26px;padding:0 10px;font-size:14px}#hud-main.compact .hud-float{font-size:12px;left:calc(100% + 5px)}#hud-main.compact .hud-top{max-width:calc(100cqw - 8px - var(--winbar-cw) - 6px - 6px);gap:5px}#hud-main.compact .hud-voyage{border-radius:11px;gap:4px;height:22px;padding:0 8px 0 6px;font-size:11px}#hud-main.compact .hud-sound{border-radius:12px;justify-content:center;width:24px;height:24px;padding:0}#hud-main.compact .hud-sound span{display:none}#hud-main.compact .hud-sound svg.hi{width:14px;height:14px}@container app (width<=360px){#hud-main.compact .hud-sound{display:none}}#hud-main.compact .hud-res{border-radius:11px;gap:3px;padding:6px 9px}#hud-main.compact .hud-row{gap:5px;font-size:11px}#hud-main.compact .hud-row .lbl{display:none}#hud-main.compact .hud-row b{font-size:11px}#hud-main.compact .hud-ready{background:var(--ready);color:#fff;border-radius:7px;place-items:center;min-width:15px;height:14px;margin-left:0;padding:0 4px;font-size:10px;line-height:1;display:inline-grid}#hud-main.compact svg.hi{stroke-width:2.2px;width:13px;height:13px}#hud-main.compact .hud-bar .track{width:56px;height:7px}#hud-main.compact .hud-bar .val{min-width:42px}#hud-main.compact .hud-gauge{border-radius:12px;gap:6px;padding:3px 8px 3px 3px;bottom:8px;left:8px;transform:none}#hud-main.compact .hud-gears{gap:2px}#hud-main.compact .hud-gears span{border-radius:7px;width:19px;height:20px;font-size:11px}#hud-main.compact .hud-speed{gap:4px}#hud-main.compact .hud-speed b{min-width:46px;font-size:12px}#hud-main.compact .hud-brake{letter-spacing:0;padding:1px 5px;font-size:11px}#hud-main.compact .hud-br{gap:4px;bottom:8px;right:8px}#hud-main.compact .hud-badges,#hud-main.compact .hud-btns{gap:4px}#hud-main.compact .hud-badge{border-radius:10px;gap:4px;height:20px;padding:0 8px;font-size:11px}#hud-main.compact .hud-badge:before{width:6px;height:6px}#hud-main.compact .hud-btn{text-overflow:ellipsis;border-radius:14px;max-width:calc(100cqw - 200px);height:28px;padding:0 11px;font-size:12px;overflow:hidden}#hud-main.compact .hud-hint{display:none}#hud-main.compact kbd{border-radius:4px;min-width:13px;height:13px;padding:0 3px;font-size:9px}#hud-main.compact .hud-pills{gap:4px}#hud-main.compact .hud-port{gap:4px;padding:0 10px 0 8px}#hud-main.compact .hud-port kbd{display:none}#hud-main.compact .hud-radar{border-radius:11px;gap:4px;height:22px;padding:0 4px 0 7px;font-size:11px}#hud-main.compact .hud-badge.task .track{width:34px;height:5px}#hud-main.compact .hud-acts{gap:7px}#hud-main.compact .hud-act{border-radius:15px;justify-content:center;width:30px;max-width:none;height:30px;padding:0;overflow:visible}#hud-main.compact .hud-act .t{display:none}#hud-main.compact .hud-act svg.hi{width:16px;height:16px}#hud-main.compact .hud-act kbd{background:var(--paper);position:absolute;top:-4px;right:-4px;box-shadow:0 1px 2px #2c344040}#hud-main.compact .hud-act.ready kbd{background:var(--paper);color:var(--ready)}#hud-main.compact .hud-act.need kbd{background:var(--paper);color:var(--amber)}#hud-main.compact .hud-act.off kbd{opacity:.8}#toasts.compact{align-items:flex-end;gap:4px;width:auto;max-width:calc(100% - 170px);top:36px;left:auto;right:8px;transform:none}#toasts.compact .toast{border-radius:10px;gap:6px;padding:5px 9px;font-size:11px}#toasts.compact .toast .dot{width:7px;height:7px}#toasts.compact .toast>span:last-child{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}#toasts.compact .toast:nth-last-child(n+3){display:none}@container app (height<=240px) or (width<=360px){#toasts.compact .toast:not(:last-child){display:none}}#app:has(#minigame:not(.hidden)) #toasts{z-index:16}#app:has(#panels>.panel:not(.hidden)) #toasts:not(.compact){top:16px;left:auto;right:calc(var(--winbar-w) + 32px);width:max-content;max-width:calc(100% - var(--winbar-w) - 400px);align-items:flex-end;transform:none}#app:has(#panels>.panel:not(.hidden)) #toasts:not(.compact) .toast:not(:last-child){display:none}#app:has(#panels>.panel:not(.hidden)) #toasts:not(.compact) .toast{white-space:nowrap;height:36px;padding:0 14px}#app:has(#minigame:not(.hidden),#panels>.panel:not(.hidden)) #toasts.compact{top:6px;left:8px;right:calc(var(--winbar-cw) + 14px);align-items:flex-start;max-width:none}#app:has(#minigame:not(.hidden),#panels>.panel:not(.hidden)) #toasts.compact .toast:not(:last-child){display:none}#app:has(#minigame:not(.hidden),#panels>.panel:not(.hidden)) #toasts.compact .toast{max-width:100%;height:24px;padding:0 9px}#app:has(#minigame:not(.hidden),#panels>.panel:not(.hidden)) #toasts.compact .toast>span:last-child{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.modal-back{background:#2c344047;place-items:center;padding:12px;animation:.15s hudFade;display:grid;position:absolute;inset:0}.modal-card{background:var(--paper);width:min(360px,100cqw - 24px);max-height:calc(100cqh - 24px);box-shadow:var(--shadow);text-align:center;font-family:var(--font);color:var(--ink);border-radius:20px;padding:22px 24px 20px;animation:.2s hudPop;overflow:auto}.modal-title{margin:0 0 6px;font-size:21px;font-weight:800}.modal-body{color:var(--ink-soft);margin:0 0 18px;font-size:14px;line-height:1.4}.modal-btns{gap:10px;display:flex}.modal-btns button{cursor:pointer;height:44px;color:var(--ink);background:#eef2f5;border:0;border-radius:22px;flex:1;padding:0 12px;font-family:inherit;font-size:15px;font-weight:800;transition:transform .1s,filter .15s}.modal-btns button:hover{filter:brightness(.96);transform:translateY(-1px)}.modal-btns button.primary{background:var(--accent);color:#fff}.modal-btns button.ghost{height:34px;color:var(--ink-soft);background:0 0}.modal-btns+.modal-btns,.modal-seg+.modal-btns{margin-top:8px}.modal-card kbd{background:var(--paper-soft);min-width:20px;height:20px;color:var(--ink-soft);border-radius:6px;place-items:center;padding:0 5px;font-family:inherit;font-size:11px;font-weight:800;line-height:1;display:inline-grid;box-shadow:inset 0 -2px #2c34401f}.modal-seg{background:var(--paper-soft);border-radius:16px;align-items:center;gap:4px;margin-top:10px;padding:4px;display:flex}.modal-seg-label{color:var(--ink-soft);flex:none;padding:0 6px 0 8px;font-size:13px;font-weight:800}.modal-seg button{cursor:pointer;white-space:nowrap;min-width:0;height:34px;color:var(--ink);background:0 0;border:0;border-radius:12px;flex:1;padding:0 6px;font-family:inherit;font-size:14px;font-weight:800;transition:background .15s}.modal-seg button:hover{background:#ffffffb3}.modal-seg button.primary{background:var(--paper);box-shadow:0 1px 3px #2c344026}@keyframes hudFade{0%{opacity:0}}@keyframes hudPop{0%{opacity:0;transform:translateY(6px)scale(.97)}}@container app (height<=360px) or (width<=560px){.modal-back{padding:var(--winbar-clear) 8px 6px}.modal-card{max-height:calc(100cqh - var(--winbar-clear) - 6px)}}@container app (height<=360px) or (width<=400px){.modal-card{border-radius:14px;padding:12px 14px}.modal-title{margin-bottom:4px;font-size:16px}.modal-body{margin-bottom:10px;font-size:12px}.modal-btns{gap:8px}.modal-btns button{border-radius:17px;height:34px;font-size:13px}.modal-btns+.modal-btns,.modal-seg+.modal-btns{margin-top:5px}.modal-seg{border-radius:13px;gap:3px;margin-top:6px;padding:3px}.modal-seg button{border-radius:10px;height:28px;font-size:12px}}@media (prefers-reduced-motion:reduce){.hud-voyage[data-s=alarm],.hud-voyage[data-s=alarm] svg.hi,.hud-bar.low .fill,.hud-badge.ap[data-k=need],.hud-act.ready,.hud-act.need{animation:none}}#voyage .vy-card{width:min(360px,100%)}#voyage svg.hi{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}#voyage .vy-ico{color:#c7861f;background:#fdf1de;border-radius:16px;place-items:center;width:32px;height:32px;margin-right:-2px;display:grid}#voyage .vy-ico svg+svg,#voyage .vy-card[data-s=expiredAtPort] .vy-ico svg:first-child{display:none}#voyage .vy-card[data-s=expiredAtPort] .vy-ico{color:var(--soak);background:#e3effa}#voyage .vy-card[data-s=expiredAtPort] .vy-ico svg+svg{display:block}#voyage .pnl-btn.primary{background:var(--sea-deep)}#voyage .vy-card:not([data-s=none]) .vy-intro,#voyage .vy-card[data-s=none] .vy-status,#voyage .vy-card[data-pick="0"] .vy-picker,#voyage .vy-card[data-pick="1"] .vy-acts,#voyage .vy-card[data-s=none] .vy-back,#voyage .vy-card:not([data-s=alarm]) .vy-status .vy-meter,#voyage .vy-card:not([data-s=running]) .vy-clear,#voyage .vy-card:is([data-s=none],[data-s=running]) .vy-dismiss,#voyage .vy-card:not(:is([data-s=alarm],[data-s=expiredAtPort])) .vy-snooze,#voyage .vy-cap:empty{display:none}#voyage .vy-intro{margin:0 0 14px;font-size:14px;font-weight:700;line-height:1.4}#voyage .vy-status{border-radius:var(--radius);background:var(--paper-soft);text-align:center;flex-direction:column;align-items:center;margin:2px 0 14px;padding:12px 14px;display:flex}#voyage .vy-cap{color:var(--ink-soft);font-size:13px;font-weight:800}#voyage .vy-big{letter-spacing:-.01em;color:var(--sea-deep);font-size:40px;font-weight:800;line-height:1.1}#voyage .vy-big.soon{color:var(--amber)}#voyage .vy-card:is([data-s=alarm],[data-s=expiredAtPort]) .vy-big{font-size:28px}#voyage .vy-card[data-s=alarm] .vy-big{color:#c7861f}#voyage .vy-card[data-s=expiredAtPort] .vy-big{color:var(--soak)}#voyage .vy-sub{color:var(--ink-soft);margin-top:2px;font-size:13px;font-weight:700;line-height:1.35}#voyage .vy-status .vy-meter{align-self:stretch;margin-top:10px}.vy-meter{color:#4f6477;white-space:nowrap;align-items:center;gap:10px;font-size:12px;font-weight:800;display:flex}.vy-meter-track{background:#e2eaef;border-radius:4px;flex:1;height:8px;position:relative;overflow:hidden}.vy-meter-fill{transform-origin:0;background:linear-gradient(90deg, var(--soak), #4d6a86 60%, #3b4e66);border-radius:4px;transition:transform .4s;position:absolute;inset:0;transform:scaleX(0)}#voyage .vy-presets{justify-content:space-between;gap:8px;display:flex}#voyage .vy-preset{width:64px;height:64px;color:var(--sea-deep);cursor:pointer;background:#e3f0f4;border:0;border-radius:32px;flex-direction:column;justify-content:center;align-items:center;padding:0;font-family:inherit;transition:transform .1s,background .15s;display:flex;box-shadow:inset 0 -3px #2f7f9529}#voyage .vy-preset b{font-size:22px;font-weight:800;line-height:1}#voyage .vy-preset span{opacity:.75;margin-top:1px;font-size:11px;font-weight:800}#voyage .vy-preset:hover{background:#d3e8ef;transform:translateY(-1px)}#voyage .vy-preset:active{transform:translateY(1px)}#voyage .vy-custom{align-items:center;gap:8px;margin:12px 0 0;display:flex}#voyage .vy-field{background:var(--paper-soft);min-width:0;height:36px;color:var(--ink-soft);border-radius:18px;flex:1;align-items:center;padding:0 12px 0 4px;font-size:13px;font-weight:800;display:flex;box-shadow:inset 0 0 0 1.5px #dbe4ea}#voyage .vy-field:focus-within{box-shadow:inset 0 0 0 2px var(--sea-deep)}#voyage .vy-field input{width:100%;min-width:0;height:100%;color:var(--ink);-moz-appearance:textfield;background:0 0;border:0;outline:none;flex:1;padding:0 6px 0 10px;font-family:inherit;font-size:15px;font-weight:800}#voyage .vy-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}#voyage .vy-field input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}#voyage .vy-field input::placeholder{color:#9aa5b1;font-weight:700}#voyage .vy-acts{flex-wrap:wrap;gap:8px;display:flex}#voyage .vy-acts>.pnl-btn{flex:1 1 0}#voyage .vy-card[data-s=snoozed] .vy-dismiss{order:1}#voyage .vy-card:is([data-s=alarm],[data-s=expiredAtPort]) .vy-acts>*{flex:100%}#voyage .vy-card:is([data-s=alarm],[data-s=expiredAtPort]) .vy-change{color:var(--ink-soft);background:0 0}#voyage .vy-snooze{background:var(--paper-soft);border-radius:16px;align-items:center;gap:4px;padding:4px;display:flex}#voyage .vy-snooze>span{color:var(--ink-soft);padding:0 6px;font-size:13px;font-weight:800}#voyage .vy-snooze button{cursor:pointer;height:30px;color:var(--ink);white-space:nowrap;background:0 0;border:0;border-radius:12px;flex:1;padding:0 6px;font-family:inherit;font-size:13px;font-weight:800}#voyage .vy-snooze button:hover{background:#ffffffb3}#voyage .vy-snooze button.def{background:var(--paper);box-shadow:inset 0 0 0 2px var(--gold), 0 1px 3px #2c34401f}#voyage .vy-card.compact{width:min(300px,100%)}#voyage .vy-card.compact .vy-ico{display:none}#voyage .vy-card.compact .vy-intro{margin-bottom:8px;font-size:11px;line-height:1.3}#voyage .vy-card.compact .vy-status{border-radius:10px;margin:0 0 7px;padding:5px 8px}#voyage .vy-card.compact .vy-cap{font-size:10px}#voyage .vy-card.compact .vy-big{font-size:22px}#voyage .vy-card.compact:is([data-s=alarm],[data-s=expiredAtPort]) .vy-big{font-size:16px}#voyage .vy-card.compact .vy-sub{margin-top:0;font-size:10.5px}#voyage .vy-card.compact[data-s=alarm] .vy-sub{display:none}#voyage .vy-card.compact .vy-status .vy-meter{margin-top:4px}#voyage .vy-card.compact .vy-meter{gap:7px;font-size:10px}#voyage .vy-card.compact .vy-meter-track{height:6px}#voyage .vy-card.compact .vy-presets{gap:6px}#voyage .vy-card.compact .vy-preset{border-radius:14px;flex-direction:row;flex:1;gap:2px;width:auto;height:28px;box-shadow:inset 0 -2px #2f7f9529}#voyage .vy-card.compact .vy-preset b{font-size:13px}#voyage .vy-card.compact .vy-preset span{margin-top:1px;font-size:9px}#voyage .vy-card.compact .vy-custom{gap:6px;margin-top:6px}#voyage .vy-card.compact .vy-field{border-radius:15px;height:30px;padding-right:9px;font-size:11px}#voyage .vy-card.compact .vy-field input{padding-left:8px;font-size:13px}#voyage .vy-card.compact .vy-acts{gap:5px}#voyage .vy-card.compact:is([data-s=alarm],[data-s=expiredAtPort]) .vy-acts>.pnl-btn{flex:1 1 0}#voyage .vy-card.compact:is([data-s=alarm],[data-s=expiredAtPort]) .vy-snooze{order:1}#voyage .vy-card.compact .vy-snooze{border-radius:13px;gap:3px;padding:3px}#voyage .vy-card.compact .vy-snooze>span{padding:0 4px;font-size:11px}#voyage .vy-card.compact .vy-snooze button{border-radius:10px;height:24px;font-size:11px}.modal-card.alarm-card{background:linear-gradient(180deg, #fff6e2 0, var(--paper) 120px);flex-direction:column;width:min(340px,100cqw - 24px);padding:16px 22px;display:flex}.alarm-card.at-port{background:linear-gradient(180deg, #e8f2fb 0, var(--paper) 120px)}.alarm-card .alarm-content{display:contents}.alarm-card .alarm-clock{order:-1;width:84px;height:84px;margin:0 auto 4px;display:block;overflow:visible}.alarm-card .modal-title{font-size:24px}.alarm-card .modal-body{margin-bottom:12px}.alarm-card .vy-meter{margin:0 4px 14px}.alarm-clock .ac-bell{fill:var(--sea-deep)}.alarm-card.at-port .alarm-clock .ac-bell{fill:var(--soak)}.alarm-clock .ac-leg{fill:none;stroke:var(--sea-deep);stroke-width:4px;stroke-linecap:round}.alarm-clock .ac-rim{fill:var(--gold);stroke:#d9952a;stroke-width:2px}.alarm-clock .ac-face{fill:#fffdf7}.alarm-clock .ac-tick{fill:none;stroke:#c9b89a;stroke-width:2px;stroke-linecap:round}.alarm-clock .ac-hand{fill:none;stroke:var(--ink);stroke-width:2.6px;stroke-linecap:round}.alarm-clock .ac-pin{fill:var(--ink)}.alarm-clock .ac-ring{fill:none;stroke:var(--amber);stroke-width:2.4px;stroke-linecap:round;animation:1.2s ease-in-out infinite acRing}.alarm-clock .ac-body{transform-box:fill-box;transform-origin:50% 60%;animation:1.2s ease-in-out infinite acWobble}.alarm-card.at-port .alarm-clock .ac-ring{stroke:var(--soak)}@keyframes acWobble{0%,40%,to{transform:rotate(0)}5%{transform:rotate(-9deg)}10%{transform:rotate(8deg)}15%{transform:rotate(-7deg)}20%{transform:rotate(6deg)}25%{transform:rotate(-4deg)}30%{transform:rotate(2deg)}}@keyframes acRing{0%,35%,to{opacity:0}8%,25%{opacity:1}}.alarm-card .modal-btns button.primary{background:var(--sea-deep);justify-content:center;align-items:center;gap:8px;display:flex}.alarm-card .modal-btns button.primary kbd{color:#fff;box-shadow:none;background:#fff3}.alarm-card .modal-seg button.primary{background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 2px var(--gold), 0 1px 3px #2c34401f}@container app (height<=360px) or (width<=400px){.modal-card.alarm-card{text-align:left;background:linear-gradient(180deg, #fff6e2 0, var(--paper) 60px);grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px;width:min(320px,100cqw - 16px);padding:10px 12px;display:grid}.alarm-card.at-port{background:linear-gradient(180deg, #e8f2fb 0, var(--paper) 60px)}.alarm-card .alarm-clock{grid-row:1/span 2;width:42px;height:42px;margin:0}.alarm-card .modal-title{grid-column:2;margin:0;font-size:16px}.alarm-card .modal-body{grid-column:2;margin:0;font-size:11.5px;line-height:1.3}.alarm-card :is(.vy-meter,.modal-btns,.modal-seg){grid-column:1/-1}.alarm-card .vy-meter{gap:7px;margin:7px 2px;font-size:10.5px}.alarm-card .vy-meter-track{height:6px}.alarm-card .modal-btns button{border-radius:15px;height:30px;font-size:13px}.alarm-card .modal-btns button.ghost{height:24px;margin-top:3px;font-size:12px}.alarm-card .modal-seg{border-radius:13px;gap:3px;margin-top:5px;padding:3px}.alarm-card .modal-seg-label{font-size:11px}.alarm-card .modal-seg button{border-radius:10px;height:24px;font-size:12px}.alarm-card kbd{min-width:14px;height:15px;font-size:9px}.modal-back:has(>.alarm-card){padding:var(--winbar-clear,34px) 8px 6px}}@container app (height<=230px){.alarm-card .alarm-clock{grid-row:1;width:30px;height:30px}.alarm-card .modal-body{display:none}.alarm-card .modal-btns button{height:28px}.alarm-card .modal-btns button.ghost{height:20px;margin-top:2px}.alarm-card .vy-meter{margin:5px 2px}.alarm-card .modal-seg{margin-top:4px}}@media (prefers-reduced-motion:reduce){.alarm-clock .ac-body,.alarm-clock .ac-ring{animation:none}}.clabel{pointer-events:none;will-change:transform;font-family:var(--font);font-variant-numeric:tabular-nums;position:absolute;top:0;left:0}.clabel.hidden{display:none}.clabel-in{padding-bottom:6px;position:absolute;bottom:0;left:0;transform:translate(-50%)}.clabel-pill{background:var(--paper);height:22px;color:var(--ink);box-shadow:var(--shadow);white-space:nowrap;border-radius:11px;align-items:center;gap:5px;padding:0 9px 0 7px;font-size:12.5px;font-weight:800;line-height:1;transition:background .3s,color .3s,box-shadow .2s;display:flex;position:relative}.clabel-pill:after{content:"";background:inherit;z-index:-1;border-radius:0 0 2px;width:8px;height:8px;margin-left:-4px;position:absolute;bottom:-4px;left:50%;transform:rotate(45deg);box-shadow:2px 2px 3px #2c34401f}.clabel-dot{background:var(--soak);border-radius:4px;flex:none;width:8px;height:8px}.clabel-crabs{align-items:center;gap:2px;display:flex}.clabel-crabs:before{content:"·";opacity:.8;margin:0 2px 0 -1px}.clabel-crab{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:14px;height:14px}.clabel-key{box-sizing:border-box;background:var(--ink);color:#fff;border-radius:5px;place-items:center;min-width:16px;height:16px;margin:0 -4px 0 2px;padding:0 3px;font-family:inherit;font-size:10.5px;font-weight:800;display:none}.clabel.soaking .clabel-crabs{display:none}.clabel.ready .clabel-pill{background:var(--ready);color:#fff;animation:1.6s ease-in-out infinite clabelPulse}.clabel.escaping .clabel-pill{background:var(--escape);color:#fff}.clabel.ready .clabel-dot,.clabel.escaping .clabel-dot{background:#fff}.clabel.escaping .clabel-dot{animation:.9s ease-in-out infinite clabelBlink}.clabel.near{z-index:1}.clabel.near .clabel-pill{box-shadow:0 0 0 2.5px #fff, var(--shadow)}.clabel.near .clabel-key{display:grid}.clabel.near.soaking .clabel-pill{box-shadow:0 0 0 2.5px var(--soak), var(--shadow)}@keyframes clabelPulse{0%,to{box-shadow:0 0 0 0 #3aa76d73, var(--shadow)}50%{box-shadow:0 0 0 5px #3aa76d00, var(--shadow)}}.clabel.near.ready .clabel-pill{animation:1.6s ease-in-out infinite clabelPulseNear}@keyframes clabelPulseNear{0%,to{box-shadow:0 0 0 2.5px #fff, 0 0 0 2.5px #3aa76d73, var(--shadow)}50%{box-shadow:0 0 0 2.5px #fff, 0 0 0 7px #3aa76d00, var(--shadow)}}@keyframes clabelBlink{50%{opacity:.35}}.clabel-compact .clabel-in{padding-bottom:5px}.clabel-compact .clabel-pill{border-radius:9px;gap:3px;height:17px;padding:0 6px 0 5px;font-size:10.5px}.clabel-compact .clabel-pill:after{width:6px;height:6px;margin-left:-3px;bottom:-3px}.clabel-compact .clabel-dot{border-radius:3px;width:6px;height:6px}.clabel-compact .clabel-crab{width:11px;height:11px}.clabel-compact .clabel-crabs:before{margin:0 1px 0 0}.clabel-compact .clabel-key{border-radius:4px;min-width:13px;height:13px;margin-right:-3px;font-size:9px}@media (prefers-reduced-motion:reduce){.clabel-pill,.clabel-dot{animation:none!important}}.mg-back{font-family:var(--font);color:var(--ink);-webkit-user-select:none;user-select:none;cursor:pointer;touch-action:none;background:#2c34401f;place-items:center;padding:12px;animation:.15s hudFade;display:grid;position:absolute;inset:0}#minigame:not(.compact) .mg-back{align-items:start}.mg-card{--dial:220px;grid-template-columns:var(--dial) minmax(170px, auto);background:var(--paper);box-shadow:var(--shadow);font-variant-numeric:tabular-nums;border-radius:20px;align-items:center;gap:22px;padding:20px 26px 20px 20px;animation:.2s hudPop;display:grid}.mg-dial,.mg-sum-main{grid-area:1/1}.mg-info,.mg-sum-info{grid-area:1/2}.mg-dial{width:var(--dial);height:var(--dial);display:block}.mg-info,.mg-sum-info{flex-direction:column;align-items:flex-start;gap:8px;min-width:0;display:flex}.mg-title{font-size:20px;font-weight:800}.mg-pull{color:var(--ink-soft);font-size:14px;font-weight:700}.mg-pips{gap:6px;display:flex}.mg-pip{background:#e3eaef;border-radius:8px;width:16px;height:16px}.mg-pip.cur{background:var(--paper);box-shadow:inset 0 0 0 2px var(--ink-soft)}.mg-pip.gold{background:var(--gold)}.mg-pip.good{background:var(--ready)}.mg-pip.miss{background:#d9786a}.mg-flash{opacity:0;height:30px;font-size:26px;font-weight:800;line-height:30px}.mg-flash.show{animation:.6s ease-out forwards mgFlash}.mg-flash.gold{color:#d99a1e}.mg-flash.good{color:var(--ready)}.mg-flash.miss{color:#c9685a}@keyframes mgFlash{0%{opacity:0;transform:scale(.8)}15%{opacity:1;transform:scale(1.08)}30%{transform:scale(1)}75%{opacity:1}to{opacity:0}}.mg-hint{color:var(--ink-soft);font-size:13px}.mg-letgo{cursor:pointer;height:30px;color:var(--ink-soft);background:#eef2f5;border:0;border-radius:15px;margin-top:2px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:800;transition:filter .15s,color .15s}.mg-letgo:hover{filter:brightness(.96);color:var(--ink)}.mg-sum-main,.mg-sum-info{visibility:hidden}.mg-card.sum .mg-dial,.mg-card.sum .mg-info{display:none}#minigame .mg-card.sum{grid-template-columns:auto minmax(120px,auto);gap:24px;padding:18px 28px 18px 24px}#minigame.compact .mg-card.sum{gap:14px;padding:10px 16px 10px 14px}.mg-card.sum .mg-sum-main,.mg-card.sum .mg-sum-info{visibility:visible;animation:.2s hudPop}.mg-sum-main{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.mg-mult{letter-spacing:-.02em;color:var(--sea-deep);font-size:58px;font-weight:800;line-height:1}.mg-verdict{font-size:17px;font-weight:800}.mg-crabs{font-size:22px;font-weight:800}.mg-released{color:var(--escape);font-size:13px;font-weight:700}.mg-sum-hint{color:var(--ink-soft);font-size:12px}#minigame.compact .mg-back{padding:6px}#minigame.compact .mg-card{grid-template-columns:var(--dial) minmax(96px, auto);border-radius:14px;gap:12px;padding:10px 14px 10px 10px}#minigame.compact .mg-info,#minigame.compact .mg-sum-info{gap:5px}#minigame.compact .mg-title,#minigame.compact .mg-pull{display:none}#minigame.compact .mg-pips{gap:4px}#minigame.compact .mg-pip{border-radius:6px;width:11px;height:11px}#minigame.compact .mg-flash{height:20px;font-size:17px;line-height:20px}#minigame.compact .mg-hint{font-size:12px}#minigame.compact .mg-letgo{border-radius:12px;height:24px;padding:0 10px;font-size:11px}#minigame.compact .mg-mult{font-size:36px}#minigame.compact .mg-verdict{font-size:12px}#minigame.compact .mg-crabs{font-size:15px}#minigame.compact .mg-released,#minigame.compact .mg-sum-hint{font-size:11px}#port svg.hi{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}#port .port-ico{background:var(--sea);width:32px;height:32px;color:var(--sea-deep);border-radius:16px;place-items:center;margin-right:-2px;display:grid}#port .port-money{background:var(--paper-soft);white-space:nowrap;border-radius:15px;flex:none;height:30px;padding:0 12px;font-size:15px;font-weight:800;line-height:30px}#port .port-money.neg{color:var(--red);background:#fdecea}#port .port-card.large{width:min(640px,100%)}#port .port-tabs{flex:none;padding:0 20px 12px}#port .port-tabs .pnl-tab{flex:1}#port .port-pane{flex-direction:column;gap:8px;display:flex}#port .port-row{border-radius:var(--radius);background:var(--paper-soft);grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}#port .port-tile{background:var(--paper);width:40px;height:40px;color:var(--sea-deep);border-radius:12px;place-items:center;display:grid;box-shadow:0 1px 2px #2c344014}#port .port-fuel .port-tile{color:var(--amber)}#port .port-prov .port-tile{color:var(--green)}#port .port-main{min-width:0}#port .port-label{align-items:center;gap:10px;font-size:15px;font-weight:800;display:flex}#port .port-detail{color:var(--ink-soft);margin-top:2px;font-size:13px;font-weight:700}#port .port-blurb{margin-top:1px;font-size:13px;line-height:1.35}#port .port-limit{color:var(--amber);font-weight:800}#port .port-limit:before{content:"· ";color:var(--ink-soft);font-weight:700}#port .port-bar{align-items:center;gap:8px;margin-top:4px;display:flex}#port .port-bar .track{background:#e2eaef;border-radius:5px;flex:1;max-width:180px;height:10px;position:relative;overflow:hidden}#port .port-bar .fill{transform-origin:0;border-radius:5px;transition:transform .25s;position:absolute;inset:0;transform:scaleX(0)}#port .port-fuel .fill{background:var(--amber)}#port .port-prov .fill{background:var(--green)}#port .port-bar b{color:var(--ink-soft);font-size:12px;font-weight:800}#port .port-total{justify-content:flex-end;align-items:center;gap:10px;padding:6px 2px 0;font-size:14px;font-weight:700;display:flex}#port .port-total b{text-align:right;min-width:56px;font-size:16px;font-weight:800}#port .port-total b.pos{color:var(--green)}#port .port-total b.neg{color:var(--red)}#port .port-total .pnl-btn{border-radius:20px;height:40px;padding:0 22px;font-size:15px}#port .port-debt{color:#9a6414;background:#fdf1de;border-radius:12px;margin:4px 0 0;padding:10px 14px;font-size:13px;font-weight:700;line-height:1.35}#port .port-crew{grid-template-columns:56px minmax(0,1fr) auto}#port .port-face svg{border-radius:28px;width:56px;height:56px;display:block}#port .port-crew .port-detail{color:var(--ink);margin-top:4px}#port .port-crew.aboard .port-detail{color:var(--sea-deep)}#port .port-pips{gap:3px;display:inline-flex}#port .port-pips i{background:#dbe4ea;border-radius:3px;width:12px;height:6px}#port .port-pips i.on{background:var(--sea-deep)}#port .port-up .port-detail{color:var(--ink)}#port .port-badge{white-space:nowrap;border-radius:14px;place-items:center;height:28px;padding:0 12px;font-size:13px;font-weight:800;display:inline-grid}#port .port-badge.aboard{color:var(--green);background:#e3f4ea}#port .port-badge.max{color:#b87a1d;background:#fdf1de}@container app (width<=700px){#port .port-row{gap:10px;padding:10px 12px}#port .port-blurb{font-size:12px}}#port .port-card.small{width:min(300px,100%)}#port .port-card.small .pnl-head{gap:6px;padding:8px 8px 6px 12px}#port .port-card.small .pnl-title{font-size:15px}#port .port-card.small .port-money{border-radius:12px;height:24px;padding:0 9px;font-size:12px;line-height:24px}#port .port-grid{grid-template-columns:1fr 1fr;gap:6px;padding:0 10px;display:grid}#port .port-grid .pnl-btn{text-overflow:ellipsis;border-radius:16px;min-width:0;height:32px;padding:0 8px;font-size:12px;overflow:hidden}#port .port-foot{text-align:center;white-space:nowrap;text-overflow:ellipsis;margin:0;padding:6px 12px 9px;font-size:11px;font-weight:700;overflow:hidden}#port:has(.port-card.large){align-items:start;padding-top:clamp(60px,11cqh,96px)}@container app (width>=880px) and (width<=1340px){#port:has(.port-card.large){padding-left:344px}}#map .pnl-card.map-card{width:min(1100px,100%);height:min(720px,100%);container-type:inline-size}.map-chip{background:var(--paper-soft);height:24px;color:var(--ink-soft);white-space:nowrap;border-radius:12px;flex:none;align-items:center;gap:6px;padding:0 10px;font-size:12.5px;font-weight:800;display:inline-flex}.map-chip:before{content:"";background:currentColor;border-radius:4px;width:7px;height:7px}.map-chip.st-sail{color:var(--sea-deep);background:#e3f1f5}.map-chip.st-wait{color:var(--soak);background:#e4effa}.map-chip.st-hand{color:#b87512;background:#fcf1de}.map-chip.st-work{color:var(--green);background:#e2f3ea}.map-chip.st-port{color:var(--accent);background:#fbe7e3}.map-body{flex:auto;gap:16px;min-height:0;padding:0 16px 16px;display:flex}.map-view{background:#2a7084;border-radius:14px;flex:auto;min-width:0;min-height:0;position:relative;overflow:hidden}.map-canvas{cursor:crosshair;touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.map-canvas.pick{cursor:pointer}.map-canvas.grab{cursor:grabbing}.map-fit{cursor:pointer;height:30px;box-shadow:var(--shadow);color:var(--ink);background:#ffffffeb;border:0;border-radius:15px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:800;position:absolute;top:10px;right:10px}.map-fit:hover{background:#fff}.map-north{pointer-events:none;box-sizing:border-box;width:30px;height:30px;color:var(--ink);background:#ffffffd9;border-radius:15px;place-items:center;padding-top:5px;font-size:11px;font-weight:800;line-height:1;display:grid;position:absolute;top:10px;left:10px}.map-north:before{content:"";border:4px solid #0000;border-top:0;border-bottom:6px solid var(--accent);margin-left:-4px;position:absolute;top:4px;left:50%}.map-side{flex-direction:column;flex:none;gap:10px;width:300px;min-height:0;display:flex}.map-status{background:var(--paper-soft);border-radius:12px;align-items:center;gap:8px;min-height:36px;padding:6px 12px;font-size:14px;font-weight:800;line-height:1.2;display:flex}.map-status:before{content:"";background:var(--ink-soft);border-radius:5px;flex:none;width:9px;height:9px}.map-status.st-sail:before{background:var(--sea-deep)}.map-status.st-wait:before{background:var(--soak)}.map-status.st-hand:before{background:var(--amber)}.map-status.st-work:before{background:var(--green)}.map-status.st-port:before{background:var(--accent)}.map-hint{color:#8a5a10;background:#fcf1de;border-radius:12px;margin:0;padding:8px 12px;font-size:13px;font-weight:700;line-height:1.35}.map-tools .pnl-tab{flex:1 1 0;justify-content:center;align-items:center;gap:5px;min-width:0;padding:0 6px;font-size:13px;display:inline-flex}.map-dot{background:var(--k);border-radius:4px;flex:none;width:8px;height:8px}.map-help{margin:-2px 2px 0;font-size:12.5px;font-weight:700;line-height:1.3}.map-lhead{align-items:center;gap:8px;margin-top:2px;padding:0 2px;font-size:14px;display:flex}.map-count{flex:1;font-size:12px;font-weight:800}.map-switch{cursor:pointer;height:28px;color:var(--ink-soft);background:0 0;border:0;align-items:center;gap:7px;padding:0 2px;font-family:inherit;font-size:13px;font-weight:800;display:inline-flex}.map-knob{background:#d5dde3;border-radius:10px;width:34px;height:20px;transition:background .15s;position:relative}.map-knob:after{content:"";background:#fff;border-radius:8px;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #2c344040}.map-switch.on{color:var(--ink)}.map-switch.on .map-knob{background:var(--green)}.map-switch.on .map-knob:after{transform:translate(14px)}.map-list{background:var(--paper-soft);border-radius:12px;flex:auto;min-height:64px;margin:0;padding:0;list-style:none;position:relative;overflow:auto}.map-empty{padding:14px;font-size:13px;font-weight:700;line-height:1.4}.map-ord{border-bottom:1px solid #2c34400f;align-items:center;gap:8px;height:36px;padding:0 6px 0 8px;font-size:13px;font-weight:800;display:flex}.map-ord:hover{background:#ffffffb3}.map-ord.cur{box-shadow:inset 3px 0 0 var(--accent);background:#fff}.map-num{width:22px;height:22px;box-shadow:inset 0 0 0 2.5px var(--k);background:#fff;border-radius:11px;flex:none;place-items:center;font-size:11px;display:grid}.map-ord.cur .map-num{box-shadow:inset 0 0 0 2.5px var(--k), 0 0 0 2px #fff, 0 0 0 4px var(--accent)}.map-kchip{background:color-mix(in srgb, var(--k) 16%, #fff);height:20px;color:color-mix(in srgb, var(--k) 80%, #000);border-radius:10px;flex:none;align-items:center;padding:0 8px;font-size:12px;display:inline-flex}.map-xy{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-soft);flex:1;font-size:12.5px;font-weight:700;overflow:hidden}.map-ibtns{flex:none;gap:3px;display:flex}.map-ib{cursor:pointer;width:24px;height:24px;color:var(--ink-soft);background:#fff;border:0;border-radius:12px;place-items:center;padding:0;font-family:inherit;font-size:12px;font-weight:800;line-height:1;display:grid}.map-ib:hover{color:var(--ink);background:#e8eef2}.map-ib.del:hover{color:#fff;background:var(--accent)}.map-ib:disabled{opacity:.3;cursor:default;color:var(--ink-soft);background:#fff}.map-row{flex:none;gap:8px;display:flex}.map-row .pnl-btn{text-overflow:ellipsis;flex:auto;min-width:0;padding:0 10px;overflow:hidden}.map-run .map-clear{flex:none}.map-side.nocap :is(.pnl-tab,.pnl-btn,.map-switch,.map-ib){opacity:.45;cursor:default}.map-side.nocap .pnl-btn:hover,.map-side.nocap .pnl-btn:active{filter:none;transform:none}.map-side.nocap .map-ib:hover{color:var(--ink-soft);background:#fff}@container (width<=760px){.map-body{gap:12px;padding:0 12px 12px}.map-side{gap:8px;width:240px}.map-tools .pnl-tab{gap:3px;padding:0 3px;font-size:12px}.map-dot{width:6px;height:6px}.map-ord{gap:5px;padding:0 4px 0 6px}.map-kchip{padding:0 6px;font-size:11.5px}.map-xy{font-size:11.5px}.map-ibtns{gap:2px}.map-ib{width:22px;height:22px}.map-row .pnl-btn{padding:0 8px;font-size:12.5px}}@container (width<=560px){.map-body{flex-direction:column;gap:8px;padding:0 10px 10px;overflow:auto}.map-view{border-radius:10px;flex:none;height:190px}.map-side{width:auto}.map-list{flex:none;max-height:none}.map-status{min-height:30px;font-size:13px}.map-fit{height:26px;padding:0 10px;font-size:12px;top:6px;right:6px}.map-north{width:24px;height:24px;font-size:9px;top:6px;left:6px}.map-north:before{top:2px}}@container app (height<=360px) or (width<=560px){.map-chip{height:20px;padding:0 8px;font-size:11px}}body[data-host=browser][data-mode=small] #app{width:min(var(--win-w,420px), calc(100vw - 32px));height:min(var(--win-h,280px), calc(100vh - 32px));background:var(--sea);border-radius:14px;animation:.22s ease-out winPop;inset:auto 16px 16px auto;overflow:hidden;box-shadow:0 0 0 1px #ffffffe6,0 3px 8px #1e324129,0 14px 40px #1e32414d}body[data-host=browser][data-mode=strip] #app{background:#e8f0f3;height:48px;animation:.22s ease-out stripRise;inset:auto 0 0;overflow:hidden;box-shadow:0 -1px #ffffffe6,0 -4px 16px #1e324133}@keyframes winPop{0%{opacity:0;transform:translateY(10px)scale(.97)}}@keyframes stripRise{0%{transform:translateY(100%)}}body[data-mode=strip] #modals,body[data-mode=strip] #winbar{display:none}#desk{font-family:var(--font);color:var(--ink);background:radial-gradient(circle at 1px 1px,#2c344012 1px,#0000 1.6px) 0 0/22px 22px,radial-gradient(120% 90% at 25% 10%,#f4f7f8 0%,#f4f7f800 60%),linear-gradient(170deg,#e3eaed 0%,#cfdbe0 55%,#b9cad1 100%);place-items:center;padding:24px;display:none;position:fixed;inset:0}body[data-host=browser]:not([data-mode=large]) #desk{display:grid}body[data-mode=small] #desk{padding-right:calc(min(var(--win-w,420px), 100vw - 32px) + 40px)}body[data-mode=strip] #desk{padding-bottom:72px}.desk-card{text-align:center;max-width:100%;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffc7;border-radius:20px;flex-direction:column;align-items:center;gap:12px;padding:22px 26px 20px;display:flex}.desk-title{font-size:17px;font-weight:800}.desk-keys{color:var(--ink-soft);white-space:nowrap;font-size:13px;font-weight:700}.desk-keys kbd{background:var(--paper);min-width:20px;height:20px;color:var(--ink);border-radius:6px;place-items:center;margin:0 1px;padding:0 5px;font-family:inherit;font-size:11px;font-weight:800;line-height:1;display:inline-grid;box-shadow:inset 0 -2px #2c34401f}.desk-back{cursor:pointer;background:var(--sea-deep);color:#fff;border:0;border-radius:18px;height:36px;padding:0 18px;font-family:inherit;font-size:14px;font-weight:800}.desk-back:hover{filter:brightness(1.08)}#winbar{--wb-top:16px;--wb-h:36px;--wb-btn:30px;--wb-ic:18px;--wb-pad:3px;--wb-max:200px;--wb-win:24px;top:var(--wb-top);right:var(--wb-top);z-index:16;pointer-events:none;font-family:var(--font);color:var(--ink);display:flex;position:absolute}body[data-host=electron] #winbar{--wb-max:280px}body[data-mode=small] #winbar{--wb-top:6px;--wb-h:24px;--wb-btn:20px;--wb-ic:14px;--wb-pad:2px;--wb-max:132px;--wb-win:20px}body[data-host=electron][data-mode=small] #winbar{--wb-max:180px}@container app (width<=560px) or (height<=360px){#winbar{--wb-top:6px;--wb-h:24px;--wb-btn:20px;--wb-ic:14px;--wb-pad:2px;--wb-max:132px;--wb-win:20px}body[data-host=electron] #winbar{--wb-max:180px}#winbar .wb-name{display:none}}.wb-pill{height:var(--wb-h);max-width:var(--wb-max);padding:var(--wb-pad);border-radius:calc(var(--wb-h) / 2);background:var(--paper);box-shadow:var(--shadow);pointer-events:auto;align-items:center;gap:2px;display:flex}.wb-btn{width:var(--wb-btn);height:var(--wb-btn);border-radius:calc(var(--wb-btn) / 2);color:var(--ink-soft);cursor:pointer;-webkit-app-region:no-drag;background:0 0;border:0;flex:none;place-items:center;padding:0;transition:background .15s,color .15s;display:grid}.wb-btn:hover{background:var(--paper-soft);color:var(--ink)}.wb-btn.on,.wb-btn.on:hover{background:var(--sea-deep);color:#fff}.wb-btn svg,.wb-grip svg{width:var(--wb-ic);height:var(--wb-ic);fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}#winbar svg .f{fill:currentColor;stroke:none}.wb-preset{width:auto;min-width:var(--wb-btn);background:var(--paper-soft);color:var(--ink);font-family:inherit;font-size:calc(var(--wb-ic) - 3px);margin-left:2px;padding:0 6px;font-weight:800;line-height:1;display:none}body[data-mode=small] .wb-preset{display:grid}.wb-el{display:none}body[data-host=electron] .wb-el{display:grid}body[data-host=electron] .wb-grip{display:flex}.wb-grip{height:100%;color:var(--ink-soft);cursor:grab;-webkit-user-select:none;user-select:none;-webkit-app-region:drag;flex:none;align-items:center;gap:2px;margin-right:1px;padding:0 5px 0 0}.wb-grip svg{width:calc(var(--wb-ic) - 2px)}.wb-name{color:var(--ink);white-space:nowrap;font-size:12px;font-weight:800;display:none}body[data-mode=large] .wb-name{display:inline}.wb-sep{background:#e1e8ec;flex:none;width:1px;height:60%;margin:0 2px}body[data-host=electron] .wb-win{width:var(--wb-win)}.wb-max{display:none!important}body[data-host=electron][data-mode=large] .wb-max{display:grid!important}.wb-close:hover{background:var(--red);color:#fff}#winbar button{-webkit-app-region:no-drag}body[data-host=electron] #app:has(#start:not(.hidden)) #winbar{z-index:31}body[data-host=electron] #app:has(#start:not(.hidden)) :is(.wb-mode,.wb-preset){display:none}body[data-host=electron] #start{-webkit-app-region:drag}body[data-host=electron] #start .card{-webkit-app-region:no-drag}#strip-wrap{-webkit-user-select:none;user-select:none;background:#dcebf2;position:absolute;inset:0;overflow:hidden}#strip-wrap.over-ship{cursor:pointer}#strip{width:100%;height:100%;display:block;position:absolute;inset:0}#strip-ui{pointer-events:none;font-family:var(--font);position:absolute;inset:0}.strip-btns{opacity:0;visibility:hidden;gap:5px;transition:opacity .14s,transform .14s;display:flex;position:absolute;top:50%;right:8px;transform:translate(6px,-50%)}.strip-btns.show{opacity:1;visibility:visible;transform:translateY(-50%)}.strip-btns.show .strip-btn{pointer-events:auto}.strip-btn{background:var(--paper);height:26px;box-shadow:var(--shadow);color:var(--ink);cursor:pointer;white-space:nowrap;border:0;border-radius:13px;align-items:center;gap:5px;padding:0 11px;font-family:inherit;font-size:12px;font-weight:800;line-height:1;transition:transform .1s,filter .15s;display:flex}.strip-btn:hover{filter:brightness(.96);transform:translateY(-1px)}.strip-btn:active{transform:translateY(1px)}.strip-btn .sb-i{color:var(--sea-deep);font-size:13px}.strip-btn.go{background:var(--sea-deep);color:#fff}.strip-btn.go .sb-i{color:#fff;font-size:10px}.strip-btn.hidden,.strip-btn .sb-s{display:none}.strip-btns.mid .strip-btn:not(.go){justify-content:center;width:28px;padding:0}.strip-btns.mid .strip-btn:not(.go) .sb-t,.strip-btns.mid .go .sb-t{display:none}.strip-btns.mid .go .sb-s{display:inline}.strip-btns.short .strip-btn{justify-content:center;width:28px;padding:0}.strip-btns.short .sb-t{display:none}.strip-tip{color:#fff;white-space:nowrap;opacity:0;background:#2c3440e0;border-radius:11px;padding:4px 10px;font-size:11.5px;font-weight:800;transition:opacity .12s;position:absolute;top:50%;transform:translateY(-50%)}.strip-tip.left{transform:translate(-100%,-50%)}.strip-tip.show{opacity:1}.strip-note{background:var(--paper);max-width:calc(100% - 16px);box-shadow:var(--shadow);color:#b36f12;white-space:nowrap;text-overflow:ellipsis;opacity:0;border-radius:11px;padding:4px 10px;font-size:11.5px;font-weight:800;transition:opacity .18s;position:absolute;top:50%;left:8px;overflow:hidden;transform:translateY(-50%)}.strip-note.show{opacity:1}.hint-card{background:var(--paper);border-radius:var(--radius);width:max-content;max-width:min(320px,50cqw - 170px);box-shadow:var(--shadow);font-family:var(--font);color:var(--ink);pointer-events:auto;opacity:0;visibility:hidden;align-items:flex-start;gap:10px;padding:10px 8px 10px 10px;transition:opacity .3s,transform .3s,visibility 0s linear .3s;display:flex;position:absolute;bottom:16px;left:16px;transform:translateY(8px)}.hint-card.show{opacity:1;visibility:visible;transition-delay:0s;transform:none}@container app (width<=900px){.hint-card{max-width:min(320px,100cqw - 32px);bottom:72px}}.hint-bulb{width:30px;height:30px;color:var(--sea-deep);background:#e3f0f4;border-radius:15px;flex:none;place-items:center;display:grid}.hint-ic{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.hint-main{flex-direction:column;align-items:flex-start;min-width:0;padding-top:1px;display:flex}.hint-text{margin:0;font-size:14px;font-weight:700;line-height:1.4}.hint-text kbd{vertical-align:1px;background:var(--paper-soft);min-width:20px;height:20px;color:var(--sea-deep);border-radius:6px;place-items:center;padding:0 5px;font-family:inherit;font-size:11px;font-weight:800;line-height:1;display:inline-grid;box-shadow:inset 0 -2px #2c34401f}.hint-x{width:24px;height:24px;color:var(--ink-soft);cursor:pointer;opacity:.7;background:0 0;border:0;border-radius:12px;flex:none;place-items:center;margin:-2px 0 0 -2px;padding:0;transition:background .15s,opacity .15s;display:grid}.hint-x svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;width:14px;height:14px}.hint-x:hover{background:var(--paper-soft);opacity:1}.hint-off{cursor:pointer;color:var(--ink-soft);opacity:.8;background:0 0;border:0;border-radius:8px;margin:3px 0 0 -6px;padding:2px 6px;font-family:inherit;font-size:12px;font-weight:700}.hint-off:hover{background:var(--paper-soft);opacity:1}.hint-card.compact{border-radius:11px;gap:6px;max-width:min(240px,58cqw);padding:6px 4px 6px 6px;bottom:40px;left:8px}.hint-card.compact .hint-bulb{border-radius:10px;width:20px;height:20px}.hint-card.compact .hint-ic{stroke-width:2.2px;width:13px;height:13px}.hint-card.compact .hint-main{padding-top:0}.hint-card.compact .hint-text{font-size:11px;line-height:1.35}.hint-card.compact .hint-text kbd{vertical-align:0;border-radius:4px;min-width:14px;height:14px;padding:0 3px;font-size:9px}.hint-card.compact .hint-x{width:18px;height:18px;margin:-1px 0 0 -2px}.hint-card.compact .hint-x svg{width:11px;height:11px}.hint-card.compact .hint-off{margin:1px 0 0 -4px;padding:1px 4px;font-size:10px}@container app (height<=300px){.hint-card.compact .hint-off{display:none}}@container app (width<=360px){.hint-card.compact{max-width:70cqw}}@container app (height<=240px){body.hinting #hud-main.compact .hud-pills{visibility:hidden}}body.hinting .hud-hint{visibility:hidden}.hint-target{outline-offset:2px;outline:2.5px solid #f2b33df2;animation:1.6s ease-in-out infinite hintRing}@keyframes hintRing{0%,to{outline-offset:2px;outline-color:#f2b33df2}50%{outline-offset:6px;outline-color:#f2b33d4d}}@media (prefers-reduced-motion:reduce){.hint-card{transition:opacity .2s,visibility 0s linear .2s;transform:none}.hint-target{outline-offset:3px;animation:none}}#panels>.panel{pointer-events:none;place-items:center;padding:16px;display:grid;position:absolute;inset:0}body[data-mode=large] #panels>.panel{padding-top:60px}.pnl-card{pointer-events:auto;background:var(--paper);max-width:100%;max-height:100%;box-shadow:var(--shadow);font-family:var(--font);color:var(--ink);font-variant-numeric:tabular-nums;border-radius:20px;flex-direction:column;animation:.18s pnlPop;display:flex;overflow:hidden}.pnl-head{flex:none;align-items:center;gap:10px;padding:14px 14px 10px 20px;display:flex}.pnl-title{white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;font-size:20px;font-weight:800;overflow:hidden}.pnl-close{background:var(--paper-soft);width:32px;height:32px;color:var(--ink-soft);cursor:pointer;border:0;border-radius:16px;flex:none;place-items:center;padding:0;font-family:inherit;font-size:18px;font-weight:800;line-height:1;display:grid}.pnl-close:hover{filter:brightness(.96)}.pnl-tabs{background:var(--paper-soft);border-radius:14px;gap:4px;padding:4px;display:flex}.pnl-tab{cursor:pointer;height:32px;color:var(--ink-soft);white-space:nowrap;background:0 0;border:0;border-radius:10px;padding:0 14px;font-family:inherit;font-size:14px;font-weight:800}.pnl-tab.on{background:var(--paper);color:var(--ink);box-shadow:0 1px 3px #2c344026}.pnl-body{flex:auto;min-height:0;padding:0 20px 18px;overflow:auto}.pnl-muted{color:var(--ink-soft)}.pnl-btn{cursor:pointer;white-space:nowrap;height:36px;color:var(--ink);background:#eef2f5;border:0;border-radius:18px;padding:0 16px;font-family:inherit;font-size:14px;font-weight:800;transition:transform .1s,filter .15s}.pnl-btn:hover{filter:brightness(.96);transform:translateY(-1px)}.pnl-btn:active{transform:translateY(1px)}.pnl-btn.primary{background:var(--accent);color:#fff}.pnl-btn.go{background:var(--green);color:#fff}.pnl-btn.off{opacity:.45;cursor:default}.pnl-btn.off:hover,.pnl-btn.off:active{filter:none;transform:none}.pnl-card kbd{background:var(--paper-soft);min-width:20px;height:20px;color:var(--ink-soft);border-radius:6px;place-items:center;padding:0 5px;font-family:inherit;font-size:11px;font-weight:800;line-height:1;display:inline-grid;box-shadow:inset 0 -2px #2c34401f}@keyframes pnlPop{0%{opacity:0;transform:translateY(6px)scale(.98)}}@container app (height<=360px) or (width<=560px){#panels>.panel,body[data-mode=large] #panels>.panel{padding:var(--winbar-clear,34px) 8px 6px}.pnl-card{border-radius:14px}.pnl-head{gap:6px;padding:8px 8px 6px 12px}.pnl-title{font-size:15px}.pnl-close{border-radius:13px;width:26px;height:26px;font-size:15px}.pnl-body{padding:0 12px 10px}.pnl-btn{border-radius:15px;height:30px;padding:0 12px;font-size:12px}}
