.data-page { margin:0; font-family:Pretendard,'Malgun Gothic',system-ui,sans-serif; line-height:1.6; }
.data-page * { box-sizing:border-box; }
.data-page .fable-shell { margin:auto; padding:16px 24px 104px; }
.data-page h1,.data-page h2,.data-page h3,.data-page p { margin:0; }
.data-page h1 { font-size:clamp(30px,4vw,42px); line-height:1.25; }
.data-page h2 { font-size:clamp(22px,3vw,28px); line-height:1.4; }
.data-page h3 { font-size:18px; line-height:1.4; }
.ds-heading { display:flex; justify-content:space-between; align-items:start; gap:20px; padding:24px 0 20px; }
.ds-heading p { color:var(--fable-muted); margin-top:8px; }
.ds-heading .ds-kicker { color:var(--fable-water); font-size:13px; font-weight:700; margin:0 0 6px; }
.ds-version { flex:none; padding:8px 12px; border-radius:10px; background:var(--fable-water-soft); color:var(--fable-water); }
.ds-sections { display:flex; gap:24px; border-bottom:1px solid var(--fable-line); margin-bottom:24px; }
.ds-sections a { display:flex; align-items:center; min-height:48px; font-weight:700; text-decoration:none; color:var(--fable-water); }
.ds-overview { padding:24px; border:1px solid var(--fable-line); border-radius:20px; background:var(--fable-surface); margin-bottom:20px; }
.ds-overview h2 { margin:14px 0 6px; }
.ds-connect { display:flex; flex-wrap:wrap; gap:8px; }
.ds-badge { display:inline-flex; align-items:center; padding:5px 10px; border-radius:8px; font-size:13px; font-weight:700; background:var(--fable-surface-soft); color:var(--fable-muted); }
.ds-ok { color:#075d43; background:#dff4e9; }
.ds-warn { color:#814108; background:#fff0dc; }
:root[data-fable-scheme="dark"] .ds-ok { color:#a0e2c6; background:#173b34; }
:root[data-fable-scheme="dark"] .ds-warn { color:#ffd29d; background:#443320; }
.ds-refresh-row { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:16px; }
#ds-refresh { min-height:48px; padding:10px 18px; border:0; border-radius:12px; font:inherit; font-weight:700; color:var(--fable-on-water); background:var(--fable-water); cursor:pointer; }
#ds-refresh:disabled { cursor:wait; opacity:.7; }
.ds-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.ds-card { min-width:0; padding:24px; border:1px solid var(--fable-line); border-radius:20px; background:var(--fable-surface); }
.ds-card>header { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:12px; margin-bottom:16px; }
.ds-card .ds-big { font-size:32px; font-weight:800; line-height:1.3; margin:12px 0 20px; letter-spacing:-.04em; }
.ds-catch { grid-column:1/-1; }
.ds-counts { display:grid; grid-template-columns:repeat(auto-fit,minmax(90px,1fr)); gap:12px; margin:18px 0; }
.ds-counts dt { font-size:13px; color:var(--fable-muted); }
.ds-counts dd { margin:3px 0 0; font-weight:750; font-size:20px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.data-page .ds-note { color:var(--fable-muted); font-size:14px; line-height:1.65; margin:8px 0; overflow-wrap:anywhere; }
.ds-warning { border-left:3px solid var(--fable-amber); padding:12px 14px; margin:12px 0!important; background:var(--fable-surface-soft); color:var(--fable-ink); }
.ds-card details { margin:16px 0; border-block:1px solid var(--fable-line); }
.data-page summary { min-height:48px; padding:12px 0; cursor:pointer; font-weight:700; color:var(--fable-water); }
.ds-source-list { padding:0; list-style:none; margin:8px 0; }
.ds-source-list li { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; padding:10px 0; }
.ds-source-list span { color:var(--fable-muted); }
.ds-section { margin-top:32px; padding-top:24px; border-top:1px solid var(--fable-line); scroll-margin-top:16px; }
.ds-section>h2 { margin-bottom:12px; }
.ds-section>h3 { margin-top:24px; }
.ds-table-scroll { overflow-x:auto; border:1px solid var(--fable-line); border-radius:14px; background:var(--fable-surface); margin-top:16px; }
.ds-table-scroll table { border-collapse:collapse; width:100%; min-width:640px; font-size:14px; text-align:left; }
.ds-table-scroll caption { text-align:left; padding:12px 16px; color:var(--fable-muted); }
.ds-table-scroll th,.ds-table-scroll td { padding:14px 16px; border-top:1px solid var(--fable-line); }
.ds-table-scroll th { font-weight:700; white-space:nowrap; }
.ds-table-scroll td { font-variant-numeric:tabular-nums; }
#ds-build .ds-counts { grid-template-columns:1fr; }
#ds-build dd { font-size:16px; }
.ds-releases { list-style:none; padding:0; margin:12px 0; }
.ds-releases li { border-bottom:1px solid var(--fable-line); padding:16px 0; }
.ds-releases strong { color:var(--fable-water); }
.ds-change-list { padding-left:20px; }
.ds-policy p { margin:12px 0; }
.ds-sr { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:600px) { .data-page .fable-shell { padding-inline:16px; } .ds-heading { flex-wrap:wrap; gap:12px; } .ds-grid { grid-template-columns:1fr; gap:16px; } .ds-card,.ds-overview { padding:18px; border-radius:16px; } .ds-refresh-row { flex-wrap:wrap; gap:8px; } .ds-sections { gap:20px; } .ds-card .ds-big { font-size:28px; } }
@media(prefers-reduced-motion:reduce) { .data-page * { scroll-behavior:auto!important; } }

.data-page>.skip-link { position:fixed; top:0; left:16px; z-index:100; transform:translateY(-150%); padding:8px 16px; background:var(--fable-surface); }
.data-page>.skip-link:focus { transform:translateY(0); }
.ds-table-scroll th:first-child,.ds-table-scroll td:first-child { width:130px; white-space:nowrap; }
.ds-table-scroll th:nth-child(2),.ds-table-scroll td:nth-child(2) { width:110px; white-space:nowrap; }
.ds-card:not(.ds-catch) .ds-counts { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media(max-width:480px) { .ds-card:not(.ds-catch) .ds-counts { grid-template-columns:repeat(2,minmax(0,1fr)); } }
