@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&display=swap";:root{color:#1b3b2e;font-synthesis:none;--page:#f5f1e8;--ink:#1b3b2e;--muted:#718075;--line:#d9ded0;--lime:#d0eca0;--felt:#214e3c;--cream:#fffcf3;--red:#b94c4e;--hand-h:clamp(78px,calc((100vw - 100px)*.28),118px);background:#f5f1e8;font-family:DM Sans,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button,input{touch-action:manipulation}button{color:inherit}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #83a857}input:focus{outline-offset:2px;outline:2px solid #86a56a}button{border:0}a{color:inherit}button svg{flex-shrink:0}h1,h2,p{margin:0}em{font-family:Georgia,Times New Roman,serif;font-weight:400}input{width:100%;height:54px;color:var(--ink);border:1px solid var(--line);background:0 0;border-radius:12px;min-width:0;padding:0 15px;font-size:16px}input::placeholder{color:#929b8f}input:disabled{opacity:.6}label{color:#627365;margin-bottom:9px;font-size:12px;font-weight:500;display:block}.wordmark{letter-spacing:-1.8px;font:italic 32px/.9 Georgia,serif}.eyebrow{text-transform:uppercase;letter-spacing:2px;color:#6b7c6e;font-size:10px;font-weight:550;display:block}.text-button{background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:7px 6px;font-size:12px;display:inline-flex}.text-button:hover{background:#244a3108}.icon-button{background:0 0;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;display:grid}.icon-button:hover{background:#244a310a}.primary-button,.secondary-button{border-radius:13px;justify-content:space-between;align-items:center;width:100%;min-height:57px;padding:15px 19px;font-size:15px;font-weight:550;transition:background .15s,transform .15s;display:flex}.primary-button{background:var(--lime);color:#213f2d}.primary-button:hover:not(:disabled){background:#c2e486;transform:translateY(-1px)}.primary-button>span,.secondary-button>span{font-size:23px;line-height:1}.primary-button:disabled{opacity:.65}.secondary-button{border:1px solid var(--line);background:0 0}.secondary-button:hover:not(:disabled){background:#e9ede1}.home-nav{justify-content:space-between;align-items:center;gap:16px;height:85px;display:flex}.home-nav .text-button{color:#65776a}.home-page{flex-direction:column;max-width:1000px;min-height:100svh;margin:auto;padding:0 40px;display:flex}.home-main{flex:1;grid-template-columns:1fr 1fr;align-items:center;gap:80px;padding:40px 0 70px;display:grid}.home-intro{text-align:center;position:relative}.home-intro .eyebrow{letter-spacing:2.5px}.tiny-star{color:#839c65;vertical-align:-1px;margin-right:6px;font-size:16px}.home-intro h1{letter-spacing:-10px;margin:19px 0 14px;font:italic 156px/.96 Georgia,serif}.home-intro h1>span{color:#40654b}.home-tagline{color:#78816f;font-size:17px}.card-fan{width:252px;height:172px;margin:35px auto 0;position:relative}.card-fan .playing-card{width:94px;height:131px;position:absolute;box-shadow:0 10px 18px #28463214}.card-fan>.playing-card:first-child{top:17px;left:20px;transform:rotate(-20deg)}.card-fan>.playing-card:nth-child(2){z-index:1;top:0;left:82px;transform:rotate(2deg)}.card-fan>.playing-card:last-child{top:20px;left:143px;transform:rotate(20deg)}.entry-form{width:100%;max-width:350px;margin:0 auto}.entry-form .primary-button{margin-top:18px}.entry-form .secondary-button{margin-top:11px}.entry-note{text-align:center;color:#84907e;margin-top:22px;font-size:11px}.join-panel{margin-top:21px;animation:.2s arrive}.join-fields{align-items:center;gap:10px;display:flex}.join-fields input{letter-spacing:7px;text-transform:uppercase;text-align:center;padding-left:21px;font-size:22px}.join-button{color:#f7f9ec;background:#294d36;border-radius:12px;align-items:center;gap:15px;min-height:54px;padding:14px 21px;font-size:14px;display:flex}.join-button:disabled{opacity:.5}.home-footer{color:#8a9284;border-top:1px solid #dde1d2;justify-content:space-between;align-items:center;gap:12px;padding:23px 0;font-size:11px;display:flex}.footer-suits{letter-spacing:5px;color:#81907b;font-size:15px}.footer-suits i{color:#b67d72;font-style:normal}.lobby-page{flex-direction:column;max-width:480px;min-height:100svh;margin:0 auto;padding:0 28px;display:flex}.lobby-main{flex:1;padding:40px 8px 28px}.lobby-main h1{letter-spacing:-1.5px;margin:15px 0 30px;font:43px/1.12 Georgia,serif}.lobby-main h1 em{color:#5a7353}.room-code{-webkit-user-select:text;user-select:text;gap:10px;display:flex}.room-code>span{letter-spacing:2px;background:#e6ecdc;border-radius:14px;flex:1;place-items:center;height:78px;font-size:36px;font-weight:500;display:grid}.invite-actions{justify-content:center;align-items:center;gap:18px;margin:12px 0 27px;display:flex}.invite-actions .text-button{color:#62765f;font-size:11px}.invite-actions svg{width:15px;height:15px}.invite-divider{background:var(--line);width:1px;height:14px}.lobby-players{border-top:1px solid var(--line);margin-bottom:23px}.lobby-player{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:20px 0;display:flex}.avatar{color:#446039;background:#e1e9d9;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;font:22px Georgia,serif;display:grid}.empty-avatar{color:#94a08a;background:0 0;border:1px dashed #bdc8b2}.player-details{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.player-details strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:550;overflow:hidden}.player-details>span{color:#8b9683;font-size:10px}.player-status{color:#8b9683;text-align:right;font-size:10px}.ready-status{color:#526d3f}.ready-button{background:#e1ebd3}.lobby-note{text-align:center;color:#7c8973;min-height:32px;margin-top:15px;font-size:11px}.lobby-rules{color:#829078;margin:10px auto 0;font-size:11px;display:flex}.lobby-rules svg{width:16px;height:16px}.lobby-footer{color:#88917e;border-top:1px solid var(--line);align-items:center;gap:7px;padding:22px 0;font-size:10px;display:flex}.lobby-footer>span:last-child{margin-left:auto}.connection-dot{background:#b69766;border-radius:50%;flex:none;width:5px;height:5px;display:inline-block}.is-connected{background:#7d9c57}.loading-page{flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100svh;display:flex}.loading-page p{color:#79836f;font-size:14px}.waiting-dots{justify-content:center;gap:7px;margin:12px 0;display:flex}.waiting-dots i{background:#93ad74;border-radius:50%;width:5px;height:5px;animation:1.3s ease-in-out infinite breathe}.waiting-dots i:nth-child(2){animation-delay:.2s}.waiting-dots i:nth-child(3){animation-delay:.4s}.game-page{max-width:560px;margin:0 auto;padding:0 12px}.game-header{align-items:center;gap:18px;height:76px;padding:0 8px;display:flex}.game-header .wordmark{font-size:30px}.code-pill{letter-spacing:2px;background:#e9eddf;border-radius:50px;align-items:center;gap:8px;min-height:38px;padding:8px 12px;font-size:11px;font-weight:550;display:flex}.code-pill svg{opacity:.55;width:12px;height:12px}.game-tools{color:#7e8d75;align-items:center;gap:0;margin-left:auto;display:flex}.game-tools .icon-button[aria-pressed=true]{color:#365830;background:#e0e9d3}.felt{isolation:isolate;background:var(--felt);color:#f7f4e7;-webkit-user-select:none;user-select:none;background-image:radial-gradient(#fff5dc0a .6px,#0000 .6px);background-size:5px 5px;border-radius:23px;grid-template-rows:auto minmax(190px,1fr) auto auto;height:min(820px,100svh - 116px);min-height:500px;padding:20px 24px 17px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #3e6a4d}.opponent-area{border-bottom:1px solid #ffffff0e;padding:0 0 15px}.table-player{align-items:center;gap:9px;min-width:0;margin-bottom:16px;display:flex}.small-avatar{color:#d6e0c7;background:#ffffff0c;width:31px;height:31px;font-size:16px}.table-name{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.table-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.table-name>span{color:#a6bea0;font-size:9px}.table-presence{color:#afc6a6;white-space:nowrap;align-items:center;gap:5px;font-size:9px;display:flex}.table-presence .is-connected{background:#b6d999}.opponent-stacks{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;width:86%;max-width:380px;margin:10px auto 0;display:grid}.table-stack{width:100%;height:var(--hand-h);min-width:0;position:relative}.playing-card{background:var(--cream);color:#263f30;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;border:1px solid #e3e2d6;border-radius:9px;flex:none;padding:0;display:block;position:relative;overflow:hidden;box-shadow:0 3px 6px #0c2b2212}.card-corner{flex-direction:column;align-items:center;gap:2px;font:20px/1 Georgia,serif;display:flex;position:absolute;top:9px;left:9px}.card-corner>span:last-child{font-size:15px}.card-corner-bottom{inset:auto 9px 9px auto;transform:rotate(180deg)}.card-suit{place-items:center;font:52px/1 Georgia,serif;display:grid;position:absolute;inset:0}.red-card{color:var(--red)}.stack-layer{transform:translateY(calc(var(--layer)*-4px));background:#c9d3bd;border:1px solid #9db797;border-radius:8px;position:absolute;inset:0}.table-stack>.playing-card{width:100%;height:100%;position:absolute;inset:0}.opponent-stack{height:clamp(48px,18vw - 18px,72px)}.opponent-stack .card-corner{font-size:14px;top:6px;left:6px}.opponent-stack .card-corner>span:last-child{font-size:11px}.opponent-stack .card-corner-bottom{display:none}.opponent-stack .card-suit{justify-content:end;align-items:end;padding:0 6px 8px 0;font-size:28px}.opponent-stack .playing-card,.opponent-stack .stack-layer{border-radius:6px}.empty-stack{color:#ffffff35;background:0 0;border:1px dashed #ffffff21;border-radius:9px;place-items:center;width:100%;height:100%;display:grid;position:absolute;inset:0}.empty-stack span{font-size:22px;font-weight:400}.card-back{color:#456a42;background:#cbd9b4 repeating-linear-gradient(45deg,#52754e55 0 1px,#0000 1px 4px);border:3px solid #f4f0e1}.back-diamond{text-shadow:0 1px #e2ebd5;place-items:center;font-size:29px;display:grid;position:absolute;inset:0}.turn-label{letter-spacing:1px;color:#51734c;background:#f9f7ea;border-radius:3px;padding:3px 5px;font-size:8px;font-weight:650;position:absolute;bottom:6px;left:50%;transform:translate(-50%);box-shadow:0 1px 3px #204c3210}.flip-card:hover:not(:disabled){filter:brightness(1.06)}.same-rank-count{color:#67825a;background:#eaf0df;border-radius:3px;padding:3px;font-size:10px;position:absolute;top:7px;right:5px}.draggable-card{cursor:grab;touch-action:none}.draggable-card[aria-disabled=true]{cursor:default}.drag-source .draggable-card{opacity:.22}.stack-pending .playing-card{opacity:.55}.keyboard-selected{outline-offset:3px;outline:3px solid #d6efa4}.stack-target:before{content:"";background:#d0ec9a24;border-radius:12px;position:absolute;inset:-5px;box-shadow:0 0 0 1px #c8e58b70}.middle-area{flex-direction:column;justify-content:center;align-items:center;min-height:0;padding:15px 0 8px;display:flex}.centre-caption{text-transform:uppercase;letter-spacing:1.8px;color:#b6c8a8;text-align:center;min-height:14px;margin-bottom:19px;font-size:9px}.choice-caption{color:#d6eda4;text-transform:none;letter-spacing:0;font-size:12px}.centre-piles{justify-content:center;align-items:center;gap:26px;display:flex}.centre-slot{position:relative}.centre-card{aspect-ratio:5/7;width:clamp(82px,24vw,114px);transition:box-shadow .12s,transform .12s;overflow:visible;box-shadow:2px 3px #c9d4bd,4px 6px #94ae89,0 9px 14px #123b3025}.centre-card .card-suit{font-size:clamp(40px,12vw,57px)}.centre-card:disabled{cursor:default;opacity:1}.empty-centre{box-shadow:none;background:#ffffff04;border:1px dashed #ffffff2c}.pile-placeholder{letter-spacing:2px;color:#c0d0af;font-size:10px}.centre-card.hover-target{transform:translateY(-3px)}.choose-card{cursor:pointer!important}.choose-card:hover{transform:translateY(-4px)}.choose-label{color:#d2e9a6;white-space:nowrap;justify-content:space-between;align-items:center;width:100%;font-size:9px;display:flex;position:absolute;top:calc(100% + 13px)}.choose-label>span{font-size:14px}.game-hint{text-align:center;color:#b8cbae;max-width:330px;min-height:31px;margin-top:23px;font-size:10px;line-height:1.5}.choice-caption~.centre-piles+.game-hint{margin-top:39px}.your-area{padding-top:9px}.your-player{margin-bottom:20px}.you-label{color:#9cb891;margin-left:4px;font-size:9px;font-weight:400}.round-label{color:#bfceaf;background:#ffffff08;border-radius:30px;padding:6px 9px;font-size:9px}.your-stacks{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding-top:8px;display:grid}.your-stacks>div{min-width:0}.your-stacks .card-suit{justify-content:end;align-items:end;padding:0 7px 8px 0;font-size:clamp(25px,7vw,35px)}.your-stacks .card-corner-bottom{display:none}.deck-area{justify-content:space-between;align-items:center;gap:15px;padding-top:19px;display:flex}.spit-deck{text-align:left;color:#d2dfc3;background:#ffffff05;border:1px solid #ffffff17;border-radius:10px;align-items:center;gap:10px;min-width:159px;min-height:54px;padding:7px 12px 7px 8px;display:flex}.spit-deck strong{font-size:11px;font-weight:500;display:block}.spit-deck small{color:#aac29e;margin-top:3px;font-size:9px;display:block}.spit-deck:disabled{opacity:.7}.mini-deck{color:#d1dfc0;background:repeating-linear-gradient(45deg,#d1dec333 0 1px,#0000 1px 4px);border:2px solid #cdd9b7;border-radius:3px;place-items:center;width:26px;height:35px;font-size:16px;display:grid;box-shadow:-2px -2px #819d71}.spit-arrow{opacity:.6;margin-left:auto;padding-left:12px;font-size:19px}.spit-available{color:#244530;background:#cee99a;border-color:#cee99a;box-shadow:0 2px 9px #132e2620}.spit-available small{color:#60774d}.spit-available .mini-deck{color:#3f6336;background:#a9c97c;border-color:#577343;box-shadow:-2px -2px #9bb96d}.table-score{text-align:right;color:#b3c9a8;white-space:nowrap;font-size:12px}.table-score>span{color:#72976d;padding:0 5px}.table-score small{color:#87a57d;margin-top:4px;font-size:9px;display:block}.game-footer{color:#92a084;align-items:center;gap:6px;min-height:34px;padding:5px 9px;font-size:9px;display:flex}.game-footer>span:last-child{color:#a1aa94;margin-left:auto;font-size:9px}.game-footer .is-connected{background:#839c63}.drag-ghost{z-index:100;pointer-events:none;opacity:.98;position:fixed;transform:rotate(-4deg)scale(1.04);box-shadow:0 16px 28px #082b2b44}.drag-ghost .card-corner{font-size:clamp(18px,5vw,23px);top:8px;left:7px}.drag-ghost .card-corner-bottom{display:none}.drag-ghost .card-suit{justify-content:end;align-items:end;padding:0 8px 8px 0;font-size:32px}.table-overlay{z-index:10;border-radius:inherit;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#123d2bc9;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.overlay-card{color:#23412e;text-align:center;background:#f6f2e8;border-radius:20px;width:min(100%,360px);padding:30px 26px;animation:.2s arrive;box-shadow:0 16px 60px #032e2438}.overlay-card h2{letter-spacing:-1.2px;margin:17px 0;font:39px/1.12 Georgia,serif}.overlay-card h2 em{color:#6b8059}.overlay-card p{color:#8a9580;margin:12px 0 23px;font-size:12px;line-height:1.7}.overlay-card .primary-button{min-height:53px;font-size:13px}.overlay-card .eyebrow{letter-spacing:1.7px;font-size:8px}.pause-overlay .overlay-card{background:#f6f2e8}.countdown-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#153d2dc4;gap:17px}.countdown-overlay .eyebrow{color:#d0dfb4;font-size:11px}.countdown-number{letter-spacing:-7px;color:#e3efb9;font:italic 140px/.95 Georgia,serif;animation:.2s ease-out count-in}.countdown-note{color:#a9c198;font-size:10px}.next-round-counts{justify-content:center;align-items:center;gap:25px;padding:15px 0 25px;display:flex}.next-round-counts>span{overflow-wrap:anywhere;min-width:70px;max-width:110px;font-size:10px}.next-round-counts strong{margin:5px 0;font:40px/1.2 Georgia,serif;display:block}.next-round-counts small{color:#8f9b84;font-size:9px;display:block}.next-round-counts .count-versus{color:#a7b19a;min-width:0;font:italic 13px Georgia,serif}.result-suit{color:#79965e;margin:3px 0 20px;font:56px/1 Georgia,serif;display:block}.result-leave{color:#8a967e;margin:12px auto -8px;font-size:11px;display:flex}.dialog{color:#24412e;background:#f8f5ed;border:0;border-radius:22px;width:calc(100% - 32px);max-width:430px;max-height:calc(100svh - 40px);padding:32px;position:fixed;overflow:auto;box-shadow:0 20px 80px #14352833}.dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#18362987}.dialog-close{color:#7c8b71;position:absolute;top:12px;right:12px}.dialog .eyebrow{letter-spacing:1.4px;margin:10px 28px 0 0;font-size:9px}.dialog h2{letter-spacing:-1px;margin:17px 0;font:42px/1.06 Georgia,serif}.dialog h2 em{color:#7d9168}.rule-example{color:#9aaa87;justify-content:center;align-items:center;gap:27px;margin:24px 0;display:flex}.rule-example .playing-card{width:52px;height:74px}.rule-example .card-corner{font-size:13px;top:5px;left:5px}.rule-example .card-corner>span:last-child{font-size:10px}.rule-example .card-corner-bottom{display:none}.rule-example .card-suit{justify-content:end;align-items:end;padding:0 5px 7px 0;font-size:28px}.rules-list{color:#6e7e63;padding:0 0 0 18px;font-size:12px;line-height:1.65}.rules-list li{margin-bottom:14px;padding-left:7px}.rules-list strong{color:#314e33;font-weight:600}.rules-small{color:#9aa58e;margin:20px 0;font-size:10px;line-height:1.6}.dialog .primary-button{min-height:53px;font-size:13px}.leave-dialog{padding-top:40px}.leave-dialog h2{font-size:34px}.leave-dialog p{color:#8a967e;margin-bottom:24px;font-size:13px;line-height:1.7}.stay-button{color:#7a8a6d;margin:10px auto -8px;display:flex}.toast{z-index:1000;bottom:max(20px,env(safe-area-inset-bottom));color:#365339;background:#fffdf5;border:1px solid #dde2d1;border-radius:13px;align-items:center;gap:10px;width:max-content;max-width:min(460px,100% - 28px);padding:9px 10px 9px 17px;font-size:12px;line-height:1.5;animation:.15s toast-in;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 7px 30px #1c3b2b24}.toast>span{overflow-wrap:anywhere}.toast .icon-button{width:30px;height:34px}.toast svg{width:15px;height:15px}@keyframes arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes count-in{0%{opacity:.6;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes breathe{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@keyframes toast-in{0%{opacity:0;margin-bottom:-5px}to{opacity:1;margin-bottom:0}}@media (width<=759px){.home-page{max-width:440px;padding:0 27px}.home-nav{height:74px}.home-main{padding:20px 0 35px;display:block}.home-intro h1{letter-spacing:-9px;margin:19px 0 13px;font-size:128px}.home-tagline{font-size:14px}.home-intro .eyebrow{font-size:9px}.card-fan{height:155px;margin-top:30px;transform:scale(.95)}.entry-form{margin-top:15px}.home-footer{padding:19px 0;font-size:9px}.footer-suits{font-size:12px}.lobby-main{padding-top:28px}.lobby-main h1{font-size:40px}.lobby-main .room-code>span{height:72px;font-size:32px}.game-page{padding:0 9px}.game-header{gap:13px;height:70px;padding:0 5px}.game-header .wordmark{font-size:29px}.game-tools .icon-button{width:39px;height:42px}.game-tools svg{width:18px;height:18px}.felt{grid-template-rows:auto minmax(180px,1fr) auto auto;height:calc(100svh - 105px);min-height:490px;padding:18px 18px 14px}.game-footer{padding:6px 4px;font-size:8px}.game-footer>span:last-child{font-size:8px}.card-corner,.centre-card .card-corner{font-size:18px}.centre-card .card-corner>span:last-child{font-size:14px}.table-score{font-size:10px}.table-score small{font-size:8px}.table-name strong{font-size:11px}.opponent-area{padding-bottom:14px}.opponent-stacks{gap:8px}.middle-area{padding-top:13px}.centre-caption{letter-spacing:1.4px;margin-bottom:16px;font-size:8px}.game-hint{max-width:290px;font-size:9px}.deck-area{padding-top:17px}.spit-deck{min-width:153px;min-height:49px}.your-player{margin-bottom:16px}.round-label{font-size:8px}.your-stacks{gap:7px}}@media (width<=359px){.home-page{padding:0 22px}.home-intro h1{font-size:113px}.home-nav .text-button{font-size:11px}.lobby-page{padding:0 22px}.lobby-main{padding-left:0;padding-right:0}.lobby-main h1{font-size:36px}.game-header{gap:9px}.game-header .wordmark{font-size:27px}.code-pill{gap:5px;padding:7px 9px;font-size:10px}.game-tools .icon-button{width:37px}.felt{border-radius:18px;padding-left:14px;padding-right:14px}.your-stacks{gap:6px}.table-presence{font-size:8px}.opponent-stacks{gap:7px;width:88%}.overlay-card{padding:26px 19px}.overlay-card h2{font-size:33px}.centre-piles{gap:23px}.table-score{font-size:9px}.table-score small{font-size:8px}.spit-deck{min-width:145px}.game-header{height:65px}.felt{height:calc(100svh - 100px)}}@media (height<=720px) and (width<=759px){.home-main{padding-top:6px;padding-bottom:23px}.home-intro h1{margin-top:15px;font-size:110px}.card-fan{height:137px;margin-top:21px;transform:scale(.85)}.entry-form{margin-top:0}.entry-note{margin-top:17px}.home-nav{height:65px}.home-footer{padding:17px 0}.game-header{height:57px}.felt{--hand-h:78px;grid-template-rows:auto minmax(150px,1fr) auto auto;height:calc(100svh - 90px);min-height:425px;padding-top:13px;padding-bottom:11px}.table-player{margin-bottom:11px}.opponent-stack{height:46px}.opponent-stacks{max-width:260px;margin-top:8px}.opponent-area{padding-bottom:10px}.middle-area{padding-top:9px;padding-bottom:3px}.centre-caption{margin-bottom:11px}.centre-card{width:79px}.centre-card .card-suit{font-size:40px}.game-hint{max-width:275px;min-height:24px;margin-top:15px;font-size:8px}.your-player{margin-bottom:13px}.your-area{padding-top:4px}.deck-area{padding-top:13px}.spit-deck{min-height:43px;padding-top:5px;padding-bottom:5px}.mini-deck{width:22px;height:29px}.table-score small{font-size:8px}.game-footer{min-height:30px}.choice-caption~.centre-piles+.game-hint{margin-top:33px}.table-overlay{padding:16px}.countdown-number{font-size:110px}.overlay-card{padding:23px}.overlay-card h2{font-size:33px}.result-suit{margin-bottom:16px;font-size:43px}}@media (pointer:coarse){.text-button{min-height:44px}.game-tools .icon-button{width:42px;height:44px}.game-header{gap:9px}.toast .icon-button{width:38px;height:40px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.felt{--hand-h:clamp(64px,calc((100vw - 65px)*.235),105px);grid-template-rows:auto minmax(180px,1fr) auto auto;padding-left:20px;padding-right:20px}.your-stacks,.opponent-stacks{grid-template-columns:repeat(6,minmax(0,1fr));align-items:start;gap:7px;width:100%;max-width:none}.opponent-stacks{padding-top:8px;padding-bottom:20px}.opponent-stack,.opponent-stock .stock-anchor{height:clamp(48px,18vw - 14.4px,75px)}.your-stacks{padding-bottom:22px}.table-stack .playing-card,.stock-deck{border-radius:6px}.stack-layer{transform:translateY(calc(var(--layer)*-3px));border-radius:6px}.stock-slot{min-width:0;padding-left:2px;position:relative}.stock-anchor{height:var(--hand-h);width:100%;position:relative}.stock-deck{width:100%;height:100%;position:absolute;inset:0;overflow:visible;box-shadow:0 3px 7px #092a2426}.stock-deck:disabled{opacity:1}.stock-layer{transform:translate(calc(var(--layer)*.7px),calc(var(--layer)*-2px));background:#d7dfc8;border:1px solid #9ab28d;border-radius:6px;position:absolute;inset:0}.stock-caption{white-space:nowrap;text-align:center;color:#b2c6a3;width:100%;font-size:8px;position:absolute;top:calc(100% + 9px);left:0}.stock-tap-label{color:#21442e;letter-spacing:.7px;background:#e8f6bf;border-radius:3px;padding:3px 4px;font-size:8px;font-weight:700;position:absolute;bottom:5px;left:50%;transform:translate(-50%);box-shadow:0 1px 4px #123e2438}.stock-available{outline-offset:4px;cursor:pointer;outline:2px solid #d7eda8;animation:1.6s ease-in-out infinite stock-glow}.stock-waiting{outline-offset:3px;outline:1px solid #d7eda8}.empty-stock{color:#9db68f;box-shadow:none;background:#ffffff03;border:1px dashed #ffffff28}.empty-stock-symbol{place-items:center;font:20px Georgia,serif;display:grid;position:absolute;inset:0}.opponent-stock .card-back{border-width:2px}.opponent-stock .back-diamond{font-size:22px}.pile-anchor{aspect-ratio:5/7;width:clamp(82px,24vw,114px);position:relative}.centre-card{aspect-ratio:auto;width:100%;height:100%;box-shadow:none}.centre-card:not(.empty-centre){box-shadow:0 2px #dbe1ce,0 4px #a6b99a,0 7px #d0d9c0,0 11px 15px #0b302a24}.centre-card.legal-target{box-shadow:0 0 0 3px #d0eca0,0 4px #a6b99a,0 9px 18px #0b302a24}.centre-card.hover-target,.choose-card:hover{transform:none}.centre-card:not(.empty-centre):after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:-1px;box-shadow:inset 0 0 0 1px #fff8}.centre-caption:empty{display:none}.game-hint:empty{visibility:hidden}.deck-area{justify-content:flex-end;min-height:10px;padding-top:0}.game-footer .connection-dot{display:none}.round-announcement{z-index:20;pointer-events:none;white-space:nowrap;background:#1b412fdb;border:1px solid #d1e5ac30;border-radius:24px;padding:10px 19px;font:italic 24px Georgia,serif;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);box-shadow:0 5px 18px #0f342b22}.card-motion-layer{pointer-events:none;z-index:60;position:fixed;inset:0}.card-flight{transform-origin:0 0;perspective:850px;pointer-events:none;z-index:2;will-change:transform;position:fixed}.flight-turn{transform-style:preserve-3d;position:absolute;inset:0}.flight-front,.flight-back{backface-visibility:hidden;border-radius:6px;width:100%;height:100%;position:absolute;inset:0}.flight-front{transform:rotateY(0)}.flight-back{transform:rotateY(180deg)}.turn-face-up{animation:turn-up var(--turn-duration) cubic-bezier(.4,0,.2,1) var(--turn-delay) both}.turn-face-down{animation:turn-down var(--turn-duration) cubic-bezier(.4,0,.2,1) var(--turn-delay) both}.flight-underneath{z-index:0;pointer-events:none;border-radius:6px;position:fixed}.card-flight .card-corner,.flight-underneath .card-corner{font-size:clamp(15px,4.5vw,22px);top:7px;left:6px}.card-flight .card-corner>span:last-child,.flight-underneath .card-corner>span:last-child{font-size:12px}.card-flight .card-corner-bottom,.flight-underneath .card-corner-bottom{display:none}.card-flight .card-suit,.flight-underneath .card-suit{justify-content:end;align-items:end;padding:0 6px 7px 0;font-size:clamp(25px,7vw,38px)}.your-stacks .card-corner{font-size:clamp(16px,4.7vw,23px);top:6px;left:5px}.your-stacks .card-corner>span:last-child{font-size:12px}.your-stacks .card-suit{padding:0 5px 6px 0;font-size:clamp(23px,6vw,33px)}.lobby-main .lobby-title{margin:0 0 20px;font:22px/1.2 Georgia,serif}.home-main{align-items:center}.lobby-footer{border:0}.player-details>span:empty,.result-card p:empty{display:none}@keyframes turn-up{0%{transform:rotateY(180deg)}to{transform:rotateY(0)}}@keyframes turn-down{0%{transform:rotateY(0)}to{transform:rotateY(180deg)}}@keyframes stock-glow{50%{outline-color:#e6f8be;box-shadow:0 0 18px #dbf0ad38}}@media (width<=759px){.felt{padding-left:13px;padding-right:13px}.your-stacks,.opponent-stacks{gap:5px}.home-main{padding-top:25px}.entry-form,.home-intro h1{margin-top:8px}.card-fan{margin-top:22px}}@media (width<=359px){.felt{padding-left:10px;padding-right:10px}.your-stacks,.opponent-stacks{gap:3px}.your-stacks .card-corner{left:4px}.stock-slot{padding-left:0}.table-presence{display:none}}@media (height<=720px) and (width<=759px){.felt{--hand-h:68px;grid-template-rows:auto minmax(150px,1fr) auto auto;min-height:425px}.pile-anchor{width:79px}.opponent-stack,.opponent-stock .stock-anchor{height:49px}.opponent-stacks{max-width:none}.your-player{margin-bottom:11px}.opponent-area{padding-bottom:8px}.middle-area{padding-top:6px}.deck-area{min-height:4px}.your-stacks{padding-bottom:19px}}@media (prefers-reduced-motion:reduce){.card-flight{display:none}.stock-available{animation:none}.card-motion-layer style{display:none}}
