@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;800&display=swap";*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:#0f172a;color:#f1f5f9;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{display:flex;align-items:center;justify-content:center;min-height:100vh;position:relative;overflow:hidden;padding:2rem 1rem}.container{width:100%;max-width:520px;position:relative;z-index:1}.glow{position:fixed;top:30%;left:50%;translate:-50% -50%;width:500px;height:500px;background:radial-gradient(circle,rgba(99,102,241,.12) 0%,transparent 70%);border-radius:50%;pointer-events:none;animation:pulse 4s ease-in-out infinite}@keyframes pulse{0%,to{scale:1;opacity:.6}50%{scale:1.2;opacity:1}}.title{font-size:clamp(2.5rem,8vw,3.5rem);font-weight:800;letter-spacing:-.03em;margin:0;text-align:center;color:#f1f5f9}.gradient-text{background:linear-gradient(135deg,#6366f1,#a78bfa,#f472b6);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.subtitle{font-size:.9rem;color:#64748b;margin:.5rem 0 2rem;text-align:center;font-weight:400}.header-row{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:.25rem}.user-pro-badge{background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff;font-size:.65rem;font-weight:800;padding:.25rem .5rem;border-radius:6px;letter-spacing:.08em;animation:glow-pro 2s ease-in-out infinite}@keyframes glow-pro{0%,to{box-shadow:0 0 8px #f59e0b4d}50%{box-shadow:0 0 16px #f59e0b99}}.user-bar{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1.5rem}.user-email{font-size:.8rem;color:#64748b}.logout-btn{background:none;border:1px solid rgba(100,116,139,.3);color:#64748b;font-size:.75rem;padding:.3rem .6rem;border-radius:6px;cursor:pointer;font-family:inherit;transition:color .2s,border-color .2s}.logout-btn:hover{color:#f1f5f9;border-color:#f1f5f94d}.login-form,.add-form{display:flex;gap:.5rem;margin-bottom:1.5rem}.todo-input{flex:1;padding:.75rem 1rem;border-radius:12px;border:1px solid rgba(99,102,241,.2);background:#1e293bcc;color:#f1f5f9;font-size:.95rem;font-family:inherit;outline:none;transition:border-color .2s,box-shadow .2s;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.todo-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.todo-input::placeholder{color:#64748b}.todo-input:disabled{opacity:.5;cursor:not-allowed}.add-btn{padding:.75rem 1.5rem;border-radius:12px;border:none;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity .2s,transform .1s}.add-btn:hover{opacity:.9}.add-btn:active{transform:scale(.97)}.add-btn:disabled{opacity:.4;cursor:not-allowed}.error-msg{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:.6rem 1rem;border-radius:10px;font-size:.85rem;margin-bottom:1rem;text-align:center}.upgrade-banner{background:linear-gradient(135deg,#f59e0b1a,#f973161a);border:1px solid rgba(245,158,11,.3);border-radius:12px;padding:1rem;text-align:center;margin-bottom:1rem}.upgrade-banner p{color:#fbbf24;font-size:.85rem;margin:0 0 .75rem}.upgrade-btn{background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff;border:none;padding:.6rem 1.2rem;border-radius:10px;font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity .2s,transform .1s}.upgrade-btn:hover{opacity:.9}.upgrade-btn:active{transform:scale(.97)}.pricing-section{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.5rem}.pricing-card{background:#1e293b99;border:1px solid rgba(99,102,241,.1);border-radius:14px;padding:1.25rem;text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative;transition:border-color .2s}.pricing-card h3{color:#f1f5f9;font-size:1rem;margin:0 0 .5rem}.pricing-card .price{color:#a78bfa;font-size:1.8rem;font-weight:800;margin:0 0 .75rem}.pricing-card .price span{font-size:.8rem;font-weight:400;color:#64748b}.pricing-card ul{list-style:none;padding:0;margin:0}.pricing-card li{color:#94a3b8;font-size:.8rem;padding:.2rem 0}.pricing-card.pro{border-color:#f59e0b66;background:#1e293bcc}.pricing-card.pro .price{color:#fbbf24}.pro-badge{position:absolute;top:-8px;right:12px;background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff;font-size:.6rem;font-weight:800;padding:.2rem .5rem;border-radius:4px;letter-spacing:.08em}.todo-list{display:flex;flex-direction:column;gap:.5rem}.todo-item{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border-radius:12px;background:#1e293b99;border:1px solid rgba(99,102,241,.1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background .2s,border-color .2s}.todo-item:hover{background:#1e293bd9;border-color:#6366f140}.todo-item.completed .todo-title{text-decoration:line-through;color:#475569}.check-btn{width:24px;height:24px;min-width:24px;border-radius:6px;border:2px solid rgba(99,102,241,.4);background:transparent;color:#6366f1;font-size:.85rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s;padding:0}.todo-item.completed .check-btn{background:#6366f1;border-color:#6366f1;color:#fff}.check-btn:hover{border-color:#6366f1}.todo-title{flex:1;color:#e2e8f0;font-size:.95rem;transition:color .2s}.delete-btn{width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:#475569;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s,background .2s;padding:0}.delete-btn:hover{color:#ef4444;background:#ef44441a}.footer{margin-top:1rem;text-align:center;color:#64748b;font-size:.8rem}.attach-btn{display:flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;border-radius:12px;border:1px solid rgba(99,102,241,.2);background:#1e293bcc;cursor:pointer;font-size:1.1rem;transition:border-color .2s,background .2s}.attach-btn:hover{border-color:#6366f1;background:#1e293b}.image-preview{position:relative;margin-bottom:1rem;border-radius:12px;overflow:hidden;border:1px solid rgba(99,102,241,.2)}.image-preview img{width:100%;max-height:200px;object-fit:cover;display:block}.remove-preview{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;border:none;background:#0009;color:#fff;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.todo-content{flex:1;min-width:0}.todo-image{margin-top:.5rem;width:100%;max-height:160px;object-fit:cover;border-radius:8px}.empty-state{text-align:center;color:#64748b;padding:2rem;font-size:.95rem}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-card{background:#1e293bf2;border:1px solid rgba(99,102,241,.3);border-radius:16px;padding:2rem 2.5rem;text-align:center;max-width:380px;width:90%;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-card.success{border-color:#22c55e66}.modal-card.cancel{border-color:#ef44444d}.modal-card h2{color:#f1f5f9;font-size:1.4rem;margin:0 0 .75rem}.modal-card p{color:#94a3b8;font-size:.95rem;margin:0 0 1.5rem;line-height:1.5}.modal-close-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;padding:.65rem 1.5rem;border-radius:10px;font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity .2s}.modal-close-btn:hover{opacity:.9}.modal-card.success .modal-close-btn{background:linear-gradient(135deg,#22c55e,#16a34a)}
