.landing.landing{background:var(--bg);justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:relative;overflow:hidden}.landing .landing__backdrop{filter:blur(10px)brightness(.34)saturate(.75);background:url(/assets/board/map-base-clean.png) 50%/cover no-repeat;animation:.4s ease-out both lt-fade;position:absolute;inset:-20px;transform:scale(1.03)}.landing .landing__backdrop:after{content:"";background:radial-gradient(52% 48% at 50% 46%,#e8b05429,#0000 68%),radial-gradient(120% 110%,#0000 38%,#070604cc 100%);position:absolute;inset:0}.landing .landing__card{z-index:1;align-items:stretch;gap:var(--space-3);width:min(432px,92vw);max-height:none;color:var(--text);padding:var(--space-6);text-align:center;background:linear-gradient(#ffffff0d,#0000 42%),linear-gradient(#2b2c31f7,#141518f7);border:1px solid #0d0e10;border-radius:14px;flex-direction:column;animation:.4s ease-out both lt-rise;display:flex;position:relative;overflow:visible;box-shadow:inset 0 0 0 1px #c9a24b47,0 30px 80px #000000a6,0 8px 24px #00000080}.landing .landing__lang-switch{z-index:2;margin-bottom:var(--space-3);position:relative}.landing .landing__crest{width:106px;height:106px;margin-top:calc(-1 * (var(--space-6) + 50px));margin-bottom:calc(-1 * var(--space-2));filter:drop-shadow(0 6px 14px #000000a6);align-self:center;font-size:0;line-height:0}.landing .landing__crest svg{width:100%;height:100%;display:block}.landing .landing__title{letter-spacing:.08em;color:var(--parch);text-shadow:0 2px 4px #000000b3;clip-path:polygon(0 0,100% 0,calc(100% - 15px) 50%,100% 100%,0 100%,15px 50%);background:linear-gradient(#ffffff12,#0000 45%),linear-gradient(#26272c,#101114);align-self:center;padding:8px 44px 9px;font-size:27px;font-weight:700;box-shadow:inset 0 1px #c9a24b73,inset 0 -1px #c9a24b73,inset 0 0 24px #00000080}.landing .landing__tagline{color:color-mix(in srgb, var(--text) 62%, transparent);font-size:var(--font-sm);font-style:italic}.landing .landing__stepper label,.landing .landing__join label{text-transform:uppercase;letter-spacing:.08em;color:var(--dim);font-size:11px;font-weight:600}.landing .landing__stepper{gap:var(--space-1);text-align:left;flex-direction:column;display:flex}.landing .landing__stepper-row{align-items:stretch;gap:var(--space-2);display:flex}.landing .landing__seats{gap:var(--space-1);text-align:left;flex-direction:column;display:flex}.landing .landing__seats-label{text-transform:uppercase;letter-spacing:.08em;color:var(--dim);font-size:11px;font-weight:600}.landing .landing__seats-row{gap:var(--space-2);display:flex}.landing .seat-chip{background:linear-gradient(180deg, #ffffff0d, transparent 45%), linear-gradient(180deg, var(--steel-hi), var(--steel-lo));cursor:pointer;transition:transform var(--ease-step,.14s ease), box-shadow var(--ease-step,.14s ease), border-color var(--ease-step,.14s ease);border:1px solid #0d0e10;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:9px 6px 7px;display:flex;box-shadow:inset 0 0 0 1px #c9a24b29,0 2px 6px #00000073}.landing .seat-chip:hover:not(:disabled){border-color:#c9a24b99;transform:translateY(-1px)}.landing .seat-chip:disabled{opacity:.55;cursor:default}.landing .seat-chip[data-selected]{border-color:var(--brass);transform:translateY(-2px);box-shadow:inset 0 0 0 1px #c9a24b80,0 6px 16px #00000080,0 0 18px #e8b05438}.landing .seat-chip:focus-visible{border-color:var(--brass);outline:none;box-shadow:inset 0 0 0 1px #c9a24b80,0 0 12px #c9a24b59}.landing .seat-chip__seal{filter:drop-shadow(0 2px 4px #0009);width:46px;height:46px;display:block}.landing .seat-chip__quarter{fill:#0e0f12;stroke:#08090b;stroke-width:.5px}.landing .seat-chip__quarter--lit{fill:color-mix(in srgb, var(--seat) 46%, #14151a);stroke:color-mix(in srgb, var(--seat) 62%, #08090b)}.landing .seat-chip[data-selected] .seat-chip__quarter--lit{fill:color-mix(in srgb, var(--seat) 66%, #14151a)}.landing .seat-chip__score{stroke:#c9a24b66;stroke-width:.8px;fill:none}.landing .seat-chip__emblem{fill:color-mix(in srgb, var(--seat) 55%, white);font-size:9px}.landing .seat-chip__boss{fill:var(--brass);stroke:#241a10;stroke-width:.7px}.landing .seat-chip__count{font-size:var(--font-sm);font-variant-numeric:tabular-nums;color:var(--dim);letter-spacing:.04em;font-weight:700}.landing .seat-chip[data-selected] .seat-chip__count{color:var(--ember)}@media (prefers-reduced-motion:reduce){.landing .seat-chip,.landing .seat-chip[data-selected],.landing .seat-chip:hover:not(:disabled){transition:none;transform:none}}.landing .landing__stepper-row input,.landing .landing__join-row input{color:var(--text);background:linear-gradient(#131418,#1b1c21);border:1px solid #0d0e10;flex:1;box-shadow:inset 0 2px 6px #0000008c,inset 0 0 0 1px #c9a24b24}.landing .landing__stepper-row input{text-align:center;font-variant-numeric:tabular-nums;font-weight:700}.landing .landing__stepper-row input:focus-visible,.landing .landing__join-row input:focus-visible{border-color:var(--brass);outline:none;box-shadow:inset 0 2px 6px #0000008c,inset 0 0 0 1px #c9a24b59,0 0 10px #c9a24b40}.landing .landing__join-row input::placeholder{color:color-mix(in srgb, var(--dim) 75%, transparent)}.landing .landing__stepper-btn,.landing .landing__join-row button{background:linear-gradient(180deg, #ffffff0f, transparent 45%), linear-gradient(180deg, var(--steel-hi), var(--steel-lo));color:var(--ember);border:1px solid #0d0e10;box-shadow:inset 0 0 0 1px #c9a24b38,0 2px 6px #0006}.landing .landing__stepper-btn{width:38px;font-size:var(--font-lg);font-weight:700;line-height:1}.landing .landing__join-row button{font-weight:600}.landing .landing__stepper-btn:hover:not(:disabled),.landing .landing__join-row button:hover:not(:disabled){border-color:var(--brass)}.landing .landing__create{min-width:250px;margin-top:var(--space-1);letter-spacing:.03em;text-shadow:0 1px #ffffff59;border:1px solid #241a10;align-self:center;box-shadow:inset 0 1px 1px #ffffff80,inset 0 -10px 16px #0000002e,0 6px 18px #00000080,0 0 24px #e8b05429}.landing .landing__create:hover:not(:disabled){border-color:#241a10;box-shadow:inset 0 1px 1px #ffffff80,inset 0 -10px 16px #0000002e,0 6px 18px #00000080,0 0 30px #e8b0544d}.landing .landing__divider{align-items:center;gap:var(--space-2);color:var(--dim);text-transform:uppercase;letter-spacing:.14em;font-size:11px;display:flex}.landing .landing__divider:before,.landing .landing__divider:after{content:"";background:linear-gradient(90deg,#0000,#c9a24b59,#0000);flex:1;height:1px}.landing .landing__join{gap:var(--space-1);text-align:left;flex-direction:column;display:flex}.landing .landing__join-row{gap:var(--space-2);display:flex}.landing .landing__stepper .hint{color:color-mix(in srgb, var(--dim) 80%, transparent)}.landing .landing__hint{color:var(--ember);font-size:var(--font-sm)}.landing .landing__error{color:color-mix(in srgb, var(--danger) 80%, white);font-size:var(--font-sm);border-left:2px solid var(--danger);background:linear-gradient(180deg, #ffffff0d, transparent 45%), linear-gradient(180deg, var(--steel-hi), var(--steel-lo));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--danger) 28%, transparent);clip-path:polygon(0 0,100% 0,calc(100% - 9px) 100%,0 100%);padding:3px 19px 3px 10px;display:inline-block}@keyframes lt-fade{0%{opacity:0}to{opacity:1}}@keyframes lt-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.landing .landing__card,.landing .landing__backdrop{animation:none}}.results-overlay.results-overlay{z-index:30;-webkit-backdrop-filter:blur(3px)saturate(.8);backdrop-filter:blur(3px)saturate(.8);padding:var(--space-4);background:radial-gradient(46% 40% at 50% 44%,#e8b0541a,#0000 70%),radial-gradient(120% 110%,#0a0b0d8c 0%,#070604e0 100%);justify-content:center;align-items:center;animation:.4s ease-out rc-fade;display:flex;position:absolute;inset:0;overflow-y:auto}.results-overlay .results-overlay__card{gap:var(--space-3);color:var(--text);padding:var(--space-6);min-width:344px;max-width:min(420px,92vw);box-shadow:inset 0 0 0 1px #c9a24b47, 0 30px 80px #000000a6, 0 8px 24px #00000080, 0 0 46px color-mix(in srgb, var(--rc-seat,var(--brass)) 14%, transparent);text-align:center;background:linear-gradient(#ffffff0d,#0000 42%),linear-gradient(#2b2c31fa,#141518fa);border:1px solid #0d0e10;border-radius:14px;flex-direction:column;flex-shrink:0;margin:auto;animation:.45s cubic-bezier(.2,1.4,.4,1) rc-card-in;display:flex}.results-overlay .results-overlay__crest{width:104px;height:104px;margin:calc(-1 * (var(--space-6) + 48px)) 0 calc(-1 * var(--space-2));filter:drop-shadow(0 6px 14px #000000a6);align-self:center;font-size:0;line-height:0}.results-overlay .results-overlay__crest svg{width:100%;height:100%;display:block}.results-overlay .results-overlay__verdict{letter-spacing:.06em;clip-path:polygon(0 0,100% 0,calc(100% - 14px) 50%,100% 100%,0 100%,14px 50%);text-shadow:0 2px 6px #000000bf;background:linear-gradient(#ffffff12,#0000 45%),linear-gradient(#26272c,#101114);align-self:center;margin:0;padding:6px 48px 8px;font-size:34px;font-weight:800;box-shadow:inset 0 1px #c9a24b73,inset 0 -1px #c9a24b73,inset 0 0 24px #00000080}.results-overlay .results-overlay__winner{font-size:var(--font-md);letter-spacing:.02em;color:var(--parch);text-shadow:0 1px 3px #0009;margin:0;font-weight:700}.results-overlay .results-overlay__reason{color:var(--dim);font-size:var(--font-sm);margin:0;font-style:italic}.results-overlay .standings{border-collapse:collapse;width:100%;margin-top:var(--space-1)}.results-overlay .standings th,.results-overlay .standings td{padding:var(--space-1) var(--space-3);text-align:left;font-size:var(--font-sm);border-bottom:1px solid #c9a24b29}.results-overlay .standings td{color:var(--text);font-variant-numeric:tabular-nums}.results-overlay .standings th{text-transform:uppercase;letter-spacing:.08em;color:var(--dim);border-bottom-color:#c9a24b66;font-size:10px}.results-overlay .standings__winner td{color:#ffe9bd;background:linear-gradient(90deg,#c9a24b42,#c9a24b12);font-weight:700}.results-overlay .standings__sig{vertical-align:baseline;border:1px solid #0000008c;border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block;box-shadow:inset 0 1px 1px #ffffff40}.results-overlay .btn--brass{min-width:240px;margin-top:var(--space-2);letter-spacing:.03em;text-shadow:0 1px #ffffff59;border:1px solid #241a10;align-self:center;box-shadow:inset 0 1px 1px #ffffff80,inset 0 -10px 16px #0000002e,0 6px 18px #00000080,0 0 24px #e8b05429}.results-overlay .btn--brass:hover:not(:disabled){border-color:#241a10;box-shadow:inset 0 1px 1px #ffffff80,inset 0 -10px 16px #0000002e,0 6px 18px #00000080,0 0 30px #e8b0544d}@keyframes rc-fade{0%{opacity:0}to{opacity:1}}@keyframes rc-card-in{0%{opacity:0;transform:translateY(26px)scale(.9)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.results-overlay.results-overlay,.results-overlay .results-overlay__card{animation:none}}.standings tr[data-eliminated]{opacity:.62}.standings__out{letter-spacing:.04em;text-transform:uppercase;color:var(--dim,#9b9a97);opacity:.9;margin-left:6px;font-size:.78em}.turn-ambience{pointer-events:none;z-index:29;--amb-glow:var(--cyan);--amb-alpha:.22;--amb-corner-alpha:.26;--amb-reach-x:11%;--amb-reach-y:14%;animation:3.8s ease-in-out infinite turn-ambience-breath;position:fixed;inset:0}.turn-ambience[data-turn=theirs]{--amb-glow:var(--arc);--amb-alpha:.06;--amb-corner-alpha:.07;--amb-reach-x:8%;--amb-reach-y:10%;opacity:1;animation:none}.turn-ambience__rim,.turn-ambience__corners{mix-blend-mode:screen;display:block;position:absolute;inset:0}.turn-ambience__rim{background:linear-gradient(to right, color-mix(in srgb, var(--amb-glow) calc(var(--amb-alpha) * 100%), transparent), transparent var(--amb-reach-x)), linear-gradient(to left, color-mix(in srgb, var(--amb-glow) calc(var(--amb-alpha) * 100%), transparent), transparent var(--amb-reach-x)), linear-gradient(to bottom, color-mix(in srgb, var(--amb-glow) calc(var(--amb-alpha) * 100%), transparent), transparent var(--amb-reach-y)), linear-gradient(to top, color-mix(in srgb, var(--amb-glow) calc(var(--amb-alpha) * 100%), transparent), transparent var(--amb-reach-y))}.turn-ambience__corners{background:radial-gradient(60% 46% at 0% 0%, color-mix(in srgb, var(--amb-glow) calc(var(--amb-corner-alpha) * 100%), transparent), transparent 70%), radial-gradient(60% 46% at 100% 0%, color-mix(in srgb, var(--amb-glow) calc(var(--amb-corner-alpha) * 100%), transparent), transparent 70%), radial-gradient(60% 46% at 0% 100%, color-mix(in srgb, var(--amb-glow) calc(var(--amb-corner-alpha) * 100%), transparent), transparent 70%), radial-gradient(60% 46% at 100% 100%, color-mix(in srgb, var(--amb-glow) calc(var(--amb-corner-alpha) * 100%), transparent), transparent 70%);animation:5.2s ease-in-out infinite turn-ambience-corner-breath}.turn-ambience[data-turn=theirs] .turn-ambience__corners{opacity:.9;animation:none}@keyframes turn-ambience-breath{0%,to{opacity:.42}50%{opacity:1}}@keyframes turn-ambience-corner-breath{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.turn-ambience,.turn-ambience__corners{animation:none}.turn-ambience{opacity:.78}.turn-ambience__corners{opacity:.85}}.rules-overlay.rules-overlay{z-index:60;-webkit-backdrop-filter:blur(3px)saturate(.8);backdrop-filter:blur(3px)saturate(.8);background:radial-gradient(46% 40% at 50% 40%,#e8b05414,#0000 70%),radial-gradient(120% 110%,#0a0b0d99 0%,#070604e6 100%);justify-content:center;align-items:center;padding:clamp(8px,3vh,32px);animation:.32s ease-out ru-fade;display:flex;position:fixed;inset:0}.rules-overlay .rules-overlay__panel{width:min(680px,94vw);max-height:min(86vh,900px);color:var(--text);background:linear-gradient(#ffffff0d,#0000 42%),linear-gradient(#2b2c31fa,#141518fa);border:1px solid #0d0e10;border-radius:14px;flex-direction:column;animation:.4s cubic-bezier(.2,1.4,.4,1) ru-panel-in;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #c9a24b47,0 30px 80px #000000a6,0 8px 24px #00000080}.rules-overlay .rules-overlay__head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 20px;background:linear-gradient(#ffffff0a,#0000);border-bottom:1px solid #c9a24b66;display:flex}.rules-overlay .rules-overlay__title{letter-spacing:.08em;text-transform:uppercase;color:var(--parch);text-shadow:0 2px 6px #000000b3;margin:0;font-size:20px;font-weight:800}.rules-overlay .rules-overlay__close{width:34px;height:34px;color:var(--dim);cursor:pointer;background:linear-gradient(#26272c,#101114);border:1px solid #c9a24b4d;border-radius:8px;place-items:center;padding:6px;display:grid;box-shadow:inset 0 1px #ffffff14,inset 0 -6px 10px #00000059}.rules-overlay .rules-overlay__close:hover{color:var(--parch);border-color:#c9a24b99}.rules-overlay .rules-overlay__close svg{width:100%;height:100%;display:block}.rules-overlay .rules-overlay__scroll{padding:var(--space-4) 20px var(--space-6);scrollbar-color:#c9a24b59 transparent;flex-direction:column;gap:20px;display:flex;overflow-y:auto}.rules-overlay .rules-section{gap:var(--space-2);flex-direction:column;display:flex}.rules-overlay .rules-section p,.rules-overlay .rules-section li{font-size:var(--font-sm);color:var(--text);margin:0;line-height:1.55}.rules-overlay .rules-section strong{color:#ffe9bd;font-weight:700}.rules-overlay .rules-section__plaque{margin:0 0 var(--space-1);font-size:var(--font-md);letter-spacing:.06em;color:var(--parch);clip-path:polygon(0 0,100% 0,calc(100% - 11px) 50%,100% 100%,0 100%,11px 50%);text-shadow:0 2px 5px #000000bf;background:linear-gradient(#ffffff12,#0000 45%),linear-gradient(#26272c,#101114);align-self:flex-start;padding:4px 28px 5px;font-weight:800;box-shadow:inset 0 1px #c9a24b73,inset 0 -1px #c9a24b73,inset 0 0 18px #00000080}.rules-overlay .rules-subhead{margin:var(--space-2) 0 0;font-size:var(--font-sm);letter-spacing:.06em;text-transform:uppercase;color:var(--brass);font-weight:700}.rules-overlay .rules-note{color:var(--dim);font-style:italic}.rules-overlay .rules-steps,.rules-overlay .rules-list{flex-direction:column;gap:6px;margin:0;padding-left:1.3em;display:flex}.rules-overlay .rules-steps li::marker{color:var(--brass);font-weight:700}.rules-overlay .rules-list li::marker{color:var(--brass)}.rules-overlay .rules-bonus{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.rules-overlay .rules-bonus li{align-items:center;gap:var(--space-3);display:flex}.rules-overlay .rules-bonus img{object-fit:contain;filter:drop-shadow(0 3px 5px #0009);width:40px;height:40px}.rules-overlay .rules-swatch{vertical-align:text-bottom;border:1px solid #0000008c;border-radius:4px;width:16px;height:16px;display:inline-block;box-shadow:inset 0 1px 1px #fff3}.rules-overlay .rules-swatch--fog-1{background:linear-gradient(#1b140d57,#1b140d57),#c9b089}.rules-overlay .rules-swatch--fog-2{background:linear-gradient(#1b140d6b,#1b140d6b),#c9b089}.rules-overlay .rules-swatch--fog-3{background:linear-gradient(#1b140d80,#1b140d80),#c9b089}.rules-overlay .rules-fog{align-items:center;gap:6px;display:flex}.rules-overlay .rules-fog__caption{margin-left:var(--space-2);letter-spacing:.04em;color:var(--dim);font-size:11px;font-style:italic}.rules-overlay .rules-buildings{margin:var(--space-1) 0 0;gap:var(--space-2) var(--space-4);grid-template-columns:1fr 1fr;padding:0;list-style:none;display:grid}.rules-overlay .rules-buildings li{align-items:flex-start;gap:var(--space-2);padding:var(--space-1) 0;border-bottom:1px solid #c9a24b24;display:flex}.rules-overlay .rules-buildings img{object-fit:contain;filter:drop-shadow(0 2px 4px #0009);flex:none;width:34px;height:34px}@media (width<=560px){.rules-overlay .rules-buildings{grid-template-columns:1fr}}.topbar__rules.topbar__rules{align-items:center;gap:6px;width:auto;padding:0 12px 0 9px;display:inline-flex}.topbar__rules.topbar__rules+.topbar__mute{margin-left:var(--space-2)}.topbar__rules .topbar__rules-label{letter-spacing:.07em;text-transform:uppercase;color:var(--parch);font-size:11px;font-weight:700}.landing__col.landing__col{flex-direction:column;align-items:center;display:flex;position:relative}.landing__rules-link.landing__rules-link{margin:var(--space-3) auto 0;cursor:pointer;color:var(--dim);font-size:var(--font-sm);letter-spacing:.05em;text-underline-offset:3px;background:0 0;border:none;align-items:center;gap:6px;padding:4px 10px;-webkit-text-decoration:underline #c9a24b66;text-decoration:underline #c9a24b66;display:inline-flex;position:relative}.landing__rules-link.landing__rules-link:hover{color:var(--parch);-webkit-text-decoration-color:var(--brass);text-decoration-color:var(--brass)}.landing__rules-link svg{opacity:.8;width:16px;height:16px;display:block}@keyframes ru-fade{0%{opacity:0}to{opacity:1}}@keyframes ru-panel-in{0%{opacity:0;transform:translateY(22px)scale(.94)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.rules-overlay.rules-overlay,.rules-overlay .rules-overlay__panel{animation:none}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#171310;--panel:#201a15;--panel2:#282018;--line:#3a2f24;--text:#e9ddc8;--dim:#a3927a;--brass:#c9a24b;--ember:#e8b054;--arc:#8fb7d9;--parch:#efe3c8;--parch2:#e0cfa6;--ink:#3a2d1c;--seat-0:#d99b4e;--seat-1:#6e9cc0;--seat-2:#5d9a6b;--seat-3:#d4b13e;--danger:#c94f4f;--heal:#6ea15a;--cyan:#45c7e8;--steel-hi:#2b2c31;--steel:#1d1e22;--steel-lo:#141518;--hp:#46d160;--border:var(--line);--panel-raised:var(--panel2);--text-dim:var(--dim);--focus-ring:var(--brass);--gold:var(--ember);--radius-panel:10px;--radius-control:8px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--font-sm:13px;--font-md:15px;--font-lg:18px;--font-xl:24px;--ease-hover:.15s ease-out;--ease-step:.25s ease-out;--aside-width:344px;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}body{background:var(--bg);color:var(--text);font-size:var(--font-md)}h1,h2,h3,p{margin:0}.hint{color:var(--text-dim);font-size:var(--font-sm)}.panel-title{margin:0 0 var(--space-2);font-size:var(--font-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);font-weight:600}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button{font:inherit;padding:var(--space-2) var(--space-4);border-radius:var(--radius-control);border:1px solid var(--border);background:var(--panel-raised);color:var(--text);cursor:pointer;transition:background var(--ease-hover), border-color var(--ease-hover), transform var(--ease-hover)}button:hover:not(:disabled){border-color:var(--focus-ring)}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}button:disabled{opacity:.5;cursor:default}.btn--primary{border-color:var(--focus-ring);background:color-mix(in srgb, var(--focus-ring) 22%, var(--panel-raised))}.btn--brass{border-color:var(--brass);background:linear-gradient(180deg, var(--ember), var(--brass));color:var(--ink);font-weight:700}.btn--brass:hover:not(:disabled){border-color:var(--ember);filter:brightness(1.06)}.btn--warn{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 20%, var(--panel-raised))}.btn--large{padding:var(--space-3) var(--space-6);font-size:var(--font-lg);font-weight:600}input,select{font:inherit;padding:var(--space-2);border-radius:var(--radius-control);border:1px solid var(--border);background:var(--panel-raised);color:var(--text)}.chip{padding:var(--space-1) var(--space-3);font-size:var(--font-sm);border:1px solid var(--border);background:var(--panel-raised);cursor:pointer;border-radius:999px}.chip--selected{border-color:var(--focus-ring);background:color-mix(in srgb, var(--focus-ring) 30%, var(--panel-raised))}.error-plaque{color:color-mix(in srgb, var(--danger) 80%, white);font-size:var(--font-sm);border-left:2px solid var(--danger);background:linear-gradient(180deg, #ffffff0d, transparent 45%), linear-gradient(180deg, var(--steel-hi), var(--steel-lo));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--danger) 28%, transparent);clip-path:polygon(0 0,100% 0,calc(100% - 9px) 100%,0 100%);padding:3px 19px 3px 10px;display:inline-block}.app{--topbar-h:52px;--dock-h:172px;--rail-w:calc(300px + 2 * var(--space-3));grid-template-rows:var(--topbar-h) 1fr;background:var(--bg);height:100vh;color:var(--text);display:grid;overflow:hidden}.topbar{align-items:center;gap:var(--space-3);padding:0 var(--space-4);background:linear-gradient(180deg, var(--panel2), var(--panel));border-bottom:1px solid var(--line);white-space:nowrap;scrollbar-width:none;min-width:0;display:flex;overflow:auto hidden}.topbar::-webkit-scrollbar{display:none}.topbar p{margin:0}.topbar__crest{filter:drop-shadow(0 1px 2px #0000008c);flex-shrink:0;width:27px;height:27px;display:inline-flex}.topbar__crest svg{width:100%;height:100%}.topbar__title{font-size:var(--font-lg);color:var(--brass);letter-spacing:.02em;margin-right:var(--space-2)}.topbar__status{letter-spacing:.02em;border-left:3px solid var(--brass);background:linear-gradient(180deg, #ffffff0f, transparent 45%), linear-gradient(180deg, var(--steel-hi), var(--steel-lo));clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%);padding:5px 26px 5px 14px;font-weight:700;box-shadow:inset 0 0 0 1px #c9a24b38}.topbar__status[data-mine=true]{color:var(--cyan);text-shadow:0 0 10px #45c7e873}.topbar__laps{color:var(--dim);font-size:var(--font-sm)}.topbar__note{color:color-mix(in srgb, var(--ember) 75%, white);font-size:var(--font-sm);border-left:2px solid var(--ember);background:linear-gradient(180deg, #ffffff0d, transparent 45%), linear-gradient(180deg, var(--steel-hi), var(--steel-lo));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ember) 26%, transparent);clip-path:polygon(0 0,100% 0,calc(100% - 9px) 100%,0 100%);padding:3px 19px 3px 10px}.topbar__error{color:#d47272;font-size:var(--font-sm);text-overflow:ellipsis;border-left:2px solid var(--danger);background:linear-gradient(180deg, #ffffff0d, transparent 45%), linear-gradient(180deg, var(--steel-hi), var(--steel-lo));min-width:14ch;max-width:34ch;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--danger) 28%, transparent);clip-path:polygon(0 0,100% 0,calc(100% - 9px) 100%,0 100%);padding:3px 19px 3px 10px;overflow:hidden}.invite{align-items:center;gap:var(--space-2);background:var(--panel2);border:1px solid var(--brass);border-radius:var(--radius-panel);padding:2px var(--space-3);min-width:0;display:flex}.invite>p{color:var(--dim);font-size:var(--font-sm);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.invite input{width:220px;font-size:var(--font-sm)}.seat-roster{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.seat-roster__progress{color:var(--dim);font-size:var(--font-sm);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0}.seat-roster__row{gap:5px;margin:0;padding:0;list-style:none;display:flex}.seat-roster__socket{background:radial-gradient(circle at 50% 30%,#16171b,#0b0c0e 80%);border:1px solid #08090b;border-radius:6px;place-items:center;width:24px;height:24px;display:grid;box-shadow:inset 0 0 0 1px #c9a24b24,inset 0 2px 5px #000000b3}.seat-roster__socket[data-taken]{background:radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--seat) 44%, #1a1b1f), #101114 82%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--seat) 58%, #34363c), 0 0 8px color-mix(in srgb, var(--seat) 26%, transparent)}.seat-roster__socket[data-mine]{border-color:var(--brass)}.seat-roster__glyph{color:color-mix(in srgb, var(--seat) 60%, white);text-shadow:0 1px 3px #000000d9;font-size:13px;line-height:1}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.topbar__mute{border:1px solid color-mix(in srgb, var(--brass) 40%, var(--border));background:linear-gradient(180deg, #ffffff0f, transparent 45%), linear-gradient(180deg, var(--steel-hi), var(--steel-lo));width:32px;height:32px;color:var(--brass);border-radius:999px;flex-shrink:0;place-items:center;margin-left:auto;padding:0;display:grid;box-shadow:inset 0 1px #ffffff0f,inset 0 0 6px #00000073}.topbar__mute[aria-pressed=true]{color:var(--text-dim);border-color:var(--border)}.topbar__mute-icon{width:18px;height:18px;display:block}.topbar__mute+.topbar__new-match{margin-left:0}.lang-switch{border:1px solid color-mix(in srgb, var(--brass) 40%, var(--border));background:linear-gradient(180deg, #ffffff0f, transparent 45%), linear-gradient(180deg, var(--steel-hi), var(--steel-lo));border-radius:999px;align-items:center;gap:2px;padding:2px 6px;display:flex;box-shadow:inset 0 1px #ffffff0f,inset 0 0 6px #00000073}.lang-switch__option{color:var(--text-dim);letter-spacing:.04em;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:2px 6px;font-size:.72rem;font-weight:700}.lang-switch__option--active{color:var(--brass);background:#ffffff14}.lang-switch__sep{color:var(--border);font-size:.7rem}.topbar__new-match{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.topbar__new-match label{align-items:center;gap:var(--space-1);color:var(--dim);font-size:var(--font-sm);display:flex}.topbar__new-match input{width:52px}.table{min-height:0;position:relative;overflow:hidden}.board-area{padding:var(--space-3);background:radial-gradient(circle at 50% 40%,#241c14,#171310);justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.board-area:after{content:"";z-index:5;pointer-events:none;background:radial-gradient(90% 80% at 50% 42%,#e8b0540d,#0000 55%),radial-gradient(120% 110%,#0000 62%,#0a080661);position:absolute;inset:0}.table:has(.dock) .board-area{padding-bottom:var(--dock-h)}.table:has(.table-right) .board-area{padding-right:var(--rail-w)}.board-area [data-testid=game-canvas]{justify-content:center;align-items:center;max-width:100%;max-height:100%;display:flex}.board-area [data-testid=game-canvas] canvas{max-width:100%;max-height:100%}.table-right{top:var(--space-3);right:var(--space-3);width:300px;max-height:calc(100% - var(--dock-h) - var(--space-4));gap:var(--space-2);z-index:12;scrollbar-width:thin;scrollbar-color:var(--line) transparent;scroll-snap-type:y proximity;scroll-padding-bottom:var(--space-3);flex-direction:column;display:flex;position:absolute;overflow-y:auto}.table-right>.players>.player-plate{scroll-snap-align:start}.table-right>.event-feed{flex-direction:column;min-height:0;display:flex}.table-right>.event-feed>ul{flex:auto;min-height:0;max-height:none}.table-right>*{border:1px solid var(--line);border-radius:var(--radius-panel);padding:var(--space-2) var(--space-3);background:#201a15e0}.dock{height:var(--dock-h);z-index:14;pointer-events:none;position:absolute;bottom:0;left:0;right:0}.dock:before{content:"";pointer-events:none;background:linear-gradient(#0000,#0806048c);height:64px;position:absolute;bottom:0;left:0;right:0}.dock>*{pointer-events:auto}.dock__hand-wrap{left:0;right:var(--rail-w,0px);pointer-events:none;justify-content:center;align-items:flex-end;display:flex;position:absolute;bottom:-6px}.dock__hand-wrap>*{pointer-events:auto}.dock__empty{color:var(--dim);margin-bottom:26px}.dock-console{left:calc((100% - var(--rail-w,0px)) / 2);z-index:16;align-items:center;gap:var(--space-2);color:var(--text);font-variant-numeric:tabular-nums;font-weight:700;font-size:var(--font-sm);white-space:nowrap;background:linear-gradient(#ffffff0d,#0000 45%),linear-gradient(#2b2c31f0,#141518f0);border:1px solid #0d0e10;border-radius:999px;padding:5px 16px;display:flex;position:absolute;bottom:4px;transform:translate(-50%);box-shadow:inset 0 0 0 1px #c9a24b66,0 6px 14px #00000073}.dock-console__portrait{width:30px;height:30px;color:color-mix(in srgb, var(--seat,var(--brass)) 60%, white);text-shadow:0 1px 3px #000c;background:radial-gradient(circle at 50% 32%, color-mix(in srgb, var(--seat,var(--brass)) 45%, #1a1b1f), #101114 80%);border:1px solid #c9a24b99;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;display:inline-flex;box-shadow:inset 0 -6px 8px #00000080,0 1px 4px #00000080}.dock-console__stat{align-items:center;gap:5px;display:inline-flex}.dock-console__deck-icon{border:1px solid #0d0e10;border-radius:2px;width:15px;transform:rotate(-6deg);box-shadow:0 1px 3px #0000008c}.dock-console__coin{color:var(--gold);text-shadow:0 0 6px #e8b05499;font-size:10px}.dock-console__divider{background:#c9a24b59;width:1px;height:16px}.draw-fx{left:calc((100% - var(--rail-w,0px)) / 2 + 60px);z-index:45;pointer-events:none;position:absolute;bottom:28px}.draw-fx__card{opacity:0;border:1px solid #1d150c;border-radius:6px;width:74px;animation:.55s ease-in-out forwards draw-fly;position:absolute;bottom:0;right:0;box-shadow:0 6px 16px #00000080}@keyframes draw-fly{0%{opacity:0;transform:translateY(8px)rotate(9deg)scale(.6)}25%{opacity:1}70%{opacity:1;transform:translate(-190px,-46px)rotate(-4deg)scale(.95)}to{opacity:0;transform:translate(-320px,-8px)rotate(-10deg)scale(.7)}}.play-fx{z-index:24;pointer-events:none;position:fixed;inset:0}.play-fx__mover{offset-rotate:0deg;width:0;height:0;animation:.46s cubic-bezier(.5,.05,.55,1) forwards play-fx-fly;position:absolute;top:0;left:0}@keyframes play-fx-fly{0%{offset-distance:0%}to{offset-distance:100%}}@supports not (offset-path:path('M 0 0 L 1 1')){.play-fx__mover{display:none}}.play-fx__card{width:92px;height:118px;transform-style:preserve-3d;animation:.46s cubic-bezier(.5,.05,.55,1) forwards play-fx-card;position:absolute;top:-59px;left:-46px}@keyframes play-fx-card{0%{opacity:1;transform:scale(1.02)rotate(0)rotateY(0)}18%{opacity:1;transform:scale(1.1)rotate(-4deg)rotateY(0)}72%{opacity:1;transform:scale(.58)rotate(5deg)rotateY(180deg)}92%{opacity:1}to{opacity:0;transform:scale(.32)rotate(7deg)rotateY(180deg)}}.play-fx__front,.play-fx__back{backface-visibility:hidden;border:1px solid #1d150c;border-radius:8px;position:absolute;inset:0;box-shadow:0 10px 24px #00000080,inset 0 0 0 1px #c9a24b8c}.play-fx__front{background:linear-gradient(160deg,#ffffff38,#0000 45%),linear-gradient(#f2e7cf,#e2d1ab);justify-content:center;align-items:center;display:flex;overflow:hidden}.play-fx__front img{width:84%;height:auto}.play-fx__back{object-fit:cover;width:100%;height:100%;transform:rotateY(180deg)}.play-fx__impact{opacity:0;border:2px solid #e8b054e6;border-radius:50%;width:48px;height:48px;margin:-24px 0 0 -24px;animation:.24s ease-out .4s forwards play-fx-impact;position:absolute;box-shadow:0 0 18px #e8b0548c,inset 0 0 10px #e8b05466}@keyframes play-fx-impact{0%{opacity:.95;transform:scale(.35)scaleY(.6)}to{opacity:0;transform:scale(1.3)scaleY(.6)}}@media (prefers-reduced-motion:reduce){.play-fx{display:none}}.drag-ghost{z-index:25;pointer-events:none;position:fixed;inset:0}body:has(.drag-ghost){-webkit-user-select:none;user-select:none}.dock,.player-plate,.topbar,.building-placement{-webkit-user-select:none;user-select:none}.card-face__art{-webkit-user-drag:none;user-drag:none}.drag-ghost__card{transform-origin:50%;filter:drop-shadow(0 18px 28px #0000008c);will-change:left, top;transition:opacity .12s,transform .12s;position:fixed;transform:scale(.88)rotate(-4deg)}.drag-ghost__card[data-morphed]{opacity:0;transform:scale(.4)rotate(-4deg)}.drag-silhouette{object-fit:contain;opacity:.75;pointer-events:none;filter:drop-shadow(0 10px 14px #00000080);will-change:left, top;animation:.12s silhouette-in;position:fixed;transform:translate(-50%,-80%)}.drag-silhouette[data-legal=false]{opacity:.55;filter:grayscale(.9)brightness(.55)drop-shadow(0 10px 14px #00000080)}@keyframes silhouette-in{0%{opacity:0;transform:translate(-50%,-80%)scale(1.18)}to{opacity:.75;transform:translate(-50%,-80%)scale(1)}}.drag-ghost__card[data-returning]{opacity:.65;transition:left .2s cubic-bezier(.3,.7,.4,1),top .2s cubic-bezier(.3,.7,.4,1),transform .2s ease-in,opacity .2s ease-in;transform:scale(1)rotate(0)}.drag-ghost .card-face__box{width:100%;height:100%;min-height:0}.hand__buildings[data-dragging] .hand-card{opacity:.4}.hand__buildings[data-dragging] .hand-card[data-drag-source]{opacity:.18}.hand__actives[data-dragging] .hand-card{opacity:.4}.hand__actives[data-dragging] .hand-card[data-drag-source]{opacity:.18}.hand__buildings .hand-card,.hand__buildings .card-face__box,.hand__actives .hand-card,.hand__actives .card-face__box{touch-action:none}.drag-ghost__card[data-hostile]{filter:drop-shadow(0 18px 28px color-mix(in srgb, var(--danger) 45%, #0000008c))}.drag-target-ring{pointer-events:none;border:2px solid color-mix(in srgb, var(--danger) 80%, white);box-shadow:0 0 14px color-mix(in srgb, var(--danger) 55%, transparent), inset 0 0 12px color-mix(in srgb, var(--danger) 40%, transparent);border-radius:50%;animation:1.1s ease-in-out infinite drag-ring-pulse;position:fixed;transform:translate(-50%,-50%)}.drag-target-ring[data-tone=self]{border-color:color-mix(in srgb, var(--hp) 80%, white);box-shadow:0 0 14px color-mix(in srgb, var(--hp) 55%, transparent), inset 0 0 12px color-mix(in srgb, var(--hp) 40%, transparent)}.drag-target-ring[data-hot]{filter:brightness(1.25);border-width:3px;animation:none;transform:translate(-50%,-50%)scale(.92)}@keyframes drag-ring-pulse{0%,to{opacity:.85;transform:translate(-50%,-50%)scale(1)}50%{opacity:.55;transform:translate(-50%,-50%)scale(1.12)}}.player-plate[data-drop=danger]{box-shadow:0 0 0 1px color-mix(in srgb, var(--danger) 65%, transparent), 0 0 16px color-mix(in srgb, var(--danger) 38%, transparent);animation:1.2s ease-in-out infinite plate-drop-breathe}.player-plate[data-drop=self]{box-shadow:0 0 0 1px color-mix(in srgb, var(--hp) 60%, transparent), 0 0 16px color-mix(in srgb, var(--hp) 34%, transparent);animation:1.2s ease-in-out infinite plate-drop-breathe}.player-plate[data-drop=danger][data-drop-hover]{box-shadow:0 0 0 2px var(--danger), 0 0 26px color-mix(in srgb, var(--danger) 60%, transparent);animation:none;transform:scale(1.03)}.player-plate[data-drop=self][data-drop-hover]{box-shadow:0 0 0 2px var(--hp), 0 0 26px color-mix(in srgb, var(--hp) 55%, transparent);animation:none;transform:scale(1.03)}@keyframes plate-drop-breathe{0%,to{filter:brightness()}50%{filter:brightness(1.14)}}.target-popup{z-index:30;background:linear-gradient(180deg, #ffffff0d, transparent 45%), linear-gradient(180deg, var(--steel-hi), var(--steel-lo));border:1px solid var(--brass,#8a713d);border-radius:10px;flex-direction:column;gap:6px;min-width:170px;padding:8px;display:flex;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 1px #ffffff0a,0 12px 28px #0000008c}.target-popup:after{content:"";border:7px solid #0000;border-top-color:var(--brass,#8a713d);position:absolute;top:100%;left:50%;transform:translate(-50%)}.target-popup__title{font-size:var(--font-sm);letter-spacing:.06em;text-transform:uppercase;opacity:.75;text-align:center;margin:0}.target-popup__option{border:1px solid color-mix(in srgb, var(--danger) 45%, var(--border,#333));background:linear-gradient(180deg, color-mix(in srgb, var(--danger) 18%, var(--steel)), color-mix(in srgb, var(--danger) 8%, var(--steel-lo)));color:inherit;cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;display:flex}.target-popup__option:hover:not(:disabled){border-color:var(--danger);filter:brightness(1.15)}.target-popup__emblem{background:color-mix(in srgb, var(--seat,#888) 30%, var(--steel-lo));width:26px;height:26px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--seat,#888) 70%, transparent);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.target-popup__name{flex:1;font-weight:600}.target-popup__hp{font-variant-numeric:tabular-nums;align-items:center;gap:3px;display:inline-flex}.target-popup__heart{width:12px;color:var(--hp);display:inline-flex}.target-popup__cancel{border:1px solid var(--border,#333);color:inherit;opacity:.7;cursor:pointer;font-size:var(--font-sm);background:0 0;border-radius:8px;padding:4px 8px}.target-popup__cancel:hover{opacity:1}@media (prefers-reduced-motion:reduce){.drag-target-ring,.player-plate[data-drop]{animation:none}.drag-ghost__card{transform:none}.drag-ghost__card[data-returning]{opacity:0;transition:none}}.dock .panel-title,.dock .active-cards>.hint{display:none}.dock .active-cards{align-items:flex-end;display:flex}.dock [data-testid=card-error]{bottom:calc(var(--dock-h) - var(--space-2));white-space:nowrap;clip-path:none;border-radius:999px;padding:3px 12px;position:absolute;left:50%;transform:translate(-50%)}.table-right>.players{background:0 0;border:none;padding:0}.players{gap:var(--space-2);flex-direction:column;flex-shrink:0;margin:0;padding:0;list-style:none;display:flex}.players[data-count="3"] .player-plate,.players[data-count="4"] .player-plate{gap:var(--space-2);padding:5px var(--space-2)}.players[data-count="3"] .player-plate__frame,.players[data-count="4"] .player-plate__frame,.players[data-count="3"] .player-plate__portrait,.players[data-count="4"] .player-plate__portrait{width:48px}.players[data-count="3"] .player-plate__portrait,.players[data-count="4"] .player-plate__portrait{height:48px}@media (height<=660px){.players[data-count="3"] .player-plate,.players[data-count="4"] .player-plate{padding:3px var(--space-2)}.players[data-count="3"] .player-plate__frame,.players[data-count="4"] .player-plate__frame,.players[data-count="3"] .player-plate__portrait,.players[data-count="4"] .player-plate__portrait{width:40px}.players[data-count="3"] .player-plate__portrait,.players[data-count="4"] .player-plate__portrait{height:40px}}.players[data-count="3"] .player-plate__portrait:before,.players[data-count="4"] .player-plate__portrait:before{inset:6px}.players[data-count="3"] .player-plate__monogram,.players[data-count="4"] .player-plate__monogram{font-size:22px}.players[data-count="3"] .player-plate__body,.players[data-count="4"] .player-plate__body{gap:2px}.players[data-count="3"] .player-plate__row,.players[data-count="4"] .player-plate__row{font-size:10.5px}.table-right{scrollbar-width:thin;scrollbar-color:#c9a24b73 transparent}.table-right::-webkit-scrollbar{width:8px}.table-right::-webkit-scrollbar-track{background:0 0}.table-right::-webkit-scrollbar-thumb{background:#c9a24b66 padding-box padding-box;border:2px solid #0000;border-radius:999px}.player-plate{gap:var(--space-3);font-size:var(--font-sm);padding:var(--space-2);background:linear-gradient(180deg, #ffffff0d, transparent 40%), linear-gradient(180deg, var(--steel-hi), var(--steel-lo));border:1px solid #0d0e10;border-radius:10px;display:flex;position:relative;box-shadow:inset 0 0 0 1px #c9a24b29,0 4px 12px #0006}.player-plate[data-me=true]{box-shadow:inset 0 0 0 1px #c9a24b29,inset 0 -2px #c9a24b80,0 4px 12px #0006}.player-plate[data-active=true]{border-color:color-mix(in srgb, var(--cyan) 65%, #0d0e10);box-shadow:0 0 0 1px var(--cyan), 0 0 16px #45c7e859, inset 0 0 0 1px #45c7e840, 0 4px 12px #0006}.player-plate[data-eliminated=true]{opacity:.6;filter:saturate(.35)}.player-plate__keel{background:linear-gradient(180deg, color-mix(in srgb, var(--seat) 75%, white), var(--seat) 45%, color-mix(in srgb, var(--seat) 78%, black));width:4px;box-shadow:0 0 8px color-mix(in srgb, var(--seat) 55%, transparent), 1px 0 0 #00000073;pointer-events:none;border-radius:0 2px 2px 0;position:absolute;top:6px;bottom:6px;left:1px}.player-plate__seat-dot{background:color-mix(in srgb, var(--seat) 78%, white);border:1px solid color-mix(in srgb, var(--seat) 45%, #0d0e10);width:8px;height:8px;box-shadow:0 0 4px color-mix(in srgb, var(--seat) 45%, transparent);border-radius:50%;flex-shrink:0}.player-plate__frame{flex-shrink:0;width:64px;position:relative}.player-plate__portrait{background:radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--seat) 42%, #1a1b1f), #101114 80%);width:64px;height:64px;box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--seat) 55%, #34363c), inset 0 -16px 18px #0000008c;border:1px solid #0a0b0d;border-radius:6px;justify-content:center;align-items:center;display:flex;position:relative}.player-plate[data-active=true] .player-plate__portrait{box-shadow:inset 0 0 0 2px var(--cyan), inset 0 -16px 18px #0000008c}.player-plate__portrait:before{content:"";border:1px solid color-mix(in srgb, var(--seat) 55%, transparent);box-shadow:inset 0 0 10px color-mix(in srgb, var(--seat) 30%, transparent);border-radius:50%;position:absolute;inset:9px}.player-plate__monogram{color:color-mix(in srgb, var(--seat) 60%, white);text-shadow:0 2px 6px #000000d9;font-size:30px;line-height:1}.player-plate__hp{background:#0c0d0f;border:1px solid #000;border-radius:3px;height:6px;margin-top:4px;overflow:hidden;box-shadow:inset 0 1px 2px #000c}.player-plate__hp-fill{height:100%;transition:width var(--ease-step);background:linear-gradient(180deg, #8af2a1, var(--hp) 55%, #2c9e46)}.player-plate__hp-fill--warn{background:linear-gradient(180deg, #ffd98a, var(--ember) 55%, #b07b2c)}.player-plate__hp-fill--danger{background:linear-gradient(180deg, #f0968a, var(--danger) 55%, #8f2f2f)}.player-plate__hp-num{color:var(--text-dim);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:11px}.player-plate__hp-heart{vertical-align:-1px;width:10px;height:10px;color:var(--hp);margin-right:3px;display:inline-block}.player-plate__hp-heart svg{width:100%;height:100%;display:block}.player-plate__badge{font-variant-numeric:tabular-nums;color:var(--ink);background:radial-gradient(circle at 35% 30%, #ffdf9e, var(--ember) 55%, #a87f2e);border:1px solid #241a10;border-radius:999px;align-items:center;gap:3px;padding:1px 7px;font-size:11px;font-weight:800;display:inline-flex;position:absolute;top:-6px;right:-8px;box-shadow:0 2px 5px #0000008c,inset 0 1px 1px #ffffff80}.player-plate__badge-glyph{color:#7c5c1e;font-size:8px}.player-plate__body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.player-plate__head{align-items:center;gap:var(--space-2);display:flex}.player-plate__name{letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:700;overflow:hidden}.player-plate[data-me=true] .player-plate__name{color:var(--ember)}.player-plate__row{color:var(--text-dim);margin:0;font-size:11.5px}.player-plate__countdown{font-size:var(--font-sm);margin:0}.player-plate__laps-meter{background:#0c0d0f;border:1px solid #000;border-radius:999px;height:4px;overflow:hidden}.player-plate__laps-fill{background:linear-gradient(90deg, color-mix(in srgb, var(--arc) 70%, transparent), var(--arc));height:100%;transition:width var(--ease-step)}:is(.player-plate__statuses:not(:has(.status-badge)),.player-plate__presence:not(:has(strong))){display:none}.presence-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.presence-dot--online{background:var(--heal);box-shadow:0 0 5px #6ea15ab3}.presence-dot--away{background:var(--dim)}.status-badge{margin-right:var(--space-1);padding:1px var(--space-2);background:var(--steel-lo);color:var(--text-dim);border:1px solid #c9a24b59;border-radius:999px;align-items:center;gap:3px;font-size:11px;display:inline-flex}.status-badge__icon{flex-shrink:0;width:12px;height:12px;display:inline-flex}.status-badge__icon svg{width:100%;height:100%;display:block}.status-badge--shocked .status-badge__icon{color:var(--ember)}.status-badge--stilts .status-badge__icon{color:var(--brass)}.status-badge--hastened .status-badge__icon{color:var(--text)}.status-badge--chilled .status-badge__icon{color:color-mix(in srgb, var(--arc) 62%, var(--text-dim))}.countdown-ring{flex-shrink:0;transform:rotate(-90deg)}.countdown-ring__track{fill:none;stroke:var(--line);stroke-width:3px}.countdown-ring__value{fill:none;stroke-width:3px;stroke-linecap:round;transition:stroke-dashoffset var(--ease-step)}.dice-tray{right:var(--space-4);bottom:var(--space-2);align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-panel);margin-bottom:var(--space-2);background:linear-gradient(#ffffff0a,#0000 40%),linear-gradient(#2b2c31f0,#141518f0);border:1px solid #0d0e10;flex-direction:column;min-width:150px;display:flex;position:absolute;box-shadow:inset 0 0 0 1px #c9a24b40,0 6px 16px #00000073}.dice-tray__die{justify-content:center;display:flex}.die{justify-content:center;align-items:center;display:inline-flex;position:relative}.die__face{background:linear-gradient(145deg,#ffffff24,#0000 42%),linear-gradient(#3a3d44,#22242a 55%,#191b20);border:1px solid #0b0c0e;border-radius:10px;width:54px;height:54px;padding:7px;box-shadow:inset 0 0 0 2px #c9a24b80,inset 0 -8px 12px #00000073,0 4px 10px #00000080}.die__pips{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);width:100%;height:100%;display:grid}.die__pip{background:radial-gradient(circle at 35% 30%, #ffdf9e, var(--ember) 55%, #8c6a26);border-radius:50%;place-self:center;width:9px;height:9px;box-shadow:0 1px 2px #0009,inset 0 -1px 1px #00000059}.die__idle{background:radial-gradient(circle,#c9a24b8c 0 1.5px,#0000 3px),linear-gradient(45deg,#0000 calc(50% - .5px),#c9a24b29 calc(50% - .5px) calc(50% + .5px),#0000 calc(50% + .5px)),linear-gradient(135deg,#0000 calc(50% - .5px),#c9a24b29 calc(50% - .5px) calc(50% + .5px),#0000 calc(50% + .5px));width:100%;height:100%;display:block;position:relative}.die__idle:before{content:"";border:1px solid #c9a24b4d;border-radius:1px;position:absolute;inset:15%;transform:rotate(45deg);box-shadow:inset 0 1px 2px #0000008c,0 1px #ffdf9e14}.die[data-previous=true] .die__pip{opacity:.34;filter:saturate(.55);box-shadow:none}.die--tumble .die__face{animation:.55s cubic-bezier(.35,.6,.45,1) infinite die-tumble}.die--tumble:before{content:"";pointer-events:none;background:radial-gradient(circle,#e8b05466,#0000 65%);border-radius:50%;animation:.55s ease-in-out infinite die-glow;position:absolute;inset:-12px}@keyframes die-tumble{0%{filter:blur();transform:rotate(0)translateY(0)scale(1)}22%{filter:blur(.6px);transform:rotate(85deg)translateY(-9px)scale(1.08)}48%{filter:blur(1.4px);transform:rotate(200deg)translateY(-2px)scale(.92)}74%{filter:blur(.6px);transform:rotate(290deg)translateY(-7px)scale(1.05)}to{filter:blur();transform:rotate(360deg)translateY(0)scale(1)}}@keyframes die-glow{0%,to{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1.06)}}.die[data-settled=true] .die__face{animation:.26s cubic-bezier(.2,1.4,.4,1) die-settle}@keyframes die-settle{0%{transform:scale(1.26)rotate(-7deg)}60%{transform:scale(.95)}to{transform:scale(1)rotate(0)}}.decision{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.decision__actions{gap:var(--space-2);display:flex}.dice-tray--deciding{border-color:color-mix(in srgb, var(--ember) 30%, #0d0e10);animation:2.6s ease-in-out infinite tray-ember-breathe}@keyframes tray-ember-breathe{0%,to{box-shadow:inset 0 0 0 1px #c9a24b52,0 6px 16px #00000073,0 0 16px #e8b0541f}50%{box-shadow:inset 0 0 0 1px #c9a24b7a,0 6px 16px #00000073,0 0 30px #e8b05447}}.decision__stake{text-transform:uppercase;letter-spacing:.09em;color:var(--text-dim);flex-direction:column;align-items:center;gap:1px;font-size:.72rem;display:flex}.decision__stake strong{font-variant-numeric:tabular-nums;color:var(--ember);text-shadow:0 1px 0 #000000a6, 0 0 16px color-mix(in srgb, var(--ember) 45%, transparent);font-size:2.2rem;font-weight:700;line-height:1}.decision__risk{border-color:color-mix(in srgb, var(--danger) 65%, #0d0e10);background:linear-gradient(180deg, color-mix(in srgb, var(--danger) 42%, #241113), color-mix(in srgb, var(--danger) 22%, #191012));color:#f0d8d2;font-weight:700;animation:1.9s ease-in-out infinite risk-ember}.decision__risk:hover:not(:disabled){border-color:var(--danger);filter:brightness(1.08)}@keyframes risk-ember{0%,to{box-shadow:inset 0 1px #ffffff12,0 0 8px #c94f4f2e}50%{box-shadow:inset 0 1px #ffffff12,0 0 18px #c94f4f6b}}.decision__plaque{text-align:center;padding:3px var(--space-2) 4px;letter-spacing:.05em;color:color-mix(in srgb, var(--text-dim) 82%, var(--ember));background:linear-gradient(#00000061,#ffffff08);border-top:1px solid #0009;border-bottom:1px solid #ffffff0f;border-radius:3px;align-self:stretch;font-size:.68rem;box-shadow:inset 0 1px 2px #00000080}.outcome-line{font-size:var(--font-sm);color:var(--brass);animation:.48s cubic-bezier(.2,1.4,.4,1) outcome-stamp}@keyframes outcome-stamp{0%{opacity:0;transform:scale(1.28)}60%{opacity:1;transform:scale(.95)}to{transform:scale(1)}}.hand__buildings,.hand__actives{align-items:flex-end;margin:0;padding:0;list-style:none;display:flex}.hand-card{display:block}.card-face{transform-origin:bottom;transform:rotate(var(--rot,0deg)) translateY(calc(var(--lift,0px) + var(--primed-lift,0px)));margin-left:-34px;transition:transform .16s ease-out,box-shadow .16s ease-out;position:relative}.hand__actives .card-face:first-child,.hand__buildings .card-face:first-child{margin-left:0}.active-cards:has(.card-face)+.hand__buildings .card-face:first-child{margin-left:-34px}@media (width<=1440px){.card-face{margin-left:-52px}.active-cards:has(.card-face)+.hand__buildings .card-face:first-child{margin-left:-52px}}@media (width<=1120px){.card-face{margin-left:-66px}.active-cards:has(.card-face)+.hand__buildings .card-face:first-child{margin-left:-66px}}@media (width<=820px){.card-face{margin-left:-84px}.active-cards:has(.card-face)+.hand__buildings .card-face:first-child{margin-left:-84px}}@media (width<=620px){.card-face{margin-left:-102px}.active-cards:has(.card-face)+.hand__buildings .card-face:first-child{margin-left:-102px}}.card-face:hover,.card-face:focus-within{z-index:40;transition-timing-function:cubic-bezier(.2,.9,.3,1);transform:translateY(-72px)scale(1.38);box-shadow:0 16px 36px #0009}.card-face:has(.target-popup){transform:none}.target-popup{max-height:calc(100vh - var(--topbar-h,52px) - var(--dock-h) - 24px);overscroll-behavior:contain;overflow-y:auto}.card-face:hover:after{content:"";position:absolute;inset:-12px 0 -118px}.card-face__box{text-align:left;width:132px;min-height:168px;padding:0 0 var(--space-1);color:var(--ink);background:linear-gradient(160deg,#ffffff38,#0000 45%),repeating-linear-gradient(0deg,#3a2d1c0d 0 1px,#0000 1px 3px),linear-gradient(#f2e7cf,#e2d1ab);border:1px solid #1d150c;border-radius:9px;flex-direction:column;align-items:stretch;gap:0;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #c9a24b8c,inset 0 0 0 3px #17131029,0 2px 6px #00000059}button.card-face__box{font:inherit}button.card-face__box:disabled{opacity:1;filter:saturate(.8)brightness(.94);cursor:default}.hand-card--primed{--primed-lift:-12px}.hand-card--primed .card-face__box{box-shadow:inset 0 0 0 1px #c9a24be6, inset 0 0 0 3px #17131029, 0 0 0 2px var(--brass), 0 0 14px #e8b05473, 0 2px 6px #00000059;border-color:#6b511f}.card-face__seal{z-index:2;background:radial-gradient(circle at 35% 30%, #ffdf9e, var(--ember) 48%, #a87f2e);color:var(--ink);border:2px solid #241a10;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:11px;font-weight:800;display:flex;position:absolute;top:-7px;left:-7px;box-shadow:0 2px 5px #00000080,inset 0 1px 2px #ffffff80}.card-face__art{object-fit:contain;background:radial-gradient(circle at 50% 35%,#4a3a26,#241a10);border:1px solid #241a10;border-radius:6px 6px 3px 3px;width:calc(100% - 8px);height:74px;margin:4px 4px 0;display:block;box-shadow:inset 0 2px 6px #00000080,inset 0 -1px #c9a24b59}.card-face__art--glyph{justify-content:center;align-items:center;font-size:26px;display:flex}.card-face__title{text-align:center;background:linear-gradient(180deg, var(--parch2), #d9c599);border-top:1px solid #3a2d1c73;border-bottom:1px solid #3a2d1c73;border-radius:3px;margin:3px 4px 0;padding:3px 4px;font-size:11px;font-weight:700;line-height:1.1}.card-face__typeline{text-align:center;text-transform:uppercase;letter-spacing:.05em;color:color-mix(in srgb, var(--ink) 65%, transparent);padding:2px 6px 0;font-size:8.5px}.card-face__rules{text-align:center;color:var(--ink);padding:3px 7px 0;font-size:8.5px;line-height:1.3}.hand-card__label{text-align:center;letter-spacing:.02em;color:color-mix(in srgb, var(--ink) 55%, transparent);margin-top:auto;padding:3px 6px 0;font-size:8px;display:block}.card-face select{z-index:2;background:var(--parch2);color:var(--ink);border-color:var(--ink);opacity:0;pointer-events:none;padding:2px 4px;font-size:10px;transition:opacity .12s ease-out;position:absolute;bottom:32px;left:6px;right:6px}.card-face>button[data-testid^=play-card-]{z-index:2;font-size:var(--font-sm);padding:2px var(--space-2);background:var(--brass);color:var(--ink);border-color:var(--ink);opacity:0;pointer-events:none;font-weight:700;transition:opacity .12s ease-out;position:absolute;bottom:5px;left:6px;right:6px}.card-face:hover select,.card-face:focus-within select,.card-face:hover>button[data-testid^=play-card-],.card-face:focus-within>button[data-testid^=play-card-]{opacity:1;pointer-events:auto}@media (prefers-reduced-motion:reduce){.draw-fx{display:none}.die--tumble .die__face,.die--tumble:before,.die[data-settled=true] .die__face,.dice-tray--deciding,.decision__risk,.outcome-line{animation:none}.card-face,.card-face:hover,.card-face:focus-within{transition-duration:.01ms}}.building-placement{width:max-content;max-width:92vw;left:0;right:0;bottom:calc(var(--dock-h) + var(--space-3));z-index:15;align-items:center;gap:var(--space-2);pointer-events:none;flex-direction:column;margin-inline:auto;display:flex;position:absolute}.building-placement>*{pointer-events:auto}.placement-teach{text-align:center;max-width:min(92vw,640px);color:color-mix(in srgb, var(--brass) 30%, var(--text));letter-spacing:.03em;border:1px solid color-mix(in srgb, var(--brass) 34%, var(--border));border-left:2px solid var(--brass);border-right:2px solid var(--brass);background:linear-gradient(180deg, #ffffff0d, transparent 45%), linear-gradient(180deg, var(--steel-hi), var(--steel-lo));pointer-events:none;border-radius:2px;margin:0;padding:3px 14px;font-size:.78rem;animation:.42s ease-out both placement-teach-in;box-shadow:inset 0 0 0 1px #c9a24b24,0 4px 14px #00000080}@keyframes placement-teach-in{0%{opacity:0}to{opacity:1}}.placement-state{color:color-mix(in srgb, var(--dim) 76%, transparent);text-transform:uppercase;letter-spacing:.14em;border-bottom:1px solid color-mix(in srgb, var(--brass) 22%, transparent);pointer-events:none;background:0 0;margin:0;padding:2px 10px 3px;font-size:.68rem;font-weight:600}@media (prefers-reduced-motion:reduce){.placement-teach{animation:none}}.board-tooltip{z-index:20;max-width:260px;color:var(--text);border:1px solid color-mix(in srgb, var(--brass) 40%, var(--border));border-left:3px solid var(--brass);border-radius:0 var(--radius-control) var(--radius-control) 0;background:linear-gradient(180deg, #ffffff0d, transparent 45%), linear-gradient(180deg, var(--steel-hi), var(--steel-lo));padding:var(--space-2) var(--space-3);font-size:var(--font-sm);pointer-events:none;position:fixed;box-shadow:inset 0 0 0 1px #c9a24b29,0 6px 18px #00000080}.board-tooltip strong{color:var(--ember);letter-spacing:.02em}.board-tooltip--illegal{border-color:color-mix(in srgb, var(--danger) 55%, var(--border));border-left-color:var(--danger);color:color-mix(in srgb, var(--danger) 72%, white);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--danger) 22%, transparent), 0 6px 18px #00000080}.board-tooltip--building{border-left-color:var(--seat,var(--brass));flex-direction:column;gap:3px;max-width:300px;animation:.12s ease-out both board-tooltip-in;display:flex}.board-tooltip--building p{margin:0}.building-tooltip__title{align-items:center;gap:var(--space-2);display:flex}.building-tooltip__art{object-fit:contain;filter:drop-shadow(0 1px 2px #0009);width:22px;height:22px}.building-tooltip__owner{letter-spacing:.03em;color:color-mix(in srgb, var(--seat,var(--brass)) 55%, var(--text));align-items:center;gap:6px;font-size:.76rem;display:flex}.building-tooltip__seat-dot{background:color-mix(in srgb, var(--seat) 78%, white);border:1px solid color-mix(in srgb, var(--seat) 45%, #0d0e10);width:8px;height:8px;box-shadow:0 0 4px color-mix(in srgb, var(--seat) 45%, transparent);border-radius:50%;flex-shrink:0}.building-tooltip__rules{color:var(--dim);border-top:1px solid color-mix(in srgb, var(--brass) 22%, transparent);padding-top:4px;font-size:.78rem;line-height:1.35}.building-tooltip__meta{color:color-mix(in srgb, var(--dim) 78%, transparent);letter-spacing:.03em;font-size:.7rem}@keyframes board-tooltip-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.board-tooltip--building{animation:none}}.placement-picker{border:1px solid color-mix(in srgb, var(--brass) 55%, var(--border));border-radius:var(--radius-panel);background:linear-gradient(180deg, #ffffff0d, transparent 40%), linear-gradient(180deg, var(--steel-hi), var(--steel-lo));min-width:270px;padding:var(--space-3) var(--space-4);gap:var(--space-3);flex-direction:column;display:flex;box-shadow:inset 0 0 0 1px #c9a24b24,0 12px 30px #0000008c}.placement-picker p{font-size:var(--font-sm);margin:0}.placement-picker__header{padding-bottom:var(--space-2);border-bottom:1px solid color-mix(in srgb, var(--brass) 28%, transparent);color:var(--dim);letter-spacing:.01em}.placement-picker__header strong{color:var(--ember);letter-spacing:.04em;border-left:2px solid var(--brass);clip-path:polygon(0 0,100% 0,calc(100% - 7px) 100%,0 100%);background:linear-gradient(#ffffff0a,#0000 45%),linear-gradient(#00000061,#00000080);margin:0 2px;padding:1px 12px 1px 9px;font-weight:700;display:inline-block;box-shadow:inset 0 0 0 1px #c9a24b42}.placement-picker__types{gap:var(--space-2);flex-wrap:wrap;display:flex}.placement-picker .chip{border-color:color-mix(in srgb, var(--brass) 26%, var(--border));background:linear-gradient(180deg, var(--steel-hi), var(--steel-lo));color:var(--text);letter-spacing:.01em;transition:border-color var(--ease-hover), box-shadow var(--ease-hover);align-items:center;gap:7px;padding:3px 12px 3px 4px;font-weight:600;display:inline-flex}.placement-picker .chip:hover:not(.chip--selected){border-color:color-mix(in srgb, var(--brass) 55%, var(--border))}.placement-picker .chip--selected{border-color:var(--brass);background:linear-gradient(180deg, color-mix(in srgb, var(--brass) 24%, var(--steel-hi)), color-mix(in srgb, var(--brass) 10%, var(--steel-lo)));color:#fbe6b5;box-shadow:0 0 0 1px color-mix(in srgb, var(--brass) 65%, transparent), 0 0 10px #c9a24b47}.chip__art{object-fit:contain;background:radial-gradient(circle at 50% 35%,#4a3a26,#241a10);border-radius:50%;flex-shrink:0;width:22px;height:22px;padding:1px;box-shadow:inset 0 1px 3px #00000080,0 0 0 1px #c9a24b59}.placement-picker__actions{gap:var(--space-2);display:flex}.placement-picker__actions .btn--brass{flex:1}.placement-picker__actions button:not(.btn--brass){border-color:color-mix(in srgb, var(--border) 70%, transparent);color:var(--dim);background:0 0}.placement-picker__actions button:not(.btn--brass):hover{border-color:var(--border);color:var(--text)}.event-feed{flex-shrink:0}.event-feed .panel-title{align-items:center;gap:var(--space-2);color:color-mix(in srgb, var(--brass) 55%, var(--text-dim));display:flex}.event-feed .panel-title:after{content:"";background:linear-gradient(90deg, color-mix(in srgb, var(--brass) 45%, transparent), transparent);flex:1;height:1px}.event-feed ul{gap:var(--space-1);flex-direction:column;max-height:224px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.event{align-items:center;gap:var(--space-2);font-size:var(--font-sm);color:var(--text-dim);padding:var(--space-1) 0;border-bottom:1px solid var(--line);flex-wrap:wrap;min-width:0;display:flex}@keyframes event-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}.event-feed li:first-child{animation:.2s ease-out event-in}@media (prefers-reduced-motion:reduce){.event-feed li:first-child{animation:none}}.event__icon{width:14px;height:14px;color:var(--brass);opacity:.85;flex-shrink:0;display:inline-flex}.event__icon svg{width:100%;height:100%}.event--roll .event__icon{color:color-mix(in srgb, var(--text-dim) 75%, white)}.event--effect .event__icon{color:var(--ember)}.event--lapIncome .event__icon,.event--bonus .event__icon{color:var(--brass)}.event--draw .event__icon,.event--cardPlay .event__icon{color:color-mix(in srgb, var(--parch2) 78%, var(--text-dim))}.event__seat{background:color-mix(in srgb, var(--seat) 78%, white);width:7px;height:7px;box-shadow:0 0 4px color-mix(in srgb, var(--seat) 45%, transparent);border-radius:50%;flex-shrink:0}.event__seat--none{background:var(--line);box-shadow:none}.event__text{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.event__when{gap:var(--space-2);padding-left:calc(21px + 2 * var(--space-2));opacity:.58;font-variant-numeric:tabular-nums;white-space:nowrap;flex:1 0 100%;font-size:.8em;display:flex}.effects{background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius-panel);padding:var(--space-3);flex-shrink:0}.effects ul{margin:var(--space-1) 0 0;font-size:var(--font-sm);color:var(--text-dim);padding-left:1.2em}
