@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url("./media/atkinson-hyperlegible-latin-400-normal-SPAYGEOD.woff2") format("woff2"),url("./media/atkinson-hyperlegible-latin-400-normal-4XQA3ZPE.woff") format("woff")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url("./media/atkinson-hyperlegible-latin-700-normal-FHYJOTYL.woff2") format("woff2"),url("./media/atkinson-hyperlegible-latin-700-normal-WK24QXLQ.woff") format("woff")}@font-face{font-family:Patrick Hand;font-style:normal;font-display:swap;font-weight:400;src:url("./media/patrick-hand-latin-400-normal-Y7YBERTX.woff2") format("woff2"),url("./media/patrick-hand-latin-400-normal-5G57R426.woff") format("woff")}:root{color-scheme:light;--paper: #fbf8f0;--paper-raised: #fffdf8;--paper-sunken: #f2ede0;--ink: #1d1b19;--ink-soft: #46423c;--ink-faint: #6b665d;--line: #1d1b19;--line-soft: #cfc8b8;--focus: #1f4fd1;--accent: #1f4fd1;--accent-ink: #ffffff;--accent-soft: #e6ecff;--done: #14663c;--done-soft: #def2e6;--pending: #7a4300;--pending-soft: #fdeccf;--late: #a13a00;--late-soft: #ffe2d1;--error: #a31b1b;--error-soft: #fbdcdc;--info: #1f4fd1;--info-soft: #e6ecff;--block-sleep: #d9d4ef;--block-work: #cbd9ee;--block-meal: #f6dfbc;--block-commute: #e3e0d6;--block-commitment: #d8e9d3;--font-body: "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-hand: "Patrick Hand", "Atkinson Hyperlegible", system-ui, sans-serif;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4.5rem;--radius-box: 14px 7px 12px 8px / 8px 12px 7px 14px;--radius-pill: 28px 10px 26px 10px / 10px 26px 10px 28px;--radius-small: 8px 4px 7px 5px / 5px 7px 4px 8px;--stroke: 2px;--shadow-pencil: 3px 3px 0 var(--ink);--shadow-soft: 2px 2px 0 var(--line-soft);--text-sm: .9375rem;--text-md: 1.0625rem;--text-lg: 1.25rem;--text-xl: 1.625rem;--text-2xl: 2.25rem;--text-hero: clamp(1.9rem, 4vw + 1rem, 3rem);--touch: 2.75rem;--motion: .14s}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--paper: #1c1a17;--paper-raised: #26231f;--paper-sunken: #151311;--ink: #f4f0e6;--ink-soft: #d6d0c2;--ink-faint: #aaa395;--line: #f4f0e6;--line-soft: #4a463e;--focus: #8fb0ff;--accent: #8fb0ff;--accent-ink: #10131c;--accent-soft: #1f2a4a;--done: #7fd9a5;--done-soft: #17392a;--pending: #f0b765;--pending-soft: #3b2a10;--late: #ffa273;--late-soft: #40200f;--error: #ff9a9a;--error-soft: #401818;--info: #8fb0ff;--info-soft: #1f2a4a;--block-sleep: #2d2a45;--block-work: #233349;--block-meal: #46341a;--block-commute: #302e29;--block-commitment: #24391f;--shadow-pencil: 3px 3px 0 #000}}@media(prefers-reduced-motion:reduce){:root{--motion: 0ms}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100dvh;background-color:var(--paper);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,color-mix(in srgb,var(--line-soft) 38%,transparent) 31px,color-mix(in srgb,var(--line-soft) 38%,transparent) 32px);color:var(--ink);font-family:var(--font-body);font-size:var(--text-md);line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;font-family:var(--font-hand);font-weight:400;line-height:1.2;letter-spacing:.01em}h1{font-size:var(--text-hero)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}p{margin:0}a{color:var(--accent);text-decoration-thickness:2px;text-underline-offset:3px}a:hover{text-decoration-style:wavy}ul,ol{margin:0;padding-left:1.25rem}button,input,select,textarea{font:inherit;color:inherit}img,svg{max-width:100%;display:block}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}::selection{background:var(--accent);color:var(--accent-ink)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--space-3);top:-4rem;z-index:1000;padding:var(--space-2) var(--space-4);background:var(--ink);color:var(--paper);border-radius:var(--radius-small);transition:top var(--motion) ease}.skip-link:focus{top:var(--space-3)}.muted{color:var(--ink-soft)}.faint{color:var(--ink-faint)}.hand{font-family:var(--font-hand)}.nowrap{white-space:nowrap}.btn{--btn-bg: var(--paper-raised);--btn-fg: var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--touch);padding:var(--space-2) var(--space-5);background:var(--btn-bg);color:var(--btn-fg);border:var(--stroke) solid var(--line);border-radius:var(--radius-box);box-shadow:var(--shadow-pencil);font-family:var(--font-hand);font-size:var(--text-lg);line-height:1.1;text-decoration:none;cursor:pointer;transition:transform var(--motion) ease,box-shadow var(--motion) ease}.btn:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink);text-decoration:none}.btn:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;box-shadow:none}.btn--primary{--btn-bg: var(--ink);--btn-fg: var(--paper);box-shadow:3px 3px 0 var(--accent)}.btn--primary:hover:not(:disabled){box-shadow:4px 4px 0 var(--accent)}.btn--danger{--btn-bg: var(--error-soft);--btn-fg: var(--error);border-color:var(--error);box-shadow:3px 3px 0 var(--error)}.btn--ghost{--btn-bg: transparent;border-color:transparent;box-shadow:none;text-decoration:underline;text-decoration-style:wavy;text-underline-offset:4px}.btn--small{min-height:2.25rem;padding:var(--space-1) var(--space-3);font-size:var(--text-md);box-shadow:2px 2px 0 var(--ink)}.btn--block{width:100%}.card{background:var(--paper-raised);border:var(--stroke) solid var(--line);border-radius:var(--radius-box);box-shadow:var(--shadow-soft);padding:var(--space-5)}.card--flat{box-shadow:none;border-color:var(--line-soft)}.card--accent{border-color:var(--accent);box-shadow:3px 3px 0 var(--accent)}.card__title{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field__label{font-family:var(--font-hand);font-size:var(--text-lg)}.field__hint{color:var(--ink-soft);font-size:var(--text-sm)}.field__error{color:var(--error);font-size:var(--text-sm);font-weight:700}.input,.select,.textarea{width:100%;min-height:var(--touch);padding:var(--space-2) var(--space-3);background:var(--paper-raised);border:var(--stroke) solid var(--line);border-radius:var(--radius-small);font-size:var(--text-md)}.textarea{min-height:7rem;resize:vertical;line-height:1.5}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--error);background:var(--error-soft)}.input--hero{min-height:4rem;padding:var(--space-3) var(--space-4);border-width:0 0 3px 0;border-radius:0;background:transparent;text-align:center;font-family:var(--font-hand);font-size:var(--text-2xl)}.input--hero:focus-visible{outline:none;border-bottom-color:var(--accent);box-shadow:0 4px 0 var(--accent)}.check{display:flex;align-items:flex-start;gap:var(--space-3);min-height:var(--touch);padding:var(--space-2) 0;cursor:pointer}.check input{width:1.4rem;height:1.4rem;margin-top:.15rem;accent-color:var(--accent);flex:none}.chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:.1rem var(--space-3);border:var(--stroke) solid var(--line);border-radius:var(--radius-pill);background:var(--paper-raised);font-size:var(--text-sm);font-weight:700;white-space:nowrap}.chip--done{color:var(--done);border-color:var(--done);background:var(--done-soft)}.chip--pending{color:var(--pending);border-color:var(--pending);background:var(--pending-soft)}.chip--late{color:var(--late);border-color:var(--late);background:var(--late-soft)}.chip--error{color:var(--error);border-color:var(--error);background:var(--error-soft)}.chip--info{color:var(--info);border-color:var(--info);background:var(--info-soft)}.chip--muted{color:var(--ink-soft);border-color:var(--line-soft);background:transparent}.banner{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) var(--space-4);border:var(--stroke) solid var(--line);border-radius:var(--radius-small);background:var(--paper-raised)}.banner--info{border-color:var(--info);background:var(--info-soft)}.banner--warning{border-color:var(--pending);background:var(--pending-soft)}.banner--error{border-color:var(--error);background:var(--error-soft)}.banner--success{border-color:var(--done);background:var(--done-soft)}.divider{border:0;border-top:2px dashed var(--line-soft);margin:var(--space-5) 0}.progress-bar{height:.9rem;border:var(--stroke) solid var(--line);border-radius:var(--radius-pill);background:var(--paper-sunken);overflow:hidden}.progress-bar__fill{height:100%;background:repeating-linear-gradient(-45deg,var(--accent),var(--accent) 6px,color-mix(in srgb,var(--accent) 70%,var(--paper)) 6px,color-mix(in srgb,var(--accent) 70%,var(--paper)) 12px);transition:width .3s ease}.spinner{width:1.6rem;height:1.6rem;border:3px solid var(--line-soft);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2.5s}}table.table{width:100%;border-collapse:collapse}.table th,.table td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:2px dashed var(--line-soft)}.table th{font-family:var(--font-hand);font-weight:400;font-size:var(--text-lg)}.page{width:min(100% - 2 * var(--space-4),46rem);margin-inline:auto;padding-block:var(--space-6) var(--space-8);display:flex;flex-direction:column;gap:var(--space-5)}.page--wide{width:min(100% - 2 * var(--space-4),72rem)}.page--center{min-height:calc(100dvh - 8rem);display:grid;place-content:center;gap:var(--space-5);text-align:center}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.stack--tight{gap:var(--space-2)}.stack--loose{gap:var(--space-6)}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.cluster--between{justify-content:space-between}.cluster--end{justify-content:flex-end}.grid{display:grid;gap:var(--space-4)}.grid--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}.grid--3{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr))}.page-heading{display:flex;flex-direction:column;gap:var(--space-2)}.page-heading p{color:var(--ink-soft)}
