:root{--bg: #fafafa;--bg-elevated: #ffffff;--bg-card: #ffffff;--text-primary: #1d1d1f;--text-secondary: #86868b;--text-tertiary: #a1a1a6;--border: #e5e5e7;--border-light: #f0f0f2;--accent-blue: #007AFF;--accent-blue-hover: #0051D5;--accent-red: #FF3B30;--accent-green: #34C759;--accent-purple: #AF52DE;--accent-gray: #8E8E93;--accent-orange: #FF9500;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08), 0 1px 3px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .1), 0 2px 8px rgba(0, 0, 0, .08);--shadow-xl: 0 8px 32px rgba(0, 0, 0, .12), 0 4px 16px rgba(0, 0, 0, .1);--shadow-hover: 0 6px 20px rgba(0, 0, 0, .12), 0 2px 8px rgba(0, 0, 0, .08);--modal-overlay: rgba(0, 0, 0, .5);--day-hover: rgba(0, 122, 255, .12);--day-events-bg: linear-gradient(135deg, rgba(255, 100, 80, .35), rgba(255, 149, 0, .35));--day-events-hover: linear-gradient(135deg, rgba(255, 100, 80, .5), rgba(255, 149, 0, .5));--day-selected: rgba(0, 122, 255, .2);--transition-base: .2s ease;--transition-smooth: .3s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.34, 1.56, .64, 1)}[data-theme=dark]{--bg: #0a0a0a;--bg-elevated: #1c1c1e;--bg-card: #1c1c1e;--text-primary: #ffffff;--text-secondary: #98989d;--text-tertiary: #636366;--border: #2c2c2e;--border-light: #38383a;--accent-blue: #0a84ff;--accent-blue-hover: #409cff;--accent-red: #ff453a;--accent-green: #30d158;--accent-purple: #bf5af2;--accent-gray: #8e8e93;--accent-orange: #ff9f0a;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 2px 8px rgba(0, 0, 0, .5), 0 1px 3px rgba(0, 0, 0, .4);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .6), 0 2px 8px rgba(0, 0, 0, .5);--shadow-xl: 0 8px 32px rgba(0, 0, 0, .7), 0 4px 16px rgba(0, 0, 0, .6);--shadow-hover: 0 6px 20px rgba(0, 0, 0, .6), 0 2px 8px rgba(0, 0, 0, .5);--modal-overlay: rgba(0, 0, 0, .7);--day-hover: rgba(10, 132, 255, .2);--day-events-bg: linear-gradient(135deg, rgba(255, 149, 0, .4), rgba(255, 69, 58, .4));--day-events-hover: linear-gradient(135deg, rgba(255, 149, 0, .55), rgba(255, 69, 58, .55));--day-selected: rgba(10, 132, 255, .3)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0a0a0a;--bg-elevated: #1c1c1e;--bg-card: #1c1c1e;--text-primary: #ffffff;--text-secondary: #98989d;--text-tertiary: #636366;--border: #2c2c2e;--border-light: #38383a;--accent-blue: #0a84ff;--accent-blue-hover: #409cff;--accent-red: #ff453a;--accent-green: #30d158;--accent-purple: #bf5af2;--accent-gray: #8e8e93;--accent-orange: #ff9f0a;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 2px 8px rgba(0, 0, 0, .5), 0 1px 3px rgba(0, 0, 0, .4);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .6), 0 2px 8px rgba(0, 0, 0, .5);--shadow-xl: 0 8px 32px rgba(0, 0, 0, .7), 0 4px 16px rgba(0, 0, 0, .6);--shadow-hover: 0 6px 20px rgba(0, 0, 0, .6), 0 2px 8px rgba(0, 0, 0, .5);--modal-overlay: rgba(0, 0, 0, .7);--day-hover: rgba(10, 132, 255, .2);--day-events-bg: linear-gradient(135deg, rgba(255, 149, 0, .4), rgba(255, 69, 58, .4));--day-events-hover: linear-gradient(135deg, rgba(255, 149, 0, .55), rgba(255, 69, 58, .55));--day-selected: rgba(10, 132, 255, .3)}}*{box-sizing:border-box}body{margin:0;padding:0;background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,system-ui,sans-serif;color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;width:100%}a{color:var(--accent-blue);text-decoration:none;transition:opacity var(--transition-base)}a:hover{opacity:.8}#root{min-height:100vh;padding:32px 20px;width:100%;overflow-x:hidden;box-sizing:border-box}.app-header{max-width:1200px;margin:0 auto 48px;padding:0 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;position:relative;width:100%;box-sizing:border-box}.app-title-container{display:flex;align-items:center;gap:16px;cursor:pointer;transition:all var(--transition-smooth)}.app-title-container:hover{transform:translateY(-2px)}.app-title-container:hover .app-title{background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.app-logo{width:80px;height:80px;color:var(--text-primary);transition:all var(--transition-smooth);flex-shrink:0}.app-title-container:hover .app-logo{color:var(--accent-blue);transform:scale(1.05)}.app-title{font-size:48px;font-weight:800;letter-spacing:-1px;color:var(--text-primary);margin:0;line-height:1;transition:all var(--transition-smooth);background:linear-gradient(135deg,var(--text-primary),var(--text-primary));-webkit-background-clip:text;background-clip:text}.header-twitter-link{color:var(--accent-blue);text-decoration:none;font-size:15px;font-weight:600;padding:6px 16px;border-radius:20px;background:#007aff14;transition:all var(--transition-smooth)}.header-twitter-link:hover{background:#007aff26;transform:translateY(-1px)}.theme-toggle{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;width:52px;height:52px;display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--text-primary);cursor:pointer;transition:all var(--transition-smooth);padding:0;line-height:1;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-sm)}.theme-toggle:hover{background:var(--bg-elevated);border-color:var(--accent-blue);transform:translateY(-2px) rotate(15deg);box-shadow:var(--shadow-md)}.theme-toggle:active{transform:translateY(0) scale(.95)}.calendar-container{max-width:1500px;margin:0 auto;width:100%;padding:0 16px}.calendar-layout{display:grid;grid-template-columns:1fr 490px;gap:32px;align-items:start;max-width:1400px;margin:0 auto}.sidebar-container{margin-left:24px;height:1200px;display:flex;flex-direction:column}.calendar-main{display:flex;justify-content:center}.view-all-months-icon{font-size:11px;line-height:1}.sidebar-header{display:flex;align-items:center;justify-content:center;padding:16px;background:var(--bg-card);border:1px solid var(--border-light);border-radius:16px 16px 0 0;flex-shrink:0;box-shadow:var(--shadow-sm)}.month-selector{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:16px;background:var(--bg-card);border-left:1px solid var(--border-light);border-right:1px solid var(--border-light);flex-shrink:0}.month-selector-button{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 4px;font-size:12px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-smooth);text-align:center}.month-selector-button:hover{background:var(--day-hover);border-color:var(--accent-blue);color:var(--accent-blue);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.month-selector-button-active{background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));border-color:transparent;color:#fff;font-weight:700;box-shadow:var(--shadow-md)}.month-selector-button-active:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.year-controls{display:flex;align-items:center;justify-content:center;gap:8px}.year-dropdown{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:8px 36px 8px 16px;font-size:18px;font-weight:700;letter-spacing:-.3px;color:var(--text-primary);cursor:pointer;transition:all var(--transition-smooth);box-shadow:var(--shadow-sm);min-width:120px;text-align:center;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.year-dropdown:hover{background-color:var(--accent-blue);color:#fff;border-color:var(--accent-blue);box-shadow:var(--shadow-md);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23fff' d='M6 9L1 4h10z'/%3E%3C/svg%3E")}.year-dropdown:focus{outline:2px solid var(--accent-blue);outline-offset:2px}.year{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;width:100%;max-width:800px;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative}.year-zoomed{grid-template-columns:1fr;max-width:600px}.month-wrapper{transition:all .4s cubic-bezier(.4,0,.2,1);transform-origin:center;position:relative}.month-wrapper.month-hidden{opacity:0;transform:scale(.8);pointer-events:none;position:absolute;width:0;height:0;overflow:hidden;visibility:hidden}.month-wrapper.month-selected{transform:scale(1.05)}.month{background:var(--bg-card);border-radius:20px;padding:24px;box-shadow:var(--shadow-md);border:1px solid var(--border-light);transition:all var(--transition-smooth);width:100%;max-width:100%;overflow:hidden}.month:hover{box-shadow:var(--shadow-hover);transform:translateY(-4px);border-color:var(--border)}.month-past,.month-future{opacity:.6}.month-title-container{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;cursor:pointer}.month-title{font-size:26px;font-weight:600;letter-spacing:-.3px;margin:0;color:var(--text-primary)}.view-all-months-button-month{background:transparent;border:none;color:var(--text-secondary);font-size:32px;line-height:1;cursor:pointer;transition:all var(--transition-smooth);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;flex-shrink:0}.view-all-months-button-month:hover{background:var(--bg);color:var(--text-primary)}.weekday-header{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:8px}.weekday-cell{font-size:12px;font-weight:600;color:var(--text-secondary);text-align:center;padding:4px 0;text-transform:uppercase;letter-spacing:.5px}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.day-cell{width:100%;aspect-ratio:1;max-width:36px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;transition:all var(--transition-smooth);cursor:pointer;padding:0;overflow:hidden;box-sizing:border-box;border:1px solid transparent}.day-cell:hover{background:var(--day-hover);transform:scale(1.08);border-color:var(--border)}.day-cell.day-has-events{cursor:pointer;background:var(--day-events-bg);border-color:var(--accent-orange);font-weight:600}.day-cell.day-has-events:hover{background:var(--day-events-hover);transform:scale(1.12);box-shadow:var(--shadow-sm)}.day-cell.day-hovered{background:#007aff26;box-shadow:0 0 0 2px var(--accent-blue);transform:scale(1.05);z-index:10}.day-cell.day-today{background:var(--accent-blue)}.day-cell.day-today .day-number{color:#fff;font-weight:600}.day-number{font-size:14px;font-weight:400;color:var(--text-primary);line-height:1.1;margin:0;flex-shrink:0;text-align:center;width:100%;overflow:hidden;text-overflow:ellipsis}.day-cell.day-has-events .day-number{text-decoration:underline}.calendar-description{max-width:600px;margin:0 auto 56px;padding:24px 32px;text-align:center;color:var(--text-secondary);font-size:16px;line-height:1.6;width:100%;box-sizing:border-box;background:var(--bg-card);border-radius:16px;border:1px solid var(--border-light);box-shadow:var(--shadow-sm)}.calendar-description p{margin:10px 0}.calendar-description p:first-child{font-weight:600;color:var(--text-primary);font-size:17px}.calendar-description a{color:var(--accent-blue);font-weight:600;text-decoration:none;transition:color var(--transition-base)}.calendar-description a:hover{color:var(--accent-blue-hover)}.modal-overlay{position:fixed;inset:0;z-index:1000;width:100vw;height:100vh;background:var(--modal-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;animation:modal-overlay-appear .2s ease;overflow-y:auto}@keyframes modal-overlay-appear{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-card);border-radius:24px;box-shadow:var(--shadow-xl);border:1px solid var(--border-light);width:100%;max-width:520px;max-height:85vh;display:flex;flex-direction:column;animation:modal-appear .4s cubic-bezier(.34,1.56,.64,1);overflow:hidden}@keyframes modal-appear{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid var(--border)}.modal-title{margin:0;font-size:22px;font-weight:600;letter-spacing:-.3px;color:var(--text-primary)}.modal-header-actions{display:flex;align-items:center;gap:8px}.modal-view-all{background:transparent;color:var(--accent-blue);border:1px solid var(--accent-blue);padding:6px 12px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition-smooth);white-space:nowrap;display:flex;align-items:center;gap:4px}.modal-view-all:hover{background:var(--accent-blue);color:#fff}.modal-view-all-icon{font-size:12px;line-height:1}.modal-close{background:none;border:none;font-size:32px;line-height:1;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.modal-close:hover{background:var(--bg);color:var(--text-primary)}.modal-content{padding:24px;overflow-y:auto;flex:1}.modal-empty{text-align:center;color:var(--text-secondary);font-size:15px;margin:0;padding:40px 0}.modal-events{display:flex;flex-direction:column;gap:16px}.modal-event-item{padding:16px;background:var(--bg);border-radius:12px;border:1px solid var(--border);transition:all var(--transition-smooth)}.modal-event-item-clickable:hover{background:var(--day-hover);border-color:var(--accent-blue);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.modal-event-header{display:flex;align-items:center;gap:12px;margin-bottom:8px;position:relative}.modal-event-category{width:10px;height:10px;border-radius:50%;flex-shrink:0}.modal-event-title{margin:0;font-size:17px;font-weight:600;letter-spacing:-.2px;color:var(--text-primary);word-break:break-word}.modal-event-title a{color:var(--accent-blue);text-decoration:none;transition:opacity .2s ease;font-weight:600}.modal-event-title a:hover{opacity:.8}.modal-event-description{margin:0;font-size:15px;line-height:1.5;color:var(--text-secondary);padding-left:22px;word-break:break-word}.modal-event-description a{color:var(--accent-blue);text-decoration:none;transition:opacity .2s ease}.modal-event-description a:hover{opacity:.8}.events-sidebar-content{background:var(--bg-card);border-radius:0 0 16px 16px;padding:20px 16px 20px 20px;box-shadow:var(--shadow-md);border:1px solid var(--border-light);border-top:none;flex:1;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;display:block}.events-sidebar-content>*{margin-bottom:12px}.events-sidebar-content>*:last-child{margin-bottom:0}.events-sidebar-content::-webkit-scrollbar{width:6px}.events-sidebar-content::-webkit-scrollbar-track{background:transparent;margin:12px 0}.events-sidebar-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px;transition:background .2s ease}.events-sidebar-content::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.sidebar-empty{margin:40px 0;text-align:center;color:var(--text-secondary);font-size:14px}.event-item{transition:all var(--transition-smooth)}.event-item-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.event-item-category{width:6px;height:6px;border-radius:50%;flex-shrink:0}.event-item-title{margin:0;font-size:14px;font-weight:500;color:var(--text-primary);line-height:1.4}.event-item-description{font-size:13px;line-height:1.5;color:var(--text-secondary);margin-top:4px;word-break:break-word}.event-item-description a{color:var(--accent-blue);text-decoration:none;transition:opacity .2s ease}.event-item-description a:hover{opacity:.8}.sidebar-date-group{border-radius:8px;overflow:hidden;transition:all .2s ease}.sidebar-date-group.selected{background:var(--bg);border:2px solid var(--accent-blue);box-shadow:var(--shadow-sm)}.sidebar-date-group:not(.selected){border:1px solid var(--border)}.sidebar-date-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--bg);border-bottom:2px solid var(--border-light);transition:all var(--transition-smooth);cursor:pointer;border-radius:8px 8px 0 0}.sidebar-date-header:hover{background:var(--day-hover);border-bottom-color:var(--accent-blue)}.sidebar-date-group.selected .sidebar-date-header{background:var(--day-selected);border-bottom-color:var(--accent-blue);font-weight:600}.sidebar-date{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.sidebar-event-count{font-size:12px;color:var(--text-secondary);font-weight:500;background:var(--bg-elevated);padding:2px 8px;border-radius:12px;border:1px solid var(--border)}.sidebar-events{padding:10px 12px}.sidebar-event{margin-bottom:10px;padding:14px;background:var(--bg);border-radius:12px;border:1px solid var(--border-light);cursor:pointer;transition:all var(--transition-smooth);box-shadow:var(--shadow-sm)}.sidebar-event:hover{background:var(--bg-elevated);border-color:var(--accent-blue);transform:translateY(-2px) scale(1.02);box-shadow:var(--shadow-hover)}.sidebar-event:last-child{margin-bottom:0}.sidebar-event-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.sidebar-event-category{width:8px;height:8px;border-radius:50%;flex-shrink:0}.sidebar-event-title{margin:0;font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.3;word-break:break-all;overflow-wrap:break-word}.sidebar-event-description{font-size:12px;color:var(--text-secondary);line-height:1.4;margin:0;word-break:break-all;overflow-wrap:break-word}.sidebar-event-description a{color:var(--accent-blue);text-decoration:none;word-break:break-all}.sidebar-event-description a:hover{opacity:.8}.app-footer{margin-top:80px;padding:48px 24px 40px;border-top:2px solid var(--border-light);background:linear-gradient(to bottom,transparent,var(--bg-elevated));width:100%;box-sizing:border-box}.footer-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:24px;width:100%;box-sizing:border-box}.footer-section{display:flex;align-items:center;justify-content:center;gap:16px}.footer-links{display:flex;align-items:center;justify-content:center;gap:12px;font-size:14px}.footer-link{color:var(--accent-blue);text-decoration:none;font-weight:600;transition:all var(--transition-smooth);position:relative}.footer-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--accent-blue);transition:width var(--transition-smooth)}.footer-link:hover{color:var(--accent-blue-hover)}.footer-link:hover:after{width:100%}.footer-separator{color:var(--text-secondary);font-size:12px}.footer-credit{font-size:14px;color:var(--text-secondary);text-align:center}@media(max-width:1400px){.calendar-layout{grid-template-columns:1fr 340px;gap:20px}.sidebar-container{margin-left:12px}.month-selector{grid-template-columns:repeat(4,1fr);gap:6px;padding:12px}.month-selector-button{padding:8px 3px;font-size:11px}.events-sidebar-content{padding:14px}.sidebar-event,.event-item{padding:11px}}@media(max-width:1280px){.calendar-layout{grid-template-columns:1fr 320px;gap:16px}.sidebar-container{margin-left:8px}.month-selector{gap:5px;padding:10px}.month-selector-button{padding:7px 2px;font-size:10px}.year{grid-template-columns:repeat(2,1fr);max-width:100%}.year-zoomed{max-width:500px}.month{padding:16px}.events-sidebar-content{padding:12px}.sidebar-event,.event-item{padding:10px}}@media(max-width:1024px){.calendar-layout{grid-template-columns:1fr 280px;gap:16px}.sidebar-container{margin-left:8px}.calendar-main{width:100%}.year{grid-template-columns:1fr;gap:20px;max-width:100%}.year-zoomed{max-width:500px}.month{padding:20px}.month-title{font-size:20px}.day-cell{padding:4px}.day-number{font-size:14px}.month-selector{grid-template-columns:repeat(3,1fr);gap:6px;padding:10px}.month-selector-button{padding:8px 2px;font-size:11px}.events-sidebar-content{padding:10px}.sidebar-event,.event-item{padding:9px}.sidebar-event-title,.event-item-title{font-size:12px}.sidebar-event-description,.event-item-description{font-size:11px}}@media(max-width:640px){.calendar-layout{grid-template-columns:1fr;gap:20px;max-width:600px;margin:0 auto}.sidebar-container{order:-1;margin-left:0;height:auto;width:100%}.year{grid-template-columns:1fr;gap:16px}.month{padding:16px}.month-title{font-size:18px}.day-number{font-size:13px}.events-sidebar-content{max-height:400px}}.day-popover{background:var(--bg-elevated);border-radius:10px;box-shadow:var(--shadow-lg);border:1px solid var(--border);max-width:260px;min-width:200px;pointer-events:auto;animation:popover-appear .2s cubic-bezier(.16,1,.3,1);z-index:1000;position:relative}.day-popover.day-popover-above:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid var(--bg-elevated);filter:drop-shadow(0 -2px 2px rgba(0,0,0,.1))}@keyframes popover-appear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.day-popover-header{padding:8px 12px;border-bottom:1px solid var(--border);text-align:center;background:var(--bg);border-radius:10px 10px 0 0}.day-popover-count{font-size:11px;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.8px}.day-popover-events{padding:4px 12px 8px;max-height:240px;overflow-y:auto}.day-popover-events::-webkit-scrollbar{width:6px}.day-popover-events::-webkit-scrollbar-track{background:transparent}.day-popover-events::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.day-popover-events::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.day-popover-event-divider{height:1px;background:var(--border);margin:0 -4px}.day-popover-event-header{display:flex;align-items:flex-start;gap:10px}.day-popover-event-category{width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:5px}.day-popover-event-title{margin:0;font-size:13px;font-weight:500;color:var(--text-primary);letter-spacing:-.1px;line-height:1.4;word-break:break-word;overflow-wrap:break-word}.day-popover-event-clickable{cursor:pointer;border-radius:6px;margin:0 -6px;padding:10px 6px;transition:background var(--transition-smooth)}.day-popover-event-clickable:hover{background:var(--day-hover)}@media(max-width:768px){#root{padding:24px 12px}.calendar-container{padding:0}.app-header{margin-bottom:24px;padding:0}.app-title-container{gap:12px}.app-logo{width:60px;height:60px}.app-title{font-size:28px}.theme-toggle{width:40px;height:40px;font-size:20px}.calendar-description{padding:0;margin-bottom:24px;font-size:13px}.calendar-description p{margin:6px 0}.year-controls{gap:6px}.year-dropdown{font-size:16px;min-width:100px;padding:6px 32px 6px 12px}.calendar-layout{grid-template-columns:1fr;gap:20px;max-width:none;padding:0}.calendar-main{width:100%;overflow:hidden}.sidebar-container{order:-1;margin-left:0;height:auto;width:100%}.month-selector{padding:10px;gap:4px}.month-selector-button{padding:6px 2px;font-size:11px}.events-sidebar-content{padding:12px;overflow:visible;max-height:none}.sidebar-header{padding:10px 12px}.year{grid-template-columns:1fr;gap:20px}.month{padding:16px;width:100%;max-width:100%}.month-title{font-size:20px}.month-title-container{flex-wrap:wrap;gap:8px}.view-all-months-button-month{font-size:24px;width:28px;height:28px}.weekday-header{gap:2px}.weekday-cell{font-size:10px;padding:2px 0}.month-grid{gap:2px}.day-cell{max-width:none;padding:0}.day-number{font-size:12px}.day-popover{display:none}.modal{width:calc(100% - 32px);max-width:none;max-height:85vh;margin:16px}.modal-header{padding:16px}.modal-title{font-size:18px}.modal-content{padding:16px}.modal-close{font-size:28px;width:28px;height:28px}.view-all-months-button-calendar{padding:6px 12px;font-size:12px}.sidebar-date-group{border-radius:6px}.sidebar-date-header{padding:8px 10px}.sidebar-date{font-size:13px}.sidebar-event{padding:8px;margin-bottom:6px}.sidebar-event-title,.event-item-title{font-size:13px}.sidebar-event-description,.event-item-description{font-size:12px}.app-footer{margin-top:40px;padding:24px 16px 16px}.footer-content{flex-direction:column;align-items:stretch;gap:16px;text-align:center}.footer-section{width:100%;justify-content:center;gap:12px}.footer-links{justify-content:center;gap:16px}.footer-credit{text-align:center;margin-top:8px}}@media(max-width:380px){.app-title-container{gap:8px}.app-logo{width:48px;height:48px}.app-title{font-size:24px}.month-selector{padding:8px;gap:3px}.month-selector-button{padding:5px 1px;font-size:10px}.month{padding:12px}.month-title{font-size:18px}.day-number{font-size:11px}}
