.hb-root{display:flex;flex-direction:column;gap:12px;min-height:calc(100vh - 168px)}.hb-toolbar{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--r-lg);flex-wrap:wrap}.hb-toolbar-sep{width:1px;height:20px;background:var(--glass-border)}.hb-toolbar-meta{font-size:12px;color:var(--tx-3);font-weight:500}.hb-toolbar-spacer{flex:1 1;min-width:8px}.hb-toolbar-strip{display:flex;gap:3px;align-items:center}.hb-day{width:30px;height:34px;border-radius:var(--r-sm);border:1px solid var(--glass-border);background:var(--glass-fill);display:grid;place-items:center;cursor:pointer;color:var(--tx-2);font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;font-weight:600;transition:transform var(--dur) var(--ease),background var(--dur) var(--ease),border-color var(--dur) var(--ease);padding:0}.hb-day:hover:not(:disabled){background:var(--glass-fill-2);color:var(--tx-1);transform:translateY(-1px)}.hb-day:disabled{opacity:.4;cursor:not-allowed}.hb-day:focus-visible{outline:2px solid var(--acc-ring);outline-offset:1px}.hb-day.is-today{border-color:var(--acc-ring);box-shadow:0 0 0 2px var(--acc-soft)}.hb-day.is-done{color:#fff}.hb-body{flex:1 1;display:grid;grid-template-columns:360px 1fr;grid-gap:12px;gap:12px;min-height:0}@media (max-width:920px){.hb-body{grid-template-columns:1fr}}.hb-list{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:var(--r-lg);overflow-y:auto;min-height:0}.hb-row{display:grid;grid-template-columns:30px 1fr auto 28px;grid-gap:10px;gap:10px;align-items:center;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--glass-border);background:var(--glass-fill);color:var(--tx-1);cursor:pointer;text-align:left;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.hb-row:hover{background:var(--glass-fill-2)}.hb-row:focus-visible{outline:2px solid var(--acc-ring);outline-offset:1px}.hb-row-icon{display:grid;place-items:center}.hb-row-meta{display:flex;flex-direction:column;min-width:0;gap:2px}.hb-row-name{font-size:13.5px;font-weight:600;color:var(--tx-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hb-row-sub{font-size:11.5px;color:var(--tx-3);display:inline-flex;align-items:center;gap:4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hb-strip{display:grid;grid-template-columns:repeat(14,5px);grid-gap:2px;gap:2px;align-items:center}.hb-strip-cell{width:5px;height:18px;border-radius:2px;background:rgba(255,255,255,.08);transition:background var(--dur) var(--ease)}.hb-strip-cell.is-done{background:var(--acc-solid)}.hb-check{width:26px;height:26px;border-radius:var(--r-sm);border:1.5px solid var(--glass-border-strong);background:transparent;display:grid;place-items:center;color:#fff;cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.hb-check:hover{border-color:var(--tx-2)}.hb-check:focus-visible{outline:2px solid var(--acc-ring);outline-offset:1px}.hb-check.is-done{transform:scale(1.05)}.hb-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.hb-row-wrap{position:relative}.hb-row-tools{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:flex;gap:2px;opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease)}.hb-row-wrap:focus-within .hb-row-tools,.hb-row-wrap:hover .hb-row-tools{opacity:1;pointer-events:auto}.hb-tool{width:22px;height:22px;border-radius:var(--r-sm);border:1px solid var(--glass-border);background:var(--glass-fill-2);color:var(--tx-2);display:grid;place-items:center;cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.hb-tool:hover:not(:disabled){background:var(--glass-fill);color:var(--tx-1)}.hb-tool:disabled{opacity:.35;cursor:not-allowed}.hb-tool:focus-visible{outline:2px solid var(--acc-ring);outline-offset:1px}.hb-archived{margin-top:4px;border-top:1px solid var(--glass-border);padding-top:6px;display:flex;flex-direction:column;gap:6px}.hb-archived-toggle{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--tx-3);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;padding:4px 6px;border-radius:var(--r-sm)}.hb-archived-toggle:hover{color:var(--tx-2)}.hb-archived-toggle:focus-visible{outline:2px solid var(--acc-ring);outline-offset:1px}.hb-arow{display:grid;grid-template-columns:24px 1fr 28px;grid-gap:8px;gap:8px;align-items:center;padding:7px 10px;border-radius:var(--r-md);background:var(--glass-fill);border:1px solid var(--glass-border)}.hb-arow-name{font-size:12.5px;color:var(--tx-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.85}.hb-export{position:relative}.hb-export-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:20;border-radius:var(--r-md);padding:4px;display:flex;flex-direction:column;min-width:140px;box-shadow:var(--shadow-2,0 8px 28px rgba(0,0,0,.4))}.hb-export-item{text-align:left;background:transparent;border:none;color:var(--tx-1);font-size:12.5px;padding:8px 10px;border-radius:var(--r-sm);cursor:pointer}.hb-export-item:hover{background:var(--glass-fill-2)}.hb-export-item:focus-visible{outline:2px solid var(--acc-ring);outline-offset:-2px}.hb-detail{border-radius:var(--r-lg);padding:18px 20px;display:flex;flex-direction:column;gap:18px;overflow-y:auto;min-height:0}.hb-detail-head{display:flex;align-items:center;gap:14px}.hb-detail-icon{width:46px;height:46px;border-radius:var(--r-md);display:grid;place-items:center;flex-shrink:0}.hb-detail-meta{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.hb-detail-name{font-size:18px;font-weight:700;color:var(--tx-1);margin:0;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hb-detail-cadence{font-size:12px;color:var(--tx-3)}.hb-detail-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.hb-icon-btn{width:30px;height:30px;border-radius:var(--r-sm);border:1px solid var(--glass-border);background:var(--glass-fill);color:var(--tx-2);display:grid;place-items:center;cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.hb-icon-btn:hover{background:var(--glass-fill-2);color:var(--tx-1)}.hb-icon-btn:focus-visible{outline:2px solid var(--acc-ring);outline-offset:1px}.hb-icon-btn:disabled{opacity:.4;cursor:not-allowed}.hb-icon-btn-sm{width:26px;height:26px}.hb-icon-btn.hb-del:hover{background:rgba(251,113,133,.15);color:var(--tone-rose);border-color:rgba(251,113,133,.3)}.hb-note{display:flex;flex-direction:column;gap:7px}.hb-note-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--tx-3);text-transform:uppercase;letter-spacing:.05em}.hb-note-row{display:flex;gap:8px;align-items:stretch}.hb-note-row .hb-input{flex:1 1}.hb-error{font-size:11.5px;color:var(--tone-rose,#fb7185);margin-top:2px}.hb-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}@media (max-width:560px){.hb-stats{grid-template-columns:1fr 1fr}}.hb-stat{background:var(--glass-fill);border:1px solid var(--glass-border);border-radius:var(--r-md);padding:12px 14px;display:flex;flex-direction:column;gap:4px}.hb-stat-v{font-size:22px;font-weight:800;color:var(--tx-1);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em;display:inline-flex;align-items:center;gap:5px}.hb-stat-l{font-size:10.5px;color:var(--tx-3);text-transform:uppercase;letter-spacing:.05em}.hb-heatmap-wrap{display:flex;flex-direction:column;gap:8px}.hb-heatmap-scroll{overflow-x:auto;padding-bottom:4px}.hb-heatmap-svg{display:block}.hb-heat-month{font-size:9px}.hb-heat-dow,.hb-heat-month{fill:var(--tx-3);font-family:JetBrains Mono,ui-monospace,monospace}.hb-heat-dow{font-size:8.5px}.hb-heat-cell{cursor:pointer;outline:1px solid transparent;transition:outline-color var(--dur) var(--ease)}.hb-heat-cell:hover{outline-color:var(--tx-2)}.hb-heat-legend{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--tx-3);align-self:flex-end}.hb-heat-swatch{width:12px;height:12px;border-radius:2.5px}.hb-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:40px 20px;text-align:center;margin:auto 0}.hb-empty-lg{padding:72px 20px}.hb-empty-icon{width:46px;height:46px;border-radius:var(--r-md);display:grid;place-items:center;background:var(--glass-fill);border:1px solid var(--glass-border);color:var(--tx-2);margin-bottom:4px}.hb-empty-title{font-size:13.5px;font-weight:600;color:var(--tx-1)}.hb-empty-body{font-size:12px;color:var(--tx-3);max-width:250px;line-height:1.5}.hb-empty-body strong{color:var(--tx-2);font-weight:600}.hb-modal{width:min(480px,100%)}.hb-field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.hb-field-label{font-size:12px;font-weight:600;color:var(--tx-2);text-transform:uppercase;letter-spacing:.05em}.hb-field-hint{font-weight:400;text-transform:none;letter-spacing:0;color:var(--tx-3);margin-left:6px}.hb-input{width:100%;background:var(--glass-fill);border:1px solid var(--glass-border);border-radius:var(--r-sm);color:var(--tx-1);padding:9px 12px;font-size:13.5px;font-family:inherit;outline:none;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.hb-input:focus{border-color:var(--acc-ring);background:var(--glass-fill-2)}.hb-pick-row{display:flex;flex-wrap:wrap;gap:6px}.hb-pick-cad,.hb-pick-icon{background:var(--glass-fill);border:1px solid var(--glass-border);border-radius:var(--r-sm);color:var(--tx-2);cursor:pointer;font-family:inherit;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.hb-pick-icon{width:36px;height:36px;display:grid;place-items:center}.hb-pick-cad{padding:7px 12px;font-size:12.5px}.hb-pick-cad:hover,.hb-pick-icon:hover{background:var(--glass-fill-2);color:var(--tx-1)}.hb-pick-cad.is-active,.hb-pick-icon.is-active{border-color:var(--acc-ring);background:var(--acc-soft);color:var(--tx-1)}.hb-pick-cad:focus-visible,.hb-pick-color:focus-visible,.hb-pick-icon:focus-visible{outline:2px solid var(--acc-ring);outline-offset:1px}.hb-pick-color{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);padding:0}.hb-pick-color:hover{transform:scale(1.1)}.hb-pick-color.is-active{border-color:rgba(255,255,255,.95);box-shadow:0 0 0 2px rgba(0,0,0,.4)}.hb-confirm{width:min(420px,100%)}.hb-confirm-body{font-size:13.5px;color:var(--tx-2);line-height:1.55;margin:0}.hb-confirm-body strong{color:var(--tx-1)}.hb-confirm-danger{background:var(--tone-rose,#fb7185);border-color:var(--tone-rose,#fb7185);color:#fff}.hb-confirm-danger:hover{filter:brightness(1.05)}.hb-toast-region{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:60;pointer-events:none}.hb-toast{background:var(--glass-fill-2);border:1px solid var(--glass-border-strong);color:var(--tx-1);font-size:12.5px;font-weight:500;padding:9px 16px;border-radius:var(--r-md);box-shadow:var(--shadow-2,0 8px 28px rgba(0,0,0,.4));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hb-toast.is-error{border-color:rgba(251,113,133,.45);color:var(--tone-rose,#fb7185)}