.tf-app{margin:18px 0 8px}.tf-app h2{margin:36px 0 8px}.tf-app h3{margin:22px 0 6px;font-size:1.05rem}.tf-app p{max-width:62ch}.tf-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-bottom:8px}.tf-head h2{margin:0}.tf-controls{display:flex;flex-wrap:wrap;gap:8px}.tf-seg{display:inline-flex;min-height:38px;border:var(--hairline);border-radius:999px;overflow:hidden}.tf-seg button{font:inherit;font-size:13.5px;font-weight:600;padding:0 14px;color:var(--ink-700);background:var(--ink-050);border:0;cursor:pointer;white-space:nowrap}.tf-seg button+button{box-shadow:inset 1px 0 0 var(--ink-300)}.tf-seg button[aria-pressed=true]{color:var(--ink-900);background:var(--ink-200)}.tf-when{margin:4px 0 12px;color:var(--ink-700)}.tf-when strong{color:var(--ink-900)}.tf-note{margin:8px 0;padding:8px 12px;color:var(--ink-700);background:var(--ink-050);border-left:3px solid var(--ink-300);border-radius:0 8px 8px 0}.tf-small{margin:6px 0 0;font-size:13px;color:var(--ink-600)}.tf-stage{position:relative;border:1px solid var(--glass-line);border-radius:16px;overflow:hidden;background:var(--ink-050)}.tf-scale{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--glass);backdrop-filter:var(--blur);border-bottom:1px solid var(--glass-line)}.tf-scale-name{flex:none;font-size:12.5px;font-weight:600;color:var(--ink-800);white-space:nowrap}.tf-scale-bar{flex:1;display:flex;min-width:0;margin:0;padding:0;list-style:none;border-radius:4px;overflow:hidden}.tf-scale-bar li{flex:1;min-width:0;height:18px;position:relative}.tf-scale-bar span{position:absolute;left:3px;top:50%;transform:translateY(-50%);font-size:10.5px;font-weight:700;font-variant-numeric:tabular-nums;color:#0b0e13;text-shadow:0 0 2px rgb(255 255 255 / .6)}.tf-scale-bar li:nth-child(n+5) span{color:#fff;text-shadow:none}.tf-map{height:clamp(340px,58vh,700px)}.tf-map--empty{display:grid;place-items:center;padding:24px;text-align:center;color:var(--ink-600)}.tf-probe{position:absolute;left:12px;bottom:28px;z-index:2;display:flex;flex-direction:column;gap:1px;padding:6px 10px;font-size:12.5px;color:var(--ink-800);background:var(--glass);backdrop-filter:var(--blur);border:1px solid var(--glass-line);border-radius:10px;pointer-events:none}.tf-probe strong{font-family:var(--font-display);font-size:18px;color:var(--ink-900)}.tf-stats,.tf-facts{display:flex;flex-wrap:wrap;gap:8px 28px;margin:14px 0 6px}.tf-stats div,.tf-facts div{min-width:0}.tf-stats dt,.tf-facts dt{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-600)}.tf-stats dd,.tf-facts dd{margin:2px 0 0;font-family:var(--font-display);font-size:1.15rem;font-variant-numeric:tabular-nums;color:var(--ink-900)}.tf-facts dd{font-size:1rem}.tf-caution{margin:10px 0 0;font-size:14px;color:var(--ink-700)}.tf-model,.tf-vmodel{margin-top:20px;padding-top:4px;border-top:var(--hairline)}.tf-scroll{margin:8px 0;overflow-x:auto}.tf-table{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}.tf-table caption{padding:6px 0;text-align:left;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-600)}.tf-table th,.tf-table td{padding:7px 10px 7px 0;text-align:left;vertical-align:top;border-bottom:var(--hairline);white-space:nowrap}.tf-table thead th{font-size:12px;font-weight:600;color:var(--ink-600)}.tf-table tbody th{font-weight:600;color:var(--ink-900);white-space:normal;min-width:11em}.tf-chart{margin:14px 0 6px}.tf-chart svg{display:block;width:100%;max-width:640px;height:auto;font-size:11px;fill:var(--ink-600)}.tf-chart--small svg{max-width:400px}.tf-chart figcaption{margin-top:4px;font-size:13px;color:var(--ink-600)}.tf-grid{stroke:var(--ink-200);stroke-width:1}.tf-zero{stroke:var(--ink-500);stroke-width:1}.tf-diagonal{stroke:var(--ink-500);stroke-width:1;stroke-dasharray:4 4}.tf-line{stroke-width:2;stroke-linejoin:round}.tf-line--model{stroke:#e0502f}.tf-line--spc{stroke:var(--ink-500)}.tf-dot{fill:#e0502f;fill-opacity:.55;stroke:#e0502f}.tf-key{display:inline-block;width:18px;height:3px;margin:0 4px 3px 8px;vertical-align:middle}.tf-key--model{background:#e0502f}.tf-key--spc{background:var(--ink-500)}@media(max-width:640px){.tf-stage{margin:0 calc(-1 * var(--gutter, 14px));border-left:0;border-right:0;border-radius:0}.tf-map{height:min(66vh,520px)}.tf-scale{flex-direction:column;align-items:stretch;gap:5px}.tf-scale-bar span{font-size:9.5px;left:2px}.tf-stats,.tf-facts{gap:10px 20px}.tf-scroll{margin-right:calc(-1 * var(--gutter, 14px));padding-right:var(--gutter, 14px)}}
