/* NZ Life Quest stays inside the existing blue/white editorial system. */
.quest-page{max-width:1200px;margin:auto;padding:10px 0 35px;color:#153b5b}
.quest-page *{box-sizing:border-box}
.quest-page h1{font-size:clamp(30px,4vw,44px);line-height:1.3;margin:10px 0 18px;letter-spacing:-.7px;color:#0d1824}
.quest-page h2{font-size:25px;line-height:1.5;margin:0 0 14px;color:#153b5b}
.quest-page h3{font-size:21px;line-height:1.5;color:#0d1824}
.quest-page p{font-size:15px;line-height:1.85;color:#43566a;overflow-wrap:anywhere}
.quest-page a{overflow-wrap:anywhere}
.quest-page-heading{max-width:780px;margin-bottom:32px}
.quest-page-heading .quest-subtitle{font-size:21px;color:#153b5b}
.quest-welcome{border:1px solid #d5e6f1;background:linear-gradient(#fff,#f5f9ff);margin-bottom:30px;overflow:hidden}
.quest-welcome-art{background:#e6f3fd;aspect-ratio:2027/776;overflow:hidden}
.quest-welcome-art img{display:block;width:100%;height:auto;max-width:100%}
.quest-welcome .quest-page-heading{max-width:none;margin:0;padding:24px 30px 16px}
.quest-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin:20px 0}
.quest-page .btn,.quest-guide-entry .btn{min-height:44px;white-space:normal;text-align:center;line-height:1.6}
.quest-page .btn:disabled{background:#edf1f5;border-color:#dce3e9;color:#657383;cursor:not-allowed}
.quest-page :is(button,a,input,summary):focus-visible{outline:3px solid #0874ef;outline-offset:4px}
.quest-level-card{border:1px solid #d5e6f1;background:#eef7fc;padding:28px;display:grid;grid-template-columns:180px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:20px 28px;margin:26px 0 32px}
.quest-level-card p{margin:6px 0}.quest-level-card h2{margin:4px 0}.quest-xp{font-size:32px;color:#0864ad;display:inline-block}
.quest-current-level-art{padding:6px;border:1px solid #dce7ef;border-radius:12px;background:#fff;min-width:0}
.quest-level-description{min-width:0}.quest-level-description h2{overflow-wrap:anywhere}
.quest-level-art{position:relative;display:block;width:100%;overflow:hidden;direction:ltr;background:#fff}
.quest-level-art img{position:absolute;display:block;height:auto;max-width:none;pointer-events:none;user-select:none}
/* Remove neighbouring artwork in the sheet's overlapping white corners. */
.quest-level-art-1{clip-path:polygon(0 0,100% 0,100% 96%,84% 96%,84% 100%,0 100%)}
.quest-level-art-2{clip-path:polygon(0 0,100% 0,100% 88%,84% 88%,84% 100%,16% 100%,16% 96%,0 96%)}
.quest-level-art-3{clip-path:polygon(0 0,100% 0,100% 100%,16% 100%,16% 92%,0 92%)}
.quest-level-art-4{clip-path:polygon(0 4%,25% 4%,25% 0,75% 0,75% 4%,100% 4%,100% 100%,0 100%)}
.quest-level-art-5{clip-path:polygon(0 10%,20% 10%,27% 8%,36% 6.5%,36% 0,64% 0,64% 6.5%,73% 8%,80% 10%,100% 10%,100% 100%,0 100%)}
.quest-level-rewards{margin:32px 0 38px}
.quest-level-collection{list-style:none;padding:0;margin:22px 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.quest-level-reward{min-width:0;padding:14px 10px;border:1px solid #dfe7ed;background:#fff;text-align:center}
.quest-level-reward.is-current{border-color:#0874ef;box-shadow:inset 0 0 0 1px #0874ef}
.quest-level-reward.is-locked .quest-level-art{filter:grayscale(1);opacity:.55}
.quest-level-reward h3{font-size:16px;line-height:1.6;margin:14px 0 8px;overflow-wrap:anywhere}
.quest-level-reward h3 bdi{display:block;font-size:13px;color:#43566a;margin-bottom:5px}
.quest-level-reward .quest-level-threshold{font-size:12px;margin:0;line-height:1.75}
.quest-level-reward .quest-level-state{font-size:13px;font-weight:600;color:#627080;margin:8px 0 0}
.quest-level-reward.is-earned .quest-level-state{color:#17613c}.quest-level-reward.is-current .quest-level-state{color:#0864ad}
.quest-level-progress{align-self:center;min-width:0}
.quest-progress{height:10px;background:#dce5ef;border-radius:10px;overflow:hidden}
.quest-progress span{display:block;height:100%;background:#0874ef;transition:width .25s ease}
.quest-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border-top:1px solid #d2e3ee;padding-top:20px;margin:0;grid-column:1/-1}
.quest-metrics dt,.quest-result-metrics dt{font-size:13px;line-height:1.7;color:#43566a}
.quest-metrics dd{font-size:24px;font-weight:700;margin:6px 0 0;color:#153b5b}
.quest-resume{display:flex;align-items:center;justify-content:space-between;gap:20px;border-inline-start:3px solid #0874ef;background:#f5f9ff;padding:20px 24px;margin:24px 0 32px}
.quest-resume p{margin:4px 0 0}
.quest-topics{scroll-margin-top:160px}.quest-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.quest-topic-card{border:1px solid #dfe7ed;padding:25px;min-width:0;display:flex;flex-direction:column;background:#fff}
.quest-topic-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.quest-topic-card h3{margin:20px 0 10px}.quest-topic-card p{margin:0 0 14px}.quest-topic-card .btn{margin-top:auto;align-self:start;width:100%}
.quest-topic-card .quest-topic-count{font-size:13px;margin-top:auto;padding-top:10px;color:#43566a}
.quest-topic-card .quest-availability{font-size:12px;color:#62788a}
.quest-topic-highlight{border-color:#0874ef;box-shadow:inset 0 0 0 1px #0874ef}
.quest-topic-state{font-size:12px;color:#627080;line-height:1.6}.quest-topic-state.is-mastered{color:#076443;font-weight:600}
.quest-rules{border-top:1px solid #dfe7ed;padding:22px 0;margin-top:30px}.quest-rules summary{font-size:17px;font-weight:600;cursor:pointer;min-height:44px}
.quest-local-note{border-top:1px solid #e1e8ef;padding-top:20px;margin-top:30px;font-size:13px!important;color:#62788a!important}
.quest-notice,.quest-storage-warning,.quest-fallback{padding:16px 20px;border-inline-start:3px solid #1476c4;background:#eef7fc;line-height:1.85;margin:16px 0 24px}
.quest-storage-warning{background:#fff7e5;border-color:#b97b16;color:#6f5017}.quest-fallback{font-size:14px!important}
.quest-play{max-width:850px;border:1px solid #dfe7ed;padding:28px;background:#fff}
.quest-question-meta{display:flex;flex-wrap:wrap;gap:10px 24px;font-size:13px;color:#43566a}
.quest-question-progress{display:flex;gap:7px;margin:18px 0 26px}.quest-question-progress span{height:4px;flex:1;background:#e6edf3}.quest-question-progress .is-done{background:#5b9cd9}.quest-question-progress .is-current{background:#0874ef}
.quest-play fieldset{border:0;min-width:0;padding:0;margin:0 0 22px}
.quest-play legend{font-size:24px;line-height:1.65;font-weight:700;color:#0d1824;max-width:100%;margin-bottom:20px}
.quest-options{display:grid;gap:12px}
.quest-option{display:flex;align-items:center;gap:12px;border:1px solid #cddce8;padding:17px;cursor:pointer;line-height:1.8;font-size:16px;min-width:0;flex-wrap:wrap}
.quest-option>span:nth-of-type(2){flex:1;min-width:120px;overflow-wrap:anywhere}
.quest-option input{accent-color:#0874ef;width:18px;height:18px;flex:0 0 18px;margin:0}
.quest-option:has(input:checked:enabled){border-color:#0874ef;background:#f2f7ff}.quest-option:has(input:focus-visible){outline:3px solid #0874ef;outline-offset:3px}
.quest-option-letter{font-size:13px;font-weight:700;color:#43566a}
.quest-option.is-correct{background:#eef8f2;border-color:#35835a}.quest-option.is-incorrect{background:#fff8f7;border-color:#ac4750}
.quest-option-status{font-size:12px;flex-basis:100%;padding-inline-start:30px;color:#17613c}
.quest-play fieldset:disabled .quest-option{cursor:default;opacity:1;color:#31485b}
.quest-feedback{margin-top:26px;border-inline-start:3px solid #35835a;background:#f1f9f4;padding:22px;scroll-margin-top:155px}
.quest-feedback.is-incorrect{border-color:#ac4750;background:#fff8f7}.quest-feedback h3{margin:0 0 8px}.quest-feedback h4{font-size:16px;margin:20px 0 6px}.quest-feedback p{margin:8px 0}
.quest-feedback .quest-source-date{font-size:12px;color:#62788a}.quest-feedback .btn{margin-top:18px}
.quest-feedback-links{display:flex;gap:12px 24px;flex-wrap:wrap;margin-top:14px}.quest-feedback-links a{display:inline-flex;align-items:center;gap:5px;min-height:44px}
.quest-feedback .quest-reward{font-weight:600;color:#17613c}
.quest-exit{display:inline-flex;min-height:44px;align-items:center;margin-top:18px}
.quest-results{border:1px solid #d5e6f1;padding:32px;background:#fff}
.quest-results .quest-score{font-size:30px;font-weight:750;color:#153b5b;margin:0 0 22px}
.quest-result-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0 0 24px}.quest-result-metrics dd{font-size:27px;font-weight:700;margin:5px 0;color:#0864ad}
.quest-celebration p{padding:10px 14px;background:#eef8f2;color:#17613c;font-weight:600;animation:quest-appear .3s ease both}
.quest-upgrade-dialog{position:fixed;inset:0;margin:auto;width:min(460px,calc(100% - 28px));max-width:460px;max-height:calc(100dvh - 28px);padding:28px 30px 26px;border:1px solid #e3ca85;border-radius:24px;background:radial-gradient(ellipse at 50% 35%,#fff1c9 0,#fffdf7 52%,#fff 100%);color:#153b5b;box-shadow:0 24px 100px #061b4070;overflow:auto;text-align:center;isolation:isolate}
.quest-upgrade-dialog::backdrop{background:#06172bc4;backdrop-filter:blur(6px)}
.quest-upgrade-dialog[open]{animation:quest-upgrade-enter .3s ease-out both}
body:has(#quest-upgrade-dialog[open]){overflow:hidden}
.quest-upgrade-content{position:relative}
.quest-upgrade-close{position:absolute;inset-block-start:5px;inset-inline-end:5px;z-index:3;width:44px;height:44px;border-radius:50%;font-size:28px;color:#617083;display:grid;place-items:center;line-height:1}
.quest-upgrade-close:hover{background:#153b5b0b}
.quest-upgrade-dialog .quest-upgrade-eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#8b651a;margin:0 0 10px}
.quest-upgrade-dialog h2{font-size:clamp(27px,5vw,34px);line-height:1.3;color:#153b5b;margin:0 0 16px;text-wrap:balance}
.quest-upgrade-art{position:relative;width:min(200px,44vw,26vh);margin:0 auto 12px;isolation:isolate;mix-blend-mode:multiply}
.quest-upgrade-art::before{content:'';position:absolute;inset:-12%;border-radius:50%;background:#efbf43;filter:blur(22px);opacity:0;z-index:-1}
.quest-upgrade-dialog[open] .quest-upgrade-art::before{animation:quest-upgrade-glow 1.6s ease-out both}
.quest-upgrade-art .quest-level-art{background:transparent;mix-blend-mode:multiply}
.quest-upgrade-dialog[open] .quest-upgrade-art{animation:quest-upgrade-badge 1s cubic-bezier(.18,.8,.3,1) both}
.quest-upgrade-dialog .quest-upgrade-rank{margin:0 0 9px;color:#153b5b;line-height:1.4}
.quest-upgrade-rank>bdi{display:block;font-weight:750;font-size:17px;color:#8b651a;margin-bottom:4px}
.quest-upgrade-rank strong{display:block;font-size:25px;line-height:1.4;text-wrap:balance}
.quest-upgrade-dialog #quest-upgrade-description{font-size:14px;line-height:1.7;margin:0 0 10px}
.quest-upgrade-dialog .quest-upgrade-xp{font-size:14px;margin:0 0 18px;color:#43566a}
.quest-upgrade-xp bdi{font-size:20px;font-weight:750;color:#0864ad;white-space:nowrap;margin-inline-start:6px}
.quest-upgrade-dialog #quest-collect-badge{width:100%;min-height:48px;font-size:16px;border-radius:10px}
.quest-upgrade-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:inherit;z-index:2}
.quest-upgrade-confetti span{position:absolute;left:var(--left);top:-20px;width:7px;height:13px;background:#e3ad25;opacity:0;border-radius:2px}
.quest-upgrade-confetti span:nth-child(3n){background:#0874ef}.quest-upgrade-confetti span:nth-child(3n + 1){background:#71b7df}
.quest-upgrade-dialog[open] .quest-upgrade-confetti span{animation:quest-upgrade-confetti 1.8s ease-out both;animation-delay:var(--delay)}
@keyframes quest-upgrade-enter{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}
@keyframes quest-upgrade-badge{0%{opacity:0;transform:scale(.22)}65%{opacity:1;transform:scale(1.08)}100%{opacity:1;transform:scale(1)}}
@keyframes quest-upgrade-glow{0%{opacity:0;transform:scale(.6)}35%{opacity:.7;transform:scale(1.15)}100%{opacity:0;transform:scale(1.3)}}
@keyframes quest-upgrade-confetti{0%{opacity:0;transform:translate3d(0,0,0) rotate(0)}10%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translate3d(var(--drift),440px,0) rotate(540deg)}}
@media(max-width:480px){.quest-upgrade-dialog{padding:25px 22px 22px}.quest-upgrade-rank strong{font-size:22px}}
@media(max-height:700px){.quest-upgrade-dialog{padding-block:22px 20px}.quest-upgrade-dialog h2{font-size:28px;margin-bottom:12px}.quest-upgrade-art{width:min(160px,40vw,24vh)}.quest-upgrade-rank strong{font-size:22px}.quest-upgrade-dialog .quest-upgrade-xp{margin-bottom:12px}}
.quest-topic-progress{padding:18px 0 32px}.quest-topic-progress>div{display:flex;justify-content:space-between;gap:10px 20px;padding:17px 0;border-bottom:1px solid #e1e8ef;flex-wrap:wrap;font-size:14px}.quest-topic-progress a{font-weight:600;min-width:180px}
.quest-reset{margin:28px 0;padding-top:20px;border-top:1px solid #dfe7ed}.quest-reset .btn{color:#a52d34}
.quest-guide-entry{display:flex;align-items:center;gap:20px;margin:20px 48px 38px;padding:24px;border:1px solid #d5e6f1;background:#f5f9ff}.quest-guide-entry>div{flex:1}.quest-guide-entry h2{font-size:21px;margin:0 0 6px}.quest-guide-entry p{font-size:14px;line-height:1.8;color:#43566a;margin:0}.quest-guide-entry .topic-icon{flex-shrink:0}
.shopping-layout .quest-guide-entry{margin:32px 0 0}
/* A fourth navigation item uses two header rows before space becomes cramped. */
@media(min-width:981px) and (max-width:1350px){.header-inner:has(a[href="#quest"]){grid-template-columns:1fr auto auto;row-gap:0}.site-header .navigation:has(a[href="#quest"]){grid-column:1/3;grid-row:2;margin-inline-start:0;gap:24px}.header-inner:has(a[href="#quest"]) .nav-item{min-height:52px}.header-inner:has(a[href="#quest"]) .nav-item.active:after{bottom:4px}.header-inner:has(a[href="#quest"]) .top-actions{grid-column:2;grid-row:1}.header-inner:has(a[href="#quest"]) .header-account{grid-column:3;grid-row:1}}
@media(max-width:980px){.quest-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quest-guide-entry{margin-inline:30px;flex-wrap:wrap}.quest-page .btn{max-width:100%}}
@media(max-width:800px){.quest-level-card{grid-template-columns:150px minmax(0,1fr)}.quest-level-progress{grid-column:1/-1}.quest-level-collection{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.quest-page{padding-top:2px}.quest-page-heading{margin-bottom:24px}.quest-page-heading .quest-subtitle{font-size:18px}.quest-page p{font-size:14px}.quest-page h2{font-size:22px}.quest-topic-grid{grid-template-columns:1fr}.quest-topic-card{padding:22px}.quest-level-card{padding:21px;grid-template-columns:1fr;gap:16px}.quest-metrics{gap:14px;grid-template-columns:1fr}.quest-metrics>div{display:flex;justify-content:space-between;align-items:center;gap:14px}.quest-metrics dd{font-size:21px;margin:0}.quest-resume{align-items:flex-start;flex-direction:column;padding:18px}.quest-play{padding:20px}.quest-play legend{font-size:21px}.quest-option{padding:14px;gap:9px;font-size:15px}.quest-option>span:nth-of-type(2){min-width:100px}.quest-feedback{padding:18px;scroll-margin-top:125px}.quest-question-meta{gap:8px 14px;font-size:12px}.quest-result-metrics{grid-template-columns:1fr;gap:15px}.quest-result-metrics>div{display:flex;justify-content:space-between;align-items:center;gap:12px}.quest-result-metrics dd{font-size:23px;margin:0}.quest-results{padding:22px}.quest-results .quest-score{font-size:26px}.quest-actions .btn{width:100%}.quest-guide-entry{margin:18px 20px 28px;padding:20px;display:block}.quest-guide-entry>.topic-icon{display:none}.quest-guide-entry .btn{margin-top:16px;width:100%}.mobile-nav a[href="#quest"]{font-size:10px}}
@media(max-width:640px){.quest-welcome .quest-page-heading{padding:18px 20px 10px}.quest-current-level-art{width:172px;max-width:100%;justify-self:center}.quest-level-description{text-align:center}.quest-level-description .eyebrow{justify-content:center}.quest-level-collection{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quest-level-reward{padding:12px 8px}.quest-level-reward h3{font-size:15px}.quest-level-reward .quest-level-threshold{font-size:12px}.quest-level-reward .quest-level-state{font-size:12px}}
@media(prefers-reduced-motion:reduce){.quest-progress span{transition:none}.quest-celebration p{animation:none}}
@media(prefers-reduced-motion:reduce){.quest-upgrade-dialog[open],.quest-upgrade-dialog[open] .quest-upgrade-art,.quest-upgrade-dialog[open] .quest-upgrade-confetti span,.quest-upgrade-dialog[open] .quest-upgrade-art::before{animation:none}.quest-upgrade-art::before{opacity:.2}.quest-upgrade-confetti{display:none}}
@keyframes quest-appear{from{opacity:.3;transform:translateY(3px)}to{opacity:1;transform:none}}
@media print{.quest-page .btn,.quest-page dialog,.quest-reset{display:none}.quest-level-card,.quest-topic-card,.quest-play{break-inside:avoid}.quest-topic-grid{display:block}}

.quest-level-progress .quest-mastery-status{font-size:13px;line-height:1.75;color:#43566a}
.quest-level-reward .quest-level-requirement{font-size:12px;line-height:1.75;margin:6px 0;color:#627080}
