*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:Courier New,Courier,monospace;background:var(--color-bg);color:var(--color-text);line-height:1.7;min-height:100vh}.site-layout{display:flex;min-height:100vh}.sidebar{width:280px;min-width:280px;background:var(--color-bg, #fff);border-right:1px solid var(--color-border, #ddd);position:fixed;top:60px;left:0;height:calc(100vh - 60px);overflow-y:auto;z-index:50;transition:transform .3s ease}.sidebar.collapsed{transform:translate(-100%)}.sidebar-toggle{position:fixed;top:calc(60px + 1rem);left:1rem;z-index:51;padding:.5rem .75rem;border:1px solid var(--color-text, #1a1a1a);background:var(--color-bg, #fff);color:var(--color-text, #1a1a1a);cursor:pointer;font-family:inherit;font-size:1rem;transition:all .2s ease}.sidebar-toggle:hover{background:var(--color-text, #1a1a1a);color:var(--color-bg, #fafafa)}.sidebar.collapsed~.sidebar-toggle{left:1rem}.sidebar:not(.collapsed)~.sidebar-toggle{left:calc(280px + 1rem)}.sidebar-header{padding:1.5rem;border-bottom:1px solid var(--color-border, #ddd)}.sidebar-title{font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.25rem}.sidebar-subtitle{font-size:.75rem;color:var(--color-text-muted, #666)}.sidebar-nav{padding:1rem 0}.chapter-list{list-style:none;margin:0;padding:0}.chapter-list li{margin:0}.chapter-list a{display:block;padding:.75rem 1.5rem;color:var(--color-text, #1a1a1a);text-decoration:none;font-size:.85rem;border-left:3px solid transparent;transition:all .2s ease}.chapter-list a:hover{background:var(--color-secondary, #f5f5f5);border-left-color:var(--color-border, #ddd)}.chapter-list li.active a{background:var(--color-secondary, #f0f0f0);border-left-color:var(--color-text, #1a1a1a);font-weight:600}.chapter-number{display:inline-block;min-width:1.5rem;color:var(--color-text-muted, #666)}.chapter-list li.unpublished .chapter-link{display:block;padding:.75rem 1.5rem;color:var(--color-text-muted, #999);font-size:.85rem;border-left:3px solid transparent;cursor:default}.chapter-list li.unpublished .chapter-number{color:var(--color-text-muted, #999)}.main-content{flex:1;margin-left:280px;transition:margin-left .3s ease}.sidebar.collapsed~.main-content{margin-left:0}.container{max-width:900px;margin:0 auto;padding:1.5rem}main{padding-top:1rem}h1{font-size:1.5rem;font-weight:400;letter-spacing:-.02em;border-bottom:1px solid var(--color-text);padding-bottom:1rem;margin-bottom:.5rem}h2{font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-top:2.5rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}h3{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-top:1.5rem;margin-bottom:1rem}.subtitle{font-size:1rem;color:var(--color-text-muted);margin-bottom:2rem}p{margin-bottom:1.5rem;font-size:.95rem}.section-desc{font-size:.85rem;color:var(--color-text-muted);margin-bottom:1.5rem}blockquote,.quote{font-style:italic;padding:1rem;border-left:3px solid var(--color-text);background:var(--color-secondary);margin:1.5rem 0}.quote-author{font-size:.85rem;color:var(--color-text-muted);margin-top:.5rem;font-style:normal}ul,ol{margin-bottom:1.5rem;margin-left:1.5rem}li{margin-bottom:.5rem}.chapter-nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;margin-top:3rem;border-top:1px solid var(--color-border);flex-wrap:wrap;gap:.5rem}.chapter-nav a{color:var(--color-text);text-decoration:none;font-size:.8rem;padding:.4rem .8rem;border:1px solid var(--color-text);transition:all .2s ease;white-space:nowrap}.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{margin-top:.75rem;font-size:.85rem;color:var(--color-text-muted);font-style:italic}figure.figure-interactive{margin:2rem 0;padding:1.5rem;border:1px solid var(--color-text);background:var(--color-accent)}figure.figure-interactive figcaption{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border);font-size:.85rem;color:var(--color-text-muted)}figure.figure-interactive figcaption strong{color:var(--color-text)}.interactive-section{margin:2rem 0;padding:1.5rem;border:1px solid var(--color-text);background:var(--color-accent)}.grid-2,.grid-3{display:grid;grid-template-columns:1fr;gap:1rem}.grid-4{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.flex-row{display:flex;gap:1rem;flex-wrap:wrap}.flex-col{display:flex;flex-direction:column;gap:1rem}.flex-between{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.card{padding:1.25rem;border:1px solid var(--color-border);cursor:pointer;transition:all .2s ease;background: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{font-weight:600;margin-bottom:.5rem}.card-desc{font-size:.85rem;color:var(--color-text-muted)}.card.selected .card-desc,.card.active .card-desc{color:var(--color-text-muted)}.flip-card{position:relative;height:180px;cursor:pointer;transform-style:preserve-3d;transition:transform .5s}.flip-card.flipped{transform:rotateY(180deg)}.flip-card-front,.flip-card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;padding:1.25rem;border:1px solid var(--color-border);background:var(--color-accent);box-sizing:border-box;overflow:hidden}.flip-card-back{transform:rotateY(180deg);font-size:.8rem;line-height:1.3}.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);padding:.3rem .4rem;margin-left:-.4rem;margin-right:-.4rem}.flip-card-back .languages span{font-size:.7rem;color:var(--color-text-muted)}.flip-card:hover .flip-card-front,.flip-card.flipped .flip-card-back{border-color:var(--color-text)}.btn{padding:.5rem 1rem;border:1px solid var(--color-border);background:var(--color-accent);cursor:pointer;font-family:inherit;font-size:.85rem;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn:hover{border-color:var(--color-text)}.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{display:flex;gap:.5rem;flex-wrap:wrap}.tabs{display:flex;flex-wrap:wrap;gap:0;margin-bottom:1.5rem}.tab{padding:.6rem 1rem;border:1px solid var(--color-border);background:var(--color-accent);cursor:pointer;font-family:inherit;font-size:.8rem;transition:all .2s ease;margin-right:-1px;margin-bottom:-1px}.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:Courier New,Courier,monospace;font-size:.8rem;background:var(--color-secondary);padding:1rem;line-height:1.5;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.code-block.bordered{border-left:3px solid var(--color-text)}code{font-family:Courier New,Courier,monospace;background:var(--color-secondary);padding:.1rem .3rem;font-size:.9em}pre{background:#24292e!important;padding:1rem;border-radius:0;overflow-x:auto;margin:1.5rem 0}pre code{background:transparent;padding:0;font-size:.85rem;line-height:1.6}.input-text{width:100%;padding:.75rem;border:1px solid var(--color-border);font-family:inherit;font-size:.9rem;background:var(--color-accent);transition:border-color .2s ease}.input-text:focus{outline:none;border-color:var(--color-text)}.input-textarea{width:100%;padding:1rem;border:1px solid var(--color-border);font-family:inherit;font-size:.9rem;resize:vertical;min-height:80px;background:var(--color-accent);transition:border-color .2s ease}.input-textarea:focus{outline:none;border-color:var(--color-text)}parallel-blocks{display:block;position:relative;margin-bottom:2rem;overflow:hidden}parallel-blocks .blocks-container{position:relative;overflow:hidden;width:100%}parallel-blocks .blocks-track{display:flex;transition:transform .3s ease;width:100%}parallel-blocks parallel-block{display:block;width:100%;min-width:100%;flex-shrink:0;box-sizing:border-box}parallel-blocks .blocks-nav{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1rem;opacity:0;transition:opacity .15s ease;transition-delay:50ms}parallel-blocks:hover .blocks-nav{opacity:1}parallel-blocks:not(:hover) .blocks-nav{transition-delay:0ms}parallel-blocks .blocks-dots{display:flex;gap:.5rem}parallel-blocks .blocks-dot{width:10px;height:10px;border-radius:50%;border:1px solid var(--color-text);background:var(--color-accent);cursor:pointer;transition:all .2s ease;padding:0}parallel-blocks .blocks-dot.active{background:var(--color-text)}parallel-blocks .blocks-arrow{padding:.5rem .75rem;border:1px solid var(--color-text);background:var(--color-accent);cursor:pointer;font-size:1rem;font-family:inherit;transition:all .2s ease}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{display:flex;flex-direction:column;gap:1rem}.journey-phase{padding:1rem;border:1px solid var(--color-border);background:var(--color-accent)}.journey-phase-title{font-weight:600;margin-bottom:.5rem}.journey-phase-desc{font-size:.9rem;margin-bottom:.5rem}.bloom-tag{display:inline-block;font-size:.6rem;padding:.15rem .5rem;border-radius:2px;text-transform:uppercase;letter-spacing:.05em;opacity:.8;font-weight:600}.bloom-remember{background:var(--color-secondary);color:var(--color-text-muted)}.bloom-understand{background:#e8e8e8;color:#555}.bloom-apply{background:#e0e0e0;color:#444}.bloom-analyze{background:#d0d0d0;color:#333}.bloom-evaluate{background:silver;color:#222}.bloom-create{background:var(--color-text);color:var(--color-bg)}.feedback{padding:1rem;margin-top:1rem;font-size:.9rem}.feedback.success{background:var(--color-secondary);border-left:3px solid var(--color-text)}.feedback.error{background:var(--color-secondary);border-left:3px solid #999}.feedback.info{background:var(--color-secondary);border-left:3px solid #666}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.text-muted{color:var(--color-text-muted)}.text-small{font-size:.85rem}.text-center{text-align:center}.font-mono{font-family:Courier New,Courier,monospace}.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-accent)}@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:fadeIn .3s ease}.animate-slide-down{animation:slideDown .3s ease}.annotation-highlight{background-color:#ffeb3b4d;cursor:pointer;border-bottom:2px solid var(--color-accent);transition:background-color .2s ease;position:relative}.annotation-highlight:hover{background-color:#ffeb3b80}[data-theme=dark] .annotation-highlight{background-color:#ffeb3b33}.highlight-action-button,.annotation-delete{position:fixed;padding:.5rem .75rem;font-size:.85rem;background:var(--color-bg);border:1px solid var(--color-border);cursor:pointer;z-index:102;box-shadow:0 2px 4px #0000001a;border-radius:4px;transition:all .2s ease;white-space:nowrap;font-family:inherit}.highlight-action-button{display:flex;align-items:center;gap:.25rem}.annotation-delete:hover,.highlight-action-button:hover{background:var(--color-accent);box-shadow:0 2px 8px #00000026;transform:translate(-2px)}.comment-form{position:fixed;background:var(--color-bg);border:1px solid var(--color-border);padding:.75rem;z-index:102;box-shadow:0 4px 12px #0003;min-width:250px;max-width:350px}.comment-textarea{width:100%;padding:.5rem;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-family:inherit;font-size:.85rem;resize:vertical;margin-bottom:.5rem}.comment-textarea.error{border-color:#f44336}.comment-textarea:focus{outline:none;border-color:var(--color-accent)}.comment-form-buttons{display:flex;gap:.5rem;justify-content:flex-end}.btn-sm{padding:.375rem .75rem;font-size:.8rem}.btn-primary{background:var(--color-accent);border:1px solid var(--color-border);cursor:pointer;font-family:inherit}.btn-primary:hover{opacity:.9}.btn-secondary{background:var(--color-bg);border:1px solid var(--color-border);cursor:pointer;font-family:inherit}.btn-secondary:hover{background:var(--color-border)}@media (max-width: 1024px){.comment-form{min-width:200px;max-width:280px}}@media (max-width: 768px){.highlight-action-button,.annotation-delete{font-size:.8rem;padding:.4rem .6rem}.comment-form{min-width:180px;max-width:250px;padding:.5rem}.comment-textarea{font-size:.8rem}.btn-sm{padding:.3rem .6rem;font-size:.75rem}}.feedback-button{position:fixed;bottom:2rem;right:2rem;z-index:101;padding:.75rem;font-size:1.25rem;box-shadow:0 2px 8px #00000026;transition:all .3s ease;width:44px;height:44px;display:flex;align-items:center;justify-content:center;overflow:hidden;white-space:nowrap}.feedback-button:hover{box-shadow:0 4px 12px #00000040;width:auto;padding:.75rem 1.25rem}.feedback-button.expanded{width:auto;padding:.75rem 1.25rem}.feedback-button .label{display:none;margin-left:.5rem}.feedback-button:hover .label,.feedback-button.expanded .label{display:inline}.annotation-badge{position:absolute;top:-.5rem;right:-.5rem;background:var(--color-accent);color:var(--color-bg);border-radius:50%;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.feedback-tooltip{position:fixed;background:var(--color-bg);border:1px solid var(--color-border);padding:.5rem .75rem;font-size:.85rem;box-shadow:0 2px 8px #00000026;z-index:102;max-width:200px;pointer-events:none;opacity:0;transition:opacity .3s ease}.feedback-tooltip.show{opacity:1}.feedback-toast{position:fixed;top:2rem;right:2rem;background:var(--color-bg);border:1px solid var(--color-border);padding:.75rem 1rem;font-size:.9rem;box-shadow:0 2px 8px #00000026;z-index:102;opacity:0;transition:opacity .3s ease}.feedback-toast.show{opacity:1}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200}.modal-card{background:var(--color-bg);border:1px solid var(--color-border);padding:2rem;max-width:700px;width:90%;max-height:90vh;z-index:201;position:relative;display:flex;flex-direction:column}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text-muted);padding:.25rem .5rem}.modal-close:hover{color:var(--color-text)}.modal-header{margin-bottom:1.5rem;flex-shrink:0}.modal-body{margin-bottom:1.5rem;flex:1 1 auto;display:flex;flex-direction:column;min-height:0;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;flex-shrink:0;padding-top:1.5rem;border-top:1px solid var(--color-border);background:var(--color-bg)}.annotation-count{font-size:.9rem;color:var(--color-text-muted);margin-bottom:1rem}.annotation-info{flex-shrink:0}.feedback-form{flex-shrink:0;display:flex;flex-direction:column}@media (min-width: 768px){.container{padding:3rem}h1{font-size:2rem}.subtitle{margin-bottom:3rem}.chapter-nav a{font-size:.9rem;padding:.5rem 1rem}figure.figure-interactive{margin:3rem 0;padding:2rem}.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 (min-width: 600px){.grid-2{grid-template-columns:repeat(2,1fr)}}@media (min-width: 500px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.feedback-button{bottom:1rem;right:1rem;padding:.5rem;font-size:1rem}.modal-card{padding:1.5rem;width:95%}}@media (max-width: 767px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-toggle{left:1rem}.sidebar.open~.sidebar-toggle{left:calc(280px + 1rem)}.main-content{margin-left:0}.container{font-size:1rem;padding:1rem}.chapter-list li,.sidebar nav a,.chapter-nav a{font-size:.95rem}h2{font-size:clamp(1rem,3.5vw,1.2rem)}h3{font-size:clamp(.95rem,3vw,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}.feedback-button{bottom:1.5rem;right:1.5rem}}@media (max-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{padding:0;background:var(--color-accent)}}.chapter-nav[data-astro-cid-bks3gknv]{display:flex;justify-content:space-between;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--color-border);border-bottom:0;font-size:.9rem}.chapter-nav[data-astro-cid-bks3gknv] a[data-astro-cid-bks3gknv]:last-child{text-align:right}
