/* Approved preservation-led refinement, applied after the deployed themes. */
:root, .dark { --evolve-row-border: 210 5% 23%; --evolve-row-hover: 210 7.14% 16.47%; }
.task-row {
  background: hsl(var(--card) / .78);
  border-color: hsl(var(--evolve-row-border) / .68);
  box-shadow: inset 0 1px hsl(var(--glass-highlight) / .12);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  transition: background-color .15s, border-color .15s;
  padding: 12px 14px; border-radius: 14px;
}
.task-row:hover { transform: none; background: hsl(var(--evolve-row-hover)); border-color: hsl(var(--evolve-row-border)); box-shadow: none; }
.evolve-task-description { font-size: 13px; line-height: 1.5; margin-top: 4px; }
.evolve-inline-add { border: 1px dashed hsl(var(--border)); box-shadow:none; background:transparent; }
.evolve-inline-add:hover { background:hsl(var(--secondary) / .4); }
.sidebar-item { position:relative; }
.sidebar-item.active::before { position:absolute; left:3px; width:3px; box-shadow:none; }
.sidebar-item.active > :last-child:not(:first-child) { color:inherit !important; }
.evolve-sidebar > div { box-shadow:0 10px 30px hsl(213 30% 25% / .07); }
.evolve-sort { width:180px; min-width:180px; gap:8px; }
.evolve-sort-label { flex:1; text-align:left; white-space:nowrap; }
.atmosphere-panel { padding:16px 18px; box-shadow:inset 0 1px hsl(var(--glass-highlight) / .25); border-color:hsl(var(--border) / .65); background:linear-gradient(120deg,hsl(var(--glass-surface-strong) / .8),hsl(var(--card) / .5)); }
.atmosphere-panel::before { opacity:.35; box-shadow:none; }
.atmosphere-glyph { width:34px; height:34px; box-shadow:none; }
.atmosphere-panel .load-track { display:none; }
main h1 { font-family:var(--font-serif); font-size:24px; line-height:1.3; letter-spacing:-.02em; }
.evolve-page-heading { margin:20px 28px 16px; padding:16px 18px; border:1px solid hsl(var(--border) / .65); border-radius:var(--glass-large-radius); background:hsl(var(--card) / .55); gap:16px; }
main > div > div:first-child:not(.tasks-page) h1 > span:first-child { font-family:var(--font-sans); font-size:18px; }
.evolve-detail-backdrop { background:hsl(var(--background) / .38); backdrop-filter:blur(2px); }
.task-document { max-width:500px; }
.document-chip[aria-pressed="true"] { box-shadow:inset 0 0 0 1px currentColor; font-weight:700; }
.document-chip[aria-pressed="true"]::after { content:'✓'; margin-left:3px; }
/* Glass defines position:relative late in the deployed stylesheet. Restore primitive positioning. */
[role="dialog"].glass-material-large { position:fixed; }
.evolve-dialog-close { position:absolute; inset:12px 12px auto auto; width:32px; height:32px; display:grid; place-items:center; padding:0; }
[role="dialog"] > div:first-child { padding-right:32px; }
.evolve-field { display:flex; flex-direction:column; gap:6px; font-size:12px; color:hsl(var(--muted-foreground)); }
.evolve-field input,.evolve-field textarea { color:hsl(var(--foreground)); }
[role="dialog"] { max-height:calc(100dvh - 32px); overflow-y:auto; }
.evolve-habit-heading,.evolve-habit-row { display:grid; grid-template-columns:minmax(160px,1fr) 444px 32px; align-items:center; gap:12px; padding:12px; }
.evolve-habit-heading { margin-bottom:6px; }
.evolve-habit-heading-label { font-size:13px; font-weight:600; }
.evolve-habit-name { grid-column:1; grid-row:1; }
.evolve-habit-row > .flex.gap-1 { grid-column:2; grid-row:1; }
.evolve-habit-record { grid-column:1; grid-row:2; margin-left:42px; }
.evolve-habit-delete { grid-column:3; grid-row:1; min-width:32px; min-height:32px; opacity:.7; }
.evolve-habit-empty { opacity:1; }
.evolve-habit-empty > div { border-color:hsl(var(--muted-foreground) / .65); }
.dark .evolve-habit-empty > div { border-color:hsl(var(--muted-foreground) / .8) !important; }
.evolve-habit-row button:disabled { cursor:default; }
.evolve-habit-row button:not(:disabled)[data-testid^="habit-check"] { outline:1px solid hsl(var(--muted-foreground) / .6); outline-offset:1px; }
.evolve-week-switch { display:flex; align-items:center; justify-content:space-between; gap:8px; font-weight:400; font-size:12px; }
.evolve-week-switch button { width:40px; height:40px; border:1px solid hsl(var(--border)); border-radius:10px; font-size:18px; }
.evolve-week-switch button:disabled { opacity:.3; }
button:focus-visible,a:focus-visible,[role="button"]:focus-visible { outline:2px solid hsl(var(--ring)); outline-offset:3px; }
.dark .task-row { border-color:hsl(var(--evolve-row-border) / .65); background:hsl(var(--card)); box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
.dark .task-row:hover { background:hsl(var(--evolve-row-hover)); border-color:hsl(var(--evolve-row-border)); }
.dark .atmosphere-panel { background:hsl(var(--card) / .55); border-color:hsl(var(--border) / .5); box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
.dark .atmosphere-panel::before { display:none; }
.dark .atmosphere-glyph { background:hsl(var(--secondary)); border-color:hsl(var(--border)); }
.dark .task-document,.dark [role="dialog"].glass-material-large { background:hsl(var(--card) / .98); }
@media(max-width:1100px) and (min-width:768px) {
  .evolve-habit-heading,.evolve-habit-row { grid-template-columns:minmax(0,1fr) 32px; }
  .evolve-habit-heading > .flex.gap-1,.evolve-habit-row > .flex.gap-1 { grid-column:1 / -1; grid-row:2; justify-self:end; }
  .evolve-habit-delete { grid-column:2; }
  .evolve-habit-record { grid-row:3; }
}
@media(max-width:767px) {
  main h1 { font-size:22px; }
  .evolve-page-heading { margin:16px; padding:14px; flex-wrap:wrap; }
  .evolve-habits > div:first-child > div:first-child { gap:8px; flex-wrap:wrap; }
  .task-row { padding:8px 10px; gap:6px; border-radius:10px; }
  .task-row > button[aria-pressed] { min-width:28px; min-height:28px; display:grid; place-items:center; margin-top:0; }
  .task-row > div:first-child { width:0; }
  .evolve-sort { width:174px; min-width:174px; }
  .task-document { max-width:100%; }
  .atmosphere-panel { padding:14px; }
  .evolve-habits > div { padding-left:16px; padding-right:16px; }
  .evolve-habit-heading,.evolve-habit-row { grid-template-columns:minmax(0,1fr) 36px; gap:8px; padding:12px; }
  .evolve-habit-heading-label { grid-column:1 / -1; }
  .evolve-habit-heading-label > span { display:none; }
  .evolve-habit-heading > .flex.gap-1,.evolve-habit-row > .flex.gap-1 { grid-column:1 / -1; grid-row:2; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:2px; width:100%; }
  .evolve-habit-heading > .flex.gap-1 > div { width:auto; }
  .evolve-habit-row > .flex.gap-1 > button { width:100%; height:40px; }
  .evolve-habit-delete { grid-column:2; width:36px; height:40px; }
  .evolve-habit-record { grid-row:3; }
  .evolve-habit-name .truncate { white-space:normal; overflow:visible; }
  .document-chip { min-height:40px; }
  [role="dialog"] { width:calc(100% - 24px); }
  .evolve-field input,.evolve-field textarea { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { .task-row { animation:none; transition:none; } }

/* Ambient art layer and precise mechanical feedback. The UI remains usable when motion is reduced. */
html.dark body::before { display:block; position:fixed; z-index:-2; inset:-18%; pointer-events:none; content:""; opacity:.5; background:radial-gradient(circle at 12% 10%,hsl(var(--primary)/.11),transparent 30%),radial-gradient(circle at 88% 82%,hsl(210 45% 24%/.18),transparent 35%); filter:blur(34px); animation:ambient-drift 26s ease-in-out infinite alternate; }
html.dark body::after { display:block; position:fixed; z-index:-3; inset:0; pointer-events:none; content:""; opacity:.16; background-image:linear-gradient(hsl(var(--border)/.18) 1px,transparent 1px),linear-gradient(90deg,hsl(var(--border)/.18) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(to bottom,black,transparent 82%); }
html.dark .tasks-page::before { display:block; position:fixed; z-index:-1; inset:0; pointer-events:none; content:""; background:radial-gradient(circle at 50% 0%,hsl(var(--primary)/.045),transparent 44%); }
button,a,.task-row,[role="button"] { transition:transform .16s cubic-bezier(.2,.8,.2,1),background-color .16s ease,border-color .16s ease,color .16s ease; }
button:active:not(:disabled),a:active,.task-row:active { transform:translateY(1px) scale(.985); }
.task-row.completed { animation:mechanical-settle .34s cubic-bezier(.2,.8,.2,1); }

/* Radar */
.radar-page,.garage-page,.trace-page { min-height:100%; overflow:auto; padding:28px 32px 48px; color:hsl(var(--foreground)); }
.radar-heading,.trace-heading { max-width:760px; margin:0 auto 20px; display:flex; justify-content:space-between; gap:24px; align-items:flex-start; }
.radar-kicker,.garage-kicker,.trace-kicker { margin:0 0 8px; color:hsl(var(--primary)); font-size:11px; letter-spacing:.18em; font-weight:700; }
.radar-heading h1,.garage-console h1,.trace-heading h1 { margin:0; font-family:var(--font-serif); font-size:clamp(28px,4vw,48px); letter-spacing:-.04em; }
.radar-heading p:not(.radar-kicker),.trace-heading p:not(.trace-kicker),.garage-lede { margin:8px 0 0; color:hsl(var(--muted-foreground)); max-width:560px; line-height:1.65; }
.radar-pulse { width:12px; height:12px; margin-top:10px; border-radius:50%; background:hsl(var(--primary)); box-shadow:0 0 0 8px hsl(var(--primary)/.1),0 0 30px hsl(var(--primary)/.7); animation:radar-pulse 2.4s ease-in-out infinite; }
.radar-stage { position:relative; width:min(78vw,680px); aspect-ratio:1; margin:26px auto; border:1px solid hsl(var(--primary)/.28); border-radius:50%; overflow:hidden; background:radial-gradient(circle,hsl(var(--primary)/.08),hsl(var(--card)/.82) 60%,hsl(var(--background)/.9)); box-shadow:0 0 80px hsl(var(--primary)/.08),inset 0 0 50px hsl(var(--primary)/.08); }
.radar-ring { position:absolute; inset:calc(var(--ring) * 12%); border:1px solid hsl(var(--primary)/.22); border-radius:50%; }
.radar-crosshair,.radar-crosshair::after { position:absolute; content:""; background:hsl(var(--primary)/.2); }
.radar-crosshair { inset:50% 0 auto; height:1px; }.radar-crosshair::after { inset:-50vh auto auto 50%; width:1px; height:100vh; }
.radar-core { position:absolute; left:50%; top:50%; translate:-50% -50%; display:grid; place-items:center; width:92px; height:92px; border:1px solid hsl(var(--primary)/.5); border-radius:50%; background:hsl(var(--background)/.8); box-shadow:0 0 28px hsl(var(--primary)/.18); text-align:center; }.radar-core strong{font-size:28px;color:hsl(var(--primary));}.radar-core span{font-size:10px;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.12em;}
.radar-node { position:absolute; left:50%; top:50%; width:18px; height:18px; padding:0; border:0; background:transparent; transform:rotate(var(--node-angle)) translateY(calc(var(--node-distance) * -1)) rotate(calc(var(--node-angle) * -1)); }.radar-node-dot{display:block;width:9px;height:9px;border-radius:50%;background:hsl(var(--primary));box-shadow:0 0 0 4px hsl(var(--primary)/.12),0 0 20px hsl(var(--primary)/.75);animation:node-blink 2.8s ease-in-out infinite;}.radar-node:hover .radar-node-dot{transform:scale(1.5);}
.radar-legend { max-width:760px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.radar-legend div,.trace-recent,.trace-strip{border:1px solid hsl(var(--border));background:hsl(var(--card)/.62);}.radar-legend div{padding:12px 14px;border-radius:10px}.radar-legend strong,.radar-legend span{display:block}.radar-legend strong{color:hsl(var(--primary));font-size:18px}.radar-legend span{margin-top:3px;color:hsl(var(--muted-foreground));font-size:11px}.radar-note{max-width:760px;margin:18px auto 0;color:hsl(var(--muted-foreground));font-size:12px;text-align:center}
/* Night garage */
.garage-page { display:grid; place-items:center; position:relative; background:linear-gradient(135deg,hsl(var(--background)/.2),hsl(210 12% 5%/.8)); }.garage-console{width:min(100%,700px);padding:clamp(24px,6vw,70px);border:1px solid hsl(var(--primary)/.28);background:linear-gradient(145deg,hsl(var(--card)/.9),hsl(var(--background)/.88));box-shadow:0 24px 80px rgb(0 0 0/.35),inset 0 1px hsl(var(--primary)/.1);}.garage-lede{max-width:420px}.garage-instrument{display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:center;margin:42px 0 34px;padding:18px;border-top:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border));}.garage-dial{display:grid;place-items:center;aspect-ratio:1;border:1px solid hsl(var(--primary)/.35);border-radius:50%;color:hsl(var(--muted-foreground));font-size:10px;letter-spacing:.15em;position:relative}.garage-dial strong{font-size:26px;color:hsl(var(--foreground));letter-spacing:.02em}.garage-dial i{width:7px;height:7px;border-radius:50%;background:hsl(var(--muted-foreground));box-shadow:0 0 0 5px hsl(var(--muted-foreground)/.1)}.garage-dial i.is-armed{background:hsl(var(--primary));box-shadow:0 0 0 5px hsl(var(--primary)/.12),0 0 20px hsl(var(--primary)/.8)}.garage-readout{display:grid;gap:8px}.garage-readout span,.garage-readout small{color:hsl(var(--muted-foreground));font-size:11px;letter-spacing:.1em}.garage-readout strong{font-size:26px;letter-spacing:.1em;color:hsl(var(--primary))}.garage-arm{min-height:44px;padding:12px 18px;border:1px solid hsl(var(--primary)/.5);background:transparent;color:hsl(var(--primary));font:inherit;letter-spacing:.04em}.garage-arm[aria-pressed=true]{background:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:0 0 30px hsl(var(--primary)/.22)}.garage-lines{position:absolute;inset:auto 0 16%;display:flex;justify-content:center;gap:10px;opacity:.28}.garage-lines span{width:64px;height:1px;background:hsl(var(--primary));animation:garage-scan 3s ease-in-out infinite}.garage-lines span:nth-child(2){animation-delay:.4s}.garage-lines span:nth-child(3){animation-delay:.8s}.garage-footnote{position:absolute;bottom:20px;color:hsl(var(--muted-foreground));font-size:11px}
/* Work traces */
.trace-page{max-width:980px;margin:0 auto}.trace-strip{display:flex;align-items:end;gap:8px;min-height:220px;padding:22px 18px;border-radius:14px}.trace-day{flex:1;min-width:0;text-align:center}.trace-bar-wrap{height:145px;display:flex;align-items:end;justify-content:center}.trace-bar{width:min(22px,60%);min-height:8px;border-radius:4px 4px 2px 2px;background:linear-gradient(to top,hsl(var(--primary)/.35),hsl(var(--primary)));box-shadow:0 0 18px hsl(var(--primary)/.2);animation:trace-rise .7s cubic-bezier(.2,.8,.2,1) both}.trace-day span,.trace-day small{display:block;color:hsl(var(--muted-foreground));font-size:10px;margin-top:8px}.trace-day small{color:hsl(var(--primary));margin-top:2px}.trace-recent{margin-top:18px;padding:18px;border-radius:14px}.trace-recent-head{display:flex;justify-content:space-between;align-items:center}.trace-recent h2{font-size:18px;margin:0}.trace-recent-head span{color:hsl(var(--muted-foreground));font-size:12px}.trace-item{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid hsl(var(--border)/.7)}.trace-item:last-child{border-bottom:0}.trace-index{color:hsl(var(--primary));font-variant-numeric:tabular-nums}.trace-item strong,.trace-item small{display:block}.trace-item small{color:hsl(var(--muted-foreground));font-size:11px;margin-top:3px}.trace-mark{width:8px;height:8px;border-radius:50%;background:hsl(var(--primary));box-shadow:0 0 0 4px hsl(var(--primary)/.12)}
@keyframes ambient-drift { from{transform:translate3d(-2%,0,0) scale(1)} to{transform:translate3d(2%,2%,0) scale(1.08)} }
@keyframes radar-pulse { 0%,100%{opacity:.65;transform:scale(.9)} 50%{opacity:1;transform:scale(1.1)} }
@keyframes node-blink { 0%,100%{opacity:.65} 50%{opacity:1} }
@keyframes garage-scan { 0%,100%{transform:scaleX(.4);opacity:.2} 50%{transform:scaleX(1.2);opacity:1} }
@keyframes trace-rise { from{transform:scaleY(0);transform-origin:bottom} to{transform:scaleY(1);transform-origin:bottom} }
@keyframes mechanical-settle { 0%{transform:translateY(1px) scale(.985)} 60%{transform:translateY(-1px) scale(1.005)} 100%{transform:none} }
@media(prefers-reduced-motion:reduce){html.dark body::before,.radar-pulse,.radar-node-dot,.garage-lines span,.trace-bar{animation:none}.task-row.completed{animation:none}}
@media(max-width:640px){
  .trace-heading{display:grid;grid-template-columns:1fr;gap:4px}
  .trace-heading h1{font-size:clamp(32px,12vw,48px)}
  .trace-heading p:not(.trace-kicker){max-width:34ch}
  .trace-strip{justify-content:flex-start;overflow-x:auto;overscroll-behavior-inline:contain}
  .trace-day{flex:0 0 34px}
  .trace-day span{white-space:nowrap}
  .garage-page{display:block;padding:88px 16px 72px;overflow:auto}
  .garage-console{width:100%;box-sizing:border-box;padding:28px 24px}
  .garage-instrument{grid-template-columns:1fr;gap:22px;margin:30px 0 26px;padding:18px 0}
  .garage-dial{width:min(180px,70vw);justify-self:center}
  .garage-readout{padding:0 4px}
  .garage-arm{width:100%}
  .garage-footnote{position:static;margin:18px 0 0;line-height:1.5}
  .garage-lines{display:none}
}

/* Shared content modules, deliberately separate from their heading panels. */
.focus-panel { width:100%; max-width:680px; margin-bottom:24px; padding:20px; border:1px solid hsl(var(--primary) / .35); border-radius:18px; background:hsl(var(--card)); }
.focus-panel-heading,.focus-current,.focus-controls { display:flex; align-items:center; gap:12px; }
.focus-panel-heading { justify-content:space-between; margin-bottom:18px; }
.focus-panel-heading h2,.focus-stats h2 { font-size:18px; font-weight:600; }
.focus-panel-heading span,.focus-note,.focus-current p,.focus-stats p { color:hsl(var(--muted-foreground)); font-size:13px; line-height:1.6; }
.focus-current { justify-content:space-between; margin-bottom:16px; }
.focus-current h3 { font-size:17px; font-weight:500; overflow-wrap:anywhere; }
.focus-clock { font-size:34px; font-variant-numeric:tabular-nums; white-space:nowrap; color:hsl(var(--primary)); }
.focus-button { min-height:44px; padding:9px 15px; border:1px solid hsl(var(--border)); border-radius:10px; background:hsl(var(--secondary)); font:inherit; font-size:14px; white-space:nowrap; }
.focus-button.primary { background:hsl(var(--primary)); color:hsl(var(--primary-foreground)); border-color:transparent; font-weight:600; }
.focus-button:disabled { opacity:.45; cursor:not-allowed; }
.focus-button:not(:disabled):hover { filter:brightness(1.1); }
.focus-picker { display:flex; align-items:end; gap:12px; }
.focus-picker label { flex:1; min-width:0; }
.focus-panel label,.focus-stats label { display:flex; flex-direction:column; gap:6px; font-size:13px; color:hsl(var(--muted-foreground)); }
.focus-panel :is(input,select),.focus-stats input { min-height:44px; border:1px solid hsl(var(--input)); border-radius:10px; background:hsl(var(--background)); color:hsl(var(--foreground)); padding:8px 12px; min-width:0; max-width:100%; font-size:16px; }
.focus-panel select { width:100%; }
.focus-error { color:#f18196; font-size:13px; margin-top:10px; }
.focus-error .focus-button { margin-left:10px; }
.focus-reminder { margin-top:18px; padding-top:18px; border-top:1px solid hsl(var(--border)); }
.focus-reminder p { margin:6px 0 12px; }
.focus-reminder form { display:flex; flex-wrap:wrap; align-items:end; gap:10px; }
.focus-dock { position:fixed; z-index:40; bottom:16px; right:20px; left:320px; max-width:750px; margin-left:auto; padding:12px 16px; display:flex; align-items:center; gap:16px; border:1px solid hsl(var(--primary)/.4); border-radius:14px; background:hsl(var(--popover)); box-shadow:0 6px 24px #0005; }
.focus-dock a { min-width:0; flex:1; }
.focus-dock a span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
.focus-dock strong { color:hsl(var(--primary)); font-variant-numeric:tabular-nums; }
.has-focus-dock main { padding-bottom:100px; }
.focus-stats { overflow-y:auto; flex:1; padding:20px 28px 40px; }
.focus-stats>.evolve-page-heading { margin:0 0 24px; }
.focus-period { display:flex; gap:16px; margin-bottom:12px; }
.focus-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:24px 0 32px; }
.focus-metrics dt { font-size:13px; color:hsl(var(--muted-foreground)); }
.focus-metrics dd { font-size:28px; font-variant-numeric:tabular-nums; margin-top:6px; }
.focus-analysis { border-top:1px solid hsl(var(--border)); border-bottom:1px solid hsl(var(--border)); padding:24px 0; margin-bottom:28px; }
.focus-analysis .focus-button { margin-top:12px; }
.focus-summary { white-space:pre-wrap; margin:20px 0; }
.focus-groups { margin-top:20px; }
.focus-groups li { display:flex; justify-content:space-between; gap:20px; padding:8px 0; }
.focus-groups li>span:last-child { color:hsl(var(--muted-foreground)); }
.focus-results article { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(150px,230px); align-items:center; gap:20px; padding:16px 0; border-bottom:1px solid hsl(var(--border)); }
.focus-results h3 { overflow-wrap:anywhere; }
.focus-result-time { font-variant-numeric:tabular-nums; font-size:14px; }
.focus-category-edit { display:flex; gap:6px; }
.focus-category-edit input { width:100%; }
@media(min-width:1024px) {
  .focus-panel { display:grid; grid-template-columns:120px minmax(0,1fr); align-items:center; gap:12px 18px; padding:14px 16px; margin-bottom:16px; border-radius:12px; border-color:hsl(var(--border)); }
  .focus-panel.has-session { grid-template-columns:120px minmax(0,1fr); }
  .focus-panel-heading { display:block; margin:0; }
  .focus-panel-heading h2 { font-size:14px; }
  .focus-panel-heading span { display:block; margin-top:3px; font-size:12px; }
  .focus-current { min-width:0; margin:0; gap:16px; }
  .focus-current > div { min-width:0; }
  .focus-current h3 { font-size:14px; line-height:1.4; }
  .focus-current p { font-size:12px; margin-top:3px; }
  .focus-clock { font-size:24px; }
  .focus-panel > .focus-controls { grid-column:2; gap:6px; flex-wrap:wrap; }
  .focus-panel .focus-button { padding:8px 12px; font-size:13px; }
  .focus-picker { align-items:center; }
  .focus-picker label { flex-direction:row; align-items:center; gap:10px; font-size:12px; }
  .focus-picker select { flex:1; width:0; font-size:14px; }
  .focus-panel > :is(.focus-note,.focus-error,.focus-reminder) { grid-column:1 / -1; margin-top:0; }
  .focus-panel .focus-reminder { padding-top:12px; }
}
@media(max-width:767px) {
  .focus-panel { padding:16px; }
  .focus-current { flex-direction:column; align-items:start; gap:8px; }
  .focus-clock { font-size:36px; }
  .focus-picker { flex-direction:column; align-items:stretch; }
  .focus-controls { flex-wrap:wrap; }
  .focus-dock { left:10px; right:10px; bottom:calc(10px + env(safe-area-inset-bottom)); padding:10px; gap:8px; }
  .focus-dock .focus-controls { flex-wrap:nowrap; gap:6px; }
  .focus-dock .focus-button { padding:8px 10px; }
  .focus-stats { padding:16px; }
  .focus-metrics { grid-template-columns:1fr; gap:16px; }
  .focus-metrics>div { display:flex; justify-content:space-between; align-items:center; }
  .focus-metrics dd { font-size:24px; margin:0; }
  .focus-period { gap:10px; }
  .focus-period label { min-width:0; flex:1; }
  .focus-results article { grid-template-columns:1fr auto; gap:10px; }
  .focus-category-edit { grid-column:1 / -1; }
  .task-row { grid-template-columns:18px 40px minmax(0,1fr); gap:6px; }
  .task-row > div:first-child { width:18px; }
  .task-row > button[aria-pressed] { width:40px; height:40px; }
  .task-row > div:last-child { grid-column:2 / -1; justify-content:flex-end; transform:none; margin-top:2px; }
  .task-row > div:last-child button { min-width:36px; min-height:36px; padding:6px; }
  .task-row .opacity-0 { opacity:1; }
}
.evolve-long-content { max-width:1100px; padding:20px 28px 32px; margin:0 auto; }
.evolve-long-content > .evolve-page-heading { margin:0 0 24px; }
.evolve-review,.evolve-settings { max-width:920px; }
.evolve-review [data-testid^="review-step-"] { background:hsl(var(--card)); border-color:hsl(var(--border)); }
.evolve-review [data-testid^="review-step-"]:has([aria-pressed="true"]) { border-color:#83b89e66; }
.evolve-review [data-testid^="review-step-"] > div:first-child { min-height:56px; }
.evolve-review [data-testid^="review-step-"] button:focus-visible { outline-offset:4px; }
.evolve-settings :is([role="switch"],[role="slider"]) { flex-shrink:0; }
.evolve-stats .tabular-nums { font-variant-numeric:tabular-nums; }
.evolve-board-scroll { padding:0 28px 24px; scrollbar-width:thin; scrollbar-color:hsl(var(--muted-foreground)) transparent; }
.evolve-kanban [data-testid^="kanban-col-"] { width:284px; background:hsl(var(--card) / .65) !important; border:1px solid hsl(var(--border)); border-radius:18px; }
.evolve-kanban [data-testid^="kanban-col-"] > div:first-child { min-height:48px; padding:12px 14px; }
/* These two legacy surfaces use !important in the deployed bundle. */
.evolve-kanban [draggable="true"] { background:hsl(var(--secondary) / .5) !important; border-radius:12px !important; box-shadow:none; }
.evolve-matrix [data-testid^="quadrant-"] { background:hsl(var(--card)); border-width:1px; border-top-width:3px; border-radius:16px; }
.evolve-matrix [data-testid^="eisenhower-task-"] { min-height:48px; }

.evolve-notes-desktop,.evolve-calendar-desktop { margin:16px 24px; height:calc(100% - 32px); border:1px solid hsl(var(--border)); border-radius:18px; background:hsl(var(--card)); }
.evolve-notes-desktop .evolve-note-folders { width:164px; background:hsl(var(--card)); }
.evolve-notes-desktop .evolve-note-list { width:236px; background:hsl(var(--background) / .5); }
.evolve-note-editor { background:hsl(var(--card)); }
.evolve-note-editor > div:first-child,.evolve-note-list > div:first-child,.evolve-note-folders > div:first-child { min-height:52px; }
.evolve-note-editor input[aria-label="Заголовок заметки"] { font-family:var(--font-serif); font-size:22px; line-height:1.45; padding:20px 24px 12px; background:transparent; }
.evolve-note-editor textarea { padding:12px 24px 32px; line-height:1.8; background:transparent; }
.evolve-note-list [class~="text-muted-foreground/60"],.evolve-note-list [class~="text-muted-foreground/40"],.evolve-note-folders [class~="text-muted-foreground/40"] { color:hsl(var(--muted-foreground)); }
.evolve-note-folders .group:focus-within button,.evolve-note-folders .group:hover button { opacity:1; }
.evolve-calendar-month { width:340px; background:hsl(var(--card)); }
.evolve-calendar-day { flex:1; min-width:0; width:auto; background:hsl(var(--background) / .3); }
.evolve-calendar-day > div:first-child { min-height:64px; }
.evolve-calendar-day > div:nth-child(2) { padding:20px 24px; }
.evolve-calendar-day textarea { min-height:180px; line-height:1.7; }
.evolve-calendar-month button[aria-pressed],.evolve-calendar-mobile button[aria-pressed] { min-height:42px; }
.evolve-calendar-month [class~="text-muted-foreground/50"],.evolve-calendar-mobile [class~="text-muted-foreground/50"] { color:hsl(var(--muted-foreground)); }
.evolve-calendar-month button[aria-current="date"]:not([aria-pressed="true"]) { box-shadow:inset 0 0 0 1px hsl(var(--primary) / .55); }
@media(min-width:768px) and (max-width:1099px) {
  .evolve-notes-desktop,.evolve-calendar-desktop { display:none; }
  .evolve-notes-mobile,.evolve-calendar-mobile { display:flex; }
}
@media(max-width:767px) {
  .evolve-long-content { padding:16px 16px 28px; }
  .evolve-long-content > .evolve-page-heading { margin:0 0 20px; }
  .evolve-board-scroll { padding:0 16px 20px; }
  .evolve-kanban [data-testid^="kanban-col-"] { width:calc(100vw - 48px); max-width:320px; }
  .evolve-page-heading h1 { overflow-wrap:anywhere; }
  .evolve-settings section > .p-5 { padding:16px; }
  .evolve-settings .grid-cols-2 { grid-template-columns:minmax(0,1fr); }
  .evolve-note-editor input[aria-label="Заголовок заметки"] { padding:16px 18px 10px; }
  .evolve-note-editor textarea { padding:10px 18px 24px; font-size:16px; }
  .evolve-note-folders .group button { opacity:1; }
  .evolve-calendar-day > div:nth-child(2) { padding:16px; }
  .evolve-calendar-day textarea { font-size:16px; }
}

.evolve-task-toolbar { flex-wrap: wrap; }

.priority-toolbar {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-left: auto;
  min-width: 0;
  max-width: 100%;
}

.priority-toolbar > .priority-button {
  min-height: 34px;
  padding: 6px 10px;
  border-radius: 9px;
  background: transparent;
  font-size: 12px;
}

@media (max-width: 767px), (pointer: coarse) {
  .priority-toolbar > .priority-button { min-height: 44px; }
}

@media (max-width: 479px) {
  .priority-toolbar { flex-basis: 100%; margin-left: 0; }
}

.priority-toolbar .priority-active {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 4px 10px;
  border: 1px solid hsl(var(--primary) / .48);
  border-radius: 999px;
  background: hsl(var(--primary) / .12);
  color: hsl(var(--primary));
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .01em;
}

.priority-muted,.priority-error-inline { font-size: 13px; }
.priority-muted { color: hsl(var(--muted-foreground)); }
.priority-error-inline,.priority-error { color: hsl(var(--primary)); }

.priority-button {
  min-width: 44px;
  min-height: 44px;
  padding: 9px 15px;
  border: 1px solid hsl(var(--border));
  border-radius: 11px;
  background: hsl(var(--secondary));
  color: hsl(var(--foreground));
  font: inherit;
  font-size: 14px;
  line-height: 1.3;
  cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease, transform .15s ease;
}

.priority-button.primary {
  border-color: transparent;
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
  font-weight: 700;
}

.priority-button:not(:disabled):hover { border-color: hsl(var(--primary) / .65); background-color: hsl(var(--secondary) / .8); }
.priority-button.primary:not(:disabled):hover { filter: brightness(1.08); }
.priority-button:not(:disabled):active { transform: translateY(1px); }
.priority-button:disabled { opacity: .48; cursor: not-allowed; }
.priority-button:focus-visible { outline: 2px solid hsl(var(--primary)); outline-offset: 3px; }

.priority-dialog {
  box-sizing: border-box;
  width: min(720px, calc(100vw - 32px));
  max-width: 720px;
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid hsl(var(--border));
  border-radius: 20px;
  background: hsl(var(--card));
  color: hsl(var(--foreground));
  color-scheme: dark;
  box-shadow: 0 24px 90px rgb(0 0 0 / .6), 0 0 0 1px rgb(255 255 255 / .025) inset;
}

.priority-dialog::backdrop {
  background: rgb(9 10 13 / .76);
  backdrop-filter: blur(5px);
}

.priority-dialog-shell { display: flex; max-height: calc(100dvh - 32px); flex-direction: column; }
.priority-dialog-header { display: flex; flex: 0 0 auto; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 22px 24px 17px; border-bottom: 1px solid hsl(var(--border)); }
.priority-eyebrow { margin: 0 0 5px; color: hsl(var(--primary)); font-size: 12px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; }
.priority-dialog-header h2 { margin: 0; font-family: var(--font-serif, Georgia, serif); font-size: 24px; line-height: 1.25; letter-spacing: -.02em; }
.priority-close { flex: 0 0 44px; width: 44px; padding: 0; font-size: 25px; line-height: 1; }
.priority-dialog-scroll { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 20px 24px 22px; scrollbar-width: thin; scrollbar-color: hsl(var(--muted-foreground)) transparent; }
.priority-dialog-footer { flex: 0 0 auto; padding: 12px 24px 15px; border-top: 1px solid hsl(var(--border)); color: hsl(var(--muted-foreground)); font-size: 12px; line-height: 1.5; }

.priority-intro { margin: 0 0 18px; color: hsl(var(--foreground)); font-size: 14px; line-height: 1.6; }
.priority-field { display: flex; flex-direction: column; gap: 8px; color: hsl(var(--foreground)); font-size: 13px; font-weight: 600; }
.priority-field textarea,.priority-question textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 108px;
  resize: vertical;
  padding: 12px 14px;
  border: 1px solid hsl(var(--input));
  border-radius: 12px;
  outline: none;
  background: hsl(var(--background));
  color: hsl(var(--foreground));
  font: inherit;
  font-size: 16px;
  line-height: 1.55;
}
.priority-field textarea::placeholder,.priority-question textarea::placeholder { color: hsl(var(--muted-foreground)); }
.priority-field textarea:focus,.priority-question textarea:focus { border-color: hsl(var(--primary)); box-shadow: 0 0 0 2px hsl(var(--primary) / .2); }
.priority-field textarea:disabled,.priority-question textarea:disabled { opacity: .6; }
.priority-counter { align-self: flex-end; color: hsl(var(--muted-foreground)); font-size: 12px; font-weight: 400; }
.priority-disclosure { margin: 17px 0 0; padding: 13px 15px; border: 1px solid hsl(var(--border)); border-radius: 12px; background: hsl(var(--secondary) / .45); }
.priority-disclosure summary { min-height: 24px; color: hsl(var(--primary)); font-size: 13px; font-weight: 650; cursor: pointer; }
.priority-disclosure p { margin: 10px 0 0; color: hsl(var(--muted-foreground)); font-size: 13px; line-height: 1.6; }
.priority-disclosure p + p { margin-top: 7px; }
.priority-candidate-count,.priority-context-counts { margin: 14px 0 0; color: hsl(var(--muted-foreground)); font-size: 13px; line-height: 1.5; }
.priority-context-counts { padding: 11px 13px; border-left: 3px solid hsl(var(--primary)); background: hsl(var(--secondary) / .5); }
.priority-notice { margin: 0 0 16px; padding: 11px 13px; border: 1px solid hsl(var(--primary) / .4); border-radius: 10px; background: hsl(var(--primary) / .09); color: hsl(var(--primary)); font-size: 13px; line-height: 1.5; }
.priority-actions { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; margin-top: 20px; }
.priority-actions .primary { margin-right: 2px; }

.priority-memory-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 22px 0 11px; }
.priority-memory-heading h3,.priority-history h3 { margin: 0; color: hsl(var(--foreground)); font-size: 16px; line-height: 1.35; }
.priority-memory-heading p { margin: 3px 0 0; color: hsl(var(--muted-foreground)); font-size: 12px; line-height: 1.5; }
.priority-memory-facts { display: grid; gap: 10px; }
.priority-memory-fact { min-width: 0; padding: 13px; border: 1px solid hsl(var(--border)); border-radius: 13px; background: hsl(var(--secondary) / .3); }
.priority-memory-fact-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; color: hsl(var(--foreground)); font-size: 12px; font-weight: 650; }
.priority-memory-date,.priority-memory-expired { color: hsl(var(--muted-foreground)); font-size: 11px; font-weight: 500; text-align: right; }
.priority-memory-fact-question { margin: 0 0 9px; color: hsl(var(--muted-foreground)); font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.priority-memory-fact textarea { min-height: 70px; }
.priority-memory-fact-actions { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-top: 10px; }
.priority-memory-scope { flex: 1 1 200px; max-width: 280px; }
.priority-memory-scope select { box-sizing: border-box; width: 100%; min-height: 44px; padding: 9px 12px; border: 1px solid hsl(var(--input)); border-radius: 10px; background: hsl(var(--background)); color: hsl(var(--foreground)); font: inherit; font-size: 14px; }
.priority-memory-scope select:focus-visible { outline: 2px solid hsl(var(--primary)); outline-offset: 2px; }
.priority-memory-remove { min-height: 44px; }
.priority-empty-memory,.priority-memory-guidance { margin: 10px 0 0; color: hsl(var(--muted-foreground)); font-size: 13px; line-height: 1.55; }
.priority-memory-status { margin: 13px 0 0; padding: 10px 12px; border-left: 3px solid hsl(var(--primary)); background: hsl(var(--secondary) / .45); color: hsl(var(--foreground)); font-size: 13px; line-height: 1.5; }
.priority-history { margin-top: 22px; padding-top: 17px; border-top: 1px solid hsl(var(--border)); }
.priority-history h3 { margin-bottom: 10px; }
.priority-history-list { display: grid; gap: 8px; }
.priority-history-entry { border: 1px solid hsl(var(--border)); border-radius: 11px; background: hsl(var(--secondary) / .3); }
.priority-history-entry summary { min-height: 24px; padding: 11px 13px; color: hsl(var(--foreground)); font-size: 13px; line-height: 1.5; cursor: pointer; }
.priority-history-content { padding: 0 13px 13px; }
.priority-history-label { margin: 11px 0 4px; color: hsl(var(--muted-foreground)); font-size: 11px; font-weight: 700; letter-spacing: .02em; }
.priority-history-copy { margin: 0; color: hsl(var(--foreground)); font-size: 13px; line-height: 1.55; overflow-wrap: anywhere; white-space: pre-wrap; }
.priority-history-facts { display: grid; gap: 6px; margin: 5px 0 0; padding-left: 20px; color: hsl(var(--foreground)); font-size: 13px; line-height: 1.5; }
.priority-history-facts li { padding-left: 2px; }
.priority-history-facts small { display: block; color: hsl(var(--muted-foreground)); font-size: 11px; }
.priority-history-facts .priority-history-fact-question { margin: 0 0 2px; font-size: 12px; }
.priority-history-answers { display: grid; gap: 9px; }
.priority-history-question { margin: 0 0 3px; color: hsl(var(--foreground)); font-size: 13px; font-weight: 650; line-height: 1.5; }
.priority-history-more { margin-top: 10px; }
.priority-saved-memory > p { overflow-wrap: anywhere; white-space: pre-wrap; }
.priority-saved-facts { display: grid; gap: 8px; margin: 10px 0; padding-left: 20px; color: hsl(var(--foreground)); font-size: 13px; line-height: 1.5; }
.priority-saved-facts small { display: block; color: hsl(var(--muted-foreground)); font-size: 11px; }

.priority-question-list { display: grid; gap: 14px; }
.priority-question { padding: 15px; border: 1px solid hsl(var(--border)); border-radius: 13px; background: hsl(var(--card)); }
.priority-question label { display: block; color: hsl(var(--foreground)); font-size: 15px; font-weight: 650; line-height: 1.5; }
.priority-question p { margin: 6px 0 11px; color: hsl(var(--muted-foreground)); font-size: 13px; line-height: 1.5; }
.priority-question textarea { min-height: 76px; font-weight: 400; }
.priority-question .priority-counter { display: block; margin-top: 5px; text-align: right; }

.priority-ranking { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; counter-reset: priority-rank; }
.priority-ranking li { display: grid; grid-template-columns: 36px minmax(0, 1fr); align-items: start; gap: 11px; padding: 14px; border: 1px solid hsl(var(--border)); border-radius: 13px; background: hsl(var(--secondary) / .45); counter-increment: priority-rank; }
.priority-ranking li::before { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: hsl(var(--primary) / .16); color: hsl(var(--primary)); content: counter(priority-rank); font-size: 14px; font-weight: 700; }
.priority-ranking strong { display: block; overflow-wrap: anywhere; color: hsl(var(--foreground)); font-size: 14px; line-height: 1.5; }
.priority-ranking p { margin: 4px 0 0; color: hsl(var(--muted-foreground)); font-size: 13px; line-height: 1.55; }
.priority-summary { margin: 16px 0 0; padding: 13px 15px; border-left: 3px solid hsl(var(--primary)); background: hsl(var(--secondary) / .45); color: hsl(var(--foreground)); font-size: 13px; line-height: 1.65; white-space: pre-wrap; }
.priority-error { margin: 16px 0 0; font-size: 13px; line-height: 1.5; }

@media (max-width: 767px) {
  .priority-toolbar { gap: 8px; }
  .priority-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); border-radius: 16px; }
  .priority-dialog-shell { max-height: calc(100dvh - 16px); }
  .priority-dialog-header { padding: 17px 16px 14px; }
  .priority-dialog-header h2 { font-size: 21px; }
  .priority-dialog-scroll { padding: 16px 16px 20px; }
  .priority-dialog-footer { padding: 11px 16px calc(13px + env(safe-area-inset-bottom)); }
  .priority-actions { gap: 8px; }
  .priority-actions .primary { width: 100%; }
  .priority-memory-fact { padding: 11px; }
  .priority-memory-fact-top { align-items: flex-start; flex-direction: column; gap: 3px; }
  .priority-memory-date,.priority-memory-expired { text-align: left; }
  .priority-memory-fact-actions { align-items: stretch; flex-direction: column; gap: 9px; }
  .priority-memory-scope { max-width: none; flex: none; }
  .priority-memory-remove { align-self: flex-start; }
  .priority-ranking li { grid-template-columns: 32px minmax(0, 1fr); gap: 9px; padding: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .priority-button { transition: none; }
}
