:root{--ink:#12132a;--cream:#f7f2e9;--muted:#989bb4;--purple:#8a6cfa;--pink:#ff7199;--mint:#4de0cd;--yellow:#ffcc52;--blue:#5c9dff;--surface:#1c1d3a;--line:rgba(255,255,255,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#11132b;color:#fff;font-family:ui-rounded,"Arial Rounded MT Bold",Nunito,"Trebuchet MS",system-ui,sans-serif;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:3px solid #fff;outline-offset:3px}button:disabled{opacity:.5;cursor:not-allowed}.hidden{display:none!important}.ambient{position:fixed;z-index:-1;border-radius:50%;filter:blur(92px);pointer-events:none}.ambient-a{width:600px;height:600px;background:#712c96;opacity:.22;top:-400px;left:-180px}.ambient-b{width:500px;height:500px;background:#1b7c8c;opacity:.15;right:-330px;bottom:-270px}.site{max-width:1220px;margin:0 auto;padding:0 30px 22px}.masthead{height:93px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;gap:13px;align-items:center}.brand-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;background:var(--pink);color:#211632;font-size:31px;transform:rotate(-8deg);box-shadow:5px 5px 0 #742b6e}.brand-title{display:block;font-size:21px;font-weight:1000;letter-spacing:-1.1px;line-height:1.1}.bang{color:var(--yellow)}.brand-sub{display:block;color:#a5a3cb;font-size:9px;font-weight:900;letter-spacing:2.9px;margin-top:4px}.header-right{display:flex;align-items:center;gap:20px}.badge-online{font-size:11px;color:#aaaacb;letter-spacing:1.4px;font-weight:900}.online-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#46e9ba;box-shadow:0 0 12px #46e9ba;margin-right:9px}.icon-button{width:42px;height:42px;border:1px solid var(--line);background:#21223f;border-radius:12px;font-size:24px;color:#ebd8ff}.icon-button.muted{color:#777b9c;position:relative}.icon-button.muted::after{content:'';position:absolute;left:12px;right:12px;top:20px;border-top:2px solid #ff7494;transform:rotate(-35deg)}.screen{animation:riseIn .4s ease both}@keyframes riseIn{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:none}}
.menu-screen{display:grid;grid-template-columns:minmax(0,.97fr) minmax(0,1.03fr);gap:50px;padding:44px 0 46px;align-items:start}.intro-column{padding-top:16px}.eyebrow{color:var(--mint);font-size:12px;letter-spacing:2px;font-weight:1000}.tiny-star{color:var(--yellow);font-size:20px;vertical-align:-2px;margin-right:6px}.intro-column h1{margin:18px 0 17px;font-size:clamp(48px,6vw,80px);line-height:.96;letter-spacing:-4.5px;font-weight:1000;max-width:560px}.gradient-word{color:var(--yellow);display:block;text-shadow:4px 5px 0 #db6186}.oversize-dot{color:var(--pink)}.lead{font-size:16px;color:#b9bad1;line-height:1.7;max-width:420px}.art-panel{margin-top:30px;position:relative;height:340px;border-radius:30px;overflow:hidden;background:radial-gradient(circle at 51% 19%,#454c8a 0,#30295b 43%,#1e1a3e 100%);border:1px solid #59507e;box-shadow:0 19px 45px #08091b60;isolation:isolate}.art-panel::before{content:'';position:absolute;width:110%;height:112px;background:repeating-linear-gradient(30deg,#8f75e61c 0 12px,#2b194812 12px 25px);bottom:0}.art-sun{position:absolute;width:240px;height:240px;background:radial-gradient(circle,#ffb85885,#f58bb337,transparent 72%);left:calc(50% - 120px);top:0}.art-orbit{position:absolute;border-radius:50%;border:2px dashed #ffffff20;width:400px;height:250px;left:calc(50% - 200px);top:11px;transform:rotate(-10deg)}.art-orbit.b{transform:rotate(20deg);width:310px;height:185px;left:calc(50% - 155px);top:42px}.art-blocks{position:absolute;bottom:-5px;left:-10px;right:-10px;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,54px);transform:rotate(-4deg);box-shadow:0 -14px 0 #16162a2a;gap:3px}.art-blocks .tile{border-radius:12px 12px 9px 9px;border:4px solid #ffffff30;box-shadow:inset 0 -9px #0000001a,inset 0 5px #ffffff40}.tile.blue{background:#559bff}.tile.pink{background:#ff6b9b}.tile.yellow{background:#ffc34e}.tile.green{background:#52d7a0}.hero-driller{position:absolute;z-index:3;width:128px;height:181px;top:42px;left:calc(50% - 64px);filter:drop-shadow(0 11px 4px #1a193761);animation:heroBob 2.2s ease-in-out infinite}.helmet-glow{position:absolute;background:#fff4a2;width:125px;height:82px;top:2px;border-radius:62px 62px 23px 23px;box-shadow:inset 0 -12px #e18a42,5px 4px 0 #693759;border:5px solid #542b60}.helmet{position:absolute;left:14px;top:24px;width:100px;height:50px;border-radius:48px 48px 12px 12px;background:#ffb74d;border:5px solid #64376e}.helmet-lamp{position:absolute;top:-5px;left:48px;width:35px;height:32px;border-radius:50%;background:#fbfbff;border:6px solid #9955a0;box-shadow:0 0 21px #ffec8e}.face{position:absolute;top:69px;left:20px;width:90px;height:70px;border-radius:30px 30px 45px 45px;background:#ffd5ae;border:5px solid #64376e;box-shadow:inset 0 -6px #efa776}.eye{display:block;position:absolute;top:22px;height:20px;width:10px;border-radius:50%;background:#33203d}.eye.left{left:24px}.eye.right{right:21px}.cheek{position:absolute;bottom:12px;left:34px;width:14px;border-bottom:4px solid #b65e7c;border-radius:50%}.scarf{position:absolute;top:127px;left:9px;width:111px;height:28px;background:#ff608d;border-radius:10px 15px 10px 15px;border:5px solid #633561;transform:rotate(-4deg)}.body-suit{position:absolute;top:139px;left:23px;width:81px;height:34px;background:#57d6d0;border-radius:18px;border:5px solid #62355e}.hand-one,.hand-two{position:absolute;top:142px;width:26px;height:30px;border-radius:10px;background:#ffd1a5;border:5px solid #663661}.hand-one{left:0}.hand-two{right:0}.feet{position:absolute;top:164px;width:37px;height:22px;background:#ff7c93;border-radius:10px;border:5px solid #633561}.feet.l{left:25px}.feet.r{right:23px}.hero-drill{position:absolute;right:-19px;top:154px;width:34px;height:59px;border-radius:13px 13px 23px 23px;background:#d2d8fa;border:6px solid #63436e;transform:rotate(-22deg)}.hero-drill::after{content:'';position:absolute;border-left:9px solid transparent;border-right:9px solid transparent;border-top:21px solid #91a8ea;bottom:-20px;left:2px}.hero-drill span{display:block;width:14px;height:5px;border-radius:3px;background:#8ea2d4;margin:9px auto}.floating-air{position:absolute;z-index:4;left:13%;top:26%;transform:rotate(-14deg);padding:11px 15px;background:#6be6da;color:#194463;border-radius:9px;font-weight:1000;font-size:14px;box-shadow:4px 5px 0 #20234d}.floating-shine{position:absolute;z-index:2;right:17%;top:25%;font-size:44px;color:#ffcc52;animation:heroBob 1.7s infinite}.menu-quicktips{display:flex;flex-wrap:wrap;gap:18px;color:#999abb;font-weight:900;letter-spacing:.8px;font-size:10px;margin-top:22px}.menu-quicktips i{font-style:normal;color:var(--pink)}@keyframes heroBob{50%{transform:translateY(-10px)}}
.setup-card{border-radius:26px;background:#f6f1e9;color:var(--ink);padding:27px 30px 24px;box-shadow:0 22px 48px #04051b3b;position:relative;overflow:hidden}.setup-card::before{content:'';position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,#ff75a3 0 25%,#ffcc54 25% 50%,#5eabd8 50% 75%,#55dbaa 75%)}.card-topline{display:flex;justify-content:space-between;color:#897da5;font-size:10px;letter-spacing:2px;font-weight:900}.card-top-star{font-size:21px;color:#ee829d}.setup-card h2{font-size:28px;letter-spacing:-1.2px;margin:13px 0 5px;font-weight:1000}.section-caption{margin:0 0 19px;color:#79788d;font-size:12px;line-height:1.6}.world-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.world-option{background:white;border:2px solid #e5dfdf;padding:12px 4px 10px;border-radius:14px;display:flex;align-items:center;flex-direction:column;gap:6px;min-height:78px;transition:transform .13s,border-color .13s,box-shadow .13s}.world-option:hover{transform:translateY(-2px)}.world-option.active{border-color:#9c6cf6;background:#f5eaff;box-shadow:0 0 0 2px #e4d2ff}.world-emoji{font-size:23px;line-height:1}.world-label{font-size:10px;letter-spacing:.2px;font-weight:1000}.section-line{display:flex;justify-content:space-between;align-items:center;margin-top:22px;margin-bottom:9px}.section-line h3{margin:0;font-size:12px;font-weight:1000;letter-spacing:1px}.section-line span{font-size:10px;color:#9993a4;letter-spacing:.5px;font-weight:900}.difficulty-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.diff{background:#fff;border:2px solid #e6e1e0;border-radius:13px;padding:11px 5px 10px;display:flex;flex-direction:column;gap:4px;align-items:center}.diff.active{background:#25213e;color:#fff;border-color:#25213e}.diff span{font-weight:1000;font-size:11px}.diff small{font-weight:800;color:#9891a3;font-size:9px}.diff.active small{color:#b8b1d5}.character-group{display:grid;gap:8px}.char-option{display:flex;align-items:center;text-align:left;gap:11px;background:#fff;border:2px solid #e8e1df;border-radius:12px;padding:8px 12px}.char-option.active{border-color:#9c6cf6;background:#f3eaff}.char-face{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;color:#543858;border:3px solid #645073;font-size:18px;flex-shrink:0}.yellow-face{background:#ffd568}.teal-face{background:#88e2e0}.pink-face{background:#ffa8c4}.char-option b{font-size:11px;display:block}.char-option small{font-size:10px;color:#92909f;display:block;margin-top:2px}.play-button{border:0;border-radius:14px;background:#ff6e93;color:#301d38;box-shadow:0 6px 0 #ae466f;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;font-size:16px;font-weight:1000;padding:16px 20px;margin:19px 0 9px;transition:transform .1s,box-shadow .1s}.play-button:hover{background:#ff86a9}.play-button:active{transform:translateY(4px);box-shadow:0 2px 0 #ae466f}.play-arrow{font-size:22px}.save-note{text-align:center;color:#918d9f;font-size:10px;margin:19px 0 0}.footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:20px;font-size:9px;letter-spacing:1.4px;font-weight:900;color:#7c7da4}
/* Game */
.game-screen{padding:27px 0 42px}.game-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}.game-eyebrow{font-size:11px;letter-spacing:1.5px}.game-heading h2{font-size:27px;line-height:1;margin:7px 0 0;letter-spacing:-1.2px}.game-heading-buttons{display:flex;gap:10px}.secondary-button{background:#252541;color:white;border:1px solid #3a3b5c;padding:11px 16px;border-radius:10px;font-weight:1000;font-size:11px;letter-spacing:1px}.secondary-button:hover{background:#373859}.game-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(270px,.85fr);gap:20px;align-items:start}.board-wrap{position:relative;width:100%;max-width:570px;justify-self:center;aspect-ratio:480 / 690;border:7px solid #303052;border-radius:24px;background:#21234b;overflow:hidden;box-shadow:0 19px 45px #02021086;touch-action:none}.board-wrap canvas{display:block;width:100%;height:100%;object-fit:fill;touch-action:none}.game-sidebar{display:flex;flex-direction:column;gap:13px}.stats-card{border:1px solid #393959;background:#202140;border-radius:17px;padding:17px 19px}.stat-name{font-size:11px;font-weight:1000;letter-spacing:1.8px;color:#a3a5c8}.depth-number{font-size:46px;line-height:1.2;letter-spacing:-2px;font-weight:1000;color:white;margin:8px 0 13px}.depth-number small{font-size:18px;color:#8689b7;margin-left:4px}.progress-track,.air-track{background:#111329;height:12px;border-radius:12px;overflow:hidden;border:1px solid #42415d}.progress-fill{height:100%;background:linear-gradient(90deg,#7e6dfb,#f873b1);border-radius:12px;transition:width .18s}.stat-meta{display:flex;justify-content:space-between;font-size:9px;color:#8183ad;letter-spacing:1.3px;font-weight:900;margin-top:9px}.stat-top{display:flex;align-items:center;justify-content:space-between}.air-value{font-weight:1000;color:#56e6d9;font-size:20px}.air-track{height:17px;margin-top:12px;border-radius:12px}.air-fill{height:100%;background:linear-gradient(90deg,#36c6db,#55eac1);transition:width .18s}.air-fill.low{background:linear-gradient(90deg,#ff695f,#ffa34e)}.stat-help{color:#999ac0;font-size:11px;line-height:1.55;margin:10px 0 0}.stat-pair{display:grid;grid-template-columns:1fr 1fr;gap:13px}.stats-card.half{padding:17px 16px}.stat-value{font-size:24px;font-weight:1000;letter-spacing:0;margin-top:11px;color:var(--yellow);font-variant-numeric:tabular-nums}.hearts{color:#ff799e;letter-spacing:1.5px;font-size:21px;font-weight:1000;margin-top:10px;white-space:nowrap}.best-value{font-size:29px;font-weight:1000;color:#e5ddff;margin-top:8px}.stat-foot{font-size:11px;color:#8183ab;margin-top:6px}.instructions{padding:10px 10px 5px;color:#9296c1}.instructions-title{font-size:11px;color:#d0d1e8;font-weight:1000;letter-spacing:2px;margin-bottom:10px}.key-row{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:11px;margin:8px 0}.keycaps{border:1px solid #4c4d70;padding:6px 8px;border-radius:6px;font-size:10px;color:#eeecff;background:#262845;font-weight:900}.instructions p{font-size:11px;line-height:1.6;color:#8587aa}.restart-button{border:1px dashed #5f587a;color:#b9add7;background:transparent;padding:13px 14px;border-radius:12px;font-size:10px;font-weight:1000;letter-spacing:1.2px}.restart-button:hover{background:#25233e}.game-overlay{position:absolute;inset:0;background:rgba(19,16,40,.85);backdrop-filter:blur(7px);z-index:8;display:flex;justify-content:center;align-items:center;padding:23px}.overlay-panel{width:100%;max-width:360px;text-align:center;background:#f6f0e9;color:#201936;border-radius:23px;padding:28px 24px 25px;box-shadow:0 18px 40px #10102070}.overlay-kicker{font-size:11px;letter-spacing:2.4px;color:#a078b1;font-weight:1000}.overlay-panel h2{font-size:33px;line-height:1;margin:14px 0 12px;letter-spacing:-1.8px}.overlay-panel p{color:#878093;font-size:12px;line-height:1.6;margin:0}.overlay-score{font-size:16px;font-weight:1000;padding:11px;margin-top:14px;border-radius:10px;background:#eae4eb;color:#473e61}.overlay-panel .play-button{margin-top:24px;font-size:13px}.overlay-secondary{background:transparent;border:0;text-decoration:underline;color:#877494;font-size:12px;font-weight:900;margin-top:10px}.floating-msg{position:absolute;z-index:3;top:24%;left:0;right:0;text-align:center;font-size:26px;font-weight:1000;color:#fff7bd;pointer-events:none;text-shadow:0 3px 0 #51477f,0 0 17px #e49499;opacity:0;transform:translateY(10px)}.floating-msg.show{animation:messagePop 1.25s both}@keyframes messagePop{20%{opacity:1;transform:translateY(0) scale(1.06)}65%{opacity:1}100%{opacity:0;transform:translateY(-30px)}}
.touch-controls{display:none;margin-top:18px;padding:16px;background:#1b1c39;border:1px solid #393953;border-radius:18px;user-select:none;touch-action:none}.touch-instructions{font-size:10px;font-weight:1000;letter-spacing:2px;color:#898bac;text-align:center}.touch-pad{display:flex;justify-content:space-around;align-items:center;gap:35px;margin:16px 0 5px}.dpad{display:grid;grid-template-columns:repeat(3,55px);grid-template-rows:repeat(3,47px);gap:4px}.touch-key{border:1px solid #626485;background:#383a65;border-bottom:4px solid #252642;border-radius:10px;font-size:19px;touch-action:none}.touch-key:active,.touch-key.held{background:#61639a;transform:translateY(2px)}.touch-key.up{grid-area:1/2}.touch-key.left{grid-area:2/1}.touch-key.down{grid-area:3/2}.touch-key.right{grid-area:2/3}.pad-center{grid-area:2/2;display:grid;place-items:center;color:#9da0c8;font-size:26px}.drill-button{border:4px solid #f9abc1;box-shadow:0 7px 0 #872f62;background:#ff729b;border-radius:50%;width:108px;height:108px;color:#56243f;font-size:16px;font-weight:1000;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;touch-action:none}.drill-button span{font-size:27px}.drill-button:active,.drill-button.held{transform:translateY(5px);box-shadow:0 2px 0 #872f62}.touch-hint{text-align:center;font-size:10px;color:#7779a7;margin-top:10px}
@media(max-width:960px){.site{padding:0 22px 20px}.menu-screen{gap:23px}.intro-column h1{font-size:clamp(46px,6.6vw,68px)}.setup-card{padding:23px 19px 22px}.game-layout{grid-template-columns:minmax(0,1fr) minmax(230px,.85fr)}.stats-card{padding:14px}.stat-value{font-size:19px}.hearts{font-size:17px}}
@media(max-width:730px){.site{padding:0 14px 17px}.masthead{height:71px}.brand-title{font-size:17px}.brand-icon{width:36px;height:36px;font-size:26px}.brand-sub{font-size:7px;letter-spacing:1.7px}.badge-online{display:none}.menu-screen{grid-template-columns:1fr;gap:25px;padding-top:30px}.intro-column{padding-top:0}.intro-column h1{font-size:58px}.lead{font-size:14px}.art-panel{height:255px;margin-top:21px}.art-panel .hero-driller{transform:scale(.86);transform-origin:top center;left:calc(50% - 64px)}.art-blocks{grid-template-rows:repeat(3,42px)}.menu-quicktips{gap:12px;margin-top:17px}.setup-card{padding:23px 20px 20px}.game-heading h2{font-size:21px}.game-heading{align-items:flex-start;gap:8px}.game-heading-buttons{gap:6px}.secondary-button{padding:10px;font-size:10px}.game-layout{display:flex;flex-direction:column;align-items:center}.board-wrap{max-width:500px;width:100%;border-width:5px}.game-sidebar{width:100%;max-width:500px;display:grid;grid-template-columns:1fr 1fr}.stats-card{min-width:0}.stats-card:first-child{grid-column:1/2}.stat-pair{grid-column:1/-1}.game-sidebar .combo-panel{grid-column:2/3;grid-row:1/2}.game-sidebar>.stats-card:nth-child(2){grid-column:1/-1}.instructions{grid-column:1/-1}.restart-button{grid-column:1/-1}.touch-controls{display:block;width:100%;max-width:500px;margin:17px auto}.footer{font-size:8px;line-height:1.5}.footer span:last-child{display:none}}
@media(max-width:400px){.intro-column h1{font-size:49px;letter-spacing:-3px}.world-option{min-height:70px}.world-label{font-size:9px}.setup-card{padding:22px 14px}.world-grid{gap:6px}.difficulty-list{gap:5px}.diff span{font-size:10px}.diff small{font-size:8px}.game-screen{padding-top:17px}.dpad{grid-template-columns:repeat(3,49px);grid-template-rows:repeat(3,43px)}.drill-button{width:98px;height:98px}.touch-pad{gap:8px}.stats-card.half{padding:12px}}
@media(pointer:coarse){.touch-controls{display:block}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* LANDSCAPE GAME MODE — immersive mobile arcade layout.
   The menu remains scrollable; gameplay uses the available screen edge-to-edge. */
html,body,button,canvas, .site, .touch-controls {
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
  -webkit-tap-highlight-color:transparent;
}
* { -webkit-user-drag:none; }
button, .touch-key, .drill-button { touch-action:manipulation; }
.rotate-prompt { display:none; }
body.game-active {
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  overflow:hidden;
  overscroll-behavior:none;
  background:#11132a;
}
body.game-active .ambient,
body.game-active .masthead,
body.game-active .footer {display:none;}
body.game-active .site,
body.game-active main {max-width:none;width:100%;height:100%;min-height:0;margin:0;padding:0;}
body.game-active .game-screen {
  position:fixed;
  inset:0;
  display:block;
  margin:0;
  padding:0;
  width:100%;
  height:100vh;
  height:100dvh;
  overflow:hidden;
  animation:none;
  isolation:isolate;
  background:radial-gradient(ellipse 70% 90% at center,#292f5b 0%,#14152d 67%,#101126 100%);
}
body.game-active .game-heading {
  position:absolute;
  right:max(7px,env(safe-area-inset-right));
  top:max(5px,env(safe-area-inset-top));
  left:auto;
  margin:0;
  z-index:21;
}
body.game-active .game-heading>div:first-child{display:none;}
body.game-active .game-heading-buttons {gap:5px;}
body.game-active .secondary-button {
  display:grid;
  place-items:center;
  min-width:52px;
  height:43px;
  padding:5px 7px;
  border-radius:11px;
  font-size:10px;
  letter-spacing:0;
  line-height:1;
  box-shadow:0 2px 0 #111428;
}
body.game-active .fullscreen-button{min-width:38px;font-size:21px;}
body.game-active .game-layout {display:block;margin:0;padding:0;}
body.game-active .board-wrap {
  position:absolute;
  z-index:2;
  top:55px;
  left:50%;
  transform:translateX(-50%);
  /* The height fits below the 50px HUD, preserving the game's 480:690 ratio. */
  width:min(calc(69.56dvh - 45px),calc(100dvw - 304px));
  height:auto;
  max-width:none;
  aspect-ratio:480 / 690;
  border:3px solid #525789;
  border-radius:15px;
  overflow:hidden;
  box-shadow:0 0 0 3px #151830,0 15px 25px #0007;
  justify-self:auto;
  margin:0;
}
body.game-active .board-wrap canvas{width:100%;height:100%;}
body.game-active .game-sidebar {
  position:absolute;
  z-index:9;
  top:max(5px,env(safe-area-inset-top));
  left:max(7px,env(safe-area-inset-left));
  right:170px;
  width:auto;
  height:43px;
  max-width:none;
  display:grid;
  grid-template-columns:minmax(66px,.85fr) minmax(91px,1.17fr) minmax(160px,2.05fr);
  gap:5px;
  align-items:stretch;
  pointer-events:none;
}
body.game-active .game-sidebar .stats-card {
  display:block;
  min-width:0;
  width:auto;
  height:43px;
  border:1px solid #5b5c83;
  border-radius:10px;
  padding:5px 8px;
  overflow:hidden;
  background:#232644ee;
}
body.game-active .game-sidebar .stats-card:first-child,
body.game-active .game-sidebar>.stats-card:nth-child(2){grid-column:auto;grid-row:auto;}
body.game-active .stat-name{font-size:8px;letter-spacing:.45px;white-space:nowrap;line-height:1.1;}
body.game-active .depth-number{font-size:17px;line-height:1.13;margin:3px 0 0;letter-spacing:0;}
body.game-active .depth-number small{font-size:10px;margin-left:2px;}
body.game-active .progress-track,
body.game-active .air-track{height:5px;margin:3px 0 0;}
body.game-active .air-value{font-size:14px;line-height:1;}
body.game-active .stat-top{align-items:start;gap:3px;}
body.game-active .stat-pair {display:grid;grid-template-columns:1fr 1fr;gap:5px;grid-column:auto;grid-row:auto;min-width:0;}
body.game-active .stat-pair .stats-card.half{padding:5px 7px;}
body.game-active .stat-value {font-size:16px;line-height:1;margin:4px 0 0;}
body.game-active .hearts{font-size:15px;line-height:1;margin-top:5px;letter-spacing:0;}
body.game-active .stat-help,
body.game-active .stat-meta,
body.game-active .game-sidebar .combo-panel,
body.game-active .instructions,
body.game-active .restart-button {display:none;}
body.game-active .touch-controls {
  display:block!important;
  position:absolute;
  z-index:17;
  inset:0;
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:none;
  touch-action:none;
  pointer-events:none;
}
body.game-active .touch-pad {display:contents;}
body.game-active .touch-instructions,body.game-active .touch-hint {display:none;}
body.game-active .dpad {
  position:absolute;
  left:max(8px,env(safe-area-inset-left));
  bottom:max(9px,env(safe-area-inset-bottom));
  display:grid;
  grid-template-columns:repeat(3,clamp(50px,15dvh,74px));
  grid-template-rows:repeat(3,clamp(50px,15dvh,74px));
  gap:3px;
  transform:none;
  pointer-events:none;
  filter:drop-shadow(0 5px 3px #0606198c);
}
body.game-active .touch-key {
  pointer-events:auto;
  cursor:pointer;
  font-size:clamp(22px,6dvh,30px);
  line-height:1;
  color:#fff;
  background:linear-gradient(#595f9c,#343763);
  border:2px solid #959bd2;
  border-bottom:5px solid #252950;
  border-radius:12px;
  touch-action:none;
  -webkit-user-select:none;
  user-select:none;
}
body.game-active .touch-key.held,body.game-active .touch-key:active {
  background:linear-gradient(#9c9ff4,#626bc8);
  border-bottom-width:2px;
  transform:translateY(3px);
}
body.game-active .pad-center {
  font-size:26px;
  color:#656ba2;
  border:1px solid #50557f66;
  border-radius:10px;
  background:#25294c99;
  pointer-events:none;
}
body.game-active .drill-button {
  position:absolute;
  right:max(11px,env(safe-area-inset-right));
  bottom:max(20px,env(safe-area-inset-bottom));
  display:flex;
  pointer-events:auto;
  width:clamp(111px,28dvh,151px);
  height:clamp(111px,28dvh,151px);
  margin:0;
  border:5px solid #ffd1e2;
  border-radius:50%;
  box-shadow:0 9px 0 #932c62,0 12px 22px #07071caa,inset 0 6px #ffffff50;
  background:radial-gradient(circle at 35% 22%,#ffabcc,#fc6f9c 67%,#de3d78);
  color:#551a39;
  gap:2px;
  font-size:clamp(16px,4.2dvh,22px);
  font-weight:1000;
  text-shadow:0 1px #fff5;
  touch-action:none;
  -webkit-user-select:none;
  user-select:none;
}
body.game-active .drill-button span{font-size:clamp(30px,8dvh,42px);line-height:1;}
body.game-active .drill-button.held,body.game-active .drill-button:active{
  transform:translateY(6px);
  box-shadow:0 3px 0 #932c62,inset 0 4px #ffffff80;
  background:#ffc1d5;
}
body.game-active .game-overlay {
  position:absolute;
  z-index:44;
  inset:0;
  width:100%;
  height:100%;
  background:rgba(14,13,37,.85);
  padding:10px;
  overflow:auto;
  touch-action:pan-y;
}
body.game-active .overlay-panel {
  width:min(400px,calc(100dvw - 40px));
  max-height:calc(100dvh - 20px);
  overflow:auto;
  padding:clamp(14px,3dvh,23px) 20px;
}
body.game-active .overlay-panel h2{font-size:clamp(20px,5.5dvh,31px);margin:7px 0 8px;}
body.game-active .overlay-panel p{font-size:12px;line-height:1.3;}
body.game-active .overlay-panel .play-button{margin:12px 0 5px;padding:11px 15px;font-size:12px;}
body.game-active .overlay-secondary{margin-top:6px;}
body.game-active .floating-msg{font-size:clamp(12px,3.8dvh,26px);}

@media (orientation:portrait) and (pointer:coarse){
  body.game-active .rotate-prompt{
    display:grid;
    position:absolute;
    inset:0;
    z-index:100;
    place-items:center;
    background:linear-gradient(145deg,#12142e,#292651);
    padding:20px;
    text-align:center;
  }
  .rotate-message{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:350px;}
  .rotate-phone{font-size:94px;color:#ffcc66;line-height:.85;display:block;transform:rotate(90deg);text-shadow:4px 2px #72509b;}
  .rotate-message strong{font-size:clamp(22px,7vw,33px);color:#fff;letter-spacing:0;}
  .rotate-message p{font-size:15px;line-height:1.5;color:#c7c2e9;margin:0;}
  .rotate-message small{color:#9696bb;font-size:12px;}
  .rotate-try{border:0;background:#ff7199;color:#25203e;border-radius:13px;padding:16px 19px;font-weight:1000;box-shadow:0 5px #953f70;touch-action:manipulation;}
}
@media(max-height:350px) and (orientation:landscape){
  body.game-active .game-heading{top:2px;}
  body.game-active .game-sidebar{top:2px;}
  body.game-active .board-wrap{top:51px;width:min(calc(69.56dvh - 40px),calc(100dvw - 300px));}
  body.game-active .touch-key{border-radius:9px;}
  body.game-active .dpad{bottom:4px;}
  body.game-active .drill-button{bottom:14px;}
}
