/* Read-only library: shared theme and deliberate wrapping. */
.sc-shell { grid-column:1/-1; min-width:0; color:var(--dsr-text,#f0f6fc); container-type:inline-size; container-name:skills; }
.sc-heading { margin-bottom:20px; }
.sc-heading h3 { margin:0; font-size:22px; line-height:1.3; }
.sc-intro,.sc-updated,.sc-source,.sc-meta { color:var(--dsr-muted,#a7b0bc); font-size:13px; line-height:1.6; }
.sc-intro { margin:8px 0 0!important; }.sc-source { display:block; }
.sc-filters { display:grid; grid-template-columns:minmax(220px,1fr) minmax(130px,.5fr) minmax(155px,.6fr) auto; gap:10px; align-items:center; }
.sc-filters input,.sc-filters select,.sc-filters button,.sc-reading-tools input,.sc-reading-tools select,.sc-reading-tools button,.sc-page button {
 box-sizing:border-box; min-width:0; min-height:46px; max-width:100%; margin:0; padding:11px 12px;
 border:1px solid var(--dsr-line,#30363d); border-radius:12px; background:var(--dsr-panel,#161b22);
 color:var(--dsr-text,#f0f6fc); font:inherit; font-size:14px; line-height:1.4;
}
.sc-filters input,.sc-filters select,.sc-reading-tools input,.sc-reading-tools select { width:100%; }
.sc-filters input::placeholder,.sc-reading-tools input::placeholder { color:var(--dsr-muted,#a7b0bc); opacity:1; }
.sc-filters select,.sc-reading-tools select { padding-right:28px; text-overflow:ellipsis; }
.sc-filters button,.sc-reading-tools button,.sc-page button { white-space:nowrap; cursor:pointer; }
.sc-filters button { min-width:88px; }
.sc-shell :is(input,select,button):focus-visible { outline:2px solid var(--dsr-accent,#58a6ff); outline-offset:3px; }
.sc-summary { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:4px 16px; margin:20px 0 16px; font-size:13px; }
.sc-count,.sc-updated { white-space:nowrap; }
.sc-notice:not(:empty) { margin-top:12px!important; padding:12px 14px; border:1px solid var(--dsr-warning-line,#ff9e6466); border-radius:12px; font-size:13px; line-height:1.6; }
.sc-notice:empty { display:none; }
.sc-body { display:grid; grid-template-columns:minmax(240px,1fr) minmax(0,1.5fr); gap:20px; align-items:start; }
.sc-list { display:grid; gap:14px; max-height:68dvh; overflow:auto; }
.sc-card,.sc-detail { min-width:0; border:1px solid var(--dsr-line,#30363d); border-radius:18px; background:var(--dsr-panel,#161b22); padding:20px; overflow-wrap:break-word; word-break:normal; line-break:strict; }
.sc-card { display:flex; flex-direction:column; align-items:stretch; }
.sc-card.is-selected { border-color:var(--dsr-accent,#58a6ff); background:var(--dsr-accent-soft,#58a6ff1f); }
.sc-card h3 { margin:8px 0 10px!important; font-size:18px; line-height:1.45; overflow-wrap:break-word; word-break:normal; }
.sc-description { margin:0!important; font-size:14px; line-height:1.7; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.sc-description,.sc-intro,.sc-detail p { text-wrap:pretty; }
.sc-flags { display:flex; flex-wrap:wrap; align-items:flex-start; gap:8px; margin:16px 0; }
.sc-flags .pc-badge { max-width:100%; min-width:0; white-space:normal; line-height:1.5; overflow-wrap:break-word; }
.sc-flags .sc-status { white-space:nowrap; }
.sc-card > button { min-height:44px; width:100%; margin-top:auto; border-radius:12px; font-size:14px; }
.sc-detail { position:sticky; top:12px; }.sc-detail[hidden] { display:none; }
.sc-card .sc-detail { margin-top:16px; padding:16px 0 0; border:0; border-top:1px solid var(--dsr-line,#30363d); border-radius:0; background:transparent; }
.sc-detail h3 { font-size:20px; line-height:1.4; margin:16px 0 10px; }
.sc-detail h4 { margin:24px 0 10px; font-size:15px; line-height:1.5; }
.sc-detail p { margin-top:10px!important; font-size:14px; line-height:1.75; }
.sc-detail .sc-content { max-height:58dvh; margin:0; padding:16px; border:1px solid var(--dsr-line,#30363d); border-radius:14px; white-space:pre-wrap; overflow-wrap:break-word; word-break:normal; overflow:auto; font:13px/1.8 ui-monospace,monospace; background:var(--dsr-bg,#0d1117); }
.sc-page .sc-filters { grid-template-columns:minmax(220px,1fr) minmax(130px,.45fr) minmax(155px,.55fr) minmax(105px,.35fr) auto; }
.sc-page .sc-body { display:block; }
.sc-page .sc-list { max-height:none; overflow:visible; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); align-items:stretch; }
.sc-page .sc-detail { position:static; padding:24px; }.sc-page .sc-content { max-height:none; overflow:visible; }
.sc-reading-tools { display:grid; grid-template-columns:minmax(200px,1fr) minmax(150px,auto) auto; gap:10px; margin:18px 0 10px; align-items:center; }
.sc-markdown { font-family:inherit!important; white-space:normal!important; line-height:1.8; }
.sc-markdown :is(p,li) { max-width:75ch; }
.sc-markdown :is(h1,h2,h3,h4) { line-height:1.4; overflow-wrap:break-word; }
.sc-markdown h1 { font-size:23px; }.sc-markdown h2 { font-size:20px; }
.sc-markdown pre { max-width:100%; overflow-x:auto; white-space:pre; }
.sc-markdown table { display:block; max-width:100%; overflow-x:auto; }
.sc-content mark { background:var(--dsr-accent-soft,#ffd16670); color:inherit; }.sc-page [hidden] { display:none!important; }
@media(max-width:1100px) {
 .sc-filters,.sc-page .sc-filters { grid-template-columns:repeat(3,minmax(0,1fr)) auto; }
 .sc-filters input { grid-column:1/-1; }
}
@media(max-width:620px) {
 .sc-heading { margin-bottom:16px; }.sc-heading h3 { font-size:21px; }
 .sc-filters,.sc-page .sc-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }.sc-filters input { grid-column:1/-1; }
 .sc-body { grid-template-columns:1fr; }.sc-detail { position:static; }.sc-list { max-height:none; overflow-anchor:none; }
 .sc-page .sc-list { grid-template-columns:1fr; }.sc-card { padding:18px; }.sc-page .sc-detail { padding:18px; }
 .sc-detail .sc-content { max-height:45dvh; padding:14px; }.sc-page .sc-content { max-height:none; }
 .sc-reading-tools { grid-template-columns:minmax(0,1fr) auto; }.sc-reading-tools input { grid-column:1/-1; }
 .sc-summary { margin:16px 0; }.sc-updated { font-size:12px; }
}
@media(max-width:360px) {
 .sc-card,.sc-page .sc-detail { padding:16px; }.sc-filters { gap:8px; }
 .sc-filters :is(input,select,button),.sc-reading-tools :is(input,select,button) { font-size:13px; }
 .sc-card h3 { font-size:17px; }.sc-detail h3 { font-size:19px; }
}
/* A wide window can still contain a narrow reading pane. */
@container skills (max-width:1000px) {
 .sc-filters,.sc-page .sc-filters { grid-template-columns:repeat(3,minmax(0,1fr)) auto; }
 .sc-filters input { grid-column:1/-1; }
}
@container skills (max-width:620px) {
 .sc-filters,.sc-page .sc-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .sc-page .sc-list { grid-template-columns:1fr; }
 .sc-reading-tools { grid-template-columns:minmax(0,1fr) auto; }
 .sc-reading-tools input { grid-column:1/-1; }
}
