@font-face{font-family:Symphonie Calligraphy;src:url(/fonts/SymphonieCalligraphy-khatam.woff2) format("woff2");font-display:block}:root{--font-display: "Amiri", "Scheherazade New", ui-serif, serif;--font-body: "Cairo", ui-sans-serif, system-ui, sans-serif;--font-outlier: "Reem Kufi", "Cairo", sans-serif;--font-script: "Symphonie Calligraphy", "Amiri", ui-serif, serif;--text-xs: .75rem;--text-sm: .84375rem;--text-md: 1rem;--text-lg: 1.3125rem;--text-xl: 1.75rem;--text-2xl: 2.375rem;--text-3xl: 3.125rem;--night: oklch(.13 .018 272);--night-2: oklch(.17 .02 272);--night-3: oklch(.21 .022 272);--night-4: oklch(.26 .024 272);--brass: oklch(.82 .1 82);--scroll-thumb: oklch(.82 .1 82 / .38);--scroll-thumb-hot: oklch(.82 .1 82 / .7);--lapis: oklch(.6 .13 265);--ivory: oklch(.93 .015 80);--ivory-2: oklch(.72 .02 80);--cedar: oklch(.45 .08 45);--turquoise: oklch(.74 .1 195);--ruby: oklch(.62 .17 20);--parchment: oklch(.96 .02 80);--ink: oklch(.2 .03 265);--color-bg: var(--night);--color-surface: var(--night-2);--color-surface-2: var(--night-3);--color-surface-3: var(--night-4);--color-text: var(--ivory);--color-text-muted: var(--ivory-2);--color-accent: var(--lapis);--color-accent-2: var(--brass);--color-positive: var(--turquoise);--color-danger: var(--ruby);--color-border: oklch(.93 .015 80 / .08);--color-frame: var(--cedar);--terrain-forest: oklch(.38 .08 150);--terrain-hills: oklch(.55 .14 40);--terrain-pasture: oklch(.68 .12 130);--terrain-fields: oklch(.8 .14 90);--terrain-mountains: oklch(.5 .03 265);--terrain-desert: oklch(.85 .06 85);--terrain-hidden: oklch(.46 .012 265);--terrain-hidden-line: oklch(.58 .014 265);--terrain-sea: oklch(.24 .05 245);--sea-deep: oklch(.25 .06 250);--sea-shallow: oklch(.36 .075 235);--player-1: oklch(.62 .16 265);--player-2: oklch(.82 .15 85);--player-3: oklch(.74 .12 195);--player-4: oklch(.62 .19 20);--player-5: oklch(.66 .14 155);--player-6: oklch(.93 .03 85);--player-7: oklch(.66 .16 310);--player-8: oklch(.68 .13 50);--radius-control: 8px;--radius-card: 14px;--radius-pill: 999px;--shadow-soft: 0 10px 30px oklch(0 0 0 / .35), 0 1px 0 oklch(.93 .015 80 / .06) inset;--shadow-raise: 0 18px 40px oklch(0 0 0 / .5);--ease-fast: .16s ease-out;--ease-slow: .4s ease-out;--ease-spring: cubic-bezier(.16, 1, .3, 1);--dur-press: .1s;--dur-settle: .22s;--radius-button: var(--radius-pill);--btn-bg: var(--color-surface-3);--btn-fg: var(--color-text);--btn-line: var(--color-border);--btn-ring: var(--color-accent-2);--btn-primary-bg: var(--lapis);--btn-primary-fg: var(--ivory);--btn-primary-shadow: 0 6px 16px oklch(.6 .13 265 / .3);--control-on: var(--color-positive);--control-panel: var(--color-surface-2);--control-shadow: var(--shadow-raise);--target-fill: oklch(.96 .01 80 / .28);--target-fill-hot: oklch(.96 .01 80 / .6);--target-line: oklch(.98 .005 80 / .85);--active-card: oklch(.21 .03 82);--border-on-night: oklch(.93 .015 80 / .08);--harbor-generic: oklch(.8 .11 225);--hex-seam: oklch(.24 .05 245 / .55);--piece-edge: var(--ivory);--piece-inlay: oklch(.96 .01 80 / .7);--piece-door: oklch(.13 .018 272 / .55);--die-face: var(--ivory);--die-edge: oklch(.8 .02 80);--die-pip: var(--night);--flow-1: var(--lapis);--flow-2: var(--terrain-fields);--flow-3: var(--turquoise);--flow-4: var(--ruby);--flow-5: var(--terrain-forest);--flow-6: var(--terrain-hills);--flow-7: var(--terrain-pasture);--flow-strength: .78;--flow-veil: oklch(.13 .018 272 / .32);--flow-fold: oklch(.1 .02 272 / .85);--flow-rim: oklch(.95 .03 85);--ribbon-strength: .9;--glass: color-mix(in oklch, var(--color-surface) 58%, transparent);--glass-strong: color-mix(in oklch, var(--color-surface) 80%, transparent);--glass-line: oklch(.93 .015 80 / .12);--glass-shadow: 0 12px 40px oklch(0 0 0 / .28);--v-error: var(--ruby);--wave-1-a: oklch(.74 .1 195 / .85);--wave-1-b: oklch(.6 .13 265 / .8);--wave-2-a: oklch(.6 .13 265 / .92);--wave-2-b: oklch(.38 .08 150 / .9);--wave-3-a: color-mix(in oklch, var(--lapis) 28%, var(--night));--wave-3-b: var(--night);--wave-rim: var(--brass);--wave-mark: var(--brass);--clip-wire: var(--brass);--clip-edge: oklch(.5 .09 70);--clip-shine: oklch(.97 .03 90 / .75);--clip-eye: var(--ivory);--clip-eye-edge: oklch(.45 .05 70);--clip-pupil: var(--night);--clip-floor: oklch(0 0 0 / .3)}:root[data-theme=light]{--active-card: oklch(.92 .07 85);--color-bg: var(--parchment);--color-surface: oklch(.985 .012 80);--color-surface-2: oklch(.95 .02 80);--color-surface-3: oklch(.91 .025 80);--color-text: var(--ink);--color-text-muted: oklch(.45 .03 265);--color-accent: oklch(.42 .16 265);--color-border: oklch(.2 .03 265 / .1);--shadow-soft: 0 10px 30px oklch(.2 .03 265 / .12);--scroll-thumb: oklch(.45 .05 70 / .35);--scroll-thumb-hot: oklch(.45 .05 70 / .65);--flow-strength: .5;--flow-veil: oklch(.96 .02 80 / .4);--flow-fold: oklch(.42 .04 60 / .55);--flow-rim: oklch(.99 .01 85);--ribbon-strength: .75;--glass: color-mix(in oklch, var(--color-surface) 62%, transparent);--glass-strong: color-mix(in oklch, var(--color-surface) 84%, transparent);--glass-line: oklch(.2 .03 265 / .12);--glass-shadow: 0 12px 40px oklch(.2 .03 265 / .12);--v-error: oklch(.5 .17 22);--wave-1-a: oklch(.74 .1 195 / .7);--wave-1-b: oklch(.8 .14 90 / .6);--wave-2-a: oklch(.6 .13 265 / .75);--wave-2-b: oklch(.74 .1 195 / .7);--wave-3-a: var(--parchment);--wave-3-b: color-mix(in oklch, var(--turquoise) 22%, var(--parchment));--wave-rim: oklch(.7 .11 75);--wave-mark: var(--cedar);--clip-floor: oklch(.2 .03 265 / .18)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;overflow-x:clip}*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:transparent}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);background-clip:padding-box;border:3px solid transparent;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:var(--scroll-thumb-hot)}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-md);line-height:1.55;min-height:100dvh}h1,h2,h3{font-family:var(--font-display);font-style:normal;font-weight:400;line-height:1.1;margin:0;overflow-wrap:anywhere;min-width:0}a{color:var(--color-accent-2)}button,input{font:inherit}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.page{padding:2rem 16px 4rem;max-width:44rem;margin:0 auto}.wordmark{font-family:var(--font-outlier);font-size:var(--text-3xl);line-height:1;margin:0;color:var(--color-accent-2)}h1{font-size:var(--text-2xl);margin:.25rem 0 .5rem}h2{font-size:var(--text-lg);margin:0 0 .5rem}h3{font-size:var(--text-md);font-family:var(--font-body);font-weight:600;margin:.75rem 0 .25rem}.lede{font-size:var(--text-lg);max-width:32ch}.muted{color:var(--color-text-muted)}.small{font-size:var(--text-sm)}.error{color:var(--color-danger)}.row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.wrap{flex-wrap:wrap}.rule{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;margin:1.5rem 0;color:var(--color-accent-2)}.rule>span{height:1px;background:var(--color-border)}.btn{--_bg: var(--btn-bg);--_fg: var(--btn-fg);--_line: var(--btn-line);--_shadow: 0 0 0 transparent;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.45em;min-height:2.5rem;padding:0 1.1rem;font:inherit;font-family:var(--font-body);font-weight:700;font-size:var(--text-sm);line-height:1.1;color:var(--_fg);background:var(--_bg);border:0;border-radius:var(--radius-button);box-shadow:inset 0 0 0 1px var(--_line),var(--_shadow);cursor:pointer;white-space:nowrap;text-decoration:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color var(--ease-fast),color var(--ease-fast),box-shadow var(--ease-fast),transform var(--dur-settle) var(--ease-spring)}.btn:hover:not(:disabled){background:color-mix(in oklch,var(--_bg),var(--_fg) 10%)}.btn:active:not(:disabled){transform:scale(.96);transition-duration:var(--dur-press)}.btn:focus-visible{outline:2px solid var(--btn-ring);outline-offset:2px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.is-selected,.btn[aria-pressed=true]{--_line: var(--btn-ring);box-shadow:inset 0 0 0 1.5px var(--_line)}.btn[aria-busy=true]{cursor:progress}.btn[aria-busy=true]:before{content:"";width:.9em;height:.9em;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:btn-spin .7s linear infinite}.btn[data-state=success]{--_line: var(--control-on)}.btn[data-state=error]{--_line: var(--color-danger)}@keyframes btn-spin{to{transform:rotate(1turn)}}.btn-primary{--_bg: var(--btn-primary-bg);--_fg: var(--btn-primary-fg);--_line: transparent;--_shadow: var(--btn-primary-shadow)}.btn-ghost{--_bg: transparent;--_line: transparent}.btn-lg{min-height:3rem;padding:0 1.5rem;font-size:var(--text-md)}.btn-mini{min-height:1.85rem;padding:0 .75rem;font-size:var(--text-xs)}.btn-icon{padding:0;width:2.5rem;font-size:var(--text-md)}.btn-block{width:100%}.btn-arrow{transition:transform var(--dur-settle) var(--ease-spring)}.btn:hover:not(:disabled) .btn-arrow{transform:translate(3px)}@media(prefers-reduced-motion:reduce){.btn:active:not(:disabled){transform:none}.btn[aria-busy=true]:before{animation-duration:2s}}.select{position:relative;display:grid;gap:.4rem}.select-label{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted)}.select-trigger{justify-content:space-between;width:100%;font-weight:600}.select-chevron{transition:transform var(--dur-settle) var(--ease-spring)}.select-trigger[aria-expanded=true] .select-chevron{transform:rotate(180deg)}.select-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:10;margin:0;padding:.3rem;list-style:none;background:var(--control-panel);border-radius:var(--radius-card);box-shadow:var(--control-shadow),inset 0 0 0 1px var(--btn-line);transform-origin:top center;animation:select-in var(--dur-settle) var(--ease-spring)}.select-panel:focus{outline:none}.select.is-up .select-panel{top:auto;bottom:calc(100% + 6px);transform-origin:bottom center}.select-option{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:2.5rem;padding:0 .85rem;border-radius:calc(var(--radius-card) - .3rem);font-size:var(--text-sm);color:var(--btn-fg);cursor:pointer;animation:select-item .18s var(--ease-spring) both;animation-delay:calc(var(--i) * 30ms)}.select-option.is-active{background:color-mix(in oklch,var(--control-panel),var(--btn-fg) 9%)}.select-option[aria-selected=true]{font-weight:700}.select-check{opacity:0}.select-option[aria-selected=true] .select-check{opacity:1}@keyframes select-in{0%{opacity:0;transform:translateY(-4px) scale(.96)}}@keyframes select-item{0%{opacity:0;transform:translateY(-3px)}}.switch{display:inline-flex;align-items:center;gap:.7rem;padding:0;font:inherit;font-weight:600;color:var(--btn-fg);background:none;border:0;cursor:pointer}.switch-track{position:relative;width:2.9rem;height:1.7rem;flex:none;border-radius:var(--radius-pill);background:var(--btn-bg);box-shadow:inset 0 0 0 1px var(--btn-line);transition:background-color var(--ease-fast)}.switch-thumb{position:absolute;top:.2rem;left:.2rem;width:1.3rem;height:1.3rem;border-radius:var(--radius-pill);background:var(--btn-fg);transform-origin:left center;transition:transform var(--dur-settle) var(--ease-spring),background-color var(--ease-fast)}.switch[aria-checked=true] .switch-track{background:var(--control-on)}.switch[aria-checked=true] .switch-thumb{transform:translate(1.2rem);transform-origin:right center;background:var(--btn-bg)}.switch:active:not(:disabled) .switch-thumb{transform:scaleX(1.25)}.switch[aria-checked=true]:active:not(:disabled) .switch-thumb{transform:translate(1.2rem) scaleX(1.25)}.switch:focus-visible{outline:none}.switch:focus-visible .switch-track{outline:2px solid var(--btn-ring);outline-offset:2px}.switch:disabled{opacity:.45;cursor:not-allowed}@media(prefers-reduced-motion:reduce){.select-panel,.select-option{animation:none}.switch-thumb,.select-chevron{transition-duration:0ms}}input,select{font:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid transparent;box-shadow:0 0 0 1px var(--color-border);border-radius:var(--radius-control);padding:.5rem .7rem;min-width:0}input:focus-visible,select:focus-visible{outline:2px solid var(--color-accent-2);outline-offset:1px}.code-input{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:.2em;text-transform:uppercase;width:9.5ch}.tag{font-size:var(--text-xs);font-weight:600;padding:.05rem .4rem;border:1px solid currentColor;border-radius:var(--radius-pill);line-height:1.4}.tag-muted{color:var(--color-text-muted)}.tag-ok{color:var(--color-positive)}.tag-vote{color:var(--color-danger)}.badge{font-size:var(--text-xs);background:var(--color-accent-2);color:var(--night);border-radius:var(--radius-pill);padding:0 .4rem;font-weight:700}.home-actions{display:grid;gap:1rem}.lobby-head{margin-bottom:.5rem}.seat-list{list-style:none;padding:0;margin:0 0 1rem;display:grid;gap:.35rem}.seat-row{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-soft)}.seat-name{flex:1;font-weight:600;color:var(--color-text)}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:.75rem;margin-bottom:.75rem}.settings-grid label{display:grid;gap:.25rem;font-size:var(--text-sm);color:var(--color-text-muted)}.lobby-settings{margin-top:1.5rem}.game{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"board side" "bar side";height:100dvh;gap:8px;padding:8px}.rail{position:absolute;top:12px;left:12px;z-index:3;display:flex;flex-direction:column;gap:.4rem;align-items:center}.rail .btn{--_shadow: var(--shadow-soft)}.rail-code{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.15em;color:var(--color-text-muted)}.notify-toggle{position:relative}.notify-toggle .is-muted{opacity:.55}.notify-hint{position:absolute;top:0;left:calc(100% + 8px);width:max-content;max-width:min(17rem,calc(100vw - 80px));padding:.5rem .75rem;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);color:var(--color-text);font-size:var(--text-sm);line-height:1.4}.notify-ask{position:fixed;z-index:150;top:max(12px,env(safe-area-inset-top));left:0;right:0;width:min(24rem,calc(100vw - 32px));margin-inline:auto;display:grid;gap:.75rem;padding:.9rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);color:var(--color-text);animation:notify-ask-in .32s var(--ease-spring) both}.notify-ask p{margin:0;line-height:1.4}.notify-ask-actions{display:flex;justify-content:flex-end;gap:.5rem}@keyframes notify-ask-in{0%{opacity:0;translate:0 -12px}}@media(prefers-reduced-motion:reduce){.notify-ask{animation:none}}.board-area{grid-area:board;position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;gap:6px;background:var(--sea-deep);border-radius:var(--radius-card);overflow:hidden}.status,.board-wrap{--color-text: var(--ivory);--color-text-muted: var(--ivory-2);--color-surface: var(--night-2);--color-surface-2: var(--night-3);--color-surface-3: var(--night-4);--color-border: var(--border-on-night);--btn-bg: var(--night-4);--btn-fg: var(--ivory);--btn-line: var(--border-on-night);color:var(--ivory)}.status{display:flex;align-items:center;justify-content:center;gap:1rem;font-family:var(--font-display);font-size:var(--text-lg);padding:.25rem 3rem;text-align:center}.timer{font-family:var(--font-body);font-weight:700;font-size:var(--text-sm);padding:.1rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-pill)}.timer-low{color:var(--color-danger);border-color:var(--color-danger)}.dice{display:inline-flex;gap:.3rem;--die-size: 1.7rem}.die{display:inline-grid;grid-template:repeat(3,1fr) / repeat(3,1fr);place-items:center;width:var(--die-size, 4.5rem);aspect-ratio:1;padding:calc(var(--die-size, 4.5rem) * .14);background:var(--die-face);border-radius:calc(var(--die-size, 4.5rem) * .22);box-shadow:inset 0 calc(var(--die-size, 4.5rem) * -.06) 0 var(--die-edge),var(--shadow-soft)}.die i{width:62%;aspect-ratio:1;border-radius:50%}.die i.on{background:var(--die-pip)}.dice-roll{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;gap:1.25rem;pointer-events:none;--die-size: clamp(3.5rem, 7vw, 5.5rem)}.dice-roll.is-tumble .die{animation:die-tumble .7s var(--ease-spring) both}.dice-roll.is-tumble .die.second{animation-delay:60ms}.dice-roll.is-land .die{animation:die-land 1.1s var(--ease-spring) both}.dice-sum{position:absolute;top:calc(50% + var(--die-size) * .75);font-family:var(--font-display);font-size:var(--text-2xl);line-height:1;color:var(--ivory);text-shadow:0 2px 10px oklch(0 0 0 / .5);animation:die-land 1.1s var(--ease-spring) both}@keyframes die-tumble{0%{transform:translateY(-120%) rotate(-200deg) scale(.6);opacity:0}45%{transform:translateY(8%) rotate(30deg) scale(1.04);opacity:1}70%{transform:translateY(-14%) rotate(-12deg)}to{transform:translateY(0) rotate(0) scale(1)}}@keyframes die-land{0%{transform:scale(1.08)}15%,80%{transform:scale(1);opacity:1}to{transform:scale(.85);opacity:0}}.fly-card{position:fixed;left:0;top:0;z-index:50;width:38px;height:53px;border-radius:5px;background:var(--color-surface-3) center / cover no-repeat;box-shadow:var(--shadow-raise);pointer-events:none;will-change:transform,opacity}@media(prefers-reduced-motion:reduce){.dice-roll .die,.dice-sum{animation:none!important}}.board-wrap{position:relative;min-height:0;display:grid}.board{width:100%;height:100%;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.board:active{cursor:grabbing}.board-reset{position:absolute;left:12px;bottom:12px}.shallows polygon{fill:var(--sea-shallow);stroke:var(--sea-shallow);stroke-width:2;stroke-linejoin:round}.hex-fill{stroke:none}.hex-edge{fill:none;stroke:var(--hex-seam);stroke-width:1.5;stroke-linejoin:round}.hex-art{pointer-events:none}.terrain-forest .hex-fill{fill:var(--terrain-forest)}.terrain-hills .hex-fill{fill:var(--terrain-hills)}.terrain-pasture .hex-fill{fill:var(--terrain-pasture)}.terrain-fields .hex-fill{fill:var(--terrain-fields)}.terrain-mountains .hex-fill{fill:var(--terrain-mountains)}.terrain-desert .hex-fill{fill:var(--terrain-desert)}.hex-down .hex-fill{fill:var(--terrain-hidden)}.hex-down .hex-edge{stroke:var(--terrain-hidden-line)}.hex-flip{transform-box:fill-box;transform-origin:center;animation:hex-flip .52s var(--ease-spring) both}@keyframes hex-flip{0%{transform:scaleX(0)}}.token circle{fill:var(--ivory);stroke:var(--cedar);stroke-width:1.5}.token-number{font-family:var(--font-display);font-weight:700;font-size:18px;fill:var(--night)}.token-red .token-number{fill:var(--ruby)}.pip{fill:var(--night)}.token-red .pip{fill:var(--ruby)}.harbor circle{fill:var(--color-surface);stroke:var(--brass);stroke-width:1.5}.harbor:not(.harbor-generic) circle{stroke:currentColor;stroke-width:2.5}.harbor-generic circle{stroke:var(--harbor-generic);stroke-width:2.5}.harbor-generic .harbor-text{fill:var(--harbor-generic)}.harbor.res-wool .icon-wool{color:var(--ivory)}.harbor-text{font-family:var(--font-body);font-weight:700;font-size:10px;fill:var(--ivory)}.pier{stroke:var(--cedar);stroke-width:4;stroke-linecap:round}.road-edge{stroke:var(--piece-edge);stroke-width:9;stroke-linecap:round}.road-fill{stroke:currentColor;stroke-width:6.5;stroke-linecap:round}.road-inlay{stroke:var(--piece-inlay);stroke-width:1.2;stroke-linecap:round;stroke-dasharray:2 3}.building-body{fill:currentColor;stroke:var(--piece-edge);stroke-width:1.6;stroke-linejoin:round}.building-door{fill:var(--piece-door)}.robber ellipse,.robber circle{fill:var(--night);stroke:var(--ivory);stroke-width:1.5}.target{cursor:pointer;outline:none}.target-vertex>:not(.target-hit){fill:var(--target-fill);stroke:var(--target-line);stroke-width:2;stroke-dasharray:3 3}.target-edge>:not(.target-hit){fill:var(--target-fill);stroke:var(--target-line);stroke-width:2;stroke-dasharray:4 3}.target-hit{fill:transparent}.target-hex{fill:var(--target-fill);stroke:var(--target-line);stroke-width:3;stroke-dasharray:7 5;animation:target-march 1.2s linear infinite}@keyframes target-march{to{stroke-dashoffset:-24}}@media(prefers-reduced-motion:reduce){.target-hex{animation:none}}.target-hex:hover,.target-hex:focus-visible,.target:hover>:not(.target-hit),.target:focus-visible>:not(.target-hit){fill:var(--target-fill-hot);stroke:var(--target-line);stroke-dasharray:none}.side{grid-area:side;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;min-height:0}.side-foot{display:grid;gap:10px}.panel{background:var(--color-surface);border-radius:var(--radius-card);padding:.6rem .8rem;min-height:0;font-size:var(--text-sm);box-shadow:var(--shadow-soft)}.panel h2{font-size:var(--text-md);margin-bottom:.3rem}.panel-head{display:flex;justify-content:space-between;align-items:center}.bank{background:var(--color-surface-2)}.log-panel{display:grid;grid-template-rows:auto minmax(0,1fr)}.log{list-style:none;margin:0;padding:0;overflow-y:auto;display:grid;gap:.2rem;align-content:start}.log li{padding:.1rem 0;border-bottom:1px solid var(--color-border)}.log-turn_started{color:var(--color-text-muted);margin-top:.3rem}.log-game_won{color:var(--color-accent-2);font-weight:700}.log-name{font-weight:700}.dice-inline{color:var(--color-accent-2)}.bag{display:inline-flex;gap:.2rem;vertical-align:middle}.player-name{color:var(--color-text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:10ch}.res-counts{list-style:none;margin:0;padding:0;display:flex;gap:.6rem;flex-wrap:wrap}.res-counts li{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface)}.res-compact li{padding:.05rem .3rem;border:0;background:none}.res-lumber{color:#5dad70}.res-brick{color:#eb7a52}.res-wool{color:#9fd780}.res-grain{color:#f1c955}.res-ore{color:#a5aec2}.bar{grid-area:bar;display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"hand build turn";align-items:center;gap:1rem;padding:.5rem .9rem;background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-soft)}.bar>.muted,.bar>.spectate{grid-column:1 / -1}.spectate{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.takeover{display:flex;gap:.5rem;flex-wrap:wrap}.tag-bot{color:var(--color-accent-2)}.actions{grid-area:build;display:grid;grid-template-columns:repeat(2,minmax(8.5rem,1fr));gap:.5rem}.actions .build-btn{width:100%}.turn-actions{grid-area:turn;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:.5rem;min-width:8.5rem}.dice-btn{--die-size: 2.9rem;display:flex;justify-content:center;gap:.5rem;padding:.5rem;border:0;border-radius:var(--radius-card);background:color-mix(in oklch,var(--btn-primary-bg),transparent 75%);box-shadow:inset 0 0 0 1.5px var(--btn-primary-bg);cursor:pointer;transition:background-color var(--ease-fast),transform var(--dur-settle) var(--ease-spring)}.dice-btn .die{animation:die-idle 1.6s var(--ease-spring) infinite alternate}.dice-btn .die+.die{animation-delay:-.8s}.dice-btn:hover{background:color-mix(in oklch,var(--btn-primary-bg),transparent 55%)}.dice-btn:active{transform:scale(.94);transition-duration:var(--dur-press)}.dice-btn:focus-visible{outline:2px solid var(--btn-ring);outline-offset:2px}@keyframes die-idle{0%{transform:rotate(-7deg) translateY(1px)}to{transform:rotate(7deg) translateY(-2px)}}@media(prefers-reduced-motion:reduce){.dice-btn .die{animation:none}}.build-btn{flex-direction:column;gap:.3rem;min-height:3.6rem;padding:.4rem .6rem;font-size:var(--text-md);border-radius:var(--radius-card)}.build-btn .badge{display:inline-grid;place-items:center;min-width:1.6rem;height:1.15rem;padding:0 .3rem;margin-left:.15rem;font-size:var(--text-xs);font-weight:600;line-height:1;font-variant-numeric:tabular-nums;vertical-align:.1em}.build-btn .build-cost{gap:.4rem;font-size:var(--text-sm)}.build-cost{display:inline-flex;gap:.25rem;font-size:var(--text-xs);font-weight:600}.sea-grid{display:grid;grid-template-columns:auto repeat(5,minmax(0,1fr));gap:8px 6px;align-items:center;margin:.6rem 0 .9rem}.sea-grid .btn{width:100%;min-width:0;padding:0 .4rem;gap:.3em}.sea-label{font-size:var(--text-sm);font-weight:600;padding-right:4px}.trade-panel{position:fixed;top:56px;right:356px;width:min(clamp(380px,32vw,600px),calc(100vw - 32px));padding:1rem 1.1rem 1.2rem;font-size:var(--text-md);max-height:calc(100dvh - 220px);overflow-y:auto;z-index:7;background:var(--color-surface-2);box-shadow:var(--shadow-raise)}.trade-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin:.6rem 0 .9rem}.trade-section{display:grid;gap:.75rem}.trade-section h3{margin:.2rem 0 -.3rem;font-family:var(--font-body);font-size:var(--text-md);color:var(--color-text);font-weight:700}.trade-summary{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;padding:.75rem 1rem;background:var(--color-surface);border-radius:var(--radius-card)}.trade-summary small{display:block;font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:.25rem}.trade-arrow{font-size:1.6em;color:var(--color-accent-2)}.trade-replies{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.trade-replies li{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .6rem;border-radius:var(--radius-card);background:var(--color-surface)}.trade-replies li.is-accepted{box-shadow:inset 0 0 0 1.5px var(--color-positive)}.trade-who{display:inline-flex;align-items:center;gap:.6rem;font-weight:700}.bag-chips{display:inline-flex;gap:.6rem;flex-wrap:wrap;align-items:center}.bag-chip{display:inline-flex;align-items:center;gap:.3rem;font-size:1.15em}.bag-chip b{color:var(--color-text)}.res-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem}.res-tile{display:grid;gap:.3rem;justify-items:stretch}.res-tile-face{display:grid;justify-items:center;gap:.1rem;padding:.55rem .2rem .45rem;font:inherit;color:inherit;background:var(--color-surface);border:0;border-radius:var(--radius-card);box-shadow:inset 0 0 0 1px var(--color-border);cursor:pointer;transition:box-shadow var(--ease-fast),transform var(--dur-settle) var(--ease-spring)}.res-tile-face:active:not(:disabled){transform:scale(.95);transition-duration:var(--dur-press)}.res-tile-face:disabled{cursor:default}.res-tile-face:focus-visible{outline:2px solid var(--btn-ring);outline-offset:2px}.res-tile.is-on .res-tile-face{box-shadow:inset 0 0 0 2px currentColor}.res-tile-face b{font-size:1.35rem;line-height:1.1;color:var(--color-text);font-variant-numeric:tabular-nums}.res-tile-face small{font-size:var(--text-xs);color:var(--color-text-muted)}.res-tile-steps{display:grid;grid-template-columns:1fr 1fr;gap:.25rem}.res-tile-steps .btn{padding:0;font-size:var(--text-md)}.offer-card{position:absolute;left:0;right:0;margin-inline:auto;bottom:clamp(.75rem,2vh,1.5rem);z-index:6;width:min(clamp(340px,36vw,680px),calc(100% - 9rem));display:grid;gap:clamp(.6rem,1.2vh,1rem);padding:clamp(.9rem,1.4vw,1.5rem);font-size:clamp(1rem,.6rem + .6vw,1.35rem);background:var(--color-surface-2);border-radius:var(--radius-card);box-shadow:var(--shadow-raise),inset 0 0 0 1.5px var(--color-accent-2);animation:pop-in var(--dur-settle) var(--ease-spring)}.offer-min{position:absolute;top:.5rem;right:.5rem;font-size:1.4rem}.offer-chip{position:absolute;bottom:17px;right:72px;z-index:6;display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .8rem .35rem .35rem;font:inherit;font-weight:700;font-size:var(--text-sm);color:var(--ivory);background:var(--night-3);border:0;border-radius:var(--radius-pill);box-shadow:var(--shadow-raise),inset 0 0 0 1.5px var(--brass);cursor:pointer;visibility:hidden;opacity:0;transition:opacity var(--ease-fast)}.offer-chip.is-on{visibility:visible;opacity:1;animation:chip-nudge 1.6s .4s var(--ease-spring) 2}.offer-chip:focus-visible{outline:2px solid var(--brass);outline-offset:2px}@keyframes chip-nudge{0%,to{scale:1}15%{scale:1.08}}.offer-card.is-aside{display:block;width:auto;max-width:calc(100% - 1.5rem);font-size:var(--text-sm);opacity:.9;box-shadow:var(--shadow-soft)}.offer-head{display:flex;align-items:center;gap:.6rem;margin:0}.offer-card .trade-summary{font-size:1.1em}.offer-actions{display:grid;grid-template-columns:2fr 1fr;gap:.6rem}.offer-actions .btn{font-size:1em;min-height:clamp(3rem,5vh,3.75rem)}.offer-wait{margin:0;text-align:center;color:var(--color-text-muted)}.afk-card{position:absolute;left:12px;bottom:60px;z-index:6;width:min(21rem,calc(100% - 9rem));display:grid;gap:.5rem;padding:.7rem .8rem .75rem;font-size:var(--text-sm);color:var(--ivory);background:var(--night-3);border-radius:var(--radius-card);box-shadow:var(--shadow-raise),inset 0 0 0 1.5px var(--brass);animation:pop-in var(--dur-settle) var(--ease-spring)}.afk-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-right:2rem}.afk-head h2{font-size:var(--text-md);margin:0;color:var(--ivory)}.afk-min{position:absolute;top:.35rem;right:.35rem;font-size:1.3rem}.afk-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.afk-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.6rem;align-items:center;padding:.45rem .55rem;background:var(--night-2);border-radius:calc(var(--radius-card) - 4px)}.afk-row .avatar{box-shadow:0 0 0 2px var(--night-4)}.afk-body{min-width:0;color:var(--ivory)}.afk-who{margin:0;line-height:1.3}.afk-who strong{color:inherit}.afk-row .afk-who strong{color:currentColor}.afk-tally{margin:.15rem 0 0;display:flex;gap:.6rem;font-size:var(--text-xs);color:var(--ivory-2)}.afk-yes{color:var(--brass);font-weight:600}.afk-actions{display:grid;gap:.3rem;--btn-bg: var(--night-4);--btn-fg: var(--ivory);--btn-line: var(--border-on-night);--btn-ring: var(--brass)}.afk-note{margin:0;font-size:var(--text-xs);color:var(--ivory-2)}.afk-chip{position:absolute;left:12px;bottom:60px;z-index:6;display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .8rem .3rem .35rem;font:inherit;font-weight:700;font-size:var(--text-sm);color:var(--ivory);background:var(--night-3);border:0;border-radius:var(--radius-pill);box-shadow:var(--shadow-raise),inset 0 0 0 1.5px var(--brass);cursor:pointer;visibility:hidden;opacity:0;transition:opacity var(--ease-fast)}.afk-chip.is-on{visibility:visible;opacity:1;animation:chip-nudge 1.6s .4s var(--ease-spring) 2}.afk-chip:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.afk-chip-avatars{display:inline-flex}.afk-chip-avatars .avatar+.avatar{margin-left:-8px}.afk-actions-row{display:flex;justify-content:flex-end}.dialog-lead{margin:0 0 .9rem}.dialog .res-tiles{margin-bottom:1rem}.steal-picks{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem}.steal-pick{display:grid;justify-items:center;gap:.35rem;padding:1rem .75rem;font:inherit;background:var(--color-surface);border:0;border-radius:var(--radius-card);box-shadow:inset 0 0 0 1px var(--color-border);cursor:pointer;transition:box-shadow var(--ease-fast),transform var(--dur-settle) var(--ease-spring)}.steal-pick:hover{box-shadow:inset 0 0 0 2px currentColor}.steal-pick:active{transform:scale(.96);transition-duration:var(--dur-press)}.steal-pick:focus-visible{outline:2px solid var(--btn-ring);outline-offset:2px}.steal-name{font-weight:700;font-size:var(--text-md)}.steal-count{color:var(--color-text-muted);font-size:var(--text-sm)}.dialog-backdrop{position:fixed;inset:0;background:#02030999;display:grid;place-items:center;z-index:10;padding:16px}.dialog{position:relative;background:var(--color-surface-2);box-shadow:var(--shadow-raise);border:0;border-radius:var(--radius-card);padding:1.25rem 1.25rem 1rem;width:min(32rem,100%);max-height:90dvh;overflow-y:auto}.dialog-close{position:absolute;top:.5rem;right:.5rem}.results{text-align:center}.results table{margin:.75rem auto;border-collapse:collapse}.results td{padding:.2rem .75rem;text-align:left}.toast{position:fixed;left:16px;right:16px;margin-inline:auto;width:fit-content;bottom:110px;background:var(--color-surface-2);border:1px solid var(--color-danger);color:var(--color-text);border-radius:var(--radius-card);padding:.5rem .75rem;display:flex;gap:.75rem;align-items:center;z-index:11}@keyframes pop-in{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.building,.road{transform-box:fill-box;transform-origin:center;animation:pop-in var(--ease-fast) both}.page.lobby,.results{background-image:url(/art/backgrounds/girih.svg);background-size:160px 160px}.avatar{display:inline-grid;place-items:center;border-radius:50%;background:var(--night);box-shadow:0 0 0 2px var(--color-surface-3),0 4px 12px #0006;flex:none}.avatar.is-active{box-shadow:0 0 0 2px var(--color-accent-2),0 4px 14px #e5be7759}.player-cards{list-style:none;margin:0;padding:2px;display:grid;gap:6px;max-height:46dvh;overflow-y:auto}.player-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.5rem;align-items:center;padding:.45rem .55rem;background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);transition:background var(--ease-fast);position:relative}.player-card.is-active{background:var(--active-card);box-shadow:var(--shadow-soft),inset 0 0 0 1.5px var(--color-accent-2)}.player-card-hit{position:absolute;inset:0;z-index:1;padding:0;border:0;border-radius:inherit;background:transparent;cursor:pointer}.player-card-hit:focus-visible{outline:2px solid var(--color-accent-2);outline-offset:2px}.player-card.is-votable:not(.is-active):hover{background:var(--color-surface-2)}.player-card-hit[aria-expanded=true]{box-shadow:inset 0 0 0 1.5px var(--color-accent-2)}.player-card .tag{position:relative;z-index:2}.player-card-menu{position:fixed;z-index:50;width:min(17rem,calc(100vw - 16px));display:grid;gap:.4rem;padding:.6rem;font-size:var(--text-sm);color:var(--ivory);background:var(--night-3);border-radius:var(--radius-card);box-shadow:var(--shadow-raise),inset 0 0 0 1.5px var(--brass);animation:pop-in var(--dur-settle) var(--ease-spring);--btn-fg: var(--ivory);--btn-ring: var(--brass)}.player-card-menu-who{display:flex;align-items:center;gap:.45rem;margin:0 0 .1rem;min-width:0}.player-card-menu-who strong{color:var(--ivory);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-card-menu-item{display:grid;gap:.15rem;padding:.5rem .6rem;text-align:start;font:inherit;color:var(--ivory);background:var(--night-2);border:1px solid var(--border-on-night);border-radius:calc(var(--radius-card) - 4px);cursor:pointer;transition:background var(--ease-fast),border-color var(--ease-fast)}.player-card-menu-item:hover:not(:disabled){background:var(--night-4);border-color:var(--brass)}.player-card-menu-item:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.player-card-menu-item:disabled{cursor:default;opacity:.7}.player-card-menu-label{font-weight:700;color:var(--brass)}.player-card-menu-sub{font-size:var(--text-xs);line-height:1.35;color:var(--ivory-2)}.player-card-menu-cancel{justify-self:end}.player-avatar{position:relative}.bubbles{position:fixed;z-index:40;pointer-events:none}.bubble-who{display:none;align-items:center;gap:.4rem;min-width:0}.bubble.is-detached{display:inline-flex;align-items:center;gap:.5rem;padding-left:.25rem}.bubble.is-detached .bubble-who{display:inline-flex}.bubble{position:fixed;translate:0 -50%;z-index:40;font-size:var(--text-sm);font-weight:700;line-height:1.2;white-space:nowrap;padding:.3rem .55rem;background:var(--ivory);color:var(--night);border-radius:14px 3px 14px 14px;box-shadow:var(--shadow-raise);pointer-events:none;animation:bubble-in var(--ease-fast) both,bubble-out .3s ease-in 4s both}@keyframes bubble-in{0%{transform:translateY(6px) scale(.6);opacity:0}to{transform:none;opacity:1}}@keyframes bubble-out{to{opacity:0;transform:translateY(-6px)}}.player-body{min-width:0}.player-line{display:flex;align-items:center;gap:.35rem;min-width:0}.player-name{color:var(--color-text);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-card.is-me .player-name:after{content:" · you";color:var(--color-text-muted);font-weight:400}.player-stats{display:flex;flex-wrap:wrap;gap:0 .45rem;margin:.1rem 0 0;font-variant-numeric:tabular-nums}.player-stats div{display:flex;gap:.2rem;align-items:baseline}.player-stats dt{color:var(--color-text-muted);font-size:var(--text-xs)}.player-stats dd{margin:0;color:var(--color-text);font-weight:600}.player-vp{justify-self:end;white-space:nowrap;font-family:var(--font-display);color:var(--color-text);font-variant-numeric:tabular-nums;text-align:right;line-height:1}.player-vp b{font-size:var(--text-xl);font-weight:700}.player-vp small{color:var(--color-text-muted);font-size:var(--text-xs)}.board-react{position:absolute;right:12px;bottom:12px;z-index:7}.side,.reactions{position:relative}.react-fab{width:48px;height:48px;border-radius:50%;border:0;background:var(--color-surface-3);color:var(--color-text);font-size:1.3rem;display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-soft),inset 0 0 0 1.5px #e5be7759;transition:transform var(--ease-fast),box-shadow var(--ease-fast),background var(--ease-fast)}.react-fab:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-raise),inset 0 0 0 1.5px var(--color-accent-2)}.react-fab:focus-visible{outline:2px solid var(--color-accent-2);outline-offset:3px}.react-fab:active:not(:disabled){transform:translateY(0) scale(.96)}.react-fab:disabled{opacity:.4;cursor:not-allowed}.react-fab.is-open{background:var(--color-accent-2);color:var(--night)}.reaction-list{position:absolute;right:0;bottom:56px;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:6px;width:300px;background:var(--color-surface-2);border-radius:var(--radius-card);box-shadow:var(--shadow-raise);animation:pop-in var(--ease-fast) both;transform-origin:bottom right}.reaction{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;border:0;border-radius:var(--radius-control);background:transparent;color:var(--color-text);font:inherit;font-weight:600;cursor:pointer;text-align:left;transition:background var(--ease-fast)}.reaction:hover,.reaction:focus-visible{background:var(--color-surface-3);outline:none}.reaction:focus-visible{box-shadow:inset 0 0 0 2px var(--color-accent-2)}.reaction-emoji{font-size:1.3rem;line-height:1}.roll-chart{margin:0;padding:.6rem .8rem .4rem;background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);font-size:var(--text-sm)}.roll-chart figcaption{display:flex;justify-content:space-between;font-family:var(--font-display);font-size:var(--text-md);margin-bottom:.2rem}.roll-chart figcaption .muted{font-family:var(--font-body);font-size:var(--text-xs)}.roll-bar{fill:var(--color-accent)}.roll-bar-red{fill:var(--color-danger)}.roll-expected{stroke:var(--ivory);stroke-width:1.5;opacity:.8}.roll-label{font-family:var(--font-display);font-size:9px;fill:var(--color-text-muted)}.roll-chart p{margin:.2rem 0 0}.card-row{list-style:none;margin:0;padding:0;display:flex;gap:.5rem;align-items:flex-end}.card-stack{position:relative;flex:0 1 var(--card-w);min-width:48px;display:grid;place-items:center;border-radius:6px;transition:transform var(--ease-fast);container-type:inline-size}.card-name{position:absolute;left:4%;right:4%;top:calc(100cqi * 1.4 * .7);font-family:var(--font-outlier);font-size:15cqi;line-height:1.05;text-align:center;color:var(--ivory);text-shadow:0 1px 4px oklch(0 0 0 / .6);pointer-events:none}.card-stack.dev .card-name{font-size:11cqi;top:calc(100cqi * 1.4 * .66)}.card-stack.is-empty .card-name{color:var(--ivory-2)}.card-stack img{display:block;width:100%;height:auto;aspect-ratio:5 / 7;object-fit:cover;border-radius:6px;box-shadow:var(--shadow-soft)}.card-stack:hover{transform:translateY(-4px)}.card-stack.is-empty{opacity:.35}.card-count{position:absolute;top:-8px;right:-8px;min-width:1.8rem;height:1.8rem;padding:0 .45rem;display:grid;place-items:center;background:var(--ivory);color:var(--night);font-weight:700;font-size:var(--text-sm);border-radius:var(--radius-pill);box-shadow:0 2px 6px #0006}.dev-row{flex:1 0 auto;padding-left:.5rem;border-left:1px solid var(--color-border)}.card-stack.dev{--dev-w: 60px;flex:0 0 var(--dev-w);width:var(--dev-w);min-width:var(--dev-w)}.card-stack.dev.is-vp{margin-left:auto}.card-stack.is-fresh img{opacity:.6}.card-face{all:unset;box-sizing:border-box;display:block;width:100%;cursor:pointer;border-radius:6px;transition:transform var(--ease-fast)}.card-face:hover,.card-face:focus-visible{transform:translateY(-8px)}.card-stack.dev{--dev-lift: 18px}.card-stack.is-selected .card-face{transform:translateY(calc(-1 * var(--dev-lift)))}.card-face:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.card-stack.is-selected img{box-shadow:0 0 0 2px var(--brass),var(--shadow-soft)}.card-stack.dev:hover{transform:none}.card-pop{position:fixed;z-index:200;box-sizing:border-box;padding:.4rem;background:var(--color-surface);border:1px solid var(--brass);border-radius:8px;box-shadow:0 6px 18px #00000080}.card-pop.is-bare{padding:0;background:none;border:0;box-shadow:none}.card-play{display:block;width:100%;min-height:24px;padding:.2rem 0;border:0;border-radius:var(--radius-pill);background:var(--brass);color:var(--night);font:700 var(--text-xs) / 1 var(--font-body);letter-spacing:.04em;cursor:pointer;box-shadow:0 3px 8px #00000059;animation:card-play-in .16s var(--ease-spring) both}.card-play:hover{filter:brightness(1.08)}.card-play:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}@keyframes card-play-in{0%{opacity:0;translate:0 -4px}}@media(prefers-reduced-motion:reduce){.card-play{animation:none}}.card-why{margin:0;font-size:var(--text-xs);line-height:1.3;text-align:center;color:var(--color-text)}.hand{grid-area:hand;display:flex;gap:.75rem;align-items:flex-end;min-width:0;--card-w: 120px;padding:20px 12px 4px 0;overflow-x:auto;overscroll-behavior-x:contain}.card-row{flex:0 1 auto}.card-row:first-child{flex-basis:calc(5 * var(--card-w) + 4 * .5rem)}.ping{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-body);font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--color-text-muted);padding:.15rem .5rem;border-radius:var(--radius-pill);background:var(--color-surface-2)}.ping-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.ping-good .ping-dot{background:var(--color-positive)}.ping-ok .ping-dot{background:var(--color-accent-2)}.ping-bad .ping-dot,.ping-off .ping-dot{background:var(--color-danger)}.ping-grade{text-transform:uppercase;letter-spacing:.08em}.history{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.history-row{background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);padding:.75rem 1rem}.history-head{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:var(--text-sm);margin-bottom:.4rem}.history-seats{list-style:none;padding:0;margin:0;display:grid;gap:.25rem}.history-seats li{display:flex;align-items:center;gap:.5rem;font-variant-numeric:tabular-nums}.history-seats li b{margin-left:auto;color:var(--color-text);font-family:var(--font-display);font-size:var(--text-lg)}.history-seats li.is-winner .player-name:after{content:" · winner";color:var(--color-accent-2);font-weight:400}.home-foot{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}:root[data-theme=light] .card-count,:root[data-theme=light] .bubble{background:var(--ink);color:var(--parchment)}:root[data-theme=light] .avatar{background:var(--parchment)}:root[data-theme=light] .avatar .glyph>:not(mask){stroke:var(--ink);stroke-width:.9;stroke-linejoin:round;paint-order:stroke}:root[data-theme=light] .token circle{fill:var(--parchment)}.sheep-face,.sheep-legs{fill:var(--night);stroke:currentColor;stroke-width:.6}.sheep-eye{fill:var(--ivory)}.moment{position:absolute;inset:0;z-index:60;display:grid;place-items:center;pointer-events:none}.moment-card{display:grid;justify-items:center;gap:.35rem;min-width:min(26rem,90%);padding:1.4rem 2rem 1.6rem;background:var(--color-surface-2);border-radius:var(--radius-card);box-shadow:var(--shadow-raise),inset 0 0 0 1.5px currentColor;animation:moment-card 3.6s var(--ease-spring) both}.moment-card.res-lumber,.moment-card.res-brick,.moment-card.res-wool,.moment-card.res-grain,.moment-card.res-ore{animation-duration:2.6s}.moment-title{margin:.4rem 0 0;font-family:var(--font-display);font-weight:700;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.1;color:var(--color-text)}.moment-sub{margin:0;font-size:var(--text-md);color:var(--color-text-muted)}.moment-sub b{color:currentColor}.moment-card .moment-sub b{color:inherit}@keyframes moment-card{0%{opacity:0;transform:scale(.8) translateY(12px)}10%,85%{opacity:1;transform:none}to{opacity:0;transform:translateY(-16px)}}.moment-band{display:block;width:100%;padding:1.1rem 1rem;text-align:center;font-family:var(--font-display);font-weight:700;font-size:clamp(2.2rem,5.5vw,4.5rem);color:var(--ivory);text-shadow:0 3px 18px oklch(0 0 0 / .5);background:linear-gradient(90deg,transparent,color-mix(in oklch,var(--night),transparent 15%) 18%,color-mix(in oklch,var(--night),transparent 15%) 82%,transparent);box-shadow:inset 0 2px color-mix(in oklch,var(--brass),transparent 40%),inset 0 -2px color-mix(in oklch,var(--brass),transparent 40%);animation:turn-sweep 1.9s var(--ease-spring) both}@keyframes turn-sweep{0%{transform:translate(-100vw) skew(-12deg);opacity:0}22%{transform:translate(0) skew(0);opacity:1}72%{transform:translate(0);opacity:1}to{transform:translate(100vw) skew(12deg);opacity:0}}.award-art{width:min(22rem,76vw);height:auto;overflow:visible}.road-art-band,.road-art-inlay{fill:none;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:road-draw 1.2s .25s cubic-bezier(.45,0,.25,1) forwards}.road-art-band{stroke:currentColor;stroke-width:12;filter:drop-shadow(0 3px 4px oklch(0 0 0 / .45))}.road-art-inlay{stroke:var(--piece-inlay);stroke-width:2;animation-delay:.4s}@keyframes road-draw{to{stroke-dashoffset:0}}.road-art-house path{fill:currentColor;stroke:var(--piece-edge);stroke-width:1.6;stroke-linejoin:round}.road-art-house{transform-box:fill-box;transform-origin:bottom center;animation:house-pop .45s 1.4s var(--ease-spring) both}@keyframes house-pop{0%{transform:scale(0)}to{transform:scale(1)}}.army-knight{animation:knight-march .7s calc(.15s + var(--i) * .14s) var(--ease-spring) both}@keyframes knight-march{0%{opacity:0;translate:-60px 0}to{opacity:1;translate:0 0}}.army-shield{fill:currentColor;stroke:var(--piece-edge);stroke-width:2}.army-cross{fill:none;stroke:var(--piece-edge);stroke-width:2.5;stroke-linecap:round}.army-helm{fill:var(--ivory-2);stroke:var(--piece-edge);stroke-width:1.5}.army-spear{stroke:var(--brass);stroke-width:3;stroke-linecap:round}.army-banner{fill:currentColor;stroke:var(--piece-edge);stroke-width:1.5}@media(prefers-reduced-motion:reduce){.moment-band,.moment-card{animation-name:moment-fade}.road-art-band,.road-art-inlay{animation:none;stroke-dashoffset:0}.road-art-house,.army-knight{animation:none}}@keyframes moment-fade{0%,to{opacity:0}10%,85%{opacity:1}}@media(max-width:1439px){.game{grid-template-columns:minmax(0,1fr) 300px}.trade-panel{right:316px}}@media(max-width:1279px){.bar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"hand turn" "build build";row-gap:.5rem}.actions{grid-template-columns:repeat(4,minmax(0,1fr))}.build-btn{min-height:3.4rem;padding:.35rem .5rem}.hand{--card-w: 88px}}@media(max-width:1023px){.game{display:flex;flex-direction:column;height:auto;min-height:100dvh}.board-area{height:clamp(17rem,calc(100dvh - var(--bar-h, 15rem) - 24px),100vw + 4rem)}.bar{position:sticky;bottom:8px;z-index:3;box-shadow:var(--shadow-raise)}.side{grid-template-rows:auto 18rem auto}.player-name{max-width:none}.player-cards{max-height:none;overflow:visible;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr))}.side-foot{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.trade-panel{top:8px;right:8px;left:8px;width:auto;max-height:calc(100dvh - var(--bar-h, 15rem) - 24px)}.trade-panel .btn-primary.btn-block{position:sticky;bottom:0;box-shadow:0 -6px 14px var(--color-surface-2)}.status{font-size:var(--text-md);padding-inline:4.75rem;justify-content:center;flex-wrap:wrap;column-gap:.75rem;row-gap:.25rem;min-height:2.5rem}.reaction-list{width:min(300px,calc(100vw - 40px))}.bubbles{top:3.25rem;left:8px;right:8px;display:flex;flex-direction:column;align-items:center;gap:6px}.bubble{position:static;translate:none;display:inline-flex;align-items:center;gap:.5rem;max-width:100%;padding:.25rem .75rem .25rem .25rem;border-radius:var(--radius-pill)}.bubble-who{display:inline-flex}.bubble-who b{overflow:hidden;text-overflow:ellipsis}.offer-card{width:min(36rem,calc(100% - 1.5rem));bottom:72px}.afk-card{width:min(21rem,calc(100% - 5rem));left:8px}.afk-chip{left:8px}.board-area:has(.offer-card:not(.is-aside)) .afk-chip{visibility:hidden}}@media(max-width:599px),(max-width:1023px)and (max-height:500px)and (orientation:landscape){.bar{grid-template-columns:minmax(0,1fr);grid-template-areas:"hand" "build" "turn";gap:.5rem;padding:.4rem .5rem .5rem}.build-btn{min-height:3.1rem;padding:.3rem .35rem;font-size:var(--text-sm)}.build-btn .build-cost{gap:.2rem}.build-btn{position:relative}.build-btn .badge{position:absolute;top:-7px;right:-4px;margin:0;box-shadow:0 2px 6px #0006}.turn-actions{flex-direction:row;min-width:0}.turn-actions>*{flex:1 1 0}.dice-btn{--die-size: 2.1rem;padding:.35rem}.hand{gap:.5rem;padding-right:4px}.card-row{gap:.3rem}.card-stack{min-width:42px}.card-stack.dev{--dev-w: 52px}.dev-row{padding-left:.4rem}.card-count{top:-6px;right:-4px;min-width:1.35rem;height:1.35rem;padding:0 .3rem;font-size:var(--text-xs)}}@media(max-width:380px){.build-btn{font-size:var(--text-xs);padding-inline:.2rem}}@media(max-width:599px){.offer-chip .bag-chips{display:none}.trade-panel{padding:.7rem .8rem .8rem}.trade-tabs{margin:.4rem 0 .6rem}.trade-section{gap:.5rem}.res-tiles{gap:.35rem}.res-tile-face{padding:.35rem .2rem .3rem}.res-counts{gap:.3rem}.res-counts li{padding:.1rem .35rem}.player-stats{gap:.45rem}.ping-grade{display:none}.toast{bottom:calc(var(--bar-h, 15rem) + 16px)}}@media(max-width:1023px)and (max-height:500px)and (orientation:landscape){.game{display:grid;grid-template-columns:minmax(0,1fr) minmax(19rem,42%);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"board bar" "board side";height:100dvh;min-height:0}.board-area{height:auto}.bar{position:static;box-shadow:var(--shadow-soft)}.side{grid-template-rows:auto 14rem auto;overflow-y:auto}.player-cards{grid-template-columns:minmax(0,1fr)}.trade-panel{top:8px;left:8px;right:calc(42% + 8px);max-height:calc(100dvh - 16px)}.bubbles{top:8px;right:calc(42% + 8px)}.offer-card{bottom:12px;width:calc(100% - 8.5rem)}.afk-card{bottom:8px}.offer-chip{z-index:7}}.theme-curtain{--edge: 56px;position:fixed;z-index:10000;top:0;left:0;width:100%;height:calc(100lvh + 2 * var(--edge));display:grid;grid-template-rows:var(--edge) 1fr var(--edge);pointer-events:none;color:var(--night);transform:translateY(-100%);will-change:transform}.theme-curtain.is-light{color:var(--parchment)}.theme-curtain svg{display:block;width:100%;height:100%;fill:currentColor}.theme-curtain-body{background:currentColor;margin-block:-1px}.results h2{margin:.25rem 2rem 0;display:flex;align-items:center;justify-content:center;gap:.5rem}.results td:first-child{display:flex;align-items:center;gap:.5rem}.results tr.is-winner td{font-weight:700}.results td small.results-awards{display:block;font-size:var(--text-xs);color:var(--color-text-muted)}.results td:last-child{text-align:right;white-space:nowrap;vertical-align:top}.results-share{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.results-share a.btn{text-decoration:none}.results-note{min-height:1.5em;margin:.4rem 0;font-weight:700}.offer-chip.results-chip{left:0;right:0;width:fit-content;margin-inline:auto}@media(max-height:500px){.results .wordmark{display:none}.results td{padding-block:.05rem}}.vitrine{--v-track-sm: .04em;--v-track-xs: .12em;--v-gutter: clamp(16px, 4vw, 50px);--v-blur: 42px;--btn-bg: var(--glass-strong);--btn-fg: var(--color-text);--btn-line: var(--glass-line);--btn-ring: var(--color-text);--btn-primary-bg: var(--color-text);--btn-primary-fg: var(--color-bg);--btn-primary-shadow: var(--glass-shadow);--control-on: var(--color-positive);--control-panel: var(--color-surface);--control-shadow: var(--shadow-raise);min-height:100dvh;display:flex;flex-direction:column;color:var(--color-text);font-family:var(--font-body);overflow-x:clip;position:relative;isolation:isolate}.v-flow{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:var(--color-bg)}.v-stroke{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);border-radius:50%;opacity:var(--flow-strength);filter:blur(var(--v-blur));rotate:var(--r, 0deg);will-change:transform;animation:var(--path, v-drift-a) var(--dur, 48s) ease-in-out infinite alternate;animation-delay:var(--delay, 0s)}.v-stroke-1{--x: -18vw;--y: -14vh;--w: 78vmax;--h: 30vmax;--r: -16deg;--dur: 52s;background:linear-gradient(100deg,transparent 6%,var(--flow-1) 34%,var(--flow-3) 72%,transparent 96%)}.v-stroke-2{--x: 46vw;--y: -18vh;--w: 66vmax;--h: 26vmax;--r: 14deg;--dur: 61s;--delay: -20s;--path: v-drift-b;background:linear-gradient(80deg,transparent 4%,var(--flow-2) 38%,var(--flow-6) 74%,transparent 96%)}.v-stroke-3{--x: 58vw;--y: 38vh;--w: 52vmax;--h: 38vmax;--dur: 44s;--delay: -12s;--path: v-drift-c;background:radial-gradient(closest-side,var(--flow-3),transparent)}.v-stroke-4{--x: -16vw;--y: 52vh;--w: 72vmax;--h: 26vmax;--r: 9deg;--dur: 57s;--delay: -31s;background:linear-gradient(95deg,transparent 5%,var(--flow-4) 36%,var(--flow-6) 70%,transparent 95%)}.v-stroke-5{--x: 18vw;--y: 26vh;--w: 48vmax;--h: 30vmax;--r: -8deg;--dur: 66s;--delay: -8s;--path: v-drift-b;background:radial-gradient(closest-side,var(--flow-5),transparent)}.v-stroke-6{--x: 68vw;--y: 72vh;--w: 50vmax;--h: 22vmax;--r: -24deg;--dur: 49s;--delay: -40s;--path: v-drift-c;background:radial-gradient(closest-side,var(--flow-6),transparent)}.v-stroke-7{--x: 22vw;--y: 78vh;--w: 58vmax;--h: 20vmax;--r: -5deg;--dur: 54s;--delay: -26s;--path: v-drift-a;background:linear-gradient(90deg,transparent 6%,var(--flow-7) 40%,var(--flow-2) 76%,transparent 96%)}.v-flow-veil{position:absolute;inset:0;background:radial-gradient(ellipse 60% 55% at 50% 42%,var(--flow-veil),transparent 80%),linear-gradient(to bottom,transparent 60%,var(--flow-veil))}@keyframes v-drift-a{0%{transform:translate(0) rotate(0) scale(1)}50%{transform:translate(9vw,7vh) rotate(9deg) scale(1.12,.9)}to{transform:translate(-6vw,12vh) rotate(-6deg) scale(.94,1.1)}}@keyframes v-drift-b{0%{transform:translate(0) rotate(0) scale(1)}50%{transform:translate(-11vw,9vh) rotate(-10deg) scale(.9,1.15)}to{transform:translate(5vw,16vh) rotate(7deg) scale(1.1,.95)}}@keyframes v-drift-c{0%{transform:translate(0) rotate(0) scale(1)}50%{transform:translate(-8vw,-10vh) rotate(14deg) scale(1.18)}to{transform:translate(6vw,-4vh) rotate(-8deg) scale(.92)}}@media(max-width:767px){.vitrine{--v-blur: 30px}}.v-ribbon{position:absolute;left:var(--x);top:var(--y);width:var(--s);height:var(--s);margin:calc(var(--s) / -2) 0 0 calc(var(--s) / -2);overflow:visible;opacity:var(--ribbon-strength);rotate:var(--r);will-change:transform;animation:v-turn var(--dur) ease-in-out infinite alternate;animation-delay:var(--delay, 0s)}.v-ribbon ellipse{fill:none}.v-ribbon-body{stroke-width:96}.v-ribbon-fold{stroke:var(--flow-fold);stroke-width:46}.v-ribbon-rim{stroke-width:2.4}.v-ribbon-rim.is-inner{stroke-width:1.2;opacity:.6}.v-ribbon-1{--x: 38vw;--y: 34vh;--s: 150vmax;--r: -22deg;--dur: 38s}.v-ribbon-2{--x: 70vw;--y: 70vh;--s: 110vmax;--r: 28deg;--dur: 46s;--delay: -17s}.v-ribbon-3{--x: 12vw;--y: 88vh;--s: 90vmax;--r: -8deg;--dur: 33s;--delay: -9s}@keyframes v-turn{0%{transform:rotate(0) scaleY(.72)}50%{transform:rotate(16deg) scale(1.06,1.12)}to{transform:rotate(34deg) scale(.96,.6)}}@media(prefers-reduced-motion:reduce){.v-stroke,.v-ribbon{animation:none}}.v-glass,.v-links,.lobby-panel,.lobby-card{background:var(--glass);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);box-shadow:inset 0 0 0 1px var(--glass-line),var(--glass-shadow)}.v-nav{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 20px;padding:22px var(--v-gutter)}.v-links{margin-left:auto}.v-theme{min-width:44px;min-height:44px;padding:0;border-radius:50%;background:var(--glass);border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);font-size:18px}.v-wordmark{font-family:var(--font-outlier);font-size:36px;line-height:1.2;color:var(--color-text);text-decoration:none;border-radius:var(--radius-control)}.v-wordmark:focus-visible{outline:2px solid var(--btn-ring);outline-offset:4px}.v-links{display:flex;gap:2px;list-style:none;margin:0;padding:4px;align-items:center;border-radius:var(--radius-pill)}.v-links .btn{font-size:14px;font-weight:600;letter-spacing:var(--v-track-sm)}.v-links .btn[data-status=active]{--_bg: var(--glass-strong);--_line: var(--glass-line)}.vitrine .btn{letter-spacing:var(--v-track-sm);font-weight:600}.v-input{font:inherit;font-size:16px;letter-spacing:var(--v-track-sm);text-transform:none;color:var(--color-text);background:var(--glass-strong);border:0;border-radius:var(--radius-button);box-shadow:inset 0 0 0 1px var(--glass-line);min-height:2.75rem;padding:0 1.1rem;min-width:0;width:100%;transition:box-shadow var(--ease-fast)}.v-input::placeholder{color:var(--color-text-muted)}.v-input:hover{box-shadow:inset 0 0 0 1px var(--color-text-muted)}.v-input:focus-visible{outline:2px solid var(--btn-ring);outline-offset:2px}.v-hero{flex:1 0 auto;display:grid;grid-template-rows:1fr auto;gap:24px;padding:32px var(--v-gutter) 0}.v-hero-main{align-self:center;justify-self:center;display:grid;justify-items:center;text-align:center;max-width:900px;min-width:0;width:100%}.v-statement{display:grid;justify-items:center;gap:18px;margin:0;color:var(--color-text)}.v-statement-name{font-family:var(--font-script);font-weight:400;font-size:clamp(64px,13vw,176px);line-height:1.15;padding-inline:.1em}.v-statement-line{font-family:var(--font-body);font-weight:600;font-size:clamp(13px,1.3vw,17px);line-height:1.6;letter-spacing:.22em;text-transform:uppercase;color:var(--color-text-muted);max-width:34ch;text-wrap:balance}.v-hero-actions{display:flex;gap:16px 20px;justify-content:center;flex-wrap:wrap;margin-top:44px;align-items:center}.v-join{display:inline-flex;gap:12px;align-items:end;padding:10px 10px 10px 16px;border-radius:24px;background:var(--glass);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);box-shadow:inset 0 0 0 1px var(--glass-line),var(--glass-shadow)}.v-code{position:relative;display:grid;gap:6px;cursor:text;min-width:0}.v-code-label{font-size:11px;font-weight:600;letter-spacing:var(--v-track-xs);text-transform:uppercase;color:var(--color-text-muted);text-align:left;padding-left:2px}.v-code-cells{display:grid;grid-template-columns:repeat(6,2.2rem);gap:5px}.v-code-cell{display:grid;place-items:center;height:3rem;font-family:var(--font-display);font-size:22px;line-height:1;color:var(--color-text);background:var(--glass-strong);border-radius:var(--radius-control);box-shadow:inset 0 0 0 1.5px color-mix(in oklch,var(--color-text) 28%,transparent);transition:background-color var(--ease-fast),color var(--ease-fast),box-shadow var(--ease-fast),transform var(--dur-settle) var(--ease-spring)}.v-code-cell.is-filled{box-shadow:inset 0 0 0 1.5px var(--color-text)}.v-code-cell.is-caret{box-shadow:inset 0 0 0 2px var(--color-text);animation:v-caret 1s steps(2) infinite}.v-code.is-full .v-code-cell{background:var(--color-text);color:var(--color-bg);box-shadow:inset 0 0 0 1.5px var(--color-text);transform:translateY(-2px)}.v-code:hover:not(.is-full) .v-code-cell:not(.is-filled):not(.is-caret){box-shadow:inset 0 0 0 1.5px color-mix(in oklch,var(--color-text) 60%,transparent)}.v-code-input{position:absolute;inset:auto 0 0;height:3rem;width:100%;margin:0;padding:0;font:inherit;font-size:16px;color:transparent;caret-color:transparent;background:transparent;border:0;outline:none;letter-spacing:2.1rem}.v-code-input::selection{background:transparent}.v-code.is-focused .v-code-cells{outline:2px solid var(--btn-ring);outline-offset:4px;border-radius:var(--radius-control)}@keyframes v-caret{50%{box-shadow:inset 0 0 0 2px color-mix(in oklch,var(--color-text) 25%,transparent)}}.v-join-btn{min-height:3rem}.v-join-btn.is-armed{animation:v-arm var(--dur-settle) var(--ease-spring)}@keyframes v-arm{0%{transform:scale(.94)}60%{transform:scale(1.04)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.v-code-cell.is-caret,.v-join-btn.is-armed{animation:none}}.guide{overflow:visible}.guide-wire,.guide-wire-edge,.guide-wire-shine{fill:none;stroke-linecap:round;stroke-linejoin:round}.guide-wire-edge{stroke:var(--clip-edge);stroke-width:8.5}.guide-wire{stroke:var(--clip-wire);stroke-width:6}.guide-wire-shine{stroke:var(--clip-shine);stroke-width:1.4;stroke-dasharray:26 14}.guide-floor{fill:var(--clip-floor)}.guide-eye-white{fill:var(--clip-eye);stroke:var(--clip-eye-edge);stroke-width:1.4}.guide-pupil circle{fill:var(--clip-pupil)}.guide-pupil .guide-glint{fill:var(--clip-eye)}.guide-brow{fill:none;stroke:var(--clip-edge);stroke-width:2.4;stroke-linecap:round}.guide-eyes{transform-box:fill-box;transform-origin:center;animation:guide-blink 4.6s 1.5s ease-in-out infinite}.guide-pupil{animation:guide-look 9s 2s ease-in-out infinite}.guide-wave{transform-box:fill-box;transform-origin:50% 100%}.guide.is-waving .guide-wave{animation:guide-sway 1.8s .6s var(--ease-spring) 2}@keyframes guide-blink{0%,92%,to{scale:1 1}95%{scale:1 .1}}@keyframes guide-look{0%,30%,to{translate:0 0}38%,55%{translate:-2.2px .6px}63%,80%{translate:1.4px -1px}}@keyframes guide-sway{0%,to{rotate:0deg}30%{rotate:-7deg}65%{rotate:5deg}}.v-guide{justify-self:end;display:flex;align-items:flex-end;gap:2px;margin-right:clamp(0px,4vw,60px)}.v-guide-figure{flex:none;line-height:0;margin-left:-28px}.v-guide-figure .guide{display:block;animation:guide-rise .7s .3s var(--ease-spring) both}@keyframes guide-rise{0%{translate:0 30px;opacity:0}}.v-guide-bubble{position:relative;display:grid;gap:10px;justify-items:start;margin-bottom:70px;padding:14px 16px;border-radius:18px 18px 4px;color:var(--color-text);background:var(--glass-strong);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:inset 0 0 0 1px var(--glass-line),var(--glass-shadow);animation:pop-in .4s .9s var(--ease-spring) both;transform-origin:bottom right}.v-guide-bubble p{margin:0;font-family:var(--font-display);font-size:20px;line-height:1.2}@media(prefers-reduced-motion:reduce){.guide *,.v-guide-figure .guide,.v-guide-bubble{animation:none!important}}.v-section{padding:0 var(--v-gutter) 80px;width:100%;max-width:1280px;margin-inline:auto}.v-caption{font-size:11px;font-weight:600;letter-spacing:var(--v-track-xs);text-transform:uppercase;color:var(--color-text-muted);margin:0 0 16px}.v-heading{font-family:var(--font-display);font-size:clamp(30px,4vw,44px);line-height:1.2;margin:0 0 18px}.v-body{font-size:15px;line-height:1.55;color:var(--color-text-muted);max-width:60ch}.v-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.v-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 18px;background:var(--glass-strong);border-radius:var(--radius-card);box-shadow:inset 0 0 0 1px var(--glass-line)}.v-row-name{font-size:17px;font-weight:600;color:var(--color-text);overflow-wrap:anywhere;min-width:0}.v-chip{font-size:11px;font-weight:600;letter-spacing:var(--v-track-xs);text-transform:uppercase;color:var(--color-text);padding:5px 10px;background:color-mix(in oklch,var(--color-text) 10%,transparent);border-radius:var(--radius-pill)}.v-chip.is-quiet{color:var(--color-text-muted);background:transparent;box-shadow:inset 0 0 0 1px var(--glass-line)}.v-row-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.v-field{display:grid;gap:8px;font-size:11px;font-weight:600;letter-spacing:var(--v-track-xs);text-transform:uppercase;color:var(--color-text-muted)}.v-score{font-family:var(--font-display);font-size:28px;line-height:1;color:var(--color-text)}.v-error{font-size:14px;font-weight:600;color:var(--v-error);margin:18px 0 0;padding:8px 14px;border-radius:var(--radius-pill);background:var(--glass-strong)}.v-foot{margin-top:auto;padding:24px var(--v-gutter);font-size:11px;font-weight:600;letter-spacing:var(--v-track-xs);text-transform:uppercase;line-height:1.6;color:var(--color-text-muted);display:flex;gap:12px 32px;flex-wrap:wrap;background:var(--glass);box-shadow:inset 0 1px 0 var(--glass-line)}.v-foot-end{margin-left:auto}.v-foot a{color:var(--color-text);text-decoration:underline;text-underline-offset:3px}.v-history .v-row{grid-template-columns:minmax(0,1fr)}.v-history-head{display:flex;justify-content:space-between;gap:6px 20px;flex-wrap:wrap;font-size:11px;font-weight:600;letter-spacing:var(--v-track-xs);text-transform:uppercase;color:var(--color-text-muted);margin-bottom:12px}.v-history-seats{list-style:none;padding:0;margin:0;display:grid;gap:8px}.v-history-seats li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;font-size:14px;font-variant-numeric:tabular-nums}.v-history-seats li.is-winner .v-row-name:after{content:"  — winner";font-weight:400;color:var(--color-text-muted)}.lobby-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;padding-top:40px;padding-bottom:40px}.lobby-head .v-caption{margin-bottom:6px}.lobby-code{font-family:var(--font-display);font-size:clamp(40px,6vw,64px);line-height:1.1;letter-spacing:.16em;margin:0}.lobby-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;align-items:start}.lobby-panel,.lobby-card{border-radius:calc(var(--radius-card) + 8px);padding:24px;min-width:0}.lobby-seats{gap:8px}.v-you{font-weight:400;color:var(--color-text-muted)}.v-ready{font-size:11px;font-weight:600;letter-spacing:var(--v-track-xs);text-transform:uppercase;color:var(--color-text-muted);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.v-ready:before{content:"";width:8px;height:8px;border-radius:50%;box-shadow:inset 0 0 0 1.5px currentColor}.v-ready.is-ready{color:var(--color-positive)}.v-ready.is-ready:before{background:currentColor}.v-row-empty{display:block;font-size:14px;color:var(--color-text-muted);background:transparent}.lobby-me{margin-top:20px}.lobby-join{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.lobby-join .v-field{flex:1 1 220px}.lobby-seated{display:flex;gap:12px 20px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:8px 8px 8px 20px;border-radius:var(--radius-pill);box-shadow:inset 0 0 0 1px var(--glass-line)}.lobby-seated .switch{font-size:15px;min-height:44px}.lobby-card{display:grid;gap:20px}.lobby-card .v-caption{margin:0}.lobby-fields{display:grid;gap:14px}.vitrine .select-label{font-size:11px;font-weight:600;letter-spacing:var(--v-track-xs);text-transform:uppercase;color:var(--color-text-muted)}.vitrine .select-trigger{min-width:0}.vitrine .select-value{overflow:hidden;text-overflow:ellipsis;min-width:0}.vitrine .select-option{font-size:14px}.lobby-note{margin:0;font-size:13.5px}.lobby-wait{margin:0;font-size:14px;font-weight:600;color:var(--color-text-muted);text-align:center;padding:14px;border-radius:var(--radius-pill);box-shadow:inset 0 0 0 1px var(--glass-line)}@media(pointer:coarse){.vitrine .btn,.vitrine .select-option{min-height:44px}.v-wordmark{display:inline-flex;align-items:center;min-height:44px}.v-foot a{display:inline-block;padding-block:14px;margin-block:-14px}}@media(max-width:899px){.lobby-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:767px){.v-hero{padding-top:16px}.v-hero-actions{margin-top:32px;flex-direction:column;align-items:stretch;width:min(100%,380px);margin-inline:auto}.v-join{display:grid;padding:12px}.v-code-cells{grid-template-columns:repeat(6,minmax(0,1fr))}.v-join-btn{width:100%}.v-guide{margin-right:0}.v-guide-figure{margin-left:-24px}.v-guide-figure .guide{width:120px;height:120px}.v-guide-bubble{margin-bottom:56px;padding:10px 12px}.v-guide-bubble p{font-size:17px}.lobby-panel,.lobby-card{padding:16px}.lobby-seated{gap:8px;padding:6px 6px 6px 14px}.v-row{grid-template-columns:auto minmax(0,1fr);padding:12px 14px}.v-row>.v-row-meta{grid-column:1 / -1}.v-foot-end{margin-left:0}}@media(max-width:559px){.v-nav{padding-top:14px;padding-bottom:8px}.v-wordmark{font-size:30px}.v-links{order:1;width:100%;margin-left:0;justify-content:space-between}.v-links li{flex:1 1 auto}.v-links .btn{width:100%;padding:0 .5rem;font-size:13px;letter-spacing:0}.lobby-head .btn,.lobby-join .btn{width:100%}}@media(max-width:359px){.v-links .btn{padding:0 .3rem;font-size:12px}.v-code-cells{gap:4px}}@media(max-height:500px)and (orientation:landscape){.v-nav{padding-top:10px;padding-bottom:6px}.v-statement-name{font-size:clamp(48px,9vw,80px)}.v-statement{gap:8px}.v-hero-actions{margin-top:20px;flex-direction:row;width:auto;align-items:center}.v-join{display:inline-flex}.v-code-cells{grid-template-columns:repeat(6,2.1rem)}.v-join-btn{width:auto}.lobby-head{padding-top:16px;padding-bottom:20px}}.wave{position:fixed;inset:0;z-index:100;overflow:hidden;pointer-events:none}.wave[data-phase=idle]{visibility:hidden}.wave:not([data-phase=idle]){pointer-events:auto}.wave-layer{position:absolute;top:0;left:0;width:150vw;height:100%;transform:translate(100vw);will-change:transform}.wave-layer svg{display:block;width:100%;height:100%}.wave-rim{fill:none;stroke:var(--wave-rim);stroke-width:2}.wave-layer-1 .wave-rim,.wave-layer-2 .wave-rim{stroke:var(--wave-1-a)}.wave-layer-1{--in-delay: 0ms;--out-delay: .12s}.wave-layer-2{--in-delay: 60ms;--out-delay: 60ms}.wave-layer-3{--in-delay: .12s;--out-delay: 0ms}.wave:is([data-phase=in],[data-phase=hold]) .wave-layer{transform:translate(-25vw);transition:transform .42s cubic-bezier(.55,0,.25,1) var(--in-delay)}.wave[data-phase=out] .wave-layer{transform:translate(-150vw);transition:transform .5s cubic-bezier(.45,0,.3,1) var(--out-delay)}.wave:is([data-phase=hold],[data-phase=out]) .wave-layer svg{animation:wave-ebb 1.6s ease-in-out infinite alternate}.wave-layer-2 svg{animation-delay:-.5s}@keyframes wave-ebb{to{transform:translate(-3.5vw)}}.wave-mark{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--font-display);font-size:clamp(3.5rem,14vmin,7rem);color:var(--wave-mark);opacity:0;transition:opacity .2s ease-out}.wave[data-phase=hold] .wave-mark{opacity:.85;transition:opacity .5s ease-out .45s;animation:wave-breathe 2.2s ease-in-out infinite alternate}@keyframes wave-breathe{to{scale:1.06}}@media(prefers-reduced-motion:reduce){.wave .wave-layer,.wave:is([data-phase=in],[data-phase=hold],[data-phase=out]) .wave-layer{transform:translate(-25vw);opacity:0;transition:opacity .18s ease-out}.wave:is([data-phase=in],[data-phase=hold]) .wave-layer{opacity:1}.wave .wave-layer svg,.wave[data-phase=hold] .wave-mark{animation:none}}.learn{position:relative}.tut{--tut-z: 8;--tut-ring: var(--brass);--tut-dim: oklch(.13 .018 272 / .72)}.tut.is-waiting{--tut-dim: oklch(.13 .018 272 / .45)}.tut-scrim{position:fixed;inset:0;width:100%;height:100%;z-index:var(--tut-z);overflow:visible;pointer-events:none}.tut-scrim path{fill:var(--tut-dim);pointer-events:visiblePainted;transition:fill .3s var(--ease-spring)}.tut-scrim.is-clear path{pointer-events:none}.tut-hole{position:fixed;z-index:var(--tut-z);border-radius:var(--radius-card);box-shadow:inset 0 0 0 2px var(--tut-ring),0 0 0 1px #05070e80,0 0 40px #e5be7740}.tut-hole:after{content:"";position:absolute;inset:-6px;border-radius:calc(var(--radius-card) + 6px);border:2px dashed color-mix(in oklch,var(--tut-ring),transparent 35%);animation:tut-breathe 2.4s var(--ease-spring) infinite}.tut-hole.is-live{pointer-events:none;box-shadow:inset 0 0 0 2.5px var(--tut-ring),0 0 0 1px #05070e80,0 0 60px #e5be7773}[data-tut-locked]{opacity:.4;filter:saturate(.4);pointer-events:none}@keyframes tut-breathe{0%,to{opacity:.55;scale:1}50%{opacity:1;scale:1.012}}.tut-card{position:fixed;z-index:calc(var(--tut-z) + 1);width:min(400px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:hidden;display:flex;flex-direction:column;gap:.8rem;padding:1.1rem 1.2rem 1rem;color:var(--ivory);background:var(--night-3);border-radius:var(--radius-card);box-shadow:var(--shadow-raise),inset 0 0 0 1.5px color-mix(in oklch,var(--brass),transparent 45%);font-size:var(--text-md);line-height:1.5;animation:tut-in var(--dur-settle) var(--ease-spring) both;--color-text: var(--ivory);--color-text-muted: var(--ivory-2);--btn-bg: var(--night-4);--btn-fg: var(--ivory);--btn-line: var(--border-on-night);--btn-ring: var(--brass);--btn-primary-bg: var(--brass);--btn-primary-fg: var(--night);--btn-primary-shadow: 0 6px 16px oklch(.82 .1 82 / .3)}.tut-card>*{flex:none}.tut-scroll{flex:0 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:grid;grid-auto-rows:max-content;gap:.8rem;scrollbar-width:thin;scrollbar-color:var(--border-on-night) transparent}.tut-card.is-center{left:50%;top:50%;translate:-50% -50%}.tut-card.is-sheet{left:8px;right:8px;bottom:8px;width:auto;max-width:40rem;margin-inline:auto;max-height:46dvh;gap:.55rem;padding:.75rem .9rem calc(.7rem + env(safe-area-inset-bottom));font-size:var(--text-sm)}.tut-card.is-sheet.is-high{top:8px;bottom:auto;padding:calc(.75rem + env(safe-area-inset-top)) .9rem .7rem}.tut-card.is-side{top:8px;width:min(21rem,calc(50vw - 16px));max-height:calc(100dvh - 16px);gap:.5rem;padding:.7rem .85rem .65rem;font-size:var(--text-sm)}.tut-card.is-side.is-left{left:8px}.tut-card.is-side.is-right{right:8px}.tut-card:is(.is-sheet,.is-side) .tut-scroll{gap:.55rem}.tut-card:is(.is-sheet,.is-side) .tut-title{margin-bottom:0;font-size:var(--text-lg)}.tut-card:is(.is-sheet,.is-side) .tut-art{min-height:0;padding:.35rem;zoom:.72}@media(max-width:759px),(max-height:500px){.tut-card.is-center{gap:.6rem;padding:.85rem 1rem .75rem}.tut-card.is-center .tut-art{min-height:0;padding:.35rem;zoom:.72}.tut-card.is-center .tut-title{margin-bottom:0;font-size:var(--text-lg)}}.tut-card:is(.is-sheet,.is-side) .tut-task{padding:.4rem .6rem}.tut-card:is(.is-sheet,.is-side) .tut-foot{margin-top:0}.tut-card.is-folded{flex-direction:row;align-items:center;gap:.5rem;padding:.45rem .5rem .45rem .6rem}.tut-card.is-sheet.is-folded:not(.is-high){padding-bottom:calc(.45rem + env(safe-area-inset-bottom))}.tut-card.is-sheet.is-high.is-folded{padding-top:calc(.45rem + env(safe-area-inset-top))}.tut-card.is-folded :is(.tut-head,.tut-foot,.tut-nav){display:contents}.tut-card.is-folded :is(.tut-count,.tut-scroll,.tut-foot>.btn-ghost,.tut-nav>.btn-icon){display:none}.tut-card.is-folded .tut-title{flex:1 1 0;min-width:0;margin:0;font-size:var(--text-md)}.tut-card.is-folded:has(.tut-task) .tut-title{display:none}.tut-card.is-folded .tut-task{flex:1 1 0;min-width:0;padding:.3rem .5rem;gap:.45rem;font-size:var(--text-sm);line-height:1.3}.tut-card.is-folded .tut-task-mark{width:1.25rem;height:1.25rem}.tut-card.is-folded .tut-fold{order:1;margin:0}.tut-card.is-folded .tut-nav>.btn-primary{order:2}.tut-spacer{height:46dvh}.tut-fold{grid-area:fold;display:inline-flex;align-items:center;gap:.35rem;min-height:2rem;margin:-.35rem -.4rem 0 0;padding:0 .5rem;font:inherit;font-size:var(--text-xs);font-weight:700;color:var(--ivory-2);background:transparent;border:0;border-radius:var(--radius-control);cursor:pointer}.tut-fold:hover{color:var(--ivory)}.tut-fold:focus-visible{outline:2px solid var(--brass);outline-offset:1px}.tut-fold-mark{width:.45rem;height:.45rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;rotate:45deg;translate:0 -.1rem}.tut-fold[aria-expanded=false] .tut-fold-mark{rotate:-135deg;translate:0 .1rem}@keyframes tut-in{0%{opacity:0;scale:.94}}.tut-head{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"count fold" "title title";align-items:center;gap:.15rem}.tut-count{grid-area:count;margin:0;font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--brass)}.tut-title{grid-area:title;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;font-size:var(--text-xl);line-height:1.15;color:var(--ivory);outline:none}.tut-body{display:grid;gap:.6rem;color:var(--ivory)}.tut-body p,.tut-body ul{margin:0}.tut-body ul{padding-left:1.1rem;display:grid;gap:.2rem}.tut-body strong{color:var(--brass);font-weight:700}.tut-body kbd{font:inherit;font-size:var(--text-xs);font-weight:700;padding:0 .4rem;border-radius:6px;background:var(--night-4);box-shadow:inset 0 0 0 1px var(--border-on-night)}.tut-task{display:flex;align-items:center;gap:.6rem;margin:0;padding:.55rem .75rem;font-weight:600;color:var(--ivory);background:color-mix(in oklch,var(--brass),transparent 86%);border-radius:var(--radius-control);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--brass),transparent 55%)}.tut-task-mark{display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;flex:none;border-radius:50%;background:var(--brass);color:var(--night);font-weight:700;font-size:var(--text-sm)}.tut-task.is-done{background:color-mix(in oklch,var(--turquoise),transparent 86%);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--turquoise),transparent 50%)}.tut-task.is-done .tut-task-mark{background:var(--turquoise)}.tut-task.is-waiting{background:var(--night-4);box-shadow:inset 0 0 0 1px var(--border-on-night);color:var(--ivory-2)}.tut-spin{background:transparent;border:2px solid var(--brass);border-right-color:transparent;animation:btn-spin .9s linear infinite}.tut-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.2rem}.tut-nav{display:inline-flex;gap:.4rem}.tut-nav .btn-primary.is-ready{animation:chip-nudge 1.4s var(--ease-spring) 2}.tut-resume{position:fixed;top:52px;left:50%;translate:-50% 0;z-index:8;display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .9rem .4rem .7rem;font:inherit;font-weight:700;font-size:var(--text-sm);color:var(--ivory);background:var(--night-3);border:0;border-radius:var(--radius-pill);box-shadow:var(--shadow-raise),inset 0 0 0 1.5px var(--brass);cursor:pointer;animation:pop-in var(--dur-settle) var(--ease-spring)}.tut-resume:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.tut-resume-dot{width:8px;height:8px;border-radius:50%;background:var(--brass)}.tut-art{display:grid;place-items:center;min-height:7rem;padding:.6rem .4rem;background:var(--night-2);border-radius:var(--radius-control);overflow:hidden}.art{display:grid;place-items:center}.art-victory{gap:.5rem}.art-vp-number{font-family:var(--font-outlier);font-size:3.4rem;line-height:1;color:var(--brass)}.art-stars{display:flex;gap:4px}.art-stars svg{width:22px;height:22px;fill:var(--night-4);animation:art-star .5s calc(.35s + var(--i) * .13s) var(--ease-spring) both}@keyframes art-star{to{fill:var(--brass);filter:drop-shadow(0 0 4px oklch(.82 .1 82 / .6))}}.art-hex{display:block;width:64px;aspect-ratio:1 / 1.1547;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background-size:cover;background-position:center}.art-card{display:grid;place-items:center;width:36px;aspect-ratio:5 / 7;border-radius:4px;background:var(--night-4) center / cover no-repeat;box-shadow:var(--shadow-soft)}.art-card-lg{width:56px;border-radius:6px}.art-terrain{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;width:100%;justify-items:stretch;align-items:start;row-gap:4px}.art-terrain li{display:grid;grid-row:span 3;grid-template-rows:subgrid;justify-items:center;align-items:start;animation:art-rise .45s calc(var(--i) * .11s) var(--ease-spring) both}.art-terrain .art-card{animation:art-drop .5s calc(.5s + var(--i) * .11s) var(--ease-spring) both}.art-terrain small{font-size:10px;line-height:1.2;text-align:center;color:var(--ivory-2)}.art-terrain .art-hex{width:100%;max-width:62px}@keyframes art-rise{0%{opacity:0;translate:0 8px}}@keyframes art-drop{0%{opacity:0;translate:0 -14px}}.art-dice{gap:.7rem;width:100%}.art-dice-pair{position:relative;display:flex;gap:.6rem;align-items:center;--die-size: 2.6rem}.art-die{animation:die-tumble .7s var(--ease-spring) both}.art-die.second{animation-delay:60ms}.art-dice-sum{font-family:var(--font-display);font-size:var(--text-xl);color:var(--brass);margin-left:.3rem;animation:art-rise .4s .7s var(--ease-spring) both}.art-odds{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:3px;width:100%;align-items:end}.art-odds li{display:grid;justify-items:center;gap:3px}.art-odds-bar{width:70%;height:calc(6px + var(--p) * 7px);border-radius:3px 3px 0 0;background:var(--ivory-2);transform-origin:bottom;animation:art-grow .6s .5s var(--ease-spring) both}.art-odds .is-red .art-odds-bar{background:var(--ruby)}.art-odds .is-seven .art-odds-bar{background:var(--night-4);box-shadow:inset 0 0 0 1px var(--ivory-2)}.art-odds-n{font-family:var(--font-display);font-size:var(--text-xs);color:var(--ivory-2)}.art-odds .is-red .art-odds-n{color:var(--ruby);font-weight:700}@keyframes art-grow{0%{scale:1 0}}.art-fan{list-style:none;margin:0;padding:.3rem 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;width:100%;justify-items:stretch;align-items:start;row-gap:5px}.art-fan li{display:grid;grid-row:span 2;grid-template-rows:subgrid;justify-items:center;align-items:start;animation:art-rise .45s calc(var(--i) * 90ms) var(--ease-spring) both}.art-fan .art-card-lg{width:100%;max-width:58px}.art-card-name{display:grid;justify-items:center;font-size:11px;font-weight:700;line-height:1.15;text-align:center;color:var(--ivory)}.art-costs{list-style:none;margin:0;padding:0;display:grid;gap:.35rem;width:100%}.art-costs li{display:grid;grid-template-columns:auto 6.5rem auto minmax(0,1fr);align-items:center;gap:.5rem;animation:art-slide .4s calc(var(--i) * .12s) var(--ease-spring) both}@keyframes art-slide{0%{opacity:0;translate:-10px 0}}.art-piece{color:var(--player-1);display:grid;place-items:center}.art-glyph{overflow:visible}.art-building{fill:currentColor;stroke:var(--piece-edge);stroke-width:1.6;stroke-linejoin:round}.art-door{fill:var(--piece-door)}.art-road-edge{stroke:var(--piece-edge);stroke-width:9;stroke-linecap:round}.art-road-fill{stroke:currentColor;stroke-width:6.5;stroke-linecap:round}.art-road-inlay{stroke:var(--piece-inlay);stroke-width:1.2;stroke-linecap:round;stroke-dasharray:2 3}.art-cardback{fill:var(--night-4);stroke:var(--brass);stroke-width:1.5}.art-cardstar{fill:var(--brass)}.art-piece-name{font-weight:700;font-size:var(--text-sm)}.art-equals{color:var(--ivory-2)}.art-cost{display:flex;gap:3px;flex-wrap:wrap}.art-chip{display:inline-grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:6px;background:var(--night-4);box-shadow:inset 0 0 0 1px var(--border-on-night)}.art-trade{gap:.8rem}.art-swap{display:flex;align-items:center;gap:.8rem}.art-swap-side{display:inline-flex;gap:4px}.art-swap-a{animation:art-swap-right 1.6s .4s var(--ease-spring) both}.art-swap-b{animation:art-swap-left 1.6s .4s var(--ease-spring) both}.art-swap-arrow{font-size:1.6rem;color:var(--brass)}@keyframes art-swap-right{50%,to{translate:calc(100% + 3.2rem) 0}}@keyframes art-swap-left{50%,to{translate:calc(-100% - 3.6rem) 0}}.art-harbors{display:flex;gap:.6rem}.art-harbor{display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .6rem;border-radius:var(--radius-pill);background:var(--night-2);box-shadow:inset 0 0 0 2px currentColor;font-weight:700;font-size:var(--text-sm);color:var(--harbor-generic);animation:art-rise .45s .9s var(--ease-spring) both}.art-harbor.res-wool .icon-wool{color:var(--ivory)}.art-harbor+.art-harbor{animation-delay:1.05s}.art-harbor+.art-harbor+.art-harbor{animation-delay:1.2s}.art-robber{position:relative;display:flex;gap:1.6rem;padding:.4rem 0 .3rem}.art-robber .art-hex{width:74px}.art-token{position:absolute;right:20px;top:32px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ivory);color:var(--ruby);font-family:var(--font-display);font-weight:700;font-size:15px;box-shadow:0 0 0 1.5px var(--cedar);animation:art-token-dim 1.2s 1s var(--ease-spring) both}@keyframes art-token-dim{to{opacity:.45}}.art-robber-figure{position:absolute;left:26px;top:12px;width:26px;height:34px;fill:var(--night);stroke:var(--ivory);stroke-width:1.5;animation:art-hop 1.2s .6s var(--ease-spring) both}@keyframes art-hop{40%{translate:50px -26px;rotate:-8deg}to{translate:100px 0;rotate:0deg}}.art-stolen{position:absolute;right:4px;bottom:2px;width:26px;animation:art-steal .9s 1.7s var(--ease-spring) both}@keyframes art-steal{to{translate:-130px -20px;rotate:-18deg;opacity:0}}.art-awards{gap:.3rem;width:100%}.art-awards .award-art{width:100%;max-width:20rem}.art-turn{list-style:none;margin:0;padding:.4rem 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;position:relative}.art-turn:before{content:"";position:absolute;left:12.5%;right:12.5%;top:calc(.4rem + 9px);height:2px;background:var(--night-4)}.art-turn li{display:grid;justify-items:center;gap:6px;position:relative}.art-turn-dot{width:20px;height:20px;border-radius:50%;background:var(--night-4);box-shadow:inset 0 0 0 2px var(--ivory-2);animation:art-stage 4.8s calc(var(--i) * 1.2s) var(--ease-spring) infinite}.art-turn-label{font-weight:700;font-size:var(--text-sm)}@keyframes art-stage{0%,20%{background:var(--brass);box-shadow:inset 0 0 0 2px var(--brass);scale:1.15}30%,to{background:var(--night-4);box-shadow:inset 0 0 0 2px var(--ivory-2);scale:1}}.art-table{position:relative;width:150px;height:150px}.art-seat{position:absolute;left:50%;top:50%;margin:-15px;rotate:var(--a);translate:0 -58px;animation:art-seat 4s calc(var(--i) * .5s) var(--ease-spring) infinite}.art-seat .avatar{rotate:calc(var(--a) * -1)}@keyframes art-seat{0%,12%{scale:1.2}20%,to{scale:1}}.art-table-centre{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--font-outlier);font-size:2.4rem;color:var(--brass)}.art-guide .guide{animation:guide-bob 3s ease-in-out infinite alternate}@keyframes guide-bob{0%{translate:0 2px}to{translate:0 -3px}}@media(prefers-reduced-motion:reduce){.tut-hole:after,.tut-nav .btn-primary.is-ready,.art *,.art{animation:none!important}.art-stars svg{fill:var(--brass)}.art-swap-a{translate:calc(100% + 3.2rem) 0}.art-swap-b{translate:calc(-100% - 3.6rem) 0}.art-robber-figure{translate:100px 0}.art-stolen{opacity:0}}
