  /* ============ Productivity tracker ============ */
  .tracker{display:flex;flex-direction:column;gap:16px;}
  .card{
    background:linear-gradient(160deg,var(--card),var(--card-2));
    border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 18px 20px;box-shadow:var(--sh-1);
  }
  .card-title{margin:0 0 14px;font-size:11px;text-transform:uppercase;letter-spacing:1.4px;color:var(--faint);font-weight:700;}

  .sw-display{font-size:46px;font-weight:300;font-variant-numeric:tabular-nums;letter-spacing:2px;text-align:center;margin:4px 0 2px;line-height:1.05;}
  .sw-sub{text-align:center;font-size:12.5px;color:var(--faint);margin-bottom:16px;}
  .sw-progress{height:5px;border-radius:5px;background:var(--line);overflow:hidden;margin:0 0 16px;}
  .sw-progress > i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .4s;}
  .sw-cats{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:14px;}
  .catchip{
    display:inline-flex;align-items:center;gap:7px;cursor:pointer;
    background:var(--card);border:1px solid var(--line);color:var(--muted);
    padding:7px 13px;border-radius:20px;font-size:12.5px;font-weight:600;transition:border-color .15s,color .15s,background .15s;
  }
  .catchip:hover{color:var(--text);}
  .catchip .cdot{width:9px;height:9px;border-radius:50%;flex:0 0 auto;}
  .catchip.active{border-color:var(--accent);color:var(--text);background:rgba(var(--accent-rgb),.14);}
  .sw-target{display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:16px;font-size:12.5px;color:var(--muted);}
  .sw-target input{
    width:70px;background:var(--card);border:1px solid var(--line);color:var(--text);
    border-radius:9px;padding:6px 9px;font-size:13px;text-align:center;font-variant-numeric:tabular-nums;
  }
  .sw-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
  .btn{
    border:none;cursor:pointer;font-weight:var(--fw-b);font-size:14px;padding:12px 20px;border-radius:var(--r-md);
    display:inline-flex;align-items:center;gap:8px;color:var(--text);
    transition:transform var(--t-snap) var(--ease),background var(--t-base) var(--ease),border-color var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease);
  }
  .btn svg{width:17px;height:17px;}
  .btn:active{transform:scale(.97);}
  .btn[disabled]{opacity:.4;cursor:not-allowed;}
  .btn-start{background:linear-gradient(140deg,var(--accent),var(--accent2));color:#fff;box-shadow:var(--glow-accent);}
  .btn-start:hover{box-shadow:0 10px 26px rgba(var(--accent-rgb),.42);transform:translateY(-1px);}
  .btn-pause{background:var(--card);border:1px solid var(--line);color:var(--muted);}
  .btn-pause:hover{border-color:var(--line-bright);color:var(--text);background:var(--card-hover);}
  .btn-stop{background:rgba(var(--stop-rgb),.14);border:1px solid rgba(var(--stop-rgb),.34);color:var(--stop);}
  .btn-stop:hover{background:rgba(var(--stop-rgb),.22);border-color:rgba(var(--stop-rgb),.5);}

  .totals-top{display:flex;gap:12px;margin-bottom:18px;}
  .tot{flex:1;background:var(--card);border:1px solid var(--line-soft);border-radius:13px;padding:13px 14px;text-align:center;}
  .tot .v{font-size:23px;font-weight:600;font-variant-numeric:tabular-nums;}
  .tot .l{font-size:10.5px;color:var(--faint);text-transform:uppercase;letter-spacing:1.2px;margin-top:4px;}
  .catrow{display:flex;align-items:center;gap:11px;margin:11px 0;}
  .catrow .cdot{width:10px;height:10px;border-radius:50%;flex:0 0 auto;}
  .catrow .cname{font-size:13px;width:110px;flex:0 0 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .catrow .cbar{flex:1;height:7px;border-radius:5px;background:var(--line);overflow:hidden;}
  .catrow .cbar > i{display:block;height:100%;border-radius:5px;}
  .catrow .cval{font-size:12.5px;color:var(--muted);width:60px;text-align:right;font-variant-numeric:tabular-nums;flex:0 0 auto;}

  .cat-manage{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;}
  .cat-manage .catchip{cursor:default;}
  .cat-manage .catchip .cx{cursor:pointer;color:var(--faint);margin-left:3px;font-size:15px;line-height:1;}
  .cat-manage .catchip .cx:hover{color:var(--danger);}
  .cat-add{display:flex;gap:9px;}
  .cat-add input{flex:1;min-width:0;background:var(--card);border:1px solid var(--line);color:var(--text);border-radius:11px;padding:10px 13px;font-size:13px;}
  .cat-add button{background:var(--card);border:1px solid var(--accent);color:var(--accent-soft);border-radius:11px;padding:0 18px;font-weight:600;cursor:pointer;font-size:13px;transition:background .2s;}
  .cat-add button:hover{background:rgba(var(--accent-rgb),.16);}

  .log-list{display:flex;flex-direction:column;gap:8px;}
  .log-item{display:flex;align-items:center;gap:11px;background:var(--card);border:1px solid var(--line-soft);border-radius:11px;padding:10px 13px;}
  .log-item .cdot{width:9px;height:9px;border-radius:50%;flex:0 0 auto;}
  .log-item .lname{font-size:13px;font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .log-item .ldur{font-size:13px;font-variant-numeric:tabular-nums;color:var(--text);flex:0 0 auto;}
  .log-item .ldate{font-size:11px;color:var(--faint);width:96px;text-align:right;flex:0 0 auto;}
  .log-empty{font-size:13px;color:var(--faint);padding:8px 2px;display:block;}
  .log-clear{margin-top:13px;background:none;border:none;color:var(--faint);font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:2px;}
  .log-clear:hover{color:var(--danger);}

  /* ============ App-level navigation bar ============ */
  .app-nav{
    grid-column:1 / -1;grid-row:2;
    display:flex;align-items:center;gap:var(--s-1);
    padding:var(--s-2) var(--s-5);
    border-bottom:1px solid var(--line);
    background:linear-gradient(180deg,rgba(15,15,17,.92),rgba(15,15,17,.72));
    backdrop-filter:blur(10px);
    min-height:48px;flex:0 0 auto;
  }
  .app-nav-back{
    background:none;border:1px solid transparent;color:var(--muted);
    width:32px;height:32px;border-radius:var(--r-md);cursor:pointer;flex:0 0 auto;
    display:flex;align-items:center;justify-content:center;
    transition:color var(--t-base) var(--ease),border-color var(--t-base) var(--ease),background var(--t-base) var(--ease),transform var(--t-snap) var(--ease);
  }
  .app-nav-back:hover:not(:disabled){color:var(--text);border-color:var(--line);background:rgba(var(--text-rgb),.06);}
  .app-nav-back:active:not(:disabled){transform:scale(.9);}
  .app-nav-back:disabled{opacity:.25;cursor:default;}
  .app-nav-divider{width:1px;height:22px;background:var(--line);flex:0 0 auto;margin:0 4px;}
  .app-nav-tab[hidden],.app-nav-divider[hidden],.nav-sec[hidden]{display:none;}
  .app-nav-tab{
    background:none;border:none;color:var(--muted);
    padding:8px 15px;font-size:13px;font-weight:var(--fw-sb);cursor:pointer;font-family:inherit;
    border-radius:var(--r-md);letter-spacing:.2px;position:relative;
    transition:color var(--t-base) var(--ease),background var(--t-base) var(--ease);
  }
  .app-nav-tab:hover{color:var(--text);background:rgba(var(--text-rgb),.04);}
  .app-nav-tab.active{color:var(--accent-soft);background:rgba(var(--accent-rgb),.12);}
  .app-nav-tab.active::after{
    content:"";position:absolute;left:15px;right:15px;bottom:-9px;height:2px;border-radius:2px;
    background:var(--accent);box-shadow:0 0 8px rgba(var(--accent-rgb),.6);
  }
  /* Music tab — a fold toggle, not a page; tinted with the music (accent2) hue
     while the section is shown (.music-on) and underlined like an active tab. */
  .app-nav-tab.app-nav-music{display:inline-flex;align-items:center;gap:6px;}
  .app-nav-tab.app-nav-music svg{width:15px;height:15px;}
  .app-nav-tab.app-nav-music.music-on{color:var(--accent2-soft);background:rgba(var(--accent2-rgb),.14);}
  .app-nav-tab.app-nav-music.music-on::after{
    content:"";position:absolute;left:15px;right:15px;bottom:-9px;height:2px;border-radius:2px;
    background:var(--accent2);box-shadow:0 0 8px rgba(var(--accent2-rgb),.5);
  }

  /* ============ Todo Panel ============ */
  .todo-panel{
    grid-column:1;grid-row:3;
    display:none;flex-direction:column;
    min-height:0;overflow-y:auto;padding:0 24px 28px;gap:14px;
  }
  .todo-panel.visible{display:flex;}
  .todo-header{
    position:sticky;top:0;z-index:12;
    display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;
    margin:0 -24px 4px;padding:18px 24px 13px;
    background:linear-gradient(180deg,var(--bg) 78%,transparent);
    backdrop-filter:blur(6px);
  }
  .todo-section-label{font-size:var(--fs-page-title);letter-spacing:.2px;color:var(--text);font-weight:800;line-height:1;}
  .todo-add-btn{
    display:flex;align-items:center;gap:6px;
    background:rgba(var(--accent-rgb),.14);border:1px solid var(--accent);
    color:var(--accent-soft);border-radius:10px;
    padding:7px 14px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;
    transition:background .15s;
  }
  .todo-add-btn:hover{background:rgba(var(--accent-rgb),.26);}
  .todo-add-btn svg{width:13px;height:13px;}
  .task-list{display:flex;flex-direction:column;gap:12px;}
  .task-bubble{
    background:linear-gradient(160deg,var(--card),var(--card-2));
    border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);
    padding:14px 16px 10px;display:flex;flex-direction:column;
    transition:border-color .2s;
  }
  .task-bubble:focus-within{border-color:rgba(var(--accent-rgb),.55);}
  .task-bubble-header{
    display:flex;align-items:center;justify-content:space-between;
    margin-bottom:8px;
  }
  .task-bubble-label{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:1px;color:var(--faint);font-weight:700;}
  .task-bubble-title{
    flex:1;background:none;border:none;color:var(--text);
    font-size:var(--fs-content);font-weight:650;letter-spacing:.1px;font-family:inherit;
    outline:none;padding:0;cursor:text;min-width:0;
  }
  .task-bubble-title:focus{color:var(--text);}
  .task-bubble-title::placeholder{color:var(--faint);}
  .task-bubble-actions{display:flex;gap:6px;align-items:center;flex:0 0 auto;}
  .task-archive-btn{
    background:none;border:1px solid rgba(var(--accent2-rgb),.35);color:var(--accent2);
    cursor:pointer;font-size:11.5px;font-weight:600;padding:3px 10px;
    border-radius:7px;font-family:inherit;transition:background .15s;
  }
  .task-archive-btn:hover{background:rgba(var(--accent2-rgb),.16);}
  .task-delete-btn{
    background:none;border:1px solid rgba(var(--danger-rgb),.28);color:var(--danger);
    cursor:pointer;font-size:11.5px;font-weight:600;padding:3px 10px;
    border-radius:7px;font-family:inherit;transition:background .15s;
  }
  .task-delete-btn:hover{background:rgba(var(--danger-rgb),.14);}
  .checklist{display:flex;flex-direction:column;}
  .checklist-item{
    display:flex;align-items:flex-start;gap:8px;
    padding:3px 0;
  }
  .checklist-item input[type=checkbox]{
    flex:0 0 auto;width:15px;height:15px;margin-top:4px;
    accent-color:var(--accent);cursor:pointer;
  }
  .checklist-item .item-text{
    flex:1;background:none;border:none;color:var(--text);
    font-size:14px;font-family:inherit;outline:none;
    line-height:1.55;resize:none;overflow:hidden;
    min-height:22px;height:22px;caret-color:var(--accent);
    padding:0;
  }
  .checklist-item .item-text::placeholder{color:var(--faint);}
  .checklist-item.checked .item-text{text-decoration:line-through;color:var(--faint);}
  .checklist-item[data-indent="1"]{padding-left:28px;}
  .checklist-item[data-indent="2"]{padding-left:56px;}
  .checklist-item[data-indent="3"]{padding-left:84px;}
  .checklist-item[data-indent="4"]{padding-left:112px;}

  /* Per-row fold chevron — collapses an item's indented children (outliner).
     Leaf rows get an equal-width spacer so checkboxes stay aligned. */
  .fold-toggle,.fold-spacer{flex:0 0 auto;width:14px;height:18px;margin-top:3px;}
  .fold-toggle{
    display:flex;align-items:center;justify-content:center;
    background:none;border:none;padding:0;cursor:pointer;
    color:var(--faint);opacity:.55;
    transition:color var(--t-base) var(--ease),opacity var(--t-base) var(--ease);
  }
  .checklist-item:hover .fold-toggle{opacity:.85;}
  .fold-toggle:hover{color:var(--muted);opacity:1;}
  .fold-toggle svg{width:11px;height:11px;pointer-events:none;}

  /* Per-item drag handle — reorder actions inside their own bubble */
  .checklist-item{position:relative;}
  .item-drag{
    flex:0 0 auto;width:13px;height:18px;margin-top:3px;
    display:flex;align-items:center;justify-content:center;
    cursor:grab;color:var(--faint);opacity:.22;
    transition:opacity var(--t-base) var(--ease),color var(--t-base) var(--ease);
    touch-action:none;-webkit-user-select:none;user-select:none;
  }
  .checklist-item:hover .item-drag{opacity:.65;}
  .item-drag:hover{color:var(--muted);opacity:1;}
  .item-drag:active{cursor:grabbing;}
  .item-drag svg{width:9px;height:14px;pointer-events:none;}
  .checklist-item.item-dragging{
    z-index:30;background:rgba(var(--accent-rgb),.10);
    border-radius:8px;box-shadow:0 6px 16px rgba(0,0,0,.18);
  }
  .checklist-item.item-dragging .item-drag{opacity:1;color:var(--accent-soft);}
  .project-item-remove{
    flex:0 0 auto;align-self:center;
    background:none;border:none;color:var(--faint);cursor:pointer;
    font:inherit;font-size:11px;font-weight:600;padding:4px 2px;
    opacity:0;transition:opacity var(--t-base) var(--ease),color var(--t-base) var(--ease);
  }
  .checklist-item:hover .project-item-remove,
  .checklist-item:focus-within .project-item-remove{opacity:1;}
  .project-item-remove:hover{color:var(--danger);}
  .project-empty-action{
    align-self:flex-start;margin-top:2px;
    background:none;border:1px dashed rgba(var(--accent-rgb),.35);
    color:var(--accent-soft);cursor:pointer;
    border-radius:10px;padding:10px 12px;font:inherit;font-size:12px;font-weight:600;
    transition:background var(--t-base) var(--ease),border-color var(--t-base) var(--ease);
  }
  .project-empty-action:hover{background:rgba(var(--accent-rgb),.09);border-color:rgba(var(--accent-rgb),.55);}
  body.reordering-items{cursor:grabbing;-webkit-user-select:none;user-select:none;}

  /* confirm delete overlay */
  .confirm-overlay{
    position:fixed;inset:0;z-index:70;background:rgba(3,3,4,.78);backdrop-filter:blur(6px);
    display:flex;align-items:center;justify-content:center;
  }
  .confirm-box{
    background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);
    padding:26px 28px;max-width:360px;width:90%;box-shadow:var(--shadow);text-align:center;
  }
  .confirm-box h3{margin:0 0 8px;font-size:17px;}
  .confirm-box p{margin:0 0 22px;font-size:13px;color:var(--muted);}
  .confirm-actions{display:flex;gap:10px;justify-content:center;}
  .confirm-cancel{
    background:var(--card);border:1px solid var(--line);color:var(--muted);
    padding:10px 22px;border-radius:11px;font-size:13.5px;font-weight:600;cursor:pointer;font-family:inherit;
  }
  .confirm-cancel:hover{color:var(--text);}
  .confirm-delete{
    background:rgba(var(--danger-rgb),.22);border:1px solid rgba(var(--danger-rgb),.55);color:var(--danger-soft);
    padding:10px 22px;border-radius:var(--r-md);font-size:13.5px;font-weight:var(--fw-sb);cursor:pointer;font-family:inherit;
    transition:background var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease);
  }
  .confirm-delete:hover{background:rgba(var(--danger-rgb),.34);box-shadow:0 6px 18px rgba(var(--danger-rgb),.28);}

  /* ============ Task History (in Productivity panel) ============ */
  .task-history-card{
    background:linear-gradient(160deg,var(--card),var(--card-2));
    border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);
    padding:18px 20px 20px;
  }
  .task-history-heading{font-size:var(--fs-small);text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);font-weight:700;margin:0 0 14px;}
  .task-history-day{margin-bottom:14px;}
  .task-history-day:last-child{margin-bottom:0;}
  .task-history-day-title{
    font-size:10.5px;font-weight:700;color:var(--accent2);letter-spacing:.5px;
    text-transform:uppercase;margin-bottom:6px;display:flex;align-items:center;gap:8px;
  }
  .task-history-day-title::after{content:'';flex:1;height:1px;background:var(--line-soft);}
  .task-history-day-collapsible{cursor:pointer;user-select:none;}
  .task-history-day-collapsible:hover{color:var(--fg);}
  .task-history-day-collapsible.collapsed{margin-bottom:0;}
  .day-title-arrow{font-size:8px;opacity:.7;flex-shrink:0;}
  .day-title-count{opacity:.55;font-weight:500;text-transform:none;letter-spacing:0;}
  .task-history-day-body{}
  .task-history-item{
    display:flex;align-items:flex-start;gap:8px;
    padding:7px 10px;margin-bottom:4px;
    border-radius:9px;border:1px solid var(--line-soft);
    background:rgba(var(--text-rgb),.02);
  }
  .task-history-item:last-child{margin-bottom:0;}
  .task-history-item-body{flex:1;min-width:0;}
  .task-history-item-top{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;}
  .task-history-item-title{font-size:13px;font-weight:600;color:var(--text);}
  .task-history-item-meta{font-size:10.5px;color:var(--faint);white-space:nowrap;}
  .task-history-item-items{margin-top:4px;display:flex;flex-wrap:wrap;gap:3px 10px;}
  .task-history-item-row{font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:4px;}
  .task-history-item-row::before{content:'·';color:var(--faint);flex:0 0 auto;}
  .task-history-item-row.done{color:var(--faint);}
  .task-history-item-row.done::before{content:'✓';color:var(--accent2);}
  .task-history-item-row.done span{text-decoration:line-through;}
  .task-history-item-row[data-indent="1"]{margin-left:12px;}
  .task-history-item-row[data-indent="2"]{margin-left:24px;}
  .task-history-item-row[data-indent="3"]{margin-left:36px;}
  .task-history-item-row[data-indent="4"]{margin-left:48px;}
  .task-history-del{
    flex:0 0 auto;background:none;border:none;cursor:pointer;
    color:var(--faint);font-size:16px;line-height:1;padding:0 2px;margin-top:1px;
    transition:color .15s;font-family:inherit;
  }
  .task-history-del:hover{color:var(--danger);}

  /* Ticked but never archived: still part of the record, flagged so the row
     reads as unfiled rather than looking identical to a closed-out one. */
  .task-history-unfiled{
    flex:0 0 auto;font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;
    color:var(--faint);border:1px solid var(--line);border-radius:3px;padding:1px 5px;
  }
  .task-history-file{
    flex:0 0 auto;background:none;border:1px solid var(--line);border-radius:4px;
    cursor:pointer;color:var(--muted);font-size:10.5px;line-height:1;padding:3px 7px;
    margin-top:1px;transition:color .15s,border-color .15s;font-family:inherit;
  }
  .task-history-file:hover{color:var(--accent2);border-color:var(--accent2);}
  .task-history-empty{font-size:13px;color:var(--faint);padding:8px 2px;}

  /* The staging block reads as unfinished business, not as record: dashed edge
     so a glance separates "waiting to be filed" from "filed". */
  .task-history-staging{margin-bottom:14px;}
  .task-history-item-pending{border-style:dashed;background:none;}

  /* ============ Productivity Heatmap Panel ============ */
  .prod-panel{
    grid-column:1;grid-row:3;
    display:none;flex-direction:column;
    min-height:0;overflow-y:auto;padding:24px;gap:20px;
  }
  .prod-panel.visible{display:flex;}

  /* First-class Tracker page: timer leads, evidence supports, Through Line follows. */
  .tracker-page-head{
    display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
    padding:4px 2px 20px;border-bottom:1px solid var(--line-soft);
  }
  .tracker-page-kicker{
    display:block;margin-bottom:7px;color:var(--accent);font:700 10px/1 var(--font-mono);
    letter-spacing:.16em;text-transform:uppercase;
  }
  .tracker-page-head h1{
    margin:0;color:var(--text);font:600 30px/1.08 var(--font-display);
    letter-spacing:-.025em;text-wrap:balance;
  }
  .tracker-page-head p{margin:8px 0 0;max-width:640px;color:var(--muted);font-size:13px;line-height:1.5;text-wrap:pretty;}
  .tracker-page-status{
    flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:4px;
    padding:9px 11px;border:1px solid var(--line-soft);background:rgba(var(--accent-rgb),.025);
    font-family:var(--font-mono);font-variant-numeric:tabular-nums;
  }
  .tracker-page-status span{color:var(--faint);font-size:9px;letter-spacing:.12em;}
  .tracker-page-status strong{color:var(--accent-soft);font-size:11px;letter-spacing:.06em;}
  .tracker-workbench{
    display:grid;grid-template-columns:minmax(340px,1.15fr) minmax(280px,.85fr);
    gap:16px;align-items:stretch;
  }
  .prod-panel .tracker-workbench > .card,
  .prod-panel .tracker-insights > .card{border-radius:var(--hud-r,6px) !important;}
  .tracker-timer-card{
    min-height:340px;display:flex;flex-direction:column;justify-content:center;
    padding:24px !important;border-color:rgba(var(--accent-rgb),.24) !important;
    box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.06),var(--sh-1) !important;
  }
  .tracker-timer-card .card-title{text-align:center;color:var(--accent-soft);}
  .tracker-timer-card .sw-display{
    color:var(--text);font-family:var(--font-mono);font-size:clamp(42px,4.2vw,68px);
    font-weight:300;letter-spacing:-.045em;text-shadow:0 0 24px rgba(var(--accent-rgb),.12);
  }
  .tracker-workbench .sw-progress{height:4px;border-radius:2px;}
  .tracker-workbench .sw-progress > i{border-radius:2px;}
  .tracker-workbench .catchip,
  .tracker-workbench .btn,
  .tracker-workbench .cat-add input,
  .tracker-workbench .cat-add button{border-radius:8px !important;min-height:40px;}
  .tracker-workbench .btn-stop{padding-inline:16px;}
  .tracker-insights{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:16px;min-width:0;}
  .tracker-totals-card,.tracker-categories-card{min-width:0;}
  .tracker-log-card{grid-column:1 / -1;}
  .tracker-log-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;}
  .tracker-log-head .card-title,.tracker-log-head .log-clear{margin:0;}
  .tracker-log-card .log-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px;}
  .tracker-evidence-head{
    display:flex;align-items:baseline;justify-content:space-between;gap:16px;
    margin-top:4px;padding-top:20px;border-top:1px solid var(--line-soft);
  }
  .tracker-evidence-head span{color:var(--text);font:700 11px/1 var(--font-mono);letter-spacing:.14em;}
  .tracker-evidence-head p{margin:0;color:var(--faint);font-size:11px;}

  @media (max-width:1180px){
    .tracker-workbench{grid-template-columns:1fr;}
    .tracker-insights{grid-template-columns:1fr 1fr;grid-template-rows:auto;}
  }
  @media (max-width:820px){
    .prod-panel{padding:18px;}
    .tracker-page-head{align-items:flex-start;}
    .tracker-page-status{display:none;}
    .tracker-insights{grid-template-columns:1fr;}
    .tracker-evidence-head{align-items:flex-start;flex-direction:column;gap:6px;}
    .heatmap-row{flex-direction:column;}
  }

  /* Two heatmaps side by side, equal width and height */
  .heatmap-row{display:flex;gap:18px;align-items:stretch;}
  .heatmap-row .heatmap-card{flex:1;min-width:0;display:flex;flex-direction:column;}
  /* Keep a half-width heatmap from forcing the card wider than its column */
  .heatmap-row .heatmap-cols-wrap{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent;}
  .heatmap-row .heatmap-cols-wrap::-webkit-scrollbar{height:6px;}
  .heatmap-row .heatmap-stats{margin-top:auto;}
  .heatmap-card{
    background:linear-gradient(160deg,var(--card),var(--card-2));
    border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);
    padding:22px 24px 24px;
  }
  .heatmap-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:10px;flex-wrap:wrap;}
  .heatmap-heading{font-size:var(--fs-small);text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);font-weight:700;}
  .heatmap-legend{display:flex;align-items:center;gap:5px;font-size:10.5px;color:var(--faint);}
  .heatmap-legend-cells{display:flex;gap:3px;}
  .heatmap-wrap{display:flex;gap:4px;}
  .heatmap-day-labels{
    display:flex;flex-direction:column;
    padding-top:16px;
    gap:3px;
    font-size:9.5px;color:var(--faint);
    margin-right:4px;
  }
  .heatmap-day-labels span{height:14px;display:flex;align-items:center;}
  .heatmap-cols-wrap{display:flex;flex-direction:column;gap:0;}
  .heatmap-month-labels{
    display:flex;gap:0;margin-bottom:4px;padding-left:0;
    font-size:9.5px;color:var(--faint);letter-spacing:.3px;height:12px;
    overflow:hidden;
  }
  .heatmap-month-label{flex:0 0 auto;white-space:nowrap;}
  .heatmap-cols{display:flex;gap:3px;}
  .heatmap-col{display:flex;flex-direction:column;gap:3px;}
  .heatmap-cell{
    width:14px;height:14px;border-radius:3px;
    cursor:default;position:relative;flex:0 0 auto;
  }
  .heatmap-cell:hover{transform:scale(1.35);z-index:5;}
  .heatmap-cell[data-shade="0"]{background:var(--card-subtle);}
  .heatmap-cell[data-shade="1"]{background:rgba(var(--good-rgb),.10);}
  .heatmap-cell[data-shade="2"]{background:rgba(var(--good-rgb),.18);}
  .heatmap-cell[data-shade="3"]{background:rgba(var(--good-rgb),.28);}
  .heatmap-cell[data-shade="4"]{background:rgba(var(--good-rgb),.38);}
  .heatmap-cell[data-shade="5"]{background:rgba(var(--good-rgb),.50);}
  .heatmap-cell[data-shade="6"]{background:rgba(var(--good-rgb),.62);}
  .heatmap-cell[data-shade="7"]{background:rgba(var(--good-rgb),.74);}
  .heatmap-cell[data-shade="8"]{background:rgba(var(--good-rgb),.85);}
  .heatmap-cell[data-shade="9"]{background:rgba(var(--good-rgb),.95);}
  .heatmap-cell[data-shade="10"]{background:var(--good);box-shadow:0 0 7px rgba(var(--good-rgb),.5);}
  .heatmap-stats{display:flex;gap:10px;margin-top:20px;}
  .hm-stat{
    flex:1;background:var(--card);border:1px solid var(--line-soft);
    border-radius:13px;padding:12px 14px;text-align:center;
  }
  .hm-stat .v{font-size:21px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--accent2);}
  .hm-stat .l{font-size:10px;color:var(--faint);text-transform:uppercase;letter-spacing:1.2px;margin-top:4px;}

  /* ============ Dashboard Panel ============ */
  .dash-panel{
    grid-column:1;grid-row:3;
    display:none;flex-direction:column;
    min-height:0;overflow-y:auto;padding:0 24px 28px;gap:14px;
  }
  .dash-panel.visible{display:flex;}
  .dash-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
    gap:14px;
  }
  .dash-card{
    background:linear-gradient(160deg,var(--card),var(--card-2));
    border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);
    padding:18px 18px 20px;display:flex;flex-direction:column;gap:8px;
    transition:transform var(--t-base) var(--ease),border-color var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease);
  }
  .dash-card:hover{transform:translateY(-2px);border-color:var(--line-bright);box-shadow:var(--sh-2);}
  .dash-card-title{
    font-size:var(--fs-label);text-transform:uppercase;letter-spacing:1.2px;
    color:var(--faint);font-weight:700;
  }
  .dash-card-body{
    font-size:var(--fs-content);color:var(--text);font-weight:600;
    font-variant-numeric:tabular-nums;
  }

  /* ============ Projects Panel ============ */
  .projects-panel{
    grid-column:1;grid-row:3;
    display:none;flex-direction:column;
    min-height:0;overflow-y:auto;padding:0 24px 28px;gap:14px;
  }
  .projects-panel.visible{display:flex;}
  .projects-header-actions{
    display:flex;align-items:center;justify-content:flex-end;gap:10px;
    flex:1;min-width:0;flex-wrap:wrap;
  }
  .projects-search{
    display:flex;align-items:center;gap:8px;
    min-width:220px;flex:1 1 240px;max-width:340px;
    padding:0 12px;height:40px;
    border-radius:12px;border:1px solid var(--line);
    background:rgba(var(--text-rgb),.04);color:var(--muted);
  }
  .projects-search svg{width:15px;height:15px;flex:0 0 auto;color:var(--faint);}
  .projects-search input{
    flex:1;min-width:0;background:none;border:none;outline:none;
    color:var(--text);font:inherit;
  }
  .projects-search input::placeholder{color:var(--faint);}
  .projects-filter{
    display:inline-flex;align-items:center;gap:4px;
    padding:4px;border:1px solid var(--line);border-radius:12px;
    background:rgba(var(--text-rgb),.03);flex:0 0 auto;
  }
  .projects-filter-btn{
    background:none;border:none;color:var(--muted);cursor:pointer;
    padding:7px 12px;border-radius:9px;font:inherit;font-size:12px;font-weight:650;
    transition:background var(--t-base) var(--ease),color var(--t-base) var(--ease);
  }
  .projects-filter-btn:hover{color:var(--text);background:rgba(var(--text-rgb),.05);}
  .projects-filter-btn.active{color:var(--accent-soft);background:rgba(var(--accent-rgb),.14);}
  .projects-summary{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;
  }
  .projects-summary-card{
    display:flex;flex-direction:column;gap:5px;
    padding:13px 14px;border-radius:14px;
    border:1px solid var(--line);background:rgba(var(--text-rgb),.03);
  }
  .projects-summary-label{
    font-size:10.5px;font-weight:700;letter-spacing:1px;
    text-transform:uppercase;color:var(--faint);
  }
  .projects-summary-value{font-size:14px;font-weight:700;color:var(--text);}
  .project-bubble{gap:10px;padding:16px;}
  .project-bubble.is-complete{border-color:rgba(var(--accent2-rgb),.35);}
  .project-bubble.is-collapsed .project-body{display:none;}
  .project-bubble.is-collapsed{padding-bottom:14px;}
  .project-bubble-header{align-items:center;gap:10px;margin-bottom:0;}

  /* Leading expand/collapse chevron — points right, rotates 90° down when open */
  .project-chevron{
    flex:0 0 auto;display:flex;align-items:center;justify-content:center;
    width:24px;height:24px;margin:-2px 0;padding:0;
    background:none;border:none;cursor:pointer;color:var(--muted);
    border-radius:var(--r-sm);
    transition:color var(--t-base) var(--ease),background var(--t-base) var(--ease);
  }
  .project-chevron:hover{color:var(--text);background:var(--card-hover);}
  .project-chevron svg{
    width:15px;height:15px;pointer-events:none;
    transition:transform var(--t-base) var(--ease);
  }
  .project-bubble:not(.is-collapsed) .project-chevron svg{transform:rotate(90deg);}

  .project-title-wrap{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0;}

  /* Collapsible body: the project "page" (plan blocks) + the actions checklist */
  .project-body{display:flex;flex-direction:column;gap:0;margin-top:4px;}
  .project-plan{display:flex;flex-direction:column;gap:9px;margin-bottom:6px;}
  .plan-block{
    background:var(--card-subtle);border:1px solid var(--line);
    border-radius:var(--r-lg);padding:11px 13px;
  }
  .plan-block .pb-k{
    display:flex;align-items:center;gap:7px;margin-bottom:6px;
    font-size:10.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;
    color:var(--faint);
  }
  .plan-block .pb-k svg{width:13px;height:13px;flex:0 0 auto;color:var(--accent-soft);}
  .plan-block .pb-v{
    width:100%;display:block;background:none;border:none;outline:none;resize:none;
    color:var(--text);font-family:inherit;font-size:13.5px;line-height:1.55;
    overflow:hidden;min-height:21px;padding:0;caret-color:var(--accent);
  }
  .plan-block .pb-v::placeholder{color:var(--faint);}

  .project-actions-title{
    display:flex;align-items:center;gap:8px;margin:10px 0 4px;
    font-size:var(--fs-label);font-weight:700;letter-spacing:.5px;text-transform:uppercase;
    color:var(--muted);
  }
  .project-actions-title .pat-count{
    color:var(--faint);font-weight:600;letter-spacing:0;
  }
  .project-card-actions{
    align-self:flex-start;gap:4px;flex-wrap:wrap;
    opacity:.18;transform:translateY(1px);
    transition:opacity var(--t-base) var(--ease),transform var(--t-base) var(--ease);
  }
  .project-bubble:hover .project-card-actions,
  .project-bubble:focus-within .project-card-actions{
    opacity:1;transform:none;
  }
  .project-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
  .project-status,
  .project-counts{
    font-size:11.5px;font-weight:600;color:var(--muted);
  }
  .project-status{color:var(--accent2-soft);}
  .project-progress{
    height:6px;border-radius:999px;background:rgba(var(--text-rgb),.06);overflow:hidden;
  }
  .project-progress i{
    display:block;height:100%;border-radius:999px;
    background:linear-gradient(90deg,var(--accent),var(--accent2));
    transition:width var(--t-base) var(--ease);
  }
  .project-action-btn{
    background:transparent;border:1px solid transparent;color:var(--faint);
    padding:3px 8px;border-radius:999px;letter-spacing:.1px;
  }
  .project-action-btn:hover,
  .project-action-btn:focus-visible{
    color:var(--text);background:rgba(var(--text-rgb),.05);border-color:var(--line);
  }
  .project-card-actions .task-delete-btn:hover,
  .project-card-actions .task-delete-btn:focus-visible{
    color:var(--danger);border-color:rgba(var(--danger-rgb),.28);background:rgba(var(--danger-rgb),.10);
  }
  .project-card-actions .task-archive-btn:hover,
  .project-card-actions .task-archive-btn:focus-visible{
    color:var(--accent2-soft);border-color:rgba(var(--accent2-rgb),.28);background:rgba(var(--accent2-rgb),.10);
  }
  .projects-empty-state{
    padding:18px 20px;border-radius:14px;border:1px dashed var(--line);
    background:rgba(var(--text-rgb),.02);
  }

  /* ============ Gstack Panel ============ */
  .gstack-panel{
    grid-column:1;grid-row:3;
    display:none;flex-direction:column;
    min-height:0;overflow:hidden;
  }
  .gstack-panel.visible{display:flex;}
  .gstack-iframe{
    flex:1;border:none;width:100%;height:100%;min-height:0;
    background:transparent;
  }

  /* ============ Todo Sidebar (col 2, row 3 — permanent, above compact tracker) ============ */
  .todo-sidebar{
    flex:1 1 auto;min-height:0;
    display:flex;flex-direction:column;
    border-left:1px solid var(--line);
    background:linear-gradient(180deg,var(--panel-2),var(--panel));
    overflow:hidden;
    min-width:220px;
  }
  .todo-sidebar-header{
    display:flex;align-items:center;gap:6px;
    padding:8px 10px;border-bottom:1px solid var(--line-soft);
    flex:0 0 auto;
  }
  .todo-sidebar-label{
    font-size:10px;text-transform:uppercase;letter-spacing:1.4px;
    color:var(--faint);font-weight:700;
  }
  .sidepanel-tabs{
    display:flex;align-items:center;gap:2px;flex:1;
  }
  .sidepanel-tab{
    background:none;border:none;cursor:pointer;font-family:inherit;
    font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;
    color:var(--faint);padding:4px 7px;border-radius:4px;white-space:nowrap;
    transition:color .15s,background .15s;
  }
  .sidepanel-tab:hover{color:var(--muted);background:rgba(var(--text-rgb),.04);}
  .sidepanel-tab.is-active{color:var(--text);}
  .sidepanel-pane{display:none;flex:1;min-height:0;flex-direction:column;}
  .sidepanel-pane.is-active{display:flex;}

  /* ---- Goals sub-tabs ---- */
  #sidepane-goals{overflow:hidden;}
  .goals-subtabs{
    display:flex;flex:0 0 auto;border-bottom:1px solid var(--line-soft);
    padding:6px 8px 0;gap:0;
  }
  .goals-subtab{
    background:none;border:none;cursor:pointer;font-family:inherit;
    font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.1px;
    color:var(--faint);padding:5px 10px 6px;border-bottom:2px solid transparent;
    margin-bottom:-1px;white-space:nowrap;transition:color .15s,border-color .15s;
  }
  .goals-subtab:hover{color:var(--muted);}
  .goals-subtab.is-active{color:var(--text);border-bottom-color:var(--accent);}
  .goals-subpane{display:none;flex:1;min-height:0;flex-direction:column;overflow-y:auto;}
  .goals-subpane.is-active{display:flex;}
  .goals-subpane-empty{
    flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:10px;padding:24px 16px;color:var(--faint);
  }
  .goals-subpane-empty svg{width:32px;height:32px;opacity:.4;}
  .goals-subpane-empty span{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;opacity:.6;}
  .goals-text-box{
    flex:1;width:100%;min-height:0;resize:none;border:none;outline:none;
    background:transparent;color:var(--text);font-family:inherit;font-size:13px;
    line-height:1.6;padding:10px 12px;caret-color:var(--accent);
  }
  .goals-text-box::placeholder{color:var(--faint);}
  .side-week-plan{display:flex;flex-direction:column;gap:9px;padding:10px;min-height:100%;}
  .side-week-plan>header{display:flex;flex-direction:column;gap:5px;padding:10px;border:1px solid var(--line);border-radius:10px;background:rgba(var(--accent-rgb),.045);}
  .side-week-plan>header span{color:var(--faint);font:700 9px/1 var(--font-mono);letter-spacing:.1em;}
  .side-week-plan>header b{color:var(--text);font-size:13px;line-height:1.4;}
  .side-week-outcomes{display:flex;flex-direction:column;gap:4px;}
  .side-week-outcomes span{padding:6px 8px;border-left:2px solid var(--line-strong);color:var(--muted);font-size:11px;background:var(--card-subtle);}
  .side-week-tasks{display:flex;flex-direction:column;gap:6px;overflow:auto;}
  .side-week-task{display:grid;grid-template-columns:18px minmax(0,1fr);gap:6px 8px;align-items:start;padding:8px;border:1px solid var(--line-soft);border-radius:9px;background:var(--card-subtle);}
  .side-week-task>input{margin-top:3px;accent-color:var(--accent);}
  .side-week-task>div{display:flex;flex-direction:column;gap:3px;min-width:0;}
  .side-week-task b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:11px;}
  .side-week-task span{color:var(--faint);font:600 8px/1 var(--font-mono);text-transform:uppercase;}
  .side-week-task select{grid-column:2;width:100%;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--muted);font-size:10px;padding:5px 7px;}
  .side-week-task.is-done{opacity:.58;}
  .side-week-task.is-done b{text-decoration:line-through;}
  .side-week-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-top:auto;}
  .side-week-add input{min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--card-subtle);color:var(--text);padding:8px;font-size:11px;outline:none;}
  .side-week-add input:focus{border-color:var(--accent);}
  .side-week-add button{border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:var(--on-accent);font-size:10px;font-weight:700;padding:7px 10px;cursor:pointer;}

  /* ---- Thought Capture sidepanel tab ---- */
  #sidepane-tc{overflow-y:auto;padding:10px 8px 16px;gap:10px;}
  .sptc-capture{display:flex;flex-direction:column;gap:7px;flex:0 0 auto;}
  .sptc-capture textarea{
    width:100%;background:rgba(10,10,11,.4);border:1px solid var(--line);border-radius:var(--r-md);
    color:var(--text);font-family:inherit;font-size:13px;line-height:1.5;
    padding:9px 10px;resize:none;min-height:52px;outline:none;box-sizing:border-box;
    transition:border-color .15s;
  }
  .sptc-capture textarea:focus{border-color:var(--accent);}
  .sptc-capture textarea::placeholder{color:var(--faint);}
  .sptc-capture-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;}
  .sptc-hint{font-size:10px;color:var(--faint);}
  .sptc-hint kbd{
    background:var(--card);border:1px solid var(--line);border-radius:3px;
    padding:1px 4px;font-size:9px;font-family:inherit;color:var(--muted);
  }
  .sptc-inbox-head{
    display:flex;align-items:center;justify-content:space-between;gap:6px;
    padding:6px 0 6px;border-top:1px solid var(--line-soft);flex:0 0 auto;
  }
  .sptc-inbox-label{
    font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.1px;color:var(--faint);
  }
  .sptc-inbox-actions{display:flex;align-items:center;gap:4px;flex-wrap:wrap;}
  .sptc-empty{padding:16px 8px !important;}
  /* Compact the tc-row inside the narrow sidebar */
  #sidepane-tc .tc-row{padding:9px 10px;}
  #sidepane-tc .tc-row-name{font-size:12.5px;}
  #sidepane-tc .tc-row-notes{font-size:12px;}

  .todo-sidebar .todo-add-btn{padding:5px 10px;font-size:11.5px;}
  .todo-sidebar-tasks{
    flex:1;overflow-y:auto;overflow-x:hidden;
    display:flex;flex-direction:column;gap:10px;
    padding:8px 6px 12px;
  }

  /* The rail is now a single unified, drag-reorderable Action list (.rail-list /
     .tsb-row) — see thought-capture.css. The legacy bubble planner (.rail-todos)
     and its time-of-day bars were retired when to-dos became standalone actions. */

  /* Drag-and-drop */
  .drag-handle{
    cursor:grab;color:var(--faint);display:flex;align-items:center;
    flex:0 0 auto;padding:2px 7px 2px 1px;margin:-2px 0;transition:color .15s;
    touch-action:none;-webkit-user-select:none;user-select:none;
  }
  .drag-handle:hover{color:var(--muted);}
  .drag-handle:active{cursor:grabbing;}
  .drag-handle svg{width:12px;height:16px;pointer-events:none;}
  .task-bubble{position:relative;}
  .task-bubble.dragging{
    z-index:50;cursor:grabbing;
    border-color:rgba(var(--accent-rgb),.55);
    box-shadow:0 10px 28px rgba(0,0,0,.22),0 0 0 1px rgba(var(--accent-rgb),.45);
  }
  body.reordering{cursor:grabbing;-webkit-user-select:none;user-select:none;}

  @media (max-width: 900px){
    .projects-header-actions{justify-content:stretch;}
    .projects-search{max-width:none;}
    .projects-filter{width:100%;justify-content:space-between;}
    .projects-filter-btn{flex:1;}
    .project-card-actions{opacity:1;transform:none;}
    .projects-panel .task-bubble-actions{width:100%;flex-wrap:wrap;justify-content:flex-start;}
  }

  /* ============ To-Do Bookmark Bars (movable section markers) ============ */
  /* Four fixed-order markers — This Morning / This Afternoon / Tomorrow /
     Later — that drag between tasks. Their relative order is locked: a bar
     can move past tasks but never past another bar (see onBubbleDragMove). */
  .bookmark-bar{
    position:relative;display:flex;align-items:center;gap:8px;
    padding:8px 12px;border-radius:var(--r-md);
    background:var(--card-subtle);
    border:1px solid var(--line-soft);
    border-top:2px solid var(--bm-color,var(--accent));
    -webkit-user-select:none;user-select:none;cursor:default;
  }
  .bookmark-bar .drag-handle{padding:2px 6px 2px 0;margin:0;}
  .bookmark-bar-icon{display:flex;flex:0 0 auto;color:var(--bm-color,var(--accent));}
  .bookmark-bar-icon svg{width:13px;height:13px;}
  .bookmark-bar-label{
    font-size:11px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase;
    color:var(--bm-color,var(--accent));white-space:nowrap;
  }
  .bookmark-bar.dragging{
    z-index:50;cursor:grabbing;
    box-shadow:0 8px 22px rgba(0,0,0,.22),0 0 0 1px var(--bm-color,var(--accent));
  }
  /* "Now" — a permanent, non-movable bar pinned to the top of the list. */
  .bookmark-bar-now{cursor:default;background:rgba(74,222,128,.09);border-color:rgba(74,222,128,.22);}
  .now-live-dot{
    flex:0 0 auto;width:9px;height:9px;border-radius:50%;margin-left:2px;
    background:var(--bm-color,#4ade80);
    animation:nowPulse 1.8s ease-out infinite;
  }
  @keyframes nowPulse{
    0%{box-shadow:0 0 0 0 rgba(74,222,128,.5);}
    70%{box-shadow:0 0 0 7px rgba(74,222,128,0);}
    100%{box-shadow:0 0 0 0 rgba(74,222,128,0);}
  }

  /* ── Morning HUD — collapsible holographic habit panel ────────────── */
  .morning-hud{
    /* override tsb-divider's row flex so header+body stack vertically */
    display:flex !important;flex-direction:column !important;
    align-items:stretch !important;gap:0 !important;padding:0 !important;
    position:relative;
    background:rgba(0,8,24,0.72);
    border:1px solid rgba(var(--accent-rgb),0.22);
    border-radius:var(--r-md);
    overflow:hidden;
    -webkit-user-select:none;user-select:none;
    margin-bottom:4px;
  }
  /* suppress the tsb-divider fade line — we draw our own on ::before */
  .morning-hud::after{ content:none !important; display:none !important; }
  .morning-hud::before{
    content:'';
    position:absolute;top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent 0%,rgba(var(--accent-rgb),.75) 50%,transparent 100%);
    pointer-events:none;z-index:2;
  }
  .morning-hud.dragging{
    z-index:50;
    box-shadow:0 8px 22px rgba(0,0,0,.22),0 0 0 1px rgba(var(--accent-rgb),.45);
  }
  .morning-hud-header{
    display:flex;align-items:center;gap:6px;
    padding:6px 10px;
    cursor:pointer;
    position:relative;z-index:1;
    background:linear-gradient(90deg,rgba(var(--accent-rgb),0.18) 0%,rgba(var(--accent-rgb),0.08) 60%,transparent 100%);
  }
  .morning-hud-header:hover{
    background:linear-gradient(90deg,rgba(var(--accent2-rgb),.22) 0%,rgba(var(--accent2-rgb),.10) 60%,transparent 100%);
  }
  .morning-hud-header .drag-handle{
    padding:2px 4px 2px 0;margin:0;flex-shrink:0;
  }
  .morning-hud-pulse{
    flex:0 0 auto;width:6px;height:6px;border-radius:50%;
    background:var(--accent2);
    box-shadow:0 0 6px rgba(var(--accent2-rgb),.6),0 0 14px rgba(var(--accent2-rgb),.35);
    animation:hudPulse 2.2s ease-in-out infinite;
  }
  @keyframes hudPulse{
    0%,100%{opacity:1;box-shadow:0 0 6px rgba(var(--accent2-rgb),.6),0 0 14px rgba(var(--accent2-rgb),.35);}
    50%{opacity:0.3;box-shadow:0 0 3px rgba(var(--accent2-rgb),.6);}
  }
  .morning-hud-title{
    flex:1;
    font-size:10px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;
    color:var(--accent);
    font-family:var(--font-mono);
  }
  .morning-hud-count{
    font-size:9px;letter-spacing:0.08em;
    color:rgba(var(--accent-rgb),.55);
    font-family:var(--font-mono);
  }
  .morning-hud-chevron{
    font-size:8px;color:rgba(var(--accent-rgb),0.5);
  }
  .morning-hud-body{position:relative;z-index:1;}
  .morning-hud-grid{
    display:flex;flex-direction:row;
    gap:4px;padding:5px 8px 5px;
  }
  .morning-hud-btn{
    flex:1;min-width:0;height:38px;
    background:linear-gradient(135deg,rgba(var(--accent-rgb),0.16),rgba(var(--accent-rgb),0.07));
    border:1px solid rgba(var(--accent-rgb),0.22);
    border-radius:16px;
    display:flex;align-items:center;justify-content:center;
    flex-direction:column;gap:2px;
    cursor:pointer;
    transition:border-color 0.15s,background 0.15s,box-shadow 0.15s;
    position:relative;overflow:hidden;
    font-family:inherit;padding:0;
  }
  .morning-hud-btn::before{
    content:'';
    position:absolute;top:0;left:22%;right:22%;height:1px;
    background:linear-gradient(90deg,transparent,rgba(var(--accent-rgb),.38),transparent);
  }
  .morning-hud-btn:hover{
    border-color:rgba(var(--accent-rgb),0.42);
    background:linear-gradient(135deg,rgba(var(--accent-rgb),0.22),rgba(var(--accent-rgb),0.10));
  }
  .morning-hud-btn.is-done{
    border-color:rgba(var(--accent-rgb),.5);
    background:linear-gradient(135deg,rgba(var(--accent-rgb),0.26),rgba(var(--accent-rgb),0.14));
    box-shadow:0 0 10px rgba(var(--accent-rgb),.12);
  }
  .morning-hud-btn-icon{font-size:11px;line-height:1;}
  .morning-hud-btn-text{
    font-size:7px;letter-spacing:0.07em;text-transform:uppercase;
    color:rgba(var(--accent-rgb),0.65);
    font-family:var(--font-mono);
    line-height:1;
  }
  .morning-hud-btn.is-done .morning-hud-btn-text{color:rgba(var(--accent-rgb),0.9);}

  /* Emoji-only: larger emoji, no label */
  .morning-hud-btn--emoji-only .morning-hud-btn-icon{ font-size:15px; }

  /* Text-only: no emoji, bigger wrapping text on 2 lines */
  .morning-hud-btn--text-only{
    height:auto; min-height:38px; padding:5px 6px;
  }
  .morning-hud-btn-text--lg{
    font-size:9px; letter-spacing:0.06em; text-transform:uppercase;
    color:rgba(var(--accent-rgb),0.65);
    font-family:var(--font-mono);
    line-height:1.35; white-space:normal; word-break:break-word;
    text-align:center;
  }
  .morning-hud-btn--text-only.is-done .morning-hud-btn-text--lg{color:rgba(var(--accent-rgb),0.9);}

  /* Full-width button (Start day) */
  .morning-hud-full{ padding:0 8px 8px; }
  .morning-hud-btn--full-width{
    width:100%;height:auto;min-height:24px;
    border-radius:10px;padding:2px 12px;
    flex-direction:row;gap:6px;
  }
  .morning-hud-btn--full-width .morning-hud-btn-text--lg{ font-size:9px;white-space:nowrap; }

  /* ── Evening HUD — same structure and blue palette as Morning ────────── */
  .evening-hud{
    display:flex !important;flex-direction:column !important;
    align-items:stretch !important;gap:0 !important;padding:0 !important;
    position:relative;
    background:rgba(0,8,24,0.72);
    border:1px solid rgba(var(--accent-rgb),0.22);
    border-radius:var(--r-md);
    overflow:hidden;
    -webkit-user-select:none;user-select:none;
    margin-bottom:4px;
  }
  .evening-hud::after{ content:none !important; display:none !important; }
  .evening-hud::before{
    content:'';
    position:absolute;top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent 0%,rgba(var(--accent-rgb),.75) 50%,transparent 100%);
    pointer-events:none;z-index:2;
  }
  .evening-hud.dragging{
    z-index:50;
    box-shadow:0 8px 22px rgba(0,0,0,.22),0 0 0 1px rgba(var(--accent-rgb),.45);
  }
  .evening-hud-header{
    display:flex;align-items:center;gap:6px;
    padding:6px 10px;
    cursor:pointer;
    position:relative;z-index:1;
    background:linear-gradient(90deg,rgba(var(--accent-rgb),0.18) 0%,rgba(var(--accent-rgb),0.08) 60%,transparent 100%);
  }
  .evening-hud-header:hover{
    background:linear-gradient(90deg,rgba(var(--accent2-rgb),.22) 0%,rgba(var(--accent2-rgb),.10) 60%,transparent 100%);
  }
  .evening-hud-pulse{
    flex:0 0 auto;width:6px;height:6px;border-radius:50%;
    background:var(--accent2);
    box-shadow:0 0 6px rgba(var(--accent2-rgb),.6),0 0 14px rgba(var(--accent2-rgb),.35);
    animation:hudPulse 2.2s ease-in-out infinite;
  }
  .evening-hud-title{
    flex:1;
    font-size:10px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;
    color:var(--accent);
    font-family:var(--font-mono);
  }
  .evening-hud-count{
    font-size:9px;letter-spacing:0.08em;
    color:rgba(var(--accent-rgb),.55);
    font-family:var(--font-mono);
  }
  .evening-hud-chevron{ font-size:8px;color:rgba(var(--accent-rgb),0.5); }
  .evening-hud-body{ position:relative;z-index:1; }
  .evening-hud-grid{
    display:flex;flex-direction:row;
    gap:4px;padding:5px 8px 5px;
  }
  .evening-hud-full{ padding:0 8px 8px; }
  .evening-hud-btn{
    flex:1;min-width:0;height:38px;
    background:linear-gradient(135deg,rgba(var(--accent-rgb),0.16),rgba(var(--accent-rgb),0.07));
    border:1px solid rgba(var(--accent-rgb),0.22);
    border-radius:16px;
    display:flex;align-items:center;justify-content:center;
    flex-direction:column;gap:2px;
    cursor:pointer;
    transition:border-color 0.15s,background 0.15s,box-shadow 0.15s;
    position:relative;overflow:hidden;
    font-family:inherit;padding:0;
  }
  .evening-hud-btn::before{
    content:'';
    position:absolute;top:0;left:22%;right:22%;height:1px;
    background:linear-gradient(90deg,transparent,rgba(var(--accent-rgb),.38),transparent);
  }
  .evening-hud-btn:hover{
    border-color:rgba(var(--accent-rgb),0.42);
    background:linear-gradient(135deg,rgba(var(--accent-rgb),0.22),rgba(var(--accent-rgb),0.10));
  }
  .evening-hud-btn.is-done{
    border-color:rgba(var(--accent-rgb),.5);
    background:linear-gradient(135deg,rgba(var(--accent-rgb),0.26),rgba(var(--accent-rgb),0.14));
    box-shadow:0 0 10px rgba(var(--accent-rgb),.12);
  }
  .evening-hud-btn-icon{ font-size:11px;line-height:1; }
  .evening-hud-btn-text{
    font-size:7px;letter-spacing:0.07em;text-transform:uppercase;
    color:rgba(var(--accent-rgb),0.65);
    font-family:var(--font-mono);
    line-height:1;
  }
  .evening-hud-btn.is-done .evening-hud-btn-text{ color:rgba(var(--accent-rgb),0.9); }

  /* Emoji-only */
  .evening-hud-btn--emoji-only .evening-hud-btn-icon{ font-size:15px; }

  /* Text-only (wraps to 2 lines) */
  .evening-hud-btn--text-only{ height:auto;min-height:38px;padding:5px 6px; }
  .evening-hud-btn-text--lg{
    font-size:9px;letter-spacing:0.06em;text-transform:uppercase;
    color:rgba(var(--accent-rgb),0.65);
    font-family:var(--font-mono);
    line-height:1.35;white-space:normal;word-break:break-word;text-align:center;
  }
  .evening-hud-btn.is-done .evening-hud-btn-text--lg{ color:rgba(var(--accent-rgb),0.9); }

  /* Full-width button (Finished day) */
  .evening-hud-btn--full-width{
    width:100%;height:auto;min-height:24px;
    border-radius:10px;padding:2px 12px;
    flex-direction:row;gap:6px;
  }
  .evening-hud-btn--full-width .evening-hud-btn-text--lg{ font-size:9px;white-space:nowrap; }

  /* ── Afternoon HUD — same structure and palette as Morning / Evening ── */
  .afternoon-hud{
    display:flex !important;flex-direction:column !important;
    align-items:stretch !important;gap:0 !important;padding:0 !important;
    position:relative;
    background:rgba(0,8,24,0.72);
    border:1px solid rgba(var(--accent-rgb),0.22);
    border-radius:var(--r-md);
    overflow:hidden;
    -webkit-user-select:none;user-select:none;
    margin-bottom:4px;
  }
  .afternoon-hud::after{ content:none !important; display:none !important; }
  .afternoon-hud::before{
    content:'';
    position:absolute;top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent 0%,rgba(var(--accent-rgb),.75) 50%,transparent 100%);
    pointer-events:none;z-index:2;
  }
  .afternoon-hud.dragging{
    z-index:50;
    box-shadow:0 8px 22px rgba(0,0,0,.22),0 0 0 1px rgba(var(--accent-rgb),.45);
  }
  .afternoon-hud-header{
    display:flex;align-items:center;gap:6px;
    padding:6px 10px;
    cursor:pointer;
    position:relative;z-index:1;
    background:linear-gradient(90deg,rgba(var(--accent-rgb),0.18) 0%,rgba(var(--accent-rgb),0.08) 60%,transparent 100%);
  }
  .afternoon-hud-header:hover{
    background:linear-gradient(90deg,rgba(var(--accent2-rgb),.22) 0%,rgba(var(--accent2-rgb),.10) 60%,transparent 100%);
  }
  .afternoon-hud-pulse{
    flex:0 0 auto;width:6px;height:6px;border-radius:50%;
    background:var(--accent2);
    box-shadow:0 0 6px rgba(var(--accent2-rgb),.6),0 0 14px rgba(var(--accent2-rgb),.35);
    animation:hudPulse 2.2s ease-in-out infinite;
  }
  .afternoon-hud-title{
    flex:1;
    font-size:10px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;
    color:var(--accent);
    font-family:var(--font-mono);
  }
  .afternoon-hud-count{
    font-size:9px;letter-spacing:0.08em;
    color:rgba(var(--accent-rgb),.55);
    font-family:var(--font-mono);
  }
  .afternoon-hud-chevron{ font-size:8px;color:rgba(var(--accent-rgb),0.5); }
  .afternoon-hud-body{ position:relative;z-index:1; }
  .afternoon-hud-grid{
    display:flex;flex-direction:row;
    gap:4px;padding:5px 8px 5px;
  }
  .afternoon-hud-full{ padding:0 8px 8px; }
  .afternoon-hud-btn{
    flex:1;min-width:0;height:38px;
    background:linear-gradient(135deg,rgba(var(--accent-rgb),0.16),rgba(var(--accent-rgb),0.07));
    border:1px solid rgba(var(--accent-rgb),0.22);
    border-radius:16px;
    display:flex;align-items:center;justify-content:center;
    flex-direction:column;gap:2px;
    cursor:pointer;
    transition:border-color 0.15s,background 0.15s,box-shadow 0.15s;
    position:relative;overflow:hidden;
    font-family:inherit;padding:0;
  }
  .afternoon-hud-btn::before{
    content:'';
    position:absolute;top:0;left:22%;right:22%;height:1px;
    background:linear-gradient(90deg,transparent,rgba(var(--accent-rgb),.38),transparent);
  }
  .afternoon-hud-btn:hover{
    border-color:rgba(var(--accent-rgb),0.42);
    background:linear-gradient(135deg,rgba(var(--accent-rgb),0.22),rgba(var(--accent-rgb),0.10));
  }
  .afternoon-hud-btn.is-done{
    border-color:rgba(var(--accent-rgb),.5);
    background:linear-gradient(135deg,rgba(var(--accent-rgb),0.26),rgba(var(--accent-rgb),0.14));
    box-shadow:0 0 10px rgba(var(--accent-rgb),.12);
  }
  .afternoon-hud-btn-icon{ font-size:11px;line-height:1; }
  .afternoon-hud-btn-text{
    font-size:7px;letter-spacing:0.07em;text-transform:uppercase;
    color:rgba(var(--accent-rgb),0.65);
    font-family:var(--font-mono);
    line-height:1;
  }
  .afternoon-hud-btn.is-done .afternoon-hud-btn-text{ color:rgba(var(--accent-rgb),0.9); }

  /* Emoji-only */
  .afternoon-hud-btn--emoji-only .afternoon-hud-btn-icon{ font-size:15px; }

  /* Text-only (wraps to 2 lines) */
  .afternoon-hud-btn--text-only{ height:auto;min-height:38px;padding:5px 6px; }
  .afternoon-hud-btn-text--lg{
    font-size:9px;letter-spacing:0.06em;text-transform:uppercase;
    color:rgba(var(--accent-rgb),0.65);
    font-family:var(--font-mono);
    line-height:1.35;white-space:normal;word-break:break-word;text-align:center;
  }
  .afternoon-hud-btn.is-done .afternoon-hud-btn-text--lg{ color:rgba(var(--accent-rgb),0.9); }

  /* Full-width button */
  .afternoon-hud-btn--full-width{
    width:100%;height:auto;min-height:24px;
    border-radius:10px;padding:2px 12px;
    flex-direction:row;gap:6px;
  }
  .afternoon-hud-btn--full-width .afternoon-hud-btn-text--lg{ font-size:9px;white-space:nowrap; }
