:root{font-family:Arial,'Helvetica Neue',sans-serif;color:#1e2937;background:#f5f7fa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--red:#e60012;--red-dark:#c90010;--ink:#202d3d;--muted:#778392;--line:#e7eaf0;--green:#1f9e68;--panel:#fff}
*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(ellipse at 12% 100%,rgba(226,232,240,.36),transparent 42%),#f5f7fa}button,input{font:inherit}.page-shell{max-width:1480px;min-height:100vh;margin:auto;padding:0 6.2vw;display:flex;flex-direction:column}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(207,214,223,.65)}.brand{display:inline-flex;align-items:center}.brand img{width:142px;height:auto;display:block}.event-tag{display:flex;align-items:center;gap:9px;color:#728092;font-size:10px;font-weight:700;letter-spacing:.15em}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px rgba(230,0,18,.09)}.main-content{flex:1;display:grid;grid-template-columns:minmax(310px,.88fr) minmax(460px,1.12fr);gap:clamp(40px,8vw,132px);align-items:center;padding:44px 0 36px}.intro-rail{height:100%;min-height:530px;max-height:690px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.eyebrow,.card-kicker{font-size:10px;letter-spacing:.16em;font-weight:700;color:#7a8795}.eyebrow{display:flex;align-items:center;gap:10px}.sun-mark{font-size:19px;color:var(--red);line-height:1}.intro-rail h1,.screen h2{font-family:Manrope,'DM Sans',sans-serif;letter-spacing:-.055em}.intro-rail h1{font-size:clamp(42px,5.2vw,72px);line-height:1.06;margin:24px 0 17px;font-weight:700;color:var(--ink)}.intro-rail h1 span{color:var(--red)}.intro-copy,.screen-copy{font-size:14px;color:#778392;line-height:1.75;margin:0}.intro-copy{max-width:310px}.rail-art{height:206px;max-width:410px;margin:27px 0 17px;position:relative;overflow:hidden;border-radius:4px;background:linear-gradient(112deg,#f0f2f5 0%,#e7ebf0 48%,#f2f4f6 100%)}.rail-art:before,.rail-art:after{content:"";position:absolute;width:220px;height:84px;left:34px;bottom:-36px;border:1px solid rgba(230,0,18,.2);border-radius:50%;transform:rotate(-16deg)}.rail-art:after{width:294px;left:1px;bottom:-57px;border-color:rgba(230,0,18,.12)}.orbit{position:absolute;border:1px solid rgba(219,0,18,.27);border-radius:50%;width:155px;height:155px;top:12px;left:90px;transform:rotate(-24deg) scaleY(.48)}.orbit-two{width:208px;height:208px;top:-18px;left:62px;opacity:.55}.sun-core{position:absolute;width:62px;height:62px;border-radius:50%;top:45px;left:137px;background:radial-gradient(circle at 35% 35%,#ffbbc0 0%,#ed3440 45%,#c60011 100%);box-shadow:0 10px 36px rgba(230,0,18,.22)}.art-leaf{position:absolute;width:17px;height:51px;border:1px solid rgba(31,158,104,.56);border-radius:100% 0 100% 0;transform:rotate(35deg);top:30px;left:203px}.leaf-two{width:13px;height:42px;top:72px;left:89px;transform:rotate(-45deg)}.art-spark{position:absolute;color:var(--red);font-size:22px;top:38px;right:86px}.spark-two{top:106px;right:129px;color:#4f967a;font-size:17px}.art-caption{position:absolute;right:27px;bottom:24px;font-size:9px;color:#7b8795;line-height:1.5;letter-spacing:.17em}.art-caption b{color:#2b3947;font-weight:700}.rail-footer{display:flex;align-items:center;gap:12px;color:#8a95a2;font-size:9px;letter-spacing:.14em}.rail-footer span:first-child{color:var(--red);font-weight:700}.rail-line{height:1px;width:44px;background:#cbd2db}.quiz-panel{position:relative;background:var(--panel);min-height:600px;padding:36px clamp(30px,4vw,58px) 0;display:flex;flex-direction:column;box-shadow:0 20px 70px rgba(35,49,67,.075);border:1px solid rgba(222,227,234,.9);border-radius:5px;overflow:hidden}.quiz-panel:before{content:"";height:4px;position:absolute;left:0;right:0;top:0;background:linear-gradient(90deg,var(--red) 0%,#f4505b 48%,#f6b4b9 100%)}.panel-topline{min-height:25px;display:flex;align-items:center;justify-content:space-between}.step-label{color:#7a8795;font-size:9px;font-weight:700;letter-spacing:.17em}.score-chip{display:flex;align-items:center;gap:7px;color:var(--ink);font-size:13px}.score-chip small{font-size:8px;letter-spacing:.12em;color:#8993a0}.score-star{font-size:17px;color:var(--red)}.progress-wrap{margin:18px 0 2px}.progress-meta{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.12em;color:#8993a0;font-weight:700}.progress-track{height:4px;background:#edf0f3;border-radius:8px;margin-top:10px;overflow:hidden}.progress-fill{width:0;height:100%;border-radius:8px;background:linear-gradient(90deg,var(--red),#ff6971);transition:width .45s cubic-bezier(.2,.7,.2,1)}.screen{padding:36px 0 23px;animation:appear .36s ease both;flex:1}.hidden{display:none!important}.card-kicker{display:flex;align-items:center;gap:8px;font-size:9px}.kicker-dot{width:6px;height:6px;background:var(--red);border-radius:50%}.screen h2{color:var(--ink);font-size:clamp(32px,3.3vw,43px);line-height:1.14;font-weight:700;margin:19px 0 8px}.screen-copy{font-size:12px;margin-bottom:26px}.field-label{display:block;font-size:10px;color:#485566;font-weight:700;margin-bottom:8px}.screen input[type=text],.screen input[type=tel]{display:block;width:100%;height:46px;border:1px solid #e2e6ec;border-radius:3px;padding:0 14px;color:#263443;background:#fff;outline:none;font-size:12px;transition:border-color .2s,box-shadow .2s}.screen input::placeholder{color:#a7afb9}.screen input:focus{border-color:#e45c66;box-shadow:0 0 0 3px rgba(230,0,18,.08)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:17px}.field-group{min-width:0}.consent-line{display:flex;align-items:flex-start;gap:9px;margin:19px 0 7px;color:#7d8894;font-size:10px;line-height:1.55}.consent-line input{accent-color:var(--red);margin:1px 0 0;width:13px;height:13px;flex:0 0 auto}.form-error{min-height:14px;color:var(--red);font-size:10px;margin:3px 0 6px}.primary-button{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;min-height:49px;padding:0 18px;border:0;border-radius:3px;background:var(--red);color:white;font-size:11px;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s}.primary-button:hover{background:var(--red-dark);box-shadow:0 6px 18px rgba(230,0,18,.2);transform:translateY(-1px)}.primary-button:active{transform:translateY(0)}.button-arrow{font-size:20px;font-weight:400;line-height:1}.privacy-note{display:flex;justify-content:center;align-items:center;gap:7px;margin:17px 0 0;color:#9aa3ad;font-size:9px}.lock-icon{font-size:12px;color:#879593}.panel-footer{height:57px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf0f3;color:#a2aab3;font-size:8px;letter-spacing:.13em;font-weight:700;margin-top:auto}.footer-spark{font-size:14px;color:var(--red);vertical-align:middle;margin-left:5px}.export-button,.text-button{border:0;background:transparent;color:#8b95a0;font-size:9px;cursor:pointer;padding:8px}.export-button:hover,.text-button:hover{color:var(--red)}.export-button span{margin-left:4px;color:var(--red)}.question-screen{padding-top:31px}.question-number{color:var(--red);font-size:9px;font-weight:700;letter-spacing:.16em;margin-top:29px}.screen h2.question-title{font-size:clamp(23px,2.45vw,31px);letter-spacing:-.04em;line-height:1.27;margin:12px 0 23px;max-width:550px}.answer-list{display:grid;gap:9px}.answer-option{display:flex;align-items:center;text-align:left;gap:12px;min-height:48px;padding:8px 13px;background:#fff;border:1px solid #e5e9ee;border-radius:3px;color:#465363;font-size:11px;line-height:1.45;cursor:pointer;transition:border-color .16s,background .16s,color .16s,transform .16s}.answer-option:hover:not(:disabled){border-color:#ed959b;background:#fffafb;transform:translateX(2px)}.answer-option:disabled{cursor:default}.answer-key{display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;background:#f2f4f6;border-radius:2px;color:#75808c;font-size:9px;font-weight:700}.answer-option.correct{border-color:#7cc9a3;background:#f2fbf6;color:#285b42}.answer-option.correct .answer-key{background:#d9f2e4;color:#198256}.answer-option.incorrect{border-color:#f1adb1;background:#fff5f5;color:#8e3d42}.answer-option.incorrect .answer-key{background:#ffe1e2;color:#c84049}.answer-option.dimmed{opacity:.55}.answer-feedback{display:flex;gap:9px;align-items:flex-start;margin-top:13px;padding:10px 12px;border-left:2px solid var(--green);background:#f5fbf7;color:#52685d;font-size:10px;line-height:1.55;animation:appear .2s ease}.answer-feedback.wrong{border-color:var(--red);background:#fff8f8;color:#73585a}.feedback-icon{font-weight:700;color:var(--green)}.wrong .feedback-icon{color:var(--red)}.question-actions{display:flex;align-items:center;justify-content:space-between;margin-top:19px;gap:14px}.keyboard-hint{color:#9ba4ae;font-size:9px}.next-button{width:auto;min-width:160px;min-height:43px;padding:0 14px;font-size:10px}.result-screen{text-align:center;padding-top:26px}.result-screen .card-kicker{justify-content:center}.result-screen h2{font-size:clamp(31px,3.2vw,41px);margin:15px 0 7px}.red-period{color:var(--red)}.result-screen .screen-copy{margin:0 auto 16px}.result-icon{position:relative;width:66px;height:66px;margin:0 auto 16px;display:grid;place-items:center;border-radius:50%;background:#fff0f0;color:var(--red);font-size:27px;box-shadow:0 0 0 8px #fff7f7;animation:pop .7s cubic-bezier(.2,.8,.2,1) both}.result-icon:before,.result-icon:after{content:'✦';position:absolute;font-size:13px;color:#f3a80b;animation:twinkle 1.5s ease-in-out infinite alternate}.result-icon:before{top:-7px;right:-10px}.result-icon:after{bottom:2px;left:-13px;animation-delay:.45s}.final-score{position:relative;width:112px;height:112px;margin:4px auto 18px;border-radius:50%;display:flex;align-items:baseline;justify-content:center;padding-top:30px;background:linear-gradient(135deg,#fff 25%,#fff5f5);border:1px solid #f2d5d7;box-shadow:inset 0 0 0 6px #fff,0 0 0 1px #fff}.final-score strong{font-family:Manrope,sans-serif;font-size:41px;letter-spacing:-.08em;color:var(--red);line-height:1}.final-score span{font-size:13px;color:#9ba4ae;margin-left:3px}.final-score small{position:absolute;bottom:22px;left:0;right:0;font-size:7px;font-weight:700;letter-spacing:.13em;color:#8c96a2}.result-actions{max-width:300px;margin:0 auto}.text-button{display:block;margin:5px auto 0}.save-status{min-height:14px;margin-top:3px;font-size:9px;color:#8c96a2}.bottom-note{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(207,214,223,.65);padding:17px 0 21px;color:#9aa3ad;font-size:8px;font-weight:700;letter-spacing:.14em}.bottom-note span:first-child{color:var(--red)}.celebration-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:5}.form-shake{animation:shake .3s ease}.hidden+*{ }@keyframes appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.12)}100%{transform:scale(1);opacity:1}}@keyframes twinkle{from{transform:scale(.7) rotate(0);opacity:.45}to{transform:scale(1.2) rotate(25deg);opacity:1}}@keyframes shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
@media(max-width:980px){.page-shell{padding:0 4vw}.main-content{gap:36px;grid-template-columns:minmax(250px,.8fr) minmax(420px,1.2fr)}.intro-rail h1{font-size:50px}.quiz-panel{padding-left:32px;padding-right:32px}.rail-art{height:175px}}
@media(max-width:760px){.page-shell{padding:0 21px}.topbar{height:70px}.brand img{width:126px}.event-tag{font-size:8px}.main-content{display:block;padding:29px 0 24px}.intro-rail{height:auto;min-height:0;max-height:none;display:block;overflow:visible}.intro-rail h1{font-size:40px;margin:15px 0 8px}.intro-copy{font-size:12px;max-width:none}.rail-art{display:none}.rail-footer{display:none}.quiz-panel{min-height:560px;margin-top:24px;padding:26px 23px 0}.screen{padding-top:29px}.screen h2{font-size:34px}.field-row{gap:10px}.screen input[type=text],.screen input[type=tel]{height:44px;padding:0 10px}.question-number{margin-top:22px}.screen h2.question-title{font-size:24px}.answer-option{min-height:46px}.result-screen{padding-top:22px}.result-screen h2{font-size:34px}.bottom-note{padding:13px 0 17px;font-size:7px}.bottom-note span:nth-child(2){max-width:150px;text-align:center;line-height:1.5}}
@media(max-width:390px){.page-shell{padding:0 14px}.quiz-panel{padding-left:18px;padding-right:18px}.field-row{grid-template-columns:1fr}.field-row .field-group+ .field-group{margin-top:3px}.consent-line{margin-top:13px}.screen h2{font-size:31px}.question-actions{align-items:flex-end}.keyboard-hint{max-width:110px;line-height:1.4}.next-button{min-width:148px}.bottom-note span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Expo quiz refinements */
.screen input::placeholder{color:transparent}
.answer-option{min-height:58px;font-size:15px;font-weight:700;color:#344252;padding:10px 15px}
.answer-key{width:30px;height:30px;flex-basis:30px;font-size:11px}
.question-actions{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px}
.keyboard-hint{text-align:center}
.back-button{min-height:43px;padding:0 13px;border:1px solid #e2e6ec;border-radius:3px;background:#fff;color:#536171;font-size:11px;font-weight:700;cursor:pointer;transition:border-color .2s,color .2s,background .2s}
.back-button span{font-size:16px;margin-right:5px;vertical-align:-1px}
.back-button:hover{border-color:#e60012;color:#c90010;background:#fffafb}
.final-score{width:158px;height:158px;margin:11px auto 20px;padding-top:39px}
.final-score strong{font-family:Arial,'Helvetica Neue',sans-serif;font-size:74px;font-weight:800;letter-spacing:-.08em}
.final-score span{font-size:18px;font-weight:700;color:#8993a0}
.final-score small{bottom:30px;font-size:8px}
.result-actions{max-width:320px;margin:0 auto}
.result-screen .text-button{font-size:10px;margin-top:7px}
.text-button span{margin-left:4px;color:#e60012;font-size:14px}
@media(max-width:760px){.answer-option{min-height:54px;font-size:14px}.question-actions{grid-template-columns:auto 1fr auto;gap:8px}.keyboard-hint{display:none}.back-button{padding:0 10px}.final-score{width:148px;height:148px;padding-top:36px}.final-score strong{font-size:68px}.final-score small{bottom:28px}}

/* Keep the kiosk card centered with or without the optional side rail. */
.main-content{display:flex;justify-content:center;align-items:center}
.quiz-panel{width:min(100%,680px)}
.celebration-canvas{z-index:50;display:block;visibility:visible;opacity:1}
.field-error{min-height:0;margin:5px 0 0;color:#c90010;font-size:10px;line-height:1.35}
.screen input.invalid{border-color:#e60012;background:#fffafb}
.screen input.invalid:focus{box-shadow:0 0 0 3px rgba(230,0,18,.1)}
.screen select{display:block;width:100%;height:46px;border:1px solid #e2e6ec;border-radius:3px;padding:0 14px;color:#263443;background:#fff;outline:none;font:inherit;transition:border-color .18s ease,box-shadow .18s ease}
.screen input:focus,.screen select:focus{border-color:#e60012;box-shadow:0 0 0 3px rgba(230,0,18,.08)}
.screen select.invalid{border-color:#e60012;background:#fffafb}
.screen select.invalid:focus{box-shadow:0 0 0 3px rgba(230,0,18,.1)}
