:root{color-scheme:light dark;--font-display: "Bahnschrift SemiCondensed", Bahnschrift, "DIN Condensed", "DIN Alternate", "Avenir Next Condensed", "Roboto Condensed", sans-serif-condensed, "Arial Narrow", system-ui, sans-serif;--font-text: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Mono", Consolas, monospace;--step--1: .85rem;--step-0: 1rem;--step-1: 1.2rem;--step-2: 1.5rem;--step-3: clamp(1.7rem, 4.5vw, 2.1rem);--step-4: clamp(2.3rem, 7vw, 3.4rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--radius: 14px;--radius-sm: 10px;--radius-pill: 999px;--measure: 40rem;--dur: .2s;--ease: cubic-bezier(.22, 1, .36, 1);--bg: #e8efee;--surface: #f6f9f8;--surface-2: #e2eae9;--text: #13202e;--muted: #4c5967;--border: #c9d6d5;--accent: #13202e;--accent-contrast: #f6f9f8;--humans: #a84d06;--humans-soft: #f6dcbf;--agents: #0b6c86;--agents-soft: #c8e9f0;--sea: #e3ecec;--sea-line: rgba(19, 32, 46, .09);--land: #d5c9ad;--land-edge: #b9aa88;--error: #a3261b;--shadow: 0 1px 2px rgba(19,32,46,.06), 0 4px 14px rgba(19,32,46,.06);--shadow-lg: 0 14px 34px rgba(19,32,46,.14);--focus: #0b6c86}@media (prefers-color-scheme: dark){:root{--bg: #06111c;--surface: #0c1b2a;--surface-2: #11253a;--text: #eaf1f6;--muted: #9fb2c3;--border: #1d3348;--accent: #eaf1f6;--accent-contrast: #06111c;--humans: #f5a524;--humans-soft: rgba(245, 165, 36, .16);--agents: #2fd6f0;--agents-soft: rgba(47, 214, 240, .14);--sea: #0a1a29;--sea-line: rgba(255, 255, 255, .07);--land: #173a52;--land-edge: #25506d;--error: #ff8a7a;--shadow: 0 2px 8px rgba(0,0,0,.4);--shadow-lg: 0 16px 40px rgba(0,0,0,.55);--focus: #2fd6f0}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-text);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}@media (prefers-color-scheme: light){body{background-image:linear-gradient(var(--sea-line) 1px,transparent 1px),linear-gradient(90deg,var(--sea-line) 1px,transparent 1px);background-size:56px 56px}}.cta-row{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2)}.btn{--_bg: var(--surface);--_fg: var(--text);display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 1.4rem;border-radius:var(--radius-pill);font:600 1rem/1 var(--font-text);text-decoration:none;background:var(--_bg);color:var(--_fg);border:1px solid var(--border);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease)}.btn--primary{--_bg: var(--accent);--_fg: var(--accent-contrast);border-color:transparent;box-shadow:var(--shadow)}.btn--ghost{background:transparent}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn:active{transform:translateY(0)}.btn:focus-visible{outline:3px solid color-mix(in oklab,var(--accent) 55%,transparent);outline-offset:2px}@media (prefers-reduced-motion: reduce){.btn{transition:none}.btn:hover{transform:none}}.sitefoot{display:flex;gap:1rem;justify-content:center;align-items:center;padding:1.25rem 1rem 1.5rem;font-size:.85rem;color:var(--muted)}.sitefoot a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}.sitefoot a:hover{color:var(--text)}.legal{max-width:720px;margin:0 auto;padding:clamp(1.5rem,5vw,4rem) 1.25rem}.legal h1{font-family:var(--font-display);letter-spacing:-.02em}.legal h2{margin-top:1.6rem;font-size:1.1rem}.legal p{color:var(--muted);line-height:1.7}.legal a{color:var(--accent)}.apex-article{max-width:68ch;margin:0 auto;text-align:left;color:var(--text, inherit);padding:clamp(1.5rem,5vw,3rem) clamp(1rem,5vw,2rem) clamp(2.5rem,8vw,5rem)}.apex-article h2{font-family:var(--font-display, inherit);font-size:clamp(1.35rem,3.4vw,1.7rem);letter-spacing:-.02em;line-height:1.2;margin:0 0 var(--space-3, .75rem)}.apex-article h3{font-size:1.05rem;margin:var(--space-8, 2rem) 0 var(--space-3, .75rem)}.apex-article p,.apex-article li,.apex-article dd{color:var(--muted, inherit);line-height:1.7}.apex-article .apex-article__dek{font-size:clamp(1rem,2.4vw,1.1rem);color:var(--text, inherit)}.apex-article ul{display:grid;gap:var(--space-2, .5rem);margin:0;padding-left:1.15rem}.apex-article__faq{margin:0}.apex-article__faq dt{font-weight:600;margin-top:var(--space-4, 1rem)}.apex-article__faq dd{margin:var(--space-1, .25rem) 0 0}.apex-article__stamp{font-size:.85rem;margin-top:var(--space-8, 2rem)}.apex-article__related{margin-top:var(--space-8, 2rem);padding-top:var(--space-4, 1rem);border-top:1px solid var(--border, rgba(128, 128, 128, .35))}.apex-article__related h3{margin-top:0}.apex-article__related ul{display:flex;flex-wrap:wrap;gap:var(--space-2, .5rem) var(--space-4, 1rem);list-style:none;padding-left:0}.apex-article__related a{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:underline;text-underline-offset:.2em}@media (prefers-reduced-motion: no-preference){.apex-article__related a{transition:opacity .16s ease}}.apex-article__related a:hover{opacity:.75}.app{max-width:calc(var(--measure) + 2 * var(--space-6));margin:0 auto;padding:clamp(var(--space-6),5vw,var(--space-12)) var(--space-4) var(--space-8);display:grid;gap:var(--space-6)}.app__lead,.app__body{display:grid;gap:var(--space-6);align-content:start;min-width:0}.t-humans{color:var(--humans);font-weight:700}.t-agents{color:var(--agents);font-weight:700}.masthead{display:grid;gap:var(--space-3);animation:rise var(--dur) var(--ease) both}.masthead__title{margin:0;font-family:var(--font-display);font-size:var(--step-4);font-weight:700;letter-spacing:-.01em;line-height:1}.masthead__lede{margin:0;color:var(--muted);font-size:var(--step-1);line-height:1.55;max-width:36ch}.chart{margin:0;border-radius:var(--radius);overflow:hidden;background:var(--sea);border:1px solid var(--border);box-shadow:var(--shadow)}.chart svg{display:block;width:100%;height:auto}.chart__grid line{stroke:var(--sea-line);stroke-width:1.5}.chart__land{fill:var(--land);stroke:var(--land-edge);stroke-width:2}.chart__day,.chart__place{fill:var(--muted);font:600 22px var(--font-text)}@media (max-width: 520px){.chart__day,.chart__place{font-size:34px}}.chart__harbour{fill:var(--text)}.chart__route{fill:none;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}.chart__route--humans{stroke:var(--humans)}.chart__route--agents{stroke:var(--agents)}.chart__route{stroke-dasharray:2400;stroke-dashoffset:2400;animation:draw 1.4s var(--ease) .12s forwards}.chart__ahead{fill:none;stroke-width:3;stroke-dasharray:8 12;opacity:.45}.chart__ahead--humans{stroke:var(--humans)}.chart__ahead--agents{stroke:var(--agents)}.chart__ship{stroke:var(--surface);stroke-width:4}.chart__ship--humans{fill:var(--humans)}.chart__ship--agents{fill:var(--agents)}.chart__split{fill:none;stroke:var(--text);stroke-width:2.5;stroke-dasharray:4 5}.chart__legend{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--border);background:var(--surface)}.crewchip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:var(--step--1);color:var(--text)}.crewchip b{font-weight:800;letter-spacing:.04em;text-transform:uppercase}.crewchip--humans{background:var(--humans-soft)}.crewchip--humans b{color:var(--humans)}.crewchip--agents{background:var(--agents-soft)}.crewchip--agents b{color:var(--agents)}.tally{margin:calc(-1 * var(--space-3)) 0 0;color:var(--muted);font-size:var(--step--1)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(var(--space-4),4vw,var(--space-6));box-shadow:var(--shadow);display:grid;gap:var(--space-3);animation:rise var(--dur) var(--ease) both}.panel>*{margin:0}.kicker{font:700 var(--step--1)/1.3 var(--font-text);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.section-title{font-family:var(--font-display);font-size:var(--step-2);font-weight:700;letter-spacing:-.01em}.fineprint{color:var(--muted);font-size:var(--step--1);line-height:1.5}.error{color:var(--error);font-weight:600}.yesterday__line,.log__line{font-family:var(--font-display);font-size:var(--step-1);font-weight:600;line-height:1.35;letter-spacing:-.01em}.pair{display:grid;gap:var(--space-2)}.pair__item{margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);line-height:1.5;border-left:4px solid}.pair__item--humans{background:var(--humans-soft);border-color:var(--humans)}.pair__item--agents{background:var(--agents-soft);border-color:var(--agents)}.chapter__title{font-family:var(--font-display);font-size:var(--step-3);font-weight:700;line-height:1.1;letter-spacing:-.01em}.chapter__scene{font-size:var(--step-1);line-height:1.6}.chapter__other summary{cursor:pointer;color:var(--agents);font-weight:600;min-height:44px;display:flex;align-items:center}.chapter__other p{margin:0;color:var(--muted);line-height:1.55}.options{display:grid;gap:var(--space-3);margin-top:var(--space-2)}.option{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-3);min-height:60px;padding:var(--space-3) var(--space-4);text-align:left;font:600 var(--step-0)/1.35 var(--font-text);color:var(--text);background:var(--surface-2);border:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--dur) var(--ease),border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.option:hover:not(:disabled){border-color:var(--humans);transform:translateY(-1px)}.option:active:not(:disabled){transform:translateY(0)}.option:disabled{cursor:default;opacity:.62}.option--mine,.option--mine:disabled{opacity:1;border-color:var(--humans);background:var(--humans-soft)}.option--pending{animation:pulse .9s var(--ease) infinite alternate}.option__key{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;font:800 var(--step--1)/1 var(--font-text);background:var(--surface);color:var(--muted);border:1px solid var(--border)}.option--mine .option__key{background:var(--humans);color:var(--surface);border-color:transparent}.option__tag{font-size:var(--step--1);color:var(--humans);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.split__lead{font-family:var(--font-display);font-size:var(--step-1);font-weight:600;line-height:1.4;letter-spacing:-.01em}.split__grid{display:grid;gap:var(--space-4)}.crowd{display:grid;gap:var(--space-2)}.crowd__name{margin:0}.crowd--humans .crowd__name b{color:var(--humans)}.crowd--agents .crowd__name b{color:var(--agents)}.crowd__empty{margin:0;color:var(--muted);font-size:var(--step--1)}.bars{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.bar{display:grid;grid-template-columns:1fr 3.2rem;grid-template-areas:"label pct" "track track";gap:var(--space-1) var(--space-2);font-size:var(--step--1)}.bar__label{grid-area:label}.bar__pct{grid-area:pct;text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.bar__track{grid-area:track;height:10px;border-radius:var(--radius-pill);background:var(--surface-2);overflow:hidden}.bar__fill{display:block;height:100%;border-radius:inherit;transition:width .6s var(--ease)}.crowd--humans .bar__fill{background:var(--humans)}.crowd--agents .bar__fill{background:var(--agents)}.sided{font-family:var(--font-display);font-size:var(--step-2);font-weight:600;letter-spacing:-.01em;line-height:1.3;padding-top:var(--space-2);border-top:1px solid var(--border)}.sharecard__frame{border-radius:var(--radius-sm);overflow:hidden;background:#06111c;aspect-ratio:1080 / 1350;max-width:420px;width:100%;justify-self:center;box-shadow:var(--shadow-lg)}.sharecard__frame img{display:block;width:100%;height:auto;animation:fade .3s var(--ease) both}.sharecard__placeholder{width:100%;height:100%;background:linear-gradient(110deg,#0b1d2e 30%,#13293d,#0b1d2e 70%);background-size:200% 100%;animation:shimmer 1.2s linear infinite}.sharecard__text{color:var(--muted);font-size:var(--step--1);line-height:1.5;overflow-wrap:anywhere}.log__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-4)}.log__item{display:grid;gap:var(--space-1);padding-left:var(--space-4);border-left:2px solid var(--border)}.log__item>*{margin:0}.log__counts{color:var(--muted);font-size:var(--step--1)}.invite p{line-height:1.55;color:var(--muted)}.invite__code{display:block;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--surface-2);font:.85rem/1.5 var(--font-mono);overflow-wrap:anywhere;color:var(--text)}.state{text-align:center;justify-items:center}.skeleton{display:grid;gap:var(--space-3)}.skeleton>div{border-radius:var(--radius);background:var(--surface-2);animation:pulse 1s ease-in-out infinite alternate}.skeleton__chart{aspect-ratio:1000 / 600}.skeleton__line{height:1.2rem}.skeleton__line--short{width:60%}.toast{position:fixed;left:50%;bottom:max(var(--space-6),env(safe-area-inset-bottom));transform:translate(-50%);max-width:calc(100vw - 2 * var(--space-4));padding:var(--space-3) var(--space-4);border-radius:var(--radius-pill);background:var(--text);color:var(--bg);font-weight:600;font-size:var(--step--1);box-shadow:var(--shadow-lg);pointer-events:none;opacity:0;transition:opacity var(--dur) var(--ease)}.toast:not(:empty){opacity:1}.adslot{min-height:0}.sitefoot{flex-wrap:wrap}.btn:disabled{opacity:.5;cursor:default;transform:none}.btn--primary{--_bg: var(--text);--_fg: var(--bg)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media (min-width: 640px){.split__grid,.pair{grid-template-columns:1fr 1fr}}@media (orientation: landscape) and (max-height: 560px) and (min-width: 640px){.app{max-width:none;grid-template-columns:minmax(0,5fr) minmax(0,6fr);column-gap:var(--space-6);align-items:start}.app__lead{gap:var(--space-4)}.masthead__title{font-size:var(--step-3)}.masthead__lede{font-size:var(--step-0);max-width:none}.tally{margin-top:calc(-1 * var(--space-2))}.app__body .split__grid,.app__body .pair{grid-template-columns:1fr}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes pulse{0%{opacity:1}to{opacity:.6}}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.masthead,.panel,.sharecard__frame img,.option--pending,.skeleton>div,.sharecard__placeholder{animation:none}.chart__route{animation:none;stroke-dashoffset:0}.option,.bar__fill,.toast{transition:none}}
