/* First-person Waldstube. Characters remain separate layers for smooth reactions. */
.table-stage{height:470px;background:url('/assets/waldstube-table.png') center top / 100% 100% no-repeat;overflow:hidden}
.wood-table,.table-shadow{display:none}
.table-topline{background:#254734;color:#bed0aa;border-bottom:1px solid #cfb27b30}
.room-label{color:#cfdec2}.tiny-label{background:#ffffff12;color:#cfddc1}
.seat{width:23%;max-width:215px;top:26px;left:auto;right:auto}
.seat-top{top:14px;left:50%;transform:translateX(-50%);width:21%}
.seat-left{left:19%;transform:translateX(-50%)}
.seat-right{left:81%;transform:translateX(-50%)}
.avatar-wrap{width:100%;height:auto;aspect-ratio:1;border:0;border-radius:0;background:none;box-shadow:none;filter:drop-shadow(0 7px 7px #0b241833);transition:filter .25s}
.avatar-wrap .portrait{width:100%;height:100%;border-radius:0;background-image:url('/assets/seated-friends.png');background-size:300% 100%;background-color:transparent;mask-image:linear-gradient(#000 96%,transparent);animation:seated-breathe 5s ease-in-out infinite;animation-delay:var(--breath);transform-origin:50% 95%}
.seat-left .portrait{background-position:0 0}.seat-top .portrait{background-position:50% 0}.seat-right .portrait{background-position:100% 0}
@keyframes seated-breathe{0%,100%{transform:translateY(0) rotate(-.3deg)}50%{transform:translateY(-2px) rotate(.3deg)}}
.seat-indicator{display:none}
.seat.active .avatar-wrap{box-shadow:none;filter:drop-shadow(0 0 8px #e4be6280) drop-shadow(0 5px 5px #14281880)}
.seat-name{position:relative;margin-top:-5px;background:#f2ebdbee;color:#304832;border:1px solid #ebdfc3aa;box-shadow:0 3px 9px #163c3033;padding:5px 12px;font-size:12px;border-radius:5px}
.seat.active .seat-name{background:#f7dc98;border-color:#e3bf73}
.seat-name span{color:#7c896b}.seat-meta{background:#1c3c2ed6;color:#bfcea7;font-size:9px;padding:4px 8px;margin-top:4px;max-width:170px;min-height:0;border-radius:5px}
.mini-hand{position:absolute;left:30%;right:30%;top:65%;height:20px;margin-top:0;opacity:0;pointer-events:none}
.speech-bubble{top:28%;left:85%;z-index:8}.seat-right .speech-bubble{right:85%}
.table-welcome{top:55%;width:74%}.table-welcome h2{font-size:27px;text-shadow:0 2px 8px #163322}.table-welcome p{color:#d1d9bf}.welcome-flourish{margin-bottom:6px;font-size:18px}.table-welcome small{color:#b5c5a1}
.table-badge{bottom:16px;color:#b2c29b70}
.trick-card{top:calc(67% - 58px)}
.table-message{top:87%;background:#153424aa}
.deck{top:calc(65% - 46px)}
.hand-area{background:linear-gradient(#234533,#203f30);padding-top:8px;min-height:226px;position:relative}
.hand-heading{color:#e4e9d5}.team-badge{background:#ffffff10;color:#b2c99b}.team-badge.re{background:#d6e6bd;color:#3e5d31}.team-badge.kontra{background:#f0dcb6;color:#755027}#hand-hint{color:#b3c59e}
.hand{height:180px}.hand .playing-card{top:14px}
.game-toolbar{background:#203e2f;border-top:1px solid #d4ddaf22}
.game-toolbar .quiet-button{color:#c5d3b0}.game-toolbar .quiet-button:hover:not(:disabled){background:#ffffff10;color:#fff3d4}#turn-label{color:#c9d7b2}
.announce-button{background:#d8dcc5;color:#39543a;border-color:#f0e7c533}.announce-button:not(:disabled){background:#f1dbad;color:#294430;border-color:#e8c782}
.playing-card.rank-Q{background:#fffbf5;border-top:3px solid #b997bc}
.playing-card.rank-J{background:#fffdf5;border-top:3px solid #7e9a70}
.playing-card.rank-K{background:#fffcf4;border-top:3px solid #c5a05b}
.card-art.court{inset:23px 5px 17px;display:grid;place-items:center}
.royal-portrait{display:block;position:absolute;inset:0;width:100%;height:100%;background:url('/assets/royal-court.png') 0 0 / 300% 100% no-repeat;mix-blend-mode:multiply;border-radius:3px}
.card-corner{z-index:2}
.royal-Q{background-position:50% 0}.royal-J{background-position:100% 0}
.court-title{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);font-family:var(--sans);font-size:5px;letter-spacing:1px;font-weight:650;color:#9b8960}
.rank-Q .court-title{color:#987395}.rank-J .court-title{color:#6f8a5b}
.hand-group-label{position:absolute;bottom:3px;transform:translateX(-50%);font-size:7px;letter-spacing:1.3px;color:#9fb48c;pointer-events:none;white-space:nowrap}
.group-damen{color:#d1b5d2}.group-buben{color:#b0c497}
@media(min-width:1400px){.table-stage{height:510px}.seat{max-width:225px;top:23px}.seat-top{top:13px;max-width:205px}.hand-area{min-height:232px}.hand{height:186px}.hand .card-art.court{inset:24px 5px 17px}}
@media(max-width:1150px){.table-stage{height:420px}.seat{top:49px;width:27%}.seat-top{top:39px;width:25%}.seat-left{left:19%}.seat-right{left:81%}.table-welcome{top:54%}.table-welcome h2{font-size:25px}.seat-name{font-size:10px;padding:4px 9px}.seat-meta{font-size:8px;padding:3px 6px}.hand-area{min-height:219px}.hand{height:172px}}
@media(max-width:960px){.table-stage{height:397px}.seat{top:53px;width:28%}.seat-top{top:48px;width:26%}.table-welcome{top:53%}.table-welcome h2{font-size:23px}.table-welcome p{font-size:10px}.table-welcome .cream-button{font-size:10px}.seat-name{font-size:9px;padding:4px 8px}.seat-meta{font-size:7px;padding:3px 5px}.hand-area{min-height:203px}.hand{height:161px}.hand .playing-card{top:13px}.card-art.court{inset:20px 3px 16px}.hand-group-label{font-size:6px;letter-spacing:1px}}
@media(max-width:760px){.table-stage{height:445px}.seat{width:24%;top:20px;max-width:170px}.seat-top{width:22%;top:13px;max-width:155px}.table-welcome{top:52%}.table-welcome h2{font-size:27px}.table-welcome .cream-button{font-size:12px}.table-welcome p{font-size:11px}.seat-name{font-size:11px;padding:5px 10px}.seat-meta{font-size:8px}.hand-area{min-height:218px}.hand{height:174px}.hand-group-label{font-size:7px}.card-art.court{inset:23px 4px 17px}}
@media(max-width:480px){.table-stage{height:353px}.seat{width:29%;top:32px;max-width:none}.seat-top{width:27%;top:26px;max-width:none}.seat-name{font-size:9px;margin-top:-2px;padding:4px 8px}.seat-name span{font-size:6px}.seat-meta{font-size:6px;max-width:110px;padding:3px 5px;white-space:nowrap}.table-welcome{top:52%;width:78%}.table-welcome h2{font-size:21px}.table-welcome p{font-size:9px;margin:8px 0 12px}.table-welcome .cream-button{font-size:10px;padding:10px 12px}.table-welcome small{font-size:6px}.table-badge{font-size:6px;bottom:13px}.welcome-flourish{font-size:16px;margin-bottom:5px}.trick-card{top:calc(68% - 49.5px)}.table-message{top:91%;font-size:8px;padding:4px 8px}.deck{top:calc(65% - 46px)}.hand-area{min-height:188px;padding-top:6px}.hand{height:150px}.hand .playing-card{top:10px}.hand-group-label{font-size:5px;letter-spacing:.5px;bottom:4px}.court-title{bottom:7px;font-size:4px;letter-spacing:.5px}.card-art.court{inset:20px 3px 14px}.speech-bubble{font-size:10px;top:20%;left:78%}.seat-right .speech-bubble{right:78%}.hand-heading #hand-hint{font-size:7px}}
