@font-face{font-family:Grenze;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/grenze-latin-600-normal-TzCP4au2.woff2)format("woff2"),url(/assets/grenze-latin-600-normal-CBR8rAgh.woff)format("woff")}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-latin-400-normal-DtLlO8BS.woff2)format("woff2"),url(/assets/alegreya-sans-latin-400-normal-DmA8jeke.woff)format("woff")}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sans-latin-700-normal-DEbcy2sF.woff2)format("woff2"),url(/assets/alegreya-sans-latin-700-normal-BnzUNlma.woff)format("woff")}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/alegreya-sans-latin-800-normal-CpHsWMQ0.woff2)format("woff2"),url(/assets/alegreya-sans-latin-800-normal-17etSahV.woff)format("woff")}:root{--color-board:#171b20;--color-map:#1f252b;--color-surface:#262d34;--color-surface-raised:#323a43;--color-line:#45505a;--color-control:#808b96;--color-trim:#6b6048;--color-depth:#0e1114;--color-ink:#f0e7d3;--color-ink-soft:#b4ad9d;--color-ok:#7fc08a;--color-warn:#e6b55c;--color-error:#f39a88;--color-primary:#f0e7d3;--color-on-primary:#171b20;--color-brand:#8f2d22;--color-on-brand:#f6ecd6;--color-region-plain:#4f5446;--color-region-forge:#6e4b3d;--color-region-shrine:#70768f;--color-road:#7a705c;--color-label:#12161a;--player-0:#d24a30;--player-1:#3c66c4;--player-2:#3d8a57;--player-3:#e0b62c;--player-4:#7d4fb0;--player-5:#e07b28;--player-6:#2aa6a0;--player-7:#d86a93;--color-on-player-light:#f6ecd6;--color-on-player-dark:#1d2227;--mix-home:58%;--font-display:"Grenze", Georgia, serif;--font-body:"Alegreya Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-size-tiny:.75rem;--font-size-small:.875rem;--font-size-body:1rem;--font-size-lead:1.125rem;--font-size-heading:1.5rem;--font-size-title:2.5rem;--font-size-code:2.5rem;--weight-regular:400;--weight-bold:700;--weight-heavy:800;--weight-display:600;--space-half:.125rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2.25rem;--border:1px;--border-strong:2px;--border-bar:3px;--frame-gap:3px;--frame-line:4px;--size-touch:2.75rem;--size-primary:3.25rem;--size-shield:1.375rem;--size-shield-large:1.875rem;--size-clock:3rem;--size-pip-width:.75rem;--size-pip-height:.875rem;--size-ribbon-notch:1rem;--size-content:26rem;--size-reveal:7.25rem;--size-order-bar:12.75rem;--radius-small:.5rem;--radius-panel:.75rem;--radius-pip:.125rem .125rem .375rem .375rem;--radius-pill:999px;--shadow-key:0 2px 0 var(--color-depth);--map-label-size:17px;--map-stroke:2px;--map-stroke-hair:1px;--map-stroke-thin:1.4px;--map-stroke-cross:3px;--shield-stroke:1.6px;--map-stroke-pole:2.6px;--map-stroke-owned:5px;--map-stroke-target:4px;--map-stroke-selected:6px;--map-stroke-arrow:6px;--map-road:11px;--map-road-edge:16px;--map-dash:7 6;--map-dash-evicted:3 10;--clock-stroke:4px;--motion-fast:.2s;--motion-step:.3s}@media (prefers-reduced-motion:reduce){:root{--motion-fast:0s;--motion-step:0s}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--color-board);color:var(--color-ink);font-family:var(--font-body);font-size:var(--font-size-body);font-variant-numeric:lining-nums tabular-nums;margin:0;line-height:1.4}h1,h2,h3,p,ul,ol{margin:0;padding:0}ul,ol{list-style:none}[data-seat="0"]{--player:var(--player-0);--on-player:var(--color-on-player-light)}[data-seat="1"]{--player:var(--player-1);--on-player:var(--color-on-player-light)}[data-seat="2"]{--player:var(--player-2);--on-player:var(--color-on-player-light)}[data-seat="3"]{--player:var(--player-3);--on-player:var(--color-on-player-dark)}[data-seat="4"]{--player:var(--player-4);--on-player:var(--color-on-player-light)}[data-seat="5"]{--player:var(--player-5);--on-player:var(--color-on-player-dark)}[data-seat="6"]{--player:var(--player-6);--on-player:var(--color-on-player-dark)}[data-seat="7"]{--player:var(--player-7);--on-player:var(--color-on-player-dark)}.sr-only{width:var(--border);height:var(--border);clip-path:inset(50%);white-space:nowrap;position:absolute;overflow:hidden}.screen{align-items:center;gap:var(--space-4);min-height:100dvh;padding:calc(var(--space-5) + env(safe-area-inset-top)) calc(var(--space-4) + env(safe-area-inset-right)) calc(var(--space-5) + env(safe-area-inset-bottom)) calc(var(--space-4) + env(safe-area-inset-left));text-align:center;flex-direction:column;display:flex}.screen>*{width:100%;max-width:var(--size-content)}.screen>.title{width:auto;margin-top:var(--space-4);padding:var(--space-1) var(--space-6) var(--space-2);background:var(--color-brand);color:var(--color-on-brand);font-family:var(--font-display);font-size:var(--font-size-title);font-weight:var(--weight-display);clip-path:polygon(0 0, 100% 0, calc(100% - var(--size-ribbon-notch)) 50%, 100% 100%, 0 100%, var(--size-ribbon-notch) 50%);line-height:1.1}.blazons{justify-content:center;gap:var(--space-1);display:flex}.heading{font-family:var(--font-display);font-size:var(--font-size-heading);font-weight:var(--weight-display);line-height:1.2}.subheading{font-size:var(--font-size-body);font-weight:var(--weight-heavy)}.lead{font-size:var(--font-size-lead)}.note{color:var(--color-ink-soft);font-size:var(--font-size-small)}.error{color:var(--color-error);font-size:var(--font-size-small)}.status{color:var(--color-ink-soft);font-size:var(--font-size-small)}.status[data-state=connected]{color:var(--color-ok)}.status[data-state=disconnected]{color:var(--color-warn)}.offline-banner{z-index:2;padding:calc(var(--space-2) + env(safe-area-inset-top)) var(--space-4) var(--space-2);background:var(--color-warn);color:var(--color-on-primary);font-size:var(--font-size-small);font-weight:var(--weight-bold);text-align:center;position:sticky;top:0}.update-banner{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-bottom:var(--border) solid var(--color-line);background:var(--color-surface);font-size:var(--font-size-small);display:flex}.panel{gap:var(--space-3);padding:var(--space-4);border:var(--border) solid var(--color-line);border-radius:var(--radius-panel);background:var(--color-surface);box-shadow:inset 0 0 0 var(--frame-gap) var(--color-surface), inset 0 0 0 var(--frame-line) var(--color-trim);text-align:left;flex-direction:column;display:flex}.panel-form{gap:var(--space-3);flex-direction:column;display:flex}.steps{gap:var(--space-1);padding-left:var(--space-5);flex-direction:column;list-style:decimal;display:flex}.recovery-code{font-size:var(--font-size-heading);font-weight:var(--weight-heavy);letter-spacing:.08em;text-align:center;-webkit-user-select:all;user-select:all}.field{gap:var(--space-1);color:var(--color-ink-soft);font-size:var(--font-size-small);flex-direction:column;display:flex}.field input,.field select{min-height:var(--size-touch);padding:0 var(--space-3);border:var(--border) solid var(--color-control);border-radius:var(--radius-small);background:var(--color-board);color:var(--color-ink);font:inherit;font-size:var(--font-size-lead)}.field input::placeholder{color:var(--color-ink-soft)}.field .code-input{font-weight:var(--weight-heavy);letter-spacing:.3em;text-transform:uppercase}.settings{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.button{min-height:var(--size-touch);padding:var(--space-2) var(--space-4);border:var(--border) solid var(--color-control);border-radius:var(--radius-small);background:var(--color-surface-raised);box-shadow:var(--shadow-key);color:var(--color-ink);font:inherit;font-weight:var(--weight-bold);cursor:pointer;touch-action:manipulation;transition:background-color var(--motion-fast)}.button:disabled{border-color:var(--color-line);box-shadow:none;color:var(--color-ink-soft);cursor:default;background:0 0}.button-primary{min-height:var(--size-primary);border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary);font-size:var(--font-size-lead);font-weight:var(--weight-heavy)}.button-primary:disabled{border-color:var(--color-line);background:var(--color-surface-raised)}.button-quiet{box-shadow:none;color:var(--color-ink-soft);background:0 0;border-color:#0000}.button[aria-pressed=true]{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.button:focus-visible,.reveal-body:focus-visible,.field input:focus-visible,.field select:focus-visible{outline:var(--border-strong) solid var(--color-ink);outline-offset:var(--space-half)}.shield{width:var(--size-shield);flex:none}.shield-large{width:var(--size-shield-large)}.shield-field{fill:var(--player);stroke:var(--color-ink);stroke-width:var(--shield-stroke)}.shield-emblem{fill:var(--on-player)}.tag{padding:0 var(--space-2);border:var(--border) solid var(--color-line);border-radius:var(--radius-pill);color:var(--color-ink-soft);font-size:var(--font-size-tiny)}.tag-warn{border-color:var(--color-warn);color:var(--color-warn)}.room-code{font-size:var(--font-size-code);font-weight:var(--weight-heavy);letter-spacing:.25em;text-align:center;line-height:1}.room-link{color:var(--color-ink-soft);font-size:var(--font-size-small);overflow-wrap:anywhere;text-align:center}.members,.ranking{gap:var(--space-2);flex-direction:column;display:flex}.member{align-items:center;gap:var(--space-2);min-height:var(--size-touch);display:flex}.member-name{font-weight:var(--weight-bold);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.member[data-connected=false] .member-name{color:var(--color-ink-soft)}.member[data-winner=true] .member-name{font-weight:var(--weight-heavy)}.ranking .member[data-winner=true]{margin:0 calc(-1 * var(--space-2));padding:0 var(--space-2);border:var(--border) solid var(--color-ink);border-radius:var(--radius-small);background:var(--color-board)}.member-tags{gap:var(--space-1);color:var(--color-ink-soft);font-size:var(--font-size-small);display:flex}.winners{font-size:var(--font-size-title)}.place{width:var(--size-shield-large);color:var(--color-ink-soft);font-weight:var(--weight-heavy)}.rules{gap:var(--space-4)}.rules-list{gap:var(--space-2);flex-direction:column;display:flex}.rules-item{align-items:flex-start;gap:var(--space-2);display:flex}.rules-icon{width:var(--size-shield);fill:var(--color-ink);flex:none}.game{flex-direction:column;height:100dvh;display:flex}.hud{gap:var(--space-2);padding:calc(var(--space-2) + env(safe-area-inset-top)) calc(var(--space-3) + env(safe-area-inset-right)) var(--space-2) calc(var(--space-3) + env(safe-area-inset-left));border-bottom:var(--border) solid var(--color-line);background:var(--color-surface);flex-direction:column;display:flex}.hud-top{align-items:center;gap:var(--space-3);display:flex}.hud-titles{flex:1;min-width:0}.hud-round{font-family:var(--font-display);font-size:var(--font-size-heading);font-weight:var(--weight-display);line-height:1}.hud-round small{color:var(--color-ink-soft);font-family:var(--font-body);font-size:var(--font-size-small);font-weight:var(--weight-regular)}.hud-phase{color:var(--color-ink-soft);font-size:var(--font-size-small)}.hud-phase[data-phase=reveal]{color:var(--color-warn)}.hud-goal{padding:var(--space-half) var(--space-3);border:var(--border) dashed var(--color-line);border-radius:var(--radius-small);color:var(--color-ink-soft);font-size:var(--font-size-tiny);text-align:center;line-height:1.15}.hud-goal b{color:var(--color-ink);font-size:var(--font-size-lead);display:block}.clock{width:var(--size-clock);height:var(--size-clock);font-size:var(--font-size-heading);font-weight:var(--weight-heavy);flex:none;place-items:center;line-height:1;display:grid;position:relative}.clock svg{position:absolute;inset:0;transform:rotate(-90deg)}.clock-track{fill:none;stroke:var(--color-line);stroke-width:var(--clock-stroke)}.clock-left{fill:none;stroke:var(--color-ink);stroke-linecap:round;stroke-width:var(--clock-stroke);transition:stroke-dasharray var(--motion-fast) linear}.scoreboard{gap:var(--space-1);grid-template-columns:repeat(4,1fr);display:grid}.scoreboard[data-count="2"]{grid-template-columns:repeat(2,1fr)}.scoreboard[data-count="3"]{grid-template-columns:repeat(3,1fr)}.score{align-items:center;gap:var(--space-1);min-width:0;padding:var(--space-1) var(--space-1) var(--space-2);border:var(--border) solid var(--color-line);border-radius:var(--radius-small);background:var(--color-board);display:flex;position:relative;overflow:hidden}.score[data-me=true]{border-color:var(--color-ink)}.score[data-absent=true]{border-style:dashed}.score-text{text-align:left;min-width:0;line-height:1.05}.score-name{color:var(--color-ink-soft);font-size:var(--font-size-tiny);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.score-glory{font-size:var(--font-size-lead);font-weight:var(--weight-heavy)}.score-gain{margin-left:var(--space-1);color:var(--color-ok);font-size:var(--font-size-small);font-weight:var(--weight-heavy);transition:opacity var(--motion-step)}.score-gain[data-shown=false]{opacity:0}.score-flag{top:var(--space-half);right:var(--space-1);font-size:var(--font-size-tiny);position:absolute}.score-absent{color:var(--color-warn)}.icon-check{width:var(--font-size-tiny);fill:none;stroke:var(--color-ok);stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--border-strong)}.score-bar{height:var(--border-bar);background:var(--player);transition:width var(--motion-step);position:absolute;bottom:0;left:0}.map-frame{background:radial-gradient(ellipse at center, var(--color-map) 50%, var(--color-board) 135%);flex:1;min-height:0;display:flex}.map{width:100%;height:100%}.road{stroke:var(--color-road);stroke-linecap:round;stroke-width:var(--map-road)}.road-edge{stroke:var(--color-depth);stroke-linecap:round;stroke-width:var(--map-road-edge)}.region{touch-action:manipulation;outline:none}.region[data-target=true]{cursor:pointer}.region-hit{fill:#0000}.tile-depth{fill:var(--color-depth)}.tile{fill:var(--color-region-plain);stroke:var(--color-depth);stroke-width:var(--map-stroke);transition:stroke var(--motion-fast)}.region[data-type=forge] .tile{fill:var(--color-region-forge)}.region[data-type=shrine] .tile{fill:var(--color-region-shrine)}.region[data-type=home] .tile{fill:color-mix(in srgb, var(--player) var(--mix-home), var(--color-map))}.region .tile[data-owned=true]{stroke:var(--player);stroke-width:var(--map-stroke-owned)}.region[data-target=true] .tile{stroke:var(--color-ink);stroke-dasharray:var(--map-dash);stroke-width:var(--map-stroke-target)}.region[data-selected=true] .tile,.region:focus-visible .tile{stroke:var(--color-ink);stroke-dasharray:none;stroke-width:var(--map-stroke-selected)}.standard-pole{fill:none;stroke:var(--color-ink);stroke-linecap:round;stroke-width:var(--map-stroke-pole)}.standard-cloth{fill:var(--player);stroke:var(--color-ink);stroke-linejoin:round;stroke-width:var(--map-stroke-thin)}.token-base{fill:var(--color-depth);opacity:.75}.character[data-absent=true]{opacity:.6}.map-overlay,.plates{pointer-events:none}.arrow line{stroke:var(--player,var(--color-ink));stroke-linecap:round;stroke-width:var(--map-stroke-arrow)}.arrow polygon{fill:var(--player,var(--color-ink))}.arrow[data-kind=evicted] line,.arrow[data-kind=bounced] line{stroke-dasharray:var(--map-dash-evicted)}.reveal-layer{transition:opacity var(--motion-step)}.reveal-layer[data-shown=false]{opacity:0}.clash-mark circle{fill:var(--color-label);stroke:var(--color-ink);stroke-width:var(--map-stroke)}.clash-mark path{stroke:var(--color-ink);stroke-linecap:round;stroke-width:var(--map-stroke-cross)}.conquest-ring{fill:none;stroke:var(--color-ink);stroke-dasharray:var(--map-dash);stroke-width:var(--map-stroke)}.plate{fill:var(--color-label);stroke:var(--color-depth);stroke-width:var(--map-stroke-hair)}.plate-icon{fill:var(--color-ink)}.plate-name{fill:var(--color-ink);font-size:var(--map-label-size);font-weight:var(--weight-bold)}.order-bar{gap:var(--space-2);padding:var(--space-2) calc(var(--space-3) + env(safe-area-inset-right)) calc(var(--space-3) + env(safe-area-inset-bottom)) calc(var(--space-3) + env(safe-area-inset-left));border-top:var(--border) solid var(--color-line);background:var(--color-surface);min-height:calc(var(--size-order-bar) + env(safe-area-inset-bottom));flex-direction:column;display:flex}.order-choice{font-size:var(--font-size-lead)}.order-choice[data-empty=true]{color:var(--color-ink-soft);font-size:var(--font-size-small)}.order-choices{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.order-sent{font-weight:var(--weight-bold)}.order-foot{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.gear{align-items:center;gap:var(--space-1);color:var(--color-ink-soft);font-size:var(--font-size-small);flex:none;display:flex}.pip{width:var(--size-pip-width);height:var(--size-pip-height);border:var(--border-strong) solid var(--color-ink-soft);border-radius:var(--radius-pip)}.pip[data-on=true]{border-color:var(--color-ink);background:var(--color-ink)}.pending{text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reveal{gap:var(--space-2);flex-direction:column;display:flex}.reveal-heading{font-family:var(--font-display);font-size:var(--font-size-lead);font-weight:var(--weight-display);line-height:1.1}.reveal-tabs{gap:var(--space-1);color:var(--color-ink-soft);font-size:var(--font-size-tiny);grid-template-columns:repeat(4,1fr);display:grid}.reveal-tab{padding-top:var(--space-1);border-top:var(--border-bar) solid var(--color-line);transition:border-color var(--motion-step)}.reveal-tab[data-state=done]{border-color:var(--color-ink-soft)}.reveal-tab[data-state=empty]{text-decoration:line-through}.reveal-tab[data-state=current]{border-color:var(--color-ink);color:var(--color-ink);font-weight:var(--weight-heavy)}.reveal-body{gap:var(--space-2);height:var(--size-reveal);font-size:var(--font-size-small);flex-direction:column;display:flex;overflow-y:auto}.reveal-step{transition:opacity var(--motion-step)}.reveal-step[data-shown=false]{opacity:0}.reveal-title{color:var(--color-ink-soft);font-size:var(--font-size-tiny);text-transform:uppercase}.reveal-line{align-items:center;gap:0 var(--space-1);flex-wrap:wrap;display:flex}
