@property --mo-amp{syntax:"<number>";inherits:true;initial-value:0}@property --mo-esx{syntax:"<number>";inherits:true;initial-value:1}@property --mo-esy{syntax:"<number>";inherits:true;initial-value:1}@property --mo-tilt{syntax:"<number>";inherits:true;initial-value:0}@property --mo-edy{syntax:"<number>";inherits:true;initial-value:0}@property --mo-edx{syntax:"<number>";inherits:true;initial-value:0}@property --mo-esx2{syntax:"<number>";inherits:true;initial-value:0}@property --mo-esy2{syntax:"<number>";inherits:true;initial-value:0}@property --mo-tilt2{syntax:"<number>";inherits:true;initial-value:0}@property --mo-edy2{syntax:"<number>";inherits:true;initial-value:0}@property --mo-lock{syntax:"<number>";inherits:true;initial-value:0}@property --mo-shake{syntax:"<number>";inherits:true;initial-value:0}@property --mo-rock{syntax:"<number>";inherits:true;initial-value:0}@property --mo-rockp{syntax:"<number>";inherits:true;initial-value:1}@property --mo-bdy{syntax:"<number>";inherits:true;initial-value:0}.mo-bob,.mo-breathe,.mo-root{transform-box:view-box;transform-origin:center}.mo-root{--mo-amp:0;--mo-morph:calc(.4s*var(--mo-rate,1));--mo-morph-ease:ease-in-out;--mo-tp:--mo-esx,--mo-esy,--mo-tilt,--mo-edy,--mo-edx,--mo-esx2,--mo-esy2,--mo-tilt2,--mo-edy2,--mo-lock,--mo-shake,--mo-rock,--mo-bdy;--mo-md:var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph),var(--mo-morph);--mo-me:var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease),var(--mo-morph-ease);transition-property:--mo-amp,transform,var(--mo-tp);transition-duration:calc(.4s*var(--mo-rate,1)),calc(.16s*var(--mo-rate,1)),var(--mo-md);transition-timing-function:ease-out,cubic-bezier(.23,1,.32,1),var(--mo-me);animation:mo-shake calc(.112s*var(--mo-rate,1))linear infinite}.mo-bob>g:not(.mo-eyes){fill:var(--mo-head)}.mo-bob>g:not(.mo-eyes),.mo-eyes{transition:fill var(--mo-morph)var(--mo-morph-ease)}.mo-eyes{fill:var(--mo-eye)}@keyframes mo-shake{0%,to{translate:calc(.62px*var(--mo-shake))calc(-.34px*var(--mo-shake))}25%{translate:calc(-.7px*var(--mo-shake))calc(.22px*var(--mo-shake))}50%{translate:calc(.38px*var(--mo-shake))calc(.66px*var(--mo-shake))}75%{translate:calc(-.44px*var(--mo-shake))calc(-.6px*var(--mo-shake))}}.mo-root.mo-expr{--mo-morph:calc(.3s*var(--mo-rate,1));--mo-morph-ease:cubic-bezier(.45,.05,.5,1)}.mo-root:hover{--mo-amp:1;transition-duration:calc(.4s*var(--mo-rate,1)),calc(.22s*var(--mo-rate,1)),var(--mo-md);transform:translateY(-1.5px)scale(1.04)}.mo-root.mo-always{--mo-amp:1}.mo-breathe{animation-name:mo-breathe;animation-duration:calc(2.8s*var(--mo-rate,1));animation-delay:calc(var(--mo-phase,0s)*var(--mo-rate,1));animation-iteration-count:infinite;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes mo-breathe{to{transform:scaleX(calc(1 + .022*var(--mo-amp)))scaleY(calc(1 - .018*var(--mo-amp)))}}.mo-bob{translate:0 calc(var(--mo-bdy)*1px);animation-name:mo-bob;animation-duration:calc(3.4s*var(--mo-rate,1));animation-delay:calc(var(--mo-bob-phase,0s)*var(--mo-rate,1));animation-iteration-count:infinite;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes mo-bob{0%{transform:translateY(0)}to{transform:translateY(calc(-1.1px*var(--mo-amp)))}}.mo-eye{transform-box:view-box;--mo-sel:calc((var(--mo-wrap,1) + 1)/2);--mo-x:calc(var(--mo-esx) + var(--mo-esx2)*var(--mo-sel));--mo-y:calc(var(--mo-esy) + var(--mo-esy2)*var(--mo-sel));--mo-t:calc(var(--mo-tilt) + var(--mo-tilt2)*var(--mo-sel));--mo-ph:calc(var(--mo-sel)*(1 - var(--mo-rock)) + var(--mo-rock)*((1 + var(--mo-wrap,1)*var(--mo-rockp))/2));translate:calc(var(--mo-edx)*var(--mo-wrap,1)*1px)calc((var(--mo-edy) + var(--mo-edy2)*var(--mo-ph))*1px);rotate:calc((var(--mo-t)*var(--mo-wrap,1) - var(--mo-lean,0)*var(--mo-lock))*1deg);transform:rotate(calc(var(--mo-lean,0)*1deg))scaleX(var(--mo-x))scaleY(var(--mo-y))rotate(calc(var(--mo-lean,0)*-1deg));animation-name:mo-rock;animation-duration:calc(.9s*var(--mo-rate,1));animation-iteration-count:infinite;animation-timing-function:ease-in-out}@container style(--mo-rock:0){.mo-eye{animation-name:none}}@keyframes mo-rock{0%,to{--mo-rockp:1}50%{--mo-rockp:-1}}.mo-eye>*{transform-box:fill-box;transform-origin:center;animation-name:mo-blink,mo-wrap;animation-duration:calc(var(--mo-blink,4.8s)*var(--mo-rate,1)),calc(var(--mo-saccade,5.6s)*var(--mo-rate,1));animation-delay:calc(var(--mo-blink-phase,0s)*var(--mo-rate,1)),calc(var(--mo-saccade-phase,0s)*var(--mo-rate,1));animation-iteration-count:infinite;animation-timing-function:linear}@keyframes mo-blink{0%,97.2%{transform:rotate(calc(var(--mo-lean,0)*1deg))scaleY(1)rotate(calc(var(--mo-lean,0)*-1deg));animation-timing-function:ease-in}98.6%{transform:rotate(calc(var(--mo-lean,0)*1deg))scaleY(calc(1 - .92*var(--mo-amp)))rotate(calc(var(--mo-lean,0)*-1deg));animation-timing-function:ease-out}to{transform:rotate(calc(var(--mo-lean,0)*1deg))scaleY(1)rotate(calc(var(--mo-lean,0)*-1deg))}}.mo-eyes{animation-name:mo-saccade;animation-duration:calc(var(--mo-saccade,5.6s)*var(--mo-rate,1));animation-delay:calc(var(--mo-saccade-phase,0s)*var(--mo-rate,1));animation-iteration-count:infinite;animation-timing-function:linear}@keyframes mo-saccade{0%,15%{translate:0}16.5%,31%{translate:calc(-.8px*var(--mo-look-x,1.4)*var(--mo-amp))calc(-.9px*var(--mo-look-y,1.1)*var(--mo-amp))}32.5%,47%{translate:calc(1px*var(--mo-look-x,1.4)*var(--mo-amp))calc(.1px*var(--mo-look-y,1.1)*var(--mo-amp))}48.5%,63%{translate:calc(-.15px*var(--mo-look-x,1.4)*var(--mo-amp))calc(.85px*var(--mo-look-y,1.1)*var(--mo-amp))}64.5%,79%{translate:calc(.75px*var(--mo-look-x,1.4)*var(--mo-amp))calc(-.8px*var(--mo-look-y,1.1)*var(--mo-amp))}80.5%,98.5%{translate:calc(-1px*var(--mo-look-x,1.4)*var(--mo-amp))calc(-.15px*var(--mo-look-y,1.1)*var(--mo-amp))}to{translate:0}}@keyframes mo-wrap{0%,15%{scale:1;rotate:none}16.5%,31%{scale:calc(1 - .0176*var(--mo-look-mx,1.4)*var(--mo-amp) + .008*var(--mo-look-x,1.4)*var(--mo-wrap,1)*var(--mo-amp))calc(1 - .027*var(--mo-look-my,1.1)*var(--mo-amp));rotate:calc(.648deg*var(--mo-look-x,1.4)*var(--mo-look-y,1.1)*var(--mo-wrap,1)*var(--mo-amp))}32.5%,47%{scale:calc(1 - .022*var(--mo-look-mx,1.4)*var(--mo-amp) - .01*var(--mo-look-x,1.4)*var(--mo-wrap,1)*var(--mo-amp))calc(1 - .003*var(--mo-look-my,1.1)*var(--mo-amp));rotate:calc(.09deg*var(--mo-look-x,1.4)*var(--mo-look-y,1.1)*var(--mo-wrap,1)*var(--mo-amp))}48.5%,63%{scale:calc(1 - .0033*var(--mo-look-mx,1.4)*var(--mo-amp) + .0015*var(--mo-look-x,1.4)*var(--mo-wrap,1)*var(--mo-amp))calc(1 - .0255*var(--mo-look-my,1.1)*var(--mo-amp));rotate:calc(-.115deg*var(--mo-look-x,1.4)*var(--mo-look-y,1.1)*var(--mo-wrap,1)*var(--mo-amp))}64.5%,79%{scale:calc(1 - .0165*var(--mo-look-mx,1.4)*var(--mo-amp) - .0075*var(--mo-look-x,1.4)*var(--mo-wrap,1)*var(--mo-amp))calc(1 - .024*var(--mo-look-my,1.1)*var(--mo-amp));rotate:calc(-.54deg*var(--mo-look-x,1.4)*var(--mo-look-y,1.1)*var(--mo-wrap,1)*var(--mo-amp))}80.5%,98.5%{scale:calc(1 - .022*var(--mo-look-mx,1.4)*var(--mo-amp) + .01*var(--mo-look-x,1.4)*var(--mo-wrap,1)*var(--mo-amp))calc(1 - .0045*var(--mo-look-my,1.1)*var(--mo-amp));rotate:calc(.135deg*var(--mo-look-x,1.4)*var(--mo-look-y,1.1)*var(--mo-wrap,1)*var(--mo-amp))}to{scale:1;rotate:none}}@media not ((hover:hover) and (pointer:fine)){.mo-root:hover{--mo-amp:0;transform:none}.mo-root.mo-always{--mo-amp:1}.mo-root:not(.mo-always),.mo-root:not(.mo-always) *{animation-play-state:paused}.mo-root.mo-expr:not(.mo-always) .mo-eye{animation-play-state:running}}.mo-slow{--mo-rate:5}@media (prefers-reduced-motion:reduce){.mo-bob,.mo-breathe,.mo-eye,.mo-eye>*,.mo-eyes,.mo-root{animation:none;transition:none}.mo-bob>g:not(.mo-eyes){transition:none}}@property --mo-track-x{syntax:"<number>";inherits:true;initial-value:0}@property --mo-track-y{syntax:"<number>";inherits:true;initial-value:0}@property --mo-track-travel{syntax:"<length>";inherits:true;initial-value:0}@property --mo-track-hold{syntax:"<number>";inherits:true;initial-value:0}.mo-root .mo-eye{--mo-gz-dx:calc(var(--mo-gz-dx1,0) + (var(--mo-gz-dx2,0) - var(--mo-gz-dx1,0))*var(--mo-sel));--mo-gz-dy:calc(var(--mo-gz-dy1,0) + (var(--mo-gz-dy2,0) - var(--mo-gz-dy1,0))*var(--mo-sel));--mo-gz-sx:calc(var(--mo-gz-sx1,1) + (var(--mo-gz-sx2,1) - var(--mo-gz-sx1,1))*var(--mo-sel));--mo-gz-sy:calc(var(--mo-gz-sy1,1) + (var(--mo-gz-sy2,1) - var(--mo-gz-sy1,1))*var(--mo-sel));--mo-gz-t:calc(var(--mo-gz-t1,0) + (var(--mo-gz-t2,0) - var(--mo-gz-t1,0))*var(--mo-sel));translate:calc((var(--mo-edx)*var(--mo-wrap,1) + var(--mo-gz-dx))*1px)calc((var(--mo-edy) + var(--mo-edy2)*var(--mo-ph) + var(--mo-gz-dy))*1px);rotate:calc((var(--mo-t)*var(--mo-wrap,1) - var(--mo-lean,0)*var(--mo-lock) + var(--mo-gz-t))*1deg);transform:rotate(calc(var(--mo-lean,0)*1deg))scaleX(calc(var(--mo-x)*var(--mo-gz-sx)))scaleY(calc(var(--mo-y)*var(--mo-gz-sy)))rotate(calc(var(--mo-lean,0)*-1deg))}svg:has(>.mo-root){--mo-look-seed-x:var(--mo-look-x,1.4);--mo-look-seed-y:var(--mo-look-y,1.1);--mo-look-seed-mx:var(--mo-look-mx,1.4);--mo-look-seed-my:var(--mo-look-my,1.1)}.mo-root{--mo-look-x:calc(var(--mo-look-seed-x,1.4)*(1 - var(--mo-track-hold)));--mo-look-y:calc(var(--mo-look-seed-y,1.1)*(1 - var(--mo-track-hold)));--mo-look-mx:calc(var(--mo-look-seed-mx,1.4)*(1 - var(--mo-track-hold)));--mo-look-my:calc(var(--mo-look-seed-my,1.1)*(1 - var(--mo-track-hold)))}:root{--header-h:64px;--tabbar-h:0px}.sh-header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--background) 86%,transparent);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--border)}.sh-bar{position:relative;display:grid;grid-template-columns:1fr auto 1fr;gap:16px;height:var(--header-h);max-width:var(--page-max);margin-inline:auto;padding-inline:var(--gutter)}.sh-bar,.sh-brand{align-items:center}.sh-brand{display:flex;justify-self:start}.sh-brand img{height:30px;width:auto}.dark .sh-brand img{filter:invert(1) hue-rotate(180deg)}.sh-nav{display:flex;gap:2px;padding:4px;border:1px solid var(--border);background:var(--card)}.sh-nav,.sh-nav a{border-radius:var(--r-pill)}.sh-nav a{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;font-size:var(--text-sm);font-weight:500;color:var(--muted-foreground);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.sh-nav a:hover{color:var(--foreground);background:var(--muted)}.sh-nav a.active{background:var(--primary);color:var(--primary-foreground)}.sh-tools{display:flex;justify-self:end}.sh-tool,.sh-tools{align-items:center;gap:8px}.sh-tool{display:inline-flex;justify-content:center;height:38px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--card);color:var(--foreground);font-size:var(--text-sm);font-weight:500;transition:background var(--dur-fast) var(--ease)}.sh-tool.active,.sh-tool:hover{background:var(--accent);color:var(--accent-foreground)}.sh-library{padding-inline:14px}.sh-icon{width:38px;padding:0}.sh-icon svg{width:17px;height:17px}.sh-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:var(--primary-foreground);font-weight:600;font-size:var(--text-sm)}.sh-avatar[aria-expanded=true]{outline:2px solid var(--ring);outline-offset:2px}.sh-menu{position:absolute;right:var(--gutter);top:calc(var(--header-h) - 6px);width:min(300px,calc(100vw - 32px));padding:8px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--popover);box-shadow:var(--shadow-2);display:grid;gap:2px}.sh-menu-head{display:flex;align-items:center;gap:12px;padding:10px;border-bottom:1px solid var(--border);margin-bottom:6px}.sh-menu-head div{display:grid;gap:2px}.sh-menu-head span:not(.sh-menu-avatar){font-size:var(--text-xs);color:var(--muted-foreground)}.sh-menu-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--accent-foreground);font-weight:600}.sh-menu a{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--r-sm);font-size:var(--text-sm)}.sh-menu a svg:last-child{margin-left:auto;opacity:.5}.sh-menu a:hover{background:var(--muted)}.sh-tabbar{display:none}@media(max-width:900px){.sh-library span{display:none}.sh-library{width:38px;padding:0}.sh-nav a{padding:7px 10px}.sh-nav a span{display:none}.sh-nav a.active span{display:inline}}@media(max-width:767px){:root{--header-h:56px;--tabbar-h:64px}.sh-bar{grid-template-columns:1fr auto}.sh-library,.sh-nav{display:none}.sh-brand img{height:26px}.milo-main{padding-bottom:calc(var(--tabbar-h) + 20px + env(safe-area-inset-bottom))}.sh-tabbar{display:grid;grid-template-columns:repeat(7,1fr);position:fixed;inset:auto 0 0 0;z-index:40;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding:6px 8px env(safe-area-inset-bottom);background:color-mix(in srgb,var(--card) 94%,transparent);backdrop-filter:blur(14px);border-top:1px solid var(--border)}.sh-tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:var(--r-md);font-size:var(--text-xs);color:var(--muted-foreground)}.sh-tabbar a.active{color:var(--accent-foreground);background:var(--accent)}}.project-app:has(.full-chat){height:calc(100dvh - var(--header-h) - var(--tabbar-h))}.milo-main:has(.full-chat){padding-bottom:0}.sh-signout{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--r-sm);font-size:var(--text-sm);color:var(--destructive);width:100%;text-align:left;border-top:1px solid var(--border);margin-top:4px;border-radius:0 0 var(--r-sm) var(--r-sm)}.sh-signout:hover{background:var(--bad-soft)}.hm{padding-block:clamp(20px,4vw,40px) 40px;display:grid;gap:clamp(32px,5vw,56px)}.hm-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(20px,4vw,48px);align-items:stretch}.hm-hero-copy{display:flex;flex-direction:column;justify-content:center;gap:14px}.hm-hero h1{font:600 clamp(30px,5vw,var(--text-3xl))/1.08 var(--font-heading);letter-spacing:-.025em;margin:0;max-width:16ch;text-wrap:balance}.hm-hero-copy>p{font-size:var(--text-base);color:var(--muted-foreground);margin:0;max-width:44ch}.hm .home-eyebrow{font-size:var(--text-xs);letter-spacing:.12em;font-weight:600;color:var(--accent-foreground)}.hm-stats{display:flex;gap:10px;margin:8px 0 0;flex-wrap:wrap}.hm-stats>div{padding:12px 18px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--card);min-width:112px}.hm-stats dt{font-size:var(--text-xs);color:var(--muted-foreground)}.hm-stats dd{margin:2px 0 0;font:600 var(--text-xl)/1.1 var(--font-heading)}.hm-continue{display:flex;flex-direction:column;gap:8px;text-align:left;padding:clamp(20px,3vw,28px);border-radius:20px;background:var(--primary);color:var(--primary-foreground);box-shadow:var(--shadow-2);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}a.hm-continue:hover,button.hm-continue:hover{transform:translateY(-2px)}.hm-continue-label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;opacity:.8}.hm-continue strong{font:600 var(--text-xl)/1.2 var(--font-heading);letter-spacing:-.01em}.hm-continue-meta{font-size:var(--text-sm);opacity:.85}.hm-continue-bar{height:6px;border-radius:var(--r-pill);background:rgb(255 255 255/.25);overflow:hidden;margin-top:auto}.hm-continue-bar i{display:block;height:100%;border-radius:inherit;transition:width var(--dur) var(--ease)}.hm-continue-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:var(--text-sm)}.hm-continue-go{display:inline-flex;align-items:center;gap:6px;font-weight:600;margin-top:8px}.hm-continue-foot .hm-continue-go{margin-top:0}.hm-start{justify-content:flex-end;min-height:200px}.hm-continue:disabled{opacity:.7}.hm .project-section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.hm .project-section-heading h2{font:600 var(--text-xl)/1.2 var(--font-heading);letter-spacing:-.01em;margin:0}.hm .quiet-label{font-size:var(--text-sm)}.hm .home-search{display:flex;align-items:center;gap:8px;height:40px;padding-inline:14px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--card);min-width:min(260px,100%)}.hm .home-search input{flex:1;min-width:0;background:none;border:0;outline:0;font-size:var(--text-sm)}.hm .project-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px}.hm .project-card{display:flex;flex-direction:column;gap:8px;text-align:left;padding:20px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow-1);transition:border-color var(--dur-fast) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.hm button.project-card:hover{border-color:var(--ring);transform:translateY(-2px);box-shadow:var(--shadow-2)}.hm .project-card-field{display:flex;align-items:center;gap:8px;font-size:var(--text-xs);font-weight:600;color:var(--accent-foreground)}.hm .project-card h3{font:600 var(--text-lg)/1.25 var(--font-heading);margin:0}.hm .project-card>p{font-size:var(--text-sm);color:var(--muted-foreground);margin:0}.hm .project-progress-label{display:flex;justify-content:space-between;font-size:var(--text-xs);margin-bottom:6px}.hm .project-progress-track{height:6px;border-radius:var(--r-pill);background:var(--muted);overflow:hidden}.hm .project-progress-track i{display:block;height:100%;background:var(--primary);border-radius:inherit}.hm .project-card-action{margin-top:auto;padding-top:10px;display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:600}.hm .tutor-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:16px}.hm .tutor-card{display:flex;flex-direction:column;gap:6px;text-align:left;padding:20px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card);transition:border-color var(--dur-fast) var(--ease),transform var(--dur) var(--ease)}.hm button.tutor-card:hover{border-color:var(--ring);transform:translateY(-2px)}.hm .tutor-field-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-md);background:var(--accent);color:var(--accent-foreground);margin-bottom:6px}.hm .tutor-card h3{font:600 var(--text-lg)/1.2 var(--font-heading);margin:0}.hm .tutor-card p{font-size:var(--text-sm);color:var(--muted-foreground);margin:0}.hm .tutor-card-action{margin-top:auto;padding-top:10px}.hm .other-tutors,.hm .tutor-card-action{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:600}.hm .other-tutors{margin-top:16px}@media(max-width:860px){.hm-hero{grid-template-columns:1fr}.hm-hero h1{max-width:none}}@media(max-width:600px){.hm-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.hm-stats>div{min-width:0;padding:10px 12px}.hm-stats dt{font-size:var(--text-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.hm .project-card-grid{grid-template-columns:1fr;gap:12px}.hm .project-card{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(180px,320px) auto;align-items:center;gap:8px 24px;padding:18px 24px}.hm .project-card .pc-main{display:grid;gap:3px;min-width:0}.hm .project-card .pc-main h3{overflow-wrap:anywhere}.hm .project-card .pc-main .project-card-field{margin:0}.hm .project-card .pc-progress{min-width:0}.hm .project-card .project-card-action{margin:0;padding:0;white-space:nowrap}.hm .project-card .blob-wrap,.hm .project-card .blob-wrap .milo-blob{width:56px;height:56px}@media(max-width:860px){.hm .project-card{grid-template-columns:auto minmax(0,1fr)}.hm .project-card .pc-progress,.hm .project-card .project-card-action{grid-column:1/-1}}.hm .project-card>.project-card-action,.hm .project-card>span{border-top:0;padding-top:0;margin-top:0}.hm .tutor-card-action{border-top:0;padding-top:0;margin-top:10px}.hm .kind-choice{margin-bottom:28px}.hm .kind-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:12px}.hm .kind-card{position:relative;display:flex;flex-direction:column;gap:6px;text-align:left;padding:16px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card);transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.hm .kind-card strong{font:600 var(--text-base)/1.2 var(--font-heading)}.hm .kind-card>span:not(.kind-icon){font-size:var(--text-sm);color:var(--muted-foreground)}.hm .kind-icon{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--accent);color:var(--accent-foreground)}.hm .kind-card.selected,.hm .kind-card:not(:disabled):hover{border-color:var(--ring)}.hm .kind-card.selected{background:var(--accent)}.hm .kind-card:disabled{opacity:.6;cursor:not-allowed}.hm .kind-soon{align-self:flex-start;font-style:normal;color:var(--muted-foreground);border:1px solid var(--border)}.hm .kind-chip,.hm .kind-soon{font-size:var(--text-xs);font-weight:600;border-radius:999px;padding:1px 8px}.hm .kind-chip{margin-left:8px;background:var(--accent);color:var(--accent-foreground)}.hm .kind-card:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.pager{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:16px;font-size:14px;color:var(--milo-ink-muted,#6b6b7b)}.pager,.pager-nav,.pager-size{display:flex;align-items:center}.pager-nav,.pager-size{gap:8px}.pager-size select{font:inherit;color:var(--milo-ink-soft,inherit);background:transparent;border:1px solid var(--milo-accent-line,#d8d8e4);border-radius:8px;padding:4px 8px}.pager-range{font-variant-numeric:tabular-nums;margin-right:4px}.pager-nav button{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--milo-accent-line,#d8d8e4);border-radius:8px;background:transparent;color:inherit;transition:background-color .15s,color .15s}.pager-nav button:hover:not(:disabled){background:var(--milo-surface-muted,#eee)}.pager-nav button:disabled{opacity:.4;pointer-events:none}@keyframes stagger-in{0%{opacity:0;transform:translate3d(0,10px,0)}}.stagger>*{animation:stagger-in .38s cubic-bezier(.22,1,.36,1) backwards;animation-delay:calc(min(var(--i,0),8)*55ms)}@media(prefers-reduced-motion:reduce){.stagger>*{animation:none}}@property --route-i{syntax:"<integer>";inherits:false;initial-value:0}@keyframes route-enter{0%{opacity:0;transform:translate3d(var(--route-dx,0),var(--route-dy,8px),0)}}@keyframes route-fade{0%{opacity:0}}@layer components{.route-stage :nth-child(2){--route-i:1}.route-stage :nth-child(3){--route-i:2}.route-stage :nth-child(4){--route-i:3}.route-stage :nth-child(5){--route-i:4}.route-stage :nth-child(6){--route-i:5}.route-stage :nth-child(7){--route-i:6}.route-stage :nth-child(8){--route-i:7}.route-stage :nth-child(n+9){--route-i:8}:where(.route-stage>:not(:only-child),.route-stage>:only-child>:not(:only-child),.route-stage>:only-child>:only-child>:not(:only-child),.route-stage>:only-child>:only-child>:only-child>:not(:only-child),.route-stage .route-group>*):where(:not(.route-stage,.route-group,:has(.route-group),.route-skeleton,.route-skeleton *,.route-static,.route-static *)){animation:route-enter .4s cubic-bezier(.22,1,.36,1) backwards;animation-delay:calc(var(--route-i) * 40ms)}:where(.route-skeleton){animation:route-fade .2s ease-out .15s backwards}@media (prefers-reduced-motion:reduce){:where(.route-stage>:not(:only-child),.route-stage>:only-child>:not(:only-child),.route-stage>:only-child>:only-child>:not(:only-child),.route-stage>:only-child>:only-child>:only-child>:not(:only-child),.route-stage .route-group>*):where(:not(.route-stage,.route-group,:has(.route-group),.route-skeleton,.route-skeleton *,.route-static,.route-static *)){animation:route-fade .16s ease-out backwards;animation-delay:0s}}}.full-chat-heading{padding:12px var(--gutter);background:var(--background)}.full-chat-heading>*{min-width:0}.full-chat-heading h1{font:600 var(--text-base)/1.3 var(--font-heading)}.chat-source-chip,.full-chat-heading p{font-size:var(--text-xs)}.chat-source-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--card);color:var(--muted-foreground)}.project-app:has(.full-chat)>.independent-context{padding:8px var(--gutter);background:var(--muted)}.chat-message-column{max-width:780px;padding:24px var(--gutter) 32px}.full-chat-composer{max-width:780px;padding:8px var(--gutter) 14px}.chat-welcome-icon{background:var(--accent);box-shadow:none;border-radius:var(--r-lg)}.full-chat-empty h2{font:600 clamp(26px,4vw,var(--text-2xl))/1.15 var(--font-heading);letter-spacing:-.02em;color:var(--foreground)}.full-chat-empty>p{font-size:var(--text-base);line-height:1.6}.chat-prompt-cards{max-width:780px}.chat-prompt-cards button{border-radius:var(--r-lg);background:var(--card);border-color:var(--border);box-shadow:var(--shadow-1)}.chat-prompt-cards button:hover{background:var(--accent);border-color:var(--ring)}.chat-prompt-cards strong{font-size:var(--text-sm);color:var(--foreground)}.chat-prompt-cards span{font-size:var(--text-xs)}.full-chat .answer-content{font-size:var(--text-base);line-height:1.75;color:var(--foreground)}.full-chat .doubt-turn>small{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground)}.full-chat .doubt-turn.student{background:var(--accent);border-color:var(--border);border-radius:var(--r-lg) var(--r-lg) 4px var(--r-lg)}.full-chat .doubt-turn.student>small{display:none}@media(max-width:767px){.chat-prompt-cards{grid-template-columns:1fr}.chat-prompt-cards button{flex-direction:row;align-items:center;gap:12px;padding:14px}.chat-prompt-cards button span,.full-chat-heading .chat-source-chip{display:none}}.project-context-bar{padding:14px 0;margin-bottom:8px;font-size:var(--text-xs)}.project-context-bar>a{font-size:var(--text-sm);color:var(--accent-foreground);font-weight:500}.project-context-bar>span{font-size:var(--text-sm);color:var(--muted-foreground)}.project-setup-heading{display:grid;gap:6px;padding-top:12px}.project-setup-heading h1{font:600 clamp(26px,4vw,var(--text-2xl))/1.15 var(--font-heading);letter-spacing:-.02em;color:var(--foreground);margin:4px 0 0}.project-setup-heading p{font-size:var(--text-base);line-height:1.5;color:var(--muted-foreground);margin:0}.project-setup-heading .home-eyebrow{font-size:var(--text-xs);letter-spacing:.12em;font-weight:600;color:var(--accent-foreground)}.project-setup-steps{display:flex;align-items:center;gap:0;margin:24px 0 28px;padding:0;border:0;font-size:var(--text-sm)}.project-setup-steps>span{display:flex;align-items:center;gap:10px;color:var(--muted-foreground);flex:0 0 auto}.project-setup-steps>span+span:before{content:"";width:clamp(24px,6vw,72px);height:2px;background:var(--border);margin-inline:12px;border-radius:2px}.project-setup-steps>span{position:relative}.project-setup-steps b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:2px solid var(--border);font-size:var(--text-xs);font-weight:600;background:var(--card);order:1}.project-setup-steps em{font-style:normal;order:2}.project-setup-steps>span+span:before{order:0}.project-setup-steps>span.complete{color:var(--foreground)}.project-setup-steps>span.complete b{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.project-setup-steps>span.active:before,.project-setup-steps>span.complete+span:before{background:var(--primary)}.project-setup-steps>span.active{color:var(--foreground);font-weight:600}.project-setup-steps>span.active b{border-color:var(--primary);color:var(--accent-foreground)}@media(max-width:600px){.project-setup-steps em{display:none}.project-setup-steps>span.active em{display:inline}.project-setup-steps>span+span:before{width:20px;margin-inline:8px}}.project-brief-panel,.project-material-panel{border-color:var(--border);border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow-1)}.project-brief-layout{gap:20px}.project-brief-panel input,.project-brief-panel textarea,.project-path input:not([type=checkbox]),.starting-question-panel input,.starting-question-panel textarea{border-color:var(--input);border-radius:var(--r-md);background:var(--background);font-size:var(--text-base)}.project-brief-panel input:focus,.project-brief-panel textarea:focus,.project-path input:focus,.starting-question-panel input:focus,.starting-question-panel textarea:focus{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 25%,transparent)}.project-brief-panel label,.project-path label{font-size:var(--text-sm);color:var(--foreground);font-weight:500}.project-brief-panel label>span{font-size:var(--text-xs);font-weight:400}.project-form-actions{position:sticky;bottom:calc(var(--tabbar-h) + 8px);padding:12px 0 4px;background:var(--card);border-top:1px solid var(--border)}section.tab-screen:not(.progress-screen):not(.question-screen){max-width:none;margin-inline:0;padding-top:clamp(16px,3vw,32px)}.settings-panel{max-width:none;margin-inline:0;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start;padding:clamp(18px,2.4vw,28px)}.settings-panel>:not(label){grid-column:1/-1}@media(max-width:900px){.settings-panel{grid-template-columns:1fr}}.project-home-heading{padding-top:clamp(16px,3vw,32px)}.project-home-heading h1{font:600 clamp(26px,4vw,var(--text-2xl))/1.15 var(--font-heading);letter-spacing:-.02em;color:var(--foreground);margin:6px 0}.project-home-heading .home-eyebrow{font-size:var(--text-xs);letter-spacing:.12em;font-weight:600;color:var(--accent-foreground)}.project-home-heading p{font-size:var(--text-base);color:var(--muted-foreground)}.project-brief-panel .brief-focus-hint{display:block;margin-top:6px;font-size:var(--text-xs);font-weight:400;line-height:1.5;color:var(--muted-foreground)}.progress-screen.tab-screen{width:100%;margin-inline:auto;padding-block:clamp(16px,3vw,32px) 40px;display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:start;grid-auto-flow:dense}.progress-screen>*{margin:0;min-width:0}.progress-screen.tab-screen{padding-inline:0}.progress-screen>.app-heading{padding:0}.progress-screen>.app-heading,.progress-screen>.progress-empty,.progress-screen>.progress-overall,.progress-screen>.progress-refresh,.progress-screen>.progress-summary,.progress-screen>.resume-learning-note,.progress-screen>.tab-error,.progress-screen>[role=status]{grid-column:1/-1}.progress-screen>.progress-explanations,.progress-screen>.progress-topics{grid-column:1}.progress-screen>.learning-note:not(.progress-empty),.progress-screen>.progress-reset,.progress-screen>.review-due{grid-column:2}.progress-screen .app-heading h1{font:600 clamp(26px,4vw,var(--text-2xl))/1.15 var(--font-heading);letter-spacing:-.02em;margin:6px 0}.progress-screen .app-heading p{font-size:var(--text-base);color:var(--muted-foreground)}.progress-refresh{justify-self:start}.resume-learning-note{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 20px;border-radius:var(--r-lg);background:var(--primary);color:var(--primary-foreground)}.resume-learning-note>span{display:grid;gap:2px;font-size:var(--text-sm)}.resume-learning-note strong{font-size:var(--text-base)}.resume-learning-note .primary{background:var(--primary-foreground);border-radius:var(--r-pill);padding:8px 16px;font-weight:600;font-size:var(--text-sm)}.progress-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.progress-summary>div{padding:20px;border-radius:var(--r-lg);background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-1)}.progress-summary strong{font:600 var(--text-2xl)/1 var(--font-heading);color:var(--foreground)}.progress-summary span{font-size:var(--text-sm);color:var(--muted-foreground);margin-top:8px}.progress-overall{position:relative;height:28px;border-radius:var(--r-pill);background:var(--muted);overflow:hidden;display:flex;align-items:center}.progress-overall i{position:absolute;inset:0 auto 0 0;background:var(--accent);border-right:2px solid var(--primary);transition:width var(--dur) var(--ease)}.progress-overall span{position:relative;padding-inline:14px;font-size:var(--text-xs);font-weight:600}.progress-topics{padding:6px 20px;border-radius:var(--r-lg);background:var(--card);border-color:var(--border)}.progress-topics>div{padding:16px 0;border-color:var(--border)}.progress-topics h3{font-size:var(--text-base);font-weight:600}.progress-topics small{font-size:var(--text-sm);line-height:1.5;display:block;margin-top:2px}.mastery-dot{width:10px;height:10px;background:var(--border)}.mastery-dot.introduced{background:var(--muted-foreground)}.mastery-dot.developing{background:var(--warning)}.mastery-dot.proficient{background:var(--primary)}.mastery-dot.mastered{background:var(--good)}.mastery-label{padding:3px 10px;border-radius:var(--r-pill);background:var(--muted);color:var(--foreground);font-size:var(--text-xs);font-weight:600;white-space:nowrap}.progress-explanations,.progress-reset,.progress-screen .learning-note{padding:20px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card)}.progress-explanations h2,.progress-reset h3,.progress-screen .learning-note h2,.progress-screen .learning-note h3{font:600 var(--text-lg)/1.25 var(--font-heading);margin:0 0 8px}.progress-explanations p,.progress-reset p,.progress-screen .learning-note p{font-size:var(--text-sm);color:var(--muted-foreground);line-height:1.55}.progress-reset{border-style:dashed}@media(max-width:1023px){.progress-screen.tab-screen{grid-template-columns:1fr}.progress-screen>.learning-note:not(.progress-empty),.progress-screen>.progress-explanations,.progress-screen>.progress-reset,.progress-screen>.progress-topics,.progress-screen>.review-due{grid-column:1}}@media(max-width:600px){.progress-summary{grid-template-columns:1fr}.progress-summary>div{display:flex;align-items:baseline;gap:12px}.progress-summary span{margin:0}}.resume-learning-note,.resume-learning-note strong,.resume-learning-note>span{color:var(--primary-foreground)}.resume-learning-note>span{opacity:.92}.resume-learning-note strong{opacity:1;font:600 var(--text-lg)/1.25 var(--font-heading)}.resume-learning-note .primary{color:var(--primary)}.progress-screen>.progress-topics{grid-row:span 3}.next-step{display:grid;gap:10px;border-color:var(--ring)!important;background:var(--accent)!important}.next-step-topic{font-size:var(--text-base);color:var(--foreground)}.next-step .primary{justify-self:start;background:var(--primary);color:var(--primary-foreground);border-radius:var(--r-pill);padding:9px 18px;font-weight:600;font-size:var(--text-sm)}.progress-overall i{background:color-mix(in srgb,var(--primary) 35%,var(--muted))}.progress-overall span{color:var(--foreground)}.review-due li{padding-block:8px;border-top:1px solid var(--border)}.progress-screen .resume-learning-note a.primary{background:var(--primary-foreground);color:var(--primary);border:0}.progress-screen .resume-learning-note a.primary:hover{background:color-mix(in srgb,var(--primary-foreground) 88%,var(--primary))}.progress-screen .next-step a.primary{background:var(--primary);color:var(--primary-foreground)}.progress-screen.tab-screen{display:flex;flex-direction:column;gap:20px;grid-template-columns:none;max-width:var(--page-max)}.progress-screen>*{grid-column:auto!important;grid-row:auto!important;width:100%}.progress-screen>.app-heading{order:0}.progress-screen>.resume-learning-note{order:1}.progress-screen>.progress-refresh{order:2;width:auto;align-self:flex-start}.progress-screen>.tab-error{order:3}.progress-screen>.progress-summary{order:4}.progress-screen>.progress-overall{order:5}.progress-screen>.next-step{order:6}.progress-screen>.review-due{order:7}.progress-screen>.progress-empty{order:8}.progress-screen>.progress-topics{order:9}.progress-screen>.progress-explanations{order:10}.progress-screen>.progress-reset{order:11}.next-step{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:24px}.next-step>.next-step-topic,.next-step>.rich,.next-step>h3,.next-step>p{grid-column:1}.next-step>a.primary{grid-column:2;grid-row:1/span 3;align-self:center}.progress-reset{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;border-style:solid}.progress-reset>div:first-child{max-width:62ch}.progress-reset h3{margin-bottom:4px}@media(max-width:700px){.next-step{grid-template-columns:1fr}.next-step>a.primary{grid-column:1;grid-row:auto}}.project-teaching{padding-block:clamp(12px,2vw,24px) 32px}.lesson-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.lesson-toolbar h1{font:600 clamp(24px,3.4vw,var(--text-2xl))/1.15 var(--font-heading);letter-spacing:-.02em;color:var(--foreground);margin:4px 0 0}.lesson-toolbar .stage-kicker{font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;color:var(--muted-foreground)}.teaching-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.teaching-layout.outline-collapsed>.curriculum-panel{display:none}.lesson-canvas{padding:clamp(16px,2.4vw,28px);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow-1);min-width:0}.lesson-source-block{margin-bottom:16px}.lesson-origin,.lesson-source-actions{font-size:var(--text-xs);color:var(--muted-foreground)}.stage-navigation{counter-reset:stage;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:14px;margin-bottom:18px;border-bottom:1px solid var(--border)}.stage-navigation::-webkit-scrollbar{display:none}.stage-navigation>button{counter-increment:stage;display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:6px 14px 6px 6px;border-radius:var(--r-pill);font-size:var(--text-sm);font-weight:500;color:var(--muted-foreground);border:1px solid transparent;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.stage-navigation>button:before{content:counter(stage);display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--border);font-size:var(--text-xs);font-weight:600;background:var(--card)}.stage-navigation>button:hover{color:var(--foreground);background:var(--muted)}.stage-navigation>button.active{color:var(--foreground);background:var(--accent);border-color:var(--border);font-weight:600}.stage-navigation>button.active:before{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.lesson-outcome{padding:14px 16px;border-radius:var(--r-md);background:var(--muted);margin-bottom:20px}.lesson-outcome small{font-size:var(--text-xs);letter-spacing:.06em;color:var(--muted-foreground)}.discovery-cue h2,.guided-discovery h2{font:600 clamp(20px,2.6vw,var(--text-xl))/1.25 var(--font-heading);letter-spacing:-.01em}.answer-options{display:grid;gap:10px}.answer-options>button{padding:14px 16px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--background);font-size:var(--text-base);text-align:left;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.answer-options>button:hover{border-color:var(--ring);background:var(--accent)}.lesson-navigation{margin-top:24px;padding-top:16px;border-top:1px solid var(--border)}.tutor-panel{position:sticky;top:calc(var(--header-h) + 16px);display:flex;flex-direction:column;max-height:calc(100dvh - var(--header-h) - 32px);overflow:hidden;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow-1)}.tutor-panel .tutor-messages{flex:1;min-height:80px;overflow:auto}.tutor-panel .tutor-input{flex-shrink:0;display:flex;align-items:flex-end;gap:8px;padding:12px;border-top:1px solid var(--border);background:var(--card)}.tutor-panel .tutor-input textarea{flex:1;min-height:72px;max-height:160px;resize:none;font-size:var(--text-sm);line-height:1.5;padding:10px 12px;border:1px solid var(--input);border-radius:var(--r-md);background:var(--background)}@media(max-width:1023px){.teaching-layout{grid-template-columns:1fr}.tutor-panel{position:static;max-height:none}}@media(max-width:767px){.lesson-canvas{padding:14px;border-radius:var(--r-md)}.stage-navigation>button{padding-right:12px}}.lesson-preparing,.project-teaching .lesson-toolbar h1{color:var(--foreground)}.lesson-preparing{margin:0 0 14px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card)}.lesson-preparing-head{display:flex;align-items:center;gap:10px;font-size:var(--text-sm)}.lesson-preparing-head strong{font-weight:600;min-width:0;overflow-wrap:anywhere}.lesson-preparing-time{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--muted-foreground)}.lesson-preparing-pulse{width:9px;height:9px;border-radius:50%;background:var(--primary);flex:none;animation:lesson-pulse 1.4s ease-in-out infinite}.lesson-preparing p{margin:8px 0 0;font-size:var(--text-xs);line-height:1.5;color:var(--muted-foreground)}@keyframes lesson-pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.lesson-preparing-pulse{animation:none}}.milo-blob{display:block;max-width:100%;height:auto}.sh-avatar{background:none;padding:0;overflow:hidden}.sh-avatar .milo-blob{width:100%;height:100%}.sh-menu-avatar{background:none;overflow:hidden;width:40px;height:40px}.sh-menu-avatar .milo-blob{width:100%;height:100%}.tutor-avatar.milo-blob{width:40px;height:40px;flex-shrink:0}.full-chat-title .tutor-avatar.milo-blob{width:36px;height:36px}.chat-welcome-blob{display:grid;place-items:center;margin:0 auto 12px}.chat-welcome-blob .milo-blob{width:112px;height:112px}.blob-wrap{position:relative;display:inline-grid;place-items:center;flex-shrink:0}.blob-wrap,.blob-wrap .milo-blob{width:48px;height:48px}.status-dot{position:absolute;top:-2px;right:-2px;width:12px;height:12px;border-radius:50%;background:var(--muted-foreground);border:2px solid var(--card)}.status-dot.planned{background:var(--good)}.status-dot.analysed,.status-dot.clarified{background:var(--warning)}.hm .project-card-top{display:flex;align-items:center;gap:12px;margin-bottom:4px}.hm .tutor-field-icon{background:none;width:56px;height:56px;margin-bottom:4px}.hm .tutor-field-icon .milo-blob{width:52px;height:52px}.hm .tutor-field-icon{border:0;box-shadow:none;border-radius:0}:root{--brand:#6f5f8c;--brand-hover:#5f5079;--on-brand:#ffffff}.dark{--brand:#7a6a9e;--brand-hover:#695990}.hm-continue,.progress-screen .resume-learning-note{background:var(--brand);color:var(--on-brand)}.hm-continue *,.progress-screen .resume-learning-note strong,.progress-screen .resume-learning-note>span{color:var(--on-brand)}.hm-continue-label,.hm-continue-meta{opacity:.9}.hm-continue-bar{background:rgb(255 255 255/.28)}.hm-continue-bar i{background:#fff}.progress-screen .resume-learning-note a.primary{background:#fff;color:var(--brand)}.au-primary,.next-step a.primary,.progress-screen .next-step a.primary,.sh-nav a.active,.sh-tabbar a.active{background:var(--brand);color:var(--on-brand)}.au-primary:hover:not(:disabled){background:var(--brand-hover)}.stage-navigation>button.active:before{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.sh-avatar[aria-expanded=true]{outline-color:var(--brand)}.cards-screen,.sprint-screen{max-width:880px;margin:0 auto}.fc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.fc-stats div{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 16px;display:flex;flex-direction:column;gap:2px}.fc-stats strong{font-size:1.6rem;line-height:1.1}.fc-stats span{font-size:var(--text-sm);color:var(--muted-foreground)}.fc-actions{gap:10px}.fc-actions,.fc-filters{display:flex;flex-wrap:wrap}.fc-filters{gap:12px;align-items:center;justify-content:space-between;margin:18px 0}.fc-chips{display:flex;flex-wrap:wrap;gap:8px}.fc-chips button{border:1px solid var(--border);background:var(--card);color:var(--foreground);border-radius:999px;padding:6px 14px;font-size:var(--text-sm)}.fc-chips button.active{background:var(--accent);color:var(--accent-foreground);border-color:transparent}.fc-empty{display:flex;flex-direction:column;align-items:flex-start;gap:10px;background:var(--card);border:1px dashed var(--border);border-radius:22px;padding:28px;margin-top:18px}.fc-empty h2{margin:0}.fc-empty p{margin:0;color:var(--muted-foreground);max-width:60ch}.fc-building,.fc-more{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 16px;margin-bottom:14px}.fc-building>div{flex:1;min-width:180px;display:flex;flex-direction:column;gap:8px}.fc-more span{flex:1;color:var(--muted-foreground)}.fc-progress{height:6px;border-radius:99px;background:var(--border);overflow:hidden}.fc-progress span{display:block;height:100%;background:var(--accent-foreground);transition:width .3s}.fc-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.fc-list li{display:flex;gap:12px;justify-content:space-between;background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 16px}.fc-list small{color:var(--muted-foreground)}.fc-list strong{display:block;margin:2px 0 6px}.fc-list-back{color:var(--foreground)}.fc-list blockquote{margin:8px 0 0;padding-left:10px;border-left:3px solid var(--border);font-size:var(--text-sm);color:var(--muted-foreground)}.fc-list-tools{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.fc-result{margin-top:14px}.fc-session{display:flex;flex-direction:column;gap:14px;max-width:680px;margin:0 auto}.fc-session-head{display:flex;justify-content:space-between;align-items:center}.fc-card,.fc-session-head div{display:flex;flex-direction:column}.fc-card{position:relative;min-height:300px;width:100%;text-align:left;background:var(--card);color:var(--foreground);border:1px solid var(--border);border-radius:22px;padding:28px 26px;box-shadow:var(--shadow-soft);justify-content:center;cursor:pointer}.fc-card.flipped{border-color:var(--accent-foreground)}.fc-kind{position:absolute;top:14px;left:20px;font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground)}.fc-front{font-size:1.3rem;text-align:center;display:flex;flex-direction:column;gap:18px;align-items:center}.fc-tap{font-size:var(--text-sm);color:var(--muted-foreground)}.fc-back{display:flex;flex-direction:column;gap:12px;font-size:1.1rem}.fc-back small,.fc-source{color:var(--muted-foreground);font-size:var(--text-sm)}.fc-source{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.fc-reveal{width:100%;padding:14px}.fc-rate{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.fc-rate button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--card);color:var(--foreground)}.fc-rate button:hover{border-color:var(--accent-foreground)}.fc-rate kbd,.fc-rate small{color:var(--muted-foreground);font-size:var(--text-xs)}.fc-done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;background:var(--card);border:1px solid var(--border);border-radius:22px;padding:36px 20px}.fc-done p{margin:0;color:var(--muted-foreground)}@media (max-width:640px){.fc-stats{grid-template-columns:repeat(2,1fr)}.fc-card{min-height:240px;padding:24px 18px}.fc-rate small{display:none}.fc-list li{flex-direction:column}.fc-list-tools{flex-direction:row}}@media (prefers-reduced-motion:reduce){.fc-progress span{transition:none}}.sp-h{font-size:var(--text-lg,1.1rem);margin:24px 0 10px;display:flex;gap:10px;align-items:baseline}.sp-h span{font-size:var(--text-sm);font-weight:400;color:var(--muted-foreground)}.sp-durations{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.sp-durations button{display:flex;flex-direction:column;gap:2px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--card);color:var(--foreground);text-align:left}.sp-durations button span{font-size:var(--text-sm);color:var(--muted-foreground)}.sp-durations button.active{border-color:var(--accent-foreground);background:var(--accent)}.sp-durations button.active,.sp-durations button.active span{color:var(--accent-foreground)}.sp-topics{list-style:none;margin:0;padding:0;display:grid;gap:8px}.sp-topics li{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg)}.sp-topics label{display:flex;gap:12px;align-items:center;padding:12px 14px;cursor:pointer}.sp-topics label div{display:flex;flex-direction:column}.sp-topics span{font-size:var(--text-sm);color:var(--muted-foreground)}.sp-plan ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}.sp-plan li{display:grid;grid-template-columns:1fr auto;gap:2px 12px;background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 14px}.sp-plan small{grid-column:1/-1;color:var(--muted-foreground)}.sp-start{margin-top:20px;display:inline-flex;gap:8px}.sp-bar,.sp-start{align-items:center}.sp-bar{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.sp-clock{display:flex;align-items:baseline;gap:10px}.sp-clock svg{align-self:center}.sp-clock strong{font-size:2rem;font-variant-numeric:tabular-nums}.sp-clock span{color:var(--muted-foreground);font-size:var(--text-sm)}.sp-clock.over strong{color:var(--destructive,#c0392b)}.sp-steps{list-style:none;margin:0 0 6px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.sp-steps button{width:100%;display:grid;grid-template-columns:auto 1fr;gap:0 8px;align-items:center;text-align:left;padding:10px 12px;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--card);color:var(--foreground)}.sp-steps button span{grid-row:span 2;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--border);font-size:var(--text-sm)}.sp-steps small{color:var(--muted-foreground)}.sp-steps .current button{border-color:var(--accent-foreground);background:var(--accent)}.sp-steps .current span,.sp-steps .done span{background:var(--accent-foreground);color:var(--card)}.sp-hint{color:var(--muted-foreground);margin:6px 0 16px}.sprint-sheet{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 22px;margin-top:12px}.sprint-sheet h2{margin-top:0}.sprint-sheet h3{margin:18px 0 6px;border-bottom:1px solid var(--border);padding-bottom:4px}.sprint-sheet dl{margin:0;display:grid;gap:8px}.sprint-sheet dt{font-weight:600}.sprint-sheet dd{margin:0}.sprint-sheet small{color:var(--muted-foreground);display:block}.sp-drill ul{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:10px}.sp-drill li{display:flex;gap:12px;justify-content:space-between;align-items:center;background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 16px}.sp-drill li div{display:flex;flex-direction:column;gap:2px}.sp-drill li span{font-size:var(--text-sm);color:var(--muted-foreground)}.sp-drill p{margin:4px 0 0}@media (max-width:640px){.sp-durations,.sp-steps{grid-template-columns:repeat(2,1fr)}.sp-drill li{flex-direction:column;align-items:stretch}}@media print{body *{visibility:hidden}.sprint-sheet,.sprint-sheet *{visibility:visible}.sprint-sheet{position:absolute;inset:0;border:0;color:#000;background:#fff}}.au{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);background:var(--background);color:var(--foreground)}.au-solo{grid-template-columns:1fr}.au-hero{position:relative;display:flex;flex-direction:column;padding:clamp(24px,4vw,48px);background:linear-gradient(165deg,var(--accent) 0,color-mix(in srgb,var(--accent) 40%,var(--background)) 55%,var(--background) 100%);border-right:1px solid var(--border);overflow:hidden}.au-logo{height:36px;width:auto;align-self:flex-start}.dark .au-logo{filter:invert(1) hue-rotate(180deg)}.au-hero-body{margin:auto 0;max-width:520px;display:grid;gap:18px;padding-block:24px}.au-hero h1{font:600 clamp(34px,4.6vw,56px)/1.05 var(--font-heading);letter-spacing:-.03em;margin:0;text-wrap:balance}.au-hero h1 em{font-style:normal;color:var(--primary)}.au-hero p{font-size:var(--text-base);line-height:1.6;color:var(--muted-foreground);margin:0;max-width:44ch}.au-mascot{display:grid;place-items:center;margin:8px 0}.au-mascot .milo-blob{width:200px;height:200px;filter:drop-shadow(0 18px 28px rgb(0 0 0/.12))}.au-points{list-style:none;margin:0;padding:0;display:grid;gap:14px}.au-points li{display:flex;gap:12px;align-items:flex-start;font-size:var(--text-sm);line-height:1.5;color:var(--muted-foreground)}.au-points svg{flex-shrink:0;margin-top:2px;color:var(--primary)}.au-points strong{color:var(--foreground);font-weight:600}.au-tutors{display:flex;flex-wrap:wrap;gap:8px}.au-tutors span{display:inline-flex;align-items:center;gap:8px;padding:5px 14px 5px 6px;border:1px solid var(--border);border-radius:var(--r-pill);background:color-mix(in srgb,var(--card) 70%,transparent);font-size:var(--text-xs);font-weight:500}.au-side{display:grid;place-items:center;padding:clamp(20px,4vw,48px)}.au-card{width:100%;max-width:420px;display:grid;gap:0;padding:clamp(22px,3vw,34px);border:1px solid var(--border);border-radius:20px;background:var(--card);box-shadow:var(--shadow-2)}.au-card h2{font:600 var(--text-xl)/1.2 var(--font-heading);letter-spacing:-.02em;margin:18px 0 6px}.au-lead{font-size:var(--text-sm);color:var(--muted-foreground);margin:0 0 20px;line-height:1.55}.au-tabs{display:grid;grid-template-columns:1fr 1fr;padding:4px;background:var(--muted)}.au-tabs,.au-tabs button{border-radius:var(--r-pill)}.au-tabs button{padding:9px 12px;font-size:var(--text-sm);font-weight:500;color:var(--muted-foreground);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.au-tabs button.on{background:var(--card);color:var(--foreground);box-shadow:var(--shadow-1);font-weight:600}.au-card form{display:grid;gap:14px}.au-field{display:grid;gap:6px;font-size:var(--text-sm);font-weight:500}.au-field>span{display:flex;align-items:center;justify-content:space-between}.au-row{width:100%}.au-field input{width:100%;height:46px;padding:0 14px;border:1px solid var(--input);border-radius:var(--r-md);background:var(--background);font-size:var(--text-base);color:var(--foreground);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.au-field input:focus{outline:0;border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 25%,transparent)}.au-field input[aria-invalid=true]{border-color:var(--destructive)}.au-pass{position:relative;display:block}.au-pass input{padding-right:46px}.au-eye{position:absolute;right:4px;top:4px;width:38px;height:38px;display:grid;place-items:center;border-radius:var(--r-sm);color:var(--muted-foreground)}.au-eye:hover{background:var(--muted)}.au-rules{list-style:none;margin:-4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px}.au-rules li{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--muted-foreground)}.au-rules li svg{opacity:.35}.au-rules li.ok{color:var(--good)}.au-rules li.ok svg{opacity:1}.au-error{margin:0;padding:10px 12px;border-radius:var(--r-md);background:var(--bad-soft);color:var(--destructive);font-size:var(--text-sm);line-height:1.45}.au-primary,.au-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;height:48px;border-radius:var(--r-pill);font-size:var(--text-base);font-weight:600;transition:transform var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),opacity var(--dur-fast)}.au-primary{background:var(--primary);color:var(--primary-foreground)}.au-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.au-secondary{border:1px solid var(--border);background:var(--card);color:var(--foreground);font-size:var(--text-sm);height:44px;margin-top:2px}.au-secondary:hover:not(:disabled){background:var(--accent)}.au-primary:disabled,.au-secondary:disabled{opacity:.6;cursor:not-allowed}.au-text{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:500;color:var(--accent-foreground);justify-self:start}.au-text:hover{text-decoration:underline}.au-back{margin-bottom:2px}.au-or{display:flex;align-items:center;gap:12px;margin:16px 0 12px;color:var(--muted-foreground);font-size:var(--text-xs)}.au-or:after,.au-or:before{content:"";flex:1;height:1px;background:var(--border)}.au-fine{margin:18px 0 0;font-size:var(--text-xs);line-height:1.5;color:var(--muted-foreground);text-align:center}.au-sent{text-align:center;justify-items:center;gap:0}.au-sent h2{margin-top:6px}.au-sent>p{font-size:var(--text-sm);color:var(--muted-foreground);line-height:1.6;margin:4px 0 14px;overflow-wrap:anywhere}.au-sent>p strong{color:var(--foreground)}.au-sent-blob{display:grid;place-items:center}.au-sent-blob .milo-blob{filter:drop-shadow(0 12px 20px rgb(0 0 0/.12))}.au-tips{list-style:none;margin:0 0 18px;padding:12px 14px;display:grid;gap:8px;text-align:left;border-radius:var(--r-md);background:var(--muted);width:100%}.au-tips li{display:flex;gap:8px;font-size:var(--text-xs);line-height:1.45;color:var(--muted-foreground)}.au-tips svg{flex-shrink:0;margin-top:1px;color:var(--good)}.au-sent .au-secondary{margin-bottom:10px}.au-sent .au-error{width:100%;margin-bottom:10px;text-align:left}@media(max-width:899px){.au{grid-template-columns:1fr}.au-hero{border-right:0;border-bottom:1px solid var(--border);padding:20px var(--gutter)}.au-hero-body{padding-block:8px 0;gap:10px}.au-hero h1{font-size:30px}.au-hero p,.au-mascot,.au-points,.au-tutors{display:none}.au-logo{height:30px}.au-side{padding:20px var(--gutter) 40px;align-items:start}}.sk-wrap{display:grid;gap:16px;width:100%;max-width:1000px;margin:24px auto}.sk-card{display:grid;gap:14px;padding:20px;border:1px solid var(--border);border-radius:var(--r-lg,16px);background:var(--card)}.sk-row{display:flex;align-items:center;gap:14px}.sk-grow{flex:1;min-width:0;display:grid;gap:8px}.sk-line{padding:10px 0;border-bottom:1px solid var(--border)}.sk-line:last-child{border:0}.sk-lines{display:grid}.sk-bar{--sk:color-mix(in srgb,var(--foreground) 8%,transparent);background:linear-gradient(100deg,var(--sk) 30%,color-mix(in srgb,var(--foreground) 15%,transparent) 50%,var(--sk) 70%) 0 0/220% 100%;animation:sk-shimmer 1.5s linear infinite}@keyframes sk-shimmer{to{background-position:-220% 0}}@media(prefers-reduced-motion:reduce){.sk-bar{animation:none}}.sk-projects{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));max-width:none;margin:0}.sk-chat{max-width:780px;gap:22px;padding:18px 0}.sk-turn{display:flex;gap:12px;align-items:flex-start}.sk-turn .sk-lines{flex:1}.sk-turn.me{justify-content:flex-end}.sk-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.sk-steps{display:flex;gap:8px;flex-wrap:wrap}.sk-lesson{max-width:none}.sk-lesson-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px}.sk-hero{padding:32px}.sk-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sk-status{display:flex;gap:14px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--r-lg,16px);background:var(--card);margin:12px 0}.sk-status strong{font-size:var(--text-sm,14px);font-weight:600}.sk-status small{font-size:var(--text-xs,12px);color:var(--muted-foreground)}.sk-viz{width:100%}@media(max-width:900px){.sk-lesson-grid,.sk-stats,.sk-two{grid-template-columns:1fr}}