/* Study sheet: an A4-style revision document (cover, contents, numbered sections). The paper stays white in both themes, like a PDF. */
.sheet{position:fixed;inset:0;z-index:90;background:var(--bg);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))}
body.sheet-open{overflow:hidden}
.sh-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;padding:10px max(14px,env(safe-area-inset-right,0px)) 10px max(14px,env(safe-area-inset-left,0px));background:var(--bg);border-bottom:2px solid var(--line)}
.sh-bar .btn{min-height:44px;padding:8px 16px;font-size:16px;flex:none;text-decoration:none;display:inline-flex;align-items:center}
.sh-sp{flex:1}
@media (max-width:520px){.sh-pr{display:none!important}.sh-bar .btn{padding:8px 14px;font-size:15px}}
.sh-stage{padding:18px 0 0}

.doc{--ink:#17162B;--mut:#5A5F70;--vio:#4B2FE0;--vio2:#2A1A9E;--soft:#EEEAFF;--sun:#FFE36E;--rule:#E3E0F2;
  max-width:794px;margin:0 auto;background:#fff;color:var(--ink);font-family:"Source Serif 4",Georgia,"Times New Roman",serif;font-size:17px;line-height:1.62;font-weight:400;
  box-shadow:0 24px 60px -24px rgba(30,20,110,.45),0 0 0 1px rgba(30,20,110,.08);overflow:hidden;hyphens:auto;-webkit-hyphens:auto}
@media (max-width:820px){.doc{box-shadow:none;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}}
.doc *{box-sizing:border-box}
.doc h1,.doc h2,.doc h3,.dc-tag,.dc-brand,.dc-toch,.dc-num,.dc-kh,.dc-eh,.dc-fn,.dc-t th,.dc-dl dt{font-family:var(--f-display);}

/* cover */
.dc-cover{display:flex;flex-direction:column;min-height:min(1123px,calc(100vh - 100px));break-after:page}
.dc-ctop{position:relative;color:#fff;padding:clamp(28px,7vw,64px) clamp(22px,6vw,56px) clamp(34px,7vw,64px);flex:1 0 auto;min-height:430px;display:flex;flex-direction:column;justify-content:flex-end;gap:14px;overflow:hidden;
  background:radial-gradient(circle at 88% 8%,rgba(255,227,110,.95) 0 54px,transparent 55px),radial-gradient(circle at 100% 0,rgba(255,255,255,.14) 0 190px,transparent 191px),radial-gradient(circle at 0 100%,rgba(255,255,255,.1) 0 230px,transparent 231px),linear-gradient(155deg,var(--vio) 0%,var(--vio2) 100%)}
