.article-container{max-width:900px;margin:0 auto;padding:120px 24px 80px}@media(min-width:768px){.article-container{padding:140px 40px 100px}}.terminal-window{background:#0009;border:1px solid rgba(255,255,255,.08);border-radius:8px;overflow:hidden;backdrop-filter:blur(20px);margin-bottom:48px}.terminal-red{border-color:#ef44444d}.terminal-cyan{border-color:#06b6d44d}.terminal-purple{border-color:#a855f74d}.terminal-yellow{border-color:#eab3084d}.terminal-emerald{border-color:#10b9814d}.terminal-chrome{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#ffffff05;border-bottom:1px solid rgba(255,255,255,.06)}.terminal-dots{display:flex;gap:6px}.dot{width:10px;height:10px;border-radius:50%}.dot-red{background:#ef4444b3}.dot-yellow{background:#eab308b3}.dot-green{background:#22c55eb3}.terminal-title{flex:1;text-align:center}.terminal-path{font-family:JetBrains Mono,monospace;font-size:11px;color:#fff6;letter-spacing:.02em}.terminal-status{min-width:60px;text-align:right}.status-live{display:inline-flex;align-items:center;gap:6px;font-family:JetBrains Mono,monospace;font-size:10px;color:#ef4444;letter-spacing:.1em}.status-dot{width:6px;height:6px;background:#ef4444;border-radius:50%;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.terminal-body{padding:20px}.terminal-line{display:flex;gap:12px;margin-bottom:20px;font-family:JetBrains Mono,monospace;font-size:13px}.terminal-prompt{color:#22c55e}.terminal-command{color:#ffffffb3}.metadata-display{display:flex;flex-direction:column;gap:8px;padding:16px;background:#ffffff05;border-radius:4px;border:1px solid rgba(255,255,255,.04)}.metadata-row{display:flex;gap:16px;font-family:JetBrains Mono,monospace;font-size:12px}.metadata-key{color:#ffffff59;min-width:120px}.metadata-key:after{content:":"}.metadata-value{color:#fffc;display:flex;align-items:center;gap:8px}.metadata-red{color:#ef4444}.metadata-cyan{color:#06b6d4}.metadata-purple{color:#a855f7}.metadata-yellow{color:#eab308}.metadata-emerald{color:#10b981}.metadata-icon{width:14px;height:14px}.tags-value{color:#ffffff80;font-size:11px}.title-section{margin-bottom:48px}.title-decorator{display:flex;align-items:center;gap:16px;margin-bottom:24px}.decorator-line{width:40px;height:2px}.decorator-red{background:#ef4444}.decorator-cyan{background:#06b6d4}.decorator-purple{background:#a855f7}.decorator-yellow{background:#eab308}.decorator-emerald{background:#10b981}.decorator-label{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.15em}.article-title{font-family:var(--font-sans, "DM Sans Variable", sans-serif);font-size:clamp(2rem,5vw,3.5rem);font-weight:700;color:#fff;line-height:1.1;letter-spacing:-.03em;margin-bottom:24px}.article-excerpt{font-size:1.125rem;color:#ffffff80;line-height:1.7;max-width:720px}.security-alert{position:relative;display:flex;align-items:center;gap:16px;padding:20px 24px;background:linear-gradient(135deg,#ef44441a,#ef44440d);border:1px solid rgba(239,68,68,.25);border-radius:4px;margin-bottom:48px;overflow:hidden}.alert-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ef444426;border-radius:4px}.alert-icon svg{width:24px;height:24px;color:#ef4444}.alert-content{display:flex;flex-direction:column;gap:4px}.alert-title{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;color:#ef4444;letter-spacing:.05em}.alert-text{font-size:14px;color:#fff9}.alert-pulse{position:absolute;inset:0;border:1px solid rgba(239,68,68,.5);border-radius:4px;animation:alert-pulse 2s ease-in-out infinite;pointer-events:none}@keyframes alert-pulse{0%,to{opacity:0;transform:scale(1)}50%{opacity:1;transform:scale(1.01)}}.article-content{position:relative}.content-wrapper{font-family:var(--font-sans, "DM Sans Variable", sans-serif);font-size:1.0625rem;line-height:1.8;color:#ffffffbf}.content-wrapper>*+*{margin-top:1.5em}.content-wrapper h2{font-size:1.75rem;font-weight:700;color:#fff;letter-spacing:-.02em;margin-top:3rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.08);position:relative}.content-wrapper h2:before{content:"//";position:absolute;left:-2rem;color:#ef444480;font-family:JetBrains Mono,monospace;font-size:.875rem;font-weight:400}@media(max-width:768px){.content-wrapper h2:before{display:none}}.content-wrapper h3{font-size:1.25rem;font-weight:600;color:#ffffffe6;margin-top:2rem;margin-bottom:.75rem}.content-wrapper p{color:#ffffffa6}.content-wrapper strong{color:#fff;font-weight:600}.content-wrapper a{color:#06b6d4;text-decoration:none;border-bottom:1px solid rgba(6,182,212,.3);transition:border-color .2s}.content-wrapper a:hover{border-color:#06b6d4}.content-wrapper code:not(pre code){font-family:JetBrains Mono,monospace;font-size:.875em;color:#f87171;background:#ffffff0d;padding:.2em .5em;border-radius:4px;border:1px solid rgba(255,255,255,.08)}.content-wrapper pre{position:relative;background:#00000080;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:1.25rem;overflow-x:auto;margin:1.5rem 0}.content-wrapper pre:before{content:"CODE";position:absolute;top:0;right:0;padding:4px 12px;font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:.1em;color:#ffffff4d;background:#ffffff08;border-bottom-left-radius:6px}.content-wrapper pre code{font-family:JetBrains Mono,monospace;font-size:.8125rem;color:#fffc;line-height:1.7}.content-wrapper ul,.content-wrapper ol{padding-left:1.5rem;margin:1.5rem 0}.content-wrapper ul{list-style-type:disc}.content-wrapper ol{list-style-type:decimal}.content-wrapper li{margin-bottom:.5rem;color:#ffffffa6;display:list-item}.content-wrapper li::marker{color:#fff6}.content-wrapper ul ul{margin-top:.5rem;margin-bottom:.5rem}.content-wrapper table{width:100%;border-collapse:collapse;margin:2rem 0;font-size:.9375rem}.content-wrapper th{text-align:left;padding:12px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:500;color:#ffffff80;letter-spacing:.05em;text-transform:uppercase}.content-wrapper td{padding:12px 16px;border:1px solid rgba(255,255,255,.06);font-family:JetBrains Mono,monospace;font-size:.875rem;color:#ffffffb3}.content-wrapper tr:hover td{background:#ffffff05}.content-wrapper blockquote{border-left:3px solid rgba(6,182,212,.5);padding-left:1.5rem;margin:2rem 0;font-style:italic;color:#ffffff80}.content-wrapper hr{border:none;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);margin:3rem 0}.article-cta{margin-top:48px}.article-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;padding-top:48px;margin-top:64px;border-top:1px solid rgba(255,255,255,.08)}.author-card{display:flex;align-items:center;gap:16px}.author-avatar{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:50%;padding:0;overflow:hidden}.author-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.author-info{display:flex;flex-direction:column;gap:2px}.author-name{font-weight:500;color:#fff}.author-role{font-family:JetBrains Mono,monospace;font-size:12px;color:#fff6}.back-link{display:flex;align-items:center;gap:10px;padding:12px 20px;background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff9;font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;transition:all .2s}.back-link:hover{background:#ffffff08;border-color:#fff3;color:#fff}.back-link svg{width:16px;height:16px;transition:transform .2s}.back-link:hover svg{transform:translate(-4px)}.reading-progress-container{position:fixed;top:56px;left:0;right:0;height:2px;background:#ffffff0d;z-index:40}.reading-progress-bar{height:100%;width:0%;background:linear-gradient(90deg,#10b981,#34d399);transition:width .1s ease-out}.demo-placeholder{margin:2rem 0;min-height:200px}.demo-noscript{padding:2rem;text-align:center;background:#ffffff05;border:1px dashed rgba(255,255,255,.1);border-radius:8px;color:#fff6;font-family:JetBrains Mono,monospace;font-size:12px}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}
