:root{--color-primary:#e74c3c;--color-primary-dark:#c0392b;--color-break:#27ae60;--color-break-dark:#1e8449;--color-bg:#ecf0f1;--color-bg-dark:#2c3e50;--color-text:#2c3e50;--color-text-light:#fff;--color-text-muted:#7f8c8d;--color-warning:#f39c12;--color-secondary:#95a5a6;--color-border:#0000001a;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-xxl:48px;--font-size-sm:12px;--font-size-md:14px;--font-size-lg:18px;--font-size-xl:24px;--font-size-timer:48px;--border-radius:8px;--border-radius-lg:16px;--shadow-sm:0 2px 4px #0000001a;--shadow-md:0 4px 8px #00000026;--shadow-lg:0 8px 16px #0003;--transition-fast:.15s ease;--transition-normal:.3s ease}@media (prefers-color-scheme:dark){:root{--color-bg:#34495e;--color-text:#ecf0f1;--color-text-muted:#95a5a6;--color-border:#ffffff1a}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:var(--font-size-md);color:var(--color-text);background-color:var(--color-bg);justify-content:center;align-items:center;min-height:100vh;line-height:1.5;display:flex}#app{width:100%;max-width:400px;margin:0 auto}.card{background-color:var(--color-bg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg)}.btn{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-md);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;min-width:80px;font-weight:500;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background-color:var(--color-primary);color:var(--color-text-light)}.btn-primary:hover{background-color:var(--color-primary-dark)}.btn-secondary{background-color:var(--color-secondary);color:var(--color-text-light)}.btn-secondary:hover{background-color:#7f8c8d}.btn-warning{background-color:var(--color-warning);color:var(--color-text-light)}.btn-warning:hover{background-color:#d68910}.btn-success{background-color:var(--color-break);color:var(--color-text-light)}.btn-success:hover{background-color:var(--color-break-dark)}.timer-complete{animation:.5s infinite alternate pulse}@keyframes pulse{0%{transform:scale(1)}to{transform:scale(1.02)}}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (width<=480px){:root{--font-size-timer:36px;--spacing-xl:24px;--spacing-lg:16px}}.fade-in{animation:.3s forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.fade-out{animation:.3s forwards fadeOut}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.scale-in{animation:.3s forwards scaleIn}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.shake{animation:.5s shake}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.bounce{animation:.5s bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.slide-up{animation:.3s forwards slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.slide-down{animation:.3s forwards slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.report-panel[data-v-6df9acd9]{flex-direction:column;width:100%;height:100%;font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif;display:flex}.report-header[data-v-6df9acd9]{background-color:#fff;flex-shrink:0;justify-content:space-between;align-items:center;height:44px;padding:12px 16px;display:flex}.report-header h3[data-v-6df9acd9]{color:#1a1a1a;font-size:16px;font-weight:600}.report-tabs[data-v-6df9acd9]{gap:4px;display:flex}.tab-btn[data-v-6df9acd9]{color:#666;cursor:pointer;background-color:#f5f5f5;border:none;border-radius:4px;height:28px;padding:4px 10px;font-size:12px;font-weight:500;transition:all .2s}.tab-btn.active[data-v-6df9acd9]{color:#fff;background-color:#e74c3c}.btn-close[data-v-6df9acd9]{color:#666;cursor:pointer;background-color:#f5f5f5;border:none;border-radius:4px;height:28px;padding:4px 10px;font-size:12px;font-weight:500}.btn-close[data-v-6df9acd9]:hover{background-color:#e8e8e8}.report-content[data-v-6df9acd9]{flex-direction:column;flex:1;gap:16px;padding:12px 16px;display:flex;overflow-y:auto}.summary-section[data-v-6df9acd9]{justify-content:center;gap:12px;display:flex}.summary-item[data-v-6df9acd9]{text-align:center;min-width:60px}.summary-placeholder[data-v-6df9acd9]{visibility:hidden}.summary-label[data-v-6df9acd9]{color:#666;font-size:11px;display:block}.summary-value[data-v-6df9acd9]{color:#e74c3c;font-size:16px;font-weight:600}.summary-value.positive[data-v-6df9acd9]{color:#52c41a}.summary-value.negative[data-v-6df9acd9]{color:#ff4d4f}.chart-section h4[data-v-6df9acd9],.tag-section h4[data-v-6df9acd9],.diary-section h4[data-v-6df9acd9]{color:#666;margin-bottom:8px;font-size:13px;font-weight:600}.daily-grid[data-v-6df9acd9]{gap:2px;display:grid}.daily-grid.week[data-v-6df9acd9],.daily-grid.month[data-v-6df9acd9]{grid-template-columns:repeat(7,1fr)}.day-cell[data-v-6df9acd9]{color:#fff;background-color:#e74c3c;border-radius:2px;flex-direction:column;justify-content:center;align-items:center;min-height:28px;padding:4px 2px;font-size:10px;display:flex}.day-label[data-v-6df9acd9]{font-weight:500}.day-time[data-v-6df9acd9]{opacity:.9;font-size:9px}.tag-stats[data-v-6df9acd9]{flex-wrap:wrap;gap:8px;display:flex}.tag-item[data-v-6df9acd9]{align-items:center;gap:4px;font-size:12px;display:flex}.tag-name[data-v-6df9acd9]{color:#1a1a1a}.tag-percent[data-v-6df9acd9]{color:#e74c3c;font-weight:600}.diary-list[data-v-6df9acd9]{flex-direction:column;gap:6px;display:flex}.diary-item[data-v-6df9acd9]{padding:4px 0;font-size:12px}.diary-tag[data-v-6df9acd9]{color:#52c41a;margin-right:6px;font-size:11px}.diary-text[data-v-6df9acd9]{color:#666}.tomato-timer-app[data-v-2f72cf0f]{flex-direction:column;justify-content:center;align-items:center;gap:clamp(12px,2vh,24px);width:100%;height:100%;padding:clamp(16px,2vh,32px);font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif;display:flex}.tomato-timer-app[data-v-2f72cf0f]:has(.report-inline){justify-content:flex-start;height:100vh;padding:0}.report-inline[data-v-2f72cf0f]{width:100%;height:100%;padding-top:clamp(16px,10vh,48px);overflow:hidden}.select-row[data-v-2f72cf0f]{align-items:center;gap:clamp(6px,1vmin,12px);display:flex}.mode-select[data-v-2f72cf0f],.subject-select[data-v-2f72cf0f]{color:#666;cursor:pointer;appearance:none;background-color:#0000;border:none;border-radius:4px;width:auto;height:clamp(28px,3vmin,32px);padding:clamp(4px,.5vmin,6px) clamp(8px,1vmin,12px);font-family:inherit;font-size:clamp(12px,1.4vmin,14px);font-weight:500}.mode-select[data-v-2f72cf0f]:focus,.subject-select[data-v-2f72cf0f]:focus{outline:none}.timer-section[data-v-2f72cf0f]{flex-direction:column;align-items:center;display:flex}.timer-ring[data-v-2f72cf0f]{width:clamp(242px,43vmin,484px);height:clamp(242px,43vmin,484px);position:relative}.timer-svg[data-v-2f72cf0f]{width:100%;height:100%}.timer-content[data-v-2f72cf0f]{text-align:center;width:80%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.timer-mode[data-v-2f72cf0f]{color:#666;margin-bottom:clamp(6px,.7vh,12px);font-size:clamp(14px,1.7vmin,20px);font-weight:500}.timer-time[data-v-2f72cf0f]{color:#1a1a1a;cursor:pointer;margin-bottom:clamp(2px,.5vh,6px);font-size:clamp(35px,7.2vmin,70px);font-weight:600;position:relative}.timer-time[data-v-2f72cf0f]:hover{color:#333}.timer-status[data-v-2f72cf0f]{color:#999;font-size:clamp(13px,1.4vmin,17px)}.progress-ring[data-v-2f72cf0f]{transition:stroke-dashoffset .3s}.break-suggestion[data-v-2f72cf0f]{color:#52c41a;text-align:center;background-color:#e8f5e9;border-radius:4px;margin-top:clamp(8px,1vmin,12px);padding:clamp(8px,1vmin,12px) clamp(16px,2vmin,24px);font-size:clamp(12px,1.4vmin,16px)}.achievement-badges[data-v-2f72cf0f]{align-items:center;gap:4px;min-height:24px;margin-top:clamp(4px,.5vmin,8px);font-size:clamp(16px,2vmin,24px);display:flex}.badge-icon[data-v-2f72cf0f]{cursor:default}.badge-more[data-v-2f72cf0f]{color:#999;font-size:clamp(12px,1.4vmin,16px)}.control-panel[data-v-2f72cf0f]{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.btn[data-v-2f72cf0f]{cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;min-width:80px;height:36px;padding:8px 24px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn-sm[data-v-2f72cf0f]{cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;min-width:70px;height:32px;padding:6px 16px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary[data-v-2f72cf0f]{color:#fff;background-color:#1a1a1a;border:none}.btn-primary[data-v-2f72cf0f]:hover{background-color:#333}.btn-secondary[data-v-2f72cf0f]{color:#666;background-color:#f5f5f5;border:none}.btn-secondary[data-v-2f72cf0f]:hover{color:#333;background-color:#e8e8e8}.btn-warning[data-v-2f72cf0f]{color:#fff;background-color:#ff9800;border:none}.btn-warning[data-v-2f72cf0f]:hover{background-color:#ffb74d}.btn-sm.btn-primary[data-v-2f72cf0f]{color:#fff;background-color:#1a1a1a;border:none}.btn-sm.btn-primary[data-v-2f72cf0f]:hover{background-color:#333}.btn-sm.btn-secondary[data-v-2f72cf0f]{color:#666;background-color:#f5f5f5;border:none}.btn-sm.btn-secondary[data-v-2f72cf0f]:hover{color:#333;background-color:#e8e8e8}.goal-actions[data-v-2f72cf0f]{justify-content:center;gap:12px}.goal-progress[data-v-2f72cf0f]{color:#666;cursor:pointer;border-radius:4px;align-items:center;gap:clamp(8px,1vmin,12px);padding:4px 8px;font-size:clamp(12px,1.4vmin,16px);transition:background-color .2s;display:flex}.goal-progress[data-v-2f72cf0f]:hover{background-color:#0000000d}.set-goal-hint[data-v-2f72cf0f]{color:#999}.progress-bar[data-v-2f72cf0f]{background-color:#e5e5e5;border-radius:4px;width:clamp(80px,15vmin,150px);height:8px;overflow:hidden}.progress-fill[data-v-2f72cf0f]{background-color:#52c41a;height:100%;transition:width .3s}.stats-display[data-v-2f72cf0f]{background-color:#f5f5f5;border-radius:4px;flex-wrap:nowrap;justify-content:center;align-items:center;gap:4px;max-width:100%;padding:clamp(6px,1vmin,10px) clamp(8px,1.5vmin,14px);font-size:clamp(11px,1.2vmin,13px);display:flex}.stats-item[data-v-2f72cf0f]{color:#666;white-space:nowrap}.stats-divider[data-v-2f72cf0f]{color:#e5e5e5}.btn-clear[data-v-2f72cf0f]{cursor:pointer;color:#999;white-space:nowrap;background-color:#0000;border:none;border-radius:4px;justify-content:center;align-items:center;height:22px;margin-left:6px;padding:3px 6px;font-size:11px;font-weight:500;transition:all .2s;display:inline-flex}.btn-clear[data-v-2f72cf0f]:hover{color:#666;background-color:#f5f5f5}.btn-report[data-v-2f72cf0f]{cursor:pointer;color:#52c41a;white-space:nowrap;background-color:#e8f5e9;border:none;border-radius:4px;justify-content:center;align-items:center;height:22px;margin-left:6px;padding:3px 8px;font-size:11px;font-weight:500;transition:all .2s;display:inline-flex}.btn-report[data-v-2f72cf0f]:hover{color:#fff;background-color:#52c41a}.notification-banner[data-v-2f72cf0f]{color:#fff;z-index:1001;background-color:#52c41a;border-radius:4px;padding:8px 16px;font-size:12px;font-weight:500;position:fixed;top:20px;left:50%;transform:translate(-50%)}.achievement-banner[data-v-2f72cf0f]{color:#1a1a1a;z-index:1001;background-color:gold;border-radius:4px;align-items:center;gap:8px;padding:8px 16px;font-size:12px;font-weight:500;display:flex;position:fixed;top:60px;left:50%;transform:translate(-50%)}.achievement-icon[data-v-2f72cf0f]{font-size:16px}.modal-overlay[data-v-2f72cf0f]{z-index:1002;background-color:#0006;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal-content[data-v-2f72cf0f]{background-color:#fff;border-radius:8px;width:clamp(280px,40vmin,400px);max-width:90%;padding:clamp(16px,2vmin,24px)}.modal-content h3[data-v-2f72cf0f]{color:#1a1a1a;margin:0 0 clamp(12px,1.5vmin,16px);font-size:clamp(16px,2vmin,20px)}.diary-modal[data-v-2f72cf0f]{max-width:350px}.diary-info[data-v-2f72cf0f]{color:#666;margin-bottom:12px;font-size:14px}.diary-modal textarea[data-v-2f72cf0f]{resize:none;background-color:#f5f5f5;border:none;border-radius:4px;width:100%;padding:12px;font-family:inherit;font-size:14px}.diary-modal textarea[data-v-2f72cf0f]:focus{background-color:#e8e8e8;outline:none}.goal-type-selector[data-v-2f72cf0f]{gap:8px;margin-bottom:clamp(12px,1.5vmin,16px);display:flex}.goal-type-btn[data-v-2f72cf0f]{color:#666;cursor:pointer;background-color:#f5f5f5;border:none;border-radius:4px;flex:1;justify-content:center;align-items:center;height:32px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.goal-type-btn.active[data-v-2f72cf0f]{color:#fff;background-color:#1a1a1a}.duration-input-group[data-v-2f72cf0f]{margin-bottom:clamp(12px,1.5vmin,16px)}.duration-input-group label[data-v-2f72cf0f]{color:#666;margin-bottom:4px;font-size:clamp(12px,1.4vmin,14px);display:block}.duration-input-group input[data-v-2f72cf0f]{background-color:#f5f5f5;border:none;border-radius:4px;width:100%;padding:8px 12px;font-size:clamp(14px,1.6vmin,18px)}.duration-input-group input[data-v-2f72cf0f]:focus{background-color:#e8e8e8;outline:none}.modal-actions[data-v-2f72cf0f]{justify-content:flex-end;gap:8px;margin-top:clamp(16px,2vmin,24px);display:flex}
