:root{font-family:Arial,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;font-synthesis:none;--bg:#25152e;--panel:#321f3c;--ink:#25152e;--cream:#fff0dd;--coral:#ff6354;--acid:#ecff69;--mint:#82f4c4;color:var(--cream);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:radial-gradient(ellipse at 25% 10%,#4e2747,transparent 60%),var(--bg)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--mint);outline-offset:4px}.shell{width:min(940px,calc(100% - 40px));margin:auto;padding:22px 0 16px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:21px}.brand{color:var(--cream);font-size:35px;font-weight:1000;letter-spacing:-2px;line-height:1;text-decoration:none;white-space:nowrap}.brand span{color:var(--coral);margin-left:7px}.brand i{font-style:normal;color:var(--acid)}.header-note{font-size:12px;letter-spacing:1.6px;font-weight:800;opacity:.6}nav{display:flex;gap:7px}nav button{border:1px solid #fff0dd50;border-radius:7px;background:transparent;color:var(--cream);min-width:37px;height:35px;font-size:13px;font-weight:700}nav button:first-child{padding:0 10px}nav button[aria-pressed=true]{color:var(--acid);border-color:var(--acid)}.layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);gap:30px;align-items:start}.board{border:2px solid var(--coral);border-radius:16px;background:#24152b;overflow:hidden;box-shadow:0 7px 0 #10091690}.board-label{height:33px;display:flex;align-items:center;justify-content:space-between;background:var(--coral);color:var(--ink);padding:0 15px;font-size:11px;font-weight:900;letter-spacing:1px}.stage{aspect-ratio:4/5;position:relative;overflow:hidden;container-type:inline-size;isolation:isolate}canvas{width:100%;height:100%;display:block;touch-action:none}.rail{padding:6px 0}.eyebrow{font-size:12px;font-weight:800;letter-spacing:1.6px;display:block}.score-panel>.eyebrow{color:var(--coral)}#score{display:block;font-size:clamp(40px,5vw,67px);font-weight:900;letter-spacing:-3px;font-variant-numeric:tabular-nums;line-height:1.15;margin:7px 0 18px;white-space:nowrap}#score.long{font-size:clamp(32px,4vw,52px)}.stats{display:flex;gap:22px;padding-bottom:14px;border-bottom:1px solid #fff0dd25}.stats>div{flex:1;min-width:0}.stats span{font-size:11px;opacity:.65;display:block;font-weight:800;letter-spacing:1px}.stats b{font-size:28px;display:block;margin-top:5px;font-variant-numeric:tabular-nums}.stats small{font-size:13px;margin-left:3px}#chain{color:var(--acid)}#goal{font-size:13px;font-weight:700;margin:14px 0 23px;line-height:1.5}.new-best{color:var(--acid)}.next-line{display:flex;gap:17px;align-items:center;margin-bottom:14px}.next-line>div:first-child{display:flex;align-items:center;gap:12px}.orb-preview{display:grid;place-items:center;background:#ff8277;color:var(--ink);border:2px solid var(--ink);width:48px;height:48px;border-radius:50%;box-shadow:0 3px 0 #ff827755;font-size:23px;font-weight:900}.next-follow{font-size:12px;opacity:.7}.next-follow span{display:block}.next-follow b{display:block;font-size:20px;margin-top:3px}.drop-hint{margin-left:auto;font-size:12px;opacity:.6;line-height:1.5}.drop-button,.primary{background:var(--coral);color:var(--ink);border:0;border-bottom:5px solid #b83f38;border-radius:10px;font-size:26px;font-weight:1000;width:100%;min-height:60px;display:flex;align-items:center;justify-content:center;gap:20px;padding:12px 20px}.drop-button:active:enabled,.primary:active{transform:translateY(2px);border-bottom-width:3px}kbd{font:700 11px Arial;border:1px solid currentColor;opacity:.6;padding:4px 6px;border-radius:4px}.power-panel{margin-top:25px}.power-top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;margin-bottom:9px}.power-top b{letter-spacing:1px;color:var(--acid)}.power-top span{font-size:11px;opacity:.6}.power-meter{height:7px;border-radius:5px;overflow:hidden;background:#fff0dd15}.power-meter i{display:block;background:var(--acid);height:100%;width:0;transition:width .15s}.blast-button{margin-top:11px;width:100%;min-height:44px;border:1px solid #ecff6970;border-radius:8px;background:transparent;color:var(--acid);font-weight:800;font-size:16px;display:flex;align-items:center;justify-content:center;gap:18px}.blast-button:enabled{background:var(--acid);color:var(--ink);box-shadow:0 0 20px #ecff6920}.blast-button:active:enabled{transform:translateY(2px)}#growth{font-size:12px;margin:12px 0;line-height:1.4;opacity:.75}.tip{font-size:13px;line-height:1.9;margin:23px 0 0;opacity:.65}.tip b{color:var(--acid)}footer{display:flex;justify-content:space-between;margin-top:20px;font-size:11px;opacity:.5}.overlay{position:absolute;inset:0;z-index:5;background:#25152eb0;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px}.overlay[hidden]{display:none}.panel{text-align:center;max-height:100%;overflow-y:auto;width:100%;padding:12px;color:var(--cream)}.panel .eyebrow{color:var(--acid);font-size:12px}.panel h1{font-size:clamp(56px,24cqw,110px);font-weight:1000;line-height:.83;letter-spacing:-7px;margin:23px 0 28px;transform:rotate(-5deg)}.panel em{color:var(--coral);font-style:normal}.panel p{font-size:16px;font-weight:700;line-height:1.6;margin:16px 0}.panel .primary{font-size:18px;min-height:54px;width:min(270px,100%);margin:20px auto 0}.panel small{font-size:11px;opacity:.65;display:block;margin-top:12px}.panel h2{font-size:clamp(24px,7cqw,40px);line-height:1.2;letter-spacing:-1px;margin:14px 0}.result-score{font-size:clamp(31px,12cqw,57px);font-weight:1000;color:var(--acid);letter-spacing:-2px;margin:16px 0}.result-stats{display:flex;justify-content:center;gap:30px;font-size:12px;margin:16px 0}.result-stats b{font-size:24px;display:block;margin-top:5px}.panel .challenge{font-size:14px;line-height:1.5}.secondary{border:1px solid #fff0dd50;border-radius:8px;background:transparent;color:var(--cream);font-size:15px;font-weight:700;padding:11px 22px;margin:12px auto 0;display:block}.help-list{text-align:left;font-size:14px;line-height:1.8;max-width:380px;padding-left:20px;margin:18px auto}.callout{position:absolute;top:25%;left:50%;transform:translateX(-50%) rotate(-4deg) scale(.9);white-space:nowrap;color:var(--acid);font-size:clamp(25px,8cqw,43px);font-weight:1000;letter-spacing:-1px;text-shadow:3px 3px 0 var(--bg),-2px -2px 0 var(--bg);z-index:3;pointer-events:none;opacity:0;transition:opacity .12s,transform .12s}.callout.show{opacity:1;transform:translateX(-50%) rotate(-4deg) scale(1)}.danger .board{border-color:var(--acid)}.danger .board-label{background:var(--acid)}.fever .board-label{background:var(--acid)}.fever .drop-button{background:var(--acid);border-bottom-color:#afbb43}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:761px){.shell{max-width:min(940px,calc((100dvh - 180px)*1.34))}.layout{grid-template-columns:minmax(0,1.3fr) minmax(230px,.8fr)}}
@media(min-width:761px) and (max-height:780px){.header-note{display:none}.rail{padding:0}#score{font-size:49px;margin-bottom:12px}.stats b{font-size:23px}.stats{padding-bottom:10px}#goal{margin:10px 0 15px}.next-line{margin-bottom:10px}.power-panel{margin-top:17px}.tip{font-size:12px;margin-top:14px}.drop-button{min-height:55px}}
@media(max-width:760px){.shell{width:min(430px,calc(100% - 24px));padding:15px 0 12px}header{gap:10px;margin-bottom:13px}.brand{font-size:28px}.header-note{display:none}nav{gap:5px}nav button{min-width:30px;height:32px;font-size:12px}nav button:first-child{padding:0 7px}.layout{display:flex;flex-direction:column;gap:0}.rail{display:contents}.score-panel{order:0;width:100%;display:grid;grid-template-columns:1.05fr 1fr;column-gap:15px;margin-bottom:10px}.score-panel>.eyebrow{font-size:10px;grid-column:1}.score-panel #score{grid-column:1;font-size:34px;line-height:1.05;letter-spacing:-1.8px;margin:3px 0}.score-panel #score.long{font-size:27px}.stats{grid-column:2;grid-row:1/3;gap:10px;border:0;padding:0;align-items:center}.stats span{font-size:9px;letter-spacing:.5px}.stats b{font-size:22px}.stats small{font-size:11px}.score-panel #goal{grid-column:1/-1;font-size:11px;margin:7px 0 0}.board{order:1;width:100%;border-radius:12px}.board-label{height:27px;font-size:9px;padding:0 11px}.launch-panel{order:2;width:100%;display:grid;grid-template-columns:105px 1fr;gap:15px;align-items:center;margin-top:13px}.next-line{margin:0;gap:10px}.next-line>div:first-child{gap:8px}.next-line .eyebrow{font-size:10px}.orb-preview{width:40px;height:40px;font-size:20px}.next-follow,.drop-hint{display:none}.drop-button{min-height:48px;font-size:23px;padding:7px 10px;gap:15px}.drop-button kbd{font-size:10px}.power-panel{order:3;width:100%;display:grid;grid-template-columns:1fr 1fr;column-gap:16px;align-items:center;margin-top:13px}.power-top{font-size:11px;margin-bottom:6px}.power-top b{letter-spacing:0}.power-top span{display:none}.power-meter{grid-column:1;height:6px}.blast-button{grid-column:2;grid-row:1/3;margin:0;min-height:38px;font-size:13px;gap:8px}.blast-button kbd{display:none}#growth{grid-column:1/-1;font-size:10px;margin:8px 0 0}.tip{display:none}footer{margin-top:12px;font-size:10px}.panel{padding:5px}.panel h1{font-size:clamp(54px,24cqw,87px);letter-spacing:-5px;margin:19px 0 21px}.panel p{font-size:13px}.panel .eyebrow{font-size:11px}.panel .primary{font-size:15px;margin-top:15px;min-height:48px}.panel small{font-size:9px}.result-score{font-size:clamp(29px,12cqw,43px);margin:10px 0}.result-stats{gap:24px;margin:12px 0;font-size:11px}.result-stats b{font-size:21px}.panel .challenge{font-size:12px}.help-list{font-size:13px}.panel h2{margin:10px 0}}
@media(max-width:360px){.drop-button kbd{display:none}.launch-panel{grid-template-columns:95px 1fr}.stats{gap:7px}.stats b{font-size:20px}.score-panel #score{font-size:30px}.score-panel #score.long{font-size:24px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}.panel h1,.callout{transform:none!important}}

/* Build choices and player-triggered giant core. */
.powers{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.powers .power-panel,.giant-panel{margin:0;min-width:0}.powers .power-top{align-items:flex-start;flex-direction:column;gap:5px;min-height:36px;margin-bottom:7px}.powers .power-top b{font-size:11px;letter-spacing:.3px}.powers .power-top span{font-size:11px;display:block;opacity:.7}.giant-panel .power-top b{color:var(--coral)}#giantFill{background:var(--coral)}.powers .blast-button{font-size:15px;gap:7px;margin-top:9px;min-height:44px}.powers .blast-button kbd{padding:3px 4px}.giant-panel .blast-button{border-color:#ff635470;color:#ff897d}.giant-panel .blast-button:enabled{background:var(--coral);color:var(--ink);box-shadow:0 0 20px #ff635440}.growth-panel #growth{margin:12px 0 8px}.build-tags,.result-build{display:flex;flex-wrap:wrap;gap:5px;font-size:12px;color:#fff0dd90;min-height:20px}.build-tags span,.result-build span{color:var(--perk);border:1px solid currentColor;border-radius:5px;padding:3px 6px;font-weight:800}.result-build{justify-content:center;margin:10px auto}.upgrade-panel{text-align:left;padding:4px}.upgrade-panel h2{font-size:clamp(21px,6cqw,31px);letter-spacing:-.8px;margin:8px 0}.upgrade-panel .eyebrow{font-size:11px;letter-spacing:1px}.upgrade-panel .upgrade-note{font-size:12px;font-weight:400;margin:8px 0 13px;opacity:.7;line-height:1.5}.perk-choices{display:grid;gap:8px}.perk-choice{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:#321f3c;border:1px solid #fff0dd45;border-left:4px solid var(--perk);border-radius:9px;color:var(--cream);padding:12px;min-height:77px}.perk-choice:hover{background:#463049}.perk-choice:active{transform:translateY(1px)}.perk-number{display:grid;place-items:center;flex:0 0 24px;height:24px;background:var(--perk);color:var(--ink);border-radius:5px;font:900 14px Arial}.perk-choice b{display:block;font-size:16px;line-height:1.3}.perk-choice small{font-size:13px;line-height:1.5;opacity:.75;margin:5px 0 0;display:block}.near-best{color:var(--acid);font-size:16px!important;margin:12px 0!important}.near-best b{font-size:22px}.near-best small{color:var(--cream);font-size:11px;margin-top:5px}.result-panel .result-stats{gap:23px}.tip{margin-top:14px}
@media(min-width:761px) and (max-height:780px){.powers{margin-top:15px}.tip{display:none}.powers .blast-button{font-size:14px}.growth-panel #growth{font-size:11px}}
@media(max-width:760px){.powers{order:3;width:100%;margin-top:13px;gap:15px}.powers .power-top{flex-direction:row;align-items:center;min-height:0;margin:0 0 6px;gap:6px}.powers .power-top b{font-size:10px}.powers .power-top span{font-size:10px}.powers .power-panel{display:block}.powers .power-meter{height:6px}.powers .blast-button{min-height:44px;font-size:14px;margin-top:8px}.growth-panel{order:4;width:100%}.growth-panel #growth{font-size:11px;margin:9px 0 6px}.build-tags{font-size:11px;min-height:18px}.build-tags span{padding:2px 5px}.upgrade-panel{padding:3px}.upgrade-panel h2{font-size:21px}.perk-choice{padding:10px 9px;min-height:70px;gap:9px}.perk-choice b{font-size:14px}.perk-choice small{font-size:12px;margin-top:4px}.upgrade-note{margin-bottom:10px!important}.near-best{font-size:14px!important}.near-best b{font-size:18px}.result-panel .result-stats{gap:20px}.result-panel .primary{margin-top:12px}}
@media(max-width:760px) and (min-height:600px){.board{width:min(100%,calc((100dvh - 385px)*.8 + 4px));align-self:center}}

#upgradeDialog{width:min(460px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:0;background:transparent;color:var(--cream);overflow:auto}#upgradeDialog::backdrop{background:#1a0f24c9;backdrop-filter:blur(4px)}#upgradeDialog .upgrade-panel{max-height:none;width:100%;background:#321f3c;border:2px solid var(--coral);border-radius:15px;padding:22px;text-align:left}#upgradeDialog .upgrade-panel h2{font-size:27px;margin:10px 0}#upgradeDialog .upgrade-note{font-size:14px;margin:8px 0 18px}#upgradeDialog .perk-choice{min-height:86px;padding:13px 12px}#upgradeDialog .perk-choice b{font-size:16px}#upgradeDialog .perk-choice small{font-size:14px;line-height:1.5}#upgradeDialog .perk-choices{gap:10px}.upgrade-help{margin-top:16px;border:0;background:transparent;color:var(--cream);text-decoration:underline;text-underline-offset:3px;font-size:13px;padding:8px 0;opacity:.75}#upgradeDialog .panel .eyebrow{font-size:12px}@media(max-width:360px){#upgradeDialog .upgrade-panel{padding:17px}#upgradeDialog .upgrade-panel h2{font-size:23px}#upgradeDialog .perk-choice{padding:11px 10px}#upgradeDialog .perk-choice b{font-size:15px}}
