*{margin:0;padding:0;box-sizing:border-box}html{font-size:100%}:root{--ro-blue:#002B7F;--ro-yellow:#FCD116;--ro-red:#CE1126;--primary:#002B7F;--secondary:#CE1126;--accent:#FCD116;--accent-dark:#cabdaf;--bg-light:#f8f9fa;--bg-white:#ffffff;--text-dark:#212529;--text-muted:#6c757d;--border:#dee2e6;--holiday-color:#CE1126;--weekend-color:#e3f2fd;--suggested-color:#FCD116;--regular-color:#ffffff;--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;--font-size-base:16px;--cal-padding:2px;--cal-day-padding:3px;--cal-day-font-size:0.8rem;--cal-day-font-weight:600;--cal-day-border-radius:4px;--cal-day-gap:1px;--cal-month-padding:8px;--cal-shadow:0 1px 4px rgba(0, 0, 0, 0.1);--cal-day-min-height:30px;--cal-header-font-size:0.65rem}body[data-theme^=bold-]{--cal-padding:2px;--cal-day-padding:2px;--cal-day-font-size:0.7rem;--cal-day-font-weight:450;--cal-day-border-radius:4px;--cal-day-gap:2px;--cal-month-padding:8px;--cal-shadow:0 6px 8px rgba(0, 0, 0, 0.191);--cal-day-min-height:26px;--cal-header-font-size:0.55rem}body[data-theme=bold-colorful]{--holiday-color:#FF1744;--weekend-color:#B2EBF2;--suggested-color:#FFD700;--regular-color:#FAFAFA;background:rgba(226,206,177,.081)}body[data-theme=bold-ocean]{--holiday-color:#0277BD;--weekend-color:#B3E5FC;--suggested-color:#00E5FF;--regular-color:#E1F5FE;background:linear-gradient(180deg,#e0f7fa 0,#b2ebf2 50%,#e1f5fe 100%)}body[data-theme=bold-sunset]{--holiday-color:#E65100;--weekend-color:#FFCCBC;--suggested-color:#FF6F00;--regular-color:#FFF8E1;background:linear-gradient(180deg,#fff8f0 0,#ffe0b2 50%,#ffecb3 100%)}body:not([data-theme]) .calendar-day:not(.empty),body[data-theme^=bold-] .calendar-day:not(.empty){border:2px solid var(--border);box-shadow:0 1px 3px rgba(0,0,0,.1)}body:not([data-theme]) .calendar-day:not(.empty):hover,body[data-theme^=bold-] .calendar-day:not(.empty):hover{transform:scale(1.05);box-shadow:0 2px 6px rgba(0,0,0,.15)}body:not([data-theme]) .calendar-day.holiday,body[data-theme=bold-classic] .calendar-day.holiday{border:2px solid #9a0d1f}body:not([data-theme]) .calendar-day.weekend,body[data-theme=bold-classic] .calendar-day.weekend{border:2px solid #90caf9}body:not([data-theme]) .calendar-day.suggested-day,body[data-theme=bold-classic] .calendar-day.suggested-day{border:3px solid #f0b800}body:not([data-theme]) .calendar-day:not(.empty):hover,body[data-theme=bold-classic] .calendar-day:not(.empty):hover{border-color:var(--primary)}body[data-theme=bold-colorful] .calendar-day.holiday{border:2px solid #c62828;background:linear-gradient(135deg,#ff1744 0,#f50057 100%);color:#fff;box-shadow:0 2px 8px rgba(255,23,68,.4)}body[data-theme=bold-colorful] .calendar-day.weekend{color:#006064}body[data-theme=bold-colorful] .calendar-day.suggested-day{border:2px solid var(--accent);background:var(--accent);color:#645d5d;font-weight:700;box-shadow:0 2px 8px rgba(252,209,22,.5)}body[data-theme=bold-colorful] .calendar-day:not(.empty):not(.holiday):not(.weekend):not(.suggested-day){border:1px solid #e0e0e0;background:linear-gradient(135deg,#fafafa 0,#f5f5f5 100%)}body[data-theme=bold-colorful] .calendar-day:not(.empty):hover{transform:scale(1.08);box-shadow:0 4px 12px rgba(0,0,0,.2)}body[data-theme=bold-ocean] .calendar-day.holiday{border:3px solid #01579b;background:linear-gradient(135deg,#0277bd 0,#0288d1 100%);color:#fff;box-shadow:0 2px 8px rgba(2,119,189,.4)}body[data-theme=bold-ocean] .calendar-day.weekend{border:2px solid #0097a7;background:linear-gradient(135deg,#b3e5fc 0,#81d4fa 100%);color:#006064}body[data-theme=bold-ocean] .calendar-day.suggested-day{border:3px solid #00b8d4;background:linear-gradient(135deg,#00e5ff 0,#00bcd4 100%);color:#006064;box-shadow:0 2px 8px rgba(0,229,255,.5)}body[data-theme=bold-ocean] .calendar-day:not(.empty):not(.holiday):not(.weekend):not(.suggested-day){border:2px solid #b3e5fc;background:linear-gradient(135deg,#e1f5fe 0,#e0f7fa 100%);color:#01579b}body[data-theme=bold-ocean] .calendar-month{background:linear-gradient(135deg,#e0f7fa 0,#b2ebf2 100%)}body[data-theme=bold-sunset] .calendar-day.holiday{border:3px solid #bf360c;background:linear-gradient(135deg,#e65100 0,#ff6f00 100%);color:#fff;box-shadow:0 2px 8px rgba(230,81,0,.4)}body[data-theme=bold-sunset] .calendar-day.weekend{border:2px solid #ff8a65;background:linear-gradient(135deg,#ffccbc 0,#ffab91 100%);color:#bf360c}body[data-theme=bold-sunset] .calendar-day.suggested-day{border:3px solid #ef6c00;background:linear-gradient(135deg,#ff6f00 0,#ffa726 100%);color:#fff;box-shadow:0 2px 8px rgba(255,111,0,.5)}body[data-theme=bold-sunset] .calendar-day:not(.empty):not(.holiday):not(.weekend):not(.suggested-day){border:2px solid #ffe0b2;background:linear-gradient(135deg,#fff8e1 0,#ffecb3 100%);color:#e65100}body[data-theme=bold-sunset] .calendar-month{background:linear-gradient(135deg,#fff3e0 0,#ffe0b2 100%)}body[data-theme=bold-gradient] .calendar-month{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:#fff}body[data-theme=bold-gradient] .calendar-month h3{color:#fff;border-bottom-color:rgba(255,255,255,.5)}body[data-theme=bold-gradient] .calendar-day-header{color:rgba(255,255,255,.9)}body[data-theme=bold-gradient] .calendar-day.holiday{border:3px solid #f093fb;background:linear-gradient(135deg,#f093fb 0,#f5576c 100%);color:#fff;box-shadow:0 2px 8px rgba(240,147,251,.6)}body[data-theme=bold-gradient] .calendar-day.weekend{border:2px solid #4facfe;background:linear-gradient(135deg,#43e97b 0,#38f9d7 100%);color:#1a1a2e}body[data-theme=bold-gradient] .calendar-day.suggested-day{border:3px solid #fa709a;background:linear-gradient(135deg,#fee140 0,#fa709a 100%);color:#1a1a2e;box-shadow:0 2px 8px rgba(250,112,154,.6)}body[data-theme=bold-gradient] .calendar-day:not(.empty):not(.holiday):not(.weekend):not(.suggested-day){border:2px solid rgba(255,255,255,.3);background:linear-gradient(135deg,rgba(255,255,255,.9) 0,rgba(255,255,255,.7) 100%);color:#1a1a2e}body[data-theme=bold-gradient] .calendar-day:not(.empty):hover{transform:scale(1.08) rotate(2deg);box-shadow:0 4px 15px rgba(0,0,0,.3)}body{font-family:var(--font-family);font-size:1rem;line-height:1.6;color:var(--text-dark);background-color:var(--bg-light);min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;transition:background .5s}body:not([data-theme]),body[data-theme=bold-classic]{background:linear-gradient(180deg,#f8f9fa 0,#e9ecef 100%)}body[data-theme=bold-gradient]{background:linear-gradient(180deg,#f5f0ff 0,#e8e0ff 50%,#f0e8ff 100%)}.container{max-width:1400px;margin:0 auto;padding:0 var(--spacing-xs);width:100%}header{background:linear-gradient(135deg,var(--ro-blue) 0,var(--ro-red) 100%);color:#fff;padding:var(--spacing-md) 0;text-align:center;box-shadow:0 4px 6px rgba(0,0,0,.1);transition:.3s}body:not([data-theme]) header,body[data-theme=bold-classic] header{background:linear-gradient(135deg,var(--ro-blue) 0,var(--ro-red) 100%)}body[data-theme=bold-colorful] header{background:linear-gradient(135deg,#004f79 0,#00629b 20%,#00acc1 100%);padding:2.5rem 0;border-bottom:4px solid var(--accent-dark)}body[data-theme=bold-ocean] header{background:linear-gradient(135deg,#006064 0,#0277bd 50%,#0288d1 100%);box-shadow:0 4px 12px rgba(2,119,189,.3)}body[data-theme=bold-sunset] header{background:linear-gradient(135deg,#bf360c 0,#e65100 25%,#ff6f00 50%,#ffa726 75%,#ffb74d 100%);box-shadow:0 4px 12px rgba(230,81,0,.3)}body[data-theme=bold-gradient] header{background:linear-gradient(135deg,#667eea 0,#764ba2 50%,#f093fb 100%);box-shadow:0 4px 12px rgba(102,126,234,.4)}header h1{font-size:1.8rem;font-weight:700;margin-bottom:var(--spacing-xs)}body[data-theme=bold-colorful] header h1{color:#f2f5fa;text-shadow:none;font-weight:900;letter-spacing:1px}body[data-theme=bold-gradient] header h1,body[data-theme=bold-ocean] header h1,body[data-theme=bold-sunset] header h1{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.3),0 0 15px rgba(255,255,255,.3);font-weight:900;letter-spacing:1px}body[data-theme=bold-ocean] .calendar-month h3{background:linear-gradient(135deg,#0277bd 0,#0288d1 50%,#03a9f4 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;border-bottom:3px solid #00bcd4}body[data-theme=bold-sunset] .calendar-month h3{background:linear-gradient(135deg,#e65100 0,#ff6f00 50%,#ffa726 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;border-bottom:3px solid #ff6f00}body[data-theme=bold-gradient] .calendar-month h3{background:linear-gradient(135deg,#667eea 0,#764ba2 50%,#f093fb 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;border-bottom:3px solid #764ba2}body:not([data-theme]) .calendar-month h3,body[data-theme=bold-classic] .calendar-month h3{color:var(--primary);border-bottom:3px solid var(--accent)}header .tagline{font-size:1.1rem;opacity:.95}body[data-theme=bold-colorful] header .tagline{color:var(--accent)}.theme-switcher{margin-top:var(--spacing-sm);display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);flex-wrap:wrap}.theme-switcher label{font-size:.9rem;font-weight:600;color:#fff}.theme-select{padding:.5rem 1rem;font-size:.9rem;border:2px solid #fff;border-radius:6px;background:rgba(255,255,255,.95);color:var(--primary);font-weight:600;cursor:pointer;transition:.3s;outline:0}.theme-select:hover{background:#fff;transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.2)}.theme-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(252,209,22,.3)}body[data-theme=bold-colorful] .theme-select{background:rgba(255,255,255,.95);border:2px solid rgba(255,255,255,.9);color:#0097a7}body[data-theme=bold-colorful] .theme-select:hover{background:#fff;box-shadow:0 4px 12px rgba(0,151,167,.3)}body[data-theme=bold-colorful] .theme-select:focus{border-color:#26c6da;box-shadow:0 0 0 3px rgba(38,198,218,.2)}body[data-theme=bold-ocean] .theme-select{background:rgba(225,245,254,.95);color:#0277bd}body[data-theme=bold-ocean] .theme-select:hover{box-shadow:0 4px 12px rgba(2,119,189,.4)}body[data-theme=bold-ocean] .theme-select:focus{border-color:#00e5ff;box-shadow:0 0 0 3px rgba(0,229,255,.3)}body[data-theme=bold-sunset] .theme-select{background:rgba(255,248,240,.95);color:#e65100}body[data-theme=bold-sunset] .theme-select:hover{box-shadow:0 4px 12px rgba(230,81,0,.4)}body[data-theme=bold-sunset] .theme-select:focus{border-color:#ff6f00;box-shadow:0 0 0 3px rgba(255,111,0,.3)}body[data-theme=bold-gradient] .theme-select{background:linear-gradient(135deg,rgba(245,240,255,.95) 0,rgba(232,224,255,.95) 100%);color:#667eea}body[data-theme=bold-gradient] .theme-select:hover{box-shadow:0 4px 12px rgba(102,126,234,.4)}body[data-theme=bold-gradient] .theme-select:focus{border-color:#764ba2;box-shadow:0 0 0 3px rgba(118,75,162,.3)}main{flex:1;padding:var(--spacing-xl) 0}.intro{text-align:center;margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg);max-width:1200px;margin-left:auto;margin-right:auto;padding:var(--spacing-md);border-radius:12px;transition:.3s}.intro h2{font-size:1.2rem;color:var(--primary);transition:color .3s;margin-bottom:var(--spacing-xs)}.intro p{font-size:.95rem;color:var(--text-muted)}body:not([data-theme]) .intro,body[data-theme=bold-classic] .intro{background:rgba(255,255,255,.7);border:2px solid var(--accent)}body:not([data-theme]) .intro h2,body[data-theme=bold-classic] .intro h2{color:var(--primary)}body[data-theme=bold-colorful] .intro{background:rgba(255,255,255,.8);border:2px solid #00acc1}body[data-theme=bold-colorful] .intro h2{color:#00629b;font-weight:900}body[data-theme=bold-ocean] .intro{background:linear-gradient(135deg,rgba(2,119,189,.15) 0,rgba(0,229,255,.15) 100%);border:3px solid #0277bd}body[data-theme=bold-ocean] .intro h2{color:#0277bd}body[data-theme=bold-sunset] .intro{background:linear-gradient(135deg,rgba(230,81,0,.15) 0,rgba(255,111,0,.15) 100%);border:3px solid #e65100}body[data-theme=bold-sunset] .intro h2{color:#e65100}body[data-theme=bold-gradient] .intro{background:linear-gradient(135deg,rgba(102,126,234,.2) 0,rgba(118,75,162,.2) 100%);border:3px solid #764ba2;backdrop-filter:blur(10px)}body[data-theme=bold-gradient] .intro h2{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800}.two-column-layout{display:grid;grid-template-columns:auto auto;gap:var(--spacing-lg);margin-top:var(--spacing-md);max-width:1200px;min-width:320px;margin-left:auto;margin-right:auto;justify-content:center}.calendars-column{display:flex;flex-direction:column;gap:0;align-items:flex-end;width:250px}#calendar-container{width:100%}.info-sidebar{display:flex;flex-direction:column;gap:0;width:250px}.calendar-month{background:var(--bg-white);border-radius:8px;padding:var(--cal-month-padding);box-shadow:var(--cal-shadow);transition:.3s;width:250px;box-sizing:border-box;margin-bottom:var(--spacing-sm);border:1px solid #d4d7da}.calendar-month:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.15)}.calendar-month h3{text-align:center;color:var(--primary);margin-bottom:var(--spacing-xs);font-size:.9rem;padding-bottom:var(--spacing-xs);border-bottom:3px solid var(--accent);font-weight:800;letter-spacing:.5px}body[data-theme=bold-colorful] .calendar-month h3{color:var(--primary);border-bottom:1.5px solid var(--primary);font-weight:900}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--cal-day-gap)}.calendar-day,.calendar-day-header{text-align:center;padding:var(--cal-day-padding);font-size:var(--cal-day-font-size)}.calendar-day-header{font-weight:600;height:18px;color:var(--text-muted);font-size:var(--cal-header-font-size);text-transform:uppercase;letter-spacing:.5px}.calendar-day{background:var(--regular-color);border-radius:var(--cal-day-border-radius);height:22px;display:flex;align-items:center;justify-content:center;transition:.2s;font-weight:var(--cal-day-font-weight)}.calendar-day.weekend{background:var(--weekend-color)}.calendar-day.suggested-day{background:var(--suggested-color);color:var(--text-dark);font-weight:600;border:1px solid #f0b800;position:relative}.calendar-day.holiday{background:var(--holiday-color);color:#fff;font-weight:600}.calendar-day.empty{background:0 0}.calendar-day:not(.empty):hover{opacity:.8;cursor:pointer}.sidebar-card{background:var(--bg-white);border-radius:8px;padding:var(--spacing-sm);box-shadow:0 2px 8px rgba(0,0,0,.08);transition:.3s;width:250px;box-sizing:border-box;overflow-wrap:break-word;word-break:break-word;margin-bottom:var(--spacing-md)}.sidebar-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.12);transform:translateY(-2px)}body:not([data-theme]) .sidebar-card,body[data-theme=bold-classic] .sidebar-card{background:#fff;border:2px solid #e9ecef}body:not([data-theme]) .sidebar-card h3,body[data-theme=bold-classic] .sidebar-card h3{color:var(--primary);border-bottom-color:var(--accent)}body[data-theme=bold-colorful] .sidebar-card{background:#fff;border:2px solid #e9ecef}body[data-theme=bold-colorful] .sidebar-card h3{color:#0097a7;border-bottom:3px solid #26c6da}body[data-theme=bold-colorful] .sidebar-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,151,167,.15);border-color:#00acc1}body[data-theme=bold-ocean] .sidebar-card{background:linear-gradient(135deg,#fff 0,#e1f5fe 100%);border:2px solid #0277bd}body[data-theme=bold-ocean] .sidebar-card h3{color:#0277bd;border-bottom:3px solid #00e5ff}body[data-theme=bold-ocean] .sidebar-card:hover{box-shadow:0 6px 16px rgba(2,119,189,.3)}body[data-theme=bold-sunset] .sidebar-card{background:linear-gradient(135deg,#fff 0,#fff8f0 100%);border:2px solid #e65100}body[data-theme=bold-sunset] .sidebar-card h3{color:#e65100;border-bottom:3px solid #ff6f00}body[data-theme=bold-sunset] .sidebar-card:hover{box-shadow:0 6px 16px rgba(230,81,0,.3)}body[data-theme=bold-gradient] .sidebar-card{background:linear-gradient(135deg,rgba(255,255,255,.95) 0,rgba(245,240,255,.95) 100%);border:2px solid #764ba2;backdrop-filter:blur(10px)}body[data-theme=bold-gradient] .sidebar-card h3{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;border-bottom:3px solid transparent;border-image:linear-gradient(90deg,#667eea,#764ba2,#f093fb) 1}body[data-theme=bold-gradient] .sidebar-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(102,126,234,.4)}.sidebar-card h3{color:var(--primary);margin-bottom:var(--spacing-sm);font-size:.8rem;border-bottom:2px solid var(--accent);padding-bottom:var(--spacing-xs)}.legend-items{display:flex;flex-direction:column;gap:var(--spacing-xs)}.legend-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.7rem}.legend-color{width:20px;height:20px;border-radius:3px;border:1px solid var(--border);flex-shrink:0}.legend-color.holiday{background:var(--holiday-color)}.legend-color.weekend{background:var(--weekend-color)}.legend-color.suggested{background:var(--accent);border:2px solid var(--accent)}.legend-color.regular{background:var(--regular-color)}.holidays-list-card .holiday-item{padding:4px 0;border-bottom:1px solid var(--bg-light);font-size:.65rem}.holidays-list-card .holiday-item:last-child{border-bottom:none}.holidays-list-card .holiday-date{color:var(--secondary);font-weight:600;display:block;font-size:.7rem}.vacation-period-item{padding:8px 0;border-bottom:1px solid var(--bg-light)}.vacation-period-item:last-child{border-bottom:none}.vacation-period-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.vacation-emoji{font-size:1rem}.vacation-title{font-weight:700;color:var(--primary);font-size:.75rem}.vacation-period-details{display:flex;flex-direction:column;gap:2px;margin-left:9px}.vacation-dates{color:var(--primary);font-weight:600;font-size:.7rem}.vacation-stats{color:var(--text-muted);font-size:.65rem}.holidays-list-card .holiday-name{color:var(--text-dark);font-size:.75rem}.tips-card .tip-item{background:var(--bg-light);padding:var(--spacing-xs);border-radius:6px;margin-bottom:var(--spacing-xs);border-left:2px solid var(--accent);font-size:.75rem}.tips-card .tip-item:last-child{margin-bottom:0}.tips-card .tip-title{font-weight:600;color:var(--primary);margin-bottom:4px;font-size:.8rem}.tips-card .tip-description{color:var(--text-muted);line-height:1.3;font-size:.7rem}.stats-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xs)}.stat-item{text-align:center;padding:var(--spacing-xs);background:var(--bg-light);border-radius:6px;transition:transform .2s}.stat-item:hover{transform:scale(1.05)}.stat-number{font-size:1.2rem;font-weight:700;color:var(--secondary);line-height:1}.stat-label{font-size:.55rem;color:var(--text-muted);margin-top:4px}footer{background:var(--primary);color:#fff;padding:var(--spacing-xl) 0 var(--spacing-md);margin-top:var(--spacing-xl);transition:.3s}body:not([data-theme]) footer,body[data-theme=bold-classic] footer{background:linear-gradient(135deg,#001f5c 0,#002b7f 100%)}body[data-theme=bold-colorful] footer{background:linear-gradient(135deg,#004f79 0,#00629b 20%,#00acc1 100%);border-top:4px solid var(--accent-dark)}body[data-theme=bold-ocean] footer{background:linear-gradient(135deg,#004d56 0,#01579b 50%,#0277bd 100%);box-shadow:0 -4px 12px rgba(2,119,189,.2)}body[data-theme=bold-sunset] footer{background:linear-gradient(135deg,#8c3500 0,#bf360c 50%,#e65100 100%);box-shadow:0 -4px 12px rgba(230,81,0,.2)}body[data-theme=bold-gradient] footer{background:linear-gradient(135deg,#4a5fb8 0,#5a3d7a 50%,#764ba2 100%);box-shadow:0 -4px 12px rgba(102,126,234,.3)}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.footer-section h4{margin-bottom:var(--spacing-sm);color:var(--accent)}.footer-section ul{list-style:none;font-size:.85rem}.footer-section a{color:#fff;text-decoration:none;transition:color .2s;font-size:.85rem}.footer-section p{font-size:.85rem}.footer-section a:hover{color:var(--accent)}.footer-bottom{text-align:center;padding-top:var(--spacing-md);border-top:1px solid rgba(255,255,255,.2);opacity:.8;font-size:.85rem}.loading{text-align:center;padding:var(--spacing-xl);color:var(--text-muted);font-size:1.1rem}@media (min-width:1280px){html{font-size:120%}.calendar-month,.calendars-column,.info-sidebar,.sidebar-card{width:335px}}@media (min-width:1025px) and (max-width:1280px){html{font-size:120%}.calendar-month,.calendars-column,.info-sidebar,.sidebar-card{width:305px}}@media (min-width:768px) and (max-width:1024px){html{font-size:110%}.two-column-layout{gap:var(--spacing-md);padding:0 var(--spacing-sm)}}@media (max-width:767px){.two-column-layout{gap:var(--spacing-md);padding:0 var(--spacing-sm)}}@media (max-width:600px){.two-column-layout{gap:var(--spacing-md);padding:0 var(--spacing-sm)}.calendar-month,.calendars-column,.info-sidebar,.sidebar-card{width:220px}}@media (max-width:480px){header h1{font-size:1.5rem;font-size:1.71rem}header .tagline{font-size:.9rem}.theme-switcher{margin-top:.75rem;gap:.25rem}.theme-switcher label{font-size:.8rem}.theme-select{padding:.4rem .75rem;font-size:.8rem}.two-column-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--spacing-xs);max-width:100%;padding:0 4px;justify-content:stretch}.calendars-column,.info-sidebar{width:100%;overflow:hidden}.intro{padding:7px var(--spacing-xs)}.intro h2{font-size:1.2rem}.intro p{font-size:.85rem}.calendar-month{width:100%;max-width:100%;min-width:140px;padding:5px;box-sizing:border-box;margin-bottom:6px}.calendar-month h3{font-size:.8rem;margin-bottom:3px;padding-bottom:2px}.calendar-days{gap:1px}.calendar-day-header{font-size:.55rem}.calendar-day{font-size:.55rem;min-height:18px}.sidebar-card{width:100%;padding:6px}.sidebar-card h3{font-size:.8rem;font-size:.7rem;margin-bottom:4px;padding-bottom:2px}.stats-content{grid-template-columns:1fr;gap:4px}.holidays-list-card .holiday-item,.legend-item,.tips-card .tip-item{font-size:.65rem}.legend-color{width:16px;height:16px}.stat-item{padding:4px}.stat-number{font-size:1.2rem}.stat-label{font-size:.55rem}html{font-size:87.5%}.calendar-day-header{font-size:.48rem;padding:1px;height:14px}.calendar-day{font-size:.7rem;padding:1px;height:16px}}@media (max-width:400px){.two-column-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--spacing-xs);padding:0 2px}.calendar-month{width:100%;max-width:100%;min-width:110px;padding:3px;box-sizing:border-box}.calendar-month h3{font-size:.8rem}.calendar-day-header{font-size:.48rem;padding:1px;height:12px}.calendar-day{font-size:.7rem;height:14px}.sidebar-card{width:100%;padding:4px}.sidebar-card h3{font-size:.7rem;margin-bottom:4px;padding-bottom:2px}}@media print{.holiday-tips,footer,header{display:none}.calendar-grid{gap:var(--spacing-sm)}.calendar-month{box-shadow:none;border:1px solid var(--border);page-break-inside:avoid}}