/* =========================================================
   Coursera Style Theme - Professional & Content-Focused
   v6.0: Token-driven. Variables defined in academy-tokens.css.
   This file provides component-level structural adjustments
   that cannot be expressed via CSS variable overrides alone.
   ========================================================= */

/* ------- Base page ------- */
body.theme-coursera{
  background:var(--color-canvas);
  background-image:none;
  color:var(--color-ink);
  font-family:var(--font-body);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  font-feature-settings:"tnum";
}

/* =========================================================
   1. Top Navigation
   ========================================================= */
body.theme-coursera .topbar{
  height:72px;
  background:var(--glass-bg);
  backdrop-filter:blur(16px) saturate(1.2);
  -webkit-backdrop-filter:blur(16px) saturate(1.2);
  border-bottom:1px solid rgba(228,232,237,.5);
  transition:background-color var(--transition-slow), color var(--transition-slow), border-color var(--transition-slow), transform var(--transition-slow), box-shadow var(--transition-slow), opacity var(--transition-slow);
}
body.theme-coursera .topbar.scrolled{
  border-bottom-color:var(--color-line);
  box-shadow:0 1px 3px color-mix(in srgb,var(--color-ink) 6%,transparent);
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(20px) saturate(1.4);
  -webkit-backdrop-filter:blur(20px) saturate(1.4);
}
body.theme-coursera .topbar:after{
  content:"";
  position:absolute;
  bottom:0;left:0;right:0;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--color-brand) 20%,var(--color-brand-hover) 50%,var(--color-brand) 80%,transparent);
  opacity:.85;
}
body.theme-coursera .brand{ gap:var(--space-3); min-width:auto; }
body.theme-coursera .seal{
  width:40px;height:40px;
  background:var(--color-brand);
  color:var(--color-white);
  border:0;
  border-radius:var(--radius-button);
  font:var(--weight-bold) var(--font-xs)/1.05 var(--font-sans);
  letter-spacing:.02em;
  transition:background var(--transition-fast);
}
body.theme-coursera .seal:hover{ background:var(--color-brand-hover); transform:none; }
body.theme-coursera .brand-logo{ height:40px; width:auto; display:block; flex-shrink:0; object-fit:contain; }
body.theme-coursera .brand b{ font-size:var(--font-base); font-weight:var(--weight-bold); color:var(--color-ink); }
body.theme-coursera .brand small{ color:var(--color-muted); letter-spacing:.05em; font-weight:var(--weight-medium); font-size:var(--font-xs); }
body.theme-coursera .main-nav{ gap:0; }
body.theme-coursera .nav-tab{
  padding:var(--space-2) var(--space-3);
  font-size:var(--font-base);
  font-weight:var(--weight-medium);
  color:var(--color-ink);
  border-radius:var(--radius-sm);
  transition:color var(--transition-fast);
  position:relative;
  white-space:nowrap;
  flex-shrink:0;
}
body.theme-coursera .nav-tab:hover{ color:var(--color-brand); background:transparent; }
body.theme-coursera .nav-tab.active{ color:var(--color-brand); background:transparent; font-weight:var(--weight-bold); }
body.theme-coursera .nav-tab.active:after{
  content:"";position:absolute;bottom:0;left:var(--space-4);right:var(--space-4);
  height:3px;background:var(--color-brand-gradient);
  border-radius:var(--radius-badge) var(--radius-badge) 0 0;
}

/* =========================================================
   2. Buttons
   ========================================================= */
body.theme-coursera .primary-btn{
  background:var(--color-brand-gradient);
  color:var(--color-white);
  border:0;
  border-radius:var(--radius-button);
  padding:var(--space-3) var(--space-6);
  font-weight:var(--weight-semibold);
  font-size:var(--font-lg);
  transition:background-color var(--transition-base), color var(--transition-base), border-color var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base), opacity var(--transition-base);
  box-shadow:none;
  height:auto;line-height:1.4;
  position:relative;overflow:hidden;
}
body.theme-coursera .primary-btn:before{
  content:"";position:absolute;top:0;left:0;bottom:0;width:5px;
  background:var(--color-brand-gradient);border-radius:0;display:block;
}
body.theme-coursera .primary-btn:hover{
  background:var(--color-brand-hover);
  transform:translateY(-1px);
  box-shadow:0 4px 12px var(--color-brand-ring);
}
body.theme-coursera .primary-btn:active{
  background:var(--color-brand-active);
  transform:translateY(0);
  box-shadow:0 2px 6px var(--color-brand-ring);
}
body.theme-coursera .primary-btn.light{ background:var(--color-brand); color:var(--color-white); }
body.theme-coursera .ghost-btn{
  background:var(--color-surface);
  border:1px solid var(--color-line-strong);
  color:var(--color-ink);
  border-radius:var(--radius-button);
  padding:var(--space-2) var(--space-5);
  font-weight:var(--weight-semibold);
  font-size:var(--font-lg);
  transition:background-color var(--transition-base), color var(--transition-base), border-color var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base), opacity var(--transition-base);
}
body.theme-coursera .ghost-btn:hover{
  border-color:var(--color-brand);color:var(--color-brand);
  background:var(--color-brand-ring);transform:translateY(-1px);
  box-shadow:0 4px 12px var(--color-brand-soft);
}
body.theme-coursera .ghost-btn:active{ transform:translateY(0); box-shadow:0 2px 6px var(--color-brand-ring); }
body.theme-coursera .text-btn{
  color:var(--color-brand);font-weight:var(--weight-semibold);font-size:var(--font-base);
  display:inline-flex;align-items:center;gap:var(--space-1);
}
body.theme-coursera .text-btn:hover{ color:var(--color-brand-hover); }
body.theme-coursera .text-btn span{ display:inline-flex; transition:transform var(--transition-base); }
body.theme-coursera .text-btn:hover span{ transform:translateX(4px); }
body.theme-coursera .mini-link{ color:var(--color-brand); font-weight:var(--weight-semibold); }
body.theme-coursera .mini-link:hover{ color:var(--color-brand-hover); }
body.theme-coursera .quiet-btn{
  background:transparent;color:var(--color-muted);
  padding:var(--space-2) var(--space-3);
  border-radius:var(--radius-button);
  font-size:var(--font-base);font-weight:var(--weight-medium);
  transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);
}
body.theme-coursera .quiet-btn:hover{ background:var(--color-surface-2); color:var(--color-ink); }
body.theme-coursera .outline-btn{
  border:1px solid var(--color-line-strong);background:var(--color-surface);
  border-radius:var(--radius-button);
  padding:var(--space-2) var(--space-4);
  color:var(--color-ink);font-weight:var(--weight-medium);
  transition:background-color var(--transition-base), color var(--transition-base), border-color var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base), opacity var(--transition-base);
}
body.theme-coursera .outline-btn:hover{ border-color:var(--color-brand); color:var(--color-brand); background:var(--color-brand-soft); }

/* =========================================================
   3. Hero Section
   ========================================================= */
