*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0a0a0a;--bg-card: #161616;--bg-modal: #1a1a1a;--border: #2a2a2a;--text: #e8e8e8;--text-dim: #888;--accent: #f0c040;--accent-hover: #f5d060;--accent-dim: rgba(240, 192, 64, .15);--danger: #ff6b6b;--success: #51cf66;--radius: 12px;--radius-sm: 8px}html,body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);min-height:100dvh;-webkit-font-smoothing:antialiased}#root{max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column}button{cursor:pointer;border:none;background:none;color:inherit;font:inherit}input,textarea{font:inherit;color:inherit;background:transparent;border:none;outline:none}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:flex-end;justify-content:center;z-index:100;animation:fadeIn .15s ease}.modal-content{background:var(--bg-modal);width:100%;max-width:480px;border-radius:var(--radius) var(--radius) 0 0;padding:24px;animation:slideUp .2s ease;max-height:85dvh;overflow-y:auto}@keyframes landingFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}}@keyframes slideUp{0%{transform:translateY(100%)}}@keyframes checkPop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes strikethrough{0%{text-decoration-color:transparent}to{text-decoration-color:var(--text-dim)}}.fab{position:fixed;bottom:calc(72px + env(safe-area-inset-bottom,0px));right:calc(50% - 220px);width:56px;height:56px;border-radius:50%;background:var(--accent);color:#0a0a0a;font-size:28px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #f0c0404d;transition:transform .15s,background .15s;z-index:1001}.fab:hover{background:var(--accent-hover);transform:scale(1.05)}.fab:active{transform:scale(.95)}@media(max-width:480px){.fab{right:20px}}.check-pop{animation:checkPop .25s ease}[draggable=true]{cursor:grab;touch-action:pan-y}[draggable=true]:active{cursor:grabbing}.todo-done-text{text-decoration:line-through;text-decoration-color:var(--text-dim);animation:strikethrough .3s ease;color:var(--text-dim)}
