.title-en{font-family:'Baloo 2',sans-serif;font-size:12px;font-weight:700;letter-spacing:6px;text-transform:uppercase;color:var(--rat-pink);margin:0 0 10px;}
.title-jp{font-family:'Baloo 2',sans-serif;font-size:42px;font-weight:800;color:var(--cheese);line-height:1.1;margin:0;}
.hero{margin:0 auto 14px;display:flex;align-items:center;justify-content:center;}
.cheese-hero, .rat-hero{width:96px;height:96px;}
.desc{margin:18px auto 26px;max-width:320px;color:var(--cream);opacity:0.8;font-size:15px;line-height:1.75;}
.btn{font-family:'Baloo 2',sans-serif;font-size:18px;font-weight:700;color:#2a1e00;background:linear-gradient(180deg,#ffe08a,var(--cheese) 58%,var(--cheese-dark));border:none;border-radius:16px;padding:16px 36px;box-shadow:0 6px 0 #a8630a,0 10px 20px rgba(0,0,0,0.25);text-decoration:none;display:inline-flex;justify-content:center;align-items:center;cursor:pointer;transition:transform .08s ease,opacity .2s ease;}
.btn:hover{opacity:.95;}
.btn:active{transform:translateY(4px);box-shadow:0 2px 0 #a8630a,0 6px 10px rgba(0,0,0,0.2);}
.overlay{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(10,14,30,0.94),rgba(10,14,30,0.98));z-index:20;text-align:center;padding:24px;gap:12px;}
.overlay.hidden{display:none;}
.stat-row{display:flex;gap:10px;margin-top:6px;}
.stat{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:12px;padding:10px 16px;color:var(--cream);}
.stat b{display:block;font-family:'Baloo 2',sans-serif;font-size:22px;color:var(--mint);}
.stat span{font-size:11px;opacity:.65;}
.best-tag{font-size:12px;color:var(--rat-pink);opacity:.85;margin-top:-6px;min-height:14px;}
.ranking{width:min(330px,100%);margin-top:4px;color:var(--cream);}
.ranking h2{margin:0 0 7px;font-family:'Baloo 2',sans-serif;font-size:18px;color:var(--cheese);}
.score-form{display:flex;gap:7px;}
.score-form input{min-width:0;flex:1;border:1px solid rgba(255,255,255,.2);border-radius:9px;padding:9px 10px;color:var(--cream);background:rgba(255,255,255,.08);font:600 14px 'Nunito',sans-serif;}
.score-form button{border:0;border-radius:9px;padding:8px 12px;background:var(--mint);color:#12352a;font:800 14px 'Nunito',sans-serif;cursor:pointer;}
.score-form button:disabled{opacity:.55;cursor:default;}
.score-message{min-height:17px;margin:5px 0 2px;font-size:12px;color:var(--rat-pink);}
.ranking ol{max-height:120px;overflow:auto;margin:0;padding:4px 0 4px 0;text-align:left;font-size:13px;}
.ranking li{display:grid;grid-template-columns:auto 50px 100px;gap:10px;align-items:center;padding:8px 5px;border-bottom:1px solid rgba(255,255,255,.06);}
.ranking li span,.ranking li strong{display:block;}
.ranking li strong{text-align:right;}
.ranking-time{opacity:.65;font-size:12px;text-align:right;}
.hint{position:fixed;bottom:max(22px,env(safe-area-inset-bottom));left:0;right:0;text-align:center;color:var(--cream);opacity:.45;font-size:12px;pointer-events:none;z-index:5;font-weight:600;}
.page-shell{width:min(420px,calc(100% - 40px));text-align:center;padding:24px;}
.buttons{display:grid;gap:16px;}
.footer{margin-top:24px;color:var(--cream);opacity:.78;font-size:13px;}
