/* A compact, complete week of actual time. Category colours come from TimeCore. */
.week-time-overview{--week-chart-height:384px}
.week-time-overview .week-heading{margin-bottom:8px}
.week-time-overview .week-heading h2{font:500 15px/1.5 var(--font-ui,system-ui);letter-spacing:.12em}
.week-time-overview .week-open{display:grid;place-items:center;min-width:44px;min-height:44px;padding:0}
.week-time-overview .week-open svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.week-time-head,.week-time-body{display:grid;grid-template-columns:26px repeat(7,minmax(0,1fr))}
.week-time-head>div{display:flex;flex-direction:column;align-items:center;gap:5px;padding-bottom:13px;color:var(--week-muted);font:10px/1.4 var(--font-ui,system-ui)}
.week-time-head time{font-size:16px;font-variant-numeric:tabular-nums}
.week-time-head .is-today{color:var(--week-ink);font-weight:600}
.week-time-head .is-today time{border-bottom:1px solid var(--spirit-accent,#6283a8)}
.week-time-body{height:var(--week-chart-height);position:relative}
.week-time-hours{position:relative;font:10px/1 var(--font-ui,system-ui);color:var(--week-muted)}
.week-time-hours>span{position:absolute;left:0;transform:translateY(-50%)}
.week-time-hours>span:first-child{transform:none}
.week-time-hours>span:last-child{transform:translateY(-100%)}
.week-time-column{position:relative;min-width:0;border-left:1px solid var(--week-line);border-bottom:1px solid var(--week-line);background:repeating-linear-gradient(to bottom,var(--week-line) 0px,var(--week-line) 1px,transparent 1px,transparent 12.5%)}
.week-time-column:last-child{border-right:1px solid var(--week-line)}
.week-time-column.is-today{background-color:rgba(var(--spirit-rgb,133,160,193),.055)}
.week-time-overview .week-time-block{position:absolute;z-index:2;top:var(--block-top);height:var(--block-height);left:calc(var(--lane) / var(--lanes) * 100% + 2px);width:calc(100% / var(--lanes) - 4px);padding:0;border-radius:3px;overflow:visible;min-width:0;border:0;background:none}
.week-time-block>span{position:absolute;inset:0;min-height:2px;border-radius:3px;background:var(--block-color);box-shadow:inset 2px 0 0 var(--block-accent);pointer-events:none}
.week-time-block::after{content:"";position:absolute;inset:-10px 0;min-height:24px}
.week-time-block[data-muted="true"]{opacity:.16}
.week-time-overview .week-time-block[aria-pressed="true"]{z-index:4;outline:2px solid var(--block-accent);outline-offset:2px}
.week-time-overview .week-time-block:focus-visible{z-index:5;outline:2px solid var(--week-ink);outline-offset:2px}
.week-time-now{position:absolute;z-index:3;left:0;right:0;border-top:1px dashed var(--spirit-accent,#6283a8);pointer-events:none;opacity:.8}
.week-time-now::before{content:"";position:absolute;left:-2px;top:-2px;width:3px;height:3px;border-radius:50%;background:var(--spirit-accent,#6283a8)}
.week-time-detail:empty{display:none}
.week-time-detail{margin:18px 0 2px;padding:8px 0 12px;border-bottom:1px solid var(--week-line);overflow-wrap:anywhere}
.week-time-detail>div{display:flex;justify-content:space-between;align-items:center;gap:10px}
.week-time-detail strong{font-size:14px;font-weight:500}
.week-time-detail button{flex:0 0 44px;min-height:44px;font-size:22px}
.week-time-detail p{display:flex;align-items:center;gap:6px;margin:0 0 4px;font-size:12px;color:var(--week-muted)}
.week-time-detail i,.week-time-categories i{display:inline-block;flex-shrink:0;width:7px;height:7px;border-radius:2px}
.week-time-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px 14px;margin-top:18px}
.week-time-overview .week-time-categories button{display:grid;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:44px;padding:6px 0;border-radius:0;text-align:left;font-size:12px;border-bottom:1px solid transparent}
.week-time-categories small{color:var(--week-muted);font:10px/1.4 var(--font-ui,system-ui);white-space:nowrap;font-variant-numeric:tabular-nums}
.week-time-overview .week-time-categories button[aria-pressed="true"]{border-color:var(--spirit-accent,#6283a8);font-weight:600}
.week-time-accessible-note{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:350px){.week-time-head,.week-time-body{grid-template-columns:22px repeat(7,minmax(0,1fr))}.week-time-categories{column-gap:10px}.week-time-categories small{font-size:9px}}
