@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--bg-primary: #050508;--bg-secondary: #0c0c12;--bg-tertiary: #14141e;--bg-card: rgba(20, 20, 30, .6);--bg-glass: rgba(30, 30, 45, .5);--bg-glass-hover: rgba(45, 45, 65, .6);--accent-primary: #a855f7;--accent-secondary: #c084fc;--accent-pink: #ec4899;--accent-cyan: #22d3ee;--accent-emerald: #10b981;--accent-orange: #f97316;--gradient-primary: linear-gradient(135deg, #a855f7 0%, #ec4899 50%, #f97316 100%);--gradient-secondary: linear-gradient(135deg, #06b6d4 0%, #a855f7 100%);--gradient-aurora: linear-gradient(135deg, rgba(168, 85, 247, .15) 0%, rgba(236, 72, 153, .1) 25%, rgba(34, 211, 238, .1) 50%, rgba(16, 185, 129, .15) 75%, rgba(168, 85, 247, .1) 100%);--gradient-glow: radial-gradient(ellipse at center, rgba(168, 85, 247, .2), transparent 70%);--text-primary: #fafafa;--text-secondary: #a1a1aa;--text-muted: #71717a;--border-color: rgba(255, 255, 255, .06);--border-glass: rgba(255, 255, 255, .08);--border-accent: rgba(168, 85, 247, .3);--shadow-sm: 0 2px 10px rgba(0, 0, 0, .4);--shadow-md: 0 8px 30px rgba(0, 0, 0, .5);--shadow-lg: 0 16px 50px rgba(0, 0, 0, .6);--shadow-glow: 0 0 40px rgba(168, 85, 247, .3);--shadow-glow-pink: 0 0 40px rgba(236, 72, 153, .3);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden;font-size:15.5px}body:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse 100% 80% at 50% -30%,rgba(168,85,247,.2),transparent 60%),radial-gradient(ellipse 80% 60% at 100% 50%,rgba(236,72,153,.12),transparent 50%),radial-gradient(ellipse 60% 50% at 0% 70%,rgba(34,211,238,.1),transparent 50%),radial-gradient(ellipse 50% 40% at 80% 100%,rgba(16,185,129,.08),transparent 40%);pointer-events:none;z-index:-1;animation:auroraShift 20s ease-in-out infinite}body:after{content:"";position:fixed;inset:0;background:radial-gradient(circle at 20% 20%,rgba(168,85,247,.05) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(236,72,153,.05) 0%,transparent 50%);pointer-events:none;z-index:-1;animation:auroraShift 15s ease-in-out infinite reverse}@keyframes auroraShift{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;letter-spacing:-.03em}h1{font-size:2.75rem;font-weight:800;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}h2{font-size:1.875rem}h3{font-size:1.375rem}.glass{background:var(--bg-glass);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--border-glass);border-radius:var(--radius-lg)}.glass-card{background:var(--bg-card);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--border-glass);border-radius:var(--radius-xl);padding:1.75rem;transition:all var(--transition-base);position:relative;overflow:hidden}.glass-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}.glass-card:hover{background:var(--bg-glass-hover);border-color:#ffffff1f;transform:translateY(-4px);box-shadow:var(--shadow-md),var(--shadow-glow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.875rem 1.75rem;font-family:inherit;font-size:1rem;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--transition-slow)}.btn:hover:before{left:100%}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-sm),0 0 30px #a855f74d}.btn-primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:var(--shadow-md),0 0 40px #a855f766}.btn-primary:active{transform:translateY(-1px) scale(1)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-glass-hover);border-color:var(--accent-primary);box-shadow:0 0 20px #a855f726}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-glass);color:var(--text-primary)}.btn-danger{background:linear-gradient(135deg,#ef444433,#ef44441a);color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.btn-danger:hover{background:linear-gradient(135deg,#ef44444d,#ef444433);border-color:#ef444480;box-shadow:0 0 20px #ef444433}.btn-icon{padding:.875rem;border-radius:var(--radius-md)}.input{width:100%;padding:1rem 1.25rem;font-family:inherit;font-size:.95rem;color:var(--text-primary);background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--radius-md);outline:none;transition:all var(--transition-fast)}.input::placeholder{color:var(--text-muted)}.input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 4px #a855f726,0 0 30px #a855f71a}.input-glass{background:#14141e80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--border-glass)}.input-glass:focus{background:#1e1e2d99}.container{max-width:800px;margin:0 auto;padding:0 1.5rem}.app-wrapper{min-height:100vh;padding:2rem 1rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}@keyframes glow{0%,to{box-shadow:0 0 20px #a855f74d}50%{box-shadow:0 0 40px #a855f780,0 0 60px #ec48994d}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes checkBounce{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.fade-in{animation:fadeIn var(--transition-base) ease-out}.fade-in-up{animation:fadeInUp var(--transition-slow) ease-out}.slide-in{animation:slideIn var(--transition-base) ease-out}.scale-in{animation:scaleIn var(--transition-fast) ease-out}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:5px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--accent-primary),var(--accent-pink));border-radius:5px;border:2px solid var(--bg-secondary)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--accent-secondary),var(--accent-pink))}::selection{background:#a855f766;color:var(--text-primary)}@media(max-width:640px){html{font-size:14px}h1{font-size:2rem}h2{font-size:1.25rem}.container{padding:0 1rem}.app-wrapper{padding:1rem .5rem}.glass-card{padding:1.25rem;border-radius:var(--radius-lg)}}.gradient-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glow{animation:glow 3s ease-in-out infinite}.float{animation:float 6s ease-in-out infinite}.header{background:#14141e99;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.1);padding:.75rem 0;position:sticky;top:0;z-index:100;transition:all .3s ease}.header.scrolled{background:#14141ef2;box-shadow:0 4px 20px #0000004d}.header-content{display:flex;justify-content:space-between;align-items:center;padding:0 1rem;max-width:800px;margin:0 auto}.header-left{display:flex;align-items:center}.logo{display:flex;align-items:center;gap:.75rem}.logo-emoji{font-size:2rem;filter:drop-shadow(0 0 8px rgba(168,85,247,.5));transition:transform .3s ease}.logo:hover .logo-emoji{transform:scale(1.1) rotate(10deg)}.logo-text h1{font-size:1.25rem;font-weight:800;margin:0;background:linear-gradient(to right,#fff,#c084fc);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.5px}.logo-subtitle{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-weight:500}.header-right{display:flex;gap:.75rem}.header-btn{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:18px;border:1px solid rgba(255,255,255,.1);transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden;margin-left:.5rem}.header-btn .btn-icon{font-size:2.5rem;line-height:1;z-index:2;transition:transform .3s ease}.history-btn{background:linear-gradient(135deg,#3b82f640,#9333ea40);box-shadow:0 4px 15px #3b82f626}.history-btn:hover{background:linear-gradient(135deg,#3b82f680,#9333ea80);transform:translateY(-2px);box-shadow:0 8px 25px #9333ea66;border-color:#9333ea99}.clear-btn{background:linear-gradient(135deg,#ef444440,#f9731640);box-shadow:0 4px 15px #ef444426}.clear-btn:hover{background:linear-gradient(135deg,#ef444480,#f9731680);transform:translateY(-2px) rotate(5deg);box-shadow:0 8px 25px #ef444466;border-color:#ef444499}.header-btn:active{transform:scale(.92)}@media(max-width:480px){.logo-text{display:none}.header-btn{width:50px;height:50px;border-radius:14px}.header-btn .btn-icon{font-size:2rem}@media(min-width:350px){.logo-text{display:block}.logo-text h1{font-size:1.1rem}.logo-subtitle{display:none}}}.grocery-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#1e1e2d66;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-lg);transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:.75rem;touch-action:pan-y;will-change:transform}.grocery-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background-color:var(--item-color);opacity:.7;transition:all .2s}.grocery-item:hover{background:#2d2d4199;transform:translate(4px);border-color:#ffffff1a}.grocery-item:hover:before{width:8px;opacity:1}.grocery-item:active{transform:scale(.99)}.item-checkbox{flex-shrink:0;width:28px;height:28px;border-radius:50%;border:2px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;transition:all .2s;background:transparent}.checkbox-empty{width:100%;height:100%;border-radius:50%}.grocery-item.checked .item-checkbox{background:var(--accent-emerald);border-color:var(--accent-emerald);box-shadow:0 0 15px #10b98166}.check-icon{width:18px;height:18px;color:#fff;animation:checkBounce .3s cubic-bezier(.34,1.56,.64,1)}.item-content{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.item-main{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem}.item-name{font-size:1rem;font-weight:600;color:var(--text-primary);transition:color .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-date{font-size:.75rem;color:#ffffff80;font-weight:400;white-space:nowrap}.item-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;font-size:.75rem;color:var(--text-secondary)}.item-category{color:var(--item-color);font-weight:500}.item-added-by{color:var(--text-muted);font-size:.75rem}.grocery-item.checked{background:#10b9810d;border-color:#10b9811a}.grocery-item.checked .item-name{text-decoration:line-through;color:var(--text-muted);opacity:.7}.grocery-item.checked:before{background-color:var(--accent-emerald)}.item-remove-btn{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(239,68,68,.4);border-radius:12px;background:#ef444426;color:#ef4444;font-size:1.25rem;cursor:pointer;transition:all .2s;opacity:.9}.grocery-item:hover .item-remove-btn{opacity:1}.item-remove-btn:hover{background:#ef444433;border-color:#ef444480;transform:scale(1.1);box-shadow:0 0 15px #ef444433}.item-remove-btn:active{transform:scale(.95)}.grocery-item.removing{transform:translate(100%);opacity:0;margin-bottom:-60px}.grocery-list{display:flex;flex-direction:column;gap:1.5rem}.empty-state{text-align:center;padding:3rem 1.5rem;color:var(--text-secondary)}.empty-icon{font-size:3.5rem;margin-bottom:1rem;filter:drop-shadow(0 0 20px rgba(168,85,247,.2));animation:float 4s ease-in-out infinite}.empty-state h3{font-size:1.5rem;color:var(--text-primary);margin-bottom:.5rem;font-weight:700}.list-progress{margin-bottom:1rem;padding:1rem 1.25rem!important;border-radius:var(--radius-lg)!important}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-weight:600;color:var(--text-primary);font-size:.8rem}.progress-percent{color:var(--accent-primary);font-family:monospace;font-size:.95rem}.progress-bar{height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-primary),var(--accent-pink));box-shadow:0 0 10px #a855f780;transition:width .5s cubic-bezier(.4,0,.2,1)}.category-section{display:flex;flex-direction:column}.category-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;margin-bottom:.75rem;border-radius:0 var(--radius-md) var(--radius-md) 0;background:#414155e6;border:1px solid rgba(255,255,255,.25);border-left:6px solid var(--cat-color);box-shadow:0 8px 20px #0006;color:#fff;font-weight:800;font-size:1.05rem;letter-spacing:.6px;position:sticky;top:232px;z-index:80;box-shadow:0 8px 15px #0000004d;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.category-emoji{font-size:1.4rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.category-title{flex:1;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.category-count{background:#ffffff1a;border:1px solid rgba(255,255,255,.1);color:var(--text-primary);padding:.2rem .6rem;border-radius:12px;font-size:.72rem;font-weight:700}.category-items{display:flex;flex-direction:column;gap:.5rem;padding-left:.5rem}.add-item-form{position:sticky;top:72px;z-index:90;margin-top:0;padding:1.5rem 0 1rem;background:var(--bg-primary);margin-bottom:1rem}.form-row{display:flex;gap:.75rem;position:relative}.input-wrapper{position:relative;flex:1}.suggested-category{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-primary);background:#1e1e2dcc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:.25rem .6rem;border-radius:8px;border:1px solid rgba(255,255,255,.1);pointer-events:none;animation:fadeIn .3s ease-out}.suggested-category span:first-child{font-size:1rem}.submit-btn{height:54px;padding:0 1.5rem;font-size:1rem}.btn-icon-right{font-size:1.2rem}.loading-spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.suggestions-row{display:flex;gap:.5rem;overflow-x:auto;padding:.75rem .5rem 1rem;margin-top:.5rem;mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent);scrollbar-width:thin;scrollbar-color:rgba(168,85,247,.3) transparent}.suggestions-row::-webkit-scrollbar{height:3px;display:block}.suggestions-row::-webkit-scrollbar-track{background:transparent}.suggestions-row::-webkit-scrollbar-thumb{background:#a855f733;border-radius:10px}.suggestions-row:hover::-webkit-scrollbar-thumb{background:#a855f780}.suggestion-chip{flex-shrink:0;display:flex;align-items:center;gap:.4rem;padding:.4rem .8rem;background:#1e1e2d99;border:1px solid var(--border-color);border-radius:20px;color:var(--text-secondary);font-size:.76rem;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.suggestion-chip:hover{background:#2d2d41cc;border-color:var(--chip-color, var(--accent-primary));transform:translateY(-2px);box-shadow:0 4px 12px #0003;color:var(--text-primary)}.suggestion-chip .plus-indicator{font-size:1.1rem;opacity:.5;margin-left:.2rem}.suggestion-chip:hover .plus-indicator{opacity:1;color:var(--chip-color, var(--accent-primary))}@media(max-width:640px){.form-row{flex-direction:column;gap:.5rem}.input-wrapper{width:100%}.submit-btn{width:100%;margin-top:.25rem}.submit-btn span:first-child{display:inline}}.update-overlay{position:fixed;inset:0;background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.update-modal{background:#191923f2;border:1px solid rgba(255,255,255,.2);border-radius:24px;padding:32px;width:90%;max-width:400px;text-align:center;box-shadow:0 20px 50px #00000080;animation:popIn .4s cubic-bezier(.175,.885,.32,1.275)}.update-icon-large{font-size:4rem;margin-bottom:20px;display:block;animation:bounce 2s infinite}.update-modal h2{color:#fff;margin:0 0 10px;font-size:1.5rem;font-family:Outfit,sans-serif}.update-modal p{color:#ffffffb3;margin:0 0 24px;font-size:1rem;line-height:1.5}.update-btn-large{background:linear-gradient(135deg,#3b82f6,#8b5cf6,#ec4899);border:none;border-radius:16px;padding:16px 32px;color:#fff;font-weight:600;font-size:1.1rem;width:100%;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 15px #8b5cf666}.update-btn-large:active{transform:scale(.95)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.history-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease-out}.history-modal{width:90%;max-width:500px;max-height:85vh;display:flex;flex-direction:column;background:#14141ef2;border:1px solid rgba(255,255,255,.1);border-radius:20px;box-shadow:0 25px 50px -12px #00000080;overflow:hidden}.history-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.1);background:#ffffff08}.history-header h2{margin:0;font-size:1.25rem;font-weight:600;background:linear-gradient(to right,#fff,#ccc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.close-btn{background:none;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:.25rem;line-height:1;transition:color .2s}.close-btn:hover{color:#fff}.history-content{flex:1;overflow-y:auto;padding:1.5rem}.history-content::-webkit-scrollbar{width:6px}.history-content::-webkit-scrollbar-track{background:#0003}.history-content::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.loading-state,.empty-history{text-align:center;padding:2rem;color:var(--text-muted)}.empty-icon{font-size:3rem;display:block;margin-bottom:1rem;opacity:.5}.lists-container{display:flex;flex-direction:column;gap:1rem}.history-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.05);border-radius:12px;overflow:hidden;transition:all .3s ease}.history-card:hover{background:#ffffff14}.history-card.expanded{background:#ffffff1a;border-color:#fff3}.history-card-header{padding:1rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.list-info{display:flex;flex-direction:column}.list-date{font-weight:500;color:#fff;text-transform:capitalize}.list-count{font-size:.85rem;color:var(--text-muted)}.expand-btn{background:none;border:none;color:var(--text-muted);cursor:pointer}.list-details{padding:0 1rem 1rem;border-top:1px solid rgba(255,255,255,.1);background:#0003;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.list-actions{padding:1rem 0;text-align:center}.restore-all-btn{width:100%}.archived-items-grid{display:flex;flex-wrap:wrap;gap:.5rem}.archived-item-chip{background:#ffffff1a;border:1px solid rgba(255,255,255,.1);border-left:3px solid var(--item-color);border-radius:6px;padding:.4rem .6rem;font-size:.85rem;color:#ffffffe6;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s}.archived-item-chip:hover{background:#fff3;transform:translateY(-2px)}.add-icon{font-weight:700;color:#10b981;opacity:.5}.archived-item-chip:hover .add-icon{opacity:1}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#1e1e2df2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);padding:12px 24px;border-radius:50px;display:flex;align-items:center;gap:12px;box-shadow:0 8px 32px #0006;z-index:10000;font-weight:500;min-width:300px;max-width:90vw;font-size:1rem}.toast-message{color:#fff;flex:1}.toast-icon{font-size:1.2rem}.toast-error{border-color:#ef444480;background:linear-gradient(90deg,#1e1e2df2,#450a0af2)}.toast-error .toast-icon{filter:drop-shadow(0 0 5px rgba(239,68,68,.5))}.toast-success{border-color:#10b98180;background:linear-gradient(90deg,#1e1e2df2,#064e3bf2)}.toast-info{border-color:#3b82f680}.fade-in-up{animation:toastSlideUp .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes toastSlideUp{0%{opacity:0;transform:translate(-50%,20px) scale(.9)}to{opacity:1;transform:translate(-50%) scale(1)}}.install-prompt-banner{position:fixed;bottom:20px;left:20px;right:20px;background:linear-gradient(135deg,var(--bg-secondary),#1e1e2e);border:1px solid var(--accent-primary);border-radius:var(--radius-lg);padding:1rem;display:flex;align-items:center;gap:1rem;box-shadow:0 10px 40px #00000080;z-index:9999;animation:slideUp .5s cubic-bezier(.175,.885,.32,1.275)}.install-icon-wrapper{font-size:2rem;background:#a855f71a;width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:12px}.install-text{flex:1}.install-text h4{margin:0;font-size:1rem;color:#fff}.install-text p{margin:2px 0 0;font-size:.85rem;color:var(--text-secondary)}.install-actions{display:flex;gap:.5rem}.btn-install{background:var(--accent-primary);color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-install:hover{transform:scale(1.05);filter:brightness(1.1)}.btn-close-prompt{background:transparent;color:var(--text-muted);border:none;font-size:1.2rem;cursor:pointer;padding:.5rem}@keyframes slideUp{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}.ios-instructions{font-size:.8rem;color:var(--accent-secondary);font-style:italic;margin-top:4px;display:flex;align-items:center;gap:4px}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding-bottom:3rem}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1.5rem;background:var(--bg-primary)}.loading-screen:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse at center,rgba(168,85,247,.15),transparent 60%);pointer-events:none}.loading-spinner{width:56px;height:56px;border:3px solid rgba(168,85,247,.2);border-top-color:var(--accent-primary);border-radius:50%;animation:spinGlow 1s linear infinite;box-shadow:0 0 25px #a855f74d}@keyframes spinGlow{to{transform:rotate(360deg)}}.loading-screen p{font-size:1.1rem;font-weight:500;color:var(--text-secondary);animation:loadingPulse 1.5s ease-in-out infinite}@keyframes loadingPulse{0%,to{opacity:.5}50%{opacity:1}}.footer{padding:2.5rem 1rem;text-align:center;color:var(--text-muted);font-size:.9rem;position:relative;margin-top:auto}.footer:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:60%;height:1px;background:linear-gradient(90deg,transparent,var(--border-glass),transparent)}.footer p{opacity:.7;transition:opacity var(--transition-base)}.footer:hover p{opacity:1}@media(max-width:640px){.main-content{padding-bottom:2rem}.footer{padding:2rem 1rem;font-size:.85rem}}
