:root{--color-bg:#0f0f0f;--color-surface:#1a1a1a;--color-border:#2a2a2a;--color-text:#f0f0f0;--color-text-muted:#888;--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-success:#22c55e;--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;min-height:100dvh;background:var(--color-bg);color:var(--color-text);font-family:system-ui,-apple-system,sans-serif;-webkit-tap-highlight-color:transparent}input[type=checkbox],input[type=radio]{accent-color:var(--color-primary)}.sr-only{width:1px;height:1px;padding:0;margin:-1px;white-space:nowrap;border:0}.ringtone-file-input-hidden,.sr-only{position:absolute;overflow:hidden;clip:rect(0,0,0,0)}.ringtone-file-input-hidden{width:0;height:0;opacity:0;pointer-events:none}.app-error-fallback{min-height:40vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center}.app-error-fallback-title{font-size:1.125rem;color:var(--color-text);margin:0}.form-error{color:var(--color-primary);font-size:.875rem;-webkit-margin-before:.25rem;margin-block-start:.25rem}.form-label-block{display:block;-webkit-margin-after:.75rem;margin-block-end:.75rem}.form-label-block span{display:block;font-size:.875rem;font-weight:500;color:var(--color-text-muted);-webkit-margin-after:.25rem;margin-block-end:.25rem}.form-label-block input{width:100%}.modal-actions{display:flex;gap:.5rem;-webkit-margin-before:1rem;margin-block-start:1rem;justify-content:flex-end}[dir=rtl]{text-align:right}.app-branding{padding-block:.5rem;padding-inline:1rem;display:flex;justify-content:flex-start;align-items:center;gap:.5rem}.app-branding:not(:has(.language-dropdown-wrap)){justify-content:center}.app-branding .language-dropdown-wrap{-webkit-margin-start:auto;margin-inline-start:auto}.app-branding-link{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:inherit}.app-branding-link:focus-visible,.app-branding-link:hover{text-decoration:none;color:inherit}.app-branding-logo{flex-shrink:0}.app-branding img,.app-branding-logo{height:1.75rem;width:auto;object-fit:contain}.app-branding-text{font-size:1.25rem;font-weight:700;letter-spacing:.05em;color:var(--color-text);text-decoration:none}.app-branding-text:focus-visible,.app-branding-text:hover{color:var(--color-text);text-decoration:underline}.language-dropdown-wrap{position:relative}.language-dropdown-trigger{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .5rem;min-height:2.25rem;font-size:.875rem;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:.375rem;cursor:pointer}.language-dropdown-trigger:focus-visible,.language-dropdown-trigger:hover{color:var(--color-text);border-color:var(--color-primary);outline:none}.language-dropdown-label{max-width:6rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.language-dropdown-list{position:absolute;inset-inline-end:0;top:calc(100% + .25rem);min-width:10rem;max-height:70vh;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.375rem;box-shadow:0 4px 12px rgba(0,0,0,.3);z-index:100}.language-dropdown-option{display:block;width:100%;padding:.5rem .75rem;text-align:start;font-size:.875rem;color:var(--color-text);background:none;border:none;cursor:pointer;min-height:2.75rem}.language-dropdown-option:focus-visible,.language-dropdown-option:hover{background:var(--color-primary);color:#fff;outline:none}.language-dropdown-option[aria-selected=true]{background:var(--color-primary);color:#fff}.container{padding-inline:1rem;-webkit-padding-after:calc(4rem + var(--safe-bottom));padding-block-end:calc(4rem + var(--safe-bottom))}.nav-area{position:fixed;inset-inline:0;inset-block-end:0;height:calc(3.5rem + var(--safe-bottom));-webkit-padding-after:var(--safe-bottom);padding-block-end:var(--safe-bottom);background:var(--color-surface);-webkit-border-before:1px solid var(--color-border);border-block-start:1px solid var(--color-border);justify-content:space-around;z-index:50}.nav-area,.nav-link{display:flex;align-items:center}.nav-link{flex-direction:column;justify-content:center;gap:.25rem;padding:.5rem .75rem;min-block-size:44px;min-height:44px;color:var(--color-text-muted);text-decoration:none;font-size:.75rem;border:none;background:none;cursor:pointer;touch-action:manipulation}.nav-link:focus-visible,.nav-link:hover{color:var(--color-primary)}.nav-link[data-active=true]{color:#fff;background:var(--color-primary);border-radius:.375rem}.nav-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.nav-link[data-smart=true]{opacity:.95}@media (max-width:480px){.nav-area{justify-content:space-between;padding-inline:.25rem}.nav-link{flex:1 1;min-inline-size:0;padding:.5rem .25rem;font-size:.6875rem;min-height:44px;min-block-size:44px}}.fab{position:fixed;inset-inline-end:1rem;inset-block-end:calc(3.5rem + 1rem + var(--safe-bottom));width:3.5rem;height:3.5rem;border-radius:50%;background:var(--color-primary);color:#fff;border:none;box-shadow:0 4px 12px rgba(59,130,246,.4);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:40}.fab:hover{background:var(--color-primary-hover)}.fab:focus-visible{outline:2px solid #fff;outline-offset:2px}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:100;display:flex;align-items:flex-end;justify-content:center}.modal-panel{width:100%;max-width:28rem;max-height:80vh;background:var(--color-surface);border-radius:1rem 1rem 0 0;padding:1.25rem;-webkit-padding-after:calc(1.25rem + var(--safe-bottom));padding-block-end:calc(1.25rem + var(--safe-bottom))}.modal-panel input{width:100%;padding:.75rem 1rem;font-size:1rem;border:1px solid var(--color-border);border-radius:.5rem;background:var(--color-bg);color:var(--color-text)}.modal-panel input::placeholder{color:var(--color-text-muted)}.modal-panel input:focus{outline:none;border-color:var(--color-primary)}.add-plan-time-row.form-label-block{-webkit-margin-after:.75rem;margin-block-end:.75rem}.add-plan-time-row .add-plan-time-wheels{display:flex;align-items:center;gap:.5rem;-webkit-margin-before:.25rem;margin-block-start:.25rem}.add-plan-wheel-group{display:flex;align-items:center;position:relative}.add-plan-wheel-group .focus-wheel-selection-strip{position:absolute;left:0;pointer-events:none}.add-plan-time-wheel{min-width:2.5rem;width:2.5rem}.add-plan-time-wheel .focus-wheel-item{color:var(--color-text,#111)}.add-plan-time-wheel .focus-wheel-item[aria-selected=true]{font-weight:600;color:var(--color-text,#111)}.add-plan-duration-display{font-size:.875rem;color:var(--color-text-muted);-webkit-margin-after:.75rem;margin-block-end:.75rem;-webkit-margin-before:-.25rem;margin-block-start:-.25rem}.quick-add-duration-row{-webkit-margin-before:.75rem;margin-block-start:.75rem;display:flex;align-items:center;gap:.5rem}.quick-add-duration-label{font-size:.875rem;font-weight:500;color:var(--color-text-muted);flex-shrink:0}.quick-add-duration-wheel-wrap{display:flex;align-items:center;gap:.25rem;position:relative}.quick-add-duration-wheel-wrap .focus-wheel-selection-strip{position:absolute;left:0;right:0;pointer-events:none}.quick-add-duration-wheel{min-width:2.5rem;width:2.5rem}.quick-add-duration-wheel .focus-wheel-item{color:#fff}.quick-add-duration-wheel .focus-wheel-item[aria-selected=true]{color:#fff;font-weight:600}.task-row{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;-webkit-border-after:1px solid var(--color-border);border-block-end:1px solid var(--color-border);min-block-size:3rem}.task-row[data-completed=true] .task-title{text-decoration:line-through;color:var(--color-text-muted)}.task-check{width:1.5rem;height:1.5rem;border-radius:50%;border:2px solid var(--color-done-border,#eab308);background:color-mix(in srgb,var(--color-done-border,#eab308) 14%,transparent);flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-done-border,#eab308)}.task-check[aria-pressed=true]{background:var(--color-success);border-color:var(--color-success);color:#fff}.task-check:focus-visible{outline:2px solid var(--color-done-border,#eab308);outline-offset:2px}.task-title{flex:1 1;font-size:1rem;word-break:break-word}.task-repeat-label{font-size:.75rem;color:var(--color-text-muted)}.task-repeat-label,.task-tag-chips{-webkit-margin-start:.25rem;margin-inline-start:.25rem;flex-shrink:0}.task-tag-chips{display:inline-flex;flex-wrap:wrap;gap:.25rem}.task-tag-chip{font-size:.7rem;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:.25rem;padding:.1rem .35rem}.task-tag-overflow{font-style:normal}.task-focus-time{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;color:var(--color-text-muted);-webkit-margin-start:.25rem;margin-inline-start:.25rem;flex-shrink:0}.task-focus-time-row{display:flex;align-items:baseline;gap:.35rem}.task-focus-time-label{min-width:10ch;flex-shrink:0}.task-focus-time-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.task-due-overdue{font-size:.75rem;color:#e57373;-webkit-margin-start:.25rem;margin-inline-start:.25rem;flex-shrink:0}[data-high-contrast=true] .task-due-overdue{color:var(--color-text-muted)}.page-title{font-size:1.5rem;font-weight:700;-webkit-margin-after:1rem;margin-block-end:1rem;-webkit-padding-before:1rem;padding-block-start:1rem}.touch-target{min-block-size:44px;min-height:44px}.empty-state{color:var(--color-text-muted);padding-block:2rem;text-align:center}.empty-state-card{padding-block:2.5rem;padding-inline:1.5rem;text-align:center;border-radius:.75rem;background:var(--color-surface);border:1px dashed var(--color-border)}.empty-state-card .empty-state-title{font-size:1.125rem;font-weight:600;color:var(--color-text);-webkit-margin-after:.5rem;margin-block-end:.5rem}.empty-state-card .empty-state-desc{font-size:.9375rem;color:var(--color-text-muted);line-height:1.5}.calendar-header{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;-webkit-margin-after:1rem;margin-block-end:1rem}.calendar-mode-toggle{display:flex;gap:.25rem;flex-shrink:0}.calendar-mode-toggle button{padding:.5rem .75rem;font-size:.875rem;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:.375rem;cursor:pointer}.calendar-mode-toggle button[aria-selected=true]{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.calendar-nav{display:flex;align-items:center;gap:.5rem;flex:1 1 auto;min-width:0}.calendar-nav button{padding:.5rem;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:.375rem;cursor:pointer;min-inline-size:44px;min-block-size:44px;flex-shrink:0}.calendar-nav-label{font-size:1rem;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1;min-width:0;text-align:center}.calendar-grid{display:grid;width:100%}.calendar-day-swipe,.calendar-week-swipe{touch-action:none}.calendar-week-row{-webkit-margin-after:1rem;margin-block-end:1rem}.calendar-week-row[data-current-week=true]{border-radius:.5rem;padding:.25rem}.calendar-week-row[data-current-week=true],.calendar-week-row[data-current-week=true] .calendar-week-grid .calendar-day-column{background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface))}.calendar-week-row[data-current-week=true] .calendar-week-grid .calendar-day-column:nth-child(6),.calendar-week-row[data-current-week=true] .calendar-week-grid .calendar-day-column:nth-child(7){background:color-mix(in srgb,var(--color-primary) 6%,color-mix(in srgb,#fff 7%,var(--color-surface)))}.calendar-week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;overflow-x:auto;overflow-y:visible;-webkit-padding-after:.5rem;padding-block-end:.5rem}@media (min-width:768px){.calendar-week-grid{overflow-x:visible}}.calendar-day-view{display:flex;flex-direction:column;gap:1rem}.calendar-day-info{font-size:.875rem;color:var(--color-text-muted)}.calendar-day-info-label{font-weight:600;color:var(--color-text)}.calendar-day-holiday{margin:0 0 .5rem}.calendar-day-stub{margin:0 0 .35rem}.calendar-day-weather{display:flex;flex-direction:column;gap:.25rem}.calendar-day-weather .calendar-day-info-label{display:block;-webkit-margin-after:.15rem;margin-block-end:.15rem}.calendar-day-weather-location{font-weight:600;color:var(--color-text)}.calendar-day-weather-details{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem}.calendar-day-weather-condition{font-weight:500}.calendar-day-weather-temp{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calendar-day-weather-wind{color:var(--color-text-muted);font-size:.8125rem}.calendar-day-stocks-list{display:flex;flex-wrap:nowrap;gap:.5rem 1rem;align-items:baseline}.calendar-day-stock-item{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.calendar-day-stock-price{font-weight:500}.calendar-day-stock-change[data-positive=true]{color:#2e7d32;-webkit-margin-start:.25rem;margin-inline-start:.25rem}.calendar-day-stock-change[data-positive=false]{color:#c62828;-webkit-margin-start:.25rem;margin-inline-start:.25rem}.calendar-day-news-list{list-style:none;margin:.25rem 0 0;padding:0}.calendar-day-news-list li{-webkit-margin-after:.25rem;margin-block-end:.25rem}.calendar-day-news-link{color:var(--color-text);text-decoration:underline;text-underline-offset:2px;font-size:.875rem}.calendar-day-news-link:hover{color:var(--color-text-muted)}.calendar-day-block-title{font-size:1rem;font-weight:600;margin:.5rem 0 0;color:var(--color-text);text-align:left}.calendar-day-schedule-section{-webkit-margin-before:.5rem;margin-block-start:.5rem}.calendar-day-schedule-heading-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;-webkit-margin-after:.5rem;margin-block-end:.5rem}.calendar-day-schedule-heading{font-size:1rem;font-weight:600;margin:0}.calendar-day-add-plan{flex-shrink:0}.btn-sm{padding:.25rem .5rem;font-size:.8125rem}.calendar-day-column{min-inline-size:120px;border:1px solid var(--color-border);border-radius:.5rem;padding:.5rem;background:var(--color-surface)}.calendar-week-grid .calendar-day-column{cursor:pointer}.calendar-day-column-header{-webkit-padding-after:.5rem;padding-block-end:.5rem;-webkit-margin-after:.5rem;margin-block-end:.5rem;-webkit-border-after:1px solid var(--color-border);border-block-end:1px solid var(--color-border)}.calendar-day-column-header-clickable{display:block;width:100%;text-align:inherit;background:none;border:none;cursor:pointer;font:inherit;color:inherit;padding:0;-webkit-margin-after:.5rem;margin-block-end:.5rem;-webkit-tap-highlight-color:transparent}.calendar-day-column-header-clickable:hover{opacity:.9}.calendar-day-column-header-clickable[data-today=true],.calendar-day-column-header[data-today=true]{color:var(--color-primary);font-weight:600}.calendar-day-column[data-today=true]{border:2px solid #fff;background:color-mix(in srgb,var(--color-primary) 15%,var(--color-surface))}.calendar-day-column[data-today=true]:nth-child(6),.calendar-day-column[data-today=true]:nth-child(7){background:color-mix(in srgb,var(--color-primary) 15%,color-mix(in srgb,#fff 7%,var(--color-surface)))}.calendar-weekday-label{font-size:.75rem;color:var(--color-text-muted);display:block}.calendar-day-num{font-size:1.125rem;font-weight:600}.calendar-week-day-holiday{display:block;font-size:.7rem;color:var(--color-text-muted);-webkit-margin-after:.35rem;margin-block-end:.35rem;line-height:1.2}.calendar-week-block-title{font-size:1rem;font-weight:600;margin:0 0 .5rem;color:var(--color-text);text-align:left}.calendar-week-header-grid,.calendar-week-weekday-header{-webkit-margin-after:.25rem;margin-block-end:.25rem}.calendar-week-header-grid{-webkit-padding-after:.25rem;padding-block-end:.25rem;-webkit-border-after:1px solid var(--color-border);border-block-end:1px solid var(--color-border)}.calendar-week-weekday-header-cell{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-align:center;padding-block:.25rem}.calendar-week-weekday-header-cell:nth-child(6),.calendar-week-weekday-header-cell:nth-child(7){background:color-mix(in srgb,#fff 6%,var(--color-bg))}.calendar-week-grid>.calendar-day-column:nth-child(6),.calendar-week-grid>.calendar-day-column:nth-child(7){background:color-mix(in srgb,#fff 7%,var(--color-surface))}.calendar-month-weekday-header-cell:nth-child(6),.calendar-month-weekday-header-cell:nth-child(7){background:color-mix(in srgb,#fff 6%,var(--color-bg))}.calendar-month-grid .calendar-month-cell:nth-child(7n+6),.calendar-month-grid .calendar-month-cell:nth-child(7n+7){background:color-mix(in srgb,#fff 7%,var(--color-surface))}.calendar-month-grid .calendar-month-cell-empty:nth-child(7n+6),.calendar-month-grid .calendar-month-cell-empty:nth-child(7n+7){background:color-mix(in srgb,#fff 6%,var(--color-bg))}.calendar-day-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.calendar-task-card{padding:.5rem;border-radius:.375rem;background:var(--color-bg);border:1px solid var(--color-border);display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .5rem;min-block-size:44px;cursor:default}.calendar-task-card[data-overdue=true] .calendar-task-title{color:#e57373}[data-high-contrast=true] .calendar-task-card[data-overdue=true] .calendar-task-title{color:var(--color-text-muted)}.calendar-task-card[draggable=true]{cursor:-webkit-grab;cursor:grab}.calendar-task-card[draggable=true]:active{cursor:-webkit-grabbing;cursor:grabbing}@media (prefers-reduced-motion:reduce){.calendar-task-card[draggable=true]{cursor:pointer}}.calendar-task-time,.calendar-task-time-range{font-size:.75rem;color:var(--color-text-muted);flex-shrink:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calendar-task-time-range{display:block;-webkit-margin-after:.15rem;margin-block-end:.15rem}.calendar-task-card .task-focus-time{-webkit-margin-after:.25rem;margin-block-end:.25rem;flex-shrink:0}.calendar-task-time-inline{display:block;font-size:.65rem;color:var(--color-text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;-webkit-margin-after:.1rem;margin-block-end:.1rem}.calendar-task-focus-time{font-size:.75rem;color:var(--color-text-muted);flex-shrink:0;-webkit-margin-start:.25rem;margin-inline-start:.25rem}.calendar-task-title{font-size:.9375rem;flex:1 1 auto;min-inline-size:0}.calendar-task-tags{display:flex;flex-wrap:wrap;gap:.2rem}.calendar-task-card-inline{padding:.25rem .4rem;font-size:.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);-webkit-margin-after:.2rem;margin-block-end:.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:1.5rem;display:flex;align-items:center}.calendar-task-card-inline:last-of-type{-webkit-margin-after:0;margin-block-end:0}.calendar-task-card-inline .calendar-task-title{font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-inline-size:0}.calendar-month-swipe{touch-action:none;-webkit-overflow-scrolling:touch}.calendar-month-swipe .calendar-month-grid{touch-action:none}.calendar-two-months{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}@media (max-width:768px){.calendar-two-months{grid-template-columns:1fr}}.calendar-month-block{display:flex;flex-direction:column;gap:.5rem}.calendar-month-block-title{font-size:1rem;font-weight:600;margin:0;color:var(--color-text)}.calendar-month-swipe-hint{font-size:.75rem;color:var(--color-text-muted);margin:.75rem 0 .5rem;text-align:center}.calendar-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.calendar-month-weekday-header{display:contents}.calendar-month-weekday-header-cell{font-size:.7rem;font-weight:600;color:var(--color-text-muted);text-align:center;padding-block:.25rem;padding-inline:.2rem}.calendar-month-row{display:contents}.calendar-month-cell{min-block-size:44px;padding:.35rem;border:1px solid var(--color-border);border-radius:.375rem;background:var(--color-surface);align-items:stretch;overflow:hidden;text-align:start;cursor:pointer;display:flex;flex-direction:column;gap:.2rem}.calendar-month-cell-empty{background:var(--color-bg);cursor:default;border-color:transparent}.calendar-month-cell[data-today=true]{border:2px solid #fff;background:color-mix(in srgb,var(--color-primary) 15%,var(--color-surface))}.calendar-month-cell-num{font-size:.875rem;font-weight:600;color:var(--color-text);flex-shrink:0}.calendar-month-merged-title{-webkit-margin-after:.5rem;margin-block-end:.5rem}.calendar-month-grid-merged .calendar-month-cell-first-month{background:color-mix(in srgb,#fff 18%,var(--color-surface))}.calendar-month-grid-merged .calendar-month-cell-first-month.calendar-month-cell-empty{background:color-mix(in srgb,#fff 12%,var(--color-bg))}.calendar-month-row .calendar-month-cell-first-month:nth-child(6),.calendar-month-row .calendar-month-cell-first-month:nth-child(7){background:color-mix(in srgb,#fff 14%,color-mix(in srgb,#fff 7%,var(--color-surface)))}.calendar-month-cell-second-month{background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface))}.calendar-month-cell-second-month.calendar-month-cell-empty{background:color-mix(in srgb,var(--color-primary) 4%,var(--color-bg))}.calendar-month-cell[data-today=true].calendar-month-cell-second-month{border:2px solid #fff;background:color-mix(in srgb,var(--color-primary) 18%,var(--color-surface))}.calendar-month-cell-num-month-start{color:var(--color-primary);font-weight:700}.calendar-month-row .calendar-month-cell-second-month:nth-child(6),.calendar-month-row .calendar-month-cell-second-month:nth-child(7){background:color-mix(in srgb,var(--color-primary) 8%,color-mix(in srgb,#fff 7%,var(--color-surface)))}.calendar-month-cell-extra{line-height:1.25;display:block;-webkit-margin-before:.15rem;margin-block-start:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-month-cell-extra,.calendar-task-more{font-size:.7rem;color:var(--color-text-muted)}.calendar-empty-day{margin-block:1rem}.calendar-drop-target{transition:background-color .15s ease}@media (prefers-reduced-motion:reduce){.calendar-drop-target{transition:none}}.reinforcement-badge{font-size:.875rem;color:var(--color-text-muted);-webkit-margin-after:.5rem;margin-block-end:.5rem}[data-high-contrast=true] .reinforcement-badge{color:var(--color-text)}.reinforcement-summary{font-size:.875rem;color:var(--color-text-muted);-webkit-margin-before:.75rem;margin-block-start:.75rem;-webkit-margin-after:.5rem;margin-block-end:.5rem}[data-high-contrast=true] .reinforcement-summary{color:var(--color-text)}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;-webkit-border-after:1px solid var(--color-border);border-block-end:1px solid var(--color-border)}.settings-row label{font-size:1rem}.settings-row select,.settings-select{padding:.5rem .75rem;font-size:.9375rem;background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:.375rem}.settings-row select:disabled,.settings-select-disabled{opacity:.6;cursor:not-allowed;color:var(--color-text-muted);background:var(--color-surface)}.settings-label-disabled{color:var(--color-text-muted)}.settings-range{flex:1 1;min-width:6rem;max-width:12rem;height:1.5rem;accent-color:var(--color-primary)}.settings-input{min-height:2.75rem;padding:.5rem .75rem;font-size:1rem;background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:.375rem}.settings-input:focus{outline:2px solid var(--color-primary);outline-offset:0}.language-search-input{min-height:2.75rem;padding:.5rem .75rem;font-size:1rem;width:100%;background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:.375rem}.language-search-input:focus{outline:2px solid var(--color-primary);outline-offset:0}.auto-lock-wheel-wrap,.auto-lock-wheel-wrap-disabled{display:flex;align-items:center;gap:.25rem;position:relative;overflow:hidden;border:1px solid var(--color-border);border-radius:.5rem;background:var(--color-bg);min-width:3.5rem;padding-inline:.5rem}.auto-lock-wheel-wrap .focus-wheel-selection-strip,.auto-lock-wheel-wrap-disabled .focus-wheel-selection-strip{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:32px;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:rgba(0,0,0,.06);pointer-events:none;border-radius:4px}.auto-lock-wheel{min-width:2.5rem;width:2.5rem;-webkit-overflow-scrolling:touch}.auto-lock-wheel .focus-wheel-item{color:#fff}.auto-lock-wheel .focus-wheel-item[aria-selected=true]{color:#fff;font-weight:600}.settings-row-auto-lock{display:flex;align-items:center;gap:.75rem}.settings-row-auto-lock label{flex-shrink:0}.auto-lock-wheel-wrap-disabled[aria-disabled=true]{opacity:.6;pointer-events:none}.ringtone-wheel-wrap{display:flex;align-items:center;position:relative;overflow:hidden;border:1px solid var(--color-border);border-radius:.5rem;background:var(--color-bg);min-width:8rem;max-width:14rem;padding-inline:.5rem}.ringtone-wheel-wrap .focus-wheel-selection-strip{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:32px;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:rgba(0,0,0,.06);pointer-events:none;border-radius:4px}.ringtone-wheel-wrap.ringtone-wheel-wrap-disabled{opacity:.6;pointer-events:none}.ringtone-wheel{flex:1 1;min-width:0;-webkit-overflow-scrolling:touch}.ringtone-wheel .focus-wheel-item{font-feature-settings:normal;font-variant-numeric:normal;font-size:.9375rem;padding-inline:.25rem;text-align:center;color:var(--color-text-muted);opacity:.7}.ringtone-wheel .focus-wheel-item[aria-selected=true]{color:#fff;font-weight:600;opacity:1}.settings-section{-webkit-margin-after:2rem;margin-block-end:2rem}.settings-heading{font-size:1.125rem;font-weight:600;-webkit-margin-after:.75rem;margin-block-end:.75rem}.settings-muted{color:var(--color-text-muted);font-size:.9375rem;-webkit-margin-after:.25rem;margin-block-end:.25rem}.btn{padding:.5rem 1rem;min-block-size:44px;min-height:44px;font-size:.9375rem;border-radius:.5rem;cursor:pointer;border:1px solid var(--color-border)}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-text)}.btn-secondary:hover{background:var(--color-border)}.btn:disabled{opacity:.6;cursor:not-allowed}.settings-error{color:#ef4444}.settings-error,.settings-success{font-size:.875rem;-webkit-margin-before:.5rem;margin-block-start:.5rem}.settings-success{color:var(--color-success)}.import-confirm{-webkit-margin-before:1rem;margin-block-start:1rem;padding:1rem;background:var(--color-surface);border-radius:.5rem;border:1px solid var(--color-border)}.import-mode{display:flex;flex-direction:column;gap:.5rem;-webkit-margin-before:.5rem;margin-block-start:.5rem}.import-mode label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.import-warning{color:#f59e0b;font-size:.875rem;-webkit-margin-before:.5rem;margin-block-start:.5rem}.preset-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;-webkit-border-after:1px solid var(--color-border);border-block-end:1px solid var(--color-border)}.preset-row .preset-info{font-size:1rem}.preset-row .preset-minutes{color:var(--color-text-muted);font-size:.875rem}.focus-custom-minutes-wrap{display:inline-flex;align-items:center;gap:.35rem}.focus-custom-value-trigger{display:inline-flex;align-items:center;min-height:1.5rem;padding:.125rem .5rem;margin-inline:.25rem;font-size:.875rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-text-muted);background:var(--color-bg-muted,#f1f5f9);border:1px solid var(--color-border);border-radius:.375rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}.focus-custom-value-trigger:hover:not(:disabled){background:var(--color-bg-muted-hover,#e2e8f0)}.focus-custom-value-trigger:disabled{cursor:default;opacity:.8}.focus-wheel-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(0,0,0,.65);-webkit-tap-highlight-color:transparent}.focus-wheel-panel{background:var(--color-bg,#fff);border-radius:1rem;padding:.875rem 1rem;box-shadow:0 8px 32px rgba(0,0,0,.2);max-width:100%}.focus-wheel-panel-inner{display:flex;align-items:center;justify-content:center;gap:.25rem;-webkit-margin-after:.75rem;margin-block-end:.75rem}.focus-wheel-container-overlay{display:inline-block;position:relative;overflow:hidden;min-width:3.5rem;padding-inline:.5rem;border:none;background:transparent}.focus-wheel-selection-strip{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:32px;border-top:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12);background:rgba(0,0,0,.04);pointer-events:none;border-radius:4px}.focus-wheel-done{display:block;width:100%}.preset-row-custom-wheel .preset-info{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.focus-custom-label{flex-shrink:0}.focus-wheel-container{display:inline-block;border:1px solid var(--color-border);border-radius:.5rem;background:var(--color-bg-muted,#f1f5f9);overflow:hidden;min-width:3.5rem;margin-inline:.25rem;padding-inline:.5rem}.focus-wheel{overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;outline:none;mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 88%,transparent)}.focus-wheel::-webkit-scrollbar{display:none}.focus-wheel:focus-visible{outline:2px solid var(--color-primary,#2563eb);outline-offset:1px}.focus-wheel-item,.focus-wheel-pad{flex-shrink:0;scroll-snap-align:center}.focus-wheel-item{display:flex;align-items:center;justify-content:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:400;color:rgba(0,0,0,.6);position:relative;box-sizing:border-box}.focus-wheel-item[aria-selected=true]{font-weight:600;color:#000}.focus-wheel-unit{flex-shrink:0;color:var(--color-text-muted);font-size:.875rem}.focus-countdown{text-align:center;padding:1.5rem 0;-webkit-margin-after:1rem;margin-block-end:1rem}.focus-session-task-title{font-size:1.125rem;font-weight:600;color:var(--color-text);margin:0 0 .5rem;line-height:1.3;word-break:break-word}.countdown-display{font-size:3rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-block-size:4rem;display:flex;align-items:center;justify-content:center}.btn-stop{-webkit-margin-before:1rem;margin-block-start:1rem;padding:.75rem 1.5rem;font-size:1rem;background:#dc2626;color:#fff;border:none;border-radius:.5rem;cursor:pointer;min-block-size:2.75rem}.btn-stop:hover{background:#b91c1c}.focus-actions{-webkit-margin-after:1rem;margin-block-end:1rem}.btn-start-last{width:100%;padding:.75rem 1rem;min-block-size:2.75rem}.focus-presets-list{-webkit-margin-after:1.5rem;margin-block-end:1.5rem}.focus-weekly{padding:1rem 0;-webkit-border-before:1px solid var(--color-border);border-block-start:1px solid var(--color-border)}.focus-weekly-title{font-size:1.125rem;font-weight:600;-webkit-margin-after:.25rem;margin-block-end:.25rem}.focus-weekly-date-range{font-size:.8125rem;color:var(--color-text-muted);-webkit-margin-after:.5rem;margin-block-end:.5rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.focus-weekly-total{font-size:1.25rem;-webkit-margin-after:.75rem;margin-block-end:.75rem}.focus-weekly-days{list-style:none;font-size:.9375rem;color:var(--color-text-muted);padding:0;margin:0;max-width:18rem}.focus-weekly-day-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.35rem 0;-webkit-border-after:1px solid var(--color-border);border-block-end:1px solid var(--color-border)}.focus-weekly-day-row:last-child{-webkit-border-after:none;border-block-end:none}.focus-weekly-day-left{display:flex;align-items:baseline;gap:.5rem;flex-shrink:0;min-width:0}.focus-weekly-day-date{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0}.focus-weekly-day-weekday{flex-shrink:0;color:var(--color-text-muted);font-size:.875em}.focus-weekly-day-min{flex-shrink:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:4rem;text-align:end}.task-row .btn-timer{padding:.375rem .5rem;min-width:2.25rem;min-height:2.25rem;font-size:.875rem;border:1px solid var(--color-start-btn,#0d9488);background:color-mix(in srgb,var(--color-start-btn,#0d9488) 14%,var(--color-surface));color:var(--color-start-btn,#0d9488);border-radius:.375rem;cursor:pointer}.task-row .btn-timer:hover{background:color-mix(in srgb,var(--color-start-btn,#0d9488) 22%,var(--color-surface));border-color:var(--color-start-btn,#0d9488)}.task-row .btn-timer:focus-visible{outline:2px solid var(--color-start-btn,#0d9488);outline-offset:2px}.frequent-panel{-webkit-margin-after:1.25rem;margin-block-end:1.25rem;-webkit-padding-after:1rem;padding-block-end:1rem;-webkit-border-after:1px solid var(--color-border);border-block-end:1px solid var(--color-border)}.frequent-panel-title{font-size:1rem;font-weight:600;-webkit-margin-after:.5rem;margin-block-end:.5rem;color:var(--color-text-muted)}.frequent-list{list-style:none}.frequent-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem 0;min-block-size:2.5rem}.frequent-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem}.frequent-panel .frequent-list .frequent-item:first-child .frequent-label{color:var(--color-start-last-label,#5eead4);font-weight:500}.frequent-panel .frequent-list .frequent-item:first-child .btn-primary{background:var(--color-start-btn,#0d9488);border-color:var(--color-start-btn,#0d9488);color:#fff}.frequent-panel .frequent-list .frequent-item:first-child .btn-primary:hover:not(:disabled){background:var(--color-start-btn-hover,#0f766e);border-color:var(--color-start-btn-hover,#0f766e)}.frequent-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.btn-sm{padding:.375rem .75rem;font-size:.875rem}.today-page{display:flex;flex-direction:column;gap:0;-webkit-padding-before:.25rem;padding-block-start:.25rem}.today-header{-webkit-margin-after:.75rem;margin-block-end:.75rem}.today-header .page-title{-webkit-margin-after:.25rem;margin-block-end:.25rem}.today-header .reinforcement-badge{-webkit-margin-after:0;margin-block-end:0}.today-toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;-webkit-margin-after:1rem;margin-block-end:1rem}.today-toolbar-btn{padding:.35rem .75rem;font-size:.875rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;color:var(--color-text);cursor:pointer}.today-toolbar-btn:hover{background:var(--color-border)}.today-toolbar-tag{font-size:.875rem;color:var(--color-text-muted)}.today-tasks{-webkit-margin-after:1.5rem;margin-block-end:1.5rem}.today-task-list{list-style:none;margin:0;padding:0}.today-task-list>li{-webkit-border-after:1px solid var(--color-border);border-block-end:1px solid var(--color-border)}.today-task-list>li:last-child{-webkit-border-after:none;border-block-end:none}.today-info-card{padding:1rem 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem}.today-info-card,.today-info-card .calendar-day-stub{-webkit-margin-after:.5rem;margin-block-end:.5rem}.today-info-card .calendar-day-stub:last-of-type{-webkit-margin-after:0;margin-block-end:0}.frequent-overflow{position:relative}.btn-icon{padding:.25rem .5rem;min-width:2rem;min-height:2rem;background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;border-radius:.25rem;font-size:1.25rem;line-height:1}.btn-icon:hover{background:var(--color-border);color:var(--color-text)}.frequent-overflow-menu{position:absolute;inset-inline-end:0;inset-block-start:100%;-webkit-margin-before:.25rem;margin-block-start:.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.375rem;padding:.25rem;min-width:8rem;z-index:10;box-shadow:0 4px 12px rgba(0,0,0,.3)}.frequent-overflow-menu button{display:block;width:100%;padding:.5rem .75rem;text-align:start;background:none;border:none;color:var(--color-text);cursor:pointer;font-size:.875rem;border-radius:.25rem}.frequent-overflow-menu button:hover{background:var(--color-border)}.lock-screen{position:fixed;inset:0;background:var(--color-bg);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.lock-screen-inner{width:100%;max-width:20rem}.lock-title{font-size:1.5rem;font-weight:700;-webkit-margin-after:1.5rem;margin-block-end:1.5rem;text-align:center}.lock-form{display:flex;flex-direction:column;gap:.75rem}.lock-label{font-size:.875rem;color:var(--color-text-muted)}.lock-input{padding:.75rem;font-size:1rem;border:1px solid var(--color-border);border-radius:.375rem;background:var(--color-surface);color:var(--color-text);-webkit-text-security:disc}.lock-input:focus{outline:2px solid var(--color-primary);outline-offset:2px}.lock-input[aria-invalid=true]{border-color:#ef4444}.lock-error{color:#ef4444;font-size:.875rem;margin:0}.lock-submit{-webkit-margin-before:.5rem;margin-block-start:.5rem}.ad-slot{-webkit-margin-before:1rem;margin-block-start:1rem;padding:.75rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem}.ad-slot-placeholder{text-align:center}.ad-slot-text{margin:0;font-size:.9375rem;color:var(--color-text-muted)}[data-high-contrast=true]{--color-border:#555;--color-text-muted:#bbb}[data-high-contrast=true] .btn,[data-high-contrast=true] .lock-input,[data-high-contrast=true] .modal-panel,[data-high-contrast=true] .nav-link,[data-high-contrast=true] .task-check,[data-high-contrast=true] input{border-width:2px}@media (prefers-contrast:more){:root{--color-border:#444;--color-text-muted:#aaa}}[data-large-text=true]{font-size:1.125rem;line-height:1.6}[data-large-text=true] .page-title,[data-large-text=true] .settings-heading{font-size:1.5rem}[data-large-text=true] .nav-link{font-size:.875rem}[data-large-text=true] .task-row{min-block-size:3.5rem}[data-large-text=true] .task-check{width:2rem;height:2rem}[data-large-text=true] .fab{width:4rem;height:4rem}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}