@import "https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;700&family=Noto+Serif+TC:wght@500;600&display=swap";
:root{--ink:#233f38;--accent:#285c4d;--paper:#f6f5ef;--line:#dce1d8;--muted:#63766e}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Noto Sans TC,sans-serif}a{color:inherit;text-decoration:none}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1240px;height:100px;margin:auto;padding:20px 40px;display:flex}header>a:last-child{font-size:13px}.brand{letter-spacing:4px;font:600 24px Noto Serif TC,serif}.brand span{letter-spacing:3px;margin-top:8px;font:10px sans-serif;display:block}main{grid-template-columns:1fr 1.2fr;gap:80px;max-width:1180px;margin:70px auto;padding:0 30px;display:grid}.intro{align-self:start;padding-top:35px;position:sticky;top:60px}.eyebrow{letter-spacing:3px;color:var(--muted);font-size:12px}h1{letter-spacing:2px;margin:24px 0;font:500 48px/1.5 Noto Serif TC,serif}.intro>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.9}.pill{background:#e4eadd;border-radius:30px;margin-top:30px;padding:12px 18px;font-size:12px;display:inline-block}.panel{border:1px solid var(--line);background:#fff;border-radius:20px;padding:34px;box-shadow:0 16px 60px #233f3807}.paneltitle{justify-content:space-between;align-items:center;display:flex}.paneltitle span{color:var(--muted);font-size:11px}h2{margin:0 0 18px;font-size:22px}label{margin:24px 0 10px;font-size:13px;font-weight:500;display:block}input,select{border:1px solid var(--line);width:100%;font:inherit;color:var(--ink);background:#fafbf8;border-radius:9px;min-height:46px;margin-top:10px;padding:12px;display:block}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}fieldset{border:0;margin:28px 0;padding:0}legend{margin-bottom:12px;font-size:13px}.cards{grid-template-columns:1fr 1fr;gap:10px;display:grid}button{cursor:pointer;color:var(--ink);border:1px solid var(--line);font:inherit;background:#fff;border-radius:9px;padding:10px 14px}button:disabled{opacity:.5;cursor:not-allowed}.card{text-align:left;flex-direction:column;gap:8px;padding:16px;display:flex}.card strong{font-size:14px}.card span{color:var(--muted);font-size:12px}.card b{font-size:13px;font-weight:500}.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#edf4ed}.slots{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.slots button{font-size:13px}.twocol{grid-template-columns:1fr 1fr;gap:12px;display:grid}.muted{color:var(--muted);font-size:12px;line-height:1.9}.small{text-align:center;font-size:11px}.primary{text-align:center;background:var(--accent);color:#fff;border:0;border-radius:10px;width:100%;padding:15px;font-size:14px;display:block}.consent{align-items:center;gap:8px;font-size:11px;line-height:1.7;display:flex}.consent input{width:16px;min-height:16px;margin:0}.summary{background:var(--paper);border-radius:8px;margin-top:24px;padding:16px;font-size:13px;line-height:1.9}.error{color:#8b3d2d;background:#fff0ec;border:1px solid #edc8bd;border-radius:8px;margin-top:16px;padding:14px;font-size:13px}.success{text-align:center;align-self:start;line-height:1.9}.success code{overflow-wrap:anywhere;font-size:11px}.check{background:#e6eee0;border-radius:100%;width:64px;height:64px;margin:auto auto 20px;font-size:28px;line-height:64px}.textlink{text-align:center;margin-top:16px;font-size:13px;display:block}.success .primary{margin-top:30px}footer{border-top:1px solid var(--line);max-width:1160px;color:var(--muted);justify-content:space-between;margin:70px auto 30px;padding:24px 30px;font-size:12px;display:flex}.admin{max-width:1180px;margin:50px auto;padding:0 30px}.admin h1{font-size:36px}.login{max-width:500px}.toolbar{align-items:end;gap:14px;margin:20px 0;display:flex}.toolbar label{flex:1;margin:0}.toolbar .primary{width:100px}.metrics{grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0;display:grid}.metrics>div{border:1px solid var(--line);background:#fff;border-radius:14px;padding:24px}.metrics span{color:var(--muted);font-size:12px;display:block}.metrics strong{margin-top:12px;font-size:28px;display:block}.tablewrap{border:1px solid var(--line);background:#fff;border-radius:12px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:700px;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:18px;line-height:1.9}th{background:#edf1e9;font-size:12px}td small{color:var(--muted);display:block}.empty{text-align:center;color:var(--muted);padding:30px}@media (max-width:800px){header{height:85px;padding:20px}.brand{font-size:20px}main{margin:24px auto;padding:0 16px;display:block}.intro{padding:0 12px 30px;position:static}h1{margin:18px 0;font-size:32px}.pill{margin-top:10px}.panel{border-radius:16px;padding:24px 20px}.twocol{grid-template-columns:1fr}.twocol label{margin-top:12px}footer{margin-top:30px;padding:20px;line-height:2;display:block}footer span{display:block}.admin{margin:30px auto;padding:0 16px}.toolbar{flex-wrap:wrap}.metrics{gap:8px}.metrics>div{padding:12px}.metrics strong{font-size:20px}.slots{grid-template-columns:repeat(4,1fr)}}.auth-modes{gap:10px;margin:20px 0;display:flex}.auth-modes button{flex:1;font-size:13px}.auth-modes button[aria-pressed=true]{border-color:var(--accent);background:#edf4ed;font-weight:700}
