/* One persistent stage carries the faerie from white wings to the final reveal. */
#quiz-dialog{width:min(1160px,calc(100% - 32px));max-height:94dvh;padding:22px 28px 28px;background:linear-gradient(110deg,#091b29ab,#091e29d9),url('/assets/aethera-first-view.png') center/cover;border-color:#d3bd827d;overflow-x:hidden}
#quiz-dialog::backdrop{background:#020d16bd;backdrop-filter:blur(6px)}
.dialog-top{margin-bottom:12px}.dialog-top .eyebrow{letter-spacing:.32em}.close-button{min-width:44px;min-height:44px}
.awakening-layout{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}
.awakening-content{padding:26px 26px 22px;background:#071b28d9;border:1px solid #d3bc7d36;border-radius:8px;box-shadow:0 15px 60px #0003;min-width:0}
.awakening-content h2{font-size:38px}.awakening-content p{font-size:14px}.awakening-content .eyebrow{font-size:9px}.awakening-content legend{font-size:27px}.awakening-content progress{margin-bottom:22px}.awakening-content .quiz-option{font-size:13px;padding:12px;line-height:1.6;background:#142d3b85}
#platform-stage,#enclosing-stage{text-align:center}#platform-stage .gold-button{margin-top:18px}#appearance-choice{margin:25px auto 6px;max-width:270px}#appearance-choice label{display:block;margin-bottom:8px}#faerie-style{width:100%;padding:11px 13px;border:1px solid #bcab806e;border-radius:4px;background:#102733;color:#f4eddf;font:14px Arial}#faerie-style:focus-visible{outline:2px solid #ead3a1;outline-offset:3px}
.awakening-scene{--awakening-color:#f8f4df;--awakening-second:#f8f4df;position:relative;text-align:center;min-width:0;align-self:start;isolation:isolate;padding:12px 0 0}
.faction-sign{position:relative;z-index:3;min-height:42px;display:flex;align-items:center;justify-content:center;max-width:440px;margin:0 auto 8px;padding:10px 18px;border-top:1px solid #dfc88a6b;border-bottom:1px solid #dfc88a6b;background:linear-gradient(90deg,transparent,#142835d1,transparent);font:13px/1.5 Georgia,serif;letter-spacing:.2em;color:#f7e8c5;text-transform:uppercase;text-shadow:0 0 22px #ebce9b}
.faerie-theatre{position:relative;width:100%;height:430px;max-width:480px;margin:auto}
.faerie-figure{position:absolute;aspect-ratio:2/3;height:96%;left:50%;top:0;transform:translateX(-50%);isolation:isolate;transition:filter 1.4s ease,opacity 1.4s ease;filter:drop-shadow(0 0 10px #e5eefe26);transform-origin:50% 90%}
.faerie-figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.faerie-wings{z-index:0;transform:scaleX(1.2);transition:opacity 1.3s ease}
.colored-wings{filter:url(#wing-palette);opacity:0}
.faerie-body{z-index:1;filter:none}
.color-filters{position:absolute;pointer-events:none}
.white-platform{position:absolute;left:12%;bottom:0;width:76%;height:43px;border-radius:50%;background:radial-gradient(ellipse at 50% 25%,#fff 0,#e5ebed 35%,#b7cad5 64%,#4f6471 70%,#e5ecf3 73%,#7b919c 83%);box-shadow:0 8px 0 #8599a8,0 10px 20px #0007,0 0 38px #cde8ff5e;transition:box-shadow 1.8s}
.scene-caption{font:italic 14px/1.7 Georgia,serif!important;color:#e2e8e4;margin:27px 10px 10px;min-height:25px;text-shadow:0 2px 8px #000}
.awakening-bubble{position:absolute;left:3%;top:-2%;width:94%;height:105%;border-radius:50%;opacity:0;transform:scale(.02);transform-origin:50% 96%;background:radial-gradient(ellipse at 28% 22%,#ecf8ff75,transparent 28%),radial-gradient(ellipse at 65% 70%,#b7a5f630,transparent 58%),radial-gradient(ellipse,#c2e5ee33 40%,#d5e9f670 76%,#d6f9ffb3 96%);border:1px solid #dff6ffc9;box-shadow:inset -14px -12px 30px #d0a4f94d,inset 12px 8px 30px #befaff5e,0 0 40px #bedfff24;transition:transform 2s cubic-bezier(.2,.8,.2,1),opacity 1.4s;overflow:hidden;pointer-events:none}
.awakening-bubble:before{content:'';position:absolute;inset:8%;border-radius:50%;border-left:3px solid #edffff7d;transform:rotate(22deg);filter:blur(2px)}
.awakening-bubble:after{content:'';position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent,#bed8ff40,transparent,#f1d4ff35,transparent);animation:cloud-turn 15s linear infinite}
.awakening-bubble i{position:absolute;inset:9% 1%;border:1px solid #e6ecff45;border-radius:50%;transform:rotate(-20deg)}.awakening-bubble i:nth-child(2){inset:2% 8%;transform:rotate(32deg)}.awakening-bubble i:nth-child(3){inset:12% -5%;transform:rotate(70deg)}
.thread-ray{position:absolute;z-index:3;top:-15px;left:50%;width:2px;height:60%;background:linear-gradient(transparent,#fff2cf 20%,#f1d28d);box-shadow:0 0 12px #e8d098;transform:scaleY(0);transform-origin:top;transition:transform 1.5s ease;opacity:0}
.bubble-burst{position:absolute;inset:-3%;border:3px solid #eaffff;border-radius:50%;opacity:0;pointer-events:none}
.reveal-sparks{position:absolute;inset:0;pointer-events:none;opacity:0}.reveal-sparks i{position:absolute;left:50%;top:45%;width:4px;height:4px;background:var(--awakening-color);border-radius:50%;box-shadow:0 0 9px var(--awakening-second);--angle:calc(var(--i)*20deg);transform:rotate(var(--angle)) translateY(-40px)}
.hall-stars{position:absolute;inset:0;z-index:-1;opacity:.7;background-image:radial-gradient(circle at 15% 35%,#fff4ce 1px,transparent 2px),radial-gradient(circle at 84% 29%,#b7ffff 1px,transparent 2px),radial-gradient(circle at 10% 66%,#f4e2b5 1px,transparent 2px),radial-gradient(circle at 89% 71%,#fff7ce 1px,transparent 2px);background-size:100% 100%}
.congratulations-banner{margin:20px 0 0;padding:17px 20px;border:1px solid color-mix(in srgb,var(--awakening-color),#fff 25%);border-radius:3px;background:linear-gradient(120deg,#112936ed,#071924ed);box-shadow:0 5px 30px #0003}
.congratulations-banner span{font:9px Arial;letter-spacing:.27em;color:#dcc797}.congratulations-banner p{font:22px/1.5 Georgia!important;color:#faf1dc;margin:8px 0 0;overflow-wrap:anywhere}
.awakening-scene:is([data-phase="enclosing"],[data-phase="cocoon"],[data-phase="waiting"],[data-phase="thread"],[data-phase="charging"],[data-phase="charged"]) .awakening-bubble{opacity:1;transform:scale(1)}
.awakening-scene:is([data-phase="enclosing"],[data-phase="cocoon"],[data-phase="waiting"],[data-phase="thread"]) .faerie-figure{filter:brightness(.14) blur(1px);opacity:.75}
.awakening-scene:is([data-phase="waiting"],[data-phase="thread"]) .thread-ray{opacity:1;transform:scaleY(1)}
.awakening-scene:is([data-phase="charging"],[data-phase="charged"]) .faerie-figure{filter:brightness(.35) blur(1px)}
.awakening-scene:is([data-phase="charging"],[data-phase="charged"]) .awakening-bubble{background:radial-gradient(ellipse at 30% 40%,color-mix(in srgb,var(--awakening-color),transparent 25%),transparent 75%),radial-gradient(ellipse at 70% 60%,var(--awakening-second),#daeaff4d);box-shadow:inset 0 0 40px #fff9,0 0 65px color-mix(in srgb,var(--awakening-color),transparent 35%);animation:light-gathers 1.5s ease-in-out infinite}
.awakening-scene[data-phase="charged"] .awakening-bubble{animation:light-gathers .8s ease-in-out infinite;filter:brightness(1.2)}
.awakening-scene:is([data-phase="popping"],[data-phase="revealed"]) .colored-wings{opacity:1}
.awakening-scene:is([data-phase="popping"],[data-phase="revealed"]) .white-wings{opacity:0}
.awakening-scene:is([data-phase="popping"],[data-phase="revealed"]) .faerie-figure{filter:drop-shadow(0 0 22px color-mix(in srgb,var(--awakening-color),transparent 55%))}
.awakening-scene[data-phase="popping"] .awakening-bubble{animation:release-light .9s ease-out forwards;transition:none}
.awakening-scene[data-phase="popping"] .bubble-burst{animation:pop-ring 1s ease-out forwards}
.awakening-scene[data-phase="popping"] .reveal-sparks{opacity:1}.awakening-scene[data-phase="popping"] .reveal-sparks i{animation:scatter-light 1.7s ease-out forwards}
.awakening-scene:is([data-phase="popping"],[data-phase="revealed"]) .white-platform{box-shadow:0 8px 0 #899eac,0 10px 25px #0007,0 0 60px var(--awakening-color),inset 0 0 30px var(--awakening-color)}
.awakening-scene[data-phase="revealed"] .faction-sign{font-size:18px;letter-spacing:.1em;border-color:color-mix(in srgb,var(--awakening-color),#fff 30%);color:#fff3d7}
#result-stage .result-person{font-size:19px}#result-stage #result-faction{font-size:38px}#result-stage #result-gift{font-size:25px}#result-stage .result-color{font-size:10px}#result-stage .result-power p{font-size:13px}#result-stage blockquote{font-size:20px}.result-actions{border-top:1px solid #c8b58530;margin-top:22px}
@keyframes cloud-turn{to{transform:rotate(360deg)}}@keyframes light-gathers{50%{filter:brightness(1.25);transform:scale(1.018)}}@keyframes release-light{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.23)}}@keyframes pop-ring{0%{opacity:.8;transform:scale(.95)}100%{opacity:0;transform:scale(1.3)}}@keyframes scatter-light{to{transform:rotate(var(--angle)) translateY(-240px);opacity:0}}
@media(min-width:850px){#quiz-dialog[data-stage="result"] .awakening-scene{position:sticky;top:0}#quiz-dialog[data-stage="result"] .faerie-theatre{height:330px;max-width:370px}#quiz-dialog[data-stage="result"] .scene-caption{margin-top:18px}#quiz-dialog[data-stage="result"] .congratulations-banner{padding:12px 17px;margin-top:12px}#quiz-dialog[data-stage="result"] .congratulations-banner p{font-size:20px!important}.awakening-content{margin:12px 0}.awakening-content .quiz-option{padding:10px 12px;margin-bottom:8px}.awakening-content legend{margin-bottom:20px}}
@media(max-width:849px){#quiz-dialog{padding:12px 18px 20px;width:calc(100% - 18px);max-height:96dvh}.awakening-layout{grid-template-columns:1fr;gap:15px}.dialog-top{margin:0}.awakening-scene{padding-top:0;width:100%}.faerie-theatre{height:330px;max-width:350px}.faction-sign{max-width:350px;font-size:11px;min-height:34px;padding:6px 10px;margin-bottom:5px}.scene-caption{margin-top:20px;margin-bottom:0}.awakening-content{padding:22px 20px}.awakening-content h2{font-size:30px}.awakening-content legend{font-size:24px}.awakening-content .quiz-option{font-size:13px}.congratulations-banner{max-width:450px;margin:15px auto 0}.congratulations-banner p{font-size:20px!important}#quiz-dialog[data-stage="quiz"] .faerie-theatre{height:170px;max-width:185px}#quiz-dialog[data-stage="quiz"] .scene-caption{display:none}#quiz-dialog[data-stage="quiz"] .faction-sign{font-size:9px;min-height:25px;border:0}#quiz-dialog[data-stage="quiz"] .white-platform{height:20px}#quiz-dialog[data-stage="quiz"] .awakening-content{margin-top:5px}#quiz-dialog[data-stage="quiz"] .awakening-scene{margin-bottom:8px}.quiz-actions .gold-button{padding:14px 16px}#result-stage #result-faction{font-size:32px}}
@media(prefers-reduced-motion:reduce){.awakening-scene *,.awakening-scene *:before,.awakening-scene *:after{animation:none!important;transition:none!important}}

.art-loading .faerie-figure{visibility:hidden}

.keepsake-signup{margin-top:24px;padding:22px;border:1px solid #c8b58566;text-align:left;background:#102d38}.keepsake-signup h3{color:#e4d3ab}.keepsake-signup p{font-size:13px}.keepsake-signup fieldset{border:0;padding:0;margin:0;min-width:0}.keepsake-signup label{display:block;font-size:13px;margin:12px 0 6px}.keepsake-signup input[type=text],.keepsake-signup input[type=email]{box-sizing:border-box;width:100%;padding:12px;background:#071d26;color:#fff;border:1px solid #98aaa1;border-radius:3px;font:16px Arial,sans-serif}.keepsake-signup .keepsake-consent{display:flex;align-items:flex-start;gap:10px;line-height:1.6;margin:20px 0}.keepsake-consent input{flex:none;margin-top:5px}.keepsake-signup .gold-button{max-width:100%}.keepsake-signup .fine{font-size:11px}.keepsake-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#keepsake-status{color:#e4d3ab}#keepsake-fields:disabled{opacity:.7}
