.caste-presentation{position:fixed;inset:0;z-index:20000;background:#070f23;color:#fff;display:flex;flex-direction:column;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);font-family:system-ui,-apple-system,sans-serif;box-sizing:border-box}
.caste-presentation-art{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:pan-y}
.caste-presentation-frame{overflow:hidden;flex:none}
.caste-presentation-frame img{width:100%;height:auto;display:block;animation:caste-slide-in .24s ease-out}
.caste-presentation footer{display:flex;align-items:center;justify-content:space-between;gap:10px;width:min(100%,600px);box-sizing:border-box;margin:0 auto;padding:12px 14px 16px;background:#070f23}
.caste-presentation footer button{font:600 16px system-ui;cursor:pointer;min-height:48px;border-radius:32px;padding:10px 20px}
.caste-presentation-skip{border:1px solid #b87bf3;background:#211732;color:#e1bbff}
.caste-presentation-next{border:1px solid #dfb2ff;background:linear-gradient(#e3bcff 0%,#b975fa 46%,#9d52db 90%);color:#140c22;box-shadow:inset 0 3px 3px #fff8,inset 0 -3px 4px #57247c70,0 2px 10px #a554de30}
.caste-presentation-dots{display:flex;gap:2px}
.caste-presentation footer .caste-presentation-dots button{padding:0;min-height:44px;width:22px;border:0;background:transparent;position:relative}
.caste-presentation-dots button:before{content:'';position:absolute;left:6px;top:17px;width:10px;height:10px;border-radius:50%;background:#55496b}
.caste-presentation-dots button[aria-current=step]:before{background:#c374ff}
.caste-presentation button:focus-visible{outline:3px solid white;outline-offset:3px}
.caste-presentation-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@keyframes caste-slide-in{from{opacity:.6}to{opacity:1}}
@media(max-width:360px){.caste-presentation footer{gap:4px;padding-inline:8px}.caste-presentation footer button{padding-inline:12px;font-size:14px}}
@media(prefers-reduced-motion:reduce){.caste-presentation-frame img{animation:none}}

.caste-presentation,.caste-presentation footer{background:var(--caste-night)}.caste-presentation-skip{background:var(--caste-panel);color:var(--caste-gold);border-color:var(--caste-gold)}.caste-presentation-next{background:linear-gradient(var(--caste-accent),var(--caste-accent));color:var(--caste-ink);border-color:var(--caste-gold)}.caste-presentation-dots button[aria-current=step]:before{background:var(--caste-accent)}
/* Presentation chrome follows the same palette as every other window. */
.caste-presentation,.caste-presentation footer{background:var(--caste-night);color:var(--caste-text)}
.caste-presentation-skip{background:var(--caste-panel);border-color:var(--caste-border);color:var(--caste-gold)}
.caste-presentation-next{background:linear-gradient(var(--caste-accent),var(--caste-accent));border-color:var(--caste-gold);color:var(--caste-ink);box-shadow:inset 0 2px 3px #fff7,inset 0 -3px 3px #0004}
.caste-presentation-dots button:before{background:var(--caste-border)}
.caste-presentation-dots button[aria-current=step]:before{background:var(--caste-accent)}

/* Reuse the actual brand asset; cover the illustrated header logos. */
.caste-presentation-frame{position:relative}
.caste-presentation-brand{position:absolute;inset:0 0 auto;background:#031023;display:flex;align-items:center;justify-content:center;overflow:hidden}
.caste-presentation-brand[hidden]{display:none}
.caste-presentation-frame .caste-presentation-brand img{width:100%;height:100%;object-fit:contain;animation:none}

.caste-presentation-localized{box-sizing:border-box;width:100%;height:100%;padding:14% 8%;background:linear-gradient(155deg,var(--caste-panel,#ff8800),var(--caste-accent,#ffd04c));color:var(--caste-text,#000);border-radius:24px;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:20px}.caste-presentation-localized[hidden],.caste-presentation-artwork[hidden]{display:none}.caste-presentation-localized strong{font:700 24px system-ui}.caste-presentation-localized h2{font:700 28px system-ui;margin:0}.caste-presentation-localized p{font:500 18px system-ui;margin:0}.caste-presentation-localized div{padding:18px;border:2px solid currentColor;border-radius:30px;font:700 24px system-ui}
