@import "https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500&family=Manrope:wght@800&display=swap";:root{--brand-deep:oklch(27% .05 245);--brand-tide:oklch(68% .11 200);--brand-foam:oklch(98.5% .006 85);--bg:oklch(95% .008 85);--surface:var(--brand-foam);--hover:oklch(95% .008 85);--line:oklch(90% .012 85);--line-soft:oklch(93% .01 85);--line-dashed:oklch(85% .015 85);--ink:var(--brand-deep);--ink-hover:oklch(33% .06 245);--ink-2:oklch(45% .03 245);--ink-3:oklch(56% .025 245);--ink-4:oklch(70% .015 245);--check:oklch(75% .02 245);--tide:var(--brand-tide);--tide-ink:oklch(50% .1 200);--tide-wash:oklch(93% .035 200);--tide-drop:oklch(95% .035 200);--danger:oklch(55% .2 25);--danger-wash:oklch(96% .03 25);--warning:oklch(58% .13 65);--shadow-pop:0 12px 32px oklch(27% .05 245/.14);--shadow-modal:0 24px 64px oklch(27% .05 245/.25);--scrim:oklch(27% .05 245/.28);--mono:"Geist Mono", ui-monospace, monospace;color:var(--ink);background:var(--bg);font-synthesis:none;font-family:Geist,system-ui,sans-serif;font-size:14px;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}h1{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:600}h2{margin:0;font-size:15px;font-weight:600}button{cursor:pointer;border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:8px;min-height:34px;padding:0 14px;font-size:13px;transition:background .15s,color .15s}button:hover{background:var(--hover)}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--tide);outline-offset:2px}button.primary{background:var(--ink);border-color:var(--ink);color:var(--surface);justify-content:center;align-items:center;gap:7px;font-weight:500;display:inline-flex}button.primary:hover{background:var(--ink-hover)}.icon-button,.icon{min-width:28px;min-height:28px;color:var(--ink-2);background:0 0;border:0;border-radius:6px;place-items:center;padding:0;font-size:16px;line-height:1;display:inline-grid}.icon-button:hover,.icon:hover{background:var(--hover);color:var(--ink)}.text-button{min-height:0;color:var(--tide-ink);border:0;padding:4px 6px;font-size:13px}.text-button:hover{background:var(--tide-wash)}.danger{color:var(--danger);margin-right:auto}.icon-svg{flex:none;display:block}input,select,textarea{border:1px solid var(--line);color:var(--ink);background:var(--surface);border-radius:7px;min-width:0;padding:8px 10px}input::placeholder,textarea::placeholder{color:var(--ink-3)}textarea{resize:vertical;min-height:85px}input[type=checkbox]{accent-color:var(--ink)}.color-0{--project-hue:350}.color-1{--project-hue:250}.color-2{--project-hue:160}.color-3{--project-hue:80}.color-4{--project-hue:300}[class*=color-]{--project-bg:oklch(.93 .045 var(--project-hue));--project-fg:oklch(.42 .1 var(--project-hue));--project-dot:oklch(.7 .13 var(--project-hue))}.color-none{--project-bg:oklch(92% .01 245);--project-fg:var(--ink-2);--project-dot:var(--ink-4)}.dot{background:var(--project-dot);border-radius:2px;flex:none;width:8px;height:8px;display:inline-block}.dot.square{border-radius:3px;width:10px;height:10px}.project-badge{text-overflow:ellipsis;white-space:nowrap;background:var(--project-bg);max-width:160px;color:var(--project-fg);border-radius:4px;flex:none;padding:2px 7px;font-size:11px;font-weight:500;line-height:14px;overflow:hidden}.empty{border:1px dashed var(--line-dashed);text-align:center;color:var(--ink-3);border-radius:7px;margin:4px 10px;padding:18px;font-size:12.5px}.error{background:var(--danger-wash);color:var(--danger);border:1px solid oklch(85% .06 25);border-radius:8px;align-items:center;gap:10px;margin:10px 0;padding:10px 12px;display:flex}.error button{min-height:26px;color:inherit;margin-left:auto;padding:0 8px}.saving{z-index:10;background:var(--ink);color:var(--surface);border-radius:30px;padding:8px 18px;font-size:12px;position:fixed;bottom:22px;right:25px}.hint,.muted{color:var(--ink-3);font-size:12px}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:600}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.account-page{align-content:start;justify-items:center;min-height:100vh;padding:8vh 20px 40px;display:grid}.account-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;width:min(100%,440px);padding:30px;box-shadow:0 12px 40px oklch(27% .05 245/.06)}.account-card h1{margin:24px 0 6px}.account-card p{color:var(--ink-2)}.account-card.account-wide{width:min(100%,820px)}.account-card form{gap:18px;margin:24px 0;display:grid}.account-card label{gap:7px;font-weight:500;display:grid}.account-card input{width:100%;padding:10px}.account-toolbar{flex-wrap:wrap;gap:8px;display:flex}.account-list article{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;display:flex}.account-list strong,.account-email{overflow-wrap:anywhere}.temporary-credential{background:var(--tide-wash);border-radius:8px;padding:18px}.temporary-credential code{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;font-family:var(--mono);margin:12px 0;display:block}.account-banner{border-radius:0;margin:0;padding:12px}.app{background:var(--bg);min-height:100vh;display:flex}.workspace-main{flex-direction:column;flex:1;min-width:0;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;flex:none;gap:22px;width:228px;height:100vh;padding:14px 12px 16px;transition:width .18s;display:flex;position:sticky;top:0;overflow:hidden auto}.brand{height:28px;color:var(--brand-deep);letter-spacing:-.045em;white-space:nowrap;align-items:center;gap:8px;padding:0 7px;font:800 19px/1 Manrope,sans-serif;display:flex}.brand-mark{flex:none;width:26px;height:26px}.sidebar nav,.sidebar-bottom{flex-direction:column;gap:2px;font-size:13px;display:flex}.sidebar-bottom{margin-top:auto}.sidebar :is(nav,.sidebar-bottom) button{width:100%;min-height:0;color:var(--ink-2);text-align:left;border:0;border-radius:6px;align-items:center;gap:10px;padding:7px 12px;font-size:13px;display:flex}.sidebar :is(nav,.sidebar-bottom) button:hover{background:var(--hover)}.sidebar :is(nav,.sidebar-bottom) button.selected{background:var(--tide-wash);color:var(--ink);font-weight:500}.project-nav button{color:var(--ink)}.nav-icon{flex:none;place-items:center;width:16px;height:16px;display:grid}.nav-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-count{font-family:var(--mono);color:var(--ink-3);font-size:11.5px}.nav-label{letter-spacing:.06em;text-transform:uppercase;height:16px;color:var(--ink-3);white-space:nowrap;padding:0 12px 6px;font-size:11px;font-weight:600}.sidebar-collapsed .sidebar{width:64px}.sidebar-collapsed :is(.brand-name,.nav-text,.nav-count){display:none}.sidebar-collapsed .nav-label{visibility:hidden}.topbar{z-index:5;background:var(--surface);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:12px;height:56px;padding:0 20px 0 14px;display:flex;position:sticky;top:0}.sidebar-toggle{width:32px;height:32px}.topbar-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.search{flex:0 440px;min-width:0;position:relative}.search-box{border:1px solid var(--line);background:var(--bg);height:34px;color:var(--ink-3);border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.search-box.active,.search-box:focus-within{border-color:var(--tide)}.search-box input{background:0 0;border:0;outline:0;flex:1;min-width:0;padding:0;font-size:13px}.search-box kbd{border:1px solid var(--line);background:var(--surface);font-family:var(--mono);border-radius:4px;padding:0 5px;font-size:11px}.popover{z-index:20;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-pop);border-radius:10px;flex-direction:column;padding:6px;font-size:13px;display:flex;position:absolute;top:calc(100% + 6px)}.popover>button{text-align:left;border:0;border-radius:6px;min-height:0;padding:8px 10px}.popover>button.muted{color:var(--ink-2)}.popover hr{background:var(--line);border:0;width:calc(100% - 8px);height:1px;margin:4px}.popover-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding:6px 10px 4px;font-size:11px;font-weight:600}.search-results{left:0;right:0}.popover>.search-result{align-items:center;gap:10px;display:flex}.search-check{border:1.5px solid var(--check);border-radius:4px;flex:none;width:14px;height:14px}.search-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.search-result.done .search-check{border-color:var(--ink);background:var(--ink)}.search-result.done .search-title{color:var(--ink-3);text-decoration:line-through}.search-when{text-align:right;width:84px;color:var(--ink-2);flex:none;font-size:12px}.search-empty{color:var(--ink-3);margin:0;padding:10px}.account-menu{position:relative}.avatar{background:var(--tide);color:oklch(22% .05 245);border:2px solid #0000;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;min-height:0;padding:0;font-size:12.5px;font-weight:600;display:grid}.avatar:hover{background:var(--tide)}.avatar[aria-expanded=true]{border-color:var(--ink)}.account-popover{width:240px;right:0}.account-summary{align-items:center;gap:10px;padding:8px 10px 10px;display:flex}.account-summary div{flex-direction:column;gap:2px;min-width:0;display:flex}.account-summary strong{font-weight:600}.account-summary .account-email{color:var(--ink-2);font-size:12px}main{flex:1;width:100%;min-width:0;max-width:1600px;margin:0 auto;padding:24px 28px 32px}.page-heading{flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-bottom:22px;display:flex}.page-date{color:var(--ink-2);font-size:13px}.open-summary{font-family:var(--mono);color:var(--ink-2);margin-left:auto;font-size:12px}.edit-project{align-self:center;margin-left:auto}.day-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.board-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;margin-top:22px;display:grid}.bucket{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;transition:background .15s;display:flex}.bucket.dropping{background:var(--tide-drop)}.day{min-height:300px}.day.today{border-color:var(--tide)}.leftover{border-color:oklch(82% .08 75);margin-bottom:16px}.bucket>header{align-items:center;gap:8px;padding:12px 16px 8px;display:flex}.bucket>header h2{overflow-wrap:anywhere;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.project-tasks>header h2{gap:10px}.bucket>header h2 small{color:var(--ink-2);font-size:13px;font-weight:400}.bucket>header h2 .today{color:var(--tide-ink)}.add-task-button{min-height:0;color:var(--tide-ink);border:0;flex:none;padding:4px 6px;font-size:13px}.add-task-button:hover{background:var(--tide-wash)}.task-list{flex-direction:column;flex:1;padding:0 6px;display:flex}.bucket-footer{border-top:1px solid var(--line-soft);align-items:center;gap:12px;margin-top:6px;padding:10px 16px 12px;display:flex}.done-status{font-family:var(--mono);color:var(--ink-3);white-space:nowrap;font-size:11.5px}.progress-track{background:var(--line-soft);border-radius:2px;flex:1;height:4px;overflow:hidden}.progress-fill{background:var(--project-dot);height:100%;transition:width .2s}.show-all-button{min-height:0;color:var(--tide-ink);border:0;flex:none;padding:2px 6px;font-size:12px}.load-older{margin:16px auto 0;display:block}.task-row{border-radius:7px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex;position:relative}.task-row:hover{background:var(--hover)}.task-row[draggable=true]{cursor:grab;-webkit-user-select:none;user-select:none}.task-row input[type=checkbox]{appearance:none;border:1.5px solid var(--check);background:var(--surface);cursor:pointer;border-radius:4px;flex:none;place-items:center;width:16px;height:16px;margin:1px 0 0;padding:0;display:grid}.task-row input[type=checkbox]:checked{border-color:var(--ink);background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8.4l2.6 2.6L12 5.4'/%3E%3C/svg%3E") center / 12px no-repeat}.task-row input[type=checkbox]:disabled{cursor:default;opacity:.5}.task-content{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.task-title{text-align:left;background:0 0;border:0;min-height:0;padding:0;font-size:13.5px;line-height:18px}.task-title:hover{color:var(--tide-ink);background:0 0}.task-title>span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.done .task-title{color:var(--ink-3);text-decoration:line-through}.done .project-badge{opacity:.55}.task-sub{color:var(--ink-3);flex-wrap:wrap;gap:8px;font-size:11.5px;display:flex}.task-sub .overdue{color:var(--danger);font-weight:600}.task-sub .due-soon,.task-sub .carried{color:var(--warning)}.task-when{text-align:right;width:96px;color:var(--ink-2);flex:none;font-size:12px;line-height:18px}.task-when.today{color:var(--tide-ink)}.task-when.unscheduled{color:var(--ink-4)}.restore{flex:none;min-height:26px;padding:0 10px;font-size:12px}.task-actions{opacity:0;pointer-events:none;gap:2px;transition:opacity .12s;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.task-row:hover .task-actions{opacity:1;pointer-events:auto}.task-row:has(:focus-visible) .task-actions{opacity:1;pointer-events:auto}.task-row:is(:hover,:has(:focus-visible))>:is(.project-badge,.task-when){opacity:0}.task-actions .icon-button{min-width:26px;min-height:26px;font-size:14px}@media (hover:none){.task-actions{opacity:1;pointer-events:auto;position:static;transform:none}.task-row:is(:hover,:has(:focus-visible))>:is(.project-badge,.task-when){opacity:1}}.settings{max-width:850px;padding:24px 28px}.settings>p{color:var(--ink-2);margin:6px 0 20px;font-size:13px}.setting{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:20px;padding:18px 0;display:flex}.setting strong{font-size:13.5px;font-weight:500}.setting small{color:var(--ink-3);margin-top:4px;font-size:12px;display:block}.setting input{width:18px;height:18px}.setting select{max-width:240px}.projects-toolbar,.project-list-actions,.project-colour-picker>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.projects-toolbar{justify-content:space-between;margin-bottom:16px}.projects-page>.muted{margin-bottom:16px}.project-list{border:1px solid var(--line);background:var(--surface);border-radius:10px;margin:0;padding:0;list-style:none}.project-list:empty{display:none}.project-list-row{align-items:center;gap:16px;padding:14px 16px;display:flex}.project-list-row+.project-list-row{border-top:1px solid var(--line-soft)}.project-drag-handle{cursor:grab;color:var(--ink-3);padding:8px 4px;font-size:20px}.project-list-info{flex:1;min-width:0}.project-name{text-align:left;overflow-wrap:anywhere;border:0;align-items:center;gap:8px;min-height:0;padding:4px 0;font-size:14px;font-weight:600;display:flex}.project-name:hover{color:var(--tide-ink);background:0 0}.project-list-info small,.project-due-date{color:var(--ink-2);font-size:12px}.project-list-actions button{min-width:34px;padding:0 10px}.colour-swatch{background:var(--project-bg);color:var(--project-fg);border:2px solid #0000;border-radius:7px;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.colour-swatch:hover{background:var(--project-bg)}.colour-swatch[aria-pressed=true]{border-color:currentColor}.overlay{z-index:20;background:var(--scrim);justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--surface);width:520px;max-width:100%;height:100%;box-shadow:var(--shadow-modal);overflow:auto}.drawer>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:22px 24px;display:flex}.drawer h2{margin-top:6px;font-size:18px}.drawer form{padding:22px 24px}.drawer label{color:var(--ink-2);flex-direction:column;gap:7px;margin-bottom:18px;font-size:12px;font-weight:500;display:flex}.drawer label small{color:var(--ink-3);font-size:11px;font-weight:400}.drawer .inline{flex-direction:row;align-items:center}.drawer fieldset{border:1px solid var(--line);border-radius:8px;margin:0 0 18px;padding:14px}.drawer fieldset.editor-fields{border:0;min-width:0;margin:0;padding:0}.drawer legend{color:var(--ink-2);padding:0 6px;font-size:12px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;display:flex}.check-edit{align-items:center;gap:8px;margin-bottom:10px;display:flex}.check-edit input:not([type=checkbox]){flex:1;min-width:0}.check-edit button{min-height:28px;padding:0 8px}.weekdays{justify-content:space-between;gap:5px;display:flex}.weekdays label{margin:0;font-size:11px}.history-note{background:var(--tide-wash);border-radius:8px;margin-bottom:18px;padding:12px;font-size:12px}.confirm-overlay{z-index:30;background:var(--scrim);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.confirm-dialog{background:var(--surface);width:min(100%,420px);box-shadow:var(--shadow-modal);border-radius:12px;padding:22px}.confirm-dialog p{overflow-wrap:anywhere;margin:12px 0 22px}.confirm-actions{justify-content:flex-end;gap:10px;display:flex}.loading{align-content:center;place-items:center;gap:24px;min-height:80vh;display:grid}.loading p{color:var(--ink-2)}@media (width<=1150px){main{padding:22px 20px 28px}.day-grid{gap:12px}}@media (width<=800px){.sidebar{width:64px}.sidebar :is(.brand-name,.nav-text,.nav-count){display:none}.sidebar .nav-label{visibility:hidden}.sidebar-collapsed .sidebar{display:none}.topbar{gap:8px;padding:0 12px}.topbar-actions{gap:8px}.new-task{white-space:nowrap;padding:0 10px}.search-box kbd,.search-when{display:none}main{padding:18px 12px 24px}.day-grid,.board-project-grid{grid-template-columns:minmax(0,1fr)}.day{min-height:0}.task-when{width:auto}.setting{flex-wrap:wrap;align-items:flex-start;gap:10px}.setting select{max-width:100%}.settings{padding:18px}.drawer{width:100%}.drawer>header,.drawer form{padding:18px}}@media (width<=650px){.project-list-row{flex-wrap:wrap;gap:10px}.project-list-info{flex-basis:calc(100% - 42px)}.project-due-date{margin-left:32px;margin-right:auto}}@media (width<=480px){.new-task{gap:0;width:34px;padding:0;font-size:0}}
