:root{color-scheme:light dark;--color-bg:#f5f6f8;--color-surface:#eaedf1;--color-fg:#1b2430;--color-muted:#5b6472;--color-accent:#1e3a5f;--color-accent-fg:#fff;--color-border:#dbe0e6;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-script:"Caveat", "Segoe Script", cursive;--text-sm:.9rem;--text-base:1.0625rem;--text-lg:1.2rem;--text-h3:1.4rem;--text-h2:2rem;--text-h1:3.2rem;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2.5rem;--space-5:4rem;--measure:700px;--content-width:1080px;--radius-sm:8px;--radius:14px;--radius-lg:22px;--radius-full:999px;--shadow-sm:0 2px 6px #141e3214;--shadow-md:0 10px 30px #141e321f}@media (prefers-color-scheme:dark){:root{--color-bg:#12161d;--color-surface:#1a212b;--color-fg:#e8ecf1;--color-muted:#98a2b0;--color-accent:#7fa4cc;--color-accent-fg:#0d1520;--color-border:#2a323f;--shadow-sm:0 2px 6px #0000004d;--shadow-md:0 10px 30px #0006}}:root[data-theme=dark]{--color-bg:#12161d;--color-surface:#1a212b;--color-fg:#e8ecf1;--color-muted:#98a2b0;--color-accent:#7fa4cc;--color-accent-fg:#0d1520;--color-border:#2a323f;--shadow-sm:0 2px 6px #0000004d;--shadow-md:0 10px 30px #0006}:root[data-theme=light]{--color-bg:#f5f6f8;--color-surface:#eaedf1;--color-fg:#1b2430;--color-muted:#5b6472;--color-accent:#1e3a5f;--color-accent-fg:#fff;--color-border:#dbe0e6;--shadow-sm:0 2px 6px #141e3214;--shadow-md:0 10px 30px #141e321f}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-fg);background:var(--color-bg);margin:0;line-height:1.65}a{color:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.site-header{top:var(--space-2);z-index:10;padding:0 var(--space-3);position:sticky}.site-header nav{max-width:var(--content-width);gap:var(--space-3);background:color-mix(in srgb, var(--color-bg) 85%, transparent);backdrop-filter:saturate(180%)blur(10px);border:1px solid var(--color-border);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);align-items:center;margin:0 auto;padding:.6rem .6rem .6rem 1.25rem;display:flex}.site-header .brand{letter-spacing:-.01em;margin-right:auto;font-weight:700;text-decoration:none}.site-header a{color:var(--color-muted);font-size:var(--text-sm);border-bottom:2px solid #0000;padding:.25rem 0;font-weight:600;text-decoration:none;transition:color .15s,border-color .15s}.site-header a:hover,.site-header a[aria-current=page]{color:var(--color-fg)}.site-header a[aria-current=page]{border-bottom-color:var(--color-accent)}.site-header .nav-cta{color:var(--color-accent-fg);background:var(--color-accent);border-radius:var(--radius-full);border-bottom:none;padding:.5rem 1.1rem}.site-header .nav-cta:hover{color:var(--color-accent-fg);opacity:.9}main{max-width:var(--content-width);padding:var(--space-5) var(--space-3);min-height:calc(100vh - 220px);margin:0 auto}.site-footer{border-top:1px solid var(--color-border);margin-top:var(--space-5)}.site-footer .footer-inner{max-width:var(--content-width);padding:var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:0 auto;display:flex}.site-footer p{color:var(--color-muted);font-size:var(--text-sm);margin:0}.site-footer .footer-social{gap:var(--space-2);margin:0;padding:0;list-style:none;display:flex}.site-footer .footer-social a{color:var(--color-muted);font-size:var(--text-sm);font-weight:600;text-decoration:none}.site-footer .footer-social a:hover{color:var(--color-accent)}h1,h2,h3,h4{letter-spacing:-.02em;font-weight:750;line-height:1.15}h1{font-size:var(--text-h1);margin:0 0 var(--space-2)}h2{font-size:var(--text-h2);margin:0 0 var(--space-2)}h3{font-size:var(--text-h3);margin:var(--space-4) 0 var(--space-1)}h4{font-size:var(--text-lg);margin:var(--space-3) 0 var(--space-1)}p{max-width:var(--measure)}.lede{font-size:var(--text-lg);color:var(--color-muted);max-width:var(--measure)}.muted{color:var(--color-muted)}ul,ol{max-width:var(--measure);margin:var(--space-2) 0;padding-left:1.25rem}li{margin-bottom:.5rem}li:last-child{margin-bottom:0}.table-wrap{margin:var(--space-3) 0;border:1px solid var(--color-border);border-radius:var(--radius);overflow-x:auto}code{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;padding:.15em .4em;font-family:SF Mono,Fira Code,Menlo,Consolas,monospace;font-size:.9em}.code-block{margin:var(--space-3) 0;border-radius:var(--radius);border:1px solid var(--color-border);background:#0d1117;overflow:hidden}.code-block-header{font-family:var(--font-sans);color:#8b949e;letter-spacing:.04em;text-transform:uppercase;background:#161b22;border-bottom:1px solid #30363d;justify-content:space-between;align-items:center;padding:.5rem 1rem;font-size:.72rem;font-weight:700;display:flex}.code-block pre{margin:0;padding:1rem 1.25rem;overflow-x:auto}.code-block code{color:#c9d1d9;white-space:pre;background:0 0;border:none;padding:0;font-family:SF Mono,Fira Code,Menlo,Consolas,monospace;font-size:.8rem;line-height:1.65}table{border-collapse:collapse;width:100%;font-size:var(--text-sm);white-space:nowrap}th,td{text-align:left;border-bottom:1px solid var(--color-border);white-space:normal;vertical-align:top;padding:.65rem 1rem}th{background:var(--color-surface);white-space:nowrap;font-weight:700}tr:last-child td{border-bottom:none}.diagram-wrap{margin:var(--space-3) 0;padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow-x:auto}.diagram-wrap svg{width:100%;min-width:640px;height:auto;margin:0 auto;display:block}.callout{border-left:3px solid var(--color-accent);background:var(--color-surface);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-lg);max-width:var(--measure);margin:var(--space-3) 0}.eyebrow{font-size:var(--text-sm);color:var(--color-accent);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-1);font-weight:700;display:block}.page-icon{margin-bottom:var(--space-2);font-size:2.5rem;line-height:1;display:block}.accent-script{font-family:var(--font-script);color:var(--color-accent);font-size:1.15em;font-weight:600;display:inline-block;transform:rotate(-3deg)}.back-link{font-size:var(--text-sm);color:var(--color-muted);margin-bottom:var(--space-3);text-decoration:none;display:inline-block}.back-link:hover{color:var(--color-accent)}section+section{margin-top:var(--space-5)}.button{margin-top:var(--space-3);margin-right:var(--space-2);background:var(--color-accent);color:var(--color-accent-fg);border:1px solid var(--color-accent);border-radius:var(--radius-full);font-weight:700;font-size:var(--text-sm);align-items:center;gap:.4rem;padding:.75rem 1.4rem;text-decoration:none;transition:transform .15s,opacity .15s;display:inline-flex}.button:hover{opacity:.9;transform:translateY(-1px)}.button-outline{color:var(--color-fg);border-color:var(--color-border);background:0 0}.button-outline:hover{border-color:var(--color-accent);color:var(--color-accent);opacity:1}.card-grid,.topic-list{margin:var(--space-3) 0 0;gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));padding:0;list-style:none;display:grid}.topic-card{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);flex-direction:column;align-items:flex-start;gap:.4rem;height:100%;display:flex}a.topic-card{color:var(--color-fg);text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s}a.topic-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md);transform:translateY(-3px)}.topic-card .icon{font-size:1.7rem;line-height:1}.topic-card .title{font-weight:700;font-size:var(--text-lg)}.topic-card .arrow{color:var(--color-accent);font-size:var(--text-lg);align-self:flex-end;margin-top:auto}.topic-card.is-planned{color:var(--color-muted)}.topic-card.is-planned .title{color:var(--color-muted);font-weight:600}.topic-chip-grid{margin:var(--space-3) 0;gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));padding:0;list-style:none;display:grid}.topic-chip{box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);height:100%;color:var(--color-fg);align-items:center;gap:.6rem;padding:.75rem 1rem;font-weight:600;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.topic-chip:hover{border-color:var(--color-accent);transform:translateY(-2px)}.topic-chip .icon{font-size:1.3rem;line-height:1}.badge{color:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-full);white-space:nowrap;padding:.15rem .65rem;font-size:.75rem;font-weight:600;display:inline-block}.profile-header{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.profile-photo{border-radius:var(--radius-lg);object-fit:cover;border:1px solid var(--color-border);width:128px;height:128px;box-shadow:var(--shadow-md);flex-shrink:0}.logo-badge{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;padding:.35rem .6rem;display:inline-flex}.logo-badge.light{border:1px solid var(--color-border);background:#fff}.logo-badge.dark{background:#0f1720;border:1px solid #0f1720}.logo-badge.plain{border:1px solid var(--color-border)}.logo-badge img{width:auto;height:28px;display:block}.cert-badges{gap:var(--space-2);margin:var(--space-2) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.cert-badges .logo-badge img{height:44px}.timeline-header .role{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.timeline-header .logo-badge img{height:22px}.timeline-header .logo-badge .edu-icon{height:40px}.contact-links{gap:var(--space-2);margin:var(--space-1) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.contact-links a{color:var(--color-muted);font-size:var(--text-sm);border-bottom:1px solid #0000;font-weight:600;text-decoration:none;transition:color .15s,border-color .15s}.contact-links a:hover{color:var(--color-accent);border-color:var(--color-accent)}.tag-list{margin:var(--space-2) 0 0;grid-template-columns:repeat(2,1fr);gap:.6rem 1rem;padding:0;list-style:none;display:grid}.tag{box-sizing:border-box;width:100%;font-size:var(--text-sm);color:var(--color-fg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.5rem .9rem;font-weight:500;display:block}.timeline{margin-top:var(--space-3);gap:var(--space-4);flex-direction:column;display:flex}.timeline-item{padding-left:var(--space-3);border-left:2px solid var(--color-border)}.timeline-item .role{font-size:var(--text-lg);margin:0;font-weight:700}.timeline-item .org{color:var(--color-muted);font-size:var(--text-sm);margin:.15rem 0 var(--space-1)}.timeline-item .dates{color:var(--color-muted);font-size:var(--text-sm);font-weight:600}.timeline-item ul{margin:var(--space-1) 0 0;color:var(--color-muted);padding-left:1.1rem}.timeline-item li{max-width:var(--measure);margin-bottom:.4rem}.timeline-item li::marker{color:var(--color-accent)}@media (width<=480px){:root{--text-h1:2.2rem;--text-h2:1.6rem}.site-header nav{gap:var(--space-2);border-radius:var(--radius-lg);flex-wrap:wrap}.tag-list{grid-template-columns:1fr}}.ai-guide{--aig-jacket-hi:color-mix(in srgb, var(--color-accent) 88%, #fff);--aig-jacket-lo:color-mix(in srgb, var(--color-accent) 55%, #000);--aig-halo:color-mix(in srgb, var(--color-accent) 38%, transparent);right:var(--space-3,1rem);bottom:var(--space-3,1rem);z-index:60;flex-direction:column;align-items:flex-end;gap:.6rem;display:flex;position:fixed}.ai-guide-avatar{cursor:pointer;width:110px;height:187px;filter:drop-shadow(0 10px 18px #141e3242) drop-shadow(0 0 12px var(--aig-halo));background:0 0;border:none;flex:none;place-items:end center;padding:0;transition:transform .15s;display:grid}.ai-guide-avatar:hover{transform:translateY(-2px)}.ai-guide-avatar:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.ai-guide-bot{width:110px;height:187px}.ai-guide-jacket-stop-1{stop-color:var(--aig-jacket-hi)}.ai-guide-jacket-stop-2{stop-color:var(--aig-jacket-lo)}.ai-guide-antenna-line{stroke:var(--aig-jacket-lo);stroke-width:1.2px}.ai-guide-antenna{fill:var(--color-accent-fg)}.ai-guide-capsule{fill:url(#aig-jacket-grad);stroke:var(--aig-jacket-hi);stroke-width:1.2px}.ai-guide-robot-eye,.ai-guide-mouth-plate{fill:none;stroke:var(--color-accent-fg);stroke-width:2.4px;stroke-linecap:round}.ai-guide-platform-outer{fill:none;stroke:var(--color-accent);stroke-width:1.1px;opacity:.32}.ai-guide-platform-inner{fill:var(--color-accent);opacity:.16}.ai-guide-platform-light{fill:none;stroke:var(--aig-jacket-hi);stroke-width:1.8px;stroke-linecap:round;opacity:.9;stroke-dasharray:18 125}.ai-guide-rain-char{fill:var(--color-muted);opacity:.32;font-family:Courier New,monospace;font-size:6px}.ai-guide-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-sm);width:340px;max-width:calc(100vw - 2rem);height:440px;max-height:calc(100vh - 8rem);box-shadow:var(--shadow-md);flex-direction:column;display:flex;position:absolute;bottom:168px;right:0;overflow:hidden}.ai-guide-panel:after{content:"";background:var(--color-surface);border-left:1px solid var(--color-border);border-bottom:1px solid var(--color-border);width:13px;height:13px;position:absolute;bottom:-8px;left:97px;transform:rotate(-45deg)}.ai-guide-panel.is-maximized{border-radius:var(--radius-lg);width:auto;max-width:none;height:auto;max-height:none;position:fixed;inset:4vh 4vw}.ai-guide-panel.is-maximized:after,.ai-guide-panel.is-maximized .ai-guide-resize-handle{display:none}.ai-guide-panel.is-minimized{height:auto}.ai-guide-panel.is-minimized .ai-guide-messages,.ai-guide-panel.is-minimized .ai-guide-form,.ai-guide-panel.is-minimized .ai-guide-resize-handle{display:none}.ai-guide-panel.is-minimized .ai-guide-panel-header{cursor:pointer;border-bottom:none}.ai-guide-panel-header{font-family:var(--font-sans);color:var(--color-accent);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex:none;justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem .9rem;font-size:.85rem;font-weight:800;display:flex}.ai-guide-panel-header>span{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.ai-guide-panel-header>span small{color:var(--color-muted);font-size:.72rem;font-weight:600}.ai-guide-header-actions{align-items:center;gap:.15rem;display:flex}.ai-guide-clear,.ai-guide-minimize,.ai-guide-maximize{color:var(--color-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:.2rem .45rem;line-height:1}.ai-guide-clear:hover,.ai-guide-minimize:hover,.ai-guide-maximize:hover{background:var(--color-bg);color:var(--color-fg)}.ai-guide-clear:focus-visible,.ai-guide-minimize:focus-visible,.ai-guide-maximize:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.ai-guide-clear{font-size:.95rem}.ai-guide-minimize{font-size:1.15rem}.ai-guide-maximize{font-size:.85rem}.ai-guide-resize-handle{cursor:nwse-resize;touch-action:none;width:18px;height:18px;position:absolute;top:0;left:0}.ai-guide-resize-handle:before{content:"";border-top:2px solid var(--color-muted);border-left:2px solid var(--color-muted);opacity:.6;width:8px;height:8px;position:absolute;top:6px;left:6px}.ai-guide-messages{flex-direction:column;flex:1;gap:.65rem;min-height:0;padding:.9rem 1rem;display:flex;overflow-y:auto}.ai-guide-msg{font-family:var(--font-sans);border-radius:var(--radius);white-space:pre-wrap;max-width:88%;padding:.6rem .8rem;font-size:.95rem;line-height:1.55}.ai-guide-panel.is-maximized .ai-guide-msg{max-width:70ch}.ai-guide-msg.bot{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-fg);border-bottom-left-radius:var(--radius-sm);align-self:flex-start}.ai-guide-msg.user{background:var(--color-accent);color:var(--color-accent-fg);border-bottom-right-radius:var(--radius-sm);align-self:flex-end}.ai-guide-msg.pending{opacity:.6;font-style:italic}.ai-guide-form{border-top:1px solid var(--color-border);background:var(--color-surface);flex:none;gap:.5rem;padding:.7rem .8rem;display:flex}.ai-guide-input{min-width:0;font-family:var(--font-sans);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-fg);flex:1;padding:.55rem .7rem;font-size:.95rem}.ai-guide-input::placeholder{color:var(--color-muted)}.ai-guide-input:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-accent) 32%, transparent);outline:none}.ai-guide-input:disabled{opacity:.6}.ai-guide-send{border-radius:var(--radius-full);border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-accent-fg);cursor:pointer;flex:none;padding:.45rem .85rem;font-size:1rem;transition:opacity .15s,transform .15s}.ai-guide-send:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.ai-guide-send:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ai-guide-send:disabled{opacity:.5;cursor:not-allowed}.ai-guide-mouth{transform-box:fill-box;transform-origin:50%}@media (prefers-reduced-motion:no-preference){.ai-guide-avatar{animation:4s ease-in-out infinite ai-guide-idle-float}.ai-guide-platform-outer,.ai-guide-platform-inner{animation:3.4s ease-in-out infinite ai-guide-pulse}.ai-guide-platform-light{animation:4s linear infinite ai-guide-orbit}.ai-guide-rain-char{transform-box:fill-box;animation-name:ai-guide-rain-fall;animation-timing-function:linear;animation-iteration-count:infinite}.ai-guide.is-thinking .ai-guide-mouth{animation:.3s ease-in-out infinite ai-guide-talk}.ai-guide.is-thinking .ai-guide-avatar{animation:1.1s ease-in-out infinite ai-guide-bob}}@keyframes ai-guide-pulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes ai-guide-idle-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes ai-guide-talk{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.5)}}@keyframes ai-guide-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes ai-guide-orbit{0%{stroke-dashoffset:0}to{stroke-dashoffset:-143px}}@keyframes ai-guide-rain-fall{0%{opacity:0;transform:translateY(-20px)}10%{opacity:.4}85%{opacity:.4}to{opacity:0;transform:translateY(170px)}}
