@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=Nunito:wght@500;700;800;900&display=swap";:root{--page-inline: clamp(12px, 4vw, 70px);--header-height: clamp(68px, 9.6dvh, 92px);--body-copy: clamp(.875rem, .78rem + .28vw, 1.125rem);font-family:Nunito,sans-serif;font-size:clamp(14px,.82rem + .22vw,17px);color:#173b55;background:#e8f6fb;font-synthesis:none;overflow-x:hidden}img{user-select:none;-webkit-user-select:none;-webkit-user-drag:none}*{box-sizing:border-box}html,body,#app{width:100%;max-width:100%;min-height:100%;overflow-x:hidden}body{margin:0;min-height:100vh;overscroll-behavior-x:none}button{font:inherit}main{width:100%;max-width:100%;min-height:100vh;overflow-x:hidden;background:linear-gradient(180deg,#0884b4e0,#9edaeb8c 49%,#e9f4f1e6),radial-gradient(circle at 15% 30%,white 0 5%,transparent 6%),linear-gradient(120deg,#9bd9eb,#ecfafc);position:relative}main.playing{--play-header-height: var(--header-height);height:100dvh;min-height:0;overflow:hidden}main.playing header{height:var(--play-header-height)}main:after{content:"";position:fixed;top:58%;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,rgba(27,68,86,.06) 0 2px,transparent 2px 120px),linear-gradient(#e8f1ef,#cbd8d7);clip-path:polygon(0 12%,100% 0,100% 100%,0 100%);z-index:0}header{height:var(--header-height);padding:clamp(8px,1.4dvh,13px) var(--page-inline);display:flex;align-items:center;gap:clamp(7px,1.5vw,20px);position:relative;z-index:5}.brand{border:0;background:#fffaf0;border-radius:clamp(11px,1.25vw,16px);padding:clamp(5px,.7vw,8px) clamp(8px,1.2vw,15px) clamp(5px,.7vw,8px) clamp(7px,.8vw,10px);box-shadow:0 4px #c7d2d4,0 8px 18px #27627c44;display:flex;align-items:center;color:#15538a;cursor:pointer}.brand-mark,.mini-logo{display:grid;place-items:center;width:clamp(35px,min(4.2vw,5.2dvh),45px);height:clamp(35px,min(4.2vw,5.2dvh),45px);border-radius:clamp(9px,1vw,12px);background:#1e71b3;color:#f6ba2e;font-size:clamp(1.35rem,min(2.3vw,3.2dvh),1.8rem);margin-right:clamp(6px,.75vw,9px)}.brand span:last-child{display:grid;text-align:left;font-family:Barlow Condensed;line-height:.85;font-size:clamp(.875rem,min(1.55vw,2.3dvh),1.25rem)}.brand strong{color:#398d4a;font-size:clamp(1.2rem,min(2vw,3dvh),1.625rem)}.header-actions{margin-left:auto;display:flex;align-items:center;gap:clamp(8px,1.2vw,14px)}.connection-ticket{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:7px;align-items:center;min-width:104px;padding:6px 11px;border:2px dashed #8aa9b4;border-radius:8px;background:#fffaf0;color:#31566c;box-shadow:0 3px #aec3c9;font-family:Barlow Condensed;line-height:1}.connection-ticket>span{grid-row:1 / 3;width:9px;height:9px;border-radius:50%;background:#d7583d;box-shadow:0 0 0 3px #d7583d26}.connection-ticket.connected>span{background:#39a44d;box-shadow:0 0 0 3px #39a44d26}.connection-ticket b{font-size:.88rem;letter-spacing:.13em}.connection-ticket small{margin-top:2px;font-size:.58rem;font-weight:800;letter-spacing:.06em}.top-center-pill{flex:0 0 auto;margin:0 auto;display:inline-flex;align-items:center;justify-content:center;gap:clamp(6px,1vw,10px);height:clamp(34px,4.8dvh,40px);background:linear-gradient(135deg,#0e314bf5,#173e5bf0);border:2px solid #5daecb;border-radius:999px;padding:0 clamp(8px,1.2vw,14px);box-shadow:0 4px 14px #08213573,inset 0 1px #ffffff40;font-family:Barlow Condensed,sans-serif;color:#fff;animation:pill-fade-in .25s ease-out both;white-space:nowrap}@keyframes pill-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.stepper-step{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;font-size:clamp(.72rem,min(1.15vw,1.6dvh),.86rem);font-weight:900;letter-spacing:.06em;color:#79a6be;transition:all .25s ease}.stepper-step.active{background:#fff06a;color:#173b55;box-shadow:0 0 12px #fff06ad9;transform:scale(1.03)}.stepper-step.done{background:#257e4b;color:#dcfde4}.step-num{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#00000040;font-size:.65rem;line-height:1}.stepper-step.active .step-num{background:#173b55;color:#fff06a}.stepper-arrow{color:#4f809e;font-size:.75rem;line-height:1}.top-center-pill.rotating{border-color:#fa0;background:linear-gradient(135deg,#420e,#1f1000ee);color:#fa0;font-size:clamp(.75rem,min(1.2vw,1.6dvh),.9rem);font-weight:900;letter-spacing:.06em;gap:6px;box-shadow:0 0 14px #fa06}.top-center-pill.rotating .rotate-icon{display:inline-block;font-size:1.1em;animation:rotate-badge-spin 3s ease-in-out infinite}@media(max-width:768px){header{padding:clamp(4px,1dvh,8px) clamp(6px,2vw,12px);gap:6px}.brand{padding:3px 6px}.brand span:last-child{display:none}.brand-mark{margin-right:0;width:32px;height:32px;font-size:1.2rem}.connection-ticket{min-width:0;padding:3px 7px;column-gap:5px}.connection-ticket b{font-size:.78rem}.connection-ticket small{font-size:.52rem}.round-button{width:34px;height:34px;font-size:1rem;border-width:2px}.top-center-pill{height:32px;padding:0 8px;gap:5px}.stepper-step{padding:2px 6px;font-size:.7rem}}.round-button{margin-left:0;width:clamp(42px,min(4.7vw,6dvh),52px);height:clamp(42px,min(4.7vw,6dvh),52px);border:clamp(3px,.3vw,4px) solid #fff;background:#fff8e9;color:#23618b;border-radius:50%;font-size:clamp(1.25rem,min(2vw,3dvh),1.625rem);font-weight:900;box-shadow:0 5px #b5c6cc;cursor:pointer;display:grid;place-items:center;transition:transform .12s,box-shadow .12s}.round-button:hover{transform:translateY(-2px);box-shadow:0 7px #b5c6cc}.round-button:active{transform:translateY(2px);box-shadow:0 3px #b5c6cc}.sound-button{font-size:clamp(1.1rem,min(1.8vw,2.5dvh),1.35rem)}.landing{height:calc(100dvh - var(--header-height));min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);position:relative;z-index:1;max-width:1280px;margin:auto;padding:clamp(24px,5dvh,60px) clamp(24px,4.7vw,60px);align-items:center}.hero-copy{max-width:35.625rem}.eyebrow{color:#f3ae19;background:#fff9ec;padding:clamp(5px,.55vw,7px) clamp(9px,1vw,13px);border-radius:clamp(5px,.5vw,7px);font:800 clamp(.68rem,.58rem + .2vw,.82rem) "Nunito";letter-spacing:clamp(.8px,.12vw,1.5px);box-shadow:0 3px #d3dadb}h1{font:900 clamp(3.5rem,min(7vw,12dvh),6.75rem)/.78 "Barlow Condensed";margin:clamp(22px,min(2.5vw,4dvh),32px) 0;color:#fff;letter-spacing:clamp(-2px,-.16vw,-1px);text-shadow:0 6px 0 #15628d,0 10px 20px #1a526d77;text-transform:uppercase}h1 em{font-style:normal;color:#f9c52d}.hero-copy p{color:#173f58;font-size:var(--body-copy);line-height:1.6;max-width:31.875rem;font-weight:700}.primary{min-height:44px;border:clamp(2px,.25vw,3px) solid #fff;color:#fff;background:linear-gradient(#51c65a,#26973e);box-shadow:0 6px #176c31,0 9px 18px #154d4c55;padding:clamp(12px,min(1.25vw,2dvh),16px) clamp(18px,2vw,25px);border-radius:clamp(11px,1.2vw,15px);font-size:clamp(.8rem,.72rem + .2vw,1rem);font-weight:900;cursor:pointer;letter-spacing:.04em}.primary span{padding-left:clamp(12px,1.6vw,20px)}.text-button{min-height:44px;border:0;background:transparent;color:#155984;font-size:clamp(.8rem,.72rem + .2vw,1rem);font-weight:900;padding:clamp(12px,1.6vw,20px);text-decoration:underline;cursor:pointer}.hero-art{height:clamp(320px,min(45vw,65dvh),580px);position:relative}.hero-card{position:absolute;width:clamp(140px,min(20vw,30dvh),270px);border-radius:12%;box-shadow:0 20px 35px #163f5277}.card-one{left:30%;top:22%;transform:rotate(10deg)}.card-two{left:4%;top:26%;transform:rotate(-15deg)}.card-three{right:0;top:36%;transform:rotate(20deg)}.stamp{position:absolute;right:6%;top:4%;border:clamp(3px,.45vw,6px) double #fff8;color:#fff9;font:900 clamp(1rem,min(1.9vw,2.8dvh),1.5rem) "Barlow Condensed";padding:clamp(7px,.95vw,12px);transform:rotate(10deg);border-radius:50%;text-align:center}.durian{position:absolute;z-index:4;left:38%;top:53%;font-size:clamp(5.5rem,min(12.5vw,20dvh),10rem);color:#8ca829;filter:drop-shadow(0 14px 10px #31523055)}.game-shell{position:relative;z-index:1;max-width:1240px;margin:auto;padding:clamp(4px,.5dvh,5px) clamp(8px,7.65vw,95px) clamp(8px,2.5dvh,24px)}main.playing .game-shell{height:calc(100dvh - var(--play-header-height));display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,584px) auto;align-content:start;padding-bottom:clamp(8px,2.5dvh,24px)}.board-area{width:100%;max-width:660px;min-width:0;margin:auto}main.playing .board-area{width:100%;height:100%;min-height:0;display:grid;place-items:center;container-type:size}.grid-wrap{overflow:hidden;background:linear-gradient(90deg,#164e78,#2d83b5 6%,#6eb6d0,#2d83b5 94%,#164e78);padding:clamp(10px,3.03%,20px) clamp(28px,8.79%,58px);border:clamp(3px,.75vw,5px) solid #eff9f9;border-radius:clamp(18px,3vw,28px);position:relative;box-shadow:0 8px #174b6c,0 15px 30px #174b6c55}main.playing .grid-wrap{width:auto;height:min(584px,calc(100cqh - clamp(8px,2.5dvh,25px)));max-width:100%;aspect-ratio:660 / 584;padding:3.03% 8.79%}.game-grid{--grid-gap: clamp(4px, 1.06cqw, 7px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-width:0;gap:var(--grid-gap);position:relative;z-index:2}.grid-card,.hand-card{padding:0;border:0;background:transparent;position:relative;cursor:pointer;border-radius:13%;transition:transform .15s,filter .15s;aspect-ratio:1;touch-action:none;user-select:none;-webkit-user-select:none}.grid-card img,.hand-card img{width:100%;height:100%;object-fit:cover;border-radius:12%;display:block;transition:transform .2s;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.game-grid.intro-grid{pointer-events:none;transform-origin:center bottom;animation:luggage-grid-push .9s cubic-bezier(.3,.08,.2,1) both}.scanner-sequence{position:absolute;z-index:8;top:3.03%;right:8.79%;bottom:3.03%;left:8.79%;overflow:hidden;border-radius:clamp(9px,1.5vw,14px);pointer-events:none;animation:scanner-visibility 1.45s ease .55s both}.scanner-label{position:absolute;z-index:2;top:50%;left:50%;display:grid;min-width:clamp(132px,36%,190px);padding:clamp(6px,1.4cqw,9px) clamp(9px,2cqw,13px);border:clamp(2px,.45cqw,3px) solid #d9fbff;border-radius:clamp(7px,1.2cqw,10px);color:#fff;background:#082f4ae8;box-shadow:0 5px 14px #052c4799,inset 0 0 15px #46d8ff33;font:900 clamp(.62rem,2.2cqw,.82rem) "Barlow Condensed";letter-spacing:.08em;text-align:center;transform:translate(-50%,-50%);animation:scanner-readout 1.3s ease .7s both}.scanner-label small{color:#76e6ff;font-size:.72em;letter-spacing:.12em}.scanner-beam{position:absolute;inset:-5% auto -5% 0;width:clamp(26px,9%,48px);border-inline:2px solid #a9f4ff;background:linear-gradient(90deg,transparent,#82eaff8f 45%,#d8fbffde 50%,#82eaff8f 55%,transparent);box-shadow:0 0 18px #2bd7ff,0 0 42px #2bd7ff99;animation:xray-sweep 1.15s cubic-bezier(.35,0,.65,1) .72s both}@keyframes luggage-grid-push{0%{transform:translateY(-112%)}68%{transform:translateY(3.5%) scaleY(.975)}84%{transform:translateY(-1.25%) scaleY(1.008)}to{transform:none}}@keyframes scanner-visibility{0%,to{opacity:0}10%,82%{opacity:1}}@keyframes scanner-readout{0%{opacity:0;transform:translate(-50%,-42%) scale(.88)}18%,72%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-58%) scale(.96)}}@keyframes xray-sweep{0%{transform:translate(-140%)}to{transform:translate(calc(100cqw - 10%))}}.grid-card.being-pushed{z-index:5;pointer-events:none;transition:transform .7s cubic-bezier(.22,.76,.31,1),opacity .22s ease .48s,filter .15s}.grid-card.push-up{transform:translateY(calc(-100% - var(--grid-gap)))}.grid-card.push-right{transform:translate(calc(100% + var(--grid-gap)))}.grid-card.push-down{transform:translateY(calc(100% + var(--grid-gap)))}.grid-card.push-left{transform:translate(calc(-100% - var(--grid-gap)))}.grid-card.pushed-out{opacity:0}.grid-card.eligible{filter:drop-shadow(0 0 5px #ffe95b)}.grid-card.eligible:not(.being-pushed):hover,.grid-card.center:not(.being-pushed):hover{transform:translateY(-3px) scale(1.04);z-index:4}.grid-card.center{outline:4px solid #ffdb32;outline-offset:-3px}.grid-card.ai-inspecting{z-index:7;animation:ai-inspect-pulse .7s ease-in-out both}@keyframes ai-inspect-pulse{0%,to{filter:none;transform:none}45%,70%{filter:drop-shadow(0 0 10px #75edff) brightness(1.13);transform:translateY(-4px) scale(1.06)}}.grid-card.rotatable{z-index:25!important;outline:4px solid #fff06a!important;outline-offset:2px;cursor:pointer!important;filter:drop-shadow(0 0 16px #fff06a) drop-shadow(0 8px 18px rgba(0,0,0,.75))!important;transform:scale(1.08)!important;animation:rotatable-card-pulse 1.6s infinite ease-in-out!important}@keyframes rotatable-card-pulse{0%,to{transform:scale(1.06);filter:drop-shadow(0 0 12px #fff06a) drop-shadow(0 8px 18px rgba(0,0,0,.75))}50%{transform:scale(1.1);filter:drop-shadow(0 0 22px #ffe600) drop-shadow(0 8px 24px rgba(0,0,0,.85))}}.grid-card.dimmed-for-rotate{filter:brightness(.25) saturate(.25) grayscale(.3)!important;opacity:.35!important;pointer-events:none!important;transition:filter .3s ease,opacity .3s ease}.rotate-overlay-badge{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12%;box-shadow:inset 0 0 0 clamp(2px,.5cqw,3px) #fff06a;pointer-events:none;z-index:10}.rotate-direction{position:absolute;display:grid;place-items:center;width:40%;min-width:24px;max-width:36px;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:#fff06a;color:#173b55;border:2px solid #fff;box-shadow:0 2px 8px #00000073;animation:rotate-nudge-up .9s ease-in-out infinite alternate}.icon-arrow{width:62%;height:62%;display:block;transition:transform .2s ease}.icon-rotate{width:1em;height:1em;display:block}.dir-0 .rotate-direction{left:50%;top:0;animation-name:rotate-nudge-up}.dir-1 .rotate-direction{left:100%;top:50%;animation-name:rotate-nudge-right}.dir-2 .rotate-direction{left:50%;top:100%;animation-name:rotate-nudge-down}.dir-3 .rotate-direction{left:0;top:50%;animation-name:rotate-nudge-left}@keyframes rotate-nudge-up{to{margin-top:-4px}}@keyframes rotate-nudge-right{to{margin-left:4px}}@keyframes rotate-nudge-down{to{margin-top:4px}}@keyframes rotate-nudge-left{to{margin-left:-4px}}.rotate-badge-text{position:absolute;left:50%;top:calc(100% + clamp(6px,1.6cqw,10px));transform:translate(-50%);white-space:nowrap;font-family:Barlow Condensed,sans-serif;font-size:clamp(.6rem,2cqw,.78rem);font-weight:900;letter-spacing:.1em;color:#fff;background:#173b55ee;border:1.5px solid #fff06a;padding:3px 9px;border-radius:999px;box-shadow:0 2px 6px #00000080;text-transform:uppercase}.rotate-badge-text i{display:inline-block;vertical-align:-.15em;color:#fff06a;font-size:1.2em;margin-right:3px;animation:rotate-badge-spin 4s ease-in-out infinite}.dir-2 .rotate-badge-text{top:calc(100% + clamp(6px,1.6cqw,10px) + 18px)}.grid-card.lower-half .rotate-badge-text{top:auto;bottom:calc(100% + clamp(6px,1.6cqw,10px))}.grid-card.lower-half .dir-0 .rotate-badge-text{bottom:calc(100% + clamp(6px,1.6cqw,10px) + 18px)}.center-swap-pill{position:absolute;left:50%;bottom:8%;transform:translate(-50%);display:flex;align-items:center;gap:3px;background:#173b55ee;color:#fff06a;border:1.5px solid #fff06a;padding:2px 6px;border-radius:999px;font:900 clamp(.55rem,1.2cqw,.68rem)/1 "Barlow Condensed";letter-spacing:.06em;box-shadow:0 2px 8px #0006;pointer-events:none;animation:swap-pill-pulse 1.8s ease-in-out infinite;z-index:5}@keyframes swap-pill-pulse{0%,to{transform:translate(-50%) scale(1);filter:drop-shadow(0 0 3px #fff06a)}50%{transform:translate(-50%) scale(1.08);filter:drop-shadow(0 0 8px #fff06a)}}.board-area{position:relative}.rotation-controls{position:absolute;left:50%;bottom:clamp(6px,1.6cqh,12px);z-index:30;display:flex;align-items:center;gap:clamp(8px,1.8cqw,14px);padding:clamp(6px,1.2cqh,9px) clamp(10px,1.8cqw,16px);border:3px solid #fff06a;border-radius:999px;background:#0d2b42f8;color:#fff;box-shadow:0 6px 20px #0009,0 0 14px #fff06a66;font-size:clamp(.7rem,min(2cqw,2.2cqh),.85rem);font-weight:900;white-space:nowrap;transform:translate(-50%);animation:rotation-controls-appear .3s cubic-bezier(.18,.89,.32,1.28) both}@keyframes rotation-controls-appear{0%{transform:translate(-50%,20px) scale(.9);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}.rotation-tip{display:flex;align-items:center;gap:6px;color:#fff;letter-spacing:.02em}.rotation-tip b{display:inline-block;color:#fff06a;font-size:1.25em;line-height:1}.rotation-done-btn{min-height:clamp(32px,4.8cqh,38px);padding:clamp(5px,1cqh,8px) clamp(12px,2cqw,18px);border:2px solid #fff;border-radius:999px;background:linear-gradient(135deg,#51c65a,#26973e);color:#fff;font-family:Barlow Condensed,sans-serif;font-size:clamp(.8rem,2cqw,.95rem);font-weight:900;letter-spacing:.06em;cursor:pointer;box-shadow:0 3px 8px #00000059;transition:transform .15s ease,filter .15s ease}.rotation-done-btn:hover{transform:scale(1.05);filter:brightness(1.1)}.rotation-done-btn:active{transform:scale(.96)}.exit{position:absolute;inset:38% auto auto 42%;color:#fff;font-size:clamp(1.1rem,4.25cqw,1.75rem);text-shadow:0 2px 5px #17456d;animation:nudge .8s infinite alternate}@keyframes nudge{to{transform:scale(1.25)}}.grid-card.unusable{cursor:not-allowed;filter:brightness(.88) saturate(.85)}.ineligible-mark{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;color:#ff4757;font-size:clamp(1.4rem,5.2cqw,2.2rem);font-weight:900;text-shadow:0 2px 8px #081d2f,0 0 12px rgba(255,71,87,.9);animation:mark-pop .2s cubic-bezier(.18,.89,.32,1.28) both;pointer-events:none;z-index:5}@keyframes mark-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.belt-detail{position:absolute;top:0;bottom:0;width:clamp(22px,7.27%,48px);background:repeating-linear-gradient(0deg,#c5d7dc 0,#c5d7dc 10px,#7194a1 10px,#7194a1 14px);opacity:.75}.belt-detail.left{left:clamp(3px,.9%,6px)}.belt-detail.right{right:clamp(3px,.9%,6px)}.badge-pile{position:relative;width:var(--badge-size);aspect-ratio:150 / 194;flex:0 0 auto}.badge-card,.secured-card{position:absolute;aspect-ratio:1;object-fit:cover;border-radius:13%;box-shadow:0 3px #214e65,0 6px 12px #183d5266}.badge-card{top:21.65%;left:0;width:100%;z-index:100}.secured-card{top:calc(17.53% - (min(var(--pile-index),5)*clamp(3px,.5vw,5px)));left:8%;width:84%;z-index:calc(20 - var(--pile-index));transform:rotate(calc((var(--pile-index) - 2.5) * .6deg))}.player-area{--badge-size: clamp(104px, min(15.625vw, 19dvh), 150px);min-width:0;max-width:960px;margin:clamp(8px,2.5dvh,25px) auto 0;display:flex;align-items:flex-start;gap:clamp(7px,1.2vw,14px)}main.playing .player-area{width:100%;height:clamp(155px,22.7dvh,213px);margin-top:clamp(8px,2.5dvh,25px)}.badge-panel{width:var(--badge-size);flex:0 0 var(--badge-size);padding-top:clamp(4px,1dvh,8px)}.hand-panel{--hand-top-space: clamp(6px, 1.3dvh, 14px);flex:1 1 auto;min-width:0;min-height:clamp(145px,22dvh,194px);overflow:hidden;background:radial-gradient(ellipse at 50% 115%,#4aa2c8 0,#286c9d 42%,#174e7a 82%);border:clamp(3px,.4vw,5px) solid #f3f8f7;border-radius:clamp(16px,2vw,25px);box-shadow:0 7px #123e61,inset 0 -22px 35px #0b355c88;padding:clamp(9px,1.4dvh,14px) clamp(5px,1.6vw,20px) 0;position:relative}main.playing .hand-panel{height:100%;min-height:0}.hand-heading{position:relative;z-index:1;color:#fff;display:flex;justify-content:space-between;align-items:center;margin-bottom:clamp(3px,.8dvh,8px);font:900 clamp(.72rem,min(1.25vw,1.8dvh),.94rem) "Barlow Condensed";letter-spacing:.04em}.hand-heading small{color:#aaddf1;background:#00000040;padding:2px 8px;border-radius:6px;font-size:.72rem;letter-spacing:.05em}.hand.has-placed-card{opacity:.45;filter:brightness(.7);pointer-events:none;transition:opacity .3s ease,filter .3s ease}.hand{position:relative;z-index:1;display:flex;justify-content:center;align-items:flex-start;min-height:clamp(108px,16.5dvh,145px);padding:var(--hand-top-space) clamp(10px,2.3vw,28px) clamp(18px,3dvh,30px);isolation:isolate}.hand-card{width:clamp(78px,min(11.3vw,12.2dvh),116px);flex:0 0 clamp(78px,min(11.3vw,12.2dvh),116px);margin:0 clamp(-18px,-1.45vw,-10px);z-index:var(--fan-layer);transform-origin:50% 170%;transform:translateY(var(--fan-drop)) rotate(var(--fan-angle));filter:drop-shadow(0 8px 5px #082d4777);transition:transform .2s ease,filter .2s ease}.hand-card.intro-deal{pointer-events:none;filter:none;animation:hand-deal .6s cubic-bezier(.18,.84,.3,1.08) var(--deal-delay) both}@keyframes hand-deal{0%{opacity:0;transform:translate(var(--deal-x),clamp(68px,10dvh,92px)) rotate(var(--deal-start-angle)) scale(.58)}74%{opacity:1;transform:translateY(calc(var(--fan-drop) + 6px)) rotate(var(--fan-angle)) scale(1.035)}to{opacity:1;transform:translateY(var(--fan-drop)) rotate(var(--fan-angle)) scale(1)}}.hand-card img{border:3px solid #dbeaf0;box-shadow:0 3px #173e5b,0 7px 15px #082b4588}.hand-card.classified{cursor:default}.classified-card{display:grid;place-content:center;width:100%;height:100%;border:3px solid #dbeaf0;border-radius:12%;background:repeating-linear-gradient(135deg,transparent 0 8px,#ffffff0c 8px 11px),linear-gradient(145deg,#2b668d,#153f63);color:#d8eef5;box-shadow:0 3px #173e5b,0 7px 15px #082b4588,inset 0 0 0 4px #ffffff12;text-align:center}.classified-card b{color:#f3bd2e;font-size:clamp(1.4rem,min(3vw,4.5dvh),2rem);line-height:1}.classified-card small{margin-top:6px;font:900 clamp(.5rem,min(1.1vw,1.5dvh),.66rem)/1.05 "Barlow Condensed";letter-spacing:.08em}.hand-card.classified.selected .classified-card{border-color:#fff17a}.hand-card:hover,.hand-card.selected,.hand-card.usable-preview{z-index:20;transform:translateY(calc(var(--fan-drop) - 19px)) rotate(var(--fan-angle)) scale(1.045)}.hand-card:hover{filter:drop-shadow(0 11px 7px #08243b99)}.hand-card.usable-preview{filter:drop-shadow(0 0 10px #ffe95b) drop-shadow(0 11px 7px #08243b99)}.hand-card.usable-preview img{border-color:#fff17a}.hand-card.selected{filter:drop-shadow(0 0 9px #fff06a) drop-shadow(0 10px 6px #08243b99)}.hand-card.selected img{border-color:#fff17a}.hand-card.is-drag-source{opacity:.35;filter:grayscale(.25)}.hand-card.reorder-hover{transform:translateY(calc(var(--fan-drop) - 22px)) rotate(var(--fan-angle)) scale(1.08)!important;filter:drop-shadow(0 0 10px #75edff) drop-shadow(0 10px 6px #08243b99)!important;z-index:25!important}.grid-card.drop-hover{transform:translateY(-4px) scale(1.08)!important;outline:4px solid #fff06a!important;outline-offset:2px!important;filter:drop-shadow(0 0 14px #fff06a)!important;z-index:10!important}.dragged-card-avatar{position:fixed;top:0;left:0;z-index:9999;width:clamp(78px,min(11.3vw,12.2dvh),116px);aspect-ratio:1;pointer-events:none;will-change:transform;filter:drop-shadow(0 14px 22px rgba(0,0,0,.45))}.dragged-card-avatar img{width:100%;height:100%;object-fit:cover;border-radius:12%;border:3px solid #fff17a;box-shadow:0 4px #173e5b,0 8px 20px #082b4588}.flying-card-anim{position:fixed;top:0;left:0;z-index:9999;pointer-events:none;will-change:transform,filter}.flying-card-anim img{width:100%;height:100%;object-fit:cover;border-radius:12%;border:3px solid #fff17a;box-shadow:0 6px 14px #0006}.grid-card.swapping img{opacity:0}.swap-card-incoming{position:fixed;top:0;left:0;z-index:10002;pointer-events:none;will-change:transform,filter}.swap-card-incoming img{width:100%;height:100%;object-fit:cover;border-radius:12%;border:3px solid #fff17a;box-shadow:0 6px 14px #0006}.swap-card-outgoing{position:fixed;top:0;left:0;z-index:10001;pointer-events:none;will-change:transform,filter}.swap-card-outgoing img,.swap-card-outgoing .classified-card{width:100%;height:100%;object-fit:cover;border-radius:12%;border:3px solid #77e2ff;box-shadow:0 6px 14px #0006}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#0a3d5fc9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;padding:clamp(10px,2.5vmin,20px)}.pass-card,.rules,.results{width:min(32.5rem,100%);max-height:calc(100dvh - clamp(20px,5vmin,40px));overflow:auto;background:#fffaf0;border:clamp(3px,.8vmin,6px) solid white;border-radius:clamp(18px,3.5vmin,28px);box-shadow:0 10px #aac1c8,0 30px 80px #06283e99;text-align:center;padding:clamp(22px,4.75vmin,38px);position:relative}.setup-overlay{z-index:25}.setup-card{width:min(42rem,100%);max-height:calc(100dvh - clamp(20px,5vmin,40px));overflow:auto;position:relative;padding:clamp(22px,4.5vmin,36px);border:clamp(3px,.8vmin,6px) solid white;border-radius:clamp(18px,3.5vmin,28px);background:#fffaf0;box-shadow:0 10px #aac1c8,0 30px 80px #06283e99;text-align:center;animation:setup-arrival .24s ease-out both}.setup-kicker{color:#d79313;font-size:clamp(.64rem,1.55vmin,.78rem);font-weight:900;letter-spacing:.14em}.setup-card h2{margin:clamp(8px,1.6vmin,13px) 38px 0;color:#173b55;font:900 clamp(2rem,5.2vmin,2.75rem)/.95 "Barlow Condensed";text-transform:uppercase}.setup-intro{margin:clamp(7px,1.6vmin,12px) 0 clamp(17px,3.2vmin,25px);color:#657984;font-size:clamp(.78rem,1.8vmin,.94rem);font-weight:700}.opponent-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(11px,2.4vmin,18px)}.opponent-options .online-option{grid-column:1 / -1;min-height:clamp(78px,13vmin,96px)}.opponent-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(9px,2vmin,15px);min-height:clamp(92px,17vmin,122px);padding:clamp(13px,2.8vmin,21px);border:3px solid #d4e5e8;border-radius:clamp(13px,2.5vmin,19px);background:#f2f8f7;color:#173b55;box-shadow:0 6px #bfd0d3;text-align:left;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.opponent-option:hover,.opponent-option:focus-visible{transform:translateY(-3px);border-color:#65b8cd;box-shadow:0 9px #a8c6cb;outline:3px solid #c8eff7;outline-offset:2px}.opponent-option.ai-option{background:#edf6ff}.opponent-icon{display:grid;place-items:center;width:clamp(45px,8.5vmin,62px);height:clamp(45px,8.5vmin,62px);border-radius:13px;background:#2f99bd;color:#fff;box-shadow:0 4px #176d91;font:900 clamp(.8rem,2.2vmin,1rem) "Barlow Condensed";letter-spacing:-.12em}.ai-option .opponent-icon{background:#3d9a4e;box-shadow:0 4px #277136;font-size:clamp(1.45rem,4vmin,2rem);letter-spacing:0}.online-option .opponent-icon{background:#e0a51d;box-shadow:0 4px #a87512;font-size:clamp(1.45rem,4vmin,2rem);letter-spacing:0}.opponent-option span:nth-child(2){min-width:0}.opponent-option strong,.opponent-option small{display:block}.opponent-option strong{font:900 clamp(1.15rem,2.8vmin,1.45rem) "Barlow Condensed";text-transform:uppercase}.opponent-option small{margin-top:3px;color:#657984;font-size:clamp(.65rem,1.45vmin,.76rem);font-weight:800;line-height:1.3}.opponent-option>b{color:#2d7da3;font-size:clamp(1.1rem,3vmin,1.5rem)}.setup-back{display:block;margin:-3px 0 5px;padding:5px 0;border:0;background:transparent;color:#2a6787;font-size:clamp(.65rem,1.5vmin,.76rem);font-weight:900;cursor:pointer}.difficulty-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,1.8vmin,13px)}.difficulty-option{--level: #52af5c;min-width:0;padding:clamp(13px,2.5vmin,20px) clamp(8px,1.6vmin,12px) clamp(14px,2.8vmin,22px);border:3px solid color-mix(in srgb,var(--level),white 35%);border-radius:clamp(12px,2.3vmin,17px);background:color-mix(in srgb,var(--level),white 87%);color:#173b55;box-shadow:0 6px color-mix(in srgb,var(--level),#173b55 28%);cursor:pointer;transition:transform .16s ease,filter .16s ease}.difficulty-option.medium{--level: #e7a71e}.difficulty-option.hard{--level: #d7583d}.difficulty-option:hover,.difficulty-option:focus-visible{transform:translateY(-4px);filter:saturate(1.12);outline:3px solid white;outline-offset:-6px}.difficulty-option strong,.difficulty-option small{display:block}.difficulty-option strong{margin:clamp(8px,1.6vmin,12px) 0 2px;color:var(--level);font:900 clamp(1.35rem,3.5vmin,1.75rem) "Barlow Condensed";text-transform:uppercase}.difficulty-option small{min-height:2.5em;color:#607782;font-size:clamp(.58rem,1.35vmin,.7rem);font-weight:800;line-height:1.25}.clearance-bars{height:clamp(28px,5vmin,38px);display:flex;align-items:flex-end;justify-content:center;gap:clamp(4px,.9vmin,7px)}.clearance-bars i{width:clamp(8px,1.6vmin,12px);height:33%;border-radius:3px 3px 1px 1px;background:var(--level);opacity:.22}.clearance-bars i:nth-child(2){height:66%}.clearance-bars i:nth-child(3){height:100%}.difficulty-option.easy .clearance-bars i:first-child,.difficulty-option.medium .clearance-bars i:not(:last-child),.difficulty-option.hard .clearance-bars i{opacity:1}.online-options{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(11px,2.4vmin,18px);align-items:stretch}.quick-match{grid-column:1 / -1;display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:10px;min-height:68px;padding:10px 16px;border:3px solid #dfae35;border-radius:14px;background:#fff3c9;color:#234e66;box-shadow:0 5px #c99522;cursor:pointer;text-align:left}.quick-match>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e5a91e;color:#fff;font-size:1.5rem}.quick-match b{font:900 1.18rem Barlow Condensed}.quick-match small{color:#667b84;font-size:.7rem;font-weight:800}.quick-match i{color:#b67b0c;font-style:normal;font-size:1.2rem;font-weight:900}.quick-match:hover,.quick-match:focus-visible{transform:translateY(-2px);box-shadow:0 7px #c99522;outline:3px solid #fff;outline-offset:-6px}.host-room,.join-room{min-height:112px;border:3px solid #c8dde2;border-radius:16px;background:#edf7f8;box-shadow:0 6px #b5cbd0}.host-room{color:#fff;border-color:#4da45a;background:linear-gradient(#56bc61,#359947);cursor:pointer}.host-room b,.host-room small{display:block}.host-room b{font:900 1.35rem Barlow Condensed}.host-room small{margin-top:4px;font-size:.7rem;font-weight:800}.join-room{display:grid;align-content:center;padding:14px;text-align:left}.join-room label{margin-bottom:6px;color:#245b76;font:900 .8rem Barlow Condensed;letter-spacing:.08em}.join-room>div{display:grid;grid-template-columns:1fr auto}.join-room input{min-width:0;height:44px;padding:0 10px;border:2px solid #a8c5cc;border-radius:9px 0 0 9px;background:#fff;color:#173b55;font:900 1rem Barlow Condensed;letter-spacing:.12em;text-transform:uppercase;outline:none}.join-room input:focus{border-color:#2f99bd;box-shadow:0 0 0 3px #2f99bd26}.join-room button,.room-ticket button{border:0;border-radius:0 9px 9px 0;padding:0 14px;background:#277da2;color:#fff;font-size:.72rem;font-weight:900;cursor:pointer}.room-ticket{position:relative;overflow:hidden;display:grid;justify-items:center;padding:18px;border:3px dashed #6e9dab;border-radius:13px;background:#eef8f7}.room-ticket:before,.room-ticket:after{content:"";position:absolute;top:50%;width:22px;height:22px;border-radius:50%;background:#fffaf0;transform:translateY(-50%)}.room-ticket:before{left:-13px}.room-ticket:after{right:-13px}.room-ticket>small{color:#c18412;font-size:.65rem;font-weight:900;letter-spacing:.16em}.room-ticket>strong{margin:4px 0;color:#173b55;font:900 clamp(2.2rem,8vmin,3.4rem) "Barlow Condensed";letter-spacing:.2em;transform:translate(.1em)}.search-radar{display:grid;place-items:center;width:72px;height:72px;margin:8px 0 12px;border:3px solid #5b9bb3;border-radius:50%;color:#2d83a5;background:repeating-radial-gradient(circle,#dff1f3 0,#dff1f3 8px,#a9d4dc,#a9d4dc 10px);font-size:2.25rem;animation:quick-search 1.6s ease-in-out infinite alternate}@keyframes quick-search{to{transform:rotate(18deg) scale(1.06);filter:brightness(1.08)}}.room-ticket>span{color:#607782;font-size:.76rem;font-weight:800}.room-ticket button{margin-top:13px;min-height:38px;border-radius:8px}.network-error{margin:14px 0 0;color:#b23d2d;font-size:.78rem;font-weight:900}.integrity-overlay{z-index:40}.integrity-seal{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 12px;border:5px solid #fff;border-radius:50%;background:#d64e38;color:#fff;box-shadow:0 5px #9f3224;font:900 2rem Barlow Condensed}@keyframes setup-arrival{0%{opacity:0;transform:translateY(12px) scale(.97)}}.pass-card .mini-logo{width:clamp(48px,8.75vmin,70px);height:clamp(48px,8.75vmin,70px);margin:0 auto clamp(12px,2.5vmin,20px);border:clamp(3px,.65vmin,5px) solid white;box-shadow:0 4px #aac1c8;font-size:clamp(1.45rem,4vmin,2rem);line-height:1}.pass-card small,.results>small{color:#3d9a4e;font-size:clamp(.7rem,1.8vmin,.9rem);letter-spacing:clamp(1px,.25vmin,2px);font-weight:900}.pass-card h2,.rules h2,.results h2{font:900 clamp(1.8rem,4.75vmin,2.375rem)/1 "Barlow Condensed";text-transform:uppercase;margin:clamp(8px,1.5vmin,12px) 0}.pass-card p{color:#657984;font-size:clamp(.82rem,2vmin,1rem)}.pass-card .primary{width:100%;margin-top:15px}.ai-turn-overlay{z-index:24}.ai-turn-card{animation:ai-turn-arrival .24s ease-out both}.ai-turn-status{display:flex;align-items:center;justify-content:center;gap:clamp(10px,2vmin,16px);width:100%;margin-top:15px;cursor:default}.ai-turn-status .thinking-dots{display:inline-flex;align-items:center;gap:4px;padding:0}.thinking-dots i{width:6px;height:6px;border-radius:50%;background:#fff;animation:thinking-dot .8s ease-in-out infinite alternate}.thinking-dots i:nth-child(2){animation-delay:.16s}.thinking-dots i:nth-child(3){animation-delay:.32s}@keyframes ai-turn-arrival{0%{opacity:0;transform:translateY(10px) scale(.98)}}@keyframes thinking-dot{to{opacity:.35;transform:translateY(-3px)}}.rules{text-align:left;max-height:90vh;overflow:auto}.rules ol{padding-left:clamp(18px,3vmin,24px)}.rules li{margin:clamp(11px,2.25vmin,18px) 0;font-size:clamp(.82rem,2vmin,1rem);line-height:1.5}.rule-note{background:#e5f2f5;border-left:clamp(3px,.65vmin,5px) solid #2697bd;padding:clamp(9px,1.75vmin,14px);border-radius:clamp(6px,1vmin,8px);font-size:clamp(.75rem,1.75vmin,.875rem)}.guide-overlay .rules{width:min(38rem,100%);height:min(43rem,calc(100dvh - clamp(20px,5vmin,40px)));display:flex;flex-direction:column;overflow:hidden;padding:clamp(20px,4vmin,32px)}.guide-overlay .eyebrow{display:block;width:fit-content;margin:2px 52px 0 0;padding:0;border-radius:0;background:transparent;box-shadow:none;color:#24536c;font:800 clamp(.9rem,2vmin,1rem)/1.25 "Nunito";letter-spacing:.01em}.guide-page{flex:1 1 auto;min-height:0;overflow:auto;padding:clamp(13px,2.5vmin,20px) 2px 4px}.guide-page h2{margin-top:clamp(5px,1vmin,8px)}.guide-kicker{color:#398d4a;font-size:clamp(.66rem,1.5vmin,.75rem);font-weight:900;letter-spacing:.12em}.guide-intro{margin:0 0 clamp(15px,2.8vmin,22px);color:#607782;font-size:clamp(.82rem,1.8vmin,.94rem);font-weight:700;line-height:1.5}.guide-steps{display:grid;gap:clamp(9px,1.8vmin,14px)}.guide-steps>div{display:flex;align-items:center;gap:clamp(11px,2vmin,16px);padding:clamp(10px,2vmin,16px);border-radius:clamp(10px,2vmin,15px);background:#e8f3f5}.guide-steps>div>b,.action-number{display:grid;place-items:center;width:clamp(34px,6vmin,44px);height:clamp(34px,6vmin,44px);flex:0 0 auto;border-radius:50%;background:#2697bd;color:#fff;font:900 clamp(1rem,2.5vmin,1.3rem) "Barlow Condensed";box-shadow:0 3px #176d91}.guide-steps span{color:#607782;font-size:clamp(.75rem,1.7vmin,.88rem);line-height:1.35}.guide-steps strong{display:block;margin-bottom:2px;color:#173b55;font-size:clamp(.82rem,1.9vmin,.96rem)}.action-guide{display:grid;gap:clamp(9px,1.8vmin,14px);margin-bottom:clamp(12px,2.3vmin,18px)}.action-guide section{display:flex;align-items:flex-start;gap:clamp(11px,2vmin,16px);padding:clamp(11px,2.2vmin,17px);border:2px solid #d7e8eb;border-radius:clamp(10px,2vmin,15px);background:#fffdf7}.action-guide h3{margin:0 0 4px;color:#1f6f98;font:900 clamp(1.05rem,2.5vmin,1.3rem) "Barlow Condensed";text-transform:uppercase}.action-guide p{margin:0;color:#607782;font-size:clamp(.74rem,1.65vmin,.86rem);font-weight:700;line-height:1.45}.odds-intro{margin-bottom:clamp(10px,2vmin,15px)}.odds-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(6px,1.35vmin,10px)}.odds-card{--bag-color: #789;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(5px,1.15vmin,9px);min-width:0;padding:clamp(7px,1.45vmin,11px);border:2px solid color-mix(in srgb,var(--bag-color),#173b55 20%);border-radius:clamp(9px,1.8vmin,13px);background:color-mix(in srgb,var(--bag-color),white 82%)}.odds-card.orange{--bag-color: #e97124}.odds-card.yellow{--bag-color: #f7be21}.odds-card.blue{--bag-color: #58acd0}.odds-card.purple{--bag-color: #8e3899}.odds-card.pink{--bag-color: #dc7fa0}.odds-card.green{--bag-color: #5e9d7a}.bag-swatch{display:grid;place-items:center;width:clamp(25px,4.5vmin,34px);height:clamp(25px,4.5vmin,34px);border-radius:7px;background:var(--bag-color);color:#fff;font-size:clamp(.85rem,2.2vmin,1.1rem);box-shadow:inset 0 -3px #173b5529}.odds-card div{min-width:0}.odds-card strong,.odds-card small{display:block}.odds-card strong{color:#173b55;font-size:clamp(.68rem,1.5vmin,.8rem);white-space:nowrap}.odds-card small{margin-top:1px;color:#607782;font-size:clamp(.52rem,1.15vmin,.64rem);font-weight:800;white-space:nowrap}.odds-values{display:inline-flex;align-items:baseline;gap:3px;text-align:right;white-space:nowrap}.odds-values b{color:var(--bag-color);font:900 clamp(1.7rem,4.5vmin,2.35rem) "Barlow Condensed";line-height:.82;text-shadow:0 1px 0 white}.odds-values em{color:var(--bag-color);font:900 clamp(.8rem,2vmin,1rem) "Barlow Condensed";font-style:normal;text-transform:uppercase}.odds-legend{margin:clamp(9px,1.7vmin,13px) 0 0;color:#607782;font-size:clamp(.62rem,1.35vmin,.72rem);text-align:center}.odds-legend span{padding-inline:5px;color:#9aadb3}.guide-footer{display:grid;grid-template-columns:minmax(82px,1fr) auto minmax(82px,1fr);align-items:center;gap:clamp(8px,1.8vmin,14px);padding-top:clamp(12px,2.4vmin,18px);border-top:2px solid #e1eaeb}.guide-nav{min-height:42px;padding:8px clamp(10px,2vmin,15px);border:0;border-radius:10px;background:#e1edf0;color:#315a70;font-size:clamp(.68rem,1.55vmin,.78rem);font-weight:900;cursor:pointer}.guide-nav.next{background:#2697bd;color:#fff;box-shadow:0 4px #176d91}.guide-nav.done{background:#39a74a;box-shadow:0 4px #237532}.guide-nav:disabled{opacity:.4;cursor:default;box-shadow:none}.page-status{display:grid;grid-template-columns:repeat(3,7px);justify-content:center;gap:5px;min-width:60px}.page-status>span{width:7px;height:7px;border-radius:50%;background:#c4d3d6}.page-status>span.active{background:#2697bd}.page-status small{grid-column:1 / -1;color:#718790;font-size:.6rem;font-weight:900;text-align:center}.close{position:absolute;right:clamp(9px,2vmin,16px);top:clamp(7px,1.6vmin,13px);width:clamp(40px,5.5vmin,44px);height:clamp(40px,5.5vmin,44px);border:0;background:transparent;color:#32566e;font-size:clamp(1.7rem,4vmin,2rem);cursor:pointer}.score-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(8px,1.9vmin,15px);margin:clamp(15px,3.1vmin,25px) 0}.score-row>div{background:#e7f3f5;border-radius:clamp(11px,2.25vmin,18px);padding:clamp(9px,1.9vmin,15px)}.score-row b,.score-row span{display:block;font-size:clamp(.62rem,1.4vmin,.72rem)}.score-row strong{display:block;font:900 clamp(2.4rem,6vmin,3rem) "Barlow Condensed";color:#279547}.revealed{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(2px,.5vmin,4px);margin-top:clamp(6px,1.25vmin,10px)}.revealed img{width:100%;border-radius:5px}.results{width:min(47.5rem,100%)}.reveal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:clamp(10px,2.5vmin,20px);background:#082f4aa8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.reveal-card{position:relative;width:min(21.25rem,92vw);max-height:calc(100dvh - clamp(20px,5vmin,40px));overflow:auto;padding:clamp(18px,3vmin,24px) clamp(20px,3.5vmin,28px) clamp(19px,3.25vmin,26px);border:clamp(3px,.65vmin,5px) solid white;border-radius:clamp(17px,3.1vmin,25px);background:#fffaf0;box-shadow:0 9px #9eb7bf,0 25px 70px #06283ebb;text-align:center;animation:reveal-pop .3s ease-out both}.reveal-close{position:absolute;top:clamp(5px,1vmin,8px);right:clamp(6px,1.25vmin,10px);width:clamp(38px,5.5vmin,44px);height:clamp(38px,5.5vmin,44px);padding:0;border:0;border-radius:50%;background:transparent;color:#32566e;font-size:clamp(1.7rem,3.75vmin,1.875rem);line-height:1;cursor:pointer}.reveal-close:hover,.reveal-close:focus-visible{background:#e5f2f5;outline:3px solid #77b7cf;outline-offset:1px}.reveal-card small{color:#398d4a;font-size:clamp(.68rem,1.6vmin,.8rem);font-weight:900;letter-spacing:clamp(.8px,.18vmin,1.4px)}.reveal-card h2{margin:clamp(9px,1.9vmin,15px) 0 clamp(2px,.5vmin,4px);font:900 clamp(1.7rem,4vmin,2rem) "Barlow Condensed"}.reveal-card p{margin:0;color:#657984;font-size:clamp(.72rem,1.65vmin,.82rem);font-weight:700}.reveal-flip{width:clamp(132px,min(55vw,27dvh),190px);aspect-ratio:1;margin:clamp(10px,2.1vmin,17px) auto 0;perspective:800px}.reveal-flip img{width:100%;height:100%;object-fit:cover;border-radius:18px;box-shadow:0 9px 20px #173d5266;animation:card-flip .65s ease-out both}.reveal-progress{width:clamp(132px,min(55vw,27dvh),190px);height:clamp(6px,1vmin,8px);margin:clamp(8px,1.5vmin,12px) auto 0;overflow:hidden;border-radius:999px;background:#d8e5e8;box-shadow:inset 0 1px 2px #173d5233}.reveal-progress span{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f2b329,#e58c20);transform-origin:left;animation:reveal-countdown 2s linear forwards}@keyframes reveal-pop{0%{opacity:0;transform:scale(.82)}}@keyframes card-flip{0%{transform:rotateY(90deg) scale(.85)}to{transform:rotateY(0) scale(1)}}@keyframes reveal-countdown{to{transform:scaleX(0)}}@media(max-width:760px){:root{--page-inline: clamp(10px, 3.2vw, 18px);--header-height: clamp(58px, 10dvh, 72px)}header{padding-block:clamp(5px,1.1dvh,8px)}.brand{padding:clamp(4px,1vw,5px) clamp(7px,2vw,8px)}.landing{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);padding:clamp(12px,3dvh,24px) clamp(16px,6vw,24px) clamp(6px,1.5dvh,12px);text-align:center}.hero-copy{position:relative;z-index:4;margin-inline:auto}.hero-copy p{font-size:clamp(.875rem,3.8vw,.98rem);margin-inline:auto}.hero-art{width:100%;height:100%;min-height:0;margin-top:clamp(6px,1.5dvh,12px)}h1{font-size:clamp(3rem,min(16vw,11dvh),4.25rem);margin:clamp(19px,4dvh,27px) 0}.hero-card{width:clamp(112px,min(40vw,23dvh),165px)}.card-one{left:35%}.card-two{left:4%}.card-three{right:0}.durian{font-size:clamp(4.5rem,min(23vw,14dvh),6rem)}.game-shell{padding:clamp(3px,.7dvh,5px) clamp(5px,2vw,8px) clamp(8px,2.5dvh,18px)}main.playing .grid-wrap{width:100%;height:auto;max-height:none;aspect-ratio:auto}.grid-wrap{padding:clamp(7px,2.5vw,10px) clamp(21px,7vw,28px)}.rotation-controls{font-size:clamp(.56rem,2.4vw,.68rem)}.rotation-controls button{min-height:clamp(28px,4.5cqh,32px)}.badge-card{top:22.22%}.secured-card{top:calc(17.78% - (min(var(--pile-index),5)*clamp(2px,.8vw,4px)));left:3.85%;width:92.3%}.player-area{--badge-size: clamp(64px, min(22vw, 16dvh), 104px);margin-top:clamp(7px,2.5dvh,20px);align-items:flex-start}.hand-panel{--hand-top-space: clamp(6px, 2dvh, 14px);min-height:clamp(125px,24dvh,151px);padding:clamp(7px,1.6dvh,10px) clamp(3px,1.3vw,5px) 0}.hand-heading{padding:0 clamp(3px,1.3vw,5px)}.hand{min-height:clamp(96px,18.4dvh,116px);overflow:visible;padding:var(--hand-top-space) clamp(8px,3vw,12px) clamp(17px,4dvh,25px)}.hand-card{width:clamp(64px,min(22vw,11.3dvh),90px);flex-basis:clamp(64px,min(22vw,11.3dvh),90px);margin:0 clamp(-30px,-7vw,-20px);transform-origin:50% 180%}.hand-card:hover,.hand-card.selected,.hand-card.usable-preview{transform:translateY(calc(var(--fan-drop) - 13px)) rotate(var(--fan-angle)) scale(1.035)}.pass-card,.rules,.results{padding-inline:clamp(16px,5vw,24px)}.guide-overlay .rules{height:auto;padding-inline:clamp(16px,5vw,24px)}}.badge-button{padding:0;border:0;background:transparent;cursor:pointer;display:block;border-radius:12%;transition:transform .15s ease}.badge-button:hover{transform:translateY(-3px)}.badge-button:active{transform:translateY(1px)}.badge-button:focus-visible{outline:3px solid #fff06a;outline-offset:4px}.pushed-strip{display:none}.collected-overlay{z-index:26}.collected-card{width:min(34rem,100%);max-height:calc(100dvh - clamp(20px,5vmin,40px));overflow:auto;background:#fffaf0;border:clamp(3px,.8vmin,6px) solid white;border-radius:clamp(18px,3.5vmin,28px);box-shadow:0 10px #aac1c8,0 30px 80px #06283e99;text-align:center;padding:clamp(18px,4vmin,32px);position:relative;animation:pop-in .22s cubic-bezier(.18,.89,.32,1.28) both}.collected-card .setup-kicker{color:#3d9a4e;font-size:clamp(.66rem,1.6vmin,.82rem);letter-spacing:.12em;font-weight:900}.collected-card h2{font:900 clamp(1.7rem,4.5vmin,2.3rem)/1 "Barlow Condensed";text-transform:uppercase;margin:clamp(6px,1.4vmin,10px) 0 4px;color:#173b55}.collected-summary{margin:0 0 clamp(10px,2.2vmin,16px);color:#31566c;font-weight:700;font-size:clamp(.8rem,2vmin,.95rem)}.collected-summary strong{color:#279547;font-size:1.25em}.collected-empty{margin:clamp(10px,2vmin,16px) auto 0;max-width:26rem;color:#4b6a7c;font-weight:700;line-height:1.45}.collected-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(74px,18vmin,104px),1fr));gap:clamp(8px,2vmin,14px)}.collected-item{position:relative;display:grid;gap:4px;justify-items:center}.collected-item img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12%;border:3px solid #dbeaf0;box-shadow:0 3px #b8c9d0,0 6px 12px #183d5233}.collected-item span{font:900 clamp(.72rem,1.8vmin,.86rem) "Barlow Condensed";letter-spacing:.06em;color:#4b6a7c;background:#e7f3f5;padding:2px 8px;border-radius:999px}.collected-item span.has-durian{color:#fff;background:linear-gradient(135deg,#51c65a,#26973e)}.collected-item small{position:absolute;top:4px;left:6px;font:900 .62rem Barlow Condensed;color:#173b55;background:#ffffffd9;padding:1px 5px;border-radius:999px}@media(max-width:760px)and (orientation:portrait){main.playing .game-shell{--hand-reserve: clamp(190px, 28dvh, 256px);--shell-gap: clamp(8px, 1.6dvh, 14px);--shell-pad-bottom: max(clamp(8px, 1.6dvh, 14px), env(safe-area-inset-bottom));grid-template-rows:auto minmax(0,1fr);row-gap:var(--shell-gap);padding:clamp(4px,.8dvh,8px) clamp(6px,2vw,10px) var(--shell-pad-bottom)}main.playing .board-area{height:auto;display:block;container-type:inline-size}main.playing .grid-wrap{width:min(100%,calc((100dvh - var(--play-header-height) - var(--hand-reserve)) * 1.08));height:auto;max-height:none;aspect-ratio:auto;margin-inline:auto;padding:clamp(8px,2.6vw,12px) clamp(18px,5.6vw,26px)}main.playing .belt-detail{width:clamp(12px,4.2vw,20px)}main.playing .belt-detail.left{left:clamp(3px,1vw,5px)}main.playing .belt-detail.right{right:clamp(3px,1vw,5px)}main.playing .game-grid{--grid-gap: clamp(4px, 1.6vw, 7px)}main.playing .player-area{--badge-size: clamp(74px, 21vw, 112px);height:auto;min-height:0;height:var(--hand-reserve);margin-top:0;align-self:end;gap:clamp(6px,2vw,10px);align-items:stretch}main.playing .badge-panel{padding-top:0;display:flex;align-items:center}main.playing .hand-panel{--hand-top-space: clamp(4px, 1dvh, 8px);height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;overflow:clip;container-type:inline-size;padding:clamp(8px,1.4dvh,12px) clamp(4px,1.5vw,8px) 0}main.playing .hand-heading{padding:0 clamp(4px,1.5vw,8px)}main.playing .hand{--hand-card-size: clamp(60px, min(33cqw, 16dvh), 116px);flex:1 1 auto;min-height:calc(var(--hand-card-size) * 1.3);align-items:center;overflow:visible;padding:var(--hand-top-space) clamp(6px,2cqw,12px) clamp(10px,2.4dvh,18px)}main.playing .hand-card{width:var(--hand-card-size);flex-basis:var(--hand-card-size);margin:0 calc(var(--hand-card-size) * -.28);transform-origin:50% 175%}main.playing .hand-card:hover,main.playing .hand-card.selected,main.playing .hand-card.usable-preview{transform:translateY(calc(var(--fan-drop) - 14px)) rotate(var(--fan-angle)) scale(1.04)}.dragged-card-avatar{width:clamp(60px,min(22vw,15dvh),112px)}main.playing .badge-panel{display:none}main.playing .game-shell{grid-template-rows:auto minmax(0,1fr) auto}main.playing .board-area{position:static}main.playing .pushed-strip{display:flex;align-self:end;align-items:center;gap:clamp(8px,2.5vw,12px);width:100%;min-height:clamp(44px,7dvh,60px);padding:clamp(4px,.8dvh,6px) clamp(8px,2.5vw,12px) clamp(4px,.8dvh,6px) clamp(10px,3vw,14px);border:clamp(2px,.6vw,3px) solid #f3f8f7;border-radius:999px;background:linear-gradient(135deg,#0e314b,#173e5b);color:#fff;box-shadow:0 4px #123e61,0 8px 18px #0b355c66;font-family:Barlow Condensed,sans-serif;text-align:left;cursor:pointer}main.playing .pushed-strip:active{transform:translateY(1px);box-shadow:0 2px #123e61}.pushed-strip-label{display:grid;justify-items:center;line-height:.9;color:#f7c938;flex:0 0 auto}.pushed-strip-label b{font-size:clamp(1.1rem,5vw,1.4rem);font-weight:900}.pushed-strip-label small{font-size:.58rem;letter-spacing:.12em;color:#aaddf1}.pushed-strip-cards{flex:1 1 auto;min-width:0;display:flex;align-items:center;height:clamp(34px,5.6dvh,46px);overflow:hidden}.pushed-mini{width:clamp(34px,5.6dvh,46px);aspect-ratio:1;flex:0 0 auto;object-fit:cover;border-radius:14%;border:2px solid #dbeaf0;box-shadow:0 2px 6px #06213688;margin-left:calc(var(--mini-index) * 0 - clamp(10px,2.6vw,14px));transform:rotate(calc((var(--mini-index) - 2) * 2deg))}.pushed-mini:first-child{margin-left:0}.pushed-strip-empty{font-size:clamp(.68rem,3vw,.8rem);letter-spacing:.06em;color:#aaddf1;font-weight:800}.pushed-strip-count{flex:0 0 auto;font-size:clamp(.8rem,3.6vw,.95rem);font-weight:900;letter-spacing:.06em;color:#fff;background:#00000040;padding:4px 9px;border-radius:999px}.pushed-strip-count small{font-size:.7em;color:#aaddf1;letter-spacing:.1em}main.playing .pushed-strip.rotating{visibility:hidden}main.playing .rotation-controls{top:auto;bottom:calc(var(--shell-pad-bottom) + var(--hand-reserve) + var(--shell-gap));left:clamp(6px,2vw,10px);right:clamp(6px,2vw,10px);width:auto;min-height:clamp(44px,7dvh,60px);justify-content:space-between;z-index:40;gap:clamp(8px,2.5vw,12px);padding:clamp(4px,.8dvh,6px) clamp(4px,1dvh,6px) clamp(4px,.8dvh,6px) clamp(12px,3.5vw,16px);font-size:clamp(.7rem,3.2vw,.84rem);transform:none;box-shadow:0 4px #123e61,0 8px 18px #0b355c66,0 0 14px #fff06a66}main.playing .rotation-controls button{min-height:clamp(34px,5.6dvh,46px);font-size:clamp(.76rem,3.4vw,.9rem)}@keyframes rotation-controls-appear{0%{transform:translateY(-6px) scale(.97);opacity:0}to{transform:none;opacity:1}}}@media(max-width:480px){.opponent-options{grid-template-columns:1fr}.opponent-options .online-option{grid-column:auto}.opponent-option{min-height:78px}.online-options{grid-template-columns:1fr}.quick-match{grid-column:auto;grid-template-columns:auto 1fr auto}.quick-match small{display:none}.host-room,.join-room{min-height:86px}.connection-ticket{min-width:0;padding-inline:8px}.connection-ticket small{display:none}.odds-grid{grid-template-columns:1fr;gap:4px}.odds-card{min-height:38px;padding:4px 7px}.bag-swatch{width:25px;height:25px}.odds-card small{margin:1px 0 0}.odds-values{display:flex;align-items:baseline;gap:7px}.odds-values em{margin-top:0}.odds-legend{margin-top:6px}}@media(max-width:760px)and (max-height:700px)and (orientation:portrait){h1{margin-block:clamp(10px,2dvh,14px)}.hero-copy p{margin-block:clamp(8px,1.8dvh,12px);line-height:1.35}.hero-card{width:clamp(102px,min(38vw,22dvh),145px)}.card-one{top:14%}.card-two{top:18%}.card-three{top:24%}.stamp{top:1%}.durian{top:43%}}@media(max-height:520px)and (orientation:portrait){.hero-art{display:none}.landing{grid-template-rows:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.grid-card.being-pushed{transition-duration:.01ms}.game-grid.intro-grid,.hand-card.intro-deal,.scanner-sequence,.scanner-label,.scanner-beam,.setup-card,.ai-turn-card,.thinking-dots i{animation:none}}@media(min-width:761px)and (max-height:850px){main.playing .player-area{--badge-size: clamp(104px, 16dvh, 136px)}main.playing .hand-panel{padding-top:10px}main.playing .hand{min-height:0;height:calc(100% - 24px);padding-top:4px}main.playing .hand-card{width:clamp(76px,11.5dvh,102px);flex-basis:clamp(76px,11.5dvh,102px)}}@media(orientation:landscape)and (max-height:500px){:root{--header-height: clamp(52px, 16dvh, 64px)}.landing{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-rows:minmax(0,1fr);gap:clamp(8px,2vw,24px);padding:clamp(5px,2dvh,10px) clamp(14px,4vw,36px);text-align:left}.hero-copy{margin-inline:0}.eyebrow{padding:4px 7px;font-size:clamp(.56rem,2.6dvh,.7rem)}h1{margin-block:clamp(7px,2.5dvh,11px);font-size:clamp(2.5rem,14dvh,4rem)}.hero-copy p{margin-block:clamp(6px,2dvh,9px);font-size:clamp(.7rem,3.4dvh,.9rem);line-height:1.3}.primary,.text-button{min-height:38px;padding-block:clamp(7px,2.5dvh,10px);font-size:clamp(.68rem,3dvh,.82rem)}.text-button{padding-inline:clamp(8px,2vw,14px)}.hero-art{height:100%;margin-top:0}.hero-card{width:clamp(96px,min(25vw,42dvh),180px)}.card-one{left:31%;top:14%}.card-two{left:1%;top:19%}.card-three{right:0;top:25%}.stamp{right:2%;top:0}.durian{left:36%;top:43%;font-size:clamp(4rem,min(16vw,28dvh),7rem)}main.playing .game-shell{grid-template-columns:minmax(250px,.9fr) minmax(0,1.45fr);grid-template-rows:minmax(0,1fr);gap:clamp(8px,1.5vw,16px);align-items:center;padding:clamp(3px,1dvh,5px) clamp(8px,3vw,24px) clamp(6px,2dvh,10px)}main.playing .board-area{width:100%;height:100%}main.playing .grid-wrap{width:auto;height:min(100cqh,100cqw * 584 / 660);max-height:100%;aspect-ratio:660 / 584}main.playing .player-area{--badge-size: clamp(72px, min(13vw, 28dvh), 112px);width:100%;height:clamp(126px,47dvh,176px);margin-top:0}main.playing .hand-panel{height:100%}main.playing .hand-card{width:clamp(60px,min(10vw,25dvh),94px);flex-basis:clamp(60px,min(10vw,25dvh),94px)}.pass-card{padding:clamp(12px,4vmin,18px) clamp(16px,5vmin,24px)}.pass-card .mini-logo{width:clamp(34px,12vmin,44px);height:clamp(34px,12vmin,44px);margin-bottom:clamp(5px,2vmin,8px);border-width:2px;border-radius:clamp(8px,3vmin,11px);font-size:clamp(1.1rem,6vmin,1.4rem);box-shadow:0 3px #aac1c8}.pass-card small{font-size:clamp(.62rem,3vmin,.72rem)}.pass-card h2{margin-block:clamp(4px,1.5vmin,7px);font-size:clamp(1.4rem,8vmin,1.8rem)}.pass-card p{margin:0;font-size:clamp(.7rem,3.4vmin,.82rem);line-height:1.3}.pass-card .primary{min-height:38px;margin-top:clamp(8px,3vmin,12px);padding-block:clamp(7px,2.5vmin,10px)}}@media(max-width:760px)and (max-height:630px){:root{--header-height: clamp(52px, 9.5dvh, 60px)}main.playing header{padding-block:4px}main.playing .game-shell{--hand-reserve: clamp(150px, 26dvh, 200px)}main.playing .hand-panel{--hand-top-space: clamp(4px, 1.3dvh, 8px);min-height:0}main.playing .hand{--hand-card-size: clamp(54px, min(31cqw, 15dvh), 84px)}}@media(max-width:390px){.eyebrow{letter-spacing:.06em}.primary span{padding-left:8px}.score-row{grid-template-columns:1fr}}.audio-panel-overlay{z-index:100}.audio-panel-card{width:min(480px,calc(100vw - 32px));background:linear-gradient(180deg,#0d3855,#08263b);border:clamp(3px,.5vw,4px) solid #d6f2fb;border-radius:clamp(16px,2.5vw,24px);box-shadow:0 16px 40px #071f3099,inset 0 0 20px #41b9e626;color:#eff9fd;padding:clamp(18px,3.5vw,28px);position:relative;animation:pop-in .22s cubic-bezier(.18,.89,.32,1.28) both}.audio-panel-card .setup-kicker{color:#f7c938;font-size:clamp(.7rem,1.6vw,.82rem);font-weight:900;letter-spacing:.1em;display:block}.audio-panel-card h2{font:900 clamp(1.6rem,3.5vw,2.2rem) "Barlow Condensed";margin:4px 0 18px;color:#fff;letter-spacing:.02em;text-transform:uppercase}.audio-controls-group{display:flex;flex-direction:column;gap:14px}.audio-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.audio-label-group strong{display:block;color:#fff;font-size:clamp(.95rem,1.8vw,1.1rem);font-weight:800}.audio-label-group small{color:#8ed5ee;font-size:clamp(.72rem,1.3vw,.82rem);font-weight:600}.audio-mute-toggle{border:2px solid #58b6db;background:#1e71b366;color:#79e394;border-radius:8px;padding:5px 12px;font-size:.78rem;font-weight:800;letter-spacing:.05em;cursor:pointer;transition:all .15s}.audio-mute-toggle:hover{background:#1e71b3b3;transform:scale(1.03)}.audio-mute-toggle.muted{border-color:#e57373;color:#ff9b9b;background:#b428284d}.audio-slider-wrap{display:flex;align-items:center;gap:12px}.audio-slider-wrap input[type=range]{flex:1;height:8px;border-radius:4px;accent-color:#f7c938;background:#174b6c;cursor:pointer}.audio-slider-wrap span{font-family:Barlow Condensed,sans-serif;font-size:1.1rem;font-weight:800;color:#f7c938;min-width:42px;text-align:right}.audio-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(137,213,238,.3),transparent);margin:4px 0}.audio-footer-actions{display:flex;gap:10px;margin-top:6px}.test-sfx-btn{flex:1;min-height:40px;border:2px solid #fff380;background:linear-gradient(180deg,#ffd338,#f0a218);color:#173b55;border-radius:10px;font-size:.82rem;font-weight:900;cursor:pointer;box-shadow:0 4px #b3780a;transition:transform .1s,box-shadow .1s}.test-sfx-btn:hover{transform:translateY(-2px);box-shadow:0 6px #b3780a}.test-sfx-btn:active{transform:translateY(2px);box-shadow:0 2px #b3780a}.master-mute-btn{flex:1;min-height:40px;border:2px solid #82d8ff;background:linear-gradient(180deg,#2481b4,#12557e);color:#fff;border-radius:10px;font-size:.82rem;font-weight:900;cursor:pointer;box-shadow:0 4px #0d3855;transition:transform .1s,box-shadow .1s}.master-mute-btn:hover{transform:translateY(-2px);box-shadow:0 6px #0d3855}.master-mute-btn:active{transform:translateY(2px);box-shadow:0 2px #0d3855}.master-mute-btn.all-muted{background:linear-gradient(180deg,#d34545,#9c2727);border-color:#f99;box-shadow:0 4px #6e1818}
