/* Free worked solutions for the AA HL guidebook: /guidebook/aahl/ and /guidebook/aahl/chNN/
   Pages are generated by tools/build_solutions.py; this file is hand-written. Builds on books.css (bk-*). */
.gs{background:#fff;color:var(--navy-deep)}
.gs-hero{padding-bottom:48px}
.gs-hero h1{max-width:22ch}
.gs-hero__sub{display:block;font-size:.5em;font-weight:600;letter-spacing:0;color:var(--gold-light);margin-top:8px}

/* layout: sticky side column + content */
.gs-wrap{background:#fff;padding:40px 0 72px}
.gs-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:40px;align-items:start}
.gs-main{min-width:0}
.gs-side{position:sticky;top:calc(var(--nav-height) + 20px);display:flex;flex-direction:column;gap:16px}
@media(max-width:960px){
  .gs-layout{grid-template-columns:minmax(0,1fr);gap:24px}
  .gs-side{position:static}
}
.gs-jump,.gs-legend{background:var(--off-white);border:1px solid rgba(27,58,107,.1);border-radius:8px;padding:14px 16px}
.gs-jump__h{font-size:11px !important;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#a86a00 !important;margin:0 0 8px !important;line-height:1.4 !important}
.gs-jump ol{list-style:none;margin:0;padding:0}
.gs-jump li{display:flex;justify-content:space-between;gap:8px;font-size:15px;line-height:1.4;padding:5px 0;border-top:1px solid rgba(27,58,107,.08)}
.gs-jump li:first-child{border-top:0}
.gs-jump a{color:var(--navy);font-weight:600}
.gs-jump a:hover{color:#a86a00}
.gs-jump li span{color:#5a6a7e;font-size:13px;font-weight:600}
@media(max-width:960px){
  .gs-jump ol{display:flex;flex-wrap:wrap;gap:8px}
  .gs-jump li{border:1px solid rgba(27,58,107,.15);border-radius:100px;padding:5px 12px;background:#fff}
  .gs-jump li:first-child{border-top:1px solid rgba(27,58,107,.15)}
  .gs-legend{display:none}
}
.gs-legend ul{list-style:none;margin:0;padding:0}
.gs-legend li{font-size:13.5px;line-height:1.45;color:#3d4f65;padding:3px 0;display:flex;gap:8px;align-items:center}
.gs-all{font-family:Outfit,sans-serif;font-size:14px;font-weight:700;color:var(--navy-deep);background:#fff;border:1px solid rgba(27,58,107,.25);border-radius:6px;padding:10px 14px;cursor:pointer;text-align:center;transition:border-color .2s,color .2s}
.gs-all:hover,.gs-all[aria-pressed="true"]{border-color:var(--gold);color:#8a5a00}

/* sections and questions */
.gs-sec{margin:0 0 44px;scroll-margin-top:calc(var(--nav-height) + 16px)}
.gs-sec h2{font-size:clamp(24px,2.6vw,32px);font-weight:800;color:var(--navy-deep);margin:0 0 6px;letter-spacing:-.01em}
.gs-sec__intro{font-size:15.5px !important;color:#4a5a70 !important;margin:0 0 18px !important;line-height:1.6 !important;max-width:70ch}
.gs-sec__intro a,.gs-main p a{color:#8a5a00;text-decoration:underline;text-underline-offset:3px}
.gs-idea{display:flex;gap:10px;align-items:baseline;font-size:19px;font-weight:700;color:var(--navy-deep);margin:28px 0 12px}
.gs-idea span{color:#a86a00}
.gs-q{border:1px solid rgba(27,58,107,.13);border-radius:8px;background:#fff;margin:0 0 16px;padding:18px 20px 6px;scroll-margin-top:calc(var(--nav-height) + 16px);box-shadow:0 1px 6px rgba(13,31,60,.04)}
@media(max-width:600px){.gs-q{padding:14px 14px 4px;margin:0 0 12px}}
.gs-q:target{border-color:var(--gold);box-shadow:0 0 0 3px rgba(240,165,0,.18)}
.gs-q__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin:0 0 8px}
.gs-q__head h3{font-size:17px;font-weight:800;margin:0;color:var(--navy-deep)}
.gs-q__head h3 a{color:inherit}
.gs-q__head h3 a:hover{color:#a86a00}
.gs-q__kind{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#1d6b46;background:#e9f3ee;border-radius:100px;padding:3px 9px}
.gs-q__marks{margin-left:auto;font-size:13.5px;font-weight:700;color:#5a6a7e}

/* one line of a question or solution: content + marks column */
.ln{display:flex;align-items:flex-start;gap:14px;font-size:16px;line-height:1.7;color:#1f2f45;font-weight:400;margin:0 0 6px}
.lc{flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;padding:1px 0}
.lm{flex:0 0 auto;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:40%;padding-top:2px}
.ln.note{font-size:14.5px;color:#4a5a70}
.ln.note .lc{border-left:3px solid rgba(27,58,107,.18);padding-left:10px}
.pl{font-weight:700;color:var(--navy-deep);margin-right:2px}
.nt{font-weight:700;color:var(--navy)}
.lc strong{font-weight:700}
.lc code,.gs-keys code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em}
.mk,.mt{display:inline-block;font-size:12px;line-height:1.5;font-weight:700;letter-spacing:.02em;border-radius:4px;padding:0 6px;white-space:nowrap;vertical-align:baseline}
.mk{color:var(--navy);background:#e8edf6;border:1px solid rgba(27,58,107,.18)}
.mk-ag{color:#8a5a00;background:#fdf3dc;border-color:rgba(168,106,0,.25)}
.mt{color:#5a6a7e;background:#f1f3f7;border:1px solid rgba(27,58,107,.1)}
.lc .mk,.lc .mt{margin:0 2px}

/* maths: display maths and tables scroll inside their own box on narrow screens */
.m{color:inherit}
.md{display:block;max-width:100%;overflow-x:auto;overflow-y:hidden;margin:4px 0;padding:2px 0;-webkit-overflow-scrolling:touch}
.md .katex-display{margin:.3em 0}
.lc .katex{font-size:1.06em}
.ctr{text-align:center}
.ctr .ln{justify-content:center}
.tw{max-width:100%;overflow-x:auto;margin:8px 0 10px;-webkit-overflow-scrolling:touch}
.dt{border-collapse:collapse;font-size:15px;margin:0 auto}
.dt th,.dt td{border:1px solid rgba(27,58,107,.25);padding:6px 12px;text-align:center;white-space:nowrap;color:#1f2f45;font-weight:400}
.dt th{background:#f4f6fa;font-weight:600;text-align:left}

/* solution disclosure */
.sol{margin:8px 0 12px}
.sol summary{list-style:none;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:700;color:var(--navy-deep);background:var(--off-white);border:1px solid rgba(27,58,107,.18);border-radius:6px;padding:7px 14px;user-select:none;transition:border-color .2s}
.sol summary::-webkit-details-marker{display:none}
.sol summary::before{content:'';width:7px;height:7px;border-right:2px solid #a86a00;border-bottom:2px solid #a86a00;transform:rotate(-45deg);transition:transform .2s}
.sol[open] summary::before{transform:rotate(45deg)}
.sol summary:hover,.sol summary:focus-visible{border-color:var(--gold);outline:none}
.sol__hide{display:none}
.sol[open] .sol__show{display:none}
.sol[open] .sol__hide{display:inline}
.sol__body{margin:12px 0 4px;padding:14px 16px 8px;border-left:3px solid var(--gold);background:#fffdf7;border-radius:0 6px 6px 0}
@media(max-width:600px){.sol__body{padding:12px 10px 6px}.ln{gap:8px;font-size:15.5px}.lm{max-width:46%}}
.gs-ans{margin:12px 0 6px;background:#e9f3ee;border:1px solid #bfdccd;border-radius:6px;padding:10px 14px}
.gs-ans__h{font-size:11px !important;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#14532d !important;margin:0 0 4px !important;line-height:1.4 !important}
.ans1,.ansl li{font-size:16px !important;color:#14361f !important;line-height:1.65 !important;font-weight:600 !important;margin:0 !important;overflow-x:auto;overflow-y:hidden}
.ansl{list-style:none;margin:0;padding:0}
.ansl li{padding:1px 0}

/* TI-84 table */
.gs-keys{width:100%;border-collapse:collapse;font-size:15px;background:#fff;border:1px solid rgba(27,58,107,.15)}
.gs-keys th,.gs-keys td{border-top:1px solid rgba(27,58,107,.1);padding:9px 12px;text-align:left;vertical-align:top;line-height:1.5;color:#1f2f45;font-weight:400}
.gs-keys thead th{background:var(--navy-deep);color:#fff;font-weight:700;font-size:13px;letter-spacing:.04em}
.gs-keys tbody th{font-weight:700;color:var(--navy-deep);width:30%}
@media(max-width:600px){.gs-keys th,.gs-keys td{padding:8px;font-size:14px}}

/* prev / next, book box, legal */
.gs-pn{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:8px 0 28px}
.gs-pn a{display:flex;flex-direction:column;gap:2px;border:1px solid rgba(27,58,107,.15);border-radius:8px;padding:14px 16px;color:var(--navy-deep);transition:border-color .2s}
.gs-pn a:hover{border-color:var(--gold)}
.gs-pn small{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#a86a00}
.gs-pn span{font-size:16px;font-weight:700;line-height:1.35}
.gs-pn__next{text-align:right;align-items:flex-end}
@media(max-width:560px){.gs-pn{grid-template-columns:1fr}.gs-pn__next{text-align:left;align-items:flex-start}}
.gs-book{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:var(--navy-deep);border-radius:10px;padding:22px 24px;margin:0 0 24px}
.gs-book>div{flex:1 1 320px;min-width:0}
.gs-book__k{font-size:11px !important;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold) !important;margin:0 0 6px !important;line-height:1.4 !important}
.gs-book h2{color:#fff;font-size:20px;margin:0 0 6px;line-height:1.3}
.gs-book p{color:var(--text-muted);font-size:15px;line-height:1.6;margin:0}
.gs-legal{font-size:13px !important;line-height:1.6 !important;color:#5a6a7e !important;border-top:1px solid rgba(27,58,107,.12);padding-top:14px;margin:0 !important}

/* hub */
.gs-vols{display:grid;grid-template-columns:1fr 1fr;gap:28px}
@media(max-width:860px){.gs-vols{grid-template-columns:1fr}}
.gs-vol{background:#fff;border:1px solid rgba(27,58,107,.12);border-radius:10px;padding:22px 22px 14px}
.gs-vol h2{font-size:22px !important;margin:0 0 2px !important;display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}
.gs-vol h2 small{font-size:13px;font-weight:600;color:#5a6a7e}
.gs-vol__s{font-size:14px !important;color:#5a6a7e !important;margin:0 0 10px !important}
.gs-chs{list-style:none;margin:0;padding:0}
.gs-chs li{border-top:1px solid rgba(27,58,107,.08)}
.gs-ch{display:flex;gap:14px;align-items:baseline;padding:10px 4px;color:var(--navy-deep);transition:background .2s}
.gs-ch:hover{background:#fbf6ea}
.gs-ch__n{flex:0 0 28px;text-align:right;font-weight:800;color:#a86a00;font-size:16px}
.gs-ch__t{display:flex;flex-direction:column;font-weight:700;font-size:16px;line-height:1.35}
.gs-ch__t small{font-weight:400;font-size:13.5px;color:#5a6a7e;margin-top:2px}
/* KaTeX's hidden MathML copy is position:absolute: anchor it inside each scroll box, or it widens the page */
.lc,.md,.tw,.ans1,.ansl li,.gs-q{position:relative}
.gs-vol a.gs-ch{text-decoration:none;color:var(--navy-deep)}
.gs-vol a.gs-ch:hover .gs-ch__t{color:#8a5a00}
