/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:"Ubuntu Sans",Arial,sans-serif;--default-mono-font-family:"Courier New",monospace}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\!visible{visibility:visible!important}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start-1{inset-inline-start:calc(var(--spacing) * 1)}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-full{height:100%}.min-h-full{min-height:100%}.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.rounded{border-radius:.25rem}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow,.shadow\/number{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@font-face{font-family:Ubuntu Sans;src:url(/fonts/UbuntuSans.ttf)format("truetype");font-weight:100 800;font-stretch:75% 100%;font-style:normal;font-display:swap}:root{--deep:#03151d;--ink:#092c39;--navy:#002f55;--blue:#0086e8;--action:#056494;--green:#006e4b;--sun:#ffce18;--paper:#f8f9f3;--white:#fff;--line:#d4ddd1;--muted:#49616a;--error:#a52626;--background:var(--paper);--foreground:var(--ink);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--gutter:clamp(1rem,4vw,4rem);--section-space:clamp(2rem,5vw,4rem);--radius:.625rem}body{background:var(--paper);color:var(--ink);margin:0;font-family:Ubuntu Sans,Arial,sans-serif;line-height:1.6}:where(button,a,summary,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 3px var(--white)}:where(button,a,summary){-webkit-tap-highlight-color:transparent}.ds-container{max-width:76rem;padding-inline:var(--gutter);margin-inline:auto}.ds-header{padding:var(--space-4) var(--gutter);justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;display:flex}.ds-header a{align-items:center;min-height:44px;font-weight:800;text-decoration:underline;display:inline-flex}.ds-header span{align-self:center;font-size:.875rem}.ds-hero{color:var(--deep);background:var(--blue);padding-block:var(--section-space)}.ds-hero h1{font-variation-settings:"wdth" 75;text-transform:uppercase;letter-spacing:-.025em;margin-block:var(--space-6);font-size:clamp(2.5rem,7.5vw,6.5rem);font-weight:800;font-stretch:75%;line-height:1}.ds-hero p{max-width:42rem;font-weight:600}.sun-dot{color:var(--sun)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.8125rem;font-weight:700}.ds-content{gap:var(--section-space);padding-block:var(--section-space);display:grid}h2{margin-bottom:var(--space-4);font-size:clamp(1.375rem,3vw,2rem);font-weight:750;line-height:1.2}p+p{margin-top:var(--space-3)}.ds-palette{gap:var(--space-2);grid-template-columns:repeat(5,1fr);display:grid}.swatch{min-height:7rem;padding:var(--space-4);border:1px solid var(--muted);align-items:end;font-weight:700;display:flex}.swatch--ink{background:var(--ink);color:var(--white)}.swatch--blue{background:var(--blue);color:var(--deep)}.swatch--green{background:var(--green);color:var(--white)}.swatch--sun{background:var(--sun)}.swatch--paper{background:var(--paper)}.ui-panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:clamp(1rem,3vw,2rem)}.ds-actions{gap:var(--space-3);margin-block:var(--space-6);flex-wrap:wrap;display:flex}.ui-button{text-align:center;overflow-wrap:anywhere;border-radius:var(--radius);cursor:pointer;background:var(--action);min-height:44px;color:var(--white);border:2px solid #0000;justify-content:center;align-items:center;padding:.625rem 1.25rem;font-weight:700;text-decoration:none;transition:box-shadow .15s;display:inline-flex}.ui-button--secondary{background:var(--white);border-color:var(--muted);color:var(--ink)}.ui-button--positive{background:var(--green)}.ui-button--danger{background:var(--error)}.ui-button:not(:disabled):hover{box-shadow:inset 0 0 0 2px}.ui-button:not(:disabled):active{transform:translateY(1px)}.ui-button:disabled{background:var(--paper);color:var(--muted);border-color:var(--muted);cursor:not-allowed;border-style:dashed}.ui-notice{padding:var(--space-4);border-radius:var(--radius);background:var(--paper);color:var(--ink);border:1px solid var(--muted);border-left-width:5px}.ui-notice--success{border-color:var(--green)}.ui-notice--error{border-color:var(--error);color:var(--error);background:var(--white)}.ui-notice--warning{background:var(--sun);border-color:var(--ink)}.ds-grid{gap:var(--space-6);grid-template-columns:1fr 1fr;display:grid}.ds-stack{gap:var(--space-4);display:grid}.ui-metadata{gap:var(--space-6);margin-block:var(--space-6);flex-wrap:wrap;display:flex}.ui-metadata dt{color:var(--muted);font-size:.875rem}.ui-metadata dd{font-weight:700}.ui-disclosure{border-top:1px solid var(--muted)}.ui-disclosure summary{min-height:44px;padding-block:var(--space-3);cursor:pointer;font-weight:700}.ui-disclosure>div{padding-bottom:var(--space-4)}.ui-tabs [role=tablist]{gap:var(--space-2);border-bottom:1px solid var(--muted);padding-bottom:var(--space-2);flex-wrap:wrap;display:flex}.ui-tabs [role=tab]{border:2px solid var(--muted);border-radius:var(--radius);cursor:pointer;min-height:44px;padding:.625rem 1rem}.ui-tabs [role=tab][aria-selected=true]{background:var(--ink);color:var(--white);border-color:var(--ink);text-underline-offset:.25em;text-decoration:underline}.ui-tabs [role=tabpanel]{padding-block:var(--space-6)}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:Courier New,monospace}.small-copy,footer{color:var(--muted);font-size:.875rem}footer{padding-block:var(--space-6);border-top:1px solid var(--line)}@media (max-width:40rem){.ds-grid{grid-template-columns:1fr}.ds-palette{grid-template-columns:repeat(2,1fr)}.swatch{min-height:5rem}}@media (prefers-reduced-motion:reduce){.ui-button{transition:none}.ui-button:not(:disabled):active{transform:none}}@media (forced-colors:active){:where(button,a,summary,[tabindex]):focus-visible{outline-color:highlight}.ui-tabs [aria-selected=true]{border-color:highlight}}.ds-header nav{gap:var(--space-4);flex-wrap:wrap;display:flex}.language-switcher{align-items:center;gap:var(--space-2);flex-wrap:wrap;max-width:100%;display:flex}.language-switcher select{background:var(--white);max-width:100%;min-height:44px;color:var(--ink);border:2px solid var(--muted);border-radius:var(--radius);font:inherit;padding:.5rem}.language-switcher select:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.language-switcher p{flex-basis:100%}@font-face{font-family:IRR Display;src:url(/fonts/parent/display.ttf)format("truetype");font-weight:800;font-display:swap}@font-face{font-family:IRR Body;src:url(/fonts/parent/body.ttf)format("truetype");font-weight:100 900;font-display:swap}html{scroll-behavior:smooth;scroll-padding-top:24px}body{font-family:IRR Body,Arial,sans-serif}.skip-link{z-index:20;background:var(--sun);color:var(--ink);padding:1rem;position:absolute;top:-6rem;left:1rem}.skip-link:focus{top:1rem}.site-header{background:var(--blue);color:var(--white);border-bottom:1px solid #ffffff40;align-items:center;gap:1.5rem;min-height:98px;padding:1rem 3.3%}.site-header a{font-size:.875rem;font-weight:500;text-decoration:none}.site-header nav{gap:1.5rem}.site-header nav a:hover{text-underline-offset:.4rem;text-decoration:underline}.site-header .text-brand{gap:.6rem;font-size:1.1rem;font-weight:750;line-height:1.1;display:flex}.text-brand img{object-fit:contain;flex-shrink:0}.text-brand small{letter-spacing:.04em;margin-top:.4rem;font-size:.6rem;display:block}.site-header .nav-action{border:1px solid;gap:1.25rem;padding:.7rem 1rem}.site-header .language-switcher{gap:.5rem;font-size:.75rem}.site-header .language-switcher select{color:inherit;background:0 0;border:1px solid;border-radius:2px}.site-header .language-switcher option{background:var(--white);color:var(--ink)}.site-header :is(a,select):focus-visible{outline-color:var(--sun)}.reference-home{overflow:clip}.reference-home h1,.reference-home h2,.reference-home h3,.reference-home p{margin:0}.reference-hero{background:var(--blue);color:var(--paper);flex-direction:column;min-height:calc(100svh - 98px);display:flex;position:relative}.hero-eyebrow{color:var(--deep);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:2rem;padding:22px 3.3% 0;font-size:11px;display:flex}.reference-title{text-align:center;letter-spacing:-.025em;padding-top:28px;font-family:IRR Display,Impact,sans-serif;font-weight:800;line-height:.82}.reference-title>span{display:block}.reference-title>span:first-child{letter-spacing:.005em;font-size:clamp(140px,20vw,300px)}.reference-title>span:nth-child(2){margin-top:12px;font-size:clamp(100px,13.5vw,210px)}.reference-title b{color:var(--sun);font:inherit}.reference-stage{flex:1 0 350px;min-height:350px;margin-top:24px;position:relative}.hero-card-window{perspective:1100px;place-items:center;min-height:350px;display:grid}.card-sweep{width:max-content;transform-style:preserve-3d;animation:parent-hero-sweep 12s cubic-bezier(.45,0,.55,1) infinite;scale:.78}.card-orbit{justify-content:center;align-items:center;gap:20px}.card-orbit,.orbit-card{transform-style:preserve-3d;display:flex}.orbit-card{background:var(--navy);width:247px;height:322px;color:var(--paper);--tilt:rotateY(26deg) rotate(-7deg);--offset:25px;flex-direction:column;padding:21px;text-decoration:none;transition:box-shadow .2s,filter .2s;animation:parent-card-float 6s ease-in-out -2s infinite;position:relative;box-shadow:5px 18px 25px #00325c35}.orbit-card--electronics{--tilt:rotateY(-5deg);--offset:0px;z-index:2;background:#072735;width:275px;height:355px;animation-delay:0s}.orbit-card--robotics{background:var(--green);--tilt:rotateY(-29deg) rotate(9deg);--offset:-20px;animation-delay:-4s}.orbit-card:hover{filter:brightness(1.12);box-shadow:5px 24px 40px #00325c65}.card-bottom,.card-number{letter-spacing:.05em;justify-content:space-between;align-items:center;gap:.5rem;font-size:12px;display:flex}.reference-home .orbit-card h2{letter-spacing:-1.1px;margin-top:20px;font-family:IRR Body,Arial,sans-serif;font-size:27px;font-weight:500;line-height:1.02}.hero-card-photo{object-fit:cover;width:100%;height:130px;margin:15px 0 12px}.orbit-card--electronics .hero-card-photo{object-fit:contain;background:var(--paper);height:150px}.orbit-card--robotics .hero-card-photo{height:105px}.card-bottom{border-top:1px solid #ffffff38;margin-top:auto;padding-top:12px}.hero-stamp{color:var(--sun);pointer-events:none;font:800 29px/.9 IRR Display,Impact,sans-serif;position:absolute;top:52%;right:7%;transform:rotate(8deg)}.hero-stamp span{font:65px/1 Arial,sans-serif;display:block}.motion-toggle{border:1px solid var(--deep);min-height:44px;color:var(--deep);cursor:pointer;background:0 0;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.75rem;display:flex;position:absolute;bottom:0;right:3.3%}.motion-paused .card-sweep,.motion-paused .orbit-card,.reference-stage:focus-within .card-sweep,.reference-stage:focus-within .orbit-card{animation-play-state:paused}.reference-hero-bottom{color:var(--deep);justify-content:space-between;align-items:end;gap:2rem;margin:20px 3.3% 38px;display:flex;position:relative}.reference-hero-bottom>p{max-width:24rem;font-size:1rem;line-height:1.35}.hero-explore{gap:18px;min-height:44px;font-size:.875rem}.hero-explore,.reference-button{align-items:center;display:inline-flex}.reference-button{border:1px solid #0000;justify-content:space-between;gap:34px;min-height:55px;padding:19px 24px;font-size:14px;font-weight:500;line-height:1.2;text-decoration:none;transition:transform .18s,background .18s}.reference-button:hover{transform:translateY(-3px)}.reference-button--dark{background:var(--ink);color:var(--paper)}.reference-button--light{background:var(--paper);color:var(--ink)}.reference-subjects{background:var(--navy);color:var(--white);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-around;gap:1.5rem;min-height:70px;padding:23px 4%;font-size:12px;line-height:1.5;display:flex}.reference-subjects>span{align-items:center;gap:14px;display:flex}.reference-subjects img{flex-shrink:0;width:18px;height:18px}.reference-section{padding:45px 5% 100px;scroll-margin-top:24px}.section-kicker{letter-spacing:.065em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:60px;font-size:12px;display:flex}.section-kicker a{align-items:center;gap:22px;min-height:44px;text-decoration:none;display:inline-flex}.reference-display{letter-spacing:-.017em;text-transform:uppercase;overflow-wrap:anywhere;font:800 clamp(70px,8.8vw,142px)/.86 IRR Display,Impact,sans-serif}.reference-blue{color:var(--blue)}.reference-yellow{color:var(--sun)}.reference-editorial{grid-template-columns:1.25fr 1fr;gap:10%;padding-inline:2%;display:grid}.reference-editorial>*{min-width:0}.reference-copy{padding-top:10px;position:relative}.reference-copy h3{letter-spacing:-.7px;max-width:28rem;margin-bottom:28px;font-size:28px;font-weight:500;line-height:1.12}.reference-copy>p{color:var(--muted);max-width:435px;margin-bottom:18px;line-height:1.6}.editorial-asterisk{color:var(--blue);font:90px/.8 Arial,sans-serif;position:absolute;top:-60px;right:0;transform:rotate(10deg)}.reference-path{margin:2rem 0 1.5rem;padding:0;list-style:none}.reference-path li{border-top:1px solid var(--line);gap:1.25rem;padding-block:.75rem;font-size:.875rem;display:flex}.reference-path span{color:var(--muted)}.reference-copy .roadmap-note{font-size:.75rem}.making-section{background:var(--green);color:var(--paper)}.making-heading{justify-content:space-between;align-items:end;gap:3rem;margin-bottom:56px;display:flex}.making-heading>p{max-width:14rem;font-size:.875rem}.reference-projects{grid-template-columns:1fr 1fr;align-items:start;gap:35px;display:grid}.project-0{margin-top:125px}.project-photo{background:var(--paper);height:370px;display:block;position:relative;overflow:hidden}.project-photo img{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.project-1 .project-photo img{object-fit:contain}.project-photo:hover img{transform:scale(1.035)}.project-photo>span{background:var(--sun);width:46px;height:46px;color:var(--ink);border-radius:50%;place-items:center;font-size:1.5rem;display:grid;position:absolute;bottom:18px;right:18px}.project-caption{border-bottom:1px solid #fff5;justify-content:space-between;gap:1rem;padding:22px 0;display:flex}.project-caption p,.project-caption>span{text-transform:uppercase;letter-spacing:.065em;font-size:12px}.reference-home .project-caption h3{letter-spacing:-.6px;margin-top:10px;font-size:26px;font-weight:500;line-height:1.1}.reference-home .project-state{padding-top:1rem;font-size:.75rem}.reference-text-link{border-bottom:1px solid;min-height:44px;padding-block:.75rem;text-decoration:none;display:inline-block}.discovery-section .reference-display{font-size:clamp(62px,7.1vw,115px)}.discovery-rows article{border-top:1px solid var(--line);grid-template-columns:52px 1fr 24px;gap:25px;padding:28px 0;display:grid}.discovery-rows article:last-child{border-bottom:1px solid var(--line)}.discovery-number{font:800 46px/1 IRR Display,Impact,sans-serif}.reference-home .discovery-rows h3{margin-block:.5rem;font-size:22px;font-weight:500}.discovery-rows p{color:var(--muted);font-size:.8125rem}.discovery-rows .discovery-state{letter-spacing:.08em;text-transform:uppercase;font-size:.6875rem}.reference-learning{background:var(--navy);color:var(--paper)}.reference-learning .reference-editorial{grid-template-columns:1fr 1fr;gap:8%}.lesson-detail{max-width:27rem;margin-top:3rem}.reference-home .lesson-detail h3{margin-block:1rem;font-size:28px;font-weight:500}.lesson-detail p{margin-block:.75rem}.lesson-detail .lesson-availability{border:1px solid;padding:.5rem .75rem;font-size:.75rem;display:table}.preset-demo{min-width:0;color:var(--paper);background:0 0;padding-top:10px;scroll-margin-top:24px}.preset-demo>.eyebrow{margin-bottom:1rem;font-size:.6875rem;line-height:1.5}.reference-home .preset-demo h2{margin-bottom:1.5rem;font-size:25px;font-weight:500;line-height:1.2}.demo-model{grid-template-columns:1fr 1.25fr;align-items:center;gap:1.5rem;display:grid}.preset-blocks{margin:0;padding:0;list-style:decimal-leading-zero inside}.preset-blocks li{border-block-start:1px solid #fff5;padding:1rem .25rem;font-size:.875rem;line-height:1.35}.preset-blocks li:last-child{border-bottom:1px solid #fff5}.preset-blocks [aria-current=step]{color:var(--sun);border-color:var(--sun);font-weight:700}.demo-device{text-align:center;gap:.75rem;display:grid}.led-photo{aspect-ratio:1;background:var(--paper);position:relative}.led-image{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.led-image.is-hidden{visibility:hidden}.demo-device strong{font-size:.875rem;font-weight:500}.reference-home .demo-status{min-height:3em;margin-top:1.5rem;font-size:.875rem}.preset-demo .ui-button{background:var(--paper);min-height:55px;color:var(--ink);border-radius:0;padding:19px 24px;font-weight:500}.preset-demo .ui-button--secondary{border-color:var(--paper);color:var(--paper);background:0 0}.preset-demo .ui-button:disabled{border-color:var(--line);background:var(--paper);color:var(--muted)}.preset-demo .ds-actions{margin-block:1rem 0}.image-error{font-size:.875rem}.reference-closing{background:var(--sun);padding-bottom:50px}.reference-closing .section-kicker{margin-bottom:35px}.closing-heading{justify-content:space-between;align-items:center;gap:2rem;display:flex}.closing-heading>span{font:clamp(60px,10vw,160px)/1 Arial,sans-serif}.closing-bottom{justify-content:space-between;align-items:end;gap:3rem;margin-top:45px;display:flex}.closing-bottom p{max-width:26rem;font-size:.875rem}.reference-footer{background:var(--paper);color:var(--ink);padding:40px 5% 22px}.footer-main{grid-template-columns:1.3fr 1fr 1fr;align-items:center;gap:40px;padding-bottom:45px;display:grid}.footer-identity{align-items:center;gap:.75rem;font-size:1.5rem;font-weight:750;line-height:1.15;text-decoration:none;display:flex}.footer-identity img{object-fit:contain;flex-shrink:0}.footer-identity small{margin-top:.35rem;font-size:.65rem;font-weight:500;display:block}.footer-main>p{font-size:.875rem;line-height:1.6}.footer-main>a:last-child{justify-self:end;min-height:44px;padding-block:.75rem}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:2rem;padding-top:20px;font-size:.6875rem;display:flex}.footer-bottom a{white-space:nowrap;align-items:center;min-height:44px;display:inline-flex}.landing-reveal{transition:opacity .45s,transform .45s cubic-bezier(.2,.8,.2,1)}.reveal-pending{opacity:0;transform:translateY(24px)}@keyframes parent-card-float{0%,to{transform:var(--tilt) translateY(var(--offset))}50%{transform:var(--tilt) translateY(calc(var(--offset) - 16px))}}@keyframes parent-hero-sweep{0%,to{transform:translate(-22px,8px)rotateY(-12deg)rotate(-3deg)}50%{transform:translate(22px,8px)rotateY(12deg)rotate(3deg)}}@media (min-width:1600px){.reference-section{padding-inline:max(5%,50vw - 750px)}.hero-card-window,.reference-stage{min-height:430px}.card-sweep{scale:.95}}@media (max-width:1280px){.hero-stamp{display:none}.site-header{gap:1rem}.site-header .language-switcher label{flex-basis:100%}}@media (max-width:760px){.site-header{gap:.75rem 1.5rem;min-height:78px;padding:1rem 5%}.site-header .text-brand{font-size:.9375rem}.site-header nav{flex-basis:100%;order:2;gap:.75rem 1.25rem}.site-header .language-switcher{margin-left:auto}.site-header .language-switcher label{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header .nav-action{order:3;justify-content:space-between;width:100%}.hero-eyebrow{padding:20px 5% 0;font-size:10px}.hero-eyebrow>span:last-child{display:none}.reference-title{padding-top:32px}.reference-title>span:first-child{font-size:36vw}.reference-title>span:nth-child(2){font-size:16.5vw}.reference-stage{flex-basis:auto;min-height:350px;margin-top:20px}.hero-card-window{scroll-snap-type:x mandatory;min-height:320px;padding:20px 5% 40px;display:block;overflow:auto hidden}.card-sweep{animation:none;transform:none}.card-orbit{gap:16px;width:max-content;padding-inline:.5rem}.orbit-card,.orbit-card--electronics{scroll-snap-align:center;--tilt:rotate(-3deg);--offset:0px;flex-shrink:0;width:215px;height:305px;padding:18px}.orbit-card--robotics{--tilt:rotate(3deg)}.reference-home .orbit-card h2{font-size:23px}.hero-card-photo,.orbit-card--electronics .hero-card-photo{height:110px}.motion-toggle{bottom:-10px;right:5%}.reference-hero-bottom{flex-direction:column;align-items:start;gap:1.25rem;margin:30px 5% 32px}.reference-hero-bottom .reference-button{width:100%}.reference-subjects{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1rem;padding-inline:5%;font-size:10px;display:grid}.reference-subjects>span{gap:10px;min-width:0}.reference-section{padding:30px 5% 65px}.section-kicker{margin-bottom:45px;font-size:10px}.section-kicker>:last-child{text-align:right;max-width:45%}.reference-editorial,.reference-learning .reference-editorial{grid-template-columns:1fr;gap:45px;padding:0}.reference-display{font-size:19vw;line-height:.88}.reference-copy h3{max-width:90%;font-size:25px}.editorial-asterisk{font-size:60px;top:-20px;right:0}.making-heading{flex-direction:column;align-items:start;gap:2rem}.making-heading>p{max-width:26rem}.reference-projects{grid-template-columns:1fr;gap:35px}.project-0{margin-top:0}.project-photo{height:280px}.discovery-section .reference-display{font-size:18vw}.discovery-rows article{grid-template-columns:35px 1fr 16px;gap:16px}.discovery-number{font-size:36px}.reference-home .discovery-rows h3{font-size:21px}.demo-model{grid-template-columns:1fr}.demo-device{width:100%;max-width:22rem}.closing-heading{align-items:start}.closing-heading>span{font-size:48px}.closing-bottom{flex-direction:column;align-items:start;gap:25px;margin-top:35px}.closing-bottom .reference-button{width:100%}.reference-footer{padding:25px 5%}.footer-main{grid-template-columns:1fr;gap:25px;padding-bottom:25px}.footer-main>a:last-child{justify-self:start}.footer-bottom{flex-direction:column;align-items:start;gap:.5rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card-sweep,.orbit-card{animation:none;transform:none}.landing-reveal,.orbit-card,.project-photo img,.reference-button{transition:none}.reveal-pending{opacity:1;transform:none}.project-photo:hover img,.reference-button:hover{transform:none}.motion-toggle{display:none}}@media (max-width:760px){html[lang=rw] .reference-title>span:first-child{font-size:30vw}}.workspace-page{max-width:1500px;margin:auto;padding:2rem 5% 4rem}.workspace-page h1{color:var(--navy);overflow-wrap:anywhere;margin-block:1.5rem;font-family:IRR Display,Arial,sans-serif;font-size:clamp(2.35rem,8vw,6rem);line-height:.95}.workspace-panel{border-top:1px solid var(--line);width:100%;min-width:0;margin-top:2rem;padding-top:1rem}.workspace-compact{width:75%}.workspace-actions{flex-wrap:wrap;gap:1rem;display:flex}.workspace-actions button{border-radius:0;min-height:44px}.blockly-container{border:1px solid var(--muted);width:100%;height:480px;position:relative;overflow:hidden}.blockly-container .blocklySvg{outline-offset:-3px}@media (max-width:600px){.workspace-page{padding-inline:1rem}.workspace-compact{width:90%}}.lab-results{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:2rem;margin-block:2rem;display:grid}.lab-results>section{border:1px solid var(--ink,#092c39);min-width:0;padding:1rem}.lab-device .led-photo{width:min(100%,220px);margin-inline:auto}.lab-output{max-height:12rem;overflow:auto}.lab-code pre{color:#f8f9f3;background:#002f55;max-height:30rem;padding:1rem;font-size:.9rem;overflow:auto}.lab-code select{background:#fff;border:1px solid #092c39;max-width:100%;padding:.6rem}@media (max-width:760px){.lab-results{grid-template-columns:minmax(0,1fr)}}.workspace-panel>p{margin-block:1rem}.workspace-panel>.workspace-actions{margin-block:1.25rem}.lab-results>section{padding:clamp(1rem,2.5vw,1.5rem)}.lab-results h2{margin:0 0 1.25rem}.lab-results h3{margin-block:1.25rem .75rem}.lab-results p{margin-block:1rem}.lab-code label{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.lab-code pre{white-space:pre;overflow-wrap:normal;margin-block:1.25rem;line-height:1.6}.lab-code .workspace-actions{margin-top:1.25rem}.lab-output{margin-bottom:0;padding-left:1.25rem}.lab-output li+li{margin-top:.35rem}@media (max-width:600px){.workspace-compact{width:100%}.workspace-actions{gap:.75rem}.workspace-actions button{flex:120px}.workspace-panel>.workspace-actions:first-of-type button:last-child{display:none}.lab-code label{flex-direction:column;align-items:stretch}.lab-code select{width:100%;min-height:44px}.lab-code .workspace-actions{flex-direction:column}.lab-code .workspace-actions button{flex:auto;width:100%}.lab-results{gap:1.5rem}}.blockly-container[data-toolbox-visible=false] .blocklyFlyoutScrollbar{display:none}.project-transfer{margin-block:1.25rem}.project-transfer .workspace-actions{margin-bottom:1.25rem}.lab-view-tabs{display:none}.lab-results>div{min-width:0}.lab-results>div>section{border:1px solid var(--ink);min-width:0;padding:clamp(1rem,2.5vw,1.5rem)}.lab-run-controls{z-index:20;background:var(--paper);border:1px solid var(--line);padding:1rem;position:sticky;top:0;box-shadow:0 -2px 8px #092c391a}@media (max-width:760px){.lab-view-tabs{gap:.5rem;margin-block:1.25rem;display:flex}.lab-view-tabs button{border:1px solid var(--navy);background:var(--paper);min-width:0;min-height:44px;color:var(--navy);flex:1;padding:.5rem;font-weight:700}.lab-view-tabs button[aria-selected=true]{background:var(--navy);color:var(--paper)}.lab-results{display:block}.lab-run-controls{gap:.5rem;padding:.75rem}.lab-run-controls button{white-space:nowrap;flex:auto;min-width:max-content;padding-inline:.5rem}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.lesson-clear{margin-block:1.25rem}.catalog-page,.lab-page,.labs-hub-page,.robotics-roadmap-page{padding-block:2rem 5rem}.catalog-breadcrumb{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:1.5rem;font-size:.875rem;display:flex}.catalog-breadcrumb a{color:var(--ink);align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}.catalog-header{margin-bottom:2rem}.catalog-title{text-transform:uppercase;color:var(--navy);overflow-wrap:anywhere;margin-bottom:.75rem;font-family:IRR Display,Impact,sans-serif;font-size:clamp(2.25rem,6vw,4rem);line-height:.95}.catalog-subtitle{color:var(--muted);max-width:48rem;margin:0;font-size:1.05rem;line-height:1.5}.lab-header-badge{margin-bottom:.75rem}.catalog-progress-bar{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:2rem;padding:1.5rem;display:flex}.progress-summary-details{flex:240px;min-width:0}.progress-title{color:var(--ink);margin-bottom:.75rem;font-size:1.1rem;font-weight:700}.progress-meter{background:var(--paper);border:1px solid var(--line);border-radius:6px;height:12px;overflow:hidden}.progress-meter-fill{background:var(--green);height:100%;transition:width .3s}.reset-progress-button{min-height:44px;font-size:.875rem}.catalog-filters{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;align-items:flex-end;gap:1.25rem;margin-bottom:2rem;padding:1.25rem;display:flex}.filter-group{flex-direction:column;flex:auto;gap:.5rem;min-width:min(100%,160px);display:flex}.filter-group label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.75rem;font-weight:700}.ui-select{border:1px solid var(--ink);background:var(--white);max-width:100%;color:var(--ink);border-radius:4px;padding:.5rem .75rem;font-family:inherit}.clear-filters-button,.ui-select{min-height:44px;font-size:.875rem}.catalog-empty{text-align:center;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:3rem 1.5rem}.catalog-empty p{color:var(--muted);margin-bottom:1.25rem;font-size:1.1rem}.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:1.75rem;display:grid}.lesson-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:1rem;min-width:0;padding:1.5rem;transition:transform .18s,box-shadow .18s;display:flex}.lesson-card:hover{box-shadow:0 8px 24px #002f5515}.lesson-card--planned{background:#fbfbf9;border-style:dashed}.lesson-card-header{justify-content:space-between;align-items:center;display:flex}.lesson-card-tags{flex-wrap:wrap;gap:.5rem;display:flex}.lesson-tag{text-transform:uppercase;letter-spacing:.05em;border-radius:3px;padding:.25rem .5rem;font-size:.6875rem;font-weight:700}.lesson-tag--lab{background:var(--navy);color:var(--white)}.lesson-card--electronics .lesson-tag--lab{background:var(--action);color:var(--white)}.lesson-tag--status.status-completed{background:var(--green);color:var(--white)}.lesson-tag--status.status-in-progress{background:var(--sun);color:var(--ink)}.lesson-tag--status.status-not-started{background:var(--paper);color:var(--muted);border:1px solid var(--line)}.lesson-tag--planned,.lesson-tag--status.status-planned{background:var(--paper);color:var(--muted);border:1px dashed var(--muted)}.lesson-card-title{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:1.25rem;font-weight:700;line-height:1.2}.lesson-card-summary{color:var(--muted);flex-grow:1;margin:0;font-size:.875rem;line-height:1.5}.lesson-card-concepts{flex-wrap:wrap;gap:.375rem;display:flex}.concept-chip{background:var(--paper);border:1px solid var(--line);color:var(--ink);border-radius:3px;padding:.2rem .45rem;font-size:.6875rem}.lesson-card-prereqs{border-top:1px solid var(--line);padding-top:.75rem;font-size:.75rem}.prereq-label{color:var(--muted);margin-bottom:.35rem;font-weight:700;display:block}.prereq-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.prereq-item{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.prereq-link{color:var(--action);align-items:center;min-height:44px;font-weight:600;text-decoration:underline;display:inline-flex}.prereq-badge{font-size:.6875rem}.prereq-completed .prereq-badge{color:var(--green);font-weight:700}.prereq-pending .prereq-badge{color:var(--muted)}.lesson-card-next{background:#eaf5ee;border:1px solid #b7e0c4;border-radius:4px;flex-wrap:wrap;align-items:center;gap:.35rem;padding:.5rem .75rem;font-size:.75rem;display:flex}.next-label{color:var(--green);font-weight:700}.next-link{color:var(--ink);align-items:center;min-height:44px;font-weight:700;text-decoration:underline;display:inline-flex}.next-planned{color:var(--muted)}.lesson-card-actions{margin-top:auto;padding-top:.5rem}.lesson-action-button{justify-content:space-between;width:100%;min-height:48px}.lesson-action-disabled{background:var(--paper);color:var(--muted);border:1px dashed var(--muted);cursor:not-allowed}.lesson-notices-container{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.prerequisite-warning{flex-direction:column;gap:.25rem;display:flex}.prereq-inline-link{color:var(--action);align-items:center;min-height:44px;font-weight:700;text-decoration:underline;display:inline-flex}.lesson-completed-banner{justify-content:space-between}.completed-banner-content,.lesson-completed-banner{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.completed-badge{color:var(--green);font-size:1rem;font-weight:700}.next-lesson-suggestion{flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.875rem;display:inline-flex}.next-lesson-link{align-items:center;min-height:44px;font-weight:700;text-decoration:underline;display:inline-flex}.reset-lesson-btn{min-height:44px;font-size:.8125rem}.lesson-page-nav{margin-bottom:1rem}.lesson-page-nav a{color:var(--ink);align-items:center;min-height:44px;font-size:.875rem;text-decoration:underline;display:inline-flex}.labs-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:2rem;margin-block:2rem;display:grid}.lab-hub-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;min-width:0;display:flex;overflow:hidden}.lab-card-image-wrap{background:var(--paper);height:200px;position:relative}.lab-card-img{object-fit:cover;width:100%;height:100%}.lab-hub-card--electronics .lab-card-img{object-fit:contain}.lab-card-badge{text-transform:uppercase;background:var(--ink);color:var(--paper);border-radius:3px;padding:.25rem .5rem;font-size:.6875rem;font-weight:700;position:absolute;top:12px;right:12px}.lab-card-body{flex-direction:column;flex-grow:1;gap:1rem;padding:1.5rem;display:flex}.lab-card-body h2{overflow-wrap:anywhere;margin:0;font-size:1.5rem}.lab-card-body p{color:var(--muted);flex-grow:1;margin:0;font-size:.875rem}.labs-footer-cta{margin-top:2rem}.roadmap-phases-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:1.5rem;margin-block:1.5rem 3rem;display:grid}.roadmap-phase-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);gap:1.25rem;min-width:0;padding:1.5rem;display:flex}.phase-number{color:var(--muted);font:800 2.5rem/1 IRR Display,Impact,sans-serif}.phase-status{text-transform:uppercase;color:var(--muted);margin-bottom:.25rem;font-size:.6875rem;font-weight:700;display:block}.phase-content h3{margin:0 0 .5rem;font-size:1.15rem}.phase-content p{color:var(--muted);margin:0;font-size:.875rem}.robotics-hero-image-wrap{border-radius:var(--radius);max-height:400px;margin-block:2rem;overflow:hidden}.robotics-roadmap-img{object-fit:cover;width:100%;height:auto}.roadmap-honest-notice{margin-top:1.5rem}.roadmap-prereq-cta{border-top:1px solid var(--line);margin-top:3rem;padding-top:2rem}.roadmap-actions{flex-wrap:wrap;gap:1.5rem;margin-top:1.5rem;display:flex}.lab-disclosure{margin-top:1rem}.device-controls{gap:1rem;min-width:0;margin-top:1.5rem;padding:1rem;display:grid}.device-controls label{flex-wrap:wrap;align-items:center;gap:.5rem;min-height:44px;display:flex}.device-controls input[type=range]{width:100%;min-height:44px;display:block}.device-controls input[type=checkbox]{vertical-align:middle;width:24px;height:24px;margin:10px .5rem 10px 0}.device-controls button{min-height:44px;padding:.5rem 1rem}.device-controls p{overflow-wrap:anywhere}.buzzer-panel{gap:1rem;margin-block:1.5rem;display:grid}.buzzer-panel h3,.buzzer-panel p{margin:0}.buzzer-panel button{justify-self:start}.buzzer-photo{isolation:isolate;width:min(100%,320px);margin-inline:auto;position:relative;overflow:hidden}.buzzer-photo img{width:100%;height:auto;display:block}.buzzer-wave{border:3px solid var(--green);opacity:0;pointer-events:none;border-radius:50%;position:absolute;inset:21%}.is-sounding .buzzer-wave{animation:buzzer-sound-wave 1s ease-out infinite}.is-sounding .buzzer-wave--two{animation-delay:.5s}@keyframes buzzer-sound-wave{0%{opacity:.65;transform:scale(.8)}to{opacity:0;transform:scale(1.65)}}@media (prefers-reduced-motion:reduce){.is-sounding .buzzer-wave{opacity:.65;animation:none}.is-sounding .buzzer-wave--two{transform:scale(1.4)}}.traffic-signals{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-block:1.5rem;display:grid}.traffic-signals img{width:100%;height:auto}.traffic-signals p{overflow-wrap:anywhere}@media (max-width:400px){.traffic-signals{grid-template-columns:1fr}.traffic-signals img{width:120px}}.traffic-photo-filters{pointer-events:none;position:absolute}.traffic-led-photo--yellow{filter:url(#traffic-photo-yellow)}.traffic-led-photo--green{filter:url(#traffic-photo-green)}.ui-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:#092c39a6;justify-content:center;align-items:center;padding:1.25rem;animation:modal-fade-in .15s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;inset:0}.ui-modal-card{background:var(--white);border:2px solid var(--ink);border-radius:var(--radius);flex-direction:column;gap:1.25rem;width:100%;max-width:480px;padding:1.5rem;animation:modal-scale-in .18s cubic-bezier(.16,1,.3,1);display:flex;position:relative;box-shadow:0 20px 40px #002f554d}.ui-modal-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.ui-modal-title-group{align-items:center;gap:.75rem;display:flex}.ui-modal-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.ui-modal-icon--danger{color:var(--error);background:#fde8e8;border:1px solid #f8b4b4}.ui-modal-icon--warning{color:#713f12;background:#fef08a;border:1px solid #facc15}.ui-modal-icon--info{color:#0369a1;background:#e0f2fe;border:1px solid #7dd3fc}.ui-modal-title{color:var(--navy);margin:0;font-family:IRR Body,Arial,sans-serif;font-size:1.35rem;font-weight:750;line-height:1.2}.ui-modal-close{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;font-size:1.25rem;line-height:1;transition:background-color .15s,color .15s;display:flex}.ui-modal-close:hover{background-color:var(--paper);color:var(--ink);border-color:var(--line)}.ui-modal-description{color:var(--ink);margin:0;font-size:.95rem;line-height:1.5}.ui-modal-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:.5rem;padding-top:1rem;display:flex}.ui-modal-actions .ui-button{min-height:44px}@media (max-width:480px){.ui-modal-actions{flex-direction:column-reverse}.ui-modal-actions .ui-button{width:100%}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-scale-in{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (prefers-reduced-motion:reduce){.ui-modal-backdrop,.ui-modal-card{animation:none}.auth-tab-btn,.lesson-card,.progress-meter-fill,.ui-modal-close{transition:none}}.auth-page{padding-block:var(--section-space);justify-content:center;align-items:flex-start;min-height:calc(100vh - 120px);display:flex}.auth-container{width:100%;max-width:36rem;margin-inline:auto}.auth-card{gap:var(--space-4);background:var(--white);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;padding:clamp(1.5rem,4vw,2.5rem);display:flex;box-shadow:0 4px 20px #092c390d}.auth-card-header{text-align:center;margin-bottom:var(--space-2)}.auth-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:var(--space-1);font-size:.75rem;font-weight:700;display:block}.auth-title{text-transform:uppercase;color:var(--navy);margin:0 0 var(--space-2) 0;overflow-wrap:anywhere;font-family:IRR Display,Impact,sans-serif;font-size:clamp(2rem,5vw,2.75rem);line-height:1}.auth-subtitle{color:var(--muted);margin:0;font-size:.9375rem}.auth-educator-notice{border-left:4px solid var(--blue);padding:var(--space-3) var(--space-4);border-radius:calc(var(--radius) / 2);background:#f0f7ff;font-size:.875rem;line-height:1.5}.auth-educator-notice strong{color:var(--navy);margin-bottom:var(--space-1);display:block}.auth-educator-notice p{color:var(--ink);margin:0}.auth-preserve-notice{align-items:flex-start;gap:var(--space-2);border-left:4px solid var(--green);padding:var(--space-3) var(--space-4);border-radius:calc(var(--radius) / 2);color:var(--ink);background:#f4fbf7;font-size:.8125rem;line-height:1.45;display:flex}.auth-preserve-notice p{margin:0}.auth-preserve-icon{color:var(--green);flex-shrink:0;margin-top:2px}.auth-tabs{border-bottom:2px solid var(--line);margin-block:var(--space-2);gap:var(--space-2);display:flex}.auth-tab-btn{min-height:44px;padding:var(--space-2) var(--space-4);color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;margin-bottom:-2px;font-size:.9375rem;font-weight:700;transition:color .15s,border-color .15s}.auth-tab-btn:hover{color:var(--ink)}.auth-tab-btn--active{color:var(--navy);border-bottom-color:var(--navy)}.auth-form{gap:var(--space-4);margin-top:var(--space-2)}.auth-field,.auth-form{flex-direction:column;display:flex}.auth-field{gap:var(--space-1)}.auth-field label{color:var(--ink);font-size:.875rem;font-weight:700}.auth-input{border:1px solid var(--muted);border-radius:calc(var(--radius) / 2);background:var(--white);min-height:44px;color:var(--ink);padding:.625rem .875rem;font-family:inherit;font-size:1rem}.auth-input:focus-visible{outline:3px solid var(--ink);outline-offset:1px}.auth-signed-in{gap:var(--space-4);padding:var(--space-4);background:var(--paper);border-radius:calc(var(--radius) / 2);flex-direction:column;display:flex}.auth-user-status{margin:0;font-size:1rem}.auth-actions{align-items:center;gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.auth-card-footer{text-align:center;border-top:1px solid var(--line);padding-top:var(--space-4);margin-top:var(--space-2)}.auth-guest-link{align-items:center;gap:var(--space-2);min-height:44px;color:var(--action);font-size:.9375rem;font-weight:700;text-decoration:underline;display:inline-flex}.auth-guest-link:hover{color:var(--navy)}.auth-guest-reminder{color:var(--muted);margin:var(--space-1) 0 0 0;font-size:.75rem}.auth-status-link{min-height:44px;color:inherit;align-items:center;gap:.4rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.auth-status-link:hover{text-decoration:underline}.auth-status-icon{color:currentColor;flex-shrink:0}.save-status-bar{background:var(--white);border:1px solid var(--line);border-left:4px solid var(--navy);border-radius:calc(var(--radius) / 2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-block:1rem;padding:1rem 1.25rem;display:flex}.save-status-bar--cloud_saved{border-left-color:var(--green)}.save-status-bar--local_dirty,.save-status-bar--saving{border-left-color:var(--action)}.save-status-bar--auth_error,.save-status-bar--conflict,.save-status-bar--error,.save-status-bar--offline{border-left-color:var(--error);background:snow}.save-status-main{flex-direction:column;flex:240px;gap:.35rem;min-width:0;display:flex}.save-status-header{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.save-status-badge{border:1px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .65rem;font-size:.8125rem;font-weight:700;line-height:1.3;display:inline-flex}.save-status-badge--cloud_saved{color:#14532d;background:#eaf7ee;border-color:#166534}.save-status-badge--local_dirty,.save-status-badge--saving{border-color:var(--navy);color:var(--navy);background:#e6f3fc}.save-status-badge--auth_error,.save-status-badge--conflict,.save-status-badge--error,.save-status-badge--offline{color:#7f1d1d;background:#fef2f2;border-color:#991b1b}.save-status-icon{flex-shrink:0}@keyframes save-status-spin{to{transform:rotate(1turn)}}.save-status-icon--spin{animation:save-status-spin 1.1s linear infinite}@media (prefers-reduced-motion:reduce){.save-status-icon--spin{animation:none}}.save-status-project-title{color:var(--navy);word-break:break-word;font-size:.95rem}.save-status-description{color:var(--muted);font-size:.875rem;line-height:1.45}.save-status-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.save-status-actions .ui-button{min-height:44px;padding:.5rem .875rem;font-size:.875rem}.save-status-conflict-actions{flex-wrap:wrap;gap:.5rem;display:flex}.project-modal-field{text-align:left;flex-direction:column;gap:.4rem;margin-top:.85rem;display:flex}.project-modal-field label{color:var(--ink);font-size:.875rem;font-weight:700}.projects-manager{flex-direction:column;gap:2.5rem;display:flex}.projects-feedback{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.projects-section{flex-direction:column;gap:1.25rem;display:flex}.projects-section-header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;padding-bottom:1rem;display:flex}.projects-section-title{text-transform:uppercase;color:var(--navy);margin:0 0 .4rem;font-family:IRR Display,Impact,sans-serif;font-size:clamp(1.6rem,3.5vw,2.25rem);line-height:1}.projects-section-subtitle{color:var(--muted);max-width:44rem;margin:0;font-size:.95rem}.projects-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.projects-filter-select{width:auto;min-width:160px}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:1.5rem;display:grid}.project-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;justify-content:space-between;gap:1rem;padding:1.5rem;display:flex}.project-card--local{background:#fcfcfa}.project-card-badges{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.project-lab-badge{background:var(--paper);color:var(--navy);border:1px solid var(--line);border-radius:999px;align-items:center;padding:.2rem .6rem;font-size:.75rem;font-weight:700;display:inline-flex}.project-card-title{color:var(--ink);word-break:break-word;margin:0;font-size:1.2rem;line-height:1.3}.project-card-meta{color:var(--muted);flex-direction:column;gap:.35rem;margin:0;font-size:.875rem;display:flex}.project-card-meta>div{flex-wrap:wrap;gap:.35rem;display:flex}.project-card-meta dt{color:var(--ink);font-weight:700}.project-card-meta dd{margin:0}.projects-card-actions{flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:.25rem;display:flex}.projects-card-actions .ui-button{min-height:44px;font-size:.875rem}.projects-empty,.projects-guest-callout{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:2rem 1.5rem}.projects-guest-callout h3{color:var(--navy);margin:0 0 .5rem}.projects-guest-callout p{color:var(--muted);max-width:44rem;margin:0 0 1rem}@media (max-width:600px){.save-status-bar{padding:.875rem}.projects-card-actions,.projects-toolbar,.save-status-actions,.save-status-conflict-actions{width:100%}.projects-card-actions .ui-button,.projects-filter-select,.projects-toolbar .ui-button,.save-status-actions .ui-button,.save-status-conflict-actions .ui-button{flex:100%;justify-content:center;width:100%}}.progress-summary-top-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.progress-sync-badge{border:1px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .65rem;font-size:.8125rem;font-weight:700;line-height:1.3;display:inline-flex}.progress-sync-badge--cloud_synced{color:#14532d;background:#eaf7ee;border-color:#166534}.progress-sync-badge--syncing{border-color:var(--navy);color:var(--navy);background:#e6f3fc}.progress-sync-badge--auth_error,.progress-sync-badge--error,.progress-sync-badge--offline,.progress-sync-badge--reconcile_needed{color:#7f1d1d;background:#fef2f2;border-color:#991b1b}.progress-sync-description{color:var(--muted);margin:.35rem 0 0;font-size:.8125rem;line-height:1.45}.progress-summary-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.progress-reconcile-banner{flex-direction:column;gap:1rem;margin-block:1rem;padding:1.25rem;display:flex}.progress-reconcile-body{flex-direction:column;gap:.4rem;display:flex}.progress-reconcile-title{color:var(--ink);margin:0;font-size:1.05rem;font-weight:700}.progress-reconcile-copy{color:var(--ink);margin:0;font-size:.9rem;line-height:1.45}.progress-reconcile-counts{color:var(--navy);margin:0;font-size:.85rem;font-weight:700}.progress-reconcile-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.progress-reconcile-actions .ui-button{min-height:44px;font-size:.875rem}.completed-disclaimer{color:var(--ink);opacity:.9;margin-top:.25rem;font-size:.8125rem;display:block}.completed-banner-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}@media (max-width:600px){.completed-banner-actions,.progress-reconcile-actions,.progress-summary-actions{width:100%}.completed-banner-actions .ui-button,.progress-reconcile-actions .ui-button,.progress-summary-actions .ui-button{flex:100%;justify-content:center;width:100%}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}