/* Online card games share the site palette, with a table that fits both touch and desktop. */
.classic-hand-cards .classic-card.is-new{outline:2px solid #89aa55;outline-offset:3px}.classic-hand .classic-keep-card{margin-top:11px}
.classic-hub{margin-top:24px}.classic-hub form>h2{margin-bottom:22px}.classic-hub input[readonly]{background:#f0f5eb;font-weight:650;color:#34513c}.classic-hub .classic-option{margin:20px 0}.classic-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}.classic-settings-grid .form-label{margin:0}.classic-settings-grid select,.classic-options select{margin-top:8px}.classic-options{display:grid;gap:12px;margin:20px 0}.classic-option{padding:14px;border:1px solid #d9e2d3;background:#f6f9f2;border-radius:12px}.classic-option strong{display:block;font-size:.91rem}.classic-option small{display:block;color:var(--muted);font-size:.8rem;line-height:1.5;margin-top:5px}.classic-hub .classic-option:first-of-type{background:#edf4e1}
.classic-game-mode .header-inner.game-header-inner{min-height:74px;gap:24px}.classic-header-status{display:flex;flex-direction:column;gap:3px;border-left:1px solid #ffffff29;padding-left:20px}.classic-header-status strong{color:#d8f36a;font-size:1.16rem}.classic-header-status small{font-size:.65rem;color:#bed0c3;white-space:nowrap}.classic-header-tools{display:flex;align-items:center;gap:8px;margin-left:auto}.classic-header-tools .button{background:#284537;border:1px solid #627e6566;color:#edf6e4;white-space:nowrap;font-size:.78rem;min-height:37px;padding:8px 12px}.classic-header-tools [aria-pressed="false"]{background:#183325;color:#bdcbbd}.classic-game-mode main{padding-top:22px;padding-bottom:38px}.classic-room{display:flex;flex-direction:column;gap:18px}.classic-room>.rule-summary{margin:3px 0 0}.classic-players{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.classic-player{display:flex;flex-direction:column;gap:5px;padding:12px 15px;background:#fff;border:1px solid #d8e1d1;border-radius:13px;min-width:0}.classic-player strong{font-size:.84rem;overflow-wrap:anywhere}.classic-player>span{font-size:.79rem;color:#54654f}.classic-player small{font-size:.7rem;color:#798871}.classic-player.is-current{background:#eaf3d4;border-color:#a6bb69;box-shadow:inset 0 0 0 1px #bacc8c}.classic-player.is-out{opacity:.6}.classic-player.is-self strong{color:#264b2e}.classic-turn-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:2px 2px 0}.classic-turn-bar .eyebrow{font-size:.7rem;margin:0 0 6px}.classic-turn-bar h1{font-size:clamp(1.2rem,2.4vw,1.75rem);line-height:1.25}.classic-countdown{flex:none;border:1px solid #becf9b;background:#eef5df;color:#43602e;padding:9px 12px;border-radius:9px;font-size:.79rem;white-space:nowrap;font-weight:750;font-variant-numeric:tabular-nums}.classic-countdown.is-urgent{background:#faece5;border-color:#dfb29d;color:#a14e32}.classic-countdown[hidden]{display:none}
.classic-felt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;min-height:265px;padding:27px 24px;background:radial-gradient(ellipse at 40% 25%,#39674d,#204c35 75%);border:7px solid #67503a;border-radius:30px;box-shadow:inset 0 0 0 2px #bda17766,inset 0 7px 26px #153c2955,0 3px 0 #44311f;color:#f4faec;text-align:center}.classic-felt>.eyebrow,.classic-felt .classic-two-piles .eyebrow{color:#bdd3b5;margin:0;font-size:.73rem}.classic-table-cards{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap}.classic-card{width:74px;height:108px;flex:0 0 74px;border-radius:8px;background:#fffef8}.classic-card.card-back{background:repeating-linear-gradient(45deg,#244b3c 0 4px,#315442 4px 6px)}.classic-card .card-corner{font-size:1.1rem}.classic-card .card-pip{font-size:2.2rem}.classic-card .card-corner small{font-size:.94rem}.classic-joker{font-size:.63rem;letter-spacing:.12em;font-weight:850;transform:rotate(-30deg)}.classic-empty-pile{font-size:1.2rem;font-weight:650;padding:20px 28px;min-height:105px;display:flex;flex-direction:column;justify-content:center;border:1px dashed #d8e7c962;border-radius:12px;color:#e2edd6}.classic-empty-pile small{font-size:.75rem;line-height:1.5;font-weight:400;max-width:240px;margin-top:3px;color:#b9ceb0}.classic-table-hint{font-size:.83rem;color:#c2d5b9;max-width:630px;line-height:1.6}.classic-hand{padding:20px 22px}.classic-hand>.section-heading{margin:0 0 16px;gap:12px}.classic-hand h2{font-size:1.05rem;white-space:nowrap}.classic-hand h2 small{font-size:.75rem;font-weight:500;color:#7b8871;margin-left:6px}.classic-hand .helper{margin:0;font-size:.76rem}.classic-hand-cards{display:flex;align-items:flex-end;gap:10px;overflow-x:auto;padding:11px 5px 8px;max-width:100%;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#afc099 transparent}.classic-hand-cards .classic-card{transition:transform .14s,border-color .14s;box-shadow:0 3px 5px #1b301119}.classic-hand-cards .classic-card.selected{transform:translateY(-8px);border-color:#809a39;box-shadow:0 0 0 3px #d8f36a,0 5px 7px #1b301126}.classic-hand-cards .classic-card:focus-visible{outline-offset:3px}.classic-action-bar{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:0 4px}.classic-action-bar .primary{min-width:170px;min-height:45px}.classic-action-bar .helper{font-size:.8rem;margin:0;text-align:center}.classic-own-score{margin-right:auto;font-weight:650;font-size:.85rem;color:#53694b}.classic-two-piles{display:flex;gap:54px;align-items:flex-start;justify-content:center}.classic-two-piles>div{display:flex;align-items:center;flex-direction:column;gap:13px}.classic-two-piles>div>small{font-size:.72rem;color:#c2d5b9}.classic-stock{width:82px;height:118px;flex:none}.classic-pile-button{padding:0;background:transparent;display:flex;min-height:0;border:0;border-radius:8px}.classic-pile-button .classic-card{width:82px;flex-basis:82px;height:118px}.classic-pile-button:disabled,.classic-stock:disabled{opacity:1;cursor:default}.classic-pile-button:not(:disabled):hover,.classic-stock:not(:disabled):hover{transform:translateY(-3px)}
.classic-round-result>h2{font-size:1.7rem}.classic-reveals{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:25px 0}.classic-reveals>article{padding:17px;background:#f2f6ed;border:1px solid #dbe4d0;border-radius:14px;min-width:0}.classic-reveals article>div:first-child{display:flex;flex-direction:column;gap:5px;margin-bottom:15px}.classic-reveals article strong{font-size:.94rem;overflow-wrap:anywhere}.classic-reveals article span:not(.playing-card):not(.card-corner):not(.card-pip){font-size:.8rem;color:#6a7c5f}.classic-reveals .classic-card{width:61px;flex-basis:61px;height:89px}.classic-reveals .card-corner{font-size:.9rem}.classic-reveals .card-corner small{font-size:.76rem}.classic-reveals .card-pip{font-size:1.85rem}
.classic-war-table{min-height:335px}.classic-war-sides{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:30px}.classic-war-sides>section{min-width:0}.classic-war-sides>section+section{border-left:1px solid #ffffff26;padding-left:30px}.classic-war-sides h2{font-size:1.05rem;color:#e8f1de;overflow-wrap:anywhere;margin-bottom:22px}.classic-war-sides p{font-size:.76rem;color:#bfd2b5;margin-top:17px}.classic-war-cards{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;align-items:center;min-height:108px}.classic-war-cards:has(.classic-card:nth-child(5)) .classic-card{width:56px;height:82px;flex-basis:56px}.classic-war-cards:has(.classic-card:nth-child(5)) .card-corner{font-size:.8rem;left:4px;top:4px}.classic-war-cards:has(.classic-card:nth-child(5)) .card-corner.bottom{left:auto;right:4px;bottom:4px;top:auto}.classic-war-cards:has(.classic-card:nth-child(5)) .card-corner small{font-size:.72rem}.classic-war-cards:has(.classic-card:nth-child(5)) .card-pip{font-size:1.6rem}.classic-finish{text-align:center;padding:20px 0 32px}.classic-finish h1{font-size:clamp(2rem,4vw,3.2rem);overflow-wrap:anywhere}.classic-finish p{color:#6f8067;margin-top:16px}.classic-placements{list-style:none;padding:0;margin:20px 0 27px}.classic-placements li{display:flex;gap:17px;align-items:center;padding:16px 0;border-bottom:1px solid #e2e8dc}.classic-placements li>strong{font-size:1.6rem;min-width:38px;color:#6f8455}.classic-placements li>div{display:flex;flex-direction:column;gap:5px;min-width:0}.classic-placements li span{font-weight:700;overflow-wrap:anywhere}.classic-placements li small{font-size:.78rem;color:#73836b}
@media(max-width:700px){.classic-game-mode .header-inner.game-header-inner{padding:12px 18px;gap:12px;flex-wrap:wrap}.classic-game-mode .brand{font-size:.95rem;gap:7px}.classic-game-mode .brand-mark{width:29px;height:29px;font-size:1.1rem;border-radius:9px}.classic-header-status{padding-left:12px}.classic-header-status strong{font-size:1rem}.classic-header-tools{gap:6px}.classic-header-tools .button{font-size:.7rem;padding:7px 9px;min-height:34px}.classic-game-mode main{padding:18px 18px 30px}.classic-players{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.classic-player{padding:10px 12px}.classic-player strong{font-size:.76rem}.classic-player>span{font-size:.72rem}.classic-room{gap:15px}.classic-turn-bar h1{font-size:1.2rem}.classic-countdown{font-size:.72rem;padding:7px 9px}.classic-felt{min-height:235px;border-width:5px;border-radius:23px;gap:20px;padding:23px 15px}.classic-table-hint{font-size:.76rem}.classic-hand{padding:17px 15px}.classic-hand>.section-heading{flex-wrap:wrap}.classic-hand .mode-actions{gap:8px}.classic-hand-cards{gap:9px}.classic-card{width:65px;flex-basis:65px;height:96px}.classic-card .card-corner{font-size:.96rem;left:5px}.classic-card .card-corner.bottom{left:auto;right:5px}.classic-card .card-corner small{font-size:.8rem}.classic-card .card-pip{font-size:1.9rem}.classic-action-bar{justify-content:flex-start;padding:0}.classic-action-bar .button{flex:1;font-size:.82rem}.classic-action-bar .primary{min-width:150px}.classic-own-score{width:100%;font-size:.83rem}.classic-war-table{min-height:280px}.classic-war-sides{gap:15px}.classic-war-sides>section+section{padding-left:15px}.classic-war-sides h2{font-size:.9rem;margin-bottom:16px}.classic-war-cards{gap:5px}.classic-two-piles{gap:43px}.classic-settings-grid{gap:12px}.classic-reveals{grid-template-columns:1fr}.classic-hub .page-heading{flex-wrap:wrap}}
@media(max-width:420px){.classic-header-tools{width:100%;margin-left:0;justify-content:flex-end;border-top:1px solid #ffffff15;padding-top:9px}.classic-header-tools .button{flex:1}.classic-header-status{margin-left:auto}.classic-turn-bar{gap:10px}.classic-turn-bar h1{font-size:1.1rem}.classic-countdown{font-size:.66rem;padding:7px}.classic-players{grid-template-columns:repeat(2,minmax(0,1fr))}.classic-war-cards .classic-card{width:51px;flex-basis:51px;height:76px}.classic-war-cards .card-corner{font-size:.76rem;left:4px;top:4px}.classic-war-cards .card-corner.bottom{inset:auto 4px 4px auto}.classic-war-cards .card-corner small{font-size:.66rem}.classic-war-cards .card-pip{font-size:1.55rem}.classic-war-cards .card-back span{height:31px;width:25px;font-size:1.2rem}.classic-war-cards:has(.classic-card:nth-child(5)) .classic-card{width:45px;flex-basis:45px;height:68px}.classic-war-sides h2{font-size:.79rem}.classic-war-sides p{font-size:.68rem}.classic-finish h1{font-size:2rem}.classic-round-result{padding:20px 16px}}
@media(prefers-reduced-motion:reduce){.classic-hand-cards .classic-card{transition:none}}
/* Each player controls only their own hidden cards. The server controls reveal/collection stages. */
.war-limit-field{grid-column:1/-1}.war-limit-field[hidden]{display:none}.war-limit-field input{margin-top:8px}
.war-arena{min-height:390px;padding:25px 26px 23px;gap:26px;overflow:hidden}.war-stations{display:grid;grid-template-columns:1fr 1fr;gap:38px;width:100%;align-items:start}.war-station{min-width:0}.war-station+ .war-station{padding-left:37px;border-left:1px solid #d0dfc92e}.war-player-heading{display:flex;align-items:center;justify-content:center;gap:12px;min-height:26px;margin-bottom:20px}.war-player-heading h2{font-size:1.06rem;line-height:1.35;color:#f0f7e8;overflow-wrap:anywhere}.war-player-clock{font-size:.69rem;font-variant-numeric:tabular-nums;color:#d7e9ba;padding:4px 7px;border-radius:6px;border:1px solid #c0d99950;white-space:nowrap}.war-player-clock.is-urgent{color:#ffdac3;border-color:#dba57788}.war-player-clock[hidden]{display:none}.war-player-table{display:flex;align-items:flex-start;justify-content:center;gap:20px;min-height:141px}.war-deck-wrap{display:flex;flex-direction:column;align-items:center;gap:13px;flex:0 0 90px;min-width:0}.war-deck-wrap>small{font-size:.72rem;white-space:nowrap;color:#c2d5b8}.war-arena .classic-card{width:72px;height:104px;flex:0 0 72px}.war-deck-wrap>.classic-card{flex:none}.war-deck-wrap .card-back{box-shadow:3px 3px 0 #fcfff7,5px 5px 0 #49614b,7px 7px 0 #f2f6e6,0 7px 12px #1426176b}.war-arena .war-back-button{cursor:pointer;opacity:1;touch-action:manipulation}.war-arena .war-back-button:disabled{opacity:1;cursor:default}.war-arena .war-back-button:not(:disabled){outline:2px solid #d6f18c;outline-offset:4px;transition:transform .15s,box-shadow .15s}.war-arena .war-back-button:not(:disabled):hover{transform:translateY(-4px);box-shadow:0 8px 18px #0b261954}.war-arena .war-back-button:not(:disabled):focus-visible{outline:3px solid #f0ffaf;outline-offset:5px}.war-stage-slots{display:flex;align-items:center;justify-content:center;gap:10px;min-height:104px;flex-wrap:wrap;min-width:0;perspective:600px}.war-stage-slots.has-choices{max-width:242px}.war-stage-card{display:flex;transform-origin:center;backface-visibility:hidden}.war-card-placeholder{width:72px;height:104px;border:1px dashed #d0e5bc66;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:8px;color:#b9d0ae;font-size:.66rem;line-height:1.5}.war-player-status{font-size:.76rem;line-height:1.5;color:#c4d6b9;min-height:23px;margin-top:14px}.war-station.is-own .war-player-status{color:#e4f4c9}.war-station.is-winner .war-player-heading h2{color:#e7ffac}.war-pot{display:flex;align-items:center;justify-content:center;gap:18px;min-height:80px;width:100%;padding-top:13px;border-top:1px solid #d5e7c82b}.war-pot>div:last-child{text-align:left;min-width:0;max-width:390px}.war-pot strong{display:block;color:#ecf5dc;font-size:.85rem}.war-pot p{font-size:.74rem;line-height:1.55;color:#bfd4b3;margin-top:4px}.war-pot-stack{position:relative;flex:0 0 40px;width:40px;height:55px;transform-origin:center;z-index:3;pointer-events:none}.war-pot-stack>i{position:absolute;inset:0;display:block;background:repeating-linear-gradient(45deg,#244b3c 0 4px,#355941 4px 6px);border:2px solid #e9f0de;border-radius:5px;box-shadow:0 3px 5px #0c261e6e}.war-pot-stack>i:nth-child(1){transform:translate(-6px,2px) rotate(-11deg)}.war-pot-stack>i:nth-child(2){transform:translate(5px,1px) rotate(9deg)}.war-pot-stack>i:nth-child(3){transform:translateY(-3px)}.war-flip-once{animation:war-card-flip .32s ease-out both}.war-deal-once{animation:war-card-deal .28s ease-out both}.war-deal-once[data-war-deal-index="1"]{animation-delay:.065s}.war-deal-once[data-war-deal-index="2"]{animation-delay:.13s}.war-pot-stack.war-collect-once{animation:war-card-collect .58s cubic-bezier(.3,.05,.45,1) both}.war-is-collecting .war-stage-slots{opacity:.4;transition:opacity .25s}
@keyframes war-card-flip{from{transform:rotateY(85deg) scale(.96);opacity:.25}to{transform:rotateY(0) scale(1);opacity:1}}
@keyframes war-card-deal{from{transform:translate(-35px,-8px) rotate(-7deg);opacity:.15}to{transform:translate(0,0) rotate(0);opacity:1}}
@keyframes war-card-collect{0%,12%{transform:translate(0,0) scale(1);opacity:1}100%{transform:translate(var(--war-collect-x,0),var(--war-collect-y,-100px)) scale(.7);opacity:.05}}
@media(max-width:850px){.war-stations{gap:24px}.war-station+ .war-station{padding-left:24px}.war-player-table{gap:12px}.war-arena .classic-card{width:60px;height:89px;flex-basis:60px}.war-deck-wrap>.classic-card{flex:none}.war-deck-wrap{flex-basis:74px}.war-stage-slots{min-height:89px;gap:7px}.war-stage-slots.has-choices{max-width:194px}.war-card-placeholder{width:60px;height:89px}.war-arena .card-corner{font-size:.9rem;top:4px;left:5px}.war-arena .card-corner.bottom{inset:auto 5px 4px auto}.war-arena .card-corner small{font-size:.77rem}.war-arena .card-pip{font-size:1.8rem}}
@media(max-width:620px){.war-arena{padding:20px 16px 17px;gap:18px;border-radius:23px}.war-stations{display:flex;flex-direction:column;gap:20px}.war-station{width:100%}.war-station.is-opponent{order:0}.war-station.is-own{order:1}.war-station+ .war-station{padding-left:0;border-left:0}.war-station.is-own{border-top:1px solid #d0dfc92e;padding-top:18px}.war-player-heading{margin-bottom:14px;gap:10px;justify-content:space-between}.war-player-heading h2{font-size:.85rem}.war-player-table{gap:18px;justify-content:center;min-height:110px}.war-deck-wrap{gap:10px;flex-basis:72px}.war-deck-wrap>small{font-size:.63rem}.war-arena .classic-card{width:58px;height:85px;flex-basis:58px}.war-deck-wrap>.classic-card{flex:none}.war-stage-slots{min-height:85px;gap:8px}.war-stage-slots.has-choices{max-width:190px}.war-card-placeholder{width:58px;height:85px;font-size:.59rem}.war-player-status{font-size:.68rem;margin-top:9px;min-height:20px}.war-pot{min-height:73px;gap:16px;padding-top:15px}.war-pot strong{font-size:.78rem}.war-pot p{font-size:.65rem}.war-pot-stack{width:32px;height:45px;flex-basis:32px}.war-arena .card-back span{width:27px;height:32px;font-size:1.15rem}}
@media(max-width:359px){.war-arena{padding-left:11px;padding-right:11px}.war-player-table{gap:10px}.war-deck-wrap{flex-basis:65px}.war-stage-slots{gap:6px}.war-arena .classic-card{width:51px;flex-basis:51px;height:76px}.war-deck-wrap>.classic-card{flex:none}.war-stage-slots.has-choices{max-width:165px}.war-card-placeholder{width:51px;height:76px}.war-stage-slots{min-height:76px}}
@media(prefers-reduced-motion:reduce){.war-flip-once,.war-deal-once,.war-pot-stack.war-collect-once{animation:none}.war-is-collecting .war-stage-slots,.war-arena .war-back-button{transition:none}}

.war-pot-stack.is-empty{border:1px dashed #cde0b75c;border-radius:6px}.war-pot-stack.is-empty>i{display:none}
