:root {
  --blue: #49698e;
  --blue-dark: #263f5a;
  --blue-faint: #dbe3ea;
  --paper: #eee5c8;
  --paper-light: #f7f0d9;
  --ink: #283039;
  --muted: #69706f;
  --gold: #aa8d4d;
  --red: #9c5547;
  font-family: Arial, Helvetica, sans-serif;
  color: var(--ink);
  background: #d3d9dd;
}

* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: linear-gradient(110deg, #cbd3d8, #e2e4df 50%, #c7d0d6); }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
a { color: #244f78; }

.masthead { background: var(--blue); color: #f6f1df; border-bottom: 5px solid var(--gold); box-shadow: 0 3px 0 rgba(38,63,90,.22); }
.masthead-inner { position: relative; max-width: 1450px; margin: auto; padding: 1.2rem 2rem 1.5rem; text-align: center; }
.issuer { margin: 0 0 -.4rem; font: 700 .78rem/1 Palatino, Georgia, serif; letter-spacing: .28em; }.issuer a { color: inherit; text-decoration: none; }
.masthead h1 { margin: 0; font: 700 clamp(3rem, 10vw, 7rem)/.95 Palatino, Georgia, serif; letter-spacing: .16em; color: #f6f1df; text-shadow: 1px 1px 0 rgba(38,63,90,.28), 2px 2px 0 rgba(246,241,223,.16); }
.subtitle { margin: .7rem 0 0; font: .78rem Palatino, Georgia, serif; letter-spacing: .13em; text-transform: uppercase; }
.draft-stamp { position: absolute; right: 2rem; bottom: 1rem; max-width: 260px; border: 1px solid #e2c879; color: #f3d88c; padding: .3rem .46rem; transform: rotate(-3deg); font: 700 .68rem/1.2 Arial, Helvetica, sans-serif; letter-spacing: .08em; }

.layout { display: grid; grid-template-columns: minmax(0, 1fr) 190px; gap: 2rem; max-width: 1450px; margin: auto; padding: 2rem; align-items: start; }
main { min-width: 0; max-width: 920px; }
.routing-rail, .notebook-rail { min-width: 0; background-color: var(--paper); background-image: linear-gradient(rgba(73,105,142,.22) 1px, transparent 1px), linear-gradient(90deg, rgba(73,105,142,.16) 1px, transparent 1px), repeating-linear-gradient(0deg, rgba(100,78,35,.055) 0, rgba(100,78,35,.055) 1px, transparent 1px, transparent 5px); background-size: 100% 25px, 62px 100%, auto; box-shadow: 0 8px 18px rgba(43,54,56,.12); }
.routing-rail { display: flex; flex-direction: column; min-height: 300px; }
.site-rail { border: 1px solid var(--blue); font-family: "Courier New", Courier, monospace; }
.report-desk { display: grid; grid-template-columns: 245px minmax(0, 1fr); align-items: start; margin-top: 1.2rem; border: 1px solid var(--blue); position: relative; background-color: var(--paper); background-image: repeating-linear-gradient(0deg, rgba(100,78,35,.055) 0, rgba(100,78,35,.055) 1px, transparent 1px, transparent 5px); }
.report-desk .site-rail { border: 0; border-right: 1px solid var(--blue); box-shadow: none; }
.report-desk .report-sheet { box-shadow: none; }
.notebook-rail { background-color: rgba(238,229,200,.7); background-size: auto, auto, auto; }
.rail-block { padding: 1.2rem .9rem; border-bottom: 1px solid rgba(73,105,142,.6); background: rgba(238,229,200,.72); }
.rail-label, .field-label, .rail-footer { font-family: "Courier New", Courier, monospace; letter-spacing: .09em; text-transform: uppercase; }
.rail-label { margin: 0; color: var(--blue-dark); font: 700 .82rem "Courier New", Courier, monospace; }
.rail-caption { margin: .25rem 0 .9rem; color: var(--muted); font-size: .74rem; line-height: 1.4; }
.rail-footer { display: flex; justify-content: space-between; gap: .5rem; margin-top: auto; padding: .8rem .7rem; color: var(--muted); font-size: .63rem; }
.report-link { display: block; width: 100%; text-align: left; border: 0; border-top: 1px solid rgba(73,105,142,.22); padding: .75rem .25rem; background: transparent; color: var(--ink); font: 400 .78rem/1.35 "Courier New", Courier, monospace; overflow-wrap: anywhere; }
.report-link:hover, .report-link.active { background: rgba(255,250,224,.62); color: var(--blue-dark); }
.report-link.active { border-left: 3px solid var(--gold); padding-left: .45rem; }
.report-link small { display: block; margin: .3rem 0 0 1.1rem; color: var(--muted); font-size: .66rem; letter-spacing: .08em; }
.status-dot { display: inline-block; width: .55rem; height: .55rem; margin: 0 .5rem 0 .15rem; border-radius: 50%; background: var(--muted); }.status-dot.ready { background: #66826c; }.status-dot.in-progress { background: var(--gold); }.status-dot.queued { background: var(--blue); }
#pinned:not(:empty) { margin-bottom: 1rem; }
#announcements p { margin: .75rem 0; font: .76rem/1.45 "Courier New", Courier, monospace; }
#announcements a { color: var(--blue-dark); }

.public-warning { margin: 0 0 1.2rem; color: #465054; font: .78rem/1.55 Arial, Helvetica, sans-serif; }
.paper-panel, .report-sheet { background-color: var(--paper); background-image: repeating-linear-gradient(0deg, rgba(100,78,35,.075) 0, rgba(100,78,35,.075) 1px, transparent 1px, transparent 5px), linear-gradient(97deg, rgba(118,92,42,.08), transparent 18%, rgba(255,255,238,.14) 52%, rgba(118,92,42,.05)); box-shadow: 0 12px 28px rgba(43,54,56,.16); }
.routing-form { padding: clamp(1.2rem, 3vw, 2.4rem); border: 1px solid var(--gold); font-family: "Courier New", Courier, monospace; }
.form-heading { border-bottom: 1px solid rgba(73,105,142,.45); padding-bottom: 1rem; margin-bottom: 1.3rem; }
.form-heading h2 { margin: 0; color: var(--blue-dark); font: 700 1.8rem/1.1 "Courier New", Courier, monospace; letter-spacing: -.04em; text-transform: uppercase; }
.helper { margin: .55rem 0 0; color: var(--muted); font-size: .86rem; line-height: 1.45; }
.form-grid, .secondary-inquiry-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(210px, .8fr); gap: 1rem; }
.secondary-inquiry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 1rem; }
.inquiry-column-right { display: flex; flex-direction: column; gap: 1rem; }
.field { display: block; border: 1px solid rgba(73,105,142,.65); border-left: 4px solid var(--blue); padding: .7rem .8rem .85rem; background: rgba(247,240,217,.38); }
.field-next-question { min-height: 0; }
.next-question-content { margin: .35rem 0 0; color: var(--muted); font: 400 .86rem/1.45 "Courier New", Courier, monospace; white-space: pre-wrap; overflow-wrap: anywhere; min-height: 2.2em; }
.field-label { display: flex; gap: .65rem; align-items: baseline; color: var(--blue-dark); font: 700 .84rem "Courier New", Courier, monospace; }
.field-label b { color: var(--gold); font-size: .76rem; }.field-note { display: block; min-height: 2.1em; margin: .35rem 0 .55rem; color: var(--muted); font-size: .78rem; line-height: 1.35; }
.queue-active-badge { font-family: "Courier New", Courier, monospace; font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; background: rgba(34, 139, 34, .15); color: #1b6320; border: 1px solid rgba(34, 139, 34, .35); padding: .1rem .45rem; border-radius: 3px; margin-left: auto; }
textarea, input, select { width: 100%; border: 1px solid #9a9a87; border-radius: 0; padding: .72rem; background: rgba(255,252,238,.65); color: var(--ink); font-family: "Courier New", Courier, monospace; }
textarea { resize: vertical; line-height: 1.45; } textarea:focus, input:focus, select:focus { outline: 2px solid var(--gold); outline-offset: 2px; }
.question-button, .field-button { margin-top: .7rem; }.question-button { display: block; }.retrieve-button { display: block; margin-left: auto; }
.research-feedback { display: block; margin-top: .6rem; font-size: .85rem; line-height: 1.4; }.research-feedback:empty { display: none; }
.primary-button, .secondary-button, .text-button { border: 1px solid var(--blue-dark); padding: .7rem 1rem; }
.primary-button { background: var(--blue-dark); color: #fff; }.primary-button span { color: #e4c979; margin-left: .6rem; }.secondary-button { background: var(--blue-faint); color: var(--blue-dark); }.text-button { border-color: transparent; background: transparent; color: var(--blue-dark); text-decoration: underline; }
.pipeline-updates { margin-top: 1.15rem; border-top: 1px solid rgba(73,105,142,.28); padding-top: .7rem; color: var(--muted); }
.active-jobs-bar { display: flex; gap: .5rem; margin-bottom: .65rem; overflow-x: auto; padding-bottom: .25rem; }
.active-job-tab { display: inline-flex; align-items: center; gap: .45rem; background: var(--paper-light); border: 1px solid rgba(73,105,142,.35); padding: .3rem .6rem; border-radius: 3px; font: 500 .78rem "Courier New", Courier, monospace; color: var(--blue-dark); cursor: pointer; transition: all .15s ease; white-space: nowrap; }
.active-job-tab:hover { background: #fff; border-color: var(--blue-dark); }
.active-job-tab.active { background: var(--blue-dark); color: #fff; border-color: var(--blue-dark); }
.active-job-tab.active .tab-badge { background: rgba(255,255,255,.2); color: #fff; }
.active-job-tab .tab-badge { font-size: .68rem; padding: .1rem .35rem; border-radius: 2px; background: rgba(73,105,142,.15); color: var(--blue-dark); text-transform: uppercase; font-weight: 700; }
.pipeline-updates #status { margin: .15rem 0 .45rem; color: var(--muted); }
.pipeline-updates #status:not(:empty) { padding: 0; border: 0; background: transparent; }
.pipeline-updates #expanded-question, .pipeline-updates #viability { color: var(--muted); }
.pipeline-note { margin: .65rem 0 0; color: var(--muted); font: 400 .9rem/1.45 "Courier New", Courier, monospace; }

fieldset { min-width: 0; margin: 0; border: 0; padding: 0; } fieldset:disabled { opacity: .62; } fieldset:disabled button { cursor: not-allowed; }
.account-card { margin: 1.2rem 0; border: 1px solid rgba(73,105,142,.55); border-left: 4px solid var(--blue); padding: 1rem 1.2rem; background: rgba(238,229,200,.58); font-family: Arial, Helvetica, sans-serif; }
.auth-tabs { display: flex; gap: .5rem; margin-bottom: 1rem; border-bottom: 1px solid rgba(73,105,142,.35); padding-bottom: .6rem; }
.auth-tabs button { background: var(--blue-faint); color: var(--blue-dark); border: 1px solid rgba(73,105,142,.55); padding: .5rem 1.2rem; font-weight: 700; }.auth-tabs button.active, .auth-tabs button[aria-selected="true"] { background: var(--blue-dark); color: #fff; }
.account-card label { display: block; margin: .6rem 0; color: var(--blue-dark); font-size: .78rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }.account-card input { margin-top: .3rem; font-size: .9rem; }.auth-note { color: var(--muted); font-size: .78rem; line-height: 1.45; }.auth-aux { margin: .8rem 0 0; }
#auth-status { display: none; margin: .8rem 0; padding: .6rem .8rem; font-size: .88rem; line-height: 1.45; } #auth-status:not(:empty) { display: block; }.auth-error { background: #f8dfdc; color: #792f28; border: 1px solid #c77b6e; }.auth-success { background: #dfe9dd; color: #35573d; border: 1px solid #8aa58c; }
#session-box { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; } #identity { margin: 0; color: var(--blue-dark); font-weight: 700; }.session-actions { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.btn-secondary { background: var(--blue-faint); color: var(--blue-dark); border: 1px solid rgba(73,105,142,.55); }.btn-link { background: transparent; color: #244f78; border: 0; padding: 0; font: .95rem Arial, sans-serif; text-decoration: underline; }
#status { min-height: 0; white-space: pre-wrap; margin: 1rem 0; font: .9rem/1.5 "Courier New", Courier, monospace; } #status:not(:empty) { padding: .8rem 1rem; border: 1px solid rgba(73,105,142,.35); background: rgba(219,227,234,.5); }.status-error { background: #f8dfdc !important; color: #792f28; border-color: #c77b6e !important; }.status-info { color: #31404b; }
#expanded-question, #viability { white-space: pre-wrap; color: #465054; font: .86rem/1.5 "Courier New", Courier, monospace; }.report-toolbar { display: flex; gap: .75rem; margin: 1.2rem 0; flex-wrap: wrap; }

.report-sheet { position: relative; min-width: 0; padding: 0 clamp(1.3rem, 4vw, 3.2rem) 1rem; overflow: hidden; background-color: var(--paper-light); background-image: repeating-linear-gradient(0deg, rgba(100,78,35,.045) 0, rgba(100,78,35,.045) 1px, transparent 1px, transparent 5px), linear-gradient(92deg, rgba(123,99,50,.07), transparent 14%, transparent 84%, rgba(123,99,50,.06)); }
.document-letterhead { position: relative; margin: 0 calc(clamp(1.3rem, 4vw, 3.2rem) * -1) 1.1rem; padding: .65rem clamp(1.3rem, 4vw, 3.2rem) 0; }
.letterhead-top-row { display: grid; grid-template-columns: minmax(110px, 160px) 1fr minmax(130px, 165px); align-items: end; gap: .75rem; min-height: 88px; }
.letterhead-stamp { align-self: start; justify-self: start; margin-top: .35rem; padding: .22rem .48rem; border: 1px solid #656b6c; color: #656b6c; font: 700 .58rem/1.2 Arial, Helvetica, sans-serif; letter-spacing: .06em; text-transform: uppercase; transform: rotate(-2.8deg); transform-origin: left center; white-space: nowrap; user-select: none; }
.letterhead-center { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; text-align: center; }
.issuing-office { display: block; font: 700 .66rem/1.2 "Courier New", Courier, monospace; letter-spacing: .14em; text-transform: uppercase; color: #303638; margin-bottom: .22rem; }
.narabot-airgram { margin: 0 auto; width: max-content; max-width: 100%; font-family: "URW Bookman", "Bookman Old Style", "ITC Bookman", "TeX Gyre Bonum", Georgia, "Times New Roman", serif; font-weight: 700; font-size: clamp(2.3rem, 4.8vw, 3.35rem); line-height: .95; letter-spacing: .08em; color: var(--paper-light); -webkit-text-stroke: 1.3px #535b5c; text-shadow: 0.4px 0.4px 0 #535b5c, 0.8px 0.8px 0 #535b5c, 1.2px 1.2px 0 #535b5c, 1.6px 1.6px 0 #535b5c, 2.0px 2.0px 0 #535b5c; user-select: none; }
.letterhead-corner-box { position: relative; border-left: 1px solid var(--blue); padding: .2rem 0 .2rem .55rem; display: flex; flex-direction: column; justify-content: flex-start; min-height: 86px; overflow: visible; }
.corner-box-label { font: 700 .58rem/1.35 Arial, Helvetica, sans-serif; color: #303638; letter-spacing: .04em; text-transform: uppercase; }
.corner-box-divider { height: 1px; background: rgba(73, 105, 142, 0.35); margin: .22rem .35rem .18rem 0; }
.corner-box-sub { font: 400 .48rem/1.2 Arial, Helvetica, sans-serif; color: #656b6c; letter-spacing: .06em; text-transform: uppercase; }
.corner-signature-wrap { position: relative; margin-top: -.35rem; margin-left: .25rem; width: 140px; height: 48px; pointer-events: none; user-select: none; }
.corner-signature { position: absolute; top: 4px; left: 10px; font-family: "Z003", "Apple Chancery", "ITC Zapf Chancery", "Brush Script MT", "Segoe Script", cursive; font-style: italic; font-size: 1.85rem; font-weight: 500; color: #1b3558; transform: rotate(-7deg); white-space: nowrap; letter-spacing: .01em; line-height: 1; }
.corner-flourish { position: absolute; top: 22px; left: -2px; width: 142px; height: 26px; transform: rotate(-7deg); }
.letterhead-rule { width: 100%; border-top: 1px solid var(--blue); margin: .35rem 0 .5rem; }
.letterhead-bottom-row { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .22rem; margin-bottom: .6rem; }
.handling-copy { display: block; font: 700 .68rem Arial, Helvetica, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--blue-dark); }
.document-classification { margin: 0; text-align: center; color: #303638; font: 700 .64rem/1.3 Arial, Helvetica, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.template-caption, .template-label { font-family: Arial, Helvetica, sans-serif; font-weight: 700; text-transform: uppercase; letter-spacing: .055em; color: #343a3d; }
.message-header { margin: 0 0 1.25rem; }.message-row { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: .25rem; align-items: baseline; padding: .22rem 0; }.date-row { grid-template-columns: 78px max-content; justify-content: end; margin-bottom: .12rem; }.template-label { font-size: .68rem; }.typed-value { min-width: 0; overflow-wrap: anywhere; color: #303638; font: 400 .82rem/1.3 "Courier New", Courier, monospace; letter-spacing: -.015em; }.message-row strong.typed-value { font-weight: 400; }
.report-body { position: relative; border-left: 1px solid transparent; padding: .5rem 1.2rem 2.8rem; }.report-body::before, .report-body::after { position: absolute; color: #3e4a4d; font: 1.35rem/1 "Courier New", monospace; }.report-body::before { content: "⌜"; left: 0; top: 0; }.report-body::after { content: "⌟"; right: 0; bottom: 1.8rem; }
.report-body p, .report-output-body p { position: relative; max-width: 760px; margin: 0 0 1rem; color: #303638; font: inherit; }.report-body p { padding-left: 2.4rem; }.paragraph-number { position: absolute; left: 0; width: 1.8rem; text-align: right; }
.report-output-body { position: relative; padding: .75rem 1.2rem 3.2rem; color: #303638; font: 400 .86rem/1.34 "Courier New", Courier, monospace; }
.report-output-body > *, .report-output-body * { font-family: "Courier New", Courier, monospace; font-size: inherit; line-height: inherit; }
.report-output-body h1, .report-output-body h2, .report-output-body h3, .report-output-body h4 { margin: 1.15rem 0 .65rem; color: inherit; font-size: inherit; font-weight: 700; text-transform: none; }
.report-output-body h1:first-child, .report-output-body h2:first-child, .report-output-body h3:first-child, .report-output-body h4:first-child { margin-top: 0; }
.report-output-body blockquote { margin: 1.2rem 0; border-left: 2px solid var(--gold); padding-left: 1rem; }
.report-output-body pre { max-width: 100%; white-space: pre-wrap; overflow-wrap: anywhere; }
.report-output-body a { color: inherit; }
.report-endorsements { display: flex; justify-content: flex-end; align-items: flex-end; gap: 1.5rem; margin: 1.5rem 0 .65rem; padding-right: .5rem; }
.routing-pencil { color: rgba(45,75,131,.62); font: italic .95rem "Segoe Script", "Bradley Hand", cursive; transform: rotate(-8deg); margin-bottom: .45rem; user-select: none; }
.archive-stamp { display: grid; width: 128px; border: 1.6px solid rgba(83,93,91,.68); padding: .28rem .5rem; color: rgba(83,93,91,.78); text-align: center; transform: rotate(-1.5deg); font: .62rem/1.35 Arial, Helvetica, sans-serif; letter-spacing: .05em; user-select: none; }
.archive-stamp b { font-size: .74rem; font-weight: 700; }
.report-footer { display: grid; grid-template-columns: 1fr 2fr 1fr; align-items: center; text-align: center; border-top: 1px solid var(--blue); border-bottom: 1px solid var(--blue); margin-top: .9rem; margin-bottom: .6rem; padding: .38rem 0; color: #303638; font: 700 .68rem/1.2 "Courier New", Courier, monospace; letter-spacing: .06em; }
.report-footer > span:not(:last-child) { border-right: 1px solid var(--blue); }
.empty-report-message { padding: 2rem 1.2rem 3rem; color: var(--muted); font: .9rem/1.5 "Courier New", Courier, monospace; }
.site-footer { max-width: 980px; margin: 0 auto; padding: 1.5rem 2rem 2.4rem; text-align: center; color: #3f494d; font: 400 .86rem/1.65 Arial, Helvetica, sans-serif; }

@media (max-width: 1050px) { .layout { grid-template-columns: minmax(0, 1fr); }.notebook-rail { grid-column: 1; }.notebook-rail .rail-block { min-height: 0; } }
@media (max-width: 760px) {
  .layout { grid-template-columns: 1fr; padding: 1rem; }.notebook-rail { grid-column: auto; order: 2; }.layout main { order: 1; }.masthead-inner { padding: 1rem 1rem 1.25rem; }.draft-stamp { position: static; display: inline-block; margin-top: .8rem; }
  .form-grid, .secondary-inquiry-grid, .report-desk { grid-template-columns: 1fr; }.secondary-inquiry-grid { margin-top: 1rem; }.report-desk .site-rail { border-right: 0; border-bottom: 1px solid var(--blue); }.message-row { grid-template-columns: 68px minmax(0, 1fr); }.date-row { grid-template-columns: 68px max-content; }
  .report-footer { grid-template-columns: 1fr; gap: .35rem; border-bottom: 0; padding: .4rem 0; margin-bottom: 1.5rem; }
  .report-footer > span:not(:last-child) { border-right: 0; border-bottom: 1px solid rgba(73, 105, 142, 0.35); padding-bottom: .35rem; }
  .report-endorsements { justify-content: center; gap: 1rem; }
  .letterhead-top-row { grid-template-columns: 1fr; justify-items: center; gap: .7rem; }
  .letterhead-stamp { justify-self: center; transform: rotate(-1.5deg); }
  .letterhead-corner-box { border-left: 0; border-top: 1px solid rgba(73, 105, 142, 0.35); padding-left: 0; padding-top: .4rem; align-items: center; text-align: center; width: 100%; max-width: 240px; min-height: 0; }
  .corner-box-divider { width: 100%; margin-right: 0; }
  .corner-signature-wrap { margin-left: 0; }
  .narabot-airgram { font-size: clamp(2rem, 9.5vw, 3rem); }
}
@media (max-width: 430px) { .layout { padding: .6rem; }.routing-form { padding: 1rem; }.action-row { display: grid; }.action-row > * { width: 100%; }.report-sheet { padding: 0 1rem 1rem; }.document-letterhead { margin-left: -1rem; margin-right: -1rem; padding-left: 1rem; padding-right: 1rem; }.site-footer { padding-left: 1rem; padding-right: 1rem; } }
