/* Simply MBBS — front end, v4.

   What went wrong in v3 and is fixed here:
   - Night mode was unreadable. The settings :root block loaded after this
     file, tied the night selector on specificity, and won on order — so
     night flipped the text white while the backgrounds stayed light. Every
     night override below is html[data-smcc-theme="night"], which out-ranks
     :root no matter what loads last. Day is the default; night happens only
     when the reader presses the toggle.
   - The layout was capped too narrow everywhere. Shell is now fluid to
     1560px, pages run wide, and articles use the width properly: on big
     screens the table of contents docks as a sticky sidebar next to the
     text instead of squeezing everything into one skinny column.
   - Mobile overflowed. Horizontal scroll is clipped at the root, the chips
     become a swipe row, and tables scroll inside their own box. */

:root{
  /* Brand accents — the settings block may override these four + strong. */
  --smcc-violet:#7C6BF0;
  --smcc-deep:#4A38C8;
  --smcc-clinical:#0E9B84;
  --smcc-alert:#D8593B;
  --smcc-strong:#191634;

  /* Structural tokens — owned here, never by the settings block. */
  --smcc-paper:#FFFFFF;
  --smcc-wash:#F4F2FD;
  --smcc-card:#FFFFFF;
  --smcc-text:#191634;
  --smcc-muted:#5D5A78;
  --smcc-line:rgba(25,22,52,.13);
  --smcc-link:#4A38C8;
  --smcc-chipbg:#ECE8FC;
  --smcc-chiptx:#4A38C8;
  --smcc-shadow:0 1px 2px rgba(25,22,52,.05),0 16px 40px rgba(25,22,52,.08);

  --smcc-display:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;
  --smcc-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --smcc-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;

  --smcc-shell:min(1560px,94vw);
  --smcc-page:min(1180px,94vw);
  --smcc-read:76ch;
  --smcc-gut:clamp(16px,3.4vw,44px);
  --smcc-bar:0px;
}

/* Night — chosen by the reader, never by the OS. Higher specificity than
   any :root block, so the settings colours cannot half-apply. */
html[data-smcc-theme="night"]{
  --smcc-paper:#0F1119;
  --smcc-wash:#151827;
  --smcc-card:#171A28;
  --smcc-text:#EDEEF6;
  --smcc-muted:#A6A9C3;
  --smcc-line:rgba(237,238,246,.14);
  --smcc-link:#AB9FF8;
  --smcc-chipbg:rgba(124,107,240,.18);
  --smcc-chiptx:#BFB4FB;
  --smcc-strong:#0A0C13;
  --smcc-shadow:0 1px 2px rgba(0,0,0,.5),0 16px 40px rgba(0,0,0,.42);
  color-scheme:dark;
}

/* ---------- base (takeover only) ---------- */

.smcc-takeover{margin:0;background:var(--smcc-paper);color:var(--smcc-text);
  font-family:var(--smcc-body);font-size:17px;line-height:1.66;-webkit-font-smoothing:antialiased;
  overflow-x:clip}
.smcc-takeover *,.smcc-takeover *::before,.smcc-takeover *::after{box-sizing:border-box}
.smcc-takeover img{max-width:100%;height:auto}
.smcc-main{display:block;min-height:50vh}
.admin-bar{--smcc-bar:32px}
@media (max-width:782px){.admin-bar{--smcc-bar:46px}}

.smcc-shell{width:100%;max-width:var(--smcc-shell);margin-inline:auto;padding-inline:var(--smcc-gut)}
.smcc-shell--page{max-width:var(--smcc-page)}
.smcc-shell--read{max-width:var(--smcc-page)}

.smcc-skip{position:absolute;left:-9999px}
.smcc-skip:focus{left:12px;top:12px;z-index:120;background:var(--smcc-card);padding:10px 16px;
  border-radius:10px;box-shadow:var(--smcc-shadow)}

.smcc-mono{font-family:var(--smcc-mono);font-size:.71rem;letter-spacing:.11em;text-transform:uppercase;font-weight:600}
.smcc-dim{color:var(--smcc-muted)}
.smcc-center{text-align:center}
.smcc-eyebrow{color:var(--smcc-violet);margin:0 0 10px}
.smcc-eyebrow a{color:inherit;text-decoration:none}
.smcc-lede{font-size:1.13rem;color:var(--smcc-muted)}
.smcc-site :focus-visible{outline:3px solid var(--smcc-violet);outline-offset:3px;border-radius:6px}

/* ---------- buttons ---------- */

.smcc-btn,
.smcc-site .smcc-btn,
.smcc-prose a.smcc-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  min-height:46px;padding:0 1.3em;
  font-family:var(--smcc-display);font-size:.94rem;font-weight:600;line-height:1;
  text-align:center;text-decoration:none;white-space:nowrap;
  border:1.5px solid var(--smcc-line);border-radius:11px;
  background:var(--smcc-card);color:var(--smcc-text);
  cursor:pointer;box-shadow:none;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
.smcc-btn:hover{border-color:var(--smcc-violet);color:var(--smcc-link);transform:translateY(-1px);text-decoration:none}
.smcc-btn--solid,.smcc-site .smcc-btn--solid{background:var(--smcc-deep);border-color:var(--smcc-deep);color:#fff;
  box-shadow:0 1px 2px rgba(74,56,200,.25),0 8px 22px rgba(74,56,200,.20)}
.smcc-btn--solid:hover{filter:brightness(1.08);color:#fff;border-color:var(--smcc-deep)}
.smcc-btn--sm{min-height:38px;padding:0 .95em;font-size:.85rem;border-radius:9px}

/* ---------- header ---------- */

.smcc-header{background:var(--smcc-card);border-bottom:1px solid var(--smcc-line);z-index:60;position:relative}
.smcc-header.is-sticky{position:sticky;top:var(--smcc-bar);box-shadow:0 1px 0 var(--smcc-line),0 8px 24px rgba(25,22,52,.05)}
html[data-smcc-theme="night"] .smcc-header.is-sticky{box-shadow:0 1px 0 var(--smcc-line),0 8px 24px rgba(0,0,0,.35)}
.smcc-header__in{display:flex;align-items:center;gap:16px;min-height:72px}

.smcc-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;margin-right:auto;min-width:0}
.smcc-brand__mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;flex:0 0 42px;
  background:linear-gradient(135deg,var(--smcc-violet),var(--smcc-deep));color:#fff;
  font-family:var(--smcc-display);font-weight:800;font-size:1rem}
