:root{--ui-primary: #c41e3a;--ui-primary-dark: #a51c30;--ui-primary-light: #fff5f5;--occasion-primary: #c41e3a;--occasion-primary-dark: #a51c30;--occasion-secondary: #1a472a;--occasion-secondary-light: #2d5a3f;--occasion-font: "Caveat", cursive;--page-bg-from: #1a472a;--page-bg-to: #2d5a3f;--bg-gradient: linear-gradient(135deg, var(--page-bg-from) 0%, var(--page-bg-to) 100%);--text-primary: #333;--text-light: #666;--text-white: #fff;--border-light: #e8e8e8;--border-medium: #ddd;--shadow-dark: rgba(0, 0, 0, .3);--bg-surface: #fff;--bg-neutral: #f5f5f5;--bg-neutral-dark: #e0e0e0;--text-muted: #999;--paper-color: #fffbf7;--font-display: var(--occasion-font);--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-handwritten: "Patrick Hand", cursive;--font-logo: "Caveat", cursive;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 48px;--space-10: 64px;--text-xs: 11px;--text-sm: 13px;--text-base: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 26px;--text-3xl: 32px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 50px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .15);--shadow-xl: 0 20px 60px rgba(0, 0, 0, .3);--duration-fast: .15s;--duration-normal: .3s;--duration-slow: .5s;--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--touch-min: 44px;--christmas-green: var(--occasion-secondary);--christmas-green-light: var(--occasion-secondary-light);--christmas-red: var(--occasion-primary);--christmas-red-dark: var(--occasion-primary-dark)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}@media(min-width:768px){*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}}html{height:100%}body{font-family:var(--font-body);min-height:100%;min-height:-webkit-fill-available;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:relative}.bg-themed,.bg-christmas{background:var(--bg-gradient)}*:focus{outline:none}*:focus-visible{outline:2px solid var(--ui-primary, #c41e3a);outline-offset:2px;border-radius:4px}.btn{display:block;width:100%;padding:var(--space-4);border:none;border-radius:var(--radius-md);font-size:var(--text-md);font-weight:600;font-family:inherit;cursor:pointer;transition:all var(--duration-normal) var(--ease-default);-webkit-tap-highlight-color:transparent;min-height:var(--touch-min)}.btn:active{transform:scale(.98)}.btn:focus-visible{outline:2px solid white;outline-offset:2px}.btn-primary{background:linear-gradient(135deg,var(--ui-primary) 0%,var(--ui-primary-dark) 100%);color:#fff;box-shadow:0 4px 16px #c41e3a59}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.auth-slot{position:relative}.auth-signin-btn{padding:var(--space-2) var(--space-4);border:1.5px solid rgba(255,255,255,.3);border-radius:20px;background:#ffffff1a;color:#fff;font-size:var(--text-sm);font-weight:500;font-family:inherit;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all var(--duration-fast);min-height:var(--touch-min);display:inline-flex;align-items:center}.auth-signin-btn:hover{background:#fff3;border-color:#ffffff80}button.auth-user,.auth-user{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;padding:6px 12px 6px 6px;border-radius:var(--radius-xl);border:1.5px solid rgba(255,255,255,.2);background:#ffffff14;transition:all var(--duration-fast);min-height:var(--touch-min);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:inherit;text-align:left}.auth-user:hover{background:#ffffff26;border-color:#ffffff59}.auth-chevron{color:#ffffff80;margin-left:2px;transition:transform var(--duration-fast)}.auth-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.3)}.auth-avatar.auth-initial{display:flex;align-items:center;justify-content:center;background:var(--ui-primary, #c41e3a);color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--text-base);font-weight:600}.auth-name{color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--text-sm);font-weight:500}.auth-dropdown{display:none;position:absolute;top:100%;right:0;margin-top:var(--space-2);background:var(--bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:160px;padding:6px;z-index:1000}.auth-dropdown.show{display:block}.auth-dropdown-item{display:block;width:100%;padding:10px 14px;border:none;background:none;color:var(--text-primary);font-size:var(--text-base);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;text-align:left;text-decoration:none;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast);min-height:var(--touch-min)}.auth-dropdown-item:hover{background:var(--bg-neutral)}.auth-slot--light .auth-signin-btn{background:#0000000f;border-color:#00000026;color:var(--text-primary);-webkit-backdrop-filter:none;backdrop-filter:none}.auth-slot--light .auth-signin-btn:hover{background:#0000001a;border-color:#00000040}.auth-slot--light .auth-user{background:#0000000a;border-color:#0000001f}.auth-slot--light .auth-user:hover{background:#00000014;border-color:#0003}.auth-slot--light .auth-name{color:var(--text-primary)}.auth-slot--light .auth-chevron{color:#0006}.auth-slot--light .auth-avatar{border-color:#00000026}.loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.loading-spinner--dark{border-color:#0000001a;border-top-color:var(--ui-primary, #c41e3a)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.logo{font-family:var(--font-logo);font-size:var(--text-2xl);font-weight:700;letter-spacing:-.5px;color:#ffffffb3}.hidden{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:359px){:root{--text-xs: 10px;--text-sm: 12px;--text-base: 13px;--text-md: 15px}}@media(min-width:768px){:root{--text-lg: 20px;--text-xl: 24px;--text-2xl: 28px;--text-3xl: 36px}}
