/* Cowork-specific extensions; shared Mage family styles remain unchanged. */
:target { scroll-margin-top: 80px; }
.cw-nav-links { display:flex; gap:24px; margin-left:auto; font-size:13px; color:#64748b; }
.cw-nav-links a:hover { color:#0078d4; }
.cw-preview { margin-left:28px; font-size:10px; font-weight:600; color:#64748b; border:1px solid #e2e8f0; border-radius:5px; padding:3px 7px; }
.rf-button svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.cw-tagline { margin:25px auto 0; color:#475569; font-size:16px; }
.rf-hero-media.is-single { grid-template-columns:min(100%,1000px); margin-top:32px; }
.cw-caption { font-size:12px; color:#64748b; line-height:1.65; text-align:center; margin-top:16px; }
.cw-hero-caption { max-width:860px; margin:14px auto 0; }
.cw-zoom { cursor:zoom-in; display:block; }
.rf-metric strong .cw-unit { display:inline; color:inherit; font-size:18px; margin:0; }
.rf-metrics { padding-top:0; padding-bottom:28px; }
.rf-metric-note { color:#64748b; line-height:1.7; max-width:1000px; margin:14px auto 0; }
.cw-abstract { padding-top:35px; padding-bottom:68px; }
.cw-abstract .content { line-height:1.8; font-size:16px; }
.cw-lead { color:#64748b; font-size:16px; line-height:1.7; margin-top:18px; }
.cw-features { max-width:1040px; margin:auto; }
.feature-tab { font-family:inherit; text-align:left; }
.feature-tab svg { fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.feature-panel[hidden] { display:none; }
.cw-insight { padding:18px 20px; border-radius:10px; background:#f0f7fd; font-size:14px; line-height:1.75; margin-top:24px; color:#334155; }
.cw-insight a { color:#0078d4; white-space:normal; }
.cw-data-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:25px 0; }
.cw-data-stats div { text-align:center; border:1px solid #eee4d4; background:#fffcf7; border-radius:12px; padding:18px 8px; }
.cw-data-stats strong { display:block; font-size:28px; color:#b06511; }
.cw-data-stats span { font-size:12px; color:#64748b; }
.cw-table-scroll { overflow-x:auto; }
.cw-table { width:100%; border-collapse:collapse; font-size:13px; margin:18px 0 0; }
.cw-table caption { color:#64748b; text-align:left; margin-bottom:14px; font-size:12px; }
.cw-table th, .cw-table td { padding:12px 14px; border-bottom:1px solid #e2e8f0; text-align:right; white-space:nowrap; }
.cw-table th:first-child, .cw-table td:first-child { text-align:left; }
.cw-table th { color:#475569; font-weight:600; background:#f8fafc; }
.cw-table tr.ours { background:#edf6fc; color:#005fa3; }
.cw-table tr.cw-group td { background:#f1f5f9; color:#64748b; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.cw-note { color:#64748b; font-size:12px; line-height:1.7; margin-top:16px; }
.cw-recipe-list { padding:0; margin:20px 0; list-style:none; }
.cw-recipe-list li { display:flex; align-items:center; gap:20px; padding:13px 0; border-bottom:1px solid #eee9f6; }
.cw-recipe-list li>span { color:#7c3aed; background:#f4effe; width:40px; height:40px; border-radius:10px; display:grid; place-items:center; font-size:12px; font-weight:700; flex:none; }
.cw-recipe-list strong { font-size:15px; }
.cw-recipe-list p { font-size:13px; color:#64748b; margin-top:3px; }
.cw-percent { font-size:.55em; letter-spacing:0; }
.rf-mini-table { font-size:12px; }
.rf-mini-table th, .rf-mini-table td { padding:10px 5px; }
.rf-mini-table th:first-child, .rf-mini-table td:first-child { padding-left:0; }
.rf-mini-table .ours { background:#f0f7fd; }
.rf-score-number { margin-top:28px; }
.rf-details summary { padding:14px 20px; gap:14px; }
.rf-details-body { padding:4px 24px 24px; }
.cw-browser p, .cw-infra p { color:#475569; line-height:1.75; font-size:14px; margin:10px 0 22px; }
.cw-stage-strip { display:flex; justify-content:center; align-items:center; gap:42px; margin:36px auto; }
.cw-stage-strip div { text-align:center; }
.cw-stage-strip div>span { display:block; color:#64748b; font-size:13px; margin-bottom:7px; }
.cw-stage-strip strong { font-size:32px; font-weight:750; }
.cw-stage-strip div:last-child strong { color:#0078d4; }
.cw-stage-arrow { color:#94a3b8; font-size:24px; }
.cw-diagnostics { display:grid; grid-template-columns:250fr 239fr 335fr; gap:16px; background:#fff; border:1px solid #e5e9f0; border-radius:16px; padding:28px 22px 18px; box-shadow:0 10px 30px rgba(15,23,42,.06); }
.cw-diagnostics img { width:100%; }
.cw-diagnostics figcaption { text-align:center; font-size:12px; color:#64748b; margin-top:14px; }
.cw-training-summary { max-width:860px; margin:30px auto; font-size:16px; line-height:1.8; color:#334155; text-align:center; }
.cw-narrow { max-width:960px; }
.cw-body-copy { color:#475569; font-size:15px; line-height:1.8; margin:0 0 24px; }
.cw-table-card { border:1px solid #e5e9f0; padding:16px 20px 20px; border-radius:16px; box-shadow:0 10px 30px rgba(15,23,42,.04); }
.cw-harness-table th { text-align:center; }
.cw-contributors { background:#f8fafc; border-top:1px solid #e2e8f0; padding:55px 24px; }
.cw-author-list { font-size:14px; line-height:2; text-align:center; color:#475569; }
.cw-author-list sup { color:#0078d4; }
.cw-draft-note { text-align:center; font-size:11px; color:#64748b; margin-top:20px; }
.cw-lightbox { width:min(1500px,96vw); max-width:96vw; max-height:94vh; border:0; padding:45px 20px 20px; border-radius:14px; box-shadow:0 24px 100px #0005; }
.cw-lightbox::backdrop { background:rgba(15,23,42,.82); backdrop-filter:blur(5px); }
.cw-lightbox figure { margin:0; }
.cw-lightbox img { max-height:75vh; margin:auto; object-fit:contain; }
.cw-lightbox figcaption { text-align:center; margin:16px 10px 0; font-size:13px; line-height:1.6; color:#475569; }
.cw-lightbox-close { position:absolute; top:7px; right:12px; border:0; width:34px; height:34px; font-size:28px; background:#f1f5f9; color:#334155; border-radius:50%; cursor:pointer; }
.cw-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.cw-skip { position:fixed; top:-100px; left:20px; z-index:100; background:#fff; padding:12px 18px; border:2px solid #0078d4; }
.cw-skip:focus { top:8px; }
:focus-visible { outline:3px solid #0078d4; outline-offset:4px; }
@media(max-width:760px) {
 .cw-nav-links { display:none; }.cw-preview { margin-left:auto; }
 .feature-tabs { gap:10px; grid-template-columns:1fr; }.feature-tab { padding:14px 18px; }
 .cw-desktop-break { display:none; }.rf-hero { padding-top:48px; }
 .cw-diagnostics { grid-template-columns:1fr; gap:28px; padding:24px 16px; }
 .cw-diagnostics figure { max-width:420px; margin:0 auto; }
 .cw-stage-strip { gap:18px; }.cw-stage-strip strong { font-size:25px; }.cw-stage-arrow { font-size:18px; }
 .cw-data-stats { grid-template-columns:1fr; }.cw-data-stats div { padding:12px; }
 .cw-table-card { padding:10px; }.cw-caption { font-size:11px; }
 .rf-score-card { padding:22px 16px; }.rf-mini-table { font-size:11px; }
 .rf-score-metrics .rf-score-number { font-size:43px; }.cw-abstract .content { text-align:left!important; }
 .cw-tagline { font-size:14px; }.rf-report-model { font-size:clamp(30px,7vw,48px); }
}
@media(max-width:420px) { .cw-stage-strip { gap:10px; }.cw-stage-strip strong { font-size:22px; }.cw-stage-strip div>span { font-size:11px; }.rf-metric strong .cw-unit { font-size:14px; } }

/* v2: visible data story, complete curriculum, and shareable navigation. */
.rf-hero { padding-top:60px; padding-bottom:32px; }
.cw-hero-result { color:#64748b; font-size:14px; margin:10px auto 0; }
.cw-hero-result strong { color:#0078d4; font-size:19px; }
.cw-hero-result>span { margin:0 9px; color:#b0bac6; }
.rf-hero-media.is-single { grid-template-columns:min(100%,940px); margin-top:28px; }
.cw-channel-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:22px; }
.cw-channel-grid article { padding:20px 22px; border:1px solid #e5e9f0; border-radius:12px; background:#f8fafc; }
.cw-channel-label { font-size:10px; font-weight:700; letter-spacing:.12em; color:#0078d4; }
.cw-channel-grid article:nth-child(2) .cw-channel-label { color:#7c3aed; }
.cw-channel-grid h4 { margin:7px 0 9px; font-size:16px; font-weight:650; color:#1e293b; }
.cw-channel-grid p { font-size:13px; color:#64748b; line-height:1.7; }
.cw-routing-line { text-align:center; color:#64748b; font-size:12px; line-height:1.7; margin:16px 0 24px; }
.cw-eyebrow { color:#0078d4; font-size:11px; font-weight:700; letter-spacing:.13em; margin-bottom:14px; }
.cw-data-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.cw-scale-card h3 { font-size:21px; font-weight:700; line-height:1.4; }
.cw-data-stats { grid-template-columns:repeat(3,1fr); gap:0; margin:36px 0 30px; }
.cw-data-stats div { border:0; background:none; padding:0 12px; border-radius:0; }
.cw-data-stats div+div { border-left:1px solid #e2e8f0; }
.cw-data-stats strong { color:#0078d4; font-size:clamp(22px,2vw,29px); white-space:nowrap; }
.cw-data-stats span { display:block; margin-top:7px; font-size:11px; line-height:1.6; }
.cw-text-link { color:#0078d4; font-size:13px; font-weight:600; }
.cw-text-link:hover { color:#005fa3; text-decoration:underline; text-underline-offset:3px; }
.cw-scale-card .cw-body-copy { font-size:14px; }
.cw-cost-card .rf-score-number { margin-top:22px; font-size:64px; }
.cw-cost-card .cw-table { font-size:12px; }
.cw-cost-card .cw-table th, .cw-cost-card .cw-table td { padding:10px 8px; }
.cw-cost-card .cw-table caption { margin-bottom:6px; }
.cw-cost-card .cw-note { font-size:11px; }
.cw-recipe-intro { text-align:center; color:#7c3aed; margin-top:38px; }
.cw-recipe-horizontal { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin:20px 0 38px; }
.cw-recipe-horizontal li { display:flex; flex-direction:column; align-items:flex-start; gap:16px; padding:20px 16px; border:1px solid #e5e9f0; border-radius:14px; background:white; }
.cw-recipe-horizontal li>span { width:32px; height:32px; }
.cw-recipe-horizontal strong { font-size:14px; line-height:1.4; display:block; min-height:40px; }
.cw-recipe-horizontal p { font-size:12px; line-height:1.7; margin-top:10px; }
.cw-recipe-compact { color:#7c3aed; background:#faf7ff; border:1px solid #eee5fd; border-radius:10px; font-size:14px; font-weight:600; line-height:2.2; padding:20px; margin:24px 0; text-align:center; }
.cw-recipe-compact span { color:#a395b9; padding:0 8px; }
.cw-figure-links { display:flex; justify-content:center; flex-wrap:wrap; gap:20px; margin-top:15px; font-size:12px; color:#0078d4; }
.cw-lightbox img { width:auto; height:auto; max-width:100%; max-height:70vh; }
.cw-nav-links a[aria-current="location"], .cw-mobile-nav a[aria-current="location"] { color:#0078d4; }
.cw-mobile-nav { display:none; }
.cw-table-scroll:focus-visible { outline-offset:-3px; }
@media (max-width:960px) {
 .cw-data-grid { grid-template-columns:1fr; }
 .cw-recipe-horizontal { grid-template-columns:repeat(3,1fr); }
 .cw-recipe-horizontal strong { min-height:0; }
}
@media (max-width:760px) {
 .rf-hero { padding-top:38px; }
 .cw-mobile-nav { position:sticky; top:56px; z-index:50; display:flex; justify-content:center; gap:28px; padding:10px 12px; font-size:12px; background:#fff; border-bottom:1px solid #e2e8f0; color:#64748b; }
 :target { scroll-margin-top:110px; }
 .cw-channel-grid { grid-template-columns:1fr; gap:10px; }
 .cw-channel-grid article { padding:16px 18px; }
 .cw-recipe-horizontal { grid-template-columns:1fr; gap:10px; }
 .cw-recipe-horizontal li { flex-direction:row; gap:16px; padding:16px; }
 .cw-recipe-horizontal p { margin-top:6px; }
 .cw-data-stats div { padding:0 7px; }
 .cw-data-stats strong { font-size:23px; }
 .cw-data-stats span { font-size:10px; }
 .cw-data-grid .rf-score-card { padding:24px 18px; }
 .cw-hero-result { font-size:12px; }.cw-hero-result strong { font-size:16px; }
}
@media print {
 .rf-nav, .cw-mobile-nav, .rf-actions, .cw-preview, .feature-tabs, .cw-lightbox { display:none!important; }
 .feature-panel[hidden], .feature-panel { display:block!important; margin:20px 0; }
 .rf-section, .section { padding:24px 0; }
 .rf-media-card, .rf-score-card, .feature-panel, .cw-diagnostics { box-shadow:none; break-inside:avoid; }
 .cw-table-scroll { overflow:visible; }
 .cw-table th, .cw-table td { white-space:normal; padding:6px; }
}

/* v17 evidence, within the restored v2 layout and visual system. */
.cw-grounding-card { display:grid; grid-template-columns:.85fr 1.25fr; gap:26px; align-items:center; padding:26px; margin:28px 0 32px; background:#fff; border:1px solid #e5e9f0; border-radius:16px; box-shadow:0 10px 30px rgba(15,23,42,.06); }
.cw-grounding-copy h3 { font-size:21px; font-weight:700; line-height:1.3; color:#1e293b; margin:0 0 18px; }
.cw-grounding-copy>p:last-child { font-size:12px; line-height:1.75; color:#64748b; margin-top:18px; }
.cw-grounding-copy .cw-eyebrow { font-size:10px; margin-bottom:12px; }
.cw-grounding-metrics { display:grid; gap:14px; }
.cw-grounding-metrics strong { display:block; color:#0078d4; font-size:25px; font-weight:750; }
.cw-grounding-metrics span { display:block; font-size:12px; color:#64748b; margin-top:2px; }
.cw-grounding-card figure { min-width:0; margin:0; }
.cw-grounding-card img { width:100%; height:auto; }
.cw-grounding-card figcaption { margin-top:12px; color:#64748b; font-size:11px; line-height:1.6; text-align:center; }
.cw-infra code { color:#475569; background:#f1f5f9; font-size:.9em; }
@media(max-width:760px) {
 .cw-grounding-card { grid-template-columns:1fr; padding:22px 18px; gap:20px; }
 .cw-grounding-metrics { grid-template-columns:1fr 1fr; gap:12px; }
 .cw-grounding-metrics strong { font-size:19px; }
}

/* Real-time demos inside Results, and the collapsed FAQ. */
.cw-demos { margin-top:64px; }
.cw-demos-head { max-width:800px; margin:0 auto 30px; text-align:center; }
.cw-demos-head h3 { margin:0; color:#1e293b; font-size:clamp(24px,2.6vw,32px); font-weight:800; line-height:1.2; letter-spacing:-.02em; text-wrap:balance; }
.cw-demos-head .cw-eyebrow { margin-bottom:12px; }
.cw-demo { margin:0 0 28px; background:#fff; border:1px solid #e5e9f0; border-radius:16px; overflow:hidden; box-shadow:0 10px 30px rgba(15,23,42,.06); }
.cw-demo video { display:block; width:100%; height:auto; aspect-ratio:16/9; background:#eef2f7; }
.cw-demo figcaption { display:grid; grid-template-columns:1fr 1.15fr; gap:22px; align-items:center; padding:18px 22px 20px; border-top:1px solid #e5e9f0; }
.cw-demo-title h4 { margin:0; font-size:16px; font-weight:700; color:#1e293b; }
.cw-demo-title p { margin-top:5px; font-size:13px; line-height:1.65; color:#64748b; }
.cw-demo-facts { display:grid; gap:8px; margin:0; }
.cw-demo-facts div { display:grid; grid-template-columns:120px 1fr; gap:10px; align-items:baseline; font-size:13px; line-height:1.55; }
.cw-demo-facts dt { font-weight:700; color:#475569; }
.cw-demo-facts dd { margin:0; color:#64748b; }
.cw-demo-facts .ours dt, .cw-demo-facts .ours dd { color:#005fa3; }
.cw-faq { margin-top:28px; }
.cw-faq h3 { margin:18px 0 6px; font-size:14px; font-weight:700; color:#1e293b; }
.cw-faq p { margin:0; font-size:14px; line-height:1.75; color:#475569; }
@media(max-width:760px) {
 .cw-demos { margin-top:44px; }
 .cw-demo figcaption { grid-template-columns:1fr; gap:12px; padding:14px 14px 16px; }
 .cw-demo-facts div { grid-template-columns:1fr; gap:0; }
}
