.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:36px;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:34px}.date-input-field input[type=text]{font-size:.85rem;padding:.4rem .6rem}}.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}.event-form h3{font-size:1rem;font-weight:600;color:var(--text-color);margin-top:0;margin-bottom:.5rem;padding-bottom:.25rem;border-bottom:1px solid var(--border-color)}.compact-form{display:flex;flex-direction:column}.form-group{margin-bottom:.5rem}.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)}.form-options{display:flex;justify-content:flex-start;margin:.25rem 0}.checkbox-option{display:flex;align-items:center}.checkbox-label{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.875rem;color:var(--text-color)}.option-checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:1rem;height:1rem;border:1.5px solid var(--input-border);border-radius:4px;outline:none;cursor:pointer;position:relative;background-color:var(--input-background);transition:all .2s}.option-checkbox:checked{background-color:var(--button-primary);border-color:var(--button-primary)}.option-checkbox:checked:after{content:"";position:absolute;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;top:1px;left:5px;transform:rotate(45deg);display:block}.option-checkbox:hover{border-color:var(--button-primary)}.size-selection-container{border-radius:6px;padding:.5rem;border:1px solid var(--border-color);animation:fadeIn .2s ease-out;margin-bottom:.5rem}.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)}.description-container{padding:.5rem;border-radius:6px;margin-bottom:.5rem;border:1px solid var(--border-color);animation:fadeIn .2s ease-out}.color-buttons-group{display:flex;gap:6px;margin:0;justify-content:flex-start}.color-button{width:32px;height:32px;border-radius:4px;border:1px solid var(--border-color);cursor:pointer;transition:all .2s}.color-button:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.color-button.active{border:2px solid var(--text-color)}.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)}.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+.form-group,.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}.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)}.timeline-command-container{display:flex;flex-direction:column;background-color:var(--sidebar-item-bg, #f8f9fa);border-radius:8px;margin-bottom:20px;padding:15px;box-shadow:0 1px 3px #00000014;overflow:hidden}.timeline-command-history{display:flex;flex-direction:column;max-height:200px;overflow-y:auto;margin-bottom:10px;padding-right:5px;scrollbar-width:thin}.timeline-command-history::-webkit-scrollbar{width:6px}.timeline-command-history::-webkit-scrollbar-track{background:#0000000d;border-radius:3px}.timeline-command-history::-webkit-scrollbar-thumb{background-color:#0003;border-radius:3px}.command-item{margin-bottom:10px;padding:8px 10px;border-radius:6px;font-size:.9rem;max-width:95%;word-break:break-word}.command-item.user{align-self:flex-end;background-color:var(--primary-color-light, rgba(0, 123, 255, .1));color:var(--text-color, #333);border-bottom-right-radius:2px}.command-item.system{align-self:flex-start;background-color:var(--bg-color, white);color:var(--text-color, #333);border-bottom-left-radius:2px;box-shadow:0 1px 2px #0000000d}.command-item.error{background-color:#dc35451a;color:#dc3545}.command-prefix{font-weight:600;margin-right:4px;color:var(--primary-color, #007bff)}.command-item.error .command-prefix{color:#dc3545}.command-processing{align-self:flex-start;padding:10px;margin-bottom:10px}.command-processing-indicator{display:flex;align-items:center}.command-processing-indicator span{width:6px;height:6px;margin:0 2px;background-color:var(--primary-color, #007bff);border-radius:50%;display:inline-block;animation:bounce 1.4s infinite ease-in-out both}.command-processing-indicator span:nth-child(1){animation-delay:-.32s}.command-processing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.timeline-command-form{display:flex;margin-bottom:10px}.timeline-command-input{flex:1;padding:10px 12px;border:1px solid var(--border-color, #ced4da);border-radius:6px 0 0 6px;font-size:.9rem;background-color:var(--bg-color, white);color:var(--text-color, #333)}.timeline-command-input:focus{outline:none;border-color:var(--primary-color, #007bff);box-shadow:0 0 0 2px #007bff40}.timeline-command-button{display:flex;align-items:center;justify-content:center;padding:10px 12px;background-color:var(--primary-color, #007bff);color:#fff;border:none;border-radius:0 6px 6px 0;cursor:pointer;transition:background-color .2s}.timeline-command-button:hover:not(:disabled){background-color:var(--primary-color-dark, #0069d9)}.timeline-command-button:disabled{background-color:var(--muted-color, #6c757d);opacity:.7;cursor:not-allowed}.timeline-command-examples{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px;font-size:.8rem;align-items:center}.example-label{color:var(--text-color-secondary, #6c757d);margin-right:4px}.example-button{background:none;border:1px solid var(--border-color, #ced4da);border-radius:12px;padding:2px 8px;font-size:.75rem;color:var(--text-color-secondary, #6c757d);cursor:pointer;transition:all .2s;white-space:nowrap}.example-button:hover{background-color:var(--primary-color-light, rgba(0, 123, 255, .1));border-color:var(--primary-color, #007bff);color:var(--primary-color, #007bff)}.command-event-data{margin-top:8px;padding:8px;background-color:#007bff0d;border-radius:4px;font-size:.85rem}.command-event-data-date{font-weight:500;color:var(--primary-color, #007bff)}.command-events-list{margin-top:8px;padding:0;list-style:none}.command-event-item{padding:8px;margin-bottom:4px;background-color:#007bff0d;border-radius:4px;display:flex;justify-content:space-between;align-items:center}.command-event-title{font-weight:500;flex:1}.command-event-date{font-size:.8rem;color:var(--primary-color, #007bff);white-space:nowrap}[data-theme=dark] .timeline-command-container{background-color:var(--sidebar-item-bg-dark, #343a40)}[data-theme=dark] .command-item.user{background-color:#007bff26;color:var(--text-color-dark, #f8f9fa)}[data-theme=dark] .command-item.system{background-color:var(--bg-color-dark, #212529);color:var(--text-color-dark, #f8f9fa)}[data-theme=dark] .timeline-command-input{background-color:var(--bg-color-dark, #212529);color:var(--text-color-dark, #f8f9fa);border-color:var(--border-color-dark, #495057)}[data-theme=dark] .example-button{border-color:var(--border-color-dark, #495057);color:var(--text-color-secondary-dark, #adb5bd)}[data-theme=dark] .example-button:hover{background-color:#007bff33;border-color:var(--primary-color, #007bff);color:var(--primary-color-light, #0d6efd)}@media (max-width: 768px){.timeline-command-examples{display:none}.timeline-command-history{max-height:150px}}.generate-button{padding:.5rem 1rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .2s}.generate-button:hover:not(:disabled){background-color:var(--primary-color-dark)}.generate-button:disabled{opacity:.6;cursor:not-allowed}.creation-method-selector{display:flex;gap:0;margin-bottom:.75rem;border-radius:6px;overflow:hidden;border:1px solid var(--border-color)}.method-button{flex:1;padding:.5rem;background-color:var(--section-background);border:none;cursor:pointer;font-size:.9rem;transition:background-color .2s,color .2s;text-align:center}.method-button:first-child{border-right:1px solid var(--border-color)}.method-button:hover{background-color:var(--hover-bg)}.method-button.active{background-color:var(--button-primary);color:#fff;font-weight:500}.ai-generation-form{padding:.25rem 0}.ai-generation-form .timeline-command-container{border:none;box-shadow:none;margin:0;padding:0;background:transparent}.ai-generation-form .timeline-command-history{max-height:200px;background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:6px;margin-bottom:.5rem}.ai-generation-form .timeline-command-form{margin-bottom:.5rem}.error-message{color:var(--error-color, #dc3545);font-size:.85rem;margin-top:4px}.z-sidebar{position:fixed;top:0;left:0;height:100vh;width:var(--sidebar-width, 280px);transform:translate(0);transition:transform .3s ease,width .1s;z-index:50}.z-sidebar.resizing{transition:none;-webkit-user-select:none;user-select:none}.z-sidebar.collapsed{transform:translate(calc(-1 * var(--sidebar-width, 280px)))}.z-sidebar.with-topbar{top:var(--topbar-height, 60px);height:calc(100vh - var(--topbar-height, 60px))}.sidebar-content{height:100%;padding:1rem;background:#f0f0f0b3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-right:1px solid var(--border-color);box-shadow:1px 0 3px #0000000d;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(0,123,255,.3) transparent}.sidebar-content::-webkit-scrollbar{width:6px}.sidebar-content::-webkit-scrollbar-track{background:transparent}.sidebar-content::-webkit-scrollbar-thumb{background-color:#007bff4d;border-radius:10px}.sidebar-content::-webkit-scrollbar-thumb:hover{background-color:#007bff80}.sidebar-resizer{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:60}.sidebar-resizer:after{content:"";position:absolute;top:0;bottom:0;left:5px;width:1px;background-color:#0000001a}.sidebar-resizer:hover:after{width:2px;background-color:var(--primary-color, #007bff)}.sidebar-resizer svg{position:absolute;top:50%;transform:translateY(-50%);height:auto;color:#0000004d;pointer-events:none}.sidebar-resizer:hover svg{color:var(--primary-color, #007bff)}.sidebar-toggle{position:absolute;left:100%;top:20px;background:var(--primary-color);padding:8px;border-radius:0 4px 4px 0;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-left:none;width:auto;color:#fff;margin:0;display:flex;align-items:center;justify-content:center;height:40px}.new-button-guide{background-color:#f8f9fa;border:1px dashed #dee2e6;border-radius:8px;padding:1rem;text-align:center;margin-bottom:1rem;position:relative}.new-button-guide h4{margin-top:0;margin-bottom:.5rem;font-size:1rem;color:#444}.new-button-guide p{margin-bottom:0;font-size:.9rem;color:#555;line-height:1.4}.guide-arrow{position:absolute;top:-25px;left:50%;transform:translate(-50%);color:var(--primary-color);animation:bounce 1.5s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0) translate(-50%)}40%{transform:translateY(-10px) translate(-50%)}60%{transform:translateY(-5px) translate(-50%)}}.sidebar-save-btn{width:100%;padding:.5rem;margin:.2rem 0}.divider{height:1px;background-color:#eee;margin:1rem 0}.sidebar-login-prompt{margin-top:1rem;padding:1rem;background-color:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.sidebar-login-prompt h4{margin-top:0;margin-bottom:.5rem;font-size:1rem;color:#444}.sidebar-login-prompt p{margin-bottom:.75rem;font-size:.9rem;color:#555;line-height:1.4}.login-button-sidebar{display:flex;align-items:center;justify-content:center;width:100%;background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;padding:.5rem;cursor:pointer;font-weight:500;transition:background-color .2s}.login-button-sidebar:hover{background-color:var(--primary-hover)}.timeline-list{padding-top:.75rem;margin-bottom:1rem}.timeline-list h3{font-size:1rem;font-weight:600;color:var(--text-color, #333);margin-bottom:.75rem;display:flex;justify-content:space-between;align-items:center}.timeline-list-scrollable{max-height:300px;overflow-y:auto;padding-right:5px;margin-top:.5rem;scrollbar-width:thin;scrollbar-color:rgba(0,123,255,.3) transparent}.timeline-list-scrollable::-webkit-scrollbar{width:6px}.timeline-list-scrollable::-webkit-scrollbar-track{background:transparent}.timeline-list-scrollable::-webkit-scrollbar-thumb{background-color:#007bff4d;border-radius:10px}.view-all-btn{font-size:.8rem;color:#6c757d;background:transparent;border:none;padding:.25rem .5rem;border-radius:4px;cursor:pointer;transition:all .2s;text-decoration:underline;font-weight:400}.view-all-btn:hover{color:var(--primary-color);background-color:#007bff0d}.timeline-context-menu{position:fixed;z-index:1000;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}.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}.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}.bg-image-list{max-height:300px;overflow-y:auto;overflow-x:hidden}.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)}.bg-image-list .context-menu-item{padding:8px 15px}.context-menu-item:hover{background-color:var(--section-background, #f5f5f5)}.context-menu-item.active{background-color:var(--section-background, #f0f0f0)}.context-menu-color-swatch{width:16px;height:16px;border:1px solid var(--border-color, #ddd);border-radius:3px;margin-right:10px;flex-shrink:0}.context-menu-thickness-swatch{width:30px;height:2px;background-color:currentColor;margin-right:10px;border-radius:1px;flex-shrink:0}.bg-image-preview{width:16px;height:16px;border:1px solid var(--border-color, #ddd);border-radius:3px;margin-right:10px;background-color:var(--section-background, #eee);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)}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)}.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-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}.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)}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}.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)}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)}.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)}.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-warning{background-color:#ffc1071a;color:#e0c271}.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="cctv.png"]{background-color:#e6f7ff;background-image:url(/backgrounds/cctv.png);background-size:cover;background-position:center}.bg-image-preview[data-image="cia.png"]{background-color:#d9f7be;background-image:url(/backgrounds/cia.png);background-size:cover;background-position:center}.bg-image-preview[data-image="dino.png"]{background-color:#fff1b8;background-image:url(/backgrounds/dino.png);background-size:cover;background-position:center}.bg-image-preview[data-image="eldrekrig.png"]{background-color:#ffd6e7;background-image:url(/backgrounds/eldrekrig.png);background-size:cover;background-position:center}.bg-image-preview[data-image="eventyr.png"]{background-color:#efdbff;background-image:url(/backgrounds/eventyr.png);background-size:cover;background-position:center}.bg-image-preview[data-image="hacker.png"]{background-color:#d6e4ff;background-image:url(/backgrounds/hacker.png);background-size:cover;background-position:center}.bg-image-preview[data-image="huleboer.png"]{background-color:#d9f7be;background-image:url(/backgrounds/huleboer.png);background-size:cover;background-position:center}.bg-image-preview[data-image="industri.png"]{background-color:#ffd8bf;background-image:url(/backgrounds/industri.png);background-size:cover;background-position:center}.bg-image-preview[data-image="kina.png"]{background-color:#f4ffb8;background-image:url(/backgrounds/kina.png);background-size:cover;background-position:center}.bg-image-preview[data-image="melkeveien.png"]{background-color:#bfbfbf;background-image:url(/backgrounds/melkeveien.png);background-size:cover;background-position:center}.bg-image-preview[data-image="modernekrig.png"]{background-color:#bae7ff;background-image:url(/backgrounds/modernekrig.png);background-size:cover;background-position:center}.bg-image-preview[data-image="overgrodd.png"]{background-color:#d3adf7;background-image:url(/backgrounds/overgrodd.png);background-size:cover;background-position:center}.bg-image-preview[data-image="patent.png"]{background-color:#ffa39e;background-image:url(/backgrounds/patent.png);background-size:cover;background-position:center}.bg-image-preview[data-image="pyramide.png"]{background-color:#b5f5ec;background-image:url(/backgrounds/pyramide.png);background-size:cover;background-position:center}.bg-image-preview[data-image="ridder.png"]{background-color:#e6f7ff;background-image:url(/backgrounds/ridder.png);background-size:cover;background-position:center}.bg-image-preview[data-image="timesculpt.png"]{background-color:#d9f7be;background-image:url(/backgrounds/timesculpt.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[style*=background-image]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:#ffffff97;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(3px);pointer-events:none}: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{margin-bottom:1.5rem;color:#333}h3{margin-bottom:1rem;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 h2{text-align:center;margin-bottom:2rem}.error{color:#dc3545;margin-top:.5rem;font-size:.875rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}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:calc(100vh - 4rem);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%)}.vertical .timeline-line{width:var(--timeline-thickness, 2px);height:100%;left:50%;transform:translate(-50%)}.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-connection-line line.snapped{stroke-width:calc(var(--timeline-thickness, 2px) + 1px);stroke-dasharray:none}.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.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-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{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}.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)}.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}.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}.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 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}.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}.description-content a{color:var(--primary-color);text-decoration:underline;word-break:break-all;transition:color .2s}.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}.description-content li{margin-bottom:.5rem}.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}.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}.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}.panel-header-actions button:hover{color:#333;background-color:#0000000d}.close-panel-btn,.expand-btn{width:30px;height:30px}.panel-controls{display:flex;align-items:center;gap:10px}.expand-btn{background:none;border:none;cursor:pointer;color:#777;transition:color .2s;width:30px;height:30px;display:flex;align-items:center;justify-content:center;padding:0;margin:0}.expand-btn:hover{color:#333;background-color:transparent}.panel-header-actions{display:flex;align-items:center;gap:10px}.event-detail-panel,.event-detail-panel *{pointer-events:auto}.event-detail-panel{z-index:100;pointer-events:auto}.timeline-item{display:flex;justify-content:space-between;align-items:center;padding:.6rem;margin-bottom:.5rem;background:#f8f9fa;border-radius:4px;border:1px solid rgba(0,0,0,.08);box-shadow:0 1px 2px #0000000d;transition:all .2s}.timeline-item:hover{background:#f0f0f0;border-color:#007bff33}.timeline-buttons{display:flex;gap:.5rem}.timeline-item button{font-size:.875rem}.timeline-item button:hover{opacity:.9}.new-timeline-button{transition:background-color .2s,margin-bottom .2s;margin-bottom:0}.new-timeline-button:hover{background-color:#007bff1a!important}.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;cursor:pointer}.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}.save-timeline-btn svg{margin-right:8px}.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;cursor:pointer}.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}.add-description-btn{background-color:transparent;color:var(--primary-color);border:1px dashed var(--primary-color);display:flex;align-items:center;justify-content:center;padding:.5rem;border-radius:4px;cursor:pointer;margin-bottom:.75rem;width:100%;transition:background-color .2s,color .2s,border-color .2s;font-size:.9rem}.add-description-btn:hover{background-color:#007bff1a}.add-description-btn svg{margin-right:8px}.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}.detail-panel-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #eee;background-color:#f8f9fa}.detail-panel-header h3{margin:0;font-size:1.15rem;color:#333;font-weight:500}.close-panel-btn{background:none;border:none;cursor:pointer;color:#777;transition:color .2s;width:30px;height:30px;display:flex;align-items:center;justify-content:center;padding:0;margin:0}.close-panel-btn:hover{color:#333;background-color:transparent}.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-description h5{margin:0 0 .75rem;font-size:1rem;color:#444;font-weight:500}.description-content{font-size:.95rem;line-height:1.6;color:#444}.description-content a{color:var(--primary-color);text-decoration:underline;word-break:break-all}.description-content a:hover{text-decoration:none}.no-description{background-color:#f8f9fa;padding:1rem;border-radius:6px;color:#6c757d;font-style:italic;text-align:center;margin-bottom:1.25rem}.detail-panel-actions{display:flex;padding:1rem 1.5rem;gap:1rem;border-top:1px solid #eee}.detail-panel-actions button{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1rem;border-radius:4px;font-weight:500;font-size:.9rem;transition:all .2s}.detail-panel-actions .edit-btn{background-color:var(--primary-color);color:#fff}.detail-panel-actions .edit-btn:hover{background-color:var(--primary-hover)}.detail-panel-actions .delete-btn{background-color:#fff;color:#dc3545;border:1px solid #dc3545}.detail-panel-actions .delete-btn:hover{background-color:#dc35451a}.event-edit-modal form{padding:20px}.event-edit-modal{margin-bottom:1.5rem}.event-edit-modal label{display:block;margin-bottom:.6rem;font-size:.95rem;color:#444;font-weight:500}.event-edit-modal input,.event-edit-modal textarea{width:100%;padding:.85rem;border:1px solid var(--border-color, #ddd);border-radius:6px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.event-edit-modal input:focus,.event-edit-modal textarea:focus{outline:none;border-color:var(--primary-color, #007bff);box-shadow:0 0 0 3px #007bff40}.event-edit-modal textarea{resize:vertical;min-height:120px;font-family:inherit;line-height:1.5}.modal-buttons{display:flex;justify-content:flex-end;gap:12px;margin-top:1.75rem}.cancel-btn,.save-btn{padding:.7rem 1.4rem;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s ease;font-size:.95rem}.cancel-btn{background-color:#f8f9fa;color:#212529;border:1px solid #dee2e6}.cancel-btn:hover{background-color:#e2e6ea}.save-btn{background-color:var(--primary-color, #007bff);color:#fff;border:none}.save-btn:hover{background-color:var(--primary-hover, #0069d9);transform:translateY(-1px);box-shadow:0 2px 5px #0000001a}.delete-section{margin:1.5rem 0;padding-top:1.5rem;border-top:1px solid #eee}.delete-btn{background-color:#f8f9fa;color:#dc3545;border:1px solid #dc3545;align-items:center;justify-content:center;width:100%;padding:.7rem;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s}.delete-btn:hover{background-color:#dc35451a}.delete-btn svg{margin-right:8px}@media (max-width: 768px){.event-detail-panel{width:280px}}@media (max-width: 576px){.event-detail-panel{width:100%}.timeline-container.with-detail-panel{opacity:.3;pointer-events:none}}.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-detail-panel.expanded .event-description h5{font-size:1.15rem;margin:1.2rem 0 .8rem}.event-detail-panel.expanded .description-content{font-size:1rem;line-height:1.7}@media (max-width: 768px){.event-detail-panel.expanded{width:400px}}@media (max-width: 576px){.event-detail-panel.expanded{width:100%}}.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}.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;padding:0;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{display:flex;align-items:center;justify-content:center;background-color:#fff;color:#dc3545;border:1px solid #dc3545;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:hover{background-color:#dc35451a}.modal-header-buttons .delete-btn svg{margin-right:8px}.modal-header-buttons .save-btn{display:flex;align-items:center;justify-content:center;background-color:#007bff;color:#fff;border:none;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 .save-btn:hover{background-color:#0069d9}.modal-header-buttons .save-btn svg{margin-right:8px}.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}.color-dropdown{position:relative;display:inline-block}.color-palette{position:absolute;top:100%;left:0;display:none;background-color:#fff;border:1px solid var(--border-color);border-radius:4px;padding:5px;width:120px;box-shadow:0 3px 10px #0003;z-index:10;display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.color-dropdown:hover .color-palette{display:grid}.color-swatch{width:20px;height:20px;border-radius:3px;cursor:pointer;border:1px solid #ddd;transition:transform .2s}.color-swatch:hover{transform:scale(1.1)}.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}.orientation-toggle{margin-bottom:1rem;width:100%}.toggle-label{display:block;margin-bottom:.5rem;font-size:.9rem;color:#444}.toggle-labels{display:flex;align-items:center;justify-content:space-between}.toggle-labels span{font-size:.9rem;color:#666;transition:color .2s}.toggle-labels span.active{color:var(--primary-color);font-weight:500}.switch{position:relative;display:inline-block;width:50px;height:24px}.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:.4s}.slider:before{position:absolute;content:"";height:16px;width:16px;left:4px;bottom:4px;background-color:#fff;transition:.4s}input:checked+.slider{background-color:var(--primary-color)}input:focus+.slider{box-shadow:0 0 1px var(--primary-color)}input:checked+.slider:before{transform:translate(26px)}.slider.round{border-radius:24px}.slider.round:before{border-radius:50%}.size-buttons-group{display:flex;gap:8px;margin-bottom:1rem}.size-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #aaa;border-radius:4px;background-color:#f5f5f5;cursor:pointer;transition:all .2s ease;padding:0}.size-button:hover{background-color:#e0e0e0;transform:translateY(-2px);box-shadow:0 3px 8px #00000026;border-color:#888}.size-button.active{border-color:var(--primary-color);border-width:2px;background-color:#007bff26}.size-button svg{transition:all .2s ease;stroke:#555;stroke-width:2.5}.size-button:hover svg{transform:scale(1.1);stroke:#333}.size-button.active svg{stroke:var(--primary-color);stroke-width:3;fill:#007bff1a}.size-button.small svg{transform:scale(.85)}.size-button.small:hover svg{transform:scale(.95)}.size-button.large svg{transform:scale(1.2)}.size-button.large:hover svg{transform:scale(1.3)}.size-button svg,.size-button{transition:all .2s ease-in-out}@media (max-width: 576px){.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}}.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}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.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)}.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}.timeline-item:hover .delete-btn-subtle{opacity:.8}.delete-btn-subtle:hover{background-color:#dc35451a;color:var(--delete-button-color, #dc3545);opacity:1}.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}.h3{color:var(--text-color, #333)}.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}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)}.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%)}.timeline-container:hover .interval-marker .marker-label{opacity:1}body.dark-mode .interval-marker .marker-label{background-color:#1e1e1ed9;color:#e0e0e0;box-shadow:0 1px 3px #0003}.interval-marker.interval-type-yearly .marker-line,.interval-marker.interval-type-decade .marker-line,.interval-marker.interval-type-century .marker-line{opacity:.8}@media (max-width: 768px){.interval-marker .marker-label{font-size:.7rem;max-width:70px;padding:1px 3px}}.auth-loading{display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#f8f9fa;border-radius:4px;color:#555;font-size:.95rem;width:100%;max-width:280px;height:48px;text-align:center;animation:pulse 1.5s infinite}body.dark-mode .auth-loading{background-color:var(--dark-input-bg, #333);color:var(--dark-text, #f0f0f0)}.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:1000}.modal-content{background:#fff;padding:2rem;border-radius:8px;width:100%;max-width:450px;position:relative;box-shadow:0 4px 12px #00000026}.modal-close{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: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:#666;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;justify-content:center;margin-bottom:1.5rem;gap:20px;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;min-width:100px;height:40px;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:#444}.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}.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{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{color:var(--dark-text-secondary, #aaa)}body.dark-mode .modal-close: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;min-width:120px;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:#eaeaea}.oauth-provider-btn[title="Logg inn med Google"]:hover{background-color:#f8f9fa;border-color:#dadce0;color:#202124}.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:#444;background-color:#2a2a2a}body.dark-mode .oauth-provider-btn[title="Logg inn med Google"]:hover{background-color:#333;color:#e0e0e0;border-color:#555}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;justify-content:center;margin-bottom:1.5rem;gap:20px;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}}.topbar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;background:#f0f0f0e6;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border-bottom:1px solid var(--border-color);box-shadow:0 1px 3px #0000000d;height:60px;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}.app-brand{display:flex;align-items:center;font-weight:600;font-size:1.2rem;color:var(--primary-color);cursor:pointer;padding:.5rem;border-radius:4px;transition:background-color .2s}.app-brand:hover{background-color:#007bff1a}.timesculpt-logo{display:flex;align-items:center;justify-content:center;margin-right:.5rem;color:var(--primary-color)}.brand-name{letter-spacing:.5px}.timeline-title-display{font-size:1.1rem;font-weight:500;color:#333}.timeline-period{font-size:.8rem;color:#666;margin-left:.5rem;font-weight:400}.topbar-user{display:flex;align-items:center;cursor:pointer;position:relative;padding:.5rem;border-radius:4px;transition:background-color .2s}.topbar-avatar{width:30px;height:30px;border-radius:50%;margin-right:.5rem;border:1px solid var(--border-color)}.topbar-username{font-size:.85rem;color:#555;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-arrow{margin-left:.25rem;transition:transform .2s}.dropdown-item{display:flex;align-items:center;padding:.75rem 1rem;width:100%;text-align:left;background:none;border:none;cursor:pointer;color:#555;transition:background-color .2s,color .2s;font-size:.85rem;margin:0}.dropdown-item:hover{background-color:#f5f5f5;color:var(--primary-color)}.dropdown-divider{height:1px;background-color:var(--border-color);margin:.5rem 0}.dropdown-item svg{margin-right:.5rem}.logout-btn{color:#dc3545}.logout-btn:hover{background-color:#dc35451a}.topbar-login-btn{display:flex;align-items:center;background-color:var(--primary-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:background-color .2s;font-size:.85rem;font-weight:500;width:auto;margin:0}.topbar-login-btn:hover{background-color:var(--primary-hover)}.topbar-login-btn svg{margin-right:.5rem}.z-sidebar.with-topbar{top:60px!important;height:calc(100vh - 60px)!important}.z-sidebar.with-topbar .sidebar-toggle,.z-sidebar.with-topbar.collapsed .sidebar-toggle{top:20px!important}.topbar-left{display:flex;align-items:center;gap:10px}.topbar-form-dropdown:before{content:"";position:absolute;top:-6px;left:20px;width:12px;height:12px;background:#fff;transform:rotate(45deg);border-left:1px solid var(--border-color);border-top:1px solid var(--border-color)}.form-row{display:flex;gap:8px;margin-bottom:1rem}.form-footer{display:flex;justify-content:flex-end;margin-top:.5rem;border-top:1px solid var(--border-color);padding-top:1rem}.create-btn{background-color:var(--primary-color);color:#fff;width:100%;padding:.5rem;border:none;border-radius:4px;cursor:pointer}@media (max-width: 768px){.topbar-timeline-form{margin-left:5px}.topbar-form-dropdown{width:280px}.form-row{flex-direction:column;gap:10px}}.timeline-title-display{position:relative;display:inline-flex;align-items:center;transition:background-color .2s;padding:5px 8px;border-radius:4px}.timeline-title-display:hover{background-color:#007bff1a}.timeline-title-display svg{opacity:.6;transition:opacity .2s}.timeline-title-display:hover svg{opacity:1}.title-editor-container{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:10px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;padding:1.5rem;z-index:200;width:400px;max-width:90vw}.title-editor-container:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%);width:16px;height:16px;background:#fff;transform:rotate(45deg);box-shadow:-2px -2px 5px #0000000d}.title-editor-form h3{margin-top:0;margin-bottom:1rem;font-size:1.2rem;color:#333}.title-editor-form label{display:block;margin-bottom:.25rem;font-size:.9rem;color:#555}.title-editor-form input{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem}.form-row{display:flex;gap:10px;margin-bottom:1rem}.form-group.half{flex:1}.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);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)}.topbar-action-btn{display:flex;align-items:center;justify-content:center;border:none;border-radius:4px;padding:.5rem 1rem;cursor:pointer;font-size:.85rem;font-weight:500;height:36px;width:auto;max-width:160px;transition:all .2s ease;margin-right:10px}.support-btn{background-color:#17a2b8;color:#fff}.support-btn:hover{background-color:#138496;transform:translateY(-2px);box-shadow:0 3px 6px #0000001a}.support-btn:active{transform:translateY(0);box-shadow:0 1px 3px #0000001a}.support-btn:before{content:"";display:inline-block;width:16px;height:16px;margin-right:8px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3'%3E%3C/path%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'%3E%3C/line%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center}.feedback-btn{background-color:#6c757d;color:#fff}.feedback-btn:hover{background-color:#5a6268;transform:translateY(-2px);box-shadow:0 3px 6px #0000001a}.feedback-btn:active{transform:translateY(0);box-shadow:0 1px 3px #0000001a}.feedback-btn svg{margin-right:8px}@media (max-width: 768px){.topbar-action-btn span{display:none}.topbar-action-btn{padding:.5rem;width:36px;border-radius:50%}.support-btn:before,.feedback-btn svg{margin-right:0}.topbar-right{gap:8px}}.topbar-user{display:flex;align-items:center;cursor:pointer;position:relative;padding:.5rem;border-radius:6px;transition:background-color .2s ease;border:1px solid transparent}.topbar-user:hover{background-color:#0000000d}body.dark-mode .topbar-user{border-color:#ffffff1a}body.dark-mode .topbar-user:hover{background-color:#ffffff14;border-color:#fff3}.topbar-avatar{width:32px;height:32px;border-radius:50%;margin-right:.5rem;border:1px solid #e0e0e0;object-fit:cover}body.dark-mode .topbar-avatar{border-color:#fff3;box-shadow:0 2px 4px #0003}.topbar-username{font-size:.9rem;color:#333;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 .5rem 0 .25rem;font-weight:500}body.dark-mode .topbar-username{color:#ffffffe6}.dropdown-arrow{transition:transform .2s ease;color:#666}.dropdown-arrow.open{transform:rotate(180deg)}body.dark-mode .dropdown-arrow{color:#fff9}.user-dropdown{position:absolute;top:100%;right:0;background:#fff;border-radius:8px;box-shadow:0 4px 15px #0000001a;width:200px;z-index:200;overflow:hidden;border:1px solid #eaeaea;margin-top:8px;animation:dropdownFadeIn .2s ease}body.dark-mode .user-dropdown{background-color:#2d2d2d;border-color:#444;box-shadow:0 4px 15px #0000004d}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:flex;align-items:center;padding:.8rem 1rem;width:100%;text-align:left;background:none;border:none;cursor:pointer;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:#f5f5f5}.dropdown-item:hover svg{opacity:1}body.dark-mode .dropdown-item{color:#ffffffd9}body.dark-mode .dropdown-item:hover{background-color:#ffffff0d;color:#fff}.dropdown-divider{height:1px;background-color:#eee;margin:.25rem 0}body.dark-mode .dropdown-divider{background-color:#444}.logout-btn{color:#dc3545!important}.logout-btn:hover{background-color:#dc35451a!important;color:#dc3545!important}body.dark-mode .logout-btn{color:#ff6b6b!important}body.dark-mode .logout-btn:hover{background-color:#ff6b6b26!important;color:#ff6b6b!important}.avatar-initials{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:#e9ecef;color:#495057;font-weight:600;font-size:1rem;margin-right:.5rem;border:1px solid #dee2e6}body.dark-mode .avatar-initials{background-color:#444;color:#f0f0f0;border-color:#555}.topbar-timeline-form{position:relative;height:36px;margin-left:10px}.new-timeline-button{display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:.9rem;padding:0 12px;border-radius:4px;border:1px dashed var(--button-primary);background-color:transparent;color:var(--button-primary);height:36px;width:auto;margin:0}.new-timeline-button:hover{background-color:#007bff1a;transform:translateY(-1px)}.new-timeline-button.active{background-color:var(--size-button-active-bg)}.new-timeline-button svg{margin-right:6px}body.dark-mode .new-timeline-button{border-color:var(--button-primary);color:var(--button-primary)}body.dark-mode .new-timeline-button:hover{background-color:#007bff33}.topbar-form-dropdown{position:absolute;top:100%;left:0;background-color:var(--card-background);border-radius:8px;box-shadow:var(--dropdown-shadow);width:480px;padding:1.25rem;margin-top:8px;z-index:200;border:1px solid var(--border-color);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);transform:rotate(45deg);border-left:1px solid var(--border-color);border-top:1px solid var(--border-color)}.timeline-limit-info{margin-bottom:15px;font-size:.85rem;color:var(--text-secondary);background-color:var(--section-background);padding:10px 12px;border-radius:6px;text-align:center;border:1px solid var(--border-color)}.timeline-limit-info.warning{color:var(--warning-text);background-color:var(--warning-background);border-color:var(--warning-border)}.timeline-limit-info strong{color:var(--text-color);font-weight:600}.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);border-radius:4px;background-color:var(--input-background);color:var(--text-color);font-size:.9rem;transition:border-color .2s}.topbar-form-dropdown input[type=text]:focus{border-color:var(--button-primary);outline:none;box-shadow:0 0 0 3px #007bff1a}.topbar-form-dropdown input[type=text]::placeholder{color:var(--text-secondary);opacity:.7}.form-row{display:flex;gap:10px;margin-bottom:12px}.form-group.half{flex:1;margin-bottom:0}.form-footer{display:flex;justify-content:flex-end;margin-top:1rem;border-top:1px solid var(--border-color);padding-top:1rem}.create-btn{background-color:var(--button-primary);color:#fff;width:100%;padding:8px 12px;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.create-btn:hover:not(:disabled){background-color:var(--button-primary-hover);transform:translateY(-1px);box-shadow:0 2px 5px #0000001a}.create-btn:disabled{opacity:.7;cursor:not-allowed;background-color:var(--badge-background)}body.dark-mode .create-btn:disabled{background-color:var(--badge-background)}body.dark-mode .create-btn:hover:not(:disabled){box-shadow:0 2px 8px #0000004d}.topbar-form-dropdown .toggle-switch-container{display:flex;align-items:center;justify-content:space-between;padding:5px 0}.topbar-form-dropdown .toggle-switch-label{font-size:.9rem;color:var(--text-color)}.topbar-form-dropdown .date-input-container,.topbar-form-dropdown .date-input-field{width:100%}@media (max-width: 768px){.topbar-timeline-form{margin-left:5px}.topbar-form-dropdown{width:280px;padding:1rem}.form-row{flex-direction:column;gap:10px}.timeline-limit-info{font-size:.8rem;padding:8px}}.creation-mode-selector button{flex:1;padding:10px 8px;background:none;border:none;cursor:pointer;font-size:.85rem;font-weight:500;color:var(--text-color-secondary, #6c757d);transition:all .2s;position:relative;display:flex;align-items:center;justify-content:center;min-width:0}.page-container{max-width:1200px;margin:0 auto;padding:4rem 1.5rem 2rem}.page-title{font-size:1.8rem;font-weight:600;color:#333;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid #e9ecef}.auth-required-message{background-color:#f8f9fa;border-radius:8px;padding:2rem;text-align:center;color:#6c757d}.topbar{position:fixed;top:0;left:0;right:0;z-index:1000;background-color:#fff;box-shadow:0 1px 4px #0000001a}.timelines-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem}.timeline-card{border:1px solid #e9ecef;border-radius:8px;overflow:hidden;transition:all .2s ease;background-color:#fff;box-shadow:0 2px 4px #0000000d}.timeline-card:hover{transform:translateY(-3px);box-shadow:0 4px 8px #0000001a}.timeline-card-header{padding:1rem;background-color:#f8f9fa;border-bottom:1px solid #e9ecef}.timeline-card-header h3{margin:0;font-size:1.1rem;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-card-body{padding:1rem}.timeline-dates{font-size:.9rem;color:#6c757d;margin:0}.timeline-card-footer{padding:1rem;display:flex;justify-content:space-between;border-top:1px solid #e9ecef}.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:#e9ecef;border:1px solid #ced4da;color:#495057}.edit-btn:hover{background-color:#dee2e6}.delete-btn{background-color:#fff;border:1px solid #dc3545;color:#dc3545}.delete-btn:hover{background-color:#dc3545;color:#fff}.empty-state{text-align:center;padding:3rem 1rem;color:#6c757d}.create-timeline-btn{margin-top:1rem;padding:.5rem 1.5rem;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .2s}.create-timeline-btn:hover{background-color:#0069d9}.loading-indicator{text-align:center;padding:2rem;color:#6c757d}.error-message{background-color:#f8d7da;color:#721c24;padding:1rem;border-radius:4px;margin:1rem 0}.settings-form{max-width:700px}.settings-section{margin-bottom:2rem}.settings-section h2{font-size:1.2rem;color:#495057;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e9ecef}.setting-item{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 0;border-bottom:1px solid #f8f9fa}.setting-label{flex:1}.setting-label label{display:block;font-weight:500;margin-bottom:.25rem}.setting-description{font-size:.85rem;color:#6c757d;margin:0}.setting-control{min-width:100px;display:flex;justify-content:flex-end;align-items:center}.toggle-switch{position:relative;display:inline-block;width:48px;height:24px}.toggle-switch label{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:24px}.toggle-switch label:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}.toggle-switch input:checked+label:before{transform:translate(24px)}.language-select{padding:.375rem .75rem;font-size:.9rem;border:1px solid #ced4da;border-radius:4px;color:#495057;background-color:#fff}.settings-actions{margin-top:2rem;text-align:right}.save-settings-btn{padding:.5rem 1.5rem;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .2s}.save-settings-btn:hover{background-color:#0069d9}.save-settings-btn:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.65}.save-message{display:inline-block;margin-left:1rem;padding:.5rem 1rem;border-radius:4px}.profile-container{max-width:700px}.profile-header{display:flex;align-items:center;margin-bottom:2rem}.profile-avatar{width:80px;height:80px;margin-right:1.5rem;border-radius:50%;overflow:hidden;background-color:#e9ecef;display:flex;align-items:center;justify-content:center}.profile-avatar img{width:100%;height:100%;object-fit:cover}.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}.profile-info h2{margin:0 0 .5rem;font-size:1.5rem}.profile-form{margin-top:2rem}.label{display:block;margin-bottom:.5rem;font-weight:500}.input{width:100%;padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:.9rem}.input:disabled{background-color:#e9ecef;cursor:not-allowed}.field-note{font-size:.75rem;color:#6c757d;margin-top:.25rem}.form-actions{display:flex;justify-content:flex-end;gap:1rem}.cancel-btn,.save-btn,.edit-profile-btn{padding:.5rem 1.5rem;border-radius:4px;cursor:pointer;font-weight:500;transition:all .2s ease}.cancel-btn{background-color:#fff;border:1px solid #6c757d;color:#6c757d}.cancel-btn:hover{background-color:#f8f9fa}.save-btn,.edit-profile-btn{background-color:#007bff;border:none;color:#fff}.save-btn:hover,.edit-profile-btn:hover{background-color:#0069d9}.profile-actions{margin:2rem 0}.message{padding:.75rem 1.25rem;border-radius:4px;margin:1rem 0}.message.success{background-color:#d4edda;color:#155724}.message.error{background-color:#f8d7da;color:#721c24}.profile-membership{margin-top:3rem;padding:1.5rem;background-color:#f8f9fa;border-radius:8px}.profile-membership h3{margin-top:0;margin-bottom:1rem;font-size:1.2rem}.membership-type{margin-bottom:1.5rem}.badge{display:inline-block;padding:.25rem .5rem;font-size:.75rem;font-weight:700;border-radius:.25rem;background-color:#6c757d;color:#fff;margin-right:.5rem}.upgrade-btn{padding:.5rem 1.5rem;background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .2s}.upgrade-btn:hover{background-color:#218838}.not-found{text-align:center;padding:3rem 1rem;max-width:600px;margin:0 auto}.not-found h1{font-size:4rem;color:#007bff;margin:0}.not-found h2{font-size:1.5rem;margin-top:.5rem;margin-bottom:1.5rem;color:#343a40}.not-found p{margin-bottom:.75rem;color:#6c757d}.go-home-btn{margin-top:1.5rem;padding:.5rem 1.5rem;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .2s}.go-home-btn:hover{background-color:#0069d9}@media (max-width: 768px){.page-container{padding:4rem 1rem 1rem}.timelines-grid{grid-template-columns:1fr}.setting-item{flex-direction:column}.setting-control{margin-top:1rem;width:100%;justify-content:flex-start}.profile-header{flex-direction:column;text-align:center}.profile-avatar{margin:0 auto 1rem}.nav-links li{margin:0 .5rem}}.topbar{position:fixed;top:0;left:0;right:0;width:100%;height:60px;z-index:1000;background-color:#f0f0f0e6;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border-bottom:1px solid var(--border-color);box-shadow:0 1px 3px #0000000d}.main-content{min-height:calc(100vh - 60px)}.page-container{max-width:1200px;margin:0 auto;padding:2rem 1.5rem}.timeline-container{height:calc(100vh - 60px);margin-top:0}.user-dropdown{position:absolute;top:100%;right:0;background:#fff;border-radius:4px;box-shadow:0 2px 10px #0000001a;width:180px;z-index:200;overflow:hidden;border:1px solid var(--border-color);margin-top:5px}.main-nav{display:flex;height:100%}.nav-links{list-style:none;display:flex;margin:0;padding:0;height:100%;align-items:center}.nav-links li{margin:0 1rem;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 .2s;height:100%;display:flex;align-items:center}.nav-links a:hover,.nav-links a.active{color:#007bff}.nav-links a.active:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background-color:#007bff}@media (max-width: 768px){.topbar{padding:.5rem}.topbar-center{display:none}.nav-links li{margin:0 .5rem}.topbar-username{display:none}}.page-container{margin-top:60px;padding-top:2rem}.main-content-with-topbar{padding-top:0}.timeline-style-menu{position:fixed;z-index:1000;transform:none!important}.timeline-style-menu{animation:menuAppear .15s ease-out;box-shadow:0 3px 15px #0003}@keyframes menuAppear{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.topbar{z-index:1100}.language-select{padding:.6rem 1rem;font-size:.95rem;border:1px solid #ced4da;border-radius:6px;color:#495057;background-color:#fff;min-width:150px;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='16' height='16' 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 10px center;background-size:16px;padding-right:35px;cursor:pointer;transition:border-color .2s,box-shadow .2s}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='16' height='16' 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")}.settings-actions{margin-top:2.5rem;display:flex;align-items:center;gap:1rem;border-top:2px solid #f0f0f0;padding-top:2rem}body.dark-mode .settings-actions{border-top-color:var(--border-color)}.save-settings-btn{padding:.75rem 1.5rem;background-color:#007bff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s ease;font-size:.95rem}.save-settings-btn:hover{background-color:#0069d9;transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.save-settings-btn:disabled{background-color:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}body.dark-mode .save-settings-btn{background-color:var(--button-primary)}body.dark-mode .save-settings-btn:hover{background-color:var(--button-primary-hover);box-shadow:0 4px 8px #0003}body.dark-mode .save-settings-btn:disabled{background-color:var(--badge-background)}.settings-container{background-color:#fff;border-radius:10px;box-shadow:0 2px 10px #0000000d;max-width:800px;margin:0 auto;border:1px solid #eee;overflow:hidden}body.dark-mode .settings-container{background-color:var(--card-background);border-color:var(--border-color);box-shadow:var(--card-shadow)}.settings-form{padding:2rem}.settings-section{margin-bottom:2.5rem;position:relative}.settings-section h2{font-size:1.25rem;color:#333;margin-bottom:1.5rem;font-weight:600;padding-bottom:.75rem;border-bottom:2px solid #f0f0f0}.setting-item{display:flex;justify-content:space-between;align-items:flex-start;padding:1.25rem 0;margin-bottom:.5rem;transition:background-color .2s;border-radius:8px;padding:1.25rem}.setting-item:hover{background-color:#f8f9fa}body.dark-mode .setting-item:hover{background-color:var(--section-background)}.setting-label{flex:1;padding-right:2rem}.setting-label label{display:block;font-weight:600;margin-bottom:.5rem;color:#333;font-size:1rem}.setting-description{font-size:.9rem;color:#6c757d;margin:0;line-height:1.5}.setting-control{min-width:120px;display:flex;justify-content:flex-end;align-items:center;padding-top:6px}.toggle-switch{position:relative;display:inline-block;width:52px;height:26px}.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:#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{background-color:#007bff}.toggle-switch input:checked+label:before{transform:translate(26px)}body.dark-mode .toggle-switch label{background-color:#555}body.dark-mode .toggle-switch input:checked+label{background-color:#3a97ff}.language-select{padding:.6rem 1rem;font-size:.95rem;border:1px solid #ced4da;border-radius:6px;color:#495057;background-color:#fff;min-width:150px;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='16' height='16' 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 10px center;background-size:16px;padding-right:35px;cursor:pointer;transition:border-color .2s,box-shadow .2s}.language-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 3px #007bff40}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='16' height='16' 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 3px #3a97ff40}body.dark-mode .language-select option{background-color:var(--card-background);color:var(--text-color)}.settings-message{margin-top:2.5rem;display:flex;justify-content:center;border-top:2px solid #f0f0f0;padding-top:2rem}body.dark-mode .settings-message{border-top-color:var(--border-color)}.save-message{display:inline-flex;align-items:center;padding:.75rem 1.25rem;border-radius:6px;font-weight:500;animation:messageSlideIn .3s ease}.save-message.success{background-color:#d4edda;color:#155724}body.dark-mode .save-message.success{background-color:var(--success-background);color:var(--success-text)}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.settings-form{padding:1.5rem}.setting-item{flex-direction:column;padding:1rem}.setting-label{padding-right:0;margin-bottom:1rem;width:100%}.setting-control{width:100%;justify-content:flex-start}.settings-actions{flex-direction:column;align-items:stretch}.save-message{text-align:center}}.profile-page-container{width:100%;max-width:100%;padding:0;margin:60px 0 0;min-height:calc(100vh - 60px);display:flex;flex-direction:column;background-color:#f8f9fa;overflow-y:auto}body.dark-mode .profile-page-container{background-color:#121212}.profile-page-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}body.dark-mode .profile-page-title{color:#adb5bd;background-color:transparent;box-shadow:none;border-bottom:1px solid #333}.profile-full-container{display:flex;flex-direction:row;gap:2rem;padding:2rem 5%;width:100%}.profile-main-section{flex:3;display:flex;flex-direction:column;gap:2rem}.profile-sidebar{flex:1;display:flex;flex-direction:column;gap:2rem;min-width:300px}.profile-header{display:flex;align-items:center;gap:2rem;background-color:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 10px #0000000d}body.dark-mode .profile-header{background-color:#1e1e1e;box-shadow:0 2px 10px #0003}.profile-avatar-large{width:120px;height:120px;border-radius:50%;overflow:hidden;background-color:#e9ecef;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000001a}.profile-avatar-large img{width:100%;height:100%;object-fit:cover}.avatar-initials-large{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;color:#6c757d;background-color:#f8f9fa}body.dark-mode .avatar-initials-large{color:#ddd;background-color:#2a2a2a}.profile-info-large h2{margin:0;font-size:2.2rem;color:#333;font-weight:700}body.dark-mode .profile-info-large h2{color:#f1f1f1}.profile-email{font-size:1.1rem;color:#6c757d;margin:.5rem 0 0}body.dark-mode .profile-email{color:#adb5bd}.profile-details-section{background-color:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 10px #0000000d}body.dark-mode .profile-details-section{background-color:#1e1e1e;box-shadow:0 2px 10px #0003}.profile-section-title{font-size:1.5rem;color:#333;margin:0 0 1.5rem;padding-bottom:1rem;border-bottom:1px solid #e9ecef}body.dark-mode .profile-section-title{color:#f1f1f1;border-bottom-color:#333}.profile-details-list{display:flex;flex-direction:column}.detail-item{display:flex;padding:1rem 0;border-bottom:1px solid #f1f1f1}.detail-item:last-child{border-bottom:none}body.dark-mode .detail-item{border-bottom-color:#333}.detail-label{flex:1;font-weight:600;color:#6c757d;font-size:1rem}.detail-value{flex:2;font-size:1rem;color:#333}body.dark-mode .detail-label{color:#adb5bd}body.dark-mode .detail-value{color:#f1f1f1}.profile-membership-card{background-color:#fff;padding:1.8rem;border-radius:12px;box-shadow:0 4px 20px #0000000f;border:1px solid #f0f0f0}body.dark-mode .profile-membership-card{background-color:#1e1e1e;box-shadow:0 4px 20px #00000026;border-color:#2a2a2a}.profile-membership-card h3{font-size:1.3rem;color:#333;margin:0 0 1.2rem;padding-bottom:.8rem;border-bottom:2px solid #f5f5f5;display:flex;align-items:center;gap:8px}body.dark-mode .profile-membership-card h3{color:#e0e0e0;border-bottom-color:#2a2a2a}.membership-info{font-size:1rem;color:#555;margin:1.2rem 0;line-height:1.7}.membership-info strong{color:#007bff;font-weight:600}body.dark-mode .membership-info{color:#d0d0d0}body.dark-mode .membership-info strong{color:#3a97ff}.membership-actions .upgrade-btn{padding:.9rem 1rem;background-color:#f8f9fa;color:#495057;border:1px solid #dee2e6;border-radius:8px;cursor:pointer;font-weight:500;transition:all .25s ease;font-size:.95rem;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.membership-actions .upgrade-btn:hover{background-color:#e9ecef;transform:translateY(-2px);box-shadow:0 4px 10px #0000000d;color:#212529}body.dark-mode .membership-actions .upgrade-btn{background-color:#2a2a2a;color:#e0e0e0;border-color:#3a3a3a}body.dark-mode .membership-actions .upgrade-btn:hover{background-color:#333;box-shadow:0 4px 10px #0003;color:#f8f9fa}@media (max-width: 768px){.profile-membership-card{padding:1.5rem}.profile-membership-card h3{font-size:1.2rem}.membership-info{font-size:.95rem}.membership-actions .upgrade-btn{padding:.8rem .9rem;font-size:.9rem}}body.dark-mode .membership-info{color:#f1f1f1}.membership-actions{margin-top:1.5rem}.upgrade-btn{padding:.75rem 1.5rem;background-color:#28a745;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s ease;font-size:1rem}.full-width{width:100%}.upgrade-btn:hover{background-color:#218838;transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.account-actions{display:flex;flex-direction:column;gap:1rem}.action-btn{padding:.75rem 1rem;background-color:#f8f9fa;color:#495057;border:1px solid #dee2e6;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s ease;font-size:.95rem;text-align:left}.action-btn:hover{background-color:#e9ecef;transform:translate(5px)}.action-btn.danger{border-color:#dc3545;color:#dc3545}.action-btn.danger:hover{background-color:#dc3545;color:#fff}body.dark-mode .action-btn{background-color:#2a2a2a;color:#f1f1f1;border-color:#444}body.dark-mode .action-btn:hover{background-color:#333}body.dark-mode .action-btn.danger:hover{background-color:#c82333}.auth-required-message{background-color:#fff;border-radius:12px;padding:3rem;text-align:center;color:#6c757d;margin:3rem auto;max-width:500px;box-shadow:0 2px 10px #0000000d}.auth-required-message p{font-size:1.2rem;line-height:1.6}@media (max-width: 1024px){.profile-full-container{flex-direction:column}.profile-sidebar{min-width:100%}}@media (max-width: 768px){.profile-page-title{font-size:1.5rem;padding:1.5rem 5%}.profile-full-container{padding:1.5rem 5%;gap:1.5rem}.profile-header{flex-direction:column;text-align:center;padding:1.5rem}.profile-avatar-large{margin:0 auto 1rem}.profile-info-large h2{font-size:1.8rem}.detail-item{flex-direction:column;padding:1rem 0}.detail-label{margin-bottom:.5rem}.detail-value{font-weight:500}.profile-membership-card{padding:1.5rem}}@media (max-width: 480px){.profile-page-title{font-size:1.3rem;padding:1rem 5%}.profile-full-container{padding:1rem 5%;gap:1rem}.profile-avatar-large{width:90px;height:90px}.avatar-initials-large{font-size:2.25rem}.profile-info-large h2{font-size:1.5rem}}.page-fullwidth-container{width:100%;max-width:100%;padding:0;margin:60px 0 0;min-height:calc(100vh - 60px);display:flex;flex-direction:column;background-color:#f8f9fa;overflow-y:auto}body.dark-mode .page-fullwidth-container{background-color:#121212}.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}body.dark-mode .page-subtle-title{color:#adb5bd;background-color:transparent;box-shadow:none;border-bottom:1px solid #333}.content-container{flex:1;padding:2rem 5%;width:100%;max-width:1400px;margin:0 auto}.settings-form{background-color:#fff;border-radius:12px;padding:2rem;max-width:900px;margin:0 auto;box-shadow:0 2px 10px #0000000d}body.dark-mode .settings-form{background-color:#1e1e1e;box-shadow:0 2px 10px #0003}.auth-notification-message{background-color:#fff3cd;border-left:4px solid #ffc107;padding:1rem 1.5rem;margin-bottom:2rem;border-radius:4px;color:#856404}body.dark-mode .auth-notification-message{background-color:#332b00;border-left-color:#b38600;color:#ffd970}.auth-notification-message a{color:#0056b3;text-decoration:underline;font-weight:500}body.dark-mode .auth-notification-message a{color:#5aabff}.floating-message{position:fixed;bottom:2rem;right:2rem;z-index:100;animation:messageSlideUp .3s ease}@keyframes messageSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.timelines-full-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;width:100%}.empty-state-container{display:flex;justify-content:center;align-items:center;min-height:400px}.empty-state{text-align:center;padding:3rem;background-color:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;max-width:500px}body.dark-mode .empty-state{background-color:#1e1e1e;box-shadow:0 2px 10px #0003}.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}body.dark-mode .auth-required-message{background-color:#1e1e1e;color:#adb5bd;box-shadow:0 2px 10px #0003}.create-timeline-btn{padding:.75rem 1.5rem;background-color:#007bff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s ease;font-size:1rem;margin-top:1.5rem}.create-timeline-btn:hover{background-color:#0069d9;transform:translateY(-3px);box-shadow:0 4px 8px #00000026}body.dark-mode .create-timeline-btn{background-color:#0d6efd}body.dark-mode .create-timeline-btn:hover{background-color:#0b5ed7}.not-found-content{text-align:center;max-width:600px;background-color:#fff;padding:3rem;border-radius:12px;box-shadow:0 2px 15px #00000014}body.dark-mode .not-found-content{background-color:#1e1e1e;box-shadow:0 2px 15px #0003}.not-found-content h1{font-size:5rem;color:#007bff;margin:0;line-height:1}.not-found-content h2{font-size:2rem;margin-top:.5rem;margin-bottom:1.5rem;color:#343a40}.not-found-content p{margin-bottom:.75rem;color:#6c757d;font-size:1.1rem;line-height:1.5}.go-home-btn{margin-top:2rem;padding:.75rem 1.5rem;background-color:#007bff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s ease;font-size:1rem}.go-home-btn:hover{background-color:#0069d9;transform:translateY(-3px);box-shadow:0 4px 8px #00000026}body.dark-mode .go-home-btn{background-color:#0d6efd}body.dark-mode .go-home-btn:hover{background-color:#0b5ed7}@media (max-width: 768px){.page-subtle-title{font-size:1.4rem;padding:1.2rem 5%}.content-container{padding:1.5rem 5%}.settings-form{padding:1.5rem}.not-found-content{padding:2rem}.not-found-content h1{font-size:4rem}.not-found-content h2{font-size:1.5rem}}@media (max-width: 480px){.page-subtle-title{font-size:1.3rem;padding:1rem 5%}.content-container{padding:1rem 5%}.settings-form{padding:1rem}.empty-state{padding:2rem 1rem}.not-found-content{padding:1.5rem}.not-found-content h1{font-size:3rem}.not-found-content h2{font-size:1.3rem}.floating-message{bottom:1rem;right:1rem;left:1rem;text-align:center}}.profile-header{position:relative;display:flex;align-items:center;justify-content:flex-start}.profile-auth-providers{display:flex;gap:10px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end;align-items:center}.auth-provider{display:flex;align-items:center;justify-content:center}.auth-provider-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:#f8f9fa;box-shadow:0 2px 5px #0000001a;color:#555;transition:all .2s ease;cursor:default}.auth-provider-icon:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.auth-provider-icon.google{background-color:#fff;color:#4285f4;border:1px solid #eee}.auth-provider-icon.facebook{background-color:#3b5998;color:#fff}.auth-provider-icon.twitter{background-color:#1da1f2;color:#fff}.auth-provider-icon.github{background-color:#24292e;color:#fff}.auth-provider-icon.email{background-color:#d44638;color:#fff}.auth-provider-icon.phone{background-color:#48bb78;color:#fff}.auth-provider-icon.apple{background-color:#000;color:#fff}.auth-provider-icon.generic{background-color:#6b7280;color:#fff}.auth-provider-icon svg{width:24px;height:24px}.auth-methods-list{display:flex;flex-wrap:wrap;gap:5px}.auth-method-name{font-weight:500}body.dark-mode .auth-provider-icon{background-color:#2a2a2a;color:#e0e0e0;box-shadow:0 2px 5px #0003}body.dark-mode .auth-provider-icon.google{background-color:#1e1e1e;color:#4285f4;border:1px solid #333}@media (max-width: 768px){.profile-header{flex-direction:column;text-align:center}.profile-auth-providers{margin-left:0;margin-top:15px;justify-content:center}}.profile-full-container{max-width:1100px;margin:0 auto;padding:2rem 5%;gap:2.5rem}.profile-avatar-large{width:100px;height:100px;box-shadow:0 3px 10px #00000014}.profile-header{padding:1.8rem;gap:1.8rem;margin-bottom:.5rem}.profile-info-large h2{font-size:1.8rem;margin-bottom:.3rem}.profile-email{font-size:.95rem;color:#777}.avatar-initials-large{font-size:2.5rem}.profile-details-section{padding:1.8rem}.profile-section-title{font-size:1.3rem;margin-bottom:1.2rem;color:#444}.detail-item{padding:1.2rem 0;margin-bottom:.2rem;border-bottom:1px solid #f5f5f5}.detail-label{font-size:.95rem;color:#777}.detail-value{font-size:.95rem}.profile-membership-card{padding:1.8rem}.profile-membership-card h3{font-size:1.2rem;margin-bottom:1.2rem;color:#444}.membership-badge{font-size:.8rem;padding:.4rem .8rem}.membership-info{font-size:.9rem;line-height:1.5;margin:1.2rem 0}.upgrade-btn{padding:.7rem 1.2rem;font-size:.9rem}@media (max-width: 1024px){.profile-full-container{gap:1.8rem}}@media (max-width: 768px){.profile-avatar-large{width:90px;height:90px;margin-bottom:.5rem}.profile-info-large h2{font-size:1.6rem}.profile-details-section,.profile-membership-card,.profile-header{padding:1.5rem}}.profile-auth-providers{gap:8px}.auth-provider-icon{width:34px;height:34px}.profile-page-title{padding:1.3rem 5%;font-weight:500;margin-bottom:.5rem}body.dark-mode .detail-item{border-bottom-color:#282828}body.dark-mode .profile-section-title,body.dark-mode .profile-membership-card h3{color:#e0e0e0}body.dark-mode .detail-label{color:#aaa}.auth-methods-list{display:flex;flex-wrap:wrap;gap:4px 8px}.auth-method-name{font-weight:500;background-color:#f8f9fa;padding:4px 8px;border-radius:4px;font-size:.85rem}body.dark-mode .auth-method-name{background-color:#2a2a2a}.editable-username{display:inline-flex;align-items:center;gap:6px;cursor:pointer;position:relative;padding:2px 4px;border-radius:4px;transition:all .2s ease}.editable-username:hover{background-color:#f0f0f0}body.dark-mode .editable-username:hover{background-color:#2a2a2a}.edit-icon{opacity:.3;transition:opacity .2s ease;margin-left:6px;display:inline-flex;align-items:center}.editable-username:hover .edit-icon{opacity:.7}.username-edit-input{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:4px;font-size:.95rem;background-color:#fff;color:#333;box-shadow:0 1px 3px #0000000d;transition:all .2s ease}.username-edit-input:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 3px #007bff40}body.dark-mode .username-edit-input{background-color:#2a2a2a;border-color:#444;color:#f1f1f1}body.dark-mode .username-edit-input:focus{border-color:#3a97ff;box-shadow:0 0 0 3px #3a97ff40}.username-update-message{padding:8px 12px;margin:10px 0;border-radius:4px;font-size:.9rem;animation:fadeIn .3s ease}.username-update-message.success{background-color:#d4edda;color:#155724;border-left:3px solid #28a745}.username-update-message.error{background-color:#f8d7da;color:#721c24;border-left:3px solid #dc3545}body.dark-mode .username-update-message.success{background-color:#19875426;color:#75b798;border-left-color:#28a745}body.dark-mode .username-update-message.error{background-color:#dc354526;color:#ea868f;border-left-color:#dc3545}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.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}body.dark-mode .not-found-content{background-color:#1e1e1e;box-shadow:0 6px 30px #0000004d}.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}body.dark-mode .not-found-content h1{color:#3a97ff}body.dark-mode .not-found-content h2{color:#f1f1f1}.not-found-content p{margin-bottom:1rem;color:#495057;font-size:1.1rem;line-height:1.6}body.dark-mode .not-found-content p{color:#adb5bd}.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,.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;border:none}.go-home-btn{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{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}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}.loading-redirect{margin-top:2rem;font-size:1.1rem;font-weight:600;color:#007bff;animation:pulse 1.2s infinite}body.dark-mode .loading-redirect{color:#3a97ff}@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}}@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}}.mobile-warning-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;z-index:2000;display:flex;justify-content:center;align-items:center;padding:1rem;animation:fadeIn .3s ease-out}.mobile-warning-content{background-color:#fff;border-radius:8px;padding:2rem 1.5rem;width:100%;max-width:500px;text-align:center;position:relative;box-shadow:0 10px 25px #0000004d;animation:slideUp .4s ease-out}.mobile-warning-close{position:absolute;top:10px;right:10px;background:none;border:none;font-size:24px;color:#666;cursor:pointer;padding:5px;line-height:1;margin:0;width:auto;height:auto}.mobile-warning-close:hover{color:#333;background-color:transparent}.mobile-warning-icon{color:#e67e22;margin-bottom:1rem}.mobile-warning-content h2{margin:0 0 1rem;color:#333;font-size:1.5rem}.mobile-warning-content p{margin-bottom:1.5rem;color:#666;line-height:1.5}.mobile-warning-button{background-color:var(--primary-color, #007bff);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;font-weight:500;cursor:pointer;transition:background-color .2s;display:inline-block;width:auto}.mobile-warning-button:hover{background-color:var(--primary-hover, #0056b3)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.mobile-warning-content{padding:1.5rem 1rem}.mobile-warning-content h2{font-size:1.3rem}}.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}.welcome-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease-out}.welcome-popup{position:relative;background-color:#fff;border-radius:12px;max-width:500px;width:90%;box-shadow:0 8px 30px #00000026;animation:scaleIn .3s ease-out;max-height:90vh;overflow-y:auto}.welcome-popup-close{position:absolute;top:12px;right:12px;background:none;border:none;font-size:24px;cursor:pointer;color:#666;height:32px;width:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.welcome-popup-close:hover{background-color:#0000000d;color:#333}.welcome-popup-content{padding:28px}.welcome-popup-content h2{margin-top:0;margin-bottom:24px;font-size:1.8rem;color:var(--primary-color, #007bff);padding-bottom:12px;border-bottom:2px solid var(--primary-light-color, rgba(0, 123, 255, .2));display:flex;align-items:center;gap:6px}.welcome-popup-section{margin-bottom:24px}.welcome-popup-section h3{font-size:1.25rem;margin-bottom:12px;color:#333;display:flex;align-items:center;gap:6px}.welcome-popup-section ol,.welcome-popup-section ul{padding-left:25px;margin-top:10px;margin-bottom:8px}.welcome-popup-section li{margin-bottom:10px;line-height:1.5}.welcome-popup-section p{line-height:1.5;margin-bottom:12px}.welcome-popup-section strong{font-weight:600;color:var(--primary-color, #007bff)}.welcome-popup-section a{color:var(--primary-color, #007bff);text-decoration:none;font-weight:500;transition:color .2s ease}.welcome-popup-section a:hover{color:var(--primary-hover-color, #0069d9);text-decoration:underline}.welcome-popup-buttons{display:flex;justify-content:center;gap:15px;margin-top:24px}.welcome-popup-button{padding:12px 18px;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.welcome-popup-button.primary{background-color:var(--primary-color, #007bff);color:#fff;border:none}.welcome-popup-button.primary:hover{background-color:var(--primary-hover-color, #0069d9);box-shadow:0 2px 8px #00007b40}.welcome-popup-button.secondary{background-color:#f8f9fa;color:#444;border:1px solid #ddd}.welcome-popup-button.secondary:hover{background-color:#e9ecef;box-shadow:0 2px 8px #00000014}:root[data-theme=dark] .welcome-popup{background-color:#222;box-shadow:0 8px 30px #00000040}:root[data-theme=dark] .welcome-popup-content h2{color:var(--primary-color, #3b82f6);border-bottom-color:#3b82f633}:root[data-theme=dark] .welcome-popup-section h3,:root[data-theme=dark] .welcome-popup-close{color:#e5e7eb}:root[data-theme=dark] .welcome-popup-section strong{color:var(--primary-color, #3b82f6)}:root[data-theme=dark] .welcome-popup-section li,:root[data-theme=dark] .welcome-popup-section p{color:#d1d5db}:root[data-theme=dark] .welcome-popup-section a{color:var(--primary-color, #3b82f6)}:root[data-theme=dark] .welcome-popup-section a:hover{color:var(--primary-hover-color, #60a5fa)}:root[data-theme=dark] .welcome-popup-button.secondary{background-color:#2d3748;color:#e5e7eb;border-color:#4a5568}:root[data-theme=dark] .welcome-popup-button.secondary:hover{background-color:#374151}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.95);opacity:.5}to{transform:scale(1);opacity:1}}@media (max-width: 600px){.welcome-popup{width:95%}.welcome-popup-content{padding:20px}.welcome-popup-content h2{font-size:1.6rem}.welcome-popup-buttons{flex-direction:column}.welcome-popup-button{width:100%}}.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}}.text-to-timeline-form{padding:15px;background-color:var(--sidebar-item-bg);border-radius:8px;margin-bottom:20px}.text-to-timeline-form h3{font-size:1.1rem;margin-bottom:15px;color:var(--text-color);display:flex;align-items:center}.text-to-timeline-form h3:before{content:"🤖";margin-right:8px;font-size:1.2rem}.text-to-timeline-info,.success-message{display:flex;padding:10px;border-radius:6px;margin:15px 0;font-size:.9rem;align-items:flex-start}.text-to-timeline-info{background-color:#007bff1a;color:var(--text-color-secondary)}.success-message{background-color:#28a7451a;color:#28a745;animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.text-to-timeline-info svg,.success-message svg{flex-shrink:0;margin-right:10px;margin-top:2px}.text-to-timeline-info svg{color:#007bff}.success-message svg{color:#28a745}.text-to-timeline-info span,.success-message span{flex-grow:1}.generate-timeline-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:12px;margin-top:15px;background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;font-weight:500;cursor:pointer;transition:background-color .2s}.generate-timeline-btn:hover{background-color:var(--primary-color-dark)}.generate-timeline-btn:disabled{opacity:.7;cursor:not-allowed}.generate-timeline-btn svg{margin-right:10px}.generate-timeline-btn .loading-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite;margin-right:10px}.input-mode-selector{display:flex;background-color:var(--sidebar-item-bg);border-radius:8px;overflow:hidden;margin-bottom:15px;border:1px solid var(--border-color)}.input-mode-selector button{flex:1;padding:10px;background:none;border:none;cursor:pointer;font-size:.9rem;font-weight:500;color:var(--text-color-secondary);transition:all .2s;position:relative}.input-mode-selector button.active{background-color:var(--primary-color);color:#fff}.input-mode-selector button:first-child{border-right:1px solid var(--border-color)}.input-mode-selector button:hover:not(.active){background-color:#00000008}.input-mode-selector button svg{margin-right:6px;vertical-align:middle}[data-theme=dark] .text-to-timeline-info{background-color:#007bff26}.ai-badge{background-color:#007bff33;color:var(--primary-color);padding:2px 6px;border-radius:10px;font-size:.7rem;margin-left:5px;font-weight:600;vertical-align:middle}.ai-badge{display:inline-block;background-color:#fff3;color:inherit;font-size:.7rem;font-weight:700;padding:.15rem .3rem;border-radius:3px;margin-left:5px;vertical-align:text-top;line-height:1;text-transform:uppercase}.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)}: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 .setting-description{color:var(--text-secondary)}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{background-color:var(--timeline-background)}body.dark-mode .timeline-container[style*=background-image]:before{background-color:var(--timeline-overlay)}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 .timeline-info{background-color:var(--card-background);color:var(--text-secondary)}body.dark-mode .timeline-info kbd{background-color:#ffffff1a;color:var(--text-color)}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-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 .settings-section h2{color:var(--text-color);border-bottom-color:var(--border-color)}body.dark-mode .setting-item{border-bottom-color:#ffffff1a}body.dark-mode .setting-label label{color:var(--text-color)}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:.85}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-header{border-bottom:1px solid #f0f0f0;padding-bottom:1.5rem;margin-bottom:1.5rem}.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}body.dark-mode .cancel-btn{background-color:var(--section-background);border-color:var(--border-color);color:var(--text-color)}.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);padding-bottom:1.5rem;margin-bottom:1.5rem}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-header{display:flex;align-items:center;margin-bottom:2rem;border-bottom:1px solid #f0f0f0;padding-bottom:1.5rem}body.dark-mode .profile-header{border-bottom-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)}
