:root{color-scheme:light;--color-page:#f4f1e8;--color-surface:#fffdf8;--color-evidence-surface:#e5f0ea;--color-limitation-surface:#f8ede2;--color-text:#1d2924;--color-text-secondary:#4b5c54;--color-border:#c8d1ca;--color-accent:#126a59;--color-focus:#a84708;--color-limitation-text:#7a3e12;--color-limitation-border:var(--color-focus);--font-display:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, "Noto Sans Thai", "Noto Sans", sans-serif;--font-body:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, "Noto Sans Thai", "Noto Sans", sans-serif;--font-metadata:var(--font-body);--font-technical:ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;--step--1:clamp(.82rem, .8rem + .1vw, .9rem);--step-0:clamp(1rem, .96rem + .2vw, 1.1rem);--step-1:clamp(1.2rem, 1.08rem + .58vw, 1.55rem);--step-2:clamp(1.48rem, 1.25rem + 1vw, 2.05rem);--step-3:clamp(2rem, 1.55rem + 2vw, 3.25rem);--step-4:clamp(2.6rem, 1.8rem + 3.4vw, 5rem);--space-content:clamp(.8rem, .7rem + .45vw, 1.15rem);--space-component:clamp(1.25rem, 1rem + 1.1vw, 2rem);--space-section:clamp(2.5rem, 2rem + 2.3vw, 4.5rem);--space-major:clamp(4.5rem, 3.2rem + 5vw, 8rem);--measure-reading:68ch;--measure-wide:76rem;--radius-surface:.45rem;--duration-feedback:.14s;--easing-feedback:ease-out}*,:before,:after{box-sizing:border-box}html{background:var(--color-page);color:var(--color-text);font-family:var(--font-body);text-rendering:optimizelegibility;font-size:100%;line-height:1.65}body{background:var(--color-page);min-width:18rem;margin:0}img,svg{max-width:100%;display:block}a{color:var(--color-accent);text-underline-offset:.18em;transition:color var(--duration-feedback) var(--easing-feedback), text-decoration-thickness var(--duration-feedback) var(--easing-feedback), text-underline-offset var(--duration-feedback) var(--easing-feedback), background-color var(--duration-feedback) var(--easing-feedback), border-color var(--duration-feedback) var(--easing-feedback), box-shadow var(--duration-feedback) var(--easing-feedback);text-decoration-line:underline;text-decoration-thickness:.09em}a:hover{text-underline-offset:.25em;text-decoration-thickness:.14em}:focus-visible{outline:.2rem solid var(--color-focus);outline-offset:.24rem}h1,h2,h3,h4{font-family:var(--font-display);text-wrap:balance;line-height:1.15}h1{max-width:16ch;font-size:var(--step-4);letter-spacing:-.035em;overflow-wrap:anywhere;margin-block:0}h2{font-size:var(--step-2)}h3{font-size:var(--step-1)}p,li,dd{overflow-wrap:anywhere}.skip-link{z-index:10;border:2px solid var(--color-focus);border-radius:var(--radius-surface);background:var(--color-surface);color:var(--color-text);padding:.7rem 1rem;position:fixed;inset-block-start:.75rem;inset-inline-start:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.wide-container,.page-shell{width:min(100% - 2rem, var(--measure-wide));margin-inline:auto}.site-header{border-block-end:1px solid var(--color-border);background:var(--color-page)}.site-header__inner{justify-content:space-between;align-items:center;gap:var(--space-content) var(--space-component);min-height:4.5rem;padding-block:.75rem;display:flex}.site-identity{color:var(--color-text);font-family:var(--font-display);font-size:var(--step-0);letter-spacing:-.015em;font-weight:750;text-decoration:none}.site-nav{flex-wrap:wrap;gap:.3rem;display:flex}.site-nav a{border-radius:var(--radius-surface);min-height:2.75rem;color:var(--color-text-secondary);font-family:var(--font-metadata);padding:.55rem .8rem;font-weight:600;text-decoration:none}.site-nav a[aria-current]{background:var(--color-evidence-surface);color:var(--color-text);box-shadow:inset 0 -.18rem 0 var(--color-accent);font-weight:700}.page-shell{padding-block:var(--space-major)}.page-intro{max-width:var(--measure-reading)}.context-label{color:var(--color-accent);font-family:var(--font-technical);font-size:var(--step--1);letter-spacing:.075em;text-transform:uppercase;margin-block:0 .75rem;font-weight:700}.lede{max-width:54ch;margin-block:var(--space-component) 0;font-size:var(--step-1);line-height:1.55}.orientation-grid{gap:var(--space-section);margin-block-start:var(--space-major);display:grid}.orientation-grid section{min-width:0}.orientation-grid h2,.project-list h2,.project-detail h2,.learning-list h2,.learning-detail h2{margin-block-start:0}.interest-list,.scope-list,.technology-list{margin:0;padding:0;list-style:none}.interest-list{flex-wrap:wrap;gap:.65rem;display:flex}.interest-list li{border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface);padding:.45rem .7rem}.scope-list{font-size:var(--step-1);gap:.65rem;display:grid}.primary-link{min-height:2.75rem;align-items:center;margin-block-start:var(--space-component);padding:.55rem 0;font-weight:750;display:inline-flex}.limitation-note{max-width:var(--measure-reading);padding:var(--space-component);border:1px solid var(--color-border);border-inline-start:.25rem solid var(--color-limitation-border);border-radius:var(--radius-surface);background:var(--color-limitation-surface);color:var(--color-limitation-text)}.home-boundary{margin-block-start:var(--space-section)}.home-boundary h2{margin-block-start:0}.project-list{border-block-start:1px solid var(--color-border);gap:0;margin-block-start:var(--space-section);display:grid}.project-summary{gap:var(--space-component);padding-block:var(--space-section);border-block-end:1px solid var(--color-border);display:grid}.project-summary__primary{min-width:0}.project-summary__primary>:last-child{margin-block-end:0}.project-summary h2{font-size:var(--step-3)}.project-facts{gap:var(--space-component);border-inline-start:.18rem solid var(--color-accent);margin:0;padding-inline-start:var(--space-content);display:grid}.project-facts div{min-width:0}.project-facts dt,.technology-list strong{color:var(--color-text-secondary);font-family:var(--font-metadata);font-size:var(--step--1);font-weight:750}.project-facts dt{color:var(--color-accent);letter-spacing:.035em;text-transform:uppercase}.project-facts dd{margin:.35rem 0 0}.technology-list{gap:.7rem;display:grid}.technology-list li{gap:.15rem;display:grid}.project-detail__intro{max-width:var(--measure-reading)}.project-detail__facts,.project-detail__technologies,.project-narrative{margin-block-start:var(--space-section)}.project-narrative{max-width:var(--measure-reading)}.learning-list{border-block-start:1px solid var(--color-border);gap:0;margin-block-start:var(--space-section);display:grid}.learning-summary{gap:var(--space-component);padding-block:var(--space-section);border-block-end:1px solid var(--color-border);display:grid}.learning-summary__primary,.learning-summary__context{min-width:0}.learning-summary__primary>:last-child,.learning-summary__context>:last-child{margin-block-end:0}.learning-summary h2{font-size:var(--step-3)}.learning-summary__context{align-content:start;gap:var(--space-component);display:grid}.learning-summary__context section>*{margin-block:0}.learning-summary__context section>*+*{margin-block-start:.5rem}.learning-facts,.learning-progress{gap:var(--space-component);border-inline-start:.18rem solid var(--color-accent);margin:0;padding-inline-start:var(--space-content);display:grid}.learning-facts div,.learning-progress div{min-width:0}.learning-facts dt,.learning-progress dt{color:var(--color-accent);font-family:var(--font-metadata);font-size:var(--step--1);letter-spacing:.035em;text-transform:uppercase;font-weight:750}.learning-facts dd,.learning-progress dd{margin:.35rem 0 0}.learning-gap-list{margin:0;padding-inline-start:1.25rem}.learning-gap-list li+li{margin-block-start:.45rem}.learning-detail__intro,.learning-detail__progress,.learning-narrative{max-width:var(--measure-reading)}.learning-detail__facts,.learning-detail__progress,.learning-narrative{margin-block-start:var(--space-section)}.learning-detail__progress>h2{margin-block-end:var(--space-component)}.learning-detail__gaps{margin-block-start:var(--space-component)}.learning-detail__gaps h3{margin-block-end:var(--space-content)}.prose>:first-child{margin-block-start:0}.prose>:last-child{margin-block-end:0}@media (width>=48rem){.wide-container,.page-shell{width:min(100% - 4rem, var(--measure-wide))}.orientation-grid{grid-template-columns:minmax(0,1.2fr) minmax(15rem,.8fr);align-items:start}.orientation-grid section:nth-child(2){margin-block-start:var(--space-component)}.project-summary{column-gap:var(--space-section);grid-template-columns:minmax(0,.9fr) minmax(18rem,1.1fr)}.project-facts,.learning-facts{align-content:start}.learning-summary{column-gap:var(--space-section);grid-template-columns:minmax(0,.9fr) minmax(18rem,1.1fr)}}@media (width<=31rem){.site-header__inner{flex-direction:column;align-items:flex-start}.site-nav{width:100%}.site-nav a{text-align:center;flex:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important}}
