@font-face{font-family:"DejaVu Sans";src:url("/fonts/DejaVuSans-subset.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"DejaVu Sans";src:url("/fonts/DejaVuSans-Bold-subset.ttf") format("truetype");font-style:normal;font-weight:700 900;font-display:swap}

:root{
  --navy:#172d3a;
  --cream:#f3f0e7;
  --orange:#cf6637;
  --teal:#237d7a;
  --gold:#d9a42b;
  --text:#203242;
  --muted:#66737c;
  --rule:#d8e0de;
  --white:#fff;
  --paper:#f3f0e7;
  --paper-deep:#ebe7dc;
  --ink:#203242;
  --green:#237d7a;
  --green-deep:#172d3a;
  --blue:#237d7a;
  --line:#d8e0de;
  --hairline:#d8e0de;
  --card:#fff;
  --shadow:none;
}

*{box-sizing:border-box}
html{background:var(--cream);color:var(--text);font-family:"DejaVu Sans",Helvetica,Arial,sans-serif}
body{
  margin:0;
  color:var(--text);
  background:var(--cream);
  background-image:none;
  font-family:"DejaVu Sans",Helvetica,Arial,sans-serif;
  font-size:16px;
  line-height:1.5;
}
body *,button,input,textarea,select{font-family:"DejaVu Sans",Helvetica,Arial,sans-serif}
a{color:var(--teal);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--orange)}
h1,h2,h3,h4,h5,h6,strong,b{font-family:"DejaVu Sans",Helvetica,Arial,sans-serif;font-weight:800}
h1,h2,h3{letter-spacing:-.025em}
body h1,body h2,body h3,body h4,body h5,body h6{
  font-family:"DejaVu Sans",Helvetica,Arial,sans-serif!important;
  font-weight:800!important;
}

/* Page headers: the slide-deck's navy title band and firm orange rule. */
body>main>header,
header.jh-engine-header,
.hero,
.course-top,
.topbar{
  color:var(--white);
  background:var(--navy);
  background-image:none;
  border:0;
  border-bottom:6px solid var(--orange);
  border-radius:0;
  box-shadow:none;
  filter:none;
}
body>main>header::after,header.jh-engine-header::after{display:none}
header.jh-engine-header{padding:30px 34px;align-items:end}
header.jh-engine-header h1,
body>main>header h1,
.hero h1{color:var(--white);font-weight:900;line-height:.96;letter-spacing:-.045em}
header.jh-engine-header .eyebrow,
body>main>header .eyebrow,
.hero .eyebrow{color:#cbd6d7;font-weight:900;letter-spacing:.14em}
header.jh-engine-header .system-line,
body>main>header .deck,
body>main>header p,
.hero p{color:#dce4e4}
.brand-line{
  margin:12px 0 0;
  color:#dce4e4!important;
  font-size:.82rem;
  font-weight:800;
}
.brand-line span{color:var(--gold);padding:0 .35rem}

/* Navigation reads as a compact editorial index rather than floating pills. */
.top-knowledge-nav,
body>main>header nav,
.course-nav,
.workspace-tabs,
.tabs{
  color:var(--white);
  background:transparent;
  border:0;
  border-top:1px solid rgba(255,255,255,.2);
  border-radius:0;
  box-shadow:none;
}
.top-knowledge-nav{padding-top:2px}
.top-knowledge-nav a,
body>main>header nav a,
.course-nav a{
  position:relative;
  display:inline-block;
  color:#e4eaea;
  padding:11px 8px 10px;
  border:0;
  border-radius:0;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.055em;
  text-decoration:none;
  text-transform:uppercase;
}
.top-knowledge-nav a:hover,
.top-knowledge-nav a:focus-visible,
.top-knowledge-nav a[aria-current="page"],
body>main>header nav a:hover{color:var(--white);text-decoration:none}
.top-knowledge-nav a[aria-current="page"]::after,
.top-knowledge-nav a.active::after{
  content:"";
  position:absolute;
  left:8px;
  right:8px;
  bottom:-6px;
  height:6px;
  background:var(--orange);
}
.workspace-tabs,.tabs{border-top-color:var(--rule);border-bottom:1px solid var(--rule)}
.workspace-tabs a,.tabs button,.tab,.filter{
  border:0;
  border-right:1px solid var(--rule);
  border-radius:0;
  background:var(--white);
  color:var(--text);
  font-weight:800;
}
.workspace-tabs a[aria-current="page"],.tabs .active,.tab.active,.filter.active{
  color:var(--white);
  background:var(--teal);
}

/* Flat editorial panels, boxes, records, and supporting surfaces. */
.card,.panel,.project-card,.course-panel,.post,.mini,.role,.score,.idea-card,
.extension-card,.treatment,.debate article,.voices div,.source-map,.framework-note,
.guardrail,.prompt,.output,.progress-card,.dropzone,.map-drop,.map-preview,.metadata-note,
.setting-rule,.setting-layout,.summary,.question,.answer,.note,.lens,.reading,
.hero-answer,.study-nav,.flow,.form,.controls,.history,.terms,.news-grid>article,
.intelligence,.weekly-summary .offering,.lead>.status,.lead>.status.engine-console{
  color:var(--text);
  background:var(--white);
  background-image:none;
  border:1px solid var(--rule);
  border-radius:2px;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.card:hover,.project-card:hover,.idea-card:hover,.extension-card:hover{
  border-color:#aebfbd;
  box-shadow:none;
  transform:none;
}
body details,
body [class*="card"],
body [class*="panel"],
body [class*="dialog"],
body [class*="drop"],
body [class*="preview"]{border-radius:2px!important;box-shadow:none}
.card h2,.card h3,.panel h2,.panel h3,.project-card h3,.section h2,.section-title,
.hero-answer h2,.study-nav h2,.idea-card h3,.extension-card h3{color:var(--text);font-family:"DejaVu Sans",Helvetica,Arial,sans-serif;font-weight:800}
.section,.work-group,.academic-hub{border-color:var(--rule)}
.section-label,.eyebrow,.kicker,.project-kicker,.academic-kicker,.work-group-kicker,
.intelligence-kicker,.engine-label,.course-code,.date-label,.ledger-type{
  font-family:"DejaVu Sans",Helvetica,Arial,sans-serif;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.section-label,.kicker,.project-kicker,.academic-kicker,.work-group-kicker,.intelligence-kicker{color:var(--orange)}
.muted,.meta span,.mini p,.role p,.score li,.project-meta,.dialog-message,.state,.msg{color:var(--muted)}

/* Requested category system. */
.priority,.now,.now-panel{border-top:6px solid var(--orange)}
.shipped{border-top:6px solid var(--teal)}
.ideas,.idea-card{border-top-color:var(--gold)}
.open-loops,.loops{border-top:6px solid var(--orange)}
.principles,.principle,.teachback,.mnemonic{
  color:var(--cream);
  background:var(--navy);
  border-color:var(--navy);
}
.principles h2,.principles h3,.principle h2,.principle h3,.teachback h2,.mnemonic h2{color:var(--white)}
.principles p,.principle p,.teachback p{color:#dce4e4}
.awaiting{border-top:6px solid var(--gold)}
.people{border-top:6px solid var(--navy)}
.work-group-reference .card,.academic-card,.course-panel{background:var(--white)}

/* Lists and record rows use ruled bands, matching the question slides. */
#nowList,#awaitingList,#openLoopsList,#shippedList,#peopleList,
.task-list,.project-history,.course-notes,.ledger-list,.entries,.list{
  background:var(--white);
  border-color:var(--rule);
}
#nowList>li,#awaitingList>li,#openLoopsList>li,#shippedList>li,#peopleList>li,
.course-notes li,.ledger-row,.entry,.task-list>li{
  border-color:var(--rule);
  border-radius:0;
  background:var(--white);
  box-shadow:none;
}
#nowList>li:hover,#awaitingList>li:hover,#openLoopsList>li:hover,#shippedList>li:hover,#peopleList>li:hover,
.course-notes li:hover,.ledger-row:hover{background:#f8f6ef;transform:none}
#nowList>li::before,.number,.ledger-date{color:var(--orange);font-family:"DejaVu Sans",Helvetica,Arial,sans-serif;font-weight:900}
.anchor,.quote,.recall,.source-note,.caution{
  border-left:4px solid var(--orange);
  border-radius:0;
  background:#f8f6ef;
  color:var(--text);
  box-shadow:none;
}

/* Forms and editing windows. */
dialog,.dialog-inner,.project-dialog,.quiz-dialog,.source-note-dialog{
  color:var(--text);
  background:var(--cream);
  border:0;
  border-top:6px solid var(--orange);
  border-radius:2px;
  box-shadow:0 18px 60px rgba(23,45,58,.26);
}
dialog::backdrop,.project-dialog::backdrop,.quiz-dialog::backdrop,.source-note-dialog::backdrop{
  background:rgba(23,45,58,.68);
  backdrop-filter:none;
}
.quiz-head,.source-note-head{
  color:var(--white);
  background:var(--navy);
  border-radius:0;
}
.quiz-head h2,.source-note-head h2{color:var(--white);font-family:"DejaVu Sans",Helvetica,Arial,sans-serif;font-weight:800}
label{color:var(--text);font-weight:800}
input,textarea,select,
.command-entry textarea,.inline-quick-preview input,.inline-quick-preview select,.inline-quick-preview textarea,
.project-dialog input,.project-dialog textarea,.project-dialog select{
  color:var(--text);
  background:var(--white);
  border:1px solid #9cabad;
  border-radius:2px;
  box-shadow:none;
}
input::placeholder,textarea::placeholder{color:#7b888f;opacity:1}
input:focus,textarea:focus,select:focus{border-color:var(--teal)}

/* Every action follows the same restrained button grammar. */
button,.button,.dialog-button,.project-button,.text-btn,.quiz-next,.quiz-action,
.command-apply,.command-save,.update-button,.add-button,.academic-count,
.source-note-close,.quiz-head button{
  min-height:38px;
  padding:9px 13px;
  color:var(--text);
  background:var(--white);
  border:1px solid currentColor;
  border-radius:2px;
  box-shadow:none;
  font-family:"DejaVu Sans",Helvetica,Arial,sans-serif;
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.045em;
  text-transform:uppercase;
  cursor:pointer;
}
body button,body .button,body [role="button"]{border-radius:2px!important;box-shadow:none!important}
button:hover,.button:hover,.dialog-button:hover,.project-button:hover,.text-btn:hover,
.quiz-next:hover,.quiz-action:hover,.command-apply:hover,.command-save:hover{
  color:var(--white);
  background:var(--teal);
  border-color:var(--teal);
  transform:none;
}
button.primary,.button.primary,.dialog-button.primary,.project-primary,.quiz-next,
.command-apply,.command-save,.quiz-action:not(.secondary):not(.ghost){
  color:var(--white);
  background:var(--orange);
  border-color:var(--orange);
}
button.primary:hover,.button.primary:hover,.dialog-button.primary:hover,.project-primary:hover,
.quiz-next:hover,.command-apply:hover,.command-save:hover{background:#b9532b;border-color:#b9532b}
button.secondary,.button.secondary,.quiz-action.secondary{color:var(--white);background:var(--navy);border-color:var(--navy)}
button.ghost,.button.ghost,.quiz-action.ghost{color:var(--text);background:transparent;border-color:var(--rule)}
button:disabled,.button:disabled{opacity:.45;cursor:not-allowed}
.engine-row-actions button,.category-head button{
  min-height:0;
  padding:4px 0;
  background:transparent;
  border:0;
  border-bottom:2px solid currentColor;
  border-radius:0;
  color:var(--text);
}
.engine-row-actions button:hover{color:var(--teal);background:transparent}
.intelligence-tab{border:1px solid var(--rule);border-radius:0;background:var(--white);color:var(--text)}
.intelligence-tab.is-active{color:var(--white);background:var(--teal);border-color:var(--teal)}

/* Working-board command area becomes the strong summary block. */
.lead>.status,.lead>.status.engine-console{
  color:var(--white)!important;
  background:var(--navy)!important;
  border-color:var(--navy)!important;
}
.lead>.status .engine-label,.lead>.status.engine-console .engine-label{color:var(--cream)!important}
.lead>.status .date-label,.lead>.status .status-copy,.lead>.status small,
.lead>.status.engine-console .status-copy,.lead>.status.engine-console small{color:#cbd6d7!important}
.command-entry,.lead>.status.engine-console .command-entry{background:transparent;border-color:rgba(255,255,255,.24);border-radius:2px}
.command-entry label,.inline-quick-preview label{color:var(--cream)!important}
.command-file{color:var(--white);background:transparent;border-color:rgba(255,255,255,.45);border-radius:2px}
.command-file:hover{background:rgba(255,255,255,.08)}
.command-file-name{color:#cbd6d7!important}

/* Specialist controls: quizzes, progress, and upload states. */
.flow{gap:1px;padding:1px;background:var(--rule)}
.flow span{border-radius:0;background:var(--white)}
.flow .active{color:var(--white);background:var(--teal)}
.quiz-option{border-color:var(--rule);border-radius:2px;background:var(--white)}
.quiz-option .letter{border-radius:2px;background:#e7edeb}
.quiz-option.correct{border-color:var(--teal);background:#e4f0ed}
.quiz-option.wrong{border-color:var(--orange);background:#f7e7df}
.score-ring{border-color:var(--gold);background:var(--navy)}
.result-grid span{border-radius:0;background:var(--orange)}.result-grid .hit{background:var(--teal)}
.progress .bar,.bar{border-radius:0}.progress .bar span,.bar span{background:var(--teal);border-radius:0}
.dropzone,.map-drop{border-style:dashed}

/* Footer and closing bands. */
footer,.back{
  color:#cbd6d7;
  background:var(--navy);
  border:0;
  border-top:5px solid var(--teal);
  border-radius:0;
  box-shadow:none;
}
footer a,.back{color:var(--white)}

button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{
  outline:3px solid var(--gold);
  outline-offset:3px;
}

@media(max-width:800px){
  body>main,main,.page{width:min(100% - 28px,1180px)}
  header.jh-engine-header,body>main>header,.hero{padding:26px 22px}
  header.jh-engine-header{grid-template-columns:minmax(0,1fr) auto;gap:16px}
  header.jh-engine-header h1,body>main>header h1,.hero h1{font-size:clamp(2.65rem,12vw,4.2rem)}
  .top-knowledge-nav,body>main>header nav{display:flex;flex-wrap:wrap;gap:0}
  .top-knowledge-nav a,body>main>header nav a{padding:10px 7px;font-size:.68rem}
  .lead,.grid,.layout,.board-grid,.project-grid,.course-grid,.work-grid,.answer-grid,.roles,.score-grid,
  .ideas,.debate,.voices,.source-grid,.evidence-grid,.metaphor-grid,.photo-grid,.news-grid{
    grid-template-columns:1fr;
  }
  .study-nav{position:static}
}
@media(max-width:540px){
  body{font-size:16px}
  body>main,main,.page{width:min(100% - 20px,1180px)}
  header.jh-engine-header,body>main>header,.hero{padding:22px 16px}
  .jh-engine-logo{max-width:82px}
  .top-knowledge-nav a,body>main>header nav a{flex:1 1 46%;border-bottom:1px solid rgba(255,255,255,.14)}
  .brand-line{max-width:260px;font-size:.7rem}
  .card,.panel,.project-card,.idea-card,.extension-card,.post,.form,.controls{padding-left:17px;padding-right:17px}
  .dialog-inner,.project-dialog,.quiz-stage,.source-note-body{padding:20px}
  .dialog-actions,.actions,.output-actions{align-items:stretch}
  .dialog-actions button,.actions button,.output-actions button{flex:1 1 42%}
  footer{display:block;padding:20px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Typography lock: legacy pages and injected tools must never reintroduce serif faces. */
:root,
:root body,
:root body *,
:root body *::before,
:root body *::after{
  font-family:"DejaVu Sans",Helvetica,Arial,sans-serif!important;
}
:root body code,
:root body pre,
:root body kbd,
:root body samp,
:root body .record-meta,
:root body .output{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace!important;
}
