:root{--bg-primary: oklch(99% .02 290);--text-primary: oklch(1% .02 290);--text-link: oklch(45.92% .0149 300.97);--hover-filter: brightness(50%);--text-secondary: oklch(25% .02 290);--text-tertiary: oklch(35% .02 290);--text-muted: oklch(50% .03 290);font-family:neue-haas-grotesk-text,Inter,Helvetica,sans-serif;--input-background: oklch(96% .01 290);--input-border: oklch(91% .01 290);--input-placeholder: oklch(70% .03 290);--input-text: var(--text-primary);--input-focus: var(--text-tertiary);--item-red: oklch(.95 .05 20);--item-green: oklch(.95 .05 150);--item-red-border: color-mix(in srgb, var(--item-red) 90%, var(--text-primary) 10%);--item-green-border: color-mix(in srgb, var(--item-green) 90%, var(--text-primary) 10%)}@media (prefers-color-scheme: dark){:root{--bg-primary: oklch(21% .015 280);--text-primary: oklch(1 0 0);--text-secondary: oklch(85% .02 290);--text-tertiary: oklch(75% .02 290);--text-muted: oklch(60% .03 290);--text-link: oklch(70% .035 280);--hover-filter: brightness(150%);--input-background: oklch(27% .02 290);--input-border: oklch(32% .02 290);--input-placeholder: oklch(45% .03 290);--input-text: var(--text-primary);--input-focus: var(--text-link);--item-red: oklch(.35 .05 20);--item-green: oklch(.35 .05 150)}}html select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:url(data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2224%22%20height=%2224%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M6%209%2012%2015%2018%209%22/%3E%3C/svg%3E) no-repeat;background-size:18px;background-position:calc(100% - 3px) 50%;background-repeat:no-repeat;background-color:var(--input-background);padding-right:24px}@media (prefers-color-scheme: dark){html select{background-image:url(data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2224%22%20height=%2224%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22white%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M6%209%2012%2015%2018%209%22/%3E%3C/svg%3E)}}*{box-sizing:border-box}section{display:flex;flex-direction:column;gap:8px}ul{list-style-type:none;padding:0;margin:0;gap:2px}li{margin-bottom:5px}ul li:last-child{margin-bottom:0}header{display:flex;justify-content:space-between}body{background:var(--bg-primary);color:var(--text-secondary);margin:unset}body{width:calc(100% - 2em);min-height:100vh;height:100%;padding:1em;display:flex;flex-direction:column;align-items:center;margin:auto}#container,footer{max-width:100%;width:1000px}nav{display:flex;gap:5px;align-items:center}h1,h2,h3,h4,h5,h6,p{appearance:none;margin:unset;font-weight:400}h1,h2,h3,h4,h5,h6{color:var(--text-primary)}a,.label-modal,button{text-decoration:none;color:var(--text-link);transition:filter .15s;cursor:pointer}a.active,input:checked+.label-modal,button.active{color:var(--text-primary);text-decoration:underline}a:hover,.label-modal:hover,button:hover{filter:var(--hover-filter)}a.underlined:hover,button.underlined:hover{text-decoration:underline}.task-title{color:var(--text-secondary)}.task-title:hover{color:var(--text-primary)}h1{font-size:x-large;font-weight:700}h2{font-size:x-large}h3,h4{font-size:large}h5{font-size:medium}h6{font-size:1em;color:var(--text-secondary)}p.description{color:var(--text-tertiary)}.flex-col{display:flex;flex-direction:column;gap:24px}.flex-col>section{display:flex;flex-direction:column;gap:4px}.version-tag{font-size:x-small;font-family:monospace;border:1px solid var(--text-tertiary);border-radius:2px;padding:2px 4px}.flex-row{display:flex;flex-direction:row;gap:4px;align-items:center}.icons{display:flex;gap:4px;flex-direction:row;align-items:center;a{display:flex;align-items:center;justify-content:center}}.tag-badge{border-radius:5px;padding:2px 8px;font-size:small;min-width:50px;display:flex;align-items:center;gap:4px;flex-direction:row;justify-content:center;.lucide{width:unset;height:unset;cursor:pointer}}footer{margin-top:auto;display:flex;justify-content:left;align-items:center;gap:10px}h1>input[type=text],h2>input[type=text],h3>input[type=text],h4>input[type=text],h5>input[type=text],h6>input[type=text]{font-size:medium}input[type=color]{border:none;outline:none;background:none;padding:0;appearance:none;width:50px}input[type=text],input[type=color],select,textarea,input[type=datetime-local]{font-family:inherit;border:1px solid var(--input-border);border-radius:4px;background:var(--input-background);color:var(--input-text);padding:2px 2px 2px 5px;font-size:smaller}input[type=text]::placeholder,select::placeholder,textarea::placeholder{color:var(--input-placeholder)}input[type=text]:focus,select:focus,textarea:focus{outline:none;border:1px solid var(--input-focus)}input[type=text]:disabled,select:disabled,textarea:disabled{background:none;background-image:none;color:var(--text-secondary)}.date-highlighted{.date{filter:brightness(100%)}.year{filter:brightness(80%)}}.lucide{width:1.1rem;height:1.1rem}.priority-low{color:color-mix(in srgb,var(--text-secondary) 70%,green)}.priority-medium{color:color-mix(in srgb,var(--text-secondary) 70%,orange)}.priority-high{color:color-mix(in srgb,var(--text-secondary) 70%,red)}.priority-none{color:var(--text-muted)}code>pre{background:var(--input-background);border:1px solid var(--input-border);border-radius:4px;padding:5px;overflow-x:auto;width:100%;margin:unset}details>summary{cursor:pointer;display:flex}details>summary::-webkit-details-marker,details>summary::marker{display:none}details.boxed{border:1px solid var(--input-border);border-radius:3px;padding:5px 20px}article{h1,h2,h3,h4,h5,h6{margin-top:1rem;margin-bottom:.25rem}h2{font-size:large;font-weight:700}hr{height:1rem;border:none}ul{list-style-type:disc;list-style-position:inside}ol{list-style-type:decimal;list-style-position:inside}ul>li>ul>li,ol>li>ol>li{margin-left:1.5rem}ul>li>ul>li>ul>li,ol>li>ol>li>ol>li{margin-left:1.5rem}.imageblock{display:flex;justify-content:center}ul>li::marker,ol>li::marker{color:var(--text-dark)}a{color:#60a5fa}a:hover{color:#3b82f6}blockquote{border-left:4px solid var(--border-primary);padding-left:.5rem}pre>code{display:flex;padding:.75rem;border-radius:.25rem;border:1px solid var(--border-primary);overflow:auto}pre{padding:.25rem;background:var(--bg-primary)}code{font-size:.75rem;line-height:1.25rem;background:var(--accent-primary);padding:2px 6px;display:inline-flex}p{color:var(--text-subtlish)}}.timeline-container{display:flex;flex-direction:column;gap:1rem;padding-left:30px;position:relative}.timeline-container:before{content:"";display:block;width:1px;height:calc(100% - 1rem);background:var(--input-border);position:absolute;left:10px;top:.5rem}.timeline-item:before{content:"";display:flex;align-items:center;justify-content:center;width:.5rem;height:.5rem;background:var(--input-border);border-radius:50%;position:absolute;left:-23.5px;top:.5rem;outline:1px solid var(--bg-primary)}.timeline-item{position:relative;display:flex;flex-direction:column;gap:.25rem}.card{border:1px solid var(--input-border);border-radius:4px;padding:7px;box-shadow:0 7px 12px #0003}.hover-reveal{opacity:0;transition:opacity .15s}.card:hover .hover-reveal{opacity:1}.interactive-row{padding:6px 8px;border-radius:4px;cursor:pointer;transition:background-color .15s}.interactive-row:hover{background:var(--bg-primary)}.milestones-container{gap:2rem}.milestone-item{position:relative;display:flex;flex-direction:row;gap:1rem;align-items:flex-start}.timeline-dot{position:absolute;left:-23.5px;top:.5rem;width:1rem;height:1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.timeline-marker{width:.5rem;height:.5rem;background:var(--input-border);border-radius:50%;outline:2px solid var(--bg-primary)}.drag-handle{width:1rem;height:1rem;display:flex;align-items:center;justify-content:center;background:var(--input-background);border:1px solid var(--input-border);border-radius:50%;color:var(--text-tertiary)}.drag-handle:hover{background:var(--input-border);color:var(--text-secondary)}.milestone-content{display:flex;flex-direction:column;gap:.5rem;width:100%;border:1px solid var(--input-border);border-radius:4px;padding:12px;background:var(--input-background)}.milestone-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.milestone-title-section{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.milestone-meta{display:flex;align-items:center;gap:.5rem}.due-date{color:var(--text-tertiary);font-size:smaller}.edit-icon{opacity:0;transition:opacity .15s}.milestone-content:hover .edit-icon{opacity:1}.goals-list{display:flex;flex-direction:column;gap:4px}.goal-row{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;border-radius:4px;cursor:pointer;transition:background-color .15s}.goal-row:hover{background:var(--bg-primary)}.goal-name{color:var(--text-secondary)}.goal-due-date{color:var(--text-tertiary);font-size:smaller}.add-goal-btn,.create-milestone-btn{display:flex;align-items:center;gap:.5rem;color:var(--text-link);font-size:smaller}.create-milestone-container{margin-left:30px}.progress-icon{display:inline-flex;vertical-align:text-bottom;margin-right:.5ch;a,div{display:inline-flex}}.button-reset{background:none;border:none;padding:0;font:inherit;cursor:pointer;outline:inherit}.diff-list{.item{border:1px solid var(--input-border);border-radius:5px;padding:5px 10px}.item.old{background-color:var(--item-red);border-color:var(--item-red-border)}.item.new{background-color:var(--item-green);border-color:var(--item-green-border)}.astro-code{border:1px solid var(--input-border);border-radius:5px;padding:5px 10px;margin:unset;overflow:auto}.astro-code.new{background-color:var(--item-green);border-color:var(--item-green-border)}.astro-code.old{background-color:var(--item-red);border-color:var(--item-red-border)}.button-container{position:absolute;right:2px;top:2px}.up-arrow{display:none}.down-arrow{display:unset}details[open] .up-arrow{display:unset}details[open] .down-arrow{display:none}}hr{width:90%;border-color:var(--input-border)}.astro-code{border:1px solid var(--input-border);border-radius:5px;padding:5px 10px;margin:unset;background:oklch(from var(--input-border) 23% .017 h);overflow:auto}.task-summary{color:var(--text-muted);font-size:smaller}.last-page{position:absolute;left:-35px;top:1px;font-size:smaller;display:flex;align-items:center;gap:5px}.editor{display:grid;gap:5px;grid-template-columns:1fr 3fr;padding:7px 0}summary{justify-content:center}.up-arrow{display:none}.down-arrow{display:unset}details[open] .up-arrow{display:unset}details[open] .down-arrow{display:none}.icon{margin-left:10px;vertical-align:middle}.hidden{display:none}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.success-icon{color:oklch(from var(--item-green) .8 .15 h)}.error-icon{color:oklch(from var(--item-red) .8 .15 h)}.specification-editor{position:relative;display:flex;flex-direction:column;gap:5px}.specification-editor a.edit{position:absolute;right:0;top:0}.specification-editor button .lucide{width:1rem;height:1rem}.specification-editor .controls{display:flex;gap:20px;align-items:center;justify-content:flex-end;border:1px solid var(--input-border);padding:5px 10px;border-radius:5px}.specification-editor .controls a{display:flex;align-items:center;gap:5px}.combined-row select{width:100%}.github-login{display:flex;align-items:center;gap:5px;padding:2px 7px;border:1px solid var(--input-border);border-radius:5px;min-width:77px;justify-content:space-between;cursor:pointer}.landing-page img{width:100%;height:auto;border-radius:10px;border:1px solid var(--input-border)}.triple-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;justify-content:center}.triple-grid img{max-height:500px;width:auto}.triple-grid>div{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px}.mobile-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;justify-content:center}.task-filters{display:flex;flex-direction:row;gap:10px;margin-top:10px;align-items:center}@media (max-width: 1000px){.mobile-grid,.triple-grid{grid-template-columns:1fr}.last-page{display:none}.task-filters{display:grid;grid-template-columns:min-content 1fr;gap:10px;margin-top:10px}}.tag-grid{display:grid;grid-template-columns:240px max-content max-content max-content;gap:10px;margin-top:10px;align-items:center}.tag-grid .colour-picker,.tag-grid .tag-badge{width:100%}
