.eco-root,.eco-hub,.eco-card,.eco-related,.eco-search,.eco-layer{--eco-text:var(--pj-text,var(--nt-text,var(--zv-text,#2c2c2b)));--eco-text-2:var(--pj-text-2,var(--nt-text-2,var(--zv-text-2,#73726e)));--eco-text-3:var(--pj-text-3,var(--nt-text-3,var(--zv-text-3,#a09f9b)));--eco-bg:var(--pj-bg,var(--nt-bg,var(--zv-card,#fff)));--eco-panel:var(--pj-panel,var(--nt-menu-bg,var(--zv-card,#fff)));--eco-hover:var(--pj-hover,var(--nt-hover,var(--zv-hover,#0000000a)));--eco-active:var(--pj-active,var(--nt-hover-2,var(--zv-active,#00000012)));--eco-border:var(--pj-border,var(--nt-border,var(--zv-border,#37352f17)));--eco-border-2:var(--pj-border-2,var(--nt-border-2,var(--zv-border-2,#37352f29)));--eco-accent:var(--pj-accent,var(--nt-blue,var(--zv-accent,#2383e2)));--eco-accent-soft:var(--pj-accent-soft,var(--nt-blue-soft,var(--zv-accent-soft,#2c84db1a)));--eco-danger:var(--pj-danger,var(--nt-red,var(--zv-danger,#d44c47)));--eco-shadow:var(--pj-shadow-lg,var(--nt-menu-shadow,var(--zv-shadow-lg,0 14px 28px -6px #0000001a, 0 2px 4px -1px #0000000f, 0 0 0 1px #54483114)));--eco-font:var(--pj-font,var(--zv-font,ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif))}.eco-card{min-width:0;color:var(--eco-text);font-size:var(--ui-text-13);align-items:center;gap:8px;line-height:20px;text-decoration:none;display:flex}.eco-card .eco-kind{width:20px;height:20px;color:var(--eco-text-2);flex:none;justify-content:center;align-items:center;display:inline-flex}.eco-card .eco-emoji{font-size:var(--ui-glyph-16);line-height:1}.eco-card .eco-ident{color:var(--eco-text-2);font-size:var(--ui-text-12);font-variant-numeric:tabular-nums;flex:none}.eco-card .eco-text{flex-direction:column;flex:1;min-width:0;display:flex}.eco-card .eco-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.eco-card .eco-sub{color:var(--eco-text-3);font-size:var(--ui-text-12);text-overflow:ellipsis;white-space:nowrap;line-height:16px;overflow:hidden}.eco-card .eco-meta{color:var(--eco-text-2);font-size:var(--ui-text-12);flex:none;align-items:center;gap:8px;display:inline-flex}.eco-card[data-done] .eco-title{color:var(--eco-text-2)}.eco-status{flex:none;display:block}.eco-avatar{background:var(--eco-active);width:18px;height:18px;color:var(--eco-text-2);font-size:var(--ui-glyph-16);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.eco-due{white-space:nowrap}.eco-due.eco-late{color:var(--eco-danger)}.eco-progress{background:var(--eco-active);border-radius:2px;width:36px;height:4px;display:inline-block;position:relative;overflow:hidden}.eco-progress>span{background:var(--eco-accent);border-radius:2px;position:absolute;inset:0 auto 0 0}.eco-thumb{object-fit:cover;border:1px solid var(--eco-border);background:var(--eco-hover);border-radius:3px;flex:none;width:32px;height:22px}.eco-row{cursor:pointer;width:100%;font:inherit;text-align:start;background:0 0;border:0;border-radius:6px;padding:5px 8px}.eco-row:hover,.eco-row[data-active]{background:var(--eco-hover)}.eco-row:focus-visible{outline:2px solid var(--eco-accent);outline-offset:-2px}.eco-chip{background:var(--eco-hover);vertical-align:baseline;border-radius:4px;max-width:100%;padding:0 6px;display:inline-flex}.eco-chip:hover{background:var(--eco-active)}.eco-block{border:1px solid var(--eco-border);background:var(--eco-bg);-webkit-user-select:none;user-select:none;border-radius:6px;width:100%;padding:6px 10px 6px 6px;transition:border-color .12s}.eco-block:hover{border-color:var(--eco-border-2)}.eco-block .eco-main{min-width:0;color:inherit;flex:1;align-items:center;gap:8px;text-decoration:none;display:flex}.eco-block .eco-main:hover .eco-title{text-decoration:underline;-webkit-text-decoration-color:var(--eco-border-2);text-decoration-color:var(--eco-border-2);text-underline-offset:3px}.eco-block[data-done] .eco-title{text-decoration:line-through;-webkit-text-decoration-color:var(--eco-text-3);text-decoration-color:var(--eco-text-3)}.eco-check{width:24px;height:24px;color:var(--eco-text-2);cursor:pointer;background:0 0;border:0;border-radius:5px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.eco-check:hover{background:var(--eco-hover)}.eco-check:disabled{cursor:progress;opacity:.6}.eco-status-name{white-space:nowrap}.eco-missing{color:var(--eco-text-3);font-size:var(--ui-text-13)}.eco-loading .eco-skel{background:var(--eco-hover);border-radius:6px;width:40%;height:12px;animation:1.2s ease-in-out infinite eco-pulse;display:block}@keyframes eco-pulse{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.eco-loading .eco-skel{animation:none}}.eco-new-issue{border:1px dashed var(--eco-border-2);width:100%;color:var(--eco-text-2);border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.eco-new-issue input{min-width:0;color:var(--eco-text);font:inherit;font-size:var(--ui-text-13);background:0 0;border:0;outline:0;flex:1}.eco-btn{border:1px solid var(--eco-border-2);background:var(--eco-bg);height:28px;color:var(--eco-text);font:inherit;font-size:var(--ui-text-13);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.eco-btn:hover{background:var(--eco-hover)}.eco-btn:disabled{opacity:.55;cursor:default}.eco-btn-primary{background:var(--eco-accent);color:#fff;border-color:#0000}.eco-btn-primary:hover{background:var(--eco-accent);filter:brightness(.95)}.eco-btn-ghost{color:var(--eco-text-2);background:0 0;border-color:#0000}.eco-icon-btn{width:24px;height:24px;color:var(--eco-text-3);cursor:pointer;background:0 0;border:0;border-radius:5px;flex:none;justify-content:center;align-items:center;display:inline-flex}.eco-icon-btn:hover{background:var(--eco-active);color:var(--eco-text)}.eco-related{color:var(--eco-text);font-family:inherit}.eco-related-head{min-height:28px;color:var(--eco-text-2);font-size:var(--ui-text-13);align-items:center;gap:6px;font-weight:500;display:flex}.eco-related-head .eco-count{color:var(--eco-text-3);font-weight:400}.eco-related-head .eco-spacer{flex:1}.eco-related-toggle{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:6px;margin-inline-start:-6px;padding:2px 6px;display:inline-flex}.eco-related-toggle:hover{background:var(--eco-hover)}.eco-related-group{margin:4px 0 8px}.eco-related-group-title{color:var(--eco-text-3);font-size:var(--ui-text-12);font-weight:var(--ui-weight-medium,500);padding:4px 8px 2px}.eco-related-item{position:relative}.eco-related-item .eco-via{color:var(--eco-text-3);font-size:var(--ui-text-12);white-space:nowrap}.eco-related-item .eco-icon-btn{opacity:0}.eco-related-item:hover .eco-icon-btn,.eco-related-item .eco-icon-btn:focus-visible{opacity:1}.eco-related-item .eco-via-smart{align-items:center;gap:3px;display:inline-flex}.eco-suggested-item .eco-icon-btn{opacity:1}.eco-suggested .eco-related-group-title{align-items:center;gap:4px;display:flex}.eco-related-empty{color:var(--eco-text-3);font-size:var(--ui-text-13);padding:6px 0 10px;line-height:18px}.eco-related-note{color:var(--eco-text-3);font-size:var(--ui-text-12);padding:2px 8px}.eco-layer{z-index:var(--ui-z-popover);font-family:var(--eco-font);position:fixed;inset:0}.eco-scrim{background:var(--ui-scrim,#0f0f0f59);position:absolute;inset:0}.eco-palette{border:.5px solid var(--eco-border-2);background:var(--eco-panel);width:min(640px,100vw - 32px);box-shadow:var(--eco-shadow);color:var(--eco-text);border-radius:12px;position:absolute;top:min(14vh,120px);left:50%;overflow:hidden;transform:translate(-50%)}.eco-palette .eco-search-input{min-height:56px;padding:0 18px}.eco-palette .eco-search-input input{font-size:var(--ui-text-touch)}.eco-palette .eco-search-list{padding:4px 8px 8px}.eco-palette .eco-row{border-radius:8px;min-height:40px;padding:6px 10px}.eco-popover{background:var(--eco-panel);width:min(420px,100vw - 32px);box-shadow:var(--eco-shadow);color:var(--eco-text);z-index:calc(var(--ui-z-popover) + 1);border-radius:10px;position:fixed;overflow:hidden}.eco-status-menu{outline:none;padding:4px;transform:none}.eco-status-menu-head{color:var(--eco-text-3);font-size:var(--ui-text-12);padding:6px 8px 4px}.eco-status-opt{min-height:30px;font-size:var(--ui-text-13);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:0 8px;display:flex}.eco-status-opt[data-active]{background:var(--eco-hover)}.eco-status-opt-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.eco-status-opt-check{color:var(--eco-text-2)}.eco-status-opt .eco-kbd{text-align:center;min-width:18px}@media (pointer:coarse){.eco-status-opt{min-height:40px}.eco-status-opt .eco-kbd{display:none}}.eco-search{flex-direction:column;max-height:min(70vh,560px);display:flex}.eco-search-input{border-bottom:1px solid var(--eco-border);color:var(--eco-text-3);align-items:center;gap:10px;padding:12px 14px;display:flex}.eco-search-input input{min-width:0;color:var(--eco-text);font:inherit;font-size:var(--ui-text-15);background:0 0;border:0;outline:0;flex:1}.eco-search-list{overscroll-behavior:contain;padding:6px;overflow-y:auto}.eco-search-head{color:var(--eco-text-3);font-size:var(--ui-text-12);letter-spacing:.02em;text-transform:uppercase;padding:8px 8px 4px;font-weight:500}.eco-search-empty{color:var(--eco-text-3);font-size:var(--ui-text-13);text-align:center;padding:18px 10px}.eco-snippet{color:var(--eco-text-3);font-size:var(--ui-text-12);text-overflow:ellipsis;white-space:nowrap;margin:-2px 8px 4px 36px;line-height:16px;overflow:hidden}.eco-kbd{border:1px solid var(--eco-border-2);color:var(--eco-text-3);font:inherit;font-size:var(--ui-text-12);border-radius:4px;padding:0 5px;line-height:16px}.eco-palette-foot{border-top:1px solid var(--eco-border);color:var(--eco-text-3);font-size:var(--ui-text-12);gap:14px;padding:8px 14px;display:flex}.eco-palette-foot span{align-items:center;gap:5px;display:inline-flex}.eco-inbox{flex-direction:column;gap:2px;display:flex}.eco-inbox-item{color:var(--eco-text);border-radius:8px;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;text-decoration:none;display:grid}.eco-inbox-item:hover{background:var(--eco-hover)}.eco-inbox-dot{background:var(--eco-accent);border-radius:50%;width:8px;height:8px}.eco-inbox-item[data-read] .eco-inbox-dot{background:0 0}.eco-inbox-what{flex-direction:column;gap:2px;min-width:0;display:flex}.eco-inbox-line{align-items:center;gap:8px;min-width:0;display:flex}.eco-inbox-who{color:var(--eco-text-2);font-size:var(--ui-text-13);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.eco-inbox-text{color:var(--eco-text-3);font-size:var(--ui-text-12);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.eco-inbox-when{color:var(--eco-text-3);font-size:var(--ui-text-12);white-space:nowrap}.eco-badge{background:var(--eco-accent);color:#fff;min-width:18px;height:18px;font-size:var(--ui-text-12);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;font-weight:600;line-height:1;display:inline-flex}@media (max-width:640px){.eco-palette{top:12px}.eco-card .eco-meta .eco-status-name{display:none}}.zv-nav .zv-nav-kbd,.zv-nav .zv-nav-badge{margin-inline-start:auto}.zv-nav .zv-nav-kbd{border:1px solid var(--zv-border);color:var(--zv-text-3);font:inherit;font-size:var(--ui-text-12);border-radius:4px;padding:0 5px;line-height:16px}.zv-nav .zv-nav-badge{background:var(--zv-accent-bg);min-width:18px;height:18px;color:var(--zv-on-accent,#fff);font-size:var(--ui-text-12);text-align:center;border-radius:9px;padding:0 5px;font-weight:600;line-height:18px}.eco-issues,.eco-issues-pick{border:1px solid var(--eco-border);background:var(--eco-bg);width:100%;font-family:var(--eco-font);border-radius:8px;padding:8px 10px 10px}.eco-issues .eco-block{border-color:#0000;padding-inline-start:2px}.eco-issues .eco-block:hover{border-color:var(--eco-border)}.eco-issues .eco-new-issue{border-style:solid;border-color:#0000;padding-inline-start:6px}.eco-issues .eco-new-issue:focus-within{border-color:var(--eco-border-2)}.eco-issues-title{color:var(--eco-text);align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}.eco-issues-title:hover{text-decoration:underline}.eco-issues-options{flex-wrap:wrap;gap:6px;padding-top:4px;display:flex}.eco-goal{margin:4px 0 12px}.eco-goal-row{background:var(--eco-hover);font-size:var(--ui-text-13);border-radius:6px;grid-template-columns:minmax(0,auto) minmax(60px,1fr) auto auto;align-items:center;gap:10px;padding:6px 8px;display:grid}.eco-goal-row[data-reached]{background:var(--eco-accent-soft)}.eco-goal-text{color:var(--eco-text-2)}.eco-goal-text b{color:var(--eco-text);font-weight:600}.eco-goal-now{color:var(--eco-text-2);font-variant-numeric:tabular-nums;white-space:nowrap}.eco-goal-bar{background:var(--eco-active);border-radius:3px;height:6px;position:relative;overflow:hidden}.eco-goal-bar>span{background:var(--eco-accent);border-radius:3px;transition:width .4s;position:absolute;inset:0 auto 0 0}.eco-goal-bar>span[data-full]{background:var(--pj-ok,var(--zv-ok,#2f7a3e))}@media (prefers-reduced-motion:reduce){.eco-goal-bar>span{transition:none}}.eco-goal-form{border:1px solid var(--eco-border);border-radius:8px;gap:10px;padding:10px;display:grid}.eco-goal-fields{flex-wrap:wrap;gap:8px;display:flex}.eco-goal-fields label{color:var(--eco-text-3);font-size:var(--ui-text-12);gap:4px;display:grid}.eco-goal-fields input,.eco-goal-fields select{border:1px solid var(--eco-border-2);background:var(--eco-bg);min-width:90px;height:30px;color:var(--eco-text);font:inherit;font-size:var(--ui-text-13);border-radius:6px;padding:0 8px}.eco-goal-check{color:var(--eco-text-2);font-size:var(--ui-text-13);align-items:center;gap:6px;display:inline-flex}.eco-goal-chips{gap:6px;min-width:0;display:inline-flex;overflow:hidden}.eco-goal-chip{background:var(--eco-active);min-width:0;max-width:220px;color:inherit;font-size:var(--ui-text-12);border-radius:999px;align-items:center;gap:6px;padding:2px 8px;text-decoration:none;display:inline-flex}.eco-goal-chip:hover{background:var(--eco-hover,var(--eco-active))}.eco-goal-chip-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.eco-goal-chip .eco-progress{background:var(--eco-bg,#7f7f7f2e);flex-shrink:0}.eco-goal-chip-pct{font-variant-numeric:tabular-nums;opacity:.75}.eco-goal-chip[data-done] .eco-goal-chip-pct{color:var(--eco-accent);opacity:1}@media (max-width:640px){.eco-goal-chips{display:none}}.eco-goal-set{align-items:center;gap:4px;display:inline-flex}.eco-goal-set input{border:1px solid var(--ui-border,#0000001f);background:var(--ui-bg,#fff);width:96px;height:26px;color:inherit;font:inherit;border-radius:6px;padding:0 8px}.eco-goal-taken{color:var(--ui-danger-text,#dc3412);font-size:var(--ui-text-12);margin-top:4px;display:block}.eco-hub{border:1px solid var(--eco-border);background:var(--eco-bg);border-radius:10px;flex-direction:column;gap:12px;min-height:48px;margin:20px 0 8px;padding:14px 16px;display:flex}.eco-hub-head{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.eco-hub-head h2{font-size:var(--ui-text-13);margin:0;font-weight:600}.eco-hub-head .eco-icon-btn:last-child{margin-inline-start:auto}.eco-hub-settings{background:var(--eco-hover);font-size:var(--ui-text-13);border-radius:8px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.eco-hub-settings label{align-items:center;gap:8px;display:flex}.eco-hub-block h3{font-size:var(--ui-text-12);color:var(--eco-text-2);text-transform:none;align-items:center;gap:6px;margin:0 0 6px;font-weight:600;display:flex}.eco-hub-empty{font-size:var(--ui-text-13);color:var(--eco-text-2);margin:0}.eco-hub-goals,.eco-hub-items{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.eco-hub-goals li{border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px;padding:6px;display:grid}.eco-hub-goals li:hover,.eco-hub-items li:hover{background:var(--eco-hover)}.eco-hub-goals li .eco-goal-bar{grid-column:1/-1;width:100%}.eco-hub-goals li[data-met]{color:var(--eco-text-2)}.eco-hub-goals li[data-met] svg{color:#2da44e}.eco-hub-goal-title{min-width:0;color:inherit;font-size:var(--ui-text-13);align-items:center;gap:6px;text-decoration:none;display:flex}.eco-hub-id{color:var(--eco-text-2);font-variant-numeric:tabular-nums;flex:none}.eco-hub-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:inherit;font-size:var(--ui-text-13);text-decoration:none;overflow:hidden}.eco-hub-goal-num{font-size:var(--ui-text-12);color:var(--eco-text-2);font-variant-numeric:tabular-nums;white-space:nowrap}.eco-hub-items li{border-radius:6px;align-items:center;gap:8px;min-height:30px;padding:2px 6px;display:flex}.eco-hub-items li .eco-hub-text{flex:1}.eco-hub-items li[data-undone] .eco-hub-text{color:var(--eco-text-2);text-decoration:line-through}.eco-hub-sure,.eco-hub-when{font-size:var(--ui-text-12);color:var(--eco-text-2);font-variant-numeric:tabular-nums;flex:none}.eco-hub-input{overflow-wrap:anywhere;font-variant-numeric:normal;flex:100%}.eco-hub-acts{flex:none;gap:4px;display:inline-flex}.eco-hub-acts .eco-btn{height:26px;font-size:var(--ui-text-12);padding:0 8px}@media (max-width:640px){.eco-hub{padding:12px}.eco-hub-goals li{grid-template-columns:minmax(0,1fr)}.eco-hub-items li{flex-wrap:wrap}.eco-hub-items li .eco-hub-text{white-space:normal;flex-basis:100%}}.eco-goal-from{flex-wrap:wrap;gap:6px;display:flex}.eco-goal-from label{border:1px solid var(--eco-border-2);height:28px;font-size:var(--ui-text-12);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.eco-goal-from label[data-on]{border-color:var(--eco-accent);background:var(--eco-accent-soft)}.eco-goal-from input{opacity:0;pointer-events:none;position:absolute}.eco-goal-from label:has(input:focus-visible){outline:2px solid var(--eco-accent);outline-offset:1px}.eco-goal-live{font-size:var(--ui-text-12);color:var(--eco-text-2);background:var(--eco-hover);white-space:nowrap;border-radius:9px;padding:0 6px}.eco-goal-start{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.eco-goal-proposal{border:1px dashed #7b61ff80;gap:8px}.eco-goal-proposal>svg{color:#7b61ff;flex:none}.eco-goal-proposal .eco-btn{height:26px;font-size:var(--ui-text-12);padding:0 8px}.eco-chart-goals{flex-direction:column;gap:4px;margin-top:8px;display:flex}.eco-chart-goal{color:var(--eco-text);font-size:var(--ui-text-13);border-radius:6px;grid-template-columns:auto auto minmax(0,1fr) minmax(80px,160px);align-items:center;gap:8px;padding:4px 6px;text-decoration:none;display:grid}.eco-chart-goal:hover{background:var(--eco-hover)}.eco-chart-goal[data-met] svg{color:#2da44e}.eco-chart-goal-text{text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:0;overflow:hidden}.eco-chart-goal .eco-goal-bar{width:100%}.eco-chart-goal-add{height:28px;font-size:var(--ui-text-12);align-self:flex-start}.eco-chart-goal-form{width:min(360px,100vw - 32px);padding:12px}.eco-chart-goal-name{font-size:var(--ui-text-12);color:var(--eco-text-2);flex-direction:column;gap:4px;display:flex}.eco-chart-goal-name input{border:1px solid var(--eco-border-2);height:30px;color:var(--eco-text);font:inherit;font-size:var(--ui-text-13);background:0 0;border-radius:6px;padding:0 8px}@media (max-width:640px){.eco-chart-goal{grid-template-columns:auto auto minmax(0,1fr)}.eco-chart-goal .eco-goal-bar{grid-column:1/-1}}.eco-hub-ingest{border-top:1px solid var(--eco-border);flex-direction:column;gap:4px;padding-top:6px;display:flex}.eco-hub-code{max-width:100%;font:var(--ui-text-12)/1.5 ui-monospace, SFMono-Regular, Menlo, monospace;white-space:pre;background:var(--eco-hover);-webkit-user-select:all;user-select:all;border-radius:6px;margin:0;padding:8px;overflow-x:auto}
