:root{color-scheme:light;--bg:#f4f0e8;--surface:#fffaf1;--surface-strong:#ebe5da;--text:#17191d;--muted:#6c6e72;--line:#d6cfc2;--accent:#f0643c;--accent-soft:#f8d8ca;--accent-ink:#8c2e15;--shadow:0 24px 80px #372c1f1a;--shell:1120px;--radius:22px}:root[data-theme=dark]{color-scheme:dark;--bg:#111315;--surface:#181b1e;--surface-strong:#22262a;--text:#f2eee6;--muted:#a8a49e;--line:#32363b;--accent:#ff7b52;--accent-soft:#48271e;--accent-ink:#ffb69f;--shadow:0 24px 80px #0000003d}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#111315;--surface:#181b1e;--surface-strong:#22262a;--text:#f2eee6;--muted:#a8a49e;--line:#32363b;--accent:#ff7b52;--accent-soft:#48271e;--accent-ink:#ffb69f;--shadow:0 24px 80px #0000003d}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 84% 7%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 24rem), var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:16px;line-height:1.65}::selection{background:var(--accent);color:#fff}a{color:inherit;text-decoration:none}button,input{font:inherit}img{max-width:100%;height:auto}.shell{width:min(calc(100% - 40px), var(--shell));margin-inline:auto}.skip-link{z-index:100;background:var(--text);color:var(--bg);border-radius:8px;padding:8px 12px;position:fixed;top:10px;left:10px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:20;background:color-mix(in srgb, var(--bg) 82%, transparent);backdrop-filter:blur(18px);border-bottom:1px solid color-mix(in srgb, var(--line) 68%, transparent);position:sticky;top:0}.header-inner{align-items:center;gap:28px;min-height:78px;display:flex}.brand{align-items:center;gap:11px;margin-right:auto;display:inline-flex}.brand-mark{border:1px solid var(--line);object-fit:cover;object-position:center 32%;border-radius:11px;width:38px;height:38px;display:block}.brand-copy{letter-spacing:.18em;font-size:.78rem;font-weight:850;line-height:1.1;display:grid}.brand-copy small{color:var(--muted);letter-spacing:.13em;margin-top:5px;font-size:.55rem;font-weight:650}.nav{align-items:center;gap:24px;display:flex}.nav a{color:var(--muted);font-size:.9rem;font-weight:650;position:relative}.nav a:hover,.nav a[aria-current=page]{color:var(--text)}.nav a[aria-current=page]:after{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.theme-toggle{border:1px solid var(--line);background:var(--surface);width:39px;height:39px;color:var(--text);cursor:pointer;border-radius:50%;place-items:center;display:grid}.theme-toggle:hover{border-color:var(--accent);transform:rotate(18deg)}.hero{padding:94px 0 76px}.hero-grid{grid-template-columns:minmax(0,1.5fr) minmax(270px,.65fr);align-items:end;gap:70px;display:grid}.eyebrow{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;margin:0 0 22px;font-size:.73rem;font-weight:850}.display-title{letter-spacing:-.055em;max-width:820px;margin:0;font-family:Iowan Old Style,Noto Serif SC,Georgia,serif;font-size:clamp(3.5rem,8vw,7.6rem);font-weight:650;line-height:.98}.display-title em{color:var(--accent);font-style:italic;font-weight:500}.hero-lede{max-width:650px;color:var(--muted);margin:32px 0 0;font-size:clamp(1.05rem,2vw,1.26rem)}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.button{border:1px solid var(--text);border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:0 19px;font-size:.9rem;font-weight:750;transition:all .2s;display:inline-flex}.button.primary{background:var(--text);color:var(--bg)}.button.secondary{border-color:var(--line);background:color-mix(in srgb, var(--surface) 72%, transparent)}.button:hover{border-color:var(--accent);transform:translateY(-2px)}.button.primary:hover{background:var(--accent);color:#fff}.signal-card{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--surface) 90%, transparent);min-height:290px;box-shadow:var(--shadow);padding:28px;position:relative;overflow:hidden}.signal-card:before{content:"";border:34px solid var(--accent-soft);border-radius:50%;width:190px;height:190px;position:absolute;top:-74px;right:-74px}.signal-head{color:var(--muted);letter-spacing:.13em;justify-content:space-between;align-items:center;font-size:.72rem;font-weight:800;display:flex;position:relative}.live-dot{background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 7px var(--accent-soft);border-radius:50%}.signal-card h2{margin:70px 0 12px;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.05;position:relative}.signal-card>p{color:var(--muted);margin:0;position:relative}.signal-index{color:var(--line);font-size:3.2rem;font-weight:900;line-height:1;position:absolute;bottom:20px;right:26px}.section{border-top:1px solid var(--line);padding:74px 0}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px;display:flex}.section-kicker{color:var(--accent);letter-spacing:.16em;margin:0 0 8px;font-size:.72rem;font-weight:850}.section-title{letter-spacing:-.035em;margin:0;font-family:Iowan Old Style,Noto Serif SC,Georgia,serif;font-size:clamp(2.2rem,5vw,4rem);line-height:1.05}.text-link{color:var(--muted);font-size:.9rem;font-weight:700}.text-link:hover{color:var(--accent)}.post-grid{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.post-card{border-bottom:1px solid var(--line);min-width:0}.post-card:nth-child(odd){border-right:1px solid var(--line)}.post-card-link{flex-direction:column;height:100%;min-height:285px;padding:28px;transition:background .2s;display:flex}.post-card-link:hover{background:color-mix(in srgb, var(--surface) 72%, transparent)}.post-card-meta{color:var(--muted);letter-spacing:.06em;gap:9px;font-size:.75rem;font-weight:700;display:flex}.post-card h3{letter-spacing:-.025em;max-width:520px;margin:35px 0 13px;font-size:clamp(1.35rem,3vw,2rem);line-height:1.2}.post-card p{max-width:560px;color:var(--muted);margin:0 0 26px}.post-card-footer{justify-content:space-between;align-items:end;gap:16px;margin-top:auto;display:flex}.tag-row{flex-wrap:wrap;gap:7px;display:flex}.tag{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:4px 9px;font-size:.68rem;font-weight:700}.arrow{color:var(--accent);font-size:1.35rem;transition:transform .2s}.post-card-link:hover .arrow{transform:translate(3px,-3px)}.mini-about{grid-template-columns:1fr 1fr;align-items:start;gap:70px;display:grid}.mini-about .lead{letter-spacing:-.03em;margin:0;font-family:Iowan Old Style,Noto Serif SC,Georgia,serif;font-size:clamp(2rem,4vw,3.4rem);line-height:1.15}.mini-about-copy{color:var(--muted);font-size:1.05rem}.mini-about-copy p:first-child{margin-top:0}.page-hero{padding:88px 0 56px}.page-hero h1{letter-spacing:-.05em;max-width:760px;margin:0;font-family:Iowan Old Style,Noto Serif SC,Georgia,serif;font-size:clamp(3.2rem,7vw,6.7rem);line-height:1}.page-hero .intro{max-width:620px;color:var(--muted);margin:25px 0 0;font-size:1.1rem}.project-list{gap:18px;display:grid}.project-card{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--surface) 68%, transparent);grid-template-columns:90px 1fr auto;align-items:center;gap:28px;padding:30px;display:grid}.project-number{color:var(--accent);font-family:Georgia,serif;font-size:2.2rem;font-style:italic}.project-card h2{margin:0 0 8px;font-size:1.5rem}.project-card p{color:var(--muted);margin:0}.project-status{background:var(--accent-soft);color:var(--accent-ink);white-space:nowrap;border-radius:999px;align-self:start;padding:6px 10px;font-size:.7rem;font-weight:800}.about-grid{grid-template-columns:.65fr 1.35fr;gap:72px;padding-bottom:90px;display:grid}.profile-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:26px;position:sticky;top:110px}.profile-avatar{aspect-ratio:3/4;object-fit:cover;object-position:center 28%;border-radius:18px;width:100%;height:auto;display:block}.profile-card h2{margin:22px 0 3px}.profile-card p{color:var(--muted);margin:0}.identity-list{border-top:1px solid var(--line);color:var(--muted);gap:7px;margin:20px 0 0;padding:18px 0 0;font-size:.82rem;list-style:none;display:grid}.identity-list li:before{content:"·";color:var(--accent);margin-right:8px;font-weight:900}.profile-links{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.profile-links a{border:1px solid var(--line);color:var(--text);border-radius:999px;padding:8px 11px;font-size:.76rem;font-weight:750}.profile-links a:hover{border-color:var(--accent);color:var(--accent-ink)}.about-copy{font-size:1.1rem}.about-section{padding:0 0 58px}.about-section+.about-section{border-top:1px solid var(--line);padding-top:54px}.about-copy h2{letter-spacing:-.025em;margin:8px 0 15px;font-size:clamp(1.65rem,3vw,2.15rem)}.about-copy p{color:var(--muted)}.about-lede{font-size:1.18rem;line-height:1.75;color:var(--text)!important}.title-alias{color:var(--muted);letter-spacing:-.01em;white-space:nowrap;font-size:.42em;font-weight:600}.focus-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:28px;display:grid}.focus-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:22px}.focus-card>span{color:var(--accent);letter-spacing:.12em;font-size:.7rem;font-weight:850}.focus-card h3{margin:28px 0 8px;font-size:1.05rem}.focus-card p{margin:0;font-size:.9rem}.resume-list{border-top:1px solid var(--line);margin-top:28px;display:grid}.resume-item{border-bottom:1px solid var(--line);padding:28px 0}.resume-item h3{margin:11px 0 8px;font-size:1.22rem}.resume-item p{margin:0;font-size:.96rem}.resume-meta{color:var(--accent-ink);flex-wrap:wrap;justify-content:space-between;gap:8px 16px;font-size:.75rem;display:flex}.resume-meta strong{font-weight:800}.skill-cloud{flex-wrap:wrap;gap:10px;margin-top:26px;display:flex}.skill-cloud span{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;padding:9px 13px;font-size:.8rem;font-weight:700}.future-card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)!important;padding:38px!important}.future-card p{max-width:720px}.future-links{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.principles{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px;display:grid}.principle{border:1px solid var(--line);border-radius:14px;padding:18px}.principle strong{margin-bottom:6px;display:block}.principle span{color:var(--muted);font-size:.86rem}.article-header{max-width:850px;padding:88px 0 46px}.article-header h1{letter-spacing:-.045em;margin:22px 0;font-family:Iowan Old Style,Noto Serif SC,Georgia,serif;font-size:clamp(2.8rem,7vw,5.8rem);line-height:1.05}.article-description{color:var(--muted);font-size:1.15rem}.article-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;font-size:.82rem;display:flex}.article-wrap{grid-template-columns:minmax(0,760px) 1fr;gap:70px;padding-bottom:100px;display:grid}.prose{min-width:0;font-size:1.06rem;line-height:1.9}.prose h2,.prose h3{color:var(--text);letter-spacing:-.02em;line-height:1.3}.prose h2{margin:2.5em 0 .7em;font-size:1.85rem}.prose h3{margin:2em 0 .6em;font-size:1.35rem}.prose p,.prose li{color:color-mix(in srgb, var(--text) 82%, var(--muted))}.prose a{color:var(--accent);text-underline-offset:4px;text-decoration:underline}.prose blockquote{border-left:3px solid var(--accent);margin:2em 0;padding:4px 0 4px 22px;font-family:Georgia,serif;font-size:1.18rem}.prose code{background:var(--surface-strong);border-radius:6px;padding:2px 6px;font-size:.88em}.prose pre{border:1px solid var(--line);border-radius:15px;padding:22px;overflow-x:auto;background:var(--surface)!important}.prose pre code{background:0 0;padding:0}.article-aside{border-left:1px solid var(--line);color:var(--muted);padding-left:25px;font-size:.85rem}.article-aside p{margin-top:0}.empty-state{text-align:center;padding:70px 0 100px}.empty-state .code{color:var(--accent);font-family:Georgia,serif;font-size:clamp(5rem,18vw,12rem);font-style:italic;line-height:1}.empty-state h1{margin:10px 0;font-size:2rem}.empty-state p{color:var(--muted)}.site-footer{border-top:1px solid var(--line);padding:52px 0}.footer-inner{color:var(--muted);justify-content:space-between;align-items:end;gap:30px;font-size:.83rem;display:flex}.footer-inner p{margin:4px 0 0}.footer-sign{color:var(--text);letter-spacing:.18em;font-size:1rem;font-weight:900}.footer-links{flex-wrap:wrap;justify-content:end;gap:22px;display:flex}.footer-links a:hover{color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.theme-toggle,.button,.post-card-link{transition:transform .2s,background .2s,border-color .2s,color .2s}@media (width<=820px){.shell{width:min(calc(100% - 28px), var(--shell))}.header-inner{gap:12px;min-height:70px}.brand-copy{display:none}.nav{gap:14px;margin-left:auto}.nav a{font-size:.82rem}.hero{padding-top:62px}.hero-grid,.mini-about,.about-grid,.article-wrap{grid-template-columns:1fr;gap:36px}.signal-card{min-height:250px}.post-grid{grid-template-columns:1fr}.post-card:nth-child(odd){border-right:0}.project-card{grid-template-columns:55px 1fr;gap:18px}.project-status{grid-column:2;justify-self:start}.profile-card{max-width:370px;position:static}.principles,.focus-grid{grid-template-columns:1fr}.article-aside{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}}@media (width<=520px){.header-inner{flex-wrap:wrap;padding-block:10px}.brand{order:1}.theme-toggle{order:2}.nav{scrollbar-width:none;order:3;gap:18px;width:100%;margin-left:0;padding:4px 0 2px;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav a{white-space:nowrap;flex:none}.brand-mark{width:35px;height:35px}.nav a{font-size:.76rem}.theme-toggle{width:35px;height:35px}.display-title{font-size:clamp(3.2rem,17vw,5rem)}.section-heading,.footer-inner{flex-direction:column;align-items:start}.footer-links{justify-content:start}.project-card{padding:22px}.future-card{padding:26px!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
