.social-icon{display:inline-block;vertical-align:-3px;flex:none}.about-thesis{position:relative;display:grid;grid-template-rows:auto auto;box-sizing:border-box;overflow:hidden}.about-thesis .thesis-body{position:relative;z-index:1;pointer-events:none;box-sizing:border-box;width:100%;max-width:1280px;margin:-48px auto 0;padding:0 clamp(24px,4.5vw,52px) clamp(40px,7vh,72px);display:flex;gap:clamp(24px,3.4vw,44px);align-items:flex-end;flex-wrap:wrap}.about-thesis .portrait{flex:0 0 auto;display:block;width:222px;height:281px;object-fit:cover;border:1px solid var(--line);border-radius:14px;filter:contrast(1.02) saturate(.96) brightness(1.03)}:root[data-theme=night] .about-thesis .portrait{filter:contrast(1.03) saturate(.9) brightness(.92)}.about-thesis .claim{flex:1 1 460px;min-width:0}.about-thesis h1{margin:0;font-size:var(--fs-title);font-weight:600;line-height:1.05;letter-spacing:-.03em;text-wrap:balance;max-width:880px}.about-thesis .now .updated{color:var(--dim)}.about-thesis .full-name{margin:6px 0 0;font-size:var(--fs-sm);line-height:var(--lh-sm);color:var(--dim)}.about-thesis .role{margin:12px 0 0;font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:500;letter-spacing:-.01em;color:var(--ink)}.about-thesis .lede{margin:14px 0 0;font-size:var(--fs-lede);line-height:var(--lh-lede);color:var(--dim);max-width:36em;text-wrap:pretty}.about-thesis .now{margin:14px 0 0;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink)}.about-thesis .now b{margin-right:8px;font-size:var(--fs-xs);font-weight:500;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--accent)}.about-thesis .reach{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0;padding:0;list-style:none;pointer-events:auto}.about-thesis .reach a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-pill);font-size:var(--fs-md);color:var(--ink);text-decoration:none;transition:border-color var(--dur-hover) var(--ease-out),color var(--dur-hover) var(--ease-out)}.about-thesis .reach a span{color:var(--faint)}.about-thesis .reach a:hover{border-color:var(--accent);color:var(--accent)}.about-thesis .reach :global(svg){width:16px;height:16px}.about-thesis .motto{margin:18px 0 0;font-size:16px;line-height:1.6;font-style:italic;color:var(--dim2);max-width:560px}.about-wrap{box-sizing:border-box;max-width:1180px;margin:0 auto;padding:0 clamp(24px,4.5vw,52px)}.about-section{position:relative;padding:clamp(80px,14vh,150px) 0 0}.about-wrap>.about-section:first-child{padding-top:clamp(40px,7vh,72px)}.about-section.tight{padding-top:clamp(70px,12vh,120px)}.about-section .section-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:18px;font-family:var(--font-sans);font-size:var(--fs-xs);letter-spacing:var(--track-caps);font-weight:500;line-height:var(--lh-xs)}.about-section .section-head h2{margin:0;font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:600;letter-spacing:-.01em;font-family:var(--font-serif);color:var(--ink)}.about-section .section-note{color:var(--faint)}.skill-map{padding:0}.skill-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:14px 32px;align-items:start;padding:16px 24px}.skill-row+.skill-row{border-top:1px solid var(--line)}.skill-copy strong{display:block;font-size:var(--fs-lede);font-weight:600;color:var(--ink)}.skill-copy p{margin:6px 0 0;font-size:var(--fs-md);line-height:1.55;color:var(--dim)}.skill-copy .sk-look{margin-top:8px;font-size:var(--fs-md);color:var(--dim2)}.skill-copy .sk-look a{color:var(--ink);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--ink) 30%,transparent);text-underline-offset:3px}.skill-copy .sk-look a:hover{color:var(--accent);text-decoration-color:currentColor}.skill-cases{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:var(--fs-body);line-height:var(--lh-body)}.skill-cases a{color:var(--ink);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--ink) 30%,transparent);text-underline-offset:3px}.skill-cases a:hover,.skill-cases a:focus-visible{color:var(--accent);text-decoration-color:currentColor}@media(max-width:760px){.skill-row{grid-template-columns:1fr;padding:18px 16px}}.about-card{border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden;box-shadow:0 22px 50px -34px var(--shadow)}.chapter{border-bottom:1px solid var(--hairline)}.chapter:last-child{border-bottom:none}.chapter>summary{display:flex;align-items:baseline;gap:clamp(16px,2.4vw,32px);flex-wrap:wrap;box-sizing:border-box;padding:clamp(20px,2.4vw,28px) clamp(20px,2.6vw,34px);cursor:pointer;list-style:none;color:var(--ink)}.chapter>summary::-webkit-details-marker{display:none}@media(hover:hover)and (pointer:fine){.chapter>summary:hover{background:var(--hoverbg)}}.chapter>summary:focus-visible{outline-offset:-3px}@supports (interpolate-size: allow-keywords){.chapter{interpolate-size:allow-keywords}.chapter::details-content{block-size:0;overflow:clip;transition:block-size var(--dur-panel) var(--ease-out),content-visibility var(--dur-panel) allow-discrete}.chapter[open]::details-content{block-size:auto}@media(prefers-reduced-motion:reduce){.chapter::details-content{transition:none}}}.chapter .years{font-family:var(--font-sans);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--faint);flex:0 0 88px}.chapter .title{font-family:var(--font-serif);font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:600;letter-spacing:-.01em;flex:0 0 auto;min-width:230px}.chapter .summary{flex:1 1 260px;min-width:200px;font-size:var(--fs-body);line-height:1.55;color:var(--dim2)}.chapter .sign{flex:0 0 auto;margin-left:auto;align-self:center;width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line);border-radius:999px;color:var(--faint);font-size:var(--fs-body);line-height:1}.chapter .sign:before,.chapter .sign:after{content:"";grid-area:1 / 1;width:10px;height:1.5px;border-radius:1px;background:currentColor;transition:transform var(--dur-ui) var(--ease-out)}.chapter .sign:after{transform:rotate(90deg)}.chapter[open] .sign:after{transform:rotate(0)}@media(prefers-reduced-motion:reduce){.chapter .sign:after{transition:none}}.chapter .chapter-body{display:flex;gap:clamp(32px,5vw,72px);align-items:flex-start;flex-wrap:wrap;padding:clamp(14px,1.8vw,20px) clamp(20px,2.6vw,34px) clamp(30px,3.6vw,42px);background:var(--surface2)}.chapter .prose{flex:1 1 440px;min-width:0;max-width:620px;font-size:var(--fs-lede);line-height:1.78;padding-top:4px}.chapter .prose p{margin:0 0 22px}.chapter .prose p:last-child{margin-bottom:0}.chapter .prose .coda{color:var(--dim)}.chapter .tally{flex:0 0 auto;display:flex;flex-direction:column;gap:18px;font-family:var(--font-sans);font-variant-numeric:tabular-nums;padding-top:8px}.chapter .tally .group{display:flex;flex-direction:column;gap:10px}.chapter .tally .marks{display:grid;grid-template-columns:repeat(10,12px);gap:5px}.chapter .tally .marks i{width:12px;height:12px;box-sizing:border-box;display:block}.chapter .tally .marks i.solid{background:var(--ink)}.chapter .tally .marks i.outline{border:1px solid var(--dim)}.chapter .tally .marks i.cross{display:grid;place-items:center;color:var(--faint);opacity:.5;font-size:12px;line-height:1;font-style:normal}.chapter .tally .group>span{font-size:var(--fs-xs);letter-spacing:.16em;color:var(--dim)}.chapter .tally .group.muted>span{color:var(--faint);opacity:.8}.register-row{display:grid;grid-template-columns:minmax(92px,.5fr) minmax(0,1.15fr) minmax(0,1.1fr) minmax(0,1.4fr);gap:12px clamp(18px,2.4vw,34px);align-items:baseline;padding:clamp(18px,2.2vw,26px) clamp(20px,2.6vw,34px);border-bottom:1px solid var(--hairline)}.register-row:last-child{border-bottom:none}.register-row.head{padding:16px clamp(20px,2.6vw,34px);border-bottom:1px solid var(--line);font-family:var(--font-sans);font-size:var(--fs-xs);letter-spacing:var(--track-caps);color:var(--faint);font-weight:500;line-height:var(--lh-xs)}.register-row .years{font-family:var(--font-sans);font-size:var(--fs-md);color:var(--accent);letter-spacing:0;font-variant-numeric:tabular-nums}.register-row .role{font-size:18px;font-weight:600;letter-spacing:-.015em}.register-row .org{display:flex;align-items:center;gap:10px;font-size:var(--fs-body);color:var(--dim2)}.register-row .mark{flex:none;width:28px;height:28px;box-sizing:border-box;border:1px solid var(--line);border-radius:7px;background:#fff;object-fit:contain;padding:3px}.register-row .mark.mono{display:grid;place-items:center;padding:0;background:var(--surface);font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:500;letter-spacing:.02em;color:var(--accent)}.register-row .note{margin:0;font-size:var(--fs-body);line-height:1.55;color:var(--dim2)}.register-row .note a{text-decoration:underline;text-underline-offset:3px}.elsewhere-list{display:flex;flex-direction:column;gap:12px}a.elsewhere-row{display:flex;align-items:center;gap:clamp(16px,2.4vw,28px);padding:clamp(16px,1.8vw,22px) clamp(18px,2.2vw,26px);border:1px solid var(--line);border-radius:14px;background:var(--surface2);color:var(--ink);box-shadow:0 18px 40px -34px var(--shadow)}a.elsewhere-row:hover,a.elsewhere-row:focus-visible{border-color:var(--accent);background:var(--surface);color:var(--ink)}.elsewhere-row .mark{flex:0 0 auto;width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--accent)}.elsewhere-row .label{flex:0 0 auto;min-width:130px;font-size:var(--fs-lede);font-weight:600;letter-spacing:-.015em}.elsewhere-row .desc{flex:1 1 auto;text-align:center;font-size:var(--fs-body);color:var(--dim2)}@media(max-width:860px){.chapter>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;align-items:center}.chapter>summary .years{grid-column:1}.chapter>summary .title{grid-column:1}.chapter>summary .sign{grid-column:2;grid-row:1 / span 2;margin:0}.chapter>summary .summary{grid-column:1 / -1;margin-top:6px}.about-thesis .portrait{width:132px;height:167px}.chapter .title{min-width:0;flex:1 1 auto}.chapter .summary{flex:1 1 100%}.register-row{grid-template-columns:1fr;gap:6px}.register-row.head{display:none}a.elsewhere-row{flex-wrap:wrap}.elsewhere-row .label{min-width:0}.elsewhere-row .desc{flex:1 1 100%;text-align:left}}
