/* ===== 兒少標竿人生：共用視覺（色票、頂部列、切換鈕、字體控制、提示訊息） ===== */
:root{
  --ink:#4A2E1A; --ink-2:#6B4630; --gold:#B5442A; --muted:#7A5C45; --line:#F0DDBF;
  --rust:#B5442A; --rust-dark:#9C381F; --sun:#F2B33D; --cream:#FFF3D1; --peach:#FDE1D3;
  --qc:#C9962E; --q1:#6BA368; --q2:#4F86C6; --q3:#8A6BC0; --q4:#E0674C;
  --radius:16px; --tap:44px;
  --sat:env(safe-area-inset-top,0px); --sab:env(safe-area-inset-bottom,0px);
  --sal:env(safe-area-inset-left,0px); --sar:env(safe-area-inset-right,0px);
  --base-font-size:16px;
  --leaf:#4E8F45; --leaf-dark:#3A7234; --leaf-soft:#E6F2DD; --leaf-line:#BFDDB2; --root:#7A4B2A; --glow:#FFE29A;
  --zone:var(--rust);
}
html{font-size:var(--base-font-size);-webkit-text-size-adjust:100%}
body.site-page{
  margin:0; min-height:100vh; color:var(--ink); -webkit-font-smoothing:antialiased; line-height:1.7;
  font-family:"Noto Sans TC","PingFang TC","Heiti TC","Microsoft JhengHei","Noto Sans CJK TC",system-ui,sans-serif;
  background:linear-gradient(160deg,#FFF1D2 0,#FFF8EA 260px,#FFF9F0 100%) fixed;
  padding-left:var(--sal); padding-right:var(--sar); -webkit-tap-highlight-color:transparent;
}
.site-page :focus-visible{outline:3px solid #E7A93B;outline-offset:2px;border-radius:8px}

/* ---------- 頂部列 ---------- */
.site-header{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap; background:#fff; border-bottom:1px solid var(--line);
  padding:calc(10px + var(--sat)) 24px 10px; position:sticky; top:0; z-index:30;
}
.site-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);min-width:0}
.site-brand .logo{width:52px;height:52px;flex:none;object-fit:contain}
.site-brand strong{display:block;font-size:1.3rem;font-weight:900;letter-spacing:.04em;white-space:nowrap}
.site-brand small{display:block;font-size:.8rem;color:var(--muted);letter-spacing:.06em}

