/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:"IBM Plex Sans", "Avenir Next", system-ui, sans-serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-semibold:600;--font-weight-bold:700;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-lg:.5rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"IBM Plex Sans", "Avenir Next", system-ui, sans-serif;--default-mono-font-family:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--font-display:"Space Grotesk", "Avenir Next", system-ui, sans-serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{scroll-behavior:smooth;background:var(--bg);scroll-padding-top:96px}body{background:var(--bg);min-width:0;font-family:var(--font-sans);color:var(--text);margin:0;line-height:1.65}button,a{-webkit-tap-highlight-color:transparent}:where(a,button,input,select,textarea,summary,[role=button],[tabindex]):focus-visible{outline:3px solid var(--accent);outline-offset:4px}#contenido:focus{outline:none}::selection{background:var(--accent);color:var(--accent-contrast)}:where(h1,h2,h3,h4){text-wrap:balance;overflow-wrap:break-word}:where(p,li){text-wrap:pretty}}@layer components{.skip-link{z-index:100;background:var(--text);color:var(--bg);font:600 .875rem / 1.4 var(--font-sans);border-radius:8px;padding:12px 18px;text-decoration:none;transition:transform .16s;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:40;border-bottom:1px solid var(--border);background:var(--header);backdrop-filter:blur(16px);position:sticky;top:0}.site-header-inner{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;width:min(100% - 64px,1440px);min-height:64px;margin:0 auto;display:grid}.site-brand{min-height:44px;color:var(--text);justify-self:start;align-items:center;gap:12px;text-decoration:none;display:inline-flex}.brand-chip{width:36px;height:36px;color:var(--accent);flex:none;place-items:center;display:grid}.brand-chip svg{width:32px;height:32px;display:block}.simulator-label-mobile{display:none}.site-brand-copy{flex-direction:column;line-height:1.2;display:flex}.site-brand-copy strong{font:600 1.0625rem / 1.2 var(--font-display);letter-spacing:-.025em}.site-brand-copy small{color:var(--text-soft);font:400 .6875rem / 1.4 var(--font-sans);margin-top:3px}.site-nav{align-items:center;gap:4px;display:flex}.site-nav a{min-height:44px;color:var(--text-soft);font:500 .875rem / 1.4 var(--font-sans);border-radius:7px;justify-content:center;align-items:center;padding:10px 14px;text-decoration:none;transition:color .16s,background .16s;display:inline-flex}.site-nav a:hover{background:var(--accent-soft);color:var(--accent)}.header-simulator{border:1px solid var(--border);min-height:44px;color:var(--text);font:500 .8125rem / 1.4 var(--font-sans);border-radius:7px;justify-self:end;align-items:center;gap:8px;padding:9px 12px;text-decoration:none;transition:border-color .16s,background .16s;display:inline-flex}.header-simulator:hover,.header-simulator[aria-current=page]{border-color:var(--accent);background:var(--accent-soft)}.header-simulator .simulator-index{color:var(--accent);font:500 .75rem / 1.4 var(--font-mono)}.site-footer{border-top:1px solid var(--border);width:min(100% - 64px,1440px);color:var(--text-soft);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:24px;margin:88px auto 0;padding:32px 0 40px;font-size:.875rem;line-height:1.6;display:grid}.site-footer strong{color:var(--text);font:600 1.0625rem / 1.3 var(--font-display);letter-spacing:-.025em;margin-bottom:6px;display:block}.site-footer p{max-width:42ch;margin:0}.footer-links{flex-wrap:wrap;align-items:center;gap:8px 20px;display:flex}.footer-links a{min-height:44px;color:var(--text);-webkit-text-decoration-color:var(--border);-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:4px;align-items:center;font-weight:500;transition:color .16s;display:inline-flex}.footer-links a:hover{color:var(--accent)}.cpu-explorer{width:min(100% - 32px,1560px);margin:0 auto;padding-top:clamp(16px,2.5vh,26px);scroll-margin-top:76px}.explorer-masthead{grid-template-columns:minmax(0,1.15fr) minmax(320px,.75fr);align-items:end;gap:clamp(24px,4vw,56px);margin-bottom:clamp(14px,2vh,20px);display:grid}.section-label{color:var(--text-soft);font:500 clamp(.62rem, .9vw, .7rem) var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px}.section-label span{color:var(--accent)}.section-label span:before{content:"";background:currentColor;width:18px;height:1px;margin:0 9px 3px 0;display:inline-block}.explorer-masthead h1{max-width:900px;color:var(--text);font:600 clamp(2rem, 3.4vw, 3.25rem) / 1.06 var(--font-display);letter-spacing:-.04em;margin:0}.explorer-masthead h1 span{color:var(--accent)}.explorer-intro{padding-bottom:4px}.explorer-intro>p{max-width:500px;color:var(--text-soft);margin:0;font-size:clamp(.88rem,1.1vw,.98rem);line-height:1.55}.explorer-meta{flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:10px;display:flex}.explorer-meta span{color:var(--text-soft);font:500 .64rem var(--font-mono);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;display:inline-flex}.status-dot{background:var(--ok);width:6px;height:6px;box-shadow:0 0 0 3px var(--ok);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.status-dot{box-shadow:0 0 0 3px color-mix(in srgb, var(--ok), transparent 80%)}}.cpu-workbench{border:1px solid var(--border);background:var(--panel);min-height:0;box-shadow:var(--shadow-panel);backdrop-filter:blur(16px);border-radius:24px;grid-template-columns:260px minmax(460px,1fr) 320px;display:grid;overflow:hidden}.parts-panel,.part-dossier{background:var(--bg-elev);min-width:0;padding:16px}@supports (color:color-mix(in lab, red, red)){.parts-panel,.part-dossier{background:color-mix(in srgb, var(--bg-elev), transparent 28%)}}.parts-panel{border-right:1px solid var(--border);flex-direction:column;display:flex}.panel-title{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:14px;min-height:48px;padding-bottom:6px;display:flex}.panel-title span,.dossier-topline,.dossier-category{color:var(--text-soft);font:500 .58rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.panel-title h2{font:600 .88rem var(--font-sans);letter-spacing:-.02em;margin:3px 0 6px}.panel-title .panel-signal{border:1px solid var(--border);width:28px;height:28px;color:var(--accent);border-radius:8px;flex:none;padding:5px}.parts-list{flex-direction:column;flex:1;gap:3px;padding:8px 0;display:flex}.part-select[data-part=control],.cpu-part-shape[data-cpu-part=control],.dossier-symbol[data-part=control]{--part-color:var(--part-control);--part-contrast:var(--part-control-contrast)}.part-select[data-part=alu],.cpu-part-shape[data-cpu-part=alu],.dossier-symbol[data-part=alu]{--part-color:var(--part-alu);--part-contrast:var(--part-alu-contrast)}.part-select[data-part=registers],.cpu-part-shape[data-cpu-part=registers],.dossier-symbol[data-part=registers]{--part-color:var(--part-registers);--part-contrast:var(--part-registers-contrast)}.part-select[data-part=cache],.cpu-part-shape[data-cpu-part=cache],.dossier-symbol[data-part=cache]{--part-color:var(--part-cache);--part-contrast:var(--part-cache-contrast)}.part-select[data-part=clock],.cpu-part-shape[data-cpu-part=clock],.dossier-symbol[data-part=clock]{--part-color:var(--part-clock);--part-contrast:var(--part-clock-contrast)}.part-select[data-part=buses],.cpu-part-shape[data-cpu-part=buses],.dossier-symbol[data-part=buses]{--part-color:var(--part-buses);--part-contrast:var(--part-buses-contrast)}.part-select{width:100%;min-height:52px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;grid-template-columns:24px minmax(0,1fr) 30px;align-items:center;gap:8px;padding:6px 9px;transition:background .16s,border-color .16s,transform .16s;display:grid}.part-select:hover{background:var(--part-color);transform:translate(2px)}@supports (color:color-mix(in lab, red, red)){.part-select:hover{background:color-mix(in srgb, var(--part-color), transparent 93%)}}.part-select.active{border-color:var(--part-color)}@supports (color:color-mix(in lab, red, red)){.part-select.active{border-color:color-mix(in srgb, var(--part-color), transparent 52%)}}.part-select.active{background:var(--part-color)}@supports (color:color-mix(in lab, red, red)){.part-select.active{background:color-mix(in srgb, var(--part-color), transparent 88%)}}.part-number{color:var(--text-soft);font:500 .56rem var(--font-mono);align-self:start;padding-top:5px}.part-select-copy{min-width:0}.part-select-copy strong{font:600 .78rem var(--font-sans);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.part-select-copy small{color:var(--text-soft);font:400 .58rem var(--font-mono);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;margin-top:2px;display:block;overflow:hidden}.part-abbr{border:1px solid var(--part-color);place-items:center;width:28px;height:28px;display:grid}@supports (color:color-mix(in lab, red, red)){.part-abbr{border:1px solid color-mix(in srgb, var(--part-color), transparent 55%)}}.part-abbr{color:var(--text);font:600 .54rem var(--font-mono);border-radius:7px}.part-select.active .part-abbr{background:var(--part-color);color:var(--part-contrast)}.scale-note{border-top:1px solid var(--border);margin-top:auto;padding-top:10px}.scale-note>span{color:var(--text-soft);font:500 .55rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.scale-note p{color:var(--text-soft);margin:6px 0 0;font-size:.68rem;line-height:1.45}.scale-note b{color:var(--accent);font-family:var(--font-mono)}.scale-track{grid-template-columns:repeat(5,1fr);gap:4px;margin-top:9px;display:grid}.scale-track i{background:var(--accent);opacity:.24;border-radius:999px;height:3px}.scale-track i:nth-child(2){opacity:.38}.scale-track i:nth-child(3){opacity:.55}.scale-track i:nth-child(4){opacity:.72}.scale-track i:nth-child(5){opacity:1}.cpu-stage{background:radial-gradient(circle at 54% 44%, var(--accent), transparent 44%), var(--bg);grid-template-rows:auto minmax(0,1fr) auto;min-width:0;display:grid}@supports (color:color-mix(in lab, red, red)){.cpu-stage{background:radial-gradient(circle at 54% 44%, color-mix(in srgb, var(--accent), transparent 93%), transparent 44%), color-mix(in srgb, var(--bg), transparent 28%)}}.stage-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:8px 16px;display:flex}.stage-readout{flex-direction:column;min-width:0;display:flex}.stage-readout span,.stage-legend{color:var(--text-soft);font:500 .56rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.stage-readout strong{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:.77rem;font-weight:600;overflow:hidden}.stage-legend{flex:none;align-items:center;gap:14px;display:flex}.stage-legend span{align-items:center;gap:6px;display:inline-flex}.stage-legend i{background:var(--accent);border-radius:2px;width:7px;height:7px}.cpu-canvas{height:clamp(340px,48vh,440px);min-height:320px;position:relative;overflow:hidden}.cpu-map{width:100%;height:100%;min-height:0;display:block}.canvas-coordinate{z-index:2;color:var(--text-soft);font:500 .5rem var(--font-mono);letter-spacing:.1em;opacity:.6;pointer-events:none;position:absolute}.canvas-coordinate-x{bottom:15px;left:18px}.canvas-coordinate-y{writing-mode:vertical-rl;top:18px;left:15px}.map-grid-line{fill:none;stroke:var(--grid);stroke-width:1px}.map-grid{opacity:.7}.board-traces{fill:none;stroke:var(--accent)}@supports (color:color-mix(in lab, red, red)){.board-traces{stroke:color-mix(in srgb, var(--accent), transparent 68%)}}.board-traces{stroke-width:2px}.board-traces circle{fill:var(--accent);stroke:none}.chip-pins rect{fill:var(--pin);opacity:.82}.chip-package-shadow{fill:var(--text)}@supports (color:color-mix(in lab, red, red)){.chip-package-shadow{fill:color-mix(in srgb, var(--text), transparent 75%)}}.chip-package{fill:var(--package);stroke:var(--package-edge);stroke-width:2px}.chip-corner{fill:var(--package-edge);opacity:.72}.chip-die{fill:var(--die);stroke:var(--package-edge)}@supports (color:color-mix(in lab, red, red)){.chip-die{stroke:color-mix(in srgb, var(--package-edge), transparent 12%)}}.chip-die{stroke-width:1.5px}.die-labels{fill:none;stroke:var(--text-soft);stroke-width:1px;opacity:.48}.die-labels text{fill:var(--text-soft);stroke:none;font:500 9px var(--font-mono);letter-spacing:.08em}.cpu-part-shape{cursor:pointer}.cpu-part-shape .part-hit{fill:#0000;stroke:#0000;stroke-width:14px}.cpu-part-shape .part-block{fill:var(--part-color)}@supports (color:color-mix(in lab, red, red)){.cpu-part-shape .part-block{fill:color-mix(in srgb, var(--part-color), var(--die) 88%)}}.cpu-part-shape .part-block{stroke:var(--part-color)}@supports (color:color-mix(in lab, red, red)){.cpu-part-shape .part-block{stroke:color-mix(in srgb, var(--part-color), transparent 48%)}}.cpu-part-shape .part-block{stroke-width:1.5px;transition:fill .18s,stroke-width .18s,filter .18s}.cpu-part-shape:hover .part-block,.cpu-part-shape:focus .part-block,.cpu-part-shape.active .part-block{fill:var(--part-color)}@supports (color:color-mix(in lab, red, red)){.cpu-part-shape:hover .part-block,.cpu-part-shape:focus .part-block,.cpu-part-shape.active .part-block{fill:color-mix(in srgb, var(--part-color), var(--die) 72%)}}.cpu-part-shape:hover .part-block,.cpu-part-shape:focus .part-block,.cpu-part-shape.active .part-block{stroke-width:3px;filter:drop-shadow(0 0 10px var(--part-color))}@supports (color:color-mix(in lab, red, red)){.cpu-part-shape:hover .part-block,.cpu-part-shape:focus .part-block,.cpu-part-shape.active .part-block{filter:drop-shadow(0 0 10px color-mix(in srgb, var(--part-color), transparent 55%))}}.cpu-part-shape .part-detail,.clock-wave,.bus-line{fill:none;stroke:var(--part-color);stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;opacity:.75}.cpu-part-shape .part-node,.bus-node{fill:var(--part-color)}@supports (color:color-mix(in lab, red, red)){.cpu-part-shape .part-node,.bus-node{fill:color-mix(in srgb, var(--part-color), var(--die) 35%)}}.cpu-part-shape .part-node,.bus-node{stroke:var(--part-color);stroke-width:2px}.cpu-part-shape .part-code,.cpu-part-shape .part-name,.bus-label{fill:var(--text);font-family:var(--font-mono);pointer-events:none}.cpu-part-shape .part-code{letter-spacing:.08em;font-size:9px;font-weight:600}.cpu-part-shape .part-name{font-size:11px;font-weight:600}.register-bits rect,.cache-cells rect{fill:var(--part-color)}@supports (color:color-mix(in lab, red, red)){.register-bits rect,.cache-cells rect{fill:color-mix(in srgb, var(--part-color), transparent 72%)}}.register-bits rect,.cache-cells rect{stroke:var(--part-color);stroke-width:.8px}.bus-shape .part-hit{stroke-width:22px}.bus-label{letter-spacing:.08em;font-size:8px}.memory-port rect{fill:var(--code-bg);stroke:var(--border);stroke-width:1.5px}.memory-port text{fill:var(--text-soft);font:600 10px var(--font-mono);letter-spacing:.12em}.memory-port path{fill:none;stroke:var(--text-soft);stroke-width:1.5px;opacity:.6}.memory-port circle{fill:var(--accent)}.signal-path,.signal-pulse{opacity:0;pointer-events:none}.signal-path{fill:none;stroke:var(--signal);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:10 9;filter:drop-shadow(0 0 5px var(--signal))}@supports (color:color-mix(in lab, red, red)){.signal-path{filter:drop-shadow(0 0 5px color-mix(in srgb, var(--signal), transparent 28%))}}.signal-path{animation:.7s linear infinite signal-flow}.signal-pulse{fill:var(--signal);filter:drop-shadow(0 0 7px var(--signal))}.cpu-workbench[data-phase=fetch] .signal-fetch,.cpu-workbench[data-phase=decode] .signal-decode,.cpu-workbench[data-phase=execute] .signal-execute{opacity:1}@keyframes signal-flow{to{stroke-dashoffset:-19px}}.canvas-tip{z-index:3;border:1px solid var(--signal);width:148px;position:absolute;top:24px;right:20px;transform:rotate(2deg)}@supports (color:color-mix(in lab, red, red)){.canvas-tip{border:1px solid color-mix(in srgb, var(--signal), transparent 46%)}}.canvas-tip{background:var(--note-bg);color:var(--text);box-shadow:0 11px 25px #0000001f}@supports (color:color-mix(in lab, red, red)){.canvas-tip{color:color-mix(in srgb, var(--text), #141414 10%)}}.canvas-tip{padding:12px 13px}.canvas-tip:before{content:"";background:var(--bg-elev);width:50px;height:10px;position:absolute;top:-5px;left:50%;transform:translate(-50%)rotate(-1deg)}@supports (color:color-mix(in lab, red, red)){.canvas-tip:before{background:color-mix(in srgb, var(--bg-elev), transparent 42%)}}.canvas-tip span{color:var(--accent-2);font:600 .54rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.canvas-tip p{margin:7px 0 0;font-size:.68rem;font-weight:600;line-height:1.45}.cycle-console{border-top:1px solid var(--border);background:var(--bg-elev);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:68px;padding:8px 14px;display:grid}@supports (color:color-mix(in lab, red, red)){.cycle-console{background:color-mix(in srgb, var(--bg-elev), transparent 32%)}}.phase-selector{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.phase-selector button{min-width:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;column-gap:8px;padding:6px 8px;display:grid}.phase-selector button:hover,.phase-selector button.active{border-color:var(--border);background:var(--code-bg)}.phase-selector button.active{box-shadow:inset 3px 0 0 var(--signal)}.phase-selector button>span{color:var(--text-soft);font:500 .54rem var(--font-mono);grid-row:1/3}.phase-selector strong{font:600 .7rem var(--font-mono);text-overflow:ellipsis;text-transform:uppercase;overflow:hidden}.phase-selector small{color:var(--text-soft);font:400 .58rem var(--font-sans);margin-top:2px}.cycle-actions{align-items:center;gap:6px;display:flex}.cycle-actions button{border:1px solid var(--border);min-height:36px;color:var(--text);font:600 .64rem var(--font-sans);cursor:pointer;background:0 0;border-radius:8px;padding:0 10px;transition:transform .16s,border-color .16s,background .16s}.cycle-actions button:hover{border-color:var(--accent);transform:translateY(-1px)}.cycle-actions .cycle-step{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.cycle-step span{margin-left:8px}.cycle-auto{align-items:center;gap:7px;display:inline-flex}.cycle-auto[aria-pressed=true]{border-color:var(--signal);color:var(--signal)}.cycle-actions .cycle-reset{width:36px;padding:0;font-size:1rem}.part-dossier{border-left:1px solid var(--border);flex-direction:column;display:flex;position:relative}.dossier-topline{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding-bottom:10px;display:flex}.dossier-symbol{border:1px solid var(--part-color);place-items:center;width:52px;height:52px;margin-top:14px;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.dossier-symbol{border:1px solid color-mix(in srgb, var(--part-color), transparent 40%)}}.dossier-symbol{background:var(--part-color);border-radius:14px}@supports (color:color-mix(in lab, red, red)){.dossier-symbol{background:color-mix(in srgb, var(--part-color), transparent 88%)}}.dossier-symbol{color:var(--text);font:600 .92rem var(--font-mono)}.dossier-symbol i{background:var(--part-color);width:7px;height:7px;box-shadow:0 0 0 4px var(--part-color);border-radius:50%;position:absolute;bottom:6px;right:6px}@supports (color:color-mix(in lab, red, red)){.dossier-symbol i{box-shadow:0 0 0 4px color-mix(in srgb, var(--part-color), transparent 76%)}}.dossier-category{color:var(--accent);margin:12px 0 0}.part-dossier h2{font:600 clamp(1.35rem, 1.8vw, 1.85rem) / 1.12 var(--font-display);letter-spacing:-.035em;margin:4px 0 0}.dossier-tagline{color:var(--accent-2);margin:8px 0 0;font-size:.82rem;font-weight:600;line-height:1.35}.dossier-description{color:var(--text-soft);margin:10px 0 0;font-size:.76rem;line-height:1.55}.dossier-facts{border-top:1px solid var(--border);margin:14px 0 0}.dossier-facts div{border-bottom:1px solid var(--border);grid-template-columns:80px 1fr;gap:10px;padding:8px 0;display:grid}.dossier-facts dt{color:var(--text-soft);font:500 .55rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.dossier-facts dd{margin:0;font-size:.7rem;font-weight:600;line-height:1.45}.signal-note{border-left:2px solid var(--signal);background:var(--signal);margin-top:12px}@supports (color:color-mix(in lab, red, red)){.signal-note{background:color-mix(in srgb, var(--signal), transparent 91%)}}.signal-note{padding:10px 12px}.signal-note>span{color:var(--signal);font:600 .55rem var(--font-mono);letter-spacing:.07em;text-transform:uppercase;align-items:center;gap:7px;display:flex}.signal-note>span i{background:currentColor;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px}.signal-note p{margin:6px 0 0;font-size:.7rem;line-height:1.45}.dossier-link{border:1px solid var(--accent);min-height:40px;color:var(--accent);font:600 .72rem var(--font-sans);border-radius:8px;justify-content:space-between;align-items:center;margin-top:16px;padding:0 12px;text-decoration:none;transition:background .16s,color .16s;display:flex}.dossier-link:hover{background:var(--accent);color:var(--accent-contrast)}.explorer-disclaimer{max-width:740px;color:var(--text-soft);font:400 .68rem / 1.55 var(--font-mono);text-align:right;margin:16px 4px 0 auto}.explorer-disclaimer span{color:var(--accent);text-transform:uppercase;margin-right:8px}.home-section{width:min(100% - 32px,1380px);margin:clamp(76px,10vw,140px) auto 0;scroll-margin-top:96px}.section-heading-grid{grid-template-columns:minmax(280px,.9fr) minmax(320px,.7fr);justify-content:space-between;align-items:end;gap:48px;margin-bottom:34px;display:grid}.section-heading-grid h2{font:600 clamp(2.2rem, 4.3vw, 4rem) / 1.08 var(--font-display);letter-spacing:-.045em;margin:0}.section-heading-grid>div>p:last-child,.section-heading-grid>p{color:var(--text-soft);margin:0;font-size:.95rem;line-height:1.7}.course-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid;position:relative}.course-grid:before{content:"";z-index:-1;background:var(--accent);opacity:.42;height:1px;position:absolute;top:31px;left:6%;right:6%}.course-card{border:1px solid var(--border);background:var(--bg-elev);border-radius:18px;flex-direction:column;min-height:250px;display:flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.course-card{background:color-mix(in srgb, var(--bg-elev), transparent 10%)}}.course-card{color:var(--text);padding:18px;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s}.course-card:after{content:"";border:1px solid var(--border);opacity:.42;width:96px;height:96px;box-shadow:inset 0 0 0 13px var(--code-bg), inset 0 0 0 14px var(--border);border-radius:50%;position:absolute;bottom:-22px;right:-18px}.course-card:hover{z-index:2;border-color:var(--accent);transform:translateY(-5px);box-shadow:0 18px 40px #0000001a}.card-topline{justify-content:space-between;align-items:center;gap:12px;display:flex}.card-index{border:1px solid var(--border);background:var(--code-bg);min-width:43px;height:28px;color:var(--accent);font:600 .62rem var(--font-mono);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.card-trace{background:repeating-linear-gradient(90deg, var(--border) 0 5px, transparent 5px 9px);flex:1;height:1px}.card-arrow{color:var(--text-soft);font-size:.8rem}.course-card h3{max-width:210px;font:600 1.25rem / 1.2 var(--font-display);letter-spacing:-.03em;margin:35px 0 0}.course-card p{z-index:1;color:var(--text-soft);margin:11px 0 0;font-size:.74rem;line-height:1.55;position:relative}.card-cta{z-index:1;color:var(--accent);font:600 .62rem var(--font-mono);text-transform:uppercase;margin-top:auto;position:relative}.projects-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.projects-grid .course-card{min-height:230px}.projects-grid .course-card h3{max-width:none;font-size:clamp(1.3rem,2.6vw,2.1rem)}.chapter-shell{width:min(100% - 32px,920px);margin:0 auto;padding:clamp(52px,8vw,104px) 0 40px}.chapter-hero{grid-template-columns:108px minmax(0,1fr);gap:30px;margin-bottom:50px;display:grid}.chapter-index{color:var(--text-soft);font:500 .6rem var(--font-mono);flex-direction:column;align-items:center;padding-top:8px;display:flex}.chapter-index strong{color:var(--accent);font:500 2.7rem / 1.1 var(--font-display);letter-spacing:-.045em}.chapter-index i{background:linear-gradient(to bottom, var(--accent) 0%, var(--accent) var(--chapter-progress), var(--border) var(--chapter-progress), var(--border) 100%);border-radius:999px;width:2px;height:72px;margin:10px 0}.chapter-kicker{color:var(--accent);font:600 .66rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin:0}.chapter-hero h1{max-width:760px;font:600 clamp(2.25rem, 6vw, 4.75rem) / 1.08 var(--font-display);letter-spacing:-.045em;margin:13px 0 0}.chapter-route{color:var(--text-soft);font:500 .62rem var(--font-mono);letter-spacing:.05em;text-transform:uppercase;margin:18px 0 0}.chapter{max-width:760px;color:var(--text);margin-left:auto;font-size:1.02rem;line-height:1.82}.chapter>p:first-child{border-bottom:1px solid var(--border);color:var(--text-soft);margin-top:0;padding-bottom:30px;font-size:1.17rem;line-height:1.7}.chapter h2{font:600 clamp(1.65rem, 3vw, 2.25rem) / 1.16 var(--font-display);letter-spacing:-.03em;margin:64px 0 18px;position:relative}.chapter h2:before{content:"";border:2px solid var(--accent);border-radius:2px;width:10px;height:10px;position:absolute;top:.18em;left:-26px}.chapter p{margin:19px 0}.chapter ul{margin:24px 0;padding-left:1.4rem;list-style:outside}.chapter li{margin:10px 0;padding-left:5px}.chapter li::marker{color:var(--accent)}.chapter code{border:1px solid var(--border)}@supports (color:color-mix(in lab, red, red)){.chapter code{border:1px solid color-mix(in srgb, var(--border), transparent 20%)}}.chapter code{background:var(--code-bg);color:var(--accent);font:500 .88em var(--font-mono);border-radius:5px;padding:.12em .34em}.chapter a{color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.chapter a{-webkit-text-decoration-color:color-mix(in srgb, var(--accent), transparent 52%);-webkit-text-decoration-color:color-mix(in srgb, var(--accent), transparent 52%);text-decoration-color:color-mix(in srgb, var(--accent), transparent 52%)}}.chapter a{text-underline-offset:4px}.chapter figure{text-align:center;border:1px solid var(--border);background:var(--bg-elev);border-radius:18px;margin:36px 0;padding:20px;overflow:hidden}.chapter figure svg{max-width:100%;height:auto;margin-inline:auto}.chapter figcaption{color:var(--text-soft);margin-top:12px;font-size:.76rem;line-height:1.5}.note{border:1px solid var(--accent-2);margin:32px 0}@supports (color:color-mix(in lab, red, red)){.note{border:1px solid color-mix(in srgb, var(--accent-2), transparent 60%)}}.note{border-left:4px solid var(--accent-2);background:var(--note-bg);border-radius:4px 14px 14px 4px}@supports (color:color-mix(in lab, red, red)){.note{background:color-mix(in srgb, var(--note-bg), transparent 15%)}}.note{color:var(--text);padding:18px 22px;font-size:.92rem;line-height:1.68}.note strong{color:var(--accent-2)}.truth{border-collapse:separate;border-spacing:0;border:1px solid var(--border);width:100%;font:500 .84rem var(--font-mono);border-radius:12px;overflow:hidden}.truth th{border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--code-bg);font:600 .7rem var(--font-sans);text-transform:uppercase;padding:11px 13px}.truth td{border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center;padding:10px 13px}.truth td.one{color:var(--ok);font-weight:700}.truth td.zero{color:var(--off)}.truth tr:last-child td{border-bottom:0}.truth th:last-child,.truth td:last-child{border-right:0}.demo{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow-panel);border-radius:20px;margin:40px 0;padding:clamp(20px,4vw,32px)}.demo h3{color:var(--text);font:600 clamp(1.2rem, 2vw, 1.35rem) / 1.25 var(--font-display);letter-spacing:-.025em;margin:0 0 6px}.demo-hint{color:var(--text-soft);font:400 .8125rem / 1.55 var(--font-sans);margin:0 0 20px}.demo-hint a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.demo-row{flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0;display:flex}.demo-label{min-width:6.5rem;color:var(--text-soft);font:600 .7rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.bit,.action{cursor:pointer}.bit{border:1px solid var(--border);background:var(--code-bg);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--off);font:600 .95rem var(--font-mono);user-select:none;border-radius:10px;place-items:center;transition:transform .15s,border-color .15s,background .15s,color .15s,box-shadow .15s;display:inline-grid}.bit:hover,.action:hover{border-color:var(--accent);transform:translateY(-1px)}.bit[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast);box-shadow:0 0 0 4px var(--accent-soft)}.action{border:1px solid var(--border);background:var(--bg-elev);min-width:44px;min-height:44px;color:var(--text);font:600 .8125rem var(--font-mono);user-select:none;border-radius:10px;justify-content:center;align-items:center;padding:0 16px;transition:transform .15s,border-color .15s,background .15s,color .15s;display:inline-flex}.action-primary{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.readout{border:1px solid var(--border);align-items:center;gap:6px;min-height:44px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.readout{border:1px solid color-mix(in srgb, var(--border), transparent 15%)}}.readout{background:var(--code-bg);font:500 .78rem var(--font-mono);color:var(--text);border-radius:8px;padding:6px 12px}.readout .on,.on{color:var(--ok);font-weight:700}.readout .off,.off{color:var(--off);font-weight:500}.cpu-box{border:1px solid var(--border);background:var(--bg-elev);border-radius:12px}@supports (color:color-mix(in lab, red, red)){.cpu-box{background:color-mix(in srgb, var(--bg-elev), transparent 8%)}}.cpu-box{padding:15px}.cpu-box h4{color:var(--text-soft);font:600 .6rem var(--font-mono);letter-spacing:.09em;text-transform:uppercase;margin:0 0 10px}.reg-line{font:500 .77rem var(--font-mono);justify-content:space-between;gap:12px;padding:5px 0;display:flex}.reg-val{color:var(--accent);font-weight:700}.mem-row{font:500 .73rem var(--font-mono);border-radius:5px;gap:11px;padding:2px 7px;display:flex}.mem-row .addr{min-width:1.6rem;color:var(--text-soft)}.mem-row.current{background:var(--accent-soft);outline:1px solid var(--accent)}.cpu-log{border-left:3px solid var(--signal);background:var(--code-bg);min-height:2.7rem;font:500 .72rem / 1.5 var(--font-mono);border-radius:4px 8px 8px 4px;margin-top:15px;padding:11px 13px}.chapter-pager{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:80px;padding-top:24px;display:grid}.chapter-pager>span:empty{display:block}.chapter-pager a{border:1px solid var(--border);background:var(--bg-elev);min-height:78px;color:var(--text);border-radius:14px;flex-direction:column;justify-content:center;padding:14px 18px;text-decoration:none;transition:border-color .16s,background .16s,transform .16s,box-shadow .16s;display:flex}.chapter-pager a:last-child{text-align:right;align-items:flex-end}.chapter-pager a:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px);box-shadow:0 4px 16px #0000000d}.chapter-pager span{color:var(--text-soft);font:600 .6rem var(--font-mono);letter-spacing:.09em;text-transform:uppercase}.chapter-pager strong{font:600 .84rem / 1.3 var(--font-sans);margin-top:5px}.mosfet-diagram{user-select:none;width:100%;max-width:580px;height:auto;margin:0 auto;display:block}.mosfet-diagram text{font-family:var(--font-sans)}.mosfet-substrate{fill:var(--mosfet-p-bg);stroke:var(--mosfet-p-border)}.mosfet-substrate-text{fill:var(--mosfet-p-text)}.mosfet-well{fill:var(--mosfet-n-bg);stroke:var(--mosfet-n-border)}.mosfet-well-text{fill:var(--mosfet-n-text)}.mosfet-oxide{fill:var(--mosfet-oxide);stroke:var(--mosfet-oxide-border)}.mosfet-gate{transition:fill .18s,stroke .18s}.mosfet-channel{transition:opacity .18s}.mosfet-bulb{transition:fill .18s,stroke .18s,filter .18s}.mosfet-wire{transition:stroke .18s}}@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.isolate{isolation:isolate}.\!m-0{margin:0!important}.m-0{margin:0}.my-4{margin-block:calc(var(--spacing) * 4)}.my-6{margin-block:calc(var(--spacing) * 6)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.\!mb-0{margin-bottom:0!important}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.min-h-12{min-height:calc(var(--spacing) * 12)}.w-full{width:100%}.min-w-0{min-width:0}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.justify-between{justify-content:space-between}.\!gap-2{gap:calc(var(--spacing) * 2)!important}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}.overflow-x-auto{overflow-x:auto}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-line{border-color:var(--border)}.bg-accent-soft{background-color:var(--accent-soft)}.bg-bg{background-color:var(--bg)}.bg-code{background-color:var(--code-bg)}.bg-elev{background-color:var(--bg-elev)}.\!p-0{padding:0!important}.p-0{padding:0}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.text-left{text-align:left}.font-mono{font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace}.font-sans{font-family:IBM Plex Sans,Avenir Next,system-ui,sans-serif}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-accent{color:var(--accent)}.text-ink{color:var(--text)}.text-off{color:var(--off)}.text-ok{color:var(--ok)}.text-soft{color:var(--text-soft)}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (width>=40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=64rem){.lg\:grid-cols-\[1fr_2fr_1fr\]{grid-template-columns:1fr 2fr 1fr}}}:root{color-scheme:light;--bg:#f1f4f7;--bg-elev:#fff;--text:#18242f;--text-soft:#566879;--border:#cad3dd;--accent:#3159d8;--accent-soft:#e6ecfc;--accent-contrast:#fff;--accent-2:#a74d27;--ok:#16734e;--off:#566879;--code-bg:#e7edf3;--signal:#a44821;--panel:#fff;--header:#f1f4f7f0;--grid:#18242f0e;--package:#d7dfe7;--package-edge:#a7b5c4;--die:#f6f8fb;--pin:#647789;--note-bg:#f7e9df;--shadow-panel:0 18px 56px #18242f12;--part-control:#188c84;--part-control-contrast:#0b1118;--part-alu:#ca6830;--part-alu-contrast:#0b1118;--part-registers:#586fbf;--part-registers-contrast:#fff;--part-cache:#8056a9;--part-cache-contrast:#fff;--part-clock:#a87e0a;--part-clock-contrast:#0b1118;--part-buses:#b94f61;--part-buses-contrast:#fff;--mosfet-p-bg:#f5e5df;--mosfet-p-border:#e0c2b7;--mosfet-p-text:#8c3e20;--mosfet-n-bg:#dbe6f6;--mosfet-n-border:#a9c3e8;--mosfet-n-text:#1e4b8a;--mosfet-oxide:#cad4df;--mosfet-oxide-border:#99abbd;--mosfet-gate-off:#8292a4;--mosfet-bulb-off:#cbd3dc;--mosfet-bulb-on:#e6a817;--font-sans:"IBM Plex Sans", "Avenir Next", system-ui, sans-serif;--font-display:"Space Grotesk", "Avenir Next", system-ui, sans-serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#101922;--bg-elev:#18242f;--text:#f1f4f7;--text-soft:#a9bacb;--border:#354759;--accent:#a3b8ff;--accent-soft:#233357;--accent-contrast:#101922;--accent-2:#eaaa85;--ok:#83d6ad;--off:#a9bacb;--code-bg:#223140;--signal:#eaaa85;--panel:#18242f;--header:#101922f0;--grid:#f1f4f70e;--package:#334453;--package-edge:#526577;--die:#101922;--pin:#7e93a6;--note-bg:#3a2c27;--shadow-panel:0 18px 56px #0003;--part-control:#67d1c9;--part-control-contrast:#18242f;--part-alu:#efa06a;--part-alu-contrast:#18242f;--part-registers:#91a2ed;--part-registers-contrast:#18242f;--part-cache:#bc91e4;--part-cache-contrast:#18242f;--part-clock:#e2bd52;--part-clock-contrast:#18242f;--part-buses:#e78191;--part-buses-contrast:#18242f;--mosfet-p-bg:#2b1d19;--mosfet-p-border:#4d332b;--mosfet-p-text:#eaaa85;--mosfet-n-bg:#192638;--mosfet-n-border:#294061;--mosfet-n-text:#a3b8ff;--mosfet-oxide:#2d3b48;--mosfet-oxide-border:#415568;--mosfet-gate-off:#526577;--mosfet-bulb-off:#223140;--mosfet-bulb-on:#e2bd52}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1320px){.cpu-workbench{grid-template-columns:235px minmax(440px,1fr) 290px}.parts-panel,.part-dossier{padding:14px}.part-select{grid-template-columns:20px minmax(0,1fr) 28px;gap:6px;min-height:48px;padding:5px 7px}}@media (width<=1120px){.cpu-workbench{grid-template-columns:230px minmax(0,1fr)}.part-dossier{border-top:1px solid var(--border);border-left:0;grid-column:1/-1;grid-template-rows:auto auto auto 1fr;grid-template-columns:70px minmax(200px,.8fr) minmax(240px,1.2fr);column-gap:18px;min-height:auto;padding:16px;display:grid}.dossier-topline{grid-column:1/-1}.dossier-symbol{grid-area:2/1/5;margin-top:8px}.dossier-category,.part-dossier h2,.dossier-tagline{grid-column:2}.dossier-description,.dossier-facts,.signal-note,.dossier-link{grid-column:3}.dossier-description{grid-row:2;margin-top:14px}.dossier-facts{grid-row:3;margin-top:10px}.signal-note{grid-row:4;align-self:start;margin-top:10px}.dossier-link{grid-area:4/2;align-self:end;margin-top:12px}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.course-grid:before{display:none}}@media (width<=860px){.site-header-inner{grid-template-columns:minmax(0,1fr) auto;gap:0 16px;width:min(100% - 32px,1440px);min-height:64px}.site-nav{order:3;grid-column:1/-1;justify-self:start;margin:0 0 6px -10px}.header-simulator{grid-area:1/2}.explorer-masthead,.section-heading-grid{grid-template-columns:1fr;gap:16px;margin-bottom:16px}.explorer-masthead h1{font-size:clamp(1.85rem,6.5vw,2.75rem)}.cpu-workbench{flex-direction:column;min-height:0;display:flex}.cpu-stage{order:1;width:100%;min-height:0}.cpu-canvas{height:clamp(320px,46svh,420px);min-height:300px}.parts-panel{border-right:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);order:2;padding:16px}.parts-list{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.part-select{min-height:56px;padding:6px 8px}.scale-note{display:none}.part-dossier{border-top:0;border-left:0;flex-direction:column;order:3;min-height:auto;padding:16px;display:flex}.dossier-description,.dossier-facts,.signal-note,.dossier-link{grid-area:auto;width:100%}.dossier-symbol{grid-area:auto;margin-top:14px}.dossier-link{margin-top:16px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chapter-hero{grid-template-columns:72px minmax(0,1fr);gap:18px}.chapter{max-width:none}}@media (width<=640px){.cpu-canvas{height:calc(clamp(320px,46svh,420px) + 80px);min-height:400px}}@media (width<=620px){.site-header-inner{gap:0 6px;width:min(100% - 24px,1440px);min-height:56px;padding-block:6px}.site-brand-copy small{display:none}.site-brand{gap:8px}.site-brand-copy strong{font-size:.9375rem}.header-simulator{gap:6px;min-height:44px;padding-inline:8px;font-size:.75rem;display:inline-flex}.simulator-label-full{display:none}.simulator-label-mobile{display:inline}.site-nav{justify-content:space-between;width:100%;margin:0 0 4px}.site-nav a{text-align:center;flex:1;min-height:44px;padding-inline:4px;font-size:.8125rem}.cpu-explorer,.home-section,.site-footer,.chapter-shell{width:min(100% - 20px,1560px)}.explorer-meta span{font-size:.56rem}.cpu-workbench{border-radius:18px}.cpu-stage{order:1}.stage-header{flex-direction:column;align-items:flex-start;gap:6px;padding:10px 12px}.stage-legend{justify-content:space-between;width:100%}.cpu-canvas{height:calc(clamp(300px,44svh,380px) + 80px);min-height:380px}.cpu-map{min-height:0}.canvas-tip{display:none}.cycle-console{grid-template-columns:1fr;gap:8px;padding:8px 10px}.cycle-actions{grid-template-columns:1fr 1fr 38px;gap:6px;display:grid}.cycle-actions button{white-space:nowrap;text-overflow:ellipsis;min-height:38px;padding:0 8px;font-size:.62rem;overflow:hidden}.cycle-actions .cycle-reset{width:38px;padding:0}.phase-selector{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.phase-selector button{text-align:center;grid-template-columns:1fr;gap:2px;padding:6px 4px}.phase-selector button>span{grid-row:auto;font-size:.52rem}.phase-selector strong{font-size:.66rem}.phase-selector small{display:none}.parts-panel{order:2;padding:12px 14px}.parts-list{grid-template-columns:repeat(2,1fr);gap:6px}.part-number{display:none}.part-select{grid-template-columns:minmax(0,1fr) 28px;gap:6px;min-height:52px;padding:6px 8px}.part-abbr{width:28px;height:28px;font-size:.52rem}.part-dossier{order:3;padding:14px 16px}.course-grid,.projects-grid{grid-template-columns:1fr}.course-card{min-height:215px}.chapter-hero{display:block}.chapter-index{flex-direction:row;justify-content:flex-start;gap:9px;margin-bottom:18px}.chapter-index strong{font-size:1.6rem}.chapter-index i{background:linear-gradient(to right, var(--accent) 0%, var(--accent) var(--chapter-progress), var(--border) var(--chapter-progress), var(--border) 100%);border-radius:999px;width:80px;height:2px;margin:0}.chapter h2:before{display:none}.chapter-pager{grid-template-columns:1fr;gap:10px}.chapter-pager>span:empty{display:none}.chapter-pager a:last-child{text-align:left;align-items:flex-start}.site-footer{grid-template-columns:1fr;gap:16px;width:min(100% - 24px,1440px);margin-top:64px}.footer-links{flex-wrap:wrap}}@media (width<=380px){.cpu-explorer,.home-section,.site-footer{width:calc(100% - 16px)}.site-nav a{padding-inline:2px;font-size:.75rem}.parts-list{grid-template-columns:1fr;gap:5px}.part-number{display:block}.part-select{grid-template-columns:20px minmax(0,1fr) 28px}.cycle-actions{grid-template-columns:1fr 1fr 34px}.cycle-actions button{padding:0 4px;font-size:.58rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.signal-pulse{display:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
