*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #1a1035;--bg-surface: #241848;--bg-surface-hover: #2d1f5e;--text: #f0e6ff;--text-muted: #9b8ec4;--accent: #e91e8c;--accent-light: rgba(233,30,140,.15);--accent-glow: 0 0 20px rgba(233,30,140,.4);--water: #00bcd4;--fire: #ff6b35;--earth: #7cb342;--air: #90caf9;--energy: #e91e8c;--success: #34d399;--success-light: rgba(52,211,153,.15);--warning: #fbbf24;--warning-light: rgba(251,191,36,.15);--danger: #f87171;--danger-light: rgba(248,113,113,.15);--card-bg: #241848;--shadow: 0 4px 24px rgba(0,0,0,.3);--shadow-glow: 0 0 30px rgba(233,30,140,.2);--radius: 1rem;--radius-sm: .5rem;--radius-lg: 1.5rem;--border: rgba(155,142,196,.2);--border-light: rgba(155,142,196,.1);--transition-fast: .15s ease;--transition: .3s ease}html,body{background-color:#1a1035;background-image:linear-gradient(135deg,#1a1035,#0d0a1a);background-attachment:fixed;min-height:100vh;min-height:100dvh}html{overscroll-behavior:none;scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:Quicksand,system-ui,-apple-system,sans-serif;color:var(--text);-webkit-font-smoothing:antialiased;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-y:none;-webkit-overflow-scrolling:touch}body::-webkit-scrollbar{display:none}body:before{content:"";position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top,0px);background-color:#1a1035;z-index:9999;pointer-events:none}h1,h2,h3{line-height:1.2}button{font-family:inherit}a{color:inherit}.btn-primary{display:inline-block;padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--accent) 0%,#c4167a 100%);color:#fff;border:none;border-radius:2rem;font-size:.9rem;font-weight:700;cursor:pointer;text-decoration:none;text-align:center;transition:all .3s ease;font-family:inherit;box-shadow:0 2px 12px #e91e8c4d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 20px #e91e8c80}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{display:inline-block;padding:.75rem 1.5rem;background:#ffffff0d;color:var(--accent);border:2px solid rgba(233,30,140,.4);border-radius:2rem;font-size:.9rem;font-weight:700;cursor:pointer;text-decoration:none;text-align:center;transition:all .3s ease;font-family:inherit;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-secondary:hover{background:#e91e8c1a;border-color:var(--accent);box-shadow:var(--accent-glow)}.empty-state{text-align:center;padding:3rem 1rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.empty-state h2{font-size:1.5rem;font-weight:800;color:var(--text)}.empty-state p{color:var(--text-muted)}.progress-bar{height:6px;background:#9b8ec426;border-radius:3px;margin-top:.75rem;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--water) 0%,var(--accent) 100%);border-radius:3px;transition:width .4s ease;box-shadow:0 0 8px #00bcd466}.encouragement{font-size:1.1rem;font-weight:700;color:var(--water);animation:fadeIn .3s ease-out;text-align:center;text-shadow:0 0 10px rgba(0,188,212,.3)}.completion{text-align:center;padding:2rem 1rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.completion h2{font-size:1.5rem;font-weight:800;color:var(--text)}.completion-message{font-size:1.25rem;font-weight:700;color:var(--accent);text-shadow:0 0 12px rgba(233,30,140,.4)}.completion-count{color:var(--text-muted)}.completion-actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-top:.5rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes sparkle{0%,to{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 5px #e91e8c33}50%{box-shadow:0 0 20px #e91e8c66}}.toast-container.svelte-1cpok13{position:fixed;top:1rem;left:50%;transform:translate(-50%);z-index:1001;display:flex;flex-direction:column;gap:.5rem;max-width:90vw}.toast.svelte-1cpok13{padding:.75rem 1.5rem;border-radius:.75rem;font-size:.85rem;font-weight:600;box-shadow:0 4px 16px #0000001f;animation:svelte-1cpok13-slideDown .3s ease-out;text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.toast-success.svelte-1cpok13{background:#34d39926;color:#34d399;border:1px solid rgba(52,211,153,.3)}.toast-info.svelte-1cpok13{background:#00bcd426;color:#00bcd4;border:1px solid rgba(0,188,212,.3)}.toast-warning.svelte-1cpok13{background:#fbbf2426;color:#fbbf24;border:1px solid rgba(251,191,36,.3)}@keyframes svelte-1cpok13-slideDown{0%{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}.sparkles-container.svelte-lv648w{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.sparkle.svelte-lv648w{position:absolute;border-radius:50%;animation:svelte-lv648w-sparkle-float linear infinite;opacity:0}@keyframes svelte-lv648w-sparkle-float{0%,to{opacity:0;transform:scale(.5) translateY(0)}25%{opacity:.8;transform:scale(1) translateY(-10px)}50%{opacity:.4;transform:scale(.8) translateY(-5px)}75%{opacity:.7;transform:scale(1.1) translateY(-15px)}}.login-page.svelte-1t79uwi{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;gap:1.75rem;padding:calc(2rem + env(safe-area-inset-top,0px)) 1rem 2rem}.login-header.svelte-1t79uwi{text-align:center}.login-logo.svelte-1t79uwi{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#e91e8c,#00bcd4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 12px rgba(233,30,140,.3))}.login-tagline.svelte-1t79uwi{color:var(--text-muted);font-size:.9rem;margin-top:.3rem}.login-elements.svelte-1t79uwi{display:flex;gap:1rem;align-items:center}.login-buttons.svelte-1t79uwi{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:300px}.social-btn.svelte-1t79uwi{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.85rem 1.5rem;border-radius:.75rem;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s ease;border:none}.social-btn.svelte-1t79uwi:disabled{opacity:.6;cursor:wait}.social-icon.svelte-1t79uwi{flex-shrink:0}.google-btn.svelte-1t79uwi{background:#fff;color:#333;box-shadow:0 2px 12px #00000026}.google-btn.svelte-1t79uwi:hover:not(:disabled){box-shadow:0 4px 16px #00000040;transform:translateY(-1px)}.error-msg.svelte-1t79uwi{color:var(--danger);font-size:.85rem;text-align:center;max-width:300px}.anon-link.svelte-1t79uwi{background:none;border:none;color:var(--text-muted);font-size:.8rem;font-family:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:color .2s}.anon-link.svelte-1t79uwi:hover:not(:disabled){color:var(--accent)}.anon-link.svelte-1t79uwi:disabled{opacity:.5;cursor:wait}.nav.svelte-ocbj1u{display:flex;justify-content:center;gap:.25rem;padding:.6rem calc(.5rem + env(safe-area-inset-right,0px)) calc(.6rem + env(safe-area-inset-bottom,0px)) calc(.5rem + env(safe-area-inset-left,0px));background:#1a1035eb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid rgba(155,142,196,.15);box-shadow:0 -4px 20px #0000004d;position:fixed;bottom:0;left:0;right:0;z-index:100}.nav-item.svelte-ocbj1u{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem 1rem;border-radius:.75rem;text-decoration:none;color:#9b8ec4;font-size:.7rem;font-weight:600;transition:all .2s ease;position:relative}.nav-item.svelte-ocbj1u:hover{color:var(--element-color);background:#9b8ec414}.nav-item.active.svelte-ocbj1u{color:var(--element-color)}.nav-item.active.svelte-ocbj1u:after{content:"";position:absolute;bottom:.15rem;left:50%;transform:translate(-50%);width:1.5rem;height:3px;border-radius:2px;background:var(--element-color);box-shadow:0 0 8px var(--element-color)}.nav-label.svelte-ocbj1u{white-space:nowrap}@media(max-width:400px){.nav-item.svelte-ocbj1u{padding:.5rem .6rem}.nav-label.svelte-ocbj1u{font-size:.6rem}}.element-selection.svelte-4ptiym{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem 1rem;text-align:center}h2.svelte-4ptiym{font-size:1.5rem;background:linear-gradient(135deg,#e91e8c,#00bcd4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle.svelte-4ptiym{color:var(--text-muted);font-size:.9rem}.preview.svelte-4ptiym{margin:.5rem 0}.elements-grid.svelte-4ptiym{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;width:100%;max-width:500px}@media(max-width:480px){.elements-grid.svelte-4ptiym{grid-template-columns:repeat(3,1fr)}}@media(max-width:400px){.elements-grid.svelte-4ptiym{grid-template-columns:repeat(3,1fr);gap:.35rem}.element-card.svelte-4ptiym{padding:.5rem .3rem}.el-name.svelte-4ptiym{font-size:.65rem}.el-guardian.svelte-4ptiym{font-size:.55rem}.el-desc.svelte-4ptiym{font-size:max(.55rem,9px)}}.element-card.svelte-4ptiym{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.75rem .5rem;background:var(--bg-surface);border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all .2s;font-family:inherit;color:var(--text)}.element-card.svelte-4ptiym:hover{border-color:var(--el-color);background:var(--bg-surface-hover);transform:translateY(-2px)}.element-card.selected.svelte-4ptiym{border-color:var(--el-color);box-shadow:0 0 20px color-mix(in srgb,var(--el-color) 40%,transparent)}.el-name.svelte-4ptiym{font-weight:700;font-size:.8rem;color:var(--el-color)}.el-guardian.svelte-4ptiym{font-size:.65rem;color:var(--text-muted)}.el-desc.svelte-4ptiym{font-size:.6rem;color:var(--text-muted);opacity:.7}.confirm-btn.svelte-4ptiym{margin-top:1rem}.install-banner.svelte-wh6tnt{position:fixed;bottom:calc(4.5rem + env(safe-area-inset-bottom,0px));left:50%;right:auto;transform:translate(-50%);width:calc(100% - 2rem);max-width:500px;background:linear-gradient(135deg,#e91e8c1f,#00bcd41f);border:1px solid rgba(233,30,140,.25);border-radius:1rem;padding:.85rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;z-index:99;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 24px #0006;animation:svelte-wh6tnt-slideUp .3s ease-out}.install-content.svelte-wh6tnt{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.install-icon.svelte-wh6tnt{border-radius:.5rem;flex-shrink:0}.install-text.svelte-wh6tnt{display:flex;flex-direction:column;gap:.1rem;min-width:0}.install-text.svelte-wh6tnt strong:where(.svelte-wh6tnt){font-size:.85rem;color:#f0e6ff}.install-text.svelte-wh6tnt span:where(.svelte-wh6tnt){font-size:.7rem;color:#9b8ec4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.install-actions.svelte-wh6tnt{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.install-btn.svelte-wh6tnt{background:linear-gradient(135deg,#e91e8c,#c4167a);color:#fff;border:none;border-radius:2rem;padding:.45rem 1rem;font-size:.8rem;font-weight:700;cursor:pointer;font-family:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:36px}.install-btn.svelte-wh6tnt:active{transform:scale(.97)}.dismiss-btn.svelte-wh6tnt{background:none;border:none;color:#9b8ec4;font-size:1.1rem;cursor:pointer;padding:.25rem;line-height:1;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center}.dismiss-btn.svelte-wh6tnt:hover{color:#f0e6ff}@keyframes svelte-wh6tnt-slideUp{0%{transform:translate(-50%) translateY(100%);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@media(max-width:400px){.install-banner.svelte-wh6tnt{width:calc(100% - 1rem);padding:.75rem}.install-text.svelte-wh6tnt span:where(.svelte-wh6tnt){font-size:.65rem}}.update-banner.svelte-m7sngy{position:fixed;top:calc(.75rem + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);width:calc(100% - 2rem);max-width:500px;background:linear-gradient(135deg,#00bcd426,#e91e8c26);border:1px solid rgba(0,188,212,.3);border-radius:1rem;padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;z-index:9998;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 24px #0006;animation:svelte-m7sngy-slideDown .3s ease-out;font-size:.85rem;color:#f0e6ff}.update-actions.svelte-m7sngy{display:flex;gap:.5rem;flex-shrink:0}.update-btn.svelte-m7sngy{background:linear-gradient(135deg,#00bcd4,#0097a7);color:#fff;border:none;border-radius:2rem;padding:.4rem .9rem;font-size:.75rem;font-weight:700;cursor:pointer;font-family:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.dismiss-btn.svelte-m7sngy{background:none;border:none;color:#9b8ec4;font-size:.75rem;cursor:pointer;padding:.4rem;font-family:inherit;touch-action:manipulation}@keyframes svelte-m7sngy-slideDown{0%{transform:translate(-50%) translateY(-100%);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.guardian-loader.svelte-connqc{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;min-height:300px;animation:svelte-connqc-fadeIn .4s ease}.guardian-float.svelte-connqc{position:relative;animation:svelte-connqc-g-float 3s ease-in-out infinite}.aura.svelte-connqc{position:absolute;inset:-20px;border-radius:50%;background:radial-gradient(ellipse,var(--glow),transparent 70%);animation:svelte-connqc-aura-pulse 2.5s ease-in-out infinite;z-index:0;pointer-events:none}.energy-field.svelte-connqc{position:absolute;inset:-30px;z-index:3;pointer-events:none}.energy-spark.svelte-connqc{position:absolute;top:50%;left:50%;width:4px;height:4px;background:var(--color);border-radius:50%;box-shadow:0 0 8px var(--color);animation:svelte-connqc-spark-orbit 2.5s ease-in-out infinite var(--delay);transform:rotate(var(--angle)) translate(50px)}.placeholder-figure.svelte-connqc{width:80px;height:120px;background:linear-gradient(180deg,var(--color),color-mix(in srgb,var(--color) 60%,black));border-radius:40px 40px 20px 20px;opacity:.5}.status.svelte-connqc{display:flex;flex-direction:column;align-items:center;gap:6px}.message.svelte-connqc{font-size:.9rem;font-weight:600;color:var(--color);animation:svelte-connqc-text-breathe 2.5s ease-in-out infinite}.sub.svelte-connqc{font-size:.75rem;color:#9b8ec4}.dots.svelte-connqc{display:flex;gap:6px}.dot.svelte-connqc{width:5px;height:5px;background:var(--color);border-radius:50%;opacity:.3;animation:svelte-connqc-dot-wave 1.2s ease-in-out infinite}.dot.svelte-connqc:nth-child(2){animation-delay:.15s}.dot.svelte-connqc:nth-child(3){animation-delay:.3s}@keyframes svelte-connqc-g-float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes svelte-connqc-aura-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}@keyframes svelte-connqc-spark-orbit{0%,to{opacity:0;transform:rotate(var(--angle)) translate(40px) scale(.5)}50%{opacity:1;transform:rotate(calc(var(--angle) + 180deg)) translate(55px) scale(1)}}@keyframes svelte-connqc-text-breathe{0%,to{opacity:.6}50%{opacity:1}}@keyframes svelte-connqc-dot-wave{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}@keyframes svelte-connqc-fadeIn{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.guardian-float.svelte-connqc,.aura.svelte-connqc,.energy-spark.svelte-connqc,.message.svelte-connqc,.dot.svelte-connqc{animation:none}.aura.svelte-connqc{opacity:.3}.dot.svelte-connqc{opacity:.6}.message.svelte-connqc{opacity:1}}.level-up-overlay.svelte-13yci1v{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0d0a1af2;animation:svelte-13yci1v-fadeIn .3s ease;padding:calc(2rem + env(safe-area-inset-top,0px)) 1rem calc(2rem + env(safe-area-inset-bottom,0px));overflow-y:auto}.level-up-content.svelte-13yci1v{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;padding:2rem}.level-up-title.svelte-13yci1v{font-size:2rem;background:linear-gradient(135deg,#e91e8c,#fbbf24);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:svelte-13yci1v-scaleIn .5s ease}.new-form.svelte-13yci1v{text-transform:capitalize;font-size:1.2rem;font-weight:700;color:var(--text)}.new-level.svelte-13yci1v{color:var(--text-muted);font-size:.9rem}.unlock-text.svelte-13yci1v{color:var(--accent);font-size:.85rem;font-weight:600}@media(max-height:700px){.level-up-content.svelte-13yci1v{gap:.75rem}}@keyframes svelte-13yci1v-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes svelte-13yci1v-scaleIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.app.svelte-12qhfyh{max-width:600px;margin:0 auto;padding:calc(1.5rem + env(safe-area-inset-top,0px)) calc(1rem + env(safe-area-inset-right,0px)) 2rem calc(1rem + env(safe-area-inset-left,0px));min-height:100vh;display:flex;flex-direction:column;position:relative;z-index:1}.auth-loading.svelte-12qhfyh{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:60vh}.loader-fullscreen.svelte-12qhfyh{display:flex;align-items:center;justify-content:center;min-height:80vh}.header.svelte-12qhfyh{text-align:center}.header-row.svelte-12qhfyh{display:flex;align-items:center;justify-content:center;gap:1rem;position:relative}.logo.svelte-12qhfyh{font-size:clamp(1.2rem,5vw,1.75rem);font-weight:700;background:linear-gradient(135deg,#e91e8c,#00bcd4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 12px rgba(233,30,140,.3))}.logout-btn.svelte-12qhfyh{position:absolute;right:0;background:none;border:1px solid var(--border);color:var(--text-muted);font-size:.7rem;font-family:inherit;padding:.3rem .6rem;border-radius:1rem;cursor:pointer;transition:all .2s}.logout-btn.svelte-12qhfyh:hover{color:var(--accent);border-color:#e91e8c66}.magic-divider.svelte-12qhfyh{height:2px;margin-top:1rem;background:linear-gradient(90deg,transparent,rgba(233,30,140,.4),rgba(0,188,212,.4),transparent);border-radius:1px;box-shadow:0 0 8px #e91e8c33}.main.svelte-12qhfyh{flex:1;display:flex;flex-direction:column;padding-bottom:calc(4.5rem + env(safe-area-inset-bottom,0px))}.upgrade-banner.svelte-12qhfyh{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.5rem 1rem;background:linear-gradient(135deg,#e91e8c1a,#00bcd41a);border:1px solid rgba(233,30,140,.2);border-radius:.75rem;font-size:.8rem;color:var(--text-muted);flex-wrap:wrap}.upgrade-btn.svelte-12qhfyh{background:none;border:1px solid rgba(233,30,140,.4);color:var(--accent);font-size:.75rem;font-weight:600;font-family:inherit;padding:.25rem .75rem;border-radius:1rem;cursor:pointer;transition:all .2s}.upgrade-btn.svelte-12qhfyh:hover{background:#e91e8c1a;border-color:var(--accent)}
