@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-cyrillic-ext-400-normal.0sqs6uof-0amz.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-ext-400-normal.1n25945oofmoi.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-cyrillic-400-normal.1nbavbgzpe520.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-400-normal.13meln3u2wrw1.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-greek-400-normal.13urx6ctg50nq.woff2)format("woff2"),url(../media/ibm-plex-sans-greek-400-normal.3jezoma1zzezb.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-vietnamese-400-normal.0ai7gdju0gby9.woff2)format("woff2"),url(../media/ibm-plex-sans-vietnamese-400-normal.2u9cx6ke8pzx4.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-latin-ext-400-normal.0ceeqphcbp8x9.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-ext-400-normal.0rj0k8-86v7v_.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-latin-400-normal.1-h52z97c7bce.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-400-normal.0fuh4fyjfo9ap.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-cyrillic-ext-500-normal.44593i8-29wbg.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-ext-500-normal.0jidoswe0j9qb.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-cyrillic-500-normal.112yeov4xlg05.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-500-normal.0ni4769h0x31g.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-greek-500-normal.0ufg9694ueuse.woff2)format("woff2"),url(../media/ibm-plex-sans-greek-500-normal.1ts2y1qr3h2f8.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-vietnamese-500-normal.012d1stzl51ip.woff2)format("woff2"),url(../media/ibm-plex-sans-vietnamese-500-normal.38v_v5lab-ej5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-latin-ext-500-normal.2mcl7017j3tww.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-ext-500-normal.18qmapxmuwhn3.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-latin-500-normal.2broe1i9movoa.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-500-normal.0f8eq302mdpld.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-cyrillic-ext-600-normal.16h6o2_j8rsce.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-ext-600-normal.3juwc1-_leybj.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-cyrillic-600-normal.2tlxqadn_cmsz.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-600-normal.3csci4y08h_ps.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-greek-600-normal.0h_04yfamc884.woff2)format("woff2"),url(../media/ibm-plex-sans-greek-600-normal.1fh4va1m5wx0j.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-vietnamese-600-normal.0f-wuky6h_rs9.woff2)format("woff2"),url(../media/ibm-plex-sans-vietnamese-600-normal.2_uiyrwt0npgh.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-latin-ext-600-normal.1uvdyv9iryn4j.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-ext-600-normal.01k4adpnb_n12.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-latin-600-normal.11xxlm8n0_7w8.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-600-normal.0o-mv26yr1hzk.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-condensed-vietnamese-600-normal.3e4flxcugo2h5.woff2)format("woff2"),url(../media/barlow-condensed-vietnamese-600-normal.1m4yi3r85r-2e.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-condensed-latin-ext-600-normal.3fs29psnn2dnj.woff2)format("woff2"),url(../media/barlow-condensed-latin-ext-600-normal.16yc7s53by18l.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-condensed-latin-600-normal.2t96v6p0iv501.woff2)format("woff2"),url(../media/barlow-condensed-latin-600-normal.3id26guef6u69.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-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{:root,:host{--font-sans:"IBM Plex Sans", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{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}html,:host{-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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{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}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-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{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.filter{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,)}}:root{--blue:#163fd6;--ink:#101820;--paper:#f7f8f5;--muted:#52606b;--line:#d9dfe3;--sans:"IBM Plex Sans",sans-serif;--display:"Barlow Condensed",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;line-height:1.65}a{color:var(--blue);text-underline-offset:4px}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}:focus-visible{outline-offset:4px;outline:3px solid #e59120}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.1}h2{letter-spacing:-.035em;font-size:2rem;font-weight:600}h3{letter-spacing:-.035em;font-size:1.6rem;font-weight:600}p{margin-bottom:1.2rem}.wrap{width:min(1200px,100% - 64px);margin-inline:auto}.section{min-height:50vh;padding-block:80px}.eyebrow{color:var(--blue);margin-bottom:1rem;font-size:.9rem;font-weight:600}.lead{color:var(--muted);max-width:60ch;font-size:1.22rem}.muted{color:var(--muted);font-size:.9rem}.page-title{font-family:var(--display);letter-spacing:-.02em;margin-block:20px 28px;font-size:clamp(3rem,6vw,5rem);font-weight:600}.button{border:1px solid var(--blue);background:var(--blue);color:#fff;border-radius:5px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:13px 22px;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.button:hover{background:#1031ae}.button:disabled{cursor:not-allowed;opacity:.55}.button.light{color:var(--blue);background:#fff;border-color:#fff}.button.secondary{color:var(--blue);background:0 0}.button.small{min-height:40px;padding:9px 15px;font-size:.85rem}.text-link{font-weight:500}.light-text{color:#fff}.actions{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.skip{z-index:100;background:#fff;padding:10px;position:absolute;top:-100px}.skip:focus{top:0}.header{background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{justify-content:space-between;align-items:center;gap:24px;min-height:88px;display:flex}.brand{color:var(--ink);letter-spacing:-.08em;align-items:baseline;gap:0;font-size:2rem;font-weight:600;text-decoration:none;display:flex}.brand-dot{color:var(--blue)}.brand-detail{letter-spacing:0;margin-left:13px;font-size:.82rem;font-weight:500}.header nav{align-items:center;gap:30px;font-size:.9rem;display:flex}.header nav>a:not(.button){color:var(--ink);text-decoration:none}.library-link{align-items:center;gap:4px;display:inline-flex}.hero{background:var(--blue);color:#fff;padding:76px 0 80px}.hero-grid{grid-template-columns:1.15fr .85fr;align-items:center;gap:90px;display:grid}.hero .eyebrow{color:#dce5ff}.hero h1{font-family:var(--display);letter-spacing:-.02em;margin-bottom:32px;font-size:clamp(4.5rem,7.8vw,7rem);font-weight:600;line-height:.94}.hero-copy{color:#edf0ff;max-width:43ch;font-size:1.2rem}.hero-note{color:#dce5ff;margin:18px 0 0;font-size:.8rem}.system-panel{background:#1135b8;border:1px solid #6d87e5;border-radius:14px;padding:28px;box-shadow:12px 16px #0e2c9b}.panel-top{color:#dce5ff;justify-content:space-between;align-items:center;gap:16px;margin-bottom:30px;font-size:.85rem;display:flex}.signal-dot{background:#c6d8ff;border-radius:50%;flex:none;width:7px;height:7px}.system-node{background:#163bbd;border:1px solid #6881d4;border-radius:6px;align-items:center;gap:18px;padding:22px;display:flex}.system-node>svg{flex:none}.system-node strong,.system-node span{display:block}.system-node strong{font-size:1.18rem}.system-node span{color:#dce5ff;margin-top:4px;font-size:.8rem}.accent-node{color:var(--blue);background:#fff;border-color:#fff}.accent-node span{color:#52606b}.connector{background:#a3b8ff;width:1px;height:30px;margin-left:34px}.panel-bottom{color:#dce5ff;margin-top:24px;font-size:.8rem}.section-heading{justify-content:space-between;align-items:end;gap:60px;margin-bottom:40px;display:flex}.section-heading>p{max-width:46ch;color:var(--muted)}.section-heading h2{margin:0;font-size:2.7rem}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.course{border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;align-items:start;padding:28px;display:flex}.course-top{justify-content:space-between;align-items:center;gap:10px;width:100%;margin-bottom:32px;display:flex}.course-top>svg{color:var(--blue);flex-shrink:0}.badge{color:#41505d;background:#edf0f2;border-radius:4px;padding:4px 8px;font-size:.7rem;font-weight:500;display:inline-block}.badge.active{color:#1438b0;background:#eaf0ff}.course p{color:var(--muted)}.course a{align-items:center;gap:12px;margin-top:auto;padding-top:12px;font-weight:600;text-decoration:none;display:inline-flex}.pilot-banner{background:#e9eefc;border-radius:8px;justify-content:space-between;align-items:center;gap:40px;margin-bottom:80px;padding:36px;display:flex}.pilot-banner h2{max-width:25ch}.pilot-banner p:last-child{max-width:58ch;margin-bottom:0}.pilot-banner .button{flex-shrink:0}footer{border-top:1px solid var(--line);color:var(--muted);padding:28px 0;font-size:.8rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.curriculum-layout{grid-template-columns:1fr 1fr;gap:80px;margin-top:32px;display:grid}.module-list{padding:0;list-style:none}.module-list li{border-bottom:1px solid var(--line);grid-template-columns:32px 1fr;gap:4px 16px;padding:20px 0;display:grid}.module-list li>span{color:var(--blue);grid-row:span 2}.module-list small{color:var(--muted)}.callout{border-left:3px solid var(--blue);background:#edf0f7;margin-block:28px;padding:22px}.callout p:last-child{margin:8px 0 0}.auth-layout{grid-template-columns:1fr 1fr;align-items:start;gap:100px;display:grid}.auth-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:36px}.auth-form{flex-direction:column;display:flex}.auth-form label{margin:16px 0 6px;font-weight:500}input:not([type=radio]):not([type=checkbox]):not([type=hidden]){color:var(--ink);background:#fff;border:1px solid #84929d;border-radius:4px;width:100%;min-height:48px;padding:10px 12px}.notice{color:#634817;background:#fff6e6;border-left:3px solid #a3660b;padding:14px 18px;font-size:.92rem}.auth-form .muted{margin-top:8px}.auth-form [role=status]:empty{display:none}.auth-form [role=status]{margin-top:18px}.lesson-layout{grid-template-columns:230px minmax(0,1fr);gap:72px;padding-block:50px 90px;display:grid}.lesson-sidebar{align-self:start;position:sticky;top:32px}.lesson-sidebar h2{margin-top:28px;font-size:1.15rem}.lesson-sidebar nav{flex-direction:column;gap:0;display:flex}.lesson-sidebar nav a{color:var(--muted);border-bottom:1px solid var(--line);padding:12px 0;text-decoration:none}.sidebar-note{color:var(--muted);background:#eaf0f5;margin-top:32px;padding:20px;font-size:.85rem}.sidebar-note p{margin:8px 0;font-weight:600}.back-link{font-size:.85rem}.lesson-main{max-width:780px}.lesson-main h1{font-family:var(--display);letter-spacing:-.02em;font-size:clamp(3rem,5vw,4.5rem);font-weight:600}.lesson-meta{color:var(--muted);align-items:center;gap:8px;margin-bottom:28px;font-size:.85rem;display:flex}.lesson-main section{margin-top:48px}.lesson-main section h2{font-size:1.7rem}.learning-diagram{grid-template-columns:1fr 1fr;gap:16px;margin:28px 0;display:grid}.learning-diagram>div{background:#eaf0ff;border:1px solid #c6d3f7;border-radius:6px;padding:20px}.learning-diagram span{color:var(--blue);margin-bottom:12px;font-size:.85rem;display:block}.learning-diagram strong{font-size:1rem;display:block}.learning-diagram p{margin:12px 0 0;font-size:.8rem}.lab{border:1px solid var(--line);background:#fff;border-radius:10px;padding:28px}.lab details{padding:12px 0;font-size:.9rem}.lab summary{cursor:pointer;color:var(--blue);margin-bottom:12px}.lab form{margin:18px 0}.lab label{margin-bottom:8px;font-weight:600;display:block}.search-row{gap:10px;display:flex}.search-row button{flex-shrink:0}.lab blockquote{border-left:2px solid var(--blue);margin:20px 0;padding-left:18px}.assessment{border-top:1px solid var(--line);padding-top:40px}.assessment fieldset{border:0;margin:0 0 20px;padding:0}.assessment legend{margin-bottom:20px}.radio-option{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:5px;align-items:start;gap:12px;margin-bottom:10px;padding:15px;display:flex}.radio-option:has(input:checked){border-color:var(--blue);background:#edf2ff}.radio-option input{flex-shrink:0;margin-top:5px}.read-confirm{align-items:start;gap:10px;margin:20px 0;font-size:.9rem;display:flex}.read-confirm input{margin-top:6px}.feedback{background:#edf2ff;border:1px solid #b5c7f9;margin-top:20px;padding:20px}.feedback p{margin:12px 0 0}.progress-summary{flex-wrap:wrap;align-items:center;gap:20px;padding:24px 0 40px;display:flex}.progress-summary strong{font-size:2rem}.progress-summary progress{accent-color:var(--blue);width:220px}.prose{max-width:800px}.prose h2{margin-top:40px}@media (max-width:1000px){.hero-grid{gap:40px}.course-grid{gap:14px}.course{padding:22px}.course-top{flex-wrap:wrap}.auth-layout,.curriculum-layout{gap:40px}.lesson-layout{grid-template-columns:180px minmax(0,1fr);gap:32px}}@media (max-width:760px){.wrap{width:calc(100% - 36px)}.header-inner{gap:12px;min-height:76px}.brand{font-size:1.7rem}.brand-detail{display:none}.header nav{gap:14px;font-size:.8rem}.header .library-link{display:none}.header .button{padding:8px 10px;font-size:.75rem}.hero{padding:48px 0}.hero-grid{grid-template-columns:1fr;gap:42px}.hero h1{font-size:5rem}.system-panel{width:calc(100% - 12px);max-width:460px;box-shadow:8px 10px #0e2c9b}.section{padding-block:48px}.section-heading{margin-bottom:28px;display:block}.section-heading>p{margin-top:24px}.course-grid{grid-template-columns:1fr;gap:18px}.course-top{margin-bottom:18px}.course h3{margin-bottom:14px}.pilot-banner{margin-bottom:48px;padding:24px;display:block}.pilot-banner .button{margin-top:24px}.auth-layout,.curriculum-layout{grid-template-columns:1fr;gap:32px}.auth-card{padding:24px}.lesson-layout{padding-top:28px;display:block}.lesson-sidebar{position:static}.lesson-sidebar h2,.sidebar-note{display:none}.lesson-sidebar nav{white-space:nowrap;flex-direction:row;gap:18px;margin:12px 0 32px;font-size:.8rem;overflow:auto}.lesson-sidebar nav a{padding:8px 0}.lesson-main h1{font-size:3.5rem}.learning-diagram{grid-template-columns:1fr}.lab{padding:20px}.search-row,.footer-inner{flex-direction:column}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.lesson-video{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 16px 40px #10182008}.architecture-syllabus{max-width:960px}.architecture-syllabus>.eyebrow{margin-top:36px}.architecture-module{border-top:1px solid var(--line);margin-top:48px;padding-top:32px}.architecture-module h2{margin-top:18px;font-size:1.8rem}.chapter-list{padding-left:24px}.chapter-list li{border-bottom:1px solid var(--line);padding:18px 0}.chapter-list .actions{gap:12px 24px;margin-top:12px;font-size:.85rem}.architecture-lesson li{margin-bottom:12px}.architecture-lesson section p{white-space:pre-line}.lesson-sidebar nav a[aria-current=page]{color:var(--blue);font-weight:600}.lesson-pagination{border-top:1px solid var(--line);margin-top:48px;padding-top:28px}.video-heading{justify-content:space-between;align-items:center;gap:16px;padding:26px 28px 20px;display:flex}.video-heading .eyebrow{letter-spacing:.08em;align-items:center;gap:8px;margin-bottom:10px;font-size:.72rem;display:flex}.video-heading h2{margin:0}.video-duration{white-space:nowrap;color:var(--muted);font-size:.8rem}.video-screen{background:var(--ink)}.video-screen video{aspect-ratio:16/9;width:100%;display:block}.video-chapters{border-bottom:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.video-chapters button{text-align:left;color:var(--muted);background:#fff;border:0;border-top:3px solid #0000;min-height:96px;padding:16px 14px}.video-chapters button+button{border-left:1px solid var(--line)}.video-chapters button[aria-current]{border-top-color:var(--blue);color:var(--blue);background:#edf2ff}.video-chapters button:hover{background:#f0f3f8}.video-chapters span{justify-content:space-between;gap:8px;margin-bottom:8px;font-size:.75rem;display:flex}.video-chapters strong{font-size:.8rem;line-height:1.35;display:block}.video-footnote{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:14px;padding:16px 24px;font-size:.75rem;display:flex}.video-footnote a{align-items:center;gap:5px;display:inline-flex}.video-transcript{border-top:1px solid var(--line);padding:18px 24px}.video-transcript summary{cursor:pointer;color:var(--blue);font-size:.9rem;font-weight:600}.video-transcript h3{margin:24px 0 12px;font-size:1.1rem}.video-transcript p{font-size:.95rem}@media (max-width:600px){.video-heading{flex-direction:column;align-items:start;gap:10px;padding:20px}.video-chapters{grid-template-columns:repeat(2,minmax(0,1fr))}.video-chapters button{min-height:90px}.video-chapters button:nth-child(3){border-left:0}.video-footnote{padding:16px 20px}}.learning-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:28px 0;display:flex}.learning-row h3{margin:14px 0;font-size:1.4rem}.learning-row .button{flex-shrink:0}.assessment form{margin-top:28px}@media (max-width:760px){.learning-row{flex-direction:column;align-items:start}}.budget-table{overflow-x:auto}.budget-table table{border-collapse:collapse;width:100%;font-size:.9rem}.budget-table th,.budget-table td{text-align:left;border-bottom:1px solid var(--line);padding:12px}.budget-table caption{text-align:left;color:var(--muted);margin-bottom:12px}.lesson-notes .note-group{border-left:3px solid var(--blue);margin:24px 0;padding:4px 0 4px 22px}.lesson-notes h3{margin-bottom:10px;font-size:1.2rem}.lesson-notes ul{padding-left:20px}.lesson-notes li{margin-bottom:8px}.assessment fieldset{margin:32px 0}.lesson-notes ul{list-style:outside}.lesson-notes li::marker{color:var(--blue)}.lesson-cinema{display:block}.lesson-cinema .lesson-sidebar{margin-bottom:32px;position:static}.lesson-cinema .lesson-sidebar h2{display:none}.lesson-cinema .lesson-sidebar nav{white-space:nowrap;flex-direction:row;gap:24px;margin-top:12px;font-size:.82rem;overflow:auto}.lesson-cinema .lesson-main{max-width:none}.lesson-cinema .lesson-main h1{max-width:1050px}.lesson-cinema .lesson-main>section:not(.lesson-video),.lesson-cinema .lesson-pagination{max-width:800px;margin-inline:auto}:root{--ease:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--quick:.18s}.header-start{align-items:center;gap:22px;display:flex}.home-link{border:1px solid var(--line);color:var(--muted);transition:color var(--quick) var(--ease), border-color var(--quick) var(--ease), background var(--quick) var(--ease);border-radius:999px;align-items:center;gap:6px;padding:7px 12px 7px 9px;font-size:.8rem;font-weight:500;text-decoration:none;display:inline-flex}.home-link:hover{color:var(--blue);background:#edf2ff;border-color:#b5c7f9}.home-link svg,.back-link:before{transition:transform var(--quick) var(--ease)}.brand{transition:opacity var(--quick) var(--ease)}.brand:hover{opacity:.82}.header nav>a.nav-link,.lesson-sidebar nav a,.back-link{transition:color var(--quick) var(--ease), background-size .22s var(--ease);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;text-decoration:none}.header nav>a.nav-link{padding-block:4px}.header nav>a.nav-link:hover,.back-link:hover{color:var(--blue);background-size:100% 1px}.lesson-sidebar nav a{background-position:0 calc(100% - 1px)}.lesson-sidebar nav a:hover{color:var(--ink);background-size:100% 1px}.lesson-sidebar nav a[aria-current=page]{background-size:100% 2px;background-image:linear-gradient(var(--blue),var(--blue))}.back-link{align-items:center;gap:6px;text-decoration:none;display:inline-flex}.back-link:before{content:"←"}.button{transition:background var(--quick) var(--ease), color var(--quick) var(--ease), border-color var(--quick) var(--ease), transform .12s var(--ease)}.button:active:not(:disabled){transform:translateY(1px)scale(.985)}.button.secondary:hover{color:#1031ae;background:#edf2ff;border-color:#1031ae}.button.light:hover{color:#1031ae;background:#edf2ff;border-color:#edf2ff}.button svg,.course a svg,.text-link svg{transition:transform var(--quick) var(--ease)}.text-link{text-decoration:underline}@supports (color:color-mix(in lab, red, red)){.text-link{-webkit-text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);-webkit-text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);-webkit-text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-decoration-color:color-mix(in srgb, currentColor 40%, transparent)}}.text-link{transition:text-decoration-color var(--quick) var(--ease)}.text-link:hover{text-decoration-color:currentColor}.course{transition:border-color var(--quick) var(--ease), box-shadow var(--quick) var(--ease);position:relative}.course a:after{content:"";border-radius:inherit;position:absolute;inset:0}.course:hover{border-color:#b5c7f9;box-shadow:6px 8px #e9eefc}.course:has(a:focus-visible){outline-offset:4px;outline:3px solid #e59120}.course a:focus-visible{outline:none}summary{cursor:pointer;align-items:center;gap:8px;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary:before{content:"";width:7px;height:7px;transition:transform var(--quick) var(--ease);border-bottom:2px solid;border-right:2px solid;flex:none;margin-right:2px;transform:rotate(-45deg)}details[open]>summary:before{transform:rotate(45deg)}summary:hover{text-underline-offset:4px;text-decoration:underline}.radio-option{transition:border-color var(--quick) var(--ease), background var(--quick) var(--ease)}.radio-option:hover{border-color:#b5c7f9}.video-chapters button{transition:background var(--quick) var(--ease), color var(--quick) var(--ease), border-color var(--quick) var(--ease)}.video-chapters button:hover{color:var(--ink)}a.system-node{color:#fff;transition:background var(--quick) var(--ease), border-color var(--quick) var(--ease);text-decoration:none}a.system-node>div{flex:1;min-width:0}.node-arrow{transition:transform var(--quick) var(--ease);flex:none}.system-node .node-tag{color:#c6d8ff;margin-top:8px;font-size:.72rem;font-weight:600;display:block}.accent-node .node-tag{color:var(--blue)}a.system-node:hover{background:#1d46d0;border-color:#c6d8ff}a.system-node.accent-node{color:var(--blue)}a.system-node.accent-node:hover{background:#edf2ff;border-color:#edf2ff}a.system-node:focus-visible{outline-offset:3px}.text-link{align-items:center;gap:6px;display:inline-flex}@media (max-width:760px){.header-start{gap:12px}.home-link{padding:6px 9px 6px 7px;font-size:.72rem}}@media (max-width:420px){.system-node{gap:14px;padding:18px}.home-link span{display:none}.home-link{padding:7px}.header-start,.header nav{gap:10px}.header .button{white-space:nowrap;padding:8px}}@media (hover:none){.course:hover{box-shadow:none;border-color:var(--line)}}@media (hover:hover) and (pointer:fine){.home-link:hover svg,.back-link:hover:before{transform:translate(-3px)}.button:hover svg,.course:hover a svg,.text-link:hover svg,a.system-node:hover .node-arrow{transform:translate(3px)}}.hero .system-node{animation:node-in .42s var(--ease) backwards}.hero .system-node:first-of-type{animation-delay:.12s}.hero .system-node:nth-of-type(2){animation-delay:.18s}.hero .system-node:nth-of-type(3){animation-delay:.24s}.hero .connector{transform-origin:top;animation:connector-in .3s var(--ease-in-out) backwards;animation-delay:.26s}@keyframes node-in{0%{opacity:0;transform:translateY(8px)}}@keyframes connector-in{0%{transform:scaleY(0)}}@media (prefers-reduced-motion:reduce){.hero .system-node,.hero .connector{animation:none}}.labs-crumbs{color:var(--muted);flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;font-size:.85rem;display:flex}.labs-crumbs a{color:var(--blue);text-decoration:none}.labs-crumbs a:hover{text-decoration:underline}.labs-jump{flex-wrap:wrap;gap:.5rem;margin-top:2rem;display:flex}.labs-jump a{border:1px solid var(--line);min-height:44px;color:var(--ink);transition:border-color var(--quick) var(--ease), color var(--quick) var(--ease);background:#fff;border-radius:6px;align-items:center;gap:.55rem;padding:.55rem .9rem;font-weight:600;text-decoration:none;display:inline-flex}.labs-jump a span{color:var(--blue);font-size:.75rem}.labs-jump a:hover{border-color:var(--blue);color:var(--blue)}.labs-level{margin-top:4.5rem;scroll-margin-top:2rem}.labs-level h2{font-family:var(--display);margin:.2rem 0 .6rem;font-size:clamp(2.2rem,4vw,3.2rem)}.labs-list{border-top:1px solid var(--line);margin:2rem 0 0;padding:0;list-style:none}.labs-row{border-bottom:1px solid var(--line);transition:background var(--quick) var(--ease);grid-template-columns:3.5rem minmax(0,1fr) auto;align-items:center;gap:1.5rem;padding:1.6rem .5rem 1.6rem 0;display:grid;position:relative}.labs-row-number{color:var(--muted);font-size:.85rem}.labs-row h2,.labs-row h3{margin:0 0 .4rem;font-size:1.35rem}.labs-row p{color:var(--muted);max-width:48rem;margin:0;line-height:1.55}.labs-row-link{color:inherit;text-decoration:none}.labs-row-link:after{content:"";position:absolute;inset:0}.labs-row-meta{flex-wrap:wrap;gap:.5rem;margin-top:.8rem;display:flex}.labs-row-go{color:var(--blue);white-space:nowrap;transition:transform var(--quick) var(--ease);font-weight:600}.labs-row.is-muted .labs-row-go{color:var(--muted);font-weight:500}.labs-row:has(a:focus-visible){outline-offset:4px;outline:3px solid #e59120}.labs-row a:focus-visible{outline:none}@media (hover:hover) and (pointer:fine){.labs-row:not(.is-muted):hover{background:#eef1fb}.labs-row:not(.is-muted):hover .labs-row-go{transform:translate(4px)}}.labs-steps{flex-wrap:wrap;align-items:center;gap:.6rem 1.2rem;margin-top:1.8rem;display:flex}.labs-steps ol{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.labs-steps li a{border:1px solid var(--line);width:44px;height:44px;color:var(--muted);transition:border-color var(--quick) var(--ease), color var(--quick) var(--ease);background:#fff;border-radius:6px;place-items:center;font-size:.82rem;text-decoration:none;display:grid}.labs-steps li a:hover{border-color:var(--blue);color:var(--blue)}.labs-steps li a[aria-current]{border-color:var(--blue);background:var(--blue);color:#fff;font-weight:600}.labs-layout{grid-template-columns:minmax(0,1fr) 20rem;align-items:start;gap:4rem;margin-top:3rem;display:grid}.labs-layout>*{min-width:0}.labs-run{border:1px solid var(--line);background:#fff;border-radius:8px;padding:1.5rem;position:sticky;top:2rem}.labs-run h2{font-family:var(--display);margin:0 0 1rem;font-size:1.5rem}.labs-run .button{width:100%;margin-bottom:.8rem}.labs-run p,.labs-run ol{color:var(--muted);font-size:.9rem;line-height:1.55}.labs-run ol{padding-left:1.1rem}.labs-prose{max-width:46rem;line-height:1.7}.labs-prose h2{font-family:var(--display);margin:2.5rem 0 1rem;font-size:2rem}.labs-prose h3{margin:1.8rem 0 .6rem;font-size:1.2rem}.labs-prose ul{padding-left:1.4rem;list-style:outside}.labs-prose ol{padding-left:1.4rem;list-style:decimal}.labs-prose li{margin-bottom:.35rem}.labs-prose li::marker{color:var(--blue)}.labs-prose code{background:#e9edf5;border-radius:3px;padding:.1rem .3rem;font-size:.88em}.labs-prose pre,.labs-code pre{background:var(--ink);color:#f7f8f5;border-radius:6px;padding:1rem 1.2rem;font-size:.84rem;line-height:1.55;overflow:auto}.labs-prose pre code,.labs-code pre code{color:inherit;background:0 0;padding:0}.labs-prose table{border-collapse:collapse;font-size:.92rem;display:block;overflow-x:auto}.labs-prose th,.labs-prose td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.6rem .8rem}.labs-prose hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}.labs-overview,.labs-code{margin-top:3rem}.labs-code-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.6rem;display:flex}.labs-code-head h2{font-family:var(--display);margin:0;font-size:2rem}.labs-code pre{max-height:32rem}.labs-copy{border:1px solid var(--line);min-height:40px;color:var(--ink);transition:border-color var(--quick) var(--ease), color var(--quick) var(--ease);background:#fff;border-radius:5px;padding:.5rem .9rem;font-size:.82rem;font-weight:600}.labs-copy:hover{border-color:var(--blue);color:var(--blue)}.labs-solution{border:1px solid var(--line);background:#fff;border-radius:6px;margin-top:1.5rem}.labs-solution>summary{color:var(--blue);padding:1rem 1.2rem;font-weight:600}.labs-solution pre{border-radius:0 0 6px 6px;margin:0}.labs-pager{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1rem;margin-top:4rem;padding-top:2rem;display:grid}.labs-pager a{border:1px solid var(--line);min-height:44px;color:var(--blue);transition:border-color var(--quick) var(--ease), background var(--quick) var(--ease);border-radius:6px;flex-direction:column;gap:.3rem;padding:1rem 1.1rem;font-weight:600;line-height:1.35;text-decoration:none;display:flex}.labs-pager a span{color:var(--muted);font-size:.78rem;font-weight:500}.labs-pager a.is-next{text-align:right;grid-column:2}.labs-pager a:hover{border-color:var(--blue);background:#eef1fb}#codigo{scroll-margin-top:2rem}@media (max-width:900px){.labs-layout{grid-template-columns:1fr;gap:2.5rem}.labs-run{order:-1;position:static}}@media (max-width:620px){.labs-row{grid-template-columns:2.2rem minmax(0,1fr)}.labs-row-go{grid-column:2}.labs-pager{grid-template-columns:1fr}.labs-pager a.is-next{grid-column:auto}}.glossary-tools{flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:2rem;display:flex}.glossary-tools input{max-width:32rem}.glossary-tools p{margin:0}.glossary-letters{z-index:5;background:var(--paper);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.3rem;margin:1.5rem 0 0;padding:.75rem 0;display:flex;position:sticky;top:0}.glossary-letters a,.glossary-letters span{border-radius:6px;place-items:center;min-width:40px;height:40px;font-size:.9rem;font-weight:600;text-decoration:none;display:grid}.glossary-letters a{border:1px solid var(--line);color:var(--blue);transition:border-color var(--quick) var(--ease), background var(--quick) var(--ease);background:#fff}.glossary-letters a:hover{border-color:var(--blue);background:#edf2ff}.glossary-letters span{color:#b4bcc4}.glossary-group{margin-top:2.5rem;scroll-margin-top:5rem}.glossary-group h2{font-family:var(--display);color:var(--blue);margin:0 0 .5rem;font-size:2.6rem}.glossary-group dl{border-top:1px solid var(--line);margin:0}.glossary-term{border-bottom:1px solid var(--line);grid-template-columns:minmax(12rem,.8fr) minmax(0,2fr);gap:.5rem 2.5rem;padding:1.4rem 0;scroll-margin-top:5rem;display:grid}.glossary-term:target{background:#edf2ff;box-shadow:-12px 0 #edf2ff,12px 0 #edf2ff}.glossary-term dt{font-size:1.05rem;font-weight:600}.glossary-term dt a{color:var(--ink);text-decoration:none}.glossary-term dt a:hover{color:var(--blue);text-underline-offset:4px;text-decoration:underline}.glossary-pt{color:var(--muted);margin-top:.3rem;font-size:.85rem;font-weight:400;display:block}.glossary-term dd{grid-column:2;margin:0}.glossary-term dd+dd{border-top:1px dashed var(--line);padding-top:.8rem}.glossary-term dd p{max-width:62ch;margin:0 0 .4rem;line-height:1.65}.glossary-source{color:var(--blue);text-underline-offset:3px;font-size:.78rem;font-weight:600}@media (max-width:760px){.glossary-term{grid-template-columns:1fr}.glossary-term dd{grid-column:1}}.glossary-home{margin-bottom:80px}.glossary-preview{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 28px;padding:0;list-style:none;display:grid}.glossary-preview a{border:1px solid var(--line);height:100%;color:var(--ink);transition:border-color var(--quick) var(--ease), box-shadow var(--quick) var(--ease);background:#fff;border-radius:8px;flex-direction:column;gap:.5rem;padding:20px;text-decoration:none;display:flex}.glossary-preview strong{color:var(--blue);font-size:1.02rem}.glossary-preview span{color:var(--muted);font-size:.86rem;line-height:1.5}.glossary-preview a:hover{border-color:#b5c7f9;box-shadow:6px 8px #e9eefc}@media (max-width:1000px){.glossary-preview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.glossary-preview{grid-template-columns:1fr}.glossary-home{margin-bottom:48px}}.form-error{color:#7a271a;background:#fef3f2;border-left:3px solid #b42318;margin:18px 0 0;padding:12px 14px;font-size:.92rem}.auth-form input[aria-invalid=true]{border-color:#b42318;box-shadow:0 0 0 1px #b42318}.terms-check{align-items:flex-start;gap:10px;margin:18px 0 20px;font-size:.9rem;line-height:1.5;display:flex}.terms-check input{width:18px;height:18px;accent-color:var(--blue);flex:none;margin-top:2px}.auth-form .terms-check label{margin:0;font-weight:400}.terms-check.is-invalid{background:#fef3f2;border-radius:6px;padding:10px 12px;box-shadow:inset 0 0 0 1px #f4c7c3}.notice.is-success{color:#145232;background:#ecf8f1;border-left-color:#1d7a47}.terms-summary{color:var(--muted);margin:1.5rem 0 0;padding-left:1.2rem;line-height:1.6;list-style:outside}.terms-summary li{margin-bottom:.5rem}.terms-summary li::marker{color:var(--blue)}.password-label{justify-content:space-between;align-items:end;gap:16px;margin-top:16px;display:flex}.auth-form .password-label label{margin:0}.password-toggle{color:var(--blue);text-underline-offset:3px;background:0 0;border:0;padding:3px 0;font-size:.82rem;font-weight:600;text-decoration:underline}.admin-login-button{margin-top:10px}.status-screen{align-items:center;min-height:60vh;display:flex}.status-copy{max-width:44rem}.status-code{background:var(--blue);color:#fff;letter-spacing:.04em;border-radius:4px;margin-right:.6rem;padding:.15rem .5rem;font-size:.75rem;display:inline-block}.status-body{margin-bottom:28px}.status-tips{color:var(--muted);margin:1rem 0 0;padding-left:1.2rem;line-height:1.6;list-style:outside}.status-tips li{margin-bottom:.4rem}.status-tips li::marker{color:var(--blue)}.status-reference{margin-top:24px}.status-reference code{background:#e9edf5;border-radius:3px;padding:.1rem .35rem;font-size:.85em}.status-signout{margin-top:-40px;padding-bottom:60px}.text-button{color:var(--blue);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.legal h2{font-size:1.5rem}.legal-version{color:var(--muted);font-size:.92rem}.legal-table{margin:1rem 0 1.4rem;overflow-x:auto}.legal-table table{border-collapse:collapse;width:100%;font-size:.92rem}.legal-table th,.legal-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:.7rem .8rem}.legal-table th{color:var(--muted);font-weight:600}.legal ul{padding-left:1.3rem;list-style:outside}.legal li{margin-bottom:.45rem}.legal li::marker{color:var(--blue)}.footer-legal{color:var(--muted);flex-basis:100%;margin:6px 0 0;font-size:.75rem}.accept-account{background:#edf2ff;border-radius:6px;margin:0 0 .8rem;padding:10px 12px;font-size:.92rem}.accept-signout{margin-top:16px;font-size:.9rem}.course-ledger{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 240px;align-items:center;gap:64px;padding:34px 0 42px;display:grid}.course-ledger h2{font-family:var(--display);margin-bottom:12px;font-size:clamp(2.2rem,4vw,3.4rem)}.course-ledger p:not(.eyebrow){max-width:60ch;color:var(--muted)}.course-score{text-align:right;flex-direction:column;align-items:flex-end;display:flex}.course-score strong{font-family:var(--display);color:var(--blue);font-size:5rem;line-height:.9}.course-score span{color:var(--muted);margin:10px 0 16px}.course-score progress{width:100%;height:8px;accent-color:var(--blue)}.learning-record{margin:0;padding:0;list-style:none}.learning-record-item{border-bottom:1px solid var(--line);grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:22px;padding:26px 0;display:grid}.learning-marker{border:1px solid var(--line);width:42px;height:42px;color:var(--muted);border-radius:50%;place-items:center;font-size:.78rem;display:grid}.is-completed .learning-marker{color:#fff;background:#1d7a47;border-color:#1d7a47;font-size:1rem}.is-active .learning-marker{border:2px solid var(--blue);color:var(--blue)}.learning-copy h3{margin:3px 0 7px;font-size:1.25rem}.learning-copy p,.learning-copy small{color:var(--muted);margin:0;font-size:.86rem;display:block}.learning-state{color:var(--blue);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:600}.certificate-callout{border:1px solid var(--line);background:#fff;border-left:6px solid #e59120;grid-template-columns:minmax(0,1fr) minmax(180px,420px);align-items:center;gap:48px;margin:72px 0 48px;padding:36px;display:grid}.certificate-callout.is-ready{border-left-color:#1d7a47}.certificate-callout h2{margin-bottom:12px}.certificate-callout p:last-child{color:var(--muted);margin-bottom:0}.certificate-form{grid-template-columns:1fr auto;gap:8px;display:grid}.certificate-form label{grid-column:1/-1;font-size:.85rem;font-weight:600}.certificate-lock{color:var(--muted);font-family:var(--display);justify-self:end;font-size:2rem}.secondary-course{border-top:1px solid var(--line);padding-top:40px}.teacher-summary{border-block:1px solid var(--ink);grid-template-columns:repeat(3,1fr);margin-bottom:64px;display:grid}.teacher-summary div{border-right:1px solid var(--line);padding:28px}.teacher-summary div:last-child{border:0}.teacher-summary strong,.teacher-summary span{display:block}.teacher-summary strong{font-family:var(--display);color:var(--blue);font-size:3.8rem;line-height:1}.teacher-summary span{color:var(--muted)}.ledger-heading{justify-content:space-between;align-items:end;gap:40px;margin-bottom:22px;display:flex}.ledger-heading h2{margin:0}.ledger-heading>p{max-width:40ch;color:var(--muted);margin:0}.roster-wrap{overflow-x:auto}.roster-table{border-collapse:collapse;background:#fff;width:100%;min-width:850px}.roster-table th,.roster-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:17px 14px}.roster-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.76rem}.roster-table td{font-size:.88rem}.roster-table td small{color:var(--muted);display:block}.roster-progress{align-items:center;gap:10px;display:flex}.roster-progress progress{width:100px;accent-color:var(--blue)}.status-pill{color:#52606b;background:#edf0f2;border-radius:999px;padding:4px 8px;font-size:.74rem;display:inline-block}.status-pill.is-active{color:#1438b0;background:#eaf0ff}.status-pill.is-complete{color:#145232;background:#e5f5ec}.empty-record{background:#fff;padding:28px}.demo-banner{background:#fff2d8;border:1px solid #e9bd6e;align-items:center;gap:18px;margin:-32px 0 54px;padding:12px 16px;font-size:.82rem;display:flex}.demo-banner span{color:#634817;flex:1}.certificate-demo-banner{width:min(1100px,100%);margin:0 auto 20px}.certificate-page{background:#e9edf5;min-height:calc(100vh - 88px);padding:60px 32px}.certificate-sheet{background:var(--paper);text-align:center;border:12px solid #fff;outline:1px solid #b8c0c9;width:min(1100px,100%);min-height:650px;margin:auto;padding:68px 80px;position:relative;box-shadow:0 18px 50px #10182022}.certificate-sheet:before{content:"";border:1px solid var(--blue);pointer-events:none;position:absolute;inset:18px}.certificate-brand{letter-spacing:-.08em;font-size:2rem;font-weight:600;position:relative}.certificate-brand span{color:var(--blue)}.certificate-brand small{letter-spacing:0;margin-left:12px;font-size:.75rem;font-weight:500}.certificate-kicker{color:var(--blue);letter-spacing:.18em;text-transform:uppercase;margin:80px 0 20px;font-size:.8rem;font-weight:600}.certificate-sheet h1{font-family:var(--display);margin:0;font-size:clamp(3.5rem,7vw,6.4rem)}.certificate-statement{color:var(--muted);margin:14px 0}.certificate-sheet h2{font-family:var(--display);font-size:2.5rem}.certificate-rule{background:var(--blue);width:90px;height:3px;margin:28px auto}.certificate-verification{color:var(--muted);flex-direction:column;align-items:flex-end;font-size:.68rem;display:flex;position:absolute;bottom:45px;right:55px}.certificate-verification code{color:var(--ink)}.certificate-actions{justify-content:space-between;align-items:center;gap:20px;width:min(1100px,100%);margin:22px auto 0;display:flex}.certificate-actions p{color:var(--muted);margin:0;font-size:.82rem}@media (max-width:760px){.course-ledger{grid-template-columns:1fr;gap:32px}.course-score{text-align:left;align-items:flex-start}.learning-record-item{grid-template-columns:42px 1fr}.learning-record-item .button{grid-column:2;justify-self:start}.certificate-callout{grid-template-columns:1fr;padding:24px}.certificate-form{grid-template-columns:1fr}.certificate-form label{grid-column:auto}.certificate-lock{justify-self:start}.teacher-summary{grid-template-columns:1fr}.teacher-summary div{border-right:0;border-bottom:1px solid var(--line)}.ledger-heading{display:block}.ledger-heading>p{margin-top:14px}.demo-banner{flex-direction:column;align-items:flex-start}.certificate-page{padding:24px 12px}.certificate-sheet{min-height:600px;padding:48px 28px}.certificate-verification{word-break:break-all;align-items:center;margin-top:55px;position:static}.certificate-actions{flex-direction:column;align-items:stretch}.certificate-actions .button{width:100%}}@media print{.header,footer,.certificate-actions,.skip{display:none!important}.certificate-page{background:#fff;min-height:0;padding:0}.certificate-sheet{width:100%;min-height:190mm;box-shadow:none;page-break-inside:avoid;border:8px solid #fff}}.management-strip{border-block:1px solid var(--ink);grid-template-columns:repeat(3,minmax(130px,180px)) 1fr;align-items:stretch;margin-bottom:64px;display:grid}.management-strip div{border-right:1px solid var(--line);padding:24px}.management-strip span,.management-strip strong{display:block}.management-strip span{color:var(--muted);font-size:.78rem}.management-strip strong{color:var(--blue);font-family:var(--display);margin-top:4px;font-size:3.2rem;line-height:1}.management-strip p{max-width:34ch;color:var(--muted);align-self:center;margin:0 0 0 auto;padding:24px;font-size:.86rem}.management-table-wrap{border-top:1px solid var(--ink);overflow-x:auto}.management-table{border-collapse:collapse;background:#fff;width:100%;min-width:1040px}.management-table th,.management-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:17px 14px}.management-table th{color:var(--muted);font-size:.76rem;font-weight:600}.management-table td{font-size:.86rem}.management-table td>small{color:var(--muted);display:block}.matrix-progress{grid-template-columns:40px 100px auto;align-items:center;gap:8px;display:grid}.matrix-progress span{color:var(--blue);font-weight:600}.matrix-progress progress{width:100px;accent-color:var(--blue)}.matrix-progress small{color:var(--muted);white-space:nowrap}.catalog-readiness{border-block:1px solid var(--line);grid-template-columns:1fr 1fr;gap:60px;margin-top:72px;padding:32px 0;display:grid}.catalog-readiness h2{margin-bottom:0}.catalog-readiness>p{color:var(--muted);align-self:end;margin:0}.enterprise-signin{border-top:1px solid var(--line);margin-top:48px;padding-top:28px}.enterprise-signin h3{margin-bottom:8px;font-size:1.3rem}.enterprise-signin p{color:var(--muted);font-size:.9rem}.enterprise-signin form>label{margin-bottom:6px;font-size:.84rem;font-weight:600;display:block}.enterprise-signin form>div{gap:8px;display:flex}.enterprise-signin input{min-width:0}.enterprise-signin .button{flex:none}.enterprise-signin small{color:var(--muted);margin-top:10px;display:block}@media (max-width:800px){.management-strip{grid-template-columns:repeat(3,1fr)}.management-strip p{border-top:1px solid var(--line);grid-column:1/-1;margin:0}.catalog-readiness{grid-template-columns:1fr;gap:14px}.enterprise-signin form>div{flex-direction:column}.enterprise-signin .button{width:100%}}@media (max-width:520px){.management-strip{grid-template-columns:1fr}.management-strip div{border-right:0;border-bottom:1px solid var(--line)}}.admin-workspace{--admin-ink:#13223a}.admin-scope-note{border-left:4px solid var(--blue);background:#edf2ff;align-items:center;gap:18px;margin-bottom:22px;padding:14px 18px;display:flex}.admin-scope-note strong{flex:none}.admin-scope-note span{color:var(--muted);font-size:.86rem}.admin-summary{border-block:1px solid var(--admin-ink);grid-template-columns:repeat(3,minmax(130px,180px)) 1fr;margin-bottom:52px;display:grid}.admin-summary div{border-right:1px solid var(--line);padding:22px 24px}.admin-summary span,.admin-summary strong{display:block}.admin-summary span{color:var(--muted);font-size:.78rem}.admin-summary strong{color:var(--blue);font-family:var(--display);font-size:3.2rem;line-height:1}.admin-summary p{color:var(--muted);place-self:center end;margin:0;padding:22px 0 22px 24px;font-size:.86rem}.admin-control-grid{border:1px solid var(--admin-ink);background:#fff;grid-template-columns:1fr 1.15fr;display:grid}.admin-panel{grid-template-rows:auto 1fr;gap:26px;padding:32px;display:grid}.admin-panel:nth-child(2n){border-left:1px solid var(--admin-ink)}.admin-panel:nth-child(n+3){border-top:1px solid var(--admin-ink)}.admin-panel-accent{background:#edf2ff}.admin-panel h2{font-family:var(--display);margin:8px 0 10px;font-size:2.25rem}.admin-panel>div>p{color:var(--muted);font-size:.9rem}.control-index{color:var(--blue);font-size:.78rem;font-weight:600}.admin-form{align-self:end;gap:8px;display:grid}.admin-form>label,.admin-form-columns label{font-size:.82rem;font-weight:600}.admin-form input,.admin-form select{width:100%;min-height:46px;color:var(--ink);font:inherit;background:#fff;border:1px solid #84929d;border-radius:4px;margin-bottom:8px;padding:9px 11px}.admin-form .button{justify-self:start;margin-top:8px}.admin-form-columns{grid-template-columns:1fr 1fr;gap:12px;display:grid}.admin-form .form-error,.admin-form .form-success{background:0 0;border:0;min-height:24px;margin:8px 0 0;padding:0;font-size:.82rem}.admin-form .form-success{color:#145232}.admin-directory{margin-top:72px}.admin-table-wrap{border-top:1px solid var(--admin-ink);overflow-x:auto}.admin-table{border-collapse:collapse;background:#fff;width:100%;min-width:1100px}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:17px 14px}.admin-table th{color:var(--muted);font-size:.76rem;font-weight:600}.admin-table td{font-size:.86rem}.admin-table td>small,.admin-table td>strong{display:block}.admin-table td>small{color:var(--muted)}.account-state{color:#7a271a;border-left:2px solid #b42318;width:max-content;margin-top:7px;padding-left:10px;font-size:.72rem;display:block}.account-state.is-confirmed{color:#145232;border-color:#1d7a47}.my-courses{margin-block:2.5rem}.my-courses .course-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.my-courses .course{max-width:620px}.my-courses progress{width:100%;height:8px;accent-color:var(--blue);margin-block:1rem}.my-courses progress::-webkit-progress-bar{background:#dce3ee;border-radius:4px}.my-courses progress::-webkit-progress-value{background:var(--blue);border-radius:4px}.my-courses article[aria-current=true]{border:2px solid var(--blue)}.role-badge{color:#52606b;border:1px solid #c7ced6;border-radius:3px;padding:4px 8px;font-size:.74rem;display:inline-block}.role-super_admin{border-color:var(--blue);background:var(--blue);color:#fff}.role-teacher,.role-manager{color:#1438b0;background:#eaf0ff;border-color:#8aa4ef}.role-employee,.role-organization_admin{color:#145232;background:#edf8f1;border-color:#a8c9b7}.organization-register{border-block:1px solid var(--line);grid-template-columns:260px 1fr;gap:48px;margin-top:72px;padding-block:30px;display:grid}.organization-register h2{margin:0}.organization-register ul{margin:0;padding:0;list-style:none}.organization-register li{border-bottom:1px solid var(--line);grid-template-columns:1fr 120px 100px;gap:20px;padding:16px 0;display:grid}.organization-register li:last-child{border:0}.organization-register strong,.organization-register small{display:block}.organization-register small,.organization-register li>span{color:var(--muted);font-size:.82rem}.department-register{border-bottom:1px solid var(--line);grid-template-columns:260px 1fr;gap:48px;margin-top:42px;padding-block:30px;display:grid}.department-register h2{margin:0}.department-register ul{margin:0;padding:0;list-style:none}.department-register li{border-bottom:1px solid var(--line);grid-template-columns:1fr repeat(3,100px);gap:16px;padding:16px 0;display:grid}.department-register li:last-child{border:0}.department-register strong,.department-register small{display:block}.department-register small,.department-register li>span{color:var(--muted);font-size:.82rem}@media (max-width:900px){.admin-summary{grid-template-columns:repeat(3,1fr)}.admin-summary p{grid-column:1/-1;justify-self:start;padding:18px 0}.admin-control-grid{grid-template-columns:1fr}.admin-panel:nth-child(2n){border-left:0}.admin-panel:nth-child(n+2){border-top:1px solid var(--admin-ink)}.organization-register,.department-register{grid-template-columns:1fr;gap:20px}}@media (max-width:600px){.admin-summary{grid-template-columns:1fr}.admin-summary div{border-right:0;border-bottom:1px solid var(--line)}.admin-form-columns{grid-template-columns:1fr;gap:0}.admin-panel{padding:24px}.admin-scope-note{flex-direction:column;align-items:flex-start;gap:4px}.organization-register li,.department-register li{grid-template-columns:1fr 1fr}.organization-register li div,.department-register li div{grid-column:1/-1}}@property --tw-border-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}
