.scheduler-page{width:min(100%,92rem);margin:0 auto}.scheduler-page__intro{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2.5rem;display:flex}.scheduler-page__intro h1{max-width:15ch;margin-bottom:.9rem;font-size:clamp(2.35rem,5vw,4rem)}.scheduler-page__intro p:not(.eyebrow){color:#595954;max-width:42rem;margin-bottom:0;line-height:1.6}.scheduler-back-link{color:#595954;text-underline-offset:.3rem;flex:none;font-size:.95rem;font-weight:700}.scheduler-account-actions{color:#676760;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.9rem;font-size:.8rem;display:flex}.scheduler-sign-out{color:#43433f;font:inherit;text-underline-offset:.3rem;cursor:pointer;background:0 0;border:0;padding:0;font-size:.9rem;font-weight:700;text-decoration:underline}.scheduler-auth-state{background:#fff;border:1px solid #d7d7d1;width:min(100%,31rem);margin:clamp(2rem,8vw,6rem) auto;padding:clamp(1.5rem,4vw,2.5rem)}.scheduler-auth-state h1{max-width:12ch;font-size:clamp(2rem,5vw,3.2rem)}.scheduler-auth-state>p:not(.eyebrow){color:#595954;line-height:1.6}.scheduler-sign-in-form{gap:1rem;margin-top:1.75rem;display:grid}.scheduler-sign-in-form label{color:#43433f;gap:.4rem;font-size:.85rem;font-weight:700;display:grid}.scheduler-sign-in-form input{color:#1b1b1b;min-height:2.5rem;font:inherit;background:#fff;border:1px solid #c9c9c3;border-radius:0;padding:.5rem .6rem}.scheduler-sign-in-form input:focus{outline-offset:1px;outline:2px solid #6b6b66}.scheduler-button:disabled{cursor:wait;opacity:.7}.scheduler-summary{background:#fff;border:1px solid #d7d7d1;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.scheduler-summary__item{border-right:1px solid #d7d7d1;padding:1.1rem 1.25rem}.scheduler-summary__item:last-of-type{border-right:0}.scheduler-summary__item span,.scheduler-summary__note{color:#6b6b66;font-size:.78rem;display:block}.scheduler-summary__item strong{letter-spacing:-.02em;margin-top:.35rem;font-size:1.15rem;display:block}.scheduler-summary__note{border-top:1px solid #d7d7d1;grid-column:1/-1;margin:0;padding:.75rem 1.25rem;line-height:1.5}.scheduler-week-controls{justify-content:space-between;align-items:end;gap:1.5rem;margin:3.5rem 0 1rem;display:flex}.scheduler-week-controls h2{font-size:1.55rem}.scheduler-week-controls .eyebrow{margin-bottom:.45rem}.scheduler-week-controls__buttons{gap:.6rem;display:flex}.scheduler-week-controls button,.scheduler-button{color:#fff;font:inherit;cursor:pointer;background:#1b1b1b;border:1px solid #1b1b1b;border-radius:0;padding:.65rem .9rem;font-size:.9rem;font-weight:700}.scheduler-week-controls button:not(:first-child),.scheduler-button--secondary{color:#343431;background:#fff;border-color:#d0d0cb}.scheduler-week-controls button:hover,.scheduler-week-controls button:focus-visible,.scheduler-button:hover,.scheduler-button:focus-visible{outline-offset:2px;outline:2px solid #676760}.scheduler-message{color:#595954;min-height:1.5rem;margin:0 0 1rem;font-size:.9rem}.scheduler-persistence-error{color:#5b241c;background:#fff8f6;border:1px solid #b86b5e;margin:0 0 1.5rem;padding:1rem 1.25rem}.scheduler-persistence-error p{margin:.45rem 0 0;line-height:1.5}.scheduler-persistence-error code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.scheduler-workspace{grid-template-columns:minmax(16rem,21rem) minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.scheduler-sidebar{gap:1.25rem;display:grid}.scheduler-panel{background:#fff;border:1px solid #d7d7d1}.scheduler-panel__heading{justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.25rem 0;display:flex}.scheduler-panel__heading h2{font-size:1.3rem}.scheduler-panel__hint{color:#6b6b66;text-align:right;max-width:7.5rem;font-size:.76rem;line-height:1.35}.scheduler-backlog__list{gap:.75rem;padding:1.25rem;display:grid}.scheduler-empty-state{color:#676760;margin:0;font-size:.9rem;line-height:1.5}.scheduler-task-card{cursor:grab;background:#fdfdfc;border:1px solid #deded9;padding:1rem}.scheduler-task-card:focus-visible{outline-offset:2px;outline:2px solid #4d4d48}.scheduler-task-card__topline{color:#676760;justify-content:space-between;gap:.5rem;font-size:.75rem;font-weight:700;display:flex}.scheduler-task-card h3{letter-spacing:-.02em;margin:.6rem 0 .25rem;font-size:1rem}.scheduler-task-card>p{color:#676760;margin-bottom:.75rem;font-size:.8rem}.scheduler-status{color:#675e32;letter-spacing:.04em;text-transform:uppercase;font-size:.68rem}.scheduler-status--complete{color:#38614c}.scheduler-task-card__metrics{grid-template-columns:repeat(3,1fr);gap:.4rem;margin:0;display:grid}.scheduler-task-card__metrics dt{color:#6b6b66;font-size:.67rem}.scheduler-task-card__metrics dd{margin:.18rem 0 0;font-size:.8rem;font-weight:700}.scheduler-task-card__rule{border-top:1px solid #e6e6e1;padding-top:.7rem;margin:.8rem 0 0!important;font-size:.75rem!important}.scheduler-task-form form{gap:.85rem;padding:1.25rem;display:grid}.scheduler-task-form label{color:#43433f;gap:.35rem;font-size:.8rem;font-weight:700;display:grid}.scheduler-task-form input{color:#1b1b1b;width:100%;min-height:2.35rem;font:inherit;background:#fff;border:1px solid #c9c9c3;border-radius:0;padding:.45rem .55rem;font-size:.9rem}.scheduler-task-form input:focus{outline-offset:1px;outline:2px solid #6b6b66}.scheduler-task-form__durations{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.scheduler-checkbox{grid-template-columns:auto 1fr;align-items:center}.scheduler-checkbox input{width:1rem;min-height:1rem}.scheduler-form-errors{color:#9d3224;margin:0;padding-left:1.1rem;font-size:.82rem;line-height:1.45}.scheduler-session-actions{gap:.6rem;padding:1.25rem;display:grid}.scheduler-session-actions .eyebrow{margin-bottom:0}.scheduler-session-actions span{color:#676760;font-size:.82rem;line-height:1.45}.scheduler-session-actions .scheduler-button{justify-self:start;margin-top:.3rem}.availability-editor__days{gap:0;padding:1.25rem;display:grid}.availability-editor__day{border-top:1px solid #e6e6e1;padding:.85rem 0}.availability-editor__day:first-child{border-top:0;padding-top:0}.availability-editor__day:last-child{padding-bottom:0}.availability-editor__day-heading{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.availability-editor__day h3{margin:0;font-size:.95rem}.availability-editor__day-heading button,.availability-editor__delete{color:#50504a;font:inherit;text-underline-offset:.22rem;cursor:pointer;background:0 0;border:0;padding:0;font-size:.78rem;font-weight:700;text-decoration:underline}.availability-editor__row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;align-items:end;gap:.45rem;margin-top:.65rem;display:grid}.availability-editor__row label{color:#595954;gap:.3rem;font-size:.7rem;font-weight:700;display:grid}.availability-editor__row input{color:#1b1b1b;width:100%;min-height:2.1rem;font:inherit;background:#fff;border:1px solid #c9c9c3;border-radius:0;padding:.35rem;font-size:.8rem}.availability-editor__row input:focus{outline-offset:1px;outline:2px solid #6b6b66}.availability-editor__row .scheduler-button{padding:.48rem .55rem;font-size:.76rem}.availability-editor__delete{margin-bottom:.58rem}.availability-editor__status,.availability-editor__error{border-top:1px solid #d7d7d1;margin:0;padding:.75rem 1.25rem;font-size:.82rem;line-height:1.45}.availability-editor__status{color:#595954}.availability-editor__error{color:#8b2d20;background:#fff8f6}.scheduler-calendar{background:#fff;border:1px solid #d7d7d1;min-width:0;padding:.25rem}.scheduler-calendar .fc{--fc-border-color:#e0e0db;--fc-page-bg-color:#fff;--fc-neutral-bg-color:#f5f5f2;--fc-today-bg-color:#f8f8f4;font-size:.82rem}.scheduler-calendar .fc-theme-standard td,.scheduler-calendar .fc-theme-standard th{border-color:#e0e0db}.scheduler-calendar .fc-col-header-cell-cushion{color:#343431;padding:.75rem .25rem;font-weight:700;text-decoration:none}.scheduler-calendar .fc-timegrid-slot-label-cushion{color:#73736d;font-size:.72rem}.scheduler-calendar .fc-timegrid-event{background:#4d5a65;border:0;border-radius:0}.scheduler-calendar .fc-event-main{padding:.25rem .35rem}.scheduler-calendar-event{gap:.18rem;font-size:.72rem;line-height:1.2;display:grid;overflow:hidden}.scheduler-calendar-event strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scheduler-calendar-event span{opacity:.82}.scheduler-calendar .scheduler-availability-event{opacity:1;background:#67755d26}.scheduler-calendar .scheduler-external-busy-event{color:#fff;background:#8a625f;border-color:#8a625f}.google-calendar-connection__content{gap:.9rem;padding:1.25rem;display:grid}.google-calendar-connection__content p{color:#595954;margin:0;font-size:.88rem;line-height:1.5}.google-calendar-connection__content .scheduler-button{justify-self:start}.google-calendar-connection__message{color:#595954;border-top:1px solid #d7d7d1;margin:0;padding:.75rem 1.25rem;font-size:.82rem;line-height:1.45}.scheduler-calendar .fc-timegrid-now-indicator-line{border-color:#a25143}.scheduler-workspace--disabled{pointer-events:none;opacity:.66}.scheduler-toolbar{justify-content:space-between;align-items:end;gap:1.5rem;margin:2rem 0 1rem;display:flex}.scheduler-toolbar h2{margin:0;font-size:1.5rem}.scheduler-toolbar .eyebrow{margin-bottom:.35rem}.scheduler-toolbar__actions{flex-wrap:wrap;gap:.55rem;display:flex}.scheduler-toolbar button{color:#343431;font:inherit;cursor:pointer;background:#fff;border:1px solid #d0d0cb;padding:.6rem .8rem;font-size:.86rem;font-weight:700}.scheduler-toolbar .scheduler-button{color:#fff;background:#1b1b1b;border-color:#1b1b1b}.scheduler-layout{grid-template-columns:minmax(15rem,19rem) minmax(34rem,1fr) minmax(15rem,19rem);align-items:start;gap:1rem;display:grid}.scheduler-task-panel,.scheduler-inspector,.scheduler-calendar-region{min-width:0}.scheduler-calendar-region .scheduler-calendar{min-height:42rem}.scheduler-panel__heading--compact{padding-bottom:.75rem}.scheduler-completed-toggle{color:#595954;white-space:nowrap;align-items:center;gap:.35rem;font-size:.72rem;display:flex}.scheduler-backlog__list{max-height:40rem;overflow:auto}.scheduler-task-card{cursor:pointer;padding:.8rem}.scheduler-task-card--not-started{background:#fff;border-left:.3rem solid #777772}.scheduler-task-card--in-progress{background:#eef7fa;border-left:.3rem solid #155e75}.scheduler-task-card--finished{opacity:.78;background:#edf4ed;border-left:.3rem solid #4f7658}.scheduler-task-card[data-draggable=true]{cursor:grab}.scheduler-task-card--selected{outline-offset:-2px;outline:2px solid #4d5a65}.scheduler-task-card h3{margin:.35rem 0 .2rem;font-size:.96rem}.scheduler-task-card__due,.scheduler-task-card__summary{color:#676760;margin:.35rem 0 0;font-size:.76rem;line-height:1.45}.scheduler-task-card__summary{color:#454540}.scheduler-task-card__drag-hint{color:#315d73;margin:.55rem 0 0;font-size:.7rem;font-weight:700}.scheduler-task-card__future-sessions{color:#76521d;margin:.55rem 0 0;font-size:.72rem;font-weight:700;line-height:1.4}.scheduler-task-card__actions{flex-wrap:wrap;gap:.35rem;margin-top:.7rem;display:flex}.scheduler-task-card__actions button{color:#4c4c46;font:inherit;text-underline-offset:.22rem;cursor:pointer;background:0 0;border:0;padding:0;font-size:.73rem;font-weight:700;text-decoration:underline}.scheduler-task-card__actions input{width:4.5rem;min-height:1.75rem;font:inherit;border:1px solid #c9c9c3;padding:.2rem .3rem;font-size:.75rem}.scheduler-status{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.18rem .38rem;font-size:.66rem;font-weight:800;display:inline-flex}.scheduler-status--in-progress{color:#fff;background:#155e75}.scheduler-status--not-started{color:#343431;background:#e6e6e1}.scheduler-status--finished{color:#fff;background:#38614c}.scheduler-overdue-flag{color:#9d3224}.scheduler-panel__error{color:#8b2d20;background:#fff8f6;border-top:1px solid #d7d7d1;margin:0;padding:.75rem 1.25rem;font-size:.8rem;line-height:1.45}.scheduler-inspector{position:sticky;top:1rem}.scheduler-inspector__content{gap:.7rem;padding:1.25rem;display:grid}.scheduler-inspector__content .eyebrow,.scheduler-inspector__content h2,.scheduler-inspector__content p{margin:0}.scheduler-inspector__content h2{font-size:1.2rem}.scheduler-inspector__content>p:not(.eyebrow){color:#676760;font-size:.85rem;line-height:1.45}.scheduler-inspector__content dl{gap:.65rem;margin:.35rem 0;display:grid}.scheduler-inspector__content dt{color:#6b6b66;font-size:.7rem}.scheduler-inspector__content dd{color:#343431;margin:.15rem 0 0;font-size:.82rem;line-height:1.4}.scheduler-modal{z-index:20;background:#1b1b1b6b;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.scheduler-modal__panel{background:#f7f7f4;width:min(100%,42rem);max-height:calc(100vh - 2rem);position:relative;overflow:auto;box-shadow:0 1.5rem 4rem #00000038}.scheduler-modal__panel--settings{gap:1rem;width:min(100%,28rem);padding:3rem 1rem 1rem;display:grid}.scheduler-modal__close{color:#4c4c46;font:inherit;cursor:pointer;background:0 0;border:0;font-size:.8rem;font-weight:700;text-decoration:underline;position:absolute;top:.75rem;right:.75rem}.scheduler-calendar .scheduler-availability-event{background:repeating-linear-gradient(135deg,#375f4342,#375f4342 5px,#375f4329 5px 10px)}.scheduler-calendar .scheduler-session-event{color:#fff;background:#155e75;border-color:#155e75}.scheduler-calendar .scheduler-external-busy-event{background:var(--google-event-color,#8b3f3f);border-color:var(--google-event-color,#8b3f3f);color:#fff}@media (width<=900px){.scheduler-workspace{grid-template-columns:1fr}.scheduler-backlog__list,.scheduler-task-form form{grid-template-columns:repeat(2,minmax(0,1fr))}.scheduler-task-form__durations,.scheduler-checkbox,.scheduler-form-errors,.scheduler-task-form .scheduler-button{grid-column:1/-1}.scheduler-layout{grid-template-columns:minmax(15rem,20rem) minmax(0,1fr)}.scheduler-inspector{grid-column:1/-1;position:static}.scheduler-inspector__content{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.scheduler-page__intro,.scheduler-week-controls{flex-direction:column;align-items:flex-start}.scheduler-account-actions{justify-content:flex-start}.scheduler-summary{grid-template-columns:1fr 1fr}.scheduler-summary__item:nth-of-type(2){border-right:0}.scheduler-summary__item:nth-of-type(-n+2){border-bottom:1px solid #d7d7d1}.scheduler-backlog__list,.scheduler-task-form form{grid-template-columns:1fr}.scheduler-task-form__durations,.availability-editor__row{grid-template-columns:1fr 1fr}.availability-editor__row .scheduler-button,.availability-editor__delete{justify-self:start;margin-bottom:0}.scheduler-calendar{overflow-x:auto}.scheduler-calendar .fc{min-width:42rem}.scheduler-toolbar{flex-direction:column;align-items:flex-start}.scheduler-layout{flex-direction:column;display:flex}.scheduler-calendar-region{order:-1;width:100%}.scheduler-task-panel,.scheduler-inspector{width:100%}.scheduler-inspector__content{grid-template-columns:1fr}.scheduler-backlog__list{max-height:none}}:root{color:#1b1b1b;font-synthesis:none;text-rendering:optimizelegibility;background:#f8f8f6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}a{color:inherit}.site-shell{min-height:100vh}.site-header{border-bottom:1px solid #deded9}.site-nav,.page-content{width:min(100% - 3rem,72rem);margin:0 auto}.site-nav{justify-content:space-between;align-items:center;gap:2rem;min-height:4.75rem;display:flex}.site-title{letter-spacing:-.02em;font-size:1.05rem;font-weight:700;text-decoration:none}.nav-links{align-items:center;gap:1.5rem;display:flex}.nav-links a{color:#595954;font-size:.95rem;text-decoration:none}.nav-links a:hover,.nav-links a:focus-visible{color:#1b1b1b;text-underline-offset:.3rem;text-decoration:underline}.page-content{padding-block:clamp(4rem,10vw,8rem)}.page-content--wide{width:min(100% - 3rem,96rem)}.hero{max-width:46rem}.eyebrow{color:#6b6b66;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .9rem;font-size:.78rem;font-weight:700}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:#171716;letter-spacing:-.035em}h1{max-width:12ch;margin-bottom:1.25rem;font-size:clamp(2.5rem,6vw,4.75rem);line-height:1.03}h2{margin-bottom:0;font-size:clamp(1.85rem,4vw,2.7rem);line-height:1.1}.hero__description,.placeholder-page>p:not(.eyebrow){color:#595954;max-width:40rem;font-size:1.05rem;line-height:1.7}.projects-section{margin-top:clamp(5rem,12vw,9rem)}.section-heading{margin-bottom:1.75rem}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.project-card{background:#fff;border:1px solid #d7d7d1;flex-direction:column;justify-content:space-between;min-height:16rem;padding:1.6rem;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.project-card:hover,.project-card:focus-visible{border-color:#9d9d96;box-shadow:0 .5rem 1.5rem #1717160f}.project-card__heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.project-card h3{margin-bottom:0;font-size:1.3rem;line-height:1.2}.project-card p{color:#595954;margin:1.25rem 0;line-height:1.6}.status{color:#595954;letter-spacing:.04em;text-transform:uppercase;border:1px solid #d7d7d1;flex:none;padding:.3rem .5rem;font-size:.72rem;font-weight:700}.project-card__link,.text-link{font-size:.95rem;font-weight:700}.placeholder-page{max-width:44rem}.placeholder-page h1{max-width:none}.text-link{text-underline-offset:.3rem;gap:.55rem;margin-top:1.5rem;display:inline-flex}@media (width<=640px){.site-nav,.page-content{width:min(100% - 2rem,72rem)}.page-content--wide{width:min(100% - 2rem,96rem)}.site-nav{min-height:4.25rem}.nav-links{gap:1rem}.project-grid{grid-template-columns:1fr}.project-card{min-height:13rem}}
