/* Shared tool result cards and common tool shell; one canonical owner. */
.ttv-tools-page{padding-top:var(--ttv-space-6);padding-bottom:56px}
.ttv-tools-search-note{margin:0 0 var(--ttv-space-3);padding:var(--ttv-space-2) var(--ttv-space-3);border:1px solid #f1d3a6;border-radius:var(--ttv-radius-xs);background:var(--ttv-warn-bg);color:#7b581e;font-size:var(--ttv-text-sm);line-height:1.5}
.ttv-tools-snapshot{min-height:108px;padding:var(--ttv-space-4) var(--ttv-space-4);margin-bottom:var(--ttv-space-5);display:grid;grid-template-columns:minmax(210px,.7fr) minmax(360px,1.2fr) auto;align-items:center;gap:var(--ttv-space-4);border-color:var(--ttv-line-strong);background:var(--ttv-surface)}
.ttv-tools-snapshot__weather{display:flex;align-items:center;gap:var(--ttv-space-2);min-width:0}
.ttv-tools-snapshot__weather>span{width:54px;height:54px;display:grid;place-items:center;color:var(--ttv-cloud)}
.ttv-tools-snapshot__weather .ttv-weather-icon{width:52px;height:52px}
.ttv-tools-snapshot__weather>div{display:grid;grid-template-columns:auto auto;column-gap:var(--ttv-space-2);align-items:baseline}
.ttv-tools-snapshot__weather small{grid-column:1/-1;color:var(--ttv-muted);font-size:var(--ttv-text-xs)}
.ttv-tools-snapshot__weather strong{font-size:28px;line-height:1.05}
.ttv-tools-snapshot__weather em{font-size:var(--ttv-text-sm);font-style:normal;color:var(--ttv-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ttv-tools-snapshot__metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-left:1px solid var(--ttv-line);border-right:1px solid var(--ttv-line)}
.ttv-tools-snapshot__metrics>span{min-width:0;padding:var(--ttv-space-2) var(--ttv-space-3);border-left:1px solid var(--ttv-line-soft)}
.ttv-tools-snapshot__metrics>span:last-child{border-right:0}
.ttv-tools-snapshot__metrics small{font-size:var(--ttv-text-xs);color:var(--ttv-muted)}
.ttv-tools-snapshot__metrics strong{font-size:var(--ttv-text-sm);overflow-wrap:anywhere}
.ttv-tools-snapshot__status{display:grid;grid-template-columns:8px auto;align-items:center;column-gap:var(--ttv-space-2);min-width:155px}
.ttv-tools-live-dot{width:8px;height:8px;border-radius:var(--ttv-radius-circle);background:var(--ttv-good)}
.ttv-tools-live-dot--warn{background:var(--ttv-warn)}
.ttv-tools-live-dot--danger{background:var(--ttv-danger)}
.ttv-tools-snapshot__status>span:not(.ttv-tools-live-dot){font-size:var(--ttv-text-xs);font-weight:700}
.ttv-tools-snapshot__status small{grid-column:2;color:var(--ttv-muted);font-size:var(--ttv-text-xs)}
@media (max-width:980px){.ttv-tools-snapshot{grid-template-areas:"weather status" "metrics metrics";grid-template-columns:minmax(0,1fr) minmax(175px,auto);gap:var(--ttv-space-3)}.ttv-tools-snapshot__weather{grid-area:weather}.ttv-tools-snapshot__weather>div{min-width:0}.ttv-tools-snapshot__metrics{grid-area:metrics;border-top:1px solid var(--ttv-line-soft);border-left:0;border-right:0}.ttv-tools-snapshot__metrics>span:first-child{border-left:0}.ttv-tools-snapshot__status{grid-area:status;min-width:0}}
@media (max-width:768px){.ttv-tools-snapshot{grid-template-areas:"weather" "metrics" "status";grid-template-columns:minmax(0,1fr)}.ttv-tools-snapshot__status{grid-template-columns:8px minmax(0,1fr)}}
.ttv-tools-results{margin-top:0}
.ttv-tools-results__head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--ttv-space-4);margin-bottom:var(--ttv-space-3);padding-bottom:var(--ttv-space-3);border-bottom:1px solid var(--ttv-line-soft)}
.ttv-tools-results__head h2{margin:0;font-size:var(--ttv-title-sm);line-height:1.3}
.ttv-tools-results__head p{margin:var(--ttv-space) 0 0;color:var(--ttv-muted);font-size:var(--ttv-text-sm);line-height:1.5}
.ttv-tools-results__head>span{flex:0 0 auto;font-size:var(--ttv-text-xs);color:var(--ttv-muted);text-align:right}
.ttv-tools-results__head>span strong{display:block;color:var(--ttv-ink);font-size:var(--ttv-text-sm)}
.ttv-tool-result--neutral{border-top-color:var(--ttv-blue)}
.ttv-tool-result__icon{width:42px;height:42px;border-radius:var(--ttv-radius-sm);background:#eef7fd;color:var(--ttv-blue-800);display:grid;place-items:center;flex:0 0 auto}
.ttv-tool-result__icon .ttv-icon{width:23px;height:23px}
.ttv-tool-result__head h3{margin:0 0 var(--ttv-space);font-size:var(--ttv-text-md);line-height:1.25}
.ttv-tool-result--good .ttv-tool-result__status{background:var(--ttv-good-bg);color:var(--ttv-good-ink)}
.ttv-tool-result--warn .ttv-tool-result__status{background:var(--ttv-warn-bg);color:#92580c}
.ttv-tool-result--danger .ttv-tool-result__status{background:var(--ttv-danger-surface);color:var(--ttv-danger-ink)}
.ttv-tool-result--muted .ttv-tool-result__status{background:var(--ttv-neutral-surface);color:var(--ttv-muted-strong)}
.ttv-tool-result__answer small{font-size:var(--ttv-text-xs);color:var(--ttv-muted);text-transform:uppercase;letter-spacing:.2px;font-weight:700}
.ttv-tool-result--activity>p{min-height:0}
.ttv-tool-result>p{margin:0;color:var(--ttv-ink-2);font-size:var(--ttv-text-sm);line-height:1.5}
.ttv-tool-result>footer{margin-top:auto;padding-top:var(--ttv-space-2);border-top:1px solid var(--ttv-line-soft);display:flex;gap:var(--ttv-space-2);flex-wrap:wrap}
.ttv-tool-result>footer span{min-height:24px;padding:2px var(--ttv-space-2);border-radius:var(--ttv-radius-xs);background:#f2f7fb;color:var(--ttv-muted);font-size:var(--ttv-text-xs)}
.ttv-tools-disclaimer{margin:var(--ttv-space-2) 0 0;padding:var(--ttv-space-2) var(--ttv-space-3);border:1px solid var(--ttv-line);border-radius:var(--ttv-radius-xs);background:var(--ttv-surface-soft);color:var(--ttv-muted);font-size:var(--ttv-text-xs);line-height:1.5}
@media (max-width:768px){.ttv-tools-results__head{align-items:flex-start;display:grid;gap:var(--ttv-space-2)}.ttv-tools-results__head>span{text-align:left}.ttv-tools-results__head>span strong{display:inline}}
@media (max-width:640px){.ttv-tools-grid{grid-template-columns:1fr}.ttv-tools-snapshot__metrics{grid-template-columns:1fr 1fr;gap:0}.ttv-tools-snapshot__metrics>span{padding:var(--ttv-space-2) var(--ttv-space-2);border-right:0;border-bottom:1px solid var(--ttv-line)}.ttv-tools-snapshot__metrics>span:nth-child(odd){border-right:1px solid var(--ttv-line)}.ttv-tools-snapshot__metrics>span:nth-last-child(-n/**/+2){border-bottom:0}}
@media (max-width:390px){.ttv-tool-result{padding:var(--ttv-space-3)}.ttv-tool-result__head{grid-template-columns:36px minmax(0,1fr)}.ttv-tool-result__icon{width:36px;height:36px}.ttv-tool-result__answer strong{font-size:var(--ttv-text-md)}}
.ttv-tool-result__details summary::-webkit-details-marker{display:none}
.ttv-tool-result__details summary .ttv-icon{width:14px;height:14px;transition:transform .18s ease}
.ttv-tool-result__details[open] summary .ttv-icon{transform:rotate(90deg)}
.ttv-tool-result__details summary:focus-visible{outline:3px solid var(--ttv-focus);outline-offset:3px;border-radius:4px}
.ttv-tool-evidence{padding:var(--ttv-space-2) 0 1px;display:grid;gap:var(--ttv-space-2)}
.ttv-tool-evidence__drivers{display:flex;gap:var(--ttv-space);flex-wrap:wrap}
.ttv-tool-driver{min-height:24px;padding:var(--ttv-space) var(--ttv-space-2);border-radius:var(--ttv-radius-xs);font-size:var(--ttv-text-xs);line-height:1.35}
.ttv-tool-driver--good{background:var(--ttv-good-bg);color:var(--ttv-good-ink)}
.ttv-tool-driver--caution{background:var(--ttv-warn-bg);color:#89540e}
.ttv-tool-evidence__metrics{margin:0;padding:0;display:grid;gap:0;border:1px solid #e6eef5;border-radius:var(--ttv-radius-sm);overflow:hidden;list-style:none}
.ttv-tool-evidence__metrics>li{min-height:34px;padding:var(--ttv-space-2) var(--ttv-space-2);display:flex;align-items:center;background:var(--ttv-surface);border-bottom:1px solid var(--ttv-line-soft);font-size:var(--ttv-text-xs);color:var(--ttv-ink-2);line-height:1.4}
.ttv-tool-evidence__metrics>li:last-child{border-bottom:0}
.ttv-tool-evidence__alternatives{display:grid;gap:var(--ttv-space);padding:var(--ttv-space-2);border-radius:var(--ttv-radius-sm);background:var(--ttv-surface-info)}
.ttv-tool-evidence__alternatives strong{font-size:var(--ttv-text-xs);color:var(--ttv-muted);text-transform:uppercase;letter-spacing:.15px}
.ttv-tool-evidence__alternatives span{font-size:var(--ttv-text-xs);color:var(--ttv-ink-2);line-height:1.4}
.ttv-tool-evidence__limit{display:grid;gap:var(--ttv-space);padding:var(--ttv-space-2);border:1px dashed #d5e0e8;border-radius:var(--ttv-radius-sm);background:var(--ttv-surface-subtle)}
.ttv-tool-evidence__limit strong{color:var(--ttv-muted);font-size:var(--ttv-text-xs);text-transform:uppercase;letter-spacing:.15px}
.ttv-tool-evidence__limit span{color:var(--ttv-ink-2);font-size:var(--ttv-text-xs);line-height:1.45}
@media (max-width:640px){.ttv-tool-result__details summary{min-height:var(--ttv-control)}.ttv-tool-evidence__metrics>li{min-height:38px}}
.ttv-tools-category-nav{margin:0 0 var(--ttv-space-4);display:flex;gap:var(--ttv-space-2);overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:thin;padding:var(--ttv-space-2);border:1px solid var(--ttv-line-strong);border-radius:var(--ttv-radius-sm);background:var(--ttv-surface)}
.ttv-tools-category-nav::-webkit-scrollbar{height:4px}
.ttv-tools-category-nav a{flex:0 0 auto;min-height:44px;padding:0 var(--ttv-space-3);border:0;border-radius:var(--ttv-radius-xs);background:#f4f7f9;color:#405f77;font-size:var(--ttv-text-xs);font-weight:700;display:inline-flex;align-items:center;scroll-snap-align:start}
.ttv-tools-category-nav a:is(:hover,:focus-visible){background:var(--ttv-blue-50);border-color:var(--ttv-line-focus)}
.ttv-tools-group{scroll-margin-top:100px;margin:0 0 var(--ttv-space-7);padding:0;background:transparent}
.ttv-tools-group__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ttv-space-4);margin-bottom:var(--ttv-space-3);padding:0 2px var(--ttv-space-3);border-bottom:1px solid var(--ttv-line)}
.ttv-tools-group__head h3{margin:0;font-size:var(--ttv-text-lg);line-height:1.3}
.ttv-tools-group__head p{margin:var(--ttv-space) 0 0;max-width:760px;color:var(--ttv-muted);font-size:var(--ttv-text-sm);line-height:1.5}
.ttv-tools-group__head>span{flex:0 0 auto;color:var(--ttv-muted);font-size:var(--ttv-text-xs)}
@media (max-width:768px){.ttv-tools-grid--4,.ttv-tools-grid--2{grid-template-columns:minmax(0,1fr)}}
@media (max-width:768px){.ttv-tools-group__head{align-items:flex-start}.ttv-tools-grid--2{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.ttv-tools-category-nav{margin-bottom:var(--ttv-space-3)}.ttv-tools-group{scroll-margin-top:78px}.ttv-tools-group__head{display:block}.ttv-tools-group__head>span{display:block;margin-top:var(--ttv-space)}.ttv-tools-grid--4,.ttv-tools-grid--2{grid-template-columns:1fr}.ttv-tool-result__scope{margin-left:0;margin-top:var(--ttv-space)}}
.ttv-tools-guide{margin-top:var(--ttv-space-4);padding:var(--ttv-space-4) var(--ttv-space-4);box-shadow:none}
.ttv-tools-guide__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ttv-space-4)}
.ttv-tools-guide__grid>div{min-width:0;padding:2px var(--ttv-space-4) 2px 0;border:0;border-radius:0;background:transparent}
.ttv-tools-guide__grid strong{display:block;margin-bottom:var(--ttv-space);font-size:var(--ttv-text-sm);color:var(--ttv-ink)}
.ttv-tools-guide__grid p{margin:0;color:var(--ttv-muted);font-size:var(--ttv-text-sm);line-height:1.5}
@media (max-width:768px){.ttv-tools-guide{padding:var(--ttv-space-3)}.ttv-tools-guide__grid{grid-template-columns:1fr;gap:var(--ttv-space-3)}}
@media (max-width:640px){.ttv-tool-result--activity>p{min-height:0}}
@media(max-width:640px){.ttv-tool-result__answer{padding:var(--ttv-space-2) 0;border:0;border-radius:0;background:transparent;border-top:1px solid var(--ttv-line-soft);border-bottom:1px solid var(--ttv-line-soft)}.ttv-tool-result footer{gap:var(--ttv-space)}}
.ttv-tools-page>.ttv-card:not(.ttv-page-hero){box-shadow:none}
@media(max-width:390px){.ttv-tools-snapshot{padding:var(--ttv-space-3)}.ttv-tools-snapshot__metrics{grid-template-columns:1fr}.ttv-tools-snapshot__metrics>span,.ttv-tools-snapshot__metrics>span:nth-child(odd){border-right:0;border-bottom:1px solid var(--ttv-line-soft)}.ttv-tools-snapshot__metrics>span:last-child{border-bottom:0}}
@media(max-width:640px){.ttv-tools-snapshot__weather em{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.ttv-tools-category-nav a{height:auto;min-height:44px;white-space:normal;line-height:1.25;text-align:center}}
.ttv-tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:var(--ttv-space-3)}
.ttv-tools-grid--4,.ttv-tools-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ttv-tool-result{min-width:0;min-height:0;height:100%;padding:var(--ttv-space-4);border:1px solid var(--ttv-line);border-radius:var(--ttv-radius);background:var(--ttv-surface);display:flex;flex-direction:column;align-items:stretch;gap:var(--ttv-space-3);box-shadow:none}
.ttv-tool-result__head{display:flex;align-items:flex-start;gap:var(--ttv-space-2)}
.ttv-tool-result__identity{min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:var(--ttv-space-2)}
.ttv-tool-result__heading{min-width:0;display:grid;gap:var(--ttv-space)}
.ttv-tool-result__heading h3{margin:0;font-size:var(--ttv-text-md);line-height:1.4;overflow-wrap:anywhere}
.ttv-tool-result__meta{display:flex;flex-wrap:wrap;gap:var(--ttv-space-2)}
:is(.ttv-tool-result__status,.ttv-tool-result__scope,.ttv-tool-result__panel-tag){display:inline-flex;align-items:center;max-width:100%;min-height:24px;padding:var(--ttv-space) var(--ttv-space-2);border:0;border-radius:var(--ttv-radius-pill);font-size:var(--ttv-text-xs);font-weight:700;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.ttv-tool-result__status{background:#eef4f8;color:#607688}
.ttv-tool-result__scope{margin:0;background:#eef7ff;color:var(--ttv-blue-800)}
.ttv-tool-result__summary-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.ttv-tool-result__panel{min-width:0;display:grid;gap:var(--ttv-space);align-content:start}
:is(.ttv-tool-result__panel--verdict,.ttv-tool-result__answer){padding:var(--ttv-space-3);border:1px solid var(--ttv-line-soft);border-radius:var(--ttv-radius-sm);background:var(--ttv-surface-subtle)}
.ttv-tool-result__panel--window{padding:var(--ttv-space-3) 2px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--ttv-space-2) var(--ttv-space-3);align-items:start}
:is(.ttv-tool-result__panel,.ttv-tool-result__answer,.ttv-tool-result__reason) small{display:block;color:var(--ttv-muted);font-size:var(--ttv-text-xs);font-weight:700;letter-spacing:0;text-transform:none;line-height:1.4}
:is(.ttv-tool-result__panel,.ttv-tool-result__answer) strong{color:var(--ttv-ink);font-size:var(--ttv-text-lg);line-height:1.35;overflow-wrap:anywhere}
.ttv-tool-result__panel--window strong{font-size:var(--ttv-text-sm);text-align:right;max-width:17ch}
.ttv-tool-result__panel-tag{justify-self:start;background:#edf4f8;color:#5e7487}
.ttv-tool-result__answer{display:grid;gap:var(--ttv-space)}
.ttv-tool-result__reason{min-width:0;display:grid;gap:var(--ttv-space-2);padding-top:var(--ttv-space-3);border-top:1px solid var(--ttv-line-soft)}
.ttv-tool-result__reason p{margin:0;color:var(--ttv-ink-2);font-size:var(--ttv-text-sm);line-height:1.55;overflow-wrap:anywhere}
.ttv-tool-result__fact-list{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:var(--ttv-space-2)}
.ttv-tool-result__fact-list li{min-height:26px;padding:var(--ttv-space) var(--ttv-space-2);border-radius:var(--ttv-radius-pill);background:#f3f7fa;color:#49657b;font-size:var(--ttv-text-xs);line-height:1.35;overflow-wrap:anywhere}
.ttv-tool-result__standalone{margin-top:auto;display:inline-flex;align-items:center;gap:var(--ttv-space);align-self:flex-start;min-height:44px;color:var(--ttv-blue-700);font-weight:700;font-size:var(--ttv-text-sm)}
.ttv-tool-result__standalone:is(:hover,:focus-visible){text-decoration:underline;text-underline-offset:3px}
.ttv-tool-result__standalone .ttv-icon{width:14px;height:14px}
.ttv-tool-result__details{margin-top:auto;padding-top:var(--ttv-space-2);border-top:1px solid var(--ttv-line-soft)}
.ttv-tool-result__standalone+.ttv-tool-result__details{margin-top:0}
.ttv-tool-result__details summary{margin:0;padding:0;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:var(--ttv-space-2);color:var(--ttv-blue-700);font-size:var(--ttv-text-sm);font-weight:700;cursor:pointer;list-style:none}
.ttv-tool-result--activity .ttv-tool-result__panel--verdict{background:var(--ttv-surface-subtle)}
.ttv-tool-result--good{border-color:#cfe5d5}
.ttv-tool-result--good :is(.ttv-tool-result__icon,.ttv-tool-result__panel-tag){background:var(--ttv-good-bg);color:var(--ttv-good-ink)}
.ttv-tool-result--warn{border-color:#ecd8ae}
.ttv-tool-result--warn :is(.ttv-tool-result__icon,.ttv-tool-result__panel-tag){background:var(--ttv-warn-bg);color:#8c5e12}
.ttv-tool-result--danger{border-color:#ebccd2}
.ttv-tool-result--danger :is(.ttv-tool-result__icon,.ttv-tool-result__panel-tag){background:var(--ttv-danger-bg);color:var(--ttv-danger)}
.ttv-tool-result--muted{background:var(--ttv-surface-soft)}
.ttv-tool-result--muted :is(.ttv-tool-result__icon,.ttv-tool-result__panel-tag){background:#edf2f5;color:#698092}
@media (max-width:980px){.ttv-tools-grid--3{grid-template-columns:minmax(0,1fr)}}
@media (max-width:768px){.ttv-tools-grid{grid-template-columns:minmax(0,1fr)}.ttv-tool-result{padding:var(--ttv-space-3);gap:var(--ttv-space-2)}.ttv-tool-result__identity{grid-template-columns:40px minmax(0,1fr)}.ttv-tool-result__panel--window{grid-template-columns:1fr}.ttv-tool-result__panel--window strong{text-align:left;max-width:none}}
.ttv-tool-result__head>div{min-width:0}
