:root{--ink: #14384b;--panel-edge: rgba(74, 131, 116, .2);--shadow: rgba(32, 59, 72, .14);--accent: #f24b43;--accent-dark: #d52c27;--mint: rgba(225, 241, 232, .88);--mint-edge: rgba(146, 191, 163, .38)}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{min-height:100svh;overflow:hidden;color:var(--ink);font-family:Avenir Next Condensed,Trebuchet MS,Gill Sans,sans-serif;background:linear-gradient(180deg,#f6f4ef,#fde6c8 46%,#f7c8ad);overscroll-behavior:none}button,canvas{touch-action:none}.page{width:100%;min-height:100svh}.game-panel{position:relative;width:100%;min-height:100svh;overflow:hidden;background:linear-gradient(180deg,#f5f7f133,#fae0b914)}#game{display:block;width:100%;height:100svh}.hud{position:absolute;top:0;left:0;right:0;z-index:3;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:18px;padding:calc(20px + env(safe-area-inset-top)) 20px 0;pointer-events:none}.event-lockup{max-width:min(39rem,100%);padding:18px 20px;border-radius:28px;background:linear-gradient(180deg,var(--mint),rgba(225,241,232,.76)),linear-gradient(140deg,rgba(255,255,255,.4),transparent);border:1px solid var(--mint-edge);box-shadow:0 22px 48px var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.eyebrow{margin:0;font-size:.86rem;letter-spacing:.2em;text-transform:uppercase;color:#4b9f7f}h1{margin:10px 0 6px;font-size:clamp(2.7rem,6.3vw,5.1rem);line-height:.88;letter-spacing:.04em;text-transform:uppercase;color:#36aa63;font-family:Marker Felt,Chalkboard SE,Bradley Hand,Comic Sans MS,cursive;font-weight:700}.theme-line{margin:0;font-size:clamp(1rem,2.1vw,1.45rem);line-height:1.15;color:#174766;font-family:Marker Felt,Chalkboard SE,Bradley Hand,Comic Sans MS,cursive}.event-meta{margin:8px 0 0;font-size:clamp(1rem,2.15vw,1.38rem);line-height:1.2;letter-spacing:.02em;color:#174766;font-family:Marker Felt,Chalkboard SE,Bradley Hand,Comic Sans MS,cursive}.feature-strip{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:14px;font-size:clamp(.96rem,2vw,1.24rem);line-height:1.1;font-family:Marker Felt,Chalkboard SE,Bradley Hand,Comic Sans MS,cursive}.feature-strip span{display:inline-flex;align-items:center;padding:.28rem 0}.feature-strip span:nth-child(1){color:#ef3d39}.feature-strip span:nth-child(2){color:#71a7f5}.feature-strip span:nth-child(3){color:#f06bcc}.score-strip{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}.score-card{min-width:132px;padding:14px 18px;border-radius:24px;color:#fffaf1;background:linear-gradient(180deg,#324861c7,#1f3852a8),linear-gradient(180deg,rgba(255,255,255,.18),transparent);border:1px solid rgba(255,244,225,.2);box-shadow:0 16px 34px #3f13072e;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.score-card span{display:block;font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;opacity:.82}.score-card strong{display:block;margin-top:4px;font-size:clamp(1.8rem,4vw,2.5rem);letter-spacing:.08em}.play-note{position:absolute;left:22px;bottom:calc(22px + env(safe-area-inset-bottom));z-index:2;margin:0;padding:12px 16px;border-radius:999px;color:#fff8ee;background:#1b3d536b;border:1px solid rgba(244,250,255,.22);box-shadow:0 12px 26px #17354924;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none}.game-panel.is-running .hud{padding:calc(env(safe-area-inset-top) + 4px) 10px 0}.game-panel.is-running .score-strip{margin-left:auto}.game-panel.is-running .event-lockup,.game-panel.is-running .play-note{opacity:0;visibility:hidden;transform:translateY(-10px)}.event-lockup,.play-note{transition:opacity .18s ease,visibility .18s ease,transform .18s ease}.overlay{display:none!important;position:absolute;left:50%;top:58%;width:min(36rem,calc(100% - 36px));transform:translate(-50%,-50%);z-index:4;display:grid;place-items:center;align-content:center;gap:10px;padding:22px 20px;text-align:center;background:linear-gradient(180deg,#153a4ed6,#232c3de6),radial-gradient(circle at 50% 18%,rgba(255,245,201,.12),transparent 38%);color:#fff7ee;border:1px solid rgba(255,249,230,.18);border-radius:30px;box-shadow:0 26px 48px #15263342;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:opacity .18s ease,visibility .18s ease,transform .18s ease}.overlay.is-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-50%) scale(.98)}.overlay-kicker{margin:0;font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;color:#fff7d1}.overlay h2{margin:0;font-size:clamp(2rem,4.8vw,3.6rem);line-height:.92;letter-spacing:.05em;text-transform:uppercase;font-family:Marker Felt,Chalkboard SE,Bradley Hand,Comic Sans MS,cursive}.overlay-copy{margin:0;max-width:34rem;font-size:clamp(1rem,2vw,1.16rem);line-height:1.45}.action-button,.jump-button{appearance:none;border:0;border-radius:999px;font:inherit;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff8ec;cursor:pointer;background:linear-gradient(180deg,var(--accent) 0%,var(--accent-dark) 100%);box-shadow:0 14px 26px #8c251f3d,inset 0 1px #ffffff40}.action-button{min-width:12rem;padding:.95rem 1.45rem}.action-button:disabled{opacity:.6;cursor:wait}.jump-button{position:absolute;right:22px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:5;padding:.9rem 1.4rem}.action-button:hover,.jump-button:hover{filter:brightness(1.06)}.action-button:active,.jump-button:active{transform:translateY(1px)}@media(max-width:820px){.hud{padding:calc(16px + env(safe-area-inset-top)) 16px 0}.event-lockup{width:100%;padding:16px 18px;border-radius:24px}h1{font-size:clamp(2.15rem,11vw,3.75rem)}.score-strip{width:100%;justify-content:space-between}.score-card{flex:1 1 150px}.play-note{left:16px;max-width:calc(100% - 126px);padding:10px 14px;font-size:.76rem}.overlay{top:61%;width:calc(100% - 28px);padding:18px 16px}.jump-button{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));padding:.82rem 1.2rem}}@media(max-width:520px){.overlay{top:62%;width:calc(100% - 24px);padding:16px 14px}.overlay h2{font-size:clamp(1.7rem,10vw,2.6rem)}.overlay-copy{font-size:.92rem}.score-card{min-width:0;padding:12px 14px}.score-card strong{font-size:1.7rem}.feature-strip{gap:6px 12px;font-size:.98rem}}
