.date-input-container{width:100%;position:relative;margin-bottom:.75rem}.date-input-container label{display:block;margin-bottom:.4rem;font-size:.9rem;color:#444;font-weight:500}.date-input-field{display:flex;border-radius:4px;overflow:hidden;border:1px solid var(--border-color, #ddd);transition:border-color .2s,box-shadow .2s;height:42px;position:relative;background-color:#fff}.date-input-field:focus-within{border-color:var(--primary-color, #007bff);box-shadow:0 0 0 2px #007bff26}.date-input-field input[type=text]{flex-grow:1;padding:.5rem .75rem;border:none;outline:none;font-size:.9rem;background-color:#fff;height:100%;box-sizing:border-box}.date-input-field input::placeholder{color:#adb5bd}.calendar-toggle-btn{display:flex;align-items:center;justify-content:center;background-color:transparent;border:none;padding:0 8px;cursor:pointer;transition:background-color .2s;width:32px}.calendar-toggle-btn:hover{background-color:#00000008}.calendar-toggle-btn svg{width:16px;height:16px;color:#666}.native-date-input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;opacity:0}.error-message{color:#dc3545;font-size:.75rem;margin-top:3px}.date-input-field.error{border-color:#dc3545}.date-input-field.error:focus-within{box-shadow:0 0 0 3px #dc354540}.required-mark{color:#dc3545;margin-left:2px}@media (max-width: 576px){.format-hint,.error-message{font-size:.7rem}.date-input-field{height:42px}.date-input-field input[type=text]{font-size:.85rem;padding:.4rem .6rem}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999;animation:fadeIn .2s ease-out}.timeline-share-modal{background-color:#fff;border-radius:8px;box-shadow:0 4px 24px #00000026;width:550px;max-width:95%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}.modal-header h3{margin:0;font-size:18px;color:#333;font-weight:600}.close-modal-btn{background:none;border:none;font-size:24px;color:#777;cursor:pointer;width:32px;height:32px;display:flex;justify-content:center;align-items:center;border-radius:50%;transition:all .2s}.close-modal-btn:hover{background-color:#0000000d;color:#333}.modal-tabs{display:flex;border-bottom:1px solid #eee}.tab-btn{padding:12px 16px;background:none;border:none;cursor:pointer;flex:1;font-size:14px;color:#555;display:flex;justify-content:center;align-items:center;gap:8px;transition:all .2s;position:relative}.tab-btn.active{color:#007bff;font-weight:500}.tab-btn.active:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background-color:#007bff}.tab-btn:hover{background-color:#00000005}.timeline-share-modal__content{padding:20px;overflow-y:auto;flex:1}.privacy-section{margin-bottom:24px}.privacy-section h4,.collaborators-section h4,.share-link-section h4{font-size:16px;font-weight:600;margin:0 0 12px;color:#333}.privacy-toggle{display:flex;gap:12px;margin-top:10px}.privacy-option{flex:1;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:15px;display:flex;gap:12px;cursor:pointer;transition:all .2s}.privacy-option.active{border-color:#007bff;background-color:#007bff0d}.privacy-option.active:first-child{border-color:#6c757d;background-color:#6c757d0d}.privacy-option:hover{box-shadow:0 2px 8px #0000000d}.privacy-option svg{margin-top:2px;color:#6c757d}.privacy-option.active svg{color:#007bff}.privacy-option.active:first-child svg{color:#6c757d}.option-text strong{display:block;margin-bottom:4px;font-size:14px}.option-text p{margin:0;font-size:12px;color:#6c757d}.collaborator-description{margin-top:0;margin-bottom:16px;font-size:14px;color:#6c757d}.add-collaborator-form{display:flex;gap:8px;margin-bottom:20px}.add-collaborator-form input{flex:1;padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:14px}.add-collaborator-form button{padding:8px 16px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .2s}.add-collaborator-form button:disabled{background-color:#b9d6fb;cursor:not-allowed}.error-message{padding:10px;background-color:#dc35451a;border:1px solid rgba(220,53,69,.2);border-radius:4px;color:#dc3545;margin-bottom:16px;font-size:14px}.collaborators-list{margin-top:16px}.collaborators-list ul{list-style:none;padding:0;margin:0}.collaborator-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #eee}.collaborator-info{display:flex;align-items:center;gap:12px}.avatar{width:36px;height:36px;border-radius:50%;background-color:#007bff;color:#fff;display:flex;justify-content:center;align-items:center;font-weight:500;font-size:16px}.user-details .name{font-weight:500;font-size:14px}.user-details .email{font-size:12px;color:#6c757d}.user-details .status{font-size:12px;color:#28a745}.remove-collaborator-btn{padding:6px 12px;background-color:transparent;color:#dc3545;border:1px solid #dc3545;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s}.remove-collaborator-btn:hover{background-color:#dc3545;color:#fff}.remove-collaborator-btn:disabled{opacity:.5;cursor:not-allowed}.loading,.no-collaborators{text-align:center;padding:20px;color:#6c757d;font-size:14px}.share-link-section{padding:12px 0}.share-url-container{display:flex;margin:16px 0}.share-url-input{flex:1;padding:8px 12px;border:1px solid #ced4da;border-radius:4px 0 0 4px;font-size:14px;background-color:#f8f9fa}.copy-url-button{display:flex;align-items:center;gap:6px;padding:8px 16px;background-color:#007bff;color:#fff;border:none;border-radius:0 4px 4px 0;cursor:pointer;font-weight:500;transition:background-color .2s}.copy-success{color:#28a745;font-size:14px;margin:8px 0}.privacy-note{margin-top:20px;padding:12px;background-color:#f8f9fa;border-radius:4px}.privacy-note p{margin:0;font-size:14px;color:#6c757d;display:flex;align-items:center;gap:8px}.modal-close-btn{padding:8px 16px;background-color:#f8f9fa;color:#333;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-weight:500;transition:all .2s}.modal-close-btn:hover{background-color:#e9ecef}.dark-mode .timeline-share-modal{background-color:#343a40;color:#f8f9fa}.dark-mode .modal-header{border-bottom-color:#495057}.dark-mode .modal-header h3{color:#f8f9fa}.dark-mode .close-modal-btn{color:#adb5bd}.dark-mode .close-modal-btn:hover{background-color:#ffffff1a;color:#f8f9fa}.dark-mode .modal-tabs{border-bottom-color:#495057}.dark-mode .tab-btn{color:#adb5bd}.dark-mode .tab-btn.active{color:#0d6efd}.dark-mode .tab-btn:hover{background-color:#ffffff0d}.dark-mode .privacy-section h4,.dark-mode .collaborators-section h4,.dark-mode .share-link-section h4{color:#f8f9fa}.dark-mode .privacy-option{background-color:#2b3035;border-color:#495057}.dark-mode .privacy-option.active{border-color:#0d6efd;background-color:#0d6efd1a}.dark-mode .privacy-option.active:first-child{border-color:#adb5bd;background-color:#adb5bd1a}.dark-mode .privacy-option svg{color:#adb5bd}.dark-mode .privacy-option.active svg{color:#0d6efd}.dark-mode .privacy-option.active:first-child svg{color:#adb5bd}.dark-mode .option-text p,.dark-mode .collaborator-description,.dark-mode .user-details .email{color:#adb5bd}.dark-mode .add-collaborator-form input{background-color:#212529;border-color:#495057;color:#f8f9fa}.dark-mode .add-collaborator-form button{background-color:#0d6efd}.dark-mode .add-collaborator-form button:hover{background-color:#0b5ed7}.dark-mode .add-collaborator-form button:disabled{background-color:#0b2b5e}.dark-mode .error-message{background-color:#dc354526;border-color:#dc35454d}.dark-mode .collaborator-item{border-bottom-color:#495057}.dark-mode .avatar{background-color:#0d6efd}.dark-mode .remove-collaborator-btn{color:#f8c9cc;border-color:#f8c9cc}.dark-mode .remove-collaborator-btn:hover{background-color:#dc3545;color:#fff}.dark-mode .loading,.dark-mode .no-collaborators{color:#adb5bd}.dark-mode .share-url-input{background-color:#212529;border-color:#495057;color:#f8f9fa}.dark-mode .copy-url-button{background-color:#0d6efd}.dark-mode .copy-url-button:hover{background-color:#0b5ed7}.dark-mode .privacy-note{background-color:#2b3035}.dark-mode .privacy-note p{color:#adb5bd}.dark-mode .modal-footer{border-top-color:#495057}.dark-mode .modal-close-btn{background-color:#495057;color:#f8f9fa;border-color:#6c757d}.dark-mode .modal-close-btn:hover{background-color:#5a6268}.share-timeline-btn{display:flex;align-items:center;font-weight:500;transition:all .2s ease}.share-timeline-btn:hover{filter:brightness(.95)}.privacy-status-badge{display:flex;align-items:center;transition:all .2s ease}.privacy-status-badge:hover{opacity:.9}.timeline-actions-container{display:flex;align-items:center}.timeline-shared-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;font-size:11px;border-radius:3px;margin-left:8px;background-color:#007bff1a;color:#007bff}.dark-mode .timeline-shared-tag{background-color:#0d6efd33;color:#0d6efd}.shared-timelines-header{display:flex;align-items:center;margin-top:30px;margin-bottom:20px;gap:8px}.shared-timelines-header h2{font-size:1.25rem;margin:0}.shared-timelines-section{margin-top:30px}.shared-timelines-empty{text-align:center;padding:24px;background-color:#f8f9fa;border-radius:8px;color:#6c757d}.dark-mode .shared-timelines-empty{background-color:#343a40;color:#adb5bd}.timeline-owner-info{display:flex;align-items:center;gap:8px;padding:12px 16px;background-color:#007bff0d;border-radius:4px;margin-bottom:16px}.timeline-owner-info .avatar{width:28px;height:28px;font-size:12px}.timeline-owner-info .owner-details{font-size:13px}.dark-mode .timeline-owner-info{background-color:#0d6efd1a}@media (max-width: 768px){.timeline-share-modal{width:90%;max-height:90vh}.privacy-toggle,.add-collaborator-form{flex-direction:column}.collaborator-item{flex-direction:column;align-items:flex-start;gap:10px}.remove-collaborator-btn{align-self:flex-end}}.collaborator-item{justify-content:space-between;padding:10px 12px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999}.timeline-share-modal{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.modal-header{padding:16px 20px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;font-size:18px;font-weight:600}.close-modal-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#999}.close-modal-btn:hover{color:#333}.timeline-share-modal__content{padding:20px;flex:1;overflow-y:auto}.share-section,.privacy-section,.collaborators-section{margin-bottom:24px}.share-header,.section-header{display:flex;align-items:center;margin-bottom:12px}.share-header h4,.section-header h4{margin:0 0 0 8px;font-size:16px;font-weight:600}.share-url-container{display:flex;margin-bottom:8px}.share-url-input{flex:1;padding:10px 12px;border:1px solid #ddd;border-radius:4px 0 0 4px;font-size:14px}.copy-url-button{background-color:#f5f5f5;border:1px solid #ddd;border-left:none;border-radius:0 4px 4px 0;padding:0 12px;cursor:pointer;display:flex;align-items:center;justify-content:center}.copy-url-button:hover{background-color:#e9e9e9}.copy-success{color:#28a745;font-size:14px;margin-top:8px;text-align:right}.privacy-toggle{display:flex;background-color:#f5f5f5;border-radius:8px;overflow:hidden;margin-bottom:12px}.privacy-option{flex:1;padding:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s}.privacy-option:hover{background-color:#0000000d}.privacy-option.active{background-color:#fff;box-shadow:0 2px 6px #0000001a}.option-text{margin-left:8px}.privacy-description{font-size:14px;color:#666;margin:0}.add-collaborator-form input{flex:1;padding:10px 12px;border:1px solid #ddd;border-radius:4px 0 0 4px;font-size:14px}.add-collaborator-form button{background-color:#007bff;color:#fff;border:none;border-radius:0 4px 4px 0;padding:11px 16px;font-size:16px;cursor:pointer}.add-collaborator-form button:hover{background-color:#0069d9}.add-collaborator-form button:disabled{background-color:#b3d7ff;cursor:not-allowed}.error-message{color:#dc3545;font-size:14px;margin:8px 0}.collaborators-list{border:1px solid #eee;border-radius:4px;overflow:hidden}.collaborator-item{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eee}.collaborator-item:last-child{border-bottom:none}.collaborator-info{display:flex;align-items:center}.avatar{width:32px;height:32px;border-radius:50%;background-color:#007bff;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;margin-right:12px}.user-details{display:flex;flex-direction:column}.email{font-size:14px;font-weight:500}.remove-collaborator-btn{background:none;border:none;color:#dc3545;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px;display:flex;align-items:center;justify-content:center}.remove-collaborator-btn:hover{background-color:#dc35451a}.loading,.no-collaborators{padding:16px;text-align:center;color:#666}.modal-footer{padding:16px 20px;border-top:1px solid #eee;display:flex;justify-content:flex-end}.modal-close-btn{background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;padding:8px 16px;font-size:14px;cursor:pointer}.modal-close-btn:hover{background-color:#e9e9e9}.role-select{background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;padding:8px 12px;font-size:14px;margin-right:8px;flex:0 0 120px}.role-select-small{background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;padding:4px 8px;font-size:12px;margin-right:8px}.role-badge{display:flex;align-items:center;font-size:12px;color:#666;margin-top:2px}.role-badge svg{margin-right:4px}.role-badge.editor{color:#2c7be5}.role-badge.viewer{color:#6c757d}.collaborator-actions{display:flex;align-items:center}.add-collaborator-form{display:flex;margin-bottom:16px;align-items:center}.add-collaborator-form input{flex:1}@media (max-width: 768px){.add-collaborator-form{flex-direction:column;align-items:stretch}.role-select{margin:8px 0;width:100%;flex:none}.collaborator-actions{flex-direction:column}.role-select-small{margin-bottom:8px;width:100%}}.sidebar-collaboration-info{background-color:#f8f9fa;border-radius:8px;padding:12px;margin-bottom:16px}.collaboration-header h4{margin-top:0;margin-bottom:10px;font-size:14px}.collaboration-details{font-size:13px}.role-info{display:flex;align-items:center;margin:8px 0}.collaboration-note{font-style:italic;color:#6c757d;margin-top:8px}.owner-info{margin-top:8px}.timeline-color-palette{padding:8px;background:var(--menu-bg, #ffffff);border-radius:8px;box-shadow:0 2px 8px #0000001a;min-width:240px}.timeline-color-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.timeline-color-option-container{display:flex;flex-direction:column;align-items:center}.timeline-color-option{position:relative;width:48px;height:48px;border-radius:8px;border:2px solid var(--border-light, #e5e7eb);cursor:pointer;transition:all .2s ease;overflow:hidden;display:flex;align-items:center;justify-content:center}.timeline-color-option:hover{border-color:var(--primary-color, #007bff);transform:translateY(-1px);box-shadow:0 4px 12px #007bff26}.timeline-color-option.is-selected{border-color:var(--primary-color, #007bff);border-width:3px;box-shadow:0 0 0 2px #007bff33}.timeline-color-swatch-new{width:100%;height:100%;border-radius:6px;position:relative}.timeline-color-check{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:16px;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.5);opacity:0;transition:opacity .2s ease}.timeline-color-option.is-selected .timeline-color-check{opacity:1}.timeline-color-label{font-size:11px;font-weight:500;color:var(--text-secondary, #6b7280);text-align:center;margin-top:4px;line-height:1.2}.timeline-custom-color-section{border-bottom:1px solid var(--border-light, #e5e7eb);padding-bottom:12px;margin-bottom:8px}.timeline-custom-color-header{font-size:12px;font-weight:600;color:var(--text-primary, #1f2937);margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}.timeline-custom-color-picker{position:relative;width:100%;height:40px;border-radius:8px;border:2px solid var(--border-light, #e5e7eb);cursor:pointer;transition:all .2s ease;overflow:hidden;display:flex;align-items:center;padding:0 12px;background:var(--bg-secondary, #f9fafb)}.timeline-custom-color-picker:hover{border-color:var(--primary-color, #007bff)}.timeline-custom-color-picker.is-active{border-color:var(--primary-color, #007bff);box-shadow:0 0 0 2px #007bff33}.timeline-custom-color-preview{width:24px;height:24px;border-radius:4px;margin-right:10px;flex-shrink:0;border:1px solid rgba(0,0,0,.1)}.timeline-custom-color-text{font-size:13px;font-weight:500;color:var(--text-primary, #1f2937);flex:1}.timeline-custom-color-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;border:none;background:transparent}.context-menu-color-swatch{width:16px;height:16px;border:1px solid var(--border-color, #ddd);border-radius:3px;margin-right:10px;flex-shrink:0}.custom-color-item{padding:8px 15px!important;display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-color-swatch{position:relative;width:16px;height:16px;border:1px solid var(--border-color, #ddd);border-radius:3px;margin-right:10px;flex-shrink:0;overflow:hidden}.custom-color-input-timeline{position:absolute;top:0;left:0;width:100%;height:100%;border:none;background:transparent;cursor:pointer;opacity:0}.custom-color-input-timeline::-webkit-color-swatch-wrapper{padding:0;border:none;border-radius:0}.custom-color-input-timeline::-webkit-color-swatch{border:none;border-radius:0}.context-menu-divider-small{height:1px;background-color:var(--border-color, #eee);margin:4px 0;list-style:none}body.dark-mode .custom-color-swatch{border-color:var(--border-color-dark, #444)}body.dark-mode .context-menu-divider-small{background-color:var(--border-color-dark, #444)}body.dark-mode .timeline-color-palette{background:var(--menu-bg-dark, #1f2937);box-shadow:0 2px 8px #0000004d}body.dark-mode .timeline-color-option{border-color:var(--border-dark, #374151)}body.dark-mode .timeline-color-option:hover{border-color:var(--primary-color-dark, #3b82f6);box-shadow:0 4px 12px #3b82f640}body.dark-mode .timeline-color-option.is-selected{border-color:var(--primary-color-dark, #3b82f6);box-shadow:0 0 0 2px #3b82f64d}body.dark-mode .timeline-custom-color-section{border-bottom-color:var(--border-dark, #374151)}body.dark-mode .timeline-custom-color-header{color:var(--text-primary-dark, #f9fafb)}body.dark-mode .timeline-custom-color-picker{border-color:var(--border-dark, #374151);background:var(--bg-secondary-dark, #374151)}body.dark-mode .timeline-custom-color-picker:hover{border-color:var(--primary-color-dark, #3b82f6)}body.dark-mode .timeline-custom-color-picker.is-active{border-color:var(--primary-color-dark, #3b82f6);box-shadow:0 0 0 2px #3b82f64d}body.dark-mode .timeline-custom-color-text{color:var(--text-primary-dark, #f9fafb)}body.dark-mode .timeline-color-label{color:var(--text-secondary-dark, #9ca3af)}.context-menu-thickness-swatch{width:30px;height:2px;background-color:currentColor;margin-right:10px;border-radius:1px;flex-shrink:0}.context-menu-thickness-slider{padding:15px;display:flex;flex-direction:column;gap:20px}.thickness-slider-container{display:flex;flex-direction:column;gap:10px}.thickness-label{font-size:14px;font-weight:500;color:var(--text-primary, #333);text-align:center}.thickness-slider{width:100%;height:6px;background:var(--bg-secondary, #e0e0e0);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:3px;cursor:pointer}.thickness-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--primary-color, #007bff);cursor:pointer;border:3px solid white;box-shadow:0 2px 6px #0003;transition:all .2s ease}.thickness-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 3px 8px #0000004d}.thickness-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--primary-color, #007bff);cursor:pointer;border:3px solid white;box-shadow:0 2px 6px #0003;transition:all .2s ease}.thickness-slider::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 3px 8px #0000004d}.thickness-slider-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary, #666);margin-top:5px}.thickness-info{display:flex;align-items:flex-start;background-color:#007bff1a;padding:12px;border-radius:6px;font-size:12px;color:var(--text-secondary, #666);border-left:3px solid var(--primary-color, #007bff)}.thickness-info .info-icon{margin-right:8px;color:var(--primary-color, #007bff);flex-shrink:0;margin-top:2px}body.dark-mode .thickness-slider{background:var(--bg-secondary, #4a5568)}body.dark-mode .thickness-slider::-webkit-slider-thumb{border-color:var(--bg-primary, #2d3748)}body.dark-mode .thickness-slider::-moz-range-thumb{border-color:var(--bg-primary, #2d3748)}body.dark-mode .thickness-info{background-color:#007bff26;color:var(--text-secondary, #aaa)}body.dark-mode .thickness-label{color:var(--text-primary, #e2e8f0)}body.dark-mode .thickness-slider-labels{color:var(--text-secondary, #a0aec0)}@media (max-width: 480px){.thickness-slider-container{padding:0 10px}}.context-menu-intervals{padding:10px 15px}.interval-toggle-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding:5px 0}.interval-toggle-row span{font-size:.9rem;color:var(--text-color, #333)}.switch{position:relative;display:inline-block;width:36px;height:20px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.3s;border-radius:20px}.slider:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background-color:#fff;transition:.3s;border-radius:50%}input:checked+.slider{background-color:var(--button-primary, #007bff)}input:checked+.slider:before{transform:translate(16px)}.interval-count-row{margin-bottom:15px}.interval-count-row span{display:block;font-size:.85rem;color:var(--text-color, #333);margin-bottom:8px}.interval-slider{width:100%;height:4px;background:#e0e0e0;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:2px}.interval-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--button-primary, #007bff);cursor:pointer;border:2px solid white;box-shadow:0 1px 3px #0003}.interval-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--button-primary, #007bff);cursor:pointer;border:2px solid white;box-shadow:0 1px 3px #0003}.interval-info{display:flex;align-items:flex-start;background-color:#007bff1a;padding:10px;border-radius:4px;margin-bottom:15px;font-size:.8rem;color:var(--text-secondary, #666)}.info-icon{margin-right:8px;color:var(--button-primary, #007bff);flex-shrink:0;margin-top:2px}.interval-apply-btn{background-color:var(--button-primary, #007bff);color:#fff;border:none;border-radius:4px;padding:8px 0;font-size:.9rem;cursor:pointer;width:100%;transition:background-color .2s}.interval-apply-btn:hover{background-color:var(--button-primary-hover, #0069d9)}.interval-warning{display:flex;align-items:flex-start;background-color:#ffc10726;padding:10px;border-radius:4px;margin-bottom:15px;font-size:.8rem;color:#856404;border-left:3px solid #ffc107}.warning-icon{margin-right:8px;color:#ffc107;flex-shrink:0;margin-top:2px}body.dark-mode .interval-info{background-color:#007bff26;color:var(--text-secondary, #aaa)}body.dark-mode .interval-slider{background:#444}body.dark-mode .interval-slider::-webkit-slider-thumb{border-color:#333}body.dark-mode .interval-warning{background-color:#ffc1071a;color:#e0c271}.context-menu-background{display:flex;flex-direction:column;gap:16px}.background-content{max-height:450px;overflow-y:auto;padding:8px;display:flex;flex-direction:column}.timeline-context-menu[data-view=background]{width:500px;max-width:90vw}.background-color-palette{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.background-color-option{width:100%;height:50px;border:2px solid var(--border-color, #e1e5e9);border-radius:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;position:relative}.background-color-option:hover{transform:scale(1.05);border-color:var(--primary-color, #007bff)}.background-color-option.selected{border-color:var(--primary-color, #007bff);border-width:3px}.background-checkmark{color:#fff;font-weight:700;text-shadow:0 0 3px rgba(0,0,0,.8);font-size:16px}.custom-color-input-wrapper{display:flex;flex-direction:column;align-items:center;margin-bottom:10px;position:relative}.custom-color-input{width:100%;height:50px;border:2px solid var(--border-color, #e1e5e9);border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;position:relative}.custom-color-input::-webkit-color-swatch{border:none;border-radius:4px}.custom-color-input::-moz-color-swatch{border:none;border-radius:4px}.custom-color-badge{position:absolute;top:-6px;right:-6px;width:20px;height:20px;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:25px;font-weight:700;z-index:1;box-shadow:0 2px 4px #0000001a}.background-images-section{display:flex;flex-direction:column;gap:20px;padding-top:20px}.bg-content-container{display:flex;flex-direction:column;gap:12px}.library-section-title{font-weight:600;color:var(--text-primary, #333);font-size:14px;margin-bottom:4px}.background-image-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.background-upload-grid-item{border:2px dashed var(--border-color, #e1e5e9);border-radius:8px;cursor:pointer;transition:all .3s;background:var(--bg-secondary, #f8f9fa);height:100px;display:flex;align-items:center;justify-content:center;position:relative}.background-upload-grid-item:hover:not(.uploading):not(.disabled){border-color:var(--primary-color, #007bff);background:#007bff0d;transform:scale(1.02)}.background-upload-grid-item.uploading{cursor:not-allowed;opacity:.7}.background-upload-grid-item.disabled{cursor:not-allowed;opacity:.6;background:var(--bg-secondary, #f0f0f0)}.background-upload-grid-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center}.background-upload-grid-content.uploading{gap:8px}.background-upload-icon-small{font-size:24px;margin-bottom:4px}.background-upload-text-small{font-size:11px;font-weight:500;color:var(--text-secondary, #666);line-height:1.2}.background-spinner-small{width:20px;height:20px;border:2px solid var(--border-color, #e1e5e9);border-top:2px solid var(--primary-color, #007bff);border-radius:50%;animation:spin 1s linear infinite}.background-image-option{border:2px solid var(--border-color, #e1e5e9);border-radius:8px;overflow:hidden;cursor:pointer;transition:all .2s;position:relative;background:none;padding:0;height:100px;display:flex;flex-direction:column}.background-image-option:hover{transform:scale(1.02);border-color:var(--primary-color, #007bff)}.background-image-option.selected{border-color:var(--primary-color, #007bff);border-width:3px}.background-image-option.custom-image{border-style:solid}.background-image-preview{width:100%;height:70px;object-fit:cover;display:block;flex-shrink:0}.background-image-info{padding:6px 8px;background:var(--bg-primary, #ffffff);text-align:left;flex-grow:1;display:flex;align-items:center;justify-content:space-between;min-height:30px}.background-image-name{display:block;font-size:11px;font-weight:500;color:var(--text-primary, #333);line-height:1.2}.background-image-option .background-checkmark{position:absolute;top:4px;right:4px;background:var(--primary-color, #007bff);color:#fff;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;z-index:1}.background-remove-button-small{background:#dc3545;color:#fff;border:none;border-radius:50%;width:18px;height:18px;font-size:10px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0}.background-remove-button-small:hover{background:#c82333;transform:scale(1.1)}.background-hidden-file-input{display:none}.background-error{display:flex;align-items:center;gap:8px;padding:12px;background:#fff5f5;border:1px solid #fed7d7;border-radius:8px;color:#c53030;font-size:12px;margin-top:8px}.background-error-icon{flex-shrink:0}.editor-section-title{font-weight:600;color:var(--text-primary, #333);font-size:14px;margin-bottom:12px}.inline-image-editor.always-open{background:var(--bg-secondary, #f8f9fa);border-radius:6px;padding:12px}@media (max-width: 580px){.timeline-context-menu[data-view=background]{width:95vw}.background-color-palette{grid-template-columns:repeat(5,1fr)}.bg-color-grid-layout{grid-template-columns:repeat(3,1fr)}.bg-color-grid-item{height:90px}.background-image-gallery{grid-template-columns:repeat(3,1fr)}.background-image-option{height:90px}.background-image-preview{height:60px}.background-upload-grid-item{height:90px}.filter-group-compact label{font-size:10px}.filter-slider-compact{height:3px}.filter-slider-compact::-webkit-slider-thumb{width:12px;height:12px}.filter-slider-compact::-moz-range-thumb{width:12px;height:12px}.reset-filters-btn-compact{font-size:10px;padding:5px 10px}}@media (max-width: 480px){.background-tabs{flex-wrap:wrap}.background-tab{flex-basis:50%;font-size:10px}.background-image-gallery{grid-template-columns:repeat(2,1fr);gap:10px}.background-color-palette{grid-template-columns:repeat(4,1fr)}.bg-color-grid-layout{grid-template-columns:repeat(2,1fr);gap:10px}.bg-color-grid-item{height:80px}.bg-color-swatch{width:30px;height:30px}.bg-color-name{font-size:10px}.background-image-option,.background-upload-grid-item{height:80px}.background-image-preview{height:50px}.background-upload-icon-small{font-size:20px}.background-upload-text-small,.background-image-name{font-size:10px}.filter-controls-compact{gap:8px}.editor-section-title{font-size:13px}}body.dark-mode .inline-image-editor.always-open{background:var(--bg-secondary, #2c2c2c)}body.dark-mode .custom-color-badge{border-color:var(--bg-primary, #1a1a1a)}body.dark-mode .filter-slider-compact{background:var(--bg-secondary, #4a5568)}body.dark-mode .filter-slider-compact:hover{background:#5a6578}body.dark-mode .filter-slider-compact::-webkit-slider-thumb{border-color:var(--bg-primary, #2d3748);background:var(--primary-color, #3a97ff)}body.dark-mode .filter-slider-compact::-moz-range-thumb{border-color:var(--bg-primary, #2d3748);background:var(--primary-color, #3a97ff)}body.dark-mode .filter-slider-compact::-moz-range-track{background:var(--bg-secondary, #4a5568)}body.dark-mode .reset-filters-btn-compact{background:var(--bg-secondary, #2c2c2c);color:var(--text-color, #e1e1e1);border-color:var(--border-color, #555)}body.dark-mode .reset-filters-btn-compact:hover{background:var(--hover-bg, #3c3c3c);border-color:var(--primary-color, #3a97ff);color:var(--primary-color, #3a97ff)}body.dark-mode .filter-group-compact:hover label,body.dark-mode .filter-group-compact.has-filter label{color:var(--primary-color, #3a97ff)}body.dark-mode .background-upload-grid-item{border-color:var(--border-color, #555);background:var(--bg-secondary, #2c2c2c)}body.dark-mode .background-upload-grid-item:hover:not(.uploading):not(.disabled){border-color:var(--primary-color, #3a97ff);background:#3a97ff0d}body.dark-mode .background-upload-grid-item.disabled{background:var(--bg-secondary, #1a1a1a)}body.dark-mode .background-upload-text-small{color:var(--text-secondary, #aaa)}body.dark-mode .background-remove-button-small{background:#dc3545}body.dark-mode .background-remove-button-small:hover{background:#c82333}body.dark-mode .background-error{background:#4a1a1a;border-color:#8b2635;color:#ff6b6b}body.dark-mode .editor-actions-compact{border-top-color:var(--border-color, #444)}body.dark-mode .background-color-option{border-color:var(--border-color, #555)}body.dark-mode .background-color-option:hover,body.dark-mode .background-color-option.selected{border-color:var(--primary-color, #3a97ff)}body.dark-mode .custom-color-input{border-color:var(--border-color, #555);background:var(--bg-secondary, #2c2c2c)}body.dark-mode .custom-color-input:hover{border-color:var(--primary-color, #3a97ff)}.bg-options-container{display:flex;flex-direction:column;gap:20px;padding:16px;margin:0}.bg-color-section{display:flex;flex-direction:column;gap:12px}.bg-color-section-title{font-size:.85rem;font-weight:600;color:var(--text-secondary);margin:0;text-transform:uppercase;letter-spacing:.5px}.bg-color-grid{display:flex;flex-direction:column;gap:8px}.bg-color-grid-layout{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.bg-color-grid-item{border:2px solid var(--border-color, #e1e5e9);border-radius:8px;overflow:hidden;cursor:pointer;transition:all .2s;position:relative;background:none;padding:0;height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-size:inherit}.bg-color-grid-item:hover{transform:scale(1.02);border-color:var(--primary-color, #007bff)}.bg-color-grid-item.active{border-color:var(--primary-color, #007bff);border-width:3px}.bg-color-swatch{width:40px;height:40px;border-radius:8px;border:2px solid var(--border-color, #e1e5e9);flex-shrink:0}.bg-color-name{font-size:11px;font-weight:500;color:var(--text-primary, #333);text-align:center}.bg-color-checkmark{position:absolute;top:4px;right:4px;background:var(--primary-color, #007bff);color:#fff;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;z-index:1}.bg-color-input-hidden{position:absolute;left:-9999px;pointer-events:none}.bg-color-option{display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .2s ease;padding:12px;border-radius:8px;min-height:48px;width:100%;position:relative;border:1px solid transparent;background-color:var(--card-background);text-align:left;font-family:inherit;font-size:inherit}.bg-color-option:hover{background-color:var(--hover-background);border-color:var(--border-color);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.bg-color-option.active{background-color:var(--selected-background, rgba(0, 123, 255, .1));border-color:var(--button-primary, #007bff)}.bg-color-label{font-size:.85rem;font-weight:500;color:var(--text-color);flex-grow:1;text-align:left}.bg-color-option:has(.bg-color-button.active) .bg-color-label{color:var(--button-primary);font-weight:600}.bg-color-button{width:40px;height:40px;border-radius:8px;border:2px solid var(--border-color);cursor:pointer;transition:all .2s ease;position:relative;flex-shrink:0;background-clip:padding-box}.bg-color-button:hover{transform:scale(1.05);border-color:var(--text-secondary);box-shadow:0 4px 12px #00000026}.bg-color-button.active{border:3px solid var(--button-primary, #007bff);box-shadow:0 0 0 2px #007bff33}.bg-custom-color-input{width:40px;height:40px;border-radius:8px;border:2px solid var(--border-color);cursor:pointer;transition:all .2s ease;padding:0;background:none;flex-shrink:0}.bg-custom-color-input:hover{transform:scale(1.05);border-color:var(--text-secondary);box-shadow:0 4px 12px #00000026}.bg-custom-color-input.active{border:3px solid var(--button-primary, #007bff);box-shadow:0 0 0 2px #007bff33}.bg-custom-color-input::-webkit-color-swatch-wrapper{padding:0;border:none;border-radius:6px}.bg-custom-color-input::-webkit-color-swatch{border:none;border-radius:6px}.bg-color-button:focus{outline:2px solid var(--button-primary, #007bff);outline-offset:2px}.bg-custom-color-input:focus{outline:2px solid var(--button-primary, #007bff);outline-offset:2px}body.dark-mode .background-image-option{border-color:var(--border-color, #555)}body.dark-mode .background-image-option:hover,body.dark-mode .background-image-option.selected{border-color:var(--primary-color, #3a97ff)}body.dark-mode .background-image-info{background:var(--bg-primary, #1a1a1a)}body.dark-mode .background-image-name,body.dark-mode .library-section-title{color:var(--text-primary, #e1e1e1)}body.dark-mode .background-images-section{border-top-color:var(--border-color, #444)}body.dark-mode .bg-color-grid-item{border-color:var(--border-color, #555)}body.dark-mode .bg-color-grid-item:hover,body.dark-mode .bg-color-grid-item.active{border-color:var(--primary-color, #3a97ff)}body.dark-mode .bg-color-swatch{border-color:var(--border-color, #555)}body.dark-mode .bg-color-name{color:var(--text-primary, #e1e1e1)}body.dark-mode .bg-color-checkmark{background:var(--primary-color, #3a97ff)}.image-editor-container{display:flex;flex-direction:column;gap:16px;padding:12px}.background-image-editor-section{border-top:1px solid var(--border-color, #eee);padding-top:16px;margin-top:16px}.editor-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.editor-section-title{font-weight:600;color:var(--text-primary, #333);font-size:14px}.editor-toggle-btn{background:none;border:1px solid var(--border-color, #e1e5e9);border-radius:4px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary, #666);font-size:12px;transition:all .2s ease}.editor-toggle-btn:hover{background:var(--hover-bg, #f0f0f0);border-color:var(--primary-color, #007bff);color:var(--primary-color, #007bff)}.editor-toggle-btn.active{background:var(--primary-color, #007bff);border-color:var(--primary-color, #007bff);color:#fff}.inline-image-editor{background:var(--bg-secondary, #f8f9fa);border-radius:6px;padding:12px;margin-top:8px;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px);max-height:0}to{opacity:1;transform:translateY(0);max-height:300px}}.image-preview{width:100%;border-radius:8px;overflow:hidden;border:2px solid var(--border-color, #e1e5e9);background:var(--bg-secondary, #f8f9fa);position:relative;transition:border-color .3s ease}.image-preview:hover{border-color:var(--primary-color, #007bff)}.image-preview img{width:100%;height:120px;object-fit:cover;display:block;transition:filter .1s ease}.filter-controls{display:flex;flex-direction:column;gap:12px;max-height:300px;overflow-y:auto;padding-right:4px}.filter-controls::-webkit-scrollbar{width:4px}.filter-controls::-webkit-scrollbar-track{background:var(--bg-secondary, #f1f1f1);border-radius:2px}.filter-controls::-webkit-scrollbar-thumb{background:var(--primary-color, #007bff);border-radius:2px}.filter-controls::-webkit-scrollbar-thumb:hover{background:var(--primary-hover, #0056b3)}.filter-controls-compact{display:flex;flex-direction:column;gap:10px}.filter-group-compact{display:flex;flex-direction:column;gap:4px}.filter-group-compact label{font-size:11px;font-weight:500;color:var(--text-color, #333);display:flex;justify-content:space-between;align-items:center;transition:color .2s ease}.filter-group-compact:hover label{color:var(--primary-color, #007bff)}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{font-size:12px;font-weight:500;color:var(--text-color, #333);display:flex;justify-content:space-between;align-items:center}.filter-group label .filter-value,.filter-group-compact label .filter-value{font-weight:600;color:var(--primary-color, #007bff);min-width:40px;text-align:right}.filter-slider{width:100%;height:6px;background:var(--bg-secondary, #e0e0e0);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:3px;cursor:pointer;transition:background .2s ease}.filter-slider:hover{background:var(--border-color, #d0d0d0)}.filter-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--primary-color, #007bff);cursor:pointer;border:2px solid white;box-shadow:0 2px 4px #0003;transition:all .2s ease}.filter-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 3px 6px #0000004d}.filter-slider::-webkit-slider-thumb:active{transform:scale(1.15)}.filter-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--primary-color, #007bff);cursor:pointer;border:2px solid white;box-shadow:0 2px 4px #0003;transition:all .2s ease;-moz-appearance:none}.filter-slider::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 3px 6px #0000004d}.filter-slider::-moz-range-track{width:100%;height:6px;background:var(--bg-secondary, #e0e0e0);border-radius:3px;border:none}.filter-slider-compact{width:100%;height:4px;background:var(--bg-primary, #e0e0e0);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:2px;cursor:pointer;transition:background .2s ease}.filter-slider-compact:hover{background:var(--border-color, #d0d0d0)}.filter-slider-compact::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--primary-color, #007bff);cursor:pointer;border:2px solid white;box-shadow:0 1px 3px #0003;transition:all .2s ease}.filter-slider-compact::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 2px 5px #0000004d}.filter-slider-compact::-webkit-slider-thumb:active{transform:scale(1.15)}.filter-slider-compact::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--primary-color, #007bff);cursor:pointer;border:2px solid white;box-shadow:0 1px 3px #0003;transition:all .2s ease;-moz-appearance:none}.filter-slider-compact::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 2px 5px #0000004d}.filter-slider-compact::-moz-range-track{width:100%;height:4px;background:var(--bg-primary, #e0e0e0);border-radius:2px;border:none}.editor-actions{display:flex;gap:8px;justify-content:space-between;margin-top:8px;padding-top:12px;border-top:1px solid var(--border-color, #eee)}.reset-filters-btn,.apply-filters-btn{flex:1;padding:10px 16px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px}.reset-filters-btn{background:var(--bg-secondary, #f8f9fa);color:var(--text-color, #333);border:1px solid var(--border-color, #ddd)}.reset-filters-btn:hover{background:var(--border-color, #e9ecef);transform:translateY(-1px)}.apply-filters-btn{background:var(--primary-color, #007bff);color:#fff}.apply-filters-btn:hover{background:var(--primary-hover, #0056b3);transform:translateY(-1px);box-shadow:0 2px 8px #007bff4d}.apply-filters-btn:active,.reset-filters-btn:active{transform:translateY(0)}.editor-actions-compact{display:flex;justify-content:center;margin-top:12px;padding-top:8px;border-top:1px solid var(--border-color, #e1e5e9)}.reset-filters-btn-compact{padding:6px 12px;background:var(--bg-primary, white);color:var(--text-color, #333);border:1px solid var(--border-color, #ddd);border-radius:4px;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.reset-filters-btn-compact:hover{background:var(--hover-bg, #f0f0f0);border-color:var(--primary-color, #007bff);color:var(--primary-color, #007bff);transform:translateY(-1px)}.reset-filters-btn-compact:active{transform:translateY(0)}.image-editor-loading{display:flex;align-items:center;justify-content:center;height:120px;background:var(--bg-secondary, #f8f9fa);border-radius:6px;color:var(--text-secondary, #666);font-size:14px}.image-editor-loading:before{content:"";width:20px;height:20px;margin-right:8px;border:2px solid var(--border-color, #ddd);border-top:2px solid var(--primary-color, #007bff);border-radius:50%;animation:spin 1s linear infinite}.filter-group[data-filter=blur] .filter-slider::-webkit-slider-thumb,.filter-group-compact[data-filter=blur] .filter-slider-compact::-webkit-slider-thumb{background:#17a2b8}.filter-group[data-filter=brightness] .filter-slider::-webkit-slider-thumb,.filter-group-compact[data-filter=brightness] .filter-slider-compact::-webkit-slider-thumb{background:#ffc107}.filter-group[data-filter=contrast] .filter-slider::-webkit-slider-thumb,.filter-group-compact[data-filter=contrast] .filter-slider-compact::-webkit-slider-thumb{background:#6f42c1}.filter-group[data-filter=saturate] .filter-slider::-webkit-slider-thumb,.filter-group-compact[data-filter=saturate] .filter-slider-compact::-webkit-slider-thumb{background:#e83e8c}.filter-group[data-filter=sepia] .filter-slider::-webkit-slider-thumb,.filter-group-compact[data-filter=sepia] .filter-slider-compact::-webkit-slider-thumb{background:#fd7e14}.filter-group[data-filter=grayscale] .filter-slider::-webkit-slider-thumb,.filter-group-compact[data-filter=grayscale] .filter-slider-compact::-webkit-slider-thumb{background:#6c757d}.filter-group[data-filter=hue] .filter-slider::-webkit-slider-thumb,.filter-group-compact[data-filter=hue] .filter-slider-compact::-webkit-slider-thumb{background:linear-gradient(45deg,red,#ff8000,#ff0,#80ff00,#0f0,#00ff80,#0ff,#0080ff,#00f,#8000ff,#f0f,#ff0080)}.filter-group[data-filter=opacity] .filter-slider::-webkit-slider-thumb,.filter-group-compact[data-filter=opacity] .filter-slider-compact::-webkit-slider-thumb{background:#28a745}.filter-group-compact.has-filter label{color:var(--primary-color, #007bff);font-weight:600}.filter-controls{animation:fadeInFilters .3s ease-out}@keyframes fadeInFilters{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.image-preview{animation:fadeInPreview .3s ease-out}@keyframes fadeInPreview{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}body.dark-mode .background-image-editor-section{border-top-color:var(--border-color, #444)}body.dark-mode .editor-section-title{color:var(--text-primary, #e1e1e1)}body.dark-mode .editor-toggle-btn{border-color:var(--border-color, #555);color:var(--text-secondary, #aaa)}body.dark-mode .editor-toggle-btn:hover{background:var(--hover-bg, #333);border-color:var(--primary-color, #3a97ff);color:var(--primary-color, #3a97ff)}body.dark-mode .editor-toggle-btn.active{background:var(--primary-color, #3a97ff);border-color:var(--primary-color, #3a97ff)}body.dark-mode .inline-image-editor{background:var(--bg-secondary, #2c2c2c)}body.dark-mode .image-preview{border-color:var(--border-color, #555);background:var(--bg-secondary, #2c2c2c)}body.dark-mode .image-preview:hover{border-color:var(--primary-color, #3a97ff)}body.dark-mode .filter-slider,body.dark-mode .filter-slider-compact{background:var(--bg-secondary, #4a5568)}body.dark-mode .filter-slider:hover,body.dark-mode .filter-slider-compact:hover{background:#5a6578}body.dark-mode .filter-slider::-webkit-slider-thumb,body.dark-mode .filter-slider-compact::-webkit-slider-thumb{border-color:var(--bg-primary, #2d3748);background:var(--primary-color, #3a97ff)}body.dark-mode .filter-slider::-moz-range-thumb,body.dark-mode .filter-slider-compact::-moz-range-thumb{border-color:var(--bg-primary, #2d3748);background:var(--primary-color, #3a97ff)}body.dark-mode .filter-slider::-moz-range-track,body.dark-mode .filter-slider-compact::-moz-range-track{background:var(--bg-secondary, #4a5568)}body.dark-mode .reset-filters-btn,body.dark-mode .reset-filters-btn-compact{background:var(--bg-secondary, #2c2c2c);color:var(--text-color, #e1e1e1);border-color:var(--border-color, #555)}body.dark-mode .reset-filters-btn:hover,body.dark-mode .reset-filters-btn-compact:hover{background:var(--hover-bg, #3c3c3c);border-color:var(--primary-color, #3a97ff);color:var(--primary-color, #3a97ff)}body.dark-mode .apply-filters-btn{background:var(--primary-color, #3a97ff)}body.dark-mode .apply-filters-btn:hover{background:var(--primary-hover, #2980ff);box-shadow:0 2px 8px #3a97ff4d}body.dark-mode .editor-actions,body.dark-mode .editor-actions-compact{border-top-color:var(--border-color, #444)}body.dark-mode .image-editor-loading{background:var(--bg-secondary, #2c2c2c);color:var(--text-secondary, #aaa)}body.dark-mode .image-editor-loading:before{border-color:var(--border-color, #555);border-top-color:var(--primary-color, #3a97ff)}body.dark-mode .filter-group-compact:hover label,body.dark-mode .filter-group label .filter-value,body.dark-mode .filter-group-compact label .filter-value,body.dark-mode .filter-group-compact.has-filter label{color:var(--primary-color, #3a97ff)}@media (max-width: 580px){.editor-section-header{flex-direction:column;align-items:flex-start;gap:8px}.editor-toggle-btn{align-self:flex-end}.filter-group-compact label{font-size:10px}.filter-slider-compact{height:3px}.filter-slider-compact::-webkit-slider-thumb{width:12px;height:12px}.filter-slider-compact::-moz-range-thumb{width:12px;height:12px}.reset-filters-btn-compact{font-size:10px;padding:5px 10px}}@media (max-width: 480px){.image-editor-container{padding:8px;gap:12px}.image-preview img{height:100px}.filter-controls{gap:10px;max-height:250px}.filter-group label{font-size:11px}.filter-slider{height:5px}.filter-slider::-webkit-slider-thumb{width:14px;height:14px}.filter-slider::-moz-range-thumb{width:14px;height:14px}.editor-actions{flex-direction:column;gap:6px}.reset-filters-btn,.apply-filters-btn{padding:8px 12px;font-size:12px}}.context-menu-autolayout{padding:12px 15px}.autolayout-header{display:flex;align-items:center;gap:8px;margin-bottom:15px;padding-bottom:8px;border-bottom:1px solid var(--border-color, #eee)}.autolayout-header svg{color:var(--primary-color, #007bff)}.event-count-badge{background-color:#007bff1a;color:#007bff;padding:2px 6px;border-radius:10px;font-size:.7rem;font-weight:500;margin-left:auto}.toggle-container{margin:12px 0;padding:10px;background-color:var(--section-background, #f8f9fa);border-radius:6px}.toggle-item{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.toggle-label{font-size:.9rem;font-weight:500;color:var(--text-color, #333)}.toggle-description{font-size:.8rem;color:var(--text-secondary, #666);line-height:1.4;margin-top:4px}.auto-layout-info{margin:15px 0;padding:12px;background-color:#007bff14;border-radius:6px;border-left:3px solid var(--primary-color, #007bff)}.auto-layout-status{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-weight:500;color:var(--primary-color, #007bff)}.layout-details{font-size:.8rem;color:var(--text-secondary, #666);margin-left:24px;line-height:1.4}.context-menu-action{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;margin:10px 0;background:none;border:1px solid rgba(0,123,255,.2);border-radius:6px;color:var(--primary-color, #007bff);cursor:pointer;font-size:.85rem;transition:all .2s ease}.context-menu-action:hover{background-color:#007bff1a;border-color:#007bff66}.context-menu-action svg{flex-shrink:0}.auto-layout-disabled{display:flex;align-items:flex-start;gap:8px;padding:12px;margin:15px 0;background-color:#0000000a;border-radius:6px;font-size:.8rem;color:var(--text-secondary, #666);line-height:1.4}.auto-layout-disabled svg{flex-shrink:0;color:#0006}.toggle-switch label{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.3s;border-radius:22px}.toggle-switch label:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0003}.context-menu-direction{padding:10px 15px}.direction-toggle-container{margin-bottom:15px}.orientation-toggle{margin-bottom:10px}.toggle-labels{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:5px}.toggle-labels span{font-size:.85rem;color:var(--text-secondary, #777);transition:color .2s}.toggle-labels span.active{font-weight:500;color:var(--text-color, #333)}.direction-info{display:flex;align-items:flex-start;background-color:#007bff1a;padding:10px;border-radius:4px;margin-bottom:15px;font-size:.8rem;color:var(--text-secondary, #666)}@keyframes autoLayoutActivated{0%{transform:scale(.95);opacity:.7}50%{transform:scale(1.05);opacity:1}to{transform:scale(1);opacity:1}}.auto-layout-info.activated{animation:autoLayoutActivated .5s ease-out}body.dark-mode .event-count-badge{background-color:#64b5f633;color:#64b5f6}body.dark-mode .toggle-container{background-color:#ffffff0d}body.dark-mode .toggle-label{color:var(--text-color, #e1e1e1)}body.dark-mode .toggle-description{color:#fff9}body.dark-mode .auto-layout-info{background-color:#007bff1f}body.dark-mode .auto-layout-status{color:#64b5f6}body.dark-mode .layout-details{color:#fffc}body.dark-mode .auto-layout-disabled{background-color:#ffffff0d;color:#fff9}body.dark-mode .auto-layout-disabled svg{color:#fff6}body.dark-mode .context-menu-action{border-color:#64b5f64d;color:#64b5f6}body.dark-mode .context-menu-action:hover{background-color:#64b5f61a;border-color:#64b5f680}body.dark-mode .toggle-switch input:checked+label{background-color:#64b5f6}body.dark-mode .toggle-labels span{color:#fff9}body.dark-mode .toggle-labels span.active{color:#ffffffe6}body.dark-mode .direction-info{background-color:#007bff26;color:var(--text-secondary, #aaa)}body.dark-mode .autolayout-header{border-bottom-color:var(--border-color, #444)}@media (max-width: 768px){.context-menu-action{font-size:.75rem;padding:6px 10px}.toggle-switch{width:40px;height:20px}.toggle-switch label:before{height:16px;width:16px}.toggle-switch input:checked+label:before{transform:translate(20px)}.event-count-badge{font-size:.65rem;padding:1px 4px}}.event-context-menu{position:absolute;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:200px;overflow:hidden;animation:contextMenuFadeIn .15s ease-out;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.context-menu-header{padding:8px 12px;background-color:#f8f9fa;border-bottom:1px solid #e9ecef}.context-menu-title{font-size:.85rem;font-weight:500;color:#495057;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.context-menu-divider{height:1px;background-color:#e9ecef;margin:0}.context-menu-item{display:flex;align-items:center;width:100%;padding:10px 12px;border:none;background:none;cursor:pointer;font-size:.9rem;color:#495057;transition:all .15s ease;text-align:left;gap:8px}.context-menu-item:hover{background-color:#f8f9fa}.context-menu-item:active{background-color:#e9ecef}.context-menu-item svg{flex-shrink:0;opacity:.7}.context-menu-item:hover svg{opacity:1}.edit-item:hover{background-color:#007bff1a;color:#007bff}.edit-item:hover svg{color:#007bff}.delete-item:hover{background-color:#dc35451a;color:#dc3545}.delete-item:hover svg{color:#dc3545}body.dark-mode .event-context-menu{background:#2d3748;border-color:#4a5568;color:#e2e8f0}body.dark-mode .context-menu-header{background-color:#1a202c;border-bottom-color:#4a5568}body.dark-mode .context-menu-title{color:#e2e8f0}body.dark-mode .context-menu-divider{background-color:#4a5568}body.dark-mode .context-menu-item{color:#e2e8f0}body.dark-mode .context-menu-item:hover{background-color:#4a5568}body.dark-mode .context-menu-item:active{background-color:#2d3748}body.dark-mode .edit-item:hover{background-color:#4299e133;color:#4299e1}body.dark-mode .delete-item:hover{background-color:#f5656533;color:#f56565}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width: 768px){.event-context-menu{min-width:180px}.context-menu-item{padding:12px;font-size:.95rem}.context-menu-title{max-width:160px}}.bg-image-preview{position:relative;overflow:hidden;width:16px;height:16px;border:1px solid #ddd;border-radius:3px;margin-right:10px}.bg-image-preview[data-image="beach.png"]{background-color:#e6f7ff;background-image:url(/backgrounds/beach.png);background-size:cover;background-position:center}.bg-image-preview[data-image="city.png"]{background-color:#d9f7be;background-image:url(/backgrounds/city.png);background-size:cover;background-position:center}.bg-image-preview[data-image="forest.png"]{background-color:#fff1b8;background-image:url(/backgrounds/forest.png);background-size:cover;background-position:center}.bg-image-preview[data-image]:not([data-image=""]){background-size:cover;background-position:center}.bg-image-preview:not([data-image]),.bg-image-preview[data-image=""]{background-image:linear-gradient(45deg,#ddd 25%,transparent 25%,transparent 75%,#ddd 75%,#ddd),linear-gradient(45deg,#ddd 25%,transparent 25%,transparent 75%,#ddd 75%,#ddd);background-size:8px 8px;background-position:0 0,4px 4px}.timeline-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;pointer-events:none;background-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.timeline-container.has-background-image{position:relative}.timeline-container.has-background-image:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;pointer-events:none}.event-focus-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background-color:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeInOverlay .3s ease-out;padding:60px;overflow:hidden}.event-focus-modal{background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:16px;box-shadow:0 20px 40px #0003;width:100%;height:100%;max-width:1000px;max-height:700px;overflow:hidden;position:relative;animation:slideInFocus .4s ease-out;display:flex;flex-direction:column;touch-action:pan-y}.focus-modal-close-btn{position:absolute;top:20px;right:20px;z-index:10;background:#0000001a;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#666;transition:all .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.focus-modal-close-btn:hover{background:#0003;color:#333;transform:scale(1.1)}.focus-nav-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background:#ffffffe6;border:none;border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#333;transition:all .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 12px #00000026}.focus-nav-btn:hover{background:#fff;transform:translateY(-50%) scale(1.1);box-shadow:0 6px 20px #0003}.focus-nav-prev{left:20px}.focus-nav-next{right:20px}.focus-modal-content{flex:1;overflow:hidden;padding:30px 30px 70px;overscroll-behavior:contain}.focus-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;height:100%}.focus-left-section{display:flex;flex-direction:column;min-height:0}.focus-right-section{display:flex;align-items:center;justify-content:center;min-height:0}.focus-description-scroll-container{flex:1;overflow-y:auto;overflow-x:hidden;padding-right:10px;margin-top:20px;scrollbar-width:thin;scrollbar-color:rgba(0,123,255,.3) transparent;scroll-behavior:smooth}.focus-description-scroll-container::-webkit-scrollbar{width:6px}.focus-description-scroll-container::-webkit-scrollbar-track{background:transparent}.focus-description-scroll-container::-webkit-scrollbar-thumb{background-color:#007bff4d;border-radius:10px}.focus-description-scroll-container::-webkit-scrollbar-thumb:hover{background-color:#007bff80}.focus-event-header{position:relative;margin-bottom:0;border-radius:12px;-webkit-backdrop-filter:blur(10px);flex-shrink:0}.focus-event-title-container{display:flex;flex-direction:column;gap:15px}.focus-event-title{margin:0;font-size:2rem;font-weight:600;line-height:1.2;color:#333;word-wrap:break-word}.focus-event-date-time{display:flex;flex-direction:column;gap:5px}.focus-event-date{font-size:1.1rem;color:#666;font-weight:500;text-transform:capitalize}.focus-event-time{font-size:1rem;color:#888;font-weight:400}.focus-event-image-container{width:100%;max-height:100%;display:flex;align-items:center;justify-content:center;background:#f8f9facc;border-radius:12px;overflow:hidden;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.focus-event-image{max-width:100%;max-height:100%;width:100%;height:auto;object-fit:contain;display:block;transition:transform .3s ease}.focus-event-image:hover{transform:scale(1.02)}.focus-event-description{margin-bottom:20px}.focus-description-content{background:#fffc;border-radius:12px;padding:25px;line-height:1.7;font-size:1.05rem;color:#444;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.focus-description-content p{margin-bottom:1rem}.focus-description-content p:last-child{margin-bottom:0}.focus-description-content h1,.focus-description-content h2,.focus-description-content h3,.focus-description-content h4,.focus-description-content h5,.focus-description-content h6{margin-top:1.5rem;margin-bottom:.75rem;font-weight:600;color:#333}.focus-description-content ul,.focus-description-content ol{margin-left:1.5rem;margin-bottom:1rem}.focus-description-content li{margin-bottom:.5rem}.focus-description-content a{color:var(--primary-color, #007bff);text-decoration:underline;transition:color .2s ease}.focus-description-content a:hover{color:var(--primary-hover, #0056b3);text-decoration:none}.focus-description-content strong,.focus-description-content b{font-weight:600}.focus-description-content em,.focus-description-content i{font-style:italic}.focus-description-content code{background:#0000000d;padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;font-size:.9em}.focus-description-content pre{background:#0000000d;padding:15px;border-radius:8px;overflow-x:auto;font-family:Courier New,monospace;font-size:.9em;line-height:1.4}.focus-event-links{margin-bottom:20px}.focus-event-links h3{margin:0 0 15px;font-size:1.2rem;font-weight:600;color:#333}.focus-links-container{display:flex;flex-direction:column;gap:10px}.focus-event-link{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fffc;border:1px solid rgba(0,123,255,.2);border-radius:8px;color:var(--primary-color, #007bff);text-decoration:none;transition:all .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.focus-event-link:hover{background:#007bff1a;border-color:var(--primary-color, #007bff);transform:translateY(-2px);box-shadow:0 4px 12px #007bff33}.focus-event-link svg{flex-shrink:0}.focus-event-properties{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px}.focus-property{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f8f9facc;border-radius:8px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.focus-property-label{font-size:.9rem;font-weight:500;color:#666}.focus-property-value{font-size:.9rem;font-weight:400;color:#333;display:flex;align-items:center;gap:6px}.focus-color-indicator{width:12px;height:12px;border-radius:50%;border:1px solid rgba(0,0,0,.1)}.focus-modal-footer{position:absolute;bottom:0;left:0;right:0;background:#f8f9fae6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.3);padding:12px 30px;display:flex;justify-content:space-between;align-items:center}.focus-modal-footer .focus-nav-btn{position:static;transform:none;width:40px;height:40px;background:#ffffffe6;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#333;transition:all .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 2px 8px #0000001a}.focus-modal-footer .focus-nav-btn:hover{background:#fff;transform:scale(1.1);box-shadow:0 4px 12px #00000026}.focus-event-counter{font-size:.9rem;font-weight:600;color:#333;background:#fffc;padding:6px 14px;border-radius:16px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.focus-navigation-hint{display:none}.focus-event-header.blue{border-left-color:#007bff}.focus-event-header.green{border-left-color:#28a745}.focus-event-header.red{border-left-color:#dc3545}.focus-event-header.orange{border-left-color:#fd7e14}.focus-event-header.purple{border-left-color:#6f42c1}.focus-event-header.default{border-left-color:var(--timeline-color, #007bff)}.dark-mode .event-focus-modal{background:#1e1e1ef2;border-color:#ffffff1a}.dark-mode .focus-modal-close-btn{background:#ffffff1a;color:#ccc}.dark-mode .focus-modal-close-btn:hover{background:#fff3;color:#fff}.dark-mode .focus-nav-btn{background:#282828e6;color:#ccc}.dark-mode .focus-nav-btn:hover{background:#323232;color:#fff}.dark-mode .focus-event-header{background:#282828cc}.dark-mode .focus-event-title{color:#e1e1e1}.dark-mode .focus-event-date{color:#aaa}.dark-mode .focus-event-time{color:#888}.dark-mode .focus-event-image-container{background:#282828cc;border-color:#ffffff1a}.dark-mode .focus-description-content{background:#282828cc;border-color:#ffffff1a;color:#ddd}.dark-mode .focus-description-content h1,.dark-mode .focus-description-content h2,.dark-mode .focus-description-content h3,.dark-mode .focus-description-content h4,.dark-mode .focus-description-content h5,.dark-mode .focus-description-content h6{color:#e1e1e1}.dark-mode .focus-description-content a{color:#3a97ff}.dark-mode .focus-description-content a:hover{color:#5ba7ff}.dark-mode .focus-description-content code,.dark-mode .focus-description-content pre{background:#ffffff1a}.dark-mode .focus-event-links h3{color:#e1e1e1}.dark-mode .focus-event-link{background:#282828cc;border-color:#3a97ff4d;color:#3a97ff}.dark-mode .focus-event-link:hover{background:#3a97ff33;border-color:#3a97ff}.dark-mode .focus-property{background:#282828cc}.dark-mode .focus-property-label{color:#aaa}.dark-mode .focus-property-value{color:#ddd}.dark-mode .focus-modal-footer{background:#282828e6;border-top-color:#ffffff1a}.dark-mode .focus-event-counter{background:#3a3a3acc;color:#e1e1e1}@keyframes slideInFocus{0%{opacity:0;transform:scale(.9) translateY(50px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width: 768px){.event-focus-modal-overlay{padding:20px}.event-focus-modal{border-radius:12px;max-width:none;max-height:none}.focus-modal-content{padding:70px 20px 60px}.focus-content-grid{grid-template-columns:1fr;gap:20px}.focus-event-image-container{max-height:300px}.focus-description-scroll-container{max-height:none;overflow-y:visible}.focus-event-header{padding:20px;margin-bottom:15px}.focus-event-title{font-size:1.6rem}.focus-event-date{font-size:1rem}.focus-event-time{font-size:.9rem}.focus-description-content{padding:20px;font-size:1rem}.focus-modal-close-btn{top:15px;right:15px;width:35px;height:35px}.focus-nav-btn{width:45px;height:45px}.focus-nav-prev{left:15px}.focus-nav-next{right:15px}.focus-modal-footer{padding:10px 20px}.focus-event-counter{font-size:.85rem;padding:5px 12px}}@media (max-width: 480px){.event-focus-modal-overlay{padding:10px}.event-focus-modal{border-radius:8px;max-width:none;max-height:none}.focus-modal-content{padding:60px 15px 50px}.focus-content-grid{gap:15px}.focus-event-image-container{max-height:250px}.focus-event-header{padding:15px;margin-bottom:10px}.focus-event-title{font-size:1.4rem}.focus-event-date{font-size:.95rem}.focus-description-content{padding:15px;font-size:.95rem}.focus-modal-close-btn{top:10px;right:10px;width:32px;height:32px}.focus-nav-btn{width:40px;height:40px}.focus-nav-prev{left:10px}.focus-nav-next{right:10px}.focus-modal-footer{padding:8px 15px}.focus-event-counter{font-size:.8rem;padding:4px 10px}}@media print{.event-focus-modal-overlay{background:none;backdrop-filter:none;-webkit-backdrop-filter:none}.event-focus-modal{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;border:1px solid #ddd;max-height:none;overflow:visible}.focus-modal-close-btn,.focus-nav-btn{display:none}.focus-modal-footer{position:relative;background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;padding:8px 15px}}.manual-timeline-widget{position:relative;margin-top:1.5rem;z-index:2}.manual-timeline-toggle{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;border:2px dashed rgba(13,110,253,.6);border-radius:8px;background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--primary-color, #007bff);font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.manual-timeline-toggle:hover{background-color:#007bff0d;border-color:var(--primary-color, #007bff)}.manual-timeline-toggle:focus{outline:none;box-shadow:0 0 0 3px #007bff26}.manual-timeline-toggle svg{flex-shrink:0}.manual-timeline-dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%);min-width:400px;width:max-content;background-color:var(--card-background, white);border-radius:12px;box-shadow:0 8px 30px #0000001f;padding:1.5rem;margin-top:8px;z-index:200;border:1px solid var(--border-color, #e1e5e9);animation:slideDown .3s ease-out}.manual-timeline-dropdown:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%) rotate(45deg);width:16px;height:16px;background-color:var(--card-background, white);border-left:1px solid var(--border-color, #e1e5e9);border-top:1px solid var(--border-color, #e1e5e9)}.manual-timeline-dropdown .form-group{margin-bottom:1rem}.manual-timeline-dropdown label{display:block;margin-bottom:6px;font-size:.95rem;font-weight:500;color:var(--text-color, #333)}.manual-timeline-dropdown .required{color:#dc3545}.manual-timeline-dropdown input[type=text]{width:100%;padding:12px 16px;border:1px solid var(--input-border, #ddd);border-radius:8px;background-color:var(--input-background, white);color:var(--text-color, #333);font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}.manual-timeline-dropdown input[type=text]:focus{border-color:var(--primary-color, #007bff);outline:none;box-shadow:0 0 0 3px #007bff1a}.manual-timeline-dropdown input[type=text]::placeholder{color:var(--text-secondary, #6c757d);opacity:.7}.form-row{display:flex;gap:1rem;margin-bottom:1rem}.create-btn{background-color:var(--primary-color, #007bff);color:#fff;width:100%;padding:12px 16px;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s ease}.create-btn:hover{background-color:#0056b3;transform:translateY(-1px);box-shadow:0 4px 12px #007bff4d}.create-btn:active{transform:translateY(0)}.create-btn:disabled{opacity:.7;cursor:not-allowed;background-color:#6c757d;transform:none;box-shadow:none}@keyframes slideDown{0%{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:translateY(0)}}body.dark-mode .manual-timeline-toggle{border-color:#9ca3af99;color:#9ca3af;border-width:2px;background:#2d2d2dcc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}body.dark-mode .manual-timeline-toggle:hover{background-color:#9ca3af1f;border-color:#9ca3af;box-shadow:0 0 0 1px #9ca3af4d}body.dark-mode .manual-timeline-toggle:focus{box-shadow:0 0 0 3px #9ca3af40}body.dark-mode .manual-timeline-dropdown{background-color:var(--card-background, #2d2d2d);border-color:var(--border-color, #444);box-shadow:0 8px 30px #0006}body.dark-mode .manual-timeline-dropdown:before{background-color:var(--card-background, #2d2d2d);border-left-color:var(--border-color, #444);border-top-color:var(--border-color, #444)}@media (max-width: 768px){.manual-timeline-dropdown{padding:1.25rem}.form-row{flex-direction:column;gap:1rem}.manual-timeline-toggle{font-size:.95rem;padding:10px 14px}}@media (max-width: 480px){.manual-timeline-dropdown{padding:1rem;margin-top:6px}.manual-timeline-toggle{font-size:.9rem;padding:10px 12px}.manual-timeline-toggle span{display:none}}:root{--bg: #f8f9fa;--text: #222;--muted: #6c757d;--primary: #0d6efd;--primary-strong: #0a58ca;--ring: rgba(13, 110, 253, .35)}.welcome-container{display:grid;place-items:center;min-height:100vh;width:100%;padding:2rem 1rem;position:relative;overflow:hidden;background:radial-gradient(at 20% 30%,#74c0fc 0%,transparent 50%),radial-gradient(at 80% 20%,#339af0 0%,transparent 50%),radial-gradient(at 50% 80%,#228be6 0%,transparent 50%),radial-gradient(at 10% 70%,#1c7ed6 0%,transparent 50%);background-size:200% 200%;animation:auroraShift 15s ease-in-out infinite alternate}.welcome-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:inherit;background-size:300% 300%;mix-blend-mode:screen;opacity:.6;filter:blur(60px);animation:auroraFloat 20s ease-in-out infinite alternate;z-index:0}.welcome-container:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url(/backgrounds/white_siluets.png) center/cover no-repeat;opacity:.25;filter:blur(1px) hue-rotate(210deg) saturate(1.2);z-index:1}.ai-timeline-form{width:100%;max-width:720px;position:relative;z-index:2}.input-group{position:relative}.ai-input{width:100%;padding:1.1rem 3.25rem 1.1rem 1.25rem;border:2px solid rgba(225,229,234,.6);border-radius:9999px;font-size:1.05rem;background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text);transition:border-color .18s ease,box-shadow .18s ease,transform .06s ease}.ai-input:focus{outline:none;border-color:#e1e5ea}.ai-generate-btn{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);display:inline-grid;place-items:center;width:44px;height:44px;border-radius:9999px;border:none;background:var(--primary);color:#fff;cursor:pointer;transition:transform .06s ease,background .18s ease}.ai-generate-btn:hover:not(:disabled){background:var(--primary-strong)}.ai-generate-btn:active:not(:disabled){transform:translateY(-50%) scale(.98)}.ai-generate-btn:disabled{opacity:.6;cursor:not-allowed}.spinner{width:22px;height:22px;animation:spin 1s linear infinite}.spinner .path{stroke:#fff;stroke-linecap:round}@keyframes auroraShift{0%{background-position:0% 50%,100% 50%,50% 100%,0% 100%}50%{background-position:50% 0%,50% 100%,100% 50%,50% 0%}to{background-position:100% 50%,0% 50%,50% 0%,100% 100%}}@keyframes auroraFloat{0%{transform:scale(1) translateY(0);opacity:.5}50%{transform:scale(1.05) translateY(-15px);opacity:.75}to{transform:scale(1) translateY(0);opacity:.5}}@keyframes floatSilhouettes{0%{transform:translateY(0) scale(1) rotate(0);opacity:.15}25%{transform:translateY(-8px) scale(1.02) rotate(.5deg);opacity:.18}50%{transform:translateY(-12px) scale(1.05) rotate(1deg);opacity:.22}75%{transform:translateY(-8px) scale(1.02) rotate(.5deg);opacity:.18}to{transform:translateY(0) scale(1) rotate(0);opacity:.15}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.example-buttons{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;justify-content:space-between}.example-btn{padding:.6rem 1.2rem;border-radius:9999px;border:1px solid rgba(13,110,253,.6);background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--primary);font-weight:600;font-size:.9rem;cursor:pointer;transition:background .08s ease,color .08s ease,transform .06s ease;flex:1;text-align:center;min-width:0}.example-btn:hover:not(:disabled){background:var(--primary);color:#fff}.example-btn:active:not(:disabled){transform:scale(.98)}.example-btn:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#fde2e1;border:1px solid #f4b8b5;color:#7a221f;padding:.8rem 1rem;border-radius:12px;margin:.75rem 0;font-size:.95rem}.dark-mode .welcome-container{background:radial-gradient(at 20% 30%,#6b46c1 0%,transparent 50%),radial-gradient(at 80% 20%,#1e40af 0%,transparent 50%),radial-gradient(at 50% 80%,#0f766e 0%,transparent 50%),radial-gradient(at 10% 70%,#047857 0%,transparent 50%);background-size:200% 200%;animation:auroraShift 15s ease-in-out infinite alternate}.dark-mode .welcome-container:before{background:inherit;background-size:300% 300%;mix-blend-mode:screen;opacity:.4;filter:blur(60px);animation:auroraFloat 20s ease-in-out infinite alternate}.dark-mode .welcome-container:after{opacity:.25;filter:blur(1px) brightness(.7) contrast(1.4)}.dark-mode .welcome-container:before{background:#12121299}.dark-mode .example-btn{border-color:#9ca3af99;background:#2d2d2dcc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#9ca3af}.dark-mode .example-btn:hover:not(:disabled){background:#9ca3af;color:#1a1a1a}.dark-mode .ai-input{background:#333c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-color, #f0f0f0);border-color:#5559}.dark-mode .ai-input:focus{border-color:var(--border-color, #555)}.dark-mode .ai-generate-btn{background:var(--primary-color, #4dabf7)}.dark-mode .ai-generate-btn:hover:not(:disabled){background:var(--primary-color-dark, #339af0)}.dark-mode .error-message{background:#4a1a1a;border-color:#8b2635;color:#ff6b6b}@media (max-width: 520px){.ai-input{font-size:1rem;padding-right:3rem}.ai-generate-btn{width:40px;height:40px}}.layout-container{display:flex;width:100%;height:100%;position:relative}.main-content-area{width:100%;position:relative;transition:padding-left .3s ease}.main-content-area.with-sidebar{padding-left:var(--sidebar-width, 280px)}.main-content-area.full-width,.main-content-area.with-sidebar.sidebar-collapsed{padding-left:0}.z-sidebar{position:fixed;left:0;top:60px;height:calc(100vh - 60px);z-index:10}.welcome-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:calc(100vh - 60px);text-align:center;padding:2rem;background-color:var(--background-color, #f8f9fa)}.welcome-container h2{font-size:2.5rem;margin-bottom:1.5rem;color:var(--primary-color, #007bff)}.welcome-container p{font-size:1.2rem;max-width:600px;margin-bottom:1rem;line-height:1.6;color:var(--text-color, #333)}.welcome-container.guest{background-image:linear-gradient(#ffffffe6,#ffffffe6),url(/backgrounds/timesculpt.png);background-size:cover;background-position:center}.welcome-container.authenticated{background-image:linear-gradient(#ffffffe6,#ffffffe6),url(/backgrounds/timesculpt.png);background-size:cover;background-position:center}.welcome-login-btn{margin-top:2rem;padding:12px 24px;font-size:1.1rem;background-color:var(--primary-color, #007bff);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.welcome-login-btn:hover{background-color:var(--primary-hover-color, #0069d9)}.dark-mode .welcome-container{background-color:var(--dark-bg-color, #222)}.dark-mode .welcome-container h2{color:var(--dark-primary-color, #4da3ff)}.dark-mode .welcome-container p{color:var(--dark-text-color, #e9e9e9)}.dark-mode .welcome-container.guest,.dark-mode .welcome-container.authenticated{background-image:linear-gradient(#222222e6,#222222e6),url(/backgrounds/timesculpt.png)}@media (max-width: 768px){.welcome-container h2{font-size:2rem}.welcome-container p{font-size:1rem}}.description-container{opacity:1;max-height:500px;overflow:hidden;transition:max-height .3s ease-in-out,opacity .3s ease-in-out}.description-container.animating{animation:fadeSlideDown .3s ease-in-out forwards}@keyframes fadeSlideDown{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:500px;transform:translateY(0)}}.add-description-btn,.hide-description-btn{transition:background-color .3s ease-in-out}.hide-description-btn:hover{background-color:#6c757d1a}.add-description-btn svg,.hide-description-btn svg{transition:transform .2s ease}.add-description-btn:hover svg{transform:scale(1.2)}.hide-description-btn:hover svg{transform:scale(1.2)}.event-form{border-radius:8px;position:relative;background-color:var(--section-background);border:1px solid var(--border-color);padding:.75rem;margin-bottom:1rem}.compact-form{display:flex;flex-direction:column}.form-row{display:flex;gap:.5rem;margin-bottom:.5rem;align-items:flex-start}.form-group{margin-bottom:0;flex:1}.title-group{flex:2}.date-group{flex:1}.form-row .title-group .rich-text-editor .editor-content{min-height:42px;padding:.5rem .75rem;line-height:1.4;font-size:.9rem}.form-row .title-group .rich-text-editor .toolbar{display:none}.form-row .title-group .rich-text-editor .editor-content{border-radius:4px}.required-mark{color:var(--delete-button-color)}.form-group label{display:block;margin-bottom:.25rem;font-size:.875rem;font-weight:500;color:var(--text-color)}.image-upload-container{padding:.5rem}.image-upload-wrapper{transition:all .3s ease;overflow:hidden}.image-upload-wrapper.visible{display:block}.image-upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:8rem;border:2px dashed var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease}.image-upload-area:hover{background-color:var(--hover-background);border-color:var(--button-primary)}.image-upload-content{display:flex;flex-direction:column;align-items:center;justify-content:center}.image-upload-icon{width:2rem;height:2rem;margin-bottom:.5rem;color:var(--text-secondary)}.image-upload-text{font-size:.875rem;color:var(--text-secondary);text-align:center}.size-options-container{display:flex;flex-direction:column;gap:12px;padding:8px;margin:0}.size-section,.size-grid{display:flex;flex-direction:column;gap:8px}.size-option{display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .2s ease;padding:12px;border-radius:8px;min-height:48px;width:100%;position:relative;border:1px solid transparent;background-color:var(--card-background);text-align:left;font-family:inherit;font-size:inherit}.size-option:hover{background-color:var(--hover-background);border-color:var(--border-color);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.size-option.active{background-color:var(--selected-background, rgba(0, 123, 255, .1));border-color:var(--button-primary, #007bff)}.size-icon{width:40px;height:40px;border-radius:8px;border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;background-color:var(--card-background)}.size-icon svg{transition:all .2s;stroke:var(--text-secondary)}.size-icon:hover{transform:scale(1.05);border-color:var(--text-secondary);box-shadow:0 4px 12px #00000026}.size-icon.active{border:3px solid var(--button-primary, #007bff);box-shadow:0 0 0 2px #007bff33}.size-icon.active svg{stroke:var(--button-primary, #007bff)}.size-label{font-size:.85rem;font-weight:500;color:var(--text-color);flex-grow:1;text-align:left}.size-option svg{color:var(--button-primary, #007bff);flex-shrink:0}.size-buttons-group{display:flex;gap:8px;margin-bottom:0;justify-content:flex-start}.size-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1.5px solid var(--border-color);border-radius:6px;background-color:var(--size-button-background);cursor:pointer;transition:all .2s;padding:0}.size-button:hover{background-color:var(--size-button-hover);border-color:var(--text-secondary);transform:translateY(-2px)}.size-button.active{border-color:var(--button-primary);background-color:var(--size-button-active-bg)}.size-button.active svg{stroke:var(--button-primary)}.color-options-container{display:flex;flex-direction:column;gap:20px;padding:16px;margin:0}.color-section{display:flex;flex-direction:column;gap:12px}.color-section-title{font-size:.85rem;font-weight:600;color:var(--text-secondary);margin:0;text-transform:uppercase;letter-spacing:.5px}.color-grid{display:flex;flex-direction:column;gap:8px}.color-option{display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .2s ease;padding:12px;border-radius:8px;min-height:48px;width:100%;position:relative;border:1px solid transparent;background-color:var(--card-background);text-align:left;font-family:inherit;font-size:inherit}.color-option:hover{background-color:var(--hover-background);border-color:var(--border-color);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.color-option.active{background-color:var(--selected-background, rgba(0, 123, 255, .1));border-color:var(--button-primary, #007bff)}.color-label{font-size:.85rem;font-weight:500;color:var(--text-color);flex-grow:1;text-align:left}.color-option:has(.color-button.active) .color-label{color:var(--button-primary);font-weight:600}.horizontal-expandables{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem;margin-bottom:1rem}.color-option svg{color:var(--button-primary, #007bff);margin-left:auto;flex-shrink:0}.color-option:hover .color-button{transform:scale(1.05)}.color-option:active .color-button{transform:scale(.98)}.color-button:focus{outline:2px solid var(--button-primary, #007bff);outline-offset:2px}.custom-color-input:focus{outline:2px solid var(--button-primary, #007bff);outline-offset:2px}.custom-color-input::-webkit-color-swatch-wrapper{padding:0;border:none;border-radius:6px}.custom-color-input::-webkit-color-swatch{border:none;border-radius:6px}@media (max-width: 768px){.color-options-container{gap:16px;padding:12px}.color-option{padding:10px;min-height:44px}.color-button,.custom-color-input{width:36px;height:36px}.color-label,.color-section-title{font-size:.8rem}.horizontal-expandables{grid-template-columns:1fr;gap:.5rem}}.color-buttons-group{display:flex;gap:6px;margin:0;justify-content:flex-start}.color-button{width:40px;height:40px;border-radius:8px;border:2px solid var(--border-color);cursor:pointer;transition:all .2s ease;position:relative;flex-shrink:0;background-clip:padding-box}.color-button:hover{transform:scale(1.05);border-color:var(--text-secondary);box-shadow:0 4px 12px #00000026}.color-button.active{border:3px solid var(--button-primary, #007bff);box-shadow:0 0 0 2px #007bff33}.color-button.default svg{stroke:var(--text-secondary)}.color-button.default:hover svg{stroke:var(--text-color)}.color-button.default.active svg{stroke:var(--button-primary)}.color-button.default .color-label{font-size:9px;margin-top:2px;color:var(--text-secondary)}.color-button.default:hover .color-label{color:var(--text-color)}.color-button.default.active .color-label{color:var(--button-primary)}.custom-color-picker{display:flex;flex-direction:column;gap:4px;align-items:center}.color-button.custom{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px;position:relative}.custom-color-input{width:40px;height:40px;border-radius:8px;border:2px solid var(--border-color);cursor:pointer;transition:all .2s ease;padding:0;background:none;flex-shrink:0}.custom-color-input:hover{transform:scale(1.05);border-color:var(--text-secondary);box-shadow:0 4px 12px #00000026}.custom-color-input.active{border:3px solid var(--button-primary, #007bff);box-shadow:0 0 0 2px #007bff33}.color-input{width:32px;height:16px;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;padding:0;background:none}.color-input::-webkit-color-swatch-wrapper{padding:0;border:none}.color-input::-webkit-color-swatch{border:none;border-radius:3px}.error{color:var(--error-text);font-size:.75rem;margin-top:.3rem;padding:.3rem;background-color:var(--error-background);border-radius:4px;border-left:3px solid var(--delete-button-color)}.add-event-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem;border-radius:6px;border:none;font-weight:500;font-size:.9rem;margin-top:.5rem;width:100%;transition:all .2s;color:#fff;background-color:var(--button-primary)}.add-event-btn:not(:disabled):hover{background-color:var(--button-primary-hover);transform:translateY(-1px);box-shadow:0 2px 5px #0003}.add-event-btn:disabled{background-color:var(--badge-background);cursor:not-allowed;opacity:.7}.add-event-btn:focus{outline:none;box-shadow:0 0 0 3px #007bff40}.expandable-group{margin-top:.25rem;margin-bottom:.25rem;border-radius:6px;overflow:hidden;box-shadow:none;border:none}.expandable-group .expandable-menu{border-radius:6px;margin-bottom:.25rem;border:1px solid var(--border-color)}.expandable-group .expandable-menu:first-child{border-top:1px solid var(--border-color)}.expandable-group .expandable-menu:last-child{margin-bottom:0}.form-group+.expandable-group,.expandable-group+.form-group{margin-top:.25rem}.event-form.no-title{border-top:none;padding-top:0}.event-form.no-title .compact-form{margin-top:0}.manual-event-form .event-form{padding:0;margin:0;border:none;background:transparent}.manual-event-form .event-form h3{display:none}@media (max-width: 768px){.form-row{flex-direction:column;gap:.5rem}.title-group,.date-group{flex:1}}.image-preview{position:relative;border:2px solid var(--border-color);border-radius:8px;overflow:hidden;background-color:var(--section-background);margin-bottom:.5rem}.preview-image{width:100%;height:auto;max-height:200px;object-fit:cover;display:block}.remove-image-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;background-color:#dc3545e6;color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:2}.remove-image-btn:hover{background-color:#dc3545;transform:scale(1.1)}.image-info{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);color:#fff;padding:8px 12px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.file-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}.file-size{font-weight:400;opacity:.9}.image-upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:8rem;border:2px dashed var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease;background-color:var(--section-background)}.image-upload-area:hover{border-color:var(--button-primary)}.image-upload-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px}.image-upload-icon{width:2.5rem;height:2.5rem;color:var(--text-secondary);transition:color .2s ease}.image-upload-area:hover .image-upload-icon{color:var(--button-primary)}.image-upload-text{font-size:.875rem;color:var(--text-secondary);font-weight:500;margin:0}.image-upload-subtitle{font-size:.75rem;color:var(--text-secondary);opacity:.8;margin:0}.image-upload-area:hover .image-upload-text,.image-upload-area:hover .image-upload-subtitle{color:var(--button-primary)}.image-input{display:none}.dark-mode .image-preview,.dark-mode .image-upload-area{border-color:var(--border-color, #718096);background-color:var(--section-background, #4a5568)}.dark-mode .image-upload-area:hover{background-color:var(--hover-background, #5a6578);border-color:var(--button-primary, #3a97ff)}.dark-mode .image-info{background:linear-gradient(to top,rgba(0,0,0,.9),transparent)}@media (max-width: 768px){.image-upload-area{height:6rem}.preview-image{max-height:150px}.image-upload-icon{width:2rem;height:2rem}.image-upload-text{font-size:.8rem}.image-upload-subtitle{font-size:.7rem}.remove-image-btn{width:24px;height:24px;top:6px;right:6px}.image-info{padding:6px 10px;font-size:11px}}@media (max-width: 480px){.image-upload-area{height:5rem}.preview-image{max-height:120px}.image-upload-icon{width:1.5rem;height:1.5rem}.image-upload-text{font-size:.75rem}.image-upload-subtitle{font-size:.65rem}.image-info{flex-direction:column;align-items:flex-start;gap:2px}.file-name{max-width:100%}}.image-preview{animation:fadeInScale .3s ease-out}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.image-upload-area.drag-over{background-color:var(--button-primary-hover, #0056b3);border-color:var(--button-primary, #007bff);border-style:solid;border-width:3px;transform:translateY(-3px);box-shadow:0 8px 16px #007bff4d}.image-upload-area.drag-over .image-upload-icon{color:#fff;transform:scale(1.1)}.image-upload-area.drag-over .image-upload-text,.image-upload-area.drag-over .image-upload-subtitle{color:#fff;font-weight:600}.image-upload-area,.image-upload-icon,.image-upload-text,.image-upload-subtitle{transition:all .3s ease}.image-upload-area:hover:not(.drag-over){border-color:var(--button-primary)}.image-upload-area:hover:not(.drag-over) .image-upload-icon{color:var(--button-primary)}.image-upload-area:hover:not(.drag-over) .image-upload-text,.image-upload-area:hover:not(.drag-over) .image-upload-subtitle{color:var(--button-primary)}.hyperlinks-container{padding:.5rem}.hyperlink-input-group{position:relative;margin-bottom:.5rem}.hyperlink-input-group:last-of-type{margin-bottom:.75rem}.hyperlink-input{width:100%;padding:.5rem 2.5rem .5rem .5rem;border:1px solid var(--border-color, #ddd);border-radius:4px;font-size:.9rem;background-color:var(--input-bg, white);color:var(--input-text, #333);transition:border-color .2s,box-shadow .2s}.hyperlink-input:focus{border-color:var(--button-primary, #007bff);outline:none;box-shadow:0 0 0 2px #007bff1a}.hyperlink-input::placeholder{color:var(--text-secondary, #999);opacity:.8}.remove-hyperlink-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:20px;height:20px;background-color:transparent;color:var(--delete-button-color, #dc3545);border:none;border-radius:50%;cursor:pointer;transition:all .2s ease;padding:0}.remove-hyperlink-btn:hover{background-color:var(--delete-button-color, #dc3545);color:#fff;transform:translateY(-50%) scale(1.1)}.remove-hyperlink-btn:active{transform:translateY(-50%) scale(.95)}.add-hyperlink-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.5rem;background-color:transparent;color:var(--button-primary, #007bff);border:1px dashed var(--button-primary, #007bff);border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s ease}.add-hyperlink-btn:hover{background-color:var(--button-primary, #007bff);color:#fff;border-style:solid;transform:translateY(-1px)}.add-hyperlink-btn:active{transform:translateY(0)}.add-hyperlink-btn svg{flex-shrink:0}.dark-mode .hyperlink-input{--input-bg: #2c2c2c;--border-color: #444;--input-text: #e1e1e1;--button-primary: #3a97ff}.dark-mode .hyperlink-input:focus{border-color:var(--button-primary, #3a97ff);box-shadow:0 0 0 2px #3a97ff33}.dark-mode .remove-hyperlink-btn{--delete-button-color: #ff6b6b}.dark-mode .add-hyperlink-btn{--button-primary: #3a97ff}@media (max-width: 768px){.remove-hyperlink-btn{width:24px;height:24px;right:.25rem}}@media (max-width: 480px){.hyperlinks-container{padding:.25rem}.hyperlink-input{font-size:.85rem}.add-hyperlink-btn{font-size:.8rem;padding:.4rem}}.expandable-menu{margin-bottom:.5rem;width:100%}.expandable-header{display:flex;align-items:center;width:100%;padding:.5rem .75rem;background-color:var(--section-background);border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;font-weight:500;color:var(--text-color);text-align:left;cursor:pointer;transition:all .2s ease}.expandable-header:hover{background-color:var(--header-background)}.expandable-header.expanded{border-bottom-left-radius:0;border-bottom-right-radius:0;background-color:var(--header-background);border-bottom:1px solid var(--border-color)}.expandable-icon{margin-right:.25rem;display:flex;align-items:center;transition:transform .3s ease;color:var(--text-color)}.expandable-icon.expanded{transform:rotate(90deg)}.expandable-content{background-color:var(--card-background);border:1px solid var(--border-color);border-top:none;border-bottom-left-radius:6px;border-bottom-right-radius:6px;padding:4px;overflow:hidden;animation:slideDown .3s ease-out}@keyframes slideDown{0%{max-height:0;opacity:0;transform:translateY(-5px)}to{max-height:500px;opacity:1;transform:translateY(0)}}.expandable-group{display:flex;flex-direction:column;gap:.25rem;width:100%;border:none;box-shadow:none}.size-buttons-group{display:flex;gap:6px;margin:0;justify-content:flex-start}.size-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-color);border-radius:4px;background-color:var(--size-button-background);cursor:pointer;transition:all .2s;padding:0}.size-button:hover{background-color:var(--size-button-hover);border-color:var(--text-secondary);transform:translateY(-1px)}.size-button.active{border-color:var(--button-primary, #007bff);background-color:var(--size-button-active-bg)}.size-button svg{transition:all .2s;stroke:var(--text-secondary)}.size-button:hover svg{stroke:var(--text-color)}.size-button.active svg{stroke:var(--button-primary, #007bff)}.add-event-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeInOverlay .2s ease-out;padding:20px}.add-event-modal{background:#f0f0f0f2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;box-shadow:0 10px 30px #0003;max-height:calc(100vh - 120px);width:90vw;max-width:1000px;min-width:600px;display:flex;flex-direction:column;position:relative;animation:fadeIn .2s ease-out;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid rgba(0,0,0,.1);background:#f8f9facc;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.modal-header h2{margin:0;font-size:1.2rem;color:#333;font-weight:600}.close-modal-btn{background:none;border:none;cursor:pointer;color:#666;padding:4px;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.close-modal-btn:hover{color:#333;background-color:#0000000d}.modal-content{padding:1rem 1.5rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(0,123,255,.3) transparent;max-height:calc(100vh - 200px)}.modal-content::-webkit-scrollbar{width:6px}.modal-content::-webkit-scrollbar-track{background:transparent}.modal-content::-webkit-scrollbar-thumb{background-color:#007bff4d;border-radius:10px}.modal-content::-webkit-scrollbar-thumb:hover{background-color:#007bff80}.modal-content .new-button-guide{background-color:#f8f9facc;border:1px dashed #dee2e6;border-radius:8px;padding:1rem;text-align:center;margin-bottom:1rem;position:relative}.modal-content .new-button-guide h4{margin-top:0;margin-bottom:.5rem;font-size:1rem;color:#444}.modal-content .new-button-guide p{margin-bottom:0;font-size:.9rem;color:#555;line-height:1.4}.modal-content .guide-arrow{position:absolute;top:-25px;left:50%;transform:translate(-50%);color:var(--primary-color, #007bff);animation:bounce 1.5s infinite}.save-timeline-btn.modal-save-btn{width:100%;padding:.75rem;margin:.5rem 0;border-radius:6px;font-size:.95rem}.modal-login-prompt{margin-top:1rem;padding:1rem;background-color:#f8f9facc;border-radius:8px;border:1px solid #e9ecef}.modal-login-prompt h4{margin-top:0;margin-bottom:.75rem;font-size:1rem;color:#444}.modal-login-prompt p{margin-bottom:1rem;font-size:.9rem;color:#555;line-height:1.4}.login-button-modal{display:flex;align-items:center;justify-content:center;width:100%;background-color:var(--primary-color, #007bff);color:#fff;border:none;border-radius:6px;padding:.75rem;cursor:pointer;font-weight:500;font-size:.95rem;transition:background-color .2s}.login-button-modal:hover{background-color:var(--primary-hover, #0056b3)}.modal-resize-handle{position:absolute;right:-5px;top:0;height:100%;width:10px;cursor:ew-resize;display:flex;justify-content:center;align-items:center;background-color:transparent;z-index:10;opacity:0;transition:opacity .2s ease}.add-event-modal:hover .modal-resize-handle{opacity:.5}.modal-resize-handle:hover{opacity:1!important}.modal-resize-handle:after{content:"";position:absolute;top:0;bottom:0;left:5px;width:1px;background-color:#0000001a}.modal-resize-handle:hover:after{width:2px;background-color:var(--primary-color, #007bff)}.modal-resize-handle svg{position:absolute;top:50%;transform:translateY(-50%);color:#0000004d;pointer-events:none}.modal-resize-handle:hover svg{color:var(--primary-color, #007bff)}.dark-mode .add-event-modal{background:#1e1e1ef2;border-color:#ffffff1a}.dark-mode .modal-header{background:#282828cc;border-bottom-color:#ffffff1a}.dark-mode .modal-header h2{color:#e1e1e1}.dark-mode .close-modal-btn{color:#aaa}.dark-mode .close-modal-btn:hover{color:#e1e1e1;background-color:#ffffff1a}.dark-mode .modal-content .new-button-guide{background-color:#282828cc;border-color:#ffffff1a}.dark-mode .modal-content .new-button-guide h4{color:#e1e1e1}.dark-mode .modal-content .new-button-guide p{color:#aaa}.dark-mode .modal-login-prompt{background-color:#282828cc;border-color:#ffffff1a}.dark-mode .modal-login-prompt h4{color:#e1e1e1}.dark-mode .modal-login-prompt p{color:#aaa}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0) translate(-50%)}40%{transform:translateY(-10px) translate(-50%)}60%{transform:translateY(-5px) translate(-50%)}}@media (max-width: 768px){.add-event-modal-overlay{padding:15px}.add-event-modal{width:100%;min-width:280px;max-width:none;max-height:calc(100vh - 30px)}.modal-header,.modal-content{padding:1rem}.modal-resize-handle{display:none}}@media (max-width: 480px){.add-event-modal-overlay{padding:10px}.add-event-modal{max-height:calc(100vh - 20px);border-radius:8px;min-width:250px}.modal-header h2{font-size:1.1rem}}.add-event-modal:focus{outline:none}.close-modal-btn:focus{outline:none;box-shadow:0 0 0 2px var(--primary-color, #007bff)}.login-button-modal:focus{outline:none;box-shadow:0 0 0 2px #007bff80}body.modal-open{overflow:hidden}.modal-content .timeline-list{margin-top:1rem}.modal-content .timeline-list h3{font-size:1rem;margin-bottom:.75rem}.modal-content .event-form{background:transparent;border:1px solid rgba(0,0,0,.1);border-radius:8px;padding:1rem;margin-bottom:1rem}.dark-mode .modal-content .event-form{border-color:#ffffff1a}.timeline-context-menu{position:fixed;z-index:10000;background-color:var(--card-background, white);border-radius:8px;box-shadow:var(--dropdown-shadow, 0 3px 15px rgba(0, 0, 0, .15));overflow:hidden;border:1px solid var(--border-color, rgba(0, 0, 0, .08));width:220px;max-height:80vh;display:flex;flex-direction:column;animation:menuFadeIn .2s ease-out;pointer-events:auto}.timeline-context-menu[data-view=color]{width:280px}.context-menu-header{padding:10px 15px;border-bottom:1px solid var(--border-color, #eee);font-weight:500;font-size:.9rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background-color:var(--header-background, white);z-index:10;color:var(--text-color, #333)}.timeline-context-menu[data-view=main] .context-menu-header{justify-content:center}.context-menu-back-btn{background:none;border:none;cursor:pointer;display:flex;align-items:center;padding:0;margin:0 8px 0 0;color:var(--text-secondary, #555);width:auto;transition:color .2s ease}.context-menu-back-btn:hover{color:var(--text-color, #333)}.context-menu-back-btn:hover svg{color:var(--text-secondary, #555);stroke:currentColor}.context-menu-back-btn:focus{outline:none;box-shadow:none;color:var(--text-secondary, #555)}.context-menu-body{overflow-y:auto;max-height:calc(80vh - 40px);scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb, rgba(0, 123, 255, .3)) var(--scrollbar-track, transparent)}.context-menu-body::-webkit-scrollbar{width:6px}.context-menu-body::-webkit-scrollbar-track{background:var(--scrollbar-track, transparent)}.context-menu-body::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb, rgba(0, 123, 255, .3));border-radius:10px}.context-menu-list{list-style:none;margin:0;padding:5px 0}.context-menu-item{padding:10px 15px;display:flex;align-items:center;cursor:pointer;font-size:.9rem;transition:background-color .2s;color:var(--text-color, #333)}.context-menu-item:hover{background-color:var(--section-background, #f5f5f5)}.context-menu-item.active{background-color:var(--section-background, #f0f0f0)}.context-menu-icon-wrapper{width:16px;height:16px;margin-right:10px;display:flex;align-items:center;justify-content:center;color:var(--text-color, #333);flex-shrink:0}.context-menu-chevron{margin-left:auto;color:var(--text-secondary, #777)}.context-menu-check{margin-left:auto;color:var(--button-primary, #007bff)}.context-menu-section{margin-bottom:4px}.context-menu-section:last-child{margin-bottom:0}.context-menu-divider{height:1px;background-color:#0000001a;margin:8px 0}.close-item{color:#000000b3!important}.close-item:hover{background-color:#0000000d!important;color:#000000e6!important}body.dark-mode .context-menu-item.active{background-color:#007bff26;border-left:2px solid var(--button-primary);padding-left:13px}body.dark-mode .context-menu-item:hover:not(.active){background-color:#ffffff0d}body.dark-mode .context-menu-item.active .context-menu-check{color:var(--button-primary)}body.dark-mode .context-menu-back-btn{color:var(--text-secondary, #aaa)}body.dark-mode .context-menu-back-btn:hover{color:var(--text-color, #ddd)}body.dark-mode .context-menu-divider{background-color:#ffffff1a}body.dark-mode .close-item{color:#ffffffb3!important}body.dark-mode .close-item:hover{background-color:#ffffff0d!important;color:#ffffffe6!important}.timeline-context-menu .add-event-item,.timeline-context-menu .background-item,.timeline-context-menu .thickness-item,.timeline-context-menu .color-item,.timeline-context-menu .intervals-item,.timeline-context-menu .autolayout-item{padding:10px 15px;display:flex;align-items:center;cursor:pointer;font-size:.9rem;transition:background-color .2s;color:var(--text-color, #333)}.timeline-context-menu .add-event-item:hover,.timeline-context-menu .background-item:hover,.timeline-context-menu .thickness-item:hover,.timeline-context-menu .color-item:hover,.timeline-context-menu .intervals-item:hover,.timeline-context-menu .autolayout-item:hover{background-color:var(--section-background, #f5f5f5)}.timeline-context-menu .add-event-item.active,.timeline-context-menu .background-item.active,.timeline-context-menu .thickness-item.active,.timeline-context-menu .color-item.active,.timeline-context-menu .intervals-item.active,.timeline-context-menu .autolayout-item.active{background-color:var(--section-background, #f0f0f0)}.timeline-context-menu .add-event-item{color:#007bff;font-weight:600}.timeline-context-menu .add-event-item .context-menu-icon-wrapper{color:#007bff}.group-context-menu{width:200px;position:fixed!important;z-index:10001!important;background-color:var(--card-background, white)!important;border:1px solid var(--border-color, rgba(0, 0, 0, .08))!important;box-shadow:0 4px 20px #0003!important}.group-context-menu .rename-group-item,.group-context-menu .delete-group-item{padding:10px 15px;display:flex;align-items:center;cursor:pointer;font-size:.9rem;transition:background-color .2s;color:var(--text-color, #333)}.group-context-menu .rename-group-item:hover{background-color:var(--section-background, #f5f5f5)}.group-context-menu .delete-group-item{color:#dc3545}.group-context-menu .delete-group-item:hover{background-color:#dc35451a}.group-context-menu .delete-group-item .context-menu-icon-wrapper{color:#dc3545}body.dark-mode .group-context-menu .rename-group-item:hover{background-color:#ffffff0d}body.dark-mode .group-context-menu .delete-group-item{color:#ff6b7a}body.dark-mode .group-context-menu .delete-group-item:hover{background-color:#ff6b7a26}body.dark-mode .group-context-menu .delete-group-item .context-menu-icon-wrapper{color:#ff6b7a}.group-name-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);overflow:hidden;border-radius:8px}.group-name-modal{background:var(--card-background, white);border-radius:8px;box-shadow:0 10px 25px #00000026;width:100%;max-width:360px;overflow:hidden;animation:modalSlideIn .3s ease-out}.group-name-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem .5rem;border-bottom:1px solid var(--border-color, #e1e5e9)}.group-name-modal-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-color, #333)}.group-name-modal-close{background:none;border:none;cursor:pointer;padding:.25rem;border-radius:4px;color:var(--text-secondary, #666);transition:all .2s ease;display:flex;align-items:center;justify-content:center}.group-name-modal-close:hover{background:var(--hover-background, #f5f5f5);color:var(--text-color, #333)}.group-name-modal-form{display:flex;flex-direction:column;height:100%}.group-name-modal-body{padding:.75rem 1rem;flex:1}.input-group{margin-bottom:.5rem}.input-label{display:block;margin-bottom:.375rem;font-weight:500;color:var(--text-color, #333);font-size:.875rem}.group-name-input{width:100%;padding:.6rem .75rem;border:1px solid var(--border-color, #e1e5e9);border-radius:6px;font-size:.95rem;background:var(--input-background, white);color:var(--text-color, #333);transition:all .2s ease;box-sizing:border-box}.group-name-input:focus{outline:none;border-color:var(--button-primary, #007bff);box-shadow:0 0 0 2px #007bff1a}.group-name-input.error{border-color:var(--danger-color, #dc3545)}.group-name-input.error:focus{box-shadow:0 0 0 2px #dc35451a}.error-message{color:var(--danger-color, #dc3545);font-size:.8rem;margin-top:.375rem;display:flex;align-items:center;gap:.25rem}.character-count{font-size:.7rem;color:var(--text-secondary, #666);text-align:right;margin-top:.2rem}.group-name-modal-footer{padding:.75rem 1rem;border-top:1px solid var(--border-color, #e1e5e9);display:flex;gap:.5rem;justify-content:flex-end}.btn{padding:.6rem 1rem;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;display:inline-flex;align-items:center;justify-content:center;min-width:70px}.btn-secondary{background:var(--section-background, #f8f9fa);color:var(--text-secondary, #666);border:1px solid var(--border-color, #e1e5e9)}.btn-secondary:hover:not(:disabled){background:var(--hover-background, #e9ecef);color:var(--text-color, #333)}.btn-primary{background:var(--button-primary, #007bff);color:#fff}.btn-primary:hover:not(:disabled){background:var(--button-primary-hover, #0056b3);transform:translateY(-1px);box-shadow:0 4px 12px #007bff4d}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.dark-mode .group-name-modal{--card-background: #2d2d2d;--border-color: #404040;--text-color: #e1e1e1;--text-secondary: #aaa;--hover-background: #4a4a4a;--input-background: #3a3a3a;--section-background: #3a3a3a;--button-primary: #0d6efd;--button-primary-hover: #0b5ed7;--danger-color: #ff6b6b}.dark-mode .group-name-modal-overlay{background-color:#000000b3}.dark-mode .group-name-modal-close:hover{background:var(--hover-background, #4a4a4a);color:var(--text-color, #e1e1e1)}.dark-mode .btn-secondary:hover:not(:disabled){background:var(--hover-background, #4a4a4a);color:var(--text-color, #e1e1e1)}@media (max-width: 480px){.group-name-modal{margin:1rem;max-width:calc(100vw - 2rem)}.group-name-modal-header{padding:.75rem .75rem .5rem}.group-name-modal-body{padding:.5rem .75rem}.group-name-modal-footer{padding:.5rem .75rem;flex-direction:column}.btn{width:100%}}@media (prefers-contrast: high){.group-name-modal{border:2px solid var(--text-color, #333)}.group-name-input{border-width:2px}}@media (prefers-reduced-motion: reduce){.group-name-modal{animation:none}.btn{transition:none}.btn-primary:hover:not(:disabled){transform:none}}.hyperlink-selection-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeInOverlay .2s ease-out;padding:20px}.hyperlink-selection-modal{background:#fffffffa;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.1);border-radius:12px;box-shadow:0 10px 30px #0003;width:90vw;max-width:500px;min-width:320px;max-height:80vh;display:flex;flex-direction:column;position:relative;animation:scaleIn .2s ease-out;overflow:hidden}.hyperlink-selection-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid rgba(0,0,0,.1);background:#f8f9facc;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.hyperlink-selection-modal .modal-header h3{margin:0;font-size:1.1rem;color:#333;font-weight:600}.hyperlink-selection-modal .close-modal-btn{background:none;border:none;cursor:pointer;color:#666;padding:4px;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.hyperlink-selection-modal .close-modal-btn:hover{color:#333;background-color:#0000000d}.event-title-display{padding:1rem 1.5rem;border-bottom:1px solid rgba(0,0,0,.05);background:#f8f9fa66}.event-title-content{font-size:.9rem;color:#666;font-style:italic;text-align:center}.event-title-content b,.event-title-content strong{font-weight:700}.event-title-content i,.event-title-content em{font-style:italic}.event-title-content u{text-decoration:underline}.hyperlinks-list{flex:1;padding:1rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(0,123,255,.3) transparent}.hyperlinks-list::-webkit-scrollbar{width:6px}.hyperlinks-list::-webkit-scrollbar-track{background:transparent}.hyperlinks-list::-webkit-scrollbar-thumb{background-color:#007bff4d;border-radius:10px}.hyperlinks-list::-webkit-scrollbar-thumb:hover{background-color:#007bff80}.hyperlink-item{display:flex;align-items:center;gap:1rem;width:100%;padding:.875rem;margin-bottom:.5rem;background:#f8f9fa99;border:1px solid rgba(0,0,0,.05);border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left}.hyperlink-item:last-child{margin-bottom:0}.hyperlink-item:hover{background:#007bff0d;border-color:#007bff33;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.hyperlink-item:active{transform:translateY(0)}.hyperlink-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#007bff1a;border-radius:6px;color:var(--button-primary, #007bff);flex-shrink:0;transition:all .2s ease}.hyperlink-item:hover .hyperlink-icon{background:#007bff33;transform:scale(1.05)}.hyperlink-info{flex:1;min-width:0;overflow:hidden}.hyperlink-domain{font-size:.9rem;font-weight:600;color:#333;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hyperlink-url{font-size:.8rem;color:#666;font-family:monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.external-link-icon{display:flex;align-items:center;justify-content:center;color:#999;flex-shrink:0;transition:all .2s ease}.hyperlink-item:hover .external-link-icon{color:var(--button-primary, #007bff);transform:translate(2px)}.dark-mode .hyperlink-selection-modal{background:#1e1e1efa;border-color:#ffffff1a}.dark-mode .hyperlink-selection-modal .modal-header{background:#282828cc;border-bottom-color:#ffffff1a}.dark-mode .hyperlink-selection-modal .modal-header h3{color:#e1e1e1}.dark-mode .hyperlink-selection-modal .close-modal-btn{color:#aaa}.dark-mode .hyperlink-selection-modal .close-modal-btn:hover{color:#e1e1e1;background-color:#ffffff1a}.dark-mode .event-title-display{background:#28282866;border-bottom-color:#ffffff1a}.dark-mode .event-title-content{color:#aaa}.dark-mode .hyperlink-item{background:#28282899;border-color:#ffffff1a}.dark-mode .hyperlink-item:hover{background:#3a97ff1a;border-color:#3a97ff4d}.dark-mode .hyperlink-icon{background:#3a97ff33;color:#3a97ff}.dark-mode .hyperlink-item:hover .hyperlink-icon{background:#3a97ff4d}.dark-mode .hyperlink-domain{color:#e1e1e1}.dark-mode .hyperlink-url{color:#aaa}.dark-mode .external-link-icon{color:#666}.dark-mode .hyperlink-item:hover .external-link-icon{color:#3a97ff}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.hyperlink-selection-overlay{padding:15px}.hyperlink-selection-modal{width:100%;min-width:280px;max-width:none}.hyperlink-selection-modal .modal-header{padding:1rem}.hyperlinks-list{padding:.75rem}.hyperlink-item{padding:.75rem;gap:.75rem}.hyperlink-icon{width:28px;height:28px}.hyperlink-domain{font-size:.85rem}.hyperlink-url{font-size:.75rem}}@media (max-width: 480px){.hyperlink-selection-overlay{padding:10px}.hyperlink-selection-modal{border-radius:8px;min-width:250px}.hyperlink-selection-modal .modal-header h3{font-size:1rem}.event-title-display{padding:.75rem 1rem}.event-title-content{font-size:.85rem}.hyperlinks-list{padding:.5rem}.hyperlink-item{padding:.5rem;gap:.5rem}.hyperlink-icon{width:24px;height:24px}.hyperlink-domain{font-size:.8rem}.hyperlink-url{font-size:.7rem}}.hyperlink-selection-modal:focus{outline:none}.hyperlink-selection-modal .close-modal-btn:focus{outline:none;box-shadow:0 0 0 2px var(--button-primary, #007bff)}.hyperlink-item:focus{outline:none;box-shadow:0 0 0 2px #007bff80}body.hyperlink-modal-open{overflow:hidden}.presentation-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;z-index:1000;display:flex;align-items:center;justify-content:center}.presentation-modal{width:100vw;height:100vh;background:var(--bg-color, #ffffff);position:relative;display:flex;flex-direction:column;overflow:hidden}.presentation-close-btn{position:absolute;top:20px;right:20px;background:#00000080;border:none;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all .2s ease;color:#fff}.presentation-close-btn:hover{background:#000000b3;transform:scale(1.1)}.presentation-content{flex:1;display:flex;align-items:center;justify-content:center;padding:80px 40px;overflow:hidden}.presentation-start-screen{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.start-screen-content{text-align:center;max-width:800px;animation:fadeInUp .6s ease-out}.timeline-title{font-size:4.5rem;font-weight:700;color:var(--primary-color, #007bff);margin:0 0 30px;line-height:1.1;text-shadow:0 2px 4px rgba(0,0,0,.1)}.timeline-date-range{font-size:1.4rem;color:var(--text-secondary, #666);margin:0 0 40px;font-weight:300}.timeline-stats{display:flex;justify-content:center;margin:0 0 50px}.stat-item{display:flex;flex-direction:column;align-items:center;padding:0 30px}.stat-number{font-size:3rem;font-weight:700;color:var(--primary-color, #007bff);line-height:1}.stat-label{font-size:1.1rem;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:1px;margin-top:5px}.start-presentation-btn{background:var(--primary-color, #007bff);color:#fff;border:none;padding:18px 36px;font-size:1.2rem;font-weight:600;border-radius:50px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:12px;margin:0 auto}.start-presentation-btn:hover:not(:disabled){background:var(--primary-hover, #0056b3);transform:translateY(-2px);box-shadow:0 8px 25px #007bff4d}.start-presentation-btn:disabled{background:var(--disabled-color, #ccc);cursor:not-allowed;transform:none}.no-events-message{color:var(--text-secondary, #666);font-size:1.1rem;margin-top:20px;font-style:italic}.presentation-slide{width:100%;height:100%;display:flex;flex-direction:column}.slide-content{flex:1;display:flex;flex-direction:column;height:100%;animation:slideIn .5s ease-out}.slide-header{text-align:center;margin-bottom:40px;padding-bottom:30px;border-bottom:3px solid currentColor}.slide-header.blue{color:var(--blue-color, #007bff)}.slide-header.green{color:var(--green-color, #28a745)}.slide-header.red{color:var(--red-color, #dc3545)}.slide-header.orange{color:var(--orange-color, #fd7e14)}.slide-header.purple{color:var(--purple-color, #6f42c1)}.slide-header.default{color:var(--primary-color, #007bff)}.slide-title{font-size:2.8rem;font-weight:700;margin:0 0 20px;line-height:1.2;color:inherit}.slide-date{font-size:1.3rem;font-weight:400;color:var(--text-secondary, #666);text-transform:capitalize}.slide-body{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.slide-left{display:flex;flex-direction:column;gap:30px}.slide-description{font-size:1.2rem;line-height:1.8;color:var(--text-primary, #333)}.slide-description p{margin:0 0 20px}.slide-description ul,.slide-description ol{margin:0 0 20px 20px}.slide-description li{margin-bottom:8px}.slide-links h3{font-size:1.3rem;margin:0 0 15px;color:var(--text-primary, #333)}.links-container{display:flex;flex-direction:column;gap:10px}.slide-link{display:flex;align-items:center;gap:8px;color:var(--primary-color, #007bff);text-decoration:none;font-size:1.1rem;padding:8px 12px;border-radius:8px;transition:all .2s ease;background:#007bff0d}.slide-link:hover{background:#007bff1a;transform:translate(5px)}.slide-right{display:flex;justify-content:center;align-items:center}.slide-image-container{max-width:100%;max-height:100%;display:flex;justify-content:center;align-items:center}.slide-image{max-width:100%;max-height:60vh;object-fit:contain;border-radius:12px;box-shadow:0 10px 40px #00000026}.slide-body:has(.slide-right:empty){grid-template-columns:1fr;max-width:800px;margin:0 auto}.presentation-footer{display:flex;align-items:center;justify-content:space-between;padding:20px 40px;background:#0000000d;border-top:1px solid rgba(0,0,0,.1)}.presentation-nav-btn{background:none;border:none;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--text-primary, #333)}.presentation-nav-btn:hover:not(:disabled){background:#0000001a;transform:scale(1.1)}.presentation-nav-btn:disabled{opacity:.3;cursor:not-allowed}.presentation-progress{display:flex;flex-direction:column;align-items:center;gap:10px;flex:1;max-width:400px;margin:0 30px}.slide-counter{font-size:.9rem;color:var(--text-secondary, #666);font-weight:500}.progress-bar{width:100%;height:4px;background:#0000001a;border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--primary-color, #007bff);transition:width .3s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.dark-mode .presentation-modal{background:var(--bg-dark, #1a1a1a);color:var(--text-dark, #ffffff)}.dark-mode .timeline-title{color:var(--primary-light, #3a97ff)}.dark-mode .timeline-date-range,.dark-mode .stat-label,.dark-mode .slide-date{color:var(--text-secondary-dark, #aaa)}.dark-mode .stat-number{color:var(--primary-light, #3a97ff)}.dark-mode .slide-header.blue{color:var(--blue-light, #3a97ff)}.dark-mode .slide-header.green{color:var(--green-light, #34ce57)}.dark-mode .slide-header.red{color:var(--red-light, #ff6b6b)}.dark-mode .slide-header.orange{color:var(--orange-light, #ff9f43)}.dark-mode .slide-header.purple{color:var(--purple-light, #8b5cf6)}.dark-mode .slide-description,.dark-mode .slide-links h3{color:var(--text-primary-dark, #e0e0e0)}.dark-mode .slide-link{color:var(--primary-light, #3a97ff);background:#3a97ff1a}.dark-mode .slide-link:hover{background:#3a97ff33}.dark-mode .presentation-footer{background:#ffffff0d;border-top-color:#ffffff1a}.dark-mode .presentation-nav-btn{color:var(--text-primary-dark, #e0e0e0)}.dark-mode .presentation-nav-btn:hover:not(:disabled){background:#ffffff1a}.dark-mode .slide-counter{color:var(--text-secondary-dark, #aaa)}.dark-mode .progress-bar{background:#ffffff1a}.dark-mode .progress-fill{background:var(--primary-light, #3a97ff)}@media (max-width: 1200px){.presentation-content{padding:60px 30px}.timeline-title{font-size:3.8rem}.slide-title{font-size:2.4rem}.slide-body{gap:40px}}@media (max-width: 768px){.presentation-content{padding:40px 20px}.timeline-title{font-size:3.2rem}.slide-title{font-size:2rem}.slide-body{grid-template-columns:1fr;gap:30px}.slide-description{font-size:1.1rem}.presentation-footer{padding:15px 20px}.presentation-progress{margin:0 20px}}@media (max-width: 480px){.presentation-close-btn{top:15px;right:15px;width:40px;height:40px}.timeline-title{font-size:2.8rem}.timeline-date-range{font-size:1.2rem}.slide-title{font-size:1.8rem}.start-presentation-btn{padding:15px 30px;font-size:1.1rem}.presentation-footer{padding:10px 15px}.presentation-nav-btn{width:40px;height:40px}.presentation-progress{margin:0 15px}}.support-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:2100;animation:fadeIn .2s ease-out}.support-modal{background:var(--bg-color, white);border-radius:12px;max-width:600px;max-height:90vh;width:90%;box-shadow:0 20px 40px #00000026;animation:scaleIn .2s ease-out;overflow:hidden;display:flex;flex-direction:column}.support-modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 16px;border-bottom:1px solid var(--border-color, #e1e5e9)}.support-modal-header h2{margin:0;color:var(--text-color, #333);font-size:1.5rem;font-weight:600}.support-modal-close{background:none;border:none;color:var(--text-secondary, #666);cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background-color .2s,color .2s}.support-modal-close:hover{background-color:var(--bg-secondary, #f8f9fa);color:var(--text-color, #333)}.support-modal-content{flex:1;padding:16px 24px;overflow:hidden}.shortcuts-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;height:100%}.shortcuts-column{display:flex;flex-direction:column;gap:16px}.feature-section{margin-bottom:24px}.feature-section.compact{margin-bottom:0}.feature-section:last-child{margin-bottom:0}.feature-section h3{margin:0 0 8px;color:var(--primary-color, #007bff);font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:8px}.feature-section p{margin:0;color:var(--text-secondary, #666);line-height:1.5;font-size:.95rem}.feature-section ul{margin:0;padding-left:0;color:var(--text-secondary, #666);line-height:1.6;font-size:.95rem}.feature-section li{margin-bottom:6px;display:flex;align-items:center}.feature-section.compact li{margin-bottom:4px;font-size:.9rem}.feature-section li:last-child{margin-bottom:0}.action-icon{margin-right:8px;color:var(--primary-color, #007bff);vertical-align:middle;flex-shrink:0}.action-icon.mouse-icon{display:inline-block;vertical-align:-2px}.feature-section kbd{background:var(--bg-secondary, #f1f3f5);color:var(--text-color, #333);padding:2px 6px;border-radius:4px;font-size:.85rem;font-family:Monaco,Consolas,monospace;border:1px solid var(--border-color, #e1e5e9)}.support-modal-footer{padding:16px 24px 24px;border-top:1px solid var(--border-color, #e1e5e9)}.learn-more-btn{width:100%;background:var(--primary-color, #007bff);color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background-color .2s,transform .1s}.learn-more-btn:hover{background:var(--primary-color-dark, #0056b3);transform:translateY(-1px)}.learn-more-btn:active{transform:translateY(0)}.learn-more-btn svg{flex-shrink:0}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.dark-mode .support-modal{background:var(--bg-color-dark, #2d2d2d)}.dark-mode .support-modal-header{border-bottom-color:var(--border-color-dark, #404040)}.dark-mode .support-modal-header h2{color:var(--text-color-dark, #f0f0f0)}.dark-mode .support-modal-close{color:var(--text-secondary-dark, #aaa)}.dark-mode .support-modal-close:hover{background-color:var(--bg-secondary-dark, #404040);color:var(--text-color-dark, #f0f0f0)}.dark-mode .feature-section h3{color:var(--primary-color-dark, #4dabf7)}.dark-mode .feature-section p,.dark-mode .feature-section ul{color:var(--text-secondary-dark, #bbb)}.dark-mode .feature-section kbd{background:var(--bg-secondary-dark, #404040);color:var(--text-color-dark, #f0f0f0);border-color:var(--border-color-dark, #555)}.dark-mode .action-icon{color:var(--primary-color-dark, #4dabf7)}.dark-mode .support-modal-footer{border-top-color:var(--border-color-dark, #404040)}.dark-mode .learn-more-btn{background:var(--primary-color-dark, #4dabf7)}.dark-mode .learn-more-btn:hover{background:var(--primary-color-darker, #339af0)}@media (max-width: 640px){.support-modal{width:95%;max-height:95vh;margin:20px}.support-modal-header{padding:20px 20px 16px}.support-modal-header h2{font-size:1.3rem}.support-modal-content{padding:12px 20px}.shortcuts-grid{grid-template-columns:1fr;gap:16px}.shortcuts-column{gap:12px}.feature-section h3{font-size:1rem}.feature-section.compact li{font-size:.85rem}.support-modal-footer{padding:16px 20px 20px}.learn-more-btn{font-size:.95rem;padding:12px 16px}}:root{--sidebar-width: 300px;--primary-color: #007bff;--primary-hover: #0056b3;--bg-color: #f5f5f5;--border-color: #ddd;--shadow: 0 2px 4px rgba(0, 0, 0, .1);--shadow-hover: 0 4px 8px rgba(0, 0, 0, .2);--shadow-dragging: 0 8px 16px rgba(0, 0, 0, .2);--save-button-color: #28a745}*{margin:0;padding:0;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}body{background-color:var(--bg-color);min-height:100vh;overflow-x:hidden}h2{color:#333}h3{color:#444}.app-container{position:relative;width:100%;min-height:100vh;overflow:hidden}.main-content{display:flex;flex-direction:column;width:100%;min-height:100vh;position:absolute;top:0;left:0;right:0;bottom:0}.main-content-with-topbar{top:0;height:100vh}.timeline-wrapper{height:100%;width:100%;position:relative}.main-content h2{text-align:center}.error{color:#dc3545;margin-top:.5rem;font-size:.875rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes menuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%{transform:scale(.8);opacity:.8}50%{transform:scale(1.2);opacity:1}to{transform:scale(.8);opacity:.8}}@keyframes highlight{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.timeline-container{flex-grow:1;position:relative;min-height:400px;overflow:hidden;cursor:default;will-change:transform;height:100%;background-color:inherit;transition:background-color .3s ease;--timeline-color: var(--primary-color, #007bff);--timeline-color-dark: var(--primary-color-dark, #0062cc);--timeline-thickness: 2px}.timeline{position:relative;height:100%;min-height:400px;transform-origin:center;will-change:transform;background-color:transparent}.timeline-line{position:absolute;background:var(--timeline-color);z-index:1}.horizontal .timeline-line{height:var(--timeline-thickness, 2px);width:100%;top:50%;transform:translateY(-50%)}.horizontal .timeline-line:before{content:"";position:absolute;top:-20px;bottom:-20px;left:0;right:0;z-index:2}.vertical .timeline-line{width:var(--timeline-thickness, 2px);height:100%;left:50%;transform:translate(-50%)}.vertical .timeline-line:before{content:"";position:absolute;top:0;bottom:0;left:-20px;right:-20px;z-index:2}.event-connection-line{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5;overflow:visible}.event-connection-line line{stroke-linecap:round;transition:stroke .3s ease,stroke-width .2s ease}.event{position:absolute;background:#fff;border:3px solid var(--timeline-color);border-radius:4px;padding:.25rem;max-width:200px;cursor:move;-webkit-user-select:none;user-select:none;transition:box-shadow .2s,border-color .3s ease,transform .1s ease;box-shadow:var(--shadow);transform-origin:center;z-index:10!important;transform:translate(-50%,-50%)}.event:hover{box-shadow:var(--shadow-hover)}.event.last-clicked{z-index:30!important;box-shadow:0 4px 10px #00000040}.event.dragging{box-shadow:var(--shadow-dragging);z-index:40!important;opacity:.9}.event.default{border:3px solid var(--timeline-color, #007bff)}.event.default:hover,.event.default.last-clicked{border:3px solid var(--timeline-color-dark, #0062cc);box-shadow:0 0 8px #007bff4d}.event.custom{border:3px solid var(--custom-event-color, #007bff)}.event.custom:hover,.event.custom.last-clicked{border:3px solid var(--custom-event-color-dark, #0062cc);box-shadow:0 0 8px var(--custom-event-color-shadow, rgba(0, 123, 255, .3))}.event.blue{border:3px solid #007bff}.event.blue:hover,.event.blue.last-clicked{border:3px solid #0062cc;box-shadow:0 0 8px #007bff4d}.event.green{border:3px solid #28a745}.event.green:hover,.event.green.last-clicked{border:3px solid #1e7e34;box-shadow:0 0 8px #28a7454d}.event.red{border:3px solid #dc3545}.event.red:hover,.event.red.last-clicked{border:3px solid #bd2130;box-shadow:0 0 8px #dc35454d}.event.orange{border:3px solid #fd7e14}.event.orange:hover,.event.orange.last-clicked{border:3px solid #d63e00;box-shadow:0 0 8px #fd7e144d}.event.purple{border:3px solid #6f42c1}.event.purple:hover,.event.purple.last-clicked{border:3px solid #5e35a1;box-shadow:0 0 8px #6f42c14d}.horizontal .snapping-guide{width:1px;height:100%;top:0}.vertical .snapping-guide{height:1px;width:100%;left:0}@keyframes snapPulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}to{transform:scale(1);opacity:1}}.event.just-snapped{animation:snapPulse .3s ease-in-out}.event.small{padding:.1rem;max-width:100px;font-size:.75rem}.event.medium{padding:.25rem;max-width:200px;font-size:.95rem}.event.large{padding:.4rem;max-width:300px;font-size:1.15rem}.timeline-info{position:absolute;bottom:10px;left:50%;transform:translate(-50%);font-size:.8rem;color:#00000080;padding:4px 8px;border-radius:4px;z-index:10;pointer-events:none;-webkit-user-select:none;user-select:none;text-align:center;width:100%;background-color:#ffffffb3}.timeline-info kbd{background:#0000001a;padding:2px 4px;border-radius:3px;font-size:.75rem;font-family:monospace}.snapping-tooltip{position:fixed;background-color:#000c;color:#fff;padding:4px 8px;border-radius:4px;font-size:.75rem;pointer-events:none;z-index:1000;max-width:200px;text-align:center;transform:translate(-50%,-100%);margin-top:-8px}.event{overflow:auto;word-wrap:break-word}.event b,.event strong{font-weight:700}.event i,.event em{font-style:italic}.event u{text-decoration:underline}.event a{color:inherit;text-decoration:underline}@keyframes styleChange{0%{transform:scale(.95);opacity:.7}to{transform:scale(1);opacity:1}}.timeline-line.style-changed,.event-connection-line.style-changed line,.event.style-changed{animation:styleChange .3s ease-out}.interval-marker{position:absolute;z-index:6;pointer-events:none;transition:opacity .3s ease}.interval-marker.horizontal{display:flex;flex-direction:column;align-items:center}.interval-marker.horizontal .marker-line{height:26px;width:2px;background-color:#007bff99;position:relative;transform:translateY(-50%)}.interval-marker.horizontal .marker-label{text-align:center;font-size:.7rem;color:#000000b3;white-space:nowrap;max-width:100px;overflow:hidden;text-overflow:ellipsis;margin-top:18px}.interval-marker.vertical{display:flex;align-items:center}.interval-marker.vertical .marker-line{width:26px;height:2px;background-color:#007bff99;position:relative;transform:translate(-50%)}.interval-marker.vertical .marker-label{font-size:.7rem;color:#000000b3;white-space:nowrap;margin-left:18px}.timeline-line:hover{filter:brightness(1.2)}.create-event-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2100;animation:fadeIn .2s ease-out}.create-event-modal{background-color:#fff;padding:1rem;border-radius:8px;box-shadow:0 4px 10px #00000040;width:300px;animation:scaleIn .2s ease-out}.create-event-modal h3{margin-top:0;margin-bottom:.5rem;font-size:1.2rem}.create-event-modal .date-display{font-size:.9rem;color:#666;margin-bottom:1rem}.create-event-modal label{display:block;margin-bottom:.3rem;font-size:.9rem}.create-event-modal input{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.create-event-modal .modal-buttons{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.create-event-modal button{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s,transform .1s}.create-event-modal .cancel-btn{background-color:#f1f1f1;color:#333}.create-event-modal .cancel-btn:hover{background-color:#e0e0e0}.create-event-modal .save-btn{background-color:var(--timeline-color, #007bff);color:#fff}.create-event-modal .save-btn:hover{filter:brightness(1.1)}@keyframes scaleIn{0%{transform:translate(-50%,-50%) scale(.9);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.create-event-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0000004d;display:flex;align-items:center;justify-content:center;z-index:2100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .2s ease-out}.create-event-modal{background-color:var(--modal-bg, white);color:var(--modal-text, #333);padding:1.2rem;border-radius:6px;box-shadow:0 2px 20px #00000026;width:280px;animation:scaleIn .2s ease-out}.dark-mode .create-event-modal{--modal-bg: #1e1e1e;--modal-text: #e1e1e1;--input-bg: #2c2c2c;--input-border: #444;--input-text: #e1e1e1;box-shadow:0 2px 20px #00000040}:root{--modal-bg: white;--modal-text: #333;--input-bg: white;--input-border: #eaeaea;--input-text: #333}.create-event-modal h3{margin:0 0 .75rem;font-size:1.1rem;font-weight:500;color:var(--modal-text, #333)}.create-event-modal .date-display{font-size:.85rem;color:var(--date-color, #666);margin-bottom:1rem;border-bottom:1px solid var(--border-color, #f0f0f0);padding-bottom:.75rem}.dark-mode .create-event-modal .date-display{--date-color: #aaa;--border-color: #444}.create-event-modal .form-group{margin-bottom:1rem}.create-event-modal label{display:block;margin-bottom:.3rem;font-size:.85rem;color:var(--label-color, #555)}.dark-mode .create-event-modal label{--label-color: #bbb}.create-event-modal input{width:100%;padding:.6rem;border:1px solid var(--input-border, #eaeaea);border-radius:4px;font-size:.95rem;background-color:var(--input-bg, white);color:var(--input-text, #333);transition:border-color .2s,box-shadow .2s}.create-event-modal input:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px #007bff1a}.dark-mode .create-event-modal input:focus{box-shadow:0 0 0 2px #007bff33}.create-event-modal .modal-buttons{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.2rem}.create-event-modal button{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s}.create-event-modal button:hover{transform:translateY(-1px)}.create-event-modal .cancel-btn{background-color:transparent;color:var(--cancel-btn-color, #666)}.create-event-modal .cancel-btn:hover{background-color:var(--cancel-btn-hover, #f5f5f5);color:var(--cancel-btn-hover-text, #333)}.dark-mode .create-event-modal .cancel-btn{--cancel-btn-color: #aaa;--cancel-btn-hover: #333;--cancel-btn-hover-text: #eee}.create-event-modal .save-btn{background-color:#007bff;color:#fff}.create-event-modal .save-btn:hover{filter:brightness(1.05)}@keyframes scaleIn{0%{transform:translate(-50%,-50%) scale(.95);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.timeline-line{cursor:pointer;transition:filter .2s ease}.timeline-line:hover{cursor:pointer;filter:brightness(1.2)}.timeline-hover-date{position:absolute;background-color:#000000bf;color:#fff;padding:3px 7px;border-radius:3px;font-size:.8rem;font-weight:400;letter-spacing:.3px;pointer-events:none;z-index:50;white-space:nowrap;box-shadow:0 2px 4px #00000026;animation:fadeIn .15s ease-out;transform:translateY(-5px)}.dark-mode .timeline-hover-date{background-color:#1e1e1ee6;color:#e1e1e1;box-shadow:0 2px 4px #0000004d}.event .event-image-container{margin:8px 0;border-radius:4px;overflow:hidden;background-color:#f8f9fa;position:relative}.event .event-image{width:100%;height:auto;max-height:120px;object-fit:cover;display:block;transition:opacity .3s ease;opacity:0}.event .event-image.loaded{opacity:1}.event .event-image.error{display:none}.event .event-image-loading{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background-color:#f8f9fa;min-height:60px}.event .loading-spinner{width:16px;height:16px;border:2px solid #e9ecef;border-top:2px solid var(--timeline-color, #007bff);border-radius:50%;animation:spin 1s linear infinite}.event .event-image-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:15px;color:#6c757d;background-color:#f8f9fa;min-height:60px;font-size:11px;text-align:center}.event .event-image-error svg{margin-bottom:4px;width:16px;height:16px}.event .event-image-error span{font-size:10px;opacity:.8}.event .event-title-content{font-weight:600;line-height:1.2;margin-bottom:4px;font-style:normal}.event .event-date-content{font-size:.8rem;color:#666;font-weight:400;margin-top:4px}.event.has-image{min-height:auto}.event.has-image .event-image-container{margin:6px 0}.event.small .event-image{max-height:80px}.event.medium .event-image{max-height:120px}.event.large .event-image{max-height:160px}.event.small .event-image-loading,.event.small .event-image-error{min-height:40px}.event.medium .event-image-loading,.event.medium .event-image-error{min-height:60px}.event.large .event-image-loading,.event.large .event-image-error{min-height:80px}.dark-mode .event .event-image-container,.dark-mode .event .event-image-loading{background-color:#4a5568}.dark-mode .event .loading-spinner{border-color:#718096;border-top-color:var(--timeline-color, #3a97ff)}.dark-mode .event .event-image-error{background-color:#4a5568;color:#a0aec0}.dark-mode .event .event-date-content{color:#a0aec0}@media (max-width: 768px){.event .event-image{max-height:100px}.event.small .event-image{max-height:60px}.event.medium .event-image{max-height:100px}.event.large .event-image{max-height:140px}.event .event-image-error{padding:10px;font-size:10px}.event .event-image-error svg{width:14px;height:14px}}@media (max-width: 480px){.event .event-image{max-height:80px}.event.small .event-image{max-height:50px}.event.medium .event-image{max-height:80px}.event.large .event-image{max-height:120px}.event .event-image-loading,.event .event-image-error{min-height:40px;padding:8px}.event .loading-spinner{width:14px;height:14px}.event .event-image-error svg{width:12px;height:12px}.event .event-image-error span{font-size:9px}}.event .event-image-container{animation:fadeInImage .3s ease-out}@keyframes fadeInImage{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.event.has-hyperlinks{transition:box-shadow .2s,border-color .3s ease,transform .1s ease}.event-hyperlink-indicator{position:absolute;bottom:3px;right:20px;display:flex;align-items:center;gap:2px;padding:2px 4px;background:#007bff1a;border-radius:8px;font-size:10px;color:var(--button-primary, #007bff);font-weight:600;opacity:.8;transition:all .2s;min-width:18px;justify-content:center;cursor:pointer}.event-hyperlink-indicator:hover{opacity:1;background:#007bff33;transform:scale(1.1)}.event-hyperlink-indicator svg{width:10px;height:10px;stroke-width:2.5}.hyperlink-count{font-size:9px;font-weight:700;min-width:12px;text-align:center}.event-description-indicator{position:absolute;bottom:3px;right:3px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--primary-color);opacity:.7;transition:transform .2s,opacity .2s}.event:hover .event-description-indicator{transform:scale(1.2);opacity:1}.event.has-hyperlinks.has-description .event-hyperlink-indicator{right:20px}.event.has-hyperlinks.has-description .event-description-indicator{right:3px}.event.has-hyperlinks:not(.has-description) .event-hyperlink-indicator{right:10px}.event.blue .event-hyperlink-indicator{background:#007bff1a;color:#007bff}.event.blue .event-hyperlink-indicator:hover{background:#007bff33}.event.green .event-hyperlink-indicator{background:#28a7451a;color:#28a745}.event.green .event-hyperlink-indicator:hover{background:#28a74533}.event.red .event-hyperlink-indicator{background:#dc35451a;color:#dc3545}.event.red .event-hyperlink-indicator:hover{background:#dc354533}.event.orange .event-hyperlink-indicator{background:#fd7e141a;color:#fd7e14}.event.orange .event-hyperlink-indicator:hover{background:#fd7e1433}.event.purple .event-hyperlink-indicator{background:#6f42c11a;color:#6f42c1}.event.purple .event-hyperlink-indicator:hover{background:#6f42c133}.event.default .event-hyperlink-indicator{background:#007bff1a;color:var(--timeline-color, #007bff)}.event.default .event-hyperlink-indicator:hover{background:#007bff33;color:var(--timeline-color-dark, #0062cc)}.event.custom .event-hyperlink-indicator{background:var(--custom-event-color-bg, rgba(0, 123, 255, .1));color:var(--custom-event-color, #007bff)}.event.custom .event-hyperlink-indicator:hover{background:var(--custom-event-color-bg-hover, rgba(0, 123, 255, .2));color:var(--custom-event-color-dark, #0062cc)}.dark-mode .event-hyperlink-indicator{background:#3a97ff33;color:#3a97ff}.dark-mode .event-hyperlink-indicator:hover{background:#3a97ff4d}.dark-mode .event.blue .event-hyperlink-indicator{background:#3a97ff33;color:#3a97ff}.dark-mode .event.blue .event-hyperlink-indicator:hover{background:#3a97ff4d}.dark-mode .event.green .event-hyperlink-indicator{background:#48bb7833;color:#48bb78}.dark-mode .event.green .event-hyperlink-indicator:hover{background:#48bb784d}.dark-mode .event.red .event-hyperlink-indicator{background:#fc818133;color:#fc8181}.dark-mode .event.red .event-hyperlink-indicator:hover{background:#fc81814d}.dark-mode .event.orange .event-hyperlink-indicator{background:#fb923c33;color:#fb923c}.dark-mode .event.orange .event-hyperlink-indicator:hover{background:#fb923c4d}.dark-mode .event.purple .event-hyperlink-indicator{background:#937dc233;color:#937dc2}.dark-mode .event.purple .event-hyperlink-indicator:hover{background:#937dc24d}.dark-mode .event.default .event-hyperlink-indicator{background:#3a97ff33;color:var(--timeline-color, #3a97ff)}.dark-mode .event.default .event-hyperlink-indicator:hover{background:#3a97ff4d}.dark-mode .event.custom .event-hyperlink-indicator{background:var(--custom-event-color-bg-dark, rgba(58, 151, 255, .2));color:var(--custom-event-color, #3a97ff)}.dark-mode .event.custom .event-hyperlink-indicator:hover{background:var(--custom-event-color-bg-dark-hover, rgba(58, 151, 255, .3))}@media (max-width: 768px){.event-hyperlink-indicator{bottom:2px;right:18px;padding:1px 3px;font-size:9px;min-width:16px}.event-hyperlink-indicator svg{width:9px;height:9px}.hyperlink-count{font-size:8px}.event.has-hyperlinks.has-description .event-hyperlink-indicator{right:18px}.event.has-hyperlinks.has-description .event-description-indicator{right:2px}.event.has-hyperlinks:not(.has-description) .event-hyperlink-indicator{right:8px}}@media (max-width: 480px){.event-hyperlink-indicator{bottom:1px;right:16px;padding:1px 2px;font-size:8px;min-width:14px}.event-hyperlink-indicator svg{width:8px;height:8px}.hyperlink-count{font-size:7px}.event.has-hyperlinks.has-description .event-hyperlink-indicator{right:16px}.event.has-hyperlinks.has-description .event-description-indicator{right:1px}.event.has-hyperlinks:not(.has-description) .event-hyperlink-indicator{right:6px}}.event-hyperlink-indicator{animation:fadeInScale .3s ease-out}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:.8;transform:scale(1)}}.event-hyperlink-indicator[title]:hover:after{content:attr(title);position:absolute;top:-30px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;white-space:nowrap;z-index:100;pointer-events:none;animation:fadeInTooltip .3s ease-out}@keyframes fadeInTooltip{0%{opacity:0;transform:translate(-50%) translateY(-5px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.dark-mode .event-hyperlink-indicator[title]:hover:after{background:#1e1e1ee6}.timeline-container[style*=background-image]{filter:none;backdrop-filter:none;-webkit-backdrop-filter:none}.timeline-container.with-filtered-background{transition:filter .3s ease,background-image .3s ease}.event-detail-panel{position:fixed;top:60px;right:0;height:calc(100vh - 60px);width:350px;background:#f0f0f0f2;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);box-shadow:-3px 0 15px #0000001a;z-index:90;display:flex;flex-direction:column;border-left:1px solid var(--border-color);transition:transform .3s ease-out;transform:translate(0);pointer-events:auto}.detail-panel-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(0,0,0,.1);background-color:#f8f9faf2;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);position:sticky;top:0;z-index:10;transition:background-color .3s,backdrop-filter .3s}.dark-mode .timeline-container{filter:none;backdrop-filter:none;-webkit-backdrop-filter:none}.dark-mode .event-detail-panel{background:#282c34f2;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.dark-mode .detail-panel-header{background-color:#1e222af2;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}@media (max-width: 768px){.event-detail-panel{background:#f0f0f0fa;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px)}.detail-panel-header{background-color:#f8f9fafa;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px)}.dark-mode .event-detail-panel{background:#282c34fa;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px)}.dark-mode .detail-panel-header{background-color:#1e222afa;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px)}}@supports not (backdrop-filter: blur(1px)){.event-detail-panel{background:#f0f0f0fa}.detail-panel-header{background-color:#f8f9fafa}.dark-mode .event-detail-panel{background:#282c34fa}.dark-mode .detail-panel-header{background-color:#1e222afa}}.timeline-container[data-has-filtered-background=true]{position:relative}.timeline-container[data-has-filtered-background=true]:before{content:"";position:absolute;top:-20px;left:-20px;right:-20px;bottom:-20px;z-index:-1}.timeline-container:before{content:"";position:absolute;top:-20px;left:-20px;right:-20px;bottom:-20px;z-index:-1;pointer-events:none;background-image:inherit;background-size:inherit;background-position:inherit;background-repeat:inherit;filter:var(--bg-filter, none);transition:filter .3s ease}.timeline-container[style*=--background-filter]{background-image:none!important}.timeline-container[style*=--background-filter]:before{background-image:var(--background-image-url, none)}.timeline-container.has-filtered-background{position:relative;background:none}.timeline-container.has-filtered-background:before{content:"";position:absolute;top:-20px;left:-20px;right:-20px;bottom:-20px;z-index:-1;pointer-events:none;background-image:var(--bg-image);background-size:cover;background-position:center;background-repeat:no-repeat;filter:var(--bg-filter, none);transition:filter .3s ease}.timeline{position:relative;z-index:1}.event{position:absolute;z-index:10!important}.timeline-context-menu{z-index:1000}.event-detail-panel{z-index:90}.dark-mode .timeline-container:before{filter:var(--bg-filter, none)}@media (max-width: 768px){.timeline-container:before{filter:var(--bg-filter, none)}}@supports not (background: var(--bg-image)){.timeline-container.has-filtered-background:before{background-size:cover;background-position:center;background-repeat:no-repeat}}@media print{.topbar,.timeline-actions-dropdown,.timeline-context-menu,.event-context-menu,.floating-buttons,.group-panel,.welcome-screen,.auth-modal,.create-event-modal,.edit-event-modal,.delete-confirmation-modal,.timeline-share-modal,.event-focus-modal-overlay,.background-manager{display:none!important}body.printing-timeline,html.printing-timeline{margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important}.timeline-container{width:100%!important;height:auto!important;min-height:500px!important;max-height:none!important;overflow:visible!important;margin:0!important;padding:20mm!important;background:#fff!important;box-shadow:none!important;border:none!important;page-break-inside:avoid;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.timeline-container:before{display:none!important}.timeline{position:relative!important;transform:none!important;width:100%!important;height:auto!important;min-height:400px!important;background:transparent!important;overflow:visible!important;page-break-inside:avoid}.timeline-line{background:#333!important;position:absolute!important}.horizontal .timeline-line{height:3px!important;width:100%!important;top:50%!important;transform:translateY(-50%)!important}.vertical .timeline-line{width:3px!important;height:100%!important;left:50%!important;transform:translate(-50%)!important}.event{position:absolute!important;background:#fff!important;border:2px solid #333!important;border-radius:4px!important;padding:8px!important;max-width:200px!important;min-width:120px!important;cursor:default!important;-webkit-user-select:text!important;user-select:text!important;box-shadow:0 1px 3px #0003!important;transform:translate(-50%,-50%)!important;z-index:10!important;page-break-inside:avoid;overflow:visible!important}.event:hover{box-shadow:0 1px 3px #0003!important;transform:translate(-50%,-50%)!important}.event.blue{border-color:#007bff!important}.event.green{border-color:#28a745!important}.event.red{border-color:#dc3545!important}.event.orange{border-color:#fd7e14!important}.event.purple{border-color:#6f42c1!important}.event.custom{border-color:var(--custom-event-color, #007bff)!important}.event.default{border-color:#333!important}.event-title{font-size:12px!important;font-weight:600!important;color:#333!important;margin-bottom:4px!important;line-height:1.2!important}.event-date{font-size:10px!important;color:#666!important;margin-bottom:6px!important;line-height:1.1!important}.event-description{font-size:9px!important;color:#555!important;line-height:1.3!important;max-height:60px!important;overflow:hidden!important}.event-image-container{margin:6px 0!important;background:#f8f9fa!important;border:1px solid #dee2e6!important;border-radius:4px!important}.event-image{max-height:80px!important;max-width:100%!important;border-radius:3px!important;object-fit:contain!important;filter:none!important}.event.small{max-width:150px!important;min-width:100px!important;padding:6px!important}.event.small .event-title{font-size:11px!important}.event.small .event-date{font-size:9px!important}.event.small .event-description{font-size:8px!important;max-height:40px!important}.event.small .event-image{max-height:60px!important}.event.medium{max-width:200px!important;min-width:120px!important;padding:8px!important}.event.large{max-width:250px!important;min-width:150px!important;padding:10px!important}.event.large .event-title{font-size:13px!important}.event.large .event-date{font-size:11px!important}.event.large .event-description{font-size:10px!important;max-height:80px!important}.event.large .event-image{max-height:100px!important}.event-description-indicator,.event-hyperlink-indicator,.event .loading-spinner,.event .event-image-error,.event .event-image-loading{display:none!important}.event-connection-line{display:block!important;position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;pointer-events:none!important;z-index:5!important}.event-connection-line line{stroke:#666!important;stroke-width:1px!important;stroke-linecap:round!important}.timeline-intervals{display:block!important}.interval-marker{background:#666!important;color:#333!important;font-size:10px!important;padding:2px 6px!important;border:1px solid #999!important;border-radius:3px!important;background-color:#fff!important}body.printing-timeline .timeline-container:before{content:attr(data-timeline-title)!important;display:block!important;position:static!important;background:none!important;filter:none!important;font-size:18px!important;font-weight:600!important;color:#333!important;text-align:center!important;margin-bottom:20px!important;padding:10px 0!important;border-bottom:2px solid #333!important}.event{page-break-inside:avoid!important;break-inside:avoid!important}.timeline{page-break-before:avoid!important;break-before:avoid!important}.dark-mode .timeline-container,.dark-mode .timeline,.dark-mode .event{background:#fff!important;color:#333!important}.dark-mode .event-title{color:#333!important}.dark-mode .event-date{color:#666!important}.dark-mode .event-description{color:#555!important}.dark-mode .timeline-line{background:#333!important}.dark-mode .interval-marker{background-color:#fff!important;color:#333!important;border-color:#999!important}@page{size:A4 landscape;margin:15mm}@media print and (max-width: 21cm){@page{size:A4 portrait;margin:20mm}.timeline-container{padding:10mm!important}.event{max-width:180px!important;padding:6px!important}.event-title{font-size:11px!important}.event-date{font-size:9px!important}.event-description{font-size:8px!important;max-height:50px!important}}}.add-description-btn,.hide-description-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;border-radius:4px;cursor:pointer;margin:.75rem 0;width:100%;transition:background-color .2s,color .2s,border-color .2s;font-size:.95rem;font-weight:400}.add-description-btn{background-color:transparent;color:var(--primary-color);border:1px dashed var(--primary-color)}.add-description-btn:hover{background-color:#007bff1a}.hide-description-btn{background-color:transparent;color:#6c757d;border:1px solid #dee2e6}.hide-description-btn:hover{background-color:#f8f9fa}.add-description-btn svg,.hide-description-btn svg{margin-right:8px;width:18px;height:18px;flex-shrink:0}.add-description-btn span,.hide-description-btn span{line-height:1.2;display:inline-block}.save-timeline-btn{background-color:transparent!important;position:relative;overflow:hidden;transition:background-color .3s,opacity .3s;display:flex;align-items:center;justify-content:center;border-radius:4px;border:none;cursor:pointer;font-weight:500;color:#fff}.save-timeline-btn:not(:disabled){background-color:var(--save-button-color)!important;opacity:1}.save-timeline-btn:disabled{background-color:#6c757d!important;opacity:.7;cursor:default}.save-timeline-btn:hover:not(:disabled){background-color:#218838!important}.topbar-save-btn{width:auto;padding:0 16px;height:36px;margin-right:10px}.unsaved-indicator{display:inline-block;width:8px;height:8px;border-radius:50%;background-color:#f8f9fa;margin-right:8px;animation:pulse 1.5s infinite}.add-event-btn{display:flex;align-items:center;justify-content:center;padding:.75rem;border-radius:4px;border:none;font-weight:500;font-size:.95rem;margin:.5rem 0;width:100%;transition:background-color .3s,opacity .3s;position:relative;overflow:hidden;color:#fff}.add-event-btn:not(:disabled){background-color:var(--primary-color)!important;opacity:1}.add-event-btn:disabled{background-color:#6c757d!important;opacity:.7;cursor:default}.add-event-btn:hover:not(:disabled){background-color:var(--primary-hover)!important}.add-event-btn svg{margin-right:8px;flex-shrink:0}.add-event-btn span{line-height:1.2}.edit-btn,.delete-btn{padding:.4rem .8rem;border-radius:4px;font-size:.85rem;cursor:pointer;transition:all .2s ease;font-weight:500}.edit-btn{background-color:var(--primary-color);color:#fff}.edit-btn:hover{background-color:var(--primary-hover)}.delete-btn{background-color:#fff;border:1px solid #dc3545;color:#dc3545}.delete-btn:hover{background-color:#dc3545;color:#fff}.delete-btn-subtle{position:absolute;top:10px;right:10px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;padding:0;margin:0;background:none;border:none;border-radius:50%;color:var(--text-secondary, #888);cursor:pointer;transition:all .2s ease;opacity:.8;z-index:5}.delete-btn-subtle:hover{background-color:#dc35451a;color:var(--delete-button-color, #dc3545);opacity:1}.event-detail-panel{position:fixed;top:60px;right:0;height:calc(100vh - 60px);width:350px;background:#f0f0f0b3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);box-shadow:-3px 0 15px #0000001a;z-index:90;display:flex;flex-direction:column;border-left:1px solid var(--border-color);transition:transform .3s ease-out;transform:translate(0);pointer-events:auto}.event-detail-panel.hidden{transform:translate(100%)}.event-detail-panel.expanded{width:550px}.detail-panel-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(0,0,0,.1);background-color:#f8f9fab3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:sticky;top:0;z-index:10;transition:background-color .3s,backdrop-filter .3s}.detail-panel-header h3{margin:0;font-size:1.15rem;color:#333;font-weight:500}.panel-header-actions{display:flex;align-items:center;gap:10px}.panel-header-actions button{background:none;border:none;cursor:pointer;color:#777;transition:color .2s,background-color .2s;border-radius:4px;padding:6px;display:flex;align-items:center;justify-content:center;width:30px;height:30px}.panel-header-actions button:hover{color:#333;background-color:#0000000d}.detail-panel-content{flex:1;padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem;transition:opacity .2s ease}.detail-panel-content.loading{opacity:.5}.detail-panel-content::-webkit-scrollbar{width:6px}.detail-panel-content::-webkit-scrollbar-track{background:#f1f1f1}.detail-panel-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.detail-panel-content::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.event-title{border-bottom:1px solid #eee;padding-bottom:1rem}.event-title h4{margin:0;font-size:1.25rem;color:#333;margin-bottom:.5rem;font-weight:500}.event-date{display:inline-block;font-size:.95rem;color:#666;background-color:#fff;padding:.5rem .75rem;border-radius:8px;border:1px solid #f1f3f5;box-shadow:0 2px 4px #0000000d;margin-bottom:.75rem}.event-detail-panel.expanded .event-title h4{font-size:1.4rem;margin-bottom:.8rem}.event-detail-panel.expanded .event-date{font-size:1rem;padding:.3rem .8rem}.event-description h5{display:none}.description-content{font-size:.95rem;line-height:1.6;color:#444;background-color:#fff;padding:1rem;border-radius:8px;box-shadow:0 2px 4px #0000000d;border:1px solid #f1f3f5;word-wrap:break-word;overflow-wrap:break-word;max-width:100%;width:100%}.description-content a{color:var(--primary-color);text-decoration:underline;word-break:break-all;transition:color .2s;overflow-wrap:break-word;word-wrap:break-word}.description-content a:hover{text-decoration:none;color:var(--primary-hover)}.description-content b,.description-content strong{font-weight:700}.description-content i,.description-content em{font-style:italic}.description-content u{text-decoration:underline}.description-content ol,.description-content ul{margin-left:1.5rem;margin-bottom:1rem;max-width:100%;overflow-wrap:break-word;word-wrap:break-word}.description-content li{margin-bottom:.5rem;max-width:100%;overflow-wrap:break-word;word-wrap:break-word}.description-content pre,.description-content code{max-width:100%;overflow-x:auto;word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap}.no-description{background-color:#f8f9fa;padding:1rem;border-radius:8px;color:#6c757d;font-style:italic;text-align:center;margin-bottom:1.25rem;border:1px solid #e9ecef}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000040;display:flex;justify-content:center;align-items:flex-start;z-index:1000;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding-top:80px}.event-edit-modal{background:#fff;width:600px;max-width:90vw;border-radius:10px;box-shadow:0 5px 25px #00000026;position:relative;max-height:calc(90vh - 80px);overflow-y:auto;animation:slideUp .3s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px}.modal-header h3{margin:0;font-size:1.2rem;color:#333;font-weight:500}.modal-header-buttons{display:flex;align-items:center;gap:10px}.modal-header-buttons .delete-btn,.modal-header-buttons .save-btn{display:flex;align-items:center;justify-content:center;border-radius:4px;padding:8px 16px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;height:38px;margin:0;width:auto}.modal-header-buttons .delete-btn{background-color:#fff;color:#dc3545;border:1px solid #dc3545}.modal-header-buttons .delete-btn:hover{background-color:#dc35451a}.modal-header-buttons .save-btn{background-color:#007bff;color:#fff;border:none}.modal-header-buttons .save-btn:hover{background-color:#0069d9}.modal-header-buttons .delete-btn svg,.modal-header-buttons .save-btn svg{margin-right:8px}.delete-confirmation-modal{background:#fff;width:400px;max-width:90vw;border-radius:10px;box-shadow:0 5px 25px #00000026;padding:20px;position:relative;animation:slideUp .3s ease-out}.delete-confirmation-modal h3{margin:0 0 15px;font-size:1.2rem;color:#333;font-weight:500}.delete-confirmation-modal p{margin-bottom:20px;font-size:.95rem;line-height:1.5;color:#555}.modal-buttons{display:flex;justify-content:flex-end;gap:12px}.toggle-switch{position:relative;display:inline-block;width:52px;height:26px}.toggle-switch label{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ddd;transition:.4s;border-radius:34px}.toggle-switch label:before{position:absolute;content:"";height:18px;width:18px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%;box-shadow:0 2px 5px #0003}.toggle-switch input:checked+label:before{transform:translate(26px)}.rich-text-editor{position:relative;width:100%;margin-bottom:.5rem;border-radius:4px;overflow:hidden}.editor-toolbar{display:flex;background-color:#f8f9fa;border:1px solid var(--border-color);border-bottom:none;padding:8px;border-radius:4px 4px 0 0;overflow:hidden;max-height:0;transition:max-height .3s ease,opacity .3s ease,transform .3s ease;opacity:0;transform:translateY(-10px)}.editor-toolbar.active{max-height:30px;opacity:1;transform:translateY(0)}.format-btn{background:none;border:none;cursor:pointer;padding:5px 8px;margin:0 2px;border-radius:4px;color:#555;transition:background-color .2s,color .2s;display:flex;align-items:center;justify-content:center;width:auto}.format-btn:hover{background-color:#e9ecef;color:#333}.toggle-toolbar-btn{background:none;border:none;cursor:pointer;padding:8px;margin-bottom:5px;border-radius:4px;color:#007bff;transition:background-color .2s,color .2s;display:flex;align-items:center;font-size:.8rem;width:auto}.toggle-toolbar-btn svg{margin-right:5px}.toggle-toolbar-btn:hover{background-color:#007bff1a}.editor-content{width:100%;min-height:100px;padding:.75rem;border:1px solid var(--border-color);border-radius:0 0 4px 4px;outline:none;overflow-y:auto;line-height:1.5;background-color:#fff;font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.editor-toolbar:not(.active)+.toggle-toolbar-btn+.editor-content{border-radius:4px}.editor-content:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #007bff40}.editor-content[placeholder]:empty:before{content:attr(placeholder);color:#adb5bd}.timeline-item{display:flex;flex-direction:column;padding:12px;margin-bottom:8px;background-color:var(--card-background, white);border:1px solid var(--border-color, #eee);border-radius:6px;cursor:pointer;transition:all .2s ease;position:relative;box-shadow:0 1px 2px #0000000a}.timeline-item:hover{border-color:var(--primary-color, #007bff);box-shadow:0 2px 4px #0000001a}.timeline-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px;padding-right:20px}.timeline-title{font-weight:600;font-size:.95rem;color:var(--text-color, #333);line-height:1.3;margin:0;white-space:nowrap;text-overflow:ellipsis;max-width:calc(100% - 40px)}.timeline-date{font-size:.75rem;color:var(--text-secondary, #6c757d);display:flex;align-items:center;gap:6px}.timeline-date svg{opacity:.7;color:var(--text-secondary, #6c757d)}.timeline-limit-indicator{padding:10px;background-color:var(--section-background, #f8f9fa);border-radius:6px;margin-bottom:15px;font-size:.85rem;color:var(--text-secondary, #6c757d);text-align:center;transition:background-color .3s,color .3s;border:1px solid var(--border-color, #eee)}.timeline-limit-count{margin-bottom:5px;font-weight:500}.timeline-limit-progress{height:6px;background-color:var(--border-color, #e9ecef);border-radius:3px;overflow:hidden}.timeline-limit-bar{height:100%;background-color:var(--primary-color, #007bff);border-radius:3px;transition:width .3s,background-color .3s}.timeline-limit-bar.limit-reached{background-color:var(--delete-button-color, #dc3545)}.timeline-empty{padding:1rem;text-align:center;color:var(--text-secondary, #6c757d);background-color:var(--section-background, #f8f9fa);border-radius:6px;border:1px dashed var(--border-color, #ddd);font-size:.9rem}.event.small{min-width:100px;max-width:100px}.event.medium{min-width:200px;max-width:200px}.event.large{min-width:300px;max-width:300px}.interval-type-container{margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid rgba(0,0,0,.08)}.interval-type-header{display:flex;align-items:center;margin-bottom:8px}.interval-type-header span{font-size:.85rem;color:var(--text-color, #555);margin-left:6px}.interval-type-select-wrapper{position:relative}.interval-type-select{width:100%;padding:6px 8px;font-size:.9rem;border:1px solid var(--border-color, #ddd);border-radius:4px;background-color:var(--card-background, white);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;color:var(--text-color, #444)}.interval-type-select-wrapper:after{content:"⌄";position:absolute;right:10px;top:50%;transform:translateY(-50%);pointer-events:none;font-size:1rem;color:var(--text-secondary, #666)}.interval-type-select:focus{outline:none;border-color:var(--button-primary, #007bff);box-shadow:0 0 0 2px #007bff1a}.interval-marker{position:absolute;pointer-events:none;z-index:6}.interval-marker .marker-line{position:absolute;background-color:#007bff99;transition:height .2s,width .2s}.interval-marker .marker-label{font-size:.75rem;background-color:#ffffffd9;border-radius:2px;padding:2px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90px;box-shadow:0 1px 2px #0000001a;pointer-events:none;z-index:7;text-align:center;font-weight:500;color:#444}.interval-marker.horizontal .marker-line{width:1px;height:16px}.interval-marker.horizontal .marker-label{position:absolute;top:0;left:50%;transform:translate(-50%)}.interval-marker.vertical .marker-line{height:1px;width:16px}.interval-marker.vertical .marker-label{position:absolute;left:0;top:50%;transform:translateY(-50%)}body.dark-mode .interval-marker .marker-label{background-color:#1e1e1ed9;color:#e0e0e0;box-shadow:0 1px 3px #0003}body.dark-mode .interval-type-select{background-color:var(--card-background, #333);border-color:var(--border-color, #555);color:var(--text-color, #ddd)}body.dark-mode .interval-type-select-wrapper:after{color:var(--text-secondary, #aaa)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.event-detail-panel{width:280px}.event-detail-panel.expanded{width:400px}.interval-marker .marker-label{font-size:.7rem;max-width:70px;padding:1px 3px}.modal-header{padding:12px 15px}.modal-header h3{font-size:1.1rem}.modal-header-buttons{gap:6px}.modal-header-buttons .delete-btn,.modal-header-buttons .save-btn{padding:6px 12px;font-size:.85rem}}@media (max-width: 576px){.event-detail-panel,.event-detail-panel.expanded{width:100%}.timeline-container.with-detail-panel{opacity:.3;pointer-events:none}}.error{color:#dc3545;margin-top:.5rem;margin-bottom:.5rem;font-size:.875rem;padding:.5rem;background-color:#dc35451a;border-radius:4px;border-left:3px solid #dc3545}.timeline-info-bar{position:absolute;bottom:12px;left:12px;right:12px;display:flex;justify-content:space-between;align-items:center;background:#0000000d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;padding:8px 16px;font-size:12px;color:#000000b3;pointer-events:none;z-index:5;gap:16px}.timeline-duration{font-weight:500;white-space:nowrap}.timeline-instructions{text-align:right;opacity:.8;line-height:1.3}.dark-mode .timeline-info-bar{background:#ffffff1a;color:#fffc}.dark-mode .timeline-duration{color:#ffffffe6}.dark-mode .timeline-instructions{color:#ffffffb3}@media (max-width: 768px){.timeline-info-bar{flex-direction:column;align-items:flex-start;gap:4px;padding:8px 12px}.timeline-instructions{text-align:left;font-size:11px}.timeline-duration{font-size:11px}}@media (max-width: 480px){.timeline-info-bar{font-size:10px;padding:6px 10px}.timeline-instructions{font-size:10px;line-height:1.2}.timeline-duration{font-size:10px}}.event-detail-panel.editing{min-width:400px}.event-detail-panel.editing.expanded{min-width:500px}.event-detail-panel .edit-form{padding:0;margin:0}.event-detail-panel .form-group{margin-bottom:16px}.event-detail-panel .form-group label{display:block;margin-bottom:6px;font-weight:500;color:var(--text-color);font-size:14px}.event-detail-panel .required-mark{color:#dc3545}.event-detail-panel .form-row{display:flex;gap:16px;margin-bottom:16px}.event-detail-panel .property-row{flex-direction:column;gap:12px}.event-detail-panel .color-group,.event-detail-panel .size-group{flex:1}.event-detail-panel .color-buttons-group,.event-detail-panel .size-buttons-group{display:flex;gap:8px;flex-wrap:wrap}.event-detail-panel .color-button,.event-detail-panel .size-button{width:32px;height:32px;border:2px solid #ddd;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;background:#fff}.event-detail-panel .color-button:hover,.event-detail-panel .size-button:hover{border-color:#007bff;transform:scale(1.05)}.event-detail-panel .color-button.active,.event-detail-panel .size-button.active{border-color:#007bff;border-width:3px;transform:scale(1.1)}.event-detail-panel .color-button.default{background:linear-gradient(45deg,#f8f9fa 25%,transparent 25%),linear-gradient(-45deg,#f8f9fa 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f8f9fa 75%),linear-gradient(-45deg,transparent 75%,#f8f9fa 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0px}.event-detail-panel .size-icon{opacity:.7}.event-detail-panel .size-button.active .size-icon{opacity:1}.event-detail-panel .delete-button-container{margin-top:20px;padding-top:16px;border-top:1px solid #eee;display:flex;justify-content:flex-start}.event-detail-panel .delete-btn{background:#dc3545;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px;display:flex;align-items:center;gap:6px;transition:background-color .2s ease}.event-detail-panel .delete-btn:hover{background:#c82333}.event-detail-panel .error{color:#dc3545;font-size:13px;margin-top:8px;padding:8px 12px;background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px}.event-detail-panel .panel-header-actions{display:flex;gap:8px;align-items:center}.event-detail-panel .save-btn,.event-detail-panel .cancel-btn,.event-detail-panel .edit-btn,.event-detail-panel .expand-btn,.event-detail-panel .close-panel-btn{background:none;border:none;padding:8px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;color:var(--text-color)}.event-detail-panel .save-btn{background:#28a745;color:#fff}.event-detail-panel .save-btn:hover{background:#218838}.event-detail-panel .cancel-btn{background:#6c757d;color:#fff}.event-detail-panel .cancel-btn:hover{background:#5a6268}.event-detail-panel .edit-btn:hover,.event-detail-panel .expand-btn:hover,.event-detail-panel .close-panel-btn:hover{background:#0000001a}.dark-mode .event-detail-panel .color-button,.dark-mode .event-detail-panel .size-button{background:var(--bg-color);border-color:var(--border-color)}.dark-mode .event-detail-panel .color-button:hover,.dark-mode .event-detail-panel .size-button:hover{border-color:#007bff}.dark-mode .event-detail-panel .error{background:#dc35451a;border-color:#dc35454d;color:#ff6b7a}.dark-mode .event-detail-panel .delete-button-container{border-top-color:var(--border-color)}.dark-mode .event-detail-panel .edit-btn:hover,.dark-mode .event-detail-panel .expand-btn:hover,.dark-mode .event-detail-panel .close-panel-btn:hover{background:#ffffff1a}.event-detail-panel{z-index:100}.autosave-status{transition:all .3s ease;-webkit-user-select:none;user-select:none}.autosave-status:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.autosave-status.saving{background-color:#ffc1071a;border-color:#ffc1074d;color:#856404}.autosave-status.saved{background-color:#28a7451a;border-color:#28a7454d;color:#155724}.autosave-status.error{background-color:#dc35451a;border-color:#dc35454d;color:#721c24}.dark-mode .autosave-status.saving{background-color:#ffc10733;border-color:#ffc10766;color:#ffc107}.dark-mode .autosave-status.saved{background-color:#28a74533;border-color:#28a74566;color:#28a745}.dark-mode .autosave-status.error{background-color:#dc354533;border-color:#dc354566;color:#dc3545}@media (max-width: 768px){.autosave-status{padding:0 8px;height:32px;font-size:12px}.autosave-status span{display:none}.autosave-status.saved span:after{content:"✓";display:inline}.autosave-status.saving span:after{content:"⋯";display:inline}}.modal-overlay-auth{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content-auth{background:#fff;padding:2rem;border-radius:8px;width:100%;max-width:450px;position:relative;box-shadow:0 4px 12px #00000026}.modal-close-auth{position:absolute;top:10px;right:15px;font-size:24px;background:none;border:none;cursor:pointer;width:auto;height:auto;color:#666;padding:0;margin:0}.modal-close-auth:hover{color:#000;background-color:transparent}.auth-tabs{display:flex;margin-bottom:1.5rem;border-bottom:1px solid var(--border-color, #ddd)}.auth-tab{flex:1;padding:.75rem 0;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-weight:500;color:#333;transition:all .2s ease;font-size:.9rem}.auth-tab:hover{color:var(--primary-color, #007bff);background-color:#007bff0d}.auth-tab.active{color:var(--primary-color, #007bff);border-bottom:2px solid var(--primary-color, #007bff)}.auth-form h2{text-align:center;margin-bottom:1.5rem;color:#333;font-size:1.5rem}.auth-error{background-color:#f8d7da;color:#721c24;padding:.75rem;margin-bottom:1.25rem;border-radius:4px;font-size:.9rem}.auth-form .form-group{margin-bottom:1.25rem}.auth-form label{display:block;margin-bottom:.5rem;font-weight:500;color:#555;font-size:.9rem}.auth-form input{width:100%;padding:.75rem;border:1px solid var(--border-color, #ddd);border-radius:4px;font-size:1rem}.auth-form input:focus{border-color:var(--primary-color, #007bff);outline:none;box-shadow:0 0 0 2px #007bff40}.auth-submit-btn{width:100%;padding:.75rem;font-size:1rem;margin-top:.5rem;background-color:var(--primary-color, #007bff);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.auth-submit-btn:hover{background-color:var(--primary-hover, #0069d9)}.auth-submit-btn:disabled{background-color:#ccc;cursor:not-allowed}.auth-footer{margin-top:1.5rem;text-align:center;font-size:.9rem;color:#666}.auth-link{background:none;border:none;color:var(--primary-color, #007bff);cursor:pointer;font-weight:500;padding:0;margin-left:.25rem;font-size:.9rem}.auth-link:hover{text-decoration:underline;background-color:transparent}.oauth-providers{display:flex;flex-direction:column;align-items:center;margin-bottom:1.5rem;gap:12px;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color, #ddd)}.oauth-provider-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:44px;border-radius:4px;border:1px solid #ddd;background-color:#fff;cursor:pointer;transition:all .2s ease;padding:0 16px;font-size:.9rem;font-weight:500;color:#333}.oauth-provider-btn span{display:inline-block}.oauth-provider-btn.active{border-color:var(--primary-color, #007bff);box-shadow:0 0 0 2px #007bff40}.oauth-signin-container,.google-signin-container{display:flex;flex-direction:column;align-items:center}.auth-description{text-align:center;margin-bottom:1.5rem;color:#555;font-size:.95rem;line-height:1.5}.oauth-signin-button,.google-signin-button,.microsoft-signin-button,.apple-signin-button{display:flex;align-items:center;justify-content:center;background-color:#fff;color:#444;border:1px solid #ddd;box-shadow:0 1px 3px #0000001a;font-weight:500;transition:background-color .2s,box-shadow .2s;padding:.75rem 1.5rem;border-radius:4px;width:100%;max-width:280px;cursor:pointer}.oauth-signin-button:hover,.google-signin-button:hover{background-color:#f8f8f8;box-shadow:0 2px 4px #0003}.oauth-signin-button svg,.google-signin-button svg{margin-right:10px}.oauth-signin-button:disabled,.google-signin-button:disabled{opacity:.7;cursor:not-allowed}.microsoft-signin-button{color:#000;border-color:#d9d9d9}.microsoft-signin-button:hover{background-color:#f3f3f3}.apple-signin-button{background-color:#000;color:#fff;border-color:#000}.apple-signin-button:hover{background-color:#333}.user-profile{padding:1rem 0;border-bottom:1px solid var(--border-color, #ddd);margin-bottom:1rem;display:flex;flex-direction:column;align-items:center}.user-avatar{margin-bottom:.75rem}.user-avatar img{width:60px;height:60px;border-radius:50%;object-fit:cover;border:2px solid var(--primary-color, #007bff)}.user-info{text-align:center;margin-bottom:1rem}.user-name{font-weight:500;font-size:1rem;margin-bottom:.25rem;color:#333}.user-email{font-size:.85rem;color:#666;word-break:break-all}.user-provider{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#888;margin-top:.5rem;padding:.25rem .75rem;background-color:var(--background-secondary, #f8f9fa);border-radius:12px;border:1px solid var(--border-color, #e1e5e9)}.user-provider svg,.user-provider img{width:14px;height:14px;flex-shrink:0}.login-button,.logout-button{width:100%;padding:.5rem;font-size:.9rem}.login-button{display:flex;align-items:center;justify-content:center;background-color:#fff;color:#444;border:1px solid #ddd;box-shadow:0 1px 3px #0000001a}.login-button:hover{background-color:#f8f8f8}.logout-button{background-color:#dc3545;margin-top:.5rem}.logout-button:hover{background-color:#bd2130}body.dark-mode .modal-content-auth{background:var(--dark-bg, #222);color:var(--dark-text, #f0f0f0)}body.dark-mode .auth-form h2{color:var(--dark-text, #f0f0f0)}body.dark-mode .auth-tab{color:var(--dark-text-secondary, #aaa)}body.dark-mode .auth-tab.active{color:var(--primary-color, #007bff)}body.dark-mode .auth-form label{color:var(--dark-text-secondary, #ccc)}body.dark-mode .auth-form input{background-color:var(--dark-input-bg, #333);border-color:var(--dark-border, #444);color:var(--dark-text, #f0f0f0)}body.dark-mode .oauth-provider-btn{background-color:var(--dark-input-bg, #333);border-color:var(--dark-border, #444)}body.dark-mode .oauth-provider-btn:hover{background-color:var(--dark-input-bg-hover, #3a3a3a)}body.dark-mode .oauth-signin-button,body.dark-mode .google-signin-button{background-color:var(--dark-input-bg, #333);color:var(--dark-text, #f0f0f0);border-color:var(--dark-border, #444)}body.dark-mode .oauth-signin-button:hover,body.dark-mode .google-signin-button:hover{background-color:var(--dark-input-bg-hover, #3a3a3a)}body.dark-mode .microsoft-signin-button{background-color:var(--dark-input-bg, #333);color:var(--dark-text, #f0f0f0);border-color:var(--dark-border, #444)}body.dark-mode .microsoft-signin-button:hover{background-color:var(--dark-input-bg-hover, #3a3a3a)}body.dark-mode .apple-signin-button{background-color:#000;color:#f0f0f0;border-color:#444}body.dark-mode .apple-signin-button:hover{background-color:#222}body.dark-mode .auth-description,body.dark-mode .auth-footer,body.dark-mode .modal-close-auth{color:var(--dark-text-secondary, #aaa)}body.dark-mode .modal-close-auth:hover{color:var(--dark-text, #f0f0f0)}.verification-sent{display:flex;flex-direction:column;align-items:center;padding:1.5rem 0;text-align:center}.verification-sent svg{color:var(--primary-color, #007bff);margin-bottom:1.5rem}.verification-message{font-size:1rem;line-height:1.5;margin-bottom:1rem;color:#333}.verification-note{font-size:.9rem;color:#666;font-style:italic;margin-bottom:1.5rem}.verification-actions{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:280px}.resend-btn{padding:.5rem 1rem;background-color:#fff;color:var(--primary-color, #007bff);border:1px solid var(--primary-color, #007bff);border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s}.resend-btn:hover{background-color:#007bff0d}.resend-btn:disabled{opacity:.6;cursor:not-allowed}.back-btn{padding:.5rem 1rem;background-color:#f2f2f2;color:#555;border:1px solid #ddd;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s}.back-btn:hover{background-color:#e9e9e9}.auth-success{background-color:#d4edda;color:#155724;padding:.75rem;margin-bottom:1.25rem;border-radius:4px;font-size:.9rem}body.dark-mode .verification-message{color:var(--dark-text, #f0f0f0)}body.dark-mode .verification-note{color:var(--dark-text-secondary, #aaa)}body.dark-mode .verification-sent svg{color:var(--primary-color, #007bff)}body.dark-mode .resend-btn{background-color:var(--dark-input-bg, #333);color:var(--primary-color, #007bff);border-color:var(--primary-color, #007bff)}body.dark-mode .resend-btn:hover{background-color:#007bff1a}body.dark-mode .back-btn{background-color:var(--dark-bg-hover, #2a2a2a);color:var(--dark-text, #f0f0f0);border-color:var(--dark-border, #444)}body.dark-mode .back-btn:hover{background-color:var(--dark-input-bg-hover, #3a3a3a)}body.dark-mode .auth-success{background-color:#19875433;color:#75b798}.facebook-signin-button{background-color:#1877f2;color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 20px;border-radius:4px;border:none;font-weight:500;cursor:pointer;transition:background-color .2s;width:100%;margin-bottom:10px;font-size:.9rem}.facebook-signin-button:hover{background-color:#166fe5}.auth-provider-icon.facebook{background-color:#1877f2;color:#fff}body.dark-mode .auth-provider-icon.facebook{background-color:#1877f2;color:#fff;box-shadow:0 2px 5px #0000004d}.oauth-provider-btn svg{flex-shrink:0}.oauth-provider-btn[title="Logg inn med Facebook"]:hover{background-color:#f0f2f5;color:#1877f2}.oauth-provider-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:44px;border-radius:6px;border:1px solid #ddd;background-color:#fff;cursor:pointer;transition:all .2s ease;padding:0 20px;font-size:.95rem;font-weight:500;color:#444;box-shadow:0 1px 3px #0000000d}.oauth-provider-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.oauth-provider-btn[title="Logg inn med Google"]{border-color:#007bff;color:#333}.oauth-provider-btn[title="Logg inn med Google"]:hover{background-color:#f8f9fa;border-color:#007bff;color:#333}.google-signin-button{background-color:#fff;color:#444;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 20px;border-radius:6px;border:1px solid #dadce0;font-weight:500;cursor:pointer;transition:all .25s ease;width:100%;max-width:280px;margin-bottom:10px;font-size:.95rem;box-shadow:0 1px 3px #00000014}.google-signin-button:hover{background-color:#f8f9fa;box-shadow:0 2px 6px #0000001f;border-color:#dadce0}body.dark-mode .oauth-provider-btn{background-color:#2a2a2a;border-color:#444;color:#e0e0e0;box-shadow:0 1px 3px #0003}body.dark-mode .oauth-provider-btn:hover{background-color:#333;box-shadow:0 4px 8px #00000040}body.dark-mode .oauth-provider-btn[title="Logg inn med Google"]{border-color:#007bff;background-color:#2a2a2a;color:#e0e0e0}body.dark-mode .oauth-provider-btn[title="Logg inn med Google"]:hover{background-color:#333;color:#e0e0e0;border-color:#007bff}body.dark-mode .google-signin-button{background-color:#2a2a2a;color:#e0e0e0;border-color:#444;box-shadow:0 1px 3px #0003}body.dark-mode .google-signin-button:hover{background-color:#333;border-color:#555;box-shadow:0 2px 6px #0000004d}.oauth-providers{display:flex;flex-direction:column;align-items:center;margin-bottom:1.5rem;gap:12px;padding:.5rem 0 1.5rem;border-bottom:1px solid var(--border-color, #ddd)}.auth-loading{display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#f8f9fa;border-radius:6px;color:#555;font-size:.95rem;width:100%;max-width:280px;height:48px;text-align:center;animation:pulse 1.5s infinite;box-shadow:0 1px 3px #0000000d}@keyframes pulse{0%{opacity:.7}50%{opacity:1}to{opacity:.7}}body.dark-mode .auth-loading{background-color:#2a2a2a;color:#e0e0e0;box-shadow:0 1px 3px #0003}.oauth-provider-btn,.google-signin-button{position:relative;overflow:hidden}.oauth-provider-btn:after,.google-signin-button:after{content:"";position:absolute;top:50%;left:50%;width:5px;height:5px;background:#ffffff4d;opacity:0;border-radius:100%;transform:scale(1) translate(-50%,-50%);transform-origin:50% 50%}.oauth-provider-btn:focus:not(:active):after,.google-signin-button:focus:not(:active):after{animation:ripple .6s ease-out}@keyframes ripple{0%{opacity:.5}to{transform:scale(15);opacity:0}}.oauth-provider-btn.feide-provider{background-color:#fff;border-color:#06c;color:#333}.oauth-provider-btn.feide-provider:hover{transform:translateY(-2px);box-shadow:0 4px 8px #06c3;background-color:#0066cc0d;border-color:#06c}.oauth-provider-btn.feide-provider.disabled{opacity:.6;background-color:#f5f5f5;border-color:#ccc;color:#999;cursor:not-allowed}.oauth-provider-btn.feide-provider.disabled:hover{transform:none;box-shadow:0 1px 3px #0000000d;background-color:#f5f5f5}body.dark-mode .oauth-provider-btn.feide-provider{background-color:#2a2a2a;border-color:#06c;color:#e0e0e0}body.dark-mode .oauth-provider-btn.feide-provider:hover{background-color:#0066cc1a;box-shadow:0 4px 8px #0066cc4d}body.dark-mode .oauth-provider-btn.feide-provider.disabled{background-color:#1a1a1a;border-color:#333;color:#666}body.dark-mode .oauth-provider-btn.feide-provider.disabled:hover{background-color:#1a1a1a;box-shadow:0 1px 3px #0003}.login-container{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;box-shadow:0 10px 30px #0000001a;padding:40px;width:100%;max-width:480px;position:relative;z-index:2}.verification-container{max-width:520px}.login-header{text-align:center;margin-bottom:24px}.login-header h1{color:#333;font-size:24px;font-weight:600;margin-bottom:6px}.login-header p{color:#666;font-size:16px;margin:0}.oauth-providers{display:flex;flex-direction:column;gap:14px;margin-bottom:16px}.oauth-provider-btn{display:flex;align-items:center;justify-content:center;gap:14px;padding:14px 22px;border:2px solid #e1e5e9;border-radius:8px;background:#fff;color:#333;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease;width:100%}.oauth-provider-btn:hover{border-color:#007bff;background:#f8f9fa;transform:translateY(-1px)}.oauth-provider-btn:active{transform:translateY(0)}.oauth-provider-btn svg{flex-shrink:0;width:22px;height:22px}.oauth-provider-btn img{flex-shrink:0;width:22px!important;height:22px!important}.email-provider{border-color:#6c757d;color:#495057}.email-provider:hover{border-color:#495057;background:#f8f9fa}.google-provider{border-color:#4285f4;color:#4285f4}.google-provider:hover{border-color:#3367d6;background:#f0f4ff}.feide-provider{border-color:#e74c3c;color:#e74c3c}.feide-provider:hover{border-color:#c0392b;background:#fdf2f2}.divider{position:relative;text-align:center;margin:25px 0}.divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#e1e5e9}.divider span{background:#fff;color:#666;padding:0 15px;font-size:14px;position:relative;z-index:1}.auth-tabs{display:flex;background:#f8f9fa;border-radius:6px;padding:3px;margin:8px 0 12px}.auth-tab{flex:1;padding:8px 12px;border:none;background:transparent;color:#666;font-size:13px;font-weight:500;border-radius:4px;cursor:pointer;transition:all .2s ease}.auth-tab.active{background:#fff;color:#007bff;box-shadow:0 2px 4px #0000001a}.auth-tab:hover:not(.active){color:#333}.auth-form{display:flex;flex-direction:column;gap:10px}.form-group{display:flex;flex-direction:column;gap:4px}.form-group label{color:#333;font-size:13px;font-weight:500}.form-group input{padding:10px 14px;border:2px solid #e1e5e9;border-radius:6px;font-size:15px;transition:border-color .2s ease}.form-group input:focus{outline:none;border-color:#007bff}.auth-submit-btn{padding:11px 18px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:4px}.auth-submit-btn:hover:not(:disabled){background:#0056b3;transform:translateY(-1px)}.auth-submit-btn:active:not(:disabled){transform:translateY(0)}.auth-submit-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.auth-error{background:#fee;color:#c33;padding:12px 16px;border-radius:8px;border:1px solid #fcc;font-size:14px;margin-bottom:16px}.auth-success{background:#efe;color:#363;padding:12px 16px;border-radius:8px;border:1px solid #cfc;font-size:14px;margin:16px 0}.register-info{margin-top:16px;padding:12px 16px;background:#f0f8ff;border-radius:8px;border:1px solid #cce7ff}.register-info p{margin:0;color:#06c;font-size:14px;text-align:center}.verification-sent{text-align:center;padding:20px 0}.verification-sent svg{color:#007bff;margin-bottom:16px}.verification-message{font-size:18px;font-weight:600;color:#333;margin-bottom:12px}.verification-note{color:#666;font-size:14px;line-height:1.5;margin-bottom:20px}.verification-actions{display:flex;flex-direction:column;gap:12px}.resend-btn,.back-btn{padding:12px 20px;border:2px solid #007bff;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.resend-btn{background:#007bff;color:#fff}.resend-btn:hover:not(:disabled){background:#0056b3}.resend-btn:disabled{background:#ccc;border-color:#ccc;cursor:not-allowed}.back-btn{background:#fff;color:#007bff}.back-btn:hover{background:#f8f9fa}.login-footer{margin-top:30px;text-align:center}.back-to-home{color:#666;background:none;border:none;font-size:14px;cursor:pointer;text-decoration:underline;transition:color .2s ease}.back-to-home:hover{color:#007bff}.dark-mode .login-container{background:#2d3748f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#e2e8f0}.dark-mode .login-header h1{color:#e2e8f0}.dark-mode .login-header p{color:#a0aec0}.dark-mode .oauth-provider-btn{background:#4a5568;border-color:#4a5568;color:#e2e8f0}.dark-mode .oauth-provider-btn:hover{background:#2d3748;border-color:#007bff}.dark-mode .email-provider{border-color:#a0aec0;color:#a0aec0}.dark-mode .email-provider:hover{border-color:#e2e8f0;background:#4a5568}.dark-mode .google-provider{border-color:#6366f1;color:#6366f1}.dark-mode .google-provider:hover{border-color:#4f46e5;background:#312e81}.dark-mode .feide-provider{border-color:#f87171;color:#f87171}.dark-mode .feide-provider:hover{border-color:#ef4444;background:#7f1d1d}.dark-mode .divider:before{background:#4a5568}.dark-mode .divider span{background:#2d3748;color:#a0aec0}.dark-mode .auth-tabs{background:#4a5568}.dark-mode .auth-tab{color:#a0aec0}.dark-mode .auth-tab.active{background:#2d3748;color:#007bff}.dark-mode .form-group label{color:#e2e8f0}.dark-mode .form-group input{background:#4a5568;border-color:#4a5568;color:#e2e8f0}.dark-mode .form-group input:focus{border-color:#007bff}.dark-mode .register-info{background:#1a365d;border-color:#2b77ad}.dark-mode .register-info p{color:#63b3ed}.dark-mode .verification-message{color:#e2e8f0}.dark-mode .verification-note,.dark-mode .back-to-home{color:#a0aec0}.dark-mode .back-to-home:hover{color:#007bff}.app-container .welcome-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:80px 20px}.login-container .form-group{position:relative}.login-container .form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333}.dark-mode .login-container .form-group label{color:#e2e8f0}@media (max-width: 480px){.app-container .welcome-container{padding:70px 10px}.login-container{padding:30px 20px;max-width:none;width:100%;border-radius:8px}.login-header h1{font-size:24px}.oauth-provider-btn{padding:14px 16px}}.topbar{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1.5rem;background:#f8fafcf2;-webkit-backdrop-filter:blur(5px);border-bottom:1px solid var(--border-color);box-shadow:0 1px 3px #0000000d;height:50px;z-index:100;position:fixed;top:0;left:0;right:0;width:100%}.topbar-left,.topbar-center,.topbar-right{display:flex;align-items:center}.topbar-left{flex:1}.topbar-center{flex:2;justify-content:center;text-align:center}.topbar-right{flex:1;justify-content:flex-end;min-width:0;overflow:visible}body.dark-mode .topbar{background:#2d2d2df2;border-bottom-color:#444;box-shadow:0 1px 3px #0003}@media (max-width: 768px){.topbar{padding:.75rem 1rem}}@media (max-width: 480px){.topbar{padding:.5rem .75rem}.topbar-left,.topbar-center,.topbar-right{flex:none}.topbar-center{flex:1}}.topbar-left{display:flex;align-items:center;gap:15px}.logo-workspace-container{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.25rem;border-radius:8px;transition:all .2s ease}.logo-workspace-container:hover{background-color:#0000000d}.logo-container{width:32px;height:32px;background:#007bff;border-radius:4px;display:flex;align-items:center;justify-content:center}.logo-image{width:20px;height:20px;object-fit:contain}.workspace-text{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.95rem;font-weight:500;color:var(--text-color, #333);letter-spacing:.5px;text-transform:uppercase}.topbar-timeline-form{position:relative;height:36px}.new-timeline-button{display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.9rem;padding:0 12px;border-radius:4px;border:1px dashed var(--primary-color, #007bff);background-color:transparent;color:var(--primary-color, #007bff);height:36px;width:auto;margin:0}.new-timeline-button.active{background-color:#007bff26}.new-timeline-button svg{margin-right:6px}.topbar-form-dropdown{position:absolute;top:100%;left:0;background-color:var(--card-background, white);border-radius:8px;box-shadow:0 4px 15px #00000026;width:480px;padding:1.25rem;margin-top:8px;z-index:200;border:1px solid var(--border-color, #eaeaea);animation:fadeIn .2s ease-out}.topbar-form-dropdown:before{content:"";position:absolute;top:-6px;left:20px;width:12px;height:12px;background-color:var(--card-background, white);transform:rotate(45deg);border-left:1px solid var(--border-color, #eaeaea);border-top:1px solid var(--border-color, #eaeaea)}.topbar-form-dropdown .form-group{margin-bottom:12px}.topbar-form-dropdown input[type=text]{width:100%;padding:8px 12px;border:1px solid var(--input-border, #ddd);border-radius:4px;background-color:var(--input-background, white);color:var(--text-color, #333);font-size:.9rem}.topbar-form-dropdown input[type=text]:focus{border-color:var(--primary-color, #007bff);outline:none;box-shadow:0 0 0 3px #007bff1a}.topbar-form-dropdown input[type=text]::placeholder{color:var(--text-secondary, #6c757d);opacity:.7}.form-row{display:flex;gap:10px;margin-bottom:12px}.form-group.half{flex:1;margin-bottom:0}.create-btn{background-color:var(--primary-color, #007bff);color:#fff;width:100%;padding:8px 12px;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500}.create-btn:disabled{opacity:.7;cursor:not-allowed;background-color:#6c757d}body.dark-mode .logo-workspace-container:hover{background-color:#ffffff14}body.dark-mode .logo-container{background:linear-gradient(135deg,#4dabf7,#339af0);box-shadow:0 2px 4px #4dabf733}body.dark-mode .workspace-text{color:#ffffffe6}body.dark-mode .new-timeline-button{border-color:var(--primary-color, #007bff);color:var(--primary-color, #007bff)}body.dark-mode .topbar-form-dropdown{background-color:var(--card-background, #2d2d2d);border-color:var(--border-color, #444);box-shadow:0 4px 15px #0000004d}body.dark-mode .topbar-form-dropdown:before{background-color:var(--card-background, #2d2d2d);border-left-color:var(--border-color, #444);border-top-color:var(--border-color, #444)}@media (max-width: 768px){.topbar-left{gap:10px}.logo-workspace-container{gap:.5rem}.logo-container{width:28px;height:28px}.logo-image{width:18px;height:18px}.workspace-text{font-size:.85rem}.topbar-form-dropdown{width:280px;padding:1rem}.form-row{flex-direction:column;gap:10px}}@media (max-width: 480px){.workspace-text{display:none}.topbar-timeline-form{margin-left:5px}.new-timeline-button{padding:0 8px;font-size:.8rem}.new-timeline-button span{display:none}}.topbar-center{position:relative}.main-nav{display:flex;height:100%}.nav-links{list-style:none;display:flex;margin:0;padding:0;height:100%;align-items:center;gap:2rem}.nav-links li{margin:0;height:100%;display:flex;align-items:center}.nav-links a{text-decoration:none;color:#495057;font-weight:500;padding:.75rem 0;position:relative;transition:color .3s ease;height:100%;display:flex;align-items:center}.nav-links a:hover{color:#007bff}.nav-links a.active{color:#007bff;font-weight:600}.nav-links a:before{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background-color:#007bff;transition:width .3s ease,left .3s ease}.nav-links a.active:before{width:100%;left:0}.timeline-title-display{position:relative;display:inline-flex;align-items:center;transition:background-color .2s;padding:5px 8px;border-radius:4px;cursor:pointer;font-size:1.1rem;font-weight:500;color:var(--text-color, #333)}.timeline-title-display:hover{background-color:#007bff1a}.timeline-title-display svg{opacity:.6;transition:opacity .2s}.timeline-title-display:hover svg{opacity:1}.timeline-period{font-size:.8rem;color:var(--text-secondary, #666);margin-left:.5rem;font-weight:400}.privacy-status-badge{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:500;padding:2px 10px;border-radius:16px;margin-left:15px;transition:all .2s ease}.privacy-status-badge:hover{filter:brightness(.95)}.privacy-status-badge:active{transform:scale(.98)}.title-editor-container{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:10px;background:var(--card-background, white);border-radius:8px;box-shadow:0 4px 12px #00000026;padding:1.5rem;z-index:200;width:400px;max-width:90vw;border:1px solid var(--border-color, #eaeaea)}.title-editor-container:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%) rotate(45deg);width:16px;height:16px;background:var(--card-background, white);border-left:1px solid var(--border-color, #eaeaea);border-top:1px solid var(--border-color, #eaeaea)}.title-editor-form h3{margin-top:0;margin-bottom:1rem;font-size:1.2rem;color:var(--text-color, #333)}.title-editor-form label{display:block;margin-bottom:.25rem;font-size:.9rem;color:var(--text-secondary, #555);font-weight:500}.required-mark{color:#dc3545}.title-editor-form input{width:100%;padding:.5rem;border:1px solid var(--input-border, #ddd);border-radius:4px;font-size:1rem;background-color:var(--input-background, white);color:var(--text-color, #333)}.title-editor-form input:focus{border-color:var(--primary-color, #007bff);outline:none;box-shadow:0 0 0 3px #007bff1a}.warning-message{background-color:#fff3cd;color:#856404;padding:.75rem;border-radius:4px;margin-bottom:1rem;font-size:.9rem;border-left:4px solid #ffeeba}.form-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:1rem}.cancel-btn{background-color:#6c757d;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:background-color .2s;font-weight:500;width:auto}.cancel-btn:hover{background-color:#5a6268}.save-btn{background-color:var(--primary-color, #007bff);color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:background-color .2s;font-weight:500;width:auto}.save-btn:hover{background-color:var(--primary-hover, #0056b3)}body.dark-mode .nav-links a{color:#fffc}body.dark-mode .nav-links a:hover,body.dark-mode .nav-links a.active{color:#00d4ff}body.dark-mode .timeline-title-display{color:#ffffffe6}body.dark-mode .timeline-title-display:hover{background-color:#007bff33}body.dark-mode .timeline-period{color:#fff9}body.dark-mode .privacy-status-badge.public{background-color:#28a74526;color:#2fd655;border-color:#28a7454d}body.dark-mode .privacy-status-badge.private{background-color:#6c757d26;color:#adb5bd;border-color:#6c757d4d}body.dark-mode .title-editor-container{background-color:var(--card-background, #2d2d2d);border-color:var(--border-color, #444);box-shadow:0 4px 12px #0000004d}body.dark-mode .title-editor-container:before{background-color:var(--card-background, #2d2d2d);border-left-color:var(--border-color, #444);border-top-color:var(--border-color, #444)}body.dark-mode .title-editor-form h3{color:#ffffffe6}body.dark-mode .title-editor-form label{color:#fffc}body.dark-mode .warning-message{background-color:#fff3cd1a;color:#ffc107;border-left-color:#ffc107}@media (max-width: 768px){.nav-links{gap:1rem}.nav-links a{font-size:.85rem}.timeline-title-display{font-size:1rem}.privacy-status-badge{margin-left:10px;padding:2px 8px;font-size:12px}.title-editor-container{width:90vw;padding:1rem}}@media (max-width: 480px){.nav-links a span{display:none}.nav-links{gap:.5rem}.timeline-period,.privacy-status-badge span{display:none}.privacy-status-badge{padding:4px;margin-left:8px}}.topbar-right{display:flex;align-items:center;gap:10px}.topbar-right button[title=Support]{background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;padding:0;color:#777;transition:all .2s ease}.topbar-right button[title=Support]:hover{background-color:#0000000d;color:#333;transform:scale(1.05)}.topbar-user{display:flex;align-items:center;cursor:pointer;position:relative;padding:.25rem .4rem;border-radius:6px;transition:all .2s ease;border:none;margin:.25rem;height:fit-content;max-height:36px}.topbar-user:hover{background-color:#0000000d}.topbar-avatar{width:28px;height:28px;border-radius:50%;margin-right:.35rem;border:1px solid var(--border-color, #e0e0e0);object-fit:cover}.avatar-initials{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:#e9ecef;color:#495057;font-weight:600;font-size:.85rem;margin-right:.35rem;border:1px solid var(--border-color, #dee2e6)}.topbar-user-info{display:flex;flex-direction:column;align-items:flex-start;margin:0 .3rem 0 .15rem}.topbar-username{font-size:.8rem;color:var(--text-color, #333);max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;line-height:1.2}.topbar-provider{display:flex;align-items:center;gap:.2rem;font-size:.65rem;color:#888;margin-top:.05rem}.topbar-provider svg,.topbar-provider img{width:12px;height:12px;flex-shrink:0}.dropdown-arrow{transition:transform .2s ease;color:var(--text-secondary, #666)}.dropdown-arrow.open{transform:rotate(180deg)}.user-dropdown{position:absolute;top:100%;right:0;background:var(--card-background, white);border-radius:8px;box-shadow:0 4px 15px #0000001a;width:200px;z-index:200;overflow:hidden;border:1px solid var(--border-color, #eaeaea);margin-top:8px;animation:dropdownFadeIn .2s ease}.dropdown-item{display:flex;align-items:center;padding:.8rem 1rem;width:100%;text-align:left;background:none;border:none;cursor:pointer;color:var(--text-color, #333);transition:all .2s ease;font-size:.9rem;font-weight:400;margin:0}.dropdown-item svg{margin-right:10px;opacity:.7;transition:opacity .2s}.dropdown-item:hover{background-color:var(--hover-background, #f5f5f5)}.dropdown-item:hover svg{opacity:1}.dropdown-divider{height:1px;background-color:var(--border-color, #eee);margin:.25rem 0}.logout-btn{color:#dc3545!important}.logout-btn:hover{background-color:#dc35451a!important;color:#dc3545!important}.topbar-login-btn{display:flex;align-items:center;background-color:var(--primary-color, #007bff);color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:all .2s ease;font-size:.85rem;font-weight:500;width:auto;margin:0}.topbar-login-btn:hover{background-color:var(--primary-hover, #0056b3);transform:translateY(-1px);box-shadow:0 2px 5px #0000001a}.topbar-login-btn svg{margin-right:.5rem}body.dark-mode .topbar-right button[title=Support]{color:#aaa}body.dark-mode .topbar-right button[title=Support]:hover{background-color:#ffffff14;color:#eee}body.dark-mode .topbar-user:hover{background-color:#ffffff14}body.dark-mode .topbar-avatar{border-color:#fff3;box-shadow:0 2px 4px #0003}body.dark-mode .avatar-initials{background-color:#444;color:#f0f0f0;border-color:#555}body.dark-mode .topbar-username{color:#ffffffe6}body.dark-mode .topbar-provider{color:#ffffff80}body.dark-mode .dropdown-arrow{color:#fff9}body.dark-mode .user-dropdown{background-color:var(--card-background, #2d2d2d);border-color:var(--border-color, #444);box-shadow:0 4px 15px #0000004d}body.dark-mode .dropdown-item{color:#ffffffd9}body.dark-mode .dropdown-item:hover{background-color:#ffffff0d;color:#fff}body.dark-mode .dropdown-divider{background-color:var(--border-color, #444)}body.dark-mode .logout-btn{color:#ff6b6b!important}body.dark-mode .logout-btn:hover{background-color:#ff6b6b26!important;color:#ff6b6b!important}@media (max-width: 768px){.topbar-right{gap:8px}.topbar-username{max-width:100px;font-size:.85rem}.topbar-avatar,.avatar-initials{width:28px;height:28px;margin-right:.25rem}.topbar-login-btn{padding:.4rem .8rem;font-size:.8rem}}@media (max-width: 480px){.topbar-user-info,.topbar-login-btn span{display:none}.topbar-login-btn{padding:.5rem;width:36px}.user-dropdown{width:180px;right:-10px}}.topbar-timeline-actions{display:flex;align-items:center;gap:15px}.timeline-save-section{display:flex;align-items:center;gap:8px}.save-timeline-btn{display:flex;align-items:center;font-weight:500;font-size:14px;padding:0 16px;height:36px;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.save-timeline-btn:enabled{background-color:#007bff;color:#fff}.save-timeline-btn:disabled{background-color:#6c757d;color:#fff;opacity:.7;cursor:default}.save-timeline-btn:enabled:hover{background-color:#0056b3;transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.save-timeline-btn svg{margin-right:8px}.timeline-save-section span{font-size:12px;color:var(--text-secondary, #6c757d);font-style:italic;white-space:nowrap}.timeline-actions-btn{display:flex;align-items:center;font-weight:500;font-size:14px;padding:0 16px;height:36px;background-color:#17a2b8;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.timeline-actions-btn:hover{background-color:#138496;transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.timeline-actions-btn:active{transform:translateY(0)}.timeline-actions-btn svg:first-child{margin-right:8px}.timeline-actions-btn svg:last-child{margin-left:8px;transition:transform .2s ease}.timeline-actions-btn .dropdown-arrow{stroke:#fff!important}.timeline-actions-dropdown-menu{position:absolute;top:100%;right:0;background:var(--card-background, white);border-radius:8px;box-shadow:0 4px 15px #00000026;border:1px solid var(--border-color, #e0e0e0);min-width:200px;z-index:1000;margin-top:8px;overflow:hidden;animation:dropdownSlideIn .2s ease-out}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.timeline-actions-dropdown-menu:before{content:"";position:absolute;top:-6px;right:20px;width:12px;height:12px;background:var(--card-background, white);transform:rotate(45deg);border-left:1px solid var(--border-color, #e0e0e0);border-top:1px solid var(--border-color, #e0e0e0)}.dropdown-action-item{display:flex;align-items:center;width:100%;padding:12px 16px;background:none;border:none;cursor:pointer;font-size:14px;color:var(--text-color, #333);transition:all .2s ease;text-align:left}.dropdown-action-item:hover{background-color:var(--hover-background, #f8f9fa);color:var(--primary-color, #007bff)}.dropdown-action-item svg{margin-right:12px;opacity:.7;transition:opacity .2s ease}.dropdown-action-item:hover svg{opacity:1}.timeline-actions-dropdown-menu .dropdown-divider{height:1px;background-color:var(--border-color, #e9ecef);margin:4px 0}.dropdown-action-item:first-child{color:#28a745}.dropdown-action-item:first-child:hover{background-color:#28a7451a;color:#28a745}body.dark-mode .timeline-actions-dropdown-menu{background-color:var(--card-background, #2d2d2d);border-color:var(--border-color, #444);box-shadow:0 4px 15px #0000004d}body.dark-mode .timeline-actions-dropdown-menu:before{background-color:var(--card-background, #2d2d2d);border-left-color:var(--border-color, #444);border-top-color:var(--border-color, #444)}body.dark-mode .dropdown-action-item{color:#ffffffe6}body.dark-mode .dropdown-action-item:hover{background-color:#ffffff1a;color:#00d4ff}body.dark-mode .timeline-actions-dropdown-menu .dropdown-divider{background-color:var(--border-color, #444)}body.dark-mode .dropdown-action-item:first-child{color:#4caf50}body.dark-mode .dropdown-action-item:first-child:hover{background-color:#4caf5026;color:#4caf50}body.dark-mode .timeline-save-section span{color:#fff9}body.dark-mode .save-timeline-btn:enabled:hover{box-shadow:0 2px 8px #0000004d}body.dark-mode .timeline-actions-btn:hover{box-shadow:0 2px 8px #0000004d}@media (max-width: 768px){.topbar-timeline-actions{gap:10px}.timeline-actions-dropdown-menu{right:-10px;min-width:180px}.timeline-actions-dropdown-menu:before{right:25px}.dropdown-action-item{padding:10px 14px;font-size:13px}.timeline-actions-btn{padding:0 12px}.timeline-actions-btn span{display:none}.save-timeline-btn{padding:0 12px}.timeline-save-section span{display:none}}@media (max-width: 480px){.topbar-timeline-actions{gap:8px}.timeline-actions-btn,.save-timeline-btn{padding:0 10px;font-size:13px}.timeline-actions-btn svg:first-child,.save-timeline-btn svg{margin-right:4px;width:16px;height:16px}}.timeline-subtopbar{width:100%;height:60px;background:#ffffffa6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:fixed;top:50px;left:0;right:0;z-index:99;box-shadow:0 1px 3px #0000000d}.dark-mode .timeline-subtopbar{background:#1f2937a6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid #374151}.dark-mode .timeline-title-display{color:#f9fafb}.dark-mode .timeline-title-display.editable:hover{background-color:#374151}.dark-mode .timeline-period,.dark-mode .timeline-title-display .edit-icon{color:#9ca3af}.dark-mode .timeline-title-display.editable:hover .edit-icon{color:#d1d5db}.dark-mode .privacy-status-badge.private{background-color:#9ca3af1a;color:#9ca3af;border:1px solid rgba(156,163,175,.2)}.timeline-subtopbar-left{display:flex;align-items:center;gap:12px;flex:1;justify-content:flex-start}.timeline-subtopbar-right{display:flex;align-items:center;gap:12px;flex:1;justify-content:flex-end}.timeline-display-container{display:flex;align-items:center;justify-content:center;gap:12px;flex:1}.timeline-title-display{font-size:18px;font-weight:600;color:#111827;display:flex;align-items:center;gap:6px;cursor:default}.timeline-title-display.editable{cursor:pointer;border-radius:4px;padding:4px 8px;transition:background-color .2s ease}.timeline-title-display.editable:hover{background-color:#f3f4f6}.timeline-title-display .edit-icon{opacity:1;transition:opacity .2s ease;color:#6b7280;margin-left:8px}.timeline-period{font-size:14px;font-weight:400;color:#6b7280;margin-left:8px}.privacy-status-badge{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:500;padding:2px 10px;border-radius:16px;transition:all .2s ease}.privacy-status-badge.public{background-color:#28a7451a;color:#28a745;border:1px solid rgba(40,167,69,.2)}.privacy-status-badge.private{background-color:#6c757d1a;color:#6c757d;border:1px solid rgba(108,117,125,.2)}.privacy-status-badge:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.timeline-title{font-size:18px;font-weight:600;color:#111827;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:400px;display:flex;align-items:center;gap:6px;cursor:default;padding:4px 0}.timeline-title.editable{cursor:pointer;border-radius:4px;padding:4px 8px;transition:background-color .2s ease}.timeline-title.editable:hover{background-color:#f3f4f6}.timeline-title .edit-icon{opacity:0;transition:opacity .2s ease;color:#6b7280}.timeline-title.editable:hover .edit-icon{opacity:1}.timeline-title-input{font-size:18px;font-weight:600;color:#111827;border:2px solid #3b82f6;border-radius:4px;padding:6px 12px;background:#fff;outline:none;max-width:400px;min-width:200px}.dark-mode .timeline-title{color:#f9fafb}.dark-mode .timeline-title.editable:hover{background-color:#374151}.dark-mode .timeline-title-input{background:#374151;color:#f9fafb;border-color:#3b82f6}.subtopbar-save-btn,.groups-toggle-btn,.presenter-btn,.support-btn{height:36px;padding:0 16px;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:8px;font-weight:500;font-size:14px;transition:all .2s ease;white-space:nowrap}.subtopbar-save-btn{background-color:#007bff;color:#fff}.subtopbar-save-btn:disabled{background-color:#6c757d;cursor:default;opacity:.7}.subtopbar-save-btn:not(:disabled):hover{background-color:#0056b3;transform:translateY(-1px)}.groups-toggle-btn{background-color:#6c757d;color:#fff}.groups-toggle-btn:hover{background-color:#5a6268;transform:translateY(-1px)}.groups-toggle-btn.active{background-color:#28a745;color:#fff}.groups-toggle-btn.active:hover{background-color:#218838}.presenter-btn{background-color:#fd7e14;color:#fff}.presenter-btn:hover{background-color:#e8690a;transform:translateY(-1px)}.support-btn{background:none!important;border:none!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;width:36px!important;height:36px!important;border-radius:50%!important;padding:0!important;margin-right:10px!important;color:#777!important;transition:all .2s ease!important}.support-btn svg{width:20px!important;height:20px!important}.support-btn:hover{background:#0000000d!important;color:#333!important}body.dark-mode .support-btn{color:#adb5bd!important}body.dark-mode .support-btn:hover{background:#ffffff1a!important;color:#fff!important}.subtopbar-actions-btn{height:36px;padding:0 16px;background-color:#ff8820;color:#fff;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:8px;font-weight:500;font-size:14px;position:relative;transition:all .2s ease;white-space:nowrap}.subtopbar-actions-btn:hover{background-color:#e5750d;transform:translateY(-1px)}.subtopbar-actions-btn .dropdown-arrow{margin-left:4px;stroke:#fff!important}.timeline-actions-dropdown{position:relative}.timeline-actions-dropdown-menu{position:absolute;top:100%;right:0;margin-top:8px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 25px #0000001a;min-width:200px;z-index:1000;overflow:hidden;animation:dropdownFadeIn .15s ease-out}.dark-mode .timeline-actions-dropdown-menu{background:#374151;border-color:#4b5563}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-action-item{width:100%;padding:12px 16px;background:none;border:none;color:#374151;font-size:14px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:12px;transition:background-color .15s ease}.dropdown-action-item:hover{background-color:#f3f4f6}.dark-mode .dropdown-action-item{color:#f3f4f6}.dark-mode .dropdown-action-item:hover{background-color:#4b5563}.dropdown-divider{height:1px;background-color:#e5e7eb;margin:4px 0}.dark-mode .dropdown-divider{background-color:#4b5563}@media (max-width: 768px){.timeline-subtopbar{padding:0 16px;height:56px}.timeline-title{font-size:16px;max-width:200px}.timeline-title-input{font-size:16px;max-width:200px;min-width:150px}.subtopbar-save-btn,.groups-toggle-btn,.presenter-btn,.subtopbar-actions-btn,.support-btn{height:32px;padding:0 12px;font-size:13px}.subtopbar-save-btn svg,.groups-toggle-btn svg,.presenter-btn svg,.subtopbar-actions-btn svg,.support-btn svg{width:14px;height:14px}.timeline-actions-dropdown-menu{min-width:180px}}@media (max-width: 480px){.timeline-subtopbar-right{gap:8px}.timeline-title{max-width:150px}.timeline-title-input{max-width:150px;min-width:120px}.subtopbar-save-btn span,.groups-toggle-btn span,.presenter-btn span,.subtopbar-actions-btn span,.support-btn span{display:none}}.title-editor-container{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:8px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 25px #00000026;z-index:1000;min-width:400px;overflow:hidden;animation:dropdownFadeIn .15s ease-out}.dark-mode .title-editor-container{background:#374151;border-color:#4b5563}.title-editor-form{padding:20px}.title-editor-form h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#111827}.dark-mode .title-editor-form h3{color:#f9fafb}.title-editor-form .form-group{margin-bottom:16px}.title-editor-form .form-group label{display:block;margin-bottom:4px;font-size:14px;font-weight:500;color:#374151}.dark-mode .title-editor-form .form-group label{color:#d1d5db}.title-editor-form .form-group input{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;background:#fff;color:#111827}.dark-mode .title-editor-form .form-group input{background:#4b5563;border-color:#6b7280;color:#f9fafb}.title-editor-form .form-row{display:flex;gap:12px}.title-editor-form .form-group.half{flex:1}.title-editor-form .required-mark{color:#dc3545}.title-editor-form .warning-message{background:#fff3cd;border:1px solid #ffeaa7;color:#856404;padding:12px;border-radius:4px;font-size:14px;margin-bottom:16px}.dark-mode .title-editor-form .warning-message{background:#451a03;border-color:#92400e;color:#fbbf24}.title-editor-form .form-buttons{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.title-editor-form .cancel-btn,.title-editor-form .save-btn{padding:8px 16px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.title-editor-form .cancel-btn{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.title-editor-form .cancel-btn:hover{background:#e5e7eb}.title-editor-form .save-btn{background:#3b82f6;color:#fff;border:1px solid #3b82f6}.title-editor-form .save-btn:hover{background:#2563eb}.dark-mode .title-editor-form .cancel-btn{background:#4b5563;color:#d1d5db;border-color:#6b7280}.dark-mode .title-editor-form .cancel-btn:hover{background:#374151}.main-content-with-subtopbar{padding-top:50px!important}.theme-toggle{display:flex;align-items:center;gap:8px}.theme-toggle-btn{background-color:var(--card-background, white);border:1px solid var(--border-color, #ddd);color:var(--text-color, #333);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;transition:all .2s ease;box-shadow:0 2px 5px #0000001a}body.dark-mode .theme-toggle-btn{background-color:var(--card-background, #2d2d2d);border-color:var(--border-color, #444);box-shadow:0 2px 5px #0000004d}.theme-toggle-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}body.dark-mode .theme-toggle-btn:hover{box-shadow:0 4px 8px #0006}.theme-sync-indicator{font-size:12px;color:var(--text-secondary, #6c757d);opacity:.7;transition:opacity .2s ease}.theme-sync-indicator:hover{opacity:1}.theme-toggle-profile-btn{background-color:var(--button-secondary, #e9ecef);border:1px solid var(--input-border, #ced4da);color:var(--button-text, #495057);padding:6px 10px;border-radius:4px;cursor:pointer;transition:all .2s ease;margin-right:8px}.theme-toggle-profile-btn:hover{background-color:var(--button-secondary-hover, #dee2e6)}body.dark-mode .theme-toggle-profile-btn{background-color:var(--button-secondary, #444);border-color:var(--input-border, #555);color:var(--button-text, #e0e0e0)}body.dark-mode .theme-toggle-profile-btn:hover{background-color:var(--button-secondary-hover, #555)}@keyframes themeTransition{0%{transform:scale(1) rotate(0)}50%{transform:scale(1.2) rotate(180deg)}to{transform:scale(1) rotate(360deg)}}.theme-toggle-btn:active{animation:themeTransition .5s ease}.theme-toggle-container{margin-left:16px}.floating-action-buttons{position:absolute;bottom:75px;left:20px;display:flex;flex-direction:row;gap:12px;z-index:25}.add-event-floating-btn,.groups-toggle-btn,.presenter-btn{display:flex;align-items:center;gap:8px;padding:12px 16px;border:none;border-radius:25px;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);-webkit-user-select:none;user-select:none;color:#fff;pointer-events:auto}.add-event-floating-btn svg,.groups-toggle-btn svg,.presenter-btn svg{flex-shrink:0;transition:transform .2s ease}.add-event-floating-btn{background:var(--primary-color, #007bff);box-shadow:0 4px 12px #007bff4d;animation:slideInFromBottom .3s ease-out}.add-event-floating-btn:hover{background:var(--primary-hover, #0056b3);transform:translateY(-2px);box-shadow:0 6px 16px #007bff66}.add-event-floating-btn:hover svg{transform:rotate(90deg)}.add-event-floating-btn:active{transform:translateY(0);box-shadow:0 2px 8px #007bff4d}.add-event-floating-btn:focus{outline:none;box-shadow:0 4px 12px #007bff4d,0 0 0 3px #007bff33}.add-event-floating-btn.pulse{animation:pulseEffect 2s infinite}@keyframes pulseEffect{0%{box-shadow:0 4px 12px #007bff4d}50%{box-shadow:0 4px 12px #007bff99,0 0 0 8px #007bff1a}to{box-shadow:0 4px 12px #007bff4d}}.groups-toggle-btn{background:#ff8820}.groups-toggle-btn:hover{background:#e6771c;transform:translateY(-2px)}.groups-toggle-btn:active{transform:translateY(0)}.groups-toggle-btn:focus{outline:none}.groups-toggle-btn.active{background:#ff8820}.groups-toggle-btn.active:hover{background:#e6771c}.presenter-btn{background:#ff8820}.presenter-btn:hover{background:#e6771c;transform:translateY(-2px)}.presenter-btn:hover svg{transform:scale(1.1)}.presenter-btn:active{transform:translateY(0)}.presenter-btn:focus{outline:none}.dark-mode .add-event-floating-btn{background:var(--primary-color, #3a97ff);box-shadow:0 4px 12px #3a97ff4d}.dark-mode .add-event-floating-btn:hover{background:var(--primary-hover, #2980d1);box-shadow:0 6px 16px #3a97ff66}.dark-mode .add-event-floating-btn:active{box-shadow:0 2px 8px #3a97ff4d}.dark-mode .add-event-floating-btn:focus{box-shadow:0 4px 12px #3a97ff4d,0 0 0 3px #3a97ff33}.dark-mode .add-event-floating-btn.pulse{animation:pulseEffectDark 2s infinite}@keyframes pulseEffectDark{0%{box-shadow:0 4px 12px #3a97ff4d}50%{box-shadow:0 4px 12px #3a97ff99,0 0 0 8px #3a97ff1a}to{box-shadow:0 4px 12px #3a97ff4d}}.dark-mode .groups-toggle-btn{background:#ff8820}.dark-mode .groups-toggle-btn:hover{background:#e6771c}.dark-mode .groups-toggle-btn.active{background:#ff8820}.dark-mode .groups-toggle-btn.active:hover{background:#e6771c}.dark-mode .presenter-btn{background:#ff8820}.dark-mode .presenter-btn:hover{background:#e6771c}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.floating-action-buttons{bottom:65px;left:15px;gap:10px}.add-event-floating-btn,.groups-toggle-btn,.presenter-btn{padding:10px 14px;font-size:.85rem}}@media (max-width: 480px){.floating-action-buttons{bottom:55px;left:10px;gap:8px}.add-event-floating-btn,.groups-toggle-btn,.presenter-btn{padding:8px 12px;font-size:.8rem;border-radius:20px}.add-event-floating-btn span,.groups-toggle-btn span,.presenter-btn span{display:none}.add-event-floating-btn,.groups-toggle-btn,.presenter-btn{width:48px;height:48px;border-radius:50%;justify-content:center;padding:0}}.new-button-guide{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;padding:1.5rem 1rem;margin:1rem 0;border-radius:8px;background-color:#007bff1a;position:relative}.new-button-guide h4{margin:0 0 .5rem;color:var(--primary-color, #007bff);font-size:1.05rem;font-weight:600}.new-button-guide p{margin:0;color:#333;font-size:.95rem;line-height:1.4}.new-button-guide strong{color:var(--primary-color, #007bff);font-weight:600}.guide-arrow{position:absolute;top:-30px;right:30px;color:var(--primary-color, #007bff);animation:bounce 2s infinite}.guide-arrow svg{transform:rotate(180deg)}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.sidebar-login-prompt{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.5rem 1rem;margin:1rem 0;border-radius:8px;background-color:#007bff1a}.sidebar-login-prompt h4{margin:0 0 .5rem;color:var(--primary-color, #007bff);font-size:1.05rem;font-weight:600}.sidebar-login-prompt p{margin:0 0 1rem;color:#333;font-size:.95rem;line-height:1.4}.login-button-sidebar{display:flex;align-items:center;justify-content:center;background-color:var(--primary-color, #007bff);color:#fff;border:none;border-radius:4px;padding:.5rem 1rem;font-weight:500;cursor:pointer;transition:background-color .2s ease;margin-top:.5rem;width:100%;max-width:200px}.login-button-sidebar:hover{background-color:var(--primary-hover, #0069d9)}:root[data-theme=dark] .new-button-guide,:root[data-theme=dark] .sidebar-login-prompt{background-color:#3b82f626}:root[data-theme=dark] .new-button-guide p,:root[data-theme=dark] .sidebar-login-prompt p{color:#e5e7eb}:root[data-theme=dark] .new-button-guide h4,:root[data-theme=dark] .sidebar-login-prompt h4{color:var(--primary-color, #3b82f6)}:root[data-theme=dark] .guide-arrow{color:var(--primary-color, #3b82f6)}@media (max-width: 768px){.new-button-guide,.sidebar-login-prompt{padding:1rem .75rem}.new-button-guide p,.sidebar-login-prompt p{font-size:.85rem}.new-button-guide h4,.sidebar-login-prompt h4{font-size:.95rem}}.prompt-processing-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fade-in .3s ease-out}.prompt-processing-modal{background-color:var(--bg-color, white);border-radius:8px;padding:30px;text-align:center;max-width:400px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;align-items:center}.prompt-processing-modal h3{margin:15px 0 10px;color:var(--text-color, #333);font-size:1.2rem}.prompt-processing-modal p{color:var(--text-color-secondary, #666);margin-bottom:0;font-size:.9rem;line-height:1.5}.prompt-processing-modal .loading-spinner{width:48px;height:48px;border:3px solid rgba(0,123,255,.2);border-radius:50%;border-top-color:var(--primary-color, #007bff);animation:spin 1s linear infinite}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}[data-theme=dark] .prompt-processing-modal{background-color:var(--bg-color-dark, #343a40)}[data-theme=dark] .prompt-processing-modal h3{color:var(--text-color-dark, #f8f9fa)}[data-theme=dark] .prompt-processing-modal p{color:var(--text-color-secondary-dark, #adb5bd)}.copy-url-button{padding:.375rem .75rem;border:1px solid #007bff;border-left:none;background-color:#007bff;color:#fff;border-radius:0 .25rem .25rem 0;cursor:pointer}.copy-url-button:hover{background-color:#0069d9}.copy-success{color:#28a745;font-size:.875rem;margin-top:.5rem}.topbar-privacy-status{display:flex;align-items:center;gap:8px;margin-left:16px}.privacy-toggle-button,.privacy-status{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:16px;font-size:13px;font-weight:500;transition:all .2s ease}.privacy-toggle-button{cursor:pointer;border:none}.privacy-toggle-button:hover{filter:brightness(.95)}.privacy-toggle-button:active{transform:scale(.98)}.privacy-toggle-button.public,.privacy-status.public{background-color:#28a7451a;color:#28a745;border:1px solid rgba(40,167,69,.2)}.privacy-toggle-button.private,.privacy-status.private{background-color:#6c757d1a;color:#6c757d;border:1px solid rgba(108,117,125,.2)}.share-button{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:16px;font-size:13px;font-weight:500;background-color:#007bff;color:#fff;border:none;cursor:pointer;transition:all .2s ease}.share-button:hover{background-color:#0069d9}.share-button:active{transform:scale(.98)}.copied-notification{position:absolute;right:16px;top:60px;padding:8px 12px;background-color:#28a745e6;color:#fff;border-radius:4px;font-size:13px;animation:fadeIn .3s,fadeOut .3s 1.7s;z-index:1000;pointer-events:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.dark-mode .privacy-toggle-button.public,.dark-mode .privacy-status.public{background-color:#28a74526;color:#2fd655;border-color:#28a7454d}.dark-mode .privacy-toggle-button.private,.dark-mode .privacy-status.private{background-color:#6c757d26;color:#adb5bd;border-color:#6c757d4d}.dark-mode .share-button{background-color:#0d6efd}.dark-mode .share-button:hover{background-color:#0b5ed7}@media (max-width: 768px){.topbar-privacy-status{margin-left:8px}.privacy-toggle-button,.privacy-status,.share-button{padding:4px 8px;font-size:12px}.privacy-toggle-button svg,.privacy-status svg,.share-button svg{width:14px;height:14px}}@media (max-width: 480px){.privacy-toggle-button span,.privacy-status span,.share-button span{display:none}.privacy-toggle-button,.privacy-status,.share-button{padding:6px}}.group-panel{position:absolute;top:80px;left:0;height:calc(66.67% - 60px);width:280px;background:#ffffffb3;border-right:none;box-shadow:0 8px 32px #0000001a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:0 12px 12px 0;z-index:5;display:flex;flex-direction:column;transition:transform .3s ease-out,width .3s ease-out,opacity .3s ease-out;transform:translate(0);opacity:1;animation:slideInLeft .3s ease-out}.group-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border-bottom:1px solid rgba(255,255,255,.3);background:#fff3;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);position:sticky;top:0;z-index:10;transition:padding .3s ease;min-height:44px;border-radius:0 12px 0 0}.group-panel-header h3{margin:0;font-size:.875rem;font-weight:600;color:var(--text-color, #333);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-buttons{display:flex;align-items:center;gap:.375rem}.create-event-btn,.create-group-btn{background:transparent;color:var(--text-secondary, #666);border:none;border-radius:4px;padding:.375rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.create-event-btn:hover,.create-group-btn:hover{background:var(--hover-background, #f0f0f0);color:var(--text-color, #333)}.group-panel-content{flex:1;overflow-y:auto;padding:.375rem;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.3) transparent;background:transparent;position:relative}.ungrouped-drop-zone{position:relative;min-height:20px;transition:background-color .2s ease}.ungrouped-drop-zone.drag-over{background:#007bff1a;border:2px dashed rgba(0,123,255,.3);border-radius:6px;margin:.25rem 0}.ungrouped-drop-hint{display:flex;align-items:center;justify-content:center;padding:1rem;color:#007bff99;font-size:.875rem;text-align:center}.ungrouped-drop-hint svg{color:#007bff99}.group-panel-content::-webkit-scrollbar{width:6px}.group-panel-content::-webkit-scrollbar-track{background:transparent}.group-panel-content::-webkit-scrollbar-thumb{background-color:#0000004d;border-radius:10px}.ungrouped-section{margin-bottom:.75rem;border:1px solid var(--border-color, #e1e5e9);border-radius:6px;background:var(--card-background, white)}.ungrouped-header{display:flex;align-items:center;padding:.5rem;background:var(--section-background, #f8f9fa);border-bottom:1px solid var(--border-color, #e1e5e9);border-radius:6px 6px 0 0;font-weight:500;font-size:.8rem;color:var(--text-color, #333);gap:.375rem}.ungrouped-header svg{color:var(--text-secondary, #666)}.ungrouped-events{padding:.375rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;color:var(--text-secondary, #666)}.empty-state svg{margin-bottom:1rem;opacity:.5}.empty-state p{margin:.25rem 0;font-size:.9rem}.empty-subtitle{font-size:.8rem!important;opacity:.7}.dark-mode .group-panel{--card-background: rgba(30, 30, 30, .7);--section-background: rgba(45, 45, 45, .3);--border-color: rgba(255, 255, 255, .1);--text-color: #e1e1e1;--text-secondary: #aaa;--hover-background: rgba(255, 255, 255, .1);--button-primary: #0d6efd;--button-primary-hover: #0b5ed7;--scrollbar-thumb: rgba(255, 255, 255, .3);background:#1e1e1eb3;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000004d}.dark-mode .group-panel-header{background:#2d2d2d4d;border-bottom:1px solid rgba(255,255,255,.1)}.dark-mode .ungrouped-section{background:var(--card-background);border-color:var(--border-color)}.dark-mode .ungrouped-header{background:var(--section-background);border-color:var(--border-color)}@media (max-width: 1200px){.group-panel{width:260px}}@media (max-width: 768px){.group-panel{position:fixed;top:80px;left:0;height:calc(66.67vh - 60px);width:90vw;max-width:300px;z-index:200}}.group-panel *{transition:opacity .3s ease,transform .3s ease}.create-event-btn:focus,.create-group-btn:focus{outline:2px solid var(--button-primary, #007bff);outline-offset:2px}@media (prefers-contrast: high){.group-panel{border-right:none}.ungrouped-section{border:2px solid var(--border-color)}.group-panel-header,.ungrouped-header{border-bottom:2px solid var(--border-color)}}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.group-item{margin-bottom:.5rem;border:1px solid var(--border-color, #e1e5e9);border-radius:6px;background:var(--card-background, white);transition:all .3s ease;position:relative;overflow:hidden}.group-item:hover{box-shadow:0 2px 8px #0000001a}.group-item.hidden{opacity:.6;background:var(--disabled-background, #f8f9fa)}.group-item.drag-over{border-color:var(--button-primary, #007bff);background:#007bff0d;box-shadow:0 0 0 2px #007bff33}.group-header{display:flex;align-items:center;padding:.5rem;background:var(--section-background, #f8f9fa);border-bottom:1px solid var(--border-color, #e1e5e9);border-radius:6px 6px 0 0;gap:.375rem;min-height:40px;cursor:context-menu;transition:background-color .2s ease}.group-header:hover{background:var(--hover-background, #e9ecef)}.group-item.hidden .group-header{background:var(--disabled-background, #f1f3f4)}.expand-btn{background:none;border:none;cursor:pointer;padding:.2rem;border-radius:3px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #666);transition:all .2s ease;flex-shrink:0}.expand-btn:hover{background:var(--hover-background, #e9ecef);color:var(--text-color, #333)}.expand-btn svg{transition:transform .2s ease}.expand-btn svg.expanded{transform:rotate(90deg)}.visibility-btn{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #666);transition:all .2s ease;flex-shrink:0}.visibility-btn:hover{background:var(--hover-background, #e9ecef);color:var(--text-color, #333)}.group-item.hidden .visibility-btn{color:var(--danger-color, #dc3545)}.group-name-container{flex:1;display:flex;align-items:center;gap:.5rem;min-width:0;position:relative}.group-name{font-weight:600;color:var(--text-color, #333);cursor:context-menu;padding:.25rem 0;border-radius:4px;flex:1;min-width:0;word-break:break-word}.group-menu-btn{background:none;border:none;cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #666);transition:all .2s ease;opacity:.7}.group-menu-btn:hover{background:var(--hover-background, #e9ecef);color:var(--text-color, #333);opacity:1}.group-header:hover .group-menu-btn{opacity:1}.group-name-input{flex:1;background:var(--input-background, white);border:1px solid var(--button-primary, #007bff);border-radius:4px;padding:.25rem .5rem;font-size:inherit;font-weight:600;color:var(--text-color, #333);outline:none;box-shadow:0 0 0 2px #007bff33}.event-count{font-size:.8rem;color:var(--text-secondary, #666);font-weight:400;background:var(--badge-background, #e9ecef);padding:.125rem .375rem;border-radius:12px;white-space:nowrap}.group-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.edit-btn,.delete-btn{background:none;border:none;cursor:pointer;padding:.375rem;border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #666);transition:all .2s ease;opacity:.7}.edit-btn:hover{background:var(--hover-background, #e9ecef);color:var(--text-color, #333);opacity:1}.delete-btn:hover{background:var(--danger-background, #f8d7da);color:var(--danger-color, #dc3545);opacity:1}.drop-zone-indicator{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background:#007bff1a;border:2px dashed var(--button-primary, #007bff);margin:.5rem;border-radius:6px;color:var(--button-primary, #007bff);font-weight:500;animation:dropZonePulse 1.5s ease-in-out infinite}@keyframes dropZonePulse{0%,to{background:#007bff1a;border-color:var(--button-primary, #007bff)}50%{background:#007bff33;border-color:var(--button-primary-hover, #0056b3)}}.group-events{padding:.5rem;background:var(--card-background, white);border-radius:0 0 8px 8px}.empty-group{display:flex;align-items:center;justify-content:center;padding:1.5rem;color:var(--text-secondary, #666);font-style:italic;font-size:.9rem;border:1px dashed var(--border-color, #e1e5e9);border-radius:6px;background:var(--section-background, #f8f9fa)}.dark-mode .group-item{--card-background: #2d2d2d;--section-background: #3a3a3a;--border-color: #404040;--text-color: #e1e1e1;--text-secondary: #aaa;--hover-background: #4a4a4a;--input-background: #3a3a3a;--badge-background: #4a4a4a;--disabled-background: #2a2a2a;--danger-color: #ff6b6b;--danger-background: #4a2426;--button-primary: #0d6efd;--button-primary-hover: #0b5ed7}.dark-mode .group-menu-btn:hover{background:var(--hover-background, #4a4a4a);color:var(--text-color, #e1e1e1)}.dark-mode .group-item:hover{box-shadow:0 2px 8px #0000004d}.dark-mode .group-item.drag-over{background:#0d6efd1a;box-shadow:0 0 0 2px #0d6efd4d}.dark-mode .drop-zone-indicator{background:#0d6efd26;border-color:var(--button-primary);color:var(--button-primary)}.dark-mode .empty-group{background:var(--section-background);border-color:var(--border-color)}@media (max-width: 1200px){.group-header{padding:.625rem}.event-count{font-size:.75rem;padding:.1rem .3rem}.edit-btn,.delete-btn{padding:.3rem}}@media (max-width: 768px){.group-header{padding:.5rem;gap:.375rem}.group-name{font-size:.9rem}.event-count{font-size:.7rem;padding:.075rem .25rem}.edit-btn,.delete-btn,.group-menu-btn{padding:.25rem}.edit-btn svg,.delete-btn svg,.expand-btn svg,.visibility-btn svg,.group-menu-btn svg{width:12px;height:12px}.drop-zone-indicator{padding:.75rem;font-size:.85rem}}.expand-btn:focus,.visibility-btn:focus,.edit-btn:focus,.delete-btn:focus,.group-menu-btn:focus{outline:2px solid var(--button-primary, #007bff);outline-offset:2px}.group-name-input:focus{box-shadow:0 0 0 3px #007bff4d}@media (prefers-contrast: high){.group-item{border:2px solid var(--border-color)}.group-header{border-bottom:2px solid var(--border-color)}.drop-zone-indicator{border-width:3px}}.grouped-event-item{display:flex;align-items:center;padding:.25rem .4rem;margin-bottom:.15rem;background:var(--card-background, white);border:1px solid var(--border-color, #e1e5e9);border-radius:3px;cursor:grab;transition:all .2s ease;position:relative;gap:.5rem;min-height:2.2rem}.grouped-event-item:hover{background:var(--hover-background, #f8f9fa);border-color:var(--text-secondary, #aaa);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.grouped-event-item:active,.grouped-event-item.dragged{cursor:grabbing;transform:rotate(2deg);opacity:.8;z-index:100}.grouped-event-item.hidden{opacity:.4;background:var(--disabled-background, #f5f5f5)}.grouped-event-visibility-btn{background:none;border:none;cursor:pointer;padding:.2rem;border-radius:3px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #666);transition:all .15s ease;flex-shrink:0}.grouped-event-visibility-btn:hover:not(:disabled){background:var(--hover-background, #e9ecef);color:var(--text-color, #333)}.grouped-event-visibility-btn:disabled{opacity:.5;cursor:not-allowed}.event-color-indicator{width:4px;height:20px;border-radius:2px;flex-shrink:0;background:var(--event-color, #007bff)}.event-color-indicator.default{background:#007bff}.event-color-indicator.red{background:#dc3545}.event-color-indicator.green{background:#28a745}.event-color-indicator.blue{background:#007bff}.event-color-indicator.yellow{background:#ffc107}.event-color-indicator.purple{background:#6f42c1}.event-color-indicator.orange{background:#fd7e14}.event-color-indicator.pink{background:#e83e8c}.event-color-indicator.teal{background:#20c997}.event-color-indicator.gray{background:#6c757d}.grouped-event-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.grouped-event-title{font-weight:500;font-size:.75rem;color:var(--text-color, #333);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grouped-event-item.hidden .grouped-event-title{color:var(--text-secondary, #666)}.grouped-event-date{font-size:.65rem;color:var(--text-secondary, #666);font-weight:400;line-height:1}.grouped-event-drag-handle{cursor:grab;padding:.2rem;border-radius:3px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #aaa);transition:all .15s ease;flex-shrink:0}.grouped-event-drag-handle:hover{background:var(--hover-background, #e9ecef);color:var(--text-color, #666)}.grouped-event-item:active .grouped-event-drag-handle{cursor:grabbing}.grouped-event-item.red{border-left:3px solid #dc3545}.grouped-event-item.green{border-left:3px solid #28a745}.grouped-event-item.blue{border-left:3px solid #007bff}.grouped-event-item.yellow{border-left:3px solid #ffc107}.grouped-event-item.purple{border-left:3px solid #6f42c1}.grouped-event-item.orange{border-left:3px solid #fd7e14}.grouped-event-item.pink{border-left:3px solid #e83e8c}.grouped-event-item.teal{border-left:3px solid #20c997}.grouped-event-item.gray{border-left:3px solid #6c757d}.dark-mode .grouped-event-item{--card-background: #2d2d2d;--border-color: #404040;--text-color: #e1e1e1;--text-secondary: #aaa;--hover-background: #3a3a3a;--disabled-background: #1a1a1a;--feature-background: rgba(33, 150, 243, .2);--feature-color: #90caf9;background:var(--card-background);border-color:var(--border-color)}.dark-mode .grouped-event-item:hover{background:var(--hover-background);box-shadow:0 2px 4px #0000004d}.dark-mode .grouped-event-item.hidden{background:var(--disabled-background)}@media (max-width: 768px){.grouped-event-item{padding:.3rem .5rem;gap:.6rem;min-height:2.5rem}.grouped-event-title{font-size:.85rem}.grouped-event-date{font-size:.75rem}.grouped-event-visibility-btn,.grouped-event-drag-handle{padding:.3rem}}.grouped-event-item:focus-within,.grouped-event-visibility-btn:focus{outline:2px solid var(--button-primary, #007bff);outline-offset:1px}@media (prefers-contrast: high){.grouped-event-item{border:2px solid var(--border-color)}.grouped-event-item.hidden{border-style:dashed}.event-color-indicator{width:6px}}.grouped-event-item.drag-preview{transform:rotate(3deg) scale(1.05);box-shadow:0 8px 16px #0003;z-index:1000}@keyframes dragStart{0%{transform:scale(1)}to{transform:scale(1.02) rotate(1deg)}}.grouped-event-item.dragging{animation:dragStart .2s ease-out}.export-png-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeInOverlay .2s ease-out;padding:20px}.export-png-modal{max-width:500px;width:90%;background:#f0f0f0f2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;box-shadow:0 10px 30px #0003;position:relative;animation:fadeIn .2s ease-out;overflow:hidden}.export-png-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid rgba(0,0,0,.1);background:transparent}.header-content{display:flex;align-items:center;gap:12px}.header-icon{width:40px;height:40px;background:linear-gradient(135deg,#ff8820,#ff6b00);border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 8px #ff882033}.header-icon svg{color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.header-text h3{margin:0;font-size:1.3rem;font-weight:700;color:#1a1a1a;line-height:1.3}.timeline-title{margin:2px 0 0;font-size:.9rem;color:#666;font-weight:500;opacity:.8}.close-btn{width:32px;height:32px;border:none;background:#0000000d;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#666}.close-btn:hover{background:#0000001a;color:#333;transform:scale(1.05)}.close-btn:active{transform:scale(.95)}.modal-body{padding:1rem 1.5rem;overflow-y:auto;scrollbar-color:rgba(0,123,255,.3) transparent}.export-options{display:flex;flex-direction:column;gap:20px}.format-selection h4{margin:0 0 12px;font-size:1rem;font-weight:600;color:#333}.format-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.format-card{position:relative;display:flex;flex-direction:column;align-items:center;padding:16px 12px;border:2px solid #ddd;border-radius:8px;background:#fff;cursor:pointer;transition:all .2s ease;overflow:hidden}.format-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#ff88200d;opacity:0;transition:opacity .2s ease}.format-card:hover{border-color:#ff8820;background-color:#ff88200d}.format-card:hover:before{opacity:1}.format-card.selected{border-color:#ff8820;background:#ff88200d}.format-card.selected:before{opacity:.7}.format-card.disabled{opacity:.6;cursor:not-allowed;transform:none!important}.format-card.disabled:hover{border-color:#ddd;background:#fff}.format-card input[type=radio]{position:absolute;opacity:0;width:0;height:0}.format-icon{width:40px;height:40px;background:#f5f5f5;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:8px;transition:all .2s ease;position:relative;z-index:1}.format-card:hover .format-icon{background:#fff}.format-card.selected .format-icon{background:#ff8820;color:#fff}.format-icon svg{transition:all .2s ease;color:#666}.format-card.selected .format-icon svg{color:#fff}.format-info{text-align:center;position:relative;z-index:1}.format-name{font-size:1rem;font-weight:600;color:#1a1a1a;margin-bottom:4px}.format-desc{font-size:.85rem;color:#666;font-weight:500}.selection-indicator{position:absolute;top:6px;right:6px;width:18px;height:18px;border-radius:50%;background:#ff8820;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8);transition:all .2s ease}.format-card.selected .selection-indicator{opacity:1;transform:scale(1)}.selection-indicator:after{content:"✓";color:#fff;font-size:12px;font-weight:700}.modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:1rem 1.5rem;border-top:1px solid rgba(0,0,0,.1)}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;min-width:100px;justify-content:center}.btn-secondary{background:#f0f0f0;color:#666;border:1px solid #ddd}.btn-secondary:hover:not(:disabled){background:#e8e8e8;color:#555}.btn-primary{background:#ff8820;color:#fff}.btn-primary:hover:not(:disabled){background:#e67a1c}.btn:disabled{opacity:.6;cursor:not-allowed}.loading-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}[data-theme=dark] .export-png-modal,.dark-mode .export-png-modal{background:#1e1e1ef2;border-color:#ffffff1a}[data-theme=dark] .export-png-modal .modal-header,.dark-mode .export-png-modal .modal-header{border-color:#ffffff0d;background:transparent}[data-theme=dark] .header-text h3,.dark-mode .header-text h3{color:#e0e0e0}[data-theme=dark] .timeline-title,.dark-mode .timeline-title{color:#999}[data-theme=dark] .close-btn,.dark-mode .close-btn{background:#ffffff0d;color:#999}[data-theme=dark] .close-btn:hover,.dark-mode .close-btn:hover{background:#ffffff1a;color:#ccc}[data-theme=dark] .format-selection h4,.dark-mode .format-selection h4{color:#e0e0e0}[data-theme=dark] .format-card,.dark-mode .format-card{background:#2a2a2a;border-color:#444}[data-theme=dark] .format-icon,.dark-mode .format-icon{background:#3a3a3a}[data-theme=dark] .format-name,.dark-mode .format-name{color:#e0e0e0}[data-theme=dark] .format-desc,.dark-mode .format-desc{color:#999}[data-theme=dark] .modal-footer,.dark-mode .modal-footer{border-color:#ffffff0d}[data-theme=dark] .btn-secondary,.dark-mode .btn-secondary{background:#3a3a3a;color:#999;border-color:#555}[data-theme=dark] .btn-secondary:hover:not(:disabled),.dark-mode .btn-secondary:hover:not(:disabled){background:#444;color:#ccc}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.export-png-modal{max-width:90%;margin:20px}.format-options{grid-template-columns:1fr}.modal-header,.modal-body{padding:1rem}.modal-footer{padding:1rem;flex-direction:column}.btn{width:100%}}:root{--background-color: #fff;--text-color: #333;--text-secondary: #6c757d;--border-color: #ddd;--card-background: #fff;--input-background: #fff;--input-border: #ced4da;--topbar-background: rgba(240, 240, 240, .9);--header-background: #f8f9fa;--section-background: #f8f9fa;--card-shadow: 0 2px 4px rgba(0, 0, 0, .05);--hover-shadow: 0 4px 8px rgba(0, 0, 0, .1);--button-primary: #007bff;--button-primary-hover: #0069d9;--button-secondary: #e9ecef;--button-secondary-hover: #dee2e6;--button-text: #495057;--success-background: #d4edda;--success-text: #155724;--error-background: #f8d7da;--error-text: #721c24;--badge-background: #6c757d;--toggle-background: #ccc;--timeline-background: #fff;--event-background: #fff;--event-border: #e9ecef;--sidebar-background: rgba(240, 240, 240, .7);--toast-background: rgba(255, 255, 255, .9);--dropdown-background: #fff;--dropdown-shadow: 0 2px 10px rgba(0, 0, 0, .1);--modal-overlay: rgba(0, 0, 0, .25);--modal-background: #fff;--description-background: #fff;--description-border: #f1f3f5;--event-detail-panel-background: rgba(240, 240, 240, .7);--editor-toolbar-background: #f8f9fa;--editor-content-background: #fff;--welcome-heading: #007bff;--backdrop-blur: blur(4px);--switch-background: #ccc;--size-button-background: #f5f5f5;--size-button-hover: #e0e0e0;--size-button-active-bg: rgba(0, 123, 255, .15);--warning-background: #fff3cd;--warning-text: #856404;--warning-border: #ffeeba;--save-button-color: #28a745;--save-button-hover: #218838;--delete-button-color: #dc3545;--delete-button-hover-bg: rgba(220, 53, 69, .1);--support-button-color: #17a2b8;--feedback-button-color: #6c757d;--timeline-overlay: rgba(255, 255, 255, .594)}body.dark-mode{--background-color: #1a1a1a;--text-color: #f0f0f0;--text-secondary: #a0a0a0;--border-color: #333;--card-background: #2d2d2d;--input-background: #333;--input-border: #444;--topbar-background: rgba(25, 25, 25, .9);--header-background: #2d2d2d;--section-background: #252525;--card-shadow: 0 2px 4px rgba(0, 0, 0, .3);--hover-shadow: 0 4px 8px rgba(0, 0, 0, .4);--button-text: #e0e0e0;--success-background: #1a472a;--success-text: #8bcc9f;--error-background: #4c1818;--error-text: #e89090;--badge-background: #3d3d3d;--toggle-background: #444;--timeline-background: #2d2d2d;--event-background: #333;--event-border: #444;--sidebar-background: rgba(30, 30, 30, .8);--toast-background: rgba(40, 40, 40, .9);--dropdown-background: #2d2d2d;--dropdown-shadow: 0 2px 10px rgba(0, 0, 0, .3);--modal-overlay: rgba(0, 0, 0, .5);--modal-background: #2d2d2d;--description-background: #333;--description-border: #444;--event-detail-panel-background: rgba(30, 30, 30, .8);--editor-toolbar-background: #252525;--editor-content-background: #333;--welcome-heading: #3a97ff;--backdrop-blur: blur(4px);--switch-background: #555;--size-button-background: #333;--size-button-hover: #444;--size-button-active-bg: rgba(0, 123, 255, .25);--warning-background: #442e00;--warning-text: #ffd04d;--warning-border: #6d5200;--save-button-color: #28a745;--save-button-hover: #218838;--delete-button-color: #dc3545;--delete-button-hover-bg: rgba(220, 53, 69, .2);--support-button-color: #158496;--feedback-button-color: #5a6268;--timeline-overlay: rgba(25, 25, 25, .6)}body.dark-mode{background-color:var(--background-color);color:var(--text-color)}body.dark-mode .topbar{background-color:var(--topbar-background);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);border-bottom-color:var(--border-color)}body.dark-mode .app-brand{color:var(--button-primary)}body.dark-mode .app-brand:hover{background-color:#007bff33}body.dark-mode .timeline-title-display{color:var(--text-color)}body.dark-mode .timeline-period,body.dark-mode .topbar-username{color:var(--text-secondary)}body.dark-mode .user-dropdown{background-color:var(--dropdown-background);border-color:var(--border-color);box-shadow:var(--dropdown-shadow)}body.dark-mode .dropdown-item{color:var(--text-secondary)}body.dark-mode .dropdown-item:hover{background-color:#0003;color:var(--button-primary)}body.dark-mode .dropdown-divider{background-color:var(--border-color)}body.dark-mode .nav-links a{color:var(--text-color)}body.dark-mode .nav-links a:hover,body.dark-mode .nav-links a.active{color:var(--button-primary)}body.dark-mode .nav-links a.active:after{background-color:var(--button-primary)}body.dark-mode .page-title{color:var(--text-color);border-bottom-color:var(--border-color)}body.dark-mode .timeline-card{background-color:var(--card-background);border-color:var(--border-color);box-shadow:var(--card-shadow)}body.dark-mode .timeline-card:hover{box-shadow:var(--hover-shadow)}body.dark-mode .timeline-card-header{background-color:var(--header-background);border-bottom-color:var(--border-color)}body.dark-mode .timeline-card-header h3{color:var(--text-color)}body.dark-mode .timeline-dates{color:var(--text-secondary)}body.dark-mode .timeline-card-footer{border-top-color:var(--border-color)}body.dark-mode .edit-btn{background-color:var(--button-secondary);border-color:var(--input-border);color:var(--button-text)}body.dark-mode .edit-btn:hover{background-color:var(--button-secondary-hover)}body.dark-mode .delete-btn{background-color:transparent;border-color:var(--delete-button-color);color:var(--delete-button-color)}body.dark-mode .delete-btn:hover{background-color:var(--delete-button-hover-bg)}body.dark-mode .edit-profile-btn,body.dark-mode .save-btn,body.dark-mode .save-settings-btn,body.dark-mode .go-home-btn,body.dark-mode .create-timeline-btn,body.dark-mode .topbar-login-btn,body.dark-mode .login-button-sidebar{background-color:var(--button-primary);color:#fff}body.dark-mode .edit-profile-btn:hover,body.dark-mode .save-btn:hover,body.dark-mode .save-settings-btn:hover,body.dark-mode .go-home-btn:hover,body.dark-mode .create-timeline-btn:hover,body.dark-mode .topbar-login-btn:hover,body.dark-mode .login-button-sidebar:hover{background-color:var(--button-primary-hover)}body.dark-mode .support-btn{background-color:var(--support-button-color)}body.dark-mode .feedback-btn{background-color:var(--feedback-button-color)}body.dark-mode input,body.dark-mode select,body.dark-mode textarea{background-color:var(--input-background);border-color:var(--input-border);color:var(--text-color)}body.dark-mode input:disabled,body.dark-mode select:disabled,body.dark-mode textarea:disabled{background-color:var(--section-background)}body.dark-mode .toggle-switch label{background-color:var(--toggle-background)}body.dark-mode .switch .slider{background-color:var(--switch-background)}body.dark-mode .message.success{background-color:var(--success-background);color:var(--success-text)}body.dark-mode .message.error{background-color:var(--error-background);color:var(--error-text)}body.dark-mode .warning-message{background-color:var(--warning-background);color:var(--warning-text);border-left-color:var(--warning-border)}body.dark-mode .avatar-initials{background-color:var(--section-background);color:var(--text-secondary)}body.dark-mode .profile-membership{background-color:var(--section-background)}body.dark-mode .badge{background-color:var(--badge-background)}body.dark-mode .setting-item{border-bottom-color:var(--border-color)}body.dark-mode .auth-required-message{background-color:var(--section-background);color:var(--text-secondary)}body.dark-mode .user-dropdown{background-color:var(--dropdown-background);border-color:var(--border-color)}body.dark-mode .empty-state,body.dark-mode .loading-indicator{color:var(--text-secondary)}body.dark-mode .timeline-container:not([style*=background-color]):not([style*=background-image]){background-color:#fff!important}body.dark-mode .timeline-container[style*=background-image]:before{background-color:transparent!important}body.dark-mode .timeline-container[data-has-filtered-background=true]:before{background-color:transparent!important;filter:var(--bg-filter, none)!important}body.dark-mode .event{background-color:var(--event-background);box-shadow:var(--card-shadow)}body.dark-mode .event:hover{box-shadow:var(--hover-shadow)}body.dark-mode .event .event-title-content{color:var(--text-color);text-shadow:0 1px 2px rgba(0,0,0,.5);font-weight:700;font-style:normal}body.dark-mode .event .event-date-content{color:var(--text-secondary);opacity:.9}body.dark-mode .timeline-info,body.dark-mode .timeline-info kbd{background-color:inherit!important;color:inherit!important}body.dark-mode .sidebar-content{background-color:var(--sidebar-background);border-color:var(--border-color)}body.dark-mode .sidebar-section{border-bottom-color:var(--border-color)}body.dark-mode .sidebar-welcome h3{color:var(--welcome-heading)}body.dark-mode .sidebar-welcome p,body.dark-mode .quick-start-list li,body.dark-mode .feature-list li{color:var(--text-secondary)}body.dark-mode .sidebar-section h4{color:var(--text-color)}body.dark-mode .sidebar-toggle{background-color:var(--button-primary)}body.dark-mode .timeline-item{background-color:var(--card-background);border-color:var(--border-color)}body.dark-mode .timeline-item:hover{background-color:var(--header-background);border-color:#007bff4d}body.dark-mode .save-timeline-btn:not(:disabled){background-color:var(--save-button-color)!important}body.dark-mode .save-timeline-btn:hover:not(:disabled){background-color:var(--save-button-hover)!important}body.dark-mode .save-timeline-btn:disabled{background-color:var(--badge-background)!important}body.dark-mode .shortcut-notification{background-color:var(--toast-background);color:var(--text-color);box-shadow:var(--card-shadow)}body.dark-mode .modal-overlay{background-color:var(--modal-overlay)}body.dark-mode .modal-content,body.dark-mode .event-edit-modal,body.dark-mode .delete-confirmation-modal{background-color:var(--modal-background);color:var(--text-color);border-color:var(--border-color)}body.dark-mode .modal-close{color:var(--text-secondary)}body.dark-mode .modal-close:hover,body.dark-mode .auth-form h2,body.dark-mode .modal-header h3{color:var(--text-color)}body.dark-mode .auth-switch,body.dark-mode .auth-description{color:var(--text-secondary)}body.dark-mode .google-signin-button{background-color:var(--card-background);color:var(--text-color);border-color:var(--border-color)}body.dark-mode .google-signin-button:hover{background-color:var(--header-background)}body.dark-mode .event-detail-panel{background-color:var(--event-detail-panel-background);border-color:var(--border-color)}body.dark-mode .detail-panel-header{background-color:var(--header-background);border-bottom-color:var(--border-color)}body.dark-mode .detail-panel-header h3{color:var(--text-color)}body.dark-mode .close-panel-btn,body.dark-mode .expand-btn,body.dark-mode .panel-header-actions button{color:var(--text-secondary)}body.dark-mode .close-panel-btn:hover,body.dark-mode .expand-btn:hover,body.dark-mode .panel-header-actions button:hover{color:var(--text-color);background-color:#ffffff1a}body.dark-mode .event-title{border-bottom-color:var(--border-color)}body.dark-mode .event-title h4{color:var(--text-color)}body.dark-mode .event-date{background-color:var(--card-background);color:var(--text-secondary);border-color:var(--border-color)}body.dark-mode .event-description h5{color:var(--text-color)}body.dark-mode .description-content{background-color:var(--description-background);color:var(--text-color);border-color:var(--description-border);box-shadow:var(--card-shadow)}body.dark-mode .description-content a{color:var(--button-primary)}body.dark-mode .no-description{background-color:var(--section-background);color:var(--text-secondary);border-color:var(--border-color)}body.dark-mode .detail-panel-actions{border-top-color:var(--border-color)}body.dark-mode .editor-toolbar{background-color:var(--editor-toolbar-background);border-color:var(--border-color)}body.dark-mode .format-btn{color:var(--text-secondary)}body.dark-mode .format-btn:hover{background-color:#ffffff1a;color:var(--text-color)}body.dark-mode .editor-content{background-color:var(--editor-content-background);color:var(--text-color);border-color:var(--border-color)}body.dark-mode .editor-content[placeholder]:empty:before{color:var(--text-secondary)}body.dark-mode .date-input-container label{color:var(--text-color)}body.dark-mode .date-input-field{background-color:var(--input-background);border-color:var(--input-border)}body.dark-mode .date-input-field input[type=text]{background-color:var(--input-background);color:var(--text-color)}body.dark-mode .date-input-field input::placeholder{color:var(--text-secondary)}body.dark-mode .calendar-toggle-btn{color:var(--text-secondary)}body.dark-mode .calendar-toggle-btn:hover{background-color:#ffffff1a}body.dark-mode .calendar-toggle-btn svg{color:var(--text-secondary)}body.dark-mode .size-button{background-color:var(--size-button-background);border-color:var(--border-color)}body.dark-mode .size-button:hover{background-color:var(--size-button-hover);border-color:var(--text-secondary)}body.dark-mode .size-button.active{border-color:var(--button-primary);background-color:var(--size-button-active-bg)}body.dark-mode .size-button svg{stroke:var(--text-secondary)}body.dark-mode .size-button:hover svg{stroke:var(--text-color)}body.dark-mode .size-button.active svg{stroke:var(--button-primary);fill:#007bff1a}body.dark-mode .context-menu-background{background-color:var(--card-background);color:var(--text-color)}body.dark-mode .context-menu-item.active{background-color:#007bff33}body.dark-mode .context-menu-color-swatch,body.dark-mode .context-menu-thickness-swatch{border-color:var(--border-color)}body.dark-mode .add-description-btn{color:var(--button-primary);border-color:var(--button-primary)}body.dark-mode .add-description-btn:hover{background-color:#007bff1a}body.dark-mode .hide-description-btn{color:var(--text-secondary);border-color:var(--border-color)}body.dark-mode .hide-description-btn:hover{background-color:var(--section-background)}body.dark-mode .mobile-warning{background-color:var(--card-background);color:var(--text-color);border-color:var(--border-color)}body.dark-mode .topbar-form-dropdown{background-color:var(--card-background);border-color:var(--border-color);box-shadow:var(--dropdown-shadow)}body.dark-mode .topbar-form-dropdown:before{background-color:var(--card-background);border-color:var(--border-color)}body.dark-mode .form-footer{border-top-color:var(--border-color)}body.dark-mode .title-editor-container{background-color:var(--card-background);box-shadow:var(--dropdown-shadow)}body.dark-mode .title-editor-container:before{background-color:var(--card-background);box-shadow:-2px -2px 5px #0003}body.dark-mode .title-editor-form h3{color:var(--text-color)}body.dark-mode .title-editor-form label{color:var(--text-secondary)}body.dark-mode .cancel-btn{background-color:var(--button-secondary);color:var(--text-color)}body.dark-mode .cancel-btn:hover{background-color:var(--button-secondary-hover)}body.dark-mode .timeline-context-menu{background-color:var(--card-background);border-color:var(--border-color);box-shadow:var(--dropdown-shadow)}body.dark-mode .context-menu-header{background-color:var(--header-background);border-bottom-color:var(--border-color);color:var(--text-color)}body.dark-mode .context-menu-item{color:var(--text-color)}body.dark-mode .context-menu-item:hover{background-color:var(--section-background)}body.dark-mode .context-menu-item.active{background-color:#007bff33;border-left:2px solid var(--button-primary);padding-left:13px}body.dark-mode .context-menu-back-btn{color:var(--text-secondary)}body.dark-mode .context-menu-back-btn:hover{color:var(--text-color)}body.dark-mode .context-menu-color-swatch{border-color:var(--border-color);box-shadow:0 0 3px #ffffff1a}body.dark-mode .context-menu-thickness-swatch{border-color:var(--border-color);background-color:var(--text-color)}body.dark-mode .timeline-context-menu{animation:menuFadeInDark .2s ease-out}@keyframes menuFadeInDark{0%{opacity:0;transform:scale(.95);box-shadow:0 2px 5px #00000080}to{opacity:1;transform:scale(1);box-shadow:var(--dropdown-shadow)}}body.dark-mode .context-menu-item.active .context-menu-chevron{color:var(--button-primary)}body.dark-mode .timeline-context-menu[data-color="#007bff"] .context-menu-thickness-swatch{background-color:#3a97ff}body.dark-mode .timeline-context-menu[data-color="#dc3545"] .context-menu-thickness-swatch{background-color:#e05561}body.dark-mode .timeline-context-menu[data-color="#28a745"] .context-menu-thickness-swatch{background-color:#34c653}body.dark-mode .timeline-context-menu[data-color="#fd7e14"] .context-menu-thickness-swatch{background-color:#ff9642}body.dark-mode .timeline-context-menu[data-color="#6f42c1"] .context-menu-thickness-swatch{background-color:#8a5fdb}body.dark-mode .timeline-context-menu[data-color="#20c997"] .context-menu-thickness-swatch{background-color:#2ee0ad}body.dark-mode .timeline-context-menu[data-color="#6c757d"] .context-menu-thickness-swatch{background-color:#868e96}body.dark-mode .setting-item{border-bottom-color:#ffffff1a}body.dark-mode .toggle-switch input:checked+label{background-color:var(--button-primary)}body.dark-mode .language-select{background-color:var(--input-background);color:var(--text-color);border-color:var(--input-border)}body.dark-mode .language-select option{background-color:var(--card-background)}body.dark-mode .profile-email,body.dark-mode .field-note{color:var(--text-secondary)}body.dark-mode .profile-membership{background-color:var(--section-background);border:1px solid var(--border-color)}body.dark-mode .not-found h1{color:var(--button-primary)}body.dark-mode .not-found h2{color:var(--text-color)}body.dark-mode .not-found p{color:var(--text-secondary)}body.dark-mode .timeline-card:hover{transform:translateY(-3px)}body.dark-mode .edit-btn{background-color:#ffffff1a;border-color:var(--border-color)}body.dark-mode .edit-btn:hover{background-color:#ffffff26}body.dark-mode .timeline-line{opacity:inherit!important}body.dark-mode .event.dragging{box-shadow:0 8px 16px #0006}body.dark-mode .event.just-snapped{animation:snapPulseDark .3s ease-in-out}@keyframes snapPulseDark{0%{transform:scale(1);opacity:.9}50%{transform:scale(1.05);opacity:.75}to{transform:scale(1);opacity:.9}}body.dark-mode .event-connection-line line{stroke-opacity:.85}body.dark-mode .timeline-context-menu{border:1px solid var(--border-color)}body.dark-mode .context-menu-item:hover{background-color:#ffffff0d}body.dark-mode .context-menu-item.active{background-color:#007bff26}body.dark-mode .event-description-indicator{color:var(--button-primary);opacity:.85}body.dark-mode .event-description-indicator:hover{opacity:1}body.dark-mode .auth-required-message{background-color:var(--card-background);border:1px solid var(--border-color);box-shadow:var(--card-shadow)}body.dark-mode .snapping-tooltip{background-color:#000000bf;color:#f0f0f0;box-shadow:0 2px 8px #00000080}body.dark-mode .empty-state{background-color:var(--section-background);border-radius:8px;padding:2rem;border:1px solid var(--border-color)}body.dark-mode .loading-indicator{background-color:var(--section-background);border-radius:8px;padding:1rem;border:1px solid var(--border-color)}.profile-container{background-color:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 4px #0000000d;border:1px solid var(--border-color);width:100%;max-width:700px;margin:0 auto}.profile-avatar{width:80px;height:80px;border-radius:50%;overflow:hidden;background-color:#f5f5f5;display:flex;align-items:center;justify-content:center;border:2px solid #f0f0f0}.avatar-initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:600;color:#6c757d;background-color:#f8f9fa;border:1px solid #eee}body.dark-mode .avatar-initials{background-color:var(--section-background);color:var(--text-secondary);border-color:var(--border-color)}.profile-membership{background-color:#f8f9fa;border:1px solid #eee;border-radius:8px;padding:1.5rem;margin-top:2rem}body.dark-mode .profile-membership{background-color:var(--section-background);border-color:var(--border-color)}.profile-membership h3{color:#333;margin-bottom:1rem;border-bottom:1px solid #eee;padding-bottom:.5rem;font-size:1.2rem}body.dark-mode .profile-membership h3{color:var(--text-color);border-bottom-color:var(--border-color)}.profile-form .form-group{margin-bottom:1.5rem}.profile-form .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#444}body.dark-mode .profile-form .form-group label{color:var(--text-color)}.profile-form input{width:100%;padding:.75rem;border:1px solid #ced4da;border-radius:4px;font-size:.95rem;background-color:#fff;color:#333}body.dark-mode .profile-form input{background-color:var(--input-background);border-color:var(--input-border);color:var(--text-color)}.profile-form input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff40;outline:none}body.dark-mode .profile-form input:focus{border-color:var(--button-primary)}.profile-form input:disabled{background-color:#e9ecef;cursor:not-allowed;color:#6c757d}body.dark-mode .profile-form input:disabled{background-color:var(--section-background);color:var(--text-secondary)}.field-note{font-size:.85rem;color:#6c757d;margin-top:.5rem}body.dark-mode .field-note{color:var(--text-secondary)}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.cancel-btn,.save-btn{padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-weight:500;transition:all .2s ease}.cancel-btn{background-color:#f8f9fa;border:1px solid #ced4da;color:#495057}.cancel-btn:hover{background-color:#e9ecef}.save-btn{background-color:#007bff;border:none;color:#fff}.save-btn:hover{background-color:#0069d9}body.dark-mode .save-btn:hover{background-color:var(--button-primary-hover)}.save-btn:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.65}body.dark-mode .save-btn:disabled{background-color:var(--badge-background)}.message{padding:1rem;margin:1rem 0;border-radius:4px;border-left:4px solid transparent}.message.success{background-color:#d4edda;color:#155724;border-left-color:#28a745}.message.error{background-color:#f8d7da;color:#721c24;border-left-color:#dc3545}.badge{display:inline-block;padding:.3rem .6rem;font-size:.75rem;font-weight:700;border-radius:.25rem;background-color:#6c757d;color:#fff;margin-right:.5rem}body.dark-mode .badge{background-color:var(--button-primary)}.upgrade-btn{padding:.75rem 1.5rem;background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:all .2s ease}body.dark-mode .upgrade-btn{background-color:var(--save-button-color)}.upgrade-btn:hover{background-color:#218838;transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}body.dark-mode .upgrade-btn:hover{background-color:var(--save-button-hover);box-shadow:0 4px 8px #0003}@media (max-width: 768px){.profile-container,body.dark-mode .profile-container{padding:1.5rem}.profile-header,body.dark-mode .profile-header{padding-bottom:1rem;margin-bottom:1rem}.profile-membership,body.dark-mode .profile-membership{padding:1.25rem}}body.dark-mode .profile-container{background-color:var(--card-background);border-radius:8px;padding:2rem;box-shadow:var(--card-shadow);border:1px solid var(--border-color)}body.dark-mode .profile-header{border-bottom:1px solid var(--border-color)}body.dark-mode .profile-avatar{border:2px solid var(--border-color);background-color:var(--section-background)}body.dark-mode .profile-avatar img{background-color:var(--card-background)}body.dark-mode .avatar-initials{background-color:var(--section-background);color:var(--text-secondary);border:1px solid var(--border-color)}body.dark-mode .profile-form .form-group label{color:var(--text-color);font-weight:500}body.dark-mode .profile-form input{background-color:var(--input-background);border-color:var(--input-border);color:var(--text-color);padding:.75rem}body.dark-mode .profile-form input:focus{border-color:var(--button-primary);box-shadow:0 0 0 3px #007bff40}body.dark-mode .profile-form input:disabled{background-color:var(--section-background);color:var(--text-secondary);border-color:var(--border-color)}body.dark-mode .field-note{color:var(--text-secondary);font-size:.85rem;margin-top:.5rem}body.dark-mode .form-actions{margin-top:2rem}body.dark-mode .cancel-btn{background-color:var(--section-background);color:var(--text-color);border:1px solid var(--border-color)}body.dark-mode .cancel-btn:hover{background-color:var(--header-background)}body.dark-mode .save-btn{background-color:var(--button-primary)}body.dark-mode .save-btn:hover{background-color:var(--button-primary-hover);box-shadow:0 2px 8px #007bff4d}body.dark-mode .save-btn:disabled{background-color:var(--section-background);color:var(--text-secondary);cursor:not-allowed}body.dark-mode .profile-membership{background-color:var(--section-background);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem}body.dark-mode .profile-membership h3{color:var(--text-color);margin-bottom:1rem;border-bottom:1px solid var(--border-color);padding-bottom:.5rem}body.dark-mode .membership-type{color:var(--text-secondary)}body.dark-mode .badge{background-color:var(--button-primary);color:#fff;font-weight:500;padding:.3rem .6rem}body.dark-mode .membership-actions{margin-top:1.5rem}body.dark-mode .upgrade-btn{background-color:var(--save-button-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-weight:500;transition:all .2s ease}body.dark-mode .upgrade-btn:hover{background-color:var(--save-button-hover);transform:translateY(-2px);box-shadow:0 4px 8px #0003}body.dark-mode .message{border-radius:4px;padding:1rem;margin:1rem 0;border-left:4px solid transparent}body.dark-mode .message.success{background-color:var(--success-background);color:var(--success-text);border-left-color:var(--save-button-color)}body.dark-mode .message.error{background-color:var(--error-background);color:var(--error-text);border-left-color:var(--delete-button-color)}body.dark-mode .edit-profile-btn{background-color:var(--button-primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;font-weight:500;transition:all .2s ease;width:auto;display:inline-block}body.dark-mode .edit-profile-btn:hover{background-color:var(--button-primary-hover);transform:translateY(-2px);box-shadow:0 4px 8px #0003}@keyframes fadeInDark{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}body.dark-mode .profile-container{animation:fadeInDark .3s ease-out}@media (max-width: 768px){body.dark-mode .profile-container{padding:1.5rem}body.dark-mode .profile-header{padding-bottom:1rem;margin-bottom:1rem}}.profile-details{margin:1.5rem 0}.detail-item{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #f0f0f0}.detail-item:last-child{border-bottom:none;padding-bottom:0}.detail-item h3{font-size:.9rem;color:#6c757d;margin-bottom:.5rem;font-weight:500}.detail-item p{font-size:1rem;color:#333;margin:0}body.dark-mode .detail-item{border-bottom-color:var(--border-color)}body.dark-mode .detail-item h3{color:var(--text-secondary)}body.dark-mode .detail-item p{color:var(--text-color)}.profile-container{background-color:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 4px #0000000d;border:1px solid #eee;width:100%;max-width:700px;margin:0 auto}body.dark-mode .profile-container{background-color:var(--card-background);box-shadow:var(--card-shadow);border-color:var(--border-color)}.profile-avatar{width:80px;height:80px;border-radius:50%;margin-right:1.5rem;overflow:hidden;background-color:#f5f5f5;display:flex;align-items:center;justify-content:center;border:2px solid #f0f0f0}body.dark-mode .profile-avatar{background-color:var(--section-background);border-color:var(--border-color)}.profile-info h2{margin:0 0 .5rem;font-size:1.5rem;color:#333}body.dark-mode .profile-info h2{color:var(--text-color)}.profile-email{margin:0;color:#6c757d;font-size:.9rem}body.dark-mode .profile-email{color:var(--text-secondary)}@media (max-width: 768px){.profile-container,body.dark-mode .profile-container{padding:1.5rem}.profile-header,body.dark-mode .profile-header{flex-direction:column;text-align:center}.profile-avatar{margin:0 auto 1rem}.detail-item{padding-bottom:1rem;margin-bottom:1rem}}.modal-header-buttons .save-btn{background-color:var(--button-primary);border:none;color:#fff}.modal-header-buttons .save-btn:hover{background-color:var(--button-primary-hover)}.event-edit-modal .form-group{margin-bottom:1rem}.event-edit-modal label{display:block;margin-bottom:.4rem;font-weight:500;font-size:.9rem;color:var(--text-color)}.event-edit-modal .required-mark{color:var(--delete-button-color)}.event-edit-modal .color-buttons-group{display:flex;gap:8px;margin-top:.5rem}.event-edit-modal .color-button{width:34px;height:34px;border-radius:4px;border:1px solid var(--border-color);cursor:pointer;transition:all .2s}.event-edit-modal .color-button:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0003}.event-edit-modal .color-button.active{border:2px solid var(--text-color)}.profile-header{background:var(--card-background, white);padding:2rem 5%;position:relative}.profile-info{display:flex;align-items:center;gap:1.5rem;max-width:1400px;margin:0 auto}.profile-avatar{width:80px;height:80px;border-radius:50%;overflow:hidden;flex-shrink:0}.profile-avatar img{width:100%;height:100%;object-fit:cover}.avatar-initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary, #f8f9fa);color:var(--text-secondary, #666);font-size:2rem;font-weight:700}.profile-details h1{margin:0 0 .5rem;font-size:1.8rem;font-weight:700;color:var(--text-color, #333)}.profile-email{margin:0 0 1rem;color:var(--text-secondary, #666);font-size:1rem}.profile-stats{display:flex;flex-wrap:wrap;gap:1.5rem}.profile-stats span{font-size:.9rem;color:var(--text-secondary, #777)}.profile-settings-btn{position:absolute;top:1.5rem;right:2rem;background:none;border:none;cursor:pointer;color:var(--text-secondary, #666);padding:.5rem;border-radius:50%;transition:all .2s ease;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.profile-settings-btn:hover{background:var(--hover-bg, rgba(0, 0, 0, .05));color:var(--text-color, #333);transform:rotate(90deg)}.tabs-container{border-bottom:1px solid var(--border-color, #eee);background:var(--bg-primary, white)}.tabs{display:flex;max-width:1400px;margin:0 auto;padding:0 5%}.tab{background:none;border:none;padding:1rem 1.5rem;cursor:pointer;font-size:1rem;font-weight:500;color:var(--text-secondary, #666);border-bottom:2px solid transparent;transition:all .2s ease}.tab:hover{color:var(--primary-color, #007bff)}.tab.active{color:var(--primary-color, #007bff);border-bottom-color:var(--primary-color, #007bff)}.tab-content{padding:2rem 0}.page-header-with-action{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.timelines-section{margin-bottom:2.5rem}.section-title{font-size:1.35rem;margin:0 0 1.5rem;color:#333;font-weight:600}.shared-section{margin-top:2rem;padding-top:2rem;border-top:1px solid #eaeaea}.shared-timeline-card .role-badge{font-size:.75rem;padding:.25rem .5rem;border-radius:4px;background-color:#007bff14;color:#007bff;border:1px solid rgba(0,123,255,.15)}.timeline-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.timeline-card-top h3{margin:0;font-size:1rem;font-weight:600;color:#2c2c2c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;padding-right:.5rem}.timeline-dates{font-size:.85rem;color:#666;margin:0 0 1rem;line-height:1.4}.timeline-card-actions{display:flex;gap:.5rem;align-items:center}.privacy-toggle-btn{padding:.5rem .75rem;border-radius:4px;font-size:.8rem;cursor:pointer;transition:all .2s ease;font-weight:500;border:1px solid;white-space:nowrap;display:flex;align-items:center}.privacy-toggle-btn.public{background-color:#fff;border-color:#28a745;color:#28a745}.privacy-toggle-btn.private{background-color:#fff;border-color:#6c757d;color:#6c757d}.privacy-toggle-btn.public:hover{background-color:#28a74514}.privacy-toggle-btn.private:hover{background-color:#6c757d14}.share-btn{padding:.5rem;border-radius:4px;font-size:.85rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;background-color:#fff;border:1px solid #ddd;color:#555;min-width:36px}.share-btn:hover{background-color:#f0f0f0;border-color:#ccc}.icon-button{background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.35rem;border-radius:4px;transition:all .2s ease;opacity:.7}.icon-button:hover{background-color:#0000000d;opacity:1}.icon-button.delete .icon-delete{color:#d63638}.copy-success{position:absolute;background-color:#28a745e6;color:#fff;padding:.3rem .6rem;border-radius:4px;font-size:.75rem;right:.5rem;bottom:-1.75rem;animation:fadeInOut 2s forwards;z-index:10}@keyframes fadeInOut{0%{opacity:0;transform:translateY(10px)}20%{opacity:1;transform:translateY(0)}80%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.auth-centered-content{display:flex;justify-content:center;align-items:center;min-height:250px}.auth-required-message{background-color:#fafafa;border-radius:8px;padding:2rem;text-align:center;color:#6c757d;width:100%;max-width:400px;box-shadow:0 1px 3px #0000000a}body.dark-mode .timeline-card-top h3{color:#e0e0e0}body.dark-mode .icon-button:hover{background-color:#ffffff14}body.dark-mode .icon-button.delete .icon-delete{color:#f77}body.dark-mode .privacy-toggle-btn{background-color:#2a2a2a}body.dark-mode .privacy-toggle-btn.public{border-color:#28a745;color:#28a745}body.dark-mode .privacy-toggle-btn.private{border-color:#a0a0a0;color:#a0a0a0}body.dark-mode .share-btn{background-color:#2a2a2a;border-color:#505050;color:#b0b0b0}body.dark-mode .share-btn:hover{background-color:#333;border-color:#606060}body.dark-mode .empty-state,body.dark-mode .auth-required-message{background-color:#2a2a2a;color:#a0a0a0;box-shadow:0 1px 3px #00000026}body.dark-mode .section-title{color:#e0e0e0}body.dark-mode .shared-section{border-top-color:#404040}body.dark-mode .shared-timeline-card .role-badge{background-color:#0d6efd26;color:#80bdff;border-color:#0d6efd4d}body.dark-mode .profile-header{background:var(--card-background, #1e1e1e);border-bottom-color:var(--border-color, #333)}body.dark-mode .profile-details h1{color:var(--text-color, #e0e0e0)}body.dark-mode .profile-email,body.dark-mode .profile-stats span{color:var(--text-secondary, #a0a0a0)}body.dark-mode .avatar-initials{background:var(--bg-secondary, #2a2a2a);color:var(--text-secondary, #a0a0a0)}body.dark-mode .tabs-container{background:var(--bg-primary, #1a1a1a);border-bottom-color:var(--border-color, #333)}body.dark-mode .tab{color:var(--text-secondary, #a0a0a0)}body.dark-mode .tab:hover{color:var(--primary-color, #4dabf7)}body.dark-mode .tab.active{color:var(--primary-color, #4dabf7);border-bottom-color:var(--primary-color, #4dabf7)}body.dark-mode .profile-settings-btn{color:var(--text-secondary, #a0a0a0)}body.dark-mode .profile-settings-btn:hover{background:var(--hover-bg, rgba(255, 255, 255, .05));color:var(--text-color, #e0e0e0)}@media (max-width: 768px){.profile-info{flex-direction:column;text-align:center;gap:1rem}.profile-avatar{width:70px;height:70px}.avatar-initials,.profile-details h1{font-size:1.5rem}.profile-stats{justify-content:center;gap:1rem}.tabs{flex-wrap:wrap}.tab{flex:1;min-width:0;padding:.8rem 1rem}.timelines-full-grid{grid-template-columns:1fr;gap:1rem}.page-header-with-action{flex-direction:column;align-items:flex-start;gap:1rem}.timeline-card-actions{flex-direction:column;gap:.75rem;align-items:flex-start}}@media (max-width: 480px){.profile-header{padding:1.5rem 5%}.profile-settings-btn{top:1rem;right:1rem;width:36px;height:36px}.profile-details h1{font-size:1.3rem}.profile-stats{flex-direction:column;gap:.5rem}.tab{font-size:.9rem;padding:.7rem .8rem}.timeline-card-top{flex-direction:column;gap:.5rem}.timeline-card-top h3{padding-right:0}}.page-fullwidth-container{width:100%;max-width:100%;padding:50px 0 0;margin:0;min-height:100vh;display:flex;flex-direction:column;background-color:#f8f9fa;overflow-y:auto}.page-subtle-title{font-size:1.6rem;font-weight:500;color:#555;padding:1.5rem 5%;margin:0;background-color:transparent;box-shadow:none;border-bottom:1px solid #eaeaea}.content-container{flex:1;padding:2rem 5%;width:100%;max-width:1400px;margin:0 auto}.auth-centered-content{display:flex;justify-content:center;align-items:center;min-height:300px}.auth-required-message{background-color:#fff;border-radius:12px;padding:3rem;text-align:center;color:#6c757d;width:100%;max-width:500px;box-shadow:0 2px 10px #0000000d}.auth-notification-message{background-color:#fff3cd;border-left:4px solid #ffc107;padding:1rem 1.5rem;margin-bottom:2rem;border-radius:4px;color:#856404}.floating-message{position:fixed;bottom:2rem;right:2rem;z-index:100;animation:messageSlideUp .3s ease}.save-message{display:inline-block;padding:.75rem 1.25rem;border-radius:6px;font-weight:500}.save-message.success{background-color:#d4edda;color:#155724}.loading-indicator{text-align:center;padding:2rem;color:#6c757d}.error-message{background-color:#f8d7da;color:#721c24;padding:1rem;border-radius:4px;margin:1rem 0}.empty-state-container{display:flex;justify-content:center;align-items:center;min-height:400px}.empty-state{text-align:center;padding:3rem 1rem;color:#6c757d;background-color:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;max-width:500px}@keyframes messageSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}body.dark-mode .page-fullwidth-container{background-color:#121212}body.dark-mode .page-subtle-title{color:#adb5bd;border-bottom-color:#333}body.dark-mode .auth-required-message{background-color:#1e1e1e;color:#adb5bd;box-shadow:0 2px 10px #0003}body.dark-mode .auth-notification-message{background-color:#332b00;border-left-color:#b38600;color:#ffd970}body.dark-mode .save-message.success{background-color:var(--success-background, #1e3a29);color:var(--success-text, #75b798)}body.dark-mode .empty-state{background-color:#1e1e1e;color:#adb5bd;box-shadow:0 2px 10px #0003}@media (max-width: 768px){.page-subtle-title{font-size:1.4rem;padding:1.2rem 5%}.content-container{padding:1.5rem 5%}.floating-message{bottom:1rem;right:1rem;left:1rem;text-align:center}}@media (max-width: 480px){.page-subtle-title{font-size:1.3rem;padding:1rem 5%}.content-container{padding:1rem 5%}}.settings-container{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000d;max-width:700px;margin:0 auto;border:1px solid #eaeaea;overflow:hidden}.settings-form{padding:1.5rem}.settings-section{margin-bottom:2rem;position:relative}.settings-section h2{font-size:1.1rem;color:#333;margin-bottom:1rem;font-weight:600;padding-bottom:.5rem;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;gap:.5rem}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:.875rem .75rem;margin-bottom:.25rem;transition:background-color .15s;border-radius:6px;min-height:60px}.setting-item:hover{background-color:#f8f9fa}.setting-label{flex:1;padding-right:1.5rem}.setting-label label{display:block;font-weight:500;margin-bottom:.25rem;color:#333;font-size:.95rem}.setting-description{font-size:.8rem;color:#6c757d;margin:0;line-height:1.4}.setting-control{min-width:100px;display:flex;justify-content:flex-end;align-items:center}.toggle-switch{position:relative;display:inline-block;width:44px;height:22px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch label{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#e0e0e0;transition:.2s;border-radius:22px}.toggle-switch label:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;background-color:#fff;transition:.2s;border-radius:50%;box-shadow:0 1px 3px #0003}.toggle-switch input:checked+label{background-color:#007bff}.toggle-switch input:checked+label:before{transform:translate(22px)}.language-select{padding:.5rem .875rem;font-size:.9rem;border:1px solid #e0e0e0;border-radius:5px;color:#495057;background-color:#fff;min-width:130px;font-weight:500;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:14px;padding-right:30px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.language-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 2px #007bff33}.auth-notification-message{background-color:#fff9e6;border:1px solid #ffeeba;padding:.875rem 1rem;margin-bottom:1.5rem;border-radius:5px;color:#856404;font-size:.9rem}.auth-notification-message a{color:#0056b3;text-decoration:underline;font-weight:500}.floating-message{position:fixed;bottom:1.5rem;right:1.5rem;z-index:100;animation:messageSlideUp .2s ease}.save-message{display:inline-block;padding:.6rem 1rem;border-radius:5px;font-weight:500;font-size:.9rem;box-shadow:0 2px 5px #0000001a}.save-message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}@keyframes messageSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}body.dark-mode .settings-container{background-color:var(--card-background);border-color:var(--border-color);box-shadow:var(--card-shadow)}body.dark-mode .settings-section h2{color:var(--text-color);border-bottom-color:var(--border-color)}body.dark-mode .setting-item:hover{background-color:var(--section-background)}body.dark-mode .setting-label label{color:var(--text-color)}body.dark-mode .setting-description{color:var(--text-secondary)}body.dark-mode .toggle-switch label{background-color:#555}body.dark-mode .toggle-switch input:checked+label{background-color:#3a97ff}body.dark-mode .language-select{background-color:var(--input-background);color:var(--text-color);border-color:var(--input-border);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ddd' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}body.dark-mode .language-select:focus{border-color:#3a97ff;box-shadow:0 0 0 2px #3a97ff33}body.dark-mode .language-select option{background-color:var(--card-background);color:var(--text-color)}body.dark-mode .auth-notification-message{background-color:#332b00;border-color:#b38600;color:#ffd970}body.dark-mode .auth-notification-message a{color:#5aabff}body.dark-mode .save-message.success{background-color:var(--success-background);color:var(--success-text);border-color:var(--success-border)}.inline-edit{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.inline-edit input{padding:.5rem .75rem;border:1px solid #e0e0e0;border-radius:4px;font-size:.9rem;min-width:200px}.inline-edit input:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px #007bff33}.display-value{display:flex;align-items:center;gap:.75rem}.display-value span{font-size:.9rem;color:#495057;font-weight:500}.provider-display{background-color:#f8f9fa;border:1px solid #e9ecef;padding:.5rem .75rem;border-radius:6px}.provider-info{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#495057;font-weight:500}.provider-info svg,.provider-info img{width:18px;height:18px;flex-shrink:0}.edit-btn,.save-btn,.cancel-btn,.logout-btn,.delete-btn{padding:.5rem 1rem;border:1px solid;border-radius:4px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.edit-btn{background-color:#f8f9fa;border-color:#dee2e6;color:#495057}.edit-btn:hover{background-color:#e9ecef;border-color:#adb5bd}.save-btn{background-color:#007bff;border-color:#007bff;color:#fff}.save-btn:hover{background-color:#0069d9;border-color:#0056b3}.save-btn:disabled{background-color:#6c757d;border-color:#6c757d;cursor:not-allowed;opacity:.65}.cancel-btn{background-color:#6c757d;border-color:#6c757d;color:#fff}.cancel-btn:hover{background-color:#5a6268;border-color:#545b62}.logout-btn{background-color:#f8f9fa;border-color:#dee2e6;color:#495057}.logout-btn:hover{background-color:#e9ecef;border-color:#adb5bd}.delete-btn{background-color:#dc3545;border-color:#dc3545;color:#fff}.delete-btn:hover{background-color:#c82333;border-color:#bd2130}.danger-item{border:1px solid #f5c6cb;background-color:#f8d7da;border-radius:6px;margin-top:1rem}.danger-item .setting-label label{color:#721c24}.danger-item .setting-description{color:#721c24;opacity:.8}.delete-confirm{text-align:center;padding:1rem;background-color:#fff5f5;border:2px solid #fed7d7;border-radius:6px;max-width:400px}.delete-confirm p{margin:0 0 .75rem;font-size:.9rem}.delete-confirm input{width:100%;padding:.75rem;border:1px solid #e53e3e;border-radius:4px;margin-bottom:1rem;font-size:.9rem}.delete-confirm input:focus{border-color:#c53030;outline:none;box-shadow:0 0 0 3px #e53e3e1a}.confirm-buttons{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.delete-confirm-btn{background-color:#e53e3e;border-color:#e53e3e;color:#fff;padding:.75rem 1.5rem;font-weight:600;font-size:.9rem;border-radius:4px;cursor:pointer;transition:all .2s ease}.delete-confirm-btn:hover{background-color:#c53030;border-color:#c53030}.delete-confirm-btn:disabled{background-color:#a0aec0;border-color:#a0aec0;cursor:not-allowed;opacity:.65}.error-message{background-color:#f8d7da;color:#721c24;padding:.75rem 1rem;border-radius:4px;margin-bottom:1rem;border-left:3px solid #dc3545;font-size:.9rem}body.dark-mode .inline-edit input{background-color:var(--input-background);border-color:var(--input-border);color:var(--text-color)}body.dark-mode .inline-edit input:focus{border-color:var(--button-primary);box-shadow:0 0 0 2px #3a97ff33}body.dark-mode .display-value span{color:var(--text-color)}body.dark-mode .provider-display{background-color:var(--section-background);border-color:var(--border-color)}body.dark-mode .provider-info{color:var(--text-color)}body.dark-mode .edit-btn{background-color:var(--section-background);border-color:var(--border-color);color:var(--text-color)}body.dark-mode .edit-btn:hover{background-color:var(--header-background);border-color:var(--text-secondary)}body.dark-mode .save-btn{background-color:var(--button-primary);border-color:var(--button-primary)}body.dark-mode .save-btn:hover{background-color:var(--button-primary-hover);border-color:var(--button-primary-hover)}body.dark-mode .cancel-btn{background-color:var(--section-background);border-color:var(--border-color);color:var(--text-color)}body.dark-mode .cancel-btn:hover{background-color:var(--header-background);border-color:var(--text-secondary)}body.dark-mode .logout-btn{background-color:var(--section-background);border-color:var(--border-color);color:var(--text-color)}body.dark-mode .logout-btn:hover{background-color:var(--header-background);border-color:var(--text-secondary)}body.dark-mode .delete-btn{background-color:var(--delete-button-color);border-color:var(--delete-button-color);color:#fff}body.dark-mode .delete-btn:hover{background-color:#c82333;border-color:#bd2130}body.dark-mode .danger-item{background-color:#dc35451a;border-color:#dc35454d}body.dark-mode .danger-item .setting-label label{color:#fff}body.dark-mode .danger-item .setting-description{color:#fff;opacity:.9}body.dark-mode .delete-confirm{background-color:var(--card-background);border-color:var(--delete-button-color)}body.dark-mode .delete-confirm input{background-color:var(--input-background);border-color:var(--delete-button-color);color:var(--text-color)}body.dark-mode .delete-confirm input:focus{border-color:#f77;box-shadow:0 0 0 3px #ff77771a}body.dark-mode .delete-confirm-btn{background-color:var(--delete-button-color);border-color:var(--delete-button-color)}body.dark-mode .delete-confirm-btn:hover{background-color:#c82333;border-color:#bd2130}body.dark-mode .error-message{background-color:#dc35451a;color:#f77;border-left-color:var(--delete-button-color)}@media (max-width: 768px){.settings-form{padding:1rem}.setting-item{flex-direction:column;align-items:flex-start;padding:.75rem;gap:.75rem}.setting-label{padding-right:0;width:100%}.setting-control{width:100%;justify-content:flex-start}.inline-edit{width:100%;flex-direction:column;align-items:flex-start;gap:.75rem}.inline-edit input{width:100%;min-width:unset}.display-value{width:100%;justify-content:space-between}.confirm-buttons{flex-direction:column;width:100%}.confirm-buttons .delete-confirm-btn,.confirm-buttons .cancel-btn{width:100%}.delete-confirm{max-width:none;width:100%}.floating-message{bottom:1rem;right:1rem;left:1rem;text-align:center}}.not-found-container{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 160px);padding:2rem}.not-found-content{text-align:center;max-width:600px;background-color:#fff;padding:3rem;border-radius:16px;box-shadow:0 6px 30px #0000001a;animation:fadeInUp .5s ease}.not-found-content h1{font-size:6rem;margin:0;line-height:1;color:#007bff;font-weight:800;margin-bottom:.25rem}.not-found-content h2{font-size:2.2rem;margin-top:0;margin-bottom:1.5rem;color:#343a40;font-weight:700}.not-found-content p{margin-bottom:1rem;color:#495057;font-size:1.1rem;line-height:1.6}.not-found-actions{display:flex;flex-direction:column;gap:12px;margin-top:2rem;max-width:320px;margin-left:auto;margin-right:auto}.go-home-btn{padding:.85rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .25s ease;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:8px;border:none;background-color:#007bff;color:#fff;box-shadow:0 4px 12px #007bff33}.go-home-btn:hover{background-color:#0069d9;transform:translateY(-3px);box-shadow:0 6px 15px #007bff4d}.find-page-btn{padding:.85rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .25s ease;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:8px;background-color:#f8f9fa;color:#495057;border:1px solid #dee2e6}.find-page-btn:hover{background-color:#e9ecef;transform:translateY(-3px);box-shadow:0 4px 12px #0000000d}.loading-redirect{margin-top:2rem;font-size:1.1rem;font-weight:600;color:#007bff;animation:pulse 1.2s infinite}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}body.dark-mode .not-found-content{background-color:#1e1e1e;box-shadow:0 6px 30px #0000004d}body.dark-mode .not-found-content h1{color:#3a97ff}body.dark-mode .not-found-content h2{color:#f1f1f1}body.dark-mode .not-found-content p{color:#adb5bd}body.dark-mode .go-home-btn{background-color:#0d6efd;box-shadow:0 4px 12px #0d6efd4d}body.dark-mode .go-home-btn:hover{background-color:#0b5ed7;box-shadow:0 6px 15px #0d6efd66}body.dark-mode .find-page-btn{background-color:#212529;color:#e9ecef;border-color:#343a40}body.dark-mode .find-page-btn:hover{background-color:#2b3035;box-shadow:0 4px 12px #0003}body.dark-mode .loading-redirect{color:#3a97ff}@media (max-width: 768px){.not-found-content{padding:2.5rem 2rem}.not-found-content h1{font-size:5rem}.not-found-content h2{font-size:1.8rem}.not-found-content p{font-size:1rem}}@media (max-width: 480px){.not-found-content{padding:2rem 1.5rem}.not-found-content h1{font-size:4rem}.not-found-content h2{font-size:1.5rem}.go-home-btn,.find-page-btn{padding:.75rem 1.25rem;font-size:.95rem}}.welcome-text-section{text-align:center;margin-top:2rem;margin-bottom:2rem}.welcome-text{font-size:1.2rem;color:#555;margin:0;line-height:1.5}.timeline-count{font-weight:700;color:#007bff;font-size:1.3rem}.disclaimer-text{font-size:.9rem;color:#888;margin:.8rem 0 0;font-style:italic;line-height:1.4}.search-section{margin-bottom:2rem}.search-container{max-width:600px;margin:0 auto}.search-input-wrapper{position:relative;display:flex;align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:0 16px;transition:all .2s ease;box-shadow:0 2px 4px #0000000a}.search-input-wrapper:focus-within{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.search-input-wrapper svg:first-child{color:#666;margin-right:12px;flex-shrink:0}.search-input{flex:1;border:none;outline:none;padding:14px 0;font-size:1rem;color:#333;background:transparent}.search-input::placeholder{color:#999}.search-clear-btn{background:none;border:none;cursor:pointer;color:#666;padding:4px;margin-left:8px;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.search-clear-btn:hover{background:#0000000d;color:#333}.search-results-info{margin-top:8px;text-align:center;font-size:.9rem;color:#666;padding:8px 16px;background:#f8f9fa;border-radius:8px}.clickable-card{cursor:pointer;transition:all .2s ease}.clickable-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.timeline-card{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;transition:all .2s ease;background-color:#fff;box-shadow:0 2px 6px #0000000a;height:100%;display:flex;flex-direction:column}.timeline-snapshot{width:100%;height:120px;background:#f8f9fa;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid #e9ecef;position:relative}.timeline-snapshot-image{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.timeline-card:hover .timeline-snapshot-image{transform:scale(1.02)}.timeline-snapshot-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(45deg,#f8f9fa,#e9ecef,#f8f9fa);animation:shimmer 1.5s infinite}.snapshot-loading{font-size:.8rem;color:#6c757d;text-align:center;padding:0 1rem}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.timeline-card:hover{border-color:#d0d0d0}.timeline-card-content{padding:1.25rem;flex:1;display:flex;flex-direction:column}.timeline-card-header{margin-bottom:.75rem}.timeline-card-header h3{margin:0;font-size:1rem;font-weight:600;color:#2c2c2c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-dates{font-size:.85rem;color:#666;margin:0;line-height:1.4}.privacy-badge{display:flex;align-items:center;font-size:.75rem;padding:.25rem .5rem;border-radius:4px;width:fit-content}.privacy-badge.public{background-color:#28a74514;color:#28a745;border:1px solid rgba(40,167,69,.15)}.loading-indicator{text-align:center;padding:2rem;color:#6c757d;font-size:.9rem}.error-message{background-color:#fef3f3;color:#b91c1c;padding:.75rem 1rem;border-radius:4px;margin:1rem 0;font-size:.9rem;border-left:3px solid #ef4444}.empty-state-container{display:flex;justify-content:center;align-items:center;min-height:200px}.empty-state{text-align:center;padding:2rem 1rem;color:#6c757d;background-color:#fafafa;border-radius:8px;box-shadow:0 1px 3px #0000000a;max-width:400px;width:100%}.empty-state p{margin:0 0 1.5rem;font-size:.95rem}.create-timeline-btn{padding:.6rem 1.25rem;background-color:#007bff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s ease;font-size:.9rem}.create-timeline-btn:hover{background-color:#0069d9;transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.timelines-full-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;width:100%}body.dark-mode .timeline-card{background-color:#2a2a2a;border-color:#404040;box-shadow:0 2px 6px #00000026}body.dark-mode .timeline-card:hover{border-color:#505050}body.dark-mode .timeline-card-header h3{color:#e0e0e0}body.dark-mode .timeline-dates{color:#a0a0a0}body.dark-mode .privacy-badge.public{background-color:#28a74526;color:#28a745;border-color:#28a7454d}body.dark-mode .create-timeline-btn{background-color:#0d6efd}body.dark-mode .create-timeline-btn:hover{background-color:#0b5ed7}body.dark-mode .empty-state{background-color:#2a2a2a;color:#a0a0a0;box-shadow:0 1px 3px #00000026}body.dark-mode .error-message{background-color:#ef44441a;color:#fca5a5;border-left-color:#ef4444}body.dark-mode .search-input-wrapper{background:#2a2a2a;border-color:#404040}body.dark-mode .search-input-wrapper:focus-within{border-color:#0d6efd;box-shadow:0 0 0 3px #0d6efd26}body.dark-mode .search-input-wrapper svg:first-child{color:#a0a0a0}body.dark-mode .search-input{color:#e0e0e0}body.dark-mode .search-input::placeholder{color:#666}body.dark-mode .search-clear-btn{color:#a0a0a0}body.dark-mode .search-clear-btn:hover{background:#ffffff14;color:#e0e0e0}body.dark-mode .search-results-info{background:#2a2a2a;color:#a0a0a0;border:1px solid #404040}body.dark-mode .welcome-text{color:#a0a0a0}body.dark-mode .timeline-count{color:#4dabf7}body.dark-mode .disclaimer-text{color:#777}body.dark-mode .timeline-snapshot{background:#1a1a1a;border-bottom-color:#333}body.dark-mode .timeline-snapshot-placeholder{background:linear-gradient(45deg,#1a1a1a,#2a2a2a,#1a1a1a)}body.dark-mode .snapshot-loading{color:#a0a0a0}@media (max-width: 768px){.welcome-text{font-size:1.1rem;padding:0 1rem}.timeline-count{font-size:1.2rem}.search-container{max-width:100%;padding:0 1rem}.search-input{font-size:.95rem;padding:12px 0}.search-input-wrapper{padding:0 14px}.timelines-full-grid{grid-template-columns:1fr;gap:1rem}}@media (max-width: 480px){.timeline-card-header h3{font-size:.95rem}}
