/* Site-wide additions: optional new-chapter email box, site bar on lesson pages, ad slots, home page.
   Works on both page families (lessons use --bg/--ink/--line, solutions use --bg/--paper/--ink/--line). */
:root{--wif-go:#1c7a4c;--wif-deep:#5b45c9;--wif-ink:#1d1d1f;--wif-ink2:#6e6e73;--wif-line:#e3e3e8;--wif-card:#ffffff;--wif-accent:#1f68c4;--wif-accent-ink:#ffffff;--wif-soft:#f5f5f7;--wif-ok:#1c7a4c;--wif-bad:#bf3563}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--wif-go:#86e3b3;--wif-deep:#b9a8ff;--wif-ink:#f5f5f7;--wif-ink2:#a1a1a6;--wif-line:#2c2c2e;--wif-card:#161618;--wif-accent:#8cc4ff;--wif-accent-ink:#000000;--wif-soft:#1c1c1e;--wif-ok:#86e3b3;--wif-bad:#ff9dbc}}
:root[data-theme="dark"]{--wif-go:#86e3b3;--wif-deep:#b9a8ff;--wif-ink:#f5f5f7;--wif-ink2:#a1a1a6;--wif-line:#2c2c2e;--wif-card:#161618;--wif-accent:#8cc4ff;--wif-accent-ink:#000000;--wif-soft:#1c1c1e;--wif-ok:#86e3b3;--wif-bad:#ff9dbc}

/* ---------- optional updates box (nothing on the site is locked) ---------- */
.wif-upd{scroll-margin-top:110px;position:relative;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  background:var(--wif-card);color:var(--wif-ink);border:1px solid var(--wif-line);border-radius:22px;
  padding:22px 22px 18px;margin:22px auto;max-width:620px;box-shadow:0 1px 2px rgba(20,30,50,.05),0 10px 30px rgba(20,30,50,.08)}
.wif-upd h3{margin:0 0 6px;font-size:20px;line-height:1.25;letter-spacing:-.01em}
.wif-upd p{margin:0 0 14px;font-size:15px;line-height:1.5;color:var(--wif-ink2)}
.wif-form{display:grid;gap:10px}
.wif-form .wif-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:560px){.wif-form .wif-row{grid-template-columns:1fr}}
.wif-form label{display:grid;gap:4px;font-size:13px;font-weight:600;color:var(--wif-ink2)}
.wif-form input[type=text],.wif-form input[type=email]{font:16px/1.3 inherit;font-family:inherit;padding:10px 12px;border-radius:10px;
  border:1px solid var(--wif-line);background:var(--wif-soft);color:var(--wif-ink);min-width:0}
.wif-form input:focus{outline:2px solid var(--wif-accent);outline-offset:1px}
.wif-form .wif-check{display:flex;gap:9px;align-items:flex-start;font-weight:400;font-size:13.5px;line-height:1.45;color:var(--wif-ink2)}
.wif-form .wif-check input{margin-top:3px;flex:none;width:16px;height:16px}
.wif-form .wif-check a{color:var(--wif-accent)}
.wif-form button{font:700 15px inherit;font-family:inherit;padding:12px 18px;border:0;border-radius:999px;cursor:pointer;
  background:var(--wif-ink);color:var(--wif-card);justify-self:start}
.wif-form button[disabled]{opacity:.6;cursor:default}
.wif-upd .wif-msg{margin:0;font-size:13.5px;color:var(--wif-bad)}
.wif-msg:empty{display:none}
.wif-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.wif-done{display:none;font-size:15px;color:var(--wif-ok);font-weight:600}
html.wif-sub .wif-upd form{display:none}
html.wif-sub .wif-upd .wif-done{display:block}
.wif-upd .wif-done{margin:4px 0 0}
.wif-opt{font-weight:400}

/* ---------- feedback page ---------- */
.wif-fbcard{position:relative;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;background:var(--wif-card);color:var(--wif-ink);
  border:1px solid var(--wif-line);border-radius:22px;padding:22px 22px 18px;margin:22px auto;max-width:680px;box-shadow:0 1px 2px rgba(20,30,50,.05),0 10px 30px rgba(20,30,50,.08)}
.wif-fbf{display:grid;gap:14px}
.wif-fbf label{display:grid;gap:4px;font-size:13px;font-weight:600;color:var(--wif-ink2)}
.wif-fbf .wif-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:560px){.wif-fbf .wif-row{grid-template-columns:1fr}.wif-fbcard{padding:18px 16px 14px}}
.wif-fbf input[type=text],.wif-fbf input[type=email],.wif-fbf textarea{font:16px/1.4 inherit;font-family:inherit;padding:10px 12px;border-radius:12px;
  border:1px solid var(--wif-line);background:var(--wif-soft);color:var(--wif-ink);min-width:0;width:100%;box-sizing:border-box}
