:root{--bg: #0f2a30;--panel: #163940;--panel-2: #1b4a54;--sea: #24616c;--line: #2b5560;--ink: #e4ede6;--muted: #9db5ac;--buoy: #b8501f;--buoy-bright: #e0672f;--gold: #e3b65a;--kelp: #8fc06f;--sand: #c9b083;--red: #e08d7d;--red-line: #d4705e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Avenir Next,Segoe UI,Verdana,sans-serif}#root{min-height:100vh}.app{max-width:1280px;min-width:0;margin:0 auto;padding:12px 16px 96px}.topbar{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;border-bottom:2px solid var(--line);padding-bottom:8px;margin-bottom:12px}.topbar h1{margin:0;font-size:24px;color:var(--ink);letter-spacing:2px;text-transform:uppercase}.tide-stat{font-size:15px}.tide-stat.gold{color:var(--gold);font-size:18px}.topbar .ghost:first-of-type{margin-left:auto}.muted{color:var(--muted);font-size:14px}.num{font-variant-numeric:tabular-nums;font-size:16px}h2{font-size:15px;color:var(--sand);margin:0 0 8px;text-transform:uppercase;letter-spacing:1px}h3{font-size:14px;color:var(--muted);margin:0 0 6px;font-weight:600}button{background:var(--buoy);color:#fff6ec;border:none;border-radius:6px;padding:8px 14px;font-size:15px;font-family:inherit;cursor:pointer;transition:background-color .12s ease}button:hover:not(:disabled){background:#a8471b}button:disabled{opacity:.45;cursor:default}button.ghost{background:transparent;color:var(--muted);border:1px solid var(--line)}button.ghost:hover{color:var(--ink);border-color:var(--sea)}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,.sea-canvas:focus-visible{outline:2px solid var(--gold);outline-offset:2px}input{background:#0b2126;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:8px;font-size:15px;font-family:inherit}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 16px}.board{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:12px;margin-bottom:12px;align-items:start}.panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;align-items:start}.panels>.ledger{grid-column:1 / -1}@media (max-width: 1100px){.board,.panels{grid-template-columns:minmax(0,1fr)}.panels>.ledger{grid-column:auto}}.chart-panel{min-width:0}.side{display:flex;flex-direction:column;gap:12px;min-width:0}.sea-canvas{width:100%;max-width:760px;margin:0 auto;height:auto;border:1px solid var(--line);border-radius:8px;cursor:pointer;display:block}.hint{font-size:13px;color:var(--muted);margin:8px 0 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.zone-readings{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;margin:8px 0 0;padding:0;font-size:12px;color:var(--muted)}.zone-readings strong{color:var(--ink);font-size:12px}.auction .lot-line{margin:0 0 8px;font-size:15px}.clock-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.clock-price{font-size:34px;color:var(--buoy-bright);font-variant-numeric:tabular-nums;min-width:96px}.clock-bar{flex:1;height:14px;background:#0b2126;border:1px solid var(--line);border-radius:7px;overflow:hidden}.clock-fill{display:block;height:100%;background:var(--buoy-bright);transition:width .3s linear}.buyer-limits{list-style:none;margin:0;padding:0}.buyer-limits li{display:flex;gap:10px;align-items:baseline;padding:4px 0;border-top:1px dashed var(--line)}.buyer-limits li.closed{color:var(--muted)}.buyer-name{flex:none;width:110px}.buyer-buys{flex:1;font-size:13px;color:var(--muted)}.buyer-limits .num{min-width:48px;text-align:right}.sale-line{margin:8px 0 0;color:var(--gold);font-size:15px}.reason-line{margin:6px 0 0;font-size:13px;color:var(--muted);font-style:italic}.boat-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.boat-card{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--panel-2)}.boat-card.selected{border-color:var(--buoy-bright)}.boat-head{background:transparent;border:none;padding:0;width:100%;display:flex;justify-content:space-between;align-items:baseline;gap:10px;text-align:left;cursor:pointer;color:var(--ink);font-size:15px}.boat-head:hover{background:transparent}.boat-meta{margin:4px 0 0;font-size:13px;color:var(--muted)}.boat-orders{margin-top:8px}.zone-buttons{display:flex;gap:6px;flex-wrap:wrap}.zone-buttons button{padding:5px 10px;font-size:13px}.mesh-row{display:flex;gap:6px;align-items:center;margin-top:6px;flex-wrap:wrap}.mesh-row button{padding:5px 10px;font-size:13px}.ledger{margin-bottom:12px}.ledger-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}.landing-list,.reason-list{list-style:none;margin:0;padding:0;font-size:14px}.landing-list li{display:flex;justify-content:space-between;gap:12px;padding:3px 0;border-top:1px dashed var(--line)}.reason-list li{padding:3px 0;border-top:1px dashed var(--line);color:var(--muted)}section.judges{position:fixed;right:16px;bottom:16px;width:min(620px,46vw);max-height:calc(100vh - 140px);overflow:auto;z-index:30;box-shadow:0 8px 28px #00000073}.judge-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.harbour-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.harbour-block{margin-top:10px}.harbour-block h3{font-size:15px;margin:0 0 6px}.harbour-block label{display:inline-flex;gap:4px;align-items:center}.harbour-block input{width:64px}.harbour-block select{max-width:150px}.harbour-trade{display:inline-flex;gap:6px;align-items:center;margin-right:8px}.harbour-list{list-style:none;margin:6px 0 0;padding:0}.harbour-list li{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-top:1px dashed var(--line)}.mesh-row button[aria-pressed=true]{border-color:var(--gold)}.end-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;background:#0b2126b8}.end-card{width:min(420px,90vw);text-align:center}.end-card ul{text-align:left;margin:12px 0}.event-list{list-style:none;margin:8px 0 0;padding:0;font-size:14px}.event-list li{padding:3px 0;border-top:1px dashed var(--line)}.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:24px;max-width:420px;margin:32px auto}.auth-card label{display:block;margin:12px 0}.auth-card input{display:block;width:100%;margin-top:4px}.auth-card button+button{margin-left:8px}.auth-card .error{color:var(--red);font-size:13px;margin:10px 0 0}.toast-stack{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;max-width:380px;z-index:10}.toast{display:flex;gap:12px;align-items:flex-start;background:var(--panel-2);border:1px solid var(--line);border-left-width:5px;border-radius:8px;padding:10px 12px;font-size:14px;animation:toast-in .16s ease}.toast p{margin:4px 0 0;color:var(--muted);word-break:break-word}.toast-error{border-left-color:var(--red-line)}.toast-info{border-left-color:var(--sea)}.toast-report{border-left-color:var(--gold)}.toast-count{display:inline-block;margin-left:8px;padding:0 7px;border-radius:10px;background:var(--line);color:var(--ink);font-size:12px}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.offline-banner{border:1px solid var(--red-line);border-left-width:4px;border-radius:8px;padding:8px 12px;margin:0 0 12px}.seed-offer{border-color:var(--gold);border-left:4px solid var(--gold);margin-bottom:12px}.seed-offer code{color:var(--sand)}.trend-falling{color:var(--red)}.trend-rising{color:var(--kelp)}.trend-steady{color:var(--muted)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.tip{position:relative;display:inline-block;margin-left:8px;font-size:11px;color:var(--sand, #c9b083);border-bottom:1px dotted currentColor;cursor:help}.tip-body{position:absolute;left:0;top:calc(100% + 6px);z-index:20;width:max-content;max-width:34ch;padding:8px 10px;border:1px solid rgba(228,237,230,.25);background:#0f2a30;color:#e4ede6;font-size:12px;line-height:1.45;visibility:hidden;opacity:0;transition:opacity .12s ease;pointer-events:none}.tip:hover .tip-body,.tip:focus-visible .tip-body,.tip:focus-within .tip-body{visibility:visible;opacity:1}@media (prefers-reduced-motion: reduce){.tip-body{transition:none}}.chronicle{grid-column:1 / -1}.chronicle-table{width:100%;border-collapse:collapse;margin-top:6px}.chronicle-table th{text-align:left;font-weight:400;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);padding:4px 8px 4px 0}.chronicle-table td{padding:5px 8px 5px 0;border-top:1px dashed var(--line);font-size:14px}.chronicle-table tr:first-child td{border-top:none}.charter-screen{margin-top:12px}.charter-choices{display:flex;flex-direction:column;gap:8px;margin:10px 0}.charter-choice{display:flex;gap:10px;align-items:flex-start;text-align:left;padding:10px 12px;border:1px solid var(--line);background:transparent;color:inherit;cursor:pointer}.charter-choice.picked{border-color:var(--buoy)}.charter-choice strong{display:block;margin-bottom:2px}
