@font-face{font-family:Heebo;src:url('./fonts/heebo.ttf') format('truetype');font-weight:100 900;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0c1126;color:#f7f8ff;font:16px/1.5 Heebo,Arial,sans-serif}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid #ffffff28;border-radius:13px;padding:10px 16px;min-height:44px;background:#ffffff10;color:inherit;font-weight:700}button:hover:not(:disabled){background:#ffffff20}button:active{transform:scale(.96)}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #ffcc66;outline-offset:4px}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}select{padding:9px 12px;border-radius:10px;background:#202a48;color:white;border:1px solid #ffffff28;min-height:44px}[hidden]{display:none!important}.shell{max-width:1500px;margin:auto;padding:0 22px}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{font-size:20px;font-weight:900}.brand b{color:var(--accent,#77d9be)}.topbar nav{display:flex;gap:20px;font-size:13px;color:#bcc5df}.game-title{display:flex;align-items:baseline;gap:14px;min-width:0}.game-title h1{font-size:23px;margin:0;letter-spacing:-.4px}.game-title span{color:var(--accent);font-size:12px;font-weight:700}.game-shell{position:relative;height:calc(100dvh - 105px);min-height:500px;max-height:920px;overflow:hidden;border-radius:25px;background:#171e3c;box-shadow:0 25px 70px #0007;border:1px solid #ffffff20;isolation:isolate}.game-shell:fullscreen,.game-shell.expanded{height:100dvh;width:100vw;max-height:none;border:0;border-radius:0}.game-shell.expanded{position:fixed;inset:0;z-index:1000}.canvas{width:100%;height:100%;display:block;touch-action:none;outline:0}.hud{position:absolute;top:18px;right:20px;left:20px;display:flex;justify-content:space-between;align-items:flex-start;gap:14px;pointer-events:none;z-index:3}.hud-card{background:#121a33dc;border:1px solid #ffffff20;backdrop-filter:blur(12px);border-radius:18px;padding:11px 16px;min-width:110px;box-shadow:0 7px 20px #0002}.hud-card small{color:#afbfda;display:block;font-size:10px}.hud-card strong{font-size:26px;line-height:1.2}.hud-left{display:flex;gap:8px;direction:ltr}.hearts{color:#ff8298;font-size:19px;letter-spacing:2px;white-space:nowrap}.target{position:absolute;top:92px;left:50%;transform:translateX(-50%);min-width:230px;text-align:center;background:#11192ee8;border:1px solid var(--accent);border-radius:16px;padding:9px 24px;font-size:20px;font-weight:900;box-shadow:0 8px 30px #0003;z-index:3;pointer-events:none}.mini-progress{height:4px;position:absolute;bottom:0;right:14px;left:14px;border-radius:9px;background:#ffffff19;overflow:hidden}.mini-progress span{height:100%;display:block;background:var(--accent);transition:width .2s}.target small{display:block;font-size:10px;color:#b9cce4;font-weight:400}.orders{position:absolute;top:145px;left:50%;transform:translateX(-50%);display:flex;gap:7px;z-index:3;pointer-events:none}.order{position:relative;background:#fffbef;color:#303347;border-radius:12px;padding:7px 10px 11px;min-width:97px;font-size:12px;white-space:nowrap;box-shadow:0 5px 20px #0002}.order>b{background:#f6c06a;border-radius:50%;width:20px;height:20px;display:inline-grid;place-items:center;margin-left:5px}.order i{position:absolute;bottom:4px;right:7px;left:7px;height:3px;background:#e5e7df;border-radius:5px;overflow:hidden}.order i:after{content:'';display:block;background:#5eae7c;width:var(--left);height:100%}.order.urgent{outline:2px solid #ff695c}.order.urgent i:after{background:#ff695c}.combo{position:absolute;left:25px;top:115px;color:#fff3aa;font-weight:900;font-size:27px;transform:scale(.5);opacity:0;transition:.2s;pointer-events:none;z-index:3}.combo.on{transform:scale(1);opacity:1}.controls{position:absolute;bottom:20px;left:22px;right:22px;display:flex;justify-content:space-between;align-items:end;pointer-events:none;z-index:4;direction:ltr}.controls button{pointer-events:auto;touch-action:none;user-select:none}.dpad{display:grid;grid-template-columns:repeat(3,54px);grid-template-rows:repeat(2,48px);gap:6px}.dpad button{padding:0;font-size:23px;min-height:0;background:#121a33cd;border-color:#ffffff45;backdrop-filter:blur(8px)}.dpad [data-move=up]{grid-column:2;grid-row:1}.dpad [data-move=left]{grid-column:1;grid-row:2}.dpad [data-move=down]{grid-column:2;grid-row:2}.dpad [data-move=right]{grid-column:3;grid-row:2}.actions{display:flex;align-items:center;gap:10px;direction:rtl}.action{background:var(--accent)!important;color:#152034;border:0;border-bottom:5px solid #0002;min-height:66px;min-width:125px;font-size:17px;padding:14px 24px;box-shadow:0 6px 24px #0003}.boost{position:relative;background:#11192fdb;min-height:58px;width:65px;padding:9px;overflow:hidden;color:#ffc767}.boost small{display:block;font-size:9px}.boost i{position:absolute;bottom:0;left:0;right:0;height:4px;background:#ffffff20}.boost i span{height:100%;background:#ffc767;display:block}.mode-runner .dpad,.mode-factory .dpad{grid-template-columns:repeat(2,58px);grid-template-rows:55px}.mode-runner .dpad [data-move=up],.mode-runner .dpad [data-move=down],.mode-factory .dpad [data-move=up],.mode-factory .dpad [data-move=down]{display:none}.mode-runner .dpad [data-move=left],.mode-factory .dpad [data-move=left]{grid-column:1;grid-row:1}.mode-runner .dpad [data-move=right],.mode-factory .dpad [data-move=right]{grid-column:2;grid-row:1}.mode-factory .boost,.mode-rhythm .dpad,.mode-rhythm .actions{display:none}.rhythm-pads{display:none;gap:12px;width:min(700px,100%);margin:auto;pointer-events:auto}.mode-rhythm .rhythm-pads{display:grid;grid-template-columns:repeat(4,1fr)}.rhythm-pads button{height:70px;border-bottom-width:5px;font-size:26px;box-shadow:0 6px 20px #0004}.rhythm-pads button:nth-child(1){background:#179eab}.rhythm-pads button:nth-child(2){background:#c75e91}.rhythm-pads button:nth-child(3){background:#bd9221}.rhythm-pads button:nth-child(4){background:#3e75bd}.rhythm-pads small{display:block;font-size:10px}.rhythm-pads .lit{filter:brightness(1.65);transform:translateY(3px)}.message{position:absolute;bottom:128px;left:50%;transform:translateX(-50%);background:#152035db;color:#edf4ff;padding:8px 18px;border-radius:12px;z-index:3;font-size:13px;text-align:center;max-width:70%;pointer-events:none;margin:0;line-height:1.4}.message[data-kind=good]{color:#b9ffb3}.message[data-kind=hurt]{color:#ffbfbb}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 0}.toolbar-controls{display:flex;gap:7px;flex-wrap:wrap}.toolbar button{font-size:12px;min-height:40px;padding:8px 12px}.keyboard-help{font-size:12px;color:#8599ba;margin:0}.overlay{position:absolute;inset:0;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#0a132bdd,#152040bd);backdrop-filter:blur(5px);z-index:8}.overlay-card{max-width:490px;width:100%;text-align:center;padding:28px 36px;border:1px solid #ffffff25;background:#111a36dd;border-radius:28px;box-shadow:0 25px 60px #0004}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1px;color:var(--accent);display:block;margin-bottom:8px}.overlay-card h2{font-size:37px;line-height:1.1;margin:14px 0;letter-spacing:-1px}.overlay-card p{font-size:15px;color:#b8c8de;margin:14px 0 20px}.overlay-stars{font-size:50px;color:#ffd675;letter-spacing:7px}.primary{background:var(--accent)!important;border:0;border-bottom:5px solid #0002;color:#101b32;min-height:57px;font-size:18px;width:100%;box-shadow:0 9px 25px #0002}.settings{display:flex;gap:12px;margin:20px 0;justify-content:center}.settings label{font-size:11px;color:#aabbd4;text-align:right;flex:1}.settings select{display:block;width:100%;margin-top:5px;font-size:13px}.overlay-note{display:block;font-size:11px;color:#8b9dbb;margin-top:14px}.loading{height:4px;background:#ffffff18;border-radius:10px;overflow:hidden;margin-top:16px}.loading span{height:100%;width:0;display:block;background:var(--accent);transition:width .2s}.countdown{position:absolute;inset:0;display:grid;place-items:center;background:#111b3255;z-index:7;font-size:60px;font-weight:900;color:white;text-shadow:0 5px 15px #0005;pointer-events:none}.game-info{padding:20px 0 40px;display:grid;grid-template-columns:1.4fr 1fr;gap:24px;color:#a5b5ce}.game-info h2{font-size:18px;color:#e7edfa;margin:0 0 8px}.game-info p{font-size:13px;max-width:650px}.profile{border:1px solid #ffffff1d;border-radius:16px;padding:16px;font-size:13px}.profile summary{cursor:pointer;color:#d4def0;font-weight:700}.profile .learning-profile-picker{margin-top:12px}.profile a{color:#a1e6d2}.profile-storage-note{font-size:11px}.footer{border-top:1px solid #ffffff15;padding:20px 0;display:flex;justify-content:center;gap:22px;font-size:11px;color:#8192b1}.hit:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 80px #ff405670;pointer-events:none;z-index:5}.score-pop #score{animation:score .25s ease}.hub-intro{display:grid;grid-template-columns:1fr 1.3fr;align-items:center;gap:30px;padding:35px 0}.hub-intro h1{font-size:clamp(38px,5vw,65px);line-height:1.05;letter-spacing:-2px;margin:15px 0 20px}.hub-intro h1 span{color:#7cefc1}.hub-intro p{color:#9db0ce;max-width:400px;font-size:16px}.hub-3d{height:410px;border-radius:35px;overflow:hidden;position:relative;background:radial-gradient(#446693,#1b2b51)}.hub-3d canvas{width:100%;height:100%;display:block;touch-action:pan-y}.hub-3d small{position:absolute;bottom:12px;right:18px;left:18px;font-size:11px;color:#d2eaff;text-align:center}.hub-title{display:flex;justify-content:space-between;align-items:center;margin:20px 0}.hub-title h2{font-size:24px;margin:0}.hub-title span{font-size:12px;color:#8a9eba}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.game-card{border:1px solid #ffffff1f;background:linear-gradient(145deg,#1b2544,#131b33);border-radius:24px;overflow:hidden;transition:transform .2s}.game-card:hover{transform:translateY(-5px);border-color:var(--accent)}.game-card a{display:block;text-decoration:none;padding:23px;height:100%;position:relative}.card-art{height:140px;position:relative;margin-bottom:10px}.card-art:before{content:'';position:absolute;width:120px;height:90px;border-radius:50%;background:var(--accent);filter:blur(40px);opacity:.22;left:calc(50% - 60px);bottom:0}.card-art img{position:relative;width:100%;height:150px;object-fit:contain;filter:drop-shadow(0 14px 10px #0005)}.card-tag{font-size:10px;color:var(--accent);font-weight:700}.game-card h3{font-size:24px;line-height:1.2;margin:7px 0 10px}.game-card p{color:#93a8c6;font-size:13px;min-height:40px}.card-bottom{display:flex;justify-content:space-between;font-size:12px;font-weight:bold;color:var(--accent);margin-top:22px}.hub-profile{margin:30px 0}.hub-profile summary{font-size:14px}.old-stars{font-size:11px;color:#91a5c4;margin-top:6px}.skip{position:absolute;top:-60px;right:15px;background:#fff;color:#000;padding:10px;z-index:99}.skip:focus{top:5px}@keyframes score{50%{transform:scale(1.25);color:#fff2a9}}
@media(max-width:850px){.shell{padding:0 12px}.topbar{height:64px}.game-title span{display:none}.game-title h1{font-size:19px}.brand{font-size:17px}.topbar nav{font-size:12px;gap:10px}.game-shell{height:calc(100dvh - 90px);border-radius:18px}.hud{top:12px;left:12px;right:12px;gap:8px}.hud-card{padding:8px 11px;min-width:82px;border-radius:13px}.hud-card strong{font-size:22px}.hud-card small{font-size:9px}.hearts{font-size:15px;letter-spacing:1px}.target{top:83px;font-size:18px;min-width:210px;padding:8px 15px}.controls{left:15px;right:15px;bottom:16px}.hub-intro{gap:20px}.hub-3d{height:330px}.cards{gap:14px}.game-card a{padding:18px}.game-card h3{font-size:20px}.card-art{height:120px}.card-art img{height:130px}.game-info{gap:15px}.combo{font-size:23px;left:15px;top:128px}}
@media(max-width:600px){.shell{padding:0 8px}.topbar{height:58px;gap:8px}.topbar nav a:first-child{display:none}.game-title h1{font-size:16px}.brand{font-size:15px}.game-shell{height:calc(100dvh - 73px);min-height:490px;max-height:none;border-radius:16px}.hud{gap:5px;top:10px;left:9px;right:9px}.hud-left{gap:5px}.hud-card{min-width:64px;padding:7px 9px;border-radius:12px}.hud-card strong{font-size:20px}.hud-card small{font-size:8px}.hearts{font-size:13px;letter-spacing:0}.hud-level{display:none}.target{top:78px;font-size:17px;max-width:90%;min-width:190px;white-space:normal;padding:7px 13px}.target small{font-size:9px}.orders{top:139px;width:95%;gap:4px;justify-content:center}.order{min-width:0;flex:1;font-size:10px;padding:6px 5px 11px;text-align:center}.order>b{width:16px;height:16px;margin-left:2px;font-size:9px}.controls{bottom:14px;left:10px;right:10px}.dpad{grid-template-columns:repeat(3,42px);grid-template-rows:repeat(2,42px);gap:4px}.dpad button{font-size:21px}.actions{gap:6px;align-items:flex-end}.action{min-width:88px;min-height:58px;font-size:12px;padding:10px 12px;border-bottom-width:4px}.boost{width:44px;min-height:49px;padding:6px;font-size:18px}.boost small{font-size:8px}.mode-runner .dpad,.mode-factory .dpad{grid-template-columns:repeat(2,46px);grid-template-rows:48px;gap:5px}.message{bottom:114px;max-width:88%;font-size:11px;padding:7px 11px;min-width:170px}.mode-runner .message,.mode-factory .message,.mode-rhythm .message{bottom:83px}.rhythm-pads{gap:7px}.rhythm-pads button{height:58px;min-height:58px;padding:4px;font-size:23px}.rhythm-pads small{font-size:9px}.combo{font-size:20px;top:195px;left:14px}.toolbar{padding:12px 3px;gap:8px;flex-wrap:wrap}.toolbar button{font-size:10px;padding:7px 9px;min-height:39px}.toolbar-controls{gap:5px}.keyboard-help{font-size:10px}.overlay{padding:16px}.overlay-card{padding:23px 20px;border-radius:22px}.overlay-card h2{font-size:31px}.overlay-card p{font-size:13px;margin-bottom:17px}.settings{gap:9px;margin:16px 0}.settings select{font-size:12px;padding:8px}.primary{font-size:17px;min-height:53px}.eyebrow{font-size:10px}.countdown{font-size:46px}.game-info{grid-template-columns:1fr;padding:15px 5px 30px}.game-info p{font-size:12px}.hub-intro{grid-template-columns:1fr;padding:23px 8px;gap:12px}.hub-intro h1{font-size:48px;margin:10px 0 15px}.hub-intro p{font-size:14px}.hub-3d{height:300px}.hub-title{padding:0 7px;margin:5px 0 20px}.hub-title h2{font-size:22px}.hub-title span{font-size:10px}.cards{grid-template-columns:1fr;gap:13px}.game-card a{padding:20px 18px 18px;padding-right:135px;min-height:180px}.card-art{position:absolute;right:5px;top:20px;width:125px;height:135px}.card-art img{height:135px}.game-card h3{font-size:21px}.game-card p{font-size:12px;min-height:0}.card-bottom{margin-top:15px;font-size:11px}.card-tag{font-size:9px}.hub-profile{margin:20px 5px}.footer{font-size:10px;gap:17px}}
@media(max-width:350px){.game-title h1{font-size:14px}.topbar nav{font-size:10px}.brand{font-size:13px}.hud-card{min-width:56px;padding:6px}.hud-card strong{font-size:18px}.hud-card small{font-size:8px}.hud-left{gap:4px}.dpad{grid-template-columns:repeat(3,38px);grid-template-rows:repeat(2,41px)}.action{min-width:78px;padding:9px;font-size:11px}.boost{width:39px}.controls{left:8px;right:8px}.orders{top:136px}.order{font-size:9px}.target{font-size:16px}.game-card a{padding-right:115px}.card-art{width:110px}.game-card h3{font-size:19px}.overlay-card{padding:20px 16px}}
@media(max-height:500px) and (orientation:landscape){.game-shell{height:calc(100dvh - 60px);min-height:330px}.topbar{height:48px}.hud{top:8px}.target{top:9px;min-width:220px}.orders{top:64px;max-width:420px}.controls{bottom:9px}.message{bottom:70px}.dpad{grid-template-columns:repeat(3,39px);grid-template-rows:repeat(2,35px)}.overlay-card{padding:15px 24px;max-width:560px}.overlay-card h2{font-size:25px;margin:5px 0}.overlay-card p{font-size:12px;margin:8px 0}.settings{margin:10px 0}.overlay-note{margin-top:6px}.primary{min-height:44px;font-size:15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.discard{position:absolute;right:0;bottom:77px;background:#172444e8;font-size:11px;min-height:38px;padding:7px 10px;direction:rtl}
.mode-runner .message,.mode-rhythm .message{top:163px;bottom:auto}.mode-factory .message{top:150px;bottom:auto}
@media(max-height:500px) and (orientation:landscape){.mode-runner .message,.mode-rhythm .message,.mode-factory .message{top:71px;bottom:auto}}

.orders{pointer-events:auto}.order{border:2px solid transparent;min-height:42px;font-weight:400;cursor:pointer}.order[aria-pressed=true]{border-color:#ff8d3c;box-shadow:0 0 0 2px #fff6}.order:hover{background:#fff7df!important}.navigate{position:absolute;left:0;bottom:116px;max-width:220px;background:#172c45eb;font-size:12px;direction:rtl}.saved-progress{color:#d4e9bf;font-size:11px;margin:10px 0;min-height:18px}.continue-banner{display:flex;justify-content:space-between;align-items:center;gap:15px;background:linear-gradient(110deg,#1b3850,#192940);border:1px solid #63d3bc55;border-radius:16px;padding:16px 22px;margin:10px 0 24px}.continue-banner span{color:#9dbfd0;font-size:12px}.continue-banner strong{color:#91f4d6;font-size:17px}@media(max-width:600px){.navigate{bottom:109px;font-size:10px;max-width:145px;padding:7px 9px;min-height:37px}.mode-arena .message{bottom:158px}.continue-banner{padding:14px;align-items:flex-start;flex-direction:column;gap:3px}.continue-banner strong{font-size:16px}.saved-progress{font-size:10px}}@media(max-height:500px) and (orientation:landscape){.navigate{bottom:93px;font-size:10px;min-height:35px}}

/* Live challenges and earned abilities */
.adventure-bar{position:absolute;inset:0;pointer-events:none;z-index:4}.adventure-mission{position:absolute;top:203px;left:50%;transform:translateX(-50%);width:max-content;max-width:80%;padding:9px 22px 12px;border:1px solid #ffd67b99;border-radius:15px;background:linear-gradient(120deg,#38274bf2,#5f4027f2);box-shadow:0 6px 24px #0003;text-align:center;overflow:hidden}.adventure-mission b{display:block;color:#ffe098;font-size:15px}.adventure-mission span{font-size:11px;color:#fff4dc}.adventure-mission i{position:absolute;bottom:0;right:0;height:3px;background:#ffd476}.super-power{position:absolute;right:22px;bottom:102px;width:145px;min-height:60px;background:#172340ef!important;border:1px solid #94bbeb88;overflow:hidden;pointer-events:auto;padding:9px 7px 12px;box-shadow:0 4px 16px #0003}.super-power:disabled{opacity:.82}.super-power strong{display:block;font-size:13px}.super-power small{display:block;font-size:10px;color:#c2d6f1}.super-power i{position:absolute;bottom:0;right:0;height:4px;background:#9ce7ff}.super-power.ready{border-color:#a7f4e2;background:#20575bef!important;box-shadow:0 0 18px #89fff34a}.super-power.active{background:#473b83ee!important;border-color:#cbb1ff}.power-on:after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 55px #74d9ff55;z-index:2}.order.vip{background:#fff1a3;border-color:#db9d21}.order.vip>b{background:#c97713;color:white}.mode-arena .super-power{bottom:211px}.bonus-time .message{top:auto;bottom:172px}.mode-rhythm .super-power{bottom:111px}.mode-rhythm .rhythm-pads button{transition:filter .1s,transform .1s}.bonus-time .target{border-color:#ffe38a}
@media(max-width:600px){.adventure-mission{top:190px;max-width:94%;padding:6px 12px 9px}.adventure-mission b{font-size:12px}.adventure-mission span{font-size:10px}.super-power{right:10px;bottom:87px;width:113px;min-height:52px;padding:7px 5px 10px}.super-power strong{font-size:11px}.super-power small{font-size:8px}.mode-arena .super-power{bottom:210px}.mode-rhythm .super-power{bottom:89px}.bonus-time .message{bottom:157px;max-width:85%}.bonus-time .combo{top:243px}}
@media(max-height:500px) and (orientation:landscape){.adventure-mission{top:76px;padding:4px 12px 6px;max-width:45%}.adventure-mission b{font-size:11px}.adventure-mission span{font-size:9px}.super-power,.mode-arena .super-power,.mode-rhythm .super-power{bottom:85px;right:14px;width:115px;min-height:45px}.super-power strong{font-size:10px}.super-power small{font-size:8px}.bonus-time .message{bottom:145px}.mode-arena.bonus-time .adventure-mission{top:118px}}

.runner-choices{position:absolute;bottom:107px;left:22px;display:flex;gap:6px;direction:ltr;pointer-events:auto}.runner-choices button{width:49px;height:47px;padding:2px;background:#14213dec;font-size:24px;border:1px solid #c5dbff77}.runner-choices button[aria-pressed=true]{background:#236c73;border-color:#a3f3db}.runner-choices button:disabled{opacity:.4}.mode-runner .adventure-mission{top:198px}@media(max-width:600px){.runner-choices{left:10px;bottom:88px;gap:4px}.runner-choices button{width:43px;height:46px;min-height:44px;font-size:23px}.mode-runner .adventure-mission{top:190px}}@media(max-height:500px) and (orientation:landscape){.runner-choices{bottom:85px}.runner-choices button{height:44px}.mode-runner .adventure-mission{top:76px}}
