:root{--bg:#09090d;--panel:#14141b;--text:#f4f1e8;--muted:#aaa6a0;--red:#b31d2b;--red2:#e13945;--gold:#d6b261;--line:#30303b}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 50% 0,#1c1820 0,#0b0b10 42%,#060609 100%);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
body{min-height:100vh;overflow-x:hidden}.app-shell{width:min(760px,100%);min-height:100vh;margin:auto;padding:24px 18px 38px;position:relative;z-index:2;display:flex;align-items:center}.screen{display:none;width:100%;animation:rise .35s ease}.screen.active{display:block}@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.brand{display:flex;align-items:center;gap:18px;margin-bottom:22px}.logo{width:104px;height:104px;filter:drop-shadow(0 8px 22px #000)}.eyebrow{margin:0 0 6px;color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.16em}.brand h1{margin:0;font-family:Georgia,serif;font-size:clamp(42px,11vw,72px);line-height:.82;letter-spacing:-.05em}.brand h1 span{color:var(--red2)}
.lead{font-size:18px;line-height:1.55;color:#d2cec5;margin:26px 0}.rules{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 26px}.rules span{background:#14141bd9;border:1px solid var(--line);border-radius:14px;padding:13px;color:#cbc6bd;font-size:14px}
button{font:inherit}.primary,.secondary{width:100%;border:0;border-radius:16px;padding:16px 18px;font-weight:850;font-size:17px;cursor:pointer;transition:.15s}.primary{background:linear-gradient(135deg,#8f1521,#d52b39);color:white;box-shadow:0 10px 28px #6c0f183d}.primary:active,.secondary:active{transform:scale(.985)}.secondary{background:#1a1a22;color:var(--text);border:1px solid var(--line)}.best{min-height:22px;color:var(--muted);text-align:center;font-size:14px}
.fog{position:fixed;border-radius:50%;filter:blur(90px);opacity:.15;pointer-events:none}.fog-a{width:340px;height:340px;background:#b31d2b;left:-120px;top:-80px}.fog-b{width:300px;height:300px;background:#7762aa;right:-100px;bottom:0}
.quiz-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:28px}.ghost{width:42px;height:42px;border-radius:13px;border:1px solid var(--line);background:#111118;color:#bbb;font-size:26px;cursor:pointer}.progress-wrap{flex:1}.progress-meta{display:flex;justify-content:space-between;color:#aaa6a0;font-size:13px;margin:2px 2px 8px}.progress{height:7px;background:#202029;border-radius:999px;overflow:hidden}.progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--red),var(--gold));border-radius:999px;transition:width .25s}
.question-card{background:linear-gradient(180deg,#17171fd9,#101016e6);border:1px solid #2a2a35;border-radius:24px;padding:26px 20px;box-shadow:0 18px 60px #0008}.question{font-family:Georgia,serif;font-size:clamp(24px,6vw,34px);line-height:1.18;margin:0 0 24px}.answers{display:grid;gap:11px}.answer{width:100%;text-align:left;border:1px solid #333340;background:#1b1b24;color:#f0ede6;padding:15px 16px;border-radius:14px;font-weight:700;cursor:pointer;transition:.15s}.answer:hover{border-color:#5a5155;background:#22222c}.answer.picked{transform:scale(.985);background:#2b2226;border-color:#70434a}.answer:disabled{cursor:default}
.result-art{width:190px;height:190px;margin:14px auto 8px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#2a2328 0,#111117 66%,#09090c 100%);border:2px solid #49414a;box-shadow:0 0 0 8px #17171d,0 20px 60px #0009}.result-art .sigil{font-size:92px;filter:drop-shadow(0 8px 12px #000)}.percent{text-align:center;font-family:Georgia,serif;font-size:58px;margin:8px 0 0;color:var(--gold);font-weight:800}.result-screen h2,#resultScreen h2{text-align:center;font-family:Georgia,serif;font-size:36px;margin:0 0 12px}.result-text{text-align:center;color:#ccc7bd;line-height:1.55;font-size:17px;max-width:560px;margin:0 auto 22px}.result-actions{display:grid;gap:10px}.fine{text-align:center;color:#77737a;font-size:12px;margin:16px 0 0}
@media(max-width:520px){.app-shell{padding:18px 14px 28px;align-items:flex-start}.brand{margin-top:22px}.logo{width:82px;height:82px}.rules{grid-template-columns:1fr}.question-card{padding:22px 16px}.answer{padding:14px}.result-art{width:166px;height:166px}.result-art .sigil{font-size:78px}}

.result-art{overflow:hidden;position:relative}.result-art svg{width:100%;height:100%;display:block}.result-art:after{content:'';position:absolute;inset:7px;border:1px solid #ffffff12;border-radius:50%;pointer-events:none}
.question-card{position:relative}.question-card:before{content:'';position:absolute;inset:0;border-radius:24px;pointer-events:none;background:linear-gradient(135deg,#ffffff08,transparent 24%,transparent 75%,#b31d2b0a)}
.progress-meta span:last-child{color:#d6b261;font-weight:800;letter-spacing:.04em}.answer{min-height:54px}.answer.picked{box-shadow:inset 0 0 0 1px #8d5962}
@media(max-width:520px){.question{font-size:25px}.progress-meta{font-size:11px}.result-art svg{width:100%;height:100%}}

/* v4: 15 вопросов, визуальные сцены и большие финальные постеры */
.center{text-align:center}.question-image-wrap{margin:-4px 0 20px;border:1px solid #4a3d45;border-radius:20px;overflow:hidden;background:#0a0a0e;box-shadow:0 16px 42px #0008,0 0 0 1px #ffffff08 inset}.question-image-wrap[hidden]{display:none}.question-image-wrap svg{display:block;width:100%;height:auto;aspect-ratio:16/9;filter:brightness(1.16) contrast(1.08) saturate(1.08)}
.answer{display:flex;align-items:center;gap:12px}.answer-num{flex:0 0 30px;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#101017;border:1px solid #3e3e49;color:var(--gold);font-size:13px}.answer:hover .answer-num{border-color:#75654d}
.result-art{width:min(420px,92vw);height:auto;aspect-ratio:420/520;margin:14px auto 14px;border-radius:34px;background:#0b0b10;border:1px solid #5a4a51;box-shadow:0 28px 90px #000b,0 0 0 8px #17171d,0 0 46px #b31d2b1f;overflow:hidden;position:relative}.result-art svg{width:100%;height:100%;display:block}.result-art:after{content:'';position:absolute;inset:10px;border:1px solid #d6b26142;border-radius:26px;pointer-events:none;box-shadow:inset 0 0 40px #0008}
#resultScreen .percent{margin-top:18px;font-size:clamp(58px,15vw,84px);text-shadow:0 0 24px #d6b26126}#resultScreen h2{font-size:clamp(34px,8vw,48px)}
.question-card{overflow:hidden}.question-card:after{content:'';position:absolute;width:180px;height:180px;border-radius:50%;background:#b31d2b;filter:blur(80px);opacity:.06;right:-80px;bottom:-80px;pointer-events:none}
@media(max-width:520px){.question-image-wrap{margin:-2px 0 16px;border-radius:16px}.result-art{width:min(350px,88vw);border-radius:28px}.result-art:after{border-radius:21px}.answer-num{flex-basis:28px;width:28px;height:28px}.lead{font-size:16px}}

/* финальные арт-карточки званий */
.result-art{isolation:isolate;animation:rankRise .55s cubic-bezier(.2,.8,.2,1)}
.result-art:before{content:'';position:absolute;inset:-18%;z-index:-1;background:radial-gradient(circle at 50% 28%,#d6b26133 0,transparent 38%),radial-gradient(circle at 50% 82%,#b31d2b2a 0,transparent 45%);filter:blur(20px);pointer-events:none}
.result-art svg{filter:drop-shadow(0 18px 26px #0008)}
@keyframes rankRise{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:520px){.result-art{width:min(365px,90vw)}}
.quiz-timer{margin-left:auto;color:#f1d27a;font-weight:800;white-space:nowrap}
.progress-meta{gap:10px;align-items:center}
.dual-result{display:grid;grid-template-columns:1fr 1.7fr;gap:10px;margin:16px 0 20px}
.dual-result>div{background:#121219;border:1px solid #3b3945;border-radius:16px;padding:13px 10px;text-align:center;box-shadow:inset 0 0 24px #0006}
.dual-result small{display:block;color:#a9a3ad;font-size:11px;letter-spacing:1px;margin-bottom:7px}
.dual-result strong{display:block;color:#f0d17a;font-size:20px;line-height:1.15}
@media(max-width:430px){.progress-meta{font-size:12px}.quiz-timer{font-size:12px}.dual-result{grid-template-columns:1fr}.dual-result strong{font-size:18px}}

/* v9: большой банк, таймер и второе звание */
.speed-art{width:min(560px,100%);margin:14px auto 16px;border-radius:22px;overflow:hidden;border:1px solid #4b4147;box-shadow:0 15px 45px #0008,0 0 30px #d6b26112;animation:rankRise .5s .12s both}
.speed-art svg{display:block;width:100%;height:auto}
.question-image-wrap{background:radial-gradient(circle at 70% 16%,#443b4d 0,#1d1d28 34%,#0c0d13 100%)}
.question-image-wrap svg{filter:brightness(1.22) contrast(1.1) saturate(1.16) drop-shadow(0 12px 18px #0008)}
@media(max-width:520px){.speed-art{border-radius:18px}.speed-art svg{min-height:116px}}

/* v11 raster art: use prepared fantasy sprites instead of schematic SVG */
.sprite-art{display:block;width:100%;background-repeat:no-repeat;background-color:#090a0e}
.scene-raster{aspect-ratio:16/9;background-image:url('./assets/scene_sprite.webp?v=24');background-size:400% 300%;background-position:center;filter:saturate(1.08) contrast(1.04)}
.rank-raster{width:100%;height:100%;background-image:url('./assets/rank_sprite.webp?v=24');background-size:300% 300%;background-position:center}
.speed-raster{aspect-ratio:3.6/1;background-image:url('./assets/speed_sprite.webp?v=24');background-size:300% 200%;background-position:center}
.question-image-wrap .scene-raster{min-height:180px}
.result-art .rank-raster{position:absolute;inset:0}
.speed-art .speed-raster{width:100%;height:auto}
@media(max-width:520px){.question-image-wrap .scene-raster{min-height:150px}}
/* keep sprite cells in their native proportions */
.result-art{aspect-ratio:280/380}
.speed-raster{aspect-ratio:2.4/1}

/* v14: restore original scalable SVG art instead of tiny raster sprites */
.result-art{aspect-ratio:420/520}
.question-image-wrap svg,.result-art svg,.speed-art svg{shape-rendering:geometricPrecision;text-rendering:geometricPrecision}

/* v15 premium generated art */
.scene-v15{aspect-ratio:16/9;background-image:url('./assets/scene_v15.webp?v=24');background-size:400% 300%;background-repeat:no-repeat;background-color:#08090d;filter:saturate(1.06) contrast(1.04)}
.rank-v15{position:absolute;inset:0;width:100%;height:100%;background-image:url('./assets/rank_v15.webp?v=24');background-size:300% 300%;background-repeat:no-repeat;background-color:#08090d}
.speed-v15{aspect-ratio:2/1;width:100%;background-image:url('./assets/speed_v15.webp?v=24');background-size:300% 200%;background-repeat:no-repeat;background-color:#08090d}
.question-image-wrap .scene-v15{min-height:180px}.result-art{aspect-ratio:1127/1396}.speed-art{aspect-ratio:2/1}.speed-art .speed-v15{height:100%}
@media(max-width:520px){.question-image-wrap .scene-v15{min-height:150px}}

/* v22 individual generated artwork */
.question-image-wrap .scene-individual-v22{display:block;width:100%;height:auto;max-height:none;object-fit:contain;background:#08090d;filter:saturate(1.04) contrast(1.03)}
.result-art .rank-individual-v22{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;background:#08090d}
.speed-art .speed-individual-v22{display:block;width:100%;height:100%;object-fit:contain;background:#08090d}

/* v22 uploaded standalone artwork */
.riddle-v22{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#08090d}
.rank-image-v22{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.speed-image-v22{display:block;width:100%;height:100%;object-fit:cover}

/* v24 result artwork layout fixes */
.result-art.generated-rank{aspect-ratio:5/4;max-width:440px}
.result-art.generated-rank .rank-image-v22{width:100%;height:100%;object-fit:cover;object-position:center top}
.speed-art.generated-speed{aspect-ratio:auto;height:auto}
.speed-art.generated-speed .speed-image-v22{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:520px){.result-art.generated-rank{width:min(365px,90vw);aspect-ratio:5/4}.speed-art.generated-speed{width:100%}}

/* v25: stripped start screen, public leaderboard and limited hints */
.start-v25{max-width:680px;margin:0 auto}.start-v25 .eyebrow{margin-top:8px}.journey-title{font-family:Georgia,serif;text-align:center;font-size:clamp(38px,9vw,62px);line-height:1.02;margin:14px auto 18px;max-width:650px}.journey-text{text-align:center;color:#d2cec5;font-size:clamp(16px,4vw,19px);line-height:1.55;max-width:590px;margin:0 auto 18px}.trial-count{width:max-content;margin:0 auto 22px;padding:8px 15px;border:1px solid #5a4936;border-radius:999px;color:var(--gold);font-weight:900;letter-spacing:.12em;background:#151219cc}.start-v25>.primary{max-width:520px;display:block;margin:0 auto}
.leaderboard-card{margin:28px 0 0;background:linear-gradient(180deg,#15151dd9,#0e0e14e8);border:1px solid #302f39;border-radius:22px;padding:17px;box-shadow:0 18px 55px #0007}.leaderboard-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}.leaderboard-head h2{font-family:Georgia,serif;margin:0;font-size:23px}.leaderboard-head span{color:#77737f;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.leaderboard{display:grid;gap:6px}.board-row{display:grid;grid-template-columns:44px 1fr auto;gap:9px;align-items:center;padding:10px 9px;border-radius:12px;background:#101017;border:1px solid #24242d}.board-place{font-weight:850;color:var(--gold);text-align:center}.board-nick{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-stat{font-size:13px;color:#b9b3aa;white-space:nowrap}.board-loading{text-align:center;color:#827d84;padding:14px 6px;font-size:13px}
.progress-meta{justify-content:space-between}.hint-tools{display:flex;gap:9px;margin:-8px 0 13px}.hint-btn{flex:1;border:1px solid #3b3945;background:#121219;color:#d7d1c7;border-radius:12px;padding:10px 12px;font-weight:800;cursor:pointer}.hint-btn b{color:var(--gold);margin-left:4px}.hint-btn:disabled{opacity:.38;cursor:default}.hint-box{margin:0 0 14px;padding:12px 14px;border-left:3px solid var(--gold);background:#18151a;color:#d7cdbd;border-radius:10px;line-height:1.45;font-size:14px}.hint-box[hidden]{display:none}.answer.hint-removed{display:none}
.save-score{margin:0 0 18px;padding:15px;border:1px solid #373641;border-radius:16px;background:#111118}.save-score p{margin:0 0 10px;text-align:center;color:#cfc8bd;font-weight:750}.nick-row{display:grid;grid-template-columns:1fr auto;gap:9px}.nick-row input{min-width:0;border:1px solid #3a3945;border-radius:12px;background:#0d0d13;color:#f2eee5;padding:12px 13px;font:inherit;outline:none}.nick-row input:focus{border-color:#8b7040;box-shadow:0 0 0 2px #d6b26114}.secondary.compact{width:auto;padding:11px 15px;border-radius:12px}.save-status{min-height:18px;margin-top:8px;text-align:center;color:#a9a39b;font-size:12px}
.rank-image-v25{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.rank-grid-v25{position:absolute;inset:0;width:100%;height:100%;background-image:url('./assets/v25/rank_old_9_grid_no_percent.png?v=25');background-size:300% 300%;background-repeat:no-repeat;background-color:#08090d}.speed-image-v25{display:block;width:100%;height:auto;object-fit:contain}.result-art.generated-rank{aspect-ratio:1122/1402;max-width:420px}.result-art.generated-rank .rank-image-v25{object-fit:cover;object-position:center}.speed-art.generated-speed{aspect-ratio:auto;height:auto}.speed-art.generated-speed .speed-image-v25{width:100%;height:auto;object-fit:contain}
@media(max-width:520px){.leaderboard-card{padding:13px}.board-row{grid-template-columns:38px 1fr auto;padding:9px 6px}.board-stat{font-size:12px}.journey-title{font-size:40px}.hint-tools{gap:7px}.hint-btn{padding:9px 8px;font-size:13px}.nick-row{grid-template-columns:1fr}.secondary.compact{width:100%}.result-art.generated-rank{width:min(365px,90vw)}}

/* v26 rank artwork: show only illustration area; embedded old labels/ranges stay outside the crop */
.result-art.generated-rank{aspect-ratio:4/3;max-width:440px;border-radius:26px}
.result-art.generated-rank .rank-image-v25{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 22%;transform:scale(1.02)}
.result-art .rank-grid-v25{position:absolute;inset:0;width:100%;height:100%;background-image:url('./assets/v25/rank_old_9_grid_no_percent.png?v=26');background-size:300% 300%;background-repeat:no-repeat;background-color:#08090d}
@media(max-width:520px){.result-art.generated-rank{width:min(365px,90vw);aspect-ratio:4/3}}

/* v27: six choices + correctly matched rank artwork */
.answers{gap:8px}
.answer{padding:12px 14px;min-height:48px}
.result-art.generated-rank{aspect-ratio:4/3;max-width:440px}
.result-art.generated-rank .rank-image-v25{object-fit:cover;object-position:center}
@media(max-width:520px){.answer{padding:11px 12px;min-height:46px}.answers{gap:7px}}
/* v28: new speed artwork is square-ish and intentionally contains no old timing ranges. */
.speed-art.generated-speed{width:min(300px,82vw);aspect-ratio:auto;height:auto;background:#09090d}
.speed-art.generated-speed .speed-image-v28{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:520px){.speed-art.generated-speed{width:min(270px,78vw)}}

/* v31: game modes, streaks, verified-session feedback */
.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0 16px}
.mode-btn{border:1px solid #34333e;background:#121219;color:#d8d2c9;border-radius:14px;padding:12px 13px;text-align:left;cursor:pointer;transition:.15s}
.mode-btn strong{display:block;font-size:15px;color:#f2eee5;margin-bottom:3px}.mode-btn span{display:block;color:#8f8990;font-size:12px}
.mode-btn.selected{border-color:#9b743d;background:linear-gradient(135deg,#241a16,#17141b);box-shadow:inset 0 0 0 1px #d6b26122,0 8px 22px #0004}
.mode-btn.selected strong{color:#f1d27a}.mode-btn:active{transform:scale(.985)}
.streak-badge{margin:0 auto;color:#f3c862;font-weight:900;font-size:12px;white-space:nowrap;text-shadow:0 0 14px #d98b2a55}
.streak-badge[hidden],#hintTools[hidden]{display:none!important}
.streak-badge.pulse{animation:streakPop .35s ease}
@keyframes streakPop{0%{transform:scale(.82);opacity:.25}70%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}
.answer.picked-correct{border-color:#567e55;background:#17231a;box-shadow:inset 0 0 0 1px #7fa87955}
.answer.picked-wrong{border-color:#874451;background:#29171c;box-shadow:inset 0 0 0 1px #b45b6b55}
.dual-result{grid-template-columns:1fr 1.5fr 1fr}
@media(max-width:520px){.mode-grid{grid-template-columns:1fr 1fr;gap:7px}.mode-btn{padding:10px}.mode-btn strong{font-size:13px}.mode-btn span{font-size:11px}.dual-result{grid-template-columns:1fr}.streak-badge{font-size:10px}}

/* v33: cinematic full-screen cover on the start screen */
body.cover-active{background:#05070b}
body.cover-active::before{content:"";position:fixed;inset:0;background:url('./assets/cover_forest_v33.png') center center/cover no-repeat;z-index:0;pointer-events:none;transform:translateZ(0)}
body.cover-active::after{content:"";position:fixed;inset:0;background:linear-gradient(180deg,rgba(4,6,10,.22) 0%,rgba(4,6,10,.35) 52%,rgba(4,6,10,.82) 100%),linear-gradient(90deg,rgba(3,5,9,.50) 0%,rgba(3,5,9,.23) 48%,rgba(3,5,9,.52) 100%);z-index:1;pointer-events:none}
body.cover-active .app-shell{width:min(820px,100%);padding-top:clamp(34px,7vh,84px);padding-bottom:52px;align-items:flex-start}
body.cover-active .start-v25{position:relative;z-index:2;text-shadow:0 2px 16px #000,0 1px 3px #000}
body.cover-active .journey-title{color:#fff9ec;text-shadow:0 4px 28px #000,0 1px 4px #000}
body.cover-active .journey-text{color:#eee9df;text-shadow:0 2px 12px #000}
body.cover-active .mode-btn{background:rgba(10,10,15,.78);border-color:#514a4f;box-shadow:0 8px 26px #0007;backdrop-filter:blur(5px)}
body.cover-active .mode-btn.selected{background:linear-gradient(135deg,rgba(65,30,22,.90),rgba(20,17,24,.88));border-color:#b1874e}
body.cover-active .trial-count{background:rgba(12,10,14,.80);box-shadow:0 7px 22px #0007;backdrop-filter:blur(5px)}
body.cover-active .leaderboard-card{background:linear-gradient(180deg,rgba(15,15,22,.86),rgba(8,8,13,.92));border-color:#4a444c;backdrop-filter:blur(7px);box-shadow:0 22px 70px #000b}
body.cover-active .board-row{background:rgba(10,10,16,.78);border-color:#36323a}
body.cover-active .fog{opacity:.08}
@media(max-width:520px){body.cover-active::before{background-position:58% center}body.cover-active::after{background:linear-gradient(180deg,rgba(3,5,9,.30) 0%,rgba(3,5,9,.48) 45%,rgba(3,5,9,.90) 100%)}body.cover-active .app-shell{padding-top:26px;padding-bottom:34px}.journey-title{font-size:38px}}

/* v34: compact audio / "Угадай мелодию" questions */
.question-image-wrap.audio-question{background:linear-gradient(145deg,#17131b,#0b0c12);border-color:#5a4936;box-shadow:0 16px 46px #0009,0 0 38px #d6b26112 inset}
.melody-player{padding:22px 18px 18px;display:grid;gap:12px;text-align:center}
.melody-kicker{color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.14em}
.melody-player audio{display:block;width:min(520px,100%);margin:0 auto;accent-color:#b31d2b}
.melody-note{color:#8f8990;font-size:12px}
@media(max-width:520px){.melody-player{padding:18px 12px 14px}.melody-player audio{width:100%}}

/* v39 result: plain time only */
.dual-result.time-only{grid-template-columns:1fr;max-width:320px;margin:16px auto 20px}

/* v39 rank artwork native ratio */
.result-art.generated-rank{aspect-ratio:840/536;max-width:440px}
.result-art.generated-rank .rank-image-v25{width:100%;height:100%;object-fit:cover;object-position:center;transform:none}
@media(max-width:520px){.result-art.generated-rank{width:min(365px,90vw);aspect-ratio:840/536}}

/* v40 rank finale music */
.rank-music{max-width:440px;margin:10px auto 22px;padding:14px 16px 13px;border:1px solid #5b4938;border-radius:18px;background:linear-gradient(145deg,#17131b,#0b0c12);box-shadow:0 14px 40px #0008,0 0 30px #d6b26110 inset}
.rank-music-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:11px;letter-spacing:.10em;color:#d6b261;font-weight:900}
.rank-music-head strong{font-size:13px;letter-spacing:0;color:#eee8dc;text-align:right}
.rank-music audio{display:block;width:100%;height:38px;accent-color:#b31d2b}
.rank-music-note{min-height:16px;margin-top:7px;text-align:center;color:#8f8990;font-size:11px}
@media(max-width:520px){.rank-music{width:min(365px,90vw);padding:12px}.rank-music-head{align-items:flex-start;flex-direction:column;gap:4px}.rank-music-head strong{text-align:left}}

/* v42 new rank art 2:1 */
.result-art.generated-rank{aspect-ratio:2/1;max-width:620px;border-radius:28px}
.result-art.generated-rank .rank-image-v25{width:100%;height:100%;object-fit:cover;object-position:center;transform:none}
@media(max-width:520px){.result-art.generated-rank{width:min(92vw,620px);aspect-ratio:2/1;border-radius:22px}}

/* v45 music pro */
.mode-btn.mode-pro{grid-column:1/-1;border-color:#65323a;background:linear-gradient(135deg,#241116,#17141b)}
.mode-btn.mode-pro strong{color:#e7b05a}
.mode-btn.mode-pro.selected{border-color:#c24454;background:linear-gradient(135deg,#3a171d,#1b151d);box-shadow:inset 0 0 0 1px #f2b45b22,0 8px 24px #0006}

/* v52 – compact donation footer; intentionally independent of game screens */
.kish-donate-footer{width:min(760px,100%);margin:-3px auto 34px;padding:0 18px;position:relative;z-index:3}
.kish-donate{margin:0 auto;max-width:490px;overflow:hidden;border:1px solid #4b3c37;border-radius:18px;color:#eee7dd;background:linear-gradient(135deg,rgba(25,19,25,.96),rgba(11,12,18,.96));box-shadow:0 18px 46px #0008}
.kish-donate[open]{border-color:#8e6840}
.kish-donate-toggle{display:flex;align-items:center;gap:14px;min-height:78px;padding:16px 20px;cursor:pointer;list-style:none;user-select:none}
.kish-donate-toggle::-webkit-details-marker{display:none}
.kish-donate-toggle:hover{background:#ffffff05}
.kish-donate-heart{display:grid;place-items:center;flex:none;width:43px;height:43px;border:1px solid #784c42;border-radius:14px;color:#ed9784;background:linear-gradient(145deg,#462429,#211820);font-size:27px;line-height:1}
.kish-donate-title{display:grid;gap:3px;flex:1;min-width:0;text-align:left}
.kish-donate-title strong{font-size:15px;font-weight:800;color:#f6e8cd;letter-spacing:.01em}
.kish-donate-title small{color:#a9a19b;font-size:12px;font-weight:500}
.kish-donate-arrow{font-size:25px;font-weight:400;color:#bdaa8c;transition:transform .18s ease}
.kish-donate[open] .kish-donate-arrow{transform:rotate(180deg)}
.kish-donate-body{padding:4px 20px 21px;border-top:1px solid #ffffff12}
.kish-donate-description{margin:12px 0 18px;color:#c5bdb5;font-size:13px;line-height:1.58;text-align:left}
.kish-donate-form{display:grid;gap:11px}
.kish-donate-chips{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.kish-donate-chips button{min-width:0;min-height:42px;padding:9px 2px;border:1px solid #49404a;border-radius:11px;background:#1e1b22;color:#ece3d6;font-size:13px;font-weight:750;cursor:pointer}
.kish-donate-chips button:hover{border-color:#b08a53}
.kish-donate-chips button.is-selected{background:linear-gradient(160deg,#634227,#43261f);border-color:#e1b568;color:#ffe4aa;box-shadow:inset 0 0 0 1px #d6b26124}
.kish-donate-caption{font-size:12px;font-weight:650;color:#d8c8ad;text-align:left;margin-top:2px}
.kish-donate-input-wrap{display:flex;align-items:center;position:relative}
.kish-donate-input-wrap input{width:100%;height:48px;padding:0 45px 0 14px;outline:none;border:1px solid #51474b;border-radius:12px;background:#0d0d13;color:#fff0dc;font:700 18px Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums;appearance:textfield}
.kish-donate-input-wrap input:focus{border-color:#d6b261;box-shadow:0 0 0 3px #d6b26121}
.kish-donate-input-wrap input::-webkit-inner-spin-button,.kish-donate-input-wrap input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.kish-donate-input-wrap span{position:absolute;right:16px;font-size:19px;color:#e6c783;font-weight:750;pointer-events:none}
.kish-donate-min{margin:-3px 0 2px;color:#978f92;font-size:11px;text-align:left}
.kish-donate-methods{margin:4px 0 1px;padding:0;border:0;display:flex;flex-wrap:wrap;gap:10px}
.kish-donate-methods legend{width:100%;margin-bottom:9px;padding:0;color:#d8c8ad;font-size:12px;font-weight:650}
.kish-donate-methods label{display:flex;align-items:center;gap:8px;cursor:pointer;padding:10px 13px;min-height:41px;background:#1b1a20;border:1px solid #41373c;border-radius:11px;color:#ded4c9;font-size:13px}
.kish-donate-methods input{accent-color:#d6b261;width:16px;height:16px;margin:0}
.kish-donate-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;margin-top:3px;border:1px solid #ce9c4b;border-radius:12px;cursor:pointer;color:#161016;background:linear-gradient(135deg,#f2c779,#d9a85d);font-size:14px;font-weight:850;box-shadow:0 9px 26px #9a5a2629}
.kish-donate-submit:hover{filter:brightness(1.09)}
.kish-donate-secure{margin:2px 0 0;color:#99929b;font-size:11px;line-height:1.5;text-align:center}
.kish-donate :is(button,summary,input):focus-visible{outline:2px solid #efc87c;outline-offset:3px}
@media(max-width:520px){.kish-donate-footer{padding:0 14px;margin-bottom:32px}.kish-donate-toggle{padding:13px 14px;min-height:73px;gap:11px}.kish-donate-heart{width:39px;height:39px}.kish-donate-body{padding:3px 13px 16px}.kish-donate-chips{gap:5px}.kish-donate-chips button{font-size:12px;padding-inline:1px}.kish-donate-methods label{padding:9px 11px}}
@media(prefers-reduced-motion:reduce){.kish-donate-arrow{transition:none}}


/* v53: collapsed leaderboard, matches the donation disclosure */
.leaderboard-card.leaderboard-fold{max-width:490px;margin:22px auto 0;padding:0;border-radius:18px;overflow:hidden;border-color:#4b3c37;background:linear-gradient(135deg,rgba(25,19,25,.96),rgba(11,12,18,.96));box-shadow:0 18px 46px #0008}
.leaderboard-fold[open]{border-color:#8e6840}
.leaderboard-fold .leaderboard-fold-trigger{display:flex;align-items:center;gap:14px;min-height:78px;padding:16px 20px;margin:0;cursor:pointer;list-style:none;user-select:none}
.leaderboard-fold .leaderboard-fold-trigger::-webkit-details-marker{display:none}
.leaderboard-fold .leaderboard-fold-trigger:hover{background:#ffffff05}
.leaderboard-fold .leaderboard-head span{color:inherit;font-size:inherit;letter-spacing:normal;text-transform:none}
.leaderboard-fold-icon{display:grid;place-items:center;flex:none;width:43px;height:43px;border:1px solid #786249;border-radius:14px;color:#eecb7e!important;background:linear-gradient(145deg,#443326,#211b20);font-size:25px!important;line-height:1}
.leaderboard-fold-title{display:grid;gap:3px;min-width:0;flex:1;text-align:left}
.leaderboard-fold-title strong{font-family:inherit;font-weight:800;color:#f6e8cd;font-size:15px;letter-spacing:.01em}
.leaderboard-fold-title small{font-family:inherit;font-size:12px;color:#a9a19b;font-weight:500;text-transform:none;letter-spacing:normal}
.leaderboard-fold-arrow{flex:none;font-size:25px!important;color:#bdaa8c!important;transition:transform .18s ease}
.leaderboard-fold[open] .leaderboard-fold-arrow{transform:rotate(180deg)}
.leaderboard-fold[open] .leaderboard-fold-trigger{border-bottom:1px solid #ffffff12}
.leaderboard-fold > .leaderboard{padding:13px 16px 17px}
.leaderboard-fold .leaderboard-fold-trigger:focus-visible{outline:2px solid #efc87c;outline-offset:-3px;border-radius:15px}
@media(max-width:520px){.leaderboard-fold .leaderboard-fold-trigger{min-height:73px;padding:13px 14px;gap:11px}.leaderboard-fold-icon{width:39px;height:39px}.leaderboard-fold > .leaderboard{padding:12px 11px 15px}}
@media(prefers-reduced-motion:reduce){.leaderboard-fold-arrow{transition:none}}