body.theme-coursera .hero-section{ position:relative; overflow:hidden; }
body.theme-coursera .hero-section:before{
  content:"";position:absolute;top:-30%;right:-10%;width:600px;height:600px;
  background:radial-gradient(circle,var(--color-brand-ring),transparent 60%);
  pointer-events:none;
}
body.theme-coursera .hero-section:after{
  content:"";position:absolute;bottom:-20%;left:-5%;width:400px;height:400px;
  background:radial-gradient(circle,var(--color-brand-ring),transparent 60%);
  pointer-events:none;
}
body.theme-coursera .hero-grid{
  display:grid;grid-template-columns:280px 1.05fr .95fr;gap:36px;
  align-items:center;min-height:auto;padding:64px 0 56px;
  position:relative;
}
body.theme-coursera .hero-grid:after{
  content:"";position:absolute;bottom:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--color-brand-ring) 25%,var(--color-brand-ring) 50%,var(--color-brand-ring) 75%,transparent);
}
body.theme-coursera .edition-line{
  display:inline-flex;align-items:center;position:relative;
  padding:var(--space-1) 0 var(--space-1) var(--space-4);
  background:transparent;color:var(--color-muted);
  font-size:var(--font-sm);font-weight:var(--weight-medium);letter-spacing:.02em;
  border-radius:0;margin-bottom:var(--space-6);
}
body.theme-coursera .edition-line:before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:4px;height:20px;background:var(--color-brand-gradient);
  border-radius:0 var(--radius-badge) var(--radius-badge) 0;
}
body.theme-coursera .edition-line:after{
  content:"";position:absolute;left:0;top:4px;width:28px;height:4px;
  background:var(--color-brand-gradient);
  border-radius:0 var(--radius-badge) var(--radius-badge) 0;
}
body.theme-coursera .edition-line span{ width:0; display:none; }
body.theme-coursera .hero-copy h1{
  font:var(--weight-bold) clamp(34px,4.8vw,52px)/1.12 var(--font-heading);
  letter-spacing:-.025em;margin:0 0 var(--space-5);color:var(--color-ink);
  position:relative;padding-left:var(--space-5);
}
body.theme-coursera .hero-copy h1:before{
  content:"";position:absolute;left:0;top:6px;width:5px;height:36px;
  background:var(--color-brand-gradient);
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
}
body.theme-coursera .hero-copy h1:after{
  content:"";position:absolute;left:0;top:6px;width:48px;height:5px;
  background:var(--color-brand-gradient);
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
}
body.theme-coursera .hero-copy h1 em{
  color:var(--color-brand);font-style:normal;position:relative;
  background:var(--color-brand-gradient);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
body.theme-coursera .hero-copy > p{
  font-size:var(--font-xl);line-height:1.75;color:var(--color-muted);max-width:560px;margin:0;
}
body.theme-coursera .hero-actions{ display:flex; gap:var(--space-3); margin-top:var(--space-8); }
body.theme-coursera .hero-proof{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  margin-top:var(--space-10);padding:0;background:transparent;border-radius:0;border:0;
}
body.theme-coursera .hero-proof span{
  text-align:left;display:block;padding:var(--space-5) var(--space-6);
  border-left:1px solid var(--color-brand-soft);
  transition:background-color var(--transition-base), color var(--transition-base), border-color var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base), opacity var(--transition-base);cursor:default;
}
body.theme-coursera .hero-proof span:first-child{ border-left:0; padding-left:0; }
body.theme-coursera .hero-proof span:hover{
  background:var(--color-surface-2);border-radius:var(--radius-md);
  margin:-4px 0;padding:var(--space-6);transform:translateY(-2px);
  box-shadow:0 4px 12px color-mix(in srgb,var(--color-ink) 4%,transparent);
}
body.theme-coursera .hero-proof span:first-child:hover{ padding-left:var(--space-4); }
body.theme-coursera .hero-proof b{
  font:var(--weight-bold) var(--font-3xl)/1.2 var(--font-heading);
  color:var(--color-ink);margin-bottom:var(--space-1);display:block;letter-spacing:-.02em;
}
body.theme-coursera .hero-proof small{
  font-size:var(--font-sm);color:var(--color-muted);font-weight:var(--weight-medium);
  letter-spacing:.02em;display:block;margin-top:var(--space-1);
}

/* =========================================================
   4. Hero Art
   ========================================================= */
body.theme-coursera .hero-art{
  height:420px;position:relative;border-radius:var(--radius-md);
  background:var(--color-surface-2);border:1px solid var(--color-line);overflow:hidden;
}
body.theme-coursera .hero-art:before{
  content:"";position:absolute;left:0;top:15%;bottom:15%;width:3px;
  background:linear-gradient(180deg,transparent,var(--color-brand) 30%,var(--color-brand-hover) 70%,transparent);
  z-index:10;border-radius:0 var(--radius-badge) var(--radius-badge) 0;
}
body.theme-coursera .art-grid{
  position:absolute;inset:0;
  background-image:
    linear-gradient(var(--color-brand-ring) 1px, transparent 1px),
    linear-gradient(90deg, var(--color-brand-ring) 1px, transparent 1px);
  background-size:40px 40px;
  mask-image:linear-gradient(135deg, transparent 10%, #000 50%);
}
body.theme-coursera .hero-art:after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 80% 20%, rgba(255,255,255,.8), transparent 40%);
  pointer-events:none;z-index:0;
}
body.theme-coursera .art-caption{
  position:absolute;top:var(--space-7);left:var(--space-7);z-index:5;
  background:var(--color-surface);padding:var(--space-3) var(--space-4);
  border-radius:var(--radius-md);border:1px solid var(--color-line);
}
body.theme-coursera .art-caption span{
  font-size:var(--font-xs);letter-spacing:.08em;color:var(--color-brand);
  font-weight:var(--weight-bold);display:block;margin-bottom:var(--space-1);
}
body.theme-coursera .art-caption b{ font:var(--weight-semibold) var(--font-lg)/1.3 var(--font-sans); color:var(--color-ink); display:block; }
body.theme-coursera .metal-orbit{
  position:absolute;width:340px;height:340px;right:var(--space-10);top:var(--space-10);
  display:grid;place-items:center;z-index:2;
}
body.theme-coursera .metal-disc{
  width:140px;height:140px;border-radius:var(--radius-round);
  background:var(--color-surface);border:2px solid var(--color-brand);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  box-shadow:0 2px 8px var(--color-brand-soft);position:relative;z-index:3;
}
body.theme-coursera .metal-disc:before{ display:none; }
body.theme-coursera .metal-disc span{ font:var(--weight-bold) 26px/1 var(--font-sans); color:var(--color-brand); }
body.theme-coursera .metal-disc b{ font:var(--weight-semibold) var(--font-base)/1.3 var(--font-sans); color:var(--color-ink); margin-top:var(--space-1); }
body.theme-coursera .metal-disc small{ font-size:var(--font-xs); color:var(--color-muted); margin-top:2px; letter-spacing:.03em; }
body.theme-coursera .orbit{ position:absolute; border:1px solid var(--color-line-strong); border-radius:var(--radius-round); }
body.theme-coursera .orbit-a{ width:200px;height:200px;animation:none;border-color:var(--color-line); }
body.theme-coursera .orbit-b{ width:270px;height:180px;transform:rotate(35deg);border-color:var(--color-line);border-style:dashed;animation:none; }
body.theme-coursera .orbit-c{ width:240px;height:290px;transform:rotate(-25deg);border-color:var(--color-line);border-style:dashed;animation:none; }
body.theme-coursera .node{
  position:absolute;z-index:4;background:var(--color-surface);
  border:1px solid var(--color-line-strong);color:var(--color-ink);
  padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);
  font-size:var(--font-sm);font-weight:var(--weight-medium);
  box-shadow:0 1px 3px color-mix(in srgb,var(--color-ink) 6%,transparent);white-space:nowrap;
  transition:background-color var(--transition-base), color var(--transition-base), border-color var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base), opacity var(--transition-base);animation:none;
}
body.theme-coursera .node:hover{ border-color:var(--color-brand); color:var(--color-brand); transform:none; box-shadow:0 2px 8px var(--color-brand-ring); }
body.theme-coursera .node-a{ top:var(--space-7); right:var(--space-7); }
body.theme-coursera .node-b{ left:var(--space-2); top:155px; }
body.theme-coursera .node-c{ bottom:36px; right:56px; }
body.theme-coursera .art-note{
  position:absolute;left:var(--space-7);bottom:var(--space-7);z-index:5;
  display:grid;grid-template-columns:40px 1fr;gap:var(--space-3);
  align-items:start;max-width:280px;
  background:var(--color-surface);padding:14px 18px;
  border-radius:0 var(--radius-md) var(--radius-md) 0;
  border:1px solid var(--color-line);border-left:3px solid var(--color-brand);
}
body.theme-coursera .art-note b{ font:var(--weight-bold) 24px/1 var(--font-sans); color:var(--color-brand); }
body.theme-coursera .art-note span{ font-size:var(--font-md); color:var(--color-ink); line-height:1.5; }

/* =========================================================
   5. Dashboard / Feature Cards
   ========================================================= */
