:root{--ink:#f6efe9;--dim:#f6efe99e;--glass:#140e146b;--line:#ffffff21;--accent:#ffad5c;--bg:#170c10;--display:"Fraunces", Georgia, serif;--ui:"Manrope", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.world-1{--accent:#4fe3d3;--bg:#06121c;--glass:#06142073}.world-2{--accent:#b993ff;--bg:#0c0a1c;--glass:#0e0a2073}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--ink);font-family:var(--ui);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.hub{-webkit-tap-highlight-color:transparent;white-space:nowrap;color:#fff6e8;min-width:44px;max-width:44px;height:44px;font:700 14px var(--ui);background:color-mix(in srgb, var(--bg) 55%, #ffffff14);-webkit-backdrop-filter:blur(10px);border-radius:999px;flex:none;align-items:center;gap:0;padding:0 10px;text-decoration:none;transition:max-width .5s cubic-bezier(.2,.9,.25,1.15),gap .3s,background .2s,transform .2s;display:inline-flex;overflow:hidden;box-shadow:0 6px 20px -6px #0009}.oftr-mark{flex:none;width:24px;height:24px}.hub-label{opacity:0;transition:opacity .2s}@media (hover:hover){.hub:hover{background:color-mix(in srgb, var(--bg) 30%, #ffffff29);gap:8px;max-width:240px}.hub:hover .hub-label{opacity:1}}.hub:focus-visible{outline-offset:3px;outline:2px solid #ffc94d;gap:8px;max-width:240px}.hub:focus-visible .hub-label{opacity:1}.hub:active{transform:scale(.94)}.title>.hub{top:calc(14px + env(safe-area-inset-top));z-index:2;position:absolute;left:16px}.card .hub{margin:4px auto 0}.head-l{align-items:center;gap:8px;display:inline-flex}.hub-row{min-height:48px;color:var(--ink);background:#ffffff12;border-radius:16px;justify-content:center;align-items:center;gap:10px;margin-top:10px;font-size:14px;font-weight:700;text-decoration:none;transition:background .2s,transform .2s;display:flex}.hub-row:hover{background:#ffffff1f}.hub-row:active{transform:scale(.97)}.app{background:var(--bg);transition:background .6s;position:fixed;inset:0;overflow:hidden}.stage{position:absolute;inset:0}.stage canvas{touch-action:manipulation;width:100%;height:100%;display:block}.vignette{pointer-events:none;background:radial-gradient(120% 90% at 50% 45%,#0000 55%,#0000008c);position:absolute;inset:0}.screen-select .vignette{-webkit-backdrop-filter:blur(3px);background:radial-gradient(90% 70% at 50% 40%,#04020640,#040206b3)}.hits{pointer-events:none;position:absolute;inset:0}.hit{pointer-events:auto;touch-action:manipulation;background:0 0;border:0;border-radius:50%;position:absolute;top:0;left:0}.hit:active{background:radial-gradient(circle,#ffffff24,#0000 70%)}.hit:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.title{padding:calc(70px + env(safe-area-inset-top)) 16px calc(22px + env(safe-area-inset-bottom));text-align:center;pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;inset:0}.title>:not(.rays){pointer-events:auto}.title-top,.title-actions{flex-direction:column;align-items:center;width:100%;display:flex}.title-top{pointer-events:none}.rays{aspect-ratio:1;pointer-events:none;mix-blend-mode:screen;opacity:.22;background:repeating-conic-gradient(#0000 0deg 9deg,#ff4b5a80 10deg,#0000 12deg 21deg,#ffd84f73 22deg,#0000 24deg 33deg,#4bf3ff73 34deg,#0000 36deg 45deg,#b993ff80 46deg,#0000 48deg 60deg);width:170vmax;animation:80s linear infinite spin;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);-webkit-mask-image:radial-gradient(closest-side,#0000 8%,#000 22%,#0000 70%);mask-image:radial-gradient(closest-side,#0000 8%,#000 22%,#0000 70%)}@keyframes spin{to{transform:translate(-50%,-50%)rotate(1turn)}}.mark{filter:drop-shadow(0 0 22px #ffad5c8c);height:60px;margin-bottom:-8px;animation:6s ease-in-out infinite bob}.mark .prism{width:92px;height:74px}@keyframes bob{50%{transform:translateY(-5px)rotate(-3deg)}}.logo{font-family:var(--display);letter-spacing:-.03em;background:linear-gradient(100deg,#fff 0%,#ffe3c2 30%,#ff8a7a 44%,#ffd43b 52%,#6dffa8 60%,#5ec8ff 70%,#c79bff 80%,#fff 100%) 0 0/220% 100%;color:#0000;filter:drop-shadow(0 6px 30px #ffaa7859)drop-shadow(0 0 60px #ff785a40);-webkit-background-clip:text;background-clip:text;margin:0;padding:0 .08em;font-size:clamp(76px,22vw,150px);font-style:italic;font-weight:300;line-height:.95;animation:9s ease-in-out infinite alternate sheen}@keyframes sheen{0%{background-position:0 0}to{background-position:100% 0}}.tag{font-family:var(--display);color:var(--dim);text-wrap:balance;margin:12px 0 0;font-size:18px;font-weight:400;line-height:1.4}.title-actions{gap:12px;width:min(400px,100%);margin-top:auto}.title-actions .row{gap:10px;width:100%;display:flex}.title-actions .row>*{flex:1;padding:0 14px}.chip-n{color:var(--accent);background:#ffffff1f;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:800}.fine{letter-spacing:.2em;text-transform:uppercase;color:#f6efe966;margin:6px 0 0;font-size:11px}.enter>*{animation:.7s cubic-bezier(.2,.9,.25,1.15) both rise-in}.enter>:nth-child(2){animation-delay:70ms}.enter>:nth-child(3){animation-delay:.14s}.enter>:nth-child(4){animation-delay:.21s}.enter>:nth-child(5){animation-delay:.28s}.enter>:nth-child(6){animation-delay:.35s}.enter>:nth-child(7){animation-delay:.42s}.enter>:nth-child(8){animation-delay:.49s}.enter>:nth-child(9){animation-delay:.56s}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)scale(.96)}}.primary,.ghost,.pill{isolation:isolate;letter-spacing:.01em;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:0 26px;font-size:16px;font-weight:700;transition:transform .22s cubic-bezier(.2,.9,.25,1.15),background .2s,opacity .2s,box-shadow .25s,filter .2s;display:inline-flex;position:relative;overflow:hidden}.primary{background:linear-gradient(120deg, #fffaf3 0%, color-mix(in srgb, var(--accent) 35%, #fff) 45%, var(--accent) 100%);color:#1a0d08;box-shadow:0 12px 40px -10px color-mix(in srgb, var(--accent) 85%, transparent), inset 0 1px 0 #fffc, inset 0 -3px 0 #501e002e}.primary:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(105deg,#0000 35%,#ffffffb3 50%,#0000 65%);transition:transform .7s;position:absolute;inset:0;transform:translate(-120%)}@media (hover:hover){.primary:hover,.ghost:hover,.pill:not(:disabled):hover{filter:brightness(1.08);transform:translateY(-2px)}.primary:hover{box-shadow:0 18px 56px -10px color-mix(in srgb, var(--accent) 100%, transparent), inset 0 1px 0 #fffc, inset 0 -3px 0 #501e002e}.primary:hover:after{transform:translate(120%)}.ghost:hover{background:#ffffff29}}.primary:active,.ghost:active,.pill:not(:disabled):active{filter:brightness(.95);transition-duration:80ms;transform:translateY(1px)scale(.96)}.primary.huge{width:100%;min-height:76px;font-family:var(--display);border-radius:26px;place-content:center;gap:0;font-size:26px;font-weight:500;line-height:1.1;display:grid}.primary.huge small{font-family:var(--ui);opacity:.66;letter-spacing:.02em;font-size:13px;font-weight:700}.ghost,.pill{-webkit-backdrop-filter:blur(14px);background:#ffffff1a;box-shadow:0 8px 24px -8px #0009}.pill:disabled{opacity:.35;cursor:default}.select{padding:calc(10px + env(safe-area-inset-top)) 16px calc(32px + env(safe-area-inset-bottom));flex-direction:column;justify-content:safe center;align-items:center;display:flex;position:absolute;inset:0;overflow-y:auto}.select-head{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;width:100%;max-width:980px;padding:8px 0 4px;display:grid}.select-head h1{font-family:var(--display);white-space:nowrap;text-align:center;margin:0;font-size:clamp(19px,5.4vw,24px);font-style:italic;font-weight:400}.total{color:var(--ink);background:#ffffff1a;border-radius:999px;justify-self:end;align-items:center;gap:5px;min-height:36px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.icon{-webkit-backdrop-filter:blur(14px);background:#ffffff1a;border:0;border-radius:50%;flex:none;place-items:center;width:46px;height:46px;transition:transform .2s,background .2s;display:grid;box-shadow:0 6px 18px -6px #0009}.icon:active{transform:scale(.92)}.prisms{grid-template-columns:repeat(3,minmax(0,150px));justify-content:center;gap:6px;width:100%;margin-top:10px;display:grid}.world-pick{opacity:.42;filter:saturate(.5);background:0 0;border:0;border-radius:24px;justify-items:center;gap:2px;padding:10px 4px 8px;transition:transform .35s cubic-bezier(.2,.9,.25,1.15),opacity .3s,filter .3s,background .3s;display:grid}.world-pick .prism{width:100%;max-width:120px;height:auto;overflow:visible}.world-pick .fan,.world-pick .ray-in{opacity:.25;transition:opacity .4s}.world-pick.on{opacity:1;filter:saturate(1) drop-shadow(0 0 24px color-mix(in srgb, var(--wp) 70%, transparent));background:radial-gradient(closest-side, color-mix(in srgb, var(--wp) 22%, transparent), transparent);transform:translateY(-8px)scale(1.06)}.world-pick.on .fan,.world-pick.on .ray-in{opacity:1}.world-pick.on .fan{animation:2.4s ease-in-out infinite shimmer}@keyframes shimmer{50%{opacity:.7}}@media (hover:hover){.world-pick:not(.on):hover{opacity:.75;filter:saturate(.85);transform:translateY(-3px)}}.world-pick:active{transform:scale(.95)}.wp-0{--wp:#ffad5c}.wp-1{--wp:#4fe3d3}.wp-2{--wp:#b993ff}.wp-name{font-family:var(--display);font-size:19px;line-height:1.1}.wp-stars{color:var(--wp);letter-spacing:.04em;font-size:12px;font-weight:800}.world-info{text-align:center;margin:8px 0 6px;animation:.5s cubic-bezier(.2,.9,.25,1.15) both rise-in}.world-n{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:800}.world-info h2{font-family:var(--display);letter-spacing:-.01em;text-shadow:0 0 40px color-mix(in srgb, var(--accent) 60%, transparent);margin:0;font-size:46px;font-style:italic;font-weight:300;line-height:1.05}.crystals{grid-template-columns:repeat(3,minmax(0,120px));justify-content:center;gap:6px 10px;width:100%;display:grid}.tile{text-align:center;background:radial-gradient(closest-side,#ffffff0d,#0000);border:0;border-radius:22px;flex-direction:column;align-items:center;gap:3px;padding:6px 4px 8px;transition:transform .3s cubic-bezier(.2,.9,.25,1.15),filter .25s;display:flex}.crystal{color:#ffffff1a;width:50px;height:66px;transition:filter .3s;overflow:visible}.crystal text{font-family:var(--display);fill:#ffffffd9;font-size:17px;font-weight:600}.tile.done .crystal{color:var(--accent);filter:drop-shadow(0 0 10px color-mix(in srgb, var(--accent) 80%, transparent)) drop-shadow(0 0 26px color-mix(in srgb, var(--accent) 45%, transparent))}.tile.done .crystal text{fill:#1a0d08}.tile.next .crystal{color:color-mix(in srgb, var(--accent) 45%, #1b1b1b);animation:1.8s ease-in-out infinite wake}.tile.next{background:radial-gradient(closest-side, color-mix(in srgb, var(--accent) 26%, transparent), transparent)}@keyframes wake{50%{filter:drop-shadow(0 0 16px var(--accent));transform:translateY(-3px)}}.tile:disabled{cursor:default}.tile:disabled .tile-name{opacity:.4}@media (hover:hover){.tile:not(:disabled):hover{filter:brightness(1.15);transform:translateY(-4px)scale(1.04)}}.tile:not(:disabled):active{transform:scale(.94)}.tile-name{color:var(--ink);align-items:center;min-height:2.4em;font-size:12px;font-weight:700;line-height:1.2;display:flex}.stars{gap:2px;display:inline-flex}.stars svg{fill:#ffffff29}.stars svg.on{fill:var(--accent);filter:drop-shadow(0 0 6px color-mix(in srgb, var(--accent) 60%, transparent))}@media (width>=900px){.prisms{grid-template-columns:repeat(3,190px);gap:24px}.world-pick .prism{max-width:160px}.crystals{grid-template-columns:repeat(9,104px);gap:8px}.crystals>:nth-child(2n){margin-top:34px}.crystal{width:58px;height:76px}}@media (height<=760px) and (width<=899px){.crystal{width:42px;height:56px}.world-info h2{font-size:38px}}.hud-top{padding:calc(10px + env(safe-area-inset-top)) 14px 0;pointer-events:none;position:absolute;top:0;left:0;right:0}.hud-top>*{pointer-events:auto}.bar{align-items:center;gap:10px;max-width:620px;margin:0 auto;display:flex}.lvl{text-align:center;flex:1;min-width:0}.lvl-id{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:800}.lvl-name{font-family:var(--display);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:26px;font-weight:400;line-height:1.15;overflow:hidden}.meta{color:var(--dim);justify-content:center;align-items:center;gap:18px;margin:8px auto 0;font-size:13px;font-weight:600;display:flex}.meta b{color:var(--ink);font-variant-numeric:tabular-nums;margin-left:3px;font-size:15px}.crys{gap:6px;display:inline-flex}.dot{opacity:.3;background:currentColor;border-radius:50%;width:9px;height:9px;transition:all .3s;display:inline-block}.dot.lit{opacity:1;background:currentColor;box-shadow:0 0 10px}.c1{color:#ff4b5a}.c2{color:#4bff86}.c4{color:#5b93ff}.c3{color:#ffd84f}.c6{color:#4bf3ff}.c5{color:#ff5bf3}.c7{color:#fff}.hint{left:50%;bottom:calc(96px + env(safe-area-inset-bottom));text-align:center;-webkit-backdrop-filter:blur(14px);width:max-content;max-width:calc(100% - 32px);color:var(--ink);pointer-events:none;background:#ffffff1a;border-radius:16px;margin:0;padding:10px 16px;font-size:14px;line-height:1.35;animation:.6s .4s both rise;position:absolute;transform:translate(-50%);box-shadow:0 10px 30px -10px #000000b3}@keyframes rise{0%{opacity:0;transform:translate(-50%,10px)}}.hud-bottom{padding:0 16px calc(20px + env(safe-area-inset-bottom));justify-content:center;gap:12px;display:flex;position:absolute;bottom:0;left:0;right:0}.pill{min-width:132px}.card-wrap{z-index:10;padding:16px 16px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(#0000 40%,#00000080);justify-content:center;align-items:flex-end;animation:.5s both fade;display:flex;position:absolute;inset:0}@keyframes fade{0%{opacity:0}}.card{text-align:center;background:color-mix(in srgb, var(--bg) 70%, transparent);-webkit-backdrop-filter:blur(22px)saturate(1.3);width:min(420px,100%);box-shadow:0 30px 80px -20px #000000b3, 0 0 60px -20px color-mix(in srgb, var(--accent) 40%, transparent);border-radius:30px;padding:26px 22px 20px;animation:.6s cubic-bezier(.2,.9,.25,1.1) both up}@keyframes up{0%{opacity:0;transform:translateY(40px)}}.card-kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0;font-size:11px;font-weight:800}.card h2{font-family:var(--display);margin:4px 0 10px;font-size:52px;font-style:italic;font-weight:300;line-height:1}.card .stars svg{animation:.5s cubic-bezier(.3,1.6,.5,1) both pop}.card .stars svg:nth-child(2){animation-delay:.15s}.card .stars svg:nth-child(3){animation-delay:.3s}@keyframes pop{0%{opacity:0;transform:scale(.2)}}.card-stats{color:var(--dim);margin:10px 0 18px;font-size:14px;font-weight:600}.card-actions{flex-direction:column;gap:10px;display:flex}.card.won{background:color-mix(in srgb, var(--bg) 88%, transparent);padding-top:18px;position:relative}.card.won h2{background:linear-gradient(100deg,#fff 0%,#ffe3c2 25%,#ff8a7a 40%,#ffd43b 52%,#6dffa8 62%,#5ec8ff 74%,#c79bff 86%,#fff 100%) 0 0/220% 100%;color:#0000;-webkit-background-clip:text;background-clip:text;padding:0 .1em;animation:4s ease-in-out infinite alternate sheen}.won-crystals{justify-content:center;gap:8px;margin:-50px 0 8px;display:flex}.won-crystals>span{animation:.6s cubic-bezier(.3,1.6,.5,1) both pop}.won-crystals .crystal{color:currentColor;filter:drop-shadow(0 0 10px)drop-shadow(0 0 22px);width:34px;height:46px}.burst{pointer-events:none;opacity:0;mix-blend-mode:screen;background:repeating-conic-gradient(#0000 0deg 7deg,#ff4b5a8c 8deg,#0000 10deg 17deg,#ffd84f80 18deg,#0000 20deg 27deg,#4bff8673 28deg,#0000 30deg 37deg,#5b93ff8c 38deg,#0000 40deg 48deg);width:1100px;height:1100px;margin-bottom:-550px;margin-left:-550px;animation:1.2s cubic-bezier(.2,.9,.25,1) .1s forwards burst,40s linear infinite spin2;position:absolute;bottom:300px;left:50%;-webkit-mask-image:radial-gradient(closest-side,#000 10%,#0000 70%);mask-image:radial-gradient(closest-side,#000 10%,#0000 70%)}@keyframes burst{0%{opacity:0;transform:scale(.3)}to{opacity:.7;transform:scale(1)}}@keyframes spin2{to{rotate:1turn}}.card-actions .row{gap:10px;display:flex}.card-actions .row>*{flex:1}::view-transition-old(root){animation:.3s ease-in both vt-out}::view-transition-new(root){animation:.5s cubic-bezier(.2,.9,.25,1.15) both vt-in}@keyframes vt-out{to{opacity:0;filter:blur(6px);transform:scale(1.06)}}@keyframes vt-in{0%{opacity:0;filter:blur(6px);transform:scale(.94)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}.tut .hit:after{content:"";border:2px solid var(--accent);pointer-events:none;border-radius:50%;animation:1.4s ease-out infinite tap;position:absolute;inset:6%}@keyframes tap{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(1.5)}}.tut-bubble{pointer-events:auto;gap:2px;padding-bottom:4px;display:grid}.tut-bubble b{font-size:16px}.skip{color:var(--dim);background:0 0;border:0;justify-self:center;min-height:36px;padding:0 8px;font-size:13px;text-decoration:underline}.card .pic{width:180px;height:76px;margin:4px auto 0;display:block}.card.intro h2,.card.help h2{font-size:40px}.card.help{text-align:left;max-height:100%;overflow-y:auto}.card.help h2{text-align:center}.card.help ul{gap:10px;margin:0 0 18px;padding:0;list-style:none;display:grid}.card.help li{color:var(--dim);grid-template-columns:96px 1fr;align-items:center;gap:12px;font-size:14px;line-height:1.35;display:grid}.card.help li b{color:var(--ink)}.card.help .pic{width:96px;height:41px;margin:0}.card.intro,.card.help{background:color-mix(in srgb, var(--bg) 94%, transparent)}.card.help .primary{width:100%}.soundchip{z-index:20;left:50%;bottom:calc(env(safe-area-inset-bottom) + 228px);white-space:nowrap;color:#120a0c;background:var(--ink);box-shadow:0 10px 40px -10px color-mix(in srgb, var(--accent) 80%, transparent);border-radius:999px;padding:10px 18px;font-size:14px;font-weight:700;animation:1.8s ease-in-out infinite chip;position:fixed;transform:translate(-50%)}@keyframes chip{50%{box-shadow:0 0 34px -4px color-mix(in srgb, var(--accent) 90%, transparent)}}
