/* Camper layout and presentation, framed by the existing website components. */
.camper-page .model-viewer .text-help{display:block;margin:10px auto 0;padding:10px 12px;background:transparent;color:#f1d3a1;font-size:13px;text-decoration:underline;text-underline-offset:4px}
.camper-page #load-error{font-size:12px;color:#bdc9d1;margin-top:14px}
body.camper-page{--font-heading:'Special Elite',monospace;--font-body:'Inter',sans-serif;height:100dvh;min-height:0;overflow:hidden}
.camper-page site-header,.camper-page site-footer{flex:0 0 auto}
.camper-page site-header nav a{font-family:'Special Elite',monospace;font-weight:400}
.camper-page #camper-viewer{flex:1 1 0;min-height:260px;width:100%}
body.camper-page .model-viewer #poster{z-index:3;object-fit:contain}
body.camper-page .model-viewer .wordmark{color:white;text-decoration:none;font-weight:800;font-size:26px;letter-spacing:-1.5px;text-shadow:0 2px 14px #0008;pointer-events:auto}
body.camper-page .model-viewer .wordmark span{font-size:12px;letter-spacing:2px;font-weight:500;margin-left:18px}
body.camper-page .model-viewer #welcome{position:absolute;z-index:4;bottom:7vh;left:5vw;width:335px;max-width:90vw;padding:26px;background:linear-gradient(130deg,#10202aec,#10202ab8);backdrop-filter:blur(18px);border:1px solid #ffffff24;border-radius:4px}
.model-viewer .intro{font-size:15px;margin:0 0 26px;color:#e2e5e5}
.model-viewer .welcome-note{font-size:12px;color:#bdc9d1;margin:14px 0 0}
@media(max-width:600px){body.camper-page .model-viewer #welcome{left:20px;bottom:max(22px,env(safe-area-inset-bottom));width:calc(100% - 40px);max-width:360px;padding:22px}.model-viewer .intro{margin-bottom:18px}.model-viewer .welcome-note{font-size:11px}}@media(max-height:520px){body.camper-page .model-viewer #welcome{bottom:18px;padding:18px}body.camper-page .model-viewer #welcome h1{font-size:30px}body.camper-page .model-viewer #welcome .intro,body.camper-page .model-viewer #welcome .welcome-note{display:none}body.camper-page .model-viewer #welcome .primary{margin-top:14px}}@media(max-width:600px){body.camper-page .model-viewer #poster{transform:translateY(-5vh)}}@media(max-width:600px){body.camper-page .model-viewer #welcome .intro,body.camper-page .model-viewer #welcome .welcome-note{display:none}body.camper-page .model-viewer #welcome .eyebrow{font-size:10px;margin-bottom:10px}body.camper-page .model-viewer #welcome h1{font-size:32px;margin-bottom:18px}body.camper-page .model-viewer #welcome{padding:20px}body.camper-page .model-viewer #welcome .primary{margin-top:18px;padding:14px 20px}}
.camper-page #welcome{bottom:5%;left:5%;}
.camper-page .model-viewer .intro,.camper-page .model-viewer .welcome-note{font-family:'IM Fell DW Pica',serif}
@media(max-width:600px){.camper-page #welcome{left:20px;bottom:18px}.camper-page site-footer footer{padding:.45rem 1rem;font-size:.7rem}}
@media(max-height:480px){body.camper-page{overflow:auto}.camper-page #camper-viewer{min-height:320px}}

/* Give the camper the foreground grass and keep the welcome panel beside it. */
@media(min-width:601px){
  body.camper-page .model-viewer #welcome{left:auto;right:4%;bottom:5%}
  body.camper-page .model-viewer #poster{transform:translate(-12%,4%)}
}
@media(min-width:900px){
  body.camper-page .model-viewer #poster{transform:translate(-18%,9%)}
}
