:root{--bg:#ffa3d1;--ink:#000;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#2a0a4a;--ink:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--bg);color:var(--ink)}body{margin:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1.125rem;line-height:1.45}img,video{max-width:100%;height:auto}[hidden]{display:none!important}:focus-visible{outline:4px dashed var(--ink);outline-offset:4px}.site{flex-direction:column;min-height:100dvh;padding:clamp(1rem,4vw,3rem);display:flex}.site-header{border-bottom:6px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem 2rem;margin-bottom:2rem;padding-bottom:1.25rem;display:flex}.site-title{letter-spacing:-.04em;text-transform:uppercase;margin:0;font-size:clamp(2.5rem,9vw,5rem);font-weight:900;line-height:.92}.site-title a{color:inherit;text-decoration:none}.page{flex:1;width:100%;max-width:56rem}.site-footer{border-top:6px solid var(--ink);font-family:var(--mono);text-transform:uppercase;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1rem;font-size:.875rem;font-weight:700;display:flex}.muted{opacity:.7;margin:0}.stack{gap:1rem;display:grid}.field{align-content:start;gap:.375rem;display:grid}.field-wide{grid-column:1/-1}.field-label{font-family:var(--mono);text-transform:uppercase;font-size:.875rem;font-weight:700}.field-hint{opacity:.7;font-size:.875rem}.input{appearance:none;border:4px solid var(--ink);width:100%;min-height:3.25rem;color:inherit;font:inherit;font-family:var(--mono);background:0 0;border-radius:0;margin:0;padding:.5rem .75rem;font-size:1.125rem;font-weight:700}.input::placeholder{color:inherit;opacity:.35}.input:disabled{opacity:.5}.input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input[type=number]{appearance:textfield}textarea.input{resize:vertical;min-height:5rem;font-family:inherit;font-weight:400;line-height:1.4}.btn{border:4px solid var(--ink);min-height:3.25rem;box-shadow:4px 4px 0 var(--ink);background:var(--bg);color:var(--ink);font-family:var(--mono);text-transform:uppercase;cursor:pointer;border-radius:0;justify-content:center;align-items:center;gap:.5rem;margin:0 4px 4px 0;padding:.5rem 1.25rem;font-size:.875rem;font-weight:700;text-decoration:none;transition:transform 80ms,box-shadow 80ms;display:inline-flex}.btn:hover{box-shadow:2px 2px 0 var(--ink);transform:translate(2px,2px)}.btn:active{box-shadow:none;transform:translate(4px,4px)}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:4px 4px 0 var(--ink);transform:none}.btn-primary{background:var(--ink);color:var(--bg)}.btn-icon{min-width:3.25rem;padding:0;font-size:1.75rem;line-height:1}.btn-small{min-height:2.5rem;padding:.25rem .875rem;font-size:.75rem}.btn-big{flex:10rem;min-height:4rem;padding:.75rem 2rem;font-size:1.125rem}.form-error{border:4px solid var(--ink);background:var(--ink);color:var(--bg);margin:0 0 1.5rem;padding:.75rem 1rem;font-weight:700}.login{max-width:24rem}.tabs{flex-wrap:wrap;gap:.75rem;margin:0 0 2rem;padding:0 4px 4px 0;display:flex}.tab{border:4px solid var(--ink);min-height:2.75rem;box-shadow:4px 4px 0 var(--ink);background:var(--bg);color:var(--ink);font-family:var(--mono);text-transform:uppercase;cursor:pointer;border-radius:0;align-items:center;gap:.5rem;padding:.25rem 1rem;font-size:.875rem;font-weight:700;display:inline-flex}.tab[aria-current=page]{background:var(--ink);color:var(--bg)}.tab-count{text-align:center;border:2px solid;min-width:1.5rem;padding:0 .25rem;font-size:.75rem}.tab-add{justify-content:center;min-width:2.75rem;font-size:1.5rem;line-height:1}.tab-form{flex:18rem;gap:.75rem;display:flex}.tab-form .input{flex:1;min-width:0;min-height:2.75rem}.tab-form .btn{min-height:2.75rem;margin:0}.add-items{--gutter:clamp(1rem, 4vw, 3rem);z-index:10;padding:.75rem max(var(--gutter), calc(100% - 56rem - var(--gutter))) calc(.75rem + env(safe-area-inset-bottom)) var(--gutter);border-top:6px solid var(--ink);background:var(--bg);gap:.75rem;display:flex;position:fixed;inset:auto 0 0}.site:has(.add-items){padding-bottom:calc(clamp(1rem, 4vw, 3rem) + 5.25rem + env(safe-area-inset-bottom))}.add-items .input{flex:1;min-width:0}.add-items .btn{margin:0}.empty{margin:1.5rem 0}.items{border-top:4px solid var(--ink);margin:0;padding:0;list-style:none}.items-done{margin-top:1.5rem}.item{border-bottom:4px solid var(--ink);background:var(--bg);grid-template-columns:2.75rem minmax(0,1fr) 2.75rem;align-items:center;min-height:3.5rem;display:grid;position:relative}.item[data-dragging]{z-index:1;border:4px solid var(--ink);box-shadow:8px 8px 0 var(--ink)}.item-handle{all:unset;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;align-self:stretch;align-items:center;font-size:1.5rem;line-height:1;display:flex}.item-handle:active{cursor:grabbing}.item-label{cursor:pointer;align-self:stretch;align-items:center;gap:.875rem;padding:.5rem .25rem;display:flex}.item-check{appearance:none;border:4px solid var(--ink);cursor:pointer;background:0 0;border-radius:0;flex:none;width:1.75rem;height:1.75rem;margin:0;position:relative}.item-check:checked{background:var(--ink)}.item-check:checked:after{content:"";border:solid var(--bg);border-width:0 4px 4px 0;width:.375rem;height:.75rem;position:absolute;top:.0625rem;left:.375rem;transform:rotate(45deg)}.item-name{overflow-wrap:anywhere;font-weight:700}.item[data-checked] .item-name{opacity:.55;text-decoration:line-through;text-decoration-thickness:3px}.item-remove{all:unset;cursor:pointer;justify-content:center;align-self:stretch;align-items:center;font-size:1.75rem;font-weight:700;line-height:1;display:flex}.item-remove:hover,.item-handle:hover{background:var(--ink);color:var(--bg)}.item-remove:focus-visible,.item-handle:focus-visible{outline-offset:-4px}.list-actions{flex-wrap:wrap;gap:.75rem;margin-top:2.5rem;display:flex}@media (prefers-reduced-motion:reduce){.btn{transition:none}}
