.article-page{width:min(1120px,100% - 40px);margin:0 auto;padding:120px 0 100px;position:relative}.article-crumbs{z-index:1;color:var(--text-muted);flex-wrap:wrap;gap:8px;margin-bottom:28px;font-size:12px;display:flex;position:relative}.article-crumbs a{color:var(--text-secondary)}.article-crumbs a:hover{color:var(--text-primary)}.article-crumbs [aria-current=page]{text-overflow:ellipsis;white-space:nowrap;max-width:48ch;overflow:hidden}.article-cover{z-index:1;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--border);border-radius:16px;width:100%;height:auto;margin:0 0 36px;display:block;position:relative}.article-header{z-index:1;max-width:820px;margin-bottom:48px;position:relative}.article-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin:0 0 16px;font-size:12px}.article-header h1{letter-spacing:-.045em;text-wrap:balance;margin:0 0 18px;font-size:clamp(2rem,4.6vw,3.3rem);font-weight:650;line-height:1.06}.article-lede{color:var(--text-secondary);text-wrap:pretty;margin:0 0 20px;font-size:clamp(1.02rem,1.5vw,1.2rem);line-height:1.6}.article-byline{color:var(--text-muted);margin:0;font-size:14px}.article-byline a{color:var(--text-primary)}.article-grid{z-index:1;grid-template-columns:minmax(0,1fr) 240px;align-items:start;gap:64px;display:grid;position:relative}.article-body{min-width:0;max-width:740px;color:var(--text-secondary);font-size:16.5px;line-height:1.75}.article-body h2{letter-spacing:-.03em;color:var(--text-primary);margin:56px 0 16px;scroll-margin-top:100px;font-size:clamp(1.4rem,2.4vw,1.75rem);line-height:1.2}.article-body h3{letter-spacing:-.02em;color:var(--text-primary);margin:36px 0 10px;scroll-margin-top:100px;font-size:1.15rem;line-height:1.3}.article-body p{margin:0 0 18px}.article-body ul,.article-body ol{margin:0 0 20px;padding-left:22px}.article-body li{margin-bottom:8px}.article-body li::marker{color:var(--text-muted)}.article-body a{color:var(--accent-hover);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent-hover) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--accent-hover) 40%, transparent);text-underline-offset:3px}.article-body strong{color:var(--text-primary);font-weight:600}.article-body code{border:1px solid var(--border);background:var(--bg-card);font-family:var(--font-mono);color:var(--text-primary);border-radius:6px;padding:.12em .4em;font-size:.86em}.article-body pre{border:1px solid var(--border);background:var(--bg-secondary);border-radius:12px;margin:0 0 24px;padding:18px 20px;font-size:13.5px;line-height:1.65;position:relative;overflow-x:auto}.article-body pre[data-lang]:before{content:attr(data-lang);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px;position:absolute;top:8px;right:12px}.article-body pre code{font-size:inherit;white-space:pre;background:0 0;border:0;padding:0}.article-table-wrap{border:1px solid var(--border);border-radius:12px;margin:0 0 24px;overflow-x:auto}.article-table-wrap table{border-collapse:collapse;width:100%;min-width:560px;font-size:14.5px;line-height:1.5}.article-table-wrap th,.article-table-wrap td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:12px 16px}.article-table-wrap th{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-secondary);font-size:12px}.article-table-wrap td:first-child{color:var(--text-primary);font-weight:500}.article-table-wrap tbody tr:last-child td{border-bottom:0}.article-callout{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));background:color-mix(in srgb, var(--accent) 7%, transparent);color:var(--text-primary);border-left-width:3px;border-radius:10px;margin:0 0 24px;padding:16px 20px}.article-takeaways{border:1px solid var(--border);background:var(--bg-card);border-radius:16px;margin:0 0 40px;padding:22px 26px 8px}.article-body .article-takeaways h2{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin:0 0 12px;font-size:13px}.article-takeaways li{color:var(--text-primary)}.article-faq-item h3{margin-top:24px}.article-cta{border:1px solid var(--border);background:linear-gradient(#ffffff0a 0%,#0000004d 100%);border-radius:18px;margin:56px 0 32px;padding:28px}.article-body .article-cta-title{letter-spacing:-.02em;color:var(--text-primary);margin:0 0 8px;font-size:1.25rem;font-weight:600}.article-cta-actions{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.article-body .article-cta-actions a{text-decoration:none}.article-author{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:56px minmax(0,1fr);gap:18px;margin:0 0 40px;padding:24px 0;font-size:15px;display:grid}.article-author p{margin:0 0 6px}.article-author-mark{border:1px solid var(--border);background:var(--bg-card);width:56px;height:56px;color:var(--text-primary);border-radius:50%;place-items:center;font-weight:600;display:grid}.article-body .article-author-name a{color:var(--text-primary);font-weight:600;text-decoration:none}.article-author-role{color:var(--text-muted);font-size:13px}.article-related ul{gap:12px;padding:0;list-style:none;display:grid}.article-body .article-related a{border:1px solid var(--border);transition:border-color var(--transition), background var(--transition);border-radius:12px;gap:4px;padding:16px 18px;text-decoration:none;display:grid}.article-body .article-related a:hover{border-color:var(--border-light);background:var(--bg-card)}.article-related-kind{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:11px}.article-related-title{color:var(--text-primary);font-weight:600}.article-related-desc{color:var(--text-secondary);font-size:14px}.article-toc{font-size:13.5px;position:sticky;top:100px}.article-toc-title{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin:0 0 12px;font-size:11px}.article-toc ol{border-left:1px solid var(--border);gap:8px;margin:0;padding:0 0 0 14px;list-style:none;display:grid}.article-toc a{color:var(--text-secondary);line-height:1.4}.article-toc a:hover{color:var(--text-primary)}.article-index{z-index:1;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid;position:relative}.article-index a{border:1px solid var(--border);background:var(--bg-card);height:100%;transition:border-color var(--transition), transform var(--transition);border-radius:16px;gap:8px;padding:22px;display:grid}.article-index a:has(.article-index-cover){gap:0;padding:0;overflow:hidden}.article-index-cover{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;display:block}.article-index-copy{gap:8px;padding:22px;display:grid}.article-index a:hover{border-color:var(--border-light);transform:translateY(-2px)}.article-index-kind{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:11px}.article-index h2{letter-spacing:-.02em;color:var(--text-primary);margin:0;font-size:1.12rem;line-height:1.3}.article-index p{color:var(--text-secondary);margin:0;font-size:14.5px;line-height:1.6}@media (max-width:960px){.article-grid{grid-template-columns:minmax(0,1fr)}.article-toc{display:none}}@media (max-width:600px){.article-page{width:calc(100% - 32px);padding-top:104px}.article-body{font-size:16px}.article-takeaways,.article-cta{padding:20px}}.article-grid.is-single{grid-template-columns:minmax(0,1fr)}.tool-section{z-index:1;margin-bottom:64px;position:relative}.tool-shell{gap:18px;display:grid}.tool-form{border:1px solid var(--border);background:var(--bg-card);border-radius:18px;gap:18px;padding:24px;display:grid}.tool-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.tool-field{gap:7px;min-width:0;display:grid}.tool-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:12px;font-weight:500}.tool-hint{color:var(--text-muted);font-size:12.5px}.tool-field input,.tool-field textarea,.tool-field select{border:1px solid var(--border);background:var(--bg-input,var(--bg-secondary));width:100%;min-width:0;color:var(--text-primary);font:inherit;transition:border-color var(--transition);border-radius:10px;padding:10px 12px;font-size:14.5px}.tool-field textarea{resize:vertical;font-family:var(--font-mono);font-size:13.5px}.tool-field input:focus,.tool-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.tool-input-lg{padding:12px 14px!important;font-size:18px!important}.tool-checks{flex-wrap:wrap;gap:10px 22px;display:flex}.tool-check{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;font-size:14px;display:inline-flex}.tool-check input,.tool-chmod-row input{width:16px;height:16px;accent-color:var(--accent)}.tool-segmented{flex-wrap:wrap;gap:6px;display:flex}.tool-segmented button,.tool-presets button{border:1px solid var(--border);color:var(--text-secondary);font:inherit;cursor:pointer;transition:border-color var(--transition), color var(--transition), background var(--transition);background:0 0;border-radius:9px;padding:8px 12px;font-size:13.5px}.tool-segmented button:hover,.tool-presets button:hover{border-color:var(--border-light);color:var(--text-primary)}.tool-segmented button.is-active,.tool-presets button.is-active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--text-primary)}.tool-presets{flex-wrap:wrap;gap:8px;display:flex}.tool-cron-fields{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.tool-result{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);border-radius:12px;padding:16px 18px}.tool-result p{margin:0}.tool-result.is-error{border-color:color-mix(in srgb, var(--error) 60%, var(--border));color:var(--error)}.tool-result-main{font-size:1.08rem;color:var(--text-primary)!important}.tool-result-label{color:var(--text-muted);font-size:12.5px;margin-top:10px!important}.tool-result ol{margin:8px 0 0;padding-left:20px;font-size:13.5px}.tool-chmod-grid{grid-template-columns:90px repeat(3,minmax(0,1fr)) 60px;align-items:center;gap:12px 8px;max-width:520px;display:grid}.tool-chmod-row{display:contents}.tool-chmod-who{color:var(--text-primary);font-size:14px}.tool-chmod-digit{color:var(--text-primary);font-size:18px}.tool-output{border:1px solid var(--border);background:var(--bg-secondary);border-radius:14px;overflow:hidden}.tool-output-bar{border-bottom:1px solid var(--border);color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:12.5px;display:flex}.tool-output-bar .mono{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tool-output-actions{gap:8px;display:flex}.tool-output-actions button{border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);font:inherit;cursor:pointer;border-radius:8px;padding:5px 12px;font-size:12.5px}.tool-output-actions button:hover{border-color:var(--border-light)}.tool-output pre{font-family:var(--font-mono);color:var(--text-primary);margin:0;padding:16px 18px;font-size:13px;line-height:1.6;overflow-x:auto}@media (max-width:700px){.tool-form{padding:18px}.tool-cron-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-chmod-grid{grid-template-columns:70px repeat(3,minmax(0,1fr)) 40px}}
