/* ---------- Outcome library ---------- */
.filters button span { margin-left:6px; font-size:12.5px; opacity:.6; font-variant-numeric:tabular-nums; }
.ogrid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; }
.ocard2 { --t:var(--tint-iris); --ti:var(--iris-ink); display:flex; flex-direction:column; gap:12px; padding:24px; border-radius:var(--r-md); background:var(--paper); border:1px solid var(--line); box-shadow:var(--shadow-card); transition:transform .25s var(--ease), box-shadow .25s; }
.ocard2:hover { transform:translateY(-3px); box-shadow:var(--shadow-float); }
.ocard2.rose { --t:var(--tint-rose); --ti:var(--rose-ink); } .ocard2.sky { --t:var(--tint-sky); --ti:var(--sky-ink); } .ocard2.aqua { --t:var(--tint-aqua); --ti:var(--aqua-ink); }
.oc-goal { align-self:flex-start; padding:4px 10px; border-radius:999px; background:var(--t); color:var(--ti); font-size:12.5px; font-weight:600; }
.ocard2 h3 { margin:2px 0 0; font-size:21px; line-height:27px; font-weight:500; letter-spacing:-.014em; text-wrap:balance; }
.ocard2 dl { margin:0; display:flex; flex-direction:column; gap:10px; }
.ocard2 dt { font-size:12.5px; font-weight:600; color:var(--ink-subtle); }
.ocard2 dd { margin:2px 0 0; font-size:15px; line-height:22px; color:var(--ink-muted); }
.oc-foot { margin-top:auto; padding-top:14px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:6px; }
.oc-k { font-size:12.5px; font-weight:600; color:var(--ink-subtle); }
.oc-apps { display:flex; flex-wrap:wrap; gap:6px 16px; }
.oc-app { display:inline-flex; align-items:center; gap:6px; font-size:14.5px; font-weight:600; color:var(--ti); text-decoration:none; }
.oc-app.plain { color:var(--ink); }
.oc-app svg { width:14px; height:14px; transition:transform .2s; }
.oc-app:hover svg { transform:translateX(3px); }
.oc-app:hover { text-decoration:underline; text-underline-offset:4px; }
.o-note { margin:32px 0 0; font-size:14px; color:var(--ink-subtle); }
@media (max-width: 1080px) { .ogrid { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px) { .ogrid { grid-template-columns:1fr; } }
