.theme-academic-light{--academic-bg:#ffffff;--academic-bg-alt:#f8fafc;--academic-card-bg:#ffffff;--academic-border:#e2e8f0;--academic-accent-cyan:#00add8;--academic-accent-dark:#007d9c;--academic-sdv-navy:#0a2540;--academic-text-main:#0f172a;--academic-text-muted:#475569;--academic-code-bg:#f1f5f9;--academic-success:#0d9488;--academic-alert:#b91c1c;background-color:var(--academic-bg-alt);color:var(--academic-text-main);font-family:var( --font-body,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif )}.theme-academic-light .academic-session-bar{background:var(--academic-sdv-navy);color:#fff;padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--academic-accent-cyan);position:sticky;top:0;z-index:50}.theme-academic-light .academic-brand-left{display:flex;align-items:center;gap:1rem}.theme-academic-light .academic-sdv-logo-bar{height:28px;width:auto;object-fit:contain;display:block}.theme-academic-light .academic-rncp-badge{background:rgba(0,173,216,.2);border:1px solid var(--academic-accent-cyan);color:var(--academic-accent-cyan);font-size:.75rem;font-weight:700;padding:.2rem .6rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.05em}.theme-academic-light .academic-session-meta{font-size:.82rem;color:#cbd5e1;font-weight:500}.theme-academic-light .academic-session-meta strong{color:#fff}.theme-academic-light .academic-brand-right{display:flex;align-items:center;gap:1rem}.theme-academic-light .academic-btn-pdf{display:inline-flex;align-items:center;gap:.5rem;background:var(--academic-accent-cyan);color:#fff;padding:.4rem .85rem;border-radius:6px;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .15s ease}.theme-academic-light .academic-btn-pdf:hover{background:var(--academic-accent-dark)}.theme-academic-light .article-container{background:var(--academic-bg);border:1px solid var(--academic-border);border-radius:8px;padding:2.5rem;margin-top:1.5rem;margin-bottom:3rem;box-shadow:0 1px 3px rgba(0,0,0,5%)}.theme-academic-light .markdown-body{color:var(--academic-text-main);line-height:1.75}.theme-academic-light .markdown-body h1,.theme-academic-light .markdown-body h2,.theme-academic-light .markdown-body h3{color:var(--academic-sdv-navy);border-bottom-color:var(--academic-border)}.theme-academic-light .markdown-body h2{color:var(--academic-accent-dark);margin-top:2rem;padding-bottom:.4rem}.theme-academic-light .markdown-body pre{background-color:var(--academic-code-bg);border:1px solid var(--academic-border);border-radius:6px;padding:1rem;overflow-x:auto}.theme-academic-light .markdown-body code{background-color:var(--academic-code-bg);color:var(--academic-text-main);font-family:var(--font-mono,monospace);padding:.15rem .35rem;border-radius:4px}.rncp-progress-card{background:linear-gradient(135deg,#ffffff 0%,#f8fafc 100%);border:1px solid #e2e8f0;border-left:5px solid #00add8;border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;box-shadow:0 2px 8px -2px rgba(10,37,64,5%),0 1px 3px rgba(0,0,0,2%);transition:border-color .2s ease,box-shadow .2s ease}.rncp-progress-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px -2px rgba(10,37,64,8%)}.rncp-progress-lead{display:flex;align-items:center;gap:1.1rem;flex:1}.rncp-progress-icon-wrap{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:#e0f2fe;color:#0284c7;flex-shrink:0;border:1px solid #bae6fd}.rncp-progress-info{display:flex;flex-direction:column;gap:.35rem}.rncp-progress-title-row{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.rncp-tag{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;background:#0a2540;color:#fff;padding:.2rem .55rem;border-radius:4px;line-height:1.2}.rncp-title-sep{color:#94a3b8;font-size:.9rem}.rncp-progress-title{font-size:1.05rem;font-weight:700;color:#0a2540;margin:0;line-height:1.3}.rncp-progress-meta-row{display:flex;align-items:center;gap:.65rem;font-size:.85rem;color:#475569;flex-wrap:wrap}.rncp-meta-item{display:inline-flex;align-items:center;gap:.35rem}.rncp-meta-label{color:#64748b;font-weight:500}.rncp-meta-value{color:#1e293b}.rncp-meta-value strong{color:#0f172a;font-weight:700}.rncp-meta-sep{color:#cbd5e1;font-size:.8rem}.rncp-progress-action{flex-shrink:0}.rncp-status-pill{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:700;padding:.45rem .9rem;border-radius:9999px;white-space:nowrap;letter-spacing:.01em}.rncp-status-validated{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0;box-shadow:0 1px 2px rgba(5,150,105,8%)}.rncp-status-pending{background:#fffbeb;color:#92400e;border:1px solid #fde68a;box-shadow:0 1px 2px rgba(217,119,6,6%)}@media(max-width:768px){.rncp-progress-card{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.1rem}.rncp-progress-lead{align-items:flex-start}.rncp-progress-action{width:100%}.rncp-status-pill{width:100%;justify-content:center}}.diaporama-modal{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:99999;background:#fff;color:#0f172a;overflow:hidden}.diaporama-modal.is-open{display:block}.diaporama-modal .present-stage-fullscreen{width:100vw;height:100vh;position:fixed;top:0;left:0;background:#fff;overflow:hidden}body.diaporama-active-body{overflow:hidden!important}.present-bar-left .diaporama-slot-title{font-size:.92rem;font-weight:700;color:#0a2540;max-width:clamp(180px,30vw,420px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.diaporama-slide-content{opacity:0;transform:translateY(8px)scale(.99);transition:opacity .25s ease-out,transform .25s ease-out}.diaporama-slide-content.slide-active{opacity:1;transform:translateY(0)scale(1)}.diaporama-slide-content pre{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem 1.25rem;font-size:clamp(.88rem,1.1vw,1rem);overflow-x:auto;color:#0f172a;margin:1rem 0;box-shadow:inset 0 1px 3px rgba(0,0,0,4%)}.diaporama-slide-content code{background:#f1f5f9;padding:.2rem .45rem;border-radius:4px;font-size:.95em;color:#007d9c;font-family:var(--font-mono,monospace)}.diaporama-slide-content pre code{background:0 0;padding:0;color:#0f172a}.chroma{color:#0f172a;background-color:#f8fafc}.chroma .k,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr{color:#7c3aed;font-weight:700}.chroma .kt,.chroma .nc,.chroma .nb{color:#0369a1;font-weight:700}.chroma .nf,.chroma .fm{color:#0284c7;font-weight:700}.chroma .na,.chroma .no,.chroma .nd,.chroma .ni,.chroma .ne{color:#0a2540;font-weight:600}.chroma .s,.chroma .s1,.chroma .s2,.chroma .sb,.chroma .sc,.chroma .sd,.chroma .se,.chroma .sh,.chroma .si,.chroma .sx,.chroma .sr,.chroma .ss{color:#047857;font-weight:600}.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .il,.chroma .mo{color:#b45309;font-weight:600}.chroma .c,.chroma .c1,.chroma .ch,.chroma .cm,.chroma .cp,.chroma .cpf,.chroma .cs{color:#64748b;font-style:italic}.chroma .o,.chroma .ow{color:#0a2540;font-weight:700}.chroma .p{color:#475569}.chroma .ln,.chroma .lnt,.chroma .line-number{color:#94a3b8;user-select:none;margin-right:.85rem;font-weight:500}.diaporama-nav-arrow{background:#fff;border:1px solid #cbd5e1;color:#0a2540;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0;box-shadow:0 4px 15px rgba(0,0,0,6%)}.diaporama-nav-arrow:hover:not(:disabled){background:#00add8;border-color:#00add8;color:#fff;transform:scale(1.08)}.diaporama-nav-arrow:disabled{opacity:.2;cursor:not-allowed}.diaporama-footer{display:flex;flex-direction:column;gap:.6rem;padding-top:.5rem}.diaporama-progress-track{width:100%;height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden}.diaporama-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,#00add8,#007d9c,#0a2540);transition:width .25s ease}.diaporama-footer-meta{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:#64748b;font-weight:500}.diaporama-footer-meta kbd{background:#fff;border:1px solid #cbd5e1;padding:.15rem .4rem;border-radius:4px;color:#334155;font-size:.75rem}.present-16-9-frame:has(.slide-cover-card){padding:0!important}.slide-cover-card{display:grid;grid-template-columns:1.22fr .78fr;width:100vw;height:100vh;margin:0;padding:0;box-sizing:border-box;background:#fff;position:relative;overflow:hidden}.slide-cover-grid{display:contents}.slide-cover-content{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(3rem,6vh,5.5rem)clamp(3.5rem,5vw,6.5rem);height:100%;box-sizing:border-box;text-align:left}.slide-cover-brand{display:flex;align-items:center;gap:1.5rem}.slide-sdv-logo-img{max-height:58px;width:auto;object-fit:contain;display:block}.slide-rncp-tag{background:rgba(0,173,216,.1);border:1px solid rgba(0,173,216,.5);color:#007d9c;font-size:clamp(.82rem,1.05vw,.95rem);font-weight:700;padding:.35rem .95rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.slide-cover-body{margin:auto 0;padding:2.5rem 0}.slide-cover-course{font-size:clamp(1.2rem,1.7vw,1.75rem)!important;font-weight:700!important;color:#007d9c!important;margin:0 0 1.2rem!important;line-height:1.35!important;text-transform:uppercase;letter-spacing:.04em}.slide-cover-title{font-family:orbitron,var(--font-display,sans-serif)!important;font-size:clamp(2.4rem,3.8vw,3.8rem)!important;font-weight:900!important;color:#0a2540!important;margin:0!important;line-height:1.18!important;letter-spacing:-.01em}.slide-cover-footer{display:flex;flex-wrap:wrap;align-items:center;gap:2.5rem 4rem;padding-top:2rem;border-top:2px solid #e2e8f0}.slide-cover-meta-item{display:inline-flex;flex-direction:column;gap:.35rem}.slide-cover-meta-label{color:#64748b;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.slide-cover-meta-val{color:#0a2540;font-weight:800;font-size:clamp(1.1rem,1.4vw,1.35rem)}.slide-cover-media{display:flex;height:100%;width:100%;margin:0;padding:0;overflow:hidden;position:relative}.slide-cover-hero-img{width:100%;height:100%;max-height:none;max-width:none;object-fit:cover;object-position:center right;border-radius:0;border:none;border-left:2px solid rgba(0,173,216,.35);box-shadow:-15px 0 35px rgba(10,37,64,8%);transition:transform .35s ease}.slide-cover-hero-img:hover{transform:scale(1.02)}.wasm-widget-card{background:#fff;border:2px solid #00add8;border-radius:16px;padding:1.8rem 2.2rem;margin:2rem 0;box-shadow:0 10px 30px rgba(0,173,216,.1)}.wasm-widget-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.4rem;padding-bottom:.8rem;border-bottom:1.5px solid #e2e8f0}.wasm-widget-title{font-size:clamp(1.15rem,1.6vw,1.4rem);font-weight:800;color:#0a2540;display:flex;align-items:center;gap:.75rem}.wasm-bit-toggles{display:grid;grid-template-columns:repeat(8,1fr);gap:.75rem;margin-bottom:1.5rem}.wasm-bit-btn{display:flex;flex-direction:column;align-items:center;background:#f8fafc;border:2px solid #cbd5e1;border-radius:12px;padding:.9rem .4rem;cursor:pointer;transition:all .2s ease;user-select:none}.wasm-bit-btn:hover{border-color:#00add8;background:#f0fdf4;transform:translateY(-2px)}.wasm-bit-btn.is-active{background:#0a2540;border-color:#00add8;box-shadow:0 4px 14px rgba(0,173,216,.25)}.wasm-bit-btn.is-active .wasm-bit-num{color:#38bdf8}.wasm-bit-btn.is-active .wasm-bit-weight{color:#cbd5e1}.wasm-bit-btn.is-sign.is-active{border-color:#f43f5e;box-shadow:0 4px 14px rgba(244,63,94,.25)}.wasm-bit-btn.is-sign.is-active .wasm-bit-num{color:#fda4af}.wasm-bit-num{font-family:var(--font-mono,monospace);font-size:clamp(1.8rem,2.4vw,2.2rem);font-weight:800;line-height:1;color:#64748b;margin-bottom:.4rem}.wasm-bit-weight{font-size:.78rem;font-weight:700;color:#475569;text-transform:uppercase}.wasm-bit-sign-label{font-size:.7rem;font-weight:800;color:#f43f5e;margin-top:.2rem}.wasm-results-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:12px;padding:1.2rem 1.6rem;margin-bottom:1.2rem;min-height:84px;box-sizing:border-box}.wasm-res-box{display:flex;flex-direction:column;gap:.3rem;min-width:0;padding:.3rem .5rem;border-radius:8px;transition:background .2s ease}.wasm-res-box.is-primary-highlight{background:rgba(0,173,216,.12);border:1px solid rgba(0,173,216,.4)}.wasm-res-label{font-size:.82rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.wasm-res-val{font-family:var(--font-mono,monospace);font-size:clamp(1.05rem,1.45vw,1.35rem);font-weight:800;color:#0a2540;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wasm-presets-bar{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.wasm-mode-switch{display:flex;align-items:center;gap:.5rem;background:#f1f5f9;border:1.5px solid #cbd5e1;padding:.25rem .35rem;border-radius:8px}.wasm-mode-btn{background:0 0;border:none;color:#475569;padding:.35rem .75rem;border-radius:6px;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .15s ease}.wasm-mode-btn:hover{color:#0a2540}.wasm-mode-btn.is-active{background:#fff;color:#007d9c;box-shadow:0 2px 6px rgba(0,0,0,8%)}.wasm-preset-btn{background:#fff;border:1px solid #cbd5e1;color:#0a2540;padding:.35rem .8rem;border-radius:6px;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .15s ease}.wasm-preset-btn:hover{background:#00add8;border-color:#00add8;color:#fff}.diag-sympathy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin:1.4rem 0}.diag-sympathy-card{background:#fff;border:1.5px solid #cbd5e1;border-top:5px solid #00add8;border-radius:14px;padding:1.3rem 1.45rem;display:flex;flex-direction:column;gap:.55rem;box-shadow:0 4px 14px rgba(0,0,0,4%)}.diag-sympathy-card:nth-child(2){border-top-color:#0a2540}.diag-sympathy-card:nth-child(3){border-top-color:#10b981}.diag-sympathy-header{display:flex;align-items:center;gap:.65rem}.diag-sympathy-num{font-family:var(--font-mono,monospace);font-size:.95rem;font-weight:800;color:#007d9c;background:rgba(0,173,216,.12);width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.diag-sympathy-title{font-size:clamp(1.02rem,1.3vw,1.2rem);font-weight:800;color:#0a2540}.diag-sympathy-desc{font-size:clamp(.9rem,1.15vw,1.05rem);color:#475569;line-height:1.5;margin:0}.diag-sympathy-highlight{font-size:.88rem;font-weight:700;color:#007d9c;background:#f8fafc;border:1px solid #e2e8f0;padding:.4rem .75rem;border-radius:6px;margin-top:.2rem}.diag-system-flow{display:flex;align-items:center;justify-content:space-between;gap:2rem;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:16px;padding:1.8rem 2.8rem;margin:2rem 0;box-sizing:border-box}.diag-node{display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;border:2px solid #00add8;border-radius:14px;padding:1.3rem 1.8rem;box-shadow:0 6px 16px rgba(0,173,216,.1);flex:1}.diag-node-primary{border-color:#0a2540}.diag-node-title{font-size:clamp(1.18rem,1.6vw,1.48rem);font-weight:800;color:#0a2540;margin-bottom:.4rem}.diag-node-desc{font-size:clamp(.95rem,1.25vw,1.15rem);color:#475569;font-weight:500}.diag-bus-connector{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1.2}.diag-bus-label{font-size:clamp(.85rem,1.15vw,1.05rem);font-weight:800;color:#007d9c;text-transform:uppercase;letter-spacing:.06em}.diag-bus-line{display:flex;align-items:center;justify-content:center;width:100%;color:#00add8}.diag-bus-line svg{width:100%;max-width:280px;height:24px}.diag-backend-trap{background:#f8fafc;border:1.5px solid #cbd5e1;border-left:5px solid #00add8;border-radius:12px;padding:1.1rem 1.4rem;margin-top:1.2rem;display:flex;flex-direction:column;gap:.35rem}.diag-backend-trap-title{font-size:clamp(1.02rem,1.3vw,1.18rem);font-weight:800;color:#0a2540;display:flex;align-items:center;gap:.5rem}.diag-backend-trap-desc{font-size:clamp(.92rem,1.18vw,1.08rem);color:#334155;line-height:1.55;margin:0}.diag-transistor-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;margin:2rem 0}.diag-trans-step{display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;border:2px solid #00add8;border-radius:16px;padding:1.6rem;box-shadow:0 6px 16px rgba(0,173,216,8%)}.diag-trans-title{font-size:clamp(1.15rem,1.55vw,1.4rem);font-weight:800;color:#0a2540;margin-bottom:.5rem}.diag-trans-desc{font-size:clamp(.98rem,1.3vw,1.18rem);color:#475569;line-height:1.55}.diag-trans-badge{display:inline-block;font-family:var(--font-mono,monospace);font-size:.95rem;font-weight:800;background:#f1f5f9;border:1px solid #cbd5e1;color:#007d9c;padding:.3rem .75rem;border-radius:6px;margin-top:.8rem}.diag-byte-grid{display:flex;align-items:center;justify-content:center;gap:clamp(.5rem,1vw,1rem);margin:2rem 0}.diag-bit-box{display:flex;flex-direction:column;align-items:center;justify-content:center;width:clamp(56px,7vw,84px);height:clamp(68px,8.5vh,96px);background:#fff;border:2px solid #00add8;border-radius:12px;box-shadow:0 6px 14px rgba(0,173,216,.12)}.diag-bit-val{font-family:var(--font-mono,monospace);font-size:clamp(1.8rem,2.5vw,2.5rem);font-weight:800;color:#0a2540;line-height:1}.diag-bit-pos{font-size:clamp(.75rem,.95vw,.9rem);font-weight:700;color:#64748b;margin-top:.3rem}.diag-compilation-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin:1.4rem 0}.diag-comp-step{display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;border:2px solid #cbd5e1;border-radius:14px;padding:1.3rem 1rem;box-shadow:0 4px 14px rgba(0,0,0,4%);transition:border-color .2s ease,transform .2s ease}.diag-comp-step:hover{border-color:#00add8;transform:translateY(-2px)}.diag-comp-title{font-size:clamp(1.05rem,1.4vw,1.28rem);font-weight:800;color:#0a2540;margin-bottom:.35rem}.diag-comp-desc{font-size:clamp(.9rem,1.15vw,1.08rem);color:#475569;font-weight:500;line-height:1.4}.diag-comp-code{font-family:var(--font-mono,monospace);font-size:clamp(.9rem,1.15vw,1.05rem);background:#f1f5f9;padding:.35rem .75rem;border-radius:6px;color:#007d9c;font-weight:700;margin-top:.65rem;border:1px solid #cbd5e1}.diag-cpu-card{display:flex;flex-direction:column;gap:1.35rem;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:18px;padding:1.6rem 2.2rem;margin:1.8rem 0}.diag-cpu-header{display:flex;align-items:center;justify-content:space-between;font-size:clamp(.95rem,1.25vw,1.15rem);font-weight:800;color:#0a2540;text-transform:uppercase;letter-spacing:.05em;padding-bottom:.6rem;border-bottom:1.5px solid #e2e8f0}.diag-cpu-internals{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.diag-subnode{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;padding:1.2rem 1.5rem;box-shadow:0 3px 8px rgba(0,0,0,3%)}.diag-subnode-title{font-size:clamp(1.08rem,1.4vw,1.3rem);font-weight:700;color:#007d9c;margin-bottom:.35rem}.diag-subnode-desc{font-size:clamp(.95rem,1.25vw,1.12rem);color:#475569;line-height:1.55}.diag-memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin:2rem 0}.diag-mem-cell{background:#fff;border:2px solid #00add8;border-radius:14px;padding:1.25rem 1rem;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 4px 14px rgba(0,173,216,8%)}.diag-mem-addr{font-family:var(--font-mono,monospace);font-size:clamp(.9rem,1.1vw,1.05rem);color:#64748b;font-weight:700;margin-bottom:.4rem}.diag-mem-val{font-family:var(--font-mono,monospace);font-size:clamp(1.35rem,1.9vw,1.7rem);font-weight:800;color:#0a2540}.diag-mem-char{font-size:clamp(.95rem,1.2vw,1.1rem);color:#007d9c;font-weight:700;margin-top:.35rem}.diag-latency-ladder{display:flex;flex-direction:column;gap:.85rem;margin:1.2rem 0}.diag-latency-tier{display:flex;flex-direction:column;gap:.5rem;background:#fff;border:1.5px solid #cbd5e1;border-radius:10px;padding:.85rem 1.25rem;box-shadow:0 2px 8px rgba(0,0,0,3%);transition:transform .15s ease,box-shadow .15s ease}.diag-latency-tier:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,6%)}.diag-latency-tier.tier-reg{border-left:6px solid #10b981}.diag-latency-tier.tier-l1{border-left:6px solid #00add8}.diag-latency-tier.tier-l2{border-left:6px solid #007d9c}.diag-latency-tier.tier-l3{border-left:6px solid #0a2540}.diag-latency-tier.tier-ram{border-left:6px solid #dc2626;background:#fffaf0}.diag-latency-tier.tier-ssd{border-left:6px solid #64748b;background:#f8fafc}.diag-tier-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.diag-tier-name{font-size:clamp(1rem,1.3vw,1.15rem);font-weight:800;color:#0a2540}.diag-tier-badge{font-family:var(--font-mono,monospace);font-size:.92rem;font-weight:800;padding:.25rem .75rem;border-radius:6px;white-space:nowrap}.diag-tier-badge.badge-fast{background:#dcfce7;color:#15803d;border:1px solid #86efac}.diag-tier-badge.badge-mid{background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}.diag-tier-badge.badge-slow{background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5}.diag-tier-badge.badge-step{background:#f1f5f9;color:#0a2540;border:1px solid #cbd5e1}.diag-tier-badge.badge-total{background:#fef2f2;color:#dc2626;border:1.5px solid #f87171}.diag-tier-details{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;font-size:.88rem;color:#64748b;font-weight:600;padding-top:.35rem;border-top:1px dashed #e2e8f0}.diag-tier-details span{display:inline-flex;align-items:center;gap:.35rem}.diag-tier-details strong{color:#1e293b;font-weight:700}.diag-why-ram-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin:1.3rem 0}.diag-why-ram-card{background:#fff;border:1.5px solid #cbd5e1;border-top:4px solid #dc2626;border-radius:12px;padding:1.2rem 1.35rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:0 4px 12px rgba(220,38,38,5%)}.diag-why-ram-title{font-size:clamp(1.02rem,1.3vw,1.18rem);font-weight:800;color:#0a2540}.diag-why-ram-desc{font-size:clamp(.9rem,1.15vw,1.05rem);color:#475569;line-height:1.5;margin:0}.diag-cache-hierarchy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin:1.3rem 0}.diag-cache-level-card{background:#fff;border:1.5px solid #cbd5e1;border-top:4px solid #00add8;border-radius:12px;padding:1.15rem 1.3rem;display:flex;flex-direction:column;gap:.45rem;box-shadow:0 4px 12px rgba(0,0,0,3%)}.diag-cache-level-card:nth-child(2){border-top-color:#007d9c}.diag-cache-level-card:nth-child(3){border-top-color:#0a2540}.diag-cache-level-header{display:flex;flex-direction:column;gap:.25rem}.diag-cache-level-name{font-size:clamp(.98rem,1.25vw,1.15rem);font-weight:800;color:#0a2540}.diag-cache-level-badge{font-family:var(--font-mono,monospace);font-size:.78rem;font-weight:800;color:#007d9c;background:rgba(0,173,216,.1);padding:.2rem .55rem;border-radius:6px;width:fit-content}.diag-cache-level-desc{font-size:clamp(.88rem,1.1vw,1.02rem);color:#475569;line-height:1.45;margin:0}.diag-cacheline-schematic{background:#fff;border:2px solid #00add8;border-radius:14px;padding:1.3rem 1.6rem;margin:1.3rem 0;display:flex;flex-direction:column;gap:.9rem;box-shadow:0 6px 18px rgba(0,173,216,8%)}.diag-cacheline-header{display:flex;justify-content:space-between;align-items:center}.diag-cacheline-title{font-size:clamp(1.08rem,1.4vw,1.28rem);font-weight:800;color:#0a2540}.diag-cacheline-badge{background:rgba(0,173,216,.12);border:1px solid rgba(0,173,216,.4);color:#007d9c;font-size:.8rem;font-weight:800;padding:.25rem .65rem;border-radius:999px;text-transform:uppercase}.diag-cacheline-slots{display:grid;grid-template-columns:repeat(8,1fr);gap:.5rem}.diag-cacheline-slot{background:rgba(0,173,216,8%);border:1.5px solid #00add8;border-radius:8px;padding:.75rem .4rem;text-align:center;display:flex;flex-direction:column;gap:.25rem}.diag-cacheline-slot.is-targeted{background:#047857;border-color:#047857;color:#fff;box-shadow:0 0 0 3px rgba(4,120,87,.25)}.diag-cacheline-slot.is-targeted .diag-slot-offset,.diag-cacheline-slot.is-targeted .diag-slot-size{color:#fff}.diag-slot-offset{font-family:var(--font-mono,monospace);font-size:.92rem;font-weight:800;color:#0a2540}.diag-slot-size{font-size:.72rem;font-weight:700;color:#007d9c;text-transform:uppercase}.diag-cacheline-footer{font-size:clamp(.92rem,1.18vw,1.08rem);color:#334155;line-height:1.5;margin:0;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.65rem 1rem}.diag-arch-distinction-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem;margin:1.2rem 0}.diag-arch-card{background:#fff;border:2px solid #cbd5e1;border-radius:12px;padding:1.2rem 1.5rem;display:flex;flex-direction:column;gap:.5rem}.diag-arch-card.is-cpu{border-top:5px solid #00add8}.diag-arch-card.is-cache{border-top:5px solid #0a2540}.diag-arch-title{font-size:clamp(1.05rem,1.35vw,1.24rem);font-weight:800;color:#0a2540}.diag-arch-desc{font-size:clamp(.92rem,1.18vw,1.08rem);color:#475569;line-height:1.5;margin:0}.diag-cache-decision{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:1.4rem 0}.diag-decision-box{background:#fff;border-radius:14px;padding:1.4rem 1.8rem;display:flex;flex-direction:column;gap:.5rem;border:2px solid #cbd5e1;box-shadow:0 4px 14px rgba(0,0,0,4%)}.diag-decision-hit{border-color:#10b981;border-top:5px solid #10b981}.diag-decision-miss{border-color:#dc2626;border-top:5px solid #dc2626}.diag-decision-title{font-size:clamp(1.15rem,1.5vw,1.38rem);font-weight:800;color:#0a2540}.diag-decision-desc{font-size:clamp(.95rem,1.22vw,1.12rem);color:#475569;line-height:1.5}.diag-fieldalign-single{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;background:#fff;border:2px solid #cbd5e1;border-radius:14px;padding:1.2rem 1.5rem;margin:1rem 0;box-shadow:0 4px 14px rgba(0,0,0,4%)}.diag-fieldalign-single.is-bad{border-color:#fca5a5;border-top:5px solid #dc2626}.diag-fieldalign-single.is-good{border-color:#6ee7b7;border-top:5px solid #059669}.diag-fieldalign-single-col{display:flex;flex-direction:column;gap:.75rem}.diag-fieldalign-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin:1rem 0}.diag-fieldalign-card{background:#fff;border:2px solid #cbd5e1;border-radius:12px;padding:1rem 1.2rem;display:flex;flex-direction:column;gap:.7rem;box-shadow:0 4px 12px rgba(0,0,0,3%)}.diag-fieldalign-card.is-bad{border-color:#fca5a5;border-top:5px solid #dc2626}.diag-fieldalign-card.is-good{border-color:#6ee7b7;border-top:5px solid #059669}.diag-fieldalign-header{display:flex;justify-content:space-between;align-items:center}.diag-fieldalign-title{font-size:clamp(.95rem,1.2vw,1.12rem);font-weight:800;color:#0a2540}.diag-fieldalign-badge{font-size:.76rem;font-weight:800;padding:.2rem .6rem;border-radius:999px;text-transform:uppercase}.diag-fieldalign-card.is-bad .diag-fieldalign-badge{background:#fef2f2;color:#dc2626;border:1px solid #fca5a5}.diag-fieldalign-card.is-good .diag-fieldalign-badge{background:#ecfdf5;color:#059669;border:1px solid #6ee7b7}.diag-code-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.55rem .75rem;overflow-x:auto}.diag-code-box pre{margin:0;padding:0;background:0 0;border:none}.diag-code-box code{font-family:var(--font-mono,monospace);font-size:clamp(.74rem,.88vw,.82rem);line-height:1.4;color:#0f172a;background:0 0;padding:0;border-radius:0;white-space:pre}.diag-memmap-container{display:flex;flex-direction:column;gap:.35rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.65rem .8rem}.diag-memmap-label{font-size:.72rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.1rem}.diag-memmap-row{display:grid;grid-template-columns:46px 1fr;gap:.45rem;align-items:center}.diag-memmap-addr{font-family:var(--font-mono,monospace);font-size:.72rem;font-weight:700;color:#64748b}.diag-memmap-cells{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;background:#e2e8f0;border:1px solid #cbd5e1;border-radius:4px;padding:2px}.diag-mem-cell-unit{font-size:.65rem;font-weight:700;text-align:center;padding:.28rem .1rem;border-radius:3px;font-family:var(--font-mono,monospace);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.diag-mem-cell-unit.is-data{background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}.diag-mem-cell-unit.is-data-alt{background:#ede9fe;color:#6d28d9;border:1px solid #ddd6fe}.diag-mem-cell-unit.is-data-green{background:#d1fae5;color:#047857;border:1px solid #a7f3d0}.diag-mem-cell-unit.is-pad{background:#fee2e2;color:#b91c1c;border:1px dashed #fca5a5;font-style:italic}.diag-mem-cell-unit.span-2{grid-column:span 2}.diag-mem-cell-unit.span-3{grid-column:span 3}.diag-mem-cell-unit.span-4{grid-column:span 4}.diag-mem-cell-unit.span-7{grid-column:span 7}.diag-mem-cell-unit.span-8{grid-column:span 8}.diag-fieldalign-summary{font-size:.8rem;line-height:1.4;padding:.4rem .6rem;border-radius:6px;font-weight:500}.diag-fieldalign-card.is-bad .diag-fieldalign-summary{background:#fff1f2;color:#9f1239;border-left:4px solid #e11d48}.diag-fieldalign-card.is-good .diag-fieldalign-summary{background:#f0fdf4;color:#166534;border-left:4px solid #16a34a}.diag-fieldalign-impact{display:grid;grid-template-columns:1.2fr 1fr;gap:1.1rem;margin:.9rem 0;background:#fff;border:2px solid #00add8;border-radius:12px;padding:.9rem 1.2rem;box-shadow:0 4px 14px rgba(0,173,216,8%)}.diag-impact-col{display:flex;flex-direction:column;gap:.3rem}.diag-impact-col-title{font-size:.92rem;font-weight:800;color:#0a2540}.diag-impact-col-desc{font-size:.82rem;color:#334155;line-height:1.45;margin:0}@media(max-width:900px){.diag-fieldalign-grid,.diag-fieldalign-impact{grid-template-columns:1fr}}body.present-page-body{margin:0;padding:0;width:100vw;height:100vh;background:#fff;color:#0f172a;font-family:var( --font-body,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif );overflow:hidden;user-select:none}.present-stage-fullscreen{position:relative;width:100vw;height:100vh;margin:0;padding:0;background:#fff;overflow:hidden;transition:cursor .2s ease}.present-stage-fullscreen.hud-hidden,.present-stage-fullscreen.hud-hidden *{cursor:none!important}.present-top-bar{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:100;display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(94vw,1100px);background:rgba(255,255,255,.98);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid #cbd5e1;border-radius:999px;padding:.35rem 1rem;box-shadow:0 10px 30px rgba(10,37,64,.12);height:auto;min-height:42px;box-sizing:border-box;transition:opacity .35s ease,transform .35s ease}.present-stage-fullscreen.hud-hidden .present-top-bar{opacity:0;transform:translate(-50%,-24px);pointer-events:none}.present-bar-left{display:inline-flex;align-items:center;gap:.65rem;flex-shrink:0}.present-badge{font-size:.8rem;padding:.25rem .65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:rgba(0,173,216,.12);border:1px solid rgba(0,173,216,.4);color:#007d9c;border-radius:999px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.present-slot-picker{display:inline-flex;align-items:center}.present-select{background:#f8fafc;border:1px solid #cbd5e1;color:#0a2540;padding:.25rem .75rem;border-radius:999px;font-size:.84rem;font-weight:600;outline:none;cursor:pointer;max-width:clamp(160px,25vw,320px);white-space:nowrap;text-overflow:ellipsis;height:32px;transition:all .2s ease}.present-select:focus{border-color:#00add8;box-shadow:0 0 0 2px rgba(0,173,216,.25)}.present-bar-center{display:inline-flex;align-items:center;flex-shrink:0}.present-bar-center .diaporama-counter{font-size:.88rem;font-weight:700;color:#0a2540}.present-bar-right{display:inline-flex;align-items:center;gap:.45rem;flex-shrink:0}.present-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;background:#f8fafc;border:1px solid #cbd5e1;color:#1e293b;padding:.25rem .7rem;border-radius:999px;font-size:.82rem;font-weight:600;text-decoration:none;cursor:pointer;height:32px;transition:all .2s ease}.present-action-btn:hover{background:#00add8;border-color:#00add8;color:#fff}.present-close-btn:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.present-stage-fullscreen .diaporama-nav-arrow{position:fixed;top:50%;transform:translateY(-50%);z-index:90;width:54px;height:54px;background:rgba(255,255,255,.96);border:1.5px solid #cbd5e1;color:#0a2540;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 24px rgba(10,37,64,.12);transition:all .25s ease}.present-stage-fullscreen .diaporama-nav-arrow:hover:not(:disabled){background:#00add8;border-color:#00add8;color:#fff;transform:translateY(-50%)scale(1.1)}.present-stage-fullscreen .diaporama-nav-arrow:disabled{opacity:.25;cursor:not-allowed}.present-stage-fullscreen .diaporama-arrow-left{left:clamp(1.2rem,2.5vw,2.5rem)}.present-stage-fullscreen .diaporama-arrow-right{right:clamp(1.2rem,2.5vw,2.5rem)}.present-stage-fullscreen.hud-hidden .diaporama-nav-arrow{opacity:0;pointer-events:none;transform:translateY(-50%)scale(.9)}.present-academic-watermark{position:absolute;bottom:clamp(1.2rem,2.5vh,2rem);right:clamp(2rem,4.5vw,4.5rem);display:flex;align-items:center;gap:1.25rem;z-index:80;pointer-events:none;background:0 0;border:none;padding:0;box-shadow:none}.present-academic-logo{height:clamp(30px,4vh,40px);width:auto;object-fit:contain;display:block;opacity:.95}.present-academic-module{font-size:clamp(.95rem,1.25vw,1.15rem);font-weight:700;color:#475569;letter-spacing:.02em;white-space:nowrap}.present-academic-page-num{font-size:clamp(1rem,1.35vw,1.22rem);font-weight:800;color:#007d9c;font-family:var(--font-mono,monospace);padding-left:.85rem;border-left:1.5px solid #cbd5e1;white-space:nowrap}.text-cyan{color:#007d9c!important}.text-navy{color:#0a2540!important}.text-amber{color:#b45309!important}.text-emerald{color:#047857!important}.text-alert{color:#dc2626!important}.present-viewport-wrapper{position:fixed;top:0;left:0;width:100vw;height:100vh;margin:0;padding:0;background:#fff;box-sizing:border-box;display:flex;align-items:center;justify-content:center;overflow:hidden}.present-16-9-frame{width:100vw;height:100vh;max-width:none;max-height:none;padding:clamp(2.5rem,5vh,4.2rem)clamp(3.5rem,7vw,7.5rem)clamp(4.5rem,9vh,6.5rem);box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;overflow-y:auto;user-select:text;background:#fff;position:relative}.present-16-9-frame .diaporama-slide-content{width:100%;height:100%;max-width:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:center}.present-16-9-frame .diaporama-slide-content h1,.present-16-9-frame .diaporama-slide-content h2{font-size:clamp(2.4rem,4.1vw,3.5rem);font-weight:800;color:#0a2540;margin:0 0 1.6rem;line-height:1.25;letter-spacing:-.01em}.present-16-9-frame .diaporama-slide-content h3{font-size:clamp(1.55rem,2.5vw,2.15rem);font-weight:700;color:#007d9c;margin:1.4rem 0 .85rem;letter-spacing:.01em}.present-16-9-frame .diaporama-slide-content p,.present-16-9-frame .diaporama-slide-content li{font-size:clamp(1.35rem,1.92vw,1.72rem);line-height:1.75;color:#0f172a;margin-bottom:.9rem}.present-16-9-frame .diaporama-slide-content ul{list-style:none;padding-left:0;margin:1.2rem 0 1.8rem}.present-16-9-frame .diaporama-slide-content ul>li{position:relative;padding-left:2.3rem;margin-bottom:.95rem}.present-16-9-frame .diaporama-slide-content ul>li::before{content:"";position:absolute;left:.2rem;top:.65em;width:10px;height:10px;border-radius:50%;background:#00add8;box-shadow:0 0 0 3px rgba(0,173,216,.25)}.present-16-9-frame .diaporama-slide-content ol{padding-left:2.4rem;margin:1rem 0 1.6rem}.present-16-9-frame .diaporama-slide-content ol>li{margin-bottom:.85rem}.present-16-9-frame .diaporama-slide-content table{width:100%;font-size:clamp(1.22rem,1.7vw,1.5rem);margin:1.5rem 0;border-collapse:collapse}.present-16-9-frame .diaporama-slide-content th,.present-16-9-frame .diaporama-slide-content td{padding:1.15rem 1.75rem;border:1.5px solid #cbd5e1}.present-16-9-frame .diaporama-slide-content th{background:#0a2540;color:#fff;font-weight:700}.present-16-9-frame .diaporama-slide-content pre{font-size:clamp(1.22rem,1.65vw,1.5rem);padding:1.4rem 2rem;border-radius:12px;margin:1.4rem 0;background:#f8fafc;border:1.5px solid #cbd5e1}.present-16-9-frame .diaporama-slide-content code{font-family:var(--font-mono,monospace);font-size:.96em}.present-bottom-bar{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:100;width:min(840px,94vw);display:flex;flex-direction:column;gap:.55rem;background:rgba(255,255,255,.98);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid #cbd5e1;border-radius:999px;padding:.75rem 2rem;box-shadow:0 10px 30px rgba(10,37,64,.12);box-sizing:border-box;transition:opacity .35s ease,transform .35s ease}.present-stage-fullscreen.hud-hidden .present-bottom-bar{opacity:0;transform:translate(-50%,28px);pointer-events:none}.present-bottom-bar .diaporama-progress-track{width:100%;height:6px;background:#e2e8f0;border-radius:999px;overflow:hidden}.present-bottom-bar .diaporama-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,#00add8,#007d9c,#0a2540);transition:width .25s ease}.present-bottom-bar .diaporama-footer-meta{display:flex;justify-content:space-between;align-items:center;gap:2rem;font-size:.95rem;color:#1e293b;font-weight:600}.present-bottom-bar .diaporama-footer-meta kbd{background:#f1f5f9;border:1px solid #cbd5e1;padding:.2rem .55rem;border-radius:6px;color:#0a2540;font-size:.82rem;font-family:var(--font-mono,monospace);font-weight:700}.diag-flame-tree{display:flex;flex-direction:column;gap:.4rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.2rem;margin:1.2rem 0;box-shadow:0 4px 16px rgba(10,37,64,5%)}.diag-flame-row{display:flex;gap:.4rem;width:100%}.diag-flame-cell{padding:.65rem .8rem;border-radius:6px;font-size:.95rem;font-weight:700;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:transform .15s ease}.diag-flame-cell:hover{transform:translateY(-1px)}.diag-flame-root{width:100%;background:#f1f5f9;color:#0a2540;border:1px solid #cbd5e1}.diag-flame-sub1{width:40%;background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}.diag-flame-sub2{width:60%;background:#fef3c7;color:#b45309;border:1px solid #fde68a}.diag-flame-hot{width:35%;background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5}.diag-flame-minor{width:5%;background:#f1f5f9;color:#64748b;border:1px solid #cbd5e1;font-size:.8rem;padding:.65rem .2rem}.diag-flame-ok{width:15%;background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}.diag-flame-biz{width:45%;background:#fef9c3;color:#854d0e;border:1px solid #fef08a}.diaporama-slide-content:has(.slide-section-divider){display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:100%}.diaporama-slide-content:has(.slide-section-divider) h2{order:2;font-family:orbitron,var(--font-display,sans-serif)!important;font-size:clamp(2.6rem,4.4vw,4.2rem)!important;font-weight:900!important;color:#0a2540!important;margin:0 0 1.4rem!important;text-align:center!important;letter-spacing:-.01em}.slide-section-divider{display:contents}.slide-divider-badge{order:1;display:inline-flex;align-items:center;justify-content:center;padding:.45rem 1.35rem;background:rgba(0,173,216,.1);border:1.5px solid rgba(0,173,216,.4);color:#007d9c;font-size:clamp(.88rem,1.1vw,1rem);font-weight:800;text-transform:uppercase;letter-spacing:.08em;border-radius:9999px;margin-bottom:1.4rem}.slide-divider-desc{order:3;font-size:clamp(1.25rem,1.75vw,1.65rem);color:#475569;max-width:850px;margin:0 auto;line-height:1.6;text-align:center}.diag-latency-scale{display:flex;flex-direction:column;gap:.45rem;margin:1rem 0;background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;padding:.75rem 1rem;box-shadow:0 4px 14px rgba(10,37,64,4%)}.diag-scale-row{display:flex;align-items:center;justify-content:space-between;gap:.85rem;padding:.5rem .85rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;transition:all .15s ease}.diag-scale-row:hover{background:#f1f5f9;border-color:#cbd5e1}.diag-scale-row.tier-reg{width:42%;min-width:320px;border-left:5px solid #10b981}.diag-scale-row.tier-l1{width:52%;min-width:360px;border-left:5px solid #00add8}.diag-scale-row.tier-l2{width:62%;min-width:400px;border-left:5px solid #007d9c}.diag-scale-row.tier-l3{width:74%;min-width:440px;border-left:5px solid #0a2540}.diag-scale-row.tier-ram{width:88%;min-width:490px;border-left:5px solid #ea580c;background:#fffaf0}.diag-scale-row.tier-ssd{width:100%;border-left:5px solid #dc2626;background:#fef2f2}.diag-scale-info{display:flex;flex-direction:column;gap:.15rem;min-width:170px}.diag-scale-name{font-size:.95rem;font-weight:800;color:#0a2540;white-space:nowrap}.diag-scale-meta{font-size:.75rem;color:#64748b;font-weight:600;white-space:nowrap}.diag-scale-badge-zone{display:flex;align-items:center;gap:.6rem;white-space:nowrap}.diag-scale-speed{font-family:var(--font-mono,monospace);font-size:.84rem;font-weight:800;padding:.2rem .6rem;border-radius:6px;background:#fff;border:1px solid #cbd5e1;color:#0a2540;box-shadow:0 1px 3px rgba(0,0,0,4%)}.diag-scale-speed.text-emerald{background:#ecfdf5;border-color:#a7f3d0}.diag-scale-speed.text-cyan{background:#f0f9ff;border-color:#bae6fd}.diag-scale-speed.text-alert{background:#fff7ed;border-color:#fed7aa}.diag-scale-factor{font-family:var(--font-mono,monospace);font-size:.8rem;font-weight:800;color:#475569}.diag-scale-tag{font-size:.76rem;font-weight:800;padding:.2rem .55rem;border-radius:6px;text-align:center;white-space:nowrap}.diag-scale-tag.tag-emerald{background:#dcfce7;color:#15803d;border:1px solid #86efac}.diag-scale-tag.tag-cyan{background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}.diag-scale-tag.tag-navy{background:#f1f5f9;color:#0a2540;border:1px solid #cbd5e1}.diag-scale-tag.tag-alert{background:#ffedd5;color:#c2410c;border:1px solid #fdba74}.diag-scale-tag.tag-danger{background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5}.diag-latency-bars{display:flex;flex-direction:column;gap:.75rem;margin:1.2rem 0}.diag-memory-wall-card{display:flex;flex-direction:column;gap:1rem;margin:1.1rem 0}.diag-wall-visual{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.2rem;background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;padding:1.2rem 1.6rem;box-shadow:0 4px 14px rgba(10,37,64,4%)}.diag-wall-side{display:flex;flex-direction:column;gap:.35rem}.diag-wall-side.is-cpu{border-left:4px solid #10b981;padding-left:.9rem}.diag-wall-side.is-ram{border-right:4px solid #ea580c;padding-right:.9rem;text-align:right}.diag-wall-badge{font-size:1.05rem;font-weight:800;color:#0a2540}.diag-wall-speed{font-family:var(--font-mono,monospace);font-size:.92rem;font-weight:700}.diag-wall-desc{font-size:.85rem;color:#475569;line-height:1.4;margin:0}.diag-wall-barrier{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;background:#fff5f5;border:1.5px dashed #f87171;border-radius:10px;padding:.6rem 1.2rem}.diag-wall-gap{font-family:var(--font-mono,monospace);font-size:1.15rem;font-weight:800;color:#dc2626}.diag-wall-label{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#991b1b}.diag-wall-impact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.diag-impact-card{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;padding:.9rem 1.2rem;display:flex;flex-direction:column;gap:.35rem}.diag-impact-title{font-size:.95rem;font-weight:800;color:#0a2540}.diag-impact-desc{font-size:.84rem;color:#475569;line-height:1.45;margin:0}.diag-string-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:1.2rem;margin:1.2rem 0}.diag-string-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;padding:1.2rem 1.4rem;display:flex;flex-direction:column;gap:.8rem;box-shadow:0 4px 12px rgba(10,37,64,4%)}.diag-string-card.is-ascii{border-color:#cbd5e1;background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%)}.diag-string-card.is-utf8{border-color:#00add8;background:linear-gradient(180deg,#ffffff 0%,#f0fdfa 100%);box-shadow:0 6px 20px rgba(0,173,216,8%)}.diag-string-header{display:flex;align-items:center;justify-content:space-between}.diag-string-title{font-size:1.15rem;font-weight:800;color:#0a2540}.diag-string-card.is-utf8 .diag-string-title{color:#007d9c}.diag-string-badge{font-size:.75rem;font-weight:800;font-family:var(--font-mono,monospace);padding:.2rem .55rem;border-radius:6px}.diag-string-card.is-ascii .diag-string-badge{background:#f1f5f9;color:#475569}.diag-string-card.is-utf8 .diag-string-badge{background:#ccfbf1;color:#0f766e}.diag-string-desc{font-size:.92rem;color:#475569;line-height:1.5;margin:0}.diag-string-desc strong{color:#0f172a}.diag-ascii-samples{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.2rem}.diag-ascii-item{background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.5rem .6rem;text-align:center;display:flex;flex-direction:column;gap:.2rem}.diag-ascii-char{font-family:var(--font-mono,monospace);font-size:1.1rem;font-weight:800;color:#0a2540}.diag-ascii-code{font-family:var(--font-mono,monospace);font-size:.78rem;color:#64748b;font-weight:600}.diag-utf8-bytes{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}.diag-utf8-item{background:#fff;border:1.5px solid #ccfbf1;border-radius:8px;padding:.55rem .8rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.diag-utf8-left{display:flex;align-items:center;gap:.5rem}.diag-utf8-char{font-family:var(--font-mono,monospace);font-size:1.15rem;font-weight:800;color:#007d9c;width:24px;text-align:center}.diag-utf8-len{font-size:.78rem;font-weight:700;color:#475569}.diag-utf8-hex{font-family:var(--font-mono,monospace);font-size:.8rem;font-weight:700;color:#0f766e;background:#f0fdfa;padding:.15rem .45rem;border-radius:4px;border:1px solid #99f6e4}.diag-resource-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.2rem 0}.diag-resource-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;padding:1.1rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:0 4px 12px rgba(10,37,64,4%)}.diag-resource-num{width:28px;height:28px;border-radius:50%;background:rgba(0,173,216,.12);color:#007d9c;font-weight:800;font-size:.85rem;display:flex;align-items:center;justify-content:center}.diag-resource-title{font-size:1.05rem;font-weight:800;color:#0a2540}.diag-resource-desc{font-size:.88rem;color:#475569;line-height:1.5;margin:0}.diag-definition-box{position:relative;background:linear-gradient( 135deg,rgba(240,249,255,.95) 0%,rgba(224,242,254,.6) 100% );border:1.5px solid #0284c7;border-left:5px solid #0284c7;border-radius:12px;padding:1.2rem 1.6rem;margin:1.2rem 0 1.5rem;box-shadow:0 4px 16px rgba(2,132,199,8%)}.diag-definition-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}.diag-definition-badge{display:inline-flex;align-items:center;gap:.45rem;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#0369a1;background:rgba(2,132,199,.12);padding:.25rem .65rem;border-radius:6px}.diag-definition-badge svg{width:14px;height:14px;stroke:currentColor;stroke-width:2.2}.diag-definition-text{font-size:1.12rem;font-weight:500;line-height:1.6;color:#0f172a;margin:0}.diag-definition-text strong{color:#0369a1;font-weight:800}.diag-rule-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin:1.5rem 0}.diag-rule-step{background:#fff;border:2px solid #e2e8f0;border-radius:14px;padding:1.3rem;display:flex;flex-direction:column;gap:.75rem;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;position:relative;overflow:hidden}.diag-rule-step:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(10,37,64,6%)}.diag-rule-step::before{content:"";position:absolute;top:0;left:0;right:0;height:4px}.diag-rule-step.step-1{border-color:#cbd5e1;background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%)}.diag-rule-step.step-1::before{background:#64748b}.diag-rule-step.step-2{border-color:#cbd5e1;background:linear-gradient(180deg,#ffffff 0%,#f5f3ff 100%)}.diag-rule-step.step-2::before{background:#6366f1}.diag-rule-step.step-3,.diag-rule-step.is-fast{border-color:#00add8;background:linear-gradient(180deg,#ffffff 0%,#f0fdfa 100%);box-shadow:0 8px 24px rgba(0,173,216,.12)}.diag-rule-step.step-3::before,.diag-rule-step.is-fast::before{background:#00add8}.diag-rule-top{display:flex;align-items:center;justify-content:space-between}.diag-rule-badge{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .55rem;border-radius:6px}.diag-rule-step.step-1 .diag-rule-badge{background:#f1f5f9;color:#475569}.diag-rule-step.step-2 .diag-rule-badge{background:#ede9fe;color:#5b21b6}.diag-rule-step.step-3 .diag-rule-badge,.diag-rule-step.is-fast .diag-rule-badge{background:#ccfbf1;color:#0f766e}.diag-rule-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center}.diag-rule-step.step-1 .diag-rule-icon{background:#f1f5f9;color:#475569}.diag-rule-step.step-2 .diag-rule-icon{background:#ede9fe;color:#6366f1}.diag-rule-step.step-3 .diag-rule-icon,.diag-rule-step.is-fast .diag-rule-icon{background:#ccfbf1;color:#007d9c}.diag-rule-icon svg{width:18px;height:18px;stroke:currentColor;stroke-width:2.2}.diag-rule-title{font-size:1.25rem;font-weight:900;letter-spacing:-.01em;margin:0}.diag-rule-step.step-1 .diag-rule-title{color:#1e293b}.diag-rule-step.step-2 .diag-rule-title{color:#4338ca}.diag-rule-step.step-3 .diag-rule-title,.diag-rule-step.is-fast .diag-rule-title{color:#007d9c}.diag-rule-desc{font-size:.92rem;color:#475569;line-height:1.5;margin:0}.diag-formula-card{background:#fff;border:1.5px solid #cbd5e1;border-radius:12px;padding:1.2rem 1.6rem;margin:1.2rem 0;display:flex;flex-direction:column;gap:1rem;box-shadow:0 4px 16px rgba(10,37,64,5%)}.diag-formula-math{display:flex;align-items:center;justify-content:center;gap:.75rem;font-family:var(--font-mono,monospace);font-size:clamp(1.4rem,2.2vw,1.9rem);font-weight:800;color:#0a2540}.formula-var{color:#007d9c;font-style:italic}.formula-frac{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;padding:0 .4rem}.formula-num{border-bottom:2.5px solid #0a2540;padding-bottom:.15rem;width:100%;text-align:center}.formula-den{padding-top:.25rem;text-align:center;font-size:.88em}.diag-formula-vars{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;background:#f8fafc;border-radius:8px;padding:.85rem 1.2rem;font-size:.92rem;color:#334155}.diag-tradeoff-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin:1.2rem 0}.diag-tradeoff-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;padding:1.2rem;display:flex;flex-direction:column;gap:.6rem}.diag-tradeoff-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:.4rem;border-bottom:1.5px solid #f1f5f9}.diag-tradeoff-title{font-size:1.05rem;font-weight:800;color:#0a2540}.diag-tradeoff-badge{font-family:var(--font-mono,monospace);font-size:.82rem;font-weight:800;padding:.2rem .6rem;border-radius:6px}.badge-cpu-save{background:rgba(16,185,129,.12);color:#047857}.badge-ram-save{background:rgba(0,173,216,.12);color:#007d9c}.diag-hotcold-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin:1.2rem 0}.diag-hotcold-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;padding:1.2rem;display:flex;flex-direction:column;gap:.6rem}.diag-hotcold-card.is-hot{border-color:#f97316;background:linear-gradient(180deg,#ffffff 0%,#fff7ed 100%);box-shadow:0 4px 16px rgba(249,115,22,8%)}.diag-hotcold-badge{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.diag-hotcold-card.is-cold .diag-hotcold-badge{color:#64748b}.diag-hotcold-card.is-hot .diag-hotcold-badge{color:#c2410c}.diag-bigo-grid{display:flex;flex-direction:column;gap:.6rem;margin:1.2rem 0}.diag-bigo-item{display:flex;align-items:center;gap:1rem;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;padding:.75rem 1.1rem;box-shadow:0 2px 8px rgba(10,37,64,3%);transition:transform .15s ease,border-color .15s ease}.diag-bigo-item:hover{transform:translateX(4px);border-color:#cbd5e1}.diag-bigo-tag{min-width:110px;display:flex;align-items:center;justify-content:center}.diag-bigo-name{min-width:120px;font-size:.92rem;font-weight:800;color:#0a2540}.diag-bigo-desc{font-size:.88rem;color:#475569;line-height:1.45;margin:0;flex:1}.wasm-bigo-workspace{display:grid;grid-template-columns:1.35fr 1fr;gap:1.4rem;align-items:stretch;margin-top:1rem}@media(max-width:960px){.wasm-bigo-workspace{grid-template-columns:1fr}}.wasm-bigo-canvas-container{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;padding:1.1rem;display:flex;flex-direction:column;gap:.85rem;box-shadow:0 4px 14px rgba(10,37,64,5%)}#wasm-bigo-canvas{width:100%;height:auto;aspect-ratio:16/10;display:block;border-radius:8px;background:#fff;border:1px solid #e2e8f0}.wasm-bigo-slider-bar{display:flex;flex-direction:column;gap:.45rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.65rem .95rem;box-shadow:0 2px 6px rgba(10,37,64,3%)}.wasm-bigo-slider-label{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:#334155;font-weight:600}.wasm-bigo-slider{width:100%;accent-color:#007d9c;cursor:pointer}.wasm-bigo-sidebar{display:flex;flex-direction:column;gap:.5rem;justify-content:space-between}.wasm-bigo-card{background:#fff;border:1.5px solid #e2e8f0;border-left:5px solid #cbd5e1;border-radius:10px;padding:.6rem .9rem;display:flex;flex-direction:column;gap:.2rem;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 8px rgba(10,37,64,3%)}.wasm-bigo-card:hover,.wasm-bigo-card.is-selected{transform:translateX(4px);border-color:#cbd5e1;box-shadow:0 4px 14px rgba(10,37,64,8%)}.wasm-bigo-card.is-o1{border-left-color:#10b981}.wasm-bigo-card.is-ologn{border-left-color:#00add8}.wasm-bigo-card.is-on{border-left-color:#3b82f6}.wasm-bigo-card.is-onlogn{border-left-color:#f59e0b}.wasm-bigo-card.is-on2{border-left-color:#ef4444}.wasm-bigo-card-top{display:flex;align-items:center;justify-content:space-between}.wasm-bigo-cat{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.wasm-bigo-card.is-o1 .wasm-bigo-cat{color:#059669}.wasm-bigo-card.is-ologn .wasm-bigo-cat{color:#0284c7}.wasm-bigo-card.is-on .wasm-bigo-cat{color:#2563eb}.wasm-bigo-card.is-onlogn .wasm-bigo-cat{color:#d97706}.wasm-bigo-card.is-on2 .wasm-bigo-cat{color:#dc2626}.wasm-bigo-ops{font-family:var(--font-mono,monospace);font-size:1.12rem;font-weight:800;color:#0a2540}.wasm-ops-unit{font-size:.76rem;font-weight:600;color:#64748b;margin-left:2px}.wasm-bigo-eg{font-size:.8rem;color:#475569;margin:0;line-height:1.35}.wasm-bigo-presets{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.present-16-9-frame .wasm-widget-card{margin:.5rem 0;padding:1rem 1.4rem;border-width:1.5px}.present-16-9-frame .wasm-widget-header{margin-bottom:.7rem;padding-bottom:.4rem}.present-16-9-frame .wasm-widget-title{font-size:1.15rem}.present-16-9-frame .wasm-bigo-workspace{margin-top:.5rem;gap:1.1rem}.present-16-9-frame .wasm-bigo-canvas-container{padding:.8rem;gap:.6rem}.present-16-9-frame .wasm-bigo-slider-bar{padding:.4rem .75rem;gap:.3rem}.present-16-9-frame .wasm-bigo-slider-label{font-size:.78rem}.present-16-9-frame .wasm-bigo-card{padding:.45rem .75rem;gap:.15rem}.present-16-9-frame .diaporama-slide-content .wasm-bigo-card p,.present-16-9-frame .wasm-bigo-eg{font-size:.76rem!important;line-height:1.35!important;margin:0!important;color:#475569!important}.present-16-9-frame .wasm-bigo-cat{font-size:.72rem}.present-16-9-frame .wasm-bigo-ops{font-size:1.05rem}.present-16-9-frame .diag-latency-bars{gap:.35rem;margin:.35rem 0}.present-16-9-frame .diag-latency-scale{gap:.28rem;padding:.45rem .75rem;margin:.3rem 0}.present-16-9-frame .diag-scale-row{gap:.6rem;padding:.3rem .6rem}.present-16-9-frame .diag-scale-row.tier-reg{width:44%;min-width:290px}.present-16-9-frame .diag-scale-row.tier-l1{width:54%;min-width:320px}.present-16-9-frame .diag-scale-row.tier-l2{width:64%;min-width:355px}.present-16-9-frame .diag-scale-row.tier-l3{width:75%;min-width:395px}.present-16-9-frame .diag-scale-row.tier-ram{width:88%;min-width:440px}.present-16-9-frame .diag-scale-row.tier-ssd{width:100%}.present-16-9-frame .diag-scale-info{min-width:140px}.present-16-9-frame .diag-scale-name{font-size:.86rem}.present-16-9-frame .diag-scale-meta{font-size:.68rem}.present-16-9-frame .diag-scale-speed{font-size:.74rem;padding:.12rem .45rem}.present-16-9-frame .diag-scale-factor{font-size:.72rem}.present-16-9-frame .diag-scale-tag{font-size:.68rem;padding:.12rem .35rem}.present-16-9-frame .diag-latency-item{padding:.35rem .85rem;gap:.2rem;border-radius:7px}.present-16-9-frame .diag-latency-label{font-size:.92rem}.present-16-9-frame .diag-latency-speed{font-size:.78rem;padding:.1rem .45rem}.present-16-9-frame .diag-latency-track{height:12px;margin:.05rem 0}.present-16-9-frame .diag-latency-ratio{font-size:.7rem;padding:.02rem .35rem}.present-16-9-frame .diag-latency-meta{font-size:.74rem;gap:.4rem .85rem;padding-top:.15rem}.present-16-9-frame .diag-memory-wall-card{margin:.5rem 0;gap:.7rem}.present-16-9-frame .diag-wall-visual{padding:.8rem 1.2rem;gap:1rem}.present-16-9-frame .diag-wall-badge{font-size:.95rem}.present-16-9-frame .diag-wall-speed{font-size:.82rem}.present-16-9-frame .diag-wall-desc{font-size:.78rem}.present-16-9-frame .diag-wall-gap{font-size:1.05rem}.present-16-9-frame .diag-impact-card{padding:.65rem 1rem;gap:.25rem}.present-16-9-frame .diag-impact-title{font-size:.88rem}.present-16-9-frame .diag-impact-desc{font-size:.78rem}.present-16-9-frame .diag-fieldalign-single{padding:.85rem 1.25rem;gap:1.1rem;margin:.5rem 0}.present-16-9-frame .diag-fieldalign-single-col{gap:.5rem}.present-16-9-frame .diag-fieldalign-grid{gap:.75rem;margin:.4rem 0}.present-16-9-frame .diag-fieldalign-card{padding:.65rem .9rem;gap:.45rem}.present-16-9-frame .diag-fieldalign-title{font-size:.9rem}.present-16-9-frame .diag-fieldalign-badge{font-size:.68rem;padding:.15rem .5rem}.present-16-9-frame .diag-code-box{padding:.4rem .6rem}.present-16-9-frame .diag-code-box code{font-size:.7rem;line-height:1.35}.present-16-9-frame .diag-memmap-container{padding:.4rem .6rem;gap:.22rem}.present-16-9-frame .diag-memmap-label{font-size:.66rem}.present-16-9-frame .diag-memmap-row{grid-template-columns:38px 1fr;gap:.35rem}.present-16-9-frame .diag-memmap-addr{font-size:.66rem}.present-16-9-frame .diag-mem-cell-unit{font-size:.58rem;padding:.18rem .05rem}.present-16-9-frame .diag-fieldalign-summary{font-size:.74rem;padding:.3rem .5rem}.present-16-9-frame .diag-fieldalign-impact{padding:.55rem .85rem;gap:.75rem;margin:.4rem 0 0}.present-16-9-frame .diag-impact-col-title{font-size:.78rem}.present-16-9-frame .diag-impact-col-desc{font-size:.72rem;line-height:1.35}.session-login-error,.alert.alert-danger{display:flex;align-items:center;gap:.75rem;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:.85rem 1rem;border-radius:var(--radius-md,8px);margin-bottom:1.25rem;font-size:.9rem;font-weight:500;box-shadow:0 1px 3px rgba(220,38,38,5%)}.session-error-icon,.alert-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.25rem;height:1.25rem;color:#dc2626}.session-error-icon svg,.alert-icon svg,svg.alert-icon{width:1.25rem;height:1.25rem;flex-shrink:0;display:block}.session-error-content{flex:1;display:flex;align-items:center}.session-error-msg{line-height:1.4}@media print{.diag-rule-steps,.diag-compilation-flow,.diag-transistor-flow,.diag-system-flow,.diag-sympathy-grid,.diag-pipeline-grid,.diag-cacheline-flow,.diag-false-sharing-flow,.diag-allocation-flow,.diag-escape-flow,.diag-gc-cycles-flow,.diag-worker-pool-flow,.diag-benchmark-flow,.diag-bench-steps,.diag-profiling-pipeline{display:flex!important;flex-direction:column!important;gap:.75rem!important;page-break-inside:avoid!important;break-inside:avoid!important}.diag-rule-step,.diag-comp-step,.diag-trans-step,.diag-sympathy-card,.diag-pipeline-step,.diag-bench-step{width:100%!important;box-sizing:border-box!important}.doc-subchapter-page{page-break-before:always!important;page-break-after:always!important;break-before:page!important;break-after:page!important;min-height:250mm;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:40mm 15mm;box-sizing:border-box;background:#fff}.static-bigo-container,.static-byte-container{page-break-inside:avoid!important;break-inside:avoid!important}}body.progression-page-body{background:#f8fafc;color:#0f172a;font-family:var(--font-sans,"Outfit",sans-serif);margin:0;padding:0;min-height:100vh}.progression-top-bar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:.75rem 2rem;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid #e2e8f0;box-shadow:0 2px 10px rgba(0,0,0,4%)}.progression-header-badge{font-size:.95rem;font-weight:700;color:#0a2540;background:#f1f5f9;padding:.35rem .85rem;border-radius:9999px;border:1px solid #cbd5e1}.progression-sheet{max-width:1600px;margin:2rem auto;padding:0 1.5rem 3rem}.progression-meta-card{background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:1.5rem 1.75rem;margin-bottom:1.5rem;box-shadow:0 4px 16px rgba(10,37,64,4%)}.progression-sheet-header{border-bottom:2px solid #00add8;padding-bottom:.75rem;margin-bottom:1rem}.progression-sheet-header-top{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.progression-sheet-logo-wrap{flex-shrink:0}.progression-sheet-logo{height:42px;width:auto;object-fit:contain}.progression-main-title{font-size:1.45rem;font-weight:800;color:#0a2540;margin:0 0 .2rem;text-transform:uppercase;letter-spacing:.05em}.progression-sub-title{font-size:.86rem;font-weight:500;color:#64748b}.progression-meta-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:.75rem 2.5rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.85rem 1.25rem}.progression-meta-col{display:flex;flex-direction:column;gap:.5rem}.progression-meta-row{display:grid;grid-template-columns:190px 1fr;align-items:baseline;gap:.75rem;font-size:.88rem}.progression-meta-label{font-weight:700;color:#475569;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.progression-meta-value{color:#0f172a;line-height:1.4}.diag-tp-box{background:#f8fafc;border:1px solid #cbd5e1;border-left:4px solid #635bff;border-radius:8px;padding:1.1rem 1.4rem;margin:1.25rem 0 .5rem}.diag-tp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.diag-tp-badge{display:inline-flex;align-items:center;gap:.4rem;background:rgba(99,91,255,.1);color:#635bff;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;padding:.25rem .6rem;border-radius:4px}.diag-tp-desc{color:#1e293b;font-size:.95rem;line-height:1.5;margin-bottom:.6rem}.diag-tp-consignes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin:1.2rem 0}.diag-tp-consigne-card{background:#fff;border:1.5px solid #cbd5e1;border-radius:10px;padding:1.15rem 1.3rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:0 3px 10px rgba(10,37,64,3%)}.diag-tp-consigne-card.is-highlight{border-color:#635bff;background:#fafafa}.diag-tp-consigne-title{font-size:1rem;font-weight:800;color:#0a2540;display:flex;align-items:center;gap:.5rem;margin:0}.diag-tp-consigne-desc{font-size:.88rem;color:#334155;line-height:1.55;margin:0}.diag-tp-consigne-desc strong{color:#0f172a}.diag-target-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin:1.2rem 0}.diag-target-card{background:#fff;border:1.5px solid #cbd5e1;border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 4px 12px rgba(10,37,64,4%);position:relative;overflow:hidden}.diag-target-card.is-target-1{border-top:4px solid #10b981}.diag-target-card.is-target-2{border-top:4px solid #f59e0b}.diag-target-card.is-target-3{border-top:4px solid #635bff}.diag-target-header{display:flex;align-items:center;justify-content:space-between}.diag-target-level{font-family:var(--font-mono,monospace);font-size:.75rem;font-weight:800;text-transform:uppercase;padding:.2rem .5rem;border-radius:4px}.diag-target-card.is-target-1 .diag-target-level{background:#ecfdf5;color:#065f46}.diag-target-card.is-target-2 .diag-target-level{background:#fffbeb;color:#92400e}.diag-target-card.is-target-3 .diag-target-level{background:#eef2ff;color:#3730a3}.diag-target-name{font-family:var(--font-mono,monospace);font-size:1.4rem;font-weight:800;color:#0a2540}.diag-target-spec{font-size:.86rem;color:#64748b;line-height:1.4}.diag-target-hash{background:#f8fafc;color:#0a2540;font-family:var(--font-mono,monospace);font-size:.75rem;padding:.45rem .6rem;border-radius:6px;word-break:break-all;border:1px solid #cbd5e1;border-left:3px solid #635bff}.diag-target-role{font-size:.88rem;color:#334155;line-height:1.5}.diag-timeline-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.2rem 0}.diag-timeline-slot{background:#fff;border:1.5px solid #cbd5e1;border-radius:10px;padding:1rem;display:flex;flex-direction:column;gap:.55rem;box-shadow:0 3px 10px rgba(10,37,64,3%)}.diag-timeline-slot-hdr{display:flex;align-items:center;justify-content:space-between;padding-bottom:.45rem;border-bottom:1px solid #f1f5f9}.diag-timeline-slot-num{font-family:var(--font-mono,monospace);font-size:.72rem;font-weight:800;color:#635bff;background:rgba(99,91,255,.1);padding:.15rem .45rem;border-radius:4px}.diag-timeline-slot-day{font-size:.74rem;font-weight:700;color:#64748b}.diag-timeline-slot-title{font-size:.95rem;font-weight:800;color:#0a2540;line-height:1.35;margin:0}.diag-timeline-slot-body{font-size:.82rem;color:#475569;line-height:1.45;margin:0}.diag-timeline-slot-focus{font-family:var(--font-mono,monospace);font-size:.74rem;color:#007d9c;background:#e0f2fe;padding:.2rem .45rem;border-radius:4px;display:inline-block}.diag-project-catalog{display:flex;flex-direction:column;gap:1.5rem;margin:1.5rem 0}.diag-projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem}.diag-project-card{background:#fff;border:1.5px solid #cbd5e1;border-radius:12px;padding:1.35rem 1.5rem;display:flex;flex-direction:column;gap:.85rem;box-shadow:0 4px 14px rgba(10,37,64,4%);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.diag-project-card:hover{transform:translateY(-2px);border-color:#635bff;box-shadow:0 8px 24px rgba(99,91,255,8%)}.diag-project-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.diag-project-num{font-family:var(--font-mono,monospace);font-size:.82rem;font-weight:800;color:#635bff;background:rgba(99,91,255,.1);padding:.2rem .55rem;border-radius:5px;flex-shrink:0}.diag-project-title{font-size:1.12rem;font-weight:800;color:#0a2540;line-height:1.35;margin:0}.diag-project-subtitle{display:block;font-size:.85rem;font-weight:600;color:#64748b;margin-top:.2rem}.diag-project-pitch{font-size:.92rem;color:#334155;line-height:1.55;margin:0}.diag-project-why{background:#f8fafc;border-left:3px solid #10b981;padding:.6rem .85rem;border-radius:0 6px 6px 0;font-size:.86rem;color:#0f766e;line-height:1.5}.diag-project-why strong{color:#044e54}.diag-project-tech{display:flex;flex-direction:column;gap:.45rem;padding-top:.5rem;border-top:1px solid #f1f5f9}.diag-project-tech-item{font-size:.84rem;color:#475569;line-height:1.45;display:flex;align-items:baseline;gap:.45rem}.diag-project-tech-tag{font-family:var(--font-mono,monospace);font-size:.72rem;font-weight:700;text-transform:uppercase;color:#475569;background:#e2e8f0;padding:.15rem .4rem;border-radius:3px;flex-shrink:0}.progression-table-container{background:#fff;border:1px solid #cbd5e1;border-radius:12px;overflow-x:auto;box-shadow:0 4px 16px rgba(10,37,64,4%)}.progression-table{width:100%;border-collapse:collapse;text-align:left;font-size:.86rem}.progression-table thead tr{background:#0a2540;color:#fff}.progression-table th{padding:.8rem .65rem;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-right:1px solid rgba(255,255,255,.15);white-space:nowrap}.progression-table th:last-child{border-right:none}.progression-table td{padding:.65rem .7rem;border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0;vertical-align:top;line-height:1.4;color:#1e293b}.progression-table td:last-child{border-right:none}.progression-row:hover td{background:#f8fafc}.slot-first-row td{border-top:2px solid #0a2540}.col-dates{width:110px}.col-hours{width:75px;text-align:center}.col-stages{width:110px}.col-objectives{width:210px}.col-activity{width:270px}.col-modality{width:160px}.col-tools{width:140px}.col-notes{width:150px}.cell-dates{background:#f8fafc;font-weight:600;text-align:center}.slot-badge{display:inline-block;background:#0a2540;color:#fff;padding:.2rem .55rem;border-radius:5px;font-size:.75rem;font-weight:700;margin-bottom:.3rem}.slot-date-text{font-size:.78rem;color:#475569}.cell-hours{background:#f8fafc;text-align:center;font-weight:700;color:#007d9c;font-family:var(--font-mono,monospace);font-size:.88rem}.cell-objectives{background:#fdfdfd;font-size:.82rem;color:#334155}.slot-objectives-text{line-height:1.4;font-weight:500}.cell-stage{white-space:nowrap}.stage-tag{display:inline-block;padding:.18rem .5rem;border-radius:5px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.stage-tag.stage-introduction{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.stage-tag.stage-démonstration,.stage-tag.stage-demonstration{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.stage-tag.stage-exercices-tp,.stage-tag.stage-exercices\ tp{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.stage-tag.stage-evaluation,.stage-tag.stage-évaluation{background:#fdf2f8;color:#be185d;border:1px solid #fbcfe8}.cell-activity{font-size:.83rem}.cell-modality{font-size:.8rem;color:#475569}.cell-tools code{font-family:var(--font-mono,monospace);font-size:.75rem;background:#f1f5f9;padding:.12rem .35rem;border-radius:4px;color:#0a2540;border:1px solid #e2e8f0}.cell-notes{font-size:.8rem;color:#64748b;font-style:italic}body.rubric-page-body{background:#f8fafc;color:#0f172a;min-height:100vh}.rubric-top-bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:rgba(10,37,64,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 4px 20px rgba(0,0,0,.15)}.rubric-sheet{max-width:980px;margin:1.5rem auto 3rem;background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(15,23,42,8%);border:1px solid #e2e8f0;padding:2.5rem}.rubric-sheet-header{border-bottom:2px solid #0a2540;padding-bottom:1.25rem;margin-bottom:1.5rem}.rubric-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1rem}.rubric-super-title{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#00add8;margin-bottom:.25rem}.rubric-main-title{font-size:1.5rem;font-weight:800;color:#0a2540;margin:0 0 .25rem;letter-spacing:-.02em}.rubric-sub-title{font-size:.95rem;color:#475569;font-weight:500}.rubric-logo-wrap{flex-shrink:0}.rubric-logo{height:48px;width:auto;object-fit:contain}.rubric-meta-bar{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2rem;background:#f1f5f9;padding:.75rem 1.25rem;border-radius:8px;border:1px solid #e2e8f0}.rubric-meta-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.rubric-meta-label{color:#64748b;font-weight:600}.rubric-meta-value{color:#0f172a;font-weight:700}.rubric-meta-points .rubric-meta-value{color:#0a2540;background:#e2e8f0;padding:.2rem .5rem;border-radius:6px}.rubric-principle-card{background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%);border:1.5px solid #86efac;border-radius:10px;padding:1.25rem 1.5rem;margin-bottom:2rem}.rubric-principle-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.rubric-principle-badge{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;background:#15803d;color:#fff;padding:.2rem .6rem;border-radius:4px}.rubric-principle-text{margin:0;font-size:.92rem;line-height:1.55;color:#166534}.rubric-sections-list{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:2rem}.rubric-card{background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:1.25rem;box-shadow:0 2px 6px rgba(15,23,42,4%);transition:border-color .2s ease,box-shadow .2s ease}.rubric-card:hover{border-color:#94a3b8;box-shadow:0 4px 12px rgba(15,23,42,8%)}.rubric-card-bonus{background:linear-gradient(135deg,#faf5ff 0%,#f3e8ff 100%);border:1.5px solid #c084fc}.rubric-card-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem}.rubric-card-title-wrap{display:flex;align-items:center;gap:.75rem}.rubric-card-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:#0a2540;color:#fff;font-size:.85rem;font-weight:800;border-radius:6px}.rubric-card-bonus .rubric-card-num{background:#7e22ce}.rubric-card-title{font-size:1.05rem;font-weight:700;color:#0a2540;margin:0}.rubric-card-bonus .rubric-card-title{color:#581c87}.rubric-points-badge{font-size:.85rem;font-weight:800;background:#e0f2fe;color:#0369a1;padding:.25rem .75rem;border-radius:20px;border:1px solid #bae6fd;white-space:nowrap}.rubric-card-bonus .rubric-points-badge{background:#ede9fe;color:#6d28d9;border-color:#ddd6fe}.rubric-card-desc{font-size:.85rem;color:#64748b;margin:0 0 .85rem;font-style:italic}.rubric-criteria-list{display:flex;flex-direction:column;gap:.5rem;background:#f8fafc;padding:.85rem 1rem;border-radius:6px;border:1px solid #f1f5f9}.rubric-card-bonus .rubric-criteria-list{background:rgba(255,255,255,.7);border-color:#e9d5ff}.rubric-criterion-item{display:flex;align-items:baseline;gap:.6rem;font-size:.85rem;line-height:1.45}.rubric-crit-dot{width:6px;height:6px;background:#00add8;border-radius:50%;flex-shrink:0;margin-top:.4rem}.rubric-card-bonus .rubric-crit-dot{background:#9333ea}.rubric-crit-content strong{color:#1e293b;font-weight:600}.rubric-bonus-guide-card{background:#fff;border:2px solid #7e22ce;border-radius:10px;padding:1.5rem;box-shadow:0 4px 15px rgba(126,34,206,8%)}.rubric-bonus-header{margin-bottom:1.25rem;border-bottom:1px solid #f3e8ff;padding-bottom:.75rem}.rubric-bonus-badge{display:inline-block;font-size:.95rem;font-weight:800;color:#7e22ce;margin-bottom:.25rem}.rubric-bonus-sub{display:block;font-size:.82rem;color:#6b7280}.rubric-directives-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media(max-width:768px){.rubric-directives-grid{grid-template-columns:1fr}}.rubric-directive-col{background:#faf5ff;border:1px solid #e9d5ff;border-radius:6px;padding:.85rem 1rem}.rubric-directive-top{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.rubric-directive-num{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:#7e22ce;color:#fff;font-size:.75rem;font-weight:700;border-radius:4px}.rubric-directive-title{font-size:.88rem;font-weight:700;color:#581c87;margin:0}.rubric-directive-desc{font-size:.8rem;color:#4b5563;line-height:1.45;margin:0}.sd-btn-mt-sm{margin-top:.5rem}@media print{@page{size:A4 portrait;margin:15mm 12mm}@page progression-landscape{size:A4 landscape;margin:8mm}body.progression-page-body{page:progression-landscape;background:#fff!important;color:#000!important;padding:0!important;margin:0!important}.no-print{display:none!important}.progression-sheet{max-width:100%!important;margin:0!important;padding:0!important;box-shadow:none!important}.progression-meta-card{border:1px solid #94a3b8!important;border-radius:0!important;box-shadow:none!important;padding:3mm 4mm!important;margin-bottom:3mm!important;page-break-inside:avoid!important;break-inside:avoid!important}.progression-sheet-header{border-bottom:1.5px solid #0a2540!important;padding-bottom:2mm!important;margin-bottom:2mm!important}.progression-sheet-logo{height:9mm!important}.progression-main-title{font-size:11pt!important;color:#000!important}.progression-sub-title{font-size:7pt!important;color:#334155!important}.progression-meta-grid{grid-template-columns:1.15fr 1fr!important;gap:1.5mm 6mm!important;padding:2mm 3mm!important;background:#f8fafc!important;border:.5pt solid #cbd5e1!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.progression-meta-row{grid-template-columns:140px 1fr!important;gap:2mm!important;font-size:7.2pt!important}.progression-meta-label{font-size:6.8pt!important;color:#334155!important}.progression-table-container{border:1px solid #0a2540!important;border-radius:0!important;box-shadow:none!important}.progression-table{font-size:6.8pt!important;width:100%!important}.progression-table thead tr{background:#0a2540!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color:#fff!important}.progression-table thead{display:table-header-group!important}.progression-table th{padding:2mm 1.5mm!important;font-size:6.5pt!important;border:.5pt solid #475569!important}.progression-table td{padding:1.8mm 1.5mm!important;border:.5pt solid #94a3b8!important;color:#000!important}.slot-first-row td{border-top:1.5pt solid #0a2540!important}.progression-row{page-break-inside:avoid!important;break-inside:avoid!important}.slot-badge{background:#0a2540!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color:#fff!important;font-size:6.2pt!important;padding:.8mm 1.6mm!important}.slot-date-text{font-size:6.2pt!important}.stage-tag{font-size:6pt!important;padding:.4mm 1.2mm!important;border:.5pt solid #94a3b8!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.cell-tools code{font-size:6.2pt!important;background:0 0!important;border:none!important}}