.efo-entry{--entry-paper:var(--sj-tint);--entry-paper-ink:var(--sj-ink);max-width:1160px;margin:auto;padding:28px 40px 20px;color:var(--mode-ink)}.efo-entry *{box-sizing:border-box}.efo-entry button,.efo-entry input{font:inherit}.efo-entry button{cursor:pointer;-webkit-tap-highlight-color:transparent}.efo-entry button:focus-visible,.efo-entry input:focus-visible,.efo-entry summary:focus-visible{outline:3px solid var(--mode-accent);outline-offset:4px}.efo-header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-bottom:23px;border-bottom:1px solid var(--mode-line)}.efo-wordmark{font-size:1.95rem;font-weight:800;letter-spacing:-.03em;line-height:1}.efo-wordmark>span{color:var(--mode-accent)}.efo-teacher-login{color:var(--mode-muted);text-decoration:none;font-size:.875rem;font-weight:700;white-space:nowrap;padding:8px 0}.efo-teacher-login:hover{color:var(--mode-ink)}.efo-hero{display:flex;align-items:center;justify-content:center;min-height:calc(100svh - 82px);padding:64px 0 72px;text-align:center}.efo-copy{min-width:0;width:100%;max-width:680px}.efo-campus-welcome{--ca-muted:var(--mode-muted);width:100%;max-width:460px;margin:38px auto 0;text-align:left}.efo-campus-welcome .ca-welcome-caption{line-height:1.5;gap:8px;flex-wrap:wrap}.efo-campus-welcome .ca-welcome-paused .ca-welcome-character,body:has(.guest-welcome-dialog[open]) .efo-campus-welcome .ca-welcome-character{animation-play-state:paused}.efo-entry-actions{display:flex;justify-content:center;gap:12px;margin-top:34px}.efo-entry-actions a,.efo-entry-actions button{display:flex;align-items:center;justify-content:center;gap:18px;min-height:54px;min-width:150px;padding:14px 24px;border:1px solid var(--mode-line);border-radius:12px;background:var(--mode-surface);color:var(--mode-ink);text-decoration:none;font-size:1rem;font-weight:700;white-space:nowrap}.efo-entry-actions button{border-color:var(--mode-accent);background:var(--mode-accent);color:var(--mode-button-text)}.efo-entry-actions a:hover,.efo-entry-actions button:hover{filter:brightness(.97)}.efo-entry a:focus-visible{outline:3px solid var(--mode-accent);outline-offset:4px}.efo-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px 32px;margin-top:40px;padding:24px 0 8px;border-top:1px solid var(--mode-line);font-size:.8125rem;line-height:1.7;color:var(--mode-muted)}.efo-footer a{color:var(--mode-muted);text-decoration:none}.efo-footer a:hover{color:var(--mode-ink);text-decoration:underline}.efo-business address{display:flex;flex-wrap:wrap;font-style:normal}.efo-business address>span+span:before{content:"|";margin:0 10px;opacity:.45}.efo-business small{display:block;margin-top:4px;font-size:.75rem}.efo-footer-links{display:flex;flex-wrap:wrap;gap:4px 16px}.efo-footer-links b{font-weight:700;color:var(--mode-ink)}.efo-question{min-height:26px;margin-bottom:20px;font-size:.9375rem;line-height:1.7;color:var(--mode-accent-text);font-weight:600}.efo-question-typed{display:inline-grid;text-align:left}.efo-question-typed>span{grid-area:1/1}.efo-question-space{visibility:hidden}.efo-question-cursor{display:inline-block;width:2px;height:1em;background:currentColor;vertical-align:-.08em;margin-left:3px;animation:efo-cursor 1s step-end 3}.efo-copy h1{font-size:clamp(2.4rem,4.4vw,3.8rem);line-height:1.22;letter-spacing:-.065em;font-weight:800;margin:0}.efo-copy h1>span{color:var(--mode-accent-text)}.efo-route{max-width:320px;margin:48px auto 0}.efo-route-scene{height:96px;position:relative}.efo-route-scenery{position:absolute;inset:auto 0 -6px;width:100%;height:auto;pointer-events:none;image-rendering:pixelated}.efo-route-runner{position:absolute;width:65px;height:72px;bottom:0;left:0}.efo-route-runner canvas{display:block;max-width:100%;width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.efo-route-graduation{position:absolute;right:0;bottom:0;width:63px;height:82px}.efo-route-caption{display:flex;justify-content:space-between;gap:15px;padding-top:11px;font-size:.8125rem;color:var(--mode-muted)}.efo-route-caption strong{font-weight:650;color:var(--mode-ink)}.efo-start-button:active{transform:translateY(1px)}.efo-start{padding:24px 0}.efo-start,.efo-start-button{display:flex;align-items:center;justify-content:center}.efo-start-button{gap:20px;min-height:53px;padding:15px 25px;border:0;border-radius:11px;background:var(--mode-accent);color:var(--mode-button-text);font-weight:700!important;font-size:1rem!important;white-space:nowrap}.efo-start-button:hover{filter:brightness(1.07)}@keyframes efo-cursor{50%{opacity:0}}@keyframes efo-photo-flash{0%,to{opacity:0}15%{opacity:.85}55%{opacity:.08}}@media(max-width:850px){.efo-entry{max-width:560px;padding:22px 24px 20px}.efo-header{padding-bottom:19px}.efo-wordmark{font-size:1.75rem}.efo-hero{min-height:0;padding:45px 0 24px}.efo-question{margin-bottom:13px;font-size:.875rem;min-height:24px}.efo-copy h1{font-size:clamp(2.15rem,7.2vw,3.2rem);line-height:1.22}.efo-route{max-width:260px;margin-top:38px}.efo-entry-actions a,.efo-entry-actions button{min-width:0;flex:1;padding:14px 12px}.efo-start{padding:4px 0 19px}.efo-start-button{width:100%;max-width:285px;min-height:50px}.efo-footer{flex-direction:column;margin-top:32px;padding-top:20px}.efo-footer-links{order:-1}}@media(max-width:360px){.efo-entry{padding:18px 17px}.efo-copy h1{font-size:2rem}.efo-question{font-size:.8125rem}}@media(prefers-reduced-motion:reduce){.efo-entry *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}