:root{--bg:#0a0e14;--surface:#111820;--surface2:#1a2433;--border:#1e2d3d;--text:#c9d1d9;--text-muted:#6b7a8d;--accent:#e8873a;--accent2:#3aa6e8;--red:#e85555;--green:#3ae87a;--font:"Inter", system-ui, -apple-system, sans-serif;--mono:"JetBrains Mono", "Fira Code", monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--bg);color:var(--text);font-family:var(--font);min-height:100vh;line-height:1.6}a{color:var(--accent2);text-decoration:none}a:hover{text-decoration:underline}.site-header{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#0a0e14eb;align-items:center;gap:1rem;height:56px;padding:0 1.5rem;display:flex;position:sticky;top:0}.brand{color:var(--text);letter-spacing:-.02em;font-size:1.05rem;font-weight:700}.brand span{color:var(--accent)}.brand small{color:var(--text-muted);margin-left:4px;font-size:.68rem;font-weight:400}.site-header nav{gap:1.5rem;margin-left:auto;display:flex}.site-header nav a{color:var(--text-muted);font-size:.875rem}.site-header nav a:hover{color:var(--text)}.hero{max-width:900px;margin:0 auto;padding:5rem 1.5rem 3rem}.hero-tag{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);border-radius:3px;margin-bottom:1.5rem;padding:3px 10px;font-size:.68rem;font-weight:700;display:inline-block}.hero h1{letter-spacing:-.03em;color:#e6edf3;margin-bottom:1.25rem;font-size:clamp(2rem,5vw,3.2rem);font-weight:700;line-height:1.15}.hero h1 em{color:var(--accent);font-style:normal}.hero p{color:var(--text-muted);max-width:660px;margin-bottom:2rem;font-size:1.05rem}.hero-premise{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);color:var(--text);border-radius:0 6px 6px 0;margin-bottom:2.5rem;padding:1.25rem 1.5rem;font-size:.95rem}.hero-premise strong{color:var(--accent)}.wrap{max-width:960px;margin:0 auto;padding:0 1.5rem}.section{max-width:960px;margin:0 auto;padding:3rem 1.5rem}.section-label{letter-spacing:.1em;text-transform:uppercase;color:var(--accent2);margin-bottom:.5rem;font-size:.68rem;font-weight:700}.section h2{color:#e6edf3;margin-bottom:.5rem;font-size:1.4rem;font-weight:700}.section p.sub{color:var(--text-muted);margin-bottom:2rem;font-size:.9rem}.calc-grid{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;display:grid}@media (max-width:640px){.calc-grid{grid-template-columns:1fr}}.field{flex-direction:column;gap:.4rem;display:flex}.field label{color:var(--text-muted);font-size:.8rem;font-weight:500}.field select,.field input{background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:.9rem;font-family:var(--font);appearance:none;border-radius:6px;outline:none;width:100%;padding:.6rem .8rem}.field select:focus,.field input:focus{border-color:var(--accent2)}.btn-calc{background:var(--accent);color:#0a0e14;cursor:pointer;border:none;border-radius:6px;margin-top:.5rem;padding:.75rem 2rem;font-size:.95rem;font-weight:700;transition:opacity .15s}.btn-calc:hover{opacity:.85}.btn-calc:disabled{opacity:.4;cursor:not-allowed}.result-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-top:2rem;padding:1.5rem}.result-panel h3{color:var(--text-muted);margin-bottom:1.25rem;font-size:1rem;font-weight:500}.result-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stat{background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:1rem}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.35rem;font-size:.7rem}.stat-value{color:#e6edf3;font-size:1.5rem;font-weight:700;font-family:var(--mono);letter-spacing:-.02em}.stat-unit{color:var(--text-muted);margin-top:.2rem;font-size:.72rem}.stat.highlight .stat-value{color:var(--accent)}.stat.danger .stat-value{color:var(--red)}.result-meta{border-top:1px solid var(--border);color:var(--text-muted);padding-top:1rem;font-size:.8rem}.route-viz{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.port-badge{background:var(--surface2);border:1px solid var(--border);border-radius:4px;padding:4px 10px;font-size:.8rem;font-weight:600}.route-arrow{color:var(--text-muted);font-size:.85rem}.route-via{color:var(--text-muted);align-items:center;gap:.3rem;font-size:.75rem;display:flex}.route-via.rerouted{color:var(--red)}.route-via.baseline{color:var(--green)}.annual-toggle{align-items:center;gap:.75rem;margin-top:1.25rem;display:flex}.annual-toggle button{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;padding:4px 12px;font-size:.8rem}.annual-toggle button.active{background:var(--surface2);color:var(--text);border-color:var(--accent2)}.evidence-list{flex-direction:column;gap:1rem;display:flex}.evidence-item{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:1rem 1.25rem}.evidence-item h4{color:var(--text);margin-bottom:.3rem;font-size:.9rem}.evidence-item p{color:var(--text-muted);margin-bottom:.5rem;font-size:.82rem}.evidence-badge{letter-spacing:.08em;text-transform:uppercase;border-radius:3px;margin-right:.4rem;padding:2px 7px;font-size:.68rem;font-weight:700}.badge-primary{color:var(--accent2);background:#1e3a5f}.badge-analysis{color:var(--accent);background:#3a2a0e}.badge-research{color:var(--green);background:#1e3a2a}.error-msg{color:var(--red);background:#2a1414;border:1px solid #4a2020;border-radius:6px;margin-top:1rem;padding:.75rem 1rem;font-size:.85rem}.loading{color:var(--text-muted);margin-top:1rem;font-size:.9rem;animation:1.5s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.divider{border:none;border-top:1px solid var(--border);margin:2rem 0}.site-footer{border-top:1px solid var(--border);text-align:center;color:var(--text-muted);padding:2rem 1.5rem;font-size:.8rem}.data-note{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent2);color:var(--text-muted);border-radius:0 6px 6px 0;margin-top:1.25rem;padding:.75rem 1rem;font-size:.82rem}.cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.5rem}.card h3{color:#e6edf3;margin-bottom:.5rem;font-size:1rem}.card p{color:var(--text-muted);font-size:.85rem}
