.toc-hero{padding-block:52px 54px;border-bottom:1px solid var(--line)}.toc-back{display:inline-flex;align-items:center;gap:12px;font-size:.85rem;color:var(--muted)}.toc-back:hover{color:var(--blue)}
.toc-hero-main{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-top:40px}.toc-hero h1{font-size:clamp(2.8rem,5.1vw,4.4rem);margin-top:18px;line-height:1.08}.toc-hero-description{max-width:540px;margin-top:23px;font-size:1rem}.book-page-button{background:white;border:1px solid #c5cdd4;gap:12px;flex-shrink:0;white-space:nowrap}.book-page-button:hover{background:var(--paper)}.book-page-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.25}
.toc-section{padding-block:62px 80px}.toc-legend{display:flex;gap:27px;flex-wrap:wrap;font-size:.78rem;color:var(--muted);padding-bottom:34px}.toc-legend span{display:flex;align-items:center;gap:8px}.toc-legend i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#017efe}.toc-legend span:nth-child(2) i{background:#fd8a10}.toc-legend span:nth-child(3) i{background:#8f52df}
.toc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px}.toc-chapter{min-width:0}.toc-chapter-heading{min-height:95px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:1px solid var(--ink);padding-bottom:24px}.toc-chapter .eyebrow{color:#657682;font-size:.7rem;letter-spacing:.12em}.toc-chapter h2{font-size:1.65rem;line-height:1.22;margin-top:12px;letter-spacing:-.035em}
.toc-list{list-style:none;margin:0;padding:0}.toc-row{display:grid;grid-template-columns:63px minmax(0,1fr);gap:12px;padding-block:21px;border-bottom:1px solid var(--line);align-items:start}.toc-code{font-size:.73rem;line-height:1.55;font-weight:600;color:#006dd1;padding-top:2px;letter-spacing:.015em;overflow-wrap:anywhere}.toc-row-title{font-size:1rem;line-height:1.46;color:var(--ink);font-weight:400;letter-spacing:-.01em}.toc-row-subtitle{display:block;color:var(--muted);font-size:.88rem;line-height:1.4;margin-top:3px}.toc-row.practice .toc-code{color:#9b4d04}.toc-practice-label{display:block;font-size:.67rem;line-height:1.4;color:#9b4d04;letter-spacing:.08em;margin-bottom:6px;font-weight:600;text-transform:uppercase}.toc-row.exercises .toc-row-title{font-weight:600;font-size:.92rem}.toc-row.exercises{padding-block:23px;border-bottom:none}
.companion-reference{margin-top:53px;background:#f5f3fa;border-left:2px solid #8f52df;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:30px}.companion-reference .eyebrow{color:#7243b0;letter-spacing:.11em;font-size:.7rem}.companion-reference h2{font-size:1.55rem;margin-top:9px;line-height:1.25}.companion-reference p:not(.eyebrow){font-size:.94rem;max-width:660px;margin-top:12px}

.toc-actions{border-top:1px solid var(--line);padding-block:48px;background:var(--paper)}.toc-actions-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.toc-actions p{font-size:.9rem}.toc-actions-buttons{display:flex;align-items:center;gap:26px}.toc-footer{padding-block:26px}.page-dialog .dialog-image-wrap{height:calc(100% - 76px);padding:30px}.page-dialog .dialog-image-wrap img{max-width:800px;width:100%;height:auto}.page-dialog .dialog-toolbar{min-height:76px}.page-dialog{width:min(940px,calc(100% - 32px))}
@media(max-width:1050px){.toc-grid{gap:27px}.toc-row{grid-template-columns:53px minmax(0,1fr);gap:9px}.toc-chapter h2{font-size:1.4rem}.toc-row-title{font-size:.94rem}.toc-code{font-size:.67rem}}
@media(max-width:760px){.toc-hero{padding-block:32px 40px}.toc-hero-main{flex-direction:column;align-items:flex-start;gap:28px;margin-top:30px}.toc-hero h1{font-size:2.7rem;margin-top:15px}.toc-grid{grid-template-columns:1fr;gap:48px}.toc-section{padding-block:36px 48px}.toc-chapter-heading{min-height:0;padding-bottom:22px}.toc-chapter h2{font-size:1.7rem}.toc-row{grid-template-columns:64px minmax(0,1fr);gap:13px;padding-block:20px}.toc-code{font-size:.73rem}.toc-row-title{font-size:1rem}.toc-legend{gap:17px;padding-bottom:32px;font-size:.72rem}.companion-reference{padding:24px;margin-top:35px;align-items:flex-start;flex-direction:column;gap:16px}.companion-reference h2{font-size:1.45rem}.toc-actions-inner{flex-direction:column;align-items:flex-start;gap:22px}.toc-actions-buttons{flex-wrap:wrap;gap:22px}.toc-actions{padding-block:35px}.page-dialog .dialog-image-wrap{padding:15px}.page-dialog .dialog-toolbar{padding:14px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

