@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap");:root{--font-sans:"Outfit","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:"JetBrains Mono",source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--transition-fast:0.15s cubic-bezier(0.4,0,0.2,1);--transition-normal:0.25s cubic-bezier(0.4,0,0.2,1);--transition-slow:0.4s cubic-bezier(0.4,0,0.2,1);--max-width-content:1200px;--header-height:64px}:root,[data-theme=light]{--bg-primary:#f6f8fa;--bg-secondary:#ffffff;--bg-tertiary:#f1f3f5;--bg-card:#ffffff;--workspace-bg:#f4f8fc;--workspace-bg-deep:#eaf3f8;--workspace-surface:rgba(255,255,255,0.98);--workspace-surface-soft:rgba(248,252,255,0.92);--workspace-line:rgba(37,99,235,0.08);--workspace-circuit:rgba(37,99,235,0.15);--workspace-teal:#13b8a6;--workspace-blue:#2563eb;--workspace-amber:#f59e0b;--workspace-magenta:#c026d3;--text-primary:#1e293b;--text-secondary:#475569;--text-muted:#64748b;--text-inverse:#ffffff;--border-primary:#e2e8f0;--border-secondary:#f1f5f9;--shadow-sm:0 1px 3px rgba(0,0,0,0.05);--shadow-md:0 4px 20px -2px rgba(148,163,184,0.12),0 2px 8px -1px rgba(148,163,184,0.08);--shadow-lg:0 12px 30px -4px rgba(148,163,184,0.18),0 4px 12px -2px rgba(148,163,184,0.12);--glass-bg:rgba(255,255,255,0.75);--glass-border:rgba(226,232,240,0.8);--glass-shadow:0 8px 32px 0 rgba(148,163,184,0.08);--accent:#2563eb;--accent-hover:#1d4ed8;--accent-light:#eff6ff;--accent-gradient:linear-gradient(135deg,#2563eb,#7c3aed);--banner-mask:rgba(9,13,22,0.45);--banner-text:#ffffff;--code-bg:#f8fafc;--code-text:#0f172a}[data-theme=dark]{--bg-primary:#090d16;--bg-secondary:#0f172a;--bg-tertiary:#1e293b;--bg-card:#131d35;--workspace-bg:#070b12;--workspace-bg-deep:#0d1726;--workspace-surface:rgba(15,23,42,0.86);--workspace-surface-soft:rgba(15,23,42,0.72);--workspace-line:rgba(96,165,250,0.1);--workspace-circuit:rgba(96,165,250,0.16);--workspace-teal:#2dd4bf;--workspace-blue:#60a5fa;--workspace-amber:#fbbf24;--workspace-magenta:#e879f9;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#64748b;--text-inverse:#090d16;--border-primary:#1e293b;--border-secondary:#334155;--shadow-sm:0 1px 3px rgba(0,0,0,0.3);--shadow-md:0 4px 20px -2px rgba(0,0,0,0.4),0 2px 8px -1px rgba(0,0,0,0.2);--shadow-lg:0 12px 30px -4px rgba(0,0,0,0.5),0 4px 12px -2px rgba(0,0,0,0.3);--glass-bg:rgba(15,23,42,0.75);--glass-border:rgba(30,41,59,0.8);--glass-shadow:0 8px 32px 0 rgba(0,0,0,0.3);--accent:#3b82f6;--accent-hover:#60a5fa;--accent-light:#1e293b;--accent-gradient:linear-gradient(135deg,#3b82f6,#8b5cf6);--banner-mask:rgba(9,13,22,0.65);--banner-text:#ffffff;--code-bg:#0b0f19;--code-text:#e2e8f0}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;transition:background-color var(--transition-normal),color var(--transition-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}button,input{font-family:inherit}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes progress-grow{0%{width:0}to{width:100%}}.fade-in-up{animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) forwards}.fade-in{animation:fadeIn .4s ease forwards}#app{display:flex;flex-direction:column;min-h:100vh;min-height:100vh}.main-content{flex:1 1;width:100%;margin:0 auto;padding:2rem 1rem 4rem;max-width:var(--max-width-content);position:relative;z-index:5}.main-content.no-padding{padding:0;max-width:100%}.header-nav{position:fixed;top:0;left:0;width:100%;height:var(--header-height);z-index:100;background-color:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:background-color var(--transition-normal),border var(--transition-normal)}.nav-container{justify-content:space-between;height:100%;max-width:var(--max-width-content);margin:0 auto;padding:0 1.5rem}.nav-brand,.nav-container{display:flex;align-items:center}.nav-brand{gap:.75rem;font-weight:700;font-size:1.25rem;font-family:Outfit,sans-serif;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.brand-logo{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid var(--accent)}.nav-menu{display:flex;align-items:center;list-style:none;gap:1.5rem}.nav-item a{font-size:.95rem;font-weight:500;color:var(--text-secondary);padding:.5rem .25rem;position:relative}.nav-item a:hover,.nav-item.active a{color:var(--accent)}.nav-item a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--accent-gradient);transition:width var(--transition-normal)}.nav-item a:hover:after,.nav-item.active a:after{width:100%}.nav-actions{gap:1rem}.action-btn,.nav-actions{display:flex;align-items:center}.action-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;width:36px;height:36px;border-radius:var(--radius-full);justify-content:center;transition:background-color var(--transition-fast),color var(--transition-fast)}.action-btn:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.hero-banner{position:relative;width:100%;height:45vh;min-height:320px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;margin-top:0;background-size:cover;background-position:50%;background-repeat:no-repeat;transition:background-image var(--transition-slow)}.hero-banner:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--banner-mask);z-index:1;transition:background-color var(--transition-normal)}.hero-content{position:relative;z-index:2;color:var(--banner-text);max-width:800px;padding:0 1.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem;animation:fadeInUp .8s cubic-bezier(.16,1,.3,1)}.hero-title{font-family:Outfit,sans-serif;font-size:3rem;font-weight:800;letter-spacing:-.03em;line-height:1.15}.hero-subtitle{font-size:1.25rem;font-weight:400;opacity:.9;line-height:1.6}.reading-progress-bar{position:fixed;top:var(--header-height);left:0;height:3px;background:var(--accent-gradient);z-index:99;width:0;transition:width .1s ease-out}.archive-timeline{position:relative;max-width:800px;margin:0 auto;padding:2rem 1rem}.archive-timeline:before{content:"";position:absolute;top:0;bottom:0;left:31px;width:2px;background:var(--border-primary)}.timeline-year{font-family:Outfit,sans-serif;font-size:1.75rem;font-weight:700;margin:2rem 0 1rem;padding-left:50px;position:relative;color:var(--text-primary)}.timeline-year:before{content:"";position:absolute;left:24px;top:50%;transform:translateY(-50%);width:16px;height:16px;border-radius:50%;background:var(--bg-primary);border:4px solid var(--accent);box-shadow:0 0 0 4px var(--bg-primary)}.timeline-item{position:relative;padding-left:50px;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.25rem}.timeline-item:before{content:"";position:absolute;left:28px;top:10px;width:8px;height:8px;border-radius:50%;background:var(--text-muted);transition:background-color var(--transition-fast),transform var(--transition-fast)}.timeline-item:hover:before{background-color:var(--accent);transform:scale(1.5)}.timeline-meta{font-size:.85rem;color:var(--text-muted)}.timeline-title{font-size:1.1rem;font-weight:500;color:var(--text-primary);line-height:1.4}.timeline-title:hover{color:var(--accent)}.footer{background-color:var(--bg-secondary);border-top:1px solid var(--border-primary);padding:3rem 1.5rem;text-align:center;color:var(--text-muted);font-size:.9rem;margin-top:auto;position:relative;z-index:5}.footer-socials{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1rem}.footer-social-link{color:var(--text-muted);transition:color var(--transition-fast),transform var(--transition-fast)}.footer-social-link:hover{color:var(--accent);transform:translateY(-2px)}@media (max-width:768px){.hero-title{font-size:2.25rem}.hero-subtitle{font-size:1rem}.nav-menu{display:none}}.home-dashboard-page{--home-ink:#121a2c;--home-muted:#516079;--home-line:#dbe6f2;--home-blue:#2563eb;--home-teal:#13b8a6;--home-amber:#f59e0b;--home-magenta:#c026d3;--home-surface:rgba(255,255,255,0.9);--home-surface-soft:rgba(248,252,255,0.76);--home-circuit:rgba(37,99,235,0.17);position:relative;overflow:hidden;max-width:100%;padding:calc(var(--header-height) + 4rem) 1.5rem 5rem;background:linear-gradient(180deg,#fbfdff,#f3f8fc 48%,#edf5f9)}.home-dashboard-page:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.95;background-image:linear-gradient(90deg,rgba(37,99,235,.055) 1px,transparent 0),linear-gradient(180deg,rgba(37,99,235,.045) 1px,transparent 0),url("data:image/svg+xml,%3Csvg width='420' height='240' viewBox='0 0 420 240' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='%232563eb' stroke-opacity='0.16' stroke-width='1.2'%3E%3Cpath d='M0 128H48L84 164H142'/%3E%3Cpath d='M302 76H354L388 110H420'/%3E%3Cpath d='M0 68H62L94 36H148'/%3E%3Cpath d='M272 170H330L360 140H420'/%3E%3Ccircle cx='48' cy='128' r='3'/%3E%3Ccircle cx='142' cy='164' r='3'/%3E%3Ccircle cx='354' cy='76' r='3'/%3E%3Ccircle cx='94' cy='36' r='3'/%3E%3Ccircle cx='330' cy='170' r='3'/%3E%3C/g%3E%3C/svg%3E");background-size:32px 32px,32px 32px,520px 300px;background-position:top,top,center 72px;-webkit-mask-image:linear-gradient(180deg,black,black 68%,transparent);mask-image:linear-gradient(180deg,black,black 68%,transparent)}.dashboard-shell{position:relative;z-index:1;width:min(1180px,100%);margin:0 auto}.dashboard-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr);align-items:center;grid-gap:4.8rem;gap:4.8rem;min-height:440px}.dashboard-intro{display:flex;flex-direction:column;align-items:flex-start}.dashboard-kicker{display:inline-flex;align-items:center;gap:.55rem;margin-bottom:1.25rem;color:var(--home-muted);font-size:.86rem;font-weight:700}.dashboard-kicker span{width:10px;height:10px;border-radius:50%;background-color:var(--home-teal);box-shadow:0 0 0 5px rgba(19,184,166,.12)}.dashboard-intro h1{color:var(--home-ink);font-size:3.75rem;line-height:1.08;letter-spacing:-.03em;text-wrap:balance;margin-bottom:1.35rem}.dashboard-intro p{max-width:33rem;color:var(--home-muted);font-size:1.14rem;line-height:1.75;text-wrap:pretty}.dashboard-actions{display:flex;align-items:center;gap:.8rem;margin-top:1.8rem;flex-wrap:wrap}.dashboard-action{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.72rem 1.08rem;border-radius:8px;border:1px solid rgba(18,26,44,.12);color:var(--home-ink,var(--text-primary));background-color:rgba(255,255,255,.78);font-weight:700;font-size:.95rem;transition:transform var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.dashboard-action svg{width:17px;height:17px}.dashboard-action:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--home-blue,var(--workspace-blue)) 34%,var(--border-primary));background-color:rgba(239,246,255,.95);color:var(--home-blue,var(--workspace-blue))}.dashboard-action-primary{border-color:var(--home-blue,var(--workspace-blue));background-color:var(--home-blue,var(--workspace-blue));color:#ffffff}.dashboard-action-primary:hover{background-color:#1d4ed8;border-color:#1d4ed8;color:#ffffff}.dashboard-socials{display:flex;align-items:center;gap:1.05rem;margin-top:2.2rem}.dashboard-socials a{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;color:#334155;transition:color var(--transition-fast),transform var(--transition-fast)}.dashboard-socials a:hover{color:var(--home-blue);transform:translateY(-2px)}.dashboard-socials svg{width:20px;height:20px}.dashboard-terminal{position:relative;overflow:hidden;border-radius:10px;background-color:#0b1019;color:#cbd5e1;box-shadow:0 26px 44px rgba(15,23,42,.24),0 0 0 1px rgba(14,165,233,.28)}.dashboard-terminal:before{content:"";position:absolute;inset:38px 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(56,189,248,.9),transparent)}.terminal-topbar{height:38px;display:flex;align-items:center;gap:.45rem;padding:0 .95rem;background-color:#20242b;color:#9aa4b2;font-family:var(--font-mono);font-size:.75rem}.terminal-topbar strong{flex:1 1;text-align:center;font-weight:600}.terminal-badge{border-radius:999px;background-color:rgba(16,185,129,.14);color:#34d399;font-size:.66rem;font-weight:800;letter-spacing:.04em;padding:.16rem .45rem}.terminal-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.terminal-dot.red{background-color:#ff5f57}.terminal-dot.yellow{background-color:#ffbd2e}.terminal-dot.green{background-color:#28c840}.terminal-body{min-height:292px;padding:1.25rem 1.35rem 1.35rem;font-family:var(--font-mono);font-size:.86rem;line-height:1.65}.terminal-body p{margin:0;color:#cbd5e1;white-space:normal}.terminal-body span{color:#38bdf8;font-weight:700}.terminal-section{margin-top:.8rem!important;color:#38bdf8!important}.terminal-row{display:flex;align-items:center;gap:.65rem}.terminal-row svg{width:15px;height:15px;color:#94a3b8}.terminal-row strong{margin-left:auto;font-weight:800}.terminal-blue{color:#38bdf8}.terminal-teal{color:#2dd4bf}.terminal-amber{color:#fbbf24}.terminal-magenta{color:#e879f9}.terminal-divider{height:1px;margin:.9rem 0 .7rem;background:linear-gradient(90deg,rgba(148,163,184,.35),rgba(148,163,184,.12))}.terminal-progress{height:7px;margin:.6rem 0 .75rem;overflow:hidden;border-radius:999px;background-color:rgba(148,163,184,.18)}.terminal-progress span{display:block;width:52%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2dd4bf,#38bdf8)}.dashboard-filter-pill{display:inline-flex;align-items:center;gap:.6rem;margin:.5rem 0 1.5rem;padding:.7rem .9rem;border:1px solid var(--border-primary);border-radius:8px;background-color:var(--bg-secondary);color:var(--text-secondary);font-size:.92rem}.dashboard-filter-pill svg{width:17px;height:17px;color:var(--accent)}.dashboard-filter-pill a,.dashboard-filter-pill strong{color:var(--text-primary)}.dashboard-filter-pill a{font-weight:700}.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:1rem;gap:1rem;margin:1.75rem 0 1rem}.dashboard-metric{position:relative;min-height:104px;overflow:hidden;border:1px solid rgba(148,163,184,.28);border-radius:10px;background-color:var(--home-surface);padding:1.05rem 1.1rem;display:grid;grid-template-columns:48px minmax(0,1fr);grid-gap:1rem;gap:1rem;align-items:center}.dashboard-metric-icon{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px}.dashboard-metric span:not(.dashboard-metric-icon){display:block;color:var(--home-ink);font-size:.88rem;font-weight:700}.dashboard-metric strong{display:block;margin-top:.12rem;color:var(--home-ink);font-size:1.72rem;line-height:1}.dashboard-metric small{display:block;margin-top:.45rem;color:var(--home-muted);font-size:.78rem;font-weight:600}.dashboard-metric-spark{position:absolute;right:1rem;bottom:.75rem;width:88px;height:36px;fill:none;stroke-width:2}.metric-blue .dashboard-metric-icon{background-color:rgba(37,99,235,.1);color:var(--home-blue)}.metric-teal .dashboard-metric-icon{background-color:rgba(19,184,166,.12);color:var(--home-teal)}.metric-amber .dashboard-metric-icon{background-color:rgba(245,158,11,.14);color:var(--home-amber)}.metric-magenta .dashboard-metric-icon{background-color:rgba(192,38,211,.11);color:var(--home-magenta)}.metric-blue .dashboard-metric-spark{stroke:var(--home-blue)}.metric-teal .dashboard-metric-spark{stroke:var(--home-teal)}.metric-amber .dashboard-metric-spark{stroke:var(--home-amber)}.metric-magenta .dashboard-metric-spark{stroke:var(--home-magenta)}.dashboard-panels{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);grid-gap:1rem;gap:1rem;align-items:stretch}.dashboard-panel{border:1px solid rgba(148,163,184,.32);border-radius:10px;background-color:var(--home-surface);padding:1.25rem;display:flex;flex-direction:column}.dashboard-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.dashboard-panel-header h2{font-size:1.05rem;line-height:1.25;color:var(--home-ink);margin-bottom:.25rem}.dashboard-panel-header p{color:var(--home-muted);font-size:.85rem}.dashboard-panel-link{color:var(--home-blue);font-size:.85rem;font-weight:700;white-space:nowrap}.dashboard-list,.dashboard-note-list{display:flex;flex-direction:column;gap:.65rem}.dashboard-list-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;grid-gap:.8rem;gap:.8rem;align-items:center;padding:.85rem;border-radius:8px;color:var(--home-ink);border-bottom:1px solid rgba(226,232,240,.86);transition:background-color var(--transition-fast),transform var(--transition-fast)}.dashboard-list-item:last-child{border-bottom:none}.dashboard-list-item:hover{background-color:rgba(239,246,255,.72);transform:translateX(2px)}.dashboard-list-icon{width:36px;height:36px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--home-blue);background-color:rgba(37,99,235,.09)}.dashboard-list-arrow,.dashboard-list-icon svg{width:16px;height:16px}.dashboard-list-copy{min-width:0}.dashboard-list-copy strong{display:block;overflow:hidden;color:var(--home-ink);font-size:.95rem;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.dashboard-list-copy small{display:block;margin-top:.2rem;color:var(--home-muted);font-size:.78rem}.dashboard-list-suffix{color:var(--home-muted);font-family:var(--font-mono);font-size:.78rem}.dashboard-note-row{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem 0;color:var(--home-muted);border-bottom:1px solid rgba(226,232,240,.86)}.dashboard-note-row:last-child{border-bottom:none}.dashboard-note-row span{min-width:0;display:inline-flex;align-items:center;gap:.5rem}.dashboard-note-row span svg{width:16px;height:16px;color:var(--home-amber);flex-shrink:0}.dashboard-note-row strong{display:inline-flex;align-items:center;gap:.25rem;color:var(--home-ink);font-size:.88rem;white-space:nowrap}.dashboard-note-row:hover{color:var(--home-ink)}.dashboard-empty{min-height:88px;display:flex;align-items:center;justify-content:center;gap:.6rem;color:var(--text-muted);font-size:.92rem}.dashboard-empty svg{width:18px;height:18px}[data-theme=dark] .home-dashboard-page{--home-ink:#f8fafc;--home-muted:#a8b4c7;--home-surface:rgba(15,23,42,0.82);background:linear-gradient(180deg,#070b12,#0d1726 56%,#090d16)}[data-theme=dark] .home-dashboard-page:before{opacity:.45}[data-theme=dark] .dashboard-action-primary{border-color:#60a5fa;background-color:#60a5fa;color:#07111f}[data-theme=dark] .dashboard-action-primary:hover{background-color:#93c5fd;border-color:#93c5fd;color:#07111f}[data-theme=dark] .home-dashboard-page .dashboard-action:not(.dashboard-action-primary){border-color:rgba(96,165,250,.52);background-color:rgba(37,99,235,.18);color:#dbeafe;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 24px rgba(37,99,235,.18)}[data-theme=dark] .home-dashboard-page .dashboard-action:not(.dashboard-action-primary):hover{border-color:#93c5fd;background-color:rgba(96,165,250,.28);color:#ffffff}[data-theme=dark] .dashboard-terminal{box-shadow:0 18px 34px rgba(0,0,0,.38)}[data-theme=dark] .dashboard-list-icon{color:#93c5fd;background-color:#172554}[data-theme=dark] .dashboard-action,[data-theme=dark] .dashboard-metric,[data-theme=dark] .dashboard-panel{border-color:rgba(51,65,85,.9)}[data-theme=dark] .dashboard-list-item,[data-theme=dark] .dashboard-note-row{border-bottom-color:rgba(51,65,85,.68)}[data-theme=dark] .dashboard-list-item:hover{background-color:rgba(30,41,59,.72)}@media (max-width:980px){.home-dashboard-page{padding-top:calc(var(--header-height) + 2.5rem)}.dashboard-hero-grid{grid-template-columns:1fr;gap:2.2rem;min-height:0}.dashboard-terminal{width:100%}.dashboard-panels{grid-template-columns:1fr}.dashboard-panel-large{grid-row:auto}}@media (max-width:680px){.home-dashboard-page{padding:calc(var(--header-height) + 2rem) 1rem 3rem}.dashboard-intro h1{font-size:2.32rem}.dashboard-intro p{font-size:1rem}.dashboard-action,.dashboard-actions{width:100%}.dashboard-socials{margin-top:1.5rem}.dashboard-terminal{border-radius:8px}.terminal-body{min-height:220px;padding:1rem;font-size:.78rem}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-metric{min-height:96px}.dashboard-metric strong{font-size:1.55rem}.dashboard-list-item{grid-template-columns:32px minmax(0,1fr)}.dashboard-list-suffix{display:none}}@media (prefers-reduced-motion:reduce){.dashboard-action,.dashboard-list-item,.dashboard-socials a{transition:none}}.blog-index-page{max-width:100%;padding:calc(var(--header-height) + 3rem) 1.5rem 5rem;position:relative;z-index:1}.blog-index-shell{width:min(1180px,100%);margin:0 auto}.blog-index-header{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:1.5rem;padding:1.35rem;border:1px solid color-mix(in srgb,var(--workspace-blue) 15%,var(--border-primary));border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--workspace-blue) 9%,transparent),transparent 48%),var(--workspace-surface);box-shadow:0 12px 28px rgba(15,23,42,.06)}.blog-index-header h1{color:var(--text-primary);font-size:2.6rem;line-height:1.15;letter-spacing:-.03em;margin-bottom:.6rem;text-wrap:balance}.blog-index-header p{max-width:38rem;color:var(--text-secondary);font-size:1rem;line-height:1.7}.blog-index-stats{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.blog-index-stats span{display:inline-flex;align-items:baseline;gap:.35rem;padding:.55rem .75rem;border-radius:8px;border:1px solid color-mix(in srgb,var(--workspace-blue) 15%,var(--border-primary));background-color:color-mix(in srgb,var(--bg-secondary) 90%,var(--workspace-bg));color:var(--text-muted);font-size:.86rem;font-weight:600}.blog-index-stats strong{color:var(--text-primary);font-size:1.05rem}.blog-category-tabs{display:flex;align-items:center;gap:.65rem;overflow-x:auto;padding:.25rem 0 1.25rem;margin-bottom:.5rem}.blog-category-tab{flex:0 0 auto;min-height:38px;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:8px;border:1px solid color-mix(in srgb,var(--workspace-blue) 13%,var(--border-primary));background-color:var(--workspace-surface);color:var(--text-secondary);font-size:.9rem;font-weight:700;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.blog-category-tab strong{color:var(--text-muted);font-size:.78rem}.blog-category-tab.active,.blog-category-tab:hover{border-color:var(--workspace-blue);background-color:color-mix(in srgb,var(--workspace-blue) 9%,var(--bg-secondary));color:var(--workspace-blue)}.blog-category-tab.active strong{color:var(--accent)}.blog-index-grid{margin-top:0}.blog-index-empty{grid-column:1/-1;min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;border:1px solid var(--border-primary);border-radius:12px;background-color:var(--bg-secondary);color:var(--text-muted)}.blog-index-empty svg{width:34px;height:34px;color:var(--accent)}.blog-index-empty a{color:var(--accent);font-weight:700}@media (max-width:760px){.blog-index-page{padding:calc(var(--header-height) + 1.5rem) 1rem 3rem}.blog-index-header{align-items:flex-start;flex-direction:column;gap:1rem}.blog-index-header h1{font-size:2.2rem}.blog-index-stats{justify-content:flex-start}}.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:2rem;gap:2rem;margin-top:1.5rem}@media (max-width:768px){.blog-grid{grid-template-columns:1fr;gap:1.5rem}}.blog-card{position:relative;background:linear-gradient(180deg,color-mix(in srgb,var(--workspace-blue) 3%,transparent),transparent 34%),var(--workspace-surface);border-radius:10px;border:1px solid color-mix(in srgb,var(--workspace-blue) 13%,var(--border-primary));overflow:hidden;box-shadow:0 10px 24px rgba(15,23,42,.06);display:flex;flex-direction:column;height:100%;transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-normal);cursor:pointer}.blog-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(15,23,42,.1);border-color:color-mix(in srgb,var(--workspace-blue) 34%,var(--border-primary))}.blog-card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--workspace-blue),var(--workspace-teal),var(--workspace-amber));opacity:.72}.card-banner{height:200px;width:100%;background-size:cover;background-position:50%;position:relative;overflow:hidden}.card-banner:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:50%;background:linear-gradient(0deg,rgba(0,0,0,.4),transparent)}.card-category{position:absolute;top:1rem;left:1rem;background-color:var(--accent);color:var(--text-inverse);padding:.25rem .75rem;font-size:.75rem;font-weight:600;border-radius:var(--radius-full);z-index:2;text-transform:uppercase;letter-spacing:.05em}.card-body{padding:1.5rem;display:flex;flex-direction:column;flex:1 1}.card-meta{gap:1rem;font-size:.8rem;color:var(--text-muted);margin-bottom:.75rem}.card-meta,.card-meta span{display:flex;align-items:center}.card-meta span{gap:.25rem}.card-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem;line-height:1.4;-webkit-line-clamp:2}.card-excerpt,.card-title{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.card-excerpt{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem;-webkit-line-clamp:3;flex:1 1}.card-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.tag-badge{font-size:.75rem;padding:.2rem .6rem;border-radius:var(--radius-sm);background-color:color-mix(in srgb,var(--workspace-blue) 5%,var(--bg-secondary));color:var(--text-secondary);border:1px solid var(--border-primary);transition:background-color var(--transition-fast),color var(--transition-fast)}.tag-badge:hover{background-color:color-mix(in srgb,var(--workspace-blue) 10%,var(--bg-secondary));color:var(--workspace-blue);border-color:color-mix(in srgb,var(--workspace-blue) 28%,var(--border-primary))}.notebook-layout{display:flex;width:100%;max-width:1760px;margin:var(--header-height) auto 0 auto;min-height:calc(100vh - var(--header-height));position:relative;transition:all .3s ease;background:linear-gradient(180deg,color-mix(in srgb,var(--workspace-blue) 4%,transparent),transparent 38%),var(--workspace-surface-soft);overflow-x:hidden}@media (min-width:1760px){.notebook-layout{border-left:1px solid var(--border-primary);border-right:1px solid var(--border-primary);box-shadow:0 0 40px rgba(0,0,0,.02)}}.notes-sidebar{width:360px;min-width:360px;background:linear-gradient(180deg,color-mix(in srgb,var(--workspace-blue) 5%,transparent),transparent 42%),var(--workspace-surface);border-right:1px solid color-mix(in srgb,var(--workspace-blue) 13%,var(--border-primary));height:calc(100vh - var(--header-height));position:-webkit-sticky;position:sticky;top:var(--header-height);overflow-y:auto;overflow-x:hidden;padding:1.5rem 1rem;flex-shrink:0;z-index:20;transition:margin-left .35s cubic-bezier(.4,0,.2,1),opacity .25s ease;opacity:1;margin-left:0}.sidebar-title{font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:700;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;color:var(--text-primary)}.sidebar-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.tree-list{list-style:none;display:flex;flex-direction:column;gap:.25rem}.tree-node-content{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;font-weight:500;color:var(--text-secondary);transition:background-color var(--transition-fast),color var(--transition-fast)}.tree-node-content:hover{background-color:color-mix(in srgb,var(--workspace-blue) 7%,var(--bg-secondary));color:var(--text-primary)}.tree-node-title{display:flex;align-items:center;gap:.5rem}.tree-node-arrow{transition:transform var(--transition-fast)}.tree-node.open>.tree-node-content .tree-node-arrow{transform:rotate(90deg)}.tree-node-children{display:none;list-style:none;padding-left:1.25rem;margin-top:.25rem;border-left:1px dashed color-mix(in srgb,var(--workspace-blue) 22%,var(--border-primary));margin-left:.85rem}.tree-node.open>.tree-node-children{display:flex;flex-direction:column;gap:.25rem}.tree-leaf-link{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;font-size:.88rem;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.tree-leaf-link:hover{background-color:color-mix(in srgb,var(--workspace-blue) 7%,var(--bg-secondary));color:var(--text-primary)}.tree-leaf-link.active{background-color:color-mix(in srgb,var(--workspace-blue) 10%,var(--bg-secondary));color:var(--workspace-blue);font-weight:500}.notes-container{flex:1 1;padding:2rem;overflow-x:hidden;background-color:transparent}.notebook-layout:not(.home-view) .notes-container>.markdown-body{max-width:1040px;margin:0 auto;padding:2.25rem 2.65rem;border:1px solid color-mix(in srgb,var(--workspace-blue) 13%,var(--border-primary));border-radius:12px;background-color:var(--bg-card);box-shadow:0 14px 32px rgba(15,23,42,.08)}.notes-toc{width:360px;background:linear-gradient(180deg,color-mix(in srgb,var(--workspace-teal) 5%,transparent),transparent 42%),var(--workspace-surface);border-left:1px solid color-mix(in srgb,var(--workspace-blue) 13%,var(--border-primary));height:calc(100vh - var(--header-height));position:-webkit-sticky;position:sticky;top:var(--header-height);overflow-y:auto;padding:1.5rem 1.25rem;flex-shrink:0;display:flex;flex-direction:column;gap:1rem}.toc-title{font-family:Outfit,sans-serif;font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-primary);align-items:center}.toc-list,.toc-title{display:flex;gap:.5rem}.toc-list{list-style:none;flex-direction:column;font-size:.85rem;margin:0;padding:0}.toc-item{line-height:1.4}.toc-link{width:100%;background:none;border:0;color:var(--text-muted);display:block;border-left:2px solid transparent;padding:.15rem 0 .15rem .75rem;font:inherit;text-align:left;cursor:pointer;transition:all var(--transition-fast)}.toc-link:hover{color:var(--text-primary)}.toc-link.active{color:var(--workspace-blue);border-left-color:var(--workspace-blue);font-weight:500}.toc-item.depth-3{padding-left:1rem}.toc-item.depth-4{padding-left:2rem}.toc-empty{margin:0;font-size:.85rem;color:var(--text-muted)}.article-toc{border-right:1px solid color-mix(in srgb,var(--workspace-blue) 13%,var(--border-primary))}.back-to-top{position:fixed;bottom:2rem;right:2rem;width:44px;height:44px;border-radius:var(--radius-full);background-color:var(--accent);color:var(--text-inverse);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:all var(--transition-normal);z-index:90;border:none}.back-to-top.show{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background-color:var(--accent-hover);transform:translateY(-4px)}.categories-wall,.tags-wall{background-color:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-primary);padding:2.5rem;box-shadow:var(--shadow-sm);max-width:800px;margin:0 auto}.tags-cloud{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.5rem}.tag-cloud-item{display:inline-block;padding:.4rem 1rem;border-radius:var(--radius-full);background-color:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary);font-weight:500;transition:all var(--transition-fast)}.tag-cloud-item:hover{background:var(--accent-gradient);color:var(--text-inverse);border-color:transparent;transform:scale(1.05)}.categories-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:1.5rem;gap:1.5rem;margin-top:1.5rem;list-style:none}.category-card-item a{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-radius:var(--radius-md);background-color:var(--bg-tertiary);border:1px solid var(--border-primary);font-weight:600;color:var(--text-primary);transition:all var(--transition-fast)}.category-card-item a:hover{background-color:var(--bg-card);border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.category-count{font-size:.8rem;font-weight:500;background-color:var(--accent-light);color:var(--accent);padding:.15rem .5rem;border-radius:var(--radius-full)}.search-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:999;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;opacity:0;pointer-events:none;transition:opacity var(--transition-normal)}.search-backdrop.open{opacity:1;pointer-events:auto}.search-modal{width:100%;max-width:600px;background-color:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-primary);box-shadow:var(--shadow-lg);overflow:hidden;transform:translateY(-20px);transition:transform var(--transition-normal)}.search-backdrop.open .search-modal{transform:translateY(0)}.search-header{display:flex;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-primary);gap:.75rem}.search-icon{color:var(--text-muted)}.search-input{flex:1 1;border:none;background:none;outline:none;font-size:1.1rem;color:var(--text-primary)}.search-input::placeholder{color:var(--text-muted)}.search-close-btn{background:var(--bg-tertiary);border:none;font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer}.search-results{max-height:400px;overflow-y:auto;padding:1rem 0}.search-empty{padding:2rem;text-align:center;color:var(--text-muted);font-size:.95rem}.search-result-item{display:flex;flex-direction:column;padding:.75rem 1.5rem;cursor:pointer;transition:background-color var(--transition-fast)}.search-result-item:hover{background-color:var(--bg-tertiary)}.search-result-title{font-weight:600;font-size:.95rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.search-result-type{font-size:.7rem;text-transform:uppercase;padding:.1rem .4rem;border-radius:var(--radius-sm);font-weight:600;background-color:var(--bg-tertiary)}.search-result-type.blog{color:var(--accent);background-color:var(--accent-light)}.search-result-type.note{color:#10b981;background-color:#ecfdf5}.search-result-path{font-size:.8rem;color:var(--text-muted);margin-top:.2rem}mark{background-color:rgba(253,224,71,.4);color:inherit;padding:.05em .15em;border-radius:2px}.mobile-sidebar-toggle{display:none;position:fixed;bottom:2rem;left:2rem;width:44px;height:44px;border-radius:var(--radius-full);background-color:var(--accent);color:var(--text-inverse);align-items:center;justify-content:center;box-shadow:var(--shadow-lg);cursor:pointer;border:none;z-index:150;transition:transform var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast)}.mobile-sidebar-toggle:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(37,99,235,.22)}.mobile-sidebar-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 30%,transparent);outline-offset:3px}.notes-drawer-backdrop{display:none}@media (max-width:992px){.article-toc,.notebook-layout>.notes-toc{display:none}}@media (max-width:768px){body.notes-drawer-open{overflow:hidden}.notes-sidebar{position:fixed;top:var(--header-height);left:0;width:min(360px,calc(100vw - 72px));min-width:0;background-color:var(--bg-secondary);height:calc(100vh - var(--header-height));transform:translateX(-100%);box-shadow:var(--shadow-lg);z-index:140;transition:transform .24s ease,box-shadow var(--transition-fast)}.notes-sidebar.open{transform:translateX(0)}.notes-drawer-backdrop{position:fixed;inset:var(--header-height) 0 0 0;display:block;border:0;background:rgba(15,23,42,.3);opacity:0;pointer-events:none;z-index:135;transition:opacity .2s ease}.notes-drawer-backdrop.open{opacity:1;pointer-events:auto}.mobile-sidebar-toggle{display:flex}.notes-container{padding:1.5rem 1rem}.notebook-layout:not(.home-view) .notes-container>.markdown-body{padding:1.5rem 1rem;border-radius:8px}.blog-grid{grid-template-columns:1fr}}.card-banner.cover-frontend{background:linear-gradient(135deg,#0f172a,#1e293b 50%,#2563eb)!important}.card-banner.cover-ai{background:linear-gradient(135deg,#0b0f19,#1e1b4b 50%,#7c3aed)!important}.card-banner.cover-tools{background:linear-gradient(135deg,#090d16,#064e3b 50%,#10b981)!important}.card-banner.cover-default{background:linear-gradient(135deg,#111827,#374151 50%,#4b5563)!important}.card-banner-svg{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.15;pointer-events:none;mix-blend-mode:overlay}.card-banner-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--text-inverse);opacity:.25;width:56px;height:56px;stroke-width:1.25;transition:transform var(--transition-normal),opacity var(--transition-normal)}.blog-card:hover .card-banner-icon{transform:translate(-50%,-50%) scale(1.15) rotate(5deg);opacity:.45}.notes-sidebar.collapsed{margin-left:-360px;opacity:0;pointer-events:none}.sidebar-collapse-btn,.sidebar-tree-action-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:4px;transition:all .2s}.sidebar-collapse-btn:hover,.sidebar-tree-action-btn:hover{background-color:color-mix(in srgb,var(--workspace-blue) 8%,var(--bg-secondary));color:var(--text-primary)}.sidebar-expand-btn{position:fixed;left:calc((100vw - 1760px) / 2 + 10px);top:calc(var(--header-height) + 20px);width:32px;height:32px;background-color:var(--workspace-surface);border:1px solid color-mix(in srgb,var(--workspace-blue) 18%,var(--border-primary));border-radius:50%;display:none;align-items:center;justify-content:center;box-shadow:var(--shadow-md);color:var(--accent);cursor:pointer;z-index:90;transition:all .2s}.sidebar-expand-btn:hover{transform:scale(1.1);background-color:color-mix(in srgb,var(--workspace-blue) 8%,var(--bg-secondary))}@media (max-width:1760px){.sidebar-expand-btn{left:15px}}@media (max-width:768px){.sidebar-expand-btn{display:none!important}}.notes-home-container{max-width:1000px;margin:0 auto;padding:1rem 0;animation:fadeIn .5s ease forwards}.notes-home-banner{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,color-mix(in srgb,var(--workspace-blue) 10%,transparent),transparent 46%),linear-gradient(315deg,color-mix(in srgb,var(--workspace-teal) 10%,transparent),transparent 42%),var(--workspace-surface);border-radius:12px;padding:2.5rem;margin-bottom:3rem;border:1px solid color-mix(in srgb,var(--workspace-blue) 16%,var(--border-primary));gap:2rem;overflow:hidden;box-shadow:0 14px 32px rgba(15,23,42,.08)}.notes-home-banner-content{flex:1.2 1}.notes-home-title{font-size:2.5rem;font-weight:800;font-family:Outfit,sans-serif;color:var(--text-primary);margin-bottom:.75rem;line-height:1.2;letter-spacing:-.03em;text-wrap:balance}.notes-home-subtitle{font-size:1.05rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem}.notes-home-stats{display:flex;gap:2rem}.stat-item{display:flex;flex-direction:column}.stat-num{font-size:2rem;font-weight:700;color:var(--workspace-blue);line-height:1.1;font-family:Outfit,sans-serif}.stat-label{font-size:.8rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;margin-top:.25rem}.notes-home-banner-image{flex:0.8 1;display:flex;justify-content:center;align-items:center}.notes-home-banner-image img{max-width:100%;height:auto;max-height:220px;border-radius:var(--radius-md);filter:drop-shadow(0 10px 20px rgba(0,0,0,.05));object-fit:contain}@media (max-width:768px){.notes-home-banner{flex-direction:column;padding:2rem 1.5rem;text-align:center}.notes-home-stats{justify-content:center}.notes-home-banner-image{display:none}}.notes-home-section-title{margin-bottom:1.5rem}.notes-home-section-title h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.notes-home-section-title p{font-size:.9rem;color:var(--text-muted)}.notes-home-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:1.5rem;gap:1.5rem}.notes-home-card{background:linear-gradient(180deg,color-mix(in srgb,var(--workspace-blue) 3%,transparent),transparent 36%),var(--workspace-surface);border:1px solid color-mix(in srgb,var(--workspace-blue) 14%,var(--border-primary));border-radius:10px;padding:1.5rem;cursor:pointer;display:flex;flex-direction:column;height:100%;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 10px 24px rgba(15,23,42,.06)}.notes-home-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--workspace-blue) 34%,var(--border-primary));box-shadow:0 16px 34px rgba(15,23,42,.1)}.notes-home-card-icon{width:44px;height:44px;border-radius:10px;background-color:color-mix(in srgb,var(--workspace-teal) 12%,var(--bg-secondary));color:var(--workspace-teal);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;transition:all .3s}.notes-home-card:hover .notes-home-card-icon{background:var(--workspace-teal);color:#ffffff;transform:scale(1.05)}.notes-home-card-info{min-width:0}.notes-home-card-title{font-size:1.15rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.notes-home-card-desc{font-size:.88rem;color:var(--text-muted);line-height:1.5;margin:0 0 1.5rem;flex:1 1}.notes-home-card-action{display:flex;align-items:center;gap:.25rem;font-size:.85rem;font-weight:600;color:var(--workspace-blue);margin-top:auto;transition:gap .2s}.notes-home-card:hover .notes-home-card-action{gap:.5rem}@media (max-width:768px){.notes-home-container{padding:.5rem 0}.notes-home-section-title{margin-bottom:1rem}.notes-home-section-title h2{font-size:1.25rem}.notes-home-section-title p{font-size:.86rem;line-height:1.5}.notes-home-grid{gap:.75rem;padding-bottom:5rem}.notes-home-card{display:grid;grid-template-columns:36px minmax(0,1fr) 24px;align-items:center;grid-column-gap:.85rem;column-gap:.85rem;height:88px;min-height:0;padding:.75rem .85rem;border-radius:8px;box-shadow:none}.notes-home-card:hover{transform:none;box-shadow:none}.notes-home-card-icon{width:36px;height:36px;border-radius:8px;margin-bottom:0}.notes-home-card-title{font-size:1rem;margin:0 0 .2rem}.notes-home-card-desc{font-size:.82rem;line-height:1.35;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notes-home-card-action{justify-self:end;margin-top:0;width:24px;height:24px;font-size:0;justify-content:center}.notes-home-card-action:after{content:"›";color:var(--workspace-blue);font-size:1.45rem;line-height:1}}.notebook-layout.home-view .mobile-sidebar-toggle,.notebook-layout.home-view .notes-drawer-backdrop,.notebook-layout.home-view .notes-toc{display:none!important}.notebook-layout.home-view .notes-container{padding-right:2.5rem}.markdown-body{font-family:var(--font-sans);color:var(--text-primary);line-height:1.7;font-size:1.05rem;min-width:0;overflow-wrap:break-word;--code-highlight-bg:var(--code-bg);--code-highlight-header-bg:var(--bg-tertiary);--code-highlight-text:var(--code-text);--code-highlight-comment:#64748b;--code-highlight-punctuation:var(--text-muted);--code-highlight-property:#f43f5e;--code-highlight-string:#10b981;--code-highlight-operator:#f59e0b;--code-highlight-keyword:#8b5cf6;--code-highlight-function:#3b82f6;--code-highlight-variable:#e11d48}.markdown-body :where(h1,h2,h3,h4,h5,h6,p,li,blockquote,th,td){overflow-wrap:anywhere}.main-content.article-page{max-width:1080px;position:relative;z-index:1}.main-content.article-page,.main-content.article-page.about-page{padding-top:calc(var(--header-height) + 2.5rem)}.markdown-body.article-card{max-width:900px;margin:0 auto;padding:2.5rem 3rem;background-color:var(--bg-card);border:1px solid color-mix(in srgb,var(--workspace-blue) 13%,var(--border-primary));border-radius:12px;box-shadow:0 16px 36px rgba(15,23,42,.08)}.main-content.article-page.article-page-with-toc{max-width:min(1360px,calc(100vw - 48px))}.article-page-with-toc .article-card{max-width:none;display:grid;grid-template-columns:minmax(0,900px) 320px;align-items:start;grid-gap:2rem;gap:2rem;margin:0 auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.article-readable{min-width:0;padding:2.5rem 3rem;border:1px solid color-mix(in srgb,var(--workspace-blue) 13%,var(--border-primary));border-radius:12px;background-color:var(--bg-card);box-shadow:0 16px 36px rgba(15,23,42,.08)}.article-back-link{display:inline-flex;align-items:center;gap:.45rem;width:-moz-fit-content;width:fit-content;margin-bottom:1.2rem;border:1px solid color-mix(in srgb,var(--workspace-blue) 15%,var(--border-primary));border-radius:999px;background-color:color-mix(in srgb,var(--bg-secondary) 88%,var(--workspace-bg));color:var(--text-secondary);font-size:.88rem;font-weight:700;line-height:1;padding:.55rem .8rem;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.article-back-link:hover{border-color:var(--workspace-blue);background-color:color-mix(in srgb,var(--workspace-blue) 9%,var(--bg-secondary));color:var(--workspace-blue);transform:translateX(-2px)}.article-back-link svg{flex:0 0 auto;width:16px;height:16px}.article-back-link:after,.article-back-link:before{content:none!important;display:none!important}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{font-family:Outfit,sans-serif;color:var(--text-primary);font-weight:700;margin-top:2rem;margin-bottom:1rem;line-height:1.35}.markdown-body h1{font-size:2.25rem;border-bottom:1px solid color-mix(in srgb,var(--workspace-blue) 14%,var(--border-primary));padding-bottom:.5rem;margin-top:1rem}.markdown-body h2{font-size:1.65rem;border-bottom:1px solid color-mix(in srgb,var(--workspace-blue) 10%,var(--border-secondary));padding-bottom:.4rem}.markdown-body h3{font-size:1.3rem}.markdown-body h4{font-size:1.1rem}.article-content-body :where(h2,h3,h4){scroll-margin-top:calc(var(--header-height) + 1.25rem)}.markdown-body p{margin-bottom:1.25rem;color:var(--text-secondary)}.markdown-body strong{font-weight:600;color:var(--text-primary)}.markdown-body ol,.markdown-body ul{margin-bottom:1.25rem;padding-left:1.5rem;color:var(--text-secondary)}.markdown-body li{margin-bottom:.5rem}.markdown-body li>ol,.markdown-body li>ul{margin-top:.5rem;margin-bottom:0}.markdown-body blockquote{margin:1.5rem 0;padding:.75rem 1.25rem;border-left:4px solid var(--accent);background-color:var(--bg-tertiary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-style:italic}.markdown-body blockquote p{margin-bottom:0;color:var(--text-secondary)}.markdown-body code:not([class*=language-]){font-family:var(--font-mono);font-size:.88em;padding:.2rem .4rem;border-radius:4px;background-color:var(--bg-tertiary);color:var(--accent);border:1px solid var(--border-primary);word-break:break-word}.code-block-wrapper{position:relative;max-width:100%;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--workspace-blue) 13%,var(--border-primary));background-color:var(--code-highlight-bg);box-shadow:0 12px 26px rgba(15,23,42,.08);margin:1.5rem 0;overflow:hidden}.code-block-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 1rem;background-color:var(--code-highlight-header-bg);border-bottom:1px solid var(--border-primary);-webkit-user-select:none;-moz-user-select:none;user-select:none}.code-block-dots{display:flex;align-items:center;gap:6px}.code-block-dot{width:10px;height:10px;border-radius:50%}.code-block-dot.red{background-color:#ef4444}.code-block-dot.yellow{background-color:#f59e0b}.code-block-dot.green{background-color:#10b981}.code-block-meta{display:flex;align-items:center;min-width:0;gap:1rem}.code-block-lang{font-family:var(--font-mono);font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-block-copy-btn{background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;padding:0;border-radius:4px;color:var(--text-muted);transition:all var(--transition-fast)}.code-block-copy-btn:hover{background-color:var(--border-primary);color:var(--text-primary)}.code-block-copy-btn.copied{color:#10b981}.code-block-copy-btn.copy-failed{color:#ef4444}.code-block-copy-icon{width:.95rem;height:.95rem;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='14' height='14' x='8' y='8' rx='2' ry='2'/%3E%3Cpath d='M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2'/%3E%3C/svg%3E") center /contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='14' height='14' x='8' y='8' rx='2' ry='2'/%3E%3Cpath d='M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2'/%3E%3C/svg%3E") center /contain no-repeat}.code-block-copy-btn.copied .code-block-copy-icon{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}.code-block-copy-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.code-block-pre{margin:0!important;padding:1rem!important;overflow-x:auto;white-space:pre;font-size:.9rem!important}.code-block-pre,.code-block-pre code{background:none!important;font-family:var(--font-mono)!important}.code-block-pre code{border:none!important;padding:0!important;border-radius:0!important;color:var(--code-highlight-text)!important;text-shadow:none!important}.markdown-body pre:not(.code-block-pre){max-width:100%;margin:1.5rem 0;padding:1rem;overflow-x:auto;border:1px solid color-mix(in srgb,var(--workspace-blue) 13%,var(--border-primary));border-radius:var(--radius-md);background-color:var(--code-highlight-bg)!important;color:var(--code-highlight-text)!important;box-shadow:0 12px 26px rgba(15,23,42,.08)}.markdown-body pre:not(.code-block-pre)>code{display:block;width:max-content;min-width:100%;padding:0!important;border:0!important;background:transparent!important;color:var(--code-highlight-text)!important;font-family:var(--font-mono)!important;font-size:.9rem!important;white-space:pre}.markdown-body.juejin-cdn-theme .code-block-wrapper{background-color:var(--code-highlight-bg)!important}.markdown-body.juejin-cdn-theme .code-block-header{background-color:var(--code-highlight-header-bg)!important}.markdown-body.juejin-cdn-theme .code-block-pre,.markdown-body.juejin-cdn-theme .code-block-pre code{background:transparent!important;color:var(--code-highlight-text)!important}.markdown-body table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem}.markdown-body td,.markdown-body th{padding:.75rem 1rem;border:1px solid var(--border-primary);text-align:left}.markdown-body th{font-weight:600;color:var(--text-primary)}.markdown-body th,.markdown-body tr:nth-child(2n){background-color:var(--bg-tertiary)}.markdown-body img{max-width:100%;height:auto;border-radius:var(--radius-md);margin:1.5rem auto;display:block;box-shadow:var(--shadow-sm);border:1px solid var(--border-primary)}.markdown-body a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.markdown-body a:hover{color:var(--accent-hover)}.markdown-body hr{height:2px;background-color:var(--border-primary);border:none;margin:2rem 0}.markdown-body kbd{font-family:var(--font-mono);font-size:.75rem;padding:.15rem .4rem;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-primary);border:solid var(--border-primary);border-width:1px 1px 2px;border-radius:4px;color:var(--text-primary);box-shadow:0 1px 0 rgba(0,0,0,.1)}.markdown-body .token.cdata,.markdown-body .token.comment,.markdown-body .token.doctype,.markdown-body .token.prolog{color:var(--code-highlight-comment)!important;font-style:italic}.markdown-body .token.punctuation{color:var(--code-highlight-punctuation)!important}.markdown-body .token.boolean,.markdown-body .token.constant,.markdown-body .token.deleted,.markdown-body .token.number,.markdown-body .token.property,.markdown-body .token.symbol,.markdown-body .token.tag{color:var(--code-highlight-property)!important}.markdown-body .token.attr-name,.markdown-body .token.builtin,.markdown-body .token.char,.markdown-body .token.inserted,.markdown-body .token.selector,.markdown-body .token.string{color:var(--code-highlight-string)!important}.markdown-body .language-css .token.string,.markdown-body .style .token.string,.markdown-body .token.entity,.markdown-body .token.operator,.markdown-body .token.url{color:var(--code-highlight-operator)!important}.markdown-body .token.atrule,.markdown-body .token.attr-value,.markdown-body .token.keyword{color:var(--code-highlight-keyword)!important}.markdown-body .token.class-name,.markdown-body .token.function{color:var(--code-highlight-function)!important}.markdown-body .token.important,.markdown-body .token.regex,.markdown-body .token.variable{color:var(--code-highlight-variable)!important}.markdown-body[data-code-highlight=github]{--code-highlight-bg:#f6f8fa;--code-highlight-header-bg:#eef2f7;--code-highlight-text:#24292f;--code-highlight-comment:#6e7781;--code-highlight-punctuation:#57606a;--code-highlight-property:#0550ae;--code-highlight-string:#0a3069;--code-highlight-operator:#0550ae;--code-highlight-keyword:#cf222e;--code-highlight-function:#8250df;--code-highlight-variable:#953800}.markdown-body[data-code-highlight=github-dark],.markdown-body[data-code-highlight=vs2015]{--code-highlight-bg:#0d1117;--code-highlight-header-bg:#161b22;--code-highlight-text:#c9d1d9;--code-highlight-comment:#8b949e;--code-highlight-punctuation:#c9d1d9;--code-highlight-property:#79c0ff;--code-highlight-string:#a5d6ff;--code-highlight-operator:#ff7b72;--code-highlight-keyword:#ff7b72;--code-highlight-function:#d2a8ff;--code-highlight-variable:#ffa657}.markdown-body[data-code-highlight=a11y-dark]{--code-highlight-bg:#2b2b2b;--code-highlight-header-bg:#343434;--code-highlight-text:#f8f8f2;--code-highlight-comment:#d4d0ab;--code-highlight-punctuation:#f8f8f2;--code-highlight-property:#ffd700;--code-highlight-string:#abe338;--code-highlight-operator:#ffa07a;--code-highlight-keyword:#ffa07a;--code-highlight-function:#00e0e0;--code-highlight-variable:#dcc6e0}.markdown-body[data-code-highlight=atom-one-dark-reasonable],.markdown-body[data-code-highlight=atom-one-dark]{--code-highlight-bg:#282c34;--code-highlight-header-bg:#21252b;--code-highlight-text:#abb2bf;--code-highlight-comment:#5c6370;--code-highlight-punctuation:#abb2bf;--code-highlight-property:#d19a66;--code-highlight-string:#98c379;--code-highlight-operator:#56b6c2;--code-highlight-keyword:#c678dd;--code-highlight-function:#61afef;--code-highlight-variable:#e06c75}.markdown-body[data-code-highlight=atom-one-light]{--code-highlight-bg:#fafafa;--code-highlight-header-bg:#f0f0f0;--code-highlight-text:#383a42;--code-highlight-comment:#a0a1a7;--code-highlight-punctuation:#383a42;--code-highlight-property:#986801;--code-highlight-string:#50a14f;--code-highlight-operator:#0184bc;--code-highlight-keyword:#a626a4;--code-highlight-function:#4078f2;--code-highlight-variable:#e45649}.markdown-body[data-code-highlight=monokai-sublime]{--code-highlight-bg:#23241f;--code-highlight-header-bg:#1e1f1c;--code-highlight-text:#f8f8f2;--code-highlight-comment:#75715e;--code-highlight-punctuation:#f8f8f2;--code-highlight-property:#ae81ff;--code-highlight-string:#e6db74;--code-highlight-operator:#f92672;--code-highlight-keyword:#f92672;--code-highlight-function:#a6e22e;--code-highlight-variable:#fd971f}.markdown-body[data-code-highlight=tokyo-night-dark]{--code-highlight-bg:#1a1b26;--code-highlight-header-bg:#16161e;--code-highlight-text:#a9b1d6;--code-highlight-comment:#565f89;--code-highlight-punctuation:#89ddff;--code-highlight-property:#ff9e64;--code-highlight-string:#9ece6a;--code-highlight-operator:#89ddff;--code-highlight-keyword:#bb9af7;--code-highlight-function:#7aa2f7;--code-highlight-variable:#f7768e}.markdown-body[data-code-highlight=nord]{--code-highlight-bg:#2e3440;--code-highlight-header-bg:#242933;--code-highlight-text:#d8dee9;--code-highlight-comment:#616e88;--code-highlight-punctuation:#eceff4;--code-highlight-property:#b48ead;--code-highlight-string:#a3be8c;--code-highlight-operator:#81a1c1;--code-highlight-keyword:#81a1c1;--code-highlight-function:#88c0d0;--code-highlight-variable:#d08770}.markdown-body[data-code-highlight=dracula]{--code-highlight-bg:#282a36;--code-highlight-header-bg:#21222c;--code-highlight-text:#f8f8f2;--code-highlight-comment:#6272a4;--code-highlight-punctuation:#f8f8f2;--code-highlight-property:#bd93f9;--code-highlight-string:#f1fa8c;--code-highlight-operator:#ff79c6;--code-highlight-keyword:#ff79c6;--code-highlight-function:#50fa7b;--code-highlight-variable:#ffb86c}.markdown-body[data-code-highlight=atelier-estuary-dark]{--code-highlight-bg:#22221b;--code-highlight-header-bg:#1a1a14;--code-highlight-text:#d6d5b9;--code-highlight-comment:#878573;--code-highlight-punctuation:#d6d5b9;--code-highlight-property:#36a166;--code-highlight-string:#7d9726;--code-highlight-operator:#5f9182;--code-highlight-keyword:#ba6236;--code-highlight-function:#36a166;--code-highlight-variable:#ae7313}.markdown-body[data-code-highlight=atelier-forest-dark]{--code-highlight-bg:#1b1918;--code-highlight-header-bg:#151312;--code-highlight-text:#e6e2dc;--code-highlight-comment:#9c9491;--code-highlight-punctuation:#e6e2dc;--code-highlight-property:#df5320;--code-highlight-string:#7b9726;--code-highlight-operator:#3d97b8;--code-highlight-keyword:#6666ea;--code-highlight-function:#407ee7;--code-highlight-variable:#c38418}.markdown-body[data-code-highlight=atelier-seaside-light]{--code-highlight-bg:#f4fbf4;--code-highlight-header-bg:#e5eee5;--code-highlight-text:#242924;--code-highlight-comment:#809980;--code-highlight-punctuation:#5e6e5e;--code-highlight-property:#ad2bee;--code-highlight-string:#29a329;--code-highlight-operator:#1999b3;--code-highlight-keyword:#3d62f5;--code-highlight-function:#3d62f5;--code-highlight-variable:#87711d}.markdown-body[data-code-highlight=nnfx-dark]{--code-highlight-bg:#111111;--code-highlight-header-bg:#191919;--code-highlight-text:#f4f4f4;--code-highlight-comment:#777777;--code-highlight-punctuation:#d0d0d0;--code-highlight-property:#82aaff;--code-highlight-string:#addb67;--code-highlight-operator:#89ddff;--code-highlight-keyword:#c792ea;--code-highlight-function:#ffcb6b;--code-highlight-variable:#f78c6c}.markdown-body.juejin-theme{font-family:-apple-system,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.75;color:var(--text-primary)}.markdown-body.juejin-theme .article-title{font-size:2.2rem;line-height:1.4;margin-bottom:1rem;font-weight:700;color:var(--text-primary);font-family:Outfit,-apple-system,sans-serif}.markdown-body.juejin-theme .article-meta-info{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem;font-size:.88rem;color:var(--text-muted);margin-bottom:1.25rem}.markdown-body.juejin-theme .article-meta-info span{display:flex;align-items:center;gap:.35rem}.markdown-body.juejin-theme .article-divider{border:none;height:1px;background-color:var(--border-primary);margin-top:0;margin-bottom:2rem}.markdown-body.juejin-theme h2{font-size:1.45rem;line-height:1.5;padding-bottom:4px;margin-top:2.5rem;margin-bottom:1.25rem;font-weight:600;position:relative;padding-left:12px;border-left:4px solid #1e80ff;border-bottom:none}.markdown-body.juejin-theme h3{font-size:1.25rem;line-height:1.5;margin-top:2rem;margin-bottom:1rem;font-weight:600;color:var(--text-primary)}.markdown-body.juejin-theme h4{font-size:1.1rem;margin-top:1.5rem;margin-bottom:.8rem;font-weight:600}.markdown-body.juejin-theme p{margin-top:0;margin-bottom:1.25rem;color:var(--text-secondary);font-size:1rem;word-wrap:break-word}.markdown-body.juejin-theme blockquote{margin:1.5rem 0;padding:1rem 1.25rem;border-left:4px solid #1e80ff;background-color:var(--bg-tertiary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-style:normal}.markdown-body.juejin-theme blockquote p{margin-bottom:0;color:var(--text-muted);font-size:.95rem;line-height:1.6}.markdown-body.juejin-theme code:not([class*=language-]){font-family:var(--font-mono);font-size:.88em;padding:.18rem .35rem;border-radius:4px;background-color:rgba(30,128,255,.06);color:#1e80ff;border:none}[data-theme=dark] .markdown-body.juejin-theme code:not([class*=language-]){background-color:rgba(30,128,255,.15);color:#38bdf8}.markdown-body.juejin-theme a{color:#1e80ff;text-decoration:none;border-bottom:1px solid rgba(30,128,255,.2);transition:all var(--transition-fast)}.markdown-body.juejin-theme a:hover{color:#0c82ff;border-bottom:1px solid #1e80ff}.markdown-body .article-back-link,.markdown-body.juejin-cdn-theme .article-back-link,.markdown-body.juejin-theme .article-back-link{color:var(--text-secondary);text-decoration:none;border-bottom:1px solid var(--border-primary)}.markdown-body .article-back-link:hover,.markdown-body.juejin-cdn-theme .article-back-link:hover,.markdown-body.juejin-theme .article-back-link:hover{color:var(--accent);border-color:var(--accent);background-color:var(--accent-light)}[data-theme=dark] .markdown-body.juejin-theme a{color:#38bdf8;border-bottom-color:rgba(56,189,248,.2)}[data-theme=dark] .markdown-body.juejin-theme a:hover{color:#0ea5e9;border-bottom-color:#38bdf8}.markdown-body.juejin-theme ol,.markdown-body.juejin-theme ul{margin-top:0;margin-bottom:1.25rem;padding-left:1.5rem}.markdown-body.juejin-theme table{margin:1.5rem 0;border-collapse:collapse;width:100%}.markdown-body.juejin-theme td,.markdown-body.juejin-theme th{border:1px solid var(--border-primary);padding:.6rem .8rem}.markdown-body.juejin-theme th{background-color:var(--bg-secondary);font-weight:600}.markdown-body.juejin-cdn-theme .article-title{font-size:2.2rem;line-height:1.4;margin-bottom:1rem;font-weight:700;font-family:Outfit,-apple-system,sans-serif}.markdown-body.juejin-cdn-theme .article-meta-info,.markdown-body.juejin-theme .article-meta-info{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem;font-size:.88rem;color:var(--text-muted);margin-bottom:1.25rem}.markdown-body.juejin-cdn-theme .article-meta-info span,.markdown-body.juejin-theme .article-meta-info span{display:flex;align-items:center;gap:.35rem}.markdown-body.juejin-cdn-theme .article-divider,.markdown-body.juejin-theme .article-divider{border:none;height:1px;background-color:var(--border-primary);margin-top:0;margin-bottom:2rem}.theme-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .6rem;border-radius:12px;font-size:.78rem;font-weight:500;background:linear-gradient(135deg,rgba(30,128,255,.1),rgba(124,58,237,.1));color:#1e80ff;border:1px solid rgba(30,128,255,.2)}.note-detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem;margin-bottom:.75rem;font-size:.88rem;color:var(--text-muted)}.note-detail-meta span{display:flex;align-items:center;gap:.35rem}[data-theme=dark] .theme-badge{background:linear-gradient(135deg,rgba(56,189,248,.1),rgba(139,92,246,.1));color:#38bdf8;border-color:rgba(56,189,248,.2)}[data-theme=dark] .markdown-body.juejin-cdn-theme{color:var(--text-primary)!important;background:var(--bg-card)!important;background-image:none!important}[data-theme=dark] .markdown-body.juejin-cdn-theme h1,[data-theme=dark] .markdown-body.juejin-cdn-theme h2,[data-theme=dark] .markdown-body.juejin-cdn-theme h3,[data-theme=dark] .markdown-body.juejin-cdn-theme h4,[data-theme=dark] .markdown-body.juejin-cdn-theme h5,[data-theme=dark] .markdown-body.juejin-cdn-theme h6{color:var(--text-primary)!important}[data-theme=dark] .markdown-body.juejin-cdn-theme li,[data-theme=dark] .markdown-body.juejin-cdn-theme p{color:var(--text-secondary)!important}[data-theme=dark] .markdown-body.juejin-cdn-theme a{color:#38bdf8!important}[data-theme=dark] .markdown-body.juejin-cdn-theme blockquote{background-color:var(--bg-tertiary)!important;color:var(--text-muted)!important}[data-theme=dark] .markdown-body.juejin-cdn-theme code:not([class*=language-]){background-color:rgba(30,128,255,.15)!important;color:#38bdf8!important}[data-theme=dark] .markdown-body.juejin-cdn-theme pre>code{background:var(--code-bg)!important;color:var(--code-text)!important}[data-theme=dark] .markdown-body.juejin-cdn-theme table,[data-theme=dark] .markdown-body.juejin-cdn-theme td,[data-theme=dark] .markdown-body.juejin-cdn-theme th{border-color:var(--border-primary)!important}[data-theme=dark] .markdown-body.juejin-cdn-theme th,[data-theme=dark] .markdown-body.juejin-cdn-theme thead{background-color:var(--bg-tertiary)!important;color:var(--text-primary)!important}[data-theme=dark] .markdown-body.juejin-cdn-theme tr:nth-child(2n){background-color:var(--bg-tertiary)!important}[data-theme=dark] .markdown-body.juejin-cdn-theme hr{border-color:var(--border-primary)!important}[data-theme=dark] .markdown-body.juejin-cdn-theme em strong,[data-theme=dark] .markdown-body.juejin-cdn-theme strong{color:var(--text-primary)!important}.juejin-theme-panel{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem;padding:.8rem 1.2rem;margin-bottom:2.5rem;border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--workspace-blue) 5%,transparent),transparent 52%),var(--workspace-surface);border:1px solid color-mix(in srgb,var(--workspace-blue) 14%,var(--border-primary));box-shadow:0 10px 24px rgba(15,23,42,.06);transition:border-color .3s,background-color .3s,box-shadow .3s}.juejin-theme-panel:hover{box-shadow:0 14px 30px rgba(15,23,42,.08);border-color:color-mix(in srgb,var(--workspace-blue) 30%,var(--border-primary))}.juejin-theme-panel-title{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;color:var(--text-primary)}.juejin-theme-panel-title i{color:var(--workspace-blue)}.juejin-theme-panel-controls{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem}.panel-select-wrapper{display:flex;align-items:center;gap:.5rem}.panel-select-wrapper label{display:flex;align-items:center;gap:.3rem;font-size:.82rem;color:var(--text-secondary);font-weight:500}.panel-select-wrapper label i{width:14px;height:14px;opacity:.8}.panel-select-wrapper select{padding:.35rem 2rem .35rem .6rem;font-size:.82rem;font-family:inherit;border-radius:6px;border:1px solid color-mix(in srgb,var(--workspace-blue) 14%,var(--border-primary));background-color:color-mix(in srgb,var(--bg-secondary) 88%,var(--workspace-bg));color:var(--text-primary);cursor:pointer;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;background-size:.8rem;transition:border-color .2s,background-color .2s}.panel-select-wrapper select:focus,.panel-select-wrapper select:hover{border-color:var(--workspace-blue)}.panel-reset-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .6rem;font-size:.8rem;font-weight:500;border-radius:6px;border:1px solid color-mix(in srgb,var(--workspace-blue) 14%,var(--border-primary));background-color:color-mix(in srgb,var(--bg-secondary) 88%,var(--workspace-bg));color:var(--text-muted);cursor:pointer;transition:all .2s}.panel-reset-btn:hover{border-color:var(--workspace-blue);background-color:color-mix(in srgb,var(--workspace-blue) 8%,var(--bg-secondary));color:var(--workspace-blue)}.panel-reset-btn i{width:13px;height:13px}@media (max-width:1280px){.main-content.article-page.article-page-with-toc{max-width:1080px}.article-page-with-toc .article-card{display:block}.article-toc{display:none}}@media (max-width:768px){.main-content.article-page{padding:1rem .75rem 3rem}.article-readable,.markdown-body.article-card{padding:1.5rem 1rem;border-radius:var(--radius-sm)}.juejin-theme-panel{flex-direction:column;align-items:flex-start;gap:1rem;padding:1rem}.juejin-theme-panel-controls{width:100%;flex-direction:column;align-items:stretch;gap:.8rem}.panel-select-wrapper{justify-content:space-between}.panel-select-wrapper select{width:150px}.panel-reset-btn{align-self:flex-end}}.next-body,.site-shell{min-height:100vh}.next-main{min-height:calc(100vh - var(--header-height));position:relative;overflow-x:clip;background:radial-gradient(circle at 18% 0,color-mix(in srgb,var(--workspace-blue) 13%,transparent) 0,transparent 28rem),radial-gradient(circle at 88% 16%,color-mix(in srgb,var(--workspace-teal) 12%,transparent) 0,transparent 24rem),linear-gradient(180deg,var(--workspace-bg) 0,var(--workspace-bg-deep) 100%)}.next-main:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(90deg,var(--workspace-line) 1px,transparent 1px),linear-gradient(180deg,var(--workspace-line) 1px,transparent 1px),url("data:image/svg+xml,%3Csvg width='420' height='240' viewBox='0 0 420 240' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='%232563eb' stroke-opacity='0.15' stroke-width='1.2'%3E%3Cpath d='M0 128H48L84 164H142'/%3E%3Cpath d='M302 76H354L388 110H420'/%3E%3Cpath d='M0 68H62L94 36H148'/%3E%3Cpath d='M272 170H330L360 140H420'/%3E%3Ccircle cx='48' cy='128' r='3'/%3E%3Ccircle cx='142' cy='164' r='3'/%3E%3Ccircle cx='354' cy='76' r='3'/%3E%3Ccircle cx='94' cy='36' r='3'/%3E%3Ccircle cx='330' cy='170' r='3'/%3E%3C/g%3E%3C/svg%3E");background-size:32px 32px,32px 32px,560px 320px;background-position:top,top,center 84px;opacity:.75;-webkit-mask-image:linear-gradient(180deg,black,black 55%,transparent);mask-image:linear-gradient(180deg,black,black 55%,transparent)}[data-theme=dark] .next-main:before{opacity:.38}.next-main .blog-index-page,.next-main .home-dashboard-page{min-height:calc(100vh - var(--header-height))}.admin-page{width:min(1760px,calc(100vw - 48px));max-width:none;margin:0 auto;padding:calc(var(--header-height) + 2.5rem) 0 4rem;position:relative;z-index:1}.admin-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;padding:1.25rem;border:1px solid color-mix(in srgb,var(--workspace-blue) 14%,var(--border-primary));border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--workspace-blue) 8%,transparent),transparent 44%),var(--workspace-surface)}.admin-header h1{font-size:2.3rem;letter-spacing:-.03em;line-height:1.1;text-wrap:balance}.admin-panel{border:1px solid color-mix(in srgb,var(--workspace-blue) 14%,var(--border-primary));border-radius:12px;background:var(--workspace-surface);padding:1.25rem;box-shadow:0 10px 26px rgba(15,23,42,.06)}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));grid-gap:1rem;gap:1rem}.admin-form{display:grid;grid-gap:.8rem;gap:.8rem}.admin-editor-panel{display:grid;grid-gap:1rem;gap:1rem}.admin-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.admin-editor-head h2{margin:0 0 .35rem}.admin-segmented{display:inline-flex;align-items:center;gap:.25rem;padding:.28rem;border:1px solid color-mix(in srgb,var(--workspace-blue) 16%,var(--border-primary));border-radius:10px;background:var(--workspace-surface-soft)}.admin-segmented button{border:0;border-radius:7px;background:transparent;color:var(--text-secondary);cursor:pointer;font:inherit;font-weight:700;padding:.5rem .8rem}.admin-segmented button.active{background:var(--accent);color:white}.admin-editor-layout{display:grid;grid-template-columns:minmax(620px,.95fr) minmax(680px,1.05fr);grid-gap:1.25rem;gap:1.25rem;align-items:start}.admin-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.admin-form label{display:grid;grid-gap:.35rem;gap:.35rem;color:var(--text-secondary);font-weight:700;font-size:.9rem}.admin-form input,.admin-form select,.admin-form textarea{width:100%;border:1px solid color-mix(in srgb,var(--workspace-blue) 13%,var(--border-primary));border-radius:8px;background:color-mix(in srgb,var(--bg-secondary) 86%,var(--workspace-bg));color:var(--text-primary);padding:.7rem .8rem;font:inherit}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{outline:none;border-color:var(--workspace-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--workspace-blue) 13%,transparent)}.admin-form textarea{min-height:520px;font-family:var(--font-mono);font-size:.88rem;line-height:1.6}.admin-form .admin-short-textarea{min-height:96px;font-family:inherit}.admin-path-control{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.5rem;gap:.5rem}.admin-editor-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.admin-content-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.admin-content-list{border:1px solid color-mix(in srgb,var(--workspace-blue) 14%,var(--border-primary));border-radius:10px;background:var(--workspace-surface-soft);overflow:hidden}.admin-content-list-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid color-mix(in srgb,var(--workspace-blue) 12%,var(--border-primary));padding:.85rem 1rem;background:color-mix(in srgb,var(--workspace-blue) 4%,transparent)}.admin-content-list-head h3{margin:0;font-size:1rem}.admin-content-list-head span{color:var(--text-muted);font-size:.86rem;font-weight:800}.admin-content-list-body{display:grid;grid-gap:.5rem;gap:.5rem;max-height:420px;overflow:auto;padding:.75rem}.admin-content-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.75rem;gap:.75rem;align-items:center;border:1px solid transparent;border-radius:8px;padding:.75rem;transition:background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.admin-content-row.active,.admin-content-row:hover{border-color:color-mix(in srgb,var(--workspace-blue) 26%,var(--border-primary));background:var(--bg-secondary)}.admin-content-row:hover{transform:translateX(2px)}.admin-content-row-main{min-width:0;display:grid;grid-gap:.28rem;gap:.28rem}.admin-content-row-main span,.admin-content-row-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-content-row-main span{color:var(--text-muted);font-size:.84rem}.admin-content-row-actions{display:flex;gap:.5rem}.admin-note-tree{gap:.35rem}.admin-note-category{display:grid;grid-gap:.35rem;gap:.35rem}.admin-note-category summary{list-style:none}.admin-note-category summary::-webkit-details-marker{display:none}.admin-note-category-row,.admin-note-row{margin-left:calc(var(--tree-level, 0) * 1rem)}.admin-note-category-row{border-color:color-mix(in srgb,var(--workspace-teal) 20%,var(--border-primary));background:color-mix(in srgb,var(--workspace-teal) 7%,var(--bg-secondary))}.admin-note-category-row .admin-content-row-main strong:before{content:"▾";display:inline-block;width:1rem;color:var(--accent)}.admin-note-category:not([open])>.admin-note-category-row .admin-content-row-main strong:before{content:"▸"}.admin-note-category-children{display:grid;grid-gap:.35rem;gap:.35rem}.admin-selected-content{min-height:72px;display:grid;align-content:center;grid-gap:.2rem;gap:.2rem;border:1px solid color-mix(in srgb,var(--workspace-blue) 14%,var(--border-primary));border-radius:8px;background:color-mix(in srgb,var(--bg-secondary) 86%,var(--workspace-bg));color:var(--text-secondary);padding:.7rem .8rem}.admin-selected-content small,.admin-selected-content span{color:var(--text-muted);font-size:.8rem;font-weight:700}.admin-selected-content small,.admin-selected-content strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-danger-action{border-color:rgba(220,38,38,.24);color:#dc2626}.admin-danger-action:hover:not(:disabled){border-color:rgba(220,38,38,.38);background:rgba(220,38,38,.08);color:#b91c1c}.admin-preview{top:calc(var(--header-height) + 1rem);max-height:calc(100vh - var(--header-height) - 2rem);min-height:720px;overflow:auto;border:1px solid color-mix(in srgb,var(--workspace-blue) 14%,var(--border-primary));border-radius:10px;background:var(--workspace-surface);box-shadow:0 12px 28px rgba(15,23,42,.08)}.admin-preview,.admin-preview-title{position:-webkit-sticky;position:sticky}.admin-preview-title{top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid color-mix(in srgb,var(--workspace-blue) 14%,var(--border-primary));background:color-mix(in srgb,var(--workspace-blue) 5%,var(--bg-secondary));color:var(--text-secondary);font-size:.85rem;font-weight:800;padding:.75rem 1rem}.admin-preview .admin-preview-article{min-height:660px;padding:2rem 2.25rem}.admin-preview .admin-preview-article>div{max-width:none}.admin-import-list{display:grid;grid-gap:.65rem;gap:.65rem;border:1px solid var(--border-primary);border-radius:10px;padding:.85rem}.admin-import-directory{display:grid;grid-gap:.5rem;gap:.5rem}.admin-import-directory>span{color:var(--text-secondary);font-size:.9rem;font-weight:700}.admin-import-directory-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(260px,1fr);grid-gap:.75rem;gap:.75rem}.admin-help{color:var(--text-muted)}.admin-error,.admin-help{font-size:.92rem;line-height:1.7}.admin-error{border:1px solid rgba(239,68,68,.24);border-radius:8px;background:rgba(239,68,68,.08);color:#dc2626;padding:.75rem .85rem}.auth-card{max-width:460px;margin:calc(var(--header-height) + 4rem) auto}.auth-card form{display:block;margin-top:1.25rem}.auth-card .dashboard-action{width:100%}.legacy-notice{margin-top:1rem;color:var(--text-muted);font-size:.9rem}.notes-sidebar summary{list-style:none}.notes-sidebar summary::-webkit-details-marker{display:none}.notes-sidebar details[open]>.next-tree-children{display:flex;flex-direction:column;gap:.25rem}@media (max-width:1360px){.admin-page{width:min(1240px,calc(100vw - 40px))}.admin-content-lists,.admin-editor-layout{grid-template-columns:1fr}.admin-preview{position:static;max-height:none}}@media (max-width:760px){.admin-page{width:calc(100vw - 24px);padding:calc(var(--header-height) + 1.5rem) 0 3rem}.admin-header{align-items:flex-start;flex-direction:column}.admin-editor-head{display:grid}.admin-content-row,.admin-form-row,.admin-import-directory-grid,.admin-path-control{grid-template-columns:1fr}.admin-content-row-actions{justify-content:flex-start}.admin-note-category-row,.admin-note-row{margin-left:calc(var(--tree-level, 0) * .7rem)}.admin-preview,.admin-preview .admin-preview-article{min-height:0}}@media (max-width:768px){.markdown-body .notes-home-card{align-content:center;height:88px!important;min-height:0!important}.markdown-body .notes-home-card-title{margin:0 0 .2rem!important;line-height:1.25}.markdown-body .notes-home-card-desc{margin:0!important;line-height:1.35}}