.lesson-goals { border-left:2px solid var(--mint); padding:8px 22px; margin:30px 0; background:#06100e; }
.lesson-goals strong { color:var(--mint); }
.pointer-lab { border:1px solid var(--line); background:#030608; margin:35px 0; }
.pointer-toolbar { padding:22px; display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.pointer-toolbar label { font:13px ui-monospace,monospace; color:var(--blue); }
.pointer-toolbar select { min-width:0; max-width:100%; background:#101b23; border:1px solid #415967; color:var(--paper); padding:12px; font:16px system-ui,sans-serif; min-height:44px; }
.pointer-toolbar select:focus-visible { outline:2px solid var(--blue); outline-offset:4px; }
.pointer-refs { padding:0 22px 18px; display:flex; gap:10px; flex-wrap:wrap; }
.pointer-refs span { font:13px/1.6 ui-monospace,monospace; padding:8px 12px; border:1px solid #4a4161; background:#151022; color:var(--purple); overflow-wrap:anywhere; }
.pointer-nodes { padding:0 22px 24px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.memory-node { border:1px solid #3e5361; background:#0a1117; min-width:0; }
.memory-node.referenced { border-color:var(--purple); }
.memory-node h4 { font:13px/1.6 ui-monospace,monospace; margin:0; padding:12px; border-bottom:1px solid #3e5361; color:var(--blue); }
.memory-node p { font:13px/1.7 ui-monospace,monospace; padding:0 12px; overflow-wrap:anywhere; }
.memory-node .next-field { color:var(--mint); border-top:1px solid var(--line); padding-top:12px; }
.pointer-explain { padding:0 22px 22px; border-top:1px solid var(--line); }
.pointer-explain pre { white-space:pre-wrap; overflow-wrap:anywhere; }
.pointer-explain pre code { overflow-wrap:anywhere; }
.pointer-explain p { color:var(--muted); }
.code-class { counter-reset:line; }
.code-class code { display:block; white-space:pre; }
.lesson-table-wrap { max-width:100%; overflow-x:auto; margin:30px 0; }
.lesson-table { border-collapse:collapse; width:100%; min-width:550px; font-size:14px; text-align:left; }
.lesson-table th,.lesson-table td { border-bottom:1px solid var(--line); padding:15px 13px; vertical-align:top; }
.lesson-table th { color:var(--blue); font-weight:500; }
.lesson-table td { color:#b5c1c8; }
.trace-list { padding-left:23px; }
.trace-list li { padding:8px 0; }
.trace-list code { color:var(--mint); }
.lesson-check { border:1px solid var(--line); padding:22px; margin-top:25px; }
.lesson-check summary { font-weight:500; }
.c-download { display:inline-flex; padding:12px 18px; border:1px solid var(--blue); color:var(--blue); margin:18px 0; min-height:44px; }
@media(max-width:850px){.pointer-nodes{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:430px){.pointer-toolbar,.pointer-explain{padding-left:14px;padding-right:14px}.pointer-nodes,.pointer-refs{padding-left:14px;padding-right:14px}.pointer-nodes{grid-template-columns:1fr}.pointer-toolbar select{width:100%}}
