/* Shared visual tokens. No external fonts, UI library, or runtime API required. */
:root{color-scheme:light;--bg:#f7f8fc;--surface:#fff;--ink:#182238;--muted:#596579;--line:#dde3ef;--accent:#4f50cf;--soft:#ececfb;--secondary:#eef4f6;--green:#236748;--green-bg:#edf7f0;--shadow:0 20px 60px -40px #37457655;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}
:root[data-theme=dark]{color-scheme:dark;--bg:#0f1420;--surface:#171e2c;--ink:#ebeff9;--muted:#a6b2c6;--line:#2d384b;--accent:#b2adff;--soft:#242540;--secondary:#1b2c32;--green:#a0dfbb;--green-bg:#19372b;--shadow:none}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#0f1420;--surface:#171e2c;--ink:#ebeff9;--muted:#a6b2c6;--line:#2d384b;--accent:#b2adff;--soft:#242540;--secondary:#1b2c32;--green:#a0dfbb;--green-bg:#19372b;--shadow:none}}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body.home{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}.home a{color:inherit;text-decoration:none}.home a:hover{color:var(--accent)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px;border-radius:4px}.home p,.home h1,.home h2,.home h3,.home h4{margin:0}.home ul{list-style:none;padding:0}.wrap{max-width:1160px;width:calc(100% - 80px);margin-inline:auto}.site-header{display:flex;align-items:center;gap:32px;min-height:100px;border-bottom:1px solid var(--line)}.wordmark{font-size:28px;letter-spacing:-1.5px;font-weight:800;line-height:1.3}.wordmark span{color:var(--accent)}.site-header nav{display:flex;gap:30px;margin-left:auto;font-size:14px}.theme-toggle{cursor:pointer;font:inherit;display:inline-flex;gap:7px;align-items:center;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:7px 12px;border-radius:100px;font-size:12px;min-height:38px}.theme-toggle[hidden]{display:none}.theme-toggle:hover{border-color:var(--accent)}.skip-link{position:absolute;top:-100px;left:16px;padding:10px 20px;background:var(--surface);z-index:20}.skip-link:focus{top:8px}.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:62px;align-items:center;padding:86px 0 88px}.eyebrow,.tiny-label{font-family:var(--mono);font-size:11px;letter-spacing:1.6px;font-weight:500;color:var(--muted)}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:8px;vertical-align:middle}.hero h1{font-size:clamp(36px,4.1vw,56px);line-height:1.35;font-weight:750;letter-spacing:-2px;margin:22px 0}.accent{color:var(--accent)}.hero-description{font-size:16px;line-height:2;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:30px}.button-primary{display:inline-flex;justify-content:center;align-items:center;gap:22px;background:var(--ink);color:var(--bg)!important;padding:12px 22px;border-radius:9px;font-weight:600;font-size:14px;transition:transform .18s}.button-primary:hover{transform:translateY(-2px)}.text-link{font-size:14px;font-weight:600}.hero-note{font-family:var(--mono);font-size:10px;letter-spacing:1.4px;color:var(--muted);margin-top:28px!important}.focus-card{padding:26px 30px 18px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow);transform:rotate(1deg)}.focus-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px;gap:16px}.focus-top .eyebrow{font-size:9px;letter-spacing:1px}.small-mark{font-size:36px;font-weight:800;color:var(--accent);letter-spacing:-3px;line-height:1}.focus-row{display:flex;align-items:flex-start;gap:21px;padding:24px 0;border-bottom:1px solid var(--line)}.focus-number{font:11px var(--mono);color:var(--muted);padding-top:8px}.focus-row h2{font-size:18px;font-weight:650;line-height:1.5}.focus-row p{font-size:12px;color:var(--accent);margin:2px 0 6px}.focus-row div>span{font-size:11px;color:var(--muted)}.focus-footer{display:flex;justify-content:space-between;align-items:center;margin-top:17px;color:var(--muted);font:9px var(--mono);letter-spacing:.8px}.focus-footer>span:last-child{font-size:20px}.section{padding:60px 0;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:26px;margin-bottom:30px}.section-heading h2,.about-section h2{font-size:28px;line-height:1.5;letter-spacing:-.7px;margin-top:9px}.section-heading>p{font-size:13px;color:var(--muted)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.project-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.project-banner{height:174px;background:var(--soft);padding:22px 28px;position:relative;overflow:hidden;color:var(--accent)}.project-data .project-banner{background:var(--secondary);color:var(--muted)}.project-index{font:10px var(--mono);letter-spacing:1px}.project-symbol{position:absolute;right:30px;top:22px;font-size:74px;font-weight:750;letter-spacing:-6px;line-height:1.2;opacity:.8}.project-symbol>span{font-size:30px;letter-spacing:-1px;margin-left:5px}.project-banner p{position:absolute;bottom:23px;left:28px;font:10px/1.6 var(--mono);letter-spacing:1px}.project-body{padding:28px;flex:1}.project-body h3{font-size:24px;letter-spacing:-.5px;line-height:1.4}.project-body h3 a{display:flex;justify-content:space-between}.project-body h3 span{font-size:19px;color:var(--muted)}.project-subtitle{font-weight:600;color:var(--ink)!important;margin:12px 0 8px!important}.project-body>p{font-size:14px;color:var(--muted)}.project-detail{border-left:2px solid var(--line);padding-left:14px;margin:21px 0}.project-detail strong{font-size:12px;font-weight:600}.project-detail p{font-size:12px;color:var(--muted);margin-top:4px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.chips li{border:1px solid var(--line);border-radius:5px;padding:1px 9px;font:11px/2 var(--mono);color:var(--muted)}.disclaimer{font-size:11px!important;line-height:1.7;margin-top:14px!important}.contribution-list{border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden}.contribution{display:grid;grid-template-columns:200px 1fr;gap:30px;padding:29px 32px;border-bottom:1px solid var(--line)}.contribution:last-child{border-bottom:0}.contribution-name h3{font-size:22px;margin:3px 0 10px}.tiny-label{letter-spacing:.6px;font-size:10px}.badge{display:inline-block;border-radius:5px;font-size:10px;padding:3px 8px;font-weight:600}.merged{color:var(--green);background:var(--green-bg)}.submitted{color:var(--accent);background:var(--soft)}.contribution-content h4{font-size:16px;margin:4px 0 8px}.contribution-content p{font-size:13px;color:var(--muted);max-width:680px;margin-bottom:10px}.contribution-content a{font-size:12px;font-weight:500;color:var(--accent)}.link-divider{font-size:12px;color:var(--muted);margin-inline:7px}.section-note{font-size:11px;color:var(--muted);margin-top:18px!important}.note-list{border-top:1px solid var(--line)}.note{display:grid;grid-template-columns:235px 1fr 24px;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}.note h3{font-size:17px;font-weight:600}.note p{font-size:12px;color:var(--muted);margin-top:5px}.note-arrow{font-size:24px;color:var(--muted)}.note:hover h3,.note:hover .note-arrow{color:var(--accent)}.about-section{display:grid;grid-template-columns:1fr 1.3fr;gap:80px}.about-section h2{font-size:32px}.about-copy>p{font-size:14px;color:var(--muted);margin-bottom:16px}.toolkit{border-top:1px solid var(--line);padding-top:16px;margin:22px 0}.toolkit p{font:12px/2.2 var(--mono);margin-top:8px;color:var(--muted)}.contact-section{border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:36px;display:flex;gap:30px;align-items:center;justify-content:space-between;margin:10px 0 60px}.contact-section h2{font-size:22px;margin:10px 0}.contact-section p:not(.eyebrow){font-size:12px;color:var(--muted)}.contact-links{display:flex;align-items:center;gap:22px;flex-shrink:0}.site-footer{border-top:1px solid var(--line);padding:26px 0 36px;display:flex;align-items:center;justify-content:space-between;gap:22px}.site-footer .wordmark{font-size:23px}.site-footer p,.site-footer div{font-size:11px;color:var(--muted)}.site-footer div{display:flex;gap:20px}
/* Icarus remains the blog renderer; only presentation is overridden. */
body:not(.home){background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}body:not(.home) .navbar,body:not(.home) .card,body:not(.home) .footer{background:var(--surface);color:var(--ink)}body:not(.home) .card{border:1px solid var(--line);border-radius:14px;box-shadow:none}body:not(.home) .navbar{box-shadow:none;border-bottom:1px solid var(--line)}body:not(.home) .navbar-item,body:not(.home) .title,body:not(.home) .subtitle,body:not(.home) .content h1,body:not(.home) .content h2,body:not(.home) .content h3,body:not(.home) .content h4,body:not(.home) strong,body:not(.home) .menu-label,body:not(.home) .menu-list a{color:var(--ink)}body:not(.home) .content{font-size:16px;line-height:1.95;overflow-wrap:anywhere}body:not(.home) .content a{color:var(--accent)}body:not(.home) .content h2{margin-top:2.2em;font-size:1.6em}body:not(.home) .content h3{margin-top:1.8em}body:not(.home) .content blockquote{background:var(--soft);border-color:var(--accent);color:var(--ink);border-radius:0 8px 8px 0}body:not(.home) .content img{max-width:100%;height:auto;border-radius:8px}body:not(.home) .content pre{overflow:auto;border-radius:8px}body:not(.home) .content table{display:block;overflow:auto}body:not(.home) .content td,body:not(.home) .content th{border-color:var(--line);color:var(--ink)}body:not(.home) .menu-list a:hover,body:not(.home) .navbar-item:hover{background:var(--soft)}body:not(.home) .has-text-grey,body:not(.home) .article-meta{color:var(--muted)!important}body:not(.home) .message-body{background:var(--soft);border-color:var(--line);color:var(--ink)}body:not(.home) details{border:1px solid var(--line);padding:16px 20px;border-radius:10px;margin:24px 0}body:not(.home) summary{cursor:pointer;font-weight:600}body:not(.home) .tag{background:var(--soft);color:var(--ink)}body:not(.home) .theme-toggle{position:fixed;right:18px;bottom:72px;z-index:40;box-shadow:var(--shadow)}
@media(max-width:950px){.hero{gap:28px}.hero h1{font-size:42px}.focus-card{padding:22px}.section-heading h2{font-size:25px}.note{grid-template-columns:180px 1fr 20px}.about-section{gap:40px}.contact-section{align-items:flex-start;flex-direction:column}.contact-links{gap:26px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.site-header{min-height:88px;gap:16px;flex-wrap:wrap;padding:18px 0}.wordmark{font-size:26px}.site-header nav{order:3;width:100%;justify-content:space-between;margin:0;font-size:13px;gap:16px}.theme-toggle{margin-left:auto}.hero{grid-template-columns:1fr;padding:45px 0 48px;gap:38px}.hero h1{font-size:clamp(33px,7.8vw,48px);letter-spacing:-1.5px}.hero-description{font-size:14px}.desktop-break{display:none}.hero-note{font-size:8px;letter-spacing:1px}.focus-card{transform:none}.focus-row{padding:18px 0}.focus-top .eyebrow{font-size:10px}.section{padding:40px 0}.section-heading{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:24px}.section-heading h2{font-size:23px}.project-grid{grid-template-columns:1fr;gap:22px}.project-banner{height:150px}.project-body{padding:24px}.contribution{grid-template-columns:1fr;gap:14px;padding:24px}.contribution-name{position:relative}.contribution-name .badge{position:absolute;right:0;top:25px}.contribution-name h3{margin-bottom:0}.link-divider{margin-inline:3px}.note{grid-template-columns:1fr 22px;gap:8px;padding:23px 0}.note>.tiny-label{grid-column:1/-1}.note h3{font-size:16px}.about-section{grid-template-columns:1fr;gap:24px}.about-section h2{font-size:28px}.contact-section{padding:26px 24px;margin-bottom:40px}.contact-section h2{font-size:21px}.contact-section .eyebrow{font-size:9px}.site-footer{flex-wrap:wrap;justify-content:flex-start;gap:14px}.site-footer p{margin-left:auto}.site-footer div{width:100%;justify-content:space-between}.section-note{line-height:1.8}.hero-actions{gap:24px}body:not(.home) .content{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.project-card:hover,.button-primary:hover{transform:none}}
@media print{.theme-toggle,.site-header nav,.skip-link{display:none!important}.hero{padding:30px 0}.home,.home .project-card{background:white;color:black}.wrap{width:100%}.project-card,.contribution,.note{break-inside:avoid}.section{padding:25px 0}}
