@font-face{font-family:Archivo Variable;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/gems/fonts/archivo-latin-wdth-normal.woff2) format("woff2-variations")}@font-face{font-family:Manrope Variable;font-weight:200 800;font-display:swap;src:url(/gems/fonts/manrope-latin-wght-normal.woff2) format("woff2-variations")}:root{--ink: #070a12;--panel: #0e1424;--panel-2: #141d33;--line: rgba(255, 255, 255, .08);--line-2: rgba(255, 255, 255, .14);--text: #eef2fb;--muted: #9aa7c0;--accent: #4d9aff;--accent-hi: #8fc0ff;--mint: #4fe3ae;--gold: #f5c25b;--rose: #ff7a9a;--display: "Archivo Variable", "Archivo", ui-sans-serif, system-ui, sans-serif;--body: "Manrope Variable", "Manrope", ui-sans-serif, system-ui, -apple-system, sans-serif;--p: 44px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none}body{background:var(--ink);color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none}#app{position:fixed;inset:0;overflow:hidden;background:radial-gradient(120% 70% at 50% -10%,rgba(47,107,255,.28),transparent 60%),radial-gradient(90% 60% at 100% 110%,rgba(79,227,174,.12),transparent 60%),var(--ink)}button{font:inherit;color:inherit;cursor:pointer;border:none;background:none}button:disabled{cursor:default}svg{overflow:visible}.screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;padding:calc(14px + var(--safe-top)) calc(16px + var(--safe-right)) calc(14px + var(--safe-bottom)) calc(16px + var(--safe-left))}.c0{--gc: #ff7a9a}.c1{--gc: #ff9f5a}.c2{--gc: #f5c25b}.c3{--gc: #4fe3ae}.c4{--gc: #6fa8ff}.c5{--gc: #a98bff}.gem{position:absolute;left:0;top:0;width:var(--p);height:var(--p);will-change:transform;pointer-events:none}.face{position:absolute;inset:4%}.face>svg{position:relative;display:block;width:100%;height:100%}.gem.sel:before{content:"";position:absolute;inset:1%;border-radius:26%;border:2px solid rgba(255,255,255,.9);background:#8fc0ff24;box-shadow:0 0 14px #8fc0ffbf,inset 0 0 10px #8fc0ff66}.gem.sel .face{transform:scale(1.1);filter:brightness(1.18);transition:transform .12s ease}.gem.glint .face{animation:hint-nudge 1.1s ease-in-out infinite}@keyframes hint-nudge{0%,to{translate:0 0;filter:brightness(1)}50%{translate:var(--hx, 0) var(--hy, 0);filter:brightness(1.55) drop-shadow(0 0 6px rgba(255,255,255,.7))}}.gem.dead .face{filter:grayscale(1) brightness(.45);transition:filter .4s ease}.gem.sp-row .face,.gem.sp-col .face{animation:special-glow 1.1s ease-in-out infinite alternate}@keyframes special-glow{0%{filter:drop-shadow(0 0 2px var(--gc))}to{filter:drop-shadow(0 0 calc(var(--p) * .16) var(--gc)) brightness(1.15)}}.gem.sp-bomb .face>svg{transform:scale(.8)}.gem.sp-bomb .face:before{content:"";position:absolute;inset:-2%;border-radius:50%;background:radial-gradient(closest-side,#fff 0%,color-mix(in srgb,var(--gc) 85%,#fff) 35%,color-mix(in srgb,var(--gc) 50%,transparent) 70%,transparent);animation:bomb-pulse .9s ease-in-out infinite alternate}@keyframes bomb-pulse{0%{opacity:.45;transform:scale(.88)}to{opacity:1;transform:scale(1.04)}}.gem.sp-bomb .ring{position:absolute;inset:-3%;color:var(--gc);animation:spin 4s linear infinite;filter:drop-shadow(0 0 4px var(--gc))}.gem.sp-bomb .ring svg{width:100%;height:100%;display:block}.gem.sp-prism .face>svg{animation:prism 3s linear infinite;filter:drop-shadow(0 0 calc(var(--p) * .12) rgba(255,255,255,.7))}@keyframes prism{0%{filter:hue-rotate(0deg) drop-shadow(0 0 5px rgba(255,255,255,.7))}to{filter:hue-rotate(360deg) drop-shadow(0 0 5px rgba(255,255,255,.7))}}@keyframes spin{to{rotate:360deg}}.armed .gem .face{animation:shaky .5s ease-in-out infinite}.armed .gem:nth-child(odd) .face{animation-delay:-.25s}@keyframes shaky{25%{rotate:-4deg}75%{rotate:4deg}}.home{justify-content:center;gap:26px;text-align:center}.home-logo{position:relative;display:grid;grid-template-columns:repeat(3,50px);gap:6px;padding:10px;border-radius:22px;transform:rotate(-6deg);background:linear-gradient(180deg,#ffffff0d,#ffffff04);border:1px solid var(--line-2);box-shadow:0 24px 50px #00000073;margin-bottom:2px}.home-logo .lg{width:50px;height:50px;animation:logo-bob 3.4s ease-in-out infinite;animation-delay:calc(var(--i) * -.37s)}.home-logo .g{width:100%;height:100%;display:block}.home-logo .lg.match{animation:none}.home-logo .lg.match .g{animation:logo-match 3.4s ease-in-out infinite;animation-delay:calc((var(--i) - 3) * .06s)}@keyframes logo-bob{50%{transform:translateY(-4px)}}@keyframes logo-match{0%,46%{transform:scale(1);filter:brightness(1);opacity:1}54%{transform:scale(1.18);filter:brightness(1.9) drop-shadow(0 0 8px #f5c25b);opacity:1}62%{transform:scale(.1);filter:brightness(2.4);opacity:0}76%{transform:translateY(-46px) scale(1);opacity:0;filter:brightness(1)}90%{transform:translateY(0) scale(1);opacity:1}95%{transform:scale(1.06,.9)}to{transform:scale(1)}}.home-logo .spark{position:absolute;left:50%;top:50%;width:9px;height:9px;margin:-4.5px;border-radius:50%;background:#fff;opacity:0;box-shadow:0 0 10px 3px #f5c25bd9;animation:logo-spark 3.4s ease-out infinite}@keyframes logo-spark{0%,58%{opacity:0;transform:translate(0) scale(.4)}61%{opacity:1}80%,to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(1)}}.home h1{font-family:var(--display);font-weight:820;font-stretch:112%;font-size:clamp(40px,11vw,64px);line-height:.95;letter-spacing:-1.5px;margin:0}.home h1 span{display:block;font-size:.42em;letter-spacing:6px;font-weight:700;color:var(--accent-hi);margin-bottom:8px}.best-line{font-size:14px;color:var(--muted);letter-spacing:.3px;display:flex;gap:18px;align-items:center;justify-content:center}.best-line b{font-family:var(--display);color:var(--gold);font-size:18px;margin-left:6px}.menu{display:flex;flex-direction:column;gap:12px;width:min(320px,100%)}.btn{display:flex;align-items:center;justify-content:center;gap:10px;height:58px;border-radius:18px;padding:0 14px;font-family:var(--display);font-weight:760;font-stretch:106%;font-size:19px;letter-spacing:.2px;white-space:nowrap;transition:transform .15s ease,filter .15s ease}.btn:active{transform:scale(.97)}.btn-primary{color:#06132e;background:linear-gradient(180deg,#a7cdff,var(--accent) 55%,#2f6bff);box-shadow:0 12px 30px #2f6bff66,inset 0 1px #ffffff80}.btn-ghost{background:var(--panel-2);border:1px solid var(--line-2)}.btn small{font-family:var(--body);font-weight:600;font-size:13px;color:var(--muted)}.btn-primary small{color:#12306a}.btn-gold small{color:#6a4508}.btn-gold{color:#2a1a02;background:linear-gradient(180deg,#ffe7ad,var(--gold) 55%,#dc9725);box-shadow:0 12px 30px #f5c25b4d,inset 0 1px #ffffff8c}.btn .ico{width:20px;height:20px;flex:none}.home-foot{display:flex;gap:10px;align-items:center}.round{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--panel-2);border:1px solid var(--line-2);flex:none}.round svg{width:20px;height:20px}.by{font-size:12px;color:var(--muted)}.by a{color:var(--accent-hi);text-decoration:none}.game{gap:8px}.bar{width:100%;max-width:600px;display:flex;align-items:center;gap:10px;flex:none}.title-box{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center}.lvl-title{font-family:var(--display);font-weight:820;font-stretch:110%;font-size:24px;line-height:1;letter-spacing:-.5px}.lvl-title span{font-size:11.5px;letter-spacing:2.5px;font-weight:700;color:var(--accent-hi);margin-right:8px;vertical-align:4px}.scoreline{display:flex;align-items:center;gap:8px;margin-top:5px}.score{display:inline-block;font-family:var(--display);font-weight:840;font-stretch:108%;font-size:19px;line-height:1;font-variant-numeric:tabular-nums;min-width:3ch}.live-stars{display:inline-flex;gap:1px}.live-stars svg{width:15px;height:15px}.meter{display:block;width:min(170px,80%);height:5px;border-radius:3px;background:#ffffff1a;overflow:hidden;margin-top:6px}.meter .fill{display:block;height:100%;width:0;border-radius:3px;background:linear-gradient(90deg,#ffe7ad,var(--gold));transition:width .45s ease}.meter.full .fill{background:linear-gradient(90deg,var(--gold),#fff3cf,var(--gold))}.hud{flex:none;width:100%;max-width:600px;display:flex;gap:10px}.pod{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:64px;padding:6px 12px;border-radius:18px;background:linear-gradient(180deg,#19243f,#111a2e);border:1px solid var(--line-2);box-shadow:0 10px 24px #0000004d,inset 0 1px #ffffff0f}.pod .label{font-size:10.5px;letter-spacing:1.8px;text-transform:uppercase;font-weight:800;color:var(--muted)}.pod.moves{flex:0 0 88px}.pod.moves b{font-family:var(--display);font-weight:860;font-stretch:110%;font-size:30px;line-height:1;font-variant-numeric:tabular-nums}.pod.moves.low b{color:var(--rose)}.pod.moves.low{border-color:#ff7a9a80;animation:low 1s ease-in-out infinite alternate}@keyframes low{to{box-shadow:0 0 18px #ff7a9a59,inset 0 1px #ffffff0f}}.pod.goal{flex:1;min-width:0}.pod.goal.done{border-color:#4fe3ae99;box-shadow:0 0 18px #4fe3ae40}.goal-items{display:flex;align-items:center;justify-content:center;gap:16px;height:34px}.gi{display:flex;align-items:center;gap:6px;white-space:nowrap}.gi .gem-i,.gi .ice-i{width:30px;height:30px;flex:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}.gi b{font-family:var(--display);font-weight:840;font-size:21px;line-height:1;font-variant-numeric:tabular-nums}.gi b svg{width:20px;height:20px;display:block;color:var(--mint)}.gi.done .gem-i,.gi.done .ice-i{opacity:.55}.gi.score b{font-size:22px}.gi.score small{font-size:12px;font-weight:700;color:var(--muted)}.hint-row{flex:none;height:30px;width:100%;display:flex;justify-content:center;align-items:center}.hint{flex:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:6px 14px;border-radius:999px;font-size:13.5px;font-weight:600;text-align:center;color:#d9e6ff;background:#4d9aff24;border:1px solid rgba(143,192,255,.28);max-width:100%;animation:hint-in .5s .4s cubic-bezier(.2,1.3,.4,1) both}.hint.warn{color:#ffe9c2;background:#f5c25b24;border-color:#f5c25b73;animation:hint-in .3s cubic-bezier(.2,1.3,.4,1) both}@keyframes hint-in{0%{transform:translateY(-8px);opacity:0}}.play{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.stage{flex:1;width:100%;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;touch-action:none}.field{position:relative;flex:none;touch-action:none;cursor:pointer}.tiles{position:absolute;inset:0;filter:drop-shadow(0 0 1px rgba(143,192,255,.5)) drop-shadow(0 26px 40px rgba(0,0,0,.5))}.tile{position:absolute;background:#121b30}.tile:before{content:"";position:absolute;left:calc(var(--pl) + var(--p) * .05);top:calc(var(--pt) + var(--p) * .05);width:calc(var(--p) * .9);height:calc(var(--p) * .9);border-radius:24%;background:#ffffff09;box-shadow:inset 0 1px 3px #00000073}.tile.alt:before{background:#fff1}.gems,.ices,.fx{position:absolute;inset:0;pointer-events:none}.fx{overflow:visible}.ice{position:absolute;left:0;top:0;width:var(--p);height:var(--p);pointer-events:none}.ice:before{content:"";position:absolute;inset:3%;border-radius:22%;background:linear-gradient(135deg,#e4f6ff75,#a0d7ff1a 45%,#d2eeff52);border:2px solid rgba(228,246,255,.85);box-shadow:inset 0 0 calc(var(--p) * .16) #ffffff73,0 0 calc(var(--p) * .1) #a0dcff66}.ice:after{content:"";position:absolute;inset:8%;border-radius:18%;background:linear-gradient(125deg,transparent 18%,rgba(255,255,255,.6) 20%,transparent 27%,transparent 60%,rgba(255,255,255,.4) 62%,transparent 67%)}.ice.ice2:before{border-width:3px;background:linear-gradient(135deg,#ebf9ff9e,#aadeff47 45%,#dcf2ff80);box-shadow:inset 0 0 0 calc(var(--p) * .07) #ffffff47,inset 0 0 calc(var(--p) * .2) #ffffff80,0 0 calc(var(--p) * .14) #a0dcff8c}.beam{position:absolute;border-radius:999px;pointer-events:none;mix-blend-mode:screen}.beam.h{background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--bc) 80%,transparent) 28%,#fff 46%,#fff 54%,color-mix(in srgb,var(--bc) 80%,transparent) 72%,transparent);animation:beam-h .55s ease-out forwards}.beam.v{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--bc) 80%,transparent) 28%,#fff 46%,#fff 54%,color-mix(in srgb,var(--bc) 80%,transparent) 72%,transparent);animation:beam-v .55s ease-out forwards}@keyframes beam-h{0%{transform:scaleX(0) scaleY(.6);opacity:1}35%{transform:scaleX(1) scaleY(1.15);opacity:1}to{transform:scaleX(1) scaleY(.2);opacity:0}}@keyframes beam-v{0%{transform:scaleY(0) scaleX(.6);opacity:1}35%{transform:scaleY(1) scaleX(1.15);opacity:1}to{transform:scaleY(1) scaleX(.2);opacity:0}}.shock{position:absolute;border-radius:50%;pointer-events:none;border:calc(var(--p) * .14) solid #fff;box-shadow:0 0 calc(var(--p) * .5) var(--bc, #fff),inset 0 0 calc(var(--p) * .5) var(--bc, #fff);animation:shock .6s ease-out forwards}.shock.rainbow{border:none;box-shadow:none;background:conic-gradient(from 0deg,#ff7a9a,#f5c25b,#4fe3ae,#6fa8ff,#a98bff,#ff7a9a);-webkit-mask:radial-gradient(closest-side,transparent 58%,#000 64%,#000 80%,transparent 88%);mask:radial-gradient(closest-side,transparent 58%,#000 64%,#000 80%,transparent 88%);animation-duration:.7s}@keyframes shock{0%{transform:scale(.15);opacity:1}60%{opacity:.9}to{transform:scale(1);opacity:0}}.bolts{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;animation:bolts .6s ease-out forwards;filter:drop-shadow(0 0 4px rgba(255,255,255,.8))}@keyframes bolts{0%{opacity:0}15%{opacity:1}60%{opacity:1}to{opacity:0}}.flash{position:absolute;inset:-10%;border-radius:10%;background:radial-gradient(closest-side,#fff,rgba(255,255,255,.5),transparent);animation:flash .7s ease-out forwards;pointer-events:none}@keyframes flash{0%{opacity:.95}to{opacity:0}}.sparks{position:fixed;inset:0;width:100%;height:100%;z-index:30;pointer-events:none}.tools{flex:none;display:flex;justify-content:center;align-items:flex-end;gap:34px;padding-top:2px}.tool{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);width:70px}.tool .ring-b{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;color:var(--text);background:linear-gradient(180deg,#1b2742,#121a2e);border:1px solid var(--line-2);box-shadow:0 8px 18px #00000059,inset 0 1px #ffffff14;transition:transform .15s ease,box-shadow .2s ease,border-color .2s ease}.tool:active .ring-b{transform:scale(.93)}.tool .ring-b svg{width:26px;height:26px}.tool .badge{position:absolute;top:-6px;right:2px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;display:grid;place-items:center;font-family:var(--display);font-size:12px;font-weight:800;letter-spacing:0;color:#06132e;background:linear-gradient(180deg,#a7cdff,var(--accent));box-shadow:0 3px 8px #0006}.tool .badge.video{color:#2a1a02;background:linear-gradient(180deg,#ffe7ad,var(--gold));padding:0 5px}.tool .badge svg{width:13px;height:13px}.tool.armed .ring-b{border-color:#f5c25bcc;box-shadow:0 0 0 3px #f5c25b33,0 0 26px #f5c25b73;color:var(--gold)}.tool.off{opacity:.38;pointer-events:none}.game.side{flex-direction:row;align-items:stretch;justify-content:center;gap:16px}.game.side .side-l,.game.side .side-r{flex:0 0 clamp(150px,21vw,290px);min-width:0;display:flex;flex-direction:column;gap:12px}.game.side .side-r{align-items:flex-end}.game.side .side-top{display:flex;align-items:center;gap:12px}.game.side .title-box{align-items:flex-start;text-align:left}.game.side .meter{width:100%}.game.side .hud{flex-direction:column;gap:10px}.game.side .pod.moves{flex:none;flex-direction:row;justify-content:space-between;gap:10px;min-height:0;padding:8px 14px}.game.side .pod.moves .label{order:-1}.game.side .pod.goal{flex:none}.game.side .pod.goal .goal-items{flex-wrap:wrap;height:auto;min-height:34px;gap:6px 14px;padding:2px 0}.game.side .side-l .hint{text-align:left;border-radius:16px;white-space:normal}.game.side .tools{flex-direction:column;align-items:center;gap:16px;margin:auto 0;padding:0}.game.side .stage{flex:1 1 auto;width:auto;min-width:0}.game.side.short{gap:12px}.game.side.short .side-l{gap:8px}.game.side.short .pod.moves{padding:5px 12px}.game.side.short .pod.moves b{font-size:24px}.game.side.short .pod.goal{min-height:56px;padding:4px 10px}.game.side.short .goal-items{gap:10px;height:30px}.game.side.short .gi .gem-i,.game.side.short .gi .ice-i{width:25px;height:25px}.game.side.short .gi b{font-size:18px}.game.side.short .lvl-title{font-size:20px}.game.side.short .tool .ring-b{width:46px;height:46px;border-radius:15px}.game.side.short .tool .ring-b svg{width:22px;height:22px}.game.side.short .tools{gap:10px}.game.side.short .round{width:40px;height:40px}.game.portrait.short .pod{min-height:54px;padding:4px 10px}.game.portrait.short .pod.moves b{font-size:25px}.game.portrait.short .hint-row{height:26px}.game.portrait.short .tool .ring-b{width:46px;height:46px;border-radius:15px}.game.portrait.short .tool{gap:3px;font-size:10px}.game.portrait.short .round{width:40px;height:40px}.game.portrait.short .goal-items{height:30px}.game.portrait.short .gi .gem-i,.game.portrait.short .gi .ice-i{width:26px;height:26px}.game.roomy .lvl-title{font-size:32px}.game.roomy .score{font-size:26px}.game.roomy .live-stars svg{width:20px;height:20px}.game.roomy .meter{height:7px}.game.roomy .pod{min-height:84px;border-radius:22px}.game.roomy .pod .label{font-size:12px}.game.roomy .pod.moves b{font-size:42px}.game.roomy .goal-items{height:44px;gap:22px}.game.roomy .gi .gem-i,.game.roomy .gi .ice-i{width:40px;height:40px}.game.roomy .gi b{font-size:28px}.game.roomy .tool{font-size:12px;width:84px}.game.roomy .tool .ring-b{width:66px;height:66px;border-radius:22px}.game.roomy .tool .ring-b svg{width:30px;height:30px}.game.roomy .round{width:54px;height:54px}.game.portrait.roomy .bar,.game.portrait.roomy .hud{max-width:760px}.game.portrait.roomy .hint-row{height:40px}.game.portrait.roomy .hint{font-size:15px}.game.portrait.roomy .tools{gap:48px}.game.side.roomy .pod.moves b{font-size:36px}.float{position:fixed;z-index:40;pointer-events:none;font-family:var(--display);font-weight:860;font-stretch:112%;color:#fff;white-space:nowrap;transform:translate(-50%,-50%)}.float.points{font-size:clamp(15px,calc(var(--p) * .42),26px);text-shadow:0 2px 8px rgba(0,0,0,.7);animation:rise .95s ease-out forwards}.float.points.hot{color:#ffe39a}.float.word{font-size:clamp(28px,calc(var(--p) * .8),52px);letter-spacing:-.5px;animation:word 1.3s cubic-bezier(.2,1.2,.4,1) forwards;background:linear-gradient(180deg,#fff,#ffe39a 60%,#f5a623);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 10px rgba(0,0,0,.6))}.float.word.mint{background:linear-gradient(180deg,#fff,#b8f8e1 55%,#1fbf88);-webkit-background-clip:text;background-clip:text}.float.word.rainbow{background:linear-gradient(90deg,#ff9ab3,#ffe39a,#8ff2cc,#9cc4ff,#c9b4ff);-webkit-background-clip:text;background-clip:text}.float.word.big{font-size:clamp(42px,calc(var(--p) * 1.25),84px);animation-duration:1.5s}.float.word.long{animation-duration:2s;font-size:clamp(22px,calc(var(--p) * .58),40px)}@keyframes rise{0%{transform:translate(-50%,-50%) scale(.7);opacity:0}15%{transform:translate(-50%,-70%) scale(1.1);opacity:1}to{transform:translate(-50%,-190%) scale(1);opacity:0}}@keyframes word{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}18%{transform:translate(-50%,-50%) scale(1.12);opacity:1}70%{transform:translate(-50%,-70%) scale(1);opacity:1}to{transform:translate(-50%,-95%) scale(.98);opacity:0}}.flyer{position:fixed;z-index:45;pointer-events:none;filter:drop-shadow(0 3px 6px rgba(0,0,0,.5))}.flyer svg{width:100%;height:100%;display:block}.overlay{position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:calc(14px + var(--safe-top)) 20px calc(14px + var(--safe-bottom));background:#04060cb8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fade .25s ease both}@keyframes fade{0%{opacity:0}}.card{width:min(360px,100%);max-height:100%;padding:26px 24px 20px;border-radius:26px;text-align:center;background:linear-gradient(180deg,#17213a,#0d1424);border:1px solid rgba(143,192,255,.3);box-shadow:0 40px 80px #0009;animation:card .4s cubic-bezier(.2,1.3,.4,1) both}@keyframes card{0%{transform:translateY(24px) scale(.94);opacity:0}}.card h2{font-family:var(--display);font-weight:820;font-stretch:110%;font-size:30px;margin:0 0 4px;letter-spacing:-.5px}.card p{margin:0 0 4px;color:var(--muted)}.big-score{font-family:var(--display);font-weight:860;font-stretch:112%;font-size:56px;line-height:1;letter-spacing:-2px;margin:10px 0 2px}.big-score small{display:block;font-family:var(--body);font-size:12px;letter-spacing:2px;font-weight:800;color:var(--muted);margin-top:6px}.ribbon{display:inline-block;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:1.5px;color:#2a1a02;background:linear-gradient(180deg,#ffe7ad,var(--gold));margin-bottom:10px}.card-art{display:flex;justify-content:center;gap:6px;height:62px;margin:0 auto 10px}.card-art .g{width:54px;height:54px;filter:grayscale(.5) brightness(.85)}.card-art .g:nth-child(1){transform:translateY(8px) rotate(-10deg)}.card-art .g:nth-child(3){transform:translateY(8px) rotate(10deg)}.card-progress{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px}.card-progress .track{width:170px;height:8px;border-radius:4px;background:#ffffff1a;overflow:hidden}.card-progress .fill{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--mint),var(--accent))}.card-progress b{font-family:var(--display);font-size:16px}.card .menu{margin:18px auto 0}.link{margin-top:12px;font-size:14px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.stars{display:flex;justify-content:center;gap:8px;margin:0 0 8px}.stars svg{width:46px;height:46px}.stars svg:nth-child(2){transform:translateY(-8px) scale(1.12)}.stars .on{filter:drop-shadow(0 4px 10px rgba(245,194,91,.5));animation:star .5s cubic-bezier(.2,1.6,.4,1) both}.stars .on:nth-child(1){animation-delay:.25s}.stars .on:nth-child(2){animation-delay:.4s}.stars .on:nth-child(3){animation-delay:.55s}@keyframes star{0%{scale:0;rotate:-40deg}}@media(max-height:520px){.card{width:min(560px,100%);padding:16px 20px 14px}.card h2{font-size:24px}.big-score{font-size:40px;margin:4px 0 0}.big-score small{margin-top:2px}.stars svg{width:34px;height:34px}.stars{margin-bottom:2px}.card .menu{flex-direction:row;width:100%;margin-top:12px}.card .menu .btn{flex:1;height:48px;font-size:16px}.card .menu .btn small{display:none}.link{margin-top:8px}.card-art{height:44px;margin-bottom:4px}.card-art .g{width:40px;height:40px}.card-progress{margin-top:6px}.home{display:grid;grid-template-columns:auto minmax(0,420px);grid-template-rows:1fr auto auto auto auto 1fr;column-gap:44px;row-gap:12px;align-items:center;justify-content:center;align-content:center}.home-logo{grid-column:1;grid-row:1 / 7;align-self:center}.home h1{grid-column:2;grid-row:2;font-size:46px}.home .best-line{grid-column:2;grid-row:3}.home .menu{grid-column:2;grid-row:4;width:100%}.home .menu .btn{height:52px}.home .home-foot{grid-column:2;grid-row:5;justify-content:center}}.levels{gap:12px}.levels-head{width:min(560px,100%);display:flex;align-items:center;gap:12px;flex:none}.levels-head h2{flex:1;margin:0;font-family:var(--display);font-weight:820;font-stretch:110%;font-size:26px}.levels-head span{color:var(--muted);font-size:14px;font-weight:700}.levels-head span b{color:var(--gold);font-family:var(--display);font-size:17px}.level-wrap{flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center}.level-grid{display:grid;gap:var(--lg, 10px);grid-template-columns:repeat(var(--lc, 4),var(--ls, 60px));grid-auto-rows:var(--ls, 60px)}.level-grid.turn{animation:page-in .3s ease both}@keyframes page-in{0%{opacity:0;transform:translate(var(--from, 20px))}}.lv{position:relative;border-radius:calc(var(--ls, 60px) * .28);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--ls, 60px) * .04);padding:0;background:linear-gradient(180deg,#18223b,#111a2e);border:1px solid var(--line-2);box-shadow:inset 0 1px #ffffff0d}.lv b{font-family:var(--display);font-weight:820;font-size:calc(var(--ls, 60px) * .28);line-height:1}.lv .goal-t{display:flex;align-items:center;gap:2px;height:calc(var(--ls, 60px) * .17);font-size:clamp(9px,calc(var(--ls, 60px) * .12),13px);font-weight:700;color:var(--muted);letter-spacing:.2px;white-space:nowrap}.lv .goal-t.gemset{gap:3px}.lv .goal-t svg{width:calc(var(--ls, 60px) * .17);height:calc(var(--ls, 60px) * .17)}.lv.next .goal-t{color:#12306a}.lv .mini-stars{display:flex;gap:1px}.lv .mini-stars svg{width:calc(var(--ls, 60px) * .17);height:calc(var(--ls, 60px) * .17)}.lv.next{background:linear-gradient(180deg,#a7cdff,var(--accent) 60%,#2f6bff);color:#06132e;border-color:transparent;box-shadow:0 10px 24px #2f6bff59}.lv.locked{opacity:.38}.lv.locked svg{width:calc(var(--ls, 60px) * .3);height:calc(var(--ls, 60px) * .3)}.pager{flex:none;display:flex;align-items:center;gap:16px}.pager span{font-family:var(--display);font-weight:760;font-size:16px;min-width:96px;text-align:center;color:var(--muted)}.pager .round:disabled{opacity:.3}@media(prefers-reduced-motion:reduce){.home-logo .lg,.home-logo .lg.match .g,.home-logo .spark,.gem.sp-row .face,.gem.sp-col .face,.gem.sp-bomb .ring,.gem.sp-bomb .face:before,.gem.sp-prism .face>svg,.gem.glint .face,.armed .gem .face{animation:none}}.site-back{position:absolute;z-index:5;top:calc(12px + var(--safe-top));left:calc(14px + env(safe-area-inset-left,0px));display:flex;align-items:center;gap:4px;height:40px;padding:0 14px 0 9px;border-radius:999px;background:var(--panel-2);border:1px solid var(--line-2);color:var(--text);text-decoration:none;font-family:var(--body);font-weight:700;font-size:14px;letter-spacing:.1px;transition:transform .15s ease}.site-back svg{width:18px;height:18px}.site-back:active{transform:scale(.96)}.exit-btn{align-self:center;flex:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;margin-top:14px;padding:0 18px 0 14px;border-radius:999px;color:#dbe3f3;vertical-align:top;background:linear-gradient(180deg,#ffffff17,#ffffff08);border:1px solid var(--line-2);box-shadow:inset 0 1px #ffffff14,0 6px 16px #00000040;font-family:var(--display);font-weight:740;font-stretch:104%;font-size:15px;letter-spacing:.2px;white-space:nowrap;transition:transform .15s ease,background .15s ease}.exit-btn svg{display:block;width:18px;height:18px;flex:none;color:var(--accent-hi)}.exit-btn:active{transform:scale(.96);background:#ffffff1f}@media(max-height:560px){.exit-btn{height:36px;margin-top:8px;padding:0 15px 0 12px;font-size:14px;gap:7px}.exit-btn svg{width:16px;height:16px}}.exit-row{display:flex;justify-content:center;gap:10px;margin-top:14px}.exit-row .exit-btn{margin-top:0}@media(max-width:370px){.exit-row{gap:8px}.exit-row .exit-btn{padding:0 14px 0 11px;font-size:14px;gap:7px}}@media(max-height:560px){.exit-row{margin-top:8px}}.help-pill{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 18px 0 8px;border-radius:999px;flex:none;background:var(--panel-2);border:1px solid var(--line-2);font-family:var(--display);font-weight:740;font-stretch:104%;font-size:15px;letter-spacing:.2px;color:var(--text);white-space:nowrap;transition:transform .15s ease}.help-pill:active{transform:scale(.96)}.help-pill .q,.round.help .q{display:grid;place-items:center;border-radius:50%;font-family:var(--display);font-weight:860;line-height:1;color:#06132e;background:linear-gradient(180deg,#a7cdff,var(--accent));box-shadow:0 0 12px #4d9aff73}.help-pill .q{width:30px;height:30px;font-size:17px}.round.help .q{width:24px;height:24px;font-size:14.5px}.game.roomy .round.help .q{width:28px;height:28px;font-size:16px}.side-btns{display:flex;gap:8px}.howto{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:calc(20px + var(--safe-top)) calc(20px + var(--safe-right)) calc(20px + var(--safe-bottom)) calc(20px + var(--safe-left));background:#04060cbd;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:fade .25s ease both;touch-action:none;user-select:none;-webkit-user-select:none}.howto.out{animation:fade-out .2s ease forwards}@keyframes fade-out{to{opacity:0}}.ht-card{position:relative;display:flex;flex-direction:column;width:min(460px,100%);height:min(780px,100%);overflow:hidden;border-radius:28px;background:radial-gradient(120% 60% at 50% -5%,rgba(47,107,255,.22),transparent 60%),linear-gradient(180deg,#17213a,#0d1424);border:1px solid rgba(143,192,255,.3);box-shadow:0 40px 80px #0009,inset 0 1px #ffffff0f;animation:card .45s cubic-bezier(.2,1.2,.4,1) both}.ht-head{flex:none;display:flex;align-items:center;gap:10px;padding:14px 14px 6px 22px}.ht-kicker{margin:0;font-family:var(--body);font-size:12px;font-weight:800;letter-spacing:2.4px;text-transform:uppercase;color:var(--accent-hi)}.ht-count{flex:1;font-family:var(--display);font-weight:700;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.ht-skip{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:none;color:var(--text);background:#ffffff0f;border:1px solid var(--line-2);transition:transform .15s ease,background .15s ease}.ht-skip:active{transform:scale(.92);background:#ffffff1f}.ht-skip svg{width:18px;height:18px}.ht-view{position:relative;flex:1;min-height:0;overflow:hidden;touch-action:none}.ht-track{display:flex;height:100%;transition:transform .38s cubic-bezier(.25,.9,.3,1);will-change:transform}.ht-slide{flex:0 0 100%;min-width:0;height:100%;display:flex;flex-direction:column;gap:14px;padding:4px 22px 0}.ht-stage{position:relative;flex:1 1 auto;min-height:0;border-radius:22px;overflow:hidden;background:radial-gradient(70% 65% at 50% 45%,rgba(77,154,255,.14),transparent 72%),#ffffff06;border:1px solid rgba(255,255,255,.06)}.ht-text{flex:none;text-align:center;min-height:104px}.ht-text h3{margin:0 0 6px;font-family:var(--display);font-weight:820;font-stretch:110%;font-size:26px;line-height:1.1;letter-spacing:-.4px}.ht-text p{margin:0 auto;max-width:340px;font-size:15.5px;line-height:1.45;font-weight:550;color:#b9c4da}.ht-foot{flex:none;display:flex;flex-direction:column;align-items:center;gap:14px;padding:14px 22px 20px}.ht-dots{display:flex;gap:4px}.ht-dot{width:22px;height:22px;display:grid;place-items:center;padding:0}.ht-dot:before{content:"";width:8px;height:8px;border-radius:4px;background:#ffffff38;transition:width .25s ease,background .25s ease}.ht-dot.on:before{width:22px;background:var(--accent-hi);box-shadow:0 0 10px #8fc0ff99}.ht-dot.on{width:34px}.ht-nav{width:100%;display:grid;grid-template-columns:1fr 1.6fr;gap:10px}.ht-nav .btn{height:54px;font-size:18px;gap:6px}.ht-nav .btn svg{width:18px;height:18px;flex:none}.ht-back.hide{display:none}.ht-next.done,.ht-back.hide+.ht-next{grid-column:1 / -1}.ht-card:focus{outline:none}.ht-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.howto .btn:focus-visible,.ht-skip:focus-visible,.ht-dot:focus-visible{outline:3px solid rgba(143,192,255,.8);outline-offset:2px}.ht-nav:has(.ht-next.done) .ht-back{display:none}@media(max-width:560px)and (orientation:portrait){.howto{padding:calc(10px + var(--safe-top)) 0 0;align-items:stretch}.ht-card{width:100%;height:auto;border-radius:28px 28px 0 0;border-bottom:none;animation:sheet-up .45s cubic-bezier(.2,1,.3,1) both}.ht-foot{padding-bottom:calc(18px + var(--safe-bottom))}}@keyframes sheet-up{0%{transform:translateY(40px);opacity:0}}@media(max-width:380px)and (orientation:portrait),(max-height:680px)and (orientation:portrait){.ht-slide{gap:10px;padding:2px 16px 0}.ht-text{min-height:96px}.ht-text h3{font-size:23px}.ht-text p{font-size:14.5px;line-height:1.4}.ht-foot{gap:10px;padding:10px 16px calc(14px + var(--safe-bottom))}.ht-nav .btn{height:50px;font-size:17px}.ht-head{padding:10px 12px 4px 18px}}@media(orientation:landscape)and (max-height:560px){.howto{padding:calc(8px + var(--safe-top)) calc(8px + var(--safe-right)) calc(8px + var(--safe-bottom)) calc(8px + var(--safe-left))}.ht-card{width:min(860px,100%);height:100%}.ht-head{position:absolute;left:50%;right:0;top:0;z-index:2;padding:12px 12px 0 18px}.ht-slide{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr;gap:0;padding:0}.ht-stage{margin:12px 0 12px 12px;border-radius:20px}.ht-text{align-self:start;text-align:left;min-height:0;padding:64px 22px 0}.ht-text h3{font-size:24px}.ht-text p{margin:0;font-size:15px}.ht-foot{position:absolute;left:50%;right:0;bottom:0;align-items:flex-start;gap:10px;padding:0 18px 16px 22px}.ht-nav .btn{height:48px;font-size:16.5px}}.ht-scene{--p: 52px;position:absolute;left:50%;top:50%;transform-origin:50% 50%}.ht-board{position:absolute;border-radius:16px;background:#121b30;box-shadow:0 0 0 1px #8fc0ff52,0 22px 36px #00000073}.ht-tile{position:absolute;width:52px;height:52px}.ht-tile:before{content:"";position:absolute;inset:2.6px;border-radius:24%;background:#ffffff09;box-shadow:inset 0 1px 3px #00000073}.ht-tile.alt:before{background:#fff1}.ht-gems{position:absolute;inset:0;clip-path:inset(8px -40px -40px -40px)}.ht-fx{position:absolute;inset:0;pointer-events:none}.ht-spark{position:absolute;width:7px;height:7px;margin:-3.5px;border-radius:50%;background:var(--c);box-shadow:0 0 8px 2px var(--c);opacity:0}.ht-spark.star{width:10px;height:10px;margin:-5px;border-radius:0;background:#fff;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);box-shadow:none;filter:drop-shadow(0 0 4px var(--c))}.ht-pts{position:absolute;transform:translate(-50%,-50%);font-family:var(--display);font-weight:860;font-stretch:112%;font-size:21px;color:#fff;white-space:nowrap;text-shadow:0 2px 8px rgba(0,0,0,.75);opacity:0}.ht-word{position:absolute;transform:translate(-50%,-50%);font-family:var(--display);font-weight:860;font-stretch:112%;font-size:46px;letter-spacing:-.5px;white-space:nowrap;background:linear-gradient(180deg,#fff,#ffe39a 60%,#f5a623);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 10px rgba(0,0,0,.6));opacity:0}.ht-finger{position:absolute;left:0;top:0;width:46px;height:46px;margin:-23px 0 0 -23px;z-index:6;opacity:0}.ht-finger b{position:absolute;inset:12px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff,#e6efff 55%,#b4cfff);box-shadow:0 0 0 3px #ffffff47,0 0 20px 7px #8fc0ff99,0 5px 12px #00000073}.ht-finger i{position:absolute;inset:2px;border-radius:50%;border:2.5px solid rgba(255,255,255,.9);opacity:0;box-shadow:0 0 12px #8fc0ffb3}.ht-beam{position:absolute;border-radius:999px;mix-blend-mode:screen;opacity:0;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--bc) 80%,transparent) 26%,#fff 45%,#fff 55%,color-mix(in srgb,var(--bc) 80%,transparent) 74%,transparent)}.ht-flyer{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;opacity:0;filter:drop-shadow(0 3px 6px rgba(0,0,0,.5))}.ht-flyer svg{display:block;width:100%;height:100%}.ht-hud{position:absolute;left:0;top:0;width:276px;height:64px;display:flex;gap:10px}.ht-hud .pod{min-height:64px}.ht-hud .pod.goal{flex:1}.ht-swap{display:inline-grid;place-items:center}.ht-swap>*{grid-area:1 / 1}.ht-swap .ok svg{width:20px;height:20px;display:block;color:var(--mint)}.ht-legend{position:absolute;left:0;width:276px;display:flex;gap:8px}.ht-chip{flex:1;min-width:0;height:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0 4px;border-radius:14px;background:linear-gradient(180deg,#19243f,#111a2e);border:1px solid rgba(255,255,255,.14)}.ht-chip-gem{position:relative;flex:none;width:28px;height:28px;--p: 28px}.ht-chip-t{display:flex;flex-direction:column;align-items:center;line-height:1.15}.ht-chip-t b{font-family:var(--display);font-weight:800;font-size:13px}.ht-chip-t small{font-size:10.5px;font-weight:700;color:var(--muted);white-space:nowrap}.ht-tools{position:absolute;left:0;width:276px;display:flex;justify-content:center;gap:34px}.ht-tools .tool{pointer-events:none}.ht-armed{position:absolute;inset:-1px;border-radius:18px;border:1px solid rgba(245,194,91,.85);opacity:0;box-shadow:0 0 0 3px #f5c25b38,0 0 26px #f5c25b80}.ht-tools .ring-b{position:relative}.ht-slide:not(.on) *,.ht-slide:not(.on) *:before,.ht-slide:not(.on) *:after{animation-play-state:paused!important}@media(prefers-reduced-motion:reduce){.howto,.ht-card,.howto.out{animation:none}.ht-track{transition:none}}
