:root{--ink:#1a1a1a;--ink-soft:#3a3833;--paper:#fdfcf8;--card:#fff;--hover:#ece9e1;--hover-red:#f8e9e6;--row-tint:#f6f3ec;--muted:#6b665c;--red:#a12a2a;--red-hover:#7e1f1f;--outline:#cfc8b8;--field-border:#ddd7c9;--card-border:#e7e2d6;--icon-button-size:1.75rem;--icon-size:1.375rem;--delete-icon-size:1.5rem;--icon-stroke:1;--screen-icon-stroke:1;--screen-icon-stroke-strong:1.25;--screen-icon-stroke-heading:1.07;--icon-inset:calc((var(--icon-button-size) - var(--icon-size) * .9) / 2);--side-column:13.5rem;--list-width:43rem;--form-max-width:90rem;--middle-column-width:20rem;--third-column-min-width:24rem;--screen-top:2.5rem;--title-row:2.6rem;--title-gap:1.75rem;--title-fade:1.25rem;--screen-title-height:calc(var(--screen-top) + var(--title-row) + var(--title-gap));--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*,:before,:after{box-sizing:border-box}body{color:var(--ink);background:#fff;margin:0}@media (prefers-color-scheme:dark){body{color:#f2f2f2;background:#111}}:is(body:has(.welcome),body:has(.app-layout)){background:var(--paper);color:var(--ink)}.welcome{flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem;display:flex}.welcome h1{width:100%;margin:0}.welcome img{width:calc(clamp(16rem, min(40vw, 40vh * 997 / 868), 997px) * .78 * var(--logo-size,1));width:calc(clamp(16rem, min(40vw, 40dvh * 997 / 868), 997px) * .78 * var(--logo-size,1));max-width:100%;height:auto;margin:0 auto;display:block}:root{--spring-hover:linear(0, .2816 2.5%, .5562 5%, .8172 7.5%, 1.058 10%, 1.2728 12.5%, 1.4562 15%, 1.6038 17.5%, 1.7119 20%, 1.7778 22.5%, 1.8 25%, 1.7765 27.5%, 1.7083 30%, 1.6021 32.5%, 1.4683 35%, 1.32 37.5%, 1.1717 40%, 1.0379 42.5%, .9317 45%, .8635 47.5%, .84 50%, .8464 52.5%, .8648 55%, .8936 57.5%, .9298 60%, .97 62.5%, 1.0102 65%, 1.0464 67.5%, 1.0752 70%, 1.0936 72.5%, 1.1 75%, 1.0976 77.5%, 1.0905 80%, 1.0794 82.5%, 1.0655 85%, 1.05 87.5%, 1.0345 90%, 1.0206 92.5%, 1.0095 95%, 1.0024 97.5%, 1);--spring-press:linear(0, .1893 2.5%, .3753 5%, .5549 7.5%, .725 10%, .8827 12.5%, 1.0253 15%, 1.1504 17.5%, 1.2557 20%, 1.3396 22.5%, 1.4006 25%, 1.4376 27.5%, 1.45 30%, 1.4329 32.5%, 1.3835 35%, 1.3073 37.5%, 1.2129 40%, 1.1109 42.5%, 1.0127 45%, .9293 47.5%, .8702 50%, .8419 52.5%, .8433 55%, .8599 57.5%, .8889 60%, .9271 62.5%, .97 65%, 1.0129 67.5%, 1.0511 70%, 1.0801 72.5%, 1.0967 75%, 1.0997 77.5%, 1.095 80%, 1.0854 82.5%, 1.0717 85%, 1.0556 87.5%, 1.0389 90%, 1.0234 92.5%, 1.0109 95%, 1.0028 97.5%, 1);--spring-release:linear(0, .1893 2.5%, .3753 5%, .5549 7.5%, .725 10%, .8827 12.5%, 1.0253 15%, 1.1504 17.5%, 1.2557 20%, 1.3396 22.5%, 1.4006 25%, 1.4376 27.5%, 1.45 30%, 1.4329 32.5%, 1.3835 35%, 1.3073 37.5%, 1.2129 40%, 1.1109 42.5%, 1.0127 45%, .9293 47.5%, .8702 50%, .8419 52.5%, .8428 55%, .8569 57.5%, .8814 60%, .9137 62.5%, .95 65%, .9863 67.5%, 1.0186 70%, 1.0431 72.5%, 1.0572 75%, 1.0598 77.5%, 1.057 80%, 1.0512 82.5%, 1.043 85%, 1.0334 87.5%, 1.0233 90%, 1.014 92.5%, 1.0065 95%, 1.0017 97.5%, 1)}.get-started{width:calc(clamp(16rem, min(40vw, 40vh * 997 / 868), 457px) * .61 * var(--button-size,1));width:calc(clamp(16rem, min(40vw, 40dvh * 997 / 868), 457px) * .61 * var(--button-size,1));max-width:100%;transition:transform .31s var(--spring-hover);view-transition-name:get-started;margin-top:1.5rem;display:block}.get-started img{width:100%;height:auto;display:block}@media (hover:hover){.get-started:hover{transition-duration:.31s;transition-timing-function:var(--spring-hover);transform:scale(1.05)}}.get-started:active{transition-duration:.31s;transition-timing-function:var(--spring-press);transform:scale(.95)}.get-started.is-released{transition:none;transform:scale(.95)}.get-started:focus-visible{outline:3px solid var(--ink);outline-offset:4px}@media (orientation:landscape) and (height<=500px){.welcome{flex-direction:row;gap:2rem}.welcome h1{width:auto;min-width:0}.get-started{min-width:0;margin-top:0}}.app-layout{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;grid-template-columns:var(--side-column) minmax(0, 1fr);display:grid;position:relative}.app-layout :where(button,input,textarea){font:inherit;color:inherit}.button-main,.button-secondary,.button-delete{padding:var(--pad-y) var(--pad-x);font:inherit;cursor:pointer;--pad-y:.55rem;--pad-x:1.15rem;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.4em;font-weight:500;display:inline-flex}.button-small{--pad-y:.3rem;--pad-x:.75rem;font-size:.875rem;line-height:1.25}.button-main{background:var(--ink);color:var(--paper)}.button-main:hover:not(:disabled){background:var(--ink-soft)}.button-secondary,.button-delete{box-shadow:inset 0 0 0 1px var(--outline);color:var(--ink);background:0 0}.button-secondary:hover:not(:disabled){background:var(--hover)}.button-delete{color:var(--red)}.button-delete:hover:not(:disabled){background:var(--hover-red)}.button-delete:has(>svg:first-child){padding-left:calc((1lh + 2 * var(--pad-y) - var(--delete-icon-size)) / 2)}.project-form-delete{--pad-y:calc(.3rem + 2px)}.button-delete svg{width:var(--delete-icon-size);height:var(--delete-icon-size);fill:none;stroke:currentColor;stroke-width:var(--icon-stroke);stroke-linecap:round;stroke-linejoin:round;flex:none;margin-block:-.3rem}.button-main:disabled,.button-secondary:disabled,.button-delete:disabled{opacity:.6;cursor:default}.icon-button{width:var(--icon-button-size);height:var(--icon-button-size);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.icon-button:hover:not([aria-disabled],:disabled){background:var(--hover);color:var(--ink)}.icon-button:is([aria-disabled],:disabled){opacity:.35;cursor:default}.icon-button svg,.image-viewer-previous svg,.image-viewer-next svg{fill:none;stroke:currentColor;stroke-width:var(--icon-stroke);stroke-linecap:round;stroke-linejoin:round}.icon-button svg{width:var(--icon-size);height:var(--icon-size)}.app-layout>header{padding:1rem .75rem 1rem 1.5rem}.app-layout h1{margin:0}.app-layout h1 img{width:11.25rem;height:auto;display:block}@media (width>=50.01rem){.app-layout>header{z-index:2;align-self:start;height:100dvh;position:sticky;top:0}.app-layout .account-panel{max-height:calc(100dvh - 17rem);overflow-y:auto}}.account{width:11.25rem;min-height:3.2rem;color:var(--ink-soft);margin-top:1rem;font-size:.85rem;position:relative}.account p{margin:0}.account-button{text-align:center;cursor:pointer;background:0 0;border:1px solid #8a857a;border-radius:999px;width:100%;padding:.5rem .75rem;display:block}.account-button:hover:not(:disabled){background:var(--hover)}.account-label{color:var(--muted);display:block}.account-name{overflow-wrap:anywhere}.account-unavailable{color:var(--muted)}.account .account-message{color:var(--red);margin-top:.5rem}.account .calendar-message-created{color:inherit}.account-calendar-test{margin-top:.5rem}.account-panel{z-index:5;background:var(--paper);width:min(22rem,100vw - 2rem);color:var(--ink);border-radius:12px;padding:1rem 1.15rem;line-height:1.45;position:absolute;top:calc(100% + .5rem);left:0;box-shadow:0 6px 24px #1a1a1a24}.account-panel h2{margin:1rem 0 .35rem;font-size:.9rem}.account-panel ul{margin:0;padding-left:1.1rem}.account-profile label{margin-bottom:.3rem;font-weight:500;display:block}.account-profile-row{gap:.4rem;display:flex}.account-profile-row input{background:var(--card);border:1px solid #8a857a;border-radius:6px;flex:1;min-width:0;padding:.3rem .5rem}.account .account-hint{color:var(--muted);margin-top:.4rem}.account-hint a{color:var(--ink);text-decoration:underline}.account-save-message:empty{display:none}.account-sign-out{margin-top:1rem}.screen-panel{flex-direction:column;align-items:center;min-height:100dvh;padding:0 .75rem 3rem;display:flex;overflow-x:clip}:where(.screen-panel)>*{width:min(var(--list-width), 100%)}@media (width<=50rem){.app-layout{grid-template-columns:minmax(0,1fr)}.screen-panel{min-height:0;padding-inline:1.5rem}}.screen-panel:focus{outline:none}.screen-title{min-height:var(--screen-title-height);padding:var(--screen-top) 0 var(--title-gap);justify-content:flex-end;align-items:flex-start;gap:1rem;display:flex}[data-sticky-titles] .screen-title{z-index:1;position:sticky;top:0}[data-sticky-titles] .screen-title:before,[data-sticky-titles] .screen-title:after{content:"";pointer-events:none;position:absolute;left:-100vmax;right:-100vmax}[data-sticky-titles] .screen-title:before{top:0;bottom:var(--title-fade);z-index:-1;background:var(--paper)}[data-sticky-titles] .screen-title:after{height:var(--title-fade);z-index:-1;background:linear-gradient(var(--paper), #fdfcf800);bottom:0}:root:has([data-sticky-titles]){scroll-padding-top:var(--screen-title-height)}html:has(.app-layout){scrollbar-gutter:stable}.default-projects-panel{z-index:10;background:var(--paper);border:1px dashed #8a857a;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.4rem .75rem;font-size:.85rem;display:flex;position:fixed;bottom:16px;right:16px}.default-projects-label{color:var(--muted);font-weight:500}.default-projects-panel button{border:1px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;padding:.3rem .75rem}.default-projects-panel button:hover:not(:disabled){background:var(--hover)}.default-projects-panel p{max-width:32rem;color:var(--ink-soft);flex-basis:100%;margin:0}.default-projects-panel p:empty{display:none}.default-projects-note{color:var(--muted)}.screen-title .add-project{flex-shrink:0}.screen-title h2{align-self:center;align-items:center;gap:.6rem;margin:0 auto 0 0;display:flex}.screen-title h2 .screen-icon{width:1.75rem;height:1.75rem;color:var(--ink)}.screen-title h2 .screen-icon path{stroke-width:var(--screen-icon-stroke-heading)}.screen-title .add-project:disabled{display:none}.screen-title .default-projects-panel:has(~.add-project:disabled){display:none}.app-layout :is(button,[role=button]):focus-visible{outline:2px solid var(--ink);outline-offset:3px}.dashboard-notice{background:var(--hover-red);color:var(--red);border-radius:10px;margin:0 0 1rem;padding:.75rem 1rem}.dashboard-move-offer{background:var(--hover);color:var(--ink);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.dashboard-move-offer .button-secondary:hover:not(:disabled){background:var(--paper)}.dashboard-move-offer p{flex:20rem;margin:0}.dashboard-empty{text-align:center;margin:auto 0;padding-bottom:6rem;font-size:1.25rem}.project-list{grid-template-columns:minmax(0,1fr);gap:.625rem;margin:0;padding:0;list-style:none;display:grid}.project-bar:not(.is-expanded)>button{border:1px solid var(--card-border);background:var(--card);text-align:left;cursor:pointer;border-radius:12px;grid-template-rows:auto 1fr auto;grid-template-columns:auto minmax(0,1fr);align-items:baseline;column-gap:1rem;width:100%;padding:1rem 1.25rem;transition:border-color .15s,box-shadow .15s;display:grid}.project-bar:not(.is-expanded)>button:hover{border-color:var(--outline);box-shadow:0 2px 10px #1a1a1a0f}.project-bar-text{display:contents}.project-bar-title{text-overflow:ellipsis;white-space:nowrap;grid-column:2;font-weight:500;overflow:hidden}.project-bar-side{flex-direction:column;grid-row:span 3;align-items:flex-start;gap:.625rem;width:6.5rem;display:flex}.project-bar-assignee{color:var(--muted)}.project-bar-job-title{font-size:.8125rem;display:block}.due-date-icon{width:4.5rem;color:var(--ink-soft);background:linear-gradient(#fff,#f2f0ea);border:1px solid #d9d4c7;border-radius:6px;flex-direction:column;align-items:center;margin-top:.25rem;padding-top:.5rem;line-height:1;display:flex;position:relative;box-shadow:0 1px 2px #1a1a1a14}.due-date-icon-rings{fill:none;stroke:#8a857a;stroke-width:1.1px;stroke-linecap:round;width:100%;height:.5rem;position:absolute;top:-.3rem;left:0}.due-date-icon-hole{fill:var(--outline);stroke:none}.due-date-icon-weekday{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:.5rem;font-weight:600}.due-date-icon-day{margin:.125rem 0 .25rem;font-size:1.75rem;font-weight:700}.due-date-icon-month{background:var(--month-colour);color:#fff;letter-spacing:.04em;text-align:center;text-transform:uppercase;border-radius:0 0 5px 5px;align-self:stretch;padding:.1875rem 0;font-size:.5625rem;font-weight:700}.project-bar-notes{white-space:pre-wrap;overflow-wrap:anywhere;max-height:2lh;color:var(--muted);grid-column:2;margin-top:.125rem;font-size:.9rem;line-height:1.45;overflow:hidden;-webkit-mask-image:linear-gradient(#000 1lh,#0000 2lh);mask-image:linear-gradient(#000 1lh,#0000 2lh)}.project-bar:has(.due-date-icon) .project-bar-notes{contain:size;align-self:stretch;max-height:none;-webkit-mask-image:linear-gradient(#000 calc(100% - 1.5lh),#0000 calc(100% - .5lh));mask-image:linear-gradient(#000 calc(100% - 1.5lh),#0000 calc(100% - .5lh))}.project-bar-tasks{color:var(--muted);grid-area:3/2;margin-top:.25rem;font-size:.85rem}.project-bar-unsaved{color:var(--red);grid-area:1/3;font-size:.85rem}.project-bar-thumbnail{object-fit:cover;object-position:top;background:#f6f3ec;border:1px solid #d8d3c6;border-radius:8px;grid-area:1/3/span 3;align-self:center;width:5.25rem;height:3.9375rem}.project-bar-unsaved~.project-bar-thumbnail{grid-column:4}.project-bar.is-expanded{--bar-foot:.75rem;padding:1.25rem 1.5rem var(--bar-foot);border:1px solid var(--outline);background:var(--card);border-radius:12px;position:relative;box-shadow:0 4px 18px #1a1a1a14}.project-bar.is-expanded:not(:has(>.project-bar-collapse)){padding-bottom:1.25rem}.project-bar.is-expanded:has(.project-form-footer:not(.has-delete) p:not(:empty)){padding-bottom:2.5rem}.project-bar-collapse{bottom:var(--bar-foot);position:absolute;left:50%;transform:translate(-50%)}.project-window{scrollbar-gutter:stable;width:min(var(--form-max-width), calc(100vw - 3rem));background:var(--card);max-height:calc(100dvh - 3rem);color:var(--ink);border:0;border-radius:16px;padding:1.25rem 1.75rem 1.5rem;box-shadow:0 20px 60px #1a1a1a2e}.project-window::backdrop{background:#1a1a1a38}@media (width>=63rem){.project-window .project-form{--fields-display:grid;--fields-columns:minmax(var(--middle-column-width), auto) minmax(var(--third-column-min-width), max-content);--fields-rows:auto 1fr;--wrapper-display:flex;--images-align:start}}@media (width>=58rem){.project-bar.is-expanded{--bar-wide-width:clamp(var(--list-width), calc(100vw - 15rem), var(--form-max-width));width:var(--bar-wide-width);justify-self:center}.project-bar.is-expanded .project-form{width:calc(var(--bar-wide-width) - 3rem - 2px)}}@media (width>=75rem){.project-bar.is-expanded .project-form{--fields-display:grid;--fields-columns:minmax(var(--middle-column-width), auto) minmax(var(--third-column-min-width), max-content);--fields-rows:auto 1fr;--wrapper-display:flex;--images-align:start}}.project-form-header{justify-content:space-between;align-items:flex-start;display:flex}.project-form-header:not(.has-autosave-note){margin-bottom:1rem}.project-form-header h2{line-height:2rem}.project-form-close-area{flex-direction:column;align-items:flex-end;display:flex}.project-form-autosave{color:var(--muted);text-align:right;margin:.125rem 0 0;font-size:.75rem;line-height:1.35}.project-form-autosave span{display:block}.project-form-close{margin:.125rem calc(-1 * var(--icon-inset)) 0 0}.project-form h2{margin:0;font-size:1.125rem;font-weight:600}.project-form-body{grid-template-columns:11rem minmax(0,1fr);gap:1.75rem;display:grid}.project-form-side{align-content:start;gap:1.25rem;display:grid}.assignee-list{border:0;align-content:start;gap:.125rem;min-width:0;margin:0;padding:0;display:grid}.assignee-list legend,.due-date-picker legend,.project-form-fields label{color:var(--muted);letter-spacing:.02em;margin-bottom:.375rem;padding:0;font-size:.8125rem;font-weight:500}.assignee-option{color:var(--muted);cursor:pointer;border-radius:8px;align-items:center;gap:.625rem;padding:.375rem .25rem;display:flex;position:relative}.assignee-job-title{opacity:.8;font-size:.8125rem;display:block}.assignee-option:is(:hover,:has(input:checked)){color:var(--ink)}@media (prefers-reduced-motion:no-preference){.project-form .arrives-in-turn{animation:form-arrive var(--assignee-fade,1.15s) ease-out both;animation-delay:calc(var(--arrival,0) * var(--assignee-gap,70ms))}}.assignee-tuning-panel{z-index:2;width:20rem;font-size:12px;position:fixed;top:50%;left:16px;transform:translateY(-50%)}.assignee-tuning-panel fieldset{background:var(--card);border:1px solid #ddd;border-radius:8px;gap:8px;margin:0;padding:10px 12px 12px;display:grid;box-shadow:0 2px 8px #00000026}.assignee-tuning-panel legend{padding:0 4px;font-weight:700}.assignee-tuning-panel p{color:var(--muted);margin:0}.assignee-tuning-panel button{justify-self:start}.keyboard-shortcuts{z-index:2;background:var(--card);max-width:calc(13.5rem - 16px);color:var(--ink);border:1px solid #ddd;border-radius:8px;padding:8px 10px;font-size:12px;position:fixed;bottom:16px;left:16px;box-shadow:0 2px 8px #00000026}.keyboard-shortcuts ul{grid-template-columns:auto minmax(0,1fr);gap:6px;margin:0;padding:0;list-style:none;display:grid}.keyboard-shortcuts li{grid-column:1/-1;grid-template-columns:subgrid;align-items:center;column-gap:8px;display:grid}.keyboard-shortcuts button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;justify-self:start;padding:0}.keyboard-shortcuts kbd{min-width:1.5rem;font:inherit;text-align:center;background:#f7f5ef;border:1px solid #ccc;border-radius:4px;padding:1px 5px;font-weight:600;display:block;box-shadow:0 1px #ccc}.keyboard-shortcuts button:active kbd{background:#e9e5da;transform:translateY(1px);box-shadow:inset 0 1px 2px #00000026}.keyboard-shortcuts .is-current{text-underline-offset:2px;text-decoration:underline}.welcome:has(.tuning-panel,.fade-tuning-panel){padding-bottom:7rem}@keyframes form-arrive{0%{opacity:0}}.assignee-option:hover{background:var(--row-tint)}.assignee-option input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.assignee-icon{fill:none;stroke:currentColor;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.375rem;height:1.375rem}.assignee-option input:focus-visible+.assignee-icon{outline:2px solid var(--ink);outline-offset:2px;border-radius:50%}.due-date-picker{-webkit-user-select:none;user-select:none;border:0;min-width:0;margin:0;padding:0;position:relative}.due-date-month .icon-button{margin:-.125rem}.due-date-month{justify-content:space-between;align-items:center;margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:flex}.due-date-weekdays,.due-date-days{grid-template-columns:repeat(7,minmax(0,1fr));justify-items:center;display:grid}.due-date-weekdays{color:var(--muted);font-size:.6875rem;font-weight:500}.due-date-days{grid-template-rows:repeat(6,1.5rem);row-gap:.125rem}.due-date-days button{font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;width:1.5rem;height:1.5rem;padding:0;font-size:.75rem}.due-date-days button:hover{background:var(--row-tint)}.due-date-days button.is-today{border-color:var(--outline)}.due-date-days button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--paper)}.due-date-clear{--pad-y:.15rem;font-weight:400;position:absolute;top:-1.7rem;right:0}.project-form-fields{display:var(--fields-display,flex);grid-template-columns:var(--fields-columns,none);grid-template-rows:var(--fields-rows,none);flex-direction:column;column-gap:1.75rem;min-width:0}.project-form-main,.project-form-third{display:var(--wrapper-display,contents);flex-direction:column;min-width:0}.project-form-fields .project-images{align-self:var(--images-align,stretch);order:1;grid-area:2/1}.project-form-fields .project-appointments{order:2}.project-form-main{grid-area:1/1}.project-form-third{grid-area:1/2/span 2}.field{border:1px solid var(--field-border);background:var(--paper);border-radius:10px;width:100%;padding:.625rem .75rem}.field:focus-visible{border-color:var(--ink);outline:1px solid var(--ink)}.checkbox{width:1.0625rem;height:1.0625rem;accent-color:var(--ink);cursor:pointer;flex:none;margin:0}.checkbox:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.project-form-fields:focus{outline:none}.project-form-main>input,.project-form-main>textarea{margin-bottom:1rem}.project-form-main>input{font-size:1.0625rem;font-weight:700}.project-form-main>textarea{field-sizing:content;resize:none;min-height:4rem}.task-section{flex-direction:column;display:flex}.new-project-tasks,.new-project-tasks .task-entry{flex:1}.task-heading{color:var(--muted);letter-spacing:.02em;margin:0 0 .375rem;font-size:.8125rem;font-weight:500}.task-list{max-height:40vh;margin:0 0 .25rem;padding:0;list-style:none;overflow-y:auto}.task{border-radius:8px;align-items:center;gap:.375rem;min-height:2.25rem;padding:2px .25rem 2px 0;display:flex;position:relative}.task:hover:not(:has(.task-title-input)){background:var(--row-tint)}.task.is-dragged{opacity:.4}.task.drops-before:before,.task.drops-after:after{content:"";background:var(--ink);border-radius:1px;height:2px;position:absolute;left:0;right:0}.task.drops-before:before{top:-1px}.task.drops-after:after{bottom:-1px}.task .checkbox{align-self:flex-start;margin-top:calc(3px + .53125rem)}.task-drag{color:#a39d90;cursor:grab;place-items:center;width:1rem;height:1.75rem;display:grid}.task-drag svg{fill:currentColor;width:.625rem;height:1rem}.task-title,.task-title-input{text-align:left;overflow-wrap:anywhere;border:1px solid #0000;border-radius:6px;flex:1;min-width:0;padding:.3125rem .375rem}.task-title{cursor:text;background:0 0}.task.is-done .task-title{color:#8a8478;text-decoration:line-through}.task-title-box{flex:1;min-width:0;display:grid}.task-title-box:after{content:attr(data-title);visibility:hidden;overflow-wrap:anywhere;white-space:pre-wrap;border:1px solid #0000;grid-area:1/1;padding:.3125rem .375rem}.task-title-box>.task-title-input{grid-area:1/1}.task-title-input{border-color:var(--ink);outline:1px solid var(--ink);background:var(--card);resize:none;overflow:hidden}.app-layout :is(.task-title,.task .icon-button,.people-item .icon-button):focus-visible{outline-offset:0}.task-controls{gap:.125rem;display:flex}.task:not(:hover,:has(:focus-visible)) :is(.task-drag,.task-controls){opacity:0}.task-undo{color:var(--muted);align-items:center;gap:.5rem;margin:0;font-size:.875rem;display:flex}.task-undo:not(:empty){margin:.125rem 0 .375rem}.task-entry{resize:none;max-height:calc(15lh + 1.25rem + 2px);scroll-margin-bottom:1rem;overflow-y:auto}.task-failure{color:var(--red);margin:0;font-size:.875rem}.task-failure:not(:empty){margin-top:.375rem}.project-form-hint{color:var(--muted);margin:-.625rem 0 1rem;font-size:.85rem}.project-form-footer{align-items:center;gap:1rem;margin-top:1rem;display:flex}.project-form-footer p{flex:1;margin:0;font-size:.9rem}.project-form-footer.has-delete{flex-wrap:wrap;gap:0 1rem}.project-form-footer.has-delete p{flex:1 0 100%;order:-1}.project-form-footer.has-delete p:not(:empty){margin-bottom:.5rem}.project-form-footer.has-delete .project-form-message-actions{margin-left:auto}.project-form-error{color:var(--red)}.project-form-body.is-read-only{opacity:.6}.project-form-footer:has(.project-form-message-actions){margin-top:1rem}.project-form-message-actions{gap:.5rem;display:flex}::view-transition-group(root){animation-duration:1s}::view-transition-old(root){animation-duration:1s;animation-timing-function:ease-out}::view-transition-new(root){animation-duration:1s;animation-timing-function:ease-in}::view-transition-group(get-started){animation-duration:1s}::view-transition-old(get-started){animation:get-started-release .3s var(--spring-release) both, get-started-fade-out 1s ease-out both}.get-started-hovered::view-transition-old(get-started){animation-name:get-started-release-hovered,get-started-fade-out}@keyframes get-started-release{to{transform:scale(1.05263)}}@keyframes get-started-release-hovered{to{transform:scale(1.10526)}}@keyframes get-started-fade-out{to{opacity:0}}.welcome h1{animation:1.6s cubic-bezier(.63,0,.42,.94) both welcome-fade-in}.get-started{animation:1.4s cubic-bezier(.63,0,.42,.94) .9s both welcome-fade-in}@keyframes welcome-fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.welcome h1,.get-started{animation:none}.get-started,.get-started:hover,.get-started:active,.get-started.is-released{transition:none;transform:none}.get-started{view-transition-name:none}::view-transition-group(*){animation:none}::view-transition-old(*){animation:none}::view-transition-new(*){animation:none}}html[data-has-projects] .welcome h1{animation-name:welcome-fade-in,returning-clock;animation-duration:.6s,1.4s}html[data-has-projects] :is(.get-started,.tuning-panel,.fade-tuning-panel),html[data-has-projects] .welcome .keyboard-shortcuts{display:none}@keyframes returning-clock{0%{--returning-clock:0}to{--returning-clock:1}}@media (prefers-reduced-motion:reduce){html[data-has-projects] .welcome h1{animation:1.4s linear both returning-clock}}.error{max-width:60rem;margin:0 auto;padding:4rem 1rem 1rem}.error pre{padding:1rem;overflow-x:auto}[data-dragging-task] textarea{overflow:hidden}.project-images{margin:.75rem 0 .25rem}.project-images-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.project-images .task-heading{margin:0}.project-images-add{margin:-.125rem 0 -.125rem -.125rem}.project-images-remove{margin-top:1.125rem}.project-images-note{color:var(--muted);margin:.375rem 0;font-size:.875rem}.image-timeline{flex-direction:column;gap:.625rem;max-height:22rem;margin-top:.5rem;display:flex;overflow:hidden auto}.image-timeline[hidden]{display:none}.image-entry,.image-pending-entry{align-items:flex-start;gap:.625rem;display:flex}.image-entry-thumbnail{cursor:zoom-in;background:#f6f3ec;border:1px solid #d8d3c6;border-radius:8px;flex:none;place-items:center;width:7rem;height:5.25rem;padding:0;display:grid;overflow:hidden}.image-entry-thumbnail img{max-width:100%;max-height:100%;display:block}.image-entry-details{flex:1;min-width:0}.image-entry-details time{color:var(--muted);font-size:.8125rem;display:block}.image-entry-details textarea{width:100%;font:inherit;resize:none;border:1px solid #d8d3c6;border-radius:6px;margin-top:.125rem;padding:.25rem .375rem;font-size:.875rem;overflow:hidden}.image-entry-footer{justify-content:space-between;align-items:center;min-height:1.5rem;display:flex}.image-entry-count{color:var(--muted);font-size:.75rem}.image-entry-count.is-over{color:#8a1c1c}.image-viewer{text-align:center;border:0;border-radius:10px;max-width:92vw;max-height:92vh;padding:.75rem}.image-viewer.has-step-buttons{max-width:calc(100vw - 11rem)}.image-viewer.has-step-buttons img{max-width:calc(100vw - 12.5rem)}.image-viewer img{max-width:88vw;max-height:80vh;margin:0 auto;display:block}.image-viewer-details{justify-content:space-between;align-items:baseline;gap:1rem;margin-top:.5rem;font-size:.875rem;display:flex}.image-viewer-caption{text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.image-viewer-details time{color:var(--muted);text-align:right;flex-shrink:0;margin-left:auto;font-size:.75rem}.image-viewer-previous,.image-viewer-next{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:3.5rem;height:3.5rem;color:var(--muted);cursor:pointer;background:#ffffff42;border:0;border-radius:50%;place-items:center;margin-top:-1.75rem;padding:0;display:grid;position:fixed;top:50%}.image-viewer-previous{left:1rem}.image-viewer-next{right:1rem}.image-viewer-previous:hover:not([aria-disabled]),.image-viewer-next:hover:not([aria-disabled]){background:var(--hover);color:var(--ink)}.image-viewer-previous[aria-disabled],.image-viewer-next[aria-disabled]{color:#6b665c59;cursor:default}.image-viewer-previous:not([aria-disabled]) circle,.image-viewer-next:not([aria-disabled]) circle{fill:#ffffffa8}.image-viewer-previous:hover:not([aria-disabled]) circle,.image-viewer-next:hover:not([aria-disabled]) circle{fill:none}.image-viewer-previous svg,.image-viewer-next svg{fill:none;stroke:currentColor;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;width:2.75rem;height:2.75rem}.floating-messages{box-sizing:border-box;width:max-content;max-width:min(32rem,100vw - 2rem);color:var(--ink);pointer-events:none;background:0 0;border:0;flex-direction:column;align-items:center;gap:.5rem;margin:0 auto;padding:0;display:flex;position:fixed;inset:auto 0 1.5rem;overflow:visible}.floating-messages:not(:popover-open){display:none}.floating-message{border:1px solid var(--card-border);background:var(--card);overflow-wrap:anywhere;border-radius:12px;margin:0;padding:.5rem 1rem;font-size:.9375rem;box-shadow:0 4px 18px #1a1a1a1f}@media (prefers-reduced-motion:no-preference){.floating-message{transition:opacity .6s}}.floating-message.is-error{background:#fdecec;border-color:#d9777a}.floating-message.is-fading{opacity:0}.image-entry-pending-thumbnail{cursor:default}.image-entry-spinner{fill:none;stroke-width:3px;width:2rem;height:2rem;transform:rotate(-90deg)}.image-entry-spinner-track{stroke:#e0dbcd}.image-entry-spinner-arc{stroke:var(--muted);stroke-linecap:round}@media (prefers-reduced-motion:no-preference){.image-entry-spinner{animation:.9s linear infinite image-entry-spin}}@keyframes image-entry-spin{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}.image-entry-pending-size{color:#7a7568;margin:0;font-size:.8125rem}.image-entry-pending-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.875rem;overflow:hidden}@media (prefers-reduced-motion:no-preference){.project-window::backdrop{transition:background-color .15s}}.projects-screen.is-drop-target .project-window::backdrop{background:#1a1a1a8c}.projects-screen.is-drop-target:after{content:"";z-index:10;pointer-events:none;background:#1a1a1a73;position:fixed;inset:0}.projects-screen.is-drop-target .project-bar.is-expanded{z-index:11;position:relative}.projects-screen.is-drop-target:has(.project-window):after{display:none}.app-menu{width:11.25rem;color:var(--ink-soft);margin-top:.75rem;font-size:1.1rem}.app-menu-list{margin:0;padding:0;list-style:none}.app-menu-list a{color:inherit;border-radius:8px;align-items:center;gap:.6rem;padding:.4rem .75rem;text-decoration:none;display:flex}.app-menu-list a:hover{background:var(--hover)}.app-menu-list a[aria-current=page]{font-weight:600}.screen-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.25rem;height:1.25rem}.screen-icon path{stroke-width:var(--screen-icon-stroke)}.app-menu-list .screen-icon{width:1.5rem;height:1.5rem;color:var(--muted)}.app-menu-list a:hover .screen-icon,.app-menu-list a[aria-current=page] .screen-icon{color:var(--ink)}.app-menu-list a[aria-current=page] .screen-icon path{stroke-width:var(--screen-icon-stroke-strong)}.assignee-options{align-content:start;gap:.125rem;max-height:15.4rem;display:grid;overflow-y:auto}.assignee-add{margin-top:.5rem}.assignee-add-error,.people-error{color:var(--red);margin:.25rem 0 0;font-size:.8125rem}.people-hint,.people-empty{color:var(--muted)}.people-hint{margin-top:0}.people-list{gap:.25rem;margin:1rem 0;padding:0;list-style:none;display:grid}.people-name{overflow-wrap:anywhere;flex:1}.people-job-title{color:var(--muted);font-size:.8125rem;display:block}.people-confirm{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.people-confirm p{flex-basis:100%;margin:0}.people-panel{border:1px solid var(--card-border);background:var(--card);border-radius:12px;max-width:780px;padding:1.5rem}.people-panel h3{margin:0 0 .75rem;font-size:1.25rem}.people-panel hr{border:0;border-top:1px solid var(--card-border);margin:1.25rem 0 .5rem}.people-quick-add{gap:.75rem;display:flex}.people-quick-add input{background:var(--card);border:1px solid #8a857a;border-radius:6px;flex:1;width:100%;min-width:0;padding:.55rem .75rem}.people-panel .people-list{gap:.25rem;margin:.5rem 0 0}.people-item{border-radius:8px;padding:.375rem;position:relative}.people-item:hover,.people-item.is-expanded{background:var(--row-tint)}.people-compact-row{align-items:center;gap:.625rem;min-height:48px;display:flex}.people-expand{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:.75rem;min-width:0;padding:.4rem 0;display:flex}.people-expand>svg{fill:none;width:24px;height:24px;stroke:var(--muted);stroke-width:1.25px;flex-shrink:0}.people-editor{padding:.5rem .5rem .5rem 2.5rem}.people-editor fieldset{border:0;min-width:0;margin:0;padding:0}.people-editor label{color:var(--muted);gap:.25rem;min-width:0;font-size:.8125rem;display:grid}.people-swap{align-self:end;margin-bottom:6px}.people-details{grid-template-columns:minmax(0, 1.25fr) var(--icon-button-size) minmax(0, 1fr);gap:.75rem .5rem;display:grid}.people-details label:nth-of-type(3){grid-column:1}.people-details label:nth-of-type(4){grid-column:3}.people-save-status{color:var(--muted);padding:.25rem .5rem .25rem 2.5rem;font-size:.8125rem}.people-save-invalid,.people-save-failed{color:var(--red)}.people-save-status button{margin-left:.75rem}.people-item .people-confirm{background:var(--card);border:1px solid #8a857a;border-radius:6px;justify-content:flex-end;max-width:420px;margin:.25rem 0 .5rem auto;padding:.75rem}.people-confirm>div{gap:.5rem;display:flex}.people-item.is-dragged{opacity:.4}.people-item.drops-before:before,.people-item.drops-after:after{content:"";background:var(--muted);height:2px;position:absolute;left:0;right:0}.people-item.drops-before:before{top:-1px}.people-item.drops-after:after{bottom:-1px}.project-appointments{margin:.75rem 0 .25rem}.project-appointments-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.project-appointments .task-heading{margin:0}.project-appointments-add{margin:-.125rem}.project-appointments-note{color:var(--muted);margin:.375rem 0;font-size:.875rem}.project-appointments .appointment-error{color:var(--red)}.appointment-list{margin:.375rem 0 0;padding:0;list-style:none}.appointment-entry{border-top:1px solid #e4dfd2;align-items:flex-start;gap:.75rem;padding:.625rem 0;display:flex}.appointment-entry .due-date-icon{flex:none}.appointment-text{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.appointment-title{font-weight:500}.appointment-time,.appointment-notes{color:var(--muted);font-size:.875rem}.appointment-notes{white-space:pre-wrap}.appointment-form{flex-direction:column;gap:.25rem;margin:.5rem 0;font-size:.875rem;display:flex}.appointment-form :is(input,textarea).field{font:inherit}.appointment-all-day{align-items:center;gap:.375rem;display:flex}.appointment-form-buttons{gap:.5rem;margin-top:.375rem;display:flex}.delete-dialog{background:var(--card);width:min(30rem,100vw - 3rem);color:var(--ink);border:0;border-radius:16px;padding:1.25rem 1.75rem 1.5rem;box-shadow:0 20px 60px #1a1a1a2e}.delete-dialog::backdrop{background:#1a1a1a38}.delete-dialog h2{margin:0 0 .75rem;font-size:1.25rem}.delete-dialog p,.delete-dialog ul{margin:0 0 .75rem}.delete-dialog ul{padding-left:1.25rem}.delete-dialog-error{color:var(--red)}.delete-dialog-buttons{justify-content:flex-end;gap:.75rem;margin-top:1rem;display:flex}.delete-dialog button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.bin-link{color:var(--ink);align-self:center}.bin-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.bin-row{border:1px solid var(--card-border);background:var(--card);border-radius:12px;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:1rem 1.25rem;display:flex}.bin-details{flex:14rem;gap:.15rem;display:grid}.bin-title{font-weight:600}.bin-time{color:var(--muted);font-size:.9rem}.bin-time.is-past{color:var(--red)}
