.sc-placeholder{background:color-mix(in srgb,currentColor 8%,transparent);
      border:1px solid color-mix(in srgb,currentColor 50%,transparent);
      border-radius:2px;box-sizing:border-box;overflow:hidden}
    @keyframes sc-shine{0%{background-position:100% 50%}100%{background-position:0% 50%}}
    html.sc-dc-streaming .sc-placeholder,
    html.sc-dc-streaming .sc-interp.sc-missing{position:relative;
      background:color-mix(in srgb,currentColor 5%,transparent);
      border-color:transparent}
    html.sc-dc-streaming .sc-placeholder::before,
    html.sc-dc-streaming .sc-interp.sc-missing::before{content:'';
      position:absolute;inset:0;pointer-events:none;
      background:linear-gradient(90deg,rgba(217,119,87,0) 25%,rgba(247,225,211,.95) 37%,rgba(217,119,87,0) 63%);
      background-size:400% 100%;animation:sc-shine 1.4s ease infinite}
    html.sc-dc-streaming .sc-placeholder:nth-child(n+9 of .sc-placeholder)::before,
    html.sc-dc-streaming .sc-interp.sc-missing:nth-child(n+9 of .sc-interp.sc-missing)::before{animation:none;
      background:color-mix(in srgb,currentColor 8%,transparent)}
    .sc-placeholder-error{padding:4px 8px;font:11px/1.4 ui-monospace,monospace;
      color:color-mix(in srgb,currentColor 70%,transparent);word-break:break-word}
    .sc-interp.sc-missing{display:inline-block;width:2em;height:1em;overflow:hidden;
      vertical-align:text-bottom;background:rgba(255,255,255,.3);border:1px solid rgba(0,0,0,.5);
      border-radius:2px;box-sizing:border-box;color:transparent;
      user-select:none}
    .sc-interp.sc-unresolved{font-family:ui-monospace,monospace;font-size:.85em;
      color:color-mix(in srgb,currentColor 50%,transparent);
      background:color-mix(in srgb,currentColor 10%,transparent);border-radius:3px;
      padding:0 3px}
    .sc-host.sc-has-error{position:relative}
    .sc-logic-error{position:absolute;top:8px;left:8px;z-index:2147483647;max-width:60ch;
      padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
      border-radius:4px;white-space:pre-wrap;pointer-events:none}
    /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts — keep both
       in sync until dc-runtime regains a build step. */
    @media print {
      @page { margin: 0.5cm; }
      figure, table { break-inside: avoid; }
      #dc-root, #dc-root > .sc-host { height: auto; }
      *, *::before, *::after {
        print-color-adjust: exact; -webkit-print-color-adjust: exact;
        backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
        animation-delay: -99s !important; animation-duration: .001s !important;
        animation-iteration-count: 1 !important; animation-fill-mode: both !important;
        animation-play-state: running !important; transition-duration: 0s !important;
      }
    }

x-dc{display:none!important}

html,body{height:100%;margin:0}#dc-root,#dc-root>.sc-host{height:100%}

:root{
  /* --- base palette --------------------------------------------------- */
  --bg-1:#FFFFFF;            /* 卡片、表格 */
  --bg-2:#EFEDEA;            /* 頁面主底 */
  --bg-3:#DCD7D0;            /* 次級區塊 */
  --ink:#2B2A29;             /* 文字、反白區塊底 (Pantone Black 7C) */
  --ink-muted:#6B6560;       /* 輔助文字 */
  --accent:#B8332A;          /* 朱紅 — 唯一強調色 */
  --accent-deep:#9C2A22;     /* hover / 按下 */
  --accent-tint:#F6E7E4;     /* 提示區塊底 */
  --accent-on-dark:#E8695C;  /* 深色反白區塊上的朱紅提亮版 */
  --brand:#9D8771;           /* 母品牌暖棕 — 圖形、分隔線 (Pantone 7530C 系) */
  --brand-deep:#8A7360;      /* 母品牌暖棕深階 (Pantone 7531C 系) */

  /* --- semantic aliases ---------------------------------------------- */
  --surface-page:var(--bg-2);
  --surface-card:var(--bg-1);
  --surface-sunken:var(--bg-3);
  --surface-inverse:var(--ink);
  --surface-notice:var(--accent-tint);

  --text-body:var(--ink);
  --text-heading:var(--ink);
  --text-muted:var(--ink-muted);
  --text-accent:var(--accent);
  --text-on-accent:#FFFFFF;
  --text-on-inverse:#FFFFFF;
  --text-muted-on-inverse:#B5AFA8;
  --text-accent-on-inverse:var(--accent-on-dark);

  --line-hairline:#D6D1CA;   /* 表格、卡片邊界 */
  --line-strong:var(--ink);
  --line-brand:var(--brand);

  --action-primary:var(--accent);
  --action-primary-hover:var(--accent-deep);
  --action-quiet-hover:var(--bg-3);
  --focus-ring:var(--accent-deep);

  /* 禁用色 — 上屆分組色，本屆不得使用：#FF9A00 / #3FA9FF */
}

