/* Shared document foundation: no public or application component overrides. */
*{box-sizing:border-box}html{margin:0;scroll-padding-top:90px}body{margin:0;background:var(--v-bg);color:var(--v-ink);font-family:var(--v-font);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;font-synthesis:none}button,input,select,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}img,svg{max-width:100%}a{color:var(--v-primary);text-underline-offset:4px}a,button,input,select,textarea,summary{overflow-wrap:anywhere}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--v-focus);outline-offset:4px}.skip-link{position:fixed;left:12px;top:-120px;z-index:99999;background:var(--v-surface);color:var(--v-ink);padding:12px 18px}.skip-link:focus{top:12px}.sr-only,.sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}[hidden],.hidden{display:none!important}html[data-ui-area=public] :is(#bg-shapes,#sophie-mascot,#helper,.bg-shapes){display:none!important}#toast:empty{display:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

#ev-brand-intro{display:none}
html[data-ev-intro=pending] #ev-brand-intro{
 display:flex!important;position:fixed!important;inset:0!important;z-index:2147483000!important;
 flex-direction:column;align-items:center;justify-content:center;gap:26px;
 padding:32px;background:radial-gradient(ellipse at 50% 42%,#e9f1ff 0,transparent 58%),#f8faff;
 color:#13162b;opacity:1;transition:opacity .4s ease;isolation:isolate;
}
html[data-ev-intro=pending]{overflow:hidden!important}
html[data-ev-intro=pending] #ev-brand-intro.ev-intro-leaving{opacity:0;pointer-events:none}
#ev-brand-intro .ev-intro-wordmark{width:min(680px,82vw);height:auto;overflow:visible;filter:drop-shadow(0 18px 36px #384ee80b)}
#ev-brand-intro .ev-intro-reveal{width:0}
#ev-brand-intro .ev-intro-claim{font-family:var(--v-font);font-size:clamp(1rem,2.4vw,1.375rem);font-weight:400;line-height:1.5;letter-spacing:.005em;text-align:center;color:#53617a;margin:0;visibility:hidden;min-height:1.5em;white-space:pre-wrap}
#ev-brand-intro .ev-intro-skip{position:absolute;bottom:max(32px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:calc(100% - 40px);min-height:44px;padding:10px 16px;border:1px solid #d6dff2;border-radius:999px;background:#ffffffb8;color:#384ee8;font-family:var(--v-font);font-size:1rem;line-height:1.5;cursor:pointer;white-space:normal;text-align:center}
#ev-brand-intro .ev-intro-skip:focus-visible{outline:3px solid #384ee8;outline-offset:4px}
@keyframes evBrandDraw{from{width:0}to{width:1100px}}
@keyframes evBrandClaim{to{opacity:1}}
@media(prefers-reduced-motion:reduce){#ev-brand-intro .ev-intro-reveal{animation:none;width:1100px}#ev-brand-intro .ev-intro-claim{animation:none;opacity:1}html[data-ev-intro=pending] #ev-brand-intro{transition:none}}

#ev-brand-intro .ev-intro-wordmark{transform:translateY(calc(-60vh - 220px))}
#ev-brand-intro.ev-intro-running .ev-intro-wordmark{animation:evBrandDrop 1.6s both}
#ev-brand-intro.ev-intro-running .ev-intro-reveal{animation:evBrandDraw 2.4s cubic-bezier(.4,0,.2,1) 1.75s forwards}
#ev-brand-intro .ev-intro-claim.ev-intro-typing::after{content:'|';color:#384ee8;animation:evBrandCursor .7s steps(1) infinite}
@keyframes evBrandDrop{0%{transform:translateY(calc(-60vh - 220px));animation-timing-function:cubic-bezier(.55,.05,.85,.5)}55%{transform:translateY(0);animation-timing-function:ease-out}72%{transform:translateY(-38px);animation-timing-function:ease-in}85%{transform:translateY(0);animation-timing-function:ease-out}93%{transform:translateY(-10px);animation-timing-function:ease-in}100%{transform:translateY(0)}}
@keyframes evBrandCursor{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){#ev-brand-intro .ev-intro-wordmark{animation:none!important;transform:none}#ev-brand-intro .ev-intro-claim{visibility:visible}}

#ev-brand-intro[aria-hidden=true]{display:none!important}#ev-brand-intro.ev-intro-running .ev-intro-wordmark{animation-duration:.55s}#ev-brand-intro.ev-intro-running .ev-intro-reveal{animation-duration:.6s;animation-delay:.3s}
.eduvilo-skip{position:fixed;left:12px;top:12px;z-index:2147483647;padding:12px 18px;background:var(--v-surface);color:var(--v-ink);border:2px solid var(--v-primary);border-radius:8px;transform:translateY(-220%);font-weight:700}.eduvilo-skip:focus{transform:none}

/* Shared help dialog: explicitly owned independently from the application stylesheet. */
#ev-help{position:fixed;left:16px;bottom:16px;z-index:9990;background:var(--v-primary);color:var(--v-on);border:1px solid var(--v-primary);border-radius:24px;padding:12px 18px;box-shadow:0 5px 20px #102b4920;font:700 1rem/1.5 var(--v-font);cursor:pointer;max-width:calc(100% - 32px)}#ev-support{width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:0;overflow:auto;border:1px solid var(--v-line);border-radius:20px;background:var(--v-surface);color:var(--v-ink);box-shadow:0 20px 70px #102b4940;font:1rem/1.6 var(--v-font);text-align:left;overflow-wrap:anywhere}#ev-support::backdrop{background:#102b4970}#ev-support header{display:flex;align-items:center;gap:12px;padding:20px;background:var(--v-soft);position:sticky;top:0;z-index:1}#ev-support header img{object-fit:contain;border-radius:50%}#ev-support h2{font-size:1.3rem;margin:0;color:var(--v-ink)}#ev-support header p{margin:0;font-size:.875rem;color:var(--v-muted)}#ev-support [data-close]{margin-left:auto;font-size:1.5rem}#ev-support .ev-support-body{padding:20px}#ev-support button{font:650 1rem/1.5 var(--v-font);background:var(--v-primary);color:var(--v-on);border:1px solid var(--v-primary);border-radius:10px;padding:10px 14px;min-height:44px;max-width:100%}#ev-support :is(.ev-topics,.ev-actions){display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}#ev-support .ev-topics button{background:var(--v-soft);color:var(--v-primary);border-color:var(--v-line)}#ev-support :is(.ev-bot,.ev-user){background:var(--v-soft);padding:14px;border:1px solid var(--v-line);border-radius:12px;margin:12px 0}#ev-support .ev-user{margin-left:25px}#ev-support label{display:block;font-weight:650;margin:12px 0 6px}#ev-support :is(input,select,textarea){width:100%;min-height:44px;padding:10px;margin-top:5px;border:1px solid var(--v-input);border-radius:10px;font:1rem/1.5 var(--v-font);color:var(--v-ink);background:var(--v-surface)}#ev-support .ev-chat-row{display:flex;gap:8px}#ev-support .ev-chat-row input{margin:0;min-width:0}#ev-support .ev-note{font-size:.875rem;color:var(--v-muted)}#ev-support details{border-top:1px solid var(--v-line);padding-top:16px;margin-top:20px}#ev-support summary{cursor:pointer;font-weight:700;min-height:44px}#ev-support nav{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px;font-size:.875rem}#ev-support a{color:var(--v-primary);text-decoration:underline}#ev-support .ev-trap{display:none}#ev-support button:disabled{opacity:.7;cursor:wait}#ev-contact-status{overflow-wrap:anywhere}@media(max-width:480px){#ev-help{left:10px;bottom:10px;padding:10px 14px}#ev-support .ev-chat-row{flex-direction:column}#ev-support .ev-support-body{padding:16px}}

/* Existing learning-start appearance; R72 public components live in styles/public/. */
@layer evVisual{#r65-start :is(h2,h3){font-family:var(--r69-heading)!important;font-kerning:none!important;font-weight:800!important;letter-spacing:-.025em!important}
#r65-start .btn-primary{background:var(--r69-warm)!important;color:var(--r69-on-warm)!important;border-color:var(--r69-warm)!important;border-radius:14px!important;box-shadow:none!important}
#r65-start .btn-primary:hover{background:var(--r69-warm-hover)!important;border-color:var(--r69-warm-hover)!important}
#r65-start .r7-subject-tile{background:var(--r69-subject-bg,var(--v-soft))!important;color:var(--r69-subject-ink,var(--v-ink))!important;border:2px solid transparent!important;border-radius:18px!important;box-shadow:none!important;padding:20px 10px!important;min-height:130px!important;gap:14px!important}
#r65-start .r7-subject-tile>span{color:inherit!important;background:transparent!important;border:0!important;margin-inline:auto!important}
#r65-start .r7-subject-tile svg{width:34px!important;height:34px!important;stroke:currentColor!important}
#r65-start .r7-subject-tile:hover{border-color:currentColor!important;transform:translateY(-3px)!important}
#r65-start .r65-continue{position:relative!important;padding:28px!important;min-height:160px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;column-gap:20px!important;background:var(--r69-hero)!important;border-radius:24px!important}
#r65-start .r65-continue>:not(.r69-ring){grid-column:1!important}
#r65-start .r69-ring{grid-column:2!important;grid-row:1/5!important;width:126px!important;align-self:center!important;text-align:center!important;position:relative!important;color:var(--v-ink)!important}
#r65-start .r69-ring svg{width:108px!important;height:108px!important;display:block!important;margin:auto!important;transform:rotate(-90deg)!important;fill:none!important;stroke:var(--v-line)!important;stroke-width:7!important}
#r65-start .r69-ring circle:last-child{stroke:var(--r69-warm)!important;stroke-linecap:round!important}
#r65-start .r69-ring b{position:absolute!important;top:32px!important;left:0!important;right:0!important;font-family:var(--r69-heading)!important;font-size:1.5rem!important;color:var(--v-ink)!important}
#r65-start .r69-ring small{display:block!important;font-size:.75rem!important;line-height:1.5!important;color:var(--v-muted)!important}
#r65-start .r65-sophie{border-radius:24px!important;background:var(--v-surface)!important;border:1px solid var(--v-line)!important}
.r65-young #r65-start .r7-subject-tile{min-height:156px!important;border-radius:28px!important;font-size:1.1rem!important}
body:not(.r65-young) #r65-start .r7-subject-tile{border-radius:16px!important}
#r65-start :is(a,button):focus-visible{outline:3px solid var(--v-focus)!important;outline-offset:4px!important}
@keyframes r69-celebrate{0%{transform:scale(1)}45%{transform:scale(1.025)}100%{transform:scale(1)}}
body.look-motion-on:not(.look-motion-paused) .r69-celebrate{animation:r69-celebrate 480ms ease-out!important}
body.look-motion-on:not(.look-motion-paused) #r65-start .r7-subject-tile{transition:transform 160ms ease-out!important}
body.look-motion-paused .r69-celebrate{animation:none!important}
@media(prefers-reduced-motion:reduce){.r69-celebrate{animation:none!important}
#r65-start *{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:800px){#r65-start .r65-continue{padding:22px!important;grid-template-columns:minmax(0,1fr)!important}
#r65-start .r69-ring{grid-column:1!important;grid-row:auto!important;width:100%!important;position:relative!important;justify-self:center!important;margin-top:16px!important}
#r65-start .r69-ring b{top:32px!important}}}
@layer evVisual{#r65-start .r7-subject-tile b{font-family:var(--r69-heading)!important;font-weight:800!important;}
#screen-app .quiz-opt.correct{background:var(--r69-success-bg)!important;color:var(--r69-success)!important;border-color:var(--r69-success)!important;}}
@layer evVisual{#r7-sidebar .age-nav-toggle{display:none!important}}
