@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#07080b;--card:#111319;--inset:#0a0b0f;--raised:#1b1e27;--line:#20242e;--text:#f1f2f5;--muted:#8b92a3;--accent:#5b8cff;--accent-soft:#5b8cff29;--accent-ink:#fff;--green:#45d6a3;--amber:#f6b14a;--pink:#ff6f91;--violet:#a78bfa;--red:#ff8a7a;--display:"Bricolage Grotesque Variable", system-ui, sans-serif;--body:"Instrument Sans Variable", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f2f3f6;--card:#fff;--inset:#f4f5f8;--raised:#e8eaf0;--line:#dfe2ea;--text:#12141a;--muted:#5d6474;--accent:#2e5fe8;--accent-soft:#2e5fe81f;--green:#12805c;--amber:#b26a00;--pink:#c8325a;--violet:#6d4fd6;--red:#c4412c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:400 1rem/1.5 var(--body);-webkit-font-smoothing:antialiased}h1,h2,p,ul,ol,fieldset{margin:0;padding:0}ul,ol{list-style:none}fieldset{border:0}a{color:var(--accent);text-underline-offset:.2em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--muted);font-size:.875rem}.shell{grid-template-columns:14rem minmax(0,1fr);min-height:100dvh;display:grid}.nav{flex-direction:column;gap:.375rem;height:100dvh;padding:1.5rem 1rem;display:flex;position:sticky;top:0}.brand{font:800 1.375rem/1 var(--display);letter-spacing:-.01em;color:var(--text);padding:.25rem .75rem 1.5rem;text-decoration:none}.nav-link{color:var(--muted);border:1px solid #0000;border-radius:.875rem;align-items:center;gap:.75rem;padding:.75rem .875rem;font-weight:500;text-decoration:none;display:flex}.nav-link svg{flex:none;width:1.25rem;height:1.25rem}.nav-link:hover{color:var(--text)}.nav-link[aria-current=page]{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 45%, transparent);color:var(--text)}.nav-link[aria-current=page] svg{color:var(--accent)}.nav-link:last-child{margin-top:auto}.main{width:100%;max-width:96rem;padding:1.5rem clamp(1rem,2.5vw,2rem) 4rem}.card,.panel,.section,.plan-day{background:var(--card);border:1px solid var(--line);border-radius:1.375rem}.card,.section{padding:1.25rem}.section{margin-bottom:1rem}.card-head,.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.section-head{justify-content:flex-start;align-items:baseline}.card-head a{font-size:.875rem}h1{font:800 clamp(1.75rem, 2.4vw, 2.125rem) / 1.1 var(--display);letter-spacing:-.02em}.card-day h1:first-letter{text-transform:uppercase}h1 em{color:var(--muted);font-style:italic;font-weight:400}h2{font:700 1.25rem/1.25 var(--display);letter-spacing:-.01em}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 2rem;margin:.5rem 0 1.5rem;display:flex}.page-head h1{font-size:clamp(2rem,4vw,2.75rem)}.day-sub{color:var(--muted);margin-top:.375rem}.dash{grid-template-columns:minmax(17rem,23rem) minmax(0,1fr) minmax(16rem,20rem);align-items:start;gap:1rem;display:grid}.dash-col{gap:1rem;display:grid}.ring-row{align-items:center;gap:1rem;margin:1rem 0 1.25rem;display:flex}.ring-row p{gap:.125rem;min-width:0;display:grid}.ring-row .muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ring{flex:none;width:6.5rem;height:6.5rem;position:relative}.ring svg{width:100%;height:100%}.ring circle{fill:none;stroke-width:9px}.ring-track{stroke:var(--raised)}.ring-fill{stroke:var(--accent);stroke-linecap:round}.ring-num{font:800 1.875rem/1 var(--display);grid-auto-flow:column;place-content:center;align-items:baseline;display:grid;position:absolute;inset:0}.ring-num small{font:500 .9375rem/1 var(--body);color:var(--muted)}.week{grid-template-columns:auto repeat(7,minmax(0,1fr)) auto;gap:.25rem;display:grid}.week-day,.week-step{font:inherit;color:var(--muted);background:var(--inset);cursor:pointer;border:1px solid #0000;border-radius:.875rem}.week-day{justify-items:center;gap:.125rem;padding:.5rem 0 .375rem;display:grid}.week-name{font-size:.75rem}.week-num{font:700 1.0625rem/1.2 var(--display);color:var(--text)}.week-dot{border-radius:50%;width:.3125rem;height:.3125rem}.week-dot.on{background:var(--accent)}.week-day.is-today .week-name{color:var(--accent)}.week-day.is-selected{background:var(--accent);color:var(--accent-ink)}.week-day.is-selected .week-num,.week-day.is-selected .week-name{color:var(--accent-ink)}.week-day.is-selected .week-dot.on{background:var(--accent-ink)}.week-day:hover,.week-step:hover{border-color:var(--line)}.week-step{background:0 0;width:1.5rem;font-size:1.125rem}.tile{width:2.375rem;height:2.375rem;color:var(--accent);background:var(--accent-soft);border-radius:.75rem;flex:none;place-items:center;display:grid}.tile svg{width:1.25rem;height:1.25rem}.tile-task{color:var(--green);background:color-mix(in srgb, var(--green) 16%, transparent)}.tile-habit{color:var(--amber);background:color-mix(in srgb, var(--amber) 16%, transparent)}.tile-work{color:var(--violet);background:color-mix(in srgb, var(--violet) 18%, transparent)}.meters{gap:1rem;display:grid}.meter{align-items:center;gap:.75rem;display:flex}.meter-body{flex:1;gap:.375rem;display:grid}.meter-top{justify-content:space-between;align-items:baseline;display:flex}.meter-bar{background:var(--raised);border-radius:1rem;height:.3125rem;overflow:hidden}.meter-bar span{background:var(--accent);border-radius:1rem;height:100%;display:block}.bar-task span{background:var(--green)}.bar-habit span{background:var(--amber)}.bar-work span{background:var(--violet)}.pills{flex-wrap:wrap;gap:.375rem;display:flex}.pill{font:500 .875rem/1 var(--body);color:var(--text);background:var(--inset);border:1px solid var(--line);cursor:pointer;border-radius:.75rem;padding:.5625rem .875rem}.pill:hover{border-color:var(--muted)}.pill.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}:root[data-theme=dark] .pill.on,:root:not([data-theme]) .pill.on{color:#b7ccff}.flow{gap:.5rem;display:grid}.item{grid-template-columns:4rem minmax(0,1fr);align-items:center;gap:.75rem;display:grid}.item-when{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;font-size:.8125rem}.item-when.late{color:var(--red)}.item-box{background:var(--inset);border:1px solid #0000;border-radius:1rem;align-items:center;gap:.75rem;min-height:3.75rem;padding:.625rem .75rem;display:flex}.item-text{flex:1;justify-items:start;min-width:0;display:grid}.item-text strong{overflow-wrap:anywhere;font-weight:600}.item.is-now .item-box{border-color:var(--accent)}.item.is-now .item-when{color:var(--accent)}.item.is-past,.item.is-done{opacity:.55}.item.is-done strong{text-decoration:line-through}.quick{gap:.625rem;display:grid}.quick-row{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.mini{gap:.5rem;display:grid}.mini li{background:var(--inset);border-radius:.75rem;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.5625rem .75rem;display:flex}.mini span{overflow-wrap:anywhere;min-width:0}.mini strong{color:var(--muted);flex:none;font-size:.875rem;font-weight:500}.empty,.note{color:var(--muted);max-width:34rem}.empty{padding:.25rem 0 .75rem}.note{margin-bottom:.875rem}.panel{margin-bottom:1rem;padding:.875rem}.rows{gap:.375rem;display:grid}.row{background:var(--inset);border-radius:.875rem;align-items:center;gap:.75rem;min-height:3.25rem;padding:.5rem .75rem;display:flex}.row-title{overflow-wrap:anywhere;flex:1;min-width:0}.row.is-done .row-title,.plan-task.is-done span{color:var(--muted);text-decoration:line-through}.late{color:var(--red);font-size:.875rem}.check{border:1.5px solid color-mix(in srgb, var(--accent) 60%, transparent);width:2.25rem;height:2.25rem;color:color-mix(in srgb, var(--accent) 70%, transparent);cursor:pointer;background:0 0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.check svg{width:1rem;height:1rem}.check:hover{border-color:var(--accent);color:var(--accent)}.check.is-done{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.check.off{border-style:dashed;border-color:var(--line);cursor:default}.remove{width:1.75rem;height:1.75rem;color:var(--muted);cursor:pointer;opacity:.5;background:0 0;border:0;border-radius:.5rem;flex:none;place-items:center;padding:0;display:grid}.remove svg{width:.875rem;height:.875rem}.remove:hover,.remove:focus-visible{opacity:1;color:var(--red)}.link{font:inherit;color:var(--accent);cursor:pointer;text-underline-offset:.2em;background:0 0;border:0;padding:0;font-size:.875rem;text-decoration:underline}.add{flex-wrap:wrap;gap:.5rem;display:flex}.section>.add{margin-top:.75rem}.field{font:inherit;color:var(--text);background:var(--inset);border:1px solid var(--line);border-radius:.75rem;width:100%;min-width:0;min-height:2.75rem;padding:.5625rem .75rem}.add .field{width:auto}.field::placeholder{color:var(--muted)}.field:hover{border-color:var(--muted)}.grow{flex:12rem}.date-inline{width:auto;min-height:2.25rem;color:var(--muted);padding:.25rem .5rem;font-size:.875rem}.btn{font:600 1rem/1 var(--body);color:var(--accent-ink);background:var(--accent);border:1px solid var(--accent);cursor:pointer;white-space:nowrap;border-radius:.75rem;min-height:2.75rem;padding:0 1.125rem}.btn:hover{filter:brightness(1.1)}.btn.ghost{color:var(--text);background:var(--inset);border-color:var(--line)}.btn.ghost:hover{border-color:var(--muted);filter:none}.steps{flex-wrap:wrap;gap:.5rem;display:flex}.plan-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;display:grid}.plan-day{flex-direction:column;gap:.5rem;min-height:15rem;padding:.75rem;display:flex}.plan-day.is-today{border-color:var(--accent)}.plan-day header{justify-content:space-between;align-items:baseline;margin-bottom:.25rem;display:flex}.plan-name{color:var(--muted);font-size:.875rem}.plan-num{font:700 1.375rem/1 var(--display)}.plan-event{background:var(--accent-soft);overflow-wrap:anywhere;border-radius:.75rem;gap:.125rem;padding:.5rem 1.75rem .5rem .625rem;font-size:.9375rem;display:grid;position:relative}.plan-event.area-zakelijk{background:color-mix(in srgb, var(--violet) 18%, transparent)}.plan-event .remove{position:absolute;top:.25rem;right:.125rem}.plan-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8125rem}.plan-task{overflow-wrap:anywhere;align-items:center;gap:.5rem;font-size:.9375rem;display:flex}.plan-task .check{width:1.5rem;height:1.5rem}.plan-task .check svg{width:.75rem;height:.75rem}.plan-free{color:var(--muted);font-size:.875rem}.habit-form{gap:.875rem;display:grid}.daypick{flex-wrap:wrap;align-items:center;gap:.375rem;display:flex}.daypick legend{color:var(--muted);margin-bottom:.5rem;font-size:.875rem}.daypick label{border:1px solid var(--line);cursor:pointer;min-width:2.75rem;min-height:2.5rem;color:var(--muted);background:var(--inset);border-radius:.75rem;place-items:center;display:grid}.daypick label.on{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.daypick input{opacity:0;pointer-events:none;position:absolute}.daypick label:has(:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.habit-table{background:var(--card);border:1px solid var(--line);border-radius:1.375rem;padding:.5rem 1.25rem}.habit-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(8rem,1fr) auto 5.5rem 1.75rem;align-items:center;gap:1rem;padding:.75rem 0;display:grid}.habit-row:last-child{border-bottom:0}.habit-headrow{color:var(--muted);padding:.5rem 0;font-size:.8125rem}.habit-days{grid-template-columns:repeat(7,2.25rem);justify-items:center;gap:.375rem;display:grid}.habit-when{display:block}.habit-streak{text-align:right;color:var(--muted);font-size:.875rem}.habit-streak strong{font:700 1.125rem/1 var(--display);color:var(--text)}@media (width<=1280px){.dash{grid-template-columns:minmax(17rem,22rem) minmax(0,1fr)}.dash>.dash-col:last-child{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}}@media (width<=1000px){.dash,.dash>.dash-col:last-child{grid-template-columns:minmax(0,1fr)}.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-day{min-height:0}}@media (width<=760px){.shell{grid-template-columns:minmax(0,1fr)}.nav{z-index:10;height:auto;padding:.375rem .25rem calc(.375rem + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);flex-direction:row;justify-content:space-around;gap:0;position:fixed;inset:auto 0 0}.brand{display:none}.nav-link{border:0;flex-direction:column;flex:1;gap:.125rem;min-width:0;padding:.375rem .125rem;font-size:.6875rem}.nav-link:last-child{margin-top:0}.nav-link[aria-current=page]{color:var(--accent);background:0 0}.main{padding:1rem .75rem 6.5rem}.card,.section{padding:1rem}.item{grid-template-columns:minmax(0,1fr);gap:.25rem}.item-when{text-align:left;padding-left:.25rem}.plan-grid{grid-template-columns:minmax(0,1fr)}.add-event .field[type=time],.add-event select{flex:5.5rem}.habit-table{padding:.25rem 1rem}.habit-row{grid-template-columns:minmax(0,1fr) auto 1.75rem;gap:.5rem .75rem}.habit-headrow{display:none}.habit-days{grid-area:2/1/auto/-1;grid-template-columns:repeat(7,1fr);justify-items:start}.habit-streak{grid-area:1/2}.habit-row .remove{grid-area:1/3}}@media (prefers-reduced-motion:no-preference){.check,.ring-fill,.meter-bar span{transition:background-color .15s,border-color .15s,stroke-dashoffset .4s,width .4s}}.auth{place-items:center;min-height:100dvh;padding:1.5rem 1rem;display:grid}.auth-card{gap:1rem;width:100%;max-width:26rem;padding:2rem;display:grid}.auth-brand{padding:0}.auth-card .note{margin:0}.auth-form{gap:.875rem;display:grid}.auth-form label{color:var(--muted);gap:.375rem;font-size:.875rem;display:grid}.auth-form .field{font-size:1rem}.field.code{font:600 1.375rem/1 var(--display);letter-spacing:.2em;text-align:center}.form-error,.banner{color:var(--red);background:color-mix(in srgb, var(--red) 12%, transparent);border-radius:.75rem;padding:.625rem .75rem;font-size:.9375rem}.banner{justify-content:space-between;gap:1rem;margin-bottom:1rem;display:flex}.qr{background:#fff;border-radius:.75rem;justify-self:center;width:12.5rem;height:12.5rem;padding:.5rem}.auth code,.codes code{overflow-wrap:anywhere;color:var(--text);font-family:ui-monospace,Cascadia Code,Menlo,monospace;font-size:.9375rem}.codes{grid-template-columns:1fr 1fr;gap:.375rem;display:grid}.codes li{background:var(--inset);text-align:center;border-radius:.625rem;padding:.5rem .75rem}.old-note{margin-top:1rem}.btn:disabled{opacity:.6;cursor:default}.plan{grid-template-columns:minmax(0,1fr) minmax(17rem,21rem);align-items:start;gap:1rem;display:grid}.cal{gap:.375rem;padding:.75rem;display:grid}.cal-head,.cal-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:.375rem;display:grid}.cal-head span{color:var(--muted);padding:.25rem .5rem;font-size:.8125rem}.cal-day{font:inherit;color:var(--text);text-align:left;background:var(--inset);cursor:pointer;border:1px solid #0000;border-radius:.875rem;flex-direction:column;gap:.375rem;min-width:0;min-height:6.75rem;padding:.5rem;display:flex}.cal-week .cal-day{overflow:hidden}.cal.cal-week .cal-day{min-height:22rem}.cal-day:hover{border-color:var(--line)}.cal-day.is-outside{opacity:.45}.cal-day.is-selected{border-color:var(--accent);background:var(--accent-soft)}.cal-num{font:700 1rem/1 var(--display);border-radius:50%;place-items:center;width:1.75rem;height:1.75rem;display:grid}.cal-day.is-today .cal-num{background:var(--accent);color:var(--accent-ink)}.cal-items{gap:.1875rem;min-width:0;display:grid}.cal-chip{background:var(--accent-soft);white-space:nowrap;text-overflow:ellipsis;border-radius:.375rem;padding:.125rem .375rem;font-size:.75rem;line-height:1.3;overflow:hidden}.cal-chip.area-zakelijk{background:color-mix(in srgb, var(--violet) 20%, transparent)}.cal-chip b{font-variant-numeric:tabular-nums;font-weight:600}.cal-more{color:var(--muted);padding-left:.375rem;font-size:.75rem}.cal-dots{gap:.1875rem;display:none}.cal-dots i{background:var(--accent);border-radius:50%;width:.375rem;height:.375rem}.cal-dots .dot-task{background:var(--green)}.cap:first-letter{text-transform:uppercase}.mini li.is-done .title-btn{color:var(--muted);text-decoration:line-through}.mini-event{border-left:3px solid var(--accent)}.mini-event.area-zakelijk{border-left-color:var(--violet)}.mini-sub{display:block}.mini .check{width:1.75rem;height:1.75rem}.title-btn{font:inherit;color:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere;-webkit-text-decoration:inherit;text-decoration:inherit;background:0 0;border:0;padding:0;font-weight:600}.title-btn:hover{text-underline-offset:.2em;text-decoration:underline}.row-title .title-btn{font-weight:400}.dialog{color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:1.375rem;width:min(28rem,100vw - 2rem);max-height:calc(100dvh - 2rem);padding:0}.dialog::backdrop{background:#0009}.dialog-form{gap:.875rem;padding:1.5rem;display:grid}.form-field{gap:.375rem;display:grid}.form-field>span{color:var(--muted);font-size:.875rem}.form-row{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.dialog-actions{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.dialog-actions .grow{flex:1 1 0}.btn.danger{color:var(--red);border-color:color-mix(in srgb, var(--red) 45%, transparent);background:0 0}.btn.danger:hover{background:color-mix(in srgb, var(--red) 12%, transparent);filter:none}.quick .form-field .field{width:100%}@media (width<=1100px){.plan{grid-template-columns:minmax(0,1fr)}.cal.cal-week .cal-day{min-height:11rem}}@media (width<=760px){.cal{gap:.25rem;padding:.5rem}.cal-head,.cal-week{gap:.25rem}.cal-head span{text-align:center;padding:.125rem 0;font-size:.75rem}.cal-day,.cal.cal-week .cal-day{border-radius:.625rem;align-items:center;min-height:3.5rem;padding:.375rem .125rem}.cal-items{display:none}.cal-dots{display:flex}.steps .btn{padding:0 .75rem}}.item.is-done .title-btn{text-decoration:line-through}
