@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--cream:#f6efdc;--red:#cb253c;--gold:#eac586;--muted:#b4a9ac}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#100d10;color:var(--cream);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid #ffffff18}.brand{font:900 27px/.82 'Barlow Condensed',Arial,sans-serif;letter-spacing:-1px}.brand span{display:inline-block;font:10px/1.6 'DM Sans',sans-serif;letter-spacing:2px;margin-left:24px;vertical-align:middle}nav{display:flex;gap:32px;font-size:12px}button.outline{border:1px solid #ffffff40;background:transparent;color:var(--cream);padding:11px 18px;border-radius:3px}.hero{height:650px;position:relative;overflow:hidden}.hero-image{position:absolute;inset:0;background:url('https://joergbausch.de/fang-den-bausch/?jb_game_asset=assets/header-ohne-schrift.webp&v=628558d48378') center top/cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#170b11 1%,#190c12e6 24%,#220b1260 65%,#20071135),linear-gradient(0deg,#100d10,transparent 30%)}.hero-copy{position:relative;margin-left:8%;padding-top:65px}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:700}.eyebrow i{display:inline-block;background:var(--red);width:7px;height:7px;border-radius:50%;margin-right:9px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif}h1{font-size:clamp(66px,7.6vw,116px);line-height:.9;letter-spacing:-1px;margin:25px 0}em{font-style:normal;color:var(--red)}.intro{font-size:15px;line-height:1.8;color:#e0d4d2}.primary{display:inline-flex;justify-content:center;align-items:center;gap:40px;background:var(--red);border:0;color:white;font-weight:700;font-size:13px;padding:18px 24px;border-radius:3px}.primary:hover{background:#ea344c;transform:translateY(-1px)}.concert{display:flex;align-items:center;gap:18px;margin-top:36px;font-size:11px;letter-spacing:1px}.concert b{font:700 36px/.8 'Barlow Condensed',sans-serif;border-right:1px solid #ffffff40;padding-right:18px}.concert b span{display:block;font:11px 'DM Sans';letter-spacing:4px;margin-top:7px}.concert small{display:block;color:var(--muted);letter-spacing:0;margin-top:7px}.cover{position:absolute;right:7%;bottom:44px;transform:rotate(5deg);width:172px;box-shadow:0 15px 60px #0008}.cover img{width:100%;display:block;border:5px solid #eee3d2}.cover span{display:block;font-size:8px;letter-spacing:2px;text-align:center;padding:10px;background:#21151a}.vertical{position:absolute;right:22px;top:90px;writing-mode:vertical-rl;letter-spacing:5px;font-size:10px}.ticker{padding:20px;display:flex;justify-content:space-evenly;gap:25px;border-top:1px solid #ffffff17;border-bottom:1px solid #ffffff17;font-size:10px;letter-spacing:2px;color:#d6c8bf}.ticker b{color:var(--red)}.section{max-width:1250px;margin:auto;padding:75px 40px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}h2{font-size:58px;line-height:1;margin:16px 0}h3{font-size:33px;line-height:1.05}.section-heading>p,.ranking p{font-size:13px;line-height:1.8;color:var(--muted)}.play-layout{display:grid;grid-template-columns:1fr 280px;gap:24px}.game{height:540px;position:relative;border:1px solid #7d4d5350;border-radius:7px;overflow:hidden;background:#100d17;touch-action:none}canvas{display:block;width:100%;height:100%}.hud{position:absolute;z-index:2;top:20px;left:25px;right:25px;display:flex;justify-content:space-between;pointer-events:none;font-size:9px;letter-spacing:2px;color:#d1bec2}.hud strong{font:700 30px 'Barlow Condensed';display:block;color:var(--cream);letter-spacing:0}.stage-label{position:absolute;top:102px;left:0;right:0;text-align:center;font-size:8px;letter-spacing:3px;color:#bfaeb9}.stage-label span{color:var(--red)}.overlay{position:absolute;inset:0;background:#110c15b8;backdrop-filter:blur(7px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;z-index:3;padding:25px}.overlay h3{font-size:54px;margin:7px 0 18px}.overlay p:not(.eyebrow){font-size:12px;color:#c5b9c1;line-height:1.8}.heart{font-size:42px;color:var(--red);margin-bottom:18px;text-shadow:0 0 35px #ff355e}.overlay[hidden]{display:none}.prize{border:1px solid #ffffff18;padding:22px;border-radius:6px;background:linear-gradient(140deg,#35181e,#151015)}.prize .eyebrow{font-size:8px;letter-spacing:1.5px}.prize h3{margin:16px 0}.prize p{font-size:12px;line-height:1.7;color:#c4b6b6}.prize img{width:100%;height:108px;object-fit:cover;border-radius:3px}.prize small{display:block;font-size:9px;line-height:1.6;color:#a9989c;margin-top:12px}.best{display:flex;flex-direction:column;border:1px solid #ffffff18;padding:19px 22px;margin-top:15px;border-radius:6px}.best span{font-size:9px;letter-spacing:2px}.best strong{font:700 39px 'Barlow Condensed';color:var(--gold);margin:4px 0}.best small{font-size:10px;color:var(--muted)}#feedback{position:absolute;bottom:22px;text-align:center;width:100%;font-size:10px;letter-spacing:3px;color:var(--gold);pointer-events:none}.pause{position:absolute;right:20px;bottom:16px;z-index:2;background:#211727;color:white;border:1px solid #ffffff30;padding:7px 12px}.steps{display:flex;justify-content:space-between;margin-top:24px}.steps p{display:flex;gap:12px;font-size:11px;color:var(--muted)}.steps b{font:700 30px 'Barlow Condensed';color:#664149}.steps strong{display:block;color:var(--cream);margin:3px 0 7px}.ranking{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:1px solid #ffffff14}.ranking label{display:block;font-size:11px;margin:25px 0 10px}.ranking input{background:#1e161c;border:1px solid #ffffff25;color:white;padding:14px;width:100%;max-width:330px;border-radius:3px}.ranking .note{font-size:10px;max-width:330px;margin-top:15px}.board{border:1px solid #ffffff18;border-radius:6px;align-self:start;margin-top:25px}.board-head{display:flex;align-items:center;justify-content:space-between;padding:22px;border-bottom:1px solid #ffffff18}.board-head h3{margin:0;font-size:28px}.board-head span{font-size:8px;letter-spacing:1px;color:var(--gold)}.row{display:flex;gap:18px;padding:17px 24px;border-bottom:1px solid #ffffff0c;font-size:12px;align-items:center}.row b{color:var(--gold);width:18px}.row strong{margin-left:auto}.empty{padding:35px 25px;color:var(--muted);font-size:13px;line-height:1.8}.fans{position:relative;min-height:410px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}.fans>img{position:absolute;width:100%;height:100%;object-fit:cover;opacity:.27}.fans:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#150c14aa,#340c1670)}.fans>div{position:relative;z-index:1;padding:50px 20px}.fans h2{font-size:55px}.fans p{font-size:12px;line-height:1.8}.fans em{color:#ff6476}footer{display:flex;justify-content:space-between;gap:15px;padding:35px 5%;font-size:10px;color:var(--muted)}footer strong{color:var(--cream)}:focus-visible{outline:2px solid var(--gold);outline-offset:5px}#game:fullscreen{height:100vh;width:100vw;border:0}#game:fullscreen .stage-label{top:100px}@media(max-width:800px){header{height:80px}.brand span,nav{display:none}.hero{height:650px}.hero-image{background-position:65% top}.hero-shade{background:linear-gradient(90deg,#140b11ee,#140b1170),linear-gradient(0deg,#100d10,transparent)}.hero-copy{margin-left:7%;padding-top:65px}h1{font-size:78px}.cover{width:108px;right:7%;bottom:35px}.intro{max-width:270px;font-size:13px}.concert{max-width:240px;font-size:9px}.ticker{font-size:8px;line-height:1.5}.ticker span:last-of-type,.ticker b:last-child{display:none}.section{padding:45px 20px}.section-heading{display:block}.section-heading>p{margin-top:20px}h2{font-size:46px}.play-layout{grid-template-columns:1fr}.game{height:530px}.play-layout aside{display:grid;grid-template-columns:1.3fr 1fr;gap:12px}.prize{padding:16px}.prize h3{font-size:27px}.prize img,.prize small{display:none}.best{margin:0;justify-content:center;padding:15px}.best span{line-height:1.6}.steps{gap:14px}.steps p{font-size:9px;line-height:1.6}.steps b{display:none}.ranking{grid-template-columns:1fr;gap:10px}.board{margin-top:0}.fans h2{font-size:43px}footer{flex-wrap:wrap}.vertical{display:none}}
/* Fang den Bausch — playable theatre */
.section{max-width:1420px}.game{height:auto;aspect-ratio:1100/805;background:#090b15;isolation:isolate}.game canvas{position:absolute;inset:72px 0 60px;height:calc(100% - 132px);width:100%;outline-offset:-4px}.game-top{position:absolute;left:0;right:0;top:0;height:72px;display:flex;justify-content:space-between;align-items:center;background:#17121e;border-bottom:1px solid #ffffff12;padding:0 24px;z-index:2}.hud{position:static;gap:40px;align-items:center}.hud strong{font-size:26px}.hud>div:last-child strong{color:#edc98d}#phase{font:700 16px 'Barlow Condensed';letter-spacing:1.4px;color:#edc98d}.game-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:10px;height:60px;padding:10px 15px;background:#17121e;border-top:1px solid #ffffff12;z-index:2}#feedback{position:static;flex:1;width:auto;font-size:9px;letter-spacing:.7px;line-height:1.5;text-align:left}.game-bottom button{white-space:nowrap;border:1px solid #ffffff25;border-radius:4px;padding:10px 14px;font-size:11px;color:#f6efdc;background:#34202b}.game-bottom #dash{background:#ad2944;border-color:#cb4661;min-width:100px}.game-bottom #dash:disabled{opacity:.45;cursor:default}.game-bottom #pause{background:transparent}.overlay{background:linear-gradient(145deg,#1e1426e8,#0d101bd9);backdrop-filter:blur(3px);z-index:4}.game-badge{font-size:8px;letter-spacing:3px;color:#d6bd9e;border:1px solid #a27d6640;padding:7px 12px;border-radius:20px;margin-bottom:16px}.game-title{font:900 clamp(43px,5vw,72px)/.87 'Barlow Condensed',Arial;letter-spacing:-1px;transform:rotate(-4deg);text-shadow:3px 4px 0 #07080b}.game-title em{color:#f25172}.overlay h3{font-size:24px;margin:19px 0 9px}.overlay p:not(.eyebrow){font-size:11px;margin-bottom:16px}.overlay .name-label{font-size:8px;letter-spacing:1.5px;margin-bottom:6px;color:#c7b7bb}.overlay input{width:230px;background:#ffffff09;border:1px solid #ffffff30;color:#fff1da;border-radius:4px;padding:10px 14px;text-align:center;font-size:12px;margin-bottom:12px}.overlay .primary{padding:14px 30px}.overlay small{font-size:8px;color:#b6a8b5;margin-top:13px}.music-bar{display:flex;align-items:center;gap:13px;padding:14px 19px;border:1px solid #ffffff15;border-radius:5px;margin-top:15px;max-width:calc(100% - 304px);background:#1a121a}.music-bar strong{font-size:11px;display:block}.music-bar small{font-size:9px;display:block;color:var(--muted);margin-top:5px}.music-bar .vinyl{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid #bf997b60;background:#38222b;color:#ebc28b}.music-bar button{margin-left:auto;border:1px solid #ffffff25;background:transparent;border-radius:4px;color:var(--cream);padding:8px 12px;font-size:10px}#resume-panel{position:absolute;inset:72px 0 60px;z-index:3;background:#110e1ac9;backdrop-filter:blur(5px);display:flex;flex-direction:column;align-items:center;justify-content:center}#resume-panel[hidden]{display:none}#resume-panel p{font:700 32px 'Barlow Condensed';color:#f6efdc}#game:fullscreen{aspect-ratio:auto;height:100vh;width:100vw}#game:fullscreen canvas{inset:72px 0 60px;height:calc(100% - 132px)}#game:fullscreen .overlay h3{font-size:30px}#game:fullscreen .game-title{font-size:90px}#game:fullscreen .overlay p{font-size:15px}@media(max-width:800px){.game{aspect-ratio:1/1.04;min-height:440px;max-height:650px}.game-top{padding:0 13px}.hud{gap:24px}.hud strong{font-size:25px}.hud>div{font-size:8px}#phase{font-size:12px;max-width:95px;text-align:right}.game canvas{inset:72px 0 65px;height:calc(100% - 137px)}.game-bottom{height:65px;padding:8px;gap:6px}#feedback{font-size:8px;letter-spacing:0}.game-bottom button{padding:10px 8px;font-size:10px}.game-bottom #dash{min-width:85px}.music-bar{max-width:100%}.overlay{padding:15px}.game-title{font-size:55px}.game-badge{margin-bottom:12px}.overlay h3{font-size:23px;margin:14px 0 7px}.overlay p:not(.eyebrow){font-size:10px;margin-bottom:10px}.overlay small{font-size:7px}.overlay .primary{padding:12px 22px}.overlay input{padding:8px 12px}.play-layout aside{grid-template-columns:1.5fr 1fr}.steps strong{font-size:10px}.hero{height:620px}}@media(max-height:600px){#game:fullscreen .overlay{display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:10px 30px;padding:25px 12%}#game:fullscreen .game-title{grid-column:1;grid-row:1/5;font-size:65px}#game:fullscreen .game-badge{display:none}#game:fullscreen .overlay h3{font-size:24px;margin:0}#game:fullscreen .overlay p{font-size:10px;margin:0}#game:fullscreen .overlay small{grid-column:1/-1}#game:fullscreen .name-label{display:none}#game:fullscreen .overlay input{margin:0;width:100%}}
#game:fullscreen .hud{gap:50px}#game:fullscreen .hud>div{font-size:12px}#game:fullscreen .hud strong{font-size:35px}#game:fullscreen .game-bottom button{font-size:14px;padding:10px 20px}#game:fullscreen #feedback{font-size:12px}#game:fullscreen #phase{font-size:20px}@media(max-width:600px){.game-bottom{flex-wrap:wrap;height:78px}.game-bottom #feedback{flex-basis:100%;height:14px;text-align:center}.game-bottom button{flex:1;padding:7px 6px}.game-bottom #dash{min-width:70px}.game canvas{bottom:78px;height:calc(100% - 150px)}.game{min-height:485px}.game-title{font-size:51px}.overlay h3{font-size:22px}.overlay p:not(.eyebrow){max-width:280px}.steps{gap:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.primary:hover{transform:none}}
.music-bar #effects{margin-left:auto}.music-bar #mute{margin-left:0}@media(max-width:600px){.music-bar{gap:8px;padding:12px}.music-bar button{padding:8px;font-size:9px}.music-bar .vinyl{display:none}.game-bottom #sfxgame,.game-bottom #soundgame{font-size:9px}}
.stage-tools{display:flex;align-items:center;gap:12px}.stage-tools button{border:1px solid #ffffff30;background:#ffffff0a;border-radius:5px;color:#f0d09a;padding:6px 9px;font-size:17px;cursor:pointer}#mixer-panel{position:absolute;right:14px;top:82px;z-index:6;background:#211823f5;border:1px solid #a785665e;box-shadow:0 10px 35px #0008;border-radius:8px;padding:17px 20px;width:275px;color:#f7efdd}#mixer-panel[hidden]{display:none}.mixer-heading{display:flex;align-items:center;justify-content:space-between;font-size:13px;margin-bottom:18px}.mixer-heading button{border:0;background:none;color:#d6c1bc;font-size:23px;padding:0 4px}#mixer-panel label{display:flex;justify-content:space-between;font-size:12px;margin-top:14px}#mixer-panel output{color:#efca88}#mixer-panel input{display:block;width:100%;margin:12px 0;accent-color:#e9b97c;cursor:pointer}#mixer-panel small{font-size:9px;color:#b5a4ae}#game:fullscreen #mixer-panel{width:300px}@media(max-width:600px){.stage-tools{gap:5px}.stage-tools button{padding:5px 7px;font-size:15px}.game-top .hud{gap:18px}.game-top #phase{max-width:82px;font-size:10px}}
.game.crashed canvas{animation:crash-shake .12s linear 4;filter:sepia(.3) saturate(1.8)}.game.crashed .game-top{border-color:#f85174}.game.crashed #phase{color:#ff7891}@keyframes crash-shake{0%,100%{transform:translate(0,0)}25%{transform:translate(-5px,2px)}75%{transform:translate(5px,-2px)}}@media(prefers-reduced-motion:reduce){.game.crashed canvas{animation:none}}
.level-info{position:absolute;top:82px;left:20px;right:20px;z-index:2;pointer-events:none;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.5px;color:#c5b4c5}.level-info b{font-weight:500;color:#efd3a0}#level-notice{position:absolute;z-index:3;top:115px;left:50%;transform:translateX(-50%);max-width:90%;width:max-content;border:1px solid #f6d49b66;background:#221827ed;border-radius:7px;padding:10px 18px;color:#f3d5a2;font-size:11px;text-align:center;box-shadow:0 4px 20px #0005;pointer-events:none}#level-notice[hidden]{display:none}#game:fullscreen .level-info{font-size:12px}#game:fullscreen #level-notice{font-size:16px}@media(max-width:600px){.level-info{font-size:8px;left:12px;right:12px}#level-notice{font-size:9px;padding:9px 12px}.overlay p:not(.eyebrow){max-width:300px}}
.game.changing canvas{opacity:.24;filter:blur(2px);transition:opacity .4s,filter .4s}.game canvas{transition:opacity .4s,filter .4s}#level-notice.transition-title{top:46%;padding:24px 35px;border-color:#d3b68944;background:#211b29f2;font:700 32px 'Barlow Condensed',Arial;letter-spacing:.5px;white-space:normal;max-width:80%;width:auto;min-width:220px;line-height:1.3;box-shadow:0 12px 50px #0007}#game:fullscreen #level-notice.transition-title{font-size:40px}@media(max-width:600px){#level-notice.transition-title{font-size:25px;padding:20px;min-width:210px}}@media(prefers-reduced-motion:reduce){.game canvas,.game.changing canvas{transition:none;filter:none}}
.game.changing canvas{opacity:.58;filter:none}

.brand{display:flex;align-items:center;gap:20px}.brand img{display:block;width:104px;height:37px;object-fit:contain}.brand span{margin-left:0}@media(max-width:600px){.brand img{width:92px;height:33px}}

/* Shared leaderboard, visible beside the game and in fullscreen. */
.leader-strip{display:flex;align-items:center;gap:20px;padding:22px 26px;margin:0 0 22px;border:1px solid #eac58666;background:linear-gradient(110deg,#35221f,#19131b);border-radius:7px}.leader-crown{font-size:42px;color:var(--gold)}.leader-strip small{display:block;font-size:10px;letter-spacing:1.4px;color:var(--gold);line-height:1.8}.leader-strip strong{display:block;font:700 27px/1.2 'Barlow Condensed',Arial,sans-serif;overflow-wrap:anywhere}.leader-total{margin-left:auto;text-align:right}.leader-total strong{font-size:38px}.leader-strip>a{font-size:11px;white-space:nowrap;padding:12px 15px;border:1px solid #eac58666;border-radius:4px}.play-layout{grid-template-columns:minmax(0,1fr) 310px;align-items:start}.play-layout aside{display:flex;flex-direction:column;gap:16px;min-width:0}.side-ranking{border:1px solid #eac58655;background:#1b141b;border-radius:7px;overflow:hidden}.side-ranking .board-head{padding:18px}.side-ranking .board-head h3{font-size:28px}.side-ranking .row{padding:12px 16px;gap:10px;grid-template-columns:24px minmax(0,1fr) auto}.side-ranking .row span{overflow-wrap:anywhere;font-size:12px}.side-ranking .row strong{font-size:16px;white-space:nowrap}.first-place{background:#eac58612}.first-place b{color:var(--gold)}.ranking-status,.ranking-test-note{font-size:10px;line-height:1.6;margin:12px 17px;color:var(--muted)}.ranking-status{color:var(--gold)}.ranking-more{display:block;font-size:11px;padding:13px 17px;border-top:1px solid #ffffff18;color:var(--gold)}.play-layout .best{margin:0}.play-layout .prize{margin-top:4px}.game-leader{position:absolute;top:103px;left:18px;z-index:3;color:var(--gold);font-size:10px;max-width:calc(100% - 36px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.game:fullscreen .game-leader{top:107px;font-size:13px}.ranking .outline{background:transparent;border:1px solid #eac58666;color:var(--cream);padding:12px 18px;border-radius:4px}.row span{overflow-wrap:anywhere}
@media(max-width:1000px){.play-layout{grid-template-columns:minmax(0,1fr)}.play-layout aside{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.side-ranking{grid-row:span 2}.leader-strip{gap:14px}.leader-strip strong{font-size:24px}.leader-total strong{font-size:32px}}
@media(max-width:600px){.leader-strip{padding:15px;gap:12px;flex-wrap:wrap}.leader-crown{font-size:30px}.leader-strip strong{font-size:21px}.leader-total strong{font-size:28px}.leader-strip>a{width:100%;text-align:center;padding:9px}.leader-strip small{font-size:8px}.play-layout aside{display:flex}.play-layout .side-ranking,.play-layout .best,.play-layout .prize{width:100%;box-sizing:border-box}.game-leader{top:100px;left:12px;font-size:9px}}

/* Keep the hairline just below the navigation at every cover-image scale. */
.hero-image{background-position-y:min(-22px,calc(10px - 2.71vw))}

/* Align BAUSCH with the adjacent fan challenge caption. */
.brand img{transform:translateY(-13px)}@media(max-width:800px){.brand img{transform:none}}

.game.changing canvas{opacity:1;filter:none}#level-notice.transition-title{top:21%;font-size:25px;padding:13px 22px;min-width:220px;max-width:85%;text-align:center}#game:fullscreen #level-notice.transition-title{font-size:30px}.game.reviving canvas{opacity:.65}#lives{color:var(--gold);white-space:nowrap}#name-status{display:block;min-height:1.7em;margin:10px 0;color:var(--gold);font-size:12px}#save-playername{margin:10px 0 0 8px}@media(max-width:600px){#level-notice.transition-title{font-size:18px;padding:10px;top:23%}#save-playername{margin-left:0}.hud{gap:15px}.hud strong{font-size:26px}}
/* Thumb controls stay completely outside the playable arena. */
.touch-controls,.mobile-help{display:none}.game{touch-action:pan-y}.game canvas{touch-action:none}
#game.pocket-screen{position:fixed;inset:0;z-index:99999;width:100%;height:100dvh;max-height:none;aspect-ratio:auto;border:0;border-radius:0}body.pocket-playing{overflow:hidden}
@media(pointer:coarse),(max-width:800px){
 .touch-controls{position:absolute;bottom:48px;left:0;right:0;height:150px;display:flex;align-items:center;justify-content:space-between;padding:8px 22px;background:linear-gradient(#191624,#211823);border-top:1px solid #eac58622;z-index:2;user-select:none;-webkit-user-select:none}
 .game,#game:fullscreen,#game.pocket-screen{--arena-top:64px;--arena-bottom:198px;--arena-left:0px;--arena-right:0px;min-height:570px;max-height:none;aspect-ratio:auto;height:calc((100vw - 42px)*.6364 + 262px)}
 #game:fullscreen,#game.pocket-screen{height:100dvh;min-height:0}
 .game canvas,#game:fullscreen canvas,#game.pocket-screen canvas{inset:var(--arena-top) var(--arena-right) var(--arena-bottom) var(--arena-left);width:calc(100% - var(--arena-left) - var(--arena-right));height:calc(100% - var(--arena-top) - var(--arena-bottom))}
 .game .game-top{height:64px;padding:0 12px}.game .hud,#game:fullscreen .hud{gap:15px}.game .hud>div,#game:fullscreen .hud>div{font-size:8px;letter-spacing:.5px}.game .hud strong,#game:fullscreen .hud strong{font-size:25px}.game #phase,#game:fullscreen #phase{font-size:10px;max-width:75px}
 .game .game-bottom{height:48px;flex-wrap:nowrap;padding:4px 8px;gap:6px}.game-bottom #dash{display:none}.game-bottom #feedback{flex:1;flex-basis:auto;text-align:left;font-size:8px;height:auto;overflow:hidden}.game .game-bottom button,#game:fullscreen .game-bottom button{min-height:38px;flex:0;padding:6px 9px;font-size:10px}.game-bottom #sfxgame,.game-bottom #soundgame{display:none}
 .stick-group{display:flex;align-items:center;flex-direction:column;gap:6px}.stick-group>span{font-size:8px;letter-spacing:2px;color:#bcaebd}
 #joystick{width:112px;height:112px;position:relative;border-radius:50%;border:1px solid #eac58666;background:radial-gradient(circle,#4b3545,#1a1726 70%);box-shadow:inset 0 0 22px #0006,0 3px 15px #0004;touch-action:none;color:#b19a91;padding:0}
 .stick-arrows{font-size:17px;line-height:30px;display:block;opacity:.6;pointer-events:none}#stick-knob{position:absolute;left:35px;top:35px;width:40px;height:40px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#ffe5b3,#bd8856);border:2px solid #f8dbab;box-shadow:0 4px 12px #0007;pointer-events:none}
 #touch-dash{width:90px;height:90px;border:1px solid #fb8099;border-radius:50%;background:linear-gradient(145deg,#e54166,#8d203c);box-shadow:0 5px 20px #c12d4540;color:#fff0d5;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;touch-action:none;padding:0;user-select:none}
 #touch-dash b{font-size:30px}#touch-dash span{font-size:10px;letter-spacing:1px;font-weight:700}#touch-dash:disabled{filter:saturate(.25);opacity:.5}#touch-dash:active:not(:disabled){transform:scale(.95)}
 .touch-tip{font-size:10px;line-height:1.7;text-align:center;color:#d7c7ce;margin:0 10px}.touch-tip small{display:block;font-size:8px;max-width:100px;margin:7px auto 0;color:#b29ca9}
 .mobile-help{display:inline}.desktop-help{display:none}.overlay input{font-size:16px}.game .overlay{overflow-y:auto;justify-content:safe center}.game .overlay small{font-size:9px}
 .game .level-info{top:71px;font-size:8px}.game .game-leader,#game:fullscreen .game-leader{top:89px;font-size:9px}.game #resume-panel{inset:64px 0 198px}
 .game.pocket-screen .game-title{font-size:55px}.game.pocket-screen .overlay h3{font-size:24px}
}
@media(max-width:370px){.touch-controls{padding-inline:12px}.touch-tip{font-size:9px;margin:0 5px}.game .hud,#game:fullscreen .hud{gap:10px}}
@media(orientation:landscape) and (max-height:600px) and (pointer:coarse),(orientation:landscape) and (max-height:500px) and (max-width:1000px){
 .game,#game:fullscreen,#game.pocket-screen{--arena-top:52px;--arena-bottom:44px;--arena-left:122px;--arena-right:112px;min-height:320px;height:100dvh}
 .game .game-top{height:52px}.game .game-bottom{height:44px}.touch-controls{inset:52px 0 44px;height:auto;background:none;border:0;padding:0 9px;pointer-events:none}.stick-group,#touch-dash{pointer-events:auto}.stick-group{width:104px}#joystick{width:104px;height:104px}#stick-knob{left:31px;top:31px}.touch-tip{display:none}#touch-dash{width:86px;height:86px}.game .hud strong,#game:fullscreen .hud strong{font-size:23px}.game .level-info{top:58px;left:132px;right:122px}.game .game-leader,#game:fullscreen .game-leader{top:74px;left:132px;max-width:calc(100% - 254px);font-size:8px}.game #resume-panel{inset:52px 112px 44px 122px}.game #level-notice.transition-title{top:30%;font-size:18px}.game .overlay{display:flex!important;flex-direction:column;padding:14px 18%;gap:5px}.game .overlay .game-title,.game .overlay .game-badge{display:none}.game .overlay h3{font-size:21px;margin:0}.game .overlay p:not(.eyebrow){font-size:9px;line-height:1.4;margin:0;max-width:440px}.game .overlay input{padding:6px;margin:0}.game .overlay .primary{padding:10px 20px}.game .overlay small{margin-top:0}.game .overlay[hidden]{display:none!important}
}
@media(pointer:coarse),(max-width:800px){.game{scroll-margin-top:-30px}}
/* Persistent fan accounts. */
.account-card{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;border:1px solid #eac58640;border-radius:9px;background:linear-gradient(125deg,#29202b,#17131c);padding:32px;margin:0 0 25px;scroll-margin-top:25px}.account-card[hidden],.account-card [hidden],#game-account-link[hidden]{display:none!important}.account-intro h3{font-size:42px;margin:15px 0}.account-intro>p{font-size:13px;color:#c8b7c3;line-height:1.8}.account-intro .account-privacy,.account-privacy{font-size:11px;line-height:1.7;color:#b9a6b3}.account-privacy a{color:var(--gold);text-decoration:underline}.account-tabs{display:flex;gap:5px;padding:4px;background:#0d0b1380;border-radius:6px;margin-bottom:22px}.account-tabs button{flex:1;padding:12px 8px;background:none;color:#b9a6b3;border:0;border-radius:4px;font-size:12px}.account-tabs button[aria-pressed=true]{background:#57313f;color:#ffe9c7}.account-card h4{font-size:16px;margin:0 0 18px}.account-card label{display:block;font-size:11px;color:#d9c4cc;margin:15px 0 7px}.account-card input{width:100%;border:1px solid #b09b9b50;background:#100d1880;color:#fff1dc;padding:13px 14px;border-radius:5px;font-size:16px}.account-card input:focus{border-color:var(--gold)}.account-card small{display:block;font-size:10px;line-height:1.7;color:#b9a6b3;margin-top:9px}.account-card .primary{margin-top:18px;width:100%}.account-card button:disabled,.game button:disabled{cursor:default}.account-card button:disabled{opacity:.5}.account-card .outline,#game-account-link{border:1px solid #eac58660;color:var(--gold);background:transparent;padding:12px 16px;border-radius:4px;font-size:12px}.password-reveal,.text-button{border:0;background:none;color:var(--gold);font-size:11px;padding:10px 0;display:block}.text-button{margin-top:8px}.account-status{font-size:12px;line-height:1.7;color:#f2c68e;margin:16px 0 0;min-height:1.7em}.account-tag{font-size:9px;letter-spacing:2px;color:var(--gold)}#account-name{display:block;font:700 38px 'Barlow Condensed',Arial;margin:12px 0 5px;overflow-wrap:anywhere}#account-email{color:#c8b7c3;font-size:12px;overflow-wrap:anywhere}#account-verification{font-size:13px;line-height:1.7}.account-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:18px 0}.account-actions .primary{margin:0;width:auto}#game-account-hint{color:var(--gold);font-size:11px;max-width:300px;line-height:1.6;margin-bottom:8px}#game-account-link{margin:0 0 10px}.overlay input[readonly]{color:var(--gold);background:transparent;border-color:#eac58633}.overlay .primary:disabled{opacity:.4;transform:none}.overlay{overflow-y:auto;justify-content:safe center}#account-form{margin:0}.ranking button:disabled{opacity:.4;cursor:default}
@media(max-width:800px){.account-card{grid-template-columns:1fr;gap:18px;padding:23px}.account-intro h3{font-size:34px}.account-intro h3 br{display:none}.account-intro>p{font-size:12px}.account-card .primary{min-height:46px}.account-tabs button{min-height:44px}#game-account-hint{font-size:10px}.game .overlay input{padding:6px}.overlay .game-badge{margin-bottom:7px}}
@media(orientation:landscape) and (max-height:500px){.game .overlay #game-account-hint{font-size:9px;max-width:450px;margin:0}.game .overlay #game-account-link{padding:7px 12px;margin:0}.game .overlay .name-label{display:none}}
#result-save-status{font-size:12px!important;line-height:1.6;color:#ffe3a3!important;background:#9b6b2926;border:1px solid #eac58660;border-radius:5px;max-width:420px;margin:8px 0 12px;padding:10px 15px}#result-save-status[hidden]{display:none}

#record-celebration{position:absolute;z-index:12;left:50%;top:22%;transform:translateX(-50%);width:max-content;max-width:85%;padding:12px 20px;text-align:center;background:#281725ed;border:1px solid #f6d48b;border-radius:12px;color:#ffe3a2;font-weight:800;pointer-events:none;box-shadow:0 0 35px #e5b25555}#record-celebration[hidden]{display:none}.record-pop{animation:record-pop .45s ease-out}@keyframes record-pop{from{opacity:0;transform:translate(-50%,15px) scale(.8)}to{opacity:1;transform:translate(-50%,0) scale(1)}}#pending-results{padding:12px;border:1px solid #e7b95b;border-radius:8px;color:#ffe3a2} @media(prefers-reduced-motion:reduce){.record-pop{animation:none}}

.verify-reminder{background:#302033;border:2px solid #f0c786;border-radius:16px;padding:26px;margin:0 0 24px;box-shadow:0 0 28px #f04b7d20;scroll-margin-top:100px}.verify-reminder .verify-mail-icon{display:block;font-size:42px;line-height:1;color:#f0c786;margin-bottom:16px}.verify-reminder h3{font-size:clamp(23px,3vw,32px);line-height:1.2;margin:12px 0 18px;color:#fff2cf}.verify-reminder p,.verify-reminder li{font-size:15px;line-height:1.65;color:#f8efda}.verify-reminder strong{color:#f8d492}.verify-reminder #verify-reminder-email{overflow-wrap:anywhere;font-size:18px}.verify-reminder ol{padding-left:22px;margin:20px 0}.verify-reminder li{padding-left:4px;margin:12px 0}.verify-reminder .verify-spam{padding:14px;background:#100d1455;border-radius:8px;margin-bottom:0}.verify-reminder:focus{outline:3px solid #f34c7e;outline-offset:4px}#account-resend{border-color:#f0c786;color:#f8d492}

.fan-station{display:flex;align-items:center;gap:20px;margin:18px 0;padding:18px 22px;border:1px solid #ad865b;border-radius:12px;background:#261d2c;color:#f7d497}.fan-station[hidden]{display:none}.fan-station .station-train{font-size:28px;letter-spacing:2px;color:#f34c7e}.fan-station strong{font-size:12px;letter-spacing:1.5px}.fan-station p{margin:5px 0;font-size:17px;font-weight:bold}.fan-station small{color:#d2bdcb;line-height:1.5}@media(max-width:600px){.fan-station{gap:12px;padding:15px}.fan-station .station-train{font-size:20px}}