body.theme-coursera .dashboard-head{
  display:flex;justify-content:space-between;align-items:center;
  margin:var(--space-12) 0 var(--space-4);position:relative;padding-left:18px;
}
body.theme-coursera .dashboard-head:before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:5px;height:24px;background:var(--color-brand-gradient);
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
}
body.theme-coursera .dashboard-head span{ font-size:var(--font-base); font-weight:var(--weight-bold); color:var(--color-ink); letter-spacing:.01em; }
body.theme-coursera .dashboard-head small{ color:var(--color-muted); font-size:var(--font-md); font-weight:var(--weight-regular); letter-spacing:0; margin-left:var(--space-2); }
body.theme-coursera .dashboard-grid{ display:grid; grid-template-columns:1.2fr .9fr .9fr; gap:var(--space-5); }
body.theme-coursera .feature-card{
  background:var(--color-surface);border:1px solid var(--color-line);
  border-top:2px solid var(--color-brand);
  border-radius:0 0 var(--radius-md) var(--radius-md);
  padding:var(--space-5);min-height:220px;
  transition:transform var(--transition-base) cubic-bezier(.34,1.56,.64,1), box-shadow var(--transition-base) cubic-bezier(.34,1.56,.64,1), border-color var(--transition-base) cubic-bezier(.34,1.56,.64,1);
  position:relative;overflow:hidden;will-change:transform;
}
body.theme-coursera .feature-card:hover{
  border-color:var(--color-brand-ring);border-top-color:var(--color-brand);
  transform:translateY(-3px);box-shadow:0 8px 24px var(--color-brand-soft);
}
body.theme-coursera .feature-card:after{ display:none; }
body.theme-coursera .card-top{
  display:flex;align-items:center;justify-content:space-between;
  position:relative;padding-left:var(--space-2);margin-bottom:var(--space-4);
}
body.theme-coursera .card-top:before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:3px;height:12px;background:var(--color-brand-gradient);
  border-radius:0 var(--radius-badge) var(--radius-badge) 0;
}
body.theme-coursera .card-label{
  font-size:var(--font-xs);letter-spacing:.06em;color:var(--color-brand);
  font-weight:var(--weight-bold);text-transform:uppercase;padding-left:0;
}
body.theme-coursera .status-pill{
  font-size:var(--font-xs);color:var(--color-brand);background:var(--color-brand-soft);
  padding:var(--space-1) var(--space-2);border-radius:var(--radius-button);
  font-weight:var(--weight-semibold);border:1px solid var(--color-brand-ring);
  transition:background-color var(--transition-base), color var(--transition-base), border-color var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base), opacity var(--transition-base);animation:none;
}
body.theme-coursera .status-pill:hover{ transform:translateY(-1px); box-shadow:0 2px 8px var(--color-brand-ring); }
body.theme-coursera .status-pill.subtle{ background:var(--color-surface-2); color:var(--color-muted); border-color:var(--color-line); }
body.theme-coursera .continue-card{ border-top:3px solid var(--color-brand); }
body.theme-coursera .continue-body{
  display:grid;grid-template-columns:48px 1fr;gap:14px;
  margin:var(--space-5) 0;align-items:start;
}
body.theme-coursera .lesson-index{
  font:var(--weight-bold) 24px/1 var(--font-sans);color:var(--color-brand);
  text-align:center;background:var(--color-brand-soft);border-radius:var(--radius-sm);
  display:grid;place-items:center;height:48px;width:48px;
  transition:transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);
}
body.theme-coursera .feature-card:hover .lesson-index{ background:var(--color-brand); color:var(--color-white); }
body.theme-coursera .continue-body h2,
body.theme-coursera .continue-card h3{
  font:var(--weight-semibold) var(--font-xl)/1.35 var(--font-sans);
  margin:0;color:var(--color-ink);
}
body.theme-coursera .continue-body p,
body.theme-coursera .continue-card p{ color:var(--color-muted); font-size:var(--font-md); margin:var(--space-1) 0 0; line-height:1.5; }
body.theme-coursera .card-body h3{
  font-size:var(--font-lg);font-weight:var(--weight-bold);color:var(--color-ink);
  margin-bottom:var(--space-2);line-height:1.4;letter-spacing:-.01em;
}
body.theme-coursera .card-body p{ font-size:var(--font-md); line-height:1.65; color:var(--color-muted); margin:0; }
body.theme-coursera .micro-flow{
  display:flex;align-items:center;gap:var(--space-2);
  color:var(--color-muted);font-size:var(--font-xs);margin:var(--space-4) 0;
}
body.theme-coursera .micro-flow span:first-child{ color:var(--color-brand); font-weight:var(--weight-semibold); }
body.theme-coursera .micro-flow i{
  height:2px;background:linear-gradient(90deg,var(--color-brand-ring),var(--color-brand-soft));
  flex:1;border-radius:1px;position:relative;
}
body.theme-coursera .micro-flow i:after{
  content:"";position:absolute;right:0;top:50%;transform:translate(50%,-50%);
  width:8px;height:8px;background:var(--color-brand);
  border-radius:var(--radius-round);box-shadow:0 0 0 3px var(--color-brand-soft);
}
body.theme-coursera .path-card h3,
body.theme-coursera .ability-card h3{
  font:var(--weight-semibold) var(--font-xl)/1.3 var(--font-sans);
  margin:var(--space-4) 0 var(--space-2);color:var(--color-ink);
}
body.theme-coursera .path-card p,
body.theme-coursera .ability-head p{ color:var(--color-muted); font-size:var(--font-md); margin:0; line-height:1.5; }
body.theme-coursera .role-pills{ display:flex; flex-wrap:wrap; gap:var(--space-2); margin:var(--space-4) 0; }
body.theme-coursera .role-pills button{
  background:var(--color-surface);border:1px solid var(--color-line-strong);
  border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);
  color:var(--color-muted);cursor:pointer;font-size:var(--font-md);
  font-weight:var(--weight-medium);transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);
}
body.theme-coursera .role-pills button:hover{ border-color:var(--color-brand); color:var(--color-brand); background:var(--color-brand-soft); }
body.theme-coursera .role-pills button.selected{
  background:var(--color-brand);color:var(--color-white);border-color:var(--color-brand);
  font-weight:var(--weight-semibold);box-shadow:0 2px 8px var(--color-brand-ring);
}
body.theme-coursera .path-focus{ display:flex; flex-wrap:wrap; gap:var(--space-1); margin-top:var(--space-3); }
body.theme-coursera .path-focus span{
  font-size:var(--font-sm);background:var(--color-brand-soft);color:var(--color-brand);
  border-radius:var(--radius-button);padding:var(--space-1) var(--space-2);
  font-weight:var(--weight-medium);border:1px solid var(--color-brand-ring);
  transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);
}
body.theme-coursera .path-focus span:hover{ background:var(--color-brand-ring); transform:translateY(-1px); }
body.theme-coursera .ability-head{ display:flex; justify-content:space-between; align-items:flex-start; margin:var(--space-4) 0; }
body.theme-coursera .ability-head h3{ font:var(--weight-semibold) var(--font-lg)/1.4 var(--font-sans); margin:0; }
body.theme-coursera .ability-head b{
  font:var(--weight-bold) var(--font-3xl)/1 var(--font-sans);color:var(--color-brand);
  min-width:48px;text-align:right;letter-spacing:-.02em;
}
body.theme-coursera .mini-ability{
  display:grid;grid-template-columns:48px 1fr 28px;gap:var(--space-2);
  align-items:center;font-size:var(--font-sm);margin:var(--space-2) 0;
  color:var(--color-muted);font-weight:var(--weight-medium);
}
body.theme-coursera .mini-ability span{ font-size:var(--font-sm); color:var(--color-muted); min-width:36px; }
body.theme-coursera .mini-ability i{
  height:6px;border-radius:var(--radius-badge);background:var(--color-brand-soft);
  overflow:hidden;display:block;
}
body.theme-coursera .mini-ability i b{
  display:block;height:100%;background:var(--color-brand-gradient);
  border-radius:var(--radius-badge);transition:width var(--transition-slow) ease;animation:none;
}
body.theme-coursera .mini-ability strong{
  text-align:right;font-size:var(--font-md);font-weight:var(--weight-semibold);color:var(--color-ink);
}

