.race-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.race-breakdown article{position:relative;padding:22px;border:1px solid var(--os-line);border-radius:15px;background:#f7faff}.race-breakdown code{color:#0a5bbd;font-weight:850}.race-breakdown b{position:absolute;right:14px;top:14px;display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:#0b2947;color:#65dbea}.race-breakdown p{margin:14px 0 0;color:#516b85;line-height:1.55}.invariant-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px;align-items:center;margin-top:16px;padding:20px;border-radius:16px;background:#071b32;color:white}.invariant-card span{display:block;color:#66dced;font-size:.72rem;font-weight:950;letter-spacing:.09em}.invariant-card strong{display:block;margin-top:7px;color:#ffe071}.invariant-card p{margin:0;color:#c5d8e8;line-height:1.6}
.requirement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.requirement-grid article{padding:22px;border-top:4px solid #1a6ddd;border-radius:15px;background:#f3f7fc}.requirement-grid article:nth-child(2){border-color:#00a6bf}.requirement-grid article:nth-child(3){border-color:#d49a08}.requirement-grid span{font-size:1.3rem;font-weight:950;color:#aec4db}.requirement-grid h3{margin:8px 0}.requirement-grid p{color:#526a83;line-height:1.58}.requirement-grid b{color:#745900;font-size:.8rem}.section-cycle{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:18px;padding:18px;border-radius:14px;background:#eaf2fc}.section-cycle span{padding:9px 12px;border-radius:8px;background:white;color:#183c60;font-size:.76rem;font-weight:950}.section-cycle b{color:#0b63ca}
.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:24px}.tool-grid article{display:flex;flex-direction:column;padding:20px;border:1px solid var(--os-line);border-radius:15px;background:#fbfdff}.tool-grid span{color:#0860c6;font-size:.7rem;font-weight:950;letter-spacing:.09em}.tool-grid h3{margin:9px 0}.tool-grid p{flex:1;margin:0;color:#526b84;line-height:1.55}.tool-grid b{margin-top:14px;color:#816100;font-size:.78rem}.sync-table{width:100%;margin-top:20px;border-collapse:collapse}.sync-table th,.sync-table td{padding:13px;border:1px solid var(--os-line);text-align:left}.sync-table th{background:#eaf2fc}.sync-table td{color:#49637e;line-height:1.5}
.semaphore-lab{display:grid;grid-template-columns:minmax(240px,.55fr) minmax(0,1.45fr);gap:18px;margin-top:24px}.semaphore-controls{display:grid;align-content:start;gap:9px;padding:20px;border-radius:17px;background:#eef5fd}.semaphore-controls label{display:block;color:#49647f;font-size:.72rem;font-weight:950}.semaphore-controls select{width:100%;margin-top:6px;padding:11px;border:1px solid #aec4de;border-radius:9px;background:white}.semaphore-controls button,.buffer-controls button{padding:12px;border:1px solid var(--os-blue);border-radius:9px;background:var(--os-blue);color:white;font:inherit;font-weight:900;cursor:pointer}.semaphore-controls button.signal{border-color:#cf9607;background:#f1be29;color:#14263a}.semaphore-controls button.secondary,.buffer-controls button.secondary{background:white;color:#0a59b9}.semaphore-stage{padding:22px;border-radius:17px;background:#071b32;color:white}.semaphore-value{display:flex;gap:13px;align-items:center;padding:14px;border:1px solid #315675;border-radius:11px;background:#0d2b48}.semaphore-value span{color:#72dfef;font-size:.74rem;font-weight:950}.semaphore-value strong{color:#ffe174;font-size:1.8rem}.semaphore-value small{margin-left:auto;color:#9db5c9}.semaphore-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:13px 0}.semaphore-columns article{padding:14px;border:1px solid #315675;border-radius:10px;background:#0c2945}.semaphore-columns article>span,.buffer-trace>span{color:#8da7bd;font-size:.68rem;font-weight:950;letter-spacing:.08em}.process-chips{display:flex;flex-wrap:wrap;gap:7px;min-height:34px;margin-top:10px}.process-chips b{padding:7px 10px;border-radius:8px;background:#1468cb}.process-chips em{color:#7895ad}.operation-log{max-height:170px;overflow:auto;padding:14px;border-radius:10px;background:#0d2944}.operation-log h3{margin:0 0 8px;font-size:.88rem}.operation-log ol{margin:0;padding-left:22px;color:#bcd0e1;line-height:1.65}.lab-feedback{margin:13px 0 0;padding:12px;border-left:4px solid #f1be2d;background:#102f4d;color:#d5e3ef;line-height:1.5}
.classical-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.classical-tabs button{padding:11px 15px;border:1px solid #aec4dd;border-radius:9px;background:white;color:#173957;font:inherit;font-weight:850;cursor:pointer}.classical-tabs button.is-active,.classical-tabs button:hover{border-color:var(--os-blue);background:#e7f1ff;color:#0756b8}.classical-view{display:grid;grid-template-columns:1.1fr 1fr .9fr;gap:14px;margin-top:13px;padding:22px;border-radius:17px;background:#071b32;color:white}.classical-view>div{padding:15px;border:1px solid #315574;border-radius:11px;background:#0d2b47}.classical-view span{color:#67dcea;font-size:.7rem;font-weight:950;letter-spacing:.08em}.classical-view h3{margin:7px 0}.classical-view p{color:#c6d8e8;line-height:1.58}.classical-rules{display:grid;gap:8px}.classical-rules b{padding:9px;border-radius:8px;background:#123858;color:#d9e7f3;font-size:.82rem}.classical-risk strong{display:block;margin:8px 0;color:#ffe175}
.buffer-lab{margin-top:23px;padding:22px;border:1px solid #285478;border-radius:18px;background:#071b32;color:white}.buffer-controls{display:flex;flex-wrap:wrap;gap:9px}.buffer-controls button:nth-child(2){border-color:#d49b08;background:#f1bd2b;color:#15273a}.buffer-display{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}.buffer-slot{display:grid;min-height:82px;place-items:center;border:2px dashed #3c607e;border-radius:12px;background:#0c2945;color:#748fa7;font-weight:900}.buffer-slot.filled{border-style:solid;border-color:#1a9db7;background:#0e4658;color:#91ebf5}.buffer-semaphores{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.buffer-semaphores article{padding:14px;border:1px solid #315674;border-radius:10px;background:#0d2b47}.buffer-semaphores span{color:#68dceb;font-weight:950}.buffer-semaphores strong{display:block;margin:5px 0;color:#ffe174;font-size:1.4rem}.buffer-semaphores small{color:#91aac0}.buffer-trace{margin-top:14px;padding:15px;border-left:4px solid #f0be2e;background:#102f4d}.buffer-trace code{display:block;margin-top:8px;color:#8eeaf5;white-space:normal}.buffer-trace p{margin:8px 0 0;color:#c4d8e8}.pattern-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:22px}.pattern-grid article{padding:20px;border-left:4px solid #1470da;border-radius:12px;background:#f2f7fd}.pattern-grid h3{margin:0 0 7px}.pattern-grid p{margin:0;color:#536c85;line-height:1.55}
@media(max-width:1100px){.tool-grid{grid-template-columns:1fr 1fr}.classical-view{grid-template-columns:1fr 1fr}.classical-risk{grid-column:1/-1}.pattern-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.race-breakdown,.requirement-grid,.tool-grid,.semaphore-lab,.classical-view,.pattern-grid,.invariant-card{grid-template-columns:1fr}.classical-risk{grid-column:auto}.sync-table{min-width:680px}.lesson-section:has(.sync-table){overflow-x:auto}.semaphore-columns{grid-template-columns:1fr}.buffer-semaphores{grid-template-columns:1fr}.section-cycle{justify-content:flex-start}}
@media(max-width:520px){.buffer-display{grid-template-columns:1fr 1fr}.buffer-controls{display:grid}.semaphore-value{align-items:flex-start;flex-wrap:wrap}.semaphore-value small{width:100%;margin-left:0}}