:root{
  --font-zh:"Noto Sans TC";
  --font-latin:"Archivo";
  --font-display:"Orbitron";     /* 標誌字與主視覺標題限定 */
  --font-core:var(--font-latin),var(--font-zh),system-ui,sans-serif;
  --font-mark:var(--font-display),var(--font-latin),sans-serif;

  --fw-regular:400; /* @kind other */
  --fw-medium:500; /* @kind other */
  --fw-bold:700; /* @kind other */
  --fw-black:900; /* @kind other */

  /* 字級階梯 — 桌機 1440 / 手機 390 之間流動 */
  --fs-h1:clamp(30px,24.06px + 1.524vw,46px); /* @kind other */
  --fs-h2:clamp(24px,21.03px + 0.762vw,32px); /* @kind other */
  --fs-h3:clamp(18px,16.89px + 0.286vw,21px); /* @kind other */
  --fs-body:clamp(16.5px,15.94px + 0.143vw,18px); /* @kind other */
  --fs-small:clamp(15px,14.81px + 0.048vw,15.5px); /* @kind other */
  --fs-label:clamp(13px,12.81px + 0.048vw,13.5px); /* @kind other */

  --lh-zh:1.8; /* @kind other */
  --lh-latin:1.65; /* @kind other */
  --lh-heading:1.25; /* @kind other */

  --ls-heading:-0.02em; /* @kind other */
  --ls-body:0; /* @kind other */
  --ls-label:0.04em; /* @kind other */
  --ls-mark:0.04em; /* @kind other */
}

:root{
  --space-0:0;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --space-6:32px;
  --space-7:48px;
  --space-8:64px;
  --space-9:96px;
  --space-10:128px;

  --gutter:clamp(20px,4vw,56px); /* @kind spacing */      /* 頁面左右留白 */
  --measure:68ch; /* @kind other */                     /* 長條文最大行寬 */
  --content-max:1200px;               /* 內容欄最大寬 (桌機 1440 版面) */
  --section-y:clamp(48px,7vw,96px); /* @kind spacing */    /* 區塊上下間距 */

  --bp-mobile:390px; /* @kind other */
  --bp-tablet:768px; /* @kind other */
  --bp-desktop:1440px; /* @kind other */
}

:root{
  /* 角圓極小 — 版面靠排版與留白支撐，不靠圓角 */
  --radius-0:0;
  --radius-1:2px;
  --radius-2:4px;
  --radius-pill:999px;

  --border-hairline:1px solid var(--line-hairline); /* @kind other */
  --border-ink:1px solid var(--line-strong); /* @kind other */
  --border-brand:1px solid var(--line-brand); /* @kind other */
  --rule-thick:2px solid var(--ink); /* @kind other */

  /* 無彩色投影系統：僅兩階，卡片預設無影 */
  --shadow-none:none;
  --shadow-raised:0 1px 2px rgba(43,42,41,.06);
  --shadow-overlay:0 12px 32px rgba(43,42,41,.14);
}

:root{
  --dur-fast:120ms; /* @kind other */
  --dur-base:200ms; /* @kind other */
  --dur-enter:240ms; /* @kind other */
  --dur-overlay:400ms; /* @kind other */
  --ease-standard:cubic-bezier(.2,0,.2,1); /* @kind other */
  --ease-overlay:cubic-bezier(.87,0,.13,1); /* @kind other */
  --enter-shift:12px; /* @kind other */
}
@media (prefers-reduced-motion:reduce){
  :root{--dur-fast:0ms; /* @kind other */ --dur-base:0ms; /* @kind other */ --dur-enter:0ms; /* @kind other */ --dur-overlay:0ms; /* @kind other */ --enter-shift:0px /* @kind other */}
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-core);font-size:var(--fs-body);font-weight:var(--fw-regular);line-height:var(--lh-zh);letter-spacing:var(--ls-body);text-wrap:pretty;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{margin:0;font-family:var(--font-core);font-weight:var(--fw-bold);line-height:var(--lh-heading);letter-spacing:var(--ls-heading);color:var(--text-heading)}
h1{font-size:var(--fs-h1);font-weight:var(--fw-black)}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3)}
p{margin:0 0 var(--space-4)}
:lang(en),.lang-en{line-height:var(--lh-latin)}
a{color:var(--text-body);text-decoration:none;background-image:linear-gradient(var(--accent),var(--accent));background-repeat:no-repeat;background-position:0 100%;background-size:0 1px;transition:background-size var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}
a:hover{color:var(--accent);background-size:100% 1px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
small{font-size:var(--fs-small);color:var(--text-muted)}
.ds-label{font-size:var(--fs-label);letter-spacing:var(--ls-label);font-weight:var(--fw-medium);color:var(--text-muted)}
.ds-enter{animation:ds-enter var(--dur-enter) var(--ease-standard) both}
@keyframes ds-enter{from{opacity:0;transform:translateY(var(--enter-shift))}to{opacity:1;transform:none}}

/* V1.7 文件公告日期（各頁文末，低調呈現） */
.doc-date{margin:clamp(40px,5vw,64px) 0 0;padding-top:16px;border-top:1px solid var(--line-hairline);font-size:var(--fs-small);color:var(--text-muted);line-height:1.8}
