.notification-icon{flex:none;width:21px;height:21px}.notification-header-button{width:44px;min-width:44px;height:44px;position:relative}.notification-header-button.is-empty,.top-profile-button.notification-header-button.is-empty{color:var(--muted)}.notification-dialog{box-sizing:border-box;border:1px solid var(--control-button-border);background:var(--bg-soft,#161b2a);width:min(380px,100% - 32px);max-width:none;max-height:calc(100dvh - 32px);color:var(--text);box-shadow:var(--shadow);overflow-wrap:anywhere;border-radius:20px;margin:auto;padding:16px;position:fixed;overflow:hidden}.notification-dialog[open]{flex-direction:column;display:flex}.notification-dialog::backdrop{background:#070b13cf}.notification-dialog-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.notification-dialog-header h2{letter-spacing:-.02em;flex:1;min-width:0;margin:0;font-size:1.125rem;font-weight:700;line-height:1.4}.notification-dialog-header h2:focus{outline:none}.reminder-dialog .notification-dialog-header{border-bottom:1px solid var(--line-soft);margin-bottom:12px;padding-bottom:12px}.notification-dialog :is(.notification-close,.notification-back){color:var(--muted-strong);background:0 0;border:0;border-radius:8px}.notification-dialog .notification-dialog-body{padding:0;font-size:.875rem}.notification-dialog .notification-dialog-body>p{margin:0 0 12px}.notification-dialog .control-button{border:1px solid var(--control-button-border);min-height:44px;font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:8px 14px;font-size:.875rem;line-height:1.4;text-decoration:none;display:inline-flex}.notification-dialog .control-button:disabled{color:var(--muted-strong);cursor:default}.notification-dialog-body{padding:16px}.notification-dialog p,.notification-device p{line-height:1.6}.notification-control{color:#f7fbff;min-width:44px;min-height:44px;font:inherit;cursor:pointer;white-space:normal;overflow-wrap:anywhere;background:#151d2b;border:1px solid #94a4bb;border-radius:12px;justify-content:center;align-items:center;gap:.4rem;padding:.6rem .8rem;line-height:1.4;text-decoration:none;display:inline-flex}.notification-control[aria-disabled=true],.notification-control:disabled{cursor:default;color:#c7d3e6;border-style:dashed}.notification-close{flex:0 0 44px;width:44px;height:44px;margin-left:auto;padding:6px}.notification-close svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:21px;height:21px}.notification-back{flex:0 0 44px;width:44px;height:44px;padding:6px}.notification-back svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.notification-actions{flex-wrap:wrap;gap:.6rem;display:flex}.notification-list{gap:.5rem;margin:1rem 0;padding:0;list-style:none;display:grid}.notification-entry{color:#f7fbff;width:100%;min-height:44px;font:inherit;text-align:left;cursor:pointer;background:#151d2b;border:1px solid #586b87;border-radius:12px;align-items:flex-start;gap:.75rem;padding:.8rem;display:flex}.notification-entry>span{flex:1;min-width:0}.notification-entry strong,.notification-entry span span,.notification-entry time{overflow-wrap:anywhere;line-height:1.6;display:block}.notification-entry span span,.notification-entry time{color:#c7d3e6;margin-top:.2rem}.notification-entry time,.notification-entry>small{font-size:.8rem;line-height:1.6}.notification-entry>small{color:#ffd84f}.notification-pagination{border-top:1px solid #586b87;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:16px;display:flex}.notification-pagination>span{text-align:center;flex:6rem}.notification-status{color:#c7d3e6;min-height:1.6em;line-height:1.6}.notification-error{color:#f7fbff;overflow-wrap:anywhere;background:#341d28;border:1px solid #ff9cb0;border-radius:12px;padding:.75rem;line-height:1.6}.notification-settings-link{color:#d7c5ff;min-height:44px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;padding:8px 0;display:inline-flex}.notification-muted{color:#c7d3e6;line-height:1.6}.notification-device{color:var(--text)}.notification-device h2{align-items:center;gap:9px;display:flex}.notification-device h2 .notification-icon{color:var(--purple);width:20px;height:20px}.notification-device p{color:var(--muted-strong);margin-top:10px;font-size:.8125rem;line-height:1.5}.notification-device .notification-switch{border-bottom:0;padding:14px 0 8px}.notification-fieldset{border:0;min-width:0;margin:1.5rem 0;padding:0}.notification-fieldset legend{padding:0;font-size:1.1rem;font-weight:700}.notification-preferences{margin:20px 0}.notification-preferences legend{letter-spacing:0;color:var(--muted);font-size:.75rem;font-weight:600;line-height:1.5}.notification-preferences>.notification-muted{color:var(--muted);margin:6px 0 12px;font-size:.8125rem;line-height:1.5}.notification-switch{cursor:pointer;gap:16px}.notification-switch.profile-ui-row strong{font-size:.9375rem}.notification-switch.profile-ui-row small{overflow-wrap:anywhere;font-size:.75rem;line-height:1.5}.notification-switch-all.profile-ui-row strong{font-weight:650}.notification-switch>.notification-switch-target{flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid;position:relative}.notification-switch-target input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.notification-switch-track{box-sizing:border-box;pointer-events:none;background:#495067;border-radius:20px;align-items:center;width:31px;height:19px;padding:2px;display:flex}.notification-switch-track span{background:#edf0ff;border-radius:50%;width:15px;height:15px;transition:transform .13s ease-out;transform:translate(0)}.notification-switch-target input:checked+.notification-switch-track{background:#75648f}.notification-switch-target input:checked+.notification-switch-track span{background:#ece7f5;transform:translate(12px)}.notification-switch-target input:focus-visible+.notification-switch-track{outline:2px solid var(--control-button-active-border);outline-offset:4px}.notification-switch-target input:disabled+.notification-switch-track{opacity:.5}.notification-switch-target input:disabled{cursor:default}.notification-save-status{color:var(--muted-strong);font-size:.8125rem;line-height:1.5}.notification-sync-button:disabled{color:var(--muted-strong);cursor:default}.notification-dialog :where(button,a,input):focus-visible,.notification-control:focus-visible{outline-offset:3px;outline:3px solid #ffd84f}.reminder-form{flex-direction:column;min-height:0;font-size:.875rem;line-height:1.4;display:flex}.reminder-sign-in{min-height:0;overflow-y:auto}.reminder-sign-in>p{color:var(--muted-strong);margin:0;font-size:.875rem;line-height:1.5}.reminder-form-body{overscroll-behavior:contain;min-height:0;padding:2px 2px 0;overflow-y:auto}.reminder-context{color:var(--muted-strong);overflow-wrap:anywhere;margin:0 0 12px;font-size:.8125rem}.reminder-context--plan{margin:12px 0 0}.reminder-fieldset{border:0;min-width:0;margin:0;padding:0}.reminder-fieldset legend{padding:0 0 8px;font-size:.8125rem;font-weight:600}.reminder-fieldset+.reminder-fieldset{margin-top:12px}.reminder-choices,.reminder-times{gap:6px;display:grid}.reminder-choices{grid-template-columns:repeat(auto-fit,minmax(min(100%,4.5rem),1fr))}.reminder-times{grid-template-columns:repeat(auto-fit,minmax(min(100%,7rem),1fr))}.reminder-card-types-section{border-top:1px solid var(--line-soft);margin-top:12px;padding-top:12px}.reminder-card-types .filter-popover-option{box-sizing:border-box;position:relative}.reminder-card-types .filter-popover-option:has(input:focus-visible){outline:2px solid var(--purple);outline-offset:-2px}.reminder-card-types-fieldset:disabled :is(.filter-popover-icon,.filter-popover-check){color:inherit}.reminder-card-types-fieldset:disabled .filter-popover-option{cursor:default}.reminder-timing-section{border-block:1px solid var(--line-soft);margin-top:12px;padding:12px 0}.reminder-option{box-sizing:border-box;border:1px solid var(--control-button-border);min-height:44px;color:var(--text);text-align:center;cursor:pointer;transition:border-color var(--motion-press) ease, color var(--motion-press) ease;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:8px;font-size:.8125rem;line-height:1.4;display:flex;position:relative}.reminder-radio-mark{box-sizing:border-box;border:1px solid;border-radius:50%;flex:0 0 12px;width:12px;height:12px}.reminder-option:has(input:checked) .reminder-radio-mark{border-color:var(--purple);background:var(--purple);box-shadow:inset 0 0 0 2px var(--bg-soft)}.reminder-choice-check{visibility:hidden;fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:0 0 14px;width:14px;height:14px}.reminder-option:has(input:checked) .reminder-choice-check{visibility:visible}.reminder-option input,.reminder-card-types input{opacity:0;width:100%;height:100%;cursor:inherit;margin:0;position:absolute;inset:0}.reminder-option>span{overflow-wrap:normal;min-width:0}.reminder-option:has(input:checked){border-color:var(--control-button-active-border)}.reminder-choices .reminder-option{color:var(--muted-strong)}.reminder-choices .reminder-option:has(input:checked){border-color:var(--control-button-active-border);background:var(--control-button-active-fill);color:var(--text);font-weight:600}.reminder-times .reminder-option:has(input:checked){background:var(--control-button-fill);border-color:var(--purple)}.reminder-times .reminder-option:has(input:checked) .reminder-choice-check{color:var(--purple)}.reminder-times .reminder-option{text-align:left;justify-content:space-between}.reminder-option:has(input:focus-visible){outline:2px solid var(--purple);outline-offset:-2px}.reminder-fieldset:disabled{color:var(--muted)}.reminder-fieldset:disabled .reminder-option{border-color:var(--line-soft);color:inherit;cursor:default;background:0 0}.reminder-fieldset:disabled .reminder-option:has(input:checked){border-color:var(--muted);color:inherit;background:0 0}.reminder-fieldset:disabled .reminder-option:has(input:checked) .reminder-choice-check{color:inherit}.reminder-plan-row{min-height:44px;color:var(--muted-strong);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 12px;margin:4px 0 0;font-size:.75rem;display:flex}.reminder-plan-row .notification-settings-link{color:var(--purple);gap:4px;font-size:.8125rem}.reminder-plan-row .notification-settings-link svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:14px;height:14px}.reminder-plan-row .notification-settings-link:disabled{color:var(--muted-strong);cursor:default}.reminder-note{color:var(--muted-strong);margin:12px 0 0;font-size:.8125rem;line-height:1.5}.reminder-note a{min-height:44px;color:var(--purple);align-items:center;display:inline-flex}.reminder-note--settings{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 8px;min-height:44px;display:flex}.reminder-note--settings :is(a,button){color:var(--purple);flex-shrink:0}.reminder-form-actions{border-top:1px solid var(--line-soft);flex-shrink:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;padding-top:12px;display:grid}.reminder-form:has(>.reminder-form-body>.reminder-timing-section:last-child)>.reminder-form-actions{border-top:0;padding-top:0}.notification-marker{color:#ffd84f;stroke-width:2px;flex:none;width:.75rem;height:.75rem}.plan-legend-reminder-icon{place-items:center;width:24px;height:24px;display:inline-grid}.notification-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.notification-dialog *,.notification-header-button{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root[data-app-reduced-motion=true] .reminder-option,:root[data-app-reduced-motion=true] .reminder-card-types .filter-popover-option{transition:none}@media (forced-colors:active){.reminder-option:has(input:checked) .reminder-radio-mark{forced-color-adjust:none;background:highlight;border-color:highlight;box-shadow:inset 0 0 0 2px canvas}.notification-marker{color:canvastext}.notification-switch-track,.notification-switch-target input:checked+.notification-switch-track{background:canvas;outline:1px solid canvastext}.notification-switch-track span,.notification-switch-target input:checked+.notification-switch-track span{background:canvastext}}.plan-timeline-item time.plan-reminder-time{padding-left:calc(.75rem + 2px);position:relative}.plan-timeline-item:has(>time.plan-reminder-time){grid-template-columns:minmax(4.125rem,max-content) minmax(0,1fr) auto auto}.plan-timeline-item.is-custom:has(>time.plan-reminder-time){grid-template-columns:minmax(4.125rem,max-content) minmax(0,1fr) auto}.plan-timeline-item time.plan-reminder-time .plan-reminder-marker-slot{align-items:center;width:.75rem;height:.75rem;margin:0;display:flex;position:absolute;top:calc(.5lh - .375rem);left:0}.plan-timeline-item time .plan-reminder-marker-slot svg{display:block}.plan-timeline-item time .notification-sr-only{margin:0}.festival-context-row:has(.notification-header-button){grid-template-columns:96px minmax(0,1fr) 96px}:is(.festival-context-row .toolbar:has(.notification-header-button),.festival-list-context-row .toolbar:has(.notification-header-button)){flex-wrap:nowrap;justify-content:flex-end;gap:8px;width:96px;min-width:96px;display:flex}.festival-list-context-row:has(.notification-header-button){grid-template-columns:minmax(0,1fr) minmax(0,1fr) 96px}.notification-popover-backdrop{z-index:119;pointer-events:none;opacity:0;background:#02040a8c;transition:opacity .11s ease-out;position:fixed;inset:0}.notification-popover-backdrop.is-open{opacity:1;transition-duration:.15s}:root[data-app-reduced-motion=true] .notification-popover-backdrop{transition:none}@media (prefers-reduced-motion:reduce){.notification-popover-backdrop,.notification-popover-backdrop.is-open{transition:none}}.notification-popover{color:var(--text);padding:0}.notification-popover .filter-popover-body{flex-direction:column;min-height:0;display:flex;overflow:hidden}.notification-popover-header{border-bottom:1px solid var(--line-soft);background:#191d2c;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px 9px 16px;display:flex}.notification-popover-header h2{letter-spacing:-.02em;margin:0;font-size:1rem;font-weight:700;line-height:1.5}.notification-popover .notification-close{color:var(--muted-strong);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;margin:0;display:inline-flex}.notification-popover .notification-dialog-body{overscroll-behavior:contain;flex:1;min-height:0;padding:12px 16px 8px;font-size:.8125rem;line-height:1.5;overflow-y:auto}.notification-popover .notification-dialog-body>p{margin:0 0 10px}.notification-popover .notification-actions{border-bottom:1px solid var(--line-soft);grid-template-columns:repeat(auto-fit,minmax(min(100%,7rem),1fr));align-items:center;gap:8px 12px;margin-bottom:8px;padding-bottom:12px;display:grid}.notification-popover .notification-actions>:last-child{justify-self:end;max-width:100%}.notification-summary{min-width:0}.notification-summary p{color:var(--muted-strong);overflow-wrap:anywhere;margin:0}.notification-summary p+p{margin-top:6px}.notification-popover .notification-control,.notification-device .notification-control{color:var(--purple);background:0 0;border:0;padding:8px 0;font-size:.8125rem;font-weight:600}.notification-popover .notification-actions .notification-control{border:1px solid var(--control-button-border);color:var(--text);background:var(--control-button-fill);border-radius:8px;padding:8px 12px}.notification-popover .notification-actions .notification-refresh{color:var(--purple);background:0 0;border:0;padding:8px 0}.notification-popover .notification-control[aria-disabled=true],.notification-popover .notification-control:disabled{color:var(--muted-strong)}.notification-popover .notification-actions .notification-control[aria-disabled=true],.notification-popover .notification-actions .notification-control:disabled{border-color:var(--line-soft);background:0 0}.notification-popover .notification-list{gap:4px;margin:8px -8px}.notification-popover .notification-entry{color:var(--text);background:0 0;border:0;border-radius:8px;padding:12px 8px}.notification-popover .notification-entry.is-unread{background:#b99cff12}.notification-popover .notification-list li+li{border-top:1px solid var(--line-soft);padding-top:4px}.notification-popover .notification-entry strong{font-size:.875rem;font-weight:600;line-height:1.4}.notification-popover .notification-entry span span{color:var(--muted-strong);margin-top:4px;font-size:.8125rem;line-height:1.5}.notification-popover .notification-entry time,.notification-popover .notification-entry>small{font-size:.75rem;line-height:1.5}.notification-popover .notification-entry>small{color:var(--muted-strong);border-radius:5px;padding:2px 6px}.notification-popover .notification-entry.is-unread>small{color:var(--purple);background:#b99cff1f}.notification-popover .notification-entry time{color:var(--muted-strong);margin-top:6px}.notification-popover .notification-status:empty{display:none}.notification-popover .notification-settings-link{color:var(--purple);font-size:.8125rem}.notification-popover .notification-pagination{border-top:1px solid var(--line-soft);background:#191d2c;flex-shrink:0;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;padding:8px 16px;font-size:.75rem;display:grid}.notification-popover .notification-pagination>span{color:var(--muted-strong)}.notification-popover .notification-pagination>button{justify-self:start;width:44px;height:44px;padding:8px}.notification-popover .notification-pagination>button:last-child{justify-self:end}.notification-popover .notification-pagination>button[aria-disabled=true]{color:var(--muted)}.notification-pagination svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.notification-popover :where(button,a):focus-visible{outline:2px solid var(--purple);outline-offset:2px}@media (hover:hover) and (pointer:fine){.notification-popover .notification-entry:hover{background:#b99cff14}.notification-popover .notification-close:hover{background:#b99cff1a}.notification-popover .notification-actions .notification-control:hover:not(:disabled):not([aria-disabled=true]){border-color:var(--control-button-hover-border)}}@media (prefers-reduced-motion:reduce){.notification-switch-track span{transition:none}}:root[data-app-reduced-motion=true] .notification-switch-track span{transition:none}@media (forced-colors:active){.notification-popover,.notification-popover-header,.notification-popover .notification-pagination{color:canvastext;background:canvas;border-color:canvastext}}
