/* Original Cast & Catch shell, with video replacing only the fishing scene. */
#videoScene{position:absolute;inset:0;z-index:3;background:#02090d;touch-action:none}
#fishingVideo{display:block;width:100%;height:100%;object-fit:cover;object-position:40% center}
.video-game #lake>*:not(#videoScene):not(.game-copy):not(.lake-controls){display:none!important}
.video-game #lake:before,.video-game #lake:after{display:none!important}
.video-game #lake{transform:none!important;animation:none!important}
.video-game .game-copy{z-index:6;pointer-events:none}
.video-game .lake-controls{position:absolute;right:18px;bottom:18px;z-index:8;display:flex;gap:10px;align-items:center}
.video-game .cast-action,.video-game .scene-exit{border:1px solid #00a4ef;background:#02090de8;color:white;border-radius:12px;min-height:52px;padding:12px 20px;cursor:pointer}
.video-game .cast-action strong,.video-game .cast-action small{display:block}.video-game .cast-action strong{font-size:20px}.video-game .cast-action small{font-size:14px;margin-top:4px}
.video-game .cast-action:disabled{opacity:.8}.video-game .scene-exit{font-size:24px}
.video-game .bass-photo{width:min(960px,100%);height:auto;aspect-ratio:16/9;margin:12px auto;background:#02090d;overflow:hidden;border-radius:12px}
.video-game #resultFish{display:none}#catchVideo{display:block;width:100%;height:100%;object-fit:contain}
.video-game .result-screen{overflow-y:auto}
.classic-video .audio-controls[hidden]{display:none!important}
@media(max-width:650px){#fishingVideo{object-fit:contain}.video-game .lake-controls{right:10px;bottom:10px}}

/* Carry the casting scene through registration, with readable form panels. */
.classic-video #entryScreen{
  background:linear-gradient(90deg,rgba(2,9,13,.76),rgba(2,9,13,.28)),url('assets/video/title-vanford.jpg') center/cover no-repeat;
  background-color:#02090d;
  padding-bottom:24px;
}
.classic-video #entryScreen .intro{
  background:transparent;
  border-bottom:0;
  text-shadow:0 2px 12px #000;
}
.classic-video #entryScreen .entry-card{
  background:rgba(5,18,25,.91);
  border:1px solid #285367;
  border-radius:12px;
  box-shadow:0 12px 36px #0005;
  margin:24px auto 0;
}
@media(max-width:699px){
  .classic-video #entryScreen{background-position:38% center}
  .classic-video #entryScreen .intro{padding-bottom:12px}
  .classic-video #entryScreen .entry-card{margin-top:12px}
}

