:root{--font-heading: "Inter", system-ui, -apple-system, sans-serif;--font-body: "DM Sans", system-ui, -apple-system, sans-serif;--text-xs: clamp(.7rem, .65rem + .25vw, .75rem);--text-sm: clamp(.8rem, .75rem + .25vw, .875rem);--text-base: clamp(.9rem, .85rem + .25vw, 1rem);--text-lg: clamp(1.05rem, 1rem + .25vw, 1.125rem);--text-xl: clamp(1.15rem, 1rem + .5vw, 1.25rem);--text-2xl: clamp(1.4rem, 1.15rem + .75vw, 1.5rem);--text-3xl: clamp(1.7rem, 1.3rem + 1vw, 1.875rem);--text-4xl: clamp(2rem, 1.5rem + 1.5vw, 2.25rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.25rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease;--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1);--max-width: 1280px;--header-height: 4rem;--sidebar-width: 320px;--section-gap: var(--space-10)}@media(max-width:768px){:root{--section-gap: var(--space-8)}}:root,.theme-dark{--color-primary: #6366F1;--color-primary-hover: #818CF8;--color-primary-subtle: rgba(99, 102, 241, .15);--color-secondary: #8B5CF6;--color-secondary-hover: #A78BFA;--color-accent: #F97316;--color-accent-hover: #FB923C;--color-bg-primary: #0F0F23;--color-bg-secondary: #1A1A2E;--color-bg-tertiary: #16213E;--color-bg-card: rgba(26, 26, 46, .8);--color-bg-glass: rgba(26, 26, 46, .6);--color-text-primary: #F1F5F9;--color-text-secondary: #94A3B8;--color-text-muted: #64748B;--color-text-inverse: #0F172A;--color-border: rgba(148, 163, 184, .15);--color-border-hover: rgba(148, 163, 184, .3);--color-holiday: #EF4444;--color-holiday-bg: rgba(239, 68, 68, .15);--color-vacation-a: #10B981;--color-vacation-a-bg: rgba(16, 185, 129, .15);--color-vacation-b: #3B82F6;--color-vacation-b-bg: rgba(59, 130, 246, .15);--color-vacation-c: #F59E0B;--color-vacation-c-bg: rgba(245, 158, 11, .15);--color-ephemeris: #8B5CF6;--color-ephemeris-bg: rgba(139, 92, 246, .15);--color-marronnier: #EC4899;--color-marronnier-bg: rgba(236, 72, 153, .15);--color-today: #6366F1;--color-today-bg: rgba(99, 102, 241, .25);--color-weekend: rgba(148, 163, 184, .08);--glass-bg: rgba(26, 26, 46, .7);--glass-border: rgba(148, 163, 184, .12);--glass-blur: blur(20px);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .3);--glow-primary: 0 0 20px rgba(99, 102, 241, .3);--glow-accent: 0 0 20px rgba(249, 115, 22, .3)}.theme-light{--color-primary: #4F46E5;--color-primary-hover: #4338CA;--color-primary-subtle: rgba(79, 70, 229, .1);--color-secondary: #7C3AED;--color-secondary-hover: #6D28D9;--color-accent: #EA580C;--color-accent-hover: #DC2626;--color-bg-primary: #F8FAFC;--color-bg-secondary: #FFFFFF;--color-bg-tertiary: #F1F5F9;--color-bg-card: rgba(255, 255, 255, .9);--color-bg-glass: rgba(255, 255, 255, .7);--color-text-primary: #0F172A;--color-text-secondary: #475569;--color-text-muted: #64748B;--color-text-inverse: #F1F5F9;--color-border: rgba(15, 23, 42, .1);--color-border-hover: rgba(15, 23, 42, .2);--color-holiday: #DC2626;--color-holiday-bg: rgba(220, 38, 38, .1);--color-vacation-a: #059669;--color-vacation-a-bg: rgba(5, 150, 105, .1);--color-vacation-b: #2563EB;--color-vacation-b-bg: rgba(37, 99, 235, .1);--color-vacation-c: #D97706;--color-vacation-c-bg: rgba(217, 119, 6, .1);--color-ephemeris: #7C3AED;--color-ephemeris-bg: rgba(124, 58, 237, .1);--color-marronnier: #DB2777;--color-marronnier-bg: rgba(219, 39, 119, .1);--color-today: #4F46E5;--color-today-bg: rgba(79, 70, 229, .15);--color-weekend: rgba(15, 23, 42, .03);--glass-bg: rgba(255, 255, 255, .8);--glass-border: rgba(15, 23, 42, .08);--glass-blur: blur(20px);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .08);--glow-primary: 0 0 20px rgba(79, 70, 229, .15);--glow-accent: 0 0 20px rgba(234, 88, 12, .15);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -2px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .06);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 8px 10px -6px rgba(0, 0, 0, .06)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;overflow-x:hidden}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;color:var(--color-text-primary);background-color:var(--color-bg-primary);min-height:100vh;overflow-x:hidden;transition:background-color var(--transition-slow),color var(--transition-slow)}img,svg{display:block;max-width:100%}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2;color:var(--color-text-primary)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}p{color:var(--color-text-secondary);line-height:1.7}small{font-size:var(--text-sm);color:var(--color-text-muted)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--color-primary-subtle);color:var(--color-text-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}#app{display:flex;flex-direction:column;min-height:100vh}.header{position:fixed;top:var(--space-3);left:var(--space-3);right:var(--space-3);z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-6);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);transition:background var(--transition-slow),border-color var(--transition-slow)}.header__top{display:flex;align-items:center;gap:var(--space-2)}.header__logo{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:800;color:var(--color-text-primary);letter-spacing:-.02em}.header__logo-icon{width:28px;height:28px;color:var(--color-primary)}.btn.header__menu-btn{display:none}.header__collapse{display:flex;align-items:center;gap:var(--space-3);flex:1;justify-content:flex-end}.header__nav,.header__actions{display:flex;align-items:center;gap:var(--space-3)}.main{flex:1;display:flex;flex-direction:column;gap:var(--section-gap);padding-top:calc(var(--header-height) + var(--space-10));padding-inline:var(--space-4);padding-bottom:var(--space-12);max-width:var(--max-width);margin:0 auto;width:100%}.footer{padding:var(--space-6) var(--space-4);text-align:center;border-top:1px solid var(--color-border)}.footer__content{max-width:var(--max-width);margin:0 auto}.footer a{color:var(--color-text-muted);transition:color var(--transition-fast)}.footer a:hover{color:var(--color-primary)}@media(max-width:480px){.main{padding-inline:var(--space-2)}}@media(min-width:1440px){:root{--max-width: 1400px}}@media(max-width:1024px),(max-height:600px){:root{--header-height: 4rem}.main{padding-top:calc(var(--header-height) + var(--section-gap));gap:var(--section-gap)}.header{position:fixed;top:0!important;left:0!important;right:0!important;border-radius:0!important;border-top:none!important;border-left:none!important;border-right:none!important;padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;z-index:1000;max-height:100vh;overflow-y:auto}@media(max-height:500px){.header{padding:var(--space-2) var(--space-4)}.header__logo{font-size:var(--text-sm)}}.header__top{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:32px}.header__logo{font-size:var(--text-base);font-weight:800}.btn.header__menu-btn{display:flex!important;width:36px;height:36px;padding:0}.header__collapse{display:none;flex-direction:column;width:100%;margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--glass-border);gap:var(--space-4);padding-bottom:var(--space-4)}.header__collapse.is-open{display:flex!important}.header__nav{flex-direction:column;width:100%;align-items:stretch;gap:var(--space-2)}.header__nav .btn{width:100%;justify-content:center;height:40px}.header__dropdown{width:100%}.header__dropdown-menu{position:static!important;width:100%!important;margin-top:var(--space-2)!important;box-shadow:none!important;border-radius:var(--radius-md)!important;background:var(--color-bg-tertiary)!important;display:none}.header__dropdown-menu.is-visible{display:flex!important}.header__dropdown-item{padding:var(--space-3)!important;border-bottom:1px solid var(--color-border)}.header__dropdown-item:last-child{border-bottom:none}.header__actions{width:100%;justify-content:center;gap:var(--space-6);padding-top:var(--space-2);border-top:1px solid var(--glass-border)}}.card{background:var(--color-bg-card);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-5);transition:border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}.card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-lg)}.card--interactive{cursor:pointer}.card--interactive:hover{transform:translateY(-2px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:var(--font-heading);font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-lg);transition:all var(--transition-base);white-space:nowrap;cursor:pointer}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover{background:var(--color-primary-hover);box-shadow:var(--glow-primary)}.btn--ghost{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn--ghost:hover{background:var(--color-primary-subtle);color:var(--color-primary);border-color:var(--color-primary)}.btn--outline{background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn--outline:hover{background:var(--color-primary-subtle);border-color:var(--color-primary);color:var(--color-primary)}.btn--icon{padding:var(--space-2);border-radius:var(--radius-md);width:36px;height:36px}.btn--icon svg{width:18px;height:18px}.btn--sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);height:32px}.btn--loading{opacity:.8;cursor:default;pointer-events:none}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.toggle{display:flex;align-items:center;gap:var(--space-3);cursor:pointer;user-select:none}.toggle__track{position:relative;width:44px;height:24px;background:var(--color-border);border-radius:var(--radius-full);transition:background var(--transition-base);flex-shrink:0}.toggle__thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;background:var(--color-text-primary);border-radius:var(--radius-full);transition:transform var(--transition-spring);box-shadow:var(--shadow-sm)}.toggle--active .toggle__track{background:var(--color-primary)}.toggle--active .toggle__thumb{transform:translate(20px);background:#fff}.toggle__label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);transition:color var(--transition-fast)}.toggle--active .toggle__label{color:var(--color-text-primary)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-full);white-space:nowrap}.badge--holiday{background:var(--color-holiday-bg);color:var(--color-holiday)}.badge--vacation-a{background:var(--color-vacation-a-bg);color:var(--color-vacation-a)}.badge--vacation-b{background:var(--color-vacation-b-bg);color:var(--color-vacation-b)}.badge--vacation-c{background:var(--color-vacation-c-bg);color:var(--color-vacation-c)}.badge--ephemeris{background:var(--color-ephemeris-bg);color:var(--color-ephemeris)}.badge--marronnier{background:var(--color-marronnier-bg);color:var(--color-marronnier)}.badge--marronnier svg{animation:twinkle 2s infinite ease-in-out}@keyframes twinkle{0%,to{transform:scale(1) rotate(0);filter:brightness(1) drop-shadow(0 0 0px var(--color-marronnier))}50%{transform:scale(1.2) rotate(15deg);filter:brightness(1.3) drop-shadow(0 0 4px var(--color-marronnier))}}.countdown-card{text-align:center}.countdown-card__title{font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--space-3);display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.countdown-card__grid{display:flex;justify-content:center;gap:var(--space-3)}.countdown-card__unit{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.countdown-card__value{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:800;color:var(--color-primary);min-width:56px;padding:var(--space-2);background:var(--color-primary-subtle);border-radius:var(--radius-lg);transition:transform var(--transition-spring)}.countdown-card__label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}@media(max-width:400px){.countdown-card__grid{gap:var(--space-2)}.countdown-card__value{min-width:48px;padding:var(--space-1);font-size:1.25rem}}.countdown-card__footer{margin-top:var(--space-4);display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.countdown-card__illustration{font-size:4.5rem;line-height:1;height:80px;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-2);filter:drop-shadow(0 6px 12px rgba(0,0,0,.15));transition:transform var(--transition-spring)}.countdown-card:hover .countdown-card__illustration{transform:scale(1.2) rotate(5deg)}.countdown-card__event{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:600}.moon-container{height:80px;margin-bottom:var(--space-2);display:flex;justify-content:center;align-items:center;perspective:1000px}.anim-full-moon{width:72px;height:72px;filter:drop-shadow(0 8px 16px rgba(148,163,184,.2));transition:filter .3s ease}:root[data-theme=dark] .anim-full-moon{filter:drop-shadow(0 0 20px rgba(248,250,252,.15))}@media(prefers-color-scheme:dark){.anim-full-moon{filter:drop-shadow(0 0 20px rgba(248,250,252,.15))}}.vacation-countdowns{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-2)}.zone-row{display:flex;background:var(--color-bg-tertiary);border-radius:var(--radius-lg);overflow:hidden;min-height:80px}.zone-label{width:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;writing-mode:vertical-rl;transform:rotate(180deg);font-weight:700;font-size:var(--text-xs);text-transform:uppercase;color:#fff;padding:var(--space-2)}.zone-label span{font-size:var(--text-base)}.zone-content{flex:1;display:flex;flex-direction:column;justify-content:center;padding:var(--space-2) var(--space-4);text-align:left}.zone-title{font-size:11px;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-2);opacity:.9}.zone-a .zone-label{background:#f97316}.zone-a{background:#f973161f;border:1px solid rgba(249,115,22,.2)}.zone-b .zone-label{background:#0ea5e9}.zone-b{background:#0ea5e91f;border:1px solid rgba(14,165,233,.2)}.zone-c .zone-label{background:#84cc16}.zone-c{background:#84cc161f;border:1px solid rgba(132,204,22,.2)}.countdown-card__grid--sm{gap:var(--space-4);justify-content:flex-start!important}.countdown-card__grid--sm .countdown-card__unit{align-items:center}.countdown-card__grid--sm .countdown-card__value{font-size:var(--text-2xl);min-width:auto;padding:0;background:transparent;font-weight:800;line-height:1;color:var(--color-text-primary)}.countdown-card__grid--sm .countdown-card__label{font-size:11px;color:var(--color-text-secondary)}.filter-bar{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3)}.filter-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-full);border:1px solid var(--color-border);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base);user-select:none}.filter-chip:hover{border-color:var(--color-border-hover)}.filter-chip--active{border-color:transparent}.filter-chip--holiday.filter-chip--active{background:var(--color-holiday-bg);color:var(--color-holiday);border-color:var(--color-holiday)}.filter-chip--vacation.filter-chip--active{background:var(--color-vacation-a-bg);color:var(--color-vacation-a);border-color:var(--color-vacation-a)}.filter-chip--ephemeris.filter-chip--active{background:var(--color-ephemeris-bg);color:var(--color-ephemeris);border-color:var(--color-ephemeris)}.filter-chip--marronnier.filter-chip--active{background:var(--color-marronnier-bg);color:var(--color-marronnier);border-color:var(--color-marronnier)}.filter-chip__dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.theme-toggle{position:relative;width:40px;height:40px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;transition:all var(--transition-base);cursor:pointer;overflow:hidden}.theme-toggle:hover{background:var(--color-primary-subtle)}.theme-toggle svg{width:20px;height:20px;color:var(--color-text-secondary);transition:all var(--transition-spring)}.theme-toggle:hover svg{color:var(--color-primary)}.timezone-list{display:flex;flex-direction:column;gap:var(--space-2)}.timezone-item:hover{background:var(--color-primary-subtle)}.timezone-item__city{font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary)}.personalization-panel{border-top:4px solid var(--color-primary)}.personalization-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border);padding-bottom:var(--space-3);margin-bottom:var(--space-4)}.personalization-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-lg);font-weight:700;color:var(--color-primary)}.personalization-body{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:var(--space-5);margin-bottom:var(--space-5)}@media(max-width:768px){.personalization-body{grid-template-columns:1fr}}.personalization-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-3);font-weight:600}.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.checkbox-list,.radio-list{display:flex;flex-direction:column;gap:var(--space-2)}.custom-checkbox,.custom-radio{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;user-select:none}.custom-checkbox:hover,.custom-radio:hover{color:var(--color-text-primary)}.custom-checkbox input[type=checkbox],.custom-radio input[type=radio]{accent-color:var(--color-primary);width:16px;height:16px;cursor:pointer}.personalization-footer{display:flex;justify-content:flex-end;border-top:1px solid var(--color-border);padding-top:var(--space-4)}.contact-section{display:flex;justify-content:center}.contact-card{max-width:600px;width:100%}.contact-form{display:flex;flex-direction:column;gap:var(--space-4)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.form-group input,.form-group textarea{padding:var(--space-3);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:inherit;font-size:var(--text-base);transition:border-color var(--transition-fast)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary)}.form-group textarea{min-height:120px;resize:vertical}.footer{padding:var(--space-8) 0 var(--space-4);border-top:1px solid var(--color-border)}.footer__content{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center}.footer__links{display:flex;gap:var(--space-4);flex-wrap:wrap;justify-content:center}.footer__link{font-size:var(--text-sm);color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-fast);background:none;border:none;cursor:pointer;padding:0;font-family:inherit}.footer__link:hover{color:var(--color-primary)}.legal-content{line-height:1.6;color:var(--color-text-primary);text-align:left}.legal-content h5{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-base);font-weight:700}.legal-content p{margin-bottom:var(--space-2);font-size:var(--text-sm);opacity:.9}.header__dropdown-menu.is-visible{display:flex!important;animation:slideDown .2s ease-out}.header__dropdown-item{display:block;padding:var(--space-2) var(--space-3);color:var(--color-text-primary);text-decoration:none;font-size:var(--text-sm);border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap}.header__dropdown-item:hover{background:var(--color-primary-subtle);color:var(--color-primary);transform:translate(4px)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.header__dropdown{width:100%}.header__dropdown button{width:100%;justify-content:space-between}.header__dropdown-menu{position:static!important;width:100%!important;box-shadow:none!important;border:none!important;background:var(--color-bg-tertiary)!important;margin-top:var(--space-1)!important}}.calendar-annual-header{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);margin-bottom:var(--space-6);position:relative}.calendar-annual-nav{display:flex;align-items:center;justify-content:center;gap:var(--space-4)}.calendar-annual-actions{display:flex;gap:var(--space-2);flex:none}.calendar-annual-title{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:800}.calendar-annual-wrapper{width:100%}.calendar-annual{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-2)}.calendar-annual__month{background:var(--color-bg-secondary);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.calendar-annual__title{background:#e11d48;color:#fff;font-family:var(--font-heading);text-align:center;padding:var(--space-1);text-transform:uppercase;letter-spacing:.05em;pointer-events:none;display:flex;flex-direction:column;justify-content:center;gap:0;height:42px}.calendar-annual__month-name{font-size:clamp(.5rem,2.8vw,.75rem);font-weight:800;line-height:1.1;white-space:nowrap}.calendar-annual__year-num{font-size:clamp(.45rem,2.2vw,.6rem);font-weight:400;opacity:.85}.calendar-annual__month--miniature{border:1px solid rgba(255,255,255,.15);background:#ffffff0d;box-shadow:0 4px 15px #0000004d;border-radius:var(--radius-lg);transition:transform .2s cubic-bezier(.175,.885,.32,1.275),background .2s ease,border-color .2s ease;overflow:hidden;user-select:none!important;-webkit-user-select:none!important;-webkit-touch-callout:none!important;cursor:pointer}.calendar-annual__month--miniature:active{transform:scale(.95);background:#ffffff1a;border-color:var(--color-primary)}.calendar-annual__list{display:flex;flex-direction:column}.calendar-annual__day-row{display:flex;align-items:center;gap:6px;padding:2px 4px;font-size:10px;border-bottom:1px solid var(--color-border);cursor:pointer;transition:background var(--transition-fast);position:relative;user-select:none;min-height:20px}.calendar-annual__day-row:hover{background:var(--color-primary-subtle)}.calendar-annual__day-row:last-child{border-bottom:none}.cal-day-date{display:flex;gap:4px;width:44px;flex-shrink:0;font-weight:500;color:var(--color-text-primary)}.cal-day-name{width:20px;font-weight:700}.cal-day-num{width:18px;text-align:left}.calendar-annual__day-row--weekend .cal-day-date,.calendar-annual__day-row--holiday .cal-day-date{color:#e53935}.cal-day-content{flex-grow:1;display:flex;align-items:center;gap:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.cal-day-text{overflow:hidden;text-overflow:ellipsis;font-size:10.5px}.calendar-annual--comfort .calendar-annual__day-row{padding:6px 8px;font-size:13px}.calendar-annual--comfort .cal-day-text{font-size:13px}.calendar-annual--comfort .cal-day-date{width:54px}.calendar-annual--comfort .cal-day-name{width:26px}.calendar-annual--comfort .cal-day-num{width:24px}.calendar-annual--comfort .cal-day-icons-inline{font-size:12px}.cal-day-icons-inline{font-size:10px;display:flex;align-items:center;gap:2px}.calendar-annual__day-row--holiday .cal-day-text{color:#e53935;font-weight:700}.calendar-annual__day-row--saint .cal-day-text{color:var(--color-text-secondary)}.cal-day-week{font-size:9px;color:var(--color-text-muted);width:14px;text-align:right;margin-left:auto;margin-right:15px;font-weight:500}.cal-day-vacation-bars{position:absolute;right:0;top:0;bottom:0;width:14px;display:flex;gap:1px}.vacation-bar{width:4px;height:100%}.vacation-bar--zoneA{background:#ffb300}.vacation-bar--zoneB{background:#2196f3}.vacation-bar--zoneC{background:#4caf50}.calendar-annual__day-row--today{background:#2196f333!important;font-weight:700}.calendar-annual__day-row--selected{outline:2px solid var(--color-primary);outline-offset:-2px}.calendar-annual__day-row--pont{background:repeating-linear-gradient(-45deg,rgba(33,150,243,.1),rgba(33,150,243,.1) 4px,transparent 4px,transparent 8px)}.calendar-annual__day-row--we-prolonge{background:repeating-linear-gradient(-45deg,rgba(255,152,0,.08),rgba(255,152,0,.08) 4px,transparent 4px,transparent 8px)}.calendar-annual__day-row--friday13{background-color:#4caf500d}.mobile-month-modal{position:fixed;inset:0;background:var(--color-bg-primary);z-index:9999;overflow-y:hidden;overscroll-behavior:contain;touch-action:pan-y;user-select:none!important;-webkit-user-select:none!important;-webkit-touch-callout:none!important;padding:var(--space-2);display:flex;flex-direction:column;gap:0;animation:slideUp .3s ease-out forwards;scrollbar-width:none;-ms-overflow-style:none}.mobile-month-modal::-webkit-scrollbar{display:none}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutLeft{0%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:0}}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.mobile-month-modal__header{display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:10;background:var(--color-bg-primary);padding-bottom:0;margin-bottom:0}.mobile-month-modal__title{font-size:1.25rem;font-weight:600;text-align:center;flex:1}.mobile-month-modal__slider{flex:1;position:relative;overflow-x:hidden;overflow-y:hidden;display:flex;flex-direction:column;padding-top:4px}.mobile-month-modal__content{flex:1;display:flex;flex-direction:column;position:relative;width:100%;overflow:hidden}.mobile-month-modal__content.sliding{overflow:hidden}.mobile-month-modal__content.sliding--left>.calendar-annual__month{animation:slideInRight .3s ease-out forwards}.mobile-month-modal__content.sliding--left>.mobile-month-modal__sibling{animation:slideOutLeft .3s ease-out forwards;position:absolute;top:0;left:0;width:100%;pointer-events:none}.mobile-month-modal__content.sliding--right>.calendar-annual__month{animation:slideInLeft .3s ease-out forwards}.mobile-month-modal__content.sliding--right>.mobile-month-modal__sibling{animation:slideOutRight .3s ease-out forwards;position:absolute;top:0;left:0;width:100%;pointer-events:none}.mobile-month-modal__content .calendar-annual__month{flex:1;display:flex;flex-direction:column}.day-detail-section{padding:var(--space-5)}.day-detail__header{margin-bottom:var(--space-4)}.day-detail__date{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:800;margin-bottom:2px}.day-detail__sub{font-size:var(--text-sm);color:var(--color-text-muted)}.day-detail__items{display:flex;flex-direction:column;gap:var(--space-2)}.day-detail__item{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-md);font-weight:700}.day-detail__item--holiday{background:var(--color-holiday-bg);color:var(--color-holiday)}.day-detail__item--vacation{background:#e8f5e9;color:#2e7d32;border:1px solid rgba(46,125,50,.1)}.day-detail__item--marronnier{background:var(--color-marronnier-bg);color:var(--color-marronnier);border:1px solid rgba(236,72,153,.2)}.day-detail__row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-md);background:var(--color-bg-tertiary)}.theme-dark .day-detail__row{background:#ffffff0d}@media(max-width:600px){.day-detail__row{flex-direction:column;align-items:flex-start;gap:var(--space-1)}}.theme-dark .day-detail__item--vacation{background:#2e7d3233;color:#81c784}.day-detail__label{font-weight:600;color:var(--color-text-secondary);display:flex;align-items:center;gap:8px}.theme-dark .day-detail__label{color:var(--color-text-secondary)}.day-detail__value{font-weight:700;color:var(--color-text-primary)}.day-detail__row-icon{font-size:1.1em}.day-detail__weather-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:var(--space-2);margin-top:var(--space-2)}@media(max-width:480px){.day-detail__weather-grid{grid-template-columns:1fr 1fr}.day-detail__weather-grid>*:nth-child(5){grid-column:span 2}}.weather-grid__item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center}.theme-dark .weather-grid__item{background:#ffffff0d;border-color:#ffffff1a}.weather-grid__label{font-size:11px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.theme-dark .weather-grid__label{color:var(--color-text-secondary)}.weather-grid__value{font-size:var(--text-sm);font-weight:700;color:var(--color-text-primary)}.weather-city{color:var(--color-primary);cursor:pointer;font-weight:700;text-decoration:none;transition:opacity var(--transition-fast)}.weather-city:hover{opacity:.8;text-decoration:underline}.calendar-legend{margin-top:var(--section-gap);padding:var(--space-6);background:var(--color-bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--color-border)}.legend-title{font-size:.75rem;font-weight:700;margin-bottom:var(--space-6);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.1em;opacity:.6}.legend-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-8)}.legend-group h4{font-size:.875rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-2)}.legend-items{display:flex;flex-direction:column;gap:var(--space-3)}.legend-group--zones{grid-column:1 / -1}.legend-zones-container{display:grid;grid-template-columns:1fr;gap:var(--space-6);align-items:center}@media(min-width:768px){.legend-zones-container{grid-template-columns:1fr 300px}}.legend-map-wrapper{display:flex;justify-content:center;align-items:center}.legend-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-3)}.legend-item{display:flex;align-items:flex-start;gap:12px;font-size:.8125rem;line-height:1.4;color:var(--color-text-secondary)}.legend-box{flex-shrink:0;width:16px;height:16px;border-radius:4px;margin-top:1px}.legend-icon{flex-shrink:0;font-size:13px;line-height:normal;display:flex;align-items:center;justify-content:center}.legend-zoneA{background:#ffb300}.legend-zoneB{background:#2196f3}.legend-zoneC{background:#4caf50}.legend-corse{background:#ed8936}.legend-pont{border:1px solid rgba(139,195,74,.3);background:repeating-linear-gradient(-45deg,rgba(139,195,74,.2),rgba(139,195,74,.2) 2px,transparent 2px,transparent 4px)}.legend-we-prolonge{border:1px solid rgba(155,89,182,.3);background:repeating-linear-gradient(-45deg,rgba(155,89,182,.2),rgba(155,89,182,.2) 2px,transparent 2px,transparent 4px)}@media(max-width:768px)and (orientation:portrait){.calendar-legend{padding:var(--space-4);margin:0}.calendar-annual-header{margin:0}.legend-groups{grid-template-columns:1fr;gap:var(--space-6)}.legend-items-grid{grid-template-columns:1fr 1fr}.calendar-annual{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(6,1fr);gap:12px;min-height:0}.calendar-annual-section{display:flex;flex-direction:column;gap:var(--section-gap);padding:0 var(--space-2);margin-bottom:var(--space-2);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.calendar-annual__list{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:4px 0;flex:1;min-height:0}.calendar-annual__list .calendar-annual__day-row{flex-direction:column;padding:0;min-height:0;justify-content:center;align-items:center;border:none;height:100%;user-select:none!important;-webkit-user-select:none!important;pointer-events:none}.calendar-annual__list .calendar-annual__day-row:first-child{grid-column-start:var(--start-col)}.calendar-annual__list .cal-day-content,.calendar-annual__list .cal-day-week,.calendar-annual__list .cal-day-vacation-bars,.calendar-annual__list .cal-day-name{display:none}.calendar-annual__list .cal-day-num{display:flex;justify-content:center;align-items:center;width:100%;text-align:center;font-size:8px;font-weight:500}.cal-day-dots{display:flex;gap:1.5px;justify-content:center;align-items:center;margin-top:1px}.cal-day-dot{width:3px;height:3px;border-radius:50%}.cal-day-dot--zoneA{background-color:#ffb300}.cal-day-dot--zoneB{background-color:#2196f3}.cal-day-dot--zoneC{background-color:#4caf50}.calendar-annual__day-row--weekend .cal-day-num,.calendar-annual__day-row--holiday .cal-day-num{color:#e11d48}.calendar-annual__day-row--today .cal-day-num{background:var(--color-primary);color:#fff;border-radius:2px}.calendar-annual__month--force-list .calendar-annual__list{display:flex;flex-direction:column;flex:1;padding:0;height:100%;min-height:0;overflow:hidden!important}.calendar-annual__month--force-list .calendar-annual__day-row{display:flex;flex-direction:row;flex:1 1 0%;min-height:0;padding:0 6px;font-size:10.5px;align-items:center;line-height:1;user-select:none!important;-webkit-user-select:none!important;-webkit-touch-callout:none!important}.calendar-annual__month--force-list .cal-day-content,.calendar-annual__month--force-list .cal-day-name,.calendar-annual__month--force-list .cal-day-week,.calendar-annual__month--force-list .cal-day-vacation-bars{display:flex;height:100%;align-items:center}.calendar-annual__month--force-list .cal-day-week{font-size:9px;width:auto;margin-right:18px}.calendar-annual__month--force-list .cal-day-dot{display:none}.calendar-annual__month--force-list .cal-day-num{display:inline;width:auto;text-align:left}.calendar-annual__title{height:auto;padding:4px 0;font-size:.85rem;flex-shrink:0}.calendar-annual__day-row{padding:2px 4px;font-size:10px;min-height:0;line-height:normal}.calendar-annual__month{aspect-ratio:auto;height:100%;display:flex;flex-direction:column;min-height:0;padding:0!important}.cal-day-date{width:auto;gap:0;flex-direction:column;align-items:center}.cal-day-name{width:auto;font-size:7px}.cal-day-num{width:auto}.cal-day-text{font-size:12.5px}}@media(max-width:480px)and (orientation:portrait){.calendar-annual{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr);gap:var(--space-2)}.calendar-annual__title{font-size:.85rem}}.mobile-rotation-hint{display:none}@media(max-width:768px)and (orientation:portrait){.mobile-rotation-hint{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-3);margin:0;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-secondary);font-size:.85rem;font-weight:500;animation:hintPulse 2s infinite ease-in-out}.mobile-rotation-hint svg{width:20px;height:20px;color:var(--color-primary);animation:rotatePhone 4s infinite ease-in-out}@keyframes rotatePhone{0%,10%{transform:rotate(0)}40%,60%{transform:rotate(-90deg)}90%,to{transform:rotate(0)}}@keyframes hintPulse{0%,to{opacity:.85}50%{opacity:1}}}@media(max-height:500px)and (orientation:landscape),(max-width:950px)and (orientation:landscape){.calendar-annual-wrapper{width:100%;padding:0;margin:0}.calendar-annual{min-width:0!important;grid-template-columns:repeat(6,1fr)!important;gap:4px!important;height:auto}.calendar-annual__title{font-size:.7rem;padding:2px;height:auto}.calendar-annual__day-row{padding:1px 2px;min-height:16px;font-size:8px}.cal-day-text{font-size:8px}.cal-day-date{width:25px;font-size:8px;gap:2px}.cal-day-name,.cal-day-num{width:12px}.cal-day-week{font-size:7px;margin-right:4px}.vacation-bar{width:2px}}@media print{.print-hidden,.header,.footer,.countdowns-section,.hero,.personalization-panel,.day-detail-section,.btn,.timezone-section{display:none!important}body,.main,#app{margin:0!important;padding:0!important;background:#fff!important}.main{padding-top:0!important}.calendar-annual-section{margin:0!important}.calendar-annual{grid-template-columns:repeat(6,1fr)!important;gap:4px!important}.card{box-shadow:none!important;border:1px solid #eee!important}.calendar-annual__month{page-break-inside:avoid}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 8px #6366f133}50%{box-shadow:0 0 20px #6366f166}}@keyframes countdownTick{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes moonSpin{0%{background-position:0 0}to{background-position:160px 0}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.animate-fade-in-up{animation:fadeInUp .6s ease forwards}.animate-fade-in{animation:fadeIn .4s ease forwards}.animate-scale-in{animation:scaleIn .4s ease forwards}.animate-slide-left{animation:slideInLeft .5s ease forwards}.animate-slide-right{animation:slideInRight .5s ease forwards}.animate-pulse-glow{animation:pulseGlow 3s ease-in-out infinite}.animate-float{animation:float 4s ease-in-out infinite}@keyframes collapsibleIn{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.animate-collapsible-in{animation:collapsibleIn .3s cubic-bezier(.16,1,.3,1) forwards}.stagger-children>*{opacity:0;animation:fadeInUp .5s ease forwards}.stagger-children>*:nth-child(1){animation-delay:.05s}.stagger-children>*:nth-child(2){animation-delay:.1s}.stagger-children>*:nth-child(3){animation-delay:.15s}.stagger-children>*:nth-child(4){animation-delay:.2s}.stagger-children>*:nth-child(5){animation-delay:.25s}.stagger-children>*:nth-child(6){animation-delay:.3s}.stagger-children>*:nth-child(7){animation-delay:.35s}.stagger-children>*:nth-child(8){animation-delay:.4s}.calendar-enter{animation:slideInRight .35s ease}.calendar-exit{animation:slideInLeft .35s ease reverse}.skeleton{background:linear-gradient(90deg,var(--color-bg-tertiary) 25%,var(--color-border) 50%,var(--color-bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.countdown-flip{animation:countdownTick .3s ease}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.stagger-children>*{opacity:1;animation:none}}.hero{padding:var(--space-8) var(--space-6);background:linear-gradient(135deg,var(--color-primary-subtle),var(--color-bg-secondary));border-radius:var(--radius-2xl);border:1px solid var(--color-border);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-50%;right:-20%;width:400px;height:400px;background:radial-gradient(circle,var(--color-primary-subtle) 0%,transparent 70%);pointer-events:none}.hero__content{position:relative;z-index:1}.hero__date{font-size:var(--text-4xl);font-weight:800;margin-bottom:var(--space-3);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-5)}.hero__btn{padding:var(--space-3) var(--space-6);font-weight:600;border-radius:var(--radius-xl);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.2);transition:all var(--transition-base)}.hero__btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(var(--color-primary-rgb),.3)}.hero__moon{display:flex;align-items:center;gap:var(--space-1)}.hero__sun{display:flex;align-items:center;gap:var(--space-2);color:var(--color-accent)}.hero__sun svg{flex-shrink:0}.countdowns-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}@media(max-width:1024px){.countdowns-grid{grid-template-columns:repeat(2,1fr)}.countdowns-grid>:last-child{grid-column:1 / -1}}@media(max-width:768px){.hero{padding:var(--space-6) var(--space-4)}.hero__date{font-size:var(--text-3xl)}.countdowns-grid{grid-template-columns:1fr;gap:var(--section-gap)}.countdowns-grid>:last-child{grid-column:auto}}@media(max-width:480px){.hero__date{font-size:var(--text-2xl)}}.info-sections{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.info-card{padding:var(--space-5)}.info-card__title{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-4);color:var(--color-text-primary)}.info-card__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.info-stat{padding:var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-md);border-left:3px solid var(--color-primary)}.info-stat__value{display:block;font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:800;color:var(--color-primary);line-height:1.2}.info-stat__label{display:block;font-size:var(--text-xs);color:var(--color-text-secondary);margin-top:var(--space-1)}.info-stat__sub{display:block;font-size:10px;color:var(--color-text-muted);font-style:italic}.info-dates{display:flex;flex-direction:column;gap:var(--space-2)}.info-date-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:background var(--transition-fast)}.info-date-row:hover{background:var(--color-bg-tertiary)}.info-date-row__name{font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary)}.info-date-row__date{font-size:var(--text-sm);color:var(--color-text-muted);white-space:nowrap}.info-progress{display:flex;flex-direction:column;gap:var(--space-4)}.progress-row__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-1)}.progress-row__label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary)}.progress-row__stats{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:700;color:var(--color-text-primary)}.progress-row__bar{width:100%;height:6px;background:var(--color-bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.progress-row__fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));border-radius:var(--radius-full);transition:width 1s ease}.progress-row__remaining{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.timezone-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.timezone-header h4{font-family:var(--font-heading);font-weight:700}.timezone-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:background var(--transition-fast)}.timezone-item:hover{background:var(--color-bg-tertiary)}.timezone-item__info{display:flex;align-items:center;gap:var(--space-2)}.timezone-item__city{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.timezone-item__offset{font-size:var(--text-xs);color:var(--color-text-muted)}.timezone-item__right{display:flex;align-items:center;gap:var(--space-3)}.timezone-item__time{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:700;color:var(--color-primary)}.timezone-item__remove{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--color-text-muted);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);opacity:0}.timezone-item:hover .timezone-item__remove{opacity:1}.timezone-item__remove:hover{background:var(--color-holiday-bg);color:var(--color-holiday)}.modal-overlay{position:fixed;inset:0;z-index:200;background:#00000080;display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:fadeIn .2s ease}.modal{max-width:400px;width:100%;max-height:80vh;overflow-y:auto}.timezone-select-list{display:flex;flex-direction:column;gap:var(--space-2)}.timezone-select-item{width:100%;text-align:center;padding:var(--space-2) var(--space-3)}.btn--sm{padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}@media(max-width:1024px){.info-sections{grid-template-columns:1fr 1fr}.info-sections>:last-child{grid-column:1 / -1}}@media(max-width:768px){.info-sections{grid-template-columns:1fr;gap:var(--section-gap)}.info-card__grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.info-card__grid{grid-template-columns:1fr}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.is-visible .animate-slide-up{animation:slideUp .6s ease forwards;opacity:0}.stagger-items>*:nth-child(1){animation-delay:.1s}.stagger-items>*:nth-child(2){animation-delay:.2s}.stagger-items>*:nth-child(3){animation-delay:.3s}.stagger-items>*:nth-child(4){animation-delay:.4s}.stagger-items>*:nth-child(5){animation-delay:.5s}.stagger-items>*:nth-child(6){animation-delay:.6s}.stagger-items>*:nth-child(7){animation-delay:.7s}.ephemeride-page{--card-shadow: 0 10px 30px -5px rgba(0, 0, 0, .1);--card-shadow-hover: 0 20px 40px -10px rgba(0, 0, 0, .2)}.ephemeride-hero{text-align:center;margin-bottom:var(--space-12);position:relative;padding:var(--space-8) 0}.ephemeride-hero:before{content:"";position:absolute;top:-100px;left:50%;transform:translate(-50%);width:600px;height:600px;background:radial-gradient(circle,var(--color-primary-subtle) 0%,transparent 70%);z-index:-1;opacity:.4}.featured-day{position:relative;background:var(--glass-bg);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);padding:var(--space-8);margin-bottom:var(--space-16);box-shadow:var(--glass-shadow);transition:transform var(--transition-slow),box-shadow var(--transition-slow);overflow:hidden}.featured-day:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.featured-day__badge{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--color-primary-subtle);color:var(--color-primary);padding:var(--space-1) var(--space-4);border-radius:var(--radius-full);font-weight:700;font-size:var(--text-sm);margin-bottom:var(--space-6);text-transform:uppercase;letter-spacing:.05em}.featured-day__content{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media(min-width:768px){.featured-day__content{grid-template-columns:1fr;align-items:center}}.featured-day__main h2{font-size:var(--text-3xl);margin-bottom:var(--space-4);background:linear-gradient(135deg,var(--color-text-primary) 0%,var(--color-primary) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.featured-day__domain{font-weight:600;color:var(--color-accent);margin-bottom:var(--space-2);display:block}.featured-day__event{font-size:var(--text-lg);line-height:1.6;color:var(--color-text-primary)}.almanach-section h2{font-size:var(--text-2xl);margin-bottom:var(--space-8);text-align:center}.month-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-8)}.month-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.month-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg)}.month-card__title{font-size:var(--text-lg);font-weight:800;text-transform:capitalize;margin-bottom:var(--space-6);padding-bottom:var(--space-3);border-bottom:2px solid var(--color-primary-subtle);display:flex;justify-content:space-between;align-items:center}.day-links{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-2)}.day-link{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:var(--radius-md);text-decoration:none;font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary);background:var(--color-bg-tertiary);transition:all var(--transition-fast);border:1px solid transparent}.day-link:hover{background:var(--color-primary-subtle);color:var(--color-primary);transform:scale(1.1);z-index:10}.day-link--today{background:var(--color-primary)!important;color:#fff!important;box-shadow:var(--glow-primary);transform:scale(1.1)}.day-link--has-event{border-color:var(--color-primary-subtle)}.premium-button{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--color-primary);color:#fff;padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);font-weight:700;text-decoration:none;transition:all var(--transition-spring);box-shadow:var(--shadow-md)}.premium-button:hover{transform:scale(1.05);box-shadow:var(--glow-primary)}.premium-button svg{transition:transform var(--transition-base)}.premium-button:hover svg{transform:translate(4px)}
