@import url('data:text/css,');
:root{color-scheme:dark;--bg:#080d22;--panel:#111936;--text:#f8fbff;--muted:#9ca8c9;--line:rgba(202,213,255,.12);--cyan:#5de4ff;--pink:#ed75ee;--gold:#ffce75;--violet:#937bff;--shadow:0 25px 80px rgba(0,0,0,.4)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{background:#080d22}body{margin:0;color:var(--text);font:500 14px/1.42 system-ui,-apple-system,'Segoe UI',sans-serif;overflow-x:hidden}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.45;cursor:not-allowed}a{color:#9ceeff}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:active{transform:scale(.975)}[hidden]{display:none!important}.aurora{position:fixed;pointer-events:none;border-radius:50%;filter:blur(80px);opacity:.43;z-index:-1}.aurora-1{width:60vw;height:65vh;background:#3f1c98;left:-20vw;top:-10vh}.aurora-2{width:55vw;height:55vh;background:#034c8f;right:-13vw;bottom:-14vh}.desktop-intro{display:none}.app-shell{position:relative;max-width:475px;min-height:100dvh;margin:auto;overflow:hidden;background:linear-gradient(145deg,#080f2a 0%,#0b1231 50%,#111331 100%);box-shadow:0 0 0 1px #ffffff10;isolation:isolate}.app-shell:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#87b8ff44 1px,transparent 1px);background-size:43px 63px;mask-image:linear-gradient(#000,transparent 55%);pointer-events:none;z-index:-1}.topbar{height:69px;padding:10px 19px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff0a;position:relative;z-index:3}.brand-btn{display:flex;align-items:center;gap:7px;background:none;border:0;padding:0;font-size:23px;font-weight:880;letter-spacing:-1.1px;white-space:nowrap;text-shadow:0 0 25px #658fff39}.brand-btn b,.warm{color:var(--gold)}.brand-glyph{color:#65eeff;text-shadow:0 0 15px #28d1ff;font-size:35px}.top-actions{display:flex;align-items:center;gap:7px}.level-chip,.coin-chip{display:flex;align-items:center;justify-content:center;gap:6px;height:32px;border:1px solid #ffffff23;border-radius:14px;background:#1a2444d9;font-size:10px;letter-spacing:.4px;padding:0 9px}.level-chip b{font-size:15px;color:var(--cyan)}.coin-chip span{color:var(--gold);font-size:17px}.coin-chip b{font-size:13px}.avatar{border:1px solid #bda8ff6b;width:33px;height:33px;border-radius:50%;background:linear-gradient(135deg,#5141ba,#e586d7);font-size:21px;line-height:1}.view-wrapper{position:relative;min-height:calc(100dvh - 147px)}.view{padding:18px 19px 26px;animation:slidein .25s both}.eyebrow{color:#91eaff;font-size:10px;font-weight:800;letter-spacing:2px}.greeting{padding-top:12px}.greeting h2{font-size:37px;line-height:1.10;letter-spacing:-1.4px;margin:10px 0 8px;font-weight:900}.greeting h2 em{font-style:normal;background:linear-gradient(110deg,#73eaff,#bca3ff,#ffb8cf);color:transparent;background-clip:text}.greeting p,.page-heading p{color:var(--muted);font-size:13px;margin:0}.hero-card{height:245px;overflow:hidden;margin:25px 0 17px;border-radius:24px;background:radial-gradient(ellipse at 81% 30%,#5935a3b0,transparent 53%),linear-gradient(115deg,#192a75,#131d52 48%,#262067);border:1px solid #c8a7ff4e;box-shadow:0 17px 52px #080729b0,inset 0 0 37px #8c62ff33;position:relative}.hero-card:before{content:'';width:230px;height:220px;right:-100px;bottom:-90px;border:1px solid #93c8ff65;box-shadow:0 0 65px #777bfead;position:absolute;border-radius:50%}.hero-stars{position:absolute;right:15px;top:12px;color:#fad88d;letter-spacing:8px}.hero-content{position:absolute;z-index:2;left:20px;top:34px}.small-label{letter-spacing:1.4px;font-size:9px;font-weight:800;color:#9beeff}.hero-content h3{font-size:33px;line-height:1.11;letter-spacing:-1.5px;margin:9px 0 24px;text-shadow:0 4px 22px #0007}.pill-btn,.primary-btn{border:none;border-radius:15px;background:linear-gradient(115deg,#62dfff,#ae94ff 53%,#f5a6d8);font-weight:850;color:#131331;box-shadow:0 6px 21px #5ed7ff35}.pill-btn{padding:11px 16px;border-radius:22px}.pill-btn span{padding-left:7px}.hero-disc{position:absolute;right:-26px;top:47px;width:178px;height:178px;border-radius:50%;transform:rotate(-22deg);background:repeating-radial-gradient(circle at center,#261e63 0,#212c65 5px,#a185ff 6px,#30235f 7px,#24215f 14px);box-shadow:0 0 0 9px #38297c66,0 15px 60px #c378fc56;display:grid;place-items:center}.hero-disc-core{display:grid;place-items:center;width:90px;height:90px;background:linear-gradient(135deg,#fcadf5,#6be5ff);border-radius:50%;font-size:50px;color:#16153a;box-shadow:inset 0 0 0 15px #4d3289}.hero-piano{display:flex;position:absolute;right:-17px;bottom:-62px;transform:rotate(-28deg);height:100px;gap:2px}.hero-piano i{width:34px;height:100px;background:linear-gradient(150deg,#fff,#d8ecff);border-radius:0 0 9px 9px;box-shadow:0 0 0 1px #161d58}.hero-piano i:nth-child(even){background:linear-gradient(#bdf3ff,#cab9ff)}.mini-stat{min-width:0;display:flex;align-items:center;gap:8px;padding:10px;background:#141e40d1;border:1px solid var(--line);border-radius:16px;flex:1}.mini-stat>span{font-size:23px}.mini-stat div{min-width:0;display:grid}.mini-stat b{font-size:18px}.mini-stat small{font-size:10px;color:var(--muted);white-space:nowrap}.stat-row{display:flex;gap:8px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:10px;margin:26px 0 13px}.section-heading h3{font-size:20px;line-height:1.1;letter-spacing:-.5px;margin:5px 0 0}.text-link{background:none;border:0;padding:8px 0;color:#90eaff;font-size:12px;white-space:nowrap}.home-instruments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.instrument-tile{min-height:116px;overflow:hidden;text-align:left;position:relative;border-radius:19px;padding:13px 14px;border:1px solid #ffffff26;background:linear-gradient(145deg,#1d294f,#111b39);box-shadow:inset 0 0 24px #ffffff04}.instrument-tile:hover{border-color:#82dafa}.instrument-tile:before{content:'';position:absolute;inset:auto -35px -50px auto;width:150px;height:150px;border-radius:50%;background:var(--tile-color);filter:blur(65px);opacity:.24}.instrument-tile .tile-icon{font-size:34px;display:block;filter:drop-shadow(0 5px 7px #0008);height:50px}.instrument-tile b{display:block;font-size:16px}.instrument-tile small{color:#afbad9}.instrument-tile .tile-arrow{position:absolute;top:13px;right:13px;color:#a9b8e6}.mission-banner,.install-banner{width:100%;display:flex;align-items:center;gap:12px;border-radius:18px;padding:14px;text-align:left;border:1px solid #a58aff4f;background:linear-gradient(105deg,#28204d,#17224d);}.mission-icon{width:45px;height:45px;border-radius:14px;display:grid;place-items:center;background:#5145a3;font-size:24px}.mission-banner span:nth-child(2),.install-banner span:nth-child(2){flex:1}.mission-banner b,.install-banner b{display:block}.mission-banner small,.install-banner small{display:block;color:#bbc4e4;font-size:11px;margin-top:2px}.install-banner{margin-top:14px;border-color:#73dbfc66;background:#123449}.studio-title,.section-heading,.studio-controls-row,.studio-stage-top,.session-bar,.studio-bottom,.studio-cta{display:flex;align-items:center;justify-content:space-between}.studio-title h2,.page-heading h2{font-size:29px;line-height:1.1;letter-spacing:-1.1px;margin:6px 0 0}.tiny-spark{color:#eaa9fc}.circle-icon{width:41px;height:41px;border-radius:14px;border:1px solid #fff3;background:#1e2a4d;font-size:21px}.studio-controls-row{margin:13px 0 12px;color:var(--muted);font-size:11px}.live-badge{display:flex;gap:5px;align-items:center;font-size:9px;letter-spacing:.5px;color:#a0ffe8;font-weight:800}.live-badge span{width:7px;height:7px;border-radius:100%;background:#4cfcd3;box-shadow:0 0 10px #4cfcd3}.instrument-strip{display:flex;gap:9px;overflow:auto;scrollbar-width:none;margin:0 -19px 14px;padding:0 19px 3px}.instrument-strip::-webkit-scrollbar{display:none}.instrument-option{border:1px solid #ffffff2b;background:#192241;min-width:75px;padding:9px 7px 7px;border-radius:16px;display:grid;place-items:center;gap:3px;flex:none}.instrument-option .inst-emoji{font-size:29px;height:34px;filter:drop-shadow(0 2px 7px #0007)}.instrument-option small{font-size:10px}.instrument-option.active{border-color:#6deaff;background:#133b5c;box-shadow:0 0 0 2px #3bdeff33,0 0 20px #2ad5ff34}.session-bar{border:1px solid #ffffff26;background:linear-gradient(105deg,#18294f,#212047);border-radius:17px;padding:12px 13px;gap:7px;margin-bottom:12px}.session-metric{display:grid;gap:1px;min-width:0}.session-metric span{font-size:9px;color:#a6b9e6;letter-spacing:1px;font-weight:800}.session-metric b{font-size:23px;letter-spacing:-.8px}.timer-metric b{color:#f7d488}.pause-btn{border:1px solid #aaa2fc6b;background:#433969;border-radius:12px;height:38px;width:39px;font-size:20px}.studio-stage{border:1px solid #735ebd80;background:linear-gradient(180deg,#101c43,#101637 57%,#131a38);border-radius:22px;position:relative;overflow:hidden;min-height:315px;box-shadow:inset 0 0 45px #2f2d8b4c,0 16px 45px #0005}.stage-ambient{position:absolute;inset:0;background:radial-gradient(ellipse at 65% 22%,#6e499a68,transparent 55%),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:auto,25% 100%;pointer-events:none}.studio-stage-top{position:relative;z-index:1;padding:14px 15px 0;font-size:10px;font-weight:900;letter-spacing:1px;color:#e8dcff}.studio-stage-top span:last-child{color:#8dedfa;font-size:9px}.stage-viz{height:132px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.visualizer{height:70px;display:flex;align-items:end;justify-content:center;gap:4px;opacity:.55}.visualizer i{display:block;width:5px;height:var(--h);background:linear-gradient(0deg,#64d7ff,#ba91f7);border-radius:5px;box-shadow:0 0 12px #86b6ff77;animation:equalize 1.2s ease-in-out infinite alternate;animation-delay:var(--d)}.floatnotes{position:absolute;color:#ffd77a;font-size:64px;text-shadow:0 0 26px #de99f8;filter:drop-shadow(0 12px 10px #0007);animation:floaty 3s ease-in-out infinite}.reaction{position:absolute;z-index:4;font-size:30px;font-weight:950;letter-spacing:-1.3px;color:#ffe589;text-shadow:0 3px 16px #f1aa6899;opacity:0;pointer-events:none}.reaction.show{animation:reaction .63s ease-out}.reaction small{display:block;font-size:11px;text-align:center;color:#fff;letter-spacing:.8px}.prompt-note{position:absolute;right:15px;top:13px;z-index:2;padding:9px 13px;border-radius:14px;border:1px solid #f8d584aa;background:#423567ed;min-width:75px;text-align:center;box-shadow:0 0 20px #ffce8261}.prompt-note span{font-size:9px;display:block;color:#ffebad}.prompt-note b{font-size:25px}.instrument-surface{position:relative;z-index:1;min-height:147px;padding:12px;display:flex;align-items:center;justify-content:center}.instrument-surface button{touch-action:manipulation;user-select:none}.piano-keyboard{width:100%;height:148px;display:flex;align-items:stretch;position:relative;gap:2px}.piano-white{position:relative;flex:1;border:1px solid #a3b4e1;border-bottom:7px solid #a6a7db;border-radius:0 0 8px 8px;background:linear-gradient(100deg,#d1e3fb,#fff 40%,#cedbf6);box-shadow:0 4px 10px #0004;min-width:0;display:flex;align-items:end;justify-content:center;padding:0 0 8px;color:#465273;font-weight:800;font-size:11px}.piano-white:nth-child(4n){background:linear-gradient(110deg,#dbeafa,#fbf4ff,#e2d8ff)}.piano-white.hit{background:#72dbff!important;box-shadow:inset 0 0 22px #05e8ff;transform:translateY(5px)}.piano-black{position:absolute;z-index:3;top:0;height:60%;width:9%;border:1px solid #72749e;border-radius:0 0 7px 7px;background:linear-gradient(100deg,#080b1c,#29375b 45%,#0b1128);box-shadow:0 4px 5px #0008;transform:translateX(-50%)}.piano-black.hit{background:linear-gradient(#4bd7fb,#304a92);transform:translateX(-50%) translateY(5px)}.drum-kit{position:relative;width:100%;height:197px;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:75px 88px;gap:8px;align-items:center}.drum-pad{position:relative;height:65px;border-radius:50%;border:5px solid #52688e;background:radial-gradient(ellipse at 40% 36%,#d8eeff,#8fa6c7 48%,#21375c 81%);box-shadow:0 8px 0 #243150,0 14px 13px #0007,inset 0 0 0 2px #ffffff85;color:#142543;font-size:10px;font-weight:950;display:flex;align-items:center;justify-content:center;text-transform:uppercase;white-space:nowrap}.drum-pad.cymbal{background:radial-gradient(circle,#fff4c5,#eabc61 55%,#85602b);border-color:#a68042;box-shadow:0 6px 0 #6e502c,0 12px 12px #0006}.drum-pad.hit{filter:brightness(1.5);transform:scale(.92) translateY(4px)!important;box-shadow:0 2px 20px #90efffaa}.drum-pad:nth-child(1){grid-column:1/3}.drum-pad:nth-child(2){grid-column:3/5}.drum-pad:nth-child(5){background:radial-gradient(circle at 35% 34%,#caafff,#7756ae 58%,#1e214f);color:#fff}.drum-sticks{position:absolute;left:42%;top:-35px;font-size:28px;pointer-events:none;opacity:.75;transform:rotate(-25deg)}.guitar-board{width:100%;height:165px;border-radius:16px;background:linear-gradient(90deg,#a96538,#f0b46e,#9a522d);padding:10px 0;display:flex;flex-direction:column;justify-content:space-between;border:8px solid #613629;box-shadow:inset 0 0 25px #4f231f}.guitar-string{height:21px;border:0;border-top:2px solid #fff2cc;background:repeating-linear-gradient(90deg,#ffffff16 0 1px,transparent 2px 48px);text-align:right;color:#43210c;font-weight:950;padding-right:12px;position:relative}.guitar-string:before{content:'';position:absolute;left:50%;top:-8px;width:24px;height:17px;background:#61381e;border-radius:0 0 50% 50%;opacity:.2}.guitar-string.hit{background-color:#ffe89c99;box-shadow:0 0 10px #fff2d0;transform:translateY(2px)}.string-family{width:100%;min-height:157px;border:8px solid #724023;border-radius:75px 75px 22px 22px;background:linear-gradient(105deg,#9e6235,#e2aa6e 45%,#744124);box-shadow:inset 0 0 25px #4e2619;display:flex;gap:5px;align-items:stretch;padding:15px 14px}.violin-key,.bass-key{flex:1;border:0;border-left:2px solid #e4e6b9;background:#ffffff0d;border-radius:8px;color:#fff;box-shadow:inset 0 0 20px #0002;font-weight:800}.violin-key.hit,.bass-key.hit{background:#f8dd8b88;box-shadow:0 0 15px #ffdf99}.flute-body{width:100%;height:112px;border:5px solid #9eb4c9;border-radius:38px;background:linear-gradient(0deg,#70889c,#e8f4ff,#899eae);box-shadow:inset 0 0 15px #6a748c,0 10px 17px #0007;display:flex;align-items:center;gap:6px;padding:13px}.flute-hole{flex:1;aspect-ratio:1;border-radius:50%;border:4px solid #9caaba;background:radial-gradient(circle,#071b32,#173958);box-shadow:inset 0 3px 5px #0008;min-width:0;font-size:0}.flute-hole.hit{background:#69e4fe;box-shadow:0 0 21px #50ddff}.xylo-board{width:100%;display:flex;align-items:center;justify-content:center;gap:5px;height:150px}.xylo-bar{border:1px solid #fff6;border-radius:11px;height:var(--barheight);flex:1;min-width:0;color:#1d2446;font-size:11px;font-weight:950;background:linear-gradient(105deg,#fff8,var(--barcolor) 34%,var(--barcolor) 70%,#0002);box-shadow:inset 0 3px 0 #fff8,0 8px 0 #4d385d,0 12px 15px #0007;display:flex;justify-content:center;align-items:end;padding-bottom:12px}.xylo-bar.hit{filter:brightness(1.5);transform:translateY(6px)}.synth-board{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.synth-pad{height:65px;border:1px solid #9f8fff88;border-radius:14px;background:linear-gradient(140deg,#2f215a,#5546a2);box-shadow:inset 0 0 25px #b38aff41,0 6px 0 #211b50;font-weight:850;color:#ffedf9}.synth-pad.hit{background:#80e5ff;color:#16214c;box-shadow:0 0 22px #8ccaff}.instrument-surface .labels-off{font-size:0!important}.studio-bottom{gap:12px;align-items:stretch;margin-top:14px}.mode-toggle{display:flex;gap:4px;padding:5px;background:#151d3c;border:1px solid #ffffff1c;border-radius:14px}.mode-toggle button{border:0;background:transparent;color:#a3b0d0;padding:7px 9px;font-size:11px;font-weight:800;border-radius:10px;white-space:nowrap}.mode-toggle .selected{background:#394f7c;color:#d5faff}.studio-cta{gap:7px;flex:1;min-width:0}.primary-btn,.outline-btn{padding:13px 16px;font-weight:850;border-radius:14px;border:0;text-align:center}.studio-cta button{flex:1;min-width:0}.outline-btn{background:#253251;border:1px solid #fff4;color:#f3f4ff}.studio-notice{margin-top:15px;text-align:center;font-size:11px;color:#a2add2}.page-heading{margin:8px 0 23px}.page-heading h2{margin:8px 0}.page-heading h2 span{color:#f4c87e}.song-grid{display:grid;gap:12px}.song-card{border:1px solid #ffffff2a;border-radius:19px;background:linear-gradient(130deg,#1d2548,#151b3a);padding:15px;display:flex;align-items:center;gap:12px}.song-art{width:65px;height:65px;flex:none;border-radius:16px;display:grid;place-items:center;font-size:31px;background:linear-gradient(140deg,var(--songcolor),#1b2051);box-shadow:inset 0 0 24px #ffffff28}.song-data{flex:1;min-width:0}.song-data b{font-size:16px}.song-data small{display:block;color:#b3bed7;font-size:11px}.song-tags{display:flex;gap:5px;margin-top:5px}.song-tags span{background:#ffffff13;border-radius:10px;padding:2px 6px;color:#c9d4f1;font-size:9px}.song-buttons{display:flex;gap:5px;align-items:center}.song-buttons button{border:1px solid #ffffff33;background:#223356;border-radius:12px;height:39px;min-width:38px;font-size:17px}.song-buttons button:last-child{background:#76e0ff;color:#0a1a32;font-weight:950}.tip-panel{margin-top:19px;padding:14px;border:1px solid #7ab2ff55;background:#172344;border-radius:14px;color:#cad6f7;font-size:12px}.reward-hero{position:relative;display:flex;align-items:center;flex-direction:column;padding:25px 19px;background:radial-gradient(circle at 50% 30%,#6a498d77,transparent 60%),linear-gradient(125deg,#1f2b67,#342556);border:1px solid #bc96ff72;border-radius:24px;text-align:center}.reward-medal{font-size:63px;filter:drop-shadow(0 9px 22px #ffbe765c)}.reward-hero div:nth-child(2){display:grid}.reward-hero div:nth-child(2)>span{font-size:10px;letter-spacing:2px;color:#f3e1ab}.reward-hero strong{font-size:64px;line-height:1.05}.reward-hero small{color:#cbd4f2}.progress-track{margin:22px 0 8px;width:100%;height:10px;border-radius:20px;background:#0005;overflow:hidden}.progress-track i{display:block;height:100%;background:linear-gradient(90deg,#48e4f7,#cba0fb,#ffe299);width:0;border-radius:20px}.reward-hero p{color:#d8dcfa;margin:0;font-size:11px}.reward-balances{margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.reward-balances>div{border-radius:18px;border:1px solid #ffffff28;background:#151f42;padding:14px;text-align:center;display:grid;justify-items:center}.reward-balances span{color:#ffe69f;font-size:25px}.reward-balances strong{font-size:29px}.reward-balances small{font-size:11px;color:#b4c0dc}.achievements{display:grid;gap:9px}.achievement{display:flex;align-items:center;gap:12px;border-radius:14px;border:1px solid #ffffff20;background:#1b2342;padding:12px}.achievement.locked{opacity:.5}.achievement-icon{width:39px;height:39px;border-radius:12px;background:#34305b;display:grid;place-items:center;font-size:23px}.achievement>div:nth-child(2){flex:1}.achievement b{display:block}.achievement small{display:block;color:#b0bed9;font-size:11px}.achievement>span{font-size:16px;color:#88efff}.fine-print{margin-top:17px;color:#aebbd4;font-size:10px}.settings-card{border:1px solid #ffffff22;border-radius:20px;background:#17203e;margin:13px 0;padding:15px}.settings-card h3{margin:2px 0 8px;font-size:16px}.settings-card>a{display:block;margin-top:15px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #ffffff16;padding:15px 0}.setting-row:last-child{padding-bottom:2px}.setting-row>span:first-child{flex:1;min-width:0}.setting-row b{font-size:13px;display:block}.setting-row small{font-size:11px;display:block;color:#aebad7;margin-top:3px}.setting-row input[type=checkbox]{appearance:none;flex:none;width:45px;height:26px;border-radius:20px;background:#404762;border:1px solid #ffffff2a;position:relative;transition:.2s;cursor:pointer}.setting-row input[type=checkbox]:before{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;background:#d7dbea;border-radius:50%;transition:.2s}.setting-row input[type=checkbox]:checked{background:#2bbbbb}.setting-row input[type=checkbox]:checked:before{transform:translateX(18px);background:#fff}.setting-row input[type=range]{width:43%;accent-color:#74e5fb}.setting-row select{border:1px solid #fff5;background:#263055;border-radius:9px;color:#fff;padding:8px}.mini-button{border:1px solid #7cb9ef8a;background:#273b59;border-radius:10px;padding:9px 12px;font-size:11px;font-weight:800}.mini-button.danger{color:#ffc5cc;border-color:#df798e88}.settings-explain{color:#adb9d8;font-size:12px;line-height:1.65}.result-view{text-align:center;padding-top:25px}.result-confetti{font-size:26px;color:#d6b0ff;letter-spacing:16px;white-space:nowrap}.result-cup{font-size:88px;margin-top:12px;filter:drop-shadow(0 6px 35px #ffaa6b80)}.result-view h2{font-size:36px;line-height:1.12;letter-spacing:-1px;margin:14px 0 23px}.result-view h2 span{color:#fbd58c}.big-score{border:1px solid #8eabff64;border-radius:24px;background:linear-gradient(135deg,#1c3368,#342457);display:grid;gap:2px;padding:18px}.big-score>span{font-size:11px;letter-spacing:2px;color:#b5ddff}.big-score strong{font-size:59px;color:#fff}.big-score small{color:#c4cced}.result-splits{display:flex;justify-content:space-around;margin:18px 0}.result-splits div{display:grid}.result-splits b{font-size:23px}.result-splits span{font-size:11px;color:#adb9da}.earned-rewards{background:#192442;border-radius:16px;border:1px solid #ffffff2b;padding:15px;text-align:left;margin-bottom:22px}.earned-rewards>span{letter-spacing:2px;color:#b9cafa;font-size:10px}.earned-rewards div{display:flex;justify-content:space-between;font-size:20px;color:#ffe69b;margin:7px 0}.earned-rewards small{color:#a8b5d5}.result-view>.primary-btn{width:100%}.plain-btn{border:0;background:transparent;padding:15px;color:#bed6f9}.bottom-nav{height:77px;position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-around;z-index:5;background:#0b142ceF;border-top:1px solid #a7bfff26;backdrop-filter:blur(16px);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{display:grid;gap:1px;place-items:center;min-width:57px;background:transparent;border:0;color:#94a4c9;padding:6px 4px}.bottom-nav button span{font-size:24px;height:28px;line-height:28px}.bottom-nav button small{font-size:10px}.bottom-nav button.active{color:#88eeff}.bottom-nav button.active span{text-shadow:0 0 17px #64daff}.loading-overlay{position:absolute;inset:0;z-index:15;min-height:100dvh;background:radial-gradient(circle at center,#2b275f,#0b1130 73%);display:flex;align-items:center;justify-content:center;flex-direction:column}.loading-overlay h1{font-size:39px;margin:0;font-weight:900;letter-spacing:-1px}.loading-overlay h1 span{color:#f4ba8e}.loading-overlay p{color:#b6cdff;letter-spacing:2.8px;font-size:9px}.load-stars{position:absolute;top:18%;font-size:39px;color:#edb1ff;animation:floaty 2s ease-in-out infinite}.loading-disc{width:177px;height:177px;border-radius:50%;margin-bottom:29px;background:repeating-radial-gradient(circle,#24306b 0,#1f2d6a 5px,#a181f7 6px,#171c45 8px,#1c2657 15px);box-shadow:0 0 65px #8d76ff67;display:grid;place-items:center;animation:spin 8s linear infinite}.record-center{width:85px;height:85px;border-radius:50%;display:grid;place-items:center;color:#122c51;background:linear-gradient(120deg,#86f0ff,#ffb9d7);font-size:44px}.loading-meter{width:230px;height:9px;border-radius:20px;border:1px solid #ffffff50;background:#343467;margin:22px 0 12px;overflow:hidden}.loading-meter i{display:block;width:0;height:100%;border-radius:20px;background:linear-gradient(90deg,#66e8ff,#cb7efa)}.loading-overlay small{color:#b0bfdf}.toast{position:fixed;z-index:20;bottom:95px;left:50%;transform:translateX(-50%) translateY(18px);opacity:0;pointer-events:none;background:#343157;color:#fff;max-width:min(90vw,400px);min-width:140px;text-align:center;border:1px solid #b4a1ff66;box-shadow:var(--shadow);padding:10px 18px;border-radius:14px;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.modal-backdrop{position:fixed;inset:0;background:#020719cc;z-index:25;display:grid;place-items:center;padding:25px;backdrop-filter:blur(8px)}.dialog{max-width:420px;width:100%;border-radius:23px;background:linear-gradient(140deg,#272753,#111b38);border:1px solid #9c9af277;padding:24px;text-align:center;box-shadow:var(--shadow)}.dialog-icon{font-size:39px}.dialog h2{margin:12px 0}.dialog p{color:#c6d2ed;white-space:pre-line}.dialog-actions{display:flex;gap:11px;justify-content:center;margin-top:19px}.dialog-actions button{flex:1}.view-wrapper>.view:last-child{padding-bottom:35px}.pulse-note{position:absolute;font-size:29px;pointer-events:none;color:#8befff;animation:note-rise .8s forwards;z-index:4;text-shadow:0 0 16px #6ce2ff}.button-glow{animation:button-glow .35s}.pending-practice{border:1px solid #ffc97188!important}.scrollable{overflow:scroll}@media(min-width:800px){body{display:flex;align-items:center;justify-content:center;min-height:100vh;gap:80px;padding:32px}.desktop-intro{display:block;width:350px}.desktop-intro h1{font-size:52px;letter-spacing:-2px;white-space:nowrap}.desktop-intro h1>span{color:#72eafe}.desktop-intro p{font-size:30px;font-weight:800;color:#dfc6f9}.desktop-intro small{color:#b5c4e6}.desktop-overline{color:#84e5ff;letter-spacing:2px;font-size:11px}.desktop-orbit{font-size:48px;display:flex;justify-content:space-between;padding:30px 0}.app-shell{width:420px;min-height:820px;height:min(880px,95vh);border-radius:38px;border:5px solid #6274b1;box-shadow:0 0 0 4px #1c2449,0 25px 90px #000b}.view-wrapper{height:calc(100% - 146px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#5e74a2 transparent}.loading-overlay{min-height:unset;height:100%}.topbar{height:69px}.bottom-nav{height:77px;position:absolute;bottom:0;width:100%}.modal-backdrop{position:absolute}.toast{position:absolute;bottom:92px}}@media(max-width:355px){.topbar{padding-inline:12px}.brand-btn{font-size:20px}.view{padding-left:13px;padding-right:13px}.studio-bottom{flex-wrap:wrap}.studio-cta{width:100%;flex-basis:100%}.mini-stat{padding:8px 5px;gap:3px}.mini-stat span{font-size:18px}.mini-stat b{font-size:15px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.reduce-motion *{animation-duration:.01ms!important;transition-duration:.01ms!important}@keyframes floaty{50%{transform:translateY(-11px) rotate(7deg)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slidein{from{opacity:.4;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes equalize{from{transform:scaleY(.3)}to{transform:scaleY(1.15)}}@keyframes reaction{0%{opacity:0;transform:translateY(10px) scale(.6)}35%{opacity:1;transform:translateY(-7px) scale(1.06)}76%{opacity:1}100%{opacity:0;transform:translateY(-28px) scale(.94)}}@keyframes note-rise{0%{opacity:0;transform:translateY(3px)}20%{opacity:1}100%{opacity:0;transform:translateY(-65px) rotate(14deg)}}@keyframes button-glow{50%{filter:brightness(1.5)}}
@media(max-width:799px){.bottom-nav{position:fixed;left:0;right:0;bottom:0;max-width:475px;margin:auto}.view-wrapper{padding-bottom:92px}}
/* Compact mobile kit: eight distinct realistic pads are visible without a long scroll. */
@media(max-width:799px){.drum-kit{height:158px;grid-template-rows:42px 49px 43px;gap:6px}.drum-pad{height:43px;border-width:4px;font-size:9px;box-shadow:0 4px 0 #243150,0 9px 10px #0006,inset 0 0 0 1px #fff7}.drum-pad.cymbal{box-shadow:0 4px 0 #6e502c,0 9px 9px #0007}.drum-pad:nth-child(7){grid-column:1/3}.drum-pad:nth-child(8){grid-column:3/5}.stage-viz{height:97px}.floatnotes{font-size:55px}.visualizer{height:55px}.instrument-surface{min-height:137px;padding:8px 12px}.studio-stage{min-height:286px}}
.post-session-ad{margin-top:27px;padding:17px 13px 22px;border:1px solid #94a4d74b;border-radius:17px;text-align:center;background:#111a35}.post-session-ad>span{display:block;font-size:10px;letter-spacing:2px;color:#a1adcb;margin-bottom:12px}.post-session-ad small{display:block;color:#a5b0ce;margin-top:12px;font-size:10px}.post-session-ad-inner{min-height:50px}

/* ═══════════════════ MelodyXplay V3 · Aurora Stage System ═══════════════════ */
:root{--x-ink:#080f2b;--x-lilac:#aa97ff;--x-cyan:#67edff;--x-sun:#ffda8b;--x-pink:#ff91d5}
html{color-scheme:dark}body{background:radial-gradient(ellipse at 70% 10%,#30347b 0,transparent 40%),radial-gradient(ellipse at 15% 85%,#2a1c69 0,transparent 40%),#070e27}
.app-shell{background:linear-gradient(150deg,#121d43,#09112e 60%,#11183c)}
.topbar{background:linear-gradient(100deg,#0e1740f2,#1b1947eb);border-bottom:1px solid #a3dfff20;backdrop-filter:blur(20px)}
.brand-btn{letter-spacing:-.7px;font-weight:900}.brand-glyph{border-radius:13px;color:#fff;background:linear-gradient(140deg,#01c9f9,#8156fa 50%,#ff7cb7);box-shadow:0 4px 19px #4c87ff70;transform:rotate(-7deg)}
.brand-btn b{color:#ffc985}.level-chip,.coin-chip{box-shadow:inset 0 1px 0 #ffffff27,0 4px 18px #080f3057}
.greeting h2{letter-spacing:-1.6px;line-height:1.04}.greeting em{font-weight:900;font-style:normal;background:linear-gradient(110deg,#66edff,#c6adff,#ffc18a);background-clip:text;-webkit-background-clip:text;color:transparent}
.eyebrow{color:#85e5ff;font-weight:800;letter-spacing:1.9px}
.hero-card{isolation:isolate;background:radial-gradient(circle at 70% 20%,#ff80a080,transparent 31%),radial-gradient(circle at 12% 90%,#00dafa69,transparent 35%),linear-gradient(135deg,#4039a6,#152b70 53%,#452872)!important;border:1px solid #ccddff86!important;box-shadow:0 18px 40px #0009,inset 0 1px 0 #fff4;overflow:hidden}
.hero-card:before{content:'';position:absolute;inset:-30%;z-index:-1;background:conic-gradient(from 140deg,transparent,#e697ff19,transparent,#6be9ff1a,transparent);animation:x-sweep 16s linear infinite}
.hero-disc{filter:drop-shadow(0 12px 30px #ffa8ee77);animation:x-breathe 4s ease-in-out infinite}
.hero-content h3{color:#fff;text-shadow:0 4px 15px #061431a1}.pill-btn,.primary-btn{background:linear-gradient(120deg,#50deff,#c9a5ff 55%,#ffd29b);color:#102044;font-weight:950;box-shadow:0 7px 18px #5886ff3d,inset 0 1px 0 #fff9;transition:transform .16s ease,box-shadow .18s ease,filter .18s ease}
.pill-btn:active,.primary-btn:active,.instrument-tile:active,.quest-action:active,.adventure-card:active{transform:scale(.96);filter:brightness(1.11)}
.home-instruments{gap:12px}.instrument-tile{border-radius:20px!important;box-shadow:inset 0 1px 0 #ffffff27,0 7px 22px #070d2266;min-height:128px;transition:transform .22s cubic-bezier(.17,.84,.31,1.2),box-shadow .22s,border-color .22s}.instrument-tile:hover{transform:translateY(-4px);box-shadow:0 12px 26px #0009,0 0 27px color-mix(in srgb,var(--tile-color) 20%,transparent)}.tile-icon{filter:drop-shadow(0 5px 8px #0004);transition:transform .18s}.instrument-tile:active .tile-icon{transform:rotate(-9deg) scale(1.2)}
.quick-adventures{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:19px 0 26px}.adventure-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:175px;padding:16px 13px;border-radius:21px;text-align:left;color:#f9fbff;background:linear-gradient(140deg,#33498e,#482c88 65%,#66359d);border:1px solid #cfc3ff69;box-shadow:0 10px 22px #0006;overflow:hidden;transition:transform .2s}.adventure-card.second{background:linear-gradient(140deg,#214e76,#1c305f 45%,#713a72)}.adventure-card:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 85% 0%,#ffffff3f,transparent 45%);pointer-events:none}.adventure-card>span{font-size:39px;filter:drop-shadow(0 8px 15px #0005)}.adventure-card b{margin-top:13px;line-height:1.2;font-size:15px}.adventure-card small{margin-top:5px;color:#cedbff;line-height:1.35;font-size:10px}.adventure-card i{font-style:normal;margin-top:auto;padding-top:8px;font-size:9px;color:#ffe3a8;letter-spacing:1px;font-weight:950}
.studio-stage{background:radial-gradient(circle at 52% 30%,#734fbd42,transparent 50%),linear-gradient(160deg,#182751,#0d1838 66%,#152047);border:1px solid #abb0ff5c!important;box-shadow:0 14px 35px #03091e8c,inset 0 1px 0 #ffffff21}
.beat-studio-banner{display:flex;align-items:center;gap:11px;border:1px solid #83e9ff5f;background:linear-gradient(92deg,#143458,#232451 75%,#34255a);border-radius:17px;padding:10px 12px;margin:8px 0 12px;box-shadow:inset 0 1px 0 #ffffff16}.beat-studio-banner>div:nth-child(2){display:grid;gap:2px;flex:1;min-width:0}.beat-studio-banner b{font-size:11px;letter-spacing:1.3px;color:#85efff}.beat-studio-banner small{font-size:10px;color:#acbfe7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.beat-studio-banner button{border-radius:12px;border:1px solid #9ceeff90;background:linear-gradient(130deg,#173d66,#284e7a);color:#aaf5ff;font-weight:900;font-size:11px;min-width:69px;padding:10px}.beat-studio-banner button[aria-pressed=false]{color:#b8bfce;border-color:#8993ae4e;opacity:.8}
.beat-pulse{display:flex;align-items:flex-end;justify-content:center;gap:3px;width:36px;height:31px;flex:none}.beat-pulse span{width:5px;height:15px;border-radius:9px;background:#7ceaff;box-shadow:0 0 7px #62dfff70;transition:height .2s}.beat-pulse span:nth-child(2){height:28px;background:#ffb1da}.beat-pulse span:nth-child(3){height:21px;background:#ffda95}.beat-pulse span:nth-child(4){height:11px;background:#a4aeff}.beat-running .beat-pulse span{animation:beatbounce .53s ease-in-out infinite alternate}.beat-running .beat-pulse span:nth-child(2){animation-delay:.12s}.beat-running .beat-pulse span:nth-child(3){animation-delay:.24s}.beat-running .beat-pulse span:nth-child(4){animation-delay:.09s}
.instrument-strip{scrollbar-width:thin;scrollbar-color:#a9adff6b transparent}.instrument-option{border:1px solid #c0d0ff2c;background:linear-gradient(140deg,#253258,#1a2348);border-radius:16px;box-shadow:inset 0 1px 0 #ffffff23;transition:transform .2s,border-color .2s}.instrument-option.active{background:linear-gradient(140deg,#3273a5,#443bb6);border-color:#a6f4ff;box-shadow:0 0 0 1px #84e8ff5c,0 0 24px #3e9aff52}.instrument-option:active{transform:translateY(2px)}.inst-emoji{filter:drop-shadow(0 3px 8px #0007)}
.playing-guide{margin:8px 10px 6px;border:1px solid #9b9fff5e;border-radius:13px;background:linear-gradient(100deg,#20305b,#30306b);padding:10px 12px;display:flex;align-items:center;gap:9px;box-shadow:inset 0 1px 0 #fff2;position:relative}.playing-guide.guided{background:linear-gradient(105deg,#12496d,#284a78 62%,#413673);border-color:#86f2ffb2;box-shadow:0 0 21px #32cfee25}.playing-guide>div:nth-child(2){flex:1;min-width:0;display:grid;gap:2px}.playing-guide strong{font-size:13px;color:#fff}.playing-guide small{font-size:10px;color:#c4d9f8}.guide-dot{border-radius:50%;width:30px;height:30px;display:grid;place-items:center;background:#5ac5ff32;color:#ffedab;font-size:23px;animation:x-breathe 1.8s infinite}.guide-arrow{font-size:30px;font-weight:1000;color:#f9ca82;line-height:1;animation:guide-arrow 1.25s ease-in-out infinite}
.piano-keyboard{filter:drop-shadow(0 8px 8px #0008)}.piano-white{background:linear-gradient(160deg,#fff,#dae5ff 58%,#b9c5ec)!important;color:#304875!important;border:1px solid #ffffffc0!important;border-bottom:7px solid #8397c5!important;box-shadow:inset 0 3px 3px #fff,0 5px 6px #0005}.piano-white:nth-child(4n+1){border-bottom-color:#a1a6db!important}.piano-black{background:linear-gradient(120deg,#11182f,#2c366c 58%,#0b1328)!important;border:1px solid #8899d676;box-shadow:inset 0 1px 0 #91a6e095,0 5px 7px #0008!important}.piano-white.hit{background:#90f7f2!important;transform:translateY(3px)!important}.piano-black.hit{background:#e2baff!important}.piano-white.next-note,.piano-black.next-note{border-color:#fff6b1!important;box-shadow:0 0 0 3px #fef6a9,0 0 26px #ffe57e,0 0 49px #69dafe!important;animation:keylight 1.1s ease-in-out infinite;z-index:3}
.drum-kit{gap:7px!important}.drum-pad{background:radial-gradient(ellipse at 44% 28%,#5a90ce,#1c376a 55%,#0a1841)!important;border:5px solid #b5d4f3!important;border-radius:50%!important;color:#fff;font-weight:1000;box-shadow:inset 0 4px 8px #c5eaff69,inset 0 -10px 19px #050e32,0 5px 0 #20315c,0 10px 16px #0008!important;position:relative;isolation:isolate;overflow:visible;transition:transform .13s,box-shadow .14s}.drum-pad:after{content:'';position:absolute;inset:17%;border-radius:50%;border:1px dashed #e2f4ff51;pointer-events:none}.drum-pad.cymbal{background:radial-gradient(ellipse at 35% 27%,#ffdc91,#c38a44 59%,#704221)!important;border-color:#ffe4a9!important;color:#37233e!important;box-shadow:inset 0 3px 10px #fff7,0 5px 0 #88592f,0 10px 16px #0007!important}.drum-pad.hit{transform:scale(.93)!important;box-shadow:0 0 0 4px #fff9,0 0 36px #84dfff,inset 0 7px 13px #0306217a!important}.drum-pad.next-note{box-shadow:0 0 0 3px #baffee,0 0 22px #65ffda,inset 0 3px 10px #fff9!important;animation:keylight 1.1s ease-in-out infinite}.drum-sticks{pointer-events:none;opacity:.38;filter:drop-shadow(0 0 5px #ffe6a5)}
.guitar-board{background:linear-gradient(90deg,#453049,#81563e 48%,#453049)!important;border:6px solid #ca8d65!important;box-shadow:inset 0 0 21px #120c1d,0 12px 17px #0008}.guitar-string{background:linear-gradient(transparent 44%,#ffe2ac 47%,#fff8dd 53%,transparent 56%)!important;text-shadow:0 2px 5px #000!important}.guitar-string:active,.guitar-string.hit{filter:brightness(1.8);transform:scaleY(1.1)}
.xylo-bar,.violin-key,.bass-key,.flute-hole,.synth-pad,.guitar-string{transition:transform .14s,filter .16s,box-shadow .18s}.xylo-bar.next-note,.violin-key.next-note,.bass-key.next-note,.flute-hole.next-note,.synth-pad.next-note,.guitar-string.next-note{outline:3px solid #ffe7a5;outline-offset:1px;box-shadow:0 0 22px #faffb4!important;animation:keylight 1.05s ease-in-out infinite}
.abc-letters{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:16px 0}.abc-letter{display:grid;place-items:center;height:47px;border:1px solid #a6d5ff6e;border-radius:13px;background:linear-gradient(160deg,#21335c,#3d2f70);font-size:21px;font-weight:950;color:#e7ecff;box-shadow:inset 0 1px 0 #ffffff28,0 5px 12px #0004;transition:transform .16s,background .16s}.abc-letter:nth-child(5n){background:linear-gradient(150deg,#284d72,#375b72)}.abc-letter.learned{border-color:#70f2d6;background:linear-gradient(150deg,#206665,#155454)}.abc-letter.selected{outline:3px solid #ffd68a;outline-offset:1px;background:linear-gradient(140deg,#a052ab,#535dbd);transform:translateY(-2px)}.abc-letter:active{transform:scale(.9)}
.academy-hero{display:flex;align-items:center;gap:18px;border-radius:25px;border:1px solid #c6a9ff87;background:radial-gradient(circle at 75% 10%,#e2a3ff4c,transparent 50%),linear-gradient(120deg,#273b85,#40317d);padding:19px;margin-top:13px;box-shadow:0 12px 30px #050e267a}.academy-orbit{display:grid;place-items:center;flex:none;width:112px;height:112px;border:2px solid #ffd9b6a0;border-radius:30px;background:linear-gradient(140deg,#7e65dd,#3ba6d3);transform:rotate(-6deg);box-shadow:0 0 26px #e9b5ff68;position:relative}.academy-orbit span:first-child{font-size:67px;font-weight:1000;text-shadow:0 5px 8px #35206c8c}.academy-orbit span:nth-child(2){position:absolute;right:-8px;top:8px;color:#ffe6a3;font-size:38px;animation:x-breathe 2s infinite}.academy-orbit span:nth-child(3){position:absolute;left:11px;bottom:7px;color:#90f2ff;font-size:22px;font-weight:1000}.academy-hero h3{font-size:23px;margin:7px 0}.academy-hero p{font-size:11px;line-height:1.6;color:#e5e6ff}
.letter-stage{display:flex;align-items:center;gap:15px;padding:16px 14px;border:1px solid #80e9ff6b;border-radius:22px;background:linear-gradient(110deg,#182e5c,#212851);margin:12px 0}.letter-spot{display:grid;place-items:center;flex:none;width:92px;height:100px;font-size:75px;font-weight:950;color:#fff;border-radius:20px;background:linear-gradient(145deg,#5edafa,#aa80e9 60%,#ffaece);text-shadow:0 6px 6px #38356a60;box-shadow:0 7px 23px #4196ed52}.letter-info{flex:1;min-width:0}.letter-info>span{color:#80edff;font-size:9px;letter-spacing:1.2px}.letter-info h3{font-size:18px;margin:5px 0;color:#fff}.letter-info p{font-size:11px;color:#c2d2ec;line-height:1.4}.letter-info button{margin-top:6px}.letter-stage.wiggle{animation:wiggle .36s}
.quiz-panel{margin:15px 0 25px;padding:17px;border:1px solid #bea8ff70;border-radius:20px;background:linear-gradient(140deg,#202a61,#2b2359)}.quiz-head{display:flex;align-items:center;justify-content:space-between}.quiz-head h3{font-size:19px;margin:6px 0}.quiz-reward{font-weight:900;color:#ffe28e;padding:7px 9px;background:#bca66129;border-radius:10px}.quiz-panel>p{font-size:13px;color:#d6dbf4}.quiz-options{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:12px 0}.quiz-option{height:63px;font-size:30px;font-weight:950;color:#fff;border:1px solid #b6dcff96;border-radius:16px;background:linear-gradient(150deg,#3b5c8d,#4c358d);box-shadow:0 6px 0 #121b47;transition:transform .15s}.quiz-option:active{transform:translateY(3px)}.quiz-option.right{background:linear-gradient(145deg,#1b9b9b,#2a7978);border-color:#b9ffe9}.quiz-option:disabled:not(.right){opacity:.42}.quiz-panel #quiz-next{font-size:12px;padding:10px 13px}.music-note-trail{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:14px 0 22px}.music-note-trail button{padding:11px 0;border:1px solid #e5ddffa6;border-bottom:6px solid #8089b8;border-radius:9px;background:linear-gradient(#fff,#cfdfff);color:#283e72;display:grid;gap:4px;justify-items:center;box-shadow:0 7px 13px #0005}.music-note-trail b{font-size:22px}.music-note-trail small{font-size:8px;color:#48538a}.music-note-trail button.played{animation:keytap .34s;background:linear-gradient(#90fff2,#77b4ff)}.academy-hint{font-size:12px;color:#cbd5fa;line-height:1.5}
.quest-wallet{margin:12px 0 18px;border-radius:22px;border:1px solid #ffe49991;padding:17px;display:grid;gap:6px;background:radial-gradient(circle at 92% 0%,#eebd4f53,transparent 46%),linear-gradient(120deg,#554171,#232d61)}.quest-wallet span{color:#ffe6a7;letter-spacing:2px;font-size:10px;font-weight:900}.quest-wallet strong{font-size:38px;color:#fff;letter-spacing:-1px}.quest-wallet small{color:#d8d4ed;font-size:11px}.quest-list{display:grid;gap:13px;margin-bottom:20px}.quest-card{display:flex;align-items:stretch;gap:14px;border-radius:22px;overflow:hidden;border:1px solid #c2cfff52;background:linear-gradient(120deg,#1c2b58,#1f234a);box-shadow:inset 0 1px 0 #fff2,0 8px 20px #0005}.quest-art{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:91px;background:linear-gradient(160deg,color-mix(in srgb,var(--quest-color) 38%,#233770),#233164);font-size:43px;text-shadow:0 6px 12px #0006}.quest-art small{font-size:12px;font-weight:900;color:#ffe4b3;opacity:.85;margin-top:9px}.quest-details{padding:14px 11px 14px 0;flex:1;min-width:0}.quest-micro{font-size:9px;color:#8ff7ee;letter-spacing:1px;font-weight:900}.quest-details h3{margin:6px 0;font-size:17px}.quest-details p{margin:4px 0;color:#bbc9e6;font-size:11px;line-height:1.4}.quest-tags{display:flex;gap:5px;flex-wrap:wrap;margin:9px 0}.quest-tags span{font-size:9px;border-radius:7px;padding:5px;background:#ffffff18;color:#ffe4c3}.quest-action{border:1px solid #abfff0a3;background:linear-gradient(105deg,#3c8f9c,#344d92);color:#fff;padding:10px 12px;border-radius:11px;font-size:11px;font-weight:900;box-shadow:0 3px 10px #0006}.quest-action:active{transform:scale(.97)}
.infinite-level-panel{display:flex;align-items:center;gap:11px;margin:9px 0 20px;border:1px solid #a6d9ff6b;background:linear-gradient(120deg,#24446a,#2b2c64);border-radius:14px;padding:12px;font-size:25px}.infinite-level-panel span{display:grid;gap:3px;font-size:13px}.infinite-level-panel small{font-size:11px;color:#bdd3f1;line-height:1.4}
.level-up-panel{display:flex;align-items:center;gap:13px;border-radius:16px;border:1px solid #ffe2a0c2;background:linear-gradient(120deg,#664c82,#37527e);padding:12px;text-align:left;margin:13px 0;box-shadow:0 0 25px #ffc8822c;animation:x-show .5s cubic-bezier(.17,.75,.25,1.2)}.level-star{font-size:37px;animation:x-breathe 1.7s ease-in-out infinite}.level-up-panel b{display:block;color:#fff1b2;font-size:15px}.level-up-panel small{display:block;font-size:11px;color:#e7e5fa;margin-top:4px}.ad-checkpoint{border:1px solid #8394af73;border-radius:14px;padding:12px;text-align:left}.ad-checkpoint>span{font-size:9px;letter-spacing:2px}.ad-checkpoint p{font-size:12px}.ad-checkpoint button{padding:5px}.result-view>.primary-btn{margin-top:9px}.result-view #next-level-play{background:linear-gradient(110deg,#fff4b0,#ffa8d7,#9bd8ff)}
/* Seven destinations fit 320px+ mobile widths without horizontal overflow. */
.bottom-nav{justify-content:space-between;padding-left:3px;padding-right:3px}.bottom-nav button{flex:1;min-width:0!important;padding:7px 0!important}.bottom-nav button span{font-size:20px!important}.bottom-nav button small{font-size:9px!important;letter-spacing:-.2px}.bottom-nav button.active{color:#9ff4ff}.bottom-nav button:focus-visible,.abc-letter:focus-visible,.instrument-tile:focus-visible,.quest-action:focus-visible{outline:3px solid #fff1ae;outline-offset:2px}
@media(max-width:389px){.academy-orbit{width:91px;height:92px}.academy-orbit span:first-child{font-size:56px}.letter-spot{width:79px;height:83px;font-size:57px}.letter-info h3{font-size:15px}.abc-letters{gap:5px}.abc-letter{font-size:17px;height:39px}.quest-art{min-width:78px}.bottom-nav button span{font-size:17px!important}.bottom-nav button small{font-size:8px!important}.beat-studio-banner{padding:8px 9px}.beat-studio-banner b{letter-spacing:.7px}}
@media(min-width:800px){.app-shell{background:linear-gradient(150deg,#101c45,#101735 65%,#242045);box-shadow:0 0 0 4px #233664,0 25px 85px #050d2ad1,0 0 55px #6d78f53e}.desktop-intro h1{font-size:45px}.quick-adventures{margin-bottom:30px}.view-wrapper{scrollbar-color:#857dce #101834}}
@media(prefers-reduced-motion:reduce){.beat-running .beat-pulse span,.hero-disc,.hero-card:before,.guide-dot,.guide-arrow,.level-star{animation:none!important}}
@keyframes beatbounce{0%{transform:scaleY(.35)}100%{transform:scaleY(1.15)}}
@keyframes guide-arrow{50%{transform:translateY(5px)}}
@keyframes keylight{50%{filter:brightness(1.2)}}
@keyframes keytap{50%{transform:translateY(4px)}}
@keyframes x-show{from{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes x-breathe{50%{transform:scale(1.055)}}
@keyframes x-sweep{to{transform:rotate(360deg)}}
@keyframes wiggle{20%{transform:translateX(-5px)}55%{transform:translateX(5px)}85%{transform:translateX(-3px)}}

/* V3.1 — polished optional Google welcome screen; music works without an account. */
.auth-welcome{position:fixed;inset:0;z-index:14;width:100%;max-width:475px;margin:0 auto;height:100dvh;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:13px;padding:25px 26px 45px;background:radial-gradient(circle at 52% 22%,#3458a9aa,transparent 44%),radial-gradient(circle at 80% 75%,#964baa66,transparent 50%),linear-gradient(160deg,#0b1335,#0c1334 54%,#15153a);isolation:isolate;animation:fade-in-welcome .3s ease both}
.auth-welcome:before{content:'';position:absolute;inset:0;background:radial-gradient(#ffffff4f 1px,transparent 1px);background-size:38px 39px;mask-image:linear-gradient(#0006,transparent 73%);z-index:-1}
.auth-welcome-glow{font-size:18px;color:#ffd89c;letter-spacing:25px;opacity:.9;animation:float-welcome 3s ease-in-out infinite alternate}
.auth-welcome-emblem{font-size:83px;display:grid;place-items:center;width:154px;height:154px;border-radius:43px;border:1px solid #b6eafa94;background:linear-gradient(137deg,#335a9e,#5431a1 54%,#a84e8f);box-shadow:inset 0 2px 1px #ffffff51,0 20px 50px #03082aab,0 0 40px #66bdff47;transform:rotate(-5deg);margin-bottom:11px;animation:float-welcome 3.6s ease-in-out infinite alternate}
.auth-welcome-eyebrow{font-size:10px;letter-spacing:2.1px;color:#95eafa;font-weight:850}
.auth-welcome h2{font-size:40px;line-height:1.1;letter-spacing:-1.5px;margin:0;font-weight:900}.auth-welcome h2 span{color:#70eeff}
.auth-welcome p{font-size:13px;line-height:1.55;color:#c9d8f8;max-width:290px;margin:0 0 12px}
.auth-welcome-google{display:flex;gap:13px;justify-content:center;align-items:center;width:100%;max-width:335px;min-height:56px;border:0;border-radius:17px;color:#182141;background:#fff;box-shadow:0 9px 29px #0008;font-size:15px;font-weight:800;transition:transform .2s,box-shadow .2s}
.auth-welcome-google:active{transform:scale(.97)}.google-g{font-size:23px;font-weight:950;background:conic-gradient(#4285f4 0 25%,#34a853 25% 50%,#fbbc05 50% 75%,#ea4335 75%);background-clip:text;color:transparent}
.auth-welcome-guest{color:#ddf6ff;min-height:48px;padding:10px 25px;font-weight:800;background:#233d6890;border:1px solid #b6dafa5c;border-radius:16px}
.auth-welcome>small{font-size:11px;max-width:315px;color:#aebeda;line-height:1.5;min-height:32px}
.auth-welcome-footer{font-size:11px;letter-spacing:.5px;color:#aacbf2;position:absolute;bottom:max(35px,env(safe-area-inset-bottom));left:12px;right:12px}
@keyframes float-welcome{to{transform:translateY(-7px) rotate(0deg)}}@keyframes fade-in-welcome{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.auth-welcome-glow,.auth-welcome-emblem,.auth-welcome{animation:none}}
