:root{font-family:ui-rounded,SF Pro Rounded,ui-sans-serif,system-ui,sans-serif;color:#f7f9ff;background:#090d18;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 70% -10%,#1b2948 0,transparent 32rem),#090d18}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}.app-shell{width:min(1180px,100%);min-height:100vh;margin:auto;padding:calc(20px + env(safe-area-inset-top)) clamp(18px,4vw,48px) calc(34px + env(safe-area-inset-bottom))}.site-header{height:48px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:900;letter-spacing:.08em;color:#f7f9ff;text-decoration:none}.brand span{color:#70f0c2}.icon-button,.close-button{width:44px;height:44px;border:1px solid #273149;border-radius:50%;background:#12192a;color:#f7f9ff;font-size:1.25rem}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;min-height:390px;padding:54px 0 34px}.eyebrow{margin:0 0 8px;color:#70f0c2;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em}.hero h1,.game-title h1,.not-found h1{margin:0;font-size:clamp(2.7rem,6vw,5.7rem);line-height:.98;letter-spacing:-.065em}.hero h1 em{color:#70f0c2;font-style:normal}.hero-copy{max-width:470px;color:#a8b1c5;font-size:1.08rem;line-height:1.6;margin:24px 0}.primary-button,.secondary-button{min-height:44px;padding:10px 16px;border-radius:12px;border:1px solid transparent;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;gap:12px;justify-content:center}.primary-button{background:#70f0c2;color:#071712}.secondary-button{background:#12192a;color:#f7f9ff;border-color:#273149}.hero-orb{justify-self:center;width:min(290px,62vw);aspect-ratio:1;border-radius:34% 66% 45% 55%;display:grid;place-items:center;background:linear-gradient(135deg,#70f0c2,#8b7cff);box-shadow:0 20px 80px #70f0c23b;transform:rotate(-12deg)}.hero-orb span{font-size:clamp(3rem,9vw,6.5rem);font-weight:900;color:#090d18;transform:rotate(12deg)}.section{margin-top:44px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px}.section h2,.related h2{margin:0;font-size:1.65rem;letter-spacing:-.04em}.search{display:flex;gap:8px;align-items:center;color:#a8b1c5;background:#12192a;border:1px solid #273149;border-radius:12px;padding:0 12px;height:44px}.search input{width:150px;border:0;outline:0;background:transparent;color:#f7f9ff}.filters{display:flex;gap:8px;overflow:auto;padding:20px 0}.filter{min-height:40px;white-space:nowrap;padding:0 14px;border:1px solid #273149;border-radius:999px;background:transparent;color:#a8b1c5}.filter.is-active{background:#f7f9ff;color:#090d18;border-color:#f7f9ff}.games-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.game-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,1fr);gap:16px;overflow:auto;padding:16px 2px 5px}.game-card{min-width:0;border:1px solid #273149;border-radius:18px;background:#12192a;overflow:hidden;box-shadow:0 8px 25px #0000001c;transition:transform .16s ease,border-color .16s ease}.game-card:hover{transform:translateY(-3px);border-color:#52617f}.game-card a{color:inherit;text-decoration:none}.cover{height:132px;display:grid;place-items:center;position:relative;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 80%,#10162a),#182039);overflow:hidden}.cover:before,.cover:after{content:"";position:absolute;border:1px solid #ffffff36;border-radius:50%;width:85%;aspect-ratio:1}.cover:after{width:48%;transform:translate(55%,45%)}.cover span{position:relative;z-index:1;color:#090d18;font-size:2.3rem;font-weight:900;letter-spacing:-.1em}.cover small{position:absolute;z-index:1;right:9px;bottom:8px;padding:3px 6px;border-radius:6px;background:#090d18bd;color:#f7f9ff;font-size:.64rem}.card-info{padding:13px 14px 15px}.card-info p,.card-info span{margin:0;color:#a8b1c5;font-size:.75rem}.card-info h3{margin:4px 0 8px;font-size:1.05rem}.play-page{padding-top:25px}.back-link{display:inline-block;color:#a8b1c5;margin-bottom:24px;text-decoration:none}.game-title{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:25px}.game-title h1{font-size:clamp(2.6rem,5vw,4.5rem)}.game-title>div>p:not(.eyebrow){color:#a8b1c5;margin:8px 0 0}.play-actions{display:flex;gap:8px;flex-wrap:wrap}.stage-wrap{position:relative;min-height:430px;border:1px solid #273149;border-radius:22px;background:#12192a;overflow:hidden;display:grid;place-items:center}.game-stage{width:100%;min-height:430px;display:grid;place-items:center;padding:clamp(16px,4vw,36px)}.stage-loading,.stage-message{color:#a8b1c5}.pause-overlay{position:absolute;inset:0;z-index:3;display:grid;place-content:center;justify-items:center;gap:14px;background:#090d18dd;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pause-overlay p{font-size:2rem;font-weight:900;margin:0}.help-sheet{position:fixed;z-index:5;inset:auto max(18px,4vw) 20px auto;width:min(350px,calc(100vw - 36px));padding:24px;border:1px solid #273149;border-radius:18px;background:#182038;box-shadow:0 20px 50px #0009}.help-sheet h2{margin:0 0 8px}.help-sheet>p:last-child{color:#a8b1c5;line-height:1.5}.close-button{float:right}.related{margin-top:38px}.merge-game{width:min(100%,440px);display:grid;gap:14px}.game-hud{display:flex;justify-content:space-between;color:#a8b1c5;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.game-hud strong{display:block;color:#f7f9ff;font-size:1.35rem;letter-spacing:0}.merge-board{width:min(100%,440px);aspect-ratio:1;display:grid;grid-template:repeat(4,1fr)/repeat(4,1fr);gap:9px;padding:9px;border-radius:18px;background:#273149;touch-action:none;outline:0}.merge-board:focus-visible{outline:3px solid #70F0C2;outline-offset:4px}.merge-tile{min-width:0;display:grid;place-items:center;border-radius:10px;background:#182039;color:#f7f9ff;font-size:clamp(1.15rem,7vw,2.4rem);font-weight:900;letter-spacing:-.08em}.tile-2{background:#e8f9f1;color:#17241f}.tile-4{background:#baf4df;color:#17241f}.tile-8{background:#70f0c2;color:#17241f}.tile-16{background:#a2d4ff;color:#17243c}.tile-32{background:#8b7cff}.tile-64{background:#b99bff}.tile-128,.tile-256{background:#ffb06b;color:#401a15}.tile-512,.tile-1024,.tile-2048{background:#ff6b7a}.game-status{min-height:1.2em;margin:0;text-align:center;color:#70f0c2;font-size:.9rem}.not-found{display:grid;justify-items:start;gap:15px;padding:22vh 0}.not-found h1{font-size:clamp(2.4rem,6vw,5rem)}[hidden]{display:none!important}@media(max-width:720px){.hero{grid-template-columns:1fr;min-height:0;padding-top:45px}.hero-orb{display:none}.games-grid{grid-template-columns:repeat(2,1fr);gap:12px}.cover{height:112px}.game-title{display:block}.play-actions{margin-top:20px}.stage-wrap,.game-stage{min-height:390px}.section-heading{align-items:flex-start}.search{flex:1}.search input{min-width:0;width:100%}}@media(max-width:380px){.app-shell{padding-inline:14px}.games-grid{gap:9px}.card-info{padding:10px}.cover{height:96px}.play-actions>*{flex:1}.merge-board{gap:6px;padding:6px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.category-promise,.recommended-copy{margin:6px 0 0;color:#a8b1c5;line-height:1.45}.results-status{margin:0 0 12px;color:#a8b1c5;font-size:.86rem}.filter span{margin-left:4px;opacity:.7;font-variant-numeric:tabular-nums}.filter:focus-visible,.trait-chip:focus-visible{outline:3px solid #70F0C2;outline-offset:2px}.card-category{color:#70f0c2!important;font-size:.68rem!important;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.trait-chips{display:flex;gap:6px;flex-wrap:wrap}.trait-chip{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border:1px solid #33415e;border-radius:999px;color:#c6cee0;background:#182039;font-size:.68rem;line-height:1.2}.card-mechanic{margin:9px 0 7px!important;color:#a8b1c5!important}.empty-state{margin-top:16px;padding:30px;border:1px dashed #3a4866;border-radius:18px;background:#101727;text-align:center}.empty-state h3{margin:0 0 6px}.empty-state p{margin:0;color:#a8b1c5}.breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:24px;color:#a8b1c5;font-size:.9rem}.breadcrumb a{color:#a8b1c5;text-decoration:none}.breadcrumb a:hover{color:#70f0c2}.game-kicker{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.game-kicker .eyebrow{margin:0}.recommended-copy{max-width:540px}.related .game-rail{grid-auto-columns:minmax(210px,1fr)}@media(max-width:720px){.filters,.trait-chips{flex-wrap:nowrap}.filters{padding-bottom:16px}.trait-chips{overflow-x:auto;max-width:100%;padding-bottom:2px}.game-kicker{align-items:flex-start}.category-promise{max-width:34rem}.related .game-rail{grid-auto-columns:minmax(190px,78vw)}}.cover-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.cover:before{inset:0;width:auto;aspect-ratio:auto;border:0;border-radius:0;z-index:1;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 32%,transparent),#090d187a)}.cover:after{display:none}.cover-glyph{display:none}.cover.is-art-fallback:before{inset:auto;width:85%;aspect-ratio:1;border:1px solid #ffffff36;border-radius:50%;background:transparent}.cover.is-art-fallback:after{display:block;width:48%;aspect-ratio:1;border:1px solid #ffffff36;border-radius:50%;z-index:1}.cover.is-art-fallback .cover-image{display:none}.cover.is-art-fallback .cover-glyph{display:block}.cover small{z-index:2}.game-heading{display:flex;align-items:center;gap:14px;min-width:0}.game-heading h1{min-width:0}.game-logo{width:clamp(56px,6vw,64px);height:clamp(56px,6vw,64px);object-fit:cover;flex:0 0 auto;border-radius:18px;border:1px solid #ffffff2e;background:#182039}@media(max-width:720px){.game-heading{gap:10px}.game-logo{width:56px;height:56px;border-radius:16px}.game-heading h1{font-size:clamp(2.15rem,10vw,3.25rem)}}.mobile-controls{display:flex;gap:10px;justify-content:center;align-items:center;padding:max(10px,env(safe-area-inset-bottom)) 8px 4px}.mobile-control,.stage-pause{min-width:52px;min-height:52px;border:1px solid #52617f;border-radius:14px;background:#182039;color:#f7f9ff;font-weight:800;touch-action:none}.mobile-control:active{background:#70f0c2;color:#071712}.mobile-controls--single-action .mobile-control{min-width:96px;min-height:64px}.stage-pause{position:absolute;z-index:4;top:12px;right:12px;min-width:44px;min-height:44px;border-radius:50%}@media(min-width:721px){.mobile-controls{display:none}}.mobile-controls--dual-action{flex-wrap:wrap}.mobile-stick{width:110px;height:110px;flex:0 0 110px;position:relative;border:1px solid #52617f;border-radius:50%;background:radial-gradient(circle,#263653 0 30%,#182039 32%);touch-action:none}.mobile-stick span{position:absolute;left:50%;top:50%;width:42px;height:42px;margin:-21px;border-radius:50%;background:#70f0c2;box-shadow:0 3px 12px #0008;will-change:transform;pointer-events:none}.mobile-controls--stick-action{justify-content:space-between}@media(orientation:landscape)and (max-height:600px){.mobile-controls{padding-top:4px}.mobile-controls--dual-action{justify-content:space-between}.mobile-controls--stick-action{position:absolute;inset:auto 12px 8px;pointer-events:none}.mobile-controls--stick-action>*{pointer-events:auto}}.header-actions{display:flex;align-items:center;gap:.65rem}.account-button{border:1px solid #273149;background:transparent;color:#f7f9ff;border-radius:999px;padding:.6rem .9rem;font:inherit;font-weight:750;cursor:pointer}.player-name{color:#a8b1c5;font-size:.88rem}.auth-notice{margin:0 auto 1rem;max-width:720px;padding:.75rem 1rem;border-radius:12px;background:#ff6b7a22;color:#ff9baa;text-align:center}.leaderboard{list-style:none;padding:0;margin:1.2rem 0 0;border:1px solid #273149;border-radius:20px;overflow:hidden;background:#12192a}.leaderboard li{display:grid;grid-template-columns:2.5rem minmax(8rem,1fr) auto auto;align-items:center;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid #273149}.leaderboard li:last-child{border-bottom:0}.leaderboard .rank{color:#70f0c2;font-weight:900}.leaderboard li>span:not(.rank){color:#a8b1c5;font-size:.85rem}.leaderboard li b{font-variant-numeric:tabular-nums}.leaderboard .leaderboard-empty{display:block;color:#a8b1c5;text-align:center}.share-status{min-height:1.4rem;margin:.5rem 0 0;color:#a8b1c5;text-align:center}.start-screen{min-height:min(72vh,600px);display:grid;place-content:center;justify-items:center;gap:.75rem;padding:2rem;text-align:center;background:radial-gradient(circle at 50% 35%,#2d3556,#0b1020 68%)}.start-screen img{width:96px;height:96px;border-radius:22px;object-fit:cover}.start-screen h2,.start-screen p{margin:0}.start-screen p{color:#a8b1c5}.game-stage:fullscreen{width:100vw;height:100vh;max-width:none;display:grid;place-items:center;background:#090d18;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.game-stage:fullscreen>*{max-height:100vh}@media(max-width:620px){.player-name{display:none}.account-button{padding:.5rem .7rem}.leaderboard li{grid-template-columns:2rem 1fr auto;gap:.55rem}.leaderboard li>span:not(.rank){display:none}}.share-fallback{width:min(560px,100%);margin:0 auto 1.25rem;padding:16px;border:1px solid #33415e;border-radius:16px;background:#12192a}.share-fallback p{margin:0 0 10px;color:#f7f9ff;font-weight:800}.share-link-row{display:flex;gap:8px}.share-link-row input{min-width:0;flex:1;height:44px;padding:0 12px;border:1px solid #52617f;border-radius:10px;background:#090d18;color:#f7f9ff}.share-link-row input:focus{outline:3px solid #70F0C2;outline-offset:2px}.share-fallback-close{display:block;margin:10px auto 0;border:0;background:transparent;color:#a8b1c5;text-decoration:underline}@media(max-width:520px){.share-link-row{align-items:stretch;flex-direction:column}}.game-immersive{overflow:hidden}.game-stage.is-immersive{position:fixed;z-index:1000;inset:0;width:100vw;height:100dvh;min-height:100dvh;max-width:none;border-radius:0;background:#090d18;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));overflow:auto;overscroll-behavior:none}.game-stage.is-immersive>*{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.immersive-exit{position:fixed;z-index:1010;top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));width:44px;height:44px;border:1px solid #52617f;border-radius:50%;background:#090d1dcc;color:#f7f9ff;font-size:1.55rem;line-height:1}
