/* A shared blue-hour world, generous scene art and optional reading. */
#home #hero{top:390px;width:790px}
#home #headline{font-size:64px;line-height:1.22;letter-spacing:0}
#home #eyebrow{display:none}
#home #tags{display:flex;gap:28px;font-size:28px;line-height:1.4;letter-spacing:0;margin-top:24px;color:#f0f5fb}
#home #tags span+span{padding-left:28px;border-left:1px solid #e5effa70}
#home #enter{margin-top:38px;font-size:24px;height:62px}
.role-card .role-cover{transition:transform 280ms var(--ease),box-shadow 280ms var(--ease)}
.role-card.selected .role-cover{box-shadow:0 0 0 3px #ffe0a5,0 0 0 7px #ffdc9e2e,0 12px 32px #15335645}
.role-card.selected .label{color:#ffe0a5}
#stage[data-level=support] #shade{background:linear-gradient(90deg,#102f51d9 0%,#173b5c80 47%,#183e5b24 100%)!important}
#stage[data-level=support] #scene img{filter:saturate(.95) brightness(.94)}
#support .support-heading{top:167px}
#support .support-heading h1{font-size:54px;line-height:1.25;letter-spacing:0}
#support .support-heading p,#support .rail-label{display:none}
#support #rail-window{top:310px;bottom:80px}
#support .activity{height:440px;border-radius:14px;background:#214766;border-color:#d5e8fa5c;box-shadow:0 12px 25px #07254030}
#support .activity .art{height:365px;border-radius:13px 13px 0 0}
#support .activity .label{top:386px;left:20px;font-size:26px;line-height:1.2}
#support .activity.selected{background:#2c5675;box-shadow:0 0 0 3px #ffe0a5,0 0 0 8px #ffdc9e26,0 18px 32px #0b2d474d;transform:translateY(-6px) scale(1.025)}
#support #journey-entry{top:242px;height:48px;font-size:24px;border:0;border-radius:0;padding:0 0 5px;background:none;color:#ffe0a5;border-bottom:3px solid #ffe0a5}
#stage[data-level=story] #shade{background:linear-gradient(90deg,#163b5fe8,#1b4667b8 44%,#193c5920 70%)!important}
#story{left:60px;top:116px;width:1552px;height:716px;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:hidden}
#story .story-copy,#story.gateway-story .story-copy{width:736px;height:100%;padding:34px 32px 28px;display:flex;flex-direction:column}
#story #story-kicker{font-size:26px;line-height:1.2;letter-spacing:0;color:#ffe0a5;margin:0 0 16px}
#story #story-title{font-size:46px;line-height:1.22;letter-spacing:0;white-space:pre-line;max-width:672px;margin:0}
#story #story-art{right:0;top:0;width:800px;height:716px;mask-image:linear-gradient(90deg,transparent,#000 14%);opacity:1;pointer-events:none}
#story #story-art img{width:100%!important;height:100%!important;left:0!important;top:0!important;object-fit:cover;object-position:center;animation:visitor-scene-arrival 420ms cubic-bezier(.2,.75,.2,1) both}
#story #steps,#story.gateway-story #steps{display:flex;flex-direction:column;gap:10px;margin-top:26px}
#story #steps>.story-step{display:flex;align-items:center;flex:none;gap:19px;min-height:60px;padding:0;border:0;font-size:27px;line-height:1.3;color:#f4f7fb}
#story .step-symbol{display:inline-flex;align-items:center;justify-content:center;flex:none;width:48px;height:52px;font-size:32px;line-height:1;font-family:'Apple Color Emoji','Segoe UI Emoji',sans-serif}
#story #boundary{font-size:23px;line-height:1.5;max-width:672px;margin:24px 0 0;color:#d3e3f0}
#story #story-actions{display:flex;gap:28px;align-items:center;margin-top:auto;padding-top:24px}
#story #story-actions .story-action{display:inline-flex;align-items:center;justify-content:center;height:56px;padding:0 0 5px;margin:0;border:0;border-bottom:3px solid transparent;border-radius:0;box-shadow:none;background:none;font-size:25px;font-weight:400;color:#e1ecf5;transition:color 180ms,background 180ms}
#story #story-actions #story-details-toggle{padding:0 28px;border:0;border-radius:32px;background:#fff;color:#183b58;font-weight:700;font-size:24px}
#story #story-actions .story-action:hover{color:#fff;border-bottom-color:#fff;transform:none}
#story #story-actions #story-details-toggle:hover{color:#183b58;background:#e8f3fc;box-shadow:0 0 0 5px #ffffff20}
#story #story-actions .story-action:focus-visible,#story #story-actions .story-action[data-pad-focus=true]{outline:3px solid #ffe0a5;outline-offset:7px}
#story #story-reading{margin-top:24px}
#story #story-reading #story-body,#story.gateway-story #story-reading #story-body,#story #story-reading #outcome,#story #story-full-boundary{font-size:24px;line-height:1.5;max-width:672px;letter-spacing:0;color:#edf4fa;margin:0}
#story #story-reading #outcome,#story #story-full-boundary{margin-top:18px;color:#d5e5f3}
#story[data-details-open=true] #steps,#story[data-details-open=true] #boundary{display:none}
#story[data-details-open=true] #story-title{font-size:40px;line-height:1.2}
#story .task-switch{display:flex;flex-wrap:wrap;gap:15px;padding:0!important;border:0!important}
#story .task-switch button{height:56px;padding:0 15px;border:1px solid #daeaf670;border-radius:7px;font-size:24px}
#story .task-switch button.selected{color:#183b58;background:#ffe0a5;border-color:#ffe0a5}
#story .gateway-path{font-size:25px;line-height:1.6;margin-top:14px;color:#e9f3fb;max-width:650px}
#story.gateway-story[data-details-open=true] #story-full-boundary{font-size:24px;line-height:1.4}
#stage[data-level=network] #story[data-details-open=true] #steps,#stage[data-level=network] #story[data-details-open=true] #boundary{display:flex}
#stage[data-level=network] #story #story-full-boundary:empty{display:none}
footer{font-size:22px}
footer>div{gap:14px}
footer button{height:42px;gap:10px}
footer #prev,footer #next{font-size:22px;padding:0 12px;border-radius:22px}
footer #select-label{font-size:22px}
footer #confirm{margin-left:16px}
footer #back{margin-left:10px}
@keyframes visitor-scene-arrival{from{opacity:0;transform:scale(1.035) translateX(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#story #story-art img{animation:none}.role-card .role-cover{transition:none}}
