:root { font-family: system-ui, -apple-system, "Segoe UI", "Noto Sans TC", sans-serif; color: #17324d; background: #f5f8fb; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; line-height: 1.7; }
.site-header { width: min(100% - 2rem, 920px); margin: 1rem auto 0; display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1rem; align-items: center; }
.brand { color: #155e75; font-weight: 800; }
.lesson-label, .page-description, .card-note { color: #52657d; }
.page-shell { width: min(100% - 2rem, 860px); margin: 2rem auto; }
.eyebrow { color: #176b87; font-weight: 800; letter-spacing: .06em; }
.demo-panel { padding: clamp(1rem, 3vw, 1.5rem); border: 1px solid #cbd8e4; border-radius: 20px; background: #fff; }
.service-list { display: flex; flex-wrap: wrap; gap: 1rem; }
.service-card { flex: 1 1 16rem; min-width: 0; padding: 1.25rem; border: 1px solid #d8e0ea; border-radius: 16px; background: #fbfdff; }
.service-card__tag { display: inline-block; color: #176b87; font-weight: 800; }
.service-card h3 { margin: .35rem 0; }
.primary-button, button { padding: .7rem 1rem; border: 0; border-radius: 10px; background: #176b87; color: #fff; font: inherit; cursor: pointer; }
.primary-button:hover, .primary-button:focus-visible { background-color: #0f5268; box-shadow: 0 8px 16px rgb(23 107 135 / 24%); transform: translateY(-2px); }
.primary-button:focus-visible { outline: 3px solid #f3b63f; outline-offset: 3px; }
.service-card:hover, .service-card:focus-within { box-shadow: 0 12px 24px rgb(23 50 77 / 14%); transform: translateY(-2px); }
.status { min-height: 2rem; color: #17643d; }
.evidence-note { margin-top: 1rem; padding: .9rem 1rem; border-left: 4px solid #f3b63f; background: #fff8e6; }

/* TODO-2：請在一般 .primary-button 與 .service-card selector 加入短 transition，並加入 @keyframes attention。 */
/* TODO-3：請加入 @media (prefers-reduced-motion: reduce)，移除非必要位移與 animation，但保留 focus-visible。 */
