.tdl-document { margin: 0; background: #f4f7fb; }
.td-legal { --tdl-ink:#172b46; --tdl-muted:#60718a; --tdl-blue:#1d69e4; --tdl-green:#168265; --tdl-line:#e6edf5; --tdl-paper:#fff; box-sizing:border-box; color:var(--tdl-ink); background:var(--tdl-paper); font-family:"PingFang TC","Noto Sans TC","Microsoft JhengHei",-apple-system,BlinkMacSystemFont,sans-serif; font-size:15px; line-height:1.75; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; max-width:760px; margin:0 auto; min-height:100vh; }
.td-legal *, .td-legal *::before, .td-legal *::after { box-sizing:border-box; }
.td-legal h1, .td-legal h2, .td-legal p, .td-legal ul { margin:0; }
.td-legal a { color:var(--tdl-blue); text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.td-legal a:focus-visible, .tdl-skip:focus-visible { outline:3px solid #1d69e4; outline-offset:4px; border-radius:3px; }
.tdl-top { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:60px; padding: max(8px, env(safe-area-inset-top)) 24px 8px; border-bottom:1px solid var(--tdl-line); }
.tdl-top .tdl-back { display:inline-flex; align-items:center; gap:5px; min-height:44px; margin-left:-7px; color:var(--tdl-ink); text-decoration:none; font-size:14px; }
.tdl-brand { color:var(--tdl-muted); font-size:12px; white-space:nowrap; }
.tdl-body { padding:32px 36px max(28px, env(safe-area-inset-bottom)); }
.tdl-intro h1 { font-size:28px; line-height:1.35; letter-spacing:-.025em; font-weight:700; }
.tdl-intro > p { margin-top:14px; color:var(--tdl-muted); font-size:15px; line-height:1.8; }
.tdl-intro .tdl-date { margin-top:12px; font-size:12px; }
.tdl-summary { display:flex; flex-wrap:wrap; gap:8px 18px; list-style:none; padding:16px 0 22px; }
.tdl-summary li { display:flex; align-items:baseline; gap:7px; font-size:12px; color:#426553; }
.tdl-summary li > span { color:var(--tdl-green); font-weight:700; }
.tdl-contents { display:flex; flex-wrap:wrap; gap:0 16px; padding:14px 0; border-top:1px solid var(--tdl-line); border-bottom:1px solid var(--tdl-line); }
.tdl-contents a { display:inline-flex; align-items:center; min-height:38px; font-size:13px; text-decoration:none; }
.tdl-section { padding-top:30px; scroll-margin-top:18px; }
.tdl-section h2 { font-size:18px; line-height:1.55; font-weight:650; letter-spacing:-.012em; margin-bottom:10px; }
.tdl-section p { font-size:14px; line-height:1.9; overflow-wrap:anywhere; }
.tdl-section p + p { margin-top:12px; }
.tdl-contact { display:flex; flex-direction:column; align-items:flex-start; gap:10px; padding:18px 20px; background:#edf5ff; border-radius:12px; margin-top:24px; }
.tdl-contact strong { font-size:16px; font-weight:650; }
.tdl-contact p { color:#49627f; font-size:13px; margin-top:2px; }
.tdl-contact .tdl-email { display:inline-flex; align-items:center; min-height:44px; font-size:16px; font-weight:600; }
.tdl-contact small { color:#49627f; font-size:11px; }
.tdl-references { padding-left:20px; }
.tdl-references a { display:inline-block; padding:8px 0; font-size:14px; }
.tdl-footer { margin-top:34px; padding-top:22px; border-top:1px solid var(--tdl-line); }
.tdl-footer-contact { display:flex; flex-direction:column; gap:4px; margin-bottom:18px; }
.tdl-footer-contact strong { font-size:14px; font-weight:600; }
.tdl-footer-contact a { display:inline-flex; align-items:center; width:fit-content; min-height:44px; font-size:14px; }
.tdl-footer nav { display:flex; flex-wrap:wrap; column-gap:20px; row-gap:4px; }
.tdl-footer nav a { display:inline-flex; align-items:center; min-height:44px; font-size:12px; }
.tdl-footer nav a[aria-current="page"] { color:var(--tdl-muted); text-decoration:none; }
.tdl-footer > p { color:var(--tdl-muted); font-size:11px; line-height:1.75; margin-top:12px; }
.tdl-footer .tdl-publisher { font-size:12px; margin:0 0 12px; }
.tdl-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.tdl-skip { position:fixed; left:12px; top:-60px; z-index:50; background:#fff; color:#1d69e4; padding:12px; font:14px sans-serif; }
.tdl-skip:focus { top:12px; }
.td-legal--embedded { max-width:680px; min-height:0; margin:0 auto; }
.td-legal--embedded .tdl-body { padding:6px 0 20px; }
@media (max-width:480px) { .tdl-body { padding:26px 22px max(26px, env(safe-area-inset-bottom)); } .tdl-top { padding-left:20px; padding-right:20px; } .tdl-intro h1 { font-size:26px; } .tdl-summary { gap:6px 14px; padding-bottom:20px; } .tdl-section { padding-top:26px; } .tdl-contact { padding:16px; } }
@media (prefers-reduced-motion:reduce) { .td-legal *, .td-legal *::before, .td-legal *::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
@media print { .tdl-document { background:#fff; } .tdl-top, .tdl-contents, .tdl-skip, .tdl-footer nav { display:none; } .tdl-body { padding:0; } .td-legal { max-width:none; font-size:11pt; } .tdl-section { break-inside:avoid; } }
