@font-face{font-family:Oswald Local;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/oswald-600-cyrillic.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Oswald Local;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/oswald-600-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Plex Sans Local;font-style:normal;font-weight:100 700;font-display:swap;src:url(/fonts/plexsans-cyrillic.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Plex Sans Local;font-style:normal;font-weight:100 700;font-display:swap;src:url(/fonts/plexsans-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Plex Mono Local;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plexmono-500-cyrillic.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Plex Mono Local;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plexmono-500-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--ink:#0b0c0e;--ink-raised:#131519;--line:#24282f;--text:#f4f6f8;--text-dim:#a2aab5;--text-off:#7c848f;--lime:#c8f135;--lime-press:#a9cf22;--danger:#ff8a7a;--gap-1:4px;--gap-2:8px;--gap-3:12px;--gap-4:16px;--gap-6:24px;--gap-8:32px;--tap:56px;--tap-lg:64px;--font-display:"Oswald Local","Oswald","Haettenschweiler","Arial Narrow",sans-serif;--font-text:"Plex Sans Local","IBM Plex Sans","Segoe UI","Helvetica Neue",sans-serif;--font-mono:"Plex Mono Local","IBM Plex Mono",ui-monospace,"SFMono-Regular",monospace;color-scheme:dark}*{box-sizing:border-box}body,html{min-height:100%}body,html{background:var(--ink)}body{margin:0;padding:0;color:var(--text);font-family:var(--font-text);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}.page{max-width:560px;margin:0 auto;min-height:100dvh;flex-direction:column}.bar,.page{display:flex}.bar{align-items:baseline;justify-content:space-between;gap:var(--gap-3);padding:var(--gap-4) var(--gap-4) var(--gap-3);border-bottom:1px solid var(--line)}.bar h1{font-family:var(--font-display);font-weight:600;font-size:16px;letter-spacing:.18em;text-transform:uppercase}.bar h1,.tally{margin:0;color:var(--text-dim)}.tally{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:16px;white-space:nowrap}.tally b{color:var(--text);font-weight:500}.items{list-style:none;margin:0;padding:0 0 var(--gap-4);flex:1 1}.items li{display:flex;align-items:center;gap:var(--gap-2);padding:0 var(--gap-2) 0 0;min-height:var(--tap)}.items .divider,.items li{border-bottom:1px solid var(--line)}.items .divider{min-height:0;padding:var(--gap-6) var(--gap-4) var(--gap-2);font-family:var(--font-display);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-off)}.items input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:none;width:var(--tap);height:var(--tap);margin:0;border:0;background:transparent;cursor:pointer;position:relative}.items input[type=checkbox]:before{content:"";position:absolute;inset:13px;border:2px solid var(--text-off);border-radius:4px;transition:border-color .18s ease,background-color .18s ease}.items input[type=checkbox]:checked:before{background:var(--lime);border-color:var(--lime)}.items input[type=checkbox]:checked:after{content:"";position:absolute;left:21px;top:24px;width:14px;height:7px;border-left:3px solid var(--ink);border-bottom:3px solid var(--ink);transform:rotate(-45deg)}.item-text{flex:1 1;min-width:0;padding:var(--gap-3) 0;font-size:20px;word-break:break-word;transition:color .18s ease}.item-done .item-text{color:var(--text-off);text-decoration-thickness:1px}.delete-button{flex:none;width:var(--tap);height:var(--tap);display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--text-off);cursor:pointer;transition:color .18s ease,background-color .18s ease}.delete-button svg{width:20px;height:20px;display:block}.composer{position:-webkit-sticky;position:sticky;bottom:0;display:flex;gap:var(--gap-2);padding:var(--gap-3) var(--gap-4) calc(var(--gap-4) + env(safe-area-inset-bottom, 0px));background:var(--ink-raised);border-top:1px solid var(--line)}.composer input{flex:1 1;min-width:0;height:var(--tap-lg);padding:0 var(--gap-4);font-family:inherit;font-size:20px;color:var(--text);background:var(--ink);border:1px solid var(--line);border-radius:10px;transition:border-color .18s ease}.composer input::placeholder{color:var(--text-off)}.composer input:focus{outline:none;border-color:var(--lime)}.composer button{flex:none;height:var(--tap-lg);padding:0 var(--gap-4);font-family:var(--font-display);font-size:20px;min-width:144px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--lime);border:0;border-radius:10px;cursor:pointer;transition:background-color .15s ease,transform .15s ease}.composer button:active{background:var(--lime-press);transform:translateY(1px)}.composer button:disabled{background:var(--line);color:var(--text-dim);cursor:default;transform:none}.state{padding:var(--gap-8) var(--gap-4);flex:1 1}.state h2{margin:0 0 var(--gap-2);font-family:var(--font-display);font-weight:600;font-size:32px;line-height:1.1;letter-spacing:.01em;color:var(--text)}.state p{margin:0;max-width:34ch;font-size:16px;color:var(--text-dim)}.state-error h2{color:var(--danger)}.retry{margin-top:var(--gap-6);height:var(--tap-lg);padding:0 var(--gap-6);font-family:var(--font-display);font-size:20px;letter-spacing:.08em;text-transform:uppercase;color:var(--text);background:transparent;border:1px solid var(--text-off);border-radius:10px;cursor:pointer;transition:border-color .15s ease,color .15s ease}.skeleton{list-style:none;margin:0;padding:0;flex:1 1}.skeleton li{height:var(--tap);display:flex;align-items:center;padding:0 var(--gap-4);border-bottom:1px solid var(--line)}.skeleton span{display:block;width:62%;height:14px;border-radius:4px;background:var(--ink-raised);animation:breathe 1.4s ease-in-out infinite alternate}.skeleton li:nth-child(2) span{width:40%;animation-delay:.16s}.skeleton li:nth-child(3) span{width:74%;animation-delay:.32s}@keyframes breathe{0%{opacity:.45}to{opacity:1}}@media (hover:hover){.items li:hover{background:var(--ink-raised)}.delete-button:hover{color:var(--danger);background:var(--ink)}.composer button:hover{background:#d5f95a}.retry:hover{border-color:var(--lime);color:var(--lime)}}.items li:active{background:var(--ink-raised)}:focus-visible{outline:2px solid var(--lime);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}