/* V0.17.5 — approved icon system and interaction refinements */
.v22-icon{display:block;width:20px;height:20px;overflow:visible;fill:none;color:var(--accent);stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.v22-icon *{fill:none;vector-effect:non-scaling-stroke}
.v22-icon .v22-main>:nth-child(3n+1){stroke:color-mix(in srgb,var(--accent) 76%,var(--ink))}
.v22-icon .v22-main>:nth-child(3n+2){stroke:var(--accent)}
.v22-icon .v22-main>:nth-child(3n){stroke:color-mix(in srgb,var(--accent) 62%,var(--panel))}
.v22-icon .detail{stroke:color-mix(in srgb,var(--accent) 40%,var(--panel));stroke-width:.75}
.v22-icon-matisse{stroke-width:1.95;stroke-linecap:round;stroke-linejoin:round}
.v22-icon-matisse .detail{display:none}
.v22-icon-vangogh{stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.v22-icon-vangogh .v22-echo{opacity:.28;transform-origin:center}
.v22-icon-vangogh .v22-echo.one{transform:translate(.42px,-.3px) rotate(.45deg);stroke:color-mix(in srgb,var(--accent) 82%,var(--ink));stroke-dasharray:2.4 1.05}
.v22-icon-vangogh .v22-echo.two{transform:translate(-.35px,.4px) rotate(-.55deg);stroke:color-mix(in srgb,var(--accent) 56%,var(--panel));stroke-dasharray:.8 1.35}
.v22-icon-vangogh .v22-whorl{opacity:.7;stroke:color-mix(in srgb,var(--accent) 48%,var(--panel));stroke-width:.65;stroke-dasharray:2.2 .75}
.v22-icon-architect{stroke-width:1.45;stroke-linecap:square;stroke-linejoin:miter}
.v22-icon-architect .architect-echo{opacity:.28;transform:translate(-.32px,.28px);stroke:color-mix(in srgb,var(--accent) 38%,var(--panel))}
.v22-icon-shekhtel{stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.v22-icon-shekhtel :is(.stroke-a,.stroke-a2){fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.v22-icon-shekhtel .stroke-a2{stroke-opacity:.5}
.v22-icon-shekhtel .fill-a{fill:currentColor;stroke:none}
.v22-icon-shekhtel .fill-a2{fill:currentColor;fill-opacity:.5;stroke:none}
.v22-icon-shekhtel .fill-bg{fill:var(--panel);stroke:none}
.v22-icon-large{width:52px;height:52px;stroke-width:1.35}
.v22-icon-large.v22-icon-matisse{stroke-width:1.8}

.v22-icon-button{display:inline-grid!important;place-items:center;width:34px;min-width:34px;height:34px;padding:6px!important;line-height:1}
.v22-icon-button.small{width:30px;min-width:30px;height:30px;padding:5px!important}
.v22-icon-button .v22-icon{width:19px;height:19px}
.v22-icon-button.primary .v22-icon{color:currentColor}
.sidebar .v22-nav-icon{display:inline-grid;place-items:center;width:22px;min-width:22px;height:22px}
.sidebar .v22-nav-icon .v22-icon{width:20px;height:20px}

.v22-page-title-row{display:flex;align-items:center;gap:14px;margin-top:3px}
.v22-page-title-row .page-title{margin:0}
.v22-page-title-row .v22-icon-large{flex:0 0 52px}

.v22-icon-style-row{align-items:flex-start!important}
.v22-style-picker{display:grid;grid-template-columns:repeat(3,minmax(105px,1fr));gap:8px;max-width:510px}
.v22-style-picker button{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:7px;min-height:47px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink);text-align:left}
.v22-style-picker button:hover{background:color-mix(in srgb,var(--accent-soft) 48%,var(--panel))}
.v22-style-picker button.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-soft)}
.v22-style-picker .v22-icon{width:27px;height:27px}
.v22-style-picker span{font-size:12px;font-weight:650}

.task-modal-v09.task-modal-v10{padding-top:14px}
.task-modal-v10 .task-head-v09{align-items:start;margin-top:0;padding-right:214px;min-height:36px}
.task-modal-v10 .task-head-v09>.task-focus-mini,.task-modal-v10 .task-head-v09>.priority-flag,.task-modal-v10 .task-head-v09>.task-state-check{margin-top:4px}
.task-modal-v10 .task-top-actions{top:12px;right:13px;z-index:2}
.task-title-v09.v22-task-title{display:block;width:100%;height:auto;min-height:34px;max-height:none;overflow:hidden;resize:none;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.28;font-family:inherit}

.v17-ritual-card[data-v22-ritual-drag]{cursor:grab;transition:opacity .12s ease,box-shadow .12s ease}
.v17-ritual-card[data-v22-ritual-drag].dragging{opacity:.45}
.v17-ritual-card[data-v22-ritual-drag].drag-over{box-shadow:inset 0 3px 0 var(--accent)}
.v17-ritual-card button,.v17-ritual-card input,.v17-ritual-card textarea,.v17-ritual-card select{cursor:pointer}

.v18-habit-muted{background:color-mix(in srgb,var(--muted) 7%,var(--panel))}
.v18-habit-muted .entity-link{color:color-mix(in srgb,var(--muted) 52%,var(--panel))!important}
.v18-habit-muted .habit-history-caption,.v18-habit-muted .habit-head>span{color:color-mix(in srgb,var(--muted) 62%,var(--panel))}

@media(max-width:760px){
  .v22-page-title-row{gap:10px}.v22-page-title-row .v22-icon-large{width:42px;height:42px;flex-basis:42px}
  .v22-style-picker{grid-template-columns:1fr}
  .task-modal-v10 .task-head-v09{padding-right:94px}
  .task-modal-v10 .task-top-actions{display:grid;grid-template-columns:repeat(3,25px);gap:3px}
  .task-modal-v10 .task-top-actions button{width:25px;height:25px}
}
