.student-catalog-host { display: block !important; }
.sf-scope-note { color: #526e72; font-size:12px; line-height: 1.7; margin: 0 0 18px; }
.sf-family { border-top: 1px solid #e1eae5; }
.sf-family > summary { padding: 17px 24px; cursor: pointer; line-height: 1.6; }
.sf-family > summary:hover { background: #f3f8f4; }
.sf-family-count { color: #637d75; font-size: 12px; margin-left: 18px; font-weight: 400; }
.sf-family-content { padding: 0 24px 20px; line-height: 1.8; font-size:12px; }
.sf-family-content > p { max-width: 85ch; }
.sf-preset { margin: 17px 0; }
.sf-preset h4 { margin: 0 0 8px; font-size:14px; }
.student-catalog .sf-case { min-height: 0; width: 100%; margin: 8px 0; padding: 14px 17px; }
.sf-case p { margin: 5px 0; font-size: 12px; line-height: 1.65; }
.sf-case .sc-card-action { margin-top: 7px; }
.sf-requirements { margin-top: 16px; color: #4b666a; }
.sf-requirements p { max-width: 85ch; margin: 8px 0; }
.sf-requirements summary, .sf-legacy > summary { cursor: pointer; }
.sf-pending { color: #697d75; }
.sf-section > .sc-expand { margin: 13px 24px 18px; }
.sf-legacy { padding: 20px 0; }
.sf-legacy > summary { font-size: 20px; font-weight: 600; }
.student-catalog { --sc-ink:var(--ink); --sc-muted:var(--muted); --sc-line:var(--line); color: var(--sc-ink); width: 100%; }
.student-catalog *, .student-catalog *::before, .student-catalog *::after { box-sizing: border-box; }
.student-catalog button, .student-catalog input { font: inherit; }
.sc-category-nav { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; padding: 5px 0 22px; }
.student-catalog .sc-nav-button, .student-catalog-navigation .sc-nav-button { border-radius:var(--radius-panel); padding: 8px 15px; min-height: 38px; color:var(--ink);background:var(--surface);border-color:var(--line); font-size: 12px; }
.sc-section { margin: 0 0 25px; scroll-margin-top: var(--student-catalog-offset, 20px); background: #fff; border: 1px solid var(--sc-line); border-radius:var(--radius-panel); overflow: hidden; }
.sc-section-heading { display: flex; gap: 13px; align-items: center; padding: 22px 24px 18px; }
.sc-category-mark { display: grid; place-items: center; flex: none; width: 47px; height: 49px; border-radius:var(--radius-panel); color: #346fa0; background: #eaf2f9; font: 22px Georgia, serif; }
.sc-magnetic .sc-category-mark { color: #286e5a; background: #e9f3ed; }
.sc-combined .sc-category-mark { color: #8a6740; background: #fbf1df; font-size:14px; }
.sc-reserved .sc-category-mark { color: #7b837d; background: #eff1ed; font-size:14px; }
.sc-category-copy { flex: 1; min-width: 0; }
.sc-category-copy h2 { font-size: 20px; margin: 0 0 6px; }
.sc-category-copy p { font-size: 12px; line-height: 1.75; color: var(--sc-muted); margin: 0; }
.sc-count { flex: none; white-space: nowrap; color: #6c8378; font-size:12px; }
.sc-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 13px; padding: 0 24px; }
.student-catalog .sc-card { display: flex; flex-direction: column; align-items: flex-start; text-align: left; min-height: 194px; padding: 17px; border: 1px solid #e0e9e2; border-radius: 11px; background: #f8faf7; color: var(--sc-ink); box-shadow:none; }
.student-catalog .sc-card:hover:not(:disabled) { background: #eef6f0; border-color: #98baaa; }
.student-catalog .sc-card.sc-featured { background: #eaf4ec; border-color: #bbd6c2; }
.sc-card-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 12px; }
.sc-card-tags span { font-size:12px; border-radius: 4px; padding: 3px 5px; color: #567365; background: #e8efe7; font-weight: 500; }
.sc-electric .sc-card-tags span { color: #4f7190; background: #eaf1f6; }
.sc-combined .sc-card-tags span { color: #816741; background: #f4ecd9; }
.sc-card h3 { font-size:14px; line-height: 1.5; margin: 0 0 8px; }
.sc-card-description { flex: 1; color: var(--sc-muted); font-size: 12px; font-weight: 400; line-height: 1.8; margin: 0; }
.sc-card-action { display: block; color: #12746a; font-size: 12px; font-weight: 650; margin-top: 16px; }
.sc-special-task { color: #8b642e; background: #fff4df; padding: 5px 7px; border-radius: 4px; font-size:12px; line-height: 1.6; margin: 11px 0 0; font-weight: 500; }
.sc-group-footer { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 10px; padding: 15px 24px 18px; }
.student-catalog .sc-expand { border: 0; padding: 4px 0; min-height: 34px; background: none; color: #246e62; font-size: 12px; font-weight: 600; text-align: left; }
.sc-future-note, .sc-search-note { font-size:12px; color: #778176; line-height: 1.6; }
.sc-group-search-row { display: flex; align-items: center; gap: 12px; padding: 0 24px 16px; }
.student-catalog .sc-local-search { width: min(100%, 490px); min-height: 39px; font-size: 12px; padding: 9px 12px; background: white; border: 1px solid #cbdcd3; border-radius: 8px; }
.sc-filter-count { flex: none; font-size:12px; color: var(--sc-muted); }
.sc-reserved-section { background: #f7f8f5; border-style: dashed; }
.sc-reserved-section .sc-section-heading { padding-bottom: 10px; }
.sc-reserved-copy { font-size: 12px; line-height: 1.8; color: #788174; padding: 0 24px 20px 84px; margin: 0; }
.sc-empty { padding: 20px 24px; margin: 0; font-size:12px; color: var(--sc-muted); line-height: 1.8; }
.sc-empty-service { padding: 16px 20px; border: 1px solid #e7d8b6; border-radius:var(--radius-panel); color: #876838; background: #fff8e8; margin: 0 0 18px; font-size:12px; line-height: 1.7; }
.sc-query-summary { display: flex; align-items: center; gap: 15px; justify-content: space-between; padding: 10px 14px; background: #eaf2ed; border-radius:var(--radius-panel); margin-bottom: 19px; color: #4f7161; font-size: 12px; }
.student-catalog .sc-clear { font-size:12px; min-height: 34px; padding: 6px 10px; white-space: nowrap; }
@media (max-width: 1050px) { .sc-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
  .sc-category-nav { gap: 6px; padding-bottom: 17px; }
  .student-catalog .sc-nav-button, .student-catalog-navigation .sc-nav-button { font-size:12px; padding: 7px 10px; min-height: 36px; }
  .sc-section { border-radius:var(--radius-panel); margin-bottom: 16px; }
  .sc-section-heading { padding: 16px 14px 13px; flex-wrap: wrap; gap: 9px; }
  .sc-category-mark { width: 37px; height: 39px; font-size: 20px; border-radius:var(--radius-panel); }
  .sc-category-copy { flex-basis: calc(100% - 50px); }
  .sc-category-copy h2 { font-size:14px; margin-bottom: 4px; }
  .sc-category-copy p { font-size:12px; line-height: 1.6; }
  .sc-count { padding-left: 47px; font-size:12px; }
  .sc-card-grid { grid-template-columns: 1fr; gap: 9px; padding: 0 13px; }
  .student-catalog .sc-card { min-height: 0; padding: 14px; }
  .sc-card-tags { margin-bottom: 8px; }
  .sc-card h3 { font-size:14px; margin-bottom: 6px; }
  .sc-card-description { font-size: 12px; line-height: 1.7; }
  .sc-card-action { margin-top: 12px; }
  .sc-group-footer { padding: 10px 15px 13px; gap: 7px; }
  .student-catalog .sc-expand { font-size: 12px; min-height: 37px; }
  .sc-future-note { font-size:12px; }
  .sc-group-search-row { flex-wrap: wrap; padding: 0 14px 13px; gap: 7px; }
  .student-catalog .sc-local-search { width: 100%; font-size:14px; }
  .sc-filter-count { font-size:12px; }
  .sc-reserved-copy { padding: 0 15px 16px; font-size:12px; }
  .sc-query-summary { font-size:12px; line-height: 1.6; padding: 9px 11px; gap: 8px; }
}
.simple-demo .student-catalog{--sc-ink:var(--ink);--sc-muted:var(--muted);--sc-line:var(--line)}
.simple-demo .sf-scope-note{color:var(--muted);margin:0 0 24px;font-size:14px}
.simple-demo .sc-category-nav{gap:8px;padding:0 0 16px}
.simple-demo .sc-nav-button{min-width:112px;border-radius:var(--radius-control);background:white;border:1px solid var(--line);font-size:14px;padding:8px 24px;color:var(--ink)}
.simple-demo .sc-nav-button[aria-pressed=true]{background:var(--selected);border:2px solid var(--accent-line);padding:7px 23px;color:var(--ink)}
.simple-demo .sc-nav-button[aria-pressed=true]::before{content:'✓ ';font-weight:600}
.simple-demo .sf-topic{padding:0;margin:0 0 16px;border:1px solid var(--line);border-radius:var(--radius-panel);background:white}
.simple-demo .sf-topic>.sc-section-heading{display:flex;align-items:center;padding:16px;gap:16px;margin:0;list-style:none;font-weight:600}
.simple-demo .sf-topic>.sc-section-heading::after{content:'＋';font-size:14px;font-weight:400}
.simple-demo .sf-topic[open]>.sc-section-heading::after{content:'−'}
.simple-demo .sf-topic summary::-webkit-details-marker{display:none}
.simple-demo .sc-category-mark{width:40px;height:40px;border-radius:var(--radius-control);background:#f0f0ee;color:var(--muted);font:14px inherit}
.simple-demo .sc-category-copy{font-size:14px;color:var(--ink)}
.simple-demo .sc-count{color:var(--muted);font-size:12px}
.simple-demo .sf-family{margin:0;padding:0;border-color:var(--line)}
.simple-demo .sf-family>summary{padding:16px 24px;font-size:14px;display:flex;align-items:baseline;justify-content:space-between;gap:16px;list-style:none}
.simple-demo .sf-family>summary::before{content:'›';color:var(--muted)}
.simple-demo .sf-family[open]>summary::before{content:'⌄'}
.simple-demo .sf-family>summary strong{flex:1;font-weight:600;white-space:normal;overflow-wrap:anywhere}
.simple-demo .sf-family>summary:hover{background:#f5f5f3}
.simple-demo .sf-family-count{margin:0;color:var(--muted);font-size:12px;white-space:nowrap}
.simple-demo .sf-family-content{padding:0 24px 16px;font-size:14px}
.simple-demo .sf-family-content>p{color:var(--muted)}
.simple-demo .sf-preset{margin:16px 0 0;padding-top:12px;border-color:var(--line)}
.simple-demo .sf-preset>summary{font-weight:600;font-size:14px;list-style:disclosure-closed}
.simple-demo .sf-preset[open]>summary{list-style:disclosure-open}
.simple-demo .sf-case{background:var(--surface);border-color:var(--line);border-radius:var(--radius-control);padding:12px 16px;margin:8px 0;min-height:0}
.simple-demo .sf-case p{font-size:12px;color:var(--muted);margin:4px 0;font-weight:400}
.simple-demo .sf-case:hover:not(:disabled){background:#f5f5f3;border-color:var(--input-line)}
.simple-demo .sf-case .sc-card-action{color:var(--link);font-size:12px;text-decoration:underline}
.simple-demo .sf-requirements{color:var(--muted);font-size:12px}
.simple-demo .sc-empty{border:1px solid var(--line);border-radius:var(--radius-panel);background:white;padding:24px;font-size:14px}
.simple-demo .sc-empty button{margin-top:12px}

.simple-demo.precision-workbench #library.library{max-width:1540px;margin:0 auto;padding:20px 28px 44px}
.simple-demo.precision-workbench #library .library-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 22px;background:linear-gradient(135deg,#ffffff 0%,#f8fafc 100%);border:1px solid #e2e8f0;border-radius:var(--radius-panel);box-shadow:none;}
.simple-demo.precision-workbench #library h1{font-size:22px;font-weight:700;letter-spacing:-.01em;color:#0f172a;margin:0 0 4px}
.simple-demo.precision-workbench #library .intro{font-size:12px;color:#475569;margin:0}
.simple-demo.precision-workbench #library #freeBuildNav{min-height:38px;padding:8px 18px;border-radius:var(--radius-panel);background:#2563eb;border:1px solid #1d4ed8;color:#fff;font-size:12px;font-weight:600;box-shadow:none;}
.simple-demo.precision-workbench #library #freeBuildNav:hover{background:#1d4ed8}
.simple-demo.precision-workbench #library .sn-library-toolbar{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;padding:12px 0;margin:8px 0 0;border-bottom:1px solid #e2e8f0;z-index:8;background:rgba(248,250,252,.95);backdrop-filter:blur(8px)}
.simple-demo.precision-workbench #library .student-catalog-navigation{order:0;flex:none}
.simple-demo.precision-workbench #library .student-catalog-navigation .sc-category-nav{padding:0;margin:0;gap:8px;display:flex;flex-wrap:wrap}
.simple-demo.precision-workbench #library .student-catalog-navigation .sc-nav-button{min-height:38px;padding:6px 14px;font-size:13.5px;font-weight:600;border-radius:var(--radius-panel);background:#fff;border:1px solid #cbd5e1;color:#334155;display:inline-flex;align-items:center;gap:7px;transition:all .14s ease;box-shadow:none;}
.simple-demo.precision-workbench #library .student-catalog-navigation .sc-nav-button:hover{background:#f8fafc;border-color:#94a3b8;color:#0f172a}
.simple-demo.precision-workbench #library .student-catalog-navigation .sc-nav-button .sc-nav-sub{font-size:12px;font-weight:500;color:#64748b;padding:1px 7px;border-radius:999px;background:#f1f5f9}
.simple-demo.precision-workbench #library .student-catalog-navigation .sc-nav-button[aria-pressed=true]{background:#eff6ff;border:1.5px solid #2563eb;color:#1d4ed8;box-shadow:none;}
.simple-demo.precision-workbench #library .student-catalog-navigation .sc-nav-button[aria-pressed=true]::before{content:'●';font-size:9px;margin-right:1px;color:#2563eb}
.simple-demo.precision-workbench #library .student-catalog-navigation .sc-nav-button[aria-pressed=true] .sc-nav-sub{background:#dbeafe;color:#1e40af}
.simple-demo.precision-workbench #library .search-row{order:1;display:flex;align-items:center;justify-content:flex-end;flex:1;gap:12px;margin:0}
.simple-demo.precision-workbench #library .search-row input{min-height:38px;padding:7px 14px;width:100%;max-width:420px;border-radius:var(--radius-panel);border:1px solid #cbd5e1;background:#fff;font-size:12px;color:#0f172a}
.simple-demo.precision-workbench #library .search-row input:focus{outline:none;border-color:#2563eb;box-shadow:none;}
.simple-demo.precision-workbench #library .local-badge{flex:none;font-size:11.5px;white-space:nowrap;padding:5px 11px;border-radius:999px;background:#ecfdf5;border:1px solid #a7f3d0;color:#047857;font-weight:600}

.simple-demo.precision-workbench #library .sf-catalog{display:grid;grid-template-columns:268px minmax(0,1fr);gap:16px 22px;padding-top:12px}
.simple-demo.precision-workbench #library .sf-featured-strip{grid-column:1/-1;margin:0;padding:12px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:var(--radius-panel);box-shadow:none;}
.simple-demo.precision-workbench #library .sf-featured-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;flex-wrap:wrap}
.simple-demo.precision-workbench #library .sf-featured-badge{font-size:12px;font-weight:700;color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;padding:2px 9px;border-radius:6px}
.simple-demo.precision-workbench #library .sf-featured-note{font-size:12px;color:#64748b}
.simple-demo.precision-workbench #library .sf-featured-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.simple-demo.precision-workbench #library .sf-featured-chip{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px;border-radius:var(--radius-panel);background:#f8fafc;border:1px solid #e2e8f0;text-align:left;cursor:pointer;transition:all .14s ease}
.simple-demo.precision-workbench #library .sf-featured-chip:hover{background:#eff6ff;border-color:#93c5fd;transform:translateY(-1px)}
.simple-demo.precision-workbench #library .sf-featured-chip.is-active{background:#eff6ff;border-color:#2563eb;box-shadow:none;}
.simple-demo.precision-workbench #library .sf-featured-code{font-family:var(--mono,monospace);font-size:10.5px;font-weight:700;color:#1d4ed8;background:#dbeafe;padding:1px 6px;border-radius:4px}
.simple-demo.precision-workbench #library .sf-featured-label{font-size:12px;font-weight:700;color:#0f172a;line-height:1.35}
.simple-demo.precision-workbench #library .sf-featured-desc{font-size:12px;color:#64748b;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}

.simple-demo.precision-workbench #library .sf-topic-nav{display:flex;flex-direction:column;gap:4px;align-self:start;position:sticky;top:72px;background:#fff;border:1px solid #e2e8f0;border-radius:var(--radius-panel);padding:10px}
.simple-demo.precision-workbench #library .sf-topic-nav-header{font-size:12px;font-weight:700;letter-spacing:.03em;color:#64748b;padding:2px 8px 6px;border-bottom:1px solid #f1f5f9;margin-bottom:2px}
.simple-demo.precision-workbench #library .sf-topic-nav button.sf-topic-btn{display:flex;flex-direction:column;align-items:stretch;gap:3px;text-align:left;padding:8px 10px;border:1px solid transparent;border-radius:8px;background:transparent;cursor:pointer;transition:all .12s ease;box-shadow:none;}
.simple-demo.precision-workbench #library .sf-topic-nav button.sf-topic-btn:hover{background:#f8fafc;border-color:#e2e8f0}
.simple-demo.precision-workbench #library .sf-topic-btn-top{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%}
.simple-demo.precision-workbench #library .sf-topic-code{font-size:10.5px;font-weight:700;color:#475569;background:#f1f5f9;padding:1px 6px;border-radius:4px;font-family:var(--mono,monospace)}
.simple-demo.precision-workbench #library .sf-topic-count{font-size:10.5px;color:#64748b;font-weight:600}
.simple-demo.precision-workbench #library .sf-topic-title{font-size:12px;font-weight:700;color:#0f172a;line-height:1.35;display:block}
.simple-demo.precision-workbench #library .sf-topic-sub{font-size:12px;color:#64748b;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.simple-demo.precision-workbench #library .sf-topic-nav button.sf-topic-btn[aria-pressed=true]{background:#eff6ff;border-color:#93c5fd;box-shadow:none;color:#1e3a8a}
.simple-demo.precision-workbench #library .sf-topic-nav button.sf-topic-btn[aria-pressed=true] .sf-topic-code{background:#2563eb;color:#fff}
.simple-demo.precision-workbench #library .sf-topic-nav button.sf-topic-btn[aria-pressed=true] .sf-topic-title{color:#1d4ed8}

.simple-demo.precision-workbench #library .sf-results{min-width:0;display:flex;flex-direction:column;gap:14px}
.simple-demo.precision-workbench #library .sf-chapter-banner{background:#fff;border:1px solid #e2e8f0;border-radius:var(--radius-panel);padding:14px 18px;display:flex;flex-direction:column;gap:8px;box-shadow:none;}
.simple-demo.precision-workbench #library .sf-chapter-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.simple-demo.precision-workbench #library .sf-chapter-badge{font-size:11.5px;font-weight:700;color:#1d4ed8;background:#dbeafe;padding:3px 9px;border-radius:6px;font-family:var(--mono,monospace)}
.simple-demo.precision-workbench #library .sf-chapter-heading{font-size:14px;font-weight:700;color:#0f172a;margin:0}
.simple-demo.precision-workbench #library .sf-chapter-stats{margin-left:auto;font-size:12px;font-weight:600;color:#475569;background:#f1f5f9;padding:3px 10px;border-radius:999px}
.simple-demo.precision-workbench #library .sf-toggle-all,.simple-demo.precision-workbench #library .sc-clear{min-height:30px;padding:4px 11px;font-size:12px;font-weight:600;border-radius:7px;background:#f8fafc;border:1px solid #cbd5e1;color:#334155}
.simple-demo.precision-workbench #library .sf-toggle-all:hover,.simple-demo.precision-workbench #library .sc-clear:hover{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}
.simple-demo.precision-workbench #library .sf-scope-note{font-size:12.5px;margin:0;color:#475569;line-height:1.5}
.simple-demo.precision-workbench #library .sf-family-jump-bar{display:flex;flex-wrap:wrap;gap:6px;padding-top:6px;border-top:1px dashed #e2e8f0}
.simple-demo.precision-workbench #library .sf-family-jump-pill{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:3px 9px;border-radius:6px;background:#f8fafc;border:1px solid #cbd5e1;font-size:11.5px;color:#334155;cursor:pointer;transition:all .12s ease}
.simple-demo.precision-workbench #library .sf-family-jump-pill:hover,.simple-demo.precision-workbench #library .sf-family-jump-pill.is-active{background:#eff6ff;border-color:#60a5fa;color:#1d4ed8}
.simple-demo.precision-workbench #library .sf-jump-id{font-family:var(--mono,monospace);font-weight:700;color:#2563eb;font-size:12px}

.simple-demo.precision-workbench #library .sf-family{border:1px solid #e2e8f0;border-radius:var(--radius-panel);margin:0;padding:0;background:#fff;box-shadow:none;overflow:hidden}
.simple-demo.precision-workbench #library .sf-family.is-highlighted{border-color:#2563eb;box-shadow:none;}
.simple-demo.precision-workbench #library .sf-family>summary.sf-family-summary{padding:12px 16px;gap:12px;min-height:50px;font-size:14px;background:#f8fafc;border-bottom:1px solid transparent;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}
.simple-demo.precision-workbench #library .sf-family[open]>summary.sf-family-summary{border-bottom-color:#e2e8f0}
.simple-demo.precision-workbench #library .sf-family>summary.sf-family-summary:hover{background:#f1f5f9}
.simple-demo.precision-workbench #library .sf-family-title-group{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.simple-demo.precision-workbench #library .sf-family-id-badge{font-family:var(--mono,monospace);font-size:12px;font-weight:700;color:#fff;background:#1e40af;padding:3px 8px;border-radius:6px;flex:none}
.simple-demo.precision-workbench #library .sf-family-heading-stack{display:flex;flex-direction:column;gap:2px;min-width:0}
.simple-demo.precision-workbench #library .sf-family-name{font-size:14px;font-weight:700;color:#0f172a;line-height:1.35}
.simple-demo.precision-workbench #library .sf-family-mainview{font-size:11.5px;color:#64748b;font-weight:500;line-height:1.35}
.simple-demo.precision-workbench #library .sf-family-meta-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.simple-demo.precision-workbench #library .sf-family-view-pill{font-size:12px;color:#0f766e;background:#f0fdfa;border:1px solid #99f6e4;padding:2px 8px;border-radius:999px;font-weight:500}
.simple-demo.precision-workbench #library .sf-family-view-pill.is-chart{color:#4338ca;background:#eef2ff;border-color:#c7d2fe}
.simple-demo.precision-workbench #library .sf-family-count{margin:0;color:#475569;font-size:11.5px;font-weight:600;background:#e2e8f0;padding:2px 8px;border-radius:999px}
.simple-demo.precision-workbench #library .sf-family-content{padding:12px 16px 16px}
.simple-demo.precision-workbench #library .sf-presets-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;align-items:start}
.simple-demo.precision-workbench #library .sf-preset{margin:0;padding:0;border:0;min-width:0}
.simple-demo.precision-workbench #library .sf-preset.is-multi-case{grid-column:1/-1;margin-bottom:4px}
.simple-demo.precision-workbench #library .sf-preset.is-single-case .sf-case-grid{grid-template-columns:1fr}
.simple-demo.precision-workbench #library .sf-preset-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:2px 0 6px}
.simple-demo.precision-workbench #library .sf-preset h4{font-size:12.5px;margin:0;color:#334155;font-weight:700;display:flex;align-items:center;gap:6px}
.simple-demo.precision-workbench #library .sf-preset h4::before{content:'';width:3px;height:12px;border-radius:2px;background:#2563eb;display:inline-block}
.simple-demo.precision-workbench #library .sf-preset-count{font-size:12px;color:#64748b}

.simple-demo.precision-workbench #library .sf-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.simple-demo.precision-workbench #library .sf-case-row{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:11px 14px;min-height:68px;text-align:left;border:1px solid #e2e8f0;border-radius:var(--radius-panel);background:#fff;transition:all .14s ease;cursor:pointer}
.simple-demo.precision-workbench #library .sf-case-row.is-core-case{background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%)}
.simple-demo.precision-workbench #library .sf-case-row:hover:not(:disabled){background:#eff6ff;border-color:#60a5fa;box-shadow:none;transform:translateY(-1px)}
.simple-demo.precision-workbench #library .sf-case-copy{min-width:0;flex:1}
.simple-demo.precision-workbench #library .sf-case-title-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.simple-demo.precision-workbench #library .sf-case-copy strong{font-size:13.5px;font-weight:700;color:#0f172a;line-height:1.35}
.simple-demo.precision-workbench #library .sf-case-badge{font-size:12px;font-weight:700;color:#0369a1;background:#e0f2fe;padding:1px 6px;border-radius:4px}
.simple-demo.precision-workbench #library .sf-case-badge.is-sub{color:#475569;background:#f1f5f9}
.simple-demo.precision-workbench #library .sf-case-copy small{font-size:12px;color:#475569;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5;margin-top:4px}
.simple-demo.precision-workbench #library .sf-case-open{font-size:12px;font-weight:600;flex:none;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;padding:5px 10px;border-radius:6px;transition:all .12s ease}
.simple-demo.precision-workbench #library .sf-case-row:hover:not(:disabled) .sf-case-open{background:#2563eb;border-color:#2563eb;color:#fff}

.simple-demo.precision-workbench #library .sf-more-cases{margin-top:8px;border:1px dashed #cbd5e1;border-radius:8px;padding:6px 10px;background:#f8fafc}
.simple-demo.precision-workbench #library .sf-more-cases>summary{font-size:12px;font-weight:600;color:#475569;cursor:pointer;padding:2px 4px;min-height:26px}
.simple-demo.precision-workbench #library .sf-more-cases[open]>summary{margin-bottom:8px;color:#1e40af}
.simple-demo.precision-workbench #library .sf-requirements{border-top:1px solid #f1f5f9;margin:10px 0 0;padding:8px 0 0;font-size:12px}
.simple-demo.precision-workbench #library .sf-requirements summary{font-size:12px;color:#64748b;font-weight:500;min-height:24px}
.simple-demo.precision-workbench #library .sf-requirements p{margin:4px 0;line-height:1.6}
.simple-demo.precision-workbench #library .sf-result-topic{font-size:14px;font-weight:700;margin:14px 0 6px;color:#0f172a}
.simple-demo.precision-workbench #library #openSavedHome{margin-top:16px;font-size:12px}
@media(max-width:1180px){.simple-demo.precision-workbench #library .sf-featured-list{grid-template-columns:repeat(3,minmax(0,1fr))}.simple-demo.precision-workbench #library .sf-case-grid{grid-template-columns:1fr}}
@media(max-width:1000px){.simple-demo.precision-workbench #library .local-badge{display:none}.simple-demo.precision-workbench #library .sf-catalog{grid-template-columns:210px minmax(0,1fr);gap:16px}}
@media(max-width:720px){.simple-demo.precision-workbench #library.library{padding:16px}.simple-demo.precision-workbench #library .sn-library-toolbar{flex-wrap:wrap;gap:8px}.simple-demo.precision-workbench #library .search-row{min-width:100%}.simple-demo.precision-workbench #library .sf-featured-list{grid-template-columns:repeat(2,minmax(0,1fr))}.simple-demo.precision-workbench #library .sf-catalog{grid-template-columns:1fr}.simple-demo.precision-workbench #library .sf-topic-nav{position:static;display:flex;flex-direction:row;overflow:auto}.simple-demo.precision-workbench #library .sf-topic-nav button{white-space:nowrap}.simple-demo.precision-workbench #library .sf-case-row{gap:10px}.simple-demo.precision-workbench #library .sf-family-count{font-size:12px}}
/* Shared two-line model identity. Number means chapter · model, never list position. */
.model-badge{--badge-fill:var(--selected);--badge-ink:var(--accent-line);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:none;width:62px;min-height:58px;padding:7px 5px;border:1px solid color-mix(in srgb,var(--badge-ink) 28%,var(--line));border-radius:var(--radius-panel);background:var(--badge-fill);color:var(--badge-ink);line-height:1.15;white-space:nowrap;text-align:center}
.model-badge[data-tone=electric]{--badge-fill:color-mix(in srgb,var(--link) 7%,var(--surface));--badge-ink:var(--link)}
.model-badge[data-tone=experiment]{--badge-fill:color-mix(in srgb,var(--success) 7%,var(--surface));--badge-ink:var(--success)}
.model-badge[data-tone=supplement]{--badge-fill:var(--page);--badge-ink:var(--muted)}
.model-badge-area{font-size:14px;font-weight:700;letter-spacing:.03em}.model-badge-number{font-size:14px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:.025em}
.model-badge.is-compact{width:49px;min-height:47px;padding:5px 3px;border-radius:8px;gap:3px}.model-badge.is-compact .model-badge-area{font-size:12px}.model-badge.is-compact .model-badge-number{font-size:12px}
.simple-demo.precision-workbench #library .sf-featured-chip{display:grid;grid-template-columns:49px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;row-gap:3px;align-items:center;min-height:75px;padding:10px}
.simple-demo.precision-workbench #library .sf-featured-chip>.model-badge{grid-column:1;grid-row:1/3}.simple-demo.precision-workbench #library .sf-featured-label{grid-column:2;margin:0;line-height:1.35}.simple-demo.precision-workbench #library .sf-featured-desc{grid-column:2;margin:0;line-height:1.35}
.simple-demo.precision-workbench #library .sf-case-entry{display:flex;align-items:stretch;min-width:0;gap:5px}.simple-demo.precision-workbench #library .sf-case-entry>.sf-case-row{flex:1;min-width:0}.simple-demo.precision-workbench #library .sf-case-details{flex:none;padding:6px 8px;color:var(--link);background:var(--surface);border:1px solid var(--line);font-size:12px;border-radius:6px}
.simple-demo.precision-workbench #library .sf-case-details:hover{background:var(--page)}

/* Classroom directory on the student home page. */
.simple-demo.precision-workbench #library.classroom-library{max-width:1184px;padding:28px 28px 44px}
.classroom-heading,.classroom-directory-heading{display:flex;align-items:center;justify-content:space-between;gap:12px 24px}
.simple-demo.precision-workbench #library.classroom-library h1{font-size:26px;color:var(--ink);margin:0}
.simple-demo.precision-workbench #library.classroom-library .intro{font-size:14px;color:var(--muted);margin:4px 0 0}
.simple-demo.precision-workbench #library.classroom-library #openSavedHome{margin:0;flex:none}
.classroom-directory-heading h2{font-size:18px;color:var(--ink)}
.classroom-directory-heading{margin:22px 0 12px}
.classroom-directory-heading input{width:min(100%,340px);min-height:40px;padding-inline:12px}
.classroom-library #serviceStatus{margin:8px 0;color:var(--muted)}
.classroom-library #serviceStatus.error{color:var(--error)}
.classroom-library #serviceStatus[data-preparing]{position:sticky;top:0;z-index:1;padding:8px 12px;background:var(--surface-warm);border:1px solid var(--line);border-radius:var(--radius-control)}
.classroom-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.classroom-filters button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:5px 11px}
.classroom-filter-count,.classroom-status{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.classroom-status:not(:empty){margin:0 0 12px}
.classroom-subject{margin:0 0 20px;padding:0 14px 5px;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface)}
.classroom-subject h3{font-size:18px;padding:12px 0 7px}
.classroom-chapter+.classroom-chapter{border-top:1px solid var(--line-subtle);margin-top:7px;padding-top:8px}
.classroom-chapter h4{margin:0 0 4px;color:var(--muted)}
.classroom-families{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:8px}
.classroom-family{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;min-width:0;min-height:48px;padding:6px 8px;border:1px solid var(--line-subtle);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);text-decoration:none}
.classroom-family:hover{background:var(--selected);border-color:var(--accent-border)}
.classroom-family:focus-visible{outline:2px solid var(--accent-ink);outline-offset:-2px}
.classroom-family strong{font-weight:600;overflow-wrap:anywhere}
.classroom-arrow{color:var(--muted)}
.classroom-family .model-badge.is-compact{flex-direction:row;gap:4px;width:auto;min-height:0;padding:4px 5px;border-radius:var(--radius-control)}
.classroom-family .model-badge-area{display:none}
.classroom-family .model-badge:is([data-tone=experiment],[data-tone=supplement]) .model-badge-area{display:inline}
.classroom-state{font-size:12px;font-weight:400;color:var(--muted);white-space:nowrap}
.classroom-state.is-runnable{color:var(--success);font-weight:650}
.classroom-empty{padding:16px;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface)}
@media(max-width:700px){
  .simple-demo.precision-workbench #library.classroom-library{padding:16px 14px 32px}
  .simple-demo.precision-workbench #library.classroom-library h1{font-size:22px}
  .classroom-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px}
  .classroom-heading>div{display:contents}
  .classroom-heading h1{grid-column:1;grid-row:1}
  .classroom-heading .intro{grid-column:1/-1;grid-row:2}
  .classroom-heading #openSavedHome{grid-column:2;grid-row:1}
  .classroom-directory-heading{flex-wrap:wrap}
  .classroom-directory-heading input{width:100%;font-size:16px}
  .classroom-families{grid-template-columns:1fr}
  .classroom-filters button{min-height:40px;padding-inline:8px}
  .classroom-subject{padding-inline:9px}
}

.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;border-bottom:.5px solid var(--line);background:var(--surface)}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:650}.brand-mark{font:28px var(--font-math)}.brand small{display:block;font-weight:400}.app-header nav{display:flex;gap:8px}.library{max-width:1280px;margin:32px auto;padding:0 24px}
@media(max-width:719px){.app-header{padding:12px 16px}}
