.tech-sec+.tech-sec{padding-top:0}.kpi-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:30px;display:grid}.kpi{border-radius:var(--radius-md);background:var(--surface-subtle);padding:20px 20px 18px}.kpi .ax-stat__value{font-variant-numeric:tabular-nums;flex-wrap:wrap;font-size:clamp(30px,3.4vw,40px)}.kpi .ax-stat__label{line-height:1.6}.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px;display:grid}.chart-grid>.wide{grid-column:1/-1}@media (width<=920px){.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-grid{grid-template-columns:1fr}}@media (width<=420px){.kpi-row{grid-template-columns:1fr}}.tech-h3{font-family:var(--font-display);color:var(--text-strong);margin:34px 0 0;font-size:clamp(19px,2vw,22px);font-weight:800;line-height:1.5}.tech-note{color:var(--text-muted);margin:8px 0 0;font-size:14px;line-height:1.8}.env{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:26px;display:grid}.env-item{border:1px solid var(--border-default);border-radius:var(--radius-md);background:#fff;padding:20px 22px}.env-item h3{font-family:var(--font-display);color:var(--text-strong);margin:0 0 8px;font-size:16px;font-weight:800;line-height:1.5}.env-item p{color:var(--gray-700);margin:0;font-size:15px;line-height:1.85}@media (width<=720px){.env{grid-template-columns:1fr}}.tc-fig{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:#fff;min-width:0;margin:0;padding:22px 24px 16px}.tc-cap{flex-direction:column;gap:4px;margin:0 0 12px;display:flex}.tc-title{font-family:var(--font-display);color:var(--text-strong);font-size:17px;font-weight:800;line-height:1.5}.tc-note{color:var(--text-muted);font-size:13px;line-height:1.7}.tc-legend{color:var(--text-muted);flex-wrap:wrap;gap:6px 18px;margin:0 0 10px;font-size:13px;display:flex}.tc-key{align-items:center;gap:7px;display:inline-flex}.tc-sw{border-radius:3px;width:12px;height:12px;display:inline-block}.tc-ln{border-radius:2px;width:16px;height:2px;display:inline-block}.tc-plot{position:relative}.tc-plot svg{display:block;overflow:visible}.tc-plot svg:focus{outline:none}.tc-plot svg:focus-visible{outline:2px solid var(--brand-primary);outline-offset:4px;border-radius:6px}.tc-axis{font-family:var(--font-body);fill:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.tc-end{font-family:var(--font-body);fill:var(--text-strong);font-size:12px;font-weight:700}.tc-tip{z-index:5;pointer-events:none;border:1px solid var(--border-default);min-width:150px;box-shadow:var(--shadow-md);color:var(--text-muted);background:#fff;border-radius:10px;padding:10px 12px;font-size:12.5px;line-height:1.5;position:absolute;top:0}.tc-tip b{color:var(--text-muted);margin:0 0 4px;font-size:12px;font-weight:700;display:block}.tc-tip-row{align-items:center;gap:8px;display:flex}.tc-tip-row strong{color:var(--text-strong);font-variant-numeric:tabular-nums;font-size:14px}.tc-fig.in .tc-col{transform-box:fill-box;transform-origin:50% 100%;animation:tc-grow-y var(--dur-slower) var(--ease-out) both;animation-delay:calc(var(--i,0) * 8ms)}.tc-fig.in .tc-col--down{transform-origin:50% 0}.tc-fig.in .tc-line{stroke-dasharray:1;animation:tc-draw .9s var(--ease-standard) both;animation-delay:.3s}.tc-fig.in .tc-hbar{transform-box:fill-box;transform-origin:0;animation:tc-grow-x var(--dur-slower) var(--ease-out) both;animation-delay:calc(var(--i,0) * 40ms)}.tc-fig.in .tc-cell{animation:tc-fade var(--dur-slow) var(--ease-out) both;animation-delay:calc(var(--c,0) * 18ms)}@keyframes tc-grow-y{0%{transform:scaleY(0)}}@keyframes tc-grow-x{0%{transform:scaleX(0)}}@keyframes tc-draw{0%{stroke-dashoffset:1px}}@keyframes tc-fade{0%{opacity:0}}.uses{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:18px;display:grid}.use{border:1px solid var(--border-default);border-radius:var(--radius-md);background:#fff;padding:18px 18px 16px}.use h4{font-family:var(--font-display);color:var(--text-strong);margin:0 0 12px;font-size:15px;font-weight:800;line-height:1.5}.use ul{flex-wrap:wrap;gap:10px 16px;margin:0;padding:0;list-style:none;display:flex}.use li{color:var(--gray-800);align-items:center;gap:8px;font-size:14px;line-height:1.4;display:inline-flex}.use li svg{flex:none;display:block}.arch{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:#fff;margin:18px 0 0;padding:24px 24px 18px}.arch svg{width:100%;height:auto;display:block;overflow:visible}.arch text{font-family:var(--font-body)}.arch-cap{color:var(--text-muted);margin:14px 0 0;font-size:13px;line-height:1.7}.arch.in .arch-node{animation:arch-fade var(--dur-slow) var(--ease-out) both;animation-delay:calc(var(--k,0) * 60ms)}.arch.in .arch-edge{animation:.16s linear both arch-fade;animation-delay:calc(.36s + var(--k,0) * 70ms)}.arch.in .arch-edge path{stroke-dasharray:1;animation:arch-draw .52s var(--ease-standard) both;animation-delay:calc(.36s + var(--k,0) * 70ms)}@keyframes arch-fade{0%{opacity:0}}@keyframes arch-draw{0%{stroke-dashoffset:1px}}@media (width<=520px){.arch{padding:18px 14px 14px}}
