/* Personal AI Setup demo. One executive's week drawn in hairlines; the assistant's
   work on the right; the week redraws with the hours it gave back. */
.pas-top {max-width:62rem}
.pas-title {min-height:1.05em;font:400 clamp(2.2rem,4.4vw,4.6rem)/1.02 'Fraunces','Fraunces Fallback',Georgia,serif;letter-spacing:-.025em;color:var(--ink)}
.pas-caret {display:inline-block;width:.06em;height:.82em;margin-left:.08em;vertical-align:-.06em;background:var(--oxide);animation:pas-blink 1s steps(1) infinite}
.pas:not([data-phase="week"]) .pas-caret,.pas[data-state="done"] .pas-caret {opacity:0;animation:none}
@keyframes pas-blink {50%{opacity:0}}
.pas-who {margin-top:1rem;font-size:.9375rem;color:var(--ink-2)}

.pas-stage {display:grid;grid-template-columns:minmax(0,1.35fr) minmax(19rem,1fr);gap:clamp(3rem,6vw,6.5rem);margin-top:clamp(2.4rem,4vw,3.6rem);padding-top:clamp(1.8rem,3vw,2.4rem);border-top:1px solid var(--rule)}
.pas-weekhead {display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.8rem 2rem;margin-bottom:1.4rem}
.pas-total {font-size:.9375rem;color:var(--ink-2)}
.pas-total b {font:400 2.4rem/1 'Fraunces','Fraunces Fallback',Georgia,serif;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;margin-right:.25rem}
.pas-total span {margin-left:.5rem;white-space:nowrap;color:var(--oxide);animation:pas-in .6s var(--ease) both}
.pas-when,.pas-tabs {display:flex;flex-wrap:wrap;gap:.3rem 1.3rem}
.pas-when button,.pas-tabs button {padding:.25rem 0;font:inherit;font-size:.9375rem;color:var(--ink-2);background:none;border:0;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.35em;transition:color .25s,text-decoration-color .25s}
.pas-when button:hover,.pas-tabs button:hover {color:var(--ink);text-decoration-color:var(--rule)}
.pas-when button[aria-pressed="true"],.pas-tabs button[aria-pressed="true"] {color:var(--ink);text-decoration-color:var(--oxide)}
.pas-when button:focus-visible,.pas-tabs button:focus-visible {outline:1px solid var(--oxide);outline-offset:4px}

/* The week: hour hairlines across, one column per day, blocks as vertical strokes. */
.pas-week {--h:34rem;position:relative;padding-left:2rem}
.pas-hours {position:absolute;left:0;right:0;top:1.9rem;height:var(--h);list-style:none;margin:0;padding:0;pointer-events:none}
.pas-hours li {position:absolute;left:0;right:0;border-top:1px solid color-mix(in srgb,var(--rule) 60%,transparent);font-size:.6875rem;line-height:1;color:var(--ink-2);font-variant-numeric:tabular-nums}
.pas-hours li {padding-top:.25rem}
.pas-days {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0 .7rem}
.pas-dname {height:1.9rem;font-size:.8125rem;color:var(--ink)}
.pas-col {position:relative;height:var(--h)}
.pas-b {position:absolute;left:0;right:0}
.pas-b i {position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--ink-2);transform-origin:top;transition:transform 1.1s var(--ease) calc(var(--n,0) * 25ms),background .4s}
.pas-b.is-meet i {width:2px;background:var(--ink)}
.pas-b.is-prep i {background:repeating-linear-gradient(var(--ink-2) 0 3px,transparent 3px 6px)}
.pas-b span {position:absolute;left:.55rem;right:0;top:0;padding-top:.1rem;font-size:.75rem;line-height:1.2;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;transition:opacity .5s var(--ease) calc(var(--n,0) * 25ms + .2s)}
.pas-b.is-meet span {color:var(--ink);white-space:normal}
.pas-b small {font-size:.6875rem;opacity:.8;white-space:nowrap}
.pas-b .pas-l1 {opacity:0;color:var(--oxide)}
.pas-free {position:absolute;left:0;right:0;opacity:0;transition:opacity .6s var(--ease) .5s}
.pas-free::before {content:'';position:absolute;left:0;top:2px;bottom:2px;border-left:1px dotted var(--oxide)}
.pas-free em {position:absolute;left:.55rem;bottom:.15rem;font-style:normal;font-size:.6875rem;line-height:1;color:var(--oxide);white-space:nowrap}

.pas.is-drawing .pas-b i {transform:scaleY(0)}
.pas.is-drawing .pas-b span {opacity:0}
.pas.is-after .pas-b i {transform:scaleY(var(--k))}
.pas.is-after .pas-b:not(.is-meet) i {background:var(--oxide)}
.pas.is-after .pas-b:not(.is-meet) .pas-l0 {opacity:0}
.pas.is-after .pas-b .pas-l1 {opacity:1}
.pas.is-after .pas-free {opacity:1}
/* The assistant view in focus marks the blocks it took over. */
.pas:not([data-phase="week"]):not(.is-after)[data-view="inbox"] .pas-b[data-link="inbox"] i,
.pas:not([data-phase="week"]):not(.is-after)[data-view="brief"] .pas-b[data-link="brief"] i,
.pas:not([data-phase="week"]):not(.is-after)[data-view="update"] .pas-b[data-link="update"] i {background:var(--oxide)}
.pas:not([data-phase="week"]):not(.is-after)[data-view="brief"] .pas-b[data-link="brief"] span,
.pas:not([data-phase="week"]):not(.is-after)[data-view="update"] .pas-b[data-link="update"] span {color:var(--oxide)}

