:root{--ink: #0c1210;--linen: #e5e8de;--patina: #1d4433;--graphite: #3a4044;--signal: #d94018;--surface: #f3f5ef;--line: #d3d7cb;--muted: #6c7269;--radius: 16px;--tap: 60px;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--linen);min-height:100dvh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit;cursor:pointer}.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}.app{max-width:560px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;padding:max(20px,env(safe-area-inset-top)) 18px calc(18px + env(safe-area-inset-bottom));gap:18px}.header{padding-top:8px}.title{margin:0;font-size:34px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}.count{margin:6px 0 0;font-size:16px;color:var(--muted)}.add-form{display:flex;gap:10px}.add-input{flex:1;min-width:0;height:var(--tap);padding:0 18px;font-size:18px;color:var(--ink);background:#fff;border:2px solid var(--line);border-radius:var(--radius);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.add-input::placeholder{color:var(--muted)}.add-input:focus{border-color:var(--patina);box-shadow:0 0 0 4px #1d443324}.add-button{flex:none;height:var(--tap);padding:0 22px;font-size:18px;font-weight:700;color:#fff;background:var(--patina);border:none;border-radius:var(--radius);transition:transform .08s ease,filter .15s ease}.add-button:active{transform:scale(.97);filter:brightness(1.06)}.list-area{flex:1}.empty{margin:48px 0 0;text-align:center;font-size:18px;color:var(--muted)}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:stretch;background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);overflow:hidden;animation:pop-in .22s ease;transition:background .2s ease,border-color .2s ease,opacity .2s ease}.row-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:14px;min-height:var(--tap);padding:12px 8px 12px 16px;background:none;border:none;text-align:left;color:var(--ink)}.checkbox{flex:none;width:30px;height:30px;display:grid;place-items:center;border:2px solid var(--graphite);border-radius:9px;color:#fff;background:transparent;transition:background .18s ease,border-color .18s ease,transform .18s ease}.row-text{font-size:19px;line-height:1.3;word-break:break-word;transition:color .2s ease}.row--bought{background:transparent;border-color:var(--line);opacity:.72}.row--bought .checkbox{background:var(--patina);border-color:var(--patina);transform:scale(1);animation:check-pop .24s ease}.row--bought .row-text{text-decoration:line-through;text-decoration-thickness:2px;color:var(--muted)}.row-delete{flex:none;width:56px;display:grid;place-items:center;background:none;border:none;border-left:2px solid var(--line);color:var(--signal);transition:background .15s ease}.row-delete:active{background:#d940181f}.footer{display:flex;flex-direction:column;gap:10px;padding-top:4px}.footer-button{height:54px;font-size:17px;font-weight:700;color:var(--ink);background:#fff;border:2px solid var(--line);border-radius:var(--radius);transition:transform .08s ease,background .15s ease,opacity .15s ease}.footer-button:active{transform:scale(.98)}.footer-button:disabled{opacity:.45;cursor:default}.footer-button--danger{color:var(--signal);border-color:#d9401866}@keyframes pop-in{0%{opacity:0;transform:translateY(-6px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes check-pop{0%{transform:scale(.6)}60%{transform:scale(1.12)}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
