/* equyx — Learning */

.learn-pane .d-h { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: var(--amber, #ffa028); margin-bottom: 8px; }
.learn-pane .d-h .muted { text-transform: none; letter-spacing: 0; }
.learn-pane .mt { margin-top: 16px; }
.ln-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 18px; margin-bottom: 16px; }
.ln-sec { border: 1px solid var(--border); border-radius: 4px; padding: 12px 14px; background: var(--panel-2, #0c0a07); margin-bottom: 14px; font-size: 12px; }
.ln-lesson { border-left: 3px solid var(--border-strong, #3a3020); padding: 8px 10px; margin-bottom: 8px; cursor: pointer; }
.ln-lesson.high { border-left-color: var(--bad); }
.ln-lesson.medium { border-left-color: var(--amber, #ffa028); }
.ln-lesson.low { border-left-color: var(--good); }
.ln-lesson.resolved { border-left-color: var(--border); opacity: .75; cursor: default; }
.ln-top { display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; }
.ln-sev { font-size: 10.5px; text-transform: uppercase; letter-spacing: .08em; padding: 1px 6px; border-radius: 3px; border: 1px solid var(--border); color: var(--muted); }
.ln-sev.high { color: var(--bad-ink, var(--bad)); border-color: var(--bad); }
.ln-sev.medium { color: var(--amber, #ffa028); border-color: var(--warn); }
.ln-sev.low { color: var(--good-ink, var(--good)); border-color: var(--good); }
.ln-plain { color: var(--muted); font-size: 11.5px; line-height: 1.5; margin-top: 3px; }
.ln-action { color: var(--text-2); font-size: 11.5px; margin-top: 3px; }
.ln-detail { font-size: 10.5px; background: var(--panel-3, #080705); padding: 8px 10px; border-radius: 3px; overflow: auto; max-height: 240px; color: var(--muted); margin: 6px 0 0; }
.ln-none { color: var(--muted); font-size: 12px; line-height: 1.65; }
.ln-none b { color: var(--text); }
.ln-none i { color: var(--text-2); font-style: normal; }
.ln-resolved { margin-top: 10px; font-size: 11.5px; color: var(--muted); }
.ln-resolved summary { cursor: pointer; }
.ln-table { width: 100%; border-collapse: collapse; font-size: 11.5px; }
.ln-table td, .ln-table th { padding: 5px 8px 5px 0; border-bottom: 1px solid var(--border); vertical-align: top; text-align: left; line-height: 1.5; }
.ln-table th { font-size: 10.5px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.ln-table td:first-child { color: var(--muted); white-space: nowrap; width: 140px; }
.ln-table tr.on td { color: var(--text); }
.ln-table tr.on td:first-child { color: var(--good-ink, var(--good)); }
.ln-table tr.bad td { color: var(--bad-ink, var(--bad)); }
.ln-log td:first-child { width: 160px; }
.ln-bounds { font-size: 10.5px; margin-top: 8px; line-height: 1.5; }

/* A GRID COLUMN OF `1fr` IS minmax(auto, 1fr): it cannot shrink below the
   min-content of what is in it, and the lessons hold nowrap table cells and
   a <pre> of JSON. Measured on a 360px and a 375px phone: the column held
   366px, the document became 385px wide, and every tap on the pane landed
   a few pixels off. minmax(0, 1fr) lets the column take the viewport; the
   section then scrolls its own wide content sideways instead of the page. */
@media (max-width: 1100px) { .ln-grid { grid-template-columns: minmax(0, 1fr); } }
.ln-sec { min-width: 0; overflow-x: auto; }
.ln-detail { white-space: pre-wrap; overflow-wrap: anywhere; }

/* The fold head is the section heading; the heading inside the body is hidden
   so nothing is said twice. The decision log - thousands of pixels of table on
   a phone - starts closed everywhere; its head carries the entry count. */
.ln-sec .fold { border: 0; }
.ln-sec .fold-body > .d-h:first-child { display: none; }
.ln-sec .fold-body { padding-top: 6px; }
