/* Arc & Ledger course foundations, implemented from the shared Figma library.
   Fonts are self-hosted under their accompanying SIL Open Font License notices. */
@font-face{font-family:'Libre Baskerville';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/libre-baskerville-variable.ttf') format('truetype');}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('fonts/inter-variable.ttf') format('truetype');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/ibm-plex-mono-regular.ttf') format('truetype');}
:root{
  --accent:#20394b;--accent-dark:#162c3c;--ink-primary:#20394b;--ink:#202c36;--text-primary:#202c36;
  --gold:#78643d;--gold-text:#78643d;--brass:#78643d;--muted:#606a6d;--line:#d5d5cb;
  --soft:#e8edeb;--selected:#e8edeb;--bg:#f6f4ee;--paper:#f6f4ee;--raised:#fcfbf7;
  --pass:#315d4d;--fail:#8b4239;--focus:#356c91;
  --font-display:'Libre Baskerville',Georgia,'Times New Roman',serif;
  --font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-mono:'IBM Plex Mono','Courier New',monospace;
  --shadow-card:none;--radius:2px;
}
[hidden]{display:none!important;}
html{scroll-padding-top:28px;}
body{overflow-wrap:break-word;font-family:var(--font-body);}
a,button,input,summary{-webkit-tap-highlight-color:transparent;}
a{text-underline-offset:3px;text-decoration-thickness:1px;}
:focus-visible{outline:3px solid var(--focus);outline-offset:4px;}
button,input,select,textarea{font-family:inherit;}
button,a,input,summary{touch-action:manipulation;}
input{accent-color:var(--accent);}
button:disabled{cursor:default;}
.skip-link{position:fixed;top:10px;left:16px;transform:translateY(-180%);opacity:0;z-index:200;background:var(--accent);color:#fff;padding:12px 18px;border-radius:2px;text-decoration:none;font-weight:600;}
.skip-link:focus{transform:translateY(0);opacity:1;outline:3px solid var(--focus);outline-offset:3px;}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}
::selection{background:#ddd7c7;color:var(--accent);}
.legal-links{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:18px;line-height:1.6;}
.legal-links a{text-underline-offset:3px;}

/* One navigation system serves lessons, the workspace and account pages. */
.course-site-header{background:var(--paper);border-bottom:1px solid var(--line);color:var(--accent);}
.course-header-inner{max-width:1440px;margin:0 auto;padding:24px 64px;display:flex;align-items:center;gap:32px;min-height:88px;}
.course-wordmark{display:inline-flex;flex-direction:column;gap:4px;color:var(--accent);text-decoration:none;flex-shrink:0;}
.course-wordmark span{font-family:var(--font-display);font-size:25px;line-height:1.2;letter-spacing:-.6px;}
.course-wordmark small{font-size:8px;line-height:1.4;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);}
.course-primary-nav{display:flex;align-items:center;justify-content:space-between;gap:28px;flex:1;margin-left:clamp(16px,7vw,100px);font-size:13px;line-height:1.5;}
.course-nav-links,.course-account-links{display:flex;align-items:center;gap:28px;}
.course-nav-links a,.course-account-links a,.course-account-links button{color:var(--muted);font:inherit;text-decoration:none;}
.course-nav-links a[aria-current='page']{color:var(--accent);font-weight:600;}
.course-nav-links a:hover,.course-account-links a:hover,.course-account-links button:hover{text-decoration:underline;color:var(--accent);}
.course-account-links{gap:12px;flex-shrink:0;}
.course-account-links button{padding:12px 0;min-height:48px;background:none;border:0;cursor:pointer;}
.course-account-links a{display:inline-flex;align-items:center;min-height:48px;}
.course-account-label{color:var(--accent);font-size:12px;}
.course-menu{display:none;background:transparent;border:1px solid var(--line);border-radius:2px;min-width:78px;min-height:48px;padding:10px 14px;color:var(--accent);font:600 13px/1.5 var(--font-body);cursor:pointer;margin-left:auto;}
.course-status-strip{background:var(--selected);color:var(--accent);border-bottom:1px solid var(--line);}
.course-status-inner{max-width:1440px;margin:0 auto;padding:9px 64px;display:flex;align-items:center;justify-content:space-between;gap:16px;font:10px/1.5 var(--font-mono);letter-spacing:.2px;}
.course-status-label{display:flex;gap:8px;align-items:center;}
.course-status-language{font:11px/1.5 var(--font-body);color:var(--muted);flex-shrink:0;}
.course-status-label a{color:inherit;}
.course-status-strip.is-error{background:#f4eae6;}
.course-status-strip button{background:none;border:0;font:inherit;text-decoration:underline;padding:0;color:inherit;cursor:pointer;}
@media(max-width:1050px){.course-header-inner{padding:20px 32px;gap:24px;}.course-primary-nav{margin-left:auto;gap:24px;}.course-nav-links{gap:18px;}.course-status-inner{padding-left:32px;padding-right:32px;}.course-account-label{display:none;}}
@media(max-width:760px){
  .course-header-inner{padding:16px 24px;min-height:88px;flex-wrap:wrap;gap:0;}
  .course-wordmark span{font-size:23px;}.course-menu{display:block;}
  .course-primary-nav{flex-basis:100%;width:100%;margin:16px 0 0;display:none;border-top:1px solid var(--line);padding-top:12px;}
  .course-primary-nav.is-open{display:block;}
  .course-nav-links,.course-account-links{display:flex;flex-direction:column;align-items:stretch;gap:0;}
  .course-nav-links a,.course-account-links a,.course-account-links button{display:flex;align-items:center;min-height:48px;padding:12px 0;text-align:left;}
  .course-account-label{display:block;margin:12px 0 0;}.course-account-links{border-top:1px solid var(--line);margin-top:8px;padding-top:8px;}
  .course-status-inner{padding:9px 24px;align-items:flex-start;}.course-status-label{align-items:flex-start;}
}
@media(max-width:359px){.course-header-inner{padding-left:16px;padding-right:16px;}.course-status-inner{padding-left:16px;padding-right:16px;}.course-status-language{display:none;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important;}*,*::before,*::after{transition:none!important;animation:none!important;}}
@media print{.skip-link,.course-site-header,.course-status-strip{display:none!important;}}
