:root{color-scheme:light;--paper:#f4f7fc;--card:#fff;--ink:#192139;--muted:#647086;--line:#253049;--accent:#3b4890;--blue:#c6ddfa;--blue-ink:#23396a;--chicken:#ffc58f;--shadow:#202a43;--faint:#e6ecf5;--border:2px solid var(--line)}
:root[data-theme=dark]{color-scheme:dark;--paper:#151c2b;--card:#202a3d;--ink:#edf1ff;--muted:#adb8cd;--line:#bbc9e7;--accent:#a0b2ff;--blue:#354b73;--blue-ink:#e0ebff;--chicken:#66572c;--shadow:#060b15;--faint:#313b50}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:3px}button{font:inherit;color:inherit}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.page{max-width:880px;min-height:100dvh;margin:auto;padding:0 24px;display:flex;flex-direction:column}.masthead{display:flex;align-items:center;justify-content:space-between;padding:28px 0 30px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:22px;font-weight:800;letter-spacing:-.8px}.brand img{border:2px solid var(--line);border-radius:50%;object-fit:cover;background:#fff}.header-actions{display:flex;gap:10px}.icon-button{border:var(--border);width:36px;height:36px;border-radius:50%;background:var(--card);display:grid;place-items:center;cursor:pointer;text-decoration:none;box-shadow:2px 2px 0 var(--shadow)}.icon-button:hover{background:var(--blue);transform:translateY(-1px)}.icon-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}main{display:grid;grid-template-columns:minmax(0,1fr) 160px;grid-template-areas:"title calendar" "promise calendar" "log log";gap:18px 40px;padding-top:30px;margin-bottom:68px}h1{grid-area:title;font-size:42px;line-height:1.15;letter-spacing:-1.2px;font-weight:800;margin:0;align-self:end;text-wrap:balance}h1 span{color:var(--accent)}.promise{grid-area:promise;margin:0;align-self:start}.promise blockquote{margin:0;font-size:16px;line-height:1.75;color:var(--muted);word-break:keep-all}.promise figcaption{display:flex;flex-wrap:wrap;gap:7px;align-items:center;font-size:12px;color:var(--muted);margin-top:14px}.promise figcaption img{border-radius:50%;object-fit:cover}.promise figcaption strong{color:var(--ink)}.calendar{grid-area:calendar;position:relative;isolation:isolate;transform:rotate(2deg);text-align:center;margin:12px 4px 14px}.calendar:before,.calendar:after{content:"";position:absolute;z-index:-1;inset:9px 2px -4px;background:var(--card);border:var(--border);border-radius:6px}.calendar:before{z-index:-2;inset:15px 4px -9px;box-shadow:4px 4px 0 var(--shadow)}.calendar-sheet{border:var(--border);border-radius:7px 7px 3px 3px;background:var(--card);overflow:hidden}.rings{position:absolute;z-index:1;display:flex;justify-content:space-around;padding:0 18px;inset:-11px 0 auto}.rings i{width:11px;height:25px;background:var(--paper);border:2px solid var(--line);border-radius:8px;box-shadow:inset -3px 0 #9ca9bd}.calendar-date{padding:20px 5px 10px;background:#3b4890;color:#fff;font-size:11px;font-weight:700;border-bottom:2px dashed var(--line);letter-spacing:1px}.calendar-label{display:block;font-size:11px;letter-spacing:3px;margin-top:10px;color:var(--muted);font-weight:700}.calendar-number{font-size:64px;line-height:1;font-weight:800;letter-spacing:-3px;margin:3px 0 10px}.clock{margin:0 10px;padding:10px 0 12px;border-top:1px dashed var(--muted);display:flex;flex-direction:column;gap:5px}.clock time{font-size:20px;line-height:1.1;font-weight:800}.clock span{font-size:9px;letter-spacing:.4px;color:var(--muted);font-weight:700}.log{grid-area:log;margin-top:26px;min-width:0}.log-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px}h2{font-size:30px;line-height:1.2;letter-spacing:-.6px;margin:0;font-weight:800}.legend{display:flex;gap:18px;list-style:none;padding:0;margin:0;font-size:11px;color:var(--muted);font-weight:600}.legend li{display:flex;align-items:center;gap:6px}.legend i{display:block;width:12px;height:12px;border:1.5px solid var(--line);border-radius:3px;box-shadow:1px 1px 0 var(--shadow)}.improvement{background:var(--blue)}.chicken{background:var(--chicken)}.day-strip{display:grid;grid-template-columns:repeat(20,minmax(0,1fr));gap:5px;list-style:none;margin:20px 0 0;padding:0}.day-strip button{display:block;width:100%;aspect-ratio:1;border:1.5px dashed #aab6ca;border-radius:6px;cursor:pointer;background:transparent;color:var(--muted);font:600 10px/1 monospace;padding:0;transition:transform .15s}.day-strip button:hover{transform:translateY(-3px)}.day-strip button.recorded{border:1.5px solid var(--line);background:var(--blue);color:var(--blue-ink);box-shadow:1.5px 1.5px 0 var(--shadow)}.day-strip button.chicken{background:var(--chicken)}.day-strip button.current{outline:2px solid var(--accent);outline-offset:3px}.day-strip button.selected{box-shadow:2px 2px 0 var(--shadow);border-color:var(--line)}.period{font-size:11px;color:var(--muted);margin:12px 0 26px}.records{display:grid;gap:15px}.record{border:var(--border);border-radius:12px;background:var(--card);box-shadow:3px 3px 0 var(--shadow);scroll-margin-top:22px;overflow:hidden}.record summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:112px minmax(0,1fr) 32px;gap:24px;align-items:center;padding:19px 24px}.record summary::-webkit-details-marker{display:none}.record-date{display:flex;flex-direction:column;gap:5px}.record-date strong{font-size:22px;line-height:1.1;letter-spacing:-.5px}.record-date time{font-size:12px;font-weight:600;color:var(--muted)}.record-title{font-size:16px;font-weight:700;line-height:1.4;word-break:keep-all}.record-title.recorded:before{content:"";display:inline-block;width:9px;height:9px;border:1.5px solid var(--line);background:var(--blue);border-radius:3px;margin-right:7px}.chevron{width:32px;height:32px;border:1.5px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:17px;line-height:1;transition:transform .15s}.record[open] .chevron{transform:rotate(180deg)}.record summary:hover .chevron{background:var(--blue)}.record-body{padding:0 70px 23px 160px}.badge{font-size:10px;font-weight:600;border:1px solid var(--line);border-radius:20px;padding:2px 7px;background:var(--blue);color:var(--blue-ink);display:inline-block}.badge.waiting{background:var(--faint);color:var(--muted);border-style:dashed}.badge.chicken{background:var(--chicken);color:var(--ink)}.record-body p,.record-body li{font-size:14px;line-height:1.7;color:var(--muted)}.record-body p{margin:12px 0}.record-body ul{padding-left:19px;margin:10px 0}.source{font-size:12px;font-weight:700}.verification{font-size:12px!important;border-top:1px dashed var(--faint);padding-top:12px}.verification-note{font-size:12px;line-height:1.75;color:var(--muted);margin:24px 0 0;word-break:keep-all}.loading{font-size:14px;color:var(--muted)}footer{margin-top:auto;border-top:1px solid var(--faint);padding:23px 0 30px;font-size:11px;line-height:1.7;color:var(--muted)}footer p{margin:4px 0}footer span{padding:0 8px}.flash{animation:flash 1.5s ease-out}@keyframes flash{0%{background:var(--blue)}100%{background:var(--card)}}
@media(max-width:650px){.page{padding:0 20px}.masthead{padding:22px 0}.brand{font-size:19px;gap:9px}.brand img{width:38px;height:38px}.icon-button{width:33px;height:33px}main{grid-template-columns:minmax(0,1fr) 120px;gap:16px 18px;padding-top:22px;margin-bottom:48px}h1{font-size:32px;letter-spacing:-.9px}.promise{grid-column:1/-1}.promise blockquote{font-size:14px}.calendar{grid-row:1;grid-column:2;margin:2px 2px 5px}.calendar-label,.calendar-number{display:none}.calendar-date{padding:18px 3px 8px;font-size:10px;letter-spacing:0}.clock{padding:9px 0}.clock time{font-size:16px}.clock span{font-size:8px}.log{margin-top:20px}h2{font-size:25px}.day-strip{grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;margin-top:17px}.day-strip button{font-size:11px;aspect-ratio:1.2}.record summary{grid-template-columns:76px minmax(0,1fr) 28px;gap:12px;padding:18px 16px}.record-date strong{font-size:19px}.record-date time{font-size:10px}.record-title{font-size:14px}.chevron{width:28px;height:28px}.record-body{padding:0 22px 20px 105px}.record-body p,.record-body li{font-size:13px}.period{margin-bottom:21px}footer p:last-child{font-size:10px}}
@media(max-width:380px){.page{padding:0 15px}h1{font-size:28px}main{grid-template-columns:minmax(0,1fr) 105px;column-gap:12px}.record-body{padding-left:20px}.brand{font-size:17px}.header-actions{gap:7px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.day-strip button.mixed{background:linear-gradient(135deg,var(--blue) 0 50%,var(--chicken) 50% 100%);color:var(--ink)}
.published-at{display:inline-block;margin-left:9px;font-size:10px;line-height:1.6;color:var(--muted);font-variant-numeric:tabular-nums}#updated-at[data-state=error],#updated-at[data-state=stale]{color:var(--accent);font-weight:600}#updated-at:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;margin:0 6px 1px 0}
.chevron svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.record.has-entries[open] .summary-entries{display:none}.record.has-entries[open] summary .chevron{grid-column:3}.record.has-entries[open] .record-body{margin-top:-49px;position:relative;pointer-events:none}.record.has-entries[open] .record-body>*{pointer-events:auto}.reactions{border-top:1px dashed var(--muted);margin-top:24px;padding-top:17px}.reactions h4{font-size:12px;margin:0 0 13px;color:var(--ink)}.reactions blockquote{margin:12px 0;padding:0 0 0 12px;border-left:2px solid var(--blue)}.reactions blockquote p{margin:0;font-size:12px;line-height:1.7;color:var(--muted)}.reactions blockquote a{display:inline-block;margin-top:4px;font-size:10px;color:var(--muted)}
.summary-entries{display:grid;gap:10px;min-width:0}.summary-entry{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0}.summary-entry .record-title{min-width:0;background:transparent}.record-title.chicken:before{background:var(--chicken)}.vote-tally{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;font:600 10px/1.2 monospace;color:var(--muted);white-space:nowrap}.vote-tally.unavailable{font-family:inherit;font-size:10px;font-weight:400}.tally-share{display:inline-flex;align-items:center;gap:5px}.tally-share i{width:32px;height:5px;display:block;border:1px solid var(--line);border-radius:3px;background:linear-gradient(to right,var(--blue) 0 var(--share),#dce0e8 var(--share) 100%)}.tally-up{color:var(--accent)}.tally-down{color:var(--muted)}.entry+.entry{border-top:1px dashed var(--muted);margin-top:24px;padding-top:24px}.entry h3{font-size:18px;line-height:1.4;letter-spacing:-.3px;margin:11px 0 0;word-break:keep-all}.entry h3 a{text-decoration:none}.entry h3 a:hover{text-decoration:underline}.record[open] .summary-entry .record-title{font-size:14px;color:var(--muted)}.votes{margin-top:22px;text-align:center}.vote-buttons{display:flex;justify-content:center;align-items:center;gap:12px}.vote-count{font-family:Arial,sans-serif;font-size:22px;line-height:1;font-weight:700;min-width:30px;font-variant-numeric:tabular-nums}.vote-count-up{color:#3b4890;text-align:right}.vote-count-down{color:#7b7b7b;text-align:left}.vote-button{width:56px;height:56px;padding:0;border:0;background:transparent;cursor:pointer;border-radius:50%;display:block;flex-shrink:0}.icon_recom_up,.icon_recom_down{display:block;width:56px;height:56px;background-image:url('./assets/dc-sprite.png');background-repeat:no-repeat}.icon_recom_up{background-position:0 -440px}.icon_recom_down{background-position:0 -377px}.vote-button:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.1)}.vote-button:active:not(:disabled){transform:translateY(1px)}.vote-button:disabled{cursor:default}.vote-button:disabled[aria-pressed=false]{opacity:.55}.vote-button[aria-pressed=true]{outline:3px solid var(--accent);outline-offset:4px}.votes .vote-status{font-size:12px;min-height:20px;margin:13px 0 0;color:var(--muted)}.votes .vote-rule{font-size:10px;line-height:1.6;margin:4px 0 0;color:var(--muted)}:root[data-theme=dark] .vote-count-up{color:#a0b2ff}:root[data-theme=dark] .vote-count-down{color:#bdc3d0}
@media(max-width:760px){.summary-entry{align-items:start;flex-direction:column;gap:5px}.vote-tally{font-size:10px;gap:8px}.record[open] .summary-entry .record-title{font-size:13px}}
@media(max-width:650px){.summary-entries{gap:12px}.entry h3{font-size:16px}.record-body{padding-right:22px}.vote-buttons{gap:8px}.vote-count{font-size:19px;min-width:23px}.vote-tally .tally-up,.vote-tally .tally-down{display:none}.votes{margin-top:20px}.record[open] .summary-entry .record-title{font-size:12px}}
.record.has-entries[open] .record-body{margin-top:-65px}@media(max-width:650px){.record.has-entries[open] .record-body{margin-top:-58px}}@media(max-width:380px){.record.has-entries[open] .record-body{margin-top:0}}
.votes .vote-status:empty{display:none}.reactions p{white-space:pre-wrap;overflow-wrap:anywhere}
/* Masthead interaction, matching the reference's small portrait tilt. */
.brand span{transition:color .15s ease}
.brand img{transition:transform .15s ease,box-shadow .15s ease;transform-origin:50% 60%}
.brand:hover span,.brand:focus-visible span{color:var(--accent)}
.brand:hover img,.brand:focus-visible img{transform:rotate(-9deg) translateY(-1px);box-shadow:0 3px 0 var(--shadow)}
@media(prefers-reduced-motion:reduce){.brand img{transition:none}.brand:hover img,.brand:focus-visible img{transform:none}}
