.th-page{--th-gap:var(--space-5)}.th-hero{padding:var(--space-6) 0 var(--space-5);border-bottom:1px solid var(--color-hairline)}.th-hero-copy{max-width:68ch}.th-hero .cv-h1{margin:var(--space-3) 0 var(--space-3)}.th-hero-actions{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.th-btn{padding:var(--space-3) var(--space-5);border-radius:var(--radius-control);font-family:var(--font-body);font-size:var(--text-ui);transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);border:1px solid #0000;justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.th-btn:hover{transform:translateY(-1px)}.th-btn:active{transform:translateY(0)}.th-btn:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.th-btn-primary{background:var(--accent);color:var(--btn-primary-fg,var(--color-bg))}.th-btn-primary:hover{background:var(--btn-primary-bg-hover,var(--accent-soft,var(--accent)))}.th-btn-secondary{background:var(--surface-2);color:var(--color-text-bright);border-color:var(--color-border)}.th-btn-secondary:hover{background:var(--btn-secondary-bg-hover);border-color:var(--color-border-strong)}.th-pill{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--surface-2);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-dim);display:inline-flex}.th-dot{border-radius:var(--radius-full);background:currentColor;flex:none;width:.5rem;height:.5rem}.th-pill-live{color:var(--color-success);border-color:color-mix(in srgb, var(--color-success) 40%, transparent)}.th-pill-live .th-dot{animation:th-pulse 2s var(--ease-standard) infinite}.th-pill-warn{color:var(--color-warning);border-color:color-mix(in srgb, var(--color-warning) 40%, transparent)}.th-pill-down{color:var(--color-danger);border-color:color-mix(in srgb, var(--color-danger) 40%, transparent)}.th-pill-muted,.th-pill-unknown,.th-pill-loading{color:var(--color-text-faint)}@keyframes th-pulse{0%,to{opacity:1}50%{opacity:.35}}.th-h2{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text-bright);margin:0}.th-section-sub{margin:var(--space-2) 0 var(--space-5);max-width:62ch;color:var(--color-text-dim);font-size:var(--text-base);line-height:1.6}.th-section-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.th-more{color:var(--color-accent);font-size:var(--text-ui);white-space:nowrap;border-bottom:1px solid #0000;text-decoration:none}.th-more:hover{border-bottom-color:currentColor}.th-more:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.th-vitals{gap:var(--th-gap);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));display:grid}.th-vital{padding:var(--space-4);border:1px solid var(--color-hairline);border-radius:var(--radius-card);background:var(--surface-2);min-height:6.5rem;transition:border-color var(--duration-fast) var(--ease-standard);position:relative}.th-vital[tabindex]{cursor:help}.th-vital[tabindex]:hover,.th-vital[tabindex]:focus-visible{border-color:var(--color-border-strong)}.th-vital[tabindex]:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.th-vital-label{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-faint)}.th-vital[tabindex] .th-vital-label{border-bottom:1px dotted var(--color-border-strong);padding-bottom:1px;display:inline-block}.th-vital-help{left:var(--space-3);right:var(--space-3);bottom:calc(100% - var(--space-2));z-index:5;padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--bg-1);box-shadow:var(--shadow-2);color:var(--color-text);font-size:var(--text-sm);line-height:var(--leading-normal);opacity:0;visibility:hidden;transform:translateY(var(--space-1));transition:opacity var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard), visibility var(--duration-fast) var(--ease-standard);pointer-events:none;position:absolute}.th-vital:hover .th-vital-help,.th-vital:focus-visible .th-vital-help,.th-vital:focus-within .th-vital-help{opacity:1;visibility:visible;transform:translateY(0)}.th-vitals>.th-vital:nth-child(-n+3) .th-vital-help{bottom:auto;top:calc(100% - var(--space-2));transform:translateY(calc(var(--space-1) * -1))}.th-vitals>.th-vital:nth-child(-n+3):hover .th-vital-help,.th-vitals>.th-vital:nth-child(-n+3):focus-visible .th-vital-help,.th-vitals>.th-vital:nth-child(-n+3):focus-within .th-vital-help{transform:translateY(0)}@media (prefers-reduced-motion:reduce){.th-vital,.th-vital-help{transition:none}}.th-vital-value{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text-bright);margin:var(--space-2) 0 var(--space-1)}.th-vital-sub{font-size:var(--text-sm);color:var(--color-text-dim);line-height:1.45}.th-vital-live .th-vital-value{color:var(--color-success)}.th-vital-warn .th-vital-value{color:var(--color-warning)}.th-vital-down .th-vital-value{color:var(--color-danger)}.th-board{gap:var(--space-3);flex-direction:column;display:flex}.th-row{align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-hairline);border-radius:var(--radius-card);background:var(--surface-2);min-height:5rem;transition:border-color var(--duration-fast) var(--ease-standard);grid-template-columns:2rem 1fr 7.5rem auto;display:grid}.th-row:hover{border-color:var(--color-border-strong)}.th-row-rank{font-family:var(--font-mono);font-size:var(--text-md);color:var(--color-text-faint);text-align:center}.th-row-name{font-family:var(--font-display);font-size:var(--text-base);color:var(--color-text-bright);margin:0}.th-row-meta{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--color-text-dim)}.th-row-spark svg{width:100%;height:2rem;display:block}.th-row-spark path{fill:none;stroke:var(--color-text-faint);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.th-row-up .th-row-spark path{stroke:var(--color-success)}.th-row-down .th-row-spark path{stroke:var(--color-danger)}.th-row-pnl{text-align:right}.th-row-pnl-value{font-family:var(--font-mono);font-size:var(--text-base);color:var(--color-text-bright)}.th-row-up .th-row-pnl-value{color:var(--color-success)}.th-row-down .th-row-pnl-value{color:var(--color-danger)}.th-row-pnl-sub{font-size:var(--text-sm);color:var(--color-text-dim);margin-top:var(--space-1)}.th-pipeline{gap:var(--th-gap);grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));margin:0;padding:0;list-style:none;display:grid}.th-step{padding:var(--space-4);border:1px solid var(--color-hairline);border-radius:var(--radius-card);background:var(--surface-2);position:relative}.th-step-n{border-radius:var(--radius-full);background:var(--surface-3);width:1.75rem;height:1.75rem;color:var(--color-accent);font-family:var(--font-mono);font-size:var(--text-sm);justify-content:center;align-items:center;display:inline-flex}.th-step-h{font-family:var(--font-display);font-size:var(--text-base);margin:var(--space-3) 0 var(--space-2);color:var(--color-text-bright)}.th-step p{font-size:var(--text-md);color:var(--color-text-dim);margin:0;line-height:1.6}.th-cards{gap:var(--th-gap);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));display:grid}.th-cards-compact{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.th-card{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-hairline);border-radius:var(--radius-card);background:var(--surface-2);transition:border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);flex-direction:column;text-decoration:none;display:flex}.th-card:hover{border-color:var(--color-border-strong);background:var(--surface-3);transform:translateY(-2px)}.th-card:active{transform:translateY(0)}.th-card:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.th-card-kicker{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent)}.th-card-title{font-family:var(--font-display);font-size:var(--text-base);color:var(--color-text-bright)}.th-card-body{font-size:var(--text-md);color:var(--color-text-dim);line-height:1.55}.th-rails{gap:var(--th-gap);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));margin:0;padding:0;list-style:none;display:grid}.th-rails li{padding-left:var(--space-4);border-left:2px solid var(--color-border)}.th-rails h3{font-family:var(--font-display);font-size:var(--text-base);margin:0 0 var(--space-2);color:var(--color-text-bright)}.th-rails p{font-size:var(--text-md);color:var(--color-text-dim);margin:0;line-height:1.6}.th-rails a{color:var(--color-accent)}.th-state{padding:var(--space-6) var(--space-5);border:1px dashed var(--color-border);border-radius:var(--radius-card);background:var(--surface-1);text-align:center}.th-state h3{font-family:var(--font-display);font-size:var(--text-base);margin:0 0 var(--space-2);color:var(--color-text-bright)}.th-state p{margin:0 auto var(--space-2);max-width:52ch;font-size:var(--text-md);color:var(--color-text-dim);line-height:1.6}.th-state a{color:var(--color-accent)}.th-state-error{border-color:color-mix(in srgb, var(--color-danger) 45%, transparent)}.th-skeleton{background:var(--surface-2);border-color:#0000;position:relative;overflow:hidden}.th-skeleton:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, currentColor 8%, transparent), transparent);animation:th-shimmer 1.4s var(--ease-standard) infinite;position:absolute;inset:0;transform:translate(-100%)}@keyframes th-shimmer{to{transform:translate(100%)}}@media (width<=640px){.th-row{grid-template-columns:1.5rem 1fr auto}.th-row-spark{display:none}.th-hero{padding-top:var(--space-5)}.th-btn{flex:100%}}@media (prefers-reduced-motion:reduce){.th-btn,.th-card{transition:none}.th-btn:hover,.th-card:hover{transform:none}.th-pill-live .th-dot,.th-skeleton:after{animation:none}}
