/* Public website only; the member/admin stylesheet remains unchanged. */
:root {color-scheme:light;--home-bg:#f5f3eb;--home-panel:#fffdf7;--home-panel-soft:#eeeade;--home-line:#cecfc3;--home-text:#173730;--home-muted:#4e635b;--home-muted-strong:#3e574e;--home-accent:#245c48;--home-accent-strong:#194c3c;--home-shadow:0 18px 42px #17373012}
html{background:#f5f3eb;scroll-padding-top:24px}
body.bureau-theme{min-width:0;background:#f5f3eb;color:#173730;font-size:16px;line-height:1.65}
.bureau-theme button,.bureau-theme input,.bureau-theme textarea{font:inherit}
.bureau-theme button,.bureau-theme summary{cursor:pointer}
.bureau-theme button{touch-action:manipulation}
.bureau-theme button:disabled{cursor:wait;opacity:.65}
.bureau-theme :focus-visible{outline:3px solid #ad680f;outline-offset:4px}
.bureau-theme [hidden]{display:none!important}
.bureau-theme h1,.bureau-theme h2,.bureau-theme h3,.bureau-theme p{margin-top:0}
.bureau-shell{max-width:1280px;width:calc(100% - 72px);margin:auto}
.bureau-dispatch{display:flex;justify-content:space-between;gap:16px;font-size:13px;color:#4b6359;padding:20px 0}
.bureau-dispatch i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#4d7952;margin:0 8px 1px 0}
.intake-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:72px;padding:36px 0 50px;align-items:start}
.bureau-eyebrow{font-size:12px;font-weight:700;letter-spacing:1.8px;color:#58705f}
.intake-copy{padding-top:18px}
.intake-copy h1{font-size:clamp(36px,3.7vw,56px);line-height:1.32;letter-spacing:-2px;margin:19px 0 24px;font-weight:850}
.intake-copy h1 em{font-style:normal;color:#4d6a4b}
.intake-intro{font-size:18px;line-height:1.85;color:#435b50}
.intake-prompt{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:38px;margin-bottom:16px}
.intake-prompt h2{font-size:19px;margin:0}
.intake-prompt>span{font-size:12px;color:#586858}
.scenario-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.scenario-grid button{position:relative;text-align:left;border:1px solid #cbd0bf;border-radius:7px;padding:15px 28px 15px 16px;background:#fdfcf7;color:#203d31;transition:background .15s,border-color .15s}
.scenario-grid button>span{display:block;font-size:11px;letter-spacing:1.2px;color:#596951;margin-bottom:5px}
.scenario-grid button strong{font-size:15px;letter-spacing:-.3px;font-weight:700}
.scenario-grid button i{position:absolute;right:13px;top:40px;font-style:normal;font-size:16px}
.scenario-grid button:hover{background:#e9eee0;border-color:#59764f}
.scenario-grid button[aria-pressed=true]{background:#254a3c;color:#fffbea;border-color:#254a3c}
.scenario-grid button[aria-pressed=true]>span{color:#d3dfb8}
.scenario-grid .discipline-case{background:#ebefdf}
.intake-footnote{font-size:12px;color:#566b59;margin-top:19px}
.report-desk{min-width:0;scroll-margin-top:20px}
.desk-tab{display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:1.1px;padding:9px 17px;background:#dfdfcc;color:#3f5544;border-radius:6px 6px 0 0;margin-right:14px}
.case-document{background:#163d32;color:#fffbed;padding:29px 34px 20px;border-radius:0 6px 6px 6px;box-shadow:8px 9px 0 #dedeca}
.document-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#e6ca88;font-size:12px;line-height:1.45}
.document-heading strong{font-size:14px;letter-spacing:1px}
.document-stamp{transform:rotate(9deg);display:inline-block;border:2px solid #d1b26e;outline:1px solid #d1b26e;outline-offset:3px;padding:4px 10px;font-size:13px;line-height:1.45;letter-spacing:3px;opacity:.9}
.document-kicker{font-size:12px;letter-spacing:3px;color:#c7d7bd;margin:28px 0 8px!important}
.case-document h2{font-size:clamp(24px,2.15vw,32px);line-height:1.35;margin:0 0 22px;letter-spacing:-.6px}
.document-facts{border-top:1px solid #567567;margin:0;padding-top:14px}
.document-facts>div{display:grid;grid-template-columns:70px 1fr;gap:16px;margin-bottom:8px;font-size:14px}
.document-facts dt{color:#c8d6bf}
.document-facts dd{margin:0}
.document-verdict{border-left:3px solid #e5b553;padding:0 0 0 18px;margin:26px 0}
.document-verdict>span{font-size:11px;letter-spacing:2px;color:#ced6b9}
.document-verdict p{font-size:23px;font-weight:700;line-height:1.55;color:#f4d58c;margin:8px 0 0;white-space:pre-line}
.document-status{display:flex;justify-content:space-between;gap:12px;font-size:12px;border-top:1px dashed #65816e;padding-top:14px}
.document-status>span{color:#c8d6bf}
.document-status strong{text-align:right;font-weight:500}
.document-notice{margin:12px 0 0!important;font-size:10px;letter-spacing:.6px;color:#d3dbc9;text-align:center}
.document-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:23px}
.bureau-primary,.bureau-secondary{display:flex;align-items:center;justify-content:center;gap:14px;border-radius:5px;padding:11px 16px;font-size:15px;font-weight:700;text-decoration:none;border:1px solid #234535}
.bureau-primary{background:#234535;color:#fffbed}.bureau-primary:hover{background:#36604a}
.bureau-secondary{background:#fcfbf4;color:#234535}.bureau-secondary:hover{background:#e7ecdd}
.case-learning{border-bottom:1px solid #d1d4c5;font-size:14px;padding:12px 0}
.case-learning summary{font-weight:600}
.recovery-presets button{background:#fdfcf6;color:#304e3a;border:1px solid #bcc8ad;border-radius:4px;padding:7px 11px;font-size:13px}
.case-learning p{margin:13px 0 8px}.case-learning a{font-weight:700}
.bureau-status{font-size:13px;margin:10px 0!important;min-height:1.4em;color:#34573c}
#image-preview{border:1px solid #c8cebb;padding:15px;border-radius:8px;margin-top:10px;font-size:14px}
#image-preview img{width:100%;max-width:360px;height:auto;display:block;margin:12px auto}
#image-download{font-weight:700}
#copy-fallback textarea{display:block;width:100%;margin-top:10px;background:#fffdf7;color:#173730;border:1px solid #aeba9f}
.bureau-principle{display:flex;align-items:center;gap:22px;background:#e8eadb;border:1px solid #d2d7c2;padding:23px 28px;border-radius:6px}
.bureau-principle>span:first-child{font-family:Georgia,serif;font-size:38px;font-style:italic;color:#527048}
.bureau-principle p{margin:0;font-size:14px;line-height:1.8}.bureau-principle strong{font-size:16px}
.principle-label{margin-left:auto;white-space:nowrap;font-size:12px;color:#527048;writing-mode:vertical-rl;letter-spacing:2px}
.bureau-section{padding:62px 0 0;scroll-margin-top:24px}
.bureau-section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:25px}
.bureau-section-heading .bureau-eyebrow{margin-bottom:8px}
.bureau-section-heading h2{font-size:29px;line-height:1.4;margin:0;letter-spacing:-1px}
.bureau-section-heading>p{font-size:14px;color:#50664e;margin:0 0 2px}
.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.bureau-tool{border:1px solid #cbd0be;border-radius:7px;background:#fcfbf5;min-width:0}
.bureau-tool>summary{list-style:none;padding:24px;display:block}
.bureau-tool>summary::-webkit-details-marker{display:none}
.bureau-tool>summary:hover{background:#eff0e4}
.tool-number{display:flex;align-items:center;justify-content:space-between;font-family:Georgia,serif;color:#657d4a;font-size:28px;font-style:italic;margin-bottom:28px}
.tool-number i{font-style:normal;font-family:inherit;font-size:22px}
.bureau-tool h3{font-size:23px;line-height:1.35;margin:0 0 8px}
.bureau-tool>summary p{font-size:14px;color:#4f664e;margin-bottom:25px}
.tool-open{font-size:13px;font-weight:700}
.bureau-tool[open] .tool-open{font-size:0}.bureau-tool[open] .tool-open::after{content:"收起工具 −";font-size:13px}
.tool-body{border-top:1px solid #d5d8c9;padding:22px}
.tool-note,.formula-note{font-size:13px;line-height:1.75;color:#405a49}
.tool-body form>label,.field-pair>label{display:block;font-size:13px;font-weight:600;margin:0 0 14px;min-width:0}
.tool-body input[type=number]{display:block;width:100%;color:#173730;background:#fffef9;border:1px solid #b8c5aa;border-radius:4px;padding:10px;margin-top:5px;font-size:16px;min-width:0}
.field-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.plan-checks{border:0;padding:4px 0 15px;margin:0}.plan-checks legend{font-size:13px;font-weight:600}
.plan-checks label{display:flex;gap:8px;align-items:center;font-size:13px;margin-top:6px;min-height:32px}
.plan-checks input{accent-color:#24533e;width:24px;height:24px}
.tool-body form>.bureau-primary{width:100%}
.tool-output:empty{display:none}.tool-output{margin-top:16px;padding:16px;background:#e7eddd;font-size:14px;border-radius:5px;white-space:pre-line;overflow-wrap:anywhere}
.tool-output[data-error=true]{background:#f6e4d9;color:#813f2e}
.formula-note{margin-top:17px}.formula-note summary{font-weight:700}.formula-note p{margin:10px 0}
.recovery-presets{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 18px}
.tools-caption{font-size:12px;color:#596b56;margin:17px 0 0}
.bureau-articles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.bureau-article{display:flex;flex-direction:column;padding:25px;border:1px solid #cbd0be;border-radius:7px;background:#fdfcf6}
.bureau-article:hover{background:#edf0e3!important;transform:none}
.bureau-article h3{font-size:21px;margin:20px 0 10px}
.bureau-article p{color:#475d4d;font-size:15px}.bureau-article>strong{font-size:14px;margin-top:auto}
.bureau-empty{border-top:1px solid #cbd0be;border-bottom:1px solid #cbd0be;display:flex;align-items:center;gap:24px;padding:25px 0}
.bureau-empty>span{font-size:34px;color:#678055}.bureau-empty h3{font-size:18px;margin:0 0 4px}
.bureau-empty p{margin:0;font-size:14px;color:#52684d}.bureau-empty>a{margin-left:auto;white-space:nowrap;font-size:14px;font-weight:600}
.bureau-footer{max-width:1280px;width:calc(100% - 72px);margin:70px auto 0;padding:32px 0 42px;display:grid;grid-template-columns:1fr 1.8fr;gap:60px;border-top:1px solid #cbd0be;font-size:12px;color:#4a614d}
.bureau-footer strong{color:#244832;font-size:16px}.bureau-footer p{margin:5px 0 12px}
.bureau-footer nav{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:12px}.bureau-footer nav a{font-size:13px}
/* MOOSSin cross-section navigation (templates/_mooss_sections_nav.html): one row under every public page's footer, spanning the footer grid. */
.mooss-sections-nav{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:4px 18px;margin:8px auto 0;padding-top:14px;border-top:1px solid #cbd0be;font-size:13px;color:#4a614d;width:100%;max-width:1280px}
.mooss-sections-nav-brand{font-weight:700;letter-spacing:.6px;color:#244832}
.mooss-sections-nav a{color:#4a614d;text-decoration:none;display:inline-flex;align-items:center;min-height:32px;padding:4px 0}
.mooss-sections-nav a:hover,.mooss-sections-nav a:focus-visible{text-decoration:underline;text-underline-offset:.25em}
.mooss-sections-nav a[aria-current="page"]{color:#173d32;font-weight:700;text-decoration:underline;text-underline-offset:.25em}
.public-article-unavailable+.mooss-sections-nav{margin-top:32px}
.bureau-theme .public-article-document,.bureau-theme .public-article-hero,.bureau-theme .public-article-evidence,.bureau-theme .public-article-risk{background:#fcfbf5;color:#193d30}
.bureau-theme .public-article-risk{border-color:#b2c4a4}.bureau-theme .public-rendered-markdown{color:#294b3c}
.bureau-theme .public-evidence-grid article,.bureau-theme .public-rendered-markdown pre{background:#ebeede;color:#173730}
@media(min-width:1600px){.intake-layout{gap:92px}.intake-copy h1{font-size:62px}}
@media(max-width:1100px){.intake-layout{gap:32px}.scenario-grid button strong{font-size:14px}.intake-copy h1{font-size:44px}.tool-grid{gap:12px}.tool-body{padding:16px}.bureau-tool>summary{padding:21px}}
@media(max-width:800px){.bureau-shell,.bureau-footer{width:calc(100% - 40px)}.intake-layout{grid-template-columns:1fr;gap:35px;padding-top:12px}.intake-copy{padding-top:0}.intake-copy h1{font-size:48px}.scenario-grid button strong{font-size:16px}.report-desk{max-width:540px;width:100%;margin:auto}.intake-prompt{margin-top:26px}.tool-grid{grid-template-columns:1fr}.bureau-tool>summary{padding:22px}.tool-number{margin-bottom:13px}.bureau-tool>summary p{margin-bottom:15px}.bureau-section-heading{display:block}.bureau-section-heading>p{margin-top:14px}.bureau-articles{grid-template-columns:1fr 1fr}.bureau-footer{gap:25px;grid-template-columns:1fr}.bureau-empty{flex-wrap:wrap}.bureau-empty>a{margin-left:0}.bureau-section{padding-top:45px}}
@media(max-width:420px){.bureau-shell,.bureau-footer{width:calc(100% - 32px)}.bureau-dispatch{font-size:10px;gap:6px;padding:15px 0}.intake-copy h1{font-size:36px;letter-spacing:-1px}.intake-intro{font-size:16px}.intake-prompt{display:block}.intake-prompt>span{display:block;margin-top:7px}.scenario-grid{gap:8px}.scenario-grid button{padding:12px 21px 12px 11px;min-height:88px}.scenario-grid button strong{font-size:14px}.scenario-grid button>span{font-size:10px;letter-spacing:.6px}.scenario-grid button i{right:8px;top:50px}.case-document{padding:25px 24px 19px}.case-document h2{font-size:26px}.document-verdict p{font-size:22px}.document-actions button{font-size:14px;gap:8px;padding:11px}.bureau-principle{padding:20px 18px;gap:14px;align-items:start}.bureau-principle strong{font-size:15px}.principle-label{display:none}.bureau-section-heading h2{font-size:27px}.bureau-articles{grid-template-columns:1fr}.bureau-footer{margin-top:50px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.bureau-theme *{transition:none!important}}
@media print{.mooss-bar,.bureau-dispatch,.intake-copy,.document-actions,.post-draft,.case-learning,.bureau-status,.bureau-principle,.bureau-section,.bureau-footer{display:none}.intake-layout{display:block}.case-document{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

.document-status{display:block}.document-status strong{display:block;text-align:left;margin-top:8px;line-height:1.75}


/* -- WCAG 2.2 target sizes (UX batch E, 2026-09-21) --
   Every public page loads this file, so the minimum target sizes live here once.
   AA (2.5.8) asks for 24x24; this project aims for 44 on navigation and primary
   actions. A link inside a sentence keeps its inline box: 2.5.8 exempts it, and
   padding there would overlap its neighbouring lines. The page header is the
   shared MOOSSin bar at the end of this file, which sizes its own targets. */

/* Footer navigation rows: one 44px line each, which also lifts the 19-23px boxes above AA. */
.bureau-footer nav a,.mooss-sections-nav a{display:inline-flex;align-items:center;min-height:44px}
/* Disclosures and the links inside them: each is alone in its block, not in a sentence. */
.case-learning summary,.formula-note summary,.tool-note summary{padding-block:6px}
.case-learning a,.formula-note a,.tool-note a{display:inline-flex;align-items:center;min-height:24px}

/* The skip link (home.css, tool-guides.css) must show above the MOOSSin bar, which sits at z-index 40. */
body.bureau-theme .skip-link,body.bureau-page .skip-link{z-index:50}

/* MOOSSin one-row header (owner decision 2026-10-05): the shared mooss-bar.css, byte for byte
   between the two marker lines (tests/test_one_website.py checks its SHA-256). Every public page
   loads this file, so the bar needs no route or static-allowlist change. Never edit it here alone. */
/* mooss-bar:begin */
/* MOOSSin one-row header (owner decision 2026-10-05, plan A): the brand, the five sections with the
 * current section's own menu behind a chevron, and a few tools, in one row; one "選單" drawer below
 * 960px. Shared verbatim by all five sections; every rule is scoped to .mooss-bar and resets what a
 * section stylesheet could leak in. Colours are the portal's palette (ink 14.6:1, muted 7.7:1 and
 * moss 6.1:1 on the bar). Change it in every section at once, never in one. */
.mooss-bar {
  position: relative;
  z-index: 40;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-bottom: 1px solid #dfe5dc;
  background: #fbfcfa;
  color: #1c221d;
  font-family: system-ui, -apple-system, "Segoe UI", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: normal;
  text-align: left;
}

.mooss-bar *,
.mooss-bar *::before,
.mooss-bar *::after {
  box-sizing: border-box;
}

.mooss-bar a {
  color: inherit;
  text-decoration: none;
}

.mooss-bar ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mooss-bar li {
  margin: 0;
  padding: 0;
}

.mooss-bar summary {
  list-style: none;
  cursor: pointer;
}

.mooss-bar summary::-webkit-details-marker {
  display: none;
}

.mooss-bar__inner {
  display: flex;
  align-items: center;
  gap: 16px;
  max-width: 1180px;
  min-height: 56px;
  margin: 0 auto;
  padding: 0 20px;
}

.mooss-bar__brand {
  flex: none;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.mooss-bar__here {
  display: none;
}

.mooss-bar__sections {
  flex: 1 1 auto;
  min-width: 0;
}

.mooss-bar__list {
  display: flex;
  align-items: center;
  gap: 2px;
}

.mooss-bar__list > li {
  position: relative;
  display: flex;
  align-items: center;
}

.mooss-bar__list a,
.mooss-bar__tools a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 10px;
  border-radius: 6px;
  color: #4a544b;
  white-space: nowrap;
}

.mooss-bar__list a:hover,
.mooss-bar__tools a:hover {
  background: #f1f4ef;
  color: #1c221d;
}

.mooss-bar__list > li > a[aria-current="page"] {
  border-radius: 6px 6px 0 0;
  box-shadow: inset 0 -2px 0 #2f6b3f;
  color: #1c221d;
  font-weight: 700;
}

.mooss-bar__more > summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 40px;
  margin-left: -4px;
  border-radius: 6px;
  color: #4a544b;
}

.mooss-bar__more > summary::after {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
}

.mooss-bar__more[open] > summary::after {
  transform: translateY(2px) rotate(-135deg);
}

.mooss-bar__more > summary:hover {
  background: #f1f4ef;
  color: #1c221d;
}

.mooss-bar__sub {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  min-width: 200px;
  padding: 6px;
  border: 1px solid #dfe5dc;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 10px 28px rgba(28, 34, 29, 0.12);
}

.mooss-bar__sub a {
  display: flex;
  width: 100%;
  border-radius: 6px;
  color: #1c221d;
}

.mooss-bar__tools {
  flex: none;
  display: flex;
  align-items: center;
  gap: 2px;
  margin-left: auto;
}

.mooss-bar__drawer {
  display: none;
}

.mooss-bar a:focus-visible,
.mooss-bar summary:focus-visible {
  outline: 2px solid #2f6b3f;
  outline-offset: -2px;
}

@media (max-width: 959px) {
  .mooss-bar__sections,
  .mooss-bar__tools {
    display: none;
  }

  .mooss-bar__inner {
    gap: 8px;
    padding: 0 16px;
  }

  .mooss-bar__here {
    display: block;
    min-width: 0;
    overflow: hidden;
    color: #4a544b;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mooss-bar__drawer {
    display: block;
    flex: none;
    margin-left: auto;
  }

  .mooss-bar__drawer > summary {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid #c9d2c5;
    border-radius: 8px;
    color: #1c221d;
  }

  .mooss-bar__drawer[open] > summary {
    background: #f1f4ef;
  }

  .mooss-bar__panel {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    max-height: calc(100vh - 56px);
    overflow-y: auto;
    padding: 8px 16px 16px;
    border-bottom: 1px solid #dfe5dc;
    background: #fbfcfa;
    box-shadow: 0 12px 24px rgba(28, 34, 29, 0.1);
  }

  .mooss-bar__panel a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 0 10px;
    border-radius: 6px;
    color: #1c221d;
  }

  .mooss-bar__panel a:hover {
    background: #f1f4ef;
  }

  .mooss-bar__panel > ul > li > a[aria-current="page"] {
    box-shadow: inset 3px 0 0 #2f6b3f;
    font-weight: 700;
  }

  .mooss-bar__panel .mooss-bar__sub-m a {
    padding-left: 26px;
    color: #4a544b;
  }

  .mooss-bar__panel-tools {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #dfe5dc;
  }
}
/* mooss-bar:end */
