/* Bright toy-stage presentation; result content keeps its approved layout. */
body:has(.arrival-world){background:#075d9e;color:#241b32}
body:has(.arrival-world) .masthead{max-width:none;background:#07528b;border-bottom:4px solid #efb82e;min-height:76px;padding:14px clamp(18px,4vw,64px)}
body:has(.arrival-world) .wordmark{color:#fff2c9;text-shadow:2px 2px 0 #c83844}
body:has(.arrival-world) .edition{color:#fff3d1;font-size:14px}
body:has(.arrival-world) .quiet-button{color:#fff3d1;font-size:14px;border:1px solid #a6c8dd;border-radius:4px}
.arrival-world{max-width:none;min-height:calc(100svh - 76px);grid-template-columns:43% 57%;overflow:hidden;align-items:center;padding:26px clamp(16px,4vw,70px) 48px;gap:12px}
.arrival-world .stage-art{background:var(--stage-desktop,url('assets/optimized/caine-stage-v14-0-desktop.webp')) center center/cover no-repeat}
.arrival-world::after{background:linear-gradient(0deg,#083d7040,transparent 45%)}
.arrival-world .host-space{min-height:650px;display:flex;justify-content:center;align-items:center;align-self:stretch;position:relative}
.arrival-world .host-caption{left:50%;bottom:8px;transform:translateX(-50%) rotate(-3deg);white-space:nowrap;background:#c83245;padding:10px 20px;border:3px solid #ffe085;box-shadow:5px 5px 0 #173c75;gap:12px;text-shadow:none}
.arrival-world .host-caption b{color:#fff4d6;font-size:28px}.arrival-world .host-caption span{color:#ffdf77;font-size:12px}
.stage-callout{position:absolute;z-index:2;top:18px;left:8%;padding:10px 18px;background:#ffe577;color:#143d6b;border:3px solid #153c6b;box-shadow:4px 4px 0 #c83245;transform:rotate(-7deg);font:22px 'Circus Display',sans-serif}
.arrival-world .dialogue{position:relative;width:100%;max-width:740px;margin:28px 0;padding:32px clamp(24px,3vw,44px);background:#fff9e8;border:4px solid #173d6a;border-left:11px solid #d23b46;border-radius:5px 18px 7px 5px;box-shadow:10px 10px 0 #e9b833,16px 16px 0 #173d6a;color:#243952;align-self:center;animation:card-arrive .35s ease-out}
.arrival-world .dialogue::before{content:'';position:absolute;left:-29px;top:100px;width:28px;height:28px;background:#fff9e8;border-left:4px solid #d23b46;border-bottom:4px solid #d23b46;transform:rotate(45deg)}
.arrival-world .speaker{color:#bd303d;margin-bottom:12px;font-size:18px;letter-spacing:1px}
.arrival-eyebrow{font-size:15px;letter-spacing:2px;color:#667384;margin:0 0 8px}
.arrival-world .dialogue h1{font-size:clamp(32px,3.5vw,53px);line-height:1.28;color:#174c86;text-shadow:2px 2px 0 #f6ca57;margin:12px 0 22px}
.arrival-world .intro-story{border-left:3px solid #ebbb3c;color:#667384;font-size:16px;line-height:1.8;margin:0 0 20px}
.arrival-world .host-line{color:#285378;font-size:20px;line-height:1.75;margin-bottom:20px}
.arrival-world .host-line strong{color:#b82b40;font-weight:400;font-size:1.2em}
.arrival-world .primary{background:#c93645;color:#fff9e6;border:2px solid #872539;box-shadow:0 5px 0 #76233b;border-radius:5px;padding:14px 24px;min-height:54px;font-size:20px}
.arrival-world .primary:hover{background:#df4451}.arrival-world .primary:disabled{background:#d9c8b2;color:#62566a;border-color:#b9a68d;box-shadow:0 4px 0 #ae9b84;opacity:.8}
.arrival-world .stage-footnote{color:#697484;font-size:14px;line-height:1.7;margin-top:20px}
.arrival-world .stepcount{background:#194d81;color:#fff0b9;padding:8px 12px;font-size:17px;border-radius:4px;transform:rotate(3deg)}
.arrival-world .progress{gap:5px;margin-top:18px}.arrival-world .progress i{height:6px;background:#e2d9c5;border-radius:2px}.arrival-world .progress i.done{background:#cf3845}
.arrival-world .dialogue h2{font-size:clamp(24px,2.25vw,32px);line-height:1.5;color:#173d6a;margin:22px 0 16px}
.arrival-world .options{grid-template-columns:1fr 1fr;gap:12px}
.arrival-world .option{background:#fffdf5;border:2px solid #8ba8b9;border-bottom:5px solid #8ba8b9;border-radius:6px;color:#233d59;font-size:16px;line-height:1.7;padding:14px 12px;align-items:flex-start;gap:10px}
.arrival-world .option>span:first-child{background:#225b91;border:0;color:white;width:28px;height:28px;font-size:16px;border-radius:4px;flex-shrink:0}
.arrival-world .option:nth-child(2)>span:first-child{background:#ba3748}.arrival-world .option:nth-child(3)>span:first-child{background:#b98913}.arrival-world .option:nth-child(4)>span:first-child{background:#4d7868}
.arrival-world .option:hover{background:#fff2c9;border-color:#c69635}.arrival-world .option.selected{background:#ffe496;border-color:#b92d41;color:#263955}.arrival-world .option.selected>span:first-child{background:#b92d41;color:white}
.arrival-world .reaction{color:#a32941;font-size:17px;min-height:64px;padding-top:16px}.arrival-world .reaction.empty{color:#73818b;font:14px/1.8 system-ui,sans-serif}
.arrival-world .back{color:#526b80;font-size:14px}.arrival-world .nav{gap:12px}.arrival-world button:focus-visible{outline:3px solid #165c99;outline-offset:4px}
.arrival-world .name-machine{background:#154e83;color:#ffe77d;border:4px solid #e0ae32;box-shadow:5px 5px 0 #c8394a}
body:has(.arrival-world) footer{color:#dce8ed;background:#074575;max-width:none;font-size:12px;padding:20px}

@keyframes card-arrive{from{opacity:0;transform:translateY(14px) rotate(1deg)}to{opacity:1;transform:none}}
@media(min-width:1550px){.arrival-world{padding-left:calc((100vw - 1450px)/2);padding-right:calc((100vw - 1450px)/2)}}
@media(max-width:1050px){.arrival-world{grid-template-columns:35% 65%;padding:18px 26px 42px;gap:0}.stage-callout{font-size:18px;left:0}.arrival-world .dialogue{padding:26px 24px}.arrival-world .host-caption{padding:8px 12px}.arrival-world .host-caption span{display:none}.arrival-world .options{grid-template-columns:1fr}.arrival-world .host-space{min-height:610px}}
@media(max-width:650px){body:has(.arrival-world) .masthead{padding:12px 16px;min-height:65px}body:has(.arrival-world) .edition{font-size:12px}body:has(.arrival-world) .quiet-button{font-size:12px}.arrival-world{display:block;padding:0 18px 36px;min-height:calc(100svh - 65px)}.arrival-world .stage-art{background-size:auto 760px;background-position:center top;background-repeat:repeat-y}.arrival-world .host-space{height:242px;min-height:0;justify-content:flex-start;padding-left:3%}.stage-callout{left:49%;top:74px;font-size:18px;max-width:48%;padding:10px;transform:rotate(5deg)}.arrival-world .host-caption{left:59%;bottom:25px;padding:6px 15px;transform:rotate(-3deg)}.arrival-world .host-caption b{font-size:22px}.arrival-world .dialogue{margin:0;padding:25px 21px;border-left-width:7px;box-shadow:6px 6px 0 #e9b833,10px 10px 0 #173d6a;max-width:none}.arrival-world .dialogue::before{top:-17px;left:54px;transform:rotate(135deg);border-color:#173d6a}.arrival-world .dialogue h1{font-size:34px}.arrival-world .dialogue h2{font-size:25px}.arrival-world .host-line{font-size:18px}.arrival-world .options{grid-template-columns:1fr}.arrival-world .option{padding:12px;font-size:16px}.arrival-world .nav{flex-wrap:wrap}.arrival-world .nav .primary{max-width:none;flex:1}.arrival-world .primary{font-size:18px}.arrival-world .reaction{min-height:0}.arrival-world .intro-story{font-size:15px}.arrival-world .speaker{font-size:17px}.quiz-stage .host-space{height:190px}.quiz-stage .stage-callout{top:38px}.quiz-stage .host-caption{bottom:16px}.arrival-world .stage-footnote{font-size:14px}}
@media(prefers-reduced-motion:reduce){.arrival-world .dialogue{animation:none}}

.quiz-stage .dialogue{animation:none}

/* Opaque scene variants avoid sprite-background artifacts. */
.arrival-world .stage-art{background-size:cover;background-position:left center;background-repeat:no-repeat}
@media(max-width:1050px) and (min-width:651px){.arrival-world .stage-art{background-size:auto 100%;background-position:15% center}}
@media(max-width:650px){.arrival-world .stage-art{background-size:auto 360px;background-position:left top;background-repeat:no-repeat;background-color:#075ca6}.arrival-world .host-space{height:305px}.quiz-stage .host-space{height:225px}.quiz-stage .stage-art{background-size:auto 270px}.stage-callout{left:57%;top:60px;max-width:40%}.arrival-world .host-caption{left:auto;right:5%;bottom:26px}.quiz-stage .stage-callout{top:40px}.quiz-stage .host-caption{bottom:20px}}

/* The admission ticket is the opening itself; its detachable stub starts the quiz. */
.intro-stage .stage-callout,.intro-stage .host-caption{display:none}
.intro-stage .dialogue{max-width:670px;padding:0;border:0;border-radius:0;background:#fff4d9;box-shadow:0 12px 24px #17284250;transform:rotate(-1deg);animation:ticket-arrive .4s ease-out;mask:radial-gradient(circle at 0 50%,#0000 7px,#000 7.5px) left/51% 25px repeat-y,radial-gradient(circle at 100% 50%,#0000 7px,#000 7.5px) right/51% 25px repeat-y}
.intro-stage .dialogue::before,.intro-stage .dialogue::after{display:none}
.intro-stage .admission-ticket{display:grid;grid-template-columns:minmax(0,1fr) 112px;padding:0}
.ticket-main{padding:28px 27px 23px 34px;color:#173d6a;min-width:0}
.intro-stage .speaker{font:600 11px/1.5 system-ui,sans-serif;color:#173d6a;letter-spacing:.09em;margin:0 0 14px}
.intro-stage .speaker::before{display:none}
.ticket-rule{display:flex;justify-content:space-between;gap:10px;border-top:2px solid #173d6a;border-bottom:1px solid #173d6a;padding:9px 0;font-size:12px;color:#173d6a;margin-bottom:23px}
.ticket-rule span:first-child{font-weight:700;letter-spacing:.12em}
.intro-stage .dialogue h1{font-family:'Circus Display',sans-serif;font-size:clamp(32px,3vw,43px);font-weight:400;line-height:1.35;text-shadow:none;letter-spacing:0;color:#173d6a;margin:0 0 20px}
.intro-stage .host-line{font:400 16px/1.9 system-ui,sans-serif;color:#324963;letter-spacing:0;margin:0 0 22px}
.intro-stage .opening-question{font:600 21px/1.6 system-ui,sans-serif;color:#173d6a;letter-spacing:0;margin:0 0 24px}
.intro-stage .stage-footnote{font:400 12px/1.7 system-ui,sans-serif;color:#5f6f7d;letter-spacing:0;margin:0 0 18px}
.ticket-fineprint{border-top:1px solid #caba9c;padding-top:12px;margin:0;display:flex;flex-wrap:wrap;gap:5px 16px;font:400 11px/1.6 system-ui,sans-serif;color:#5f6f7d}
.ticket-stub{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:15px;position:relative;min-width:0;width:100%;padding:28px 12px 23px;border:0;border-left:2px dashed #f5d4a3;border-radius:0;background:#b92f45;color:#fff4d9;transition:background .2s;transform-origin:left center}
.ticket-stub::before,.ticket-stub::after{content:'';position:absolute;width:22px;height:22px;left:-12px;background:#173d6a;border-radius:50%}
.ticket-stub::before{top:-12px}.ticket-stub::after{bottom:-12px}
.ticket-stub:hover{background:#99213a}.ticket-stub:focus-visible{outline:3px solid #173d6a;outline-offset:-7px}
.stub-top{font:500 11px/1.5 system-ui,sans-serif;letter-spacing:.13em}
.stub-title{font:700 29px/1.4 system-ui,sans-serif;letter-spacing:.07em;margin:auto 0 0}
.stub-arrow{font:400 36px/1 system-ui;margin:0 0 auto;transition:transform .2s}.ticket-stub:hover .stub-arrow{transform:translateX(5px)}
.stub-bottom{font:400 11px/1.6 system-ui;writing-mode:vertical-rl;letter-spacing:.16em}
.ticket-stub-ghost{position:fixed!important;z-index:1000;pointer-events:none;margin:0;box-shadow:3px 6px 10px #1c19314d}
.still .intro-stage .dialogue{animation:none}.still .ticket-stub,.still .stub-arrow{transition:none}
@keyframes ticket-arrive{from{opacity:0;transform:translateY(14px) rotate(-3deg)}to{opacity:1;transform:translateY(0) rotate(-1deg)}}
@media(max-width:1050px) and (min-width:651px){.intro-stage .admission-ticket{grid-template-columns:minmax(0,1fr) 95px}.ticket-main{padding:25px}.intro-stage .host-line{font-size:15px}.intro-stage .opening-question{font-size:19px}}
@media(max-width:650px){.arrival-world .stage-art{background-image:var(--stage-mobile,url("assets/optimized/caine-stage-v14-0-mobile.webp"))}.intro-stage .dialogue{max-width:520px;margin:-10px auto 0;transform:rotate(0);mask:none;border-radius:8px}.intro-stage .admission-ticket{grid-template-columns:1fr}.ticket-main{padding:24px 26px 20px}.intro-stage .speaker{font-size:10px}.ticket-rule{margin-bottom:20px}.intro-stage .dialogue h1{font-size:34px;margin-bottom:17px}.intro-stage .host-line{font-size:15px;margin-bottom:18px}.intro-stage .opening-question{font-size:21px;margin-bottom:20px}.intro-stage .stage-footnote{margin-bottom:14px}.ticket-stub{flex-direction:row;padding:19px 26px;gap:10px;border-left:0;border-top:2px dashed #f5d4a3;min-height:90px;transform-origin:center top}.ticket-stub::before{top:-12px;left:-12px}.ticket-stub::after{top:-12px;bottom:auto;left:auto;right:-12px}.stub-top{display:none}.stub-title{font-size:22px;letter-spacing:.05em;margin:0;display:flex}.stub-title br{display:none}.stub-arrow{margin:0;font-size:29px;order:3}.stub-bottom{writing-mode:horizontal-tb;letter-spacing:0;font-size:11px;max-width:66px}.ticket-stub-ghost{border-radius:0 0 8px 8px}}
@media(prefers-reduced-motion:reduce){.intro-stage .dialogue{animation:none}.ticket-stub,.stub-arrow{transition:none}}
