/* 基本重設（與原本 artifact 的外框一致） */
:root{color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;padding:0;font:14px -apple-system,BlinkMacSystemFont,sans-serif;background:#fff;color:#000}
img{max-width:100%}
[hidden]:not([hidden=until-found i]){display:none!important}

/* 登入畫面：蓋在頁面上方的一張卡片，顏色自成一組，深淺色都可讀 */
:root{--lg-scrim:rgba(214,234,236,.92);--lg-card:#ffffff;--lg-ink:#12282b;--lg-muted:#4f6669;--lg-line:#c4d4d3;--lg-accent:#e89a0c;--lg-accent-ink:#2a1b00;--lg-err:#b3261e}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--lg-scrim:rgba(7,18,26,.9);--lg-card:#13262b;--lg-ink:#e4efee;--lg-muted:#9fb4b5;--lg-line:#2c4246;--lg-accent:#ffb830;--lg-err:#ff8a80}}
:root[data-theme="dark"]{--lg-scrim:rgba(7,18,26,.9);--lg-card:#13262b;--lg-ink:#e4efee;--lg-muted:#9fb4b5;--lg-line:#2c4246;--lg-accent:#ffb830;--lg-err:#ff8a80}
.login-wrap{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:var(--lg-scrim);padding:16px max(16px,env(safe-area-inset-right,0px)) 16px max(16px,env(safe-area-inset-left,0px));font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif}
.login{width:min(340px,100%);display:grid;gap:8px;background:var(--lg-card);color:var(--lg-ink);border:1px solid var(--lg-line);border-radius:12px;padding:24px 22px;box-shadow:0 10px 40px rgba(18,40,43,.2)}
.login h1{margin:0;font-size:22px;letter-spacing:.04em}
.login .login-sub{margin:0 0 8px;font-size:13px;color:var(--lg-muted)}
.login label{font-size:13px;font-weight:700}
.login input{font:inherit;font-size:18px;letter-spacing:.06em;padding:10px 12px;border-radius:8px;border:1px solid var(--lg-line);background:transparent;color:var(--lg-ink);width:100%}
.login input:focus-visible{outline:2px solid var(--lg-accent);outline-offset:1px}
.login #loginPwRow{display:grid;gap:8px}
.login #loginPwRow[hidden]{display:none}
.login button{margin-top:6px;font:inherit;font-weight:700;font-size:16px;padding:11px;border-radius:8px;border:0;background:var(--lg-accent);color:var(--lg-accent-ink);cursor:pointer}
.login button[disabled]{opacity:.6;cursor:wait}
.login button:focus-visible{outline:2px solid var(--lg-ink);outline-offset:2px}
.login .login-msg{margin:0;min-height:1.4em;font-size:13px;color:var(--lg-err)}
.login .login-msg.info{color:var(--lg-muted)}