.dc-ctop::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 2px,transparent 2px 22px);pointer-events:none}
.dc-ctop>*{position:relative}
.dc-tag{align-self:flex-start;background:var(--sun);color:var(--ink);font-weight:800;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;padding:6px 14px;border-radius:999px}
.dc-title{margin:6px 0 0;font-weight:800;font-size:clamp(36px,9vw,66px);line-height:.98;letter-spacing:-.035em;text-wrap:balance;hyphens:manual;overflow-wrap:anywhere}
.dc-sub{margin:0;max-width:34em;font-size:clamp(16px,3.8vw,20px);line-height:1.45;color:#DAD4FF;font-style:italic}
.dc-brand{margin-top:18px;font-weight:800;font-size:18px;letter-spacing:-.02em;color:#fff;opacity:.9}
.dc-brand::before{content:"";display:inline-block;width:26px;height:4px;border-radius:2px;background:var(--sun);vertical-align:middle;margin-right:10px}
.dc-cbot{padding:clamp(24px,5vw,40px) clamp(22px,6vw,56px) clamp(26px,5vw,44px);background:#fff}
.dc-toch{font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--vio);margin-bottom:12px}
.dc-toc{list-style:none;margin:0;padding:0;columns:2 280px;column-gap:36px}
.dc-toc li{break-inside:avoid;border-bottom:1px solid var(--rule)}
.dc-toc a{display:flex;gap:12px;align-items:baseline;padding:9px 0;color:var(--ink);text-decoration:none;font-family:var(--f-display);font-weight:700;font-size:16px;line-height:1.25}
.dc-toc a b{color:var(--vio);font-weight:800;font-size:15px;flex:none}
.dc-toc a:hover span{color:var(--vio)}
.dc-src{margin-top:16px;font-size:13px;color:var(--mut);font-style:italic}

/* body */
.dc-body{padding:clamp(24px,6vw,56px) clamp(20px,6vw,64px) clamp(26px,5vw,48px)}
.dc-intro{font-size:clamp(18px,4.2vw,21px);line-height:1.55;font-style:italic;color:#2D2B49;margin:0 0 8px;padding:10px 16px;background:color-mix(in srgb,var(--sun) 28%,transparent);border-radius:12px}
.dc-sec{margin-top:clamp(30px,6vw,46px);scroll-margin-top:84px}
.dc-sh{display:flex;align-items:flex-end;gap:14px;padding-bottom:10px;border-bottom:3px solid var(--ink);margin-bottom:14px;break-after:avoid}
.dc-num{font-weight:800;font-size:clamp(38px,9vw,56px);line-height:.85;letter-spacing:-.05em;color:var(--vio);flex:none}
.dc-sh h2{margin:0;font-weight:800;font-size:clamp(22px,5.2vw,30px);line-height:1.08;letter-spacing:-.025em;text-wrap:balance;hyphens:manual;overflow-wrap:anywhere;padding-bottom:2px}
.dc-lead{break-after:avoid;margin:0 0 12px;font-size:1.04em;color:var(--mut);font-style:italic}
.dc-p{margin:0 0 12px;text-align:left}
.doc b,.doc strong{font-weight:700;color:#0E0D22}
.dc-h3{margin:22px 0 8px;font-weight:800;font-size:19px;letter-spacing:-.015em;color:var(--vio);break-after:avoid}
.dc-l{margin:0 0 14px;padding-left:1.25em}
.dc-l li{margin:0 0 6px;padding-left:.2em}
.dc-l li::marker{color:var(--vio);font-weight:700}
ul.dc-l{list-style:square}

/* definitions */
.dc-dl{margin:6px 0 16px;border-top:1px solid var(--rule)}
.dc-dr{display:grid;grid-template-columns:minmax(0,11.5em) minmax(0,1fr);gap:4px 22px;padding:9px 0;border-bottom:1px solid var(--rule);break-inside:avoid}
.dc-dl dt{font-weight:800;font-size:16.5px;line-height:1.3;color:var(--vio);letter-spacing:-.01em}
.dc-dl dd{margin:0}
@media (max-width:560px){.dc-dr{grid-template-columns:1fr;gap:1px}}

/* formula */
.dc-f{margin:14px 0 18px;padding:14px 18px 16px;text-align:center;background:linear-gradient(180deg,#F6F4FF,#EEEAFF);border:1px solid var(--line2);border-radius:12px;break-inside:avoid}
.dc-fn{font-weight:800;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--vio)}
.dc-fx{margin:6px 0 2px;font-family:"Source Serif 4",Georgia,serif;font-style:italic;font-size:clamp(21px,5vw,28px);line-height:1.3;letter-spacing:.01em;overflow-wrap:anywhere;hyphens:manual}
.dc-fs{font-size:14.5px;color:var(--mut);font-style:normal}
.doc sub,.doc sup{font-size:.68em;line-height:0}

/* key takeaways */
.dc-key{margin:18px 0 8px;padding:14px 20px 12px;background:#FFF9DB;border:1px solid #EBD27A;border-radius:12px;break-inside:avoid}
.dc-kh{font-weight:800;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:#7A5A00;margin-bottom:4px}
.dc-key ul{margin:0;padding-left:1.15em}
.dc-key li{margin:3px 0}
.dc-key li::marker{color:#C99700}

/* tables */
.dc-tw{break-inside:avoid;margin:14px 0 18px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.dc-t{width:100%;border-collapse:collapse;font-size:15px;line-height:1.4;min-width:460px}
.dc-t caption{caption-side:top;text-align:left;font-family:var(--f-display);font-weight:800;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);padding:0 0 6px}
.dc-t th{text-align:left;font-weight:800}
.dc-t thead th{background:var(--ink);color:#fff;padding:8px 12px;font-size:13.5px;letter-spacing:.02em}
.dc-t tbody th{color:var(--vio);padding:9px 12px;vertical-align:top;white-space:normal;font-size:15px}
.dc-t td{padding:9px 12px;vertical-align:top;border-bottom:1px solid var(--rule)}
.dc-t tbody th{border-bottom:1px solid var(--rule)}
.dc-t tbody tr:nth-child(even) th,.dc-t tbody tr:nth-child(even) td{background:#FAF9FF}
.dc-t tr{break-inside:avoid}

/* worked example */
.dc-ex{margin:14px 0 18px;padding:10px 16px;background:var(--hl-soft);border-radius:12px;break-inside:avoid}
.dc-eh{font-weight:800;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--vio);margin-bottom:4px}
.dc-ex p{margin:0 0 6px}

.dc-end{margin-top:40px;padding-top:14px;border-top:1px solid var(--rule);text-align:center;font-size:14px;color:var(--mut);font-style:italic}
.dc-end span{font-family:var(--f-display);font-style:normal;font-weight:800;color:var(--vio)}

@media print{
  @page{size:A4;margin:16mm 16mm 18mm;@bottom-center{content:counter(page);font:700 9pt "Bricolage Grotesque",sans-serif;color:#5A5F70}@bottom-left{content:"qwebbo";font:600 8pt "Bricolage Grotesque",sans-serif;color:#8A8EA0}}
  @page :first{margin:0;@bottom-center{content:none}@bottom-left{content:none}}
  html,body{background:#fff!important}
  body.sheet-open>:not(#sheet){display:none!important}
  body.sheet-open{overflow:visible!important}
  .sheet{position:static;overflow:visible;background:#fff;padding:0}
  .sh-bar{display:none}
  .sh-stage{padding:0}
  .doc{max-width:none;box-shadow:none;border:0;font-size:10.5pt;line-height:1.55;overflow:visible;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .dc-cover{height:296.5mm;min-height:0}
  .dc-ctop{min-height:0}
  .dc-body{padding:0}
  .dc-sec{margin-top:9mm}
  .dc-toc a{color:#17162B}
  .dc-tw{overflow:visible}
  .dc-t{min-width:0;font-size:9.5pt}
}

/* the "Study sheet" panel on the quiz page, right after the flashcards */
.sheetpanel{border-color:var(--hl);background:linear-gradient(180deg,var(--card),var(--hl-soft))}
.sh-ico{position:relative;background:var(--sun);color:#17162B;font-size:0}
.sh-ico::before{content:"";position:absolute;left:9px;top:6px;width:8px;height:12px;border:3px solid #17162B;border-radius:3px;background:linear-gradient(#17162B,#17162B) 1px 3px/4px 2px no-repeat,linear-gradient(#17162B,#17162B) 1px 7px/4px 2px no-repeat}
.sp-intro{margin:0}
.sheetpanel .actions .btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
