header{gap:22px}.header-logo{width:165px;height:28px;object-fit:contain}.logo{border-left:1px solid #00a4ef;padding-left:22px;margin-right:auto}
.attract-screen{background:linear-gradient(90deg,#000e 0,#000a 47%,#0004),url('assets/cinematic-lake.png') center/cover!important}.attract-screen:before{display:none}.attract-content{align-items:flex-start;text-align:left;padding-left:clamp(30px,7vw,80px);padding-right:45%}.attract-logo{position:absolute;top:30px;left:clamp(30px,7vw,80px);width:210px;height:auto}.touch-prompt{margin-top:46px}.touch-icon{margin-left:75px}.product-display{position:absolute;right:2%;bottom:5%;width:43%;height:58%;pointer-events:none}.product-reel{position:absolute;right:3%;bottom:0;width:min(340px,85%);mix-blend-mode:multiply;filter:contrast(1.3) drop-shadow(0 18px 30px #000)}.product-rod{position:absolute;right:-25%;top:0;width:135%;transform:rotate(-28deg);mix-blend-mode:multiply;filter:contrast(1.5)}
.lake{background:linear-gradient(#0005,#0007),url('assets/cinematic-lake.png') center/cover!important}.lake .sky,.lake .shore,.lake .water-lines{display:none}.angler{filter:saturate(0) contrast(1.2)}.real-rod{position:absolute;z-index:5;left:14%;top:25%;width:55%;transform:rotate(-34deg);transform-origin:left center;mix-blend-mode:screen;filter:grayscale(1) contrast(2);opacity:.9}.real-reel{position:absolute;z-index:6;left:18%;top:39%;width:125px;mix-blend-mode:multiply;filter:contrast(1.5) drop-shadow(0 8px 15px #000)}.rod{opacity:0}.casting .real-rod{animation:realCast 1.2s ease}.biting .real-rod{transform:rotate(-7deg);filter:grayscale(1) contrast(2) drop-shadow(0 0 6px #00a4ef)}@keyframes realCast{45%{transform:rotate(-72deg)}100%{transform:rotate(-34deg)}}.jumping-fish{width:330px;height:210px;object-fit:cover;object-position:center;border-radius:50%;mix-blend-mode:screen;filter:contrast(1.3);left:54%;top:43%}.splash{display:none}
.bass-photo{position:relative;width:min(670px,92vw);height:min(315px,34vh);margin:5px auto -10px}.bass-photo img{width:100%;height:100%;object-fit:contain;mix-blend-mode:screen;filter:contrast(1.3) saturate(.7);animation:photoArrive .75s cubic-bezier(.2,1.5,.5,1)}@keyframes photoArrive{from{opacity:0;transform:translateY(100px) rotate(-8deg) scale(.45)}}.shield img{width:150px;height:auto}.shield small{display:none}
@media(max-width:700px){.header-logo{width:125px}.logo{font-size:17px;padding-left:12px}.attract-content{padding-right:25px;align-items:center;text-align:center}.attract-logo{width:160px}.product-display{opacity:.35;width:60%}.touch-icon{margin-left:0}.real-reel{width:90px}.real-rod{width:75%;left:8%}.jumping-fish{width:230px;height:150px}.bass-photo{height:240px}}
.attract-screen .product-rod{width:190%;right:-58%;top:-8%;transform:rotate(-25deg);filter:contrast(1.55) brightness(1.08) drop-shadow(0 18px 26px #000b)}
@media(max-width:700px){.attract-screen .product-rod{width:170%;right:-48%;top:0}}

/* Coherent photographic angler replaces the assembled CSS body and separate gear. */
.angler-photo{position:absolute;z-index:5;left:-2%;bottom:-18%;height:108%;width:auto;object-fit:contain;object-position:left bottom;filter:drop-shadow(18px 14px 25px #000a);transform-origin:30% 78%;transition:filter .3s}.lake>.angler,.lake>.rod,.lake>.real-rod,.lake>.real-reel{display:none}.casting .angler-photo{animation:anglerCast 1.2s cubic-bezier(.25,.8,.4,1)}.biting .angler-photo{animation:rodFight .28s infinite alternate;filter:drop-shadow(0 0 16px #00a4ef66)}@keyframes anglerCast{0%{transform:rotate(0)}38%{transform:rotate(-8deg) translateX(-2%)}100%{transform:rotate(0)}}@keyframes rodFight{to{transform:rotate(1.2deg) translateY(3px)}}
@media(max-width:700px){.angler-photo{left:-15%;bottom:-8%;height:88%}}

/* Lure cast: no bobber. The lure follows an arcing flight path and strikes the lake. */
.cast-lure{position:absolute;z-index:8;left:42%;top:43%;width:74px;height:42px;object-fit:contain;opacity:0;filter:drop-shadow(0 3px 5px #000);transform:rotate(-18deg)}.casting .cast-lure{animation:lureFlight 1.25s cubic-bezier(.28,.55,.5,1) forwards}.lure-splash{position:absolute;z-index:7;left:68%;top:63%;width:110px;height:54px;opacity:0;transform:translate(-50%,-50%)}.lure-splash:before,.lure-splash:after,.lure-splash i,.lure-splash b,.lure-splash span{content:"";position:absolute;display:block}.lure-splash:before{left:4px;right:4px;bottom:2px;height:25px;border:4px solid #bfefff;border-radius:50%;transform:scaleY(.34)}.lure-splash:after{left:25px;right:25px;bottom:7px;height:25px;border:3px solid #00a4ef;border-radius:50%;transform:scaleY(.35)}.lure-splash i,.lure-splash b,.lure-splash span{bottom:18px;width:7px;height:32px;background:linear-gradient(transparent,#d9f7ff);border-radius:50%}.lure-splash i{left:23px;transform:rotate(-28deg)}.lure-splash b{left:51px;height:45px}.lure-splash span{right:23px;transform:rotate(28deg)}.casting .lure-splash{animation:splashImpact .72s 1.05s ease-out forwards}.biting .lure-splash{animation:splashPulse .42s infinite alternate}.casting .angler-photo{animation:deepLoadCast 1.25s cubic-bezier(.22,.75,.32,1)}.biting .angler-photo{animation:deepRodFight .3s infinite alternate;filter:drop-shadow(0 0 18px #00a4ef88)}
@keyframes lureFlight{0%{left:42%;top:43%;opacity:0;transform:rotate(-40deg) scale(.55)}12%{opacity:1}48%{left:59%;top:23%;transform:rotate(5deg) scale(.82)}88%{opacity:1}100%{left:68%;top:62%;opacity:0;transform:rotate(55deg) scale(.7)}}@keyframes splashImpact{0%{opacity:0;transform:translate(-50%,-50%) scale(.15)}30%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.7)}}@keyframes splashPulse{from{opacity:.25;transform:translate(-50%,-50%) scale(.65)}to{opacity:1;transform:translate(-50%,-50%) scale(1.08)}}@keyframes deepLoadCast{0%{transform:rotate(0) scaleX(1)}30%{transform:rotate(-11deg) scaleX(.9) translateX(-3%)}58%{transform:rotate(4deg) scaleX(1.035)}100%{transform:rotate(0) scaleX(1)}}@keyframes deepRodFight{from{transform:rotate(-1deg) scaleX(.965) translateY(0)}to{transform:rotate(1.5deg) scaleX(.91) translateY(4px)}}
.prize-copy{color:white!important;font:900 clamp(24px,3.5vw,36px)/1 Impact,"Arial Narrow",sans-serif;letter-spacing:1.5px;margin:24px 0 10px!important}.prize-product{display:block;width:min(300px,70vw);height:120px;object-fit:contain;margin:4px auto;filter:drop-shadow(0 10px 20px #000)}.prize{font-size:clamp(29px,6vw,52px)!important;letter-spacing:-1px!important;line-height:1.04;max-width:700px;margin:6px auto 12px;text-transform:uppercase}.money-input{flex:1;margin-left:18px}.money-input input{width:100%!important}
@media(max-width:700px){.cast-lure{width:54px}.lure-splash{left:72%}.prize-product{height:90px}}
.lure-picker{border:0;padding:0;margin:0 0 22px}.lure-picker legend{font-size:13px;font-weight:850;margin-bottom:9px}.lure-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.lure-option{min-width:0;height:116px;padding:8px 6px;border:2px solid #285367;border-radius:6px;background:#02090d;color:white;display:flex;flex-direction:column;align-items:center;justify-content:space-between;cursor:pointer}.lure-option img{width:100%;height:72px;object-fit:contain}.lure-option span{font:900 13px Impact,"Arial Narrow",sans-serif;letter-spacing:1px}.lure-option.selected{border-color:#32bcff;background:#0b3142;box-shadow:0 0 0 2px #008fd455,0 0 18px #00a4ef44}.lure-option:focus-visible{outline:3px solid #32bcff;outline-offset:2px}.cast-lure{width:110px!important;height:70px!important;object-fit:contain}.cast-lure.lure-topwater{width:125px!important;height:95px!important}
@media(max-width:700px){.lure-options{gap:6px}.lure-option{height:100px;padding:6px 3px}.lure-option img{height:58px}.lure-option span{font-size:11px}.cast-lure{width:82px!important;height:56px!important}.cast-lure.lure-topwater{width:94px!important;height:72px!important}}
.entry-card select{width:100%;display:block;margin-top:7px;border:1px solid #285367;border-radius:5px;padding:15px;background:#02090d;color:white;font-size:17px}.entry-card select:focus{outline:3px solid #00a4ef44;border-color:#32bcff}.admin-section-title{margin:22px 0 8px;color:#00a4ef;font-weight:950;text-transform:uppercase;letter-spacing:1px}.prize-inputs{overflow-x:auto}.prize-row{display:grid;grid-template-columns:52px minmax(170px,1fr) 72px 82px 105px;gap:8px;align-items:center;border-top:1px solid #173641;padding:8px 0}.prize-row input{min-width:0;margin:0;padding:9px;background:#02090d;border-color:#285367;color:white}.prize-head{font-size:10px;font-weight:900;text-transform:uppercase;color:#a9bec6}.cost-input,.odds-input{display:flex;align-items:center;gap:4px}.cost-input input,.odds-input input{width:100%}.odds-total{text-align:right;padding:9px 3px;color:#66d3ff;font-weight:900}.odds-total.invalid{color:#ff7d7d}.dealer-inputs{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.dealer-inputs label{margin-bottom:10px}.dealer-inputs input{margin-top:4px;padding:10px;background:#02090d;border-color:#285367;color:white}#adminDialog{max-height:calc(100dvh - 28px);overflow:hidden}#adminDialog form{max-height:calc(100dvh - 30px);overflow-y:auto}.admin-note{margin-bottom:8px}
.entry-card .marketing-consent{display:flex;align-items:flex-start;gap:10px;margin-top:-6px;padding:10px 12px;border:1px solid #17465a;border-radius:6px;background:#031017;color:#d9edf5;font-size:13px;line-height:1.35}.entry-card .marketing-consent input{flex:0 0 22px;width:22px;height:22px;margin:0;accent-color:#00a4ef}.entry-card .marketing-consent span{padding-top:2px}
@media(max-width:600px){.prize-row{grid-template-columns:44px minmax(145px,1fr) 66px 76px 96px}.dealer-inputs{grid-template-columns:1fr}}
header .logo{margin-right:0}.dealer-banner{flex:1;text-align:center;color:#00a4ef;font:900 clamp(13px,2.2vw,21px)/1 Impact,"Arial Narrow",sans-serif;letter-spacing:1.4px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dealer-row{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:5px}.dealer-row>input{width:20px;height:20px;margin:0;accent-color:#00a4ef}.dealer-row label{margin:0 0 10px}
@media(max-width:600px){header{gap:10px;padding-inline:12px}.dealer-banner{font-size:12px;letter-spacing:.6px}.header-logo{width:105px}.dealer-row{grid-template-columns:26px 1fr}}
