.tech-page{padding:0 0 120px}.tech-hero{border-bottom:1px solid var(--border-subtle);margin-bottom:56px;padding:64px 0 56px}.tech-breadcrumb{color:var(--text-tertiary);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;font-size:12px;display:flex}.tech-breadcrumb a{color:var(--text-tertiary);transition:color .2s}.tech-breadcrumb a:hover{color:var(--accent)}.tech-meta{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.tech-meta-tag{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:4px;padding:3px 10px;font-size:10px}.tech-hero h1{font-family:var(--font-serif);letter-spacing:-.02em;max-width:860px;margin:0 0 18px;font-size:clamp(28px,4vw,52px);font-weight:400;line-height:1.06}.tech-hero h1 em{color:var(--accent);font-style:italic}.tech-hero-lead{color:var(--text-secondary);max-width:680px;margin:0;font-size:17px;line-height:1.7}.tech-hero-lead strong{color:var(--text-primary)}.tech-body{grid-template-columns:1fr 220px;align-items:start;gap:56px;display:grid}.tech-article{min-width:0;max-width:740px}.tech-toc{position:sticky;top:96px}.tech-toc-title{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:10px;font-size:10px}.tech-toc-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.tech-toc-list a{color:var(--text-tertiary);border-radius:var(--radius-sm);border-left:2px solid #0000;padding:4px 10px;font-size:12px;transition:all .15s;display:block}.tech-toc-list a:hover{color:var(--accent);border-left-color:var(--accent);background:var(--accent-soft)}.tech-prose{color:var(--text-secondary);font-size:15px;line-height:1.8}.tech-prose h2{font-family:var(--font-serif);letter-spacing:-.015em;color:var(--text-primary);border-top:1px solid var(--border-subtle);margin:48px 0 16px;padding-top:48px;font-size:clamp(22px,3vw,30px);font-weight:400;line-height:1.15}.tech-prose h2:first-child{border-top:none;margin-top:0;padding-top:0}.tech-prose h3{color:var(--text-primary);margin:28px 0 10px;font-size:17px;font-weight:500}.tech-prose p{margin:0 0 1.2em}.tech-prose p:last-child{margin-bottom:0}.tech-prose strong{color:var(--text-primary)}.tech-prose a{color:var(--accent)}.tech-prose ul{flex-direction:column;gap:6px;margin:16px 0;padding-left:0;list-style:none;display:flex}.tech-prose ul li{padding-left:20px;font-size:14px;position:relative}.tech-prose ul li:before{content:"→";color:var(--accent);font-family:var(--font-mono);font-size:12px;position:absolute;left:0}.tech-opinion{background:var(--bg-surface);border:1px solid var(--border-subtle);border-left:3px solid var(--accent);border-radius:var(--radius-md);color:var(--text-secondary);margin:24px 0;padding:16px 20px;font-size:14px;line-height:1.7}.tech-opinion:before{content:"💬 "}.tech-info{background:var(--accent-soft);border:1px solid var(--accent-line);border-left:3px solid var(--accent);border-radius:var(--radius-md);color:var(--text-secondary);margin:20px 0;padding:16px 20px;font-size:14px;line-height:1.7}.tech-info strong{color:var(--accent);margin-bottom:6px;display:block}.tech-table-wrap{margin:24px 0;overflow-x:auto}.tech-table{border-collapse:collapse;width:100%;min-width:500px;font-size:13px}.tech-table th{text-align:left;background:var(--bg-surface);border-bottom:2px solid var(--border-default);color:var(--text-tertiary);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;padding:10px 14px;font-size:10px;font-weight:400}.tech-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);vertical-align:top;padding:10px 14px;line-height:1.5}.tech-table tr:last-child td{border-bottom:none}.tech-table tr:hover td{background:var(--bg-surface)}.tech-table td:first-child{color:var(--text-primary);font-weight:500}.tech-table .no{color:#ff8b8b;font-weight:600}.tech-table .yes{color:var(--accent);font-weight:600}.tech-table .maybe{color:#f5a623;font-weight:600}.ftl-diagram{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin:24px 0;padding:28px 32px}.ftl-diagram-title{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:20px;font-size:10px}.ftl-flow{flex-direction:column;gap:0;max-width:480px;display:flex}.ftl-flow-item{border-bottom:1px solid var(--border-subtle);grid-template-columns:180px 1fr;align-items:center;gap:16px;padding:10px 0;display:grid}.ftl-flow-item:last-child{border-bottom:none}.ftl-flow-box{font-family:var(--font-mono);border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-primary);text-align:center;padding:8px 14px;font-size:11px}.ftl-flow-box.accent{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.ftl-flow-desc{color:var(--text-tertiary);font-size:12px;line-height:1.5}.ftl-log{border:1px solid var(--border-default);border-left:3px solid var(--accent);border-radius:var(--radius-md);font-family:var(--font-mono);color:#00e08ad9;white-space:pre;background:#0a0d11;margin:20px 0;padding:16px 20px;font-size:11px;line-height:1.7;overflow-x:auto}.ftl-log-caption{color:var(--text-tertiary);margin-top:8px;font-size:12px;font-style:italic}.tech-steps{flex-direction:column;gap:0;margin:16px 0;display:flex}.tech-step{border-bottom:1px solid var(--border-subtle);grid-template-columns:32px 1fr;align-items:start;gap:12px;padding:12px 0;display:grid}.tech-step:last-child{border-bottom:none}.tech-step-num{background:var(--accent-soft);border:1px solid var(--accent-line);width:28px;height:28px;font-family:var(--font-mono);color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;font-size:11px;display:grid}.tech-step-body{color:var(--text-secondary);padding-top:4px;font-size:14px;line-height:1.6}.tech-step-body strong{color:var(--text-primary)}.tech-faq{flex-direction:column;display:flex}.tech-faq-item{border-bottom:1px solid var(--border-subtle)}.tech-faq-item:first-child{border-top:1px solid var(--border-subtle)}.tech-faq-q{cursor:pointer;text-align:left;width:100%;font-family:var(--font-sans);color:var(--text-primary);background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;font-size:14px;transition:color .2s;display:flex}.tech-faq-q:hover{color:var(--accent)}.tech-faq-icon{border:1px solid var(--border-default);width:20px;height:20px;color:var(--text-tertiary);border-radius:50%;flex-shrink:0;place-items:center;font-size:14px;transition:all .25s;display:grid}.tech-faq-item.open .tech-faq-icon{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);transform:rotate(45deg)}.tech-faq-a{color:var(--text-secondary);padding:0 0 14px;font-size:13px;line-height:1.7;display:none}.tech-faq-item.open .tech-faq-a{display:block}.tech-related{border-top:1px solid var(--border-subtle);margin-top:56px;padding-top:40px}.tech-related-title{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:14px;font-size:10px}.tech-related-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.tech-related-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px 16px;text-decoration:none;transition:border-color .2s;display:block}.tech-related-card:hover{border-color:var(--accent-line)}.tech-related-tag{font-family:var(--font-mono);color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;font-size:10px}.tech-related-name{color:var(--text-primary);font-size:13px;font-weight:500;line-height:1.4}.tech-cta{background:var(--bg-surface);border:1px solid var(--accent-line);border-radius:var(--radius-xl);text-align:center;margin-top:56px;padding:40px}.tech-cta h2{font-family:var(--font-serif);letter-spacing:-.015em;margin:0 0 10px;font-size:clamp(22px,3vw,32px);font-weight:400;line-height:1.1}.tech-cta h2 em{color:var(--accent);font-style:italic}.tech-cta p{color:var(--text-secondary);max-width:440px;margin:0 auto 20px;font-size:14px;line-height:1.65}.tech-cta-btns{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}@media (width<=980px){.tech-body{grid-template-columns:1fr}.tech-toc{display:none}.tech-related-grid{grid-template-columns:1fr 1fr}.ftl-flow-item{grid-template-columns:1fr}}@media (width<=600px){.tech-cta{padding:28px 20px}.tech-related-grid{grid-template-columns:1fr}}
