:root{color-scheme:light;--ink: #18201f;--muted: #586562;--paper: #fbfaf5;--panel: #ffffff;--line: #d9ddd3;--brand: #0d766e;--brand-dark: #075b55;--accent: #b54708;--tile: #fff8ef;--tile-edge: #d97a18;--table: #057867;--table-dark: #03574d;--shadow: 0 14px 36px rgba(24, 32, 31, .12);--mahjong-courtyard-bg: image-set(url(/mahjong/backgrounds/candidates/neon-festival-courtyard-v1.webp) type("image/webp"), url(/mahjong/backgrounds/candidates/neon-festival-courtyard-v1.png) type("image/png"))}.reward-hud-stat{position:relative;isolation:isolate;overflow:hidden;flex-direction:column;align-items:center!important;justify-content:center!important;gap:0!important;min-width:0}.reward-hud-stat:after{content:"";position:absolute;inset:0;z-index:-1;opacity:0;background:linear-gradient(110deg,transparent 8%,rgba(255,237,164,.3) 48%,transparent 88%);transform:translate(-110%)}.reward-hud-stat.is-reward-updated:after{animation:rewardHudSweep .68s ease-out}.reward-hud-stat .reward-hud-label{display:inline;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:inherit;font:inherit}.reward-coin-mark{position:absolute;top:4px;left:5px;display:inline-grid;place-items:center;width:1.15em;aspect-ratio:1;margin:0;border:2px solid #fff0a6;border-radius:50%;background:radial-gradient(circle at 36% 30%,#fff8c9 0 8%,transparent 9%),linear-gradient(145deg,#ffe789,#c88c18 58%,#7a4b08);color:#5f3903;box-shadow:inset 0 0 0 2px #814b0447,0 2px 7px #1f100057;font-style:normal;vertical-align:-.12em}.reward-hud-stat [data-reward-balance]{max-width:100%;font-size:clamp(.96rem,1.35vw,1.3rem)!important;line-height:1!important;white-space:nowrap}.reward-coin-mark:before{content:"M";font-size:.58em;font-weight:950;line-height:1}.reward-celebration{position:fixed;inset:0;z-index:1550;display:grid;place-items:center;overflow:hidden;pointer-events:none}.reward-celebration[hidden]{display:none}.reward-celebration__coins{position:absolute;inset:0;overflow:hidden}.reward-fountain-coin{position:absolute;left:50%;top:76%;width:clamp(18px,2.2rem,34px);aspect-ratio:1;border:2px solid #fff3ad;border-radius:50%;opacity:0;background:radial-gradient(circle at 34% 28%,#fffbd9 0 7%,transparent 8%),linear-gradient(145deg,#ffe994,#d59a20 56%,#825008);box-shadow:inset 0 0 0 3px #7e4a0357,0 0 14px #ffd258a3;animation:rewardCoinFountain 1.7s cubic-bezier(.18,.76,.22,1) var(--coin-delay) both}.reward-fountain-coin:before{content:"M";position:absolute;inset:0;display:grid;place-items:center;color:#6b4005;font-size:.7em;font-style:normal;font-weight:950}.reward-celebration__copy{position:relative;display:grid;justify-items:center;width:min(520px,calc(100vw - 36px));padding:18px 22px 20px;border:2px solid rgba(255,231,141,.86);border-radius:8px;opacity:0;background:radial-gradient(circle at 50% -30%,rgba(255,224,119,.28),transparent 52%),linear-gradient(180deg,#104c41f7,#032824fa);color:#fffdf4;box-shadow:inset 0 1px #fff3,0 24px 70px #0013117a,0 0 42px #ffca4833;text-align:center;transform:translateY(18px) scale(.94)}.reward-celebration.is-active .reward-celebration__copy{animation:rewardCelebrationCopy 1.9s cubic-bezier(.2,.82,.22,1) both}.reward-celebration__kicker{color:#f5cf70;font-size:.72rem;font-weight:900;letter-spacing:0;line-height:1.2;text-transform:uppercase}.reward-celebration__title{margin-top:6px;color:#fff;font-size:1.55rem;line-height:1.05;text-wrap:balance}.reward-celebration__amount{margin-top:8px;color:#ffe58e;font-size:2.15rem;font-weight:950;line-height:1;text-shadow:0 3px 14px rgba(255,193,47,.28)}.reward-celebration__detail{max-width:42ch;margin-top:9px;color:#effff8db;font-size:.86rem;font-weight:700;line-height:1.35;text-wrap:pretty}.reward-travel-layer{position:fixed;inset:0;z-index:1700;display:grid;place-items:center;padding:18px}.reward-travel-layer[hidden]{display:none}.reward-travel-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:0;background:#011210c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:default}.reward-travel-panel{position:relative;display:grid;grid-template-columns:minmax(270px,.86fr) minmax(340px,1.14fr);width:min(900px,calc(100vw - 36px));max-height:min(760px,calc(100dvh - 36px));overflow:auto;border:2px solid rgba(255,223,124,.72);border-radius:8px;background:#082f2a;color:#fffdf5;box-shadow:inset 0 1px #ffffff29,0 34px 100px #0000008f,0 0 70px #dd9d2429}.reward-travel-panel:focus{outline:none}.reward-travel-hosts{position:relative;min-height:500px;overflow:hidden;border-right:1px solid rgba(255,233,164,.26);background:radial-gradient(circle at 50% 16%,rgba(255,220,124,.22),transparent 34%),linear-gradient(150deg,#6d151d 0 34%,#201018 35% 58%,#063c35 59%)}.reward-travel-hosts:after{content:"WORLD TOUR";position:absolute;left:16px;bottom:16px;z-index:3;padding:5px 8px;border:1px solid rgba(255,239,180,.58);border-radius:4px;background:#1c0a0cd1;color:#ffe89b;font-size:.72rem;font-weight:950;letter-spacing:0}.reward-travel-host{position:absolute;width:56%;margin:0;overflow:hidden;border:2px solid rgba(255,231,153,.5);border-radius:6px;background:#121b19;box-shadow:0 22px 50px #0000006b}.reward-travel-host--female{top:24px;left:14px;z-index:2}.reward-travel-host--male{right:14px;bottom:48px;z-index:1}.reward-travel-host img{display:block;width:100%;aspect-ratio:4 / 5;object-fit:cover;object-position:center 28%;filter:saturate(.82) contrast(1.04)}.reward-travel-host figcaption{padding:7px 8px;background:#02201cf5;color:#fbe8a8;font-size:.68rem;font-weight:850;text-align:center;text-transform:uppercase}.reward-travel-content{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:30px 32px 34px;background:radial-gradient(circle at 100% 0%,rgba(255,218,114,.16),transparent 34%),linear-gradient(180deg,#0d4e45,#052e2a)}.reward-travel-eyebrow{color:#f2c85f;font-size:.74rem;font-weight:950;letter-spacing:0;text-transform:uppercase}.reward-travel-content h2{margin:8px 0 0;color:#fff;font-size:2rem;line-height:1.02;text-wrap:balance}.reward-travel-subtitle{max-width:46ch;margin:12px 0 0;color:#edfff8d1;font-size:.95rem;line-height:1.5}.reward-travel-destination{display:block;margin-top:18px;color:#ffe79b;font-size:1.08rem;line-height:1.25}.reward-travel-fare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px}.reward-travel-fare>span{min-width:0;padding:10px 11px;border:1px solid rgba(238,255,247,.2);border-radius:6px;background:#011f1c75;color:#e7fff6bd;font-size:.72rem;font-weight:850;text-transform:uppercase}.reward-travel-fare strong{display:block;margin-top:4px;overflow-wrap:anywhere;color:#fff;font-size:1.16rem;line-height:1.1}.reward-travel-shortfall{min-height:42px;margin:13px 0 0;color:#e7fff6d6;font-size:.84rem;font-weight:700;line-height:1.35}.reward-travel-shortfall.is-short{color:#ffd7a2}.reward-travel-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px}.reward-travel-actions button,.reward-travel-actions a{display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:9px 12px;border-radius:6px;font-size:.8rem;font-weight:900;line-height:1.2;text-align:center;text-decoration:none;transition:transform .18s ease,filter .18s ease,border-color .18s ease}.reward-travel-actions button:hover:not(:disabled),.reward-travel-actions a:hover{filter:brightness(1.08);transform:translateY(-1px)}.reward-travel-actions button:active:not(:disabled),.reward-travel-actions a:active{transform:translateY(1px) scale(.99)}.reward-travel-purchase{grid-column:1 / -1;border:2px solid #fff0ae;background:linear-gradient(180deg,#f5cf69,#b97712);color:#302000;box-shadow:0 10px 24px #f6b93033}.reward-travel-purchase:disabled{border-color:#ffe6ab3d;background:#284b44b8;color:#ecfff88a;box-shadow:none;cursor:not-allowed}.reward-travel-secondary,.reward-travel-cancel{border:1px solid rgba(224,255,244,.24);background:#02272394;color:#effff9}.reward-travel-cancel{grid-column:1 / -1}body.reward-modal-open{overflow:hidden}@keyframes rewardHudSweep{0%{opacity:0;transform:translate(-110%)}34%{opacity:1}to{opacity:0;transform:translate(110%)}}@keyframes rewardCoinFountain{0%{opacity:0;transform:translate3d(-50%,24vh,0) scale(.34) rotate(0)}12%{opacity:1}62%{opacity:1;transform:translate3d(calc(-50% + var(--coin-x)),var(--coin-y),0) scale(var(--coin-scale)) rotate(var(--coin-turn))}to{opacity:0;transform:translate3d(calc(-50% + var(--coin-x) + var(--coin-drift)),30vh,0) scale(calc(var(--coin-scale) * .84)) rotate(calc(var(--coin-turn) * 1.45))}}@keyframes rewardCelebrationCopy{0%{opacity:0;transform:translateY(18px) scale(.94)}15%,72%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-12px) scale(.98)}}@media(max-width:640px){.reward-celebration__copy{width:min(360px,calc(100vw - 24px));padding:15px 14px 17px}.reward-celebration__title{font-size:1.25rem}.reward-celebration__amount{font-size:1.7rem}.reward-travel-layer{padding:8px}.reward-travel-panel{grid-template-columns:1fr;width:min(440px,calc(100vw - 16px));max-height:calc(100dvh - 16px)}.reward-travel-hosts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:162px;padding:10px;border-right:0;border-bottom:1px solid rgba(255,233,164,.26)}.reward-travel-host{position:relative;inset:auto;width:auto}.reward-travel-host--female,.reward-travel-host--male{z-index:1}.reward-travel-host img{height:112px;aspect-ratio:auto;object-position:center 25%}.reward-travel-host figcaption{display:grid;place-items:center;min-height:28px;padding:4px;font-size:.54rem;line-height:1.1;overflow-wrap:anywhere;text-wrap:balance}.reward-travel-hosts:after{display:none}.reward-travel-content{padding:20px 18px 22px}.reward-travel-content h2{font-size:1.5rem}.reward-travel-destination{margin-top:13px;font-size:.96rem}.reward-travel-fare{margin-top:13px}.reward-travel-actions{grid-template-columns:1fr;margin-top:12px}.reward-travel-purchase,.reward-travel-cancel{grid-column:auto}}.passport-home-band{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);align-items:stretch;background:#123f3a;color:#fff}.passport-home-band>img{width:100%;height:100%;min-height:280px;object-fit:cover}.passport-home-band>div{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:34px clamp(24px,5%,64px)}.passport-home-band>div>*{max-width:760px;width:100%}.passport-home-band .eyebrow{margin:0;color:#ffd978}.passport-home-band h2{margin:4px 0 18px;font-size:2rem}.passport-home-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px;border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22)}.passport-home-stats span{min-width:0;padding:13px 12px;border-right:1px solid rgba(255,255,255,.18)}.passport-home-stats span:first-child{padding-left:0}.passport-home-stats span:last-child{border-right:0}.passport-home-stats strong,.passport-home-stats small{display:block}.passport-home-stats strong{color:#fff0ad;font-size:1.18rem}.passport-home-stats small{margin-top:2px;color:#d4e9e3;font-size:.78rem;font-weight:800;text-transform:uppercase}.passport-home-band .primary-link{align-self:flex-start;background:#b54708}.passport-home-band .primary-link:hover,.passport-home-band .primary-link:focus-visible{background:#8e3504}.passport-page{min-width:320px;background:#f4f5f0}.passport-main{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:28px 0 56px}.passport-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,430px);align-items:center;min-height:220px;overflow:hidden;border-bottom:4px solid #bd8a22;background:#063f39;color:#fff}.passport-heading>div{padding:30px 34px}.passport-heading .eyebrow{margin:0 0 8px;color:#ffd978}.passport-heading h1{margin:0 0 12px;font-size:3rem;line-height:1}.passport-heading p:not(.eyebrow){max-width:54ch;margin:0;color:#d9eee8}.passport-share-latest{margin-top:18px;border:1px solid rgba(255,226,139,.52);background:#b54708}.passport-share-latest:hover,.passport-share-latest:focus-visible{background:#8e3504}.passport-share-latest[hidden]{display:none}.passport-share-status{display:block;min-height:1.25em;margin-top:8px;color:#ffd978;font-size:.82rem}.passport-heading img{width:100%;height:220px;object-fit:cover}.passport-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #cfd5cc;border-top:0;background:#fff}.passport-summary span{min-width:0;padding:17px 20px;border-right:1px solid #dde1da}.passport-summary span:last-child{border-right:0}.passport-summary small,.passport-summary strong{display:block}.passport-summary small{color:#66726f;font-size:.78rem;font-weight:800;text-transform:uppercase}.passport-summary strong{margin-top:4px;color:#16211f;font-size:1.35rem}.passport-tabs{display:flex;gap:3px;margin-top:24px;overflow-x:auto;border-bottom:1px solid #cbd1c8;scrollbar-width:thin}.passport-tabs button{flex:0 0 auto;min-width:128px;min-height:44px;border:1px solid transparent;border-bottom:3px solid transparent;border-radius:4px 4px 0 0;background:transparent;color:#4c5956;box-shadow:none}.passport-tabs button:hover,.passport-tabs button:focus-visible{background:#e8eeea;color:#063f39}.passport-tabs button[aria-selected=true]{border-color:#cbd1c8;border-bottom-color:#b54708;background:#fff;color:#063f39}.passport-panel{min-height:430px;padding:26px 0 0}.passport-panel[hidden]{display:none}.passport-section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px}.passport-section-heading .eyebrow,.passport-section-heading h2{margin:0}.passport-section-heading h2{margin-top:3px;font-size:1.55rem}.passport-section-heading>strong{color:#8f420d}.passport-daily-list,.passport-achievement-list{border-top:1px solid #ccd2ca}.passport-daily-row{display:grid;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:20px;min-height:94px;padding:14px 16px;border-bottom:1px solid #d7dcd4;background:#fff}.passport-daily-row h3,.passport-daily-row p{margin:0}.passport-daily-row h3{font-size:1.05rem}.passport-daily-row p{margin-top:3px;font-size:.9rem}.passport-daily-state{color:#56635f;font-size:.78rem;font-weight:900;text-transform:uppercase}.passport-daily-row.is-complete .passport-daily-state{color:#0d766e}.passport-daily-row.is-in-progress .passport-daily-state{color:#9b4a11}.passport-daily-row a{display:inline-flex;align-items:center;justify-content:center;min-width:96px;min-height:42px;padding:0 14px;border:1px solid #0d766e;border-radius:5px;color:#075b55;font-weight:900;text-decoration:none}.passport-daily-row a:hover,.passport-daily-row a:focus-visible{background:#e3f2ed}.passport-achievement{display:grid;grid-template-columns:92px minmax(0,1fr) minmax(150px,220px);align-items:center;gap:18px;min-height:88px;padding:14px 16px;border-bottom:1px solid #d7dcd4;background:#fff}.passport-achievement>span{color:#69736f;font-size:.75rem;font-weight:900;text-transform:uppercase}.passport-achievement.is-unlocked>span{color:#0d766e}.passport-achievement h3,.passport-achievement p{margin:0}.passport-achievement h3{font-size:1rem}.passport-achievement p{margin-top:2px;font-size:.84rem}.passport-achievement-progress strong{display:block;margin-bottom:6px;color:#38433f;font-size:.82rem;text-align:right}.passport-achievement-progress span{display:block;height:7px;overflow:hidden;border-radius:4px;background:#dfe4dc}.passport-achievement-progress i{display:block;height:100%;border-radius:inherit;background:#b54708}.passport-collection-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.passport-stamp{min-width:0;overflow:hidden;border:1px solid #cbd2c8;border-radius:7px;background:#fff}.passport-stamp img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;background:#24302d}.passport-stamp.is-locked img{filter:grayscale(1) brightness(.58) contrast(.9)}.passport-stamp>div{min-height:94px;padding:11px 12px 12px}.passport-stamp span,.passport-stamp strong{color:#68736f;font-size:.72rem;font-weight:900;text-transform:uppercase}.passport-stamp h3{min-height:2.6em;margin:3px 0 7px;font-size:.95rem;line-height:1.3}.passport-stamp.is-unlocked strong{color:#0d766e}.passport-data-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #ccd2ca;background:#fff}.passport-data-layout section{min-height:230px;padding:24px}.passport-data-layout section+section{border-left:1px solid #d7dcd4}.passport-data-layout h3{margin:0 0 8px}.passport-data-layout p{max-width:55ch}.passport-data-actions,.passport-delete-actions{display:flex;flex-wrap:wrap;gap:10px}.passport-delete-button{border-color:#a43b2b;background:#fff;color:#8a2e22}.passport-delete-button:hover,.passport-delete-button:focus-visible{border-color:#8a2e22;background:#fbecea;color:#6f2118}.passport-delete-confirmation{margin-top:18px;padding-top:16px;border-top:1px solid #d7dcd4}.passport-delete-confirmation[hidden]{display:none}.passport-delete-confirmation p{margin:0 0 10px}.passport-delete-confirmation strong{color:#6f2118}.passport-offline-state{display:inline-block;padding:6px 9px;border:1px solid #b8c0b6;border-radius:4px;color:#4d5955;background:#edf0eb}.passport-action-status{min-height:1.5em;margin-top:10px;color:#075b55;font-weight:800}@media(max-width:860px){.passport-home-band{grid-template-columns:1fr}.passport-home-band>img{min-height:210px;max-height:280px}.passport-main{width:min(100% - 24px,720px);padding-top:18px}.passport-heading{grid-template-columns:1fr}.passport-heading>div{padding:24px}.passport-heading h1{font-size:2.4rem}.passport-heading img{height:180px}.passport-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.passport-summary span:nth-child(2){border-right:0}.passport-summary span:nth-child(-n+2){border-bottom:1px solid #dde1da}.passport-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.passport-home-band>img{min-height:160px;max-height:190px}.passport-home-band>div{padding:24px 16px 28px}.passport-home-band h2{margin-bottom:13px;font-size:1.65rem}.passport-home-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.passport-home-stats span:nth-child(2){border-right:0}.passport-home-stats span:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.18)}.passport-home-stats span:nth-child(3){padding-left:0}.passport-main{width:100%;padding-top:0}.passport-heading{border-bottom-width:3px}.passport-heading>div{padding:22px 16px}.passport-heading h1{font-size:2.15rem}.passport-heading img{height:145px}.passport-summary span{padding:13px 14px}.passport-summary strong{font-size:1.12rem}.passport-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:18px;padding:0;overflow:visible}.passport-tabs button{width:100%;min-width:0;padding:0 3px;font-size:.75rem}.passport-panel{min-height:360px;padding:20px 12px 0}.passport-section-heading{align-items:start;margin-bottom:13px}.passport-daily-row{grid-template-columns:84px minmax(0,1fr);gap:10px;padding:13px 10px}.passport-daily-row a{grid-column:2;width:100%;min-width:0}.passport-achievement{grid-template-columns:72px minmax(0,1fr);gap:10px;padding:13px 10px}.passport-achievement-progress{grid-column:2}.passport-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.passport-stamp>div{min-height:104px;padding:9px}.passport-stamp h3{font-size:.84rem}.passport-data-layout{grid-template-columns:1fr}.passport-data-layout section{min-height:0;padding:18px}.passport-data-layout section+section{border-top:1px solid #d7dcd4;border-left:0}}@media(prefers-reduced-motion:reduce){.passport-tabs button,.passport-daily-row a{transition:none}}@media(prefers-reduced-motion:reduce){.reward-hud-stat.is-reward-updated:after,.reward-celebration.is-active .reward-celebration__copy,.reward-fountain-coin{animation-duration:1ms;animation-delay:0ms}.reward-celebration__copy{opacity:1;transform:none}.reward-fountain-coin{top:35%;opacity:.7;transform:translate(var(--coin-x))}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Trebuchet MS,Segoe UI,Arial,Helvetica,sans-serif;line-height:1.5;font-variant-numeric:tabular-nums}a{color:inherit}a,button,input,select,.tile,.solitaire-tile,.piles-tile{-webkit-tap-highlight-color:transparent}button,input,select,nav a,.tile,.solitaire-tile,.piles-tile{touch-action:manipulation}.redirect-page{min-height:100dvh;display:grid;place-content:center;gap:12px;padding:32px;text-align:center}.redirect-page h1{margin:0;font-size:clamp(2rem,5vw,4rem);line-height:1}.redirect-page p{margin:0;color:var(--muted)}.redirect-page a{color:var(--brand-dark);font-weight:800}.skip-link{position:fixed;left:16px;top:12px;z-index:2000;transform:translateY(-140%);padding:10px 14px;border-radius:6px;background:#fffdf7;color:var(--brand-dark);font-weight:900;text-decoration:none;box-shadow:0 12px 30px #00272238;transition:transform .18s ease}.skip-link:focus,.skip-link:focus-visible{transition:none;transform:none}.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px clamp(16px,4vw,56px);border-bottom:1px solid var(--line);background:#fbfaf5f0;position:sticky;top:0;z-index:1000;box-shadow:0 10px 28px #18201f0f}.brand{display:inline-flex;align-items:center;min-height:44px;color:#121917;font-weight:900;text-decoration:none}nav{display:flex;flex-wrap:wrap;gap:7px;color:var(--muted);font-size:.88rem;font-weight:800}nav a{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:6px 12px;border:1px solid transparent;border-radius:999px;text-decoration:none;transition:color .18s ease,background-color .18s ease,border-color .18s ease,transform .18s ease}nav a:hover,nav a[aria-current=page]{color:var(--brand-dark);background:#0d766e14;border-color:#0d766e2e}nav a:hover{transform:translateY(-1px)}nav a[aria-current=page]:after{content:none}.site-account-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;gap:8px;min-height:44px;padding:4px 12px 4px 6px;border-radius:999px;color:var(--muted);font-size:.88rem;font-weight:800;text-decoration:none;white-space:nowrap;transition:color .18s ease,background-color .18s ease}.site-account-badge:hover{color:var(--brand-dark);background:#0d766e14}.site-account-badge.is-signed-in{padding-left:6px}.site-account-avatar{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background-color:#0d766e29;background-size:cover;background-position:center;font-size:.85rem;font-weight:900}.site-account-name{max-width:12ch;overflow:hidden;text-overflow:ellipsis}.connect-page .site-account-badge,.piles-page .site-account-badge,.solitaire-page .site-account-badge{color:#f0fff9f5}.connect-page .site-account-badge:hover,.piles-page .site-account-badge:hover,.solitaire-page .site-account-badge:hover{color:#fff;background:#b8ffe51f}@media(max-width:860px){.site-account-badge{padding:4px 2px}.site-account-name{display:none}}.connect-page .site-header,.piles-page .site-header,.solitaire-page .site-header{border-bottom-color:#b8ffe538;background:#042622e0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 12px 28px #0014123d}.connect-page .brand,.piles-page .brand,.solitaire-page .brand{color:#f6fff9;text-shadow:0 2px 8px rgba(0,18,15,.42)}.connect-page nav,.piles-page nav,.solitaire-page nav{color:#f0fff9f5}.connect-page nav a:hover,.connect-page nav a[aria-current=page],.piles-page nav a:hover,.piles-page nav a[aria-current=page],.solitaire-page nav a:hover,.solitaire-page nav a[aria-current=page]{color:#fff;background:#b8ffe51f;border-color:#b8ffe53d}@media(min-width:861px){html:has(body.connect-page),html:has(body.piles-page),html:has(body.solitaire-page),body.connect-page,body.piles-page,body.solitaire-page{scrollbar-color:rgba(184,255,229,.28) rgba(0,38,35,.18);scrollbar-width:thin}html:has(body.connect-page)::-webkit-scrollbar,html:has(body.piles-page)::-webkit-scrollbar,html:has(body.solitaire-page)::-webkit-scrollbar,body.connect-page::-webkit-scrollbar,body.piles-page::-webkit-scrollbar,body.solitaire-page::-webkit-scrollbar{width:10px}html:has(body.connect-page)::-webkit-scrollbar-track,html:has(body.piles-page)::-webkit-scrollbar-track,html:has(body.solitaire-page)::-webkit-scrollbar-track,body.connect-page::-webkit-scrollbar-track,body.piles-page::-webkit-scrollbar-track,body.solitaire-page::-webkit-scrollbar-track{background:#0026232e}html:has(body.connect-page)::-webkit-scrollbar-thumb,html:has(body.piles-page)::-webkit-scrollbar-thumb,html:has(body.solitaire-page)::-webkit-scrollbar-thumb,body.connect-page::-webkit-scrollbar-thumb,body.piles-page::-webkit-scrollbar-thumb,body.solitaire-page::-webkit-scrollbar-thumb{border:2px solid rgba(0,38,35,.18);border-radius:999px;background:#b8ffe547}html:has(body.connect-page)::-webkit-scrollbar-thumb:hover,html:has(body.piles-page)::-webkit-scrollbar-thumb:hover,html:has(body.solitaire-page)::-webkit-scrollbar-thumb:hover,body.connect-page::-webkit-scrollbar-thumb:hover,body.piles-page::-webkit-scrollbar-thumb:hover,body.solitaire-page::-webkit-scrollbar-thumb:hover{background:#d6fff06b}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(255,212,94,.92);outline-offset:3px}.hero,.game-shell{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:clamp(24px,5vw,64px);align-items:center;padding-block:clamp(34px,7vw,86px);padding-inline:max(clamp(16px,4vw,56px),(100% - 1328px) / 2)}.game-table-shell{position:relative;z-index:0;isolation:isolate;grid-template-columns:minmax(720px,1040px);justify-content:center;min-height:calc(100vh - 61px);background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.12),transparent 38%),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(145deg,var(--table),var(--table-dark));background-size:auto,18px 18px,18px 18px,auto;border-block:9px solid rgba(0,58,50,.9);box-shadow:inset 0 0 0 18px #00534880,inset 0 0 80px #00000040}.connect-page .game-table-shell,.piles-page .game-table-shell{--mahjong-garden-bg: var(--mahjong-courtyard-bg);grid-template-columns:minmax(0,1fr);align-items:start;padding:0 0 clamp(20px,2.8vw,36px);overflow:hidden;background:var(--mahjong-garden-bg) center / cover no-repeat;transition:filter .26s ease}.connect-page .game-table-shell:fullscreen,.connect-page .game-table-shell:-webkit-full-screen,.piles-page .game-table-shell:fullscreen,.piles-page .game-table-shell:-webkit-full-screen{width:100vw;min-height:100vh;overflow:auto;background:var(--mahjong-garden-bg) center / cover no-repeat;background-color:var(--table-dark)}.connect-page .game-table-shell:before,.piles-page .game-table-shell:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:transparent}.connect-page .theme-effect-canvas,.piles-page .theme-effect-canvas{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none}@media(prefers-reduced-motion:reduce){.theme-effect-canvas{display:none}}.connect-page .game-panel,.piles-page .game-panel{position:relative;z-index:3;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;width:100%;max-width:none;min-height:calc(100vh - 61px - clamp(40px,5vw,72px));margin:0 auto;padding:0;background:transparent;border-color:transparent;box-shadow:none}.connect-page .game-panel:fullscreen,.connect-page .game-panel:-webkit-full-screen,.piles-page .game-panel:fullscreen,.piles-page .game-panel:-webkit-full-screen{background:var(--mahjong-garden-bg) center / cover no-repeat;background-color:var(--table-dark);border-color:transparent;box-shadow:none}.connect-page .game-window-header,.piles-page .game-window-header{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(430px,1.18fr) minmax(220px,.62fr);align-items:center;gap:clamp(10px,1.3vw,18px);margin-top:-6px;padding:12px clamp(18px,4vw,86px) 6px;border:0;border-bottom:1px solid rgba(222,255,244,.28);border-radius:0;background:linear-gradient(180deg,#00423dc7,#002a2794);box-shadow:inset 0 1px #ffffff1f,inset 0 -1px #0013118f}.piles-page .game-window-header{grid-template-columns:minmax(220px,.6fr) minmax(520px,1.35fr) minmax(210px,.5fr)}@media(min-width:861px){.piles-page .game-window-header{grid-template-columns:minmax(220px,.56fr) minmax(660px,1.45fr) minmax(210px,.48fr)}.piles-page .piles-hud{grid-template-columns:repeat(7,minmax(54px,1fr))}}.connect-page .game-titlebar,.piles-page .game-titlebar{display:grid;grid-template-columns:1fr;align-items:center;gap:2px;margin-bottom:0}.connect-page .game-titlebar .eyebrow,.piles-page .game-titlebar .eyebrow{display:none}.connect-page .game-titlebar h1,.piles-page .game-titlebar h1{font-size:clamp(1.22rem,1.72vw,1.55rem);margin-bottom:0}.connect-page .game-titlebar p,.piles-page .game-titlebar p{max-width:none;margin-bottom:0;font-size:clamp(.78rem,.9vw,.86rem);line-height:1.15}.connect-page .game-hud,.piles-page .game-hud{grid-template-columns:repeat(5,minmax(74px,1fr));gap:7px;margin-bottom:0}.connect-page .game-hud span,.piles-page .game-hud span{display:flex;align-items:baseline;justify-content:center;gap:6px;min-height:34px;padding:2px 4px;background:transparent;border-color:transparent;box-shadow:none;color:#e8fff6e6;font-size:clamp(.78rem,.9vw,.86rem);font-weight:900;text-shadow:0 2px 8px rgba(0,18,16,.52)}.connect-page .game-hud strong,.piles-page .game-hud strong{display:inline;font-size:clamp(1.08rem,1.58vw,1.55rem);font-variant-numeric:tabular-nums;text-shadow:0 2px 0 rgba(0,19,17,.42),0 9px 18px rgba(0,18,16,.38)}.connect-page .career-panel,.piles-page .career-panel{margin-bottom:0;background:transparent;border-color:transparent;box-shadow:none;padding:0}.connect-page .career-row,.piles-page .career-row{display:grid;gap:3px;font-size:.78rem;line-height:1.1;text-align:right}.connect-page .career-track,.piles-page .career-track{background:transparent;box-shadow:none;height:5px}.connect-page .board-stage{--connect-tile-scale: 1;--connect-tile-base-width: clamp(50px, 5.2vmin, 61px);--connect-tile-width: calc(var(--connect-tile-base-width) * var(--connect-tile-scale));--connect-row-gap: 1px;--connect-board-gap: clamp(10px, 1.7vmin, 16px);position:relative;isolation:isolate;width:min(100%,760px);align-self:center;margin:clamp(40px,5.2vh,70px) auto clamp(20px,3vh,36px);padding-inline:clamp(8px,1.3vw,16px);background:transparent;background-size:auto;box-shadow:none}.connect-page .board-stage:before,.connect-page .board-stage:after{content:"";position:absolute;left:50%;pointer-events:none;transform:translate(-50%)}.connect-page .board-stage:before{top:clamp(70px,18%,120px);z-index:0;width:min(650px,82vw);height:clamp(260px,34vw,420px);border-radius:50%;background:radial-gradient(ellipse at 50% 42%,rgba(175,255,225,.13),rgba(24,124,105,.08) 42%,transparent 72%),radial-gradient(ellipse at 50% 58%,rgba(0,13,16,.28),rgba(0,13,16,.12) 52%,transparent 76%)}.connect-page .board-stage:after{top:clamp(118px,31%,190px);z-index:0;width:min(480px,64vw);height:clamp(120px,17vw,210px);border-radius:50%;background:radial-gradient(ellipse at center,rgba(0,7,10,.34),rgba(0,7,10,.12) 48%,transparent 74%);filter:blur(10px)}.connect-page .tile:has(.tile-art){filter:drop-shadow(1px 1px 0 rgba(255,250,229,.58)) drop-shadow(2px 2px 0 rgba(155,77,15,.5)) drop-shadow(0 10px 7px rgba(0,0,0,.3))}.connect-page .tile .tile-art{transition:transform .14s ease,filter .14s ease}.connect-page .tile.selected:has(.tile-art){outline:3px solid rgba(255,235,134,.96);outline-offset:3px;filter:drop-shadow(0 0 10px rgba(255,246,168,.92)) drop-shadow(0 0 18px rgba(108,255,211,.45)) drop-shadow(0 18px 12px rgba(0,0,0,.4))}.connect-page .tile.candidate:has(.tile-art){outline:2px solid rgba(118,255,218,.84);outline-offset:2px}.connect-page .tile:focus-visible:has(.tile-art){outline:3px solid rgba(255,246,168,.98);outline-offset:4px;filter:brightness(1.12) saturate(1.08) drop-shadow(0 0 8px rgba(255,246,168,.88)) drop-shadow(0 15px 10px rgba(0,0,0,.36))}.connect-page .tile.selected .tile-art{transform:translateY(-9px) scale(1.055);filter:saturate(1.08) brightness(1.06)}.connect-page .tile:active .tile-art{transform:translateY(-2px) scale(1.012)}.connect-page .tile.blocked .tile-art{animation:connectTileBlockedFace .34s ease;filter:saturate(1.08) brightness(1.04) drop-shadow(0 0 8px rgba(255,104,104,.9)) drop-shadow(0 0 14px rgba(255,199,101,.42))}.connect-page .tile.matching:has(.tile-art){animation:connectTileMatchDissolve .36s cubic-bezier(.16,.9,.2,1) forwards;filter:brightness(1.18) saturate(1.12) drop-shadow(0 0 14px rgba(255,246,168,.96)) drop-shadow(0 0 22px rgba(91,255,209,.58)) drop-shadow(0 20px 15px rgba(0,0,0,.38))}.connect-page .tile.matching .tile-art{animation:connectTileMatchFace .36s cubic-bezier(.16,.9,.2,1) forwards;filter:saturate(1.12) brightness(1.12)}.connect-clear-effect-overlay{position:fixed;inset:0;z-index:9999;pointer-events:none;overflow:hidden;isolation:isolate}.connect-clear-effect-tile,.connect-clear-effect-afterimage{z-index:3;-webkit-user-select:none;user-select:none}.connect-clear-effect-overlay.is-burst .connect-clear-effect-tile{animation:connectClearBurstTile .56s cubic-bezier(.2,.82,.18,1) forwards}.connect-clear-effect-overlay.is-spirit .connect-clear-effect-tile{animation:connectClearSpiritTile .7s cubic-bezier(.16,.86,.2,1) forwards}.connect-clear-effect-overlay.is-echo .connect-clear-effect-tile{animation:connectClearEchoTile .62s cubic-bezier(.16,.82,.2,1) forwards}.connect-clear-effect-aura{position:fixed;z-index:2;display:block;border-radius:50%;transform:translate(-50%,-50%) scale(.38);opacity:0}.connect-clear-effect-overlay.is-burst .connect-clear-effect-aura{border:2px solid rgba(255,242,144,.96);background:radial-gradient(circle,rgba(255,252,210,.72) 0 13%,rgba(77,255,205,.38) 28%,rgba(255,201,66,.22) 48%,transparent 72%);box-shadow:0 0 14px #ffed7cf2,0 0 30px #39ffc9b8;animation:connectClearBurstAura .56s ease-out forwards}.connect-clear-effect-overlay.is-spirit .connect-clear-effect-aura{border:1px solid rgba(188,255,239,.9);background:radial-gradient(ellipse,rgba(240,255,249,.76),rgba(68,255,205,.34) 32%,rgba(106,174,255,.18) 55%,transparent 74%);box-shadow:0 0 20px #7bffddd1,0 0 38px #5ca9ff75;animation:connectClearSpiritAura .7s ease-out forwards}.connect-clear-effect-overlay.is-echo .connect-clear-effect-aura{border:2px solid rgba(173,255,229,.86);background:radial-gradient(circle,rgba(218,255,245,.38),rgba(116,218,255,.18) 42%,transparent 70%);box-shadow:0 0 18px #4effcdb3,inset 0 0 16px #fff19957;animation:connectClearEchoAura .62s ease-out forwards}.connect-clear-effect-particle{position:fixed;z-index:5;width:8px;height:8px;border:1px solid rgba(255,255,224,.92);border-radius:50%;background:#ffd86b;box-shadow:0 0 8px #ffef8cf2,0 0 14px #44ffcdc2;transform:translate(-50%,-50%) rotate(var(--particle-angle)) translate(4px) scale(.4);animation:connectClearBurstParticle .48s cubic-bezier(.12,.74,.18,1) 90ms forwards}.connect-clear-effect-wisp{position:fixed;z-index:5;width:10px;height:20px;border-radius:50% 50% 42% 42%;background:radial-gradient(ellipse at 50% 72%,rgba(255,250,206,.96),rgba(123,255,221,.72) 45%,rgba(89,178,255,.16) 72%,transparent 78%);filter:drop-shadow(0 0 7px rgba(137,255,225,.9));opacity:0;transform:translate(-50%,-50%) scale(.5);animation:connectClearSpiritWisp .56s cubic-bezier(.12,.72,.2,1) calc(70ms + var(--wisp-index) * 34ms) forwards}.connect-clear-effect-afterimage{z-index:1;opacity:0;filter:saturate(.82) brightness(1.35) drop-shadow(0 0 10px rgba(91,255,216,.84));animation:connectClearAfterimage .48s ease-out calc(70ms + var(--echo-index) * 52ms) forwards}.connect-clear-effect-overlay.is-reduced-motion .connect-clear-effect-tile,.connect-clear-effect-overlay.is-reduced-motion .connect-clear-effect-afterimage,.connect-clear-effect-overlay.is-reduced-motion .connect-clear-effect-aura,.connect-clear-effect-overlay.is-reduced-motion .connect-clear-effect-particle,.connect-clear-effect-overlay.is-reduced-motion .connect-clear-effect-wisp{animation:connectClearReduced .14s ease-out forwards!important}@media(prefers-reduced-motion:reduce){.connect-clear-effect-overlay .connect-clear-effect-tile,.connect-clear-effect-overlay .connect-clear-effect-afterimage,.connect-clear-effect-overlay .connect-clear-effect-aura,.connect-clear-effect-overlay .connect-clear-effect-particle,.connect-clear-effect-overlay .connect-clear-effect-wisp{animation:connectClearReduced .14s ease-out forwards!important}}.connect-page .controls,.piles-page .controls{width:min(940px,calc(100vw - 36px));align-self:end;margin:0 auto;display:grid;grid-template-columns:minmax(164px,220px) repeat(5,minmax(86px,1fr)) repeat(3,minmax(64px,72px));gap:8px;position:fixed;left:50%;bottom:36px;transform:translate(-50%);z-index:24}.piles-page .controls{width:min(1120px,calc(100vw - 64px));grid-template-columns:minmax(174px,190px) repeat(4,minmax(70px,74px)) minmax(344px,350px) repeat(3,62px);gap:6px}.piles-tools-toggle{display:none}.piles-secondary-tools{display:grid;grid-template-columns:repeat(4,minmax(80px,1fr));gap:6px;min-width:0}.piles-secondary-tools>button{min-width:0;padding-inline:8px}.piles-secondary-tools .control-main{width:100%}.connect-page .tile-scale-control,.piles-page .tile-scale-control{display:flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:3px 10px;border:1px solid rgba(184,255,229,.38);border-radius:6px;background:linear-gradient(180deg,#2cae906b,#004039a3),#00322eb8;box-shadow:inset 0 1px #ffffff38,inset 0 -1px #0012105c,0 9px 18px #0014123d;color:#f4fff9;font-size:.82rem;font-weight:900;text-shadow:0 2px 0 rgba(0,28,24,.72);transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .16s ease}.connect-page .tile-scale-control input,.piles-page .tile-scale-control input{width:min(92px,22vw);accent-color:#9deac8;cursor:pointer}.connect-page .tile-scale-control input:focus-visible,.piles-page .tile-scale-control input:focus-visible,.solitaire-page .tile-scale-control input:focus-visible{outline:2px solid rgba(255,244,170,.82);outline-offset:3px;box-shadow:0 0 0 4px #fff4aa24}.connect-page .tile-scale-control strong,.piles-page .tile-scale-control strong{min-width:42px;text-align:right;font-variant-numeric:tabular-nums}.connect-page .controls>button,.piles-page .controls>button{flex:none;min-width:0;min-height:36px;text-shadow:0 1px 0 rgba(0,27,24,.5)}.connect-page .controls .icon-control,.piles-page .controls .icon-control{width:76px;padding-inline:6px;font-size:.72rem;line-height:1.05}.piles-page .controls .icon-control{width:62px}@media(min-width:861px)and (max-width:1120px){.piles-page .controls{width:min(920px,calc(100vw - 48px));grid-template-columns:minmax(174px,190px) repeat(5,minmax(70px,82px)) repeat(3,62px);gap:6px}.piles-page .piles-tools-toggle{display:block}.piles-page .piles-secondary-tools{grid-column:1 / -1;display:none;grid-template-columns:repeat(4,minmax(88px,1fr));gap:6px}.piles-page .piles-secondary-tools.is-open{display:grid;position:absolute;right:0;bottom:calc(100% + 4px);left:0;z-index:3;padding:6px;border:1px solid rgba(190,255,232,.24);border-radius:8px;background:#00302cdb;box-shadow:inset 0 1px #ffffff1f,0 16px 32px #0012104d}}.connect-page .game-message,.piles-page .game-message{width:min(920px,calc(100vw - 36px));margin-inline:auto;min-height:20px;margin-top:0;line-height:1.25;position:fixed;left:50%;bottom:12px;transform:translate(-50%);z-index:24}.piles-page .game-message{width:min(1180px,calc(100vw - 36px))}.mode-bridge{position:fixed;left:50%;bottom:112px;z-index:25;display:grid;grid-template-columns:minmax(250px,1fr) repeat(3,auto);align-items:center;justify-content:center;gap:8px;width:fit-content;max-width:min(780px,calc(100vw - 36px));padding:9px 10px 10px 14px;border:1px solid rgba(255,232,168,.34);border-radius:8px;background:linear-gradient(90deg,rgba(255,232,168,.16),transparent 44%),#003a34d1;color:#edfff7;font-size:.76rem;font-weight:900;line-height:1.1;text-shadow:0 2px 0 rgba(0,24,22,.58);box-shadow:inset 3px 0 #ffe8a8c2,inset 0 1px #ffffff1f,0 16px 34px #0014124d;transform:translate(-50%);overflow:hidden}.mode-bridge[hidden]{display:none}.mode-bridge:after{content:"";position:absolute;left:14px;right:10px;bottom:3px;height:2px;border-radius:999px;background:linear-gradient(90deg,#ffeeaceb,#68ffdac7);box-shadow:0 0 12px #ffeeac5c;transform-origin:left center;animation:modeBridgeCountdown 4.2s linear forwards}.mode-bridge span{display:grid;gap:2px;min-width:0;overflow:hidden;white-space:normal;text-wrap:balance}.mode-bridge span:before{content:"Cleared";display:inline-flex;align-items:center;justify-self:start;width:max-content;min-height:18px;margin-right:7px;padding:2px 5px;border:1px solid rgba(255,232,168,.36);border-radius:4px;background:#ffeeac29;color:#fff2a8;font-size:.58rem;line-height:1;text-transform:uppercase;vertical-align:1px}.mode-bridge strong,.mode-bridge small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}.mode-bridge strong{color:#fff;font-size:.82rem;line-height:1.05}.mode-bridge small{color:#eafff7e0;font-size:.78rem;font-weight:800;line-height:1.12}.mode-bridge a{flex:0 0 auto;min-height:34px;padding:8px 10px;border:1px solid rgba(255,232,168,.34);border-radius:5px;background:#ffeeac29;color:#fff0ad;text-decoration:none;text-shadow:none;display:grid;place-items:center;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.mode-bridge a:hover,.mode-bridge a:focus-visible{border-color:#ffeca8b8;background:#ffeeac47;transform:translateY(-1px)}@keyframes modeBridgeCountdown{0%{transform:scaleX(1);opacity:.95}to{transform:scaleX(0);opacity:.32}}.connect-page .controls:has(.settings-popover:not([hidden]))~.mode-bridge,.piles-page .controls:has(.settings-popover:not([hidden]))~.mode-bridge{opacity:0;pointer-events:none}.connect-page:has(.mode-bridge:not([hidden])) .game-message,.piles-page:has(.mode-bridge:not([hidden])) .game-message{opacity:0;pointer-events:none}.piles-page:has(.piles-secondary-tools.is-open) .game-message{opacity:0;pointer-events:none;visibility:hidden}.piles-page:has(.piles-secondary-tools.is-open) .piles-tray-wrap{opacity:0;pointer-events:none;visibility:hidden}.game-coach{position:absolute;top:clamp(86px,9vw,118px);right:clamp(18px,4vw,72px);z-index:20;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:min(520px,calc(100vw - 36px));padding:9px 10px 9px 15px;border:1px solid rgba(216,255,238,.28);border-radius:8px;background:linear-gradient(90deg,rgba(255,232,168,.08),transparent 44%),#00302b8a;box-shadow:inset 3px 0 #ffe8a8b8,inset 0 1px #ffffff14,0 12px 30px #0012102e;color:#f4fff9;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none;overflow:hidden;opacity:.9}.game-coach[hidden]{display:none}.game-coach div{display:grid;gap:2px;min-width:0}.game-coach strong{color:#ffe8a8f0;font-size:.78rem;line-height:1;letter-spacing:0;text-transform:uppercase}.game-coach span{color:#f4fff9eb;font-size:clamp(.78rem,.9vw,.86rem);font-weight:800;line-height:1.16}.game-coach .coach-steps,.solitaire-coach .coach-steps{display:flex;flex-wrap:wrap;gap:4px;min-width:0;margin-top:2px}.game-coach .coach-steps span,.solitaire-coach .coach-steps span{display:inline-flex;align-items:center;min-height:18px;max-width:100%;padding:2px 6px;border:1px solid rgba(216,255,238,.22);border-radius:4px;background:#ffffff1f;color:#fffdf7f5;font-size:clamp(.56rem,.68vw,.64rem);font-weight:900;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:inset 0 1px #ffffff14}.coach-legend{display:flex;flex-wrap:wrap;gap:4px;min-width:0;margin-top:2px}.coach-legend span{display:inline-flex;align-items:center;gap:4px;min-height:18px;padding:2px 6px 2px 4px;border:1px solid rgba(255,232,168,.24);border-radius:5px;background:#00161438;color:#fffdf7eb;font-size:clamp(.56rem,.68vw,.64rem);font-weight:900;line-height:1;white-space:nowrap}.coach-legend b{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:4px;background:#fffdf4f0;color:#090908;font-family:var(--font-display);font-size:.68rem;font-weight:900;line-height:1;box-shadow:0 1px #0014124d}.coach-visual{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.rule-mini{display:inline-flex;align-items:center;gap:4px;min-height:25px;padding:3px 6px;border:1px solid rgba(216,255,238,.22);border-radius:6px;background:#0016143d;color:#fffdf7f5;font-size:.78rem;font-weight:900;line-height:1;box-shadow:inset 0 1px #ffffff12}.rule-mini i{display:inline-block;width:16px;height:20px;border:1px solid rgba(255,232,168,.76);border-bottom-width:3px;border-radius:4px;background:linear-gradient(180deg,#fffdf4fa,#f4e2b6f5);box-shadow:0 2px #001a1657}.rule-mini em{color:#fffdf7f0;font-style:normal;white-space:nowrap}.rule-open i{box-shadow:-5px 0 #ffffff1f,0 2px #001a1657}.rule-pair i+i,.rule-tray i+i{margin-left:-3px}.rule-path b{display:inline-block;width:24px;height:14px;border-top:2px solid rgba(255,232,168,.88);border-right:2px solid rgba(255,232,168,.88);border-radius:0 6px 0 0}.rule-tray i{width:13px;height:17px;border-bottom-width:2px}.rule-tray-limit i{width:10px;height:14px;border-color:#7ef3c0b3;border-bottom-width:2px}.game-coach button{min-height:40px;padding:6px 12px;border:1px solid rgba(255,232,168,.42);background:#ffeeac2e;color:#fff5bf;box-shadow:inset 0 1px #ffffff24,0 6px 14px #0012102e;font-size:.78rem;line-height:1;white-space:nowrap;pointer-events:auto}.game-coach button:hover,.game-coach button:focus-visible{background:#ffeeac42;border-color:#ffeeacad}@media(min-width:861px){.solitaire-coach:not(.is-help-open),.connect-page .game-coach:not(.is-help-open){top:72px;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:min(440px,calc(100vw - 36px));max-height:76px;padding:7px 9px 7px 12px}.solitaire-coach:not(.is-help-open){left:clamp(18px,4vw,68px)}.connect-page .game-coach{right:auto;left:clamp(18px,4vw,72px);grid-template-columns:1fr;gap:7px;width:min(250px,calc(100vw - 36px))}.connect-page .game-coach:not(.is-help-open),.piles-page .game-coach:not(.is-help-open){grid-template-columns:minmax(0,1fr) auto;width:min(440px,calc(100vw - 36px))}.solitaire-coach:not(.is-help-open) .coach-copy,.connect-page .game-coach:not(.is-help-open) .coach-copy,.piles-page .game-coach:not(.is-help-open) .coach-copy{display:-webkit-box;overflow:hidden;-webkit-line-clamp:1;-webkit-box-orient:vertical}.solitaire-coach:not(.is-help-open) .coach-steps,.solitaire-coach:not(.is-help-open) .coach-legend,.solitaire-coach:not(.is-help-open) .coach-visual,.connect-page .game-coach:not(.is-help-open) .coach-steps,.connect-page .game-coach:not(.is-help-open) .coach-legend,.connect-page .game-coach:not(.is-help-open) .coach-visual,.piles-page .game-coach:not(.is-help-open) .coach-steps,.piles-page .game-coach:not(.is-help-open) .coach-legend,.piles-page .game-coach:not(.is-help-open) .coach-visual{display:none}.connect-page .game-coach button{justify-self:start;min-height:40px}.solitaire-coach:not(.is-help-open) button,.connect-page .game-coach:not(.is-help-open) button,.piles-page .game-coach:not(.is-help-open) button{justify-self:end;min-height:40px;padding-inline:10px}.piles-page .game-coach{position:fixed;top:132px;right:auto;left:clamp(10px,2vw,28px);bottom:auto;width:min(250px,calc(100vw - 28px));padding:7px 8px 7px 12px}.piles-page .game-coach:not(.is-help-open){top:132px;left:clamp(18px,4vw,72px);width:min(400px,calc(100vw - 36px));max-height:76px}.piles-page .game-coach span{font-size:.72rem;line-height:1.12}.piles-page .game-coach .coach-steps{gap:4px}.piles-page .game-coach .coach-steps span{min-height:20px;padding-block:3px}}@media(min-width:861px)and (max-width:1100px){.piles-page .game-coach{left:10px;width:min(238px,calc(100vw - 28px))}}@media(min-width:561px)and (max-width:860px){.game-coach:not(.is-help-open),.solitaire-coach:not(.is-help-open){top:96px;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:min(440px,calc(100vw - 36px));max-height:82px;padding:7px 9px 7px 12px}.piles-page .game-coach:not(.is-help-open){top:96px;left:clamp(18px,4vw,72px);right:auto}.game-coach:not(.is-help-open) .coach-copy,.solitaire-coach:not(.is-help-open) .coach-copy{display:-webkit-box;overflow:hidden;-webkit-line-clamp:1;-webkit-box-orient:vertical}.game-coach:not(.is-help-open) .coach-steps,.game-coach:not(.is-help-open) .coach-legend,.game-coach:not(.is-help-open) .coach-visual,.solitaire-coach:not(.is-help-open) .coach-steps,.solitaire-coach:not(.is-help-open) .coach-legend,.solitaire-coach:not(.is-help-open) .coach-visual{display:none}.game-coach:not(.is-help-open) button,.solitaire-coach:not(.is-help-open) button{justify-self:end;min-height:40px;padding-inline:10px}}.game-table-shell .game-titlebar h1,.game-table-shell .game-titlebar p{color:#fffdf7;text-shadow:0 3px 12px rgba(0,0,0,.28)}.game-table-shell .eyebrow{color:#ffe5ad}.hero-copy,.game-intro{max-width:620px}.eyebrow{color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:0;font-size:.8rem}h1{margin:0 0 14px;font-size:clamp(2.2rem,5vw,4.8rem);line-height:1}h2{margin:28px 0 8px;font-size:1.45rem}p{color:var(--muted);margin:0 0 16px}.primary-link,.secondary-link,button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:0;border-radius:6px;background:var(--brand);color:#fff;font-weight:800;text-decoration:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .16s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,filter .18s ease}.secondary-link{border:2px solid rgba(13,118,110,.24);background:#ffffffc7;color:var(--brand-dark)}button:hover,.primary-link:hover,.primary-link:focus-visible{background:var(--brand-dark)}button:focus-visible{box-shadow:0 0 0 4px #fff4aa2e,0 0 0 7px #11b39147,var(--control-shadow, 0 5px 0 rgba(0, 60, 51, .8))}button:disabled,button[aria-disabled=true]{cursor:not-allowed;opacity:.56;filter:saturate(.58) brightness(.82)}button:disabled:hover,button[aria-disabled=true]:hover{background:var(--brand);filter:saturate(.58) brightness(.82)}button:active,.primary-link:active,.secondary-link:active,.mode-card:active,.hub-mode-card:active,.link-grid a:active{transform:translateY(2px)}button:disabled:active,button[aria-disabled=true]:active{transform:none}.secondary-link:hover{border-color:#0d766e73;background:#fff}.secondary-link:focus-visible{border-color:#0d766e73;background:#fff}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.trust-strip{display:flex;flex-wrap:wrap;gap:8px;max-width:720px;margin-top:18px}.trust-strip span{display:inline-flex;align-items:baseline;gap:6px;min-height:34px;padding:7px 10px;border:1px solid rgba(13,118,110,.16);border-radius:8px;background:#ffffffc7;color:var(--muted);font-size:.86rem;font-weight:750;box-shadow:0 8px 20px #18201f12}.trust-strip small{font-size:inherit;font-weight:inherit}.trust-strip strong{color:var(--brand-dark);font-weight:900;white-space:nowrap}.trust-strip-on-dark span{border-color:#fff3;background:#ffffff24;color:#fffdf7db;box-shadow:0 14px 34px #00000029}.trust-strip-on-dark strong{color:#fffdf7}.play-recommendation{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(210px,.75fr);gap:10px;max-width:680px;margin-top:22px}.play-recommendation-full{grid-template-columns:minmax(220px,1.28fr) repeat(3,minmax(140px,.84fr));max-width:760px}.play-recommendation-full a{min-height:112px;align-content:start}.play-recommendation a,.hub-quick-picks a{display:grid;gap:3px;padding:14px;border:1px solid rgba(13,118,110,.18);border-radius:8px;background:#ffffffd1;color:var(--ink);text-decoration:none;box-shadow:0 14px 34px #18201f1a;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.play-recommendation a:hover,.play-recommendation a:focus-visible,.hub-quick-picks a:hover,.hub-quick-picks a:focus-visible{border-color:#0d766e61;transform:translateY(-2px);box-shadow:0 18px 38px #0d766e29}.play-recommendation a:active,.hub-quick-picks a:active{transform:translateY(1px) scale(.992);box-shadow:0 8px 20px #00201d24}.mode-chooser a{grid-template-rows:auto auto auto minmax(2.4em,auto) auto auto;gap:6px}.mode-chooser .mode-choice-primary,.mode-chooser a[aria-current=true]{order:-1;border-color:#ffe8a86b;background:linear-gradient(90deg,rgba(255,232,168,.18),transparent 44%),linear-gradient(180deg,#fffffff7,#eff9f5f2);box-shadow:inset 3px 0 #ffe8a8d6,0 20px 46px #00201d38,inset 0 1px #ffffffdb}.mode-chooser a:not(.mode-choice-primary):not([aria-current=true]){order:0}.choice-intent{color:var(--accent);font-size:.78rem;font-weight:950;line-height:1.1;text-transform:uppercase}.mode-chooser small{color:var(--muted);font-size:.82rem;font-weight:700;line-height:1.24}.choice-fit{color:#16302ad6!important;font-size:.76rem!important;font-weight:850!important;line-height:1.16!important;text-transform:none!important;text-wrap:balance}.home-hero .mode-chooser small{display:none}.choice-meta{display:flex;flex-wrap:wrap;gap:5px;align-self:end}.choice-meta em{padding:3px 6px;border:1px solid rgba(13,118,110,.14);border-radius:5px;background:#0d766e12;color:var(--brand-dark);font-size:.78rem;font-style:normal;font-weight:900;line-height:1.05;white-space:nowrap}.choice-action{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:26px;margin-top:5px;padding:4px 9px;border:1px solid rgba(13,118,110,.2);border-radius:6px;background:#0d766e1a;color:var(--brand-dark);font-size:.72rem;font-weight:950;line-height:1;white-space:nowrap;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.mode-chooser a:hover .choice-action,.mode-chooser a:focus-visible .choice-action{border-color:#0d766e5c;background:var(--brand);color:#fffdf7;transform:translateY(-1px)}.home-resume-panel{display:grid;gap:8px;max-width:760px;margin-top:12px;padding:10px;border:1px solid rgba(13,118,110,.18);border-radius:8px;background:linear-gradient(90deg,#ffe8a833,#ffffffdb 42%),#ffffffd1;box-shadow:inset 3px 0 #ffd370c7,0 14px 34px #001c1929}.home-resume-panel[hidden]{display:none}.home-return-summary{display:grid;gap:7px;max-width:760px;margin-top:10px;padding:9px 10px;border:1px solid rgba(13,118,110,.14);border-radius:8px;background:#ffffffc7;color:var(--brand-dark);text-shadow:none;box-shadow:0 12px 28px #001c191f}.home-return-summary[hidden]{display:none}.home-return-summary-on-dark{border-color:#d8fff033;background:#00393480;color:#fffdf7;text-shadow:0 2px 12px rgba(0,0,0,.34)}.home-return-summary-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px}.home-return-summary-items span{display:grid;gap:2px;min-height:56px;padding:8px 9px;border:1px solid rgba(13,118,110,.14);border-radius:7px;background:#ffffffd1;box-shadow:inset 0 1px #ffffff8f}.home-return-summary-on-dark .home-return-summary-items span{border-color:#d8fff02e;background:#ffffffe6;color:var(--brand-dark);text-shadow:none}.home-return-summary-items small{color:var(--accent);font-size:.78rem;font-weight:950;line-height:1.05;text-transform:uppercase}.home-return-summary-items strong{font-size:.86rem;font-weight:950;line-height:1.05}.home-return-summary-items em{color:var(--muted);font-size:.78rem;font-style:normal;font-weight:850;line-height:1.08}.home-resume-panel-on-dark{border-color:#ffefbc52;background:linear-gradient(90deg,#ffe8a82e,#ffffff21 52%),#00393494;box-shadow:inset 3px 0 #ffd370c7,0 18px 44px #00121033}.home-resume-kicker{color:var(--accent);font-size:.7rem;font-weight:950;letter-spacing:0;line-height:1.1;text-transform:uppercase}.home-resume-panel-on-dark .home-resume-kicker{color:#ffd991}.home-resume-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(166px,1fr));gap:7px}.home-resume-actions a{display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:3px 8px;min-height:72px;padding:9px 10px 10px;border:1px solid rgba(13,118,110,.16);border-radius:7px;background:linear-gradient(180deg,#ffffffeb,#ebf9f4e6),#ffffffd6;color:var(--brand-dark);text-decoration:none;text-shadow:none;box-shadow:inset 0 1px #ffffffb8,0 10px 22px #00201d14;transition:transform .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.home-resume-actions a:only-child{grid-column:1 / -1}.home-resume-panel-on-dark .home-resume-actions a{border-color:#d8fff038;background:#ffffffe6}.home-resume-actions a:hover,.home-resume-actions a:focus-visible{border-color:#0d766e61;background:#fff;transform:translateY(-1px)}.home-resume-actions a:active{transform:translateY(1px) scale(.992);box-shadow:inset 0 1px #ffffff8f,0 5px 12px #00201d1f}.home-resume-actions strong{grid-column:1 / 2;font-size:.88rem;font-weight:950;line-height:1.08}.home-resume-actions span{grid-column:1 / 2;margin-top:2px;color:var(--muted);font-size:.72rem;font-weight:800;line-height:1.08}.home-resume-actions .resume-status{align-self:start;margin-top:0;color:var(--accent);font-size:.66rem;font-weight:950;line-height:1.05;text-transform:uppercase}.home-resume-actions em{grid-column:2 / 3;grid-row:1 / 4;align-self:center;justify-self:end;min-width:58px;padding:8px 9px;border-radius:6px;background:linear-gradient(180deg,#21a98f,#087064);color:#fffdf7;font-size:.72rem;font-style:normal;font-weight:950;line-height:1;text-align:center;box-shadow:inset 0 1px #fff3,0 4px #003d35cc}.home-resume-actions a:active em{box-shadow:inset 0 1px #ffffff24,0 2px #003d35d6}.return-note{max-width:680px;min-height:24px;margin:12px 0 0;color:var(--brand-dark);font-size:.92rem;font-weight:850}.return-note-on-dark{color:#fffdf7eb;text-shadow:0 2px 12px rgba(0,0,0,.34)}.play-recommendation span,.hub-quick-picks span{color:var(--accent);font-size:.72rem;font-weight:900;text-transform:uppercase}.play-recommendation .choice-meta,.hub-quick-picks .choice-meta{color:inherit;font-size:inherit;font-weight:inherit;text-transform:none}.play-recommendation strong,.hub-quick-picks strong{color:var(--brand-dark);font-size:1.08rem;line-height:1.08}.play-recommendation small{color:var(--muted);font-size:.86rem;font-weight:650;line-height:1.28}.tile-preview{display:grid;grid-template-columns:repeat(4,minmax(58px,1fr));gap:12px;max-width:470px}.tile-preview span{display:grid;place-items:center;aspect-ratio:1 / 1.12;border:2px solid var(--tile-edge);border-bottom-width:7px;border-radius:8px;background:linear-gradient(145deg,#fffdf3,var(--tile));color:#24302d;font-weight:900;box-shadow:0 6px #a98433;-webkit-user-select:none;user-select:none}.tile{display:grid;place-items:center;aspect-ratio:317 / 438;border:2px solid var(--tile-edge);border-bottom-width:7px;border-radius:8px;background:linear-gradient(145deg,#fffdf3,var(--tile));color:#24302d;font-weight:900;box-shadow:0 6px #a98433;-webkit-user-select:none;user-select:none}.tile-preview span{font-size:clamp(1.2rem,3vw,2.2rem)}.game-panel{background:#005d5042;border:3px solid rgba(0,66,57,.75);border-radius:10px;box-shadow:inset 0 0 0 3px #6cd9bc1f,0 28px 70px #0000003d;padding:clamp(14px,3vw,24px)}.game-panel:fullscreen{display:flex;flex-direction:column;justify-content:center;width:100vw;min-height:100vh;padding:clamp(16px,2vw,28px);border-radius:0;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.12),transparent 38%),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(145deg,var(--table),var(--table-dark));background-size:auto,18px 18px,18px 18px,auto}.game-panel:-webkit-full-screen{display:flex;flex-direction:column;justify-content:center;width:100vw;min-height:100vh;padding:clamp(16px,2vw,28px);border-radius:0;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.12),transparent 38%),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(145deg,var(--table),var(--table-dark));background-size:auto,18px 18px,18px 18px,auto}.piles-shell:fullscreen,.piles-shell:-webkit-full-screen{width:100vw;min-height:100vh;overflow:auto}.game-titlebar{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:14px}.game-titlebar .eyebrow{margin-bottom:5px}.game-titlebar h1{margin:0;font-size:clamp(2rem,4vw,3.4rem);flex:0 1 auto}.game-titlebar p{flex:1 1 500px;max-width:560px;margin:0 0 5px;text-align:right;font-weight:700}.game-hud{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:16px}.game-hud span{border:3px solid rgba(0,62,55,.72);border-radius:6px;padding:7px 8px;background:#005c50c7;color:#e8fff6;text-align:center;font-size:clamp(.72rem,1.3vw,.95rem);font-weight:800;text-transform:uppercase}.game-hud strong{display:block;color:#fff;font-size:clamp(1.25rem,2.7vw,2.4rem);font-variant-numeric:tabular-nums;line-height:1;text-shadow:0 3px 0 rgba(0,0,0,.24)}.career-panel{margin:-4px 0 14px;padding:10px 12px;border:2px solid rgba(181,255,228,.18);border-radius:8px;background:#0050466b;box-shadow:inset 0 1px #ffffff14}.career-row{display:flex;justify-content:space-between;gap:12px;color:#eafff5;font-size:.9rem;font-weight:800}.career-track{height:10px;margin-top:8px;overflow:hidden;border-radius:999px;background:#00322bb8;box-shadow:inset 0 1px 2px #00000059}.career-progress{display:block;width:10%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffdf72,#7ef3c0);box-shadow:0 0 14px #7ef3c073;transition:width .26s ease}.board-stage{position:relative;isolation:isolate;--connect-tile-width: clamp(40px, 5vw, 64px);--connect-row-gap: clamp(2px, .36vw, 4px);--connect-board-gap: clamp(24px, 4.5vw, 42px);min-height:calc(var(--connect-tile-width) * 4 / 3 * 8 + var(--connect-row-gap) * 7);padding:var(--connect-board-gap) clamp(8px,1.5vw,14px);border-radius:8px;background:radial-gradient(circle at 50% 44%,rgba(255,255,255,.08),transparent 42%),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.032) 1px,transparent 1px);background-size:auto,28px 28px,28px 28px;overflow:visible}.connection-canvas{position:absolute;inset:0;z-index:8;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity .14s ease}.connection-canvas.is-active{opacity:1}.reward-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;pointer-events:none;opacity:0}.reward-overlay.is-active{animation:rewardFade 1.8s ease forwards}.reward-overlay.is-combo{align-items:start;padding-top:clamp(96px,12vh,140px)}.reward-overlay.is-combo.is-active{animation:comboRewardFade 1.18s cubic-bezier(.18,.88,.24,1) forwards}.reward-overlay:before{content:"";position:absolute;inset:18%;border-radius:50%;background:radial-gradient(circle,rgba(255,249,182,.92),rgba(98,255,209,.34) 34%,transparent 64%);filter:blur(10px)}.reward-overlay.is-combo:before{inset:auto;top:clamp(76px,10vh,120px);width:min(360px,72vw);height:120px;background:radial-gradient(ellipse at center,rgba(255,246,168,.84),rgba(77,255,209,.24) 42%,transparent 70%);filter:blur(12px)}.reward-overlay:after{content:attr(data-text);position:relative;padding:14px 24px;border:3px solid rgba(255,246,181,.92);border-radius:8px;background:#005348e6;color:#fff8bf;font-size:clamp(1.5rem,4vw,3rem);font-weight:900;text-align:center;text-shadow:0 3px 0 rgba(0,0,0,.24);box-shadow:0 0 32px #ffe672a8}.reward-overlay.is-combo:after{padding:9px 18px 10px;border-width:2px;background:#004840d6;color:#fff3a6;font-size:clamp(1.05rem,2.1vw,1.8rem);letter-spacing:0;box-shadow:inset 0 1px #fff3,0 13px 34px #00141247}.game-board{display:grid;grid-template-columns:repeat(var(--board-cols, 8),var(--connect-tile-width));grid-auto-rows:calc(var(--connect-tile-width) * 4 / 3);gap:var(--connect-row-gap);min-height:calc(var(--connect-tile-width) * 4 / 3 * 8 + var(--connect-row-gap) * 7);justify-content:center;align-content:center;align-items:center;justify-items:center;position:relative;z-index:2;perspective:900px}.tile,.tile-space{min-width:0;width:100%;max-width:var(--connect-tile-width)}.tile-space{aspect-ratio:3 / 4;border-radius:8px}.tile{padding:0;font-family:Microsoft YaHei,SimSun,Noto Sans CJK SC,Arial,sans-serif;line-height:1;width:100%;position:relative;overflow:visible;border-color:#f2d9bd;border-bottom-color:var(--tile-edge);background:radial-gradient(circle at 25% 16%,rgba(255,255,255,.95),transparent 28%),linear-gradient(145deg,#fffefd,#fff4e6 54%,#f0dfca);box-shadow:0 7px #c85f0e,0 11px 14px #00000042;transform:translateY(0);transform-origin:50% 84%;transition:transform .14s ease,border-color .14s ease,opacity .18s ease,filter .14s ease}.game-board.is-entering .tile{animation:tileEnter .42s both cubic-bezier(.2,.8,.2,1);animation-delay:calc(var(--enter-index, 0) * 5ms)}.tile:has(.tile-art){border:0;border-radius:10px;background:transparent;box-shadow:none;opacity:1;filter:brightness(1.02) drop-shadow(0 1px 0 rgba(255,255,255,.52)) drop-shadow(0 13px 8px rgba(0,0,0,.32))}.tile:has(.tile-art):after{display:none}.tile-art{display:block;width:100%;max-width:none;height:100%;object-fit:contain;pointer-events:none;position:relative;z-index:2}.tile-rank-badge{position:absolute;left:calc(15% - 5px);top:calc(8% - 3px);z-index:4;display:grid;place-items:center;min-width:1.02em;height:1.02em;padding:0 .06em;border:1px solid rgba(48,34,18,.2);border-radius:3px;background:#fffdf4c7;color:#080808;font-family:Arial,Helvetica,sans-serif;font-size:clamp(.72rem,1.35vw,1.02rem);font-weight:950;font-variant-numeric:tabular-nums;letter-spacing:0;line-height:1;pointer-events:none;box-shadow:inset 0 1px #ffffffbd,0 1px 2px #2e1e0d2e;text-shadow:0 1px 0 rgba(255,255,255,.92),1px 0 0 rgba(255,255,255,.72),0 -1px 0 rgba(255,255,255,.72),-1px 0 0 rgba(255,255,255,.72)}.piles-tile .tile-rank-badge,.solitaire-tile .tile-rank-badge{left:calc(15% - 5px);top:calc(8% - 3px);font-size:clamp(.64rem,1.1vw,.9rem)}.solitaire-tile.is-open .tile-rank-badge,.piles-tile.is-open .tile-rank-badge{background:#fffdf4db;border-color:#3022123d}.solitaire-tile.is-blocked .tile-rank-badge,.piles-tile.is-locked .tile-rank-badge{background:#e4e0d26b;border-color:#3022121f;color:#080808ad;box-shadow:none;text-shadow:0 1px 0 rgba(255,255,255,.48)}.tile-glow{position:absolute;left:5%;top:2%;width:90%;height:91%;border-radius:8px;opacity:0;pointer-events:none;z-index:1;background:conic-gradient(from 0deg,#ff4ac4f2,#ffe85df2,#4befffeb,#7aff97e6,#ff4ac4f2);filter:blur(5px);transform:scale(1.02)}.tile-glow:after{content:"";position:absolute;inset:5px;border-radius:6px;background:#006556f5}.tile-flower .tile-art,.tile-season .tile-art{transform:none}.tile:after{content:"";position:absolute;inset:7px;border-radius:5px;border:1px solid rgba(62,37,17,.08);pointer-events:none}.tile-rank,.tile-mark,.tile-honor{display:block;line-height:.92}.tile-rank{font-size:clamp(1.6rem,3.5vw,3.25rem)}.tile-mark{margin-top:-.05em;font-size:clamp(1.15rem,2.55vw,2.3rem)}.tile-honor{font-size:clamp(2.35rem,5.2vw,4.6rem)}.tile-dragon{color:#a11f1f}.tile-wind{color:#183a6b}.tile-bamboo{color:#11613b}.tile-dots{color:#7b2f7d}.dot-pattern,.bamboo-pattern{display:grid;width:76%;height:82%;align-items:center;justify-items:center}.dot-pattern{grid-template-columns:repeat(2,1fr);gap:5px}.dot-pattern.count-1{grid-template-columns:1fr}.dot-pattern.count-3,.dot-pattern.count-5,.dot-pattern.count-7{grid-template-columns:repeat(3,1fr)}.dot-pip{width:clamp(10px,1.25vw,18px);aspect-ratio:1;border-radius:50%;border:3px solid #097b5d;background:radial-gradient(circle,#fdfdf7 0 26%,#d7262e 28% 45%,#fdfdf7 48% 55%,#2a64ba 57% 100%);box-shadow:inset 0 0 0 2px #fffc}.bamboo-pattern{grid-template-columns:repeat(3,1fr);gap:4px 6px}.bamboo-pattern.count-1{grid-template-columns:1fr}.bamboo-pattern.count-2{grid-template-columns:repeat(2,1fr)}.bamboo-stick{width:clamp(6px,.8vw,12px);height:clamp(24px,4vw,44px);border:3px solid #087646;border-radius:6px;background:linear-gradient(90deg,#fff4e8 0 22%,#07965f 23% 54%,#fff4e8 55% 78%,#07965f 79%);box-shadow:inset 0 8px #ffffffb3,inset 0 -8px #005c3847}.tile:hover{transform:translateY(-6px) scale(1.032)}.tile:active{transform:translateY(-1px) scale(1.014);filter:brightness(.98) drop-shadow(0 8px 6px rgba(0,0,0,.32))}.tile.selected{border-color:var(--brand)}.tile.selected:has(.tile-art){outline:3px solid rgba(255,235,134,.96);outline-offset:2px;transform:translateY(-10px) scale(1.055);filter:brightness(1.09) saturate(1.08) drop-shadow(0 0 7px rgba(255,246,168,.72)) drop-shadow(0 18px 12px rgba(0,0,0,.38))}.tile.selected .tile-glow{opacity:.95;animation:haloSpin 1.15s linear infinite,haloPulse .72s ease-in-out infinite alternate}.tile.selected.is-no-candidate:has(.tile-art){outline-color:#ffbc58f5;filter:brightness(1.06) saturate(1.02) drop-shadow(0 0 8px rgba(255,214,112,.82)) drop-shadow(0 17px 11px rgba(0,0,0,.36))}.tile.selected.is-no-candidate .tile-glow{opacity:.72;background:radial-gradient(circle,rgba(255,239,172,.82),transparent 36%),radial-gradient(circle,rgba(255,174,83,.58),transparent 64%);animation:hintHaloPulse .86s ease-in-out infinite alternate}.tile.hinted{border-color:var(--accent)}.tile.hinted:has(.tile-art){outline:3px solid rgba(255,220,93,.96);outline-offset:2px;animation:hintTileLift .82s ease-in-out infinite alternate;filter:drop-shadow(0 0 8px rgba(255,245,156,.98)) drop-shadow(0 0 18px rgba(255,192,60,.88)) drop-shadow(0 16px 10px rgba(0,0,0,.36));z-index:6}.tile.hinted .tile-glow{opacity:1;animation:haloSpin 1.25s linear infinite,hintHaloPulse .56s ease-in-out infinite alternate;background:conic-gradient(from 0deg,#fff46c,#ff6c34f2,#ffffd2,#ffc223,#fff46c)}.tile.hinted .tile-art{filter:drop-shadow(0 0 7px rgba(255,250,190,.95)) drop-shadow(0 0 16px rgba(255,188,41,.75))}.tile.is-guide-link{border-color:#ffe8a8d1;outline:2px solid rgba(255,232,168,.86);outline-offset:2px}.tile.is-guide-link:has(.tile-art){animation:firstStepGuidePulse 1.5s ease-in-out infinite;filter:brightness(1.08) saturate(1.08) drop-shadow(0 0 6px rgba(255,250,214,.82)) drop-shadow(0 0 14px rgba(91,255,215,.42)) drop-shadow(0 14px 10px rgba(0,0,0,.34))}.tile.is-guide-link .tile-glow{opacity:.7}.tile.candidate:has(.tile-art){outline:2px solid rgba(118,255,218,.9);outline-offset:2px;transform:translateY(-7px) scale(1.04);filter:brightness(1.09) saturate(1.08) drop-shadow(0 0 8px rgba(92,255,213,.72)) drop-shadow(0 15px 10px rgba(0,0,0,.34));animation:candidateBreathe 1.18s ease-in-out infinite}.tile.candidate .tile-glow{opacity:.58;background:radial-gradient(circle,rgba(255,251,190,.72),transparent 34%),radial-gradient(circle,rgba(110,255,218,.74),transparent 64%)}.tile.matching:has(.tile-art){pointer-events:none;animation:tileMatch .36s cubic-bezier(.18,.88,.24,1) forwards;filter:brightness(1.12) saturate(1.08) drop-shadow(0 0 12px rgba(255,244,173,.92)) drop-shadow(0 18px 13px rgba(0,0,0,.38))}.tile.matching .tile-glow{opacity:1;background:radial-gradient(circle,rgba(255,248,178,.9),transparent 48%),conic-gradient(from 0deg,#ffec6ce6,#5bffd1c2,#ffec6ce6);animation:haloBurst .36s ease forwards}.tile.blocked{border-color:#c62828;animation:tileBlocked .34s ease}.tile.blocked:has(.tile-art){animation:tileBlocked .34s ease;filter:drop-shadow(0 0 7px rgba(255,104,104,.88)) drop-shadow(0 14px 10px rgba(0,0,0,.36))}.tile.blocked .tile-glow{opacity:.82;background:conic-gradient(from 0deg,#ff3e3ef2,#ffd772d1,#ff3e3ef2);animation:blockedHaloPulse .34s ease forwards}.tile.removed{opacity:0;pointer-events:none}@keyframes tileEnter{0%{opacity:0;transform:translateY(-22px) scale(.82);filter:drop-shadow(0 4px 3px rgba(0,0,0,.2)) saturate(.8)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes haloSpin{to{rotate:360deg}}@keyframes haloPulse{0%{filter:blur(4px) brightness(1);transform:scale(1.01)}to{filter:blur(7px) brightness(1.22);transform:scale(1.08)}}@keyframes hintHaloPulse{0%{filter:blur(5px) brightness(1.15);transform:scale(1.04)}to{filter:blur(9px) brightness(1.55);transform:scale(1.16)}}@keyframes candidateBreathe{0%,to{outline-color:#76ffdac2}50%{outline-color:#fff4aaeb}}@keyframes firstStepGuidePulse{0%,to{outline-color:#ffe8a8b8}50%{outline-color:#74ffdbe0}}@keyframes hintTileLift{0%{transform:translateY(-4px) scale(1.035)}to{transform:translateY(-9px) scale(1.075)}}@keyframes haloBurst{0%{filter:blur(4px) brightness(1.15);transform:scale(1.02)}52%{filter:blur(9px) brightness(1.45);transform:scale(1.13)}to{opacity:0;filter:blur(11px) brightness(1.2);transform:scale(1.22)}}@keyframes rewardFade{0%{opacity:0;transform:scale(.88)}18%{opacity:1;transform:scale(1.03)}70%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.12)}}@keyframes comboRewardFade{0%{opacity:0;transform:translateY(-12px) scale(.9)}18%{opacity:1;transform:translateY(0) scale(1.04)}62%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-18px) scale(.96)}}@keyframes tileMatch{0%{opacity:1;transform:translateY(-5px) scale(1.04)}54%{opacity:1;transform:translateY(-15px) scale(1.1)}to{opacity:0;transform:translateY(-24px) scale(.86)}}@keyframes connectTileMatchDissolve{0%{opacity:1;transform:translateY(-5px) scale(1.04)}42%{opacity:1;transform:translateY(-17px) scale(1.13)}72%{opacity:.78;transform:translateY(-23px) scale(1.03)}to{opacity:0;transform:translateY(-30px) scale(.82)}}@keyframes connectTileMatchFace{0%{transform:scale(1);filter:saturate(1.1) brightness(1.08)}45%{transform:scale(1.045);filter:saturate(1.18) brightness(1.18)}to{transform:scale(.94);filter:saturate(.9) brightness(1.32)}}@keyframes connectClearBurstTile{0%{opacity:1;transform:scale(1);filter:brightness(1) saturate(1)}30%{opacity:1;transform:scale(1.14);filter:brightness(1.5) saturate(1.18) drop-shadow(0 0 18px rgba(255,238,127,.98))}58%{opacity:.82;transform:scale(.88) rotate(2deg);filter:brightness(1.85) saturate(.9) blur(.4px)}to{opacity:0;transform:scale(.28) rotate(-5deg);filter:brightness(2.1) saturate(.65) blur(3px)}}@keyframes connectClearBurstAura{0%{opacity:0;transform:translate(-50%,-50%) scale(.28)}28%{opacity:1;transform:translate(-50%,-50%) scale(.78)}62%{opacity:.82;transform:translate(-50%,-50%) scale(1.22)}to{opacity:0;transform:translate(-50%,-50%) scale(1.72)}}@keyframes connectClearBurstParticle{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--particle-angle)) translate(4px) scale(.35)}24%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--particle-angle)) translate(var(--particle-distance)) scale(.05)}}@keyframes connectClearSpiritTile{0%{opacity:1;transform:translateY(0) scale(1);filter:brightness(1) saturate(1)}32%{opacity:1;transform:translateY(-5px) scale(1.09);filter:brightness(1.45) saturate(.92) drop-shadow(0 0 16px rgba(143,255,226,.9))}66%{opacity:.72;transform:translateY(-31px) scale(.92);filter:brightness(1.6) saturate(.65) blur(.7px)}to{opacity:0;transform:translateY(-78px) scale(.7);filter:brightness(1.75) saturate(.42) blur(3px)}}@keyframes connectClearSpiritAura{0%{opacity:0;transform:translate(-50%,-45%) scale(.36)}35%{opacity:.95;transform:translate(-50%,-55%) scale(.9)}to{opacity:0;transform:translate(-50%,-115%) scale(1.12,1.65)}}@keyframes connectClearSpiritWisp{0%{opacity:0;transform:translate(-50%,-50%) scale(.45)}28%{opacity:.94}to{opacity:0;transform:translate(calc(-50% + var(--wisp-drift)),-106px) scale(.16)}}@keyframes connectClearEchoTile{0%{opacity:1;transform:scale(1);filter:brightness(1) saturate(1)}26%{opacity:1;transform:scale(1.08);filter:brightness(1.42) saturate(.9) drop-shadow(0 0 14px rgba(115,255,222,.9))}to{opacity:0;transform:scale(.84);filter:brightness(1.7) saturate(.55) blur(2px)}}@keyframes connectClearEchoAura{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}30%{opacity:.9;transform:translate(-50%,-50%) scale(.88)}to{opacity:0;transform:translate(-50%,-50%) scale(1.55)}}@keyframes connectClearAfterimage{0%{opacity:0;transform:translate(0) scale(1)}22%{opacity:.42}to{opacity:0;transform:translate(var(--echo-offset)) translateY(var(--echo-lift)) scale(var(--echo-scale))}}@keyframes connectClearReduced{0%{opacity:1}55%{opacity:.82;transform:scale(1.04)}to{opacity:0;transform:scale(.94)}}@keyframes tileBlocked{0%,to{transform:translateY(0)}25%{transform:translate(-5px)}55%{transform:translate(5px)}78%{transform:translate(-2px)}}@keyframes connectTileBlockedFace{0%,to{transform:translateY(-2px) scale(1.012);filter:saturate(1.04) brightness(1.02)}28%{transform:translate(-4px,-4px) scale(1.035);filter:saturate(1.12) brightness(1.08)}58%{transform:translate(4px,-4px) scale(1.035);filter:saturate(1.12) brightness(1.08)}78%{transform:translate(-2px,-3px) scale(1.025)}}@keyframes blockedHaloPulse{0%{filter:blur(5px) brightness(1);transform:scale(1.02)}48%{filter:blur(8px) brightness(1.35);transform:scale(1.11)}to{opacity:0;filter:blur(9px) brightness(1.12);transform:scale(1.16)}}@keyframes solitaireDeniedHalo{0%{opacity:0;transform:scale(.92)}36%{opacity:.92;transform:scale(1.08)}to{opacity:0;transform:scale(1.2)}}@keyframes solitaireMismatchNudge{0%,to{transform:translateY(-3px) scale(1.02)}25%{transform:translate(-4px,-5px) scale(1.035)}56%{transform:translate(4px,-5px) scale(1.035)}78%{transform:translate(-2px,-4px) scale(1.025)}}@keyframes solitaireMismatchHalo{0%{opacity:0;transform:scale(.94)}34%{opacity:.88;transform:scale(1.08)}to{opacity:0;transform:scale(1.18)}}@keyframes solitaireHintPulse{0%,to{filter:brightness(1.08) drop-shadow(0 0 8px rgba(92,255,213,.66)) drop-shadow(0 14px 10px rgba(0,0,0,.34))}50%{filter:brightness(1.16) drop-shadow(0 0 12px rgba(255,239,150,.86)) drop-shadow(0 0 18px rgba(92,255,213,.72)) drop-shadow(0 16px 11px rgba(0,0,0,.36))}}@keyframes solitaireOpenGuidePulse{0%,to{outline-color:#ffe8a8b3}50%{outline-color:#74ffdbdb}}@keyframes solitairePairClear{0%{opacity:1;transform:translateY(-5px) scale(1.04)}54%{opacity:1;transform:translateY(-15px) scale(1.1)}to{opacity:0;transform:translateY(-24px) scale(.86)}}@keyframes solitairePairClearHalo{0%{opacity:0;transform:scale(.96)}38%{opacity:.92;transform:scale(1.14)}to{opacity:0;transform:scale(1.28)}}@keyframes solitaireLayerReveal{0%,to{filter:none}42%{filter:brightness(1.09) drop-shadow(0 0 18px rgba(255,235,128,.34))}}@keyframes solitaireTileEdgePulse{0%{opacity:.96;transform:scale(.985)}22%{opacity:1}68%{opacity:.95}to{opacity:0;transform:scale(1.09)}}@keyframes solitaireTileParticleX{0%{opacity:.72;transform:translateZ(0) scale(.5)}16%{opacity:1}64%{opacity:.95}to{opacity:0;transform:translate3d(var(--particle-travel-x),0,0) scale(1.06)}}@keyframes solitaireTileParticleXReverse{0%{opacity:.72;transform:translateZ(0) scale(.5)}16%{opacity:1}64%{opacity:.95}to{opacity:0;transform:translate3d(calc(var(--particle-travel-x) * -1),0,0) scale(1.06)}}@keyframes solitaireTileParticleY{0%{opacity:.72;transform:translateZ(0) scale(.5)}16%{opacity:1}64%{opacity:.95}to{opacity:0;transform:translate3d(0,var(--particle-travel-y),0) scale(1.06)}}@keyframes solitaireTileParticleYReverse{0%{opacity:.72;transform:translateZ(0) scale(.5)}16%{opacity:1}64%{opacity:.95}to{opacity:0;transform:translate3d(0,calc(var(--particle-travel-y) * -1),0) scale(1.06)}}@keyframes solitairePairImpactCore{0%{opacity:.96;transform:translate(-50%,-50%) scale(.72)}18%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.7)}}@keyframes solitaireAutoReshuffleNotice{0%{opacity:0;transform:translate(-50%,calc(-50% + 10px)) scale(.94)}14%,70%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,calc(-50% - 8px)) scale(.98)}}@keyframes solitaireAutoReshuffleBoard{0%{filter:saturate(1) brightness(1)}to{filter:saturate(1.08) brightness(1.08)}}.controls{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;position:relative;z-index:30}.controls button{flex:1 1 120px;border:1px solid rgba(184,255,229,.34);background:linear-gradient(180deg,#22ad91e6,#057163eb),#004039e6;--control-shadow: 0 9px 18px rgba(0, 20, 18, .24);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #00121052,var(--control-shadow);text-shadow:0 1px 0 rgba(0,27,24,.5);will-change:transform,filter}.controls button:hover{border-color:#d3ffef8a;filter:brightness(1.07) saturate(1.03);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff47,inset 0 -1px #00121047,0 12px 24px #00161347}.controls button:focus-visible{box-shadow:0 0 0 4px #fff4aa2e,0 0 0 7px #11b39147,inset 0 1px #ffffff47,0 12px 24px #00161347}.controls button:disabled,.controls button[aria-disabled=true]{border-color:#b4e1d41a;background:linear-gradient(180deg,#38524c94,#1a2a27c7),#001c1aad;box-shadow:inset 0 1px #ffffff0d,0 3px 8px #0012101f;color:#e0f4ee75;text-shadow:none}.controls button:disabled,.controls button[aria-disabled=true]{opacity:.72;filter:saturate(.48) brightness(.78)}.controls button:disabled:hover,.controls button[aria-disabled=true]:hover{border-color:#b4e1d41a;background:linear-gradient(180deg,#38524c94,#1a2a27c7),#001c1aad;transform:none;box-shadow:inset 0 1px #ffffff0d,0 3px 8px #0012101f;filter:saturate(.48) brightness(.78)}.controls button:active{transform:translateY(1px) scale(.992);box-shadow:inset 0 1px #ffffff1f,0 4px 10px #00141238}.controls button:disabled:active,.controls button[aria-disabled=true]:active{transform:none}.controls .hint-button{border-color:#d6ffe88a;background:linear-gradient(180deg,#a4e8c4f5,#4aa677f0),#7dd8a5e6;color:#113a2c;text-shadow:0 1px 0 rgba(255,255,255,.36)}.controls .icon-control{flex:0 0 82px;min-width:76px;display:grid;place-items:center;padding:0 6px;font-size:.72rem;line-height:1.05}.controls .rules-control{flex-basis:82px;min-width:76px}.controls .control-icon{display:inline-grid;place-items:center;width:100%;min-height:1.35em;font-size:.74rem;font-weight:900;line-height:1;white-space:nowrap;text-shadow:0 1px 0 rgba(0,24,22,.62),0 0 12px rgba(179,255,226,.24)}.controls .control-icon.control-glyph{font-family:"Segoe UI Emoji",Segoe UI Symbol,sans-serif;font-size:1.28rem;font-weight:700}.controls .fullscreen-icon{width:28px;height:28px;min-height:28px;margin:auto;display:grid;grid-template:repeat(2,14px) / repeat(2,14px);place-items:stretch;font-family:Segoe UI Symbol,sans-serif;font-size:.78rem;font-weight:700;line-height:1}.controls .fullscreen-arrow{width:14px;height:14px;display:grid;place-items:center;line-height:1}.audio-controls .settings-command{display:inline-flex;align-items:center;justify-content:center;gap:7px}.audio-controls .settings-command>span[aria-hidden=true]{font-family:"Segoe UI Emoji",Segoe UI Symbol,sans-serif;font-size:1rem;line-height:1}.controls .rules-control .control-icon{font-size:.78rem;letter-spacing:0}.controls .cost-control{display:grid;grid-template-rows:1fr auto;align-content:center;justify-items:center;gap:1px;white-space:normal}.controls .control-main,.controls .control-cost{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.controls .control-cost{color:#fff1adeb;font-size:.8em;line-height:1;text-shadow:0 1px 0 rgba(0,24,22,.58)}#shuffle,#piles-shuffle{white-space:nowrap}.audio-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:12px}.audio-controls[hidden],.audio-controls.settings-popover[hidden]{display:none!important}.audio-controls.settings-popover{position:absolute;right:0;bottom:calc(100% + 10px);z-index:30;pointer-events:auto;width:min(690px,calc(100vw - 36px));margin-top:0;justify-content:flex-start;padding:12px;border:2px solid rgba(192,255,235,.32);border-radius:8px;background:linear-gradient(180deg,#006f60f7,#00453cfa);box-shadow:0 18px 42px #00000057,inset 0 1px #ffffff24}.controls:has(.settings-popover:not([hidden])){z-index:1300}.audio-controls button{min-width:124px;padding-inline:18px;border:2px solid rgba(192,255,235,.28);background:linear-gradient(180deg,#138f7f,#066357);box-shadow:0 4px #00322bd1;color:#f2fff9}.audio-controls button.is-muted{background:linear-gradient(180deg,#54746d,#2e4b45);color:#f2fff9c7}.audio-controls .audio-loop-toggle,.audio-controls .audio-shuffle-toggle{min-width:132px}.audio-controls .audio-shuffle-toggle{min-width:156px}.audio-controls .audio-loop-toggle[aria-pressed=true],.audio-controls .audio-shuffle-toggle[aria-pressed=true]{border-color:#fff4aad6;box-shadow:0 4px #00322bd1,inset 0 0 0 2px #fff4aa2e}.audio-slider,.audio-select{display:flex;align-items:center;min-height:44px;min-width:190px;gap:8px;padding:8px 10px;border:2px solid rgba(192,255,235,.22);border-radius:6px;background:#004e4475;color:#f2fff9;font-weight:800}.audio-slider span,.audio-select span{white-space:nowrap;font-size:.82rem}.audio-slider input{width:110px;min-height:28px;accent-color:#92e5c0;cursor:pointer}.audio-slider input:focus-visible{outline:2px solid rgba(255,244,170,.8);outline-offset:3px}.audio-select select{width:138px;min-height:40px;border:1px solid rgba(192,255,235,.42);border-radius:5px;background:#003932d1;color:#f2fff9;font-weight:800;cursor:pointer}.audio-select select:focus-visible{outline:2px solid rgba(255,244,170,.8);outline-offset:3px}.music-name{flex:1 0 100%;margin:0;color:#eafff5d1;font-size:.88rem;font-weight:700;text-align:right}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.file-input-hidden{display:none}.game-message{min-height:24px;margin:14px 0 0;color:#eafff5;font-weight:700;text-shadow:0 2px 6px rgba(0,0,0,.22);transition:opacity .16s ease}.game-message.is-updated{animation:gameMessagePulse .42s ease both}.stat-bump{animation:statBump .36s cubic-bezier(.18,.88,.24,1) both}@keyframes gameMessagePulse{0%{opacity:.72;text-shadow:0 2px 6px rgba(0,0,0,.22)}42%{opacity:1;text-shadow:0 0 10px rgba(255,246,168,.72),0 2px 8px rgba(0,0,0,.28)}to{opacity:1;text-shadow:0 2px 6px rgba(0,0,0,.22)}}@keyframes statBump{0%{color:inherit;filter:none;transform:scale(1)}42%{color:#fff1a8;filter:drop-shadow(0 0 8px rgba(255,233,127,.78));transform:scale(1.16)}to{color:inherit;filter:none;transform:scale(1)}}@keyframes recommendedControlPulse{0%,to{box-shadow:inset 0 1px #ffffff57,inset 0 -1px #4f280057,0 0 0 2px #ffe0802e,0 12px 28px #4824004d}50%{box-shadow:inset 0 1px #ffffff61,inset 0 -1px #4f280052,0 0 0 3px #ffe08057,0 14px 32px #5b2e0061}}@media(prefers-reduced-motion:reduce){.game-message.is-updated,.reward-overlay.is-active,.stat-bump,.connect-page .controls button.is-recommended,.piles-page .controls button.is-recommended,.solitaire-page .controls button.is-recommended{animation:none}}.content-band,.simple-page{max-width:980px;margin:0 auto;padding:36px clamp(16px,4vw,56px) 60px}.link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:16px}.link-grid a,.mode-card{padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff;text-decoration:none;font-weight:800;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.link-grid a:hover,.mode-card:hover,.link-grid a:focus-visible,.mode-card:focus-visible{border-color:#0d766e57;box-shadow:0 14px 32px #0d766e24;transform:translateY(-2px)}.mode-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:22px}.mode-helper{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}.mode-helper span{padding:8px 10px;border:1px solid rgba(13,118,110,.16);border-radius:6px;background:#ffffffc7;color:var(--brand-dark);font-size:.86rem;font-weight:850}.mode-card{display:grid;gap:8px;min-height:170px;padding:20px;box-shadow:var(--shadow)}.mode-card strong{font-size:1.45rem}.featured-mode{border-color:#0d766e59;box-shadow:0 16px 42px #0d766e29}.mode-card>span:not(.mode-kicker):not(.mode-facts):not(.mode-cta){color:var(--muted);font-weight:400}.mode-matrix{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:20px}.content-band>.mode-matrix{margin-top:24px}.seo-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px}.seo-guide-grid article,.hub-seo-notes article{padding:16px;border:1px solid rgba(13,118,110,.15);border-radius:8px;background:linear-gradient(180deg,#fffffffa,#f6fbf7fa);box-shadow:0 12px 26px #18201f12}.seo-guide-grid h3,.hub-seo-notes h3{margin:0;color:var(--brand-dark);font-size:clamp(1rem,1.45vw,1.2rem);line-height:1.12;text-wrap:balance}.seo-guide-grid p,.hub-seo-notes p{margin:10px 0 0;color:var(--muted);font-weight:650;line-height:1.48}.seo-guide-grid a,.hub-seo-notes a{color:var(--brand-dark);font-weight:900}.seo-guide-grid article>a{display:inline-flex;align-items:center;min-height:36px;margin-top:12px;padding:0 10px;border:1px solid rgba(13,118,110,.16);border-radius:6px;background:#0d766e14;text-decoration:none;transition:background-color .18s ease,box-shadow .18s ease,transform .16s ease}.seo-guide-grid article>a:hover,.seo-guide-grid article>a:focus-visible{background:#0d766e21;box-shadow:0 10px 22px #0d766e1f;transform:translateY(-1px)}.mode-matrix article{display:grid;grid-template-rows:auto auto 1fr auto;gap:10px;min-height:260px;padding:16px;border:1px solid rgba(13,118,110,.16);border-radius:8px;background:linear-gradient(180deg,#fffffff5,#f6fbf7f5);box-shadow:0 12px 28px #18201f14}.mode-matrix span{color:var(--accent);font-size:.72rem;font-weight:950;line-height:1.05;text-transform:uppercase}.mode-matrix h3{margin:0;color:var(--brand-dark);font-size:clamp(1.05rem,1.5vw,1.28rem);line-height:1.08}.mode-matrix dl{display:grid;gap:8px;margin:0}.mode-matrix div{display:grid;gap:2px;padding-top:8px;border-top:1px solid rgba(13,118,110,.12)}.mode-matrix dt{color:var(--brand-dark);font-size:.68rem;font-weight:950;text-transform:uppercase}.mode-matrix dd{margin:0;color:var(--muted);font-size:.86rem;font-weight:650;line-height:1.28}.mode-matrix a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 12px;border-radius:6px;background:#0d766e1a;color:var(--brand-dark);font-size:.84rem;font-weight:900;text-decoration:none;transition:transform .16s ease,background-color .18s ease,box-shadow .18s ease}.mode-matrix a:hover,.mode-matrix a:focus-visible{background:var(--brand);color:#fff;box-shadow:0 10px 22px #0d766e2e;transform:translateY(-1px)}.mode-matrix a:active,.seo-guide-grid article>a:active,.hub-seo-notes article>a:active{transform:translateY(1px) scale(.992);box-shadow:0 4px 10px #0d766e1f}.mode-kicker{color:var(--accent);font-size:.78rem;text-transform:uppercase}.mode-facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.mode-facts em{padding:4px 7px;border:1px solid rgba(13,118,110,.16);border-radius:6px;background:#0d766e12;color:var(--brand-dark);font-size:.72rem;font-style:normal;font-weight:850;line-height:1.05;white-space:nowrap}.home-hero{position:relative;isolation:isolate;grid-template-columns:minmax(320px,.72fr) minmax(240px,.48fr);min-height:min(820px,calc(100vh - 62px));overflow:hidden;background:radial-gradient(circle at 72% 26%,rgba(255,226,160,.2),transparent 22%),linear-gradient(90deg,#002522eb,#00312dcc,#06191c66 72%,#0612144d),var(--mahjong-courtyard-bg) center / cover no-repeat}.home-hero:after{content:"";position:absolute;inset:auto 0 0;z-index:-1;height:28%;background:linear-gradient(180deg,transparent,rgba(0,34,31,.5));pointer-events:none}.home-hero .hero-copy{max-width:760px;color:#fffdf7;text-shadow:0 3px 18px rgba(0,0,0,.34)}.home-hero .eyebrow{color:#ffd991}.home-hero h1{color:#fffdf7;max-width:9ch;font-size:clamp(3.4rem,8vw,7.2rem);text-wrap:balance}.home-hero .hero-copy>p:not(.eyebrow):not(.return-note){max-width:58ch;color:#fffdf7e0;font-weight:650;font-size:clamp(1rem,1.28vw,1.18rem);text-shadow:0 2px 14px rgba(0,0,0,.34)}.home-hero .primary-link{min-width:210px;box-shadow:0 14px 34px #0016143d}.home-hero .secondary-link{border-color:#c5ffec5c;background:#ffffffe0;box-shadow:0 14px 34px #0016142e}.mode-filter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:min(100%,620px);margin-top:12px}.mode-filter button{display:grid;gap:2px;min-height:48px;padding:7px 10px;border:1px solid rgba(13,118,110,.18);border-radius:8px;background:#ffffffd6;color:var(--brand-dark);box-shadow:inset 0 1px #ffffffbd,0 10px 24px #0018161f;text-align:left;text-shadow:none;transition:transform .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.mode-filter button:hover,.mode-filter button:focus-visible{border-color:#0d766e61;background:#fff;transform:translateY(-1px)}.mode-filter button:active{transform:translateY(1px) scale(.992);box-shadow:inset 0 1px #ffffff94,0 5px 12px #00181624}.mode-filter button[aria-pressed=true]{border-color:#ffe8a880;background:linear-gradient(90deg,#ffe8a838,#ffffffe6),#ffffffeb;box-shadow:inset 3px 0 #ffe8a8e0,0 14px 30px #001c1933}.mode-filter strong{font-size:.82rem;font-weight:950;line-height:1.05}.mode-filter span{color:#16302ab8;font-size:.68rem;font-weight:850;line-height:1.05}.mode-filter-on-dark button{border-color:#d5fff13d;background:#ffffffe6}.home-hero .trust-strip span{border-color:#d5fff13d;background:#00443d7a;color:#fffdf7db;box-shadow:inset 0 1px #ffffff1a,0 14px 30px #0012112e}.home-hero .trust-strip strong{color:#fffdf7}.home-hero .play-recommendation a{border-color:#d9fff23d;background:#ffffffe0;box-shadow:0 18px 42px #00151333}.home-hero .mode-chooser .mode-choice-primary,.home-hero .mode-chooser a[aria-current=true]{border-color:#ffe8a86b;background:linear-gradient(90deg,rgba(255,232,168,.18),transparent 44%),linear-gradient(180deg,#fffffff7,#eff9f5f2);box-shadow:inset 3px 0 #ffe8a8d6,0 20px 46px #00201d38,inset 0 1px #ffffffdb}.home-hero .return-note{color:#fffdf7eb;text-shadow:0 2px 12px rgba(0,0,0,.36)}.playable-hero{gap:clamp(22px,4vw,54px)}.home-spotlight{align-self:center;display:grid;gap:0;min-width:0;overflow:hidden;border:1px solid rgba(216,255,240,.24);border-radius:8px;background:#ffffffe6;color:var(--ink);text-decoration:none;text-shadow:none;box-shadow:0 28px 70px #00121057;transition:transform .2s ease,border-color .18s ease,box-shadow .2s ease}.home-spotlight:hover,.home-spotlight:focus-visible{border-color:#ffe8a880;transform:translateY(-3px);box-shadow:0 34px 78px #00121066}.home-spotlight:active{transform:translateY(1px) scale(.992)}.spotlight-preview{display:block;aspect-ratio:16 / 9;overflow:hidden;background:#073f38}.spotlight-preview img,.mode-preview-card img{display:block;width:100%;height:100%;object-fit:cover}.spotlight-caption{display:grid;gap:5px;padding:13px 14px 14px;background:linear-gradient(180deg,#fffffff5,#eff9f5f0)}.spotlight-caption strong{color:var(--brand-dark);font-size:clamp(1.08rem,2vw,1.45rem);font-weight:950;line-height:1.05}.spotlight-caption small{color:var(--muted);font-size:.9rem;font-weight:800;line-height:1.22}.play-index-band{padding-top:clamp(26px,4vw,48px)}.mode-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,18px);margin-top:18px}.mode-preview-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}.mode-preview-grid-five{grid-template-columns:repeat(5,minmax(0,1fr))}.mode-preview-card{display:grid;min-width:0;overflow:hidden;border:1px solid rgba(5,87,77,.18);border-radius:8px;background:#fffdf7;color:var(--ink);text-decoration:none;box-shadow:0 16px 34px #18201f1a;transition:transform .2s ease,border-color .18s ease,box-shadow .2s ease}.mode-preview-card img{aspect-ratio:16 / 9;background:#073f38}.mode-preview-card>span{display:grid;gap:4px;padding:11px 12px 12px}.mode-preview-card strong{color:var(--brand-dark);font-size:clamp(1rem,1.55vw,1.22rem);font-weight:950;line-height:1.05}.mode-preview-card small{color:var(--muted);font-size:.82rem;font-weight:800;line-height:1.16}.mode-preview-card:hover,.mode-preview-card:focus-visible{border-color:#0d766e61;transform:translateY(-3px);box-shadow:0 20px 42px #0d766e29}.mode-preview-card:active{transform:translateY(1px) scale(.992)}.mode-preview-card.mode-choice-primary,.mode-preview-card[aria-current=true]{border-color:#0d766e6b;box-shadow:inset 0 -3px #0d766e73,0 20px 46px #0d766e2e}.learning-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:clamp(26px,4vw,42px);padding-top:clamp(18px,3vw,28px);border-top:1px solid var(--line)}.learning-panel article{display:grid;align-content:start;gap:8px}.learning-panel h3{margin:0;font-size:1.05rem;line-height:1.12}.learning-panel p{margin:0;font-size:.94rem;line-height:1.48}.learning-panel a{color:var(--brand-dark);font-weight:900}.home-hero:has([data-home-resume-panel]:not([hidden])) .trust-strip,.home-hero:has([data-home-return-summary]:not([hidden])) .trust-strip,.home-hero:has([data-home-resume-panel]:not([hidden])) .play-recommendation,.home-hero:has([data-home-return-summary]:not([hidden])) .play-recommendation,.home-hero:has([data-home-resume-panel]:not([hidden])) .return-note,.home-hero:has([data-home-return-summary]:not([hidden])) .return-note{display:none}.mahjong-hub-hero:has([data-home-resume-panel]:not([hidden])) .hub-quick-picks,.mahjong-hub-hero:has([data-home-return-summary]:not([hidden])) .hub-quick-picks,.mahjong-hub-hero:has([data-home-resume-panel]:not([hidden])) .trust-strip,.mahjong-hub-hero:has([data-home-return-summary]:not([hidden])) .trust-strip,.mahjong-hub-hero:has([data-home-resume-panel]:not([hidden])) .return-note,.mahjong-hub-hero:has([data-home-return-summary]:not([hidden])) .return-note{display:none}.home-tile-scene{position:relative;align-self:end;display:grid;grid-template-columns:repeat(3,minmax(70px,118px));gap:clamp(8px,1.4vw,16px);justify-content:center;align-items:center;padding:clamp(14px,3vw,28px);opacity:.92;transform:translateY(18px) rotate(-2deg)}.home-tile-scene:before{content:"";position:absolute;inset:18% -18% 4%;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(0,24,22,.48),transparent 66%);filter:blur(10px)}.home-tile-card{display:block;min-width:0}.home-tile-card img{display:block;width:100%;height:auto;filter:drop-shadow(0 2px 0 rgba(255,255,255,.72)) drop-shadow(0 24px 18px rgba(0,0,0,.46))}.home-tile-card:nth-child(2),.home-tile-card:nth-child(5){transform:translateY(-18px)}.home-tile-card:nth-child(3),.home-tile-card:nth-child(4){transform:translateY(12px)}@media(min-width:861px){.home-hero{align-items:start;min-height:min(760px,calc(100vh - 62px));padding-top:clamp(34px,4vw,58px);padding-bottom:clamp(20px,2.4vw,32px)}.home-hero h1{font-size:clamp(3rem,6vw,5.6rem)}.home-hero .hero-actions{margin-top:18px}.home-hero .trust-strip{max-width:560px;margin-top:12px}.home-hero .trust-strip span{min-height:32px;padding:6px 9px}.home-hero .trust-strip small,.mahjong-hub-hero .trust-strip small{display:none}.home-hero .mode-filter,.mahjong-hub-hero .mode-filter{width:min(100%,500px);margin-top:10px}.home-hero .mode-filter button,.mahjong-hub-hero .mode-filter button{min-height:36px;padding:5px 8px}.home-hero .mode-filter span,.mahjong-hub-hero .mode-filter span{display:none}.home-hero .play-recommendation-full{grid-template-columns:minmax(270px,1.35fr) minmax(210px,.85fr);max-width:700px;gap:7px;margin-top:14px}.home-hero .play-recommendation-full a{min-height:54px;padding:8px 11px}.home-hero .play-recommendation-full a:not(.mode-choice-primary){grid-template-rows:auto auto;align-content:center;gap:3px}.home-hero .play-recommendation-full .mode-choice-primary{grid-row:span 3;min-height:174px;align-content:center;padding:14px}.home-hero .play-recommendation-full strong{font-size:.94rem}.home-hero .play-recommendation-full a:not(.mode-choice-primary) small,.home-hero .play-recommendation-full a:not(.mode-choice-primary) .choice-fit,.home-hero .play-recommendation-full a:not(.mode-choice-primary) .choice-meta{display:none}.home-hero .choice-fit{font-size:.68rem!important;line-height:1.12!important}.home-hero .play-recommendation-full .mode-choice-primary strong{font-size:clamp(1.18rem,2vw,1.48rem)}.home-hero .play-recommendation-full .mode-choice-primary .choice-fit{font-size:.92rem!important;line-height:1.2!important}.home-hero .play-recommendation-full .mode-choice-primary small{display:block;font-size:.82rem}.mahjong-hub-hero{min-height:min(560px,calc(100vh - 150px));padding-top:clamp(32px,4.4vw,56px);padding-bottom:clamp(22px,3vw,38px)}.mahjong-hub-hero .hub-quick-picks{grid-template-columns:minmax(280px,1.35fr) minmax(210px,.85fr);max-width:700px;gap:7px;margin-top:14px}.mahjong-hub-hero .hub-quick-picks a{min-height:54px;padding:8px 11px}.mahjong-hub-hero .hub-quick-picks a:not(.mode-choice-primary){grid-template-rows:auto auto;align-content:center;gap:3px}.mahjong-hub-hero .hub-quick-picks .mode-choice-primary{grid-row:span 3;min-height:174px;align-content:center;padding:14px}.mahjong-hub-hero .hub-quick-picks a:not(.mode-choice-primary) small,.mahjong-hub-hero .hub-quick-picks a:not(.mode-choice-primary) .choice-fit,.mahjong-hub-hero .hub-quick-picks a:not(.mode-choice-primary) .choice-meta{display:none}.mahjong-hub-hero .hub-quick-picks .mode-choice-primary strong{font-size:clamp(1.18rem,2vw,1.48rem)}.mahjong-hub-hero .hub-quick-picks .mode-choice-primary .choice-fit{font-size:.92rem!important;line-height:1.2!important}}@media(min-width:861px)and (max-height:820px){.home-hero{min-height:auto;padding-top:30px;padding-bottom:24px}.home-hero h1{max-width:8ch;font-size:clamp(2.8rem,5vw,4.7rem)}.home-hero .hero-copy>p:not(.eyebrow):not(.return-note){max-width:54ch;font-size:1rem}.home-hero .trust-strip{max-width:500px;margin-top:10px}.home-hero .trust-strip small{display:none}.home-hero .trust-strip span{min-height:28px;padding:5px 8px}.home-hero .play-recommendation-full{max-width:760px;margin-top:12px}.home-hero .play-recommendation-full a{min-height:0;padding:9px 10px}.home-hero .return-note{margin-top:8px;min-height:0}}.comparison-strip{margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}.mahjong-hub-page{background:#fbfaf5}.mahjong-hub-hero{min-height:min(600px,calc(100vh - 96px));display:grid;grid-template-columns:minmax(320px,.82fr) minmax(280px,.78fr);gap:clamp(22px,4vw,54px);align-items:end;padding:clamp(36px,6vw,76px) clamp(16px,5vw,76px);background:linear-gradient(90deg,#05221fbd,#05221f57 48%,#05221f14),var(--mahjong-courtyard-bg) center / cover no-repeat;color:#fffdf7}.hub-hero-copy{max-width:740px}.hub-spotlight{width:min(100%,680px);justify-self:end}.hub-hero-copy h1{color:#fffdf7;text-shadow:0 5px 24px rgba(0,0,0,.38)}.hub-hero-copy p{max-width:620px;color:#fffdf7e6;font-size:clamp(1rem,1.6vw,1.2rem);font-weight:700}.hub-quick-picks{display:grid;grid-template-columns:minmax(220px,1.28fr) repeat(3,minmax(140px,.84fr));gap:10px;max-width:860px;margin-top:22px}.hub-quick-picks a{background:#ffffffe6}.hub-quick-picks .mode-choice-primary{min-height:128px}.hub-mode-section{max-width:1180px;margin:0 auto;padding:clamp(24px,3vw,38px) clamp(16px,4vw,34px) clamp(32px,5vw,58px)}.hub-section-heading{display:grid;gap:8px;max-width:760px;margin-bottom:14px}.hub-section-heading h2{margin:0;font-size:clamp(1.65rem,3vw,2.45rem)}.hub-mode-section .mode-helper{margin:10px 0 14px}.hub-mode-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.hub-mode-card{position:relative;display:grid;align-content:end;min-height:300px;padding:18px;overflow:hidden;border:1px solid rgba(5,87,77,.18);border-radius:8px;background:linear-gradient(180deg,#ffffff42,#fffffff5),image-set(url(/mahjong/shared-tiles/3d-master-v1/neon-reference-set/game-transparent/front-thin-side/tile-characters-5-front-center.webp) type("image/webp"),url(/mahjong/shared-tiles/3d-master-v1/neon-reference-set/game-transparent/front-thin-side/tile-characters-5-front-center.png) type("image/png")) center 18px / 104px auto no-repeat,linear-gradient(145deg,#fefbf3,#e5f2ea);color:var(--ink);text-decoration:none;box-shadow:0 14px 34px #18201f1a;transition:transform .2s ease,border-color .18s ease,box-shadow .2s ease}.hub-mode-card:nth-child(2){background:linear-gradient(180deg,#ffffff42,#fffffff5),image-set(url(/mahjong/shared-tiles/3d-master-v1/neon-reference-set/game-transparent/front-thin-side/tile-dots-9-front-center.webp) type("image/webp"),url(/mahjong/shared-tiles/3d-master-v1/neon-reference-set/game-transparent/front-thin-side/tile-dots-9-front-center.png) type("image/png")) center 18px / 104px auto no-repeat,linear-gradient(145deg,#fefbf3,#edf5ff)}.hub-mode-card:nth-child(3){background:linear-gradient(180deg,#ffffff42,#fffffff5),image-set(url(/mahjong/shared-tiles/3d-master-v1/neon-reference-set/game-transparent/front-thin-side/tile-bamboo-8-front-center.webp) type("image/webp"),url(/mahjong/shared-tiles/3d-master-v1/neon-reference-set/game-transparent/front-thin-side/tile-bamboo-8-front-center.png) type("image/png")) center 18px / 104px auto no-repeat,linear-gradient(145deg,#fefbf3,#f1f5e8)}.hub-mode-card:nth-child(4){background:linear-gradient(180deg,#ffffff42,#fffffff5),image-set(url(/mahjong/shared-tiles/3d-master-v1/neon-reference-set/game-transparent/front-thin-side/tile-red-dragon-front-center.webp) type("image/webp"),url(/mahjong/shared-tiles/3d-master-v1/neon-reference-set/game-transparent/front-thin-side/tile-red-dragon-front-center.png) type("image/png")) center 18px / 104px auto no-repeat,linear-gradient(145deg,#fefbf3,#fff0ed)}.hub-mode-card-primary{border-color:#0d766e57;box-shadow:0 18px 44px #0d766e2e}.hub-mode-card strong{margin-top:132px;font-size:clamp(1.22rem,1.9vw,1.58rem);line-height:1.05}.hub-mode-card span:not(.mode-kicker):not(.mode-cta):not(.mode-facts){margin-top:8px;color:var(--muted);font-weight:500}.hub-mode-card .mode-fit{margin-top:10px;color:var(--brand-dark)!important;font-size:.86rem;font-weight:850!important;line-height:1.22;text-wrap:balance}.mode-cta{margin-top:18px;color:var(--brand-dark);font-weight:900}.hub-mode-card:hover,.hub-mode-card:focus-visible{border-color:#0d766e61;transform:translateY(-4px);box-shadow:0 20px 42px #18201f29}.hub-mode-card:active{transform:translateY(1px) scale(.992);box-shadow:0 8px 20px #18201f1f}@media(min-width:861px)and (max-height:820px){.mahjong-hub-hero{align-items:start;min-height:auto;padding-top:24px;padding-bottom:10px}.mahjong-hub-hero .hero-actions{margin-top:14px}.mahjong-hub-hero .trust-strip{gap:6px;margin-top:8px}.mahjong-hub-hero .trust-strip span{min-height:28px;padding:5px 8px}.mahjong-hub-hero .trust-strip small,.mahjong-hub-hero .hub-quick-picks small{display:none}.mahjong-hub-hero .hub-quick-picks{gap:7px;grid-template-columns:minmax(210px,1.32fr) repeat(3,minmax(130px,.86fr));max-width:820px;margin-top:12px}.mahjong-hub-hero .hub-quick-picks a{min-height:0;padding:9px 10px}.mahjong-hub-hero .choice-fit{font-size:.72rem!important}.mahjong-hub-hero .return-note{min-height:0;margin-top:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.hub-compare-band{display:grid;grid-template-columns:minmax(260px,.55fr) minmax(0,1.45fr);gap:clamp(18px,4vw,42px);max-width:1180px;margin:0 auto clamp(40px,6vw,72px);padding:0 clamp(16px,4vw,34px)}.hub-compare-band h2{margin-top:0}.hub-keywords{display:flex;flex-wrap:wrap;grid-column:1 / -1;align-content:start;gap:8px}.hub-keywords span{padding:8px 10px;border:1px solid rgba(13,118,110,.16);border-radius:999px;background:#fff;color:var(--brand-dark);font-size:.86rem;font-weight:800}.hub-seo-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;grid-column:1 / -1;margin-top:6px}.solitaire-page{background:linear-gradient(180deg,#fbfaf5e0,#fbfaf5fa),var(--mahjong-courtyard-bg) center / cover fixed no-repeat}.solitaire-shell{max-width:1240px;margin:0 auto;padding:clamp(18px,3.4vw,42px) clamp(14px,3vw,34px) 28px}.solitaire-header{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(260px,1fr);gap:clamp(14px,3vw,32px);align-items:end;margin-bottom:14px}.solitaire-header h1{font-size:clamp(2.2rem,5vw,4.5rem)}.solitaire-header p:last-child{margin-bottom:20px;font-weight:700}.solitaire-panel{padding:clamp(10px,2vw,18px);border:3px solid rgba(0,73,65,.42);border-radius:8px;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.13),transparent 38%),linear-gradient(145deg,#067e6ce0,#034c43f0);box-shadow:inset 0 0 0 8px #ffffff0a,0 22px 58px #0003}.solitaire-hud{display:grid;grid-template-columns:repeat(7,minmax(74px,1fr));gap:8px;margin-bottom:10px}.solitaire-hud span{min-height:48px;padding:6px 8px;border:2px solid rgba(195,255,235,.22);border-radius:6px;background:#00473e94;color:#eafff5;font-size:.78rem;font-weight:800;text-align:center;text-transform:uppercase}.solitaire-hud .solitaire-level-toggle{min-width:0;min-height:34px;padding:2px 4px;border:1px solid rgba(255,232,168,.24);border-radius:6px;background:#ffffff0f;box-shadow:none;color:#e8fff6;font-size:clamp(.78rem,.9vw,.86rem);font-weight:900;line-height:1;white-space:nowrap}.solitaire-hud .solitaire-level-toggle:hover,.solitaire-hud .solitaire-level-toggle:focus-visible{border-color:#ffe8a8b3;background:#ffe8a824}.solitaire-hud strong{display:block;color:#fff;font-size:clamp(1.2rem,2.3vw,2rem);line-height:1.05}.solitaire-board{--solitaire-scale: 1;--solitaire-fit-width: 740;--solitaire-fit-height: 470;--solitaire-tile-base-width: clamp(52px, 5.2vw, 66px);--solitaire-tile-width: calc(var(--solitaire-tile-base-width) * var(--solitaire-scale));--solitaire-tile-height: calc(var(--solitaire-tile-width) * 783 / 567);--solitaire-tile-gap-x: calc(var(--solitaire-tile-width) * -.194);--solitaire-tile-gap-y: calc(var(--solitaire-tile-height) * -.105);--solitaire-step-x: calc(var(--solitaire-tile-width) + var(--solitaire-tile-gap-x));--solitaire-step-y: calc(var(--solitaire-tile-height) + var(--solitaire-tile-gap-y));--solitaire-center-col: 5.5;--solitaire-layer-x: 0px;--solitaire-layer-y: 0px;--solitaire-tile-top: var(--solitaire-layout-tile-top, 34px);position:relative;width:min(100%,820px);height:clamp(470px,58vw,610px);margin:0 auto;overflow:visible}.solitaire-tile{position:absolute;left:calc(50% - var(--solitaire-tile-width) / 2 + (var(--x) - var(--solitaire-center-col)) * var(--solitaire-step-x) + var(--z) * var(--solitaire-layer-x));top:calc(var(--solitaire-tile-top) + var(--y) * var(--solitaire-step-y) + var(--z) * var(--solitaire-layer-y));width:var(--solitaire-tile-width);aspect-ratio:567 / 783;padding:0;border:0;border-radius:9px;background:transparent;box-shadow:none;transition:transform .14s ease,filter .14s ease,opacity .18s ease;filter:drop-shadow(0 1px 0 rgba(255,255,255,.68)) drop-shadow(0 10px 8px rgba(0,0,0,.34));transform-origin:50% 84%;opacity:1}.solitaire-board.is-entering .solitaire-tile{animation:solitaireTileEnter .52s both cubic-bezier(.18,.84,.24,1);animation-delay:calc(var(--enter-index, 0) * 4ms)}.solitaire-tile img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.solitaire-tile .tile-rank-badge{z-index:4}.solitaire-tile.is-open:before{content:"";position:absolute;inset:3px 4px 4px;z-index:3;border:1px solid rgba(255,246,178,.64);border-radius:7px;box-shadow:inset 0 1px #ffffff75,0 0 0 1px #5effd71f,0 0 9px #ffee9c3d;pointer-events:none}.solitaire-tile:hover{transform:translateY(-7px) scale(1.035);filter:drop-shadow(0 0 10px rgba(255,246,168,.82)) drop-shadow(0 16px 10px rgba(0,0,0,.38))}.solitaire-tile.is-open:active{transform:translateY(-2px) scale(1.012)}.solitaire-tile.is-open{cursor:pointer;filter:brightness(1.1) saturate(1.08) contrast(1.02) drop-shadow(0 0 2px rgba(255,255,238,.72)) drop-shadow(0 0 7px rgba(255,244,178,.36)) drop-shadow(0 12px 9px rgba(0,0,0,.34))}.solitaire-tile.is-open:hover{transform:translateY(-8px) scale(1.036);filter:brightness(1.13) saturate(1.1) contrast(1.03) drop-shadow(0 0 3px rgba(255,255,238,.82)) drop-shadow(0 0 10px rgba(255,246,168,.82)) drop-shadow(0 16px 10px rgba(0,0,0,.38))}.solitaire-tile.is-blocked{cursor:not-allowed;opacity:1;filter:grayscale(.24) saturate(var(--blocked-saturation, .52)) brightness(var(--blocked-brightness, .68)) contrast(var(--blocked-contrast, .88)) drop-shadow(0 1px 0 rgba(255,255,255,.24)) drop-shadow(0 var(--blocked-shadow-y, 6px) var(--blocked-shadow-blur, 5px) rgba(0,0,0,.3))}.solitaire-tile.is-blocked:hover{transform:none}.solitaire-tile.selected,.solitaire-tile.hinted{transform:translateY(-9px) scale(1.055);filter:drop-shadow(0 0 9px rgba(255,246,168,.96)) drop-shadow(0 0 18px rgba(94,255,215,.72)) drop-shadow(0 18px 12px rgba(0,0,0,.38))}.solitaire-tile.selected{outline:3px solid rgba(255,235,134,.96);outline-offset:2px}.solitaire-tile.selected.is-no-candidate{outline-color:#ffcd6ff5;filter:brightness(1.06) saturate(1.02) drop-shadow(0 0 8px rgba(255,214,112,.82)) drop-shadow(0 17px 11px rgba(0,0,0,.36))}.solitaire-tile.hinted:not(.selected){outline:2px solid rgba(104,255,218,.92);outline-offset:2px;animation:solitaireHintPulse 1.2s ease-in-out infinite}.solitaire-tile.is-guide-match:not(.selected):not(.hinted){outline:2px solid rgba(255,232,168,.88);outline-offset:2px;animation:solitaireOpenGuidePulse 1.5s ease-in-out infinite;filter:brightness(1.14) saturate(1.1) contrast(1.03) drop-shadow(0 0 4px rgba(255,250,214,.86)) drop-shadow(0 0 12px rgba(255,222,126,.5)) drop-shadow(0 14px 10px rgba(0,0,0,.34))}.solitaire-tile.is-candidate{outline:2px solid rgba(118,255,218,.88);outline-offset:2px;transform:translateY(-8px) scale(1.045);filter:brightness(1.1) saturate(1.08) drop-shadow(0 0 9px rgba(92,255,213,.82)) drop-shadow(0 15px 11px rgba(0,0,0,.35));animation:candidateBreathe 1.18s ease-in-out infinite}.solitaire-tile.keyboard-cursor{outline:3px solid rgba(255,246,168,.95);outline-offset:3px;filter:brightness(1.12) saturate(1.08) contrast(1.03) drop-shadow(0 0 3px rgba(255,255,238,.78)) drop-shadow(0 0 8px rgba(255,246,168,.84)) drop-shadow(0 12px 9px rgba(0,0,0,.34))}.solitaire-tile.is-denied{animation:tileBlocked .42s ease;filter:drop-shadow(0 0 9px rgba(255,104,104,.9)) drop-shadow(0 14px 10px rgba(0,0,0,.38))}.solitaire-tile.is-denied:after{content:"";position:absolute;inset:-7px;z-index:-1;border-radius:13px;background:radial-gradient(circle,rgba(255,225,176,.72),transparent 42%),conic-gradient(from 0deg,#ff4848eb,#ffba5ec7,#ff4848eb);opacity:.9;filter:blur(7px);animation:solitaireDeniedHalo .42s ease forwards}.solitaire-tile.is-mismatch{animation:solitaireMismatchNudge .46s ease;filter:drop-shadow(0 0 8px rgba(255,117,92,.86)) drop-shadow(0 0 16px rgba(255,205,112,.52)) drop-shadow(0 14px 10px rgba(0,0,0,.36))}.solitaire-tile.is-mismatch:after{content:"";position:absolute;inset:-7px;z-index:-1;border-radius:13px;background:radial-gradient(circle,rgba(255,221,154,.72),transparent 44%),conic-gradient(from 0deg,#ff5b52e0,#ffc658c7,#ff5b52e0);opacity:.86;filter:blur(7px);animation:solitaireMismatchHalo .46s ease forwards}.solitaire-tile.is-clearing-pair{pointer-events:none;animation:solitairePairClear .36s cubic-bezier(.18,.88,.24,1) forwards;filter:brightness(1.12) saturate(1.08) drop-shadow(0 0 12px rgba(255,244,173,.92)) drop-shadow(0 18px 13px rgba(0,0,0,.38))}.solitaire-tile.is-clearing-pair:after{content:"";position:absolute;inset:-8px;z-index:-1;border-radius:14px;background:radial-gradient(circle,rgba(255,248,178,.9),transparent 48%),conic-gradient(from 0deg,#ffec6ce6,#5bffd1c2,#ffec6ce6);opacity:.88;filter:blur(8px);animation:solitairePairClearHalo .36s ease forwards}.classic-pair-flight-overlay{contain:strict;isolation:isolate}.classic-pair-flight-tile{pointer-events:none!important;transition:none!important;filter:brightness(1.12) saturate(1.08) drop-shadow(0 0 10px rgba(255,244,173,.92)) drop-shadow(0 14px 10px rgba(0,0,0,.34))}.classic-pair-flight-tile:after{content:none!important}.solitaire-board.is-layer-revealed{animation:solitaireLayerReveal .52s cubic-bezier(.18,.82,.24,1)}.solitaire-screen-fx{position:fixed;inset:0;z-index:9000;pointer-events:none;overflow:hidden}.solitaire-screen-fx__tile-edge-particles,.solitaire-screen-fx__pair-impact,.solitaire-screen-fx__auto-reshuffle-notice{position:fixed;z-index:9100;pointer-events:none}.solitaire-screen-fx__tile-edge-particles{border-radius:10px;opacity:1;mix-blend-mode:screen;background:transparent;outline:0;box-shadow:none}.solitaire-screen-fx__pair-impact{width:600px;height:220px;border:0;background:transparent;box-shadow:none;opacity:.94}.solitaire-screen-fx__auto-reshuffle-notice{width:min(680px,calc(100vw - 42px));padding:14px 18px 15px;border:1px solid rgba(255,244,164,.84);border-radius:8px;background:linear-gradient(180deg,#fff4b0f5,#71ffd3e0),#ffee8eeb;box-shadow:inset 0 1px #ffffffc2,0 18px 34px #00191857,0 0 42px #ffe8686b;color:#063d35;font-size:clamp(.95rem,1.6vw,1.22rem);font-weight:950;line-height:1.16;text-align:center;text-shadow:0 1px 0 rgba(255,255,255,.58);transform:translate(-50%,-50%) scale(.94);opacity:0;animation:solitaireAutoReshuffleNotice 1.7s cubic-bezier(.16,.84,.24,1) forwards}.solitaire-board.is-auto-reshuffling{animation:solitaireAutoReshuffleBoard .26s ease-in-out infinite alternate}.solitaire-screen-fx__tile-edge-particles:before,.solitaire-screen-fx__tile-edge-particles:after{content:none}.solitaire-screen-fx__tile-edge-particles:after{content:none}.solitaire-screen-fx__edge-particle{position:absolute;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,238,1) 0 14%,rgba(255,244,140,.98) 34%,rgba(108,255,220,.72) 62%,transparent 74%);box-shadow:0 0 10px #fff6a8fa,0 0 20px #5bffd7e6,0 0 28px #ffd64885;opacity:0;animation-duration:1.04s;animation-timing-function:cubic-bezier(.15,.82,.24,1);animation-fill-mode:forwards;animation-delay:var(--particle-delay)}.solitaire-screen-fx__edge-particle.is-top{left:var(--particle-offset);top:-7px;animation-name:solitaireTileParticleX}.solitaire-screen-fx__edge-particle.is-right{right:-7px;top:var(--particle-offset);animation-name:solitaireTileParticleY}.solitaire-screen-fx__edge-particle.is-bottom{right:var(--particle-offset);bottom:-7px;animation-name:solitaireTileParticleXReverse}.solitaire-screen-fx__edge-particle.is-left{left:-7px;bottom:var(--particle-offset);animation-name:solitaireTileParticleYReverse}.solitaire-screen-fx__pair-impact:before,.solitaire-screen-fx__pair-impact:after{content:"";position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%)}.solitaire-screen-fx__pair-impact:before{width:148px;height:148px;border:0;background:radial-gradient(circle at 50% 50%,rgba(255,255,238,1) 0 7%,rgba(255,226,92,.9) 18%,rgba(68,255,215,.42) 38%,transparent 70%);box-shadow:0 0 26px #ffe674f2,0 0 52px #44ffd73d;filter:blur(1.2px) drop-shadow(0 0 34px rgba(255,224,102,.9));animation:solitairePairImpactCore .92s cubic-bezier(.16,.84,.26,1) forwards}.solitaire-screen-fx__pair-impact:after{display:none}.solitaire-screen-fx__pair-impact.is-classic-pair-impact:before{width:96px;height:96px}.daily-page .game-panel{perspective:none}.daily-page .game-table-shell{isolation:auto}.daily-page .solitaire-board{--daily-board-depth-shadow: clamp(38px, 5vw, 72px);--solitaire-tile-base-width: clamp(54px, 4.45vw, 68px);--solitaire-tile-gap-x: 1px;--solitaire-tile-gap-y: 1px;--solitaire-layer-x: calc(var(--solitaire-tile-width) * .11);--solitaire-layer-y: calc(var(--solitaire-tile-height) * -.155);transform:perspective(1400px) rotateX(34deg) translateY(-125px) scale(1.08);transform-origin:50% 58%;transform-style:preserve-3d}.daily-page .solitaire-board.is-true3d-active{transform:translateY(-98px) scale(var(--daily-true3d-scale, 1.1));transform-origin:50% 62%;transform-style:flat}.daily-page .daily-true3d-board-canvas{position:absolute;inset:0;z-index:5;width:100%;height:100%;pointer-events:auto;touch-action:pan-y}.daily-page .solitaire-board.is-true3d-active .solitaire-tile{z-index:2;background:transparent;filter:none;pointer-events:none;outline:none;box-shadow:none}.daily-page .solitaire-board.is-true3d-active .solitaire-tile:focus,.daily-page .solitaire-board.is-true3d-active .solitaire-tile:focus-visible{outline:none;box-shadow:none}.daily-page .solitaire-board.is-true3d-active .tile-front,.daily-page .solitaire-board.is-true3d-active .daily-tile-depth,.daily-page .solitaire-board.is-true3d-active .daily-tile-side-shade,.daily-page .solitaire-board.is-true3d-active .tile-rank-badge{opacity:0}.daily-page .solitaire-board.is-true3d-active .solitaire-tile.is-denied,.daily-page .solitaire-board.is-true3d-active .solitaire-tile.is-mismatch,.daily-page .solitaire-board.is-true3d-active .solitaire-tile.is-clearing-pair{animation:none;filter:none}.daily-page .solitaire-board.is-true3d-active .solitaire-tile.is-denied:after,.daily-page .solitaire-board.is-true3d-active .solitaire-tile.is-mismatch:after,.daily-page .solitaire-board.is-true3d-active .solitaire-tile.is-clearing-pair:after{content:none;display:none}.daily-page .solitaire-board:before,.daily-page .solitaire-board:after{content:"";position:absolute;left:50%;z-index:-2;pointer-events:none;transform:translate(-50%)}.daily-page .solitaire-board:before{top:clamp(52px,9vw,84px);width:min(900px,96vw);height:clamp(360px,46vw,560px);border-radius:50%;background:radial-gradient(ellipse at 50% 45%,#c9ffe829,#1866581a 42%,#00161800 72%),radial-gradient(ellipse at 50% 62%,rgba(0,13,16,.32),rgba(0,13,16,.14) 50%,transparent 76%)}.daily-page .solitaire-board:after{top:clamp(158px,24vw,248px);width:min(720px,82vw);height:var(--daily-board-depth-shadow);border-radius:50%;background:radial-gradient(ellipse at center,rgba(0,8,9,.44),rgba(0,8,9,.16) 52%,transparent 74%);filter:blur(12px)}.daily-page .solitaire-tile{transform:translateZ(calc(var(--z) * 12px));transform-style:preserve-3d;filter:none}.daily-page .solitaire-tile.is-open:before{display:none}.daily-page .solitaire-tile:focus-visible{box-shadow:none}.daily-page .solitaire-tile .tile-front{position:relative;z-index:2;backface-visibility:hidden;clip-path:inset(0 16.4% 11% 7.5% round 7px 7px 2px 2px);transform:translateZ(.5px);filter:drop-shadow(0 1px 0 rgba(255,255,255,.58)) drop-shadow(0 calc(9px + var(--z) * 3px) calc(7px + var(--z) * 2px) rgba(0,0,0,.38))}.daily-page .solitaire-tile[data-kind$=-flower] .tile-front{clip-path:inset(0 16.4% 9.5% 7.5% round 7px 7px 2px 2px)}.daily-page .daily-tile-depth{position:absolute;inset:88.6% 16.4% auto 7.5%;z-index:1;height:calc(var(--solitaire-tile-width) * .18);border-radius:0 0 3px 3px;clip-path:polygon(0 0,100% 0,99% 100%,1% 100%);background:linear-gradient(to bottom,#e7dcc7,#b9a78a 49.8%,#da9a08 50%,#a96800);transform:translateZ(0);backface-visibility:visible;pointer-events:none}.daily-page .daily-tile-side-shade{position:absolute;top:7px;bottom:11%;z-index:3;display:none;width:3px;pointer-events:none}.daily-page .solitaire-tile.is-daily-left-wing .daily-tile-side-shade{right:16.4%;display:block;border-radius:0 5px 2px 0;background:linear-gradient(to left,#532b11c2,#8b5c306b)}.daily-page .solitaire-tile.is-daily-right-wing .daily-tile-side-shade{left:7.5%;display:block;border-radius:5px 0 0 2px;background:linear-gradient(to right,#532b11c2,#8b5c306b)}.daily-page .solitaire-tile.is-blocked .daily-tile-side-shade{filter:grayscale(.24) saturate(var(--blocked-saturation, .52)) brightness(var(--blocked-brightness, .68))}.daily-page .solitaire-tile.is-blocked{filter:none}.daily-page .solitaire-tile.is-blocked .tile-front{filter:grayscale(.24) saturate(var(--blocked-saturation, .52)) brightness(var(--blocked-brightness, .68)) contrast(var(--blocked-contrast, .88)) drop-shadow(0 1px 0 rgba(255,255,255,.2)) drop-shadow(0 calc(var(--blocked-shadow-y, 6px) + var(--z) * 2px) calc(var(--blocked-shadow-blur, 5px) + var(--z) * 2px) rgba(0,0,0,.34))}.daily-page .solitaire-tile.is-blocked .daily-tile-depth{filter:grayscale(.24) saturate(var(--blocked-saturation, .52)) brightness(var(--blocked-brightness, .68)) contrast(var(--blocked-contrast, .88))}.daily-page .solitaire-tile.is-open .tile-front{filter:brightness(1.1) saturate(1.08) contrast(1.02) drop-shadow(0 12px 9px rgba(0,0,0,.34))}.daily-page .solitaire-tile.selected,.daily-page .solitaire-tile.hinted,.daily-page .solitaire-tile.is-candidate,.daily-page .solitaire-tile.is-guide-match,.daily-page .solitaire-tile.keyboard-cursor{outline:none}.daily-page .solitaire-tile.selected,.daily-page .solitaire-tile.hinted,.daily-page .solitaire-tile.is-candidate,.daily-page .solitaire-tile.is-guide-match,.daily-page .solitaire-tile.keyboard-cursor{filter:brightness(1.1) saturate(1.05) drop-shadow(0 16px 11px rgba(0,0,0,.38))}.daily-page .solitaire-tile.is-blocked:hover{transform:translateZ(calc(var(--z) * 12px))}.daily-page .solitaire-tile.is-open:hover{transform:translateZ(calc(var(--z) * 12px + 8px)) translateY(-8px) scale(1.036)}.daily-page .solitaire-tile.is-open:active{transform:translateZ(calc(var(--z) * 12px + 4px)) translateY(-2px) scale(1.012)}.daily-page .solitaire-tile.selected,.daily-page .solitaire-tile.hinted{transform:translateZ(calc(var(--z) * 12px + 12px)) translateY(-9px) scale(1.055)}.daily-page .solitaire-tile.is-guide-match:not(.selected):not(.hinted),.daily-page .solitaire-tile.keyboard-cursor{transform:translateZ(calc(var(--z) * 12px + 7px))}.daily-page .solitaire-tile.is-clearing-pair,.daily-page .solitaire-tile.is-denied,.daily-page .solitaire-tile.is-mismatch{transform:translateZ(calc(var(--z) * 12px + 10px))}@media(max-width:860px){.daily-page .solitaire-board{--daily-board-depth-shadow: clamp(28px, 7vw, 48px);--solitaire-tile-base-width: clamp(46px, 8.8vw, 60px);transform:perspective(1100px) rotateX(30deg) translateY(-8px) scale(1.1);transform-origin:50% 56%}.daily-page .solitaire-board.is-true3d-active{transform:translateY(-28px) scale(calc(var(--daily-true3d-scale, 1.1) * .9));transform-origin:50% 56%}}@media(max-width:560px){.daily-page .solitaire-board{--daily-board-depth-shadow: clamp(20px, 8vw, 36px);--solitaire-tile-base-width: clamp(36px, 8.6vw, 48px);transform:perspective(900px) rotateX(26deg) translateY(-2px) scale(1.06);transform-origin:50% 54%}.daily-page .solitaire-board.is-true3d-active{transform:translateY(-8px) scale(calc(var(--daily-true3d-scale, 1.1) * .78));transform-origin:50% 52%}}.solitaire-controls{display:grid;grid-template-columns:minmax(148px,190px) repeat(4,minmax(96px,1fr));gap:8px;margin:10px auto 0}.solitaire-controls button{min-width:0;border:3px solid rgba(181,255,228,.24);background:linear-gradient(180deg,#22ad91,#087264);box-shadow:0 5px #003c33cc}.solitaire-panel .game-message{margin:10px 0 0}.solitaire-page .game-table-shell{--mahjong-garden-bg: var(--mahjong-courtyard-bg);position:relative;z-index:0;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);align-items:start;width:100%;max-width:none;min-height:calc(100vh - 61px);margin:0;padding:0 0 clamp(20px,2.8vw,36px);overflow:hidden;background:var(--mahjong-garden-bg) center / cover no-repeat;border-block:0;box-shadow:none}.solitaire-page .game-table-shell:fullscreen,.solitaire-page .game-table-shell:-webkit-full-screen{width:100vw;min-height:100vh;overflow:auto;background:var(--mahjong-garden-bg) center / cover no-repeat;background-color:var(--table-dark)}.solitaire-page .theme-effect-canvas{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none}.solitaire-page .game-panel{position:relative;z-index:3;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;width:100%;max-width:none;min-height:calc(100vh - 61px - clamp(40px,5vw,72px));margin:0 auto;padding:0;background:transparent;border-color:transparent;border-radius:0;box-shadow:none}.solitaire-page .game-panel:fullscreen,.solitaire-page .game-panel:-webkit-full-screen{background:var(--mahjong-garden-bg) center / cover no-repeat;background-color:var(--table-dark);border-color:transparent;box-shadow:none}.solitaire-page .game-window-header{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(430px,1.2fr);align-items:center;gap:clamp(10px,1.3vw,18px);margin-top:0;min-height:72px;padding:9px clamp(18px,4vw,86px) 8px;border:0;border-bottom:1px solid rgba(222,255,244,.28);border-radius:0;background:linear-gradient(180deg,#00423d94,#002a2752);box-shadow:inset 0 -1px #00131152}.daily-page .game-window-header{grid-template-columns:minmax(250px,.7fr) minmax(410px,1.05fr) minmax(170px,.36fr)}@media(min-width:861px){.daily-page .game-window-header{grid-template-columns:minmax(280px,.72fr) minmax(430px,1.16fr) minmax(280px,.58fr)}}.solitaire-page .game-titlebar{display:grid;grid-template-columns:1fr;gap:2px;margin-bottom:0}.solitaire-page .game-titlebar h1{margin:0;color:#fffdf7;font-size:clamp(1.32rem,2vw,1.78rem);line-height:1.08;text-shadow:0 3px 12px rgba(0,0,0,.28)}.solitaire-page .game-titlebar p{max-width:none;margin:0;color:#fffdf7;font-size:clamp(.66rem,.88vw,.82rem);font-weight:800;line-height:1.18;text-align:left;text-shadow:0 3px 12px rgba(0,0,0,.28)}.solitaire-page .game-titlebar .eyebrow{display:none}.solitaire-page .game-hud{grid-template-columns:repeat(5,minmax(74px,1fr));gap:7px;margin-bottom:0;min-width:0}.solitaire-page:not(.daily-page) .game-window-header{grid-template-columns:minmax(320px,.64fr) minmax(680px,1.36fr);align-items:start;row-gap:8px;min-height:136px;padding-bottom:12px}.solitaire-page:not(.daily-page) .game-hud{grid-template-columns:repeat(7,minmax(70px,1fr));align-self:start}.solitaire-career-panel{grid-column:1 / -1;width:min(760px,100%);justify-self:start;margin:0}.solitaire-page:not(.daily-page) .solitaire-coach{top:clamp(188px,21vh,236px)}.solitaire-page .game-hud span{display:flex;align-items:baseline;justify-content:center;gap:6px;min-width:0;min-height:34px;padding:2px 4px;background:transparent;border-color:transparent;box-shadow:none;color:#e8fff6;font-size:clamp(.78rem,.9vw,.86rem);font-weight:900;line-height:1;white-space:nowrap;text-shadow:0 2px 8px rgba(0,18,16,.52)}.solitaire-page .game-hud strong{display:inline;color:#fff;font-size:clamp(1.08rem,1.58vw,1.55rem);font-variant-numeric:tabular-nums;text-shadow:0 2px 0 rgba(0,19,17,.42),0 9px 18px rgba(0,18,16,.38)}.solitaire-coach{position:absolute;top:clamp(138px,18vh,190px);right:auto;left:clamp(18px,4vw,68px);z-index:20;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;width:min(260px,calc(100vw - 36px));padding:7px 8px 7px 12px;border:1px solid rgba(216,255,238,.28);border-radius:8px;background:linear-gradient(90deg,rgba(255,232,168,.07),transparent 54%),#002a2657;box-shadow:inset 2px 0 #ffe8a894,inset 0 1px #ffffff14,0 10px 24px #0012101f;color:#f4fff9;backdrop-filter:none;-webkit-backdrop-filter:none;overflow:hidden;opacity:.88}.solitaire-coach[hidden]{display:none}.solitaire-coach div{display:grid;gap:4px;min-width:0}.solitaire-coach strong{color:#ffe8a8f0;font-size:.78rem;line-height:1;letter-spacing:0;text-transform:uppercase}.solitaire-coach span{display:-webkit-box;overflow:hidden;color:#f4fff9eb;font-size:clamp(.78rem,.9vw,.86rem);font-weight:800;line-height:1.12;-webkit-line-clamp:1;-webkit-box-orient:vertical}.solitaire-coach .coach-copy{display:-webkit-box}.solitaire-coach .coach-legend{display:flex}.solitaire-coach .coach-legend span{display:inline-flex;overflow:visible;-webkit-line-clamp:unset;-webkit-box-orient:horizontal}.solitaire-coach .coach-visual{display:none}.solitaire-coach .coach-steps{display:flex;flex-wrap:wrap;gap:3px}.solitaire-coach .coach-steps span{flex:0 0 auto;padding:2px 6px 3px;border:1px solid rgba(216,255,238,.16);border-radius:4px;background:#ffffff14;color:#f4fff9c7;font-size:.78rem;line-height:1}.solitaire-coach .rule-mini{display:inline-flex;overflow:visible;-webkit-line-clamp:unset;-webkit-box-orient:horizontal}.solitaire-coach .rule-mini em{display:inline;overflow:visible;-webkit-line-clamp:unset;-webkit-box-orient:horizontal}.solitaire-coach button{pointer-events:auto;min-height:40px;padding:6px 11px;border:1px solid rgba(255,232,168,.34);background:#ffeeac24;color:#fff5bf;box-shadow:inset 0 1px #ffffff24,0 5px 12px #00121024;font-size:.78rem;line-height:1;white-space:nowrap}.solitaire-coach button:hover,.solitaire-coach button:focus-visible{background:#ffeeac42;border-color:#ffeeacad}.game-coach.is-help-open,.solitaire-coach.is-help-open{position:fixed;top:72px;right:18px;left:auto;z-index:70;display:grid!important;width:min(520px,calc(100vw - 36px));max-height:min(220px,calc(100dvh - 156px));overflow:hidden;opacity:.97;pointer-events:auto}.solitaire-coach.is-help-open{width:min(420px,calc(100vw - 36px))}.daily-progress{display:grid;grid-template-columns:1fr;gap:5px;justify-self:end;width:min(190px,100%);color:#e8fff6;font-size:clamp(.58rem,.76vw,.7rem);font-weight:900;text-transform:uppercase}.daily-progress span{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-height:24px;padding:2px 8px;border:1px solid rgba(222,255,244,.18);border-radius:6px;background:#00363061;box-shadow:inset 0 1px #ffffff14}.daily-progress strong{color:#fffdf7;font-size:clamp(.82rem,1.05vw,1rem);font-variant-numeric:tabular-nums}@media(min-width:861px){.daily-progress{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:min(360px,100%)}.daily-progress span{display:grid;justify-content:center;min-height:34px;padding:4px 8px;text-align:center}.daily-progress strong{display:block;font-size:clamp(1rem,1.2vw,1.22rem);line-height:1}}.win-panel{position:fixed;top:50%;left:50%;z-index:1210;width:min(600px,calc(100vw - 36px));transform:translate(-50%,-50%);padding:clamp(20px,3vw,30px);border:2px solid rgba(255,232,168,.42);border-radius:8px;background:radial-gradient(circle at 50% -6%,rgba(255,236,157,.28),transparent 42%),radial-gradient(circle at 100% 0%,rgba(104,255,218,.13),transparent 40%),linear-gradient(180deg,#005c50f5,#002f2bfa);box-shadow:inset 0 0 0 1px #ffffff14,inset 0 1px #ffffff29,0 30px 80px #00000075;color:#fffdf7;text-align:center}.win-panel[hidden]{display:none}.win-panel:focus{outline:none}.win-kicker{width:fit-content;margin:0 auto 8px;padding:4px 7px;border:1px solid rgba(255,232,168,.34);border-radius:4px;background:#ffeeac21;color:#ffe8a8;font-size:.76rem;font-weight:900;line-height:1;text-transform:uppercase}.win-panel h2{margin:0;color:#fffdf7;font-size:clamp(1.7rem,4vw,2.55rem);line-height:1;text-shadow:0 3px 16px rgba(0,0,0,.32)}.win-panel p{max-width:44ch;margin:12px auto 0;color:#fffdf7e0;font-weight:750}.win-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:8px;margin:20px 0 18px}.win-stats span{min-height:62px;padding:9px 7px;border:1px solid rgba(219,255,239,.22);border-radius:6px;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent),#00322d80;color:#e8fff6db;font-size:.68rem;font-weight:900;text-transform:uppercase;box-shadow:inset 0 1px #ffffff14,0 10px 22px #00121024}.win-stats strong{display:block;margin-top:4px;color:#fffdf7;font-size:clamp(.95rem,1.7vw,1.24rem);font-variant-numeric:tabular-nums;line-height:1.08}.win-ranking{margin:-4px 0 18px;padding:12px;border:1px solid rgba(219,255,239,.2);border-radius:6px;background:#00242061;text-align:left}.win-ranking>strong{display:block;margin-bottom:8px;color:#ffe8a8;font-size:.72rem;font-weight:950;letter-spacing:0;text-transform:uppercase}.win-rank-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.win-rank-list li{display:grid;grid-template-columns:44px minmax(72px,1fr) minmax(116px,1.6fr);align-items:center;gap:8px;min-height:32px;padding:6px 8px;border:1px solid rgba(255,255,255,.08);border-radius:5px;background:#ffffff0d;color:#fffdf7e0;font-size:.78rem;font-weight:850}.win-rank-list li.is-current{border-color:#ffe8a894;background:linear-gradient(90deg,#ffe8a838,#68ffda1f);box-shadow:0 0 18px #ffe8a824}.win-rank-list li.is-empty{color:#e8fff67a;background:#ffffff06}.win-rank-list li.is-empty strong,.win-rank-list li.is-empty span,.win-rank-list li.is-empty small{color:#e8fff67a}.win-rank-list strong{color:#ffe8a8;font-variant-numeric:tabular-nums}.win-rank-list span{color:#fffdf7;font-variant-numeric:tabular-nums}.win-rank-list small{color:#e8fff6b8;font-size:.72rem;font-weight:800;text-align:right}.win-note{width:fit-content;max-width:100%;margin:-6px auto 16px;padding:7px 12px;border:1px solid rgba(255,232,168,.32);border-radius:999px;background:linear-gradient(180deg,#ffeeac21,#002a262e),#003a3470;color:#fff0ad;font-size:clamp(.72rem,1.4vw,.86rem);font-weight:900;line-height:1.25;text-wrap:balance;box-shadow:inset 0 1px #ffffff1f,0 9px 24px #00141229}.win-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.win-actions button,.win-actions .win-link{min-height:44px;padding-inline:12px;font-size:.82rem}.win-actions button:first-child{border-color:#ffe8a86b;background:linear-gradient(180deg,#9fe6c7,#49a776);color:#073d36;text-shadow:0 1px 0 rgba(255,255,255,.42)}.win-actions button:first-child:hover,.win-actions button:first-child:focus-visible{filter:brightness(1.05) saturate(1.04)}.win-actions .win-link{display:grid;align-content:center;gap:1px;padding:7px 10px;text-align:left;line-height:1.05}.win-actions .win-link strong{color:#003b34c7;font-size:.78rem;font-weight:950;line-height:1;text-transform:uppercase}.win-actions .win-link span{color:var(--brand-dark);font-size:.86rem;font-weight:950}.win-actions .win-close{border-color:#dbffef38;background:#ffffff1f;box-shadow:inset 0 1px #ffffff1a,0 4px #002420a6}.modal-backdrop{position:fixed;inset:0;z-index:1205;background:#0016146b;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.modal-backdrop[hidden]{display:none}.solitaire-level-picker{position:fixed;top:50%;left:50%;z-index:1220;width:min(720px,calc(100vw - 36px));max-height:min(82vh,760px);transform:translate(-50%,-50%);overflow:auto;padding:clamp(16px,2.4vw,24px);border:2px solid rgba(255,232,168,.42);border-radius:8px;background:linear-gradient(180deg,#00584efc,#002724fc);box-shadow:0 30px 80px #0000007a;color:#fffdf7}.solitaire-level-picker[hidden]{display:none}.solitaire-level-picker:focus{outline:none}.solitaire-level-picker>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.solitaire-level-picker h2,.solitaire-level-picker p,.solitaire-level-picker h3{margin:0}.solitaire-level-picker h2{font-size:clamp(1.45rem,3vw,2rem)}.level-picker-kicker{color:#ffe8a8;font-size:.68rem;font-weight:900;text-transform:uppercase}.solitaire-level-picker>header>button{min-height:40px;padding-inline:14px}.solitaire-level-picker-grid{display:grid;gap:13px}.solitaire-level-chapter{display:grid;grid-template-columns:minmax(104px,132px) minmax(0,1fr);align-items:center;gap:10px}.solitaire-level-chapter h3{color:#e8fff6d1;font-size:.76rem;line-height:1.2}.solitaire-level-chapter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.solitaire-level-chapter-grid button{display:grid;align-content:center;gap:2px;min-width:0;min-height:54px;padding:5px 4px;border:1px solid rgba(219,255,239,.22);border-radius:6px;background:#ffffff14;box-shadow:0 3px #001e1bad;color:#fffdf7}.solitaire-level-chapter-grid button strong{font-size:1rem;line-height:1}.solitaire-level-chapter-grid button span{overflow:hidden;font-size:.57rem;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.solitaire-level-chapter-grid button.is-current{border-color:#ffe8a8e6;background:linear-gradient(180deg,#ffe8a84d,#41a47e75)}.solitaire-level-chapter-grid button.is-complete:after{content:"Clear";color:#bff7d8;font-size:.52rem;font-weight:900;text-transform:uppercase}.solitaire-level-chapter-grid button.is-locked{opacity:.42;background:#001c1a9e;box-shadow:none}@media(max-width:560px){.solitaire-level-picker{width:calc(100vw - 20px);max-height:88vh;padding:14px 10px}.solitaire-level-chapter{grid-template-columns:1fr;gap:5px}.solitaire-level-chapter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.confirm-panel{position:fixed;top:50%;left:50%;z-index:1220;width:min(420px,calc(100vw - 36px));transform:translate(-50%,-50%);padding:clamp(16px,3vw,24px);border:2px solid rgba(219,255,239,.34);border-radius:8px;background:radial-gradient(circle at 50% 0%,rgba(255,236,157,.2),transparent 42%),linear-gradient(180deg,#00584efa,#002b27fa);box-shadow:inset 0 1px #ffffff29,0 24px 68px #0000006b;color:#fffdf7;text-align:center}.confirm-panel[hidden]{display:none}.confirm-panel:focus{outline:none}.confirm-kicker{margin:0 0 6px;color:#ffe8a8;font-size:.72rem;font-weight:900;text-transform:uppercase}.confirm-panel h2{margin:0;color:#fffdf7;font-size:clamp(1.45rem,4vw,2.05rem);line-height:1.05;text-shadow:0 3px 16px rgba(0,0,0,.3)}.confirm-panel p{margin:10px auto 0;color:#fffdf7e0;font-weight:760}.confirm-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px}.confirm-actions button{min-height:40px;padding-inline:12px;font-size:.82rem}.confirm-actions .confirm-cancel{border-color:#dbffef5c;background:linear-gradient(180deg,#20a991,#087669);box-shadow:0 5px #00322bd1,inset 0 1px #ffffff29}.confirm-actions #restart-confirm-accept{border-color:#ffe1ab57;background:linear-gradient(180deg,#7f5b30eb,#5a3723f0);box-shadow:0 4px #301e16bd,inset 0 1px #ffffff1f;color:#fff6df}.confirm-actions #restart-confirm-accept:hover,.confirm-actions #restart-confirm-accept:focus-visible{background:linear-gradient(180deg,#916534f5,#653d26fa);box-shadow:0 6px #301e16bd,0 12px 22px #301e1638}.solitaire-page .solitaire-board{width:min(100%,960px);height:clamp(430px,calc(100vh - 340px),560px);margin:clamp(214px,26vh,282px) auto max(220px,calc(var(--solitaire-tile-height) * 4))}@media(min-width:861px)and (min-height:941px){.solitaire-page .solitaire-board{height:clamp(450px,calc(100vh - 472px),520px);margin-top:clamp(160px,15vh,190px)}.daily-page .solitaire-board{height:clamp(438px,calc(100vh - 468px),510px);margin-top:clamp(208px,21vh,246px)}}.solitaire-page .controls{position:fixed;left:50%;bottom:84px;transform:translate(-50%);z-index:900;display:grid;grid-template-columns:minmax(148px,190px) repeat(4,minmax(86px,1fr));gap:8px;width:min(1000px,calc(100vw - 36px));margin:0 auto}.solitaire-page .tile-scale-control{display:flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:3px 10px;border:1px solid rgba(184,255,229,.38);border-radius:6px;background:linear-gradient(180deg,#2cae906b,#004039a3),#00322eb8;box-shadow:inset 0 1px #ffffff38,inset 0 -1px #0012105c,0 9px 18px #0014123d;color:#f4fff9;font-size:.82rem;font-weight:900;text-shadow:0 2px 0 rgba(0,28,24,.72);transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .16s ease}.solitaire-page .tile-scale-control input{width:min(92px,22vw);accent-color:#9deac8;cursor:pointer}.solitaire-page .tile-scale-control strong{min-width:42px;text-align:right;font-variant-numeric:tabular-nums}.solitaire-page .tile-scale-stepper{display:grid;grid-template-columns:36px minmax(48px,1fr) 36px;gap:5px;padding:3px 5px}.solitaire-page .tile-scale-stepper button{width:36px;min-width:36px;min-height:36px;padding:0;border-width:1px;box-shadow:0 3px #003c33cc;font-size:1.2rem;line-height:1}.solitaire-page .tile-scale-stepper output{align-self:center;min-width:48px;text-align:center;font-variant-numeric:tabular-nums}.connect-page .tile-scale-control:focus-within,.piles-page .tile-scale-control:focus-within,.solitaire-page .tile-scale-control:focus-within{border-color:#fff4aab8;box-shadow:0 0 0 4px #fff4aa29,inset 0 1px #ffffff47,inset 0 -1px #00121047,0 12px 24px #00161347}.connect-page .tile-scale-control:active,.piles-page .tile-scale-control:active,.solitaire-page .tile-scale-control:active{transform:translateY(1px);box-shadow:inset 0 1px #ffffff24,inset 0 -1px #0012103d,0 5px 12px #00141238}.solitaire-page .controls button{flex:none;min-width:0;min-height:36px;border:1px solid rgba(184,255,229,.34);background:linear-gradient(180deg,#22ad91e6,#057163eb),#004039e6;--control-shadow: 0 9px 18px rgba(0, 20, 18, .24);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #00121052,var(--control-shadow);text-shadow:0 1px 0 rgba(0,27,24,.5)}.solitaire-page .controls button:hover,.solitaire-page .controls button:focus-visible{border-color:#d3ffef8a;box-shadow:inset 0 1px #ffffff47,inset 0 -1px #00121047,0 12px 24px #00161347}.solitaire-page .controls button:active{box-shadow:inset 0 1px #ffffff1f,0 4px 10px #00141238}.solitaire-page .controls button:disabled,.solitaire-page .controls button[aria-disabled=true]{border-color:#b4e1d41a;background:linear-gradient(180deg,#38524c94,#1a2a27c7),#001c1aad;box-shadow:inset 0 1px #ffffff0d,0 3px 8px #0012101f;color:#e0f4ee75;text-shadow:none;opacity:.72;filter:saturate(.48) brightness(.78)}.solitaire-page .controls button:disabled:hover,.solitaire-page .controls button[aria-disabled=true]:hover{background:linear-gradient(180deg,#38524c94,#1a2a27c7),#001c1aad;box-shadow:inset 0 1px #ffffff0d,0 3px 8px #0012101f;filter:saturate(.48) brightness(.78)}.solitaire-page .controls .hint-button{border-color:#d6ffe88a;background:linear-gradient(180deg,#a4e8c4f5,#4aa677f0),#7dd8a5e6;color:#113a2c;text-shadow:0 1px 0 rgba(255,255,255,.36)}.connect-page .controls button.is-recommended:not(:disabled),.piles-page .controls button.is-recommended:not(:disabled),.solitaire-page .controls button.is-recommended:not(:disabled){border-color:#ffe175c7;background:linear-gradient(180deg,#ffce56f5,#c67a1cf0),#a25e12eb;color:#fffdf4;box-shadow:inset 0 1px #ffffff57,inset 0 -1px #4f280057,0 0 0 2px #ffe08033,0 12px 28px #48240052;animation:recommendedControlPulse 1.5s ease-in-out infinite}.solitaire-page .controls .icon-control{width:82px;padding-inline:6px;font-size:.72rem}.solitaire-page .game-message{position:fixed;left:50%;bottom:56px;transform:translate(-50%);z-index:24;width:min(980px,calc(100vw - 36px));min-height:24px;margin:0 auto;padding:0;color:#eafff5;background:transparent}.solitaire-page .settings-popover{right:0}.piles-shell{grid-template-columns:minmax(0,1fr);justify-content:center;gap:0;align-items:stretch;padding:0 0 clamp(20px,2.8vw,36px)}.piles-copy h1,.piles-copy p{color:#fffdf7;text-shadow:0 3px 12px rgba(0,0,0,.28)}.piles-copy{order:-1;display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:0}.piles-copy h1{margin:0;font-size:clamp(2rem,4vw,3.4rem)}.piles-copy p:last-child{flex:1 1 500px;max-width:560px;margin:0 0 5px;text-align:right;font-weight:700}.piles-copy .eyebrow{color:#ffe5ad}.piles-game{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;align-content:stretch;isolation:isolate;place-items:stretch center;background:transparent;border-color:transparent;border-radius:0;padding:0;box-shadow:none}.piles-hud{grid-template-columns:repeat(7,minmax(54px,1fr))}.piles-hud span{color:#e8fff6}.piles-hud strong{color:#fff}.piles-board{--piles-tile-scale: 1;--piles-tile-base-width: clamp(52px, 5.2vw, 66px);--piles-tile-width: calc(var(--piles-tile-base-width) * var(--piles-tile-scale));--piles-tile-height: calc(var(--piles-tile-width) * 783 / 567);--piles-tile-gap-x: calc(var(--piles-tile-width) * -.194);--piles-tile-gap-y: calc(var(--piles-tile-height) * -.105);--piles-step-x: calc(var(--piles-tile-width) + var(--piles-tile-gap-x));--piles-step-y: calc(var(--piles-tile-height) + var(--piles-tile-gap-y));--piles-origin-x: calc(var(--piles-layout-span-x, 6) * var(--piles-step-x) * .5 + var(--piles-tile-width) * .5);--piles-origin-y: clamp(110px, calc(8vh + 34px) , 130px);--piles-thickness-x: 0px;--piles-thickness-y: 0px;position:relative;width:min(100%,1120px);min-height:clamp(420px,calc(100vh - 430px),535px);margin:clamp(14px,2.2vw,28px) auto 0;border-radius:8px;overflow:visible;background:transparent;perspective:1200px}.piles-board:before,.piles-board:after{content:"";position:absolute;left:50%;pointer-events:none;transform:translate(-50%)}.piles-board:before{top:clamp(120px,22%,170px);z-index:0;width:min(720px,74vw);height:clamp(240px,36vw,390px);border-radius:50%;background:radial-gradient(ellipse at 50% 48%,#abffe11f,#1e776714 42%,#001b1b00 72%),radial-gradient(ellipse at 50% 58%,rgba(0,18,20,.28),rgba(0,18,20,.12) 48%,transparent 74%);filter:blur(.2px)}.piles-board:after{top:clamp(162px,30%,240px);z-index:0;width:min(520px,58vw);height:clamp(120px,18vw,210px);border-radius:50%;background:radial-gradient(ellipse at center,rgba(0,8,10,.34),rgba(0,8,10,.12) 48%,transparent 72%);filter:blur(10px)}.piles-tile{position:absolute;width:var(--piles-tile-width);aspect-ratio:567 / 783;left:calc(50% - var(--piles-origin-x) + var(--render-x) * var(--piles-step-x) + var(--layer) * var(--piles-thickness-x));top:calc(var(--piles-origin-y) + var(--render-y) * var(--piles-step-y) - var(--layer) * var(--piles-thickness-y));z-index:calc(10 + var(--layer) * 50);transform:translateY(var(--layer-lift, 0px));transform-origin:50% 82%;isolation:isolate;filter:drop-shadow(0 1px 0 rgba(255,255,255,.65)) drop-shadow(0 var(--depth-shadow-y, 10px) var(--depth-shadow-blur, 8px) rgba(0,0,0,.36));animation:none;transition:transform .15s ease,filter .15s ease,opacity .18s ease;opacity:1}.piles-board.is-entering .piles-tile{animation:pilesTileEnter .52s both cubic-bezier(.18,.84,.24,1);animation-delay:calc(var(--enter-index, 0) * 5ms)}.piles-tile:has(.tile-art){overflow:hidden;filter:drop-shadow(0 1px 0 rgba(255,255,255,.65)) drop-shadow(0 var(--depth-shadow-y, 10px) var(--depth-shadow-blur, 8px) rgba(0,0,0,.36))}.piles-tile .tile-art{width:100%;height:100%;object-fit:fill}.piles-touch-target{display:none}.piles-tile:before{content:"";position:absolute;inset:7% 8% 8%;z-index:1;border-radius:8px;box-shadow:inset 0 1px #ffffff8a,0 0 0 2px #003a3229;pointer-events:none}.piles-tile:after{content:"";position:absolute;inset:5% 7% 9%;z-index:2;border-radius:9px;background:linear-gradient(135deg,rgba(255,255,255,var(--depth-glow, .08)),#fff0 38%),linear-gradient(315deg,#0e3e3024,#0e3e3000 46%);opacity:.9;mix-blend-mode:screen;pointer-events:none}.piles-tile.is-locked{filter:grayscale(.2) saturate(calc(.56 + var(--layer) * .055)) brightness(calc(.68 + var(--layer) * .05)) contrast(calc(.9 + var(--layer) * .025)) drop-shadow(0 1px 0 rgba(255,255,255,.22)) drop-shadow(0 var(--depth-shadow-y, 10px) var(--depth-shadow-blur, 8px) rgba(0,0,0,.3));cursor:not-allowed;opacity:1}.piles-tile.is-locked:has(.tile-art){filter:grayscale(.22) saturate(calc(.54 + var(--layer) * .055)) brightness(calc(.68 + var(--layer) * .05)) contrast(calc(.9 + var(--layer) * .025)) drop-shadow(0 1px 0 rgba(255,255,255,.22)) drop-shadow(0 var(--depth-shadow-y, 10px) var(--depth-shadow-blur, 8px) rgba(0,0,0,.32))}.piles-tile.is-blocked-feedback{animation:pilesBlockedNudge .36s ease both;filter:saturate(.88) brightness(.82) drop-shadow(0 0 10px rgba(255,96,80,.58)) drop-shadow(0 8px 6px rgba(0,0,0,.26))}.piles-tile.is-blocked-feedback:before{box-shadow:inset 0 1px #ffffff8a,0 0 0 2px #ff5d4fad,0 0 18px #ff5b4e5c}.piles-game.is-revealing-pile .piles-tile.is-locked,.piles-game.is-revealing-pile .piles-tile.is-locked:has(.tile-art){filter:saturate(1.08) brightness(1.06) drop-shadow(0 0 8px rgba(255,246,168,.36)) drop-shadow(0 8px 6px rgba(0,0,0,.24))}.piles-tile.is-open{cursor:pointer;filter:brightness(1.08) saturate(1.07) contrast(1.02) drop-shadow(0 1px 0 rgba(255,255,255,.68)) drop-shadow(0 0 7px rgba(255,242,174,.24)) drop-shadow(0 var(--depth-shadow-y, 10px) var(--depth-shadow-blur, 8px) rgba(0,0,0,.34))}.piles-tile.is-open:before{box-shadow:inset 0 1px #ffffffb3,0 0 0 2px #ffec9161,0 0 18px #77ffd73d}.piles-tile.is-open:after{background:linear-gradient(135deg,#fff3,#fff0 38%),linear-gradient(315deg,#ffe59d1f,#0e3e3000 46%);opacity:1}.piles-tile.is-open:has(.tile-art){filter:brightness(1.08) saturate(1.07) contrast(1.02) drop-shadow(0 1px 0 rgba(255,255,255,.68)) drop-shadow(0 0 7px rgba(255,242,174,.24)) drop-shadow(0 var(--depth-shadow-y, 10px) var(--depth-shadow-blur, 8px) rgba(0,0,0,.34))}.piles-tile.is-open:hover{transform:translateY(calc(var(--layer-lift, 0px) - 9px)) scale(1.036);filter:brightness(1.08) saturate(1.06) drop-shadow(0 0 10px rgba(255,246,168,.85)) drop-shadow(0 16px 10px rgba(0,0,0,.38))}.piles-tile.is-open:active{transform:translateY(calc(var(--layer-lift, 0px) - 3px)) scale(1.012)}.piles-tile.is-open:hover:has(.tile-art){filter:brightness(1.08) saturate(1.06) drop-shadow(0 0 10px rgba(255,246,168,.85)) drop-shadow(0 16px 10px rgba(0,0,0,.38))}.piles-tile.is-open:focus-visible{transform:translateY(calc(var(--layer-lift, 0px) - 6px)) scale(1.026);outline:3px solid rgba(255,244,170,.9);outline-offset:4px;filter:drop-shadow(0 0 10px rgba(255,246,168,.82)) drop-shadow(0 14px 10px rgba(0,0,0,.36))}.piles-tile.is-hinted{z-index:calc(40 + var(--layer) * 50);outline:3px solid rgba(104,255,218,.94);outline-offset:3px;filter:drop-shadow(0 0 10px rgba(255,246,168,.95)) drop-shadow(0 0 18px rgba(91,255,215,.72)) drop-shadow(0 16px 10px rgba(0,0,0,.38));transform:translateY(calc(var(--layer-lift, 0px) - 6px)) scale(1.035);animation:pilesHintPulse 1.2s ease-in-out infinite}.piles-tile.is-guide-pick:not(.is-hinted){z-index:calc(40 + var(--layer) * 50);outline:2px solid rgba(255,232,168,.88);outline-offset:2px;filter:brightness(1.12) saturate(1.08) drop-shadow(0 0 5px rgba(255,250,214,.84)) drop-shadow(0 0 13px rgba(91,255,215,.42)) drop-shadow(0 14px 10px rgba(0,0,0,.34));animation:firstStepGuidePulse 1.5s ease-in-out infinite}.piles-tile.is-tray-candidate{z-index:calc(40 + var(--layer) * 50);outline:2px solid rgba(118,255,218,.88);outline-offset:2px;filter:brightness(1.1) saturate(1.08) drop-shadow(0 0 9px rgba(92,255,213,.82)) drop-shadow(0 15px 11px rgba(0,0,0,.35));transform:translateY(calc(var(--layer-lift, 0px) - 7px)) scale(1.04);animation:candidateBreathe 1.18s ease-in-out infinite}@keyframes pilesBlockedNudge{0%,to{transform:translateY(var(--layer-lift, 0px))}28%{transform:translate(-3px,calc(var(--layer-lift, 0px) + 1px)) rotate(-1.2deg)}58%{transform:translate(3px,calc(var(--layer-lift, 0px) + 1px)) rotate(1.2deg)}}@keyframes pilesHintPulse{0%,to{filter:drop-shadow(0 0 10px rgba(255,246,168,.82)) drop-shadow(0 0 16px rgba(91,255,215,.64)) drop-shadow(0 16px 10px rgba(0,0,0,.36))}50%{filter:drop-shadow(0 0 13px rgba(255,239,150,.92)) drop-shadow(0 0 22px rgba(91,255,215,.78)) drop-shadow(0 18px 11px rgba(0,0,0,.38))}}@keyframes solitaireTileEnter{0%{opacity:0;transform:translateY(18px) scale(.92);filter:blur(1px) drop-shadow(0 4px 4px rgba(0,0,0,.2))}72%{opacity:1}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pilesTileEnter{0%{opacity:0;transform:translateY(calc(var(--layer-lift, 0px) + 22px)) scale(.9);filter:blur(1px) drop-shadow(0 4px 4px rgba(0,0,0,.22))}72%{opacity:1}to{opacity:1;transform:translateY(var(--layer-lift, 0px)) scale(1)}}@media(prefers-reduced-motion:reduce){.tile.candidate,.tile.selected.is-no-candidate .tile-glow,.tile.is-guide-link,.solitaire-tile.is-candidate,.solitaire-tile.is-guide-match,.piles-tile.is-tray-candidate,.piles-tile.is-guide-pick,.piles-tile.is-blocked-feedback,.piles-tile.is-hinted,.game-board.is-entering .tile,.solitaire-board.is-entering .solitaire-tile,.piles-board.is-entering .piles-tile{animation:none}}.piles-tray-wrap{width:min(540px,calc(100vw - 36px));position:relative;z-index:23;margin:8px auto 0;transform:none;transition:opacity .16s ease}.piles-tray-wrap:before{content:"";position:absolute;left:8%;right:8%;bottom:-13px;height:24px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(0,10,12,.46),rgba(0,10,12,.18) 54%,transparent 76%);filter:blur(7px);pointer-events:none}.piles-tray-reward{position:absolute;left:50%;bottom:calc(100% + 8px);z-index:4;min-width:154px;padding:7px 12px 8px;border:1px solid rgba(255,246,168,.6);border-radius:999px;background:linear-gradient(180deg,#fff8bfeb,#76ffd1c7),#fff4ace0;box-shadow:inset 0 1px #ffffffb8,0 10px 22px #001a1842,0 0 24px #ffec7a57;color:#073d36;font-size:.78rem;font-weight:950;letter-spacing:0;line-height:1;opacity:0;pointer-events:none;text-align:center;text-shadow:0 1px 0 rgba(255,255,255,.55);transform:translate(-50%,8px) scale(.94)}.piles-tray-reward.is-active{animation:pilesTrayRewardPop 1.18s cubic-bezier(.18,.88,.24,1) forwards}.piles-page .controls{position:relative;left:auto;bottom:auto;z-index:24;width:min(1120px,calc(100vw - 36px));margin:16px auto 0;transform:none}.piles-page .game-message{position:relative;left:auto;right:auto;bottom:auto;z-index:22;min-height:18px;width:min(1120px,calc(100vw - 36px));margin:4px auto 0;padding:0;font-size:.82rem;line-height:1.15;background:transparent;transform:none}.piles-tray{--tray-fill-ratio: 0;--tray-fill-color: rgba(124, 255, 218, .62);position:relative;display:grid;grid-template-columns:repeat(7,minmax(34px,64px));justify-content:center;gap:6px;padding:8px 8px 10px;border:2px solid rgba(192,255,235,.3);border-bottom-color:#79e2c280;border-radius:8px;background:linear-gradient(180deg,#127062ad,#003531d1),#00463c9e;box-shadow:inset 0 1px #ffffff2e,inset 0 -8px 18px #0015143d,0 5px #002b27c7,0 18px 34px #000d0e47;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.piles-tray:before,.piles-tray:after{content:"";position:absolute;left:10px;right:10px;bottom:4px;height:3px;border-radius:999px;pointer-events:none}.piles-tray:before{background:#beffe821}.piles-tray:after{right:auto;width:calc(100% - 20px);background:linear-gradient(90deg,var(--tray-fill-color),rgba(255,246,168,.82));box-shadow:0 0 12px #7cffda38;transform:scaleX(var(--tray-fill-ratio));transform-origin:left center;transition:transform .22s ease,box-shadow .18s ease,background-color .18s ease}.piles-tray.is-warning{--tray-fill-color: rgba(255, 214, 96, .78);border-color:#ffd86cc7;background:#4e3e138f;box-shadow:0 0 0 1px #ffeea63d inset,0 0 18px #ffbe462e}.piles-tray.is-warning:after{box-shadow:0 0 14px #ffca524d}.piles-tray.is-danger{--tray-fill-color: rgba(255, 96, 86, .9);border-color:#ff6056e6;background:#5619189e;box-shadow:0 0 0 1px #ffc4a442 inset,0 0 22px #ff5a4e42;animation:trayDangerPulse .86s ease-in-out infinite}.piles-tray.is-danger:after{box-shadow:0 0 18px #ff5a4e6b}.tray-slot{display:grid;place-items:center;aspect-ratio:567 / 783;min-width:0;border:2px dashed rgba(202,255,232,.28);border-radius:8px;background:linear-gradient(180deg,#ffffff0a,#00131214),#00252329;box-shadow:inset 0 1px #ffffff14,inset 0 0 18px #00111129}.piles-tray .tile{width:82%;max-width:none;justify-self:center;align-self:center}.piles-tray .tile.is-new-tray-tile{animation:trayTileArrive .34s cubic-bezier(.18,.88,.24,1) both;filter:drop-shadow(0 0 8px rgba(255,236,145,.62)) drop-shadow(0 9px 7px rgba(0,0,0,.28))}.piles-tray .tile.is-flight-target{opacity:.18;animation:none}.piles-flight-tile{position:fixed;z-index:999;display:block;pointer-events:none;transform-origin:50% 50%;opacity:0;filter:drop-shadow(0 0 12px rgba(255,246,168,.62)) drop-shadow(0 20px 18px rgba(0,0,0,.38))}.piles-flight-tile .tile-art{width:100%;height:100%;object-fit:fill}.piles-flight-tile.is-flying{animation:pilesTileFlight .44s cubic-bezier(.18,.84,.24,1) forwards}.piles-tray .tile.is-clearing{position:relative;z-index:2;border-color:#ffec91f2;animation:trayTripleImpact .82s cubic-bezier(.18,.88,.24,1) both;filter:brightness(1.1) saturate(1.06) drop-shadow(0 0 10px rgba(255,244,173,.86)) drop-shadow(0 10px 9px rgba(0,0,0,.32))}.piles-tray .tile.is-clearing:after{content:"";position:absolute;inset:-6px;border-radius:12px;background:radial-gradient(circle,rgba(255,248,178,.94),transparent 50%),conic-gradient(from 0deg,#ffec6ce6,#5bffd1c7,#ffec6ce6);opacity:.88;filter:blur(8px);z-index:-1;animation:trayTripleGlow .82s ease-in-out both}.piles-tray .tile.is-clearing[data-clear-index="1"]{z-index:4}.piles-tray .tile.is-clearing[data-clear-index="0"],.piles-tray .tile.is-clearing[data-clear-index="2"]{z-index:3}.piles-triple-impact-fx{position:fixed;z-index:10020;width:1px;height:1px;pointer-events:none;isolation:isolate}.piles-triple-impact-ring,.piles-triple-impact-core,.piles-triple-impact-particle{position:absolute;left:0;top:0;display:block;pointer-events:none}.piles-triple-impact-ring{width:72px;height:72px;border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(.28)}.piles-triple-impact-ring.is-gold{border:4px solid rgba(255,225,104,.96);box-shadow:0 0 10px #fff6b1fa,0 0 28px #ffbe3bd1,inset 0 0 16px #fff5be8f;animation:pilesTripleGoldRing .52s cubic-bezier(.12,.72,.18,1) forwards}.piles-triple-impact-ring.is-jade{width:92px;height:92px;border:3px solid rgba(91,255,209,.9);box-shadow:0 0 14px #5bffd1db,0 0 34px #4eabff8a;animation:pilesTripleJadeRing .52s cubic-bezier(.12,.72,.18,1) forwards}.piles-triple-impact-core{width:54px;height:54px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,232,.98) 0 12%,rgba(255,221,102,.86) 24%,rgba(91,255,209,.48) 48%,transparent 72%);filter:drop-shadow(0 0 14px rgba(255,238,137,.96));transform:translate(-50%,-50%) scale(.28);animation:pilesTripleImpactCore .42s ease-out forwards}.piles-triple-impact-particle{width:8px;height:8px;border:1px solid rgba(255,255,230,.9);border-radius:50%;background:#ffdf70;box-shadow:0 0 7px #ffea80fa,0 0 12px #5bffd1ad;opacity:0;transform:translate(-50%,-50%) rotate(var(--impact-angle)) translate(4px) scale(.35);animation:pilesTripleImpactParticle .5s cubic-bezier(.1,.7,.18,1) var(--impact-delay) forwards}@keyframes trayTripleImpact{0%{transform:translateY(0) scale(1)}20%{transform:translate(var(--approach-x, 0px),-3px) scale(1.025)}36%{transform:translate(var(--merge-x, 0px),-7px) scale(1.1) rotate(var(--impact-rotate, 0deg));filter:brightness(1.3) drop-shadow(0 0 22px rgba(255,236,132,.98)) drop-shadow(0 0 30px rgba(91,255,209,.62)) drop-shadow(0 10px 10px rgba(0,0,0,.34))}48%{transform:translate(var(--recoil-mid-x, var(--merge-x, 0px)),-3px) scale(1.035) rotate(0)}66%{transform:translate(var(--recoil-end-x, var(--merge-x, 0px)),-5px) scale(1.01);opacity:1}82%{transform:translate(var(--recoil-end-x, var(--merge-x, 0px)),-12px) scale(.92);opacity:.92}to{transform:translate(var(--recoil-end-x, var(--merge-x, 0px)),-28px) scale(.68);opacity:0}}@keyframes trayTileArrive{0%{transform:translateY(-18px) scale(.86) rotate(-2deg);opacity:0}58%{transform:translateY(3px) scale(1.035) rotate(.8deg);opacity:1}to{transform:translateY(0) scale(1) rotate(0);opacity:1}}@keyframes pilesTileFlight{0%{transform:translate(0) scale(1) rotate(0);opacity:1}34%{transform:translate(calc(var(--flight-x) * .36),calc(var(--flight-y) * .28 - 34px)) scale(1.12) rotate(-2deg);opacity:1}72%{transform:translate(calc(var(--flight-x) * .88),calc(var(--flight-y) * .9 - 6px)) scale(calc(var(--flight-scale) * 1.04)) rotate(1deg);opacity:1}to{transform:translate(var(--flight-x),var(--flight-y)) scale(var(--flight-scale)) rotate(0);opacity:.08}}@keyframes trayTripleGlow{0%{opacity:0;transform:scale(.9)}28%{opacity:0;transform:scale(.96)}34%{opacity:1;transform:scale(1.18)}66%{opacity:.7;transform:scale(1.28)}to{opacity:0;transform:scale(1.5)}}@keyframes pilesTripleGoldRing{0%{opacity:0;transform:translate(-50%,-50%) scale(.24)}24%{opacity:1;transform:translate(-50%,-50%) scale(.74)}to{opacity:0;transform:translate(-50%,-50%) scale(2.25)}}@keyframes pilesTripleJadeRing{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}30%{opacity:.94;transform:translate(-50%,-50%) scale(.68)}to{opacity:0;transform:translate(-50%,-50%) scale(1.92)}}@keyframes pilesTripleImpactCore{0%{opacity:0;transform:translate(-50%,-50%) scale(.25)}24%{opacity:1;transform:translate(-50%,-50%) scale(1.18)}58%{opacity:.9;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.64)}}@keyframes pilesTripleImpactParticle{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--impact-angle)) translate(4px) scale(.3)}24%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--impact-angle)) translate(var(--impact-distance)) scale(.05)}}@keyframes pilesTrayRewardPop{0%{opacity:0;transform:translate(-50%,10px) scale(.9)}18%{opacity:1;transform:translate(-50%,-2px) scale(1.04)}58%{opacity:1;transform:translate(-50%,-8px) scale(1)}to{opacity:0;transform:translate(-50%,-22px) scale(.98)}}@keyframes trayDangerPulse{0%,to{box-shadow:0 0 0 1px #ffc4a43d inset,0 0 18px #ff5a4e38}50%{box-shadow:0 0 0 1px #ffdcb85c inset,0 0 30px #ff5c5261}}@media(prefers-reduced-motion:reduce){.piles-tray.is-danger{animation:none}.piles-tray .tile.is-clearing{animation-duration:.14s}.piles-tray .tile.is-clearing:after{animation-duration:.14s}.piles-triple-impact-ring,.piles-triple-impact-core,.piles-triple-impact-particle{animation-duration:80ms!important;animation-delay:0ms!important}.piles-tray-reward.is-active{animation:none;opacity:1;transform:translate(-50%,-6px) scale(1)}}.piles-triple-impact-fx.is-reduced-motion .piles-triple-impact-ring,.piles-triple-impact-fx.is-reduced-motion .piles-triple-impact-core,.piles-triple-impact-fx.is-reduced-motion .piles-triple-impact-particle{animation-duration:80ms!important;animation-delay:0ms!important}@media(max-width:900px){.piles-shell{grid-template-columns:1fr;min-height:auto}.piles-copy{order:-1}.piles-board{min-height:clamp(330px,72vw,500px);--piles-tile-base-width: clamp(42px, 9vw, 52px);--piles-origin-x: calc(var(--piles-layout-span-x, 6) * var(--piles-step-x) * .5 + var(--piles-tile-width) * .5);--piles-origin-y: clamp(68px, calc(8vw + 24px) , 96px);--piles-thickness-x: 0px;--piles-thickness-y: 0px}}@media(min-width:861px)and (max-height:940px){.solitaire-page .solitaire-board{height:clamp(430px,calc(100vh - 380px),520px);margin-top:clamp(100px,12vh,130px)}.connect-page .board-stage{--connect-tile-base-width: clamp(48px, 5vmin, 56px);margin-top:clamp(34px,4.4vh,52px)}}@media(min-width:861px)and (max-height:820px){.solitaire-page .solitaire-board{height:clamp(360px,calc(100vh - 390px),430px);margin-top:clamp(96px,12vh,126px);margin-bottom:max(220px,calc(var(--solitaire-tile-height) * 4))}.connect-page .board-stage{--connect-tile-base-width: clamp(36px, 5vmin, 42px);margin:clamp(16px,2.8vh,32px) auto 8px}.solitaire-page .controls,.connect-page .controls{position:relative;left:auto;bottom:auto;transform:none;margin:8px auto 0}.solitaire-page .game-message,.connect-page .game-message{position:relative;left:auto;bottom:auto;transform:none;margin:6px auto 0}.piles-page .controls{position:relative;left:auto;bottom:auto;margin:12px auto 0;transform:none}.piles-page .game-message{display:block;position:fixed;left:50%;bottom:68px;z-index:25;width:min(720px,calc(100vw - 36px));min-height:22px;margin:0;padding:3px 10px 4px;border:1px solid rgba(190,255,235,.18);border-radius:999px;background:#00302c75;box-shadow:0 8px 22px #00141229;overflow:hidden;color:#f4fff9;line-height:1.1;text-align:center;text-overflow:ellipsis;white-space:nowrap;transform:translate(-50%)}.piles-page .piles-board{--piles-tile-base-width: clamp(44px, 4.2vw, 56px);--piles-origin-y: clamp(80px, calc(6vh + 34px) , 96px);min-height:clamp(305px,calc(100vh - 452px),380px);margin-top:6px}.piles-page .piles-tray-wrap{margin-top:8px}.piles-page .piles-tray{padding:6px 8px 8px}}@media(min-width:861px)and (max-height:720px){.solitaire-page .solitaire-board{height:clamp(304px,calc(100vh - 390px),370px);margin-top:clamp(78px,11vh,98px)}.connect-page .game-message{position:relative;left:auto;bottom:auto;z-index:25;width:min(720px,calc(100vw - 72px));min-height:16px;margin:6px auto 0;padding:2px 10px 3px;border:1px solid rgba(190,255,235,.18);border-radius:999px;background:#00302c75;font-size:.74rem;line-height:1.05;text-align:center;transform:none}.piles-page .game-message{bottom:14px}.piles-page .piles-board{--piles-tile-base-width: clamp(38px, 3.6vw, 48px);--piles-origin-y: clamp(66px, calc(5vh + 34px) , 76px)}}@media(min-width:861px)and (max-width:1120px)and (max-height:820px){.piles-page .piles-board{width:min(880px,calc(100% - 72px))}.piles-page .controls{width:min(880px,calc(100% - 48px));grid-template-columns:minmax(174px,190px) repeat(5,minmax(70px,82px)) repeat(3,54px);gap:6px}.piles-page .piles-tools-toggle{display:block}.piles-page .piles-secondary-tools{grid-column:1 / -1;display:none;grid-template-columns:repeat(4,minmax(88px,1fr));gap:6px}.piles-page .piles-secondary-tools.is-open{display:grid;position:absolute;right:0;bottom:calc(100% + 4px);left:0;z-index:3;padding:6px;border:1px solid rgba(190,255,232,.24);border-radius:8px;background:#00302cdb;box-shadow:inset 0 1px #ffffff1f,0 16px 32px #0012104d}}@media(min-width:861px)and (min-height:721px)and (max-height:820px){.piles-page .game-message{position:relative;left:auto;bottom:auto;width:min(720px,calc(100vw - 36px));margin:6px auto 0;transform:none}}@media(min-width:861px)and (max-height:940px){.daily-page .solitaire-board{margin-top:clamp(94px,12vh,122px)}}@media(min-width:861px)and (max-height:720px){.daily-page .solitaire-board{margin-top:clamp(72px,10vh,92px)}}@media(min-width:861px)and (max-height:560px){.solitaire-page .game-table-shell,.connect-page .game-table-shell{padding-bottom:24px}.solitaire-page .solitaire-board{height:clamp(260px,calc(100vh - 178px),330px);margin:16px auto 14px}.connect-page .board-stage{--connect-tile-base-width: clamp(30px, 7vh, 42px);margin:8px auto 14px;min-height:calc(var(--connect-tile-width) * 4 / 3 * 8 + var(--connect-row-gap) * 7)}.piles-page .piles-board{--piles-tile-base-width: clamp(46px, 12vh, 56px);--piles-origin-y: 78px;min-height:380px}.solitaire-page .controls,.connect-page .controls{position:relative;left:auto;bottom:auto;transform:none;margin:8px auto 0}.solitaire-page .game-message,.connect-page .game-message{position:relative;left:auto;bottom:auto;transform:none;margin:6px auto 0}.connect-page .mode-bridge{bottom:18px}}@media(min-width:861px)and (max-height:640px){.piles-page .game-message{display:block;min-height:18px;padding:2px 10px 3px;font-size:.72rem;line-height:1.05}.piles-page .piles-board{--piles-tile-base-width: clamp(40px, 4vw, 52px);--piles-origin-y: clamp(62px, calc(4.8vh + 34px) , 74px);min-height:clamp(286px,calc(100vh - 464px),340px);margin-top:4px}.piles-page .piles-tray-wrap{width:min(390px,calc(100vw - 36px));margin-top:4px}.piles-page .piles-tray{grid-template-columns:repeat(7,minmax(28px,44px));gap:4px;padding:5px 6px 7px}.piles-page .controls{margin-top:6px}.piles-page .game-message{margin-top:3px}}@media(min-width:861px)and (max-height:560px){.piles-page .game-message{display:none}}@media(max-width:560px){.connect-page .site-header,.piles-page .site-header,.solitaire-page .site-header{align-items:flex-start;flex-direction:column;gap:4px;min-height:0;padding:6px 10px}.connect-page nav,.piles-page nav,.solitaire-page nav{flex:0 1 auto;flex-wrap:wrap;justify-content:flex-start;gap:4px 8px;overflow-x:visible;white-space:normal;width:100%}.piles-hud{grid-template-columns:repeat(2,1fr)}.piles-board{min-height:clamp(270px,70vw,360px);--piles-tile-base-width: clamp(38px, 8.8vw, 46px);--piles-origin-y: 46px}.piles-tray{gap:5px;padding:7px}}footer{padding:26px clamp(16px,4vw,56px);border-top:1px solid var(--line)}footer p{margin:0}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fbfaf5f5}.site-footer p{max-width:62ch}.site-footer nav{justify-content:flex-end}.site-footer nav a{min-height:44px}.legal-page,.not-found-page{min-height:calc(100dvh - 174px)}.legal-page h1,.not-found-page h1{max-width:760px}.legal-page p{max-width:70ch}@media(max-width:860px){.site-header{align-items:flex-start;flex-direction:column;gap:8px;padding-block:8px;position:static}.site-header>nav{flex-wrap:nowrap;gap:6px;width:100%;max-width:100%;min-width:0;overflow-x:auto;padding-bottom:2px;white-space:nowrap;scrollbar-width:none}.site-header>nav::-webkit-scrollbar{display:none}.brand,nav a{display:inline-flex;align-items:center;min-height:44px}nav a{justify-content:center;flex:0 0 auto;min-width:max-content;padding:0 11px}.site-footer{align-items:flex-start;flex-direction:column;gap:10px}.site-footer nav{justify-content:flex-start;width:100%}.site-footer nav a{min-height:36px;padding:0 10px}.connect-page .site-header,.piles-page .site-header,.solitaire-page .site-header{align-items:center;flex-direction:row;gap:10px;min-height:48px;padding:8px 12px}.connect-page .brand,.piles-page .brand,.solitaire-page .brand{flex:0 0 auto;font-size:.94rem;white-space:nowrap}.connect-page nav,.piles-page nav,.solitaire-page nav{flex:1 1 auto;flex-wrap:nowrap;min-width:0;justify-content:flex-end;gap:10px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;font-size:.82rem}.connect-page nav::-webkit-scrollbar,.piles-page nav::-webkit-scrollbar,.solitaire-page nav::-webkit-scrollbar{display:none}.hero,.game-shell{grid-template-columns:1fr}.home-tile-scene{grid-template-columns:repeat(6,minmax(42px,1fr));padding-inline:0}.home-tile-card:nth-child(n){transform:none}.play-recommendation,.hub-quick-picks{grid-template-columns:1fr}.solitaire-header{grid-template-columns:1fr;align-items:start}.solitaire-header p:last-child{margin-bottom:0}.solitaire-board{height:clamp(390px,82vw,520px)}.solitaire-hud,.solitaire-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.solitaire-controls .tile-scale-control{grid-column:1 / -1}.solitaire-page .game-table-shell{min-height:auto;padding:0 0 28px}.solitaire-page .game-window-header{grid-template-columns:1fr;gap:8px;padding:8px 12px}.daily-page .game-window-header{grid-template-columns:1fr}.solitaire-page .game-hud{grid-template-columns:repeat(3,1fr)}.daily-progress{grid-template-columns:repeat(3,1fr);justify-self:stretch;width:100%}.daily-progress span{justify-content:center;min-height:26px}.solitaire-page .solitaire-board{height:clamp(390px,82vw,520px);margin:clamp(88px,11vh,124px) auto 178px}.solitaire-page .controls{grid-template-columns:repeat(4,minmax(0,1fr));width:min(920px,calc(100vw - 36px));bottom:20px}.solitaire-page .game-message,.connect-page .game-message{bottom:180px}.solitaire-page .controls .icon-control{width:auto;min-width:0}.hub-mode-grid,.hub-compare-band,.mode-matrix{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-matrix article{min-height:238px}.game-table-shell{grid-template-columns:1fr;min-height:auto;box-shadow:inset 0 0 0 10px #00534880,inset 0 0 60px #00000038}.game-titlebar{align-items:start;flex-direction:column;gap:8px}.game-titlebar p{flex:0 1 auto;max-width:none;text-align:left}.game-board{min-height:320px}.connect-page .game-table-shell,.piles-page .game-table-shell{padding:0 0 28px}.connect-page .game-window-header,.piles-page .game-window-header{grid-template-columns:1fr;gap:8px;padding:8px 12px}.connect-page .game-titlebar,.piles-page .game-titlebar{grid-template-columns:1fr;align-items:start;gap:4px}.connect-page .game-titlebar p,.piles-page .game-titlebar p{text-align:left;margin-bottom:0}.connect-page .game-hud,.piles-page .game-hud{grid-template-columns:repeat(3,1fr)}.connect-page .board-stage{--connect-tile-base-width: clamp(40px, 8vw, 56px);width:100%}.connect-page .controls,.piles-page .controls{width:min(920px,calc(100vw - 36px));grid-template-columns:repeat(4,minmax(0,1fr))}.connect-page .controls{bottom:20px}.solitaire-page .tile-scale-control,.connect-page .tile-scale-control,.piles-page .tile-scale-control{grid-column:1 / -1;min-height:44px}.solitaire-page .controls button,.connect-page .controls>button,.piles-page .controls>button{min-height:44px;padding-inline:6px;font-size:.76rem;line-height:1.08}.connect-page .controls .icon-control,.piles-page .controls .icon-control{width:auto;min-width:0}.piles-tray-wrap{margin-top:10px}}@media(min-width:641px)and (max-width:860px){.home-hero,.mahjong-hub-hero{padding-top:48px;padding-bottom:44px}.home-hero .hero-copy,.mahjong-hub-hero .hub-hero-copy{max-width:760px}.home-hero .play-recommendation-full,.mahjong-hub-hero .hub-quick-picks{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-width:760px;margin-top:18px}.home-hero .play-recommendation-full a,.mahjong-hub-hero .hub-quick-picks a{min-height:118px;padding:12px 13px}.home-hero .play-recommendation-full .mode-choice-primary,.mahjong-hub-hero .hub-quick-picks .mode-choice-primary{min-height:132px;align-content:center}.home-hero .play-recommendation-full a:not(.mode-choice-primary) small,.mahjong-hub-hero .hub-quick-picks a:not(.mode-choice-primary) small{display:none}.home-hero .play-recommendation-full .choice-meta,.mahjong-hub-hero .hub-quick-picks .choice-meta{gap:4px}.home-hero .play-recommendation-full .choice-meta em,.mahjong-hub-hero .hub-quick-picks .choice-meta em{padding-inline:5px;font-size:.62rem}}@media(max-width:560px){.audio-controls.settings-popover{position:fixed;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:calc(max(8px,env(safe-area-inset-bottom)) + 156px);width:auto;max-height:min(292px,calc(100dvh - 120px));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:9px;overflow-y:auto;overscroll-behavior:contain}.piles-page .audio-controls.settings-popover{bottom:calc(max(8px,env(safe-area-inset-bottom)) + 156px);max-height:min(280px,calc(100dvh - 360px))}.audio-controls button{min-width:0;min-height:38px;padding-inline:8px;font-size:.72rem;line-height:1.08}.audio-slider,.audio-select,.music-name{grid-column:1 / -1}.solitaire-page:has(.settings-popover:not([hidden])) .game-message,.connect-page:has(.settings-popover:not([hidden])) .game-message,.piles-page:has(.settings-popover:not([hidden])) .game-message{opacity:0;pointer-events:none}.piles-page:has(.settings-popover:not([hidden])) .piles-tray-wrap{opacity:0;pointer-events:none}.site-header{align-items:flex-start;flex-direction:column;gap:4px;min-height:0;padding:6px 10px}.brand{display:inline-flex;align-items:center;flex:0 0 auto;width:auto;max-width:100%;min-height:44px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;line-height:1.1}.brand:after{content:none}nav{flex:0 1 auto;flex-wrap:wrap;justify-content:flex-start;gap:3px 6px;min-width:0;width:100%;overflow-x:visible;padding-bottom:0;white-space:normal;font-size:.76rem}nav a{flex:0 0 auto;min-width:44px;min-height:44px;padding:0 7px}body:not(.connect-page):not(.piles-page):not(.solitaire-page) .site-header,.mahjong-hub-page .site-header{align-items:center;flex-direction:row;gap:8px;min-height:44px;padding:5px 10px}body:not(.connect-page):not(.piles-page):not(.solitaire-page) .brand,.mahjong-hub-page .brand{flex:0 0 auto;width:98px;max-width:98px;min-height:44px;font-size:.76rem}body:not(.connect-page):not(.piles-page):not(.solitaire-page) .site-header>nav,.mahjong-hub-page .site-header>nav{flex:1 1 auto;flex-wrap:nowrap;gap:3px;width:auto;min-width:0;overflow-x:auto;white-space:nowrap;scrollbar-width:none}body:not(.connect-page):not(.piles-page):not(.solitaire-page) .site-header>nav a,.mahjong-hub-page .site-header>nav a{min-width:max-content;padding-inline:6px}.home-hero{min-height:auto;padding-top:18px;padding-bottom:14px}.home-hero h1{max-width:8.5ch;margin-bottom:10px;font-size:clamp(3.05rem,13vw,3.75rem)}.home-hero .hero-copy>p:not(.eyebrow):not(.return-note){font-size:.96rem;line-height:1.42}.home-hero .primary-link,.home-hero .secondary-link,.mahjong-hub-hero .primary-link,.mahjong-hub-hero .secondary-link{width:min(100%,320px)}.home-hero .hero-actions{margin-top:12px}.home-hero .return-note,.mahjong-hub-hero .return-note{display:none}.trust-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:12px}.home-hero .trust-strip,.mahjong-hub-hero .trust-strip{display:none}.trust-strip span{display:grid;align-content:center;gap:1px;min-height:34px;padding:5px 8px;font-size:.74rem;line-height:1.08}.trust-strip small{display:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.home-hero .play-recommendation{margin-top:14px}.home-hero .play-recommendation-full a{min-height:88px;padding:9px 10px}.home-hero .play-recommendation-full strong{font-size:.96rem}.home-hero .play-recommendation-full small{display:none}.mode-chooser a{gap:5px}.mode-chooser small{display:none}.choice-meta{gap:4px;margin-top:2px}.home-hero .choice-meta,.mahjong-hub-hero .choice-meta{display:none}.home-resume-panel{gap:6px;margin-top:10px;padding:8px}.home-return-summary{gap:6px;margin-top:8px;padding:8px}.home-return-summary-items{grid-template-columns:repeat(2,minmax(0,1fr))}.home-return-summary-items span{min-height:48px;padding:7px 8px}.home-return-summary-items strong{font-size:.78rem}.home-return-summary-items em{font-size:.64rem}.home-hero:has([data-home-resume-panel]:not([hidden])) .mode-filter,.home-hero:has([data-home-return-summary]:not([hidden])) .mode-filter,.mahjong-hub-hero:has([data-home-resume-panel]:not([hidden])) .mode-filter,.mahjong-hub-hero:has([data-home-return-summary]:not([hidden])) .mode-filter,.home-hero:has([data-home-resume-panel]:not([hidden])) .play-recommendation,.home-hero:has([data-home-return-summary]:not([hidden])) .play-recommendation,.mahjong-hub-hero:has([data-home-resume-panel]:not([hidden])) .hub-quick-picks,.mahjong-hub-hero:has([data-home-return-summary]:not([hidden])) .hub-quick-picks{display:none}.home-resume-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.home-resume-actions a{min-height:46px;padding:7px 8px}.home-hero .mode-filter,.mahjong-hub-hero .mode-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:min(100%,320px);margin-top:10px}.home-hero .mode-filter button,.mahjong-hub-hero .mode-filter button{min-height:44px;padding:6px 8px;border-radius:7px}.home-hero .mode-filter strong,.mahjong-hub-hero .mode-filter strong{font-size:.76rem}.home-hero .mode-filter span,.mahjong-hub-hero .mode-filter span{font-size:.62rem}.home-resume-actions strong{font-size:.78rem}.home-resume-actions span{font-size:.66rem}.choice-meta em{padding:3px 5px;font-size:.61rem}.home-hero .home-tile-scene{display:none}.connect-page .site-header,.piles-page .site-header,.solitaire-page .site-header{align-items:flex-start;flex-direction:column;gap:4px;min-height:0;padding:6px 10px}.connect-page .brand,.piles-page .brand,.solitaire-page .brand{font-size:.86rem}.connect-page nav,.piles-page nav,.solitaire-page nav{flex:0 1 auto;flex-wrap:wrap;justify-content:flex-start;gap:3px 7px;overflow-x:visible;font-size:.76rem;white-space:normal;width:100%}.board-stage{--connect-tile-width: clamp(32px, 9vw, 42px)}.game-hud,.connect-page .game-hud,.piles-page .game-hud{grid-template-columns:repeat(2,1fr)}.connect-page .game-window-header,.piles-page .game-window-header{width:100%;margin-inline:0;padding-inline:10px;border-radius:0}.game-coach{top:126px;right:10px;left:10px;grid-template-columns:minmax(0,1fr) auto;width:auto;padding:8px 8px 8px 10px}.game-coach.is-help-open,.solitaire-coach.is-help-open{top:56px;right:8px;left:8px;width:auto;max-height:108px;padding:7px 8px;overflow-y:auto;overscroll-behavior:contain}.solitaire-coach.is-help-open{top:112px;max-height:104px;overflow:hidden;background:linear-gradient(90deg,rgba(255,232,168,.12),transparent 52%),#00302be6;box-shadow:inset 3px 0 #ffe8a8c2,inset 0 1px #ffffff1a,0 14px 28px #00121047}.game-coach.is-help-open .coach-steps,.solitaire-coach.is-help-open .coach-steps{display:none}.game-coach.is-help-open .coach-copy,.solitaire-coach.is-help-open .coach-copy{-webkit-line-clamp:2}.game-coach.is-help-open .coach-legend,.solitaire-coach.is-help-open .coach-legend{display:flex}.game-coach.is-help-open .coach-legend span,.solitaire-coach.is-help-open .coach-legend span{display:inline-flex;overflow:visible;-webkit-line-clamp:unset;-webkit-box-orient:horizontal}.game-coach.is-help-open button,.solitaire-coach.is-help-open button{min-height:40px}.connect-page .game-coach.is-help-open,.piles-page .game-coach.is-help-open{display:grid;max-height:70px;background:linear-gradient(90deg,rgba(255,232,168,.12),transparent 52%),#00302be6;box-shadow:inset 3px 0 #ffe8a8c2,inset 0 1px #ffffff1a,0 14px 28px #00121047}.connect-page .game-coach.is-help-open{top:164px}.piles-page .game-coach.is-help-open{top:186px}.connect-page .game-coach.is-help-open .coach-legend,.piles-page .game-coach.is-help-open .coach-legend{display:none}.game-coach span{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.72rem}.coach-visual{display:none!important}.game-coach button{min-height:34px;padding-inline:10px;font-size:.7rem}.connect-page .board-stage{--connect-tile-base-width: clamp(34px, 8.9vw, 36px);--connect-tile-width: calc(var(--connect-tile-base-width) * var(--connect-tile-scale));margin:4px auto 184px}.connect-page .controls,.piles-page .controls{grid-template-columns:repeat(4,minmax(0,1fr))}.piles-page .controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;position:fixed;left:50%;width:min(920px,calc(100vw - 36px));margin:0;bottom:max(12px,env(safe-area-inset-bottom));transform:translate(-50%)}.connect-page .tile-scale-control,.piles-page .tile-scale-control{grid-column:1 / -1}.piles-page .tile-scale-control{min-height:44px;padding-block:4px}.connect-page .tile-scale-control input,.piles-page .tile-scale-control input{width:min(260px,48vw)}.piles-page .controls>button{min-height:44px;padding:2px 4px;font-size:.76rem;line-height:1.08}.piles-page .piles-secondary-tools>button{padding-inline:7px}.piles-page .controls .control-cost{min-height:.82rem;line-height:1.18;overflow:visible}.piles-page .game-message{position:fixed;left:50%;transform:translate(-50%);top:auto;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 139px);margin:0;min-height:18px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;line-height:1.05}.solitaire-hud{grid-template-columns:repeat(2,minmax(0,1fr))}.solitaire-board{height:clamp(330px,92vw,440px)}.solitaire-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.solitaire-page .game-hud{grid-template-columns:repeat(2,1fr)}.solitaire-page .game-window-header{border-radius:0}.connect-page .tile:before,.solitaire-page .solitaire-tile:not(.is-denied):not(.is-mismatch):not(.is-clearing-pair):after{content:"";position:absolute;inset:-5px;z-index:6;border-radius:10px;background:#ffffff03;pointer-events:auto}.piles-page .piles-touch-target{display:block;position:absolute;inset:-5px;z-index:6;border-radius:10px;background:#ffffff03;pointer-events:auto}.piles-page .piles-tile:has(.tile-art){overflow:visible}.solitaire-coach{top:138px;right:10px;left:10px;grid-template-columns:minmax(0,1fr) auto;width:auto;padding:8px 8px 8px 10px}.solitaire-coach span{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.72rem}.solitaire-coach button{min-height:34px;padding-inline:10px;font-size:.7rem}.daily-progress{gap:5px;font-size:.58rem}.daily-progress span{gap:4px;padding-inline:4px}.win-panel{padding:16px}.win-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:14px 0}.win-stats span{min-height:48px;padding:7px 4px}.win-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.win-actions button,.win-actions .win-link{min-height:42px;padding-inline:8px}.win-actions button:first-child,.win-actions .win-close{grid-column:1 / -1}.win-actions .win-link{padding-block:6px;text-align:center}.win-actions .win-link strong{font-size:.58rem}.win-actions .win-link span{font-size:.82rem}.win-actions .win-close{min-height:42px;color:#e8fff6c7;font-size:.78rem}.confirm-actions{grid-template-columns:1fr}.solitaire-page .solitaire-board{--solitaire-fit-width: 632;--solitaire-fit-height: 470;height:clamp(300px,82vw,390px);margin:clamp(22px,4vh,42px) auto 144px}.connect-page .game-message,.solitaire-page .game-message{bottom:166px;min-height:20px;padding-inline:4px;font-size:.78rem;line-height:1.15;text-align:center}.solitaire-page .game-message{bottom:172px;width:min(336px,calc(100vw - 36px));min-height:22px;padding:3px 8px 4px;border:1px solid rgba(190,255,235,.22);border-radius:8px;background:#00302c80;box-shadow:inset 0 1px #ffffff1f,0 8px 22px #00141233;color:#f4fff9;overflow:hidden;text-wrap:balance}.connect-page .game-message{bottom:172px;min-height:20px;overflow:hidden;white-space:normal;text-wrap:balance;font-size:.68rem;line-height:1.05}.mode-bridge{bottom:286px;grid-template-columns:repeat(3,minmax(0,1fr));width:min(336px,calc(100vw - 28px));max-width:calc(100vw - 28px);padding:7px 8px;border-radius:12px;font-size:.66rem;gap:6px}.mode-bridge span{grid-column:1 / -1;display:grid;gap:2px;overflow:hidden;text-align:center;white-space:normal}.mode-bridge span:before{justify-self:center}.mode-bridge strong,.mode-bridge small{white-space:normal;text-overflow:clip}.mode-bridge strong{font-size:.72rem}.mode-bridge small{display:-webkit-box;overflow:hidden;font-size:.62rem;-webkit-box-orient:vertical;-webkit-line-clamp:2}.mode-bridge a{min-width:0;min-height:38px;padding:8px 7px;text-align:center;display:grid;place-items:center}.connect-page .controls:has(.settings-popover:not([hidden]))+.game-message,.solitaire-page .controls:has(.settings-popover:not([hidden]))+.game-message,.piles-page .controls:has(.settings-popover:not([hidden]))+.game-message{opacity:0;pointer-events:none}.audio-controls.settings-popover{gap:7px;max-height:min(292px,calc(100dvh - 176px));padding:8px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.solitaire-page .audio-controls.settings-popover{justify-content:flex-start}.connect-page .audio-controls.settings-popover,.piles-page .audio-controls.settings-popover{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;max-height:min(380px,calc(100dvh - 176px))}.audio-controls button{min-width:0;min-height:40px;padding-inline:8px;font-size:.68rem;line-height:1.05}.connect-page .audio-controls button,.piles-page .audio-controls button{width:100%}.audio-slider,.audio-select{min-width:0;min-height:40px;width:100%;gap:6px;padding:6px 8px}.audio-slider span,.audio-select span{font-size:.62rem}.audio-slider input{width:min(84px,28vw)}.audio-select{grid-column:1 / -1}.audio-select select{width:100%;min-height:34px;font-size:.72rem}.audio-controls .audio-loop-toggle,.audio-controls .audio-shuffle-toggle{min-width:0}.audio-controls .audio-shuffle-toggle,.music-name{grid-column:1 / -1}.music-name{font-size:.64rem;line-height:1.15;text-align:center}.solitaire-page .controls{grid-template-columns:repeat(4,minmax(0,1fr))}.solitaire-page .tile-scale-control{grid-column:1 / -1}.solitaire-page .tile-scale-control input{width:min(260px,48vw)}.solitaire-page .controls .icon-control{width:auto;min-width:0}.mahjong-hub-hero{min-height:auto;padding-top:28px;padding-bottom:28px}.play-recommendation{margin-top:18px}.home-hero .play-recommendation-full{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mode-helper{gap:6px}.hub-mode-section .mode-helper{display:none}.mode-helper span{width:100%}.hub-mode-grid,.hub-compare-band,.mode-matrix,.seo-guide-grid,.hub-seo-notes{grid-template-columns:1fr}.mode-matrix{gap:5px}.mode-matrix article{min-height:0;padding:14px}.hub-quick-picks{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.hub-quick-picks a{min-height:70px;padding:10px}.hub-section-heading{align-items:start;flex-direction:column}.hub-mode-card{min-height:280px}.connect-page .controls .icon-control,.piles-page .controls .icon-control{width:auto;min-width:0}.piles-tray-wrap{margin-top:8px}.game-board{grid-template-columns:repeat(var(--board-cols, 8),var(--connect-tile-width));gap:var(--connect-row-gap)}.tile-rank{font-size:clamp(1.05rem,7vw,1.55rem)}.tile-mark{font-size:clamp(.82rem,5vw,1.1rem)}.tile-honor{font-size:clamp(1.65rem,10vw,2.35rem)}.dot-pip{width:clamp(7px,2.8vw,11px);border-width:2px}.bamboo-stick{width:clamp(4px,1.8vw,7px);height:clamp(16px,7vw,25px);border-width:2px}}@media(max-width:560px)and (min-height:820px){.connect-page .controls{bottom:max(58px,env(safe-area-inset-bottom))}.connect-page .game-message{bottom:calc(max(58px,env(safe-area-inset-bottom)) + 154px)}.solitaire-page .solitaire-board{height:clamp(318px,76vw,338px)}.daily-page .solitaire-board{height:clamp(306px,74vw,328px)}.solitaire-page .controls{bottom:max(72px,env(safe-area-inset-bottom))}.solitaire-page .game-message{bottom:calc(max(72px,env(safe-area-inset-bottom)) + 152px)}.daily-page .solitaire-board{margin-top:clamp(58px,8vh,68px)}}@media(max-width:560px)and (max-height:760px){.home-hero,.mahjong-hub-hero{padding-top:14px;padding-bottom:12px}.home-hero h1,.hub-hero-copy h1{margin-bottom:8px;font-size:clamp(2.35rem,11.5vw,3.05rem)}.home-hero .hero-copy>p:not(.eyebrow):not(.return-note),.hub-hero-copy p{font-size:.9rem;line-height:1.34}.home-hero .trust-strip,.mahjong-hub-hero .trust-strip{display:none}.home-hero .hero-actions,.mahjong-hub-hero .hero-actions{margin-top:10px}.home-hero .play-recommendation,.hub-quick-picks{margin-top:12px}.home-hero .play-recommendation-full a,.hub-quick-picks a{min-height:78px;padding:8px}.return-note{margin-top:8px;font-size:.82rem;line-height:1.22}.piles-page .game-window-header{gap:4px;padding:6px 10px}.piles-page .game-titlebar h1{font-size:1.18rem}.piles-page .game-titlebar p{display:none}.connect-page .board-stage{--connect-tile-base-width: clamp(30px, 8.2vw, 32px);--connect-tile-width: calc(var(--connect-tile-base-width) * var(--connect-tile-scale));margin-top:-16px;margin-bottom:214px}.connect-page .game-message{bottom:calc(max(18px,env(safe-area-inset-bottom)) + 154px)}.connect-page .controls{bottom:max(18px,env(safe-area-inset-bottom))}.piles-page .game-hud{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}.piles-page .game-hud span{min-height:24px;padding:1px 2px;gap:3px;font-size:.54rem;line-height:1}.piles-page .game-hud strong{font-size:.94rem}.piles-page .career-row{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.56rem;line-height:1;text-align:left}.piles-page .career-row span+span{display:none}.piles-page .career-track{height:4px;margin-top:4px}.piles-page .game-coach{top:208px;min-height:48px;padding-block:6px}.piles-page .game-coach span{-webkit-line-clamp:1}.piles-page .piles-board{height:clamp(246px,62vw,286px);min-height:clamp(246px,62vw,286px);--piles-tile-base-width: clamp(29px, 7.5vw, 35px);--piles-tile-gap-y: calc(var(--piles-tile-height) * -.42);--piles-origin-y: clamp(102px, calc(16vw + 44px) , 116px)}.piles-page .game-message{top:220px;z-index:21;width:min(320px,calc(100vw - 36px));min-height:22px;padding:4px 8px;border:1px solid rgba(190,255,235,.24);border-radius:999px;background:#00302cb8;box-shadow:0 8px 22px #00141233;text-align:center}.piles-page .piles-tray-wrap{margin-top:4px}.piles-page .piles-tray{min-height:56px;padding:5px}.piles-page .controls{margin-top:4px;margin-bottom:8px}}@media(max-width:860px){.solitaire-page .solitaire-board{--solitaire-tile-base-width: clamp(42px, 7vw, 54px)}}@media(max-width:560px){.solitaire-page .solitaire-board{--solitaire-tile-base-width: clamp(30px, 8vw, 42px)}}@media(max-width:560px)and (max-height:700px){.connect-page .board-stage{--connect-tile-base-width: clamp(24px, 6.9vw, 26px);--connect-tile-width: calc(var(--connect-tile-base-width) * var(--connect-tile-scale));margin-bottom:206px}.connect-page .game-message{bottom:calc(max(18px,env(safe-area-inset-bottom)) + 154px)}.connect-page .controls{bottom:max(18px,env(safe-area-inset-bottom))}}@media(max-width:560px){.piles-page .game-coach{display:none}}@media(max-width:560px){.connect-page .site-header,.piles-page .site-header,.solitaire-page .site-header{align-items:center;flex-direction:row;gap:7px;min-height:40px;padding:4px 10px}.connect-page .brand,.piles-page .brand,.solitaire-page .brand{flex:0 0 auto;width:104px;max-width:104px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;min-height:36px}.connect-page nav,.piles-page nav,.solitaire-page nav{flex:1 1 auto;flex-wrap:nowrap;justify-content:flex-start;gap:2px;min-width:0;overflow-x:auto;white-space:nowrap;font-size:.72rem;scrollbar-width:none}.connect-page nav::-webkit-scrollbar,.piles-page nav::-webkit-scrollbar,.solitaire-page nav::-webkit-scrollbar{display:none}.connect-page nav a,.piles-page nav a,.solitaire-page nav a{min-width:0;min-height:36px;padding:4px 7px;border-radius:10px}.connect-page nav a[aria-current=page],.piles-page nav a[aria-current=page],.solitaire-page nav a[aria-current=page]{background:#b8ffe524;border-color:#b8ffe53d}.solitaire-page .game-window-header,.connect-page .game-window-header,.piles-page .game-window-header{gap:3px;padding:4px 10px}.solitaire-page .game-titlebar{gap:1px}.solitaire-page .game-titlebar h1,.connect-page .game-titlebar h1,.piles-page .game-titlebar h1{font-size:1.08rem;line-height:1.05}.solitaire-page .game-titlebar p,.connect-page .game-titlebar p,.piles-page .game-titlebar p{display:none}.solitaire-page .game-hud,.connect-page .game-hud{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}.solitaire-page:not(.daily-page) .game-hud{grid-template-columns:repeat(4,minmax(0,1fr))}.solitaire-page:not(.daily-page) .solitaire-career-panel{width:100%}.solitaire-page:not(.daily-page) .career-row{gap:1px;font-size:.58rem;line-height:1.02}.solitaire-page:not(.daily-page) .career-row span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.solitaire-page:not(.daily-page) .career-row span+span{display:none}.piles-page .game-hud{grid-template-columns:repeat(4,minmax(0,1fr));gap:2px 3px}.solitaire-page .game-hud span,.connect-page .game-hud span,.piles-page .game-hud span{min-height:20px;padding:1px 2px;gap:2px;font-size:.48rem;line-height:1;white-space:nowrap}.solitaire-page .game-hud strong,.connect-page .game-hud strong,.piles-page .game-hud strong{font-size:.82rem}.connect-page .career-row,.piles-page .career-row{gap:1px;font-size:.58rem;line-height:1.02}.connect-page .career-row span,.piles-page .career-row span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.connect-page .career-row span+span,.piles-page .career-row span+span{display:none}.piles-page .game-hud span:nth-child(n+5){display:none}.connect-page .career-track,.piles-page .career-track{height:4px}.daily-progress{gap:2px}.daily-progress span{min-height:20px;padding:1px 4px;font-size:.52rem;line-height:1}.daily-progress strong{font-size:.72rem}.solitaire-coach,.connect-page .game-coach{display:none}.piles-page .game-message{position:fixed;top:auto;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 262px);left:50%;z-index:25;width:min(336px,calc(100vw - 36px));min-height:34px;padding:5px 10px 6px;border:1px solid rgba(190,255,235,.24);border-radius:8px;background:#00302cad;box-shadow:inset 0 1px #ffffff1f,0 8px 22px #00141233;overflow:hidden;line-height:1.08;white-space:normal;text-align:center;text-wrap:balance;transform:translate(-50%)}.piles-page .piles-tray-wrap{position:fixed;left:50%;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 158px);width:min(540px,calc(100vw - 36px));margin:0;transform:translate(-50%)}.daily-progress{gap:3px}.daily-progress span{min-height:22px;padding:1px 3px}.solitaire-page .solitaire-board{margin:92px auto 126px}.daily-page .solitaire-board{margin-top:clamp(58px,8vh,68px)}}@media(max-width:560px)and (max-height:760px){.solitaire-page .game-titlebar p,.connect-page .game-titlebar p,.piles-page .game-titlebar p{display:none}.solitaire-page .solitaire-board{height:clamp(204px,62vw,292px);margin-top:0}.daily-page .solitaire-board{height:clamp(178px,56vw,270px);margin-top:0}.solitaire-page .game-message{bottom:calc(max(14px,env(safe-area-inset-bottom)) + 152px);min-height:34px;max-height:42px;overflow:hidden;text-overflow:clip;text-wrap:balance;white-space:normal}.solitaire-page .controls{bottom:max(14px,env(safe-area-inset-bottom))}}@media(max-width:430px){body:not(.connect-page):not(.piles-page):not(.solitaire-page) .brand,.mahjong-hub-page .brand{width:86px;max-width:86px;font-size:.68rem}body:not(.connect-page):not(.piles-page):not(.solitaire-page) .site-header,.mahjong-hub-page .site-header{gap:6px;padding-inline:8px}body:not(.connect-page):not(.piles-page):not(.solitaire-page) .site-header>nav,.mahjong-hub-page .site-header>nav{gap:2px}body:not(.connect-page):not(.piles-page):not(.solitaire-page) .site-header>nav a,.mahjong-hub-page .site-header>nav a{min-width:36px;min-height:36px;padding-inline:4px;font-size:.66rem}.connect-page .brand,.piles-page .brand,.solitaire-page .brand{flex:0 0 auto;width:86px;max-width:86px;font-size:.68rem}.connect-page .site-header nav,.piles-page .site-header nav,.solitaire-page .site-header nav{justify-content:flex-start;gap:2px;padding-right:4px}.connect-page .site-header nav a[href="/mahjong/"],.piles-page .site-header nav a[href="/mahjong/"],.solitaire-page .site-header nav a[href="/mahjong/"]{display:inline-flex}.connect-page .site-header nav a,.piles-page .site-header nav a,.solitaire-page .site-header nav a{min-width:36px;min-height:36px;padding-inline:4px;font-size:.66rem}.connect-page .site-header nav a[aria-current=page],.piles-page .site-header nav a[aria-current=page],.solitaire-page .site-header nav a[aria-current=page]{order:-1}}@media(max-width:380px){.piles-page .piles-tray-wrap{margin-bottom:20px}.piles-page .game-message{display:block;width:min(324px,calc(100vw - 36px));min-height:34px;max-height:42px;margin:4px auto 0;padding:3px 8px 4px;overflow:hidden;border:1px solid rgba(190,255,235,.2);border-radius:8px;background:#00302c80;color:#f4fff9;font-size:.7rem;line-height:1.15;text-align:center;text-wrap:balance;white-space:normal}.piles-page .controls{margin-top:32px}.connect-page .board-stage{--connect-tile-base-width: clamp(34px, 8.8vw, 35px);--connect-tile-width: calc(var(--connect-tile-base-width) * var(--connect-tile-scale));margin-bottom:190px}.connect-page .game-board{min-height:calc(var(--connect-tile-width) * 4 / 3 * 8 + var(--connect-row-gap) * 7)}.piles-page .controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.piles-page .piles-tools-toggle{display:block}.piles-page .piles-secondary-tools{grid-column:1 / -1;display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.piles-page .piles-secondary-tools.is-open{display:grid;position:absolute;right:0;bottom:calc(100% + 2px);left:0;z-index:3;padding:6px;border:1px solid rgba(190,255,232,.24);border-radius:8px;background:#00302cdb;box-shadow:inset 0 1px #ffffff1f,0 16px 32px #0012104d}.piles-page .piles-secondary-tools>button{min-height:44px;padding:2px 4px;font-size:.68rem;line-height:1.08}.piles-page .controls>button{min-height:44px;padding:2px 4px;font-size:.68rem;line-height:1.08}.piles-page .tile-scale-control{min-height:44px}.connect-page .tile-scale-control span,.piles-page .tile-scale-control span,.solitaire-page .tile-scale-control span{font-size:0}.connect-page .tile-scale-control span:after,.piles-page .tile-scale-control span:after,.solitaire-page .tile-scale-control span:after{content:"Size";font-size:.86rem}.connect-page .controls>button{font-size:.74rem}}@media(max-width:380px)and (max-height:760px){.piles-page .game-message{position:fixed;top:auto;bottom:calc(max(18px,env(safe-area-inset-bottom)) + 146px);left:50%;min-height:20px;max-height:22px;padding:3px 8px;border-radius:999px;font-size:.58rem;line-height:1.05;text-overflow:ellipsis;text-wrap:auto;white-space:nowrap;transform:translate(-50%)}}@media(min-width:381px)and (max-width:560px)and (max-height:760px){.piles-page .game-message{bottom:calc(max(12px,env(safe-area-inset-bottom)) + 142px)}}@media(max-width:380px)and (max-height:820px){.piles-page .piles-board{height:clamp(232px,69vw,266px);min-height:clamp(232px,69vw,266px);--piles-tile-base-width: clamp(30px, 8.1vw, 35px);--piles-tile-gap-y: calc(var(--piles-tile-height) * -.48);--piles-origin-y: clamp(88px, calc(12vw + 50px) , 106px)}.piles-page .game-message{position:fixed;top:auto;bottom:calc(max(18px,env(safe-area-inset-bottom)) + 146px);left:50%;transform:translate(-50%)}}@media(max-width:380px)and (max-height:760px){.piles-page .game-message{bottom:calc(max(18px,env(safe-area-inset-bottom)) + 146px)}}@media(max-width:560px){.piles-page .piles-tools-toggle{display:block}.piles-page .piles-secondary-tools{grid-column:1 / -1;display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.piles-page .piles-secondary-tools.is-open{display:grid;position:absolute;right:0;bottom:calc(100% + 2px);left:0;z-index:3;padding:6px;border:1px solid rgba(190,255,232,.24);border-radius:8px;background:#00302cdb;box-shadow:inset 0 1px #ffffff1f,0 16px 32px #0012104d}.piles-page .controls{row-gap:5px}.connect-page .brand,.piles-page .brand,.solitaire-page .brand{width:94px;max-width:94px;font-size:.76rem}.connect-page .brand:after,.piles-page .brand:after,.solitaire-page .brand:after{content:none}}@media(max-width:380px)and (max-height:700px){.connect-page .board-stage{--connect-tile-base-width: clamp(24px, 6.9vw, 26px);--connect-tile-width: calc(var(--connect-tile-base-width) * var(--connect-tile-scale));margin-bottom:206px}}@media(max-width:380px)and (max-height:760px){.audio-controls.settings-popover{gap:4px;max-height:min(398px,calc(100dvh - 166px));padding:6px}.audio-controls button{min-height:34px;padding:2px 6px;font-size:.64rem}.audio-slider,.audio-select{min-height:36px;gap:5px;padding:4px 6px}.audio-slider input{min-height:24px}.audio-select select{min-height:30px;font-size:.68rem}.music-name{font-size:.6rem;line-height:1.05}.piles-page .piles-board{height:clamp(176px,54vw,208px);min-height:clamp(176px,54vw,208px);--piles-tile-base-width: clamp(24px, 6.5vw, 28px);--piles-origin-y: clamp(48px, calc(8vw + 28px) , 58px)}.piles-page .game-message{top:auto;bottom:calc(max(18px,env(safe-area-inset-bottom)) + 146px);min-height:20px;max-height:22px;padding-block:3px}.piles-page .piles-tray-wrap{bottom:168px}}@media(min-width:861px){.piles-page .piles-hud{grid-template-columns:repeat(7,minmax(54px,1fr))}}@media(hover:none)and (pointer:coarse){nav a:hover{transform:none}.controls button:hover,.solitaire-page .controls button:hover{transform:none;box-shadow:inset 0 1px #ffffff38,inset 0 -1px #00121052,0 9px 18px #0014123d}.controls button:disabled:hover,.controls button[aria-disabled=true]:hover,.solitaire-page .controls button:disabled:hover,.solitaire-page .controls button[aria-disabled=true]:hover{transform:none;box-shadow:inset 0 1px #ffffff0d,0 3px 8px #0012101f;filter:saturate(.48) brightness(.78)}.controls button:active,.solitaire-page .controls button:active{transform:translateY(2px) scale(.988);box-shadow:inset 0 1px #ffffff1a,inset 0 -1px #00121038,0 4px 10px #00141238}.controls button:disabled:active,.controls button[aria-disabled=true]:active,.solitaire-page .controls button:disabled:active,.solitaire-page .controls button[aria-disabled=true]:active{transform:none}.tile:not(.selected):not(.hinted):not(.matching):hover{transform:translateY(0) scale(1)}.tile:not(.selected):not(.hinted):not(.matching):active{transform:translateY(-2px) scale(1.012)}.solitaire-tile.is-open:not(.selected):not(.hinted):not(.is-candidate):hover{transform:translateY(0) scale(1)}.solitaire-tile.is-open:not(.selected):not(.hinted):not(.is-candidate):active{transform:translateY(-2px) scale(1.012)}.daily-page .solitaire-tile.is-open:not(.selected):not(.hinted):not(.is-candidate):hover{transform:translateZ(calc(var(--z) * 12px)) scale(1)}.daily-page .solitaire-tile.is-open:not(.selected):not(.hinted):not(.is-candidate):active{transform:translateZ(calc(var(--z) * 12px + 4px)) translateY(-2px) scale(1.012)}.piles-tile.is-open:not(.is-hinted):hover{transform:translateY(var(--layer-lift, 0px)) scale(1)}.piles-tile.is-open:not(.is-hinted):active{transform:translateY(calc(var(--layer-lift, 0px) - 3px)) scale(1.012)}}@media(min-width:861px){.home-hero.playable-hero{grid-template-columns:minmax(320px,.72fr) minmax(420px,.9fr)}.home-hero.playable-hero .hero-copy{align-self:center}.home-hero.playable-hero .home-spotlight{width:min(100%,760px);justify-self:end}.mahjong-hub-hero.playable-hero{align-items:center}}@media(min-width:641px)and (max-width:980px){.home-hero.playable-hero,.mahjong-hub-hero.playable-hero{grid-template-columns:1fr}.home-hero.playable-hero .home-spotlight,.mahjong-hub-hero.playable-hero .home-spotlight{width:min(100%,760px);justify-self:start}.mode-preview-grid,.mode-preview-grid-four,.learning-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.home-hero.playable-hero,.mahjong-hub-hero.playable-hero{grid-template-columns:1fr;gap:16px;min-height:auto;padding:18px 12px 20px}.mahjong-hub-hero.playable-hero{padding-top:22px;padding-bottom:22px}.home-hero.playable-hero h1,.mahjong-hub-hero.playable-hero h1{max-width:10ch;font-size:clamp(2.7rem,12vw,3.55rem)}.home-hero.playable-hero .hero-copy>p:not(.eyebrow):not(.return-note),.mahjong-hub-hero.playable-hero .hub-hero-copy p{max-width:34ch;font-size:.95rem;line-height:1.38}.home-hero.playable-hero .hero-actions,.mahjong-hub-hero.playable-hero .hero-actions{margin-top:12px}.home-hero.playable-hero .primary-link,.mahjong-hub-hero.playable-hero .primary-link{width:min(100%,330px)}.home-spotlight,.hub-spotlight{width:100%;justify-self:stretch}.spotlight-caption{padding:10px 11px 11px}.spotlight-caption strong{font-size:1rem}.spotlight-caption small{font-size:.78rem}.play-index-band,.hub-mode-section{padding-top:24px}.mode-preview-grid,.mode-preview-grid-four,.learning-panel,.hub-seo-notes{grid-template-columns:1fr}.mode-preview-grid{gap:12px}.mode-preview-card>span{padding:9px 10px 10px}.mode-preview-card strong{font-size:1rem}.mode-preview-card small{font-size:.76rem}.learning-panel{gap:16px}.learning-panel article{gap:6px}.learning-panel p{font-size:.88rem}}@media(min-width:861px){.connect-page .game-hud{grid-template-columns:repeat(6,minmax(54px,1fr))}.daily-page .solitaire-hud{grid-template-columns:repeat(6,minmax(64px,1fr))}.solitaire-page:not(.daily-page) .solitaire-hud,.piles-page .piles-hud{grid-template-columns:repeat(8,minmax(54px,1fr))}}@media(max-width:640px){.connect-page .game-hud,.daily-page .solitaire-hud{grid-template-columns:repeat(3,minmax(0,1fr))}.solitaire-page:not(.daily-page) .solitaire-hud,.piles-page .piles-hud{grid-template-columns:repeat(4,minmax(0,1fr))}}.solitaire-page:not(.daily-page) .solitaire-board{--solitaire-layer-x: calc(var(--solitaire-tile-width) * .045);--solitaire-layer-y: calc(var(--solitaire-tile-height) * -.04)}@media(min-width:861px)and (min-height:821px){.solitaire-page:not(.daily-page) .solitaire-board{--solitaire-tile-base-width: clamp(44px, min(5.2vw, 5.6vh), 62px);margin-top:12px}}@media(min-width:861px)and (min-height:641px)and (max-height:820px){.solitaire-page:not(.daily-page) .solitaire-board{--solitaire-tile-base-width: clamp(38px, min(5.2vw, 5.6vh), 50px);margin-top:12px}.solitaire-page:not(.daily-page) .controls{bottom:32px}.solitaire-page:not(.daily-page) .game-message{bottom:4px}}@media(min-width:861px)and (max-height:640px){.solitaire-page:not(.daily-page) .solitaire-board{--solitaire-tile-base-width: clamp(36px, min(5.2vw, 5.6vh), 46px);margin:12px auto 14px}.solitaire-page:not(.daily-page) .controls,.solitaire-page:not(.daily-page) .game-message{position:relative;left:auto;bottom:auto;transform:none}.solitaire-page:not(.daily-page) .controls{margin:8px auto 0}.solitaire-page:not(.daily-page) .game-message{margin:6px auto 0}}@media(max-width:860px){.solitaire-page:not(.daily-page) .game-window-header{grid-template-columns:minmax(0,1fr);width:100%;min-width:0;min-height:0}.solitaire-page:not(.daily-page) .game-titlebar,.solitaire-page:not(.daily-page) .game-hud,.solitaire-page:not(.daily-page) .solitaire-career-panel{min-width:0;max-width:100%}.solitaire-page:not(.daily-page) .solitaire-board{width:min(960px,calc(100vw - 24px));max-width:calc(100vw - 24px);min-width:0}}.piles-board-viewport{position:relative;width:min(100%,1120px);height:clamp(320px,calc(100vh - 430px),535px);min-width:0;min-height:0;margin:clamp(14px,2.2vw,28px) auto 0;overflow:auto;overscroll-behavior:contain;scrollbar-color:rgba(126,231,199,.58) rgba(0,48,44,.3);scrollbar-width:thin;touch-action:pan-x pan-y}.connect-page .board-stage{--connect-tile-height: calc(var(--connect-tile-width) * 783 / 567);--connect-tile-gap-x: calc(var(--connect-tile-width) * -.194);--connect-tile-gap-y: calc(var(--connect-tile-height) * -.105);--connect-step-x: calc(var(--connect-tile-width) + var(--connect-tile-gap-x));--connect-step-y: calc(var(--connect-tile-height) + var(--connect-tile-gap-y));--connect-row-gap: 0px;min-height:calc(var(--connect-step-y) * 7 + var(--connect-tile-height))}.connect-page .game-board{grid-template-columns:repeat(var(--board-cols, 8),var(--connect-step-x));grid-auto-rows:var(--connect-step-y);gap:0;min-height:calc(var(--connect-step-y) * 7 + var(--connect-tile-height))}.connect-page .tile,.connect-page .tile-space{width:var(--connect-tile-width);max-width:none;height:var(--connect-tile-height);aspect-ratio:auto}.piles-page .piles-board{--piles-tile-gap-x: calc(var(--piles-tile-width) * -56 / 567);--piles-tile-gap-y: calc(var(--piles-tile-height) * -40 / 783);width:max(100%,calc(var(--piles-layout-span-x, 6) * var(--piles-step-x) + var(--piles-tile-width) * 2 + 64px));max-width:none;min-width:100%;min-height:calc(var(--piles-origin-y) + var(--piles-layout-span-y, 5) * var(--piles-step-y) + var(--piles-tile-height) + 32px);margin:0 auto}@media(min-width:861px){.piles-board-viewport{align-self:stretch;height:calc(100% - clamp(14px,2.2vw,28px))}.piles-page .piles-board{--piles-board-edge-gap: 24px;--piles-origin-y: max( var(--piles-board-edge-gap), calc( 100% - var(--piles-layout-span-y, 5) * var(--piles-step-y) - var(--piles-tile-height) - var(--piles-board-edge-gap) ) );min-height:max(100%,calc(var(--piles-layout-span-y, 5) * var(--piles-step-y) + var(--piles-tile-height) + var(--piles-board-edge-gap) + var(--piles-board-edge-gap)))}}.piles-board.is-rescue-shuffling .piles-tile{animation:pilesRescueShuffle .68s both cubic-bezier(.2,.8,.2,1);animation-delay:calc(var(--enter-index, 0) * 4ms)}@keyframes pilesRescueShuffle{0%{opacity:1;transform:translateY(var(--layer-lift, 0px)) scale(1)}42%{opacity:.38;transform:translateY(calc(var(--layer-lift, 0px) - 12px)) scale(.9) rotate(2deg);filter:brightness(1.35) saturate(1.25) drop-shadow(0 0 16px rgba(255,225,123,.78))}to{opacity:1;transform:translateY(var(--layer-lift, 0px)) scale(1)}}@media(max-width:860px){.piles-board-viewport{width:100%;height:clamp(232px,62vw,360px);margin-top:4px}}@media(max-width:380px)and (max-height:760px){.piles-board-viewport{height:clamp(176px,54vw,232px)}}@media(prefers-reduced-motion:reduce){.piles-board.is-rescue-shuffling .piles-tile{animation-duration:80ms;animation-delay:0ms}}@media(min-width:861px){.connect-page .controls{width:min(850px,calc(100vw - 48px));grid-template-columns:minmax(164px,220px) repeat(4,minmax(86px,1fr)) repeat(2,52px);gap:6px}}@media(min-width:1121px){.piles-page .controls{width:min(940px,calc(100vw - 64px));grid-template-columns:minmax(174px,190px) repeat(3,minmax(70px,1fr)) minmax(344px,350px) repeat(2,52px);gap:6px}}@media(min-width:861px)and (max-width:1120px){.piles-page .controls{width:min(640px,calc(100vw - 48px));grid-template-columns:minmax(174px,190px) repeat(4,minmax(70px,1fr)) repeat(2,52px);gap:6px}}@media(min-width:861px){.connect-page .controls>.icon-control,.piles-page .controls>.icon-control,.solitaire-page .controls>.icon-control{width:100%;min-width:0;padding-inline:4px}.solitaire-page:not(.daily-page) .controls{width:min(850px,calc(100vw - 48px));grid-template-columns:minmax(148px,190px) repeat(3,minmax(86px,1fr)) repeat(2,52px);gap:6px}}@media(max-width:860px){.solitaire-page:not(.daily-page) .controls{grid-template-columns:repeat(5,minmax(0,1fr))}}
