
/* ═══════════════════════════════════════════════════════════
   UWIAEE — Internal Document Stylesheet
   Classification: UWIAEE-INTERNAL
   This file is not part of the Athenaeum archive system.
   ═══════════════════════════════════════════════════════════ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --u-black:  #111111;
  --u-dark:   #1e1e1e;
  --u-red:    #aa0000;
  --u-amber:  #c47a00;
  --u-paper:  #f6f2e8;
  --u-rule:   #c0b8a8;
  --u-text:   #1a1a1a;
  --u-muted:  #555;
  --u-mono:   'Courier New', Courier, monospace;
}

html {
  background: #1e1e1e;
  min-height: 100vh;
}

/* Body is transparent full-width — the paper lives on u-doc */
body {
  background: transparent;
  color: var(--u-text);
  font-family: var(--u-mono);
  font-size: 14px;
  line-height: 1.65;
  min-height: 100vh;
}

/* ── Classification bars ─────────────────────────────────── */
.u-classbar {
  background: var(--u-black);
  color: #ddd;
  font-family: var(--u-mono);
  font-size: 11px;
  letter-spacing: .08em;
  padding: 7px 24px;
  display: flex;
  align-items: center;
  gap: 14px;
  user-select: none;
  /* Align with the cabinet+doc pair */
  max-width: calc(188px + 4px + 860px); /* cabinet + border + doc */
  margin: 0 auto;
  width: 100%;
}
.u-classbar-org   { font-weight: bold; color: #fff; flex-shrink: 0; }
.u-classbar-sep   { color: #444; font-size: 9px; flex-shrink: 0; }
.u-classbar-text  { flex: 1; color: #bbb; }
.u-classbar-id    { color: #666; flex-shrink: 0; font-size: 10px; }

/* ── Athenaeum intrusion notice ──────────────────────────── */
.u-intrusion {
  background: #fff8dc;
  border-bottom: 2px solid #d4a800;
  color: #6b4d00;
  font-family: var(--u-mono);
  font-size: 11px;
  padding: 8px 24px;
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: calc(188px + 4px + 860px);
  margin: 0 auto;
  width: 100%;
}
.u-intrusion-icon { flex-shrink: 0; opacity: .7; }
.u-intrusion-text { flex: 1; }
.u-intrusion a {
  color: #4a3400;
  font-weight: bold;
  text-decoration: none;
  white-space: nowrap;
}
.u-intrusion a:hover { text-decoration: underline; }

/* ── Document body wrapper ───────────────────────────────── */
.u-doc {
  background: var(--u-paper);
  max-width: 860px;
  width: 100%;
  min-width: 0;
  flex: 1;
  padding: 44px 52px 64px;
  box-shadow: 0 0 60px rgba(0,0,0,.6);
}

/* ── Letterhead ──────────────────────────────────────────── */
.u-letterhead {
  text-align: center;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--u-dark);
  padding: 4px 0 2px;
}
.u-letterhead-rule {
  border: none;
  border-top: 2px solid var(--u-black);
  margin: 10px 0 2px;
}
.u-doc-stamp {
  text-align: center;
  font-size: 11px;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--u-red);
  padding: 2px 0 20px;
}

/* ── Article body ────────────────────────────────────────── */
.u-body { padding-top: 8px; }

.u-body h1 {
  font-size: 18px;
  font-weight: bold;
  letter-spacing: .03em;
  margin: 0 0 6px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--u-black);
  color: var(--u-dark);
}

.u-body h2 {
  font-size: 13px;
  font-weight: bold;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin: 36px 0 12px;
  padding-bottom: 5px;
  border-bottom: 1px solid var(--u-rule);
  color: var(--u-dark);
}
.u-body h2::before {
  content: '■ ';
  color: var(--u-red);
  font-size: 9px;
  vertical-align: 2px;
}

.u-body h3 {
  font-size: 13px;
  font-weight: bold;
  letter-spacing: .06em;
  margin: 24px 0 8px;
  color: var(--u-dark);
}
.u-body h3::before {
  content: '▸ ';
  color: var(--u-muted);
}

.u-body p { margin: 0 0 12px; }

.u-body hr {
  border: none;
  border-top: 1px solid var(--u-rule);
  margin: 28px 0;
}

.u-body strong { color: var(--u-dark); }
.u-body em     { font-style: italic; color: var(--u-muted); }

/* Lists */
.u-body ul,
.u-body ol { margin: 0 0 14px 26px; }
.u-body li { margin-bottom: 5px; }
.u-body ol li::marker { font-weight: bold; color: var(--u-dark); }

/* Blockquotes = formal inset / acknowledgment text */
.u-body blockquote {
  margin: 16px 0;
  padding: 14px 18px;
  border-left: 4px solid var(--u-black);
  background: rgba(0,0,0,.04);
  font-style: italic;
  color: var(--u-muted);
}
.u-body blockquote p { margin: 0; }

/* Links within the document */
.u-body a {
  color: var(--u-dark);
  text-decoration: underline;
}
.u-body a:hover { color: var(--u-red); }

/* ── Callout / footnote boxes ────────────────────────────── */
.callout {
  border-left: 4px solid var(--u-rule);
  background: rgba(0,0,0,.04);
  padding: 14px 18px;
  margin: 24px 0;
}
.callout-title {
  font-family: var(--u-mono);
  font-size: 10px;
  font-weight: bold;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--u-muted);
  margin-bottom: 10px;
}
.callout-body p {
  margin: 0 0 10px;
  font-family: var(--u-mono);
}
.callout-body p:last-child { margin-bottom: 0; }

