:root{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-paper:oklch(16% .022 45);--color-paper-2:oklch(20% .026 45);--color-paper-3:oklch(25% .03 45);--color-rule:oklch(34% .03 45);--color-rule-2:oklch(46% .03 50);--color-muted:oklch(70% .03 70);--color-neutral:oklch(80% .036 74);--color-ink-2:oklch(88% .04 78);--color-ink:oklch(95% .04 82);--color-accent:oklch(66% .175 40);--color-accent-ink:oklch(74% .16 48);--color-on-accent:oklch(97% .02 80);--color-focus:oklch(80% .16 70);--color-good:oklch(76% .11 135);--color-scrim:oklch(9% .02 45/.62);--color-star:oklch(92% .05 80/.4);--color-star-dim:oklch(80% .04 60/.22);--color-sea:oklch(36% .05 225);--color-sea-rim:oklch(21% .04 235);--color-land:oklch(80% .1 78);--color-coast:oklch(52% .11 42);--color-graticule:oklch(45% .05 225);--color-atmosphere:oklch(74% .15 60);--color-pin:oklch(18% .03 45);--color-pin-edge:oklch(95% .04 82);--color-truth:oklch(62% .19 32);--color-arc:oklch(84% .13 82);--color-rival:oklch(78% .11 300);--font-display:"League Spartan", "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--font-body:"IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--font-mono:"Space Mono", ui-monospace, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--text-display:clamp(2.5rem, 4.2vw + .75rem, 4.25rem);--tracking-display:-.02em;--tracking-tight:-.01em;--tracking-label:.08em;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--radius-card:14px;--radius-input:10px;--radius-pill:999px;--rule-card:1px;--shadow-card:0 12px 32px -12px oklch(5% .02 45/.85);--shadow-lift:0 18px 40px -14px oklch(5% .02 45/.9);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--z-raised:10;--z-sticky:200;--z-modal:400;--z-toast:500;--bar-height:56px;--color-moon:oklch(88% .09 75)}html body{background-image:radial-gradient(1.2px 1.2px at 23px 41px, var(--color-star) 50%, transparent 51%), radial-gradient(1px 1px at 131px 97px, var(--color-star-dim) 50%, transparent 51%), radial-gradient(circle at calc(100% - 7rem) 7rem, var(--color-moon) 3.2rem, oklch(80% .12 65/.2) 3.4rem, transparent 10rem), linear-gradient(to bottom, transparent 55%, oklch(24% .06 40/.55));background-repeat:repeat,repeat,no-repeat,no-repeat;background-size:211px 197px,173px 151px,100% 100%,100% 100%}.leaves{z-index:0;pointer-events:none;width:100vw;height:100dvh;position:fixed;inset:0}html .foot:after{content:" · happy harvest 🍂"}*,:before,:after{box-sizing:border-box}html,body{overflow-x:clip}html{-webkit-text-size-adjust:100%}body{background-color:var(--color-paper);background-image:radial-gradient(1.2px 1.2px at 23px 41px, var(--color-star) 50%, transparent 51%), radial-gradient(1px 1px at 131px 97px, var(--color-star-dim) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 197px 11px, var(--color-star) 50%, transparent 51%), radial-gradient(1px 1px at 61px 163px, var(--color-star-dim) 50%, transparent 51%);min-height:100dvh;color:var(--color-ink-2);font-family:var(--font-body);font-size:var(--text-base);-webkit-font-smoothing:antialiased;background-size:211px 197px,173px 151px,263px 239px,149px 181px;background-attachment:fixed;margin:0;line-height:1.5}button{font:inherit;color:inherit}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.bar{z-index:var(--z-sticky);height:var(--bar-height);padding:0 var(--space-lg);background:var(--color-paper);border-bottom:2px solid var(--color-ink);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.wordmark{font-family:var(--font-display);font-weight:800;font-size:var(--text-xl);letter-spacing:var(--tracking-display);text-transform:uppercase;color:var(--color-ink)}.wordmark:after{content:".";color:var(--color-accent)}.bar__me{align-items:center;gap:var(--space-sm);min-width:0;display:flex}.conn{border-radius:var(--radius-pill);background:var(--color-rule-2);flex:none;width:8px;height:8px}.conn[data-state=open]{background:var(--color-good)}.conn[data-state=closed]{background:var(--color-accent)}.name-chip{align-items:center;gap:var(--space-xs);max-width:14rem;padding:var(--space-2xs) var(--space-sm);border:var(--rule-card) solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-paper-2);font-weight:500;font-size:var(--text-sm);white-space:nowrap;cursor:pointer;transition:border-color var(--dur-micro) var(--ease-out);display:inline-flex}.name-chip span{text-overflow:ellipsis;overflow:hidden}.name-chip svg{fill:none;stroke:currentColor;stroke-width:1.5px;flex:none;width:12px;height:12px}.name-chip:hover{border-color:var(--color-rule-2)}.name-chip:disabled{opacity:.5;cursor:default}.stage{min-height:calc(100dvh - var(--bar-height));grid-template-columns:minmax(0,30rem) minmax(0,1fr);display:grid;position:relative}.globe{width:100%;height:calc(100dvh - var(--bar-height));top:var(--bar-height);touch-action:none;cursor:grab;grid-area:1/2;display:block;position:sticky}.globe:active{cursor:grabbing}body[data-view=play] .globe{cursor:crosshair}body[data-view=play] .stage{grid-template-columns:minmax(0,1fr)}body[data-view=play] .globe{grid-column:1}.lobby{padding:var(--space-2xl) var(--space-xl) var(--space-xl);gap:var(--space-lg);flex-direction:column;grid-area:1/1;min-width:0;display:flex}body:not([data-view=lobby]) .lobby{display:none}.lobby__title{font-family:var(--font-display);font-weight:800;font-size:var(--text-display);letter-spacing:var(--tracking-display);color:var(--color-ink);overflow-wrap:anywhere;min-width:0;margin:0;line-height:.98}.lobby__lede{max-width:34ch;color:var(--color-neutral);font-size:var(--text-lg);margin:0}.actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.btn{justify-content:center;align-items:center;gap:var(--space-xs);min-height:44px;padding:0 var(--space-lg);border-radius:var(--radius-pill);border:2px solid var(--color-ink);white-space:nowrap;cursor:pointer;transition:transform var(--dur-micro) var(--ease-out), background-color var(--dur-micro) var(--ease-out);font-weight:600;display:inline-flex}.btn--primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.btn--primary:hover{background:var(--color-accent-ink);border-color:var(--color-accent-ink);transform:translateY(-1px)}.btn--ghost{color:var(--color-ink);background:0 0}.btn--ghost:hover{background:var(--color-paper-3);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn[aria-busy=true]{cursor:progress}.btn--small{min-height:36px;padding:0 var(--space-md);font-size:var(--text-sm);border-width:1.5px}kbd{font-family:var(--font-mono);font-size:var(--text-xs);border:1px solid var(--color-rule-2);color:var(--color-muted);border-radius:4px;padding:0 4px}.link{color:var(--color-accent-ink);text-underline-offset:3px;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.searching{align-items:center;gap:var(--space-xs);color:var(--color-neutral);margin:0;display:flex}.searching__dot{border-radius:var(--radius-pill);background:var(--color-accent);width:8px;height:8px;animation:breathe 1.4s var(--ease-in-out) infinite alternate}@keyframes breathe{0%{opacity:.35}to{opacity:1}}.block{gap:var(--space-xs);flex-direction:column;display:flex}.block__h{font-family:var(--font-display);font-weight:600;font-size:var(--text-lg);letter-spacing:var(--tracking-tight);color:var(--color-ink);margin:0}.count{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-muted);font-weight:500}.roster,.history,.standings{margin:0;padding:0;list-style:none}.roster{border:var(--rule-card) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-paper-2)}.roster li{align-items:center;gap:var(--space-sm);min-height:52px;padding:var(--space-xs) var(--space-md);display:flex}.roster li+li{border-top:var(--rule-card) solid var(--color-rule)}.roster__who{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.roster__name{color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.roster__status{font-size:var(--text-sm);color:var(--color-muted)}.roster__status[data-s=queued]{color:var(--color-accent-ink)}.roster__empty{color:var(--color-muted);font-size:var(--text-sm)}.standings{column-gap:var(--space-md);font-size:var(--text-sm);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.standings li{display:contents}.standings span{padding:var(--space-2xs) 0;border-bottom:var(--rule-card) solid var(--color-rule)}.standings .num{font-family:var(--font-mono);text-align:right;color:var(--color-neutral)}.standings .who{color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.history li{justify-content:space-between;gap:var(--space-md);padding:var(--space-xs) 0;border-bottom:var(--rule-card) solid var(--color-rule);font-size:var(--text-sm);display:flex}.history__line{min-width:0}.history__line b{color:var(--color-ink);font-weight:600}.history__line .num{font-family:var(--font-mono)}.history time{color:var(--color-muted);white-space:nowrap}.history__empty{color:var(--color-muted);font-size:var(--text-sm);border:0!important}.foot{padding-top:var(--space-xl);font-size:var(--text-sm);color:var(--color-muted);margin-top:auto}.hud,.results{pointer-events:none;grid-area:1/1;position:absolute;inset:0}.hud>*,.results>*{pointer-events:auto}.hud__top{top:var(--space-md);left:var(--space-md);right:var(--space-md);align-items:start;gap:var(--space-md);pointer-events:none;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid;position:absolute}.side{flex-direction:column;min-width:0;line-height:1.1;display:flex}.side--rival{text-align:right;align-items:flex-end}.side__name{font-size:var(--text-sm);color:var(--color-neutral);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:600;overflow:hidden}.side--rival[data-away=true] .side__name:after{content:" · away";color:var(--color-accent-ink)}.side__score{font-family:var(--font-display);font-weight:800;font-size:var(--text-3xl);letter-spacing:var(--tracking-display);color:var(--color-ink);font-variant-numeric:tabular-nums}.side__meta{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-muted)}.side.is-bump .side__score{animation:bump var(--dur-short) var(--ease-out)}@keyframes bump{0%{opacity:.6;transform:translateY(-4px)}to{opacity:1;transform:none}}.clock{align-items:center;gap:var(--space-2xs);flex-direction:column;display:flex}.clock__time{font-family:var(--font-mono);font-weight:500;font-size:var(--text-2xl);color:var(--color-ink);font-variant-numeric:tabular-nums}.clock[data-low=true] .clock__time{color:var(--color-accent-ink)}.clock__track{border-radius:var(--radius-pill);background:var(--color-rule);width:9rem;height:4px;overflow:hidden}.clock__track i{background:var(--color-ink);transform-origin:0;width:100%;height:100%;display:block}.clock[data-low=true] .clock__track i{background:var(--color-accent)}.zoom{right:var(--space-md);gap:var(--space-xs);flex-direction:column;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.zoom__btn{border-radius:var(--radius-pill);border:var(--rule-card) solid var(--color-rule-2);background:var(--color-paper);width:40px;height:40px;font-size:var(--text-xl);color:var(--color-ink);cursor:pointer;box-shadow:var(--shadow-card);transition:transform var(--dur-micro) var(--ease-out);line-height:1}.zoom__btn:hover{transform:translateY(-1px)}.zoom__btn:active{transform:none}.prompt{left:50%;bottom:max(var(--space-lg), env(safe-area-inset-bottom));width:min(32rem, calc(100% - 2 * var(--space-md)));padding:var(--space-md) var(--space-md) var(--space-sm) var(--space-lg);background:var(--color-paper);border:var(--rule-card) solid var(--color-rule);border-radius:var(--radius-card);box-shadow:var(--shadow-card);position:absolute;transform:translate(-50%)}.prompt__main{align-items:center;gap:var(--space-md);min-width:0;display:flex}.prompt__place{flex-direction:column;flex:1;min-width:0;line-height:1.1;display:flex}.prompt__city{font-family:var(--font-display);font-weight:800;font-size:var(--text-2xl);letter-spacing:var(--tracking-display);color:var(--color-ink);overflow-wrap:anywhere}.prompt__country{color:var(--color-neutral);font-size:var(--text-sm)}.prompt.is-new .prompt__place{animation:rise var(--dur-short) var(--ease-out)}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.mult{border-radius:var(--radius-pill);width:44px;height:44px;font-family:var(--font-mono);font-weight:500;font-size:var(--text-sm);border:1.5px solid var(--color-rule-2);color:var(--color-neutral);flex:none;place-items:center;display:grid}.mult[data-tier="2"]{border-color:var(--color-ink);color:var(--color-ink)}.mult[data-tier="3"]{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}.prompt__result{margin:var(--space-xs) 0 0;min-height:1.5em;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-muted)}.prompt__result b{color:var(--color-ink);font-weight:500}.prompt__result .hint{font-family:var(--font-body)}.countdown{background:var(--color-scrim);pointer-events:auto;place-items:center;display:grid;position:absolute;inset:0}.countdown span{font-family:var(--font-display);letter-spacing:var(--tracking-display);color:var(--color-ink);text-align:center;font-size:clamp(4rem,14vw,9rem);font-weight:800;line-height:1}.countdown span.is-wait{font-size:var(--text-2xl);letter-spacing:var(--tracking-tight);max-width:20ch}.countdown span.is-tick{animation:tick var(--dur-long) var(--ease-out)}@keyframes tick{0%{opacity:.4;transform:scale(1.12)}to{opacity:1;transform:none}}.results{top:var(--bar-height);padding:var(--space-md);pointer-events:auto;grid-area:1/1;align-self:start;position:sticky;inset:auto}.results__card{width:100%;max-height:calc(100dvh - var(--bar-height) - 2 * var(--space-md));padding:var(--space-xl);background:var(--color-paper);border-radius:var(--radius-card);box-shadow:var(--shadow-lift);gap:var(--space-md);animation:card-in var(--dur-long) var(--ease-out);flex-direction:column;display:flex;overflow-y:auto}@keyframes card-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}.results__verdict{font-family:var(--font-display);font-weight:800;font-size:var(--text-3xl);letter-spacing:var(--tracking-display);color:var(--color-ink);margin:0;line-height:1}.results__note{color:var(--color-neutral);min-height:1.5em;margin:0}.scoreline{gap:var(--space-md);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.scoreline__p{min-width:0;padding-top:var(--space-xs);border-top:2px solid var(--color-rule);flex-direction:column;display:flex}.scoreline__p.is-win{border-top-color:var(--color-accent)}.scoreline__name{font-size:var(--text-sm);color:var(--color-neutral);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.scoreline__score{font-family:var(--font-display);font-weight:800;font-size:var(--text-2xl);color:var(--color-ink);font-variant-numeric:tabular-nums}.scoreline__meta{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-muted)}.replay{align-items:center;gap:var(--space-xs) var(--space-sm);flex-wrap:wrap;display:flex}.replay__legend{gap:var(--space-2xs) var(--space-sm);font-size:var(--text-xs);color:var(--color-muted);flex-wrap:wrap;margin-left:auto;display:flex}.replay__legend span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.replay__legend i{border-radius:var(--radius-pill);border:1.2px solid var(--color-pin-edge);width:9px;height:9px}.replay__legend .sw-me{background:var(--color-pin)}.replay__legend .sw-rival{background:var(--color-rival);border-color:var(--color-pin)}.replay__legend .sw-truth{background:var(--color-truth);border-color:var(--color-pin)}.replay__now{min-height:1.5em;font-size:var(--text-sm);color:var(--color-neutral);flex-basis:100%;margin:0}.replay__now b{color:var(--color-ink);font-weight:600}.breakdown summary{cursor:pointer;color:var(--color-ink);font-weight:600}.breakdown__list{margin:var(--space-xs) 0 0;font-size:var(--text-sm);padding:0;list-style:none}.breakdown__list li{border-bottom:var(--rule-card) solid var(--color-rule)}.breakdown__row{gap:var(--space-sm);width:100%;padding:var(--space-2xs) var(--space-2xs);text-align:left;cursor:pointer;transition:background-color var(--dur-micro) var(--ease-out);background:0 0;border:0;border-radius:6px;grid-template-columns:minmax(0,1fr) auto 3.5rem;display:grid}.breakdown__list.has-rival .breakdown__row{grid-template-columns:minmax(0,1fr) auto 3.5rem 3.5rem}.breakdown__row:hover{background:var(--color-paper-2)}.breakdown__row[aria-current=true]{background:var(--color-paper-3);box-shadow:inset 3px 0 0 var(--color-accent)}.breakdown__row .c{text-overflow:ellipsis;white-space:nowrap;color:var(--color-ink);overflow:hidden}.breakdown__row .k,.breakdown__row .p,.breakdown__row .r{font-family:var(--font-mono);text-align:right;color:var(--color-neutral)}.breakdown__row .p{color:var(--color-ink)}.breakdown__row .r{color:var(--color-rival)}.breakdown__row .win{font-weight:700}.breakdown__head{gap:var(--space-sm);padding:0 var(--space-2xs);font-size:var(--text-xs);color:var(--color-muted);grid-template-columns:minmax(0,1fr) auto 3.5rem;display:grid}.breakdown__head.has-rival{grid-template-columns:minmax(0,1fr) auto 3.5rem 3.5rem}.breakdown__head span:not(:first-child){text-align:right}.empty-row{padding:var(--space-2xs) 0;color:var(--color-muted)}.toast{left:var(--space-md);bottom:var(--space-md);z-index:var(--z-toast);width:min(22rem, calc(100% - 2 * var(--space-md)));padding:var(--space-md);background:var(--color-paper);border:2px solid var(--color-ink);border-radius:var(--radius-card);box-shadow:var(--shadow-lift);animation:rise var(--dur-short) var(--ease-out);position:fixed}.toast p{margin:0 0 var(--space-sm);color:var(--color-ink)}.toast__actions{gap:var(--space-xs);display:flex}.toast--note{border-width:1px;border-color:var(--color-rule-2);color:var(--color-ink)}.toast+.toast:not([hidden]){bottom:calc(var(--space-md) + 7.5rem)}.dialog{border-radius:var(--radius-card);background:var(--color-paper);color:var(--color-ink-2);box-shadow:var(--shadow-lift);width:min(24rem, calc(100% - 2 * var(--space-md)));border:0;padding:0}.dialog::backdrop{background:var(--color-scrim)}.dialog[open]{animation:card-in var(--dur-long) var(--ease-out)}.dialog__form{gap:var(--space-md);padding:var(--space-xl);flex-direction:column;display:flex}.dialog__label{font-family:var(--font-display);font-weight:600;font-size:var(--text-xl);color:var(--color-ink);line-height:1.2}.input{min-height:44px;padding:0 var(--space-md);border:1.5px solid var(--color-rule-2);border-radius:var(--radius-input);background:var(--color-paper-2);font:inherit;color:var(--color-ink);transition:border-color var(--dur-micro) var(--ease-out)}.input:hover{border-color:var(--color-neutral)}.input:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px;border-color:var(--color-ink)}.input:user-invalid{border-color:var(--color-accent)}@media (width<=760px){.bar{padding:0 var(--space-md)}.stage{grid-template-columns:minmax(0,1fr)}body[data-view=lobby] .globe,body[data-view=results] .globe{grid-area:1/1;height:44vh;position:relative;top:0}.lobby{padding:var(--space-lg) var(--space-md) var(--space-xl);grid-row:2}.lobby__lede{font-size:var(--text-base)}.side__score{font-size:var(--text-2xl)}.clock__time{font-size:var(--text-xl)}.clock__track{width:5.5rem}.zoom{top:auto;bottom:9.5rem;transform:none}.prompt__city{font-size:var(--text-xl)}.results{padding:0 var(--space-md) var(--space-md);grid-row:2;position:static}.results__card{padding:var(--space-lg);max-height:none;overflow:visible}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.15s!important;animation-duration:.15s!important;animation-iteration-count:1!important}.searching__dot{animation:none}}