/* 兩個專區切換（📖 老師教案｜🏠 家長專區） */
.site-switch{display:flex;gap:4px;padding:4px;background:#FFF3D6;border:1px solid var(--line);border-radius:14px;margin-left:20px}
.site-switch a{
  display:flex;align-items:center;justify-content:center;gap:6px;min-height:var(--tap);padding:0 18px;border-radius:10px;
  color:var(--ink);text-decoration:none;font-weight:800;font-size:.95rem;white-space:nowrap;
}
.site-switch a:hover{background:#FFE7B0}
.site-switch a[aria-current="page"]{background:var(--rust);color:#fff;box-shadow:0 3px 8px rgba(181,68,42,.3)}

.site-tools{display:flex;align-items:center;gap:10px;margin-left:auto}
.fs-ctrl{display:flex;align-items:center;gap:4px;padding:3px;background:#FFF6E0;border:1px solid var(--line);border-radius:12px}
.fs-ctrl span{font-size:.75rem;font-weight:700;color:var(--muted);padding:0 6px}
.fs-ctrl button{width:var(--tap);height:40px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:900;font-size:1.05rem;cursor:pointer}
.fs-ctrl button:last-child{background:var(--rust);border-color:var(--rust);color:#fff}
.site-share{background:var(--rust);color:#fff;font-weight:800;border:0;border-radius:12px;padding:0 18px;min-height:var(--tap);box-shadow:0 4px 12px rgba(181,68,42,.3);white-space:nowrap;cursor:pointer;font:inherit;font-weight:800}
.site-share:hover{background:var(--rust-dark)}

@media (max-width:900px){
  .site-header{padding-left:14px;padding-right:14px}
  .site-switch{order:3;flex:1 0 100%;margin-left:0}
  .site-switch a{flex:1}
}
@media (max-width:560px){
  .site-header{padding-left:10px;padding-right:10px;gap:8px}
  .site-brand{flex:1 1 auto;gap:8px;min-width:0}
  .site-brand small,.fs-ctrl span{display:none}
  .site-brand strong{font-size:1rem}
  .site-brand .logo{width:40px;height:40px}
  .site-tools{gap:6px}
  .fs-ctrl{padding:2px}
  .fs-ctrl button{width:36px;height:36px;font-size:1rem}
  .site-share{padding:0 10px;font-size:.8rem;min-height:40px}
}

/* ---------- 提示訊息 ---------- */
#siteToast{
  position:fixed;left:50%;bottom:calc(24px + var(--sab));transform:translateX(-50%);z-index:1000;display:none;
  background:#3a2412;color:#fff;padding:12px 18px;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.3);font-weight:700;max-width:90vw;text-align:center;
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}


/* ---------- 同一棵樹的識別：老師教案＝根（金棕），家長專區＝枝葉（葉綠） ---------- */
body.zone-teacher{--zone:var(--root)}
body.zone-parent{--zone:var(--leaf-dark)}
body.zone-vision,body.zone-home{--zone:var(--leaf-dark)}
.site-header{border-bottom:3px solid var(--zone)}
.site-switch a[aria-current="page"]{background:var(--zone);box-shadow:0 3px 8px rgba(60,40,20,.25)}
.zone-note{margin:0 0 18px;padding:10px 14px;border-left:5px solid var(--zone);background:rgba(255,255,255,.65);border-radius:0 12px 12px 0;font-size:.92rem;line-height:1.7;color:var(--ink)}
.zone-note b{margin-right:.6em;color:var(--zone);font-weight:900}
.zone-links{display:inline-flex;flex-wrap:wrap;gap:4px 18px;margin-left:.4em}
.zone-note a{margin-left:0;display:inline-flex;align-items:center;min-height:var(--tap);color:var(--zone);font-weight:800;white-space:nowrap}
@media print{.zone-note{display:none!important}}

/* 首頁頂部：兩個圖示入口 */
.site-icons{display:flex;gap:6px;margin-left:12px}
.site-icons a{display:inline-flex;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);border-radius:12px;color:var(--ink);border:1px solid var(--line);background:#fff}
.site-icons a:hover{background:var(--leaf-soft);color:var(--leaf-dark)}
@media (max-width:560px){.site-icons{margin-left:0;gap:4px}.site-icons a{width:38px;height:38px}}


/* ---------- 專區切換列：首頁／老師教案／家長專區／護幼計劃（手機版整合在頂部） ---------- */
.site-switch .sw-home,.site-switch .sw-care{display:none}
.sh-ic{display:none}
@media (max-width:560px){
  .site-header{gap:6px 8px;padding-top:calc(6px + var(--sat));padding-bottom:6px}
  .site-brand .logo{width:34px;height:34px}
  .site-brand strong{font-size:.98rem;letter-spacing:.02em}
  .fs-ctrl button{width:34px;height:34px}
  .site-share{padding:0;width:38px;min-height:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px}
  .sh-t{display:none}.sh-ic{display:inline;font-size:1.1rem;line-height:1}
  .site-icons{display:none}
  .site-switch{display:flex!important;order:3;flex:1 0 100%;margin:0;padding:3px;gap:2px;border-radius:12px}
  .site-switch.sw-mobile-only{display:flex!important}
  .site-switch a{flex:1 1 0;min-width:0;padding:0 2px;min-height:38px;font-size:.88rem;text-align:center;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}
  .site-switch .sw-home,.site-switch .sw-care{display:inline-flex}
}
@media (min-width:561px){.site-switch.sw-mobile-only{display:none}}

/* ---------- 手機版再精簡：頂部列更矮，往下滑時自動收起、往上滑再出現 ---------- */
@media (max-width:560px){
  .site-header{padding:calc(4px + var(--sat)) 12px 4px!important;gap:4px 8px!important;transition:transform .22s ease}
  .site-brand .logo{width:28px!important;height:28px!important}
  .site-brand strong{font-size:.92rem!important}
  .site-brand small{display:none!important}
  .fs-ctrl button{width:30px!important;height:30px!important;font-size:.9rem!important}
  .fs-ctrl{padding:2px!important}
  .site-share{width:34px!important;height:34px!important;min-height:34px!important}
  .site-switch{padding:2px!important;border-radius:10px!important}
  .site-switch a{min-height:32px!important;font-size:.84rem!important}
  .site-header.hdr-hide{transform:translateY(-100%)}
}
@media (prefers-reduced-motion:reduce){.site-header{transition:none}}
body:not(.zone-home) .site-switch .sw-home,body:not(.zone-home) .site-switch .sw-care{display:inline-flex}
@media (max-width:560px){body:not(.zone-home) .site-switch a{font-size:.8rem;letter-spacing:-.02em}}
.site-icons a.ic-care{width:auto;padding:0 14px;font-weight:800;font-size:.95rem;text-decoration:none;white-space:nowrap}

/* 專區頁頂部：電腦／平板寬度維持單行 */
@media (min-width:761px){
  body:not(.zone-home) .site-header{flex-wrap:nowrap;gap:10px}
  body:not(.zone-home) .site-switch{order:0;flex:0 0 auto;margin-left:12px}
  body:not(.zone-home) .site-switch a{flex:0 0 auto;padding:0 14px}
  body:not(.zone-home) .site-brand{flex:0 1 auto}
  body:not(.zone-home) .site-tools{flex:none}
}
@media (min-width:761px) and (max-width:1240px){
  body:not(.zone-home) .site-brand small,body:not(.zone-home) .fs-ctrl span{display:none}
}
@media (min-width:761px) and (max-width:1020px){
  body:not(.zone-home) .site-switch{margin-left:4px}
  body:not(.zone-home) .site-switch a{padding:0 10px;font-size:.9rem}
  body:not(.zone-home) .site-share{padding:0;width:40px;display:inline-flex;align-items:center;justify-content:center}
  body:not(.zone-home) .sh-t{display:none}
  body:not(.zone-home) .sh-ic{display:inline;font-size:1.1rem}
}
