/* Dark hierarchy: brand navy header #0D1B2A, shaded navy rail #091522,
   navy workspace #172738, raised panels #21364C, blue-navy paper #293E54.
   Paper is a lifted blend of brand deep navy and trust blue. Light stays unchanged. */
/* Shared surfaces for the app and server-rendered pages. Brand artwork and
   the permanent navy hero/header bands keep their existing colours. */
:root, :root[data-theme="light"] {
  --bg:#f6f4ef; --panel-bg:#fffefa; --border:#d8d9d5;
  --text-primary:#24313c; --text-secondary:#606b73; --accent:#82620d;
  --atb-paper:#fffefa; --atb-rail:#efeee9;
  --atb-ink:#24313c; --atb-muted:#606b73; --atb-accent:#82620d;
  --statute-marker:#82620d; --margin-ink:#606b73;
}
:root[data-theme="dark"] {
  --bg:#172738; --panel-bg:#21364c; --border:#536b82;
  --text-primary:#eeeae0; --text-secondary:#b7c0c6; --accent:#dfbd62;
  --atb-paper:#293e54; --atb-rail:#091522;
  --atb-ink:#eeeae0; --atb-muted:#b7c0c6; --atb-accent:#dfbd62;
  --statute-marker:#dfbd62; --margin-ink:#b7c0c6;
}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#172738; --panel-bg:#21364c; --border:#536b82;
  --text-primary:#eeeae0; --text-secondary:#b7c0c6; --accent:#dfbd62;
  --atb-paper:#293e54; --atb-rail:#091522;
  --atb-ink:#eeeae0; --atb-muted:#b7c0c6; --atb-accent:#dfbd62;
  --statute-marker:#dfbd62; --margin-ink:#b7c0c6;
}}
.ask-feature-card,.const-cat-card,.const-doc-card,.oath-card,.principle-card,
.legal-term-card,.account-section,.tier-card,.cat-card,.auth-card {
  border-radius:7px; border-color:var(--border); background:var(--panel-bg);
  box-shadow:none;
}
.ask-feature-card:hover,.const-cat-card:hover,.const-doc-card:hover,.cat-card:hover {
  background:var(--panel-bg);border-color:var(--accent);box-shadow:none;
}
.const-cat-card .const-cat-icon,.cat-card .cat-icon {
  background:var(--bg);color:var(--text-secondary);
}
.ask-features,.ask-trust-row,.hero-followup-inner { max-width:1200px; }
.ask-feature-card { padding:18px;column-gap:15px;grid-template-columns:72px minmax(0,1fr); }
.ask-feature-icon { width:72px;height:72px;border-width:1px; }
.ask-trust-row { margin-top:24px;padding-top:24px; }
.const-cat-card,.const-doc-card,.cat-card { padding:18px; }
.hero-followup-inner { padding-top:24px; }
.info-page-body { max-width:790px; }
.info-section p,.info-tool-list li { font-size:16px;line-height:1.75; }
.info-section h2 { font-size:24px; }
.account-section,.tier-card { padding:20px; }
.account-page,.signup-page { padding-top:28px; }
.account-dropdown-menu,.account-dropdown-item {
  background:var(--panel-bg);color:var(--text-primary);
}
:root .account-dropdown-item { color:var(--text-primary); }
:root .account-dropdown-item:hover { background:var(--bg);color:var(--accent); }
.account-dropdown-menu { --panel-bg:var(--atb-paper);--text-primary:var(--atb-ink);--text-secondary:var(--atb-muted);--accent:var(--atb-accent); }
/* Give original text a bounded reading surface and a quiet contents rail. */
.panel-tree,.panel-acts,.browse-rail { background:var(--atb-rail); }
.panel-reader { background:var(--bg);padding:24px;min-width:0; }
#readerContainer-legislation,#readerContainer-constitutional,#treatyReader {
  max-width:850px;margin:0 auto;background:var(--atb-paper);
  border:1px solid var(--border);border-radius:7px;padding:28px 34px;
}
.act-masthead,.reader-header,.section-toolbar,.prov-list,.reader-actions,[id^="histNote-"] {
  margin-left:0;margin-right:0;
}
.act-masthead-title { font-size:25px;line-height:1.35; }
.reader-header h2 { font-size:23px;line-height:1.45;text-wrap:pretty; }
.reader-secno { font-size:29px;line-height:1.25; }
.reader-header.has-secno { gap:12px; }
.reader-rule { margin:17px 0 24px; }
.reader-rule::after { display:none; }
.atb-full-heading { margin-top:12px;font-size:14px; }
.atb-full-heading summary { cursor:pointer;color:var(--accent);padding:5px 0; }
.atb-full-heading p { font:17px/1.7 var(--font-statute);margin:12px 0 0; }
.prov-block { grid-template-columns:minmax(0,1fr);gap:0;margin-bottom:30px; }
.prov-text { font-size:18px;line-height:1.85; }
.prov-text > span + span { margin-top:12px; }
.prov-margin { margin:16px 0 0 34px;background:var(--bg);padding:13px 16px; }
.prov-margin.ghost { background:transparent;border-left:0;padding:0; }
.prov-margin.ghost .margin-note-label { display:none; }
.margin-translate-btn { font-size:13px;font-style:normal;color:var(--accent);padding:7px 0;text-decoration:underline;text-underline-offset:3px; }
.margin-note-label { font-size:11px; }
.margin-note-text { font-size:14px;line-height:1.7;font-style:normal; }
.prov-margin-stack { margin-top:14px; }
.prov-margin-stack .prov-margin { margin-top:0; }
.reader-actions { flex-wrap:wrap;gap:9px; }
.tree-item.active,.tree-group.active { border-color:var(--accent); }
.reader-sticky { background:var(--atb-rail); }
.answer-content { font-size:16px;line-height:1.75; }
/* Guide pages use the same compact cards and reading measure. */
.atb-learn .learn-body { max-width:790px; }
.atb-learn .learn-body p { line-height:1.8; }
.atb-learn .cat-row { grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:14px; }
.atb-learn .ours,.atb-learn blockquote.quote { border-radius:7px;padding:17px 20px 8px; }
.atb-learn .cat-icon { background:var(--bg);color:var(--text-secondary); }
/* Legal text is unchanged; only its shell follows the app. */
body.atb-legal { max-width:none;padding:0;margin:0;background:var(--bg);color:var(--text-primary);font:16px/1.8 Georgia,serif; }
.atb-legal-header { background:#0d1b2a;color:#f7f2e8;padding:20px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap; }
.atb-legal-header a { color:#f7f2e8;text-decoration:none;font-size:23px; }
.atb-legal-header a:last-child { color:#dfbd62;font:14px Arial,sans-serif; }
.atb-legal-paper { max-width:790px;margin:28px auto;padding:30px 35px;background:var(--atb-paper);border:1px solid var(--border);border-radius:7px;overflow-wrap:anywhere; }
.atb-legal h1,.atb-legal h2,.atb-legal h3 { font-family:Georgia,serif;line-height:1.4; }
.atb-legal h1 { font-size:29px; }
.atb-legal h2 { font-size:23px;margin-top:28px; }
.atb-legal .meta { color:var(--text-secondary); }
.atb-legal a { color:var(--accent); }
.atb-legal .atb-legal-header a:first-child { color:#f7f2e8; }
.atb-legal .atb-legal-header a:last-child { color:#dfbd62; }
.atb-legal .notice { background:var(--bg);border-color:var(--border);color:var(--text-primary); }
.admin-badge { background:#d4a017;color:#0d1b2a; }
.app-header .header-account-btn:not(.primary) { background:transparent;color:#f7f2e8;border-color:#59616a; }
@media(max-width:900px){
  .panel-reader{padding:16px}#readerContainer-legislation,#readerContainer-constitutional,#treatyReader{padding:23px}
}
@media(max-width:600px){
  .app-header #signupBtn .header-account-label{display:inline;font-size:11px}
  .app-header #signupBtn{padding:7px 9px}
  .app-footer-global{padding:10px 14px;gap:8px}
  .app-footer-global .footer-brand{display:none}
  .app-footer-global .footer-disclaimer{font-size:10px}
  .panel-reader{padding:12px}#readerContainer-legislation,#readerContainer-constitutional,#treatyReader{padding:20px 16px}
  .prov-text{font-size:17px;line-height:1.8}.prov-body{padding-left:10px}.prov-margin{margin-left:10px}
  .reader-header h2{font-size:21px}.reader-secno{font-size:25px}.act-masthead-title{font-size:23px}
  .hero-followup-inner{padding:20px 16px 28px}.ask-feature-card{padding:16px;grid-template-columns:56px minmax(0,1fr)}.ask-feature-icon{width:56px;height:56px}
  .atb-legal-paper{margin:16px 12px;padding:22px 18px}.atb-legal-header{padding:17px 18px}
  .app-footer-global .footer-links{flex-wrap:wrap;min-width:0;max-width:100%;gap:10px 16px}
  .atb-learn table{display:block;max-width:100%;overflow-x:auto}
}
@media(max-width:360px){.app-header .header-brand-name{font-size:14px}}
@media print{#readerContainer-legislation,#readerContainer-constitutional,#treatyReader{max-width:none;border:0;padding:0}.atb-full-heading:not([open]) p{display:block}}
/* Visible navigation/focus support; does not assert complete WCAG conformance. */
.skip-link { position:fixed;top:8px;left:8px;z-index:10000;transform:translateY(-180%);padding:12px 18px;background:#f7f2e8;color:#0d1b2a;border:2px solid #82620d;border-radius:6px; }
.skip-link:focus { transform:none; }
:focus-visible { outline:3px solid var(--accent,#82620d);outline-offset:3px; }
button,input,select,textarea { min-height:24px; }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:0.01ms !important;transition-duration:0.01ms !important;scroll-behavior:auto !important; } }

/* The contents rail and document surround form one continuous dark surface. */
:root[data-theme="dark"] .panel-reader { background:var(--atb-rail); }
@media(prefers-color-scheme:dark) {
  :root:not([data-theme="light"]) .panel-reader { background:var(--atb-rail); }
}
