.timers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:14px;gap:14px}.timers-empty{padding:32px;text-align:center;color:var(--muted)}.timer-card{border:1px solid var(--line);border-radius:14px;background:var(--card-bg,#fff);padding:16px;display:flex;flex-direction:column;gap:10px;min-width:0;overflow:hidden}.timer-card-head{display:flex;align-items:center;gap:8px}.timer-card-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.timer-card-name{font-weight:600;flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timer-card-kind{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:2px 7px;border-radius:6px;background:var(--accent-soft);flex-shrink:0}.timer-card-project{font-size:.78rem;color:var(--muted)}.timer-card-clock{font-size:1.4rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center;padding:6px 0}.timer-card-streak{display:flex;align-items:baseline;justify-content:center;gap:6px;padding:6px 0;color:#f59e0b}.timer-card-streak-current{font-size:1.4rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timer-card-streak-label{font-size:.76rem;font-weight:600;color:var(--muted)}.timer-card-streak-best{font-size:.72rem;color:var(--muted)}.timer-card-actions{display:flex;flex-wrap:wrap;gap:8px}.timer-card-actions>*{flex:1 1;min-width:0}.timer-card-foot{display:flex;justify-content:center;gap:8px}.timer-card-foot .ui-button-style-icon{flex-shrink:0}.timers-overlay{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:24px}.timers-overlay.is-open{display:flex}.timers-overlay:before{content:"";position:absolute;inset:0;background:rgba(18,24,32,.34);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.timers-panel{position:relative;z-index:1;display:flex;flex-direction:column;background:var(--card-bg,#fff);border:1px solid var(--line);border-radius:20px;width:min(880px,100%);height:80vh;max-height:80vh;box-shadow:0 30px 80px rgba(18,24,32,.22);overflow:hidden}.timers-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line);flex-shrink:0}.timers-panel-header-id{display:flex;align-items:center;gap:12px;min-width:0}.timers-panel-avatar{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;color:#fff;flex-shrink:0;box-shadow:0 4px 14px rgba(18,24,32,.18)}.timers-panel-header-text{min-width:0}.timers-panel-header h3{margin:0;font-size:1.02rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timers-panel-header-sub{display:block;font-size:.76rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.timers-panel-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:none;background:var(--wash-hover);color:var(--muted);cursor:pointer;flex-shrink:0;transition:background .12s,color .12s}.timers-panel-close:hover{background:var(--accent-soft);color:var(--text)}.timers-panel-body{flex:1 1;min-height:0;display:grid;grid-template-columns:1fr 1fr}.timers-panel-col{min-width:0;overflow-y:auto;padding:24px 26px 26px}.timers-panel-col-data{border-right:1px solid var(--line)}.timers-panel-col-heading{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:18px}.timers-panel-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 22px;border-top:1px solid var(--line);flex-shrink:0}@media (max-width:720px){.timers-panel-body{grid-template-columns:1fr;overflow-y:auto}.timers-panel-col{overflow-y:visible}.timers-panel-col-data{border-right:none;border-bottom:1px solid var(--line)}}.timers-field{margin-bottom:24px}.timers-field label{display:block;font-size:.78rem;font-weight:600;color:var(--muted);margin-bottom:6px}.timers-field input[type=number],.timers-field input[type=text]{width:100%}.timers-field-hint{font-size:.74rem;color:var(--muted);margin:6px 2px 0}.timers-kind-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px;gap:8px}.timers-kind-card{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:12px 8px;border-radius:12px;border:1px solid var(--line);background:transparent;cursor:pointer;transition:border-color .12s,background .12s,transform .12s}.timers-kind-card:hover{background:var(--wash-hover)}.timers-kind-card.is-active{border-color:var(--text);background:var(--accent-soft)}.timers-kind-card-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px}.timers-kind-card-label{font-size:.82rem;font-weight:600;color:var(--text)}.timers-kind-card-hint{font-size:.68rem;color:var(--muted);line-height:1.25}.timers-color-row{display:flex;flex-wrap:wrap;gap:8px}.timers-color-swatch-btn{position:relative;width:30px;height:30px;padding:0;border:none;border-radius:50%;cursor:pointer;flex-shrink:0}.timers-color-swatch-btn.is-active{outline:2px solid var(--text);outline-offset:2px}.timers-color-custom{display:inline-flex;background:conic-gradient(from 0deg,#f43f5e,#f59e0b,#22c55e,#14b8a6,#3b82f6,#8b5cf6,#f43f5e);overflow:hidden}.timers-color-custom-input{position:absolute;inset:0;width:100%;height:100%;padding:0;border:none;opacity:0;cursor:pointer}.timers-choice-row{display:flex;gap:8px}.timers-choice-pill,.timers-mode-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:.82rem;font-weight:600;cursor:pointer;transition:border-color .12s,background .12s,color .12s}.timers-choice-pill{flex:1 1;justify-content:center}.timers-choice-pill:hover,.timers-mode-pill:hover{background:var(--wash-hover)}.timers-choice-pill.is-active,.timers-mode-pill.is-active{border-color:var(--text);background:var(--accent-soft);color:var(--text)}.timers-json-textarea{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;line-height:1.4;resize:vertical}.timers-json-error{font-size:.78rem;color:#ef4444;margin-top:4px}.timers-tier-hint{font-size:.72rem;color:var(--muted);margin:0}.timers-tier-hint code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background:var(--wash-hover);padding:1px 4px;border-radius:4px}.timers-habit-info{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:16px;border:1px solid var(--line);border-radius:12px;color:#f59e0b}.timers-habit-info p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.5}.timers-points-editor{display:flex;flex-direction:column;gap:18px}.timers-points-toprow{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.timers-mode-pills{display:flex;gap:6px}.timers-editmode-toggle{display:flex;gap:2px;padding:2px;border-radius:8px;background:var(--wash-hover)}.timers-editmode-toggle button{padding:4px 10px;border-radius:6px;border:none;background:transparent;color:var(--muted);font-size:.74rem;font-weight:600;cursor:pointer}.timers-editmode-toggle button.is-active{background:var(--card-bg,#fff);color:var(--text);box-shadow:0 1px 3px rgba(18,24,32,.14)}.timers-points-visual{display:flex;flex-direction:column;gap:16px}.timers-points-section{border:1px solid var(--line);border-radius:12px;padding:12px 14px}.timers-points-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:.82rem;font-weight:700}.timers-points-empty{font-size:.78rem;color:var(--muted);margin:4px 0}.timers-add-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:8px;border:1px dashed var(--line);background:transparent;color:var(--muted);font-size:.72rem;font-weight:600;cursor:pointer;transition:border-color .12s,color .12s,background .12s}.timers-add-btn:hover{border-color:var(--text);color:var(--text);background:var(--wash-hover)}.timers-milestone-row{display:flex;align-items:center;gap:6px;font-size:.82rem;color:var(--muted);margin-top:8px}.timers-milestone-row:first-of-type{margin-top:0}.timers-milestone-dot{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--accent-soft);color:var(--text);flex-shrink:0}.timers-milestone-label{white-space:nowrap}.timers-milestone-row input[type=number]{width:60px;min-width:0;flex:none;text-align:center}.timers-cycle-length-row input[type=number]{width:76px}.timers-remove-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-left:auto;border-radius:50%;border:none;background:transparent;color:var(--muted);cursor:pointer;flex-shrink:0;transition:background .12s,color .12s}.timers-remove-btn:hover{background:var(--bad-bg);color:var(--bad-text)}.timers-points-toggle{display:flex;align-items:center;gap:8px;font-size:.82rem;cursor:pointer}.timers-points-toggle input[type=checkbox]{width:auto}.timers-rate-row{padding-top:8px;margin-top:10px;border-top:1px dashed var(--line)}.timers-preview-heading{display:flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:4px}.timers-preview{border:1px solid var(--line);border-radius:12px;padding:10px 10px 12px;background:var(--wash-hover)}.timers-preview-empty{display:flex;align-items:center;min-height:64px;padding:12px 14px}.timers-preview-empty p{margin:0;font-size:.78rem;color:var(--muted)}.timers-preview-head{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 8px}.timers-preview-live{display:flex;align-items:center;gap:7px}.timers-live-dot{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 0 0 rgba(52,211,153,.5);animation:timers-live-pulse 1.8s ease-in-out infinite;flex-shrink:0}@keyframes timers-live-pulse{0%,to{box-shadow:0 0 0 0 rgba(52,211,153,.5)}50%{box-shadow:0 0 0 4px rgba(52,211,153,0)}}@media (prefers-reduced-motion:reduce){.timers-live-dot{animation:none}}.timers-live-dot.is-paused{animation:none;background:var(--muted)}.timers-preview-live-label{font-size:.74rem;font-weight:600;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timers-preview-controls{display:flex;gap:4px}.timers-preview-ctrl{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;transition:color .12s,border-color .12s}.timers-preview-ctrl:hover{color:var(--text);border-color:var(--text)}.timers-lb-preview{--lbx-bg:#121212;--lbx-bg-alt:#1c1c1c;--lbx-you-bg:rgba(52,211,153,0.26);--lbx-line:rgba(255,255,255,0.08);--lbx-text:#f2f2f2;--lbx-muted:#9a9a9a;--lbx-gold:#ffd447;--lbx-silver:#ddd2c5;--lbx-bronze:#ff9c54;--lbx-you:#34d399;background:var(--lbx-bg);border-radius:10px}.timers-lb-preview-rows{max-height:360px;overflow-y:auto}.timers-points-help{margin-top:4px}.timers-points-help summary{font-size:.78rem;color:var(--muted);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.timers-points-help summary:hover{color:var(--text)}.timers-points-help[open] summary{margin-bottom:6px}.timers-history-list{display:flex;flex-direction:column;gap:10px}.timers-history-row{border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.timers-history-times{display:flex;gap:10px;flex-wrap:wrap}.timers-history-times label{display:flex;flex-direction:column;gap:2px;font-size:.72rem;color:var(--muted);flex:1 1;min-width:160px}.timers-history-meta{font-size:.78rem;color:var(--muted)}.timers-history-live{color:#f59e0b;font-weight:600}.timers-history-actions{display:flex;gap:8px}