*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-mono);background:var(--color-bg);color:var(--color-text);min-height:100vh;line-height:1.7}.site-layout{width:100%;min-width:0;min-height:100vh;display:flex}.sidebar{background:var(--color-bg);border-right:1px solid var(--color-border);width:260px;min-width:260px;top:var(--pin-bar-h,4.5rem);left:var(--nav-width,220px);height:calc(100vh - var(--pin-bar-h,4.5rem));z-index:50;transition:transform .3s;position:fixed;overflow-y:auto}.sidebar.collapsed{transform:translate(-100%)}.sidebar-toggle{top:calc(var(--pin-bar-h,4.5rem) + 1rem);left:calc(var(--nav-width,220px) + 1rem);z-index:51;border:1px solid var(--color-text);background:var(--color-bg);color:var(--color-text);cursor:pointer;padding:.5rem .75rem;font-family:inherit;font-size:1rem;transition:background .2s,color .2s;position:fixed}.sidebar-toggle:hover{background:var(--color-text);color:var(--color-bg)}.sidebar.collapsed~.sidebar-toggle{left:calc(var(--nav-width,220px) + 1rem)}.sidebar:not(.collapsed)~.sidebar-toggle{left:calc(var(--nav-width,220px) + 260px + 1rem)}.sidebar-header{border-bottom:1px solid var(--color-border);padding:1.5rem}.sidebar-title{text-transform:uppercase;letter-spacing:.1em;margin-bottom:.25rem;font-size:.9rem;font-weight:600}.sidebar-subtitle{color:var(--color-text-muted);font-size:.75rem}.sidebar-nav{padding:1rem 0}.chapter-list{margin:0;padding:0;list-style:none}.chapter-list li{margin:0}.chapter-list a{color:var(--color-text);border-left:3px solid #0000;padding:.75rem 1.5rem;font-size:.85rem;text-decoration:none;transition:background .2s,border-color .2s;display:block}.chapter-list a:focus-visible{background:var(--color-secondary);border-left-color:var(--color-accent)}.chapter-list a:hover{background:var(--color-secondary);border-left-color:var(--color-border)}.chapter-list li.active a{background:var(--color-secondary);border-left-color:var(--color-text);font-weight:600}.chapter-number{min-width:1.5rem;color:var(--color-text-muted);display:inline-block}.chapter-list li.unpublished .chapter-link{color:var(--color-text-muted);cursor:default;border-left:3px solid #0000;padding:.75rem 1.5rem;font-size:.85rem;display:block}.chapter-list li.unpublished .chapter-number{color:var(--color-text-muted)}.main-content{flex:1;min-width:0;margin-left:260px;transition:margin-left .3s}.sidebar.collapsed~.main-content{margin-left:0}.container{max-width:900px;margin:0 auto;padding:1.5rem}main{padding-top:1rem}h1{letter-spacing:0;border-bottom:1px solid var(--color-text);margin-bottom:.5rem;padding-bottom:1rem;font-size:1.5rem;font-weight:400}h2{text-transform:uppercase;letter-spacing:.1em;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:2.5rem;margin-bottom:1.5rem;font-size:.9rem;font-weight:600;display:flex}h3{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-top:1.5rem;margin-bottom:1rem;font-size:.85rem;font-weight:600}.subtitle{color:var(--color-text-muted);text-align:center;text-shadow:var(--text-shadow-space);margin-bottom:2rem;font-size:1rem}p{margin-bottom:1.5rem;font-size:.95rem}.section-desc{color:var(--color-text-muted);margin-bottom:1.5rem;font-size:.85rem}blockquote,.quote{border-left:3px solid var(--color-text);background:var(--color-secondary);margin:1.5rem 0;padding:1rem;font-style:italic}.quote-author{color:var(--color-text-muted);margin-top:.5rem;font-size:.85rem;font-style:normal}ul,ol{margin-bottom:1.5rem;margin-left:1.5rem}li{margin-bottom:.5rem}.chapter-nav{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:3rem;padding:1rem 0;display:flex}.chapter-nav a{color:var(--color-text);border:1px solid var(--color-text);white-space:nowrap;padding:.4rem .8rem;font-size:.8rem;text-decoration:none;transition:background .2s,color .2s}.chapter-nav a:hover{background:var(--color-text);color:var(--color-bg)}figure{margin:2rem 0}figure img{max-width:65ch;height:auto;display:block}figure figcaption{color:var(--color-text-muted);margin-top:.75rem;font-size:.85rem;font-style:italic}figure.figure-interactive{border:1px solid var(--color-text);background:var(--color-surface);margin:1.25rem 0;padding:1rem}figure.figure-interactive figcaption{border-top:1px solid var(--color-border);color:var(--color-text-muted);margin-top:1rem;padding-top:1rem;font-size:.85rem}figure.figure-interactive figcaption strong{color:var(--color-text)}.interactive-section{border:1px solid var(--color-text);background:var(--color-surface);margin:2rem 0;padding:1.5rem}.grid-2,.grid-3{grid-template-columns:1fr;gap:1rem;display:grid}.grid-4{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.flex-row{flex-wrap:wrap;gap:1rem;display:flex}.flex-col{flex-direction:column;gap:1rem;display:flex}.flex-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.card{border:1px solid var(--color-border);cursor:pointer;background:var(--color-surface-raised);padding:1.25rem;transition:border-color .2s,background .2s,color .2s}.card:focus-visible{border-color:var(--color-accent)}.card:hover{border-color:var(--color-text)}.card.selected,.card.active{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}.card-title{margin-bottom:.5rem;font-weight:600}.card-desc{color:var(--color-text-muted);font-size:.85rem}.card.selected .card-desc,.card.active .card-desc{color:var(--color-text-muted)}.flip-card{cursor:pointer;height:180px;transform-style:preserve-3d;transition:transform .5s;position:relative}.flip-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.flip-card.flipped{transform:rotateY(180deg)}.flip-card-front,.flip-card-back{backface-visibility:hidden;border:1px solid var(--color-border);background:var(--color-surface);box-sizing:border-box;width:100%;height:100%;padding:1.25rem;position:absolute;overflow:hidden}.flip-card-back{font-size:.8rem;line-height:1.3;transform:rotateY(180deg)}.flip-card-back p{margin:0 0 .35rem}.flip-card-back p:last-child{margin-bottom:0}.flip-card-back .languages{background:var(--color-secondary);margin-left:-.4rem;margin-right:-.4rem;padding:.3rem .4rem}.flip-card-back .languages span{color:var(--color-text-muted);font-size:.7rem}.flip-card:hover .flip-card-front,.flip-card.flipped .flip-card-back{border-color:var(--color-text)}.btn{border:1px solid var(--color-border);background:var(--color-surface-raised);color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-family:inherit;font-size:.85rem;transition:border-color .2s,background .2s,color .2s;display:inline-flex}.btn:hover{border-color:var(--color-border-strong)}.btn:focus-visible{border-color:var(--color-accent);outline:2px solid var(--color-accent);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.active,.btn.selected{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}.btn.primary{border-color:var(--color-text)}.btn.primary:hover{background:var(--color-text);color:var(--color-bg)}.btn-group{flex-wrap:wrap;gap:.5rem;display:flex}.tabs{flex-wrap:wrap;gap:0;margin-bottom:1.5rem;display:flex}.tab{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;margin-bottom:-1px;margin-right:-1px;padding:.6rem 1rem;font-family:inherit;font-size:.8rem;transition:background .2s,color .2s}.tab:hover{background:var(--color-secondary)}.tab.active{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text);z-index:1}.code-block{font-family:var(--font-mono);background:var(--color-secondary);color:var(--color-text);white-space:pre-wrap;word-break:break-word;padding:1rem;font-size:.8rem;line-height:1.5;overflow-x:auto}.code-block.bordered{border-left:3px solid var(--color-text)}code{font-family:var(--font-mono);background:var(--color-secondary);padding:.1rem .3rem;font-size:.9em}pre{border-radius:0;margin:1.5rem 0;padding:1rem;overflow-x:auto;background:var(--color-code-bg)!important}pre code{background:0 0;padding:0;font-size:.85rem;line-height:1.6}.input-text{border:1px solid var(--color-border);background:var(--color-surface);width:100%;padding:.75rem;font-family:inherit;font-size:.9rem;transition:border-color .2s}.input-text:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--color-accent)}.input-textarea{border:1px solid var(--color-border);resize:vertical;background:var(--color-surface);width:100%;min-height:80px;padding:1rem;font-family:inherit;font-size:.9rem;transition:border-color .2s}.input-textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--color-accent)}parallel-blocks{margin-bottom:2rem;display:block;position:relative;overflow:hidden}parallel-blocks .blocks-container{width:100%;position:relative;overflow:hidden}parallel-blocks .blocks-track{width:100%;transition:transform .3s;display:flex}parallel-blocks parallel-block{box-sizing:border-box;flex-shrink:0;width:100%;min-width:100%;display:block}parallel-blocks .blocks-nav{opacity:0;justify-content:center;align-items:center;gap:1rem;margin-top:1rem;transition:opacity .15s 50ms;display:flex}parallel-blocks:hover .blocks-nav{opacity:1}parallel-blocks:not(:hover) .blocks-nav{transition-delay:0s}parallel-blocks .blocks-dots{gap:.5rem;display:flex}parallel-blocks .blocks-dot{border:1px solid var(--color-text);background:var(--color-surface);cursor:pointer;border-radius:50%;width:10px;height:10px;padding:0;transition:background .2s}parallel-blocks .blocks-dot.active{background:var(--color-text)}parallel-blocks .blocks-arrow{border:1px solid var(--color-text);background:var(--color-surface);cursor:pointer;padding:.5rem .75rem;font-family:inherit;font-size:1rem;transition:background .2s,color .2s}parallel-blocks .blocks-arrow:hover{background:var(--color-text);color:var(--color-bg)}parallel-blocks .blocks-arrow:disabled{opacity:.3;cursor:not-allowed}.journey-overview{flex-direction:column;gap:1rem;display:flex}.journey-phase{border:1px solid var(--color-border);background:var(--color-surface);padding:1rem}.journey-phase-title{margin-bottom:.5rem;font-weight:600}.journey-phase-desc{margin-bottom:.5rem;font-size:.9rem}.bloom-tag{text-transform:uppercase;letter-spacing:.05em;opacity:.8;border-radius:2px;padding:.15rem .5rem;font-size:.6rem;font-weight:600;display:inline-block}.bloom-remember{background:var(--color-secondary);color:var(--color-text-muted)}.bloom-understand{background:color-mix(in oklch, var(--color-text) 12%, transparent);color:var(--color-text-muted)}.bloom-apply{background:color-mix(in oklch, var(--color-text) 16%, transparent);color:var(--color-border-strong)}.bloom-analyze{background:color-mix(in oklch, var(--color-text) 22%, transparent);color:var(--color-text)}.bloom-evaluate{background:color-mix(in oklch, var(--color-text) 30%, transparent);color:var(--color-text)}.bloom-create{background:var(--color-text);color:var(--color-bg)}.feedback{margin-top:1rem;padding:1rem;font-size:.9rem}.feedback.success{background:var(--color-secondary);border-left:3px solid var(--color-success)}.feedback.error{background:var(--color-secondary);border-left:3px solid var(--color-danger)}.feedback.info{background:var(--color-secondary);border-left:3px solid var(--color-text-muted)}.hidden{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-muted{color:var(--color-text-muted)}.text-small{font-size:.85rem}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.font-bold{font-weight:600}.mt-0{margin-top:0}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.p-1{padding:.5rem}.p-2{padding:1rem}.p-3{padding:1.5rem}.border{border:1px solid var(--color-border)}.border-dark{border-color:var(--color-text)}.bg-light{background:var(--color-secondary)}.bg-white{background:var(--color-surface)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.3s fadeIn}.animate-slide-down{animation:.3s slideDown}@media (width>=768px){.container{padding:3rem}h1{font-size:2rem}.subtitle{margin-bottom:3rem}.chapter-nav a{padding:.5rem 1rem;font-size:.9rem}figure.figure-interactive{margin:1.5rem 0;padding:1.25rem}.interactive-section{margin:3rem 0;padding:2rem}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.card{padding:1.5rem}.tab{padding:.75rem 1.5rem;font-size:.85rem}.code-block{font-size:.85rem}}@media (width>=600px){.grid-2{grid-template-columns:repeat(2,1fr)}}@media (width>=500px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=767px){.sidebar{left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-toggle,.sidebar.collapsed~.sidebar-toggle{left:4rem;top:calc(var(--space-sm) + 44px + var(--space-xs) + var(--pin-bar-h,3.5rem) + .5rem)}.sidebar.open~.sidebar-toggle{left:calc(260px + 1rem)}.main-content{margin-left:0}.container{padding:1rem;font-size:1rem}.chapter-list li,.sidebar nav a,.chapter-nav a{font-size:.95rem}h2{font-size:1.2rem}h3{font-size:1.1rem}code,.code-block{font-size:.875rem}p{line-height:1.8}pre code{word-break:break-word;white-space:pre-wrap}figure img{max-width:100%;height:auto}}@media (width<=360px){.container{padding:.75rem}body{font-size:15px}}@media print{.sidebar,.sidebar-toggle,.chapter-nav,.btn,figure.figure-interactive{display:none}.main-content{margin-left:0}body{background:var(--color-surface);padding:0}}.bash-terminal{background:var(--color-bg-strong);white-space:normal;padding:.75rem 1rem}.bash-terminal .bt-screen{max-height:calc(var(--bt-rows,12) * 1.5em);outline:none;overflow-y:auto}.bash-terminal .bt-line{white-space:pre-wrap;word-break:break-word;min-height:1.5em}.bash-terminal .bt-cmd-prompt{color:var(--color-accent)}.bash-terminal .bt-err{color:var(--color-danger)}.bash-terminal .bt-exit{color:var(--color-text-subtle)}.bash-terminal .bt-input-row{align-items:baseline;gap:.5ch;margin-top:.25rem;display:flex}.bash-terminal .bt-prompt{color:var(--color-accent);white-space:nowrap}.bash-terminal .bt-input{font-family:var(--font-mono);font-size:inherit;color:var(--color-text);background:0 0;border:none;outline:none;flex:1;padding:0;line-height:1.5}.bash-terminal .bt-input:disabled{opacity:.5}.bash-terminal .bt-status{color:var(--color-text-subtle);margin-top:.25rem}.bash-terminal .bt-status:empty{display:none}.bash-terminal .bt-retry{font-family:var(--font-mono);font-size:inherit;color:var(--color-accent);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.chapter-nav[data-astro-cid-3yfbwi5j]{border-top:1px solid var(--color-border);border-bottom:0;justify-content:space-between;margin-top:3rem;padding-top:1.5rem;font-size:.9rem;display:flex}.chapter-nav[data-astro-cid-3yfbwi5j] a[data-astro-cid-3yfbwi5j]:last-child{text-align:right}