/* Warning — amber, used for footnotes / addenda */
.callout-warning {
  border-left-color: #a07000;
  background: rgba(160, 110, 0, .06);
}
.callout-warning .callout-title { color: #7a5000; }

/* Note */
.callout-note {
  border-left-color: #4a6080;
  background: rgba(74, 96, 128, .06);
}
.callout-note .callout-title { color: #4a6080; }

/* Info */
.callout-info {
  border-left-color: var(--u-rule);
  background: rgba(0,0,0,.03);
}

/* ── Inline TOC ──────────────────────────────────────────── */
.u-toc {
  border: 1px solid var(--u-rule);
  padding: 16px 22px;
  margin: 20px 0 32px;
  background: rgba(0,0,0,.03);
}
.u-toc-title {
  font-size: 11px;
  font-weight: bold;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--u-muted);
  margin-bottom: 10px;
}
.u-toc ol { margin: 0 0 0 18px; }
.u-toc li { margin-bottom: 3px; font-size: 13px; }
.u-toc a  { color: var(--u-dark); text-decoration: none; }
.u-toc a:hover { text-decoration: underline; }
.u-toc ol ol { margin-top: 2px; font-size: 12px; color: var(--u-muted); }

/* ── Layout: cabinet floats left outside the paper ──────── */
.u-layout {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  min-height: calc(100vh - 106px); /* minus two classbars + intrusion */
}

/* ── Filing Cabinet ──────────────────────────────────────── */
.u-cabinet {
  width: 188px;
  flex-shrink: 0;
  background: #2a1d0e;
  border-right: 4px solid #160e04;
  position: sticky;
  top: 0;
  max-height: 100vh;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #5a4020 #2a1d0e;
}

/* Cabinet head — the face of the drawer */
.u-cab-head {
  background: #160e04;
  padding: 14px 12px 12px;
  border-bottom: 3px solid #0a0602;
  text-align: center;
  user-select: none;
}

/* Physical drawer pull — three horizontal bars */
.u-cab-handle {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  margin-bottom: 10px;
}
.u-cab-handle span {
  display: block;
  width: 40px;
  height: 5px;
  background: linear-gradient(to bottom, #9a8060, #7a6040);
  border-radius: 2px;
  border: 1px solid #4a3420;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 2px rgba(0,0,0,.4);
}

.u-cab-title {
  font-family: var(--u-mono);
  font-size: 9px;
  font-weight: bold;
  letter-spacing: .22em;
  color: #c8a44a;
  text-transform: uppercase;
  line-height: 1.3;
}
.u-cab-subtitle {
  font-family: var(--u-mono);
  font-size: 7px;
  letter-spacing: .14em;
  color: #5a4828;
  margin-top: 3px;
  text-transform: uppercase;
}

/* Drawer divider label */
.u-cab-drawer {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px 6px;
  border-bottom: 1px solid #3a2810;
  margin-bottom: 6px;
}
.u-cab-drawer-bar {
  flex: 1;
  height: 1px;
  background: #4a3418;
}
.u-cab-drawer-label {
  font-family: var(--u-mono);
  font-size: 8px;
  font-weight: bold;
  letter-spacing: .2em;
  color: #7a6038;
  text-transform: uppercase;
  white-space: nowrap;
}

/* Files area */
.u-cab-files {
  padding: 4px 10px 16px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

/* Individual file / folder */
.u-file {
  display: block;
  text-decoration: none;
  position: relative;
}

/* Folder tab — the little sticking-up label */
.u-file-tab {
  display: inline-block;
  background: #a87c3a;
  color: #1e0e00;
  font-family: var(--u-mono);
  font-size: 8px;
  font-weight: bold;
  letter-spacing: .1em;
  padding: 2px 8px;
  border-radius: 3px 5px 0 0;
  margin-left: 8px;
  border: 1px solid #7a5820;
  border-bottom: none;
  position: relative;
  z-index: 1;
}

/* Folder body — the main visible part */
.u-file-body {
  background: #c09050;
  color: #1e0e00;
  font-family: var(--u-mono);
  font-size: 10px;
  line-height: 1.35;
  padding: 6px 10px 8px;
  border: 1px solid #8a6428;
  border-radius: 0 3px 3px 3px;
  border-left: 3px solid #6a4818;
  word-break: break-word;
  hyphens: auto;
  transition: background .12s, border-left-color .12s;
}

.u-file:hover .u-file-tab  { background: #c89848; }
.u-file:hover .u-file-body {
  background: #cca060;
  border-left-color: #9a6828;
}

/* Active file — "pulled forward" out of the drawer */
.u-file-active .u-file-tab {
  background: #e8d498;
  color: #100600;
  border-color: #b09040;
}
.u-file-active .u-file-body {
  background: #f4ecd0;
  color: #100600;
  border-left: 3px solid #c07820;
  font-weight: bold;
}
/* Small arrow pointing right, indicating open file */
.u-file-active::before {
  content: '▶';
  position: absolute;
  left: -14px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 8px;
  color: #c07820;
  line-height: 1;
}

/* DM-only file entries in the cabinet */
.u-file-dm .u-file-body { color: var(--u-amber); }
.u-file-lock {
  font-size: 10px;
  opacity: .65;
  margin-left: 5px;
  vertical-align: middle;
}

/* ── Entry animation ─────────────────────────────────────── */
@keyframes doc-appear {
  from { opacity: 0; }
  to   { opacity: 1; }
}
.u-wrapper { animation: doc-appear .3s ease forwards; }

/* ── Mobile: pop-out drawer ──────────────────────────────── */
/* Toggle tab — hidden on desktop */
.u-cab-toggle {
  display: none;
}

/* Backdrop — hidden until opened */
.u-cab-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.55);
  z-index: 298;
  cursor: pointer;
}
.u-cab-backdrop.u-open { display: block; }

@media (max-width: 1060px) {
  /* Doc fills full width */
  .u-layout { display: block; }
  .u-doc    { max-width: 100%; box-shadow: none; }

  /* Cabinet slides in from left as fixed overlay */
  .u-cabinet {
    position: fixed;
    top: 0;
    left: -210px;
    height: 100vh;
    width: 200px;
    max-height: 100vh;
    z-index: 299;
    transition: left .25s ease, box-shadow .25s ease;
    overflow-y: auto;
    /* override sticky from desktop */
    align-self: unset;
  }
  .u-cabinet.u-open {
    left: 0;
    box-shadow: 6px 0 30px rgba(0,0,0,.6);
  }

  /* Folder-tab toggle button — sticks out from left edge */
  .u-cab-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    z-index: 297;
    background: #2a1d0e;
    color: #c8a44a;
    border: 1px solid #5a4020;
    border-left: none;
    border-radius: 0 5px 5px 0;
    padding: 14px 7px;
    cursor: pointer;
    font-family: var(--u-mono);
    font-size: 10px;
    font-weight: bold;
    letter-spacing: .18em;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    gap: 6px;
    box-shadow: 3px 0 10px rgba(0,0,0,.4);
    transition: background .15s, color .15s;
    user-select: none;
  }
  .u-cab-toggle:hover {
    background: #3a2a14;
    color: #e8c060;
  }
  .u-cab-toggle-icon {
    writing-mode: horizontal-tb;
    font-size: 14px;
    line-height: 1;
  }

  /* Align classbars/intrusion to full width on mobile */
  .u-classbar,
  .u-intrusion { max-width: 100%; }
}
.u-site-legal{text-align:center;font-size:10px;color:#556;padding:12px 20px 24px;max-width:860px;margin:0 auto;line-height:1.7;opacity:.6;font-family:'Courier New',monospace}
