.book-head{max-width:1440px;margin:auto;padding:52px 5vw 30px}.book-head h1{font-size:clamp(36px,5vw,66px);line-height:1.1;letter-spacing:-.045em;margin:14px 0}.book-head>p{max-width:750px;font-size:17px;line-height:1.7;color:var(--tone-c9c9c9)}.book-eyebrow,.book-head .book-eyebrow{font:13px/1.7 'DM Mono',monospace;letter-spacing:.03em;color:var(--tone-bbbbbb)}.book-access{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.book-access span{padding:9px 14px;border:1px solid var(--tone-555555);border-radius:5px;font-size:14px}.book-access span:first-child{background:var(--tone-f5f5f1);color:var(--tone-111111)}.book-shell{max-width:1440px;margin:auto;padding:20px 5vw 70px;display:grid;grid-template-columns:290px minmax(0,1fr);gap:54px;align-items:start}.book-sidebar{position:sticky;top:100px;max-height:calc(100dvh - 120px);overflow:auto;padding-right:12px;scrollbar-width:thin}.book-sidebar h2{font-size:18px;margin:0 0 20px}.book-group{font-size:13px;line-height:1.6;color:var(--tone-dddddd);margin:26px 0 9px}.book-group span{display:block;font-size:11px;color:var(--tone-aaaaaa)}.book-sidebar a{display:flex;justify-content:space-between;gap:10px;color:var(--tone-cccccc);padding:11px 12px;margin:3px 0;border:1px solid transparent;border-radius:5px;font-size:14px;line-height:1.5}.book-sidebar a:hover,.book-sidebar a:focus-visible{border-color:var(--tone-888888);color:var(--tone-ffffff)}.book-sidebar a[aria-current]{background:var(--tone-f5f5f1);color:var(--tone-111111)}.book-sidebar a span{font-size:12px}.book-mobile{display:none}.book-position{font-size:13px;color:var(--tone-bdbdbd);border-bottom:1px solid var(--tone-444444);padding-bottom:15px;margin-bottom:25px}.book-content{scroll-margin-top:110px;min-width:0}.book-content h2{font-size:clamp(30px,3.5vw,49px);line-height:1.15;letter-spacing:-.035em;margin:16px 0 20px}.book-content h2:focus{outline:none}.book-content h3{font-size:23px;line-height:1.3;margin:28px 0 18px}.book-content p,.book-points{font-size:16px;line-height:1.85;color:var(--tone-d1d1d1)}.book-content .book-lead{font-size:18px}.book-eyebrow span{display:block;color:var(--tone-aaaaaa);font-size:12px}.book-figure{margin:28px 0}.book-figure button{display:block;padding:0;width:100%;border:1px solid var(--tone-777777);border-radius:8px;background:var(--tone-ffffff);overflow:hidden;cursor:zoom-in}.book-figure svg{display:block;width:100%;max-height:370px}.book-figure button>span{display:block;text-align:right;padding:12px 16px;background:var(--tone-f0f1f2);color:var(--tone-222222);font-size:14px}.book-figure figcaption{font-size:12px;color:var(--tone-aaaaaa);margin-top:10px}.book-points{padding-left:24px}.book-points li{padding:0 0 14px 10px}.book-note{border-left:3px solid var(--tone-dddddd);padding:18px 22px;background:var(--tone-1a1a1a);margin:25px 0}.book-note b{font-size:15px}.book-note p{margin:8px 0 0}.book-exercise{border:1px solid var(--tone-686868);border-radius:8px;padding:24px}.book-exercise span{font:13px 'DM Mono',monospace}.book-exercise p{margin:12px 0 0}.book-pagination{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--tone-555555);margin-top:32px;padding-top:22px;font-size:14px;line-height:1.5}.book-pagination a{color:var(--tone-ffffff);padding:10px 0;text-decoration:underline;text-underline-offset:5px}.book-pagination>span{color:var(--tone-999999);padding-top:10px}.book-vip{border:1px solid var(--tone-666666);border-radius:8px;padding:30px;margin-top:32px}.book-vip>span{font:13px 'DM Mono',monospace}.book-vip .button{margin-top:22px}.book-back{display:block;margin-top:24px;color:var(--tone-cccccc);text-decoration:underline}.book-resources{max-width:1260px;margin:0 auto 50px;padding:0 5vw}.book-resources summary{padding:18px 0;cursor:pointer;font-size:16px;border-top:1px solid var(--tone-555555)}.book-resources p{font-size:16px;line-height:1.7;color:var(--tone-cccccc)}.book-resources a{display:inline-block;color:var(--tone-ffffff);margin:15px 25px 15px 0;text-decoration:underline}.book-resources video{width:100%;max-width:600px;margin-top:20px}.book-dialog{width:min(1000px,94vw);max-height:90dvh;overflow:auto;padding:18px;background:var(--tone-ffffff);border:0;border-radius:10px}.book-dialog::backdrop{background:var(--tone-000000cc)}.book-dialog>button{display:block;margin-left:auto;background:var(--tone-111111);color:var(--tone-ffffff);padding:12px 18px;border:0;cursor:pointer}.book-dialog svg{display:block;width:100%;min-width:630px}.book-chart-scroll{overflow:auto}.book-dialog p{color:var(--tone-444444);font-size:13px}.book-mobile select{font:16px Manrope,sans-serif;width:100%;padding:14px;color:var(--tone-ffffff);background:var(--tone-191919);border:1px solid var(--tone-777777);border-radius:5px}.book-mobile label{display:block;font-size:14px;margin-bottom:10px}
@media(max-width:900px){.book-shell{grid-template-columns:230px minmax(0,1fr);gap:28px}.book-head{padding-top:35px}}
@media(max-width:700px){.book-shell{display:block;padding-top:10px}.book-sidebar{display:none}.book-mobile{display:block;margin-bottom:24px}.book-head{padding:28px 6vw 24px}.book-head h1{font-size:38px}.book-head>p{font-size:16px}.book-access{gap:8px}.book-access span{font-size:12px}.book-content h2{font-size:30px}.book-content .book-lead{font-size:16px}.book-pagination{font-size:13px}.book-content{scroll-margin-top:90px}.book-figure svg{min-height:200px}.book-note,.book-exercise,.book-vip{padding:20px}.book-shell{padding-left:6vw;padding-right:6vw}.book-position{margin-top:20px}}
@media(max-width:700px){.book-shell .book-mobile{position:sticky;top:64px;z-index:12;background:var(--tone-0b0b0b);padding:12px 0;border-bottom:1px solid var(--tone-444444)}.book-shell .book-content{scroll-margin-top:205px}}
.book-access{display:grid;grid-template-columns:1fr 1fr;max-width:940px;gap:14px;margin-top:30px}.book-access a{display:grid;gap:12px;padding:22px;border:1px solid var(--tone-525252);border-radius:12px;color:var(--tone-eeeeee);transition:border-color .2s,background .2s}.book-access a:first-child{background:var(--tone-f3f3ed);color:var(--tone-111111)}.book-access a:hover{border-color:var(--tone-ffffff);background:var(--tone-222222)}.book-access a:first-child:hover{background:var(--tone-ffffff)}.book-access small,.book-nav-label{font:11px/1.7 'DM Mono',monospace;letter-spacing:.07em}.book-access strong{font-size:20px;line-height:1.4}.book-access em{font-size:13px;font-style:normal;line-height:1.6;opacity:.8}.book-nav-label{color:var(--tone-bbbbbb);margin:0 0 16px}.book-nav-unit{border-top:1px solid var(--tone-333333);padding:20px 0 14px}.book-unit-heading{display:flex;gap:13px;align-items:center;margin-bottom:12px}.book-unit-number{display:grid;place-items:center;flex:0 0 38px;height:38px;border:1px solid var(--tone-666666);border-radius:8px;font:15px 'DM Mono',monospace;color:var(--tone-eeeeee)}.book-unit-heading strong{display:block;font-size:14px;line-height:1.5}.book-unit-heading small{display:block;font-size:12px;color:var(--tone-aaaaaa);margin-top:4px}.book-vip-nav{border:1px solid var(--tone-666666);border-radius:12px;background:var(--tone-171717);padding:16px;margin-top:10px}.book-sidebar .book-vip-nav a{align-items:center;padding:12px 8px;border-bottom:1px solid var(--tone-383838);border-radius:4px}.book-sidebar .book-vip-nav-title{font-size:14px;line-height:1.5}.book-vip-nav-title small{display:block;font:10px/1.8 'DM Mono',monospace;opacity:.7}.book-badge{display:inline-block;flex-shrink:0;font:10px/1.5 'DM Mono',monospace;padding:5px 8px;border:1px solid currentColor;border-radius:5px;letter-spacing:.04em}.book-vip-cover{padding:32px;border-radius:14px;background:var(--tone-f1f1eb);color:var(--tone-111111);margin-top:20px}.book-cover-meta,.book-cover-bottom{display:flex;justify-content:space-between;gap:16px;align-items:center;font:11px/1.6 'DM Mono',monospace;letter-spacing:.04em}.book-content .book-vip-cover h2{font-size:clamp(32px,4vw,56px);max-width:650px;margin:36px 0 18px}.book-content .book-vip-cover p{color:var(--tone-454545);max-width:600px;font-size:17px;line-height:1.8;margin-bottom:32px}.book-cover-bottom{padding-top:20px;border-top:1px solid var(--tone-bbbbbb);color:var(--tone-555555)}.book-vip-topics{margin:34px 0}.book-topic-row{display:flex;gap:22px;border-top:1px solid var(--tone-414141);padding:22px 0}.book-topic-row>span{font:12px/1.8 'DM Mono',monospace;color:var(--tone-999999);padding-top:3px}.book-topic-row h4{margin:0;font-size:18px;line-height:1.5;font-weight:600}.book-content .book-topic-row p{font-size:14px;margin:7px 0 0;line-height:1.75;color:var(--tone-bcbcbc)}.book-vip-action{padding:26px;border:1px solid var(--tone-555555);border-radius:12px;background:var(--tone-161616)}.book-vip-action h3{margin:12px 0}.book-content .book-vip-action p{font-size:14px;line-height:1.8}.book-vip-action .button{margin-top:18px;min-height:48px}.book-access a:focus-visible,.book-back:focus-visible{outline:2px solid var(--tone-ffffff);outline-offset:5px}
@media(max-width:700px){.book-access{grid-template-columns:1fr;gap:10px;margin-top:24px}.book-access a{padding:18px;gap:8px}.book-access strong{font-size:18px}.book-vip-cover{padding:23px}.book-content .book-vip-cover h2{font-size:36px;margin-top:28px;overflow-wrap:normal}.book-content .book-vip-cover p{font-size:16px}.book-cover-bottom{font-size:10px;flex-wrap:wrap}.book-vip-action{padding:22px}.book-vip-action .button{width:100%;justify-content:center}.book-topic-row{gap:16px}.book-topic-row h4{font-size:17px}}
