pre,code,.prompt pre{font-variant-ligatures:none;font-feature-settings:"liga" 0,"clig" 0,"calt" 0}
:root{--chapter-accent:#ffb466;--text-dim:#a6aec5}
body{line-height:1.8}a{color:#b9b3ff}p{margin:14px 0}h2{line-height:1.25}h3{line-height:1.5;margin-bottom:12px}button,input{font:inherit}button{cursor:pointer;border:1px solid #51516b;border-radius:9px;color:var(--text);background:#23233a;padding:9px 15px;min-height:44px}button:hover{border-color:var(--chapter-accent);background:#343148}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #ffcf69;outline-offset:4px}button[aria-pressed=true]{border-color:#ffcf69}.skip{position:fixed;top:-80px;left:20px;z-index:999;background:#fff;color:#111;padding:12px}.skip:focus{top:10px}.hero{position:relative;padding:100px 30px 70px;max-width:1000px;margin:auto;text-align:left;min-height:640px}.hero h1{font-size:clamp(3.2rem,7vw,5.8rem);line-height:1.05;letter-spacing:-3px;max-width:700px;margin:25px 0}.hero h1 span{color:var(--chapter-accent);background:none;-webkit-text-fill-color:currentColor}.hero>p{max-width:580px}.hero .subtitle{font-size:1.5rem;font-weight:700;color:var(--text)}.hero-badge{color:var(--chapter-accent);font-size:.8rem;font-weight:900;letter-spacing:2px}.hero-links{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.hero-links a{border:1px solid #45435c;border-radius:10px;padding:10px 16px;text-decoration:none}.hero-receipt{position:absolute;right:10px;top:200px;display:flex;flex-direction:column;gap:12px;padding:25px;background:#f9eaca;color:#282016;width:245px;border-radius:4px;transform:rotate(5deg);box-shadow:0 18px 70px #0005}.hero-receipt b{font-size:2rem;border-top:2px dashed #9a896c;padding-top:10px}.hero-receipt span{letter-spacing:1px;text-transform:uppercase;font-size:.8rem}.hero-receipt small{color:#51442d}.container{max-width:1000px;margin:auto;padding:0 30px 70px}.zone-bar{display:flex;gap:22px;flex-wrap:wrap;padding:15px 0;border-block:1px solid #34344d;margin-bottom:35px}.zone-head{padding:28px 0;margin:30px 0;border-top:2px solid #665747}.zone-head h2{font-size:1.8rem;color:var(--chapter-accent)}.step-section{opacity:1;transform:none;padding:25px 0;scroll-margin-top:25px}.step-section h2{font-size:clamp(1.7rem,3vw,2.35rem);margin:12px 0 25px}.section-kicker{font-size:.83rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--chapter-accent);font-weight:800}.ponto-ref{font-size:.7rem;color:#a6aec5;font-weight:500;white-space:nowrap}.concept,.story,.tip,.warning{padding:22px 25px;border-radius:14px;margin:23px 0;border:1px solid #44445c;background:#181824}.story{font-size:1.13rem;background:#252018;border-color:#7b6140}.tip{background:#16261e;border-color:#426651}.warning{background:#30251b;border-color:#806047}.concept p,.story p,.tip p,.warning p{margin-bottom:0}.section-connector{text-align:center;color:#68583f;font-size:1.8rem;padding:12px}.table-scroll{overflow-x:auto;margin:25px 0;border:1px solid #3c3c51;border-radius:12px}table{width:100%;border-collapse:collapse;text-align:left;font-size:.94rem}th,td{padding:15px 18px;border-bottom:1px solid #323246;vertical-align:top}th{color:#ffd09e;background:#252130}tr:last-child td{border-bottom:0}.prompt{margin:25px 0;border:1px solid #665889;background:#12121e;border-radius:14px;overflow:hidden}.prompt-top{display:flex;gap:15px;align-items:center;justify-content:space-between;padding:16px 20px;background:#241f35}.prompt-top strong{font-size:1rem}.prompt pre{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.87rem;line-height:1.95;padding:24px;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:#d9dce9}.prompt-key{font-weight:700;color:#c4b3ff}.copy-status{font-size:.85rem;padding:0 24px;margin:0;min-height:1.8em;color:#a7e8bc}mark.hl{color:#1c1600;font-weight:700;background:linear-gradient(100deg,rgba(255,212,59,0) .4%,rgba(255,212,59,.95) 2%,rgba(255,224,102,.88) 50%,rgba(255,212,59,.95) 97.5%,rgba(255,212,59,0) 99.6%);border-radius:3px 7px 4px 6px;padding:0 .28em;margin:0 -.04em;-webkit-box-decoration-break:clone;box-decoration-break:clone}details{margin:20px 0;border:1px solid #414157;border-radius:12px;padding:17px 22px;background:#161620}summary{cursor:pointer;font-weight:800;color:#d3c7ff}details[open] summary{margin-bottom:16px}ol,ul{padding-left:25px}li{margin:9px 0}.decision,.duplicate-lab{margin:25px 0;padding:24px;border:1px solid #565078;border-radius:14px;background:#1c1b2c}.choices{display:flex;gap:10px;flex-wrap:wrap}.choices button{flex:1 1 200px;text-align:left}.feedback{padding:12px;border-radius:8px;background:#11111e;min-height:70px}.feedback[data-correct=true]{border-left:4px solid #89d9a4}.feedback[data-correct=false]{border-left:4px solid #ffba72}.architecture{display:grid;grid-template-columns:1fr .85fr 1fr;gap:15px;margin:25px 0}.architecture>div{display:flex;flex-direction:column;gap:14px;padding:24px 18px;border:1px solid #585270;border-radius:12px;background:#1e1d2c}.architecture .arch-broker{border-color:#b9783c;background:#2c231b}.architecture strong{border-top:1px dashed #666;padding-top:14px;color:#ffcf9b}.architecture span{font-size:.88rem}.flow-lab{background:#141421;border:1px solid #6e563d;border-radius:16px;overflow:hidden}.flow-toolbar{display:flex;flex-wrap:wrap;gap:8px;padding:14px}.frame-wrap{position:relative;width:100%;aspect-ratio:16/9;background:#11111d}.frame-wrap iframe{width:100%;height:100%;border:0;display:block}.flow-explanation{padding:15px 23px}.flow-explanation strong{font-size:1.18rem;color:#ffcb8e}.flow-explanation p{margin:8px 0}.timeline-label{display:flex;gap:16px;padding:0 23px 22px;align-items:center}.timeline-label input{flex:1;min-width:60px;accent-color:#ffb466}.flow-lab:fullscreen{overflow:auto;display:flex;flex-direction:column;padding:10px;max-width:none}.flow-lab:fullscreen .frame-wrap{max-height:65vh;flex:1}.duplicate-ledger{margin-top:18px}.ledger-row{padding:10px 15px;margin:8px 0;background:#10101c;border-radius:8px}.sources{font-size:.9rem;margin-top:35px}footer{border-top:1px solid #42425a;padding:30px 0;display:flex;gap:25px;flex-wrap:wrap}footer p{width:100%;color:var(--text-dim)}.review-list li{padding:10px}.sidebar-nav .sidebar-link{font-size:.82rem}.sidebar-header a{font-size:.9rem}
@media(max-width:1150px){.hero-receipt{position:static;transform:rotate(2deg);margin-top:30px;width:285px}.hero{min-height:0}.hero h1{max-width:none}}
@media(max-width:600px){.container{padding-inline:18px}.hero{padding:85px 22px 35px}.hero h1{letter-spacing:-1.5px}.hero .subtitle{font-size:1.25rem}.architecture{grid-template-columns:1fr}.prompt-top{align-items:flex-start;flex-direction:column}.prompt pre{padding:16px;font-size:.8rem}th,td{padding:12px;min-width:100px}.concept,.story,.tip,.warning,.decision{padding:18px}.flow-toolbar button{padding:8px 10px;font-size:.83rem}.flow-explanation{padding:15px}.timeline-label{flex-wrap:wrap}.hero-receipt{max-width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.sidebar-nav,.menu-toggle,.sidebar-overlay,.progress-track,.bg-grid,.flow-toolbar{display:none!important}.hero{padding:20px;min-height:0}.hero-receipt{position:static;transform:none}.container{max-width:none}.step-section,.prompt,details{break-inside:avoid}body{background:white;color:#151515}mark.hl{background:#ffe282}.prompt pre{color:#151515}.prompt,aside,details,.decision{background:#f6f6f6!important}h2,h3,a,.section-kicker{color:#222!important}}

aside.concept,aside.story,aside.tip,aside.warning{display:block}

/* ===== Expansão 26/09: teoria, desenhos, fluxos e simuladores ===== */
.codigo,.codigo code,.desenho .m,.rt-fila code,.classificador code{font-variant-ligatures:none;font-feature-settings:"liga" 0,"clig" 0,"calt" 0}
.part-head{margin:55px 0 10px;padding:22px 26px;border-radius:16px;background:linear-gradient(120deg,#2a2133,#1a1a28);border:1px solid #5c4a6b}
.part-head .ph-n{font-size:.78rem;letter-spacing:2px;font-weight:900;color:var(--chapter-accent);text-transform:uppercase}
.part-head h2{margin:6px 0 8px;font-size:clamp(1.5rem,3vw,2rem)}.part-head p{margin:0;color:#cfd3e4}
.relogio{display:inline-block;margin-left:10px;padding:2px 10px;border-radius:99px;background:#2b2638;color:#e3d8ff;font-size:.72rem;letter-spacing:.5px;text-transform:none;font-weight:700}
.teoria{margin:26px 0;padding:24px 26px;border-radius:14px;background:#171b28;border:1px solid #3d4b6b;border-left:5px solid #7ea6ff}
.teoria>h3{color:#bcd0ff;margin-top:0}.teoria>h3::before{content:"📖 ";}
.teoria p:last-child{margin-bottom:0}
.limite{margin:22px 0;padding:18px 22px;border-radius:12px;background:#2a1f1b;border:1px dashed #a0704c}
.limite h3{margin:0 0 6px;font-size:1rem;color:#ffc79a}.limite p{margin:6px 0 0}
.passo-a-passo{counter-reset:pp;list-style:none;padding:0;margin:22px 0;display:grid;gap:10px}
.passo-a-passo li{counter-increment:pp;position:relative;padding:14px 16px 14px 58px;background:#191926;border:1px solid #34344d;border-radius:12px;margin:0}
.passo-a-passo li::before{content:counter(pp);position:absolute;left:14px;top:12px;width:30px;height:30px;border-radius:50%;background:var(--chapter-accent);color:#241505;font-weight:900;display:grid;place-items:center}
.desenho{margin:28px 0;padding:18px;border-radius:16px;background:#141420;border:1px solid #3a3a52}
.desenho .svg-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.desenho svg{display:block;width:100%;height:auto;min-width:640px}
.desenho figcaption{margin-top:12px;font-size:.92rem;color:#c3c8da}.desenho figcaption b{color:#ffd09e}
.desenho text{font-family:inherit;fill:#f1eee6;font-size:15px}.desenho .t{font-size:17px;font-weight:700}.desenho .s{fill:#c4c1d4;font-size:13.5px}
.desenho .m{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:13px;fill:#e9e4ff}.desenho .a{fill:#ffcf9b;font-weight:800}.desenho .v{fill:#a1e5b3;font-weight:700}.desenho .r{fill:#ffa3a3;font-weight:700}.desenho .b{fill:#bcd0ff;font-weight:700}
.desenho .n{fill:#23233a;stroke:#6b6684;stroke-width:1.5}.desenho .k{fill:#30271f;stroke:#b4814b;stroke-width:1.5}.desenho .d{fill:#1c2935;stroke:#6d96b1;stroke-width:1.5}.desenho .g{fill:#1b2a21;stroke:#5d9c73;stroke-width:1.5}.desenho .x{fill:#2e1a1a;stroke:#b86767;stroke-width:1.5}.desenho .z{fill:none;stroke:#5a566f;stroke-width:1.5;stroke-dasharray:6 6}
.desenho .l{fill:none;stroke:#9a8466;stroke-width:2}.desenho .lv{fill:none;stroke:#6fbf8a;stroke-width:2}.desenho .lr{fill:none;stroke:#d67f7f;stroke-width:2}.desenho .lb{fill:none;stroke:#7ea6ff;stroke-width:2}
.flow-lab .flow-toolbar button[aria-pressed=true]{border-color:#ffcf69;background:#3a3148}
.flow-lab{margin:26px 0}.flow-lab:focus-within{border-color:#b98a57}
.flow-proof[hidden]{display:none}
.codigo{margin:22px 0;border:1px solid #3d4262;border-radius:14px;overflow:hidden;background:#10101a}
.codigo .cod-top{display:flex;justify-content:space-between;gap:10px;padding:10px 18px;background:#1d2034;font-size:.82rem;color:#c7cbe6}
.codigo pre{margin:0;padding:18px 20px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.86rem;line-height:1.75;overflow-x:auto;color:#dde1f2}
.codigo .c{color:#8f97b8}.codigo .kw{color:#c4b3ff}.codigo .st{color:#a7e8bc}.codigo .an{color:#ffcf9b}
.anotacoes{display:grid;gap:10px;margin:18px 0}.anotacoes p{margin:0;padding:12px 16px;border-radius:10px;background:#181824;border-left:3px solid #7ea6ff}
.calc{margin:26px 0;padding:24px;border:1px solid #565078;border-radius:14px;background:#1c1b2c}
.calc label{display:grid;gap:6px;margin:14px 0;font-weight:700}.calc label span{font-weight:500;color:#cfd3e4}
.calc input[type=range]{width:100%;accent-color:#ffb466}
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.calc-col{padding:16px;border-radius:12px;background:#12121e;border:1px solid #3a3a52}.calc-col h4{margin:0 0 10px;color:#ffd09e}
.calc-col p{margin:6px 0;font-size:.92rem}.calc-col b{color:#fff}
.calc-bar{height:12px;border-radius:6px;background:#2a2a3e;overflow:hidden;margin-top:10px}.calc-bar i{display:block;height:100%;width:0;background:#ff8f8f;transition:width .3s}
.calc-col.async .calc-bar i{background:#8fe0a8}
.classificador{margin:26px 0;padding:22px;border:1px solid #565078;border-radius:14px;background:#1c1b2c}
.cl-linha{padding:12px 0;border-bottom:1px solid #2f2f45}.cl-linha:last-of-type{border-bottom:0}
.cl-linha code{display:inline-block;margin-bottom:8px;font-size:.92rem}
.cl-botoes{display:flex;gap:8px;flex-wrap:wrap}.cl-botoes button{min-height:40px;padding:6px 14px}
.cl-feedback{margin:8px 0 0;font-size:.9rem;min-height:0}.cl-feedback[data-correct=true]{color:#a7e8bc}.cl-feedback[data-correct=false]{color:#ffc79a}
.placar{font-weight:800;color:#ffd09e}
.roteador{margin:26px 0;padding:22px;border:1px solid #6e563d;border-radius:14px;background:#1d1a1f}
.rt-tipos{display:flex;gap:10px;flex-wrap:wrap;border:0;padding:0;margin:0 0 14px}.rt-tipos legend{font-weight:800;margin-bottom:8px}
.rt-tipos label{display:flex;gap:8px;align-items:center;padding:8px 14px;border:1px solid #51516b;border-radius:9px;cursor:pointer}
.rt-tipos label:has(input:checked){border-color:#ffcf69;background:#342c22}
.rt-linha{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.rt-linha input{flex:1 1 220px;min-height:44px;padding:8px 12px;border-radius:9px;border:1px solid #51516b;background:#12121e;color:var(--text);font-family:'JetBrains Mono',ui-monospace,monospace;font-variant-ligatures:none}
.rt-sugestoes{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.rt-sugestoes button{min-height:36px;padding:4px 10px;font-size:.82rem;font-family:'JetBrains Mono',ui-monospace,monospace}
.rt-filas{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}
.rt-fila{padding:14px;border-radius:12px;border:1px solid #6d5a44;background:#241f1a;transition:border-color .2s,background .2s}
.rt-fila b{display:block}.rt-fila code{font-size:.8rem}.rt-fila.recebe{border-color:#8fe0a8;background:#1c2c22}.rt-fila.recebe b::after{content:" ✓ recebe";color:#a7e8bc}
.rt-fila.nao{opacity:.6}.rt-fila.nao b::after{content:" · não recebe";color:#c3c8da;font-weight:500}
.rt-saida{padding:12px;border-radius:8px;background:#11111e;min-height:52px}.rt-saida[data-correct=true]{border-left:4px solid #89d9a4}.rt-saida[data-correct=false]{border-left:4px solid #ffba72}
.duplicate-lab [data-duplicate-result][data-correct=true]{color:#a7e8bc}.duplicate-lab [data-duplicate-result][data-correct=false]{color:#ffc79a}
.painel-passos li{margin:12px 0}.painel-passos code{white-space:nowrap}
.glossario dl{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:0;margin:20px 0;border:1px solid #3c3c51;border-radius:12px;overflow:hidden}
.glossario dt,.glossario dd{margin:0;padding:12px 16px;border-bottom:1px solid #2f2f45}.glossario dt{font-weight:800;color:#ffd09e;background:#1d1a26}
.glossario dt:last-of-type,.glossario dd:last-of-type{border-bottom:0}
.duas-colunas{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.duas-colunas>div{padding:18px;border-radius:12px;background:#181824;border:1px solid #3a3a52}.duas-colunas h4{margin:0 0 8px;color:#ffd09e}.duas-colunas p{margin:6px 0}
@media(max-width:700px){.calc-grid,.rt-filas,.duas-colunas{grid-template-columns:1fr}.glossario dl{grid-template-columns:1fr}.glossario dt{border-bottom:0;padding-bottom:4px}.part-head{padding:18px}.teoria{padding:18px}}
@media print{.flow-lab,.calc,.roteador,.classificador{break-inside:avoid}.desenho{background:#fff!important}.desenho text{fill:#111!important}.teoria,.limite,.part-head{background:#f6f6f6!important}}
.repo-box{margin:26px 0;padding:24px 26px;border-radius:14px;background:#15231b;border:2px dashed #5d9c73}
.repo-box>h3{margin-top:0;color:#a7e8bc}.repo-box .prompt{background:#10161a}
@media(max-width:700px){.repo-box{padding:18px}}
