/* Compact viewport-aware Knife Hit layout. */
.kh{max-width:1180px;padding:10px 20px 24px}.kh nav{margin-bottom:14px}.kh-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px;align-items:center}.kh-stage{height:clamp(340px,calc(100dvh - 150px),600px)}
.kh h1{font-size:clamp(48px,5.5vw,70px);letter-spacing:-.035em;line-height:1}.kh h1 span{display:inline;margin-left:.16em}.kh-tag{margin-bottom:14px}.kh aside p{font-size:14px;line-height:1.6;margin-bottom:14px}.intro{margin:18px 0}.records{margin-bottom:18px;gap:30px}.records b{font-size:23px}.kh button,.kh select{font-size:13px;padding:10px 14px}.kh h2{font-size:29px;line-height:1.15;margin-bottom:12px}.kh #play{margin-bottom:10px}.button-row{gap:7px}.button-row button{font-size:11px;padding:9px}.kh #lifetime{font-size:10px;margin-top:14px}#result-details{gap:8px;margin-bottom:14px}#result-details div{padding:10px 12px;font-size:10px}#result-details b{font-size:22px}.kh #save-note{font-size:11px;margin-top:8px}.kh #result>button{margin:3px 2px 3px 0}#result>.primary{width:100%}
@media(min-width:801px) and (max-height:700px){.kh-stage{height:calc(100dvh - 140px);min-height:300px}.kh h1{font-size:48px}.kh aside p{font-size:12px;margin-bottom:10px}.records{margin-bottom:12px}.records b{font-size:21px}.kh-tag{margin-bottom:10px}.kh h2{font-size:26px}#result-details{gap:6px;margin-bottom:10px}#result-details div{padding:7px 10px}#result-details b{font-size:20px}.kh #lifetime{margin-top:9px}.intro{margin:12px 0}}
@media(max-width:800px){.kh{padding:10px 14px 24px}.kh-layout{grid-template-columns:1fr;gap:20px}.kh-stage{height:clamp(320px,52dvh,470px)}.kh h1{font-size:48px}.kh aside{padding:0 4px 16px}.kh #result-details{grid-template-columns:repeat(3,minmax(0,1fr))}.kh h2{font-size:27px}.kh nav{font-size:11px}.button-row button{font-size:12px}}

.kh.showing-result #result{position:fixed;inset:0;z-index:120;overflow:auto;background:radial-gradient(ellipse at 50% 60%,#36114dee,#080a18f5 75%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 20px;text-align:center;backdrop-filter:blur(8px)}
.kh #result h2{font-size:clamp(28px,4vw,48px);text-transform:uppercase;color:#fff;order:1;margin-bottom:12px}.kh #result .kh-tag{order:0;color:#f18bff;margin-bottom:10px}.kh #result .victory-stars{order:2;display:flex;justify-content:center;gap:8px;margin:8px 0 16px}.victory-stars svg{width:52px;height:52px;fill:#373147;stroke:#685a76;stroke-width:1.5}.victory-stars .earned{fill:#ffd356;stroke:#ffad35;filter:drop-shadow(0 5px 6px #0006)}.victory-stars svg:nth-child(2){width:64px;height:64px;margin-top:-8px}.kh #result-summary{order:3;margin-bottom:14px}.kh #result-details{order:4;width:min(540px,100%);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:20px}.kh #result-details div{background:#20142e99;border-color:#af4dc977;color:#e2cde9}.kh #result-details b{color:#ffe8a9;font-size:25px}.kh #result>button{order:5;width:min(350px,100%);margin:4px 0;min-height:42px;border-color:#488cde;background:#14132a;color:#fff}.kh #result>button.primary{background:linear-gradient(110deg,#b51a87,#ef3a63);border-color:#f57bb2;box-shadow:0 7px 20px -12px #fa36b9}.kh #save-note{order:6;margin:12px 0 0;font-size:11px}.kh #result-shop{color:#ffda85!important}.kh #collection-dialog{z-index:150;background:radial-gradient(ellipse at top,#35203d,#111521 70%);border-color:#b25c99}.kh #skins button{display:flex;flex-direction:column;align-items:center;text-align:center;background:#191c2d;border-radius:12px;font-size:15px}.kh #skins button svg{display:block;height:115px;width:75px;margin:4px auto 12px}.kh #skins button[aria-pressed=true]{background:#30243f;outline:2px solid #dc8feb}.kh #coins{color:#ffd77e;font-weight:700}.kh #skins small{min-height:20px}.kh #result.victory .earned{animation:starArrival .45s ease-out both}.kh #result.victory .earned:nth-child(2){animation-delay:.12s}.kh #result.victory .earned:nth-child(3){animation-delay:.24s}@keyframes starArrival{from{opacity:0;transform:scale(.4) rotate(-15deg)}to{opacity:1;transform:none}}@media(max-height:650px){.kh.showing-result #result{justify-content:flex-start;padding-top:20px}.kh #result h2{font-size:28px}.kh #result-details{margin-bottom:10px}.kh #result>button{min-height:36px;padding:7px 12px}.kh #result-summary{font-size:12px;margin-bottom:8px}.victory-stars svg{width:36px;height:36px}.victory-stars svg:nth-child(2){width:44px;height:44px}}@media(prefers-reduced-motion:reduce){.kh #result.victory .earned{animation:none}}

.kh-stage{border-color:#27616b;background:#073d4d}#hud{background:#073d4dd9;border-bottom:1px solid #ffffff15}#play-controls{background:#092c3bd9}#hud b{color:#ffe19a}#hit-label{color:#ffe19a}

.kh #run-info{background:#151a23;border:1px solid #343e4e;border-radius:14px;padding:24px}.kh #run-info .kh-tag{font-size:10px;letter-spacing:1.4px;margin-bottom:12px}.kh #run-info h2{font-size:28px;margin-bottom:16px}.kh #run-info p{font-size:13px;line-height:1.7}.kh #run-info progress{height:8px;border-radius:5px;overflow:hidden;margin:10px 0 18px}.kh #run-home{margin-top:8px;background:#241d27;border-color:#79505b}.kh #play-controls{align-items:center;padding:10px 12px;gap:8px}.kh #play-controls button{min-height:40px;font-size:12px;padding:9px 14px}.kh #hud{padding:13px 16px}.kh #hud b{font-size:21px}.kh-stage{box-shadow:0 12px 26px -22px #000b}@media(max-width:800px){.kh #run-info{padding:18px}.kh #run-info h2{font-size:24px}.kh #play-controls button{padding:8px 11px}}
