.reader-open{font:500 13px/1.3 sans-serif;min-height:44px;padding:8px 10px;background:transparent;color:inherit;border:1px solid currentColor;border-radius:8px;cursor:pointer;flex-shrink:0}
.site-chrome .reader-open{position:absolute;left:8px;top:50%;transform:translateY(-50%);border:0;color:var(--cobalt);font-size:12px;padding:4px}
.reader-panel{box-sizing:border-box;width:calc(100% - 32px);max-width:420px;max-height:calc(100dvh - 32px);overflow:auto;margin:auto;padding:24px;border:1px solid var(--muted);border-radius:16px;background:var(--paper);color:var(--ink);font:400 16px/1.5 sans-serif;overscroll-behavior:contain}
.reader-panel::backdrop{background:rgba(0,0,0,.55)}
.reader-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.reader-panel h2{font:600 24px/1.2 sans-serif;margin:0;letter-spacing:normal}
.reader-panel p{margin:16px 0;color:inherit;font-size:16px}
.reader-panel label{display:block;margin-top:18px;font-weight:600}
.reader-panel select{box-sizing:border-box;width:100%;min-height:48px;margin-top:6px;padding:8px;border:1px solid var(--muted);border-radius:6px;background:var(--paper);color:var(--ink);font:inherit}
.reader-panel button{min-height:44px;padding:8px 12px;border:1px solid var(--muted);border-radius:6px;background:var(--paper);color:var(--ink);font:inherit;cursor:pointer}
.reader-panel .reader-check{display:flex;align-items:center;gap:12px;min-height:44px;font-weight:400}
.reader-panel input{width:22px;height:22px;accent-color:var(--cobalt,var(--blue))}
.reader-panel [data-reader-reset]{margin-top:20px}
.reader-panel .reader-status{margin:8px 0 0;min-height:24px;font-size:14px}
.reader-open:focus-visible,.reader-panel :focus-visible{outline:3px solid var(--cobalt,var(--blue));outline-offset:3px}
html[data-reader-links='true'] a{text-decoration:underline!important;text-underline-offset:.2em}
html[data-reader-motion='reduce']{scroll-behavior:auto!important}
html[data-reader-motion='reduce'] *,html[data-reader-motion='reduce'] *::before,html[data-reader-motion='reduce'] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-reader-motion='reduce'] .reveal{opacity:1!important;transform:none!important}
/* Personal-site integration; AFTER retains its own palette and text-size scale. */
html.reader-ready .masthead .motion-toggle{display:none}
html.reader-ready .masthead{flex-wrap:wrap}
html[data-textsize='larger'] body:not(:has(.site-chrome)){font-size:20px}
html[data-textsize='larger'] body:not(:has(.site-chrome)) :is(.about-copy p,.project-copy>p,.timeline p,.inquiry p,.profile-content p,.profile-content dd,.education-grid){font-size:20px!important}
html[data-theme='dark'] body:not(:has(.site-chrome)){--paper:#101925;--ink:#e8edf5;--muted:#b9c5d5;--blue:#a7c9ff;--line:#435268;--sc-canvas:#101925;--sc-ink:#e8edf5;color:var(--ink);background:var(--paper);color-scheme:dark}
html[data-theme='dark'] body:not(:has(.site-chrome)) :is(.work,.after-visual){background:#1b293b}
html[data-theme='dark'] body:not(:has(.site-chrome)) .timeline-type{color:#f0b6bf}
html[data-theme='dark'] body:not(:has(.site-chrome)) .timeline li:after{background:#f0b6bf}
html[data-theme='dark'] body:not(:has(.site-chrome)) :is(.masthead,.opening,.inquiry,footer){--paper:#faf9f6}
html[data-theme='dark']:not(:has(.site-chrome)) .reader-panel{--paper:#101925;--ink:#e8edf5;--muted:#b9c5d5;--blue:#a7c9ff;color-scheme:dark}
@media(max-width:700px){html.reader-ready .masthead{height:auto;min-height:86px;row-gap:8px;padding-block:12px}.masthead .reader-open{font-size:12px;padding:6px}.masthead nav{flex-wrap:wrap}.reader-panel{padding:20px}}
@media print{.reader-open,.reader-panel{display:none!important}}
.education{padding-block:30px 90px}
.education h2{font-size:clamp(32px,4vw,48px);line-height:1.15;margin-bottom:32px}
.education-grid{margin:0;font-size:18px}
.education-row{display:grid;grid-template-columns:1fr 1.4fr auto;gap:28px;align-items:start;padding:24px 0;border-top:1px solid var(--line)}
.education-row:last-child{border-bottom:1px solid var(--line)}
.education-row dt{font-weight:600}.education-row dd{margin:0}.education-row time{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.education-row small{display:block;margin-top:8px;font-size:15px;color:var(--muted);line-height:1.6}
@media(max-width:600px){.education-row{grid-template-columns:1fr;gap:8px}.education-row time{font-size:16px}.education{padding-bottom:64px}}
