:root{--sea: #dce5e8;--sea-deep: #c9d6db;--land: #f8f9f5;--coast: #b3c2c8;--ink: #12233b;--ink-soft: #4d5f77;--paper: #ffffff;--c-politics: #cf3a2e;--c-economy: #1f5fbf;--c-market: #8a3fc0;--c-energy: #b8650a;--c-security: #8c1c4a;--c-ai: #0b7a75;--t-ai: var(--c-ai);--t-security: var(--c-security);--t-finance: var(--c-economy);--t-other: #4d5f77;--on-mark: #ffffff;--card-w: 30rem;--display: "Noto Serif TC", "Songti TC", "PMingLiU", serif;--body: -apple-system, BlinkMacSystemFont, "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", sans-serif}@media(prefers-color-scheme:dark){:root{--sea: #0d1826;--sea-deep: #1a2a3e;--land: #1c2b3f;--coast: #34485f;--ink: #e8eef3;--ink-soft: #9fb1c4;--paper: #15253a;--c-politics: #ff8073;--c-economy: #74abff;--c-market: #c792ff;--c-energy: #ffb454;--c-security: #f47fae;--c-ai: #4fd1c5;--t-other: #9fb1c4;--on-mark: #0d1826}}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--sea);color:var(--ink);font:16px/1.7 var(--body);-webkit-font-smoothing:antialiased}button,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}[hidden]{display:none!important}.bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:1.25rem;padding:.7rem clamp(1rem,4vw,3rem);background:color-mix(in srgb,var(--sea) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.wordmark{font:900 1.25rem/1 var(--display);letter-spacing:.12em;color:var(--ink);text-decoration:none;margin-right:auto;white-space:nowrap}.units{display:flex;background:var(--sea-deep);border-radius:999px;padding:3px}.units button{min-width:2.6rem;padding:.25rem .7rem;border-radius:999px;font-size:.95rem;color:var(--ink-soft)}.units button[aria-pressed=true]{background:var(--ink);color:var(--sea);font-weight:600}.quiet{font-size:.9rem;color:var(--ink-soft);text-decoration:underline;text-underline-offset:.25em;white-space:nowrap}.quiet:hover{color:var(--ink)}.lead{padding:clamp(1.5rem,5vw,3.5rem) clamp(1rem,4vw,3rem) 0}.headline{display:flex;align-items:center;gap:clamp(.5rem,2vw,1.25rem)}h1{margin:0;font:900 clamp(1.9rem,6vw,4.2rem) / 1.15 var(--display);letter-spacing:.02em}.step{flex:none;width:2.75rem;height:2.75rem;border-radius:50%;border:1.5px solid var(--ink);font:500 1.5rem/1 var(--display);padding-bottom:.2rem}.step:hover{background:var(--ink);color:var(--sea)}.step.small{width:2rem;height:2rem;font-size:1.1rem;border-width:1px}.tally{margin:.6rem 0 0;color:var(--ink-soft);font-size:1.05rem}.notice{display:inline-block;margin:.9rem 0 0;padding:.35rem .8rem;background:var(--paper);border-radius:6px;font-size:.9rem}.controls{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.4rem;margin-top:1.5rem;font-size:.92rem}.types{display:flex;gap:.4rem}.type-toggle{padding:.3rem .9rem;border-radius:999px;background:var(--paper);font-weight:600}.type-toggle[aria-pressed=false]{background:transparent;color:var(--ink-soft);font-weight:400;text-decoration:line-through}.check{display:inline-flex;align-items:center;gap:.4rem}.check input{accent-color:var(--ink);width:1rem;height:1rem}.pick{color:var(--ink-soft)}.pick select{margin-left:.3rem;padding:.25rem .5rem;border:1px solid var(--coast);border-radius:6px;background:var(--paper);color:var(--ink)}.chart{margin-top:.5rem}.chart-scroll{overflow-x:auto}.chart-inner{position:relative;min-width:760px}.chart-inner svg{display:block;width:100%;height:auto}.land{fill:var(--land);stroke:var(--coast);stroke-width:.6;stroke-linejoin:round}.arc{fill:none;stroke:var(--ink);stroke-width:1.3;stroke-linecap:round;opacity:.7}.arc.reported{stroke-dasharray:1;stroke-dashoffset:1;animation:draw .9s ease-out .15s forwards}.arc.inferred{stroke-dasharray:.012 .016;animation:appear .6s ease-out .6s backwards}#arrow path{fill:var(--ink)}@keyframes draw{to{stroke-dashoffset:0}}@keyframes appear{0%{opacity:0}}.leaders line{stroke:var(--c);stroke-width:.8;opacity:.8}.mark{cursor:pointer;outline:none}.mark circle{fill:var(--c);stroke:var(--land);stroke-width:1.5;transition:transform .15s ease}.mark:hover circle,.mark:focus-visible circle{transform:scale(1.25);stroke:var(--ink)}.mark-n{fill:var(--on-mark);font:700 8.5px var(--body);text-anchor:middle;pointer-events:none}.labels{pointer-events:none}.tag rect{fill:var(--paper);stroke:var(--c);stroke-width:1}.tag text{fill:var(--ink);font:500 9.5px var(--body)}.tag.link rect{fill:var(--sea);stroke:var(--coast);stroke-width:.7}.tag.link.inferred rect{stroke-dasharray:3 2}.tag.link text{fill:var(--ink-soft);font-size:8.5px}.tip{position:absolute;z-index:2;width:max-content;max-width:min(22rem,80vw);transform:translate(-50%);padding:.6rem .8rem;background:var(--paper);border-radius:8px;box-shadow:0 6px 24px color-mix(in srgb,var(--ink) 22%,transparent);font-size:.85rem;line-height:1.5;pointer-events:none}.tip-row+.tip-row{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--sea-deep)}.tip-type{color:var(--c);font-weight:700;margin-right:.4rem}.tip-title{font-weight:600}.tip-meta,.tip-more{display:block;color:var(--ink-soft);font-size:.8rem}.chart-note{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .5rem;margin:.4rem 0 0;padding:0 clamp(1rem,4vw,3rem);color:var(--ink-soft);font-size:.85rem}.chart-note svg{margin-left:.6rem}.key{display:inline-flex;align-items:center;gap:.35rem;margin-right:.5rem}.key:before{content:"";width:.6rem;height:.6rem;border-radius:50%;background:var(--c)}.chart-note line{stroke:var(--ink-soft);stroke-width:1.6;stroke-linecap:round}.chart-note line.dash{stroke-dasharray:4 5}#chart-hint{margin-left:auto}.columns{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:clamp(2rem,5vw,4.5rem);padding:clamp(2rem,5vw,3.5rem) clamp(1rem,4vw,3rem) 3rem;align-items:start}h2{margin:0;font:700 1.5rem/1.3 var(--display)}.tabs{display:flex;gap:1.1rem;margin-top:.8rem;font-size:.95rem}.tabs button{padding:.2rem 0;color:var(--ink-soft);border-bottom:2px solid transparent}.tabs button[aria-pressed=true]{color:var(--ink);font-weight:600;border-bottom-color:var(--ink)}.tabs b{font-weight:400;color:var(--ink-soft)}.entry{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:1.5rem;padding:1.6rem .75rem;margin:0 -.75rem;border-top:1px solid var(--coast);border-radius:4px}#list .entry:first-child{margin-top:1.2rem}.entry.current{background:var(--paper)}.entry-side{display:flex;flex-direction:column;color:var(--ink-soft);font-size:.85rem;line-height:1.6}.entry-type{font:900 1.6rem/1.2 var(--display);color:var(--c);margin-bottom:.35rem}.entry-date{margin:0 0 .15rem;color:var(--ink-soft);font-size:.85rem}.entry h3{margin:.1rem 0 0;font:700 1.2rem/1.45 var(--display)}.entry-open{font:inherit;text-align:left}.entry-open:hover{text-decoration:underline;text-underline-offset:.2em}.entry-summary{margin:.5rem 0 0;max-width:44em}.tags{display:flex;flex-wrap:wrap;gap:.3rem .9rem;margin:.8rem 0 0;padding:0;list-style:none;color:var(--ink-soft);font-size:.85rem}.tags li:before{content:"#";opacity:.55}.open{display:inline-block;margin-top:.9rem;padding:.3rem .95rem;border:1.5px solid var(--c);border-radius:999px;color:var(--c);font-weight:600;font-size:.92rem}.open:hover{background:var(--c);color:var(--paper)}.empty{margin:1.2rem 0 0;padding:1.6rem 0;border-top:1px solid var(--coast);color:var(--ink-soft)}.almanac{position:sticky;top:4.5rem;padding:1.25rem;background:var(--paper);border-radius:14px}.cal-head{display:flex;align-items:center;justify-content:space-between}.cal-head h2{font-size:1.15rem}.cal-week,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.cal-week{margin-top:.9rem;color:var(--ink-soft);font-size:.8rem;text-align:center}.cal-day{display:flex;flex-direction:column;align-items:center;height:2.7rem;padding-top:.3rem;border-radius:8px;font-size:.92rem;line-height:1.3}.cal-day:hover{background:var(--sea)}.cal-day.out{color:var(--ink-soft);opacity:.45}.cal-day.today span:first-child{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;font-weight:700}.cal-day.in-range{background:var(--sea-deep);border-radius:0;font-weight:700}.dots{display:flex;gap:2px;height:6px;margin-top:2px}.dots i{width:5px;height:5px;border-radius:50%;background:var(--c)}.cal-hint{margin:.9rem 0 0;color:var(--ink-soft);font-size:.82rem;line-height:1.6}main,.bar,.foot{transition:margin-right .25s ease}.card{position:fixed;z-index:20;top:0;right:0;bottom:0;width:min(var(--card-w),100%);padding:0 1.75rem 2.5rem;background:var(--paper);box-shadow:-10px 0 40px color-mix(in srgb,var(--ink) 16%,transparent);overflow-y:auto;overscroll-behavior:contain;animation:card-in .25s ease}@keyframes card-in{0%{transform:translate(100%)}}.scrim{display:none}.card-head{position:sticky;top:0;z-index:1;display:flex;align-items:baseline;gap:.75rem;margin:0 -1.75rem;padding:1.1rem 1.75rem .7rem;background:var(--paper)}.card-type{font:900 1.5rem/1 var(--display);color:var(--c)}.card-date{color:var(--ink-soft);font-size:.9rem}.card-close{margin-left:auto;width:2.25rem;height:2.25rem;border-radius:50%;font-size:1rem;color:var(--ink-soft);align-self:center}.card-close:hover{background:var(--sea);color:var(--ink)}.card h2{margin-top:.4rem;font-size:1.45rem;line-height:1.4;outline:none}.card-meta{margin:.3rem 0 0;color:var(--ink-soft);font-size:.88rem}.card-events{margin:1.1rem 0 0;padding:0;list-style:none;border-radius:10px;background:var(--sea)}.card-events li,.card-events.pick button{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.15rem .7rem;align-items:start;padding:.7rem .85rem}.card-events.pick li{display:block;padding:0}.card-events.pick button{width:100%;text-align:left;border-radius:10px}.card-events.pick button:hover{background:var(--sea-deep)}.card-events li+li{border-top:1px solid var(--paper)}.ev-n{min-width:1.5rem;height:1.5rem;padding:0 .3rem;border-radius:999px;background:var(--c);color:var(--on-mark);font-size:.78rem;font-weight:700;line-height:1.5rem;text-align:center}.ev-n:empty{min-width:.8rem;height:.8rem;padding:0;margin-top:.4rem}.ev-text b{display:block;line-height:1.5}.ev-text small,.ev-from{color:var(--ink-soft);font-size:.82rem}.ev-from{grid-column:2}.card-note{color:var(--ink-soft);font-size:.9rem}.card-body{margin-top:1.2rem;overflow-wrap:anywhere}.card-body h2,.card-body h3{margin:2rem 0 .5rem;padding-top:1.2rem;border-top:1px solid var(--coast);font:700 1.12rem/1.5 var(--display)}.card-body p,.card-body ul,.card-body ol{margin:.7rem 0}.card-body ul,.card-body ol{padding-left:1.25rem}.card-body li{margin:.45rem 0}.card-body li>ul{margin:.3rem 0}.card-body blockquote{margin:1rem 0;padding:.6rem .9rem;border-radius:8px;background:var(--sea);color:var(--ink-soft);font-size:.92rem}.card-body blockquote p{margin:0}.card-body a{color:var(--c-economy);text-underline-offset:.2em}.card-body table{display:block;overflow-x:auto;border-collapse:collapse;font-size:.9rem}.card-body th,.card-body td{padding:.35rem .6rem;border:1px solid var(--coast);text-align:left}.card .tags{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--coast)}@media(min-width:1100px){body.card-open main,body.card-open .bar,body.card-open .foot{margin-right:var(--card-w)}.card{box-shadow:-1px 0 0 var(--coast)}}@media(max-width:859px){.card{top:auto;left:0;width:auto;height:88dvh;padding:0 1.1rem 2rem;border-radius:18px 18px 0 0;animation-name:sheet-in}.card-head{margin:0 -1.1rem;padding:1rem 1.1rem .6rem;border-radius:18px 18px 0 0}.scrim:not([hidden]){display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:19;background:color-mix(in srgb,var(--ink) 45%,transparent)}body.card-open{overflow:hidden}}@keyframes sheet-in{0%{transform:translateY(100%)}}.foot{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;padding:1.5rem clamp(1rem,4vw,3rem) 2.5rem;border-top:1px solid var(--coast);color:var(--ink-soft);font-size:.88rem}.foot a{color:var(--ink);text-underline-offset:.25em}@media(max-width:860px){.columns{grid-template-columns:minmax(0,1fr)}.almanac{position:static;order:-1}.entry{grid-template-columns:minmax(0,1fr);gap:.5rem}.entry-side{flex-direction:row;align-items:baseline;gap:.8rem}.bar{gap:.6rem}.wordmark{font-size:1.05rem;letter-spacing:.04em}.units button{min-width:2.1rem;padding:.25rem .45rem}.quiet{font-size:.82rem}#chart-hint{margin-left:0;flex-basis:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.arc.reported{stroke-dashoffset:0}}