.smcc-brand__img{width:42px;height:42px;object-fit:contain;border-radius:10px;flex:0 0 42px}
.smcc-brand__txt{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.smcc-brand__txt strong{font-family:var(--smcc-display);font-weight:700;font-size:1.06rem;color:var(--smcc-text)}
.smcc-brand__txt em{font-style:normal;font-size:.73rem;color:var(--smcc-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.smcc-nav{display:flex;align-items:center;gap:20px}
.smcc-nav__list{display:flex;align-items:center;gap:22px;list-style:none;margin:0;padding:0}
.smcc-nav__list a{text-decoration:none;color:var(--smcc-text);font-weight:500;font-size:.95rem;
  position:relative;padding-block:8px;display:inline-block}
.smcc-nav__list a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:2px;
  background:var(--smcc-violet);transition:right .22s ease}
.smcc-nav__list a:hover::after,.smcc-nav__list .current-menu-item>a::after{right:0}

/* The submenu control is injected by JavaScript into every dropdown parent.
   It is hidden here, before any media query, so that an unstyled <button>
   can never render — that is what drew the yellow blocks in the desktop
   header. The mobile query later in this file re-shows it with the same
   selector, so source order decides and there is no specificity race. */
.smcc-nav__list .smcc-subtoggle{display:none}

.smcc-burger{display:none;flex-direction:column;justify-content:center;gap:5px;
  width:46px;height:46px;padding:0 11px;cursor:pointer;border-radius:11px;
  border:1.5px solid var(--smcc-line);background:var(--smcc-card);flex:0 0 auto}
.smcc-burger span{display:block;height:2px;background:var(--smcc-text);border-radius:2px;
  transition:transform .2s ease,opacity .2s ease}

/* Theme toggle — one control, two icons, CSS decides which shows. */
.smcc-themetoggle{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:11px;
  border:1.5px solid var(--smcc-line);background:var(--smcc-card);color:var(--smcc-text);
  cursor:pointer;flex:0 0 auto;padding:0;transition:border-color .16s ease,color .16s ease}
.smcc-themetoggle:hover{border-color:var(--smcc-violet);color:var(--smcc-link)}
.smcc-themetoggle svg{grid-area:1/1}
.smcc-ico-sun{display:none}
html[data-smcc-theme="night"] .smcc-ico-sun{display:block}
html[data-smcc-theme="night"] .smcc-ico-moon{display:none}

/* ---------- hero ---------- */

.smcc-hero{background:var(--smcc-wash);padding:clamp(48px,6.5vw,84px) var(--smcc-gut);
  text-align:center;border-bottom:1px solid var(--smcc-line)}
.smcc-hero>*{max-width:900px;margin-inline:auto}
.smcc-hero__title{font-family:var(--smcc-display);font-weight:800;
  font-size:clamp(1.9rem,4.5vw,3.3rem);line-height:1.12;letter-spacing:-.022em;
  margin:0 0 18px;color:var(--smcc-text)}
.smcc-hero__sub{font-size:clamp(1rem,1.5vw,1.12rem);color:var(--smcc-muted);margin:0 auto 28px;max-width:640px}

.smcc-search{display:flex;gap:10px;max-width:640px;margin-inline:auto}
.smcc-search input{flex:1;min-width:0;font-family:var(--smcc-body);font-size:16px;
  padding:.9em 1.15em;border:1.5px solid var(--smcc-line);border-radius:12px;
  background:var(--smcc-card);color:var(--smcc-text)}
.smcc-search input::placeholder{color:var(--smcc-muted)}
.smcc-search input:focus{border-color:var(--smcc-violet);outline:none}

.smcc-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:22px auto 0;padding:0;list-style:none}
.smcc-chips a{display:inline-block;padding:8px 14px;border-radius:999px;
  background:var(--smcc-chipbg);color:var(--smcc-chiptx);text-decoration:none;
  font-family:var(--smcc-mono);font-size:.69rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;
  border:1px solid transparent;transition:border-color .16s ease,transform .16s ease}
.smcc-chips a:hover{border-color:var(--smcc-violet);transform:translateY(-1px)}

/* ---------- sections ---------- */

.smcc-section{padding:clamp(46px,5.5vw,76px) var(--smcc-gut)}
.smcc-section>*{max-width:var(--smcc-shell);margin-inline:auto}
.smcc-section h2{font-family:var(--smcc-display);font-weight:700;
  font-size:clamp(1.5rem,3vw,2.15rem);letter-spacing:-.018em;margin:0 0 12px;color:var(--smcc-text)}
.smcc-section--tint{background:var(--smcc-wash)}

/* ---------- professional-year rail ---------- */

.smcc-rail{display:grid;gap:18px;margin-top:28px}
.smcc-rail__year{border:1px solid var(--smcc-line);border-radius:16px;overflow:hidden;background:var(--smcc-card)}
.smcc-rail__head{display:flex;align-items:baseline;gap:14px;padding:16px 22px;background:var(--smcc-strong);color:#fff}
.smcc-rail__head h3{font-family:var(--smcc-display);font-weight:700;font-size:1.05rem;margin:0;color:#fff}
.smcc-rail__head span{font-family:var(--smcc-mono);font-size:.67rem;letter-spacing:.11em;text-transform:uppercase;opacity:.72}
.smcc-rail__subjects{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1px;background:var(--smcc-line)}
.smcc-rail__tile{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:3px 14px;
  background:var(--smcc-card);padding:19px 22px;text-decoration:none;color:inherit;
  position:relative;transition:background .18s ease}
.smcc-rail__tile::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--smcc-violet);transform:scaleY(0);transform-origin:top;transition:transform .22s ease}
.smcc-rail__tile:hover{background:var(--smcc-wash)}
.smcc-rail__tile:hover::before{transform:scaleY(1)}
.smcc-code{grid-row:1/3;align-self:center;font-family:var(--smcc-mono);font-size:.65rem;font-weight:600;
  letter-spacing:.07em;color:var(--smcc-chiptx);background:var(--smcc-chipbg);
  padding:8px 9px;border-radius:7px;min-width:64px;text-align:center}
.smcc-rail__name{font-family:var(--smcc-display);font-weight:600;font-size:1.02rem;color:var(--smcc-text)}
.smcc-rail__count{font-family:var(--smcc-mono);font-size:.69rem;letter-spacing:.07em;color:var(--smcc-muted)}

/* ---------- cards ---------- */

.smcc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:26px;margin-top:28px}
.smcc-cards--3{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.smcc-card{display:flex;flex-direction:column;background:var(--smcc-card);
  border:1px solid var(--smcc-line);border-radius:16px;overflow:hidden;
  transition:transform .2s ease,box-shadow .2s ease}
.smcc-card:hover{transform:translateY(-3px);box-shadow:var(--smcc-shadow)}
.smcc-card__media{display:block;aspect-ratio:3/2;background:var(--smcc-wash);overflow:hidden}
.smcc-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.smcc-card__fallback{display:grid;place-items:center;width:100%;height:100%;
  background:linear-gradient(135deg,var(--smcc-violet),var(--smcc-deep));color:#fff;
  font-family:var(--smcc-display);font-weight:800;font-size:1.6rem}
.smcc-card__body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px}
.smcc-card__body .smcc-eyebrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0}
.smcc-tag{background:var(--smcc-chipbg);color:var(--smcc-chiptx);padding:4px 9px;border-radius:6px}
.smcc-card__title{font-family:var(--smcc-display);font-weight:600;font-size:1.08rem;line-height:1.35;margin:0}
.smcc-card__title a{text-decoration:none;color:var(--smcc-text)}
.smcc-card__title a:hover{color:var(--smcc-link)}
.smcc-card__desc{margin:0;font-size:.93rem;color:var(--smcc-muted)}

