.entry-shell>#main-content.entry-canvas{padding:0!important;display:flex;overflow:hidden;background:#eaeaf5}.entry-view{position:relative;isolation:isolate;flex:1;min-height:0;width:100%;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse at 80% 10%,#faf7ff,#eaeaf5 75%)}
.entry-title>header{padding:clamp(26px,5dvh,48px) 25px 0;text-align:center;z-index:2}.entry-eyebrow{display:block;font-size:11px;letter-spacing:2px;color:#827093;font-weight:700}.entry-title h1{font-size:36px;line-height:1.3;font-weight:900;color:#45344f;letter-spacing:1px;margin:8px 0}.entry-title h1>span{display:block;font-size:21px;color:#8363b5;letter-spacing:5px;margin-bottom:3px}.entry-title header p{font-size:13px;color:#76657e;margin:10px 0 0}.entry-school-art{position:relative;flex:1;min-height:170px;display:flex;align-items:center;justify-content:center;overflow:hidden}.entry-school-art>.arrival-gate{width:100%;height:100%;max-height:410px}.school-sign{position:absolute;left:50%;bottom:12%;transform:translateX(-50%) rotate(-3deg);padding:7px 16px;border:2px solid #9a84af;border-radius:4px 8px;background:#fbf9ff;box-shadow:0 3px #c9b8d9;color:#705780;font-size:12px;font-weight:800;white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis}
.entry-welcome{text-align:center;padding:0 18px 12px}.entry-welcome>span{display:block;font-size:10px;letter-spacing:1px;color:#8a769a}.entry-welcome>b{display:block;font-size:14px;color:#594764;margin-top:6px}.entry-actions{display:flex;flex-direction:column;gap:10px;padding:12px 24px 26px;flex-shrink:0}.entry-actions .button{width:100%;min-height:47px;font-size:14px;font-weight:800}.entry-actions>small{font-size:9px;color:#95849f;text-align:center;line-height:1.6;margin-top:5px}.entry-text-link{font-size:11px;color:#8d739b;min-height:26px}.entry-loading{align-items:center;justify-content:center;padding:32px;text-align:center}.entry-loading .entry-orbit{width:140px;height:150px;animation:letter-bob 2.6s ease-in-out infinite}.entry-orbit>svg{width:100%;height:100%}.entry-loading h1{font-size:22px;line-height:1.5;color:#665074;margin:15px 0 7px}.entry-loading p{font-size:12px;color:#8c7498;line-height:1.8}.entry-load-track{width:85%;height:10px;border:1.5px solid #a28ab6;background:#e1d8ec;border-radius:5px;margin:24px 0 9px;overflow:hidden}.entry-load-track>i{display:block;height:100%;background:linear-gradient(90deg,#baa1d9,#8866b5);transition:width .2s ease}.entry-loading>small{font-size:10px;color:#9982a5}.entry-loading>.button{margin-top:25px;min-width:190px}
.entry-door{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;pointer-events:auto}.entry-door>i{position:absolute;top:0;bottom:0;width:51%;background:#9b83b7;border:3px solid #6d527e;box-shadow:inset 0 0 0 9px #c1acd6;animation:school-open .44s ease-in both}.entry-door>i:first-child{left:0;transform-origin:left}.entry-door>i:nth-child(2){right:0;transform-origin:right;--direction:1}.entry-door>b{position:relative;padding:12px 24px;background:#fcf8ff;border:2px solid #9877af;border-radius:7px 10px;color:#79558d;animation:door-word .44s both}
.story-header{display:flex;align-items:center;justify-content:space-between;padding:21px 20px 12px;color:#8d74a0;font-size:10px;gap:10px}.story-header>span{font-weight:800;letter-spacing:1px}.story-header>button{font-size:10px;padding:6px;color:#967da8}.story-illustration{position:relative;flex:1;min-height:150px;margin:0 18px;border:2px solid #a18ab5;border-radius:7px 14px 8px 11px;overflow:hidden;background:#dce4ea;box-shadow:0 3px #c1afd1}.story-illustration>.arrival-gate,.story-illustration>.world-art{width:100%;height:100%;display:block;object-fit:cover}.story-letter{position:absolute;inset:7% 20%;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 4px 5px #51415830);animation:chapter-up .4s both}.story-letter>svg{width:100%;height:100%}.story-letter:before{content:'';position:absolute;inset:0;background:#fff9ef33;z-index:-1}.story-empty-seat{position:absolute;left:20px;bottom:20px;background:#fffdf5;border:1.5px solid #ab91bd;padding:7px 9px;font-size:10px;color:#90729e;transform:rotate(-4deg)}
.story-caption{position:relative;background:#fffcf7;border:2px solid #ae94bd;border-radius:8px 12px;margin:14px 18px 0;padding:18px 18px 15px;box-shadow:0 3px #c9b7d5;animation:chapter-up .25s both}.story-npc{position:absolute;right:8px;top:-66px;width:65px;height:85px}.story-npc .adventurer{width:100%;height:100%}.story-speaker{display:inline-block;background:#e7d8f4;border:1px solid #c2a8d6;border-radius:3px 6px;padding:3px 8px;font-size:10px;font-weight:800;color:#8a629d;margin-bottom:9px}.story-caption h1{font-size:21px;line-height:1.4;color:#655070;margin:0 0 10px;font-weight:850}.story-caption p{font-size:13px;line-height:1.8;color:#806b8a;margin:0}.story-caption>small{display:block;font-size:10px;color:#9a83a7;border-top:1px dashed #ddcde7;margin-top:12px;padding-top:9px}.story-view .entry-actions{padding-top:13px;padding-bottom:18px;gap:7px}.story-pips{display:flex;justify-content:center;gap:6px;margin-bottom:3px}.story-pips>i{width:6px;height:6px;background:#d4c5e1;border-radius:50%}.story-pips>i.active{width:19px;border-radius:3px;background:#a282c1}
.story-ending>header{padding:32px 22px 20px;text-align:center}.story-ending h1{font-size:25px;line-height:1.55;margin:12px 0 0;color:#725083}.ending-scene{position:relative;flex:1;min-height:160px;margin:0 18px;border:2px solid #a384b5;border-radius:8px 13px;overflow:hidden}.ending-scene>.world-art{width:100%;height:100%;display:block}.ending-scene>span{position:absolute;bottom:2px;left:38%;height:75%}.ending-scene>span>.adventurer{height:100%;width:auto}.ending-seal{position:absolute;right:15px;bottom:17px;width:67px;height:67px;display:flex;flex-direction:column;justify-content:center;text-align:center;border:3px double #a683b5;border-radius:50%;background:#f9eefb;color:#9b6eaa;font-style:normal;font-size:10px;transform:rotate(-12deg)}.ending-seal b{font-size:22px}.ending-copy{text-align:center;padding:16px 20px 0}.ending-copy p{font-size:12px;line-height:1.9;color:#8b6d96}.ending-copy>span{display:block;font-size:12px;color:#9672a5;font-weight:800;margin:11px 0 6px}.ending-copy>small{font-size:10px;color:#a48ab0}.entry-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}.entry-confetti>i{position:absolute;left:calc(var(--n)*7%);top:-20px;width:6px;height:11px;background:#ccb0df;animation:entry-confetti 1.8s calc(var(--n)*.05s) ease-out both}.entry-confetti>i:nth-child(3n){background:#c0d5ba}.entry-confetti>i:nth-child(3n+1){background:#e4c68f}
.guide-focus{outline:3px solid #a388c9!important;outline-offset:3px;animation:guide-glow 1.8s ease-in-out infinite}.first-week-coach{position:absolute;z-index:70;left:12px;right:12px;background:#fffdf9;border:2px solid #9f82b3;border-radius:6px 11px;box-shadow:0 4px #c5afd6,0 6px 18px #51415820;padding:10px 13px;pointer-events:auto;animation:chapter-up .22s both}.first-week-coach .coach-label{font-size:9px;font-weight:700;color:#a58ab2}.first-week-coach>b{display:block;font-size:14px;color:#80608f;margin:6px 23px 5px 0}.first-week-coach p{font-size:12px;line-height:1.6;color:#967aa1;margin:0 0 4px}.coach-skip{position:absolute;right:8px;top:5px;padding:3px 6px;color:#ab92b8;font-size:18px}.coach-done{display:block;margin-left:auto;color:#9466aa;font-size:11px;padding:5px 1px;font-weight:800}.guide-inline{background:#ede3f8;border:1.5px solid #bca2d0;border-radius:5px 9px;padding:8px 10px;margin-bottom:10px}.guide-inline>b{display:block;font-size:12px;color:#88649c;margin-bottom:4px}.guide-inline>span{display:block;font-size:11px;line-height:1.6;color:#a082b0}
.is-recruit-reveal .student-portrait{animation:recruit-reveal .45s ease-out both}.is-recruit-reveal .student-talent-row{animation:chapter-up .32s .12s both}.is-route-enter main{animation:chapter-up .2s both}
@keyframes letter-bob{50%{transform:translateY(-7px) rotate(-2deg)}}@keyframes chapter-up{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes school-open{from{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes door-word{0%,45%{opacity:1}100%{opacity:0}}@keyframes entry-confetti{to{top:105%;transform:rotate(250deg);opacity:0}}@keyframes guide-glow{50%{outline-color:#dac5ed}}@keyframes recruit-reveal{0%{opacity:.2;transform:scale(.88) rotate(-4deg)}65%{transform:scale(1.04) rotate(2deg)}100%{opacity:1;transform:none}}
@media(max-height:730px){.entry-title>header{padding-top:22px}.entry-title h1{font-size:31px;margin:5px 0}.entry-title h1>span{font-size:18px}.entry-title header p{font-size:12px;margin-top:6px}.entry-actions{padding:10px 22px 20px;gap:8px}.entry-actions .button{min-height:43px}.story-header{padding-top:14px}.story-caption{padding:13px 15px 11px;margin-top:12px}.story-caption h1{font-size:19px;margin-bottom:7px}.story-caption p{font-size:12px;line-height:1.7}.story-caption>small{margin-top:8px;padding-top:7px}.story-view .entry-actions{padding-top:10px;padding-bottom:10px;gap:5px}.story-illustration{min-height:125px}.story-ending>header{padding-top:22px}.story-ending h1{font-size:22px}.ending-copy{padding-top:10px}.ending-copy p{font-size:11px}.first-week-coach p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.entry-view *,.first-week-coach,.guide-focus,.is-route-enter main{animation:none!important;transition:none!important}}
.chapter-scene{position:relative;height:200px;border:2px solid #af97bf;border-radius:7px 11px;overflow:hidden;margin:12px 0 18px;background:#e6e0f2}.chapter-scene>.world-art{height:100%;width:100%}.chapter-scene>span{position:absolute;right:16px;bottom:0;height:140px}.chapter-scene .adventurer{height:100%;width:auto}
/* Game tutorial: the action is the brightest object; the card stays readable. */
.guide-layer{position:absolute;inset:0;z-index:90;pointer-events:none;overflow:hidden;border-radius:inherit}
.guide-layer[data-kind="briefing"]{background:rgba(33,35,43,.56);pointer-events:auto}
.guide-mask{position:absolute;inset:0;pointer-events:none}
.guide-layer .first-week-coach{right:auto;box-sizing:border-box;z-index:2;padding:12px 14px;border:2px solid #685079;border-radius:15px 15px 7px 15px;background:#fffdf8;box-shadow:0 4px #4f3b6850,0 9px 22px #17152238;animation:coach-arrive .2s cubic-bezier(.23,1,.32,1) both}
.guide-layer .first-week-coach>.coach-label{display:inline-block;color:#72548e;background:#eee3fb;border-radius:6px;padding:3px 6px;font-size:9px;line-height:1.2;font-weight:750;letter-spacing:.4px}
.guide-layer .first-week-coach>b{margin:7px 0 4px;font-size:17px;line-height:1.3;color:#3e2d50;font-weight:900}
.guide-layer .first-week-coach p{margin:0;font-size:11px;line-height:1.5;color:#675b73}
.guide-current{border-color:#69436f!important;background:#fff0bd!important;box-shadow:inset 0 2px #fff8e4,0 4px #755081!important}
.guide-current.button{background:linear-gradient(115deg,#9661ed,#723dbb)!important;border-color:#4c2c6e!important;color:#fff!important;box-shadow:inset 0 2px #c9a8ff,0 4px #4c2c6e!important;font-weight:900!important}
.guide-button-focus{outline:3px solid #ffd977!important;outline-offset:2px;filter:drop-shadow(0 0 5px #ffd97788);animation:guide-button-breathe 1.2s ease-in-out infinite}
@keyframes guide-button-breathe{50%{outline-color:#fff2b7;filter:drop-shadow(0 0 8px #ffd977bb)}}
@media(prefers-reduced-motion:reduce){.guide-button-focus{animation:none}}
.student-roll-card .recruit-random-actions .guide-current{font-size:14px!important;min-height:39px}
.guide-target-ring{animation:none}
.guide-target-aura{opacity:.65}
.guide-target-pulse{transform-box:fill-box;transform-origin:center;animation:coach-target-pulse 1.45s cubic-bezier(.45,0,.55,1) infinite}
.guide-pointer{position:absolute;z-index:3;filter:drop-shadow(0 3px 0 #fff6cf66) drop-shadow(0 4px 5px #24152e55);pointer-events:none}
.guide-pointer>svg{display:block;width:100%;height:100%;overflow:visible}
.guide-pointer-bob{animation:coach-point 1.05s cubic-bezier(.45,0,.55,1) infinite}
@keyframes coach-point{0%,100%{transform:translateY(-3px)}55%{transform:translateY(3px)}}
@keyframes coach-target-pulse{0%,100%{opacity:.85;transform:scale(1)}65%{opacity:0;transform:scale(1.045,1.16)}}
@keyframes coach-arrive{from{opacity:0;transform:translateY(5px) scale(.98)}to{opacity:1;transform:none}}
@media(max-height:730px){.guide-layer .first-week-coach{padding:9px 12px}.guide-layer .first-week-coach>b{font-size:15px;margin-top:5px}.guide-layer .first-week-coach p{font-size:10px}}
@media(prefers-reduced-motion:reduce){.guide-pointer-bob,.guide-target-pulse,.guide-layer .first-week-coach{animation:none!important}}
/* The settled data and the next action use different visual roles. */
.guide-layer[data-kind="feedback"] .first-week-coach>.coach-label{background:#d8f3e8;color:#25644f}
.guide-layer .coach-next{display:flex;gap:8px;align-items:center;margin-top:8px;padding-top:7px;border-top:1px dashed #c6b5d4;line-height:1.3}
.guide-layer .coach-next>span{font-size:9px;color:#887394;flex:0 0 auto}
.guide-layer .coach-next>b{font-size:12px;font-weight:850;color:#6f39aa;overflow-wrap:anywhere}
.guide-layer .coach-gesture{display:block;color:#82758e;font-size:9px;line-height:1.4;margin-top:4px}
.coach-receipt{margin-top:7px;display:grid;gap:4px}
.coach-receipt-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:6px;align-items:baseline;font-size:11px;padding:4px 6px;border-radius:6px;background:#edf8f2;color:#3d6657}
.coach-receipt-row>span:nth-child(2){font-size:10px;font-variant-numeric:tabular-nums}
.coach-receipt-row>strong{font-size:13px;color:#217b5c}
.coach-receipt-row.negative{background:#f9e9ed;color:#90596a}.coach-receipt-row.negative>strong{color:#ad4c65}
.coach-receipt-resources{display:flex;gap:4px;flex-wrap:wrap;font-size:9px;line-height:1.4}
.coach-receipt-resources>span{padding:2px 4px;border-radius:4px;background:#e2f4e9;color:#276e55}.coach-receipt-resources>.negative{background:#f7e5e9;color:#a54e65}
.guide-data-focus{outline:0!important}
.learning-dashboard-stat.guide-data-positive,.learning-dashboard-language.guide-data-positive{background:#dff8ed!important;border-radius:6px}
.learning-dashboard-stat.guide-data-negative,.learning-dashboard-language.guide-data-negative{background:#fbe6eb!important;border-radius:6px}
.guide-data-positive .learning-dashboard-value{color:#245f4d!important}.guide-data-negative .learning-dashboard-value{color:#93465d!important}
.guide-data-focus .learning-dashboard-positive{background:#2f8f6a;color:#fff!important;border-radius:3px;padding:0 3px}
.guide-data-focus .learning-dashboard-negative{background:#b85573;color:#fff!important;border-radius:3px;padding:0 3px}
.guide-data-ring{pointer-events:none}
.guide-layer .coach-error{padding:6px 7px;margin-top:6px;background:#f9e3e9;border-radius:6px;color:#9a405b;font-size:10px}
@media(max-height:730px){.guide-layer .coach-next{margin-top:5px;padding-top:5px}.guide-layer .coach-next>b{font-size:11px}.coach-receipt{margin-top:5px;gap:3px}.coach-receipt-row{padding:2px 5px;font-size:10px}.coach-receipt-row>strong{font-size:12px}.guide-layer .first-week-coach>b{font-size:14px}.guide-layer .coach-gesture{font-size:8px}}
.coach-receipt-row{grid-template-columns:56px minmax(0,1fr) auto}
.coach-receipt-row>span:first-child{white-space:nowrap}
[data-guide-resource].guide-data-focus{position:relative}
.guide-resource-delta{position:absolute;top:-14px;right:0;white-space:nowrap;font:800 9px/12px var(--font-game);padding:0 4px;border-radius:4px;background:#2d8b68;color:white;box-shadow:0 1px #164e3c;pointer-events:none}
.guide-data-negative>.guide-resource-delta{background:#b85471;box-shadow:0 1px #743348}
.guide-layer[data-kind="feedback"] .first-week-coach>p:not(.coach-error){font-size:10px}
@media(max-height:730px){.guide-layer[data-kind="feedback"] .first-week-coach>p:not(.coach-error){display:none}.coach-receipt-row{grid-template-columns:50px minmax(0,1fr) auto}.guide-resource-delta{font-size:8px;line-height:11px;top:-13px}}
.weekly-rewards>.guide-data-positive{display:inline-block;padding:3px 6px;background:#dff8ed;border-radius:5px;color:#246e52;font-weight:850}
/* Only compact-dialog actions need a side lane; keep those actions centered. */
.guide-current.guide-arrow-lane{width:calc(100% - 72px)!important;max-width:calc(100% - 72px)!important;flex:0 1 auto!important;align-self:center;margin-inline:auto!important}
.guide-layer[data-kind="feedback"] .first-week-coach>p:not(.coach-error){display:block;font-size:11px;line-height:1.5;color:#51445f;margin:3px 0 6px}
.has-guide-arrow-space{padding-top:56px}
.is-setup .setup-actions:has([data-action="start-run"].guide-current){padding-top:68px}
.guide-event-host{padding-bottom:calc(var(--guide-height,130px) + 26px)!important}
.guide-event-host .campus-heading{margin:6px 0 9px;gap:7px}
.guide-event-host .campus-heading .adventurer{width:42px;height:58px;flex:none}
.guide-event-host .campus-heading h2{font-size:18px;margin:3px 0}
.guide-event-host .campus-heading p{font-size:10px;line-height:1.4;margin:3px 0}
.guide-event-host .event-options{width:calc(100% - 54px);gap:8px}
.guide-event-host .event-options button{min-height:64px;padding:8px 6px;gap:6px}
.guide-event-host .event-options b{font-size:12px}
.guide-event-host .event-options small{font-size:10px;line-height:1.45}
.guide-event-host .option-letter{padding:5px;font-size:12px;min-width:22px}
.guide-event-host .first-week-coach{padding:9px 11px}
.guide-event-host .first-week-coach>b{font-size:15px}
.guide-event-host .coach-gesture{font-size:8px}
@media(max-height:730px){.guide-layer[data-kind="feedback"] .first-week-coach>p:not(.coach-error){display:block;font-size:10px}.guide-layer .first-week-coach{padding:8px 11px}.coach-receipt{margin-top:4px;gap:2px}.guide-event-host .campus-heading h2{font-size:16px}.guide-event-host .event-options button{min-height:61px}.guide-event-host .campus-heading .adventurer{height:49px}}
@media(max-height:730px){.guide-layer[data-kind="feedback"] .first-week-coach>.coach-label{display:inline-block;vertical-align:middle;font-size:8px;padding:2px 4px}.guide-layer[data-kind="feedback"] .first-week-coach>b{display:inline;vertical-align:middle;margin:0 0 0 7px;font-size:14px;line-height:1.5}.guide-layer[data-kind="feedback"] .first-week-coach>p{margin-top:5px!important}.guide-layer[data-kind="feedback"] .coach-receipt-row{padding:3px 5px;font-size:10px}.guide-layer[data-kind="feedback"] .coach-next{margin-top:4px;padding-top:4px}.guide-layer[data-kind="feedback"] .coach-gesture{font-size:8px;margin-top:3px}}
