/* Shared components: the design preview only. Values come from design-tokens.css. */
body,body.light{font-family:-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:var(--reading-size);line-height:1.45;letter-spacing:0;background:var(--bg);color:var(--text);--accent:var(--accent-fill);--ink:var(--on-accent)}
.shell{max-width:720px;padding:var(--space-5) var(--space-5) calc(210px + env(safe-area-inset-bottom))}.top{margin-bottom:var(--space-5)}.brand{font-size:20px;letter-spacing:-.5px}.badge{font-size:11px;letter-spacing:0;text-transform:none;color:var(--muted);padding:4px 8px}.hero{margin-bottom:var(--space-6)}.hero h1{font-size:var(--font-heading);line-height:1.12;font-weight:700;letter-spacing:-.8px}.hero p{font-size:var(--font-caption);line-height:1.4;margin-top:var(--space-2);text-transform:none}.hero .hello{display:none}h2,.sheet-header h2{font-size:var(--font-section);font-weight:600;line-height:1.25;letter-spacing:-.3px}h3{font-size:17px;font-weight:600}small,.task small,.event-card small,.meta small,.task-context,.fact-type,.chip{font-size:var(--font-meta);line-height:1.45;color:var(--muted)}.help,.calendar-empty,.empty{font-size:var(--font-caption);color:var(--muted);line-height:1.5}.help{margin-top:var(--space-3)}.section{margin-bottom:var(--space-6)}.section-label{margin:var(--space-6) 0 var(--space-3)}.section>.row{gap:var(--space-2);margin-bottom:var(--space-3)}
button{min-height:44px;transition:transform var(--tap-duration) var(--ease-soft),background-color var(--state-duration),color var(--state-duration);border-radius:var(--radius-control)}button:active,.nav button:active,.icon:active,.voice-quick:active,.nav button:active .glyph{transform:scale(.98)}.primary,.secondary{min-height:52px;border-radius:var(--radius-control);padding:var(--space-3) var(--space-4);font-size:16px;font-weight:600}.primary{background:var(--accent-fill);color:var(--on-accent)}.primary:active{background:var(--accent-pressed)}.secondary{background:var(--s2);color:var(--text);border:0}.full{width:100%;margin-top:var(--space-4)}.textbutton{font-size:var(--font-meta);color:var(--accent-text);min-width:44px;min-height:44px;padding:var(--space-2)}.icon,.month-head .icon,.top-actions .icon{width:44px;height:44px;min-width:44px;min-height:44px;border:0;border-radius:50%;background:var(--s2);color:var(--text)}.glyph{width:24px;height:24px;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.nav .glyph,.nav .active .glyph{width:24px;height:24px;stroke-width:1.8}
.card,.task-group,.event-card,.day-progress,.empty,.calendar-empty{border-radius:var(--radius-card);background:var(--s1);border:0;padding:var(--space-4);box-shadow:none}.task-group{padding:0;overflow:hidden}.task-group .task,.project-card .task{background:transparent;border-radius:0;margin:0;border:0!important;border-bottom:1px solid var(--line)!important;padding:var(--space-3) var(--space-2);gap:var(--space-2);min-height:72px}.task-group .task:last-child,.project-card .task:last-child{border-bottom:0!important}.task .title,.note-title,.event-card strong{font-size:var(--reading-size);font-weight:400;line-height:1.45}.task small{margin-top:4px}.task .edit{border-radius:var(--radius-sm);min-width:0}.task-context{-webkit-line-clamp:2}.task.done .title{color:var(--muted)}.task .completion-check{color:var(--control-border)}.completion-mark polyline,.light .completion-mark polyline{stroke:var(--success)}.task.done .completion-mark rect{stroke:var(--success);fill:transparent}.task.completing .completion-mark rect{animation:none}.event-card{gap:var(--space-3);margin-bottom:var(--space-3)}.event-card>.glyph:first-child{color:var(--accent-text)}.event-card small{margin-top:4px;overflow-wrap:anywhere}.event-card>span{min-width:0}.day-progress{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-4);margin-bottom:var(--space-3)}.day-progress>span:first-child{flex:1}.day-progress strong{font-size:16px;font-weight:600;font-family:ui-rounded,-apple-system,system-ui,sans-serif}.day-progress small{font-size:13px}.real-progress{width:100%;height:6px;display:block;background:var(--s2);border-radius:var(--radius-pill);overflow:hidden}.real-progress i{display:block;height:100%;background:var(--accent-fill);border-radius:inherit}.compact-mode{margin-bottom:var(--space-5)}.compact-mode .switch-copy strong,.switch-copy strong{font-size:16px;font-weight:500}.compact-mode .switch-copy small,.switch-copy small{font-size:13px}.switch-row{border:0;border-radius:var(--radius-control);padding:var(--space-3);background:var(--s2)}.compact-mode .switch-row{background:transparent;padding:var(--space-2) 0}.switch-control{width:56px;height:44px}.switch-control .toggle-label{inset:7px 0;border:1px solid var(--control-border);background:var(--s2);box-shadow:none}.switch-control .toggle-label::before,.switch-control .toggle-label::after,.switch-control .sparkle{display:none}.switch-control .cont-icon,.light .switch-control .cont-icon{width:24px;height:24px;left:2px;top:2px;border:0;background:var(--text);box-shadow:0 1px 3px #0002}.toggle-input:checked+.toggle-label,body.light .toggle-input:checked+.toggle-label{background:var(--accent-fill);border-color:var(--accent-fill)}.toggle-input:checked+.toggle-label .cont-icon{background:var(--on-accent);transform:translateX(24px);border:0}.cont-icon .glyph{display:none}.toggle-input:active+.toggle-label .cont-icon{width:24px}
input,textarea,select{font:inherit;font-size:max(16px,var(--reading-size));line-height:1.5;border-radius:var(--radius-control);background:var(--s2);border:1px solid var(--control-border);color:var(--text);padding:var(--space-3);min-height:52px}label{font-size:var(--font-caption);color:var(--muted);margin:var(--space-4) 0 var(--space-2)}input[type=checkbox]{border-radius:var(--radius-sm);border:1.5px solid var(--control-border);width:24px;height:24px;min-width:24px;min-height:24px}.tick{min-height:44px;gap:var(--space-3);color:var(--text)}input:focus-visible,textarea:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px}.danger{color:var(--error)}button:disabled{color:var(--disabled);opacity:1;background:var(--s2)}.search{margin:var(--space-4) 0 var(--space-3)}.filters{gap:var(--space-2)}.chip{min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);border:0;background:var(--s2)}.chip.selected,body.light .chip.selected{background:var(--accent-fill);color:var(--on-accent)}.segmented{padding:var(--space-1);border-radius:var(--radius-control);background:var(--s2)}.segmented button{min-height:44px;font-size:13px;border-radius:var(--radius-sm)}.segmented [aria-pressed=true]{background:var(--accent-fill);color:var(--on-accent)}
.dock-wrap{padding:var(--space-2) var(--space-3) calc(var(--space-2) + env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--bg))}.nav{background:var(--glass);border:1px solid var(--line);border-radius:var(--radius-panel);padding:var(--space-1);box-shadow:0 4px 20px #00000012;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.nav button{border-radius:24px;height:58px;gap:var(--space-1);color:var(--muted);min-width:0}.nav button span{font-size:12px;line-height:1.3}.nav .active,body.light .nav .active{color:var(--accent-text);background:var(--accent-subtle)}.quick-capture{gap:var(--space-3);width:calc(100% - 40px);bottom:calc(96px + env(safe-area-inset-bottom))}.quick-capture>button:first-child{height:52px;border-radius:var(--radius-pill);background:var(--s2);color:var(--text);border:1px solid var(--control-border);box-shadow:none;font-size:16px;min-width:0}.quick-capture>button:first-child>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-quick{width:56px;height:56px;border-radius:50%;background:var(--accent-fill);color:var(--on-accent);box-shadow:none;flex-shrink:0}.voice-quick .glyph{width:24px;height:24px}.voice-quick small{font-size:10px;line-height:12px;color:var(--on-accent)}
dialog,dialog.glass-settings,body.light dialog.glass-settings{--panel:var(--s2);background:var(--s2);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-panel);padding:0 var(--space-5) var(--space-6);box-shadow:0 16px 48px #0003;max-width:540px;backdrop-filter:none;-webkit-backdrop-filter:none}dialog[open]{animation:sheet-in var(--panel-duration) var(--ease-soft)}dialog::backdrop,dialog.glass-settings::backdrop{background:var(--overlay);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.sheet-grip,.sheet-header{background:var(--s2)}.sheet-header{padding:var(--space-2) 0 var(--space-4);gap:var(--space-3)}.sheet-header .icon{width:44px;height:44px;min-height:44px;background:var(--s1);border-radius:50%}.sheet-header .icon .glyph{width:20px;height:20px}.sheet-content form>.actions{background:var(--s2);box-shadow:0 -8px 16px var(--s2)}.sheet-grip span{width:36px;height:5px;background:var(--muted);opacity:.7;border-radius:var(--radius-pill)}.sheet-content .card{padding:var(--space-4)}.sheet-content textarea{min-height:130px}.theme-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:var(--space-3) 0 var(--space-6)}.theme-tile{padding:var(--space-1);font-size:13px;min-width:0;border-radius:var(--radius-control);color:var(--text)}.theme-mini{display:flex;flex-direction:column;gap:8px;padding:16px 10px;border-radius:var(--radius-control);height:102px;margin-bottom:8px;position:relative;border:2px solid var(--control-border);background:#fff;--mini-line:#dcdde5}.mini-dark{background:#191b20;--mini-line:#494e59}.mini-system{background:linear-gradient(125deg,#fff 50%,#191b20 50%);--mini-line:#9499a8}.theme-mini i{height:8px;background:var(--mini-line);border-radius:999px}.theme-mini i:first-child{width:55%}.theme-mini i:nth-child(2){background:var(--accent-fill)}.theme-mini b{display:none;position:absolute;right:-4px;top:-4px;background:var(--accent-fill);color:var(--on-accent);width:26px;height:26px;border-radius:50%;font-size:18px}.theme-tile[aria-pressed=true] .theme-mini{border-color:var(--accent-text)}.theme-tile[aria-pressed=true] b{display:grid;place-items:center}.appearance-options{border-top:0;padding:0}.appearance-options h3{font-size:15px}.accent-swatches{gap:var(--space-2);margin:var(--space-3) 0 var(--space-5)}.accent-swatches button{width:100%;aspect-ratio:1;min-height:44px;border-radius:50%;border:2px solid transparent}.accent-swatches [aria-pressed=true]{outline:2px solid var(--text);outline-offset:2px}.appearance-options input[type=range]{min-height:44px;height:44px;border:0;padding:0;accent-color:var(--accent-text)}.sandbox-settings{margin-top:var(--space-6)}.sandbox-settings summary{font-size:13px;min-height:44px;color:var(--muted)}
.project-card .task{padding-left:0;padding-right:0}.project-card .real-progress{margin:var(--space-3) 0}.project-card h2{font-size:21px}.design-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:var(--space-1);gap:0;background:var(--s1);border-radius:var(--radius-card);margin-top:var(--space-4)}.design-week button{display:grid;gap:4px;place-content:center;min-height:64px;border-radius:var(--radius-control);padding:4px 0;min-width:0}.design-week button span{font-size:13px;color:var(--muted)}.design-week strong{font-size:17px;font-weight:500}.design-week [aria-pressed=true]{background:var(--accent-fill);color:var(--on-accent)}.design-week [aria-pressed=true] span{color:var(--on-accent)}.agenda-item{display:flex;gap:var(--space-3);align-items:flex-start}.agenda-item time{font-size:13px;color:var(--muted);padding-top:var(--space-4);min-width:42px}.agenda-item .event-card{background:var(--accent-subtle);flex:1}.agenda-item .event-card small{font-size:13px}.agenda-item .event-card>.glyph{display:none}.calendar-gap{margin:0 0 var(--space-3) 54px;border:1px dashed var(--control-border);padding:var(--space-4);border-radius:var(--radius-card);color:var(--muted);display:grid;gap:4px;font-size:13px}.calendar-gap strong{font-weight:500}.reminder-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--line)}.reminder-row:last-child{border:0}.reminder-row .wide{flex:1;min-width:0}.reminder-row strong{font-weight:400;overflow-wrap:anywhere}.reminder-row small{display:block}.reminder-row .icon{background:transparent}.reminder-row .textbutton{flex-shrink:0}.note-checklist{margin:var(--space-4) 0}.checklist-row{display:flex;align-items:center;gap:var(--space-3);text-align:left;width:100%;padding:var(--space-3);min-height:52px}.checklist-row[aria-checked=true] .glyph{color:var(--success)}.audio-preview{padding:var(--space-4);background:var(--s1);border-radius:var(--radius-card)}audio{width:100%;margin-top:var(--space-3)}input[type=file]{font-size:13px;width:100%;border:0;padding:var(--space-2)}.voice-stage{padding:var(--space-6) 0;color:var(--text)}.voice-stage p{font-size:var(--reading-size);line-height:1.5}.wave{height:100px;display:flex;align-items:center;justify-content:center;gap:5px;margin-bottom:var(--space-6)}.wave i{width:5px;border-radius:999px;background:var(--accent-fill)}.state-error{color:var(--error)}.state-error .wave i{background:var(--error)}.state-controls{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-6)}.state-controls .secondary{font-size:13px;min-height:44px;flex:1 1 45%;background:var(--s1)}.state-controls [aria-pressed=true]{outline:2px solid var(--accent-text)}.library-tabs{background:var(--s2);border-radius:var(--radius-control)}.library-tabs button{font-size:13px;min-height:44px;border-radius:var(--radius-sm)}#toast{background:var(--text);color:var(--bg);font-size:15px;border-radius:var(--radius-control)}
@supports not (backdrop-filter:blur(1px)){.nav{background:var(--s2)}dialog::backdrop{background:var(--overlay)}}.reduced-transparency .nav{background:var(--s2);backdrop-filter:none;-webkit-backdrop-filter:none}.reduced-transparency dialog::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}
@media(max-width:650px){dialog,dialog.glass-settings{border-radius:var(--radius-panel) var(--radius-panel) 0 0;padding:0 var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom));max-width:100%;bottom:0}.shell{padding-top:calc(var(--space-4) + env(safe-area-inset-top))}.dategrid{grid-template-columns:1fr}.quick-capture{width:calc(100% - 40px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}button:active{transform:none!important}}.quiet-motion *,.quiet-motion *::before,.quiet-motion *::after{animation:none!important;transition:none!important}
.reminder-row .wide{min-height:44px}

