/* Persistent ambient motion behind the interior page, never over its controls. */
.shell[data-screen=home],.shell[data-screen=quiz],.shell[data-screen=interview]{isolation:isolate}
.shell[data-screen=home]>header,.shell[data-screen=home]>main,.shell[data-screen=home]>footer,.shell[data-screen=quiz]>header,.shell[data-screen=quiz]>main,.shell[data-screen=quiz]>footer,.shell[data-screen=interview]>header,.shell[data-screen=interview]>main,.shell[data-screen=interview]>footer{position:relative;z-index:1}
.question-world{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;contain:paint}
.world-aurora{position:absolute;pointer-events:none;filter:blur(24px);border-radius:50%;will-change:transform;mix-blend-mode:screen}
.aurora-purple{width:145%;height:42%;left:-40%;bottom:-5%;background:radial-gradient(ellipse,#9047ff70 0%,#763ff12b 38%,transparent 70%);animation:world-purple-drift 13s ease-in-out infinite alternate}
.aurora-cyan{width:100%;height:42%;right:-53%;top:21%;background:radial-gradient(ellipse,#60d7dc48,transparent 66%);animation:world-cyan-drift 17s ease-in-out infinite alternate}
.aurora-rose{width:120%;height:38%;right:-37%;bottom:0;background:radial-gradient(ellipse,#e880b44d,transparent 67%);animation:world-rose-drift 15s ease-in-out infinite alternate}
.world-orbit{position:absolute;width:145%;height:38%;left:-20%;bottom:8%;border:1px solid #bd8dff30;border-radius:50%;transform:rotate(-24deg);animation:world-orbit-drift 26s linear infinite}
.world-orbit i{position:absolute;width:6px;height:6px;left:14%;top:13%;border-radius:50%;background:#c6a7ff;box-shadow:0 0 16px #bc87ff}
.world-orbit.orbit-far{bottom:14%;left:-30%;width:155%;height:45%;border-color:#7adede22;border-style:dashed;animation-duration:36s;animation-direction:reverse}.orbit-far i{background:#97dfdf;box-shadow:0 0 14px #70e1e1}
.world-dust{position:absolute;inset:0}.world-particle{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;background:#d7c0ff;box-shadow:0 0 7px #bd96ff;opacity:.3;animation:world-particle-rise var(--drift) ease-in-out infinite;animation-delay:var(--delay)}
.shell[data-screen=quiz] .question-panel{background:radial-gradient(ellipse at 50% 0%,#9047ff20,transparent 63%),linear-gradient(145deg,#1c1528eb,#100d18e8)}
@keyframes world-purple-drift{from{transform:translate(-5%,10%) rotate(-16deg);opacity:.6}to{transform:translate(25%,-30%) rotate(19deg);opacity:1}}
@keyframes world-cyan-drift{from{transform:translate(12%,-15%) scale(.8)}to{transform:translate(-34%,38%) scale(1.15)}}
@keyframes world-rose-drift{from{transform:translate(0,15%) rotate(16deg);opacity:.5}to{transform:translate(-35%,-20%) rotate(-18deg);opacity:.9}}
@keyframes world-orbit-drift{from{transform:rotate(-24deg)}to{transform:rotate(336deg)}}
@keyframes world-particle-rise{0%,100%{transform:translate(0,10px);opacity:.12}50%{transform:translate(12px,-50px);opacity:.6}}
/* The matched customer artwork is the only primary result card. */
.shell[data-screen=result] .keepsake-result{padding:12px 0 10px}
.keepsake-result .result-intro{margin-bottom:12px}.keepsake-result .result-intro .eyebrow{font-size:9px}.keepsake-result .result-intro h2{font-size:clamp(18px,5.3cqw,27px);margin:6px 0 0}
.keepsake-result .customer-keepsake{display:block;width:100%;min-height:0;aspect-ratio:auto;padding:0;border:0;border-radius:9px;background:none;box-shadow:0 16px 45px #0005;overflow:hidden;isolation:auto}.keepsake-result .customer-keepsake:before{display:none}
.keepsake-result .main-keepsake{display:block;width:100%;height:auto;max-width:none;border-radius:0;object-fit:contain}
.keepsake-delivery{display:grid;grid-template-columns:minmax(0,1fr) 100px;align-items:center;gap:18px;margin-top:14px;padding:16px;border:1px solid #4a365e;border-radius:16px;background:linear-gradient(140deg,#21172e,#110d1b)}
.keepsake-actions h3{font-size:19px;margin:0 0 5px}.keepsake-actions p{font-size:11px;line-height:1.5;margin:0 0 9px}.keepsake-actions .primary{font-size:12px;padding:10px;min-height:44px;margin-top:0}.keepsake-actions .poster-share{min-height:38px}.keepsake-delivery .card-qr canvas{width:100px;height:100px}.keepsake-delivery .card-qr span{font-size:9px}
#poster-print{display:none}
@container(max-width:320px){.keepsake-delivery{grid-template-columns:minmax(0,1fr) 82px;gap:10px;padding:12px}.keepsake-delivery .card-qr canvas{width:82px;height:82px}.keepsake-actions h3{font-size:17px}.keepsake-actions .primary{font-size:11px}.keepsake-delivery .card-qr span{font-size:8px}.keepsake-actions .keepsake-share-row .keepsake-print{font-size:10px;min-height:28px;padding:3px 6px}}
@media(prefers-reduced-motion:reduce){.question-world *{animation:none!important;will-change:auto}.world-particle{opacity:.25}}
@media print{body>.shell,body>dialog{display:none!important}#poster-print{display:block!important;width:148mm;height:210mm}#poster-print img{display:block;width:100%;height:100%;object-fit:contain}}

.keepsake-actions .keepsake-restart{display:block;width:max-content;min-height:36px;margin:3px 0 0;padding:8px 0;border:0;border-radius:4px;background:transparent;color:#b7a2d3;font:inherit;font-size:11px;line-height:20px;cursor:pointer}
.keepsake-actions .keepsake-restart:hover{color:#eee4ff}
.keepsake-actions .keepsake-restart:focus-visible{outline:2px solid #9047ff;outline-offset:3px}
.keepsake-share-row{display:flex;align-items:center;gap:8px;margin-top:2px}
.keepsake-share-row .poster-share{flex:none;width:auto;margin:0;padding:8px 0;white-space:nowrap}
.keepsake-actions .keepsake-share-row .keepsake-print{flex:1;width:auto;min-width:0;margin-top:0;min-height:32px;padding:4px 10px;font-size:12px;line-height:1.2;white-space:nowrap}