/* ---------- author ---------- */

.smcc-author{display:flex;gap:26px;align-items:flex-start;background:var(--smcc-wash);
  border-radius:18px;padding:clamp(22px,3vw,34px);margin:34px auto;max-width:var(--smcc-shell)}
.smcc-author__pic{flex:0 0 92px}
.smcc-author__pic img{width:92px;height:92px;border-radius:50%;object-fit:cover}
.smcc-author__pic span{display:grid;place-items:center;width:92px;height:92px;border-radius:50%;
  background:linear-gradient(135deg,var(--smcc-violet),var(--smcc-deep));color:#fff;
  font-family:var(--smcc-display);font-weight:800;font-size:1.8rem}
.smcc-author__body h3{font-family:var(--smcc-display);font-weight:700;font-size:1.24rem;margin:0 0 4px;color:var(--smcc-text)}
.smcc-author__role{margin:0 0 12px}
.smcc-author__body p{margin:0 0 12px;color:var(--smcc-text)}

/* ---------- article: wide screens get a sidebar TOC ---------- */

.smcc-article{padding:clamp(34px,4.5vw,54px) 0 72px}
.smcc-article__title{font-family:var(--smcc-display);font-weight:800;
  font-size:clamp(1.75rem,3.8vw,2.7rem);line-height:1.16;letter-spacing:-.022em;
  margin:0 0 14px;color:var(--smcc-text);max-width:24ch}
.smcc-article--page .smcc-article__title{max-width:none}
.smcc-byline{font-size:.93rem;color:var(--smcc-muted);margin:0 0 24px}
.smcc-article__hero{margin:0 0 30px;border-radius:16px;overflow:hidden;max-width:900px}
.smcc-article__hero img{width:100%;display:block}
.smcc-actions{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 28px}

.smcc-prose{font-size:1.05rem;line-height:1.76;color:var(--smcc-text)}
.smcc-flow>*{max-width:var(--smcc-read)}
.smcc-prose h2{font-family:var(--smcc-display);font-weight:700;font-size:clamp(1.3rem,2.3vw,1.55rem);
  letter-spacing:-.012em;margin:2.1em 0 .55em;padding-top:.5em;border-top:1px solid var(--smcc-line);
  scroll-margin-top:calc(var(--smcc-bar) + 92px);color:var(--smcc-text)}
.smcc-flow>h2:first-child{margin-top:.4em;border-top:none;padding-top:0}
.smcc-prose h3{font-family:var(--smcc-display);font-weight:600;font-size:1.14rem;margin:1.8em 0 .4em;color:var(--smcc-text)}
.smcc-prose p{margin:0 0 1.12em}
.smcc-prose ul,.smcc-prose ol{margin:0 0 1.3em;padding-left:1.3em}
.smcc-prose li{margin-bottom:.48em}
.smcc-prose a{color:var(--smcc-link);text-decoration-thickness:1px;text-underline-offset:2px}
.smcc-autolink{background:linear-gradient(transparent 62%,rgba(124,107,240,.26) 0)}

.smcc-table,.smcc-prose figure.wp-block-table{max-width:min(1000px,100%);overflow-x:auto;margin:0 0 1.5em;
  -webkit-overflow-scrolling:touch}
