@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;800&family=IBM+Plex+Sans:wght@400;600&display=swap');
:root{--asphalt:#2b2d2f;--yellow:#f2c230;--red:#c8362b;--frost:#e7f0f6;--concrete:#e4e1da;--ink:#1d1f21}
*{box-sizing:border-box}html{font-size:17px}
body{margin:0;font-family:'IBM Plex Sans',system-ui,sans-serif;color:var(--ink);background:var(--concrete);line-height:1.62}
a{color:#1d4f8a}h1,h2,h3{font-family:'Barlow Condensed',sans-serif;letter-spacing:.02em;line-height:1.1}
.cg-shell{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:100vh}
.cg-rail{background:var(--asphalt);color:#cfd3d6;padding:22px 18px;position:sticky;top:0;height:100vh;overflow:auto;font-size:.82rem}
.cg-rail a{color:#eef1f3;text-decoration:none}.cg-rail a:hover{color:var(--yellow)}
.cg-rail__brand{display:flex;gap:10px;align-items:center;font:800 1.35rem 'Barlow Condensed';color:var(--yellow)!important;margin-bottom:14px}
.cg-rail__brand small{font:600 .75rem 'IBM Plex Sans';color:#9aa1a6}
.cg-rail__sec{margin:16px 0 4px;text-transform:uppercase;font-size:.7rem;letter-spacing:.14em;color:var(--yellow)}
.cg-rail ol{margin:0;padding-left:18px}.cg-rail li{margin:3px 0}.cg-rail li[aria-current] a{color:var(--yellow);font-weight:600}
.cg-sheet{max-width:760px;padding:34px 44px 60px;background:#fbfaf7;border-left:6px solid var(--yellow)}
.cg-trail{font-size:.8rem;color:#6b6f73}.cg-sheet h1{font-size:2.5rem;margin:.2em 0}
.cg-lede{font-size:1.12rem;color:#3b3f43}.cg-meta{font-size:.78rem;color:#7a7f84;border-bottom:1px dashed #b9b4aa;padding-bottom:10px}
.cg-fine{font-size:.78rem;background:var(--frost);padding:8px 12px;border-radius:3px}
.cg-body h2{font-size:1.7rem;margin-top:1.6em;border-left:5px solid var(--red);padding-left:10px}
.cg-body table{border-collapse:collapse;width:100%;margin:1em 0}.cg-body td,.cg-body th{border:1px solid #cfc9bd;padding:6px 9px;text-align:left}
.cg-inline-jump{background:linear-gradient(transparent 58%,#f8df7c 58%);color:var(--ink);font-weight:600;text-decoration:none}
.cg-toolbox{margin:1.6em 0;border:2px solid var(--asphalt);background:repeating-linear-gradient(45deg,#fff8dc 0 14px,#fff3c4 14px 28px);padding:14px 18px;border-radius:2px}
.cg-toolbox__label{font:800 .8rem 'Barlow Condensed';letter-spacing:.18em;text-transform:uppercase;color:var(--red)}
.cg-toolbox__go{display:inline-block;background:var(--asphalt);color:var(--yellow);padding:7px 14px;text-decoration:none;font-weight:600}
table.cg-spec{border:3px double var(--asphalt);background:#fff}table.cg-spec th{background:var(--asphalt);color:var(--yellow);width:28%}
table.cg-spec td:last-child a{color:var(--red);font-weight:700}
.cg-closing a{display:block;text-align:center;background:var(--red);color:#fff;padding:14px;font:800 1.3rem 'Barlow Condensed';text-decoration:none;letter-spacing:.06em}
.cg-mast{display:flex;gap:14px;align-items:center;background:var(--asphalt);padding:16px 6vw;border-bottom:6px solid var(--yellow)}
.cg-mast__name{margin:0;font:800 2rem 'Barlow Condensed';color:var(--yellow)}.cg-mast__sub{margin:0;color:#cfd3d6;font-size:.85rem}
.cg-front{max-width:1060px;margin:0 auto;padding:30px 5vw}
.cg-ticket{background:#fff;border:2px dashed var(--asphalt);padding:22px 28px;position:relative}.cg-ticket h1{font-size:2.6rem;margin:0 0 .3em}
.cg-ticket__jobs{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:12px}.cg-ticket__jobs li{background:var(--frost);padding:8px 14px}
.cg-ticket__jobs span{font:800 1.1rem 'Barlow Condensed';color:var(--red)}
.cg-bench{margin:28px 0;padding:18px 24px;background:#fffbe9;border-left:8px solid var(--red)}
.cg-toc{columns:2 340px;column-gap:34px}.cg-toc h2{column-span:all;font-size:2rem}
.cg-toc__part{break-inside:avoid;margin-bottom:18px}.cg-toc__part h3{margin:0 0 4px;color:var(--red);text-transform:uppercase;font-size:1.05rem;letter-spacing:.1em}
.cg-toc ul{margin:0;padding-left:18px}.cg-toc em{font-size:.75rem;color:#7a7f84}
.cg-base{display:flex;flex-wrap:wrap;gap:30px;background:#1a1b1d;color:#b8bdc1;padding:30px 6vw;font-size:.85rem}
.cg-base section{flex:1 1 220px}.cg-base h2{color:var(--yellow);font-size:1.2rem}.cg-base a{color:#eef1f3}
@media(max-width:820px){.cg-shell{display:block}.cg-rail{position:static;height:auto}.cg-sheet{padding:22px 18px}}
