.shell{isolation:isolate;flex-direction:column;min-height:100vh;display:flex;position:relative}.shell:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(880px 460px at 10% -8%, color-mix(in srgb, var(--color-accent) 18%, transparent), transparent 58%), radial-gradient(640px 380px at 100% 0%, color-mix(in srgb, var(--color-accent) 9%, transparent), transparent 52%);position:fixed;inset:0}.site-chrome{z-index:10;-webkit-backdrop-filter:blur(18px)saturate(1.25);backdrop-filter:blur(18px)saturate(1.25);background:color-mix(in srgb, var(--color-bg) 70%, transparent);position:sticky;top:0;box-shadow:inset 0 -1px #ffffff12}.shell main{width:min(100%, var(--max-width));padding:var(--space-xl) var(--space-lg) var(--space-2xl);flex:1;margin:0 auto}.site-header{justify-content:space-between;align-items:center;gap:var(--space-md);width:min(100%, var(--max-width));padding:var(--space-lg) var(--space-lg) 0;margin:0 auto;display:flex}.brand{align-items:center;gap:var(--space-sm);color:var(--color-text);font-family:var(--font-display);letter-spacing:-.03em;cursor:pointer;background:0 0;border:0;padding:0;font-size:1.28rem;display:inline-flex}.brand-mark{background:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--color-accent) 28%, transparent), color-mix(in srgb, var(--color-accent) 8%, transparent) 68%);width:34px;height:34px;color:var(--color-accent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-accent) 28%, transparent);border-radius:999px;place-items:center;display:grid}.site-header nav{flex-wrap:wrap;justify-content:flex-end;gap:2px;display:flex}.nav-link{color:var(--color-muted);cursor:pointer;transition:background .16s var(--ease-out), color .16s var(--ease-out);background:0 0;border:0;border-radius:999px;padding:5px 9px;font-size:.92rem}.nav-link:hover{color:var(--color-text);background:color-mix(in srgb, var(--color-surface-2) 80%, transparent)}.nav-link.is-active{background:color-mix(in srgb, var(--color-accent) 16%, var(--color-surface-2));color:var(--color-text)}.page{gap:var(--space-lg);flex-direction:column;display:flex}.hero,.page-intro{gap:var(--space-md);max-width:40rem;padding-bottom:var(--space-sm);flex-direction:column;display:flex}.eyebrow{align-items:center;gap:var(--space-xs);color:var(--color-accent);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.78rem;display:inline-flex}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-weight:500;line-height:1.12}h1{font-size:clamp(2.5rem,6.2vw,4.6rem)}h2{font-size:1.45rem}h3{font-size:1.2rem}.lede,.surface-card p,.charter-list{color:var(--color-muted);margin:0}.hero-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.hero-actions .button-primary,.hero-actions .button-ghost{align-items:center;gap:var(--space-xs);display:inline-flex}.ship-card{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;transition:transform .16s var(--ease-out), box-shadow .16s var(--ease-out);border:0}.ship-card:hover{box-shadow:var(--shadow-lift), inset 0 1px 0 #ffffff12}.ship-card:active{transform:translateY(1px)}.ship-card .meta{color:var(--color-accent)}.ship-card h3{margin:0}.home-when-sample,.surface-card .home-when-sample,.ship-card .home-when-sample{min-width:0;max-width:100%;color:var(--color-accent);font:inherit;overflow-wrap:anywhere;word-break:break-word;-webkit-hyphens:none;hyphens:none;text-align:inherit;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--color-accent) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--color-accent) 45%, transparent);text-underline-offset:.18em;background:0 0;border:0;margin:0;padding:0;font-size:.88rem;line-height:1.45;display:block}.home-when-sample code{font:inherit;color:inherit;overflow-wrap:inherit;word-break:inherit}a.home-when-sample,button.home-when-sample{cursor:pointer}:is(.surface-card:has(.home-when-sample),.ship-card:has(.home-when-sample)){min-width:0;max-width:100%}.ship-detail p{margin:0}.idea-form{gap:var(--space-md);flex-direction:column;display:flex}.field{gap:var(--space-xs);color:var(--color-text);flex-direction:column;display:flex}.field span:first-child{color:var(--color-muted);font-size:.88rem}.field-input{background:var(--color-bg-elevated);width:100%;color:var(--color-text);border-radius:var(--radius-sm);font:inherit;border:1px solid #ffffff1f;padding:.7rem .85rem}.field-textarea{resize:vertical;min-height:8rem}.field-input:focus-visible{border-color:var(--color-accent)}.field-error{color:color-mix(in srgb, #ff8b7a 80%, var(--color-text));font-size:.88rem}.button-primary,.button-ghost{cursor:pointer;transition:transform .16s var(--ease-out), filter .16s var(--ease-out), box-shadow .16s var(--ease-out);border:0;border-radius:999px;padding:.75rem 1.15rem}.button-primary{background:var(--color-accent);color:var(--color-ink)}.button-primary:hover{filter:brightness(1.06)}.button-ghost{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-card)}.button-ghost:hover{box-shadow:var(--shadow-lift)}.button-primary:active,.button-ghost:active{transform:translateY(1px)}.surface-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-card);gap:var(--space-sm);flex-direction:column;display:flex}.card-kicker,.meta{color:var(--color-muted);margin:0;font-size:.88rem}.metric-grid,.agent-grid{gap:var(--space-md);grid-template-columns:1fr;display:grid}.metric-card strong{font-family:var(--font-display);letter-spacing:-.03em;color:var(--color-accent);font-size:2.15rem}.metric-card span:last-child{color:var(--color-muted)}.icon-well{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-accent) 16%, transparent);width:36px;height:36px;color:var(--color-accent);place-items:center;display:grid}.stack{gap:var(--space-md);flex-direction:column;display:flex}.charter-list{gap:var(--space-sm);flex-direction:column;padding-left:1.2rem;display:flex}.notes-grid{gap:var(--space-md);grid-template-columns:1fr;display:grid}.notes-grid .ship-card{margin:0}.fit-chip{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-self:flex-start;margin:0;padding:.15rem .55rem;font-size:.75rem;display:inline-flex}.fit-high{background:color-mix(in srgb, var(--color-fit-high) 18%, transparent);color:var(--color-fit-high)}.fit-medium{background:color-mix(in srgb, var(--color-fit-medium) 16%, transparent);color:var(--color-fit-medium)}.fit-low{background:color-mix(in srgb, var(--color-fit-low) 16%, transparent);color:var(--color-fit-low)}.status-open,.status-standing{background:color-mix(in srgb, var(--color-fit-high) 18%, transparent);color:var(--color-fit-high)}.status-answered,.status-amended{background:color-mix(in srgb, var(--color-fit-medium) 16%, transparent);color:var(--color-fit-medium)}.status-refused,.status-deferred,.status-retired{background:color-mix(in srgb, var(--color-fit-low) 16%, transparent);color:var(--color-fit-low)}.page-intro .hero-actions{margin-top:var(--space-xs)}.notes-decision{box-shadow:var(--shadow-card), inset 3px 0 0 var(--color-accent)}.notes-decision p:last-child{color:var(--color-text)}.when-controls{gap:var(--space-md);grid-template-columns:1fr;display:grid}.when-duration{border:0;min-width:0;margin:0;padding:0}.when-duration legend{color:var(--color-muted);padding:0;font-size:.88rem}.when-duration-chips{margin-top:var(--space-xs);flex-wrap:wrap;gap:2px;display:flex}.when-duration-chip{background:color-mix(in srgb, var(--color-accent) 12%, var(--color-surface-2));min-width:2.65rem;color:var(--color-text);cursor:pointer;font:inherit;border:0;border-radius:999px;padding:.4rem .55rem;font-size:.8rem}.when-duration-chip.is-selected{background:var(--color-accent);color:var(--color-ink)}.when-cities{gap:var(--space-sm);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.when-cities li{align-items:center;gap:var(--space-sm);background:color-mix(in srgb, var(--color-accent) 14%, var(--color-surface-2));border-radius:999px;padding:.45rem .75rem;display:inline-flex}.when-person{flex-direction:column;gap:1px;min-width:0;display:flex}.when-city-zone{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.68rem}.when-name{border:0;border-bottom:1px solid color-mix(in srgb, var(--color-accent) 40%, transparent);color:var(--color-text);width:8.5rem;font:inherit;background:0 0;border-radius:0;padding:0 0 1px}.when-name::placeholder{color:var(--color-text);opacity:.85}.when-name:focus-visible{border-bottom-color:var(--color-accent);outline:none}.when-city-remove{color:var(--color-muted);cursor:pointer;background:0 0;border:0;padding:0}.when-city-remove:disabled{opacity:.4;cursor:not-allowed}.when-legend{gap:var(--space-sm);flex-wrap:wrap;display:flex}.when-swatch{align-items:center;gap:var(--space-xs);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:.15rem .55rem;font-size:.75rem;display:inline-flex}.when-swatch.when-ok,.when-cell.when-ok{background:color-mix(in srgb, var(--color-when-ok) 18%, transparent);color:var(--color-when-ok)}.when-swatch.when-edge,.when-cell.when-edge{background:color-mix(in srgb, var(--color-when-edge) 16%, transparent);color:var(--color-when-edge)}.when-swatch.when-night,.when-cell.when-night{background:color-mix(in srgb, var(--color-when-night) 14%, transparent);color:var(--color-when-night)}.when-grid{flex-direction:column;gap:2px;display:flex;overflow-x:auto}.when-grid-row{grid-template-columns:minmax(7rem,9.5rem) repeat(24,minmax(1.65rem,1fr));gap:2px;min-width:48rem;display:grid}.when-grid-label,.when-grid-hour{color:var(--color-muted);align-self:center;font-size:.72rem}.when-grid-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.when-grid-hour{text-align:center}.when-cell{cursor:pointer;border:0;border-radius:6px;min-height:2rem;padding:0;font-size:.68rem}.when-cell.is-selected{background:var(--color-accent);color:var(--color-ink)}@media (width>=720px){.when-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.when-add-city{grid-column:1/-1}}.site-footer{width:min(100%, var(--max-width));padding:0 var(--space-lg) var(--space-xl);color:var(--color-muted);margin:0 auto;font-size:.88rem}.inline-link{color:var(--color-accent);text-underline-offset:.15em}@media (width>=720px){.metric-grid,.agent-grid,.notes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=960px){.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=520px){.site-header{flex-direction:column;align-items:flex-start}.site-header nav{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.nav-link,.button-primary,.button-ghost,.ship-card{transition:none}}:root{--color-bg:#0e1110;--color-bg-elevated:#141917;--color-surface:#171c1a;--color-surface-2:#1e2522;--color-text:#e8ebe4;--color-muted:#8b938a;--color-accent:#c6f54d;--color-accent-dim:#8aaa2e;--color-fit-high:#c6f54d;--color-fit-medium:#e2c36a;--color-fit-low:#8b938a;--color-when-ok:#c6f54d;--color-when-edge:#e2c36a;--color-when-night:#8b938a;--color-ink:#070908;--shadow-card:0 18px 40px #00000061, inset 0 1px 0 #ffffff12;--shadow-lift:0 22px 48px #00000080;--focus-ring:0 0 0 3px color-mix(in srgb, var(--color-accent) 55%, transparent);--ease-out:cubic-bezier(.22, 1, .36, 1);--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--space-xs:6px;--space-sm:10px;--space-md:16px;--space-lg:28px;--space-xl:48px;--space-2xl:80px;--font-display:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--font-body:"Segoe UI", system-ui, -apple-system, sans-serif;--max-width:1120px}*{box-sizing:border-box}html,body,#root{min-height:100%}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);letter-spacing:.01em;margin:0;line-height:1.6}::selection{background:color-mix(in srgb, var(--color-accent) 38%, var(--color-ink));color:var(--color-text)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;box-shadow:var(--focus-ring)}a{color:inherit}button{font:inherit}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:var(--space-md);top:var(--space-md);z-index:20;background:var(--color-accent);color:var(--color-ink);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm)}
