.memory-lesson{background:radial-gradient(circle at 80% 12%,#4bccff14,#0000 26%),radial-gradient(circle at 16% 82%,#9dff3a1a,#0000 28%),#030604}.memory-observe-workspace,.stage-workspace{grid-template-columns:minmax(360px,.83fr) minmax(520px,1.17fr);gap:16px;display:grid}.memory-kernel-code{align-content:center;min-height:210px}.memory-wait-state{background:#050806;border:1px solid #273129;margin:0 18px 18px;padding:13px 14px}.memory-wait-state span{color:#6f7c72;font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;font-size:7px}.memory-wait-state i{background:#182019;height:3px;margin-top:9px;display:block;overflow:hidden}.memory-wait-state i b{background:#ffb25f;height:100%;transition:width 70ms linear;display:block;box-shadow:0 0 10px #ffb25f73}.memory-wait-state--running{border-color:#ffb25f6b;animation:.72s ease-in-out infinite memory-stall}.memory-wait-state--done i b{background:var(--green)}.memory-map-panel,.coalesced-map-panel{padding-bottom:16px}.memory-map{grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;margin:16px;display:grid}.memory-lane{opacity:.25;background:#323e3414;border:1px solid #7d947f21;grid-template-columns:1fr auto;align-content:center;gap:3px;min-height:49px;padding:6px;transition:opacity .12s,border-color .12s,background .12s;display:grid}.memory-lane b,.memory-lane i,.memory-lane small{font-family:var(--font-geist-mono), monospace;font-size:6px;font-style:normal;font-weight:500}.memory-lane b{color:#9ba79d}.memory-lane i{color:var(--green);text-align:right}.memory-lane small{color:#59655b;grid-column:1/-1}.memory-lane.is-active{opacity:1;animation-delay:var(--lane-delay);background:#ffb25f0b;border-color:#ffb25f5c}.memory-map--contiguous .memory-lane.is-active{background:#9dff3a13;border-color:#9dff3a6e}.memory-map--offset .memory-lane:last-child{background:#ffb25f1a;border-color:#ffb25f}.memory-metrics{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;display:grid}.memory-metrics>div{border:1px solid var(--line);background:#070d09b3;align-content:center;gap:6px;min-height:68px;padding:12px 15px;display:grid}.memory-metrics span{color:#657168;font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;font-size:7px}.memory-metrics strong{color:var(--green);font-family:var(--font-geist-mono), monospace;font-size:14px;font-weight:500}.memory-metrics .is-stalled strong{color:#ffb25f}.coalesce-workspace{grid-template-columns:minmax(330px,.68fr) minmax(560px,1.32fr);gap:16px;display:grid}.access-patterns{border:1px solid var(--line);background:#070d09c2;align-content:start;gap:8px;padding:18px;display:grid}.access-patterns>span,.storage-config>span{color:var(--green);font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;margin-bottom:3px;font-size:8px}.access-patterns button{color:#7e8a80;cursor:pointer;text-align:left;background:#050806;border:1px solid #273129;gap:5px;min-height:88px;padding:12px;display:grid}.access-patterns button small{color:#69756c;font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;font-size:6px}.access-patterns button code{color:#c3ccc4;font-family:var(--font-geist-mono), monospace;font-size:11px}.access-patterns button i{color:#5d685f;font-family:var(--font-geist-mono), monospace;font-size:7px;font-style:normal}.access-patterns button.is-selected{border-color:var(--green);background:#9dff3a0f}.access-patterns button.is-selected code,.access-patterns button.is-selected i{color:var(--green)}:is(.access-patterns button:focus-visible,.storage-config button:focus-visible){outline-offset:2px;outline:2px solid #fff}.region-summary{background:#050806;border:1px solid #253027;justify-content:space-between;align-items:center;margin:0 16px;padding:12px 14px;display:flex}.region-summary span{color:#69756b;font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;font-size:7px}.region-summary strong{color:var(--green);font-family:var(--font-geist-mono), monospace;font-size:20px;font-weight:500}.coalesce-feedback{border:1px solid var(--line);background:#070d09bf;grid-template-columns:1fr auto;align-items:center;gap:4px 18px;margin-top:14px;padding:15px 17px;display:grid}.coalesce-feedback p{color:#9ba79d;margin:0;font-size:11px;line-height:1.55}.coalesce-feedback small{color:#566158;grid-column:1;font-size:9px;line-height:1.5}.coalesce-feedback .lesson-button{grid-area:1/2/3}.stage-workspace{grid-template-columns:minmax(420px,.9fr) minmax(460px,1.1fr)}.stencil-panel{padding-bottom:16px}.traffic-comparison{grid-template-columns:1fr 28px 1fr;align-items:center;margin:0 18px;display:grid}.traffic-comparison>div{background:#050806;border:1px solid #263028;gap:4px;min-height:78px;padding:12px;display:grid}.traffic-comparison>i{color:var(--green);text-align:center;font-style:normal}.traffic-comparison span,.traffic-comparison small{color:#626e65;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;font-size:6px}.traffic-comparison strong{color:#ffb25f;font-family:var(--font-geist-mono), monospace;font-size:16px;font-weight:500}.traffic-comparison .is-ready{background:#9dff3a0e;border-color:#9dff3a73}.traffic-comparison .is-ready strong{color:var(--green)}.tile-panel{padding-bottom:16px;overflow:hidden}.memory-source-row,.shared-tile{grid-template-columns:repeat(18,minmax(0,1fr));gap:2px;margin:18px 18px 0;display:grid}.memory-source-row span{color:#58635a;min-height:27px;font-family:var(--font-geist-mono), monospace;border:1px solid #222b24;place-items:center;font-size:5px;display:grid}.tile-flow{justify-content:space-around;align-items:center;height:32px;display:flex}.tile-flow i{background:#9dff3a47;width:1px;height:22px;position:relative}.tile-flow i:after{content:"↓";color:var(--green);font-size:8px;position:absolute;bottom:-5px;left:-4px}.shared-tile{margin-top:0}.shared-tile span{color:#566159;writing-mode:vertical-rl;min-height:46px;font-family:var(--font-geist-mono), monospace;background:#9dff3a06;border:1px solid #9dff3a2e;place-items:center;font-size:4px;transition:background 80ms linear,border-color 80ms linear;display:grid}.shared-tile span:first-child,.shared-tile span:last-child{border-style:dashed}.shared-tile span.is-loaded{border-color:var(--green);color:#071005;background:#9dff3a6b;box-shadow:0 0 8px #9dff3a33}.tile-progress{font-family:var(--font-geist-mono), monospace;justify-content:space-between;margin:11px 18px 0;display:flex}.tile-progress span{color:#69756c;font-size:7px}.tile-progress strong{color:var(--green);font-size:10px;font-weight:500}.storage-config{border:1px solid var(--line);background:#070d09bf;grid-template-columns:1fr auto;gap:12px 18px;margin-top:16px;padding:18px;display:grid}.storage-config>div{grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.storage-config>div button{color:#7d897f;cursor:pointer;text-align:left;background:#050806;border:1px solid #273129;align-content:center;gap:6px;min-height:78px;padding:12px;display:grid}.storage-config button strong{color:#b5c0b7;font-family:var(--font-geist-mono), monospace;font-size:9px;font-weight:500}.storage-config button small{color:#5d685f;font-size:8px;line-height:1.45}.storage-config>div button.is-selected{border-color:var(--green);background:#9dff3a0f}.storage-config>div button.is-selected strong{color:var(--green)}.storage-config>p{color:#ffb25f;align-self:center;margin:0;font-size:10px;line-height:1.55}.storage-config>p.is-correct{color:var(--green)}.storage-config>.lesson-button{align-self:center}.memory-principle code{color:#7ed7ff;background:#4bccff12}@keyframes memory-stall{0%,to{opacity:.65}50%{opacity:1}}@media (max-width:980px){.memory-observe-workspace,.stage-workspace{grid-template-columns:1fr}.coalesce-workspace{grid-template-columns:minmax(280px,.65fr) minmax(420px,1.35fr)}.memory-kernel-code{min-height:0}}@media (max-width:760px){.coalesce-workspace{grid-template-columns:1fr}.memory-map{grid-template-columns:repeat(4,minmax(0,1fr))}.memory-metrics,.coalesce-feedback{grid-template-columns:1fr}.coalesce-feedback small,.coalesce-feedback .lesson-button{grid-area:auto/1}.storage-config{grid-template-columns:1fr}.storage-config>div{grid-column:1;grid-template-columns:1fr}.storage-config>.lesson-button{width:100%}.traffic-comparison{grid-template-columns:1fr}.traffic-comparison>i{place-items:center;min-height:28px;display:grid;transform:rotate(90deg)}.memory-source-row,.shared-tile{gap:1px}.shared-tile span{min-height:36px}}@media (max-width:420px){.memory-map{gap:3px;margin:12px}.memory-lane{min-height:43px;padding:4px}.memory-lane b,.memory-lane i,.memory-lane small{font-size:5px}.access-patterns{padding:13px}.access-patterns button code{font-size:9px}.memory-source-row,.shared-tile{margin-left:12px;margin-right:12px}}@media (prefers-reduced-motion:reduce){.memory-wait-state--running{animation:none}.memory-wait-state i b,.memory-lane,.shared-tile span{transition:none}}