/* =========================================================
   6. Outcome Strip
   ========================================================= */
body.theme-coursera .outcome-strip{
  margin-top:var(--space-6);background:var(--color-ink);color:var(--color-white);
  border-radius:0;padding:var(--space-8) 36px;
  display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-10);
  align-items:center;position:relative;overflow:hidden;
}
body.theme-coursera .outcome-strip:before{
  content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,transparent,var(--color-brand-hover) 20%,var(--color-brand) 50%,var(--color-brand-hover) 80%,transparent);
  display:block;
}
body.theme-coursera .outcome-strip:after{
  content:"";position:absolute;bottom:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--color-brand-ring) 30%,var(--color-brand-ring) 50%,var(--color-brand-ring) 70%,transparent);
}
body.theme-coursera .outcome-strip span{
  font-size:var(--font-xs);letter-spacing:.12em;color:rgba(255,255,255,.6);
  font-weight:var(--weight-semibold);text-transform:uppercase;
}
body.theme-coursera .outcome-strip h2{
  font:var(--weight-semibold) var(--font-2xl)/1.4 var(--font-sans);
  margin:var(--space-2) 0 0;color:var(--color-white);letter-spacing:-.015em;
}
body.theme-coursera .outcome-list{ display:flex; gap:var(--space-2); flex-wrap:wrap; justify-content:flex-end; }
body.theme-coursera .outcome-list span{
  color:var(--color-white);border:1px solid var(--color-brand-ring);
  border-radius:var(--radius-button);padding:var(--space-2) var(--space-3);
  font-size:var(--font-md);font-weight:var(--weight-medium);
  letter-spacing:0;text-transform:none;
  background:var(--color-brand-ring);backdrop-filter:none;
}

/* =========================================================
   7. Course List & View Pages
   ========================================================= */
body.theme-coursera .view-head{ margin-bottom:var(--space-8); }
body.theme-coursera .view-head h1{
  font:var(--weight-bold) clamp(28px,3.5vw,40px)/1.2 var(--font-heading);
  letter-spacing:-.01em;color:var(--color-ink);margin:var(--space-3) 0;
}
body.theme-coursera .eyebrow{
  font-size:var(--font-xs);letter-spacing:.1em;color:var(--color-brand);
  font-weight:var(--weight-bold);text-transform:uppercase;
}
body.theme-coursera .search-box{
  background:var(--color-surface);border:1px solid var(--color-line-strong);
  border-radius:var(--radius-input);transition:border-color var(--transition-base), box-shadow var(--transition-base), background-color var(--transition-base);height:40px;
}
body.theme-coursera .search-box:focus-within{ border-color:var(--color-brand); box-shadow:0 0 0 3px var(--color-brand-ring); }
body.theme-coursera .search-box span{ color:var(--color-muted); font-size:var(--font-base); }
body.theme-coursera .segmented{
  background:var(--color-surface-3);border-radius:var(--radius-button);
  padding:3px;display:inline-flex;border:1px solid var(--color-line);
}
body.theme-coursera .segmented button{
  padding:var(--space-2) var(--space-4);border-radius:var(--radius-xs);
  font-size:var(--font-md);font-weight:var(--weight-medium);color:var(--color-muted);
  transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);border:0;background:transparent;cursor:pointer;
}
body.theme-coursera .segmented button.active{
  background:var(--color-surface);color:var(--color-ink);
  font-weight:var(--weight-semibold);box-shadow:0 1px 3px color-mix(in srgb,var(--color-ink) 8%,transparent);
}
body.theme-coursera .module-intro{
  background:var(--color-brand-gradient);border-radius:var(--radius-md);
  color:var(--color-white);position:relative;overflow:hidden;
}
body.theme-coursera .module-intro:after{ border-color:rgba(255,255,255,.08); }
body.theme-coursera .course-item{
  background:var(--color-surface);border:1px solid var(--color-line);
  border-radius:var(--radius-card);padding:var(--space-5) var(--space-6);
  cursor:pointer;transition:transform var(--transition-base) cubic-bezier(.4,0,.2,1), box-shadow var(--transition-base) cubic-bezier(.4,0,.2,1), border-color var(--transition-base) cubic-bezier(.4,0,.2,1);
  box-shadow:0 1px 3px color-mix(in srgb,var(--color-ink) 4%,transparent);position:relative;overflow:hidden;
}
body.theme-coursera .course-item:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 40px color-mix(in srgb,var(--color-ink) 10%,transparent),0 4px 12px color-mix(in srgb,var(--color-ink) 6%,transparent);
  border-color:var(--color-brand-ring);
}
body.theme-coursera .course-item.open:hover h3{ color:var(--color-brand); }
body.theme-coursera .course-item.completed{ border-color:var(--color-success-soft); background:var(--color-success-soft); }
body.theme-coursera .course-item.recommended{ border-color:var(--color-brand-ring); }
body.theme-coursera .course-item.locked,
body.theme-coursera .course-item.member-locked{ opacity:.6; }
body.theme-coursera .course-item:after{ display:none; }
body.theme-coursera .course-item header{ display:flex; justify-content:space-between; align-items:center; margin-bottom:var(--space-3); }
body.theme-coursera .course-item small{ font-size:var(--font-xs); color:var(--color-muted); font-weight:var(--weight-bold); letter-spacing:.14em; }
body.theme-coursera .course-badge{
  background:var(--color-brand-ring);color:var(--color-brand);
  padding:3px var(--space-2);border-radius:var(--radius-button);
  font-size:var(--font-xs);font-weight:var(--weight-semibold);border:1px solid var(--color-brand-soft);
}
body.theme-coursera .course-item.completed .course-badge{ background:var(--color-success-soft); color:var(--color-success); border-color:transparent; }
body.theme-coursera .course-item h3{
  font-size:var(--font-lg);font-weight:var(--weight-semibold);
  margin:0 0 var(--space-1);color:var(--color-ink);
  line-height:1.4;letter-spacing:-.01em;transition:color var(--transition-base);
}
body.theme-coursera .course-item p{ font-size:var(--font-md); color:var(--color-muted); margin:0 0 var(--space-3); line-height:1.6; }
body.theme-coursera .course-meta{ display:flex; gap:var(--space-2); flex-wrap:wrap; }
body.theme-coursera .course-meta .course-badge{ background:var(--color-surface-3); color:var(--color-muted); border:0; font-weight:var(--weight-medium); }
body.theme-coursera .course-list .course-item{
  opacity:0;transform:translateY(12px);
  animation:fadeUpItem .4s cubic-bezier(.4,0,.2,1) forwards;
}

/* =========================================================
   8. Studio / Modal / Lesson
   ========================================================= */
