/* Keep the width steady when the loading lock lifts and the scrollbar returns. */
html{scrollbar-gutter:stable}
:root{font-synthesis:none}
body{-webkit-font-smoothing:antialiased}
button,summary{cursor:pointer}
button,a,summary{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible,input:focus-visible{outline:2px solid var(--cool);outline-offset:4px}
a{color:inherit;text-decoration:none}
p,h1,h2,h3{margin:0}
button{background:transparent}
button:hover{background:var(--paper-2)}
.badge-demo{font-size:var(--text-xs);padding:5px 9px}
.eyebrow{font-size:13px;color:var(--muted);margin-bottom:14px}
.btn{border:1px solid var(--hair);padding:11px 17px;font-weight:550;font-size:14px;min-height:42px}
.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.primary:hover{background:var(--muted)}
.link{border:0;padding:8px 0;color:var(--muted);font-size:13px;text-decoration:underline;text-underline-offset:4px}
.link:hover{background:transparent;color:var(--ink)}
main{max-width:1680px;margin:auto;padding-left:60px;padding-right:60px}
.intro{padding:38px 0 30px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
h1{font-size:clamp(32px,3vw,51px);line-height:1.16;letter-spacing:-1.8px;font-weight:550}
h1 .heat-word{color:var(--accent-text)}
h1 .headline-second{display:block;font-weight:450}
.help-actions{display:flex;flex-shrink:0;flex-direction:column;gap:8px;min-width:182px;padding-bottom:4px}
.help-actions .btn{display:flex;justify-content:space-between;align-items:center;gap:15px;white-space:nowrap}
.voice-button{border-color:transparent;color:var(--muted);font-size:12px}
.voice-button svg{width:14px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}
.section-heading h2{font-size:18px;font-weight:600;letter-spacing:-.3px}
.section-heading p{font-size:12px;color:var(--muted)}
.day{border-top:1px solid var(--ink);padding:20px 0 19px}
.day-scroll{overflow-x:auto;padding-top:10px}
#day-bar{height:144px;position:relative;margin:0 8px}
.heat-track{position:absolute;top:55px;left:0;right:0;height:30px;display:flex}
.risk-band,.risk-swatch{background:repeating-linear-gradient(135deg,transparent 0 5px,var(--amber) 5px 7px);border:1px solid var(--amber)}
.risk-high{background:repeating-linear-gradient(135deg,transparent 0 5px,var(--accent) 5px 7px);border-color:var(--accent)}
.risk-band{position:absolute;inset:0 auto 0 50%;width:40%;pointer-events:none}
.risk-legend{display:flex;align-items:center;gap:8px;font-size:12px;line-height:18px;margin:8px 0;color:var(--muted)}
.risk-legend[hidden]{display:none}
.risk-swatch{display:inline-block;width:24px;height:12px;flex:none}
.heat-segment{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;border-right:1px solid var(--paper)}
.heat-segment span{position:relative;z-index:1;background:inherit;padding:0 4px}
.band-low{background:var(--heat-low)}
.band-moderate{background:var(--heat-moderate)}
.band-high{background:var(--heat-high);color:var(--accent-ink)}
.pin{position:absolute;top:9px;padding:0 0 0 8px;text-align:left;border:0;border-left:1px solid var(--ink);height:46px;max-width:185px;display:flex;flex-direction:column;justify-content:flex-start;gap:3px;white-space:nowrap;font-size:13px;line-height:1.2}
.pin::after{content:'';position:absolute;bottom:-19px;left:-4px;width:7px;height:7px;background:var(--ink);border:1px solid var(--paper)}
.pin.below{top:85px;height:37px;justify-content:flex-end}
.pin.below::after{bottom:auto;top:-19px}
.pin b{font-size:var(--text-xs);font-weight:450;color:var(--muted)}
.pin:hover{background:var(--paper-2)}
.pin.approved span:before{content:'✓ ';color:var(--cool)}
.ticks{position:absolute;bottom:0;left:0;right:0;height:15px;font-size:var(--text-xs);color:var(--muted)}
.ticks span{position:absolute;transform:translateX(-50%)}
.ticks span:first-child{transform:none}
.ticks span:last-child{transform:translateX(-100%)}
.day-note{font-size:var(--text-xs);color:var(--muted);margin-top:11px}
.attention{border-top:1px solid var(--hair);padding-top:20px}
.attention .section-heading{margin-bottom:16px}
#pending-count,#keep-count{font-size:12px;margin-left:9px;color:var(--muted);font-weight:450}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.activity-card{background:var(--card);border:1px solid var(--hair);padding:20px 24px 0;scroll-margin-top:20px}
.card-top{display:flex;align-items:center;justify-content:space-between;gap:15px}
.card-top h3{font-size:20px;letter-spacing:-.5px;font-weight:600}
.chip{font-size:var(--text-xs);font-weight:600;padding:5px 9px;white-space:nowrap}
.chip.move{background:var(--accent);color:var(--accent-ink)}
.chip.adjust{background:var(--amber)}
.chip.keep{background:var(--cool-soft);color:var(--ink)}
.original{color:var(--muted);font-size:13px;margin-top:5px}
.proposal{display:flex;align-items:baseline;gap:12px;font-size:22px;letter-spacing:-.4px;margin:13px 0 6px;font-weight:550}
.proposal .arrow{font-weight:400;color:var(--muted)}
.reason{font-size:13px;color:var(--muted);line-height:1.5;min-height:20px}
.card-actions{display:flex;align-items:center;gap:18px;padding:15px 0}
.card-actions .primary{min-width:109px;padding:9px 18px}
.card-actions details{margin-left:auto}
.evidence{border-top:1px solid var(--hair)}
.evidence summary{font-size:12px;color:var(--muted);padding:11px 0;list-style:none}
.evidence summary::-webkit-details-marker,.all-good>summary::-webkit-details-marker{display:none}
.evidence summary::after{content:'＋';float:right}
.evidence[open] summary::after{content:'−'}
.evidence dl{display:grid;grid-template-columns:1fr 1fr;gap:17px 24px;margin:4px 0 20px}
.evidence dt{font-size:var(--text-xs);color:var(--muted);margin-bottom:5px}
.evidence dd{font-size:14px;margin:0;line-height:1.5}
.evidence .wide{grid-column:1/-1}
.done-text{color:var(--cool);font-size:14px;font-weight:550}
.approved-card{border-top:2px solid var(--cool)}
.notice{border-top:1px solid var(--hair);padding:17px 0 20px}
.notice-heading{display:flex;align-items:center;justify-content:space-between;font-size:13px;margin-bottom:14px}
.notice-heading span{color:var(--muted);font-size:var(--text-xs)}
.tabs{display:flex;margin-bottom:15px}
.tabs button{border:1px solid var(--hair);border-right:0;padding:8px 13px;font-size:13px;flex:1}
.tabs button:last-child{border-right:1px solid var(--hair)}
.tabs [aria-selected=true]{background:var(--inverse);color:var(--on-inverse);border-color:var(--inverse)}
.notice-text{font-size:15px;line-height:1.65}
.notice-source{font-size:var(--text-xs);color:var(--muted);margin-top:10px}
.notice-actions{display:flex;gap:8px;margin-top:16px}
.notice-actions .btn{font-size:12px}
.staff-note{font-size:14px;line-height:1.6;color:var(--muted)}
.all-good{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);margin-top:20px}
.all-good>summary{list-style:none;display:flex;align-items:center;gap:24px;padding:19px 0;font-size:17px;font-weight:550}
.keep-preview{font-size:12px;font-weight:450;color:var(--muted)}
.expand-label{margin-left:auto;font-size:12px;font-weight:450}
.expand-label span{margin-left:15px}
/* The ＋/− marker reflects disclosure state without changing its width. */
.expand-label>span[aria-hidden]{display:inline-block;width:12px;font-size:0}
.expand-label>span[aria-hidden]::after{content:'＋';font-size:12px}
details[open]>summary .expand-label>span[aria-hidden]::after{content:'−'}
.keep-row{display:grid;grid-template-columns:auto 1fr;gap:10px 20px;padding:18px 0;border-top:1px solid var(--hair)}
.keep-row h3{font-size:16px;font-weight:550}
.keep-row p{font-size:13px;color:var(--muted);margin-top:5px}
.keep-row .evidence{grid-column:2;border:0}
.keep-row>.chip{align-self:start}
.keep-row .evidence summary{padding-bottom:0}
.keep-row .evidence dl{margin-top:14px}
dialog{border:1px solid var(--hair);padding:30px;background:var(--paper);color:var(--ink);max-width:min(640px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto}
dialog::backdrop{background:#22303c65}
.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}
.dialog-heading h2{font-weight:550;font-size:28px;letter-spacing:-.8px}
.dialog-heading .eyebrow{font-size:var(--text-xs);margin-bottom:8px}
.close{border:0;font-size:30px;line-height:1;padding:0 6px}
.drawer{margin:0 0 0 auto;max-width:min(540px,100%);width:540px;height:100dvh;max-height:100dvh;border-top:0;border-bottom:0;padding:36px;animation:slide-in .18s ease-out}
@keyframes slide-in{
from{transform:translateX(100%)}
to{transform:translateX(0)}
}
.message{margin:23px 0;font-size:14px;line-height:1.65}
.message.user{padding:19px;background:var(--inverse);color:var(--on-inverse)}
.option{border:1px solid var(--hair);padding:18px;margin-top:14px;background:var(--card)}
.option h3{font-size:17px;font-weight:550}
.option ul{padding-left:18px;color:var(--muted);font-size:13px;line-height:1.8;margin:12px 0}
.model-note{font-size:var(--text-xs);color:var(--muted);margin-top:18px;line-height:1.6}
#composer{border-top:1px solid var(--hair);padding-top:20px;margin-top:25px}
#composer label{font-size:12px;display:block;margin-bottom:10px}
#composer>div{display:flex}
#composer input{min-width:0;flex:1;background:var(--card);border:1px solid var(--hair);padding:10px;font-size:13px}
#composer p{font-size:var(--text-xs);color:var(--muted);margin-top:12px}
.option-note{font-size:14px;line-height:1.6;color:var(--muted)}
.option>.option-note{margin-top:8px}
.option>.option-note+.btn{margin-top:16px}
.voice{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:40px 6vw;border:0}
.voice .dialog-heading{border-bottom:1px solid var(--hair);padding-bottom:25px}
.voice-content{max-width:1200px;margin:55px auto}
.voice-question{display:flex;gap:25px;align-items:center;margin-bottom:46px}
.voice-symbol{font-size:90px;color:var(--cool);line-height:1}
.voice-transcript{font-size:30px;line-height:1.5}
.voice-gloss{font-size:19px;line-height:1.6;color:var(--muted);margin-top:12px;max-width:1000px}
.voice-answer{border-top:1px solid var(--hair);padding-top:30px}
.voice-reply{font-size:42px;line-height:1.6;font-weight:500;letter-spacing:-.6px;max-width:1140px}
.voice-heat{display:flex;margin-top:36px;gap:2px}
.voice-heat>div{flex:1;text-align:center;padding:13px 3px;font-size:14px}
.voice-heat b{display:block;margin-top:6px;font-size:16px;font-weight:550}
.voice-note{max-width:1200px;margin:25px auto;color:var(--muted);font-size:12px}
#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:var(--z-toast);background:var(--inverse);color:var(--paper);padding:14px 20px;font-size:14px;max-width:calc(100% - 32px);width:max-content}
body:has(dialog[open]){overflow:hidden}
.load-error{padding:60px 0}
.load-error p{margin-top:15px}
@media(min-width:1700px){
.intro{padding-top:42px}
.activity-card{padding-top:21px}
.proposal{margin-top:15px}
.card-actions{padding:17px 0}
}
@media(max-width:1200px){
main{padding-left:32px;padding-right:32px}
h1{font-size:39px}
.pin{font-size:var(--text-xs);max-width:140px}
.proposal{font-size:20px}
.activity-card{padding-left:18px;padding-right:18px}
.intro{gap:20px}
.help-actions{min-width:170px}
}
@media(max-width:800px){
.badge-demo{font-size:var(--text-xs);padding:4px 6px}
main{padding-left:20px;padding-right:20px}
.intro{display:block;padding:28px 0 23px}
h1{font-size:35px;letter-spacing:-1.2px}
.eyebrow{font-size:var(--text-xs);line-height:1.7;margin-bottom:12px}
.help-actions{flex-direction:row;margin-top:22px;gap:8px}
.help-actions .btn{font-size:12px;padding:10px}
.section-heading{align-items:flex-start}
.section-heading h2{font-size:17px}
.section-heading p{font-size:var(--text-xs);max-width:140px;text-align:right}
.day{padding-top:17px}
.day-scroll{margin-right:-20px;padding-right:20px}
#day-bar{min-width:880px;height:144px}
.day-note{line-height:1.6}
.cards{grid-template-columns:1fr;gap:14px}
.activity-card{padding:18px 18px 0}
.card-top h3{font-size:19px}
.proposal{font-size:21px;margin-top:14px}
.reason{font-size:12px}
.attention .section-heading p{max-width:125px}
.card-actions{gap:16px}
.all-good>summary{flex-wrap:wrap;gap:8px}
.keep-preview{order:3;flex-basis:100%;font-size:var(--text-xs)}
.expand-label{font-size:var(--text-xs)}
.notice-actions{flex-wrap:wrap}
.notice-actions .btn{font-size:var(--text-xs)}
.drawer{padding:24px}
.voice{padding:23px}
.voice-content{margin:30px auto}
.voice-question{gap:13px;margin-bottom:27px}
.voice-symbol{font-size:65px}
.voice-transcript{font-size:22px}
.voice-gloss{font-size:15px}
.voice-reply{font-size:27px}
.voice-heat{display:grid;grid-template-columns:repeat(3,1fr);margin-top:24px}
.voice-heat>div{padding:9px 4px}
.voice-heat b{font-size:14px}
.voice-note{font-size:var(--text-xs)}
.evidence dl{gap:14px}
.evidence dd{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
.drawer{animation:none}
}
/* Keep the complete default plan within the 1080px presentation viewport. */
@media(min-width:801px){

.intro{padding:27px 0 24px}
h1{font-size:46px}
.intro .eyebrow{margin-bottom:10px}
.day{padding:16px 0 15px}
#day-bar{height:132px}
.day-note{margin-top:8px}
.attention{padding-top:16px}
.attention .section-heading{margin-bottom:12px}
.activity-card{padding-top:17px}
.proposal{margin:10px 0 5px}
.card-actions{padding:13px 0;min-height:68px;margin-right:96px}
.activity-card>.evidence{border:0;margin-top:-68px}
.activity-card>.evidence summary{height:68px;display:flex;align-items:center;gap:12px;width:max-content;margin-left:auto;padding:0}
.evidence-hint{display:none}
.activity-card>.evidence dl{border-top:1px solid var(--hair);padding-top:16px}
.all-good{margin-top:16px}
.all-good>summary{padding:16px 0}
}
@media(min-width:801px) and (max-width:1200px){
h1{font-size:38px}
}
@media(max-width:800px){

.day-scroll{margin:0;padding-right:0;overflow:visible}
#day-bar{min-width:0;margin-left:0;margin-right:0;height:149px}
.pin{font-size:var(--text-xs);width:58px;max-width:58px;white-space:normal;padding-left:6px}
.pin b{font-size:var(--text-xs);white-space:nowrap}
.pin.below{height:44px}
.pin span{line-height:1.2}
.ticks span:nth-child(even){display:none}
.ticks{font-size:var(--text-xs)}
.heat-segment{font-size:var(--text-xs)}
.attention>.section-heading{display:block}
.attention>.section-heading p{text-align:left;max-width:none;margin-top:7px}
#pending-count{white-space:nowrap}
}
.voice{position:fixed;inset:0}
@media(min-width:801px){

.intro{padding:22px 0 18px}
#day-bar{height:140px}
.activity-card{padding-top:14px}
.card-actions{padding:9px 0;min-height:60px}
.activity-card>.evidence{margin-top:-60px}
.activity-card>.evidence summary{height:60px}
.all-good>summary{padding:14px 0}
}
.motif{pointer-events:none}
.motif-voice{position:absolute;inset:0}
.voice>*:not(.motif){position:relative}
.drawer{display:flex;flex-direction:column}
.drawer>*{flex:none}
.drawer>.badge-demo{align-self:flex-start}
.motif-drawer{position:relative;flex:1 1 140px;min-height:140px;margin:28px -36px -36px}
@media(max-width:800px){
.motif-drawer{margin:24px -24px -24px}
}
/* Fluid editorial scale; wide cards and timeline use the available monitor. */
@media(min-width:1201px){

main{width:100%;max-width:3000px;padding-left:clamp(60px,5vw,172px);padding-right:clamp(60px,5vw,172px)}
h1{font-size:clamp(42px,2.65vw,76px)}
.intro{padding:clamp(24px,1.65vw,48px) 0;gap:clamp(30px,3vw,90px)}
.eyebrow,.btn,.link,.original,.reason,.day-note,.section-heading p,.pin,.evidence summary{font-size:clamp(13px,.78vw,22px)}
.section-heading h2,.card-top h3{font-size:clamp(20px,1.25vw,34px)}
.proposal{font-size:clamp(22px,1.4vw,38px)}
.cards{gap:clamp(20px,1.5vw,44px)}
.activity-card{padding:clamp(18px,1.2vw,34px) clamp(22px,1.4vw,40px) 0}
#day-bar{height:clamp(140px,8vw,225px)}
.heat-segment,.ticks,.pin b{font-size:clamp(12px,.7vw,19px)}
.help-actions{min-width:clamp(182px,13vw,350px)}
.drawer{width:clamp(560px,34vw,1050px);max-width:90vw;padding:clamp(36px,2vw,65px)}
.drawer h2{font-size:clamp(30px,1.6vw,48px)}
.message,.option,.option li,#composer input{font-size:clamp(15px,.9vw,25px)}
}
@media(min-width:2400px){
.cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.activity-card:last-child{grid-column:auto}
.card-actions{margin-right:96px}
.day{padding-top:24px;padding-bottom:24px}
}
/* Closed dialogs must stay closed even when their layout uses flex. */
.drawer:not([open]){display:none}
@media(min-width:1201px) and (max-width:2100px){
.intro{padding:22px 0 18px}
#day-bar{height:132px}
.activity-card{padding-top:14px}
.cards{gap:18px}
.section-heading h2,.card-top h3{font-size:22px}
.proposal{font-size:24px}
.reason{font-size:13px}
.day-note{font-size:13px}
}
@media(min-width:2101px){
.heat-track{top:72px;height:38px}
.pin{top:10px;height:62px;max-width:260px}
.pin.below{top:110px;height:56px}
.ticks{height:28px}
}
#planner-context{color:var(--muted);font-size:13px;margin-top:14px}
.current-wbgt { margin:8px 0 12px; color:var(--ink); font-size:15px; font-weight:600; }
/* Centre selection and browser-local schedules. */
.centre-controls{display:flex;align-items:flex-start;gap:30px;padding:22px 0;border-bottom:1px solid var(--hair)}
.centre-field{position:relative;flex:1;min-width:0;max-width:700px}
/* Form rows share a 20px label track and a 44px control track. */
.centre-field label{display:block;font-size:13px;line-height:20px;margin-bottom:7px}
.centre-field input{width:100%;height:44px;font:inherit;padding:10px;border:1px solid var(--hair);background:var(--card);color:var(--ink)}
#centre-address{font-size:12px;color:var(--muted);margin-top:7px}
#centre-results{position:absolute;top:65px;left:0;right:0;z-index:var(--z-menu);background:var(--card);border:1px solid var(--hair);max-height:300px;overflow-y:auto}
#centre-results button{display:block;width:100%;text-align:left;white-space:normal;padding:12px;border:0;border-bottom:1px solid var(--hair)}
#centre-results span{display:block;font-size:12px;color:var(--muted);margin-top:4px}
.replay-control{display:flex;gap:9px;font-size:13px;align-items:center;min-height:44px;margin-top:27px}
.replay-control input{appearance:none;flex:none;width:16px;height:16px;margin:0;display:grid;place-content:center;border:1px solid var(--muted);background:var(--card);cursor:pointer}
.replay-control input:checked{background:var(--ink);border-color:var(--ink)}
.replay-control input:checked::after{content:'';width:7px;height:4px;border:solid var(--paper);border-width:0 0 2px 2px;transform:translateY(-1px) rotate(-45deg)}
@media(forced-colors:active){.replay-control input{appearance:auto}.replay-control input::after{display:none}}
.schedule-editor{border-top:1px solid var(--hair);padding:16px 0}
.schedule-editor summary{font-size:18px;font-weight:550}
.schedule-editor p{font-size:13px;color:var(--muted);margin:10px 0}
.schedule-actions{display:flex;gap:12px;margin:15px 0}
.schedule-row{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--hair);padding:12px 0}
.schedule-row>div{min-width:0}
.schedule-row p,.schedule-row b{overflow-wrap:anywhere}
.schedule-row>div:last-child{display:flex;gap:16px;flex:none}
#activity-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#activity-form label{font-size:13px;display:flex;flex-direction:column;gap:7px;min-width:0}
#activity-form input,#activity-form select{width:100%;height:44px;min-width:0;font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--hair);padding:9px}
#activity-form label:first-of-type,#activity-form label:nth-of-type(5),#activity-error{grid-column:1/-1}
#activity-form>button{align-self:end;min-height:44px}
#activity-error:empty{display:none}
.pin span{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.intro>div{min-width:0}
.eyebrow{overflow-wrap:anywhere}
.card-top h3,.proposal,.keep-row h3,.keep-row p{overflow-wrap:anywhere}
.cards{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:800px){
.centre-controls{display:block;padding:16px 0}
.replay-control{margin-top:14px}
.cards{grid-template-columns:minmax(0,1fr)}
.schedule-row{flex-wrap:wrap}
.schedule-row>div:last-child{width:100%}
.pin span{font-size:var(--text-xs);line-height:14px;max-height:28px;flex-shrink:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.section-heading{flex-wrap:wrap}
.section-heading p{text-align:left;max-width:none}
.keep-row{grid-template-columns:auto minmax(0,1fr)}
}
.plan-date-control{display:flex;flex-direction:column;gap:7px;font-size:13px;line-height:20px}
.plan-date-control input{font:inherit;border:1px solid var(--hair);background:var(--card);color:var(--ink);padding:9px;min-width:0;height:44px;box-sizing:border-box}
@media(max-width:800px){
.plan-date-control{margin-top:12px;max-width:200px}
}
.band-short{display:none}
@media(max-width:800px){
.band-full{display:none}
.band-short{display:inline}
.intro h1{font-size:30px;line-height:1.2}
.intro{padding:22px 0 18px}
.current-wbgt{font-size:14px}
}
.heat-segment{position:absolute;height:100%}
.heat-track{background:var(--paper-2)}
.pin.right-label{transform:translateX(-100%);border-left:0;border-right:1px solid var(--ink);text-align:right;padding-right:6px;padding-left:0}
.pin.right-label::after{left:auto;right:-4px}
/* Schedule editor uses the same styled header as "Activities unchanged" (no browser triangle). */
.schedule-editor>summary{list-style:none;display:flex;align-items:center;gap:24px}
.schedule-editor>summary::-webkit-details-marker{display:none}
.schedule-editor .expand-label{flex-shrink:0;white-space:nowrap}
/* Comfortable rhythm, independent of the compact presentation overrides above. */
.activity-card { padding:24px; }
.card-top { gap:16px; align-items:baseline; }
.original { margin-top:8px; }
.proposal { margin:16px 0 8px; gap:16px; }
.card-footer { position:relative; margin-top:16px; }
.card-actions { align-items:baseline; gap:16px; padding:0; min-height:44px; margin-right:96px; }
.card-actions .primary { padding:11px 16px; }
.card-actions .link, .card-footer .evidence summary { line-height:20px; }
.card-footer .evidence { border:0; }
.card-footer .evidence summary { position:absolute; right:0; top:0; padding:12px 0; display:flex; gap:16px; align-items:baseline; }
.card-footer .evidence dl { border-top:1px solid var(--hair); margin:16px 0 0; padding-top:16px; gap:16px 24px; }
.all-good { margin-top:24px; }
.all-good>summary { padding:24px 0; gap:16px; align-items:baseline; }
.keep-row { padding:24px 0; gap:16px 24px; }
.keep-row p { margin-top:8px; }
.keep-row .evidence summary { padding:8px 0; }
.schedule-editor { padding:24px 0; }
.schedule-editor>summary { gap:16px; align-items:baseline; }
.schedule-editor p { margin:8px 0; }
.schedule-actions { flex-wrap:wrap; gap:16px; margin:16px 0; }
.schedule-row { padding:16px 0; gap:16px; align-items:baseline; }
.schedule-row>div:last-child { align-items:baseline; }
.day { padding:24px 0; }
.day-scroll { padding-top:16px; }
.day-note { margin-top:16px; }
.attention { padding-top:24px; }
.attention .section-heading { margin-bottom:16px; }
.notice { margin-top:24px; padding:24px 0 0; }
@media(max-width:800px) {

  .activity-card { padding:24px; }
.card-actions { margin-right:0; flex-wrap:wrap; gap:8px 16px; }
.card-footer .evidence { border-top:1px solid var(--hair); margin-top:16px; }
.card-footer .evidence summary { position:static; justify-content:space-between; padding:16px 0 0; }
.all-good>summary { gap:8px 16px; }
.schedule-editor>summary { flex-wrap:wrap; gap:8px 16px; }
.keep-row { gap:16px; }
}

.close { min-width:40px; min-height:40px; }
.tabs button { min-height:40px; }
@media(max-width:800px) {
  /* Two readable lines plus a time label fit above and below the heat strip. */
  #day-bar { height:192px; }
  .heat-track { top:76px; }
  .pin { top:8px; height:68px; }
  .pin.below { top:106px; height:64px; }
  .pin span { font-size:var(--text-xs); line-height:17px; max-height:34px; }
  .pin b { white-space:normal; line-height:17px; }
}
@media(min-width:801px) and (max-width:2100px) {
  /* Leave a clear line between lower activity times and the hourly ticks. */
  #day-bar { height:156px; }
}

@media(min-width:801px) and (max-width:1100px) {
  /* Narrow cards need a separate disclosure row, as on phones. */
  .card-actions { margin-right:0; flex-wrap:wrap; gap:8px 16px; }
  .card-footer .evidence { border-top:1px solid var(--hair); margin-top:16px; }
  .card-footer .evidence summary { position:static; justify-content:space-between; padding:16px 0 0; }
  .intro { display:block; }
  .help-actions { flex-direction:row; margin-top:16px; }
}
