.hero-title{font-family:var(--font-display);letter-spacing:-.02em;font-optical-sizing:auto;font-size:clamp(3rem,8vw,5.25rem);font-weight:600;line-height:.95}.hero-title em{color:var(--color-accent);font-style:italic;font-weight:500}.section-eyebrow{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent);font-size:.75rem}.section-title{font-family:var(--font-display);letter-spacing:-.015em;color:var(--color-foam);font-optical-sizing:auto;font-size:clamp(1.9rem,4vw,2.6rem);font-weight:600;line-height:1.05}.section-title-lg{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-foam);font-optical-sizing:auto;font-size:clamp(2.4rem,6vw,3.5rem);font-weight:600;line-height:1}.section-title em,.section-title-lg em{color:var(--color-accent);font-style:italic;font-weight:500}.hero-bg{background:radial-gradient(60% 55% at 78% 12%, color-mix(in srgb, var(--color-accent) 12%, transparent), transparent 70%), radial-gradient(50% 50% at 8% 90%, color-mix(in srgb, var(--color-accent-deep) 16%, transparent), transparent 70%), var(--color-stage)}.cta-bg{background:radial-gradient(70% 120% at 50% 0%, color-mix(in srgb, var(--color-accent) 10%, transparent), transparent 60%), var(--color-surface)}.stack{display:grid}.stack>*{grid-area:1/1}.instrument{border:1px solid var(--color-hairline-strong);background:radial-gradient(120% 90% at 50% 0%, color-mix(in srgb, var(--color-accent) 8%, transparent), transparent 60%), var(--color-panel);border-radius:1.5rem;padding:1.75rem;box-shadow:0 30px 80px -40px #000000e6}.compass-label{fill:var(--color-mist);font-family:var(--font-mono);font-size:15px;font-weight:600}.axis-label{fill:var(--color-mist);font-family:var(--font-mono);letter-spacing:.12em;font-size:12px}.readout-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-mist);font-size:.65rem}.readout-value{font-family:var(--font-mono);color:var(--color-foam);margin-top:.25rem;font-size:1.125rem}.readout-unit{color:var(--color-mist);font-size:.875rem}.wind-vector{transform-box:view-box;transform-origin:120px 120px;transform:rotate(8deg)}.verdict-badge{font-family:var(--font-mono);letter-spacing:.14em;border-radius:999px;justify-content:center;place-self:center;align-items:center;padding:.35rem 1rem;font-size:.95rem;font-weight:700;display:inline-flex}.verdict-badge.go{color:var(--color-go);background:color-mix(in srgb, var(--color-go) 14%, transparent);border:1px solid color-mix(in srgb, var(--color-go) 40%, transparent)}.verdict-badge.caution{color:var(--color-caution);background:color-mix(in srgb, var(--color-caution) 14%, transparent);border:1px solid color-mix(in srgb, var(--color-caution) 40%, transparent)}.verdict-badge.nogo{color:var(--color-nogo);background:color-mix(in srgb, var(--color-nogo) 14%, transparent);border:1px solid color-mix(in srgb, var(--color-nogo) 40%, transparent)}.pulse-dot{background:var(--color-accent);width:.5rem;height:.5rem;box-shadow:0 0 0 0 color-mix(in srgb, var(--color-accent) 70%, transparent);border-radius:999px;display:inline-block}.marquee-mask{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.marquee{white-space:nowrap;align-items:center;gap:2.5rem;width:max-content;display:flex}.zone-tick{background:color-mix(in srgb, var(--color-accent) 60%, transparent);border-radius:999px;width:.4rem;height:.4rem;display:inline-block}.input-card{border:1px solid var(--color-hairline);background:var(--color-panel);border-radius:1rem;flex-direction:column;padding:1.6rem;display:flex}.input-tag{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 12%, transparent);border:1px solid color-mix(in srgb, var(--color-accent) 34%, transparent);border-radius:999px;align-self:flex-start;padding:.2rem .65rem;font-size:.65rem;font-weight:700}.input-title{color:var(--color-foam);margin-top:1rem;font-size:1.15rem;font-weight:700}.input-body{color:var(--color-mist);margin-top:.55rem;font-size:.925rem;line-height:1.6}.combine-op{font-family:var(--font-mono);color:color-mix(in srgb, var(--color-accent) 70%, transparent);place-items:center;font-size:1.5rem;display:grid}.tide-card{border:1px solid var(--color-hairline-strong);background:var(--color-panel);border-radius:1.25rem;padding:1.5rem}.tide-card.danger{border-color:color-mix(in srgb, var(--color-nogo) 35%, transparent);background:radial-gradient(100% 80% at 50% 100%, color-mix(in srgb, var(--color-nogo) 9%, transparent), transparent 65%), var(--color-panel)}.data-row{border:1px solid var(--color-hairline);background:var(--color-panel);border-radius:.9rem;gap:1rem;padding:1.1rem 1.25rem;display:flex}.data-tag{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--tag);background:color-mix(in srgb, var(--tag) 14%, transparent);border:1px solid color-mix(in srgb, var(--tag) 38%, transparent);border-radius:999px;flex-shrink:0;align-self:flex-start;padding:.25rem .75rem;font-size:.7rem;font-weight:700}.tide-cycle .phase-b{opacity:0}@media (prefers-reduced-motion:no-preference){.pulse-dot{animation:2.2s ease-out infinite pulse-ring}.wind-vector{animation:1.6s cubic-bezier(.2,.8,.2,1) both wind-settle}.tide-cycle .phase-a{animation:9s ease-in-out infinite phase-a}.tide-cycle .phase-b{animation:9s ease-in-out infinite phase-b}.marquee{animation:34s linear infinite marquee}}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--color-accent) 60%, transparent)}70%{box-shadow:0 0 0 8px #0000}to{box-shadow:0 0 #0000}}@keyframes wind-settle{0%{transform:rotate(-46deg)}60%{transform:rotate(13deg)}to{transform:rotate(8deg)}}@keyframes phase-a{0%,44%{opacity:1}48%,96%{opacity:0}to{opacity:1}}@keyframes phase-b{0%,50%{opacity:0}54%,92%{opacity:1}96%,to{opacity:0}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
