.unified-player-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#3b82f633;border:2px solid rgba(59,130,246,.3);color:#fff;font-weight:600;flex-shrink:0;overflow:hidden;transition:all .2s ease-in-out}.unified-player-avatar--xxs{width:16px;height:16px;font-size:8px}.unified-player-avatar--xs{width:20px;height:20px;font-size:10px}.unified-player-avatar--sm{width:24px;height:24px;font-size:12px}.unified-player-avatar--md{width:32px;height:32px;font-size:14px}.unified-player-avatar--lg{width:40px;height:40px;font-size:16px}.unified-player-avatar--cpu{background:#64748b33;border-color:#64748b66}.unified-player-avatar--host{background:#fbbf2433;border-color:#fbbf2466}.unified-player-avatar--me{background:#3b82f64d;border-color:#3b82f680;box-shadow:0 0 0 2px #3b82f633}.unified-player-avatar--online{border-color:#22c55e}.unified-player-avatar--offline{border-color:#ef4444;opacity:.6}.unified-player-avatar--default{border-color:#64748b4d}.unified-player-avatar:hover{transform:scale(1.05);box-shadow:0 2px 8px #0003}.game-result-modal__content{display:flex;flex-direction:column;gap:var(--modal-content-gap);padding:var(--hand-area-padding-block) var(--hand-area-padding-inline)}.game-result-modal__header{text-align:center}.game-result-modal__title{font-size:var(--modal-title-size);font-weight:600;color:#fff;margin:0 0 8px}.game-result-modal__current-rank{font-size:var(--modal-body-size);color:#c4b5fd;margin:0;font-weight:500}.game-result-modal__rankings{display:flex;flex-direction:column;gap:var(--modal-list-gap);max-height:400px;overflow-y:auto}.game-result-modal__rank-item{display:flex;align-items:center;gap:var(--modal-list-gap);padding:var(--modal-item-padding-block) var(--modal-item-padding-inline);border-radius:8px;background:#33415599;border:2px solid transparent;transition:all .2s ease}.game-result-modal__rank-item:hover{background:#334155cc;transform:translate(4px)}.game-result-modal__rank-item--current{border-color:#c4b5fd;background:#c4b5fd26;box-shadow:0 0 12px #c4b5fd4d}.game-result-modal__rank-item--rank-1{background:linear-gradient(135deg,#ffd70033,#ffd7001a);border-color:#ffd70080}.game-result-modal__rank-item--rank-1:hover{background:linear-gradient(135deg,#ffd7004d,#ffd70033)}.game-result-modal__rank-item--rank-2{background:linear-gradient(135deg,#c0c0c033,#c0c0c01a);border-color:#c0c0c080}.game-result-modal__rank-item--rank-2:hover{background:linear-gradient(135deg,#c0c0c04d,#c0c0c033)}.game-result-modal__rank-item--rank-3{background:linear-gradient(135deg,#cd7f3233,#cd7f321a);border-color:#cd7f3280}.game-result-modal__rank-item--rank-3:hover{background:linear-gradient(135deg,#cd7f324d,#cd7f3233)}.game-result-modal__rank-icon{font-size:calc(var(--modal-heading-size) * 2);min-width:40px;text-align:center;line-height:1}.game-result-modal__rank-info{flex:1;display:flex;flex-direction:column;gap:4px}.game-result-modal__rank-name{font-size:var(--modal-heading-size);font-weight:600;color:#fff;display:flex;align-items:center;gap:8px}.game-result-modal__you-badge{font-size:var(--font-size-sm);color:#c4b5fd;font-weight:400;padding:2px 8px;background:#c4b5fd33;border-radius:4px}.game-result-modal__rank-details{font-size:var(--modal-body-size);color:#94a3b8;display:flex;flex-direction:column;gap:2px}.game-result-modal__total-points,.game-result-modal__match-progress{font-size:var(--modal-body-size);color:#c4b5fd;font-weight:500;margin-top:4px}.game-result-modal__ready-status{text-align:center;padding:12px;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:8px}.game-result-modal__ready-text{font-size:var(--modal-body-size);color:#22c55e;margin:0;font-weight:500}.game-result-modal__actions{display:flex;justify-content:center;padding-top:8px}.game-result-modal__action-buttons{display:flex;gap:var(--hand-area-row-gap);width:100%;justify-content:center}.game-result-modal__next-game-button,.game-result-modal__leave-button{flex:1;max-width:200px;padding:var(--hand-area-row-gap) calc(var(--hand-area-row-gap) * 2);font-size:var(--modal-heading-size);font-weight:600}.game-result-modal__close-button{min-width:200px;padding:var(--hand-area-row-gap) calc(var(--hand-area-row-gap) * 2);font-size:var(--modal-heading-size);font-weight:600}.game-result-modal__rankings::-webkit-scrollbar{width:8px}.game-result-modal__rankings::-webkit-scrollbar-track{background:#3341554d;border-radius:4px}.game-result-modal__rankings::-webkit-scrollbar-thumb{background:#94a3b880;border-radius:4px}.game-result-modal__rankings::-webkit-scrollbar-thumb:hover{background:#94a3b8b3}.game-match-result-modal__content{display:flex;flex-direction:column;gap:var(--result-modal-content-gap);padding:var(--result-modal-content-padding);max-height:80vh;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.game-match-result-modal__header{text-align:center;padding-bottom:16px;border-bottom:2px solid rgba(59,130,246,.2)}.game-match-result-modal__header-row{display:flex;flex-direction:var(--result-modal-header-direction);justify-content:space-between;align-items:var(--result-modal-header-align);position:sticky;top:0;background:#1e293bf2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;margin:-12px -12px 16px;padding:12px}.game-match-result-modal__title{font-size:var(--result-modal-title-size);font-weight:700;color:#fff;margin:0;letter-spacing:.5px;text-shadow:0 2px 4px rgba(0,0,0,.3);flex:1;text-align:center}.game-match-result-modal__close-button{margin-left:auto}.game-match-result-modal__winner{display:inline-flex;align-items:center;justify-content:center;gap:var(--result-modal-winner-gap);padding:var(--result-modal-winner-padding-block) var(--result-modal-winner-padding-inline);background:linear-gradient(135deg,#ffd70040,#ffc10726);border:2px solid rgba(255,215,0,.6);border-radius:12px;margin-top:8px;box-shadow:0 4px 16px #ffd70033,inset 0 1px #ffffff1a;animation:winnerPulse 2s ease-in-out infinite}@keyframes winnerPulse{0%,to{box-shadow:0 4px 16px #ffd70033,inset 0 1px #ffffff1a}50%{box-shadow:0 6px 24px #ffd70066,inset 0 1px #ffffff1a}}.game-match-result-modal__winner-label{font-size:16px;color:#fff;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.2)}.game-match-result-modal__winner-name{font-size:var(--result-modal-winner-name-size);color:gold;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.3);letter-spacing:.5px}.game-match-result-modal__winner-points{font-size:var(--result-modal-points-name-size);color:gold;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.2)}.game-match-result-modal__time-info{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;padding:var(--result-modal-time-info-padding);background:#33415566;border-radius:8px;border:1px solid rgba(59,130,246,.2)}.game-match-result-modal__time-item{display:flex;align-items:center;justify-content:center;gap:.75rem;font-size:.9rem}.game-match-result-modal__time-value{color:#e2e8f0;font-weight:600}.game-match-result-modal__sections{display:flex;flex-direction:column;gap:var(--result-modal-content-gap)}.game-match-result-modal__section{display:flex;flex-direction:column;gap:var(--result-modal-points-gap)}.game-match-result-modal__section-title{font-size:var(--result-modal-points-name-size);font-weight:700;color:#fff;margin:0;padding-bottom:12px;border-bottom:2px solid rgba(59,130,246,.4);text-shadow:0 1px 2px rgba(0,0,0,.2);letter-spacing:.3px}.game-match-result-modal__points-ranking{display:flex;flex-direction:column;gap:var(--result-modal-points-gap)}.game-match-result-modal__points-item{display:flex;align-items:center;gap:var(--result-modal-points-gap);padding:var(--result-modal-points-padding-block) var(--result-modal-points-padding-inline);border-radius:12px;background:#334155b3;border:2px solid transparent;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #00000026}.game-match-result-modal__points-item:hover{background:#334155e6;transform:translateY(-2px);box-shadow:0 4px 12px #00000040}.game-match-result-modal__points-item--winner{background:linear-gradient(135deg,#ffd70040,#ffc10726);border-color:#ffd70099;box-shadow:0 4px 16px #ffd7004d,inset 0 1px #ffffff1a}.game-match-result-modal__points-item--winner:hover{box-shadow:0 6px 20px #ffd70066,inset 0 1px #ffffff1a;transform:translateY(-3px)}.game-match-result-modal__points-item--current{border-color:#a78bfa;background:#c4b5fd33;box-shadow:0 2px 8px #c4b5fd4d}.game-match-result-modal__points-item--current:hover{background:#c4b5fd40;box-shadow:0 4px 12px #c4b5fd66}.game-match-result-modal__points-rank{font-size:var(--result-modal-points-rank-size);font-weight:700;color:#60a5fa;min-width:var(--result-modal-points-rank-min-inline);text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.2);background:#60a5fa1a;padding:var(--result-modal-points-rank-padding-block) var(--result-modal-points-rank-padding-inline);border-radius:8px;border:1px solid rgba(96,165,250,.3)}.game-match-result-modal__points-item--winner .game-match-result-modal__points-rank{color:gold;font-size:22px;background:#ffd70026;border-color:#ffd70066}.game-match-result-modal__points-info{flex:1;display:flex;flex-direction:column;gap:.75rem}.game-match-result-modal__points-name-row{display:flex;justify-content:space-between;align-items:center;gap:var(--result-modal-points-name-row-gap);flex-wrap:var(--result-modal-points-name-row-wrap)}.game-match-result-modal__stats-toggle{background:#3b82f633;color:#60a5fa;border:1px solid rgba(59,130,246,.3);border-radius:6px;padding:var(--result-modal-stats-toggle-padding-block) var(--result-modal-stats-toggle-padding-inline);font-size:var(--result-modal-stats-toggle-size);font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.game-match-result-modal__stats-toggle:hover{background:#3b82f64d;border-color:#3b82f680;transform:translateY(-1px)}.game-match-result-modal__point-changes{display:flex;flex-wrap:wrap;gap:.375rem}.game-match-result-modal__point-change{font-size:.7rem;font-weight:600;padding:.25rem .5rem;border-radius:4px;display:inline-block}.game-match-result-modal__point-change--positive{color:#10b981;background-color:#10b9811a;border:1px solid rgba(16,185,129,.2)}.game-match-result-modal__point-change--negative{color:#ef4444;background-color:#ef44441a;border:1px solid rgba(239,68,68,.2)}.game-match-result-modal__point-change--zero{color:#94a3b8;background-color:#94a3b81a;border:1px solid rgba(148,163,184,.2)}.game-match-result-modal__player-stats{display:flex;flex-direction:column;gap:var(--result-modal-player-stats-padding);padding:var(--result-modal-player-stats-padding);background:#0f172a80;border-radius:6px;border:1px solid rgba(59,130,246,.2);margin-top:.5rem}.game-match-result-modal__stat-item{display:flex;align-items:center;gap:var(--result-modal-stat-item-gap)}.game-match-result-modal__stat-label{color:#94a3b8;font-weight:500;min-width:var(--result-modal-stat-min-label)}.game-match-result-modal__stat-value{color:#e2e8f0;font-weight:600}.game-match-result-modal__rank-counts{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.game-match-result-modal__rank-count{color:#c4b5fd;font-size:.8rem;font-weight:500;padding:.25rem .5rem;background:#c4b5fd1a;border-radius:4px;border:1px solid rgba(196,181,253,.2)}.game-match-result-modal__points-name{font-size:var(--result-modal-points-name-size);font-weight:600;color:#fff;display:flex;align-items:center;gap:10px;text-shadow:0 1px 2px rgba(0,0,0,.2)}.game-match-result-modal__you-badge{font-size:12px;color:#c4b5fd;font-weight:600;padding:4px 10px;background:#c4b5fd40;border:1px solid rgba(196,181,253,.4);border-radius:6px;text-transform:uppercase;letter-spacing:.5px}.game-match-result-modal__points-value{font-size:var(--result-modal-points-value-size);font-weight:700;color:#60a5fa;text-shadow:0 1px 2px rgba(0,0,0,.2);letter-spacing:.5px;align-self:flex-start}.game-match-result-modal__points-item--winner .game-match-result-modal__points-value{color:gold;font-size:22px}.game-match-result-modal__game-results{display:flex;flex-direction:column;gap:var(--result-modal-points-gap);max-height:450px;overflow-y:auto;overflow-x:hidden;padding-right:4px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.game-match-result-modal__game-result{padding:var(--result-modal-game-result-padding);background:#1e293b99;border-radius:12px;border:1px solid rgba(59,130,246,.3);box-shadow:0 2px 8px #00000026;transition:all .2s ease}.game-match-result-modal__game-result:hover{background:#1e293bbf;border-color:#3b82f680;box-shadow:0 4px 12px #0003}.game-match-result-modal__game-result-header{width:100%;display:flex;justify-content:space-between;align-items:center;gap:var(--result-modal-game-ranking-gap);padding:var(--result-modal-game-ranking-padding-block) var(--result-modal-game-ranking-padding-inline);background:none;border:none;border-bottom:2px solid rgba(59,130,246,.3);color:#e2e8f0;cursor:pointer;text-align:left;transition:background-color .2s ease;margin-bottom:0}.game-match-result-modal__game-result-header:hover{background-color:#3b82f61a}.game-match-result-modal__expand-icon{color:#94a3b8;font-size:.75rem;margin-left:auto;transition:transform .2s ease}.game-match-result-modal__game-number{font-size:18px;font-weight:700;color:#60a5fa;text-shadow:0 1px 2px rgba(0,0,0,.2);letter-spacing:.3px}.game-match-result-modal__game-date{font-size:13px;color:#94a3b8;font-weight:500}.game-match-result-modal__game-rankings{display:flex;flex-direction:column;gap:var(--result-modal-game-ranking-gap);padding:var(--result-modal-game-ranking-padding-block) var(--result-modal-game-ranking-padding-inline);background:#0f172a4d;border-top:1px solid rgba(59,130,246,.1)}.game-match-result-modal__game-ranking{display:flex;align-items:center;flex-wrap:var(--result-modal-game-ranking-flex-wrap);gap:var(--result-modal-game-ranking-gap);padding:var(--result-modal-game-ranking-padding-block) var(--result-modal-game-ranking-padding-inline);background:#33415580;border-radius:8px;font-size:15px;border:1px solid transparent;transition:all .2s ease}.game-match-result-modal__game-ranking:hover{background:#334155b3;border-color:#3b82f633}.game-match-result-modal__game-ranking--current{background:#c4b5fd33;border:1px solid rgba(196,181,253,.4);box-shadow:0 2px 6px #c4b5fd33}.game-match-result-modal__game-rank{font-weight:700;color:#60a5fa;min-width:50px;text-align:center;font-size:16px;text-shadow:0 1px 2px rgba(0,0,0,.2)}.game-match-result-modal__game-player-name{flex:1;color:#fff;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.2)}.game-match-result-modal__game-rank-name{color:#94a3b8;min-width:80px;text-align:center;font-weight:500;font-size:14px}.game-match-result-modal__game-points{font-weight:700;color:#c4b5fd;min-width:60px;text-align:right;font-size:16px;text-shadow:0 1px 2px rgba(0,0,0,.2)}.game-match-result-modal__close-button{padding:var(--result-modal-close-padding-block) var(--result-modal-close-padding-inline);font-size:var(--result-modal-close-font-size);font-weight:600;letter-spacing:.5px;box-shadow:0 4px 12px #0003;transition:all .3s ease;white-space:nowrap}.game-match-result-modal__close-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000004d}.game-match-result-modal__content::-webkit-scrollbar,.game-match-result-modal__game-results::-webkit-scrollbar{width:10px}.game-match-result-modal__content::-webkit-scrollbar-track,.game-match-result-modal__game-results::-webkit-scrollbar-track{background:#33415566;border-radius:5px}.game-match-result-modal__content::-webkit-scrollbar-thumb,.game-match-result-modal__game-results::-webkit-scrollbar-thumb{background:#94a3b899;border-radius:5px;border:2px solid rgba(51,65,85,.4)}.game-match-result-modal__content::-webkit-scrollbar-thumb:hover,.game-match-result-modal__game-results::-webkit-scrollbar-thumb:hover{background:#94a3b8cc}.game-match-result-modal__error{padding:2rem;text-align:center;color:#e2e8f0}.game-match-result-modal__error p{margin:.5rem 0;font-size:.95rem}:root{--card-border-radius-large: calc(8px * var(--radius-scale-base, 1));--card-shadow-medium: rgba(0, 0, 0, .15);--card-border-color: #cbd5e1}.card{width:clamp(45px,calc(60px * var(--size-scale-base, 1)),75px);height:clamp(63px,calc(84px * var(--size-scale-base, 1)),105px);border-radius:var(--card-border-radius-large, 8px);box-shadow:0 calc(2px * var(--size-scale-base, 1)) calc(8px * var(--size-scale-base, 1)) var(--card-shadow-medium, rgba(0, 0, 0, .15));cursor:pointer;transition:all .2s ease,width .3s ease,height .3s ease;position:relative;background:#fff;opacity:1;-webkit-user-select:none;user-select:none;overflow:visible}.card__front,.card__back{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:var(--card-border-radius-large, 8px);display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:calc(6px * var(--spacing-scale-base, 1));box-sizing:border-box;overflow:hidden}.card__front.card-front-pattern{border:1px solid var(--card-border-color, #cbd5e1);background:#fff;opacity:1;box-shadow:none}.card__side-column{display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative}.card__side-column--left{align-self:flex-start}.card__side-column--right{align-self:flex-end}.card__side-column:not(.card__side-column--joker){position:absolute;width:auto;height:auto;z-index:1}.card__side-column--left:not(.card__side-column--joker){top:calc(6px * var(--spacing-scale-base, 1));left:calc(6px * var(--spacing-scale-base, 1))}.card__side-column--right:not(.card__side-column--joker){bottom:calc(6px * var(--spacing-scale-base, 1));right:calc(6px * var(--spacing-scale-base, 1))}.card__side-column--joker{align-items:center;justify-content:center}.card__side-column--joker.card__side-column--right{transform:rotate(180deg)}.card-rank-pattern--joker{writing-mode:vertical-rl;text-orientation:upright;white-space:normal;font-size:10px!important;font-weight:700;line-height:.7;letter-spacing:-4px;color:#1f2937}.card--small .card-rank-pattern--joker,.card--hand .card-rank-pattern--joker,.card--play .card-rank-pattern--joker{font-size:10px!important}.card__back.card-back-pattern{background:linear-gradient(135deg,#1e293b,#334155);display:flex;align-items:center;justify-content:center}.play-history-timeline__card.card--face-down .card__back.card-back-pattern{background:linear-gradient(135deg,#1e293b,#334155)}.card__back.card-back-pattern:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.1) 0px,rgba(255,255,255,.1) 2px,transparent 2px,transparent 4px);border-radius:var(--card-border-radius-large, 8px)}.card__count{position:relative;z-index:1;color:#fff;font-size:clamp(10px,calc(12px * var(--font-scale-base, 1)),14px);font-weight:700}.card__corner{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0;z-index:1}.card__corner--top-left{align-self:flex-start}.card__corner--bottom-right{align-self:flex-end;transform:rotate(180deg)}.card-corner-pattern{font-size:clamp(10px,calc(12px * var(--font-scale-base, 1)),14px);font-weight:700}.card-rank-pattern{font-size:clamp(12px,calc(14px * var(--font-scale-base, 1)),16px);font-weight:700;line-height:1;color:#1f2937;display:block;white-space:nowrap}.card-suit-pattern{font-size:clamp(10px,calc(12px * var(--font-scale-base, 1)),14px);line-height:1;display:block}.card-suit-pattern--red{color:#dc2626}.card-suit-pattern--black{color:#1f2937}.card__center{display:flex;align-items:center;justify-content:center;flex:1;overflow:hidden;min-height:0;position:relative;z-index:0}.card-suit-large-pattern{font-size:clamp(24px,calc(32px * var(--font-scale-base, 1)),40px);line-height:1;display:block;text-align:center}.card-suit-large-pattern--red{color:#dc2626}.card-suit-large-pattern--black{color:#1f2937}.card__joker-symbol{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.card__joker-symbol-svg{width:100%;height:100%;max-width:28px;max-height:28px;color:#dc2626}.card--small .card__joker-symbol-svg{max-width:20px;max-height:20px}.card--hand .card__joker-symbol-svg{max-width:24px;max-height:24px}.card--playable:hover{transform:translateY(calc(-2px * var(--size-scale-base, 1)));box-shadow:0 calc(4px * var(--size-scale-base, 1)) calc(16px * var(--size-scale-base, 1)) #00000040}.card--selected{transform:translateY(calc(-4px * var(--size-scale-base, 1)));box-shadow:0 0 0 calc(2px * var(--size-scale-base, 1)) #3b82f6}.card--disabled{opacity:1;cursor:not-allowed}.card--disabled:hover{transform:none;box-shadow:0 2px 8px var(--card-shadow-medium, rgba(0, 0, 0, .15))}.card--mini{width:clamp(22px,calc(30px * var(--size-scale-sm, 1)),38px);height:clamp(31px,calc(42px * var(--size-scale-sm, 1)),53px)}.card--mini .card__front,.card--mini .card__back{padding:0;justify-content:center;align-items:center}.card--mini .card-simple-pattern{display:flex;align-items:center;justify-content:center;gap:2px;font-weight:700;line-height:1;font-size:10px}.card--mini .card-simple-rank{font-size:clamp(8px,calc(10px * var(--font-scale-sm, 1)),12px);color:#1f2937}.card--mini .card-simple-suit{font-size:clamp(8px,calc(10px * var(--font-scale-sm, 1)),12px)}.card-simple-pattern--red .card-simple-suit{color:#dc2626}.card-simple-pattern--black .card-simple-suit{color:#1f2937}.card--mini .card__corner,.card--mini .card-suit-large-pattern{display:none}.card--small{width:clamp(38px,calc(50px * var(--size-scale-sm, 1)),62px);height:clamp(53px,calc(70px * var(--size-scale-sm, 1)),87px)}.card--small .card-rank-pattern{font-size:clamp(8px,calc(10px * var(--font-scale-sm, 1)),12px);color:#1f2937}.card--small .card-suit-pattern{font-size:clamp(6px,calc(8px * var(--font-scale-sm, 1)),10px)}.card--small .card-suit-large-pattern{font-size:clamp(16px,calc(20px * var(--font-scale-sm, 1)),24px)}.card--small .card-corner-pattern{font-size:clamp(8px,calc(10px * var(--font-scale-sm, 1)),12px)}.card--hand{width:var(--card-hand-width);height:var(--card-hand-height)}.card--hand .card-rank-pattern{font-size:clamp(11px,calc(13px * var(--font-scale-base, 1)),15px);color:#1f2937}.card--hand .card-suit-pattern{font-size:clamp(9px,calc(11px * var(--font-scale-base, 1)),13px)}.card--hand .card-suit-large-pattern{font-size:clamp(21px,calc(26px * var(--font-scale-base, 1)),31px)}.card--hand .card-corner-pattern{font-size:clamp(11px,calc(13px * var(--font-scale-base, 1)),15px)}.card--play{width:var( --played-cards-card-base-width, clamp(78px, calc(104px * var(--size-scale-base, 1)), 130px) );height:var( --played-cards-card-base-height, clamp(110px, calc(146px * var(--size-scale-base, 1)), 182px) )}.card--play .card-rank-pattern{font-size:clamp(14px,calc(17px * var(--font-scale-base, 1)),21px);color:#1f2937}.card--play .card-suit-pattern{font-size:clamp(11px,calc(13px * var(--font-scale-base, 1)),17px)}.card--play .card-suit-large-pattern{font-size:clamp(18px,calc(22px * var(--font-scale-base, 1)),28px)}.card--play .card-corner-pattern{font-size:clamp(14px,calc(17px * var(--font-scale-base, 1)),21px)}.card--play .card__joker-symbol-svg{max-width:40px;max-height:40px}.card--display{cursor:default;opacity:1;pointer-events:none}.card--display:hover{transform:none!important;box-shadow:0 2px 8px var(--card-shadow-medium, rgba(0, 0, 0, .15))!important}.hand{padding:0;min-height:var(--hand-card-min-height);display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;color:#1e293b;overflow:visible;background:transparent;border-radius:0;position:relative;width:100%;margin-top:0;transition:min-height .3s ease}.hand__declared-ranks-bar{width:100%;padding:var(--hand-declared-bar-padding-block) var(--hand-declared-bar-padding-inline);background:#1e293b;border-radius:var(--hand-declared-bar-radius);margin-bottom:var(--hand-declared-bar-margin-bottom);border:calc(1px * var(--border-scale-base, 1)) solid #334155}.hand__declared-ranks-bar__face-choice{display:flex;gap:var(--hand-face-button-gap);margin-bottom:calc(8px * var(--spacing-scale-base, 1));padding-bottom:calc(8px * var(--spacing-scale-base, 1));border-bottom:calc(1px * var(--border-scale-base, 1)) solid #334155}.hand__declared-ranks-bar__face-button{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--hand-face-button-gap);background:#334155;border:calc(1px * var(--border-scale-base, 1)) solid #475569;border-radius:calc(4px * var(--radius-scale-base, 1));color:#e2e8f0;font-size:var(--hand-face-button-font-size);font-weight:600;padding:var(--hand-face-button-padding-block) var(--hand-face-button-padding-inline);cursor:pointer;transition:all .2s ease,padding .3s ease,font-size .3s ease}.hand__declared-ranks-bar__face-button:hover:not(:disabled){background:#475569;border-color:#64748b;transform:translateY(calc(-1px * var(--size-scale-base, 1)))}.hand__declared-ranks-bar__face-button:disabled{opacity:.5;cursor:not-allowed}.hand__declared-ranks-bar__face-button--active{background:#3b82f6;border-color:#3b82f6;color:#fff}.hand__declared-ranks-bar__face-button--active:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.hand__declared-ranks-bar__face-icon{font-size:clamp(14px,calc(16px * var(--font-scale-base, 1)),18px);line-height:1}.hand__declared-ranks-bar__title{font-size:var(--hand-face-title-size);font-weight:600;color:#e2e8f0;margin-bottom:calc(6px * var(--spacing-scale-base, 1))}.hand__declared-ranks-bar__items{display:flex;flex-wrap:wrap;gap:calc(8px * var(--spacing-scale-base, 1));align-items:center}.hand__declared-ranks-bar__item{display:flex;align-items:center;gap:calc(6px * var(--spacing-scale-base, 1))}.hand__declared-ranks-bar__card-info{font-size:clamp(10px,calc(12px * var(--font-scale-base, 1)),14px);font-weight:600;color:#94a3b8;min-width:clamp(20px,calc(24px * var(--size-scale-base, 1)),28px)}.hand__declared-ranks-bar__rank-button{background:#334155;border:calc(1px * var(--border-scale-base, 1)) solid #475569;border-radius:calc(4px * var(--radius-scale-base, 1));color:#e2e8f0;font-size:var(--hand-rank-button-font-size);font-weight:600;padding:var(--hand-rank-button-padding-block) var(--hand-rank-button-padding-inline);min-width:var(--hand-rank-button-min-inline);cursor:pointer;transition:all .2s ease,padding .3s ease,font-size .3s ease;white-space:nowrap}.hand__declared-ranks-bar__rank-button:hover{background:#475569;border-color:#64748b;transform:translateY(calc(-1px * var(--size-scale-base, 1)))}.hand__declared-ranks-bar__rank-button--set{background:#3b82f6;border-color:#3b82f6;color:#fff}.hand__declared-ranks-bar__rank-button--set:hover{background:#2563eb;border-color:#2563eb}.hand__cards:not(:hover)::-webkit-scrollbar{opacity:.3;transition:opacity .3s ease}.hand__cards:hover::-webkit-scrollbar{opacity:1}.hand__cards{display:flex;align-items:flex-start;justify-content:flex-start;padding:var(--hand-cards-padding-block-start) var(--hand-cards-padding-inline) var(--hand-cards-padding-block-end) var(--hand-cards-padding-inline);overflow-x:auto;overflow-y:visible;min-height:var(--hand-card-min-height);margin-top:0;gap:var(--hand-card-stack-gap-inline);scrollbar-width:thin;scrollbar-color:#64748b #1e293b;width:100%;box-sizing:border-box;position:relative;background-color:#67341e00;transition:padding .3s ease,min-height .3s ease,overflow-x .3s ease}.hand__cards--no-scroll{overflow-x:hidden;justify-content:center}.hand__cards--overlapping{gap:0}.hand__cards::-webkit-scrollbar{height:var(--hand-cards-scrollbar-height)}.hand__cards::-webkit-scrollbar-track{background:#1e293b;border-radius:calc(3px * var(--radius-scale-base, 1))}.hand__cards::-webkit-scrollbar-thumb{background:#64748b;border-radius:calc(3px * var(--radius-scale-base, 1))}.hand__cards::-webkit-scrollbar-thumb:hover{background:#94a3b8}.hand__card-wrapper{display:flex;flex-direction:column;align-items:center;position:relative;flex-shrink:0;margin-top:0;margin-left:var( --card-margin-left, 0 );z-index:1;transition:margin-left .2s ease,z-index .2s ease}.hand__card-wrapper:hover{z-index:10}.hand__card-wrapper:has(.hand__card.card--selected){z-index:20}.hand__card-wrapper:has(.hand__revealed-label){z-index:1}.hand__card-wrapper:has(.hand__revealed-label):hover{z-index:10}.hand__card-controls{position:absolute;top:calc(-18px * var(--spacing-scale-base, 1));left:50%;transform:translate(-50%);display:flex;gap:calc(4px * var(--spacing-scale-sm, 1));z-index:20;align-items:center}.hand__face-toggle{background:#334155;border:calc(1px * var(--border-scale-base, 1)) solid #475569;border-radius:calc(4px * var(--radius-scale-base, 1));color:#e2e8f0;font-size:var(--hand-face-toggle-font-size);width:var(--hand-face-toggle-size);height:var(--hand-face-toggle-size);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease,width .3s ease,height .3s ease;padding:0;line-height:1}.hand__face-toggle:hover:not(:disabled){background:#475569;border-color:#64748b;transform:scale(1.1)}.hand__face-toggle:disabled{opacity:.5;cursor:not-allowed}.hand__face-toggle--face-up{background:#3b82f6;border-color:#3b82f6;color:#fff}.hand__face-toggle--face-up:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.hand__face-toggle--face-down{background:#64748b;border-color:#64748b}.hand__face-toggle--face-down:hover:not(:disabled){background:#475569;border-color:#64748b}.hand__declared-rank-toggle{background:#334155;border:calc(1px * var(--border-scale-base, 1)) solid #475569;border-radius:calc(4px * var(--radius-scale-base, 1));color:#e2e8f0;font-size:var(--hand-declared-toggle-font-size);font-weight:600;padding:var(--hand-declared-toggle-padding-block) var(--hand-declared-toggle-padding-inline);min-width:var(--hand-declared-toggle-min-inline);cursor:pointer;transition:all .2s ease,padding .3s ease,font-size .3s ease;white-space:nowrap}.hand__declared-rank-toggle:hover{background:#475569;border-color:#64748b;transform:scale(1.05)}.hand__declared-rank-toggle--set{background:#3b82f6;border-color:#3b82f6;color:#fff}.hand__declared-rank-toggle--set:hover{background:#2563eb;border-color:#2563eb}.hand__declared-rank-label{position:absolute;top:calc(-20px * var(--spacing-scale-base, 1));left:50%;transform:translate(-50%);background:#3b82f6;color:#fff;padding:calc(2px * var(--spacing-scale-sm, 1)) calc(6px * var(--spacing-scale-base, 1));border-radius:calc(4px * var(--radius-scale-base, 1));font-size:clamp(9px,calc(11px * var(--font-scale-base, 1)),13px);font-weight:600;white-space:nowrap;z-index:10;box-shadow:0 calc(2px * var(--size-scale-base, 1)) calc(4px * var(--size-scale-base, 1)) #0003;pointer-events:none}.hand__revealed-label{position:absolute;bottom:calc(6px * var(--spacing-scale-base, 1));left:50%;transform:translate(-50%);background:#10b981f2;color:#fff;padding:calc(2px * var(--spacing-scale-sm, 1)) calc(6px * var(--spacing-scale-base, 1));border-radius:calc(3px * var(--radius-scale-base, 1));font-size:clamp(8px,calc(9px * var(--font-scale-sm, 1)),11px);font-weight:600;white-space:nowrap;z-index:100;box-shadow:0 calc(2px * var(--size-scale-base, 1)) calc(6px * var(--size-scale-base, 1)) #0006;pointer-events:none;transition:transform .2s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;gap:calc(3px * var(--spacing-scale-sm, 1));border:calc(1px * var(--border-scale-base, 1)) solid rgba(255,255,255,.3);max-width:calc(100% - calc(12px * var(--spacing-scale-base, 1)));box-sizing:border-box}.hand__card-wrapper:hover .hand__revealed-label{transform:translate(-50%) translateY(-5px)}.hand__card-wrapper:has(.hand__card.card--selected) .hand__revealed-label{transform:translate(-50%) translateY(-10px)}.hand__card{transition:all .2s ease;position:relative;z-index:1;transform:translateY(0);flex-shrink:0;width:var(--card-hand-width);max-width:var(--card-hand-width);height:var(--card-hand-height);margin-top:0}.hand__card-wrapper:hover .hand__card{transform:translateY(var(--hand-card-hover-offset))}.hand__card-wrapper .hand__card.card--selected{transform:translateY(var(--hand-card-selected-offset));box-shadow:0 0 0 2px #3b82f6,0 8px 24px #3b82f680}.hand__card-wrapper:hover .hand__card.card--selected{transform:translateY(var(--hand-card-selected-offset))}.card-exchange-modal{padding:1rem}.card-exchange-modal__description{margin-bottom:1.5rem;padding:1rem;background-color:#3b82f61a;border-radius:8px;border:1px solid rgba(59,130,246,.3)}.card-exchange-modal__description p{margin:0;color:#e2e8f0;font-size:.95rem}.card-exchange-modal__exchange{margin-bottom:2rem;padding:1.5rem;background-color:#1e293b80;border-radius:8px;border:1px solid rgba(59,130,246,.2)}.card-exchange-modal__exchange:last-child{margin-bottom:0}.card-exchange-modal__exchange-header{margin-bottom:1rem}.card-exchange-modal__exchange-header h3{margin:0 0 .5rem;color:#fff;font-size:1.1rem;font-weight:600}.card-exchange-modal__exchange-target{margin:0;color:#94a3b8;font-size:.9rem}.card-exchange-modal__exchange-content{display:flex;flex-direction:column;gap:1rem}.card-exchange-modal__hand-area{min-height:150px}.card-exchange-modal__selected-cards{padding:1rem;background-color:#22c55e1a;border-radius:8px;border:1px solid rgba(34,197,94,.3)}.card-exchange-modal__selected-cards h4{margin:0 0 .5rem;color:#86efac;font-size:.95rem;font-weight:600}.card-exchange-modal__selected-cards-list{display:flex;gap:.5rem;flex-wrap:wrap}.card-exchange-modal__recommendation{padding:1rem;background-color:#fbbf241a;border-radius:8px;border:1px solid rgba(251,191,36,.3)}.card-exchange-modal__recommendation p{margin:0 0 .5rem;color:#fde047;font-size:.9rem}.card-exchange-modal__recommended-cards{display:flex;gap:.5rem;flex-wrap:wrap}.card-exchange-modal__actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem}.game-match-progress{padding:var(--match-progress-padding);background-color:var(--match-progress-panel-bg);border-radius:var(--match-progress-radius);border:1px solid var(--match-progress-border-color)}.game-match-progress__header{display:flex;flex-direction:column;gap:var(--match-progress-header-gap);margin-bottom:var(--match-progress-header-margin-bottom);padding-bottom:var(--match-progress-header-padding-bottom);border-bottom:1px solid rgba(59,130,246,.2)}.game-match-progress__header-top{display:flex;justify-content:space-between;align-items:center}.game-match-progress__header h3{margin:0;color:#fff;font-size:var(--match-progress-title-size);font-weight:600}.game-match-progress__game-count{color:#94a3b8;font-size:var(--match-progress-subtitle-size);font-weight:500}.game-match-progress__start-time{color:#64748b;font-size:var(--match-progress-meta-size);font-weight:400}.game-match-progress__content{display:flex;flex-direction:column;gap:var(--match-progress-content-gap)}.game-match-progress__points h4{margin:0 0 var(--match-progress-section-title-margin-end) 0;color:#e2e8f0;font-size:var(--match-progress-section-title-size);font-weight:600}.game-match-progress__points-list{display:flex;flex-direction:column;gap:var(--match-progress-list-gap)}.game-match-progress__points-item{display:flex;align-items:center;flex-wrap:var(--match-progress-points-item-flex-wrap);gap:var(--match-progress-card-gap);padding:var(--match-progress-card-padding);background-color:#0f172a80;border-radius:var(--match-progress-card-radius);border:1px solid rgba(59,130,246,.1);transition:all .2s ease}.game-match-progress__points-item:hover{background-color:#0f172ab3;border-color:#3b82f64d}.game-match-progress__points-item--current{background-color:#3b82f626;border-color:#3b82f666;box-shadow:0 0 8px #3b82f633}.game-match-progress__points-rank{min-width:var(--match-progress-rank-min-inline);color:#fbbf24;font-weight:600;font-size:var(--match-progress-subtitle-size);display:flex;align-items:center;gap:var(--space-2xs)}.game-match-progress__rank-change{font-size:var(--match-progress-tag-font-size);font-weight:600;padding:var(--match-progress-tag-padding-block) var(--match-progress-tag-padding-inline);border-radius:var(--match-progress-tag-radius);display:inline-flex;align-items:center;gap:calc(var(--space-2xs) / 2)}.game-match-progress__rank-change--up{color:#10b981;background-color:#10b9811a}.game-match-progress__rank-change--down{color:#ef4444;background-color:#ef44441a}.game-match-progress__rank-change--same{color:#94a3b8;background-color:#94a3b81a}.game-match-progress__points-info{flex:1;display:flex;flex-direction:column;gap:var(--space-2xs)}.game-match-progress__points-name{color:#e2e8f0;font-size:var(--match-progress-subtitle-size);display:flex;align-items:center;gap:var(--space-xs)}.game-match-progress__you-badge{background-color:#3b82f633;color:#60a5fa;font-size:var(--match-progress-tag-font-size);font-weight:600;padding:var(--match-progress-tag-padding-block) var(--match-progress-tag-padding-inline);border-radius:var(--match-progress-tag-radius);border:1px solid rgba(59,130,246,.3)}.game-match-progress__points-value{color:#94a3b8;font-size:var(--match-progress-meta-size);font-weight:500}.game-match-progress__point-changes{display:flex;flex-wrap:wrap;gap:var(--match-progress-point-change-gap);margin-top:var(--match-progress-point-change-gap)}.game-match-progress__point-change{font-size:var(--match-progress-tag-font-size);font-weight:600;padding:var(--match-progress-point-change-padding-block) var(--match-progress-point-change-padding-inline);border-radius:var(--match-progress-tag-radius);display:inline-block}.game-match-progress__point-change--positive{color:#10b981;background-color:#10b9811a}.game-match-progress__point-change--negative{color:#ef4444;background-color:#ef44441a}.game-match-progress__point-change--zero{color:#94a3b8;background-color:#94a3b81a}.game-match-progress__points-previous-rank{color:#64748b;font-size:var(--match-progress-caption-size);margin-left:var(--match-progress-previous-rank-margin-left);margin-top:var(--match-progress-previous-rank-margin-top);width:var(--match-progress-previous-rank-width)}.game-match-progress__game-results{margin-top:var(--match-progress-results-margin-top)}.game-match-progress__game-results h4{margin:0 0 var(--match-progress-section-title-margin-end) 0;color:#e2e8f0;font-size:var(--match-progress-section-title-size);font-weight:600}.game-match-progress__game-results-list{display:flex;flex-direction:column;gap:var(--match-progress-result-gap)}.game-match-progress__game-result{background-color:#0f172a80;border-radius:var(--match-progress-card-radius);border:1px solid rgba(59,130,246,.1);overflow:hidden;transition:all .2s ease}.game-match-progress__game-result--current{border-color:#3b82f666;box-shadow:0 0 8px #3b82f633}.game-match-progress__game-result-header{width:100%;display:flex;align-items:center;justify-content:space-between;flex-wrap:var(--match-progress-game-result-header-flex-wrap);gap:var(--match-progress-result-header-gap);padding:var(--match-progress-card-padding);background:none;border:none;color:#e2e8f0;cursor:pointer;text-align:left;transition:background-color .2s ease}.game-match-progress__game-result-header:hover{background-color:#3b82f61a}.game-match-progress__game-result-header:not(button){cursor:default}.game-match-progress__game-result-header:not(button):hover{background-color:transparent}.game-match-progress__game-number{font-weight:600;font-size:var(--match-progress-subtitle-size);color:#fff}.game-match-progress__current-badge{background-color:#3b82f633;color:#60a5fa;font-size:var(--match-progress-tag-font-size);font-weight:600;padding:var(--match-progress-tag-padding-block) var(--match-progress-tag-padding-inline);border-radius:var(--match-progress-tag-radius);border:1px solid rgba(59,130,246,.3)}.game-match-progress__game-date{color:#94a3b8;font-size:var(--match-progress-meta-size);margin-left:var(--match-progress-game-date-margin-left);width:var(--match-progress-game-date-width)}.game-match-progress__expand-icon{color:#94a3b8;font-size:var(--match-progress-caption-size);margin-left:var(--space-xs);transition:transform .2s ease}.game-match-progress__game-rankings{padding:var(--match-progress-result-padding);background-color:#0f172a4d;border-top:1px solid rgba(59,130,246,.1);display:flex;flex-direction:column;gap:var(--match-progress-result-gap)}.game-match-progress__game-ranking{display:flex;align-items:center;flex-wrap:var(--match-progress-game-ranking-flex-wrap);gap:var(--match-progress-ranking-gap);padding:var(--match-progress-ranking-padding);background-color:#0f172a4d;border-radius:var(--match-progress-tag-radius);border:1px solid rgba(59,130,246,.05);transition:all .2s ease}.game-match-progress__game-ranking:hover{background-color:#0f172a80}.game-match-progress__game-ranking--current{background-color:#3b82f61a;border-color:#3b82f64d}.game-match-progress__game-rank{min-width:var(--match-progress-rank-min-inline);color:#fbbf24;font-weight:600;font-size:var(--match-progress-meta-size)}.game-match-progress__game-player-name{flex:1;color:#e2e8f0;font-size:var(--match-progress-meta-size);display:flex;align-items:center;gap:var(--space-xs)}.game-match-progress__you-badge-small{background-color:#3b82f633;color:#60a5fa;font-size:var(--match-progress-caption-size);font-weight:600;padding:calc(var(--match-progress-tag-padding-block) * .8) calc(var(--match-progress-tag-padding-inline) * .75);border-radius:var(--match-progress-tag-radius);border:1px solid rgba(59,130,246,.3)}.game-match-progress__game-rank-name{color:#94a3b8;font-size:var(--match-progress-caption-size);min-width:var(--match-progress-ranking-min-inline);text-align:var(--match-progress-ranking-name-align)}.game-match-progress__game-points{color:#94a3b8;font-size:var(--match-progress-caption-size);font-weight:500;min-width:var(--match-progress-ranking-point-min-inline);text-align:var(--match-progress-ranking-point-align)}.game-match-progress__game-progress-info{color:#94a3b8;font-size:var(--match-progress-caption-size);margin-left:auto;margin-right:var(--space-xs)}.game-match-progress__game-section-title{color:#e2e8f0;font-size:var(--match-progress-caption-size);font-weight:600;margin-top:var(--match-progress-section-title-margin-start);margin-bottom:var(--match-progress-section-title-margin-end);padding:var(--match-progress-section-title-padding-block) 0;border-bottom:1px solid rgba(59,130,246,.2)}.game-match-progress__game-section-divider{height:1px;background-color:#3b82f61a;margin:var(--match-progress-divider-margin-block) 0}.game-match-progress__game-status{color:#10b981;font-size:var(--match-progress-tag-font-size);font-weight:600;padding:var(--match-progress-status-padding-block) var(--match-progress-status-padding-inline);border-radius:var(--match-progress-status-radius);background-color:#10b9811a;border:1px solid rgba(16,185,129,.2)}.game-match-progress__game-hand-count{color:#94a3b8;font-size:var(--match-progress-caption-size);font-weight:400;margin-left:auto}.game-match-progress__game-status-message{padding:var(--match-progress-result-padding);text-align:center;color:#94a3b8;font-size:var(--match-progress-meta-size);font-style:italic}.game-page{height:100vh;max-height:100vh;width:100%;max-width:100vw;min-width:var(--game-page-min-inline);background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;transition:background .3s ease;position:relative}body.revolution .game-page{background:#4a1f1f}.game-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--game-state-gap)}.loading-spinner{width:clamp(40px,calc(50px * var(--size-scale-base, 1)),60px);height:clamp(40px,calc(50px * var(--size-scale-base, 1)),60px);border:calc(4px * var(--border-scale-base, 1)) solid #334155;border-top:calc(4px * var(--border-scale-base, 1)) solid #60a5fa;border-radius:50%;animation:spin 1s linear infinite;transition:width .3s ease,height .3s ease}.game-loading p{font-size:var(--game-state-text-size);color:#e2e8f0;transition:font-size .3s ease}.game-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--game-state-gap);padding:var(--game-state-padding)}.error-title{font-size:var(--game-state-title-size);font-weight:600;color:#fca5a5;margin:0;transition:font-size .3s ease}.game-error p{font-size:var(--game-state-text-size);color:#e2e8f0;text-align:center;max-width:var(--game-state-message-max);margin:0;transition:font-size .3s ease,max-width .3s ease}.error-actions{display:flex;gap:calc(12px * var(--spacing-scale-base, 1));margin-top:var(--game-state-gap)}.retry-button{background:#3b82f6;color:#fff;border:none;padding:var(--game-state-button-padding-block) var(--game-state-button-padding-inline);border-radius:var(--game-state-button-radius);cursor:pointer;font-size:var(--game-state-button-font-size);font-weight:500;transition:background .2s ease,padding .3s ease,font-size .3s ease;min-height:var(--game-state-button-min-height)}.retry-button:hover{background:#2563eb}.back-button{background:#6b7280;color:#fff;border:none;padding:var(--game-state-button-padding-block) var(--game-state-button-padding-inline);border-radius:var(--game-state-button-radius);cursor:pointer;font-size:var(--game-state-button-font-size);font-weight:500;transition:background .2s ease,padding .3s ease,font-size .3s ease;min-height:var(--game-state-button-min-height)}.back-button:hover{background:#4b5563}.game-ended{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--game-state-gap);padding:var(--game-state-padding)}.game-ended-title{font-size:var(--game-state-title-size);font-weight:600;color:#c4b5fd;margin:0;transition:font-size .3s ease}.game-ended-message{font-size:var(--game-state-text-size);color:#e2e8f0;text-align:center;max-width:var(--game-state-message-max);margin:0;transition:font-size .3s ease,max-width .3s ease}.game-ended-countdown{font-size:var(--game-state-subtext-size);color:#94a3b8;text-align:center;margin-top:calc(10px * var(--spacing-scale-base, 1));transition:font-size .3s ease}.game-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--game-state-gap);padding:var(--game-state-padding)}.game-not-found p{font-size:var(--game-state-text-size);color:#e2e8f0;text-align:center;transition:font-size .3s ease}.player-info-panel-wrapper{position:fixed;z-index:1000;pointer-events:none}.player-info-panel{position:relative;background:#1e293bf2;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:8px 12px;min-width:140px;box-shadow:0 4px 12px #0000004d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;animation:fadeIn .2s ease-out}.player-info-panel__header{border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:6px;margin-bottom:8px}.player-info-panel__name{font-size:12px;font-weight:600;color:#f8fafc}.player-info-panel__content{display:flex;flex-direction:column;gap:6px}.player-info-panel__item{display:flex;justify-content:space-between;align-items:center;gap:8px}.player-info-panel__label{display:flex;align-items:center;gap:4px;font-size:10px;color:#94a3b8}.player-info-panel__value{font-size:11px;font-weight:600;color:#f8fafc}.player-info-panel__mini-card{display:flex;align-items:center;justify-content:center;flex-shrink:0}.player-info-panel__mini-card-back{position:relative;width:14px;height:20px;border-radius:2px;background:linear-gradient(135deg,#1e293b,#334155);border:1px solid rgba(255,255,255,.1);box-shadow:0 1px 2px #0000001a}.player-info-panel__mini-card-back:before{content:"";position:absolute;top:1px;left:1px;right:1px;bottom:1px;border-radius:1px;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.15) 0px,rgba(255,255,255,.15) 1px,transparent 1px,transparent 3px)}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.game-player-card{display:flex;flex-direction:row;align-items:center;padding:var(--player-card-padding, 2px);background:#ffffff0d;border:1px solid transparent;border-radius:var(--card-border-radius-large, 8px);transition:all .2s ease;position:relative;overflow:hidden;width:100%;box-sizing:border-box;white-space:nowrap;z-index:1;min-height:var(--player-card-min-height, 28px);gap:var(--player-card-gap, 2px)}.game-player-card:hover{border-color:#fff6}.game-player-card--me{border-color:#3b82f699;background:#3b82f61a}.game-player-card__row{display:flex;align-items:center;gap:6px;flex:1;white-space:nowrap;overflow:hidden}.game-player-card__avatar{overflow:visible;position:relative;z-index:10;margin-top:2px;margin-bottom:2px}.game-player-card__row--first{justify-content:flex-start;flex:1;overflow:visible}.game-player-card__row--second{justify-content:flex-end;flex-shrink:0}.game-player-name{font-size:var(--player-card-name-size, 10px);font-weight:500;color:#f8fafc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.game-doubt-tickets{display:flex;align-items:center;gap:3px;font-weight:600;font-size:var(--player-card-doubt-size, 11px);color:#fbbf24;white-space:nowrap;flex-shrink:0;min-width:0}.game-mini-card-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:4px}.game-mini-card-back-pattern{position:relative;width:var(--mini-card-width, 14px);height:var(--mini-card-height, 20px);border-radius:var(--card-border-radius-small, 2px);background:linear-gradient(135deg,#1e293b,#334155);border:1px solid rgba(255,255,255,.1);box-shadow:0 1px 2px #0000001a;display:flex;align-items:center;justify-content:center;overflow:hidden}.game-mini-card-back-pattern:before{content:"";position:absolute;top:1px;left:1px;right:1px;bottom:1px;border-radius:calc(var(--card-border-radius-small, 2px) - 1px);background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.15) 0px,rgba(255,255,255,.15) 1px,transparent 1px,transparent 3px);opacity:.6}.game-mini-card-count{position:relative;z-index:1;font-size:var(--player-card-mini-count-size, 10px);font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8);line-height:1;white-space:nowrap}.game-player-list{color:#fff;background:#1e293b;border-radius:8px;padding:var(--player-list-padding);height:100%;display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden;box-sizing:border-box}.game-player-list__header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:var(--player-list-header-margin-bottom);flex-shrink:0}.game-player-list__title{font-size:var(--player-list-title-size);font-weight:600;color:#f8fafc;margin:0}.game-player-list__content{display:flex;flex-direction:column;gap:var(--player-list-content-gap);overflow-y:auto;overflow-x:hidden;flex:1 1 0;min-height:0;justify-content:flex-start;align-items:stretch;scrollbar-width:thin;scrollbar-color:rgba(107,114,128,.5) rgba(30,41,59,.3);scroll-behavior:smooth}.game-player-list__content::-webkit-scrollbar{width:var(--player-list-scrollbar-width)}.game-player-list__content::-webkit-scrollbar-track{background:#1e293b4d;border-radius:3px}.game-player-list__content::-webkit-scrollbar-thumb{background:#6b728080;border-radius:3px;transition:background .2s ease}.game-player-list__content::-webkit-scrollbar-thumb:hover{background:#6b7280b3}.game-player-list__content::-webkit-scrollbar-thumb:active{background:#6b7280e6}.game-player-row{display:grid;grid-template-columns:var(--player-list-indicator-column) 1fr;grid-template-areas:"indicator card";align-items:center;min-height:var(--player-list-row-min-height);flex-shrink:0}.game-player-row__indicator{grid-area:indicator;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:var(--player-list-row-min-height)}.game-player-row__card{grid-area:card;width:100%}.turn-indicator{display:flex;align-items:center;justify-content:center;width:var(--player-list-indicator-size);height:var(--player-list-indicator-size);border-radius:50%;background:#fbbf2433;border:1px solid rgba(251,191,36,.5)}.turn-indicator svg{color:#fbbf24}.play-indicator{display:flex;align-items:center;justify-content:center;width:var(--player-list-indicator-size);height:var(--player-list-indicator-size);border-radius:50%;background:#4ade8033;border:1px solid rgba(74,222,128,.5)}.play-indicator svg{color:#4ade80}.pass-indicator{display:flex;align-items:center;justify-content:center;width:var(--player-list-indicator-size);height:var(--player-list-indicator-size);border-radius:50%;background:#94a3b833;border:1px solid rgba(148,163,184,.5)}.pass-indicator svg{color:#94a3b8}.through-indicator{display:flex;align-items:center;justify-content:center;width:var(--player-list-indicator-size);height:var(--player-list-indicator-size);border-radius:50%;background:#60a5fa33;border:1px solid rgba(96,165,250,.5)}.through-indicator svg{color:#60a5fa}.four-stop-indicator{display:flex;align-items:center;justify-content:center;width:var(--player-list-indicator-size);height:var(--player-list-indicator-size);border-radius:50%;background:#f59e0b33;border:1px solid rgba(245,158,11,.5)}.four-stop-indicator svg{color:#f59e0b}.doubt-indicator{display:flex;align-items:center;justify-content:center;width:var(--player-list-indicator-size);height:var(--player-list-indicator-size);border-radius:50%;background:#ef444433;border:1px solid rgba(239,68,68,.5)}.doubt-indicator svg{color:#ef4444}.play-history-timeline{display:flex;flex-direction:column;gap:0;padding:var(--play-history-padding);background:transparent;border-radius:0;border:none;width:100%;height:100%;min-height:fit-content;max-height:100%;overflow:hidden;box-sizing:border-box}.play-history-timeline__header{display:flex;align-items:center;padding:0;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.05)}.play-history-timeline__title{font-size:var(--play-history-title-size);font-weight:600;color:var(--play-history-title-color);letter-spacing:.3px;text-transform:uppercase}.play-history-timeline__container{flex:1 1 auto;min-height:0;max-height:100%;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(107,114,128,.4) rgba(30,41,59,.2);-webkit-overflow-scrolling:touch;box-sizing:border-box;padding:var(--play-history-padding)}.play-history-timeline__container::-webkit-scrollbar{width:6px;height:auto}.play-history-timeline__container::-webkit-scrollbar-track{background:#1e293b33;border-radius:3px}.play-history-timeline__container::-webkit-scrollbar-thumb{background:#6b728066;border-radius:3px;transition:background .2s ease}.play-history-timeline__container::-webkit-scrollbar-thumb:hover{background:#6b728099}.play-history-timeline__content{display:flex;flex-direction:column;gap:calc(var(--play-history-gap) * .5);width:100%;min-height:min-content;box-sizing:border-box}.play-history-timeline__item{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--play-history-card-gap);padding-block:calc(var(--play-history-item-padding-block) * .55);padding-inline:calc(var(--play-history-item-padding-inline) * .75);background:var(--play-history-item-background);border-radius:var(--play-history-item-radius);border:1px solid var(--play-history-item-border-color);box-shadow:var(--play-history-item-shadow);transition:all .2s cubic-bezier(.4,0,.2,1);flex-shrink:0;width:100%;min-height:0;box-sizing:border-box;cursor:default;position:relative}.play-history-timeline__item--latest{border-color:var(--play-history-latest-border-color);background:var(--play-history-latest-background);box-shadow:var(--play-history-latest-shadow)}.play-history-timeline__card-wrapper{display:flex;align-items:center;justify-content:center;position:relative;flex:1 1 auto;min-height:0;flex-shrink:1;overflow:visible;gap:var(--play-history-card-gap);flex-wrap:wrap;width:100%}.play-history-timeline__mini-card{transition:transform .2s cubic-bezier(.4,0,.2,1);flex-shrink:0;will-change:transform;position:relative;display:flex;align-items:center;justify-content:center}.play-history-timeline__declared-rank-on-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:clamp(8px,calc(9px * var(--font-scale-base, 1)),10px);font-weight:700;line-height:1;color:#1f2937;background:#fff;padding:2px 4px;border-radius:3px;z-index:10;white-space:nowrap;display:block;box-shadow:0 1px 3px #0000004d;pointer-events:none}.play-history-timeline__joker-label-on-card{position:absolute;top:30%;left:50%;transform:translate(-50%,-50%);font-size:clamp(8px,calc(9px * var(--font-scale-base, 1)),10px);font-weight:700;line-height:1;color:#1f2937;background:#fff;padding:2px 4px;border-radius:3px;z-index:11;white-space:nowrap;display:block;box-shadow:0 1px 3px #0000004d;pointer-events:none}.play-history-timeline__declared-rank-on-card--joker{writing-mode:vertical-rl!important;text-orientation:upright!important;white-space:normal!important;font-size:clamp(7px,calc(8px * var(--font-scale-base, 1)),9px)!important;font-weight:700!important;line-height:.85!important;letter-spacing:-3px!important;padding-block:1px!important;padding-inline:2px!important;display:inline-block!important;transform:translate(-50%,-50%)!important;color:#1f2937!important;text-align:center!important;vertical-align:middle!important;box-sizing:border-box!important;margin:0!important}.play-history-timeline__more-cards{position:absolute;right:-10px;top:50%;transform:translateY(-50%);font-size:clamp(6px,calc(7px * var(--font-scale-base, 1)),8px);font-weight:600;color:#e2e8f0;background:#000000bf;padding:1px 3px;border-radius:2px;z-index:10;border:1px solid rgba(255,255,255,.1);white-space:nowrap}.play-history-timeline__info{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--play-history-info-gap);flex:0 0 auto;min-width:0;overflow:hidden;padding-top:0;margin-top:var(--play-history-info-gap)}.play-history-timeline__player-name{font-size:clamp(8px,calc(9px * var(--font-scale-base, 1)),11px);font-weight:600;color:var(--play-history-player-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;line-height:1.2;letter-spacing:.1px;text-align:center;padding:0;box-sizing:border-box}.play-history-timeline__declared-rank{font-size:clamp(6px,calc(7px * var(--font-scale-base, 1)),8px);color:#fbbf24;font-weight:600;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;line-height:1.2;letter-spacing:.1px}.play-history-timeline__item--pass{opacity:.7}.play-history-timeline__pass-icon{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:100%;min-height:40px;flex-shrink:0;background:var(--play-history-pass-background);border-radius:4px;border:1px dashed var(--play-history-pass-border-color)}.play-history-timeline__pass-text{font-size:clamp(8px,calc(9px * var(--font-scale-base, 1)),10px);font-weight:600;color:var(--play-history-pass-text-color);text-transform:uppercase;letter-spacing:.5px}.play-history-timeline__arrow{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--play-history-arrow-color);font-size:var(--play-history-arrow-size);font-weight:600;padding-block:var(--play-history-card-gap);width:100%;box-sizing:border-box;line-height:1;transform:rotate(90deg)}.play-history-timeline__chain{display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;padding:0 4px;height:100%;align-self:stretch;box-sizing:border-box;line-height:1;opacity:.7;transition:opacity .2s ease}.play-history-timeline__chain:hover{opacity:1}.play-history-timeline__item--four-stop{border-color:var(--play-history-four-stop-border-color);background:var(--play-history-four-stop-background);position:relative}.play-history-timeline__item--four-stop.play-history-timeline__item--latest{border-color:#fbbf2499;background:#fbbf2426;box-shadow:0 0 0 1px #fbbf244d}.play-history-timeline__item--four-stop-target{border-color:var(--play-history-four-stop-target-border-color);background:var(--play-history-four-stop-target-background);box-shadow:0 0 0 1px #dc26264d}.play-history-timeline__four-stop-icon{position:absolute;top:-6px;left:-6px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:#dc2626;border-radius:50%;z-index:10;box-shadow:0 1px 3px #0006;border:1px solid rgba(255,255,255,.2)}.play-history-timeline__four-stop-icon-svg{width:12px;height:12px;color:#fff;stroke:#fff}.play-history-timeline__item--four-stop{position:relative}.play-history-timeline__four-stop-badge{display:none}.play-history-timeline__mini-card .card--mini .card-simple-pattern,.play-history-timeline__mini-card .card--mini .card-simple-rank,.play-history-timeline__mini-card .card--mini .card-simple-suit{font-size:clamp(8px,1.5vw,12px)}:root[data-aspect=portrait] .play-history-timeline__card-wrapper{height:calc(100% - 18px);min-height:25px}.declared-rank-selector{position:fixed;z-index:10000;background:#1e293b;border:2px solid #3b82f6;border-radius:8px;padding:8px;box-shadow:0 4px 12px #0000004d;pointer-events:auto;display:flex;flex-direction:column;min-width:200px;min-height:100px;box-sizing:border-box}.declared-rank-selector__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #334155}.declared-rank-selector__header-left{display:flex;align-items:center;gap:12px}.declared-rank-selector__title{font-size:14px;font-weight:600;color:#e2e8f0}.declared-rank-selector__apply-all-button{display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;font-weight:600;color:#e2e8f0;background:#334155;border:1px solid #475569;border-radius:12px;padding:6px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:all .2s ease}.declared-rank-selector__apply-all-button:hover{background:#475569;border-color:#64748b;transform:translateY(-1px);box-shadow:0 2px 4px #0003}.declared-rank-selector__apply-all-button--active{background:#10b981;border-color:#10b981;color:#fff}.declared-rank-selector__apply-all-button--active:hover{background:#059669;border-color:#059669;box-shadow:0 2px 6px #10b98166}.declared-rank-selector__close{background:transparent;border:none;color:#94a3b8;font-size:20px;line-height:1;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.declared-rank-selector__close:hover{background:#334155;color:#e2e8f0}.declared-rank-selector__ranks{display:flex;flex-direction:row;gap:8px;overflow:auto;padding:4px;flex-wrap:wrap;flex:1;align-content:flex-start;min-height:0}.declared-rank-selector__ranks::-webkit-scrollbar{height:6px}.declared-rank-selector__ranks::-webkit-scrollbar-track{background:#334155;border-radius:3px}.declared-rank-selector__ranks::-webkit-scrollbar-thumb{background:#64748b;border-radius:3px}.declared-rank-selector__ranks::-webkit-scrollbar-thumb:hover{background:#94a3b8}.declared-rank-selector__rank-item{display:flex;flex-direction:column;align-items:stretch;flex-shrink:0;min-width:80px}.declared-rank-selector__rank-button{background:#334155;border:1px solid #475569;border-radius:4px;color:#e2e8f0;font-size:12px;font-weight:600;padding:8px 12px;cursor:pointer;transition:all .2s ease;text-align:center;width:100%;white-space:nowrap}.declared-rank-selector__rank-button:hover{background:#475569;border-color:#64748b}.declared-rank-selector__rank-button--selected{background:#3b82f6;border-color:#3b82f6;color:#fff}.declared-rank-selector__rank-button--selected:hover{background:#2563eb;border-color:#2563eb}.declared-rank-selector__no-ranks{color:#94a3b8;font-size:12px;text-align:center;padding:16px;font-style:italic}.hand-area{display:flex;flex-direction:column;gap:0;padding:0 var(--hand-area-padding-inline) var(--hand-area-padding-block) var(--hand-area-padding-inline);background:#1e293b;border-radius:calc(8px * var(--radius-scale-base, 1));min-height:var(--hand-area-min-height);width:100%;min-width:0;max-width:100%;overflow-x:hidden;overflow-y:visible;position:relative;box-sizing:border-box;transition:background-color .3s ease,padding .3s ease,gap .3s ease,min-height .3s ease}body.revolution .hand-area{background:#4a1f1f}.hand-area--current-turn{background:#f59e0b26!important;border:calc(1px * var(--border-scale-base, 1)) solid rgba(245,158,11,.3);box-shadow:0 0 0 calc(2px * var(--size-scale-base, 1)) #f59e0b1a;animation:pulse-border 2s ease-in-out 0s infinite;padding-inline:calc(var(--hand-area-padding-inline) * .75);gap:0}body.revolution .hand-area--current-turn{background:#f59e0b26!important;border:1px solid rgba(245,158,11,.3)}.hand-area--four-stop-selecting{background:#f59e0b26!important;border:1px solid rgba(245,158,11,.3);box-shadow:0 0 0 2px #f59e0b1a;animation:pulse-border 2s ease-in-out 0s infinite}body.revolution .hand-area--four-stop-selecting{background:#f59e0b26!important;border:1px solid rgba(245,158,11,.3)}.hand-area--special-effect-selecting{background:#f59e0b26!important;border:1px solid rgba(245,158,11,.3);box-shadow:0 0 0 2px #f59e0b1a;animation:pulse-border 2s ease-in-out 0s infinite}body.revolution .hand-area--special-effect-selecting{background:#f59e0b26!important;border:1px solid rgba(245,158,11,.3)}.hand-area__overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0009;border-radius:calc(8px * var(--radius-scale-base, 1));z-index:9999;cursor:pointer;pointer-events:auto}.hand-area__player-info{display:flex;align-items:center;gap:var(--hand-area-row-gap);width:100%;padding:0;margin-bottom:0;flex-shrink:0;justify-content:space-between}.hand-area__player-info-left{display:flex;align-items:center;gap:var(--hand-area-row-gap);flex-shrink:0}.hand-area__player-info-right{display:flex;align-items:center;justify-content:flex-end;flex:0 1 clamp(150px,35%,260px);max-width:50%;min-height:var(--hand-area-player-status-height, 36px)}.hand-area__player-info-placeholder{width:100%;min-height:var(--hand-area-player-status-height, 36px);visibility:hidden}:root[data-aspect=portrait] .hand-area__player-info{flex-direction:column;align-items:stretch}:root[data-aspect=portrait] .hand-area__player-info-right{width:100%;justify-content:flex-start}.hand-area__player-avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--hand-area-avatar-size);height:var(--hand-area-avatar-size)}.hand-area__player-name{font-size:clamp(10px,calc(12px * var(--font-scale-base, 1)),14px);font-weight:600;color:#f8fafc;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;min-width:0}.hand-area__player-doubt-tickets{display:flex;align-items:center;gap:calc(2px * var(--spacing-scale-sm, 1));font-size:clamp(9px,calc(11px * var(--font-scale-base, 1)),13px);color:#fbbf24;flex-shrink:0}.hand-area__player-hand-count{font-size:clamp(9px,calc(11px * var(--font-scale-base, 1)),13px);color:#94a3b8;flex-shrink:0}.hand-area__four-stop-selecting-info{display:flex;align-items:center;gap:var(--hand-area-row-gap);padding:calc(var(--hand-area-row-gap) / 2) var(--hand-area-padding-inline);width:100%;justify-content:center}.hand-area__four-stop-selecting-info-icon{font-size:clamp(12px,calc(14px * var(--font-scale-base, 1)),16px)}.hand-area__four-stop-selecting-info-text{font-size:clamp(9px,calc(11px * var(--font-scale-base, 1)),13px);font-weight:500;color:#fbbf24;white-space:nowrap;animation:text-pulse 2s ease-in-out 0s infinite}@keyframes pulse-border{0%,to{border-color:#f59e0b4d;box-shadow:0 0 #f59e0b66}50%{border-color:#f59e0b99;box-shadow:0 0 0 2px #f59e0b1a}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hand-area__normal-card-selecting-info{display:flex;align-items:center;gap:var(--hand-area-row-gap);padding:calc(var(--hand-area-row-gap) / 2) var(--hand-area-padding-inline);width:100%;justify-content:flex-end}.hand-area__normal-card-selecting-info-icon{font-size:clamp(12px,calc(14px * var(--font-scale-base, 1)),16px)}.hand-area__normal-card-selecting-info-text{font-size:clamp(9px,calc(11px * var(--font-scale-base, 1)),13px);font-weight:500;color:#fbbf24;white-space:nowrap;text-align:right;animation:text-pulse 2s ease-in-out 0s infinite}.hand-area__hand{width:100%;overflow-x:visible;overflow-y:visible;position:relative;flex:1 1 auto;min-width:0}.hand-area__board-row{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:0;width:100%;min-width:0;max-width:100%;align-content:stretch;box-sizing:border-box}.hand-area__hand-column{flex:1 1 auto;display:flex;flex-direction:column;gap:0;min-width:0;min-height:0;max-width:100%;box-sizing:border-box}.hand-area__side-controls{flex:0 0 clamp(180px,20vw,240px);min-width:0;max-width:100%;display:flex;flex-direction:column;gap:var(--hand-area-row-gap);align-items:stretch;justify-content:flex-end;align-self:center;box-sizing:border-box}.hand-area__face-and-ranks{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--hand-area-control-gap);width:100%;align-items:center;margin-top:0}.hand-area__face-and-ranks--pinned{position:sticky;bottom:0;z-index:2;margin-top:auto;background:inherit}:root[data-aspect=portrait] .hand-area__board-row{flex-direction:column}:root[data-aspect=portrait] .hand-area__side-controls{width:100%;min-width:0}:root[data-aspect=portrait] .hand-area__face-and-ranks{flex-direction:row;flex-wrap:wrap}:root[data-aspect=portrait] .hand-area__action-buttons{width:100%}.hand-area__face-choice{display:flex;flex-shrink:0}.hand-area__face-toggle{display:flex;align-items:center;justify-content:center;background:#334155;border:calc(2px * var(--border-scale-base, 1)) solid #475569;border-radius:calc(6px * var(--radius-scale-base, 1));color:#e2e8f0;font-size:clamp(11px,calc(13px * var(--font-scale-base, 1)),15px);font-weight:600;padding:calc(var(--space-2xs) * 1.2) calc(var(--space-sm) * .9);cursor:pointer;transition:all .2s ease,padding .3s ease,font-size .3s ease;white-space:nowrap;min-width:auto}.hand-area__face-toggle:hover:not(:disabled){background:#475569;border-color:#64748b;transform:translateY(calc(-1px * var(--size-scale-base, 1)));box-shadow:0 calc(2px * var(--size-scale-base, 1)) calc(4px * var(--size-scale-base, 1)) #0003}.hand-area__face-toggle:disabled{opacity:.5;cursor:not-allowed}.hand-area__face-toggle--face-up{background:#3b82f6;border-color:#3b82f6;color:#fff}.hand-area__face-toggle--face-up:hover:not(:disabled){background:#2563eb;border-color:#2563eb;box-shadow:0 2px 6px #3b82f666}.hand-area__face-toggle--face-down{background:#7c3aed;border-color:#7c3aed;color:#fff}.hand-area__face-toggle--face-down:hover:not(:disabled){background:#6d28d9;border-color:#6d28d9;box-shadow:0 2px 6px #7c3aed66}.hand-area__face-toggle--disabled{opacity:.5;cursor:not-allowed}.hand-area__face-toggle--revealed-warning{border-color:#f59e0b!important;background:#78350f!important;position:relative}.hand-area__face-toggle--revealed-warning:after{content:"⚠️";position:absolute;top:-8px;right:-8px;font-size:16px;background:#f59e0b;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000004d}.hand-area__declared-ranks{display:flex;flex:1 1 auto;min-width:0}.hand-area__declared-ranks--inline{flex:1 1 auto}.hand-area__declared-ranks-content{display:flex;flex-wrap:nowrap;gap:calc(4px * var(--spacing-scale-base, 1));align-items:center;width:100%;overflow-x:auto;padding:0}.hand-area__declared-rank-item{display:flex;align-items:center;justify-content:center;flex-shrink:0}.hand-area__declared-rank-button{background:#334155;border:calc(1px * var(--border-scale-base, 1)) solid #475569;border-radius:calc(4px * var(--radius-scale-base, 1));color:#e2e8f0;font-size:clamp(11px,calc(13px * var(--font-scale-base, 1)),15px);font-weight:600;padding:calc(var(--hand-area-row-gap) / 2) var(--hand-area-row-gap);min-width:var(--hand-area-rank-button-min-inline);cursor:pointer;transition:all .2s ease,padding .3s ease,font-size .3s ease;white-space:nowrap}.hand-area__declared-rank-button:hover:not(:disabled){background:#475569;border-color:#64748b;transform:translateY(calc(-1px * var(--size-scale-base, 1)))}.hand-area__declared-rank-button:disabled{opacity:.5;cursor:not-allowed}.hand-area__declared-rank-button--set{background:#3b82f6;border-color:#3b82f6;color:#fff}.hand-area__declared-rank-button--set:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.hand-area__declared-rank-button--disabled,.hand-area__declared-rank-button:disabled{opacity:.5;cursor:not-allowed;background:#334155;border-color:#475569}.hand-area__declared-rank-button--disabled:hover,.hand-area__declared-rank-button:disabled:hover{background:#334155;border-color:#475569;transform:none}.hand-area__declared-rank-button--set.hand-area__declared-rank-button--disabled,.hand-area__declared-rank-button--set:disabled{background:#3b82f680;border-color:#3b82f680;color:#ffffffb3}.hand-area__action-buttons{display:flex;flex-direction:column;gap:var(--hand-area-row-gap);flex-shrink:0;width:100%}.hand-area__reaction-layout{display:flex;flex-direction:column;gap:var(--hand-area-row-gap);width:100%;align-items:stretch}.hand-area__reaction-buttons{display:flex;flex-direction:column;gap:var(--hand-area-row-gap)}.hand-area__reaction-preparing,.hand-area__reaction-waiting{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:10px 12px;background:#0f172aa6;border:1px solid rgba(148,163,184,.35);border-radius:calc(8px * var(--radius-scale-base, 1));color:#f8fafc;font-size:clamp(12px,calc(13px * var(--font-scale-base, 1)),14px);font-weight:500;box-sizing:border-box}.hand-area__reaction-preparing-spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(248,250,252,.25);border-top-color:#f8fafce6;animation:spin .9s linear infinite}.hand-area__reaction-preparing-text{color:#f8fafc}.hand-area__action-button{padding:var(--hand-area-button-padding-block) var(--hand-area-button-padding-inline);border-radius:calc(6px * var(--radius-scale-base, 1));font-size:var(--hand-area-button-font-size);font-weight:600;cursor:pointer;transition:all .2s ease,padding .3s ease,font-size .3s ease;border:calc(1px * var(--border-scale-base, 1)) solid transparent;white-space:nowrap;text-align:center;min-height:var(--hand-area-button-min-block);width:100%}.hand-area__primary-actions{display:flex;flex-direction:column;gap:var(--hand-area-row-gap);width:100%}.hand-area__action-button--play{background:#334155;border-color:#475569;color:#e2e8f0}.hand-area__action-button--play:hover:not(:disabled){background:#475569;border-color:#64748b}.hand-area__action-button--play.hand-area__action-button--enabled{background:#3b82f6;border-color:#3b82f6;color:#fff}.hand-area__action-button--play.hand-area__action-button--enabled:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.hand-area__action-button--pass{background:#334155;border-color:#475569;color:#e2e8f0}.hand-area__action-button--pass:hover:not(:disabled){background:#475569;border-color:#64748b}.hand-area__action-button--pass.hand-area__action-button--enabled{background:#64748b;border-color:#64748b;color:#fff}.hand-area__action-button--pass.hand-area__action-button--enabled:hover:not(:disabled){background:#475569;border-color:#64748b}.hand-area__action-button--seven-pass{background:#334155;border-color:#475569;color:#e2e8f0}.hand-area__action-button--seven-pass:hover:not(:disabled){background:#475569;border-color:#64748b}.hand-area__action-button--seven-pass.hand-area__action-button--enabled{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.hand-area__action-button--seven-pass.hand-area__action-button--enabled:hover:not(:disabled){background:#7c3aed;border-color:#7c3aed}.hand-area__action-button--special-effect{background:#334155;border-color:#475569;color:#e2e8f0}.hand-area__action-button--special-effect:hover:not(:disabled){background:#475569;border-color:#64748b}.hand-area__action-button--special-effect.hand-area__action-button--enabled{background:#3b82f6;border-color:#3b82f6;color:#fff}.hand-area__action-button--special-effect.hand-area__action-button--enabled:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.hand-area__action-button--four-stop{background:#7f1d1d;border-color:#b91c1c;color:#fee2e2}.hand-area__action-button--four-stop:hover:not(:disabled){background:#991b1b;border-color:#ef4444}.hand-area__action-button--four-stop.hand-area__action-button--enabled{background:#dc2626;border-color:#ef4444;color:#fff}.hand-area__action-button--four-stop.hand-area__action-button--enabled:hover:not(:disabled){background:#b91c1c;border-color:#f87171}.hand-area__action-button--through{background:#3f3f46;border-color:#52525b;color:#e4e4e7}.hand-area__action-button--through:hover:not(:disabled){background:#52525b;border-color:#71717a}.hand-area__action-button--through.hand-area__action-button--enabled{background:#6b7280;border-color:#9ca3af;color:#fff}.hand-area__action-button--through.hand-area__action-button--enabled:hover:not(:disabled){background:#4b5563;border-color:#94a3b8}.hand-area__action-button:disabled{opacity:.5;cursor:not-allowed}.hand-area__seven-pass-actions{display:flex!important;flex-direction:row!important;align-items:center;gap:12px;width:100%;margin-left:0}.hand-area__seven-pass-actions>.hand-area__action-button{flex-shrink:0;margin-left:auto}.hand-area__seven-pass-player-selection-buttons{display:flex;flex-direction:row;align-items:center;gap:8px;flex:1;min-width:0}.hand-area__seven-pass-player-selection-label{font-size:clamp(10px,calc(12px * var(--font-scale-base, 1)),14px);color:#94a3b8;font-weight:500;white-space:nowrap;flex-shrink:0;display:flex;align-items:center;line-height:1;height:100%}.hand-area__seven-pass-player-selection-list{display:flex!important;flex-direction:row!important;flex-wrap:nowrap;gap:6px;flex:1;min-width:0;overflow-x:auto;align-items:center;height:100%;margin:0!important;padding:0!important}.hand-area__seven-pass-player-button{padding:calc(6px * var(--spacing-scale-base, 1)) calc(12px * var(--spacing-scale-base, 1));border-radius:calc(6px * var(--radius-scale-base, 1));font-size:clamp(10px,calc(12px * var(--font-scale-base, 1)),14px);font-weight:500;cursor:pointer;transition:all .2s ease,padding .3s ease,font-size .3s ease;border:calc(1px * var(--border-scale-base, 1)) solid #475569;background:#334155;color:#e2e8f0;white-space:nowrap;line-height:1.2;display:flex;align-items:center;justify-content:center}.hand-area__seven-pass-player-button:hover:not(:disabled){background:#475569;border-color:#64748b}.hand-area__seven-pass-player-button--selected{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.hand-area__seven-pass-player-button--selected:hover:not(:disabled){background:#7c3aed;border-color:#7c3aed}.hand-area__seven-pass-player-button:disabled{opacity:.5;cursor:not-allowed}.hand-area__four-stop-info{display:flex;align-items:center;justify-content:center;padding:calc(6px * var(--spacing-scale-base, 1)) calc(12px * var(--spacing-scale-base, 1));background:#3b82f61a;border:calc(1px * var(--border-scale-base, 1)) solid rgba(59,130,246,.3);border-radius:calc(6px * var(--radius-scale-base, 1));font-size:clamp(10px,calc(12px * var(--font-scale-base, 1)),14px);color:#93c5fd;white-space:nowrap}.hand-area__four-stop-count{font-weight:600;text-align:center;width:100%}.hand-area__action{flex:0 0 auto;min-width:120px;max-width:180px}.hand-area__loading-spinner{font-size:12px}.hand-area__seven-pass-player-selection-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.hand-area__seven-pass-player-selection{padding:2rem;background-color:#000000f2;border-radius:12px;color:#fff;max-width:500px;width:100%;box-shadow:0 8px 32px #00000080;border:2px solid rgba(0,102,204,.4)}.hand-area__seven-pass-player-selection-title{font-size:1.2rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.hand-area__seven-pass-player-selection-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.hand-area__seven-pass-player-selection-button{padding:.75rem 1rem;background-color:#333;color:#fff;border:2px solid #555;border-radius:8px;cursor:pointer;transition:all .2s;font-size:1rem;text-align:left}.hand-area__seven-pass-player-selection-button:hover{background-color:#444;border-color:#666}.hand-area__seven-pass-player-selection-cancel{padding:.75rem 1.5rem;background-color:#555;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:background-color .2s;width:100%}.hand-area__seven-pass-player-selection-cancel:hover{background-color:#666}:root[data-aspect=portrait] .hand-area__declared-ranks-label{display:none}.declared-rank-badge{position:absolute;top:0;left:0;z-index:20;padding:2px 4px;font-size:14px;font-weight:700;line-height:1;color:#fff;background:#000000b3;border:1px solid rgba(255,255,255,.2);border-radius:3px;white-space:nowrap;pointer-events:none;box-shadow:0 1px 3px #0000004d}.card-stack__declared-rank.declared-rank-badge{padding:4px 8px;font-size:clamp(18px,calc(22px * var(--font-scale-base, 1)),26px);border-radius:6px;border-width:2px;box-shadow:0 2px 6px #0006}.declared-rank-badge--joker{writing-mode:vertical-rl;text-orientation:upright;font-size:11px;line-height:.9;letter-spacing:-2px;padding:1px 2px;white-space:normal}.card-stack__declared-rank.declared-rank-badge--joker{font-size:clamp(14px,calc(17px * var(--font-scale-base, 1)),20px);padding:2px 4px;letter-spacing:-3px}.card-stack{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0;overflow:visible;padding:0;box-sizing:border-box}.card-stack__card-wrapper{position:absolute;transition:opacity .3s ease;animation:cardStackAppear .4s ease-out;transform-origin:center center}.card-stack__card-container{position:relative;transform:scale(var(--card-stack-scale, 1));transform-origin:center center;max-width:100%;max-height:100%;display:flex;align-items:center;justify-content:center}.card-stack__card{transition:none;pointer-events:none}@keyframes cardStackAppear{0%{opacity:0;transform:translateY(calc(-20px * var(--size-scale-base, 1))) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.play-info-panel{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--play-info-gap);padding:var(--space-3xs) var(--space-2xs);background:#1e293be6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:calc(6px * var(--radius-scale-base, 1));border:calc(1px * var(--border-scale-base, 1)) solid rgba(255,255,255,.2);flex-wrap:nowrap;inline-size:min(var(--play-info-panel-max-width),100%);overflow:hidden;margin:0 auto;position:relative;z-index:6;transition:padding .3s ease,gap .3s ease,border-radius .3s ease}.play-info-panel__row{display:flex;align-items:center;gap:var(--play-info-row-gap);font-size:clamp(9px,calc(11px * var(--font-scale-base, 1)),13px);flex-shrink:0;transition:font-size .3s ease,gap .3s ease;white-space:nowrap}.play-info-panel__separator{color:#fff3;font-size:clamp(9px,calc(11px * var(--font-scale-base, 1)),13px);padding:0 calc(4px * var(--spacing-scale-base, 1));flex-shrink:0;transition:font-size .3s ease,padding .3s ease}.play-info-panel__label{color:#94a3b8;font-weight:500;min-width:clamp(40px,calc(45px * var(--size-scale-base, 1)),50px);flex-shrink:0;transition:min-width .3s ease}.play-info-panel__value{color:#e2e8f0;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.play-info-panel__player-name{color:#60a5fa;font-weight:600}.play-info-panel__declared-ranks{color:#fbbf24;font-weight:600}.play-info-panel__badge{display:inline-block;padding:calc(2px * var(--spacing-scale-sm, 1)) calc(8px * var(--spacing-scale-base, 1));border-radius:calc(4px * var(--radius-scale-base, 1));font-size:clamp(8px,calc(10px * var(--font-scale-sm, 1)),12px);font-weight:600;white-space:nowrap;transition:padding .3s ease,font-size .3s ease}.play-info-panel__badge--face-up{background:#4ade8033;color:#4ade80;border:calc(1px * var(--border-scale-base, 1)) solid rgba(74,222,128,.3)}.play-info-panel__badge--face-down{background:#facc1533;color:#facc15;border:calc(1px * var(--border-scale-base, 1)) solid rgba(250,204,21,.3)}.play-info-panel__badge--play-type{background:#93c5fd33;color:#93c5fd;border:calc(1px * var(--border-scale-base, 1)) solid rgba(147,197,253,.3)}:root[data-aspect=portrait] .play-info-panel__label{display:none}.special-effect-cutin{position:absolute;top:0;left:0;right:0;bottom:0;z-index:5;display:flex;align-items:center;justify-content:center;pointer-events:none;animation:fadeIn .3s ease-out}.special-effect-cutin__effects{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center}.special-effect-cutin__effect-name{font-size:32px;font-weight:700;color:gold;text-shadow:-.5px -.5px 0 #525252,.5px -.5px 0 #525252,-.5px .5px 0 #525252,.5px .5px 0 #525252,0 0 20px rgba(255,215,0,.8),0 0 40px rgba(255,215,0,.4);animation:slideInScale .5s cubic-bezier(.34,1.56,.64,1),glow 1.5s ease-in-out infinite}.special-effect-cutin__effect-name:nth-child(1){animation-delay:0s,0s}.special-effect-cutin__effect-name:nth-child(2){animation-delay:.2s,.2s}.special-effect-cutin__effect-name:nth-child(3){animation-delay:.4s,.4s}@keyframes slideInScale{0%{transform:scale(.5) translateY(-30px);opacity:0}50%{transform:scale(1.1) translateY(0)}to{transform:scale(1) translateY(0);opacity:1}}@keyframes glow{0%,to{text-shadow:-.5px -.5px 0 #525252,.5px -.5px 0 #525252,-.5px .5px 0 #525252,.5px .5px 0 #525252,0 0 20px rgba(255,215,0,.8),0 0 40px rgba(255,215,0,.4)}50%{text-shadow:-.5px -.5px 0 #525252,.5px -.5px 0 #525252,-.5px .5px 0 #525252,.5px .5px 0 #525252,0 0 30px rgba(255,215,0,1),0 0 60px rgba(255,215,0,.6)}}.turn-order-indicator{position:relative;pointer-events:none;opacity:.7;transition:opacity .3s ease;z-index:-1;height:min(var(--turn-order-max-size),80%);max-height:var(--turn-order-max-size);max-width:min(var(--turn-order-max-size),80%);width:auto;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center}.turn-order-indicator__circle{width:100%;height:100%;max-width:100%;max-height:100%;display:flex;align-items:center;justify-content:center;background:#1e293bb3;border-radius:50%;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:3px solid rgba(255,255,255,.15)}.turn-order-indicator--reversed .turn-order-indicator__circle{border-color:#94a3b866;background:#94a3b826}.turn-order-indicator__arrow{width:95%;height:95%;color:#94a3b8;transform-origin:center center}.turn-order-indicator--reversed .turn-order-indicator__arrow{color:#94a3b8}:root[data-aspect=portrait] .turn-order-indicator__circle{border-width:3px}.reaction-result{padding:0;margin:0;text-align:center;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:82px;line-height:1.5;box-sizing:border-box}.reaction-result--visible{visibility:visible;opacity:1}.reaction-result--hidden{visibility:hidden;opacity:0}.reaction-result__message{font-size:.9rem;font-weight:500;color:var(--text-primary, #333);display:inline-block;animation:fadeIn .2s ease-out}@media (prefers-color-scheme: dark){.reaction-result__message{color:var(--text-primary-dark, #e5e5e5)}}.revolution-indicator{display:flex;align-items:center;justify-content:center;background:#ef4444e6;color:#fff;padding:var(--revolution-indicator-padding-block) var(--revolution-indicator-padding-inline);border-radius:var(--revolution-indicator-radius);font-size:var(--revolution-indicator-font-size);font-weight:700;line-height:1;box-shadow:var(--revolution-indicator-shadow);animation:revolution-pulse 2s infinite;align-self:center}.revolution-indicator__text{font-size:var(--revolution-indicator-font-size);line-height:1}@keyframes revolution-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.jack-back-indicator{display:flex;align-items:center;justify-content:center;gap:var(--hud-gap);background:#3b82f6e6;color:#fff;padding:calc(var(--hud-indicator-padding-block) * 2) calc(var(--hud-indicator-padding-inline) * 1.5);min-width:clamp(80px,20vw,140px);border-radius:999px;font-size:var(--hud-indicator-font-size);font-weight:700;line-height:1;box-shadow:0 2px 8px #3b82f64d;animation:jack-back-pulse 2s infinite;align-self:center}.jack-back-indicator__text{font-size:clamp(9px,1.1vh,11px);line-height:1}@keyframes jack-back-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.force-face-up-indicator{display:flex;align-items:center;justify-content:center;gap:var(--hud-gap);background:#fbbf24e6;color:#fff;padding:var(--hud-indicator-padding-block) var(--hud-indicator-padding-inline);border-radius:999px;font-size:var(--hud-indicator-font-size);font-weight:700;line-height:1;box-shadow:0 2px 8px #fbbf244d;animation:force-face-up-pulse 2s infinite;align-self:center}.force-face-up-indicator__text{font-size:var(--hud-indicator-font-size);line-height:1}@keyframes force-face-up-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.game-state-indicator{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--hud-gap, 6px);flex-shrink:0;padding:0;width:100%;line-height:1}.game-state-indicator--single,.game-state-indicator--multiple{justify-content:center}.timer-progress-bar__container{width:var(--reaction-timer-size);height:var(--reaction-timer-size);position:relative;display:flex;align-items:center;justify-content:center;transition:width .3s ease,height .3s ease}.timer-progress-bar__circle{width:100%;height:100%}.timer-progress-bar__background{stroke:#ffffff1a;stroke-width:var(--reaction-timer-stroke-width)}.timer-progress-bar__progress{stroke:#fbbf24;stroke-width:var(--reaction-timer-stroke-width);stroke-linecap:round;transition:stroke-dashoffset .1s linear;filter:drop-shadow(0 0 var(--reaction-timer-shadow) rgba(251,191,36,.5))}.timer-progress-bar__progress--warning{stroke:#ef4444;filter:drop-shadow(0 0 var(--reaction-timer-shadow) rgba(239,68,68,.6))}.timer-progress-bar__progress--ended{stroke:#9ca3af;filter:none;transition:none}.timer-progress-bar__content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;z-index:10;font-size:var(--reaction-timer-font-size)}.timer-text{position:relative;width:auto;height:auto;display:flex;align-items:center;justify-content:center;z-index:20}.timer-text__content{font-size:var(--reaction-timer-text-size);font-weight:700;color:#fbbf24;line-height:1;text-shadow:0 0 calc(var(--reaction-timer-shadow) * 2) rgba(251,191,36,.6);transition:font-size .3s ease}.timer-text--ended .timer-text__content{color:#9ca3af;text-shadow:0 0 var(--reaction-timer-shadow) rgba(156,163,175,.4)}.timer-markers__container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5}.timer-markers__second-border{stroke:#fff3;stroke-width:clamp(.5px,calc(1px * var(--size-scale-base, 1)),1.5px)}.timer-markers__priority-border{stroke:#ef4444cc;stroke-width:clamp(1px,calc(2px * var(--size-scale-base, 1)),3px);filter:drop-shadow(0 0 calc(2px * var(--size-scale-base, 1)) rgba(239,68,68,.6))}.reaction-timer{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100px;height:100px;margin:0 auto;transition:opacity .2s ease,visibility .2s ease;position:relative;background:#1e293b4d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:50%;padding:8px;box-sizing:border-box}.played-cards-area{position:relative;display:grid;grid-template-rows:auto auto minmax(var(--played-cards-min-height),1fr) auto;grid-template-areas:"state" "info" "stack" "actions";row-gap:0;width:100%;height:100%;min-height:calc(var(--played-cards-min-height) + var(--space-lg));box-sizing:border-box;overflow:visible;z-index:10;--card-base-height: var(--played-cards-card-base-height);--card-base-width: var(--played-cards-card-base-width);--card-stack-max-height: calc( 100% * var(--played-cards-stack-height-factor) );--card-stack-max-width: calc( 100% * var(--played-cards-stack-width-factor) );--card-stack-scale-by-height: calc( var(--card-stack-max-height) / var(--card-base-height) );--card-stack-scale-by-width: calc( var(--card-stack-max-width) / var(--card-base-width) );--card-stack-scale: clamp( var(--played-cards-stack-scale-min, 1), min( var(--card-stack-scale-by-height), var(--card-stack-scale-by-width) ), var(--played-cards-stack-scale-max, 3) )}.played-cards-area__state-strip{grid-area:state;display:flex;align-items:center;justify-content:center;width:100%;padding:var(--space-2xs) var(--space-xs);min-height:0}.played-cards-area__game-state{pointer-events:none}.played-cards-area__info-strip{grid-area:info;display:flex;align-items:center;justify-content:center;padding:var(--space-3xs) var(--space-2xs)}.played-cards-area__play-info-panel{position:relative;top:auto;left:auto;transform:none;min-width:0;width:min(var(--play-info-panel-max-width),100%);pointer-events:none}.played-cards-area__stack-stage{grid-area:stack;position:relative;min-height:var(--played-cards-min-height);display:flex;align-items:center;justify-content:center;padding:var(--space-xs) var(--space-2xs);overflow:hidden}.played-cards-area__reaction-timer{position:absolute;bottom:var(--space-xs);right:var(--space-xs);z-index:5;display:flex;align-items:flex-end;justify-content:flex-end;pointer-events:none}.played-cards-area__reaction-timer .reaction-timer{pointer-events:auto}.played-cards-area__turn-indicator{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:1;opacity:.85}.played-cards-area__stack-layer{position:relative;z-index:2;width:min(100%,var(--played-cards-stage-max-inline));height:min(100%,var(--played-cards-stage-max-block));display:flex;align-items:center;justify-content:center}.played-cards-area__card-stack{position:relative;width:100%;height:100%;max-width:100%;max-height:100%}.played-cards-area__special-effect{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:3}.played-cards-area__empty-state{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;color:#9ca3af;text-align:center;padding:var(--space-xs);box-sizing:border-box;z-index:1}.played-cards-area__empty-state-text{font-size:var(--played-cards-empty-text-size);font-weight:500;opacity:.8}.played-cards-area__actions-strip{grid-area:actions;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--play-area-gap, var(--space-sm));width:100%}.played-cards-area__actions-strip>*{width:100%}.player-seats{--player-seats-z-index: 5;--player-seat-z-index-current: 1;--player-seat-indicator-z-index: 2;--player-seat-bg: rgba(30, 41, 59, .8);--player-seat-bg-revolution: #4a1f1f;--player-seat-bg-selecting: rgba(245, 158, 11, .15);--player-seat-border-selecting: rgba(245, 158, 11, .3);--player-seat-bg-passed: rgba(148, 163, 184, .2);--player-seat-bg-four-stop: rgba(239, 68, 68, .2);--player-seat-animation-duration: 2s}.player-seats{position:relative;width:100%;height:100%;display:flex;flex-direction:row;gap:var(--player-seat-gap);pointer-events:none;min-height:0;max-height:100%;overflow:visible;box-sizing:border-box;align-items:center}.player-seat{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:0;pointer-events:auto;min-width:var(--player-seat-min-inline);max-width:var(--player-seat-max-inline);width:auto;white-space:normal;flex-shrink:1;box-sizing:border-box;height:100%;max-height:100%;overflow:hidden}.player-seats-area--top .player-seats{justify-content:space-evenly}.player-seats-area--bottom .player-seats{justify-content:space-between;padding-left:0;padding-right:0;gap:var(--player-seat-bottom-gap, var(--player-seat-gap))}.player-seat--current{z-index:var(--player-seat-z-index-current)}.player-seat--selecting-cards{background:var(--player-seat-bg-selecting);border:1px solid var(--player-seat-border-selecting);border-radius:8px;animation:pulse-border var(--player-seat-animation-duration) ease-in-out infinite}@keyframes pulse-border{0%,to{border-color:var(--player-seat-border-selecting);box-shadow:0 0 #f59e0b66}50%{border-color:#f59e0b99;box-shadow:0 0 0 2px #f59e0b1a}}.player-seat__indicator-wrapper{position:absolute;left:50%;transform:translate(-50%);z-index:var(--player-seat-indicator-z-index)}.player-seat__indicator-wrapper--top-stack{bottom:-10px;top:auto}.player-seat__indicator-wrapper--bottom-stack{top:-10px;bottom:auto}.player-seat__indicator{display:flex;align-items:center;justify-content:center;width:var(--player-seat-indicator-size);height:var(--player-seat-indicator-size);padding:var(--player-seat-indicator-padding, 2px);box-sizing:border-box;border-radius:50%;background:#000000b3;border:2px solid;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.player-seat__indicator--turn{border-color:#fbbf24;background:#fbbf2433}.player-seat__indicator--play{border-color:#4ade80;background:#4ade8033}.player-seat__indicator--four-stop{border-color:#f59e0b;background:#f59e0b33}.player-seat__indicator--four-stop-selecting{border-color:#f59e0b;background:#f59e0b4d;width:auto;min-width:60px;height:24px;padding:0 8px;border-radius:12px;gap:4px;animation:pulse var(--player-seat-animation-duration) ease-in-out infinite}.player-seat__indicator--four-stop-selecting .player-seat__indicator-text{font-size:10px;font-weight:600;color:#f59e0b;white-space:nowrap}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.player-seat__indicator--doubt{border-color:#ef4444;background:#ef444433}.player-seat__indicator--through{border-color:#60a5fa;background:#60a5fa33}.player-seat__indicator--pass{border-color:#94a3b8;background:#94a3b833}.player-seat__content{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:var(--player-seat-content-gap);padding:var(--player-seat-content-padding);min-width:var(--player-seat-min-inline);width:100%;height:100%;box-sizing:border-box;background:var(--player-seat-bg);border-radius:6px;overflow:hidden}body.revolution .player-seat__content{background:var(--player-seat-bg-revolution)}.player-seat--selecting-cards .player-seat__content,body.revolution .player-seat--selecting-cards .player-seat__content{background:var(--player-seat-bg-selecting)}.player-seat--passed .player-seat__content,body.revolution .player-seat--passed .player-seat__content{background:var(--player-seat-bg-passed);opacity:.6}.player-seat--selecting-cards.player-seat--passed .player-seat__content{background:var(--player-seat-bg-selecting);opacity:1}.player-seat--through .player-seat__content,body.revolution .player-seat--through .player-seat__content{background:var(--player-seat-bg-passed);opacity:.6}.player-seat--selecting-cards.player-seat--through .player-seat__content{background:var(--player-seat-bg-selecting);opacity:1}.player-seat--four-stop .player-seat__content,body.revolution .player-seat--four-stop .player-seat__content{background:var(--player-seat-bg-four-stop);opacity:.6}.player-seat--selecting-cards.player-seat--four-stop .player-seat__content{background:var(--player-seat-bg-selecting);opacity:1}.player-seat--doubt .player-seat__content,body.revolution .player-seat--doubt .player-seat__content{background:var(--player-seat-bg-four-stop);opacity:.6}.player-seat--selecting-cards.player-seat--doubt .player-seat__content{background:var(--player-seat-bg-selecting);opacity:1}.player-seat__row{display:flex;align-items:center;gap:var(--player-seat-row-gap);width:100%;box-sizing:border-box;min-height:var(--player-seat-row-min-height, auto)}.player-seat__row--first{flex-shrink:0;min-height:var(--player-seat-row-first-height);max-height:var(--player-seat-row-first-height)}.player-seat__row--second{flex:1 1 auto;min-height:0;max-height:var(--player-seat-row-second-height, auto);justify-content:flex-start;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent;position:relative}.player-seat__row--second::-webkit-scrollbar{height:4px}.player-seat__row--second::-webkit-scrollbar-track{background:transparent}.player-seat__row--second::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.player-seat__avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--player-seat-avatar-size);height:var(--player-seat-avatar-size)}.player-seat__name{font-size:clamp(9px,calc(11px * var(--font-scale-base, 1)),13px);font-weight:600;color:#f8fafc;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.player-seat__hand-cards{display:flex;align-items:center;gap:0;flex-wrap:nowrap;max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent;padding:1px 0;height:var(--player-seat-hand-height);box-sizing:border-box}.player-seat__hand-cards::-webkit-scrollbar{height:4px}.player-seat__hand-cards::-webkit-scrollbar-track{background:transparent}.player-seat__hand-cards::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.player-seat__timer{flex-shrink:0;margin-top:4px;width:100%}.player-seat__mini-card{flex-shrink:0;margin-left:var(--player-seat-mini-card-overlap);transition:transform .2s ease,z-index .2s ease;position:relative}.player-seat__mini-card:first-child{margin-left:0}.player-seat__mini-card:hover{transform:translateY(-4px) scale(1.15);z-index:10}.player-seat__hand-count-overflow{font-size:10px;color:#94a3b8;padding:2px 4px;background:#94a3b833;border-radius:4px;white-space:nowrap;margin-left:-8px;z-index:5;position:relative}.player-seat__mini-card.card--mini{width:var(--player-seat-mini-card-width);height:var(--player-seat-mini-card-height);font-size:var(--player-seat-mini-card-font-size)}.player-seat__mini-card.card--mini .card-simple-rank,.player-seat__mini-card.card--mini .card-simple-suit{font-size:var(--player-seat-mini-card-font-size)}.player-seat__doubt-tickets{display:flex;align-items:center;gap:2px;font-size:10px;color:#fbbf24;flex-shrink:0}.player-seat__hand-count{font-size:10px;color:#94a3b8;flex-shrink:0}.player-seat__pass-indicator{position:absolute;top:65%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;font-size:var(--player-seat-pass-font-size);font-weight:700;color:#fff;text-align:center;letter-spacing:var(--player-seat-pass-letter-spacing);padding:var(--player-seat-pass-padding-block) var(--player-seat-pass-padding-inline);text-shadow:0 2px 4px rgba(0,0,0,.5);z-index:5;pointer-events:none;white-space:nowrap}.player-seat__through-indicator{color:#94a3b8;font-size:calc(var(--player-seat-pass-font-size) * .85);letter-spacing:.05em;padding-inline:calc(var(--player-seat-pass-padding-inline) * .8)}.player-seat__four-stop-indicator,.player-seat__doubt-indicator{color:#ef4444}:root{--player-seats-area-z-index: 5}.player-seats-area{position:relative;width:100%;height:var(--player-seats-area-height);min-height:var(--player-seats-area-height);max-height:var(--player-seats-area-height);z-index:var(--player-seats-area-z-index);overflow:hidden;padding:var(--player-seats-area-padding);box-sizing:border-box;pointer-events:var(--player-seats-area-pointer-events);display:flex;align-items:center;justify-content:center}.player-seats-area--top,.player-seats-area--bottom{flex-shrink:0;overflow:visible}.player-seats-area--top{height:var(--player-seats-area-height)}.player-seats-area--bottom{height:var(--player-seats-area-height);margin-bottom:var(--player-seats-area-margin)}.penalty-deck{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--penalty-deck-gap);padding:var(--penalty-deck-padding);background:#ffffff05;border-radius:var(--penalty-deck-radius);height:auto;width:auto;overflow:visible;box-sizing:border-box;transition:padding .3s ease,gap .3s ease,border-radius .3s ease}.penalty-deck__label{font-size:var(--penalty-deck-label-size);font-weight:600;color:#fbbf24;text-align:center;flex-shrink:0;line-height:1.2;white-space:nowrap;transition:font-size .3s ease}.penalty-deck__container{position:relative;width:var(--penalty-deck-card-inline);height:var(--penalty-deck-card-block);aspect-ratio:5 / 7;flex-shrink:0;max-width:100%;max-height:100%;overflow:visible;transition:width .3s ease,height .3s ease}.penalty-deck__card{position:relative;width:100%;height:100%;overflow:visible}.penalty-deck__card-inner{width:100%;height:100%}.penalty-deck__card-inner .card__count{font-size:var(--penalty-deck-count-size)!important;font-weight:700!important;color:#fff!important;text-shadow:0 calc(.125rem * var(--ui-density-scale)) calc(.25rem * var(--ui-density-scale)) rgba(0,0,0,.5);z-index:1;display:inline-flex;align-items:baseline;justify-content:center;gap:var(--penalty-deck-count-gap);transition:font-size .3s ease}.penalty-deck__card-inner .card__count:after{content:"枚";font-size:var(--penalty-deck-count-suffix-size)!important;font-weight:600!important;line-height:1;transition:font-size .3s ease}:root{--played-cards-area-min-height-desktop: 200px;--played-cards-area-min-height-tablet: 200px;--played-cards-area-min-height-mobile: 180px;--play-area-seat-stack-max-height: var(--player-seats-area-height);--play-area-played-min-height: var(--played-cards-area-min-height-desktop);--play-area-main-overflow: visible}:root[data-aspect=standard]{--play-area-played-min-height: var(--played-cards-area-min-height-tablet);--play-area-main-overflow: hidden}:root[data-aspect=portrait]{--play-area-played-min-height: var(--played-cards-area-min-height-mobile);--play-area-main-overflow: hidden}.play-area{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"main" "hand";row-gap:var(--play-area-gap);column-gap:0;padding:var(--play-area-padding-block) var(--play-area-padding-inline);background:#1e293b;border-radius:0;height:100%;width:100%;min-height:0;min-width:0;max-width:100%;overflow:hidden;transition:background-color .3s ease;box-sizing:border-box}.play-area__game-history-section{display:none}.play-area--revolution .play-area__game-history-section,.play-area--revolution{background:#4a1f1f}.play-area__header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:0;padding-bottom:var(--play-area-header-padding-bottom);flex-shrink:0;gap:8px}.play-area__title{font-size:clamp(10px,calc(12px * var(--font-scale-base, 1)),14px);font-weight:600;color:#f8fafc;margin:0;flex:1}.play-area__main-area{grid-area:main;position:relative;flex:1 1 auto;height:100%;min-height:0;min-width:0;max-width:min(100%,100vw);overflow:hidden;display:grid;grid-template-columns:minmax(0,var(--play-area-history-width, 180px)) minmax(0,1fr) minmax(0,var(--play-area-penalty-width, 160px));grid-template-rows:minmax(0,var(--player-seats-area-height, 90px)) minmax(0,1fr);grid-template-areas:"players players players" "history center penalty";gap:var(--play-area-gap);width:100%;max-width:100%;box-sizing:border-box}.play-area__main-area{--played-cards-area-z-index: 10}.play-area__history-section{grid-area:history;position:relative;width:100%;height:100%;min-height:0;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;background:#ffffff05;border-radius:6px;border-right:1px solid rgba(255,255,255,.08)}.play-area__penalty-deck-section{grid-area:penalty;position:relative;width:100%;height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-x:hidden;overflow-y:auto;box-sizing:border-box}.play-area__penalty-deck{width:100%;height:auto}.play-area__main-area>.player-seats-area--top{grid-area:players;flex-shrink:0;max-height:var(--play-area-seat-stack-max-height, none)}.play-area__center-stack{grid-area:center;position:relative;flex:1 1 auto;min-height:var( --play-area-played-min-height, var(--played-cards-area-min-height-desktop) );display:grid;min-height:0;overflow-x:hidden;overflow-y:auto;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(var( --play-area-played-min-height, var(--played-cards-area-min-height-desktop) ),1fr);align-items:stretch;box-sizing:border-box}.play-area__center-stack>.played-cards-area{min-height:var( --play-area-played-min-height, var(--played-cards-area-min-height-desktop) );z-index:var(--played-cards-area-z-index)}:root[data-aspect=standard] .play-area__main-area,:root[data-aspect=portrait] .play-area__main-area{flex-direction:column}.play-area__hand-area{grid-area:hand;position:relative;flex-shrink:0;width:100%;max-width:100%;min-width:0;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;z-index:15;pointer-events:auto;margin-top:0;padding-top:0;background:#1e293b;box-shadow:none}.play-area__hand-area:before{display:none}.play-area--revolution .play-area__hand-area{background:#3b0d0d;box-shadow:none}.play-area--revolution .play-area__hand-area:before{display:none}.play-area__hand-area>*{position:relative;z-index:1}.play-area__card-stack{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;width:auto;height:auto}.play-area__notification{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:8px;max-width:400px;width:auto;margin-top:-80px}.play-area__play-history-timeline{width:100%;height:100%;min-height:fit-content;box-sizing:border-box}:root[data-aspect=portrait] .played-cards{padding:var(--space-xs);gap:var(--space-2xs)}:root[data-aspect=portrait] .play-area__header{padding-bottom:var(--space-2xs)}:root[data-aspect=portrait] .play-area__main-area{gap:var(--space-xs)}.play-area__reaction-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:6;display:flex;align-items:center;justify-content:center;pointer-events:none;animation:fadeIn .3s ease-out}.play-area__reaction-overlay--buttons{align-items:center;padding-top:0;justify-content:center}.play-area__reaction-overlay--buttons .play-area__reaction-ui{margin-top:210px}.play-area__reaction-ui{position:relative;z-index:1;pointer-events:auto;background:transparent;padding:var(--play-area-reaction-gap) calc(var(--play-area-reaction-gap) * 1.3);animation:slideInFromBottom .3s ease-out;display:flex;flex-direction:column;align-items:center;gap:16px;min-width:var(--play-area-reaction-min-width);max-width:500px}.play-area__reaction-content{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--play-area-reaction-gap);width:100%;padding:16px 24px}.play-area__timer-in-panel{display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:4px;box-sizing:border-box}:root[data-aspect=portrait] .play-area__reaction-content{flex-direction:column;gap:var(--play-area-reaction-gap)}.play-area__action-buttons{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:var(--play-area-reaction-button-gap);flex-wrap:nowrap;flex:1;width:100%;background:#1e293b26;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-radius:12px;padding:8px 12px;box-sizing:border-box}.play-area__timer-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:50;width:100%;max-width:600px;display:flex;justify-content:center;pointer-events:none;margin-top:120px}.play-area__reaction-overlay--result{align-items:center}.play-area__result-container{display:flex;align-items:center;justify-content:center;width:100%;background:#1e293bf2;border-radius:12px;padding:24px 32px;box-shadow:0 8px 32px #00000080;border:1px solid rgba(255,255,255,.1);animation:slideInFromBottom .3s ease-out;min-width:320px;max-width:500px}.play-area__button{display:flex;align-items:center;justify-content:center;padding:calc(14px * var(--spacing-scale-base, 1)) calc(24px * var(--spacing-scale-base, 1));border:none;border-radius:calc(8px * var(--radius-scale-base, 1));font-size:clamp(12px,calc(14px * var(--font-scale-base, 1)),16px);font-weight:600;cursor:pointer;transition:all .2s ease;background:#ffffff0d;color:#94a3b8;white-space:nowrap;flex:1;min-width:0;min-height:clamp(44px,calc(48px * var(--size-scale-base, 1)),56px);box-shadow:0 calc(2px * var(--size-scale-base, 1)) calc(8px * var(--size-scale-base, 1)) #0003}.play-area__button:hover:not(:disabled){background:#ffffff1a;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.play-area__button--enabled{opacity:1;color:#f8fafc;cursor:pointer;font-weight:900}.play-area__button--doubt.play-area__button--enabled{background:#fbbf24cc;color:#fff;border:2px solid rgba(251,191,36,.8);box-shadow:0 2px 8px #fbbf244d}.play-area__button--doubt.play-area__button--enabled:hover:not(:disabled){background:#fbbf24d9;border-color:#fbbf24e6;box-shadow:0 4px 16px #fbbf2466}.play-area__button--four-stop.play-area__button--enabled{background:#ef4444cc;color:#fff;border:2px solid rgba(239,68,68,.8);box-shadow:0 2px 8px #ef44444d}.play-area__button--four-stop.play-area__button--enabled:hover:not(:disabled){background:#ef4444d9;border-color:#ef4444e6;box-shadow:0 4px 16px #ef444466}.play-area__button--through.play-area__button--enabled{background:#94a3b8cc;color:#fff;border:2px solid rgba(148,163,184,.8);box-shadow:0 2px 8px #94a3b84d}.play-area__button--through.play-area__button--enabled:hover:not(:disabled){background:#94a3b8d9;border-color:#94a3b8e6;box-shadow:0 4px 16px #94a3b866}.play-area__button--disabled{opacity:.4;color:#64748b;cursor:not-allowed;background:#ffffff08;border:1px solid rgba(255,255,255,.05)}.play-area__button--disabled:hover{transform:none;background:#ffffff08;border-color:#ffffff0d}.play-area__button:disabled{cursor:not-allowed;opacity:.4}.play-area__button:disabled:hover{transform:none;background:#ffffff08}.play-area__button-text{font-weight:500}.play-area__button--enabled .play-area__button-text{font-weight:700}:root[data-aspect=portrait] .play-area__reaction-ui{max-width:90%}:root[data-aspect=portrait] .play-area__action-buttons{flex-direction:column;width:100%}:root[data-aspect=portrait] .play-area__button{width:100%;min-width:0}.play-area__reaction-preparing{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;color:#f8fafce6;font-size:14px;font-weight:500;-webkit-user-select:none;user-select:none;padding:8px 12px;background:#1e293b26;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-radius:12px;box-sizing:border-box}.play-area__reaction-preparing-spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.2);border-top-color:#fffc;animation:played-cards-spin .9s linear infinite}.play-area__reaction-preparing-text{color:#f8fafce6;font-size:14px;font-weight:500}.play-area__reaction-waiting{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:12px;color:#f8fafce6;font-size:14px;font-weight:500;-webkit-user-select:none;user-select:none;background:#1e293b26;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-radius:12px;padding:8px 12px;box-sizing:border-box}.play-area__reaction-waiting-text{color:#f8fafce6;font-size:14px;font-weight:500}@keyframes played-cards-spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.special-effect-declaration-area-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.special-effect-declaration-area{padding:2rem;background-color:#000000f2;border-radius:12px;color:#fff;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #00000080;border:2px solid rgba(0,102,204,.4)}.special-effect-declaration-area__title{font-size:1.2rem;font-weight:700;margin-bottom:.5rem;text-align:center}.special-effect-declaration-area__description{font-size:.9rem;margin-bottom:1rem;text-align:center;color:#ccc}.special-effect-declaration-area__rank-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;justify-content:center}.special-effect-declaration-area__rank-button{padding:.5rem 1rem;background-color:#333;color:#fff;border:2px solid #555;border-radius:4px;cursor:pointer;transition:all .2s;font-size:1rem;min-width:3rem}.special-effect-declaration-area__rank-button:hover:not(:disabled){background-color:#444;border-color:#666}.special-effect-declaration-area__rank-button--selected{background-color:#06c;border-color:#08f}.special-effect-declaration-area__rank-button:disabled{opacity:.5;cursor:not-allowed}.special-effect-declaration-area__selected-ranks{margin-bottom:1rem;padding:.75rem;background-color:#ffffff1a;border-radius:4px}.special-effect-declaration-area__selected-label{font-size:.9rem;margin-bottom:.5rem;color:#ccc}.special-effect-declaration-area__selected-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.special-effect-declaration-area__selected-rank{padding:.25rem .5rem;background-color:#06c;border-radius:4px;font-weight:700}.special-effect-declaration-area__selected-count{font-size:.9rem;color:gold;text-align:center}.special-effect-declaration-area__confirm-button{padding:.75rem 1.5rem;background-color:#06c;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:700;cursor:pointer;transition:background-color .2s;width:100%}.special-effect-declaration-area__confirm-button:hover:not(:disabled){background-color:#0052a3}.special-effect-declaration-area__confirm-button:disabled{background-color:#555;cursor:not-allowed}.game-info-area{display:flex;flex-direction:column;gap:calc(6px * var(--spacing-scale-base, 1));padding:calc(10px * var(--spacing-scale-base, 1));background:#1e293b;border-radius:calc(8px * var(--radius-scale-base, 1));min-height:0;min-width:0;overflow:hidden;height:100%;max-height:100%;box-sizing:border-box;transition:padding .3s ease,gap .3s ease,border-radius .3s ease}.game-info-area__header{display:flex;justify-content:space-between;align-items:center;border-bottom:calc(1px * var(--border-scale-base, 1)) solid rgba(255,255,255,.1);margin-bottom:calc(6px * var(--spacing-scale-base, 1));flex-shrink:0;padding-bottom:calc(6px * var(--spacing-scale-base, 1));height:auto;transition:margin-bottom .3s ease,padding-bottom .3s ease}.game-info-area__title{font-size:clamp(9px,calc(12px * var(--font-scale-base, 1)),14px);font-weight:600;color:#f8fafc;margin:0;transition:font-size .3s ease}.game-info-area__logs-container{flex:1 1 0;overflow-y:auto;overflow-x:hidden;min-height:0;max-height:100%}.game-info-area__logs-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:calc(4px * var(--spacing-scale-sm, 1));transition:gap .3s ease}.game-info-area__log-item{display:flex;gap:calc(8px * var(--spacing-scale-base, 1));font-size:clamp(6px,calc(10px * var(--font-scale-sm, 1)),12px);line-height:1.4;padding:calc(4px * var(--spacing-scale-sm, 1)) 0;border-bottom:calc(1px * var(--border-scale-base, 1)) solid rgba(255,255,255,.05);transition:font-size .3s ease,padding .3s ease,gap .3s ease}.game-info-area__log-time{color:#94a3b8;font-size:clamp(5px,calc(9px * var(--font-scale-sm, 1)),11px);flex-shrink:0;min-width:clamp(30px,calc(50px * var(--size-scale-base, 1)),60px);transition:font-size .3s ease,min-width .3s ease}.game-info-area__log-message{color:#e2e8f0;flex:1;word-break:break-word}.game-info-area__logs-empty{color:#64748b;font-size:clamp(8px,calc(10px * var(--font-scale-sm, 1)),12px);text-align:center;padding:calc(16px * var(--spacing-scale-base, 1));transition:font-size .3s ease,padding .3s ease}.game-info-area__logs-container::-webkit-scrollbar{width:clamp(3px,calc(4px * var(--size-scale-base, 1)),5px)}.game-info-area__logs-container::-webkit-scrollbar-track{background:#ffffff0d;border-radius:calc(2px * var(--radius-scale-base, 1))}.game-info-area__logs-container::-webkit-scrollbar-thumb{background:#fff3;border-radius:calc(2px * var(--radius-scale-base, 1))}.game-info-area__logs-container::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.loading-overlay__content{display:flex;flex-direction:column;align-items:center;gap:20px;color:#fff}.loading-spinner{position:relative;width:60px;height:60px}.spinner-ring{position:absolute;width:100%;height:100%;border:4px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.spinner-ring:nth-child(2){animation-delay:-.33s;border-top-color:#60a5fa}.spinner-ring:nth-child(3){animation-delay:-.66s;border-top-color:#34d399}@keyframes spin{to{transform:rotate(360deg)}}.loading-message{font-size:16px;font-weight:500;text-align:center}.loading-progress{width:200px;display:flex;flex-direction:column;gap:8px}.progress-bar{width:100%;height:8px;background:#fff3;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#60a5fa,#34d399);transition:width .3s ease}.progress-text{font-size:12px;text-align:center;opacity:.8}.loading-dots{display:flex;gap:8px}.dot{width:8px;height:8px;background:#fff;border-radius:50%;animation:bounce 1.4s infinite ease-in-out}.dot:nth-child(1){animation-delay:-.32s}.dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.six-take-card-selection-panel__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--six-take-overlay-backdrop);z-index:9999;pointer-events:auto}.six-take-card-selection-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10000;background:var(--six-take-panel-bg);border:var(--six-take-panel-border-width) solid var(--six-take-panel-border-color);border-radius:var(--six-take-panel-radius);padding:var(--six-take-panel-padding);box-shadow:var(--six-take-panel-shadow);min-width:var(--six-take-panel-min-inline);max-width:var(--six-take-panel-max-inline);max-height:var(--six-take-panel-max-block);overflow-y:auto;pointer-events:auto}.six-take-card-selection-panel__content{display:flex;flex-direction:column;gap:var(--six-take-content-gap)}.six-take-card-selection-panel__title{font-size:var(--six-take-title-size);font-weight:700;margin:0;text-align:center;color:var(--six-take-accent-color)}.six-take-card-selection-panel__subtitle{font-size:var(--six-take-subtitle-size);margin:0;text-align:center;color:#fff;line-height:1.6}.six-take-card-selection-panel__note{font-size:var(--six-take-note-size);color:#94a3b8;font-style:italic}.six-take-card-selection-panel__players{display:flex;flex-direction:column;gap:var(--six-take-players-gap)}.six-take-card-selection-panel__player-group{display:flex;flex-direction:column;gap:var(--six-take-player-group-gap)}.six-take-card-selection-panel__player-name{font-size:var(--six-take-player-name-size);font-weight:700;margin:0;color:var(--six-take-accent-color);padding:var(--six-take-player-name-padding-block) var(--six-take-player-name-padding-inline);background:var(--six-take-accent-bg);border-radius:var(--six-take-player-name-radius);border-left:var(--six-take-player-name-border-width) solid var(--six-take-player-name-border-color)}.six-take-card-selection-panel__hand{display:flex;flex-wrap:wrap;gap:var(--six-take-hand-gap);justify-content:flex-start;padding:var(--six-take-hand-padding);background:var(--six-take-hand-bg);border-radius:var(--six-take-hand-radius);min-height:var(--six-take-hand-min-block)}.six-take-card-selection-panel__card{cursor:pointer;transition:all .2s ease;position:relative;border-radius:var(--six-take-card-radius)}.six-take-card-selection-panel__card:hover{transform:translateY(calc(-1 * var(--six-take-card-hover-translate)))}.six-take-card-selection-panel__card.card--selected{transform:translateY(calc(-1 * var(--six-take-card-hover-translate))) scale(var(--six-take-card-selected-scale));box-shadow:var(--six-take-card-selected-shadow);z-index:10;border-radius:var(--six-take-card-radius)}.six-take-card-selection-panel__card.card--selected.card--face-down{background:linear-gradient(135deg,#3b82f633,#3b82f60d)}.six-take-card-selection-panel__card.card--selected.card--face-down:after{content:"✓";position:absolute;top:4px;right:4px;width:var(--six-take-card-checkmark-size);height:var(--six-take-card-checkmark-size);background:var(--six-take-card-checkmark-bg);color:var(--six-take-card-checkmark-color);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--six-take-card-checkmark-font-size);font-weight:700;z-index:20;box-shadow:0 2px 8px #3b82f680;animation:checkmark-appear .3s ease-out}@keyframes checkmark-appear{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.six-take-card-selection-panel__selected-count{font-size:var(--six-take-selected-count-size);color:var(--six-take-selected-count-color);text-align:center;font-weight:700;padding:var(--six-take-selected-count-padding-block) var(--six-take-selected-count-padding-inline);animation:text-pulse 2s ease-in-out infinite}@keyframes text-pulse{0%,to{opacity:.5}50%{opacity:1}}.six-take-card-selection-panel__confirm-button{padding:var(--six-take-confirm-padding-block) var(--six-take-confirm-padding-inline);background-color:var(--six-take-confirm-bg);color:#fff;border:none;border-radius:var(--six-take-card-radius);font-size:var(--six-take-confirm-font-size);font-weight:700;cursor:pointer;transition:background-color .2s;width:100%}.six-take-card-selection-panel__confirm-button:hover{background-color:var(--six-take-confirm-bg-hover)}.six-take-card-selection-panel__confirm-button:disabled{background-color:var(--six-take-confirm-bg-disabled);cursor:not-allowed}.game-log-dialog .modal{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.game-log-dialog .modal__content{padding:0;max-height:var(--game-log-modal-max-height);overflow:hidden;display:flex;flex-direction:column}.game-log-dialog__content{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.game-log-dialog .game-info-area{height:100%;min-height:var(--game-log-panel-min-height);max-height:var(--game-log-panel-max-height);border-radius:0;background:transparent}.game-log-dialog .game-info-area__logs-container{padding:var(--game-log-padding-block) var(--game-log-padding-inline);padding-top:var(--game-log-padding-top-no-title);max-height:calc(var(--game-log-panel-max-height) - var(--game-log-height-offset));overflow-y:auto}.game-log-dialog .game-info-area__log-item{font-size:var(--game-log-item-font-size);padding:var(--game-log-item-padding-block) 0}.game-log-dialog .game-info-area__log-time{font-size:var(--game-log-time-font-size);min-width:var(--game-log-time-min-inline)}.game-log-dialog .game-info-area__log-message{font-size:var(--game-log-message-font-size)}.game-rules-section{width:100%;max-width:var(--home-max-width);margin:0 auto;padding:0 var(--home-section-padding);margin-bottom:var(--home-margin-bottom);box-sizing:border-box}.game-rules-section__title{font-size:clamp(1.5rem,5vw,2.5rem);font-weight:700;color:#fff;text-align:center;margin-bottom:2rem;text-shadow:0 2px 4px rgba(0,0,0,.5)}.game-rules-section__container{display:grid;grid-template-rows:auto 1fr;gap:2rem;background:#1e293bcc;border-radius:16px;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0000004d}.game-rules-section__nav{position:sticky;top:2rem;height:fit-content;z-index:10}.game-rules-section__nav-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem;justify-content:center}.game-rules-section__nav-item{margin:0}.game-rules-section__nav-button{padding:.75rem 1.25rem;background:#3b82f633;border:1px solid rgba(59,130,246,.3);border-radius:8px;color:#e2e8f0;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center;box-sizing:border-box;white-space:nowrap}.game-rules-section__nav-button:hover{background:#3b82f64d;border-color:#3b82f680;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.game-rules-section__nav-button--active{background:#3b82f666;border-color:#3b82f699;color:#fff;font-weight:600}.game-rules-section__content{min-height:400px;background:#0f172ab3;border-radius:12px;padding:2.5rem;box-sizing:border-box;box-shadow:inset 0 2px 8px #0003;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth}.game-rules-section__content::-webkit-scrollbar{display:none}.game-rules-section__content{-ms-overflow-style:none;scrollbar-width:none}.game-rules-section__loading,.game-rules-section__error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#e2e8f0;gap:1rem}.game-rules-section__error{color:#f87171}.game-rules-section__markdown{color:#e2e8f0;line-height:1.9;font-size:1rem;scroll-behavior:smooth;text-align:left;max-width:100%}.game-rules-section__h1{font-size:2rem;font-weight:700;color:#fff;margin-top:0;margin-bottom:2rem;padding-bottom:.75rem;padding-left:0;border-bottom:3px solid rgba(59,130,246,.4);scroll-margin-top:2rem;position:relative;text-align:left}.game-rules-section__h1:before{content:"";position:absolute;left:0;bottom:-3px;width:60px;height:3px;background:#3b82f6cc;border-radius:2px}.game-rules-section__h1:hover .game-rules-section__anchor{opacity:1}.game-rules-section__h2{font-size:1.5rem;font-weight:600;color:#e2e8f0;margin-top:2.5rem;margin-bottom:1.25rem;padding-bottom:.5rem;border-bottom:2px solid rgba(59,130,246,.25);scroll-margin-top:2rem;position:relative;padding-left:.75rem;border-left:3px solid rgba(59,130,246,.3);text-align:left}.game-rules-section__h2:hover .game-rules-section__anchor{opacity:1}.game-rules-section__h3{font-size:1.25rem;font-weight:600;color:#e2e8f0;margin-top:2rem;margin-bottom:1rem;scroll-margin-top:2rem;padding-left:.75rem;border-left:2px solid rgba(59,130,246,.2);text-align:left}.game-rules-section__h3:hover .game-rules-section__anchor{opacity:1}.game-rules-section__anchor{position:absolute;left:-1.5rem;top:50%;transform:translateY(-50%);opacity:0;transition:opacity .2s ease;color:#3b82f699;text-decoration:none;font-size:1.2rem;font-weight:400}.game-rules-section__anchor:hover{color:#3b82f6e6}.game-rules-section__p{margin-bottom:1.25rem;color:#e2e8f0;line-height:1.9;text-align:left}.game-rules-section__p strong{color:#fbbf24;font-weight:600}.game-rules-section__ul,.game-rules-section__ol{margin-bottom:1.5rem;padding-left:2.5rem;color:#e2e8f0;text-align:left}.game-rules-section__li{margin-bottom:.75rem;color:#e2e8f0;line-height:1.8;position:relative}.game-rules-section__ul .game-rules-section__li::marker{color:#3b82f699}.game-rules-section__ol .game-rules-section__li::marker{color:#3b82f699;font-weight:600}.game-rules-section__table-wrapper{overflow-x:auto;margin:2rem 0;border-radius:8px;box-shadow:0 4px 12px #0003}.game-rules-section__table{width:100%;border-collapse:collapse;background:#1e293b99;border-radius:8px;overflow:hidden;min-width:300px}.game-rules-section__thead{background:linear-gradient(135deg,#3b82f666,#3b82f64d)}.game-rules-section__th{padding:1rem 1.25rem;text-align:left;font-weight:600;color:#fff;border-bottom:2px solid rgba(59,130,246,.6);font-size:.95rem;letter-spacing:.5px}.game-rules-section__td{padding:.875rem 1.25rem;border-bottom:1px solid rgba(59,130,246,.15);color:#e2e8f0;line-height:1.6}.game-rules-section__tr:last-child .game-rules-section__td{border-bottom:none}.game-rules-section__tr:hover{background:#3b82f61a}.game-rules-section__blockquote{margin:2rem 0;padding:1.25rem 1.75rem;border-left:4px solid rgba(59,130,246,.6);background:#3b82f61f;border-radius:8px;color:#e2e8f0;font-style:italic;box-shadow:0 2px 8px #00000026;line-height:1.8;text-align:left}.game-rules-section__code{background:#0006;padding:.25rem .5rem;border-radius:4px;font-family:Courier New,Consolas,Monaco,monospace;font-size:.9em;color:#fbbf24;border:1px solid rgba(251,191,36,.2)}.game-rules-section__pre{background:#00000080;padding:1.25rem;border-radius:8px;overflow-x:auto;margin:1.5rem 0;border:1px solid rgba(59,130,246,.2);box-shadow:0 2px 8px #0003}.game-rules-section__pre .game-rules-section__code{background:transparent;padding:0;color:#e2e8f0;border:none}.game-rules-section__a{color:#60a5fa;text-decoration:none;border-bottom:1px solid rgba(96,165,250,.4);transition:all .2s ease;font-weight:500}.game-rules-section__a:hover{color:#93c5fd;border-bottom-color:#93c5fdb3;background:#60a5fa1a;padding:0 .125rem;margin:0 -.125rem;border-radius:3px}@media (max-width: 1024px){.game-rules-section__container{gap:1.5rem;padding:1.5rem}.game-rules-section__content{padding:1.5rem}.game-rules-section__anchor{left:-1.25rem;font-size:1.1rem}}@media (max-width: 768px){.game-rules-section__container{gap:1rem;padding:1rem}.game-rules-section__nav{position:sticky;top:1rem}.game-rules-section__nav-list{gap:.5rem}.game-rules-section__nav-button{padding:.5rem .75rem;font-size:.85rem}.game-rules-section__content{padding:1rem}.game-rules-section__h1{font-size:1.5rem;padding-left:0}.game-rules-section__h2{font-size:1.25rem;padding-left:.5rem}.game-rules-section__h3{font-size:1.1rem;padding-left:.5rem}.game-rules-section__anchor{left:-1rem;font-size:1rem}.game-rules-section__ul,.game-rules-section__ol{padding-left:1.5rem}.game-rules-section__table-wrapper{margin:1.5rem -1rem;border-radius:0}}@media (max-width: 480px){.game-rules-section{padding:0 1rem}.game-rules-section__container{padding:1rem}.game-rules-section__content{padding:.75rem}.game-rules-section__nav-button{padding:.5rem;font-size:.8rem}.game-rules-section__h1{font-size:1.25rem;margin-bottom:1.5rem}.game-rules-section__h2{font-size:1.1rem;margin-top:2rem}.game-rules-section__h3{font-size:1rem;margin-top:1.5rem}.game-rules-section__p{font-size:.9rem;margin-bottom:1rem}.game-rules-section__anchor{left:-.75rem;font-size:.9rem}.game-rules-section__table-wrapper{margin:1rem -.75rem}.game-rules-section__th,.game-rules-section__td{padding:.5rem .75rem;font-size:.85rem}}.game-notification{position:relative;display:flex;flex-direction:column;gap:var(--notification-gap);max-width:var(--notification-max-inline-size);width:100%;pointer-events:none}.game-notification--fixed{position:fixed;inset-block-start:var(--notification-fixed-inset);inset-inline-end:var(--notification-fixed-inset);z-index:var(--layer-overlay, 1100);width:auto;max-width:var(--notification-max-inline-size);pointer-events:none}:root[data-aspect=portrait] .game-notification--fixed,:root[data-aspect=standard] .game-notification--fixed{inset-inline-start:var(--notification-fixed-inset);inset-inline-end:var(--notification-fixed-inset);width:calc(100% - (var(--notification-fixed-inset) * 2));max-width:none}.notification{display:flex;align-items:flex-start;gap:var(--notification-gap);padding:var(--notification-padding-block) var(--notification-padding-inline);background:#fff;border:1px solid #e2e8f0;border-radius:calc(.5rem * var(--ui-density-scale));box-shadow:0 4px 6px -1px #0000001a;cursor:pointer;pointer-events:auto;transition:all .3s ease;animation:slideIn .3s ease-out;position:relative;overflow:hidden}.notification:hover{transform:translate(-4px);box-shadow:0 8px 12px -2px #00000026}.notification--info{border-left:4px solid #3b82f6;background:linear-gradient(135deg,#eff6ff,#dbeafe)}.notification--success{border-left:4px solid #10b981;background:linear-gradient(135deg,#f0fdf4,#dcfce7)}.notification--warning{border-left:4px solid #f59e0b;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.notification--error{border-left:4px solid #ef4444;background:linear-gradient(135deg,#fef2f2,#fecaca)}.notification__content{flex:1;min-width:0}.notification__title{font-size:var(--notification-title-size);font-weight:600;color:#1e293b;margin-bottom:4px;line-height:1.2}.notification__message{font-size:var(--notification-message-size);color:#64748b;line-height:1.4;margin-bottom:4px}.notification__close{position:absolute;top:8px;right:8px;width:var(--notification-close-size);height:var(--notification-close-size);border:none;background:#0000001a;color:#64748b;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--notification-close-font-size);font-weight:700;transition:all .2s ease;flex-shrink:0}.notification__close:hover{background:#0003;color:#1e293b}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeInUp{0%{transform:translate(-50%,-40%);opacity:0}to{transform:translate(-50%,-50%);opacity:1}}.played-cards__notification .notification{animation:fadeInUp .3s ease-out}:root[data-aspect=portrait] .notification,:root[data-aspect=standard] .notification{gap:var(--space-xs)}.game-settings-menu{position:absolute;top:calc(100% + 8px);right:0;background:#1e293bf2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:8px;box-shadow:0 4px 12px #0000004d;min-width:180px;z-index:1000;overflow:hidden}.game-settings-menu__item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;border:none;background:transparent;color:#fff;cursor:pointer;transition:background-color .2s ease;text-align:left;font-size:14px}.game-settings-menu__item:hover{background:#ffffff1a}.game-settings-menu__item:active{background:#ffffff26}.game-settings-menu__icon{flex-shrink:0;width:16px;height:16px}.game-settings-menu__label{flex:1;white-space:nowrap}.game-rules-display-modal__content{max-height:70vh;overflow-y:auto;padding:0}.game-rules-display-modal__content::-webkit-scrollbar{width:8px}.game-rules-display-modal__content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.game-rules-display-modal__content::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.game-rules-display-modal__content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.game-rules-display-modal__content .game-rules-section__nav{position:static;top:auto}.game-rules-display-modal__scroll-top-button{position:fixed;bottom:var(--game-rules-scroll-button-offset);right:var(--game-rules-scroll-button-offset);width:var(--game-rules-scroll-button-size);height:var(--game-rules-scroll-button-size);border-radius:50%;background:#3b82f6e6;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000004d;transition:all .3s ease,opacity .4s ease,transform .4s ease;z-index:1000;padding:0;opacity:0;transform:translateY(10px) scale(.9);pointer-events:none}.game-rules-display-modal__scroll-top-button.game-rules-display-modal__scroll-top-button--visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.game-rules-display-modal__scroll-top-button--visible:hover{background:#3b82f6;transform:translateY(-2px) scale(1);box-shadow:0 6px 16px #0006}.game-rules-display-modal__scroll-top-button--visible:active{transform:translateY(0) scale(1);box-shadow:0 2px 8px #0000004d}.special-effect-announcement{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--layer-overlay, 1100);display:grid;place-items:center;padding:var(--layout-overlay-safe-inset);pointer-events:none}.special-effect-announcement__content{inline-size:min(var(--effect-announcement-max-inline),calc(100% - (var(--layout-overlay-safe-inset) * 2)));display:flex;flex-direction:column;align-items:center;gap:var(--effect-announcement-gap);text-align:center;color:#fff;background:var(--surface-overlay);border:1px solid var(--surface-overlay-border);border-radius:var(--effect-announcement-radius);padding-block:var(--effect-announcement-padding-block);padding-inline:var(--effect-announcement-padding-inline);box-shadow:var(--shadow-overlay)}.special-effect-announcement__title{font-size:var(--font-size-lg);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffc83d}.special-effect-announcement__player{font-size:var(--font-size-xl);font-weight:600}.special-effect-announcement__subtitle{font-size:var(--font-size-sm);color:#fffc}.special-effect-announcement__ranks{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--effect-announcement-rank-gap)}.special-effect-announcement__rank-badge{background:linear-gradient(135deg,#ff8a3d,#ffb347);padding:calc(var(--space-xs) * .75) var(--space-lg);border-radius:999px;font-weight:600;font-size:var(--font-size-base);min-inline-size:var(--effect-announcement-rank-min-inline)}.special-effect-announcement__message{font-size:var(--font-size-base);line-height:1.4}.developer-mode-toggle{position:fixed;top:10px;right:10px;z-index:10000;background:#000c;padding:8px 12px;border-radius:4px;border:2px solid #ff6b6b}.developer-mode-toggle__indicator{display:flex;align-items:center;color:#fff;font-size:12px;font-weight:700}.developer-mode-toggle__text{-webkit-user-select:none;user-select:none;color:#ff6b6b}.developer-cpu-reaction-control{position:fixed;bottom:20px;right:20px;z-index:10000;background:#000000e6;border:2px solid #ff6b6b;border-radius:8px;padding:16px;min-width:300px;max-width:400px;box-shadow:0 4px 12px #0000004d}.developer-cpu-reaction-control__header{margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #ff6b6b}.developer-cpu-reaction-control__title{color:#ff6b6b;font-size:16px;font-weight:700}.developer-cpu-reaction-control__content{display:flex;flex-direction:column;gap:12px}.developer-cpu-reaction-control__player{display:flex;flex-direction:column;gap:8px;padding:8px;background:#ffffff0d;border-radius:4px}.developer-cpu-reaction-control__player-name{color:#fff;font-size:14px;font-weight:700}.developer-cpu-reaction-control__buttons{display:flex;gap:8px;flex-wrap:wrap}.developer-cpu-reaction-control__button{flex:1;min-width:80px;padding:8px 12px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:700;transition:all .2s}.developer-cpu-reaction-control__button:disabled{opacity:.5;cursor:not-allowed}.developer-cpu-reaction-control__button--four-stop{background:#4ecdc4;color:#000}.developer-cpu-reaction-control__button--four-stop:hover:not(:disabled){background:#3ab5ad}.developer-cpu-reaction-control__button--doubt{background:#ff6b6b;color:#fff}.developer-cpu-reaction-control__button--doubt:hover:not(:disabled){background:#ff5252}.developer-cpu-reaction-control__button--through{background:#95a5a6;color:#fff}.developer-cpu-reaction-control__button--through:hover:not(:disabled){background:#7f8c8d}.game-layout{display:grid;grid-template-rows:auto 1fr;grid-template-columns:100%;height:100vh;max-height:100vh;width:100%;min-width:320px;max-width:100vw;background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;padding:0;overflow:hidden;box-sizing:border-box;transition:background .3s ease}body.revolution .game-layout{background:#4a1f1f}.game-header{grid-row:1 / 2;width:100%;display:flex;align-items:center;justify-content:space-between;gap:calc(12px * var(--spacing-scale-base, 1));height:auto;min-height:clamp(32px,calc(48px * var(--size-scale-base, 1)),64px);max-height:clamp(48px,calc(80px * var(--size-scale-base, 1)),100px);background:#ffffff0d;border-bottom:calc(1px * var(--border-scale-base, 1)) solid rgba(255,255,255,.1);padding:calc(6px * var(--spacing-scale-base, 1)) calc(12px * var(--spacing-scale-base, 1));flex-shrink:0;flex-wrap:nowrap;box-sizing:border-box;transition:padding .3s ease,gap .3s ease,min-height .3s ease,max-height .3s ease;overflow:visible;position:relative;z-index:300}.game-header__left{flex-shrink:0;display:flex;align-items:center;gap:calc(12px * var(--spacing-scale-base, 1));min-width:clamp(40px,calc(60px * var(--size-scale-base, 1)),80px);max-width:fit-content;overflow:hidden}.game-header__logo-title{display:flex;align-items:center;gap:calc(8px * var(--spacing-scale-base, 1));color:var(--color-primary-400, #60a5fa);font-weight:600;transition:opacity .2s ease}.game-header__logo-title:hover{opacity:.8}.game-header__logo-icon{flex-shrink:0;width:clamp(16px,calc(24px * var(--size-scale-base, 1)),32px);height:clamp(16px,calc(24px * var(--size-scale-base, 1)),32px);object-fit:contain;display:block;transition:width .3s ease,height .3s ease}.game-header__game-title{font-size:clamp(9px,calc(12px * var(--font-scale-base, 1)),14px);white-space:nowrap;transition:font-size .3s ease}.game-header__room-name{color:#fff;font-size:clamp(9px,calc(12px * var(--font-scale-base, 1)),14px);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:clamp(120px,calc(300px * var(--size-scale-base, 1)),400px);transition:font-size .3s ease,max-width .3s ease,display .3s ease;text-align:center}.game-header__center{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:calc(8px * var(--spacing-scale-base, 1));min-width:0;overflow:hidden}.game-header__right{flex-shrink:0;display:flex;align-items:center}.game-header__action-buttons{display:flex;gap:calc(8px * var(--spacing-scale-base, 1));flex-shrink:0;align-items:center}.game-header__settings-wrapper{position:relative;z-index:301}.game-header__action-button{width:clamp(28px,calc(32px * var(--size-scale-base, 1)),40px);height:clamp(28px,calc(32px * var(--size-scale-base, 1)),40px);border:none;border-radius:calc(6px * var(--radius-scale-base, 1));background:#ffffff1a;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease,width .3s ease,height .3s ease;padding:0}.game-header__action-button:hover{background:#fff3;transform:translateY(calc(-1px * var(--size-scale-base, 1)))}.game-header__button-icon{display:flex;align-items:center;justify-content:center;width:clamp(10px,calc(14px * var(--size-scale-base, 1)),18px);height:clamp(10px,calc(14px * var(--size-scale-base, 1)),18px);transition:width .3s ease,height .3s ease}.game-play-area{grid-row:2 / 3;display:flex;flex-direction:column;flex:1 1 auto;width:100%;max-width:100%;min-width:0;min-height:0;overflow:hidden;padding:0;box-sizing:border-box}.game-middle-section__two-column,.game-middle-section__three-column,.game-column,.game-top-section,.game-middle-section,.game-bottom-section{display:none}:root[data-aspect=standard] .game-header__game-title{display:none}:root[data-aspect=portrait] .game-header{flex-wrap:nowrap}:root[data-aspect=portrait] .game-header__game-title,:root[data-aspect=portrait] .game-header__room-name{display:none}
