:root{--bg: #ffffff;--text: #111;--card: #f4f4f4;--accent: #ff4d4f}[data-theme=dark]{--bg: #0f1115;--text: #e6e6e6;--card: #1c1f26;--accent: #ff6b6b}body{background:var(--bg);color:var(--text);transition:background .3s ease,color .3s ease;font-family:system-ui,sans-serif}button{background:var(--card);color:var(--text);border:none;padding:.6rem 1rem;border-radius:8px;transition:transform .1s ease,background .2s ease}button:hover{transform:scale(1.03)}button:active{transform:scale(.97)}:root{--bg: #0f1115;--surface: #1c1f26;--surface-2: #252936;--text: #e6e6e6;--muted: #9aa0a6;--accent: #ff6b6b;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--fast: .12s;--normal: .24s}[data-theme=light]{--bg: #ffffff;--surface: #f4f4f5;--surface-2: #e9eaec;--text: #111;--muted: #555}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:background var(--normal),color var(--normal)}button{font:inherit;cursor:pointer}.app{min-height:100vh;display:flex;flex-direction:column}.nav{display:flex;gap:var(--space-md);padding:var(--space-md);background:var(--surface)}.nav a{color:var(--muted);text-decoration:none;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);transition:background var(--fast),color var(--fast)}.nav a.active{background:var(--surface-2);color:var(--text)}.content{flex:1;padding:var(--space-lg)}.page-title{text-align:center;margin:0;font-size:2rem;font-weight:700;letter-spacing:-.02em}.timer-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 120px);padding:2rem 1rem;gap:2rem}.timer-header{text-align:center;margin-bottom:1rem}.mode-subtitle{margin:.5rem 0 0;font-size:.95rem;opacity:.7;color:var(--muted);font-weight:400}.timer-badges{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;min-height:32px}.card{background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:0 10px 30px #00000059,inset 0 1px #ffffff05}.card.center{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}.timer-container{display:flex;align-items:center;justify-content:center;margin:2rem 0;min-height:280px}.timer{position:relative;width:280px;height:280px;display:flex;align-items:center;justify-content:center}.timer svg{position:absolute;top:0;left:0;width:100%;height:100%}.timer-bg{fill:none;stroke:var(--surface-2);stroke-width:14;opacity:.15}.timer-text{font-size:4rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums;z-index:2;color:var(--text);margin:0;line-height:1}@keyframes glow{0%{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 12px currentColor)}to{filter:drop-shadow(0 0 0 transparent)}}.timer.pulse .timer-progress{animation:pulseGlow .8s ease-out}@keyframes pulseGlow{0%{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 12px var(--ring-color))}to{filter:drop-shadow(0 0 0 transparent)}}@keyframes fadeSlide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.mode-title{animation:fadeSlide .35s ease}.page{transition:background-color .4s ease,transform .35s ease}.mode-focus .card{background:var(--surface)}.mode-shortBreak .card{background:#162a1f}.mode-longBreak .card{background:#141c2a}.page .card{transform:scale(.98)}.page.mode-focus .card,.page.mode-shortBreak .card,.page.mode-longBreak .card{transform:scale(1)}@keyframes pageFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.route-container{animation:pageFade .35s ease}.settings-card{max-width:500px;margin:0 auto;display:flex;flex-direction:column;gap:32px}.settings-header{text-align:center;margin-bottom:8px}.settings-header h2{margin:0 0 8px;font-size:1.5rem;font-weight:600}.settings-subtitle{margin:0;font-size:.9rem;opacity:.65;color:var(--muted)}.settings-section{display:flex;flex-direction:column;gap:20px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.06)}.settings-section:last-child{border-bottom:none;padding-bottom:0}.settings-section h3{margin:0 0 4px;font-size:.85rem;opacity:.85}.settings-input-group{display:flex;flex-direction:column;gap:20px}.settings-label{display:flex;flex-direction:column;gap:8px}.label-text{font-size:.9rem;font-weight:500;color:var(--text);opacity:.9}.input-wrapper{position:relative;display:flex;align-items:center}.settings-input{flex:1;padding:12px 60px 12px 16px;border-radius:10px;background:var(--surface-2);border:2px solid rgba(255,255,255,.08);color:var(--text);font-size:1rem;font-weight:500;transition:all .2s ease}.settings-input:focus{outline:none;border-color:#ff6b6b66;background:var(--surface);box-shadow:0 0 0 3px #ff6b6b1a}.settings-input:disabled{opacity:.5;cursor:not-allowed;background:var(--surface-2)}.settings-input:hover:not(:disabled){border-color:#ffffff26}.input-suffix{position:absolute;right:16px;font-size:.85rem;color:var(--muted);pointer-events:none;font-weight:500}.settings-toggle-group{display:flex;flex-direction:column;gap:16px}.toggle-label{display:flex;align-items:flex-start;gap:16px;cursor:pointer;padding:12px;border-radius:10px;transition:background .2s ease}.toggle-label:hover{background:#ffffff05}.toggle-wrapper{position:relative;flex-shrink:0;width:48px;height:28px}.toggle-input{position:absolute;opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#ffffff1a;border:2px solid rgba(255,255,255,.15);border-radius:28px;transition:all .3s ease}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:2px;bottom:2px;background-color:#fff;border-radius:50%;transition:all .3s ease;box-shadow:0 2px 4px #0003}.toggle-input:checked+.toggle-slider{background-color:#ff6b6b;border-color:#ff6b6b}.toggle-input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-input:focus+.toggle-slider{box-shadow:0 0 0 3px #ff6b6b33}.toggle-content{flex:1;display:flex;flex-direction:column;gap:4px}.toggle-title{font-size:.95rem;font-weight:500;color:var(--text)}.toggle-description{font-size:.8rem;color:var(--muted);opacity:.8;line-height:1.4}.volume-control{margin-left:64px;padding:12px;border-radius:10px;background:#ffffff05}.volume-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.volume-label .label-text{font-size:.9rem;font-weight:500}.volume-value{font-size:.85rem;font-weight:600;color:#ff6b6b;min-width:40px;text-align:right}.volume-slider-wrapper{position:relative}.volume-slider{width:100%;height:6px;border-radius:3px;background:#ffffff1a;outline:none;-webkit-appearance:none;appearance:none}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#ff6b6b;cursor:pointer;box-shadow:0 2px 4px #0003;transition:all .2s ease;margin-top:-6px}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 2px 8px #ff6b6b66}.volume-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#ff6b6b;cursor:pointer;border:none;box-shadow:0 2px 4px #0003;transition:all .2s ease}.volume-slider::-moz-range-thumb:hover{transform:scale(1.15);box-shadow:0 2px 8px #ff6b6b66}.volume-slider::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(to right,#ff6b6b 0%,#ff6b6b var(--volume-percent, 50%),rgba(255,255,255,.1) var(--volume-percent, 50%),rgba(255,255,255,.1) 100%)}.volume-slider::-moz-range-track{height:6px;border-radius:3px;background:#ffffff1a}.settings-actions{margin-top:8px;padding-top:24px;border-top:1px solid rgba(255,255,255,.06)}.checkbox{display:flex!important;align-items:center;gap:10px}.section-title{display:flex;align-items:center;gap:10px;font-size:.85rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;opacity:.85}.icon-timer:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Ccircle cx='12' cy='12' r='9' stroke-width='2'/%3E%3Cpath d='M12 7v5l3 3' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Ccircle cx='12' cy='12' r='9' stroke-width='2'/%3E%3Cpath d='M12 7v5l3 3' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}.icon-behavior:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath d='M12 3v3M12 18v3M4.22 4.22l2.12 2.12M17.66 17.66l2.12 2.12M3 12h3M18 12h3M4.22 19.78l2.12-2.12M17.66 6.34l2.12-2.12' stroke-width='2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath d='M12 3v3M12 18v3M4.22 4.22l2.12 2.12M17.66 17.66l2.12 2.12M3 12h3M18 12h3M4.22 19.78l2.12-2.12M17.66 6.34l2.12-2.12' stroke-width='2'/%3E%3C/svg%3E")}.icon-sound:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath d='M11 5L6 9H3v6h3l5 4V5z' stroke-width='2'/%3E%3Cpath d='M15 9a4 4 0 010 6' stroke-width='2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath d='M11 5L6 9H3v6h3l5 4V5z' stroke-width='2'/%3E%3Cpath d='M15 9a4 4 0 010 6' stroke-width='2'/%3E%3C/svg%3E")}.section-title:before{content:"";width:16px;height:16px;background-color:currentColor;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.settings-layout{display:grid;gap:40px;max-width:900px;margin:0 auto}@media(min-width:1100px){.settings-layout{grid-template-columns:1fr 1fr;align-items:start}}@media(max-width:640px){.timer{width:240px;height:240px}.timer-text{font-size:3rem}.page-title{font-size:1.75rem}.controls-secondary{flex-direction:column}.control-btn-secondary{width:100%}}.danger-btn{width:100%;padding:12px 20px;border-radius:10px;background:transparent;color:#ff6b6b;border:2px solid rgba(255,107,107,.4);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.danger-btn:hover{background:#ff6b6b1a;border-color:#ff6b6b99;transform:translateY(-1px)}.danger-btn:active{transform:translateY(0)}.stats-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:32px}.stat-card{text-align:center}.stat-card p{font-size:1.8rem;font-weight:600;margin-top:8px}.timeline ul{list-style:none;padding:0;margin:0}.timeline li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:.85rem}.timer-progress{fill:none;stroke:var(--accent);stroke-width:14;stroke-linecap:round;stroke-dasharray:565;stroke-dashoffset:0;transition:stroke-dashoffset 1s linear,stroke .4s ease}.stats-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:32px}.stats-charts{display:grid;gap:24px}.chart-tooltip{background:var(--surface-2);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:8px 12px;box-shadow:0 4px 12px #0000004d}.chart-tooltip .tooltip-label{font-weight:600;margin:0 0 4px;font-size:.9rem;color:var(--text)}.chart-tooltip .tooltip-value{margin:0;font-size:.85rem;color:var(--muted)}.heatmap-grid{display:grid;grid-template-columns:repeat(14,1fr);gap:6px;margin-top:16px}.heatmap-cell{width:14px;height:14px;border-radius:4px;background:#ff6b6b}input:disabled{opacity:.5;cursor:not-allowed}.settings-hint{font-size:.8rem;opacity:.75;margin-top:8px;padding:8px 12px;background:#ffa5001a;border:1px solid rgba(255,165,0,.2);border-radius:6px;color:orange;display:flex;align-items:center;gap:6px}.pending-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:500;border-radius:20px;background:#ffa50026;color:orange;border:1px solid rgba(255,165,0,.3);letter-spacing:.02em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.applied-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:500;border-radius:20px;background:#00c87826;color:#00c878;border:1px solid rgba(0,200,120,.3);animation:popFade 1.2s ease forwards;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes popFade{0%{opacity:0;transform:translateY(-4px) scale(.95)}20%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0}}.timer.pulse .timer-progress{animation:ringPulse .6s ease-out}@keyframes ringPulse{0%{stroke-width:10;filter:drop-shadow(0 0 0px currentColor)}50%{stroke-width:14;filter:drop-shadow(0 0 8px currentColor)}to{stroke-width:10;filter:drop-shadow(0 0 0px currentColor)}}.timer.focus .timer-progress{stroke:#ff6b6b;filter:drop-shadow(0 0 8px rgba(255,107,107,.4))}.timer.shortBreak .timer-progress{stroke:#4ade80;filter:drop-shadow(0 0 8px rgba(74,222,128,.4))}.timer.longBreak .timer-progress{stroke:#60a5fa;filter:drop-shadow(0 0 8px rgba(96,165,250,.4))}.controls{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:400px;margin-top:1rem}.control-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:14px 28px;border-radius:12px;border:none;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit;letter-spacing:.02em}.control-btn-primary{width:100%;background:linear-gradient(135deg,#ff6b6b,#ff5252);color:#fff;box-shadow:0 4px 12px #ff6b6b4d}.control-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff6b6b66;background:linear-gradient(135deg,#ff5252,#ff6b6b)}.control-btn-primary:active{transform:translateY(0);box-shadow:0 2px 8px #ff6b6b4d}.controls-secondary{display:flex;gap:.75rem;width:100%}.control-btn-secondary{flex:1;background:#ffffff0d;color:var(--text);border:2px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.control-btn-secondary:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-1px)}.control-btn-secondary:active{transform:translateY(0);background:#ffffff14}.control-icon{font-size:1.1rem;line-height:1;display:flex;align-items:center;justify-content:center}
