:root{--tt-primary:#6366f1;--tt-primary-hover:#4f46e5;--tt-primary-bg:#6366f114;--tt-primary-bg-solid:#eef2ff;--tt-success:#10b981;--tt-success-bg:#10b9811a;--tt-warning:#f59e0b;--tt-warning-bg:#f59e0b1a;--tt-danger:#ef4444;--tt-danger-bg:#ef444414;--tt-text:#1e293b;--tt-text-secondary:#475569;--tt-text-muted:#64748b;--tt-bg:#fff;--tt-bg-secondary:#f8fafc;--tt-bg-tertiary:#f1f5f9;--tt-border:#e2e8f0;--tt-border-light:#f1f5f9;--tt-shadow-sm:0 1px 2px #0000000a, 0 1px 4px #00000008;--tt-shadow:0 2px 6px #0000000f, 0 4px 12px #0000000a;--tt-shadow-lg:0 4px 12px #00000014, 0 8px 24px #0000000f;--tt-radius:var(--main-radius,8px);--tt-radius-lg:var(--main-radius-lg,12px);--tt-radius-xl:16px;--tt-stop:#ef4444;--tt-running:#f59e0b}._tt-container{flex-direction:column;gap:1rem;max-width:640px;margin:0 auto;display:flex}._tt-hidden{display:none!important}@media (max-width:768px){._tt-container{padding-left:1rem;padding-right:1rem}}@media (max-width:480px){._tt-container{gap:.75rem;padding-left:.75rem;padding-right:.75rem}}._tt-timer-card{background:var(--tt-bg);border-radius:var(--tt-radius-lg);border-style:solid;border-width:1px;border-color:var(--tt-border);box-shadow:var(--tt-shadow);flex-direction:column;gap:1rem;padding:1.25rem;display:flex}._tt-timer-row{align-items:center;gap:.5rem;display:flex}._tt-task-input{border-style:solid;border-width:1px;border-color:var(--tt-border);border-radius:var(--tt-radius);background:var(--tt-bg-secondary);color:var(--tt-text);flex:1;padding:.625rem .875rem;font-size:.875rem}._tt-task-input::placeholder{color:var(--tt-text-muted)}._tt-task-input:focus{border-color:var(--tt-primary);box-shadow:0 0 0 3px var(--tt-primary-bg);background:var(--tt-bg);outline:none}._tt-project-btn{border-style:solid;border-width:1px;border-color:var(--tt-border);border-radius:var(--tt-radius);background:var(--tt-bg-secondary);color:var(--tt-text-secondary);cursor:pointer;white-space:nowrap;align-items:center;gap:.375rem;padding:.625rem .75rem;font-size:.8125rem;display:flex;position:relative}._tt-project-btn:hover{border-color:var(--tt-primary);color:var(--tt-text)}._tt-project-dot{background:var(--tt-text-muted);border-radius:50%;flex-shrink:0;width:8px;height:8px}._tt-project-name{text-overflow:ellipsis;max-width:100px;overflow:hidden}._tt-project-dropdown{z-index:50;background:var(--tt-bg);border-style:solid;border-width:1px;border-color:var(--tt-border);border-radius:var(--tt-radius);box-shadow:var(--tt-shadow-lg);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-width:200px;max-width:calc(100vw - 1.5rem);max-height:280px;padding:.25rem;position:absolute;overflow-y:auto}._tt-dropdown-item{cursor:pointer;color:var(--tt-text);text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:.5rem;width:100%;min-height:40px;padding:.5rem .75rem;font-size:.8125rem;display:flex}._tt-dropdown-item:hover{background:var(--tt-bg-tertiary)}._tt-dropdown-item--active{background:var(--tt-primary-bg);color:var(--tt-primary);font-weight:500}._tt-dropdown-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}._tt-dropdown-add{cursor:pointer;color:var(--tt-primary);text-align:left;border:none;border-top:1px solid;border-top-color:var(--tt-border);background:0 0;border-radius:6px;align-items:center;gap:.5rem;width:100%;min-height:40px;margin-top:.25rem;padding:.625rem .75rem .5rem;font-size:.8125rem;display:flex}._tt-dropdown-add:hover{background:var(--tt-primary-bg)}._tt-timer-controls{justify-content:center;align-items:center;gap:.75rem;display:flex}._tt-timer-display{font-size:2.25rem;font-weight:700;font-family:var(--main-font-mono);color:var(--tt-text);letter-spacing:.02em;text-align:center;min-width:180px}._tt-timer-display._tt-running{color:var(--tt-running)}._tt-start-btn{background:var(--tt-primary);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;box-shadow:0 2px 8px #6366f14d}._tt-start-btn:hover{opacity:.9}._tt-start-btn._tt-running{background:var(--tt-running);box-shadow:0 2px 8px #f59e0b4d}._tt-stop-btn{background:var(--tt-stop);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 2px 8px #ef44444d}._tt-stop-btn:hover{opacity:.9}._tt-actions-bar{justify-content:flex-end;display:flex}._tt-manual-btn{border-radius:var(--tt-radius);background:var(--tt-bg);border-style:solid;border-width:1px;border-color:var(--tt-border);color:var(--tt-text-secondary);cursor:pointer;box-shadow:var(--tt-shadow-sm);align-items:center;gap:.375rem;padding:.5rem .875rem;font-size:.8125rem;display:flex}._tt-manual-btn:hover{border-color:var(--tt-primary);color:var(--tt-primary)}._tt-today-bar{background:var(--tt-bg);border-radius:var(--tt-radius-lg);border-style:solid;border-width:1px;border-color:var(--tt-border);box-shadow:var(--tt-shadow-sm);justify-content:center;gap:2rem;padding:.875rem 1.25rem;display:flex}._tt-today-stat{align-items:center;gap:.375rem;display:flex}._tt-today-icon{color:var(--tt-primary);align-items:center;display:flex}._tt-today-icon--week{color:var(--tt-success)}._tt-today-icon--entries{color:var(--tt-warning)}._tt-today-value{color:var(--tt-text);font-size:.875rem;font-weight:600;font-family:var(--main-font-mono)}._tt-today-label{color:var(--tt-text-muted);font-size:.75rem}@media (max-width:480px){._tt-timer-card{padding:1rem}._tt-timer-row{flex-direction:column}._tt-task-input{padding:.75rem .875rem;font-size:16px}._tt-project-btn{justify-content:center;width:100%;min-height:44px}._tt-project-name{max-width:70vw}._tt-timer-display{flex:1;min-width:0;font-size:2rem}._tt-timer-controls{gap:.5rem}._tt-stop-btn{width:44px;height:44px}._tt-today-bar{flex-wrap:wrap;justify-content:space-around;gap:.75rem;padding:.75rem 1rem}._tt-today-label{display:none}._tt-manual-btn{min-height:40px;padding:.5rem 1rem}}._tt-entries-section{background:var(--tt-bg);border-radius:var(--tt-radius-lg);border-style:solid;border-width:1px;border-color:var(--tt-border);box-shadow:var(--tt-shadow-sm);overflow:hidden}._tt-entries-header{border-bottom-style:solid;border-bottom-width:1px;border-bottom-color:var(--tt-border);justify-content:space-between;align-items:center;padding:.875rem 1.25rem;display:flex}._tt-entries-title{color:var(--tt-text);margin:0;font-size:.875rem;font-weight:600}._tt-entries-filters{background:var(--tt-bg-tertiary);border-radius:6px;gap:.125rem;padding:.125rem;display:flex}._tt-filter-btn{cursor:pointer;color:var(--tt-text-muted);background:0 0;border:none;border-radius:5px;padding:.3125rem .625rem;font-size:.75rem;font-weight:500}._tt-filter-btn:hover{color:var(--tt-text)}._tt-filter-btn--active{background:var(--tt-bg);color:var(--tt-text);box-shadow:var(--tt-shadow-sm)}._tt-entries-list{padding:.25rem 0}._tt-entry{border-bottom-style:solid;border-bottom-width:1px;border-bottom-color:var(--tt-border-light);align-items:center;gap:.75rem;padding:.625rem 1.25rem;display:flex}._tt-entry:last-child{border-bottom-width:0}._tt-entry:hover{background:var(--tt-bg-secondary)}._tt-entry-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}._tt-entry-info{flex:1;min-width:0}._tt-entry-task{color:var(--tt-text);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:500;overflow:hidden}._tt-entry-project{color:var(--tt-text-muted);margin-top:.125rem;font-size:.6875rem}._tt-entry-time{text-align:right;flex-shrink:0}._tt-entry-duration{color:var(--tt-text);font-size:.8125rem;font-weight:600;font-family:var(--main-font-mono)}._tt-entry-range{color:var(--tt-text-muted);font-size:.6875rem;font-family:var(--main-font-mono);margin-top:.125rem}._tt-entry-actions{opacity:0;gap:.25rem;display:flex}@media (hover:hover){._tt-entry:hover ._tt-entry-actions{opacity:1}}@media (hover:none){._tt-entry-actions{opacity:1}}._tt-entry-action-btn{width:28px;height:28px;color:var(--tt-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}._tt-entry-action-btn:hover{background:var(--tt-bg-tertiary);color:var(--tt-text)}._tt-entry-action-btn._tt-btn-danger:hover{background:var(--tt-danger-bg);color:var(--tt-danger)}._tt-date-header{background:var(--tt-bg-secondary);color:var(--tt-text-secondary);justify-content:space-between;align-items:center;padding:.5rem 1.25rem;font-size:.75rem;font-weight:600;display:flex}._tt-date-total{font-family:var(--main-font-mono);color:var(--tt-text-muted);font-weight:500}._tt-entries-empty{text-align:center;color:var(--tt-text-muted);padding:2rem 1.25rem;font-size:.8125rem}._tt-entries-empty-icon{color:var(--tt-border);margin-bottom:.5rem}@media (max-width:480px){._tt-entries-header{flex-direction:column;align-items:stretch;gap:.5rem;padding:.875rem 1rem}._tt-entries-filters{justify-content:space-between}._tt-filter-btn{flex:1;min-height:36px;padding:.5rem .625rem;font-size:.8125rem}._tt-entry-actions{opacity:1}._tt-entry-action-btn{width:36px;height:36px}._tt-entry{gap:.625rem;padding:.75rem 1rem}._tt-entry-task,._tt-entry-duration{font-size:.875rem}._tt-date-header{padding:.5rem 1rem}._tt-entries-empty{padding:2rem 1rem}}._tt-panels{flex-direction:column;gap:.5rem;display:flex}._tt-panel{background:var(--tt-bg);border-radius:var(--tt-radius-lg);border-style:solid;border-width:1px;border-color:var(--tt-border);box-shadow:var(--tt-shadow-sm);overflow:hidden}._tt-panel-toggle{width:100%;color:var(--tt-text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;padding:.875rem 1.25rem;font-size:.875rem;font-weight:600;display:flex}._tt-panel-toggle:hover{background:var(--tt-bg-secondary)}._tt-panel-chevron{color:var(--tt-text-muted);flex-shrink:0;margin-left:auto;transition:transform .2s}._tt-panel--open ._tt-panel-chevron{transform:rotate(180deg)}._tt-panel-body{flex-direction:column;gap:1rem;padding:0 1.25rem 1.25rem;display:flex}._tt-setting-group{flex-direction:column;gap:.5rem;display:flex}._tt-setting-label{color:var(--tt-text-secondary);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;font-weight:600}._tt-weekly-chart{align-items:flex-end;gap:.5rem;padding:.5rem 0;display:flex}._tt-chart-day{flex-direction:column;flex:1;align-items:center;gap:.375rem;display:flex}._tt-chart-bar-wrap{justify-content:center;align-items:flex-end;width:100%;height:80px;display:flex}._tt-chart-bar{background:var(--tt-primary-bg);border-radius:4px 4px 0 0;width:100%;max-width:32px;min-height:2px}._tt-chart-bar--today{background:var(--tt-primary)}._tt-chart-bar--has-data{background:var(--tt-primary-bg-solid)}._tt-chart-label{color:var(--tt-text-muted);font-size:.6875rem}._tt-chart-label--today{color:var(--tt-primary);font-weight:600}._tt-chart-hours{color:var(--tt-text-secondary);font-size:.625rem;font-weight:500;font-family:var(--main-font-mono)}._tt-project-breakdown{flex-direction:column;gap:.5rem;display:flex}._tt-breakdown-item{align-items:center;gap:.5rem;display:flex}._tt-breakdown-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}._tt-breakdown-name{color:var(--tt-text);flex:1;font-size:.8125rem}._tt-breakdown-time{color:var(--tt-text);font-size:.8125rem;font-weight:600;font-family:var(--main-font-mono)}._tt-breakdown-bar{background:var(--tt-bg-tertiary);border-radius:2px;width:60px;height:4px;overflow:hidden}._tt-breakdown-bar-fill{border-radius:2px;height:100%}._tt-project-manager{flex-direction:column;gap:.25rem;display:flex}._tt-pm-item{border-style:solid;border-width:1px;border-color:var(--tt-border-light);border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .625rem;display:flex}._tt-pm-item:hover{border-color:var(--tt-border)}._tt-pm-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}._tt-pm-name{color:var(--tt-text);flex:1;font-size:.8125rem}._tt-pm-actions{gap:.125rem;display:flex}._tt-pm-btn{width:28px;height:28px;color:var(--tt-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}._tt-pm-btn:hover{background:var(--tt-bg-tertiary);color:var(--tt-text)}._tt-pm-btn._tt-btn-danger:hover{background:var(--tt-danger-bg);color:var(--tt-danger)}._tt-add-project-btn{border-style:dashed;border-width:1px;border-color:var(--tt-border);color:var(--tt-text-muted);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:.375rem;padding:.5rem .625rem;font-size:.8125rem;display:flex}._tt-add-project-btn:hover{border-color:var(--tt-primary);color:var(--tt-primary)}._tt-export-btn{border-radius:var(--tt-radius);background:var(--tt-bg-secondary);border-style:solid;border-width:1px;border-color:var(--tt-border);color:var(--tt-text-secondary);cursor:pointer;align-items:center;gap:.375rem;padding:.5rem .875rem;font-size:.8125rem;display:flex}._tt-export-btn:hover{border-color:var(--tt-primary);color:var(--tt-primary)}._tt-btn-ghost{border-radius:var(--tt-radius);cursor:pointer;background:0 0;border:none;padding:.5rem .875rem;font-size:.8125rem}._tt-btn-danger-ghost{color:var(--tt-danger)}._tt-btn-danger-ghost:hover{background:var(--tt-danger-bg)}._tt-color-grid{flex-wrap:wrap;gap:.5rem;display:flex}._tt-color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:32px;height:32px;padding:0}._tt-color-swatch:hover{opacity:.8}._tt-color-swatch--active{border-color:var(--tt-text);box-shadow:0 0 0 2px var(--tt-bg), 0 0 0 4px var(--tt-text)}@media (max-width:480px){._tt-panel-toggle{min-height:48px;padding:1rem}._tt-panel-body{padding:0 1rem 1rem}._tt-pm-item{padding:.625rem .75rem}._tt-pm-name{font-size:.875rem}._tt-pm-btn{width:36px;height:36px}._tt-add-project-btn{min-height:40px;padding:.625rem .75rem}._tt-export-btn,._tt-btn-ghost{justify-content:center;width:100%;min-height:40px;padding:.625rem .875rem}._tt-color-swatch{width:36px;height:36px}._tt-color-grid{gap:.625rem}._tt-chart-bar-wrap{height:70px}._tt-chart-bar{max-width:none}._tt-weekly-chart{gap:.25rem}._tt-chart-hours,._tt-chart-label{font-size:.6875rem}._tt-breakdown-bar{width:40px}}._tt-modal-overlay{z-index:100;-webkit-overflow-scrolling:touch;background:#0006;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}._tt-modal{background:var(--tt-bg);border-radius:var(--tt-radius-lg);box-shadow:var(--tt-shadow-lg);flex-direction:column;width:100%;max-width:420px;max-height:calc(100vh - 2rem);display:flex;overflow:hidden}._tt-modal--sm{max-width:360px}._tt-modal-header{border-bottom-style:solid;border-bottom-width:1px;border-bottom-color:var(--tt-border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}._tt-modal-title{color:var(--tt-text);margin:0;font-size:.9375rem;font-weight:600}._tt-modal-close{width:32px;height:32px;color:var(--tt-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}._tt-modal-close:hover{background:var(--tt-bg-tertiary);color:var(--tt-text)}._tt-modal-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;gap:1rem;padding:1.25rem;display:flex;overflow-y:auto}._tt-modal-footer{border-top-style:solid;border-top-width:1px;border-top-color:var(--tt-border);justify-content:flex-end;gap:.5rem;padding:.875rem 1.25rem;display:flex}._tt-modal-cancel{border-radius:var(--tt-radius);border-style:solid;border-width:1px;border-color:var(--tt-border);background:var(--tt-bg);color:var(--tt-text-secondary);cursor:pointer;padding:.5rem 1rem;font-size:.8125rem}._tt-modal-cancel:hover{background:var(--tt-bg-tertiary)}._tt-modal-save{border-radius:var(--tt-radius);background:var(--tt-primary);color:#fff;cursor:pointer;border:none;padding:.5rem 1rem;font-size:.8125rem;font-weight:500;box-shadow:0 2px 8px #6366f140}._tt-modal-save:hover{opacity:.9}._tt-form-group{flex-direction:column;gap:.375rem;display:flex}._tt-form-label{color:var(--tt-text-secondary);font-size:.75rem;font-weight:500}._tt-form-input,._tt-form-select{border-style:solid;border-width:1.5px;border-color:var(--tt-border);border-radius:var(--tt-radius);background:var(--tt-bg);color:var(--tt-text);padding:.5rem .75rem;font-size:.8125rem}._tt-form-input:focus,._tt-form-select:focus{border-color:var(--tt-primary);box-shadow:0 0 0 3px var(--tt-primary-bg);outline:none}._tt-form-row{gap:.75rem;display:flex}._tt-form-row ._tt-form-group{flex:1}@media (max-width:480px){._tt-modal-overlay{align-items:flex-end;padding:.75rem}._tt-modal,._tt-modal--sm{max-width:100%;max-height:calc(100vh - 1.5rem)}._tt-modal-header{padding:.875rem 1rem}._tt-modal-close{width:40px;height:40px}._tt-modal-body{gap:.875rem;padding:1rem}._tt-modal-footer{gap:.625rem;padding:.875rem 1rem}._tt-modal-cancel,._tt-modal-save{flex:1;min-height:44px;padding:.75rem 1rem;font-size:.875rem}._tt-form-input,._tt-form-select{min-height:44px;padding:.625rem .75rem;font-size:16px}._tt-form-row{gap:.625rem}}
