.captains-notebook{display:flex;flex-direction:column;gap:1rem}.captains-notebook p{margin:0;line-height:1.65;color:var(--color-text)}.captains-notebook em{font-style:italic;color:var(--color-text)}.captains-notebook strong{color:var(--color-port);font-weight:600}.captains-notebook-lede{font-style:italic;opacity:.85}.captains-notebook-article-title{margin:0;font-size:1.15rem;color:var(--color-text);font-weight:600;font-style:italic}.captains-notebook-entry{display:flex;flex-direction:column;gap:.35rem;padding-left:.85rem;border-left:2px solid var(--color-port)}.captains-notebook-entry h4{margin:0;font-size:1.05rem;color:var(--color-port);font-weight:600;letter-spacing:.02em}.captains-notebook-register{font-size:.85rem;opacity:.7;font-style:italic}.captains-notebook-coda{opacity:.85;font-style:italic}.captains-notebook-chapters{display:flex;gap:.25rem;border-bottom:1px solid var(--color-border, rgba(255, 255, 255, .1))}.captains-notebook-chapter-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:.4rem .75rem;font:inherit;font-size:.95rem;color:var(--color-text);opacity:.6;cursor:pointer;transition:opacity .15s ease,border-color .15s ease}.captains-notebook-chapter-tab:hover{opacity:.85}.captains-notebook-chapter-tab.active{opacity:1;font-weight:600;border-bottom-color:var(--color-port)}.captains-notebook-page{display:flex;flex-direction:column;gap:1rem;height:min(30rem,60vh);overflow-y:auto;padding-right:.5rem}.captains-notebook-loading{opacity:.7;font-style:italic}.captains-notebook-pager{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-top:.5rem;border-top:1px solid var(--color-border, rgba(255, 255, 255, .1))}.captains-notebook-pager-status{font-size:.85rem;opacity:.7;font-style:italic;white-space:nowrap}.captains-notebook-actions{display:flex;justify-content:flex-end;margin-top:.5rem}.close-account-dialog{display:flex;flex-direction:column;gap:.75rem}.close-account-dialog .warning{margin:0;line-height:1.4}.close-account-dialog label{font-size:.9rem;margin-top:.25rem}.confirm-input{padding:.5rem;border-radius:4px;border:1px solid var(--color-border, #888);background:var(--color-input-bg, #fff);color:var(--color-text, #000)}.dialog-error{color:var(--color-danger, #c0392b);font-size:.9rem}.btn-danger{background:var(--color-danger, #c0392b);color:#fff;border:none;padding:.5rem .9rem;border-radius:4px;cursor:pointer}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.rename-form{display:flex;flex-direction:column;gap:1rem}.rename-form-copy{color:var(--color-text-subtle);font-size:.95rem;line-height:1.5}.rename-field{display:flex;flex-direction:column;gap:.4rem}.rename-field label{color:var(--color-text);font-size:.9rem;font-weight:600}.rename-field input{border:1px solid var(--color-input-border);border-radius:8px;padding:.7rem .85rem;font-size:.95rem;background:var(--color-input-bg);color:var(--color-text)}.rename-field input:focus{outline:none;border-color:var(--status-accent-docked);box-shadow:0 0 0 3px #3498db29}.rename-error{background:var(--bg-danger-soft);border:1px solid var(--border-danger-soft);border-radius:8px;color:var(--text-danger-strong);padding:.75rem .85rem;font-size:.9rem}.rename-actions{display:flex;justify-content:flex-end;gap:.75rem}@media(max-width:640px){.rename-actions{flex-direction:column-reverse}.rename-actions button{width:100%}}.intro-dialog{display:flex;flex-direction:column;gap:.85rem}.intro-dialog p{margin:0;line-height:1.65;color:var(--color-text)}.intro-dialog em{font-style:italic;color:var(--color-text)}.intro-dialog strong{color:var(--color-port);font-weight:600}.manage-admins-search{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.manage-admins-search input[type=search]{flex:1;padding:.5rem .75rem;font-size:1rem}.manage-admins-status{flex:0 0 6rem;visibility:hidden}.manage-admins-status.is-active{visibility:visible}.manage-admins-results{min-height:60vh;overflow-y:auto}.manage-admins-table{width:100%;border-collapse:collapse}.manage-admins-table th,.manage-admins-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border-color, #333)}.manage-admins-table th{font-weight:600;opacity:.8}.provider-cell{white-space:nowrap}.provider-icon{display:inline-flex;align-items:center;margin-right:.35rem;opacity:.85}.provider-icon:last-child{margin-right:0}.provider-github{color:var(--color-text)}.provider-discord{color:#5865f2}.status-pill{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.8rem;font-weight:600;line-height:1.4}.status-active{background:#4ade8026;color:var(--success-color, #4ade80)}.status-banned{background:#f8717126;color:var(--danger-color, #f87171)}.admin-player-actions{min-width:12rem}.admin-player-action{margin:.25rem .35rem .25rem 0;padding:.2rem .45rem;border:1px solid var(--border-color, #555);border-radius:4px;background:transparent;color:inherit;cursor:pointer;font-size:.8rem}.admin-player-action:hover{background:#ffffff14}.ban-reason{max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem}.ban-control{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem;margin-top:.25rem}.ban-control input{width:12rem;min-width:8rem;padding:.25rem .4rem;font-size:.8rem}.admin-level-control{display:inline-flex;align-items:center;gap:.5rem}.admin-level-saved{color:var(--success-color, #4ade80);font-weight:700;width:1ch;display:inline-block;text-align:center;opacity:0}.admin-level-saved.is-active{animation:admin-saved-fade 2s ease-out forwards}@keyframes admin-saved-fade{0%{opacity:0;transform:scale(.6)}15%{opacity:1;transform:scale(1)}80%{opacity:1}to{opacity:0}}.admin-menu-error{margin-bottom:.75rem;padding:.5rem .75rem;border:1px solid var(--danger-color, #f87171);color:var(--danger-color, #f87171);border-radius:4px}.muted{opacity:.6}.notice-dialog{display:flex;flex-direction:column;gap:1rem}.notice-dialog p{margin:0;line-height:1.4}.port-info-dialog{display:flex;flex-direction:column;gap:1rem}.port-info-image{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center;max-height:240px}.port-info-image img{width:100%;height:100%;max-height:240px;-o-object-fit:contain;object-fit:contain;display:block}.port-info-details{display:flex;flex-direction:column;gap:.5rem}.port-info-region{font-size:.9rem;color:var(--color-text-muted);font-style:italic}.port-info-tags{display:flex;flex-wrap:wrap;gap:.4rem}.port-info-tag{display:inline-block;padding:.15rem .55rem;font-size:.75rem;font-weight:600;letter-spacing:.02em;color:var(--color-port);background:color-mix(in srgb,var(--color-port) 12%,transparent);border:1px solid color-mix(in srgb,var(--color-port) 35%,transparent);border-radius:999px}.port-info-description{line-height:1.6;color:var(--color-text-subtle);margin:0}.canvas-map-container{--map-panel-bg: color-mix(in srgb, var(--color-panel) 95%, transparent);--map-label-bg: rgba(14, 29, 42, .4);--map-label-line: rgba(182, 213, 235, .75);--map-label-shadow: rgba(0, 0, 0, .9);--map-controls-border: var(--color-border);--map-controls-border-hover: var(--color-input-border);--map-controls-bg: var(--color-panel);--map-controls-bg-hover: var(--color-surface);--map-accent: #667eea;--map-accent-hover: #5a6fd6;--map-good: var(--color-success);--map-bad: var(--color-danger);position:absolute;top:0;right:0;bottom:0;left:0;width:100%;min-height:auto;height:100%;overflow:hidden;background:var(--map-bg)}.canvas-map-container .game-canvas{position:absolute;top:0;left:0;width:100%;height:100%;cursor:grab;touch-action:none}.canvas-map-container .game-canvas:active{cursor:grabbing}.canvas-map-container .map-empty-state{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--map-text-bright);opacity:.9}.canvas-map-container .port-label-overlay{position:absolute;display:flex;flex-direction:column;align-items:flex-start;gap:1px;font-size:20px;font-weight:500;color:var(--map-label-default);text-shadow:0 1px 3px var(--map-label-shadow);white-space:nowrap;pointer-events:none;z-index:10;padding:1px 3px;border-radius:4px;background:var(--map-label-bg)}.canvas-map-container .port-label-name{line-height:1.05}.canvas-map-container .port-label-price{font-size:.67em;font-weight:700;line-height:1;text-shadow:0 1px 3px var(--map-label-shadow)}.canvas-map-container .port-label-overlay-line{position:absolute;height:1.5px;transform-origin:0 50%;background:var(--map-label-line);box-shadow:0 0 2px #00000080;pointer-events:none;z-index:9}.canvas-map-container .port-label-overlay.capital{font-size:23px;font-weight:700;color:var(--map-label-capital)}.canvas-map-container .port-label-overlay.current-port{color:var(--map-label-current);font-weight:700}.canvas-map-container .port-label-overlay.emphasized{font-size:21px;font-weight:600;color:var(--map-text-bright);text-shadow:0 1px 4px var(--map-label-shadow)}.canvas-map-container .port-label-overlay.deemphasized{opacity:.4}.canvas-map-container .port-label-overlay.route-port{font-weight:600}.canvas-map-container .map-hidden-labels-badge{position:absolute;bottom:0;left:0;font-size:11px;font-weight:500;color:#dce9f5b3;background:#0c1c288c;border:1px solid rgba(173,209,235,.2);border-radius:0 6px 0 0;padding:3px 8px;pointer-events:none;z-index:55}.canvas-map-container .player-ship-marker{position:absolute;width:20px;height:20px;margin:-10px 0 0 -10px;padding:0;border-radius:50%;background:var(--color-flight, #5ec8ff);border:2px solid #fff;box-shadow:0 0 0 2px #5ec8ff66,0 0 10px 2px #5ec8ff99;cursor:pointer;z-index:11;transition:transform .12s ease,box-shadow .12s ease;animation:player-ship-pulse 2s ease-in-out infinite}.canvas-map-container .player-ship-marker:hover{transform:scale(1.25);box-shadow:0 0 0 3px #5ec8ff80,0 0 14px 4px #5ec8ffcc}@keyframes player-ship-pulse{0%,to{box-shadow:0 0 0 2px #5ec8ff66,0 0 10px 2px #5ec8ff80}50%{box-shadow:0 0 0 3px #5ec8ff8c,0 0 14px 5px #5ec8ffd9}}.canvas-map-container .player-label-overlay{position:absolute;display:flex;flex-direction:column;gap:.1rem;padding:.3rem .45rem;border-radius:6px;background:#0a1823ad;border:1px solid rgba(255,255,255,.14);text-shadow:0 1px 2px rgba(0,0,0,.8);white-space:nowrap;pointer-events:none;z-index:10}.canvas-map-container .player-label-ship{font-size:12px;font-weight:700;color:#e9f6ff}.canvas-map-container .player-label-destination{font-size:11px;font-weight:500;color:var(--color-flight)}.canvas-map-container .other-player-marker{position:absolute;transform:translate(-50%,-50%);z-index:8}.canvas-map-container .port-marker{position:absolute;transform:translate(-50%,-50%);box-sizing:border-box;border-radius:50%;border:2px solid #fff;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:65}.canvas-map-container .port-marker--ring{background:transparent}.canvas-map-container .port-marker__dot{box-sizing:border-box;border-radius:50%;border:2px solid #fff}.canvas-map-container .port-contract-flag{position:absolute;transform:translate(-35%,-65%);font-size:15px;line-height:1;color:#f1c40f;filter:drop-shadow(0 0 3px rgba(0,0,0,.9)) drop-shadow(0 1px 2px rgba(0,0,0,.9));pointer-events:none;z-index:66}.canvas-map-container .other-player-marker:hover{z-index:60}.canvas-map-container .other-player-avatar{display:block;width:26px;height:26px;border-radius:50%;-o-object-fit:cover;object-fit:cover;background:#0a1823;border:2px solid #16a085;box-shadow:0 0 6px #0009}.canvas-map-container .other-player-marker.flying .other-player-avatar{border-color:#1abc9c}.canvas-map-container .other-player-dot{display:block;width:12px;height:12px;border-radius:50%;background:#16a085;border:2px solid #0a1823;box-shadow:0 0 4px #0009}.canvas-map-container .other-player-marker.flying .other-player-dot{background:#1abc9c}.canvas-map-container .other-player-label{position:absolute;top:calc(100% + 3px);left:50%;transform:translate(-50%);padding:1px 5px;border-radius:4px;background:#0a1823ad;border:1px solid rgba(255,255,255,.14);color:#e9f6ff;font-size:11px;font-weight:600;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.8);pointer-events:none}.canvas-map-container .other-player-tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);display:none;align-items:center;gap:.5rem;padding:.4rem .55rem;border-radius:8px;background:#0a1823eb;border:1px solid rgba(255,255,255,.18);box-shadow:0 4px 14px #00000080;white-space:nowrap;pointer-events:none}.canvas-map-container .other-player-marker:hover .other-player-tooltip{display:flex}.canvas-map-container .other-player-tooltip-avatar{width:48px;height:48px;border-radius:50%;-o-object-fit:cover;object-fit:cover;background:#0a1823;border:2px solid #1abc9c;flex-shrink:0}.canvas-map-container .other-player-tooltip-text{display:flex;flex-direction:column;gap:.1rem}.canvas-map-container .other-player-tooltip-name{font-size:13px;font-weight:700;color:#e9f6ff}.canvas-map-container .other-player-tooltip-ship{font-size:11px;font-weight:500;color:#9fb6c4}.canvas-map-container .port-popup{position:absolute;top:10px;right:10px;background:var(--color-panel);color:var(--color-text);border-radius:8px;box-shadow:0 4px 12px #0003;padding:.75rem;min-width:160px;z-index:100;pointer-events:auto;font-family:inherit}.canvas-map-container .map-context-menu{position:absolute;background:var(--color-panel);color:var(--color-text);border:1px solid var(--color-border, #dee2e6);border-radius:6px;box-shadow:0 4px 12px #0000004d;padding:4px;min-width:140px;z-index:100;pointer-events:auto;font-family:inherit}.canvas-map-container .map-context-menu-item{display:block;width:100%;text-align:left;background:none;border:none;border-radius:4px;padding:6px 10px;font-size:13px;color:var(--color-text);cursor:pointer}.canvas-map-container .map-context-menu-item:hover{background:var(--color-surface, #f8f9fa)}.canvas-map-container .port-popup-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.canvas-map-container .port-popup-header h4{margin:0;font-size:1rem;font-weight:600;color:var(--color-text)}.canvas-map-container .port-popup-close{background:none;border:none;font-size:1.25rem;color:var(--map-text-muted);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;line-height:1}.canvas-map-container .port-popup-close:hover{background:var(--map-controls-bg-hover);color:var(--map-text-subtle)}.canvas-map-container .port-popup-content{margin-bottom:.5rem}.canvas-map-container .port-popup-badge{display:inline-block;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.canvas-map-container .port-popup-badge.current{background:var(--bg-success-soft);color:var(--text-success-strong)}.canvas-map-container .port-popup-badge.open{background:var(--bg-info-soft);color:var(--text-info-strong)}.canvas-map-container .port-popup-actions{margin-top:.5rem}.canvas-map-container .port-popup-actions .btn-sm{padding:.35rem .75rem;font-size:.875rem;background:var(--map-accent);color:var(--color-white);border:none;border-radius:4px;cursor:pointer;font-weight:500}.canvas-map-container .port-popup-actions .btn-sm:hover{background:var(--map-accent-hover)}.canvas-map-container .popup-prices{margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--color-border-soft)}.canvas-map-container .popup-prices h5{margin:0 0 .5rem;font-size:.8rem;font-weight:600;color:var(--map-text-muted);text-transform:uppercase;letter-spacing:.5px}.canvas-map-container .popup-price-item{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;font-size:.9rem}.canvas-map-container .cargo-name{font-weight:500;color:var(--map-text-subtle)}.canvas-map-container .cargo-price{font-weight:600}.canvas-map-container .price-good{color:var(--map-good)}.canvas-map-container .price-bad{color:var(--map-bad)}.canvas-map-container .popup-docked{margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--color-border-soft)}.canvas-map-container .popup-docked h5{margin:0 0 .5rem;font-size:.8rem;font-weight:600;color:var(--map-text-muted);text-transform:uppercase;letter-spacing:.5px}.canvas-map-container .popup-docked-list{display:flex;flex-direction:column;gap:.35rem}.canvas-map-container .popup-docked-item{display:flex;align-items:center;gap:.5rem}.canvas-map-container .popup-docked-avatar{width:28px;height:28px;border-radius:50%;-o-object-fit:cover;object-fit:cover;background:#0a1823;border:2px solid #16a085;flex-shrink:0}.canvas-map-container .popup-docked-avatar.placeholder{background:#16a085}.canvas-map-container .popup-docked-text{display:flex;flex-direction:column;line-height:1.2;min-width:0}.canvas-map-container .popup-docked-name{font-size:.85rem;font-weight:600;color:var(--map-text-subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-map-container .popup-docked-ship{font-size:.75rem;color:var(--map-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-map-container .popup-docked-more{margin-top:.35rem;font-size:.75rem;color:var(--map-text-muted)}.canvas-map-container .price-neutral{color:var(--map-text-muted)}.canvas-map-container .price-delta{font-size:1.2rem;opacity:.8;margin-left:.25rem}.canvas-map-container .producer-badge{color:var(--color-port);font-weight:700;margin-right:.2rem;font-size:.85em}.canvas-map-container .map-legend{position:absolute;bottom:10px;left:10px;background:var(--map-panel-bg);padding:.5rem .75rem;border-radius:6px;box-shadow:0 2px 8px var(--map-overlay-shadow);display:flex;flex-direction:column;gap:.25rem;z-index:50}.canvas-map-container .legend-item{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--map-text-subtle)}.canvas-map-container .legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.canvas-map-container .legend-dot.docked{background:var(--color-flight)}.canvas-map-container .legend-dot.flying{background:#e74c3c}.canvas-map-container .legend-dot.open{background:var(--base-port-color)}.canvas-map-container .map-coords{position:absolute;bottom:45px;right:20px;font-size:11px;font-weight:600;font-family:monospace;color:var(--color-white);text-shadow:0 1px 3px var(--map-label-shadow);background:#0006;padding:3px 8px;border-radius:4px;z-index:50}.canvas-map-container .map-scale-bar{position:absolute;bottom:20px;right:20px;display:flex;flex-direction:row;align-items:center;gap:8px;z-index:50}.canvas-map-container .scale-bar-label{font-size:12px;font-weight:600;color:var(--color-white);text-shadow:0 1px 3px var(--map-label-shadow);white-space:nowrap;line-height:1}.canvas-map-container .scale-bar-line{height:6px;background:var(--color-white);border-radius:3px;box-shadow:0 1px 4px #0009}.canvas-map-container .scale-bar-zoom{font-size:11px;color:var(--color-white);opacity:.7;text-shadow:0 1px 3px var(--map-label-shadow);white-space:nowrap;line-height:1}.canvas-map-container .map-cargo-filter{position:absolute;top:10px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.35rem;background:var(--map-panel-bg);padding:.4rem;border-radius:6px;box-shadow:0 2px 8px var(--map-overlay-shadow);z-index:50}.canvas-map-container .cargo-filter-select{padding:.35rem .5rem;border:1px solid var(--map-controls-border);background:var(--map-controls-bg);border-radius:4px;font-size:.85rem;cursor:pointer;min-width:180px}.canvas-map-container .cargo-filter-clear{padding:.25rem .5rem;border:1px solid var(--map-controls-border);background:var(--map-controls-bg);border-radius:4px;font-size:.8rem;cursor:pointer;color:var(--color-text-muted);line-height:1}.canvas-map-container .cargo-filter-clear:hover{background:var(--map-controls-bg-hover);color:var(--color-danger);border-color:var(--color-danger)}.canvas-map-container .map-controls{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:.25rem;z-index:50}.canvas-map-container .map-btn{width:36px;height:36px;border:1px solid var(--map-controls-border);background:var(--map-controls-bg);border-radius:4px;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 2px 4px #0000001a}.canvas-map-container .map-btn:hover{background:var(--map-controls-bg-hover);border-color:var(--map-controls-border-hover)}.canvas-map-container .map-btn-recenter svg{width:16px;height:16px}.canvas-map-container .map-relocate-banner{position:absolute;top:50px;left:50%;transform:translate(-50%);background:#ffc107e6;color:#1a1a1a;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;z-index:60;pointer-events:none;box-shadow:0 2px 8px #0003}.music-player{position:fixed;left:50%;bottom:0;transform:translate(-50%);z-index:600;width:20vw;min-width:300px;max-width:460px;display:flex;flex-direction:column;align-items:stretch;border:1px solid var(--color-border);border-bottom:none;border-radius:10px 10px 0 0;background:var(--color-panel);box-shadow:var(--shadow-card);overflow:hidden;transition:transform .28s ease}.music-player--collapsed{transform:translate(-50%) translateY(calc(100% - 26px))}.music-player__handle{flex:0 0 auto;height:26px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0;border:none;border-bottom:1px solid var(--color-border-soft);background:var(--color-surface-alt);color:var(--color-text-muted);font-size:.9rem;cursor:pointer}.music-player__handle-note{color:var(--color-port)}.music-player__handle:hover{color:var(--color-text);background:var(--color-surface)}.music-player__body{display:flex;flex-direction:column;gap:8px;padding:10px 12px}.music-player__controls{display:flex;align-items:center;gap:6px}.music-player__btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface-alt);color:var(--color-text);font-size:.85rem;cursor:pointer;transition:background .12s ease,color .12s ease}.music-player__btn:hover:not(:disabled){background:var(--color-surface)}.music-player__btn:disabled{opacity:.5;cursor:default}.music-player__btn--primary{width:38px;height:38px;border-color:var(--color-port);background:var(--color-port);color:var(--color-on-accent);font-size:1rem}.music-player__btn--primary:hover:not(:disabled){background:var(--color-port);filter:brightness(1.08)}.music-player__btn--ghost{width:26px;height:26px;border:none;background:none;color:var(--color-text-muted);font-size:.8rem}.music-player__btn--ghost:hover:not(:disabled){background:none;color:var(--color-text)}.music-player__title{flex:0 1 auto;min-width:0;display:flex;align-items:center;overflow:hidden;color:var(--color-text-subtle);font-size:.85rem}.music-player__track{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.music-player__artist{flex:0 0 auto;white-space:nowrap;color:var(--color-text-muted)}.music-player__artist:before{content:"·";margin:0 .4em}.music-player__progress{display:flex;align-items:center;gap:8px}.music-player__time{flex:0 0 auto;min-width:2.5rem;color:var(--color-text-muted);font-family:var(--font-mono);font-size:.72rem;font-variant-numeric:tabular-nums}.music-player__time:last-child{text-align:right}.music-player__slider{height:4px;margin:0;padding:0;border-radius:999px;background:var(--color-surface-alt);accent-color:var(--color-port);cursor:pointer}.music-player__slider:disabled{opacity:.5;cursor:default}.music-player__slider--seek{flex:1 1 auto;min-width:0}.music-player__slider--volume{flex:0 0 auto;width:56px}.port-editor-panel{position:absolute;top:0;left:0;bottom:0;width:var(--editor-panel-width, 420px);height:100%;overflow-y:auto;background:var(--map-panel-bg, color-mix(in srgb, var(--color-panel) 95%, transparent));border:1px solid var(--color-border, #dee2e6);border-left:none;border-radius:0 8px 8px 0;padding:12px 16px;box-shadow:4px 0 16px #0000004d;z-index:50;font-size:13px;color:var(--color-text, #2c3e50);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.port-editor-panel label{display:block;font-weight:600;margin-bottom:4px;font-size:12px;color:var(--color-text-muted, #6c757d)}.port-editor-panel input[type=text],.port-editor-panel select,.port-editor-panel textarea{width:100%;padding:6px 8px;border:1px solid var(--color-border, #dee2e6);border-radius:4px;background:var(--color-panel, #ffffff);color:var(--color-text, #2c3e50);font-size:13px;margin-bottom:8px;box-sizing:border-box}.port-editor-panel textarea{resize:vertical;font-family:inherit}.editor-header{display:flex;align-items:center;gap:6px;margin-bottom:10px;border-bottom:1px solid var(--color-border, #dee2e6);padding-bottom:6px}.editor-header h4{flex:1;margin:0;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-back,.editor-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--color-text-muted, #6c757d);line-height:1;padding:0;flex-shrink:0}.editor-back:hover,.editor-close:hover{color:var(--color-text, #2c3e50)}.editor-tabs{display:flex;gap:4px;margin-bottom:12px}.editor-tab{flex:1;padding:6px 4px;border:1px solid var(--color-border, #dee2e6);border-radius:6px;background:transparent;color:var(--color-text-muted, #6c757d);font-size:12px;font-weight:600;cursor:pointer}.editor-tab:hover{color:var(--color-text, #2c3e50)}.editor-tab.active{background:var(--color-port, #3498db);border-color:var(--color-port, #3498db);color:#fff}.editor-section{margin-bottom:10px}.editor-flags{display:flex;flex-direction:column;gap:4px}.editor-flags-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}.editor-hint{font-size:11px;color:var(--color-text-muted, #6c757d);margin-bottom:8px}.cargo-price-list{display:flex;flex-direction:column;gap:4px}.cargo-price-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.cargo-price-row.off{opacity:.5}.cargo-price-toggle{flex:1;margin-bottom:0}.cargo-price-input{width:84px;padding:5px 6px;border:1px solid var(--color-border, #dee2e6);border-radius:4px;background:var(--color-panel, #ffffff);color:var(--color-text, #2c3e50);font-size:13px;text-align:right;box-sizing:border-box;font-variant-numeric:tabular-nums}.cargo-price-input:disabled{background:var(--color-surface, #f8f9fa);cursor:not-allowed}.flag-checkbox{display:flex;align-items:center;gap:6px;font-weight:400;cursor:pointer;font-size:12px}.flag-checkbox input{cursor:pointer}.editor-readonly{font-size:13px;color:var(--color-text, #2c3e50)}.editor-closest{display:flex;flex-direction:column;gap:3px}.closest-item{display:flex;justify-content:space-between;font-size:12px}.closest-name{color:var(--color-text, #2c3e50)}.closest-dist{color:var(--color-text-muted, #6c757d);font-variant-numeric:tabular-nums}.editor-actions{display:flex;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--color-border, #dee2e6)}.editor-actions button{flex:1}.editor-actions-stacked{flex-direction:column;gap:6px;margin-top:8px}.editor-delete-actions{margin-top:8px;border-top:1px solid var(--color-border, #dee2e6);padding-top:10px}.editor-delete-actions button{background:var(--color-danger, #dc3545);color:#fff;border:none}.editor-delete-actions button:hover{background:#c0392b}.editor-error{margin-top:8px;padding:6px 8px;background:#e74c3c1a;border:1px solid rgba(231,76,60,.3);border-radius:4px;color:#c0392b;font-size:12px}.image-upload-row{display:flex;align-items:center;gap:8px}.image-upload-preview{width:40px;height:40px;-o-object-fit:cover;object-fit:cover;border-radius:4px;border:1px solid var(--color-border, #dee2e6);flex-shrink:0}.editor-empty{padding:20px 10px;text-align:center;color:var(--color-text-muted, #6c757d);font-size:13px}[data-theme=dark] .port-editor-panel{--map-panel-bg: color-mix(in srgb, var(--color-panel) 92%, transparent)}.chart-room-panel{min-width:300px}.chart-room-intro{margin-bottom:.75rem;font-size:.82rem;color:var(--color-text-muted)}.route-table-wrap{overflow:auto;max-height:60vh;border:1px solid var(--color-border);border-radius:8px}.route-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.85rem}.route-table th{position:sticky;top:0;z-index:1;text-align:left;padding:.45rem .6rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);background:var(--color-surface);white-space:nowrap}.route-table td{padding:.45rem .6rem;border-bottom:1px solid var(--color-border-soft);color:var(--color-text);white-space:nowrap}.route-table tbody tr:last-child td{border-bottom:none}.route-row{cursor:pointer}.route-row:hover{background:var(--color-surface-alt)}.col-num,.route-table th.col-num{text-align:right;font-family:var(--font-mono)}.route-distance,.route-arrival{display:block;font-size:.7rem;color:var(--color-text-muted)}.sort-header{all:unset;cursor:pointer;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;white-space:nowrap}.sort-header:hover,.sort-header.active{color:var(--color-text)}.route-rate{font-weight:700}.staleness-dot{display:inline-block;width:.6rem;height:.6rem;margin-left:.35rem;padding:0;border:none;border-radius:50%;background:var(--color-warning);cursor:pointer;vertical-align:middle}.staleness-note-row td{padding:0}.staleness-note{padding:.4rem .6rem;font-size:.78rem;color:var(--color-text-subtle);background:var(--color-surface);border-left:3px solid var(--color-warning)}.no-data,.loading-prices{color:var(--color-text-muted);font-style:italic}.contracts-panel{margin-top:14px;padding:14px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:linear-gradient(180deg,#060e1ee0,#060e1eb8);color:#f2f7ff}.contracts-header h3{margin:0;font-size:1rem}.contracts-header p{margin:4px 0 0;opacity:.85;font-size:.86rem}.contracts-loading,.contracts-error,.muted{margin-top:12px;font-size:.9rem;opacity:.9}.contracts-error{color:#ffb9b9}.contracts-grid{margin-top:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.contracts-card{border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:12px;background:#071328cc}.contracts-card h4{margin:0 0 8px;font-size:.95rem}.contract-band+.contract-band{margin-top:16px}.contract-band h5{margin:0 0 8px;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;color:#cfe2ff}.contract-band h5 span{font-weight:400;opacity:.75}.contract-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.contract-list li{border-top:1px solid rgba(255,255,255,.12);padding-top:10px}.contract-list li:first-child{border-top:0;padding-top:0}.contract-title{font-weight:700;margin-bottom:4px;display:flex;align-items:center;gap:8px}.contract-expired-badge{font-size:.72rem;font-weight:600;letter-spacing:.04em;color:#ffb9b9;border:1px solid rgba(255,100,100,.4);border-radius:4px;padding:1px 6px}.contract-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:.84rem;opacity:.92;margin:6px 0}dl{margin:8px 0}dt{opacity:.7;font-size:.8rem}dd{margin:0 0 4px;font-size:.9rem}.contract-actions{display:flex;gap:8px;margin-top:6px}.contract-btn{border:1px solid rgba(255,255,255,.25);border-radius:8px;background:#ffffff14;color:#f2f7ff;padding:6px 12px;cursor:pointer}.contract-btn.abandon{border-color:#ff646459;color:#ffb9b9}.contract-btn:disabled{opacity:.45;cursor:not-allowed}.upgrades-loading{color:var(--color-text-subtle);font-size:.95rem}.upgrades-error{background:var(--bg-danger-soft);border:1px solid var(--border-danger-soft);border-radius:8px;color:var(--text-danger-strong);padding:.75rem .85rem;font-size:.9rem}.upgrades-summary{display:grid;gap:.3rem;margin-bottom:.85rem;color:var(--color-text);font-size:.9rem}.upgrade-tracks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;align-items:start}@media(max-width:640px){.upgrade-tracks{grid-template-columns:1fr}}.upgrade-track{border:1px solid var(--color-border-soft);border-radius:10px;padding:.85rem;display:grid;gap:.6rem}.track-header{display:flex;align-items:baseline;justify-content:space-between}.track-header h4{margin:0;color:var(--color-text);font-style:normal}.track-level{font-size:.82rem;color:var(--color-text-muted)}.track-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;font-size:.85rem;color:var(--color-text-subtle)}.track-note{font-size:.82rem;color:var(--text-warning-strong);background:var(--bg-warning-soft);border:1px solid var(--border-warning-soft);border-radius:8px;padding:.45rem .55rem}.track-warning{font-size:.85rem;color:var(--text-warning-strong);background:var(--bg-warning-soft);border:1px solid var(--border-warning-soft);border-radius:8px;padding:.5rem .6rem;line-height:1.4}.confirm-actions{display:flex;gap:.5rem}.confirm-actions .btn-primary,.confirm-actions .btn-secondary{flex:1}.repair-bar{height:10px;border-radius:999px;background:var(--color-border-soft);overflow:hidden}.repair-bar-fill{height:100%;border-radius:999px;background:var(--color-success);transition:width .25s ease}.repair-controls{display:grid;gap:.45rem}.repair-target-row{display:flex;align-items:baseline;justify-content:space-between;font-size:.85rem;color:var(--color-text-subtle)}.repair-controls input[type=range]{width:100%}.repair-cost-row{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;color:var(--color-text-subtle)}.repair-rate-note{font-size:.75rem;color:var(--color-text-muted)}.repair-rate-value{display:block}.repair-rate-formula{display:block;margin-top:.1rem;font-size:.7rem;color:var(--color-text-subtle)}.trading-panel{min-width:300px}.trading-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.trade-status-strip{display:grid;grid-template-columns:repeat(2,minmax(90px,auto));gap:.45rem}.trade-status-item{background:var(--color-panel);border:1px solid var(--color-border);border-radius:6px;padding:.3rem .5rem;display:flex;flex-direction:column;gap:.1rem}.trade-status-item .label{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-weight:600}.trade-status-item .value{font-family:var(--font-mono);font-size:.82rem;color:var(--color-text);font-weight:700}.trade-status-item .value.insufficient{color:var(--color-danger)}.trade-status-item .value.sufficient{color:var(--color-success)}.port-status{display:inline-block;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.port-status.open{background:var(--bg-success-soft);color:var(--text-success-strong)}.port-status.closed{background:var(--color-port-status-closed-bg);color:var(--color-port-status-closed-text)}.trading-comparison{margin-bottom:1rem}.comparison-columns{gap:1rem}.comparison-columns.three-columns{grid-template-columns:1fr 1fr 1fr}.trade-col-current .trade-col-header{background:var(--color-surface);color:var(--text-success-strong)}.trade-col-destination .trade-col-header{background:var(--bg-warning-soft);color:var(--text-warning-strong)}.trade-col-hold .trade-col-header{background:var(--color-surface);color:var(--color-text-subtle)}.price-with-profit{display:flex;align-items:center;gap:.35rem}.profit-indicator{font-size:.7rem;font-weight:700}.profit-indicator.positive{color:var(--color-success)}.profit-indicator.negative{color:var(--color-danger)}.profit-indicator.neutral{color:var(--color-text-muted)}.profit-delta{font-size:.78rem;font-weight:600;font-variant-numeric:tabular-nums}.profit-delta.positive{color:var(--color-success)}.profit-delta.negative{color:var(--color-danger)}.profit-delta.neutral{color:var(--color-text-muted)}.producer-badge{color:var(--color-port);font-weight:700;margin-right:.2rem;font-size:.85em}.comparison-actions{display:flex;gap:.75rem}.comparison-actions button{flex:1}.trading-table{width:100%;border-collapse:collapse;font-size:.9rem}.trading-table th{background:var(--bg-table-header);color:var(--color-table-header-text);padding:.75rem;text-align:left;font-weight:600;font-size:.8rem}.trading-table th.text-right{text-align:right}.trading-table td{padding:.5rem .75rem;border-bottom:1px solid var(--color-border-soft)}.trading-table td.cargo-name{font-weight:500;color:var(--color-text)}.trading-table td.price{font-family:var(--font-mono);color:var(--color-text-subtle)}.trading-table td.arrow{color:var(--color-text-muted);text-align:center}.trading-table td.profit{font-family:var(--font-mono);font-weight:600}.trading-table td.profit.positive{color:var(--color-success)}.trading-table td.profit.negative{color:var(--color-danger)}.trading-table td.text-right{text-align:right}.trading-actions-row{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border-soft)}.btn-block{width:100%;display:block}.trade-section{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--color-border)}.trade-columns{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.75rem}.trade-col{border:1px solid var(--color-border);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}.trade-col-header{display:flex;justify-content:space-between;align-items:center;padding:.4rem .6rem;font-size:.8rem;font-weight:600}.trade-col-hold .trade-col-header{background:var(--color-surface-alt);color:var(--color-text-subtle)}.trade-col-port .trade-col-header{background:var(--bg-success-soft);color:var(--text-success-strong)}.trade-col-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trade-col-count{font-size:.75rem;font-weight:500;color:var(--color-text-muted)}.trade-col-count.hold-full{color:var(--text-danger-strong);font-weight:700}.trade-col-items{display:flex;flex-direction:column;flex:1}.trade-col-row{display:flex;justify-content:space-between;align-items:center;padding:.35rem .6rem;cursor:pointer;transition:background .1s;font-size:.85rem;border-top:1px solid var(--color-border-soft)}.trade-col-row:hover{background:var(--bg-row-hover)}.trade-col-row.selected{background:var(--bg-info-soft);font-weight:600}.trade-col-row.empty .cargo-count{color:var(--color-input-border)}.trade-col-row .cargo-name{color:var(--color-text-subtle)}.trade-col-row .cargo-count{font-weight:600;color:var(--color-text);min-width:1.5rem;text-align:right}.trade-col-row .cargo-price{font-weight:600;color:var(--color-text);font-size:.8rem}.trade-col-row .cargo-name{margin-right:auto}.trade-col-row{gap:.5rem}.trade-col-row .cargo-avg-buy{font-size:.75rem;color:var(--color-text-muted);white-space:nowrap}.trade-col-row .cargo-pnl{font-size:.75rem;font-weight:600;white-space:nowrap}.trade-col-row .cargo-pnl--gain{color:var(--color-success)}.trade-col-row .cargo-pnl--loss{color:var(--color-danger)}.trade-col-actions{border-top:1px solid var(--color-border-soft);padding:.5rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;background:var(--color-surface)}.trade-option{border:1px solid var(--color-input-border);border-radius:6px;background:var(--color-input-bg);color:var(--color-text);padding:.4rem .35rem;display:flex;flex-direction:column;gap:.12rem;align-items:center;cursor:pointer}.trade-option .option-label{font-size:.78rem;font-weight:700}.trade-option .option-value{font-size:.72rem;font-family:var(--font-mono);color:var(--color-text-muted)}.trade-option.buy{border-color:var(--border-success-soft)}.trade-option.sell{border-color:var(--border-info-soft)}.trade-option:hover:enabled{background:var(--color-surface)}.trade-option:disabled{opacity:.55;cursor:not-allowed}.trade-form{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.trade-field{display:flex;flex-direction:column;gap:.35rem;min-width:180px}.trade-field label{font-weight:600;color:var(--color-text-subtle);font-size:.9rem}.trade-field input{padding:.5rem;border:1px solid var(--color-input-border);border-radius:6px;background:var(--color-input-bg);color:var(--color-text)}.qty-shortcuts{display:flex;gap:.35rem}.qty-btn{flex:1;padding:.45rem .5rem;border:1px solid var(--color-input-border);border-radius:6px;background:var(--color-surface);color:var(--color-text-subtle);font-weight:600;font-size:.85rem;cursor:pointer;transition:background .15s,border-color .15s}.qty-btn:hover{background:var(--color-border-soft)}.qty-btn:active{background:var(--color-border)}.trade-controls-inline{margin-top:.5rem}@media(max-width:900px){.trading-header{flex-direction:column;align-items:flex-start}.trade-status-strip{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.trade-col-actions{grid-template-columns:1fr}}.trade-closed-note{margin-top:1rem;padding:.75rem;background:var(--color-border-soft);border-radius:6px;color:var(--color-text-muted);font-size:.9rem}.trade-validation-message{margin-top:.35rem;background:var(--bg-warning-soft);color:var(--text-warning-strong);border-radius:4px;padding:.3rem .5rem;border:1px solid var(--border-warning-soft);font-size:.75rem;font-style:italic}.trade-error{margin-top:.75rem;background:var(--bg-danger-soft);color:var(--text-danger-strong);border-radius:6px;padding:.5rem .75rem;border:1px solid var(--border-danger-soft)}.price-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem;margin-bottom:.5rem}.price-item{background:var(--color-panel);border:1px solid var(--color-border);border-radius:4px;padding:.4rem;display:flex;flex-direction:column;gap:.15rem}.price-item .cargo-type{font-size:.75rem;color:var(--color-text-muted);font-weight:500}.price-item .price-value{font-size:.95rem;font-weight:600;color:var(--color-text)}.port-hub{display:flex;flex-direction:column;gap:0;height:100%;min-height:0}.port-hub-content{display:flex;flex-direction:row;flex:1 1 auto;min-height:0}.port-hub-art{position:relative;flex:0 0 50%;max-width:50%;min-width:240px;background:var(--color-surface);border-right:1px solid var(--color-border);overflow:hidden;display:flex;align-items:stretch;justify-content:stretch}.port-hub-art img{width:98%;height:100%;-o-object-fit:contain;object-fit:contain;display:block}.port-hub-art-replace{position:absolute;right:10px;bottom:10px;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.port-hub-art-replace-btn{padding:6px 12px;border-radius:6px;background:color-mix(in srgb,var(--color-panel) 85%,transparent);border:1px solid var(--color-border);color:var(--color-text);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.port-hub-art-replace-btn:hover{background:var(--color-panel)}.port-hub-art-replace-buttons{display:flex;gap:6px}.port-hub-art-replace-error{max-width:220px;padding:4px 8px;background:#e74c3c26;border:1px solid rgba(231,76,60,.4);border-radius:4px;color:#c0392b;font-size:11px;text-align:right}.port-hub-art-manager{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;width:220px;max-height:160px;overflow-y:auto;padding:8px;border-radius:6px;background:color-mix(in srgb,var(--color-panel) 92%,transparent);border:1px solid var(--color-border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.port-hub-art-manager-hint{font-size:11px;color:var(--color-text-muted);text-align:right}.port-hub-art-manager-thumb{position:relative;width:44px;height:44px;flex-shrink:0}.port-hub-art-manager-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:4px;border:1px solid var(--color-border);display:block}.port-hub-art-manager-remove{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;background:var(--color-danger, #dc3545);color:#fff;border:none;font-size:11px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.port-hub-art-manager-remove:disabled{opacity:.6;cursor:not-allowed}@media(max-width:900px){.port-hub-content{flex-direction:column}.port-hub-art{flex:0 0 200px;max-width:none;border-right:none;border-bottom:1px solid var(--color-border)}}.port-hub-tabs{display:flex;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.hub-tab{flex:1;padding:.75rem;border:none;background:transparent;color:var(--color-text-muted);font-weight:600;cursor:pointer;border-bottom:3px solid transparent;transition:color .15s,border-color .15s}.hub-tab:hover{color:var(--color-text)}.hub-tab.active{color:var(--color-port);border-bottom-color:var(--color-port)}.hub-tab:disabled{color:var(--color-text-subtle);cursor:not-allowed;opacity:.55}.hub-tab:disabled:hover{color:var(--color-text-subtle)}.hub-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .4rem;margin-left:.4rem;border-radius:999px;background:var(--color-danger);color:#fff;font-size:.75rem;font-weight:700;line-height:1;vertical-align:middle}.hub-tab-dot{display:inline-block;width:.5rem;height:.5rem;margin-left:.35rem;border-radius:999px;background:var(--color-warning);vertical-align:middle}.port-hub-body{padding:1rem;min-height:0;min-width:0;flex:1 1 auto;overflow-y:auto}.port-hub-title{display:flex;align-items:center;gap:.5rem}.port-hub-title h3{margin:0}.port-hub-info-btn{border:2px solid var(--color-border);background:transparent;color:var(--color-text-muted);font-size:1.25rem;line-height:1;cursor:pointer;padding:.15rem .35rem;border-radius:4px;transition:color .15s,background .15s}.port-hub-info-btn:hover{color:var(--color-port);background:color-mix(in srgb,var(--color-port) 12%,transparent)}.ship-view{position:absolute;top:0;right:0;bottom:0;left:0;z-index:150;background:radial-gradient(ellipse at 50% 30%,#24384f,#16222f 70%,#0e1721);overflow:hidden}.ship-view-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.ship-view-back{position:absolute;top:16px;left:16px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:10px 16px 10px 12px;font-size:1rem;font-weight:600;color:var(--color-text, #f2ede3);background:#0e1721c7;border:1px solid rgba(255,255,255,.18);border-radius:999px;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .15s ease,transform .15s ease}.ship-view-back:hover{background:#1e2e40eb;transform:translateY(-1px)}.ship-view-back svg{flex:none}.ship-view-nameplate{position:absolute;top:18px;left:50%;transform:translate(-50%);z-index:2;font-family:IM Fell English SC,serif;font-size:1.5rem;letter-spacing:.04em;color:var(--color-text, #f2ede3);text-shadow:0 2px 8px rgba(0,0,0,.6);pointer-events:none}.status-bar{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:var(--color-surface);color:var(--color-text);font-size:1rem;flex-shrink:0}.status-bar-left,.status-bar-center,.status-bar-right{display:flex;align-items:center;gap:1rem}.status-item{font-family:var(--font-parchment),sans-serif;font-size:1.5rem;display:flex;align-items:center;gap:.25rem}.status-item.ship-name{font-weight:600}.status-item.location .flying{color:var(--status-accent-flying)}.status-item.location .docked{color:var(--status-accent-docked)}.player-menu-container{position:relative}.player-menu-trigger{display:flex;align-items:center;gap:.5rem;background:#ffffff1a;border:none;border-radius:4px;padding:.35rem .6rem;color:var(--color-text);cursor:pointer;font-size:inherit}.player-menu-trigger:hover{background:#fff3}.player-avatar{width:24px;height:24px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.player-avatar-placeholder{width:24px;height:24px;border-radius:50%;background:var(--status-accent-docked);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.75rem}.player-name{font-weight:600}.menu-arrow{font-size:.65rem;opacity:.8}.player-menu-dropdown{position:absolute;top:100%;left:0;margin-top:.25rem;background:var(--color-surface);border-radius:4px;box-shadow:0 4px 12px #0000004d;min-width:180px;z-index:200;overflow:hidden}.player-menu-summary{padding:.7rem .75rem .6rem;border-bottom:1px solid rgba(255,255,255,.12);background:#ffffff0f}.player-menu-summary-name{font-size:.9rem;font-weight:700}.player-menu-summary-ship{margin-top:.2rem;color:#ffffffb8;font-size:.74rem}.admin-menu-panel{padding:.75rem;border-top:1px solid rgba(255,255,255,.12);background:#0000001f}.admin-menu-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.6rem;font-size:.8rem;font-weight:600}.invite-create-btn,.invite-delete-btn{border:none;border-radius:4px;cursor:pointer;font-size:.75rem}.invite-create-btn{padding:.4rem .6rem;background:var(--status-accent-flying);color:var(--color-on-accent)}.invite-create-btn:disabled{opacity:.7;cursor:progress}.admin-menu-error{margin-bottom:.6rem;color:#ffd6d6;font-size:.75rem}.latest-invite-box{margin-bottom:.7rem;padding:.55rem;border-radius:6px;background:#ffffff14}.latest-invite-label,.latest-invite-meta,.admin-menu-empty,.invite-list-meta{font-size:.72rem}.latest-invite-label,.latest-invite-meta,.invite-list-meta{color:#ffffffbf}.linked-provider-name{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--color-text, #fff)}.latest-invite-value{margin:.2rem 0;font-family:monospace;font-size:.82rem;word-break:break-all}.invite-list{display:flex;flex-direction:column;gap:.45rem}.invite-list-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.45rem .5rem;border-radius:6px;background:#ffffff0f}.invite-list-meta{display:flex;flex-direction:column;gap:.15rem}.invite-delete-btn{padding:.35rem .5rem;background:#ffffff24;color:var(--color-text)}.invite-delete-btn:hover,.invite-create-btn:hover{filter:brightness(1.05)}.menu-item{display:block;width:100%;padding:.5rem .75rem;background:none;border:none;color:var(--color-text);text-align:left;cursor:pointer;font-size:.85rem}.menu-item:hover{background:#ffffff1a}.menu-item.active{background:#ffc10733;color:#ffc107;font-weight:600}.menu-item-danger{color:var(--color-danger, #c0392b)}.theme-toggle-item{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.theme-toggle-icon{font-size:1rem;line-height:1}.status-item.cargo{background:#ffffff1a;padding:.25rem .5rem;border-radius:4px}.status-item.market-timer{font-size:.72rem;font-family:var(--font-body);padding:.2rem .45rem;border-radius:999px;border:1px solid transparent;white-space:nowrap}.status-item.market-timer.connected{background:#27ae6040;border-color:#27ae6080;color:#d8ffeb}.status-item.market-timer.disconnected{background:#f39c1233;border-color:#f39c1273;color:#ffe4ad}.status-item.market-timer.disabled{background:#ffffff1f;border-color:#fff3;color:#ffffffbf}.market-tick-btn{border:1px solid rgba(255,255,255,.3);background:#ffffff1f;color:var(--color-text);border-radius:4px;font-size:.68rem;font-weight:600;padding:.18rem .4rem;cursor:pointer}.market-tick-btn:hover:not(:disabled){background:#fff3}.market-tick-btn:disabled{opacity:.65;cursor:progress}.status-item.balance{font-weight:600;color:var(--status-accent-balance)}.location-btn{font-family:var(--font-parchment);font-size:2rem;background:none;border:none;color:inherit;cursor:pointer;padding:0;display:flex;align-items:baseline;gap:.5rem}.location-btn:hover{text-decoration:underline}.location-region{font-size:1rem;opacity:.7}.location-btn.docked{color:var(--status-accent-docked)}.trade-btn{background:var(--status-accent-flying);border:none;border-radius:4px;color:var(--color-on-accent);padding:.4rem .8rem;cursor:pointer;font-size:.8rem;font-weight:600}.trade-btn:hover{background:#219a52}.contracts-btn{background:#ffffff2e;border:1px solid rgba(255,255,255,.3);border-radius:4px;color:var(--color-text);padding:.4rem .8rem;cursor:pointer;font-size:.8rem;font-weight:600}.contracts-btn:hover{background:#ffffff45}.status-more-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:var(--color-text);padding:.25rem .5rem;cursor:pointer;font-size:.75rem}.status-more-btn:hover{background:#fff3}.status-bar-expanded{position:absolute;top:100%;left:0;right:0;background:var(--status-bg-end);padding:1rem;display:flex;gap:1.5rem;flex-wrap:wrap;z-index:100;box-shadow:0 4px 6px #0000001a}.expanded-section{min-width:200px}.expanded-section h4{margin:0 0 .5rem;font-size:.85rem;color:var(--status-muted);text-transform:uppercase}.detail-row{display:flex;justify-content:space-between;padding:.25rem 0}.detail-label{color:var(--status-muted)}.detail-value{color:var(--color-text);font-family:monospace}.cargo-list{display:flex;flex-wrap:wrap;gap:.5rem}.cargo-item{background:#ffffff1a;padding:.25rem .5rem;border-radius:4px;font-size:.8rem}@media(max-width:1024px){.status-bar{flex-wrap:wrap;gap:.5rem}.status-bar-center{order:3;width:100%;justify-content:center;margin-top:.25rem}.status-item.market-timer{font-size:.68rem}}@media(max-height:600px){.status-bar{padding:.35rem .75rem;font-size:.75rem}}.player-menu-version{padding:.4rem .75rem;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:.7rem;letter-spacing:.02em;text-align:right;-webkit-user-select:text;-moz-user-select:text;user-select:text}.privacy-page{height:100vh;overflow-y:auto;background:var(--color-surface-alt);color:var(--color-text);padding:0 1rem 4rem}.privacy-topbar{position:sticky;top:0;z-index:5;margin:0 -1rem 1.5rem;padding:.75rem 1rem;background:var(--color-surface-alt);border-bottom:1px solid var(--color-border)}.privacy-topbar-inner{max-width:720px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}.privacy-back-link{color:var(--color-port);text-decoration:none;font-weight:600}.privacy-back-link:hover{text-decoration:underline}.privacy-container{max-width:720px;margin:0 auto;line-height:1.6;background:var(--color-panel);border:1px solid var(--color-border);border-radius:8px;padding:2rem}.privacy-container h1{margin-top:0;margin-bottom:.25rem}.privacy-logo-wrap{text-align:center}.privacy-logo{max-width:250px;width:100%;aspect-ratio:1 / 1;border-radius:50%;-o-object-fit:cover;object-fit:cover}.privacy-theme-toggle{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text);font-size:.85rem;cursor:pointer;transition:background .15s,border-color .15s}.privacy-theme-toggle:hover{border-color:var(--color-port)}.privacy-theme-icon{font-size:1rem;line-height:1}.privacy-updated{color:var(--color-text-muted);font-size:.85rem;margin-top:0}.privacy-container h2{margin-top:2rem;font-size:1.15rem}.privacy-container a{color:var(--color-port)}:root{--tw-text: 44 62 80;--tw-text-subtle: 73 80 87;--tw-text-muted: 108 117 125;--tw-surface: 248 249 250;--tw-surface-alt: 238 242 247;--tw-panel: 255 255 255;--tw-border: 222 226 230;--tw-port: 52 152 219;--tw-flight: 39 174 96;--tw-success: 40 167 69;--tw-warning: 243 156 18;--tw-danger: 220 53 69}[data-theme=dark]{--tw-text: 230 237 245;--tw-text-subtle: 201 211 223;--tw-text-muted: 138 150 166;--tw-surface: 26 34 48;--tw-surface-alt: 32 41 58;--tw-panel: 26 34 48;--tw-border: 46 58 77}:root{--base-port-color: #3498db;--color-white: #ffffff;--color-on-accent: #ffffff;--color-text: #2c3e50;--color-text-subtle: #495057;--color-text-muted: #6c757d;--color-surface: #f8f9fa;--color-surface-alt: #eef2f7;--color-panel: #ffffff;--color-panel-elevated: #ffffff;--color-input-bg: #ffffff;--color-border: #dee2e6;--color-border-soft: #e9ecef;--color-input-border: #ced4da;--color-success: #28a745;--color-warning: #f39c12;--color-danger: #dc3545;--color-flight: #27ae60;--color-port: #3498db;--bg-success-soft: #d4edda;--text-success-strong: #155724;--border-success-soft: #c3e6cb;--bg-danger-soft: #fee;--text-danger-strong: #c33;--border-danger-soft: #fcc;--bg-warning-soft: #fff3cd;--text-warning-strong: #856404;--border-warning-soft: #ffeaa7;--bg-info-soft: #e7f3ff;--text-info-strong: #004085;--border-info-soft: #b8d8e8;--bg-row-hover: #f5f5f5;--bg-row-selected: #e3f2fd;--bg-table-header: #2c3e50;--color-table-header-text: #ffffff;--bg-modal-overlay: rgba(0, 0, 0, .6);--shadow-modal: 0 20px 60px rgba(0, 0, 0, .3);--shadow-card: 0 2px 4px rgba(0, 0, 0, .1);--color-port-status-closed-bg: #f8d7da;--color-port-status-closed-text: #721c24;--font-title: "Recursive Sans Casual", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body: "Recursive Sans Casual", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "Recursive Mono", "Fira Code", "Consolas", monospace;--font-parchment: "IM Fell English SC", "IM Fell English", Georgia, serif;--map-bg: #1a3a52;--map-text-muted: #6c757d;--map-text-subtle: #495057;--map-text-bright: #ffffff;--map-label-default: #a0c4e0;--map-label-capital: #c8a0d8;--map-label-current: #6be88a;--map-overlay-shadow: rgba(0, 0, 0, .15);--status-bg-start: #2c3e50;--status-bg-end: #34495e;--status-accent-flying: var(--color-flight);--status-accent-docked: var(--color-port);--status-accent-balance: #f1c40f;--status-muted: #95a5a6;--parchment-base: #e8d6b0;--parchment-ink: #3a2614;--parchment-ink-muted: #6b4a2b;--parchment-highlight: rgba(255, 240, 210, .45);--parchment-vignette-edge: rgba(80, 50, 20, .35);--parchment-fiber-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='400' height='400'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.45  0 0 0 0 0.32  0 0 0 0 0.18  0 0 0 0.35 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");--parchment-stain-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1200' height='1200'><filter id='f'><feTurbulence type='fractalNoise' baseFrequency='0.008' numOctaves='3' seed='4' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.38  0 0 0 0 0.26  0 0 0 0 0.12  0 0 0 0.22 0'/></filter><rect width='100%25' height='100%25' filter='url(%23f)'/></svg>")}[data-theme=dark]{--color-text: #e6edf5;--color-text-subtle: #c9d3df;--color-text-muted: #8a96a6;--color-surface: #1a2230;--color-surface-alt: #20293a;--color-panel: #1a2230;--color-panel-elevated: #232d3f;--color-input-bg: #11192a;--color-border: #2e3a4d;--color-border-soft: #283142;--color-input-border: #3a4660;--bg-success-soft: rgba(40, 167, 69, .18);--text-success-strong: #6ee896;--border-success-soft: rgba(40, 167, 69, .4);--bg-danger-soft: rgba(220, 53, 69, .18);--text-danger-strong: #ff9aa2;--border-danger-soft: rgba(220, 53, 69, .4);--bg-warning-soft: rgba(243, 156, 18, .16);--text-warning-strong: #ffd486;--border-warning-soft: rgba(243, 156, 18, .4);--bg-info-soft: rgba(52, 152, 219, .18);--text-info-strong: #8ecaf0;--border-info-soft: rgba(52, 152, 219, .4);--bg-row-hover: #232d3f;--bg-row-selected: rgba(52, 152, 219, .22);--bg-table-header: #0f1722;--color-table-header-text: #e6edf5;--bg-modal-overlay: rgba(0, 0, 0, .7);--shadow-modal: 0 20px 60px rgba(0, 0, 0, .6);--shadow-card: 0 2px 4px rgba(0, 0, 0, .4);--color-port-status-closed-bg: rgba(220, 53, 69, .18);--color-port-status-closed-text: #ff9aa2;--map-text-muted: #8a96a6;--map-text-subtle: #c9d3df;--map-overlay-shadow: rgba(0, 0, 0, .5);color-scheme:dark}body,html{font-family:var(--font-body);font-weight:400;margin:0;padding:0;width:100%;min-height:100%;background:var(--map-bg)}button,input,select,textarea,optgroup,option{font-family:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-title),sans-serif;font-weight:700;color:var(--color-text)}h4,h5,h6,.subtitle,.port-status,.port-subtitle{font-weight:500;color:var(--color-text-muted);font-style:italic}.price-value,.price-buy,.price-sell,.price-here,.price-there,.profit,.distance,.eta,.summary-item .value,.trade-summary .value{font-family:var(--font-mono)}h1:focus{outline:none}.journey-planner{padding:.5rem}.journey-planner-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.journey-planner-header .header-left{display:flex;align-items:center;gap:1rem}.journey-planner-header .header-left h2{margin:0}.journey-planner-header .header-journey-info{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;background:var(--color-surface);border-radius:6px;font-size:.9rem}.journey-planner-header .journey-arrow{color:var(--color-text-muted);font-weight:700}.journey-planner-header .journey-distance{color:var(--color-text-muted);margin-left:.5rem}.journey-planner-header .journey-actions{display:flex;gap:.5rem;margin-left:.5rem}.journey-planner-header .btn-go-now{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;font-weight:700;padding:.5rem 1rem;font-size:.9rem;box-shadow:0 2px 4px #667eea4d}.journey-planner-header .btn-go-now:hover:not(:disabled){background:linear-gradient(135deg,#5a6fd6,#6a4190);transform:translateY(-1px);box-shadow:0 4px 8px #667eea66}.journey-planner-header .btn-start{margin-left:.5rem}.journey-table-container{overflow-x:auto;margin:.5rem 0}.journey-table{width:100%;border-collapse:collapse;background:var(--color-panel);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-card)}.journey-table th{background:var(--bg-table-header);color:var(--color-table-header-text);padding:12px 16px;text-align:left;font-weight:600}.journey-table td{padding:12px 16px;border-bottom:1px solid var(--color-border);color:var(--color-text)}.destination-row{cursor:pointer;transition:background-color .2s}.destination-row:hover{background-color:var(--bg-row-hover)}.destination-row.selected{background-color:var(--bg-row-selected)}.port-name{font-weight:500}.distance,.eta{font-family:monospace;font-size:.95em}.btn-link{background:none;border:none;color:var(--color-port);cursor:pointer;padding:4px 8px;font-size:.9em;text-decoration:underline}.btn-link:hover{filter:brightness(.9)}.expandable-row{background-color:var(--color-surface)}.expandable-row td{padding:0}.port-economy-details{padding:1rem 1.5rem;background-color:var(--color-surface);border-left:4px solid var(--color-port)}.port-economy-details h4{margin:0 0 1rem;color:var(--color-text);font-size:1.1em}.prices-table{width:100%;border-collapse:collapse;background:var(--color-panel);border-radius:4px;overflow:hidden}.prices-table th{background:var(--bg-table-header);color:var(--color-table-header-text);padding:8px 12px;font-size:.85em;text-align:left}.prices-table td{padding:8px 12px;border-bottom:1px solid var(--color-border);font-size:.9em;color:var(--color-text)}.price-buy{color:#e74c3c;font-weight:500}.margin{font-family:monospace}.margin.good{color:#27ae60;font-weight:600}.margin.poor{color:#e74c3c}.loading-prices{color:#7f8c8d;font-style:italic}.no-data{color:var(--color-text-muted);text-align:center;padding:1rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.dashboard-header h2{margin:0}.btn-secondary{background:#95a5a6;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer}.btn-secondary:hover{background:#7f8c8d}.btn-primary{background:#3498db;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer}.btn-primary:hover:not(:disabled){background:#2980b9}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.error-message{background:var(--bg-danger-soft);color:var(--text-danger-strong);padding:12px;border-radius:4px;margin-bottom:1rem;border-left:4px solid var(--text-danger-strong)}.error-state{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem}.error-state .error-message{width:100%;max-width:500px;text-align:center}.refresh-error-banner{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-warning-soft);color:var(--text-warning-strong);border:1px solid var(--border-warning-soft);border-radius:4px;margin-bottom:.5rem;font-size:.85rem}.refresh-error-banner .dismiss-btn{background:none;border:1px solid currentColor;color:var(--text-warning-strong);padding:2px 8px;border-radius:3px;cursor:pointer;font-size:.8rem}.refresh-error-banner .dismiss-btn:hover{background:var(--text-warning-strong);color:var(--color-panel)}.market-toast{position:fixed;top:14px;left:50%;right:auto;transform:translate(-50%);max-width:calc(100vw - 2rem);text-align:center;z-index:1100;padding:.5rem .7rem;border-radius:6px;background:#22313ff2;color:#f1f7ff;border:1px solid rgba(123,184,255,.35);font-size:.78rem;font-family:var(--font-mono);box-shadow:0 6px 16px #00000040}.safety-net-dialog{display:flex;flex-direction:column;gap:1rem}.safety-net-image{width:100%}.safety-net-image img{display:block;width:100%;max-height:220px;-o-object-fit:cover;object-fit:cover;border-radius:8px;background:#2a2a35}.safety-net-text{margin:0;line-height:1.55;color:var(--color-text)}.safety-net-text em{color:var(--color-text-subtle)}.safety-net-actions{display:flex;justify-content:flex-end}.journey-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:.5rem;margin-top:.5rem}.flying-layout{display:grid;grid-template-columns:1fr 360px;gap:.75rem;margin-top:.5rem;align-items:start}.flying-status{display:flex;flex-direction:column;gap:1rem}@media(max-width:1200px){.flying-layout{grid-template-columns:1fr 1fr}}.flying-map{min-height:500px}@media(max-width:1000px){.flying-layout{grid-template-columns:1fr}.flying-map{min-height:400px}}@media(max-width:1200px){.journey-layout{grid-template-columns:1fr 1fr}}@media(max-width:900px){.journey-layout{grid-template-columns:1fr}}.journey-map-section{min-height:400px;overscroll-behavior:contain;touch-action:none}.journey-map-section .canvas-map-container{min-height:400px}.journey-list-section{display:flex;flex-direction:column;gap:.5rem}.journey-table-container{max-height:300px;overflow-y:auto;border:1px solid var(--color-border);border-radius:6px}.world-map{background:#1a3a52;border-radius:6px;border:1px solid #0d2135;position:relative;overflow:hidden;touch-action:none;overscroll-behavior:contain}.world-map .map-empty-state{display:flex;justify-content:center;align-items:center;min-height:480px;color:#7f8c8d;font-style:italic}.loading-placeholder{opacity:.6;font-style:italic}.world-map .cargo-filter-btn{padding:3px 10px;border:1px solid var(--color-input-border);border-radius:4px;background:var(--color-panel);color:var(--color-text-subtle);font-size:11px;cursor:pointer;transition:all .15s ease}.world-map .cargo-filter-btn:hover{background:var(--color-border-soft)}.world-map .cargo-filter-btn.active{background:var(--color-port);color:#fff;border-color:var(--color-port)}.port-price-label{fill:#ecf0f1;font-weight:600;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.8)}.player-marker{cursor:pointer}.route-line{stroke:#f39c12;stroke-width:2;stroke-dasharray:5,3;animation:dash 1s linear infinite;vector-effect:non-scaling-stroke}.flight-route-line{stroke:#27ae60;stroke-width:1.5;stroke-dasharray:3,3;opacity:.85;vector-effect:non-scaling-stroke}.departure-route-line{stroke:#f39c12;stroke-width:1.5;stroke-dasharray:2,4;opacity:.9;vector-effect:non-scaling-stroke}@keyframes dash{to{stroke-dashoffset:-16}}.port-marker{cursor:pointer}.world-map .map-legend{position:absolute;bottom:8px;left:8px;background:#fffffff2;padding:6px 10px;border-radius:4px;border:1px solid #ccc;display:flex;gap:12px;font-size:11px;z-index:10;color:#333}.world-map .legend-item{display:flex;align-items:center;gap:4px}.world-map .legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.world-map .legend-dot.flying{background:#27ae60}.world-map .legend-dot.docked{background:#e74c3c}.world-map .legend-dot.open{background:#3498db}.world-map .port-circle{fill:var(--base-port-color);stroke:#fff;stroke-width:1;vector-effect:non-scaling-stroke}.world-map .port-marker.current .port-circle{fill:#27ae60}.world-map .port-marker.previous .port-circle{fill:#e74c3c}.world-map .port-marker.selected .port-circle{fill:#f39c12}.world-map .port-marker.capital .port-circle{fill:#9b59b6}.world-map .port-label{font-size:4px;fill:#a0c4e0;font-weight:500;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.7)}.world-map .port-label.capital-label{font-size:5px;font-weight:700;fill:#c8a0d8}.world-map .player-marker.flying .player-circle{fill:#27ae60}.world-map .player-marker.docked .player-circle{fill:#e74c3c}.world-map .player-marker.docked .player-circle-glow{stroke:#e74c3c80;stroke-width:4;vector-effect:non-scaling-stroke}.world-map .player-marker.flying .player-circle-glow{stroke:#27ae6080;stroke-width:4;vector-effect:non-scaling-stroke}.world-map .player-circle{stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke}.world-map .player-label{font-size:5px;font-weight:700;background-color:#e1e5ea;fill:#1a1a1a;pointer-events:none}.world-map .player-status{font-size:4px;fill:#fff;font-weight:500;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.8)}.parchment{background-color:var(--parchment-base);background-image:radial-gradient(ellipse at center,transparent 0%,var(--parchment-vignette-edge) 100%),var(--parchment-fiber-image),var(--parchment-stain-image);background-blend-mode:normal,multiply,multiply;background-size:auto,400px 400px,cover;background-repeat:repeat,repeat,no-repeat;background-position:center,center,center;color:var(--parchment-ink)}.login-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;background-color:var(--parchment-base);background-image:radial-gradient(ellipse at center,transparent 0%,var(--parchment-vignette-edge) 100%),var(--parchment-fiber-image),var(--parchment-stain-image);background-blend-mode:normal,multiply,multiply;background-size:auto,400px 400px,cover;background-repeat:repeat,repeat,no-repeat;background-position:center,center,center}.login-vt-corner{font-size:.8rem;position:fixed;bottom:1rem;right:1rem;z-index:10;display:flex;align-items:center;gap:.5rem;color:var(--parchment-ink);line-height:1;text-decoration:none;transition:color .12s ease,background .12s ease}.login-vt-corner:hover{color:var(--parchment-base);background:var(--parchment-ink);border-color:var(--parchment-ink)}.login-vt-corner p{margin:0}.login-bottom-left{position:fixed;bottom:1rem;left:1rem;z-index:10;display:flex;align-items:center;gap:.75rem}.login-privacy-link{font-size:.8rem;color:var(--parchment-ink);text-decoration:underline;transition:color .12s ease,background .12s ease}.login-privacy-link:hover{color:var(--parchment-base);background:var(--parchment-ink)}.login-container{text-align:center;margin:auto 0}.login-title{font-family:var(--font-parchment);text-align:center;color:var(--parchment-ink);font-weight:500;font-size:5rem;line-height:1;letter-spacing:.2em;margin:.5rem 0 1.5rem;padding:0;text-shadow:0 1px 0 var(--parchment-highlight)}.login-container h1{text-align:center;color:var(--parchment-ink);font-size:3rem;margin-bottom:.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.login-container .subtitle{font-size:1.4rem;margin-bottom:2rem}.login-vt-logo{width:32px;height:32px;-o-object-fit:cover;object-fit:cover;border-radius:50%;background:transparent}.login-card{background:var(--parchment-base);max-width:330px;margin:0 auto;padding:1rem;border-radius:16px;box-shadow:0 20px 60px #0000004d}.login-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;padding:.35rem;background:var(--parchment-stain-image);border-radius:999px;margin-bottom:1.2rem}.login-tab{display:flex;align-items:center;justify-content:center;min-height:42px;border-radius:999px;text-decoration:none;color:var(--parchment-ink);font-size:.95rem;font-weight:700;transition:all .2s ease}.login-tab:hover{color:#26303b;background:#ffffffa6}.login-tab.active{background:var(--parchment-base);color:var(--parchment-ink-muted);box-shadow:0 6px 18px #1b27331f}.login-tab-panel{text-align:left}.login-panel-copy{margin:0 0 1rem;color:var(--parchment-ink);font-size:.95rem;line-height:1.5}.invite-label{font-size:.9rem;font-weight:600;color:var(--parchment-ink);margin-bottom:.4rem}.invite-input{width:90%;background:var(--parchment-base);color:var(--parchment-ink);border:1px solid var(--parchment-ink);border-radius:8px;padding:1rem;margin-bottom:1rem;font-size:.95rem;color-scheme:light}.invite-input::-moz-placeholder{color:var(--parchment-ink-muted);opacity:1}.invite-input::placeholder{color:var(--parchment-ink-muted);opacity:1}.invite-input:focus{outline:none;border-color:var(--parchment-ink);box-shadow:0 0 0 3px #4d67b729}.btn-github{font-family:var(--font-body);display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:4px;background:#24292e;color:#fff;border:none;border-radius:32px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-github:hover{background:#1a1e22;transform:translateY(-2px);box-shadow:0 4px 12px #24292e66}.btn-github svg{flex-shrink:0}.btn-discord{font-family:var(--font-body);display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:4px;margin-top:12px;background:#5865f2;color:#fff;border:none;border-radius:32px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-discord:hover{background:#4752c4;transform:translateY(-2px);box-shadow:0 4px 12px #5865f266}.btn-discord svg{flex-shrink:0}.btn-gitlab{font-family:var(--font-body);display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:4px;background:#fc6d26;color:#fff;border:none;border-radius:32px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-gitlab:hover{background:#e05a18;transform:translateY(-2px);box-shadow:0 4px 12px #fc6d2666}.btn-gitlab svg{flex-shrink:0}.btn-google{font-family:var(--font-body);display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:4px;background:#4285f4;color:#fff;border:none;border-radius:32px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-google:hover{background:#357ae8;transform:translateY(-2px);box-shadow:0 4px 12px #4285f466}.btn-google svg{flex-shrink:0}.btn-facebook{font-family:var(--font-body);display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:4px;background:#1877f2;color:#fff;border:none;border-radius:32px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-facebook:hover{background:#166fe5;transform:translateY(-2px);box-shadow:0 4px 12px #1877f266}.btn-facebook svg{flex-shrink:0}.login-provider-row{display:flex;justify-content:center;align-items:center;gap:.75rem;margin-top:.5rem}.login-provider-row>button{width:auto;flex:0 0 auto;margin:0;padding:.6rem;border-radius:50%;aspect-ratio:1 / 1}.login-provider-row>button:disabled,.login-provider-row>button:disabled:hover{opacity:.4;filter:grayscale(.75);cursor:not-allowed;transform:none;box-shadow:none}.login-info{margin-top:.75rem;color:#6c757d;font-size:.9rem}@media(max-width:520px){.login-tabs{grid-template-columns:1fr;border-radius:16px}.login-tab{border-radius:12px}}.alert{padding:12px 16px;border-radius:8px;margin-bottom:1rem}.alert-danger{background:var(--bg-danger-soft);color:var(--parchment-ink);border:1px solid var(--border-danger-soft)}.login-alert{max-width:330px;margin-left:auto;margin-right:auto;text-align:left}.loading-container{display:flex;justify-content:center;align-items:center;min-height:400px}.btn{display:inline-block;padding:12px 24px;border-radius:8px;text-decoration:none;font-weight:500;transition:all .2s}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover{background:#5a6fd6;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.player-header .header{display:flex;align-items:center;gap:1rem}.player-header .header-avatar{width:48px!important;height:48px!important;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--color-border);display:flex;align-items:center;justify-content:center}.player-header .avatar-img{width:100%!important;height:100%!important;-o-object-fit:cover;object-fit:cover;border-radius:50%}.player-header .avatar-placeholder{font-size:1.5rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase}.player-header .header-title h1{margin:0;font-size:1.5rem;color:var(--color-text)}.player-header .subtitle{margin:.25rem 0 0;color:var(--color-text-muted);font-size:.95rem}a.btn-github{text-decoration:none;display:inline-flex}.player-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:1rem}.player-card{padding:1rem;border:2px solid var(--color-border);border-radius:8px;cursor:pointer;transition:all .2s;text-align:center;background:var(--color-panel);color:var(--color-text)}.player-card:hover{border-color:var(--color-port);background-color:var(--bg-row-hover)}.player-name{font-size:1.2rem;font-weight:700}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.header-title{display:flex;flex-direction:column;gap:.25rem}.header-title h1{margin:0}.subtitle{margin:0;color:var(--color-text-muted);font-size:1.1rem;font-weight:500}.dashboard,.journey-planner,.journeys-list{background:var(--color-surface);padding:1rem;border-radius:12px;color:var(--color-text)}.dashboard-header,.journeys-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.journeys-header{margin-bottom:1rem}.journeys-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.journey-card{background:var(--color-panel);border:2px solid var(--color-border);border-radius:8px;padding:.75rem;cursor:pointer;transition:all .2s;color:var(--color-text)}.journey-card:hover{border-color:var(--color-port);box-shadow:var(--shadow-card)}.journey-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.journey-route{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:1.1rem}.journey-route .arrow{color:var(--color-port);font-weight:700}.journey-route .port{font-weight:500}.journey-card-actions{display:flex;justify-content:flex-end;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--color-border-soft)}.journey-card-actions button{padding:.5rem 1rem;font-size:.9rem}.actions{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}.compact-ship-info{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.4rem .5rem;background:var(--color-border-soft);border-radius:4px;margin-bottom:.5rem;font-size:.85rem;border:1px solid var(--color-border)}.compact-ship-info .ship-name{font-weight:600;color:var(--color-text-subtle);margin-right:.25rem}.compact-ship-info .ship-stat{padding:.15rem .4rem;background:var(--color-panel);border-radius:3px;border:1px solid var(--color-input-border);font-size:.8rem;color:var(--color-text);white-space:nowrap}.compact-ship-info .ship-stat.money{background:var(--bg-success-soft);border-color:var(--border-success-soft);color:var(--text-success-strong);font-weight:600}.compact-ship-info .ship-stat.cargo{cursor:help}.journey-metrics,.journey-planned-info{background:var(--color-panel);border-radius:8px;border:1px solid var(--color-border);padding:.75rem 1rem;margin-bottom:.75rem;color:var(--color-text-subtle);display:grid;gap:.4rem}.airship-container{display:flex;flex-direction:column;align-items:center;margin:1rem 0}.airship{font-size:4rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.journey-info{margin-top:1rem;text-align:center}.journey-info p{margin:.5rem 0}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500}.status-planning{background-color:#6c757d;color:#fff}.status-flying{background-color:#28a745;color:#fff}.status-paused{background-color:#ffc107;color:#212529}.status-completed{background-color:#007bff;color:#fff}.ship-info h3{margin:0 0 1rem;color:#495057;font-size:1.4rem}.btn-warning,.btn-danger{padding:.75rem 1.5rem;border:none;border-radius:6px;cursor:pointer;font-size:1rem;transition:opacity .2s}.btn-warning{background-color:#ffc107;color:#212529}.btn-danger{background-color:#dc3545;color:#fff}button:hover:not(:disabled){opacity:.9}button:disabled{opacity:.6;cursor:not-allowed}.app-shell{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.main-content{flex:1;position:relative;overflow:hidden;min-height:0;--dock-panel-width: min(210px, 55vw);--dock-edge: 30px;--dock-width: var(--dock-panel-width);--editor-panel-width: clamp(320px, 25vw, 480px)}.main-content--dock-collapsed{--dock-width: 0px}.main-content.main-content--flying .canvas-map-container,.main-content.main-content--flying .ship-view{left:var(--dock-width);width:auto;transition:left .25s ease}.main-content.main-content--editor .canvas-map-container{left:var(--editor-panel-width);width:auto;transition:left .2s ease}html,body{overflow:hidden;height:100%}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-modal-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-dialog{background:var(--color-panel);color:var(--color-text);border-radius:12px;box-shadow:var(--shadow-modal);max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-small{width:400px;max-width:100%}.modal-medium{width:600px;max-width:100%}.modal-large{width:800px;max-width:100%}.modal-xl{width:1100px;max-width:100%}.modal-fullscreen{width:95vw;height:90vh}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border-soft);flex-shrink:0}.modal-header h3{margin:0;font-size:1.25rem;color:var(--color-text)}.modal-close-btn{background:none;border:none;font-size:1.5rem;color:var(--color-text-muted);cursor:pointer;padding:0;line-height:1;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.modal-close-btn:hover{background:var(--color-surface);color:var(--color-text-subtle)}.modal-body{padding:1.25rem;overflow-y:auto;flex:1}.modal-footer{padding:1rem 1.25rem;border-top:1px solid var(--color-border-soft);display:flex;justify-content:flex-end;gap:.75rem;flex-shrink:0}.dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.in-flight-panel{position:absolute;top:0;left:0;bottom:0;z-index:160;width:var(--dock-panel-width);background:var(--color-panel-elevated);color:var(--color-text);padding:1.25rem 1rem;border-radius:0;border:1px solid var(--color-border);border-left:0;box-shadow:2px 0 8px #00000040;display:flex;flex-direction:column;gap:.6rem;font-size:.9rem;transition:transform .25s ease}.in-flight-panel--collapsed{transform:translate(-100%)}.in-flight-panel__toggle{position:absolute;top:50%;left:100%;transform:translateY(-50%);width:var(--dock-edge);height:56px;display:flex;align-items:center;justify-content:center;padding:0;font-size:1rem;font-weight:700;line-height:1;color:var(--color-text);background:var(--color-panel-elevated);border:1px solid var(--color-border);border-left:0;border-radius:0 8px 8px 0;box-shadow:2px 0 8px #00000040;cursor:pointer;transition:background .12s ease}.in-flight-panel__toggle:hover{background:var(--bg-row-hover)}.in-flight-panel__heading{display:flex;flex-direction:column;gap:.15rem}.in-flight-panel__heading-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.in-flight-panel__destination{font-size:1.15rem;font-weight:700;color:var(--color-text)}.in-flight-panel__divider{border:0;border-top:1px solid var(--color-border-soft);margin:0}.in-flight-panel__rows{display:flex;flex-direction:column;gap:.55rem}.in-flight-panel__row{display:flex;flex-direction:column;gap:.1rem}.in-flight-panel__label{color:var(--color-text-muted)}.in-flight-panel__value{font-family:var(--font-mono);font-weight:600;color:var(--color-text)}.in-flight-panel__auto-sell{display:flex;align-items:flex-start;gap:.55rem;padding:.65rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;cursor:pointer}.in-flight-panel__auto-sell input{flex:0 0 auto;margin-top:.15rem;accent-color:var(--color-port)}.in-flight-panel__auto-sell span{display:flex;flex-direction:column;gap:.15rem;line-height:1.25}.in-flight-panel__auto-sell strong{font-size:.82rem}.in-flight-panel__auto-sell small{color:var(--color-text-muted);font-size:.72rem}.in-flight-panel__metric{display:flex;flex-direction:column;gap:.25rem}.in-flight-panel__bar{width:100%;height:8px;background:var(--color-surface-alt);border-radius:999px;overflow:hidden}.in-flight-panel__bar-fill{height:100%;border-radius:999px;transition:width .25s ease,background-color .25s ease}.in-flight-panel__bar-fill--hull{background:var(--color-success)}.in-flight-panel__bar-fill--hull-warn{background:var(--color-warning)}.in-flight-panel__bar-fill--hull-danger{background:var(--color-danger)}.in-flight-panel__hull-note{margin-top:.35rem;font-size:.72rem;color:var(--color-warning);line-height:1.3}.in-flight-panel__actions{display:flex;flex-direction:column;gap:.5rem;margin-top:auto}.in-flight-panel__btn{flex:1;padding:.5rem .6rem;border-radius:6px;border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text);font-weight:600;font-size:.85rem;cursor:pointer;transition:background .12s ease,border-color .12s ease}.in-flight-panel__btn:hover:not(:disabled){background:var(--bg-row-hover)}.in-flight-panel__btn--danger{background:var(--bg-danger-soft);border-color:var(--border-danger-soft);color:var(--text-danger-strong)}.in-flight-panel__btn--danger:hover:not(:disabled){background:var(--border-danger-soft)}.in-flight-panel__btn:disabled{opacity:.5;cursor:not-allowed}.flying-error{background:var(--bg-danger-soft);border:1px solid var(--border-danger-soft);padding:.5rem;border-radius:4px;font-size:.85rem;color:var(--text-danger-strong)}.journeys-panel{position:absolute;bottom:10px;left:10px;background:color-mix(in srgb,var(--color-panel) 95%,transparent);color:var(--color-text);border-radius:8px;box-shadow:0 4px 12px #00000040;z-index:100;min-width:250px;max-width:350px;max-height:300px;overflow:hidden}.journeys-panel.collapsed{max-height:42px}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid var(--color-border-soft)}.panel-header:hover{background:var(--color-surface)}.panel-title{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--color-text)}.toggle-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:0;font-size:.75rem}.panel-content{padding:.75rem;max-height:250px;overflow-y:auto}.no-journeys{color:var(--color-text-muted);font-style:italic;margin:0;text-align:center;padding:.5rem}.journeys-list{display:flex;flex-direction:column;gap:.5rem}.journey-item{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:6px;padding:.5rem;cursor:pointer}.journey-item:hover{background:var(--bg-row-hover)}.journey-item.selected{border-color:var(--color-port);background:var(--bg-info-soft)}.journey-route{display:flex;align-items:center;gap:.25rem;font-size:.85rem;margin-bottom:.25rem}.journey-route .from,.journey-route .to{font-weight:500}.journey-route .arrow{color:var(--color-text-muted)}.journey-actions{display:flex;gap:.5rem;margin-top:.5rem}.btn-small{padding:.25rem .5rem;font-size:.75rem;border-radius:4px;border:none;cursor:pointer}.btn-small.btn-start{background:#27ae60;color:#fff}.btn-small.btn-start:hover:not(:disabled){background:#219a52}.btn-small.btn-delete{background:#e74c3c;color:#fff}.btn-small.btn-delete:hover:not(:disabled){background:#c0392b}.btn-small:disabled{opacity:.5;cursor:not-allowed}.btn-new-journey{padding:.5rem 1rem;background:#3498db;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem}.btn-new-journey:hover{background:#2980b9}.panel-buttons{display:flex;gap:.5rem;margin-top:.5rem}.panel-buttons .btn-new-journey{flex:1;width:auto}.btn-trade{padding:.5rem 1rem;background:#27ae60;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem}.btn-trade:hover{background:#219a52}.journey-error{background:var(--bg-danger-soft);color:var(--text-danger-strong);padding:.5rem;border-radius:4px;font-size:.8rem;margin-top:.5rem}.journey-dialog{min-width:300px}.journey-selection{margin-bottom:1rem}.journey-route-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:1rem}.journey-route-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.route-point.from{text-align:left}.route-point.to{text-align:right}.route-label{display:block;font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase}.route-port{display:block;font-size:1.1rem;font-weight:600;color:var(--color-text)}.route-port.placeholder{color:var(--color-text-muted);font-style:italic}.route-info{color:var(--color-text-muted)}.route-arrow{font-size:1.25rem;color:var(--color-port);font-weight:700}.route-metrics{margin-top:.85rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.route-metric{background:var(--color-panel);border:1px solid var(--color-border);border-radius:8px;padding:.55rem .65rem}.route-metric-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:.15rem}.route-metric-value{display:block;font-size:.95rem;color:var(--color-text);font-weight:600}.route-metric-value--warn{color:var(--color-warning)}.route-metric-sub{display:block;font-size:.72rem;color:var(--color-text-muted);margin-top:.1rem}.destinations-container{border:1px solid var(--color-border);border-radius:8px;overflow:hidden;margin-bottom:1rem}.destinations-header{display:grid;grid-template-columns:1fr 80px 80px;background:var(--bg-table-header);color:var(--color-table-header-text);font-size:.75rem;font-weight:600;text-transform:uppercase}.destinations-header .dest-col{padding:.75rem}.destinations-list{max-height:250px;overflow-y:auto}.destination-row{display:grid;grid-template-columns:1fr 80px 80px;padding:.75rem;border-bottom:1px solid var(--color-border-soft);cursor:pointer;transition:background .15s}.destination-row:hover{background:var(--bg-row-hover)}.destination-row.selected{background:var(--bg-info-soft);border-color:var(--color-port)}.destination-row:last-child{border-bottom:none}.dest-col{padding:0 .5rem}.dest-col.port-name{font-weight:500;color:var(--color-text)}.dest-col.distance,.dest-col.eta{font-family:monospace;font-size:.85rem;color:var(--color-text-subtle)}.journey-actions{display:flex;gap:.75rem;justify-content:flex-end}@media(max-width:1024px){.modal-dialog{margin:.5rem}.modal-large{width:100%}.journeys-panel{max-width:300px}.journey-route-header{align-items:flex-start}}@media(max-width:640px){.journey-route-header{flex-direction:column;align-items:stretch}.route-point.to{text-align:left}.route-arrow{align-self:center;transform:rotate(90deg)}}@media(max-height:600px){.modal-body{padding:.75rem}}.travel-panel{display:flex;flex-direction:column;gap:1rem}.travel-destination-picker{display:flex;flex-direction:column;gap:.35rem}.travel-destination-picker label{font-size:.875rem;font-weight:600;color:var(--color-text-muted, #555)}.travel-destination-select{padding:.5rem .75rem;border:1px solid var(--color-border, #ccc);border-radius:6px;font-size:.95rem;color:var(--color-text-muted, #555);background:var(--color-surface, #fff)}.travel-disabled-note{color:var(--color-text-muted, #777);font-size:.85rem;margin:0}.auto-sell-option{display:flex;align-items:flex-start;gap:.55rem;color:var(--color-text);font-size:.9rem;cursor:pointer}.auto-sell-option input{margin-top:.2rem}.auto-sell-option small{display:block;margin-top:.15rem;color:var(--color-text-muted);font-size:.78rem}.travel-hull-note{color:var(--color-warning);font-size:.8rem;margin:.5rem 0 0;line-height:1.4}.trading-compare-picker{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.trading-compare-picker label{font-size:.875rem;font-weight:600;color:var(--color-text-muted, #555)}.trading-compare-select{padding:.4rem .6rem;border:2px solid var(--color-border, #ccc);border-radius:6px;font-size:.9rem;color:var(--color-text-muted, #777);background:var(--color-surface, #fff);min-width:220px}.icon{width:1em;height:1em;display:inline-block;vertical-align:-.125em;flex-shrink:0}.app-error-strip{position:fixed;bottom:0;left:0;right:0;z-index:1000;padding:.75rem 1.25rem;background:#ffe8b3;color:#4a3b1e;box-shadow:0 -1px 4px #0003}.app-error-strip .reload{color:#4a3b1e;text-decoration:underline}.listbox{position:relative}.listbox-button{display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;text-align:left;cursor:pointer;font-family:inherit}.listbox-options{z-index:1200;max-height:320px;overflow-y:auto;min-width:var(--button-width);padding:.25rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-panel);color:var(--color-text);box-shadow:var(--shadow-modal);outline:none}.listbox-option{padding:.4rem .6rem;border-radius:4px;font-size:.9rem;cursor:pointer}.listbox-option[data-focus]{background:var(--bg-row-hover)}.listbox-option[data-selected]{background:var(--bg-row-selected);font-weight:600}.listbox-option--contract{color:var(--color-warning);font-weight:600}:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0px;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}@media only screen and (max-width:480px){.Toastify__toast-container[data-stacked=true]{width:100vw}}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.relative{position:relative}.block{display:block}.inline{display:inline}.table{display:table}.grid{display:grid}.hidden{display:none}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rounded{border-radius:.25rem}.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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important;transition-duration:.15s!important}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.Toastify__toast-container--top-center{top:14px;width:auto;max-width:calc(100vw - 2rem)}.Toastify__toast.anchorwind-toast{min-height:0;padding:.5rem .7rem;border-radius:6px;background:#22313ff2;color:#f1f7ff;border:1px solid rgba(123,184,255,.35);font-size:.78rem;font-family:var(--font-mono);box-shadow:0 6px 16px #00000040;text-align:center}.Toastify__toast.anchorwind-toast .Toastify__toast-body{padding:0;margin:0}
