/* Layered scenery surrounds live text and controls; no text is baked into panels. */
.customer-home{max-width:none!important;padding:0!important;isolation:isolate}
.customer-home>.topbar{position:absolute;inset:0 0 auto;z-index:4;width:min(100% - 32px,1120px);margin:0 auto;padding:14px 0;min-height:64px}
.customer-home>.topbar .brand{visibility:hidden;pointer-events:none}
.customer-home>.topbar .topnav{margin-left:auto}
.customer-home>.topbar .sound{color:#fff9df;background:#084c47ce;border:1px solid #e2d292;box-shadow:0 3px 0 #073e37;border-radius:50%;width:48px;height:48px}
.customer-welcome{position:relative;isolation:isolate;overflow:hidden;min-height:calc(100svh - 58px);display:grid;place-items:center;padding:42px 20px 30px;background:#1599c7}
.customer-welcome>.world-scene{position:absolute;inset:0;z-index:-2;overflow:hidden}
.customer-welcome .world-distance{object-position:50% 30%;filter:none!important}
.customer-welcome .world-foreground{z-index:1;opacity:.8}
.customer-welcome:after{content:'';position:absolute;inset:auto 0 0;height:35%;background:linear-gradient(transparent,#073d3080);z-index:-1;pointer-events:none}
.customer-welcome-content{position:relative;width:min(100%,510px);padding-top:50px}
.customer-cast-logo{display:block;width:92%;height:auto;max-width:470px;margin:0 auto -8px;position:relative;z-index:2;filter:drop-shadow(0 8px 6px #123c3b66)}
.enchanted .customer-paper{position:relative;inset:auto!important;max-width:none!important;width:100%!important;margin:0!important;padding:27px 27px 12px!important;transform:none!important;background:radial-gradient(ellipse at 50% 0,#fffdf0,#fff1ce);border:2px solid #ffeba2;border-radius:30px 30px 23px 23px;box-shadow:0 0 0 3px #a87528,0 7px 0 #76531f,0 18px 30px #002f3859;color:#103f30;text-align:center;isolation:isolate}
.customer-paper:before{content:'';display:block;position:absolute;inset:10px -7px -10px;border:2px solid #bcca88;border-radius:26px;background:#1e603c;transform:rotate(-2deg);z-index:-2;box-shadow:0 7px 14px #15392544}
.customer-paper:after{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse at 50% 0,#fffdf0,#fff1ce);z-index:-1;pointer-events:none}
.enchanted .customer-paper h1{font:800 clamp(30px,5vw,44px)/1.05 'Fraunces',Georgia,serif;letter-spacing:-1px;color:#073d2f;margin:0 auto 12px;text-shadow:none;max-width:100%;text-wrap:balance}
.enchanted .customer-paper .world-intro{font:700 16px/1.45 'Nunito',system-ui,sans-serif;color:#274936;max-width:none;margin:0 0 18px;text-shadow:none}
.enchanted .customer-paper .entry-play{width:100%;max-width:none;font-size:30px;min-height:66px;margin:0;border:2px solid #ffe6a1;border-radius:18px;background:linear-gradient(#0b9b55,#057745);box-shadow:0 0 0 2px #065433,0 5px 0 #05492e,inset 0 2px 0 #ffffff55;color:#fffef0}
.enchanted .customer-paper .hs-entry-install{max-width:none;width:100%;min-height:48px;margin:15px 0 16px;background:linear-gradient(#fffdf3,#f5e9ff);color:#58238a;border:2px solid #a56dcc;box-shadow:0 3px 0 #6d3599;text-shadow:none;font-size:17px}
.enchanted .customer-paper .hs-entry-install small{color:#58238a;font-size:14px}
.customer-play-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.customer-play-choices>div{display:flex;gap:10px;align-items:center;text-align:left;border:1px solid #d1bb87;border-radius:13px;background:#fffdf080;padding:12px 10px;min-width:0;box-shadow:inset 0 1px #fff}
.customer-choice-icon{font-size:30px;line-height:1;color:#247449;flex:none}
.customer-play-choices>div:last-child .customer-choice-icon{font-size:0;width:27px;height:31px;background:url('/assets/gold-coin.png') center/contain no-repeat;filter:drop-shadow(0 2px 1px #9d6e2933)}
.customer-play-choices p{margin:0!important;color:#123b2e!important;text-shadow:none!important;font:600 14px/1.3 'Nunito',system-ui,sans-serif!important;min-width:0}
.customer-play-choices strong,.customer-play-choices p>span{display:block}
.customer-play-choices strong{font-weight:900;margin-bottom:4px}
.customer-home-links{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #b69e6666;margin-top:15px;padding-top:6px;gap:10px}
.customer-home-links button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;background:none;border:0;color:#174c38;font:900 16px 'Nunito',system-ui,sans-serif;cursor:pointer;border-radius:9px}
.customer-home-links button:hover{background:#ead8a44d}.customer-home-links button+button{border-left:1px solid #b69e6666;border-radius:0 9px 9px 0}
.customer-home-links svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.customer-home-links button>span{font-size:22px}
.customer-home>.site-footer{justify-content:center;gap:12px;flex-wrap:wrap;margin:0;padding:19px 20px;background:#063d32;color:#fff5dc;font-size:13px;min-height:58px}
.customer-home>.site-footer>span{display:none}
.customer-home>.site-footer a{color:inherit}.customer-home>.site-footer .hs-footer-button{display:none}

/* Sign-in has one action. The existing rulebook remains available below it. */
.customer-account.account-story-wrap{padding:0 22px!important;max-width:1140px!important;min-height:100svh}
.customer-account.account-story-wrap:before{background:linear-gradient(0deg,#06372a70,transparent 72%),url('/assets/world/norwich-day.webp') center top/cover no-repeat}
.customer-account.account-story-wrap:after{opacity:.7;animation:customer-leaf-breath 11s ease-in-out infinite alternate;transform-origin:center top}
.customer-account .topbar{max-width:980px!important}
.enchanted .customer-account .account-story-shell{display:grid;grid-template-columns:minmax(0,1fr);max-width:490px;margin:95px auto 24px;gap:20px}
.enchanted .customer-account .account-story-shell .account-panel{grid-row:1;grid-column:1;padding:24px 25px 19px;border-radius:26px}
.enchanted .customer-account .account-story-shell .account-art{grid-row:2;grid-column:1}
.customer-account .account-panel>.eyebrow{display:none}
.customer-account .account-story-shell .account-back{font-size:15px;min-height:48px;margin-bottom:12px}
.enchanted .customer-account .account-story-shell .account-panel h1{font-size:clamp(32px,7vw,46px);margin-bottom:12px;letter-spacing:-.9px}
.customer-account .account-story-shell .account-intro{font-size:17px;margin-bottom:22px;color:#223c30}
.customer-account .account-story-shell .account-rulebook{width:170px;max-width:55%;margin:6px auto 0;filter:drop-shadow(0 6px 8px #00271988)}
.customer-account .account-read-rules{font-size:12px;padding:8px 3px;gap:4px}
.customer-account .account-read-rules svg{width:16px;height:19px}
.customer-account .account-play-entry{margin:10px 0 0}
.customer-account .provider-options{display:block!important;margin-top:0!important;min-height:48px}
.customer-account #google-login{display:flex;justify-content:center;min-width:0;min-height:48px;padding:3px 0}
.customer-account #account-options>.fine{font-size:13px;line-height:1.5}
.customer-account .account-saved-note{display:flex;align-items:center;justify-content:center;gap:10px;margin:22px 0;padding-bottom:19px;border-bottom:1px solid #bca16370;font:800 16px 'Nunito',system-ui,sans-serif;color:#214d38}
.account-saved-note svg{width:28px;height:24px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none;flex:none}
.customer-account .account-new-note{font:600 16px/1.4 'Nunito',system-ui,sans-serif;margin:16px 0 8px}.account-new-note strong{display:block;font-weight:900}
.enchanted .customer-account .hs-entry-install{margin:17px 0 10px;min-height:48px;background:linear-gradient(#fffdf3,#f5e9ff);border:1px solid #a56dcc;color:#58238a;box-shadow:0 3px 0 #7b45a3;text-shadow:none;font-size:16px}
.enchanted .customer-account .hs-entry-install small{color:#58238a;font-size:13px}
.customer-account .account-signin-legal a,.customer-account .account-legal a{text-underline-offset:3px}
.customer-account .account-session-actions{gap:14px;flex-wrap:wrap}.customer-account .account-session-actions .text-button{min-height:48px;font-size:14px}
.customer-account .account-action-tile{min-height:64px;font-size:15px}
.customer-account .account-story-shell .registration-status{font-size:16px}.customer-account .registration-status strong{display:block}
.customer-account .account-story-shell .account-choose{font-size:23px;min-height:62px}
.account-my-hunts{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 16px;margin:20px 0 14px;min-height:54px;border:1px solid #a5ae79;border-radius:14px;background:linear-gradient(#fffef3,#eee4bf);box-shadow:0 3px 0 #9a986c;color:#174a35;font:900 18px 'Nunito',system-ui,sans-serif;cursor:pointer}
.account-my-hunts svg{width:21px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8}.account-my-hunts>span{margin-left:auto;font-size:25px}

/* Current and upcoming entries use actual signed-in account data. */
dialog.customer-hunts-dialog{width:min(calc(100vw - 24px),590px);padding:24px;max-height:calc(100dvh - 24px)}
.customer-hunts-intro{margin:0 0 16px;font-size:16px;color:#354c3c}
.customer-hunt-tabs{display:flex;gap:5px;padding:5px;background:#e9dbae;border:1px solid #bda568;border-radius:17px;margin:16px 0 20px}
.customer-hunt-tabs button{flex:1;min-height:48px;padding:8px;background:transparent;border:0;border-radius:12px;font:900 16px 'Nunito',system-ui,sans-serif;color:#36523d;cursor:pointer}
.customer-hunt-tabs button[aria-pressed=true]{background:linear-gradient(#13894f,#086839);box-shadow:0 3px 0 #044c30;color:#fff8e2}
.customer-hunt-tabs button>span{display:inline-grid;place-items:center;min-width:23px;height:23px;margin-left:5px;border:1px solid currentColor;border-radius:50%;font-size:12px}
.customer-hunt-cards{display:grid;gap:20px}.customer-hunt-card{overflow:hidden;border:2px solid #d7b673;border-radius:21px;background:#fff9e7;box-shadow:0 4px 0 #b8a472,0 8px 16px #674f1922}
.customer-hunt-scene{position:relative;height:150px;overflow:hidden;background:#1c9fc0}
.customer-hunt-scene>img:first-child{width:100%;height:100%;object-fit:cover;object-position:center 42%}
.customer-hunt-scene .customer-hunt-host{position:absolute;right:4%;bottom:-14%;height:105%;max-width:55%;object-fit:contain;filter:drop-shadow(0 4px 5px #164c3a55)}
.customer-hunt-copy{padding:17px 18px}.customer-entry-badge{display:table;max-width:100%;border-radius:12px;padding:7px 12px;font:900 13px/1.3 'Nunito',system-ui,sans-serif;color:#fff;border:1px solid #fff4;background:#286f3f;box-shadow:0 2px 0 #164e29;margin:-34px 0 13px;position:relative;z-index:1}
.customer-entry-badge.is-free{background:#783ba2;box-shadow:0 2px 0 #4b226c}.customer-entry-badge.is-pending{background:#845510;box-shadow:0 2px 0 #57390e}
.customer-hunt-place{margin:0 0 3px!important;font:900 13px/1.3 'Nunito',system-ui,sans-serif;color:#476043;text-transform:uppercase;letter-spacing:1px}
.customer-hunt-card h3{font:800 26px/1.1 'Fraunces',Georgia,serif;color:#113d2b;margin:0 0 10px;text-wrap:balance}
.customer-hunt-time{font:700 14px/1.45 'Nunito',system-ui,sans-serif;margin:0 0 15px!important;color:#37513a}
.customer-hunt-progress{display:flex;align-items:center;gap:12px;font:800 14px 'Nunito',system-ui,sans-serif;margin:14px 0 18px}
.customer-hunt-progress progress{flex:1;min-width:40px;height:13px;accent-color:#118754;border:0;border-radius:10px;overflow:hidden;background:#e2d5ad}
.customer-hunt-progress progress::-webkit-progress-bar{background:#e2d5ad;border-radius:10px}.customer-hunt-progress progress::-webkit-progress-value{background:#118754;border-radius:10px}.customer-hunt-progress progress::-moz-progress-bar{background:#118754;border-radius:10px}
.customer-hunt-copy .btn{font-size:18px;min-height:52px;margin-bottom:0}.customer-receipt,.customer-hunts-back{min-height:48px!important;font-size:15px!important;display:block;margin:12px auto 0!important}
.customer-hunts-empty{text-align:center;padding:20px 8px}.customer-hunts-empty>span{font-size:45px;color:#4e8948}.customer-hunts-empty h3{font:800 25px 'Fraunces',Georgia,serif}.customer-hunts-empty p{font-size:16px;line-height:1.5}.customer-hunts-warning{font-size:15px;padding:12px;border:1px solid #c19749;background:#fff0bd;border-radius:12px}

@keyframes customer-leaf-breath{from{transform:rotate(-.25deg) scale(1.012)}to{transform:rotate(.25deg) scale(1.025)}}
@media(min-width:900px){
 .customer-welcome{min-height:calc(100svh - 58px);padding:58px 40px 48px}
 .customer-welcome-content{width:min(100%,1040px);display:grid;grid-template-columns:1fr 440px;gap:60px;align-items:center;padding-top:30px}
 .customer-cast-logo{width:100%;max-width:530px;margin:0 auto;transform:translateY(-20px)}
 .customer-paper{max-width:440px!important}.customer-welcome .world-distance{object-position:50% 45%}
 .enchanted .customer-account .account-story-shell{grid-template-columns:250px minmax(0,480px);max-width:780px;margin-top:90px;gap:35px;align-items:center}
 .enchanted .customer-account .account-story-shell .account-panel{grid-column:2;grid-row:1}
 .enchanted .customer-account .account-story-shell .account-art{grid-column:1;grid-row:1}
 .customer-account .account-story-shell .account-rulebook{max-width:100%;width:250px}
 .customer-account .account-read-rules{font-size:16px;padding:11px 6px}
}
@media(max-width:450px){
 .customer-welcome{padding:29px 19px 25px;min-height:calc(100svh - 48px)}
 .customer-welcome-content{padding-top:35px}.customer-cast-logo{width:84%;margin-bottom:-4px}
 .enchanted .customer-paper{padding:21px 19px 10px!important;border-radius:24px}
 .enchanted .customer-paper h1{font-size:32px;margin-bottom:10px}.enchanted .customer-paper .world-intro{font-size:15px;margin-bottom:16px}
 .enchanted .customer-paper .entry-play{min-height:60px;font-size:29px}.enchanted .customer-paper .hs-entry-install{margin:14px 0;font-size:16px}
 .customer-play-choices{gap:8px;margin-top:16px}.customer-play-choices>div{padding:10px 8px;gap:7px}.customer-play-choices p{font-size:12px!important}.customer-choice-icon{font-size:25px}
 .customer-home-links{margin-top:12px}.customer-home-links button{font-size:15px}.customer-home>.site-footer{font-size:12px;padding:13px 16px;min-height:48px}
 .customer-account.account-story-wrap{padding:0 20px!important}.enchanted .customer-account .account-story-shell{margin-top:65px}
 .enchanted .customer-account .account-story-shell .account-panel{padding:18px 19px}.customer-account .account-story-shell .account-back{margin-bottom:8px}
 .customer-account .account-story-shell .account-intro{font-size:16px}.customer-account .account-story-shell .account-rulebook{width:145px}
 .customer-account .account-action-tile{font-size:14px}.customer-account .account-secondary-actions{gap:9px}
 dialog.customer-hunts-dialog{padding:20px 17px}.customer-hunt-scene{height:130px}.customer-hunt-copy{padding:17px 14px}
}
@media(max-height:740px) and (max-width:600px){.customer-welcome-content{padding-top:24px}.customer-cast-logo{width:67%}.customer-welcome{padding-top:25px}.enchanted .customer-paper h1{font-size:29px}.enchanted .customer-account .account-story-shell{margin-top:30px}}
@media(max-width:360px){.customer-play-choices>div{padding:10px}.customer-play-choices .customer-choice-icon{display:none}.customer-play-choices p{font-size:13px!important}.customer-play-choices strong{font-size:14px}}
@media(prefers-reduced-motion:reduce){.customer-account.account-story-wrap:after{animation:none!important}}
html[data-world-motion=off] .customer-account.account-story-wrap:after,html[data-world-hidden=yes] .customer-account.account-story-wrap:after{animation-play-state:paused}
.customer-home :is(button,a):focus-visible,.customer-account :is(button,a):focus-visible,.customer-hunts-dialog :is(button,a):focus-visible{outline:3px solid #7040a4;outline-offset:5px}
