.article-header{padding:54px 0 0;position:relative}.article-header .container{max-width:720px;margin:0 auto;padding:0 32px}.article-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.article-meta .fas{display:none}.article-meta>span:not(.article-category):not(.series-badge){color:var(--text-muted);font-family:var(--mono);font-size:12px;letter-spacing:.08em}.article-category{display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:transparent;padding:0;border-radius:0;font-weight:400}.series-badge{display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:transparent;padding:0;border-radius:0;font-weight:400;text-decoration:none;border-bottom:1px dotted transparent;transition:border-color .15s ease}a.series-badge:hover,a.series-badge:focus-visible{border-bottom-color:currentColor;outline:none}.article-category+.series-badge:before{content:"·";margin-right:10px;color:var(--text-muted)}.article-title,.article-header h1{font-family:var(--serif);font-weight:600;font-size:clamp(30px,5vw,46px);line-height:1.08;letter-spacing:-.015em;color:var(--text-primary);background:none;-webkit-background-clip:unset;-webkit-text-fill-color:unset;background-clip:unset;max-width:100%;margin:0 0 22px}.article-excerpt{font-family:var(--serif);font-style:italic;font-size:clamp(18px,2.5vw,22px);line-height:1.45;color:var(--text-secondary);max-width:100%;margin:0 0 30px}.article-header .author-row{display:flex;align-items:center;gap:14px;padding:20px 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);font-family:var(--sans)}.post-hero{max-width:980px;margin:34px auto 0;padding:0 32px;text-align:left}.post-hero img{display:block;width:100%;height:auto;border-radius:18px;border:1px solid var(--hairline);overflow:hidden}.article-body .post-hero{max-width:100%;padding:0;margin:32px 0}.article-body .post-hero img{border-radius:14px}.article-content{padding:44px 0 24px;background:transparent}.article-content>.container{max-width:720px;margin:0 auto;padding:0 32px}.container{max-width:1200px;margin:0 auto;padding:0 20px}.article-body{max-width:720px;margin:0 auto;font-family:var(--serif);font-size:19.5px;line-height:1.72;color:#2e2a23}.article-body p{margin:0 0 24px;color:#2e2a23}.article-body h1,.article-body h2,.article-body h3,.article-body h4{font-family:var(--serif);color:var(--text-primary);font-weight:600;letter-spacing:-.01em}.article-body h1{font-size:36px;line-height:1.1;margin:42px 0 16px;border-bottom:none;padding-bottom:0}.article-body h2{font-size:30px;line-height:1.2;margin:42px 0 16px}.article-body h3{font-size:23px;line-height:1.25;margin:34px 0 14px}.article-body h4{font-size:19px;line-height:1.3;margin:28px 0 12px}.article-body ul,.article-body ol{margin:0 0 24px;padding-left:24px;font-size:inherit;line-height:1.7;color:#2e2a23}.article-body li{margin-bottom:10px;color:#2e2a23}.article-body strong{font-weight:600;color:var(--text-primary)}.article-body em{font-style:italic}.article-body a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}.article-body a:hover{border-bottom-color:var(--accent)}.article-body code{font-family:var(--mono);font-size:.87em;background:var(--accent-pale-bg);color:var(--accent-pale-text);padding:2px 6px;border-radius:4px;border:none}.article-body pre{background:var(--dark);color:#e6e1d6;font-family:var(--mono);font-size:13.5px;line-height:1.7;border-radius:14px;padding:22px 24px;overflow-x:auto;margin:0 0 26px;border-left:none}.article-body pre code{background:none;color:inherit;padding:0;border-radius:0;font-size:inherit;border:none}.article-body blockquote{margin:32px 0;padding:6px 0 6px 26px;border-left:3px solid var(--accent);background:transparent;border-radius:0}.article-body blockquote p{font-family:var(--serif);font-style:italic;font-size:23px;line-height:1.45;color:var(--text-primary);margin:0}.article-body figure{margin:2.5rem 0;text-align:center}.article-body figcaption{margin-top:.9rem;font-family:var(--sans);font-size:14px;color:var(--text-muted);font-style:italic;line-height:1.5}.article-body img{max-width:100%;height:auto;border-radius:12px;border:1px solid var(--hairline)}.article-body table{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:15px;margin:24px 0}.article-body th{background:var(--band-work);color:var(--text-primary);font-weight:600;text-align:left;padding:10px 14px;border-bottom:2px solid var(--hairline)}.article-body td{padding:9px 14px;border-bottom:1px solid var(--hairline);color:#2e2a23;vertical-align:top}.article-body tr:last-child td{border-bottom:none}.highlight-box{background:var(--accent-pale-bg);border-left:3px solid var(--accent);padding:20px 22px;border-radius:0 10px 10px 0;margin:28px 0;font-family:var(--sans);font-size:15.5px;line-height:1.6;color:var(--text-secondary)}.highlight-box h4{font-family:var(--sans);font-weight:600;font-size:15px;color:var(--text-primary);margin:0 0 8px!important;letter-spacing:0}.highlight-box p{margin:0;color:var(--text-secondary);font-size:15px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:24px 0;font-family:var(--sans)}.stat-card{background:var(--card);border:1px solid var(--hairline);padding:20px;border-radius:14px;text-align:center}.stat-card .stat-number{display:block;font-size:2rem;font-weight:700;color:var(--accent);font-family:var(--serif);line-height:1;margin-bottom:6px}.stat-card .stat-label{font-size:13px;color:var(--text-muted);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase}.app-shot{display:inline-block;max-width:300px;width:100%;border-radius:24px;border:1px solid var(--hairline);box-shadow:0 10px 32px #221f1a1f;overflow:hidden;background:var(--dark);line-height:0}.app-shot img{display:block;width:100%;height:auto}.app-gallery{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;align-items:flex-start;margin:2.5rem 0}.app-gallery figure{margin:0;flex:0 1 250px}.app-gallery .app-shot{max-width:250px}.author-card{display:flex;gap:20px;align-items:flex-start;background:var(--card);border:1px solid var(--hairline);border-radius:18px;padding:26px;margin:0 auto;max-width:720px;font-family:var(--sans)}.author-card-avatar{width:60px;height:60px;border-radius:50%;border:1px solid var(--hairline);background:var(--band-work);flex:none;overflow:hidden}.author-card-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;border:none}.author-card-name{font-weight:600;font-size:17px;margin-bottom:5px;color:var(--text-primary)}.author-card-bio{font-size:14.5px;line-height:1.6;color:var(--text-secondary);margin:0 0 12px}.author-card-link{font-size:14px;font-weight:600;color:var(--accent);text-decoration:none}.author-card-link:hover{text-decoration:underline}.related-section{max-width:1140px;margin:0 auto;padding:60px 32px 24px}.related-section-label{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:22px}.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px}.related-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--hairline);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;transition:border-color .2s}.related-card:hover{border-color:var(--accent)}.related-card-thumb{aspect-ratio:16/9;background:var(--band-work)}.related-card-body{padding:20px}.related-card-date{font-family:var(--mono);font-size:11px;color:var(--text-muted);margin-bottom:9px;text-transform:uppercase;letter-spacing:.08em}.related-card-title{font-family:var(--serif);font-weight:600;font-size:20px;line-height:1.22;margin:0;color:var(--text-primary)}.article-navigation{background:var(--band-work);border-top:1px solid var(--hairline);padding:24px 0;margin-top:48px}.nav-container{max-width:720px;margin:0 auto;padding:0 32px;display:flex;justify-content:space-between;align-items:center;gap:16px}.nav-button{display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:#fff;padding:10px 20px;border-radius:9px;text-decoration:none;font-family:var(--sans);font-size:14px;font-weight:600;transition:background .2s}.nav-button:hover{background:var(--accent-hover)}.nav-button.disabled{background:var(--text-muted);cursor:not-allowed;pointer-events:none;opacity:.6}.back-to-blog{display:inline-flex;align-items:center;gap:6px;background:var(--card);color:var(--accent);border:1px solid var(--hairline);padding:10px 20px;border-radius:9px;text-decoration:none;font-family:var(--sans);font-size:14px;font-weight:600;transition:border-color .2s}.back-to-blog:hover{border-color:var(--accent)}.back-to-home{display:inline-block;margin:1rem 20px;padding:8px 16px;color:var(--accent);text-decoration:none;font-family:var(--sans);font-weight:500;border-radius:6px;transition:background .2s}.back-to-home:hover{background:var(--accent-pale-bg)}@media(max-width:768px){.article-header{padding:40px 0 0}.article-header .container{padding:0 20px}.article-title,.article-header h1{font-size:clamp(26px,7vw,36px)}.article-excerpt{font-size:18px}.article-meta{gap:8px}.article-content>.container{padding:0 20px}.article-body{font-size:17px}.article-body h2{font-size:24px}.article-body h3{font-size:20px}.article-body blockquote p{font-size:19px}.post-hero{padding:0 20px}.nav-container{flex-direction:column;align-items:stretch;text-align:center;padding:0 20px}.stats-grid,.related-grid{grid-template-columns:1fr}.author-card{padding:20px}}