body.theme-coursera .studio{ background:var(--color-surface); backdrop-filter:none; -webkit-backdrop-filter:none; }
body.theme-coursera .studio.open .studio-body{ animation:studioSlideUp .3s cubic-bezier(.4,0,.2,1); }
@keyframes studioSlideUp{ from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:none} }
body.theme-coursera .studio-head{
  background:var(--color-surface);border-bottom:1px solid var(--color-line);
  padding:0 var(--space-8);height:68px;box-shadow:0 1px 3px color-mix(in srgb,var(--color-ink) 4%,transparent);
}
body.theme-coursera .mini-seal{
  background:var(--color-brand-gradient);color:var(--color-white);
  border-radius:var(--radius-md);border:0;box-shadow:var(--shadow-button);
}
body.theme-coursera .studio-progress{ height:3px; background:var(--color-surface-3); border-radius:0; overflow:hidden; }
body.theme-coursera .studio-progress i{
  background:var(--color-brand-gradient);border-radius:0;
  transition:width var(--transition-slow) cubic-bezier(.4,0,.2,1);position:relative;
}
body.theme-coursera .studio-progress i:after{
  content:"";position:absolute;top:0;right:0;width:40px;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.4));
  animation:progressShine 2s ease-in-out infinite;
}
@keyframes progressShine{ 0%{transform:translateX(-100%)} 100%{transform:translateX(100%)} }
body.theme-coursera .icon-btn{
  width:36px;height:36px;border-radius:var(--radius-button);
  background:transparent;border:0;cursor:pointer;
  display:grid;place-items:center;
  transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);color:var(--color-muted);
}
body.theme-coursera .icon-btn:hover{ background:var(--color-surface-2); color:var(--color-ink); }
body.theme-coursera .step-kicker{
  color:var(--color-muted);font-size:var(--font-md);font-weight:var(--weight-medium);
  display:flex;align-items:center;justify-content:space-between;
}
body.theme-coursera .step-kicker b{
  color:var(--color-brand);font-weight:var(--weight-bold);
  letter-spacing:.14em;font-size:var(--font-xs);text-transform:uppercase;
}
body.theme-coursera .diag-shell h1,
body.theme-coursera .lesson-screen h1{
  font:var(--weight-bold) clamp(36px,4.5vw,52px)/1.15 var(--font-heading);
  letter-spacing:-.03em;margin:var(--space-5) 0 var(--space-4);color:var(--color-ink);
}
body.theme-coursera .diag-shell>.lead,
body.theme-coursera .lesson-screen>.lead{
  font-size:var(--font-xl);line-height:1.7;color:var(--color-muted);max-width:820px;
}
body.theme-coursera .instruction{
  display:flex;align-items:center;gap:var(--space-3);
  background:var(--color-brand-soft);border-radius:var(--radius-md);
  padding:14px 18px;margin:var(--space-6) 0;color:var(--color-ink);
  font-size:var(--font-base);border-left:4px solid var(--color-brand);line-height:1.5;
}
body.theme-coursera .instruction b{
  width:28px;height:28px;border-radius:var(--radius-sm);
  background:var(--color-brand-gradient);color:var(--color-white);
  display:grid;place-items:center;font-weight:var(--weight-bold);
  font-size:var(--font-base);flex-shrink:0;
}
body.theme-coursera .inquiry-card{
  background:var(--color-surface);border:1px solid var(--color-line);
  border-top:3px solid var(--color-brand);
  border-radius:0 0 var(--radius-md) var(--radius-md);
  padding:var(--space-6);margin:var(--space-5) 0 var(--space-7);
  display:flex;justify-content:space-between;align-items:center;
  box-shadow:0 2px 12px color-mix(in srgb,var(--color-ink) 4%,transparent);transition:transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);
}
body.theme-coursera .inquiry-card:hover{ box-shadow:0 4px 20px var(--color-brand-ring); }
body.theme-coursera .inquiry-card span{ font-size:var(--font-xs); letter-spacing:.12em; color:var(--color-brand); font-weight:var(--weight-bold); }
body.theme-coursera .inquiry-card strong{ font:var(--weight-bold) var(--font-2xl)/1.4 var(--font-sans); color:var(--color-ink); letter-spacing:-.01em; }
body.theme-coursera .inquiry-card small{ color:var(--color-muted); font-size:var(--font-md); }
body.theme-coursera .select-tag{
  border:1px solid var(--color-line-strong);background:var(--color-surface);
  border-radius:var(--radius-sm);padding:var(--space-2) 18px;
  cursor:pointer;color:var(--color-ink);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);
  font-size:var(--font-base);font-weight:var(--weight-medium);
}
body.theme-coursera .select-tag:before{
  content:"+";display:inline-grid;place-items:center;
  width:20px;height:20px;border-radius:var(--radius-button);
  background:var(--color-surface-2);margin-right:var(--space-2);
  font-size:var(--font-base);font-weight:var(--weight-semibold);color:var(--color-muted);
}
body.theme-coursera .select-tag:hover{ border-color:var(--color-brand); color:var(--color-brand); background:var(--color-brand-soft); }
body.theme-coursera .select-tag.selected{
  background:var(--color-brand-soft);border-color:var(--color-brand);
  color:var(--color-brand);font-weight:var(--weight-semibold);
}
body.theme-coursera .select-tag.selected:before{ content:"\2713"; background:var(--color-brand-gradient); color:var(--color-white); }
body.theme-coursera .diag-actions,
body.theme-coursera .lesson-actions{
  display:flex;align-items:center;justify-content:space-between;
  margin-top:var(--space-10);padding-top:var(--space-7);
  border-top:1px solid var(--color-line);gap:var(--space-4);
}
body.theme-coursera .diag-actions small{ color:var(--color-muted); font-size:var(--font-md); }
body.theme-coursera .studio-body{
  background:var(--color-surface);min-height:calc(100vh - 68px);
  padding:56px 0 96px;
  width:min(1280px,calc(100% - 64px));margin:0 auto;
}
body.theme-coursera .lesson-body{ width:min(1280px,calc(100% - 64px)); margin:0 auto; }
body.theme-coursera .lesson-screen{ max-width:1180px; margin:0 auto; }
body.theme-coursera .diag-shell{ max-width:1080px; margin:0 auto; }
body.theme-coursera .feedback-panel{
  margin-top:var(--space-6);background:var(--color-surface);
  border:1px solid var(--color-line);border-left:4px solid var(--color-brand);
  border-radius:0 var(--radius-md) var(--radius-md) 0;
  padding:var(--space-5) var(--space-6);
}
body.theme-coursera .feedback-panel h3{ margin:0 0 var(--space-2); font:var(--weight-bold) var(--font-xl) var(--font-sans); color:var(--color-ink); }
body.theme-coursera .feedback-panel p{ color:var(--color-muted); margin:0; line-height:1.6; }
body.theme-coursera .choice-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-4); margin-top:var(--space-7); }
body.theme-coursera .choice-card{
  background:var(--color-surface);border:1px solid var(--color-line);
  border-radius:var(--radius-md);padding:var(--space-5);
  text-align:left;cursor:pointer;min-height:120px;
  transition:transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);position:relative;overflow:hidden;
}
body.theme-coursera .choice-card:hover{ border-color:var(--color-brand); transform:translateY(-2px); box-shadow:0 6px 20px var(--color-brand-soft); }
body.theme-coursera .choice-card.selected{ border-color:var(--color-brand); background:var(--color-brand-soft); box-shadow:0 0 0 3px var(--color-brand-ring); }
body.theme-coursera .choice-card span{ font-size:var(--font-xs); color:var(--color-brand); letter-spacing:.1em; font-weight:var(--weight-bold); }
body.theme-coursera .choice-card b{ display:block; font:var(--weight-semibold) var(--font-lg) var(--font-sans); margin-top:var(--space-2); color:var(--color-ink); }
body.theme-coursera .lesson-grid{ display:grid; grid-template-columns:1fr 1fr; gap:var(--space-8); margin-top:36px; }
body.theme-coursera .scenario-card{
  background:var(--color-surface);border:1px solid var(--color-line);
  border-radius:var(--radius-card);padding:var(--space-8);
  position:relative;overflow:hidden;
  box-shadow:0 1px 3px color-mix(in srgb,var(--color-ink) 4%,transparent);
  transition:transform var(--transition-base) cubic-bezier(.4,0,.2,1), box-shadow var(--transition-base) cubic-bezier(.4,0,.2,1), border-color var(--transition-base) cubic-bezier(.4,0,.2,1);
}
body.theme-coursera .scenario-card:hover{ box-shadow:0 4px 16px color-mix(in srgb,var(--color-ink) 8%,transparent); transform:translateY(-1px); }
body.theme-coursera .scenario-card.quote{
  background:linear-gradient(145deg,var(--color-brand-soft),var(--color-info-soft) 50%,var(--color-steel-soft));
  color:var(--color-brand-active);border:1px solid var(--color-steel-soft);
  border-left:6px solid var(--color-brand);
  border-radius:0 var(--radius-card) var(--radius-card) 0;
  box-shadow:0 8px 32px var(--color-brand-ring);
  display:flex;flex-direction:column;gap:var(--space-5);
}
body.theme-coursera .scenario-card.quote:before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--color-brand-active),var(--color-brand),var(--color-steel));
  border-radius:0;z-index:1;
}
body.theme-coursera .scenario-card.quote span{
  font-size:var(--font-xs);font-weight:var(--weight-bold);
  letter-spacing:.14em;color:var(--color-white);text-transform:uppercase;
  display:inline-block;position:relative;z-index:2;
  padding:var(--space-1) var(--space-2);background:var(--color-brand);
  border-radius:var(--radius-button);width:fit-content;
}
body.theme-coursera .scenario-card.quote p{
  font:var(--weight-semibold) var(--font-2xl)/1.6 var(--font-serif);
  margin:0;color:var(--color-brand-active);letter-spacing:-.01em;
  position:relative;z-index:2;
}
body.theme-coursera .scenario-card.quote:after{
  content:"\201C";position:absolute;top:16px;right:24px;
  font-size:120px;font-family:Georgia,serif;
  color:var(--color-brand-ring);line-height:1;z-index:1;font-weight:var(--weight-bold);
}
body.theme-coursera .decision-options{ display:grid; gap:14px; }
body.theme-coursera .decision-option{
  background:var(--color-surface);border:1px solid var(--color-line);
  border-radius:var(--radius-md);padding:var(--space-5) var(--space-6);
  text-align:left;cursor:pointer;transition:background-color var(--transition-base), color var(--transition-base), border-color var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base), opacity var(--transition-base);
  position:relative;overflow:hidden;box-shadow:0 1px 2px color-mix(in srgb,var(--color-ink) 3%,transparent);
}
body.theme-coursera .decision-option:hover{
  border-color:var(--color-brand);background:var(--color-brand-soft);
  transform:translateX(6px);box-shadow:0 4px 16px var(--color-brand-ring);
}
body.theme-coursera .decision-option:before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--color-brand-gradient);transform:scaleY(0);
  transition:transform var(--transition-base);transform-origin:bottom;
}
body.theme-coursera .decision-option:hover:before{ transform:scaleY(1); }
body.theme-coursera .decision-option b{
  display:block;font-size:var(--font-lg);font-weight:var(--weight-semibold);
  color:var(--color-ink);margin-bottom:var(--space-1);font-family:var(--font-sans);
  transition:color var(--transition-base);
}
body.theme-coursera .decision-option:hover b{ color:var(--color-brand); }
body.theme-coursera .decision-option small{
  color:var(--color-muted);font-size:var(--font-md);line-height:1.6;
  display:block;transition:color var(--transition-base);
}
body.theme-coursera .decision-option.correct{
  border-color:var(--color-success);background:var(--color-success-soft);
  transform:translateX(6px);box-shadow:0 4px 16px rgba(24,128,56,.15);
}
body.theme-coursera .decision-option.correct:before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:4px;
  background:var(--color-success);transform:scaleY(1);
}
body.theme-coursera .decision-option.correct b{ color:var(--color-success); }
body.theme-coursera .decision-option.correct small{ color:var(--color-success); }
body.theme-coursera .decision-option.wrong{
  border-color:var(--color-error);background:var(--color-error-soft);
  transform:translateX(6px);box-shadow:0 4px 16px rgba(209,50,18,.12);
}
body.theme-coursera .decision-option.wrong:before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:4px;
  background:var(--color-error);transform:scaleY(1);
}
body.theme-coursera .decision-option.wrong b{ color:var(--color-error); }
body.theme-coursera .decision-option.wrong small{ color:var(--color-brand); }

