:root{--bg-primary: #f4f6fb;--bg-surface: #ffffff;--bg-subtle: #edf1f9;--bg-accent-soft: #e0f2fe;--bg-orange-soft: #fff3ed;--bg-midnight: #0b0f26;--bg-midnight-card: #131938;--text-primary: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--border-color: #dbe3f0;--accent-primary: #0284c7;--accent-cyan: #38bdf8;--accent-orange: #ff6b2b;--accent-hover: #0369a1;--accent-dark: #0b0f26;--success: #059669;--warning: #d97706;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 18px;--shadow-sm: 0 2px 6px rgba(11, 15, 38, .05), 0 1px 2px rgba(11, 15, 38, .04);--shadow-md: 0 10px 25px rgba(11, 15, 38, .09);--shadow-glow: 0 0 25px rgba(56, 189, 248, .18);--max-width: 1140px;--content-width: 780px;--font-sans: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", "Meiryo", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace}*,*:before,*:after{box-sizing:border-box}html{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.8;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;overflow-x:clip}body{margin:0;padding:0;min-height:100vh;display:flex;flex-direction:column;overflow-x:clip}main{flex:1}a{color:var(--accent-primary);text-decoration:none;transition:color .15s ease}a:hover{color:var(--accent-hover);text-decoration:underline}img{max-width:100%;height:auto}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.25rem;width:100%}@media(max-width:640px){.container{padding:0 1rem}}.site-header{background:#0b0f26f0;backdrop-filter:blur(12px);border-bottom:1px solid rgba(56,189,248,.22);box-shadow:0 4px 20px #070a1c59;position:sticky;top:0;z-index:50}.site-header:after{content:"";display:block;height:2px;background:linear-gradient(90deg,#38bdf8,#6366f1 55%,#ff6b2b)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:.75rem;flex-wrap:nowrap;padding-top:.45rem;padding-bottom:.45rem}.site-brand{display:flex;align-items:center;gap:.65rem;text-decoration:none!important;color:#f8fafc;min-width:0;flex:1 1 0%}.brand-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid var(--accent-cyan);box-shadow:0 0 10px #38bdf866,inset 0 0 4px #ff6b2b66;flex-shrink:0}.brand-text{display:flex;flex-direction:column;min-width:0}.brand-title{font-weight:800;font-size:1.12rem;line-height:1.2;color:#fff;letter-spacing:-.01em;display:flex;align-items:center;gap:.35rem;white-space:nowrap}.brand-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent-orange);box-shadow:0 0 8px var(--accent-orange);flex-shrink:0}.brand-sub{font-size:.7rem;color:#94a3b8;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:1080px){.brand-sub{display:none}}.menu-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:38px;height:38px;padding:0;background:#38bdf81a;border:1px solid rgba(56,189,248,.3);border-radius:var(--radius-sm);cursor:pointer;color:#f8fafc;flex-shrink:0;transition:background-color .15s ease,border-color .15s ease}.menu-toggle:hover{background:#38bdf833;border-color:var(--accent-cyan)}.menu-toggle-bar{display:block;width:18px;height:2px;background-color:#f8fafc;border-radius:2px;transition:transform .2s ease,opacity .2s ease}.menu-toggle[aria-expanded=true] .menu-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-toggle-bar:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] .menu-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.site-nav{display:flex;align-items:center;gap:.2rem;flex-wrap:nowrap;flex-shrink:0}.nav-link{color:#cbd5e1;font-size:.86rem;font-weight:600;padding:.42rem .68rem;border-radius:var(--radius-sm);text-decoration:none!important;white-space:nowrap;transition:background-color .15s ease,color .15s ease}.nav-link-icon,.nav-link-mobile-only{display:none}.nav-link:hover,.nav-link.active{background-color:#38bdf824;color:var(--accent-cyan)}@media(max-width:860px){.header-inner{min-height:54px;flex-wrap:wrap;padding-top:.35rem;padding-bottom:.35rem}.menu-toggle{display:inline-flex}.site-nav{display:none;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;padding:.6rem 0 .3rem;border-top:1px solid rgba(56,189,248,.18);margin-top:.2rem}.site-nav.is-open{display:grid}.nav-link{padding:.55rem .7rem;background:#131938a6;border:1px solid rgba(56,189,248,.15);font-size:.82rem;display:flex;align-items:center;gap:.35rem}.nav-link-icon{display:inline}.nav-link-mobile-only{display:flex}}@media(max-width:480px){.brand-avatar{width:32px;height:32px}.brand-title{font-size:1rem}}.hero-section{position:relative;background:radial-gradient(circle at 80% 20%,#1e1b4b,#0b0f26 65%,#070a1c);color:#f8fafc;padding:2.75rem 0 3.25rem;border-bottom:1px solid rgba(56,189,248,.2);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:2rem;align-items:center}@media(max-width:900px){.hero-grid{grid-template-columns:minmax(0,1fr);gap:1.5rem}}.hero-badge-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.9rem}.hero-badge{display:inline-flex;align-items:center;gap:.35rem;background:#38bdf824;color:#38bdf8;border:1px solid rgba(56,189,248,.35);font-size:.78rem;font-weight:700;padding:.22rem .8rem;border-radius:999px}.hero-badge-orange{display:inline-flex;align-items:center;gap:.35rem;background:#ff6b2b29;color:#ff854d;border:1px solid rgba(255,107,43,.4);font-size:.78rem;font-weight:700;padding:.22rem .8rem;border-radius:999px}.hero-title{font-size:clamp(1.32rem,4.8vw,2.3rem);font-weight:800;margin:0 0 .85rem;line-height:1.38;letter-spacing:-.02em}.hero-title-accent{background:linear-gradient(90deg,#38bdf8,#818cf8 55%,#ff7e47);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-desc{color:#cbd5e1;font-size:.97rem;max-width:680px;margin:0 0 1.4rem;line-height:1.78}.category-pills{display:flex;gap:.65rem;flex-wrap:wrap}.category-pill{display:inline-flex;align-items:center;gap:.4rem;background:#131938d9;color:#f8fafc;padding:.5rem 1rem;border-radius:999px;font-size:.86rem;font-weight:600;text-decoration:none!important;border:1px solid rgba(56,189,248,.28);transition:all .18s ease}.category-pill:hover{background:#38bdf833;border-color:var(--accent-orange);color:#fff;transform:translateY(-2px)}.hero-visual-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;border:1px solid rgba(56,189,248,.35);box-shadow:0 16px 40px #00000073,0 0 28px #38bdf82e;background:#0b0f26}.hero-banner-img{width:100%;height:220px;object-fit:cover;object-position:center right;display:block}.hero-profile-strip{display:flex;align-items:center;justify-content:space-between;gap:.85rem;padding:.9rem 1.15rem;background:linear-gradient(90deg,#0b0f26f5,#171e44f5);border-top:1px solid rgba(56,189,248,.22);flex-wrap:wrap}.hero-profile-left{display:flex;align-items:center;gap:.75rem;min-width:0}.hero-avatar-img{width:48px;height:48px;border-radius:50%;border:2px solid var(--accent-orange);box-shadow:0 0 12px #ff6b2b66;object-fit:cover;flex-shrink:0}@media(max-width:640px){.hero-section{padding:1.75rem 0 2.15rem}.hero-badge,.hero-badge-orange{font-size:.72rem;padding:.2rem .65rem}.hero-desc{font-size:.9rem;margin-bottom:1.15rem;line-height:1.7}.category-pills{gap:.5rem}.category-pill{padding:.42rem .85rem;font-size:.8rem}.hero-banner-img{height:160px}.hero-profile-strip{padding:.75rem .9rem;gap:.65rem}.hero-avatar-img{width:42px;height:42px}}.section-block{padding:2.75rem 0}@media(max-width:640px){.section-block{padding:1.85rem 0}}.section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.5rem;border-bottom:2px solid var(--border-color);padding-bottom:.65rem;flex-wrap:wrap;gap:.5rem}.section-title{font-size:clamp(1.15rem,3.5vw,1.35rem);font-weight:800;margin:0;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1.35rem}@media(max-width:640px){.cards-grid{grid-template-columns:minmax(0,1fr);gap:1rem}}.article-card{background:var(--bg-surface);border:1px solid var(--border-color);border-top:3px solid var(--accent-primary);border-radius:var(--radius-md);padding:1.4rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;justify-content:space-between;min-width:0;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}@media(max-width:640px){.article-card{padding:1.15rem}}.article-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-top-color:var(--accent-orange)}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.7rem;font-size:.8rem;color:var(--text-muted);flex-wrap:wrap}.badge-category{display:inline-flex;align-items:center;gap:.3rem;background:var(--bg-accent-soft);color:#0369a1;font-weight:700;font-size:.76rem;padding:.22rem .65rem;border-radius:6px;text-decoration:none!important}.card-title{font-size:1.12rem;font-weight:700;line-height:1.45;margin:0 0 .65rem;overflow-wrap:break-word;word-break:break-word}@media(max-width:640px){.card-title{font-size:1.04rem}}.card-title a{color:var(--text-primary);text-decoration:none}.card-title a:hover{color:var(--accent-primary)}.card-desc{font-size:.9rem;color:var(--text-secondary);margin:0 0 1.1rem;line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;border-top:1px solid var(--bg-subtle);padding-top:.75rem;font-size:.8rem;color:var(--text-muted)}.tag-list{display:flex;flex-wrap:wrap;gap:.35rem}.tag-chip{background:var(--bg-subtle);color:var(--text-secondary);font-size:.74rem;padding:.15rem .5rem;border-radius:4px}.breadcrumb{padding:1rem 0 .5rem;font-size:.84rem;color:var(--text-muted);overflow-wrap:break-word;word-break:break-word}@media(max-width:640px){.breadcrumb{padding:.75rem 0 .35rem;font-size:.78rem}}.breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.breadcrumb li{min-width:0}.breadcrumb li+li:before{content:"/";margin-right:.35rem;color:#94a3b8}.post-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:2rem;align-items:start;padding:1.5rem 0 3.5rem}@media(max-width:960px){.post-layout{grid-template-columns:minmax(0,1fr);gap:1.5rem;padding:1rem 0 2.5rem}}.post-main{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:clamp(1.15rem,4vw,2.75rem);box-shadow:var(--shadow-sm);min-width:0;max-width:100%}@media(max-width:640px){.post-main{padding:1.15rem 1rem;border-radius:var(--radius-md)}}.post-header{border-bottom:1px solid var(--border-color);padding-bottom:1.5rem;margin-bottom:1.75rem}@media(max-width:640px){.post-header{padding-bottom:1.15rem;margin-bottom:1.25rem}}.post-title{font-size:clamp(1.32rem,4.2vw,2rem);line-height:1.4;font-weight:800;margin:.75rem 0 1rem;color:var(--text-primary);overflow-wrap:break-word;word-break:break-word}.post-meta-row{display:flex;flex-wrap:wrap;gap:.65rem 1rem;font-size:.84rem;color:var(--text-muted);align-items:center}.toc-box{background:var(--bg-primary);border:1px solid var(--border-color);border-left:4px solid var(--accent-primary);border-radius:var(--radius-md);padding:1.15rem 1.35rem;margin:1.5rem 0 2rem}@media(max-width:640px){.toc-box{padding:.95rem 1rem;margin:1.15rem 0 1.5rem}}.toc-title{font-weight:700;font-size:.95rem;margin:0 0 .65rem;color:var(--text-primary);display:flex;align-items:center;gap:.4rem}.toc-list{margin:0;padding-left:0;list-style:none;font-size:.9rem;line-height:1.7;overflow-wrap:break-word;word-break:break-word}.toc-list li{margin-bottom:.3rem}.toc-list li.depth-2{font-weight:700;padding-left:1rem;position:relative}.toc-list li.depth-2:before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--accent-orange)}.toc-list li.depth-3{margin-left:1.1rem;padding-left:.9rem;font-size:.85rem;border-left:2px solid var(--border-color)}.prose{color:var(--text-primary);font-size:1.02rem;line-height:1.85;overflow-wrap:break-word;word-break:break-word}@media(max-width:640px){.prose{font-size:.96rem;line-height:1.8}}.prose h2{position:relative;font-size:1.42rem;font-weight:800;margin:3.25rem 0 1.25rem;padding:.95rem 1.15rem .95rem 1.35rem;color:#f8fafc;background:linear-gradient(120deg,var(--bg-midnight) 0%,#1a2352 100%);border-radius:var(--radius-sm);border-left:6px solid var(--accent-orange);box-shadow:var(--shadow-sm);line-height:1.45;letter-spacing:.01em;scroll-margin-top:5rem}.prose h2:after{content:"";position:absolute;right:1rem;bottom:.55rem;width:2.5rem;height:3px;border-radius:2px;background:var(--accent-cyan);opacity:.8}.prose h2 code{background:#ffffff1f;color:#fde68a}.prose h3{position:relative;font-size:1.2rem;font-weight:800;margin:2.25rem 0 .95rem;padding:.15rem 0 .55rem 1.05rem;border-bottom:2px solid var(--border-color);line-height:1.5;scroll-margin-top:5rem}.prose h3:before{content:"";position:absolute;left:0;top:.25rem;bottom:.65rem;width:5px;border-radius:3px;background:linear-gradient(180deg,var(--accent-primary) 0%,var(--accent-cyan) 100%)}.prose h3:after{content:"";position:absolute;left:0;bottom:-2px;width:4.5rem;height:2px;background:var(--accent-primary)}.prose h4{font-size:1.06rem;font-weight:700;margin:1.6rem 0 .6rem;padding-left:1.4rem;position:relative}.prose h4:before{content:"";position:absolute;left:.2rem;top:.48em;width:.6rem;height:.6rem;border-radius:50%;border:3px solid var(--accent-orange)}.prose>h2:first-child,.prose>h3:first-child{margin-top:.5rem}@media(max-width:640px){.prose h2{font-size:1.18rem;margin:2.5rem 0 1rem;padding:.75rem .85rem .75rem 1rem;border-left-width:5px}.prose h2:after{display:none}.prose h3{font-size:1.08rem;margin:1.85rem 0 .8rem}.prose h4{font-size:1rem}}.prose hr{border:0;height:1px;margin:2.5rem 0;background:linear-gradient(90deg,transparent,var(--border-color) 20%,var(--border-color) 80%,transparent)}.prose .callout{--callout-color: var(--accent-primary);--callout-bg: #f0f9ff;margin:1.75rem 0;border:1px solid color-mix(in srgb,var(--callout-color) 28%,transparent);border-left:5px solid var(--callout-color);border-radius:var(--radius-sm);background:var(--callout-bg);overflow:hidden}.prose .callout-title{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-weight:800;font-size:.97rem;color:var(--callout-color);background:color-mix(in srgb,var(--callout-color) 10%,transparent);line-height:1.5}.prose .callout-icon{flex-shrink:0;font-size:1.05rem}.prose .callout-body{padding:.9rem 1.15rem 1rem;color:var(--text-primary);font-size:.97rem}.prose .callout-body>:last-child{margin-bottom:0}.prose .callout-body ul,.prose .callout-body ol{margin-bottom:.9rem}.prose .callout-body li:last-child{margin-bottom:0}.prose .callout-summary{--callout-color: #0369a1;--callout-bg: linear-gradient(135deg, #f0f9ff 0%, #ffffff 100%);border-left-width:1px;border-top:4px solid var(--callout-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.prose .callout-summary .callout-body ul{list-style:none;padding-left:0}.prose .callout-summary .callout-body li{position:relative;padding-left:1.6rem}.prose .callout-summary .callout-body li:before{content:"✔";position:absolute;left:.15rem;top:0;color:var(--success);font-weight:800}.prose .callout-point{--callout-color: #c2410c;--callout-bg: var(--bg-orange-soft)}.prose .callout-tip{--callout-color: var(--success);--callout-bg: #ecfdf5}.prose .callout-note{--callout-color: #475569;--callout-bg: #f8fafc}.prose .callout-warning{--callout-color: #b91c1c;--callout-bg: #fef2f2}.prose .callout-check{--callout-color: #4338ca;--callout-bg: linear-gradient(135deg, #eef2ff 0%, #f8fafc 100%);border-radius:var(--radius-md)}@media(max-width:640px){.prose .callout-title{padding:.55rem .85rem;font-size:.92rem}.prose .callout-body{padding:.8rem .9rem .9rem;font-size:.93rem}}.prose p{margin:0 0 1.3rem}.prose ul,.prose ol{margin:0 0 1.4rem;padding-left:1.5rem}@media(max-width:640px){.prose ul,.prose ol{padding-left:1.25rem}}.prose li{margin-bottom:.45rem}.prose strong{color:#0f172a;font-weight:700;background:linear-gradient(transparent 62%,#ff6b2b33 62%);padding:0 .05em}.prose h2 strong,.prose h3 strong,.prose th strong,.prose td strong,.prose .callout-title strong{background:none;padding:0;color:inherit}.prose mark{background:linear-gradient(transparent 45%,#fde68a 45%);color:inherit;padding:0 .1em}.prose ol>li::marker{color:var(--accent-primary);font-weight:800}.prose ul>li::marker{color:var(--accent-orange)}.prose blockquote{margin:1.5rem 0;padding:1rem 1.25rem;background:var(--bg-subtle);border-left:4px solid var(--accent-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-secondary)}@media(max-width:640px){.prose blockquote{padding:.85rem 1rem}}.prose blockquote p:last-child{margin-bottom:0}.prose pre{padding:1.1rem 1.25rem;border-radius:var(--radius-sm);overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;font-family:var(--font-mono);font-size:.88rem;line-height:1.65;margin:1.25rem 0 1.5rem;border:1px solid #1e293b}@media(max-width:640px){.prose pre{padding:.85rem .95rem;font-size:.8rem}}.prose .code-block{margin:1.4rem 0 1.6rem;border:1px solid #1e293b;border-radius:var(--radius-sm);overflow:hidden;background:#24292e;box-shadow:var(--shadow-sm)}.prose .code-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.4rem .5rem .4rem .95rem;background:#1b1f23;border-bottom:1px solid #30363d;font-family:var(--font-mono);font-size:.76rem;line-height:1.4}.prose .code-lang{display:inline-flex;align-items:center;gap:.45rem;color:#8b949e;font-weight:700;letter-spacing:.04em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prose .code-lang:before{content:"";flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--accent-cyan)}.prose .code-lang.is-file{color:#e6edf3;letter-spacing:0}.prose .code-lang.is-file:before{border-radius:2px;background:var(--accent-orange)}.prose .is-terminal .code-lang:before{content:"$";width:auto;height:auto;background:none;color:#3fb950;font-weight:800}.prose .code-copy{flex-shrink:0;appearance:none;border:1px solid #30363d;background:#21262d;color:#c9d1d9;font:inherit;font-size:.72rem;font-weight:700;padding:.25rem .65rem;border-radius:6px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.prose .code-copy:hover{background:#30363d;border-color:#8b949e}.prose .code-copy:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:2px}.prose .code-copy.is-copied{color:#3fb950;border-color:#3fb950}.prose .code-block pre{margin:0;border:0;border-radius:0}.prose .diagram{--tone: var(--accent-primary);--tone-soft: #f0f9ff;margin:1.75rem 0;padding:1.15rem 1.2rem 1.25rem;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.prose .diagram.tone-good,.prose .tone-good{--tone: var(--success);--tone-soft: #ecfdf5}.prose .diagram.tone-bad,.prose .tone-bad{--tone: #dc2626;--tone-soft: #fef2f2}.prose .diagram.tone-warn,.prose .tone-warn{--tone: #d97706;--tone-soft: #fffbeb}.prose .diagram-caption{display:flex;align-items:center;gap:.5rem;margin:-.1rem 0 1rem;font-weight:800;font-size:.95rem;color:var(--text-primary);line-height:1.5}.prose .diagram-caption:before{content:"";flex-shrink:0;width:4px;align-self:stretch;border-radius:2px;background:var(--tone)}.prose .diagram code{font-size:.84em}.prose .flow-steps{list-style:none;margin:0;padding:0;counter-reset:flow}.prose .flow-step{--step-tone: var(--tone);position:relative;margin:0;padding:0 0 1.35rem 2.65rem;counter-increment:flow}.prose .flow-step.tone-good,.prose .flow-step.tone-bad,.prose .flow-step.tone-warn{--step-tone: var(--tone)}.prose .flow-step:last-child{padding-bottom:0}.prose .flow-step:before{content:counter(flow);position:absolute;left:0;top:.05rem;width:1.85rem;height:1.85rem;display:grid;place-items:center;border-radius:50%;background:var(--step-tone);color:#fff;font-size:.85rem;font-weight:800;box-shadow:0 0 0 4px var(--bg-surface);z-index:1}.prose .flow-step:not(:last-child):after{content:"";position:absolute;left:calc(.925rem - 1px);top:1.9rem;bottom:.1rem;width:2px;background:linear-gradient(180deg,var(--step-tone),var(--border-color))}.prose .flow-title{font-weight:800;line-height:1.55;padding-top:.2rem;color:var(--text-primary)}.prose .flow-step.tone-good .flow-title,.prose .flow-step.tone-bad .flow-title,.prose .flow-step.tone-warn .flow-title{color:var(--tone)}.prose .flow-label{display:inline-block;margin:0 0 .35rem;padding:.1rem .6rem;font-size:.78rem;font-weight:700;color:var(--text-muted);background:var(--bg-subtle);border-radius:999px}.prose .flow-details{margin:.4rem 0 0;padding:.6rem .85rem .6rem 1.9rem;background:var(--bg-primary);border-radius:var(--radius-sm);font-size:.9rem;line-height:1.7;color:var(--text-secondary)}.prose .flow-step.tone-good .flow-details,.prose .flow-step.tone-bad .flow-details,.prose .flow-step.tone-warn .flow-details{background:var(--tone-soft)}.prose .flow-details li{margin-bottom:.2rem}.prose .flow-details li:last-child{margin-bottom:0}.prose .diagram-tree ul{list-style:none;margin:0;padding:0}.prose .diagram-tree ul ul{margin-left:.7rem;padding-left:1.1rem;border-left:2px solid var(--border-color)}.prose .diagram-tree li{position:relative;margin:.4rem 0 0}.prose .diagram-tree ul ul>li:before{content:"";position:absolute;left:-1.1rem;top:1.05em;width:.85rem;height:2px;background:var(--border-color)}.prose .tree-node{display:inline-block;padding:.3rem .75rem;border-radius:var(--radius-sm);background:var(--bg-primary);border:1px solid var(--border-color);font-size:.9rem;line-height:1.6}.prose .tree-root>li>.tree-node{background:var(--tone-soft);border-color:color-mix(in srgb,var(--tone) 35%,transparent);font-weight:800;color:var(--text-primary)}.prose .diagram-tree li.tone-good>.tree-node,.prose .diagram-tree li.tone-bad>.tree-node,.prose .diagram-tree li.tone-warn>.tree-node{background:var(--tone-soft);border-color:var(--tone);color:var(--tone);font-weight:700}.prose .layer-stack{display:flex;flex-direction:column;gap:.6rem}.prose .layer{--layer-tone: var(--tone);display:grid;grid-template-columns:minmax(8.5rem,.32fr) minmax(0,1fr);border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-surface)}.prose .layer-name{display:flex;align-items:center;padding:.7rem .9rem;background:var(--bg-midnight);color:#f8fafc;font-weight:800;font-size:.9rem;line-height:1.45;border-left:4px solid var(--layer-tone)}.prose .layer.tone-good .layer-name,.prose .layer.tone-bad .layer-name,.prose .layer.tone-warn .layer-name{border-left-color:var(--tone)}.prose .layer-items{list-style:none;margin:0;padding:.55rem .9rem;font-size:.88rem;line-height:1.65}.prose .layer-items li{margin:.15rem 0}.prose .layer-items strong{background:none;padding:0;color:var(--accent-hover)}@media(max-width:640px){.prose .diagram{padding:.95rem .85rem 1rem}.prose .layer{grid-template-columns:minmax(0,1fr)}.prose .layer-name{padding:.5rem .8rem}.prose .flow-step{padding-left:2.35rem}.prose .flow-details{padding-left:1.6rem;font-size:.86rem}}.prose .formula{margin:1.5rem 0;padding:1.1rem;text-align:center;font-family:var(--font-mono);font-size:1.35rem;font-weight:700;letter-spacing:.08em;color:var(--text-primary);background:var(--bg-subtle);border-radius:var(--radius-md)}.prose .hash-anatomy{display:flex;flex-wrap:wrap;gap:.35rem;margin:1.5rem 0;padding:1rem;background:#0d1117;border-radius:var(--radius-md);font-family:var(--font-mono)}.prose .hash-anatomy>span{display:flex;flex-direction:column;gap:.3rem;min-width:0}.prose .hash-anatomy code{display:block;padding:.35rem .5rem;border-radius:6px;background:#161b22;color:#e6edf3;border-top:3px solid var(--seg, var(--accent-cyan));font-size:.82rem;word-break:break-all}.prose .hash-anatomy small{font-family:var(--font-sans);font-size:.72rem;font-weight:700;color:var(--seg, var(--accent-cyan));text-align:center}.prose code{font-family:var(--font-mono);font-size:.88em;background:var(--bg-subtle);padding:.15em .4em;border-radius:4px;color:#c2410c;overflow-wrap:break-word;word-break:break-word}.prose pre code{background:transparent;padding:0;color:inherit;font-size:inherit;overflow-wrap:normal;word-break:normal;white-space:pre}.prose table{width:100%;max-width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.92rem;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.prose th,.prose td{border:1px solid var(--border-color);padding:.65rem .85rem;text-align:left;vertical-align:top}.prose th{background:#1e293b;color:#f8fafc;font-weight:700;white-space:nowrap;border-color:#1e293b}.prose tr:nth-child(2n) td{background:#f8fafc}@media(max-width:640px){.prose table{font-size:.84rem}.prose th,.prose td{padding:.5rem .65rem}}.post-author-box{background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.4rem;display:flex;gap:1.15rem;align-items:flex-start;flex-wrap:wrap}.post-author-body{flex:1 1 220px;min-width:0}.site-intro-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-sm);display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.site-intro-body{flex:1 1 240px;min-width:0}.about-author-card{display:flex;gap:1.35rem;align-items:flex-start;background:linear-gradient(135deg,#0b0f26,#171e44);color:#f8fafc;padding:1.65rem;border-radius:var(--radius-md);margin:1.5rem 0;flex-wrap:wrap;border:1px solid rgba(56,189,248,.35)}.about-author-body{flex:1 1 220px;min-width:0}@media(max-width:640px){.post-author-box{padding:1.1rem;gap:.9rem}.site-intro-card{padding:1.25rem;gap:1rem}.about-author-card{padding:1.15rem;gap:1rem}}.post-sidebar{display:flex;flex-direction:column;gap:1.35rem;position:sticky;top:88px;min-width:0}@media(max-width:960px){.post-sidebar{position:static}}.sidebar-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.25rem;box-shadow:var(--shadow-sm)}.sidebar-profile-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.sidebar-banner{width:100%;height:88px;object-fit:cover;object-position:center right;display:block}.sidebar-profile-body{padding:0 1.25rem 1.25rem;margin-top:-28px;position:relative}.sidebar-title{font-size:.96rem;font-weight:800;margin:0 0 .85rem;padding-bottom:.5rem;border-bottom:2px solid var(--bg-subtle)}.author-avatar-img{width:56px;height:56px;border-radius:50%;object-fit:cover;border:3px solid #ffffff;box-shadow:0 2px 10px #0b0f2633;background:#0b0f26;flex-shrink:0}.social-links-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.65rem}.social-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .7rem;border-radius:999px;font-size:.78rem;font-weight:700;background:var(--bg-subtle);color:var(--text-primary);text-decoration:none!important;border:1px solid var(--border-color);transition:all .15s ease}.social-pill:hover{background:var(--bg-midnight);color:var(--accent-cyan);border-color:var(--accent-cyan)}.page-card{max-width:860px;margin:2rem auto 3.5rem;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:clamp(1.15rem,4vw,2.75rem);box-shadow:var(--shadow-sm)}.page-card-banner{margin:0 calc(clamp(1.15rem,4vw,2.75rem)*-1) 1.75rem;position:relative}@media(max-width:640px){.page-card{margin:1rem auto 2.5rem;padding:1.15rem 1rem;border-radius:var(--radius-md)}.page-card-banner{margin:0 -1rem 1.25rem}}.contact-form{display:flex;flex-direction:column;gap:1.25rem;margin-top:1.5rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-label{font-weight:700;font-size:.92rem;color:var(--text-primary)}.required-badge{background:#fee2e2;color:#b91c1c;font-size:.72rem;padding:.1rem .45rem;border-radius:4px;margin-left:.4rem}.form-input,.form-textarea,.form-select{padding:.7rem .85rem;border:1px solid #cbd5e1;border-radius:var(--radius-sm);font-family:inherit;font-size:1rem;width:100%;max-width:100%;background:#fff;color:var(--text-primary)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:2px solid var(--accent-primary);border-color:transparent}.btn-primary{background:linear-gradient(135deg,#0284c7,#0369a1);color:#fff;border:none;padding:.85rem 1.5rem;font-size:1rem;font-weight:700;border-radius:var(--radius-sm);cursor:pointer;transition:opacity .15s ease,transform .15s ease;display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important}@media(max-width:640px){.contact-form .btn-primary{width:100%}}.btn-primary:hover{opacity:.94;color:#fff;transform:translateY(-1px)}.site-footer{background:#0b0f26;color:#cbd5e1;padding:3.25rem 0 2rem;margin-top:3rem;font-size:.9rem;border-top:2px solid rgba(56,189,248,.25)}@media(max-width:640px){.site-footer{padding:2.25rem 0 1.5rem;margin-top:2rem}}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;margin-bottom:2rem}@media(max-width:768px){.footer-grid{grid-template-columns:1fr;gap:1.5rem}}.footer-heading{color:#fff;font-size:.98rem;font-weight:700;margin:0 0 .85rem}.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.footer-links a{color:#94a3b8;text-decoration:none}.footer-links a:hover{color:var(--accent-cyan);text-decoration:underline}.footer-bottom{border-top:1px solid #1e293b;padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem 1rem;font-size:.82rem;color:#64748b}.prose figure{margin:2rem 0}.prose figure img{display:block;max-width:100%;height:auto;margin:0 auto}.prose figcaption{margin-top:.6rem;font-size:.85rem;color:var(--text-secondary, #64748b);text-align:center}.prose .demo-stage{position:relative;display:grid;place-items:center;aspect-ratio:16 / 10;border-radius:var(--radius-lg);overflow:hidden;background:radial-gradient(60% 80% at 15% 20%,#f97316 0%,transparent 60%),radial-gradient(55% 70% at 85% 30%,#6366f1 0%,transparent 60%),radial-gradient(70% 70% at 50% 100%,#0ea5e9 0%,transparent 65%),#0b0f26}.prose .demo-stage[data-wallpaper=light]{background:radial-gradient(60% 80% at 20% 25%,#fde68a 0%,transparent 60%),radial-gradient(55% 70% at 80% 30%,#a5f3fc 0%,transparent 60%),radial-gradient(70% 70% at 50% 100%,#fbcfe8 0%,transparent 65%),#f8fafc}.prose .demo-embed iframe{display:block;width:100%;height:clamp(440px,75vw,700px);border:0;border-radius:var(--radius-lg);background:#101114}.prose .demo-embed figcaption a{white-space:nowrap}.prose .demo-stage iframe{width:min(62%,360px);aspect-ratio:1;border:0;background:transparent;color-scheme:normal}
