:root{color-scheme:light;--paper:#f8f7f2;--ink:#20312b;--muted:#6f7972;--line:#e2e5db;--accent:#bf794e;--green:#1b342e;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","PingFang SC",sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}::selection{background:#e8d8bb;color:var(--ink)}.site-shell{width:min(100% - 48px,1040px);min-height:100vh;margin:auto;display:flex;flex-direction:column}.site-header{height:104px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-size:19px;font-weight:670;letter-spacing:-.035em}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--green);color:#fff;font-family:Georgia,serif;font-size:20px}.site-header nav{display:flex;gap:34px;font-size:13px;font-weight:600;letter-spacing:.02em}.site-header nav a{color:#536159}.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--ink)}main{flex:1}.hero{padding:119px 0 125px;max-width:760px}.eyebrow{margin:0;color:var(--accent);font-size:11px;font-weight:750;letter-spacing:.17em}.hero h1,.page-intro h1,.article h1{margin:26px 0 25px;font-family:Georgia,"Noto Serif SC","Songti SC",serif;font-weight:500;letter-spacing:-.055em}.hero h1{font-size:clamp(64px,10vw,110px);line-height:1.17}.hero h1 em{font-style:normal;color:#778a7c}.hero-copy{margin:0 0 32px;color:#66746a;font-size:16px;line-height:2}.text-link{display:inline-flex;gap:14px;align-items:center;padding-bottom:8px;border-bottom:1px solid var(--ink);font-size:13px;font-weight:650}.recent{padding:0 0 118px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.section-heading h2{font-family:Georgia,"Noto Serif SC","Songti SC",serif;font-size:34px;font-weight:500;letter-spacing:-.04em;margin:9px 0 0}.section-heading>a{font-size:12px;font-weight:650;padding-bottom:6px}.post-list{border-top:1px solid var(--line)}.post-row{display:grid;grid-template-columns:130px 1fr 22px;gap:18px;align-items:start;padding:25px 3px 27px;border-bottom:1px solid var(--line)}.post-row time{padding-top:5px;font-size:12px;color:#8b948d;font-variant-numeric:tabular-nums}.post-row h2,.post-row h3{margin:0;font-size:19px;font-weight:650;letter-spacing:-.025em}.post-row p{max-width:650px;color:var(--muted);font-size:13px;line-height:1.7;margin:9px 0 0}.post-arrow{color:#9ea8a0;font-size:17px}.post-row:hover .post-arrow{color:var(--accent)}.empty-state{padding:34px 0;color:var(--muted);font-size:14px}.empty-state a{text-decoration:underline;text-underline-offset:3px}.page-intro{padding:91px 0 63px}.page-intro h1{font-size:clamp(52px,8vw,80px);line-height:1.2}.page-intro>p:last-child{color:var(--muted);font-size:15px}.page-intro+.post-list{margin-bottom:110px}.article{max-width:760px;margin:0 auto;padding:82px 0 118px}.article-header{border-bottom:1px solid var(--line);padding-bottom:34px;margin-bottom:48px}.article-header time,.back-link{display:inline-block;color:#8b948d;font-size:12px}.back-link{margin-right:22px}.article h1{font-size:clamp(42px,7vw,68px);line-height:1.2;margin:21px 0 14px}.article-description{color:var(--muted);font-size:16px;line-height:1.7;margin:0}.prose{font-size:16px;line-height:2.05;color:#334139}.prose p{margin:0 0 1.35em}.prose h2,.prose h3{color:var(--ink);font-family:Georgia,"Noto Serif SC","Songti SC",serif;line-height:1.45;margin:2.2em 0 .7em}.prose h2{font-size:28px}.prose h3{font-size:22px}.prose a{text-decoration:underline;text-decoration-color:#9bad9d;text-underline-offset:4px}.prose blockquote{margin:2em 0;padding:.2em 0 .2em 24px;border-left:3px solid #b4c3b4;color:#68796e}.prose pre{overflow:auto;padding:22px;border-radius:8px;background:#1c2b27;color:#e7eee8;font-size:13px;line-height:1.7}.prose code:not(pre code){padding:2px 5px;border-radius:3px;background:#eaede5;font-size:.9em}.prose img{max-width:100%;height:auto;border-radius:6px}.article-end{display:flex;align-items:center;gap:18px;margin-top:72px;color:var(--accent);font-size:13px}.site-footer{display:flex;justify-content:space-between;gap:20px;padding:29px 0 37px;border-top:1px solid var(--line);font-size:12px;color:#8d968f}.not-found{min-height:60vh}@media(max-width:640px){.site-shell{width:min(100% - 36px,1040px)}.site-header{height:78px}.brand{font-size:17px}.site-header nav{gap:18px;font-size:12px}.hero{padding:87px 0 100px}.hero h1{font-size:clamp(56px,13vw,80px)}.hero-copy{font-size:14px}.recent{padding-bottom:84px}.section-heading h2{font-size:29px}.post-row{grid-template-columns:1fr 20px;gap:4px 8px;padding:22px 0}.post-row time{grid-column:1/-1;padding:0 0 8px}.post-row h2,.post-row h3{font-size:17px}.post-row p{font-size:12px}.article{padding:58px 0 90px}.article-header{margin-bottom:35px}.prose{font-size:15px}.site-footer{font-size:11px}}
.topic-row{grid-template-columns:1fr 22px}

/* Learning journal additions; the original palette and reading layout remain in place. */
.site-footer a{text-decoration:underline;text-underline-offset:3px}
.home-block{margin-bottom:92px}
.recent.home-block{padding:0}
.home-projects{padding-bottom:20px}
.home-projects>p{color:var(--muted);font-size:15px;line-height:1.8}
.focus-list{display:flex;flex-wrap:wrap;gap:10px;border-top:1px solid var(--line);padding-top:22px}
.focus-list a{display:inline-flex;align-items:center;gap:15px;border:1px solid var(--line);border-radius:4px;padding:13px 16px;font-size:13px;font-weight:600}
.focus-list a span{color:var(--accent)}
.focus-list a:hover{border-color:var(--accent)}
.post-category{display:inline-block;margin-top:10px;color:var(--accent);font-size:11px;font-weight:650;letter-spacing:.02em}
.roadmap-line{display:flex;flex-wrap:wrap;gap:8px 25px;margin:0;padding:22px 0 0;border-top:1px solid var(--line);list-style:none;counter-reset:roadmap}
.roadmap-line li{counter-increment:roadmap;color:var(--muted);font-size:13px;line-height:2}
.roadmap-line li::before{content:counter(roadmap,decimal-leading-zero) " / ";color:var(--accent);font-size:11px;font-weight:700}
.section-copy{max-width:760px;margin-top:27px}
.section-copy.prose p{margin-bottom:.9em;font-size:14px;line-height:1.85}
.section-links{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:25px!important;font-size:12px!important}
.section-links a{color:var(--accent)}
.article-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:20px;color:var(--muted);font-size:12px}
.article-meta a{color:var(--accent)}
.prose h4{font-size:18px;margin:2em 0 .65em;line-height:1.5}
.prose ul,.prose ol{padding-left:1.5em;margin:0 0 1.4em}
.prose li{padding-left:.15em;margin:.3em 0}
.prose pre code{font-size:inherit;background:none}
.prose table{display:block;overflow-x:auto;border-collapse:collapse;margin:1.5em 0;font-size:14px}
.prose th,.prose td{padding:9px 14px;border:1px solid var(--line);text-align:left}
.prose th{background:#edf0e9}
.learning-intro{max-width:760px;padding-bottom:55px}
.learning-intro>p:last-child{line-height:1.8}
.learning-path{max-width:900px;border-top:1px solid var(--line)}
.learning-step{display:grid;grid-template-columns:74px 1fr;gap:15px;padding:37px 0 40px;border-bottom:1px solid var(--line);scroll-margin-top:24px}
.step-number{padding-top:5px;color:var(--accent);font-family:Georgia,serif;font-size:22px}
.step-heading{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px}
.step-heading h2{margin:0;font-family:Georgia,"Noto Serif SC","Songti SC",serif;font-size:clamp(25px,3.5vw,34px);font-weight:500;letter-spacing:-.035em}
.status{padding:5px 9px;border:1px solid var(--line);border-radius:3px;color:var(--muted);font-size:11px;white-space:nowrap}
.status.learning{border-color:#b9c9b9;color:#41614d}
.status.practicing{border-color:#d8bea8;color:#9a6848}
.status.completed{border-color:#a8c1ae;color:#356946}
.step-content>p{margin:12px 0 23px;color:var(--muted);font-size:14px;line-height:1.8}
.step-details{display:grid;grid-template-columns:1fr 1fr 120px;gap:22px}
.step-details>div{display:flex;flex-direction:column;gap:8px;font-size:12px;line-height:1.6}
.step-details strong{font-weight:650;color:var(--ink)}
.step-details span{color:var(--muted)}
.step-details a{color:var(--accent)}
.step-details ul{margin:0;padding-left:1.25em;color:var(--muted)}
.topic-details{margin-top:23px;color:var(--muted);font-size:12px}
.topic-details summary{width:max-content;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.topic-details ul{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;margin:14px 0 0;padding:0;line-height:1.6}
.topic-details li::before{content:"· ";color:var(--accent)}
.learning-aside{max-width:900px;padding:30px 0 100px;color:var(--muted);font-size:13px;line-height:1.8}
.learning-aside a{color:var(--accent)}
.category-groups{max-width:900px;padding-bottom:95px;border-top:1px solid var(--line)}
.category-group{padding:31px 0 36px;border-bottom:1px solid var(--line);scroll-margin-top:24px}
.category-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px}
.category-heading>span{color:var(--accent);font-family:Georgia,serif;font-size:17px}
.category-heading h2{margin:0;font-family:Georgia,"Noto Serif SC","Songti SC",serif;font-size:clamp(24px,3.4vw,31px);font-weight:500;letter-spacing:-.03em}
.category-heading small{color:var(--muted);font-size:11px}
.category-group ul{list-style:none;margin:20px 0 0;padding:0}
.category-group li{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-top:1px solid var(--line);font-size:14px}
.category-group time,.empty-category{color:var(--muted);font-size:12px}
.empty-category{margin:18px 0 0}
@media(max-width:760px){
  .site-header{height:auto;min-height:96px;align-items:flex-start;flex-direction:column;justify-content:center;gap:15px;padding:17px 0}
  .site-header nav{display:flex;flex-wrap:wrap;gap:11px 20px;font-size:12px}
  .home-block{margin-bottom:70px}
  .focus-list{gap:8px}
  .focus-list a{padding:10px 12px;font-size:12px}
  .learning-step{grid-template-columns:41px 1fr;gap:6px;padding:28px 0 30px}
  .step-number{font-size:17px}
  .step-details{grid-template-columns:1fr 1fr;gap:17px}
  .step-details>div:last-child{grid-column:1/-1}
  .learning-aside{padding-bottom:75px}
}
@media(max-width:480px){
  .site-header nav{display:grid;grid-template-columns:repeat(3,max-content);gap:10px 18px}
  .hero{padding-top:71px;padding-bottom:86px}
  .roadmap-line{display:block}
  .roadmap-line li{margin-bottom:3px}
  .section-heading h2{font-size:27px}
  .step-heading h2{font-size:25px}
  .step-details{grid-template-columns:1fr}
  .step-details>div:last-child{grid-column:auto}
}
