:root{--bg:#faf8f2;--paper:#fff;--ink:#20231f;--accent:#2e5a44;--pop:#d4b75b;--line:#ccd3ca;--muted:#526052;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Noto Sans TC",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink)}a{color:var(--accent);text-underline-offset:4px}button,input{font:inherit}a,button{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--pop);outline-offset:4px}[hidden]{display:none!important}img,video{max-width:100%}p,li{line-height:1.85}p{margin:0 0 1.2rem}h1,h2,h3{line-height:1.3;letter-spacing:-.035em}h1{font-size:clamp(2.5rem,4.8vw,4.6rem);margin:.5rem 0 1.5rem}h2{font-size:clamp(1.65rem,3vw,2.4rem);margin:.5rem 0 1.2rem}h3{font-size:1.25rem}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:10px;background:var(--paper);padding:12px;z-index:10}.commerce-header{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 4vw;border-bottom:1px solid var(--line)}.studio{font-size:1.4rem;line-height:1.05;font-weight:850;color:var(--ink);text-decoration:none;letter-spacing:-.05em}.studio span{display:block;letter-spacing:.18em;font-size:.6rem;margin-top:8px}.commerce-header nav{display:flex;align-items:center;justify-content:flex-end;gap:22px;flex-wrap:wrap;font-size:.85rem;font-weight:650}.session-label{font-size:.8rem;color:var(--muted)}.commerce-footer{display:flex;justify-content:space-between;gap:25px;padding:28px 4vw;border-top:1px solid var(--line);font-size:.78rem;line-height:1.8}.commerce-footer a{font-weight:750;text-decoration:none}.text-button{border:0;background:none;padding:8px 0;color:var(--accent);cursor:pointer}.eyebrow{font:650 .72rem/1.6 ui-monospace,monospace;letter-spacing:.12em;color:var(--accent);margin-bottom:1.5rem}.lede{font-size:1.12rem;line-height:1.9;max-width:720px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 17px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 20px;gap:8px;background:transparent;border:1px solid var(--accent);color:var(--accent);font-weight:750;font-size:.9rem;text-decoration:none;line-height:1.5;cursor:pointer}.button.primary{background:var(--accent);color:#fff}.button:hover{filter:brightness(.94)}.button:disabled{cursor:not-allowed;opacity:.6;filter:none}.status-note{font-size:.8rem;color:var(--muted);line-height:1.7}.status-banner{border-left:4px solid var(--pop);padding:14px 18px;background:var(--paper);max-width:850px;font-size:.9rem}.section{border-top:1px solid var(--line);padding:54px 0}.catalog-page{max-width:1320px;margin:auto;padding:0 4vw}.catalog-hero{padding:70px 0 58px}.catalog-hero h1{font-size:clamp(2.8rem,5.5vw,5.7rem)}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding-bottom:54px}.course-card{padding:30px;background:var(--bg);border:1px solid var(--line);color:var(--ink);display:flex;flex-direction:column;min-height:355px}.course-card h2{font-size:1.75rem}.course-card p{font-size:.93rem}.course-card .button{align-self:flex-start;margin-top:auto}.card-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.75rem;margin:4px 0 24px}.course-shell{max-width:1500px;margin:auto}.course-shell main{padding:0 4vw;min-width:0}.course-rail{display:none}.landing-hero{padding:70px 0;display:grid;grid-template-columns:1.25fr 1fr;gap:55px;align-items:center;min-height:610px}.hero-specimen{border:1px solid var(--line);padding:28px;background:var(--paper);min-width:0}.specimen-head{font:650 .75rem/1.8 ui-monospace,monospace;color:var(--accent);border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:24px}.hero-specimen dl{margin:0}.hero-specimen dt{font:650 .75rem/1.6 ui-monospace,monospace;color:var(--accent);margin-top:22px}.hero-specimen dd{margin:8px 0 22px;border-bottom:1px solid var(--line);padding-bottom:16px;line-height:1.7}.hero-specimen blockquote{font-size:1.85rem;margin:25px 0;line-height:1.7}.big-stat{font:800 112px/1 ui-monospace,monospace;color:var(--accent)}.big-stat small{display:block;font:500 .9rem/1.8 system-ui,sans-serif;letter-spacing:0;color:var(--ink);margin-top:10px}.stat-row{display:flex;gap:30px;margin-top:24px;border-top:1px solid var(--line);padding-top:24px}.stat-row span{display:flex;flex-direction:column;font-size:.8rem}.stat-row b{font:750 2rem/1.5 ui-monospace,monospace}.marketing-guide video{display:block;width:100%;max-height:570px;background:#111;aspect-ratio:16/9;margin:24px 0}.marketing-guide>p{max-width:850px;font-size:.9rem;color:var(--muted)}.curriculum-list{list-style:none;padding:0;margin:30px 0;display:grid;grid-template-columns:1fr 1fr;gap:0 36px}.curriculum-list li{display:flex;gap:20px;align-items:baseline;border-top:1px solid var(--line);padding:18px 0;font-size:.95rem}.curriculum-list span{font:650 .85rem/1.6 ui-monospace,monospace;color:var(--accent);flex:none}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px}.theme-notebook{--bg:#fff8e7;--paper:#fffdf4;--ink:#36264a;--accent:#6b3fb4;--pop:#f0c44c;--line:#d5c4ac;--muted:#6b567d}.theme-notebook .course-shell{display:grid;grid-template-columns:220px minmax(0,1fr)}.theme-notebook .course-rail{display:block;background:var(--accent);color:var(--bg);padding:34px 20px;border-right:9px solid var(--pop)}.course-rail p{font:600 .72rem/1.7 ui-monospace,monospace;letter-spacing:.1em}.course-rail h2{font-size:1.2rem}.course-rail ol{list-style:none;margin:25px 0;padding:0}.course-rail li{font-size:.8rem;padding:15px 0;display:flex;gap:10px;border-bottom:1px solid #ffffff35}.course-rail li span{font:700 .8rem/1.8 ui-monospace,monospace;color:var(--pop)}.theme-notebook .course-shell main,.theme-notebook .preview-page{background-image:linear-gradient(#decda229 1px,transparent 1px),linear-gradient(90deg,#decda229 1px,transparent 1px);background-size:26px 26px}.theme-notebook .hero-specimen{border:2px solid var(--ink);box-shadow:7px 7px 0 var(--pop)}.theme-notebook .specimen-head{background:var(--pop);margin:-28px -28px 26px;padding:13px 24px;color:var(--ink);border-bottom:2px solid var(--ink)}.theme-notebook .course-card{box-shadow:5px 5px 0 var(--pop)}.theme-newsroom{--bg:#f1f6ff;--paper:#fff;--ink:#081f49;--accent:#1d4ed8;--pop:#00a5b7;--line:#afbed6;--muted:#536780}.theme-newsroom .commerce-header{border-bottom:5px solid var(--ink)}.theme-newsroom .landing-hero{border-bottom:2px solid var(--ink)}.theme-newsroom .hero-specimen{border:0;border-left:1px solid var(--line);background:transparent}.theme-newsroom .course-card{border-top:6px solid var(--ink)}.theme-casebook{--bg:#f5ede0;--paper:#fff9f1;--ink:#38281d;--accent:#9b3f26;--pop:#bd9366;--line:#b9a88e;--muted:#795f49}.theme-casebook h1,.theme-casebook h2,.theme-casebook blockquote{font-family:ui-serif,"Songti TC","Noto Serif TC",serif;font-weight:650}.theme-casebook .commerce-header{border-top:7px solid var(--accent)}.theme-casebook .hero-specimen{border:0;border-left:5px solid var(--accent);background:transparent;box-shadow:6px 0 0 #c9bba677}.theme-casebook .landing-hero{gap:70px}.theme-casebook .course-card{border-top:5px double var(--accent)}.theme-lab{--bg:#101814;--paper:#1b2a20;--ink:#f4ffe9;--accent:#c6f34a;--pop:#75c67c;--line:#3f5545;--muted:#b2c5b7}.theme-lab .button.primary{color:#101814}.theme-lab .hero-specimen{padding:0;border-radius:4px;box-shadow:9px 9px 0 #1b2a2077}.window-bar{padding:12px 18px;display:flex;gap:8px;align-items:center;border-bottom:1px solid var(--line);font:600 .65rem/1.5 ui-monospace,monospace}.window-bar i{display:block;width:8px;height:8px;border-radius:100%;background:var(--pop)}.window-bar span{margin-left:auto}.lab-states{padding:28px;display:flex;flex-direction:column;gap:12px}.lab-states span{font:600 .7rem/1.6 ui-monospace,monospace;color:var(--accent);margin-top:16px}.lab-states b{font-weight:550;border-bottom:1px solid var(--line);padding-bottom:15px}.theme-archive{--bg:#f2f7f6;--paper:#fff;--ink:#123438;--accent:#006f83;--pop:#77c1c7;--line:#acc6c4;--muted:#4c7274}.theme-archive .commerce-header{background:#093e45;color:white;border-bottom:5px solid var(--pop)}.theme-archive .commerce-header .studio,.theme-archive .commerce-header a,.theme-archive .commerce-header button{color:white}.theme-archive .commerce-header .session-label{color:#c4e1e1}.theme-archive .course-shell{display:grid;grid-template-columns:225px minmax(0,1fr)}.theme-archive .course-rail{display:block;padding:34px 22px;border-right:1px solid var(--line)}.theme-archive .course-rail li{display:block;border-color:var(--line)}.theme-archive .course-rail li span{display:block;color:var(--accent);margin-bottom:5px}.theme-archive .hero-specimen{border:0;border-top:4px solid var(--accent);background:transparent}.theme-magazine{--bg:#fff5f1;--paper:#fffaf8;--ink:#251621;--accent:#be1b65;--pop:#ff815d;--line:#c5a5ad;--muted:#805564}.theme-magazine .commerce-header{border-top:8px solid var(--accent)}.theme-magazine .landing-hero h1{font-size:clamp(3rem,5.3vw,5.7rem);letter-spacing:-.07em}.theme-magazine .hero-specimen{border:0;background:transparent;position:relative;min-height:320px;padding-top:220px}.issue-number{position:absolute;top:0;right:0;color:var(--pop);font:italic 220px/.9 ui-serif,serif;opacity:.9}.editor-note{position:relative;font-size:1.2rem;font-weight:750;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:8px;transform:rotate(-5deg)}.format-strip{position:relative;display:flex;gap:22px;padding:15px 0;border-top:5px solid var(--pop);font:700 .7rem/1.6 ui-monospace,monospace}.theme-magazine .course-card{border-top:9px solid var(--pop)}.preview-page{max-width:1100px;margin:auto;padding:40px 5vw 65px}.back-link{display:inline-block;font-size:.85rem;margin-bottom:36px}.preview-heading{border-bottom:2px solid var(--accent);padding-bottom:24px;margin-bottom:40px}.preview-heading h1{font-size:2.8rem}.measure-note{font:600 .78rem/1.7 ui-monospace,monospace;color:var(--muted)}.preview-flow{max-width:850px;line-height:1.9;overflow-wrap:anywhere}.preview-flow h1{font-size:2rem;margin:30px 0}.preview-flow h2{font-size:1.6rem;margin-top:40px}.preview-flow h3{font-size:1.25rem;margin-top:30px}.preview-flow li{margin-bottom:9px}.preview-flow pre{padding:22px;white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--line);background:var(--paper)}.preview-flow code{font:.9em/1.9 ui-monospace,monospace;background:var(--paper)}.preview-flow figure{margin:30px 0;overflow:auto;border:1px solid var(--line);padding:12px;background:var(--paper)}.preview-flow figure img{display:block;width:900px;min-width:900px;max-width:none;height:auto}.preview-flow figcaption{font-size:.85rem;line-height:1.8;min-width:260px;padding-top:14px}.preview-flow table{display:block;max-width:100%;overflow:auto;border-collapse:collapse;margin:28px 0;font-size:.9rem}.preview-flow td,.preview-flow th{border:1px solid var(--line);padding:12px 15px;min-width:140px;text-align:left}.preview-flow th{background:var(--paper)}.partial-excerpt{border-right:3px solid var(--pop);padding-right:15px}.preview-end{border-top:3px solid var(--accent);padding-top:30px;margin-top:48px}.account-page{max-width:980px;padding:55px 24px 80px;margin:auto;min-height:calc(100vh - 200px)}.account-page h1{font-size:clamp(2.25rem,5vw,3.5rem)}.account-card{border:1px solid var(--line);padding:32px;background:var(--paper);max-width:720px;margin:30px 0}.account-card label{display:flex;align-items:flex-start;gap:12px;margin:24px 0;line-height:1.8}.account-card input[type=checkbox]{width:20px;height:20px;flex:none;margin-top:5px}.account-card dl{display:grid;grid-template-columns:120px 1fr;gap:14px 20px;margin:24px 0}.account-card dt{color:var(--muted);font-size:.9rem}.account-card dd{margin:0;overflow-wrap:anywhere}.account-status{padding:15px 18px;border-left:4px solid var(--pop);background:var(--bg);line-height:1.8}.account-status.error{border-color:#a33e35}.purchase-terms{font-size:.9rem;border-top:1px solid var(--line);padding-top:24px}.small{font-size:.85rem;color:var(--muted)}#google-button{margin:25px 0;min-height:44px}#checkout-form{display:none}.noscript{padding:20px;background:#fff0cc;color:#352c1c}
@media(max-width:1100px){.catalog-grid{grid-template-columns:1fr 1fr}.landing-hero{gap:30px}.theme-notebook .course-shell,.theme-archive .course-shell{grid-template-columns:180px minmax(0,1fr)}.course-shell main{padding:0 28px}.theme-magazine .landing-hero{grid-template-columns:1fr}.theme-magazine .hero-specimen{min-height:240px;padding-top:120px}.issue-number{font-size:200px}.theme-casebook .landing-hero{gap:30px}}
@media(max-width:760px){.commerce-header{min-height:82px;align-items:flex-start;padding:19px 20px;gap:18px}.studio{font-size:1.25rem;flex:none}.studio span{font-size:.5rem}.commerce-header nav{gap:9px 15px;font-size:.75rem}.session-label{width:100%;font-size:.7rem;text-align:right}.commerce-footer{display:block;padding:25px 20px}.commerce-footer span{display:block;margin-top:9px}.catalog-page{padding:0 20px}.catalog-hero{padding:45px 0 35px}.catalog-hero h1{font-size:2.9rem}.catalog-grid{grid-template-columns:1fr;gap:22px}.course-card{padding:27px;min-height:320px}.course-shell main{padding:0 20px}.landing-hero{display:block;padding:43px 0;min-height:0}.landing-hero h1{font-size:2.9rem}.hero-specimen{margin:35px 0 10px;padding:24px}.theme-notebook .course-shell,.theme-archive .course-shell{display:block}.theme-notebook .course-rail,.theme-archive .course-rail{padding:20px;border-right:0;border-bottom:5px solid var(--pop)}.course-rail h2{font-size:1rem;margin:0}.course-rail p{margin-bottom:8px}.course-rail ol{display:flex;gap:15px;overflow:auto;scrollbar-width:thin;margin:15px 0 0;padding-bottom:8px}.course-rail li{width:190px;flex:none;border:1px solid currentColor!important;padding:12px;font-size:.75rem}.course-rail li span{flex:none}.theme-archive .course-rail li{width:180px;border-color:var(--line)!important}.theme-notebook .specimen-head{margin:-24px -24px 22px}.theme-newsroom .hero-specimen{border-left:0;border-top:1px solid var(--line);padding:25px 0}.theme-casebook .landing-hero{display:block}.theme-magazine .landing-hero h1{font-size:3.2rem}.theme-magazine .hero-specimen{min-height:230px;padding-top:125px}.section{padding:36px 0}.section-title h2{font-size:1.9rem}.curriculum-list{grid-template-columns:1fr}.access-grid{grid-template-columns:1fr;gap:15px}.actions{gap:10px}.button{padding:11px 16px;font-size:.85rem}.preview-page{padding:30px 20px 50px}.preview-heading h1{font-size:2.2rem}.preview-heading{margin-bottom:30px}.preview-flow h1{font-size:1.75rem}.preview-flow h2{font-size:1.4rem}.preview-flow p,.preview-flow li{font-size:1rem}.preview-flow ul,.preview-flow ol{padding-left:24px}.preview-flow pre{padding:15px;font-size:.85rem}.account-page{padding:40px 20px 60px}.account-card{padding:23px}.account-card dl{grid-template-columns:90px 1fr;gap:12px}.account-status{font-size:.9rem}.lede{font-size:1rem}.theme-lab .window-bar{font-size:.55rem}.window-bar span{margin-left:6px}.lab-states{padding:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.commerce-header,.commerce-footer,.actions,video,.course-rail{display:none}.course-shell,.landing-hero{display:block}.course-shell main{padding:0}.preview-flow figure img{width:100%;min-width:0}}

/* Component finish — shared craft, with six distinct material treatments. */
:root {
  --component-radius: 8px;
  --shadow-rgb: 38 48 38;
  --surface-shadow: 0 2px 3px rgb(var(--shadow-rgb) / .025), 0 14px 34px rgb(var(--shadow-rgb) / .07);
  text-rendering: optimizeLegibility;
}
body { -webkit-font-smoothing: antialiased; }
body, .course-card { --surface-shadow: 0 2px 3px rgb(var(--shadow-rgb) / .025), 0 14px 34px rgb(var(--shadow-rgb) / .07); }
h1, h2, h3 { text-wrap: balance; }
.theme-notebook { --component-radius: 4px; --shadow-rgb: 67 42 78; }
.theme-newsroom { --component-radius: 2px; --shadow-rgb: 8 31 73; }
.theme-casebook { --component-radius: 3px; --shadow-rgb: 73 46 27; }
.theme-lab { --component-radius: 10px; --shadow-rgb: 0 0 0; color-scheme: dark; }
.theme-archive { --component-radius: 5px; --shadow-rgb: 13 65 70; }
.theme-magazine { --component-radius: 0px; --shadow-rgb: 81 26 54; }

button:focus-visible, a:focus-visible, input:focus-visible {
  outline: 3px solid var(--focus-ring, var(--accent));
  outline-offset: 4px;
  box-shadow: 0 0 0 6px var(--paper);
}
.commerce-header {
  background: var(--paper);
  box-shadow: 0 2px 0 rgb(var(--shadow-rgb) / .025);
  position: relative;
  z-index: 2;
}
.studio { font-size: 1.5rem; letter-spacing: -.065em; }
.studio span { font-weight: 650; letter-spacing: .21em; margin-top: 9px; }
.commerce-header nav { gap: 10px; }
.commerce-header nav > a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 9px 13px;
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: var(--component-radius);
}
.commerce-header nav > a[data-login-link] {
  border-color: var(--line);
  background: var(--bg);
  box-shadow: 0 1px 2px rgb(var(--shadow-rgb) / .05);
}
.session-label:not(:empty) {
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 6px 10px;
  background: var(--bg);
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.commerce-footer { background: var(--paper); padding-top: 32px; padding-bottom: 32px; }
.text-button { padding: 9px 11px; border-radius: var(--component-radius); }
.eyebrow { display: flex; align-items: center; gap: 10px; font-size: .69rem; letter-spacing: .14em; }
.eyebrow::before { content: ""; display: block; width: 21px; height: 2px; flex: none; background: currentColor; }
.button {
  min-height: 49px;
  padding: 12px 20px;
  border-radius: var(--component-radius);
  background: var(--paper);
  border-color: var(--line);
  box-shadow: 0 1px 2px rgb(var(--shadow-rgb) / .055), inset 0 1px 0 rgb(255 255 255 / .25);
  letter-spacing: .005em;
  transition: transform 150ms ease, box-shadow 150ms ease, border-color 150ms ease, background-color 150ms ease;
}
.button.primary {
  background: var(--accent);
  border-color: var(--accent);
  box-shadow: 0 3px 0 rgb(var(--shadow-rgb) / .16), 0 7px 14px rgb(var(--shadow-rgb) / .1), inset 0 1px 0 rgb(255 255 255 / .18);
}
.button:hover { filter: none; }
.button:active { transform: translateY(1px); box-shadow: 0 1px 2px rgb(var(--shadow-rgb) / .09); }
.button:disabled { box-shadow: none; transform: none; }
.status-banner, .account-status {
  border-radius: 0 var(--component-radius) var(--component-radius) 0;
  box-shadow: 0 1px 2px rgb(var(--shadow-rgb) / .04);
}
.status-note { padding-left: 12px; border-left: 2px solid var(--pop); }

/* Catalog: a small collection of course editions, rather than identical tiles. */
.catalog-hero { padding-top: 80px; }
.catalog-hero h1 { line-height: 1.18; letter-spacing: -.06em; max-width: 1000px; }
.catalog-hero .status-banner { margin-top: 28px; padding: 17px 20px; }
.catalog-grid { gap: 28px; padding-bottom: 68px; }
.course-card {
  position: relative;
  isolation: isolate;
  padding: 30px 27px 27px;
  min-height: 390px;
  border-radius: var(--component-radius);
  background: var(--paper);
  box-shadow: var(--surface-shadow);
  transition: transform 180ms ease, box-shadow 180ms ease;
}
.course-card > * { position: relative; z-index: 1; }
.course-card .eyebrow { padding-right: 52px; min-height: 43px; margin: 0 0 25px; font-size: .64rem; line-height: 1.9; }
.course-card::after {
  position: absolute;
  top: 24px;
  right: 23px;
  font: 500 45px/1 ui-monospace, monospace;
  letter-spacing: -.08em;
  color: var(--accent);
  pointer-events: none;
  z-index: 0;
}
.course-card h2 { font-size: 1.65rem; line-height: 1.45; margin: 0 0 17px; }
.course-card p:not(.eyebrow) { font-size: .92rem; margin-bottom: 22px; }
.card-meta {
  border-top: 1px solid var(--line);
  padding-top: 16px;
  margin: auto 0 24px;
  gap: 7px 13px;
  line-height: 1.7;
  font-variant-numeric: tabular-nums;
}
.card-meta span:last-child { font-weight: 750; color: var(--ink); }
.course-card .button { margin-top: 0; min-height: 45px; font-size: .82rem; }
.course-card.theme-notebook { border: 1px solid var(--line); border-left: 7px solid var(--accent); box-shadow: 5px 5px 0 #e7d4a9, 0 16px 28px rgb(67 42 78 / .08); }
.course-card.theme-notebook::after { content: "01"; font-size: 29px; padding: 8px 6px; color: var(--ink); background: var(--pop); transform: rotate(-5deg); border: 1px solid rgb(54 38 74 / .15); }
.course-card.theme-newsroom { border-top: 5px solid var(--ink); border-bottom: 3px double var(--line); }
.course-card.theme-newsroom .eyebrow { border-bottom: 1px solid var(--line); padding-bottom: 17px; min-height: 54px; }
.course-card.theme-newsroom::after { content: "02"; color: var(--accent); font-size: 39px; }
.course-card.theme-casebook { border: 1px solid var(--line); border-top: 5px double var(--pop); background: #fffaf1; box-shadow: 0 2px 0 #d6c7b3, 0 15px 30px rgb(73 46 27 / .08); }
.course-card.theme-casebook::after { content: "03"; font: italic 46px/1 ui-serif, "Songti TC", serif; color: #9d744d; }
.course-card.theme-lab { background: #17251c; border: 1px solid #435b46; box-shadow: inset 0 1px 0 #ffffff0a, 0 12px 28px #08100b2b; }
.course-card.theme-lab::before { content: ""; position: absolute; left: 27px; top: 21px; width: 5px; height: 5px; background: var(--pop); border-radius: 50%; box-shadow: 10px 0 0 #5c7863, 20px 0 0 #5c7863; }
.course-card.theme-lab .eyebrow { padding-top: 12px; }
.course-card.theme-lab::after { content: "04"; color: var(--accent); font-size: 37px; top: 32px; font-weight: 350; }
.course-card.theme-archive { border-top: 6px solid var(--accent); box-shadow: 3px 3px 0 #d5e4e1, 0 16px 30px rgb(13 65 70 / .065); }
.course-card.theme-archive::after { content: "05"; font-size: 21px; padding: 8px 9px; border: 1px solid var(--accent); background: var(--bg); letter-spacing: .01em; }
.course-card.theme-magazine { border: 1px solid var(--line); border-top: 9px solid var(--pop); box-shadow: 5px 5px 0 #efccc9; overflow: hidden; }
.course-card.theme-magazine::after { content: "06"; top: 3px; right: 3px; color: var(--pop); opacity: .24; font: italic 120px/1 ui-serif, serif; }
.course-card.theme-magazine .eyebrow { padding-right: 35px; }

/* Landing components: paper, folio, instrument, archive and editorial frames. */
.landing-hero > div:first-child { min-width: 0; }
.landing-hero .lede { line-height: 1.95; }
.hero-specimen { position: relative; border-radius: var(--component-radius); box-shadow: var(--surface-shadow); }
.hero-specimen dd:last-child { margin-bottom: 0; }
.specimen-head { letter-spacing: .04em; }
.section { padding-top: 64px; padding-bottom: 64px; }
.section > .eyebrow, .section-title > .eyebrow { margin-bottom: 16px; }
.marketing-guide video {
  margin: 30px 0 24px;
  border: 7px solid var(--paper);
  outline: 1px solid var(--line);
  border-radius: var(--component-radius);
  box-shadow: 0 4px 8px rgb(var(--shadow-rgb) / .05), 0 20px 42px rgb(var(--shadow-rgb) / .12);
}
.marketing-guide > p { padding-left: 16px; border-left: 2px solid var(--pop); }
.curriculum-list { gap: 13px; margin: 30px 0 0; }
.curriculum-list li {
  min-width: 0;
  align-items: flex-start;
  gap: 15px;
  padding: 20px 18px;
  border: 1px solid var(--line);
  border-radius: var(--component-radius);
  background: var(--paper);
  box-shadow: 0 2px 3px rgb(var(--shadow-rgb) / .025);
  line-height: 1.75;
}
.curriculum-list span {
  display: grid;
  place-items: center;
  width: 34px;
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: calc(var(--component-radius) / 2);
  background: var(--bg);
  line-height: 1;
  font-size: .75rem;
}
.access-grid { gap: 17px; margin: 26px 0; }
.access-grid > div, .access-grid > article {
  min-width: 0;
  padding: 26px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--component-radius);
  box-shadow: 0 3px 6px rgb(var(--shadow-rgb) / .025);
}
.access-grid h3 { margin: 0 0 16px; font-size: 1.08rem; line-height: 1.55; }
.access-grid p { font-size: .91rem; line-height: 1.9; margin: 0; }
.public-faq .access-grid > article { border-top: 3px solid var(--line); }
.public-faq > p:last-child { margin-top: 28px; margin-bottom: 0; font-size: .85rem; }
.theme-notebook .hero-specimen { box-shadow: 7px 7px 0 var(--pop), 0 20px 30px rgb(67 42 78 / .09); transform: rotate(-.6deg); }
.theme-notebook .hero-specimen::after { content: ""; position: absolute; width: 42px; height: 9px; right: 23px; top: -6px; border: 1px solid #a99569; border-radius: 3px; background: #efe0bd; }
.theme-notebook .curriculum-list li { border-left: 4px solid var(--pop); }
.theme-notebook .access-grid > div, .theme-notebook .access-grid > article { box-shadow: 3px 3px 0 #eadcbf; }
.theme-notebook .button.primary { box-shadow: 3px 3px 0 var(--pop); border: 1px solid var(--ink); }
.theme-newsroom .hero-specimen { border: 1px solid var(--line); border-top: 4px solid var(--ink); background: var(--paper); padding: 32px; box-shadow: 0 2px 0 #c7d4e6, 0 18px 36px rgb(8 31 73 / .07); }
.theme-newsroom .big-stat { font-weight: 750; letter-spacing: -.07em; }
.theme-newsroom .big-stat small { font-size: .8rem; letter-spacing: .025em; }
.theme-newsroom .stat-row { border-top: 1px solid var(--ink); gap: 25px; }
.theme-newsroom .curriculum-list li { border-top: 3px solid var(--accent); }
.theme-newsroom .curriculum-list span { background: var(--accent); color: #fff; border-color: var(--accent); }
.theme-casebook .hero-specimen { padding: 32px; border: 1px solid var(--line); border-left: 5px solid var(--accent); background: var(--paper); box-shadow: 5px 5px 0 #dbcebb, 0 18px 35px rgb(73 46 27 / .08); }
.theme-casebook .hero-specimen blockquote { font-size: 1.7rem; line-height: 1.8; }
.theme-casebook .curriculum-list li { border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; box-shadow: none; padding-left: 0; }
.theme-casebook .curriculum-list span { font-family: ui-serif, "Songti TC", serif; border-color: var(--pop); color: var(--accent); }
.theme-casebook .marketing-guide video { border-width: 9px; box-shadow: 0 2px 0 #bd9366, 0 22px 42px rgb(73 46 27 / .13); }
.theme-lab .commerce-header { background: #142019; border-bottom-color: #3d5543; }
.theme-lab .hero-specimen { border: 1px solid #4c6552; background: #17251c; box-shadow: inset 0 1px 0 #ffffff0a, 0 24px 42px #00000029; overflow: hidden; }
.theme-lab .window-bar { background: #101b14; padding: 16px 20px; }
.theme-lab .window-bar i { width: 7px; height: 7px; box-shadow: 0 0 0 3px #75c67c13; }
.theme-lab .window-bar i:nth-child(2), .theme-lab .window-bar i:nth-child(3) { background: #587760; box-shadow: none; }
.theme-lab .lab-states { gap: 14px; padding: 30px; }
.theme-lab .lab-states b { padding-bottom: 20px; }
.theme-lab .button.primary { border-color: #defa9b; box-shadow: 0 2px 0 #719f2f, 0 7px 18px #c6f34a0a; }
.theme-lab .button:not(.primary) { background: #17271c; border-color: #5a755f; }
.theme-lab .curriculum-list li { background: #17251c; border-color: #3f5847; }
.theme-lab .curriculum-list span { background: #101b14; border-color: #3f5847; }
.theme-lab .access-grid > div, .theme-lab .access-grid > article { background: #17251c; border-color: #3f5847; box-shadow: inset 0 1px 0 #ffffff06; }
.theme-lab .marketing-guide video { border-color: #1d3023; outline-color: #4c6552; }
.theme-archive .commerce-header { background: #093e45; --focus-ring: #c2eded; }
.theme-archive .commerce-header nav > a[data-login-link] { background: #ffffff0b; border-color: #749b9e; }
.theme-archive .commerce-header .session-label:not(:empty) { background: #ffffff0b; border-color: #749b9e; }
.theme-archive .course-rail { background: #e7f0ed; box-shadow: inset -5px 0 10px rgb(13 65 70 / .025); }
.theme-archive .course-rail li { padding: 16px 0; border-bottom-style: dashed; }
.theme-archive .hero-specimen { background: var(--paper); padding: 32px; border: 1px solid var(--line); border-top: 5px solid var(--accent); box-shadow: 4px 4px 0 #d4e3df, 0 17px 34px rgb(13 65 70 / .07); }
.theme-archive .hero-specimen::before { content: ""; position: absolute; top: -16px; left: 22px; width: 90px; height: 12px; background: var(--accent); border-radius: 5px 5px 0 0; }
.theme-archive .curriculum-list li { border-left: 4px solid var(--accent); }
.theme-archive .curriculum-list span { background: #e7f1ee; }
.theme-archive .public-faq .access-grid > article { border-top-style: double; border-top-width: 4px; }
.theme-magazine .hero-specimen { padding: 210px 28px 28px; background: var(--paper); border: 1px solid var(--ink); box-shadow: 8px 8px 0 var(--pop); }
.theme-magazine .issue-number { top: 15px; right: 24px; font-size: 190px; opacity: 1; }
.theme-magazine .editor-note { font-size: 1.12rem; transform: rotate(-3deg); padding-bottom: 10px; }
.theme-magazine .format-strip { margin-top: 22px; border-top-width: 3px; gap: 20px; }
.theme-magazine .button.primary { box-shadow: 3px 3px 0 var(--pop); border-color: var(--ink); }
.theme-magazine .curriculum-list li { border-top: 3px solid var(--pop); }
.theme-magazine .marketing-guide video { border: 5px solid var(--paper); outline-color: var(--ink); box-shadow: 6px 6px 0 var(--pop); }
.theme-magazine .public-faq .access-grid > article { border-top-color: var(--pop); }

/* Quiet reading and account surfaces; all existing controls and gates remain. */
.back-link { padding: 8px 0; text-decoration-thickness: 1px; }
.preview-heading { padding: 28px; border: 1px solid var(--line); border-top: 4px solid var(--accent); border-radius: var(--component-radius); background: var(--paper); box-shadow: var(--surface-shadow); }
.preview-heading h1 { line-height: 1.4; }
.preview-heading .eyebrow { margin-bottom: 16px; }
.measure-note { margin-bottom: 0; }
.preview-flow > h2 { padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.preview-flow pre { border-left: 3px solid var(--accent); border-radius: var(--component-radius); box-shadow: inset 0 1px 0 rgb(255 255 255 / .15); }
.preview-flow :not(pre) > code { padding: 2px 5px; border-radius: 3px; }
.preview-flow pre code { padding: 0; background: transparent; }
.preview-flow figure { padding: 17px; border-radius: var(--component-radius); box-shadow: var(--surface-shadow); }
.preview-flow figcaption { border-top: 1px solid var(--line); margin-top: 15px; padding-top: 15px; color: var(--muted); }
.preview-flow table { border-radius: var(--component-radius); box-shadow: 0 2px 3px rgb(var(--shadow-rgb) / .04); }
.preview-flow th { background: var(--paper); font-weight: 750; border-bottom: 2px solid var(--accent); }
.preview-flow blockquote { margin: 28px 0; border-left: 3px solid var(--accent); padding: 20px 24px; background: var(--paper); }
.preview-end { border: 1px solid var(--line); border-top: 4px solid var(--accent); padding: 28px; border-radius: var(--component-radius); background: var(--paper); box-shadow: var(--surface-shadow); }
.preview-end h2 { font-size: 1.6rem; }
.account-page { padding-top: 65px; }
.account-page > .lede { max-width: 650px; }
.account-card { border-top: 4px solid var(--accent); border-radius: 10px; box-shadow: 0 2px 4px #26302605, 0 20px 45px #2630260b; padding: 36px; }
.account-card > h2 { font-size: 1.45rem; }
.account-card dl { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 24px 0; row-gap: 20px; }
.account-card dd { font-weight: 650; font-variant-numeric: tabular-nums; }
.account-card #purchase-price { font-size: 1.5rem; color: var(--accent); line-height: 1.3; }
.account-card label { padding: 16px; border: 1px solid var(--line); border-radius: 6px; background: var(--bg); font-size: .87rem; }
.account-card input[type=checkbox] { accent-color: var(--accent); }
.account-status { padding: 17px 20px; font-size: .9rem; }
.purchase-terms h2 { font-size: 1.1rem; }

@media (hover:hover) and (pointer:fine) {
  .commerce-header nav > a:hover, .text-button:hover { border-color: var(--line); background: var(--bg); }
  .button:not(:disabled):hover { transform: translateY(-2px); border-color: var(--accent); box-shadow: 0 5px 10px rgb(var(--shadow-rgb) / .1); }
  .button.primary:not(:disabled):hover { box-shadow: 0 3px 0 rgb(var(--shadow-rgb) / .16), 0 11px 21px rgb(var(--shadow-rgb) / .14); }
  .course-card:hover { transform: translateY(-4px); }
  .theme-archive .commerce-header nav > a:hover, .theme-archive .commerce-header .text-button:hover { background: #ffffff14; border-color: #749b9e; }
}
@media (max-width:1100px) {
  .catalog-grid { gap: 24px; }
  .theme-magazine .hero-specimen { padding-top: 160px; }
  .theme-magazine .issue-number { font-size: 145px; }
}
@media (max-width:760px) {
  .commerce-header { padding: 18px 20px; gap: 16px; }
  .studio { font-size: 1.25rem; }
  .studio span { letter-spacing: .15em; }
  .commerce-header nav { gap: 4px 5px; }
  .commerce-header nav > a { min-height: 38px; padding: 8px 9px; font-size: .72rem; }
  .session-label:not(:empty) { padding: 5px 8px; }
  .catalog-hero { padding-top: 45px; }
  .catalog-hero h1 { font-size: 2.8rem; }
  .catalog-grid { gap: 26px; padding-bottom: 45px; }
  .course-card { padding: 27px 25px 25px; min-height: 370px; }
  .course-card h2 { font-size: 1.6rem; }
  .course-card .eyebrow { margin-bottom: 21px; }
  .course-card.theme-lab::before { left: 25px; }
  .landing-hero .actions { gap: 10px; }
  .button { min-height: 47px; padding: 11px 15px; font-size: .83rem; }
  .hero-specimen { margin-top: 40px; }
  .theme-newsroom .hero-specimen, .theme-casebook .hero-specimen, .theme-archive .hero-specimen { padding: 26px; }
  .theme-newsroom .big-stat { font-size: 96px; }
  .theme-newsroom .stat-row { gap: 25px; }
  .theme-casebook .hero-specimen blockquote { font-size: 1.5rem; }
  .theme-lab .window-bar { padding: 14px 18px; }
  .theme-lab .lab-states { padding: 25px; }
  .theme-magazine .hero-specimen { padding: 155px 23px 24px; }
  .theme-magazine .issue-number { font-size: 140px; top: 10px; right: 18px; }
  .theme-magazine .format-strip { gap: 18px; }
  .section { padding-top: 42px; padding-bottom: 42px; }
  .marketing-guide video { border-width: 4px; margin-top: 26px; }
  .theme-casebook .marketing-guide video { border-width: 5px; }
  .marketing-guide > p { font-size: .8rem; padding-left: 12px; }
  .curriculum-list { gap: 12px; margin-top: 25px; }
  .curriculum-list li { padding: 17px 15px; font-size: .9rem; gap: 13px; }
  .curriculum-list span { width: 31px; min-height: 31px; }
  .access-grid { margin: 23px 0; gap: 14px; }
  .access-grid > div, .access-grid > article { padding: 23px; }
  .access-grid p { font-size: .88rem; }
  .preview-heading { padding: 23px; }
  .preview-heading h1 { font-size: 2rem; }
  .preview-flow figure { padding: 12px; }
  .preview-end { padding: 24px; }
  .account-page { padding-top: 44px; }
  .account-card { padding: 23px; border-radius: 8px; }
  .account-card label { padding: 13px; }
  .account-status { padding: 15px 16px; }
}
@media (prefers-reduced-motion:reduce) {
  .button, .course-card { transition: none; }
  .button:not(:disabled):hover, .course-card:hover, .button:active { transform: none; }
}
@media print {
  .course-card, .hero-specimen, .preview-heading, .preview-flow figure, .preview-end, .account-card { box-shadow: none; }
  .course-card::after, .course-card::before, .hero-specimen::before, .hero-specimen::after { display: none; }
}
