@charset "UTF-8";:root{--gray-100:#f8f9fa;--gray-200:#e9ecef;--gray-500:#adb5bd;--color-link:#0055bb;--color-visited-link:#5500bb;--body-background:white;--body-font-color:black;--icon-filter:none}@media(prefers-color-scheme:dark){:root{--gray-100:#494e54;--gray-200:#5c6165;--gray-500:#999d9f;--color-link:#84b2ff;--color-visited-link:#b88dff;--body-background:#343a40;--body-font-color:#e9ecef;--icon-filter:brightness(0) invert(1)}}/*!modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize*/*,::before,::after{box-sizing:border-box}html{font-family:system-ui,segoe ui,Roboto,Helvetica,Arial,sans-serif,apple color emoji,segoe ui emoji;line-height:1.15;-webkit-text-size-adjust:100%;tab-size:4}body{margin:0}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,liberation mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:initial}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}.flex{display:flex}.flex.gap{gap:1rem}.flex-auto{flex:auto}.flex-even{flex:1 1}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.mx-auto{margin:0 auto}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-small{font-size:.875em}.hidden{display:none}input.toggle{height:0;width:0;overflow:hidden;opacity:0;position:absolute}.clearfix::after{content:"";display:table;clear:both}html{font-size:16px;scroll-behavior:smooth;touch-action:manipulation;scrollbar-gutter:stable}body{min-width:20rem;color:var(--body-font-color);background:var(--body-background);font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:400}a{text-decoration:none}a[href]{color:var(--color-link)}img{vertical-align:baseline}:focus{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}nav ul{padding:0;margin:0;list-style:none}nav ul li{position:relative}nav ul a,nav ul span{padding:.5em 0;display:block}nav ul a:hover{opacity:.5}nav ul ul{padding-inline-start:1rem}ul.pagination{display:flex;justify-content:center;list-style-type:none;padding-inline-start:0}ul.pagination .page-item a{padding:1rem}.container{max-width:80rem;margin:0 auto}.book-icon{filter:var(--icon-filter)}a .book-icon{height:1em;width:1em}.book-brand{margin-top:0;margin-bottom:1rem}.book-brand img{height:1.5em;width:1.5em;margin-inline-end:.5rem}.book-menu{flex:0 0 16rem;font-size:.875rem}.book-menu .book-menu-content{width:16rem;padding:1rem;background:var(--body-background);position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-menu a,.book-menu label{color:inherit;cursor:pointer;word-wrap:break-word}.book-menu a.active{color:var(--color-link)}.book-menu input.toggle+label+ul{display:none}.book-menu input.toggle:checked+label+ul{display:block}.book-menu input.toggle+label::after{content:"▸";align-self:center;transition:transform .1s ease-in-out}.book-menu input.toggle:checked+label::after{transform:rotate(90deg)}body[dir=rtl] .book-menu input.toggle+label::after{content:"◂"}body[dir=rtl] .book-menu input.toggle:checked+label::after{transform:rotate(-90deg)}.book-section-flat{margin:1rem 0}.book-section-flat>a,.book-section-flat>span,.book-section-flat>label{font-weight:bolder}.book-section-flat>ul{padding-inline-start:0}.book-page{min-width:20rem;flex-grow:1;padding:1rem}.book-post{margin-bottom:4rem}.book-post .book-post-date img{height:1em;width:1em;margin-inline-end:.5em}.book-post .book-post-content{margin-top:1rem}.book-post .book-post-thumbnail{flex:0 0 34%}.book-post .book-post-thumbnail img{width:100%;aspect-ratio:4/3;object-fit:cover}.book-header{display:none;margin-bottom:1rem}.book-header label{line-height:0}.book-header h3{overflow:hidden;text-overflow:ellipsis;margin:0 1rem}.book-header img.book-icon{height:1.5em;width:1.5em}.book-layout-landing .book-header{display:block;position:relative;z-index:1}.book-layout-landing .book-header nav>ul{display:flex;gap:1rem;justify-content:end}.book-layout-landing .book-header nav>ul>li{display:block;white-space:nowrap}.book-layout-landing .book-header nav>ul>li>ul{display:none;position:absolute;padding:0}.book-layout-landing .book-header nav>ul>li:hover>ul{display:block}.book-search{position:relative;margin:.5rem 0;border-bottom:1px solid transparent}.book-search input{width:100%;padding:.5rem;border:0;border-radius:.25rem;background:var(--gray-100);color:var(--body-font-color)}.book-search input:required+.book-search-spinner{display:block}.book-search .book-search-spinner{position:absolute;top:0;margin:.5rem;margin-inline-start:calc(100% - 1.5rem);width:1rem;height:1rem;border:1px solid transparent;border-top-color:var(--body-font-color);border-radius:50%;animation:spin 1s ease infinite}@keyframes spin{100%{transform:rotate(360deg)}}.book-search ul a{padding-bottom:0}.book-search small{opacity:.5}.book-toc{flex:0 0 16rem;font-size:.75rem}.book-toc .book-toc-content{width:16rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-toc img{height:1em;width:1em}.book-toc nav>ul>li:first-child{margin-top:0}.book-footer{padding-top:1rem;font-size:.875rem}.book-footer a{margin:.5rem 0}.book-footer a.flex{gap:.5rem}.book-comments{margin-top:1rem}.book-languages{margin-bottom:1rem}.book-languages span{padding:0}.book-languages ul{padding-inline-start:1.5em}.book-languages a.flex{gap:.5em}.book-menu-content,.book-toc-content{transition:.2s ease-in-out;transition-property:transform,margin,opacity,visibility;will-change:transform,margin,opacity}@media screen and (max-width:56rem){.book-menu{visibility:hidden;margin-inline-start:-16rem;z-index:1}.book-toc{display:none}.book-header{display:block}.book-post-container{flex-direction:column-reverse}#menu-control,#toc-control{display:inline}#menu-control:focus~main label[for=menu-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#menu-control:checked~main .book-menu{visibility:initial}#menu-control:checked~main .book-menu .book-menu-content{transform:translateX(16rem);box-shadow:0 0 .5rem rgba(0,0,0,.1)}#menu-control:checked~main .book-page{opacity:.25}#menu-control:checked~main .book-menu-overlay{display:block;position:absolute;top:0;bottom:0;left:0;right:0}#toc-control:focus~main label[for=toc-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#toc-control:checked~main .book-header aside{display:block}body[dir=rtl] #menu-control:checked~main .book-menu .book-menu-content{transform:translateX(-16rem)}}@media screen and (min-width:80rem){.book-page,.book-menu .book-menu-content,.book-toc .book-toc-content{padding:2rem 1rem}}@media print{.book-menu,.book-footer,.book-toc{display:none}.book-header,.book-header aside{display:block}main{display:block!important}}.markdown{line-height:1.6}.markdown>:first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-weight:400;line-height:1;margin-top:1.5em;margin-bottom:1rem}.markdown h1 a.anchor,.markdown h2 a.anchor,.markdown h3 a.anchor,.markdown h4 a.anchor,.markdown h5 a.anchor,.markdown h6 a.anchor{opacity:0;font-size:.75em;vertical-align:middle;text-decoration:none}.markdown h1:hover a.anchor,.markdown h1 a.anchor:focus,.markdown h2:hover a.anchor,.markdown h2 a.anchor:focus,.markdown h3:hover a.anchor,.markdown h3 a.anchor:focus,.markdown h4:hover a.anchor,.markdown h4 a.anchor:focus,.markdown h5:hover a.anchor,.markdown h5 a.anchor:focus,.markdown h6:hover a.anchor,.markdown h6 a.anchor:focus{opacity:initial}.markdown h1{font-size:2rem}.markdown h2{font-size:1.5rem}.markdown h3{font-size:1.25rem}.markdown h4{font-size:1.125rem}.markdown h5{font-size:1rem}.markdown h6{font-size:.875rem}.markdown b,.markdown optgroup,.markdown strong{font-weight:bolder}.markdown a{text-decoration:none}.markdown a[href]:hover{text-decoration:underline}.markdown a[href]:visited{color:var(--color-visited-link)}.markdown img{max-width:100%;height:auto}.markdown code{direction:ltr;unicode-bidi:embed;padding:0 .25rem;background:var(--gray-200);border-radius:.25rem;font-size:.875em}.markdown pre{padding:1rem;background:var(--gray-100);border-radius:.25rem;overflow-x:auto}.markdown pre code{padding:0;background:0 0}.markdown p{word-wrap:break-word}.markdown blockquote{margin:1rem 0;padding:.5rem 1rem .5rem .75rem;border-inline-start:.25rem solid var(--gray-200);border-radius:.25rem}.markdown blockquote :first-child{margin-top:0}.markdown blockquote :last-child{margin-bottom:0}.markdown table{overflow:auto;display:block;border-spacing:0;border-collapse:collapse;margin-top:1rem;margin-bottom:1rem}.markdown table tr th,.markdown table tr td{padding:.5rem 1rem;border:1px solid var(--gray-200);text-align:start}.markdown table tr:nth-child(2n){background:var(--gray-100)}.markdown hr{height:1px;border:none;background:var(--gray-200)}.markdown ul,.markdown ol{padding-inline-start:2rem;word-wrap:break-word}.markdown dl dt{font-weight:bolder;margin-top:1rem}.markdown dl dd{margin-inline-start:0;margin-bottom:1rem}.markdown .highlight{direction:ltr;unicode-bidi:embed;border-radius:.25rem}.markdown .highlight table tr td pre code>span{display:flex}.markdown .highlight table tr td:nth-child(1) pre{margin:0;padding-inline-end:0}.markdown .highlight table tr td:nth-child(2) pre{margin:0;padding-inline-start:0}.markdown details{padding:1rem;border:1px solid var(--gray-200);border-radius:.25rem}.markdown details summary{line-height:1;padding:1rem;margin:-1rem;cursor:pointer;list-style:none}.markdown details summary::before{content:"▸";display:inline-block;margin-inline-end:.5rem;transition:transform .1s ease-in-out}.markdown details[open] summary{margin-bottom:0}.markdown details[open] summary::before{transform:rotate(90deg)}.markdown figure{margin:1rem 0}.markdown-inner>:first-child,.markdown .book-card figcaption>:first-child,.markdown figure figcaption>:first-child,.markdown .book-steps>ol>li>:first-child{margin-top:0}.markdown-inner>:last-child,.markdown .book-card figcaption>:last-child,.markdown figure figcaption>:last-child,.markdown .book-steps>ol>li>:last-child{margin-bottom:0}.markdown .book-expand{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden}.markdown .book-expand .book-expand-head{background:var(--gray-100);padding:.5rem 1rem;cursor:pointer}.markdown .book-expand .book-expand-content{display:none;padding:1rem}.markdown .book-expand input[type=checkbox]:checked+.book-expand-content{display:block}.markdown .book-tabs{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden;display:flex;flex-wrap:wrap}.markdown .book-tabs label{display:inline-block;padding:.5rem 1rem;border-bottom:1px transparent;cursor:pointer}.markdown .book-tabs .book-tabs-content{order:999;width:100%;border-top:1px solid var(--gray-100);padding:1rem;display:none}.markdown .book-tabs input[type=radio]:checked+label{border-bottom:1px solid var(--color-link)}.markdown .book-tabs input[type=radio]:checked+label+.book-tabs-content{display:block}.markdown .book-tabs input[type=radio]:focus+label{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}.markdown .book-columns{gap:1rem}.markdown .book-columns>div{margin:1rem 0;min-width:13.2rem}.markdown .book-columns>ul{list-style:none;display:flex;padding:0;flex-wrap:wrap;gap:1rem}.markdown .book-columns>ul>li{flex:1 1;min-width:13.2rem}.markdown a.book-btn[href]{display:inline-block;font-size:.875rem;color:var(--color-link);line-height:2rem;padding:0 1rem;border:1px solid var(--color-link);border-radius:.25rem;cursor:pointer}.markdown a.book-btn[href]:hover{text-decoration:none}.markdown .book-hint.default{border-color:#64748b;background-color:rgba(100,116,139,.1)}.markdown .book-hint.info{border-color:#4486dd;background-color:rgba(68,134,221,.1)}.markdown .book-hint.success{border-color:#3bad3b;background-color:rgba(59,173,59,.1)}.markdown .book-hint.warning{border-color:#f59e42;background-color:rgba(245,158,66,.1)}.markdown .book-hint.danger{border-color:#d84747;background-color:rgba(216,71,71,.1)}.markdown .book-hint.note{border-color:#4486dd;background-color:rgba(68,134,221,.1)}.markdown .book-hint.tip{border-color:#3bad3b;background-color:rgba(59,173,59,.1)}.markdown .book-hint.important{border-color:#8144dd;background-color:rgba(129,68,221,.1)}.markdown .book-hint.caution{border-color:#d84747;background-color:rgba(216,71,71,.1)}.markdown .book-badge{display:inline-block;font-size:.875rem;font-weight:400;vertical-align:middle;border-radius:.25rem;overflow:hidden;text-wrap:nowrap;color:var(--body-font-color)}.markdown .book-badge span{display:inline-block;padding:0 .5rem}.markdown .book-badge span.book-badge-title{--background-opacity:0.1}.markdown .book-badge span.book-badge-value{--background-opacity:1;color:var(--body-background)}.markdown .book-badge.default span{background-color:rgba(100,116,139,var(--background-opacity))}.markdown .book-badge.info span{background-color:rgba(68,134,221,var(--background-opacity))}.markdown .book-badge.success span{background-color:rgba(59,173,59,var(--background-opacity))}.markdown .book-badge.warning span{background-color:rgba(245,158,66,var(--background-opacity))}.markdown .book-badge.danger span{background-color:rgba(216,71,71,var(--background-opacity))}.markdown .book-badge.note span{background-color:rgba(68,134,221,var(--background-opacity))}.markdown .book-badge.tip span{background-color:rgba(59,173,59,var(--background-opacity))}.markdown .book-badge.important span{background-color:rgba(129,68,221,var(--background-opacity))}.markdown .book-badge.caution span{background-color:rgba(216,71,71,var(--background-opacity))}.markdown .book-steps{position:relative}.markdown .book-steps>ol{counter-reset:steps;list-style:none;padding-inline-start:1.25rem;margin-top:2rem}.markdown .book-steps>ol>li::before{content:counter(steps);counter-increment:steps;position:absolute;display:flex;justify-content:center;left:.5rem;height:1.5rem;width:1.5rem;padding:.25rem;border-radius:.5rem;white-space:nowrap;line-height:1rem;color:var(--body-background);background:var(--gray-500);outline:.25rem solid var(--body-background)}.markdown .book-steps>ol>li{border-inline-start:1px solid var(--gray-500);padding-inline-start:3rem;padding-bottom:2rem}.markdown .book-steps>ol>li:last-child{border:0}.markdown .book-card,.markdown figure{display:block;overflow:hidden;height:100%;border-radius:.25rem;border:1px solid var(--gray-200)}.markdown .book-card[href],.markdown .book-card[href]:visited,.markdown figure[href],.markdown figure[href]:visited{color:var(--body-font-color)}.markdown .book-card[href]:hover,.markdown figure[href]:hover{text-decoration:none;background:var(--gray-100)}.markdown .book-card>img,.markdown figure>img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover}.markdown .book-card .markdown-inner,.markdown .book-card figcaption,.markdown .book-card figure figcaption,.markdown figure .book-card figcaption,.markdown .book-card .book-steps>ol>li,.markdown figure .markdown-inner,.markdown figure figcaption,.markdown figure .book-steps>ol>li{padding:1rem}.markdown .book-card figcaption,.markdown figure figcaption{padding:1rem}.markdown .book-image input+img{cursor:zoom-in;transition:transform .2s ease-in-out}.markdown .book-image input:checked+img{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--body-background);object-fit:contain;width:100%;height:100%;z-index:1;cursor:zoom-out;padding:1rem}.markdown .book-hero{min-height:24rem;align-content:center}.markdown .book-hero h1{font-size:3em}.markdown .book-codeblock-filename{background:var(--gray-200);font-size:.875rem;margin-top:1rem;padding:.25rem 1rem;border-start-start-radius:.25rem;border-start-end-radius:.25rem}.markdown .book-codeblock-filename a{color:var(--body-font-color)}.markdown .book-codeblock-filename+.highlight pre{margin-top:0;border-start-start-radius:0;border-start-end-radius:0}*{box-sizing:border-box}.quick-nav a.book-btn[href],.quick-nav-section a.book-btn[href],.markdown .quick-nav a.book-btn[href],.markdown .quick-nav-section a.book-btn[href],body .markdown .quick-nav a.book-btn[href],html body .markdown .quick-nav a.book-btn[href],.quick-nav-section .quick-nav a.book-btn[href],.markdown .quick-nav-section .quick-nav a.book-btn[href],body .markdown .quick-nav-section .quick-nav a.book-btn[href]{border:none!important;outline:none!important;box-shadow:none!important}.book-page-wrapper{background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);min-height:100vh}.markdown{line-height:1.8;color:#2d3748}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{color:#1a202c;font-weight:700;margin-top:2rem;margin-bottom:1rem;position:relative}.markdown h1::before,.markdown h2::before,.markdown h3::before,.markdown h4::before,.markdown h5::before,.markdown h6::before{content:'';position:absolute;left:-1.5rem;top:50%;transform:translateY(-50%);width:4px;height:1.5rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:2px}.markdown .book-header-enhanced h1::before,.markdown .book-header-enhanced h2::before,.markdown .book-header-enhanced h3::before,.markdown .book-header-enhanced h4::before,.markdown .book-header-enhanced h5::before,.markdown .book-header-enhanced h6::before,.markdown .book-footer-enhanced h1::before,.markdown .book-footer-enhanced h2::before,.markdown .book-footer-enhanced h3::before,.markdown .book-footer-enhanced h4::before,.markdown .book-footer-enhanced h5::before,.markdown .book-footer-enhanced h6::before{display:none}.markdown .book-header-enhanced h2,.markdown .book-footer-enhanced h2{border-bottom:none;padding-bottom:0}.markdown h2{font-size:1.8rem;margin-top:3rem;padding-bottom:.5rem;border-bottom:2px solid #e2e8f0}.markdown h2::before{height:2rem}.markdown h3{font-size:1.4rem;color:#4a5568}.markdown h3::before{height:1.2rem;background:linear-gradient(135deg,#ff9a9e 0%,#fecfef 100%)}.markdown p{margin-bottom:1.5rem;font-size:1.1rem;color:#4a5568}.markdown blockquote{background:linear-gradient(135deg,rgba(102,126,234,5%) 0%,rgba(118,75,162,5%) 100%);border-left:4px solid #667eea;padding:1.5rem 2rem;margin:2rem 0;border-radius:0 8px 8px 0;font-style:italic;position:relative}.markdown blockquote::before{content:'"';position:absolute;top:-.5rem;left:1rem;font-size:3rem;color:#667eea;opacity:.3;font-family:serif}.markdown hr{border:none;height:2px;background:linear-gradient(90deg,transparent 0%,#667eea 50%,transparent 100%);margin:3rem 0}.markdown ul,.markdown ol{margin-bottom:1.5rem;padding-left:1.5rem}.markdown ul li,.markdown ol li{margin-bottom:.8rem;position:relative}.markdown ul{list-style-type:none}.markdown ul li{position:relative;padding-left:1.2rem}.markdown ul li::before{content:"•";color:#667eea;font-weight:700;position:absolute;left:0;top:0}.markdown ol{list-style-type:decimal;padding-left:2rem}.markdown ol li{list-style-type:decimal;padding-left:0}.markdown ol li::before{display:none}.book-header-enhanced{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:2rem 0;margin-bottom:2rem;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,.1)}.book-header-enhanced .brand-section{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 2rem}@media(max-width:768px){.book-header-enhanced .brand-section{flex-direction:column;text-align:center;gap:1.5rem}}.book-header-enhanced .brand-logo h1{margin:0;font-size:2.5rem;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.book-header-enhanced .brand-logo .tagline{margin:.8rem 0 0;font-size:1.1rem;font-weight:400;line-height:1.5;letter-spacing:.5px;background:linear-gradient(135deg,#ffffff 0%,#f0f4f8 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 2px 4px rgba(0,0,0,.1)}@media(max-width:768px){.book-header-enhanced .brand-logo .tagline{font-size:1.1rem;margin:.6rem 0 0}}@media(max-width:480px){.book-header-enhanced .brand-logo .tagline{font-size:1rem;letter-spacing:.3px}}.book-header-enhanced .brand-accent{font-size:3rem;animation:float 3s ease-in-out infinite;opacity:.9;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));transition:all .3s ease}.book-header-enhanced .brand-accent:hover{transform:scale(1.1)rotate(5deg);opacity:1}@media(max-width:768px){.book-header-enhanced .brand-accent{font-size:2.5rem}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}.quick-nav-section{background:rgba(255,255,255,.95);backdrop-filter:blur(10px);padding:1.5rem 0;margin-bottom:2rem;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.1);border:1px solid rgba(255,255,255,.2);position:relative;overflow:hidden}.quick-nav-section::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,rgba(102,126,234,5%) 0%,rgba(118,75,162,5%) 100%);pointer-events:none}.quick-nav-section .quick-nav{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 2rem;position:relative;z-index:1}@media(max-width:1200px){.quick-nav-section .quick-nav{justify-content:center;gap:.8rem;flex-wrap:wrap}}@media(max-width:768px){.quick-nav-section .quick-nav{justify-content:center;gap:.6rem;padding:0 1rem}}@media(max-width:576px){.quick-nav-section .quick-nav{flex-direction:column;gap:1rem}}.quick-nav-section .quick-nav a.book-btn{padding:12px 16px!important;font-size:.9rem!important;font-weight:600;border-radius:25px!important;text-decoration:none;display:inline-flex!important;align-items:center;justify-content:center;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;white-space:nowrap;text-align:center;border:none!important;flex:1;max-width:180px;min-width:120px;line-height:normal!important}@media(max-width:1200px){.quick-nav-section .quick-nav a.book-btn{flex:initial;min-width:100px;max-width:160px;padding:10px 14px!important;font-size:.85rem!important}}.quick-nav-section .quick-nav a.book-btn:nth-child(1){background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)!important;color:#fff!important;box-shadow:0 6px 20px rgba(102,126,234,.4)}.quick-nav-section .quick-nav a.book-btn:nth-child(1):hover{background:linear-gradient(135deg,#5a6fd8 0%,#6a4190 100%)!important;transform:translateY(-4px)scale(1.05);box-shadow:0 12px 40px rgba(102,126,234,.6)}.quick-nav-section .quick-nav a.book-btn:nth-child(2){background:linear-gradient(135deg,#ff9a9e 0%,#fecfef 100%)!important;color:#333!important;box-shadow:0 6px 20px rgba(255,154,158,.3)}.quick-nav-section .quick-nav a.book-btn:nth-child(2):hover{background:linear-gradient(135deg,#ff8a8e 0%,#febfdf 100%)!important;transform:translateY(-4px)scale(1.05);box-shadow:0 12px 40px rgba(255,154,158,.5)}.quick-nav-section .quick-nav a.book-btn:nth-child(3){background:rgba(102,126,234,.1)!important;color:#667eea!important;backdrop-filter:blur(10px)}.quick-nav-section .quick-nav a.book-btn:nth-child(3):hover{background:rgba(102,126,234,.2)!important;transform:translateY(-4px)scale(1.05);box-shadow:0 12px 40px rgba(102,126,234,.2)}.quick-nav-section .quick-nav a.book-btn:nth-child(4){background:linear-gradient(135deg,#a8edea 0%,#fed6e3 100%)!important;color:#333!important;box-shadow:0 6px 20px rgba(168,237,234,.3)}.quick-nav-section .quick-nav a.book-btn:nth-child(4):hover{background:linear-gradient(135deg,#98ddda 0%,#eec6d3 100%)!important;transform:translateY(-4px)scale(1.05);box-shadow:0 12px 40px rgba(168,237,234,.5)}.quick-nav-section .quick-nav a.book-btn:nth-child(5){background:linear-gradient(135deg,#ffeaa7 0%,#fab1a0 100%)!important;color:#333!important;box-shadow:0 6px 20px rgba(255,234,167,.4)}.quick-nav-section .quick-nav a.book-btn:nth-child(5):hover{background:linear-gradient(135deg,#fdcb6e 0%,#e17055 100%)!important;transform:translateY(-4px)scale(1.05);box-shadow:0 12px 40px rgba(255,234,167,.6)}.quick-nav-section .quick-nav a.book-btn:nth-child(6){background:rgba(118,75,162,.1)!important;color:#764ba2!important;backdrop-filter:blur(10px)}.quick-nav-section .quick-nav a.book-btn:nth-child(6):hover{background:rgba(118,75,162,.2)!important;transform:translateY(-4px)scale(1.05);box-shadow:0 12px 40px rgba(118,75,162,.2)}.quick-nav-section .quick-nav a.book-btn:hover::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer .8s ease-in-out}@media(max-width:768px){.quick-nav-section .quick-nav a.book-btn{flex:initial;min-width:85px;max-width:140px;padding:9px 12px!important;font-size:.8rem!important}}@media(max-width:576px){.quick-nav-section .quick-nav a.book-btn{flex:1;width:100%;max-width:280px;padding:12px 24px!important;font-size:.9rem!important;min-width:auto}}@media(max-width:768px){.quick-nav-section{margin:0 -1rem 2rem;border-radius:0;padding:2rem 0}}.book-hero{padding:.5rem 0;text-align:center}.book-hero h1{display:none}@keyframes shimmer{0%{opacity:0;transform:translateX(-100%)}50%{opacity:1}100%{opacity:0;transform:translateX(100%)}}.book-footer-enhanced{background:linear-gradient(135deg,#764ba2 0%,#667eea 100%);color:#fff;padding:3rem 0;margin-top:3rem;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,.1);position:relative;overflow:hidden}.book-footer-enhanced::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.1) 0%,transparent 50%);pointer-events:none}.book-footer-enhanced .cta-section{max-width:1200px;margin:0 auto;padding:0 2rem;text-align:center;position:relative;z-index:1}.book-footer-enhanced .cta-section h2{margin:0 0 1rem;font-size:2.2rem;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.3)}@media(max-width:768px){.book-footer-enhanced .cta-section h2{font-size:1.8rem}}.book-footer-enhanced .cta-section .cta-tagline{font-size:1.3rem;font-weight:300;color:#fff;opacity:.95;line-height:1.6;max-width:600px;margin-left:auto;margin-right:auto}@media(max-width:768px){.book-footer-enhanced .cta-section .cta-tagline{font-size:1.1rem;margin-bottom:1.5rem}}.book-footer-enhanced .cta-section .cta-buttons{display:flex;gap:1.5rem;justify-content:center;margin-bottom:2rem}@media(max-width:768px){.book-footer-enhanced .cta-section .cta-buttons{flex-direction:column;align-items:center;gap:1rem}}.book-footer-enhanced .cta-section .cta-buttons .book-btn{padding:14px 28px;font-size:1.1rem;font-weight:600;border-radius:25px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);min-width:140px}.book-footer-enhanced .cta-section .cta-buttons .book-btn:first-child{background:rgba(255,255,255,.9);color:#667eea;border:2px solid transparent}.book-footer-enhanced .cta-section .cta-buttons .book-btn:first-child:hover{background:#fff;transform:translateY(-2px);box-shadow:0 6px 20px rgba(255,255,255,.3)}.book-footer-enhanced .cta-section .cta-buttons .book-btn:last-child{background:0 0;color:#fff;border:2px solid rgba(255,255,255,.7)}.book-footer-enhanced .cta-section .cta-buttons .book-btn:last-child:hover{background:rgba(255,255,255,.15);border-color:#fff;transform:translateY(-2px)}@media(max-width:768px){.book-footer-enhanced{margin:2rem -1rem 0;border-radius:0;padding:2.5rem 0}}.columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin:2rem 0}@media(max-width:768px){.columns{grid-template-columns:1fr;gap:1.5rem}}.columns .column{background:rgba(255,255,255,.9);backdrop-filter:blur(10px);padding:2rem;border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,.1);border:1px solid rgba(255,255,255,.2);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.columns .column::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea 0%,#764ba2 100%)}.columns .column:hover{transform:translateY(-8px);box-shadow:0 16px 48px rgba(0,0,0,.15)}.columns .column h3{color:#1a202c;font-size:1.3rem;margin-bottom:1rem;font-weight:600}.columns .column h3::before{display:none}.columns .column p{color:#4a5568;line-height:1.7;margin-bottom:0}.book-card{background:rgba(255,255,255,.95);backdrop-filter:blur(15px);border-radius:20px;padding:2.5rem;margin:1.5rem 0;box-shadow:0 12px 40px rgba(0,0,0,.1);border:1px solid rgba(255,255,255,.3);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.book-card::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#667eea 0%,#ff9a9e 50%,#764ba2 100%)}.book-card:hover{transform:translateY(-12px)scale(1.02);box-shadow:0 20px 60px rgba(0,0,0,.15)}.book-card .book-card-title{color:#1a202c;font-size:1.4rem;font-weight:700;margin-bottom:1.5rem;display:flex;align-items:center;gap:.8rem}.book-card .book-card-title::before{content:'';width:6px;height:6px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:50%;flex-shrink:0}.book-card h3{color:#2d3748;font-size:1.2rem;margin-bottom:1rem;font-weight:600}.book-card h3::before{display:none}.book-card p{color:#4a5568;line-height:1.7;margin-bottom:0}.markdown a{color:#667eea;text-decoration:none;font-weight:500;position:relative;transition:all .3s ease}.markdown a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:linear-gradient(90deg,#667eea 0%,#764ba2 100%);transition:width .3s ease}.markdown a:hover{color:#5a6fd8}.markdown a:hover::after{width:100%}.markdown ul{list-style:none;padding-left:0}.book-columns.no-bullets ul li::before,.columns.no-bullets ul li::before{display:none!important;content:none!important}.markdown pre{background:#eef0f3!important;border-radius:8px;padding:1.5rem;margin:2rem 0;overflow-x:auto;box-shadow:0 2px 8px rgba(0,0,0,8%);border:1px solid #d1d5da}.markdown pre code{color:#24292e!important;font-family:fira code,monaco,consolas,monospace}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}.book-header-enhanced{animation:fadeInUp .8s ease-out}.quick-nav-section{animation:fadeInUp .8s ease-out .2s both}.columns .column{animation:fadeInScale .6s ease-out}.columns .column:nth-child(1){animation-delay:.1s}.columns .column:nth-child(2){animation-delay:.2s}.columns .column:nth-child(3){animation-delay:.3s}.columns .column:nth-child(4){animation-delay:.4s}.book-card{animation:fadeInScale .6s ease-out}.book-card:nth-child(1){animation-delay:.1s}.book-card:nth-child(2){animation-delay:.2s}.book-card:nth-child(3){animation-delay:.3s}.book-footer-enhanced{animation:fadeInUp .8s ease-out .4s both}.book-page-wrapper{position:relative}.book-page-wrapper::before{content:'';position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 20%,rgba(102,126,234,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(118,75,162,.1) 0%,transparent 50%),radial-gradient(circle at 40% 60%,rgba(255,154,158,5%) 0%,transparent 50%);pointer-events:none;z-index:-1}.quick-nav-section .quick-nav a.book-btn{position:relative;overflow:hidden}.quick-nav-section .quick-nav a.book-btn::after{content:'';position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(255,255,255,.3);border-radius:50%;transform:translate(-50%,-50%);transition:all .6s ease}.quick-nav-section .quick-nav a.book-btn:active::after{width:300px;height:300px}.book-page-wrapper::after{content:'';position:fixed;top:0;left:0;width:4px;height:100vh;background:linear-gradient(180deg,#667eea 0%,#764ba2 100%);z-index:1000;transform:scaleY(0);transform-origin:top;animation:scrollProgress .1s ease-out}@keyframes scrollProgress{to{transform:scaleY(1)}}@media(max-width:768px){.book-header-enhanced{margin:0 -1rem 2rem;border-radius:0;animation:fadeInUp .6s ease-out}.quick-nav-section{margin:0 -1rem 2rem;border-radius:0;animation:fadeInUp .6s ease-out .1s both}.columns .column{padding:1.5rem;animation:fadeInScale .5s ease-out}.book-card{padding:2rem;margin:1rem 0;animation:fadeInScale .5s ease-out}.book-footer-enhanced{margin:2rem -1rem 0;border-radius:0;animation:fadeInUp .6s ease-out .2s both}.markdown h1::before,.markdown h2::before,.markdown h3::before,.markdown h4::before,.markdown h5::before,.markdown h6::before{display:none}.quick-nav-section .quick-nav a.book-btn{min-height:48px;touch-action:manipulation}}@media(max-width:480px){.book-header-enhanced .brand-logo h1{font-size:2rem}.book-header-enhanced .brand-logo .tagline{font-size:.95rem}.columns .column{padding:1.2rem}.book-card{padding:1.5rem}.markdown{font-size:.95rem}.markdown h2{font-size:1.5rem}.markdown h3{font-size:1.2rem}}.download-section{background:linear-gradient(135deg,rgba(102,126,234,8%) 0%,rgba(118,75,162,8%) 100%);border-left:5px solid #667eea;border-radius:0 12px 12px 0;padding:2rem 2.5rem;margin:2.5rem 0;position:relative;box-shadow:0 4px 20px rgba(102,126,234,.15);transition:all .3s ease}.download-section::before{display:none}.download-section:hover{transform:translateX(8px);box-shadow:0 6px 30px rgba(102,126,234,.25)}.download-section .download-title{font-size:1.3rem;font-weight:700;color:#1a202c;margin-bottom:1.2rem;display:flex;align-items:center;gap:.5rem}.download-section .download-title::before{display:none!important}.download-section .download-content{color:#4a5568;line-height:1.8}.download-section .download-content p{margin-bottom:.8rem}.download-section .download-content p:last-child{margin-bottom:0}.download-section .download-content a{color:#667eea;font-weight:600;text-decoration:none;border-bottom:2px solid transparent;transition:all .3s ease}.download-section .download-content a:hover{color:#5a6fd8;border-bottom-color:#667eea}.download-section .download-content a::after{display:none}.download-section .download-content code{background:rgba(102,126,234,.15);color:#667eea;padding:.2rem .6rem;border-radius:4px;font-family:fira code,monospace;font-weight:600}.download-section .download-content .source-tag{font-size:.9rem;color:#718096;font-style:italic;margin-top:.5rem;display:block}@media(max-width:768px){.download-section{padding:1.5rem 1.8rem;margin:2rem 0}.download-section::before{font-size:1.5rem;top:-.6rem;left:1rem}.download-section .download-title{font-size:1.1rem}}.course-intro-board{background:linear-gradient(135deg,#2d3748 0%,#1a202c 100%);border:8px solid #4a5568;border-radius:16px;padding:2.5rem 3rem;margin:2.5rem 0;position:relative;box-shadow:0 10px 40px rgba(0,0,0,.3),inset 0 2px 4px rgba(255,255,255,.1)}.course-intro-board::before{content:'';position:absolute;top:-8px;left:-8px;right:-8px;bottom:-8px;background:linear-gradient(135deg,#8b7355 0%,#6b5644 100%);border-radius:16px;z-index:-1}.course-intro-board .board-content{color:#f7fafc;line-height:1.9;font-size:1.05rem;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.course-intro-board .board-content p{margin-bottom:1.2rem;color:#e2e8f0}.course-intro-board .board-content p:last-child{margin-bottom:0}.course-intro-board .board-content p strong{color:#ffeaa7;font-weight:700;text-shadow:none}.course-intro-board .board-title{color:gold;font-size:1.4rem;font-weight:700;margin-bottom:1.5rem;text-align:center;text-shadow:2px 2px 4px rgba(0,0,0,.5);position:relative;padding-bottom:1rem}.course-intro-board .board-title::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80%;height:2px;background:rgba(255,215,0,.5);box-shadow:0 0 8px rgba(255,215,0,.3)}@media(max-width:768px){.course-intro-board{padding:2rem 1.8rem;margin:2rem 0;border-width:6px}.course-intro-board .board-title{font-size:1.2rem}.course-intro-board .board-content{font-size:1rem}}.community-section{background:linear-gradient(135deg,rgba(255,154,158,8%) 0%,rgba(254,207,239,8%) 100%);border-left:5px solid #ff9a9e;border-radius:0 12px 12px 0;padding:2rem 2.5rem;margin:2.5rem 0;position:relative;box-shadow:0 4px 20px rgba(255,154,158,.15);transition:all .3s ease}.community-section::before{display:none}.community-section:hover{transform:translateX(8px);box-shadow:0 6px 30px rgba(255,154,158,.25)}.community-section .community-title{font-size:1.3rem;font-weight:700;color:#1a202c;margin-bottom:1.2rem}.community-section .community-title::before{display:none!important}.community-section .benefits-list{list-style:none;padding-left:0;margin:1rem 0 0}.community-section .benefits-list li{color:#4a5568;line-height:1.8;margin-bottom:.8rem;padding-left:0;display:flex;align-items:flex-start;gap:.5rem}.community-section .benefits-list li::before{display:none!important}@media(max-width:768px){.community-section{padding:1.5rem 1.8rem;margin:2rem 0}.community-section::before{font-size:1.5rem;top:-.6rem;left:1rem}.community-section .community-title{font-size:1.1rem}}