.theme-toggle.theme-switch{background:var(--surface);color:var(--ink);border-radius:50%;transition:background .24s,border-color .24s,box-shadow .24s,transform .35s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden}.theme-toggle.theme-switch:hover{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 10%, transparent);transform:translateY(-2px)}.theme-toggle.theme-switch:active{transform:scale(.9)}.theme-switch .theme-orbit{width:22px;height:22px;transition:transform .65s cubic-bezier(.2,.8,.2,1);overflow:visible}.theme-disc{fill:currentColor;transform-origin:50%;transition:r .5s,transform .65s}.theme-rays{transform-origin:50%;transition:opacity .25s,transform .65s cubic-bezier(.2,.8,.2,1)}.theme-moon-cutout{transition:cx .5s,cy .5s}html[data-theme=light] .theme-orbit{transform:rotate(90deg)}html[data-theme=light] .theme-disc{r:8}html[data-theme=light] .theme-rays{opacity:0;transform:rotate(90deg)scale(.4)}html[data-theme=light] .theme-moon-cutout{cx:17;cy:7}.theme-switch.is-switching{animation:.65s cubic-bezier(.2,.8,.2,1) theme-button-settle}@keyframes theme-button-settle{0%,to{scale:1}25%{scale:.85}65%{scale:1.08}}html.theme-revealing::view-transition-old(root){mix-blend-mode:normal;animation:none}html.theme-revealing::view-transition-new(root){mix-blend-mode:normal;animation:none}html.theme-revealing::view-transition-new(root){z-index:1}html.theme-revealing::view-transition-old(root){z-index:0}@media (prefers-reduced-motion:reduce){.theme-toggle.theme-switch,.theme-switch *{transition:none!important;animation:none!important}.theme-toggle.theme-switch:hover,.theme-toggle.theme-switch:active{transform:none}}.theme-wash{z-index:2000;pointer-events:none;background:#0d0e10;border-radius:50%;animation:.72s cubic-bezier(.22,.68,0,1) both theme-wash-expand;position:fixed}.theme-wash[data-target-theme=light]{background:#f6f7f9}@keyframes theme-wash-expand{0%{opacity:1;transform:scale(0)}58%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.theme-wash{display:none}}
:root{--site-header-height:92px;--sticky-content-top:calc(var(--site-header-height) + 20px)}html{scroll-padding-top:var(--sticky-content-top);scrollbar-gutter:stable}.site-masthead{z-index:80;height:var(--site-header-height);background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(20px);padding-block:12px;transition:background .25s,box-shadow .25s;position:sticky;top:0}.site-masthead.is-scrolled{background:color-mix(in srgb, var(--paper) 96%, transparent);box-shadow:0 1px 0 var(--line), 0 10px 30px #0000000a}.masthead-bar{border:1px solid var(--line);background:var(--surface);border-radius:18px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;height:68px;padding:8px 12px;transition:border-color .25s,background .25s;display:grid}.masthead-menu-side,.masthead-actions{align-items:center;gap:16px;min-width:0;display:flex}.masthead-actions{justify-content:flex-end;gap:10px}.masthead-menu-button{background:var(--raised);color:var(--ink);border:0;border-radius:11px;align-items:center;gap:12px;min-height:44px;padding:0 15px;font-size:14px;font-weight:550;display:flex}.masthead-menu-button:hover{background:var(--wash)}.masthead-menu-glyph{flex-direction:column;justify-content:center;gap:6px;width:20px;height:20px;display:flex}.masthead-menu-glyph i{width:20px;height:1.5px;transition:width .22s var(--ease);background:currentColor;display:block}.masthead-menu-glyph i:last-child{width:13px}.masthead-menu-button:hover .masthead-menu-glyph i:last-child{width:20px}.masthead-caption{color:var(--muted);white-space:nowrap;font-size:11px}.masthead-brand{justify-content:center;display:flex}.masthead-brand .brand{gap:9px;font-size:25px}.masthead-brand .brand-mark{background:0 0;border:0;width:33px;height:33px}.masthead-project{background:var(--ink);min-height:44px;color:var(--paper);white-space:nowrap;border-radius:11px;align-items:center;gap:16px;padding:0 16px;font-size:13px;font-weight:550;display:flex}.masthead-project:hover{opacity:.85;transform:translateY(-1px)}.masthead-project>span{font:20px/1 Arial,sans-serif}.navigation-dialog{width:100%;max-width:none;height:100%;max-height:none;padding:var(--sticky-content-top) 24px 24px;color:var(--ink);background:0 0;border:0;margin:0;position:fixed;inset:0;overflow-y:auto}.navigation-dialog::backdrop{-webkit-backdrop-filter:blur(10px);background:#0008}.navigation-sheet{border:1px solid var(--line);background:var(--surface);border-radius:24px;max-width:1000px;margin-inline:auto;padding:24px 32px 20px;box-shadow:0 30px 100px #0003}.navigation-topline{justify-content:space-between;align-items:center;gap:20px;padding-bottom:22px;display:flex}.navigation-topline p{color:var(--muted);margin:0;font-size:13px}.navigation-close{border:1px solid var(--line);background:var(--raised);width:44px;height:44px;color:var(--ink);border-radius:50%;place-items:center;font:29px/1 Arial,sans-serif;display:grid}.navigation-close:hover{background:var(--wash);transform:rotate(90deg)}.navigation-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.navigation-destination{border:1px solid var(--line);background:var(--paper);border-radius:16px;flex-direction:column;gap:7px;padding:24px;display:flex}.navigation-destination:hover,.navigation-destination[aria-current=page]{background:var(--raised);border-color:var(--accent)}.navigation-kicker{color:var(--accent);font-size:11px}.navigation-name{letter-spacing:-.035em;justify-content:space-between;align-items:center;gap:12px;font-size:clamp(24px,3vw,34px);font-weight:650;line-height:1.7;display:flex}.navigation-arrow{color:var(--muted);transition:transform .25s var(--ease), color .25s;font:26px/1 Arial,sans-serif}.navigation-destination:hover .navigation-arrow{color:var(--accent);transform:translate(-4px,-4px)}.navigation-detail{color:var(--muted);font-size:12px}.navigation-bottomline{justify-content:space-between;align-items:center;gap:12px;padding-top:24px;font-size:13px;display:flex}.navigation-bottomline>span{color:var(--muted)}.navigation-bottomline a{align-items:center;gap:14px;padding-block:8px;display:flex}.navigation-bottomline a:hover{color:var(--accent)}.navigation-dialog[open] .navigation-sheet{animation:navigation-enter .32s var(--ease) both}.navigation-dialog[open] .navigation-destination{animation:navigation-enter .4s var(--ease) var(--menu-delay) both}@keyframes navigation-enter{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.toc{top:var(--sticky-content-top);max-height:calc(100dvh - var(--sticky-content-top) - 24px)}.prose h2{scroll-margin-top:16px}.skip:focus{top:var(--sticky-content-top)}@media (max-width:900px){.masthead-caption{display:none}}@media (max-width:760px){:root{--site-header-height:80px}.site-masthead{padding-block:8px}.masthead-bar{border-radius:15px;width:calc(100% - 24px);height:64px;padding:8px}.masthead-menu-button{gap:9px;padding-inline:12px;font-size:12px}.masthead-brand .brand{gap:5px;font-size:22px}.masthead-brand .brand-mark{width:26px;height:30px}.masthead-brand .brand-mark svg{width:23px;height:23px}.masthead-project{display:none}.masthead-actions .theme-toggle{width:44px;height:44px}.navigation-dialog{padding:88px 12px 20px}.navigation-sheet{border-radius:20px;padding:16px}.navigation-topline{padding-bottom:16px}.navigation-grid{grid-template-columns:1fr;gap:8px}.navigation-destination{gap:3px;padding:14px 18px}.navigation-name{font-size:25px}.navigation-bottomline{flex-direction:column;align-items:flex-start;gap:0;padding-top:18px}}@media (prefers-reduced-motion:reduce){.site-masthead,.masthead-bar,.masthead-menu-glyph i,.navigation-dialog *,.masthead-project{transition:none!important;animation:none!important}.navigation-close:hover,.navigation-destination:hover .navigation-arrow,.masthead-project:hover{transform:none}}
@media (hover:hover) and (prefers-reduced-motion:no-preference){.course-card,.learning-card,.service-row{transition:border-color .25s var(--ease), background .25s var(--ease), box-shadow .25s var(--ease)}.course-card:hover,.learning-card:hover{border-color:var(--accent);box-shadow:0 6px 22px #0000000a}.service-detail .arrow,.hero-actions .arrow{transition:transform .22s var(--ease)}.service-detail:hover .arrow,.hero-actions a:hover .arrow{transform:translate(-4px)}.button:active{transform:scale(.98)}}
.brand .brand-mark{isolation:isolate;position:relative}.brand .brand-edge{border:1px solid var(--accent);opacity:.28;pointer-events:none;border-radius:10px;animation:6s ease-in-out infinite brand-edge-breathe;position:absolute;inset:-3px}.brand .brand-mark svg{z-index:1;position:relative}.brand-n-glint{stroke-dasharray:10 78;stroke-dashoffset:88px;opacity:0;animation:6s ease-in-out infinite brand-line-travel}.brand:hover .brand-edge,.brand:focus-visible .brand-edge{opacity:.8}.brand:hover .brand-mark svg{transform:translateY(-1px)}.brand .brand-mark svg{transition:transform .25s var(--ease)}html[data-theme=dark] .brand-n-glint{color:#f0f7ff}html[data-theme=light] .brand-n-glint{color:var(--ink)}@keyframes brand-edge-breathe{0%,to{opacity:.18;transform:scale(.94)}50%{opacity:.5;transform:scale(1)}}@keyframes brand-line-travel{0%,35%{opacity:0;stroke-dashoffset:88px}40%,75%{opacity:.9}85%,to{opacity:0;stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.brand .brand-edge,.brand-n-glint{animation:none}.brand-n-glint{display:none}.brand .brand-mark svg{transition:none}.brand:hover .brand-mark svg{transform:none}}
