:root{--site-bg: #f4efe6;--site-surface: rgba(255, 255, 255, .8);--site-surface-strong: rgba(255, 252, 247, .94);--site-surface-soft: rgba(247, 242, 234, .78);--site-border: rgba(26, 40, 56, .12);--site-border-strong: rgba(26, 40, 56, .22);--site-text: #17212d;--site-muted: #5b6877;--site-accent: #c57448;--site-accent-strong: #9f532f;--site-highlight: #799490;--site-shadow: 0 28px 70px rgba(43, 55, 74, .12);color-scheme:light}html{scroll-behavior:smooth;background:var(--site-bg)}body{min-height:100vh;color:var(--site-text);background:radial-gradient(circle at top left,rgba(241,198,158,.52),transparent 28%),radial-gradient(circle at top right,rgba(170,197,191,.28),transparent 24%),radial-gradient(circle at 18% 82%,rgba(248,224,188,.5),transparent 20%),linear-gradient(180deg,#fdf8f0,#f4efe6 38%,#eef1f5);font-family:Avenir Next,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.24) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.24) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(circle at center,rgba(0,0,0,.86),transparent 80%);mask-image:radial-gradient(circle at center,rgba(0,0,0,.86),transparent 80%);opacity:.35}::-moz-selection{background:#d6805438;color:var(--site-text)}::selection{background:#d6805438;color:var(--site-text)}a{transition:color .18s ease,border-color .18s ease,transform .18s ease,background-color .18s ease,box-shadow .18s ease}.time-line-container>div:last-child .education__time>.education__line{display:none}.drawer-content{position:relative}.drawer-side>aside{background:#faf5ecc7;backdrop-filter:blur(20px);border-right:1px solid rgba(34,53,84,.08)}.menu a{border-radius:999px;color:var(--site-muted)}.menu a:hover,.menu a:focus{background:#ffffffc2;color:var(--site-text)}.btn{border-radius:999px;background:#ffffffc7;color:var(--site-text);border-color:#22355414;box-shadow:0 12px 30px #25335014;text-transform:none}.btn:not(.btn-outline){background:var(--site-text);border-color:var(--site-text);color:#fffdf8}.btn:hover{transform:translateY(-1px);box-shadow:0 18px 32px #2533501f}.btn:not(.btn-outline):hover{background:var(--site-accent-strong);border-color:var(--site-accent-strong);color:#fffdf8}.btn-outline{background:#ffffffa3;color:var(--site-text)}.badge{border-radius:999px}.page-hero{position:relative;overflow:hidden;padding:clamp(1.6rem,4vw,3rem);border:1px solid var(--site-border);border-radius:2rem;background:linear-gradient(135deg,#fff8eff5,#eef5ffe6 62%,#fffbf6f5),var(--site-surface-strong);box-shadow:var(--site-shadow)}.page-hero:after{content:"";position:absolute;width:16rem;height:16rem;top:-5rem;right:-4rem;border-radius:999px;background:radial-gradient(circle,rgba(132,168,197,.28),transparent 70%)}.section-kicker{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:var(--site-accent-strong);font-size:.78rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.section-title{margin:0;font-size:clamp(2.35rem,6vw,4.4rem);line-height:1.02;letter-spacing:-.04em}.section-copy{max-width:44rem;margin-top:1.2rem;color:var(--site-muted);font-size:1.03rem;line-height:1.9}.hero-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2rem}.hero-notes{display:grid;gap:.9rem;margin-top:2rem}.hero-note{padding:1rem 1.1rem;border:1px solid var(--site-border);border-radius:1.25rem;background:#ffffff8a}.hero-note strong{display:block;margin-bottom:.35rem;font-size:.92rem}.hero-note span{color:var(--site-muted);line-height:1.75}.feature-grid{display:grid;gap:1rem}@media (min-width: 768px){.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.mini-stat{padding:1.1rem 1.2rem;border:1px solid var(--site-border);border-radius:1.5rem;background:#ffffff8a;box-shadow:0 12px 28px #2533500f}.mini-stat__value{display:block;font-size:1.8rem;font-weight:800;line-height:1}.mini-stat__label{display:block;margin-top:.5rem;color:var(--site-muted);font-size:.92rem}.section-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1rem;margin:2.8rem 0 1.2rem}.section-head h2{margin:0;font-size:clamp(1.6rem,3vw,2.3rem);letter-spacing:-.03em}.section-head p{max-width:34rem;margin:0;color:var(--site-muted);line-height:1.8}.list-shell{display:grid;gap:1rem}.project-card{position:relative;overflow:hidden;padding:1rem;border:1px solid var(--site-border);border-radius:1.8rem;background:linear-gradient(180deg,#ffffffd6,#fffbf7b3);box-shadow:0 16px 40px #25335014}.project-card:after{content:"";position:absolute;inset:auto -4rem -5rem auto;width:11rem;height:11rem;border-radius:999px;background:radial-gradient(circle,rgba(132,168,197,.16),transparent 68%)}.project-card:hover{transform:translateY(-4px);box-shadow:0 24px 50px #2533501f}.project-card__inner{position:relative;z-index:1;display:grid;gap:1.15rem}@media (min-width: 768px){.project-card__inner{grid-template-columns:minmax(0,14rem) minmax(0,1fr);align-items:center}}.project-card__media{position:relative;overflow:hidden;min-height:11rem;border-radius:1.3rem;background:linear-gradient(145deg,#ffe9cbe0,#bcdaf1d1),linear-gradient(180deg,#ffffffa6,#ffffff1a)}.project-card__media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.project-card__eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;color:var(--site-muted);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.project-card__eyebrow span:last-child{letter-spacing:normal;text-transform:none}.project-card__title{margin:.75rem 0 0;font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.15;letter-spacing:-.03em}.project-card__title-link{color:inherit;text-decoration:none}.project-card__title-link:hover{color:var(--site-accent-strong)}.project-card__desc{margin-top:.9rem;color:var(--site-muted);line-height:1.8}.project-card__footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.2rem}.project-card__tags{display:flex;flex-wrap:wrap;gap:.55rem}.project-card__tags a,.project-card__tags span{display:inline-flex;align-items:center;padding:.42rem .8rem;border:1px solid rgba(34,53,84,.1);border-radius:999px;color:var(--site-muted);background:#ffffffb8;font-size:.86rem;text-decoration:none}.project-card__tags a:hover{color:var(--site-accent-strong);border-color:#d6805447}.project-card__arrow{display:inline-flex;align-items:center;gap:.55rem;color:var(--site-text);font-weight:700;text-decoration:none}.project-card__arrow:after{content:"↗";display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid rgba(34,53,84,.1);border-radius:999px;background:#ffffffb8}.project-card__arrow:hover{color:var(--site-accent-strong)}.soft-panel{padding:1.1rem 1.2rem;border:1px solid var(--site-border);border-radius:1.5rem;background:#ffffffad;color:var(--site-muted);line-height:1.8;box-shadow:0 16px 32px #2533500f}.soft-panel strong{color:var(--site-text)}.pagination-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:2rem}.pagination-link{display:inline-flex;align-items:center;gap:.65rem;padding:.95rem 1.15rem;border:1px solid var(--site-border);border-radius:999px;background:#ffffffb8;color:var(--site-text);text-decoration:none;box-shadow:0 14px 28px #2533500f}.pagination-link:hover{color:var(--site-accent-strong);transform:translateY(-2px)}.article-shell{width:100%;max-width:780px}.article-topbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.article-back{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border:1px solid var(--site-border);border-radius:999px;background:#ffffffa8;color:var(--site-text);text-decoration:none}.article-back:hover{color:var(--site-accent-strong)}.article-cover{overflow:hidden;border:1px solid var(--site-border);border-radius:2rem;background:linear-gradient(145deg,#ffe9cbe0,#bcdaf1d1);box-shadow:var(--site-shadow)}.article-cover img{width:100%}.article-header{margin-top:1.2rem;padding:clamp(1.5rem,4vw,2.2rem);border:1px solid var(--site-border);border-radius:2rem;background:#ffffffd1;box-shadow:0 22px 44px #25335014}.article-title{margin:0;font-size:clamp(2.05rem,5vw,3.5rem);line-height:1.04;letter-spacing:-.04em}.article-description{margin-top:1rem;color:var(--site-muted);font-size:1.04rem;line-height:1.9}.article-meta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}.article-meta-item{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .85rem;border:1px solid rgba(34,53,84,.1);border-radius:999px;background:#ffffffb8;color:var(--site-muted);font-size:.9rem}.article-prose{margin-top:1.25rem;padding:clamp(1.35rem,4vw,2.4rem);border:1px solid var(--site-border);border-radius:2rem;background:#ffffffd1;box-shadow:0 22px 44px #25335014}.article-prose :where(h1,h2,h3,h4){color:var(--site-text);font-family:Iowan Old Style,Palatino Linotype,Songti SC,serif;letter-spacing:-.03em}.article-prose :where(p,li){color:var(--site-muted);line-height:1.95}.article-prose :where(ul,ol){padding-left:1.2rem}.article-prose :where(a){color:var(--site-accent-strong);text-decoration-color:#d6805452}.article-prose :where(a:hover){color:var(--site-accent)}.article-prose :where(blockquote){border-left:3px solid rgba(214,128,84,.45);background:#fff7eef2;border-radius:1rem;color:var(--site-text);padding:1rem 1.1rem}.article-prose :where(code):not(pre code){padding:.16rem .45rem;border-radius:.45rem;background:#1f2b450f;color:var(--site-text)}.article-prose :where(pre){background:#1f2b45;border-radius:1.35rem;padding:1rem 1.1rem;box-shadow:inset 0 1px #ffffff0a}.article-prose :where(img){border-radius:1.35rem;border:1px solid rgba(34,53,84,.08)}.article-prose :where(hr){border-color:#22355414}@media (max-width: 640px){.hero-actions .btn{width:100%;justify-content:center}.project-card{padding:.9rem}}.journal-hero{position:relative;display:grid;gap:1.25rem;overflow:hidden;padding:clamp(1.5rem,4vw,2.8rem);border:1px solid var(--site-border);border-radius:2.5rem;background:linear-gradient(130deg,#fffbf5f5,#f7f2eae6 48%,#ebf1efe6),var(--site-surface-strong);box-shadow:var(--site-shadow)}.journal-hero:before{content:"";position:absolute;inset:auto auto -6rem -5rem;width:15rem;height:15rem;border-radius:999px;background:radial-gradient(circle,rgba(121,148,144,.22),transparent 70%)}.journal-hero:after{content:"";position:absolute;inset:-5rem -4rem auto auto;width:17rem;height:17rem;border-radius:999px;background:radial-gradient(circle,rgba(197,116,72,.18),transparent 68%)}.journal-hero>*{position:relative;z-index:1}@media (min-width: 980px){.journal-hero{grid-template-columns:minmax(0,1.35fr) minmax(19rem,.85fr);align-items:stretch}}.journal-hero__title{margin:0;max-width:12ch;font-family:Iowan Old Style,Palatino Linotype,Songti SC,serif;font-size:clamp(2.8rem,7vw,5.5rem);line-height:.96;letter-spacing:-.055em}.journal-hero__text{max-width:43rem;margin-top:1.3rem;color:var(--site-muted);font-size:1.05rem;line-height:1.95}.journal-hero__rail{display:grid;gap:1rem}.journal-signal,.portal-lead,.story-lead{padding:1.35rem;border:1px solid var(--site-border);border-radius:1.9rem;background:#ffffff94;box-shadow:0 18px 36px #25335014}.journal-signal__eyebrow,.portal-lead__eyebrow,.story-lead__meta{display:flex;align-items:center;gap:.6rem;color:var(--site-accent-strong);font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.journal-signal h2,.portal-lead h3,.story-lead h3{margin:.75rem 0 0;font-family:Iowan Old Style,Palatino Linotype,Songti SC,serif;letter-spacing:-.04em}.journal-signal h2{font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.08}.journal-signal p,.portal-lead p,.story-lead p,.portal-tile p,.story-item p{margin:.95rem 0 0;color:var(--site-muted);line-height:1.86}.journal-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.journal-stat{padding:1rem;border:1px solid var(--site-border);border-radius:1.4rem;background:#ffffff8f}.journal-stat__value{display:block;font-size:clamp(1.65rem,4vw,2.1rem);font-weight:800;line-height:1}.journal-stat__label{display:block;margin-top:.45rem;color:var(--site-muted);font-size:.86rem}.journal-notes{display:grid;gap:.7rem}.journal-note{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.05rem;border-radius:1.25rem;background:#ffffff80;border:1px solid rgba(26,40,56,.08)}.journal-note__label{color:var(--site-accent-strong);font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.journal-note p{margin:0;color:var(--site-text);line-height:1.7}.home-section{margin-top:2.4rem}.section-head--split{align-items:end}.portal-layout,.reading-layout{display:grid;gap:1rem}@media (min-width: 960px){.portal-layout{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr)}.reading-layout{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:start}}.portal-lead__grid{display:grid;gap:.8rem;margin-top:1.2rem}@media (min-width: 768px){.portal-lead__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.portal-block{padding:1rem;border-radius:1.2rem;background:#f7f2eae6;border:1px solid rgba(26,40,56,.08)}.portal-block strong{display:block;font-size:.95rem}.portal-block span{display:block;margin-top:.4rem;color:var(--site-muted);line-height:1.75}.portal-list,.story-stack{display:grid;gap:.9rem}.portal-tile{display:block;padding:1.2rem 1.25rem;border:1px solid var(--site-border);border-radius:1.6rem;background:linear-gradient(180deg,#ffffffdb,#f7f2eadb),var(--site-surface);color:inherit;text-decoration:none;box-shadow:0 16px 32px #2533500f}.portal-tile:hover{transform:translateY(-4px);box-shadow:0 22px 40px #2533501a}.portal-tile__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;color:var(--site-muted);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.portal-tile__top span:last-child{letter-spacing:normal;text-transform:none}.portal-tile h3{margin:.85rem 0 0;font-size:clamp(1.2rem,2vw,1.55rem);letter-spacing:-.03em}.portal-tile__cta,.story-lead__cta{display:inline-flex;align-items:center;gap:.55rem;margin-top:1.1rem;color:var(--site-accent-strong);font-weight:700}.portal-tile__cta:after,.story-lead__cta:after{content:"→";font-size:1rem}.story-lead{min-height:100%;background:linear-gradient(160deg,#fffbf6fa,#f1ece3f0),#ffffffa3}.story-lead h3{font-size:clamp(2rem,4.4vw,3.3rem);line-height:1}.story-tags{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.story-tags a,.story-tags span{display:inline-flex;align-items:center;padding:.42rem .8rem;border-radius:999px;border:1px solid rgba(26,40,56,.1);background:#ffffffc2;color:var(--site-muted);font-size:.84rem;text-decoration:none}.story-tags a:hover{color:var(--site-accent-strong)}.story-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.9rem;padding:1.1rem 1.15rem;border:1px solid var(--site-border);border-radius:1.55rem;background:#ffffffad;box-shadow:0 14px 28px #2533500f}.story-item__index{display:inline-flex;align-items:flex-start;justify-content:center;min-width:2.5rem;color:var(--site-accent-strong);font-family:Iowan Old Style,Palatino Linotype,Songti SC,serif;font-size:1.55rem;line-height:1}.story-item__meta{color:var(--site-muted);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.story-item h3{margin:.35rem 0 0;font-size:1.2rem;line-height:1.2;letter-spacing:-.02em}.story-item h3 a{color:inherit;text-decoration:none}.story-item h3 a:hover{color:var(--site-accent-strong)}@media (max-width: 720px){.journal-stats{grid-template-columns:1fr}.section-head--split{flex-direction:column;align-items:flex-start}.section-head--split p{max-width:none}.story-item{grid-template-columns:1fr;gap:.7rem}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
