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