:root{--navy:#0b1a2a;--cream:#e8e2c8;--gold:#ffd27a;--red:#ff5a4d;--green:#8fd16a;--cream-bright:#fff8e2;--cream-muted:#cdc6aa;--panel-bg:#0b1a2aeb;--surface:#0b1a2ae6;--surface-2:#162c45;--edge:#7d6a45;--edge-hover:#b8975a;--radius:6px;--focus:#fff8e2;--ui-scale:2;--font:"Pixelify Sans", monospace}@media (pointer:coarse){:root{--ui-scale:3}}@font-face{font-family:Pixelify Sans;src:url(/assets/pixelify-latin-DLrIX9QE.woff2)format("woff2");font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Pixelify Sans;src:url(/assets/pixelify-latin-ext-DdH6zlBQ.woff2)format("woff2");font-display:swap;unicode-range:U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IM Fell English;src:url(/assets/im-fell-english-latin-BhowGHCQ.woff2)format("woff2");font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IM Fell English;font-style:italic;src:url(/assets/im-fell-english-italic-latin-DD_ylKHZ.woff2)format("woff2");font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IM Fell English SC;src:url(/assets/im-fell-english-sc-latin-CW_nhHm4.woff2)format("woff2");font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html,body{background:var(--navy);height:100%;margin:0;overflow:hidden}[hidden]{display:none!important}#motd{max-width:min(90vw,640px);color:var(--cream);font:14px/1.4 var(--font);text-align:center;pointer-events:none;z-index:5;padding:6px 12px;position:fixed;top:56px;left:50%;transform:translate(-50%)}#game{width:100vw;height:100vh;image-rendering:pixelated;touch-action:none;display:block}#topleft{z-index:1;pointer-events:none;flex-direction:column;align-items:flex-start;gap:4px;display:flex;position:fixed;top:8px;left:8px}#hud{box-sizing:border-box;min-width:240px;color:var(--cream);font:14px/1.5 var(--font);pointer-events:none;padding:6px 10px}#hud .hud-primary>div,#hud .hud-secondary>div{white-space:nowrap}#minimap{cursor:pointer;border-radius:50%;width:184px;height:184px;position:fixed;bottom:16px;right:16px;box-shadow:0 2px 8px #00000073}#hud em{color:var(--red);font-style:normal}#hud em.warn{color:var(--gold)}#hud .hud-primary{color:var(--cream-bright);font-size:16px}#hud .hud-secondary{color:var(--cream-muted);font-size:14px}#hud .num{text-align:right;font-variant-numeric:tabular-nums;display:inline-block}.bar{vertical-align:middle;gap:1px;display:inline-flex}.bar b,.bar s{width:calc(3px * var(--ui-scale));height:calc(4px * var(--ui-scale));background:var(--green)}.bar s{background:var(--navy);outline:1px solid var(--cream);outline-offset:-1px;text-decoration:none}#touch{pointer-events:none;position:fixed;inset:0}#touch>*{pointer-events:auto}#rudder{touch-action:none;appearance:none;border:2px solid var(--cream);background:#00000073;border-radius:28px;width:42vw;max-width:260px;height:56px;margin:0;position:absolute;bottom:24px;left:16px}#rudder::-webkit-slider-runnable-track{background:0 0;height:100%}#rudder::-moz-range-track{background:0 0;height:100%}#rudder::-webkit-slider-thumb{-webkit-appearance:none;background:var(--cream);border:0;border-radius:50%;width:44px;height:44px}#rudder::-moz-range-thumb{background:var(--cream);border:0;border-radius:50%;width:44px;height:44px}#rudder:focus-visible{outline:3px solid var(--gold);outline-offset:2px}#sails{flex-direction:column;gap:8px;display:flex;position:absolute;bottom:96px;right:16px}#touch button{touch-action:manipulation;font:16px var(--font);padding:7px 12px}#anchor{position:absolute;bottom:24px;right:16px}#fire{position:absolute;bottom:24px;right:144px}#repair{position:absolute;bottom:80px;right:144px}#ammo{position:absolute;bottom:136px;right:144px}#board{position:absolute;bottom:192px;right:144px}#strip{position:absolute;bottom:248px;right:144px}@media (orientation:portrait){#fire{bottom:264px;right:16px}#repair{bottom:320px;right:16px}#ammo{bottom:376px;right:16px}#board{bottom:432px;right:16px}#strip{bottom:488px;right:16px}}#back-port{position:absolute;bottom:92px;left:16px}#zoom{position:absolute;bottom:92px;left:216px}@media (orientation:portrait){#zoom{bottom:148px;left:16px}}#back-star{position:absolute;bottom:92px;left:116px}#conn{color:var(--cream);font:14px/1.4 var(--font);text-shadow:0 1px #000;pointer-events:none;position:fixed;top:8px;left:50%;transform:translate(-50%)}#conn[data-state=reconnecting]{color:#ffb347}#conn[data-state=rejected]{color:var(--red)}#debug{z-index:6;color:var(--cream);font:13px/1.4 var(--font);padding:2px 6px;position:fixed;top:56px;right:8px}#debug pre{font:inherit;margin:0 0 4px}#login{z-index:10;background:var(--navy);color:var(--cream);font:18px var(--font);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:16px;display:flex;position:fixed;inset:0}#login h1{margin:0;font-size:28px}#login .btn,#login button{box-sizing:border-box;min-height:48px;font:inherit;align-items:center;padding:10px 18px;text-decoration:none;display:inline-flex}#login form{gap:8px;display:flex}#login input{width:8em;min-width:0;color:var(--cream);font:inherit;padding:10px}#hold{color:var(--cream);font:13px/1.3 var(--font);text-shadow:0 1px #000;pointer-events:none;position:fixed;bottom:8px;left:8px}.fresh{border:1px solid var(--cream);background:#00000080;width:40px;height:6px;margin-left:6px;display:inline-block}.fresh i{background:var(--green);height:100%;display:block}#leftcol{pointer-events:auto;flex-direction:column;gap:4px;width:240px;max-width:calc(50vw - 16px);min-height:0;display:flex}#objective{color:var(--cream);font:14px/1.35 var(--font);padding:6px 36px 6px 10px;position:relative}#objective em{color:var(--gold);font-style:normal;display:block}#objective .obj-text{color:var(--cream-bright);display:block}#objective .obj-hint,#objective .obj-progress{color:var(--cream-muted);font-size:13px;display:block}#objective button{min-width:28px;min-height:28px;font:14px var(--font);padding:0;position:absolute;top:4px;right:4px}#tutorial{color:var(--cream);font:13px/1.35 var(--font);padding:6px 10px}#tutorial summary{cursor:pointer}#tutorial ul{margin:4px 0 0;padding:0;list-style:none}#tutorial li.done{color:#8fd18f;text-decoration:line-through}#tutorial .reward{color:var(--gold);margin:4px 0}#tutorial button{font:12px var(--font);padding:1px 6px}#party{color:var(--cream);font:12px/1.35 var(--font);padding:6px 8px}#party ul{margin:2px 0 4px;padding:0;list-style:none}#party li.away{opacity:.55}#party .crown{color:var(--gold)}#party .invite{margin-bottom:4px}#party button{font:12px var(--font);padding:1px 6px}#toasts{pointer-events:none;flex-direction:column;gap:4px;display:flex;position:fixed;top:60px;left:50%;transform:translate(-50%)}body:has(#motd:not([hidden])) #toasts{top:104px}#toasts div{color:var(--gold);font:14px var(--font);padding:6px 12px}#port,#trade{color:var(--cream);font:13px/1.4 var(--font);max-width:calc(100vw - 32px);padding:8px;position:fixed}#port,#trade,#captain,#shore,#guild,#shipwright,#season,#chart{z-index:2}#captain,#guild,#shipwright,#season,#chart{z-index:3}#port{max-height:60vh;top:90px;right:8px;overflow:auto}#trade{bottom:8px;left:50%;transform:translate(-50%)}#port h2{margin:0 0 4px;font-size:16px}#port .debt:not(:empty){color:var(--red)}#port .dock-acts{margin:2px 0 6px}#toasts #dock-prompt{max-width:min(90vw,520px);color:var(--cream);font:14px/1.35 var(--font);text-align:center;padding:4px 10px}body:has(#captain:not([hidden]),#chart:not([hidden]),#guild:not([hidden]),#shipwright:not([hidden]),#season:not([hidden]),#shore:not([hidden])) #dock-prompt{display:none}@media not all and (pointer:coarse){body:has(#hint:not([hidden])) #toasts{top:220px}}body:has(.dlg:not([hidden])) #hint{display:none}@media (pointer:coarse){body:has(#chat.open) #hint{display:none}}@media not all and (pointer:coarse){body:has(#hint:not([hidden])) #dock-prompt{display:none}}#port td,#port th{text-align:left;padding:2px 6px}#port button,#trade button{font:inherit;margin-right:2px;padding:2px 6px}#port input,#trade input,#trade select{width:5em;font:inherit}#port ul{margin:6px 0 0;padding-left:16px}#port .stale,#port button:disabled{opacity:.55}#port .market-foot{margin:4px 0 6px}#captain,#guild,#shipwright,#season,#chart{box-sizing:border-box;width:min(640px,100vw - 32px);max-height:calc(100vh - 110px);color:var(--cream);font:13px/1.4 var(--font);flex-direction:column;padding:0;display:flex;position:fixed;top:90px;left:50%;overflow:hidden;transform:translate(-50%)}#captain:focus,#guild:focus,#shipwright:focus,#season:focus,#chart:focus{outline:none}#chart{width:min(900px,100vw - 32px)}.dlg-head{border-bottom:1px solid #e8e2c84d;flex:none;padding:6px 8px 4px}.dlg-bar{align-items:center;gap:8px;display:flex}:is(#season,#shipwright,#guild,#captain,#chart) .dlg-title{min-width:0;color:var(--cream-bright);text-transform:none;overflow-wrap:anywhere;flex:1;margin:0;font-size:18px}:is(#season,#shipwright,#guild,#captain,#chart) .dlg-x{text-transform:none;cursor:pointer;flex:none;min-width:32px;min-height:32px;margin:0;padding:0;font-size:20px;line-height:1}.dlg-body{overflow-wrap:anywhere;flex:auto;min-height:0;padding:8px;overflow:hidden auto}:is(#season,#shipwright,#guild,#captain,#chart) :is(button,input,select):focus-visible{outline:2px solid var(--gold);outline-offset:2px}:is(#season,#shipwright,#guild,#captain,#chart) .dlg-needs{color:var(--cream-muted);margin:4px 0;padding:0;font-size:12px;list-style:none}.dlg-needs li:before{content:"- "}.dlg-needs li.err{color:var(--red)}.dlg-needs li.err:before{content:"! "}@media (pointer:coarse){:is(#season,#shipwright,#guild,#captain,#chart) .dlg-x{min-width:44px;min-height:44px}:is(#season,#shipwright,#guild,#captain,#chart) :is(button:not(.swatch),select,input:not([type=checkbox])){min-height:44px}}#chart .cap{text-align:center;min-height:1.4em}#chart button{font:inherit;margin-right:2px;padding:2px 6px}#captain h3{text-transform:capitalize;margin:4px 0;font-size:14px}#captain ul,#port ul{padding-left:16px}#captain button,#port .tabs button{font:inherit;padding:2px 6px}#captain select{font:inherit}#captain .cap-stats{flex-wrap:wrap;align-items:baseline;gap:2px 16px;display:flex}#captain .cap-pts b{color:var(--gold);font-size:24px}#captain .cap-pts.none b{color:var(--cream-muted)}#captain .cap-hint,#captain .sk-desc,#captain .sk-meta,#captain .cap-xp small,#captain .sk-rank{color:var(--cream-muted);font-size:12px}#captain .cap-xp{margin:0 0 8px}#captain .cap-xp .xp{margin:2px 0}#captain .cap-xp small{display:block}#captain .cap-list{margin:4px 0;padding:0;list-style:none}#captain .skill,#captain .officer{border-top:1px solid #e8e2c826;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 8px;padding:4px 0;display:grid}#captain .officer{grid-template-columns:32px minmax(0,1fr) auto}#captain .skill button{min-width:6.5em}#captain .skill[data-state=ok] .sk-state{color:var(--green)}#captain .skill[data-state=max] .sk-name{color:var(--gold)}#captain .off-acts{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}#captain .cap-respec{border-top:2px solid #e8e2c84d;margin-top:16px;padding-top:8px}#captain .cap-respec p{margin:4px 0}#captain .cap-confirm{color:var(--gold)}#captain .dlg-act{flex-wrap:wrap;gap:4px;display:flex}@media (max-width:520px){#captain .officer{grid-template-columns:32px minmax(0,1fr)}#captain .off-acts{grid-column:1/-1;justify-content:flex-start}}.xp{border:1px solid var(--cream);background:#00000080;height:8px}.xp i{background:var(--gold);height:100%;display:block}#shore{box-sizing:border-box;width:320px;max-width:calc(100vw - 32px);max-height:60vh;color:var(--cream);font:13px/1.4 var(--font);padding:8px;position:fixed;top:90px;right:8px;overflow:auto}#shore h2{margin:0 0 4px;font-size:16px}#shore ul{margin:6px 0 0;padding-left:16px}#shore button,.minigame button{font:inherit;margin:2px 2px 2px 0;padding:4px 8px}#shore input{width:4em;font:inherit}#shore select{font:inherit;max-width:100%}#shore .shore-art{object-fit:cover;width:100%;max-height:140px;image-rendering:pixelated;margin-bottom:6px;display:block}#shore .badge{background:var(--red);color:var(--navy);border-radius:4px;padding:1px 6px;font-size:11px}#shore .threat{border:1px solid var(--red);color:var(--red);margin:6px 0;padding:4px}.minigame{z-index:10;box-sizing:border-box;color:var(--cream);font:14px/1.4 var(--font);background:#0b1a2af5;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px;display:flex;position:fixed;inset:0}.minigame h2{margin:0}.mg-bar{border:2px solid var(--cream);width:min(420px,90vw);height:28px;margin-bottom:8px;position:relative}.mg-bar i{background:var(--green);position:absolute;top:0;bottom:0}.mg-bar b{background:var(--gold);width:4px;margin-left:-2px;position:absolute;top:-4px;bottom:-4px}.mg-grid{grid-template-columns:repeat(6,48px);gap:4px;display:grid}.mg-grid button{width:48px;height:48px;padding:0}.mg-cipher{letter-spacing:4px;font-size:28px}.minigame input{font:inherit;text-transform:uppercase}#guild h3{margin:4px 0;font-size:14px}#guild td,#guild th{text-align:left;padding:2px 6px}#guild ul{margin:4px 0;padding-left:16px}#guild button{font:inherit;margin:1px;padding:2px 6px}#guild input{width:8em;font:inherit}#guild input[type=number]{width:5em}#guild select{font:inherit;max-width:7em}#guild canvas{width:64px;height:40px;image-rendering:pixelated;vertical-align:middle}#guild .debt,#guild .threat-text{color:var(--red)}#guild .g-field{margin:8px 0}#guild .g-field label{display:block}#guild .g-field input{box-sizing:border-box;width:100%;max-width:20em}#guild .g-help{color:var(--cream-muted);font-size:12px;display:block}#guild .g-err:empty{display:none}#guild .g-banner{border:1px solid #e8e2c84d;min-width:0;margin:8px 0;padding:4px 8px 8px}#guild .g-banner legend{padding:0 4px}#guild .g-banner canvas{width:160px;height:100px;margin:4px 0 8px;display:block}#guild .g-grid{grid-template-columns:repeat(auto-fit,minmax(10em,1fr));gap:6px 12px;margin-bottom:6px;display:grid}#guild .g-sel{flex-direction:column;gap:2px;min-width:0;display:flex}#guild .g-sel select{width:100%;max-width:none}#guild .g-create{border-top:2px solid #e8e2c84d;margin-top:12px;padding-top:8px}#guild .g-facts{grid-template-columns:auto minmax(0,1fr);gap:2px 12px;margin:4px 0;display:grid}#guild .g-facts dt{color:var(--cream-muted)}#guild .g-facts dd{margin:0}.nameplate{cursor:pointer;white-space:pre;text-align:center;color:var(--cream);font:12px var(--font);background:#0000008c;border-radius:3px;padding:0 4px;position:fixed;top:0;left:0;transform:translate(-50%,-100%)}.threat-arrow{border-style:solid;border-width:7px 0 7px 12px;border-color:transparent transparent transparent var(--red);filter:drop-shadow(0 1px #000);pointer-events:none;width:0;height:0;position:fixed;top:0;left:0}#hint{z-index:2;width:300px;max-width:calc(100vw - 16px);color:var(--cream);font:12px/1.35 var(--font);padding:6px 8px;position:fixed;top:56px;left:50%;transform:translate(-50%)}#hint .hint-head{align-items:center;gap:6px;display:flex}#hint .hint-head b{color:var(--gold);flex:1}#hint p{margin:6px 0}#hint button{font:12px var(--font);padding:1px 6px}@media (pointer:fine) and (max-width:900px){#hint{width:min(300px,100vw - 300px);top:76px;left:292px;transform:none}}#shipwright h3{margin:8px 0 4px;font-size:14px}#shipwright button{font:inherit;margin:1px;padding:2px 6px}#shipwright input,#shipwright select{box-sizing:border-box;width:100%;font:inherit}.sw-grid{flex-wrap:wrap;gap:4px;display:flex}#shipwright .swatch{border:1px solid var(--navy);color:#fff;text-shadow:0 0 2px #000,0 0 2px #000;cursor:pointer;width:28px;height:28px;margin:0;padding:0;font-size:16px;font-weight:700;line-height:1}#shipwright .swatch[aria-pressed=true]{outline:2px solid var(--gold);outline-offset:1px}#shipwright .swatch.locked{opacity:.3}#shipwright .sw-sel,#shipwright .sw-help,#shipwright .sw-cap{color:var(--cream-muted);margin:4px 0;font-size:12px}.portrait,#sw-portrait,#inspect canvas{image-rendering:pixelated;vertical-align:middle}#sw-portrait{width:64px;height:64px}#shipwright .sw-ship{grid-template-columns:minmax(180px,260px) minmax(0,1fr);align-items:start;gap:12px;display:grid}#shipwright .sw-prev{position:sticky;top:0}#shipwright .sw-preview canvas{aspect-ratio:4/3;background:#00000040;border:1px solid #e8e2c84d;width:100%;display:block}#shipwright .sw-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;display:grid}#shipwright .sw-field{flex-direction:column;gap:2px;min-width:0;margin:4px 0;display:flex}#shipwright .sw-fields .sw-field{margin:0}#shipwright .sw-actions{border-top:1px solid #e8e2c84d;margin-top:8px;padding-top:6px}#shipwright .sw-bal b{color:var(--gold)}#shipwright .sw-list{margin:4px 0;padding:0;list-style:none}#shipwright .sw-row{border-bottom:1px solid #e8e2c826;grid-template-columns:minmax(0,1fr) auto 5.5em;align-items:center;gap:2px 12px;padding:4px 0;display:grid}#shipwright .sw-name small{color:var(--cream-muted);font-size:12px;display:block}#shipwright .sw-cost{text-align:right;white-space:nowrap}#shipwright .sw-act{text-align:right}#shipwright .sw-chip{vertical-align:-2px;border:1px solid var(--cream);width:14px;height:14px;margin-right:6px;display:inline-block}#shipwright .sw-row .dlg-needs{grid-column:1/-1;margin:0}@media (max-width:700px){#shipwright .sw-ship{grid-template-columns:minmax(0,1fr)}#shipwright .sw-prev{max-width:280px;position:static}#shipwright .sw-fields{grid-template-columns:minmax(0,1fr)}}@media (pointer:coarse){#shipwright .swatch{width:40px;height:40px}}#inspect{z-index:5;box-sizing:border-box;width:280px;max-width:calc(100vw - 32px);max-height:calc(100vh - 110px);color:var(--cream);font:13px/1.4 var(--font);padding:8px;position:fixed;top:90px;left:50%;overflow:auto;transform:translate(-50%)}#inspect h2{margin:0 0 4px;font-size:14px}#inspect h2 button{float:right;font:inherit;padding:0 6px}#inspect ul{margin:4px 0;padding-left:16px}#inspect .swatch{border:1px solid var(--cream);width:16px;height:16px;display:inline-block}#in-portrait{width:64px;height:64px}#in-flag{width:64px;height:40px}.portrait{width:32px;height:32px}#season h3{margin:4px 0;font-size:14px}#season ul,#season ol{margin:4px 0;padding-left:20px}#season p{margin:4px 0}#season button{font:inherit;margin:1px;padding:2px 6px}.dlg-tabs{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}:is(#season,#shipwright) .dlg-tabs button{font:inherit;cursor:pointer;margin:0;padding:4px 12px}:is(#season,#shipwright) .dlg-tabs button[aria-selected=true]{border-image-source:var(--frame-btn-down);color:var(--gold);font-weight:700;text-decoration:underline}#season .ssn-sum{margin-top:2px}#season .ssn-time{color:var(--cream-muted);font-size:12px}#season .ssn-stats{flex-wrap:wrap;gap:0 16px;display:flex}#season .ssn-stats b{color:var(--gold);font-size:16px}#season .ssn-next{margin-top:2px}#season .ssn-next progress{vertical-align:middle;width:8em;accent-color:var(--gold)}#season .ssn-next span{color:var(--cream-muted);font-size:12px}#season .ssn-list,#season .ssn-board{margin:4px 0;padding:0;list-style:none}#season .ssn-row{border-bottom:1px solid #e8e2c826;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:2px 12px;padding:4px 6px 4px 0;display:grid}#season .ssn-board .ssn-row{grid-template-columns:2.5em minmax(0,1fr) auto}#season .ssn-row.next{outline:1px solid var(--gold);background:#e8c8781f;padding-left:4px}#season .ssn-name small{color:var(--cream-muted);font-size:12px;display:block}#season .ssn-row.next .ssn-name small{color:var(--gold);display:inline}#season .ssn-sw{vertical-align:-2px;border:1px solid var(--cream);width:14px;height:14px;margin-right:6px;display:inline-block}#season .ssn-cost{text-align:right;white-space:nowrap}#season .ssn-act{text-align:right;min-width:5em}#season .ssn-st.ready{color:var(--gold);font-weight:700}#season .ssn-rank{color:var(--cream-muted)}#season .ssn-row .dlg-needs{grid-column:1/-1;margin:0}#season h3 small{color:var(--cream-muted);font-size:12px;font-weight:400}@media (max-height:500px){#season .ssn-next progress{display:none}}#chat{z-index:1;box-sizing:border-box;width:min(360px,100vw - 16px);color:var(--cream);font:14px/1.3 var(--font);position:fixed;bottom:100px;left:8px}#chat .log{overflow-wrap:anywhere;text-shadow:0 1px #000;max-height:110px;padding:4px 6px;overflow-y:auto}#chat .log:empty{display:none}#chat:not(.open) .log{max-height:3.9em}#chat .sys{color:var(--gold);font-style:italic}#chat .ch-guild{color:var(--green)}#chat .ch-party{color:#ffd27e}#chat .ch-trade{color:#7ec8ff}#chat .ch-global{color:#f0b3ff}#chat .bar{gap:4px;margin-top:4px;display:flex}#chat .bar>*,#chat .toggles button{font:inherit;min-width:0;min-height:36px;padding:2px 8px}#chat input{flex:1}#chat .toggles{background:0 0;border:0;flex-wrap:wrap;gap:4px;margin-top:4px;padding:0;display:flex}#chat .toggles button.off{opacity:.6;text-decoration:line-through}#chat:not(.open) select,#chat:not(.open) .toggles{display:none}.mg-lamps{gap:12px;display:flex}.mg-lamps .mg-lamp{border:3px solid var(--cream);opacity:.45;touch-action:manipulation;border-radius:50%;width:64px;height:64px;padding:0;font-size:18px}.mg-lamp.l0{background:#a8372c}.mg-lamp.l1{background:#3f7a3a}.mg-lamp.l2{background:#2f5d8f}.mg-lamp.l3{background:#b08a2e}.mg-lamps .mg-lamp.on{opacity:1;box-shadow:0 0 18px 6px var(--gold)}.frame,#hud,#debug,#port,#trade,#captain,#chart,#guild,#shipwright,#season,#shore,#inspect,#objective,#tutorial,#hint,#party,#dock-prompt,#toasts div,#chat .log,#motd,#conn{border-style:solid;border-width:calc(2px * var(--ui-scale));border-image:var(--frame-panel) 2 fill / calc(2px * var(--ui-scale));image-rendering:pixelated;background:0 0;border-radius:0}button,.btn,select,input:not([type=range]){font:inherit;color:var(--cream);border-style:solid;border-width:calc(2px * var(--ui-scale));border-image:var(--frame-btn) 2 fill / calc(2px * var(--ui-scale));image-rendering:pixelated;background:0 0;border-radius:0}button:active,.btn:active,button.on,button[aria-pressed=true]{border-image-source:var(--frame-btn-down);color:var(--gold)}button:disabled{opacity:.4}option{background:var(--navy);color:var(--cream)}.ico{width:calc(8px * var(--ui-scale));height:calc(8px * var(--ui-scale));background:var(--ico) center / 100% 100% no-repeat;image-rendering:pixelated;vertical-align:middle;display:inline-block}.ico.off{opacity:.3}#conn:empty{display:none}#hud,#debug,#port,#trade,#shore,#inspect,#objective,#tutorial,#hint,#party,#dock-prompt,#toasts div,#chat .log,#motd,#conn{border:1px solid var(--edge);border-radius:var(--radius);background:var(--surface);image-rendering:auto;border-image:;box-shadow:0 2px 6px #00000059}button,.btn,select,input:not([type=range]){border:1px solid var(--edge);background:var(--surface-2);image-rendering:auto;border-image:;border-radius:4px}button,.btn{cursor:pointer;padding:4px 10px}select,input:not([type=range]){padding:4px 6px}button:hover:not(:disabled),.btn:hover,select:hover,input:not([type=range]):hover{border-color:var(--edge-hover)}button:active,.btn:active,button.on,button[aria-pressed=true]{border-color:var(--gold);color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);background:#1d3855;border-image:}button:disabled{opacity:.45;cursor:not-allowed;border-style:dashed}:is(button,.btn,select,input,summary,a):focus-visible{outline:2px solid var(--focus);outline-offset:2px}#touch button{min-height:44px}#topright{z-index:3;align-items:center;gap:12px;display:flex;position:fixed;top:8px;right:8px}#topright .grp{border:1px solid var(--edge);background:var(--surface);border-radius:8px;gap:2px;padding:2px;display:flex;box-shadow:0 2px 6px #00000059}#topright .grp:not(:has(>button:not([hidden]))){display:none}#topright button{box-sizing:border-box;min-width:40px;min-height:40px;font:15px var(--font);background:0 0;border-color:#0000;justify-content:center;align-items:center;gap:6px;padding:0 10px;display:inline-flex}#topright button:hover{border-color:var(--edge-hover)}#topright kbd{font:11px var(--font);color:var(--cream-muted);border:1px solid var(--edge);border-radius:3px;padding:0 4px}:is(body:has(#captain:not([hidden])) #captain-btn,body:has(#guild:not([hidden])) #guild-btn,body:has(#season:not([hidden])) #season-btn,body:has(#shipwright:not([hidden])) #look-btn){border-color:var(--gold);color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);background:#1d3855}@media (pointer:coarse){#topright{justify-content:space-between;gap:6px;left:8px}#topright kbd{display:none}#topright button{padding:0 6px;font-size:14px}#topleft{top:56px}#hud{--ui-scale:2;padding:4px 8px;line-height:1.2}#hud .hud-primary{font-size:16px}#hud .hud-secondary{font-size:14px}#hud .ico{vertical-align:middle;margin:-1px 0}#minimap{width:124px;height:124px;top:56px;bottom:auto;right:8px}#chat{width:calc(100vw - 124px)}#chat .bar>*,#chat .toggles button{min-height:44px}#hint{box-sizing:border-box;font-size:12px;line-height:1.25;transform:none}#hint .hint-head{flex-wrap:wrap;row-gap:2px}#hint .hint-head b{flex:1 0 100%;order:1}#hint .hint-acts{flex-wrap:wrap;gap:4px;display:flex}#hint p{margin:4px 0}#hint button{min-height:36px;font-size:12px}#toasts div,#toasts #dock-prompt{font-size:13px}#trade{bottom:8px;left:190px;transform:none}}@media (pointer:coarse) and (orientation:portrait){#hud{max-width:calc(100vw - 148px)}#hud .hud-primary>div,#hud .hud-secondary>div{white-space:normal}#leftcol{width:calc(100vw - 148px);max-width:none}#topleft{max-height:calc(100vh - 318px)}body:has(#hint:not([hidden])) #tutorial{display:none}#hint{width:auto;min-height:0;position:static;overflow-y:auto}#leftcol #toasts{width:auto;position:static;transform:none}#chat{bottom:204px}#conn{top:184px;left:auto;right:8px;transform:none}#motd{max-width:none;top:52px;left:8px;right:8px;transform:none}body:has(#motd:not([hidden])) :is(#topleft,#minimap){top:108px}}@media (pointer:coarse) and (orientation:landscape){#topright{left:auto}#topleft{top:8px}#hud{align-items:flex-start;gap:14px;display:flex}#hud .hud-primary>div,#hud .hud-secondary>div{white-space:normal}#hud .hud-primary{max-width:230px}#leftcol{width:284px;max-width:none}#conn{top:56px;left:460px;transform:none}#leftcol #toasts{width:auto;min-height:0;position:static;overflow-y:auto;transform:none}#topleft{max-height:calc(100vh - 148px)}body:has(#toasts>div:not([hidden])) #tutorial{display:none}#minimap{width:104px;height:104px;top:56px}#sails{bottom:74px}#chat{width:290px;bottom:92px;left:296px}#hint{width:300px;max-height:123px;top:121px;left:296px;overflow-y:auto}#motd{max-width:none;top:56px;left:460px;right:120px;transform:none}#trade{bottom:8px;left:296px}}
