:root{--bg: #F6F1E7;--surface: #FFFDF8;--surface-note: #FFF3BF;--text: #2B2A33;--text-muted: #5B5766;--accent: #1F4FD1;--accent-strong: #163A9E;--highlight: #FFD84D;--marker: #B93A10;--btn-bg: #1F4FD1;--btn-text: #FFFFFF;--logo-check: #1F4FD1;--control-border: #2B2A33;--btn-soft-bg: #FFFDF8;--btn-soft-text: #2B2A33;--outline: #2B2A33;--rule: #D6DDF0;--margin-line: #F2A7A0;--divider: #E4DCCB;--cat-work: #2F5FD9;--cat-home: #D9731F;--cat-study: #7A55D9;--cat-errands: #23875B;--note-1: #FFD84D;--note-2: #FFB3A1;--note-3: #A8C5FF;--note-opacity: .6;--glow-1: #FFD84D;--glow-2: #1F4FD1;--glow-opacity: .35;--dot: #CFC6B2;--radius: 6px;--radius-wobbly: 6px 14px 8px 16px;--shadow-hard: 3px 3px 0 var(--outline);--shadow-hard-lg: 6px 6px 0 var(--outline);--shadow-soft: 0 12px 30px -12px color-mix(in srgb, var(--outline) 35%, transparent);--font-heading: "Fraunces", Georgia, serif;--font-body: "Nunito", system-ui, sans-serif;--font-hand: "Caveat", "Comic Sans MS", cursive;--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);color-scheme:light}:root[data-theme=dark]{--bg: #1C1B24;--surface: #262532;--surface-note: #3A3425;--text: #EDE7DA;--text-muted: #B8B1C4;--accent: #8FB0FF;--accent-strong: #B5CBFF;--highlight: #FFD84D;--marker: #FF9A76;--btn-bg: #FFD84D;--btn-text: #1C1B24;--logo-check: #1F4FD1;--control-border: #9C95AB;--btn-soft-bg: #2F2D3D;--btn-soft-text: #EDE7DA;--outline: #0D0C12;--rule: #34334A;--margin-line: #6B3A44;--divider: #3A384A;--cat-work: #7FA2FF;--cat-home: #F2A15A;--cat-study: #B79CFF;--cat-errands: #5FCB97;--note-1: #FFD84D;--note-2: #FF9F8A;--note-3: #8FB0FF;--note-opacity: .35;--glow-1: #FFC94D;--glow-2: #5C7CFF;--glow-opacity: .5;--dot: #34324A;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:1rem;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;transition:background-color .4s ease,color .4s ease}h1,h2,h3{font-family:var(--font-heading);line-height:1.15;margin:0;font-weight:700;letter-spacing:-.01em}p{margin:0}a{color:var(--accent);text-underline-offset:3px}a:hover{color:var(--accent-strong)}button,input,textarea,select{font:inherit;color:inherit}img,svg{display:block;max-width:100%}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:100;padding:.6rem 1rem;background:var(--btn-bg);color:var(--btn-text);font-weight:700;border-radius:var(--radius);box-shadow:var(--shadow-hard);transform:translateY(-200%);transition:transform .2s ease}.skip-link:focus{transform:translateY(0);color:var(--btn-text)}.hand{font-family:var(--font-hand);font-weight:700;color:var(--marker)}.container{width:min(1120px,100% - 2rem);margin-inline:auto}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s var(--ease-bounce);transition-delay:var(--reveal-delay, 0ms)}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}.desk{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none;background-image:radial-gradient(var(--dot) 1.2px,transparent 1.3px);background-size:26px 26px}.desk__glow{position:absolute;border-radius:50%;filter:blur(80px);opacity:var(--glow-opacity);will-change:transform}.desk__glow--lamp{width:46vmax;height:46vmax;top:-18vmax;right:-12vmax;background:var(--glow-1);animation:glow-drift 26s ease-in-out infinite alternate}.desk__glow--ink{width:38vmax;height:38vmax;bottom:-20vmax;left:-14vmax;background:var(--glow-2);opacity:calc(var(--glow-opacity) * .6);animation:glow-drift 34s ease-in-out -12s infinite alternate-reverse}@keyframes glow-drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(-6vmax,5vmax,0) scale(1.12)}}.note-fall{position:absolute;top:0;left:var(--x);width:var(--size);height:var(--size);opacity:0;will-change:transform,opacity;animation:note-fall var(--duration) linear var(--delay) infinite}.note-fall__paper{position:relative;width:100%;height:100%;background:var(--color);opacity:var(--note-opacity);border-radius:2px 2px 10px;box-shadow:2px 3px color-mix(in srgb,var(--outline) 18%,transparent);animation:note-sway var(--sway-duration) ease-in-out infinite alternate}.note-fall__paper:before{content:"";position:absolute;top:-12%;left:30%;width:40%;height:22%;background:color-mix(in srgb,var(--surface) 70%,transparent);transform:rotate(-4deg);opacity:var(--tape, 0)}@keyframes note-fall{0%{transform:translate3d(0,-20vh,0) rotate(var(--spin-from));opacity:0}8%,88%{opacity:1}to{transform:translate3d(var(--drift),115vh,0) rotate(var(--spin-to));opacity:0}}@keyframes note-sway{0%{transform:translate(calc(var(--sway) * -1)) rotate(-6deg)}to{transform:translate(var(--sway)) rotate(6deg)}}@media(prefers-reduced-motion:reduce){.note-fall{display:none}.desk__glow{animation:none}}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.6rem 1.2rem;border:2px solid var(--outline);border-radius:var(--radius-wobbly);background:var(--btn-bg);color:var(--btn-text);font-weight:800;text-decoration:none;cursor:pointer;overflow:hidden;box-shadow:var(--shadow-hard);transition:transform .18s var(--ease-bounce),box-shadow .18s ease,background-color .2s ease}.btn:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--outline);color:var(--btn-text)}.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--outline)}.btn--soft{background:var(--btn-soft-bg);color:var(--btn-soft-text)}.btn--soft:hover{color:var(--btn-soft-text)}.btn--icon{min-width:40px;min-height:40px;padding:.4rem;border-radius:50% 45% 50% 40%}.btn--small{min-height:36px;padding:.35rem .8rem;font-size:.9rem}.btn:disabled{opacity:.6;cursor:progress}.btn svg{width:1.15em;height:1.15em;flex:none}.btn:hover .icon-pencil{animation:scribble .5s ease-in-out infinite alternate}@keyframes scribble{0%{transform:rotate(-12deg) translate(-1px)}to{transform:rotate(10deg) translate(2px)}}.ink{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:47% 53% 44% 56%;background:currentColor;opacity:.35;pointer-events:none;animation:ink-spread .6s ease-out forwards}@keyframes ink-spread{to{transform:scale(22);opacity:0}}.site-header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px dashed var(--divider)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.75rem}.brand{display:inline-flex;align-items:center;gap:.6rem;color:var(--text);text-decoration:none}.brand:hover{color:var(--text)}.brand__logo{width:38px;height:38px;transition:transform .3s var(--ease-bounce)}.brand:hover .brand__logo{transform:rotate(-8deg) scale(1.06)}.brand__name{font-family:var(--font-heading);font-size:1.3rem;font-weight:800;line-height:1}.brand__name span{font-family:var(--font-hand);color:var(--marker);font-size:1.5rem;font-weight:700}.site-nav{display:flex;align-items:center;gap:.5rem}.site-nav__links{display:flex;gap:.25rem;list-style:none;margin:0;padding:0}.site-nav__link{position:relative;display:inline-block;padding:.4rem .7rem;color:var(--text-muted);font-weight:700;text-decoration:none}.site-nav__link:hover,.site-nav__link.active{color:var(--text)}.site-nav__link:after{content:"";position:absolute;left:.6rem;right:.6rem;bottom:.15rem;height:3px;border-radius:3px;background:var(--highlight);transform:scaleX(0) rotate(-1.5deg);transform-origin:left;transition:transform .3s ease}.site-nav__link:hover:after,.site-nav__link.active:after{transform:scaleX(1) rotate(-1.5deg)}.account{display:flex;align-items:center;gap:.5rem}.avatar{width:38px;height:38px;flex:none}.badge{display:inline-block;padding:.1rem .55rem;border:2px solid var(--outline);border-radius:999px;background:var(--highlight);color:var(--btn-soft-text);font-size:.75rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}:root[data-theme=dark] .badge{color:var(--btn-text)}.theme-toggle svg{transition:transform .5s var(--ease-bounce),opacity .3s ease}.theme-toggle .icon-moon{position:absolute}:root[data-theme=light] .theme-toggle .icon-moon,:root[data-theme=dark] .theme-toggle .icon-sun{transform:rotate(-90deg) scale(0);opacity:0}.site-footer{padding:2.5rem 0 2rem;color:var(--text-muted);font-size:.9rem;text-align:center}.auth-dialog{width:min(420px,100% - 2rem);padding:0;border:2px solid var(--outline);border-radius:var(--radius-wobbly);background:var(--surface);color:var(--text);box-shadow:var(--shadow-hard-lg)}.auth-dialog::backdrop{background:color-mix(in srgb,var(--outline) 55%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.auth-dialog[open]{animation:pop-in .35s var(--ease-bounce)}@keyframes pop-in{0%{transform:translateY(20px) rotate(-2deg) scale(.95);opacity:0}}.auth-dialog__body{padding:1.5rem;display:grid;gap:1rem}.auth-dialog__head{display:flex;justify-content:space-between;align-items:start;gap:1rem}.auth-dialog__switch{font-size:.95rem;color:var(--text-muted)}.link-button{padding:0;border:0;background:none;color:var(--accent);font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.field{display:grid;gap:.3rem}.field label,.field legend{font-weight:800;font-size:.9rem}.field__hint{color:var(--text-muted);font-weight:600}.input{width:100%;min-height:44px;padding:.55rem .75rem;border:2px solid var(--control-border);border-radius:var(--radius);background:var(--surface);color:var(--text);transition:box-shadow .2s ease,transform .2s ease}.input::placeholder{color:var(--text-muted)}.input:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent)}textarea.input{min-height:80px;resize:vertical}.form-message{font-weight:700;color:var(--marker)}.form-message--ok{color:var(--cat-errands)}.cat-picker{display:flex;flex-wrap:wrap;gap:.4rem;border:0;margin:0;padding:0}.cat-picker legend{margin-bottom:.3rem;padding:0}.cat-option{position:relative}.cat-option input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;cursor:pointer}.cat-option span{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;border:2px solid var(--outline);border-radius:999px;background:var(--surface);font-size:.85rem;font-weight:800;transition:transform .2s var(--ease-bounce),box-shadow .2s ease}.cat-option span:before{content:"";width:.7rem;height:.7rem;border-radius:50%;background:var(--cat);border:1.5px solid var(--outline)}.cat-option input:checked+span{box-shadow:2px 2px 0 var(--outline);transform:translate(-1px,-1px);background:color-mix(in srgb,var(--cat) 22%,var(--surface))}.cat-option input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}.hero{padding:2.5rem 0 1.5rem}.hero__kicker{font-size:1.6rem;transform:rotate(-2deg);display:inline-block}.hero__title{font-size:clamp(2.3rem,6vw,3.8rem);font-weight:800;margin-top:.2rem}.hero__title mark{position:relative;background:none;color:inherit;z-index:0}.hero__title mark:before{content:"";position:absolute;left:-.1em;right:-.1em;bottom:.08em;height:.38em;background:var(--highlight);opacity:.8;border-radius:4px 10px 6px 12px;transform:rotate(-1deg) scaleX(0);transform-origin:left;animation:highlight .9s .3s ease-out forwards;z-index:-1}@keyframes highlight{to{transform:rotate(-1deg) scaleX(1)}}.hero__lead{margin-top:.75rem;max-width:56ch;color:var(--text-muted);font-size:1.1rem}.mode-note{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;color:var(--text-muted);font-size:.95rem;font-weight:600}.spread{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:2rem;align-items:start;padding-bottom:2rem}.sticky{position:sticky;top:5.5rem;display:grid;gap:1.5rem}.sticky-note{position:relative;padding:1.6rem 1.25rem 1.25rem;background:var(--surface-note);border:2px solid var(--outline);border-radius:3px 3px 22px;box-shadow:var(--shadow-hard-lg);transform:rotate(-1.2deg)}.sticky-note:before{content:"";position:absolute;top:-14px;left:50%;width:96px;height:26px;background:color-mix(in srgb,var(--surface) 65%,transparent);border:1px solid color-mix(in srgb,var(--outline) 15%,transparent);transform:translate(-50%) rotate(3deg)}.sticky-note h2{font-size:1.5rem;margin-bottom:1rem}.task-form{display:grid;gap:1rem}.task-form__actions{display:flex;flex-wrap:wrap;gap:.6rem}.page{position:relative;min-width:0;padding:1.5rem 1.5rem 2rem 3.25rem;background-color:var(--surface);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 35px,var(--rule) 35px,var(--rule) 36px);background-position:0 1.25rem;border:2px solid var(--outline);border-radius:4px 12px 12px 4px;box-shadow:var(--shadow-soft),var(--shadow-hard)}.page:before{content:"";position:absolute;top:0;bottom:0;left:2.1rem;width:2px;background:var(--margin-line)}.page__head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:.75rem;margin-bottom:1.25rem}.page__head h2{font-size:1.7rem}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.stat{padding:.7rem .5rem;text-align:center;background:var(--surface);border:2px solid var(--outline);border-radius:var(--radius-wobbly);box-shadow:var(--shadow-hard)}.stat__value{display:block;font-family:var(--font-heading);font-size:1.8rem;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}.stat__label{font-size:.8rem;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.progress{grid-column:1 / -1;display:grid;gap:.35rem}.progress__label{display:flex;justify-content:space-between;font-weight:700;font-size:.9rem}.progress__track{height:14px;border:2px solid var(--outline);border-radius:999px;background:var(--surface);overflow:hidden}.progress__fill{height:100%;width:100%;background:repeating-linear-gradient(-45deg,var(--accent) 0 8px,color-mix(in srgb,var(--accent) 75%,var(--surface)) 8px 16px);transform-origin:left;transform:scaleX(var(--progress, 0));transition:transform .8s var(--ease-bounce)}.filters{display:flex;flex-wrap:wrap;gap:.35rem}.filter-tab{padding:.3rem .8rem;border:2px solid var(--outline);border-radius:10px 10px 4px 4px;background:var(--bg);color:var(--text-muted);font-weight:800;font-size:.9rem;cursor:pointer;transition:transform .2s var(--ease-bounce),background-color .2s ease}.filter-tab:hover{transform:translateY(-2px);color:var(--text)}.filter-tab[aria-pressed=true]{background:var(--highlight);color:var(--btn-soft-text);transform:translateY(-3px)}:root[data-theme=dark] .filter-tab[aria-pressed=true]{color:var(--btn-text)}.task-list{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}.task{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.25rem .9rem;align-items:start;padding:.9rem 1rem .9rem 1.2rem;background:var(--surface);border:2px solid var(--outline);border-radius:var(--radius-wobbly);box-shadow:var(--shadow-hard);animation:task-in .45s var(--ease-bounce) both;transition:transform .25s var(--ease-bounce),box-shadow .25s ease}.task:hover{transform:translate(-2px,-3px) rotate(-.3deg);box-shadow:5px 6px 0 var(--outline)}.task:before{content:"";position:absolute;top:12px;bottom:12px;left:-2px;width:7px;border-radius:0 6px 6px 0;background:var(--cat)}@keyframes task-in{0%{opacity:0;transform:translateY(12px) rotate(-1deg)}}.task.is-leaving{animation:task-out .45s ease-in forwards}@keyframes task-out{to{opacity:0;transform:translate(40px,-20px) rotate(8deg) scale(.9)}}.check{position:relative;width:30px;height:30px;margin-top:.1rem}.check input{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;opacity:0;cursor:pointer;z-index:1}.check svg{width:30px;height:30px;overflow:visible}.check__box{fill:var(--surface);stroke:var(--control-border);stroke-width:2.5}.check__tick{fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;transition:stroke-dashoffset .35s ease-out}.check input:checked+svg .check__tick{stroke-dashoffset:0}.check input:focus-visible+svg{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}.task__body{min-width:0}.task__title{position:relative;display:inline;font-family:var(--font-body);font-size:1.1rem;font-weight:800;overflow-wrap:anywhere}.task__strike{position:absolute;left:-2px;right:-2px;top:52%;height:3px;border-radius:3px;background:var(--marker);transform:scaleX(0) rotate(-1.5deg);transform-origin:left;transition:transform .4s ease-out .15s}.task.is-done .task__strike{transform:scaleX(1) rotate(-1.5deg)}.task.is-done .task__title,.task.is-done .task__note{color:var(--text-muted)}.task__note{margin-top:.2rem;color:var(--text-muted);overflow-wrap:anywhere}.task__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.45rem;font-size:.8rem;color:var(--text-muted);font-weight:700}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.05rem .55rem;border:1.5px solid var(--outline);border-radius:999px;background:color-mix(in srgb,var(--cat) 20%,var(--surface));color:var(--text);font-weight:800}.task__actions{display:flex;gap:.4rem}.empty{padding:2.5rem 1rem;text-align:center}.empty p{font-size:1.8rem;transform:rotate(-2deg)}.empty small{display:block;margin-top:.5rem;color:var(--text-muted);font-size:1rem}.locked{display:grid;justify-items:center;gap:1rem;padding:3rem 1.5rem;text-align:center}.locked__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.about{display:grid;gap:1.5rem;padding:2.5rem 0 2rem}.about__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem}.card{padding:1.25rem;background:var(--surface);border:2px solid var(--outline);border-radius:var(--radius-wobbly);box-shadow:var(--shadow-hard);transition:transform .25s var(--ease-bounce),box-shadow .25s ease}.card:hover{transform:translate(-2px,-4px);box-shadow:5px 7px 0 var(--outline)}.card h2{font-size:1.3rem;margin-bottom:.5rem}.card ul{margin:0;padding-left:1.2rem}.card li+li{margin-top:.3rem}.card p+p{margin-top:.6rem}.card:nth-child(odd){rotate:-.6deg}.card:nth-child(2n){rotate:.5deg}.lost{display:grid;justify-items:center;gap:1rem;padding:5rem 0;text-align:center}.lost__code{font-family:var(--font-heading);font-size:clamp(5rem,22vw,9rem);font-weight:800;line-height:1;transform:rotate(-4deg)}@media(max-width:820px){.spread{grid-template-columns:minmax(0,1fr)}.sticky{position:static}}@media(max-width:560px){.site-header__inner{flex-wrap:wrap;row-gap:.4rem}.brand__name{font-size:1.1rem}.site-nav{width:100%;justify-content:space-between}.account .account__name{display:none}.page{padding:1.25rem .9rem 1.5rem 1.9rem}.page:before{left:1.1rem}.task{grid-template-columns:auto minmax(0,1fr);padding-right:.8rem}.task__actions{grid-column:2}}
