@font-face{font-family:Nunito;src:url(../assets/fonts/nunito.woff2)format("woff2");font-display:swap}@font-face{font-family:Fredoka;src:url(../assets/fonts/fredoka.woff2)format("woff2");font-display:swap}:root{color:#f4eddf;font-synthesis:none;--bg:#0b1626;--panel:#152234;--panel-light:#1c2c40;--ink:#f4eddf;--muted:#a7b3c4;--accent:#efc98d;--line:#ffffff16;--mint:#a2d4c4;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-tap-highlight-color:transparent;--top:max(env(safe-area-inset-top,0px), var(--native-safe-area-inset-top,0px));--bottom:max(env(safe-area-inset-bottom,0px), var(--native-safe-area-inset-bottom,0px));background:#0b1626;font-family:Nunito,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(ellipse at 70% 15%, #1a2b3b55, transparent 60%), var(--bg);min-width:280px;margin:0}button,select{font:inherit}button{color:inherit;cursor:pointer;background:0 0;border:0}button:disabled{cursor:default;opacity:.35}button,a,select{-webkit-touch-callout:none}button:focus-visible,select:focus-visible,[role=button]:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{touch-action:manipulation}button:not(:disabled):active{transform:translateY(1px)}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600}h1:focus{outline:0}p{line-height:1.6}h2{font-size:29px;line-height:1.25}h3{font-size:22px;line-height:1.3}.icon{flex:none;width:23px;height:23px}.muted{color:var(--muted)}.eyebrow{letter-spacing:2.2px;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:800}.shell{grid-template-columns:218px minmax(0,1fr);max-width:1440px;min-height:100svh;margin:auto;display:grid}.sidebar{border-right:1px solid var(--line);flex-direction:column;gap:24px;height:100svh;padding:48px 26px 30px 34px;display:flex;position:sticky;top:0}.wordmark{letter-spacing:4px;align-items:center;gap:12px;font-size:23px;font-weight:800;display:flex}.wordmark .icon{color:var(--accent);width:30px;height:30px}.side-note{color:var(--muted);max-width:130px;font-size:12px;line-height:1.7}.navigation{flex-direction:column;gap:12px;display:flex}.sidebar .navigation{margin-top:36px}.nav-item{text-align:left;color:var(--muted);border-radius:12px;align-items:center;gap:14px;padding:14px 12px;font-size:13px;display:flex}.nav-item.active{color:var(--accent);background:#efc98d10}.nav-item:hover{color:var(--ink);background:#ffffff08}.sidebar-foot{color:#7c8a9d;flex-direction:column;gap:14px;max-width:140px;margin-top:auto;font-size:12px;line-height:1.8;display:flex}.little-star{color:var(--accent);font-size:24px}.main{min-width:0;padding:44px 52px 48px}.mobile-nav,.mobile-wordmark{display:none}.home-top{justify-content:space-between;align-items:center;min-height:35px;display:flex}.star-pill{border:1px solid var(--line);color:var(--accent);background:#ffffff05;border-radius:24px;align-items:center;gap:8px;padding:8px 15px;font-size:13px;display:flex}.star-pill .icon{width:17px;height:17px}.star-pill span{color:var(--muted)}.home-hero{grid-template-columns:1fr 1.05fr;align-items:center;min-height:462px;display:grid;position:relative}.hero-copy{z-index:1;position:relative}.hero-copy .eyebrow{letter-spacing:1.5px;color:var(--mint);white-space:nowrap;align-items:center;gap:9px;font-size:9px;display:flex}.live-dot{background:var(--mint);width:5px;height:5px;box-shadow:0 0 12px var(--mint);border-radius:50%}.hero-copy h1{letter-spacing:-4px;margin:15px 0;font-family:Fredoka,Nunito,sans-serif;font-size:100px;font-weight:400;line-height:1.25}.title-dot{color:var(--accent)}.hero-tagline{color:#d6dce1;max-width:320px;font-size:24px;font-weight:300;line-height:1.5}.hero-actions{flex-direction:column;align-items:flex-start;gap:18px;margin-top:32px;display:flex}.button{background:var(--panel-light);border-radius:13px;justify-content:center;align-items:center;gap:12px;min-height:50px;padding:15px 23px;font-size:14px;font-weight:800;transition:background .15s,transform .15s;display:inline-flex}.button.primary{background:var(--accent);color:#243140;box-shadow:0 8px 30px #efc98d0c}.button.wide{width:100%}.button.secondary{color:var(--accent);background:#efc98d11;border:1px solid #efc98d33}.play-button{text-align:left;justify-content:space-between;width:300px;padding:17px 23px}.play-button span{font-size:15px}.play-button small{opacity:.7;letter-spacing:.5px;margin-top:4px;font-size:10px;font-weight:600;display:block}.text-button{min-height:44px;color:var(--muted);justify-content:center;align-items:center;gap:9px;font-size:12px;display:inline-flex}.text-button:hover{color:var(--accent)}.text-button .icon{width:18px;height:18px}.hero-actions .text-button{padding-left:4px}.hero-art{aspect-ratio:1;place-items:center;margin-left:-25px;margin-right:-30px;display:grid;position:relative}.hero-art img{mix-blend-mode:screen;filter:saturate(.7);width:100%;position:relative;-webkit-mask-image:radial-gradient(#000 37%,#0000 72%);mask-image:radial-gradient(#000 37%,#0000 72%)}.art-halo{filter:blur(40px);background:#ebc8940a;border-radius:50%;position:absolute;inset:15%}.art-caption{text-transform:uppercase;letter-spacing:4px;color:#8492a3;white-space:nowrap;font-size:9px;position:absolute;bottom:4%;left:50%;transform:translate(-50%)}.section-heading{justify-content:space-between;align-items:center;gap:10px;margin:10px 0 22px;display:flex}.section-heading h2{margin-top:7px;font-size:23px}.world-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.world-card{border:1px solid var(--line);text-align:left;background:linear-gradient(150deg,#21334a60,#111d2d);border-radius:18px;flex-direction:column;padding:0;transition:border-color .2s,background .2s;display:flex;position:relative;overflow:hidden}.world-card:hover{border-color:#efc98d55}.world-card.ocean{background:linear-gradient(150deg,#18424760,#111e2d)}.world-card.garden{background:linear-gradient(150deg,#33453060,#111e2d)}.world-card h3{margin:6px 0;font-size:25px}.world-card p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.5}.world-card-foot{color:var(--muted);justify-content:space-between;align-items:center;gap:7px;min-height:22px;margin-top:22px;font-size:11px;display:flex}.world-card-foot .icon{width:16px;height:16px}.world-illustration{isolation:isolate;width:100%;height:175px;position:relative;overflow:hidden}.world-planet{background:radial-gradient(circle at 28% 25%,#d2bba0,#8d8a99 35%,#2f4760 78%);border-radius:50%;width:85px;height:85px;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);box-shadow:15px 15px 55px #ffffff08,inset -14px -12px 25px #091729aa}.world-orbit{z-index:1;border:1px solid #e2c79b70;border-radius:50%;width:175px;height:75px;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)rotate(-28deg)}.world-satellite{z-index:2;background:#eacaa1;border-radius:50%;width:13px;height:13px;position:absolute;top:calc(48% - 44px);left:calc(50% + 57px);box-shadow:0 0 25px #eacaa133}.ocean .world-planet{background:radial-gradient(circle at 28% 25%,#b1e7d6,#4e9d9f 40%,#17405c 80%)}.ocean .world-orbit{border-color:#a0dcce70;transform:translate(-50%,-50%)rotate(-12deg)}.ocean .world-satellite{background:#a0dcce;top:calc(48% - 25px)}.garden .world-planet{background:radial-gradient(circle at 28% 25%,#dbe8a8,#88aa7a 40%,#2b5047 80%)}.garden .world-orbit{border-color:#cbd7a070;transform:translate(-50%,-50%)rotate(25deg)}.garden .world-satellite{background:#d6ba83;top:calc(48% + 21px)}.wave{background:#4c929e0f;border-radius:50%;width:110%;height:80px;position:absolute;bottom:-25px;left:0}.wave2{background:#76d7cf10;bottom:-38px;transform:rotate(-15deg)}.leaf{background:#9ab57d44;border-radius:0 100%;width:30px;height:13px;position:absolute;top:65%;left:25%;transform:rotate(-20deg)}.leaf2{top:25%;left:70%;transform:rotate(70deg)}.compact .world-illustration{opacity:.8;pointer-events:none;width:110px;height:92px;position:absolute;top:3px;right:-8px}.compact .world-planet{width:42px;height:42px}.compact .world-orbit{width:85px;height:35px}.compact .world-satellite{width:7px;height:7px;top:calc(48% - 22px);left:calc(50% + 29px)}.compact.ocean .world-satellite{top:calc(48% - 13px)}.compact.garden .world-satellite{top:calc(48% + 12px)}.compact .world-card-copy{width:100%;min-height:178px;padding:23px 20px}.compact h3{margin:17px 0 7px;font-size:22px}.compact .eyebrow{font-size:8px}.compact .world-card-copy>p:not(.eyebrow){max-width:150px}.compact .world-card-foot{margin-top:15px}.compact .world-card-foot .icon{margin-left:auto}.journey-footer{color:#8493a6;justify-content:space-between;gap:20px;margin-top:23px;font-size:10px;display:flex}.progress-line{background:#ffffff0b;height:2px;margin-top:10px}.page-heading{justify-content:space-between;align-items:flex-start;gap:15px;margin:10px 0 37px;display:flex}.page-heading h1{letter-spacing:-1px;margin:13px 0 8px;font-size:43px;line-height:1.3}.page-heading .muted{max-width:550px;font-size:14px}.icon-button{border:1px solid var(--line);border-radius:50%;flex:none;place-items:center;width:46px;height:46px;display:grid}.world-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.world-gallery .world-card-copy{padding-top:10px}.level-world-banner{background:var(--panel);border:1px solid var(--line);border-radius:20px;align-items:center;gap:14px;margin-bottom:30px;padding-right:25px;display:flex}.level-world-banner>.world-illustration{flex:none;width:210px;height:150px}.level-world-banner h2{margin:6px 0}.level-world-banner p:last-child{color:var(--muted);font-size:12px}.levels-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.level-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:13px;min-height:165px;padding:20px 10px;display:flex}.level-card:not(:disabled):hover{border-color:var(--accent)}.level-number{color:#e7d5b6;font-size:34px;font-weight:300}.level-card>span:last-child{color:var(--muted);font-size:11px}.level-card.complete{background:#efc98d0b;border-color:#efc98d26}.stars{color:var(--accent);justify-content:center;align-items:center;gap:5px;display:inline-flex}.stars .filled{fill:currentColor}.stars .empty{opacity:.2}.quiet-note{color:#9ba9ba;text-align:center;margin-top:27px;font-size:11px}.achievement-overview{justify-content:center;align-items:center;gap:25px;padding:20px 0 40px;display:flex}.big-star{color:var(--accent);text-shadow:0 0 40px #efc98d22;font-size:64px}.achievement-overview p{color:var(--muted);font-size:12px}.achievements-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.achievement-card{background:var(--panel);border:1px solid var(--line);border-radius:17px;align-items:center;gap:22px;padding:23px;display:flex}.achievement-card h3{margin:7px 0;font-size:18px}.achievement-card p:not(.eyebrow){color:var(--muted);font-size:12px}.achievement-card .eyebrow{font-size:8px}.achievement-card small{color:var(--muted);font-size:10px}.medal{color:#81909f;background:radial-gradient(circle,#6b859611,#0000);border:1px solid #81909f40;border-radius:50%;flex:none;place-items:center;width:65px;height:65px;font-size:32px;display:grid}.earned .medal{color:var(--accent);background:radial-gradient(circle,#efc98d18,#0000);border-color:#efc98d66;box-shadow:0 0 25px #efc98d08}.earned .eyebrow{color:var(--accent)}.achievement-progress{background:#ffffff09;border-radius:2px;height:3px;margin:15px 0 5px}.achievement-progress i{background:#efc98d80;border-radius:2px;height:100%;display:block}.settings-grid{grid-template-columns:1fr 1fr;align-items:start;gap:25px;display:grid}.settings-panel{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:26px}.settings-panel>.eyebrow{margin-bottom:20px;line-height:1.8}.setting-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:65px;font-size:14px;display:flex}.setting-row:last-child{border:0}.setting-row label{max-width:45%;line-height:1.5}.toggle{background:#ffffff15;border-radius:30px;width:45px;height:27px;padding:4px;transition:background .2s}.toggle i{background:#8d9ba9;border-radius:50%;width:19px;height:19px;transition:transform .2s;display:block}.toggle.on{background:#a2d4c42b}.toggle.on i{background:var(--mint);transform:translate(18px)}select{max-width:55%;color:var(--ink);background:#0f1c2b;border:1px solid #ffffff18;border-radius:8px;min-height:44px;padding:10px 22px 10px 10px;font-size:12px}.settings-link{text-align:left;width:100%;color:var(--muted);border-bottom:1px solid var(--line);min-height:47px;padding:15px 0;font-size:12px;display:block}.danger{color:#e8a698}.settings-link:hover{color:var(--ink)}.skin-preview{justify-content:center;gap:22px;padding:25px;display:flex}.skin-preview i{color:#233342;background:radial-gradient(circle at 30% 20%,#fff0db,#f4aa91 50%,#a7786f);border-radius:50%;place-items:center;width:38px;height:38px;font-style:normal;display:grid;box-shadow:0 7px 15px #0003}.skin-preview i:nth-child(2){background:radial-gradient(circle at 30% 20%,#fff0db,#9cdbce 50%,#519b91)}.skin-preview i:nth-child(3){background:radial-gradient(circle at 30% 20%,#fff0db,#ebcf82 50%,#b28e53)}.settings-resume{margin-top:25px}.game.main{padding-top:30px}.in-game .sidebar{padding-top:40px}.game-top{justify-content:space-between;align-items:center;margin-bottom:35px;display:flex}.game-top>div{text-align:center}.game-top h1{margin-top:4px;font-size:22px}.game-top .eyebrow{font-size:8px}.game-layout{grid-template-columns:minmax(0,1.65fr) minmax(220px,1fr);align-items:center;gap:36px;display:grid}.puzzle-panel{min-width:0}.game-stats{justify-content:space-between;align-items:center;gap:10px;padding:0 17px;display:flex}.game-stats>div:not(.matched-pill){flex-direction:column;align-items:center;gap:3px;min-width:55px;display:flex}.game-stats span{color:var(--muted);font-size:10px}.game-stats strong{align-items:center;gap:4px;font-size:28px;font-weight:400;display:flex}.game-stats strong small{color:var(--accent);font-size:15px}.matched-pill{border:1px solid var(--line);border-radius:30px;align-items:center;gap:5px;padding:7px 12px;display:flex}.matched-pill .icon{color:var(--mint);width:13px;height:13px}.board-container{aspect-ratio:1;width:100%;max-width:540px;margin:auto;position:relative}.orbit-board{touch-action:none;width:100%;height:100%;display:block;overflow:visible}.orbit-track{cursor:grab}.track-hit{stroke:#0000;stroke-width:37px;fill:none}.track-line{stroke:#95acc338;stroke-width:1px;fill:none;pointer-events:none}.orbit-track.selected .track-line{stroke:#e6c69599;stroke-width:1.4px}.slot{fill:#8fa5bd5c;pointer-events:none}.orbit-track.selected .slot{fill:#e6c69599}.destination{pointer-events:none}.destination.matched>circle{stroke-dasharray:none;opacity:.55}.moon{cursor:grab;filter:drop-shadow(0 3px 5px #0004);pointer-events:none}.moon.at-home{filter:drop-shadow(0 0 7px #f5dfaf28)}.center-star{filter:drop-shadow(0 0 20px #8dbbc21a)}.gate{cursor:pointer;color:#8fa5bd80}.gate-line{stroke:currentColor;stroke-width:1.8px;fill:none;pointer-events:none}.gate.available{color:#a9dfcf}.gate.hinted{color:var(--accent);filter:drop-shadow(0 0 7px var(--accent))}.orbit-controls{justify-content:center;align-items:center;gap:14px;display:flex}.rotation-button{background:var(--panel-light);border:1px solid var(--line);width:52px;height:52px;color:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}.rotation-button.hinted{border-color:var(--accent);box-shadow:0 0 20px #efc98d33}.orbit-selector{border:1px solid var(--line);background:#ffffff04;border-radius:25px;gap:3px;min-width:0;padding:4px;display:flex}.orbit-selector button{white-space:nowrap;min-height:39px;color:var(--muted);border-radius:21px;padding:8px 10px;font-size:10px}.orbit-selector button.active{color:var(--accent);background:#efc98d1c}.drag-caption{text-align:center;color:#93a3b8;margin-top:17px;font-size:10px}.game-companion>.eyebrow{margin-bottom:14px}.game-companion>h2{font-size:29px;font-weight:400;line-height:1.45}.game-companion>.muted{margin-top:15px;font-size:12px}.game-tools{justify-content:space-between;gap:10px;margin-top:28px;display:flex}.tool-button{background:var(--panel);color:#c7d1da;border:1px solid var(--line);border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;min-height:72px;padding:12px 5px;font-size:10px;display:flex}.tool-button .icon{width:21px;height:21px}.tool-button:not(:disabled):hover{color:var(--accent);border-color:#efc98d50}.tutorial-note{color:#c7bbab;background:#efc98d07;border:1px solid #efc98d18;border-radius:12px;align-items:flex-start;gap:12px;margin-top:24px;padding:16px;font-size:11px;line-height:1.6;display:flex}.tutorial-note>span{color:var(--accent);font-size:23px;line-height:1.3}.gate-explanation{color:var(--muted);align-items:flex-start;gap:13px;margin-top:23px;font-size:11px;display:flex}.gate-explanation>.icon{color:var(--mint);width:20px;height:20px;margin-top:3px}.reward-button{width:100%;margin-top:12px}.modal-layer{z-index:100;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);padding:max(20px, var(--top)) 20px max(20px, var(--bottom));background:#040b16b8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:auto}.modal{width:100%;max-width:430px;max-height:calc(100dvh - 40px - var(--top) - var(--bottom));text-align:center;background:linear-gradient(140deg,#213146,#142132);border:1px solid #ffffff18;border-radius:26px;padding:40px 32px 28px;animation:.25s ease-out modal-in;position:relative;overflow:auto;box-shadow:0 30px 130px #0007}.modal>.icon-button{border:0;width:34px;height:34px;position:absolute;top:12px;right:12px}.modal>.icon-button .icon{width:17px;height:17px}.modal>h2{margin:15px 0 13px;font-size:28px;font-weight:400}.modal>p{color:var(--muted);margin:12px 0 25px;font-size:13px}.modal>.button{margin-top:12px}.modal>.text-button{margin-top:16px}.modal-emblem{color:var(--accent);margin:5px 0 15px;font-size:45px;display:block}.help-rules{text-align:left;flex-direction:column;gap:23px;margin:25px 0;display:flex}.help-rules>div{gap:17px;display:flex}.rule-number{color:var(--accent);margin-top:2px;font-size:16px}.help-rules h3{margin-bottom:6px;font-size:16px}.help-rules p{color:var(--muted);font-size:12px}.modal.victory{padding-top:25px}.victory-art{place-items:center;height:115px;display:grid;position:relative}.victory-art span{color:var(--accent);text-shadow:0 0 50px #efc98d30;z-index:2;font-size:60px}.victory-art i{border:1px solid #efc98d38;border-radius:50%;width:125px;height:70px;position:absolute;transform:rotate(-25deg)}.victory-art i:last-child{border-color:#efc98d16;width:90px;height:90px}.victory .stars{gap:11px;margin:10px 0}.victory .stars .icon{width:25px;height:25px}.victory-stats{justify-content:center;gap:50px;margin:24px 0;display:flex}.victory-stats>div{flex-direction:column;gap:6px;display:flex}.victory-stats strong{font-size:29px;font-weight:400}.victory-stats span{color:var(--muted);font-size:11px}.credits{font-size:11px!important}.license-link{text-align:left;color:var(--muted);overflow-wrap:anywhere;min-height:44px;padding:10px 0;font-size:10px;display:block}.license-text{text-align:left;white-space:pre-wrap;color:var(--muted);font-size:10px;line-height:1.6}details{color:var(--muted);text-align:left;margin:20px 0;font-size:12px}summary{cursor:pointer;min-height:44px;padding:12px 0}.toast{left:50%;bottom:calc(30px + var(--bottom));color:#182536;z-index:200;text-align:center;background:#e7d8bc;border-radius:13px;width:max-content;max-width:min(440px,90vw);padding:14px 22px;font-size:12px;position:fixed;transform:translate(-50%);box-shadow:0 8px 40px #0005}.save-error{z-index:300;top:var(--top);color:#fff;background:#803c38;justify-content:center;align-items:center;gap:20px;padding:15px;font-size:12px;display:flex;position:fixed;left:0;right:0}.save-error .button{min-height:36px;padding:8px 15px}.load-error{flex-direction:column;gap:25px;max-width:550px;margin:auto;padding:70px 25px;display:flex}.load-error h1{font-size:27px}.load-error p{color:var(--muted)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.success{color:var(--mint)!important}[data-world=ocean]{--accent:#a3d6cb;--panel:#132b37;--panel-light:#1c3944}[data-world=garden]{--accent:#d5dbab;--panel:#1c2c2d;--panel-light:#2b3b39}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}[data-motion=reduced] *,[data-motion=reduced] :before,[data-motion=reduced] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}@media (min-width:1450px){.main{padding-left:65px;padding-right:65px}.home-hero{min-height:510px}}@media (max-width:1100px){.shell{grid-template-columns:180px minmax(0,1fr)}.sidebar{padding:40px 18px 25px}.main{padding:35px 30px}.hero-copy h1{font-size:83px}.hero-tagline{font-size:21px}.home-hero{min-height:430px}.hero-copy .eyebrow{letter-spacing:.8px;font-size:8px}.hero-art{margin-right:-20px}.world-strip{gap:10px}.compact .world-card-copy{padding:19px 15px}.compact .world-illustration{width:85px;right:-15px}.compact h3{font-size:21px}.game-layout{grid-template-columns:minmax(0,1.4fr) minmax(190px,1fr);gap:22px}.game-companion>h2{font-size:23px}.game-companion>.muted{font-size:11px}.orbit-controls{gap:6px}.rotation-button{width:46px;height:46px}.orbit-selector button{padding:8px 7px;font-size:9px}.achievement-card{gap:15px;padding:20px 16px}.medal{width:48px;height:48px;font-size:27px}.settings-grid{gap:16px}.settings-panel{padding:22px 18px}.world-gallery{gap:15px}.world-gallery .world-card-copy{padding:18px}.world-gallery .world-illustration{height:160px}}@media (max-width:800px){.shell{min-height:100svh;display:block}.sidebar{display:none}.main{padding:calc(24px + var(--top)) 24px calc(105px + var(--bottom));max-width:650px;margin:auto}.mobile-nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid var(--line);padding:8px max(10px, env(safe-area-inset-right)) calc(8px + var(--bottom));z-index:20;background:#0b1626ee;display:block;position:fixed;bottom:0;left:0;right:0}.mobile-nav .navigation{flex-direction:row;justify-content:space-around;gap:0;max-width:550px;margin:auto}.mobile-nav .nav-item{border-radius:9px;flex-direction:column;flex:1;justify-content:center;gap:5px;min-height:53px;padding:5px 1px;font-size:9px;display:flex}.mobile-nav .nav-item.active{background:0 0}.mobile-nav .icon{width:21px;height:21px}.mobile-wordmark{letter-spacing:3px;font-size:20px;display:flex}.desktop-welcome{display:none}.home-top{margin:0 0 5px}.star-pill{padding:6px 10px;font-size:11px}.home-hero{text-align:center;flex-direction:column;min-height:0;display:flex}.hero-art{aspect-ratio:auto;order:-1;width:285px;max-width:90%;height:246px;margin:-5px 0}.hero-art img{width:110%;margin-top:-15px}.art-caption{display:none}.hero-copy .eyebrow{letter-spacing:1.3px;justify-content:center;font-size:8px}.hero-copy h1{letter-spacing:-2px;margin:1px 0 4px;font-size:67px;line-height:1.15}.hero-tagline{max-width:280px;margin:0 auto;font-size:17px;line-height:1.5}.hero-actions{align-items:center;gap:4px;margin-top:21px}.play-button{width:280px;max-width:80vw;padding:14px 20px}.play-button span{font-size:14px}.hero-actions .text-button{min-height:40px;font-size:11px}.journey-section{margin-top:28px}.section-heading{margin-bottom:16px}.section-heading h2{margin-top:4px;font-size:20px}.section-heading .eyebrow{letter-spacing:1.5px;font-size:8px}.section-heading .text-button{font-size:11px}.world-strip{gap:9px}.compact .world-illustration{opacity:1;width:100%;height:88px;position:relative;top:auto;right:auto}.compact .world-card-copy{min-height:110px;padding:0 11px 14px}.compact .eyebrow{letter-spacing:1px;font-size:7px}.compact h3{margin:7px 0;font-size:18px}.compact .world-card-copy>p:not(.eyebrow){display:none}.compact .world-card-foot{align-items:flex-start;min-height:26px;margin-top:10px;font-size:9px;line-height:1.6}.compact .world-card-foot .icon{width:13px;height:13px;margin-top:2px}.locked-world.compact .world-card-foot .icon{flex:none;margin-left:0}.compact .world-card-foot .icon:first-child{width:11px}.journey-footer{gap:15px;margin-top:19px;font-size:9px}.journey-footer>span:last-child{text-align:right}.world-card{border-radius:14px}.world-gallery{grid-template-columns:1fr;gap:18px}.world-gallery .world-card{flex-direction:row;align-items:center;min-height:180px;display:flex}.world-gallery .world-illustration{flex:none;width:42%;height:160px}.world-gallery .world-card-copy{flex:1;padding:20px 20px 20px 0}.world-gallery .world-card h3{font-size:25px}.world-card-foot{margin-top:15px}.page-heading{margin:0 0 28px}.page-heading h1{margin-top:10px;font-size:34px}.page-heading .eyebrow{font-size:8px}.page-heading .muted{font-size:12px}.page-heading .icon-button{width:40px;height:40px}.levels-grid{gap:12px}.level-card{gap:12px;min-height:144px;padding:18px 9px}.level-card>span:last-child{font-size:9px}.level-number{font-size:29px}.level-world-banner{border-radius:15px;gap:8px;margin-bottom:20px;padding-right:15px}.level-world-banner>.world-illustration{width:135px;height:130px}.level-world-banner .world-planet{width:65px;height:65px}.level-world-banner .world-orbit{width:125px;height:55px}.level-world-banner .world-satellite{top:calc(48% - 33px);left:calc(50% + 43px)}.level-world-banner h2{font-size:25px}.level-world-banner .eyebrow{font-size:8px}.level-world-banner p:last-child{font-size:10px}.achievements-grid{grid-template-columns:1fr;gap:13px}.achievement-card{gap:22px;padding:21px}.medal{width:61px;height:61px;font-size:31px}.achievement-overview{padding:3px 0 30px}.settings-grid{grid-template-columns:1fr;gap:19px}.settings-panel{padding:25px}.settings-panel>.eyebrow{font-size:9px}.setting-row{min-height:63px}.game.main{padding:calc(17px + var(--top)) 20px calc(25px + var(--bottom));max-width:540px}.game-top{margin-bottom:22px}.game-top h1{font-size:20px}.game-top .icon-button{width:43px;height:43px}.game-layout{flex-direction:column;gap:0;display:flex}.puzzle-panel{width:100%}.game-stats{padding:0 18px}.game-stats strong{font-size:26px}.board-container{margin-top:5px}.orbit-controls{gap:13px}.rotation-button{width:49px;height:49px}.orbit-selector button{padding:8px 10px;font-size:10px}.drag-caption{margin-top:12px;font-size:9px}.game-companion{width:100%}.game-companion>.eyebrow,.game-companion>.muted{display:none}.game-companion>h2{text-align:center;color:var(--muted);margin:18px 0 -6px;font-size:12px;font-weight:600;line-height:1.5}.game-tools{gap:13px;margin-top:20px}.tool-button{flex-direction:row;gap:8px;min-height:65px;font-size:10px}.tool-button .icon{width:19px;height:19px}.tutorial-note{margin-top:17px;padding:12px 15px;font-size:10px}.tutorial-note>span{font-size:21px}.gate-explanation{margin-top:18px;padding:0 4px;font-size:10px}.game-companion>.quiet-note{display:none}.modal{border-radius:23px;padding:37px 25px 25px}.modal>h2{font-size:25px}.toast{bottom:calc(90px + var(--bottom))}.settings-resume{width:100%}.in-game .main{min-height:100svh}}@media (max-width:360px){.main{padding-left:17px;padding-right:17px}.hero-art{width:260px;height:215px}.hero-copy h1{font-size:59px}.hero-tagline{font-size:15px}.hero-actions{margin-top:17px}.journey-section{margin-top:22px}.compact .world-card-copy{padding:0 9px 12px}.compact h3{font-size:16px}.compact .world-card-foot{gap:4px;font-size:8px}.game.main{padding-left:12px;padding-right:12px}.game-top{margin-bottom:17px}.orbit-controls{gap:8px}.orbit-selector button{padding:7px 8px;font-size:9px}.rotation-button{width:45px;height:45px}.tool-button{gap:5px;font-size:9px}.game-companion>h2{font-size:11px}.levels-grid{grid-template-columns:1fr 1fr}.settings-panel{padding:20px}.setting-row{font-size:13px}.modal>h2{font-size:23px}}@media (max-height:750px) and (max-width:800px){.hero-art{width:250px;height:200px}.hero-copy h1{font-size:56px}.hero-tagline{font-size:15px}.hero-actions{margin-top:17px}.journey-section{margin-top:18px}.compact .world-illustration{height:70px}.game-top{margin-bottom:14px}.game.main{padding-top:calc(13px + var(--top))}.game-stats strong{font-size:23px}.board-container{max-width:330px}.game-companion>h2{margin-top:12px}.game-tools{margin-top:15px}.tool-button{min-height:55px}.tutorial-note{margin-top:14px}.drag-caption{margin-top:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.cosmetics{border-top:1px solid var(--line);text-align:left;margin-top:26px;padding-top:25px}.cosmetics h3{font-size:18px}.cosmetics p{color:var(--muted);margin:9px 0 16px;font-size:11px}.cosmetic-item{justify-content:flex-start;margin:8px 0;padding:12px 16px;font-size:12px}.cosmetic-sample{color:#213143;background:#b9afdb;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;display:grid}.cosmetic-sample.aurora{box-shadow:0 0 16px #b9afdb88}.cosmetic-sample.pearl{background:#e6d2bf;box-shadow:inset -4px -4px 8px #947a85}.cosmetic-sample.bloom{outline-offset:3px;background:#bfd5ae;outline:2px dashed #bfd5ae88}:root{--bg:#101820;--ink:#f1f3f5;--muted:#aeb9c7;--line:#e6edf01a;--glass:linear-gradient(145deg, #ffffff0d, #ffffff03);--glass-raised:linear-gradient(135deg, #8794a23b, #3b465347);--glass-selected:linear-gradient(135deg, #d0d9e12b, #b7c1cc0e);--glass-border:#e0e8f025;--glass-edge:#f1f5fa3b;--glass-shadow:0 8px 24px #0000001f, inset 0 1px 0 #ffffff10;--glass-selected-shadow:inset 0 1px 0 #ffffff24, 0 3px 12px #00000020;color:var(--ink);background:var(--bg)}body{background:radial-gradient(ellipse at 12% 0, #7a889e20, transparent 48%), radial-gradient(ellipse at 96% 60%, #567c7a18, transparent 48%), var(--bg);background-attachment:fixed}.sidebar{background:linear-gradient(150deg,#c7d9ee04,#0000)}.wordmark{letter-spacing:3px;gap:9px;font-size:20px}.home-top{justify-content:flex-end}.desktop-welcome{margin-right:auto}.home-hero{text-align:center;flex-direction:column;gap:22px;min-height:0;padding:38px 0 28px;display:flex}.home-hero .hero-art{aspect-ratio:auto;order:0;width:min(100%,600px);max-width:none;height:auto;margin:0;display:block}.home-brand{width:100%;margin:0;line-height:0}.home-hero .hero-art img{object-fit:contain;mix-blend-mode:normal;filter:drop-shadow(0 8px 18px #00000030);width:100%;height:auto;margin:0;display:block;-webkit-mask-image:none;mask-image:none}.home-hero .hero-copy .eyebrow{white-space:normal;justify-content:center;line-height:1.5}.home-hero .hero-tagline{max-width:none;margin:10px auto 0;font-size:20px}.home-hero .hero-actions{align-items:center;gap:8px;margin-top:24px}.button,.button.primary,.button.secondary,.icon-button,.rotation-button,.tool-button,select{color:var(--ink);background:var(--glass-raised);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(18px)saturate(1.15)}.button.primary{border-top-color:#f1f5fa66;box-shadow:inset 0 1px #ffffff1f,inset 0 -1px #00000014,0 10px 30px #00000024}.play-button{border-radius:20px;min-height:76px}.play-button small{color:var(--muted);opacity:1}.play-button>.icon{border:1px solid var(--glass-border);background:var(--glass);border-radius:50%;width:37px;height:37px;padding:9px}.rotation-button .icon,.tool-button .icon{color:#d0dce9}.button:disabled,.tool-button:disabled{opacity:.48}.settings-panel,.world-card,.world-card.space,.world-card.ocean,.world-card.garden,.level-world-banner,.level-card,.level-card.complete,.achievement-card,.star-pill,.matched-pill,.tutorial-note,.finish-card{background:var(--glass);border-color:var(--glass-border);box-shadow:var(--glass-shadow)}.settings-panel,.world-card,.achievement-card,.level-world-banner{-webkit-backdrop-filter:blur(18px)saturate(1.1)}.level-card.complete,.achievement-card.earned{border-color:#efc98d40}.nav-item.active,.mobile-nav .nav-item.active,.orbit-selector button.active,.finish-card.selected{color:var(--ink);background:var(--glass-selected);box-shadow:var(--glass-selected-shadow);outline:1px solid var(--glass-border);outline-offset:-1px}.orbit-selector{border-color:var(--glass-border);background:#080e1726;box-shadow:inset 0 1px 4px #0000001a}.toggle.on{background:var(--glass-selected);box-shadow:inset 0 0 0 1px var(--glass-edge), var(--glass-selected-shadow)}.toggle.on i{background:#e2eee9;box-shadow:0 1px 5px #0004}select option{color:var(--ink);background:#202a35}.settings-panel,.setting-row select{min-width:0}.modal-layer{-webkit-backdrop-filter:blur(14px);background:#090f1885}.modal{background:var(--glass-raised);border-color:var(--glass-edge);box-shadow:var(--glass-shadow), 0 26px 70px #00000050;-webkit-backdrop-filter:blur(28px)saturate(1.1);background-color:#202b37ed}.modal>.icon-button{box-shadow:none;background:#ffffff08}.achievement-overview{gap:20px;padding:0 0 28px}.collection-trophy{object-fit:contain;filter:drop-shadow(0 10px 16px #0003);width:150px;height:160px}.achievement-card{gap:16px;padding:22px 18px}.achievement-card>div{flex:1;min-width:0}.medal,.earned .medal{width:92px;height:92px;box-shadow:none;background:0 0;border:0}.medal img{object-fit:contain;filter:saturate(.4);opacity:.6;width:100%;height:100%;display:block}.collection-heading{margin:24px 0 16px;font-size:18px;font-weight:600}.mastery-medal{position:relative}.mastery-medal>img{padding:5%}.mastery-badge{color:#b4a993;background:#17202ef0;border:1px solid #d1bb8555;border-radius:20px;justify-content:center;align-items:center;gap:3px;padding:5px 8px;display:flex;position:absolute;bottom:-2%;left:50%;transform:translate(-50%);box-shadow:0 3px 10px #0005}.mastery-badge .icon{width:12px;height:12px}.earned .mastery-badge,.achievement-reveal .mastery-badge{color:#edd294;border-color:#edd29480}.achievement-reveal .mastery-badge{gap:6px;padding:8px 14px}.achievement-reveal .mastery-badge .icon{width:20px;height:20px}.earned .mastery-badge .filled,.achievement-reveal .mastery-badge .filled{fill:currentColor}.victory-art{width:180px;height:155px;margin:-10px auto 12px}.victory-art img{object-fit:contain;filter:drop-shadow(0 10px 18px #0003);width:100%;height:100%}.moon-surface{isolation:isolate;filter:saturate(1.25)}.moon-body{transform-box:view-box;transform-origin:0 0}.motion-layer{pointer-events:none}.motion-halo{transform-box:fill-box;transform-origin:50%}.motion-trail{filter:drop-shadow(0 0 3px)}.moon.in-motion{filter:drop-shadow(0 2px 5px #0003)}.moon-material{mix-blend-mode:multiply;opacity:1;filter:grayscale()contrast(1.12);pointer-events:none}.moon-tint{mix-blend-mode:multiply;opacity:.24;pointer-events:none}.moon-symbol{filter:drop-shadow(0 1px 2px #09121b35)}.finish-current{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;padding:12px 0 20px;font-size:11px;display:flex}.skin-preview{width:180px;height:68px;padding:0;display:block;overflow:visible}.finish-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:24px;display:grid}.finish-card{border:1px solid var(--glass-border);border-radius:15px;flex-direction:column;justify-content:flex-start;align-items:center;gap:6px;min-width:0;padding:12px 5px 10px;font-size:11px;font-weight:800;line-height:1.35;display:flex}.finish-card img{object-fit:contain;filter:drop-shadow(0 5px 8px #0003);width:54px;height:54px;margin-bottom:4px}.finish-card small{color:var(--muted);font-size:8px;font-weight:500;line-height:1.5}.finish-card small .icon{vertical-align:-1px;width:9px;height:9px;margin-right:3px}.finish-card:disabled{opacity:1;color:var(--muted)}.finish-card:disabled img{opacity:.65}.cosmetic-sample{object-fit:contain;background:0 0;border-radius:0;width:48px;height:48px}@media (hover:hover){.button:not(:disabled):hover,.button.primary:not(:disabled):hover,.icon-button:hover,.rotation-button:hover,.tool-button:not(:disabled):hover,.finish-card:not(:disabled):hover{background:var(--glass-selected);border-color:#f1f5fa60}}@media (max-width:1100px){.medal,.earned .medal{width:72px;height:72px}}@media (max-width:800px){.main{padding-bottom:calc(120px + var(--bottom))}.home-hero{gap:22px;padding:28px 0 8px}.home-hero .hero-art{width:min(100%,360px)}.home-hero .hero-tagline{max-width:280px;font-size:17px}.home-hero .hero-actions{gap:4px;margin-top:21px}.mobile-nav{left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));bottom:calc(10px + var(--bottom));border:1px solid var(--glass-edge);background:var(--glass-raised);max-width:620px;box-shadow:var(--glass-shadow), 0 10px 35px #0005;-webkit-backdrop-filter:blur(24px)saturate(1.15);background-color:#202b37cc;border-radius:22px;margin-inline:auto;padding:7px 8px}.mobile-nav .navigation{gap:4px}.mobile-nav .nav-item{border-radius:15px}}@media (max-height:700px){.victory-art{height:110px;margin-bottom:8px}}.game.main{height:100dvh;min-height:520px;padding:calc(24px + var(--top)) 24px calc(24px + var(--bottom));flex-direction:column;display:flex}.game-top{flex-shrink:0;width:100%;max-width:520px;min-height:46px;margin:0 auto 22px}.game-layout{flex-direction:column;flex:1;gap:0;width:100%;max-width:520px;min-height:0;margin:0 auto;display:flex}.puzzle-panel{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.game-stats{flex-shrink:0;padding:0 6px}.game .board-container{width:min(100%, calc(100dvh - 340px - var(--top) - var(--bottom)));aspect-ratio:1;flex:none;max-width:500px;margin:auto}.game-controls{flex-shrink:0;width:100%;padding-top:12px}.game-controls .orbit-selector{width:max-content;max-width:100%;margin:0 auto}.game-tools{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:24px 0 0;display:grid}.orbit-tool{min-width:0;color:var(--muted);border-radius:21px;flex-direction:column;justify-content:center;align-items:center;gap:13px;padding:0 0 4px;font-size:10px;font-weight:800;line-height:1.4;display:flex}.tool-face{border:1px solid var(--glass-edge);color:#c7d4e3;background:var(--glass-raised);width:64px;height:64px;box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(18px)saturate(1.15);border-radius:21px;place-items:center;display:grid}.tool-face .icon{width:28px;height:28px;color:inherit}.tool-label{white-space:nowrap}.orbit-tool:disabled{opacity:.4}.orbit-tool.hinted .tool-face{color:var(--accent);box-shadow:var(--glass-shadow), 0 0 18px #efc98d12;border-color:#efc98d88}.orbit-tool:not(:disabled):active{transform:scale(.97)}.pause-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 0;display:grid}.pause-actions .button{gap:8px;padding:13px 10px;font-size:12px}.pause-actions .icon{width:19px;height:19px}.pause-actions+.button{margin-top:10px}.transfer-choices{gap:12px;margin-top:25px;display:grid}[data-moon-shapes=off] .moon-symbol,[data-moon-shapes=off] .destination-symbol{display:none}@media (hover:hover){.orbit-tool:not(:disabled):hover .tool-face{background:var(--glass-selected);border-color:#f1f5fa60}}@media (max-width:800px){.tool-face{width:59px;height:59px}}@media (max-height:700px){.game.main{padding-top:calc(14px + var(--top));padding-bottom:calc(14px + var(--bottom))}.game-top{margin-bottom:14px}.game-tools{margin-top:18px}.game .board-container{width:min(100%, calc(100dvh - 300px - var(--top) - var(--bottom)))}.tool-face{border-radius:18px;width:52px;height:52px}.tool-face .icon{width:25px;height:25px}.orbit-tool{gap:10px}}.language-setting{border-bottom:1px solid var(--line);padding:18px 0}.language-setting .quiet-note{text-align:left;margin:6px 0 14px}.language-picker{border:1px solid var(--line);background:#0002;border-radius:16px;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:5px;display:grid}.language-picker button{min-width:0;min-height:64px;color:var(--muted);border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:9px 4px;font-size:12px;font-weight:700;display:flex}.language-picker button.active{color:var(--text);background:linear-gradient(145deg,#ffffff25,#ffffff0a);box-shadow:inset 0 1px #ffffff40,0 2px 8px #0002}.language-picker .icon{width:20px;height:20px}.finish-heading{margin:22px 0 12px;font-size:16px}.settings-premium{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.settings-premium .wallet-premium{margin-top:0}.settings-premium .quiet-note{margin:12px 0 0}.world-art{object-fit:contain;filter:drop-shadow(0 12px 16px #0005);width:100%;height:100%;padding:10px;display:block}.world-strip{scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#a5b5c637 transparent;grid-template-columns:none;grid-auto-columns:minmax(140px,1fr);grid-auto-flow:column;max-width:100%;padding:3px 2px 10px;overflow-x:auto}.world-strip .world-card{scroll-snap-align:start}.world-strip .world-illustration{opacity:1;width:100%;height:135px;position:relative;inset:auto}.world-strip .world-card-copy>p:not(.eyebrow){display:none}.world-strip .world-card-foot{min-height:32px;margin-top:12px;font-size:10px;line-height:1.5}.world-strip .locked-world .world-card-foot .icon{flex:none;margin-left:0}.world-gallery .world-illustration{height:230px}.level-world-banner .world-art{padding:6px}.achievement-reveal{aspect-ratio:1;width:min(200px,55vw);margin:16px auto;animation:.5s cubic-bezier(.2,.8,.3,1) both discovery-arrive}.achievement-reveal img{object-fit:contain;filter:drop-shadow(0 12px 25px #0005);width:100%;height:100%}.modal .ceremony-count{color:var(--muted);margin:20px 0 14px;font-size:11px}.confetti-canvas{pointer-events:none;z-index:150;width:100%;height:100%;position:fixed;inset:0}@keyframes discovery-arrive{0%{opacity:0;transform:translateY(12px)scale(.88)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:700px){.world-strip{grid-auto-columns:144px;gap:12px}.world-strip .world-illustration{height:120px}.world-gallery .world-illustration{height:165px}.world-strip .eyebrow{font-size:8px}}@media (prefers-reduced-motion:reduce){.achievement-reveal{animation:none}}html[data-motion=reduced] .achievement-reveal{animation:none}.modal-layer.gameplay-overlay{-webkit-backdrop-filter:blur(14px);background:#080c1259}.gameplay-overlay .modal{-webkit-backdrop-filter:blur(28px)saturate(1.1);background:#252a3366 linear-gradient(135deg,#626c7c38,#30364045);border-color:#f1f5fa55 #f1f5fa38 #f1f5fa38;box-shadow:inset 0 1px #ffffff12,inset 0 -1px #ffffff06,0 26px 70px #00000040}.gameplay-overlay .modal>.icon-button{border:1px solid var(--glass-border);background:var(--glass)}.modal.pause>h2{margin-top:6px}.modal.hint>.eyebrow{margin:6px 0 18px}.modal.help{max-width:460px;padding:30px 26px 24px}.modal.help .tour-label{letter-spacing:1.8px;margin:5px 25px 14px;font-size:9px}.modal.help>h2{text-wrap:balance;align-items:center;min-height:2.5em;margin:0;font-size:25px;line-height:1.25;display:grid}.tour-visual{aspect-ratio:1;pointer-events:none;width:min(100%,270px);margin:2px auto}.tour-visual .orbit-board{touch-action:auto}.tour-visual .destination>circle{stroke-width:2px}.tour-visual .track-line{stroke-width:1.7px}.modal.help>.tour-copy{max-width:350px;min-height:4.5em;margin:2px auto 0;font-size:13px;line-height:1.5}.tour-replay{place-items:center;min-height:36px;display:grid}.tour-replay .text-button{gap:6px;padding:6px;font-size:11px}.tour-replay .icon{width:14px;height:14px}.tour-progress{color:var(--muted);justify-content:space-between;align-items:center;margin:12px 0 16px;font-size:11px;display:flex}.tour-dots{gap:6px;display:flex}.tour-dots i{background:#d1dfed30;border-radius:50%;width:5px;height:5px}.tour-dots i.active{background:#dce6f2}.tour-actions{grid-template-columns:1fr 1.25fr;gap:10px;display:grid}.tour-actions .button{gap:7px;min-width:0;padding:14px 10px;font-size:12px}.tour-actions .icon{flex-shrink:0;width:17px;height:17px}.tour-actions [data-action=tour-prev] .icon{transform:scaleX(-1)}.tour-stills{aspect-ratio:1.65;grid-template-columns:1fr 1fr;align-items:center;gap:8px;width:100%;display:grid}.tour-stills>div{min-width:0}.tour-stills span{color:var(--muted);font-size:10px}.tour-stills .orbit-board{aspect-ratio:1;height:auto}@media (max-width:380px),(max-height:720px){.modal.help{padding:24px 18px 18px}.modal.help>h2{font-size:22px}.tour-visual{width:min(100%,210px)}.tour-stills{aspect-ratio:1.5;width:100%}.tour-actions .button{padding:13px 8px;font-size:11px}.tour-actions .icon{width:14px}}@media (max-height:530px) and (min-width:600px){.modal.help{grid-template-columns:220px 1fr;gap:0 20px;max-width:600px;display:grid}.modal.help .tour-label,.modal.help>h2,.modal.help>.tour-copy,.tour-replay,.tour-progress,.tour-actions{grid-column:2}.tour-visual{grid-area:1/1/7;align-self:center;width:220px}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.modal-layer.gameplay-overlay{background:#080c12b8}.gameplay-overlay .modal{background-color:#252a33ed}}.home-hero .hero-copy{width:min(100%,410px);min-width:0}.mode-picker{background:var(--glass);-webkit-backdrop-filter:blur(20px);border:1px solid #ffffff19;border-radius:24px;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:6px;display:grid;box-shadow:inset 0 1px #ffffff0a,0 12px 30px #0000001a}.mode-option{min-width:0;min-height:76px;color:var(--muted);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:12px 3px;font-size:12px;font-weight:700;transition:color .2s,background .2s,box-shadow .2s;display:flex}.mode-option .icon{width:23px;height:23px}.mode-option:hover{color:var(--ink);background:#ffffff08}.mode-option.active{color:var(--ink);background:var(--glass-selected);border-color:#ffffff30;box-shadow:inset 0 1px #fff2,0 3px 12px #00000024}.mode-option.active .icon{filter:drop-shadow(0 0 7px #d4e3ee60)}.mode-description{max-width:350px;min-height:2.9em;color:var(--muted);text-wrap:balance;margin:13px auto 0;padding-inline:8px;font-size:13px;line-height:1.45}.home-hero .hero-actions{margin-top:12px}.game-stats .mode-counter strong{font-variant-numeric:tabular-nums;white-space:nowrap}.game-stats .mode-counter.urgent{color:#f0b68e}.game-stats .mode-counter.urgent strong{color:#ffc09a}.endless-status{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin:6px 0 0;font-size:11px;display:flex}.endless-status>span{align-items:center;gap:5px;display:inline-flex}.endless-status .icon{width:14px;height:14px}.clock-lesson{color:var(--world-accent);place-items:center;gap:8px;margin:24px auto;display:grid}.clock-lesson .icon{width:72px;height:72px}.clock-lesson strong{font-size:30px}.time-result{font-variant-numeric:tabular-nums}.time-result span{color:var(--muted);margin-top:5px;font-size:12px;display:block}.modal.failed{text-align:center}.failure-emblem{color:#d4dce3;background:linear-gradient(145deg,#ffffff12,#ffffff03);border:1px solid #ffffff26;border-radius:22px;place-items:center;width:68px;height:68px;margin:0 auto 20px;display:grid}.failure-emblem .icon{width:32px;height:32px}@media (max-width:360px){.mode-picker{gap:3px;padding:5px}.mode-option{min-height:70px;font-size:11px}.mode-description{font-size:12px}.game-top .eyebrow{letter-spacing:.1em;font-size:9px}}@media (prefers-reduced-motion:reduce){.mode-option{transition:none}}:root[data-motion=reduced] .mode-option{transition:none}.story-tiers{background:var(--glass);border:1px solid #ffffff24;border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:14px 0;padding:5px;display:grid}.story-tiers button{min-height:46px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:13px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;padding:10px 5px;font-weight:800;display:flex}.story-tiers button[aria-pressed=true]{color:var(--ink);background:var(--glass-selected);border-color:#ffffff40}.story-tiers .icon{width:17px;height:17px}.story-tiers small{opacity:.8;font-size:10px;font-weight:600}.challenge-description{color:var(--muted);max-width:660px;margin:10px 0 22px;font-size:13px;line-height:1.6}.level-card small{color:var(--muted);font-size:10px;line-height:1.35}.story-target{flex-wrap:wrap;gap:3px 10px}.orbit-tool:disabled{opacity:.38;cursor:not-allowed}.orbit-tool:disabled .hint-price .icon{width:10px;height:10px}.level-card>span:last-of-type{color:var(--muted);font-size:12px;line-height:1.4}.home-top{gap:10px}button.wallet{color:#eac98e;font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(14px);background:linear-gradient(145deg,#ffffff12,#ffffff04);border:1px solid #ffffff25;border-radius:18px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:7px 12px;font-size:12px;display:inline-flex;box-shadow:inset 0 1px #ffffff0a}.coin-icon{object-fit:contain;flex-shrink:0}button.wallet .coin-icon{filter:drop-shadow(0 2px 3px #0005);width:26px;height:26px}button.wallet>span{width:18px;height:18px;color:var(--muted);background:#ffffff10;border-radius:50%;place-items:center;display:grid}.game-top{gap:10px}.game-title{flex:1;min-width:0}.game-top h1{white-space:nowrap;font-size:clamp(18px,4.8vw,22px)}.game-top-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.game-top button.wallet{white-space:nowrap;border-radius:16px;gap:5px;min-height:43px;padding:6px 9px;font-size:11px}.game-top button.wallet .coin-icon{width:24px;height:24px}.game-top button.wallet>span{display:none}.game-top>.icon-button{flex-shrink:0}.tool-face{position:relative}.hint-price{color:#eac98e;align-items:center;gap:2px;font-size:9px;line-height:12px;display:flex;position:absolute;bottom:3px}.hint-price .icon{width:10px;height:10px}.coin-reward{color:#eac98e;justify-content:center;align-items:center;gap:6px;font-weight:700;display:flex}.coin-reward .icon{width:20px;height:20px}.coin-emblem{color:#eac98e;margin:0 0 18px;line-height:0}.coin-emblem .coin-icon{filter:drop-shadow(0 8px 12px #0005);width:88px;height:88px}.reward-card{background:#ffffff06;border:1px solid #ffffff20;border-radius:22px;margin:22px 0;padding:18px}.reward-card p{margin-bottom:0;font-size:13px}.wallet-premium>span{min-width:0}.wallet-premium small{color:#eac98e;margin-top:5px;font-size:12px;font-weight:500;line-height:1.5;display:block}.wallet-premium.premium-owned:disabled{opacity:1}.modal .wallet-restore{min-height:44px;margin-top:14px;font-size:12px}@media (max-height:720px){.modal.wallet,.modal.reward{padding:24px 24px 16px}.wallet .coin-emblem,.reward .coin-emblem{margin-bottom:8px}.wallet .coin-emblem .coin-icon,.reward .coin-emblem .coin-icon{width:64px;height:64px}.modal.wallet>h2,.modal.reward>h2{margin:8px 0}.modal.wallet>p,.modal.reward>p{margin:8px 0 12px;font-size:12px;line-height:1.55}.reward-card{margin:14px 0 8px;padding:12px}.reward-card p{margin-top:8px;font-size:12px;line-height:1.55}.modal .wallet-premium{padding:12px;font-size:12px}.wallet-premium small{font-size:11px}}.world-packs{border-top:1px solid #ffffff15;margin-top:26px;padding-top:18px}.world-pack{text-align:left;gap:12px}.world-pack>span{flex:1}.world-pack small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.world-pack img{object-fit:contain;width:64px;height:64px}.world-store .world-illustration{width:190px;height:190px;margin:-10px auto 0}.world-store .world-illustration img{object-fit:contain;width:100%;height:100%}@media (max-width:360px){button.wallet{padding:6px 9px}.home-top .desktop-welcome{display:none}.game-top{gap:7px}.game-top-actions{gap:6px}.game-top .icon-button{width:38px;height:40px}.game-top button.wallet{gap:4px;min-height:40px;padding:5px 7px}.game-top button.wallet .coin-icon{width:22px;height:22px}}#preview-banner{z-index:50;color:#9da9ba;background:#151c26;border-top:1px solid #ffffff25;place-items:center;height:50px;font-size:11px;display:grid;position:fixed;inset:auto 0 0}.preview-banner-visible{--preview-ad-height:50px}.preview-banner-visible .game.main{height:calc(100dvh - 50px)}.preview-banner-visible .game .board-container{width:min(100%, calc(100dvh - 390px - var(--top) - var(--bottom)))}.preview-banner-visible .mobile-nav{bottom:calc(60px + var(--bottom))}.preview-banner-visible .main:not(.game){padding-bottom:calc(170px + var(--bottom))}.preview-banner-visible .modal-layer{bottom:50px}.commerce-preview-layer{z-index:1000;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#050911dc;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.commerce-preview-layer section{text-align:center;background:#1b242f;border:1px solid #ffffff30;border-radius:28px;width:min(100%,400px);padding:28px}.commerce-preview-layer p{color:var(--muted);font-size:13px;line-height:1.6}.commerce-preview-layer button{margin-top:14px}:root{--ad-height:0px}.home-brand img{max-width:650px;margin-inline:auto!important}.wordmark{letter-spacing:.12em;white-space:nowrap;font-size:18px}.hex-board{touch-action:none;min-width:0;position:relative}.hex-board canvas{touch-action:none;outline-offset:-3px;width:100%;height:100%;display:block}.shell.in-game{min-height:0;height:calc(var(--app-height,100dvh) - var(--ad-height,0px));display:block}.in-game .sidebar{display:none}.in-game .main.game{box-sizing:border-box;width:100%;max-width:900px;height:100%;min-height:0;padding:calc(12px + var(--top)) 22px calc(10px + var(--bottom));flex-direction:column;margin:auto;display:flex;overflow:hidden}.game-top{flex:none;gap:8px;margin:0 0 10px}.game-top h1{font-size:23px}.game-title{min-width:0}.game-title .eyebrow{letter-spacing:.13em;white-space:normal;font-size:10px}.game-top-actions{gap:8px}.game-top .wallet{gap:4px;min-width:76px;padding:5px 7px}.game-top .wallet .coin-icon{width:25px;height:25px}.game-top .icon-button{flex:none;width:44px;height:44px}.game-layout{flex:1;justify-content:center;gap:0;width:100%;min-height:0;display:flex}.puzzle-panel{flex-direction:column;flex:1;width:100%;max-width:590px;min-height:0;display:flex}.game-stats{flex:none;grid-template-columns:80px minmax(0,1fr) 70px;align-items:center;gap:8px;padding:4px 8px 8px;display:grid}.game-stats strong{font-variant-numeric:tabular-nums;font-size:25px}.game-stats>div:last-child{text-align:right}.game-stats .matched-pill{text-align:center;justify-content:center;min-height:36px;padding:8px;font-size:11px;line-height:1.3}.game-stats .matched-pill .icon{flex:none;width:15px}.goal-track{background:#ffffff12;border-radius:4px;flex:none;height:3px;margin:0 12px 4px;overflow:hidden}.goal-track i{background:var(--world-accent);border-radius:4px;height:100%;transition:width .3s;display:block}.board-container.hex-board{aspect-ratio:auto;flex:1;width:100%;height:auto;min-height:120px;max-height:none;margin:0;padding:0}.game-controls{flex:none;width:100%;min-width:0;padding:0}.board-instruction{color:var(--muted);text-align:center;min-height:15px;margin:3px 0 8px;font-size:11px;line-height:1.3}.game-tools{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:min(100%,390px);margin:0 auto;display:grid}.orbit-tool{gap:6px;min-width:0;min-height:70px;padding:0 1px}.orbit-tool .tool-face{border-radius:15px;width:52px;height:46px;margin:auto}.orbit-tool .tool-label{white-space:normal;font-size:10px;line-height:1.2}.orbit-tool .hint-price{background:#17212ff0;border-radius:8px;padding:1px 4px;font-size:9px;bottom:-4px;right:-3px}.game-tools>.wide{grid-column:1/-1}.modal{max-height:calc(var(--app-height,100dvh) - 40px - var(--top) - var(--bottom));overflow:auto}.modal .icon-button{min-width:44px;min-height:44px}.modal .world-illustration{width:180px;height:180px;margin:0 auto}.modal .victory-art{height:140px;margin-bottom:12px}.modal .victory-art img{object-fit:contain;width:auto;height:100%;margin:auto}.modal .victory-stats{margin:16px 0}.modal h2{margin-bottom:16px}.license-links{gap:8px;margin:20px 0;display:grid}.license-links button{overflow-wrap:anywhere;text-align:left;font-size:12px;display:block}.license-text{white-space:pre-wrap;overflow-wrap:anywhere;text-align:left;font:12px/1.6 monospace}.demo-download{width:max-content;margin:20px auto;display:flex}.loading-screen{text-align:center;min-height:100dvh;color:var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:24px;display:flex}.loading-screen button{border:1px solid var(--glass-edge);background:var(--glass);border-radius:18px;padding:15px 25px}.main:not(.game){padding-bottom:calc(110px + var(--bottom) + var(--ad-height,0px))}.mobile-nav{bottom:calc(var(--ad-height,0px) + var(--bottom))}.level-card>span:last-child{white-space:normal;max-width:100%;font-size:11px;line-height:1.4}@media (max-width:600px){.in-game .main.game{padding:calc(9px + var(--top)) 10px calc(7px + var(--bottom))}.game-top h1{font-size:20px}.game-top .eyebrow{font-size:9px}.game-top{margin-bottom:6px}.game-stats{grid-template-columns:68px minmax(0,1fr) 50px;gap:5px;padding-inline:8px}.game-stats strong{font-size:22px}.game-stats>div>span{font-size:10px}.game-tools{gap:7px}.orbit-tool .tool-face{width:48px;height:44px}.orbit-tool{min-height:64px}.home-hero .hero-art{width:100%;max-width:500px}.home-hero{gap:20px;padding-top:35px}.home-top .eyebrow{font-size:8px}.world-strip{grid-auto-columns:144px}}@media (max-width:360px){.game-top-actions>.icon-button{display:none}.game-top .wallet{min-width:70px}.game-stats .matched-pill,.board-instruction{font-size:10px}.mode-option{font-size:11px}}@media (max-height:500px) and (min-width:600px){.in-game .main.game{max-width:1200px;padding:5px 15px}.game-top{height:45px;margin:0}.puzzle-panel{grid-template-rows:1fr;grid-template-columns:145px minmax(180px,1fr) 145px;align-items:stretch;gap:12px;max-width:1000px;display:grid}.endless-status{flex-direction:column;grid-area:1/1;align-self:end;gap:3px;padding:0 0 6px;font-size:10px}.puzzle-panel:has(.endless-status) .game-stats{padding-bottom:45px}.game-stats{flex-direction:column;grid-area:1/1;justify-content:center;align-items:stretch;padding:4px;display:flex}.game-stats>div,.game-stats>div:last-child{text-align:center}.game-stats strong{font-size:24px}.goal-track{display:none}.board-container.hex-board{grid-area:1/2;min-height:0}.game-controls{grid-area:1/3;align-self:center}.game-tools{grid-template-columns:repeat(2,1fr);gap:9px}.board-instruction{margin:0 0 12px}.orbit-tool{min-height:58px}}@media (prefers-reduced-motion:reduce){.goal-track i{transition:none}}@media (max-width:800px){.mobile-nav{bottom:calc(var(--ad-height,0px) + var(--bottom))}.shell:not(.in-game) .main{padding-bottom:calc(105px + var(--bottom) + var(--ad-height,0px))}}.achievement-card .medal{flex:none;width:88px;height:88px}.medal img{filter:grayscale();opacity:.48}.earned .medal img{filter:drop-shadow(0 5px 10px #0003);opacity:1}.achievement-card .eyebrow{letter-spacing:.16em;font-size:9px}.modal .victory-art{height:clamp(110px,22dvh,190px)}.modal .victory-art img{max-width:100%;display:block}.achievement-reveal{width:min(210px,52vw)}@media (max-width:360px){.achievement-card{gap:14px;padding:18px 14px}.achievement-card .medal{width:72px;height:72px}}:root{--accent:#e2e5e9;--world-accent:#e2e5e9;--mint:#dce1e6;--panel:#192129;--panel-light:#242d36}body{overscroll-behavior:none}body[data-theme=glass]{--accent:#e2e5e9;--world-accent:#e2e5e9}button.wallet,.star-pill,.hint-price,.tool-face,.coin-reward,.new-award{color:var(--ink)}.button,.icon-button,.nav-item,select,.tool-face,.mode-option,.language-picker button{corner-shape:squircle}.icon-button{border-radius:15px}.button{border-radius:18px}.play-button>.icon{border-radius:12px}button.wallet,.star-pill{border-radius:14px}.wordmark{letter-spacing:1.8px;padding:0;font-size:17px}.wordmark img{object-fit:contain;width:100%;max-width:158px;height:108px;display:block}.sidebar-foot{font-size:11px}.home-hero{gap:20px;padding:26px 0 20px}.home-hero .hero-art{width:min(100%,340px)}.home-hero .hero-art img{object-fit:contain;width:100%;height:clamp(165px,24dvh,245px)}.home-hero .hero-copy{width:min(100%,410px)}.home-hero .hero-actions{gap:2px}.play-button{width:100%;min-height:68px}.section-heading h2{margin:0;font-size:20px}.section-heading{margin:14px 0}.journey-footer{color:var(--muted);justify-content:space-between;gap:12px;margin:18px 0;font-size:11px;display:flex}.world-card:hover,.level-tile:hover{border-color:var(--glass-edge)}.world-image{width:100%;height:170px;position:relative;overflow:hidden}.world-image img{object-fit:cover;width:100%;height:100%;display:block}.world-number,.world-lock{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#151c27a6;border:1px solid #ffffff24;border-radius:10px;place-items:center;min-width:28px;height:28px;font-size:10px;display:grid;position:absolute;top:10px}.world-number{left:10px}.world-lock{right:10px}.world-lock .icon{width:14px;height:14px}.locked-world .world-image img{opacity:.55;filter:saturate(.35)}.world-card-copy{padding:16px}.world-card h3{font-size:19px}.world-card-foot{margin-top:12px}.world-strip{gap:12px}.world-strip .world-card-copy{min-height:92px;padding:9px 12px 12px}.world-strip h3{margin:0;font-size:15px}.world-strip .world-card-foot{min-height:20px;margin-top:8px;font-size:10px}.world-strip .world-card-foot .icon{width:13px;height:13px}.progress-line{background:#ffffff14;border-radius:3px;height:2px;margin-top:12px;overflow:hidden}.progress-line i{background:var(--ink);height:100%;display:block}.world-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;display:grid}.page-heading{margin:32px 0 24px}.page-heading h1{font-size:30px}.levels-heading{align-items:center;gap:16px;margin:24px 0;display:flex}.levels-heading h1{font-size:28px}.levels-heading img{object-fit:cover;border-radius:16px;width:90px;height:74px;margin-left:auto}.tier-picker{border:1px solid var(--glass-border);background:var(--glass);border-radius:20px;grid-template-columns:1fr 1fr;gap:6px;max-width:410px;padding:5px;display:grid}.tier-picker .button{box-shadow:none;min-height:44px;color:var(--muted);background:0 0;border:1px solid #0000;padding:10px;font-size:12px}.tier-picker .chosen{background:var(--glass-selected);color:var(--ink);border-color:var(--glass-edge)}.tier-description{color:var(--muted);max-width:650px;margin:14px 0 24px;font-size:13px}.level-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.level-tile{border:1px solid var(--glass-border);background:var(--glass);min-height:150px;box-shadow:var(--glass-shadow);border-radius:20px;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;display:flex}.level-tile.current{background:var(--glass-selected);border-color:var(--glass-edge)}.stage-no{font-size:26px;font-weight:700}.level-tile strong{font-size:12px}.level-tile small{color:var(--muted);font-size:10px}.stars{justify-content:center;align-items:center;gap:4px;display:inline-flex}.stars .icon{width:17px;height:17px}.stars .filled{fill:currentColor;color:var(--ink)}.stars .empty{color:#ffffff30}.awards-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.award-card{border:1px solid var(--glass-border);background:var(--glass);box-shadow:var(--glass-shadow);border-radius:22px;padding:20px 12px}.award-art{width:100px;max-width:100%;margin:0 auto 12px;position:relative}.award-art img{filter:grayscale();opacity:.4;width:100%;display:block}.award-art>span{background:var(--panel);border:1px solid var(--glass-edge);border-radius:8px;place-items:center;width:24px;height:24px;display:grid;position:absolute;bottom:0;right:0}.award-art>span .icon{width:14px}.award-card h2{margin-bottom:7px;font-size:14px}.award-card small{color:var(--muted);font-size:11px}.settings-layout{grid-template-columns:1fr 1fr;gap:20px;display:grid}.settings-panel h2{margin-bottom:16px;font-size:19px}.settings-panel p{font-size:13px}.setting-row{cursor:pointer;position:relative}.setting-row>span:first-child{flex:1}.setting-row input{opacity:0;cursor:pointer;width:46px;height:30px;position:absolute;right:0}.switch-track{border:1px solid var(--glass-border);pointer-events:none;background:#ffffff0b;border-radius:10px;flex:none;width:44px;height:26px;padding:3px}.switch-track:after{content:"";background:#7a828a;border-radius:6px;width:18px;height:18px;transition:transform .15s;display:block}input:checked+.switch-track{background:var(--glass-selected);border-color:var(--glass-edge)}input:checked+.switch-track:after{background:var(--ink);transform:translate(18px)}input:focus-visible+.switch-track{outline:2px solid var(--ink);outline-offset:3px}.settings-actions{gap:8px;margin-top:18px;display:grid}.settings-actions .button{justify-content:flex-start;min-height:46px;padding:12px 14px;font-size:12px}.save-status{color:var(--muted);margin-top:20px;font-size:10px!important}.legacy-note{margin-top:12px}.game-top,.game-layout{max-width:590px}.game-title h1{text-overflow:ellipsis;overflow:hidden}.game-top .game-top-actions{text-align:initial}.game-stats{margin:0}.game-stats>div:not(.matched-pill){gap:2px}.game-stats .matched-pill{box-shadow:none;background:0 0;border:0;align-items:center;gap:8px;display:flex}.game-stats .matched-pill strong{color:var(--ink);font-size:18px}.game-stats .matched-pill span{color:var(--muted);font-size:10px}.game-stats .matched-pill.is-key-goal{flex-direction:column;gap:2px;padding:0 4px}.game-stats .is-key-goal [data-goal]{justify-content:center;gap:6px}.game-stats .is-key-goal .goal-key-icon{width:22px;height:22px;color:var(--ink)}.game-stats .is-key-goal .goal-key-copy{color:var(--ink);font-size:12px;font-weight:650;line-height:1.2}@media (max-height:500px) and (min-width:600px){.game-stats .is-key-goal [data-goal]{flex-direction:column;gap:4px}}.game .board-container.gem-board-container{aspect-ratio:auto;width:100%;min-width:0;max-width:none;height:auto;min-height:0;max-height:none;box-shadow:none;background:0 0;border:0;flex:1;margin:0;padding:0;display:flex;position:relative}.gem-board{touch-action:none;-webkit-user-select:none;user-select:none;flex:1;grid-template-rows:repeat(8,minmax(0,1fr));grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;min-width:0;min-height:0;padding:3px 0;display:grid}.gem-cell{touch-action:none;isolation:isolate;background:0 0;border:1px solid #0000;border-radius:13px;place-items:center;min-width:0;min-height:0;padding:2px;display:grid;position:relative}.gem-piece>img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 3px 3px #0002);width:100%;min-width:0;height:100%;min-height:0}.gem-cell.gold-floor{background:linear-gradient(145deg,#eed49a30,#c69a4e18);border-color:#e6c78340;box-shadow:inset 0 1px #ffe6ad20}.gem-cell.double-floor:before{content:"";z-index:-1;border:1px solid #e6c78355;border-radius:9px;position:absolute;inset:4px}.gem-cell.selected,.gem-cell.hinted{background-color:#ffffff12;border-color:#ffffffd0;box-shadow:0 0 0 1px #ffffff40,inset 0 0 14px #ffffff12}.gem-cell:focus-visible{outline-offset:-2px;outline-color:#fff}.gem-cell:not(:disabled):active{transform:none}.gem-symbol{pointer-events:none;color:#fff;text-shadow:0 1px 4px #000d;opacity:.85;place-items:center;font-size:clamp(11px,3.4vw,21px);display:grid;position:absolute;inset:0}.key-gem,.prism-gem{color:#ffe3a0;text-shadow:0 2px 8px #efbe6566;font-size:clamp(26px,8vw,48px);line-height:1}.prism-gem{color:#fff;text-shadow:-2px 0 5px #f6a,2px 0 5px #6ef}.match-feedback{text-align:center;color:#fff;text-shadow:0 3px 15px #000;opacity:0;pointer-events:none;z-index:5;width:100%;font-size:27px;font-weight:800;transition:opacity .15s,transform .2s;position:absolute;top:40%;left:0;transform:translateY(8px)}.match-feedback.show{opacity:1;transform:none}.game-tools{grid-template-columns:repeat(3,minmax(0,1fr));max-width:270px}.tool-face .icon{width:23px;height:23px}.orbit-tool.armed .tool-face{border-color:var(--ink);background:var(--glass-selected)}.orbit-tool .hint-price{color:var(--muted);border:1px solid var(--glass-border);background:#202830}.board-instruction{margin-top:6px;margin-bottom:6px}.modal-layer{bottom:var(--ad-height,0px)}.modal{max-height:calc(100dvh - var(--ad-height,0px) - var(--top) - var(--bottom) - 32px)}.modal>.eyebrow{padding:0 28px}.modal>p{font-size:13px}.modal-actions{flex-direction:column;gap:10px;margin-top:22px;display:flex}.modal-actions .button{width:100%}.modal .result-art{object-fit:contain;width:125px;height:125px;margin:8px auto 16px;display:block}.modal .locked-art{object-fit:cover;border-radius:18px;width:100%;max-height:190px;margin:18px auto;display:block}.result-stats{justify-content:space-evenly;gap:12px;margin:20px 0;display:flex}.result-stats>div{flex-direction:column;gap:3px;display:flex}.result-stats strong{font-size:25px}.result-stats span{color:var(--muted);font-size:11px}.award-progress,.wallet-big{margin:20px 0;font-size:26px!important}.wallet-big{justify-content:center;align-items:center;gap:10px;display:flex}.wallet-big .icon{width:42px;height:42px}.tutorial-demo{justify-content:center;align-items:center;gap:5px;min-height:90px;margin:20px auto;display:flex}.tutorial-demo>div{place-items:center;width:55px;height:65px;display:grid;position:relative}.tutorial-demo img{object-fit:contain;width:100%;height:100%}.tutorial-key{color:#ffe3a0;font-size:48px}.tutorial-key small{font-size:22px;display:block}.tutorial-dots{justify-content:center;gap:6px;margin:20px;display:flex}.tutorial-dots i{background:#ffffff30;border-radius:50%;width:5px;height:5px}.tutorial-dots .on{background:var(--ink)}.credits-copy{text-align:left}.credits-copy p{margin:16px 0;font-size:12px}.credits-copy a{color:var(--ink);text-underline-offset:3px}#toast{z-index:300;bottom:calc(88px + var(--bottom) + var(--ad-height));border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);max-width:min(90vw,440px);color:var(--ink);text-align:center;opacity:0;pointer-events:none;background:#26303aeb;border-radius:16px;padding:13px 18px;font-size:12px;transition:all .2s;position:fixed;left:50%;transform:translate(-50%,10px)}#toast.visible{opacity:1;transform:translate(-50%)}.reduce-motion *,.reduce-motion :before,.reduce-motion :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}@media (max-width:800px){.settings-layout{grid-template-columns:1fr}.awards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:600px){.home-hero{gap:15px;padding:18px 0 10px}.home-hero .hero-art{width:100%}.home-hero .hero-art img{height:clamp(140px,22dvh,200px)}.home-hero .hero-copy{width:100%}.mode-option{min-height:68px}.mode-description{margin-top:10px;font-size:12px}.world-grid{grid-template-columns:1fr 1fr;gap:12px}.world-grid .world-image{height:130px}.world-grid .world-card-copy{padding:12px}.world-card h3{font-size:16px}.world-grid .world-card p{font-size:11px}.level-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.level-tile{min-height:136px;padding:12px 6px}.awards-grid{grid-template-columns:1fr 1fr;gap:10px}.levels-heading h1{font-size:22px}.levels-heading img{width:64px;height:64px}.game-top .wallet{min-width:64px}.game-top .wallet .coin-icon{width:19px;height:19px}.game-top .game-title .eyebrow{letter-spacing:.08em;font-size:8px}.gem-cell{border-radius:10px;padding:0}}@media (max-height:500px) and (min-width:600px){.game-top,.game-layout{max-width:1000px}.game .board-container.gem-board-container{grid-area:1/2}.game-tools{grid-template-columns:1fr;gap:4px}.orbit-tool{min-height:58px}.board-instruction{margin:0 0 8px}}.web-demo-note{color:#ffffffb0;background:#ffffff08;border:1px solid #ffffff25;border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding:12px 16px;font-size:.8rem;display:flex}.web-demo-note a{color:#fff;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.web-demo-note .icon{width:16px;height:16px}.icon-button,.game-top .icon-button,.modal .icon-button,.play-button>.icon{corner-shape:round;aspect-ratio:1;border-radius:50%}.home-top>.icon-button{width:42px;min-width:42px;height:42px}.button,button.wallet,.game-top button.wallet,.star-pill,select{corner-shape:squircle;border-radius:18px}.button.play-button{border-radius:28px}.mode-option,.mobile-nav .nav-item,.nav-item,.orbit-tool .tool-face{corner-shape:squircle;border-radius:18px}.orbit-tool .tool-face{width:48px;height:48px}.orbit-tool{border-radius:22px}.level-tile,.award-card,.world-card{border-radius:26px}.tier-picker .button{border-radius:22px}.switch-track{border-radius:999px}.switch-track:after{border-radius:50%}body[data-theme=classic]{--bg:#090909;--panel:#171717;--panel-light:#292929;--ink:#f4f4f4;--muted:#bababa;--accent:#e6e6e6;--world-glow:#909090;--world-surface:#555;--world-edge:#dedede}body[data-theme=dewlight]{--bg:#102019;--panel:#1c3027;--panel-light:#294238;--ink:#eef7f0;--muted:#b4cdbd;--accent:#9ce6b9;--world-glow:#6ec496;--world-surface:#38594a;--world-edge:#abdcbf;--scene-opacity:.62}body[data-theme=tideglass]{--bg:#10212e;--panel:#1b3040;--panel-light:#25475b;--ink:#eef8ff;--muted:#b0ccdc;--accent:#9cdef3;--world-glow:#62bdda;--world-surface:#2d536b;--world-edge:#b0dced;--scene-opacity:.68}body[data-theme=ember]{--bg:#271a22;--panel:#3a2930;--panel-light:#51383e;--ink:#fff5ee;--muted:#d3b9b6;--accent:#ffc29c;--world-glow:#e1976a;--world-surface:#6b4241;--world-edge:#e7b7a2;--scene-opacity:.63}body[data-theme=moonveil]{--bg:#192039;--panel:#28324e;--panel-light:#3c4966;--ink:#f3f6ff;--muted:#bdc9e5;--accent:#c4d4ff;--world-glow:#9aaae5;--world-surface:#48587e;--world-edge:#c3d1f5;--scene-opacity:.72}body[data-theme=sunspire]{--bg:#292334;--panel:#3c3348;--panel-light:#504557;--ink:#fff9ed;--muted:#d9ccdf;--accent:#f8dba5;--world-glow:#d6af86;--world-surface:#615264;--world-edge:#e6d3b6;--scene-opacity:.67}body[data-world]{--world-accent:var(--accent);--mint:var(--accent);--glass:linear-gradient(145deg, color-mix(in srgb, var(--world-surface) 30%, transparent), #ffffff03);--glass-raised:linear-gradient(135deg, color-mix(in srgb, var(--world-surface) 78%, transparent), color-mix(in srgb, var(--world-surface) 30%, transparent));--glass-selected:linear-gradient(135deg, color-mix(in srgb, var(--world-edge) 25%, transparent), color-mix(in srgb, var(--world-surface) 32%, transparent));--glass-border:color-mix(in srgb, var(--world-edge) 20%, transparent);--glass-edge:color-mix(in srgb, var(--world-edge) 38%, transparent);--line:var(--glass-border);color:var(--ink);background:radial-gradient(ellipse at 6% 0, color-mix(in srgb, var(--world-glow) 13%, transparent), transparent 60%), radial-gradient(ellipse at 95% 86%, color-mix(in srgb, var(--world-glow) 9%, transparent), transparent 55%), var(--bg);background-attachment:fixed}#world-atmosphere{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}#world-atmosphere>img{object-fit:cover;object-position:center;opacity:.74;width:100%;height:100%}.atmosphere-shade{background:linear-gradient(180deg, color-mix(in srgb, var(--bg) 34%, transparent), color-mix(in srgb, var(--bg) 53%, transparent) 55%, var(--bg));position:absolute;inset:0}body{isolation:isolate}body[data-theme=classic]{background-color:#0000;background-image:radial-gradient(at 14% 0,#33333385,#0000 65%),linear-gradient(155deg,#1d1d1d 0%,#101010 46%,#030303 100%);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box;background-clip:border-box,border-box}html[data-scene=game] #world-atmosphere>img{opacity:.4}html[data-scene=game] .atmosphere-shade{background:radial-gradient(ellipse at center, color-mix(in srgb, var(--bg) 85%, transparent) 25%, color-mix(in srgb, var(--bg) 40%, transparent))}body[data-world] .mode-option.active,body[data-world] .tier-picker .chosen{border-color:var(--glass-edge)}body[data-world] .gameplay-overlay .modal{background:linear-gradient(145deg, color-mix(in srgb, var(--panel-light) 83%, transparent), color-mix(in srgb, var(--bg) 85%, transparent));border-color:var(--glass-edge)}body[data-world] .mobile-nav{background:linear-gradient(135deg, color-mix(in srgb, var(--panel-light) 85%, transparent), color-mix(in srgb, var(--panel) 88%, transparent))}body[data-world] .orbit-tool .hint-price{background:var(--panel)}body[data-world] .gem-cell.gold-floor{corner-shape:squircle;border-radius:12px}body[data-theme=dewlight] .gem-cell.gold-floor{background:linear-gradient(150deg,#f3d89535,#d2b97115)}body[data-theme=tideglass] .gem-cell.gold-floor{background:linear-gradient(150deg,#f4dfaa3c,#d2be7115)}body[data-theme=ember] .gem-cell.gold-floor{background:linear-gradient(150deg,#fdd9893d,#dc944c20)}body[data-theme=moonveil] .gem-cell.gold-floor{background:linear-gradient(150deg,#f4e9af38,#d1b56817)}body[data-theme=sunspire] .gem-cell.gold-floor{background:linear-gradient(150deg,#ffe6a53c,#dfbc7320)}.world-card{background:linear-gradient(150deg, var(--card-glow), var(--card-base))}.world-image{isolation:isolate;height:205px}.world-image:before{content:"";z-index:-1;background-image:linear-gradient(180deg, transparent, var(--card-base)), var(--world-cover);opacity:.65;background-position:50%;background-size:cover;position:absolute;inset:0}.world-image img,.locked-world .world-image img{object-fit:contain;opacity:1;filter:drop-shadow(0 8px 12px #0003);padding:12px}.world-number .icon{width:14px;height:14px}.world-card-copy{background:linear-gradient(180deg, var(--card-base), transparent)}.world-strip .world-image{height:128px}.world-strip .world-image img{padding:6px}.world-card.selected-world{border-color:var(--glass-edge);box-shadow:inset 0 1px 0 #ffffff32, var(--glass-shadow)}.levels-heading img{object-fit:contain}.modal .locked-art{object-fit:contain;width:190px;height:190px}.award-art img{filter:grayscale();opacity:.55}.earned .award-art img{filter:none;opacity:1}.gem-piece>img{filter:drop-shadow(0 3px 5px #0004)}.tutorial-demo>.gem-piece{object-fit:contain;width:74px;height:85px}@media (max-width:600px){.world-grid .world-image{height:145px}.world-grid .world-image img{padding:8px}}.world-caption{display:none}.world-grid{scroll-snap-type:none;grid-template-columns:minmax(0,1fr);grid-auto-columns:auto;grid-auto-flow:row;gap:14px;display:grid;overflow:visible}.world-grid .world-card{text-align:left;flex-direction:row;align-items:center;width:100%;min-height:156px;display:flex}.world-grid .world-image{flex:none;align-self:center;width:clamp(120px,34%,174px);height:150px}.world-grid .world-image:before{display:none}.world-grid .world-image img{padding:12px}.world-grid .world-card-copy{background:0 0;flex:1;min-width:0;min-height:0;padding:20px 20px 20px 4px}.world-grid .world-card h3{font-size:24px}.world-grid .world-card p{font-size:12px}.world-grid .world-number{top:7px;left:7px}.world-grid .world-lock{top:auto;bottom:7px;right:7px}@media (max-width:360px){.world-grid .world-image{width:108px;height:128px}.world-grid .world-card h3{font-size:21px}.world-grid .world-card-copy{padding-right:14px}}@media (min-width:801px){.main.worlds .page-heading{margin-bottom:34px}.main.worlds .page-heading h1{font-size:42px}.main.worlds .page-heading .muted{max-width:none}.world-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.world-grid .world-card{background:radial-gradient(ellipse at 45% 0%, var(--card-glow), transparent 85%), var(--card-base);flex-direction:column;align-items:stretch;min-height:388px}.world-grid .world-image{align-self:stretch;width:100%;height:228px}.world-grid .world-image img{padding:20px 24px 4px}.world-grid .world-card-copy{flex-direction:column;padding:10px 22px 22px;display:flex}.world-grid .world-card .world-caption{color:var(--card-accent);margin:0 0 4px;font-size:10px;display:block}.world-grid .world-card h3{font-size:25px}.world-grid .world-card-foot{margin-top:auto;padding-top:22px}.world-grid .world-number,.world-grid .world-lock{display:none}.world-grid .selected-world .world-lock{display:grid;top:16px;bottom:auto;right:16px}}@media (min-width:1101px){.world-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.achievement-overview{justify-content:center;align-items:center;gap:20px;margin:4px auto 24px;padding:12px 0;display:flex;overflow:hidden}.achievement-overview strong{font-size:38px;font-weight:850}.achievement-overview strong span{color:var(--muted);font-size:20px}.achievement-overview p{color:var(--muted);margin:4px 0;font-size:13px}.reward-display{isolation:isolate;aspect-ratio:1;pointer-events:none;flex-shrink:0;width:min(230px,55vw);margin:12px auto 20px;position:relative}.reward-display.collection-trophy{width:min(140px,35vw);margin:0}.reward-display.trophy-display{width:min(210px,48vw)}.reward-float{z-index:1;animation:4.6s ease-in-out .7s infinite reward-float;position:absolute;inset:0}.reward-display img,.modal .reward-display img.result-art{object-fit:contain;filter:drop-shadow(0 12px 18px #0006);width:100%;height:100%;margin:0;display:block}.reward-halo{z-index:0;background:radial-gradient(circle, color-mix(in srgb, var(--reward-glow) 27%, transparent), transparent 66%);border-radius:50%;animation:4.6s ease-in-out infinite reward-breathe;position:absolute;inset:-18%}.reward-rays{z-index:0;background:repeating-conic-gradient(from 0deg, color-mix(in srgb, var(--reward-glow) 16%, transparent) 0deg 11deg, transparent 11deg 24deg);animation:46s linear infinite reward-turn;position:absolute;inset:-35%;-webkit-mask-image:radial-gradient(circle,#000 8%,#0000 68%);mask-image:radial-gradient(circle,#000 8%,#0000 68%)}.reward-sheen{-webkit-mask-image:var(--reward-mask);mask-image:var(--reward-mask);-webkit-mask-image:var(--reward-mask);background:linear-gradient(112deg,#0000 35%,#fff0 42%,#ffffff7a 49%,#ffffff24 52%,#0000 59%) 145% 0/320% 100%;animation:6s ease-in-out .8s infinite reward-sheen;position:absolute;inset:0;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.reward-spark{z-index:2;width:15px;height:15px;filter:drop-shadow(0 0 5px var(--reward-glow));clip-path:polygon(50% 0,61% 38%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 38%);background:#f4fcff;animation:3.2s ease-in-out infinite reward-twinkle;position:absolute}.spark-0{top:26%;left:10%}.spark-1{width:10px;height:10px;animation-delay:-1s;top:15%;right:9%}.spark-2{animation-delay:-2s;bottom:20%;right:13%}.spark-3{width:8px;height:8px;animation-delay:-.5s;bottom:7%;left:24%}.modal.achievement,.modal.result,.modal.award{overflow:hidden auto}.achievement-reveal,.trophy-display{animation:.65s cubic-bezier(.16,.8,.25,1.1) both medal-arrival}.modal.achievement .eyebrow{color:var(--ink);letter-spacing:.14em}.achievement-count{color:var(--muted);font-size:12px}.reward-display.unearned img{filter:grayscale(.65)brightness(.8)drop-shadow(0 10px 18px #0005);opacity:.8}.reward-display.unearned .reward-spark,.reward-display.unearned .reward-sheen{display:none}.reward-display.unearned .reward-rays{opacity:.22;animation:none}.reward-display.unearned :is(.reward-float,.reward-halo){animation:none}.modal.award .progress-line{width:160px;margin:12px auto 24px}.award-card.earned .award-art{isolation:isolate}.award-card.earned .award-art:before{content:"";z-index:-1;opacity:.3;background:radial-gradient(circle,#ffffff20,#0000 68%);transition:opacity .3s;position:absolute;inset:-18%}.award-card.earned .award-art img{transition:transform .3s,filter .3s}.award-card.earned:is(:hover,:focus-visible) .award-art img{filter:drop-shadow(0 7px 10px #ffffff17);transform:translateY(-4px)}.award-card.earned:is(:hover,:focus-visible) .award-art:before{opacity:1}.modal.result .stars .filled{animation:.5s ease-out .2s both reward-star}.modal.result .stars .filled:nth-child(2){animation-delay:.35s}.modal.result .stars .filled:nth-child(3){animation-delay:.5s}.retry-emblem{background:#ffffff0c;border:1px solid #ffffff2d;border-radius:28px;place-items:center;width:96px;height:96px;margin:20px auto;display:grid}.retry-emblem .icon{width:42px;height:42px}@keyframes medal-arrival{0%{opacity:0;transform:translateY(20px)scale(.65)rotate(-9deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}@keyframes reward-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes reward-turn{to{transform:rotate(360deg)}}@keyframes reward-twinkle{0%,to{opacity:.15;transform:scale(.45)rotate(0)}50%{opacity:1;transform:scale(1)rotate(20deg)}}@keyframes reward-breathe{0%,to{opacity:.6;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}@keyframes reward-sheen{0%,15%{opacity:0;background-position:145% 0}20%{opacity:.8}42%{opacity:0;background-position:-45% 0}to{opacity:0;background-position:-45% 0}}@keyframes reward-star{0%{opacity:0;transform:scale(.4)rotate(-20deg)}to{opacity:1;transform:scale(1)rotate(0)}}.fx-paused :is(.reward-display,.reward-display *,.modal.result .stars .filled){animation-play-state:paused}.reduce-motion :is(.reward-display,.reward-display *,.modal.result .stars .filled){animation:none}.reduce-motion .reward-sheen{display:none}.reduce-motion .reward-spark{opacity:.7}.reduce-motion .award-card .award-art img{transition:none;transform:none!important}@media (prefers-reduced-motion:reduce){:is(.reward-display,.reward-display *,.modal.result .stars .filled){animation:none}.reward-sheen{display:none}.reward-spark{opacity:.7}.award-card .award-art img{transition:none;transform:none!important}}@media (max-height:600px){.reward-display{width:130px;margin:6px auto 10px}.reward-display.trophy-display{width:120px}}.gem-piece{pointer-events:none;width:100%;min-width:0;height:100%;min-height:0;display:block;position:relative}.gem-style-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.gem-style-picker button{min-height:92px}.gem-style-picker img{object-fit:contain;width:44px;height:44px}.gem-piece>img{z-index:1;object-fit:contain;width:100%;height:100%;display:block;position:relative}.gem-power-aura{pointer-events:none;place-items:center;display:grid;position:absolute;inset:-9%}.gem-power-art{object-fit:contain;filter:drop-shadow(0 0 3px #ffffff65);width:100%;height:100%}.power-column .gem-power-art{transform:rotate(90deg)}.power-bomb .gem-power-aura{inset:-5%}.gem-piece:has(.gem-power-aura)>.gem-art{transform:scale(.86)}.gem-energy{z-index:2;-webkit-mask-image:var(--gem-image);mask-image:var(--gem-image);-webkit-mask-image:var(--gem-image);position:absolute;inset:0;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.gem-special-shine{z-index:2;pointer-events:none;-webkit-mask-image:var(--gem-image);mask-image:var(--gem-image);-webkit-mask-image:var(--gem-image);background:linear-gradient(110deg,#0000 38%,#fff9 49%,#0000 60%) 0 0/300% 100%;animation:3.8s ease-in-out infinite gem-special-shine;position:absolute;inset:0;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.special-prism>.gem-art{filter:drop-shadow(0 0 5px #c488ff88)}.special-key>.gem-art{filter:drop-shadow(0 0 5px #ffd77877)}@keyframes gem-special-shine{0%,20%{opacity:0;background-position:130% 0}30%{opacity:.85}55%,to{opacity:0;background-position:-30% 0}}.power-row .gem-energy{background:linear-gradient(#0000 40%,#c3f4ff66 44%,#f4fcff 48%,#fff 50%,#d9f8ff 52%,#c3f4ff66 56%,#0000 60%)}.power-column .gem-energy{background:linear-gradient(90deg,#0000 40%,#c3f4ff66 44%,#f4fcff 48%,#fff 50%,#d9f8ff 52%,#c3f4ff66 56%,#0000 60%)}.power-bomb .gem-energy{background:radial-gradient(circle,#fff 0 6%,#fff2d8 8%,#ffe8ae99 14%,#0000 24% 31%,#fff4d9e8 33%,#ffecb366 37%,#0000 43%)}.gem-piece:has(.gem-energy)>img{filter:drop-shadow(0 2px 3px #0005)drop-shadow(0 0 3px #e0f4ff35)}.gem-energy{animation:3s ease-in-out infinite gem-charge}.power-column .gem-energy{animation-delay:-1s}.power-bomb .gem-energy{animation-delay:-2s}@keyframes gem-charge{0%,to{opacity:.75}50%{opacity:1}}.tutorial-demo>.gem-piece{width:74px;height:85px}.fx-paused :is(.gem-energy,.gem-special-shine){animation-play-state:paused}.reduce-motion .gem-special-shine{display:none}.reduce-motion .gem-energy{opacity:1;animation:none}@media (prefers-reduced-motion:reduce){.gem-special-shine{display:none}.gem-energy{opacity:1;animation:none}}.gem-fx-layer{z-index:35;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.gem-praise{--combo-color:#edf6ff;z-index:36;pointer-events:none;text-align:center;isolation:isolate;filter:drop-shadow(0 6px 12px #06101bc4);animation:1.2s cubic-bezier(.18,.85,.28,1) both gem-praise-pop;position:fixed;transform:translate(-50%,-50%)}.gem-praise strong{font-family:Fredoka,Nunito,sans-serif;font-size:var(--praise-size,clamp(32px, 9vw, 48px));letter-spacing:-.02em;color:#fff9e8;text-shadow:0 3px #182e49,0 6px #182e49,0 8px 16px #000b;-webkit-text-stroke:3px #182e49;paint-order:stroke fill;font-weight:700;line-height:1.08;display:block}.gem-praise.combo{animation-duration:1.55s}.gem-praise.combo strong{font-size:var(--combo-size,96px);letter-spacing:-.06em;color:var(--combo-color);-webkit-text-stroke:4px #182e49;text-shadow:0 4px 0 #182e49, 0 8px 0 #182e49, 0 0 30px color-mix(in srgb, var(--combo-color) 60%, transparent);line-height:.94}.gem-combo-kicker,.gem-combo-cheer{color:#fff;-webkit-text-stroke:2px #182e49;paint-order:stroke fill;text-shadow:0 3px #182e49,0 4px 12px #0009;font-family:Fredoka,Nunito,sans-serif;font-weight:750;display:block}.gem-combo-kicker{letter-spacing:.18em;margin:0 0 4px .18em;font-size:20px}.gem-combo-cheer{margin-top:10px;font-size:clamp(23px,6.5vw,36px)}.combo-step-3 .gem-combo-cheer,.combo-step-4 .gem-combo-cheer{color:var(--combo-color)}.gem-praise span{color:#f1faff;letter-spacing:.02em;background:#101d2def;border:1px solid #fff5;border-radius:12px;max-width:94%;margin-top:8px;padding:5px 12px;font-size:14px;font-weight:850;display:inline-block}.gem-praise.combo span{text-shadow:0 2px #182e49,0 3px 10px #000c;background:0 0;border:0;padding:0;font-size:18px}.gem-praise span:empty{display:none}.gem-praise-rays{z-index:-1;background:repeating-conic-gradient(from 0deg, color-mix(in srgb, var(--combo-color) 42%, transparent) 0deg 9deg, transparent 9deg 22deg);animation:1.55s ease-out both gem-praise-rays;position:absolute;inset:-60% -5%;-webkit-mask-image:radial-gradient(#000 5%,#0000 66%);mask-image:radial-gradient(#000 5%,#0000 66%)}.gem-praise.tier-0 .gem-praise-rays{display:none}.gem-praise.assist strong{font-size:clamp(24px,7vw,36px)}@keyframes gem-praise-pop{0%{opacity:0;transform:translate(-50%,-36%)scale(.48)rotate(-7deg)}14%{opacity:1;transform:translate(-50%,-50%)scale(1.15)rotate(3deg)}25%{opacity:1;transform:translate(-50%,-50%)scale(.97)rotate(-1deg)}35%,72%{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)}to{opacity:0;transform:translate(-50%,-65%)scale(1.07)}}@keyframes gem-praise-rays{0%{transform:rotate(-16deg)scale(.7)}to{transform:rotate(32deg)scale(1.16)}}.gem-praise.still,.reduce-motion .gem-praise{animation:none}.gem-praise.still .gem-praise-rays,.reduce-motion .gem-praise-rays,.reduce-motion .gem-fx-layer{display:none}@media (prefers-reduced-motion:reduce){.gem-praise{animation:none}.gem-praise-rays,.gem-fx-layer{display:none}}.modal-layer.finish-overlay{padding:max(24px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);background:radial-gradient(at 50% 35%,#ffffff12,#0000 65%),#090c0fd4;inset:0}.modal.finish-screen{width:min(100%,520px);max-width:520px;max-height:calc(100dvh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom));text-align:center;background:linear-gradient(145deg,#ffffff17,#ffffff08);border:1px solid #ffffff21;border-radius:36px;padding:30px 32px;box-shadow:0 30px 100px #0000004d}.finish-screen .eyebrow{letter-spacing:.2em;margin:0 0 12px;font-size:11px}.finish-screen .trophy-display{width:196px;height:196px;margin:0 auto 12px}.finish-screen h2{text-wrap:balance;margin:8px 0 14px;font-size:clamp(25px,5vw,34px);line-height:1.15}.finish-screen .stars{gap:9px;margin:0 0 6px;display:inline-flex}.finish-screen .result-stats{border-block:1px solid #ffffff1a;grid-auto-columns:1fr;grid-auto-flow:column;gap:8px;margin:20px 0;padding:20px 0;display:grid}.finish-screen .result-stats strong{font-size:clamp(23px,6vw,29px)}.finish-screen .result-stats span{font-size:11px}.finish-coins strong{justify-content:center;align-items:center;gap:4px;display:flex}.finish-coins .coin-icon{width:28px;height:28px}.finish-summary{opacity:.75;margin:0 0 22px;font-size:13px;line-height:1.5}.finish-world{text-align:left;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:21px;align-items:center;gap:14px;margin:0 0 22px;padding:10px 14px;display:flex}.finish-world img{object-fit:contain;flex:0 0 60px}.finish-world span{flex:1}.finish-world small{letter-spacing:.1em;opacity:.65;font-size:9px;display:block}.finish-world strong{font-size:20px;font-weight:600}.finish-world>svg{opacity:.7;width:18px}.finish-screen .modal-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.finish-screen .modal-actions .wide{grid-column:1/-1}.finish-screen .button{border-radius:19px;min-height:52px;padding:14px 10px;font-size:13px}.finish-screen .button:disabled{opacity:.5;cursor:wait}.finish-screen[aria-busy=true] .primary{animation:1s ease-in-out infinite alternate finish-wait}@keyframes finish-wait{to{opacity:.25}}.reduce-motion .finish-screen[aria-busy=true] .primary{animation:none}@media (max-width:560px){.modal-layer.finish-overlay{padding:0}.modal.finish-screen{width:100%;max-width:none;min-height:100%;max-height:100dvh;padding:max(24px, env(safe-area-inset-top)) 24px max(24px, env(safe-area-inset-bottom));box-shadow:none;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:stretch;display:flex}.finish-screen .stars{align-self:center}.finish-screen .trophy-display{flex-shrink:0}}@media (max-height:720px){.finish-screen .trophy-display{width:136px;height:136px;margin-bottom:4px}.finish-screen .result-stats{margin:12px 0;padding:12px 0}.finish-screen h2{font-size:25px}.finish-summary,.finish-world{margin-bottom:14px}}@media (max-height:500px){.modal.finish-screen{justify-content:flex-start;padding:18px 24px}.finish-screen .trophy-display{width:100px;height:100px}}
