﻿@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.calendar-widget .window-content{padding:8px;background:var(--color-bg)}.calendar-widget .calendar-widget-content{display:flex;flex-direction:column;gap:8px;font-family:var(--font-primary)}.calendar-widget .error-state{display:flex;align-items:center;gap:8px;padding:12px;background:var(--color-bg-alt);border:1px solid var(--color-border-light-primary);border-radius:4px;color:var(--color-text-light-warning)}.calendar-widget .error-state i{color:var(--color-text-light-warning)}.calendar-widget .calendar-header{border-bottom:1px solid var(--color-border-light-primary);padding:8px;display:flex;align-items:center;gap:8px;background:var(--color-bg-alt)}.calendar-widget .calendar-header .calendar-name{flex:1;font-weight:600;color:var(--color-text-light-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-widget .calendar-header .header-controls{display:flex;gap:4px;flex-shrink:0}.calendar-widget .calendar-header .header-controls .header-control-btn{background:var(--color-bg-btn);border:1px solid var(--color-border-dark);border-radius:3px;padding:4px 8px;cursor:pointer;color:var(--color-text-primary);transition:all .15s ease;display:flex;align-items:center;justify-content:center;min-width:28px;height:28px}.calendar-widget .calendar-header .header-controls .header-control-btn:hover{background:var(--color-bg-btn-hover);border-color:var(--color-border-light-secondary);transform:translateY(-1px)}.calendar-widget .calendar-header .header-controls .header-control-btn:active{transform:translateY(0)}.calendar-widget .calendar-header .header-controls .header-control-btn i{font-size:.9em}.calendar-widget .date-display{cursor:pointer;padding:20px;margin:8px;border-radius:6px;border:2px solid var(--color-border-dark);transition:all .2s}body.theme-light .calendar-widget .date-display{background:rgba(0,0,0,.15);box-shadow:inset 0 2px 4px rgba(0,0,0,.3),inset 0 -1px 2px hsla(0,0%,100%,.1)}body.theme-light .calendar-widget .date-display:hover{background:rgba(0,0,0,.2);border-color:var(--color-border-light-secondary);box-shadow:inset 0 2px 4px rgba(0,0,0,.4),inset 0 -1px 2px hsla(0,0%,100%,.15)}body.theme-dark .calendar-widget .date-display{background:hsla(0,0%,100%,.08);box-shadow:inset 0 2px 4px rgba(0,0,0,.5),inset 0 -1px 2px hsla(0,0%,100%,.1)}body.theme-dark .calendar-widget .date-display:hover{background:hsla(0,0%,100%,.12);border-color:var(--color-border-light-secondary);box-shadow:inset 0 2px 4px rgba(0,0,0,.6),inset 0 -1px 2px hsla(0,0%,100%,.15)}.calendar-widget .date-display .main-date{font-size:1.3em;font-weight:700;color:var(--color-text-light-primary);text-align:center;margin-bottom:8px;letter-spacing:.5px}.calendar-widget .date-display .special-format{text-align:center;font-size:1em;font-weight:500;font-style:italic;color:var(--color-text-light-secondary);margin-bottom:8px;letter-spacing:.1em;cursor:help}.calendar-widget .date-display .time-display{display:flex;flex-direction:column;gap:4px;align-items:center}.calendar-widget .date-display .time-display .time{font-family:var(--font-mono);font-size:1.1em;font-weight:500;color:var(--color-text-light-secondary);background:var(--color-bg-alt);padding:4px 12px;border-radius:4px;border:1px solid var(--color-border-light-tertiary)}.calendar-widget .date-display .sun-display{display:flex;justify-content:center;align-items:center;padding:.5rem 0;margin-top:.5rem}.calendar-widget .date-display .sun-display .sun-info{display:flex;justify-content:center;align-items:center;gap:1rem;font-size:.9em}.calendar-widget .date-display .sun-display .sun-info .sun-time{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .75rem;background:rgba(0,0,0,.3);border-radius:1rem;box-shadow:0 1px 3px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.1);color:#e0e0e0}.calendar-widget .date-display .sun-display .sun-info .sun-time i{font-size:1em;filter:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.8))}.calendar-widget .date-display .sun-display .sun-info .sun-time i.fa-sunrise{color:#ffb347}.calendar-widget .date-display .sun-display .sun-info .sun-time i.fa-sunset{color:coral}.calendar-widget .date-display .moon-phases{display:flex;justify-content:center;align-items:center;gap:clamp(.25rem,100%/(var(--moon-count)*2 + 1),1rem);padding:.3rem 0;margin-top:.5rem;min-height:1.5rem}.calendar-widget .date-display .moon-phases .moon-phase{display:flex;justify-content:center;align-items:center;cursor:help;transition:all .15s ease;background:rgba(0,0,0,.3);border-radius:50%;width:1.6rem;height:1.6rem;box-shadow:0 1px 3px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.1)}.calendar-widget .date-display .moon-phases .moon-phase:hover{transform:scale(1.15);background:rgba(0,0,0,.4)}.calendar-widget .date-display .moon-phases .moon-phase i{font-size:1rem;line-height:1;filter:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.8))}.calendar-widget .date-display .moon-phases .moon-phase i.moon-phase-new{opacity:.4}.calendar-widget .date-display .moon-phases .moon-phase i.moon-phase-waxing-crescent,.calendar-widget .date-display .moon-phases .moon-phase i.moon-phase-waning-crescent{transform:rotate(90deg)}.calendar-widget .date-display .moon-phases .moon-phase i.moon-phase-first-quarter{transform:none}.calendar-widget .date-display .moon-phases .moon-phase i.moon-phase-last-quarter{transform:scaleX(-1)}.calendar-widget .date-display .moon-phases .moon-phase i.moon-phase-waxing-gibbous,.calendar-widget .date-display .moon-phases .moon-phase i.moon-phase-waning-gibbous{opacity:.9}.calendar-widget .date-display .moon-phases .moon-phase i.moon-phase-full{opacity:1}.calendar-widget .calendar-controls{display:flex;flex-direction:column;gap:12px;padding:12px;background:var(--color-bg-alt);border-radius:6px;border:1px solid var(--color-border-light-primary)}.calendar-widget .calendar-controls .control-group{display:flex;flex-direction:column;gap:8px}.calendar-widget .calendar-controls .control-group label{font-size:.85em;color:var(--color-text-light-secondary);font-weight:600;margin-bottom:4px}.calendar-widget .calendar-controls .control-group button{padding:8px 12px;font-size:.8em;border:1px solid var(--color-border-light-secondary);background:var(--color-bg);color:var(--color-text-light-primary);border-radius:4px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px;font-weight:500}.calendar-widget .calendar-controls .control-group button:hover{background:var(--color-text-light-highlight);color:var(--color-text-dark-primary);border-color:var(--color-text-light-highlight);transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.1)}.calendar-widget .calendar-controls .control-group button:active{transform:translateY(0);box-shadow:0 1px 2px rgba(0,0,0,.1)}.calendar-widget .calendar-controls .control-group button i{font-size:.9em}.calendar-widget .calendar-controls .control-group button[data-unit=minutes],.calendar-widget .calendar-controls .control-group button[data-unit=hours]{background:linear-gradient(135deg, #10b981, #14b8a6);color:#fff;border-color:#10b981}.calendar-widget .calendar-controls .control-group button[data-unit=minutes]:hover,.calendar-widget .calendar-controls .control-group button[data-unit=hours]:hover{background:linear-gradient(135deg, #059669, #0d9488);transform:translateY(-2px)}.calendar-widget .calendar-controls .control-group button[data-unit=days]{background:linear-gradient(135deg, #4f46e5, #6366f1);color:#fff;border-color:#4f46e5}.calendar-widget .calendar-controls .control-group button[data-unit=days]:hover{background:linear-gradient(135deg, #3730a3, #4f46e5);transform:translateY(-2px)}.calendar-widget .calendar-controls .control-group button[data-unit=weeks]{background:linear-gradient(135deg, #7c3aed, #8b5cf6);color:#fff;border-color:#7c3aed}.calendar-widget .calendar-controls .control-group button[data-unit=weeks]:hover{background:linear-gradient(135deg, #5b21b6, #7c3aed);transform:translateY(-2px)}.calendar-widget .calendar-controls .control-group button[data-unit=months]{background:linear-gradient(135deg, #0891b2, #06b6d4);color:#fff;border-color:#0891b2}.calendar-widget .calendar-controls .control-group button[data-unit=months]:hover{background:linear-gradient(135deg, #0e7490, #0891b2);transform:translateY(-2px)}.calendar-widget .calendar-controls .control-group .time-buttons{display:flex;flex-direction:row;gap:6px;flex-wrap:wrap}.calendar-widget .calendar-controls .control-group .time-buttons button{flex:1;min-width:60px;padding:6px 8px;font-size:.75em}.calendar-widget .calendar-controls .control-group .time-buttons button:not(.rewind){background:linear-gradient(135deg, #10b981, #14b8a6);border-color:#10b981;color:#fff}.calendar-widget .calendar-controls .control-group .time-buttons button:not(.rewind):hover{background:linear-gradient(135deg, #059669, #0d9488);border-color:#059669;color:#fff}.calendar-widget .calendar-controls .control-group .sun-time-buttons{margin-top:6px}.calendar-widget .calendar-controls .control-group .sun-time-buttons button i.fa-sunrise{color:#ffb347}.calendar-widget .calendar-controls .control-group .sun-time-buttons button i.fa-sunset{color:coral}.calendar-widget .calendar-controls .control-group .date-buttons{display:flex;flex-direction:row;gap:6px;flex-wrap:wrap}.calendar-widget .calendar-controls .control-group .date-buttons button{flex:1;min-width:80px;padding:6px 8px;font-size:.75em}.calendar-widget .calendar-controls .control-group .time-buttons button.rewind,.calendar-widget .calendar-controls .control-group .date-buttons button.rewind{background:linear-gradient(135deg, #dc2626, #ef4444);border-color:#dc2626;color:#fff}.calendar-widget .calendar-controls .control-group .time-buttons button.rewind:hover,.calendar-widget .calendar-controls .control-group .date-buttons button.rewind:hover{background:linear-gradient(135deg, #b91c1c, #dc2626);border-color:#b91c1c;color:#fff}.calendar-widget .calendar-controls .control-group .time-buttons button.rewind:active,.calendar-widget .calendar-controls .control-group .date-buttons button.rewind:active{background:linear-gradient(135deg, #991b1b, #b91c1c)}.calendar-widget .calendar-controls .control-group.horizontal{flex-direction:row;align-items:center;gap:12px}.calendar-widget .calendar-controls .control-group.horizontal label{margin-bottom:0;flex-shrink:0}.calendar-widget .calendar-controls .time-advancement-section{border-bottom:1px solid var(--color-border-light-tertiary);padding-bottom:8px;margin-bottom:8px}.calendar-widget .calendar-controls .time-advancement-section .control-group.horizontal{flex-direction:row;align-items:center;justify-content:space-between}.calendar-widget .calendar-controls .time-advancement-section .control-group.horizontal label{margin-bottom:0;flex-shrink:0}.calendar-widget .calendar-controls .time-advancement-section .control-group.horizontal .advancement-controls{display:flex;align-items:center;gap:8px}.calendar-widget .calendar-controls .time-advancement-section .control-group.horizontal .advancement-controls .play-pause-btn{background:linear-gradient(135deg, #059669, #0d9488);color:#fff;border-color:#059669;padding:6px 12px;font-size:.75em;min-width:60px}.calendar-widget .calendar-controls .time-advancement-section .control-group.horizontal .advancement-controls .play-pause-btn:hover{background:linear-gradient(135deg, #047857, #0f766e);border-color:#047857}.calendar-widget .calendar-controls .time-advancement-section .control-group.horizontal .advancement-controls .play-pause-btn.active{background:linear-gradient(135deg, #dc2626, #ef4444);border-color:#dc2626}.calendar-widget .calendar-controls .time-advancement-section .control-group.horizontal .advancement-controls .play-pause-btn.active:hover{background:linear-gradient(135deg, #b91c1c, #dc2626);border-color:#b91c1c}.calendar-widget .calendar-controls .time-advancement-section .control-group.horizontal .advancement-controls .play-pause-btn i{font-size:.8em;margin-right:4px}.calendar-widget .calendar-controls .time-advancement-section .control-group.horizontal .advancement-controls .settings-btn{background:var(--color-bg);color:var(--color-text-light-primary);border-color:var(--color-border-light-secondary);padding:6px 8px;font-size:.75em;min-width:32px}.calendar-widget .calendar-controls .time-advancement-section .control-group.horizontal .advancement-controls .settings-btn:hover{background:var(--color-text-light-highlight);color:var(--color-text-dark-primary);border-color:var(--color-text-light-highlight)}.calendar-widget .calendar-controls .time-advancement-section .control-group.horizontal .advancement-controls .settings-btn i{font-size:.8em}.calendar-widget .calendar-controls .time-advancement-section .control-group.horizontal .advancement-controls .advancement-indicator{color:var(--color-text-light-primary);font-size:.9em;display:flex;align-items:center;gap:4px}.calendar-widget .calendar-controls .time-advancement-section .control-group.horizontal .advancement-controls .advancement-indicator .spinning{animation:spin 2s linear infinite}.calendar-widget .calendar-controls .error-test-section{border-top:1px dashed var(--color-border-light-primary);padding-top:8px;margin-top:8px}.calendar-widget .calendar-controls .error-test-section .control-group label{color:var(--color-text-light-warning);font-weight:600}.calendar-widget .calendar-controls .error-test-section .error-test-btn{background:var(--color-bg-danger);color:var(--color-text-light-primary);border:1px solid var(--color-border-dark)}.calendar-widget .calendar-controls .error-test-section .error-test-btn:hover{background:var(--color-bg-danger-highlight);box-shadow:0 0 8px rgba(255,68,68,.3)}.calendar-widget .calendar-controls .error-test-section .error-test-btn i{color:var(--color-text-light-warning)}.calendar-widget .calendar-description{display:flex;align-items:center;gap:6px;padding:4px 6px;font-size:.8em;color:var(--color-text-light-secondary);background:var(--color-bg-alt);border-radius:3px;cursor:help}.calendar-widget .calendar-description i{color:var(--color-text-light-hint)}.calendar-widget .calendar-description span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-widget .sidebar-buttons{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--color-border-light-primary)}.calendar-widget .sidebar-buttons .sidebar-button{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:.85em;border:2px solid var(--color-border-light-secondary);background:linear-gradient(to bottom, var(--color-bg-btn), var(--color-bg));color:var(--color-text-light-primary);border-radius:5px;cursor:pointer;transition:all .15s ease;font-weight:600;box-shadow:0 2px 5px rgba(0,0,0,.25)}.calendar-widget .sidebar-buttons .sidebar-button:hover{background:var(--color-text-light-highlight);color:var(--color-text-dark-primary);border-color:var(--color-text-light-highlight);transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.3)}.calendar-widget .sidebar-buttons .sidebar-button:active{transform:translateY(0);box-shadow:0 1px 3px rgba(0,0,0,.2)}.calendar-widget .sidebar-buttons .sidebar-button i{font-size:1em;flex-shrink:0}.calendar-widget .sidebar-buttons .sidebar-button .sidebar-button-text{flex:1}.system-dnd5e .calendar-widget .window-content,.system-pf2e .calendar-widget .window-content{background:var(--color-warm-grey)}.system-dnd5e .calendar-widget .date-display,.system-pf2e .calendar-widget .date-display{background:var(--color-light-grey)}@keyframes seasons-stars-fade-out{from{opacity:1}to{opacity:0}}.calendar-mini-widget{pointer-events:all !important;visibility:visible !important;display:block !important}.calendar-mini-widget .window-header{display:none}.calendar-mini-widget .window-content{padding:0}.calendar-mini-widget .calendar-mini-content{display:flex;flex-direction:column;gap:.2rem;padding:.3rem .4rem;background:linear-gradient(135deg, #2c2c2c 0%, #1a1a1a 100%);border:1px solid hsla(0,0%,100%,.1);border-radius:3px;box-shadow:0 2px 8px rgba(0,0,0,.4);font-family:"Signika",sans-serif;font-size:.8rem;color:#e0e0e0;line-height:1.2;width:fit-content;min-width:140px;max-width:400px;margin:0}.calendar-mini-widget .calendar-mini-content:hover{border-color:hsla(0,0%,100%,.15);box-shadow:0 2px 10px rgba(0,0,0,.5)}.calendar-mini-widget .mini-error{color:#ff6b6b;font-size:.7rem;text-align:center;padding:.2rem}.calendar-mini-widget .calendar-mini-content .mini-header-row{display:flex;justify-content:center;align-items:center;width:100%;gap:.3rem;white-space:nowrap;position:relative}.calendar-mini-widget .calendar-mini-content .mini-header-row:has(.mini-play-pause-controls){padding-right:24px}.calendar-mini-widget .calendar-mini-content .mini-header-row .mini-weekday{color:hsla(0,0%,100%,.85);font-size:.75em;font-weight:500;white-space:nowrap;min-width:fit-content;text-transform:uppercase;letter-spacing:.3px;opacity:.8;flex-shrink:0}.calendar-mini-widget .calendar-mini-content .mini-header-row .mini-date{text-align:center;color:#fff;white-space:nowrap;letter-spacing:.025em;margin:0;cursor:pointer;padding:2px 4px;border-radius:3px;transition:all .2s;pointer-events:all !important;user-select:none;min-width:100px;min-height:16px;flex:1;max-width:100%}.calendar-mini-widget .calendar-mini-content .mini-header-row .mini-date:hover{background:hsla(0,0%,100%,.1);transform:scale(1.02);text-shadow:1px 1px 3px rgba(0,0,0,.9)}.calendar-mini-widget .calendar-mini-content .mini-header-row .mini-date .mini-time{color:hsla(0,0%,100%,.8);font-size:.9em;font-weight:300;margin-left:.4em;opacity:.9}.calendar-mini-widget .calendar-mini-content .mini-header-row .mini-play-pause-controls{position:absolute;right:0}.calendar-mini-widget .calendar-mini-content .mini-header-row .mini-play-pause-controls .play-pause-btn{background:var(--color-bg-btn, rgba(255, 255, 255, 0.1));border:1px solid var(--color-border-dark, rgba(255, 255, 255, 0.2));border-radius:2px;padding:1px 3px;cursor:pointer;font-size:9px;color:hsla(0,0%,100%,.8);transition:all .2s ease;min-width:18px;height:14px;display:flex;align-items:center;justify-content:center}.calendar-mini-widget .calendar-mini-content .mini-header-row .mini-play-pause-controls .play-pause-btn:hover{background:var(--color-bg-btn-hover, rgba(255, 255, 255, 0.15));color:#fff;transform:scale(1.05)}.calendar-mini-widget .calendar-mini-content .mini-header-row .mini-play-pause-controls .play-pause-btn.active{background:var(--color-bg-option, rgba(16, 185, 129, 0.8));color:var(--color-text-highlight, #ffffff);border-color:#10b981}.calendar-mini-widget .calendar-mini-content .mini-header-row .mini-play-pause-controls .play-pause-btn.active:hover{background:rgba(16,185,129,.9)}.calendar-mini-widget .calendar-mini-content .mini-header-row .mini-play-pause-controls .play-pause-btn i{font-size:8px}.calendar-mini-widget .calendar-mini-content .mini-special-format{text-align:center;color:hsla(0,0%,100%,.9);font-size:.85em;font-weight:500;font-style:italic;padding:2px 4px;margin-top:1px;letter-spacing:.05em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:help}.calendar-mini-widget .calendar-mini-content .mini-date:not(.mini-header-row .mini-date){color:#fff;text-align:center;white-space:nowrap;letter-spacing:.025em;margin:0;cursor:pointer;padding:2px 4px;border-radius:3px;transition:all .2s;user-select:none}.calendar-mini-widget .calendar-mini-content .mini-date:not(.mini-header-row .mini-date):hover{background:hsla(0,0%,100%,.1);transform:scale(1.02)}.calendar-mini-widget .calendar-mini-content .mini-date:not(.mini-header-row .mini-date) .mini-time{color:hsla(0,0%,100%,.8);font-size:.9em;font-weight:300;margin-left:.4em;opacity:.9}.calendar-mini-widget .calendar-mini-content .mini-footer-row{display:flex;align-items:center;width:100%;gap:.5rem;margin-top:.25rem;flex-wrap:nowrap;justify-content:space-between}.calendar-mini-widget .calendar-mini-content .mini-footer-row--no-quick{justify-content:flex-end}.calendar-mini-widget .calendar-mini-content .mini-footer-row--no-quick .mini-time-controls--empty{display:none}.calendar-mini-widget .calendar-mini-content .mini-time-controls{display:flex;gap:.15rem;justify-content:flex-start;flex-wrap:nowrap;flex:0 1 auto;flex-shrink:0}.calendar-mini-widget .calendar-mini-content .mini-time-controls button{background:linear-gradient(135deg, #10b981, #14b8a6);border:1px solid #10b981;border-radius:2px;padding:.15rem .3rem;color:#fff;font-size:.65rem;cursor:pointer;transition:all .2s ease;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}.calendar-mini-widget .calendar-mini-content .mini-time-controls button:hover{background:linear-gradient(135deg, #059669, #0d9488);border-color:#059669;color:#fff}.calendar-mini-widget .calendar-mini-content .mini-time-controls button.rewind{background:linear-gradient(135deg, #dc2626, #ef4444);border-color:#dc2626}.calendar-mini-widget .calendar-mini-content .mini-time-controls button.rewind:hover{background:linear-gradient(135deg, #b91c1c, #dc2626);border-color:#b91c1c;color:#fff}.calendar-mini-widget .calendar-mini-content .mini-time-controls button i{font-size:.6rem;margin-right:.2rem}.calendar-mini-widget .calendar-mini-content .mini-time-controls--empty{min-height:.5rem;flex:1 1 auto}.calendar-mini-widget .calendar-mini-content .mini-sidebar-buttons{display:flex;gap:.15rem;margin-top:.5rem;align-items:center;flex:0 0 auto;flex-shrink:0}.calendar-mini-widget .calendar-mini-content .mini-sidebar-buttons .mini-sidebar-button{background:linear-gradient(135deg, #10b981, #14b8a6);border:1px solid #10b981;border-radius:2px;padding:.15rem .3rem;color:#fff;font-size:.65rem;cursor:pointer;transition:all .2s ease;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}.calendar-mini-widget .calendar-mini-content .mini-sidebar-buttons .mini-sidebar-button:hover{background:linear-gradient(135deg, #059669, #0d9488);border-color:#059669;color:#fff}.calendar-mini-widget .calendar-mini-content .mini-sidebar-buttons .mini-sidebar-button i{font-size:.6rem}.calendar-mini-widget .mini-moon-phases{display:flex;justify-content:center;align-items:center;gap:clamp(.25rem,100%/(var(--moon-count)*2 + 1),1rem);padding:.3rem 0;min-height:1.5rem}.calendar-mini-widget .mini-moon-phases .mini-moon-phase{display:flex;justify-content:center;align-items:center;cursor:help;transition:all .15s ease;background:rgba(0,0,0,.3);border-radius:50%;width:1.6rem;height:1.6rem;box-shadow:0 1px 3px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.1)}.calendar-mini-widget .mini-moon-phases .mini-moon-phase:hover{transform:scale(1.15);background:rgba(0,0,0,.4)}.calendar-mini-widget .mini-moon-phases .mini-moon-phase i{font-size:1rem;line-height:1;filter:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.8))}.calendar-mini-widget .mini-moon-phases .mini-moon-phase i.moon-phase-new{opacity:.4}.calendar-mini-widget .mini-moon-phases .mini-moon-phase i.moon-phase-waxing-crescent,.calendar-mini-widget .mini-moon-phases .mini-moon-phase i.moon-phase-waning-crescent{transform:rotate(90deg)}.calendar-mini-widget .mini-moon-phases .mini-moon-phase i.moon-phase-first-quarter{transform:none}.calendar-mini-widget .mini-moon-phases .mini-moon-phase i.moon-phase-last-quarter{transform:scaleX(-1)}.calendar-mini-widget .mini-moon-phases .mini-moon-phase i.moon-phase-waxing-gibbous,.calendar-mini-widget .mini-moon-phases .mini-moon-phase i.moon-phase-waning-gibbous{opacity:.9}.calendar-mini-widget .mini-moon-phases .mini-moon-phase i.moon-phase-full{opacity:1}.calendar-mini-widget .mini-sun-row{display:flex;justify-content:center;align-items:center;padding:.3rem 0;min-height:1.5rem}.calendar-mini-widget .mini-sun-row .mini-sun-info{display:flex;justify-content:center;align-items:center;gap:.8rem;font-size:.75rem}.calendar-mini-widget .mini-sun-row .mini-sun-info .mini-sun-time{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;background:rgba(0,0,0,.3);border-radius:1rem;box-shadow:0 1px 3px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.1);color:#e0e0e0;transition:all .15s ease}.calendar-mini-widget .mini-sun-row .mini-sun-info .mini-sun-time.clickable{cursor:pointer}.calendar-mini-widget .mini-sun-row .mini-sun-info .mini-sun-time.clickable:hover{background:rgba(0,0,0,.4);transform:translateY(-1px)}.calendar-mini-widget .mini-sun-row .mini-sun-info .mini-sun-time.clickable:active{transform:translateY(0)}.calendar-mini-widget .mini-sun-row .mini-sun-info .mini-sun-time i{font-size:.9rem;filter:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.8))}.calendar-mini-widget .mini-sun-row .mini-sun-info .mini-sun-time i.fa-sunrise{color:#ffb347}.calendar-mini-widget .mini-sun-row .mini-sun-info .mini-sun-time i.fa-sunset{color:coral}.calendar-mini-widget.player-list-expanded .calendar-mini-content{z-index:85 !important;opacity:.95;transition:z-index .3s ease,opacity .3s ease,transform .3s ease}.calendar-mini-widget.compact-mode .calendar-mini-content{padding:2px 4px}.calendar-mini-widget.compact-mode .calendar-mini-content .mini-header-row{gap:.1rem}.calendar-mini-widget.compact-mode .calendar-mini-content .mini-header-row .mini-weekday{font-size:.7em;margin-right:.2em;letter-spacing:.2px}.calendar-mini-widget.compact-mode .calendar-mini-content .mini-header-row .mini-date{font-size:.95em;padding:1px 2px}.calendar-mini-widget.compact-mode .calendar-mini-content .mini-header-row .mini-play-pause-controls .play-pause-btn{min-width:16px;height:12px;font-size:8px;padding:1px 2px}.calendar-mini-widget.compact-mode .calendar-mini-content .mini-header-row .mini-play-pause-controls .play-pause-btn i{font-size:7px}.calendar-mini-widget.compact-mode .calendar-mini-content .mini-time-controls{margin-top:.15rem;gap:.1rem}.calendar-mini-widget.compact-mode .calendar-mini-content .mini-time-controls button{padding:.1rem .25rem;font-size:.6rem;border-radius:2px;flex:0 0 auto}.calendar-mini-widget.compact-mode .calendar-mini-content .mini-time-controls button i{font-size:.55rem;margin-right:.1rem}.calendar-mini-widget.compact-mode .calendar-mini-content .mini-sidebar-buttons{gap:.18rem;margin-left:.35rem}.calendar-mini-widget.above-smalltime .calendar-mini-content{margin-bottom:4px}.calendar-mini-widget.below-smalltime .calendar-mini-content{margin-top:4px}.calendar-mini-widget.beside-smalltime .calendar-mini-content{margin-left:4px;margin-right:4px}.calendar-mini-widget.standalone-mode .calendar-mini-content{box-shadow:0 4px 12px rgba(0,0,0,.5);border:1px solid hsla(0,0%,100%,.15);padding:8px 12px;min-width:160px}.calendar-mini-widget.standalone-mode .calendar-mini-content .mini-date{font-size:1.1em}.calendar-mini-widget.standalone-mode .calendar-mini-content .mini-time-controls{margin-top:.5rem}.calendar-mini-widget.standalone-mode .calendar-mini-content .mini-time-controls button{padding:.2rem .4rem;font-size:.7rem}.calendar-mini-widget.docked-mode .calendar-mini-content{width:200px;border-radius:3px;background:linear-gradient(135deg, #3a3a3a 0%, #2a2a2a 100%);border:1px solid hsla(0,0%,100%,.12);box-shadow:0 2px 6px rgba(0,0,0,.3);padding:4px 8px;margin:0}.calendar-mini-widget.docked-mode .calendar-mini-content .mini-time-controls{margin-top:.25rem}.calendar-mini-widget.docked-mode .calendar-mini-content .mini-time-controls button{background:linear-gradient(135deg, #10b981, #14b8a6);border-color:#10b981;color:#fff}.calendar-mini-widget.docked-mode .calendar-mini-content .mini-time-controls button:hover{background:linear-gradient(135deg, #059669, #0d9488);border-color:#059669;color:#fff}.calendar-mini-widget.docked-mode .calendar-mini-content .mini-time-controls button.rewind{background:linear-gradient(135deg, #dc2626, #ef4444);border-color:#dc2626;color:#fff}.calendar-mini-widget.docked-mode .calendar-mini-content .mini-time-controls button.rewind:hover{background:linear-gradient(135deg, #b91c1c, #dc2626);border-color:#b91c1c;color:#fff}.calendar-mini-widget.compact .calendar-mini-content{padding:4px 8px;font-size:.75em;border-radius:4px}.system-dnd5e .calendar-mini-widget .calendar-mini-content,.system-pf2e .calendar-mini-widget .calendar-mini-content{background:var(--color-warm-grey);border-color:var(--color-border-dark)}.calendar-grid-widget .window-content{padding:8px;background:var(--color-bg)}.calendar-grid-widget .calendar-grid-content{display:flex;flex-direction:column;gap:8px;font-family:var(--font-primary)}.calendar-grid-widget .calendar-grid-content .error-state{display:flex;align-items:center;gap:8px;padding:12px;background:var(--color-bg-alt);border:1px solid var(--color-border-light-primary);border-radius:4px;color:var(--color-text-light-warning)}.calendar-grid-widget .calendar-grid-content .error-state i{color:var(--color-text-light-warning)}.calendar-grid-widget .calendar-grid-header{border-bottom:1px solid var(--color-border-light-primary);padding:8px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--color-bg-alt)}.calendar-grid-widget .calendar-grid-header .navigation-controls{display:flex;flex-direction:row;align-items:center;gap:12px;flex:1}.calendar-grid-widget .calendar-grid-header .month-navigation,.calendar-grid-widget .calendar-grid-header .year-navigation{display:flex;align-items:center;gap:6px}.calendar-grid-widget .calendar-grid-header .nav-button{background:var(--color-bg-btn);border:1px solid var(--color-border-dark);border-radius:3px;padding:4px 8px;cursor:pointer;color:var(--color-text-primary);transition:all .15s ease;display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;font-size:12px}.calendar-grid-widget .calendar-grid-header .nav-button:hover{background:var(--color-bg-btn-hover);border-color:var(--color-border-light-secondary);transform:translateY(-1px)}.calendar-grid-widget .calendar-grid-header .nav-button:active{transform:translateY(0)}.calendar-grid-widget .calendar-grid-header .nav-button i{font-size:.9em}.calendar-grid-widget .calendar-grid-header .month-info{display:flex;align-items:center;gap:4px;min-width:100px;justify-content:center}.calendar-grid-widget .calendar-grid-header .month-info .month-name{font-weight:600;font-size:13px;color:var(--color-text-light-primary)}.calendar-grid-widget .calendar-grid-header .month-info .month-description{color:var(--color-text-light-secondary);cursor:help;transition:color .15s ease}.calendar-grid-widget .calendar-grid-header .month-info .month-description:hover{color:var(--color-text-light-primary)}.calendar-grid-widget .calendar-grid-header .month-info .month-description i{font-size:10px}.calendar-grid-widget .calendar-grid-header .year-display{font-weight:600;font-size:12px;color:var(--color-text-light-primary);min-width:60px;text-align:center}.calendar-grid-widget .calendar-grid-header .year-display.clickable{background:var(--color-bg-btn);border:1px solid var(--color-border-dark);border-radius:3px;padding:4px 6px;cursor:pointer;transition:all .15s ease;height:28px;display:flex;align-items:center;justify-content:center}.calendar-grid-widget .calendar-grid-header .year-display.clickable:hover{background:var(--color-bg-btn-hover);border-color:var(--color-border-light-secondary);transform:translateY(-1px)}.calendar-grid-widget .calendar-grid-header .year-display.clickable:active{transform:translateY(0)}.calendar-grid-widget .calendar-grid-header .header-actions{display:flex;flex-direction:row;align-items:center;gap:6px;flex-shrink:0;padding-left:12px;margin-left:12px;border-left:2px solid rgba(0,0,0,.2)}body.theme-dark .calendar-grid-widget .calendar-grid-header .header-actions{border-left-color:hsla(0,0%,100%,.15)}.calendar-grid-widget .calendar-grid-header .header-actions .widget-switching-controls{display:flex;gap:4px}.calendar-grid-widget .calendar-grid-header .header-actions .widget-switching-controls .widget-switch-btn{background:var(--color-bg-btn);border:1px solid var(--color-border-dark);border-radius:3px;padding:4px 6px;cursor:pointer;font-size:.75em;color:var(--color-text-primary);transition:all .15s ease;min-width:28px;height:28px;display:flex;align-items:center;justify-content:center}.calendar-grid-widget .calendar-grid-header .header-actions .widget-switching-controls .widget-switch-btn:hover{background:var(--color-bg-btn-hover);border-color:var(--color-border-light-secondary);transform:translateY(-1px)}.calendar-grid-widget .calendar-grid-header .header-actions .widget-switching-controls .widget-switch-btn:active{transform:translateY(0)}.calendar-grid-widget .calendar-grid-header .header-actions .widget-switching-controls .widget-switch-btn i{font-size:10px}.calendar-grid-widget .calendar-grid-header .header-actions .grid-sidebar-buttons{display:flex;gap:4px;padding-left:6px;padding-right:6px;margin-left:6px;border-left:2px solid rgba(0,0,0,.2)}body.theme-dark .calendar-grid-widget .calendar-grid-header .header-actions .grid-sidebar-buttons{border-left-color:hsla(0,0%,100%,.15)}.calendar-grid-widget .calendar-grid-header .header-actions .grid-sidebar-buttons .grid-sidebar-button{background:var(--color-bg-btn);border:1px solid var(--color-border-dark);border-radius:3px;padding:4px 6px;cursor:pointer;color:var(--color-text-primary);transition:all .15s ease;min-width:28px;height:28px;display:flex;align-items:center;justify-content:center}.calendar-grid-widget .calendar-grid-header .header-actions .grid-sidebar-buttons .grid-sidebar-button:hover{background:var(--color-bg-btn-hover);border-color:var(--color-border-light-secondary);transform:translateY(-1px)}.calendar-grid-widget .calendar-grid-header .header-actions .grid-sidebar-buttons .grid-sidebar-button:active{transform:translateY(0)}.calendar-grid-widget .calendar-grid-header .header-actions .grid-sidebar-buttons .grid-sidebar-button i{font-size:.9em}.calendar-grid-widget .calendar-grid-header .header-actions .today-button{background:linear-gradient(135deg, #4f46e5, #6366f1);color:#fff;border:1px solid #4f46e5;padding:6px 10px;border-radius:4px;cursor:pointer;font-size:11px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:4px;transition:all .2s ease;height:28px;white-space:nowrap;margin-left:6px;padding-left:12px;position:relative}.calendar-grid-widget .calendar-grid-header .header-actions .today-button::before{content:"";position:absolute;left:-9px;top:4px;bottom:4px;width:2px;background:rgba(0,0,0,.2)}body.theme-dark .calendar-grid-widget .calendar-grid-header .header-actions .today-button::before{background:hsla(0,0%,100%,.15)}.calendar-grid-widget .calendar-grid-header .header-actions .today-button:hover{background:linear-gradient(135deg, #3730a3, #4f46e5);transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.1)}.calendar-grid-widget .calendar-grid-header .header-actions .today-button:active{transform:translateY(0);box-shadow:0 1px 2px rgba(0,0,0,.1)}.calendar-grid-widget .calendar-grid-header .header-actions .today-button i{font-size:.85em}.calendar-grid-widget .weekday-headers{display:grid;grid-template-columns:repeat(var(--weekday-count, 7), 1fr);gap:2px;margin-bottom:6px}.calendar-grid-widget .weekday-headers .weekday-header{background:var(--color-bg-alt);border:1px solid var(--color-border-light-primary);border-radius:3px;padding:6px 4px;text-align:center;font-weight:600;font-size:11px;color:var(--color-text-light-secondary);cursor:help;transition:all .15s ease}.calendar-grid-widget .weekday-headers .weekday-header:hover{background:var(--color-bg);color:var(--color-text-light-primary)}.calendar-grid-widget .weekday-headers .weekday-header .weekday-name{display:block}.calendar-grid-widget .calendar-grid{max-height:400px;overflow-y:auto;overflow-x:hidden;padding-right:4px;scroll-behavior:smooth}.calendar-grid-widget .calendar-grid::-webkit-scrollbar{width:6px}.calendar-grid-widget .calendar-grid::-webkit-scrollbar-track{background:var(--color-bg-alt);border-radius:3px}.calendar-grid-widget .calendar-grid::-webkit-scrollbar-thumb{background:var(--color-border-light-secondary);border-radius:3px}.calendar-grid-widget .calendar-grid::-webkit-scrollbar-thumb:hover{background:var(--color-border-light-primary)}.calendar-grid-widget .calendar-grid .calendar-week{display:grid;grid-template-columns:repeat(var(--weekday-count, 7), 1fr);gap:3px;margin-bottom:3px}.calendar-grid-widget .calendar-grid .calendar-week.intercalary-week{grid-template-columns:1fr;margin:8px 0}.calendar-grid-widget .calendar-grid .calendar-day{position:relative;border-radius:4px;border:1px solid var(--color-border-dark);min-height:40px;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--color-text-light-primary);font-weight:500;transition:all .2s ease}body.theme-light .calendar-grid-widget .calendar-grid .calendar-day{background:rgba(0,0,0,.08);box-shadow:inset 0 1px 2px rgba(0,0,0,.15),inset 0 -1px 1px hsla(0,0%,100%,.1)}body.theme-dark .calendar-grid-widget .calendar-grid .calendar-day{background:hsla(0,0%,100%,.05);box-shadow:inset 0 1px 2px rgba(0,0,0,.3),inset 0 -1px 1px hsla(0,0%,100%,.05)}.calendar-grid-widget .calendar-grid .calendar-day.empty{background:rgba(0,0,0,0);border:none;box-shadow:none}.calendar-grid-widget .calendar-grid .calendar-day.clickable{cursor:pointer}.calendar-grid-widget .calendar-grid .calendar-day.clickable:hover{transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.15);border-color:var(--color-border-light-secondary)}body.theme-light .calendar-grid-widget .calendar-grid .calendar-day.clickable:hover{background:rgba(0,0,0,.12)}body.theme-dark .calendar-grid-widget .calendar-grid .calendar-day.clickable:hover{background:hsla(0,0%,100%,.08)}.calendar-grid-widget .calendar-grid .calendar-day.clickable:active{transform:translateY(0);box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}.calendar-grid-widget .calendar-grid .calendar-day.today{background:linear-gradient(135deg, #4f46e5, #6366f1);color:#fff;font-weight:700;border-color:#4f46e5;box-shadow:0 0 8px rgba(79,70,229,.4);position:relative}.calendar-grid-widget .calendar-grid .calendar-day.today.clickable:hover{background:linear-gradient(135deg, #3730a3, #4f46e5);transform:translateY(-2px);box-shadow:0 4px 8px rgba(79,70,229,.5)}.calendar-grid-widget .calendar-grid .calendar-day.today::before{content:"TODAY";position:absolute;top:2px;left:2px;right:2px;font-size:8px;font-weight:600;text-align:center;color:hsla(0,0%,100%,.9);line-height:1;pointer-events:none}.calendar-grid-widget .calendar-grid .calendar-day.today .day-number{margin-top:8px;font-size:15px;font-weight:700}.calendar-grid-widget .calendar-grid .calendar-day.selected{border:2px solid var(--color-text-light-highlight);background:hsla(0,0%,100%,.12);color:var(--color-text-light-primary);font-weight:600;box-shadow:0 0 6px rgba(79,70,229,.3)}.calendar-grid-widget .calendar-grid .calendar-day .day-number{position:relative;z-index:2;font-weight:600}.calendar-grid-widget .calendar-grid .calendar-day.intercalary{background:linear-gradient(135deg, rgba(139, 69, 19, 0.3), rgba(101, 67, 33, 0.3));border:2px solid rgba(139,69,19,.6);border-radius:8px;min-height:48px;padding:8px 16px;flex-direction:column;text-align:center;gap:4px}.calendar-grid-widget .calendar-grid .calendar-day.intercalary .intercalary-name{font-weight:bold;font-size:14px;color:rgba(255,215,0,.9);text-shadow:1px 1px 2px rgba(0,0,0,.7);font-style:italic}.calendar-grid-widget .calendar-grid .calendar-day.intercalary .intercalary-description{font-size:11px;color:var(--color-text-secondary);line-height:1.2;font-style:italic}.calendar-grid-widget .calendar-grid .calendar-day.intercalary.clickable{cursor:pointer;transition:all .2s ease}.calendar-grid-widget .calendar-grid .calendar-day.intercalary.clickable:hover{background:linear-gradient(135deg, rgba(139, 69, 19, 0.4), rgba(101, 67, 33, 0.4));border-color:rgba(139,69,19,.8);transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,.3)}.calendar-grid-widget .calendar-grid .calendar-day.intercalary.clickable:hover .intercalary-name{color:gold}.calendar-grid-widget .calendar-grid .calendar-day.intercalary.clickable:active{transform:translateY(0);box-shadow:0 1px 3px rgba(0,0,0,.3)}.calendar-grid-widget .calendar-grid .calendar-day.intercalary.today{background:linear-gradient(135deg, rgba(255, 215, 0, 0.3), rgba(184, 134, 11, 0.3));border-color:rgba(255,215,0,.8);box-shadow:0 0 8px rgba(255,215,0,.4)}.calendar-grid-widget .calendar-grid .calendar-day.intercalary.today .intercalary-name{color:gold;text-shadow:1px 1px 3px rgba(0,0,0,.8)}.calendar-grid-widget .calendar-grid .calendar-day.intercalary.today::before{content:"CURRENT DATE";position:absolute;top:4px;left:4px;right:4px;font-size:7px;font-weight:600;text-align:center;color:rgba(255,215,0,.9);line-height:1;pointer-events:none;text-shadow:1px 1px 2px rgba(0,0,0,.7)}.calendar-grid-widget .calendar-grid .calendar-day.intercalary.today.clickable:hover{background:linear-gradient(135deg, rgba(255, 215, 0, 0.4), rgba(184, 134, 11, 0.4));border-color:gold}.calendar-grid-widget .calendar-grid .calendar-day.intercalary.selected{background:linear-gradient(135deg, rgba(255, 255, 255, 0.2), rgba(200, 200, 200, 0.2));border-color:hsla(0,0%,100%,.6)}.calendar-grid-widget .calendar-grid .calendar-day.intercalary.selected .intercalary-name{color:#fff;text-shadow:1px 1px 3px rgba(0,0,0,.8)}.calendar-grid-widget .calendar-grid .calendar-day.has-notes{border:1px solid rgba(var(--color-primary-rgb), 0.4)}.calendar-grid-widget .calendar-grid .calendar-day.has-notes .note-indicator{position:absolute;top:2px;right:2px;z-index:3;background:none;border:none;padding:0;cursor:pointer;transition:transform .15s ease,filter .15s ease}.calendar-grid-widget .calendar-grid .calendar-day.has-notes .note-indicator:hover{transform:scale(1.1);filter:brightness(1.2)}.calendar-grid-widget .calendar-grid .calendar-day.has-notes .note-indicator:active{transform:scale(0.95)}.calendar-grid-widget .calendar-grid .calendar-day.has-notes .note-indicator i{color:var(--color-primary);font-size:10px;filter:drop-shadow(0 0 2px rgba(0, 0, 0, 0.5))}.calendar-grid-widget .calendar-grid .calendar-day.has-notes .note-indicator .note-count{background:var(--color-primary);color:var(--color-text-light);border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:bold;box-shadow:0 1px 3px rgba(0,0,0,.3)}.calendar-grid-widget .calendar-grid .calendar-day.has-notes.category-general{border-color:rgba(74,144,226,.4)}.calendar-grid-widget .calendar-grid .calendar-day.has-notes.category-event{border-color:rgba(123,104,238,.4)}.calendar-grid-widget .calendar-grid .calendar-day.has-notes.category-reminder{border-color:rgba(255,165,0,.4)}.calendar-grid-widget .calendar-grid .calendar-day.has-notes.category-weather{border-color:rgba(135,206,235,.4)}.calendar-grid-widget .calendar-grid .calendar-day.has-notes.category-story{border-color:rgba(152,251,152,.4)}.calendar-grid-widget .calendar-grid .calendar-day.has-notes.category-combat{border-color:rgba(220,20,60,.4)}.calendar-grid-widget .calendar-grid .calendar-day.has-notes.category-travel{border-color:rgba(218,165,32,.4)}.calendar-grid-widget .calendar-grid .calendar-day.has-notes.category-npc{border-color:rgba(147,112,219,.4)}.calendar-grid-widget .calendar-grid .calendar-day.has-notes.category-mixed{border:2px solid rgba(0,0,0,0);background:linear-gradient(white, white) padding-box,linear-gradient(45deg, #4a90e2, #7b68ee, #ffa500, #87ceeb) border-box}.calendar-grid-widget .calendar-grid .calendar-day .note-indicator .note-count.category-general{background:#4a90e2}.calendar-grid-widget .calendar-grid .calendar-day .note-indicator .note-count.category-event{background:#7b68ee}.calendar-grid-widget .calendar-grid .calendar-day .note-indicator .note-count.category-reminder{background:orange}.calendar-grid-widget .calendar-grid .calendar-day .note-indicator .note-count.category-weather{background:skyblue}.calendar-grid-widget .calendar-grid .calendar-day .note-indicator .note-count.category-story{background:#98fb98}.calendar-grid-widget .calendar-grid .calendar-day .note-indicator .note-count.category-combat{background:crimson}.calendar-grid-widget .calendar-grid .calendar-day .note-indicator .note-count.category-travel{background:#daa520}.calendar-grid-widget .calendar-grid .calendar-day .note-indicator .note-count.category-npc{background:#9370db}.calendar-grid-widget .calendar-grid .calendar-day .note-indicator .note-count.category-mixed{background:linear-gradient(45deg, #4a90e2, #7b68ee, #ffa500, #87ceeb)}.calendar-grid-widget .calendar-grid .calendar-day .note-indicator i.category-general{color:#4a90e2}.calendar-grid-widget .calendar-grid .calendar-day .note-indicator i.category-event{color:#7b68ee}.calendar-grid-widget .calendar-grid .calendar-day .note-indicator i.category-reminder{color:orange}.calendar-grid-widget .calendar-grid .calendar-day .note-indicator i.category-weather{color:skyblue}.calendar-grid-widget .calendar-grid .calendar-day .note-indicator i.category-story{color:#98fb98}.calendar-grid-widget .calendar-grid .calendar-day .note-indicator i.category-combat{color:crimson}.calendar-grid-widget .calendar-grid .calendar-day .note-indicator i.category-travel{color:#daa520}.calendar-grid-widget .calendar-grid .calendar-day .note-indicator i.category-npc{color:#9370db}.calendar-grid-widget .calendar-grid .calendar-day .quick-note-btn{position:absolute;bottom:2px;left:2px;background:rgba(var(--color-primary-rgb), 0.8);color:var(--color-text-light);border:none;border-radius:50%;width:14px;height:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .2s ease,transform .2s ease;z-index:3;font-size:8px}.calendar-grid-widget .calendar-grid .calendar-day .quick-note-btn:hover{background:var(--color-primary);transform:scale(1.1)}.calendar-grid-widget .calendar-grid .calendar-day .quick-note-btn:active{transform:scale(0.95)}.calendar-grid-widget .calendar-grid .calendar-day:hover .quick-note-btn{opacity:1}.calendar-grid-widget .calendar-grid .calendar-day .event-indicator{position:absolute;bottom:2px;right:2px;z-index:3;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.25);border-radius:50%;width:1.1rem;height:1.1rem;box-shadow:0 1px 3px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.2),inset 0 -1px 0 rgba(0,0,0,.2);pointer-events:none}body.theme-light .calendar-grid-widget .calendar-grid .calendar-day .event-indicator{background:hsla(0,0%,100%,.4)}body.theme-dark .calendar-grid-widget .calendar-grid .calendar-day .event-indicator{background:hsla(0,0%,100%,.15)}.calendar-grid-widget .calendar-grid .calendar-day .event-indicator i{font-size:9px;filter:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.8))}.calendar-grid-widget .calendar-grid .calendar-day .event-indicator .event-count{position:absolute;top:-3px;right:-3px;font-size:6px;font-weight:bold;background:rgba(0,0,0,.8);color:#fff;border-radius:50%;width:10px;height:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px rgba(0,0,0,.5);border:1px solid hsla(0,0%,100%,.2)}.calendar-grid-widget .calendar-grid .calendar-day .moon-indicator{position:absolute;top:2px;left:2px;z-index:2;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.3);border-radius:50%;width:1rem;height:1rem;box-shadow:0 1px 3px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.1);pointer-events:none}.calendar-grid-widget .calendar-grid .calendar-day .moon-indicator i{font-size:.6rem;filter:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.8))}.calendar-grid-widget .calendar-grid .calendar-day .moon-indicator .multiple-moons-indicator{position:absolute;top:-2px;right:-2px;font-size:5px;font-weight:bold;color:hsla(0,0%,100%,.9);background:rgba(0,0,0,.6);border-radius:50%;width:8px;height:8px;display:flex;align-items:center;justify-content:center;border:1px solid hsla(0,0%,100%,.2)}.calendar-grid-widget .calendar-grid .calendar-day .moon-indicator .moon-phase-new{opacity:.4}.calendar-grid-widget .calendar-grid .calendar-day .moon-indicator .moon-phase-waxing-crescent,.calendar-grid-widget .calendar-grid .calendar-day .moon-indicator .moon-phase-waning-crescent{transform:rotate(90deg)}.calendar-grid-widget .calendar-grid .calendar-day .moon-indicator .moon-phase-first-quarter{transform:none}.calendar-grid-widget .calendar-grid .calendar-day .moon-indicator .moon-phase-last-quarter{transform:scaleX(-1)}.calendar-grid-widget .calendar-grid .calendar-day .moon-indicator .moon-phase-waxing-gibbous,.calendar-grid-widget .calendar-grid .calendar-day .moon-indicator .moon-phase-waning-gibbous{opacity:.9}.calendar-grid-widget .calendar-grid .calendar-day .moon-indicator .moon-phase-full{opacity:1}.calendar-grid-widget .calendar-grid-footer{margin-top:8px;padding:8px;border-top:1px solid var(--color-border-light-primary);background:var(--color-bg-alt);border-radius:4px;font-size:11px}.calendar-grid-widget .calendar-grid-footer .gm-instructions,.calendar-grid-widget .calendar-grid-footer .player-instructions{display:flex;align-items:center;gap:6px;margin-bottom:6px;color:var(--color-text-light-secondary)}.calendar-grid-widget .calendar-grid-footer .gm-instructions i,.calendar-grid-widget .calendar-grid-footer .player-instructions i{color:var(--color-text-light-highlight);font-size:.9em}.calendar-grid-widget .calendar-grid-footer .month-description-full{display:flex;align-items:flex-start;gap:6px;font-style:italic;line-height:1.3;color:var(--color-text-light-secondary)}.calendar-grid-widget .calendar-grid-footer .month-description-full i{margin-top:2px;color:var(--color-text-light-hint);font-size:.9em}body.theme-light .calendar-grid-widget .calendar-day.today::before{color:rgba(0,0,0,.9);text-shadow:0 0 2px hsla(0,0%,100%,.8)}body.theme-light .calendar-grid-widget .calendar-day.intercalary.today::before{color:#321908;text-shadow:0 0 3px #fff,0 0 6px hsla(0,0%,100%,.8);font-weight:700}@media(max-width: 500px){.calendar-grid-widget .calendar-grid-header .navigation-controls .month-info .month-name{font-size:13px}.calendar-grid-widget .calendar-grid-header .navigation-controls .year-display{font-size:12px}.calendar-grid-widget .weekday-headers .weekday-header{padding:4px 2px;font-size:10px}.calendar-grid-widget .calendar-grid .calendar-day{min-height:32px;font-size:12px}}.seasons-stars.calendar-selection-dialog .window-content{display:grid;grid-template-rows:auto 1fr auto auto;grid-template-columns:35% 65%;gap:0;height:100%;padding:0}.seasons-stars.calendar-selection-dialog .calendar-search-header{grid-column:1/-1;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-light-tertiary)}.seasons-stars.calendar-selection-dialog .calendar-search-header .search-input-container{flex:1;position:relative;display:flex;align-items:center}.seasons-stars.calendar-selection-dialog .calendar-search-header .search-input-container>i{position:absolute;left:.75rem;color:var(--color-text-light-6);pointer-events:none}.seasons-stars.calendar-selection-dialog .calendar-search-header .search-input-container .calendar-search-input{width:100%;padding:.5rem .75rem .5rem 2rem;border:1px solid var(--color-border-light-secondary);border-radius:4px;background:var(--color-bg-option);color:var(--color-text-light-primary);font-size:.9rem}.seasons-stars.calendar-selection-dialog .calendar-search-header .search-input-container .calendar-search-input:focus{outline:none;border-color:var(--color-warm-2);box-shadow:0 0 4px var(--color-warm-2)}.seasons-stars.calendar-selection-dialog .calendar-search-header .search-input-container .calendar-search-input::placeholder{color:var(--color-text-light-6)}.seasons-stars.calendar-selection-dialog .calendar-search-header .search-input-container .clear-filters-btn{position:absolute;right:.5rem;background:none;border:none;color:var(--color-text-light-6);cursor:pointer;padding:.25rem}.seasons-stars.calendar-selection-dialog .calendar-search-header .search-input-container .clear-filters-btn:hover{color:var(--color-warm-1)}.seasons-stars.calendar-selection-dialog .calendar-search-header .tag-filter-container .tag-filter{min-width:120px;padding:.375rem;border:1px solid var(--color-border-light-secondary);border-radius:4px;background:var(--color-bg-option);color:var(--color-text-light-primary);font-size:.85rem}.seasons-stars.calendar-selection-dialog .calendar-search-header .result-count{font-size:.85rem;color:var(--color-text-light-6);white-space:nowrap}.seasons-stars.calendar-selection-dialog .calendar-list-pane{grid-row:2;grid-column:1;border-right:1px solid var(--color-border-light-tertiary);overflow:hidden;display:flex;flex-direction:column}.seasons-stars.calendar-selection-dialog .calendar-list-pane .calendar-list-container{flex:1;overflow-y:auto;padding:.5rem}.seasons-stars.calendar-selection-dialog .calendar-list-pane .calendar-list-container:focus{outline:none}.seasons-stars.calendar-selection-dialog .calendar-list-pane .calendar-list-container::-webkit-scrollbar{width:6px}.seasons-stars.calendar-selection-dialog .calendar-list-pane .calendar-list-container::-webkit-scrollbar-track{background:var(--color-bg-alt)}.seasons-stars.calendar-selection-dialog .calendar-list-pane .calendar-list-container::-webkit-scrollbar-thumb{background:var(--color-border-light-secondary);border-radius:3px}.seasons-stars.calendar-selection-dialog .calendar-list-pane .calendar-list-container::-webkit-scrollbar-thumb:hover{background:var(--color-border-light-primary)}.seasons-stars.calendar-selection-dialog .calendar-list-pane .calendar-list-item{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;margin-bottom:2px;border-radius:4px;cursor:pointer;transition:all .15s ease;background:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0)}.seasons-stars.calendar-selection-dialog .calendar-list-pane .calendar-list-item:hover{background:var(--color-bg-option);border-color:var(--color-border-light-tertiary)}.seasons-stars.calendar-selection-dialog .calendar-list-pane .calendar-list-item.is-highlighted{background:var(--color-bg-option);border-color:var(--color-warm-2);box-shadow:0 0 4px rgba(255,200,100,.2)}.seasons-stars.calendar-selection-dialog .calendar-list-pane .calendar-list-item.is-current{background:linear-gradient(145deg, var(--color-warm-5), transparent)}.seasons-stars.calendar-selection-dialog .calendar-list-pane .calendar-list-item.is-current .current-badge{color:var(--color-warm-1);animation:current-star-pulse 2s infinite}.seasons-stars.calendar-selection-dialog .calendar-list-pane .calendar-list-item.is-selected .selected-badge{color:var(--color-warm-2)}.seasons-stars.calendar-selection-dialog .calendar-list-pane .calendar-list-item .source-indicator{font-size:.85rem;color:var(--color-text-light-6);width:1.25rem;text-align:center;flex-shrink:0}.seasons-stars.calendar-selection-dialog .calendar-list-pane .calendar-list-item .calendar-name{flex:1;font-size:.9rem;color:var(--color-text-light-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seasons-stars.calendar-selection-dialog .calendar-list-pane .calendar-list-item .current-badge,.seasons-stars.calendar-selection-dialog .calendar-list-pane .calendar-list-item .selected-badge{flex-shrink:0;font-size:.8rem}.seasons-stars.calendar-selection-dialog .calendar-list-pane .calendar-list-item .variant-toggle{display:flex;align-items:center;gap:.25rem;background:none;border:none;color:var(--color-text-light-6);cursor:pointer;padding:.25rem;border-radius:3px}.seasons-stars.calendar-selection-dialog .calendar-list-pane .calendar-list-item .variant-toggle:hover{background:var(--color-bg-secondary);color:var(--color-text-light-primary)}.seasons-stars.calendar-selection-dialog .calendar-list-pane .calendar-list-item .variant-toggle .variant-count{font-size:.75rem;background:var(--color-bg-secondary);padding:.125rem .375rem;border-radius:10px}.seasons-stars.calendar-selection-dialog .calendar-list-pane .calendar-list-item.variant-item{padding-left:2rem;font-size:.85rem}.seasons-stars.calendar-selection-dialog .calendar-list-pane .calendar-list-item.variant-item .variant-indicator{color:var(--color-cool-2);transform:rotate(45deg)}.seasons-stars.calendar-selection-dialog .calendar-list-pane .empty-list-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:var(--color-text-light-6)}.seasons-stars.calendar-selection-dialog .calendar-list-pane .empty-list-state i{font-size:2rem;margin-bottom:.75rem;opacity:.5}.seasons-stars.calendar-selection-dialog .calendar-list-pane .empty-list-state p{margin:0;font-size:.9rem;text-align:center}.seasons-stars.calendar-selection-dialog .calendar-detail-pane{grid-row:2;grid-column:2;overflow-y:auto;padding:.75rem;background:var(--color-bg-alt)}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .detail-content{display:flex;flex-direction:column;gap:.75rem;height:100%}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .detail-header .calendar-name{margin:0 0 .25rem 0;font-size:1.2rem;font-weight:600;color:var(--color-text-light-primary)}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .detail-header .calendar-setting{font-size:.85rem;color:var(--color-text-light-6);font-style:italic}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .detail-header .variant-info{display:inline-block;margin-top:.25rem;font-size:.75rem;color:var(--color-cool-2);background:var(--color-bg-secondary);padding:.125rem .5rem;border-radius:3px;text-transform:uppercase;letter-spacing:.5px}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .detail-description p{margin:0;font-size:.85rem;line-height:1.5;color:var(--color-text-light-primary)}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .detail-well{padding:.75rem;border-radius:6px;border:2px solid var(--color-border-dark);display:flex;flex-direction:column;gap:.75rem}body.theme-light .seasons-stars.calendar-selection-dialog .calendar-detail-pane .detail-well{background:rgba(0,0,0,.12);box-shadow:inset 0 2px 4px rgba(0,0,0,.25),inset 0 -1px 2px hsla(0,0%,100%,.1)}body.theme-dark .seasons-stars.calendar-selection-dialog .calendar-detail-pane .detail-well{background:hsla(0,0%,100%,.06);box-shadow:inset 0 2px 4px rgba(0,0,0,.4),inset 0 -1px 2px hsla(0,0%,100%,.08)}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .detail-well{background:rgba(0,0,0,.1);box-shadow:inset 0 2px 4px rgba(0,0,0,.2),inset 0 -1px 2px hsla(0,0%,100%,.05)}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .detail-sample{text-align:center}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .detail-sample label{display:block;font-size:.7rem;font-weight:600;color:var(--color-text-light-6);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .detail-sample .sample-date{font-size:1.1rem;font-weight:600;color:var(--color-text-light-primary);letter-spacing:.3px}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .month-browser{background:var(--color-bg-option);border:1px solid var(--color-border-light-tertiary);border-radius:4px;overflow:hidden}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .month-browser .month-browser-header{display:flex;align-items:center;justify-content:space-between;padding:.375rem .5rem;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-light-tertiary)}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .month-browser .month-browser-header .month-nav-btn{background:none;border:none;color:var(--color-text-light-6);cursor:pointer;padding:.25rem .5rem;border-radius:3px}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .month-browser .month-browser-header .month-nav-btn:hover{background:var(--color-bg-option);color:var(--color-text-light-primary)}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .month-browser .month-browser-header .month-title{font-size:.85rem;font-weight:600;color:var(--color-text-light-primary)}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .month-browser .month-grid{padding:.375rem}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .month-browser .month-grid .weekday-headers{display:grid;grid-template-columns:repeat(7, 1fr);gap:1px;margin-bottom:2px}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .month-browser .month-grid .weekday-headers .weekday-header{text-align:center;font-size:.65rem;font-weight:600;color:var(--color-text-light-6);text-transform:uppercase;padding:.125rem}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .month-browser .month-grid .day-cells{display:grid;grid-template-columns:repeat(7, 1fr);gap:1px}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .month-browser .month-grid .day-cells .day-cell{text-align:center;font-size:.75rem;color:var(--color-text-light-primary);padding:.25rem;border-radius:2px;background:var(--color-bg-secondary)}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .month-browser .month-grid .day-cells .day-cell.empty{background:rgba(0,0,0,0)}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .detail-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .detail-tags{flex:1}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .detail-tags label{display:block;font-size:.7rem;font-weight:600;color:var(--color-text-light-6);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .detail-tags .tag-chips{display:flex;flex-wrap:wrap;gap:.25rem}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .detail-tags .tag-chips .tag-chip{font-size:.7rem;background:var(--color-bg-secondary);color:var(--color-text-light-primary);padding:.125rem .375rem;border-radius:10px;border:1px solid var(--color-border-light-tertiary)}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .detail-source{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--color-text-light-6);padding:.25rem .5rem;background:var(--color-bg-secondary);border-radius:4px;border:1px solid var(--color-border-light-tertiary)}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .detail-source i{font-size:.8rem}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .detail-actions{margin-top:auto}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .detail-actions .select-this-btn{width:100%;padding:.5rem 1rem;font-size:.85rem;background:var(--color-bg-option);border:1px solid var(--color-border-light-secondary);border-radius:4px;color:var(--color-text-light-primary);cursor:pointer;transition:all .2s ease}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .detail-actions .select-this-btn:hover:not(:disabled){background:var(--color-warm-4);border-color:var(--color-warm-2)}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .detail-actions .select-this-btn.selected{background:var(--color-warm-2);border-color:var(--color-warm-1);color:#fff}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .detail-actions .select-this-btn:disabled{opacity:.6;cursor:not-allowed}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .detail-actions .select-this-btn i{margin-right:.375rem}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .empty-detail-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--color-text-light-6)}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .empty-detail-state i{font-size:2.5rem;margin-bottom:.75rem;opacity:.3}.seasons-stars.calendar-selection-dialog .calendar-detail-pane .empty-detail-state p{margin:0;font-size:.9rem}.seasons-stars.calendar-selection-dialog .custom-file-section{grid-column:1/-1;padding:.625rem 1rem;background:var(--color-bg-secondary);border-top:2px solid var(--color-border-light-secondary)}.seasons-stars.calendar-selection-dialog .custom-file-section .custom-file-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.seasons-stars.calendar-selection-dialog .custom-file-section .custom-file-label{display:flex;align-items:center;gap:.375rem;font-size:.85rem;font-weight:600;color:var(--color-text-light-primary);flex-shrink:0}.seasons-stars.calendar-selection-dialog .custom-file-section .custom-file-label>i{color:var(--color-text-light-6)}.seasons-stars.calendar-selection-dialog .custom-file-section .no-file-selected{flex:1;font-size:.85rem;color:var(--color-text-light-6);font-style:italic}.seasons-stars.calendar-selection-dialog .custom-file-section .file-path-display{flex:1;display:flex;align-items:center;gap:.5rem;min-width:0;padding:.25rem .5rem;background:var(--color-bg-option);border:1px solid var(--color-border-light-tertiary);border-radius:4px}.seasons-stars.calendar-selection-dialog .custom-file-section .file-path-display.is-active{border-color:var(--color-warm-2);background:linear-gradient(90deg, var(--color-warm-5), var(--color-bg-option))}.seasons-stars.calendar-selection-dialog .custom-file-section .file-path-display.is-selected{border-color:var(--color-warm-2)}.seasons-stars.calendar-selection-dialog .custom-file-section .file-path-display>i{flex-shrink:0;font-size:.8rem;color:var(--color-text-light-6)}.seasons-stars.calendar-selection-dialog .custom-file-section .file-path-display .path-text{flex:1;font-size:.8rem;font-family:var(--font-mono);color:var(--color-text-light-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seasons-stars.calendar-selection-dialog .custom-file-section .file-path-display .status-badge{display:flex;align-items:center;gap:.25rem;flex-shrink:0;font-size:.7rem;font-weight:600;padding:.125rem .375rem;border-radius:3px}.seasons-stars.calendar-selection-dialog .custom-file-section .file-path-display .status-badge.active{color:var(--color-warm-1);background:var(--color-warm-5)}.seasons-stars.calendar-selection-dialog .custom-file-section .file-path-display .status-badge.selected{color:#fff;background:var(--color-warm-2)}.seasons-stars.calendar-selection-dialog .custom-file-section .file-path-display .status-badge i{font-size:.65rem}.seasons-stars.calendar-selection-dialog .custom-file-section .file-path-display .clear-file-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.25rem;height:1.25rem;padding:0;margin-left:.25rem;background:none;border:none;border-radius:3px;color:var(--color-text-light-6);cursor:pointer;transition:all .15s ease}.seasons-stars.calendar-selection-dialog .custom-file-section .file-path-display .clear-file-btn:hover{background:var(--color-bg-secondary);color:var(--color-warm-1)}.seasons-stars.calendar-selection-dialog .custom-file-section .file-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.seasons-stars.calendar-selection-dialog .custom-file-section .file-actions .browse-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;font-size:.8rem;background:var(--color-bg-option);border:1px solid var(--color-border-light-primary);border-radius:4px;color:var(--color-text-light-primary);cursor:pointer;transition:all .15s ease}.seasons-stars.calendar-selection-dialog .custom-file-section .file-actions .browse-btn:hover{background:var(--color-bg-primary);border-color:var(--color-warm-2)}.seasons-stars.calendar-selection-dialog .custom-file-section .file-actions .browse-btn i{font-size:.75rem}.seasons-stars.calendar-selection-dialog .custom-file-section .file-actions .use-file-btn{padding:.375rem .625rem;font-size:.8rem;background:var(--color-bg-option);border:1px solid var(--color-border-light-primary);border-radius:4px;color:var(--color-text-light-primary);cursor:pointer;transition:all .15s ease}.seasons-stars.calendar-selection-dialog .custom-file-section .file-actions .use-file-btn:hover{background:var(--color-bg-primary);border-color:var(--color-warm-2)}.seasons-stars.calendar-selection-dialog .custom-file-section .file-actions .use-file-btn.selected{background:var(--color-warm-2);border-color:var(--color-warm-1);color:#fff;font-weight:500}.seasons-stars.calendar-selection-dialog .custom-file-section .file-actions .use-file-btn.selected i{margin-right:.25rem}.seasons-stars.calendar-selection-dialog .dialog-footer{grid-column:1/-1;display:flex;justify-content:flex-end;gap:.75rem;padding:.75rem 1rem;background:var(--color-bg-option);border-top:2px solid var(--color-border-light-secondary)}.seasons-stars.calendar-selection-dialog .dialog-footer button{padding:.5rem 1rem;font-size:.9rem;border-radius:4px;cursor:pointer;transition:all .15s ease}.seasons-stars.calendar-selection-dialog .dialog-footer button i{margin-right:.375rem}.seasons-stars.calendar-selection-dialog .dialog-footer .cancel-btn{background:var(--color-bg-secondary);border:1px solid var(--color-border-light-secondary);color:var(--color-text-light-primary)}.seasons-stars.calendar-selection-dialog .dialog-footer .cancel-btn:hover{background:var(--color-bg-primary)}.seasons-stars.calendar-selection-dialog .dialog-footer .select-btn{background:var(--color-warm-2);border:1px solid var(--color-warm-2);color:#fff;font-weight:600}.seasons-stars.calendar-selection-dialog .dialog-footer .select-btn:hover:not(:disabled){background:var(--color-warm-1);border-color:var(--color-warm-1)}.seasons-stars.calendar-selection-dialog .dialog-footer .select-btn:disabled{opacity:.5;cursor:not-allowed}@keyframes current-star-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}body.theme-light .seasons-stars.calendar-selection-dialog .calendar-list-item.is-highlighted{background:var(--color-bg-secondary)}body.theme-light .seasons-stars.calendar-selection-dialog .tag-chip{background:var(--color-cool-5)}.seasons-stars-deprecation-warning{padding:0;background:linear-gradient(145deg, var(--color-bg-option), var(--color-bg-alt));border-radius:8px;height:100%;display:flex;flex-direction:column;overflow:hidden}.seasons-stars-deprecation-warning .warning-header{text-align:center;margin:.75rem .75rem 0 .75rem;padding:.75rem;background:linear-gradient(135deg, var(--color-warm-4), var(--color-warm-3));border-radius:6px;border:1px solid var(--color-warm-2);box-shadow:0 2px 8px rgba(0,0,0,.1);flex-shrink:0}.seasons-stars-deprecation-warning .warning-header h2{color:var(--color-text-light-primary);margin:0;font-size:1.4rem;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.2)}.seasons-stars-deprecation-warning .warning-header h2 i{color:var(--color-warm-1);margin-right:.75rem;font-size:1.3rem;filter:drop-shadow(0 0 4px var(--color-warm-1));animation:info-pulse 2s ease-in-out infinite}.seasons-stars-deprecation-warning .content{line-height:1.4;flex:1;overflow-y:auto;padding:0 .75rem;margin:0}.seasons-stars-deprecation-warning .content::-webkit-scrollbar{width:8px}.seasons-stars-deprecation-warning .content::-webkit-scrollbar-track{background:var(--color-bg-alt);border-radius:4px}.seasons-stars-deprecation-warning .content::-webkit-scrollbar-thumb{background:var(--color-border-light-secondary);border-radius:4px}.seasons-stars-deprecation-warning .content::-webkit-scrollbar-thumb:hover{background:var(--color-border-light-primary)}.seasons-stars-deprecation-warning .content p{margin-bottom:.5rem;color:var(--color-text-light-primary)}.seasons-stars-deprecation-warning .content p strong{color:var(--color-warm-1);font-weight:700}.seasons-stars-deprecation-warning .content h3{color:var(--color-text-light-heading);font-size:1rem;font-weight:600;margin:1rem 0 .5rem 0;padding-bottom:.25rem;border-bottom:2px solid var(--color-cool-3)}.seasons-stars-deprecation-warning .content h3::before{content:"📦";margin-right:.5rem}.seasons-stars-deprecation-warning .content ul{margin:.5rem 0;padding-left:0;list-style:none}.seasons-stars-deprecation-warning .content ul li{margin-bottom:.5rem;padding:.5rem;background:linear-gradient(135deg, var(--color-bg-secondary), var(--color-bg-alt));border-radius:5px;border-left:4px solid var(--color-cool-2);box-shadow:0 1px 3px rgba(0,0,0,.1)}.seasons-stars-deprecation-warning .content ul li::before{content:"▶";color:var(--color-cool-2);margin-right:.5rem;font-size:.8rem}.seasons-stars-deprecation-warning .content ul li strong{color:var(--color-cool-1);font-weight:700}.seasons-stars-deprecation-warning .sheet-footer{justify-content:space-between;align-items:center;gap:1rem;padding:.75rem;border-top:1px solid var(--color-border-light-secondary);flex-shrink:0;background:var(--color-bg-option);border-radius:0 0 8px 8px}.seasons-stars-deprecation-warning .sheet-footer .checkbox{display:flex;align-items:center;gap:.75rem;margin:0;color:var(--color-text-light-6);font-size:.9rem;cursor:pointer;transition:color .2s ease}.seasons-stars-deprecation-warning .sheet-footer .checkbox:hover{color:var(--color-text-light-primary)}.seasons-stars-deprecation-warning .sheet-footer .checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.seasons-stars-deprecation-warning .sheet-footer .dismiss-button{background:linear-gradient(135deg, var(--color-warm-1), var(--color-warm-2));color:#fff;border:1px solid var(--color-warm-1);padding:.5rem 1rem;border-radius:6px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px rgba(0,0,0,.2);text-shadow:0 1px 2px rgba(0,0,0,.3)}.seasons-stars-deprecation-warning .sheet-footer .dismiss-button i{margin-right:.5rem;font-size:.9rem}.seasons-stars-deprecation-warning .sheet-footer .dismiss-button:hover{background:linear-gradient(135deg, var(--color-warm-2), var(--color-warm-1));transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.25)}.seasons-stars-deprecation-warning .sheet-footer .dismiss-button:active{transform:translateY(0);box-shadow:0 2px 4px rgba(0,0,0,.2)}@keyframes info-pulse{0%,100%{filter:drop-shadow(0 0 4px var(--color-warm-1));transform:scale(1)}50%{filter:drop-shadow(0 0 8px var(--color-warm-1)) drop-shadow(0 0 16px var(--color-warm-2));transform:scale(1.05)}}.seasons-stars-note-form{max-width:600px;font-family:var(--font-primary);overflow:visible;padding:4px}.seasons-stars-note-form .date-display,.seasons-stars-note-form .note-dialog-date{text-align:center;margin-bottom:20px;padding:12px;background:rgba(0,0,0,.15);border:1px solid rgba(0,0,0,.2);border-radius:6px;font-weight:600;font-size:14px;color:var(--color-text-dark-primary);letter-spacing:.3px}.seasons-stars-note-form .form-group{margin-bottom:18px}.seasons-stars-note-form .form-row{display:flex;gap:16px;align-items:flex-start}.seasons-stars-note-form .form-group.half-width{flex:1}.seasons-stars-note-form label{display:block;margin-bottom:6px;font-weight:600;color:var(--color-text-dark-primary);font-size:13px;text-transform:none}.seasons-stars-note-form input[type=text],.seasons-stars-note-form textarea,.seasons-stars-note-form select{width:100%}.seasons-stars-note-form textarea{resize:vertical;min-height:100px;font-family:inherit}.seasons-stars-note-form .tag-suggestions{margin-top:8px;max-height:100px;overflow-y:auto;border:1px solid rgba(0,0,0,.15);border-radius:6px;padding:12px;background:rgba(0,0,0,.08)}.seasons-stars-note-form .tag-suggestions small{display:block;margin-bottom:8px;color:var(--color-text-dark-secondary);font-weight:500;font-size:12px}.seasons-stars-note-form .tag-suggestion{display:inline-block;background:var(--color-bg-btn);border:1px solid var(--color-border-dark);border-radius:14px;padding:5px 12px;margin:3px 6px 3px 0;cursor:pointer;font-size:12px;font-weight:500;transition:all .15s ease;user-select:none;line-height:1.4}.seasons-stars-note-form .tag-suggestion:hover{background:var(--color-bg-btn-hover);border-color:var(--color-border-highlight);transform:translateY(-1px);box-shadow:0 3px 6px rgba(0,0,0,.15)}.seasons-stars-note-form .tag-suggestion:active{transform:translateY(0);box-shadow:0 1px 3px rgba(0,0,0,.2)}.seasons-stars-note-form .tag-autocomplete{position:relative}.seasons-stars-note-form .tag-autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--color-bg-option);border:1px solid var(--color-border-dark);border-top:none;border-radius:0 0 4px 4px;max-height:120px;overflow-y:auto;z-index:1000;display:none}.seasons-stars-note-form .tag-autocomplete-item{padding:6px 10px;cursor:pointer;font-size:12px;border-bottom:1px solid var(--color-border-light);transition:background-color .15s ease}.seasons-stars-note-form .tag-autocomplete-item:hover,.seasons-stars-note-form .tag-autocomplete-item.selected{background:var(--color-bg-btn-hover)}.seasons-stars-note-form .tag-autocomplete-item:last-child{border-bottom:none}.seasons-stars-note-form .tag-autocomplete-item .tag-match{font-weight:600;color:var(--color-text-highlight)}.seasons-stars-note-form .category-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url('data:image/svg+xml;charset=US-ASCII,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 4 5"><path fill="%23666" d="M2 0L0 2h4zm0 5L0 3h4z"/></svg>');background-repeat:no-repeat;background-position:right 8px center;background-size:12px;padding-right:30px;vertical-align:top}.seasons-stars-note-form input[type=checkbox]{margin-right:8px;width:16px;height:16px;vertical-align:middle}.seasons-stars-note-form .form-actions{display:flex;gap:8px;margin-top:24px;padding-top:16px;border-top:1px solid rgba(0,0,0,.15);justify-content:flex-end}.seasons-stars-note-form .form-actions button i{margin-right:6px}.seasons-stars-note-form string-tags{display:block;margin-bottom:8px}.notes-selection{max-width:500px}.notes-selection .note-item{border:1px solid var(--color-border-light);border-radius:4px;padding:10px;margin-bottom:8px;cursor:pointer;transition:background-color .2s ease;background:hsla(0,0%,100%,.02)}.notes-selection .note-item:hover{background:hsla(0,0%,100%,.08);border-color:var(--color-border-highlight)}.notes-selection .note-item:last-child{margin-bottom:0}.notes-selection .note-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.notes-selection .note-category{font-size:11px;background:var(--color-bg-btn);padding:2px 6px;border-radius:3px;color:var(--color-text-light-heading)}.notes-selection .note-preview{font-size:12px;color:var(--color-text-dark-secondary);font-style:italic}.seasons-stars{font-family:var(--font-primary)}.seasons-stars .ss-button{padding:6px 12px;border:1px solid var(--color-border-light-secondary);background:var(--color-bg-option);color:var(--color-text-light-primary);border-radius:4px;cursor:pointer;transition:all .2s}.seasons-stars .ss-button:hover{background:var(--color-bg-alt);border-color:var(--color-border-light-primary)}.seasons-stars .ss-button:active{transform:translateY(1px)}.seasons-stars .ss-button.primary{background:var(--color-text-light-highlight);color:var(--color-text-dark-primary);border-color:var(--color-text-light-highlight)}.seasons-stars .ss-button.primary:hover{background:var(--color-text-light-heading);border-color:var(--color-text-light-heading)}.seasons-stars .ss-button:disabled{opacity:.5;cursor:not-allowed}.seasons-stars .ss-button:disabled:hover{background:var(--color-bg-option);transform:none}.seasons-stars .ss-form-group{margin-bottom:12px}.seasons-stars .ss-form-group label{display:block;margin-bottom:4px;font-weight:600;color:var(--color-text-light-heading)}.seasons-stars .ss-form-group .hint{font-size:.85em;color:var(--color-text-light-secondary);margin-top:2px}.seasons-stars .ss-input{width:100%;padding:6px 8px;border:1px solid var(--color-border-light-secondary);background:var(--color-bg);color:var(--color-text-light-primary);border-radius:3px}.seasons-stars .ss-input:focus{outline:none;border-color:var(--color-text-light-highlight);box-shadow:0 0 0 2px rgba(var(--color-text-light-highlight-rgb), 0.2)}.seasons-stars .ss-select{width:100%;padding:6px 8px;border:1px solid var(--color-border-light-secondary);background:var(--color-bg);color:var(--color-text-light-primary);border-radius:3px;cursor:pointer}.seasons-stars .ss-select:focus{outline:none;border-color:var(--color-text-light-highlight);box-shadow:0 0 0 2px rgba(var(--color-text-light-highlight-rgb), 0.2)}.seasons-stars .ss-grid{display:grid;gap:12px}.seasons-stars .ss-grid.two-column{grid-template-columns:1fr 1fr}.seasons-stars .ss-grid.three-column{grid-template-columns:1fr 1fr 1fr}.seasons-stars .ss-flex{display:flex;gap:8px}.seasons-stars .ss-flex.column{flex-direction:column}.seasons-stars .ss-flex.center{align-items:center;justify-content:center}.seasons-stars .ss-flex.space-between{justify-content:space-between}.seasons-stars .ss-card{background:var(--color-bg-alt);border:1px solid var(--color-border-light-primary);border-radius:6px;padding:12px}.seasons-stars .ss-card .ss-card-header{border-bottom:1px solid var(--color-border-light-tertiary);padding-bottom:8px;margin-bottom:8px}.seasons-stars .ss-card .ss-card-header .ss-card-title{font-weight:600;color:var(--color-text-light-heading);margin:0}.seasons-stars .ss-card .ss-card-content{color:var(--color-text-light-primary)}.seasons-stars .ss-status{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:3px;font-size:.8em;font-weight:600}.seasons-stars .ss-status.success{background:rgba(76,175,80,.1);color:#4caf50}.seasons-stars .ss-status.warning{background:rgba(255,193,7,.1);color:#ffc107}.seasons-stars .ss-status.error{background:rgba(244,67,54,.1);color:#f44336}.seasons-stars .ss-status.info{background:rgba(33,150,243,.1);color:#2196f3}.seasons-stars .ss-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px}.seasons-stars .ss-icon.large{width:24px;height:24px}.seasons-stars .ss-icon.small{width:16px;height:16px}.control-tools .seasons-stars-control i{font-size:16px}