:root{color-scheme:light;--bg:#faf8f3;--ink:#2d302d;--muted:#777970;--line:#d7d4ca;--accent:#a54937;--body:-apple-system,BlinkMacSystemFont,'Helvetica Neue','Hiragino Kaku Gothic ProN',sans-serif;--display:'Iowan Old Style','Palatino Linotype','Yu Mincho',YuMincho,serif;--mono:'SFMono-Regular',Consolas,monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button{cursor:pointer}a:hover,button:hover{color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}.site{max-width:1000px;margin:auto;padding:0 48px}.skip{position:absolute;top:-100px;left:15px;background:var(--ink);color:var(--bg);padding:10px;z-index:20}.skip:focus{top:10px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0 21px;border-bottom:1px solid var(--line)}.brand{font-family:var(--display);font-size:25px;font-weight:500;letter-spacing:-.04em}nav{display:flex;align-items:center;gap:23px;font-size:11px}nav a{padding:5px 0}nav a[aria-current]{color:var(--accent)}.subscribe{font-size:10px;color:var(--muted)}.theme-toggle{display:grid;place-items:center;background:none;border:1px solid var(--line);border-radius:50%;width:29px;height:29px;padding:0;font-size:16px}.controls{display:flex;align-items:center;gap:17px;padding:20px 0 8px;font-size:11px}.sort,.filters{display:flex;gap:17px}.controls button{background:none;border:0;padding:5px 0;color:var(--muted);min-height:30px}.controls button[aria-pressed=true]{color:var(--accent);font-weight:600}.divider{color:var(--line)}.year-section{margin:14px 0 24px}.year-section>h2{display:flex;align-items:center;gap:16px;font-family:var(--display);font-size:23px;font-weight:400;margin:0 0 13px}.year-section>h2:after{content:'';height:1px;background:var(--line);flex:1}.timeline-row{display:grid;grid-template-columns:64px 1fr;gap:17px;padding:8px 0;align-items:baseline}.timeline-row time{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.timeline-row h3{font-size:14px;font-weight:400;line-height:1.8;letter-spacing:-.015em;margin:0}.note-trigger{display:flex;justify-content:space-between;align-items:baseline;gap:15px;background:none;border:0;padding:0;text-align:left;width:100%;font:inherit}.note-trigger span{font-size:11px;color:var(--muted)}.note-body{font-size:12px;line-height:2;border-left:1px solid var(--line);padding-left:15px;margin:12px 0}.note-body a{font-size:10px;color:var(--accent)}.note-body p{margin:10px 0}.search{display:flex;align-items:center;gap:10px;color:var(--muted);margin-top:26px}.search input{border:0;border-bottom:1px solid var(--line);background:none;width:180px;font-size:11px;padding:7px 0}.search input::placeholder{color:var(--muted)}.empty{font-size:12px;color:var(--muted);padding:20px 0}.event-row{grid-template-columns:64px 30px 1fr;gap:17px;padding:9px 0}.event-row p{font-size:12px;line-height:1.9;margin:0}.event-row strong{font-weight:550;margin-right:12px}.event-text{color:var(--muted)}.kind{font-size:9px;color:var(--muted);white-space:nowrap}.kind.start{color:#60804c}.kind.pause{color:#9c783b}.kind.end{color:#9b6561}footer{display:flex;justify-content:space-between;gap:20px;margin-top:42px;padding:18px 0 25px;border-top:1px solid var(--line);font-size:9px;color:var(--muted)}footer div{display:flex;gap:20px}.frame-corner{display:none}
:root[data-theme=dark]{color-scheme:dark;--bg:#0a1219;--ink:#dbe9eb;--muted:#8ca6ae;--line:#29454e;--accent:#73f4cf;--display:var(--mono)}[data-theme=dark] body{background-image:linear-gradient(#6cefd006 1px,transparent 1px),linear-gradient(90deg,#6cefd006 1px,transparent 1px);background-size:38px 38px}[data-theme=dark] header{border-bottom-color:var(--accent)}[data-theme=dark] .brand{font-family:var(--mono);text-transform:uppercase;font-size:20px;letter-spacing:-.06em;font-weight:600}[data-theme=dark] nav{font-family:var(--mono);font-size:10px}[data-theme=dark] .theme-toggle{border-radius:0;background:#142a32;clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,0 100%)}[data-theme=dark] .controls{font-family:var(--mono)}[data-theme=dark] .year-section>h2{font-family:var(--mono);font-size:19px;color:var(--accent)}[data-theme=dark] .year-section>h2:after{background:linear-gradient(90deg,var(--accent),var(--line) 28%)}[data-theme=dark] time{font-family:var(--mono);font-size:10px}[data-theme=dark] .kind.start{color:var(--accent)}[data-theme=dark] .kind.pause{color:#edbb75}[data-theme=dark] .kind.end{color:#d2918b}[data-theme=dark] .frame-corner{display:block;position:fixed;width:14px;height:14px;color:var(--accent);opacity:.6;pointer-events:none}[data-theme=dark] .tl{left:10px;top:10px;border-top:1px solid;border-left:1px solid}[data-theme=dark] .br{right:10px;bottom:10px;border-right:1px solid;border-bottom:1px solid}
@media(max-width:760px){.site{padding:0 28px}.event-row{grid-template-columns:52px 27px 1fr;gap:12px}.timeline-row{column-gap:12px}}@media(max-width:460px){.site{padding:0 20px}header{gap:12px;padding:20px 0 16px}.brand{font-size:23px}nav{gap:15px;font-size:10px}.subscribe{font-size:9px}.theme-toggle{width:25px;height:25px}.controls{padding-top:16px;gap:14px;font-size:10px}.sort,.filters{gap:14px}.year-section>h2{font-size:21px}.timeline-row{grid-template-columns:47px 1fr;gap:10px;padding:7px 0}.timeline-row time{font-size:10px}.timeline-row h3{font-size:13px}.event-row{grid-template-columns:43px 25px 1fr;gap:9px}.event-row p{font-size:11px}.event-row strong{margin-right:7px}.kind{font-size:8px}footer{font-size:8px;margin-top:32px}footer div{gap:14px}[data-theme=dark] .brand{font-size:17px}[data-theme=dark] nav{font-size:9px}[data-theme=dark] time{font-size:9px}}
.project-row{grid-template-columns:64px 1fr auto}.project-status{font-size:9px;color:var(--muted)}.project-status.active{color:#60804c}.project-status.archived{color:#9b6561}[data-theme=dark] .project-status.active{color:var(--accent)}[data-theme=dark] .project-status.archived{color:#d2918b}@media(max-width:460px){.project-row{grid-template-columns:47px 1fr auto;gap:10px}}
.origin-x{font-size:12px;color:var(--muted);flex-shrink:0}.entry-screen{max-width:480px;margin:40px auto 32px;text-align:center}.subscription h2{font-family:var(--display);font-size:27px;font-weight:400;letter-spacing:-.04em;margin:0 0 10px;line-height:1.5}.subscription-lead{font-size:11px;color:var(--muted);margin:0 0 20px}.embed-paper{width:100%;max-width:480px;background:#fff;border:1px solid var(--line);margin:auto;line-height:0}.embed-paper iframe{display:block;width:100%;height:380px;border:0;color-scheme:light;background:#fff}.substack-fallback{display:inline-block;font-size:9px;color:var(--muted);margin-top:12px}.no-thanks{display:inline-block;margin-top:28px;font-size:12px;padding-bottom:7px;border-bottom:1px solid var(--line)}.entry-open footer{display:none}.after-eight{border-top:1px solid var(--line);margin-top:32px;padding-top:30px;text-align:center}.after-eight .subscription{max-width:480px;margin:auto}.after-eight .subscription h2{font-size:23px}.sample-source{font-size:9px;color:var(--muted)}#home{outline:0}[data-theme=dark] .embed-paper{border-color:var(--accent);position:relative;box-shadow:0 0 0 5px #73f4cf08}[data-theme=dark] .subscription h2{font-family:var(--body);font-size:24px;color:var(--ink);font-weight:500}[data-theme=dark] .no-thanks{color:var(--accent);border-bottom-color:var(--accent)}[data-theme=dark] .after-eight{border-color:var(--accent)}@media(max-width:460px){.entry-screen{margin:30px auto}.subscription h2{font-size:24px}.subscription-lead{margin-bottom:16px}.after-eight .subscription h2{font-size:21px}.after-eight{padding-top:25px;margin-top:26px}.embed-paper iframe{height:400px}.no-thanks{margin-top:24px}nav{gap:13px}}
.entry-photo{display:block;width:100%;height:auto;margin:0 0 24px}.entry-screen{max-width:480px;margin-top:30px}.after-eight{padding-top:25px}.subscription-lead{display:none}
.entry-photo{margin-bottom:16px}.entry-intro{margin:0 0 22px}.entry-name{font-family:var(--display);font-size:20px;letter-spacing:-.02em;margin:0;line-height:1.4}.entry-bio{font-size:12px;color:var(--muted);margin:4px 0 0;line-height:1.7}[data-theme=dark] .entry-name{font-family:var(--body);font-weight:500}
/* English-first single page (no entry gate) */
.intro{max-width:480px;margin:36px auto 34px;text-align:center}.intro .embed-paper{margin-top:4px}
.lang-switch{color:var(--muted)}
.project-status.reduced{color:#a4823f}.project-status.paused{color:var(--muted)}.project-status.idea{color:#5d7aa8}
.project-growth,.project-metric{margin-left:10px;font-size:10px;color:var(--muted);font-weight:400;white-space:nowrap}.project-growth:hover{color:var(--accent)}
.rows>.after-eight{margin:26px 0;padding-top:26px}
.note-page{max-width:560px;margin:42px auto 20px}.note-page h1{font-family:var(--display);font-weight:400;font-size:28px;line-height:1.4;letter-spacing:-.02em;margin:6px 0 22px}.note-page p{line-height:1.9}.note-meta{font-size:11px;color:var(--muted)}.note-back{margin-top:34px;font-size:12px}
[data-theme=dark] .note-page h1{font-family:var(--body);font-weight:500}[data-theme=dark] .project-status.idea{color:var(--accent)}
@media(max-width:460px){.intro{margin:26px auto}.note-page h1{font-size:23px}nav{gap:11px}}
.post-row .origin-x{margin-left:6px}
/* Entry screen with the full self-introduction */
.entry-screen{max-width:480px;margin:36px auto 40px;text-align:center}
.entry-bio{font-size:13px;line-height:1.85;color:var(--ink);margin:12px 0 22px}.entry-bio p{margin:0}
.entry-closing{font-size:13px;margin:22px 0 0;line-height:1.8}
.entry-screen .no-thanks{margin-top:26px;font-size:13px}
.entry-open footer{display:none}
@media(max-width:460px){.entry-bio,.entry-closing{font-size:12.5px}}
/* Substack form only: at 150px the embed drops its logo, name and description (Substack's "Show logo in embed" off). */
.embed-paper iframe,.embed-paper iframe{height:150px}@media(max-width:460px){.embed-paper iframe{height:150px}}
/* Readability: larger type throughout, with compact rows retained. */
:root{--muted:#686d65}body{font-size:17px}.brand{font-size:29px}nav,[data-theme=dark] nav{font-size:14px;gap:20px}.subscribe{font-size:13px}.theme-toggle{width:34px;height:34px;font-size:20px}.controls{font-size:14px}.controls button{min-height:36px}.timeline-row{grid-template-columns:76px 1fr}.timeline-row h3{font-size:17px;line-height:1.7}.timeline-row time,[data-theme=dark] .timeline-row time{font-size:14px}.project-row{grid-template-columns:76px 1fr auto}.project-status{font-size:13px}.project-growth,.project-metric{font-size:13px}.year-section>h2{font-size:27px}[data-theme=dark] .year-section>h2{font-size:24px}.origin-x{font-size:15px}.search input{font-size:15px;width:220px}.search{font-size:19px}.empty{font-size:16px}footer{font-size:12px}.entry-name{font-size:25px}.entry-bio,.entry-closing{font-size:16px;line-height:1.85}.entry-screen .no-thanks{font-size:16px}.note-page{max-width:700px;font-size:18px;line-height:1.9;overflow-wrap:anywhere}.note-page h1{font-size:36px;line-height:1.45}.note-page h2{font-size:26px;margin-top:1.6em}.note-page h3{font-size:22px;margin-top:1.5em}.note-meta,.note-back,.sample-source{font-size:14px}.note-page .note-meta{color:var(--muted)}.note-page img{max-width:100%;height:auto}.note-page figure{margin:24px 0}.note-page blockquote{margin:24px 0;padding-left:20px;border-left:2px solid var(--line);color:var(--muted)}.note-page table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:15px}.note-page td,.note-page th{padding:7px 10px;border:1px solid var(--line)}.note-page pre{overflow-x:auto;font-size:15px;background:var(--line);padding:16px}.note-page a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.ad-section{border-top:1px solid var(--line);margin-top:32px;padding:18px 0}.ad-label{font-size:12px;color:var(--muted)}.ad-section ins{min-height:200px}main>.subscription{max-width:480px;margin:25px auto}.note-back{max-width:700px;margin:25px auto}.note-page .note-meta{font-size:14px}
@media(max-width:520px){header{flex-wrap:wrap;padding-top:20px;gap:12px}.brand,[data-theme=dark] .brand{font-size:26px}nav,[data-theme=dark] nav{flex:1 0 100%;justify-content:space-between;gap:10px;font-size:13px}.subscribe{font-size:12px}.controls{font-size:14px}.timeline-row{grid-template-columns:60px 1fr;gap:12px}.timeline-row h3{font-size:16px}.timeline-row time,[data-theme=dark] .timeline-row time{font-size:13px}.project-row{grid-template-columns:60px 1fr auto;gap:10px}.project-status{font-size:12px}.project-growth{font-size:12px}.year-section>h2{font-size:25px}.entry-bio,.entry-closing{font-size:16px}.entry-screen .no-thanks{font-size:16px}.note-page{font-size:17px;margin-top:30px}.note-page h1{font-size:29px}.note-page h2{font-size:24px}.note-page h3{font-size:21px}.note-meta,.note-back,.sample-source{font-size:13px}footer{font-size:12px;flex-wrap:wrap}.frame-corner{max-width:10px;max-height:10px}}
.blog-page table td,.blog-page table th{overflow-wrap:normal;word-break:normal;min-width:110px}.blog-page table td:first-child,.blog-page table th:first-child{min-width:175px}
.entry-screen{max-width:620px}.entry-photo{max-width:480px;margin-left:auto;margin-right:auto}.entry-bio p{text-wrap:balance;line-break:strict;overflow-wrap:normal}.bio-line{display:block;text-wrap:balance}.entry-bio{margin-left:auto;margin-right:auto}.entry-bio .bio-line:last-child{word-break:normal}
.project-note{font-size:14px;line-height:1.7;color:var(--muted);margin:3px 0 4px;overflow-wrap:anywhere}.project-title{min-width:0}@media(max-width:520px){.project-note{font-size:13px;line-height:1.7}}
