:root{--sea: #dce5e8;--sea-deep: #c9d6db;--land: #f8f9f5;--coast: #b3c2c8;--ink: #12233b;--ink-soft: #4d5f77;--paper: #ffffff;--t-ai: #5a3fd6;--t-security: #b8242f;--t-finance: #076650;--t-other: #4d5f77;--on-mark: #ffffff;--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;--t-ai: #a897ff;--t-security: #ff8388;--t-finance: #56d3a9;--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{display:inline-flex;align-items:center;gap:.45rem;padding:.3rem .85rem .3rem .65rem;border-radius:999px;background:var(--paper);font-weight:600}.type-toggle i{width:.7rem;height:.7rem;border-radius:50%;background:var(--c);border:2px solid var(--c)}.type-toggle[aria-pressed=false]{background:transparent;color:var(--ink-soft);font-weight:400;text-decoration:line-through}.type-toggle[aria-pressed=false] i{background:transparent}.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(--c);stroke-width:1.6;stroke-linecap:round;opacity:.75}.arc.reported{stroke-dasharray:1;stroke-dashoffset:1;animation:draw .9s ease-out .15s forwards}.arc.inferred{stroke-dasharray:.012 .018;animation:appear .6s ease-out .6s backwards}@keyframes draw{to{stroke-dashoffset:0}}@keyframes appear{0%{opacity:0}}.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 9px var(--body);text-anchor:middle;pointer-events:none}.mark-label{fill:var(--ink);font:500 9.5px var(--body);paint-order:stroke;stroke:var(--sea);stroke-width:3px;stroke-linejoin:round;pointer-events:none}.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}.chart-note svg:first-child{margin-left:0}.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.flash{animation:flash 1.6s ease-out}@keyframes flash{0%{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-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;color:var(--c);font-weight:600;text-underline-offset:.25em}.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}.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}}
