.ti-shell{display:grid;gap:12px}.ti-main-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:12px}.ti-score-card,.ti-signals,.ti-telemetry,.ti-empty{box-shadow:none}.ti-score-card{padding:17px;position:relative;overflow:hidden}.ti-score-card:before{content:"";position:absolute;inset:-80px auto auto -80px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(59,130,246,.13),transparent 68%);pointer-events:none}.ti-score-card__head,.ti-dashboard__head,.ti-section-head,.ti-trend-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.ti-eyebrow{color:var(--blue);font-size:9px;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.ti-help{display:grid;place-items:center;width:20px;height:20px;border:1px solid var(--border);border-radius:50%;color:var(--dim);font-size:10px}.ti-score-orbit{width:150px;height:150px;margin:18px auto 10px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--ti-accent,#60a5fa) calc(var(--trust-score,0) * 1%),rgba(255,255,255,.055) 0);position:relative;filter:drop-shadow(0 0 18px color-mix(in srgb,var(--ti-accent,#60a5fa) 20%,transparent))}.ti-score-orbit:before{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--surface);border:1px solid rgba(255,255,255,.045)}.ti-score-orbit div{position:relative;display:flex;align-items:flex-end;gap:2px}.ti-score-orbit strong{font-size:48px;line-height:.9;letter-spacing:-.065em}.ti-score-orbit span{font-size:18px;color:var(--ti-accent,#60a5fa);font-weight:950}.ti-tone-excellent{--ti-accent:#34d399}.ti-tone-good{--ti-accent:#84cc16}.ti-tone-warning{--ti-accent:#facc15}.ti-tone-danger{--ti-accent:#fb7185}.ti-tone-neutral{--ti-accent:#94a3b8}.ti-score-label{text-align:center;color:var(--ti-accent);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.ti-confidence-line{display:flex;justify-content:space-between;gap:8px;margin-top:13px;padding-top:12px;border-top:1px solid var(--border);font-size:10px}.ti-confidence-line span{color:var(--dim)}.ti-confidence-low{color:var(--gold)}.ti-confidence-medium{color:var(--blue)}.ti-confidence-high{color:var(--green)}.ti-confidence-none{color:var(--dim)}.ti-score-meta{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:8px}.ti-score-meta span{padding:4px 7px;border:1px solid var(--border);border-radius:999px;color:var(--dim);font-size:9px}.ti-breakdown{display:grid;gap:9px;margin-top:15px}.ti-breakdown div{display:grid;grid-template-columns:1fr auto;gap:5px 10px}.ti-breakdown span{color:var(--muted);font-size:10px}.ti-breakdown strong{font-size:10px}.ti-breakdown i{grid-column:1/-1;height:4px;border-radius:999px;background:rgba(255,255,255,.055);overflow:hidden}.ti-breakdown i b{display:block;width:calc(var(--ti-progress,0) * 1%);height:100%;border-radius:inherit;background:var(--ti-accent);transition:width .35s ease}.ti-breakdown .is-unknown strong{color:var(--dim);font-weight:700}.ti-dashboard{min-width:0;padding:15px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,.008)),var(--surface)}.ti-dashboard__head h2,.ti-section-head h3{margin:3px 0 0;font-size:15px}.ti-dashboard__head>span,.ti-section-head>b{color:var(--dim);font-size:9px;font-weight:850}.ti-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.ti-metric{min-width:0;padding:12px;border:1px solid var(--border);border-radius:9px;background:rgba(255,255,255,.018);position:relative;overflow:hidden}.ti-metric:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--metric-accent,#64748b)}.ti-metric--good{--metric-accent:#34d399}.ti-metric--warning{--metric-accent:#facc15}.ti-metric--danger{--metric-accent:#fb7185}.ti-metric--neutral{--metric-accent:#60a5fa}.ti-metric span{display:block;color:var(--dim);font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ti-metric strong{display:block;margin-top:5px;font-size:21px;letter-spacing:-.035em}.ti-metric i{display:block;height:3px;margin-top:9px;border-radius:999px;background:rgba(255,255,255,.055);overflow:hidden}.ti-metric i b{display:block;width:calc(var(--ti-progress,0) * 1%);height:100%;border-radius:inherit;background:var(--metric-accent);transition:width .35s ease}.ti-trend-card{margin-top:10px;padding:12px;border:1px solid var(--border);border-radius:9px;background:rgba(255,255,255,.014)}.ti-trend-card__head span,.ti-trend-card__head strong{display:block}.ti-trend-card__head span{color:var(--dim);font-size:8px;text-transform:uppercase;letter-spacing:.08em}.ti-trend-card__head strong{font-size:11px;margin-top:2px}.ti-trend-card__head small{color:var(--dim);font-size:9px}.ti-trend-bars{height:72px;display:flex;align-items:flex-end;gap:5px;margin-top:10px}.ti-trend-bar{height:100%;flex:1;min-width:7px;display:flex;align-items:flex-end;text-decoration:none}.ti-trend-bar i{display:block;width:100%;height:var(--bar-height);min-height:6px;border-radius:4px 4px 2px 2px;background:#64748b;transition:.18s ease}.ti-trend-bar--good i{background:#34d399}.ti-trend-bar--danger i{background:#fb7185}.ti-trend-bar:hover i{filter:brightness(1.25);transform:translateY(-2px)}.ti-signal-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:12px}.ti-signals,.ti-telemetry{padding:15px}.ti-signal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}.ti-signal{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--border);border-radius:9px;background:rgba(255,255,255,.016)}.ti-signal__icon{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border-radius:50%;background:rgba(148,163,184,.08);color:var(--dim);font-size:10px;font-weight:950}.ti-signal strong,.ti-signal small{display:block}.ti-signal strong{font-size:10px}.ti-signal small{margin-top:2px;color:var(--dim);font-size:8px}.ti-signal--good .ti-signal__icon{color:var(--green);background:rgba(52,211,153,.09)}.ti-signal--warning .ti-signal__icon{color:var(--gold);background:rgba(250,204,21,.09)}.ti-signal--danger .ti-signal__icon{color:var(--red);background:rgba(251,113,133,.09)}.ti-telemetry p{color:var(--muted);font-size:11px;line-height:1.55}.ti-telemetry-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.ti-telemetry-grid span{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;border:1px dashed var(--border);border-radius:8px;color:var(--muted);font-size:9px}.ti-telemetry-grid b{color:var(--dim);font-size:8px;text-transform:uppercase}.ti-disclaimer{margin:0;padding:0 2px;color:var(--dim);font-size:9px;line-height:1.5}.ti-empty{display:flex;align-items:center;gap:16px;min-height:180px;padding:22px}.ti-empty__icon{display:grid;place-items:center;width:64px;height:64px;flex:0 0 64px;border:1px solid var(--border);border-radius:50%;color:var(--blue);font-size:28px;background:rgba(59,130,246,.06)}.ti-empty h2{margin:5px 0 8px;font-size:18px}.ti-empty p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.ti-empty__meter{display:flex;align-items:center;gap:9px;margin-top:14px}.ti-empty__meter i{width:120px;height:5px;border-radius:999px;background:rgba(255,255,255,.055)}.ti-empty__meter span{color:var(--dim);font-size:9px}.ti-summary{appearance:none;width:100%;color:inherit;text-align:left;font:inherit;display:grid;grid-template-columns:56px minmax(0,1fr) auto 18px;align-items:center;gap:11px;padding:11px;border:1px solid var(--border);border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--ti-accent,#60a5fa) 8%,transparent),rgba(255,255,255,.012));cursor:pointer;transition:.18s ease}.ti-summary:hover{border-color:color-mix(in srgb,var(--ti-accent) 45%,var(--border));transform:translateY(-1px)}.ti-summary__ring{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--ti-accent) calc(var(--trust-score,0) * 1%),rgba(255,255,255,.06) 0);position:relative}.ti-summary__ring:before{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--surface)}.ti-summary__value{position:relative;z-index:1;display:inline-flex;align-items:baseline;justify-content:center;gap:1px;font-size:17px;font-weight:950;line-height:1}.ti-summary__value small{position:static;margin:0;color:var(--ti-accent);font-size:8px;font-weight:950}.ti-summary__copy{min-width:0}.ti-summary__copy strong,.ti-summary__copy small{display:block}.ti-summary__copy strong{margin-top:2px;font-size:12px}.ti-summary__copy small{margin-top:3px;color:var(--dim);font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ti-summary__confidence{font-size:8px;font-weight:900;text-transform:uppercase}.ti-summary__arrow{color:var(--blue)}
@media(max-width:1000px){.ti-main-grid{grid-template-columns:240px minmax(0,1fr)}.ti-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ti-signal-grid{grid-template-columns:1fr}}
@media(max-width:760px){.ti-main-grid{grid-template-columns:1fr}.ti-score-card{display:grid;grid-template-columns:110px 1fr;gap:0 16px;align-items:center}.ti-score-card__head{grid-column:1/-1}.ti-score-orbit{width:110px;height:110px;margin:14px 0}.ti-score-orbit strong{font-size:36px}.ti-score-label{text-align:left}.ti-confidence-line,.ti-score-meta,.ti-breakdown{grid-column:2}.ti-breakdown{margin-top:10px}.ti-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ti-signal-list{grid-template-columns:1fr}}
@media(max-width:520px){.ti-score-card{display:block}.ti-score-orbit{margin:15px auto 8px}.ti-score-label{text-align:center}.ti-metric-grid{grid-template-columns:1fr 1fr;gap:6px}.ti-metric{padding:10px}.ti-metric strong{font-size:18px}.ti-telemetry-grid{grid-template-columns:1fr}.ti-summary{grid-template-columns:48px minmax(0,1fr) 16px}.ti-summary__ring{width:44px;height:44px}.ti-summary__confidence{display:none}.ti-empty{align-items:flex-start;padding:16px}.ti-empty__icon{width:48px;height:48px;flex-basis:48px}}


/* Sprint 18.1 — Trust tooltip + overview rhythm */
.ti-summary{margin-block:12px}
.ti-trend-card,.ti-trend-bars{overflow:visible}
.ti-trend-bar{position:relative;outline:none}
.ti-trend-bar:focus-visible i{filter:brightness(1.25);transform:translateY(-2px);box-shadow:0 0 0 2px rgba(96,165,250,.28)}
.ti-trend-tooltip{position:absolute;z-index:60;left:50%;bottom:calc(var(--bar-height) + 9px);width:190px;padding:10px;border:1px solid color-mix(in srgb,var(--blue) 30%,var(--border));border-radius:10px;background:rgba(8,14,27,.97);box-shadow:0 14px 34px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.035);color:var(--text);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,6px) scale(.98);transform-origin:50% 100%;transition:opacity .14s ease,transform .14s ease,visibility .14s ease;backdrop-filter:blur(12px)}
.ti-trend-tooltip:after{content:"";position:absolute;left:50%;bottom:-5px;width:8px;height:8px;border-right:1px solid color-mix(in srgb,var(--blue) 30%,var(--border));border-bottom:1px solid color-mix(in srgb,var(--blue) 30%,var(--border));background:rgba(8,14,27,.97);transform:translateX(-50%) rotate(45deg)}
.ti-trend-bar:hover .ti-trend-tooltip,.ti-trend-bar:focus-visible .ti-trend-tooltip{opacity:1;visibility:visible;transform:translate(-50%,0) scale(1)}
.ti-trend-bar:first-child .ti-trend-tooltip{left:0;transform:translate(0,6px) scale(.98);transform-origin:0 100%}
.ti-trend-bar:first-child:hover .ti-trend-tooltip,.ti-trend-bar:first-child:focus-visible .ti-trend-tooltip{transform:translate(0,0) scale(1)}
.ti-trend-bar:first-child .ti-trend-tooltip:after{left:12px;transform:rotate(45deg)}
.ti-trend-bar:last-child .ti-trend-tooltip{left:auto;right:0;transform:translate(0,6px) scale(.98);transform-origin:100% 100%}
.ti-trend-bar:last-child:hover .ti-trend-tooltip,.ti-trend-bar:last-child:focus-visible .ti-trend-tooltip{transform:translate(0,0) scale(1)}
.ti-trend-bar:last-child .ti-trend-tooltip:after{left:auto;right:12px;transform:rotate(45deg)}
.ti-trend-tooltip>span{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0}
.ti-trend-tooltip small{color:var(--dim);font-size:8px;text-transform:uppercase;letter-spacing:.08em}
.ti-trend-tooltip strong{font-size:10px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ti-trend-tooltip__head{padding:0 0 7px!important;margin-bottom:4px;border-bottom:1px solid var(--border)}
.ti-trend-tooltip__head b{font-size:12px;color:#fff}
.ti-trend-tooltip__head em{padding:2px 5px;border:1px solid var(--border);border-radius:5px;color:var(--blue);font-size:8px;font-style:normal;font-weight:900}
.ti-trend-tooltip__action{justify-content:flex-end!important;margin-top:4px;padding-top:7px!important;border-top:1px solid var(--border);color:var(--blue);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.ti-trend-tooltip__action b{font-size:11px}
@media(max-width:520px){.ti-summary{margin-block:10px}.ti-trend-tooltip{width:172px;padding:9px}.ti-trend-tooltip strong{max-width:105px}}


/* Sprint 20.1.3 — precise progress + Chart.js form */
.ti-score-orbit,.ti-summary__ring{isolation:isolate}
.ti-score-orbit:after,.ti-summary__ring:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.035);pointer-events:none}
.ti-trust-chart{position:relative;height:150px;margin-top:9px}
.ti-trust-chart canvas{max-width:100%}
.ti-trend-card.has-chart .ti-trend-bars--fallback{display:none}
.chartjs-unavailable .ti-trust-chart{display:none}
@media(prefers-reduced-motion:reduce){.ti-breakdown i b,.ti-metric i b{transition:none}}
@media(max-width:520px){.ti-trust-chart{height:135px}}
