:root { --ink:#252525; --muted:#666; --paper:#fff; --line:#ddd; --motion-blue:#17649a; }
.motions-overview-page { --paper:#f3f1f6; }
.detail-top { border-bottom:1px solid var(--line); align-items:center; }
.detail-kicker { color:var(--muted); }
.detail-top > div { min-width:0; }
.detail-top h1 { display:flex; align-items:flex-start; gap:12px; line-height:1.4; overflow-wrap:anywhere; color:var(--purple); }
.detail-top h1 img { flex:none; margin-top:3px; }
.back { flex:none; }
.back:not([href="index.html#efficiency"]) { color:var(--motion-blue); background:transparent; border:0; border-radius:0; padding:0; text-decoration:underline; text-underline-offset:3px; }
.period { color:var(--muted); font-size:14px; margin:8px 0 0; }
.motions-page { width:min(1200px,calc(100% - 48px)); margin:28px auto 48px; }
.motion-overview { padding:20px; margin-bottom:26px; border-radius:8px; background:#fff; min-width:0; }
.motion-overview h2 { margin:0 0 18px; font-size:26px; line-height:1.5; }
#motion-committee-chart { display:grid; grid-template-columns:38px minmax(0,1fr); grid-template-rows:280px 320px; min-width:1050px; padding:0 8px; }
.motion-overview .department-bar { border:0; padding:0; border-radius:0; background:var(--purple); color:var(--ink); cursor:pointer; font:inherit; }
.motion-overview .department-bar[data-total="0"] { background:transparent; border-bottom:2px solid var(--line); }
.motion-overview .department-name { border:0; padding:0; background:none; color:#202020; cursor:pointer; font-family:inherit; font-size:16px; font-weight:600; text-align:left; }
.motion-overview a { text-decoration:none; }
.motion-overview .department-name:hover { color:var(--purple); text-decoration:underline; text-underline-offset:4px; }
.motion-list[hidden], .motion-list tr[hidden] { display:none; }
.results-count { color:var(--muted); font-size:14px; margin:0 0 16px; }
.motion-table { width:100%; min-width:0; border-collapse:collapse; table-layout:fixed; line-height:1.65; font-size:15px; }
.motion-table.vote-table { font-size:20px; }
.motion-table th { color:var(--ink); background:#e7e7e7; font-weight:700; text-align:left; }
.motion-table th, .motion-table td { padding:18px 16px; border-bottom:1px solid #fff; vertical-align:top; overflow-wrap:anywhere; white-space:normal; font-size:inherit; }
.motion-table td { background:#f5f5f5; }
.motion-table tbody tr:nth-child(even) td { background:#ededed; }
.motion-table tbody tr:hover td { background:#e8f0f5; }
.motion-table a, .motion-section a { color:var(--motion-blue); text-decoration:underline; text-underline-offset:3px; }
.motion-title { font-weight:700; }
.date-column { width:135px; }
.result-column { width:90px; }
.wording-column { width:170px; }
.report-column { width:150px; }
.motion-table time { font-variant-numeric:tabular-nums; white-space:nowrap; }
.motion-table tr:target td { background:#e2edf5; }
.motion-list-scroll { overflow-x:auto; }
.motions-committee-page { width:calc(100% - 48px); }
.motions-committee-page .motion-list-scroll { overflow-x:auto; }
.motion-table.motion-committee-list { min-width:1200px; font-size:18px; }
.motion-committee-list th, .motion-committee-list td { padding:18px 12px; }
.motion-committee-list .date-column { width:135px; }
.motion-committee-list .motion-title-column { width:18%; }
.motion-committee-list .member-column { width:100px; }
.motion-committee-list .result-column { width:65px; }
.motion-committee-list .wording-column { width:180px; }
.motion-committee-list .report-column { width:115px; }
.motion-committee-list .bureau-column { width:15%; }
.motion-committee-list thead th { vertical-align:middle; background:#832a7c; color:#fff; border-color:#a759a2; }
.motion-committee-list thead tr:first-child th:nth-child(6), .motion-committee-list td[data-label="已通過議案措辭"] a { white-space:nowrap; }
.motion-committee-list .report-group { text-align:center; }
.motion-committee-list a { color:var(--purple); }
.motion-committee-list a:focus-visible { outline-color:var(--purple); }
@media(min-width:641px) {
  .motion-committee-list tbody tr:nth-child(odd) td { background:#fff; }
  .motion-committee-list tbody tr:nth-child(even) td { background:#f6f0f7; }
  .motion-committee-list tbody tr:target td { background:#eee4f2; }
}
.motion-policy-analysis p { margin:0 0 12px; line-height:1.8; }
.motion-table .motion-policy-source { display:inline-block; font-size:13px; line-height:1.5; }
.motion-committee-list .motion-policy-source { font-size:16px; }
a:focus-visible, summary:focus-visible { outline:2px solid var(--motion-blue); outline-offset:4px; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.motion-heading { margin:0 0 16px; font-size:24px; line-height:1.5; overflow-wrap:anywhere; }
.motion-section { padding:24px 0; border-top:1px solid var(--line); }
.motion-section h3 { font-size:18px; margin:0 0 16px; }
.motion-section p { margin:0 0 12px; line-height:1.85; overflow-wrap:anywhere; }
.motion-meta { display:grid; grid-template-columns:130px minmax(0,1fr); gap:12px 20px; margin:0; line-height:1.7; }
.motion-meta dt { color:var(--muted); }
.motion-meta dd { margin:0; overflow-wrap:anywhere; }
.motion-documents { display:flex; flex-wrap:wrap; gap:12px 28px; margin:0; padding:0; list-style:none; }
.policy-sources { margin:0; padding-left:20px; line-height:1.8; }
.policy-sources li + li { margin-top:8px; }
.full-analysis { margin-top:16px; }
.full-analysis summary { cursor:pointer; color:var(--motion-blue); margin-bottom:12px; }
@media(max-width:900px) and (min-width:641px) {
  .motion-table { font-size:14px; }
  .motion-table th, .motion-table td { padding:14px 10px; }
  .date-column { width:112px; }
  .result-column { width:62px; }
  .wording-column { width:110px; }
  .report-column { width:100px; }
}
@media(min-width:641px) and (max-width:1280px) {
  .motion-table.motion-committee-list { font-size:16px; }
  .motion-committee-list th, .motion-committee-list td { padding:14px 10px; }
  .motion-committee-list .date-column { width:112px; }
  .motion-committee-list .motion-title-column { width:16%; }
  .motion-committee-list .member-column { width:80px; }
  .motion-committee-list .result-column { width:55px; }
  .motion-committee-list .wording-column { width:150px; }
  .motion-committee-list .report-column { width:105px; }
  .motion-committee-list .bureau-column { width:13%; }
}
@media(max-width:640px) {
  .motion-table.motion-committee-list { min-width:0; }
  .motion-overview h2 { font-size:20px; }
  #motion-committee-chart { grid-template-rows:240px 320px; }
  .detail-top { padding:18px 16px; flex-wrap:wrap; gap:12px; }
  .detail-top h1 { font-size:22px; gap:8px; }
  .detail-top h1 img { width:24px; height:24px; }
  .period { font-size:12px; }
  .motions-page { width:calc(100% - 32px); margin:20px auto 36px; }
  .motion-list, .motion-list tbody, .motion-list tr, .motion-list td { display:block; width:100%; }
  .motion-list colgroup, .motion-list thead { display:none; }
  .motion-list tr { padding:12px; background:#f5f5f5; border-bottom:4px solid #fff; }
  .motion-list tr:nth-child(even) { background:#ededed; }
  .motion-committee-list tbody tr { background:#fff; }
  .motion-committee-list tbody tr:nth-child(even) { background:#f6f0f7; }
  .motion-committee-list tbody tr:target { background:#eee4f2; }
  .motion-committee-list tbody tr:target td { background:transparent; }
  .motion-list td, .motion-list tbody tr:nth-child(even) td, .motion-list tbody tr:hover td { display:grid; grid-template-columns:112px minmax(0,1fr); gap:10px; padding:7px 0; border:0; background:transparent; }
  .motion-list td::before { content:attr(data-label); font-size:13px; color:var(--muted); }
  .motion-committee-list td::before { font-size:14px; }
  .motion-list td > * { min-width:0; }
  .motion-committee-list tbody tr td[data-label="施政報告關聯分析"] { grid-template-columns:minmax(0,1fr); }
  .motion-heading { font-size:21px; }
  .motion-meta { grid-template-columns:100px minmax(0,1fr); gap:12px; font-size:14px; }
  .motion-table.vote-table { font-size:18px; }
  .vote-table th, .vote-table td { padding:12px 8px; }
}