body.theme-default{--color-primary:#3b82f6;--color-primary-rgb:59, 130, 246;--color-secondary:#10b981;--color-secondary-rgb:16, 185, 129;--color-accent:#f59e0b;--bg-main:#f3f4f6;--text-main:#1f2937;--text-secondary:#6b7280;--text-on-primary:#fff;--border-color:#e5e7eb;--color-pending:#f59e0b;--color-approved:#10b981;--color-rejected:#64748b;--bg-image:url(/backgrounds/bg_girl_default.jpg);--glass-base-rgb:255, 255, 255}body.theme-vikings{--color-primary:#000;--color-primary-rgb:0, 0, 0;--color-secondary:#2f4f4f;--color-secondary-rgb:47, 79, 79;--color-accent:#daa520;--bg-main:wheat;--text-main:#f8fafc;--text-secondary:#cbd5e1;--text-on-primary:#fff;--border-color:tan;--color-pending:#f59e0b;--color-approved:#10b981;--color-rejected:#64748b;--bg-image:url(/backgrounds/bg_vikings.jpg);--glass-base-rgb:15, 23, 42;--font-family-theme:"Cinzel", serif}body.theme-hello_kitty{--color-primary:#f472b6;--color-primary-rgb:244, 114, 182;--color-secondary:#a78bfa;--color-secondary-rgb:167, 139, 250;--color-accent:#fcd34d;--bg-main:#fdf2f8;--text-main:#831843;--text-secondary:#be185d;--text-on-primary:#fff;--border-color:#fbcfe8;--color-pending:#f59e0b;--color-approved:#10b981;--color-rejected:#64748b;--bg-image:url(/backgrounds/bg_hello_kitty.jpg);--glass-base-rgb:255, 255, 255;--font-family-theme:"Comic Sans MS", "Sniglet", cursive}body.theme-space{--color-primary:#8b5cf6;--color-primary-rgb:139, 92, 246;--color-secondary:#0ea5e9;--color-secondary-rgb:14, 165, 233;--color-accent:#fcd34d;--bg-main:#0f172a;--text-main:#f8fafc;--text-secondary:#94a3b8;--text-on-primary:#fff;--border-color:#334155;--color-pending:#f59e0b;--color-approved:#10b981;--color-rejected:#64748b;--bg-image:url(/backgrounds/bg_space.jpg);--glass-base-rgb:15, 23, 42}body.theme-star_vs_evil{--bg-image:url(/backgrounds/bg_star.jpg);--bg-main:#e6f3ff66;--text-main:#3b2f56;--text-secondary:#65548c;--text-on-primary:#fff;--color-primary:#ff6b6b;--color-primary-rgb:255, 107, 107;--color-secondary:#fca311;--color-secondary-rgb:252, 163, 17;--color-accent:#37d7c2;--color-pending:#f59e0b;--color-approved:#10b981;--color-rejected:#64748b;--glass-base-rgb:255, 255, 255;--border-color:#ffffff80}body.theme-harry_potter{--color-primary:#1a3052;--color-primary-rgb:26, 48, 82;--color-secondary:#d4af37;--color-secondary-rgb:212, 175, 55;--color-accent:#d4af37;--bg-main:#0b0e14;--text-main:#efefef;--text-secondary:#a0a5af;--text-on-primary:#fff;--border-color:#d4af374d;--color-pending:#f59e0b;--color-approved:#10b981;--color-rejected:#64748b;--bg-image:url(/backgrounds/bg_harry_potter.jpg);--glass-base-rgb:15, 20, 30;--font-family-theme:"Cinzel", "Outfit", serif}body.theme-hermione{--color-primary:#1a3052;--color-primary-rgb:26, 48, 82;--color-secondary:#d4af37;--color-secondary-rgb:212, 175, 55;--color-accent:#d4af37;--bg-main:#0b0e14;--text-main:#efefef;--text-secondary:#a0a5af;--text-on-primary:#fff;--border-color:#d4af374d;--color-pending:#f59e0b;--color-approved:#10b981;--color-rejected:#64748b;--bg-image:url(/backgrounds/bg_hermione.jpg);--glass-base-rgb:15, 20, 30;--font-family-theme:"Cinzel", "Outfit", serif}body.profile-standard{--spacing-base:8px;--spacing-sm:12px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--font-size-sm:14px;--font-size-base:16px;--font-size-md:18px;--font-size-lg:24px;--font-size-xl:32px;--border-radius:12px;--animation-duration:.3s;--animation-bounce:cubic-bezier(.175, .885, .32, 1.275);--button-padding:12px 24px}body.profile-adhd_focus{--spacing-base:12px;--spacing-sm:16px;--spacing-md:24px;--spacing-lg:32px;--spacing-xl:48px;--font-size-sm:16px;--font-size-base:18px;--font-size-md:22px;--font-size-lg:28px;--font-size-xl:36px;--border-radius:16px;--animation-duration:.3s;--animation-bounce:ease-out;--button-padding:16px 32px}body.profile-adhd_focus button.pulse{animation:none}body.profile-sensory_calm{--spacing-base:8px;--spacing-sm:12px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--font-size-sm:14px;--font-size-base:16px;--font-size-md:18px;--font-size-lg:24px;--font-size-xl:32px;--border-radius:12px;--animation-duration:0s;--animation-bounce:linear;--button-padding:12px 24px;background-image:none}body.profile-sensory_calm:before{content:"";z-index:-1;pointer-events:none;background:var(--bg-image-calm,var(--bg-image)) top right / cover no-repeat;filter:saturate(.6)brightness(.85);position:fixed;inset:0}body.profile-sensory_calm button.pulse,body.profile-sensory_calm .swipe-out-left,body.profile-sensory_calm .swipe-out-right,body.profile-sensory_calm .swipe-in{animation:none}body.profile-visual_junior{--spacing-base:8px;--spacing-sm:12px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--font-size-sm:14px;--font-size-base:18px;--font-size-md:20px;--font-size-lg:26px;--font-size-xl:34px;--border-radius:16px;--animation-duration:.3s;--animation-bounce:cubic-bezier(.175, .885, .32, 1.275);--button-padding:16px 28px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family-theme,"Outfit", "Inter", system-ui, sans-serif);color:var(--text-main);background-color:var(--bg-main);background-image:var(--bg-image);font-weight:500;line-height:1.5;font-size:var(--font-size-base);transition:background-color var(--animation-duration) ease, color var(--animation-duration) ease;background-position:100% 0;background-repeat:no-repeat;background-size:cover;background-attachment:fixed}#root{flex-direction:column;max-width:768px;min-height:100vh;margin:0 auto;display:flex}a{color:var(--color-primary);-webkit-text-decoration:inherit;text-decoration:inherit}button{font-size:var(--font-size-base);background-color:var(--color-primary);color:var(--text-on-primary);cursor:pointer;transition:transform var(--animation-duration) var(--animation-bounce), background-color var(--animation-duration) ease, box-shadow var(--animation-duration) ease;border:none;border-radius:99px;justify-content:center;align-items:center;gap:8px;padding:14px 24px;font-family:inherit;font-weight:700;display:flex;box-shadow:0 4px 12px #00000026}button:hover{filter:brightness(1.1);box-shadow:0 6px 16px #0003}button:active{transform:scale(.95)}button.pulse{animation:2s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(var(--color-primary-rgb), .7);transform:scale(1)}50%{box-shadow:0 0 0 10px rgba(var(--color-primary-rgb), 0);transform:scale(1.03)}to{box-shadow:0 0 0 0 rgba(var(--color-primary-rgb), 0);transform:scale(1)}}.card,.glass-card{background-color:rgba(var(--glass-base-rgb), var(--glass-opacity,.4));-webkit-backdrop-filter:blur(16px);padding:var(--spacing-lg);transition:transform var(--animation-duration) ease, background-color .3s ease;border:1px solid #fff3;border-radius:24px;box-shadow:0 8px 32px #0000001a}.text-truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.avatar{object-fit:cover;border:2px solid #fff;border-radius:50%;width:48px;height:48px;box-shadow:0 2px 8px #0000001a}.badge{background-color:rgba(var(--color-primary-rgb), .1);color:var(--color-primary);border-radius:12px;padding:4px 10px;font-size:.75rem;font-weight:700}.icon-circle{border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;display:flex}.task-item{border-bottom:1px dashed #0000001a;align-items:center;padding:12px 0;display:flex}.theme-vikings .task-item{border-bottom-color:#ffffff1a}.task-item:last-child{border-bottom:none}.custom-checkbox{border:2px solid var(--border-color);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:all .2s;display:flex}.custom-checkbox.checked{background-color:var(--color-approved);border-color:var(--color-approved);color:var(--text-on-primary)}.custom-checkbox.pending{background-color:var(--color-pending);border-color:var(--color-pending);color:var(--text-on-primary)}.swipe-out-left{animation:.15s ease-out forwards swipeOutLeft}.swipe-out-right{animation:.15s ease-out forwards swipeOutRight}.swipe-in{animation:.15s ease-out forwards swipeIn}@keyframes swipeOutLeft{to{opacity:0;transform:translate(-20px)}}@keyframes swipeOutRight{to{opacity:0;transform:translate(20px)}}@keyframes swipeIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.praise-pop{animation:praisePop min(var(--animation-duration,.3s), .4s) ease-out}@keyframes praisePop{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@media (prefers-reduced-motion:reduce){body[class]{--animation-duration:0s}button.pulse,.swipe-out-left,.swipe-out-right,.swipe-in,.praise-pop{animation:none}}
