/* After Hours: a bespoke card-club skin. No build tools or image downloads. */
.center h3{animation:bidAppear .32s ease-out both}@keyframes bidAppear{from{opacity:0;translate:0 8px;filter:blur(3px)}to{opacity:1;translate:0 0;filter:blur(0)}}
:root{--ink:#eee6d2;--cream:#0b1617;--muted:#8eaaa3;--gold:#e2bb78;--line:#c2a27126;--red:#ae443e}body{background:radial-gradient(ellipse at 16% 15%,#20403955,transparent 46%),radial-gradient(ellipse at 90% 95%,#69502b24,transparent 45%),#0b1617;color:var(--ink);min-height:100vh}body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' opacity='.035' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");opacity:.5}header{height:94px;border-color:#d3b6761c;background:#0a141557}.brand{font-size:14px;letter-spacing:3px}.brand small{color:#b7a77f;font-size:7px}.brand-icon{background:linear-gradient(145deg,#edce91,#ab8145);color:#142825;box-shadow:0 4px 24px #e4bb7320;border:1px solid #f9e1ad;font-size:28px}.header-right{gap:12px}.connection{color:#a4b8a7;font-size:10px}.quiet{border-color:#ceb47d38;color:#d5d8c6;border-radius:30px;padding:11px 17px;font-size:11px;background:#ffffff03;transition:background .2s,transform .2s,border-color .2s}.quiet:hover{background:#d8b77813;border-color:#d8b77880;transform:translateY(-1px)}.home{gap:7%;min-height:calc(100vh - 160px);padding:55px 0 45px;grid-template-columns:1.25fr 1fr}.eyebrow{color:#c7aa72;font-size:9px;letter-spacing:2.4px}h1{font-size:clamp(42px,4.7vw,68px);font-weight:500;line-height:1.1;letter-spacing:-2px;margin:26px 0 23px}h1 em{color:#e7bd79;font-weight:500}.intro>p{font-size:14px;color:#9aafa6;line-height:1.9}.hero-cards{height:280px;margin:35px 0 4px 30px;perspective:900px}.hero-orbit{position:absolute;border:1px solid #d6b57220;inset:-20px 10px 0 -35px;max-width:430px;border-radius:50%;transform:rotate(-15deg);box-shadow:0 0 0 24px #d6b57204,0 0 0 25px #d6b57209}.hero-card{width:145px;height:204px;border:1px solid #eddbb7;border-radius:11px;background:linear-gradient(135deg,#fffcf0,#eae0c5);box-shadow:0 22px 35px #0006,inset 0 0 0 5px #fff9,inset 0 0 0 6px #d9c9aa;color:#1a3530;top:28px}.hero-card>span{font-size:90px;text-shadow:0 3px 0 #0001}.hero-card b{left:14px;top:15px;font-size:27px}.hero-card b small{font-size:19px}.hc-one{left:4px;color:#a83d3d;--hero-rotation:-20deg;transform:rotate(-20deg);animation:heroFloat 7s ease-in-out infinite}.hc-two{left:110px;top:0;--hero-rotation:-2deg;transform:rotate(-2deg);animation:heroFloat 7s ease-in-out -2s infinite;box-shadow:0 25px 45px #0008,inset 0 0 0 5px #fff9,inset 0 0 0 6px #d9c9aa}.hc-two>span{font-size:105px}.hc-three{left:220px;--hero-rotation:19deg;color:#a83d3d;transform:rotate(19deg);animation:heroFloat 7s ease-in-out -4s infinite}.seal{left:350px;top:145px;color:#d2b174;border-color:#9a81504d;background:#10211ee8;width:98px;height:98px;box-shadow:0 0 0 5px #0c1918,0 0 0 6px #b4985e33;font-size:6px;letter-spacing:1px}.seal strong{font-size:34px;line-height:1.3}.intro-foot{font-size:10px;color:#8ca198;display:flex;align-items:center;gap:15px;margin-top:0}.intro-foot .tiny-suits{color:#d5b278;font-size:15px;letter-spacing:5px;margin:0}.play-panel{position:relative;overflow:hidden;border-radius:20px;background:linear-gradient(145deg,#20322ed9,#14231fe8);border:1px solid #c9b78630;padding:33px;box-shadow:0 25px 80px #0004,inset 0 1px 0 #fff1;animation:panelEnter .7s ease-out both}.play-panel:before{content:'♣';position:absolute;right:-26px;top:-55px;font-family:Georgia,serif;font-size:220px;color:#cfb47a05;pointer-events:none}.play-panel h2{font-size:40px;margin:15px 0 26px;color:#f2e8d0}.play-panel label{font-size:10px;color:#9eb0a3}input{background:#08181580;border-color:#b6c2a62b;color:#ede7d5;border-radius:8px;padding:14px}input::placeholder{color:#6f8a7f}.mode{background:linear-gradient(110deg,#e4c68b,#c9a05e);color:#152821;box-shadow:0 6px 20px #d6af6610;border:1px solid #f3d79f44;padding:20px 15px;border-radius:10px;margin-top:22px;position:relative;overflow:hidden;transition:transform .22s,box-shadow .22s}.mode:after{content:'';position:absolute;inset:-100% -30%;background:linear-gradient(110deg,transparent 42%,#ffffff30 50%,transparent 58%);transform:translateX(-100%);transition:transform .6s}.mode:hover:after{transform:translateX(100%)}.mode:hover{box-shadow:0 8px 28px #c6a36630;transform:translateY(-3px)}.mode strong{font-size:15px}.mode small{font-size:10px}.mode-icon{font-size:32px}.mode+.mode{background:#33483e55;color:#dfe5d5;border:1px solid #b7c19d30;box-shadow:none}.divider{border-color:#a8b48e25;margin-top:32px}.divider span{background:#1a2b25;color:#8fa290;font-size:7px;letter-spacing:2px}.primary{background:linear-gradient(120deg,#e4c58b,#c39b5b);color:#172c24;border:1px solid #edce9144;border-radius:8px;font-weight:700;box-shadow:0 4px 15px #0002;transition:transform .2s,box-shadow .2s}.primary:hover{background:linear-gradient(120deg,#f1d59d,#d4ac6a);transform:translateY(-2px);box-shadow:0 8px 24px #0003}.panel-note{color:#849789;font-size:9px}.text-button{color:#d4b478}footer{border-color:#bca36c1c;color:#6f8b80;font-size:9px;padding-top:20px;padding-bottom:20px}.room-heading{margin:25px 0 20px}.room-heading h2{color:#e9e3d0;font-size:28px}.game-layout{grid-template-columns:minmax(0,1fr) 245px;gap:22px}.table-wrap{background:linear-gradient(160deg,#162d27,#10231e);border-color:#a48b5445;border-radius:24px;box-shadow:0 22px 65px #0005;overflow:visible}.table-top{color:#abbdab;font-size:8px;padding:16px 23px}.table-top #phase-badge{background:#d9bd7e12;color:#d9bd7e;border:1px solid #d9bd7e26;border-radius:20px;padding:5px 12px;margin-top:-5px}.felt{height:405px;margin:0 13px;border-radius:46%;border:10px solid #38463a;background:radial-gradient(ellipse at 50% 40%,#27664e,#174a39 58%,#103326);box-shadow:0 0 0 1px #d1b5715c,0 0 0 4px #132820,0 12px 25px #0005,inset 0 0 0 2px #c8b26d38,inset 0 0 75px #041b1499;overflow:visible}.felt:after{content:'';position:absolute;inset:8px;border:1px dashed #cbb87e30;border-radius:50%;pointer-events:none}.felt-ring{inset:45px 65px;border-color:#c6bd7d20;box-shadow:0 0 60px #d8c37405,inset 0 0 50px #152f2720}.seat{z-index:4;color:#e5e7d8;min-width:85px}.seat.top{top:0;transform:translate(-50%,-20%)}.seat.bottom{bottom:-8px;transform:translate(-50%,20%)}.seat.left{left:4px;top:42%;transform:translateX(-15%)}.seat.right{right:4px;top:42%;transform:translateX(15%)}.avatar{width:45px;height:45px;border:3px solid #284334;box-shadow:0 3px 12px #0005;background:linear-gradient(140deg,#f3d8a0,#b49358);color:#1a3529;font-size:21px}.seat.left .avatar,.seat.right .avatar{background:linear-gradient(140deg,#aec5bf,#6d9890)}.seat.active .avatar{outline:2px solid #f0ce86;outline-offset:3px;box-shadow:0 0 22px #eac17250;animation:turnGlow 2s ease-in-out infinite}.seat span{display:block;border-radius:6px;text-shadow:0 1px 6px #00190d;font-size:10px;font-weight:500}.seat small{font-size:7px;letter-spacing:1px;margin-top:6px;color:#a9c1a8}.seat.active small{color:#edcd8a}.card-backs{display:flex;justify-content:center;margin-top:8px;gap:0;height:20px}.mini-back{width:13px;height:20px;border:1px solid #d1b87888;border-radius:2px;margin-left:-5px;background:repeating-linear-gradient(45deg,#23483e 0 2px,#37604d 2px 3px);box-shadow:1px 1px 3px #0004}.seat.bottom .card-backs{display:none}.center{top:47%;width:65%}.center h3{font-family:'Playfair Display',Georgia,serif;font-size:25px;color:#f2e8ce;letter-spacing:-.3px}.center p{color:#a1bda6;font-size:11px}.table-wordmark{bottom:65px;font-size:8px;opacity:.13;letter-spacing:6px}.table-wordmark span{font-size:28px}.played{inset:65px 75px;z-index:3}.played .card{background:linear-gradient(140deg,#fffdf4,#e9dec3);box-shadow:0 8px 12px #00190b55;border-color:#e8daba;opacity:1;width:66px;height:94px}.card{background:linear-gradient(135deg,#fffdf2,#e9e0c9);color:#203e33;border:1px solid #e2d6b8;box-shadow:0 8px 18px #0004,inset 0 0 0 3px #ffffff70;border-radius:8px;font-weight:500}.card.red{color:#ac403d}.card .pip{font-size:36px}.card:disabled{opacity:1;filter:brightness(.82)}.played .card:disabled{filter:none}.hand-section{position:relative;min-height:175px;padding:28px 22px 5px}.hand-heading{color:#a0b09b;margin-bottom:23px;font-size:8px}#hint{color:#d8be86;font-size:9px}.hand{perspective:900px;min-height:110px;align-items:flex-start;padding-bottom:10px}.hand .card{flex-basis:71px;height:108px;margin-left:-10px;transform:translateY(var(--rise,0px)) rotate(var(--fan,0deg));transform-origin:50% 130%;transition:transform .22s,filter .22s,box-shadow .22s;z-index:1}.hand .card:first-child{margin-left:0}.hand .card.legal{border-color:#e3c17f;box-shadow:0 0 0 1px #e2be7f55,0 7px 20px #0004}.hand .card:not(:disabled):hover,.hand .card:focus-visible{transform:translateY(calc(var(--rise,0px) - 20px)) rotate(0deg) scale(1.08);z-index:5;filter:brightness(1.06);box-shadow:0 16px 27px #0007,0 0 18px #d9b77122}.controls{min-height:73px;padding:10px 20px 20px}.controls .quiet{background:#314d3e55;border-color:#aec59c33;color:#d6dfca}.controls label{color:#9eb09a;font-size:10px}.status-label{color:#8ea58e;font-size:10px}.score-panel,.activity-panel{background:linear-gradient(135deg,#20352b99,#17281f88);border:1px solid #bca87629;border-radius:15px;box-shadow:inset 0 1px 0 #fff04;padding:21px}.team-score{border-color:#bdb68a1c;padding:18px 0}.team-score span{font-size:12px;color:#e1e4d1}.team-score small{font-size:9px;color:#8ca08c}.team-score b{color:#e3c78a;font-size:34px}.score-note{color:#819581;font-size:8px}.contract{background:#091b1466;border:1px solid #bfa96820;border-radius:9px;padding:14px;font-size:10px;color:#abc0a7}.contract strong{color:#e1c588}#activity li{border-color:#bdb68a14;color:#8ba289;font-size:10px}#activity li:first-child{color:#e0cb94}.tip p{color:#7b967e}.tip>span{color:#ba9d65}dialog{background:#152920;color:#e6e5d5;border-color:#c0a36566;box-shadow:0 30px 120px #0009}dialog::backdrop{background:#030e0bce}dialog p{color:#a8b8a3}dialog .close{color:#cfb77c}#toast{background:#e5c78b;color:#173225;border:1px solid #ffdf9d;box-shadow:0 15px 40px #0006;animation:toastEnter .25s ease-out}.turn-meter{height:2px;background:#8ea88a22;border-radius:3px;margin:7px auto 0;width:58px;overflow:hidden}.turn-meter i{display:block;height:100%;background:#e1c483;transform-origin:left;transition:transform 1s linear}.table-event{position:absolute;top:26%;left:50%;transform:translateX(-50%);z-index:8;background:#10281ff2;color:#f1d9a4;border:1px solid #d7b37480;border-radius:30px;padding:10px 18px;font-size:11px;text-align:center;box-shadow:0 8px 30px #0006;pointer-events:none;white-space:nowrap}.table-event .event-suit{font-size:24px;margin-right:8px;vertical-align:middle}.trick-ghost{position:absolute;z-index:9;pointer-events:none}.table-wrap.revealed .felt{box-shadow:0 0 0 1px #ebc67b88,0 0 0 4px #132820,0 0 45px #dfb86a20,inset 0 0 75px #041b1499}.motion-off *,.motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@keyframes heroFloat{0%,100%{transform:translateY(0) rotate(var(--hero-rotation))}50%{transform:translateY(-12px) rotate(calc(var(--hero-rotation) + 2deg))}}@keyframes panelEnter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes turnGlow{50%{box-shadow:0 0 30px #edc47165;outline-color:#ffe8b9}}@keyframes toastEnter{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:1100px){.hero-card{width:125px;height:183px}.hc-two{left:95px}.hc-three{left:190px}.seal{left:280px;top:155px}.hero-cards{margin-left:15px;height:260px}.game-layout{grid-template-columns:minmax(0,1fr) 215px}.hand .card{flex-basis:62px;height:100px}.felt{height:390px}.play-panel{padding:27px}}
@media(max-width:780px){header{height:82px}.brand{font-size:11px;letter-spacing:2px}.brand small{font-size:6px}.header-right{gap:6px}.header-right .quiet{font-size:9px;padding:9px 11px}.home{grid-template-columns:1fr;gap:25px;padding:40px 0}.intro>.eyebrow{font-size:7px}h1{font-size:48px}.intro>p{font-size:12px}.hero-cards{width:340px;margin:30px auto 0;height:250px;text-align:left}.hero-orbit{inset:-5px 0 10px -5px}.hero-card{width:130px;height:185px}.hc-one{left:15px}.hc-two{left:105px}.hc-three{left:195px}.seal{left:265px;top:145px;width:80px;height:80px;font-size:5px}.seal strong{font-size:27px}.intro-foot{justify-content:center;font-size:9px;margin-top:0}.play-panel{max-width:480px;padding:30px}.game-layout{grid-template-columns:1fr}.felt{height:380px}.score-panel,.activity-panel{padding:18px}.hand .card{flex-basis:65px;height:100px}.room-heading h2{font-size:23px}.room-tools{flex-direction:row}.game-layout aside{grid-template-columns:1fr 1fr}.table-wrap{border-radius:19px}.felt-ring{inset:45px 45px}}
@media(max-width:430px){header{padding:0 4%;height:75px}.brand{gap:8px;font-size:10px;letter-spacing:1.5px}.brand small{font-size:5px;letter-spacing:1px}.brand-icon{width:33px;height:43px;font-size:23px}.header-right .quiet{font-size:8px;padding:8px}.home{padding-top:30px}h1{font-size:39px}.hero-cards{height:220px}.play-panel{padding:24px}.room-heading{flex-wrap:wrap;margin-top:22px}.room-heading h2{font-size:22px}.room-tools{width:100%;justify-content:flex-end}.felt{height:330px;margin:0 7px;border-width:7px;border-radius:40%}.felt:after{border-radius:42%}.felt-ring{inset:40px 30px;border-radius:40%}.seat{min-width:66px}.seat.top{top:0;transform:translate(-50%,-10%)}.seat.bottom{bottom:0;transform:translate(-50%,10%)}.seat.left{left:1px;transform:translateX(-10%)}.seat.right{right:1px;transform:translateX(10%)}.seat span{font-size:9px}.seat small{font-size:6px}.avatar{width:36px;height:36px;font-size:17px}.card-backs{height:16px}.mini-back{width:11px;height:16px}.played{inset:60px 37px}.played .card{width:52px;height:76px;font-size:17px}.played .p1{left:calc(50% - 78px)}.played .p3{right:calc(50% - 78px)}.played .p0,.played .p2{left:calc(50% - 26px)}.played .card .pip{font-size:24px}.center h3{font-size:20px}.center p{font-size:9px}.hand .card{flex-basis:44px;height:82px;margin-left:-5px;font-size:17px}.hand .card .pip{font-size:26px}.hand .card small{font-size:12px}.hand-section{min-height:150px;padding:24px 11px 3px}.hand-heading{font-size:7px}#hint{font-size:8px}.controls{padding:5px 10px 17px;min-height:64px}.table-wordmark{bottom:68px;font-size:6px;letter-spacing:4px}.table-top{font-size:7px;padding:15px}.table-top #phase-badge{font-size:6px;padding:5px 9px}.table-event{font-size:9px;padding:8px 12px;max-width:90%;white-space:normal}.score-panel,.activity-panel{padding:13px}.score-note{font-size:7px}.team-score small{font-size:8px}}
