.guide-body{max-width:70ch}.guide-body hr{border:none;height:var(--space-2xl);margin:0;background:none;visibility:hidden}table{width:100%;border-collapse:collapse;margin:var(--space-lg) 0;font-size:.92rem;max-width:100%}.guide-body table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}thead{background:var(--subject-color);color:#fff}th{font-family:var(--font-display);font-weight:600;text-align:left;padding:var(--space-sm) var(--space-md)}td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border)}tbody tr:nth-child(2n){background:var(--subject-light)}tbody tr:hover{background:var(--color-paper-dark)}.guide-body>p:first-of-type:first-letter{float:left;font-size:3.5em;line-height:.8;color:var(--subject-color);font-family:var(--font-display);font-weight:800;padding-right:.08em;margin-top:.05em}.exam-alert{position:relative;border-left:4px solid #c62828;background:#fde8e8;padding:var(--space-md) var(--space-lg);margin:var(--space-xl) 0;border-radius:0 6px 6px 0}.exam-alert:before{content:"EXAM ALERT";display:block;font-family:var(--font-display);font-weight:700;font-size:.75rem;letter-spacing:.1em;color:#c62828;margin-bottom:var(--space-xs);padding-left:22px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M8 1L1 14h14L8 1z' fill='none' stroke='%23c62828' stroke-width='1.5' stroke-linejoin='round'/%3E%3Cline x1='8' y1='6' x2='8' y2='10' stroke='%23c62828' stroke-width='1.5' stroke-linecap='round'/%3E%3Ccircle cx='8' cy='12' r='0.8' fill='%23c62828'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left center;background-size:16px 16px}.ib-tip{border-left:4px solid var(--subject-accent);background:var(--subject-light);padding:var(--space-md) var(--space-lg);margin:var(--space-xl) 0;border-radius:0 6px 6px 0}.ib-tip:before{content:"IB TIP";display:block;font-family:var(--font-display);font-weight:700;font-size:.75rem;letter-spacing:.1em;color:var(--subject-color);margin-bottom:var(--space-xs);padding-left:22px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a4.5 4.5 0 0 1 2.5 8.2V11.5a1 1 0 0 1-1 1h-3a1 1 0 0 1-1-1V9.2A4.5 4.5 0 0 1 8 1z' fill='none' stroke='%232D5016' stroke-width='1.3'/%3E%3Cline x1='6.5' y1='13.5' x2='9.5' y2='13.5' stroke='%232D5016' stroke-width='1.3' stroke-linecap='round'/%3E%3Cline x1='7' y1='15' x2='9' y2='15' stroke='%232D5016' stroke-width='1.3' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left center;background-size:16px 16px}.diagram-container{position:relative;margin:var(--space-xl) 0;padding:var(--space-lg);background:#fff;border:1px solid var(--color-border);border-radius:8px;text-align:center;overflow-x:auto;max-width:100%}.diagram-container svg{max-width:100%;height:auto}.diagram-caption{font-family:var(--font-display);font-size:.85rem;color:var(--color-ink-light);margin-top:var(--space-sm);font-style:italic}@media(max-width:1024px){.diagram-container{cursor:pointer}.diagram-expand-hint{position:absolute;top:var(--space-sm);right:var(--space-sm);width:32px;height:32px;background:#0000008c;border-radius:6px;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:.7;transition:opacity .2s ease}.diagram-container:hover .diagram-expand-hint,.diagram-container:active .diagram-expand-hint{opacity:1}.diagram-expand-hint svg{width:16px;height:16px;min-width:16px}}@media(min-width:1025px){.diagram-expand-hint{display:none}}.diagram-lightbox{display:none;position:fixed;inset:0;z-index:1000;background:#000000d9;backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:var(--space-lg);touch-action:pinch-zoom}.diagram-lightbox.diagram-lightbox-open{display:flex}.diagram-lightbox-content{position:relative;max-width:95vw;max-height:90vh;overflow:auto;touch-action:pinch-zoom;-webkit-overflow-scrolling:touch;background:#fff;border-radius:8px;padding:var(--space-md)}.diagram-lightbox-content svg{display:block;width:100%;height:auto;max-height:85vh}.diagram-lightbox-close{position:fixed;top:var(--space-md);right:var(--space-md);z-index:1001;width:44px;height:44px;background:#ffffffe6;border:none;border-radius:50%;font-size:1.5rem;color:var(--color-ink);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0003;transition:background .15s ease}.diagram-lightbox-close:hover,.diagram-lightbox-close:active{background:#fff}.worked-example{background:#eef2ff;border:1px solid #C7D2FE;border-top:3px solid #6366F1;padding:var(--space-lg);margin:var(--space-xl) 0;border-radius:0 0 8px 8px}.worked-example:before{content:"WORKED EXAMPLE";display:block;font-family:var(--font-display);font-weight:700;font-size:.75rem;letter-spacing:.1em;color:#4f46e5;margin-bottom:var(--space-sm);padding-left:22px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M2.5 13.5l1.5-4L11 2.5a1.4 1.4 0 0 1 2 2L6 11.5l-4 1.5z' fill='none' stroke='%234F46E5' stroke-width='1.3' stroke-linejoin='round'/%3E%3Cline x1='9.5' y1='4' x2='12' y2='6.5' stroke='%234F46E5' stroke-width='1.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left center;background-size:16px 16px}.fading-example{background:var(--color-paper-dark);border:1px solid var(--color-border);padding:var(--space-lg);margin:var(--space-lg) 0;border-radius:8px}.fading-example.fading-full{border-left:4px solid var(--subject-color)}.fading-example.fading-partial{border-left:4px solid var(--subject-accent, #FFB300);background:linear-gradient(135deg,var(--color-paper-dark) 0%,var(--color-paper) 100%)}.fading-example.fading-scaffolded{border-left:4px solid #E65100;background:linear-gradient(135deg,var(--color-paper) 0%,#FFF8E1 100%)}.fading-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);flex-wrap:wrap}.fading-badge{font-family:var(--font-display);font-weight:700;font-size:.72rem;letter-spacing:.1em;color:var(--subject-color);padding:2px 8px;border:1px solid var(--subject-color);border-radius:4px;white-space:nowrap}.fading-partial .fading-badge{background:var(--subject-accent, #FFB300);color:#fff;border-color:var(--subject-accent, #FFB300)}.fading-scaffolded .fading-badge{background:#e65100;color:#fff;border-color:#e65100}.fading-level-label{font-family:var(--font-body);font-size:.82rem;color:var(--color-ink-light);font-style:italic}.fading-step{border-top:1px solid var(--color-border);padding:var(--space-sm) 0}.fading-step:first-of-type{border-top:none}.fading-step-num{font-family:var(--font-display);font-weight:700;font-size:.78rem;color:var(--subject-color);letter-spacing:.05em;margin-right:var(--space-sm)}details.fading-reveal{border-top:1px solid var(--color-border);padding:0;margin:0}details.fading-reveal summary{cursor:pointer;padding:var(--space-md);border-radius:6px;background:repeating-linear-gradient(-45deg,transparent,transparent 8px,rgba(0,0,0,.02) 8px,rgba(0,0,0,.02) 16px);border:1px dashed var(--color-border);font-family:var(--font-body);font-size:.88rem;color:var(--color-ink-light);transition:background .2s ease,border-color .2s ease;user-select:none;list-style:none;margin:var(--space-xs) 0}details.fading-reveal summary::-webkit-details-marker{display:none}details.fading-reveal summary:before{content:"Try it yourself, then click to reveal — ";font-style:italic;font-size:.82rem}details.fading-reveal summary:hover,details.fading-reveal summary:focus{border-color:var(--subject-color);background:repeating-linear-gradient(-45deg,transparent,transparent 8px,rgba(0,0,0,.04) 8px,rgba(0,0,0,.04) 16px);outline:none}details.fading-reveal[open] summary{background:transparent;border:1px solid var(--color-border);color:var(--subject-color);font-weight:600}details.fading-reveal[open] summary:before{content:""}details.fading-reveal>:not(summary){padding:var(--space-sm) 0;animation:fadeRevealIn .3s ease-out}@keyframes fadeRevealIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.fading-example{padding:var(--space-md)}details.fading-reveal summary{padding:var(--space-sm);font-size:.82rem}details.fading-reveal summary:before{content:"Tap to reveal — "}}details.anim-walkthrough{margin:var(--space-lg) 0;border:1px solid var(--color-border);border-radius:8px;background:var(--color-paper)}details.anim-walkthrough summary{cursor:pointer;padding:var(--space-md) var(--space-lg);font-family:var(--font-display);font-weight:600;font-size:.95rem;color:var(--subject-color);list-style:none;user-select:none}details.anim-walkthrough summary::-webkit-details-marker{display:none}details.anim-walkthrough summary:before{content:"Interactive ";font-style:italic;opacity:.7}details.anim-walkthrough[open] summary{border-bottom:1px solid var(--color-border)}.anim-player{padding:var(--space-md) var(--space-lg)}.anim-controls{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap}.anim-btn{font-family:var(--font-body);font-size:.85rem;padding:6px 14px;border:1px solid var(--color-border);border-radius:6px;background:#fff;color:var(--color-ink);cursor:pointer;transition:background .15s ease,border-color .15s ease}.anim-btn:hover:not(:disabled){background:var(--color-paper-dark);border-color:var(--subject-color)}.anim-btn:disabled{opacity:.4;cursor:not-allowed}.anim-btn.anim-play{background:var(--subject-color);color:#fff;border-color:var(--subject-color)}.anim-btn.anim-play:hover:not(:disabled){opacity:.85}.anim-btn.anim-play.playing{background:#c62828;border-color:#c62828}.anim-counter{font-family:var(--font-mono);font-size:.82rem;color:var(--color-ink-light);min-width:90px;text-align:center}.anim-stage{margin-bottom:var(--space-md)}.anim-stage svg{max-width:100%;height:auto}.anim-description{padding:var(--space-md);background:var(--color-paper-dark);border-radius:6px;min-height:60px}.anim-desc-text{font-family:var(--font-body);font-size:.92rem;color:var(--color-ink);line-height:1.6;margin:0;animation:fadeRevealIn .25s ease-out}@media(max-width:640px){.anim-player{padding:var(--space-sm)}.anim-controls{gap:var(--space-xs)}.anim-btn{padding:4px 10px;font-size:.8rem}}.katex{font-size:1.05em}.katex-display{margin:var(--space-lg) 0;overflow-x:auto;overflow-y:hidden}.memorize{border:2px solid #F59E0B;background:#fffbeb;padding:var(--space-md) var(--space-lg);margin:var(--space-xl) 0;border-radius:8px}.memorize:before{content:"MEMORISE THIS";display:block;font-family:var(--font-display);font-weight:700;font-size:.75rem;letter-spacing:.1em;color:#b45309;margin-bottom:var(--space-sm);padding-left:22px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M4 1h1v14H4a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2z' fill='none' stroke='%23B45309' stroke-width='1.3'/%3E%3Cpath d='M5 1h7a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5V1z' fill='none' stroke='%23B45309' stroke-width='1.3'/%3E%3Cline x1='7' y1='4' x2='12' y2='4' stroke='%23B45309' stroke-width='1' stroke-linecap='round'/%3E%3Cline x1='7' y1='7' x2='12' y2='7' stroke='%23B45309' stroke-width='1' stroke-linecap='round'/%3E%3Cline x1='7' y1='10' x2='10' y2='10' stroke='%23B45309' stroke-width='1' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left center;background-size:16px 16px}.video-section{margin:var(--space-lg) 0;border:1px solid var(--color-border);border-radius:8px;background:var(--color-paper-dark);overflow:hidden}.video-section summary{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);font-family:var(--font-display);font-size:.85rem;font-weight:600;color:var(--subject-color);cursor:pointer;list-style:none;user-select:none;transition:background .15s ease}.video-section summary::-webkit-details-marker{display:none}.video-section summary:before{content:"";display:inline-block;width:0;height:0;border-left:5px solid var(--subject-color);border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .2s ease;flex-shrink:0}.video-section[open] summary:before{transform:rotate(90deg)}.video-section summary:after{content:"VIDEO";margin-left:auto;font-family:var(--font-mono);font-size:.6rem;font-weight:700;letter-spacing:.1em;color:var(--subject-color);opacity:.65;padding:2px 7px;border:1px solid currentColor;border-radius:3px;flex-shrink:0}.video-section summary:hover{background:var(--subject-light)}.video-section .video-list{padding:0 var(--space-md) var(--space-md);display:flex;flex-direction:column;gap:var(--space-md)}.video-embed{background:#fff;border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.video-meta{padding:var(--space-sm) var(--space-md);font-family:var(--font-body);font-size:.8rem;color:var(--color-ink-light);margin:0;border-bottom:1px solid var(--color-border)}.video-meta strong{color:var(--color-ink);font-weight:600}.video-iframe-wrap{position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden}.video-iframe-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}@media(max-width:480px){.video-section{margin:var(--space-md) 0}.video-section summary{font-size:.8rem;padding:var(--space-sm)}.video-section .video-list{padding:0 var(--space-sm) var(--space-sm)}.video-meta{font-size:.75rem;padding:var(--space-xs) var(--space-sm)}}.qa-section{margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:3px solid var(--color-border)}.qa-section h2{border-bottom:none}.qa-placeholder{text-align:center;padding:var(--space-xl);color:var(--color-ink-light);font-style:italic}.annotation{position:relative;background:linear-gradient(to bottom,transparent 60%,rgba(255,183,0,.15) 60%);cursor:help}.annotation-tooltip{display:none;position:absolute;bottom:100%;left:0;background:var(--color-charcoal);color:var(--color-paper);padding:var(--space-sm) var(--space-md);border-radius:6px;font-size:.85rem;max-width:300px;z-index:10;box-shadow:0 4px 12px #00000026}.annotation:hover .annotation-tooltip,.annotation:focus .annotation-tooltip{display:block}.hl-marker{display:inline-block;font-family:var(--font-mono);font-size:.7rem;font-weight:500;background:var(--subject-color);color:#fff;padding:.1em .5em;border-radius:3px;margin-left:var(--space-sm);vertical-align:middle}@media(max-width:480px){table{font-size:.8rem;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}th,td{padding:var(--space-xs) var(--space-sm)}.exam-alert,.ib-tip,.memorize,.worked-example{padding:var(--space-sm) var(--space-md);margin:var(--space-lg) 0}.guide-body>p:first-of-type:first-letter{font-size:3em}.diagram-container{padding:var(--space-sm);margin:var(--space-md) 0}.diagram-container svg{min-width:300px}.katex-display{font-size:.9em;margin:var(--space-md) 0}.annotation-tooltip{position:fixed;left:var(--space-md)!important;right:var(--space-md)!important;bottom:var(--space-md)!important;top:auto!important;max-width:none;z-index:100}}.guide-image{margin:var(--space-xl) 0;padding:0;border:none;text-align:center}.guide-image img{max-width:100%;height:auto;border-radius:6px;box-shadow:0 2px 8px #0000001f}.guide-image figcaption{font-family:var(--font-body);font-size:.8rem;font-style:italic;color:var(--color-ink-light);margin-top:var(--space-sm);padding:0 var(--space-md);line-height:1.5}@media(min-width:768px){.guide-image img{max-width:75%}}@media(max-width:480px){.guide-image{margin:var(--space-md) 0}.guide-image figcaption{font-size:.75rem;padding:0 var(--space-sm)}}@media(min-width:768px)and (max-width:1024px){.diagram-container{padding:var(--space-md)}}details.recall-prompt{margin:var(--space-xl) 0;border:1px solid var(--color-border);border-left:3px solid var(--subject-accent, #FFB300);border-radius:0 8px 8px 0;background:var(--color-paper);overflow:hidden}details.recall-prompt summary{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);font-family:var(--font-display);font-size:.85rem;font-weight:600;color:var(--subject-color, var(--color-ink));cursor:pointer;list-style:none;user-select:none;transition:background .15s ease}details.recall-prompt summary::-webkit-details-marker{display:none}details.recall-prompt summary:before{content:"";display:inline-block;width:18px;height:18px;flex-shrink:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'%3E%3Ccircle cx='9' cy='9' r='7.5' stroke='%23888' stroke-width='1.2'/%3E%3Ctext x='9' y='13' text-anchor='middle' font-size='12' font-family='serif' fill='%23888'%3E%3F%3C/text%3E%3C/svg%3E");background-repeat:no-repeat;background-size:18px 18px}details.recall-prompt summary:hover{background:var(--subject-light, var(--color-paper-dark))}details.recall-prompt .recall-body{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border)}details.recall-prompt .recall-body ol{margin:0 0 var(--space-md);padding-left:var(--space-lg);font-size:.92rem}details.recall-prompt .recall-body ol li{margin-bottom:var(--space-xs)}details.recall-prompt .recall-answers{margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--subject-light, var(--color-paper-dark));border-radius:6px;font-size:.85rem;color:var(--color-ink-light)}details.recall-prompt .recall-answers summary{padding:var(--space-xs) 0;font-family:var(--font-body);font-size:.82rem;font-weight:400;color:var(--subject-color, var(--color-ink-light));font-style:italic;cursor:pointer;border:none;background:none}details.recall-prompt .recall-answers summary:hover{background:none;text-decoration:underline}details.recall-prompt .recall-answers summary:before{display:none}details.recall-prompt .recall-answers ol{margin:var(--space-sm) 0 0;padding-left:var(--space-lg);font-size:.85rem;color:var(--color-ink)}@media print{details.recall-prompt{display:none}}@media(max-width:480px){details.recall-prompt summary{font-size:.8rem;padding:var(--space-sm)}details.recall-prompt .recall-body{padding:var(--space-sm) var(--space-md)}}[data-theme=dark] .exam-alert{background:#c628281a;border-color:#ef5350}[data-theme=dark] .exam-alert:before{color:#ef5350}[data-theme=dark] .ib-tip{background:var(--subject-light)}[data-theme=dark] .memorize{background:#f59e0b1a;border-color:#d97706}[data-theme=dark] .memorize:before{color:#fcd34d}[data-theme=dark] .worked-example{background:#6366f11a;border-color:#818cf8;border-top-color:#818cf8}[data-theme=dark] .worked-example:before{color:#a5b4fc}[data-theme=dark] .fading-example{background:var(--color-paper-dark);border-color:var(--color-border)}[data-theme=dark] thead{background:#ffffff14;color:var(--color-ink)}[data-theme=dark] td{border-color:var(--color-border)}[data-theme=dark] tbody tr:nth-child(2n){background:#ffffff08}[data-theme=dark] tbody tr:hover{background:#ffffff0f}[data-theme=dark] .diagram-container{background:var(--color-paper-dark);border-color:var(--color-border)}[data-theme=dark] .diagram-lightbox-content{background:var(--color-paper-dark)}[data-theme=dark] .diagram-lightbox-close{background:#1e1e24e6;color:var(--color-ink)}[data-theme=dark] .katex{color:var(--color-ink)}