.pas-legend {display:flex;flex-wrap:wrap;gap:.4rem 1.3rem;margin-top:1.4rem;font-size:.75rem;color:var(--ink-2)}
.pas-legend span {display:inline-flex;align-items:center;gap:.45rem}
.pas-legend i {display:inline-block;width:1px;height:.9rem;background:var(--ink-2)}
.pas-legend .is-meet i {width:2px;background:var(--ink)}
.pas-legend .is-prep i {background:repeating-linear-gradient(var(--ink-2) 0 3px,transparent 3px 6px)}
.pas-legend .is-free i {background:none;border-left:1px dotted var(--oxide)}

/* The assistant's side. */
.pas-side {align-self:start;min-width:0}
.pas-tabs {padding-bottom:1.1rem;margin-bottom:1.4rem;border-bottom:1px solid var(--rule)}
.pas-view {animation:pas-in .45s var(--ease) both}
.pas-view[hidden] {display:none}
.pas-when-line {font-size:.875rem;color:var(--ink-2)}
.pas-strip {position:relative;height:28px;margin-top:1.4rem;opacity:0;transition:opacity .5s}
.pas-strip.is-in,.pas:not([data-state]) .pas-strip {opacity:1}
.pas-strip i {position:absolute;left:0;bottom:0;width:1px;height:26px;transition:transform .9s var(--ease)}
.pas-strip i::before {content:'';position:absolute;inset:0;background:var(--ink-2);transform-origin:bottom;transform:scaleY(.5);transition:transform .6s var(--ease) .4s,background .4s .4s}
.pas-strip.is-sorted i[data-k="need"]::before {transform:none;background:var(--oxide)}
.pas-strip.is-sorted i[data-k="draft"]::before {transform:scaleY(.7);background:var(--ink)}
.pas-strip.is-sorted i[data-k="later"]::before {transform:scaleY(.38)}
.pas-piles {position:relative;height:3.4rem;margin-top:.7rem}
.pas-pile {position:absolute;left:0;top:0;display:grid;font-size:.75rem;line-height:1.3;color:var(--ink-2);white-space:nowrap;opacity:0;transition:opacity .5s var(--ease)}
.pas-pile b {font:400 1.6rem/1.05 'Fraunces','Fraunces Fallback',Georgia,serif;color:var(--ink);font-variant-numeric:tabular-nums}
.pas-pile[data-k="need"] b {color:var(--oxide)}
.pas-pile.is-in {opacity:1}
.pas-draft {margin-top:1.6rem;padding-left:1.1rem;border-left:1px solid var(--oxide);opacity:0;transition:opacity .5s var(--ease)}
.pas-draft.is-in {opacity:1}
.pas-to {font-size:.8125rem;color:var(--ink-2)}
.pas-draft-text {min-height:4.4em;margin-top:.6rem;font:400 clamp(1.15rem,1.5vw,1.35rem)/1.45 'Fraunces','Fraunces Fallback',Georgia,serif;color:var(--ink)}
.pas-status {margin-top:.8rem;font-size:.8125rem;color:var(--oxide)}
.pas-w {display:inline-block;animation:pas-word .6s var(--ease) both}
@keyframes pas-word {from{opacity:0;filter:blur(5px);transform:translateY(.15em)}to{opacity:1;filter:none;transform:none}}
@keyframes pas-in {from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

.pas-brief {list-style:none;margin:1.2rem 0 0;padding:0;border-bottom:1px solid var(--rule)}
.pas-brief li {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:baseline;padding:.75rem 0;border-top:1px solid var(--rule);opacity:0;transform:translateY(6px);transition:opacity .5s var(--ease),transform .6s var(--ease)}
.pas-brief li.is-in {opacity:1;transform:none}
.pas-brief span {font:400 1.0625rem/1.45 'Fraunces','Fraunces Fallback',Georgia,serif;color:var(--ink)}
.pas-brief li:last-child span {color:var(--oxide)}
.pas-brief small {font-size:.75rem;color:var(--ink-2);white-space:nowrap}

.pas-update-text {min-height:9em;margin-top:1.2rem;font:400 clamp(1.15rem,1.5vw,1.35rem)/1.5 'Fraunces','Fraunces Fallback',Georgia,serif;color:var(--ink)}
.pas-update-meta {margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--rule);font-size:.8125rem;color:var(--ink-2);opacity:0;transition:opacity .5s var(--ease)}
.pas-update-meta.is-in {opacity:1}

.pas:not([data-state]) .pas-caret {display:none}
.pas[data-reset] *,.pas[data-reset] *::before,.pas[data-reset] *::after {transition:none!important;animation:none!important}

@media(max-width:1000px){
 .pas-stage {grid-template-columns:1fr}
}
@media(max-width:700px){
 .pas-week {--h:24rem;padding-left:1.4rem}
 .pas-days {gap:0 .35rem}
 .pas-b span,.pas-free em {display:none}
 .pas-legend {gap:.4rem 1rem}
 .pas-total b {font-size:2rem}
}
