/* Academy page */

.narrow-list { max-width: 54rem; }
.greek { font-family: var(--serif); font-style: italic; color: var(--accent); }
.sub-h { margin-top: 2.5rem; }

.statuses { grid-template-columns: repeat(auto-fit, minmax(min(12rem, 100%), 1fr)); margin-top: 1.5rem; }
.statuses .card p { margin: .75rem 0 0; color: var(--ink-2); font-size: .97rem; }
.prov-list { list-style: none; padding: 0; display: grid; gap: .6rem; }
.prov-list .badge { margin-right: .5rem; }

details.item .summary-def { color: var(--ink-2); font-size: .98rem; }
.defs, .props { margin-top: 1.5rem; }
.prop[hidden] { display: none; }
.prop-filter { margin-top: 1.5rem; }
#prop-count { margin: .75rem 0 0; }

/* Postulates */
.post-grid { grid-template-columns: repeat(auto-fit, minmax(min(24rem, 100%), 1fr)); gap: 2rem; margin-top: 1.5rem; }
.posts { list-style: none; padding: 0; margin: 0; display: grid; gap: .75rem; }
.post { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 1rem 1.2rem; }
.post p { margin: 0 0 .4rem; }
.post-e { font-family: var(--serif); font-style: italic; font-size: 1.05rem; }
.post-e .mono { font-style: normal; font-size: .75rem; color: var(--accent); margin-right: .4rem; letter-spacing: .05em; text-transform: uppercase; }
.post-a { color: var(--ink); }

/* Figures */
.fig { background: var(--surface-2); border-radius: var(--r-sm); padding: 1rem; margin: 1rem 0; }
.fig-svg { display: block; width: 100%; max-height: 320px; margin-inline: auto; }
.fig-svg .tri { fill: color-mix(in srgb, var(--accent) 12%, transparent); stroke: var(--ink); stroke-width: 2; stroke-linejoin: round; }
.fig-svg .sq { stroke-width: 1.5; }
.fig-svg .sq-a { fill: color-mix(in srgb, var(--ember) 22%, transparent); stroke: var(--ember); }
.fig-svg .sq-b { fill: color-mix(in srgb, var(--teal) 22%, transparent); stroke: var(--teal); }
.fig-svg .sq-c { fill: color-mix(in srgb, var(--lapis) 18%, transparent); stroke: var(--lapis); }
.fig-svg .circ, .fig-svg .diam { fill: none; stroke: var(--ink-3); stroke-width: 1.5; }
.fig-svg .radius { stroke: var(--ink-3); stroke-dasharray: 4 4; }
.fig-svg polyline.tri { fill: none; }
.fig-svg .right { fill: none; stroke: var(--accent); stroke-width: 2; }
.fig-svg .dot { fill: var(--ink); }
.fig-svg .handle { fill: var(--accent); }
.fig-out { text-align: center; margin: .75rem 0; font-size: .95rem; }
.fig-controls { margin-top: .5rem; }

/* Divided line */
.ladder-grid { display: grid; gap: 2.5rem; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); margin-top: 2rem; align-items: start; }
@media (max-width: 900px) { .ladder-grid { grid-template-columns: minmax(0, 1fr); } }
.rungs { list-style: none; padding: 0; margin: 0; display: grid; gap: .75rem; border-left: 3px solid var(--accent); padding-left: 1.25rem; }
.rung { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 1rem 1.2rem; }
.rung-head { display: flex; gap: .6rem; align-items: baseline; font-size: .9rem; }
.rung-head .mono { font-weight: 700; color: var(--accent); }
.rung h3 { margin: .25rem 0 .4rem; }
.rung p { color: var(--ink-2); margin-bottom: .5rem; }
.loop { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.loop li { display: grid; grid-template-columns: 2.5rem 1fr; gap: .5rem; padding: .5rem 0; border-bottom: 1px solid var(--line); color: var(--ink-2); }
.loop .mono { color: var(--accent); font-weight: 700; }

/* Elenchus */
.el-grid { display: grid; gap: 2rem; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); margin-top: 2rem; align-items: start; }
@media (max-width: 900px) { .el-grid { grid-template-columns: minmax(0, 1fr); } }
.el-form { display: grid; gap: 1.1rem; }
.el-form .btn-row { margin-top: .25rem; }
.form-error { color: var(--bad); font-weight: 600; margin: 0; min-height: 0; }
.form-error:empty { display: none; }
.el-side { display: grid; gap: 1.25rem; }
.worked dl, .dossier dl { margin: 0; }
.worked dt, .dossier dt { font: 650 .75rem/1.2 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); margin-top: .9rem; }
.worked dd, .dossier dd { margin: .25rem 0 0; color: var(--ink-2); }
.dossier { border-top: 1px solid var(--line); padding: .75rem 0; }
.dossier summary { cursor: pointer; font-weight: 600; }
.dossier .badge { margin-right: .35rem; }
.dossier .btn { margin-top: .5rem; }
