:root{
  color-scheme:dark;
  font-family:"Segoe UI",Arial,sans-serif;
  --bg:#020915;
  --panel:#0b2a2f;
  --panel-2:#0a2025;
  --gold:#efc33d;
  --teal:#19b98b;
  --text:#eef9f5;
  --muted:#8fa9a7;
  --s:1;
}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;background:#000;color:var(--text);overflow:hidden}
button,input,select{font:inherit}
button{-webkit-tap-highlight-color:transparent}
.hidden{display:none!important}
.screen{position:fixed;inset:0;width:100%;height:100%;overflow:hidden}

/* ---------- Startmenü: direkt auf der originalen Desktop-Grafik ---------- */
.setup-screen{display:grid;place-items:center;background:#020915}
.menu-board{position:relative;width:min(80vh,92vw);aspect-ratio:1/1;filter:drop-shadow(0 18px 45px rgba(0,0,0,.55));user-select:none;container-type:inline-size}
.menu-reference{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}
.menu-name-input{position:absolute;left:41.4%;top:41.25%;width:40.7%;height:6.0%;border:0;background:#111f56;color:white;padding:0 1.3%;font-size:clamp(16px,2.25vh,27px);font-weight:600;outline:0;border-radius:1.2%;box-shadow:inset 0 0 0 2px rgba(255,233,131,.55)}
.menu-name-input:focus{box-shadow:0 0 0 3px rgba(255,217,80,.7),0 0 18px rgba(255,201,40,.9),inset 0 0 0 2px rgba(255,255,255,.65)}
.menu-hitbox{position:absolute;border:0;background:transparent;cursor:pointer;border-radius:12%;padding:0;--hover-left:0%;--hover-right:0%;--hover-top:0%;--hover-bottom:0%;--hover-radius:16%;--hover-stroke:clamp(2.5px,.38cqw,4px)}
.menu-hitbox::after{content:"";position:absolute;left:var(--hover-left);right:var(--hover-right);top:var(--hover-top);bottom:var(--hover-bottom);box-sizing:border-box;border:var(--hover-stroke) solid transparent;border-radius:var(--hover-radius);pointer-events:none;transition:border-color .11s ease}
.menu-hitbox:hover::after,.menu-hitbox:focus-visible::after{border-color:#fff;box-shadow:0 0 clamp(2px,.20cqw,4px) rgba(255,255,255,.78)}
.menu-hitbox.selected::after{border-color:#49ffb5;box-shadow:0 0 clamp(2px,.20cqw,4px) rgba(73,255,181,.72)}
.menu-hitbox.selected::before{content:"✓";position:absolute;right:-1%;top:-10%;z-index:3;display:grid;place-items:center;width:18%;aspect-ratio:1;border-radius:50%;background:#10c876;color:white;font-weight:900;font-size:clamp(10px,1.5vh,18px);box-shadow:0 0 0 2px white}
/* Konturen direkt aus der 1024x1024 Referenzgrafik vermessen. */
.player-count{top:54.3945%;height:7.1289%;width:11.9141%;border-radius:16%;--hover-left:2.4%;--hover-right:2.4%;--hover-top:4.1%;--hover-bottom:4.1%;--hover-radius:20%}.p2{left:43.0664%}.p3{left:56.4453%;width:11.8164%}.p4{left:69.7266%}
.point-limit{top:64.9414%;height:7.4219%;width:9.6680%;border-radius:16%;--hover-left:3.0%;--hover-right:3.0%;--hover-top:4.1%;--hover-bottom:4.1%;--hover-radius:20%}.l50{left:39.3555%}.l100{left:50.00%}.l150{left:60.64%}.l200{left:71.29%}
.start-game-hit{left:30.7617%;top:76.1719%;width:38.4766%;height:10.8398%;border-radius:14%;--hover-left:.85%;--hover-right:.85%;--hover-top:2.8%;--hover-bottom:2.8%;--hover-radius:16%}
.back-hit{left:39.1602%;top:89.2578%;width:21.6797%;height:7.6172%;border-radius:16%;--hover-left:1.35%;--hover-right:1.35%;--hover-top:3.9%;--hover-bottom:3.9%;--hover-radius:20%}
.options-hit{left:71.2891%;top:89.2578%;width:24.2188%;height:7.6172%;border-radius:16%;--hover-left:1.2%;--hover-right:1.2%;--hover-top:3.9%;--hover-bottom:3.9%;--hover-radius:20%}
.web-version{position:fixed;right:12px;bottom:8px;color:#506a74;font-size:11px;letter-spacing:.08em}

/* ---------- Spieltisch ---------- */
.game-screen{display:grid;place-items:center;background:#000}
.table-stage{position:relative;width:min(100vw,160vh);aspect-ratio:16/10;max-height:100vh;overflow:hidden;background:#020915;container-type:inline-size;box-shadow:none}
.table-border{display:none!important}
.stars{position:absolute;inset:0;background-image:radial-gradient(circle at 6% 9%,#fff 0 1px,transparent 1.4px),radial-gradient(circle at 15% 19%,#d6efff 0 1px,transparent 1.4px),radial-gradient(circle at 35% 16%,#ffe55b 0 1px,transparent 1.6px),radial-gradient(circle at 55% 27%,#fff 0 1px,transparent 1.4px),radial-gradient(circle at 73% 10%,#fff 0 1px,transparent 1.4px),radial-gradient(circle at 87% 25%,#fff 0 1px,transparent 1.4px),radial-gradient(circle at 93% 59%,#ffe55b 0 1px,transparent 1.5px),radial-gradient(circle at 39% 70%,#fff 0 1px,transparent 1.4px),radial-gradient(circle at 79% 76%,#fff 0 1px,transparent 1.4px);background-size:160px 170px,220px 210px,190px 230px,210px 170px,170px 210px,240px 190px,180px 240px,230px 180px,190px 230px;opacity:.9}
.nebula{display:none}.nebula-a,.nebula-b{display:none}
.top-tools{position:absolute;right:1.6%;top:2.6%;display:flex;gap:.55cqw;z-index:50}
.tool-button{height:4.7cqw;min-height:32px;max-height:48px;width:4.7cqw;min-width:44px;max-width:56px;border:0;background:#11343d;color:#9cb8b7;font-weight:700;cursor:pointer}.tool-button.wide{width:6.2cqw;min-width:64px;max-width:82px}.tool-button:hover{background:#17464f;color:white}

.player-badge{position:absolute;z-index:30;width:12.6cqw;min-width:120px;max-width:184px;padding:.7cqw .9cqw;border:1px solid #1f655f;border-radius:.65cqw;background:rgba(7,42,43,.94);color:#e9f8f4;box-shadow:inset 0 0 0 1px rgba(125,255,215,.08);overflow:visible;isolation:isolate}
.player-badge::before{content:"";position:absolute;pointer-events:none;opacity:0;z-index:0;transition:opacity .18s ease,transform .18s ease;background:radial-gradient(circle at center,rgba(255,221,120,.44) 0%,rgba(255,201,72,.30) 38%,rgba(255,201,72,.14) 58%,rgba(255,201,72,.06) 69%,rgba(255,201,72,0) 78%);filter:saturate(1.05)}
.player-badge > *{position:relative;z-index:1}
.player-badge.active{border-color:#31e7ad;box-shadow:0 0 0 .22cqw #071719,0 0 0 .35cqw #1cdb9e,0 0 18px rgba(39,233,172,.42)}
.player-badge.active::before{opacity:.95}
.badge-top.active::before{width:23cqw;height:12cqw;left:50%;top:38%;transform:translate(-50%,0);clip-path:inset(0 0 50% 0 round 999px)}
.badge-left.active::before{width:15cqw;height:22cqw;left:36%;top:50%;transform:translate(0,-50%);clip-path:inset(0 0 0 50% round 999px)}
.badge-right.active::before{width:15cqw;height:22cqw;right:36%;top:50%;transform:translate(0,-50%);clip-path:inset(0 50% 0 0 round 999px)}
.badge-human.active::before{width:23cqw;height:12cqw;left:50%;bottom:38%;transform:translate(-50%,0);clip-path:inset(50% 0 0 0 round 999px)}
.badge-top{left:50%;top:18.2%;transform:translate(-50%,-50%)}.badge-left{left:21.5%;top:50%;transform:translate(-50%,-50%)}.badge-right{left:78.5%;top:50%;transform:translate(-50%,-50%)}.badge-human{left:50%;top:70.4%;transform:translate(-50%,-50%)}
.badge-row{display:flex;align-items:center;gap:.7cqw}.badge-token{display:grid;place-items:center;width:2.7cqw;height:2.7cqw;min-width:30px;min-height:30px;border:1px solid #53b5a7;border-radius:50%;font-size:.88cqw}.badge-name{font-size:1.02cqw;font-weight:800;white-space:nowrap}.badge-meta{font-size:.84cqw;color:#b6c7c4;white-space:nowrap}.badge-turn{font-size:.8cqw;color:#56efb3;font-weight:700}.badge-turn.ready{color:#6e918b}

.opponent-hand{position:absolute;z-index:18;pointer-events:none}
.opponent-top{left:50%;top:1.2%;width:36%;height:15%;transform:translateX(-50%)}
.opponent-left{left:.6%;top:50%;width:13.5%;height:54%;transform:translateY(-50%) translateX(var(--opponent-clearance-x,0px))}
.opponent-right{right:.6%;top:50%;width:13.5%;height:54%;transform:translateY(-50%) translateX(var(--opponent-clearance-x,0px))}
.op-card{position:absolute;width:6.6cqw;aspect-ratio:63/88;left:50%;top:50%;transform-origin:center center;filter:drop-shadow(0 .35cqw .4cqw rgba(0,0,0,.65))}.op-card img{width:100%;height:100%;object-fit:cover;border-radius:.38cqw;border:1px solid #d5d6db}
.opponent-hand.card-pick-active{pointer-events:auto;z-index:75}
.opponent-hand.card-pick-active .op-card{pointer-events:auto;cursor:pointer}
.opponent-hand.card-pick-active .op-card img{transition:filter .12s ease,box-shadow .12s ease}
.opponent-hand.card-pick-active .op-card.pick-hover img{filter:brightness(1.12);box-shadow:0 0 0 .2cqw #facc15,0 0 .9cqw rgba(250,204,21,.75)}
.opponent-hand.card-pick-active .op-card.pick-selected img{filter:brightness(1.12);box-shadow:0 0 0 .22cqw #2ee49f,0 0 1.05cqw rgba(46,228,159,.82)}
.opponent-pick-hint{position:absolute;left:50%;top:31.5%;transform:translateX(-50%);z-index:83;padding:.58cqw .9cqw;border:1px solid #d8b83e;border-radius:.45cqw;background:rgba(7,30,36,.96);color:#fff0bc;font-size:.75cqw;font-weight:800;letter-spacing:.03em;box-shadow:0 .6cqw 1.5cqw rgba(0,0,0,.38);pointer-events:none}

.pile{position:absolute;z-index:20;width:12.78cqw;min-width:130px;max-width:182px;aspect-ratio:63/88;border:0;background:transparent;padding:0}
.pile img{width:100%;height:100%;display:block;object-fit:cover;border-radius:.55cqw;border:2px solid #b8b8b8;box-shadow:0 .6cqw .55cqw rgba(0,0,0,.5)}
.draw-pile{left:37.5%;top:50%;transform:translate(-50%,-50%);cursor:pointer}.draw-pile:disabled{cursor:default;filter:saturate(.6) brightness(.72)}
.draw-label{position:absolute;left:6%;right:6%;bottom:3.4%;padding:.35cqw 0;background:#f3ca4a;color:#29445a;font-size:.88cqw;font-weight:900;text-align:center;border-radius:.18cqw}
.discard-pile{left:62.5%;top:50%;transform:translate(-50%,-50%)}
.pile-caption{position:absolute;z-index:21;color:#71908e;font-size:.88cqw;font-weight:800;letter-spacing:.04em}.draw-caption{left:37.5%;top:64.2%;transform:translateX(-50%)}.discard-caption{left:62.5%;top:64.2%;transform:translateX(-50%)}
.status-box{position:absolute;z-index:25;left:50%;top:49.3%;transform:translate(-50%,-50%);width:9.9cqw;min-width:126px;max-width:160px;padding:1.02cqw .98cqw;border:1px solid #19685f;border-radius:.7cqw;background:#0a3436;display:grid;gap:.62cqw;font-size:1.05cqw;justify-items:center;text-align:center}.status-box>div{display:flex;align-items:center;justify-content:center;gap:.62cqw;width:100%}.status-dot{width:.88cqw;height:.88cqw;min-width:10px;min-height:10px;border-radius:50%;background:#ef3e36}.status-symbol{width:1.08cqw;min-width:12px;text-align:center}

.human-hand{position:absolute;z-index:22;left:50%;bottom:1.2%;width:42%;max-width:82%;height:21%;transform:translateX(-50%);pointer-events:none;overflow:visible}
.hand-card{position:absolute;left:50%;top:50%;width:8.78cqw;aspect-ratio:63/88;padding:0;border:0;background:transparent;transform-origin:50% 92%;pointer-events:auto;cursor:pointer;transition:filter .13s ease,translate .13s ease;filter:drop-shadow(0 .45cqw .42cqw rgba(0,0,0,.6))}.hand-card img{display:block;width:100%;height:100%;object-fit:cover;border-radius:.35cqw;border:1px solid #e2e2e2}.hand-card.playable img{box-shadow:0 0 0 .17cqw #3ce49f,0 0 .75cqw rgba(45,228,153,.52)}.hand-card.playable:hover{translate:0 -.9cqw;filter:drop-shadow(0 .65cqw .55cqw rgba(0,0,0,.72)) brightness(1.05)}.hand-card.locked{cursor:default;filter:brightness(.74) saturate(.72)}
.turn-hint{position:absolute;left:50%;bottom:24.0%;transform:translateX(-50%);z-index:19;color:#89a5a0;font-weight:800;font-size:.84cqw;letter-spacing:.08em;text-transform:uppercase}

/* ---------- Aktionsanzeige ---------- */
.event-overlay{position:absolute;z-index:80;left:50%;top:49%;transform:translate(-50%,-50%);width:31cqw;min-width:330px;max-width:470px;padding:1.2cqw 1.5cqw;border:1px solid #34575c;border-radius:.55cqw;background:rgba(5,29,34,.97);box-shadow:0 1.3cqw 3cqw rgba(0,0,0,.55);text-align:center}
.event-overlay h3{margin:0 0 .55cqw;color:#fff0bc;font-size:1.4cqw}
.event-overlay p{margin:.35cqw 0;color:#d2e3df;font-size:.82cqw}
.event-visual-row{display:flex;justify-content:center;align-items:center;gap:1.5cqw;margin-top:.8cqw}
.event-coin{width:6.2cqw;height:6.2cqw;object-fit:contain;animation:coinSpin .68s linear 2}
.event-die{width:5.3cqw;height:5.3cqw;object-fit:contain;animation:diceShake .17s linear 5}
.event-rps{width:6.2cqw;height:6.2cqw;object-fit:contain;animation:pop .35s ease both}

.event-overlay.seat-scene{left:0;top:0;right:0;bottom:0;transform:none;width:auto;min-width:0;max-width:none;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;text-align:left;pointer-events:none}
.event-scene-title{display:none;position:absolute;left:50%;top:7.8%;transform:translateX(-50%);gap:.9cqw;align-items:flex-start;min-width:22cqw;max-width:35cqw;padding:.85cqw 1.05cqw;border:1px solid #39565b;border-radius:.55cqw;background:rgba(7,32,37,.94);box-shadow:0 .9cqw 1.9cqw rgba(0,0,0,.42)}
.event-scene-accent{width:.34cqw;min-width:4px;align-self:stretch;border-radius:999px;background:#efc33d;box-shadow:0 0 12px rgba(239,195,61,.42)}
.event-scene-title h3{margin:0;color:#fff0bc;font-size:1.08cqw;letter-spacing:.02em}
.event-scene-title p{margin:.18cqw 0 0;color:#c9dbd6;font-size:.72cqw;line-height:1.3}
.event-seat-badge{position:absolute;z-index:82;display:flex;align-items:center;gap:.8cqw;min-width:11.7cqw;max-width:15.2cqw;padding:.68cqw .82cqw;border:1px solid #2c6d6b;border-radius:.72cqw;background:rgba(7,42,43,.96);box-shadow:0 .8cqw 1.8cqw rgba(0,0,0,.35),inset 0 0 0 1px rgba(125,255,215,.08)}
.event-seat-badge.winner{border-color:#2ee49f;box-shadow:0 0 0 .18cqw #0d1f1f,0 0 0 .3cqw rgba(46,228,159,.55),0 0 22px rgba(46,228,159,.3)}
.event-seat-badge.tie{border-color:#efc33d;box-shadow:0 0 0 .18cqw #201909,0 0 0 .3cqw rgba(239,195,61,.45),0 0 20px rgba(239,195,61,.24)}
.event-seat-top{left:50%;top:18.3%;transform:translate(-50%,-50%)}
.event-seat-left{left:21.5%;top:50%;transform:translate(-50%,-50%)}
.event-seat-right{left:78.5%;top:50%;transform:translate(-50%,-50%)}
.event-seat-human{left:50%;top:67.2%;transform:translate(-50%,-50%)}
.event-seat-token{display:grid;place-items:center;width:2.8cqw;height:2.8cqw;min-width:32px;min-height:32px;border:1px solid #53b5a7;border-radius:50%;font-size:.92cqw;color:#e6f6f2;flex:0 0 auto}
.event-seat-main{display:flex;align-items:center;gap:.75cqw;min-width:0}
.event-seat-visual{display:grid;place-items:center;flex:0 0 auto;width:4.2cqw;min-width:44px;aspect-ratio:1;border-radius:.55cqw;background:rgba(4,22,26,.78);border:1px solid rgba(255,255,255,.07)}
.event-seat-visual img{width:78%;height:78%;object-fit:contain}
.event-seat-symbol{font-size:1.3cqw;font-weight:900;color:#f4f1de}
.event-seat-text{min-width:0}
.event-seat-name{font-size:.94cqw;font-weight:800;color:#f4fbf8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.event-seat-caption{margin-top:.14cqw;font-size:.8cqw;font-weight:800;letter-spacing:.03em;color:#bbd2cf;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.event-seat-caption.accent-gold{color:#ffd978}.event-seat-caption.accent-purple{color:#d4c2ff}.event-seat-caption.accent-orange{color:#ffbd8f}.event-seat-caption.accent-blue{color:#8ed1ff}.event-seat-caption.accent-green{color:#78f1bb}.event-seat-caption.accent-muted{color:#9ab1af}
.event-seat-badge.reveal .event-seat-visual{animation:pop .35s ease both}
.event-seat-badge.rolling .event-seat-visual img{animation:diceShake .17s linear infinite}
.event-seat-badge.flipping .event-seat-visual img{animation:coinSpin .68s linear infinite}
@keyframes coinSpin{0%{transform:rotateY(0) scale(.9)}50%{transform:rotateY(180deg) scale(1.06)}100%{transform:rotateY(360deg) scale(.9)}}
@keyframes diceShake{0%{transform:translate(-3px,1px) rotate(-4deg)}50%{transform:translate(3px,-2px) rotate(4deg)}100%{transform:translate(0) rotate(0)}}
@keyframes pop{from{transform:scale(.35);opacity:0}to{transform:scale(1);opacity:1}}
.fly-card{position:fixed;z-index:9999;pointer-events:none;border-radius:8px;box-shadow:0 10px 28px rgba(0,0,0,.58);transition:transform .62s cubic-bezier(.2,.8,.18,1),opacity .62s ease}.table-stage.flash{animation:tableFlash .45s ease}.table-stage.shuffle{animation:shufflePulse .82s ease}@keyframes tableFlash{0%,100%{filter:none}50%{filter:brightness(1.28)}}@keyframes shufflePulse{0%,100%{scale:1}50%{scale:.99}}

/* ---------- Dialoge ---------- */
.modal-backdrop{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:18px;background:rgba(0,7,12,.72);backdrop-filter:blur(4px)}
.modal-card{width:min(820px,94vw);max-height:88dvh;overflow:auto;border:1px solid #60787b;background:#071e24;box-shadow:0 28px 90px rgba(0,0,0,.7)}
.modal-header{display:flex;gap:15px;align-items:center;padding:18px 22px;border-bottom:2px solid #d4ad33}.modal-accent{width:6px;height:48px;background:#ffc51e}.modal-header h2{margin:0;font-size:24px}.modal-header p{margin:4px 0 0;color:#b1c2c1}
.decision-body{padding:18px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.decision-option{min-height:112px;border:2px solid #d5ae39;background:#0a282c;color:#fff;cursor:pointer;padding:12px;font-weight:800;font-size:16px}.decision-option:hover{background:#11383d}.decision-option img{display:block;width:96px;height:96px;object-fit:contain;margin:0 auto 8px}.color-choice{min-height:100px;color:#fff;text-shadow:0 1px 2px #000}.vote-form{grid-column:1/-1;display:grid;gap:12px}.vote-form label{display:grid;gap:6px;color:#c7dad7}.vote-form select{padding:12px;background:#0e3438;color:#fff;border:1px solid #5e8f8a}.primary-modal-button,.secondary-modal-button{width:100%;margin-top:12px;padding:13px;border:1px solid #d5ae39;background:#176b3f;color:#fff;font-weight:900;cursor:pointer}.secondary-modal-button{background:#17343b;border-color:#45656a}.round-card{padding:24px}.round-table{width:100%;border-collapse:collapse;margin:14px 0}.round-table td,.round-table th{border-bottom:1px solid #22464b;padding:9px;text-align:left}
.side-panel{position:fixed;top:0;right:0;bottom:0;z-index:12000;width:min(420px,88vw);background:#071b21;border-left:1px solid #315b61;padding:22px;box-shadow:-20px 0 50px rgba(0,0,0,.45);overflow:auto}.side-panel>button{float:right;border:0;background:transparent;color:#fff;font-size:30px;cursor:pointer}.log-line{padding:8px 0;border-bottom:1px solid #17383c;color:#bed1ce}.rules-copy{color:#c7d8d5;line-height:1.55}.toast{position:fixed;left:50%;bottom:24px;translate:-50% 0;z-index:20000;background:#631e23;border:1px solid #e65f67;padding:12px 18px;border-radius:8px;box-shadow:0 8px 30px rgba(0,0,0,.45)}
.is-busy .hand-card,.is-busy .draw-pile{pointer-events:none}

@media(max-width:760px) and (orientation:portrait){.game-screen::before{content:"Für den Spieltisch bitte das Gerät ins Querformat drehen.";position:fixed;inset:0;z-index:30000;display:grid;place-items:center;padding:28px;background:#020b13;color:#e8f7f4;text-align:center;font-size:20px}.menu-board{width:min(94vw,88vh)}}
@media(max-height:620px){.menu-board{width:min(96vh,82vw)}.web-version{display:none}}


/* ---------- Desktop-Szenen für Spezialkarten ---------- */
.scene-grid-overlay{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.8cqw;margin-top:.9cqw}.scene-player-tile{background:#0d252b;border:1px solid #2b5b5c;border-radius:.6cqw;padding:.7cqw .6cqw;text-align:center;box-shadow:0 .5cqw 1.2cqw rgba(0,0,0,.25)}.scene-player-tile .name{font-size:.72cqw;font-weight:800;color:#eaf4f2;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scene-player-tile .symbol{font-size:2.0cqw;line-height:1.1;margin:.25cqw 0;color:#dbeafe}.scene-player-tile .counts{font-size:.84cqw;font-weight:800;color:#e6c661}.scene-player-tile .caption{font-size:.68cqw;font-weight:800;color:#8dd7ff;text-transform:uppercase;line-height:1.25}.scene-route{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:center;gap:.25cqw;margin-top:.9cqw}.scene-arrow{font-size:1.6cqw;font-weight:900;color:#34d399;text-align:center}.scene-footnote{margin-top:.55cqw;text-align:center;font-size:.7cqw;font-weight:800;color:#7ce4bb;text-transform:uppercase}.scene-color-chip{display:inline-flex;align-items:center;gap:.45cqw;padding:.28cqw .58cqw;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);font-size:.72cqw;font-weight:800;color:#eff6ff;text-transform:uppercase}.scene-color-dot{width:.72cqw;height:.72cqw;min-width:10px;min-height:10px;border-radius:50%;display:inline-block}.event-seat-symbol.small{font-size:1.05cqw}.event-seat-badge .event-seat-visual.emoji{font-size:1.55cqw;color:#f2f6f5}

/* v0.6.5 direct table interaction and live special-motion visuals */
.player-badge.seat-pick-active{cursor:pointer;pointer-events:auto;border-color:#f3c63c;box-shadow:0 0 0 .18cqw #161107,0 0 0 .34cqw rgba(243,198,60,.75),0 0 24px rgba(243,198,60,.35);animation:seatPickPulse .9s ease-in-out infinite alternate}.player-badge.seat-pick-selected{border-color:#2ee49f;box-shadow:0 0 0 .18cqw #081914,0 0 0 .36cqw rgba(46,228,159,.9),0 0 26px rgba(46,228,159,.45)}@keyframes seatPickPulse{from{filter:brightness(1)}to{filter:brightness(1.18)}}.seat-pick-banner{position:absolute;z-index:900;left:50%;top:8%;transform:translateX(-50%);min-width:26cqw;max-width:44cqw;padding:.75cqw 1cqw;border:1px solid #d9b432;border-left:.38cqw solid #ffc51e;background:rgba(6,31,36,.97);box-shadow:0 .8cqw 2cqw rgba(0,0,0,.45);text-align:center;pointer-events:none}.seat-pick-banner strong{display:block;font-size:1.18cqw;color:#fff1b8}.seat-pick-banner span{display:block;margin-top:.16cqw;font-size:.84cqw;color:#c6d7d4}.hand-card.direct-pick{cursor:pointer;filter:drop-shadow(0 .45cqw .42cqw rgba(0,0,0,.6))}.hand-card.direct-pick img{box-shadow:0 0 0 .17cqw #f2c94c,0 0 .75cqw rgba(242,201,76,.42)}.hand-card.direct-pick:hover{translate:0 -.9cqw;filter:brightness(1.08) drop-shadow(0 .65cqw .55cqw rgba(0,0,0,.72))}.hand-card.pick-selected img{box-shadow:0 0 0 .2cqw #2ee49f,0 0 1cqw rgba(46,228,159,.7)}.special-motion-card{position:fixed;z-index:9997;pointer-events:none;border-radius:6px;border:1px solid #d5d6db;box-shadow:0 10px 24px rgba(0,0,0,.55)}


/* v0.6.6 live counts, persistent democracy votes, wider showdown and trimmed RPS */
.event-seat-count{margin-top:.1cqw;font-size:.68cqw;color:#9db6b2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-seat-badge.rps-large .event-seat-visual{width:6.7cqw;min-width:76px}.event-seat-badge.rps-large .event-seat-visual img{width:96%;height:96%;object-fit:contain}.opponent-top.showdown-expanded{width:56%;height:18%;top:.8%}.opponent-left.showdown-expanded{width:18%;height:70%;left:.2%}.opponent-right.showdown-expanded{width:18%;height:70%;right:.2%}.opponent-hand.showdown-expanded{z-index:76}.opponent-hand.showdown-expanded .op-card{width:7.05cqw;filter:drop-shadow(0 .45cqw .55cqw rgba(0,0,0,.72));transition:left .25s ease,top .25s ease,transform .25s ease,width .25s ease}.democracy-live-vote{position:absolute;z-index:72;width:12.8cqw;min-width:136px;max-width:198px;padding:.62cqw .72cqw;border:2px solid #60a5fa;border-radius:.65cqw;background:rgba(7,42,48,.97);box-shadow:0 .6cqw 1.6cqw rgba(0,0,0,.42);text-align:center;pointer-events:none}.democracy-live-vote.latest{border-color:#fbbf24;box-shadow:0 0 0 .16cqw rgba(251,191,36,.22),0 .6cqw 1.7cqw rgba(0,0,0,.48)}.democracy-vote-head{font-size:.74cqw;font-weight:900;color:#92c5ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.democracy-live-vote.latest .democracy-vote-head{color:#ffd972}.democracy-vote-route{margin:.26cqw 0;font-size:.9cqw;font-weight:900;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.democracy-vote-foot{font-size:.66cqw;font-weight:800;color:#b8d2cd;text-transform:uppercase}

.status-info{border-top:1px solid rgba(255,255,255,.08);padding-top:.45cqw;margin-top:.08cqw;text-align:center}.status-info-title{font-size:.72cqw;font-weight:900;color:#fff0bc;letter-spacing:.03em;line-height:1.2}.status-info-subtitle{margin-top:.12cqw;font-size:.62cqw;font-weight:700;color:#bfe1db;line-height:1.25}

.status-info{display:none!important}

.human-hand.reorder-mode .hand-card{cursor:grab}.human-hand.reorder-mode .hand-card.dragging{opacity:.55;cursor:grabbing;filter:brightness(1.08) drop-shadow(0 .75cqw .7cqw rgba(0,0,0,.8))}.human-hand.reorder-mode .hand-card.drop-target img{box-shadow:0 0 0 .18cqw #facc15,0 0 .9cqw rgba(250,204,21,.6)}
.player-badge.target-highlight{border-color:#f3c63c;box-shadow:0 0 0 .18cqw #161107,0 0 0 .34cqw rgba(243,198,60,.75),0 0 24px rgba(243,198,60,.35)}
.player-badge.target-selected{border-color:#2ee49f;box-shadow:0 0 0 .18cqw #081914,0 0 0 .36cqw rgba(46,228,159,.9),0 0 26px rgba(46,228,159,.45)}
.player-badge .badge-prompt{margin-top:.42cqw;padding:.32cqw .46cqw;border:1px solid #d8b83e;border-radius:.42cqw;background:rgba(7,30,36,.96);color:#fff0bc;font-size:.74cqw;font-weight:800;line-height:1.22;text-align:center;text-transform:none}
.opponent-hand.pick-target-hand{pointer-events:auto;z-index:75}.opponent-hand.pick-target-hand .op-card{pointer-events:auto;cursor:pointer}.opponent-hand.pick-target-hand::after{content:"";position:absolute;left:var(--pick-frame-left,2%);top:var(--pick-frame-top,2%);width:var(--pick-frame-width,96%);height:var(--pick-frame-height,96%);box-sizing:border-box;border:2px solid rgba(250,204,21,.92);border-radius:14px;box-shadow:0 0 12px rgba(250,204,21,.20);pointer-events:none}.opponent-hand.pick-target-hand .op-card img{transition:filter .12s ease,box-shadow .12s ease}.opponent-hand.pick-target-hand .op-card.pick-hover img{filter:brightness(1.12);box-shadow:0 0 0 .2cqw #facc15,0 0 .9cqw rgba(250,204,21,.75)}.opponent-hand.pick-target-hand .op-card.pick-selected img{filter:brightness(1.12);box-shadow:0 0 0 .22cqw #2ee49f,0 0 1.05cqw rgba(46,228,159,.82)}.seat-pick-hand-hitbox{position:absolute;z-index:5;padding:0;border:0;border-radius:14px;background:transparent;cursor:pointer;pointer-events:auto}.seat-pick-hand-hitbox:focus-visible{outline:2px solid #fff3a3;outline-offset:-3px}.opponent-hand.seat-pick-hand-active{cursor:pointer}.opponent-hand.seat-pick-hand-selected::after{border-color:#2ee49f;box-shadow:0 0 14px rgba(46,228,159,.45)}
.event-seat-badge.rps-large .event-seat-visual{width:4.2cqw;min-width:44px}.event-seat-badge.rps-large .event-seat-visual img{width:78%;height:78%;object-fit:contain}
.seat-pick-banner,.opponent-pick-hint{display:none!important}

.turn-hint{display:none!important}

/* v0.6.11 layout fixes */

/* v0.6.13: Demokratie-Stimme direkt in Spielerbox */
.democracy-inline-vote{margin-top:.42cqw;padding:.34cqw .46cqw;border:1px solid #60a5fa;border-radius:.42cqw;background:rgba(6,29,35,.92);text-align:center;line-height:1.18}.democracy-inline-vote.latest{border-color:#fbbf24;box-shadow:inset 0 0 0 1px rgba(251,191,36,.16)}.democracy-inline-head{font-size:.68cqw;font-weight:900;color:#93c5fd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.democracy-inline-vote.latest .democracy-inline-head{color:#ffd972}.democracy-inline-route{margin-top:.16cqw;font-size:.82cqw;font-weight:900;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.democracy-inline-foot{margin-top:.1cqw;font-size:.62cqw;font-weight:800;color:#b8d2cd;text-transform:uppercase}.badge-top{width:13.4cqw;max-width:196px}


/* v0.6.14: Münze / Würfel / SSP direkt in den vorhandenen Spieler-Infoboxen */
.player-badge.inline-action-active{z-index:86;overflow:visible}.player-inline-action{margin-top:.38cqw;padding:.34cqw 0 0;border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;gap:.55cqw;min-width:0;background:transparent}.player-inline-action-visual{display:grid;place-items:center;flex:0 0 auto;width:4.35cqw;height:4.35cqw;min-width:52px;min-height:52px;max-width:66px;max-height:66px;border-radius:.5cqw;background:rgba(4,22,26,.78);border:1px solid rgba(255,255,255,.07)}.player-inline-action-visual img{width:88%;height:88%;object-fit:contain}.player-inline-action-symbol{font-size:1.45cqw;font-weight:900;color:#f4f1de}.player-inline-action-text{min-width:0;flex:1}.player-inline-action-title{font-size:.72cqw;font-weight:900;color:#dcecea;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-inline-action-caption{margin-top:.12cqw;font-size:.78cqw;font-weight:900;line-height:1.12;white-space:normal;word-break:normal}.player-inline-action.accent-gold .player-inline-action-caption{color:#ffd978}.player-inline-action.accent-purple .player-inline-action-caption{color:#d4c2ff}.player-inline-action.accent-orange .player-inline-action-caption{color:#ffbd8f}.player-inline-action.accent-blue .player-inline-action-caption{color:#8ed1ff}.player-inline-action.accent-green .player-inline-action-caption{color:#78f1bb}.player-inline-action.accent-muted .player-inline-action-caption{color:#9ab1af}.player-badge.inline-action-winner{border-color:#2ee49f;box-shadow:0 0 0 .16cqw #0d1f1f,0 0 0 .28cqw rgba(46,228,159,.52),0 0 20px rgba(46,228,159,.26)}.player-badge.inline-action-tie{border-color:#efc33d;box-shadow:0 0 0 .16cqw #201909,0 0 0 .28cqw rgba(239,195,61,.42),0 0 18px rgba(239,195,61,.22)}.player-inline-action.rolling .player-inline-action-visual img{animation:diceShake .17s linear infinite}.player-inline-action.flipping .player-inline-action-visual img{animation:coinSpin .68s linear infinite}.player-inline-action.reveal .player-inline-action-visual{animation:pop .35s ease both}


/* v0.6.18 inline human decisions */
.player-badge.inline-decision-active{z-index:90;overflow:visible}
.player-inline-decision{margin-top:.42cqw;padding-top:.38cqw;border-top:1px solid rgba(255,255,255,.13)}
.player-inline-decision-title{margin-bottom:.34cqw;color:#fff0bc;font-size:.76cqw;font-weight:900;text-align:center;line-height:1.15}
.player-inline-decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.28cqw}
.player-inline-decision-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.12cqw;min-width:0;min-height:3.2cqw;padding:.24cqw .18cqw;border:1px solid #d9b432;border-radius:.38cqw;background:#0b292d;color:#f7fbfa;font-size:.66cqw;font-weight:900;line-height:1.1;cursor:pointer}
.player-inline-decision-button:hover,.player-inline-decision-button:focus-visible{background:#124148;box-shadow:0 0 .55cqw rgba(250,204,21,.35);outline:none}
.player-inline-decision-button.selected{border-color:#2ee49f;box-shadow:0 0 .7cqw rgba(46,228,159,.55)}
.player-inline-decision-button img{width:2.65cqw;height:2.65cqw;min-width:32px;min-height:32px;max-width:42px;max-height:42px;object-fit:contain}
.player-inline-decision.compact .player-inline-decision-button{width:100%;min-height:2.45cqw;flex-direction:row;font-size:.74cqw}
.dice-plus-counter-decision .no-counter{background:#13383c}
.hand-card.dice-counter-card{cursor:pointer;filter:brightness(1.05) drop-shadow(0 .5cqw .5cqw rgba(0,0,0,.72))}
.hand-card.dice-counter-card img{box-shadow:0 0 0 .2cqw #facc15,0 0 .95cqw rgba(250,204,21,.62)}
.hand-card.dice-counter-card:hover{translate:0 -.9cqw;filter:brightness(1.12) drop-shadow(0 .65cqw .55cqw rgba(0,0,0,.75))}
.hand-card.dice-counter-card.pick-selected img{box-shadow:0 0 0 .22cqw #2ee49f,0 0 1.05cqw rgba(46,228,159,.8)}

.player-inline-decision-grid.rps-inline-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.28cqw;justify-items:stretch;align-items:stretch}
.player-inline-decision-grid.rps-inline-grid .player-inline-decision-button:nth-child(1){grid-column:1 / span 2;grid-row:1}
.player-inline-decision-grid.rps-inline-grid .player-inline-decision-button:nth-child(2){grid-column:3 / span 2;grid-row:1}
.player-inline-decision-grid.rps-inline-grid .player-inline-decision-button:nth-child(3){grid-column:2 / span 2;grid-row:2;width:100%;justify-self:stretch}

/* v0.6.21 reliable pointer hand reorder + democracy vote persistence */
.human-hand.reorder-mode .hand-card{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}
.human-hand.reorder-mode .hand-card.dragging{cursor:grabbing;opacity:.64;translate:0 -.5cqw}
.human-hand.reorder-mode .hand-card.drop-target img{box-shadow:0 0 0 .2cqw #facc15,0 0 1cqw rgba(250,204,21,.7)}
.badge-prompt.democracy-current-prompt{border-color:#60a5fa;color:#eaf4ff}

/* v0.6.22 robust hand reorder */
.human-hand .hand-card img{-webkit-user-drag:none;user-drag:none;user-select:none;-webkit-user-select:none;pointer-events:none}
.human-hand.reorder-mode{pointer-events:auto}
.human-hand.reorder-mode .hand-card{touch-action:none}

/* v0.6.23 directional opponent fans */
.op-card-top,.op-card-left,.op-card-right{will-change:transform,left,top}

/* v0.6.25 dynamic wide human-hand fan */
.human-hand{transition:width .18s ease}


/* v0.6.30 inline color choice, hand tools and card tooltip */
.player-inline-decision-grid.color-inline-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.32cqw}
.color-inline-decision .player-inline-decision-button{min-height:2.55cqw;color:#fff;text-shadow:0 1px 2px #000,0 0 4px rgba(0,0,0,.65);border-color:rgba(255,255,255,.58);font-size:.68cqw}
.color-inline-decision .player-inline-decision-button:hover,.color-inline-decision .player-inline-decision-button:focus-visible{filter:brightness(1.12);box-shadow:0 0 0 .12cqw rgba(255,255,255,.72),0 0 .5cqw rgba(255,255,255,.3)}
.color-inline-decision .player-inline-decision-button.selected{filter:brightness(1.12);border-color:#fff;box-shadow:0 0 0 .14cqw #2ee49f,0 0 .65cqw rgba(46,228,159,.55)}
.hand-tools{position:absolute;z-index:42;right:.65%;bottom:4.2%;display:grid;gap:.38cqw;width:5.7cqw;min-width:68px;max-width:88px;pointer-events:auto}
.hand-tool-button{min-height:2.35cqw;padding:.35cqw .35cqw;border:1px solid #3a817c;border-radius:.5cqw;background:rgba(7,39,43,.96);color:#e5f4f1;font-size:.66cqw;font-weight:900;letter-spacing:.015em;cursor:pointer;box-shadow:0 .25cqw .5cqw rgba(0,0,0,.38)}
.hand-tool-button:hover,.hand-tool-button:focus-visible{border-color:#f0c83c;background:#0e4a50;color:#fff;outline:none;box-shadow:0 0 .55cqw rgba(240,200,60,.34)}
.hand-tool-button:disabled{opacity:.42;cursor:default;filter:saturate(.6);box-shadow:none}
.card-tooltip{position:absolute;z-index:180;display:grid;gap:.22cqw;width:min(20cqw,300px);padding:.62cqw .72cqw;border:1px solid #4d8f89;border-radius:.55cqw;background:rgba(4,27,31,.97);box-shadow:0 .65cqw 1.35cqw rgba(0,0,0,.58);color:#eaf6f3;font-size:.72cqw;line-height:1.28;pointer-events:none;text-align:left}
.card-tooltip strong{font-size:.86cqw;color:#fff0bc;line-height:1.18}
.card-tooltip .card-tooltip-meta{font-size:.64cqw;font-weight:800;color:#8ed4ca;text-transform:uppercase;letter-spacing:.025em}
.card-tooltip.hidden{display:none}

/* v0.6.32: own hand +20%; draw/discard piles +40%. Opponent cards unchanged. */

/* v0.6.34 Diktatur: Farbe als eigene farbige Zeile + Abschlusskarte */
.player-inline-action-caption.dictatorship-caption{display:grid;gap:.08cqw;margin-top:.12cqw;line-height:1.05}
.dictatorship-caption .dictatorship-color{font-size:.84cqw;font-weight:1000;text-shadow:0 1px 2px rgba(0,0,0,.8)}
.dictatorship-caption .dictatorship-count{color:#f2f7f6;font-size:.72cqw;font-weight:900}
.dictatorship-caption .dictatorship-status{color:#ffd978;font-size:.66cqw;font-weight:900}
.player-inline-action.reveal .player-inline-action-visual img{border-radius:.24cqw;box-shadow:0 0 .45cqw rgba(255,255,255,.28)}

/* v0.6.35: own hand +10% more; draw/discard +10% more; opponent card sizes unchanged. */


/* v0.7.0 multiplayer alpha lobby */
.multiplayer-entry{position:absolute;left:18px;bottom:16px;z-index:20;padding:10px 16px;border:2px solid #5fd7ff;border-radius:8px;background:rgba(6,28,45,.92);color:#eafaff;font-weight:900;letter-spacing:.05em;cursor:pointer;box-shadow:0 0 12px rgba(95,215,255,.24)}
.multiplayer-entry:hover{background:#0c3a55;box-shadow:0 0 18px rgba(95,215,255,.48)}
.multiplayer-card{width:min(560px,92vw)}
.multiplayer-body{padding:20px;display:grid;gap:16px}.multiplayer-note{margin:0 0 14px;color:#c7d8d5;line-height:1.45}
.multiplayer-actions{display:grid;gap:12px}.multiplayer-join-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:stretch}.multiplayer-join-row .secondary-modal-button{margin:0;width:auto}
#roomCodeInput{min-width:0;padding:12px 14px;border:1px solid #4f7278;border-radius:6px;background:#0a252b;color:#fff;font-size:18px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.room-code-caption{text-align:center;color:#8ca7a4;font-size:12px;font-weight:800;letter-spacing:.16em}.room-code-display{text-align:center;color:#fff0a8;font-size:34px;font-weight:950;letter-spacing:.12em;margin:4px 0 16px}.room-players{display:grid;gap:8px}.room-player{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;border:1px solid #2d6667;border-radius:7px;background:#0a2b30}.room-player strong{color:#effaf7}.room-player span{color:#8fe9c4;font-size:12px;font-weight:900}.room-player.empty{opacity:.55;border-style:dashed}.room-lobby-status{text-align:center;margin:14px 0 4px;color:#b9cfcb;font-weight:800}.multiplayer-room-chip{position:absolute;left:1.3%;top:2.5%;z-index:51;padding:.45cqw .7cqw;border:1px solid #348c8a;border-radius:.4cqw;background:rgba(5,35,40,.92);font-size:.72cqw;font-weight:900;color:#b8fff0;letter-spacing:.05em}

/* Real-player lobby capacity (separate from the single-player/bot menu). */
.room-player-count{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;color:#d5e9e5;font-size:12px;font-weight:900;letter-spacing:.08em}
.room-count-choices{display:flex;gap:8px}
.room-count-choices button{min-width:52px;padding:10px 14px;border:1px solid #4f7278;border-radius:8px;background:#08262e;color:#e1f7f3;font-size:17px;font-weight:900;cursor:pointer}
.room-count-choices button.selected{background:#136064;border-color:#74ebdf;color:white;box-shadow:0 0 0 1px rgba(116,235,223,.35)}
.room-count-choices button:focus-visible{outline:2px solid #ffe9a4;outline-offset:2px}
@media(max-width:420px){.room-player-count{align-items:flex-start;flex-direction:column}.room-count-choices button{min-width:58px}}

/* Multiplayer v0.7.15: distinguish reserved server-owned bot seats. */
.room-player.bot{border-color:#71604d;background:#28251f}
.room-player.bot span{color:#f8d68f}
.room-count-choices button:disabled{opacity:.32;cursor:not-allowed;box-shadow:none}


/* v0.7.16 public room browser and boolean bot filler */
.room-browser-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.room-browser-heading h3{margin:0 0 4px;color:#e9fff8;font-size:18px}
.room-browser-heading p{margin:0;color:#a8c9c5;font-size:12px}
.room-browser-heading button{width:auto;margin:0;font-size:12px;padding:10px 12px}
.room-browser-list{display:grid;gap:10px;max-height:min(330px,48vh);overflow-y:auto;margin:10px 0 14px}
.room-browser-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #356d6b;background:#092c33;border-radius:9px}
.room-browser-info{min-width:0;display:grid;gap:5px}
.room-browser-info strong{overflow-wrap:anywhere;color:#f3fbe7;font-size:15px}
.room-browser-info>span{font-size:12px;color:#a9d8d1}
.room-browser-item button{width:auto;margin:0;flex:none;padding:10px 12px}
.room-slots{display:flex;gap:5px}
.room-slot{width:22px;height:22px;display:grid;place-items:center;border-radius:5px;font-size:13px;font-weight:900}
.room-slot.occupied{background:#175d59;color:#96f9e5}
.room-slot.available{border:1px dashed #72d9bf;color:#a8f5dd}
@media(max-width:480px){.room-browser-item{flex-wrap:wrap}.room-browser-item button{width:100%}.room-browser-heading{flex-wrap:wrap}}


/* v0.7.17 multiplayer menu board based on provided reference image */
.multiplayer-entry{left:16px;bottom:14px;padding:11px 18px;border:2px solid #f2d46b;border-radius:12px;background:linear-gradient(180deg,#15365b,#0c2440);color:#fff6d0;box-shadow:0 0 16px rgba(242,212,107,.25), inset 0 0 0 1px rgba(255,255,255,.08)}
.multiplayer-entry:hover{background:linear-gradient(180deg,#204976,#102a49);box-shadow:0 0 20px rgba(242,212,107,.44), inset 0 0 0 1px rgba(255,255,255,.12)}
.multiplayer-card.multiplayer-themed-card{width:min(1040px,95vw);padding:0;background:transparent;border:0;box-shadow:none}
.multiplayer-themed-body{padding:0;gap:0}
.multiplayer-menu-connect{display:grid;place-items:center}
.multiplayer-menu-board{position:relative;width:min(86vh,92vw);aspect-ratio:1/1;filter:drop-shadow(0 20px 40px rgba(0,0,0,.55));user-select:none;container-type:inline-size}
.multiplayer-menu-reference{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}
.multiplayer-menu-name-input{position:absolute;left:40.9%;top:45.9%;width:39.8%;height:4.6%;border:0;background:rgba(14,28,74,.9);color:#fff;padding:0 1.1%;font-size:clamp(15px,2.0vh,24px);font-weight:700;outline:0;border-radius:1.2%;box-shadow:inset 0 0 0 2px rgba(255,214,105,.52)}
.multiplayer-menu-name-input:focus{box-shadow:0 0 0 3px rgba(255,220,118,.72),0 0 18px rgba(255,202,80,.82),inset 0 0 0 2px rgba(255,255,255,.66)}
.multiplayer-menu-hitbox{position:absolute;border:0;background:transparent;cursor:pointer;border-radius:14%;padding:0;--hover-left:0%;--hover-right:0%;--hover-top:0%;--hover-bottom:0%;--hover-radius:18%;--hover-stroke:clamp(2.5px,.38cqw,4px)}
.multiplayer-menu-hitbox::after{content:"";position:absolute;left:var(--hover-left);right:var(--hover-right);top:var(--hover-top);bottom:var(--hover-bottom);box-sizing:border-box;border:var(--hover-stroke) solid transparent;border-radius:var(--hover-radius);pointer-events:none;transition:border-color .11s ease,box-shadow .11s ease,transform .11s ease}
.multiplayer-menu-hitbox:hover::after,.multiplayer-menu-hitbox:focus-visible::after{border-color:#fff2bf;box-shadow:0 0 .55cqw rgba(255,243,193,.85),0 0 1.1cqw rgba(255,210,104,.34);transform:scale(1.01)}
.multiplayer-menu-hitbox.selected::after{border-color:#66fff0;box-shadow:0 0 .6cqw rgba(102,255,240,.82),0 0 1.2cqw rgba(102,255,240,.32)}
.multiplayer-menu-hitbox.selected::before{content:"✓";position:absolute;right:-1.2%;top:-11%;z-index:3;display:grid;place-items:center;width:18%;aspect-ratio:1;border-radius:50%;background:#1ad2a5;color:#fff;font-weight:900;font-size:clamp(10px,1.45vh,17px);box-shadow:0 0 0 2px #fff}










.multiplayer-menu-explanation{position:absolute;left:22%;right:22%;top:76.6%;min-height:3.5%;display:grid;place-items:center;padding:.32cqw .7cqw;border:1px solid rgba(243,214,111,.68);border-radius:.45cqw;background:rgba(15,22,47,.7);color:#f9f6e5;text-align:center;font-size:.70cqw;font-weight:700;line-height:1.2;text-shadow:0 1px 2px rgba(0,0,0,.7)}
.multiplayer-themed-panel{width:min(760px,92vw);margin:0 auto;padding:24px;border:2px solid #d7b052;border-radius:18px;background:linear-gradient(180deg,rgba(5,24,43,.98),rgba(6,20,34,.96));box-shadow:0 18px 40px rgba(0,0,0,.42), inset 0 0 0 1px rgba(255,255,255,.05)}
.multiplayer-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.multiplayer-panel-header h3{margin:0 0 5px;color:#fff3c1;font-size:22px;letter-spacing:.04em}
.multiplayer-panel-header p{margin:0;color:#bdd2de;line-height:1.35}
.multiplayer-panel-actions{display:flex;gap:12px;flex-wrap:wrap}
.multiplayer-panel-actions .secondary-modal-button{margin-top:0;flex:1 1 180px}
.primary-modal-button,.secondary-modal-button{border-radius:12px;border:2px solid #d7b052;font-weight:900;letter-spacing:.03em;padding:13px 16px}
.primary-modal-button{background:linear-gradient(180deg,#318b35,#216526);border-color:#d7c657}
.primary-modal-button:hover,.primary-modal-button:focus-visible{background:linear-gradient(180deg,#3ea244,#2a762f);box-shadow:0 0 0 2px rgba(255,255,255,.1),0 0 14px rgba(95,220,120,.28);outline:none}
.secondary-modal-button{background:linear-gradient(180deg,#204563,#16344c);border-color:#86d7e7;color:#f2fbff}
.secondary-modal-button:hover,.secondary-modal-button:focus-visible{background:linear-gradient(180deg,#2a5d87,#1a4261);box-shadow:0 0 0 2px rgba(255,255,255,.08),0 0 14px rgba(134,215,231,.24);outline:none}
.room-browser-item{border:1px solid #6fa0ae;background:rgba(14,38,57,.92);border-radius:14px;padding:14px}
.room-browser-info strong{color:#fff1be}
.room-browser-info>span{color:#bfd7e2}
.room-player{border:1px solid #5f8794;background:rgba(14,38,57,.92);border-radius:12px}
.room-player strong{color:#fff1be}
.room-player span{color:#9ff5cc}
.room-player.empty{opacity:.72;border-style:dashed}
.room-player.bot{border-color:#7c6b4c;background:rgba(44,34,22,.9)}
.room-player.bot span{color:#f5dc9a}
.room-code-caption{color:#8fb6c5}
.room-code-display{color:#ffe799;text-shadow:0 0 10px rgba(255,231,153,.18)}
.room-lobby-status{color:#d4e4e5}
.room-browser-status,.multiplayer-note{color:#d4e4e5}
@media (max-width: 900px){.multiplayer-menu-board{width:min(92vw,74vh)}.multiplayer-themed-panel{width:min(92vw,760px)}}
@media (max-width: 560px){.multiplayer-menu-board{width:96vw}.multiplayer-menu-explanation{left:17%;right:17%;font-size:1.6vw}.multiplayer-themed-panel{padding:18px}.multiplayer-panel-header{flex-direction:column}.room-browser-heading button{width:100%}}

/* v0.7.18: kein vorgeschaltetes Einzelspieler-Menü; sofort das Multiplayer-Referenzboard. */
.setup-screen{background:#020915}
.multiplayer-home{background:#020915;backdrop-filter:none}
.multiplayer-home .multiplayer-themed-card{max-height:min(96dvh,1000px);overflow:auto}
/* Die Erklärung ist weiterhin für Screenreader verfügbar, verdeckt aber keinen Bild-Button. */
.multiplayer-menu-explanation{width:1px;height:1px;min-height:0;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* v0.7.18: präzise Hover-Hitboxen, vermessen auf der 1024x1024 Referenzgrafik. */
.multiplayer-menu-name-input{left:41.2%;top:45.05%;width:39.8%;height:4.55%}












/* v0.7.21 – accounts and dashboard (separate from the game engine) */
.account-layer{position:fixed;inset:0;z-index:22000;display:flex;align-items:center;justify-content:center;overflow:auto;background:radial-gradient(ellipse at 20% 15%,rgba(40,83,154,.22),transparent 45%),radial-gradient(ellipse at 85% 90%,rgba(172,89,45,.17),transparent 45%),#040916;padding:22px;color:#ecf5ff;font-family:system-ui,"Segoe UI",sans-serif}
.account-layer.hidden{display:none!important}
.account-card{width:min(480px,100%);padding:33px;border:1px solid rgba(245,190,77,.55);border-radius:22px;background:linear-gradient(145deg,#12253d,#0a1529 74%);box-shadow:0 28px 95px rgba(0,0,0,.6),inset 0 0 0 1px rgba(255,255,255,.04)}
.account-brand{display:flex;gap:16px;align-items:center;margin-bottom:28px}
.account-brand-icon{display:grid;place-items:center;width:67px;height:67px;flex:none;border-radius:19px;background:linear-gradient(135deg,#eac257,#bd722a);color:#17203c;font-size:46px;box-shadow:0 8px 25px rgba(226,157,60,.25)}
.account-brand small,.dashboard-overline{font-size:11px;font-weight:850;letter-spacing:.2em;color:#edcb74}
.account-brand h1{font-size:clamp(23px,4vw,30px);line-height:1.15;margin:3px 0;color:#fff;letter-spacing:-.04em}.account-brand h1 em{font-style:normal;color:#f1cb68}
.account-brand p{font-size:13px;margin:4px 0;color:#aebfd1}
.account-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:5px;margin-bottom:23px;border-radius:12px;background:#09172a}
.account-tabs button{padding:13px 8px;border:1px solid transparent;border-radius:9px;background:transparent;color:#99b4cb;cursor:pointer;font-weight:850;font-size:13px;letter-spacing:.04em}
.account-tabs button:hover,.account-tabs button:focus-visible{color:#fff;border-color:#b89961;outline:none}
.account-tabs button.active{background:#234262;border-color:#d8b76a;color:#fff7df;box-shadow:0 0 0 1px rgba(235,192,104,.22)}
.account-field{display:grid;gap:8px;margin-bottom:18px}
.account-field label{color:#d8e8fa;font-size:11px;font-weight:900;letter-spacing:.1em}
.account-field input{width:100%;padding:14px 16px;color:#fff;border:1px solid #55708b;border-radius:11px;background:#071328;outline:0;font-size:15px}
.account-field input:hover{border-color:#9fb6c8}.account-field input:focus-visible{border-color:#ffda88;box-shadow:0 0 0 3px rgba(255,215,113,.22)}
.account-field input::placeholder{color:#71879a}
.account-hint{color:#a8bbce;font-size:12px;line-height:1.5;min-height:24px;margin:0 0 8px}
.account-error{padding:11px 13px;border:1px solid #b65757;border-radius:9px;background:#3b1924;color:#ffced4;font-size:13px;line-height:1.4;margin:0 0 12px}
.account-cta{width:100%;border:1px solid #ffedab;border-radius:12px;padding:15px 18px;background:linear-gradient(180deg,#f5d572,#dd9f40);color:#18223b;font-size:15px;font-weight:950;cursor:pointer;box-shadow:0 6px 22px rgba(236,174,59,.15);transition:filter .13s,transform .13s,box-shadow .13s}
.account-cta:hover,.account-cta:focus-visible{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 0 0 2px rgba(255,236,180,.27),0 7px 28px rgba(236,174,59,.36);outline:0}
.account-cta:disabled{opacity:.55;cursor:wait;transform:none}
.account-footer{margin-top:23px;padding-top:16px;border-top:1px solid #34506a;font-size:11px;color:#8498aa;text-align:center}
.dashboard-shell{width:min(1100px,100%);max-height:100%;overflow-y:auto}
.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:22px;border-bottom:1px solid #35475b;gap:12px}
.dashboard-wordmark{font-size:20px;font-weight:950;letter-spacing:.01em;color:#fff}.dashboard-wordmark span{color:#f0c76d}
.dashboard-outline{border:1px solid #7793ad;border-radius:11px;background:#142a43;color:#ecf5ff;padding:11px 17px;font-weight:850;cursor:pointer}
.dashboard-outline:hover,.dashboard-outline:focus-visible{border-color:#f0c76d;background:#1b3b5b;outline:0;box-shadow:0 0 0 2px rgba(240,199,109,.15)}
.dashboard-intro{padding:38px 0 28px}.dashboard-intro h1{font-size:clamp(27px,5vw,45px);line-height:1.15;margin:10px 0}.dashboard-intro h1 span{color:#f6ce73}.dashboard-intro>p:last-child{color:#acbfd2;font-size:15px;line-height:1.5}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.75fr);gap:18px}
.dashboard-feature,.dashboard-profile{padding:30px;border:1px solid #44627d;border-radius:20px;background:linear-gradient(135deg,rgba(26,52,84,.93),rgba(10,28,49,.96));box-shadow:0 12px 26px rgba(0,0,0,.15)}
.dashboard-feature{display:flex;flex-direction:column;align-items:flex-start}
.dashboard-feature-icon{font-size:54px;color:#f5cb74;line-height:1.2}.dashboard-feature h2{font-size:25px;margin:24px 0 8px}.dashboard-feature p{font-size:14px;color:#adcad7;line-height:1.6;margin-bottom:30px;max-width:480px}.dashboard-feature .account-cta{margin-top:auto;width:min(340px,100%)}
.dashboard-profile{text-align:center}.dashboard-profile h2{text-align:left;font-size:13px;color:#f6d98f;letter-spacing:.12em;margin:0 0 24px}
.dashboard-avatar{display:grid;place-items:center;width:80px;height:80px;background:#2c6b80;border:2px solid #77d5c6;border-radius:50%;font-size:35px;font-weight:900;margin:0 auto 14px}
.dashboard-profile>strong{display:block;font-size:23px}.dashboard-profile>p{color:#a7bdcc;overflow-wrap:anywhere;font-size:13px;margin:7px 0 27px}
.dashboard-field{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #39536c;text-align:left;font-size:13px}.dashboard-field span{color:#a6c0d2}
.dashboard-bottom{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:26px 2px;color:#d9e8ef}.dashboard-bottom strong{color:#f1d28a;font-size:13px;letter-spacing:.07em}.dashboard-bottom p{color:#859eb0;font-size:12px;line-height:1.6;max-width:650px}
.dashboard-version{white-space:nowrap;color:#63798f;font-size:11px}
@media(max-width:760px){.dashboard-grid{grid-template-columns:1fr}.dashboard-shell{max-height:100%}.dashboard-feature,.dashboard-profile{padding:23px}.dashboard-intro{padding-top:26px}.dashboard-bottom{display:block}}
@media(max-width:480px){.account-card{padding:23px 19px}.account-brand-icon{width:54px;height:54px;font-size:36px}.account-brand h1{font-size:22px}.account-brand p{font-size:11px}.dashboard-header{padding-top:8px}.dashboard-wordmark{font-size:15px}}


/* v0.7.22 – updated menu reference image + dashboard button bottom-left */

.multiplayer-menu-name-input{left:41.15%;top:44.25%;width:39.8%;height:4.7%;font-size:clamp(15px,2.0vh,24px)}










.menu-dashboard-button{position:absolute;left:7.15%;top:91.2%;width:24.55%;height:8.1%;display:flex;align-items:center;justify-content:center;z-index:3;border:0;background:linear-gradient(180deg,#3f82d0,#275ea7 55%,#1f4c90);color:#fff;border-radius:18px;font-weight:900;font-size:clamp(11px,1.7vw,18px);letter-spacing:.03em;text-shadow:0 2px 2px rgba(0,0,0,.55);box-shadow:inset 0 0 0 2px rgba(255,248,204,.76), inset 0 -4px 10px rgba(18,41,77,.38), 0 5px 16px rgba(0,0,0,.28);cursor:pointer}
.menu-dashboard-button::after{content:"";position:absolute;inset:2.5%;border:var(--hover-stroke,clamp(2.5px,.38cqw,4px)) solid transparent;border-radius:16px;pointer-events:none;transition:border-color .11s ease,box-shadow .11s ease,transform .11s ease}
.menu-dashboard-button:hover::after,.menu-dashboard-button:focus-visible::after{border-color:#fff2bf;box-shadow:0 0 .55cqw rgba(255,243,193,.85),0 0 1.1cqw rgba(255,210,104,.34);transform:scale(1.01)}
.menu-dashboard-button:hover,.menu-dashboard-button:focus-visible{filter:brightness(1.06);outline:0}
.menu-dashboard-button:active{transform:translateY(1px)}

/* v0.7.23: accessible leave confirmation and full scrollable rules. */
.leave-confirm-card{width:min(470px,92vw);padding:28px;border:2px solid #e6bc55;border-radius:18px;background:linear-gradient(155deg,#12364b,#071e30);box-shadow:0 20px 65px #000a}
.leave-confirm-card h2{margin:0 0 14px;color:#fff0b5;font-size:24px}
.leave-confirm-card p{line-height:1.55;color:#e0eeec}
.leave-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.leave-confirm-actions button{margin-top:12px}
@media(max-width:440px){.leave-confirm-actions{grid-template-columns:1fr}}
.side-panel .rules-copy{padding-bottom:28px;line-height:1.6}
.rules-copy h3{margin:22px 0 8px;color:#ffe2a0;font-size:18px}
.rules-copy h4{margin:16px 0 5px;color:#b5fff0;font-size:15px}
.rules-copy p{margin:6px 0 12px}
.rules-copy ul{padding-left:20px}
.rules-copy li{margin:4px 0 6px}
.side-panel:has(.rules-copy){width:min(640px,96vw)}
.side-panel:has(.rules-copy)>button{position:sticky;top:0;background:#153440;border-radius:9px;padding:0 9px;z-index:2}


/* v0.7.24: hitboxes precisely aligned to the visible buttons of the 1024px
   v0.7.22 reference art. All measurements are percentages of that art. */
.multiplayer-menu-name-input{left:41.1%;top:42.0%;width:39.9%;height:5.1%}










/* Keep the selection tick inside its own button, never on the row above. */

/* All hover/selected outlines stay inside actual button contours. */
.multiplayer-menu-hitbox:hover::after,.multiplayer-menu-hitbox:focus-visible::after{transform:none}
.menu-dashboard-button:hover::after,.menu-dashboard-button:focus-visible::after{transform:none}


/* v0.7.25 – new menu art with integrated Ausloggen/Profil buttons */

.multiplayer-menu-name-input{left:41.1%;top:42.2%;width:39.7%;height:5.0%;font-size:clamp(15px,2.0vh,24px)}











/* hide old custom blue dashboard skin; the art itself now contains the lower buttons */
.menu-dashboard-button{display:none !important}


.multiplayer-menu-hitbox:hover::after,.multiplayer-menu-hitbox:focus-visible::after{box-shadow:0 0 .42cqw rgba(255,243,193,.8),0 0 .85cqw rgba(255,210,104,.28)}
.multiplayer-menu-hitbox.selected::after{box-shadow:0 0 .45cqw rgba(102,255,240,.78),0 0 .95cqw rgba(102,255,240,.24)}


/* v0.7.26 – ONE authoritative geometry for the 1024x1024 v0.7.25 menu artwork.
   Coordinates come from the actual visible button contours, not older artwork.
   Every outline is inset INSIDE the button; no external halo or floating checkmark. */
.multiplayer-menu-reference{width:100%;height:100%;object-fit:contain;display:block}
.multiplayer-menu-hitbox{
  top:auto;left:auto;width:auto;height:auto;
  border:0;background:transparent;padding:0;cursor:pointer;box-sizing:border-box;z-index:2;
  border-radius:var(--button-radius,1.85cqw);
  --stroke:clamp(3px,.50cqw,6px);
  --inset-x:.53cqw;--inset-y:.43cqw;
  --button-radius:1.75cqw;
}
.multiplayer-menu-hitbox::before{display:none!important}
.multiplayer-menu-hitbox::after{
  content:"";position:absolute;pointer-events:none;box-sizing:border-box;
  left:var(--inset-x);right:var(--inset-x);top:var(--inset-y);bottom:var(--inset-y);
  border:var(--stroke) solid transparent;
  border-radius:var(--button-radius);box-shadow:none;transform:none;
  transition:border-color .1s ease,box-shadow .1s ease;
}
.multiplayer-menu-hitbox:hover::after,
.multiplayer-menu-hitbox:focus-visible::after{
  border-color:#ffffff;
  box-shadow:inset 0 0 0 .12cqw rgba(255,255,255,.58),
             inset 0 0 .95cqw rgba(255,248,206,.88);
  transform:none;
}
.multiplayer-menu-hitbox.selected::after{
  border-color:#42fff0;
  box-shadow:inset 0 0 0 .12cqw rgba(180,255,249,.5),
             inset 0 0 .9cqw rgba(66,255,240,.8);
  transform:none;
}
.multiplayer-menu-hitbox.selected:hover::after,
.multiplayer-menu-hitbox.selected:focus-visible::after{
  border-color:#ffffff;
  box-shadow:inset 0 0 0 .13cqw rgba(255,255,255,.65),
             inset 0 0 1cqw rgba(104,255,236,.95);
}
.multiplayer-menu-hitbox:focus-visible{outline:none}
/* Large gold-framed and lower menu buttons have a larger rounded contour. */
.menu-join-room,.menu-create-room,.menu-logout-room,.menu-profile-room{
  --inset-x:.77cqw;--inset-y:.68cqw;--button-radius:2.25cqw;
}
/* Name field follows its printed rectangular gold border. */
.multiplayer-menu-name-input{left:41.0%;top:42.25%;width:40.2%;height:4.66%}
.mp2{left:43.16406%;top:48.82812%;width:11.81641%;height:7.03125%}
.mp3{left:56.64062%;top:48.82812%;width:11.62109%;height:7.03125%}
.mp4{left:69.62891%;top:48.82812%;width:12.20703%;height:7.03125%}
.fill-yes{left:54.10156%;top:56.83594%;width:13.08594%;height:7.03125%}
.fill-no{left:68.94531%;top:56.83594%;width:13.08594%;height:7.03125%}
.mpl50{left:39.45312%;top:64.94141%;width:9.66797%;height:7.42188%}
.mpl100{left:49.90234%;top:64.94141%;width:9.66797%;height:7.42188%}
.mpl150{left:60.25391%;top:64.94141%;width:9.86328%;height:7.42188%}
.mpl200{left:70.70312%;top:64.94141%;width:10.44922%;height:7.42188%}
.menu-join-room{left:24.31641%;top:76.26953%;width:24.90234%;height:11.03516%}
.menu-create-room{left:50.97656%;top:76.26953%;width:25.09766%;height:11.03516%}
.menu-logout-room{left:4.49219%;top:88.96484%;width:25.00000%;height:8.78906%}
.menu-profile-room{left:70.99609%;top:88.96484%;width:25.09766%;height:8.78906%}

/* v0.7.28 – plain username text on artwork without gold textbox. */
#roomPlayerNameInput{display:none!important}
.multiplayer-menu-name-display{position:absolute;left:41.3%;top:42.2%;width:39%;height:4.66%;display:flex;align-items:center;z-index:5;pointer-events:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff6d4;font-family:"Segoe UI",Arial,sans-serif;font-weight:900;font-size:clamp(14px,2.2vh,25px);text-shadow:0 2px 4px #000,0 0 4px rgba(0,0,0,.8)}


/* v0.7.31 – persisted account statistics, responsive dashboard history */
.dashboard-stats{margin-top:22px;padding:25px;border:1px solid #44627d;border-radius:20px;background:linear-gradient(135deg,rgba(23,50,79,.94),rgba(8,28,46,.98))}
.dashboard-stats-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.dashboard-stats h2{font-size:16px;letter-spacing:.08em;color:#f6d98f;margin:0 0 15px}
.dashboard-stats h3{font-size:14px;letter-spacing:.08em;color:#f6d98f;margin:25px 0 12px}
.dashboard-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:12px}
.dashboard-stats-grid>div{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid #3c5a70;border-radius:14px;background:#102a43}
.dashboard-stats-grid span{font-size:12px;color:#b5cbd9}
.dashboard-stats-grid strong{font-size:27px;color:white}
.dashboard-stats-status{color:#b5cbd9;font-size:13px}
.dashboard-history{display:grid;gap:8px}
.dashboard-history-item{padding:13px 16px;border:1px solid #365875;border-radius:11px;background:#0d263a;display:flex;flex-direction:column;gap:6px}
.dashboard-history-item strong{color:#e1ecf5}
.dashboard-result-win strong{color:#99f5c2}
.dashboard-result-loss strong,.dashboard-result-abandoned strong{color:#ffb1b1}
.dashboard-result-draw strong{color:#f5da9b}
.dashboard-history-item span{font-size:12px;color:#b3ccdc;overflow-wrap:anywhere;line-height:1.6}
.dashboard-stats-footnote{font-size:12px;line-height:1.6;color:#a7bece;margin:17px 0 0}
@media(max-width:600px){.dashboard-stats{padding:18px}.dashboard-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v0.7.32: reachable match-exit and authenticated profile/security forms. */
.round-card #finishedMainMenuButton{display:block;width:100%;margin-top:22px;background:linear-gradient(180deg,#328d38,#1b6427);border:2px solid #f4db69;box-shadow:0 0 0 1px #4daa64,0 0 16px #4daa6430;font-size:17px}
.round-card #finishedMainMenuButton.hidden{display:none}
.account-link{display:block;margin:16px auto 0;border:0;background:none;color:#a7e7f5;text-decoration:underline;font-weight:700;cursor:pointer}
.account-recovery{margin-top:16px;padding:12px 4px}.account-recovery h2{color:#ffdd85}
.account-forms{display:grid;align-content:start;gap:10px;text-align:left}
.account-forms label{font-size:13px;font-weight:700;color:#e3eaf4}
.account-forms input{width:100%;box-sizing:border-box;padding:11px 13px;border-radius:10px;background:#0d2439;color:#fff;border:1px solid #85a6ba;font-size:15px}
.account-forms input:focus{outline:2px solid #8ae2ed;outline-offset:2px}
.account-forms h3{margin:0 0 6px;color:#ffe4ad;font-size:16px}
.account-security>h2{margin-top:0;color:#fff2d2}.account-security>p{color:#cfe1e8}
.account-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.account-settings-grid>form,.account-settings-grid>div{padding:18px;border:1px solid #486c83;border-radius:14px;background:rgba(6,27,43,.88)}
.account-settings-grid button{margin:8px 0 0;min-height:43px}
#accountSettingsStatus{min-height:20px;color:#aefad8}
#accountRecoveryStatus{line-height:1.5;color:#aefad8}
@media(max-width:700px){.account-settings-grid{grid-template-columns:1fr}}


/* v0.7.37: user-selectable gameplay presentation speed, 1–5. */
:root{--aj-motion-factor:1}
.speed-controls{position:relative;flex:0 0 auto}
.speed-menu-button{width:7.8cqw;min-width:0;max-width:none;border:1px solid #57958a;border-radius:.45cqw;background:#123b41;color:#fff0b8;font-size:1cqw;font-weight:900;white-space:nowrap}
.speed-menu-button:hover,.speed-menu-button[aria-expanded="true"]{background:#19606a;border-color:#efc33d;color:#fff}
.speed-panel{position:absolute;right:0;top:calc(100% + .55cqw);width:20cqw;min-width:0;z-index:70;border:.16cqw solid #dfbd61;border-radius:.65cqw;background:rgba(5,28,37,.98);box-shadow:0 .9cqw 2cqw rgba(0,0,0,.6);padding:1.15cqw 1.25cqw;color:#f4f7ed}
.speed-panel label{display:block;font-size:1.05cqw;font-weight:800;white-space:nowrap}
.speed-panel input[type="range"]{display:block;width:100%;height:2.8cqw;cursor:pointer;accent-color:#f6d35c;margin:.65cqw 0 .2cqw}
.speed-ends{display:flex;justify-content:space-between;gap:1cqw;color:#bbd5d2;font-size:.81cqw}
/* Scale ALL elements with the actual table width; remove old rigid min/max dimensions. */
.table-stage .pile{min-width:0;max-width:none}
.table-stage .player-badge{min-width:0;max-width:none}
.table-stage .badge-top{max-width:none}
.table-stage .badge-token{min-width:0;min-height:0}
.table-stage .status-box{min-width:0;max-width:none}
.table-stage .status-dot{min-width:0;min-height:0}
.table-stage .status-symbol{min-width:0}
.table-stage .tool-button{min-width:0;min-height:0;max-width:none;max-height:none}
.table-stage .tool-button.wide{min-width:0;max-width:none}
.table-stage .event-seat-badge.rps-large .event-seat-visual{min-width:0}
.table-stage .democracy-live-vote{min-width:0;max-width:none}
.table-stage .player-inline-action-visual{min-width:0;min-height:0;max-width:none;max-height:none}
.table-stage .player-inline-decision-button img{min-width:0;min-height:0;max-width:none;max-height:none}
.table-stage .scene-color-dot{min-width:0;min-height:0}
/* Special-card overlays, vote badges, hand controls and tooltips follow the same table scale. */
.table-stage .event-overlay{min-width:0;max-width:none}
.table-stage .event-scene-accent{min-width:0}
.table-stage .event-seat-token{min-width:0;min-height:0}
.table-stage .event-seat-visual{min-width:0}
.table-stage .event-seat-badge.rps-large .event-seat-visual{min-width:0}
.table-stage .scene-grid-overlay{grid-template-columns:repeat(auto-fit,minmax(7.5cqw,1fr))}
.table-stage .hand-tools{min-width:0;max-width:none}
.table-stage .card-tooltip{width:20cqw;max-width:none}
/* Continuous scaling of motion cues without interfering with server heartbeat/reconnect timers. */
.table-stage.flash{animation-duration:calc(450ms * var(--aj-motion-factor))}
.table-stage.shuffle{animation-duration:calc(820ms * var(--aj-motion-factor))}
.table-stage .player-inline-action.rolling .player-inline-action-visual img{animation-duration:calc(170ms * var(--aj-motion-factor))}
.table-stage .player-inline-action.flipping .player-inline-action-visual img{animation-duration:calc(680ms * var(--aj-motion-factor))}
.table-stage .player-inline-action.reveal .player-inline-action-visual{animation-duration:calc(350ms * var(--aj-motion-factor))}
.table-stage .player-badge.seat-pick-active{animation-duration:calc(900ms * var(--aj-motion-factor))}

/* Active-turn filled half-halo, anchored on the seat on all four sides. */
.table-stage .badge-top.active::before{top:auto;bottom:48%;clip-path:inset(0 0 50% 0 round 999px)}
.table-stage .badge-human.active::before{bottom:auto;top:48%;clip-path:inset(50% 0 0 0 round 999px)}
.table-stage .badge-left.active::before{left:auto;right:48%;clip-path:inset(0 50% 0 0 round 999px)}
.table-stage .badge-right.active::before{right:auto;left:48%;clip-path:inset(0 0 0 50% round 999px)}
