:root{--brick-purple:#6d71cf;--brick-blue:#58b7df;--brick-red:#ef5f78;--brick-yellow:#ffd35f}.brick-sky,.brick-sky::before,.brick-sky::after{content:"";position:fixed;inset:0;pointer-events:none}.brick-sky{background:radial-gradient(circle,rgba(255,255,255,.62) 0 2px,transparent 2.5px) 0 0/38px 38px;opacity:.55}.brick-sky::before{background:linear-gradient(25deg,transparent 45%,#ffd35f 46% 54%,transparent 55%) 7% 25%/32px 18px no-repeat,linear-gradient(-25deg,transparent 45%,#f487a4 46% 54%,transparent 55%) 93% 71%/32px 18px no-repeat}.brick-sky::after{background:radial-gradient(ellipse,#fff 0 38%,transparent 42%) 89% 17%/14px 6px no-repeat;transform:rotate(18deg)}body{background:linear-gradient(145deg,#9da9ed,#7078cf 54%,#565cb4)}.brand{color:white}.brand-mark i{background:#ffd35f}.brand-mark::before{background:#f487a4}.menu-button,.icon-button{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.16);color:white}.game-card{box-shadow:0 28px 80px rgba(34,31,89,.36),0 6px 0 rgba(36,34,59,.18)}.scoreboard{grid-template-columns:1fr 1.8fr 1fr}.stud-stat{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;border-inline:2px dashed rgba(36,34,59,.14)}.stud-stat strong{font-size:clamp(22px,4vw,31px);line-height:1;font-weight:800;font-variant-numeric:tabular-nums}.stud-stat strong>span:first-child{color:#efb92f;-webkit-text-stroke:1px #9b6b16}.brick-stage{height:min(64vh,590px);min-height:440px;background:linear-gradient(#bdeafa 0 62%,#eef7d6 62% 100%);touch-action:none}.brick-stage::before{display:none}#gameCanvas{position:relative;z-index:1;width:100%;height:100%;display:block}.touch-controls{position:absolute;z-index:3;left:0;right:0;bottom:12px;display:none;justify-content:space-between;padding:0 13px;pointer-events:none}.touch-controls>div{display:flex;gap:8px}.touch-controls button{width:58px;height:58px;display:grid;place-items:center;border:3px solid var(--ink);border-radius:16px;background:rgba(255,255,255,.82);color:var(--ink);font-size:22px;font-weight:800;box-shadow:0 4px 0 var(--ink);pointer-events:auto;user-select:none;-webkit-user-select:none}.touch-controls button:active,.touch-controls button.active{transform:translateY(3px);box-shadow:0 1px 0 var(--ink);background:#ffd35f}.touch-controls .action-controls button{grid-template-rows:1fr auto;width:64px;padding:7px 4px 6px}.touch-controls .action-controls span{line-height:1}.touch-controls .action-controls small{font-size:7px;letter-spacing:.08em}.touch-controls .jump-control{background:rgba(244,135,164,.9);color:white}.pause-curtain{position:absolute;z-index:8;inset:0;display:grid;place-items:center;padding:22px;background:rgba(48,45,102,.72);backdrop-filter:blur(6px)}.pause-curtain.hidden{display:none}.pause-curtain>div{display:flex;flex-direction:column;align-items:center;padding:27px 38px;border:4px solid var(--ink);border-radius:22px;background:#fff8e8;box-shadow:0 7px 0 var(--ink)}.pause-curtain span{font-size:49px}.pause-curtain strong{font:400 36px/1 "Shrikhand",Georgia,serif}.pause-curtain small{margin-top:8px;font-weight:700;opacity:.65}.overlay{background:radial-gradient(circle at center,rgba(255,255,255,.91),rgba(215,225,255,.96))}.eyebrow{color:#5759ad}.overlay h1 em{color:var(--brick-red)}.result-overlay{background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.96),rgba(218,224,255,.97))}.pulse-dot{background:var(--brick-purple);box-shadow:0 0 0 4px rgba(109,113,207,.17)}.text-button{color:#5759ad}.shop-note{color:rgba(255,255,255,.68)}
@media(max-width:760px),(pointer:coarse){.touch-controls{display:flex}.brick-stage{min-height:480px;height:calc(100svh - 205px);max-height:650px}.overlay{padding:17px}.overlay-card>p{margin-block:13px}.how-to{margin:14px 0 17px}.keyboard-hint{display:none}}
@media(max-width:430px){.scoreboard{grid-template-columns:.8fr 1.7fr 1fr}.stud-stat strong{font-size:21px}.touch-controls button{width:52px;height:52px}.touch-controls .action-controls button{width:57px}.brick-stage{min-height:500px}}
@media(max-height:680px) and (orientation:landscape){.brick-stage{height:calc(100vh - 160px);min-height:350px}.touch-controls button{width:48px;height:48px}.touch-controls .action-controls button{width:52px}.overlay h1{font-size:42px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
