/* Shared input and viewport adaptations; no layout is hidden to mask overflow. */
main,section,article,figure,form{min-width:0}
input,select,textarea{max-width:100%}
html{scroll-padding-top:100px}
.route-touch .hero-motion-controls{width:100%;flex-wrap:wrap;gap:12px;position:relative;z-index:4}
.route-touch .route-impulse{position:relative;isolation:isolate;overflow:hidden;padding:12px 17px;min-height:48px;border:1px solid #c74326;border-radius:28px;background:linear-gradient(115deg,#5b2117,#25120e);color:#fff1e6;font-size:14px;box-shadow:inset 0 1px #ffb38525}
.route-touch .impulse-symbol{width:26px;height:26px;border-color:#ff865b80;box-shadow:0 0 14px #ff562630}
.route-touch .impulse-symbol i{width:7px;height:7px;background:#ff9d72;box-shadow:0 0 10px #ff6537}
.route-touch .impulse-arrow{color:#ffac87;font-size:22px}
.route-touch .route-impulse::after{content:'';position:absolute;z-index:-1;inset:0;border-radius:inherit;background:radial-gradient(circle at 22px 50%,#ff9b63bb,transparent 65%);opacity:0}
.route-touch .route-impulse.is-tap-pulse::after{animation:touch-impulse .7s ease-out}
.route-touch .hero-motion-toggle{width:44px;height:44px;flex-shrink:0}
@keyframes touch-impulse{0%{opacity:1;transform:scale(.5)}100%{opacity:0;transform:scale(2)}}
@media(max-width:1050px),(pointer:coarse){
 button,a,input,select,summary{-webkit-tap-highlight-color:#ff6b3333;touch-action:manipulation}
 input[type=range]{touch-action:pan-y;min-height:36px}
 .hero-play-controls button,.dev-stage-tabs button,.page-sections a,.menu-toggle{min-height:44px}
 .secret-dock{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));padding:7px 12px 7px 7px;gap:8px;min-width:0;border-radius:30px;min-height:48px}
 .secret-dock-icon{width:32px;height:32px}.secret-dock-icon svg{width:30px;height:30px;padding:6px}
 .secret-dock-copy{display:flex;align-items:center;gap:8px}.secret-dock-copy small{font-size:9px;max-width:65px;letter-spacing:.04em}.secret-dock-copy strong{font-size:17px;white-space:nowrap}
 .secret-dock .secret-dock-page,.secret-dock .secret-dock-track{display:none}
 footer{padding-bottom:85px!important}
 #secret-reward,.lk-handoff{max-height:calc(100dvh - 20px);overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding:56px 0 24px}
 #secret-reward .secret-close,.lk-handoff .lk-close{position:sticky;top:0;float:right;z-index:10;background:#211915;border:1px solid #926147;min-width:44px;min-height:44px;margin:-2px -2px 4px 8px}
 #secret-reward .secret-close{grid-column:1/-1;justify-self:end}
 #secret-reward .secret-reward-content{overflow:visible}
 #secret-reward .secret-discovery-note{padding-right:0}
 #secret-reward .secret-entry-reward,#secret-reward .secret-locked p{flex-wrap:wrap}
 #secret-reward .secret-summary .button{white-space:normal;text-align:center}
 .lk-client-form input{font-size:16px}
}
@media(max-height:500px){
 #secret-reward,.lk-handoff{max-height:calc(100dvh - 12px);margin:auto}
 #secret-reward .secret-reward-content,.lk-handoff{padding:16px}
 #secret-reward .secret-badge,.lk-handoff .lk-package{display:none}
 .lk-handoff h2{font-size:26px!important}.lk-kicker{margin-bottom:8px}
 .navigation{max-height:calc(100dvh - 70px);overflow:auto;overscroll-behavior:contain}
}
@media(max-width:600px){
 html{scroll-padding-top:82px}
 #secret-reward[data-mode="journal"]{width:calc(100% - 16px)}
 #secret-reward .secret-balance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 #secret-reward .secret-balance-grid>div{padding:10px 6px}
 #secret-reward .secret-retention{font-size:12px;line-height:1.5}
 .lk-handoff{width:calc(100% - 16px);padding:20px}
 .route-touch .hero-motion-controls{gap:8px}
}
@media(prefers-reduced-motion:reduce){.route-touch .route-impulse.is-tap-pulse::after{animation:none}}
html[data-motion="off"] .route-touch .route-impulse.is-tap-pulse::after{animation:none}
.mobile-page-nav{display:none}
@media(max-width:1050px){
 .mobile-page-nav{display:flex;position:relative;padding:90px 20px 0;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;max-width:100%;box-sizing:border-box}
 .mobile-page-nav a{display:flex;align-items:center;flex-shrink:0;min-height:44px;padding:0 15px;border:1px solid #564235;border-radius:24px;color:#d8b7a1;background:#16120f;font-size:13px;text-decoration:none}
 .mobile-page-nav a:focus-visible{outline:2px solid #ff805a;outline-offset:-3px}
 .homepage-offer:has(.mobile-page-nav) .hero{padding-top:40px}
}
@media(max-width:1050px){
 #navigation.is-open{max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(18px,env(safe-area-inset-bottom))}
 .header:has(#navigation.is-open)~.secret-dock{visibility:hidden}
}
