/* Download PDF, Study together (shared problems), Suggest & vote and the course cram pack.
   Loaded by the app and every public page (server/seo.js chrome). Uses the tokens from base.css only. */

/* ---------- small icon buttons: Download PDF, Study together ---------- */
.pdfbtn,.sharebtn{width:34px;height:34px;color:var(--muted)}
.pdfbtn:hover,.sharebtn:hover{color:var(--ink)}
.pdfbtn svg,.sharebtn svg{width:17px;height:17px}
.ex-head{gap:10px}
.ex-head .ex-lvl{margin-inline-start:auto}
.ex-head .pdfbtn{width:30px;height:30px;margin:-6px -8px -6px 0;border-color:transparent;background:transparent}
.ex-head .pdfbtn:hover{background:var(--soft)}
@media (max-width:560px){#bench .bench-head{column-gap:4px}#bench .bench-head .iconbtn{width:30px;height:30px}#bench .bench-head .iconbtn svg{width:16px;height:16px}}

@media print{.consent{display:none!important}} /* the cookie notice never belongs on paper */

/* ---------- print sheet (public/pdf.js): only #epPrint is printed ---------- */
#epPrint{display:none}
@media print{
  html.epp-on,html.epp-on body{height:auto!important;min-height:0!important;overflow:visible!important;background:#fff!important;padding:0!important}
  html.epp-on body>:not(#epPrint){display:none!important}
  html.epp-on body::before{display:none!important}
  html.epp-on #epPrint{display:block}
  @page{margin:14mm 14mm 16mm}
}
.epp{color-scheme:light;--bg:#fff;--surface:#fff;--sunk:#fff;--ink:#111118;--muted:#4a4a55;--line:#c9c9d2;--soft:#f1f1f5;--hl:#ece9fb;--fluid:#eceaf8;
  --acc:#5141E0;--acc-hover:#5141E0;--acc-ink:#fff;--acc-text:#3f31c4;--acc-soft:#f1effd;--acc-line:#cdc6ff;--good:#1f6b40;--good-soft:#eaf4ee;--bad:#a3352e;--bad-soft:#f8ebe9;
  background:#fff;color:var(--ink);font-family:var(--f-body);font-size:13.5px;line-height:1.5}
.epp *,.epp{animation:none!important;transition:none!important}
.epp-head{border-bottom:1.5px solid #111;padding-bottom:8px;margin-bottom:14px}
.epp-brand{font-family:var(--f-display);font-weight:700;font-size:12px;letter-spacing:.02em;color:var(--acc-text)}
.epp-head h1{font-family:var(--f-display);font-size:21px;line-height:1.2;margin:2px 0 0}
.epp-sub{margin:2px 0 0;color:var(--muted);font-size:12.5px}
.epp .diagram{background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px;margin:0 0 12px;overflow:visible;break-inside:avoid}
.epp .diagram svg{min-width:0;max-width:100%;width:100%;max-height:95mm}
.epp .q-text{font-size:14px;margin:0 0 10px}
.epp .givens{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.epp .chip{border:1px solid var(--line);border-radius:6px;padding:2px 8px;font-family:var(--f-mono);font-size:12px;background:#fff}
.epp .ex-opts{margin:6px 0 10px}
.epp .ex-opts li{padding:6px 10px;break-inside:avoid}
.epp-ask{margin:12px 0 4px;font-size:14px;direction:ltr}
.epp[dir="rtl"] .epp-ask{text-align:right}
.epp-ask .blank{display:inline-block;min-width:44mm;border-bottom:1px solid #111;margin:0 6px;height:1.1em;vertical-align:bottom}
.epp-sol{margin-top:16px;border-top:1px solid var(--line);padding-top:10px;break-before:auto}
.epp-sol h2{font-family:var(--f-display);font-size:17px;margin:0 0 8px}
.epp .solution{background:none;border:0;padding:0;box-shadow:none}
.epp .step{break-inside:avoid;padding:8px 0;border:0;border-bottom:1px solid var(--soft);margin:0;background:none;display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
.epp .step:not(.nofig){grid-template-columns:minmax(0,38%) minmax(0,1fr);gap:12px}
.epp .step-fig svg{max-width:100%;height:auto}
.epp .step h3,.epp .step h4{font-size:14px;margin:0 0 4px}
.epp .math{font-family:var(--f-math);font-size:14px;background:none;border:0;padding:0}
.epp .principle{font-style:italic;color:var(--muted);margin:0 0 6px}
.epp-foot{margin-top:18px;padding-top:6px;border-top:1px solid var(--line);font-size:10.5px;color:var(--muted);text-align:center}
.epp[dir="rtl"] .step:not(.nofig){direction:rtl}

/* ---------- Study together ---------- */
.shlink{display:flex;gap:8px;margin:4px 0 10px}
.shlink input{flex:1;min-width:0;border:1.5px solid var(--line);border-radius:9px;padding:9px 11px;background:var(--sunk);font-family:var(--f-mono);font-size:13px;direction:ltr}
.shfld{display:grid;gap:6px;margin:0 0 14px}
.shfld label{font-weight:600;font-size:14px}
.shfld input{border:1.5px solid var(--line);border-radius:9px;padding:9px 11px;background:var(--surface);max-width:280px}
.shfld small{color:var(--muted);font-size:12.5px}
.shbtns{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.shmeta{font-size:12.5px;color:var(--muted);margin:12px 0 0;line-height:1.45}
.shmeta .linkbtn{margin:0;font-size:inherit}
.share-title .share-by{display:inline-flex;align-items:center;gap:8px;margin:0 0 8px;font-weight:600;color:var(--acc-text);font-size:14px}
.share-card .tcard-head .pdfbtn{width:30px;height:30px;margin:-5px -8px -5px 0;border-color:transparent;background:transparent}
.share-card .tcard-head{gap:10px}.share-card .tcard-head .ex-lvl{margin-inline-start:auto}
.share-card .demo-solution:not([hidden]){border-top:1px solid var(--line);padding:18px}
.share-note{font-size:13.5px;color:var(--muted);margin:14px 2px 0;max-width:70ch}
.share-open{margin-top:16px}
.share-cap{max-width:640px}.share-cap h2{margin:0 0 6px;font-size:18px}.share-cap p{color:var(--muted);margin:0 0 14px}

/* ---------- Suggest & vote ---------- */
.sg-intro{color:var(--muted);font-size:14px;margin:0 0 14px}
.sg-plan{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--sunk);font-size:13.5px;color:var(--muted);margin:0 0 14px}
.sg-plan .linkbtn{margin:0;font-size:inherit;color:var(--acc-text)}
.sg-form{display:grid;gap:10px;border:1px solid var(--line);border-radius:12px;padding:14px;margin:0 0 16px;background:var(--sunk)}
.sg-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.sg-form select,.sg-form input[type=text]{border:1.5px solid var(--line);border-radius:9px;padding:8px 10px;background:var(--surface);min-width:0}
.sg-form select{flex:1 1 180px}
.sg-title{position:relative;display:flex;flex:1 1 100%}
.sg-title input{flex:1;padding-inline-end:52px!important}
.sg-count{position:absolute;inset-inline-end:10px;top:50%;transform:translateY(-50%);font-family:var(--f-mono);font-size:11.5px;color:var(--muted)}
.sg-form .sg-detail{flex:1 1 100%}
.sg-form small{color:var(--muted);font-size:12.5px}
.sg-msg{font-size:13.5px;margin:0}.sg-msg.ok{color:var(--good)}.sg-msg.bad{color:var(--bad)}
.sg-msg a{color:var(--acc-text)}
.sg-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin:0 0 10px}
.sg-tools .seg button{padding:5px 10px;font-size:13px}
.sg-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.sg-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--surface)}
.sg-vote{display:grid;justify-items:center;gap:0;min-width:46px;border:1.5px solid var(--line);border-radius:10px;padding:4px 6px;background:var(--surface);font-weight:700;font-family:var(--f-mono);font-size:13px;line-height:1.2}
.sg-vote svg{width:14px;height:14px}
.sg-vote[aria-pressed="true"]{border-color:var(--acc);background:var(--acc-soft);color:var(--acc-text)}
.sg-vote[disabled]{cursor:default;opacity:1;color:var(--muted)}
.sg-vote[disabled]:hover{border-color:var(--line)}
.sg-body{min-width:0}
.sg-body b{display:block;font-weight:600;overflow-wrap:anywhere}
.sg-meta{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12.5px;color:var(--muted);margin-top:2px}
.sg-st{font-weight:600;border-radius:999px;padding:0 8px;border:1px solid var(--line)}
.sg-st.added{color:var(--good);border-color:color-mix(in srgb,var(--good) 40%,transparent);background:var(--good-soft)}
.sg-st a{color:inherit}
.sg-acts{display:flex;gap:2px}
.sg-acts .iconbtn{width:30px;height:30px;border-color:transparent;background:transparent;color:var(--muted)}
.sg-acts .iconbtn:hover{background:var(--soft);color:var(--ink)}
.sg-acts .iconbtn svg{width:15px;height:15px}
.sg-empty{color:var(--muted);font-size:14px;text-align:center;padding:18px 8px;margin:0}
.sg-foot{color:var(--muted);font-size:12.5px;margin:14px 0 0}
@media (max-width:560px){.sg-item{gap:10px;padding:10px}.sg-acts .iconbtn{width:28px;height:28px}}

/* ---------- course pages: cram pack link; the cram pack itself ---------- */
.seo-cram{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:14px 0 0;font-size:14px}
.seo-cram a{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--acc-text)}
.seo-cram a svg{width:16px;height:16px;align-self:center}
.seo-cram span{color:var(--muted);font-size:13px}
.cram-how{font-size:13px;margin:10px 0 0}
.cram-part{margin-top:28px}
.cram-part>h2{display:flex;align-items:center;gap:10px;font-size:22px;margin:0 0 14px}
.cram-n{width:30px;height:30px;border-radius:9px;display:inline-grid;place-items:center;background:var(--acc-soft);color:var(--acc-text);font-family:var(--f-mono);font-size:14px;flex:none}
.cram-sheets{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));gap:12px}
.cram-topic{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:14px 16px;break-inside:avoid}
.cram-topic h3{margin:0 0 8px;font-size:16px}
.cram-topic h4{margin:12px 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.cram-topic .fsheet{margin:0}
.cram-steps{margin:0;padding-inline-start:20px;display:grid;gap:4px;font-size:14px;line-height:1.5}
.cram-tn{font-weight:600}
.cram-part .wsq-h,.cram-sol .wsq-h{display:flex;gap:8px;align-items:baseline}
.wsq-h .cram-tn+.ex-lvl{margin-inline-start:auto}
.cram-sol{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:12px 16px;margin:0 0 10px}
.cram-sol .wsq-h{display:flex;gap:10px;align-items:baseline}
.cram-key{margin:6px 0 8px}
.cram-sol .solution{border:0;padding:0;background:none;box-shadow:none;margin:0}
.cram-sol .step h4{margin:0 0 4px;font-size:14.5px}
.pdf-foot{font-size:12px;color:var(--muted);text-align:center;margin:24px 0 0}
@media print{
  .cram-break{break-before:page;page-break-before:always}
  .cram-part{margin-top:0}
  .cram-topic,.cram-sol{border-color:#bbb;padding:8px 10px;break-inside:auto}
  .cram-sheets{display:block}
  .cram-topic{margin:0 0 8px}
  .cram-topic h3{break-after:avoid;font-size:14.5px;margin:0 0 6px}
  .cram-topic .fsheet{display:grid;grid-template-columns:1fr 1fr;gap:4px}
  .cram-topic .fx div{padding:4px 8px;border-radius:6px;break-inside:avoid}
  .cram-topic .fx dt{font-size:11px;margin:0}
  .cram-topic .fx dd{font-size:12.5px}
  .cram-steps{font-size:12.5px;gap:2px}
  .cram-steps li{break-inside:avoid}
  .cram-part>h2{font-size:18px;margin:0 0 10px;break-after:avoid}
  .safety{padding:8px 10px;font-size:11.5px}
  .cram-part .wsq{break-inside:avoid;margin:0 0 8px}
  .cram-part .wsq .diagram{padding:6px}
  .cram-part .wsq .diagram svg,.cram-sol .step-fig svg{max-height:62mm;width:auto;max-width:100%;margin:0 auto}
  .cram-part .wsq .ex-opts li{padding:4px 10px}
  .cram-sol .step{break-inside:avoid}
  .cram-sol{break-inside:auto}
  .cram-title .seo-cta,.cram-how{display:none}
}
