/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.start\!{inset-inline-start:var(--spacing)!important}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1{height:calc(var(--spacing) * 1)}.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.text-justify{text-align:justify}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ink:#203238;--paper:#f3eddf;--navy:#123d47;--navy-deep:#082a32;--gold:#c58a2a;--red:#a54e39;--sea-glass:#d9ebe7;--line:#cfc4af;--hud-bg:#08242beb;--hud-border:#f3eddf40;--shadow:0 14px 45px #00101557}*{box-sizing:border-box}html{background:var(--navy-deep);min-width:320px;min-height:100%}body{min-height:100%;color:var(--ink);background:var(--navy-deep);margin:0;font-family:Yu Mincho,Hiragino Mincho ProN,Georgia,serif}button,a{font:inherit}button{touch-action:manipulation}button:focus-visible{outline-offset:3px;outline:3px solid #ffd067}a:focus-visible{outline-offset:3px;outline:3px solid #ffd067}[tabindex]:focus-visible{outline-offset:3px;outline:3px solid #ffd067}button:disabled{cursor:not-allowed;opacity:.46}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.game-shell{color:#f8f0df;background:#bcd5cf;min-width:320px;min-height:100dvh;position:fixed;inset:0;overflow:hidden}.game-underlay,.map-stage{position:absolute;inset:0}.map-stage{z-index:0;background:#bcd5cf;overflow:hidden}.game-underlay[inert]{-webkit-user-select:none;user-select:none}.compact-hud{z-index:20;top:max(12px, env(safe-area-inset-top));color:#f8f0df;border:1px solid var(--hud-border);background:var(--hud-bg);min-height:60px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);white-space:nowrap;border-radius:4px;justify-content:space-between;align-items:center;gap:14px;padding:7px 12px 7px 14px;display:flex;position:fixed;left:16px;right:16px}.brand-lockup{letter-spacing:.14em;flex-shrink:0;min-width:104px;line-height:1;display:grid}.brand-lockup span{color:#d7b66c;font:700 8px system-ui,sans-serif}.brand-lockup strong{margin-top:3px;font-size:15px;font-weight:600}.state-chip{border-left:3px solid #73b58c;flex-shrink:0;align-content:center;min-width:0;padding-left:12px;display:grid}.state-chip.underway{border-left-color:#d7b66c}.state-chip span{color:#b9c9c6;letter-spacing:.13em;font:700 9px system-ui,sans-serif}.state-chip strong{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:clamp(13px,1.5vw,17px);overflow:hidden}.hud-facts{flex-shrink:0;grid-template-columns:minmax(130px,auto) repeat(2,minmax(70px,auto));gap:4px;margin:0;display:grid}.hud-facts div{border-left:1px solid #ffffff29;min-width:0;padding:0 10px}.hud-facts dt{color:#aebfbd;letter-spacing:.08em;font:600 8px system-ui,sans-serif}.hud-facts dd{color:#fff;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;margin:2px 0 0;font:700 12px system-ui,sans-serif;display:flex;overflow:hidden}.hud-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.season-badge{letter-spacing:.05em;border-radius:3px;justify-content:center;align-items:center;padding:2px 7px;font:800 10px system-ui,sans-serif;display:inline-flex}.season-badge.spring{color:#fff;background:linear-gradient(135deg,#a83b54,#d66580);border:1px solid #ffb2c4}.season-badge.summer{color:#fff;background:linear-gradient(135deg,#1f6e43,#48995e);border:1px solid #8be0a5}.season-badge.autumn{color:#fff;background:linear-gradient(135deg,#913a14,#be5f26);border:1px solid #ffa366}.season-badge.winter{color:#eaf4ff;background:linear-gradient(135deg,#1d4368,#3b74a3);border:1px solid #8ec5f5}.season-name{font-weight:800}.weather-badge{letter-spacing:.04em;border-radius:3px;justify-content:center;align-items:center;padding:2px 7px;font:800 10px system-ui,sans-serif;display:inline-flex}.weather-badge.fair{color:#fff;background:linear-gradient(135deg,#a0630d,#d69824);border:1px solid #ffd875}.weather-badge.clear{color:#fff;background:linear-gradient(135deg,#2b6d80,#4b9bb0);border:1px solid #88d4e8}.weather-badge.cloudy{color:#fff;background:linear-gradient(135deg,#48545e,#6e7e8a);border:1px solid #9bb0bf}.weather-badge.rain{color:#dbeefc;background:linear-gradient(135deg,#1b3a59,#38648c);border:1px solid #66a1d4}.weather-badge.fog{color:#f5f8fa;background:linear-gradient(135deg,#4e585c,#7f8e94);border:1px solid #b4c5cb}.weather-badge.gale{color:#e6f9fc;background:linear-gradient(135deg,#224952,#417f8c);border:1px solid #68cad9}.weather-badge.storm{color:#f5db71;background:linear-gradient(135deg,#181926,#362f47);border:1px solid #8f74b8}.weather-badge.calm{color:#fff;background:linear-gradient(135deg,#2b5f66,#4e929b);border:1px solid #7fe0ec}.weather-name{font-weight:800}.time-phase-badge{letter-spacing:.04em;border-radius:3px;justify-content:center;align-items:center;padding:2px 7px;font:800 10px system-ui,sans-serif;display:inline-flex}.time-phase-badge.dawn{color:#fff;background:linear-gradient(135deg,#a84232,#ea8a46);border:1px solid #ffb27a}.time-phase-badge.morning{color:#fff;background:linear-gradient(135deg,#2a7285,#d2a445);border:1px solid #ffe285}.time-phase-badge.noon{color:#fff;background:linear-gradient(135deg,#b07d12,#db9f2e);border:1px solid #ffe280}.time-phase-badge.afternoon{color:#fff;background:linear-gradient(135deg,#a35b18,#cf8b2b);border:1px solid #ffc966}.time-phase-badge.sunset{color:#fff;background:linear-gradient(135deg,#8c2621,#e05e32);border:1px solid #ffa372}.time-phase-badge.dusk{color:#ffdcd0;background:linear-gradient(135deg,#2b1f47,#7c3b52);border:1px solid #a8627b}.time-phase-badge.night{color:#e4f0ff;background:linear-gradient(135deg,#0f2142,#244b7d);border:1px solid #6698d4}.time-phase-badge.midnight{color:#d0e4ff;background:linear-gradient(135deg,#050d1d,#142038);border:1px solid #4a689b}.time-phase-name{font-weight:800}.wind-badge{letter-spacing:.04em;color:#d4faf2;background:linear-gradient(135deg,#1c4b4a,#2e7a78);border:1px solid #62d6be;border-radius:3px;justify-content:center;align-items:center;gap:3px;padding:2px 7px;font:800 10px system-ui,sans-serif;display:inline-flex}.current-badge{letter-spacing:.04em;color:#d8eeff;background:linear-gradient(135deg,#133454,#21517a);border:1px solid #5aa9e8;border-radius:3px;justify-content:center;align-items:center;gap:3px;padding:2px 7px;font:800 10px system-ui,sans-serif;display:inline-flex}.sailing-efficiency-badge{letter-spacing:.03em;border-radius:3px;justify-content:center;align-items:center;padding:2px 6px;font:800 9px system-ui,sans-serif;display:inline-flex}.sailing-efficiency-badge.quarter,.sailing-efficiency-badge.reach,.sailing-efficiency-badge.run{color:#fff;background:linear-gradient(135deg,#7c5812,#a8791c);border:1px solid #ffd875}.sailing-efficiency-badge.close_hauled,.sailing-efficiency-badge.head_wind{color:#ffe6e0;background:linear-gradient(135deg,#59251e,#80372c);border:1px solid #e88676}.sailing-efficiency-badge.calm{color:#eaf0f2;background:linear-gradient(135deg,#3d464a,#5c686e);border:1px solid #9aa9b0}.time-digital{color:#f5f0e3;font-size:11px;font-weight:700}.mini-map-vector-bar{color:#badbd4;background:#071820e6;border-top:1px solid #d7b66c33;justify-content:space-between;align-items:center;padding:3px 6px;font:700 9px system-ui,sans-serif;display:flex}.mini-map-vector-bar .vector-wind{color:#72e5c8}.mini-map-vector-bar .vector-current{color:#6db6ff}.autosave-indicator{color:#bad5c0;white-space:nowrap;align-items:center;gap:5px;font:600 9px system-ui,sans-serif;display:inline-flex}.autosave-indicator i{background:#73b58c;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #73b58c26}.hud-button{color:#fff;cursor:pointer;letter-spacing:.03em;background:#ffffff14;border:1px solid #ffffff57;min-width:54px;min-height:44px;padding:6px 11px;font:700 11px system-ui,sans-serif}.hud-button:hover{background:#ffffff26}.menu-button{color:#fff6df;border-color:#d7b66ca6;min-width:72px}.status-toast{z-index:17;top:max(82px, calc(env(safe-area-inset-top) + 74px));color:#f8eddb;border-left:3px solid var(--gold);pointer-events:none;background:#082a32d6;max-width:min(430px,100vw - 36px);min-height:34px;margin:0;padding:8px 11px;font:600 11px/1.5 system-ui,sans-serif;position:fixed;left:18px;box-shadow:0 5px 18px #0012173d}.debug-toolbar{z-index:21;top:max(126px, calc(env(safe-area-inset-top) + 118px));color:#f8eddb;background:#082a32eb;border:1px solid #d7b66c;align-items:center;gap:10px;min-height:38px;padding:6px 10px;font:700 10px system-ui,sans-serif;display:flex;position:fixed;left:18px;box-shadow:0 5px 18px #0012173d}.debug-toolbar strong{color:#e3bd72;letter-spacing:.12em}.debug-toolbar label{cursor:pointer;align-items:center;gap:6px;display:flex}.debug-toolbar input{accent-color:#d7b66c;width:18px;height:18px}.voyage-ribbon{z-index:17;top:max(82px, calc(env(safe-area-inset-top) + 74px));color:#fff;pointer-events:none;background:#082a32d6;border-right:3px solid #d7b66c;grid-template-columns:auto auto;gap:2px 12px;min-width:230px;padding:8px 12px;display:grid;position:fixed;right:18px;box-shadow:0 5px 18px #0012173d}.voyage-ribbon span{color:#c9d5d2;letter-spacing:.1em;font:700 9px system-ui,sans-serif}.voyage-ribbon strong{font-size:13px}.voyage-ribbon em{color:#f0d69d;grid-column:1/-1;font:700 11px system-ui,sans-serif}.nearby-ports{z-index:18;top:max(82px, calc(env(safe-area-inset-top) + 74px));color:#f8f0df;border:1px solid var(--hud-border);background:var(--hud-bg);width:268px;max-height:calc(100dvh - 200px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-right:4px solid #e3bd72;border-radius:3px;grid-template-rows:auto minmax(0,1fr);display:grid;position:fixed;right:18px;overflow:hidden}.nearby-ports-heading{border-bottom:1px solid #ffffff29;gap:2px;padding:9px 12px 8px;display:grid}.nearby-ports-heading span{color:#e3bd72;letter-spacing:.13em;font:800 8px system-ui,sans-serif}.nearby-ports-heading strong{font-size:15px}.nearby-ports-heading small{color:#c3d3d0;font:600 9px/1.5 system-ui,sans-serif}.nearby-ports ul{overscroll-behavior:contain;touch-action:pan-y;gap:6px;min-height:0;margin:0;padding:8px;list-style:none;display:grid;overflow:auto}.nearby-ports button{color:#f8f0df;text-align:left;cursor:pointer;background:#ffffff12;border:1px solid #ffffff52;gap:2px;width:100%;min-height:56px;padding:7px 10px;display:grid}.nearby-ports button:hover:not(:disabled){background:#e3bd7229;border-color:#e3bd72}.nearby-ports button[aria-pressed=true]{border-color:#e3bd72;box-shadow:inset 0 0 0 1px #e3bd72}.nearby-ports button:disabled{opacity:.5;cursor:progress}.nearby-ports button strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.nearby-ports button small{color:#cddcd8;font:600 10px system-ui,sans-serif}.nearby-ports button em{color:#f0d69d;letter-spacing:.06em;font:700 9px system-ui,sans-serif}.context-bar{z-index:18;right:50%;bottom:max(14px, env(safe-area-inset-bottom));color:#f8f0df;border:1px solid var(--hud-border);background:var(--hud-bg);width:min(630px,100vw - 36px);min-height:70px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-left:4px solid #73b58c;border-radius:3px;justify-content:space-between;align-items:center;gap:18px;padding:10px 11px 10px 16px;transition:opacity .16s,transform .16s;display:flex;position:fixed;transform:translate(50%)}.context-bar.underway{border-left-color:#d7b66c}.context-bar>div:first-child{min-width:0;display:grid}.context-bar span{color:#aebfbd;letter-spacing:.12em;font:700 8px system-ui,sans-serif}.context-bar strong{text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:17px;overflow:hidden}.context-bar small{color:#d9e0dc;margin-top:2px;font:600 10px system-ui,sans-serif}.context-actions{flex:none;align-items:center;gap:7px;display:flex}.context-bar button,.panel-primary{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff61;min-height:46px;padding:8px 15px;font:700 12px system-ui,sans-serif}.context-bar .primary-action,.panel-primary{color:#102f37;background:#e3bd72;border-color:#e3bd72}.context-bar .secondary-action{color:#e2ebe8}.panel-open .context-bar{opacity:0;pointer-events:none;transform:translate(50%)translateY(10px)}.route-planner{z-index:19;right:50%;bottom:max(14px, env(safe-area-inset-bottom));color:#f8f0df;border:1px solid var(--hud-border);background:var(--hud-bg);width:min(760px,100vw - 36px);min-height:74px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-left:4px solid #e3bd72;border-radius:3px;align-items:center;gap:8px;padding:10px 12px 10px 16px;display:flex;position:fixed;transform:translate(50%)}.route-planner>div{min-width:0;margin-right:auto;display:grid}.route-planner span{color:#e3bd72;letter-spacing:.12em;font:800 9px system-ui,sans-serif}.route-planner strong{text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.route-planner small{font:700 10px system-ui,sans-serif}.route-planner small.safe{color:#91d3a7}.route-planner small.blocked{color:#ff9b88}.route-planner button{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff61;min-height:44px;padding:7px 12px;font:700 11px system-ui,sans-serif}.route-planner button.primary-action{color:#102f37;background:#e3bd72;border-color:#e3bd72}.route-planner button:disabled{opacity:.46;cursor:not-allowed}.hud-panel{z-index:40;top:max(84px, calc(env(safe-area-inset-top) + 76px));right:16px;bottom:max(98px, calc(env(safe-area-inset-bottom) + 86px));width:min(400px,36vw);min-width:350px;color:var(--ink);background:var(--paper);border:1px solid #ffffff80;grid-template-rows:auto minmax(0,1fr);animation:.16s ease-out panel-enter;display:grid;position:fixed;box-shadow:0 20px 65px #0011167a}.panel-heading{color:#f8f0df;background:var(--navy);border-bottom:1px solid #ffffff2e;justify-content:space-between;align-items:center;gap:12px;min-height:68px;padding:12px 14px 11px 18px;display:flex}.panel-heading p{color:#d7b66c;letter-spacing:.14em;margin:0 0 2px;font:700 8px system-ui,sans-serif}.panel-heading h2{outline:none;margin:0;font-size:21px;font-weight:600}.panel-heading h2:focus-visible{outline-offset:4px;outline:3px solid #ffd067}.panel-close{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff6b;min-width:58px;min-height:44px;font:700 11px system-ui,sans-serif}.panel-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-y;min-height:0;overflow:auto}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:14px;display:grid}.menu-grid>button{min-height:78px;color:var(--navy);text-align:left;cursor:pointer;background:#faf5e9;border:1px solid #b8aa92;align-content:center;gap:3px;padding:10px 12px;display:grid}.menu-grid>button span{font-size:16px;font-weight:700}.menu-grid>button small{color:#687477;font:600 10px system-ui,sans-serif}.menu-grid>button:hover{background:#fffaf0;border-color:#8f754d}.menu-grid .danger-menu{color:#8f3f32}.admin-menu-link{color:#f8f0df;background:var(--navy);border:1px solid #6f8e91;align-content:center;gap:3px;min-height:68px;padding:10px 12px;text-decoration:none;display:grid}.admin-menu-link span{font-size:15px;font-weight:700}.admin-menu-link small{color:#c7d7d4;font:600 10px system-ui,sans-serif}.audio-settings,.menu-help,.legal-links,.map-credit{grid-column:1/-1}.audio-settings{background:#faf5e9;border:1px solid #b8aa92;padding:12px 14px}.audio-settings h3{color:var(--navy);margin:0 0 8px;font-size:15px}.audio-row{border-top:1px solid #ddd2ba;grid-template-columns:minmax(0,1fr) 58px;align-items:center;gap:6px 10px;padding:7px 0;display:grid}.audio-row:first-of-type{border-top:0}.audio-row-label{color:var(--navy);gap:2px;display:grid}.audio-row-label strong{font-size:14px}.audio-row-label small{color:#687477;font:600 10px system-ui,sans-serif}.audio-toggle{min-width:58px;min-height:34px;color:var(--navy);cursor:pointer;background:#efe6d3;border:1px solid #b8aa92;font:700 12px system-ui,sans-serif}.audio-toggle[aria-checked=true]{color:#f8f0df;background:var(--navy);border-color:#35707a}.audio-slider{width:100%;min-height:34px;accent-color:var(--navy);cursor:pointer;grid-column:1/2}.audio-value{color:#586468;text-align:right;font-variant-numeric:tabular-nums;grid-column:2/3;font:700 12px system-ui,sans-serif}.menu-help{border-left:3px solid var(--gold);background:#e9e0cf;padding:13px 14px}.menu-help h3{margin:0 0 6px;font-size:15px}.menu-help p{color:#586468;margin:0;font:12px/1.7 system-ui,sans-serif}.legal-links{justify-content:center;gap:18px;padding-top:5px;display:flex}.legal-links a{color:#255d69;text-underline-offset:3px;align-items:center;min-height:44px;font:700 11px system-ui,sans-serif;display:inline-flex}.map-credit{color:#737d7f;text-align:center;margin:0;font:9px/1.6 system-ui,sans-serif}.ports-panel{flex-direction:column-reverse;padding:14px;display:flex}.port-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.port-list button{min-height:62px;color:var(--navy);text-align:left;cursor:pointer;background:#fbf6ea;border:1px solid #b9ad98;align-content:center;padding:8px 11px;display:grid}.port-list button[aria-pressed=true]{border-color:#b87a1e;box-shadow:inset 0 0 0 2px #d9a64e}.port-list button span{color:#7a6c57;letter-spacing:.1em;font:700 8px system-ui,sans-serif}.port-list button strong{margin-top:2px;font-size:15px}.port-summary{background:#e9e0cf;border:1px solid #cdbfa9;margin-bottom:12px;padding:16px}.port-summary-artwork{aspect-ratio:16/9;background:#1a3038;border:1px solid #b8ab96;border-radius:3px;width:100%;margin-bottom:12px;position:relative;overflow:hidden;box-shadow:0 2px 6px #101b1e29}.port-summary-image{object-fit:cover;width:100%;height:100%;display:block}.port-summary>p:first-child{color:var(--red);letter-spacing:.13em;margin:0;font:700 8px system-ui,sans-serif}.port-summary h3{margin:3px 0 9px;font-size:25px}.port-summary>p{color:#576469;font:13px/1.65 system-ui,sans-serif}.port-summary dl{grid-template-columns:repeat(2,1fr);gap:7px;margin:13px 0;display:grid}.port-summary dl div{background:#ffffff73;padding:9px}.port-summary dt{color:#6c7779;font:700 9px system-ui,sans-serif}.port-summary dd{margin:3px 0 0;font-size:14px;font-weight:700}.panel-primary{width:100%;min-height:48px}.panel-intro{border-bottom:1px solid var(--line);padding:12px 14px}.panel-intro p{color:#5f696c;margin:7px 0 0;font:11px/1.5 system-ui,sans-serif}.availability{color:#245c45;background:#e1ecdd;border:1px solid #659579;padding:4px 7px;font:700 9px system-ui,sans-serif;display:inline-flex}.table{padding:5px 12px}.row{border-bottom:1px solid #d7ccba;grid-template-columns:1fr .82fr .32fr 1.12fr;align-items:center;min-height:77px;font:12px system-ui,sans-serif;display:grid}.row.head{color:#6d777a;letter-spacing:.07em;min-height:30px;font-size:9px;font-weight:700}.good{font-family:Yu Mincho,serif;font-size:15px;font-weight:600}.good small{color:#6b7679;font-size:10px}.hud-panel .actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.hud-panel .actions button{min-width:0;min-height:44px;color:var(--navy);cursor:pointer;background:0 0;border:1px solid #6c898b;padding:4px 2px;font-size:10px}.hud-panel .actions .trade-sell{color:var(--red);border-color:#a97c71}.hud-panel .actions .bulk{background:#e9e0cf;font-weight:700}.market-price{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.market-price strong{white-space:nowrap}.market-price small{white-space:nowrap;font-size:9px;font-weight:700}.market-price .up{color:#9a3f31}.market-price .down{color:#24617a}.market-price .flat{color:#657277}.provision-market{background:#eee4d2;border:1px solid #c8b898;margin:0 12px 8px}.provision-market header{color:#f5ecdc;background:var(--navy);justify-content:space-between;gap:8px;padding:9px 10px;display:flex}.provision-market header strong{font:700 13px Yu Mincho,serif}.provision-market header small{color:#c8d5d2;text-align:right;font:600 9px/1.4 system-ui,sans-serif}.provision-market>div{border-top:1px solid #d4c7b1;grid-template-columns:1fr auto auto 48px 48px;align-items:center;gap:7px;min-height:54px;padding:6px 9px;display:grid}.provision-market>div>span{font:700 14px Yu Mincho,serif}.provision-market>div>strong{font:800 15px system-ui,sans-serif}.provision-market>div>small{color:#667275;font:700 9px system-ui,sans-serif}.provision-market button{min-height:40px;color:var(--navy);cursor:pointer;background:#f8f1e5;border:1px solid #6c898b;font:800 10px system-ui,sans-serif}.provision-market button:disabled{opacity:.45;cursor:not-allowed}.exploration-market{background:#f8f1e5;border:1px solid #b9ad98;margin:0 12px 8px}.exploration-market header{color:#f5ecdc;background:#31545b;justify-content:space-between;gap:8px;padding:9px 10px;display:flex}.exploration-market header strong{font:700 13px Yu Mincho,serif}.exploration-market header small{color:#cfdbd9;text-align:right;font:600 9px/1.4 system-ui,sans-serif}.exploration-market>div{border-top:1px solid #d7ccba;grid-template-columns:1fr auto 64px;align-items:center;gap:9px;min-height:62px;padding:7px 9px;display:grid}.exploration-market>div>span{gap:2px;display:grid}.exploration-market>div>span strong{font:700 14px Yu Mincho,serif}.exploration-market>div>span small{color:#647174;font:600 9px/1.4 system-ui,sans-serif}.exploration-market>div>b{white-space:nowrap;font:800 12px system-ui,sans-serif}.exploration-market button{min-height:44px;color:var(--navy);cursor:pointer;background:#fffaf0;border:1px solid #6c898b;font:800 10px system-ui,sans-serif}.exploration-market button:disabled{opacity:.48;cursor:not-allowed}.valuation{background:#e4dac7;justify-content:space-between;align-items:center;margin:8px 12px 14px;padding:12px;display:flex}.valuation span{color:#627073;font:700 10px system-ui,sans-serif}.valuation strong{font:700 16px system-ui,sans-serif}.cargo-panel{padding:14px}.cargo-summary{color:#fff;background:var(--navy);grid-template-columns:1fr auto;gap:3px 10px;padding:14px;display:grid}.cargo-summary span{color:#c3d0ce;letter-spacing:.1em;font:700 9px system-ui,sans-serif}.cargo-summary strong{grid-area:1/2/3;align-self:center;font-size:25px}.cargo-summary small{color:#e4d6b8;font:600 10px system-ui,sans-serif}.cargo-panel ul{margin:10px 0 0;padding:0;list-style:none}.cargo-panel li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:50px;padding:8px 10px;display:flex}.cargo-panel li strong{font:700 13px system-ui,sans-serif}.saved-routes-panel ul{gap:8px;margin:0;padding:12px;list-style:none;display:grid}.saved-routes-panel li{background:#f8f1e5;border:1px solid #c9bda8;grid-template-columns:minmax(0,1fr) 58px 48px;align-items:center;gap:6px;min-height:72px;padding:9px;display:grid}.saved-routes-panel li>div{gap:4px;min-width:0;display:grid}.saved-routes-panel input{min-width:0;height:34px;color:var(--navy);background:0 0;border:1px solid #0000;padding:4px 7px;font:700 14px Yu Mincho,serif}.saved-routes-panel input:focus{background:#fff;border-color:#7b9698;outline:2px solid #3469712e}.saved-routes-panel small{color:#657174;text-overflow:ellipsis;white-space:nowrap;font:600 9px system-ui,sans-serif;overflow:hidden}.saved-routes-panel button{min-height:44px;color:var(--navy);cursor:pointer;background:#fffaf0;border:1px solid #6c898b;font:800 10px system-ui,sans-serif}.saved-routes-panel .route-delete{color:#8b3b32;border-color:#b88b83}.saved-routes-panel button:disabled{opacity:.45;cursor:not-allowed}.empty-routes{color:#647174;text-align:center;border:1px dashed #b9ad98;margin:12px;padding:20px 12px;font:11px/1.6 system-ui,sans-serif}.trading-house-regions,.trading-house-best-sell{padding:12px 14px}.trading-house-regions h3,.trading-house-best-sell h3{color:var(--navy);margin:0 0 10px;font-size:13px}.trading-house-regions>ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.trading-house-region{background:#f8f1e5;border:1px solid #c9bda8;padding:10px 12px}.trading-house-region.unlocked{background:#eef3e5;border-color:#8fae7a}.trading-house-region-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.trading-house-region-heading strong{color:var(--navy);font-size:13px}.trading-house-region-heading button{min-height:34px;color:var(--navy);cursor:pointer;background:#f3d999;border:1px solid #b87a1e;padding:0 10px;font:800 11px system-ui,sans-serif}.trading-house-region-heading button:disabled{opacity:.5;cursor:not-allowed}.trading-house-unlocked-tag{color:#245c45;background:#e1ecdd;border:1px solid #659579;padding:3px 8px;font:700 9px system-ui,sans-serif}.trading-house-port-prices{border-top:1px dashed #cdbfa9;gap:4px;margin:8px 0 0;padding:8px 0 0;list-style:none;display:grid}.trading-house-port-prices li{flex-direction:column;gap:2px;display:flex}.trading-house-port-prices span{color:var(--navy);font-size:12px;font-weight:700}.trading-house-port-prices small{color:#657174;font:600 10px system-ui,sans-serif}.trading-house-best-sell ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.trading-house-best-sell li{background:#fbf6ea;border:1px solid #c9bda8;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:4px 10px;padding:9px 11px;display:grid}.trading-house-best-sell li strong{color:var(--navy);grid-column:1;font-size:13px}.trading-house-best-sell li em{color:#8b5a1e;grid-column:2;font-style:normal;font-weight:800}.trading-house-best-sell li span{color:#657174;grid-column:1/-1;font:600 10px system-ui,sans-serif}.log-panel{padding:12px 17px 20px}.log-panel ol{margin:0;padding-left:24px}.log-panel li{color:#4f5c60;border-bottom:1px solid var(--line);padding:10px 3px;font:12px/1.6 system-ui,sans-serif}.maplibre-map-shell,.maplibre-map-canvas{width:100%;height:100%;position:absolute;inset:0}.maplibre-map-shell{background:#bcd5cf}.maplibre-map-canvas{z-index:0}.map-time-tint{z-index:2;pointer-events:none;transition:background 1.2s ease-in-out;position:absolute;inset:0}.maplibre-map-shell.route-planning .maplibregl-canvas-container.maplibregl-interactive,.maplibre-map-shell.route-planning .maplibregl-canvas-container.maplibregl-interactive:active,.maplibre-map-shell.route-planning .maplibregl-canvas{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='38' viewBox='0 0 30 38'%3E%3Cpath d='M15 2.2c-6 0-10.9 4.9-10.9 10.9 0 7.8 9 18.2 9.9 19.4a1.3 1.3 0 0 0 2 0c.9-1.2 9.9-11.6 9.9-19.4C25.9 7.1 21 2.2 15 2.2z' fill='%23efbf59' stroke='%23fff8df' stroke-width='2.2'/%3E%3Ccircle cx='15' cy='13.1' r='4.3' fill='%2317353d'/%3E%3C/svg%3E") 15 34,crosshair}.maplibre-map-shell .maplibregl-ctrl-top-right{top:var(--map-ui-top,76px);right:var(--map-ui-right,18px)}.maplibre-map-shell .maplibregl-ctrl-bottom-right{right:var(--map-ui-right,18px);bottom:var(--map-ui-bottom,92px)}.maplibre-map-shell .maplibregl-ctrl-bottom-left{bottom:var(--map-ui-bottom,92px);left:var(--map-ui-left,18px);max-width:calc(100% - var(--map-ui-left,18px) - var(--map-ui-right,18px))}.maplibre-map-shell .maplibregl-ctrl-attrib{color:#203238;background:#ffffffe0}.map-loading{z-index:8;color:#fff;background:#123d47eb;margin:0;padding:10px 14px;font:700 12px system-ui,sans-serif;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.map-error{z-index:8;color:#fff;text-align:center;background:#0d2635;justify-content:center;align-items:center;padding:24px;font:700 13px/1.6 system-ui,sans-serif;display:flex;position:absolute;inset:0}.map-port{cursor:pointer;background:0 0;border:0;min-width:58px;padding:0;display:block}.map-port i{background:var(--navy);width:14px;height:14px;box-shadow:0 0 0 2px var(--navy);border:3px solid #f5ecda;border-radius:50%;margin:auto;display:block}.map-port b{color:#fff;white-space:nowrap;background:#123d47eb;margin-top:6px;padding:4px 8px;font:700 12px Yu Mincho,serif;display:block;box-shadow:0 2px 7px #00121857}.map-port.current i{background:var(--red);box-shadow:0 0 0 2px var(--red)}.map-port.selected i{outline-offset:4px;outline:3px solid #d69a32}.map-port:disabled{cursor:default;opacity:.78}.route-waypoint-marker{color:#17353d;cursor:grab;background:#efbf59;border:3px solid #fff8df;border-radius:50%;width:30px;height:30px;padding:0;font:800 11px system-ui,sans-serif;box-shadow:0 3px 10px #051e2480}.route-waypoint-marker:active{cursor:grabbing}.maplibre-ship-anchor{pointer-events:none}.ship-marker{z-index:4;filter:drop-shadow(0 3px 2px #092c3473);pointer-events:none;width:38px;height:38px;transition:left 1s linear,top 1s linear;position:absolute;transform:translate(-50%,-50%)}.map-ship-marker{position:relative;top:auto;left:auto;transform:none}.ship-marker.docked:after{content:"";background:#efbf59;border:2px solid #092c34;border-radius:50%;width:8px;height:8px;position:absolute;bottom:-2px;right:-2px;box-shadow:0 0 4px #00000080}.ship-vessel{transition:transform .25s linear;display:block;position:absolute;inset:0}.ship-vessel .mast{background:#5c4028;width:2px;height:20px;position:absolute;top:6px;left:18px}.ship-vessel .sail{clip-path:polygon(100% 0,100% 100%,0 82%);background:#f7edda;width:10px;height:16px;position:absolute;top:5px;left:8px}.ship-vessel .hull{clip-path:polygon(0 0,100% 0,77% 100%,20% 100%);background:#8d4935;width:29px;height:9px;position:absolute;top:23px;left:5px}.ship-marker.underway .sail{animation:1s ease-in-out infinite sail-breathe}.legal-shell{width:min(760px,100% - 28px);min-height:100vh;margin:auto;padding:38px 0 60px}.legal-card{background:var(--paper);padding:clamp(24px,5vw,52px);box-shadow:0 12px 35px #00000040}.legal-card h1{margin:0 0 24px;font-size:clamp(30px,5vw,46px)}.legal-card h2{margin:30px 0 8px;font-size:20px}.legal-card p,.legal-card li{line-height:1.8}.legal-card a{color:#145c6b}.legal-back{color:#f8f0df;text-underline-offset:3px;min-height:44px;margin-bottom:18px;display:inline-block}@keyframes sail-breathe{50%{transform:skew(-4deg)}}@keyframes panel-enter{0%{opacity:0;transform:translate(12px)}}@media (max-width:1100px){.brand-lockup,.autosave-indicator{display:none}.hud-panel{width:min(400px,39vw)}}@media (max-width:767px){:root{--compact-hud-height:calc(86px + env(safe-area-inset-top))}.compact-hud{height:var(--compact-hud-height);min-height:86px;padding:calc(6px + env(safe-area-inset-top)) 8px 6px;border-width:0 0 1px;border-radius:0;grid-template-columns:minmax(100px,1fr) auto;grid-template-areas:"state actions""facts facts";gap:4px 6px;display:grid;top:0;left:0;right:0}.state-chip{grid-area:state;height:38px;padding-left:9px}.state-chip span{letter-spacing:.08em;font-size:10px}.state-chip strong{margin-top:1px;font-size:15px}.hud-facts{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;grid-area:facts;gap:0;width:100%;display:flex;overflow:auto hidden}.hud-facts::-webkit-scrollbar{display:none}.hud-facts div{flex:none;order:3;padding:0 9px}.hud-facts div:nth-child(2){order:1}.hud-facts div:nth-child(4){order:2}.hud-time-box{order:4}.hud-facts dt{float:left;margin-right:5px;font-size:10px}.hud-facts dd{white-space:nowrap;margin:0;font-size:13px}.hud-time-box dt{display:none}.hud-time-box dd{gap:4px}.maplibre-map-shell .maplibregl-ctrl-attrib{white-space:nowrap;text-overflow:ellipsis;max-width:62vw;font-size:9px;overflow:hidden}.hud-actions{grid-area:actions;gap:5px}.hud-actions .hud-button{min-width:48px;min-height:40px;padding:4px 8px;font-size:12px}.ports-button{min-width:44px}.menu-button{min-width:58px}.status-toast{top:calc(var(--compact-hud-height) + 6px);max-width:calc(100vw - 16px);min-height:32px;padding:7px 10px;font-size:11px;left:8px}.debug-toolbar{top:calc(var(--compact-hud-height) + 44px);min-height:34px;padding:4px 8px;left:8px}.voyage-ribbon{top:calc(var(--compact-hud-height) + 42px);min-width:190px;padding:7px 10px;right:8px}.nearby-ports{top:calc(var(--compact-hud-height) + 6px);width:148px;max-height:calc(100dvh - var(--compact-hud-height) - 110px);right:8px}.nearby-ports-heading{padding:7px 9px 6px}.nearby-ports-heading strong{font-size:13px}.nearby-ports-heading small{display:none}.nearby-ports ul{gap:5px;padding:5px}.nearby-ports button{min-height:54px;padding:6px 8px}.nearby-ports button strong{font-size:13px}.nearby-ports button small,.nearby-ports button em{font-size:10px}.voyage-ribbon strong{font-size:13px}.context-bar{right:8px;bottom:max(7px, env(safe-area-inset-bottom));gap:7px;width:auto;min-height:62px;padding:7px 8px 7px 11px;left:8px;transform:none}.context-bar strong{font-size:15px}.context-bar small{font-size:11px}.context-actions{gap:5px}.context-bar button{min-height:46px;padding:6px 10px;font-size:12px}.context-bar .secondary-action{min-width:58px}.panel-open .context-bar{transform:translateY(10px)}.route-planner{right:8px;bottom:max(7px, env(safe-area-inset-bottom));flex-wrap:wrap;gap:4px;width:auto;min-height:68px;padding:7px;left:8px;transform:none}.route-planner>div{flex:1 0 100%}.route-planner strong{max-width:150px;font-size:14px}.route-planner small{max-width:100%;font-size:10px}.route-planner button{flex:1;min-width:0;min-height:44px;padding:5px 7px;font-size:11px}.hud-panel{width:100%;min-width:0;height:min(62dvh,560px);padding-bottom:env(safe-area-inset-bottom);border-width:1px 0 0;border-radius:16px 16px 0 0;animation-name:sheet-enter;inset:auto 0 0}.panel-heading{border-radius:15px 15px 0 0;min-height:62px;padding:10px 12px 8px 16px}.panel-heading:before{content:"";background:#ffffff6b;border-radius:4px;width:42px;height:4px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.panel-heading h2{font-size:19px}.panel-heading p{margin-top:5px}.panel-scroll{-webkit-overflow-scrolling:touch}.menu-grid{padding:10px}.menu-grid>button{min-height:68px}.ports-panel{padding:10px}.port-summary{padding:13px}.table{padding:4px 9px}.row{min-height:74px}.map-port b{padding:3px 6px;font-size:11px}}@media (max-width:767px) and (max-height:600px){.hud-panel{height:min(38dvh,200px)}.panel-heading{min-height:56px;padding-block:7px 5px}.panel-heading p{display:none}}@media (max-width:480px){.status-toast{white-space:nowrap;text-overflow:ellipsis;max-width:calc(100vw - 16px);overflow:hidden}.context-bar>div:first-child{max-width:112px}.context-bar .secondary-action,.row.head{display:none}.row{grid-template-columns:minmax(90px,1fr) auto auto;gap:4px 8px;padding:8px 0}.row .actions{grid-column:1/-1}.hud-panel .actions button{min-height:44px}.market-price{align-items:flex-end}.menu-grid{grid-template-columns:1fr 1fr;gap:7px}.menu-grid>button{padding:8px}.port-list{gap:6px}.port-list button{min-height:58px;padding:7px}}@media (max-width:350px){.compact-hud{grid-template-columns:minmax(82px,1fr) auto}.hud-button{font-size:11px}.hud-facts div{padding:0 5px}.hud-facts dt{display:none}.hud-facts dd{font-size:12px}.context-bar>div:first-child{max-width:94px}.context-bar button{padding-inline:6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (prefers-contrast:more){.compact-hud,.context-bar,.hud-panel,.hud-button,.context-bar button,.panel-close,.menu-grid>button,.port-list button{border-width:2px}.status-toast,.voyage-ribbon,.nearby-ports{background:#082a32}.nearby-ports button{border-width:2px}}@keyframes sheet-enter{0%{opacity:0;transform:translateY(22px)}}.shipyard-toolbar{background:#f4ede1;border:1px solid #ded4c1;flex-direction:column;gap:8px;margin-bottom:12px;padding:8px 10px;display:flex}.shipyard-filter-group{flex-wrap:wrap;gap:4px;display:flex}.shipyard-filter-btn{color:var(--navy);cursor:pointer;background:#faf5e9;border:1px solid #b8aa92;border-radius:2px;padding:4px 8px;font-size:11px;font-weight:700}.shipyard-filter-btn.active{background:var(--navy);color:#fff;border-color:var(--navy)}.shipyard-search-row{gap:6px;display:flex}.shipyard-search-input{background:#fff;border:1px solid #b8aa92;flex:1;min-height:32px;padding:4px 8px;font-size:11px}.shipyard-sort-select{background:#fff;border:1px solid #b8aa92;min-height:32px;padding:4px 8px;font-size:11px}.ship-combat-specs{color:#5a6669;background:#00000008;border-radius:2px;flex-wrap:wrap;gap:10px;margin:4px 0 6px;padding:4px 8px;font-size:10px;display:flex}.ship-combat-specs span{align-items:center;gap:2px;display:inline-flex}.ship-combat-specs strong{color:var(--navy);font-weight:700}.fleet-panel{padding:12px}.fleet-tabs{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px;display:grid}.fleet-tab-btn{min-height:42px;color:var(--navy);cursor:pointer;background:#faf5e9;border:1px solid #b8aa92;padding:6px 4px;font:700 11px system-ui,sans-serif}.fleet-tab-btn.active{color:#fff;border-color:var(--navy);background:var(--navy)}.fleet-summary-bar{background:#e9e0cf;border:1px solid #cdbfa9;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;font-size:11px;display:flex}.fleet-summary-bar strong{color:var(--navy);font-size:14px}.ship-list{flex-direction:column;gap:10px;display:flex}.ship-card{background:#faf5e9;border:1px solid #cdbfa9;padding:12px;box-shadow:0 2px 6px #0000000f}.ship-card-artwork{aspect-ratio:3/2;background:#ded5c2;border:1px solid #c8bcab;border-radius:3px;width:100%;max-height:200px;margin:6px 0 8px;overflow:hidden;box-shadow:inset 0 0 6px #0000001a}.ship-card-image{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.ship-card:hover .ship-card-image{transform:scale(1.02)}.ship-card-header{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.ship-card-header h4{color:var(--navy);margin:0;font-size:16px;font-weight:700}.ship-card-badge{border-radius:2px;padding:3px 7px;font:700 9px system-ui,sans-serif}.ship-card-badge.flagship{color:#102f37;background:#d7b66c}.ship-card-badge.fleet{color:#082a32;background:#73b58c}.ship-card-badge.auto_trade{color:#fff;background:#5a8bb0}.ship-card-badge.docked{color:#333;background:#b0a89a}.ship-specs-grid{background:#ffffff80;border:1px solid #ded4c1;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0;padding:8px;font-size:11px;display:grid}.ship-specs-grid div{flex-direction:column;gap:2px;display:flex}.ship-specs-grid dt{color:#6b777a;font-size:9px;font-weight:600}.ship-specs-grid dd{color:var(--navy);margin:0;font-weight:700}.ship-lore{color:#5a6669;margin:6px 0;font-size:11px;line-height:1.5}.ship-card-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.ship-card-actions button{min-height:38px;color:var(--navy);cursor:pointer;background:#fff;border:1px solid #6c898b;padding:6px 12px;font:700 11px system-ui,sans-serif}.ship-card-actions button.primary{color:#102f37;background:#d7b66c;border-color:#c58a2a}.ship-card-actions button.danger{color:var(--red);border-color:#a97c71}.ship-rename-input{min-width:120px;min-height:38px;font:inherit;border:1px solid #b8aa92;flex:1;padding:4px 8px;font-size:12px}.autotrade-create-box{background:#fdfbf7;border:1px solid #d7b66c;margin-bottom:14px;padding:12px}.autotrade-create-box h4{color:var(--navy);margin:0 0 8px;font-size:14px}.autotrade-form-row{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;display:grid}.autotrade-form-group{flex-direction:column;gap:3px;display:flex}.autotrade-form-group label{color:#6b777a;font-size:10px;font-weight:700}.autotrade-form-group select,.autotrade-form-group input{background:#fff;border:1px solid #b8aa92;min-height:38px;padding:6px;font-family:inherit;font-size:12px}.autotrade-hint{color:#667275;margin:6px 0;font-size:10px}.autotrade-route-card{background:#faf5e9;border:1px solid #b8aa92;margin-bottom:10px;padding:12px}.autotrade-route-header{justify-content:space-between;align-items:baseline;gap:6px;margin-bottom:6px;display:flex}.autotrade-route-header strong{color:var(--navy);font-size:14px}.autotrade-status-tag{border-radius:2px;padding:2px 6px;font:700 9px system-ui,sans-serif}.autotrade-status-tag.active{color:#082a32;background:#73b58c}.autotrade-status-tag.paused{color:#333;background:#b0a89a}.autotrade-stats{background:#ffffff80;border:1px solid #ded4c1;grid-template-columns:repeat(2,1fr);gap:6px;margin:8px 0;padding:8px;font-size:11px;display:grid}.autotrade-stats div{flex-direction:column;display:flex}.autotrade-stats dt{color:#6b777a;font-size:9px}.autotrade-stats dd{margin:0;font-weight:700}.autotrade-stats dd.profit{color:#245c45}.autotrade-actions{gap:6px;margin-top:8px;display:flex}.autotrade-actions button{cursor:pointer;background:#fff;border:1px solid #6c898b;flex:1;min-height:38px;padding:6px;font:700 11px system-ui,sans-serif}.autotrade-actions button.danger{color:var(--red);border-color:#a97c71}.supply-tag{color:#fff;vertical-align:middle;background:linear-gradient(135deg,#2b6d80,#4b9bb0);border-radius:2px;margin-left:8px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-block}.availability.supply-only{color:#dbeefc;background:linear-gradient(135deg,#1b3a59,#38648c);border-color:#66a1d4}.supply-notice{background:#f0f7fa;border:1px solid #7ea3b5;border-radius:3px;margin:12px 0;padding:16px}.supply-notice p{color:#1e3a47;margin:0 0 12px;font-size:12px;line-height:1.6}.mini-map-frame{z-index:17;top:max(84px, calc(env(safe-area-inset-top) + 76px));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#082a32eb;border:1px solid #d7b66cbf;border-radius:4px;width:242px;transition:all .2s ease-in-out;position:fixed;left:18px;overflow:hidden;box-shadow:0 8px 24px #00121773}.mini-map-frame.collapsed{width:auto;min-width:120px}.mini-map-header{background:#0e1924d9;border-bottom:1px solid #d7b66c4d;justify-content:space-between;align-items:center;padding:5px 8px;display:flex}.mini-map-title{color:#e3bd72;letter-spacing:.06em;white-space:nowrap;font:700 10px system-ui,sans-serif}.mini-map-toggle{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff40;border-radius:2px;min-height:22px;padding:2px 7px;font:700 9px system-ui,sans-serif}.mini-map-toggle:hover{background:#fff3}.mini-map-body{flex-direction:column;align-items:center;padding:4px;display:flex}.mini-map-canvas{cursor:crosshair;background:#0a1926;border:1px solid #648ca559;border-radius:2px;width:232px;height:154px;display:block}.mini-map-legend{color:#cad5d2;justify-content:space-around;width:100%;padding-top:4px;font:600 8px system-ui,sans-serif;display:flex}.mini-map-legend span{align-items:center;gap:3px;display:inline-flex}.mini-map-legend .dot{border-radius:50%;width:6px;height:6px;display:inline-block}.mini-map-legend .ship-dot{background:#e5c158;box-shadow:0 0 4px #e5c158}.mini-map-legend .current-dot{background:#73b58c}.mini-map-legend .port-dot{background:#d7b66c}.mini-map-legend .supply-dot{background:#5cb8d6;border-radius:0;width:5px;height:5px;transform:rotate(45deg)}.port-snapshot-frame{z-index:17;top:max(84px, calc(env(safe-area-inset-top) + 76px));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#082a32eb;border:1px solid #d7b66cbf;border-radius:4px;width:242px;position:fixed;left:18px;overflow:hidden;box-shadow:0 8px 24px #00121773}.port-snapshot-header{background:#0e1924d9;border-bottom:1px solid #d7b66c4d;align-items:center;gap:6px;padding:5px 8px;display:flex}.port-snapshot-title{color:#e3bd72;letter-spacing:.1em;white-space:nowrap;font:700 9px system-ui,sans-serif}.port-snapshot-header strong{color:#f8f0df;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.port-snapshot-artwork{aspect-ratio:16/9;width:100%;position:relative}.port-snapshot-image{object-fit:cover;width:100%;height:100%;display:block}.event-console-container{z-index:18;right:50%;bottom:max(90px, calc(env(safe-area-inset-bottom) + 84px));pointer-events:auto;width:min(630px,100vw - 36px);transition:bottom .2s;position:fixed;transform:translate(50%)}.panel-open .event-console-container{opacity:0;pointer-events:none}.event-message-bar{color:#f8f0df;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#082a32f0;border:1px solid #d7b66c99;border-left:4px solid #e3bd72;border-radius:3px;justify-content:space-between;align-items:center;gap:10px;padding:7px 12px;transition:border-color .3s,background .3s;display:flex;box-shadow:0 4px 16px #00121759}.event-message-bar.pulse{background:#0e3742f5;border-left-color:#ffd875;box-shadow:0 0 14px #e3bd7259}.event-message-main{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.event-category-badge{letter-spacing:.05em;white-space:nowrap;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;padding:2px 7px;font:800 9px system-ui,sans-serif;display:inline-flex}.event-category-badge.voyage{color:#fff;background:linear-gradient(135deg,#a0630d,#d69824);border:1px solid #ffd875}.event-category-badge.dock{color:#fff;background:linear-gradient(135deg,#1f6e43,#48995e);border:1px solid #8be0a5}.event-category-badge.weather{color:#fff;background:linear-gradient(135deg,#2b6d80,#4b9bb0);border:1px solid #88d4e8}.event-category-badge.season{color:#fff;background:linear-gradient(135deg,#913a14,#be5f26);border:1px solid #ffa366}.event-category-badge.trade{color:#fff;background:linear-gradient(135deg,#326d40,#5c9948);border:1px solid #99e08b}.event-category-badge.autotrade{color:#fff;background:linear-gradient(135deg,#2a5a80,#4684b0);border:1px solid #84c0e8}.event-category-badge.discovery{color:#fff;background:linear-gradient(135deg,#5b307d,#894bb5);border:1px solid #cb96f5}.event-category-badge.alert{color:#fff;background:linear-gradient(135deg,#8a2020,#bd3535);border:1px solid #ff7a7a}.event-category-badge.system{color:#fff;background:linear-gradient(135deg,#48545e,#6e7e8a);border:1px solid #9bb0bf}.event-message-text{color:#f5eedb;text-overflow:ellipsis;white-space:nowrap;font:600 11px/1.4 system-ui,sans-serif;overflow:hidden}.event-log-toggle{color:#e5c158;cursor:pointer;white-space:nowrap;background:#ffffff0f;border:1px solid #d7b66c66;border-radius:2px;flex-shrink:0;min-height:28px;padding:4px 10px;font:700 10px system-ui,sans-serif}.event-log-toggle:hover{background:#d7b66c26;border-color:#d7b66c}.event-log-drawer{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#08242cf5;border:1px solid #d7b66c99;border-radius:3px;flex-direction:column;max-height:220px;animation:.16s ease-out panel-enter;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;right:0;box-shadow:0 10px 30px #000f1480}.event-log-drawer-header{color:#e3bd72;background:#0e1924e6;border-bottom:1px solid #d7b66c4d;justify-content:space-between;align-items:center;padding:7px 12px;font:700 10px system-ui,sans-serif;display:flex}.event-log-drawer-header span{color:#aebfbd;font-size:9px}.event-log-list{overscroll-behavior:contain;flex-direction:column;gap:4px;margin:0;padding:6px 10px;list-style:none;display:flex;overflow-y:auto}.event-log-empty{color:#8fa09d;text-align:center;padding:12px 0;font:600 10px system-ui,sans-serif}.event-log-entry{border-bottom:1px solid #ffffff0d;align-items:center;gap:8px;padding:4px 6px;font-size:10px;display:flex}.event-entry-badge{white-space:nowrap;border-radius:2px;padding:1px 5px;font:700 8px system-ui,sans-serif}.event-entry-badge.voyage{color:#fff;background:#a0630d}.event-entry-badge.dock{color:#fff;background:#1f6e43}.event-entry-badge.weather{color:#fff;background:#2b6d80}.event-entry-badge.season{color:#fff;background:#913a14}.event-entry-badge.trade{color:#fff;background:#326d40}.event-entry-badge.autotrade{color:#fff;background:#2a5a80}.event-entry-badge.discovery{color:#fff;background:#5b307d}.event-entry-badge.alert{color:#fff;background:#8a2020}.event-entry-badge.system{color:#fff;background:#48545e}.event-entry-text{color:#e5edea;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.event-entry-time{color:#8fa09d;white-space:nowrap;font:600 8px system-ui,sans-serif}.tavern-panel{flex-direction:column;gap:16px;padding:4px 0 20px;display:flex}.tavern-fame-card{background:linear-gradient(135deg,#1a2639f2,#0f1724f2);border:1px solid #d4af3766;border-radius:8px;padding:14px 16px;box-shadow:0 4px 16px #0006,inset 0 1px #ffffff1a}.tavern-fame-card .fame-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.tavern-fame-card .fame-label{color:#9cb0a8;text-transform:uppercase;letter-spacing:.5px;font-size:11px}.tavern-fame-card .fame-title{color:#f7d358;text-shadow:0 0 12px #f7d35866;font-size:15px;font-weight:700}.tavern-fame-card .fame-stats{background:#00000040;border-radius:6px;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px;padding:8px 10px;display:grid}.tavern-fame-card .fame-stats div{text-align:center;flex-direction:column;align-items:center;display:flex}.tavern-fame-card .fame-stats span{color:#8fa09d;font-size:10px}.tavern-fame-card .fame-stats strong{color:#e5edea;font-size:12px}.tavern-fame-card .fame-perk{color:#a8d5c8;margin:0;font-size:11px;line-height:1.4}.tavern-section{flex-direction:column;gap:10px;display:flex}.tavern-section .section-title-wrap{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding-bottom:4px;display:flex}.tavern-section h4{color:#d1dfdb;margin:0;font-size:13px;font-weight:700}.empty-quests{text-align:center;color:#8fa09d;background:#0003;border:1px dashed #ffffff26;border-radius:6px;margin:0;padding:16px;font-size:11px}.quest-list{flex-direction:column;gap:10px;display:flex}.quest-card{background:#121c28d9;border:1px solid #ffffff1f;border-radius:6px;flex-direction:column;gap:8px;padding:12px;transition:all .2s;display:flex}.quest-card:hover{background:#182636e6;border-color:#ffffff40}.quest-card.ready-to-complete{background:linear-gradient(135deg,#1e2a23e6,#121c28e6);border-color:#f7d358;box-shadow:0 0 14px #f7d35840}.quest-header{align-items:center;gap:8px;display:flex}.quest-badge{white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.quest-badge.delivery{color:#fff;background:#a0630d}.quest-badge.transport{color:#fff;background:#1f6e43}.quest-badge.survey{color:#fff;background:#2a5a80}.quest-header h5{color:#e5edea;margin:0;font-size:12px;font-weight:700}.quest-desc{color:#b0c2bc;margin:0;font-size:11px;line-height:1.4}.quest-details{background:#0003;border-radius:4px;grid-template-columns:repeat(2,1fr);gap:4px 8px;padding:6px 8px;font-size:10px;display:grid}.quest-details div{align-items:center;gap:4px;display:flex}.quest-details span{color:#8fa09d}.quest-details strong{color:#e5edea}.quest-details .reward-gold{color:#f7d358}.quest-details .reward-fame{color:#6ee7b7}.quest-details .expired{color:#ef4444}.quest-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:4px;display:flex}.quest-status-hint{color:#fcd34d;margin-right:auto;font-size:10px}.quest-accept-btn,.quest-complete-btn,.quest-abandon-btn{cursor:pointer;border:1px solid #0000;border-radius:4px;padding:6px 12px;font-family:inherit;font-size:11px;font-weight:600;transition:all .15s}.quest-accept-btn{color:#fff;background:#2b6d80;border-color:#3b889d}.quest-accept-btn:hover:not(:disabled){background:#358399}.quest-accept-btn:disabled{color:#6b7c77;cursor:not-allowed;background:#ffffff14}.quest-complete-btn{color:#fff;background:linear-gradient(135deg,#d97706,#b45309);border-color:#f59e0b;animation:2s infinite pulse-glow;box-shadow:0 2px 8px #d9770666}.quest-complete-btn:hover{background:linear-gradient(135deg,#f59e0b,#d97706)}@keyframes pulse-glow{0%,to{box-shadow:0 0 8px #f59e0b66}50%{box-shadow:0 0 16px #f59e0bcc}}.quest-abandon-btn{color:#b0c2bc;background:#ffffff0f;border-color:#ffffff1a}.quest-abandon-btn:hover{color:#fca5a5;background:#ef444433;border-color:#ef444466}.voyage-event-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1200;background:#050c14d9;justify-content:center;align-items:center;padding:16px;animation:.25s fadeIn;display:flex;position:fixed;inset:0}.voyage-event-modal-window{background:linear-gradient(145deg,#162436,#0d1724);border:1px solid #d4af3780;border-radius:12px;flex-direction:column;gap:14px;width:100%;max-width:480px;padding:24px;display:flex;box-shadow:0 12px 36px #000000b3,0 0 20px #d4af3726}.voyage-event-header{align-items:center;gap:10px;display:flex}.voyage-event-title{color:#f7d358;margin:0;font-size:17px;font-weight:700}.voyage-event-desc{color:#d1dfdb;margin:0;font-size:13px;line-height:1.5}.voyage-event-options{flex-direction:column;gap:10px;margin-top:8px;display:flex}.voyage-event-option-btn{cursor:pointer;text-align:left;background:#ffffff0d;border:1px solid #ffffff26;border-radius:8px;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;font-family:inherit;transition:all .2s;display:flex}.voyage-event-option-btn:hover{background:#2b6d8059;border-color:#3b889d;transform:translateY(-1px)}.voyage-event-option-btn strong{color:#e5edea;font-size:13px}.voyage-event-option-btn small{color:#9cb0a8;font-size:11px}.port-arrival-overlay{z-index:1300;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer;background:#040a108c;justify-content:center;align-items:center;padding:16px;animation:.5s both port-arrival-fade-in;display:flex;position:fixed;inset:0}.port-arrival-overlay-closing{animation:.4s both port-arrival-fade-out}.port-arrival-name{color:#f8f0df;letter-spacing:.08em;text-shadow:0 4px 24px #000000a6;text-align:center;-webkit-user-select:none;user-select:none;margin:0;padding:0 24px;font:700 clamp(40px,11vw,96px) Hiragino Mincho ProN,Yu Mincho,serif}@keyframes port-arrival-fade-in{0%{opacity:0}to{opacity:1}}@keyframes port-arrival-fade-out{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.port-arrival-overlay,.port-arrival-overlay-closing{animation:none}}.facilities-modal-overlay{z-index:1200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050c12c7;justify-content:center;align-items:center;padding:16px;animation:.25s ease-out fadeInModal;display:flex;position:fixed;inset:0}.port-facilities-container{color:#e4eee9;background:#111e28;border:1px solid #badbd438;border-radius:12px;flex-direction:column;width:100%;max-width:960px;max-height:90vh;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 48px #000000a6,0 0 0 1px #d4af3726}.facilities-header{flex-shrink:0;width:100%;height:180px;position:relative;overflow:hidden}.facilities-port-art{position:absolute;inset:0}.facilities-art-image{object-fit:cover;filter:brightness(.72)contrast(1.1)}.facilities-art-overlay{background:linear-gradient(#0b161e33 0%,#0b161eeb 100%);flex-direction:column;justify-content:flex-end;padding:18px 24px;display:flex;position:absolute;inset:0}.facilities-port-tag{letter-spacing:.15em;color:#d4af37;text-transform:uppercase;font-size:11px;font-weight:700}.facilities-art-overlay h2{color:#f7f3e8;text-shadow:0 2px 8px #000c;margin:2px 0 4px;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:26px}.facilities-port-lore{color:#badbd4;text-shadow:0 1px 4px #000000e6;max-width:780px;margin:0;font-size:13px;line-height:1.4}.facilities-close-btn{z-index:10;color:#badbd4;cursor:pointer;background:#0f1921bf;border:1px solid #badbd44d;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;transition:all .2s;display:flex;position:absolute;top:14px;right:14px}.facilities-close-btn:hover{color:#fff;background:#d4af3740;border-color:#d4af37}.facilities-toast{z-index:20;color:#badbd4;background:#142a30f2;border:1px solid #3caea3;border-radius:20px;padding:8px 20px;font-size:13px;font-weight:600;animation:.3s fadeInToast;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000080}.facilities-quick-nav{background:#12202ad9;border-bottom:1px solid #badbd41f;flex-shrink:0;gap:8px;padding:10px 18px;display:flex;overflow-x:auto}.quick-btn{color:#badbd4;cursor:pointer;text-align:center;background:#1c303c99;border:1px solid #badbd433;border-radius:6px;flex:1;min-width:120px;padding:8px 12px;font-size:13px;font-weight:600;transition:all .18s}.quick-btn:hover{color:#fff;background:#2d4b5acc;border-color:#badbd4}.facilities-tab-bar{background:#0d1820;border-bottom:1px solid #badbd426;flex-shrink:0;gap:4px;padding:8px 18px 0;display:flex;overflow-x:auto}.facility-tab{color:#8a9a95;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 16px;font-size:14px;font-weight:600;transition:all .2s}.facility-tab:hover{color:#badbd4}.facility-tab.active{color:#d4af37;border-bottom-color:#d4af37}.facilities-content{flex:1;min-height:360px;padding:20px 24px;overflow-y:auto}.facility-section{flex-direction:column;gap:16px;display:flex}.section-intro h3{color:#f4edd9;margin:0 0 6px;font-family:Hiragino Mincho ProN,serif;font-size:19px}.section-intro p{color:#9ab4af;margin:0;font-size:13px;line-height:1.5}.governor-stats-card{background:#12212c99;border:1px solid #badbd426;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;padding:14px 18px;display:grid}.stat-item{flex-direction:column;gap:4px;display:flex}.stat-item span{color:#8a9a95;font-size:12px}.stat-item strong{color:#e4eee9;font-size:16px}.text-highlight{color:#d4af37!important}.text-positive{color:#4ade80!important}.progress-container{background:#0e192266;border-radius:6px;flex-direction:column;gap:6px;padding:12px;display:flex}.progress-labels{color:#9ab4af;justify-content:space-between;font-size:12px;display:flex}.progress-track{background:#050c12cc;border-radius:4px;width:100%;height:8px;overflow:hidden}.progress-bar{background:linear-gradient(90deg,#2b7a78,#d4af37);height:100%;transition:width .3s}.investment-actions h4,.permit-header h4{color:#badbd4;margin:0 0 10px;font-size:15px}.btn-group{flex-wrap:wrap;gap:8px;display:flex}.invest-btn{color:#f4edd9;cursor:pointer;background:#1e3442b3;border:1px solid #badbd440;border-radius:6px;flex:1;min-width:110px;padding:10px 14px;font-size:13px;font-weight:600;transition:all .2s}.invest-btn:hover:not(:disabled){color:#fff;background:#d4af3733;border-color:#d4af37}.invest-btn:disabled{opacity:.4;cursor:not-allowed}.permit-box{background:#14263099;border:1px solid #d4af374d;border-radius:8px;padding:16px}.permit-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.badge-permit{border-radius:12px;padding:4px 10px;font-size:11px;font-weight:700}.badge-permit.active{color:#4ade80;background:#22c55e33;border:1px solid #22c55e66}.badge-permit.ready{color:#d4af37;background:#d4af3733;border:1px solid #d4af3780}.badge-permit.locked{color:#94a3b8;background:#64748b33;border:1px solid #64748b4d}.permit-req{color:#8a9a95;margin-top:4px;font-size:12px;display:block}.permit-btn{color:#0b141a;cursor:pointer;background:linear-gradient(135deg,#9a7b2c,#d4af37);border:none;border-radius:6px;margin-top:12px;padding:10px 18px;font-size:14px;font-weight:700;transition:all .2s}.permit-btn:disabled{opacity:.4;cursor:not-allowed}.inland-caravan-card{background:linear-gradient(135deg,#19303ed9,#0f1e28e6);border:1px solid #d4af3766;border-radius:10px;flex-direction:column;gap:12px;padding:18px;display:flex;box-shadow:0 4px 20px #0006,inset 0 1px #d4af3733}.inland-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.inland-badge{color:#d4af37;letter-spacing:.05em;margin-bottom:2px;font-size:11px;font-weight:700;display:inline-block}.inland-title-group h4{color:#f7f3e8;margin:0 0 4px;font-family:Hiragino Mincho ProN,serif;font-size:18px}.inland-destination{color:#badbd4;margin:0;font-size:13px}.inland-destination strong{color:gold}.inland-desc{color:#a2bcba;margin:0;font-size:13px;line-height:1.5}.inland-party-summary{background:#0a141c80;border:1px solid #badbd41f;border-radius:6px;flex-wrap:wrap;gap:14px;padding:10px 14px;font-size:12px;display:flex}.inland-party-summary div{gap:6px;display:flex}.inland-party-summary span{color:#8a9a95}.inland-party-summary strong{color:#e4eee9}.inland-meta{background:#12212c66;border-radius:6px;flex-wrap:wrap;gap:16px;padding:10px 14px;font-size:13px;display:flex}.inland-meta span{color:#8a9a95;margin-right:6px}.inland-launch-btn{color:#f7f3e8;cursor:pointer;text-align:center;background:linear-gradient(135deg,#2b6170,#1d4652);border:1px solid #3caea3;border-radius:8px;padding:12px 20px;font-size:14px;font-weight:700;transition:all .25s;box-shadow:0 2px 10px #0000004d}.inland-launch-btn:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#387b8f,#235766);border-color:#d4af37;transform:translateY(-1px)}.inland-launch-btn:disabled{opacity:.45;cursor:not-allowed;border-color:#badbd426}.land-transit-banner{background:linear-gradient(90deg,#1e3442cc,#14242e99);border:1px solid #badbd440;border-radius:8px;align-items:center;gap:16px;padding:14px 18px;display:flex}.banner-icon{font-size:28px}.banner-text strong{color:#badbd4;margin-bottom:2px;font-size:15px;display:block}.banner-text p{color:#9ab4af;margin:0;font-size:12px}.transit-launch-btn{color:#f4edd9;cursor:pointer;white-space:nowrap;background:#2d505fb3;border:1px solid #badbd4;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600}.expedition-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.expedition-card{background:#12212ca6;border:1px solid #badbd42e;border-radius:8px;flex-direction:column;gap:10px;padding:16px;display:flex}.expedition-header{justify-content:space-between;align-items:center;display:flex}.expedition-header h5{color:#f4edd9;margin:0;font-size:16px}.danger-badge{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700}.danger-1{color:#4ade80;background:#22c55e26}.danger-2{color:#facc15;background:#facc1526}.danger-3{color:#f87171;background:#f8717126}.expedition-desc{color:#9ab4af;flex:1;margin:0;font-size:12px;line-height:1.45}.expedition-meta{background:#0a141c66;border-radius:6px;flex-direction:column;gap:3px;padding:8px 10px;font-size:12px;display:flex}.expedition-meta span{color:#7b8e89;margin-right:6px}.reward-gold{color:#f59e0b}.reward-fame{color:#d4af37}.expedition-btn{color:#f4edd9;cursor:pointer;background:#204652;border:1px solid #3caea3;border-radius:6px;width:100%;padding:9px;font-size:13px;font-weight:600;transition:all .2s}.expedition-btn:hover:not(:disabled){background:#2b6170}.expedition-btn:disabled{opacity:.4;cursor:not-allowed}.mt-sub{color:#badbd4;margin-top:12px;margin-bottom:8px;font-size:15px}.gear-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.gear-card{background:#0e1a2399;border:1px solid #badbd426;border-radius:6px;flex-direction:column;justify-content:space-between;gap:8px;padding:12px;display:flex}.gear-card.owned{border-color:#22c55e66}.gear-header{justify-content:space-between;align-items:center;display:flex}.gear-header strong{color:#e4eee9;font-size:13px}.gear-price{color:#d4af37;font-size:12px;font-weight:700}.gear-card p{color:#8a9a95;margin:0;font-size:11px;line-height:1.35}.gear-card button{color:#badbd4;cursor:pointer;background:#192d3acc;border:1px solid #badbd440;border-radius:4px;padding:6px;font-size:12px}.gear-card button:disabled{opacity:.4;cursor:default}.warehouse-capacity-bar{background:#12212c99;border:1px solid #badbd426;border-radius:8px;padding:12px 16px}.cap-info{color:#9ab4af;justify-content:space-between;margin-bottom:8px;font-size:13px;display:flex}.warehouse-split-view{grid-template-columns:1fr 1fr;gap:16px;display:grid}.warehouse-column{background:#0e192280;border:1px solid #badbd41f;border-radius:8px;padding:14px}.warehouse-column h4{color:#badbd4;margin:0 0 10px;font-size:14px}.cargo-table-wrapper{max-height:240px;overflow-y:auto}.facilities-table{border-collapse:collapse;width:100%;font-size:13px}.facilities-table th{text-align:left;color:#8a9a95;border-bottom:1px solid #badbd41f;padding:6px 8px}.facilities-table td{border-bottom:1px solid #badbd40f;padding:8px}.mini-actions{gap:6px;display:flex}.mini-actions button{color:#e4eee9;cursor:pointer;background:#233c4bcc;border:1px solid #badbd44d;border-radius:4px;padding:3px 8px;font-size:11px}.empty-text{text-align:center;color:#7b8e89;padding:24px 0!important}.inn-rest-card{background:#16283499;border:1px solid #badbd42e;border-radius:8px;padding:16px}.inn-rest-card h4{color:#f4edd9;margin:0 0 4px;font-size:16px}.inn-rate{color:#8a9a95;margin:0 0 14px;font-size:12px}.rest-btn-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.rest-action-btn{color:#e4eee9;cursor:pointer;background:#1e3846b3;border:1px solid #badbd440;border-radius:6px;flex-direction:column;align-items:center;gap:4px;padding:12px;transition:all .2s;display:flex}.rest-action-btn:hover:not(:disabled){background:#2d5064e6;border-color:#d4af37}.rest-action-btn small{color:#d4af37;font-size:12px}.inn-gossip-box{background:#0e192280;border:1px solid #badbd41f;border-radius:8px;padding:16px}.inn-gossip-box h4{color:#badbd4;margin:0 0 12px;font-size:15px}.gossip-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.gossip-item{background:#14242e66;border-radius:6px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.gossip-bullet{font-size:16px}.gossip-item p{color:#badbd4;margin:0;font-size:13px;line-height:1.45}.current-vehicle-card{background:#142632b3;border:1px solid #d4af374d;border-radius:8px;padding:16px}.current-vehicle-card span{color:#8a9a95;font-size:12px}.current-vehicle-card h4{color:#f4edd9;margin:4px 0 6px;font-size:18px}.current-vehicle-card p{color:#badbd4;margin:0 0 12px;font-size:13px}.vehicle-specs{background:#0a141c66;border-radius:6px;flex-wrap:wrap;gap:16px;padding:8px 12px;font-size:13px;display:flex}.vehicle-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.vehicle-card{background:#101e2899;border:1px solid #badbd429;border-radius:8px;flex-direction:column;gap:8px;padding:14px;display:flex}.vehicle-card.equipped{background:#1e303cb3;border-color:#d4af37}.vehicle-card-header{justify-content:space-between;align-items:center;display:flex}.vehicle-card-header h5{color:#f4edd9;margin:0;font-size:15px}.vehicle-lore{color:#8a9a95;flex:1;margin:0;font-size:12px;line-height:1.35}.vehicle-mini-specs{color:#badbd4;justify-content:space-between;font-size:11px;display:flex}.vehicle-card button{color:#e4eee9;cursor:pointer;background:#234855;border:1px solid #3caea3;border-radius:6px;padding:8px;font-size:12px;font-weight:600}.vehicle-card button:disabled{opacity:.4;cursor:default}.guide-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.guide-card{background:#12212ca6;border:1px solid #badbd42e;border-radius:8px;flex-direction:column;gap:10px;padding:16px;display:flex}.guide-card.hired{background:#162d38b3;border-color:#4ade80}.guide-header{justify-content:space-between;align-items:flex-start;display:flex}.guide-header h5{color:#f4edd9;margin:0;font-size:16px}.guide-title{color:#d4af37;font-size:12px}.guide-fee{color:#f59e0b;font-size:12px;font-weight:700}.guide-desc{color:#9ab4af;flex:1;margin:0;font-size:12px;line-height:1.45}.guide-perks{background:#0a141c66;border-radius:6px;justify-content:space-between;padding:8px 10px;font-size:12px;display:flex}.guide-hire-btn{color:#f4edd9;cursor:pointer;background:#234c5a;border:1px solid #3caea3;border-radius:6px;padding:9px;font-size:13px;font-weight:600}.guide-hire-btn:disabled{opacity:.4;cursor:not-allowed}.order-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.order-card{background:#12212ca6;border:1px solid #d4af3740;border-radius:8px;flex-direction:column;gap:10px;padding:16px;display:flex}.order-client{color:#d4af37;font-size:11px;font-weight:700}.order-header h5{color:#f4edd9;margin:2px 0 0;font-size:16px}.order-reward{color:#f59e0b;font-size:14px;font-weight:700}.order-progress-info{color:#badbd4;background:#0a141c66;border-radius:6px;justify-content:space-between;padding:8px 10px;font-size:12px;display:flex}.order-fulfill-btn{color:#f4edd9;cursor:pointer;background:#204652;border:1px solid #3caea3;border-radius:6px;padding:9px;font-size:13px;font-weight:600;transition:all .2s}.order-fulfill-btn:hover:not(:disabled){background:#2b6170}.order-fulfill-btn:disabled{opacity:.4;cursor:not-allowed}@keyframes fadeInModal{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes fadeInToast{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@media (max-width:768px){.facilities-modal-overlay{padding:0}.port-facilities-container{border-radius:0;height:100dvh;max-height:100dvh}.facilities-header{height:130px}.facilities-art-overlay h2{font-size:20px}.warehouse-split-view{grid-template-columns:1fr}}.port-action-modal-overlay{z-index:1250;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#040a12d1;justify-content:center;align-items:center;padding:16px;animation:.22s cubic-bezier(.16,1,.3,1) fadeInModal;display:flex;position:fixed;inset:0}.port-action-modal-window{color:#e4eee9;background:linear-gradient(165deg,#162436 0%,#0d1724 100%);border:1px solid #d4af3773;border-radius:14px;flex-direction:column;width:100%;max-width:580px;max-height:min(92vh,760px);animation:.25s cubic-bezier(.16,1,.3,1) fadeInModal;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #000000bf,0 0 25px #d4af3726}.port-action-header{background:#08101a99;border-bottom:1px solid #badbd426;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 14px;display:flex}.port-action-title-group{flex-direction:column;gap:4px;display:flex}.port-action-region-badge{letter-spacing:.04em;color:#d4af37;background:#d4af371f;border:1px solid #d4af374d;border-radius:4px;align-self:flex-start;align-items:center;padding:2px 7px;font-size:11px;font-weight:700;display:inline-flex}.port-action-title{color:#f7f9f8;letter-spacing:.02em;align-items:center;gap:8px;margin:0;font-size:22px;font-weight:800;display:flex}.port-action-supply-tag{color:#7ce7d4;background:#3caea333;border:1px solid #3caea366;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600}.port-action-subtitle{color:#8da49c;font-size:12px}.port-action-close-btn{color:#badbd4;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;transition:all .18s;display:flex}.port-action-close-btn:hover{color:#fff;background:#e6505040;border-color:#e6505099}.port-action-tabs{background:#050c1466;border-bottom:1px solid #badbd41f;gap:6px;padding:0 16px;display:flex}.port-action-tab{color:#8da49c;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 14px;font-size:13px;font-weight:600;transition:all .18s}.port-action-tab:hover{color:#badbd4}.port-action-tab.active{color:#f7d358;border-bottom-color:#d4af37}.port-action-body{flex-direction:column;gap:18px;padding:20px;display:flex;overflow-y:auto}.port-action-menu-view{flex-direction:column;gap:16px;display:flex}.port-action-menu-prompt{color:#badbd4;margin:0;font-size:13px;line-height:1.5}.port-action-menu-cards{flex-direction:column;gap:12px;display:flex}.port-action-card-btn{text-align:left;cursor:pointer;color:inherit;background:#ffffff0a;border:1px solid #badbd433;border-radius:10px;align-items:center;gap:16px;padding:16px 18px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden}.port-action-card-btn:before{content:"";opacity:0;background:linear-gradient(90deg,#d4af3714,#0000);transition:opacity .2s;position:absolute;inset:0}.port-action-card-btn:hover{background:#ffffff14;border-color:#d4af378c;transform:translateY(-2px);box-shadow:0 8px 24px #0006,0 0 15px #d4af371f}.port-action-card-btn:hover:before{opacity:1}.port-action-card-btn .card-icon{background:#050c1480;border:1px solid #d4af3740;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:32px;display:flex}.port-action-card-btn .card-content{flex-direction:column;flex:1;gap:4px;display:flex}.card-badge{color:#d4af37;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:700}.card-title{color:#f7f9f8;font-size:15px;font-weight:700}.card-desc{color:#9ab4ab;margin:0;font-size:12px;line-height:1.4}.card-meta{align-items:center;gap:8px;margin-top:4px;font-size:11px;display:flex}.card-meta span{color:#badbd4;background:#00000059;border-radius:4px;padding:2px 6px}.card-meta .meta-safe{color:#6fe0a3;background:#3cb46e26;border:1px solid #3cb46e4d}.card-meta .meta-warn{color:#f5b041;background:#f5b04126;border:1px solid #f5b0414d}.card-arrow{color:#d4af37;padding-right:4px;font-size:18px;transition:transform .2s}.port-action-card-btn:hover .card-arrow{transform:translate(4px)}.port-action-move-view{flex-direction:column;gap:16px;display:flex}.voyage-route-card{background:#08101a80;border:1px solid #badbd42e;border-radius:10px;flex-direction:column;gap:14px;padding:16px;display:flex}.route-endpoints{justify-content:space-between;align-items:center;gap:10px;display:flex}.endpoint{flex-direction:column;flex:1;gap:3px;display:flex}.endpoint.destination{text-align:right}.endpoint-label{color:#7b948c;font-size:11px;font-weight:600}.endpoint-name{color:#f7f9f8;font-size:16px;font-weight:800}.route-flow{flex-direction:column;align-items:center;gap:2px;padding:0 10px;display:flex}.route-arrow{color:#d4af37;font-size:18px}.route-distance{color:#badbd4;white-space:nowrap;font-size:11px}.voyage-metrics-grid{border-top:1px solid #badbd41a;grid-template-columns:1fr 1fr;gap:10px;padding-top:12px;display:grid}.metric-box{flex-direction:column;gap:2px;display:flex}.metric-title{color:#8da49c;font-size:11px}.metric-value{color:#e4eee9;font-size:14px;font-weight:700}.metric-value.highlight{color:#f7d358}.metric-box small{color:#7b948c;font-size:10px}.provisions-check-panel{background:#08101a66;border:1px solid #badbd426;border-radius:10px;flex-direction:column;gap:12px;padding:14px;display:flex}.provisions-check-title{color:#badbd4;margin:0;font-size:13px;font-weight:700}.provisions-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.provision-item{background:#00000040;border:1px solid #ffffff14;border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.provision-item.safe{border-color:#3cb46e59}.provision-item.danger{background:#e6505014;border-color:#e6505073}.provision-header{justify-content:space-between;align-items:center;display:flex}.provision-name{font-size:13px;font-weight:700}.provision-status{font-size:11px;font-weight:700}.provision-item.safe .provision-status{color:#6fe0a3}.provision-item.danger .provision-status{color:#ff7878}.provision-detail{color:#9ab4ab;justify-content:space-between;font-size:11px;display:flex}.provision-detail strong{color:#e4eee9}.provisions-warning-box{background:#e650501f;border:1px solid #e6505059;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.warning-icon{flex-shrink:0;font-size:20px}.warning-content{flex:1;min-width:200px}.warning-content strong{color:#ff8e8e;font-size:12px;display:block}.warning-content p{color:#d1dfdb;margin:2px 0 0;font-size:11px;line-height:1.4}.supply-market-btn{color:#0b1a1f;cursor:pointer;white-space:nowrap;background:#3caea3;border:none;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:700;transition:background .18s}.supply-market-btn:hover{background:#50c4b8}.provisions-safe-box{color:#6fe0a3;background:#3cb46e1a;border:1px solid #3cb46e40;border-radius:6px;padding:8px 12px;font-size:12px;font-weight:600}.port-action-info-view{flex-direction:column;gap:16px;display:flex}.port-info-hero{border:1px solid #badbd433;border-radius:10px;height:150px;position:relative;overflow:hidden}.port-info-art{position:absolute;inset:0}.port-info-art-img{object-fit:cover}.port-info-art-overlay{background:linear-gradient(#0000 20%,#08101ae0 100%);position:absolute;inset:0}.port-info-art-caption{justify-content:space-between;align-items:baseline;display:flex;position:absolute;bottom:12px;left:14px;right:14px}.port-info-art-caption h3{color:#fff;text-shadow:0 2px 8px #000c;margin:0;font-size:20px;font-weight:800}.port-info-art-caption span{color:#d4af37;font-size:12px;font-weight:700}.port-info-section{flex-direction:column;gap:6px;display:flex}.port-info-section h4{color:#badbd4;letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.port-info-lore{color:#d1dfdb;background:#00000040;border-left:3px solid #d4af37;border-radius:8px;margin:0;padding:10px 12px;font-size:12px;line-height:1.6}.port-info-supply-notice{color:#7ce7d4;background:#3caea31f;border:1px solid #3caea340;border-radius:6px;margin:0;padding:8px 12px;font-size:12px}.port-info-empty{color:#7b948c;margin:0;font-size:12px}.port-specialties-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;display:grid}.specialty-card{background:#ffffff0a;border:1px solid #badbd426;border-radius:6px;flex-direction:column;gap:3px;padding:8px 10px;display:flex}.specialty-name strong{color:#f7f9f8;font-size:12px}.specialty-name small{color:#7b948c;margin-left:3px;font-size:10px}.specialty-price em{color:#f7d358;font-size:12px;font-style:normal;font-weight:700}.specialty-price .price-hidden{color:#7b948c;font-size:11px}.port-facilities-badges{flex-wrap:wrap;gap:6px;display:flex}.facility-badge{color:#badbd4;background:#23374b99;border:1px solid #badbd433;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:600}.port-action-buttons{flex-direction:column;gap:8px;margin-top:8px;display:flex}.port-action-btn{cursor:pointer;text-align:center;border:1px solid #0000;border-radius:8px;padding:12px;font-size:14px;font-weight:700;transition:all .18s}.port-action-btn.primary{color:#0b151f;background:linear-gradient(145deg,#d4af37,#aa8620);box-shadow:0 4px 14px #d4af3759}.port-action-btn.primary:hover:not(:disabled){background:linear-gradient(145deg,#f7d358,#c49d28);transform:translateY(-1px);box-shadow:0 6px 18px #d4af3780}.port-action-btn.primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.port-action-btn.secondary{color:#badbd4;background:#233c50b3;border-color:#badbd44d}.port-action-btn.secondary:hover:not(:disabled){color:#fff;background:#2d5069d9;border-color:#badbd499}.port-action-btn.back{color:#8da49c;background:0 0;padding:8px;font-size:12px}.port-action-btn.back:hover{color:#badbd4}@media (max-width:600px){.port-action-modal-overlay{align-items:flex-end;padding:0}.port-action-modal-window{border-bottom:none;border-radius:16px 16px 0 0;max-height:90vh}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.market-modal-overlay{z-index:55;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:#05141ac7;justify-content:center;align-items:center;animation:.2s cubic-bezier(.16,1,.3,1) marketFadeIn;display:flex;position:fixed;inset:0}@keyframes marketFadeIn{0%{opacity:0}to{opacity:1}}@keyframes marketPopIn{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.market-modal-window{background:var(--paper,#f3eddf);width:min(1380px,96vw);height:min(88vh,880px);color:var(--ink,#203238);border:1px solid #fff9;border-radius:6px;flex-direction:column;animation:.22s cubic-bezier(.16,1,.3,1) marketPopIn;display:flex;overflow:hidden;box-shadow:0 25px 80px #000a0f99,inset 0 0 0 1px #dfd4bf}.market-header{color:#f8f0df;background:linear-gradient(135deg,#0f353e,#184c58);border-bottom:2px solid #c58a2a;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:10px 18px;display:flex}.market-header-brand{flex-direction:column;gap:2px;display:flex}.market-header-sub{color:#d7b66c;letter-spacing:.14em;font:700 9px system-ui,sans-serif}.market-header-title{align-items:center;gap:8px;margin:0;font-size:20px;font-weight:700;display:flex}.market-header-badge{border-radius:3px;padding:2px 7px;font-family:system-ui,sans-serif;font-size:10px;font-weight:700}.market-header-badge.tradeable{color:#fff;background:#1f6e43;border:1px solid #8be0a5}.market-header-badge.supply-only{color:#fff;background:#a0630d;border:1px solid #ffd875}.market-header-stats{background:#00000047;border:1px solid #ffffff24;border-radius:4px;align-items:center;gap:14px;padding:6px 14px;display:flex}.market-stat-item{flex-direction:column;gap:1px;display:flex}.market-stat-item.divider{background:#ffffff2e;width:1px;height:24px;margin:0 4px}.market-stat-label{color:#badbd4;letter-spacing:.06em;font:700 9px system-ui,sans-serif}.market-stat-value{color:#fff;font:800 14px system-ui,sans-serif}.market-stat-value.gold{color:#ffd77a}.market-stat-value.cargo{color:#a7f3d0}.market-stat-value.market-valuation{color:#e2e8f0}.market-stat-value.cargo small{color:#badbd4;white-space:nowrap;margin-left:4px;font-size:10px;font-weight:600}.market-header-close{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff6b;border-radius:4px;justify-content:center;align-items:center;gap:4px;min-width:76px;min-height:38px;font:700 12px system-ui,sans-serif;transition:all .15s;display:inline-flex}.market-header-close:hover{background:#ffffff3d;border-color:#ffffffb3}.market-utility-bar{background:#e9e0cf;border-bottom:1px solid #d4c7b1;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.market-provisions-strip{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.market-provisions-title{color:#123d47;border-right:1px solid #cfc0a8;align-items:center;gap:4px;padding-right:6px;font:700 11px system-ui,sans-serif;display:flex}.market-provision-box{background:#fdfaf3;border:1px solid #d2c5b0;border-radius:4px;align-items:center;gap:6px;padding:4px 8px;display:flex}.market-provision-label{color:#203238;font:700 12px Yu Mincho,serif}.market-provision-count{color:#123d47;min-width:32px;font:800 13px system-ui,sans-serif}.market-provision-btns{gap:3px;display:flex}.market-provision-btns button{color:#123d47;cursor:pointer;background:#f1e7d5;border:1px solid #b8aa92;border-radius:3px;min-height:26px;padding:2px 7px;font:800 10px system-ui,sans-serif}.market-provision-btns button:hover:not(:disabled){background:#e2d4bc;border-color:#9c896d}.market-exploration-strip{border-left:1px solid #cfc0a8;align-items:center;gap:6px;padding-left:8px;display:flex}.market-exploration-item{background:#fdfaf3;border:1px solid #d2c5b0;border-radius:4px;align-items:center;gap:6px;padding:3px 8px;font-size:11px;display:flex}.market-exploration-item button{color:#102f37;cursor:pointer;background:#e3bd72;border:1px solid #c58a2a;border-radius:3px;padding:2px 8px;font:700 10px system-ui,sans-serif}.market-exploration-item button:hover:not(:disabled){background:#f0cc7d}.market-mode-tabs{background:#dcd0bb;border:1px solid #c3b49c;border-radius:5px;gap:3px;padding:3px;display:flex}.market-mode-tab{color:#4b585c;cursor:pointer;background:0 0;border:none;border-radius:3px;min-height:32px;padding:4px 16px;font:800 12px system-ui,sans-serif;transition:background .12s,color .12s}.market-mode-tab:hover:not(.active){background:#ffffff80}.market-mode-tab.buy.active{color:#fff;background:#123d47;box-shadow:0 1px 3px #0003}.market-mode-tab.sell.active{color:#fff;background:#8a4a1f;box-shadow:0 1px 3px #0003}.market-tools-toggle{color:#123d47;cursor:pointer;background:#f1e7d5;border:1px solid #b8aa92;border-radius:4px;min-height:32px;padding:4px 10px;font:700 11px system-ui,sans-serif;display:none}.market-tools-toggle:hover{background:#e6d8bf}.market-controls-strip{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.market-filter-tabs{background:#ded2be;border:1px solid #cbbeaa;border-radius:4px;padding:2px;display:flex}.market-filter-tab{color:#4b585c;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:4px 10px;font:700 11px system-ui,sans-serif;transition:all .12s}.market-filter-tab.active{color:#fff;background:#123d47;box-shadow:0 1px 3px #00000026}.market-search-input{color:#203238;background:#fdfaf3;border:1px solid #b8aa92;border-radius:3px;width:110px;height:28px;padding:2px 8px;font:11px system-ui,sans-serif}.market-sort-select{color:#123d47;background:#fdfaf3;border:1px solid #b8aa92;border-radius:3px;height:28px;padding:2px 6px;font:700 11px system-ui,sans-serif}.market-show-all-label{color:#3f4e52;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;font:700 11px system-ui,sans-serif;display:inline-flex}.market-show-all-label input{accent-color:#123d47;width:14px;height:14px}.market-scroll-area{overscroll-behavior:contain;background:#f7f2e7;flex:auto;min-height:0;padding:14px 16px;overflow-y:auto}.market-goods-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@media (max-width:1200px){.market-goods-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:860px){.market-goods-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:540px){.market-goods-grid{grid-template-columns:1fr}}@media (max-width:767px){.market-modal-overlay{padding:0}.market-modal-window{width:100vw;height:100dvh;max-height:none;box-shadow:none;border:0;border-radius:0}.market-header{min-height:0;padding:calc(8px + env(safe-area-inset-top)) 12px 9px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand close""stats stats";align-items:center;gap:7px 10px;display:grid}.market-header-brand{grid-area:brand;min-width:0}.market-header-sub{display:none}.market-header-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:17px;overflow:hidden}.market-header-close{white-space:nowrap;grid-area:close;min-width:0;min-height:40px;padding:6px 12px;font-size:12px}.market-header-stats{grid-area:stats;grid-template-columns:repeat(3,minmax(0,auto));justify-content:start;align-items:center;gap:4px 16px;padding:6px 10px;display:grid}.market-stat-item{white-space:nowrap}.market-header-stats .market-stat-item.divider{display:none}.market-stat-label{font-size:10px}.market-stat-value{font-size:13px}.market-stat-value.cargo small{font-size:10px}.market-utility-bar{gap:8px;padding:8px 12px}.market-utility-bar.tools-collapsed .market-provisions-strip{display:none}.market-provisions-strip{width:100%}.market-provisions-title{border-right:0;width:100%;padding-right:0;font-size:12px}.market-provision-btns button{min-height:34px;padding:4px 10px;font-size:12px}.market-exploration-item button{min-height:34px;font-size:12px}.market-controls-strip{gap:8px;width:100%}.market-mode-tabs{flex:auto}.market-mode-tab{flex:1 1 0;min-height:40px;padding:4px 8px;font-size:13px}.market-tools-toggle{align-items:center;min-height:40px;font-size:12px;display:inline-flex}.market-filter-tabs{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.market-filter-tab{flex:1 0 auto;min-height:36px;font-size:12px}.market-search-input{flex:130px;width:auto;height:36px;font-size:13px}.market-sort-select{height:36px;font-size:12px}.market-show-all-label{font-size:12px}.market-scroll-area{padding:10px 12px calc(14px + env(safe-area-inset-bottom))}.market-goods-grid{gap:10px}.market-card{padding:10px}.market-card-visual{margin:-10px -10px 9px}.market-card-name{font-size:15px}.market-card-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.market-metric-box dt{font-size:10px}.market-card-actions button{min-height:42px;font-size:13px}}.market-card{content-visibility:auto;contain-intrinsic-size:auto 340px;background:#fdfbf7;border:1px solid #dcd1be;border-radius:5px;flex-direction:column;justify-content:space-between;padding:10px 12px;transition:transform .12s,box-shadow .12s,border-color .12s;display:flex;position:relative;box-shadow:0 2px 6px #000f140d}.market-card:hover{border-color:#bfae93;transform:translateY(-1px);box-shadow:0 5px 14px #000f141a}.market-card.is-specialty{background:linear-gradient(#f7fbfd 0%,#fdfbf7 25%);border-left:3px solid #24617a}.market-card.has-cargo{border-right:3px solid #b87a1e}.market-card-visual{aspect-ratio:16/9;background:#d8cdbb;border-bottom:1px solid #d8c9b4;border-radius:4px 4px 0 0;margin:-10px -12px 9px;position:relative;overflow:hidden}.market-card-image{object-fit:cover;transition:transform .18s}.market-card:hover .market-card-image{transform:scale(1.025)}@media (max-width:767px){.market-card-visual{margin:-10px -10px 9px}}.market-card-head{border-bottom:1px solid #ebd9c0;justify-content:space-between;align-items:flex-start;gap:6px;margin-bottom:8px;padding-bottom:6px;display:flex}.market-card-title-group{flex-wrap:wrap;align-items:baseline;gap:4px;display:flex}.market-card-name{color:#123d47;margin:0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:16px;font-weight:700}.market-card-unit{color:#6e7a7c;font-family:system-ui,sans-serif;font-size:10px}.market-card-tags{flex-shrink:0;gap:4px;display:flex}.market-tag{letter-spacing:.02em;border-radius:2px;padding:1px 5px;font:800 9px system-ui,sans-serif}.market-tag.specialty{color:#195267;background:#e2f0f7;border:1px solid #8ec1d4}.market-tag.cargo{color:#8c571a;background:#faefe0;border:1px solid #dfb987}.market-card-metrics{background:#f4ecdf;border-radius:4px;grid-template-columns:1.1fr .9fr;gap:6px;margin-bottom:8px;padding:6px 8px;display:grid}.market-metric-box{flex-direction:column;display:flex}.market-metric-box dt{color:#6f7c7e;margin:0;font:700 9px system-ui,sans-serif}.market-metric-box dd{align-items:baseline;gap:4px;margin:1px 0 0;display:flex}.market-price-text{color:#123d47;font:800 15px system-ui,sans-serif}.market-price-text .currency{color:#c58a2a;font-size:11px;font-weight:700}.market-rate-badge{font:700 10px system-ui,sans-serif}.market-rate-badge.up{color:#a83b2e}.market-rate-badge.down{color:#1a6480}.market-rate-badge.flat{color:#627073}.market-cargo-text{color:#123d47;font:800 13px system-ui,sans-serif}.market-capacity-text{color:#607073;font:600 11px system-ui,sans-serif}.market-basis-text{color:#6b4a22;font:800 13px system-ui,sans-serif}.market-profit-text{font:800 14px system-ui,sans-serif}.market-profit-text.gain,.market-sell-hint.gain{color:#1c6b45}.market-profit-text.loss,.market-sell-hint.loss{color:#a83b2e}.market-sell-hint{background:#f6efe1;border:1px solid #e0d3bb;border-radius:4px;margin:0 0 8px;padding:5px 8px;font:700 11px system-ui,sans-serif}.market-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.market-card-actions button{cursor:pointer;white-space:nowrap;border-radius:3px;justify-content:center;align-items:center;gap:2px;min-width:0;min-height:32px;padding:3px 2px;font:700 11px system-ui,sans-serif;transition:all .1s;display:inline-flex}.market-card-actions button:disabled{opacity:.38;cursor:not-allowed;color:#8c9799!important;background:#e5ded0!important;border-color:#cfc4af!important}.market-card-actions .btn-buy{color:#123d47;background:#fbf6ea;border:1px solid #7c9c9d}.market-card-actions .btn-buy:hover:not(:disabled){background:#eef7f4;border-color:#24617a}.market-card-actions .btn-buy-max{color:#123d47;background:#e8ded0;border:1px solid #a69477;font-weight:800}.market-card-actions .btn-buy-max:hover:not(:disabled){background:#d8c9b3;border-color:#7b6a4f}.market-card-actions .btn-sell{color:#9c3f31;background:#fdf4f2;border:1px solid #c99388}.market-card-actions .btn-sell:hover:not(:disabled){background:#f9e2de;border-color:#a84232}.market-card-actions .btn-sell-max{color:#9c3f31;background:#fae8e5;border:1px solid #c78d82;font-weight:800}.market-card-actions .btn-sell-max:hover:not(:disabled){background:#f0cfc8;border-color:#8c2b1d}.market-empty-state{text-align:center;color:#6d7b7e;background:#f4ecde;border:1px dashed #cfc2ad;border-radius:6px;grid-column:1/-1;padding:40px 20px;font-size:13px}.market-supply-notice{text-align:center;background:#ede3d2;border:1px solid #cdbfa9;border-radius:6px;margin:20px;padding:30px 20px}.market-supply-notice h3{color:#123d47;margin:0 0 10px;font-size:18px}.market-supply-notice p{color:#556265;max-width:500px;margin:0 auto 16px;font-size:13px;line-height:1.6}.title-screen{z-index:90;color:#f2ecdd;background:radial-gradient(120% 90% at 50% -10%,#14424f 0%,#0b2d38 42%,#061c25 100%);display:flex;position:fixed;inset:0;overflow:hidden}.title-backdrop{pointer-events:none;position:absolute;inset:0}.title-horizon{background:linear-gradient(#061c2500 0%,#04141bbf 55%,#030f15f2 100%),repeating-linear-gradient(#a0cdcd0e 0 1px,#0000 1px 9px);height:46%;position:absolute;inset:auto 0 0}.title-compass{aspect-ratio:1;opacity:.14;background:conic-gradient(from 0deg, #e2cd988c 0 .35deg, transparent .35deg 44.6deg, #e2cd9847 44.6deg 45.4deg, transparent 45.4deg 89.65deg, #e2cd988c 89.65deg 90.35deg, transparent 90.35deg 134.6deg, #e2cd9847 134.6deg 135.4deg, transparent 135.4deg 179.65deg, #e2cd988c 179.65deg 180.35deg, transparent 180.35deg 224.6deg, #e2cd9847 224.6deg 225.4deg, transparent 225.4deg 269.65deg, #e2cd988c 269.65deg 270.35deg, transparent 270.35deg 314.6deg, #e2cd9847 314.6deg 315.4deg, transparent 315.4deg 360deg);border:1px solid #e2cd98bf;border-radius:50%;width:min(78vh,780px);position:absolute;top:50%;left:50%;translate:-50% -50%}.title-compass:after{content:"";border:1px solid #e2cd9880;border-radius:50%;position:absolute;inset:17%}.title-main{background:linear-gradient(90deg,#04141be6 0%,#04141bb8 74%,#04141b00 100%);flex-direction:column;gap:24px;width:min(560px,100%);max-height:100dvh;padding:clamp(26px,5vh,60px) clamp(22px,4vw,54px);display:flex;position:relative;overflow-y:auto}.title-brand{grid-template-columns:clamp(82px,9vw,112px) minmax(0,1fr);align-items:center;gap:clamp(14px,2.4vw,24px);display:grid}.title-brand-icon{filter:drop-shadow(0 8px 18px #00000047);width:100%;height:auto}.title-lockup{gap:8px;min-width:0;display:grid}.title-kicker{color:#d7b66c;letter-spacing:.38em;font:700 11px system-ui,sans-serif}.title-wordmark{margin:0;line-height:.98;display:grid}.title-wordmark span{color:#cfe0dc;letter-spacing:.5em;font:700 clamp(14px,2.2vw,19px) system-ui,sans-serif}.title-wordmark strong{color:#fff6e4;letter-spacing:.07em;font-size:clamp(38px,6.4vw,64px);font-weight:600}.title-world{color:#d9ebe7;letter-spacing:.06em;margin:8px 0 0;font:600 12px system-ui,sans-serif}.title-tagline{color:#a9c2bd;max-width:38ch;word-break:auto-phrase;margin:2px 0 0;font-size:13px;line-height:1.8}.title-menu{gap:10px;display:grid}.title-button{color:#f2ecdd;text-align:left;cursor:pointer;background:#0b2d38b8;border:1px solid #e2cd9857;border-radius:3px;gap:4px;padding:14px 18px;transition:background .16s,border-color .16s,transform .16s;display:grid}.title-button:hover:not(:disabled){background:#134654e0;border-color:#e2cd98b8;transform:translate(3px)}.title-button.primary{background:#a37a283d;border-color:#e2cd989e}.title-button.primary:hover:not(:disabled){background:#b88b2d66}.title-button-label{letter-spacing:.06em;font-size:17px;font-weight:600}.title-button-note{color:#a9c2bd;font:400 11px system-ui,sans-serif}.title-save-card{background:#04141b99;border:1px solid #f3eddf29;border-left:3px solid #73b58c;border-radius:2px;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px 16px;margin:0;padding:14px 16px;display:grid}.title-save-card dt{color:#93aeaa;letter-spacing:.12em;font:600 9px system-ui,sans-serif}.title-save-card dd{color:#f2ecdd;margin:3px 0 0;font:700 13px system-ui,sans-serif}.title-loading{gap:8px;display:grid}.title-loading-heading{color:#8fa8a4;letter-spacing:.24em;font:700 9px system-ui,sans-serif}.title-loading ul{gap:5px;margin:0;padding:0;list-style:none;display:grid}.title-loading-item{background:#04141b73;border:1px solid #f3eddf1a;border-radius:2px;grid-template-columns:8px auto 1fr auto;align-items:center;gap:9px;padding:7px 10px;font:600 11px system-ui,sans-serif;display:grid}.title-loading-item i{background:#d7b66c;border-radius:50%;width:8px;height:8px}.title-loading-item.is-loading i{animation:1.15s ease-in-out infinite title-pulse}.title-loading-item.is-ready i{background:#73b58c}.title-loading-item.is-error i{background:#d0654c}.title-loading-item small{color:#7f9995;font-size:10px;font-weight:400}.title-loading-item strong{color:#bcd2cd;letter-spacing:.08em;font-size:10px}.title-loading-item.is-ready strong{color:#8fd3ab}.title-loading-item.is-error strong{color:#f0937c}.title-loading-warning{color:#f0b27c;margin:0;font-size:11px;line-height:1.6}@keyframes title-pulse{0%,to{opacity:1}50%{opacity:.28}}.title-attribution{color:#6e8783;margin:auto 0 0;font:400 10px system-ui,sans-serif}.title-port-select{background:linear-gradient(#04141beb,#04141bd1);grid-template-rows:auto auto minmax(0,1fr);gap:14px;width:100%;max-height:100dvh;padding-block:clamp(18px,3.5vh,34px) clamp(16px,3vh,30px);padding-inline:max(clamp(16px,3vw,40px),50% - 590px);display:grid;position:relative}.port-select-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.port-select-kicker{color:#d7b66c;letter-spacing:.3em;font:700 10px system-ui,sans-serif}.port-select-head h2{letter-spacing:.05em;margin:5px 0 0;font-size:clamp(21px,2.6vw,28px);font-weight:600}.port-select-head p{color:#a9c2bd;max-width:62ch;margin:6px 0 0;font-size:12px;line-height:1.7}.port-select-back{color:#cfe0dc;cursor:pointer;background:#0b2d38b3;border:1px solid #f3eddf38;border-radius:2px;flex-shrink:0;padding:8px 14px;font:600 12px system-ui,sans-serif}.port-select-back:hover{background:#134654e6}.port-select-filters{gap:9px;display:grid}.port-select-search input{color:#f2ecdd;background:#04141bbf;border:1px solid #f3eddf38;border-radius:2px;width:min(340px,100%);padding:8px 12px;font:400 13px system-ui,sans-serif}.port-select-search input::placeholder{color:#6e8783}.port-select-regions{flex-wrap:wrap;gap:6px;display:flex}.port-select-regions button{color:#a9c2bd;cursor:pointer;background:0 0;border:1px solid #f3eddf2e;border-radius:2px;padding:6px 11px;font:600 11px system-ui,sans-serif}.port-select-regions button:hover{color:#f2ecdd;border-color:#e2cd9880}.port-select-regions button.is-active{color:#0b2d38;background:#d7b66c;border-color:#d7b66c}.port-select-body{grid-template-columns:minmax(0,1fr) minmax(258px,318px);gap:16px;min-height:0;display:grid}.port-select-list{min-height:0;padding-right:4px;overflow-y:auto}.port-select-list ul{grid-template-columns:repeat(auto-fill,minmax(218px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.port-select-empty{color:#8fa8a4;margin:0;padding:18px 4px;font-size:12px;line-height:1.7}.port-card{color:#e6ded0;text-align:left;cursor:pointer;background:#0b2d388c;border:1px solid #f3eddf21;border-radius:2px;align-content:start;gap:4px;width:100%;height:100%;padding:11px 13px;transition:background .14s,border-color .14s;display:grid}.port-card:hover{background:#134654bf;border-color:#e2cd9873}.port-card.is-chosen{background:#a37a2842;border-color:#d7b66c}.port-card-head{align-items:baseline;gap:7px;display:flex}.port-card-head strong{letter-spacing:.03em;font-size:14px;font-weight:600}.port-card-badge{color:#0b2d38;letter-spacing:.08em;background:#d7b66c;border-radius:2px;padding:1px 5px;font:700 9px system-ui,sans-serif}.port-card-region{color:#8fa8a4;letter-spacing:.14em;font:600 9px system-ui,sans-serif}.port-card-lore{-webkit-line-clamp:2;color:#a9c2bd;-webkit-box-orient:vertical;font-size:11px;line-height:1.6;display:-webkit-box;overflow:hidden}.port-card-meta{color:#7f9995;font:400 10px system-ui,sans-serif}.port-select-detail{background:#04141bb3;border:1px solid #f3eddf29;border-top:3px solid #d7b66c;border-radius:2px;flex-direction:column;gap:10px;min-height:0;padding:16px;display:flex;overflow-y:auto}.port-detail-artwork{aspect-ratio:16/9;background:#0b2d3899;border:1px solid #d7b66c59;border-radius:2px;width:100%;position:relative;overflow:hidden;box-shadow:0 4px 12px #00000059}.port-detail-image{object-fit:cover;width:100%;height:100%;display:block}.port-detail-kicker{color:#d7b66c;letter-spacing:.22em;font:700 9px system-ui,sans-serif}.port-select-detail h3{letter-spacing:.04em;margin:0;font-size:21px;font-weight:600}.port-detail-lore{color:#a9c2bd;margin:0;font-size:12px;line-height:1.8}.port-detail-facts{border-top:1px solid #f3eddf1f;border-bottom:1px solid #f3eddf1f;gap:7px;margin:0;padding:11px 0;display:grid}.port-detail-facts div{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.port-detail-facts dt{color:#8fa8a4;letter-spacing:.1em;font:600 10px system-ui,sans-serif}.port-detail-facts dd{color:#f2ecdd;margin:0;font:700 12px system-ui,sans-serif}.port-detail-specialties{gap:6px;display:grid}.port-detail-specialties>span{color:#8fa8a4;letter-spacing:.1em;font:600 10px system-ui,sans-serif}.port-detail-specialties ul{flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none;display:flex}.port-detail-specialties li{color:#d9ebe7;background:#2d7a7859;border:1px solid #62d6be52;border-radius:2px;padding:3px 8px;font:600 11px system-ui,sans-serif}.port-detail-start{margin-top:auto}@media (prefers-reduced-motion:reduce){.title-loading-item.is-loading i{animation:none}.title-button:hover:not(:disabled){transform:none}}@media (max-width:900px){.title-main{background:linear-gradient(#04141beb,#04141bd6);width:100%}.port-select-body{grid-template-rows:minmax(150px,1fr) auto;grid-template-columns:minmax(0,1fr)}.port-select-detail{max-height:42dvh}}@media (max-width:520px){.title-brand{grid-template-columns:70px minmax(0,1fr);gap:12px}.title-wordmark strong{font-size:clamp(30px,10vw,44px)}}@media (max-width:700px){.title-port-select{gap:10px}.port-select-head h2{font-size:20px}.port-select-head p{display:none}.port-select-back{padding:7px 10px;font-size:11px}.port-select-search input{width:100%;padding:7px 10px}.port-select-regions{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:3px;overflow-x:auto}.port-select-regions button{flex:none}.port-select-list ul{grid-template-columns:minmax(0,1fr)}.port-select-detail{gap:8px;padding:13px}.port-detail-lore{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}
