@import"https://fonts.googleapis.com/css2?family=Fraunces:wght@600;700&family=Inter:wght@400;500;600;700&display=swap";:root{color-scheme:dark;--felt-1: #0e3324;--felt-2: #0a2419;--panel: rgba(20, 48, 34, .6);--panel-border: rgba(212, 178, 92, .18);--panel-border-soft: rgba(255, 255, 255, .08);--bar-grey: #6b7069;--bar-grey-dark: #24261f;--ink: #f1f6f1;--muted: rgba(241, 246, 241, .68);--muted-soft: rgba(241, 246, 241, .45);--gold: #d9b45c;--gold-bright: #f0cd7a;--gold-ink: #2a2107;--good: #6fcf97;--bad: #e58686;--card-bg-top: #fffdf7;--card-bg-bot: #f2ede1;--card-border: rgba(20, 20, 15, .18);--red-suit: #b3261e;--black-suit: #17181a;--blue-suit: #1a5fb4;--green-suit: #1f7a3f;--radius-lg: 18px;--radius-md: 12px;--radius-sm: 7px;--mobile-bar-h: 2.875rem;--shadow-panel: 0 10px 30px rgba(0, 0, 0, .35), 0 1px 0 rgba(255, 255, 255, .04) inset;--shadow-card: 0 1px 2px rgba(0, 0, 0, .3), 0 3px 8px rgba(0, 0, 0, .25);--topbar-title-h: clamp(1.15rem, 3vw, 1.6rem);font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body{height:100%}body{margin:0;padding:0;color:var(--ink);background:radial-gradient(1100px 700px at 50% -10%,rgba(255,255,255,.05),transparent 60%),radial-gradient(1400px 900px at 50% 110%,rgba(0,0,0,.5),transparent 55%),linear-gradient(160deg,var(--felt-1),var(--felt-2) 65%);background-attachment:fixed;-webkit-font-smoothing:antialiased}.app{max-width:100rem;margin:0 auto;padding:clamp(.75rem,3vw,1.75rem) clamp(.75rem,4vw,1.75rem) calc(3rem + var(--cookie-banner-h, 0px));--floor-max-w: 65rem}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:700;letter-spacing:.01em;color:var(--ink)}h1{font-size:var(--topbar-title-h);margin:0}.app-topbar{display:flex;align-items:center;gap:.5rem .45rem;flex-wrap:wrap;margin:0 auto 1.1rem;max-width:var(--floor-max-w);width:100%}.app-topbar h1{line-height:1}.topbar-spacer{flex:1 1 0}.app-topbar-lobby{justify-content:center}.app-topbar-lobby .topbar-spacer{flex:none;width:0}.topbar-btn{display:inline-flex;align-items:center;justify-content:center;height:var(--topbar-title-h);min-height:0;box-sizing:border-box;cursor:pointer;border:1px solid var(--panel-border-soft);background:linear-gradient(180deg,#ffffff0f,#fff0);color:var(--muted);border-radius:var(--radius-sm);padding:0 .6rem;font-size:calc(var(--topbar-title-h) * .75);font-weight:500;font-family:inherit;line-height:1;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease}.topbar-btn:hover:not(:disabled){border-color:#d4b25c80;box-shadow:0 4px 12px #00000040;transform:translateY(-1px)}.topbar-btn:active:not(:disabled){transform:translateY(0)}.topbar-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.topbar-btn-icon{padding:0 .55rem;font-size:calc(var(--topbar-title-h) * .85)}.topbar-lang-select{height:var(--topbar-title-h);box-sizing:border-box;border:1px solid var(--panel-border-soft);background:transparent;color:var(--muted);border-radius:var(--radius-sm);font-size:calc(var(--topbar-title-h) * .6);padding:0 .3rem}.account-menu{position:relative}.account-menu-trigger{white-space:nowrap}.account-menu-dropdown{position:absolute;top:calc(100% + .4rem);right:0;z-index:30;display:flex;flex-direction:column;min-width:10rem;background:var(--panel-bg, #14231b);border:1px solid var(--panel-border-soft);border-radius:var(--radius-md);box-shadow:0 8px 24px #0006;overflow:hidden}.account-menu-dropdown button{text-align:left;border:none;border-radius:0;background:transparent;padding:.55rem .8rem;color:var(--ink);cursor:pointer}.account-menu-dropdown button:hover{background:#ffffff0f}.account-menu-logout{border-top:1px solid var(--panel-border-soft)!important;color:var(--bad)!important}.account-page{max-width:40rem;margin:0 auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.auth-modal{max-width:24rem}.dm-conversation{display:flex;flex-direction:column;gap:.6rem}.dm-log{min-height:8rem}.dm-message{display:flex;align-items:baseline;gap:.4rem}.dm-delete-btn{margin-left:auto;background:transparent;border:none;cursor:pointer;opacity:.6;font-size:.8rem}.dm-delete-btn:hover{opacity:1}.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:40;background:#0e1712;border-top:1px solid var(--panel-border-soft);padding:.8rem 1rem;display:flex;flex-direction:column;gap:.5rem;font-size:.85rem;color:var(--muted)}.cookie-banner-details{border-top:1px solid var(--panel-border-soft);padding-top:.5rem;display:flex;flex-direction:column;gap:.3rem}.cookie-banner-actions{display:flex;align-items:center;gap:.8rem;justify-content:flex-end}.cookie-banner-link{background:transparent;border:none;color:var(--muted);text-decoration:underline;cursor:pointer;padding:0}.connection-dot{width:.6rem;height:.6rem;border-radius:50%;flex-shrink:0;margin-left:.3rem}.connection-dot.connection-ok{background:var(--positive, #6fcf97)}.connection-dot.connection-warn{background:var(--gold, #d4b25c)}.connection-dot.connection-danger{background:var(--negative, #e0685f)}.mode-round-badge{display:inline-flex;align-items:center;height:var(--topbar-title-h);box-sizing:border-box;font-family:Inter,sans-serif;font-size:calc(var(--topbar-title-h) * .8);font-weight:600;color:var(--muted-soft);white-space:nowrap}.page-status{width:100%;max-width:var(--floor-max-w);margin-left:auto;margin-right:auto}h2{font-size:1.05rem;margin:0 0 .7rem}h3{font-size:1rem}p{line-height:1.5}::selection{background:var(--gold);color:var(--gold-ink)}button{cursor:pointer;border:1px solid var(--panel-border-soft);background:linear-gradient(180deg,#ffffff0f,#fff0);color:var(--ink);border-radius:var(--radius-sm);padding:.55rem 1rem;font-size:.9rem;font-weight:500;font-family:inherit;min-height:2.5rem;transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease}button:hover:not(:disabled){border-color:#d4b25c80;box-shadow:0 4px 12px #00000040;transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.4;cursor:not-allowed;transform:none}button.start-round,button.confirm{background:linear-gradient(180deg,var(--gold-bright),var(--gold));border-color:var(--gold);color:var(--gold-ink);font-weight:700;margin-bottom:1rem}button.start-round:hover:not(:disabled),button.confirm:hover:not(:disabled){box-shadow:0 6px 18px #d9b45c59}button.start-round.start-round-confirmed{background:linear-gradient(180deg,var(--good),#4fa877);border-color:var(--good);color:#0b2a1c}.start-round{min-height:5rem;font-size:1.3rem;display:flex;align-items:center;justify-content:center}input,select,textarea{border-radius:var(--radius-sm);border:1px solid var(--panel-border-soft);background:#00000040;color:inherit;padding:.55rem .7rem;font-size:.9rem;font-family:inherit;min-height:2.5rem}textarea{resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.lobby{max-width:34rem;margin:3vh auto 0;display:flex;flex-direction:column;align-items:center;gap:1.75rem;background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-lg);padding:clamp(1.25rem,4vw,2rem);box-shadow:var(--shadow-panel)}.lobby label{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;font-size:.9rem;color:var(--muted)}.lobby .start-round{min-height:2.75rem;font-size:1rem}.lobby-rules-link{color:var(--muted);font-size:.88rem;text-decoration:underline;text-underline-offset:.15em}.lobby-rules-link:hover{color:var(--gold-bright)}.lobby-public-toggle{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--muted);cursor:pointer;text-align:left}.lobby-public-toggle input{min-height:0;width:auto;flex-shrink:0}.lobby-public-tables{margin-top:1.25rem;align-items:stretch}.lobby-public-tables h2{margin:0;font-size:1.1rem;align-self:flex-start}.clubs-panel{max-width:34rem;margin:1.25rem auto 3vh;display:flex;flex-direction:column;gap:1.25rem;background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-lg);padding:clamp(1.25rem,4vw,2rem);box-shadow:var(--shadow-panel)}.clubs-panel h2{margin:0;font-size:1.1rem}.clubs-panel h3{margin:0 0 .5rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-soft)}.clubs-empty{margin:0;font-size:.88rem;color:var(--muted)}.clubs-error,.clubs-notice{margin:0;font-size:.88rem}.clubs-error{color:var(--bad)}.clubs-notice{color:var(--good)}.clubs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.clubs-item{border:1px solid var(--panel-border-soft);border-radius:var(--radius-md);padding:.7rem .85rem;display:flex;flex-direction:column;gap:.5rem}.clubs-item-head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.clubs-name{font-weight:600;margin-right:auto}.clubs-badge{font-size:.72rem;padding:.1rem .45rem;border-radius:999px;border:1px solid var(--panel-border);color:var(--muted)}.clubs-badge.owner{border-color:var(--gold);color:var(--gold)}.clubs-badge.active{border-color:var(--good);color:var(--good)}.clubs-badge.lapsed{border-color:var(--bad);color:var(--bad)}.clubs-invite{margin:0;font-size:.82rem;color:var(--muted);display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.clubs-invite code{word-break:break-all;color:var(--ink)}.clubs-requests{list-style:none;margin:0;padding:.5rem 0 0;border-top:1px solid var(--panel-border-soft);display:flex;flex-direction:column;gap:.4rem;font-size:.88rem}.clubs-requests li{display:flex;align-items:center;gap:.5rem;justify-content:space-between}.clubs-form,.clubs-login{display:flex;flex-direction:column;gap:.5rem}.clubs-panel input,.clubs-panel select{width:100%}.club-chat-toggle{align-self:flex-start;background:transparent;border:none;color:var(--muted);font-size:.82rem;padding:0;cursor:pointer}.club-chat-toggle:hover{color:var(--ink)}.club-chat{border-top:1px solid var(--panel-border-soft);padding-top:.6rem;display:flex;flex-direction:column;gap:.5rem}.club-chat-members{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;font-size:.82rem;color:var(--muted)}.club-chat-online-count{font-weight:600}.club-chat-members ul{list-style:none;margin:0;padding:0;display:flex;gap:.5rem;flex-wrap:wrap}.club-chat-members li{display:flex;align-items:center;gap:.3rem}.presence-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--muted);display:inline-block}.presence-dot.online{background:var(--good)}.club-chat-log{max-height:12rem;overflow-y:auto;display:flex;flex-direction:column;gap:.3rem;padding-right:.2rem}.club-chat-message{font-size:.85rem;line-height:1.3;word-break:break-word}.club-chat-nickname{font-weight:600;margin-right:.4rem}.club-chat-text{color:var(--ink)}.join-overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:20;animation:recap-in .15s ease}.join-overlay{position:relative;max-width:24rem;width:100%;display:flex;flex-direction:column;align-items:stretch;gap:.9rem;background:var(--felt-1);border:1px solid var(--panel-border);border-radius:var(--radius-lg);padding:clamp(1.25rem,5vw,2rem);box-shadow:var(--shadow-panel)}.join-overlay h2{margin:0}.join-overlay label{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;color:var(--muted)}.join-overlay form{display:flex;flex-direction:column;gap:.9rem}.join-overlay-close{position:absolute;top:.6rem;right:.6rem;min-height:0;width:1.9rem;height:1.9rem;padding:0;border-radius:999px;font-size:.9rem;line-height:1}.join-overlay-spectate{background:none;border:none;color:var(--muted);text-decoration:underline dotted;padding:0;min-height:0;align-self:flex-start}.join-overlay-spectate:hover:not(:disabled){color:var(--gold-bright);transform:none;box-shadow:none}.join-overlay-link{background:none;border:none;color:var(--muted);text-decoration:underline dotted;padding:0;min-height:0;align-self:flex-start;font-size:.85rem}.join-overlay-link:hover:not(:disabled){color:var(--gold-bright);transform:none;box-shadow:none}.report-bug-modal{max-width:30rem}.report-camera-btn{align-self:flex-start}.report-video-attached{display:flex;align-items:center;gap:.6rem;margin:0;font-size:.88rem;color:var(--muted)}.report-video-attached button{min-height:0;padding:.3rem .6rem;font-size:.8rem}.report-trim{display:flex;flex-direction:column;gap:.8rem}.report-trim-video{width:100%;border-radius:var(--radius-md);background:#000}.report-trim-slider{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--muted)}.report-recording-indicator{position:fixed;bottom:1.25rem;right:1.25rem;z-index:30;display:flex;align-items:center;gap:.5rem;background:var(--felt-1);border:1px solid var(--bad);border-radius:999px;padding:.6rem 1rem;color:var(--ink);box-shadow:var(--shadow-panel)}.report-recording-dot{width:.7rem;height:.7rem;border-radius:50%;background:var(--bad);animation:report-recording-pulse 1.2s ease-in-out infinite}@keyframes report-recording-pulse{0%,to{opacity:1}50%{opacity:.35}}.donation-prompt{max-width:24rem;text-align:center;align-items:center}.donation-amounts{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.donation-amounts button{min-height:2.3rem;padding:.4rem .9rem;font-size:.85rem;background:#00000040;border:1px solid var(--panel-border-soft);color:var(--muted)}.donation-amounts button.active{background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:var(--gold-ink);border-color:transparent}.donation-qr{display:flex;flex-direction:column;align-items:center;gap:.4rem}.donation-qr img{border-radius:var(--radius-md);background:#fff;padding:.6rem}.donation-qr-placeholder{width:220px;height:220px;border-radius:var(--radius-md);background:#ffffff14}.donation-actions{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:.2rem}.reconnect-button{background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:var(--gold-ink);border-color:var(--gold);font-weight:700;box-shadow:0 6px 20px #0006;animation:timebank-pulse 1.4s ease-in-out infinite}.corner-action{position:absolute;bottom:.6rem;right:.6rem;width:min(10rem,calc(100% - 1.2rem));z-index:2}.corner-action.corner-action-wide{width:min(20.6rem,calc(100% - 1.2rem))}.start-round-buttons{display:flex;gap:.5rem;width:100%}.start-round-buttons-dual .start-round,.start-round-buttons-dual .leave-seat-button{flex:1 1 0;width:auto;min-width:0}.leave-seat-button{background:linear-gradient(180deg,#3d8b5f,#275c3c);border-color:#275c3c;color:#0b2a1c;font-weight:700}.leave-seat-button:hover:not(:disabled){box-shadow:0 6px 18px #275c3c73}.corner-action button{width:100%;padding:.45rem .9rem;font-size:1.1rem;min-height:4.4rem;margin-bottom:0}.corner-action .start-round-area{width:100%;align-items:stretch;text-align:center}.reclaim-seat-prompt-link{display:inline-block;margin:0 0 1rem}.reclaim-seat-prompt{margin:0 auto 1.5rem}.share-link-popup code{background:#00000059;color:var(--gold-bright);padding:.2rem .5rem;border-radius:var(--radius-sm);word-break:break-all;font-size:.8rem}.share-link-actions{display:flex;flex-wrap:wrap;gap:.6rem}.seat-secret-popup code{background:#00000059;color:var(--gold-bright);padding:.15rem .5rem;border-radius:var(--radius-sm);font-size:.95rem;letter-spacing:.05em}.settings-seat-secret{margin:-.2rem 0 .9rem;font-size:.8rem}.leave-after-hra-toggle{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--muted);cursor:pointer}.leave-after-hra-toggle input{min-height:0;width:auto}.settings-seat-secret code{background:#00000059;color:var(--gold-bright);padding:.15rem .45rem;border-radius:var(--radius-sm);font-size:.85rem;letter-spacing:.05em}.error-banner{background:#b83c3c2e;border:1px solid rgba(226,134,134,.5);color:#ffd9d9;padding:.6rem .9rem;border-radius:var(--radius-md);margin-bottom:1rem}.waiting{color:var(--muted-soft);font-size:.88rem}.game-ended{color:var(--gold-bright);font-weight:600;font-size:.85rem}.table{min-width:0}.player-hands,.my-hand{display:flex;flex-direction:column;gap:1rem}.my-hand{margin-bottom:1rem}.opponent-hands{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.85rem}.table-board{display:flex;flex-direction:column;--card-max-w: 5.2rem;max-width:var(--floor-max-w);margin:0 auto;width:100%}.table-board:fullscreen{height:100%;overflow-y:auto;padding:1rem;background:radial-gradient(1100px 700px at 50% -10%,rgba(255,255,255,.05),transparent 60%),radial-gradient(1400px 900px at 50% 110%,rgba(0,0,0,.5),transparent 55%),linear-gradient(160deg,var(--felt-1),var(--felt-2) 65%)}.table-board.mode-pineapple{display:grid;grid-template-columns:minmax(0,1.7826fr) minmax(0,1fr);align-items:stretch;gap:1rem}.table-board.mode-pineapple .my-hand{grid-column:1;grid-row:1;margin-bottom:0}.table-board.mode-pineapple .opponent-hands{grid-column:2;grid-row:1;display:flex;flex-direction:column}.table-board.mode-pineapple .opponent-hands>.player-hand{flex:1 1 0;display:flex;flex-direction:column;justify-content:center}:root[data-opponent-side=left] .table-board.mode-pineapple{grid-template-columns:minmax(0,1fr) minmax(0,1.7826fr)}:root[data-opponent-side=left] .table-board.mode-pineapple .my-hand{grid-column:2}:root[data-opponent-side=left] .table-board.mode-pineapple .opponent-hands{grid-column:1}.table-board.mode-pineapple .my-hand{container-type:inline-size;--u: min(13cqw, 5.2rem)}.table-board.mode-pineapple .my-hand .rows,.table-board.mode-pineapple .my-hand .held-cards{container-type:normal}.table-board.mode-pineapple .player-hand.is-me{padding:calc(var(--u) * .173) calc(var(--u) * .2308)}.table-board.mode-pineapple .player-hand.is-me .rows .card{width:var(--u);height:calc(var(--u) * 1.375)}.table-board.mode-pineapple .player-hand.is-me .rows .card-corner{font-size:calc(var(--u) * .25)}.table-board.mode-pineapple .player-hand.is-me .rows .card-pip{font-size:calc(var(--u) * .55)}.table-board.mode-pineapple .player-hand.is-me .row-label{width:var(--u);font-size:calc(var(--u) * .2)}.table-board.mode-pineapple .player-hand.is-me .rows{gap:calc(var(--u) * .125)}.table-board.mode-pineapple .player-hand.is-me .row{gap:calc(var(--u) * .15);padding:calc(var(--u) * .1) calc(var(--u) * .125)}.table-board.mode-pineapple .player-hand.is-me .row-slots{gap:calc(var(--u) * .1)}.table-board.mode-pineapple .player-hand.is-me .held-cards .card{width:calc(var(--u) * .7308);height:calc(var(--u) * 1.0192)}.table-board.mode-pineapple .player-hand.is-me .held-cards .card-corner{font-size:calc(var(--u) * .1827)}.table-board.mode-pineapple .player-hand.is-me .held-cards .card-pip{font-size:calc(var(--u) * .4077)}.table-board.mode-pineapple .player-hand.is-me .rows .card.fl-slot{font-size:calc(var(--u) * .4)}.table-board.mode-pineapple .player-hand.is-me .stat-pill{padding:calc(var(--u) * .0673) calc(var(--u) * .1635)}.table-board.mode-pineapple .player-hand.is-me .stat-pill-label{font-size:calc(var(--u) * .1423)}.table-board.mode-pineapple .player-hand.is-me .stat-pill-value{font-size:calc(var(--u) * .2308)}.table-board.mode-pineapple .player-hand.is-me .corner-action{width:min(calc(var(--u) * 1.923),calc(100% - 1.2rem))}.table-board.mode-pineapple .player-hand.is-me .corner-action.corner-action-wide{width:min(calc(var(--u) * 3.966),calc(100% - 1.2rem))}.table-board.mode-pineapple .player-hand.is-me .corner-action button{padding:calc(var(--u) * .0865) calc(var(--u) * .1731);font-size:calc(var(--u) * .2115);min-height:calc(var(--u) * .8462)}.table-board.mode-pineapple .player-hand.is-me .subtle-button{padding:calc(var(--u) * .0673) calc(var(--u) * .1346);font-size:calc(var(--u) * .15)}.table-board.mode-pineapple .player-hand.is-me .reset-action{top:calc(var(--u) * .1346)}.table-board.mode-pineapple .player-hand.is-me .pending-cards{margin-top:calc(var(--u) * .1635);padding-top:calc(var(--u) * .1346);min-height:calc(var(--u) * 3.6538)}.table-board.mode-pineapple .player-hand.is-me .held-cards{gap:calc(var(--u) * .0962);margin-bottom:calc(var(--u) * .1346)}.table-board.mode-pineapple .player-hand.is-me .pending-hint{font-size:calc(var(--u) * .1577);margin:0 0 calc(var(--u) * .0962)}.table-board.mode-pineapple .opponent-hands .player-hand.compact{container-type:inline-size;--uo: min(13cqw, 2.3rem);padding:calc(var(--uo) * .2609) calc(var(--uo) * .3261)}.table-board.mode-pineapple .opponent-hands .rows{container-type:normal}.table-board.mode-pineapple .opponent-hands .player-hand.compact h3{font-size:calc(var(--uo) * .3696);margin-bottom:calc(var(--uo) * .1957)}.table-board.mode-pineapple .opponent-hands .player-hand.compact .opponent-name-row{font-size:calc(var(--uo) * .388)}@media (min-aspect-ratio: 4/5){.table-board.mode-pineapple .opponent-hands .player-hand.compact .opponent-name-row{font-size:calc(var(--uo) * .6984);margin-top:calc(var(--uo) * -.15)}}.table-board.mode-pineapple .opponent-hands .player-hand.compact .rows{gap:calc(var(--uo) * .1304)}.table-board.mode-pineapple .opponent-hands .player-hand.compact .row{padding:calc(var(--uo) * .1087) calc(var(--uo) * .1522);gap:calc(var(--uo) * .1522)}.table-board.mode-pineapple .opponent-hands .player-hand.compact .row-label{width:calc(var(--uo) * .4783);padding-left:1ch;font-size:calc(var(--uo) * .3696);font-weight:700}.table-board.mode-pineapple .opponent-hands .player-hand.compact .row-slots{gap:calc(var(--uo) * .087)}.table-board.mode-pineapple .opponent-hands .player-hand.compact .card{width:var(--uo);height:calc(var(--uo) * 1.4348)}.table-board.mode-pineapple .opponent-hands .player-hand.compact .card-simple-rank{font-size:calc(var(--uo) * .45)}.table-board.mode-pineapple .opponent-hands .player-hand.compact .card-simple-suit{font-size:calc(var(--uo) * .63)}.table-board.mode-pineapple .opponent-hands .player-hand.compact .pending-hint{font-size:calc(var(--uo) * .3261)}.table-board.mode-pineapple .opponent-hands .player-hand.compact .pending-cards{min-height:calc(var(--uo) * 1.2174)}.table-board.mode-pineapple .opponent-hands .player-hand.compact .card.fl-slot{font-size:calc(var(--uo) * .4)}.table-board.mode-pineapple .opponent-hands .player-hand.compact .bottom-stats{bottom:calc(var(--uo) * .2609);left:calc(var(--uo) * .2609);gap:calc(var(--uo) * .1739)}.table-board.mode-pineapple .opponent-hands .player-hand.compact .stat-pill{padding:calc(var(--uo) * .1522) calc(var(--uo) * .3696)}.table-board.mode-pineapple .opponent-hands .player-hand.compact .stat-pill-label{font-size:calc(var(--uo) * .3217)}.table-board.mode-pineapple .opponent-hands .player-hand.compact .stat-pill-value{font-size:calc(var(--uo) * .5217)}.table-board.mode-pineapple .opponent-hands .player-hand.compact .corner-action{width:min(calc(var(--uo) * 3.5),calc(100% - .8rem));bottom:.4rem;right:.4rem}.table-board.mode-pineapple .opponent-hands .player-hand.compact .corner-action button{min-height:calc(var(--uo) * 1.1);font-size:calc(var(--uo) * .32);padding:calc(var(--uo) * .15) calc(var(--uo) * .25)}.table-board.mode-classic .opponent-hands{display:flex;flex-direction:row;align-items:stretch;gap:.4rem}.table-board.mode-classic .opponent-hands>.player-hand{flex:1 1 0;min-width:0}.table-board.mode-classic .my-hand{container-type:inline-size;--u: min(13cqw, 5.2rem)}.table-board.mode-classic .my-hand .rows,.table-board.mode-classic .my-hand .held-cards{container-type:normal}.table-board.mode-classic .player-hand.is-me{padding:calc(var(--u) * .173) calc(var(--u) * .2308)}.table-board.mode-classic .player-hand.is-me .rows .card{width:var(--u);height:calc(var(--u) * 1.375)}.table-board.mode-classic .player-hand.is-me .rows .card-corner{font-size:calc(var(--u) * .25)}.table-board.mode-classic .player-hand.is-me .rows .card-pip{font-size:calc(var(--u) * .55)}.table-board.mode-classic .player-hand.is-me .row-label{width:var(--u);font-size:calc(var(--u) * .2)}.table-board.mode-classic .player-hand.is-me .rows{gap:calc(var(--u) * .125)}.table-board.mode-classic .player-hand.is-me .row{gap:calc(var(--u) * .15);padding:calc(var(--u) * .1) calc(var(--u) * .125)}.table-board.mode-classic .player-hand.is-me .row-slots{gap:calc(var(--u) * .1)}.table-board.mode-classic .player-hand.is-me .held-cards .card{width:calc(var(--u) * .7308);height:calc(var(--u) * 1.0192)}.table-board.mode-classic .player-hand.is-me .held-cards .card-corner{font-size:calc(var(--u) * .1827)}.table-board.mode-classic .player-hand.is-me .held-cards .card-pip{font-size:calc(var(--u) * .4077)}.table-board.mode-classic .player-hand.is-me .rows .card.fl-slot{font-size:calc(var(--u) * .4)}.table-board.mode-classic .player-hand.is-me .stat-pill{padding:calc(var(--u) * .0673) calc(var(--u) * .1635)}.table-board.mode-classic .player-hand.is-me .stat-pill-label{font-size:calc(var(--u) * .1423)}.table-board.mode-classic .player-hand.is-me .stat-pill-value{font-size:calc(var(--u) * .2308)}.table-board.mode-classic .player-hand.is-me .corner-action{width:min(calc(var(--u) * 1.923),calc(100% - 1.2rem))}.table-board.mode-classic .player-hand.is-me .corner-action.corner-action-wide{width:min(calc(var(--u) * 3.966),calc(100% - 1.2rem))}.table-board.mode-classic .player-hand.is-me .corner-action button{padding:calc(var(--u) * .0865) calc(var(--u) * .1731);font-size:calc(var(--u) * .2115);min-height:calc(var(--u) * .8462)}.table-board.mode-classic .player-hand.is-me .subtle-button{padding:calc(var(--u) * .0673) calc(var(--u) * .1346);font-size:calc(var(--u) * .15)}.table-board.mode-classic .player-hand.is-me .reset-action{top:calc(var(--u) * .1346)}.table-board.mode-classic .player-hand.is-me .pending-cards{margin-top:calc(var(--u) * .1635);padding-top:calc(var(--u) * .1346);min-height:calc(var(--u) * 2)}.table-board.mode-classic .player-hand.is-me .held-cards{gap:calc(var(--u) * .0962);margin-bottom:calc(var(--u) * .1346)}.table-board.mode-classic .player-hand.is-me .pending-hint{font-size:calc(var(--u) * .1577);margin:0 0 calc(var(--u) * .0962)}.table-board.mode-classic .opponent-hands .player-hand.compact{container-type:inline-size;--uo: min(18cqw, 4.2rem);padding:calc(var(--uo) * .18) calc(var(--uo) * .1)}.table-board.mode-classic .opponent-hands .rows{container-type:normal}.table-board.mode-classic .opponent-hands .player-hand.compact h3{font-size:calc(var(--uo) * .3696);margin-bottom:calc(var(--uo) * .22)}.table-board.mode-classic .opponent-hands .player-hand.compact .opponent-name-row{font-size:calc(var(--uo) * .6)}.table-board.mode-classic .opponent-hands .player-hand.compact .rows{gap:calc(var(--uo) * .1304)}.table-board.mode-classic .opponent-hands .player-hand.compact .row{padding:calc(var(--uo) * .07) calc(var(--uo) * .05);gap:0}.table-board.mode-classic .opponent-hands .player-hand.compact .row-label{display:none}.table-board.mode-classic .opponent-hands .player-hand.compact .row-slots{gap:calc(var(--uo) * .05)}.table-board.mode-classic .opponent-hands .player-hand.compact .card{width:var(--uo);height:calc(var(--uo) * 1.4348)}.table-board.mode-classic .opponent-hands .player-hand.compact .card-simple-rank{font-size:calc(var(--uo) * .45)}.table-board.mode-classic .opponent-hands .player-hand.compact .card-simple-suit{font-size:calc(var(--uo) * .63)}.table-board.mode-classic .opponent-hands .player-hand.compact .pending-hint{font-size:calc(var(--uo) * .3261)}.table-board.mode-classic .opponent-hands .player-hand.compact .pending-cards{min-height:calc(var(--uo) * 1.2174)}.table-board.mode-classic .opponent-hands .player-hand.compact .card.fl-slot{font-size:calc(var(--uo) * .4)}.table-board.mode-classic .opponent-hands .player-hand.compact .bottom-stats{bottom:calc(var(--uo) * .2609);left:calc(var(--uo) * .2609);gap:calc(var(--uo) * .1739)}.table-board.mode-classic .opponent-hands .player-hand.compact .stat-pill{padding:calc(var(--uo) * .1522) calc(var(--uo) * .3696)}.table-board.mode-classic .opponent-hands .player-hand.compact .stat-pill-label{font-size:calc(var(--uo) * .3217)}.table-board.mode-classic .opponent-hands .player-hand.compact .stat-pill-value{font-size:calc(var(--uo) * .5217)}.table-board.mode-classic .opponent-hands .player-hand.compact .corner-action{width:min(calc(var(--uo) * 3.5),calc(100% - .8rem));bottom:.4rem;right:.4rem}.table-board.mode-classic .opponent-hands .player-hand.compact .corner-action button{min-height:calc(var(--uo) * 1.1);font-size:calc(var(--uo) * .32);padding:calc(var(--uo) * .15) calc(var(--uo) * .25)}@media (max-aspect-ratio: 4/5){.table-board.mode-classic .my-hand{order:1;margin-bottom:0}.table-board.mode-classic .opponent-hands{order:2}:root[data-opponent-row-position-portrait=above] .table-board.mode-classic .my-hand{order:2}:root[data-opponent-row-position-portrait=above] .table-board.mode-classic .opponent-hands{order:1}}@media (min-aspect-ratio: 4/5){.table-board.mode-classic .my-hand{order:1;margin-bottom:0}.table-board.mode-classic .opponent-hands{order:2}:root[data-opponent-row-position-landscape=above] .table-board.mode-classic .my-hand{order:2}:root[data-opponent-row-position-landscape=above] .table-board.mode-classic .opponent-hands{order:1}}.player-hand.compact{padding:.6rem .75rem}.player-hand.compact h3{font-size:.85rem;margin-bottom:.45rem}.player-hand.compact .rows{gap:.3rem}.player-hand.compact .row{padding:.25rem .35rem;gap:.35rem}.player-hand.compact .row-label{width:1.1rem;padding-left:1ch;font-size:.85rem;font-weight:700}.player-hand.compact .row-slots{gap:.2rem}.player-hand.compact .card{width:clamp(1.3rem,6vw,2.3rem);height:clamp(1.8rem,8.5vw,3.3rem);border-radius:4px}.player-hand.compact .card-simple-rank{font-size:clamp(.66rem,3.3vw,.9rem)}.player-hand.compact .card-simple-suit{font-size:clamp(.85rem,4vw,1.15rem)}.player-hand.compact .pending-hint{font-size:.75rem}.player-hand.compact .pending-cards{min-height:2.8rem}.player-hand{position:relative;border:1px solid var(--panel-border-soft);border-radius:var(--radius-lg);padding:.9rem clamp(.7rem,3vw,1.2rem);background:var(--panel);box-shadow:var(--shadow-panel);min-width:0}.player-hand.fantasy-land{background:#b39ddb29;border-color:#b39ddb8c}.player-hand h3{margin:0 0 .3rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.opponent-name-row{justify-content:center;text-align:center;color:var(--gold-bright)}.player-hand.compact .opponent-name-row{font-size:.89rem}.player-hand.empty-seat{border-style:dashed;box-shadow:none}.player-hand.empty-seat .hand-body,.player-hand.empty-seat .opponent-name-row{opacity:.55}.fl-badge,.foul-badge{font-family:Inter,sans-serif;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.2rem .55rem}.fl-badge{position:absolute;top:.6rem;right:.6rem;font-size:1.1rem;padding:.4rem 1rem;background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:var(--gold-ink);cursor:default}.card.fl-slot{background:#b39ddb29;border:1px solid rgba(179,157,219,.55);box-shadow:none;color:#cbbeea;font-family:Inter,sans-serif;font-weight:800;font-size:clamp(.72rem,3.4vw,.92rem);text-align:center;line-height:1.15;padding:.2rem}.bottom-stats{position:absolute;bottom:.6rem;left:.6rem;display:flex;align-items:center;gap:.4rem;z-index:1;max-width:calc(100% - 1.2rem)}.stat-pill{display:flex;align-items:baseline;gap:.4rem;background:var(--panel);border:1px solid var(--panel-border-soft);border-radius:999px;padding:.35rem .85rem;max-width:100%}.stat-pill-label{font-family:Inter,sans-serif;font-size:.74rem;font-weight:600;color:var(--muted-soft);white-space:nowrap}.stat-pill-label-mine{font-weight:700}.stat-pill-label:has(.stat-pill-label-mine){align-self:center}.stat-pill-value{font-family:Inter,sans-serif;font-size:1.2rem;font-weight:800}.player-hand.is-me{border-color:#6fcf9780;box-shadow:var(--shadow-panel),0 0 0 1px #6fcf9759}.timebank-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:2.6rem;padding:.15rem .55rem;border-radius:999px;font-family:Inter,sans-serif;font-size:.72rem;font-weight:700;background:#ffffff12;border:1px solid rgba(255,255,255,.18);overflow:hidden;--pct: 1}.timebank-badge:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:calc(var(--pct) * 100%);background:currentColor;opacity:.28;transition:width 1s linear}.timebank-badge span{position:relative;z-index:1}.timebank-ok{color:var(--good)}.timebank-warn{color:var(--gold-bright)}.timebank-danger{color:var(--bad);animation:timebank-pulse 1s ease-in-out infinite}@keyframes timebank-pulse{50%{opacity:.55}}.personal-timebank-badge{display:inline-flex;align-items:center;gap:.2rem;font-family:Inter,sans-serif;font-size:.65rem;font-weight:700;padding:.15rem .5rem;border-radius:999px;background:#4fc3c72e;border:1px solid rgba(79,195,199,.5);color:#7fd9dc}.personal-timebank-btn{color:#7fd9dc;border-color:#4fc3c766}.personal-timebank-btn:hover:not(:disabled){border-color:#4fc3c7bf}.hand-body{display:flex;flex-direction:column}.rows{display:flex;flex-direction:column;gap:.5rem;justify-content:center;border:none;padding:0;background:none;width:100%;container-type:inline-size}.row{position:relative;display:flex;align-items:center;gap:.6rem;padding:.4rem .5rem;border-radius:var(--radius-md);border:1px dashed transparent;background:#0000002e;text-align:left;width:100%;font-family:inherit;color:inherit;transition:border-color .15s ease,background .15s ease}button.row:enabled:hover{border-color:var(--gold);background:#00000047;transform:none;box-shadow:none}.row.row-target,.row.row-drag-over{border-color:var(--gold-bright);background:#d9b45c1f;box-shadow:0 0 0 1px #d9b45c66}.row-label{width:3.4rem;flex-shrink:0;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-soft);text-align:center}.row-slots{display:flex;gap:clamp(.25rem,1vw,.4rem);flex-wrap:wrap;flex:1;justify-content:center}.card{position:relative;display:inline-flex;align-items:center;justify-content:center;width:clamp(2.6rem,11vw,3.4rem);height:clamp(3.6rem,15vw,4.7rem);border-radius:7px;background:linear-gradient(160deg,var(--card-bg-top),var(--card-bg-bot));color:var(--black-suit);font-weight:700;border:1px solid var(--card-border);box-shadow:var(--shadow-card);flex-shrink:0;font-family:Inter,sans-serif;transition:transform .12s ease,box-shadow .12s ease,outline-color .12s ease}button.card{padding:0;min-height:0}.held-cards .card,.card.staged{touch-action:none}span.card{padding:0}.card.suit-spades{color:var(--black-suit)}.card.suit-hearts{color:var(--red-suit)}.card.suit-diamonds{color:var(--blue-suit)}.card.suit-clubs{color:var(--green-suit)}.card-corner{position:absolute;top:.16rem;left:.26rem;font-size:clamp(.72rem,2.7vw,.9rem);font-weight:700;line-height:1}.card-corner-br{top:auto;left:auto;bottom:.16rem;right:.26rem;transform:rotate(180deg)}.card-pip{font-size:clamp(1.4rem,5.6vw,2rem)}.card-simple-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.05em;font-weight:700;line-height:1}.card-simple-rank{font-size:clamp(1.15rem,4.4vw,1.55rem)}.card-simple-suit{font-size:clamp(1.3rem,5vw,1.8rem)}.card.empty{background:#ffffff08;border:1px dashed rgba(255,255,255,.2);box-shadow:none}button.card:enabled:hover{transform:translateY(-3px);box-shadow:var(--shadow-card),0 6px 14px #0000004d}.card.selected{outline:2px solid var(--gold-bright);outline-offset:2px;transform:translateY(-3px)}.card.dragging{opacity:.4}.card.staged{outline:2px solid var(--good);outline-offset:2px;cursor:pointer}.card.staged.locked{cursor:default}.card.just-placed{outline:2px solid var(--gold-bright);outline-offset:2px;animation:pop-in .3s ease}.card.burned-card{filter:grayscale(.85);opacity:.6}.replay-app{max-width:48rem}.move-caption{font-weight:600;color:var(--gold-bright)}.pending-cards{position:relative;margin-top:.85rem;border-top:1px solid var(--panel-border-soft);padding-top:.7rem;min-height:19rem}.pending-hint{font-size:.82rem;color:var(--muted);margin:0 0 .5rem}.held-cards{display:flex;gap:clamp(.3rem,1.5vw,.5rem);margin-bottom:.7rem;flex-wrap:wrap;container-type:inline-size}.sort-actions{display:flex;gap:.5rem;flex-wrap:wrap}.sort-actions button.active{background:var(--gold);color:var(--gold-ink);border-color:var(--gold)}.subtle-button{padding:.35rem .7rem;font-size:.78rem;min-height:0;color:var(--muted);background:#ffffff08}.subtle-button.active{background:var(--gold);color:var(--gold-ink);border-color:var(--gold)}.reset-action{position:absolute;right:.6rem;top:.6rem;z-index:1}.bottom-sort-actions{position:absolute;left:50%;bottom:.6rem;transform:translate(-50%);z-index:1}.positive{color:var(--good);font-weight:600}.negative{color:var(--bad);font-weight:600}@keyframes recap-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.foul-badge{background:linear-gradient(180deg,#e58686,#b3261e);color:#fff}.recap-row-royalty{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);font-size:.78rem;font-weight:700;color:var(--gold-bright);animation:pop-in .3s ease}.pending-hint.recap-score{font-size:1rem;font-weight:700;margin-bottom:0}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}.recap-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:25;animation:recap-in .15s ease}.recap-modal{position:relative;width:100%;max-width:43rem;margin:0 auto;max-height:calc(100vh - 2rem);overflow-y:auto;background:var(--felt-1);border:1px solid var(--panel-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel)}.top-band{display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"title hand close";align-items:start;gap:.8rem;padding:1rem 1.2rem;border-bottom:1px solid var(--panel-border-soft)}.top-band.top-band-replay{align-items:stretch}.title-block,.close-block{display:flex;flex-direction:column}.title-block{grid-area:title}.title-block h2{margin:0 0 .15rem;font-size:1.15rem;color:var(--gold-bright)}.recap-sub{margin:0;font-size:.76rem;color:var(--muted-soft)}.other-scores{display:flex;flex-direction:column;gap:.7rem;justify-content:space-evenly;height:100%}.other-scores-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-soft);margin-bottom:.1rem}.other-score-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.other-score-who{display:flex;flex-direction:column;gap:.05rem}.other-score-name{font-size:.82rem;font-weight:700;color:var(--ink)}.other-score-result{font-size:.66rem;font-weight:700;font-variant-numeric:tabular-nums}.other-score-result.good{color:var(--good)}.other-score-result.bad{color:var(--bad)}.other-score-track{display:flex;align-items:baseline;gap:.2rem;white-space:nowrap}.other-score-track .old{font-size:.72rem;color:var(--muted-soft);font-variant-numeric:tabular-nums}.other-score-track .arrow{font-size:.68rem;color:var(--muted-soft)}.other-score-track .new{font-size:1.02rem;font-weight:800;font-variant-numeric:tabular-nums}.other-score-track .new.good{color:var(--good)}.other-score-track .new.bad{color:var(--bad)}.title-text{text-align:center;margin-top:.45rem}.round-nav{display:flex;align-items:center;justify-content:center;gap:1.4rem;margin-top:.5rem}.tri-btn{display:flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;padding:0;margin:0;background:transparent;border:none;cursor:pointer;flex-shrink:0;opacity:.8;transition:opacity .12s ease}.tri-shape{width:0;height:0;border-top:.38rem solid transparent;border-bottom:.38rem solid transparent}.tri-btn.left .tri-shape{border-right:.55rem solid var(--gold-bright)}.tri-btn.right .tri-shape{border-left:.55rem solid var(--gold-bright)}.tri-btn:hover:not(:disabled){opacity:1}.tri-btn:disabled{opacity:.25;cursor:default}.tri-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.close-block{grid-area:close;align-items:flex-end}.close-block.close-block-replay{align-items:center;justify-content:space-evenly}.round-nav-compact{display:flex;align-items:center;justify-content:center;gap:.5rem}.round-nav-compact .round-number{font-size:.95rem;font-weight:700;color:var(--gold-bright);font-variant-numeric:tabular-nums;white-space:nowrap}.move-toolbar{display:flex;flex-direction:column;align-items:center;gap:.3rem}.tape-row{display:flex;align-items:center;gap:.3rem}.tape-btn{border:1px solid var(--panel-border-soft);background:#ffffff0a;color:var(--ink);border-radius:6px;width:1.85rem;height:1.6rem;font-size:.8rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0}.tape-btn:disabled{opacity:.35;cursor:default}.tape-btn:not(:disabled):hover{border-color:#d4b25c80}.tape-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.tape-btn.play{border-color:#d4b25c80;color:var(--gold-bright)}.tape-counter{font-size:.66rem;color:var(--muted-soft);font-variant-numeric:tabular-nums;padding:0 .15rem;min-width:2.4rem;text-align:center;white-space:nowrap}.recap-close{border:1px solid var(--panel-border-soft);background:#ffffff0a;color:var(--muted);width:2.1rem;height:2.1rem;border-radius:999px;font-size:1.1rem;line-height:1;flex-shrink:0;padding:0}.recap-close:hover{color:var(--ink);border-color:#d4b25c80}.recap-body{padding:1.1rem 1.3rem}.totals-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.3rem 1.2rem;border-top:1px solid var(--panel-border-soft)}.totals-footer .total-block:last-child{text-align:right}.burned-strip-wrap{display:flex;flex-direction:column;align-items:center;gap:.35rem}.burned-strip{display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:.2rem;max-width:8rem}.hand-block{grid-area:hand;width:13rem;flex-shrink:0;border:1px solid var(--panel-border-soft);border-radius:var(--radius-md);padding:.4rem .4rem .5rem;background:#ffffff06;display:flex;flex-direction:column;gap:.28rem}.hand-block.mine{border-color:#6fcf9780;background:#6fcf970d}.hand-name{margin:0 0 .1rem;font-size:.98rem;min-height:1.05rem;text-align:center;display:flex;align-items:center;justify-content:center;gap:.5rem}.hand-name .foul-badge{font-size:.52rem;padding:.12rem .4rem}.fl-entry-badge{font-family:inherit;font-size:.52rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.12rem .4rem;background:#b39ddb38;border:1px solid rgba(179,157,219,.55);color:#cbbeea;white-space:nowrap}.hand-block.mine .hand-name{color:var(--good)}.perspective-select{font:inherit;font-weight:700;color:inherit;background:transparent;border:none;cursor:pointer;padding:0;text-align:center;text-align-last:center}.perspective-select:hover,.perspective-select:focus-visible{text-decoration:underline}.hand-row{display:flex;align-items:center;gap:.2rem;padding:.28rem .32rem;border-radius:var(--radius-sm)}.hand-row.tint-good{background:#6fcf9724;border:2px solid var(--good);box-shadow:0 0 8px #6fcf978c}.hand-row.tint-bad{background:#e5868624;border:2px solid var(--bad);box-shadow:0 0 8px #e586868c}.hr-cards{display:flex;justify-content:center;gap:.14rem;flex:1;flex-wrap:nowrap}.hr-royalty{font-size:.7rem;font-weight:700;color:var(--gold-bright);min-width:2.3rem;padding:.1rem .45rem;text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0}.recap-mini-card{width:1.68rem;height:2.36rem;flex-shrink:0}.recap-mini-card .card-simple-rank{font-size:.74rem}.recap-mini-card .card-simple-suit{font-size:.86rem}.recap-mini-card.empty{background:#ffffff08;border:1px dashed var(--panel-border-soft);box-shadow:none}.recap-mini-card.fl-slot{background:#b39ddb29;border:1px solid rgba(179,157,219,.55);box-shadow:none;color:#cbbeea;font-weight:800;font-size:.6rem;text-align:center;line-height:1.1;padding:0}.hand-total-row{margin-top:.15rem;padding-top:.4rem;border-top:1px solid var(--panel-border-soft)}.stat-note{font-size:.56rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-soft);white-space:nowrap;flex-shrink:0}.points-chip{font-size:.74rem;font-weight:800;padding:.14rem .5rem;border-radius:999px;font-variant-numeric:tabular-nums}.points-chip.good{background:#6fcf9747;color:var(--good)}.points-chip.bad{background:#e5868647;color:var(--bad)}.hr-royalty.total-royalty{border-radius:999px;font-weight:800}.hr-royalty.total-royalty.good{background:#6fcf9747;color:var(--good)}.hr-royalty.total-royalty.bad{background:#e5868647;color:var(--bad)}.calc-line{font-size:.72rem;color:var(--muted);text-align:center;font-variant-numeric:tabular-nums}.calc-line strong{font-size:.88rem}.calc-line strong.good{color:var(--good)}.calc-line strong.bad{color:var(--bad)}.opponents-wrap{overflow-x:auto;padding-bottom:.2rem}.opponents-row{display:flex;justify-content:center;gap:.6rem;min-width:min-content}.recap-footer{padding:1rem 1.3rem 1.3rem;border-top:1px solid var(--panel-border-soft);display:flex;align-items:center;justify-content:center}.recap-footer .start-round-area{display:flex;flex-direction:column;align-items:center;gap:.3rem}.total-block{display:flex;flex-direction:column;gap:.1rem}.total-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-soft)}.total-value{font-size:1.15rem;font-weight:800;font-variant-numeric:tabular-nums}.total-value.good{color:var(--good)}.total-value.bad{color:var(--bad)}.before-after{font-size:1.15rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink)}.before-after .arrow{color:var(--muted-soft);font-weight:500;margin:0 .3rem}@media (max-width: 640px){.top-band{grid-template-columns:1fr auto;grid-template-areas:"title close" "hand hand";row-gap:.9rem}.hand-block.mine{justify-self:center}.recap-footer{flex-direction:column;align-items:stretch}.recap-footer .start-round-area{align-items:stretch}}.history-replay-nav{display:flex;gap:.5rem;margin-top:1rem;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:.85rem}.history-replay-nav button.active{background:var(--gold);color:var(--gold-ink);border-color:var(--gold)}@media (max-aspect-ratio: 4/5){.moderator-vacancy-widget{position:static;width:auto;margin-bottom:1rem}.app{padding-bottom:calc(var(--mobile-bar-h) + env(safe-area-inset-bottom))}.table-board.mode-pineapple{display:flex;flex-direction:column;align-items:stretch}.table-board.mode-pineapple .opponent-hands{order:2;display:flex;flex-direction:row;align-items:stretch;width:100%}.table-board.mode-pineapple .opponent-hands>.player-hand{flex:1 1 0}.table-board.mode-pineapple .my-hand{order:1;width:100%}:root[data-pineapple-vertical-position=above] .table-board.mode-pineapple .opponent-hands{order:1}:root[data-pineapple-vertical-position=above] .table-board.mode-pineapple .my-hand{order:2}}@media (max-width: 520px){.row-label{width:2.6rem;font-size:.62rem}.row{padding:.35rem;gap:.4rem}button{padding:.5rem .8rem;font-size:.85rem}.moderator-section li{flex-wrap:wrap}.moderator-section li button{margin-left:0}}.moderator-panel,.chat-panel{border:1px solid var(--panel-border);border-radius:var(--radius-lg);padding:1rem 1.1rem;background:var(--panel);box-shadow:var(--shadow-panel);margin-bottom:1rem}.moderator-panel h2,.chat-panel h2{margin:0 0 .6rem}.moderator-section,.user-section{margin-bottom:.9rem;padding-bottom:.9rem;border-bottom:1px solid var(--panel-border-soft)}.moderator-section:last-child,.user-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.account-stats{list-style:none;margin:.5rem 0 .8rem;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;font-size:.82rem;color:var(--muted)}.account-stats strong{color:var(--ink)}.moderator-section h3,.user-section h3{margin:0 0 .4rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-soft)}.moderator-section ul,.pending-join-popup ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.moderator-section li,.pending-join-popup li{display:flex;align-items:center;gap:.5rem;font-size:.88rem}.moderator-section li button,.pending-join-popup li button{margin-left:auto}.moderator-duration-input{display:flex;align-items:center;justify-content:space-between;gap:.6rem;font-size:.85rem;margin-bottom:.4rem}.moderator-duration-input input{width:4.5rem}.timebank-columns{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.timebank-column{display:flex;flex-direction:column}.timebank-save{margin-top:.2rem}.moderator-vacancy-widget{position:fixed;bottom:1rem;left:1rem;z-index:20;width:min(20rem,calc(100vw - 2rem));border:1px solid var(--gold);border-radius:var(--radius-lg);padding:.9rem 1rem;background:var(--panel);box-shadow:var(--shadow-panel)}.moderator-vote-heading{margin:0 0 .3rem}.moderator-vote-list{list-style:none;margin:.5rem 0;padding:0;display:flex;flex-direction:column;gap:.35rem;min-width:14rem}.moderator-vote-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.88rem}.moderator-vote-download{width:100%;margin-top:.4rem}.chat-messages{list-style:none;margin:0 0 .6rem;padding:0;max-height:14rem;overflow-y:auto;display:flex;flex-direction:column;gap:.3rem}.chat-message{font-size:.85rem;line-height:1.4}.chat-message.mine strong{color:var(--gold-bright)}.chat-message.chat-move{color:var(--muted);font-size:.8rem;font-style:italic}.chat-message.chat-result{color:var(--gold-bright);font-weight:600}.chat-filter{display:flex;flex-wrap:wrap;gap:.15rem .7rem;font-size:.76rem;color:var(--muted);margin-bottom:.5rem}.chat-filter label{display:flex;align-items:center;gap:.3rem;cursor:pointer}.chat-filter input[type=checkbox]{min-height:0;width:auto;accent-color:var(--gold)}.chat-top-row{display:flex;align-items:flex-start;gap:.7rem;margin-bottom:1.1rem}.chat-top-row .chat-messages{flex:1;min-width:0}.chat-filter-grid{display:grid;grid-template-columns:repeat(2,auto);gap:.25rem .6rem;font-size:.76rem;color:var(--muted);flex-shrink:0}.chat-filter-grid label{display:flex;align-items:center;gap:.3rem;cursor:pointer;white-space:nowrap}.chat-filter-grid input[type=checkbox]{min-height:0;width:auto;accent-color:var(--gold)}.chat-input{position:relative;display:flex;gap:.5rem}.chat-input input{flex:1}.emoji-picker-toggle{padding:.4rem .55rem;font-size:1.1rem;line-height:1}.emoji-picker{position:absolute;bottom:calc(100% + .4rem);left:0;z-index:5;display:grid;grid-template-columns:repeat(8,1fr);gap:.15rem;max-width:18rem;padding:.5rem;background:var(--felt-1);border:1px solid var(--panel-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel)}.emoji-picker button{min-height:0;padding:.3rem;font-size:1.2rem;line-height:1;border:none;background:none}.emoji-picker button:hover{background:#ffffff14;transform:none;box-shadow:none}.start-round-area{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;text-align:right}.corner-action .start-round-area .waiting{font-size:.72rem}.mobile-tab-bar-root{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;flex-direction:column}.mobile-tab-bar{display:flex;gap:.3rem;background:var(--bar-grey);border-top:1px solid rgba(255,255,255,.08);padding:.15rem .4rem calc(.15rem + env(safe-area-inset-bottom))}.mobile-tab-bar button{flex:1;background:transparent;border:1px solid transparent;color:var(--ink);font-size:.7rem;padding:.15rem .35rem;border-radius:var(--radius-md)}.mobile-tab-bar button.active{background:#ffffff29;color:var(--ink);border-color:#fff3}.mobile-tab-bar-collapse{flex:0 0 2.2rem!important}.tab-badge{display:inline-block;min-width:1.1rem;margin-left:.3rem;padding:0 .3rem;border-radius:999px;background:var(--bad);color:var(--gold-ink);font-size:.7rem;font-weight:700;line-height:1.1rem}.mobile-tab-bar-drawer{max-height:70vh;overflow-y:auto;background:var(--bar-grey-dark);border-top:1px solid var(--panel-border);padding:1rem 1rem .5rem;animation:mobile-drawer-in .2s ease-out}@keyframes mobile-drawer-in{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@media (prefers-reduced-motion: reduce){.mobile-tab-bar-drawer{animation:none}}.mobile-tab-bar-drawer .moderator-panel,.mobile-tab-bar-drawer .chat-panel{border:none;box-shadow:none;padding:0;margin-bottom:0;background:transparent}.settings-subnav{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem}.settings-subnav button{padding:.4rem .75rem;border-radius:999px;border:1px solid var(--panel-border);background:transparent;color:var(--muted);font-size:.78rem}.settings-subnav button.active{background:var(--gold);border-color:var(--gold);color:var(--gold-ink);font-weight:600}.appearance-choice{display:flex;flex-direction:column;gap:.2rem;font-size:.85rem}.appearance-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.9rem 1.2rem;margin-bottom:.9rem}.appearance-column h3{margin:0 0 .3rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-soft)}.desktop-side-panel{border:1px solid var(--panel-border);border-radius:var(--radius-lg);padding:1rem 1.1rem;background:var(--panel);box-shadow:var(--shadow-panel);max-width:var(--floor-max-w);width:100%;margin:1.5rem auto 1rem}.desktop-side-panel-tabs{display:flex;gap:.4rem;margin-bottom:.9rem}.desktop-side-panel-tabs button{flex:1;padding:.45rem .75rem;border-radius:var(--radius-md);border:1px solid var(--panel-border);background:transparent;color:var(--muted);font-size:.85rem}.desktop-side-panel-tabs button.active{background:#ffffff1a;color:var(--ink);border-color:var(--gold)}.desktop-side-panel .moderator-panel,.desktop-side-panel .chat-panel{border:none;box-shadow:none;padding:0;margin-bottom:0;background:transparent}.desktop-side-panel .moderator-panel h2,.desktop-side-panel .chat-panel h2{display:none}.appearance-choice label{display:flex;align-items:center;gap:.5rem}.moderator-duration-readonly{font-size:.85rem;margin:0 0 .4rem;color:var(--muted)}[data-deck-colors="2"] .card.suit-diamonds{color:var(--red-suit)}[data-deck-colors="2"] .card.suit-clubs{color:var(--black-suit)}.suit-preview{display:inline-flex;gap:.25rem;font-size:1.1rem;line-height:1}.suit-preview .suit-spades{color:var(--black-suit)}.suit-preview .suit-hearts{color:var(--red-suit)}.suit-preview[data-scheme="4"] .suit-diamonds{color:var(--blue-suit)}.suit-preview[data-scheme="4"] .suit-clubs{color:var(--green-suit)}.suit-preview[data-scheme="2"] .suit-diamonds{color:var(--red-suit)}.suit-preview[data-scheme="2"] .suit-clubs{color:var(--black-suit)}
