.streak-celebration{text-align:center;background:radial-gradient(circle at 50% 24%,#56bbff2e,#0000 42%);justify-items:center;gap:.75rem;max-inline-size:28rem;margin-inline:auto;padding:.25rem;display:grid;position:relative;overflow:hidden}.streak-celebration__hero{isolation:isolate;place-items:end center;min-block-size:13rem;inline-size:min(15rem,65vw);display:grid;position:relative}.streak-celebration__hero>*{grid-area:1/1}.streak-celebration__hero .autolupo-mascot{animation:streak-lupo-arrive .95s .1s var(--ease-standard) both;filter:drop-shadow(0 .85rem 1rem #113e8533);z-index:2;position:relative}.streak-celebration__halo{animation:streak-halo-arrive .8s var(--ease-standard) both;aspect-ratio:1;background:radial-gradient(circle,#61c9ff7a,#2d70e61f 52%,#0000 70%);border-radius:50%;inline-size:100%}.streak-celebration__flame{animation:streak-flame-arrive .72s .26s var(--ease-standard) both;z-index:3;background:linear-gradient(145deg,#91e6ff 2%,#2f8cff 48%,#1659cf);border-radius:72% 34% 68% 38%;justify-content:center;align-items:center;inline-size:3.4rem;display:flex;position:absolute;inset-block-end:.55rem;inset-inline-end:.55rem;rotate:45deg;box-shadow:0 0 1.5rem #2f8cff8c}.streak-celebration__flame:before{aspect-ratio:1;content:"";background:#d8f7ff;border-radius:68% 36% 62% 42%;inline-size:1.5rem}.streak-celebration__flame span{aspect-ratio:1;background:#4eaaff;border-radius:70% 35% 65% 40%;inline-size:.7rem;position:absolute}.streak-celebration__plus{animation:streak-plus-pop .65s .65s var(--ease-standard) both;border-radius:var(--radius-pill);color:#fff;z-index:4;background:linear-gradient(145deg,#a8ebff,#2687f6);border:3px solid #fff;padding:.28rem .55rem;font-size:1.15rem;font-weight:950;position:absolute;inset-block-start:1.25rem;inset-inline-end:.15rem;box-shadow:0 .4rem 1rem #1768d64d}.streak-celebration__sparks{z-index:1;position:absolute;inset:0}.streak-celebration__sparks i{animation:streak-spark .85s calc(.18s + var(--spark)*80ms) var(--ease-standard) both;height:.55rem;left:calc(9% + var(--spark)*16%);background:#50bfff;border-radius:50%;width:.55rem;position:absolute;top:62%}.streak-celebration__sparks i:first-child{--spark:0}.streak-celebration__sparks i:nth-child(2){--spark:1}.streak-celebration__sparks i:nth-child(3){--spark:2}.streak-celebration__sparks i:nth-child(4){--spark:3}.streak-celebration__sparks i:nth-child(5){--spark:4}.streak-celebration__sparks i:nth-child(6){--spark:5}.streak-celebration h2{color:var(--color-depth);font-size:clamp(1.5rem,6vw,2.15rem)}.streak-celebration p{color:var(--color-text-secondary);margin:.25rem auto .7rem}.streak-celebration__count{color:var(--color-primary,#1d5f9d);letter-spacing:.05em;text-transform:uppercase;flex-direction:column;align-items:center;font-size:.82rem;display:inline-flex}.streak-celebration__number{animation:streak-number-rise .7s .5s var(--ease-standard) both;color:#1677e9;font-variant-numeric:tabular-nums;letter-spacing:-.05em;text-shadow:0 .25rem .75rem #1677e92e;font-size:clamp(2.6rem,11vw,4rem);line-height:1}.streak-celebration__label{color:var(--color-primary,#1d5f9d);letter-spacing:.05em;font-size:.82rem}@keyframes streak-halo-arrive{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:none}}@keyframes streak-flame-arrive{0%{opacity:0;transform:translateY(1rem)scale(.55)}70%{opacity:1;transform:translateY(-.2rem)scale(1.08)}to{opacity:1;transform:none}}@keyframes streak-lupo-arrive{0%{opacity:0;transform:translateY(3rem)scale(.72)rotate(-5deg)}58%{opacity:1;transform:translateY(-.7rem)scale(1.08)rotate(2deg)}78%{transform:translateY(.25rem)scale(.98)}to{opacity:1;transform:none}}@keyframes streak-plus-pop{0%{opacity:0;transform:scale(.25)rotate(-20deg)}70%{opacity:1;transform:scale(1.15)rotate(4deg)}to{opacity:1;transform:none}}@keyframes streak-number-rise{0%{opacity:0;transform:translateY(1rem)scale(.75)}65%{opacity:1;transform:translateY(-.2rem)scale(1.12)}to{opacity:1;transform:none}}@keyframes streak-spark{0%{opacity:0;transform:translateY(0)scale(.45)}40%{opacity:1}to{opacity:0;transform:translateY(-6rem)scale(1.25)}}@media (prefers-reduced-motion:reduce){.streak-celebration *{transition:none!important;animation:none!important}}*,:before,:after{box-sizing:border-box}html{min-width:320px;scroll-padding-top:calc(5.5rem + env(safe-area-inset-top));-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}body,h1,h2,p{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}::selection{color:#102f70;background:#b9dcff}@media (width>=768px){html{scrollbar-gutter:stable}}:root{--color-background:#f5f8ff;--color-surface:#fff;--color-primary:#2463d4;--color-primary-dark:#16458f;--color-depth:#162b52;--color-success:#137a59;--color-warning:#8a5b00;--color-error:#b52b42;--color-text:#17233a;--color-text-secondary:#52627a;--color-border:#d9e2f2;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--radius-sm:.75rem;--radius-md:1.25rem;--radius-lg:2rem;--radius-pill:999px;--shadow-card:0 8px 24px #162b5214;--shadow-card-hover:0 14px 30px #162b5224;--duration-fast:.15s;--duration-normal:.24s;--motion-intro:2.4s;--ease-standard:cubic-bezier(.2,.8,.2,1)}body{background:var(--color-background);color:var(--color-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;line-height:1.5}.app-shell{min-height:100vh;padding-bottom:5.5rem}.top-bar{background:var(--color-surface);border-bottom:1px solid var(--color-border)}.top-bar__inner,.main-content,.main-nav__inner{max-width:1120px;margin:0 auto}.top-bar__inner{min-height:4.75rem;padding:var(--space-3) max(var(--space-4),env(safe-area-inset-right)) var(--space-3) max(var(--space-4),env(safe-area-inset-left));justify-content:space-between;align-items:center;display:flex}.brand{color:var(--color-depth);align-items:center;gap:.6rem;font-size:1.05rem;font-weight:800;display:flex}.top-bar__status{color:var(--color-text-secondary);font-size:.8rem}.status-dot{background:var(--color-success);border-radius:50%;width:.5rem;height:.5rem;margin-right:.35rem;display:inline-block}.main-content{padding:2.25rem var(--space-4) 3rem}.page{max-width:850px;margin:0 auto}.hero-copy{align-items:center;gap:var(--space-5);max-width:720px;margin:0 auto 2.5rem;display:flex}.page-heading{margin-bottom:2rem}h1{color:var(--color-depth);letter-spacing:-.04em;text-wrap:balance;font-size:clamp(2rem,6vw,3.25rem);line-height:1.08}h2{color:var(--color-depth);text-wrap:balance;font-size:1.15rem;line-height:1.2}.eyebrow{color:var(--color-primary-dark);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem;font-size:.75rem;font-weight:800}.lead{color:var(--color-text-secondary);max-width:570px;margin-top:.8rem;font-size:1.05rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.map-placeholder{align-items:center;gap:var(--space-5);border-style:dashed;padding:clamp(1.25rem,5vw,2.25rem);display:flex}.map-placeholder p:not(.eyebrow),.exam-card p{color:var(--color-text-secondary);margin-top:.45rem}.placeholder-icon{border-radius:var(--radius-md);color:var(--color-primary);background:#e6efff;flex:0 0 3.5rem;justify-content:center;align-items:center;height:3.5rem;font-size:1.7rem;display:flex}.exam-grid{gap:var(--space-4);display:grid}.exam-card{grid-template-columns:auto 1fr;align-items:center;gap:1rem;padding:1.25rem;display:grid}.exam-card__icon{border-radius:var(--radius-sm);color:var(--color-primary);background:#e9efff;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:1.6rem;display:flex}.exam-card__icon--green{color:var(--color-success);background:#e4f5ef}.coming-soon{border-radius:var(--radius-pill);color:var(--color-warning);background:#fff4d7;grid-column:2;justify-self:start;padding:.35rem .65rem;font-size:.72rem;font-weight:800}.empty-state{text-align:center;padding-top:3rem}.empty-state .lead{margin:.8rem auto 1.5rem}.button{background:var(--color-primary);border-radius:var(--radius-pill);color:#fff;transition:transform var(--duration-fast) var(--ease-standard),background var(--duration-fast);border:0;padding:.8rem 1.2rem;font-weight:800}.button:hover{background:var(--color-primary-dark);transform:translateY(-2px)}.button:active{transform:translateY(1px)scale(.98)}.button:focus-visible,.nav-item:focus-visible,.brand:focus-visible{outline-offset:3px;outline:3px solid #f2b84b}.button:disabled{color:#f6f8fc;cursor:not-allowed;background:#aebbd0;transform:none}.main-nav{border-top:1px solid var(--color-border);padding-inline:env(safe-area-inset-left) env(safe-area-inset-right);z-index:10;background:#fffffff5;position:fixed;bottom:0;left:0;right:0}.main-nav__inner{justify-content:space-around;min-width:0;display:flex}.nav-item{color:var(--color-text-secondary);text-align:center;min-width:0;transition:color var(--duration-fast);flex-direction:column;flex:1;align-items:center;gap:.15rem;padding:.7rem .4rem;font-size:.72rem;font-weight:750;display:flex}.nav-item--active{color:var(--color-primary)}.nav-item__icon{font-size:1.2rem;line-height:1}@media (width>=768px){.app-shell{padding-bottom:0}.top-bar__inner,.main-content{padding-left:2rem;padding-right:2rem}.main-content{padding-top:4rem}.main-nav{background:0 0;border:0;position:absolute;top:1.25rem;right:2rem}.main-nav__inner{gap:.5rem}.nav-item{border-radius:var(--radius-pill);flex-direction:row;flex:none;gap:.45rem;padding:.6rem .9rem}.nav-item--active{background:#e6efff}.top-bar__status{margin-right:14rem}.exam-grid{grid-template-columns:repeat(2,1fr)}.exam-card{align-items:start}}@media (width>=1100px){.top-bar__inner,.main-content{padding-left:0;padding-right:0}}@media (width<=500px){.hero-copy{flex-direction:column;align-items:flex-start;gap:1rem}.top-bar__status{display:none}.map-placeholder{flex-direction:column;align-items:flex-start}}.final-exam-notice,.final-exam-page__notice{border-radius:var(--radius-sm);color:var(--color-depth);background:#fff4d7;margin-top:1rem;padding:.7rem .9rem;font-size:.9rem}.final-exam-page{max-width:980px;margin:0 auto}.final-exam-page__header{margin-bottom:1.5rem}.exam-card__meta{flex-wrap:wrap;align-items:flex-start;gap:.45rem .8rem;margin-top:.75rem;font-size:.78rem;display:flex}.exam-card__status{color:var(--color-text-secondary);font-weight:800}.exam-card__status.is-passed{color:var(--color-success)}.final-exam-page .theory-exam,.final-exam-page .practical-exam{max-width:760px;margin:0 auto}.final-exam-page .activity-gate{max-width:720px;margin:0 auto}.hero-copy{grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.hero-copy>div{min-width:0}.hero-copy .autolupo-mascot--large{aspect-ratio:1216/1294;object-fit:contain;block-size:clamp(5.5rem,22vw,13rem);inline-size:auto;max-inline-size:34vw}.lessons-welcome{border-radius:var(--radius-md);transform-origin:50%;max-height:22rem;position:relative;overflow:clip}.lessons-welcome--exiting{animation:lessons-welcome-exit 1.2s var(--ease-standard) forwards;pointer-events:none}.lessons-welcome--exiting:after{content:"";pointer-events:none;background:radial-gradient(circle at 75%,#3b8eff80,#0000 62%);animation:1.2s ease-out forwards lessons-welcome-glow;position:absolute;inset:0}.lessons-welcome--exiting .autolupo-mascot{animation:1.05s ease-in forwards lessons-welcome-lupo}@keyframes lessons-welcome-exit{0%{opacity:1;max-height:22rem;margin-bottom:2.5rem;transform:scale(1)}36%{opacity:1;transform:scale(1.025)}70%{opacity:0;transform:translateY(-1rem)scale(.97)}to{opacity:0;max-height:0;margin-bottom:0;transform:translateY(-2rem)scale(.94)}}@keyframes lessons-welcome-glow{0%,to{opacity:0}35%{opacity:1}}@keyframes lessons-welcome-lupo{0%{transform:translateY(0)rotate(0)}35%{transform:translateY(-.45rem)rotate(-4deg)scale(1.06)}to{opacity:0;transform:translate(3rem,-2rem)rotate(8deg)scale(.82)}}@media (prefers-reduced-motion:reduce){.lessons-welcome--exiting,.lessons-welcome--exiting:after,.lessons-welcome--exiting .autolupo-mascot{animation-duration:1ms}}.brand__logo{object-fit:cover;border-radius:.6rem;block-size:2.25rem;inline-size:2.25rem}.top-bar{background:var(--color-depth);color:#fff;padding-top:env(safe-area-inset-top);z-index:15;position:sticky;top:0}.top-bar .brand,.top-bar .top-bar__nav-link{color:#fff}.top-bar .top-bar__nav-link--active{background:#ffffff29}.top-bar__actions{align-items:center;gap:.45rem;display:flex}.top-bar__metric{font-variant-numeric:tabular-nums;align-items:center;gap:.2rem;font-size:.82rem;display:inline-flex}@media (width<=767px){.top-bar__nav{display:none}.top-bar__inner{padding-inline:max(var(--space-3),env(safe-area-inset-left)) max(var(--space-3),env(safe-area-inset-right));gap:.5rem}.top-bar__actions{gap:.3rem}.top-bar__metric{font-size:.72rem}.dev-heart-button{display:none}}@media (width<=340px){.brand>span{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.brand__logo{block-size:2rem;inline-size:2rem}.top-bar__inner{padding-inline:max(.55rem,env(safe-area-inset-left)) max(.55rem,env(safe-area-inset-right))}.top-bar__actions{gap:.2rem}}@media (width<=767px){.main-nav{padding-bottom:env(safe-area-inset-bottom)}.nav-item{min-height:44px}.app-shell{padding-bottom:0}}.animate-in{animation:content-enter .5s var(--ease-standard) both}.card{transition:box-shadow var(--duration-normal) var(--ease-standard),transform var(--duration-normal) var(--ease-standard)}@media (hover:hover) and (pointer:fine){.card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-3px)}}@keyframes content-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.lesson-map-layout{gap:1.25rem;display:grid;position:relative}.lesson-map-column{min-width:0}.lesson-map__legend{color:var(--color-text-secondary);flex-wrap:wrap;gap:.7rem 1rem;margin:0 0 .75rem .25rem;font-size:.72rem;display:flex}.lesson-map__legend span{align-items:center;gap:.35rem;display:inline-flex}.legend-dot{border:2px solid var(--color-border);border-radius:50%;width:.7rem;height:.7rem;display:inline-block}.legend-dot--available{border-color:var(--color-primary);background:#fff}.legend-dot--inProgress{border-color:var(--color-primary);background:#d8e7ff}.legend-dot--completed{background:var(--color-success);border-color:var(--color-success)}.legend-dot--locked{background:#eef1f6;border-color:#9aa8bb}.lesson-map-card{padding:1.25rem .8rem 1.5rem;overflow:hidden}.lesson-map-card__intro{justify-content:space-between;align-items:center;padding:0 .5rem 1rem;display:flex}.lesson-map-card__intro h2{font-size:1.2rem}.lesson-map-card__count{border-radius:var(--radius-pill);color:var(--color-primary-dark);background:#e6efff;padding:.4rem .65rem;font-size:.8rem;font-weight:850}.lesson-map__route{margin:0;padding:1rem 0;list-style:none;position:relative}.lesson-map__route:before{content:"";background:repeating-linear-gradient(#bed1f3 0 10px,#0000 10px 18px);width:3px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.lesson-map__item{width:100%;min-height:5.5rem;padding:.25rem 0;display:flex;position:relative}.lesson-map__item--left{justify-content:flex-start;padding-right:calc(50% + .9rem)}.lesson-map__item--right{justify-content:flex-end;padding-left:calc(50% + .9rem)}.lesson-node{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);text-align:left;z-index:1;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:.45rem;width:100%;min-height:4.6rem;padding:.55rem .65rem;display:grid;position:relative}.lesson-node:hover{border-color:var(--color-primary);box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.lesson-node:focus-visible{outline-offset:3px;outline:3px solid #f2b84b}.lesson-node--locked{color:#617087;background:#f4f6fa;border-style:dashed}.lesson-node--available{border-color:var(--color-primary);box-shadow:0 0 0 4px #2463d41a}.lesson-node--inProgress{border-color:var(--color-primary);background:#edf4ff}.lesson-node--completed{border-color:var(--color-success)}.lesson-node__number{background:var(--color-depth);color:#fff;border-radius:50%;flex:0 0 2rem;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.8rem;font-weight:850;display:flex}.lesson-node--locked .lesson-node__number{background:#7c8ca3}.lesson-node--completed .lesson-node__number{background:var(--color-success)}.lesson-node__icon{color:var(--color-primary-dark);background:#e7efff;border-radius:.6rem;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1.05rem;display:flex}.lesson-node--locked .lesson-node__icon{color:#6d7b90;background:#e5e9f0}.lesson-node__copy{flex-direction:column;min-width:0;display:flex}.lesson-node__copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;line-height:1.2;overflow:hidden}.lesson-node__status{color:var(--color-text-secondary);margin-top:.2rem;font-size:.68rem}.lesson-node--available .lesson-node__status{color:var(--color-primary-dark);font-weight:800}.lesson-node--completed .lesson-node__status{color:var(--color-success);font-weight:800}.lesson-node__state-icon{color:var(--color-primary);font-size:1.1rem;font-weight:850}.lesson-node--locked .lesson-node__state-icon{color:#7c8ca3}.lesson-node--completed .lesson-node__state-icon{color:var(--color-success)}.lesson-details{padding:1.25rem}.lesson-details__header,.lesson-details__progress-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.lesson-details__close,.lesson-details__backdrop{display:none}.lesson-details__kicker{color:var(--color-primary-dark);letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;font-weight:850}.lesson-details__duration{color:var(--color-text-secondary);white-space:nowrap;font-size:.78rem}.lesson-details h2{margin-top:.7rem;font-size:1.5rem}.lesson-details__description{color:var(--color-text-secondary);margin-top:.5rem}.lesson-details__section{border-top:1px solid var(--color-border);margin-top:1.15rem;padding-top:1rem}.lesson-details h3{color:var(--color-depth);font-size:.82rem}.lesson-objectives{gap:.55rem;margin:.7rem 0 0;padding:0;list-style:none;display:grid}.lesson-objectives li{align-items:flex-start;gap:.55rem;font-size:.86rem;display:flex}.lesson-objectives li span{color:var(--color-success);font-weight:900}.lesson-details__progress-heading span{color:var(--color-text-secondary);font-size:.78rem}.stage-progress{grid-template-columns:repeat(3,1fr);gap:.5rem;margin:.7rem 0 0;padding:0;list-style:none;display:grid}.stage-progress li{color:var(--color-text-secondary);text-align:center;flex-direction:column;align-items:center;gap:.25rem;font-size:.7rem;display:flex}.stage-progress__marker{color:#6b7b92;border:2px solid #aebbd0;border-radius:50%;justify-content:center;align-items:center;width:1.6rem;height:1.6rem;font-size:.8rem;display:flex}.stage-progress__item--done{font-weight:750;color:var(--color-success)!important}.stage-progress__item--done .stage-progress__marker{border-color:var(--color-success);color:var(--color-success);background:#e4f5ef}.lesson-details__continue{width:100%;margin-top:1.25rem}.lesson-details__notice{color:var(--color-primary-dark);margin-top:.65rem;font-size:.75rem}.lesson-details__locked{color:#684600;background:#fff4d7;border-left:4px solid #d49a24;margin-top:1.25rem;padding:.8rem .9rem}.lesson-details__locked strong{font-size:.82rem}.lesson-details__locked p{margin-top:.3rem;font-size:.8rem}.progress-dev-tools{border-radius:var(--radius-md);color:#fff;background:#1c2f52;border:1px solid #34537f;justify-content:space-between;align-items:center;gap:1rem;margin-top:.5rem;padding:.8rem 1rem;display:flex}.progress-dev-tools>div:first-child{flex-direction:column;display:flex}.progress-dev-tools strong{font-size:.78rem}.progress-dev-tools span{color:#c2d1e8;margin-top:.15rem;font-size:.7rem}.progress-dev-tools__actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.progress-dev-tools .button{padding:.55rem .75rem;font-size:.72rem}.progress-dev-tools .button--quiet{background:0 0;border:1px solid #8da4c7}.progress-dev-tools .button--quiet:hover{background:#2b4670}@media (width>=768px){.lesson-map-layout{grid-template-columns:minmax(0,1fr) minmax(300px,380px);align-items:start}.lesson-details{top:calc(7.5rem + env(safe-area-inset-top));position:sticky}.progress-dev-tools{grid-column:1/-1}.lesson-map-card{padding-left:1.25rem;padding-right:1.25rem}}@media (width>=1100px){.main-content--lessons{max-width:1480px;padding-inline:2rem}.page--lessons{width:100%;max-width:1400px}.lesson-map-layout{grid-template-columns:minmax(690px,1fr) minmax(350px,390px);gap:1.75rem}.lesson-map-card{padding-left:1.75rem;padding-right:1.75rem}.lesson-map__item--left{padding-right:calc(38% + .7rem)}.lesson-map__item--right{padding-left:calc(38% + .7rem)}.lesson-node{min-height:5rem;padding:.75rem .9rem}.lesson-node__copy strong{font-size:.88rem;line-height:1.25}.lesson-node__status{font-size:.72rem}}@media (width<=767px){.lesson-details:not(.lesson-details--open){display:none}.lesson-details--open{animation:sheet-enter var(--duration-normal) var(--ease-standard) both;bottom:calc(5.5rem + env(safe-area-inset-bottom));box-sizing:border-box;max-height:calc(100dvh - 6.25rem);padding-bottom:calc(1.25rem + env(safe-area-inset-bottom));z-index:30;position:fixed;left:.75rem;right:.75rem;overflow:auto}.lesson-details__backdrop{z-index:20;background:#162b526b;display:block;position:fixed;inset:0}.lesson-details__close{border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-primary-dark);background:0 0;align-items:center;gap:.4rem;min-width:44px;min-height:44px;margin:0 0 .8rem auto;padding:.4rem .8rem;font-size:.78rem;font-weight:800;display:flex}.lesson-details__close:hover{background:#eaf1ff}.lesson-details__continue{justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:1.5rem;display:flex}.lesson-map-card{padding-left:.25rem;padding-right:.25rem}.lesson-map-card__intro{padding-left:.7rem;padding-right:.7rem}.lesson-map__item--left{padding-right:calc(50% + .55rem)}.lesson-map__item--right{padding-left:calc(50% + .55rem)}.lesson-node{grid-template-columns:auto minmax(0,1fr) auto;gap:.3rem;padding:.5rem .45rem}.lesson-node__icon{display:none}.lesson-node__copy strong{font-size:.72rem}.lesson-node__status{font-size:.64rem}.lesson-node__number{width:1.8rem;height:1.8rem}.progress-dev-tools{flex-direction:column;align-items:stretch}.progress-dev-tools__actions{justify-content:stretch}.progress-dev-tools .button{flex:1}}@keyframes sheet-enter{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.lesson-details--open{animation:none}}.curriculum-blocks{gap:1.5rem;display:grid}.curriculum-block{background:linear-gradient(#f7faff 0%,#fff 20%);border:1px solid #d9e6fb;border-radius:1.35rem;padding:.85rem .7rem 1rem;overflow:hidden}.curriculum-block__header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.45rem .35rem .8rem;display:grid}.curriculum-block__number{background:linear-gradient(145deg,var(--color-primary),var(--color-primary-dark));color:#fff;border:3px solid #fff;border-radius:1rem;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:1rem;font-weight:900;display:flex;box-shadow:0 4px #173d85}.curriculum-block__heading h3{color:var(--color-depth);margin:.1rem 0 .2rem;font-size:1.05rem}.curriculum-block__heading>p:last-child{color:var(--color-text-secondary);font-size:.76rem;line-height:1.35}.curriculum-block__progress{flex-direction:column;align-items:flex-end;gap:.35rem;min-width:6.5rem;display:flex}.curriculum-block__progress strong{color:var(--color-primary-dark);font-size:.72rem}.curriculum-block__progress-track{background:#dce8fa;border-radius:999px;width:100%;height:.55rem;display:block;overflow:hidden}.curriculum-block__progress-track i{border-radius:inherit;height:100%;transition:width var(--duration-normal) var(--ease-standard);background:linear-gradient(90deg,#2b6fe5,#52a0ff);display:block}.curriculum-checkpoint{background:linear-gradient(145deg,#eaf2ff,#dceaff);border:2px solid #a9c8f8;border-radius:1rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;margin:.5rem .35rem 0;padding:.9rem;display:grid}.curriculum-checkpoint__badge{color:#fff;background:#7492bd;border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:3.25rem;height:3.25rem;font-size:1.2rem;display:flex;box-shadow:0 3px #496482}.curriculum-checkpoint--prepared .curriculum-checkpoint__badge{background:var(--color-primary);box-shadow:0 3px 0 var(--color-primary-dark)}.curriculum-checkpoint__copy h3{color:var(--color-depth);margin:.1rem 0 .2rem;font-size:.95rem}.curriculum-checkpoint__copy>p:last-of-type{color:var(--color-text-secondary);font-size:.74rem}.curriculum-checkpoint__copy ul{flex-wrap:wrap;gap:.35rem .85rem;margin:.45rem 0 0;padding:0;list-style:none;display:flex}.curriculum-checkpoint__copy li{color:var(--color-primary-dark);font-size:.7rem;font-weight:750}.curriculum-checkpoint__status{color:#526b90;text-align:center;background:#fff;border:1px solid #b9cceb;border-radius:999px;max-width:8rem;padding:.4rem .6rem;font-size:.67rem;font-weight:850}.curriculum-checkpoint__actions{flex-direction:column;align-items:stretch;gap:.4rem;display:flex}.curriculum-checkpoint__actions .button{white-space:nowrap;padding:.55rem .7rem;font-size:.72rem}.curriculum-checkpoint__practice-link{color:var(--color-primary-dark);text-align:center;font-size:.7rem;font-weight:800}@media (width<=767px){.curriculum-block{padding-left:.2rem;padding-right:.2rem}.curriculum-block__header{grid-template-columns:auto minmax(0,1fr);align-items:start;padding-left:.6rem;padding-right:.6rem}.curriculum-block__number{width:2.5rem;height:2.5rem}.curriculum-block__progress{grid-column:1/-1;align-items:stretch;width:100%;padding:0 .1rem}.curriculum-checkpoint{grid-template-columns:auto minmax(0,1fr);align-items:start;margin-left:.55rem;margin-right:.55rem}.curriculum-checkpoint__status{grid-column:1/-1;width:100%;max-width:none}}@media (prefers-reduced-motion:reduce){.curriculum-block__progress-track i{transition:none}}.lesson-node__copy strong{overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.lesson-map__route:before{filter:drop-shadow(0 1px #fff);opacity:.78;background:repeating-linear-gradient(#93b9f5 0 12px,#0000 12px 20px);width:4px}.lesson-node{transition:border-color var(--duration-fast),box-shadow var(--duration-fast),transform var(--duration-fast),background var(--duration-fast);background:linear-gradient(#fff,#f9fbff);box-shadow:0 4px #c8d4e7}.lesson-node:hover{box-shadow:0 6px 0 #9ab8e9,var(--shadow-card-hover)}.lesson-node:active{transform:translateY(3px);box-shadow:0 1px #9ab8e9}.lesson-node--locked{box-shadow:0 3px #d9e0ea}.lesson-node--available{background:linear-gradient(145deg,#fff,#edf5ff);animation:2.4s ease-in-out infinite lesson-node-ready;box-shadow:0 4px #1b4fa9,0 0 0 4px #3f8cff1f}.lesson-node--inProgress{background:linear-gradient(145deg,#f1f7ff,#dceaff);box-shadow:0 4px #2b61b8}.lesson-node--completed{background:linear-gradient(145deg,#fff,#e8f8f1);box-shadow:0 4px #0e6247}.lesson-node--selected{box-shadow:0 5px #1b4fa9,0 0 0 5px #4191ff38}.lesson-node__number{background:linear-gradient(145deg,#254879,#142d54);border:2px solid #ffffffd9;font-weight:900;box-shadow:0 3px #0d203e}.lesson-node__state-icon{background:#e6efff;border-radius:50%;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:.95rem;display:flex}.lesson-node--locked .lesson-node__state-icon{background:#e5e9f0}.lesson-node--completed .lesson-node__state-icon{background:#dff5eb}@keyframes lesson-node-ready{0%,to{box-shadow:0 4px #1b4fa9,0 0 0 4px #3f8cff1a}50%{box-shadow:0 4px #1b4fa9,0 0 0 7px #3f8cff2e}}@media (prefers-reduced-motion:reduce){.lesson-node--available{animation:none}.lesson-node{transition:none}}.top-bar__inner{gap:1rem}.brand{flex-shrink:0}.top-bar__nav{gap:.3rem;margin-left:auto;display:flex}.top-bar__nav-link{border-radius:var(--radius-pill);color:var(--color-text-secondary);padding:.55rem .8rem;font-size:.82rem;font-weight:750}.top-bar__nav-link--active{color:var(--color-primary);background:#e6efff}.top-bar__actions{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.hearts-indicator{grid-template-columns:auto auto;align-items:center;column-gap:.35rem;min-width:4rem;display:grid}.hearts-indicator__icons{gap:.12rem;display:flex}.heart-icon{fill:none;stroke:#aebbd0;stroke-width:1.8px;width:1.15rem;height:1.15rem}.heart-icon--filled{fill:#e84c68;stroke:#b52b42}.hearts-indicator__count{color:#ffb3c1;font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:800}.hearts-indicator__timer{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;text-align:right;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;min-height:1rem;font-size:.62rem;overflow:hidden}.recovery-timer--full{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.dev-heart-button{border-radius:var(--radius-pill);color:#684600;background:#fff4d7;border:1px solid #e5bd5d;padding:.5rem .7rem;font-size:.7rem;font-weight:800}.top-bar__nav-link:focus-visible,.dev-heart-button:focus-visible{outline-offset:3px;outline:3px solid #f2b84b}.metric-icon{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;block-size:1.15rem;inline-size:1.15rem}.metric-icon--streak{filter:drop-shadow(0 0 .25rem #40aaff59);stroke:#0c4ca8;overflow:visible}.metric-icon--streak .metric-icon__flame-inner{fill:#d6f8ff;stroke:none}.top-bar__metric--streak{color:#a8dcff;font-weight:900}.top-bar__metric--streak.is-active{animation:2.1s ease-in-out infinite topbar-flame-glow}.top-bar__metric--streak.is-active .metric-icon__flame-outer{transform-box:fill-box;transform-origin:bottom;animation:1.15s ease-in-out infinite alternate topbar-flame}.top-bar__metric--streak.is-active .metric-icon__flame-inner{transform-box:fill-box;transform-origin:bottom;animation:.72s ease-in-out infinite alternate topbar-flame-inner}.top-bar__metric--coins{color:#ffe082;font-weight:900}@keyframes topbar-flame{0%{filter:brightness(.92);transform:rotate(-2deg)scaleX(.96)}to{filter:brightness(1.14);transform:rotate(2deg)scale(1.04,1.08)}}.metric-icon--coin{fill:#ffd45a;stroke:#8a5a00}.nav-item__icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;block-size:1.2rem;inline-size:1.2rem}@media (width>=768px){.main-nav{display:none}}@media (width<=767px){.top-bar__nav{display:none}.top-bar__actions{margin-left:auto}.top-bar__inner{flex-wrap:wrap}.dev-heart-button{flex-basis:100%;margin:0 auto .1rem}}@media (width<=500px){.hearts-indicator{min-width:4rem}.hearts-indicator__timer{max-width:5.5rem}}@media (width<=767px){.hearts-indicator .recovery-timer{justify-content:flex-end;display:flex}.hearts-indicator .recovery-timer__label{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width<=900px){.dev-heart-button{display:none}.dev-heart-button:last-child{bottom:calc(5.5rem + env(safe-area-inset-bottom));z-index:20;display:block;position:fixed;right:1rem;box-shadow:0 5px 16px #17233a33}}@keyframes topbar-flame-inner{0%{opacity:.72;transform:scale(.78,.88)translateY(.08rem)}to{opacity:1;transform:scale(1.08,1.15)translateY(-.05rem)}}@keyframes topbar-flame-glow{0%,to{filter:drop-shadow(0 0 #5cc1ff00)}50%{filter:drop-shadow(0 0 .42rem #5cc1ff94)}}@media (prefers-reduced-motion:reduce){.top-bar__metric--streak.is-active,.top-bar__metric--streak.is-active .metric-icon__flame-outer,.top-bar__metric--streak.is-active .metric-icon__flame-inner{animation:none}}.rewarded-heart-refill{border-radius:var(--radius-md);box-shadow:var(--shadow-card);background:#fff7e5;border:1px solid #efc467;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;width:calc(100% - 2rem);max-width:850px;margin:1rem auto 0;padding:.85rem 1rem;display:grid}.rewarded-heart-refill__icon{color:#e84c68;font-size:1.7rem;line-height:1}.rewarded-heart-refill p{color:var(--color-text-secondary);margin:.1rem 0 0;font-size:.84rem}.rewarded-heart-refill .rewarded-heart-refill__notice{color:#805600;font-weight:750}.rewarded-heart-refill button{background:var(--color-primary);border-radius:var(--radius-pill);color:#fff;border:0;min-height:44px;padding:.65rem 1rem;font-weight:850}.rewarded-heart-refill button:focus-visible{outline-offset:3px;outline:3px solid #f2b84b}@media (width<=600px){.rewarded-heart-refill{grid-template-columns:auto 1fr}.rewarded-heart-refill button{grid-column:1/-1;width:100%}}.settings-page{max-width:760px}@media (width<=767px){.dev-heart-button{display:none}.dev-heart-button:last-child{display:block}}.settings-list{gap:var(--space-4);display:grid}.settings-card{padding:clamp(1.1rem,4vw,1.5rem)}.settings-card__heading{margin-bottom:1.1rem}.settings-card__heading p{color:var(--color-text-secondary);margin-top:.35rem}.settings-card label,.settings-control label{color:var(--color-depth);font-size:.9rem;font-weight:750}.settings-card select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;width:100%;max-width:100%;margin-top:.45rem;padding:.7rem .8rem;display:block}.analytics-consent{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);bottom:calc(var(--bottom-nav-height,5rem) + 1rem);box-shadow:var(--shadow-card);z-index:70;justify-content:space-between;align-items:center;gap:1rem;width:max-content;max-width:min(94vw,48rem);padding:1rem 1.1rem;display:flex;position:fixed;left:50%;transform:translate(-50%)}.analytics-consent h2{color:var(--color-depth);margin:0 0 .25rem;font-size:1.05rem}.analytics-consent p{color:var(--color-text-secondary);max-width:34rem;margin:0;font-size:.9rem}.analytics-consent__actions{flex-shrink:0;gap:.55rem;display:flex}@media (width<=680px){.analytics-consent{flex-direction:column;align-items:stretch;width:calc(100vw - 1.5rem)}.analytics-consent__actions .button{flex:1}}.settings-switch{justify-content:space-between;align-items:center;margin-bottom:1.35rem;display:flex}.settings-switch input{accent-color:var(--color-primary);block-size:1.25rem;inline-size:1.25rem}.settings-control__disabled-note{border-radius:var(--radius-sm);color:var(--color-text-secondary);background:#f2f5fa;border-left:3px solid #8da4c7;margin:-.55rem 0 .2rem;padding:.6rem .75rem;font-size:.84rem}.settings-control input:disabled{cursor:not-allowed;opacity:.48}.settings-control+.settings-control{margin-top:1.15rem}.settings-control__heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.settings-control output{color:var(--color-primary-dark);font-weight:800}.settings-control input[type=range]{accent-color:var(--color-primary);width:100%;margin:.65rem 0 0;display:block}.settings-confirm{background:var(--color-background);border-radius:var(--radius-sm);padding:1rem}.settings-confirm p{margin-bottom:.85rem}.settings-confirm div{flex-wrap:wrap;gap:.65rem;display:flex}.button--secondary{background:var(--color-surface);border:1px solid var(--color-primary);color:var(--color-primary-dark)}.button--secondary:hover{background:#eaf1ff}.settings-success{color:var(--color-success);margin-top:.8rem;font-weight:750}@media (width<=420px){.settings-confirm div{flex-direction:column;align-items:stretch}}.settings-handedness{flex-wrap:wrap;gap:.6rem;display:flex}.settings-handedness .button[aria-pressed=true]{box-shadow:0 3px 0 var(--color-primary-dark)}.lesson-activity{max-width:720px;margin:0 auto}.lesson-activity__header{grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;margin-bottom:1rem;display:grid}.lesson-activity__header h1{font-size:clamp(1.6rem,5vw,2.4rem)}.lesson-activity__back{color:var(--color-primary-dark);font-size:.82rem;font-weight:800}.lesson-activity__step{color:var(--color-text-secondary);white-space:nowrap;font-size:.85rem;font-weight:800}.lesson-activity__progress{background:var(--color-border);border-radius:var(--radius-pill);height:.45rem;overflow:hidden}.lesson-activity__progress span{background:var(--color-primary);height:100%;transition:width var(--duration-normal) var(--ease-standard);display:block}.lesson-activity__content{margin-top:1.5rem}.activity-card,.activity-complete{padding:clamp(1.25rem,5vw,2.25rem)}.activity-card h2,.activity-complete h2{margin-top:.35rem;font-size:clamp(1.35rem,4vw,2rem)}.activity-card>p:not(.eyebrow),.activity-complete>p:not(.eyebrow){color:var(--color-text-secondary);margin-top:.85rem}.activity-card__actions{justify-content:flex-end;gap:.75rem;margin-top:2rem;display:flex}.activity-card__actions .button--quiet{border:1px solid var(--color-border);color:var(--color-primary-dark);background:0 0}.exercise-options{border:0;gap:.75rem;margin:1.5rem 0 0;padding:0;display:grid}.exercise-option{border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:.7rem;padding:1rem;display:flex}.exercise-option:has(input:focus-visible){outline-offset:2px;outline:3px solid #f2b84b}.exercise-option:has(input:checked){border-color:var(--color-primary);background:#edf4ff}.exercise-option input{accent-color:var(--color-primary)}.exercise-feedback{border-left:4px solid var(--color-primary);margin-top:1.25rem;padding:.75rem 1rem}.exercise-feedback--correct{border-color:var(--color-success);background:#e4f5ef}.exercise-feedback--mistake{border-color:var(--color-warning);background:#fff4d7}.exercise-feedback p{color:var(--color-text-secondary);margin-top:.25rem}.activity-complete{text-align:center}.activity-complete .button{margin-top:1.5rem}.activity-list{gap:.65rem;margin:1rem 0 0;padding-left:1.25rem;display:grid}.activity-notice{border-left:4px solid var(--color-primary);background:#edf4ff;padding:.75rem 1rem}.activity-gate{text-align:center;max-width:560px;margin:0 auto;padding:clamp(1.25rem,5vw,2.25rem)}.activity-gate .autolupo-mascot{margin:0 auto 1rem}.activity-gate h1{font-size:clamp(1.6rem,5vw,2.4rem)}.activity-gate__message{color:var(--color-text-secondary);max-width:30rem;margin:1rem auto}.activity-gate__timer{color:var(--color-primary-dark);margin-bottom:1.25rem;font-weight:800}.activity-gate .button{display:inline-block}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.activity-complete__score{color:var(--color-success);margin:.75rem 0;font-size:clamp(3rem,10vw,5rem);line-height:1;display:block}.activity-complete__stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;max-width:22rem;margin:1rem auto 0;display:grid}.activity-complete__stats div{border-radius:var(--radius-sm);background:#edf4ff;padding:.75rem}.activity-complete__stats dt{color:var(--color-text-secondary);font-size:.78rem}.activity-complete__stats dd{margin:0;font-size:1.25rem;font-weight:900}@media (width<=560px){.lesson-activity__header{grid-template-columns:1fr auto;align-items:start}.lesson-activity__back{grid-column:1/-1}.activity-card__actions{flex-direction:column-reverse}.activity-card__actions .button{width:100%}}@media (prefers-reduced-motion:reduce){.lesson-activity__progress span{transition:none}}.completion-overlay{z-index:120;background:#0a1f43d1;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.completion-overlay__loading{color:#fff;flex-direction:column;align-items:center;gap:1rem;font-size:1rem;font-weight:900;animation:.8s forwards completion-loading;display:flex;position:absolute}.completion-overlay__loading span{border:6px solid #fff5;border-top-color:#68b8ff;border-radius:50%;width:62px;height:62px;animation:.65s linear infinite completion-spin}.completion-overlay__panel{border:1px solid var(--color-border);background:#fff;border-radius:24px;width:100%;max-width:560px;max-height:calc(100dvh - 2rem);animation:.35s .72s both completion-reveal;overflow:auto;box-shadow:0 18px 55px #071b3d77}.completion-overlay__panel .activity-complete,.completion-overlay__panel .driving-game__result{margin:0;padding:clamp(1.25rem,5vw,2.5rem)}.completion-overlay__panel .driving-game__result{border:0}@keyframes completion-spin{to{transform:rotate(360deg)}}@keyframes completion-loading{0%,72%{opacity:1}to{opacity:0;visibility:hidden}}@keyframes completion-reveal{0%{opacity:0;transform:translateY(18px)scale(.96)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.completion-overlay__loading{animation-duration:.01ms}.completion-overlay__loading span{animation:none}.completion-overlay__panel{animation-duration:.01ms;animation-delay:.01ms}}.completion-overlay--celebration:before{background:var(--color-primary);content:"";opacity:.85;pointer-events:none;transform-origin:0;z-index:0;animation:2s ease-out forwards completion-fill;position:absolute;inset:0;transform:scaleX(0)}.completion-overlay--celebration{isolation:isolate;animation:.18s ease-out 2s completion-shake}.completion-overlay--celebration .completion-overlay__loading{z-index:1;letter-spacing:.02em;text-align:center;text-shadow:0 3px 14px #041f4e6b;font-size:clamp(1.05rem,4vw,1.35rem);animation:2s both completion-celebration-loading}.completion-overlay--celebration .completion-overlay__loading:before{animation:completion-halo 1.15s .28s var(--ease-standard) both;content:"";z-index:-1;border:3px solid #ffffffb3;border-radius:50%;width:clamp(8.5rem,34vw,12rem);height:clamp(8.5rem,34vw,12rem);position:absolute;top:calc(clamp(7rem,28vw,10rem)/-12.5)}.completion-overlay__panel--celebration{z-index:2;animation:.35s 2s both completion-reveal;position:relative}.completion-overlay__panel--celebration .activity-complete{position:relative}.completion-overlay__loading .autolupo-mascot--large{aspect-ratio:auto;block-size:clamp(10rem,46vw,15rem);inline-size:auto}.completion-overlay--celebration .completion-overlay__loading>span{animation:completion-shadow 1.15s .28s var(--ease-standard) both;filter:blur(2px);background:#041f4e4d;border:0;border-radius:50%;width:clamp(5.5rem,22vw,8rem);height:1rem;margin-top:-1.7rem}.completion-overlay__confetti{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.completion-overlay__confetti i{animation:completion-confetti 1.25s var(--confetti-delay) var(--ease-standard) both;background:hsl(var(--confetti-hue) 88% 64%);transform-origin:50%;border-radius:35%;width:.32rem;height:.72rem;position:absolute;top:52%;left:50%}.completion-overlay--celebration .completion-overlay__loading .autolupo-mascot{animation:completion-lupo-jump 1.15s .25s var(--ease-standard) both}.completion-overlay__panel--celebration .activity-complete__score,.completion-overlay__panel--celebration .driving-game__score{animation:completion-score-pop .65s 2.1s var(--ease-standard) both}@keyframes completion-confetti{0%{opacity:0;transform:translate(-50%)rotate(0)scale(.4)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--confetti-x)),var(--confetti-y)) rotate(var(--confetti-rotation)) scale(1)}}@keyframes completion-lupo-jump{0%{opacity:0;transform:translateY(3rem)scale(.65)rotate(-7deg)}48%{opacity:1;transform:translateY(-1.1rem)scale(1.12)rotate(3deg)}72%{transform:translateY(.3rem)scale(.97)}to{opacity:1;transform:none}}@keyframes completion-celebration-loading{0%,82%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes completion-halo{0%{opacity:0;transform:scale(.35)}55%{opacity:.8}to{opacity:0;transform:scale(1.5)}}@keyframes completion-shadow{0%{opacity:0;transform:scale(.45)}55%{opacity:.75;transform:scale(1.12)}to{opacity:.35;transform:scale(.9)}}@keyframes completion-score-pop{0%{opacity:0;transform:scale(.55)}72%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:none}}.exercise-feedback--correct{animation:feedback-success .42s var(--ease-standard);border-radius:0 var(--radius-sm) var(--radius-sm) 0;box-shadow:0 .45rem 1.2rem #137a591f}.exercise-feedback--correct strong{animation:feedback-tick .52s 80ms var(--ease-standard) both;color:var(--color-success);font-size:1.08rem;display:inline-block}.exercise-feedback--mistake{animation:feedback-mistake .34s var(--ease-standard);border-radius:0 var(--radius-sm) var(--radius-sm) 0}@keyframes completion-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes completion-shake{0%,to{transform:translate(0)}35%{transform:translate(-1px)}70%{transform:translate(1px)}}@keyframes feedback-success{0%{opacity:0;transform:translateY(.55rem)scale(.985)}to{opacity:1;transform:none}}@keyframes feedback-tick{0%{opacity:0;transform:scale(.5)rotate(-12deg)}72%{opacity:1;transform:scale(1.12)rotate(2deg)}to{opacity:1;transform:none}}@keyframes feedback-mistake{0%{transform:translate(0)}30%{transform:translate(-.22rem)}60%{transform:translate(.18rem)}to{transform:none}}@media (prefers-reduced-motion:reduce){.completion-overlay--celebration{animation:none}.completion-overlay--celebration:before{animation:none;transform:none}.completion-overlay__panel--celebration{animation:.01ms both completion-reveal}.completion-overlay--celebration .completion-overlay__loading{visibility:hidden;animation:none}.completion-overlay--celebration .completion-overlay__loading:before,.completion-overlay--celebration .completion-overlay__loading>span,.completion-overlay__confetti i,.completion-overlay--celebration .completion-overlay__loading .autolupo-mascot,.completion-overlay__panel--celebration .activity-complete__score,.completion-overlay__panel--celebration .driving-game__score,.exercise-feedback--correct,.exercise-feedback--correct strong,.exercise-feedback--mistake{animation:none}}.heart-loss-notice{border-radius:var(--radius-sm);color:#9e1938;background:#fff0f3;border:1px solid #f5a3b3;align-items:center;gap:.65rem;margin-top:1.25rem;padding:.7rem 1rem;animation:.3s ease-out heart-loss;display:flex}.heart-loss-notice__icon{fill:#e84c68;stroke:#b52b42;stroke-width:1.5px;width:1.7rem;height:1.7rem}.heart-loss-notice--gate{justify-content:center;margin:1rem 0}.activity-notice--blocked{border-left-color:var(--color-error)}@keyframes heart-loss{0%{opacity:.55;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.heart-loss-notice{animation:none}}.exercise-option--correct{border-color:var(--color-success);background:#e4f5ef}.exercise-option--incorrect{border-color:var(--color-error);background:#fff4d7}.exercise-option__status{color:var(--color-depth);text-align:right;margin-left:auto;font-size:.72rem;font-weight:800}.activity-card__actions--sticky-mobile{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 -8px 20px #162b521f}@media (width<=767px){.activity-card--has-sticky-action{padding-bottom:6rem}.exercise-feedback--correct p{display:none}.activity-card__actions--sticky-mobile{bottom:calc(5.5rem + env(safe-area-inset-bottom));box-sizing:border-box;z-index:11;max-width:32rem;margin-inline:auto;padding:.65rem;position:fixed;left:1rem;right:1rem}.activity-card__actions--sticky-mobile .button{width:100%}}@media (prefers-reduced-motion:reduce){.activity-card__actions--sticky-mobile{transition:none}}.driving-game{padding:clamp(1rem,4vw,2rem);overflow:hidden}.driving-game.card:hover{transform:none}.driving-game__intro p:not(.eyebrow){color:var(--color-text-secondary);margin-top:.5rem}.driving-game__hud{color:var(--color-text-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;margin:1rem 0 .5rem;font-size:.8rem;display:flex}.driving-game__observation-progress{flex:180px;align-items:center;gap:.45rem;min-width:150px;display:flex}.driving-game__observation-bar{background:#dce8fa;border-radius:999px;flex:1;min-width:4rem;height:.55rem;overflow:hidden}.driving-game__observation-bar span{background:var(--color-success);border-radius:inherit;height:100%;transition:width var(--duration-fast) var(--ease-standard);display:block}.driving-game__observation-progress strong{color:var(--color-success);font-size:.75rem}.driving-game__playfield{background:#d8f1ff;border:1px solid #b8d8ed;border-radius:22px;overflow:hidden;box-shadow:0 8px #b4cfe1}.driving-game__canvas{background:#bde6f5;width:100%;height:auto;display:block}.driving-game__status{color:var(--color-primary-dark);margin-top:.75rem;font-weight:800}.driving-game__lesson-guide{color:var(--color-depth);background:#eaf4ff;border:1px solid #b7d7ff;border-radius:14px;align-items:center;gap:.55rem;margin:.45rem 0;padding:.55rem .75rem;display:flex}.driving-game__lesson-guide>span{color:var(--color-primary);font-size:1.15rem}.driving-game__lesson-guide strong{flex:1;font-size:.86rem}.driving-game__lesson-guide small{white-space:nowrap;background:#fff;border-radius:999px;padding:.22rem .48rem;font-weight:800}.driving-game__pedal-meters{background:linear-gradient(#102c58,#091f43);border:1px solid #3568a2;border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:.45rem 0 .65rem;padding:.55rem .65rem;display:grid;box-shadow:0 4px #061936}.driving-game__pedal-meter{grid-template-columns:minmax(0,1fr) auto;gap:.2rem;min-width:0;display:grid}.driving-game__pedal-meter span{color:#dcecff;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.58rem;font-weight:900;overflow:hidden}.driving-game__pedal-meter strong{color:#fff;font-variant-numeric:tabular-nums;font-size:.62rem}.driving-game__pedal-meter i{background:#061a38;border:1px solid #4e719c;border-radius:999px;grid-column:1/-1;height:8px;position:relative;overflow:hidden}.driving-game__pedal-meter i b{border-radius:inherit;height:100%;transition:width 80ms linear;display:block}.driving-game__pedal-meter--throttle i b{background:linear-gradient(90deg,#42d58e,#a3f8cb)}.driving-game__pedal-meter--clutch i b{background:linear-gradient(90deg,#78a9e4,#b8dcff)}.driving-game__pedal-meter--clutch i:after{content:"";background:#ffd45c;width:3px;position:absolute;inset:-1px auto -1px 56%;box-shadow:0 0 7px #ffd45c}.driving-game__pedal-meter--brake i b{background:linear-gradient(90deg,#f15e70,#ffabb4)}.driving-cockpit--spotlight .driving-cockpit__steering,.driving-cockpit--spotlight .driving-cockpit__gear,.driving-cockpit--spotlight .driving-cockpit__pedal,.driving-cockpit--spotlight .driving-cockpit__observe,.driving-cockpit--spotlight .driving-cockpit__indicators,.driving-cockpit--spotlight .driving-cockpit__lights,.driving-cockpit--spotlight .driving-cockpit__signals{filter:grayscale(.7)brightness(.55);opacity:.28;transition:filter .2s,opacity .2s,transform .2s}.driving-cockpit--spotlight .is-spotlight{filter:none;opacity:1;z-index:3;position:relative;transform:translateY(-2px)scale(1.04)}.driving-cockpit--spotlight .is-spotlight:after{border-radius:inherit;content:"";pointer-events:none;border:3px solid #8be8ff;animation:1.1s ease-in-out infinite driving-spotlight;position:absolute;inset:-5px;box-shadow:0 0 0 5px #3cc3ff3d,0 0 24px #67d9ff}@keyframes driving-spotlight{50%{box-shadow:0 0 0 9px #3cc3ff1f,0 0 32px #67d9ff}}.driving-cockpit{box-sizing:border-box;background:linear-gradient(145deg,#126ed0,#084d9d);border-top:5px solid #8bd2ff;grid-template-columns:minmax(0,1fr) auto minmax(0,1.35fr);align-items:stretch;gap:.75rem;width:100%;min-width:0;min-height:250px;padding:1rem;display:grid}.driving-cockpit--no-observe{grid-template-columns:minmax(130px,1fr) minmax(260px,1.35fr)}.driving-cockpit--signals{grid-template-columns:minmax(130px,1fr) auto minmax(260px,1.35fr)}.driving-cockpit--indicators{grid-template-rows:auto 1fr auto;grid-template-columns:minmax(150px,.85fr) minmax(260px,1.35fr)}.driving-cockpit--indicators .driving-cockpit__indicators{grid-area:1/1}.driving-cockpit--indicators .driving-cockpit__steering{grid-area:2/1}.driving-cockpit--indicators .driving-cockpit__observe{grid-area:3/1;place-self:start center;margin:0}.driving-cockpit--indicators .driving-cockpit__right-controls{grid-area:1/2/4}.driving-cockpit--no-gears .driving-cockpit__right-controls{grid-template-columns:minmax(150px,1fr)}.driving-cockpit button,.driving-cockpit [role=slider]{touch-action:none}.driving-cockpit__control-label{color:#d9efff;letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:900}.driving-cockpit__steering{flex-direction:column;justify-content:center;align-items:center;gap:.45rem;display:flex}.driving-cockpit__wheel{--wheel-turn:0deg;height:clamp(118px,18vw,168px);transform:rotate(var(--wheel-turn));background:#17345a;border:11px solid #ecf7ff;border-radius:50%;width:clamp(118px,18vw,168px);position:relative;box-shadow:0 5px #7ca8c7,0 9px 18px #052b5c88}.driving-cockpit__wheel:after{content:"";z-index:2;background:#ecf7ff;border:8px solid #17345a;border-radius:50%;width:30%;height:30%;position:absolute;top:35%;left:35%}.driving-cockpit__wheel span,.driving-cockpit__wheel i,.driving-cockpit__wheel b{transform-origin:0;background:#ecf7ff;width:44%;height:9px;position:absolute;top:50%;left:50%}.driving-cockpit__wheel span{transform:rotate(0)}.driving-cockpit__wheel i{transform:rotate(120deg)}.driving-cockpit__wheel b{transform:rotate(240deg)}.driving-cockpit__observe{color:#17345a;background:#ffbf3f;border:3px solid #fff2c8;border-radius:999px;align-self:end;min-height:38px;margin-bottom:.25rem;padding:.4rem .8rem;font-size:.68rem;font-weight:950;box-shadow:0 4px #b87800}.driving-cockpit__observe[aria-pressed=true]{transform:translateY(3px);box-shadow:0 1px #b87800}.driving-cockpit__indicators,.driving-cockpit__signals{flex-direction:column;justify-content:center;align-items:center;gap:.4rem;display:flex}.driving-cockpit__indicators>div,.driving-cockpit__signals>div{gap:.35rem;display:flex}.driving-cockpit__indicators button,.driving-cockpit__signals button{color:#17345a;background:#f1f8ff;border:2px solid #b8ddf7;border-radius:10px;min-width:42px;min-height:42px;padding:.35rem;font-weight:900}.driving-cockpit__indicators button[aria-pressed=true],.driving-cockpit__signals button[aria-pressed=true]{background:#ffbf3f;border-color:#fff0b7;box-shadow:0 2px #9c6900}.driving-cockpit__indicators small,.driving-cockpit__signals small{color:#d9efff;text-align:center;font-size:.62rem}.driving-cockpit__lights{color:#17345a;background:#e9f6ff;border:3px solid #b8ddf7;border-radius:12px;align-self:center;min-height:48px;padding:.5rem .7rem;font-weight:900}.driving-cockpit__lights[aria-pressed=true]{background:#ffcf62;border-color:#fff0b7;box-shadow:0 3px #9c6900}.driving-cockpit__right-controls{grid-template-columns:minmax(0,92px) minmax(0,1fr);align-items:end;gap:.8rem;min-width:0;display:grid}.driving-cockpit__gear{flex-direction:column;align-items:center;gap:.35rem;display:flex}.driving-cockpit__gear-gate{background:#06356f;border:3px solid #91c7ed;border-radius:20px;justify-content:center;align-items:center;width:86px;height:176px;display:flex;position:relative;overflow:hidden}.driving-cockpit__gear-gate>span{color:#fff2;font-size:5rem;font-weight:300;position:absolute;transform:rotate(45deg)}.driving-cockpit__gear-gate small{color:#bde6ff;text-align:center;font-size:.52rem;line-height:1.25;position:absolute;bottom:.28rem;left:0;right:0}.driving-cockpit__gear-lever{--lever-pull:0px;height:105px;transform:translateY(var(--lever-pull));z-index:1;justify-content:center;align-items:center;width:62px;display:flex;position:relative}.driving-cockpit__gear-lever:before{content:"";background:#c3d9e8;border-radius:8px;width:8px;position:absolute;top:28px;bottom:8px;left:27px}.driving-cockpit__gear-lever b{color:#17345a;background:#ffbf3f;border:4px solid #fff1bd;border-radius:50%;justify-content:center;align-items:center;width:45px;height:45px;font-size:1rem;display:flex;position:absolute;top:0;box-shadow:0 4px #a76500}.driving-cockpit__pedals{grid-template-rows:1fr .65fr;grid-template-columns:minmax(60px,.78fr) minmax(72px,1fr);align-items:end;gap:.55rem;height:190px;display:grid}.driving-cockpit__pedal{--pedal-fill:0%;--pedal-travel:0px;--pedal-tilt:0deg;--pedal-shadow:6px;box-shadow:0 var(--pedal-shadow) 0 #062b5c;color:#fff;min-height:66px;transform:perspective(180px) rotateX(var(--pedal-tilt)) translateY(var(--pedal-travel));border:3px solid #e5f5ff;border-radius:14px;padding:.35rem;font-size:.62rem;font-weight:950;transition:box-shadow 80ms linear,filter 80ms linear,transform 80ms linear;position:relative;overflow:hidden}.driving-cockpit__pedal:before{content:"";height:var(--pedal-fill);pointer-events:none;background:linear-gradient(#ffffff42,#ffffff12);transition:height 80ms linear;position:absolute;bottom:0;left:0;right:0}.driving-cockpit__pedal span{z-index:1;display:block;position:relative}.driving-cockpit__pedal--brake{background:#ed5263;align-self:end;height:88px}.driving-cockpit__pedal--accelerator{background:#34b57b;grid-area:1/2/3;height:164px}.driving-cockpit__pedal--clutch{background:#5d82ad;grid-area:2/1;height:54px;min-height:54px}.driving-cockpit__pedal[aria-pressed=true]{filter:brightness(1.12)}.driving-cockpit :focus-visible{outline-offset:3px;outline:3px solid #ffcf62}.driving-game__feedback{border-left:4px solid var(--color-warning);background:#fff4d7;align-items:center;gap:1rem;margin-top:1rem;padding:.8rem;display:flex}.driving-game__feedback .autolupo-mascot{flex:none}.driving-game__feedback p{color:var(--color-text-secondary);margin-top:.25rem}.driving-game__feedback .button{margin-top:.75rem;display:inline-block}.driving-game__fake-heart{color:var(--color-error);flex:none;font-size:2rem;transition:opacity .2s,transform .2s}.driving-game__fake-heart--lost{opacity:.22;transform:scale(.72)}.driving-game__fake-heart--restored{opacity:1;transform:scale(1.08)}.driving-game__result{border-left:4px solid var(--color-success);text-align:center;background:#e4f5ef;margin-top:1rem;padding:1rem}.driving-game__score{color:var(--color-success);margin:.4rem 0;font-size:clamp(2.8rem,9vw,4.8rem);line-height:1;display:block}.driving-game__result dl{grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:1rem;display:grid}.driving-game__result dl div{background:#fff;border-radius:10px;padding:.6rem}.driving-game__result dt{color:var(--color-text-secondary);font-size:.72rem}.driving-game__result dd{margin:0;font-size:1.15rem;font-weight:900}.driving-game__result .button{margin-top:.75rem;display:inline-block}@media (width<=600px){.driving-game{border-left:0;border-right:0;border-radius:18px;padding:.85rem}.driving-game__intro p:not(.eyebrow){font-size:.82rem}.driving-cockpit{grid-template-columns:minmax(0,92px) minmax(44px,44px) minmax(0,1fr);gap:.25rem;min-height:220px;padding:.65rem .4rem .75rem}.driving-cockpit--no-observe{grid-template-columns:minmax(0,92px) minmax(0,1fr)}.driving-cockpit--signals{grid-template-columns:minmax(0,92px) minmax(44px,74px) minmax(0,1fr)}.driving-cockpit--indicators{grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,104px) minmax(0,1fr)}.driving-cockpit--indicators .driving-cockpit__indicators{gap:.2rem}.driving-cockpit--indicators .driving-cockpit__indicators small{display:none}.driving-cockpit__wheel{border-width:8px;width:88px;height:88px}.driving-cockpit__wheel span,.driving-cockpit__wheel i,.driving-cockpit__wheel b{height:7px}.driving-cockpit__observe{min-width:44px;min-height:44px;padding:.3rem .5rem;font-size:.57rem}.driving-cockpit__indicators button,.driving-cockpit__signals button{min-width:44px;min-height:44px;padding:.25rem;font-size:.58rem}.driving-cockpit__right-controls{grid-template-columns:minmax(0,54px) minmax(0,1fr);gap:.25rem}.driving-cockpit__gear-gate{width:56px;height:150px}.driving-cockpit__gear-lever{width:48px}.driving-cockpit__gear-lever:before{left:20px}.driving-cockpit__gear-lever b{width:38px;height:38px}.driving-cockpit__pedals{grid-template-columns:minmax(44px,.8fr) minmax(44px,1fr);gap:.25rem;min-width:0;height:166px}.driving-cockpit__pedal{border-width:2px;min-width:44px;font-size:.5rem}.driving-cockpit__pedal--brake{height:76px}.driving-cockpit__pedal--accelerator{height:142px}.driving-cockpit__pedal--accelerator span{writing-mode:vertical-rl;transform:rotate(180deg)}.driving-cockpit__pedal--clutch{height:48px;min-height:48px}.driving-game__result dl{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion:reduce){.driving-cockpit__wheel,.driving-cockpit__gear-lever,.driving-cockpit__pedal,.driving-cockpit__pedal:before,.driving-game__pedal-meter i b,.driving-game__fake-heart,.driving-game__observation-bar span{transition:none}.driving-cockpit--spotlight .is-spotlight,.driving-cockpit--spotlight .is-spotlight:after{animation:none!important;transform:none!important}}.driving-game__help{background:#f4f8ff;border:1px solid #c9dcf5;border-radius:14px;margin-top:1rem;padding:.75rem 1rem}.driving-game__help h3{color:var(--color-depth);margin:0 0 .55rem;font-size:.78rem}.driving-game__help ul{flex-wrap:wrap;gap:.45rem .8rem;margin:0;padding:0;list-style:none;display:flex}.driving-game__help li{color:var(--color-text-secondary);align-items:center;gap:.4rem;font-size:.76rem;display:flex}.driving-game__help li>span:first-child{color:var(--color-text);font-weight:750}.driving-game__help kbd{color:var(--color-depth);text-align:center;background:#fff;border:1px solid #aebed4;border-bottom-width:2px;border-radius:5px;min-width:1.35rem;margin-left:.18rem;padding:.12rem .28rem;font-size:.7rem;font-weight:850}.driving-tutorial__backdrop{box-sizing:border-box;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));z-index:5;background:#031c41b8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}:is(.driving-game:has(.driving-tutorial) .driving-game__intro,.driving-game:has(.driving-tutorial) .driving-game__help){opacity:0;pointer-events:none;height:0;margin:0;padding:0;position:absolute;overflow:hidden}.driving-game{position:relative}.driving-game__playfield--preview{filter:brightness(.58)}.driving-tutorial{background:var(--color-surface);border:2px solid var(--color-primary);border-radius:var(--radius-md);max-block-size:calc(100dvh - 2rem);width:100%;max-width:34rem;padding:clamp(1.1rem,4vw,2rem);overflow-y:auto;box-shadow:0 18px 50px #031c4161}.driving-tutorial h2{margin-bottom:1rem}.driving-tutorial h2:focus{outline:3px solid var(--color-warning);outline-offset:4px}.driving-tutorial__control{align-items:center;gap:1rem;min-height:8rem;display:flex}.driving-tutorial__icon{fill:none;height:5rem;stroke:var(--color-primary);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px;background:#e6f3ff;border-radius:50%;flex:0 0 5rem;width:5rem}.driving-tutorial__icon circle:last-child{fill:var(--color-warning);stroke:var(--color-depth)}.driving-tutorial__control h3{color:var(--color-depth);margin:0}.driving-tutorial__control p{color:var(--color-text-secondary);margin-top:.35rem}.driving-tutorial__keys{border-radius:var(--radius-sm);color:var(--color-text-secondary);background:#f1f7ff;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;margin:1rem 0;padding:.65rem .8rem;display:flex}.driving-tutorial__keys kbd{border:1px solid var(--color-border);color:var(--color-depth);background:#fff;border-bottom-width:2px;border-radius:5px;padding:.12rem .35rem;font-weight:850}.driving-tutorial__actions{justify-content:flex-end;gap:.6rem;display:flex}.driving-tutorial__actions .button:disabled{opacity:.55}.driving-cockpit__observe-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px;width:2.4rem;height:2.4rem;display:block}.driving-cockpit__observe-icon circle{fill:currentColor;stroke:none}.driving-cockpit--left-handed .driving-cockpit__steering{grid-column:3}.driving-cockpit--left-handed .driving-cockpit__right-controls{grid-column:1}.driving-cockpit--indicators.driving-cockpit--left-handed .driving-cockpit__indicators,.driving-cockpit--indicators.driving-cockpit--left-handed .driving-cockpit__steering,.driving-cockpit--indicators.driving-cockpit--left-handed .driving-cockpit__observe{grid-column:2}.driving-cockpit--indicators.driving-cockpit--left-handed .driving-cockpit__right-controls{grid-column:1}.driving-game__pause-button{min-height:2rem;margin-left:auto;padding:.4rem .7rem}.driving-game__pause-overlay{color:#fff;z-index:4;background:#031c41d1;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:1rem;display:flex;position:absolute;inset:0}.driving-game__pause-overlay h3{color:#fff}.driving-game__pause-overlay .activity-card__actions{margin:0}.driving-focus-mode .top-bar,.driving-focus-mode .guest-banner,.driving-focus-mode .main-nav{display:none}.driving-focus-mode .app-shell{flex-direction:column;height:100dvh;min-height:100dvh;padding-bottom:0;display:flex;overflow:hidden}.driving-focus-mode .main-content{flex:auto;min-height:0;padding:0;display:flex;overflow:hidden}.driving-focus-mode .lesson-activity{box-sizing:border-box;flex-direction:column;flex:auto;max-width:none;min-height:0;margin:0;display:flex}.driving-focus-mode .lesson-activity__header,.driving-focus-mode .lesson-activity__progress{display:none}.driving-focus-mode .lesson-activity__content{flex-direction:column;flex:auto;min-height:0;margin:0;display:flex}.driving-focus-mode .driving-game{box-sizing:border-box;border-radius:0;flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.driving-focus-mode .driving-game__playfield{flex-direction:column;flex:auto;min-height:0;display:flex}.driving-focus-mode .driving-game__canvas{object-fit:contain;flex:auto;width:100%;height:auto;min-height:0}.driving-focus-mode .driving-cockpit{flex:none;min-height:0}@media (width<=600px){.driving-tutorial__backdrop{position:fixed}.driving-tutorial__control{min-height:7rem}.driving-tutorial__icon{flex-basis:4rem;width:4rem;height:4rem}.driving-tutorial__actions{justify-content:stretch}.driving-tutorial__actions .button{flex:1}.driving-game__hud--active{color:#fff;z-index:2;background:#052b5c;border-radius:0 0 12px 12px;margin:0 -.85rem .5rem;padding:.45rem .65rem;position:relative}.driving-game__hud--active .driving-game__observation-progress{flex-basis:100%}.driving-focus-mode .lesson-activity,.driving-focus-mode .lesson-activity__content,.driving-focus-mode .driving-game{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.driving-focus-mode .driving-game__hud{flex:none}.driving-focus-mode .driving-game__playfield{flex-direction:column;flex:auto;min-height:0;display:flex}.driving-focus-mode .driving-game__canvas{object-fit:contain;flex:auto;width:100%;height:auto;min-height:0}.driving-focus-mode .driving-cockpit{flex:none}}@media (prefers-reduced-motion:reduce){.driving-tutorial__backdrop,.driving-tutorial__icon{transition:none}.driving-game__playfield--preview{filter:brightness(.58)}}.account-entry{gap:1.5rem;max-width:850px;margin:0 auto;display:grid}.account-entry__mascot{justify-self:center}.account-entry__choices{gap:1rem;display:grid}.account-entry__choice{align-content:start;gap:.8rem;padding:1.35rem;display:grid}.account-entry__choice p,.account-entry__choice small{color:var(--color-text-secondary)}.account-entry__choice .button{text-align:center;width:100%}.account-entry__choice h3{color:var(--color-depth);margin:var(--space-3) 0 0;font-size:1rem}.account-entry__choice>p,.account-email-section>p{margin:0}.account-email-section{border-top:1px solid var(--color-border);padding-top:var(--space-3);gap:.45rem;margin-top:.35rem;display:grid}.guest-banner{color:var(--color-depth);min-width:0;padding:.55rem max(1rem,env(safe-area-inset-right)) .55rem max(1rem,env(safe-area-inset-left));text-align:center;background:#fff4d7;justify-content:center;align-items:center;gap:1rem;font-size:.86rem;display:flex}.guest-banner>span{overflow-wrap:anywhere;min-width:0}.guest-banner a{color:var(--color-primary-dark);overflow-wrap:anywhere;align-items:center;min-height:44px;font-weight:800;text-decoration:underline;display:inline-flex}.guest-banner a:focus-visible{outline-offset:3px;outline:3px solid #f2b84b}@media (width>=768px){.account-entry__choices{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=500px){.guest-banner{text-align:left;flex-direction:column;align-items:flex-start;gap:.25rem}}.account-email-form{border-top:1px solid var(--color-border);gap:.8rem;margin-top:.35rem;padding-top:1rem;display:grid}.form-field{gap:.35rem;display:grid}.form-field label{color:var(--color-depth);font-size:.9rem;font-weight:750}.form-field input{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;width:100%;min-height:2.75rem;padding:.6rem .7rem}.password-field{position:relative}.password-field input{padding-right:3.2rem}.password-field__toggle{color:var(--color-text-secondary);background:0 0;border:0;border-radius:.65rem;justify-content:center;align-items:center;width:2.75rem;height:2.5rem;padding:0;display:flex;position:absolute;top:50%;right:.18rem;transform:translateY(-50%)}.password-field__toggle:hover{color:var(--color-primary-dark);background:#eaf2ff}.password-field__toggle:focus-visible{outline-offset:-2px;outline:3px solid #f2b84b}.password-field__toggle:disabled{cursor:default;opacity:.55}.password-field__toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.35rem;height:1.35rem}.account-email-form .button,.account-entry__switch,.account-entry__choice>.button,.account-entry__actions .button{min-height:44px}.form-field input:focus-visible,.account-entry__switch:focus-visible{outline-offset:2px;outline:3px solid #f2b84b}.account-entry__error{color:var(--color-error);margin:0;font-weight:700}.account-entry__switch{color:var(--color-primary-dark);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:.35rem 0;font-weight:750;text-decoration:underline}.account-profile{gap:1rem;padding:1.35rem;display:grid}.account-profile dl{gap:.7rem;margin:0;display:grid}.account-profile dl div{flex-wrap:wrap;justify-content:space-between;gap:.35rem .8rem;display:flex}.account-profile dt{color:var(--color-text-secondary);font-weight:700}.account-profile dd{color:var(--color-depth);margin:0;font-weight:800}.account-migration-backdrop{padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));z-index:1200;background:#081c42ad;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:auto}.account-migration{gap:.8rem;width:100%;max-width:34rem;margin:auto;padding:clamp(1rem,4vw,1.5rem);display:grid}.account-migration h2,.account-migration p{margin:0}.account-migration>div{flex-wrap:wrap;gap:.65rem;display:flex}.account-profile .button:disabled{opacity:.7}.account-entry--dashboard{max-width:980px}.account-dashboard{gap:var(--space-4);display:grid}.account-dashboard__main,.account-dashboard__side{gap:var(--space-4);min-width:0;display:grid}.account-identity{padding:var(--space-4);gap:.7rem;display:grid}.account-identity h2{margin:0}.account-identity dl{gap:.55rem;margin:0;display:grid}.account-identity dl div{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem .8rem;display:flex}.account-identity dt{color:var(--color-text-secondary);font-weight:700}.account-identity dd{color:var(--color-depth);overflow-wrap:anywhere;margin:0;font-weight:800}.account-identity p{color:var(--color-text-secondary);margin:0;font-size:.85rem}.account-entry__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}@media (width>=768px){.account-dashboard{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start}.account-entry__actions{justify-content:flex-end}}@media (width<=420px){.account-entry{gap:1.1rem}.account-entry__choice,.account-profile{padding:1rem}.account-migration>div{flex-direction:column}}.account-entry__mascot .autolupo-mascot--large{object-fit:contain;block-size:clamp(8rem,42vw,13rem);inline-size:auto;max-inline-size:100%}.account-entry__mascot .autolupo-mascot--small{object-fit:contain;block-size:2.5rem;inline-size:2.5rem}.theory-exam{width:min(100%,48rem);padding:clamp(var(--space-4), 4vw, var(--space-6));border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card);margin-inline:auto}.theory-exam__header,.theory-exam__progress-row,.theory-exam__actions,.theory-exam-dialog__actions{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.theory-exam__eyebrow{margin:0 0 var(--space-1);color:var(--color-primary);text-transform:uppercase;letter-spacing:.06em;font-weight:800}.theory-exam h1,.theory-exam h2,.theory-exam-dialog h2{margin:0}.theory-exam__timer{min-width:5.25rem;padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);background:var(--color-background);color:var(--color-depth);font-variant-numeric:tabular-nums;text-align:center;margin:0;font-weight:800}.theory-exam__progress-row{margin-block:var(--space-5)}.theory-exam__progress-row span{color:var(--color-text-secondary);white-space:nowrap;font-weight:700}.theory-exam__progress-row progress{width:100%;accent-color:var(--color-primary)}.theory-exam-question{border:0;margin:0;padding:0}.theory-exam-question legend{margin-bottom:var(--space-3);font-size:clamp(1.15rem,3vw,1.45rem);font-weight:800}.theory-exam-question__hint{margin:calc(var(--space-2) * -1) 0 var(--space-4);color:var(--color-text-secondary)}.theory-exam-options{gap:var(--space-3);display:grid}.theory-exam-option{align-items:center;gap:var(--space-3);min-height:3.5rem;padding:var(--space-3) var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--duration-fast), background var(--duration-fast), transform var(--duration-fast);display:flex}@media (hover:hover) and (pointer:fine){.theory-exam-option:hover{border-color:var(--color-primary);transform:translateY(-1px)}}.theory-exam-option.is-selected{border-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 8%, white)}.theory-exam-option input{width:1.2rem;height:1.2rem;accent-color:var(--color-primary)}.theory-exam__actions{margin-top:var(--space-5)}.theory-exam-button{min-height:2.8rem;padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);background:var(--color-primary);color:#fff;font:inherit;cursor:pointer;border:0;font-weight:800}.theory-exam-button:disabled{opacity:.48;cursor:not-allowed}.theory-exam-button--secondary{border:2px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.theory-exam-button--danger{background:var(--color-error)}.theory-exam-button:focus-visible{outline-offset:3px;outline:3px solid #f2b84b}.theory-exam-option:has(input:focus-visible){outline-offset:3px;outline:3px solid #f2b84b}.theory-exam-feedback{padding:var(--space-5);border-radius:var(--radius-md)}.theory-exam-feedback.is-correct{background:color-mix(in srgb, var(--color-success) 12%, white)}.theory-exam-feedback.is-incorrect{background:color-mix(in srgb, var(--color-error) 10%, white)}.theory-exam-feedback p{margin-block:var(--space-3) var(--space-5)}.theory-exam-result{text-align:center}.theory-exam-result__badge{padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);font-weight:800;display:inline-block}.theory-exam-result__badge.is-passed{background:color-mix(in srgb, var(--color-success) 12%, white);color:var(--color-success)}.theory-exam-result__badge.is-failed{background:color-mix(in srgb, var(--color-error) 10%, white);color:var(--color-error)}.theory-exam-result__stats{gap:var(--space-3);margin-top:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));display:grid}.theory-exam-result__stats div{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-background)}.theory-exam-result__stats dt{color:var(--color-text-secondary)}.theory-exam-result__stats dd{margin:var(--space-1) 0 0;font-size:1.5rem;font-weight:800}.theory-exam-dialog-backdrop{z-index:100;padding:var(--space-4);background:#0d19309e;place-items:center;display:grid;position:fixed;inset:0}.theory-exam-dialog{width:min(100%,30rem);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card-hover)}.theory-exam-dialog p{color:var(--color-text-secondary)}@media (width<=36rem){.theory-exam__header{align-items:flex-start}.theory-exam__progress-row{flex-direction:column;align-items:stretch}.theory-exam__actions{flex-direction:column-reverse;align-items:stretch}.theory-exam-button{width:100%}}@media (prefers-reduced-motion:reduce){.theory-exam-option{transition:none}}.practical-exam-runner{width:min(100%,58rem);padding:clamp(var(--space-4), 4vw, var(--space-6));border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card);margin-inline:auto}.practical-exam-runner__header,.practical-exam-runner__scenario,.practical-exam-runner__actions{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.practical-exam-runner__eyebrow{margin:0 0 var(--space-1);color:var(--color-primary);letter-spacing:.06em;text-transform:uppercase;font-weight:800}.practical-exam-runner h1,.practical-exam-runner h2{margin:0}.practical-exam-runner__timer{min-width:5.25rem;padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);background:var(--color-background);color:var(--color-depth);font-variant-numeric:tabular-nums;text-align:center;margin:0;font-weight:800}.practical-exam-runner__pause{border-radius:var(--radius-pill);background:var(--color-primary);color:#fff;min-height:2.6rem;font:inherit;border:0;padding:.5rem 1rem;font-weight:800}.practical-exam-runner__scenario{margin-block:var(--space-5) var(--space-3);color:var(--color-text-secondary);font-weight:700}.practical-exam-runner__instructions{color:var(--color-text-secondary)}.practical-exam-runner__canvas{border-radius:var(--radius-md);background:#dcebdc;width:100%;max-width:100%;height:auto;display:block}.practical-exam-focus-mode .top-bar,.practical-exam-focus-mode .guest-banner,.practical-exam-focus-mode .main-nav{display:none}.practical-exam-focus-mode .app-shell{flex-direction:column;height:100dvh;min-height:100dvh;padding-bottom:0;display:flex;overflow:hidden}.practical-exam-focus-mode .main-content,.practical-exam-focus-mode .checkpoint-practice-page{flex:auto;min-height:0;padding:0;display:flex;overflow:hidden}.practical-exam-focus-mode .practical-exam-runner{width:100%;max-width:none;min-height:0;box-shadow:none;border:0;border-radius:0;flex-direction:column;flex:auto;margin:0;padding:.65rem;display:flex;overflow:auto}.practical-exam-focus-mode .practical-exam-runner__header--exam{flex:none;justify-content:flex-end;gap:.55rem}.practical-exam-focus-mode .practical-exam-runner__header--exam>div{display:none}.practical-exam-focus-mode .practical-exam-runner__timer{min-width:4.8rem;padding:.45rem .75rem}.practical-exam-focus-mode .practical-exam-runner__scenario{flex:none;margin:.35rem 0 .5rem}.practical-exam-focus-mode .driving-game__playfield{background:0 0;flex-direction:column;flex:none;width:min(100%,58rem);min-height:0;margin-inline:auto;display:flex;overflow:hidden}.practical-exam-focus-mode .practical-exam-runner__canvas,.practical-exam-focus-mode .driving-cockpit{flex:none}.practical-exam-focus-mode .practical-exam-runner__actions{margin-top:.5rem}.practical-exam-runner__status{margin-top:var(--space-2);color:var(--color-primary-dark);font-weight:800}.practical-exam-runner__controls{gap:var(--space-2);margin-top:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.practical-exam-runner__controls button{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:3.25rem;color:var(--color-primary-dark);font:inherit;touch-action:none;background:#edf4ff;font-weight:800}.practical-exam-runner__controls button:last-child{grid-column:1/-1}.practical-exam-runner__controls button[aria-pressed=true]{border-color:var(--color-primary);background:#cfe0ff;transform:translateY(1px)}.practical-exam-runner__actions{margin-top:var(--space-4);justify-content:flex-start}.practical-exam-runner__button{min-height:2.8rem;padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);background:var(--color-primary);color:#fff;font:inherit;border:0;font-weight:800}.practical-exam-runner__button--secondary{border:2px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.practical-exam-runner__controls button:focus-visible,.practical-exam-runner__button:focus-visible{outline-offset:3px;outline:3px solid #f2b84b}.practical-exam-runner__faults{margin-top:var(--space-5);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-background)}.practical-exam-runner__faults h2{font-size:1rem}.practical-exam-runner__faults p,.practical-exam-runner__faults ul{margin:var(--space-2) 0 0}.practical-exam-runner__faults ul{padding-left:var(--space-5)}.practical-exam-result{text-align:center}.practical-exam-result__badge{padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);font-weight:800;display:inline-block}.practical-exam-result__score{color:var(--color-primary-dark);margin:.75rem 0 1rem;font-size:clamp(3rem,10vw,5rem);line-height:1;display:block}.practical-exam-result__badge.is-passed{background:color-mix(in srgb, var(--color-success) 12%, white);color:var(--color-success)}.practical-exam-result__badge.is-failed{background:color-mix(in srgb, var(--color-error) 10%, white);color:var(--color-error)}.practical-exam-result__stats{gap:var(--space-3);margin-top:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));display:grid}.practical-exam-result__stats div{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-background)}.practical-exam-result__stats dt{color:var(--color-text-secondary)}.practical-exam-result__stats dd{margin:var(--space-1) 0 0;font-size:1.5rem;font-weight:800}@media (width<=36rem){.practical-exam-runner__header{align-items:flex-start}.practical-exam-runner__actions{flex-direction:column;align-items:stretch}.practical-exam-runner__button{width:100%}}@media (width<=600px){.practical-exam-focus-mode .practical-exam-runner{padding:.35rem}.practical-exam-focus-mode .practical-exam-runner__scenario{font-size:.88rem}.practical-exam-focus-mode .driving-cockpit{padding:.45rem}}@media (prefers-reduced-motion:reduce){.practical-exam-runner__controls button{transition:none}}.app-error{min-height:100dvh;padding:max(var(--space-4), env(safe-area-inset-top)) max(var(--space-4), env(safe-area-inset-right)) max(var(--space-4), env(safe-area-inset-bottom)) max(var(--space-4), env(safe-area-inset-left));justify-content:center;align-items:center;display:flex}.app-error__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);text-align:center;width:100%;max-width:36rem;padding:clamp(1.5rem,6vw,3rem)}.app-error__mascot{height:7rem;margin:0 auto var(--space-4);background:radial-gradient(circle,#e7f4ff 0 54%,#0000 55%);border-radius:50%;justify-content:center;align-items:center;width:7rem;display:flex;overflow:hidden}.app-error__mascot .autolupo-mascot{object-fit:contain;width:6.5rem;height:6.5rem}.app-error__card .lead{margin:var(--space-3) auto 0}.app-error__action{margin-top:var(--space-5)}.app-error__data-note{color:var(--color-text-secondary);margin-top:var(--space-3);font-size:.85rem}.app-error__card h1:focus{outline:none}.skip-link{z-index:200;border-radius:0 0 var(--radius-sm) 0;background:var(--color-depth);color:#fff;padding:.7rem 1rem;font-weight:800;position:fixed;top:0;left:0;transform:translateY(-120%)}.skip-link:focus{outline-offset:2px;outline:3px solid #f2b84b;transform:translateY(0)}.main-content:focus{outline:none}a:focus-visible{outline-offset:3px;outline:3px solid #f2b84b}@media (prefers-contrast:more){:root{--color-border:#8794a8;--color-text-secondary:#344158}.card,.lesson-node,.exercise-option,.settings-card input,.settings-card select,.form-field input{border-width:2px}}@media (forced-colors:active){.card,.lesson-node,.exercise-option,.network-status,.guest-banner{border:1px solid canvastext}.nav-item--active,.top-bar__nav-link--active,[aria-pressed=true]{outline-offset:-2px;outline:2px solid highlight}[role=progressbar]{border:1px solid canvastext}[role=progressbar]>span{background:highlight!important}:focus-visible{outline-color:highlight!important}}body{overflow-x:clip}.app-shell{min-height:100dvh}.main-content{min-height:calc(100dvh - 4.75rem);padding-inline:max(var(--space-4),env(safe-area-inset-left)) max(var(--space-4),env(safe-area-inset-right))}.app-shell{padding-bottom:0}.page{width:100%}.page-heading{max-width:48rem}.page-heading .lead{max-width:42rem}.hero-copy{border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:linear-gradient(135deg,#fff 0%,#f1f6ff 100%);border:1px solid #d9e6fb;padding:clamp(1.15rem,4vw,2rem)}.hero-copy h1{max-width:20ch}.page--lessons{gap:var(--space-5);display:grid}.page--lessons>.lesson-map-layout{margin-top:var(--space-1)}.engagement-missions,.engagement-review,.engagement-achievement{border-radius:var(--radius-md)}.engagement-missions{box-shadow:var(--shadow-card)}.engagement-mission{min-height:4.25rem}.engagement-review{box-shadow:var(--shadow-card);border-color:#bed5f5}.engagement-achievement{box-shadow:var(--shadow-card)}.settings-page,.account-entry--dashboard{max-width:960px}.settings-list{gap:var(--space-5)}.settings-card,.account-entry__choice{box-shadow:var(--shadow-card)}.settings-card__heading h2{font-size:1.2rem}.settings-card select,.settings-control input[type=range],.form-field input{min-height:44px}.settings-confirm{border:1px solid var(--color-border)}.account-entry{gap:var(--space-5)}.account-entry>.lead{max-width:42rem}.account-entry__choices{align-items:stretch}.account-entry__choice{border-radius:var(--radius-md)}.account-entry__choice>h2{font-size:1.25rem}.account-dashboard{gap:var(--space-5)}.profile-editor,.weekly-summary,.account-stats,.account-identity{border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.route-loading{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);min-height:12rem;padding:var(--space-5);background:linear-gradient(145deg,#fff,#f0f6ff);align-content:center;justify-items:center;gap:.65rem;display:grid;position:relative;overflow:hidden}.route-loading__mark{place-items:center;width:3.5rem;height:3.5rem;display:grid;position:relative}.route-loading__mark span{animation:route-loading-halo 1.35s var(--ease-standard) infinite;background:#4191ff33;border-radius:50%;position:absolute;inset:-.45rem}.route-loading__mark img{border-radius:.85rem;width:3.5rem;height:3.5rem;position:relative;box-shadow:0 .3rem .8rem #1239742e}.route-loading p{font-weight:800}.route-loading__dots{gap:.28rem;display:flex}.route-loading__dots i{background:var(--color-primary);opacity:.35;border-radius:50%;width:.38rem;height:.38rem;animation:.9s ease-in-out infinite alternate route-loading-dot}.route-loading__dots i:nth-child(2){animation-delay:.15s}.route-loading__dots i:nth-child(3){animation-delay:.3s}@keyframes route-loading-halo{0%,to{opacity:.28;transform:scale(.82)}50%{opacity:1;transform:scale(1.08)}}@keyframes route-loading-dot{to{opacity:1;transform:translateY(-.18rem)}}.main-nav{padding-bottom:env(safe-area-inset-bottom)}.network-status{animation:network-status-enter var(--duration-normal) var(--ease-standard) both;color:#694500;min-width:0;min-height:2.5rem;padding:.5rem max(1rem,env(safe-area-inset-right)) .5rem max(1rem,env(safe-area-inset-left));text-align:center;background:#fff5d6;border-bottom:1px solid #e9c259;flex-wrap:wrap;justify-content:center;align-items:center;gap:.55rem;font-size:.82rem;font-weight:800;display:flex}.network-status span{overflow-wrap:anywhere;min-width:0}.network-status--restored{color:#126548;background:#e7f8f0;border-bottom-color:#75c5a4}.network-status svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9px;flex:0 0 1.15rem;width:1.15rem;height:1.15rem}@keyframes network-status-enter{0%{opacity:0;transform:translateY(-.55rem)}to{opacity:1;transform:translateY(0)}}.nav-item,.top-bar__nav-link,.button{-webkit-tap-highlight-color:transparent}.button:focus-visible,.nav-item:focus-visible,.top-bar__nav-link:focus-visible,.brand:focus-visible,.settings-card select:focus-visible,.settings-control input:focus-visible,.form-field input:focus-visible{outline-offset:3px;outline:3px solid #f2b84b}@media (width>=768px){.main-content{padding-bottom:var(--space-7)}.page--lessons{gap:var(--space-6)}.hero-copy{margin-bottom:0}.settings-page .page-heading,.account-entry>:first-child{margin-bottom:var(--space-1)}}@media (width<=767px){.main-content{min-height:calc(100dvh - 4.75rem);padding-bottom:calc(7rem + env(safe-area-inset-bottom))}.hero-copy{border-radius:var(--radius-md)}.hero-copy h1{font-size:clamp(1.9rem,9vw,2.5rem)}.engagement-review{flex-direction:column;align-items:stretch;gap:.7rem}.engagement-review .button{width:100%}.account-entry__actions{flex-direction:column}.account-entry__actions .button{text-align:center;width:100%}.settings-handedness .button{flex:9rem}}@media (width<=380px){.main-content{padding-inline:.75rem}.hero-copy{padding:1rem}.engagement-missions{padding:.65rem .7rem}.settings-card,.account-entry__choice{padding:1rem}}@media (hover:none){.button:hover,.lesson-node:hover{transform:none}}@media (prefers-reduced-motion:reduce){.hero-copy,.settings-card,.account-entry__choice,.engagement-review,.engagement-achievement{transition:none}.route-loading__mark span,.route-loading__dots i,.network-status{animation:none}}.top-bar__brand-group{align-items:center;gap:.45rem;min-width:0;display:flex}.fullscreen-toggle{flex:none;align-items:center;gap:.35rem;display:flex;position:relative}.fullscreen-toggle__button{border-radius:var(--radius-sm);color:#fff;background:#ffffff1f;border:1px solid #ffffff59;flex:0 0 44px;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;padding:0;display:flex}.fullscreen-toggle__button:hover{background:#ffffff38}.fullscreen-toggle__button:focus-visible{outline-offset:3px;outline:3px solid #f2b84b}.fullscreen-toggle__button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.15rem;height:1.15rem}.fullscreen-toggle__message{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);color:var(--color-text);overflow-wrap:anywhere;z-index:30;max-width:min(15rem,100vw - 1rem);padding:.4rem .55rem;font-size:.75rem;position:absolute;top:calc(100% + .55rem)}.session-intro{animation:session-intro-in 3.6s var(--ease-standard) both;color:#fff;isolation:isolate;z-index:100;background:radial-gradient(circle at 50% 42%,#3188ff 0,#1d5fc8 35%,#0a2860 100%);position:fixed;inset:0;overflow:hidden}.session-intro:before{content:"";background:linear-gradient(90deg,#0000,#ffffff21,#0000);position:absolute;inset:-50%;transform:rotate(-18deg)}.session-intro__energy{animation:session-intro-energy 3.6s var(--ease-standard) both;background:radial-gradient(circle,#a9e5ff94,#378eff24 46%,#0000 68%);border-radius:50%;width:min(92vw,42rem);height:min(92vw,42rem);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.session-intro__sparks{pointer-events:none;position:absolute;inset:0}.session-intro__sparks i{animation:session-intro-spark 1.6s calc(var(--spark-index)*.11s + .65s) var(--ease-standard) both;height:.55rem;left:calc(18% + var(--spark-index)*13%);background:#b9efff;border-radius:50%;width:.55rem;position:absolute;top:58%;box-shadow:0 0 1rem #69d4ff}.session-intro__sparks i:first-child{--spark-index:0}.session-intro__sparks i:nth-child(2){--spark-index:1}.session-intro__sparks i:nth-child(3){--spark-index:2}.session-intro__sparks i:nth-child(4){--spark-index:3}.session-intro__sparks i:nth-child(5){--spark-index:4}.session-intro__sparks i:nth-child(6){--spark-index:5}.session-intro__road{animation:session-intro-road 3.6s var(--ease-standard) both;clip-path:polygon(42% 0,58% 0,88% 100%,12% 100%);background:linear-gradient(90deg,#101b2e,#273b5d 50%,#101b2e);height:47vh;position:absolute;bottom:-4vh;left:0;right:0}.session-intro__road:before,.session-intro__road:after{content:"";opacity:.82;background:#dceeff;width:.35rem;height:100%;position:absolute;top:0}.session-intro__road:before{left:30%;transform:rotate(13deg)}.session-intro__road:after{right:30%;transform:rotate(-13deg)}.session-intro__road span{background:repeating-linear-gradient(#fff 0 1.8rem,#0000 1.8rem 3.8rem);width:.35rem;height:100%;animation:.9s linear infinite session-intro-lane;position:absolute;top:0;left:50%;transform:translate(-50%)}.session-intro__lockup{animation:session-intro-lockup 3.6s var(--ease-standard) both;flex-direction:column;align-items:center;display:flex;position:absolute;top:50%;left:50%}.session-intro__logo{filter:drop-shadow(0 1rem 1.8rem #03163a59);object-fit:contain;border-radius:24%;width:clamp(7.5rem,30vw,12rem);height:clamp(7.5rem,30vw,12rem)}.session-intro__brand{letter-spacing:-.035em;text-shadow:0 .2rem .8rem #051e4873;margin-top:.55rem;font-size:clamp(1.55rem,7vw,3.1rem);font-weight:900;line-height:1}.session-intro__mascot{animation:session-intro-mascot 3.6s var(--ease-standard) both;filter:drop-shadow(0 1.2rem 1.3rem #04183d61);object-fit:contain;width:auto;height:clamp(10rem,34vw,16rem);position:absolute;bottom:18%;left:50%}.session-intro__copy{animation:session-intro-copy 3.6s var(--ease-standard) both;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);text-align:center;background:#062252b8;border:1px solid #bceeff47;border-radius:1.15rem;width:max-content;max-width:min(90vw,35rem);padding:.75rem clamp(1rem,4vw,1.6rem);position:absolute;bottom:6%;left:50%;transform:translate(-50%);box-shadow:0 .7rem 1.8rem #03163a33}.session-intro__kicker{color:#bceeff;letter-spacing:.18em;text-transform:uppercase;font-size:.78rem;font-weight:900;display:block}.session-intro__welcome{text-wrap:balance;margin:.45rem 0 0;font-size:clamp(1rem,3.6vw,1.35rem);font-weight:800}.session-intro__skip{animation:session-intro-skip 3.6s var(--ease-standard) both;border-radius:var(--radius-pill);color:#fff;min-height:44px;right:max(1rem,env(safe-area-inset-right));top:max(1rem,env(safe-area-inset-top));background:#0722534d;border:1px solid #ffffffb8;padding:.65rem 1rem;font-weight:800;position:absolute}.session-intro__skip:focus-visible{outline-offset:3px;outline:3px solid #f2b84b}.session-intro--reduced{animation:none}@keyframes session-intro-in{0%{opacity:0}8%,88%{opacity:1;transform:none}to{opacity:0;visibility:hidden;transform:translateY(-6vh)scale(1.025)}}@keyframes session-intro-energy{0%{opacity:.15;transform:translate(-50%,-50%)scale(.45)}30%{opacity:1;transform:translate(-50%,-50%)scale(1)}78%{opacity:.5}to{opacity:0;transform:translate(-50%,-50%)scale(1.45)}}@keyframes session-intro-lockup{0%{opacity:0;transform:translate(-50%,-45%)scale(.58)}14%,30%{opacity:1;transform:translate(-50%,-50%)scale(1)}48%,82%{opacity:1;transform:translate(-50%,-41vh)scale(.5)}to{opacity:0;transform:translate(-50%,-48vh)scale(.38)}}@keyframes session-intro-mascot{0%,25%{opacity:0;transform:translate(-50%,45%)scale(.72)rotate(-4deg)}42%{opacity:1;transform:translate(-50%,-7%)scale(1.08)rotate(2deg)}52%,82%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-22%)scale(.88)}}@keyframes session-intro-copy{0%,42%{opacity:0;transform:translate(-50%,1rem)}56%,84%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-1rem)}}@keyframes session-intro-road{0%,22%{opacity:0;transform:translateY(35%)scaleX(.7)}43%,85%{opacity:1;transform:none}to{opacity:0;transform:translateY(-8%)}}@keyframes session-intro-lane{to{background-position-y:3.8rem}}@keyframes session-intro-spark{0%{opacity:0;transform:translateY(0)scale(.5)}35%{opacity:1}to{opacity:0;transform:translateY(-38vh)scale(1.4)}}@keyframes session-intro-skip{0%,35%{opacity:0}48%,88%{opacity:1}to{opacity:0;transform:translateY(-.5rem)}}@media (prefers-reduced-motion:reduce){.session-intro,.session-intro__energy,.session-intro__sparks i,.session-intro__road,.session-intro__road span,.session-intro__lockup,.session-intro__mascot,.session-intro__copy,.session-intro__skip{animation:none}}@media (height<=640px){.session-intro__mascot{height:9rem;bottom:14%}.session-intro__copy{bottom:4%}}@media (width<=767px){.fullscreen-toggle__message{left:0}}
