/* 全站共用樣式:色彩、版面與表單。色彩沿用原型,單一綠色重點色,支援深色模式 */
:root{
  --bg:#f6f4ef;--card:#fff;--ink:#222;--sub:#6b6b66;--line:#e4e0d6;--ac:#0f8b6d;--tint:#d9efe7;--bad:#d4534f;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--bg:#17181a;--card:#222426;--ink:#eee;--sub:#a0a09a;--line:#34363a;--ac:#3cc9a3;--tint:#1d3a31;--bad:#ef7773}
}
:root[data-theme="dark"]{--bg:#17181a;--card:#222426;--ink:#eee;--sub:#a0a09a;--line:#34363a;--ac:#3cc9a3;--tint:#1d3a31;--bad:#ef7773}

html{scroll-padding-top:env(safe-area-inset-top,0px)}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:400 15px/1.65 "Noto Sans TC",system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--ac)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--ac);outline-offset:2px}
h1,h2,h3{line-height:1.35}

.icon{flex:none;vertical-align:middle}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}

.skip-link{position:absolute;left:-9999px;top:8px;background:var(--ac);color:#fff;padding:8px 14px;border-radius:6px;z-index:10}
.skip-link:focus{left:8px}

/* 頁首 */
.site-header{background:var(--card);border-bottom:1px solid var(--line)}
.top{display:flex;align-items:center;gap:16px;padding:12px 0}
.logo{font-weight:900;font-size:24px;color:var(--ac);letter-spacing:1px;text-decoration:none}
.top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}
.icon-btn{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);background:none;border-radius:50%;color:var(--sub)}
.icon-btn:hover{color:var(--ac);border-color:var(--ac)}
.theme .i-sun{display:none}
:root[data-theme="dark"] .theme .i-sun{display:block}
:root[data-theme="dark"] .theme .i-moon{display:none}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .theme .i-sun{display:block}
  :root:not([data-theme="light"]) .theme .i-moon{display:none}
}
.btn-outline{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid var(--ac);border-radius:6px;color:var(--ac);font-weight:500;text-decoration:none;white-space:nowrap}
.btn-outline:hover{background:var(--tint)}
.site-nav{display:flex;gap:4px;overflow-x:auto;border-top:1px solid var(--line)}

/* 內容區 */
.main{padding-top:20px;padding-bottom:40px;min-height:60vh}

/* 頁尾 */
.site-footer{text-align:center;color:var(--sub);font-size:13px;padding:20px 16px 32px}

/* 卡片與按鈕 */
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:20px}
.intro h1{margin:0 0 8px;font-size:26px;font-weight:900;color:var(--ac)}
.intro p{margin:0;color:var(--sub)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 18px;border:0;border-radius:99px;background:var(--ac);color:#fff;font-weight:700;text-decoration:none}
.btn:hover{filter:brightness(1.08)}
.btn-block{width:100%}

/* 表單(之後的登入與註冊頁會用到) */
label.lb{display:block;font-size:14px;color:var(--sub);margin:12px 0 4px}
input[type=text],input[type=email],input[type=password],input[type=search],select,textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--bg)}
.hint{font-size:12.5px;color:var(--sub);margin-top:4px}
.ok{color:var(--ac)}
.bad{color:var(--bad)}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