/* =========================================================
   9. Definition Lab / Interactive
   ========================================================= */
body.theme-coursera .definition-lab{
  display:grid;grid-template-columns:380px 1fr;gap:var(--space-10);
  align-items:center;margin-top:36px;
}
body.theme-coursera .definition-art{
  height:360px;background:var(--color-surface-2);border:1px solid var(--color-line);
  border-radius:var(--radius-lg);display:grid;place-items:center;
  position:relative;overflow:hidden;
}
body.theme-coursera .definition-art:before,
body.theme-coursera .definition-art:after{
  content:"";position:absolute;border-radius:var(--radius-round);
  border:1px solid var(--color-brand-ring);
}
body.theme-coursera .definition-art:before{ width:280px;height:280px; }
body.theme-coursera .definition-art:after{ width:220px;height:320px; transform:rotate(35deg); }
body.theme-coursera .definition-core{
  width:180px;height:180px;border-radius:var(--radius-round);
  display:grid;place-content:center;text-align:center;z-index:2;
  color:var(--color-white);
  background:radial-gradient(circle at 32% 26%,#fff,#bcc3c6 27%,#737d81 52%,#202527 73%,#dfe4e5 75%,#687175);
  box-shadow:inset -15px -20px 30px color-mix(in srgb,var(--color-ink) 35%,transparent),0 24px 40px color-mix(in srgb,var(--color-ink) 24%,transparent);
}
body.theme-coursera .definition-core b{ font:var(--weight-bold) var(--font-2xl) var(--font-sans); }
body.theme-coursera .definition-core small{ font-size:var(--font-xs); color:rgba(255,255,255,.9); }
body.theme-coursera .lab-control{ margin:var(--space-6) 0; }
body.theme-coursera .lab-control header{
  display:flex;justify-content:space-between;font-size:var(--font-md);
  color:var(--color-muted);margin-bottom:var(--space-2);
}
body.theme-coursera .lab-control input[type="range"]{ width:100%; accent-color:var(--color-brand); height:6px; }
body.theme-coursera .verdict{
  border-left:4px solid var(--color-brand);padding:14px 18px;
  background:var(--color-brand-soft);border-radius:0 var(--radius-md) var(--radius-md) 0;
  font-size:var(--font-base);line-height:1.6;color:var(--color-ink);
}
body.theme-coursera .family-tabs{ display:flex; gap:var(--space-2); flex-wrap:wrap; margin:var(--space-6) 0; }
body.theme-coursera .family-tabs button{
  border:1px solid var(--color-line-strong);background:var(--color-surface);
  border-radius:var(--radius-sm);padding:var(--space-2) 18px;
  cursor:pointer;font-size:var(--font-base);font-weight:var(--weight-medium);
  transition:color var(--transition-fast), background-color var(--transition-fast);color:var(--color-ink);
}
body.theme-coursera .family-tabs button:hover{ border-color:var(--color-brand); color:var(--color-brand); background:var(--color-brand-soft); }
body.theme-coursera .family-tabs button.active{
  background:var(--color-brand-gradient);color:var(--color-white);
  border-color:var(--color-brand);font-weight:var(--weight-semibold);
  box-shadow:var(--shadow-button);
}
body.theme-coursera .family-panel{
  display:grid;grid-template-columns:240px 1fr;gap:var(--space-7);
  background:var(--color-surface);border:1px solid var(--color-line);
  border-top:3px solid var(--color-brand);
  border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:var(--space-7);
  align-items:start;
}
body.theme-coursera .family-mark{
  width:170px;height:170px;border-radius:var(--radius-round);
  display:grid;place-items:center;text-align:center;
  background:radial-gradient(circle,var(--color-surface),#d7dde0 52%,#8e979b);
  color:#2b3032;font:var(--weight-bold) var(--font-2xl) var(--font-sans);
}
body.theme-coursera .family-panel h2{ font:var(--weight-bold) 26px var(--font-sans); margin:0 0 var(--space-2); letter-spacing:-.015em; }
body.theme-coursera .family-panel p{ color:var(--color-muted); line-height:1.6; }
body.theme-coursera .evidence-stack{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-4); margin-top:var(--space-8); }
body.theme-coursera .evidence-card{
  background:var(--color-surface);border:1px solid var(--color-line);
  border-top:4px solid var(--color-success);
  border-radius:0 0 var(--radius-md) var(--radius-md);
  padding:var(--space-5);cursor:pointer;min-height:220px;
  transition:transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);
}
body.theme-coursera .evidence-card:hover{ transform:translateY(-3px); box-shadow:0 8px 24px color-mix(in srgb,var(--color-ink) 8%,transparent); }
body.theme-coursera .evidence-card.synthesis-card{ border-top-color:var(--color-warning); }
body.theme-coursera .evidence-card.boundary-card{ border-top-color:var(--color-brand); }
body.theme-coursera .evidence-card span{ font-size:var(--font-xs); letter-spacing:.12em; color:var(--color-muted); font-weight:var(--weight-semibold); }
body.theme-coursera .evidence-card h3{ font:var(--weight-bold) var(--font-xl) var(--font-sans); margin:var(--space-2) 0; }
body.theme-coursera .evidence-card p{ color:var(--color-muted); font-size:var(--font-md); line-height:1.6; }
body.theme-coursera .teachback{
  background:var(--color-surface);border:1px solid var(--color-line);
  border-top:3px solid var(--color-brand);
  border-radius:0 0 var(--radius-lg) var(--radius-lg);
  padding:var(--space-7);margin-top:var(--space-7);
}
body.theme-coursera .teachback textarea{
  width:100%;min-height:160px;
  border:1px solid var(--color-line-strong);border-radius:var(--radius-md);
  background:var(--color-surface);padding:var(--space-4);
  resize:vertical;font-size:var(--font-base);line-height:1.6;
  font-family:inherit;transition:border-color var(--transition-fast);
}
body.theme-coursera .teachback textarea:focus{ outline:none; border-color:var(--color-brand); box-shadow:0 0 0 3px var(--color-brand-ring); }
body.theme-coursera .coach-result{
  margin-top:var(--space-4);padding:18px 22px;
  background:var(--color-brand-soft);border-radius:var(--radius-md);
  border-left:4px solid var(--color-brand);
}
body.theme-coursera .coach-result h3{ margin-top:0; font:var(--weight-bold) var(--font-xl) var(--font-sans); color:var(--color-ink); }
body.theme-coursera .rubric-line{ display:flex; align-items:center; gap:var(--space-2); font-size:var(--font-md); margin:var(--space-1) 0; }
body.theme-coursera .rubric-line.hit{ color:var(--color-success); }
body.theme-coursera .rubric-line.miss{ color:var(--color-brand); }
body.theme-coursera .completion-card{
  text-align:center;
  background:linear-gradient(180deg,var(--color-surface),var(--color-surface-2));
  border:1px solid var(--color-line);
  border-top:5px solid var(--color-brand);
  border-radius:0 0 var(--radius-xl) var(--radius-xl);
  padding:var(--space-12) 36px;
  box-shadow:0 4px 24px var(--color-brand-ring);
}
body.theme-coursera .completion-seal{
  width:80px;height:80px;margin:0 auto var(--space-5);
  border:2px solid var(--color-brand);border-radius:var(--radius-round);
  display:grid;place-items:center;color:var(--color-brand);
  font:var(--weight-bold) var(--font-2xl) var(--font-sans);
  background:var(--color-surface);box-shadow:0 4px 16px var(--color-brand-ring);
}
body.theme-coursera .completion-card h1{ font:var(--weight-bold) var(--font-4xl) var(--font-sans); letter-spacing:-.02em; margin:0 0 var(--space-3); }
body.theme-coursera .completion-card p{ color:var(--color-muted); line-height:1.6; }
body.theme-coursera .completion-actions{ display:flex; justify-content:center; gap:var(--space-3); margin-top:var(--space-7); }
body.theme-coursera .report-card{
  background:linear-gradient(150deg,var(--color-surface),var(--color-surface-2));
  border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--space-8);
}
body.theme-coursera .report-top{ display:flex; justify-content:space-between; gap:var(--space-6); align-items:flex-start; }
body.theme-coursera .report-score{ font:var(--weight-bold) 64px var(--font-sans); color:var(--color-brand); line-height:1; letter-spacing:-.02em; }
body.theme-coursera .report-score small{ font:var(--font-sm) var(--font-sans); color:var(--color-muted); display:block; margin-top:var(--space-1); font-weight:var(--weight-medium); }
body.theme-coursera .report-card h1{ font:var(--weight-bold) 32px var(--font-sans); letter-spacing:-.02em; }
body.theme-coursera .report-bars{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:var(--space-6) 0; }
body.theme-coursera .report-bar{ background:var(--color-surface); border:1px solid var(--color-line); border-radius:var(--radius-md); padding:14px 18px; }
body.theme-coursera .report-bar header{ display:flex; justify-content:space-between; font-size:var(--font-md); font-weight:var(--weight-medium); color:var(--color-ink); }
body.theme-coursera .report-bar i{ display:block; height:6px; background:var(--color-surface-2); border-radius:var(--radius-badge); margin-top:var(--space-2); overflow:hidden; }
body.theme-coursera .report-bar i b{ display:block; height:100%; background:var(--color-brand-gradient); border-radius:var(--radius-badge); }
body.theme-coursera .progress-wrap{ height:6px; border-radius:var(--radius-badge); background:var(--color-brand-ring); }
body.theme-coursera .progress-bar{
  height:6px;border-radius:var(--radius-badge);
  background:var(--color-brand-gradient);
  transition:width var(--transition-slow) cubic-bezier(.4,0,.2,1);position:relative;
}
body.theme-coursera .progress-bar:after{
  content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);
  width:8px;height:8px;background:var(--color-surface);
  border-radius:var(--radius-round);box-shadow:0 0 0 2px var(--color-brand);
}