/* Hold a horizontal catch pose while the original reveal audio plays. */
.video-game .bass-photo:focus-within{outline:2px solid #00a4ef;outline-offset:3px}

/* Size screens from the space left after the header and demo banner. */
body.classic-video{display:flex;flex-direction:column;height:100dvh;min-height:0}
.classic-video .demo-banner{position:relative;order:-1;left:auto;top:auto;transform:none;width:100%;flex:0 0 auto;box-shadow:none}
.classic-video .game-shell{display:flex;flex-direction:column;flex:1 1 0;width:100%;height:auto!important;min-height:0;padding-top:0;margin:0}
.classic-video .game-shell>header{flex:0 0 var(--kiosk-header)}
.classic-video .game-shell>.screen{flex:1 1 0;height:auto!important;min-height:0!important;position:relative}
.classic-video #gameScreen{overflow:hidden}
.classic-video #fishingVideo{object-fit:contain;object-position:center}
.classic-video #swipeTrack{bottom:12px;height:64px;width:min(600px,calc(100% - 32px))}
.classic-video #swipeHandle{width:50px;height:50px}
.classic-video #gameScreen .game-copy{top:12px}
.classic-video #gameScreen .game-copy h2{font-size:clamp(24px,4vh,44px);margin:0}
.classic-video #gameScreen .game-copy p{margin:4px 0;font-size:14px}
.classic-video #resultScreen.active{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,1fr);grid-template-rows:auto minmax(0,1fr);gap:12px 24px;padding:16px 24px;border-bottom-width:5px;overflow:auto}
.classic-video #resultKicker{grid-column:1/-1;margin:0;text-align:center}
.classic-video #resultScreen .bass-photo{width:100%;height:100%;min-height:0;aspect-ratio:auto;margin:0;align-self:center}
.classic-video .catch-details{min-width:0;align-self:center;text-align:center}
.classic-video .catch-details .weight-badge{padding:5px 16px}
.classic-video .catch-details .weight-badge strong{font-size:clamp(28px,5vh,48px)}
.classic-video .catch-details .prize-copy{font-size:clamp(18px,3vh,30px);margin:12px 0 6px!important}
.classic-video .catch-details .prize-product{height:clamp(40px,10vh,100px);margin:4px auto}
.classic-video .catch-details .prize{font-size:clamp(22px,3vw,40px)!important;margin:8px auto;overflow-wrap:anywhere}
.classic-video .catch-details .saved-copy{font-size:14px;margin:8px 0}
.classic-video .catch-details .continue-button{margin:12px auto 0;min-height:44px;padding:10px 16px}
.classic-video #thanksScreen{gap:clamp(16px,4vw,60px);padding:24px;overflow:auto}
.classic-video .product-showcase{min-width:0;flex:1}
.classic-video .thanks-copy{min-width:0;flex:1;max-width:420px}
@media(max-width:700px){
 .classic-video #resultScreen.active{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(120px,1fr) auto;gap:8px;padding:10px 14px}
 .classic-video .catch-details .prize-product{height:40px}
 .classic-video .catch-details .prize-copy{margin:6px 0!important;font-size:18px}
 .classic-video .catch-details .prize{font-size:24px!important;margin:4px auto}
 .classic-video .catch-details .weight-badge strong{font-size:28px}
 .classic-video .catch-details .continue-button{margin-top:8px}
}

/* Keep desktop registration side by side at every landscape height. */
@media(min-width:900px), (min-width:700px) and (orientation:landscape){
 .classic-video #entryScreen.active{display:grid;grid-template-columns:minmax(240px,1fr) minmax(360px,1.1fr);align-items:center;gap:clamp(20px,4vw,70px);padding:16px clamp(24px,4vw,72px);overflow-y:auto}
 .classic-video #entryScreen .intro{min-height:0;padding:20px 0;align-self:center}
 .classic-video #entryScreen .intro h1{font-size:clamp(44px,5.5vw,82px)}
 .classic-video #entryScreen .intro>p:last-child{font-size:16px;max-width:520px}
 .classic-video #entryScreen .entry-card{width:100%;max-width:680px;margin:0 auto;padding:clamp(14px,2.5vh,28px)}
 .classic-video #entryScreen .entry-card label{margin-bottom:clamp(7px,1.2vh,13px);font-size:13px}
 .classic-video #entryScreen .entry-card input,.classic-video #entryScreen .entry-card select{margin-top:5px;padding:10px 12px;font-size:16px;min-height:42px}
 .classic-video #entryScreen .marketing-consent{margin-top:0;padding:8px 10px;font-size:12px;line-height:1.3}
 .classic-video #entryScreen .marketing-consent input{width:22px;min-height:22px;height:22px;margin:0;padding:0}
 .classic-video #entryScreen .lure-picker{margin-bottom:10px}
 .classic-video #entryScreen .lure-option{height:clamp(72px,10vh,110px);min-height:0}
 .classic-video #entryScreen .lure-option img{height:clamp(38px,6vh,66px)}
 .classic-video #entryScreen .continue-button{min-height:44px;padding:12px;font-size:14px}
}

/* Sponsor wordmark replaces registration introductory copy. */
.classic-video #entryScreen .entry-shimano-logo{display:block;width:min(100%,560px);height:auto;margin:0 0 clamp(24px,4vh,48px);filter:drop-shadow(0 3px 8px #0006)}

/* Silent moving backdrop, isolated below the registration controls. */
.classic-video #entryScreen{isolation:isolate}
.classic-video #signupBackgroundVideo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.classic-video #entryScreen::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(2,9,13,.76),rgba(2,9,13,.28));pointer-events:none}
@media(prefers-reduced-motion:reduce){.classic-video #signupBackgroundVideo{display:none}}

/* Branded title screen with the trimmed Vanford and Bantam footage. */
.classic-video #attractScreen{isolation:isolate;background:#02090d!important}
.classic-video #titleBackgroundVideo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:-2}
.classic-video #attractScreen::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#02090dbb,#02090d44);pointer-events:none}
.classic-video #attractScreen .attract-content{height:100%;min-height:0;padding:clamp(24px,5vh,60px) clamp(24px,6vw,100px);align-items:flex-start;justify-content:center;text-align:left}
.classic-video .title-shimano-logo{width:min(520px,65vw);height:auto;margin-bottom:clamp(24px,5vh,60px)}
.classic-video #attractTitle{font-size:clamp(54px,9vw,150px);line-height:1;max-width:100%;overflow-wrap:normal}
.classic-video #attractScreen .touch-prompt{font-size:clamp(14px,1.5vw,22px);margin-top:clamp(20px,5vh,50px)}
.classic-video #attractScreen .touch-icon{margin-left:60px}
@media(max-width:700px){.classic-video #attractTitle{font-size:clamp(44px,12vw,80px)}}
@media(prefers-reduced-motion:reduce){.classic-video #titleBackgroundVideo{display:none}.classic-video #attractScreen{background:url('assets/video/title-vanford.jpg') center/cover!important}}

/* Readable catch announcement and paired header branding. */
.classic-video #resultKicker{font-size:clamp(25px,3vw,52px);line-height:1.15;letter-spacing:1px;font-weight:950;color:#00aeef;text-shadow:0 2px 8px #000;margin:0 0 4px}
.classic-video .header-brands{display:flex;align-items:center;gap:clamp(12px,2vw,32px);min-width:0;flex-shrink:0}
.classic-video .header-shimano-logo{display:block;width:clamp(90px,12vw,185px);height:auto}
@media(max-width:700px){.classic-video .header-brands{gap:10px}.classic-video .header-brands .logo{font-size:17px;padding-left:0;white-space:nowrap}.classic-video .header-shimano-logo{width:90px}.classic-video header{padding:0 12px;gap:10px}.classic-video .dealer-banner{font-size:12px}.classic-video .header-actions{gap:5px}}

/* Emphasize the fish name and simplify the casting overlay. */
.classic-video #resultKicker{display:flex;justify-content:center;align-items:baseline;flex-wrap:wrap;gap:4px 16px;line-height:1.05}
.classic-video #resultKicker .catch-prefix{font-size:clamp(16px,2vw,28px);letter-spacing:1.5px;color:white}
.classic-video #resultKicker .catch-species{font-family:Impact,"Arial Narrow",sans-serif;font-style:italic;font-weight:900;font-size:clamp(44px,6vw,88px);letter-spacing:1px;color:#00aeef;text-shadow:0 3px 0 #003652,0 6px 16px #0008}
.classic-video #gameScreen .game-copy #gameKicker,.classic-video #gameScreen .game-copy #gameHelp{display:none}
.classic-video #gameScreen .game-copy h2{font-size:clamp(38px,6vw,86px);line-height:1.05;padding:0 16px;text-shadow:0 3px 5px #000,0 6px 18px #0009}

.playback-recovery[hidden],#retryPlayback[hidden]{display:none!important}.playback-recovery{position:fixed;z-index:60;left:50%;top:50%;transform:translate(-50%,-50%);box-sizing:border-box;width:min(440px,calc(100% - 32px));padding:24px;border:1px solid #167ea6;border-radius:14px;background:#04151bf5;color:white;text-align:center;box-shadow:0 12px 50px #0009}.playback-recovery p{font-size:22px;font-weight:800;margin:0 0 20px}.playback-recovery>div{display:flex;justify-content:center;gap:12px}.playback-recovery button{min-height:48px;padding:12px 22px;border:1px solid #00a4ef;border-radius:8px;background:#009fda;color:white;font:inherit;font-weight:800}.playback-recovery #restartPlayback{background:transparent}#idleWarning{width:min(440px,calc(100% - 32px));box-sizing:border-box;text-align:center}#idleWarning h2{font-size:30px;margin:0 0 12px}#idleWarning p{line-height:1.5}#idleWarning strong{color:#64d2ff;font-variant-numeric:tabular-nums}#idleWarning .continue-button{width:100%}#idleWarning .plain-button{margin-top:10px}
