/* YC batch reports: resource-page canvas, typography and card islands.
   Scoped to .ycd-page; the YC index and shared resource styles stay independent. */
.ycd-page { max-width:1120px; margin:0 auto; padding:108px 0 64px; color:var(--white); font-family:var(--font-sans); }
.ycd-page *, .ycd-page *::before, .ycd-page *::after { box-sizing:border-box; }
.ycd-page [hidden] { display:none !important; }
.ycd-page a { color:inherit; text-decoration:none; }
.ycd-page button, .ycd-page input, .ycd-page select { font-family:inherit; }
.ycd-page button, .ycd-page select { cursor:pointer; }
.ycd-page :is(button,a,input,select,summary,[tabindex]):focus-visible { outline:2px solid var(--blue); outline-offset:4px; }
.ycd-page :is(section,article,header) { scroll-margin-top:136px; }
.ycd-page h1, .ycd-page h2, .ycd-page h3, .ycd-page p { margin:0; }
.ycd-breadcrumb { display:flex; align-items:center; gap:10px; margin-bottom:28px; font-size:.8125rem; color:var(--text-faint); }
.ycd-breadcrumb a:hover, .ycd-back:hover, .ycd-end a:hover, .ycd-meta a:hover { color:var(--blue); }
.ycd-title-row { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.ycd-header h1 { font-family:var(--font-display); font-size:clamp(2rem,3.5vw,2.75rem); font-weight:650; line-height:1.12; letter-spacing:-.035em; display:flex; align-items:center; gap:16px; }
.ycd-batch-label { color:var(--text-faint); font-family:var(--font-sans); font-size:.875rem; letter-spacing:0; border:1px solid var(--border-mid); border-radius:7px; padding:5px 9px; font-weight:500; }
.ycd-back { display:flex; gap:12px; font-size:.875rem; color:var(--text-light) !important; }
.ycd-meta { display:flex; flex-wrap:wrap; gap:8px 20px; align-items:center; color:var(--text-faint); font-size:.8125rem; margin-top:20px; }
.ycd-meta a { text-underline-offset:3px; text-decoration:underline; }
.ycd-header .hero-statline { margin-top:28px; }
.ycd-section { margin-top:40px; }
.ycd-page .ycd-chart-intro { color:var(--text-light); font-size:.9375rem; line-height:1.65; margin:-5px 0 20px; max-width:76ch; }
.ycd-dot-island .ycb-dots-row { grid-template-columns:162px minmax(0,1fr) 72px; gap:4px 16px; }
.ycd-dot-island .ycb-dots-svg { height:40px; }
.ycd-dot-island .ycb-sk-label { white-space:normal; line-height:1.3; }
.ycd-dot-island .ycb-dots-note { margin-top:12px; line-height:1.6; }
.ycd-dot-island .ycb-chart-head { padding-right:48px; }
.ycd-section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:8px 24px; margin-bottom:16px; }
.ycd-section-heading h2 { font-family:var(--font-display); font-size:1.65rem; line-height:1.2; font-weight:600; letter-spacing:-.02em; }
.ycd-section-heading > span { font-size:.8125rem; color:var(--text-faint); }
.ycd-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:start; }
.ycd-island { background:var(--surface-card); border:1px solid var(--border-light); border-radius:12px; padding:24px; min-width:0; box-shadow:var(--shadow-sm); }
.ycd-island-head { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:32px; margin-bottom:24px; }
.ycd-island h3 { font-size:1rem; font-weight:600; line-height:1.3; }
.ycd-unit { font-size:.75rem; color:var(--text-faint); }
.ycd-source { display:flex; justify-content:space-between; align-items:center; gap:12px; border-top:1px solid var(--border-light); padding-top:14px; margin-top:20px; font-size:.75rem; color:var(--text-faint); }
.ycd-source img { display:block; width:82px; height:auto; opacity:.58; }
.ycd-bars { display:flex; flex-direction:column; gap:16px; }
.ycd-bar-row { display:grid; grid-template-columns:140px minmax(30px,1fr) 28px; gap:12px; align-items:center; font-size:.8125rem; min-height:20px; }
.ycd-bar-row > span { line-height:1.4; }
.ycd-bar-row strong { text-align:right; font-variant-numeric:tabular-nums; font-weight:500; }
.ycd-track { height:8px; border-radius:2px; background:var(--navy-light); }
.ycd-track i { display:block; height:100%; background:var(--blue); border-radius:2px; min-width:2px; }
.ycd-company-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.ycd-company { display:flex; flex-direction:column; border:1px solid var(--border-light); border-radius:12px; background:var(--surface-card); padding:21px; box-shadow:var(--shadow-sm); transition:border-color .15s,box-shadow .15s; min-width:0; }
.ycd-company:hover { border-color:var(--border-mid); box-shadow:var(--shadow-md); }
.ycd-company-top { display:flex; gap:12px; align-items:center; }
.ycd-logo { position:relative; display:inline-flex; flex-shrink:0; align-items:center; justify-content:center; width:40px; height:40px; border-radius:9px; border:1px solid var(--logo-tile-border); background:var(--logo-tile-bg); color:var(--text-faint); overflow:hidden; font-size:1rem; font-weight:600; }
.ycd-logo img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; background:var(--logo-tile-bg); }
.ycd-company-top > div { flex:1; min-width:0; }
.ycd-company h3 { font-size:1rem; font-weight:600; line-height:1.3; }
.ycd-company-top > div > span { font-size:.75rem; color:var(--text-faint); }
.ycd-company-top > span:last-child { color:var(--text-faint); }
.ycd-company p { margin:16px 0 20px; font-size:.875rem; line-height:1.55; color:var(--text-light); min-height:2.7em; }
.ycd-company-amount { display:flex; align-items:baseline; gap:6px; margin-top:auto; }
.ycd-company-amount strong { font-family:var(--font-display); font-size:1.75rem; font-weight:600; letter-spacing:-.02em; }
.ycd-company-amount > span { font-size:.75rem; color:var(--text-faint); }
.ycd-company-amount .ycd-unicorn { margin-left:auto; background:var(--blue-light); color:var(--blue-ink); padding:4px 7px; border-radius:5px; font-size:.75rem; }
.ycd-company .ycb-founders { margin-top:16px; padding-top:14px; border-top:1px solid var(--border-light); }
.ycd-company .ycb-founder-names { font-size:.75rem; }
.ycd-company .ycb-ava { width:24px; height:24px; }
.ycd-section-note { margin-top:12px !important; font-size:.75rem; line-height:1.6; color:var(--text-faint); }
.ycd-country-more { margin-top:20px; }
.ycd-country-more summary { color:var(--blue); font-size:.8125rem; cursor:pointer; list-style:none; display:flex; justify-content:space-between; }
.ycd-country-more .ycd-bars { margin-top:18px; }
.ycd-directory { padding:0; overflow:hidden; }
.ycd-controls { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:18px 20px; }
.ycd-search { flex:1; min-width:210px; position:relative; }
.ycd-search svg { position:absolute; left:12px; top:11px; width:18px; height:18px; color:var(--text-faint); }
.ycd-controls input, .ycd-controls select { border:1px solid var(--border-mid); border-radius:7px; background:var(--surface-card); color:var(--white); font-size:.875rem; height:40px; padding:8px 12px; }
.ycd-controls input { width:100%; padding-left:39px; }
.ycd-controls input::placeholder { color:var(--text-faint); }
.ycd-controls select { max-width:230px; }
#ycd-clear { border:0; background:transparent; color:var(--blue); font-size:.8125rem; padding:10px 0; }
.ycd-table-wrap { overflow-x:auto; scroll-margin-top:96px; }
.ycd-table { width:100%; border-collapse:collapse; text-align:left; font-size:.8125rem; }
.ycd-table th { background:var(--navy-light); border-block:1px solid var(--border-light); padding:11px 14px; color:var(--text-faint); font-weight:500; white-space:nowrap; }
.ycd-table th button { background:transparent; border:0; color:inherit; padding:0; font-size:inherit; }
.ycd-table th button span { margin-left:5px; }
.ycd-table th[aria-sort="descending"], .ycd-table th[aria-sort="ascending"] { color:var(--white); }
.ycd-table td { padding:14px; border-bottom:1px solid var(--border-light); color:var(--text-light); vertical-align:middle; }
.ycd-table tbody tr:last-child td { border-bottom:0; }
.ycd-table tbody tr:hover { background:var(--navy-light); }
.ycd-table .ycd-rank { padding-left:22px; padding-right:4px; color:var(--text-faint); width:44px; font-variant-numeric:tabular-nums; }
.ycd-number { text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; padding-right:22px !important; }
.ycd-table td.ycd-number { color:var(--white); font-weight:500; }
.ycd-table-company { display:flex; gap:12px; align-items:center; min-width:230px; max-width:400px; }
.ycd-table-company .ycd-logo { width:32px; height:32px; border-radius:7px; }
.ycd-table-company > span:last-child { display:flex; flex-direction:column; gap:4px; min-width:0; }
.ycd-table-company strong { color:var(--white); font-size:.875rem; font-weight:500; }
.ycd-table-company > span > span { font-size:.75rem; color:var(--text-faint); display:block; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; max-width:29ch; }
.ycd-table-company:hover strong { color:var(--blue); }
.ycd-status { display:inline-flex; align-items:center; gap:6px; font-size:.75rem; white-space:nowrap; }
.ycd-status::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--text-faint); }
.ycd-status.active::before { background:var(--blue); }
.ycd-status.acquired::before { background:var(--purple); }
.ycd-pagination { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 20px; border-top:1px solid var(--border-light); color:var(--text-faint); font-size:.8125rem; }
.ycd-pagination > div { display:flex; gap:14px; align-items:center; }
.ycd-pagination button { border:1px solid var(--border-mid); color:var(--white); background:var(--surface-card); border-radius:6px; min-width:34px; height:34px; }
.ycd-pagination button:disabled { opacity:.4; cursor:default; }
.ycd-empty { text-align:center; padding:60px 20px; }
.ycd-empty p { color:var(--text-faint); margin:10px 0 20px; font-size:.875rem; }
.ycd-empty button { background:var(--blue); color:var(--surface-card); border:0; border-radius:7px; padding:10px 15px; }
.ycd-method { border-block:1px solid var(--border-light); margin-top:36px; }
.ycd-method summary { display:flex; gap:20px; justify-content:space-between; cursor:pointer; list-style:none; padding:20px 0; font-size:.875rem; font-weight:500; }
.ycd-method details > div { padding:2px 0 24px; max-width:80ch; }
.ycd-method p { font-size:.9375rem; color:var(--text-light); line-height:1.75; margin-bottom:12px; }
.ycd-method p:last-child { margin-bottom:0; }
.ycd-method a { color:var(--blue); text-decoration:underline; }
.ycd-page summary::-webkit-details-marker { display:none; }
.ycd-page details[open] > summary > span:last-child:not(:first-child) { transform:rotate(45deg); }
.ycd-end { display:flex; justify-content:space-between; gap:20px; margin-top:28px; font-size:.875rem; color:var(--text-light); }
.ycd-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(min-width:768px) { .ycd-table th:nth-child(3) { width:140px; } .ycd-table th:nth-child(4) { width:145px; } }
@media(max-width:1190px) { .ycd-page { margin:0 32px; } }
@media(max-width:900px) { .ycd-bar-row { grid-template-columns:115px minmax(25px,1fr) 25px; gap:8px; } .ycd-island { padding:20px; } .ycd-directory { padding:0; } .ycd-company-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:720px) {
    .ycd-page { margin:0 20px; padding:98px 0 40px; }
    .ycd-breadcrumb { margin-bottom:28px; }
    .ycd-header h1 { font-size:2rem; gap:8px; flex-wrap:wrap; }
    .ycd-back { display:none; }
    .ycd-meta { gap:10px 16px; line-height:1.5; }
    .ycd-meta > :first-child { width:100%; }
    .ycd-section { margin-top:32px; }
    .ycd-dot-island .ycb-dots-row { grid-template-columns:90px minmax(0,1fr) 40px; gap:4px 6px; }
    .ycd-dot-island .ycb-sk-label { font-size:.6875rem; }
    .ycd-dot-island .ycb-dots-n { font-size:.6875rem; }
    .ycd-dot-island .ycb-dots-axis text:last-child { display:block; }
    .ycd-dot-island .ycb-dots-head .ycb-dots-n { visibility:visible; font-size:.6rem; }
    .ycd-dot-island .ycb-chart-head { padding-right:0; padding-top:24px; }
    .ycd-dot-island .ycb-toggle { width:100%; }
    .ycd-dot-island .ycb-toggle button { flex:1; font-size:.6875rem; padding:7px 6px; }
    .ycd-dot-island .ycb-dots-note { font-size:.75rem; }
    .ycd-section-heading { flex-direction:column; gap:7px; }
    .ycd-section-heading h2 { font-size:1.55rem; }
    .ycd-grid { grid-template-columns:1fr; gap:16px; }
    .ycd-island-head { margin-bottom:22px; }
    .ycd-company-grid { grid-template-columns:1fr; gap:12px; }
    .ycd-company { padding:20px; }
    .ycd-company p { min-height:0; margin:12px 0 16px; }
    .ycd-controls { padding:16px; }
    .ycd-search { flex-basis:100%; }
    .ycd-controls > label:not(.ycd-search) { flex:1; min-width:0; }
    .ycd-controls select { width:100%; max-width:100%; }
    .ycd-directory { padding:0; }
    .ycd-table { min-width:800px; }
    .ycd-table th:nth-child(2), .ycd-table td:nth-child(2) { position:sticky; left:0; background:var(--surface-card); }
    .ycd-table th:nth-child(2) { background:var(--navy-light); }
    .ycd-table-company { min-width:200px; max-width:220px; }
    .ycd-table-company > span > span { max-width:20ch; }
    .ycd-pagination { font-size:.75rem; padding:14px 16px; }
    .ycd-pagination > div { gap:10px; }
    .ycd-end { flex-direction:column; gap:20px; font-size:.8125rem; }
}
@media(prefers-reduced-motion:reduce) { .ycd-page * { transition:none !important; scroll-behavior:auto !important; } }