/* 1.2 — grouped organizer. The same plain material on every screen. */
.shell{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.entrance{animation:none}.top{display:flex;justify-content:space-between;align-items:center;margin:0 -8px 16px;gap:8px}.top-actions{display:flex;gap:8px}.header-action{width:44px;height:44px;display:grid;place-items:center;padding:0;color:var(--accent-text);background:none;border:0;border-radius:12px}.header-action .glyph{width:24px;height:24px}.header-action:active{background:var(--s2)}
.card,.task-group,.event-card,.day-progress,.empty,.calendar-empty,.design-week,.audio-preview,.plain-group{background:var(--s1);border:0;border-radius:var(--radius-card);box-shadow:none}.card:before,.card:after{display:none}.plain-group{overflow:hidden}.shell .card,.shell .task-group,.shell .event-card,.shell .day-progress,.shell .design-week{box-shadow:none}.section{margin-bottom:24px}.section-label{margin:24px 0 8px}.section>.row{margin-bottom:4px}.today-page h2{font-size:13px;font-weight:400;color:var(--muted);letter-spacing:0}.today-page .section>.row{min-height:36px}.today-page .section-label{padding-left:16px}.today-page .section>.row h2{padding-left:16px}.today-page .textbutton{font-size:15px;font-weight:400}
.day-heading{margin-bottom:24px}.day-heading>p{font-size:13px;color:var(--muted);text-transform:capitalize;margin:0 0 4px}.day-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.day-title h1{font-size:34px;line-height:1.15;font-weight:700;letter-spacing:-.8px;margin:0}.day-count{font-size:15px;color:var(--muted);font-weight:400;background:none;padding:0;min-height:44px;min-width:44px;white-space:nowrap}
.compact-mode{margin-bottom:16px}.compact-mode .switch-row{background:var(--s1);padding:6px 16px;border-radius:12px;min-height:56px;margin:0}.compact-mode .switch-copy strong{font-size:var(--reading-size);font-weight:400}.switch-copy small:empty{display:none}.switch-control .toggle-label{background:var(--s2);border:0;box-shadow:none}.switch-control .cont-icon,.light .switch-control .cont-icon{background:#fff;border:0;box-shadow:none}.toggle-input:checked+.toggle-label .cont-icon,.light .toggle-input:checked+.toggle-label .cont-icon{background:#fff}.switch-row{box-shadow:none}
.task-group .task,.project-card .task{padding:4px 12px 4px 8px;min-height:56px;border-bottom:.5px solid var(--line)!important}.task .title{font-weight:400}.task .edit{padding:8px 0;min-height:44px}.task .completion-check{width:44px;min-width:44px;height:44px}.task.completing{background:var(--s1)!important}.task.done .completion-mark rect{fill:var(--accent-fill);stroke:var(--accent-fill)}.task.done .completion-mark polyline{stroke:var(--bg)}.task .completion-mark{width:24px;height:24px}.today-event,.thought-row{display:flex;width:100%;text-align:left;background:none;border:0;border-radius:0;border-bottom:.5px solid var(--line);padding:12px 16px;min-height:56px;gap:16px;box-shadow:none}.today-event:last-child,.thought-row:last-child{border-bottom:0}.today-event time{font-size:15px;min-width:42px;padding-top:2px;color:var(--text)}.today-event>span{min-width:0;flex:1}.today-event strong,.thought-row strong{display:block;font-size:var(--reading-size);font-weight:400;line-height:1.35;overflow-wrap:anywhere}.today-event small,.thought-row small{display:block;font-size:13px;color:var(--muted);margin-top:3px}.thought-row{display:block}.thought-row strong,.thought-row small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.today-page .empty{padding:16px;font-size:17px;color:var(--muted);margin:0}
.dock-wrap{position:fixed;left:0;right:0;bottom:0;padding:0 8px env(safe-area-inset-bottom);background:var(--bg);border:0;border-top:.5px solid var(--line);box-shadow:none}.nav{background:var(--bg);border:0;border-radius:0;padding:4px 0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;max-width:720px;margin:0 auto}.nav button{height:52px;border-radius:0;background:none;box-shadow:none;color:var(--muted)}.nav button span{font-size:11px}.nav .active,body.light .nav .active,.nav button.active{background:none;color:var(--accent-text)}.nav button:active{transform:scale(.98)}
.filters .chip,.chip.selected,body.light .chip.selected{background:var(--s2);color:var(--muted);border-radius:8px;box-shadow:none}.filters .chip.selected{color:var(--text);text-decoration:underline;text-underline-offset:4px;font-weight:500}.segmented [aria-pressed=true],.library-tabs [aria-pressed=true]{background:var(--s1);color:var(--text);box-shadow:none}.month-grid button[aria-pressed=true],.design-week [aria-pressed=true]{background:var(--s2);color:var(--text);outline:1px solid var(--control-border)}.design-week [aria-pressed=true] span{color:var(--muted)}.agenda-item .event-card{background:var(--s1)}.real-progress i{background:var(--muted)}.sphere .symbol,.fact-type{color:var(--muted)}
dialog,dialog.glass-settings,body.light dialog.glass-settings{--panel:var(--bg);background:var(--bg);border:0;box-shadow:0 -8px 32px #0003;backdrop-filter:none;-webkit-backdrop-filter:none}.sheet-grip,.sheet-header,.sheet-content form>.actions{background:var(--bg)}dialog::backdrop,dialog.glass-settings::backdrop{background:var(--overlay);backdrop-filter:none;-webkit-backdrop-filter:none}.sheet-content form>.actions{box-shadow:none}.sheet-header{min-height:52px;padding:0 0 16px}.glass-settings .sheet-header{display:grid;grid-template-columns:72px 1fr 72px;align-items:center}.glass-settings .sheet-header h2{grid-column:2;text-align:center;font-size:17px;font-weight:600;margin:0}.settings-done{grid-column:3;font-size:17px;color:var(--accent-text);min-width:64px;min-height:44px;background:none;padding:0;text-align:right}.glass-settings .theme-segment{display:flex;padding:3px;background:var(--s2);gap:2px;margin:4px 0 24px;border-radius:9px}.theme-segment button{font-size:13px;min-width:0;min-height:44px;border-radius:7px}.theme-segment [aria-pressed=true]{background:var(--s1);color:var(--text);font-weight:600}
.appearance-options{padding:0;border:0;overflow:hidden}.settings-row{padding:12px 16px;border-bottom:.5px solid var(--line);font-size:var(--reading-size);color:var(--text);margin:0;min-height:56px}.settings-row:last-child{border:0}.accent-row{display:flex;flex-direction:column;gap:8px}.accent-swatches{display:grid;grid-template-columns:repeat(6,minmax(44px,1fr));gap:0;margin:0}.accent-swatches button{width:100%;height:44px;min-height:44px;aspect-ratio:auto;background:none;border:0;border-radius:0;position:relative;display:grid;place-items:center;outline:none}.accent-swatches button:before{content:'';width:36px;height:36px;border-radius:50%;background:var(--swatch);position:absolute}.accent-swatches button span{position:relative;color:#1c1c1e;font-size:22px;font-weight:600}.accent-swatches [aria-pressed=true]{outline:none;border:0}.text-size-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px}.text-size-row label{margin:0;font-size:var(--reading-size);color:var(--text)}.text-size-row output{font-size:15px;color:var(--muted)}.text-size-row input{grid-column:1/-1;width:100%;margin:0;accent-color:var(--text)}
.settings-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.settings-switch>span{min-width:0;flex:1}.settings-switch input[type=checkbox]{appearance:none;-webkit-appearance:none;position:relative;width:51px;height:44px;min-width:51px;min-height:44px;border:0;border-radius:0;background:none;margin:0;padding:0;box-shadow:none;cursor:pointer}.settings-switch input:before{content:'';position:absolute;top:6.5px;left:0;width:51px;height:31px;background:var(--s2);border-radius:16px;transition:background-color var(--state-duration)}.settings-switch input:after{content:'';position:absolute;left:2px;top:8.5px;width:27px;height:27px;border-radius:50%;background:white;transform:none;transition:transform var(--state-duration)}.settings-switch input:checked:before{background:var(--accent-fill)}.settings-switch input:checked:after{transform:translateX(20px)}.settings-switch input:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.sandbox-settings{margin:24px 0 0}.sandbox-settings summary{font-size:15px}.glass-settings .card{background:var(--s1)}
@media(max-width:650px){.shell{padding:calc(8px + env(safe-area-inset-top)) 20px calc(100px + env(safe-area-inset-bottom))}.top{margin-bottom:12px}dialog,dialog.glass-settings{border-radius:20px 20px 0 0}.glass-settings{padding-left:16px;padding-right:16px}}
@media(max-width:350px){.shell{padding-left:16px;padding-right:16px}.settings-row{padding-left:10px;padding-right:10px}.accent-swatches{grid-template-columns:repeat(6,minmax(0,1fr))}.day-title h1{font-size:32px}}

/* 1.3 — tactile capture, soft grouped content. Uiverse motion by vinodjangid07,
   reworked for tap, keyboard, cancellation and reduced motion. */
:root{--radius-card:20px;--capture-duration:300ms;--capture-ease:cubic-bezier(.22,.8,.28,1)}
.card,.task-group,.event-card,.empty,.calendar-empty,.plain-group,.compact-mode,.compact-mode .switch-row{border-radius:var(--radius-card)}
.header-spacer{width:44px;height:44px}.top{min-height:44px}
.shell{padding-bottom:calc(180px + env(safe-area-inset-bottom))}
.capture-bar{max-width:560px;margin:0 auto;padding:12px 20px 10px;background:var(--bg)}
.capture-main{display:flex;gap:12px;align-items:center;height:56px}
.capture-text{height:54px;flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:0 16px;border:1px solid var(--line);border-radius:27px;background:var(--s1);color:var(--muted);font-size:17px;white-space:nowrap;overflow:hidden;transform-origin:left center;transition:flex var(--capture-duration) var(--capture-ease),opacity 180ms ease,transform var(--capture-duration) var(--capture-ease),padding var(--capture-duration),border-width var(--capture-duration)}
.capture-text .glyph{flex-shrink:0;color:var(--accent-text)}
.capture-mic{position:relative;flex:0 0 54px;height:54px;min-width:54px;padding:0;overflow:hidden;border:0;border-radius:27px;background:var(--accent-fill);color:var(--on-accent);box-shadow:0 0 0 3px var(--accent-subtle);transition:flex var(--capture-duration) var(--capture-ease),background 180ms ease,transform 120ms ease}
.capture-mic-icon{display:grid;place-items:center;position:absolute;inset:0;transition:transform 220ms ease,opacity 160ms ease}.capture-mic-icon .glyph{width:25px;height:25px}
.capture-record{display:flex;align-items:center;justify-content:center;gap:12px;position:absolute;inset:0;opacity:0;transform:translateY(36px);white-space:nowrap;font-size:16px;font-weight:500;transition:transform 240ms var(--capture-ease),opacity 200ms ease}
.capture-stop{width:15px;height:15px;flex-shrink:0;background:currentColor;border-radius:4px}
.capture-wave{height:26px;display:flex;gap:3px;align-items:center}.capture-wave i{width:3px;height:var(--bar);border-radius:3px;background:currentColor;animation:capture-wave 850ms ease-in-out infinite alternate;animation-delay:var(--delay);animation-play-state:paused}
.capture-details[hidden]{display:none}.capture-details p{font-size:13px;color:var(--muted);text-align:center;margin:12px 0 0}.capture-tools{display:flex;justify-content:space-between}.capture-tools button{min-width:80px;min-height:44px;background:transparent;color:var(--accent-text);border:0;padding:8px 0;font-size:15px}
.capture-bar.is-recording .capture-main{gap:0}.capture-bar.is-recording .capture-text{flex:0 0 0;padding:0;border-width:0;opacity:0;transform:translateX(-28px) rotate(-5deg);pointer-events:none}.capture-bar.is-recording .capture-mic{flex:1}
.capture-bar.is-recording .capture-mic-icon{transform:translateY(-170%);opacity:0}.capture-bar.is-recording .capture-record{opacity:1;transform:translateY(0);transition-delay:80ms}.capture-bar.is-recording .capture-wave i{animation-play-state:running}.capture-bar.is-paused .capture-wave i{animation-play-state:paused}
.capture-mic:active,.capture-text:active{transform:scale(.98)}.capture-bar button:focus-visible{outline:2px solid var(--accent-text);outline-offset:4px}
body:has(.capture-bar.is-recording) .shell{padding-bottom:calc(260px + env(safe-area-inset-bottom))}
body.keyboard-open .capture-bar{display:none}
@keyframes capture-wave{to{transform:scaleY(.45)}}
body.quiet-motion .capture-bar *,body.quiet-motion .capture-bar *::before{transition:none!important;animation:none!important}
@media(prefers-reduced-motion:reduce){.capture-bar *{transition:none!important;animation:none!important}}
@media(max-width:350px){.capture-bar{padding-left:16px;padding-right:16px}.capture-record{gap:8px;font-size:15px}}
.capture-bar{pointer-events:auto}
/* 1.4: focus belongs to the dialog title on opening, not the full-width grip.
   Keep a compact keyboard indicator on the grip itself. */
#sheet-title:focus{outline:none}
.sheet-grip:focus,.sheet-grip:focus-visible{outline:none;box-shadow:none}
.sheet-grip:focus-visible span{outline:2px solid var(--accent-text);outline-offset:5px;opacity:1}
/* Sun / crescent motion adapted from the user-provided witer33 reference.
   Scoped to settings; no global checkbox or label overrides. */
.appearance-orbit{display:grid;place-items:center;height:110px;margin:0 0 12px;pointer-events:none}
.appearance-sun{position:relative;width:80px;height:80px;border-radius:50%;background:linear-gradient(40deg,#ff4173,#ff9d32,#f1d5a5,#8983f7,#a3dafb 80%);background-size:400%;background-position:100% 100%;transition:background-position 450ms ease}
.appearance-crescent{position:absolute;right:0;top:0;width:60px;height:60px;border-radius:50%;background:var(--bg);transform:scale(1);transform-origin:top right;transition:transform 450ms cubic-bezier(.645,.045,.355,1),background-color 180ms ease}
body.light .appearance-sun{background-position:0% 0%}
body.light .appearance-crescent{transform:scale(0)}
@media(max-height:650px){.appearance-orbit{height:86px}.appearance-sun{width:64px;height:64px}.appearance-crescent{width:48px;height:48px}}
/* 1.5: quiet companion, local scripted examples only. */
.companion-card{margin:24px 0;background:var(--s1);border:1px solid var(--line);border-radius:20px;overflow:hidden}
.companion-open{display:flex;align-items:center;text-align:left;gap:12px;width:100%;padding:16px 16px 4px;background:none;color:var(--text)}
.companion-open>span:nth-child(2){flex:1;min-width:0}.companion-open strong{display:block;font-size:15px;font-weight:600;margin-bottom:6px}.companion-open strong small{font-weight:400;font-size:12px;color:var(--muted);margin-left:6px;display:inline}.companion-open span span{font-size:15px;line-height:1.45;display:block}.companion-chevron{color:var(--muted);font-size:24px}
.phantom-cat{width:44px;height:44px;flex-shrink:0;display:block;transition:transform 180ms ease}.phantom-cat svg{width:100%;height:100%;overflow:visible}.companion-open:active .phantom-cat{transform:rotate(-7deg) translateY(-2px)}.phantom-cat.large{width:100px;height:100px}.companion-dismiss{margin-left:72px;min-height:44px;padding:8px 0 12px;background:none;color:var(--muted);font-size:13px}.companion-restore{min-height:44px;color:var(--muted);background:none;font-size:13px;margin:12px 0}
.companion-intro{display:flex;align-items:center;justify-content:center;gap:20px;margin:4px 0 20px}.companion-intro p{font-size:20px;line-height:1.3;font-weight:500}.companion-tabs{display:flex;gap:4px;padding:4px;border-radius:16px;background:var(--s2);margin:20px 0}.companion-tabs button{flex:1;min-width:0;min-height:44px;font-size:13px;border-radius:12px;color:var(--muted);background:none}.companion-tabs [aria-pressed=true]{background:var(--s1);color:var(--text)}
.companion-source,.companion-answer{padding:16px;border-radius:18px;margin:12px 0 20px;background:var(--s1)}.companion-source small,.companion-answer small{color:var(--muted);font-size:13px}.companion-source p,.companion-answer p{margin:8px 0 0;line-height:1.5;overflow-wrap:anywhere}.companion-source{border-left:3px solid var(--line)}.companion-answer{background:none;padding-top:0;padding-bottom:0}
/* 1.6 — contextual entry, one interruptible local reminder. */
dialog.welcome-overlay{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;border-radius:0;padding:env(safe-area-inset-top) 20px env(safe-area-inset-bottom);background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:none;isolation:isolate}
dialog.welcome-overlay::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23888' filter='url(%23n)' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}
.welcome-overlay .sheet-grip{display:none}.welcome-overlay .sheet-header{max-width:440px;margin:0 auto;padding:12px 0;background:none}.welcome-overlay .sheet-header h2{font-size:17px;color:var(--muted)}.welcome-overlay .sheet-header .icon{background:var(--s1)}
.welcome-content{max-width:400px;margin:auto;text-align:center;padding:12px 0 28px}.welcome-label{font-size:12px;color:var(--muted)}.phantom-cat.welcome{width:132px;height:132px;margin:20px auto 12px}.is-attentive .phantom-cat{transform:rotate(-5deg)}.is-kind .phantom-cat{transform:rotate(5deg)}.is-kind .phantom-cat ellipse{ry:3px}.welcome-content h3{font-size:28px;line-height:1.2;margin:12px 0;font-weight:650;letter-spacing:-.5px}.welcome-copy{color:var(--muted);font-size:16px;line-height:1.5;margin:0 12px 24px}.welcome-task{background:var(--s1);border:1px solid var(--line);border-radius:22px;padding:20px;text-align:left}.welcome-task strong{display:block;font-size:21px;font-weight:600;margin:8px 0;overflow-wrap:anywhere}.welcome-task small,.welcome-task span{font-size:13px;color:var(--muted)}.welcome-actions{display:grid;gap:8px;margin-top:24px}.welcome-actions button{min-height:52px;font-size:15px}.welcome-count{font-size:12px;color:var(--muted);margin:16px 0}.welcome-moods{display:flex;justify-content:center;gap:8px}.welcome-moods button{min-height:44px;padding:8px 16px;border-radius:22px;background:transparent;font-size:13px;color:var(--muted)}.welcome-moods [aria-pressed=true]{background:var(--s1);color:var(--text)}.welcome-settings{margin:24px 0}.welcome-settings h3{font-size:17px;margin-bottom:12px}
.reduced-transparency dialog.welcome-overlay{background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none}.reduced-transparency dialog.welcome-overlay::before{display:none}
@supports not (backdrop-filter:blur(1px)){dialog.welcome-overlay{background:var(--bg)}}
@media(max-height:700px){.phantom-cat.welcome{width:88px;height:88px;margin:8px auto}.welcome-content{padding-top:0}.welcome-copy{margin-bottom:12px}.welcome-actions{margin-top:12px}}

/* 1.7: closed completion frame; inset check; explicit paired selection colors. */
.task .completion-check{display:grid;place-items:center;filter:none;box-shadow:none}
.task .completion-mark{display:block;width:28px;height:28px;overflow:hidden;filter:none;transform:none;animation:none}
.task .completion-mark rect,.task.done .completion-mark rect{stroke-dasharray:none;stroke-dashoffset:0;animation:none;transition:fill 180ms ease,stroke 180ms ease}
.task .completion-mark rect{stroke:var(--control-border);fill:none}
.task.done .completion-mark rect{stroke:var(--accent-fill);fill:var(--accent-fill)}
.task .completion-mark polyline{stroke-dasharray:20;stroke-dashoffset:20;stroke:var(--on-accent);animation:none;transition:stroke-dashoffset 180ms ease}
.task.done .completion-mark polyline{stroke:var(--on-accent);stroke-dasharray:20;stroke-dashoffset:0}
body .filters .chip.selected,body.light .filters .chip.selected{background:var(--s2);color:var(--text);border:0;box-shadow:none;text-decoration:underline;text-underline-offset:4px}
body.quiet-motion .task .completion-mark rect,body.quiet-motion .task .completion-mark polyline{transition:none}
@media(prefers-reduced-motion:reduce){.task .completion-mark rect,.task .completion-mark polyline{transition:none}}
