:root{color-scheme:dark;--paper:#d9d9d9;--muted:#8c8c8c;--accent:#c8c8c8;--bg:#151515;--line:#353535;--panel:#262626;font-family:"Segoe UI","Noto Sans TC","Microsoft JhengHei",sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 80% 0%,#31313155,transparent 45%),var(--bg);color:var(--paper);min-width:320px}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{color:var(--paper)}[hidden]{display:none!important}.masthead{max-width:1440px;margin:auto;padding:25px 4.2%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:20px}.wordmark{font-size:11px;letter-spacing:2.5px;font-weight:650;display:flex;align-items:center;gap:12px}.brand-icon{font-family:monospace;font-size:24px;color:var(--accent);line-height:1}.live-clock{font-size:11px;letter-spacing:.4px;display:flex;align-items:center;gap:9px;color:var(--muted);font-variant-numeric:tabular-nums}.live-clock time{color:var(--paper)}.live-dot{width:5px;height:5px;background:var(--accent);border-radius:50%;box-shadow:0 0 9px #c8c8c845}.utc-label{font-size:9px;opacity:.7}.quiet-button{background:transparent;border:1px solid var(--line);padding:9px 13px;font-size:11px;letter-spacing:.6px;border-radius:3px;transition:background .2s,border-color .2s}.quiet-button:hover{background:#ffffff08;border-color:#646464}.quiet-button span{margin-left:12px;color:var(--accent)}main{max-width:1320px;margin:auto;padding:0 36px}.intro{padding:60px 2px 46px;display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.eyebrow{font-size:9px;letter-spacing:3px;color:var(--accent);margin:0 0 20px}h1{font-size:clamp(26px,3.3vw,43px);font-weight:500;letter-spacing:6px;margin:0;line-height:1.3}h1 span{font-family:Georgia,serif;letter-spacing:0;font-size:22px;font-style:italic;font-weight:400;color:#999999;margin-left:25px;white-space:nowrap}.intro-copy{font-size:12px;letter-spacing:2px;color:var(--muted);margin:18px 0 0}.intro-aside{display:flex;gap:16px;align-items:center;margin-bottom:3px;color:var(--muted);font-size:10px;line-height:1.9;letter-spacing:1px}.archive-count{font-family:Georgia,serif;font-size:46px;line-height:1;color:#bababa}.toolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:11px 0;gap:12px}.filters{display:flex;gap:5px}.filter{font-size:11px;background:transparent;border:0;color:var(--muted);padding:9px 14px;border-radius:2px}.filter:hover{color:var(--paper)}.filter.active{background:#c9c9c916;color:#dbdbdb}.filter span{font-size:9px;margin-left:8px;opacity:.65}.column-key{display:flex;justify-content:space-between;color:#828282;font:9px/1.5 "Segoe UI",sans-serif;letter-spacing:2px;padding:24px 2px 12px}.event-list{display:flex;flex-direction:column;gap:24px}.clock-panel{position:relative;border:1px solid #0c0c0c;border-radius:5px;background:linear-gradient(155deg,#2d2d2d,#252525 50%,#202020);padding:17px 25px 0;box-shadow:0 3px 0 #090909,0 5px 16px #00000044,inset 0 0 0 2px #3a3a3a,inset 0 0 0 4px #1c1c1c;container-type:inline-size}.clock-panel:before,.clock-panel:after{content:"";position:absolute;top:10px;width:3px;height:3px;border-radius:50%;background:#626262;box-shadow:0 1px 1px #000000;opacity:.7}.clock-panel:before{left:10px}.clock-panel:after{right:10px}.panel-heading{display:flex;align-items:center;justify-content:center;border:1px solid #111111;box-shadow:inset 0 1px 2px #00000055,0 1px 0 #3e3e3e33;border-radius:4px;min-height:56px;padding:12px 18px;background:#20202088;gap:12px}.panel-heading h2{display:flex;justify-content:center;align-items:baseline;flex-wrap:wrap;gap:6px 14px;margin:0;text-align:center;font-weight:450;line-height:1.35}.title-zh{font-size:clamp(13px,2.05cqw,25px);letter-spacing:1.5px;color:#ededed}.title-en{font-size:clamp(10px,1.75cqw,21px);letter-spacing:.25px;color:#d1d1d1;font-weight:400}.clock-face{--gap:clamp(2px,.8cqw,10px);position:relative;display:flex;gap:var(--gap);align-items:stretch;padding:23px 1px 18px;perspective:900px}.flip-cell{position:relative;flex:1;min-width:0;aspect-ratio:.62;border:1px solid #0a0a0a;border-radius:4px;background:#191919;box-shadow:2px 3px 3px #00000077,inset 0 0 0 2px #3c3c3c;perspective:500px;isolation:isolate}.half{display:block;position:absolute;left:3px;right:3px;height:50%;overflow:hidden;backface-visibility:hidden;background:linear-gradient(130deg,#212121,#1c1c1c);color:#fbfbfb;border-radius:2px;font-family:"Arial Narrow","Segoe UI",Arial,sans-serif;font-weight:500;font-variant-numeric:tabular-nums;font-size:clamp(20px,8.5cqw,108px);line-height:1;letter-spacing:-.065em;text-shadow:0 1px 1px #ffffff22}.half span{position:absolute;display:flex;justify-content:center;align-items:center;height:200%;width:100%;padding-right:.065em}.upper{top:3px;height:calc(50% - 3px);border-bottom:1px solid #111111;box-shadow:inset 0 2px 0 #4e4e4e}.lower{bottom:3px;height:calc(50% - 3px);background:linear-gradient(0deg,#242424,#1c1c1c);box-shadow:inset 0 -2px 0 #424242}.upper span{top:0}.lower span{bottom:0}.sign-cell .half{font-weight:300;font-size:clamp(19px,7.3cqw,93px)}.hinge{position:absolute;z-index:4;top:calc(50% - 2px);left:0;right:0;height:4px;background:#0e0e0e;box-shadow:0 1px 0 #3a3a3a88;opacity:.75}.hinge:before,.hinge:after{content:"";position:absolute;width:3px;height:9px;top:-3px;background:linear-gradient(90deg,#090909,#565656,#161616);border-radius:1px}.hinge:before{left:1px}.hinge:after{right:1px}.colon{width:1.1cqw;flex:0 0 1.1cqw;display:flex;align-items:center;justify-content:center;color:#e8e8e8;font-family:Arial,sans-serif;font-size:clamp(20px,6.8cqw,86px);font-weight:500;padding-bottom:1.8cqw;line-height:1}.panel-meta{display:flex;align-items:center;gap:13px;padding:12px 0 12px;border-top:1px solid #3e3e3e2e;font-size:10px;letter-spacing:.5px;min-height:43px}.event-status{color:var(--accent);display:flex;align-items:center;gap:6px;white-space:nowrap}.event-status:before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}.target-preview{color:#909090;font-size:10px;letter-spacing:.6px;font-variant-numeric:tabular-nums}.info-button{background:none;border:0;color:#aaaaaa;font-size:10px;padding:4px 0 4px 10px;margin-left:auto;white-space:nowrap}.info-button:hover{color:#e6e6e6}.info-button span{margin-left:7px;font-size:13px}.event-info{border-top:1px solid #47474780;padding:18px 2px 22px;font-size:12px;line-height:1.8;color:#b1b1b1}.event-info dl{margin:0 0 12px;display:grid;gap:5px}.event-info dl div{display:flex;gap:20px}.event-info dt{font-size:10px;color:#838383;min-width:74px}.event-info dd{margin:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.event-reason{margin:12px 0}.source-line{display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap;font-size:10px}.source-line a{text-decoration:underline;text-underline-offset:4px;color:#c6c6c6}.precision-tag{color:#8a8a8a}.credit{font-size:10px;color:#888888;margin-bottom:0}[data-state="past"] .event-status{color:#b2b2b2}[data-state="unavailable"] .event-status{color:#bcbcbc}.data-unavailable{width:100%;text-align:center;padding:40px 10px;color:#b2b2b2;font-size:16px}.page-footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:37px;padding:24px 2px 40px;border-top:1px solid var(--line);font-size:9px;letter-spacing:1px;color:#7b7b7b;line-height:2}.footer-divider{padding:0 12px;color:#535353}.page-footer a{margin-left:16px;color:#ababab}.time-lab{margin-top:14px;padding:20px 24px;background:#242424;border:1px solid #4a4a4a;border-radius:4px}.lab-heading{display:flex;gap:20px;align-items:baseline;flex-wrap:wrap}.lab-heading h2{font-size:14px;font-weight:500;margin:0}.lab-heading p{font-size:11px;color:#a2a2a2;margin:0}.time-lab label{display:block;font-size:10px;color:#a2a2a2;margin:18px 0 7px}.lab-inputs{display:flex;flex-wrap:wrap;gap:10px}.lab-inputs input{min-width:0;padding:9px 12px;background:#171717;border:1px solid #535353;border-radius:3px;color:#e5e5e5;font-size:12px}.solid-button{border:1px solid #c4c4c4;background:#c7c7c7;color:#252525;padding:9px 17px;border-radius:3px;font-size:11px}.solid-button:hover{background:#d9d9d9}button:disabled{opacity:.4;cursor:default}.presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px;align-items:center;font-size:10px;color:#999999}.presets span{margin-right:8px}.presets button{font-size:10px;border:1px solid #4c4c4c;background:transparent;color:#c4c4c4;padding:7px 10px;border-radius:2px}.presets button:hover{background:#c8c8c812}.lab-status{font-size:10px;color:#c9c9c9;margin:12px 0 0;min-height:15px}.test-banner{position:sticky;top:0;z-index:10;margin:12px 0;padding:10px 14px;background:#383838;border:1px solid #606060;color:#d7d7d7;display:flex;align-items:center;justify-content:space-between;font-size:11px}.test-banner button{background:none;border:0;font-size:11px;color:inherit}.testing .live-dot{background:#c2c2c2}.empty-state{text-align:center;color:var(--muted);padding:60px}.turn-out{z-index:5;transform-origin:center bottom;animation:flip-out .24s ease-in forwards}.turn-in{z-index:5;transform-origin:center top;transform:rotateX(90deg);animation:flip-in .25s .23s ease-out forwards}@keyframes flip-out{from{transform:rotateX(0)}to{transform:rotateX(-90deg)}}@keyframes flip-in{from{transform:rotateX(90deg)}to{transform:rotateX(0)}}.exit-exhibit{position:fixed;bottom:16px;right:16px;z-index:20;background:#171717db;border:1px solid #676767;border-radius:4px;color:#cbcbcb;padding:10px 15px;font-size:11px;opacity:.35}.exit-exhibit:hover,.exit-exhibit:focus-visible{opacity:1}.exhibit .masthead,.exhibit .intro,.exhibit .toolbar,.exhibit .column-key,.exhibit .page-footer,.exhibit .time-lab{display:none}.exhibit main{max-width:1600px;padding-top:28px}.exhibit .panel-meta{display:none}.exhibit .clock-panel{padding-bottom:10px}.noscript{text-align:center;padding:50px}.clock-panel:target{outline:1px solid var(--accent)}@media(min-width:1600px){main{max-width:1420px}}@media(max-width:700px){main{padding:0 14px}.masthead{padding:18px 16px;flex-wrap:wrap;gap:14px}.wordmark{font-size:9px;letter-spacing:1.3px}.live-clock{font-size:9px;gap:6px;order:3;width:100%;justify-content:center}.masthead .quiet-button{font-size:10px;padding:7px 10px}.intro{padding:36px 2px 28px}.eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:15px}h1{font-size:29px;letter-spacing:4px}h1 span{display:block;margin:8px 0 0;font-size:19px}.intro-copy{font-size:10px;letter-spacing:1px}.intro-aside{display:none}.filter{font-size:10px;padding:8px}.filter span{display:none}.toolbar{gap:3px}.test-toggle{font-size:10px;padding:8px}.test-toggle span{margin-left:4px}.column-key{font-size:7px;letter-spacing:1px;padding-top:19px}.event-list{gap:17px}.clock-panel{padding:12px 11px 0}.panel-heading{min-height:53px;padding:10px 8px;gap:5px}.panel-heading h2{gap:4px}.title-zh{font-size:14px;letter-spacing:.8px}.title-en{font-size:10px;line-height:1.3}.clock-face{padding-top:16px;padding-bottom:14px;--gap:1cqw}.flip-cell{border-radius:2px}.half{left:1px;right:1px;font-size:8.7cqw}.upper{top:2px;height:calc(50% - 2px)}.lower{bottom:2px;height:calc(50% - 2px)}.sign-cell .half{font-size:7.5cqw}.hinge{height:2px;top:calc(50% - 1px)}.hinge:before,.hinge:after{height:5px;width:2px;top:-1px}.panel-meta{gap:7px;font-size:8px;min-height:36px;padding:8px 0}.target-preview{font-size:8px;letter-spacing:0}.info-button{font-size:8px;padding-left:2px}.info-button span{margin-left:2px;font-size:10px}.event-info{font-size:11px}.event-info dl div{display:block}.event-info dt{font-size:9px}.source-line{gap:10px}.time-lab{padding:16px 13px}.lab-inputs input{width:100%}.test-banner{font-size:10px}.page-footer{margin-top:24px;padding-bottom:25px;font-size:8px}.page-footer a{margin-left:0;display:block}.exhibit main{padding-top:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Shared event-information visibility control. */
.toolbar-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.info-switch{display:inline-flex;align-items:center;gap:10px;padding:8px 0;background:none;border:0;font-size:11px;letter-spacing:.5px;color:#b3b3b3}
.switch-track{display:inline-block;position:relative;width:30px;height:17px;border:1px solid #7d7d7d;background:#6f6f6f;border-radius:20px;transition:background .2s,border-color .2s}
.switch-thumb{position:absolute;top:3px;left:15px;width:9px;height:9px;border-radius:50%;background:#e7e7e7;transition:left .2s,background .2s}
.info-switch[aria-checked="false"] .switch-track{background:#262626;border-color:#585858}
.info-switch[aria-checked="false"] .switch-thumb{left:4px;background:#989898}
.hide-event-info .panel-meta,.hide-event-info .event-info{display:none}
@media(max-width:700px){.toolbar{flex-wrap:wrap;row-gap:9px}.toolbar-actions{width:100%;justify-content:space-between;gap:12px;padding:2px 7px 0}.info-switch{font-size:10px}}
/* Scattered wall layout keeps the original panel design, uniformly scaled. */
.toolbar{flex-wrap:wrap}
.layout-controls{display:flex;align-items:center;border:1px solid var(--line);border-radius:3px;padding:2px;gap:2px}
.layout-button{background:none;border:0;color:var(--muted);font-size:10px;letter-spacing:.5px;padding:7px 10px;border-radius:2px}
.layout-button.active{background:#c9c9c918;color:#dbdbdb}
.layout-button:hover{color:var(--paper)}
.scatter-mode main{max-width:none;padding-left:28px;padding-right:28px}
.scatter-mode .intro{padding-top:27px;padding-bottom:25px}
.scatter-mode .intro h1{font-size:28px}
.scatter-mode .intro h1 span{font-size:19px}
.scatter-mode .intro .eyebrow{margin-bottom:12px}
.scatter-mode .intro-copy{margin-top:12px}
.scatter-mode .event-list{position:relative;display:block;gap:0;isolation:isolate}
.scatter-mode .clock-panel{position:absolute;width:1000px;padding:17px 25px 0;transform:scale(var(--scatter-scale,.3));transform-origin:top left}
.scatter-mode .clock-panel:focus-within{z-index:2}
.scatter-mode .panel-heading{min-height:56px;padding:12px 18px;gap:12px}
.scatter-mode .panel-heading h2{gap:6px 14px}
.scatter-mode .title-zh{font-size:clamp(13px,2.05cqw,25px);letter-spacing:1.5px}
.scatter-mode .title-en{font-size:clamp(10px,1.75cqw,21px);letter-spacing:.25px}
.scatter-mode .clock-face{padding:23px 1px 18px;--gap:clamp(2px,.8cqw,10px)}
.scatter-mode .half{left:3px;right:3px;font-size:clamp(20px,8.5cqw,108px)}
.scatter-mode .upper{top:3px;height:calc(50% - 3px)}
.scatter-mode .lower{bottom:3px;height:calc(50% - 3px)}
.scatter-mode .sign-cell .half{font-size:clamp(19px,7.3cqw,93px)}
.scatter-mode .hinge{height:4px;top:calc(50% - 2px)}
.scatter-mode .hinge:before,.scatter-mode .hinge:after{height:9px;width:3px;top:-3px}
.scatter-mode .panel-meta{gap:13px;font-size:10px;min-height:43px;padding:12px 0}
.scatter-mode .target-preview{font-size:10px;letter-spacing:.6px}
.scatter-mode .info-button{font-size:10px;padding-left:10px}
.scatter-mode .info-button span{margin-left:7px;font-size:13px}
.scatter-mode .event-info{font-size:12px}
.scatter-mode .event-info dl div{display:flex}
.scatter-mode .event-info dt{font-size:10px}
.scatter-mode .page-footer{margin-top:10px}
.scatter-mode.exhibit main{padding-top:24px}
.scatter-mode.exhibit .clock-panel{padding-bottom:10px}
.exhibit .event-info{display:none}
@media(max-width:700px){.toolbar-actions{gap:10px 14px}.scatter-mode main{padding-left:12px;padding-right:12px}.scatter-mode .intro{padding-top:28px}.layout-button{padding:7px 9px}}
/* Clock surfaces stay monochrome and dark in both page themes. */
.clock-panel{color-scheme:dark;--paper:#dedede;--muted:#8c8c8c;--accent:#cccccc;--bg:#151515;--line:#353535;--panel:#252525;color:var(--paper)}
.light-theme{color-scheme:light;--paper:#222222;--muted:#666666;--accent:#333333;--bg:#ffffff;--line:#dddddd;--panel:#f5f5f5;background:#ffffff}
.light-theme .quiet-button:hover{background:#00000008;border-color:#999999}
.light-theme h1 span,.light-theme .archive-count{color:#666666}
.light-theme .filter.active,.light-theme .layout-button.active{background:#0000000c;color:#222222}
.light-theme .column-key,.light-theme .page-footer{color:#777777}
.light-theme .footer-divider{color:#aaaaaa}
.light-theme .page-footer a{color:#444444}
.light-theme .info-switch{color:#555555}
.light-theme .switch-track{background:#555555;border-color:#555555}
.light-theme .switch-thumb{background:#ffffff}
.light-theme .info-switch[aria-checked="false"] .switch-track{background:#eeeeee;border-color:#bbbbbb}
.light-theme .info-switch[aria-checked="false"] .switch-thumb{background:#888888}
.light-theme .time-lab{background:#f7f7f7;border-color:#dddddd}
.light-theme .lab-heading p,.light-theme .time-lab label,.light-theme .presets{color:#666666}
.light-theme .lab-inputs input{background:#ffffff;border-color:#bbbbbb;color:#222222}
.light-theme .solid-button{background:#333333;border-color:#333333;color:#ffffff}
.light-theme .solid-button:hover{background:#555555}
.light-theme .presets button{color:#444444;border-color:#cccccc}
.light-theme .presets button:hover{background:#00000008}
.light-theme .lab-status{color:#444444}
.light-theme .test-banner{background:#eeeeee;border-color:#bbbbbb;color:#333333}
.light-theme .exit-exhibit{background:#ffffffed;border-color:#aaaaaa;color:#333333}
/* State is conveyed by the switch thumb, labels and shapes, not hue. */
.light-theme .live-dot{box-shadow:0 0 8px #00000020}
/* Clock size is applied to the complete, original panel in scattered mode. */
.scatter-size-control{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:10px;letter-spacing:.5px;max-width:100%}
.scatter-size-control label{white-space:nowrap}
.scatter-size-control input{width:104px;min-width:0;height:24px;margin:0;cursor:pointer;accent-color:var(--accent)}
.scatter-size-control output{width:49px;font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--paper);text-align:right}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){.scatter-size-control{flex:0 0 100%;justify-content:space-between}.scatter-size-control input{flex:1;width:auto;max-width:260px}}