:root{--color-focus: #ef4444;--color-focus-light: #fecaca;--color-focus-dark: #dc2626;--color-short-break: #22c55e;--color-short-break-light: #bbf7d0;--color-short-break-dark: #16a34a;--color-long-break: #3b82f6;--color-long-break-light: #bfdbfe;--color-long-break-dark: #2563eb;--bg-primary: #0f0f0f;--bg-secondary: #1a1a1a;--bg-tertiary: #262626;--text-primary: #ffffff;--text-secondary: #a3a3a3;--text-muted: #737373;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh}#root{min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column;position:relative;overflow-x:hidden;transition:background var(--transition-slow)}.app.focus{background:linear-gradient(135deg,#1a0a0a,#0f0f0f,#0a0a0f)}.app.shortBreak{background:linear-gradient(135deg,#0a1a0a,#0f0f0f,#0a0f0a)}.app.longBreak{background:linear-gradient(135deg,#0a0a1a,#0f0f0f,#0f0a1a)}.background-blur{position:fixed;inset:0;pointer-events:none;z-index:0}.app.focus .background-blur{background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--color-focus) 15%,transparent) 0%,transparent 50%)}.app.shortBreak .background-blur{background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--color-short-break) 15%,transparent) 0%,transparent 50%)}.app.longBreak .background-blur{background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--color-long-break) 15%,transparent) 0%,transparent 50%)}.header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;position:relative;z-index:10;height:60px}.header .logo{display:flex;align-items:center;gap:.75rem}.header .logo img{width:32px;height:32px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.header .logo h1{font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,var(--text-primary) 0%,var(--text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.settings-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:12px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-base)}.settings-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);transform:rotate(45deg)}.main{min-height:calc(100vh - 60px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem 2rem 2rem;position:relative;z-index:10;gap:1.25rem}.mode-switcher{display:flex;gap:.5rem;padding:.375rem;background:var(--bg-secondary);border-radius:16px;border:1px solid var(--bg-tertiary)}.mode-btn{padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;color:var(--text-secondary);background:transparent;border:none;border-radius:12px;cursor:pointer;transition:all var(--transition-base)}.mode-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.mode-btn.active{color:var(--text-primary);background:var(--bg-tertiary);box-shadow:var(--shadow-md)}.app.focus .mode-btn.active{background:linear-gradient(135deg,var(--color-focus) 0%,var(--color-focus-dark) 100%)}.app.shortBreak .mode-btn.active{background:linear-gradient(135deg,var(--color-short-break) 0%,var(--color-short-break-dark) 100%)}.app.longBreak .mode-btn.active{background:linear-gradient(135deg,var(--color-long-break) 0%,var(--color-long-break-dark) 100%)}.task-input-wrapper{width:100%;max-width:320px}.task-input{width:100%;padding:.75rem 1rem;font-family:var(--font-sans);font-size:1rem;background:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:12px;color:var(--text-primary);text-align:center;transition:all var(--transition-base)}.task-input::placeholder{color:var(--text-muted)}.task-input:focus{outline:none;border-color:var(--color-focus);background:var(--bg-tertiary)}.app.shortBreak .task-input:focus{border-color:var(--color-short-break)}.app.longBreak .task-input:focus{border-color:var(--color-long-break)}.timer-section{display:flex;flex-direction:column;align-items:center;gap:1.25rem}.timer-circle-container{position:relative;width:280px;height:280px}.timer-circle{width:100%;height:100%;filter:drop-shadow(0 0 20px rgba(0,0,0,.3))}.timer-circle-bg{stroke:var(--bg-tertiary)}.timer-circle-progress{transition:stroke-dashoffset 1s linear,stroke var(--transition-slow)}.timer-circle-progress.focus{stroke:var(--color-focus)}.timer-circle-progress.shortBreak{stroke:var(--color-short-break)}.timer-circle-progress.longBreak{stroke:var(--color-long-break)}.timer-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.timer-display{font-family:var(--font-mono);font-size:4rem;font-weight:700;letter-spacing:-.02em;line-height:1;color:var(--text-primary)}.timer-label{margin-top:.5rem;font-size:1rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em}.controls{display:flex;align-items:center;gap:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-sans);font-weight:600;border:none;cursor:pointer;transition:all var(--transition-base)}.btn-primary{background:var(--bg-tertiary);color:var(--text-primary);padding:1rem 2rem;border-radius:16px;font-size:1rem}.btn-primary.btn-large{padding:1.25rem 3rem;font-size:1.125rem;border-radius:20px}.app.focus .btn-primary{background:linear-gradient(135deg,var(--color-focus) 0%,var(--color-focus-dark) 100%);box-shadow:0 4px 20px color-mix(in srgb,var(--color-focus) 40%,transparent)}.app.shortBreak .btn-primary{background:linear-gradient(135deg,var(--color-short-break) 0%,var(--color-short-break-dark) 100%);box-shadow:0 4px 20px color-mix(in srgb,var(--color-short-break) 40%,transparent)}.app.longBreak .btn-primary{background:linear-gradient(135deg,var(--color-long-break) 0%,var(--color-long-break-dark) 100%);box-shadow:0 4px 20px color-mix(in srgb,var(--color-long-break) 40%,transparent)}.btn-primary:hover{transform:translateY(-2px);filter:brightness(1.1)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-secondary);border:1px solid var(--bg-tertiary);color:var(--text-secondary);padding:.875rem;border-radius:14px}.btn-secondary:hover{background:var(--bg-tertiary);color:var(--text-primary);transform:scale(1.05)}.btn-danger{background:#7f1d1d;color:#fecaca;padding:.75rem 1rem;border-radius:8px;font-size:.875rem;border:none}.btn-danger:hover{background:#991b1b}.controls-hint{font-size:.75rem;color:var(--text-muted);margin-top:.75rem}.btn-ghost{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:transparent;border:1px solid var(--bg-tertiary);border-radius:10px;color:var(--text-secondary);font-size:.8125rem;margin-top:1rem}.btn-ghost:hover{background:var(--bg-tertiary);color:var(--text-primary)}.focus-mode{cursor:pointer;-webkit-user-select:none;user-select:none}.focus-mode-container{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:50;padding:2rem}.focus-mode-task{font-size:clamp(.875rem,2vw,1.125rem);color:var(--text-muted);margin-bottom:1rem;max-width:80%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.focus-mode-timer{font-family:var(--font-mono);font-size:clamp(5rem,20vw,12rem);font-weight:700;color:var(--text-primary);line-height:1;letter-spacing:-.02em}.focus-mode-label{font-size:clamp(1rem,3vw,1.5rem);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.2em;margin-top:1rem}.focus-mode-progress{width:100%;max-width:400px;height:4px;background:var(--bg-tertiary);border-radius:2px;margin-top:2rem;overflow:hidden}.focus-mode-progress-bar{height:100%;border-radius:2px;transition:width 1s linear}.app.focus .focus-mode-progress-bar{background:var(--color-focus)}.app.shortBreak .focus-mode-progress-bar{background:var(--color-short-break)}.app.longBreak .focus-mode-progress-bar{background:var(--color-long-break)}.focus-mode-hint{font-size:.875rem;color:var(--text-muted);margin-top:2rem}.focus-mode-exit{position:fixed;top:1.5rem;right:1.5rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:12px;color:var(--text-secondary);cursor:pointer;z-index:60;transition:all var(--transition-base);opacity:.5}.focus-mode-exit:hover{opacity:1;background:var(--bg-tertiary);color:var(--text-primary)}.stats{display:flex;gap:1rem}.stat-card{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:12px;transition:all var(--transition-base)}.stat-card:hover{background:var(--bg-tertiary);transform:translateY(-2px)}.stat-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;color:var(--text-primary)}.stat-icon svg{width:20px;height:20px}.app.focus .stat-icon{background:color-mix(in srgb,var(--color-focus) 20%,transparent);color:var(--color-focus)}.app.shortBreak .stat-icon{background:color-mix(in srgb,var(--color-short-break) 20%,transparent);color:var(--color-short-break)}.app.longBreak .stat-icon{background:color-mix(in srgb,var(--color-long-break) 20%,transparent);color:var(--color-long-break)}.stat-content{text-align:left}.stat-value{font-family:var(--font-mono);font-size:1.25rem;font-weight:700;color:var(--text-primary)}.stat-label{font-size:.75rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.task-history-section{width:100%;max-width:600px;margin:0 auto;padding:2rem;position:relative;z-index:10}.task-history-section h2{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.75rem;text-align:center}.task-list{list-style:none;background:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:12px;overflow:hidden}.task-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--bg-tertiary)}.task-item:last-child{border-bottom:none}.task-name{font-size:.875rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:1rem;flex:1}.task-meta{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.task-duration{font-size:.75rem;font-family:var(--font-mono);color:var(--text-secondary);background:var(--bg-tertiary);padding:.125rem .375rem;border-radius:4px}.task-time{font-size:.75rem;font-family:var(--font-mono);color:var(--text-muted)}.stat-description{font-size:.6875rem;color:var(--text-muted);margin-top:.125rem}.footer{padding:3rem 2rem;background:var(--bg-secondary);border-top:1px solid var(--bg-tertiary);position:relative;z-index:10}.seo-content{max-width:800px;margin:0 auto 2rem;text-align:left}.seo-content h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.seo-content h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:1.5rem 0 .75rem}.seo-content p{color:var(--text-secondary);margin-bottom:1rem;line-height:1.8}.seo-content ol,.seo-content ul{color:var(--text-secondary);margin-left:1.5rem;margin-bottom:1rem}.seo-content li{margin-bottom:.5rem;line-height:1.6}.seo-content strong{color:var(--text-primary)}.seo-content details{background:var(--bg-tertiary);border-radius:8px;margin-bottom:.5rem;overflow:hidden}.seo-content summary{padding:1rem;cursor:pointer;font-weight:500;color:var(--text-primary);list-style:none;display:flex;justify-content:space-between;align-items:center}.seo-content summary::-webkit-details-marker{display:none}.seo-content summary:after{content:"+";font-size:1.25rem;color:var(--text-muted);transition:transform var(--transition-base)}.seo-content details[open] summary:after{content:"-"}.seo-content details p{padding:0 1rem 1rem;margin:0}.copyright{text-align:center;font-size:.875rem;color:var(--text-muted)}.copyright a{color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast)}.copyright a:hover{color:var(--text-primary)}.modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn var(--transition-fast);padding:1rem;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:24px;padding:1.5rem;width:100%;max-width:520px;animation:slideUp var(--transition-base);max-height:90vh;overflow-y:auto}.modal-settings{max-width:600px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.modal-header h2{margin:0}.modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-tertiary);border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.modal-close:hover{background:var(--bg-primary);color:var(--text-primary)}.settings-body{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.settings-column{display:flex;flex-direction:column;gap:1.25rem}.settings-grid{display:flex;flex-direction:column;gap:.5rem}.setting-compact{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.setting-compact span{font-size:.8125rem;color:var(--text-secondary)}.btn-sm{padding:.5rem .75rem;font-size:.8125rem}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:1.5rem}.settings-group{margin-bottom:0}.settings-group h3{font-size:.6875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.75rem}.setting-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--bg-tertiary)}.setting-item span{font-size:.9375rem;color:var(--text-primary)}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;border-bottom:1px solid var(--bg-tertiary);gap:1rem}.setting-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.setting-title{font-size:.9375rem;font-weight:500;color:var(--text-primary)}.setting-desc{font-size:.75rem;color:var(--text-muted);line-height:1.4}.number-input{display:flex;align-items:center;gap:0;background:var(--bg-tertiary);border-radius:8px;overflow:hidden}.number-input input[type=number]{width:50px;padding:.5rem .25rem;font-family:var(--font-mono);font-size:.875rem;background:transparent;border:none;color:var(--text-primary);text-align:center;-moz-appearance:textfield}.number-input input[type=number]::-webkit-outer-spin-button,.number-input input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.number-input input[type=number]:focus{outline:none}.number-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.number-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.number-btn:active{background:var(--bg-primary)}.theme-selector{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:.5rem}.theme-option{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:.5rem;background:var(--bg-tertiary);border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all var(--transition-fast)}.theme-option:hover{background:var(--bg-primary)}.theme-option.active{border-color:var(--color-focus)}.theme-preview{display:flex;gap:2px}.theme-preview span{width:14px;height:14px;border-radius:50%}.theme-name{font-size:.625rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.setting-checkbox{display:flex;align-items:center;gap:.625rem;padding:.375rem 0;cursor:pointer}.setting-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-focus);cursor:pointer}.setting-checkbox span{font-size:.8125rem;color:var(--text-secondary)}.modal-actions{display:flex;gap:.75rem;margin-top:1.25rem}.modal-actions .btn{flex:1;padding:.75rem 1rem;border-radius:10px;font-size:.875rem}.modal-actions .btn-secondary{background:var(--bg-tertiary);border:none;color:var(--text-secondary)}.modal-actions .btn-primary{background:linear-gradient(135deg,var(--color-focus) 0%,var(--color-focus-dark) 100%)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.app.focus .timer-circle-progress{animation:glow-focus 2s ease-in-out infinite}.app.shortBreak .timer-circle-progress{animation:glow-short 2s ease-in-out infinite}.app.longBreak .timer-circle-progress{animation:glow-long 2s ease-in-out infinite}@keyframes glow-focus{0%,to{filter:drop-shadow(0 0 8px color-mix(in srgb,var(--color-focus) 40%,transparent))}50%{filter:drop-shadow(0 0 20px color-mix(in srgb,var(--color-focus) 60%,transparent))}}@keyframes glow-short{0%,to{filter:drop-shadow(0 0 8px color-mix(in srgb,var(--color-short-break) 40%,transparent))}50%{filter:drop-shadow(0 0 20px color-mix(in srgb,var(--color-short-break) 60%,transparent))}}@keyframes glow-long{0%,to{filter:drop-shadow(0 0 8px color-mix(in srgb,var(--color-long-break) 40%,transparent))}50%{filter:drop-shadow(0 0 20px color-mix(in srgb,var(--color-long-break) 60%,transparent))}}@media(max-width:640px){.header{padding:1rem}.header .logo h1{font-size:1rem}.mode-switcher{flex-wrap:wrap;justify-content:center}.mode-btn{padding:.625rem 1rem;font-size:.8125rem}.timer-circle-container{width:280px;height:280px}.timer-display{font-size:3.5rem}.controls{flex-wrap:wrap;justify-content:center}.btn-primary.btn-large{padding:1rem 2.5rem}.stats{flex-direction:column;width:100%;max-width:300px}.stat-card{width:100%}.footer{padding:2rem 1rem}.modal{padding:1.25rem;max-width:100%;max-height:85vh}.modal-settings{max-width:100%}.settings-body{grid-template-columns:1fr;gap:1rem}.theme-selector{grid-template-columns:repeat(5,1fr)}.setting-row{flex-direction:column;align-items:flex-start;gap:.75rem}.setting-row .number-input{align-self:flex-end}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
