.academy-trigger {
  order: 6;
  display: grid;
  align-content: center;
  flex: 0 0 108px;
  width: 108px;
  height: 50px;
  padding: 6px 11px;
  border: 0;
  border-right: 1px solid var(--border);
  color: var(--text);
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.academy-trigger span { font-size: 11px; font-weight: 850; text-transform: uppercase; }
.academy-trigger small { margin-top: 3px; color: var(--muted); font-size: 8.8px; font-weight: 750; text-transform: uppercase; }
.academy-trigger:hover,
.academy-trigger:focus-visible { color: var(--green); background: rgba(28, 48, 48, 0.72); box-shadow: inset 0 0 0 1px var(--line-strong); outline: 0; }
.header-visit-counter { order: 7; }

.academy-dialog {
  width: min(1120px, calc(100vw - 28px));
  height: min(790px, calc(100dvh - 28px));
  margin: auto;
  padding: 0;
  border: 1px solid var(--line-strong);
  border-radius: 4px;
  color: var(--text);
  background: #050a0b;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.76);
  overflow: hidden;
}
.academy-dialog::backdrop { background: rgba(0, 0, 0, 0.8); backdrop-filter: blur(3px); }
.academy-dialog[open] { display: grid; grid-template-rows: auto minmax(0, 1fr); }
.academy-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 18px; border-bottom: 1px solid var(--border); background: #071011; }
.academy-head div { min-width: 0; }
.academy-head h2 { margin: 0; font-size: 20.9px; }
.academy-head p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.academy-close { display: grid; place-items: center; flex: 0 0 36px; width: 36px; height: 36px; padding: 0; border: 1px solid var(--border); border-radius: 3px; color: var(--muted); background: transparent; font: 400 25px/1 "Segoe UI", sans-serif; cursor: pointer; }
.academy-close:hover,
.academy-close:focus-visible { color: var(--text); border-color: var(--line-strong); outline: 0; }
.academy-layout { display: grid; grid-template-columns: 310px minmax(0, 1fr); min-height: 0; }
.academy-sidebar { display: grid; grid-template-rows: auto minmax(0, 1fr); min-height: 0; border-right: 1px solid var(--border); background: #03090a; }
.academy-search { width: calc(100% - 24px); height: 34px; margin: 12px; padding: 0 10px; border: 1px solid var(--line); border-radius: 2px; color: var(--text); background: #020707; font-size: 12.1px; outline: 0; }
.academy-search:focus { border-color: var(--green); }
.academy-nav { min-height: 0; padding: 0 7px 10px; overflow-y: auto; scrollbar-color: var(--line-strong) #03090a; }
.academy-nav button { display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: center; gap: 8px; width: 100%; min-height: 50px; padding: 7px 8px; border: 0; border-bottom: 1px solid rgba(52, 73, 74, 0.52); color: var(--text); background: transparent; text-align: left; cursor: pointer; }
.academy-nav button > span { color: var(--green); font: 800 9.9px/1 ui-monospace, Consolas, monospace; }
.academy-nav button strong { display: block; font-size: 12.1px; }
.academy-nav button small { display: block; margin-top: 3px; color: var(--muted); font-size: 8.8px; text-transform: uppercase; }
.academy-nav button:hover,
.academy-nav button.active { background: rgba(28, 48, 48, 0.62); }
.academy-nav button.active { box-shadow: inset 2px 0 0 var(--green); }
.academy-empty { padding: 20px 10px; color: var(--muted); font-size: 12.1px; }
.academy-article { min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-color: var(--line-strong) #050a0b; }
.academy-article-head { padding: 28px 32px 24px; border-bottom: 1px solid var(--border); background: rgba(7, 16, 17, 0.88); }
.academy-article-head > span { color: var(--green); font-size: 9.9px; font-weight: 800; text-transform: uppercase; }
.academy-article-head h2 { margin: 8px 0 10px; font-size: 28.6px; letter-spacing: 0; }
.academy-article-head p { max-width: 760px; margin: 0; color: #aebdbc; font-size: 14.3px; line-height: 1.65; }
.academy-diagram { margin: 18px 32px 0; border: 1px solid var(--border); background: #020707; }
.academy-diagram canvas { display: block; width: 100%; height: 250px; }
.academy-diagram-image { background: #020707; }
.academy-diagram-image-light { background: #fff; }
.academy-diagram-image img { display: block; width: 100%; height: auto; max-height: 430px; object-fit: contain; }
.academy-diagram figcaption { padding: 7px 10px; border-top: 1px solid var(--border); color: #718481; font-size: 8.8px; text-transform: uppercase; }
.academy-lesson-body { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; padding: 10px 32px 26px; }
.academy-lesson-body section { min-width: 0; padding: 19px 0; border-bottom: 1px solid rgba(52, 73, 74, 0.52); }
.academy-lesson-body h3 { margin: 0 0 11px; font-size: 14.3px; text-transform: uppercase; }
.academy-lesson-body ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.academy-lesson-body li { position: relative; padding-left: 16px; color: #aebdbc; font-size: 13.2px; line-height: 1.55; }
.academy-lesson-body li::before { content: ""; position: absolute; top: 8px; left: 0; width: 6px; height: 1px; background: var(--green); }
.academy-rule { grid-column: 1 / -1; display: grid; gap: 7px; margin-top: 20px; padding: 15px 17px; border: 1px solid var(--line-strong); background: rgba(26, 54, 50, 0.28); }
.academy-rule span { color: var(--green); font-size: 8.8px; font-weight: 850; }
.academy-rule strong { font-size: 14.3px; line-height: 1.5; }
.academy-disclaimer { grid-column: 1 / -1; margin: 13px 0 0; color: #718481; font-size: 9.9px; }

@media (max-width: 1050px) {
  .academy-trigger { flex: 0 0 108px; }
}
@media (max-width: 720px) {
  .academy-trigger { grid-column: 2; grid-row: 5; display: flex; align-items: center; justify-content: space-between; width: 100%; height: 44px; padding: 7px 9px; border-top: 1px solid var(--border); border-right: 0; border-left: 1px solid var(--border); }
  .academy-trigger span { font-size: 9.9px; }
  .academy-trigger small { margin: 0; font-size: 7.7px; }
  .constitution-trigger { grid-column: 1; }
  .academy-dialog { width: calc(100vw - 10px); height: calc(100dvh - 10px); }
  .academy-head { padding: 12px; }
  .academy-head h2 { font-size: 18.7px; }
  .academy-layout { display: block; overflow-y: auto; }
  .academy-sidebar { display: block; border-right: 0; border-bottom: 1px solid var(--border); }
  .academy-nav { display: flex; gap: 4px; padding: 0 10px 10px; overflow-x: auto; }
  .academy-nav button { flex: 0 0 190px; min-height: 48px; border: 1px solid var(--border); }
  .academy-nav button.active { box-shadow: inset 0 -2px 0 var(--green); }
  .academy-article { overflow: visible; }
  .academy-article-head { padding: 20px 16px; }
  .academy-article-head h2 { font-size: 24.2px; }
  .academy-diagram { margin: 12px 16px 0; }
  .academy-diagram canvas { height: 220px; }
  .academy-lesson-body { grid-template-columns: minmax(0, 1fr); padding: 6px 16px 22px; }
}
