.event-calendar { display: flex; flex-wrap: wrap; } .event-calendar .group { text-align: center; width: 36px; height: 26px; margin: 0 4px 4px 0; border-top: 10px solid rgba(255, 140, 140, 1); border-right: 1px solid rgba(20, 20, 20, 0.7); border-bottom: 1px solid rgba(20, 20, 20, 0.7); border-left: 1px solid rgba(20, 20, 20, 0.2); border-radius: 4px; color: black; background-color: aliceblue; } .event-calendar .group.month-0 { border-top: 10px solid rgb(176, 224, 230); /* January - icy blue */ } .event-calendar .group.month-1 { border-top: 10px solid rgb(173, 216, 230); /* February - pale winter blue */ } .event-calendar .group.month-2 { border-top: 10px solid rgb(144, 238, 144); /* March - early spring green */ } .event-calendar .group.month-3 { border-top: 10px solid rgb(60, 179, 113); /* April - fresh growth green */ } .event-calendar .group.month-4 { border-top: 10px solid rgb(255, 182, 193); /* May - soft blossom pink */ } .event-calendar .group.month-5 { border-top: 10px solid rgb(255, 160, 122); /* June - warm peach */ } .event-calendar .group.month-6 { border-top: 10px solid rgb(255, 0, 183); /* July - deep pink */ } .event-calendar .group.month-7 { border-top: 10px solid rgb(255, 38, 0); /* August - hot red-orange */ } .event-calendar .group.month-8 { border-top: 10px solid rgb(255, 215, 0); /* September - golden transition */ } .event-calendar .group.month-9 { border-top: 10px solid rgb(210, 105, 30); /* October - autumn brown/orange */ } .event-calendar .group.month-10 { border-top: 10px solid rgb(128, 0, 128); /* November - deep purple */ } .event-calendar .group.month-11 { border-top: 10px solid rgb(220, 20, 60); /* December - festive red */ } .event-calendar .group.highlight { border-top: 10px solid rgba(255, 223, 65, 1); } .event-calendar .group .icon { font-size: 15px; text-align: center; white-space: nowrap; } .event-calendar .group .icon.primary { font-weight: bold; } .event-calendar .group .hover-card { display: none; width: 30vw; text-align: center; background-color: #fcff7f; border-radius: 4px; font-size: 2vw; } .event-calendar .group .hover-card .event { border-top: 1px solid black; padding: 0 2vw 0 2vw; } .event-calendar .group .hover-card .month-year { background-color: black; color: aliceblue; margin: 0; padding: 5px 0 5px; font-size: 2.5vw; } .event-calendar .group .hover-card .event .date { } .event-calendar .group .hover-card .event .title { font-size: 2.7vw; font-weight: bold; margin: 0; } .event-calendar .group .hover-card .event .text { } .event-calendar .group:hover { cursor: pointer; border-top: 10px solid rgba(255, 140, 140, 1); border-right: 1px solid rgba(20, 20, 20, 1); border-bottom: 1px solid rgba(20, 20, 20, 1); border-left: 1px solid rgba(20, 20, 20, 1); } .event-calendar .group:hover .hover-card { display: block; position: fixed; top: 5vh; right: 5vw; } /* --- GTD Calendar (fork) --- */ .gtd-calendar-placeholder .gtd-calendar-loading { font-style: italic; opacity: 0.7; } .gtd-calendar-error { border: 1px solid #c0392b; border-radius: 4px; padding: 0.5em 0.75em; color: #c0392b; } .gtd-calendar-debug { border: 1px dashed currentColor; border-radius: 6px; padding: 0.75em 1em; } .gtd-calendar-debug-meta { font-size: 0.85em; opacity: 0.75; } .gtd-calendar-debug-events li { margin: 0.25em 0; } .gtd-calendar-clickable { cursor: pointer; text-decoration: underline; } .gtd-calendar-warning { font-size: 0.85em; color: #b9770e; margin: 0.15em 0; } .gtd-calendar-debug-events li { border-radius: 4px; padding: 0.1em 0.4em; } /* Phase 3: calendar grid + unscheduled section */ .gtd-calendar-title { margin: 0.2em 0 0.5em 0; } .gtd-calendar-empty { font-style: italic; opacity: 0.7; } .gtd-calendar .gtd-calendar-clickable { cursor: pointer; text-decoration: none; } .event-calendar .group .hover-card .event.gtd-calendar-clickable:hover { background-color: rgba(0, 0, 0, 0.08); } .gtd-unscheduled { margin-top: 0.75em; border-top: 1px dashed currentColor; padding-top: 0.5em; } .gtd-unscheduled-title { margin: 0 0 0.3em 0; font-size: 0.95em; opacity: 0.85; } .gtd-unscheduled-list { list-style: none; margin: 0; padding: 0; } .gtd-unscheduled-list li { display: inline-block; border: 1px solid rgba(20, 20, 20, 0.4); border-radius: 4px; padding: 0.1em 0.5em; margin: 0 0.3em 0.3em 0; background-color: aliceblue; color: black; } .gtd-unscheduled-list li:hover { border-color: rgba(20, 20, 20, 1); } .gtd-calendar-debug-meta { font-size: 0.8em; opacity: 0.6; margin: 0.5em 0 0 0; } /* view: month-grid */ .gtd-month-grid-label { margin: 0 0 0.3em 0; } .gtd-month-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; } .gtd-month-grid .gtd-grid-head { text-align: center; font-size: 0.8em; font-weight: bold; opacity: 0.8; padding: 0.2em 0; } .gtd-month-grid .gtd-grid-cell { min-height: 4.5em; border: 1px solid rgba(128, 128, 128, 0.35); border-radius: 4px; padding: 0.15em 0.25em; overflow: hidden; } .gtd-month-grid .gtd-grid-cell.outside { opacity: 0.45; } .gtd-month-grid .gtd-grid-cell.today { border: 2px solid rgba(255, 200, 0, 0.95); } .gtd-month-grid .gtd-grid-day { display: block; text-align: right; font-size: 0.75em; opacity: 0.7; } .gtd-month-grid .gtd-grid-chip { font-size: 0.72em; border-radius: 3px; padding: 0 0.3em; margin-bottom: 2px; color: black; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }