:root{--bg: #f4f4f1;--text: #111;--muted: rgba(17, 17, 17, .58);--accent: #2563eb;--line: rgba(17, 17, 17, .08)}*{box-sizing:border-box}html,body{width:100%;height:100%}.manrope-<uniquifier>{font-family:Manrope,sans-serif;font-optical-sizing:auto;font-weight:<weight>;font-style:normal}body{margin:0;background:var(--bg);color:var(--text);overflow:hidden;font-family:Manrope,sans-serif,Helvetica,sans-serif}#ascii-bg{position:fixed;inset:0;z-index:0;pointer-events:none;user-select:none;padding:0;margin:0;display:block;font-size:18px;letter-spacing:0;line-height:1;font-family:Cascadia Code,Courier New,monospace;opacity:.72;white-space:pre}.soft-layer{position:fixed;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to right,#f4f4f1c2,#f4f4f17a 42%,#f4f4f13d)}.page{position:relative;z-index:2;height:100vh;padding:28px clamp(24px,6vw,96px);display:flex;flex-direction:column}header{display:flex;justify-content:space-between;align-items:center;font-size:15px}.brand{color:var(--text);text-decoration:none;letter-spacing:-.03em}.brand strong{font-weight:700}nav{display:flex;gap:22px;align-items:center}nav a{color:var(--muted);text-decoration:none}nav a:hover,nav a.active{color:var(--accent)}main{flex:1;display:grid;grid-template-columns:minmax(0,680px) minmax(240px,1fr);gap:72px;align-items:center;max-width:1120px;width:100%;margin:0 auto}.intro{max-width:680px;padding:24px 28px;border-radius:10px;background:#ffffff29;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}h1{margin:0;font-size:clamp(54px,8vw,112px);line-height:.92;letter-spacing:-.075em;font-weight:500}.description{max-width:560px;margin:28px 0 0;color:var(--text);font-size:clamp(18px,2vw,22px);line-height:1.45;letter-spacing:-.03em}.description span{color:var(--muted)}.links{margin-top:30px;display:flex;gap:16px;flex-wrap:wrap;font-size:16px;font-weight:600}.links a{color:var(--accent);text-decoration:none}.links a:hover{text-decoration:underline;text-underline-offset:4px}.side{align-self:center;max-width:340px;padding:18px 18px 16px;border-radius:10px;background:#ffffff29;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.side-title{margin:0 0 18px;color:var(--muted);font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.posts{display:grid;gap:22px}.post{display:grid;gap:4px;padding-top:16px;border-top:1px solid var(--line)}.post a{color:var(--text);text-decoration:none;font-size:18px;line-height:1.25;letter-spacing:-.03em}.post a:hover{color:var(--accent)}.post time{color:var(--muted);font-size:14px}footer{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:13px}@media(max-width:860px){.page{padding:24px}nav{gap:14px}main{grid-template-columns:1fr;gap:36px;align-content:center}.side{max-width:100%}.side-title{margin-bottom:10px}.posts{gap:10px}.post{padding-top:10px}.post a{font-size:16px}footer{gap:16px}}@media(max-width:520px){header{align-items:flex-start;gap:16px}nav{flex-wrap:wrap;justify-content:flex-end}h1{font-size:clamp(48px,17vw,82px)}.description{font-size:17px}footer{font-size:12px}}.blog-page{min-height:100vh;overflow:auto;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}.blog-static-bg{position:fixed;inset:0;z-index:0;pointer-events:none;user-select:none;background:radial-gradient(circle at 78% 22%,rgba(37,99,235,.16),transparent 32%),radial-gradient(circle at 18% 78%,rgba(147,197,253,.2),transparent 36%),linear-gradient(135deg,#f4f4f1,#eef4ff 48%,#f4f4f1)}.blog-page .soft-layer{background:linear-gradient(to right,#f4f4f1e0,#f4f4f1b3 52%,#f4f4f180)}.blog-shell{position:relative;z-index:2;min-height:100vh;padding:28px clamp(24px,6vw,96px);display:flex;flex-direction:column}.blog-main-v2{flex:1;width:min(860px,100%);margin:0 auto;padding:96px 0;display:block}.blog-index-header{margin-bottom:72px}.blog-index-header h1{margin:0;font-size:clamp(72px,12vw,140px);line-height:.9;letter-spacing:-.08em;font-weight:500}.blog-index-description{max-width:620px;margin:28px 0 0;color:var(--muted);font-size:clamp(18px,2vw,22px);line-height:1.45;letter-spacing:-.03em}.blog-tags{margin-top:32px;display:flex;flex-wrap:wrap;gap:18px;color:var(--muted);font-size:16px;font-weight:600}.blog-tags span{color:var(--accent)}.blog-post-list{margin-top:72px;display:grid;gap:56px}.blog-post-preview{padding-top:32px;border-top:1px solid var(--line)}.blog-post-preview a{color:var(--text);text-decoration:none}.blog-post-preview h2{max-width:760px;margin:0;font-size:clamp(34px,5vw,64px);line-height:.98;letter-spacing:-.07em;font-weight:500}.blog-post-preview a:hover h2{color:var(--accent)}.blog-post-meta{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:15px;font-weight:600}.blog-post-tags{margin-top:10px;display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:15px}.blog-post-tags span{color:var(--muted)}.article-layout{position:relative;z-index:2;min-height:100vh;padding:28px clamp(24px,6vw,96px);display:flex;flex-direction:column}.article-back{display:inline-block;margin-bottom:48px;color:var(--accent);text-decoration:none;font-size:15px;font-weight:600}.article-back:hover{text-decoration:underline;text-underline-offset:4px}.article-header{max-width:880px}.article-header h1{margin:0;max-width:820px;font-size:clamp(54px,8vw,104px);line-height:.94;letter-spacing:-.075em;font-weight:500}.article-content{max-width:720px;margin-top:72px;color:var(--text);font-size:clamp(19px,2vw,23px);line-height:1.65;letter-spacing:-.03em}.article-content h2{margin:64px 0 20px;font-size:clamp(34px,5vw,56px);line-height:.98;letter-spacing:-.065em;font-weight:500}.article-content p{margin:0 0 24px}.article-content ul,.article-content ol{margin:0 0 28px;padding-left:1.2em}.article-content li{margin-bottom:8px}.article-content a{color:var(--accent);text-decoration:none}.article-content a:hover{text-decoration:underline;text-underline-offset:4px}@media(max-width:860px){.blog-shell,.article-layout{padding:24px}.blog-main-v2{padding:48px 0 80px}.article-main-v2{padding:48px 0 88px}}.article-main-v2{flex:1;display:block;grid-template-columns:none;gap:0;align-items:initial;max-width:none;width:min(1040px,100%);margin:0 auto;padding:72px 0 112px}.article-header{max-width:1040px}.article-header h1{margin:0;max-width:980px;font-size:clamp(54px,8vw,104px);line-height:.94;letter-spacing:-.075em;font-weight:500}.article-content{display:block;max-width:920px;margin-top:72px;color:var(--text);font-size:clamp(19px,1.65vw,23px);line-height:1.7;letter-spacing:-.03em}.article-content p{max-width:920px;margin:0 0 26px}.article-content h2{max-width:920px;margin:64px 0 20px;font-size:clamp(34px,5vw,56px);line-height:.98;letter-spacing:-.065em;font-weight:500}.article-content ul,.article-content ol{max-width:920px;margin:0 0 32px;padding-left:1.2em}.side-column{align-self:center;display:grid;gap:28px;max-width:380px;width:100%}.side-column .side{align-self:initial;max-width:100%}.project-list{display:grid;gap:18px;margin:0;padding-left:20px}.project-list li{color:var(--muted);padding-left:6px}.project-list a{display:block;color:var(--text);text-decoration:none;font-size:18px;line-height:1.2;letter-spacing:-.03em}.project-list a:hover{color:var(--accent)}.project-list span{display:block;margin-top:6px;color:var(--muted);font-size:14px;line-height:1.35}@media(max-width:860px){.side-column{max-width:100%;gap:18px}}.project-preview-description{max-width:720px;margin:18px 0 0;color:var(--muted);font-size:clamp(17px,2vw,20px);line-height:1.45;letter-spacing:-.03em}.project-status{margin:0 0 18px;color:var(--accent);font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.article-content img{width:100%;max-width:100%;border-radius:10px;margin:24px 0}.article-content figure{margin:40px 0}.article-content figcaption{margin-top:10px;color:var(--muted);font-size:14px;line-height:1.4}body,.blog-page,.blog-shell,.article-layout,.blog-main-v2,.article-main-v2,.blog-index-header,.blog-post-preview,.article-header,.article-content,.project-preview-description,.project-status{font-family:Manrope,Helvetica,Arial,sans-serif}