.smcc-prose table{width:100%;border-collapse:collapse;margin:0;font-size:.94rem}
.smcc-prose th,.smcc-prose td{border:1px solid var(--smcc-line);padding:11px 14px;text-align:left;vertical-align:top}
.smcc-prose thead th{background:var(--smcc-strong);color:#fff;font-family:var(--smcc-display);font-weight:600;font-size:.88rem}
.smcc-prose tbody th{background:var(--smcc-wash);font-weight:600;width:32%;color:var(--smcc-text)}

.smcc-callout{border-left:3px solid var(--smcc-clinical);background:rgba(14,155,132,.09);
  padding:15px 20px;border-radius:0 12px 12px 0;margin:1.6em 0}
.smcc-callout p{margin:0}
.smcc-callout--edit{border-left-color:var(--smcc-alert);background:rgba(216,89,59,.10)}

.smcc-toc{background:var(--smcc-wash);border-radius:14px;padding:20px 24px;margin:0 0 2.2em}
.smcc-toc .smcc-eyebrow{margin:0 0 10px}
.smcc-toc ol{margin:0;padding-left:1.2em;columns:2;column-gap:30px}
.smcc-toc li{margin-bottom:6px;font-size:.92rem;break-inside:avoid}
.smcc-toc a{text-decoration:none;color:var(--smcc-text)}
.smcc-toc a:hover{text-decoration:underline;color:var(--smcc-link)}

/* The wide-screen split: sticky contents on the left, text on the right.
   This is what uses a laptop's width without stretching lines to 200
   characters — the measure stays readable, the page stops looking like
   a phone view in the middle of a monitor. */
@media (min-width:1240px){
  .smcc-arti{display:grid;grid-template-columns:280px minmax(0,1fr);gap:56px;align-items:start}
  .smcc-arti>.smcc-toc{position:sticky;top:calc(var(--smcc-bar) + 96px);margin:0}
  .smcc-arti>.smcc-toc ol{columns:1}
  .smcc-flow{min-width:0}
  .smcc-flow>*{max-width:var(--smcc-read)}
  .smcc-flow>figure.wp-block-table{max-width:min(1000px,100%)}
}

.smcc-related{margin-top:58px;padding-top:32px;border-top:1px solid var(--smcc-line)}
.smcc-related__h{font-family:var(--smcc-display);font-weight:700;font-size:1.3rem;margin:0;color:var(--smcc-text)}

/* ---------- archives ---------- */

.smcc-archive__head{padding:clamp(36px,4.5vw,54px) 0 4px;max-width:900px}
.smcc-archive__head h1{font-family:var(--smcc-display);font-weight:800;
  font-size:clamp(1.7rem,3.4vw,2.4rem);letter-spacing:-.022em;margin:0 0 12px;color:var(--smcc-text)}
.smcc-archive__desc{color:var(--smcc-muted)}
.smcc-pagination{margin:46px 0 66px;text-align:center}
.smcc-pagination .page-numbers{display:inline-block;padding:.5em .9em;margin:0 3px;border-radius:9px;
  text-decoration:none;border:1px solid var(--smcc-line);color:var(--smcc-text);
  font-family:var(--smcc-mono);font-size:.8rem}
.smcc-pagination .current{background:var(--smcc-deep);border-color:var(--smcc-deep);color:#fff}
.smcc-empty{padding:72px 0;text-align:center}
.smcc-empty h1,.smcc-empty h2{font-family:var(--smcc-display);font-weight:700;color:var(--smcc-text)}

/* ---------- full index: two columns on wide screens ---------- */

.smcc-fullindex{margin-top:8px}
.smcc-fullindex__group{margin:0 0 42px;break-inside:avoid}
.smcc-fullindex h2{display:flex;align-items:center;gap:14px;font-family:var(--smcc-display);
  font-weight:700;font-size:1.28rem;margin:0 0 14px;padding-bottom:12px;
  border-bottom:2px solid var(--smcc-strong);color:var(--smcc-text)}
.smcc-fullindex ul{list-style:none;margin:0;padding:0}
.smcc-fullindex li{display:flex;justify-content:space-between;align-items:baseline;gap:18px;
  padding:11px 0;border-bottom:1px solid var(--smcc-line)}
.smcc-fullindex li a{text-decoration:none;font-weight:500;color:var(--smcc-text)}
.smcc-fullindex li a:hover{text-decoration:underline;color:var(--smcc-link)}
@media (min-width:1140px){
  .smcc-fullindex{columns:2;column-gap:64px}
}

/* ---------- pages & forms ---------- */

.smcc-page{padding:clamp(34px,4.5vw,52px) var(--smcc-gut) 68px;max-width:var(--smcc-page);margin-inline:auto}
.smcc-page--full{padding:0;max-width:none}
.smcc-article--page .smcc-prose h2{border-top:none;padding-top:0}
.smcc-article--page .smcc-flow>*{max-width:82ch}
.smcc-note{font-size:.9rem;color:var(--smcc-muted);border-top:1px solid var(--smcc-line);padding-top:16px;margin-top:32px}

.smcc-form{max-width:640px}
.smcc-form label{display:block;font-family:var(--smcc-mono);font-size:.7rem;letter-spacing:.1em;
  text-transform:uppercase;font-weight:600;margin-bottom:6px;color:var(--smcc-muted)}
.smcc-form input,.smcc-form textarea{width:100%;font-family:var(--smcc-body);font-size:16px;
  padding:.78em 1em;border:1.5px solid var(--smcc-line);border-radius:12px;
  background:var(--smcc-card);color:var(--smcc-text)}
.smcc-form input:focus,.smcc-form textarea:focus{border-color:var(--smcc-violet);outline:none}
.smcc-formnote{padding:14px 18px;border-radius:12px;font-weight:500}
.smcc-formnote--ok{background:rgba(14,155,132,.15);color:var(--smcc-clinical)}
.smcc-formnote--bad{background:rgba(216,89,59,.15);color:var(--smcc-alert)}

/* Two-column contact/info layouts built with core columns. */
.smcc-split{gap:clamp(28px,4vw,64px)}

/* ---------- footer ---------- */

.smcc-footer{background:var(--smcc-strong);color:rgba(255,255,255,.78);margin-top:72px}
.smcc-footer__grid{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:clamp(26px,4vw,56px);padding-block:54px}
.smcc-footer h3{font-family:var(--smcc-mono);font-size:.67rem;letter-spacing:.13em;text-transform:uppercase;
  color:#fff;margin:0 0 16px;font-weight:600}
.smcc-footer ul{list-style:none;margin:0;padding:0}
.smcc-footer li{margin-bottom:10px}
.smcc-footer a{color:rgba(255,255,255,.78);text-decoration:none;font-size:.94rem}
.smcc-footer a:hover{color:#fff;text-decoration:underline}
.smcc-footer__brand p{font-size:.94rem;margin:16px 0 10px;max-width:42ch}
.smcc-brand--light .smcc-brand__txt strong{color:#fff}
.smcc-brand--light .smcc-brand__txt em{color:rgba(255,255,255,.6)}
.smcc-footer .smcc-dim{color:rgba(255,255,255,.5)}
.smcc-footer__bar{border-top:1px solid rgba(255,255,255,.14);padding-block:20px}
.smcc-footer__bar .smcc-shell{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
.smcc-footer__bar p{margin:0;font-size:.84rem;max-width:66ch}

/* ---------- responsive ---------- */

@media (max-width:1080px){
  .smcc-footer__grid{grid-template-columns:1.6fr 1fr 1fr}
  .smcc-footer__brand{grid-column:1/-1}
}

@media (max-width:900px){
  .smcc-author{flex-direction:column;gap:18px}
  .smcc-toc ol{columns:1}
  .smcc-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
}

@media (max-width:820px){
  .smcc-burger{display:flex}
  .smcc-header__in{position:relative;flex-wrap:nowrap;gap:10px;min-height:62px}

  /* Full-height sliding panel rather than a dropdown that pushes the page
     around. The checkbox mechanism this replaces could not be closed by
     JavaScript, so the menu stayed open once opened. */
  .smcc-nav{position:fixed;inset:calc(var(--smcc-bar) + 62px) 0 0 auto;width:min(340px,86vw);
    background:var(--smcc-card);border-left:1px solid var(--smcc-line);
    flex-direction:column;align-items:stretch;gap:0;
    padding:14px var(--smcc-gut) 32px;overflow-y:auto;-webkit-overflow-scrolling:touch;
    display:flex;z-index:90;
    transform:translateX(100%);visibility:hidden;
    transition:transform .24s ease,visibility .24s;
    box-shadow:-18px 0 44px rgba(25,22,52,.14)}
  .smcc-nav.is-open{transform:translateX(0);visibility:visible}
  html[data-smcc-theme="night"] .smcc-nav{box-shadow:-18px 0 44px rgba(0,0,0,.5)}

  /* Backdrop, so a tap anywhere else closes it. */
  .smcc-navscrim{position:fixed;inset:0;z-index:85;background:rgba(15,17,25,.42);
    opacity:0;visibility:hidden;transition:opacity .24s ease,visibility .24s;border:0;padding:0;margin:0;
    width:100%;cursor:pointer}
  .smcc-navscrim.is-open{opacity:1;visibility:visible}
  body.smcc-navopen{overflow:hidden}

  .smcc-burger[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}
  .smcc-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
  .smcc-burger[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}

  .smcc-nav__list{flex-direction:column;align-items:stretch;gap:0;width:100%}
  .smcc-nav__list>li{border-bottom:1px solid var(--smcc-line)}
  .smcc-nav__list a{display:block;padding:15px 2px;font-size:1.02rem}
  .smcc-nav__list a::after{display:none}
  .smcc-nav__cta{margin-top:18px;width:100%}
  .smcc-brand__txt em{display:none}

  /* Submenus start CLOSED on mobile and get their own control. Leaving them
     all expanded turned a six-item menu into a twelve-item wall. */
  .smcc-nav__list .menu-item-has-children{position:relative}
  .smcc-nav__list .menu-item-has-children>a{padding-right:52px}
  .smcc-nav__list .menu-item-has-children>a::before{display:none}
  .smcc-nav__list .smcc-subtoggle{display:grid;position:absolute;top:4px;right:-6px;
    width:44px;height:46px;place-items:center;background:none;border:0;cursor:pointer;
    color:var(--smcc-muted);border-radius:10px;-webkit-appearance:none;appearance:none}
  .smcc-nav__list .smcc-subtoggle::after{content:"";width:8px;height:8px;margin-top:-3px;
    border-right:2px solid currentColor;border-bottom:2px solid currentColor;
    transform:rotate(45deg);transition:transform .2s ease}
  .smcc-nav__list .smcc-subtoggle[aria-expanded="true"]::after{transform:rotate(-135deg);margin-top:3px}
  .smcc-nav__list .sub-menu{position:static;transform:none;box-shadow:none;background:none;
    border:none;border-left:2px solid var(--smcc-line);border-radius:0;
    min-width:0;margin:0 0 12px;padding:0 0 0 16px;
    display:none;opacity:1;visibility:visible}
  .smcc-nav__list .menu-item-has-children.is-open>.sub-menu{display:block}
  .smcc-nav__list .sub-menu li{border-bottom:none}
  .smcc-nav__list .sub-menu a{padding:12px 0;font-size:.97rem}
  .smcc-nav__list .sub-menu a:hover{background:none}

  .smcc-search{flex-direction:column}
  .smcc-search .smcc-btn{width:100%}

  .smcc-chips{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;
    scroll-snap-type:x proximity;padding:2px 2px 10px;margin-inline:calc(var(--smcc-gut) * -1);
    padding-inline:var(--smcc-gut);scrollbar-width:none}
  .smcc-chips::-webkit-scrollbar{display:none}
  .smcc-chips a{scroll-snap-align:start;flex:0 0 auto}

  .smcc-rail__subjects{grid-template-columns:1fr 1fr}
  .smcc-fullindex li{flex-direction:column;gap:2px}
  .smcc-footer__grid{grid-template-columns:1fr 1fr;padding-block:40px}
}

@media (max-width:520px){
  .smcc-takeover{font-size:16px}
  .smcc-cards{grid-template-columns:1fr}
  .smcc-rail__subjects{grid-template-columns:1fr}
  .smcc-footer__grid{grid-template-columns:1fr}
  .smcc-actions .smcc-btn{flex:1 1 auto}
  .smcc-hero{padding-top:40px;padding-bottom:38px}
  .smcc-prose th,.smcc-prose td{padding:9px 10px;font-size:.9rem}
  .smcc-themetoggle,.smcc-burger{width:42px;height:42px}
}

@media (prefers-reduced-motion:reduce){
  .smcc-takeover *{animation:none!important;transition:none!important}
  .smcc-card:hover,.smcc-btn:hover,.smcc-chips a:hover{transform:none}
}

/* ---------- print ---------- */

@media print{
  .smcc-header,.smcc-footer,.smcc-related,.smcc-actions,.smcc-author,
  .smcc-search,.smcc-chips,.smcc-pagination,.smcc-skip,#wpadminbar{display:none!important}
  .smcc-takeover{font-size:11pt;color:#000;background:#fff}
  .smcc-shell,.smcc-shell--read,.smcc-shell--page{max-width:none;padding:0}
  .smcc-arti{display:block}
  .smcc-flow>*{max-width:none}
  .smcc-article{padding:0}
  .smcc-article__title{font-size:20pt;margin-bottom:6pt;max-width:none}
  .smcc-prose h2{font-size:13pt;margin:14pt 0 4pt;border-top:1px solid #999;page-break-after:avoid}
  .smcc-prose h3{font-size:11.5pt;page-break-after:avoid}
  .smcc-prose table{font-size:9.5pt;page-break-inside:avoid}
  .smcc-prose thead th{background:#eee!important;color:#000!important;-webkit-print-color-adjust:exact}
  .smcc-callout{border-left:2px solid #666;background:none;page-break-inside:avoid}
  .smcc-callout--edit{display:none}
  .smcc-toc{background:none;border:1px solid #999;page-break-inside:avoid;position:static}
  .smcc-prose a{color:#000;text-decoration:none}
  .smcc-article__hero{display:none}
}

/* ==================================================================
   Tracks — the three modes
   ================================================================== */

.smcc-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:28px 0 0}
.smcc-mode{display:flex;gap:16px;align-items:flex-start;padding:22px;text-decoration:none;color:inherit;
  background:var(--smcc-card);border:1.5px solid var(--smcc-line);border-radius:16px;
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.smcc-mode:hover{border-color:var(--smcc-violet);transform:translateY(-2px);box-shadow:var(--smcc-shadow)}
.smcc-mode.is-current{border-color:var(--smcc-deep);background:var(--smcc-wash)}
.smcc-mode__ico{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:11px;
  background:var(--smcc-chipbg);color:var(--smcc-chiptx)}
.smcc-mode__ico svg{width:22px;height:22px}
.smcc-mode__body{display:flex;flex-direction:column;gap:5px;min-width:0}
.smcc-mode__body strong{font-family:var(--smcc-display);font-weight:700;font-size:1.06rem;color:var(--smcc-text)}
.smcc-mode__blurb{font-size:.92rem;color:var(--smcc-muted);line-height:1.5}
.smcc-mode__count{color:var(--smcc-muted);font-size:.68rem}

.smcc-modes--compact{grid-template-columns:repeat(3,1fr);gap:10px;margin:0}
.smcc-modes--compact .smcc-mode{padding:12px 14px;gap:11px;border-radius:12px}
.smcc-modes--compact .smcc-mode__ico{flex:0 0 32px;width:32px;height:32px;border-radius:9px}
.smcc-modes--compact .smcc-mode__ico svg{width:17px;height:17px}
.smcc-modes--compact .smcc-mode__body strong{font-size:.93rem}

/* ==================================================================
   Clinical pages — framing and review credit
   ================================================================== */

.smcc-clinical-note{border:1.5px solid var(--smcc-alert);border-left-width:4px;
  background:rgba(216,89,59,.07);border-radius:0 14px 14px 0;
  padding:18px 22px;margin:0 0 2em;max-width:var(--smcc-read)}
.smcc-clinical-note .smcc-eyebrow{color:var(--smcc-alert);margin:0 0 6px}
.smcc-clinical-note p{margin:0;font-size:.97rem;line-height:1.62;color:var(--smcc-text)}

.smcc-reviewed{margin:2.6em 0 0;padding:20px 24px;border-radius:14px;
  background:var(--smcc-wash);border:1px solid var(--smcc-line);max-width:var(--smcc-read)}
.smcc-reviewed .smcc-eyebrow{color:var(--smcc-clinical);margin:0 0 6px}
.smcc-reviewed p{margin:0 0 6px;font-size:.96rem;color:var(--smcc-text)}
.smcc-reviewed p:last-child{margin:0;font-size:.9rem}

@media (max-width:820px){
  .smcc-modes--compact{grid-template-columns:1fr}
  .smcc-clinical-note,.smcc-reviewed{padding:15px 18px}
}

@media print{
  .smcc-clinical-note{border:2px solid #000;background:none;page-break-inside:avoid}
  .smcc-reviewed{background:none;border:1px solid #999;page-break-inside:avoid}
}

/* ==================================================================
   Study layer — questions, flashcards, progress, night-before mode
   ================================================================== */

.smcc-quiz,.smcc-cardsdeck{margin:3em 0 0;padding:clamp(22px,3vw,34px);border-radius:18px;
  background:var(--smcc-wash);border:1px solid var(--smcc-line);max-width:min(880px,100%)}
.smcc-quiz__head{margin:0 0 22px}
.smcc-quiz__head h2{font-family:var(--smcc-display);font-weight:700;font-size:1.3rem;
  margin:0 0 6px;border:none;padding:0;color:var(--smcc-text)}
.smcc-quiz__head p{margin:0}
.smcc-quiz__head .smcc-dim{font-size:.9rem}

.smcc-quiz__bar{display:block;height:4px;border-radius:2px;background:var(--smcc-line);
  overflow:hidden;margin:0 0 22px}
.smcc-quiz__bar span{display:block;height:100%;width:0;border-radius:2px;
  background:var(--smcc-violet);transition:width .3s ease}

.smcc-quiz__count{margin:0 0 8px;color:var(--smcc-muted)}
.smcc-quiz__q{font-family:var(--smcc-display);font-weight:600;font-size:1.14rem;
  line-height:1.45;margin:0 0 18px;color:var(--smcc-text)}
.smcc-quiz__opts{display:grid;gap:9px;margin:0 0 16px}
.smcc-quiz__opt{display:block;width:100%;text-align:left;padding:14px 17px;
  font-family:var(--smcc-body);font-size:1rem;line-height:1.45;color:var(--smcc-text);
  background:var(--smcc-card);border:1.5px solid var(--smcc-line);border-radius:12px;
  cursor:pointer;transition:border-color .16s ease,background .16s ease}
.smcc-quiz__opt:hover:not(:disabled){border-color:var(--smcc-violet)}
.smcc-quiz__opt:disabled{cursor:default;opacity:.75}
.smcc-quiz__opt.is-right{border-color:var(--smcc-clinical);background:rgba(14,155,132,.14);
  color:var(--smcc-text);opacity:1;font-weight:600}
.smcc-quiz__opt.is-wrong{border-color:var(--smcc-alert);background:rgba(216,89,59,.13);opacity:1}
.smcc-quiz__why{padding:15px 19px;margin:0 0 16px;border-radius:12px;
  background:var(--smcc-card);border-left:3px solid var(--smcc-violet);font-size:.97rem;line-height:1.62}
.smcc-quiz__why p{margin:0}
.smcc-quiz__foot{margin:16px 0 0;font-size:.85rem;color:var(--smcc-muted);
  font-family:var(--smcc-mono);letter-spacing:.04em}

.smcc-quiz__done,.smcc-deck__done{text-align:center;padding:14px 0}
.smcc-quiz__score,.smcc-deck__score{font-family:var(--smcc-display);font-weight:800;
  font-size:clamp(2rem,5vw,2.8rem);margin:0 0 6px;color:var(--smcc-text)}
.smcc-quiz__done .smcc-dim,.smcc-deck__done .smcc-dim{margin:0 0 20px}

.smcc-flashcard{background:var(--smcc-card);border:1.5px solid var(--smcc-line);
  border-radius:14px;padding:clamp(24px,4vw,40px);margin:0 0 18px;min-height:150px;
  display:flex;flex-direction:column;justify-content:center;gap:14px}
.smcc-flashcard__front{font-family:var(--smcc-display);font-weight:600;font-size:1.16rem;
  line-height:1.45;margin:0;color:var(--smcc-text)}
.smcc-flashcard__back{margin:0;font-size:1.03rem;line-height:1.62;color:var(--smcc-text);
  padding-top:14px;border-top:1px solid var(--smcc-line)}
.smcc-deck__actions{display:flex;gap:10px;flex-wrap:wrap}
.smcc-deck__actions .smcc-btn{flex:1 1 auto}
.smcc-deck__meta{margin:14px 0 0;color:var(--smcc-muted);font-size:.72rem;letter-spacing:.09em}

/* Night-before mode: everything except the tables and the checklist goes.
   This is the site's own tagline made into a control. */
body.smcc-revising .smcc-flow>*{display:none}
body.smcc-revising .smcc-flow>figure.wp-block-table,
body.smcc-revising .smcc-flow>.smcc-table,
body.smcc-revising .smcc-flow>ul,
body.smcc-revising .smcc-flow>ol,
body.smcc-revising .smcc-flow>.smcc-callout,
body.smcc-revising .smcc-flow>h2{display:block}
body.smcc-revising .smcc-quiz,
body.smcc-revising .smcc-cardsdeck,
body.smcc-revising .smcc-related,
body.smcc-revising .smcc-toc,
body.smcc-revising .smcc-article__hero{display:none}
body.smcc-revising .smcc-flow>h2{margin-top:1.4em}

.smcc-progress{margin:26px 0 0}
.smcc-progress__list{display:grid;gap:9px;margin:0 0 18px}
.smcc-progress__row{display:grid;grid-template-columns:minmax(120px,1.1fr) 3fr auto;
  gap:16px;align-items:center;padding:12px 16px;border-radius:12px;text-decoration:none;
  background:var(--smcc-card);border:1px solid var(--smcc-line);color:inherit;
  transition:border-color .16s ease}
.smcc-progress__row:hover{border-color:var(--smcc-violet)}
.smcc-progress__name{font-weight:600;font-size:.96rem;color:var(--smcc-text)}
.smcc-progress__track{display:block;height:6px;border-radius:3px;background:var(--smcc-line);overflow:hidden}
.smcc-progress__track span{display:block;height:100%;background:var(--smcc-clinical);border-radius:3px}
.smcc-progress__num{color:var(--smcc-muted);font-size:.72rem}

.smcc-mnemonics{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:12px}
.smcc-mnemonics li{padding:16px 20px;border-radius:12px;background:var(--smcc-card);
  border:1px solid var(--smcc-line)}
.smcc-mnemonics p{margin:0 0 7px;font-size:.98rem;line-height:1.6;color:var(--smcc-text)}
.smcc-mnemonics a{color:var(--smcc-link);text-decoration:none;font-size:.7rem;letter-spacing:.08em}
.smcc-mnemonics a:hover{text-decoration:underline}

.smcc-compare th:first-child{width:22%}

/* The standing caution line under every page. */
.smcc-footer__caution{margin:10px 0 0;font-size:.82rem;line-height:1.55;
  color:rgba(255,255,255,.55);max-width:80ch}

@media (max-width:640px){
  .smcc-progress__row{grid-template-columns:1fr auto;gap:8px 12px}
  .smcc-progress__track{grid-column:1/-1;order:3}
  .smcc-deck__actions{flex-direction:column}
  .smcc-quiz,.smcc-cardsdeck{padding:20px 16px;border-radius:14px}
}

@media print{
  .smcc-quiz,.smcc-cardsdeck,.smcc-progress,[data-smcc-revise]{display:none!important}
}

/* ==================================================================
   Synopsis — the 30-second version, at the top of every note
   ================================================================== */

.smcc-synopsis{margin:0 0 2.4em;padding:0;border:1.5px solid var(--smcc-violet);
  border-radius:16px;background:var(--smcc-card);overflow:hidden;max-width:var(--smcc-read)}
.smcc-synopsis__head{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:14px 22px;background:var(--smcc-chipbg);border-bottom:1px solid var(--smcc-line)}
.smcc-synopsis__head .smcc-eyebrow{margin:0;color:var(--smcc-chiptx)}
.smcc-synopsis__toggle{background:none;border:none;padding:4px 6px;cursor:pointer;
  font-family:var(--smcc-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;
  font-weight:600;color:var(--smcc-chiptx);border-radius:6px}
.smcc-synopsis__toggle:hover{background:rgba(124,107,240,.16)}
.smcc-synopsis__body{padding:20px 24px 22px}
.smcc-synopsis__body ul{margin:0;padding:0;list-style:none;display:grid;gap:11px}
.smcc-synopsis__body li{position:relative;padding-left:26px;font-size:1.02rem;
  line-height:1.58;color:var(--smcc-text)}
.smcc-synopsis__body li::before{content:"";position:absolute;left:6px;top:.62em;
  width:7px;height:7px;border-radius:50%;background:var(--smcc-violet)}
.smcc-synopsis__line{margin:18px 0 0;padding-top:16px;border-top:1px solid var(--smcc-line);
  font-size:1.02rem;line-height:1.58;color:var(--smcc-text)}
.smcc-synopsis__line strong{color:var(--smcc-chiptx)}
.smcc-synopsis__auto{margin:16px 0 0;font-size:.66rem;letter-spacing:.07em;
  color:var(--smcc-muted);text-transform:none}
.smcc-synopsis.is-collapsed .smcc-synopsis__body{display:none}

/* In night-before mode the synopsis is the one thing that must stay. */
body.smcc-revising .smcc-flow>.smcc-synopsis,
body.smcc-revising .smcc-synopsis{display:block}

@media (max-width:520px){
  .smcc-synopsis__head{padding:12px 16px}
  .smcc-synopsis__body{padding:16px 18px 18px}
  .smcc-synopsis__body li{font-size:.98rem;padding-left:22px}
}

@media print{
  .smcc-synopsis{border:2px solid #000;page-break-inside:avoid;page-break-after:avoid}
  .smcc-synopsis__head{background:none;border-bottom:1px solid #999}
  .smcc-synopsis__toggle,.smcc-synopsis__auto{display:none}
  .smcc-synopsis.is-collapsed .smcc-synopsis__body{display:block}
}

/* ==================================================================
   Nested navigation — submenus
   ================================================================== */

.smcc-nav__list li{position:relative}

.smcc-nav__list .sub-menu{position:absolute;top:100%;left:-14px;min-width:224px;
  margin:0;padding:8px;list-style:none;z-index:80;
  background:var(--smcc-card);border:1px solid var(--smcc-line);border-radius:14px;
  box-shadow:var(--smcc-shadow);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s}
.smcc-nav__list li:hover>.sub-menu,
.smcc-nav__list li:focus-within>.sub-menu,
.smcc-nav__list li.is-open>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.smcc-nav__list .sub-menu a{display:block;padding:9px 14px;border-radius:9px;
  font-size:.93rem;font-weight:500;white-space:nowrap}
.smcc-nav__list .sub-menu a::after{display:none}
.smcc-nav__list .sub-menu a:hover{background:var(--smcc-chipbg);color:var(--smcc-chiptx)}

/* A parent that has children gets a caret. */
.smcc-nav__list .menu-item-has-children>a::before{content:"";position:absolute;right:-14px;top:50%;
  width:5px;height:5px;margin-top:-4px;border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;transform:rotate(45deg);opacity:.5}
.smcc-nav__list .menu-item-has-children{margin-right:14px}

@media (max-width:820px){
  /* On mobile the submenu is simply an indented block — no hover, no popup. */
  .smcc-nav__list .sub-menu{position:static;opacity:1;visibility:visible;transform:none;
    min-width:0;margin:0 0 6px;padding:0 0 0 16px;border:none;border-left:2px solid var(--smcc-line);
    border-radius:0;box-shadow:none;background:none}
  .smcc-nav__list .sub-menu a{padding:11px 0;font-size:.95rem}
  .smcc-nav__list .sub-menu a:hover{background:none}
  .smcc-nav__list .menu-item-has-children>a::before{right:auto;left:auto;position:static;
    display:inline-block;margin:0 0 2px 8px;transform:rotate(45deg)}
  .smcc-nav__list .menu-item-has-children{margin-right:0}
  .smcc-nav__list .sub-menu li{border-bottom:none}
}

/* Footer menu, if a theme or block renders it. */
.smcc-footer .smcc-nav__list{flex-direction:column;align-items:flex-start;gap:10px}

/* ==================================================================
   Flashcard app
   ================================================================== */

.smcc-fc{margin:28px 0 0}
.smcc-fc__panel{background:var(--smcc-wash);border:1px solid var(--smcc-line);
  border-radius:16px;padding:20px 22px;margin:0 0 24px}
.smcc-fc__filter{margin:0 0 16px}
.smcc-fc__filter:last-of-type{margin-bottom:0}
.smcc-fc__filter .smcc-eyebrow{margin:0 0 9px}
.smcc-fc__chips{display:flex;flex-wrap:wrap;gap:8px}
.smcc-fc__chip{display:inline-flex;align-items:center;gap:8px;
  padding:8px 13px;border-radius:999px;cursor:pointer;
  border:1.5px solid var(--smcc-line);background:var(--smcc-card);color:var(--smcc-text);
  font-family:var(--smcc-body);font-size:.88rem;font-weight:500;
  transition:border-color .16s ease,background .16s ease,color .16s ease}
.smcc-fc__chip:hover{border-color:var(--smcc-violet)}
.smcc-fc__chip.is-on{background:var(--smcc-deep);border-color:var(--smcc-deep);color:#fff}
.smcc-fc__n{font-family:var(--smcc-mono);font-size:.68rem;opacity:.7}
.smcc-fc__bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  margin:18px 0 0;padding-top:16px;border-top:1px solid var(--smcc-line);
  font-size:.72rem;letter-spacing:.08em;color:var(--smcc-muted)}
.smcc-fc__due{color:var(--smcc-clinical);font-weight:600}
.smcc-fc__bar .smcc-btn{margin-left:auto}

.smcc-fc__stage{outline:none}
.smcc-fc__meta{display:flex;align-items:center;gap:12px;margin:0 0 10px;
  font-size:.72rem;letter-spacing:.08em;color:var(--smcc-muted)}
.smcc-fc__progress{height:4px;border-radius:2px;background:var(--smcc-line);
  overflow:hidden;margin:0 0 20px}
.smcc-fc__progress span{display:block;height:100%;background:var(--smcc-violet);
  border-radius:2px;transition:width .25s ease}

.smcc-fc__card{background:var(--smcc-card);border:1.5px solid var(--smcc-line);
  border-radius:18px;padding:clamp(26px,5vw,48px);min-height:210px;
  display:flex;flex-direction:column;justify-content:center;gap:18px;margin:0 0 18px}
.smcc-fc__front{font-family:var(--smcc-display);font-weight:600;
  font-size:clamp(1.12rem,2.4vw,1.42rem);line-height:1.45;margin:0;color:var(--smcc-text)}
.smcc-fc__back{margin:0;font-size:clamp(1.02rem,2vw,1.16rem);line-height:1.6;
  color:var(--smcc-text);padding-top:18px;border-top:2px solid var(--smcc-chipbg)}

.smcc-fc__actions{display:flex;gap:10px}
.smcc-fc__actions .smcc-btn{flex:1 1 0;min-height:52px}
.smcc-fc__again{border-color:var(--smcc-alert);color:var(--smcc-alert)}
.smcc-fc__again:hover{background:rgba(216,89,59,.1);border-color:var(--smcc-alert);color:var(--smcc-alert)}
.smcc-fc__source{display:inline-block;margin:16px 0 0;font-size:.7rem;
  letter-spacing:.07em;color:var(--smcc-muted);text-decoration:none}
.smcc-fc__source:hover{color:var(--smcc-link);text-decoration:underline}

.smcc-fc__done{text-align:center;padding:34px 0}
.smcc-fc__score{font-family:var(--smcc-display);font-weight:800;
  font-size:clamp(2.2rem,6vw,3rem);margin:0 0 8px;color:var(--smcc-text)}
.smcc-fc__done .smcc-dim{margin:0 0 22px}

.smcc-cardstats{margin:24px 0 0}
.smcc-cardstats__total{font-family:var(--smcc-display);font-size:1.5rem;margin:0 0 14px;color:var(--smcc-text)}
.smcc-cardstats ul{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:9px}
.smcc-cardstats a{display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:13px 16px;border-radius:12px;text-decoration:none;color:var(--smcc-text);
  background:var(--smcc-card);border:1px solid var(--smcc-line);
  transition:border-color .16s ease}
.smcc-cardstats a:hover{border-color:var(--smcc-violet)}
.smcc-cardstats a .smcc-mono{color:var(--smcc-muted);font-size:.72rem}

@media (max-width:520px){
  .smcc-fc__panel{padding:16px 15px;border-radius:14px}
  .smcc-fc__card{padding:24px 20px;min-height:180px;border-radius:14px}
  .smcc-fc__actions{flex-direction:column}
  .smcc-fc__actions .smcc-btn{width:100%}
  .smcc-fc__bar .smcc-btn{margin-left:0;width:100%}
  .smcc-cardstats ul{grid-template-columns:1fr}
}

@media print{ .smcc-fc,.smcc-cardstats{display:none!important} }

.smcc-fc__empty{background:var(--smcc-card);border:1.5px dashed var(--smcc-line);
  border-radius:18px;padding:clamp(28px,5vw,46px);text-align:center}
.smcc-fc__empty .smcc-fc__front{margin:0 0 8px}
.smcc-fc__empty .smcc-dim{margin:0}