.wif-fbf textarea{resize:vertical;min-height:130px}
.wif-fbf input:focus,.wif-fbf textarea:focus{outline:2px solid var(--wif-accent);outline-offset:1px}
.wif-kinds{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.wif-kinds legend{font-size:13px;font-weight:600;color:var(--wif-ink2);margin-bottom:8px;padding:0}
.wif-fbf .wif-kinds label{display:inline-flex;position:relative;cursor:pointer}
.wif-kinds input{position:absolute;opacity:0;width:1px;height:1px}
.wif-kinds span{font-size:14px;font-weight:600;padding:8px 14px;border-radius:999px;background:var(--wif-soft);color:var(--wif-ink);border:1px solid var(--wif-line)}
.wif-kinds input:checked+span{background:var(--wif-ink);color:var(--wif-card);border-color:var(--wif-ink)}
.wif-kinds input:focus-visible+span{outline:2px solid var(--wif-accent);outline-offset:2px}
.wif-fbf .wif-check{display:flex;gap:9px;align-items:flex-start;font-weight:400;font-size:13.5px;line-height:1.45;color:var(--wif-ink2)}
.wif-fbf .wif-check input{margin-top:3px;flex:none;width:16px;height:16px}
.wif-fbf .wif-check a{color:var(--wif-accent)}
.wif-fbf button{font:700 15px inherit;font-family:inherit;padding:12px 20px;border:0;border-radius:999px;cursor:pointer;background:var(--wif-ink);color:var(--wif-card);justify-self:start}
.wif-fbf button[disabled]{opacity:.6;cursor:default}
.wif-fbf .wif-msg{margin:0;font-size:13.5px;color:var(--wif-bad)}
.wif-fbdone{display:none;margin:0;font-size:16px;color:var(--wif-ok);font-weight:600}
.wif-fbdone a{color:var(--wif-accent)}
.wif-fbcard.sent .wif-fbdone{display:block}

/* ---------- "Get updates" link in the top bar ---------- */
.wif-acct{font:600 13.5px "Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;display:inline-flex;gap:10px;align-items:center;white-space:nowrap}
.wif-acct .wif-join{display:inline-block;text-decoration:none;padding:6px 13px;border-radius:999px;background:var(--wif-ink);color:var(--wif-card)}

/* ---------- site bar on the lesson pages ---------- */
.wif-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-inline:-20px;padding:10px 20px;
  font:600 14px "Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;border-bottom:1px solid var(--line,#e3e3e8);background:var(--bg,#fff)}
.wif-bar a{color:var(--ink,#1d1d1f);text-decoration:none}
.wif-bar .wif-brand{font-weight:800;letter-spacing:-.01em}
.wif-bar .wif-links{display:flex;gap:14px;flex-wrap:wrap}
.wif-bar .wif-links a{color:var(--ink-2,#6e6e73)}
.wif-bar .wif-links a:hover{color:var(--ink,#1d1d1f)}
.wif-bar .wif-grow{flex:1}
.wif-foot{margin:40px -20px 0;padding:20px;border-top:1px solid var(--line,#e3e3e8);font:14px/1.6 "Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;color:var(--ink-2,#6e6e73);text-align:center}
.wif-foot a{color:inherit}

/* ---------- ad slots on lesson pages (hidden until ads are switched on) ---------- */
.wif-ad{display:none}
body.ads .wif-ad{display:block;max-width:1000px;margin:16px auto;min-height:100px}

/* ---------- home / about / privacy / updates ---------- */
.wif-home .lead{font-size:20px;color:var(--ink-2);max-width:64ch}
.wif-pills{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 6px}
.wif-pill{font:600 13px var(--sans);padding:6px 12px;border-radius:999px;background:var(--paper);border:1px solid var(--line);color:var(--ink-2)}
.wif-pill b{color:var(--ink)}
.wif-ch{display:flex;flex-direction:column;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:18px;font-family:var(--sans)}
.wif-ch .no{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.wif-ch h3{margin:0;font-size:19px;line-height:1.3}
.wif-ch h3 a{color:var(--ink);text-decoration:none}
.wif-ch p{margin:0;font-size:13.5px;color:var(--ink-2)}
.wif-ch .acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.wif-ch .acts .btn{font-size:13px;padding:8px 14px}
.wif-ch .acts .soon{font:600 13px var(--sans);color:var(--ink-2);padding:8px 2px}
.wif-prose{max-width:70ch;padding-bottom:50px}
.wif-prose h2{font-family:var(--sans);font-size:22px;margin:1.6em 0 .4em}
.wif-prose li{margin:.3em 0}
/* solutions header: brand and account on one row; breadcrumbs move to their own row on narrow screens */
.top .crumbs{order:1}.top .grow{order:2}.top .wif-acct{order:3}
@media (max-width:900px){.top .in{row-gap:4px}.top .crumbs{order:4;flex-basis:100%;font-size:13px}.top .wif-acct .wif-join{padding:5px 11px}}
.wif-prose a{overflow-wrap:anywhere}
@media (max-width:600px){.top{position:static}}

/* the updates box at the end of each lesson page */
.wif-endbox{padding:8px 0 24px}

/* ---------- learning mode in the top bar: Go for it (exam) / Go deeper (full), every page ---------- */
.wif-mode{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:var(--wif-soft);
  font:700 13px "Nunito","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;white-space:nowrap}
.wif-mode button{font:inherit;border:0;background:transparent;color:var(--wif-ink2);padding:5px 11px;border-radius:999px;cursor:pointer;letter-spacing:.01em}
.wif-mode button:hover{color:var(--wif-ink)}
.wif-mode button:focus-visible{outline:2px solid var(--wif-accent);outline-offset:1px}
html[data-view="exam"] .wif-mode button[data-view="exam"]{background:var(--wif-go);color:var(--wif-card)}
html[data-view="full"] .wif-mode button[data-view="full"]{background:var(--wif-deep);color:var(--wif-card)}
.top .wif-mode{order:3}.top .wif-acct{order:3}
@media (max-width:560px){.top .in{flex-wrap:wrap;row-gap:8px}.top .wif-mode{order:4}.top .crumbs{order:5}
  .wif-bar .wif-mode{order:5}}

/* ---------- "Past papers" link in the top bar ---------- */
.wif-acct .wif-pp{text-decoration:none;color:var(--wif-ink);padding:6px 4px}
.wif-acct .wif-pp:hover{text-decoration:underline}
@media (max-width:420px){.wif-acct .wif-pp{padding:6px 0}}
