.apple-nav{display:flex;align-items:center;gap:0}.apple-nav-item{position:relative;padding:6px 18px;font-size:.85rem;font-weight:400;color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast);letter-spacing:-.01em}.apple-nav-item:hover{color:var(--text-primary);text-decoration:none}.apple-nav-item.active{color:var(--text-primary);font-weight:600}.apple-nav-item.active:after{content:"";position:absolute;bottom:-14px;left:50%;transform:translate(-50%);width:100%;max-width:24px;height:2px;background:var(--text-primary);border-radius:1px}@media(max-width:640px){.apple-nav{display:none}.mobile-menu-toggle{display:flex}.navbar-cta{display:none}}.blog-badge{display:inline-block;padding:6px 16px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;background:var(--accent-subtle);color:var(--accent);border:1px solid rgba(0,102,255,.15);margin-bottom:var(--space-5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 2px 10px #007aff0a}.blog-hero{position:relative;padding:140px 0 80px;text-align:center;background:transparent;overflow:hidden}.blog-hero:before{content:"";position:absolute;top:-30%;left:50%;transform:translate(-50%);width:100vw;height:100vw;max-width:1000px;max-height:800px;background:radial-gradient(circle,#007aff0a,#fff0 60%);z-index:-1;pointer-events:none}.blog-hero-title{font-size:clamp(2rem,5vw,3.2rem);font-weight:800;letter-spacing:-.04em;line-height:1.15;max-width:760px;margin:0 auto var(--space-5)}.blog-title-line{display:block}.blog-rotating-wrapper{display:block;position:relative;height:1.3em;overflow:hidden}.blog-rotating{position:absolute;left:0;right:0;top:0;height:100%;display:flex;justify-content:center;align-items:center}.blog-word{position:absolute;display:inline-block;font-weight:800;color:var(--accent);opacity:0;transform:translateY(60px);transition:opacity .4s ease,transform .6s cubic-bezier(.16,1,.3,1);white-space:nowrap}.blog-word.active{opacity:1;transform:translateY(0)}.blog-word.exit-up{opacity:0;transform:translateY(-60px);transition:opacity .3s ease,transform .5s cubic-bezier(.16,1,.3,1)}.blog-hero-subtitle{font-size:var(--text-lg);color:var(--text-secondary);max-width:520px;margin:0 auto;line-height:1.6}.blog-filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:var(--space-6);width:100%}.blog-filter-pill{padding:8px 20px;border-radius:var(--radius-full);border:1px solid rgba(0,102,255,.22);background:transparent;color:var(--accent);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all var(--transition-base) var(--ease-spring);letter-spacing:.01em;font-family:inherit}.blog-filter-pill:hover{border-color:var(--accent);background:var(--accent-subtle);transform:translateY(-1px)}.blog-filter-pill.active{background:var(--accent);color:var(--text-inverse);border-color:var(--accent);box-shadow:0 4px 14px #0066ff38}.blog-list{padding:0 0 var(--section-y-large);background:var(--bg-primary)}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.blog-card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);overflow:hidden;transition:transform var(--transition-base) var(--ease-spring),box-shadow var(--transition-base) var(--ease-spring),border-color var(--transition-base);display:flex;flex-direction:column;min-height:100%;box-shadow:var(--shadow-xs)}.blog-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);border-color:#0066ff2e}.blog-card-image{position:relative;width:100%;padding-bottom:56.25%;overflow:hidden;display:block;cursor:pointer;text-decoration:none;background:linear-gradient(135deg,#f0f2f5,#e6e9ee)}.blog-card-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.25,.46,.45,.94)}.blog-card:hover .blog-card-image img{transform:scale(1.03)}.blog-card-tag{display:inline-block;padding:4px 12px;background:var(--accent-subtle);border:1px solid rgba(0,102,255,.18);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;color:var(--accent);letter-spacing:.02em}.blog-card-meta{display:flex;align-items:center;gap:10px;margin-bottom:var(--space-3)}.blog-card-body{padding:var(--space-5) var(--space-5) var(--space-3);flex:1;display:flex;flex-direction:column}.blog-card-date{font-size:var(--text-xs);font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em}.blog-card.hidden{display:none}.blog-card{animation:cardFadeIn .4s cubic-bezier(.16,1,.3,1) both}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.blog-card-body h3{font-size:var(--text-lg);font-weight:700;line-height:1.35;letter-spacing:-.01em;margin-bottom:var(--space-3)}.blog-card-body h3 a{color:var(--text-primary);text-decoration:none;background-image:linear-gradient(var(--accent),var(--accent));background-position:0% 100%;background-repeat:no-repeat;background-size:0% 2px;transition:color .3s ease,background-size .4s cubic-bezier(.16,1,.3,1)}.blog-card:hover .blog-card-body h3 a{color:var(--accent);background-size:100% 2px}.blog-card-body p{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-card-footer{margin-top:auto;padding:0 var(--space-5) var(--space-5);font-size:var(--text-xs);color:var(--text-tertiary)}.article-hero{padding:140px 0 40px;background:var(--bg-primary)}.article-hero .container{display:grid!important;grid-template-columns:1fr 320px;gap:var(--space-8);align-items:center}.article-hero-text{min-width:0}.article-meta{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.article-tag{display:inline-block;padding:4px 12px;background:var(--accent-subtle);border:1px solid rgba(0,122,255,.15);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;color:var(--accent)}.article-date{font-size:var(--text-sm);color:var(--text-tertiary)}.article-hero h1{font-size:clamp(1.8rem,4vw,2.6rem);max-width:800px;line-height:1.2;margin-bottom:var(--space-4)}.article-hero-subtitle{font-size:1.12rem;color:var(--text-secondary);max-width:680px;line-height:1.65}.article-cover{display:flex;align-items:center;justify-content:center}.article-cover img{width:100%;max-width:320px;border-radius:var(--radius-lg);aspect-ratio:1 / 1;object-fit:cover;box-shadow:0 8px 32px #0066ff14,0 2px 8px #0000000a;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s ease;opacity:1!important}.article-cover img:hover{transform:scale(1.03) translateY(-4px);box-shadow:0 16px 48px #0066ff1f,0 4px 12px #0000000f}.article-content{max-width:720px;margin:0 auto;padding:var(--space-12) var(--space-6) 80px}.article-content h2{font-family:var(--font-sans);font-size:1.55rem;font-weight:800;letter-spacing:-.03em;margin-top:72px;margin-bottom:var(--space-4);color:var(--text-primary)}.article-content h3{font-family:var(--font-sans);font-size:1.2rem;font-weight:700;letter-spacing:-.02em;margin-top:var(--space-10);margin-bottom:var(--space-3)}.article-content p{font-size:1.05rem;line-height:1.8;color:var(--text-primary);margin-bottom:var(--space-5)}.article-content ul,.article-content ol{margin-bottom:var(--space-5);padding-left:var(--space-6)}.article-content li{font-size:1.02rem;line-height:1.7;margin-bottom:var(--space-2);color:var(--text-primary)}.article-content blockquote{border-left:3px solid var(--accent);margin:var(--space-10) 0;padding:var(--space-6) var(--space-8);background:transparent;border-radius:0}.article-content blockquote p{font-family:var(--font-sans);font-size:clamp(1.12rem,2.5vw,1.4rem);font-weight:500;font-style:normal;line-height:1.55;letter-spacing:-.02em;color:var(--text-secondary);margin-bottom:0}.article-content code{font-family:var(--font-mono);font-size:.88em;background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;color:var(--danger)}.article-content strong{font-weight:700;color:var(--text-primary)}.info-box{display:flex;gap:var(--space-4);background:#eff6ff;border:1px solid rgba(0,102,255,.08);border-radius:var(--radius-lg);padding:var(--space-6);margin:var(--space-8) 0;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease}.info-box:hover{transform:translateY(-2px);box-shadow:0 8px 32px #0066ff0f}.info-box p{font-size:.92rem;line-height:1.7;color:var(--text-primary);margin-bottom:0}.info-box p strong{display:block;font-size:.88rem;font-weight:700;margin-bottom:6px;letter-spacing:-.01em}.article-cta{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-10);text-align:center;margin:var(--space-10) 0 0}.article-cta h3{margin-bottom:var(--space-3)}.article-cta p{color:var(--text-secondary);margin-bottom:var(--space-5)}.reading-progress{position:fixed;top:0;left:0;width:0%;height:2px;background:var(--accent);z-index:10000;transition:width .12s linear;pointer-events:none}.article-layout{display:grid;grid-template-columns:176px 1fr;gap:60px;max-width:1000px;margin:0 auto;padding:var(--space-12) var(--space-6) 80px;align-items:start}.article-toc{position:sticky;top:100px;display:flex;flex-direction:column;gap:var(--space-5);opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s ease}.article-toc.visible{opacity:1;transform:translateY(0)}.toc-progress-wrap{display:flex;align-items:center;gap:10px;padding-bottom:var(--space-4);border-bottom:1px solid var(--border-primary)}.toc-progress-ring{width:32px;height:32px;flex-shrink:0}.toc-progress-ring circle{transition:stroke-dashoffset .3s ease}.toc-progress-percent{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.78rem;font-weight:700;color:var(--accent);letter-spacing:.02em}.toc-nav{display:flex;flex-direction:column;gap:2px}.toc-item{position:relative;display:block;padding:6px 0 6px 14px;font-size:.75rem;font-weight:500;color:var(--text-muted);text-decoration:none;line-height:1.35;transition:color .2s ease;border-left:2px solid var(--border-primary)}.toc-item:hover{color:var(--text-secondary)}.toc-item.active{color:var(--text-primary);font-weight:700;border-left-color:var(--accent)}.toc-item.read{color:var(--text-secondary);border-left-color:#06f3}.toc-item--sub{padding-left:24px;font-size:.7rem}.article-layout .article-content{max-width:720px;margin:0;padding:0}@media(max-width:900px){.blog-grid{grid-template-columns:repeat(2,1fr)}.article-hero .container{grid-template-columns:1fr 240px;gap:var(--space-6)}.article-cover img{max-width:240px}.article-layout{grid-template-columns:1fr;gap:0;padding:var(--space-8) var(--space-5) 60px}.article-toc{display:none}}.mobile-toc{display:none;margin-bottom:var(--space-6);border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-secondary);overflow:hidden}@media(max-width:900px){.mobile-toc{display:block}}.mobile-toc-summary{display:flex;align-items:center;gap:8px;padding:12px 16px;font-size:.85rem;font-weight:700;color:var(--text-primary);cursor:pointer;user-select:none;list-style:none}.mobile-toc-summary::-webkit-details-marker{display:none}.mobile-toc-summary svg{color:var(--accent);flex-shrink:0}.mobile-toc-nav{display:flex;flex-direction:column;padding:0 16px 12px;gap:2px}.mobile-toc-link{display:block;padding:6px 0 6px 12px;font-size:.82rem;font-weight:500;color:var(--text-secondary);text-decoration:none;border-left:2px solid var(--border-primary);transition:color .2s ease,border-color .2s ease}.mobile-toc-link:hover{color:var(--accent);border-left-color:var(--accent)}.mobile-toc-link--sub{padding-left:24px;font-size:.78rem}@media(max-width:640px){.blog-grid{grid-template-columns:1fr}.blog-hero{max-width:100vw;overflow:clip;padding:120px 0 40px}.blog-hero .container{max-width:100%;min-width:0;overflow:hidden}.blog-hero-title{width:100%;max-width:calc(100vw - 48px);font-size:clamp(2rem,8vw,2.35rem);letter-spacing:-.025em;overflow:visible}.blog-title-line{max-width:100%;overflow-wrap:normal}.blog-rotating-wrapper{width:100%;max-width:100%;height:2.25em;margin-top:.04em}.blog-rotating{left:0;right:0;width:100%;min-width:0;align-items:flex-start}.blog-word{left:0;right:0;width:100%;max-width:100%;white-space:normal;overflow-wrap:normal;line-height:1.06;text-align:center;transform:translateY(1.25em)}.blog-word.active{transform:translateY(0)}.blog-word.exit-up{transform:translateY(-1.25em)}.blog-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:100%;overflow:visible;justify-content:stretch;padding-bottom:0}.blog-filter-pill{min-width:0;width:100%;padding:7px 8px;font-size:.78rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;flex-shrink:1}.article-hero{padding:120px 0 30px}.article-hero .container{grid-template-columns:1fr;gap:var(--space-4)}.article-cover{order:-1}.article-cover img{max-width:180px;aspect-ratio:1 / 1}.article-content{padding:var(--space-8) var(--space-5) 60px}}@media(max-width:400px){.blog-hero-title{font-size:clamp(1.75rem,8.5vw,2.05rem)}.blog-rotating-wrapper{height:2.35em}.blog-word{width:100%;font-size:.82em}}.breadcrumbs{padding:100px 0 0;font-size:.82rem;color:var(--text-tertiary)}.breadcrumbs-list{display:flex;align-items:center;gap:6px;list-style:none;padding:0;margin:0;flex-wrap:wrap}.breadcrumbs-list li{display:flex;align-items:center;gap:6px}.breadcrumbs-list a{color:var(--text-secondary);text-decoration:none;transition:color .2s ease}.breadcrumbs-list a:hover{color:var(--accent)}.breadcrumbs-sep{color:var(--text-tertiary);font-size:.7rem;user-select:none}.breadcrumbs-current{color:var(--text-primary);font-weight:600}.breadcrumbs+.article-hero{padding-top:24px}.read-also{max-width:900px;margin:0 auto;padding:0 var(--space-6) var(--space-12)}.read-also-title{font-size:1.4rem;font-weight:700;letter-spacing:-.02em;margin-bottom:var(--space-6);position:relative;padding-left:16px}.read-also-title:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;background:var(--accent);border-radius:2px}.read-also-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}.read-also-card{display:flex;flex-direction:column;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--space-5);text-decoration:none;box-shadow:var(--shadow-xs);transition:transform var(--transition-base) var(--ease-spring),box-shadow var(--transition-base) var(--ease-spring),border-color var(--transition-base)}.read-also-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);border-color:#0066ff2e}.read-also-card-tag{display:inline-block;padding:3px 10px;background:var(--accent-subtle);border:1px solid rgba(0,102,255,.12);border-radius:var(--radius-full);font-size:.65rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-3);align-self:flex-start}.read-also-card-title{font-size:.95rem;font-weight:700;color:var(--text-primary);line-height:1.35;margin-bottom:var(--space-2);letter-spacing:-.01em}.read-also-card:hover .read-also-card-title{color:var(--accent)}.read-also-card-desc{font-size:.8rem;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:auto}@media(max-width:900px){.read-also-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.breadcrumbs{padding-top:80px}.read-also-grid{grid-template-columns:1fr}.read-also{padding:0 var(--space-5) var(--space-10)}}.blog-card--deferred{display:none}@keyframes cardReveal{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.blog-card--revealing{animation:cardReveal .5s cubic-bezier(.16,1,.3,1) both}.blog-load-more-wrap{display:flex;flex-direction:column;align-items:center;gap:16px;padding:var(--space-10) 0 0}.blog-load-more{position:relative;display:inline-flex;align-items:center;gap:10px;padding:14px 36px;border-radius:var(--radius-full);border:1.5px solid rgba(0,122,255,.3);background:transparent;color:var(--accent);font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;letter-spacing:-.01em;transition:all .4s cubic-bezier(.16,1,.3,1);overflow:hidden}.blog-load-more:before{content:"";position:absolute;inset:0;background:#007aff0a;opacity:0;transition:opacity .3s ease;border-radius:inherit}.blog-load-more:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px #0066ff1f}.blog-load-more:hover:before{opacity:1}.blog-load-more:active{transform:translateY(0);box-shadow:none}.blog-load-more-icon{display:flex;align-items:center;transition:transform .3s cubic-bezier(.16,1,.3,1)}.blog-load-more:hover .blog-load-more-icon{transform:translateY(3px)}.blog-load-more-wrap--hidden{display:none}.blog-counter{font-size:.78rem;font-weight:500;color:var(--text-tertiary);letter-spacing:.01em}.blog-counter strong{font-weight:700;color:var(--text-secondary)}.blog-load-more-wrap:before{content:"";display:block;width:64px;height:1px;background:linear-gradient(90deg,transparent,var(--border-primary),transparent)}img[loading=lazy]{opacity:0;transition:opacity .5s ease}img[loading=lazy].loaded{opacity:1}
