:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI","Noto Sans TC",sans-serif;color:#171717;background:#f5f4ef;line-height:1.5}*{box-sizing:border-box}body{margin:0}.site-header,main,footer{max-width:1240px;margin:auto;padding-left:24px;padding-right:24px}.site-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding-top:52px;padding-bottom:28px}.eyebrow{font-size:.78rem;letter-spacing:.14em;font-weight:700;color:#666}h1{font-size:clamp(2rem,5vw,4rem);line-height:1;margin:.35rem 0 .6rem}.subtitle{margin:0;color:#5a5a5a;font-size:1.05rem}.header-actions{display:flex;align-items:center;gap:10px}button,select,input{font:inherit;border:1px solid #c8c6be;background:#fff;border-radius:8px;padding:9px 11px}button{cursor:pointer}.tz{font-size:.85rem;color:#666}.controls{display:grid;grid-template-columns:250px 1fr 2fr;gap:14px;padding:20px 0;border-top:1px solid #d8d6cf;border-bottom:1px solid #d8d6cf}.controls label,.range-control{display:grid;gap:6px;font-size:.82rem;color:#666}.meta{padding:18px 0;color:#666}.notice{padding:12px 14px;margin-bottom:18px;border:1px solid #d7b66a;background:#fff8df;border-radius:8px}.day{padding:18px 0 4px}.day h2{font-size:1.05rem;border-bottom:1px solid #d8d6cf;padding-bottom:8px}.event{display:grid;grid-template-columns:100px 120px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid #e1dfd8}.event-time,.event-source{font-size:.9rem;color:#555}.event h3{font-size:1.02rem;margin:0 0 5px;overflow-wrap:anywhere}.event h3 a{color:inherit;text-decoration:none}.event h3 a:hover{text-decoration:underline}.event-detail{color:#555;font-size:.92rem}.badge{display:inline-block;font-size:.72rem;border:1px solid #c9c6bc;border-radius:999px;padding:1px 7px;margin-left:8px}.agenda-layout{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:32px;align-items:start}.agenda-main{min-width:0}.sources-panel{margin-top:18px;padding:0 0 0 18px;border-left:1px solid #dedbd2;min-width:0}.sources-panel h2{margin:0 0 12px;font-size:.9rem;font-weight:600;color:#666}.source-row{display:grid;grid-template-columns:1fr auto;gap:8px;border-top:1px solid #dedbd2;padding:9px 0}.source-row a{color:#666;font-size:.78rem;text-decoration:none;overflow-wrap:anywhere}.source-row a:hover{text-decoration:underline}.status{font-size:.72rem;white-space:nowrap}.status.ok{color:#28763a}.status.partial{color:#8b6500}.status.error{color:#9b2d2d}.empty{padding:40px 0;color:#666}footer{padding-top:20px;padding-bottom:50px;color:#777;font-size:.85rem}@media(max-width:960px){.agenda-layout{grid-template-columns:1fr;gap:24px}.sources-panel{margin-top:0;padding:18px 0 0;border-left:0;border-top:1px solid #dedbd2}.sources-panel #sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}}@media(max-width:760px){.site-header{padding-top:28px;flex-direction:column}.controls{grid-template-columns:1fr}.event{grid-template-columns:1fr;gap:4px}.event-time,.event-source{display:inline}.sources-panel #sources{grid-template-columns:1fr}}

.range-toggle{display:flex;align-self:start;border:1px solid #c8c6be;border-radius:8px;overflow:hidden;background:#fff}.range-toggle button{flex:1;border:0;border-radius:0;white-space:nowrap;color:#555;background:transparent}.range-toggle button+button{border-left:1px solid #c8c6be}.range-toggle button[aria-pressed="true"]{background:#171717;color:#fff}.range-toggle button:hover{background:#eeede7}.range-toggle button[aria-pressed="true"]:hover{background:#333}.range-toggle button:focus-visible{outline:2px solid #28763a;outline-offset:-3px}

.back-to-top{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:10;display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px;border-radius:999px;background:#e6e5e0;color:#555;border-color:#c8c6be;box-shadow:0 2px 8px #0001;font-size:.85rem}.back-to-top[hidden]{display:none}.back-to-top:hover{background:#d8d6cf}.back-to-top:focus-visible{outline:3px solid #28763a;outline-offset:3px}footer{padding-bottom:96px}@media(max-width:760px){.back-to-top{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}}
