.reminder-modal{width:min(620px,calc(100vw - 28px));max-height:88dvh}.reminder-body{padding:18px 22px;overflow:auto}.reminder-note,.reminder-empty{color:var(--muted);font-size:13px;line-height:1.55}.reminder-form{display:grid;gap:14px}.reminder-form label{display:grid;gap:7px;font-size:14px;font-weight:550}.reminder-form input,.reminder-form select{width:100%;box-sizing:border-box;min-height:42px;border:1px solid var(--line);border-radius:7px;background:var(--panel,var(--bg));color:var(--text);padding:9px 11px;font:inherit;color-scheme:inherit}.reminder-modes{display:flex;gap:4px;padding:4px;background:var(--surface-one,var(--bg));border-radius:9px}.reminder-modes>button{flex:1;border:1px solid transparent;background:transparent;transition:background .16s}.reminder-modes>button[aria-pressed=true]{background:var(--surface-two,var(--panel));border-color:var(--line)}.reminder-interval{display:grid;grid-template-columns:1fr 1fr;gap:12px}.reminder-form .reminder-repeat{display:flex;align-items:center;gap:10px}.reminder-form .reminder-repeat input[type=checkbox]{flex:none;width:36px;min-width:36px;max-width:36px;height:21px;min-height:21px;margin:0;padding:0;border-radius:999px;display:inline-block;background:var(--field)}.reminder-form .reminder-repeat input[type=checkbox]:checked{background:color-mix(in srgb,var(--green) 24%,var(--panel));border-color:color-mix(in srgb,var(--green) 60%,var(--line))}.reminder-list{margin-top:22px;display:grid;gap:10px}.reminder-row{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:9px}.reminder-row>div{flex:1;min-width:0;display:grid;gap:4px;overflow-wrap:anywhere}.reminder-row span,.reminder-row small{font-size:12px;color:var(--muted)}.reminder-row strong{font-size:14px}.reminder-fired{border-color:#c69440;background:#c6944010}.reminder-error{margin:0;color:#c34e55}.reminder-body [hidden]{display:none!important}
.task-reminder-badge{position:absolute!important;right:24px;top:7px;width:25px!important;height:25px!important;min-width:0!important;min-height:0!important;padding:4px!important;border:0!important;border-radius:50%!important;background:color-mix(in srgb,#c38b32 14%,var(--panel,#fff))!important;color:#a36c15!important;z-index:3;cursor:pointer}.task-reminder-badge svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.task-reminder-badge:hover{background:#c38b3235!important}.task-card.has-task-reminder .task-open>small:first-child{padding-right:46px}.task-card:has(>.card-trash) .task-reminder-badge{right:60px}.task-card.has-task-reminder:has(>.card-trash) .task-open>small:first-child{padding-right:82px}body:not(.light):not([data-theme=light]) .task-reminder-badge{color:#edc174!important}
@media(max-width:600px){.reminder-body{padding:12px}.reminder-row{flex-wrap:wrap}.reminder-row>div{flex-basis:100%}}
.reminder-modal{--form-input:var(--panel);--form-bg:var(--bg);--form-ink:var(--text);--form-muted:var(--muted);--form-line:var(--line);--form-hover:var(--hover)}.reminder-form .form-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:42px;padding:9px 11px;text-align:left;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--text);font:inherit}.reminder-modes>button:before,.reminder-modes>button:after{content:none!important;display:none!important}
.reminder-alarm-fields{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:14px;align-items:end}.reminder-field-label{display:block;margin-bottom:7px;font-size:14px;font-weight:550}.reminder-form .reminder-date{width:100%;min-height:42px;justify-content:flex-start;border:1px solid var(--line);border-radius:7px;background:var(--panel);padding:9px 11px;color:var(--text);font:inherit}.reminder-date span{white-space:normal;text-align:left}.reminder-date svg{flex:0 0 18px}.reminder-form [data-clock-time]{font-size:19px;font-weight:600;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:1px}.reminder-clock-wrap{--clock-accent:var(--blue,#4d86b8);display:grid;justify-items:center;gap:8px;margin:10px 0 0}.reminder-clock{display:block;width:min(100%,294px);overflow:visible;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;border-radius:50%;outline:none}.reminder-clock:active{cursor:grabbing}.reminder-clock:focus-visible{outline:2px solid var(--clock-accent);outline-offset:4px}.clock-face{fill:var(--panel);stroke:var(--line);stroke-width:1.2}.clock-track{fill:none;stroke:var(--line);stroke-width:1;opacity:.4}.clock-tick{stroke:var(--muted);stroke-linecap:round}.clock-tick.hour{stroke-width:2;opacity:.8}.clock-tick.half-hour{stroke-width:1.3;opacity:.4}.reminder-clock text{fill:var(--text);font:550 12px system-ui;text-anchor:middle;dominant-baseline:central;pointer-events:none}.reminder-clock text.selected{fill:var(--clock-accent);font-weight:750}.clock-selection,.clock-arrow{fill:var(--clock-accent)}.clock-hand{stroke:var(--clock-accent);stroke-width:3;stroke-linecap:round}.clock-pin{fill:var(--panel);stroke:var(--clock-accent);stroke-width:3}.clock-half-buttons{display:flex;gap:6px;padding:3px;border-radius:8px;background:var(--surface-one,var(--bg))}.clock-half-buttons>button{min-width:68px!important;padding:7px 16px!important;border:1px solid transparent!important;box-shadow:none!important;border-radius:6px!important;color:var(--muted);font-size:14px!important;font-weight:550;font-variant-numeric:tabular-nums;background:transparent!important;transition:background .15s,color .15s}.clock-half-buttons>button[aria-pressed=true]{color:var(--text)!important;background:var(--panel)!important;border-color:var(--line)!important}.clock-half-buttons>button:before,.clock-half-buttons>button:after{display:none!important;content:none!important}.clock-hint{margin:2px 0 4px;color:var(--muted);font-size:12px;text-align:center;line-height:1.5}.reminder-modal:has([data-alarm-fields]:not([hidden])){width:min(620px,calc(100vw - 28px))}.reminder-alarm-fields input:invalid:not(:placeholder-shown){border-color:var(--red,#c34e55)}
@media(max-height:800px) and (min-width:600px){.reminder-clock{width:230px}.reminder-clock-wrap{gap:4px}.reminder-clock-wrap .clock-hint{font-size:11px}}
@media(max-width:400px){.reminder-alarm-fields{grid-template-columns:minmax(0,1fr) 96px;gap:8px}.reminder-form .reminder-date{font-size:12px;padding:8px}.reminder-clock{width:min(100%,264px)}}
.clock-night{stop-color:#7dabe2;stop-opacity:.14}.clock-dawn{stop-color:#adc1d3;stop-opacity:.025}.clock-day{stop-color:#edcd70;stop-opacity:.16}body:not(.light):not([data-theme=light]) .clock-night{stop-color:#6c9edb;stop-opacity:.11}body:not(.light):not([data-theme=light]) .clock-day{stop-color:#ddc075;stop-opacity:.09}.clock-daylight{pointer-events:none}.reminder-clock text{font-size:14px}
.reminder-preview .reminder-list{margin-top:12px}.reminder-preview .reminder-note{margin-top:0}.reminder-preview .reminder-row strong{font-size:16px;line-height:1.45;font-weight:600;white-space:pre-wrap}.reminder-preview .reminder-row span{font-size:13px}.reminder-preview .reminder-row button{flex-shrink:0}.reminder-preview>header small{display:block;margin-top:5px;line-height:1.5;overflow-wrap:anywhere}
.reminder-launch{position:relative;flex:none}.reminder-launch>svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.reminder-count{position:absolute;top:1px;right:1px;min-width:14px;padding:1px 3px;border-radius:8px;background:var(--text);color:var(--bg);font-size:9px;line-height:12px}.reminder-task-label{color:var(--muted);font-size:12px}
.task-reminder-badge .work-tool-icon,.reminder-launch>.work-tool-icon{fill:currentColor;stroke:none}

.reminder-presets{display:flex;flex-wrap:wrap;gap:7px}.reminder-presets>button{flex:1 0 auto;min-height:38px;padding:8px 13px;border:1px solid var(--line);border-radius:7px;background:var(--surface-one,var(--bg));color:var(--text);font:550 14px/1.25 system-ui;box-shadow:none;transition:background .16s,border-color .16s}.reminder-presets>button:hover{background:var(--hover,var(--panel))}.reminder-presets>button[aria-pressed=true]{background:var(--surface-two,var(--panel));border-color:color-mix(in srgb,var(--text) 45%,var(--line))}.reminder-presets>button:before,.reminder-presets>button:after{display:none!important;content:none!important}@media(prefers-reduced-motion:reduce){.reminder-presets>button{transition:none}}

.reminder-custom-intervals{display:flex;flex-wrap:wrap;gap:7px;flex-basis:100%;padding-top:8px;border-top:1px solid var(--line)}.reminder-custom-intervals>button{flex:1;min-height:36px;padding:8px 13px;border:1px solid var(--line);border-radius:7px;background:var(--surface-one,var(--bg));color:var(--text);font:550 14px/1.25 system-ui;box-shadow:none;transition:background .16s,border-color .16s}.reminder-custom-intervals>button:hover{background:var(--hover,var(--panel))}.reminder-custom-intervals>button[aria-pressed=true]{background:var(--surface-two,var(--panel));border-color:color-mix(in srgb,var(--text) 45%,var(--line))}.reminder-custom-intervals>button:before,.reminder-custom-intervals>button:after{display:none!important;content:none!important}

.task-reminder-widget{--reminder-ink:#a36c15;--reminder-fill:color-mix(in srgb,#c38b32 14%,var(--panel,#fff));position:absolute;right:24px;top:5px;z-index:4;display:flex;align-items:center;width:27px;max-width:calc(100% - var(--reminder-number-space,58px) - 24px);height:27px;min-width:0;box-sizing:border-box;border:0;border-radius:999px;overflow:hidden;background:var(--reminder-fill);color:var(--reminder-ink);font:550 12px/1.25 system-ui;interpolate-size:allow-keywords;transition:width .22s ease,background .18s}
.task-reminder-widget.reminder-expanded{width:max-content}
.task-reminder-widget{cursor:pointer;flex-direction:row-reverse}
body .task-card .task-reminder-widget>button.task-reminder-badge{position:static!important;flex:none!important;width:27px!important;height:27px!important;min-height:0!important;padding:5px!important;z-index:auto;border-radius:50%!important;color:inherit!important;background:transparent!important}
.task-reminder-widget .task-reminder-inline{display:flex;flex:0 1 auto;min-width:0;width:auto;height:27px;opacity:0;pointer-events:none;transition:opacity .18s ease}
.task-reminder-widget.reminder-expanded .task-reminder-inline{opacity:1;pointer-events:auto}
.task-reminder-widget .task-reminder-clip{display:flex;flex:1;min-width:0;overflow:hidden}
.task-reminder-widget .task-reminder-lines{display:flex;align-items:center;flex:1;min-width:0;max-height:none;overflow:hidden;padding:0;background:transparent}
.task-reminder-widget .task-reminder-line{display:flex;align-items:center;flex:1;gap:6px;width:auto;min-width:0;height:27px;font:inherit;color:inherit}
.task-reminder-widget time{flex:none;font:inherit;line-height:15px;color:inherit;font-variant-numeric:tabular-nums}
.task-reminder-widget .task-reminder-line>span{flex:0 1 auto;min-width:0;font:inherit;line-height:15px;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task-reminder-widget .task-reminder-line>small{flex:none;font:inherit;line-height:15px;color:inherit}
body .task-reminder-line [data-reminder-dismiss]{order:-1;display:grid;place-items:center;flex:none;width:27px;height:27px;min-width:27px;min-height:27px;padding:6px;border:0;border-radius:50%;background:color-mix(in srgb,#c38b32 26%,var(--panel,#fff));color:inherit;box-shadow:none;transition:background .16s}
body .task-reminder-line [data-reminder-dismiss]:hover{background:color-mix(in srgb,var(--reminder-fill) 78%,#000)}
.task-reminder-line [data-reminder-dismiss] svg{display:block;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.task-card.has-task-reminder .task-open>small:first-child{min-height:24px}
.task-card:has(>.card-trash) .task-reminder-widget{right:60px;max-width:calc(100% - var(--reminder-number-space,58px) - 60px)}
@media(prefers-reduced-motion:reduce){.task-reminder-widget,.task-reminder-widget .task-reminder-inline,.task-reminder-line [data-reminder-dismiss]{transition:none!important}}

body:not(.light):not([data-theme=light]) .task-reminder-widget{--reminder-ink:#edc174}.task-reminder-widget:hover,.task-reminder-widget:focus-within{background:color-mix(in srgb,var(--reminder-fill) 92%,#000)}

/* One clear selected state, independent of generic tool-button rules. */
.reminder-modal .reminder-modes>button{min-width:0;min-height:40px;padding:9px 14px;border-radius:6px;color:var(--muted);font:550 14px/1.35 system-ui;box-shadow:none;transition:background .18s,color .18s,border-color .18s}
.reminder-modal .reminder-modes>button[aria-pressed=true]{background:var(--field);color:var(--text);border-color:color-mix(in srgb,var(--text) 32%,var(--line));box-shadow:0 1px 3px #0000000d}
.reminder-modal .reminder-modes>button:hover:not(:disabled){background:var(--hover);color:var(--text)}
.reminder-form .reminder-repeat{min-height:36px;width:fit-content;cursor:pointer;color:var(--text)}
.reminder-modal :is(button,input):focus-visible{outline:2px solid var(--muted);outline-offset:3px}
.reminder-modal .form-select-trigger svg{display:block;flex:none}
.reminder-row>.reminder-open{display:grid;flex:1 1 180px;min-width:0;gap:4px;padding:7px 9px;margin:-7px -2px;border:0;border-radius:6px;background:transparent;color:var(--text);text-align:left;white-space:normal;overflow-wrap:anywhere;box-shadow:none;transition:background .16s}
.reminder-row>.reminder-open:hover{background:var(--hover)}
.reminder-row>.reminder-open:disabled{opacity:.7}
.reminder-open .reminder-open-hint{display:flex;align-items:center;gap:5px;color:var(--text);font-size:12px;font-weight:550;margin-top:3px}
.reminder-open-hint svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:600px){.reminder-row>.reminder-open{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.reminder-modal .reminder-modes>button,.reminder-custom-intervals>button{transition:none}}

/* Keep the calendar and dial together; the description and actions follow below. */
.reminder-modal:has([data-alarm-fields]:not([hidden])){width:min(760px,calc(100vw - 28px))}
.reminder-date-time{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
.reminder-date-time>section{min-width:0}
.reminder-date-time .reminder-time-column{border-left:1px solid var(--line);padding-left:22px}
.reminder-date-time .reminder-alarm-fields{display:block}
.reminder-date-time .reminder-alarm-fields>label{display:flex;align-items:center;justify-content:center;gap:12px}
.reminder-date-time [data-clock-time]{width:112px}
.reminder-date-time .reminder-clock{width:min(100%,260px)}
.reminder-calendar{--season:#89b9e9}
.reminder-calendar[data-season=spring]{--season:#8fbe99}
.reminder-calendar[data-season=summer]{--season:#56b488}
.reminder-calendar[data-season=autumn]{--season:#d6a16e}
.reminder-calendar .calendar-month{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:0;padding:10px 6px;border:0;border-radius:8px;background:color-mix(in srgb,var(--season) 13%,var(--panel));text-align:center}
.reminder-calendar .calendar-month h2{margin:0;font:600 16px/1.4 system-ui;color:var(--text);text-transform:capitalize}
.reminder-calendar .calendar-month button{display:grid;place-items:center;flex:none;min-width:32px;width:32px;min-height:32px;height:32px;padding:7px;border:0;border-radius:6px;background:transparent;color:var(--text);box-shadow:none}
.reminder-calendar .calendar-month svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.reminder-calendar .calendar-week,.reminder-calendar .calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:0}
.reminder-calendar .calendar-week{padding:16px 0 8px;text-align:center;font-size:12px;color:var(--muted)}
.reminder-calendar .calendar-days button{width:100%;min-width:0;min-height:36px;height:36px;padding:4px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text);font:550 14px/1.3 system-ui;box-shadow:none}
.reminder-calendar .calendar-days button[aria-current=date]{color:var(--blue);font-weight:650}
.reminder-calendar .calendar-days button[aria-pressed=true]{border-color:var(--line);background:var(--field);color:var(--text);box-shadow:inset 0 0 0 1px var(--text)}
.reminder-calendar button:hover{background:var(--hover)}
.reminder-calendar button::before,.reminder-calendar button::after{content:none!important;display:none!important}
.reminder-calendar footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:10px 0 0;border-top:1px solid var(--line)}
.reminder-calendar footer button{min-height:32px;padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:var(--field);color:var(--text);font:550 13px/1.3 system-ui}
.reminder-selected-date{font-size:12px;color:var(--muted)}
.reminder-form>[type=submit]{justify-self:end;padding:11px 20px;min-height:42px}
.reminder-form:has([data-alarm-fields]:not([hidden])){grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'modes modes' 'picker picker' 'title title' 'repeat submit' 'interval interval' 'error error';align-items:center}
.reminder-form:has([data-alarm-fields]:not([hidden]))>.reminder-modes{grid-area:modes}
.reminder-form:has([data-alarm-fields]:not([hidden]))>[data-alarm-fields]{grid-area:picker}
.reminder-form:has([data-alarm-fields]:not([hidden]))>label:not(.reminder-repeat){grid-area:title}
.reminder-form:has([data-alarm-fields]:not([hidden]))>.reminder-repeat{grid-area:repeat}
.reminder-form:has([data-alarm-fields]:not([hidden]))>[data-repeat-fields]{grid-area:interval}
.reminder-form:has([data-alarm-fields]:not([hidden]))>.reminder-error{grid-area:error}
.reminder-form:has([data-alarm-fields]:not([hidden]))>[type=submit]{grid-area:submit}
@media(max-height:800px) and (min-width:591px){.reminder-modal .reminder-body{padding-top:12px}.reminder-modal .reminder-note{margin:0 0 10px}.reminder-form{gap:10px}.reminder-date-time .reminder-clock{width:210px}.reminder-calendar .calendar-days button{height:30px;min-height:30px}.reminder-calendar .calendar-week{padding-top:10px}.reminder-calendar footer{margin-top:10px}.reminder-date-time .clock-hint{max-width:240px}}
@media(max-width:590px){.reminder-date-time{grid-template-columns:1fr;gap:18px}.reminder-date-time .reminder-time-column{border-left:0;border-top:1px solid var(--line);padding:16px 0 0}.reminder-date-time .reminder-clock{width:min(100%,240px)}.reminder-form>[type=submit]{justify-self:stretch}.reminder-calendar .calendar-days button{height:38px}}
@media(max-width:590px){.reminder-form:has([data-alarm-fields]:not([hidden])){grid-template-columns:minmax(0,1fr);grid-template-areas:'modes' 'picker' 'title' 'repeat' 'interval' 'error' 'submit'}}