/* =========================================================
   10. Auth / Account
   ========================================================= */
body.theme-coursera .auth-card{
  border-radius:var(--radius-md);overflow:hidden;
  box-shadow:var(--shadow-card);border:1px solid var(--color-line);
}
body.theme-coursera .auth-aside{
  background:var(--color-brand-gradient);padding:var(--space-10) var(--space-8);
  position:relative;overflow:hidden;
}
body.theme-coursera .auth-aside:after{
  content:"";position:absolute;width:300px;height:300px;
  border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-round);
  right:-120px;bottom:-120px;
}
body.theme-coursera .auth-aside:before{
  content:"";position:absolute;width:200px;height:200px;
  border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-round);
  right:-60px;top:-80px;
}
body.theme-coursera .auth-aside h2{
  font-size:var(--font-2xl);font-weight:var(--weight-semibold);line-height:1.35;
  margin:var(--space-4) 0 var(--space-3);color:var(--color-white);
  position:relative;z-index:1;
}
body.theme-coursera .auth-aside p{ font-size:var(--font-md); color:rgba(255,255,255,.7); line-height:1.6; position:relative; z-index:1; }
body.theme-coursera .auth-points{ display:grid; gap:var(--space-2); margin-top:var(--space-7); position:relative; z-index:1; }
body.theme-coursera .auth-points span{
  font-size:var(--font-sm);color:rgba(255,255,255,.85);
  border:1px solid rgba(255,255,255,.15);
  border-radius:var(--radius-button);padding:var(--space-2) var(--space-3);
  background:rgba(255,255,255,.04);transition:background-color var(--transition-base), color var(--transition-base), border-color var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base), opacity var(--transition-base);
  position:relative;padding-left:28px;
}
body.theme-coursera .auth-points span:before{
  content:"\2713";position:absolute;left:10px;top:50%;transform:translateY(-50%);
  color:rgba(255,255,255,.6);font-size:var(--font-xs);font-weight:var(--weight-bold);
}
body.theme-coursera .auth-points span:hover{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.25); transform:translateX(2px); }
body.theme-coursera .auth-main{ padding:var(--space-7) var(--space-8); }
body.theme-coursera .auth-tabs{
  background:var(--color-surface-2);border-radius:var(--radius-button);
  padding:3px;display:flex;
}
body.theme-coursera .auth-tabs button{
  padding:var(--space-2);border-radius:var(--radius-xs);
  font-size:var(--font-base);font-weight:var(--weight-medium);color:var(--color-muted);
  flex:1;border:0;background:transparent;cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast);
}
body.theme-coursera .auth-tabs button.active{
  background:var(--color-surface);color:var(--color-ink);
  font-weight:var(--weight-semibold);box-shadow:0 1px 3px color-mix(in srgb,var(--color-ink) 6%,transparent);
}
body.theme-coursera .diagnostic-entry{ padding:var(--space-2) 0; }
body.theme-coursera .diag-entry-head{ text-align:center; margin-bottom:var(--space-7); }
body.theme-coursera .diag-entry-head h2{
  font-size:var(--font-2xl);font-weight:var(--weight-semibold);
  margin:var(--space-3) 0 var(--space-2);color:var(--color-ink);line-height:1.4;
}
body.theme-coursera .diag-entry-head p{ font-size:var(--font-base); color:var(--color-muted); line-height:1.6; margin:0; }
body.theme-coursera .diag-entry-list{ margin-bottom:var(--space-7); }
body.theme-coursera .diag-entry-item{
  display:flex;align-items:center;gap:14px;
  padding:var(--space-3) 14px;background:var(--color-surface);
  border:1px solid var(--color-line);border-radius:var(--radius-sm);
  margin-bottom:var(--space-2);transition:transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);
}
body.theme-coursera .diag-entry-item:hover{ border-color:var(--color-brand-soft); background:var(--color-brand-soft); transform:translateX(2px); }
body.theme-coursera .diag-entry-icon{
  width:36px;height:36px;border-radius:var(--radius-sm);
  background:var(--color-brand-soft);display:grid;place-items:center;flex-shrink:0;
}
body.theme-coursera .diag-entry-item h3{ font-size:var(--font-md); font-weight:var(--weight-semibold); color:var(--color-ink); margin:0 0 2px; }
body.theme-coursera .diag-entry-item small{ font-size:var(--font-sm); color:var(--color-muted); }
body.theme-coursera .diag-entry-note{ text-align:center; font-size:var(--font-sm); color:var(--color-muted); margin-top:var(--space-4); line-height:1.6; }
body.theme-coursera .form-field input,
body.theme-coursera .form-field select{
  border:1px solid var(--color-line-strong);background:var(--color-surface);
  border-radius:var(--radius-input);transition:border-color var(--transition-base), box-shadow var(--transition-base), background-color var(--transition-base);
  font-size:var(--font-base);padding:var(--space-2) 14px;height:40px;
}
body.theme-coursera .form-field input:focus,
body.theme-coursera .form-field select:focus{ border-color:var(--color-brand); box-shadow:0 0 0 3px var(--color-brand-ring); }
body.theme-coursera .account-sidebar{
  background:var(--color-surface);border:1px solid var(--color-line);
  border-radius:var(--radius-md);padding:var(--space-5);
}
body.theme-coursera .profile-avatar{
  width:48px;height:48px;border-radius:var(--radius-md);
  background:var(--color-brand);color:var(--color-white);
  display:grid;place-items:center;font-size:var(--font-xl);font-weight:var(--weight-semibold);
}
body.theme-coursera .account-menu button{
  display:block;width:100%;text-align:left;
  padding:var(--space-2) var(--space-3);border:0;background:transparent;
  border-radius:var(--radius-button);cursor:pointer;font-size:var(--font-base);
  color:var(--color-muted);font-weight:var(--weight-medium);
  transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);margin-bottom:2px;
}
body.theme-coursera .account-menu button:hover{ background:var(--color-surface-2); color:var(--color-ink); }
body.theme-coursera .account-menu button.active{ background:var(--color-brand-soft); color:var(--color-brand); font-weight:var(--weight-semibold); }
body.theme-coursera .metric-card{
  background:var(--color-surface);border:1px solid var(--color-line);
  border-radius:var(--radius-md);padding:var(--space-5);transition:transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);
}
body.theme-coursera .metric-card:hover{ border-color:var(--color-line-strong); box-shadow:var(--shadow-card-hover); transform:translateY(-2px); }
body.theme-coursera .metric-card small{ font-size:var(--font-sm); color:var(--color-muted); font-weight:var(--weight-medium); }
body.theme-coursera .metric-card b{ display:block; font-size:var(--font-3xl); font-weight:var(--weight-bold); color:var(--color-brand); margin-top:var(--space-1); }

/* =========================================================
   11. Price Cards
   ========================================================= */
body.theme-coursera .price-card{
  background:var(--color-surface);border:1px solid var(--color-line);
  border-radius:var(--radius-md);padding:var(--space-7);
  transition:transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);position:relative;
}
body.theme-coursera .price-card:hover{ transform:translateY(-2px); box-shadow:var(--shadow-card-hover); border-color:var(--color-line-strong); }
body.theme-coursera .price-card.featured{ border:2px solid var(--color-brand); transform:none; }
body.theme-coursera .price-card.featured:hover{ transform:translateY(-2px); box-shadow:0 8px 24px var(--color-brand-ring); }
body.theme-coursera .price-card:after{ display:none; }
body.theme-coursera .recommend-badge{
  position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:var(--color-brand);color:var(--color-white);
  padding:var(--space-1) var(--space-3);border-radius:var(--radius-button);
  font-size:var(--font-sm);font-weight:var(--weight-semibold);
}
body.theme-coursera .price-card h2{ font-size:var(--font-2xl); font-weight:var(--weight-bold); margin:var(--space-2) 0; color:var(--color-ink); }
body.theme-coursera .price{ font-size:var(--font-4xl); font-weight:var(--weight-bold); color:var(--color-ink); margin:var(--space-4) 0; }
body.theme-coursera .price small{ font-size:var(--font-base); color:var(--color-muted); font-weight:var(--weight-regular); }
body.theme-coursera .price-card ul{ list-style:none; padding:0; margin:var(--space-5) 0; }
body.theme-coursera .price-card li{
  padding:var(--space-1) 0;padding-left:var(--space-6);position:relative;
  font-size:var(--font-base);color:var(--color-ink);line-height:1.5;
}
body.theme-coursera .price-card li:before{
  content:"\2713";position:absolute;left:0;color:var(--color-success);
  font-weight:var(--weight-bold);font-size:var(--font-md);
}

/* =========================================================
   12. Certificate
   ========================================================= */
body.theme-coursera .cert-hero{ display:grid; grid-template-columns:1fr 1fr; gap:var(--space-12); align-items:center; }
body.theme-coursera .certificate-mini{
  background:var(--color-surface);border:1px solid var(--color-line);
  border-radius:var(--radius-md);padding:var(--space-7);text-align:center;
}
body.theme-coursera .cert-seal-mini{
  width:80px;height:80px;margin:0 auto var(--space-4);
  color:var(--color-brand);
  border-radius:0;display:grid;place-items:center;
  filter:drop-shadow(0 2px 4px color-mix(in srgb,var(--color-ink) 15%,transparent));
}
body.theme-coursera .certificate-mini h2{ font-size:var(--font-xl); font-weight:var(--weight-semibold); margin:0 0 var(--space-2); color:var(--color-ink); }
body.theme-coursera .certificate-mini p{ font-size:var(--font-md); color:var(--color-muted); margin:0; }
body.theme-coursera .eligibility-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:var(--space-3) 0;border-bottom:1px solid var(--color-line);
}
body.theme-coursera .eligibility-row:last-child{ border-bottom:0; }
body.theme-coursera .eligibility-row span{ color:var(--color-muted); font-size:var(--font-base); }
body.theme-coursera .eligibility-row b.ok{ color:var(--color-success); }
body.theme-coursera .eligibility-row b.wait{ color:var(--color-warning); }
body.theme-coursera .verification-box{
  margin-top:var(--space-12);padding:var(--space-7);
  background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);
}

/* =========================================================
   13. Text Selection & Scrollbar
   ========================================================= */
body.theme-coursera ::selection{ background:var(--color-brand-ring); color:var(--color-ink); }
body.theme-coursera ::-webkit-scrollbar{ width:8px; height:8px; }
body.theme-coursera ::-webkit-scrollbar-track{ background:var(--color-surface-2); }
body.theme-coursera ::-webkit-scrollbar-thumb{ background:var(--color-line-strong); border-radius:var(--radius-pill); }
body.theme-coursera ::-webkit-scrollbar-thumb:hover{ background:var(--color-steel); }
