
@font-face{font-family:Baloo;src:url(/assets/Baloo2-ExtraBold.05dada341dc7.woff2) format('woff2');font-weight:800;font-display:swap}
@font-face{font-family:Rounded;src:url(/assets/GenSenRounded-Bold-UI.8abe2d4fe38b.woff2) format('woff2');font-weight:700 900;font-display:swap}
:root{--paper:#f1f4f9;--ink:#24304a;--edge:#24304a;--focus:#566dd0;--selected:#24304a;--muted:#657087;--card:#ffffff;--today:#b5ebd3;--reset-soft:#d7dcf7;--forecast:#cec8f1;--banked:#aed8d0;--reset:#4f5eb8;--empty:#e9edf4;--line:#d3dbe8;--shadow:#24304a;--forecast-soft:#eeeafb;--forecast-line:#a69ed2;--forecast-ink:#50476c;--day-height:62px;--weekend:#68598a;--display:Baloo,Rounded,'PingFang SC',system-ui,sans-serif;--body:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC',sans-serif;--mono:ui-monospace,'SFMono-Regular',Menlo,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.55 var(--body);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:5px}button:disabled{opacity:.35;cursor:not-allowed}button,a{touch-action:manipulation}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:800;line-height:1.25}svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.x-icon{fill:currentColor;stroke:none}button{border:0;background:transparent}main{max-width:1100px;margin:auto;padding:32px 28px 36px}.masthead{display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.avatar{width:43px;height:43px;border:2px solid var(--edge);border-radius:50%;object-fit:cover}.brand h1{font-size:34px;letter-spacing:-.7px}.header-actions{display:flex;align-items:center;gap:12px}.pill,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:2px solid var(--edge);background:var(--card);border-radius:30px;box-shadow:2px 2px 0 var(--shadow);font-size:12px;font-weight:750;text-decoration:none;transition:transform .15s,box-shadow .15s}.pill{padding:8px 14px}.icon-button{width:35px;height:35px}.pill:hover,.icon-button:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--shadow)}.pill:active,.icon-button:active{transform:translate(2px,2px);box-shadow:none}.tagline{color:var(--muted);margin:10px 0 23px;font-size:13px}.tagline a{text-decoration-color:var(--reset)}.top-line{display:flex;align-items:center;justify-content:space-between}.panel{border:2px solid var(--edge);border-radius:15px;background:var(--card);box-shadow:4px 4px 0 var(--shadow)}.status-strip{display:grid;grid-template-columns:1.8fr 1fr 1fr;gap:16px;margin-bottom:28px}.last-reset{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 22px;position:relative;background-image:radial-gradient(#65708722 1px,transparent 1px);background-size:13px 13px;transform:rotate(-.35deg)}.eyebrow{font:10px/1.5 var(--mono);letter-spacing:1.3px;color:var(--muted);text-transform:uppercase}.highlight{display:inline-block;background:var(--today);font:800 35px/1.05 var(--display);padding:4px 10px 1px;border-radius:6px;transform:rotate(-1deg);margin-top:5px}.last-date{text-align:right;font-size:12px;font-weight:650}.last-date small{display:block;color:var(--muted);font-size:10px;font-weight:400;margin-top:4px}.mini-stat{padding:15px 19px;display:flex;align-items:center;justify-content:space-between;gap:8px;transform:rotate(.5deg);background:var(--reset-soft)}.mini-stat.blue{background:var(--banked);transform:rotate(-.4deg)}.mini-stat strong{font:800 38px/1 var(--display)}.mini-stat b{font-size:12px;display:block}.mini-stat small{font:10px var(--mono);color:#4d5973}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;gap:12px}.section-heading h2{font-size:23px}.section-heading p{color:var(--muted);font-size:11px}.dashboard{display:grid;grid-template-columns:minmax(0,1.95fr) minmax(290px,1fr);gap:23px;align-items:start}.calendar{padding:21px 22px 16px;min-width:0}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.month-title{font-size:22px;white-space:nowrap}.month-title span{font:11px var(--mono);color:var(--muted);margin-left:8px}.month-actions{display:flex;gap:6px;align-items:center}.month-actions button{border:1.5px solid var(--edge);border-radius:7px;padding:5px 8px;font-size:10px;background:var(--card);transition:background .15s}.month-actions button:hover:not(:disabled){background:var(--today)}.month-actions #today{background:var(--today);font-weight:700}.weekdays,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.weekdays{margin-bottom:8px}.weekdays span{text-align:center;font-size:11px;color:var(--muted)}.weekdays span:nth-last-child(-n+2){color:var(--weekend)}.day{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;height:62px;padding:8px 9px 7px;border:1.5px solid transparent;border-radius:8px;background:var(--empty);transition:transform .14s,box-shadow .14s,background .14s;min-width:0;line-height:1.2}.day .num{font:700 16px/1.2 var(--mono)}.day .day-label{font-size:9px;white-space:nowrap;font-weight:650;letter-spacing:-.25px}.day.empty .day-label{display:none}.day.outside{opacity:1}.day.outside.empty,.day.outside.future{background:transparent;border-color:var(--line);color:var(--muted)}.day.future{background:transparent;border:1.5px dashed var(--line);color:var(--muted)}.day.regular{background:var(--reset);color:#ffffff;border-color:var(--edge)}.day.banked{background:var(--banked);border-color:var(--edge);color:#24304a}.day.forecast{background:var(--forecast-soft);border:1.5px dashed var(--forecast-line);color:var(--forecast-ink)}.day.forecast.best{background:var(--forecast);border:1.5px solid var(--edge)}.day.today{background:var(--today);border:2px solid var(--edge);color:#24304a}.today-mark{font:8px var(--body);position:absolute;right:5px;top:10px;font-weight:700}.day.selected{box-shadow:0 0 0 2px var(--card),0 0 0 3.5px var(--selected);z-index:1}.day:hover{transform:translateY(-2px);box-shadow:2px 3px 0 var(--shadow);z-index:2}.legend{display:flex;align-items:center;gap:13px;padding-top:18px;flex-wrap:wrap;color:var(--muted);font-size:10px}.legend span{display:inline-flex;gap:5px;align-items:center}.swatch{height:9px;width:9px;border:1px solid var(--edge);border-radius:3px;background:var(--reset)}.swatch.banked{background:var(--banked)}.swatch.forecast{background:var(--forecast);border-style:dashed}.swatch.empty{background:var(--empty);border-color:var(--line)}.forecast-card{padding:21px 22px 18px;position:relative;background:var(--card);overflow:hidden}.forecast-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.forecast-head h3{font-size:20px}.badge{font-size:9px;border:1px solid var(--edge);border-radius:5px;padding:2px 6px;background:var(--today);white-space:nowrap;transform:rotate(3deg)}.forecast-sub{font-size:11px;color:var(--muted);margin-top:6px}.chance-hero{display:flex;align-items:center;justify-content:space-between;margin:18px 0 15px;padding:12px 14px;background:var(--forecast);border:2px solid var(--edge);border-radius:10px;box-shadow:3px 3px 0 var(--shadow);transform:rotate(-1deg);width:100%;text-align:left}.chance-hero strong{font:800 57px/.95 var(--display);letter-spacing:-2px}.chance-hero strong span{font-size:29px;letter-spacing:-1px}.chance-hero b{font-family:var(--display);font-size:18px;display:block}.chance-hero small{font-size:9px;display:block;color:#544c74}.prob-row{display:block;width:100%;padding:10px 0;text-align:left;border-radius:5px}.prob-row:hover{background:var(--empty)}.prob-row .row-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:6px}.row-top small{font-size:9px;color:var(--muted);margin-left:6px}.row-top b{font:800 21px/.9 var(--display)}.bar{display:block;width:100%;height:26px;border:1.5px solid var(--edge);background:var(--card);border-radius:7px;overflow:hidden}.bar-fill{display:block;height:100%;background:var(--today);border-right:1px solid var(--edge);width:var(--value)}.prob-row.best .bar-fill{background:var(--forecast)}.prob-row.third .bar-fill{background:var(--reset-soft)}.later{display:flex;align-items:center;justify-content:space-between;border-top:1px dashed var(--line);margin-top:8px;padding-top:13px;font-size:11px;color:var(--muted)}.later strong{font:800 22px/1 var(--display);color:var(--ink)}.forecast-note{font-size:10px;color:var(--muted);line-height:1.8;margin-top:11px}.text-button{font-size:10px;text-decoration:underline;text-underline-offset:3px;padding:0;color:var(--muted)}.type-chip{font-size:9px;padding:3px 7px;border-radius:5px;background:var(--empty);white-space:nowrap}.detail-content .type-chip.regular{background:var(--reset);color:#fff}.detail-content .type-chip.banked{background:var(--banked)}.detail-content .type-chip.prediction{background:var(--forecast)}.info-section{margin-top:33px}.info-section h2{font-size:21px}.history-header{display:flex;justify-content:space-between;align-items:center;gap:10px 20px;flex-wrap:wrap;margin-bottom:13px}.history-profile{font-size:14px;color:var(--muted);line-height:1.5}.history-profile:hover{color:var(--ink)}.history-list{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.history-item{display:flex;flex-direction:column;align-items:flex-start;padding:18px 20px;background:var(--card);border:1.5px solid var(--edge);border-radius:12px;text-align:left;transition:transform .15s,box-shadow .15s}.history-item:hover{transform:translateY(-3px);box-shadow:3px 3px 0 var(--shadow)}.history-item time{font:10px var(--mono);color:var(--muted);margin-bottom:10px}.history-item b{font-family:var(--display);font-size:15px;margin-bottom:7px}.history-item p{font-size:11px;color:var(--muted);line-height:1.8}.history-item span{margin-top:13px;font-size:10px;text-decoration:underline;text-underline-offset:3px}dialog{width:min(470px,calc(100vw - 36px));border:2px solid var(--edge);border-radius:15px;box-shadow:6px 6px 0 var(--shadow);padding:26px;background:var(--card);color:var(--ink)}dialog::backdrop{background:#24304a75;backdrop-filter:blur(3px)}dialog h2{font-size:23px;margin-bottom:13px}dialog p{font-size:12px;color:var(--muted);line-height:1.9;margin:10px 0}dialog .close-dialog{position:absolute;top:17px;right:17px;font-size:11px;padding:5px 7px;border:1px solid var(--edge);border-radius:5px}.modal-table{display:grid;grid-template-columns:1fr 1fr;font-size:12px;border:1px solid var(--edge);border-radius:8px;overflow:hidden;margin:15px 0}.modal-table>*{padding:8px 11px;background:var(--paper);border-bottom:1px solid var(--line)}.modal-table b{text-align:right}.sun-icon{display:none}.skip-link{position:fixed;top:-80px;left:20px;z-index:99;background:var(--today);color:#24304a;padding:10px}.skip-link:focus{top:10px}
@media(min-width:1400px){main{padding-top:40px}.status-strip{margin-top:7px}.day{height:68px}.forecast-card{padding-bottom:22px}.prob-row{padding:12px 0}}
@media(max-width:850px){main{padding:25px 20px}.dashboard{grid-template-columns:minmax(0,1.7fr) minmax(255px,1fr);gap:17px}.calendar{padding:18px 15px}.forecast-card{padding:18px 16px}.day{padding:7px 5px;height:60px}.day .num{font-size:14px}.day .day-label{font-size:8px}.days,.weekdays{gap:5px}.month-title{font-size:18px}.month-title span{display:inline;font-size:9px;margin-left:4px}.month-actions button{padding:5px 6px}.last-reset{padding:16px}.highlight{font-size:30px}.last-date{font-size:10px}.mini-stat{padding:14px}.mini-stat strong{font-size:30px}.mini-stat small{font-size:8px}}
@media(max-width:680px){main{padding:22px 17px 30px}.brand{gap:9px}.brand h1{font-size:29px}.avatar{width:37px;height:37px}.header-actions{gap:10px}.header-actions .pill{width:33px;height:33px;padding:7px;box-shadow:2px 2px 0 var(--shadow)}.header-actions .pill span{display:none}.icon-button{width:33px;height:33px}.tagline{font-size:11px;margin-bottom:19px}.status-strip{grid-template-columns:1fr 1fr;gap:13px;margin-bottom:25px}.last-reset{grid-column:1/-1;padding:16px 18px}.last-date{font-size:12px}.highlight{font-size:33px}.mini-stat{padding:11px 15px}.mini-stat strong{font-size:31px}.mini-stat small{font-size:9px}.dashboard{display:flex;flex-direction:column;gap:19px}.calendar{width:100%;padding:18px 14px 14px}.forecast-card{width:100%;padding:20px}.section-heading h2{font-size:21px}.section-heading p{font-size:10px}.day{height:60px;padding:8px 5px}.day .num{font-size:14px}.day .day-label{font-size:8px;letter-spacing:-.6px}.today-mark{display:none}.days,.weekdays{gap:6px}.month-title{font-size:21px}.month-actions button{font-size:9px;padding:5px 6px}.legend{gap:12px;font-size:9px}.chance-hero{width:100%;padding:14px 20px;margin:18px 0 9px}.chance-hero strong{font-size:61px}.chance-hero b{font-size:23px}.chance-hero small{font-size:11px}.prob-row{padding:11px 0}.history-list{grid-template-columns:1fr;gap:12px}.history-item{padding:16px 18px}.history-item time{margin-bottom:6px}.history-item span{margin-top:8px}.forecast-note{font-size:10px}.forecast-head h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

.language-picker{position:relative;display:inline-flex;flex-shrink:0;color:var(--ink)}.language-picker::after{content:"";position:absolute;right:15px;top:50%;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-65%) rotate(45deg);pointer-events:none}.language-picker summary{appearance:none;-webkit-appearance:none;font:750 12px var(--body);color:var(--ink);background:var(--card);border:2px solid var(--edge);border-radius:30px;width:104px;padding:8px 34px 8px 13px;box-shadow:2px 2px 0 var(--shadow);cursor:pointer}.language-picker summary:focus-visible{outline:3px solid var(--focus);outline-offset:5px}html:lang(en) .calendar-sub{font-size:10px}.month-title{font-family:var(--display);font-size:22px}.forecast-head h3{font-size:20px}html:lang(ko) .forecast-head h3,html:lang(ja) .forecast-head h3{font-size:18px}html:lang(en) .day .day-label{font-size:9px}.today-mark{font-size:8px}html:lang(en) .today-mark{font-size:7px;right:4px}html:lang(ko) .day .day-label{letter-spacing:-.4px}
@media(max-width:680px){.masthead{gap:8px}.brand{gap:7px}.brand h1{font-size:27px}.avatar{width:35px;height:35px}.header-actions>.pill{display:none}.language-picker summary{font-size:11px;width:86px;padding:7px 29px 7px 10px}.language-picker::after{right:12px;width:6px;height:6px}.section-heading{align-items:flex-end}.section-heading p{max-width:45%;text-align:right;font-size:9px}.section-heading h2{font-size:20px}.month-title{font-size:20px}.today-mark{display:none}.day .day-label,html:lang(en) .day .day-label{font-size:8px}.month-actions{gap:4px}.tagline{line-height:1.7}.legend{gap:9px}.forecast-head h3{font-size:23px}html:lang(ja) .forecast-head h3,html:lang(ko) .forecast-head h3{font-size:21px}}
html:lang(ko) .mini-stat b{word-break:keep-all}
.highlight{white-space:nowrap}
@media(max-width:680px){.last-reset{gap:10px}.highlight{font-size:clamp(26px,7.8vw,33px)}.last-date{font-size:11px}.last-date small{font-size:8px}}

/* A single page-wide timezone and compact, non-repeating summaries. */
.timezone{font:10px var(--mono);text-align:right;overflow-wrap:anywhere;max-width:55%}
.mini-stat b{line-height:1.55}.mini-stat{min-height:90px}.month-notice{margin:12px 0 0;color:var(--muted);font-size:11px}
#forecastWindows{margin-top:18px;display:flex;flex-direction:column;gap:16px}.forecast-card .prob-row{display:flex;flex-direction:column;justify-content:center;width:100%;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--paper);min-height:132px}.forecast-card .prob-row:hover{background:var(--empty);border-color:var(--edge)}.prob-row .row-top{gap:14px;margin-bottom:13px}.prob-row .row-top>span{min-width:0}
.prob-row .window-date{font:650 16px/1.4 var(--body)}.prob-row .window-hours{font-size:12px!important}.window-hours{display:block!important;margin:3px 0 0!important;color:var(--muted);font-size:10px!important}
.prob-row strong{font:800 36px/1 var(--display);white-space:nowrap;flex-shrink:0}.prob-row strong>span{font-size:23px}
.chance-hero{margin:0;padding:15px;display:block}.chance-hero .row-top{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}
.chance-hero .row-top>span{min-width:0}.chance-hero .window-date{font:800 18px/1.35 var(--display);margin-top:5px}.chance-hero .window-hours{color:#544c74}.chance-hero strong{white-space:nowrap;font-size:52px;flex-shrink:0}.chance-hero .best-note{line-height:1.4;color:#544c74}
.forecast-note{margin-top:17px}.later{margin-top:13px;padding-top:16px;gap:14px;line-height:1.6}
.history-item{position:relative;padding-right:32px}.history-item .history-arrow{position:absolute;right:16px;bottom:15px;margin:0;text-decoration:none}


@media(max-width:680px){.mini-stat{min-height:70px}.timezone{max-width:47%;font-size:9px!important;line-height:1.5}.chance-hero .window-date{font-size:22px}.chance-hero strong{font-size:60px}}

.history-list{align-items:start}.post-card{position:relative;min-width:0;border:2px solid var(--edge);border-radius:14px;background:var(--card);overflow:hidden;transition:transform .15s,box-shadow .15s}
.post-card:hover,.post-card:focus-within{transform:translateY(-3px);box-shadow:3px 3px 0 var(--shadow)}.post-open{position:absolute;inset:0;z-index:2;border-radius:12px}.post-open:focus-visible{outline:3px solid var(--focus);outline-offset:-5px}
.post-fallback{padding:20px}.post-author{display:flex;align-items:center;gap:9px}.post-author img{width:38px;height:38px;border:1.5px solid var(--edge);border-radius:50%;object-fit:cover;flex-shrink:0}.post-author>div{display:flex;flex-direction:column;line-height:1.35;flex:1}.post-author strong{font:800 17px var(--display)}.post-author span{font-size:11px;color:var(--muted)}.post-author>svg{width:17px;height:17px}
.post-text{font:14px/1.7 var(--body);margin:15px 0 20px;white-space:pre-wrap;overflow-wrap:anywhere}.post-meta{display:flex;flex-wrap:wrap;gap:6px 12px;justify-content:space-between;color:var(--muted);font-size:10px}.post-meta time{font:10px var(--mono)}.post-cta{text-decoration:underline;text-underline-offset:3px}
.post-embed:empty{display:none}.post-embed .twitter-tweet{margin:0!important;max-width:100%!important;width:100%!important}.post-embed iframe{display:block;max-width:100%;pointer-events:none}.post-card.loaded .post-fallback{display:none}
@media(max-width:850px) and (min-width:681px){.history-list{grid-template-columns:1fr 1fr}.post-card:last-child{grid-column:1/-1;max-width:550px}}
@media(max-width:680px){.post-fallback{padding:18px}.post-text{font-size:14px}}

/* Narrow date cells use compact copy, with full wording in the accessible name. */
.day .day-label{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.25;text-align:left}
.day-label-compact{display:none}
@media(max-width:680px){
  .day{height:auto;min-height:60px;gap:6px;padding-inline:3px}
  .day-label-full{display:none}
  .day-label-compact{display:inline}
}

/* Today stays distinct from teal banked resets, including without color cues. */
.calendar{--today:#f6d18a}
.calendar .day.today .num{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.calendar .month-actions button:hover:not(:disabled){color:#24304a}

/* Paired panels share the grid-row height; month length and locale can vary. */
@media(min-width:681px){
  .dashboard{align-items:stretch}
  .calendar,.forecast-card{display:flex;flex-direction:column}
  .calendar-toolbar,.weekdays,.legend,.month-notice{flex-shrink:0}
  .days{flex:1;grid-auto-rows:minmax(var(--day-height),1fr)}
  .calendar .day{height:auto;min-height:var(--day-height)}
  .forecast-card #forecastWindows{flex:1;display:grid;grid-template-rows:minmax(132px,1fr) auto minmax(132px,1fr);gap:16px;padding:6px 0}
}
@media(min-width:1400px){:root{--day-height:68px}}
@media(max-width:850px){:root{--day-height:60px}}

/* Selected-date details stay with the calendar they explain. */
.below-calendar{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:start;gap:18px;margin-top:20px;padding:18px;min-height:0;flex-shrink:0;border:1px solid var(--line);border-radius:12px;box-shadow:none;background:var(--paper)}
.selected-date{display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:start;gap:2px;min-height:96px;padding:7px 4px;border:1px solid var(--line);border-radius:10px;background:var(--empty);color:var(--ink);text-align:center}
.selected-date small{font:11px/1.5 var(--mono);white-space:nowrap}.selected-date strong{font:800 44px/1 var(--display)}.selected-date span{font-size:11px;line-height:1.4;overflow-wrap:anywhere;max-width:100%}
.below-calendar[data-kind="regular"] .selected-date{background:var(--reset-soft);border-color:#9aa5de;color:#24304a}
.below-calendar[data-kind="banked"] .selected-date{background:var(--banked);border-color:#80b7ac;color:#24304a}
.below-calendar[data-kind="forecast"] .selected-date{background:var(--forecast);border-color:#a69ed2;color:#24304a}
.detail-content{min-width:0}.record-detail{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.detail-copy{min-width:0}.detail-content h3{font-size:24px;line-height:1.25}.detail-content p{font-size:16px;line-height:1.6;color:var(--muted);margin-top:8px}
.detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;color:var(--muted);font-size:13px;line-height:1.5}.detail-meta time{flex:1 1 155px}
.detail-source{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:42px;padding:9px 13px;border:1.5px solid var(--edge);border-radius:8px;box-shadow:2px 2px 0 var(--shadow);background:var(--card);color:var(--ink);font-size:14px;font-weight:650;text-decoration:none;white-space:nowrap;transition:transform .15s,box-shadow .15s}
.detail-source .source-arrow{font-size:19px;line-height:1;font-weight:400}.detail-source:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--shadow)}.detail-source:active{transform:translate(2px,2px);box-shadow:none}
.record-detail+.record-detail{border-top:1px dashed var(--line);margin-top:14px;padding-top:14px}
.prediction-detail{display:flex;flex-direction:column;align-items:stretch;gap:12px}.detail-windows{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.detail-window{display:flex;flex:1;align-items:center;justify-content:space-between;gap:18px;padding:10px 13px;border-radius:8px;background:var(--forecast-soft);color:var(--forecast-ink);font-size:14px}.detail-window b{font:800 34px/1 var(--display);white-space:nowrap}
@media(min-width:681px) and (max-width:1000px){.below-calendar{grid-template-columns:68px minmax(0,1fr);gap:13px;padding:14px}.selected-date small{font-size:9px}.selected-date strong{font-size:38px}.detail-content h3{font-size:21px}.detail-content p{font-size:15px}.detail-meta{font-size:12px}}
@media(max-width:680px){
  .below-calendar{grid-template-columns:56px minmax(0,1fr);gap:12px;padding:12px;margin-top:16px;align-items:start}
  .selected-date{min-height:74px;padding:7px 3px;border-radius:8px}.selected-date small{font-size:8px}.selected-date strong{font-size:30px}.selected-date span{font-size:8px}
  .record-detail{grid-template-columns:minmax(0,1fr);gap:10px}.detail-content h3{font-size:16px}.detail-content p{font-size:12px;line-height:1.6}
  .detail-meta{flex-direction:column;align-items:flex-start;text-align:left;gap:7px;font-size:10px}.detail-meta time{flex:none}.detail-source{font-size:12px;min-height:38px;padding:7px 10px;gap:9px}
  .prediction-detail{flex-direction:column;align-items:stretch;gap:10px}.detail-windows{justify-content:stretch}.detail-window{flex:1;font-size:10px;gap:12px;padding:9px 10px}.detail-window b{font-size:25px}
}

[hidden]{display:none!important}
.day.announced{background:var(--card);color:var(--ink);border:2px dashed var(--edge)}
.swatch.announced{background:var(--card);border:1.5px dashed var(--edge)}
.forecast-unavailable #forecastWindows{display:flex;flex:1;flex-direction:column;justify-content:center;gap:24px;padding:12px 0}
.forecast-empty{padding:24px;border:1px dashed var(--line);border-radius:14px;background:var(--paper)}
.forecast-empty strong{font:800 60px/1 var(--display)}
.forecast-empty h4{font:750 20px/1.45 var(--body);margin:12px 0}
.forecast-empty p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}
.upcoming-event{padding:22px;border:2px solid var(--edge);border-radius:14px;background:var(--mint,var(--paper));box-shadow:3px 3px 0 var(--shadow)}
.upcoming-label{font-size:12px;color:var(--muted)}
.upcoming-dates{display:flex;align-items:center;gap:8px;margin-top:14px}
.upcoming-date{flex:1;min-width:0;min-height:126px;padding:12px 8px;background:var(--reset-soft);border-color:#9aa5de;color:#24304a}
.upcoming-date small{font:12px/1.5 var(--mono)}
.upcoming-date strong{font:800 56px/1.1 var(--display);white-space:nowrap}
.upcoming-date span{font-size:12px;line-height:1.5}
.upcoming-event h4{font:800 20px/1.3 var(--display);margin:16px 0}
.calendar-export{display:inline-block;font:700 13px/1.5 var(--body);color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.sync-status{display:block;color:var(--muted);line-height:1.7;font-size:12px}
@media(max-width:680px){.forecast-empty{padding:18px}.forecast-empty strong{font-size:44px}.forecast-empty h4{font-size:18px}}

/* Native disclosure keeps every language URL accessible without JavaScript. */
.language-picker{display:block}
.language-picker::after{top:20px}
.language-picker summary{display:block;list-style:none;line-height:18px}
.language-picker summary::-webkit-details-marker{display:none}
.language-picker[open] summary{box-shadow:none}
.language-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:20;min-width:150px;padding:6px;background:var(--card);border:2px solid var(--edge);border-radius:14px;box-shadow:3px 3px 0 var(--shadow)}
.language-menu a{display:block;border-radius:8px;padding:10px 12px;font-size:14px;text-decoration:none;white-space:nowrap}
.language-menu a:hover,.language-menu a:focus-visible{background:var(--empty)}
.language-menu a[aria-current="page"]{background:var(--reset-soft);color:#24304a;font-weight:750}
.language-suggestion{display:flex;align-items:center;gap:12px;margin:-6px 0 24px;padding:12px 16px;background:var(--card);border:1px solid var(--line);border-radius:12px;font-size:13px;line-height:1.6}
.language-suggestion[hidden]{display:none}
.language-suggestion p{margin:0;flex:1}
.language-suggestion a{font-weight:700;text-underline-offset:4px}
.language-suggestion button{flex-shrink:0;background:none;border:0;font-size:22px;cursor:pointer;padding:2px 7px}
@media(max-width:680px){.language-picker::after{top:18px}.language-suggestion{display:grid;grid-template-columns:1fr auto;gap:4px 8px;padding:10px 12px;font-size:12px}.language-suggestion p{grid-column:1;grid-row:1}.language-suggestion a{grid-column:1;grid-row:2}.language-suggestion button{grid-column:2;grid-row:1;align-self:start}}
@media(max-width:680px){html:lang(zh-CN) .language-picker summary,html:lang(zh-TW) .language-picker summary{font-size:10px;white-space:nowrap}}
/* Dark surfaces use their own accent tones and quieter structural borders. */
body.dark{color-scheme:dark;--paper:#171d2a;--card:#222b3b;--empty:#2d384b;--ink:#e6ebf3;--muted:#a9b5c9;--edge:#4b5970;--line:#404e64;--shadow:#0e1420;--focus:#acbbff;--selected:#acbbff;--weekend:#c6b6e3;--reset:#5061ae;--reset-soft:#323e63;--today:#294d43;--banked:#294d47;--forecast:#433a58;--forecast-soft:#352f46;--forecast-line:#8c7aaa;--forecast-ink:#e7ddfa;--reset-ink:#dfe5ff;--reset-edge:#7284c4;--banked-ink:#c3eadb;--banked-edge:#638f83}
body.dark .moon-icon{display:none}body.dark .sun-icon{display:block}
body.dark .last-reset{background-image:radial-gradient(#a9b5c914 1px,transparent 1px)}
body.dark .mini-stat{color:var(--reset-ink);border-color:var(--reset-edge)}
body.dark .mini-stat.blue{color:var(--banked-ink);border-color:var(--banked-edge)}
body.dark .mini-stat small{color:inherit}
body.dark .highlight,body.dark .badge{color:var(--banked-ink)}
body.dark .badge{border-color:var(--banked-edge)}
body.dark .day.regular{border-color:var(--reset-edge)}
body.dark .day.banked,body.dark .type-chip.banked{color:var(--banked-ink);border-color:var(--banked-edge)}
body.dark .day.forecast,body.dark .day.best,body.dark .type-chip.prediction,body.dark .chance-hero{color:var(--forecast-ink);border-color:var(--forecast-line)}
body.dark .chance-hero small,body.dark .chance-hero .window-hours,body.dark .chance-hero .best-note{color:var(--forecast-ink)}
body.dark .calendar{--today:#59462b}
body.dark .day.today,body.dark #today,body.dark .calendar .month-actions button:hover:not(:disabled){color:#ffe2ad;border-color:#a88a57}
body.dark .day.announced,body.dark .swatch.announced{border-color:var(--reset-edge);color:var(--reset-ink)}
body.dark .below-calendar[data-kind="regular"] .selected-date,body.dark .upcoming-date{color:var(--reset-ink);border-color:var(--reset-edge)}
body.dark .below-calendar[data-kind="banked"] .selected-date{color:var(--banked-ink);border-color:var(--banked-edge)}
body.dark .below-calendar[data-kind="forecast"] .selected-date{color:var(--forecast-ink);border-color:var(--forecast-line)}
body.dark .language-menu a[aria-current="page"]{color:var(--reset-ink)}
body.dark .skip-link{color:var(--banked-ink)}
/* Dark mode uses borders for depth and outlines for selection, including hover. */
body.dark :is(.panel,.pill,.icon-button,.language-picker summary,.language-menu,.day,.chance-hero,.history-item,.post-card,.detail-source,.upcoming-event,.content-table-wrap,dialog){box-shadow:none}
body.dark .day.selected{outline:1.5px solid var(--selected);outline-offset:2px}
body.dark .day:focus-visible{outline:3px solid var(--focus);outline-offset:5px}

.content-page main{max-width:1060px}.content-page .content-brand{font:800 28px var(--display);text-decoration:none}.content-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.content-page .language-picker{z-index:4}.content-nav{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;margin:22px 0;font-weight:650}.content-nav a[aria-current=page]{text-decoration-thickness:3px;text-decoration-color:var(--reset)}.content-theme{margin-left:auto;color:var(--muted);font-size:12px;text-decoration:underline}.content-hero{padding:30px;margin:25px 0;background:var(--reset-soft);color:#24304a}.content-hero h1{font-size:clamp(30px,5vw,46px);max-width:850px}.content-hero p{font-size:16px;line-height:1.8;margin-top:14px;max-width:820px}.content-meta{font-size:12px;color:var(--muted);line-height:1.8;margin:18px 0}.content-page section{scroll-margin-top:20px}.content-page h2{font-size:26px;margin:30px 0 12px}.content-page h3{font-size:21px;margin:0 0 10px}.content-page p{line-height:1.85}.content-note{padding:16px 20px;border-left:4px solid var(--reset);background:var(--card);margin:18px 0}.content-note p+p{margin-top:10px}.content-filters{display:flex;flex-wrap:wrap;gap:14px;padding:16px 0}.content-filters[hidden]{display:none}.content-filters label{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;min-width:140px;font-size:12px;font-weight:650}
.content-select{position:relative;display:block;min-width:0;color:var(--ink)}
.content-select::after{content:"";position:absolute;right:15px;top:50%;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.content-filters select{appearance:none;-webkit-appearance:none;display:block;width:100%;min-width:0;min-height:44px;max-width:100%;font:inherit;line-height:1.5;color:var(--ink);background:var(--card);border:1.5px solid var(--edge);border-radius:8px;padding:10px 38px 10px 13px;cursor:pointer}
@media(forced-colors:active){.content-filters select{appearance:auto;-webkit-appearance:auto;padding-right:13px}.content-select::after{display:none}}
.content-table-wrap{border:2px solid var(--edge);border-radius:14px;background:var(--card);box-shadow:4px 4px 0 var(--shadow);overflow:hidden}.content-table{border-collapse:collapse;width:100%;font-size:13px}.content-table th{text-align:left;background:var(--empty);font-size:12px}.content-table th,.content-table td{padding:17px 14px;vertical-align:top;border-bottom:1px solid var(--line)}.content-table tr:last-child td{border-bottom:0}.content-table td:first-child{width:25%}.content-table td:last-child{width:32%}.content-table time{font-weight:650;display:block}.content-table small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.record-chip,.status-chip{display:inline-block;border-radius:6px;font-size:12px;padding:4px 8px;background:var(--empty)}.record-chip.regular{background:var(--reset);color:white}.record-chip.banked{background:var(--banked);color:#24304a}.status-chip.announced{border:1px dashed var(--muted)}.source-excerpt summary{font-size:11px;cursor:pointer;color:var(--muted);margin-top:8px}.source-excerpt p{font-size:12px;margin:8px 0;overflow-wrap:anywhere}.definition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0}.definition{padding:22px}.definition p{font-size:14px}.guide-toc{display:flex;flex-wrap:wrap;gap:8px 18px;margin:20px 0}.guide-toc a{font-size:13px}.guide-sections{max-width:820px}.guide-section{padding:22px 25px;border:1px solid var(--line);border-radius:12px;background:var(--card);margin:16px 0}.guide-section h2{margin:0 0 12px;font-size:24px}.guide-source{display:block;font-size:12px;color:var(--muted);margin-top:12px}.content-crosslinks{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}.content-footer{font-size:12px;color:var(--muted);margin:32px 0 10px;padding-top:18px;border-top:1px solid var(--line)}.content-footer a{margin-right:18px}.home-content-nav{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;font-weight:650;margin:-10px 0 24px}.content-result{font-size:12px;color:var(--muted);margin:8px 0}.content-page select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}@media(max-width:680px){.content-page main{padding:22px 17px}.content-brand{font-size:25px!important}.content-top{gap:8px}.content-hero{padding:22px 20px}.content-hero h1{font-size:32px}.content-hero p{font-size:14px}.content-nav{gap:10px 16px}.content-theme{margin-left:0}.definition-grid{grid-template-columns:1fr}.guide-section{padding:20px}.guide-section h2{font-size:22px}.content-filters label{flex:1;min-width:120px}.content-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.content-table tbody,.content-table tr,.content-table td{display:block;width:100%!important}.content-table tr{padding:14px 16px;border-bottom:1px solid var(--line)}.content-table td{border:0;padding:6px 0}.content-table td:before{content:attr(data-label);display:block;font-size:10px;color:var(--muted);margin-bottom:3px}.content-table tr:last-child{border:0}.content-page .language-picker summary{width:90px}.home-content-nav{font-size:12px}}

body.dark .content-hero{color:var(--reset-ink);border-color:var(--reset-edge)}
body.dark .record-chip.banked{color:var(--banked-ink)}
.guide-section p+p{margin-top:12px}.guide-section h3{margin-top:22px;font-size:19px}.guide-steps{padding-left:24px;line-height:1.85;margin:16px 0}.guide-steps li+li{margin-top:10px}.guide-table-wrap{margin:20px 0;max-width:100%}.guide-table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:14px;line-height:1.75}.guide-table th,.guide-table td{padding:14px 12px;vertical-align:top;text-align:left;border:1px solid var(--line);overflow-wrap:anywhere}.guide-table thead{background:var(--empty)}.guide-table tbody th{font-weight:650;width:40%}.guide-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.guide-card{display:block;padding:22px;text-decoration:none;overflow-wrap:anywhere}.guide-card strong{display:block;font-size:19px;line-height:1.45;margin-bottom:12px}.guide-card span{display:block;font-size:13px;line-height:1.8;color:var(--muted)}.guide-card:hover{border-color:var(--reset)}.guide-download{margin:24px 0}.guide-download a{display:inline-flex;white-space:normal;line-height:1.6}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(max-width:680px){.guide-card-grid{grid-template-columns:1fr}.guide-table{font-size:13px}.guide-table th,.guide-table td{padding:11px 9px}.guide-card{padding:20px}.guide-section{overflow-wrap:anywhere}}

