.model { display: flex; flex-direction: column; gap: 26px; padding-top: 6px; } .intro { font-size: .95rem; line-height: 1.5; } .block { display: flex; flex-direction: column; gap: 12px; } .block-title { font-size: 1.1rem; font-weight: 700; } .sub-title { font-size: .8rem; font-weight: 600; color: var(--ink-soft); text-transform: uppercase; letter-spacing: .04em; margin-top: 6px; } .small { font-size: .82rem; } .note { font-size: .82rem; color: var(--ink-soft); background: var(--bg-tint); border-radius: 12px; padding: 10px 14px; transition: background var(--t-morph); } /* ── KPI strip ── */ .kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; } .kpi { background: var(--surface); border: 1px solid var(--line); border-radius: 16px; padding: 14px 12px; text-align: center; } .kpi b { display: block; font-size: 1.4rem; font-weight: 800; color: var(--accent); transition: color var(--t-morph); line-height: 1; } .kpi span { font-size: .72rem; color: var(--ink-soft); } /* ── Pipeline ── */ .pipeline { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 6px; } .pipe-step { flex: 0 0 auto; min-width: 132px; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; position: relative; } .pipe-step b { font-size: .9rem; } .pipe-step span { display: block; font-size: .72rem; color: var(--ink-soft); margin-top: 2px; } .pipe-step:not(:last-child)::after { content: '→'; position: absolute; right: -10px; top: 50%; transform: translateY(-50%); color: var(--accent); font-weight: 700; z-index: 1; transition: color var(--t-morph); } /* ── Dataset ── */ .dataset { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; } .donut-wrap { display: flex; align-items: center; gap: 14px; } .donut { width: 96px; height: 96px; border-radius: 50%; } .donut::after { content: ''; display: block; width: 54px; height: 54px; margin: 21px; background: var(--surface); border-radius: 50%; } .donut-legend { display: flex; flex-direction: column; gap: 8px; font-size: .82rem; } .donut-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; } .ds-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; flex: 1; min-width: 180px; } .ds-facts div { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; } .ds-facts b { display: block; font-size: 1.1rem; } .ds-facts span { font-size: .72rem; color: var(--ink-soft); } /* ── Chips ── */ .chips { display: flex; flex-wrap: wrap; gap: 8px; } /* ── Spec tables ── */ .spec { width: 100%; border-collapse: collapse; font-size: .86rem; } .spec tr { border-bottom: 1px solid var(--line); } .spec td { padding: 10px 4px; vertical-align: top; } .spec td:first-child { color: var(--ink-soft); width: 42%; } .spec td:last-child { font-weight: 500; text-align: right; } /* ── Train compare ── */ .train-compare { display: flex; gap: 12px; } .tc { flex: 1; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 14px; text-align: center; } .tc b { display: block; font-size: 1.5rem; font-weight: 800; } .tc.final b { color: var(--accent); transition: color var(--t-morph); } .tc span { font-size: .72rem; color: var(--ink-soft); } /* ── F1 bars ── */ .bars { display: flex; flex-direction: column; gap: 7px; } .bar-row { display: grid; grid-template-columns: 130px 1fr 42px; align-items: center; gap: 10px; } .bar-row .name { font-size: .8rem; text-transform: capitalize; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .bar-track { height: 9px; background: var(--bg-tint); border-radius: 99px; overflow: hidden; transition: background var(--t-morph); } .bar-fill { height: 100%; border-radius: 99px; width: 0; transition: width .9s cubic-bezier(.4,0,.2,1); } .bar-fill.good { background: var(--grad-accent); } .bar-fill.mid { background: linear-gradient(135deg, #f0b429, #e0a22b); } .bar-fill.bad { background: linear-gradient(135deg, #e9573f, #d9534f); } .bar-row .val { font-size: .78rem; font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; } .all-classes summary { cursor: pointer; font-size: .85rem; font-weight: 600; color: var(--accent); padding: 8px 0; } .all-classes .bars { margin-top: 8px; } /* ── Confusion matrix ── */ .cm-scroll { overflow: auto; border: 1px solid var(--line); border-radius: 14px; max-height: 60vh; } .cm-img { display: block; width: 100%; min-width: 560px; } /* ── Limitations ── */ .limits { list-style: none; display: flex; flex-direction: column; gap: 10px; } .limits li { display: flex; gap: 10px; font-size: .86rem; line-height: 1.4; } .limits li::before { content: '!'; flex: 0 0 20px; height: 20px; border-radius: 50%; background: var(--bg-tint); color: var(--accent); font-weight: 700; font-size: .75rem; display: grid; place-items: center; transition: background var(--t-morph), color var(--t-morph); } /* Desktop content already widened by the shell; let dataset breathe. */ @media (min-width: 1024px) { .kpis { grid-template-columns: repeat(6, 1fr); } }