@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&family=Libre+Sans:ital,wght@0,300;0,400;0,500;1,300&family=Noto+Serif+SC:wght@400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg: #FAF7F2;--bg-warm: #F5EFE6;--bg-card: #FFFDF9;--bg-wash: #EFE8DC;--primary: #4A3728;--primary-deep: #2E1F14;--secondary: #8B6F5E;--accent: #C4846A;--accent-light: #E8B4A0;--accent-warm: #D4956A;--text: #2E1F14;--text-muted: #7A6355;--text-faint: #B0A090;--border: #E0D5C8;--border-deep: #C8BAA8;--mri-green: #5C8A6A;--mri-green-bg: #EDF4EE;--mri-amber: #C8884A;--mri-amber-bg: #FDF3E7;--shadow-sm: 0 2px 8px rgba(74,55,40,.07);--shadow-md: 0 4px 20px rgba(74,55,40,.1);--shadow-lg: 0 12px 40px rgba(74,55,40,.13);--shadow-hover: 0 16px 48px rgba(74,55,40,.15);--font-display: "Cormorant Garamond", "Noto Serif SC", serif;--font-body: "Libre Sans", "Noto Sans SC", sans-serif;--font-mono: "JetBrains Mono", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-sm: 6px;--radius: 12px;--radius-lg: 20px;--radius-full: 9999px;--ease-out: cubic-bezier(.16,1,.3,1);--ease-spring: cubic-bezier(.34,1.56,.64,1);--duration: .35s;--transition: var(--duration) var(--ease-out)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-body);background-color:var(--bg);color:var(--text);line-height:1.75;min-height:100vh;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='400' height='400' filter='url(%23n)' opacity='.025'/%3E%3C/svg%3E");background-repeat:repeat}img{max-width:100%;height:auto;display:block}a{color:var(--primary);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--accent)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.25;color:var(--primary-deep)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-warm)}::-webkit-scrollbar-thumb{background:var(--border-deep);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--secondary)}::selection{background:var(--accent-light);color:var(--primary-deep)}.container{max-width:1100px;margin:0 auto;padding:0 var(--space-6)}.container--narrow{max-width:760px}.site-header{position:sticky;top:0;z-index:100;background:var(--primary-deep);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.06);transition:box-shadow var(--transition)}.site-header.scrolled{box-shadow:0 4px 24px #00000040}.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px;max-width:1100px;margin:0 auto;padding:0 var(--space-6)}.site-logo{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;color:var(--bg);letter-spacing:.5px;display:flex;align-items:center;gap:var(--space-2)}.site-logo .logo-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block;animation:pulse 2.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}.site-nav{display:flex;align-items:center;gap:var(--space-2);list-style:none}.site-nav a{color:#faf7f2a6;font-size:var(--text-sm);font-weight:400;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:all var(--transition);letter-spacing:.3px}.site-nav a:hover,.site-nav a.active{color:var(--bg);background:#ffffff14}.site-nav a.active{background:#ffffff1f}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:var(--space-2)}.nav-toggle svg{width:22px;height:22px;fill:var(--bg)}@media (max-width: 768px){.nav-toggle{display:block}.site-nav{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;background:var(--primary-deep);padding:var(--space-4);gap:var(--space-1);border-top:1px solid rgba(255,255,255,.06);box-shadow:0 8px 24px #0000004d}.site-nav.open{display:flex}.site-nav a{width:100%;padding:var(--space-3) var(--space-4);text-align:center}}.hero{padding:var(--space-20) 0 var(--space-16);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-60px;right:-120px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(196,132,106,.08) 0%,transparent 70%);pointer-events:none}.hero:after{content:"";position:absolute;bottom:-40px;left:-80px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(92,138,106,.06) 0%,transparent 70%);pointer-events:none}.hero-inner{display:grid;grid-template-columns:auto 1fr;gap:var(--space-12);align-items:center}.hero-avatar{position:relative;flex-shrink:0}.hero-avatar img{width:160px;height:160px;border-radius:50%;object-fit:cover;border:4px solid var(--border);box-shadow:var(--shadow-lg);transition:transform var(--transition),box-shadow var(--transition)}.hero-avatar img:hover{transform:scale(1.03);box-shadow:var(--shadow-hover)}.hero-avatar:after{content:"";position:absolute;inset:-8px;border-radius:50%;border:1.5px dashed var(--border-deep);opacity:.4;animation:spin-slow 30s linear infinite}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hero-greeting{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:500;color:var(--primary-deep);line-height:1.1;margin-bottom:var(--space-4);letter-spacing:-1px}.hero-greeting em{color:var(--accent);font-style:italic}.hero-subtitle{font-size:var(--text-lg);color:var(--text-muted);margin-bottom:var(--space-6);font-weight:300;line-height:1.6}.hero-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-6)}.hero-tag{display:inline-flex;align-items:center;gap:var(--space-1);background:var(--bg-warm);border:1px solid var(--border);color:var(--text-muted);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);transition:all var(--transition)}.hero-tag:hover{background:var(--primary);color:var(--bg);border-color:var(--primary)}.hero-links{display:flex;gap:var(--space-3);align-items:center}.hero-link{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-sm);transition:all var(--transition)}.hero-link:hover{color:var(--accent);transform:translateY(-1px)}.hero-link svg{width:18px;height:18px}@media (max-width: 640px){.hero-inner{grid-template-columns:1fr;text-align:center;gap:var(--space-8)}.hero-avatar{display:flex;justify-content:center}.hero-tags,.hero-links{justify-content:center}.hero-greeting{font-size:var(--text-4xl)}}.section{padding:var(--space-16) 0}.section+.section{border-top:1px solid var(--border)}.section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-8);gap:var(--space-4)}.section-title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:600;color:var(--primary-deep);position:relative}.section-title:after{content:"";display:block;width:36px;height:3px;background:var(--accent);border-radius:2px;margin-top:var(--space-2)}.section-title.centered:after{margin-left:auto;margin-right:auto}.section-title.centered{text-align:center}.section-link{font-size:var(--text-sm);color:var(--text-muted);display:flex;align-items:center;gap:var(--space-1);white-space:nowrap;transition:color var(--transition)}.section-link:hover{color:var(--accent)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-6)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:all var(--transition);display:flex;flex-direction:column;gap:var(--space-3);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-light));opacity:0;transition:opacity var(--transition)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:var(--border-deep)}.card:hover:before{opacity:1}.card-meta{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--text-faint)}.card-meta-dot{width:3px;height:3px;border-radius:50%;background:var(--text-faint);flex-shrink:0}.card-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;color:var(--primary-deep);line-height:1.3;transition:color var(--transition)}.card:hover .card-title{color:var(--accent)}.card-excerpt{font-size:var(--text-sm);color:var(--text-muted);line-height:1.65;flex:1}.card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-3);border-top:1px solid var(--border);margin-top:auto}.card-tags{display:flex;gap:var(--space-2);flex-wrap:wrap}.tag{display:inline-block;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500;background:var(--bg-warm);color:var(--text-muted);border:1px solid var(--border);transition:all var(--transition)}.tag:hover{background:var(--primary);color:var(--bg);border-color:var(--primary)}.tag--mri{background:var(--mri-green-bg);color:var(--mri-green);border-color:#5c8a6a4d}.tag--log{background:var(--mri-amber-bg);color:var(--mri-amber);border-color:#c8884a4d}.tag--note{background:#eef2ff;color:#5b6abf;border-color:#5b6abf4d}.card-views{display:flex;align-items:center;gap:4px;font-size:var(--text-xs);color:var(--text-faint)}.card-views svg{width:12px;height:12px}.mri-zone-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}.mri-zone-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-8);transition:all var(--transition);position:relative;overflow:hidden}.mri-zone-card--notes{background:linear-gradient(135deg,var(--mri-green-bg) 0%,var(--bg-card) 60%);border-color:#5c8a6a40}.mri-zone-card--logs{background:linear-gradient(135deg,var(--mri-amber-bg) 0%,var(--bg-card) 60%);border-color:#c8884a40}.mri-zone-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.mri-zone-icon{font-size:2.5rem;margin-bottom:var(--space-4);display:block}.mri-zone-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;color:var(--primary-deep);margin-bottom:var(--space-2)}.mri-zone-desc{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-6);line-height:1.6}.mri-zone-count{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:500}.mri-zone-card--notes .mri-zone-count{color:var(--mri-green)}.mri-zone-card--logs .mri-zone-count{color:var(--mri-amber)}@media (max-width: 640px){.mri-zone-grid{grid-template-columns:1fr}}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:start}.about-text{font-size:var(--text-base);color:var(--text-muted);line-height:1.85}.about-text p+p{margin-top:var(--space-4)}.about-divider{width:48px;height:2px;background:linear-gradient(90deg,var(--accent),transparent);margin:var(--space-4) 0;border-radius:2px}.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.stat-card{background:var(--bg-warm);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5) var(--space-5);text-align:center;transition:all var(--transition);display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:110px}.stat-card:hover{background:var(--primary);border-color:var(--primary);transform:translateY(-2px)}.stat-number{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:700;color:var(--accent);line-height:1;display:block;transition:color var(--transition)}.stat-card:hover .stat-number{color:var(--bg)}.stat-label{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-1);display:block;transition:color var(--transition)}.stat-card:hover .stat-label{color:#faf7f2b3}@media (max-width: 768px){.about-grid{grid-template-columns:1fr}}.site-footer{background:var(--primary-deep);color:#faf7f2a6;padding:var(--space-12) 0 var(--space-8);margin-top:var(--space-20)}.footer-inner{max-width:1100px;margin:0 auto;padding:0 var(--space-6)}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:var(--space-10);margin-bottom:var(--space-10)}.footer-brand{font-family:var(--font-display);font-size:var(--text-xl);color:var(--bg);margin-bottom:var(--space-3);font-weight:600}.footer-desc{font-size:var(--text-sm);line-height:1.7;color:#faf7f280}.footer-heading{font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;color:#faf7f266;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:var(--space-4)}.footer-links{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.footer-links a{color:#faf7f28c;font-size:var(--text-sm);transition:all var(--transition)}.footer-links a:hover{color:var(--accent-light);padding-left:4px}.footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding-top:var(--space-6);display:flex;align-items:center;justify-content:space-between;font-size:var(--text-xs);color:#faf7f24d}.footer-quote{font-family:var(--font-display);font-style:italic;font-size:var(--text-sm);color:#faf7f259}@media (max-width: 768px){.footer-grid{grid-template-columns:1fr;gap:var(--space-8)}.footer-bottom{flex-direction:column;gap:var(--space-2);text-align:center}}.page-header{padding:var(--space-12) 0 var(--space-10);border-bottom:1px solid var(--border);margin-bottom:var(--space-10);position:relative;overflow:hidden}.page-header:before{content:"";position:absolute;top:-40px;right:-40px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(196,132,106,.06) 0%,transparent 70%)}.page-title{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:600;color:var(--primary-deep);margin-bottom:var(--space-3)}.page-subtitle{font-size:var(--text-base);color:var(--text-muted)}.filter-bar{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-8);padding:var(--space-3) var(--space-6);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-full);flex-wrap:wrap}.filter-label{font-size:var(--text-sm);color:var(--text-muted);font-weight:500;white-space:nowrap}.filter-btn{background:none;border:1px solid var(--border);color:var(--text-muted);padding:6px 16px;border-radius:999px;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition);font-family:var(--font-body)}.filter-btn:hover{border-color:var(--primary);color:var(--primary)}.filter-btn.active{background:var(--primary);color:var(--bg);border-color:var(--primary)}.post-list{display:flex;flex-direction:column;gap:var(--space-6)}.post-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-8);transition:all var(--transition);display:grid;grid-template-columns:1fr auto;gap:var(--space-4);align-items:start;position:relative;overflow:hidden}.post-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--border);transition:background var(--transition)}.post-item:hover{transform:translate(4px);box-shadow:var(--shadow-md);border-color:var(--border-deep)}.post-item:hover:before{background:var(--accent)}.post-item-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;color:var(--primary-deep);line-height:1.3;margin-bottom:var(--space-2);transition:color var(--transition)}.post-item:hover .post-item-title{color:var(--accent)}.post-item-meta{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--text-faint);margin-bottom:var(--space-3);flex-wrap:wrap}.post-item-excerpt{font-size:var(--text-sm);color:var(--text-muted);line-height:1.7}.post-item-aside{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding-left:var(--space-6);border-left:1px solid var(--border);text-align:center;flex-shrink:0}.post-views{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:var(--text-faint);line-height:1}.post-views-label{font-size:var(--text-xs);color:var(--text-faint)}@media (max-width: 640px){.post-item{grid-template-columns:1fr}.post-item-aside{flex-direction:row;border-left:none;padding-left:0;border-top:1px solid var(--border);padding-top:var(--space-3)}}.article-header{max-width:760px;margin:0 auto;padding:var(--space-12) var(--space-6) var(--space-8)}.article-title{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;color:var(--primary-deep);line-height:1.2;margin-bottom:var(--space-6);letter-spacing:-.5px}.article-meta{display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-sm);color:var(--text-muted);flex-wrap:wrap}.article-meta-item{display:flex;align-items:center;gap:var(--space-2)}.article-cover{max-width:900px;margin:0 auto var(--space-10);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}.article-cover img{width:100%;max-height:480px;object-fit:cover}.article-body{max-width:760px;margin:0 auto;padding:0 var(--space-6) var(--space-16);font-size:var(--text-lg);line-height:1.85;color:var(--text)}.article-body h2{font-size:var(--text-2xl);margin:var(--space-10) 0 var(--space-4);color:var(--primary-deep)}.article-body h3{font-size:var(--text-xl);margin:var(--space-8) 0 var(--space-3);color:var(--primary-deep)}.article-body p{margin-bottom:var(--space-5)}.article-body ul,.article-body ol{margin:var(--space-4) 0 var(--space-5) 0;padding-left:1.5em;list-style-position:inside}.article-body li{margin-bottom:var(--space-2);padding-left:.25em}.article-body code{font-family:var(--font-mono);font-size:.9em;background:var(--bg-warm);padding:2px 6px;border-radius:4px;color:var(--accent-warm);border:1px solid var(--border)}.article-body pre{background:var(--primary-deep);color:var(--bg);padding:var(--space-5);border-radius:var(--radius);overflow-x:auto;margin:var(--space-6) 0;font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.7}.article-body blockquote{border-left:4px solid var(--accent);padding:var(--space-3) var(--space-6);margin:var(--space-6) 0;background:var(--bg-warm);border-radius:0 var(--radius) var(--radius) 0;font-style:italic;color:var(--text-muted)}.katex-display{overflow-x:auto;overflow-y:hidden;padding:var(--space-3) 0;font-size:1.05em}.katex-display>.katex{max-width:100%;white-space:nowrap}.katex{font-size:1em}.article-body img{max-width:100%;height:auto;border-radius:var(--radius);margin:var(--space-6) auto;display:block;box-shadow:var(--shadow-sm)}@media (min-width: 1100px){.article-body img{max-width:min(100%,900px);margin-left:auto;margin-right:auto}}.article-body table{width:100%;border-collapse:collapse;margin:var(--space-6) 0;font-size:var(--text-base)}.article-body th,.article-body td{padding:var(--space-2) var(--space-4);border:1px solid var(--border);text-align:left}.article-body th{background:var(--bg-warm);font-weight:600;color:var(--primary-deep);font-family:var(--font-display)}.article-body tr:nth-child(2n) td{background:#faf7f280}.article-body hr{border:none;border-top:1px solid var(--border);margin:var(--space-10) 0}.gitalk-container{max-width:760px;margin:0 auto var(--space-16);padding:0 var(--space-6)}.gallery-grid{columns:3;column-gap:var(--space-4)}.gallery-item{break-inside:avoid;margin-bottom:var(--space-4);border-radius:var(--radius);overflow:hidden;position:relative;cursor:pointer}.gallery-item img{width:100%;transition:transform .5s var(--ease-out),filter .5s}.gallery-item:hover img{transform:scale(1.04);filter:brightness(.85)}.gallery-caption{position:absolute;bottom:0;left:0;right:0;padding:var(--space-4) var(--space-4) var(--space-3);background:linear-gradient(transparent,#2e1f14b3);color:#faf7f2e6;font-size:var(--text-xs);font-weight:500;transform:translateY(100%);transition:transform .3s var(--ease-out)}.gallery-item:hover .gallery-caption{transform:translateY(0)}@media (max-width: 768px){.gallery-grid{columns:2}}@media (max-width: 480px){.gallery-grid{columns:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeInUp .6s var(--ease-out) both}.animate-in:nth-child(1){animation-delay:0ms}.animate-in:nth-child(2){animation-delay:80ms}.animate-in:nth-child(3){animation-delay:.16s}.animate-in:nth-child(4){animation-delay:.24s}.animate-in:nth-child(5){animation-delay:.32s}.animate-in:nth-child(6){animation-delay:.4s}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.hero-inner>*{animation:fadeInUp .8s var(--ease-out) both}.hero-avatar{animation-delay:0ms}.hero-greeting{animation-delay:.1s}.hero-subtitle{animation-delay:.2s}.hero-tags{animation-delay:.3s}.hero-links{animation-delay:.4s}.stagger-children>*{animation:fadeInUp .6s var(--ease-out) both}.stagger-children>*:nth-child(1){animation-delay:0ms}.stagger-children>*:nth-child(2){animation-delay:.1s}.stagger-children>*:nth-child(3){animation-delay:.2s}.stagger-children>*:nth-child(4){animation-delay:.3s}.stagger-children>*:nth-child(5){animation-delay:.4s}.stagger-children>*:nth-child(6){animation-delay:.5s}.callout{border-radius:var(--radius);padding:0;margin:var(--space-6) 0;border:1px solid;overflow:hidden;box-shadow:var(--shadow-sm)}.callout-header{padding:.6rem 1rem;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:.4rem;border-bottom:1px solid}.callout-body{padding:.875rem 1rem}.callout-body>*:first-child{margin-top:0}.callout-body>*:last-child{margin-bottom:0}.callout-note,.callout-info{background:#eff6ff;border-color:#bfdbfe}.callout-note .callout-header,.callout-info .callout-header{background:#dbeafe;color:#1d4ed8;border-bottom-color:#bfdbfe}.callout-tip,.callout-success{background:#f0fdf4;border-color:#bbf7d0}.callout-tip .callout-header,.callout-success .callout-header{background:#dcfce7;color:#15803d;border-bottom-color:#bbf7d0}.callout-warning{background:#fffbeb;border-color:#fde68a}.callout-warning .callout-header{background:#fef3c7;color:#b45309;border-bottom-color:#fde68a}.callout-caution{background:#fff7ed;border-color:#fed7aa}.callout-caution .callout-header{background:#ffedd5;color:#c2410c;border-bottom-color:#fed7aa}.callout-danger,.callout-failure,.callout-bug{background:#fef2f2;border-color:#fecaca}.callout-danger .callout-header,.callout-failure .callout-header,.callout-bug .callout-header{background:#fee2e2;color:#b91c1c;border-bottom-color:#fecaca}.callout-example,.callout-question{background:#f5f3ff;border-color:#ddd6fe}.callout-example .callout-header,.callout-question .callout-header{background:#ede9fe;color:#6d28d9;border-bottom-color:#ddd6fe}.callout-quote{background:#f9fafb;border-color:#e5e7eb}.callout-quote .callout-header{background:#f3f4f6;color:#4b5563;border-bottom-color:#e5e7eb}a.internal-link,.article-body a[href^="/notes/"]{color:var(--accent);text-decoration:underline;text-decoration-color:#c4846a66;text-underline-offset:3px;transition:color var(--transition),text-decoration-color var(--transition)}a.internal-link:hover,.article-body a[href^="/notes/"]:hover{color:var(--primary-deep);text-decoration-color:var(--primary-deep)}.wiki-link-missing{color:var(--text-faint);font-style:italic;cursor:help}.mermaid-wrapper{margin:var(--space-8) 0;text-align:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6);overflow-x:auto}.mermaid-wrapper svg{max-width:100%;height:auto;display:inline-block}.mermaid{display:none}.mermaid-rendered{display:block}.article-body h2 .emoji,.article-body h3 .emoji,.article-body h2 img.emoji,.article-body h3 img.emoji{display:inline;width:1.2em;height:1.2em;vertical-align:middle;margin-right:.3em}.article-body .heading-wrapper{position:relative}.article-body h2,.article-body h3,.article-body h4{scroll-margin-top:80px}.article-body h2 a,.article-body h3 a,.article-body h4 a{color:inherit;text-decoration:none}.article-body blockquote:not(.callout *){border-left:3px solid var(--accent);margin:var(--space-6) 0;padding:.75rem 1.25rem;background:var(--bg-warm);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-muted);font-style:italic}.article-body blockquote:not(.callout *) p:last-child{margin-bottom:0}.article-body pre.astro-code{background-color:#f5ede3!important;color:#4a3728!important;border-radius:var(--radius)!important;overflow-x:auto;margin:var(--space-6) 0!important;padding:1.25rem 1.25rem 1.25rem 1.75rem!important;font-family:var(--font-mono)!important;font-size:.875rem!important;line-height:.9!important;border:1px solid #ddd0c0!important;box-shadow:var(--shadow-sm)!important}.article-body pre.astro-code code{font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;background:transparent!important;border:none!important;padding:0!important;border-radius:0!important;color:inherit!important}.article-body pre.astro-code .line{display:block;line-height:.9!important}.article-body pre.astro-code,.article-body pre.astro-code *{color:#4a3728!important}.article-body pre.astro-code span[class*=keyword],.article-body pre.astro-code span[class*=storage]{color:#8b5e3c!important}.article-body pre.astro-code span[class*=string]{color:#6b8e5a!important}.article-body pre.astro-code span[class*=comment]{color:#a09080!important;font-style:italic!important}.article-body pre.astro-code span[class*=number],.article-body pre.astro-code span[class*=constant]{color:#c4846a!important}.article-body pre.astro-code span[class*=operator]{color:#8b6f5e!important}.article-body pre.astro-code span[class*=function],.article-body pre.astro-code span[class*=title]{color:#6b5b8a!important}.article-body pre.astro-code span[class*=built_in],.article-body pre.astro-code span[class*=type]{color:#7b6ba0!important}.article-body pre.astro-code span[class*=variable]{color:#4a3728!important}.article-body pre.astro-code span[class*=attr]{color:#8b6f5e!important}.article-body pre.astro-code span[class*=meta]{color:#a09080!important}.article-body pre.astro-code span[class*=punct]{color:#8b6f5e!important}.article-body pre .hljs-keyword{color:#8b5e3c;font-weight:600}.article-body pre .hljs-string{color:#6b8e5a}.article-body pre .hljs-comment{color:#a09080;font-style:italic}.article-body pre .hljs-number{color:#c4846a}.article-body pre .hljs-operator{color:#8b6f5e}.article-body pre .hljs-built_in{color:#7b6ba0}.article-body pre .hljs-variable{color:#4a3728}.article-body pre .hljs-function,.article-body pre .hljs-title{color:#6b5b8a}.article-body pre .hljs-params{color:#8b5e3c}.article-body pre .hljs-attr{color:#8b6f5e}.article-body pre .hljs-literal{color:#c4846a}.article-body pre .hljs-type{color:#7b6ba0}.article-body pre .hljs-meta{color:#a09080}.article-body pre .hljs-symbol{color:#6b8e5a}.article-body pre[class*=language-]:before,.article-body pre .lang-label{display:none}.article-body code{font-family:var(--font-mono);font-size:.875em;background:var(--bg-warm);padding:2px 6px;border-radius:4px;color:var(--accent-warm);border:1px solid var(--border)}.article-body p>code,.article-body li>code{background:#c4846a1a;border:1px solid rgba(196,132,106,.2);color:var(--primary-deep)}.article-body pre{position:relative}.code-copy-btn{position:absolute;top:.6rem;right:.6rem;display:flex;align-items:center;gap:.25rem;padding:.3rem .55rem;background:#4a37280f;border:1px solid rgba(74,55,40,.15);border-radius:6px;color:#a09080;font-family:var(--font-body);font-size:.7rem;cursor:pointer;opacity:0;transition:opacity .2s,background .15s,color .15s;user-select:none;z-index:1}.article-body pre:hover .code-copy-btn{opacity:1}.code-copy-btn:hover{background:#4a37281f;color:#4a3728}.code-copy-btn.copied{color:#6b8e5a;border-color:#6b8e5a4d;opacity:1}.code-copy-btn svg{width:13px;height:13px;flex-shrink:0}.note-toc{background:var(--bg-warm);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;margin-bottom:2rem}.note-toc-title{font-size:.75rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-faint);margin-bottom:.75rem}.note-toc-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}.note-toc-list a{font-size:.875rem;color:var(--text-muted);text-decoration:none;transition:color var(--transition);display:block;padding:.2rem .5rem;border-radius:4px;border-left:2px solid transparent}.note-toc-list a:hover{color:var(--accent);background:#c4846a14;border-left-color:var(--accent)}.note-toc-list .toc-h3{padding-left:1.25rem;font-size:.8rem}.note-toc-list .toc-h4{padding-left:2rem;font-size:.775rem}.note-toc-list a.active{color:var(--accent);font-weight:500;border-left-color:var(--accent);background:#c4846a14}
