@charset "UTF-8";html{--color-brand-primary: #f23b3b;--color-brand-secondary: #fc9b00;--color-brand-secondary-light: #fdcb6e;--color-success: #22c55e;--color-error: #f23b3b;--color-warning: #f59e0b;--color-info: #3b82f6;--color-success-hover: #16a34a;--color-error-hover: #d63031;--color-warning-hover: #d97706;--color-info-hover: #2563eb}html[data-theme=dark]{--color-background: #242424;--color-surface: #111827;--color-surface-hover: #1f2937;--color-text-primary: rgba(255, 255, 255, .87);--color-text-secondary: #d1d5db;--color-text-muted: #9ca3af;--color-accent: #c6b1f8;--color-accent-hover: #a78bfa;--color-link: #c6b1f8;--color-link-hover: #a78bfa;--color-border: #374151;--color-border-hover: #4b5563;--color-border-shadow: #374151;--color-border-focus: #1f2937;--color-button-background: #1f2937;--color-button-background-hover: #374151;--color-button-background-active: #4b5563;--color-button-text: rgba(255, 255, 255, .87);--color-button-border: #4b5563;--color-button-border-hover: #6b7280;--color-button-focus: #c6b1f8;--color-button-disabled-bg: #111827;--color-button-disabled-text: #6b7280;--color-button-disabled-border: #374151;--color-logo-shine: #f23b3b;--color-footer: #111827}html[data-theme=light]{--color-background: #ffffff;--color-surface: #f9fafb;--color-surface-hover: #e5e7eb;--color-text-primary: #213547;--color-text-secondary: #4b5563;--color-text-muted: #6b7280;--color-accent: #111827;--color-accent-hover: #374151;--color-link: #2563eb;--color-link-hover: #3b82f6;--color-border: #d1d5db;--color-border-hover: #9ca3af;--color-border-shadow: #6b7280;--color-border-focus: #4b5563;--color-button-background: #f9fafb;--color-button-background-hover: #f3f4f6;--color-button-background-active: #e5e7eb;--color-button-text: #213547;--color-button-border: #d1d5db;--color-button-border-hover: #9ca3af;--color-button-focus: #3b82f6;--color-button-disabled-bg: #f9fafb;--color-button-disabled-text: #9ca3af;--color-button-disabled-border: #d1d5db;--color-logo-shine: #111827;--color-footer: #fc9b00}html[data-theme=dark]{--color-timer-active: #22c55e;--color-timer-paused: #f59e0b;--color-timer-break: #3b82f6;--color-timer-finished: #f23b3b}html[data-theme=light]{--color-timer-active: #16a34a;--color-timer-paused: #d97706;--color-timer-break: #2563eb;--color-timer-finished: #f23b3b}html{transition:background-color .3s ease,color .3s ease}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--color-text-primary);background-color:var(--color-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.toast{position:relative;display:flex;align-items:flex-start;gap:8px;min-width:280px;padding:12px 16px;margin-bottom:8px;border-radius:6px;box-shadow:0 2px 8px #0000001a;font-size:14px;line-height:1.4;overflow:hidden;animation:toast-in .26s cubic-bezier(.2,.9,.2,1)}.toast.closing{animation:toast-out .22s ease forwards}.toast .toast-title{font-weight:600;margin-bottom:4px}.toast .toast-body{display:flex;flex-direction:column;align-items:start;flex:1}.toast .toast-content{flex:1}.toast .toast-close{color:inherit;background:none;border:none;font-size:16px;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;opacity:.6}.toast .toast-close:hover{opacity:1}.toast .toast-progress{position:absolute;bottom:0;left:0;height:3px;width:100%}.toast .toast-progress:after{content:"";position:absolute;top:0;left:0;height:100%;width:100%;background:#0003;transform:translate(-100%);animation:progress var(--duration) linear forwards}.toast:hover .toast-progress:after{animation-play-state:paused}.toast.success{background:var(--color-surface);color:var(--color-text-primary);border-left:4px solid var(--color-success)}.toast.success .toast-progress{background:linear-gradient(90deg,var(--color-success) 0%,rgba(34,197,94,.6) 100%)}.toast.error{background:var(--color-surface);color:var(--color-text-primary);border-left:4px solid var(--color-error)}.toast.error .toast-progress{background:linear-gradient(90deg,var(--color-error) 0%,rgba(242,59,59,.8) 100%)}.toast.warning{background:var(--color-surface);color:var(--color-text-primary);border-left:4px solid var(--color-warning-hover)}.toast.warning .toast-progress{background:linear-gradient(90deg,var(--color-warning) 0%,rgba(245,158,11,.6) 100%)}.toast.info{background:var(--color-surface);color:var(--color-text-primary);border-left:4px solid var(--color-info-hover)}.toast.info .toast-progress{background:linear-gradient(90deg,var(--color-info) 0%,rgba(59,130,246,.6) 100%)}@keyframes toast-in{0%{transform:translateY(8px) scale(.995);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes toast-out{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(8px) scale(.995);opacity:0}}@keyframes progress{to{transform:translate(0)}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}body{margin:0;min-width:320px}h1{font-size:3.2em;line-height:1.1}a{color:var(--color-link)}a:hover{color:var(--color-link-hover)}#header{position:fixed;top:0;left:0;width:100%;padding:.5rem 1rem;display:flex;justify-content:space-between;align-items:center;background-color:var(--color-brand-primary);z-index:1000;border-radius:20px;box-sizing:border-box}#header .container{line-height:23px;display:flex;justify-content:space-around;align-items:center;margin:0 10px;max-width:fit-content;gap:10px}#header .brand{font-size:23px;font-weight:700;border-radius:4px;padding:12px;text-decoration:none;-webkit-user-select:none;user-select:none;color:var(--color-background);transition:background-color .3s ease}#header .brand:hover{background-color:var(--color-brand-secondary)}#header .burger-menu{display:none;flex-direction:column;cursor:pointer;padding:8px;gap:4px;z-index:1001}#header .burger-menu .burger-line{width:24px;height:3px;background-color:var(--color-background);border-radius:2px;transition:all .3s ease;transform-origin:center}#header .burger-menu .burger-line.active:nth-child(1){transform:rotate(45deg) translate(6px,6px)}#header .burger-menu .burger-line.active:nth-child(2){opacity:0}#header .burger-menu .burger-line.active:nth-child(3){transform:rotate(-45deg) translate(4px,-3px)}.nav-item{position:relative;padding:8px 12px;border-radius:8px;color:var(--color-background);text-decoration:none;font-weight:600;transition:all .3s ease}.nav-item:hover{color:inherit;background:#ffffff0d}.nav-item.active{background:#ffffff1a}.nav-item.mobile{display:block;padding:12px 20px;margin:0;text-decoration:none;border-radius:25px;text-align:center;border:solid 1px rgba(255,255,255,.2)}.side-menu{position:fixed;display:none;top:0;left:-280px;width:200px;height:100vh;background-color:var(--color-brand-primary);z-index:999;transition:left .3s ease;box-shadow:2px 0 10px #0000001a}.side-menu.open{left:0}.side-menu .side-menu-content{padding:80px 20px 20px;display:flex;flex-direction:column;gap:15px}.side-menu .side-menu-content .theme-toggle-wrapper{display:flex;justify-content:center;margin-top:20px}.menu-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;z-index:998;opacity:0;animation:fadeIn .3s ease forwards}@keyframes fadeIn{to{opacity:1}}@media screen and (max-width: 600px){#header{padding:.5rem 1rem}#header .brand{padding:12px 8px;font-size:20px}#header .desktop-nav{display:none}#header .burger-menu{display:flex}.side-menu{display:block}}.switch{position:relative;display:inline-block;width:60px;height:34px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;border-radius:34px;-webkit-transition:.4s;transition:.4s}.slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;border-radius:50%;-webkit-transition:.4s;transition:.4s}input:checked+.slider{background-color:var(--color-info)}input:checked+.slider:before{-webkit-transform:translateX(26px);-ms-transform:translateX(26px);transform:translate(26px)}.theme-toggle{position:relative;display:flex;align-items:center}.theme-toggle .theme-switch .slider{background:linear-gradient(45deg,#2d1b69,#11101d)}.theme-toggle .theme-switch .slider:before{background:linear-gradient(45deg,#6c7293,#9ca3af);content:"🌙"}.theme-toggle .theme-switch input:checked+.slider{background:linear-gradient(45deg,gold,#ff6b35)}.theme-toggle .theme-switch input:checked+.slider:before{background:linear-gradient(45deg,#fff,#f0f0f0);box-shadow:0 2px 8px #0003;content:"☀️"}#footer{position:fixed;bottom:0;left:0;width:100%;padding:.7em;background-color:var(--color-footer)}#footer .container{display:flex;justify-content:flex-start;margin-left:10px;margin-right:10px}.modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080;z-index:1000;padding:20px;animation:fade-in .3s ease-out forwards}.modal-overlay.closing{animation:fade-out .3s ease-out forwards}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.modal-card{width:100%;max-width:540px;max-height:calc(100vh - 64px);background:var(--color-surface, #fff);color:var(--color-text-primary, #111);border-radius:12px;box-shadow:0 10px 30px #0000001f;padding:20px;position:relative;overflow:auto;border:1px solid var(--color-border, rgba(0, 0, 0, .06));opacity:0;animation:slide-in-right .3s cubic-bezier(.22,1,.36,1) forwards}.modal-card.closing{animation:slide-out-right .3s cubic-bezier(.22,1,.36,1) forwards}@keyframes slide-in-right{0%{transform:translate(100vw);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-out-right{0%{transform:translate(0);opacity:1}to{transform:translate(100vw);opacity:0}}.modal-close{position:absolute;top:12px;right:12px;width:36px;height:36px;display:inline-grid;place-items:center;border:none;background:transparent;color:var(--color-text-secondary, #666);font-size:20px;line-height:1;cursor:pointer;border-radius:8px}.modal-close:hover{background:var(--color-surface-hover, rgba(0, 0, 0, .04))}@media (max-width: 600px){.modal-card{width:75%;height:75%;max-height:none;border-radius:8px;padding:16px}.modal-overlay{align-items:flex-end;background:linear-gradient(180deg,#00000059,#0009)}}.button{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;height:30px;min-width:25px;font-size:14px;font-weight:500;border:1px solid var(--color-button-border);border-radius:6px;background-color:var(--color-button-background);color:var(--color-button-text);cursor:pointer;transition:all .2s ease;outline:none}.button:hover{background-color:var(--color-button-background-hover);border-color:var(--color-button-border-hover);filter:drop-shadow(0 0 3px var(--color-button-focus))}.button:active{background-color:var(--color-button-background-active);transform:translateY(1px)}.button:disabled{background-color:var(--color-button-disabled-bg);color:var(--color-button-disabled-text);border-color:var(--color-button-disabled-border);cursor:not-allowed;transform:none}.button:disabled:hover{background-color:var(--color-button-disabled-bg);border-color:var(--color-button-disabled-border)}#timers{margin:5% auto auto;width:500px}#timers #timers-content{display:flex;width:calc(100% + 75px);flex-direction:row;gap:10px;margin-top:5px;align-items:center}#timers #timers-content #timers-list-placeholder{width:50px}#timers #timers-content #timers-toolbar{display:flex;flex-direction:column;gap:25px;width:50px;height:300px;padding:10px;background-color:var(--color-surface-hover);border-radius:20px;z-index:2;align-items:center;justify-content:center}#timers #timers-content #timers-toolbar button{width:45px;height:45px;border-width:3px}#no-timers-message-container{display:flex;height:500px;flex-direction:column;justify-content:center;-webkit-user-select:none;user-select:none}#no-timers-message-container .no-timers-message{text-align:center;text-wrap:nowrap}#no-timers-message-container .no-timers-message.clickable{animation:blink 2s infinite}#no-timers-message-container .no-timers-message.clickable:hover{cursor:pointer;animation:none}@keyframes blink{0%{opacity:1}50%{opacity:.2}to{opacity:1}}@media screen and (max-width: 600px){#timers{width:300px}}#timer-menu{display:flex;justify-content:space-evenly;align-items:center;background-color:var(--color-brand-primary);border-radius:10px;font-size:17px;line-height:1px;padding:0 10px;overflow-x:scroll;white-space:nowrap;cursor:grab;scrollbar-width:none}#timer-menu::-webkit-scrollbar{display:none}#timer-menu.grabbing{cursor:grabbing}#timer-menu .set{padding:0 20px;width:fit-content;margin:10px;border-radius:20px;-webkit-user-select:none;user-select:none;background-color:var(--color-surface);border:3px solid transparent;transition:all .2s ease}#timer-menu .set:hover{background-color:var(--color-surface-hover)}#timer-menu .set.selected{border:3px solid var(--color-border-hover)}.icon-button{padding:1px 2px}.icon-button svg,.icon-button img{width:inherit;height:inherit;flex-shrink:0}.add-timer-set-modal{display:flex;flex-direction:column;gap:16px;padding:20px;min-width:400px}.timers-set-form{display:flex;flex-direction:column;gap:16px}.timers-set-form .timers-list{display:flex;flex-direction:column;gap:12px;padding:12px;border:1px solid var(--color-border);border-radius:12px;background-color:var(--color-surface)}.timers-set-form .timers-list .added-timers{display:flex;flex-direction:column;gap:6px;padding:6px 0}.timers-set-form .timers-list .added-timers .added-timer-row{display:flex;flex-direction:column;align-items:start;padding:6px 10px;border-radius:8px;background-color:var(--color-surface-hover);font-size:14px;transition:box-shadow .16s ease,transform .16s ease}.timers-set-form .timers-list .added-timers .added-timer-row:hover{box-shadow:0 0 3px var(--color-border-hover)}.timers-set-form .timers-list .added-timers .added-timer-row.added{opacity:0;animation-name:slideUpFadeIn;animation-duration:.3s;animation-fill-mode:both}.timers-set-form .timers-list .added-timers .added-timer-row.removing{animation-name:slideDownFadeOut;animation-duration:.26s;animation-timing-function:ease-in;animation-fill-mode:both}.timers-set-form .timers-list .added-timers .added-timer-row .added-timer-info{display:flex;flex-direction:column;gap:12px;align-items:start}.timers-set-form .timers-list .added-timers .added-timer-row .added-timer-info .timer-name-text{font-weight:600;color:var(--color-text-primary)}.timers-set-form .timers-list .added-timers .added-timer-row .added-timer-info .timer-time-text{font-size:13px;color:var(--color-text-secondary)}.timers-set-form .timers-list .added-timers .added-timer-row button{border:none;width:20px;height:20px}.timers-set-form .timers-list button{align-self:flex-end}.timers-set-form>button{align-self:center;padding:8px 20px;font-weight:600}@keyframes slideUpFadeIn{0%{opacity:0;transform:translateY(10px) scale(.985)}60%{opacity:.8;transform:translateY(-3px) scale(1.01)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideDownFadeOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(15px) scale(.95)}}.input-container{font-size:17px;display:flex;flex-direction:column;align-items:start}.input-container>label{margin-bottom:5px}.input-container>input{font-size:15px;padding:5px 10px;border-radius:5px;border:1.5px solid var(--color-border);box-shadow:0 0 3px var(--color-border-shadow);background-color:var(--color-surface);color:var(--color-text-secondary)}.input-container>input:hover{border-color:var(--color-border-hover)}.input-container>input:focus{outline:none;border-color:var(--color-border-focus)}.input-container>input.error{border-color:var(--color-error)}.input-container .input-error{font-size:14px;margin-top:2px;color:var(--color-error)}.input-container .input-error:before{content:"⚠ "}.edit-timer-set-modal,.delete-timer-set-modal{display:flex;flex-direction:column;gap:16px;padding:20px;min-width:400px}.delete-timer-set-modal .buttons{display:flex;flex-direction:row;gap:30px;justify-content:center}.delete-timer-set-modal .buttons button{border-width:2px}.delete-timer-set-modal .buttons .delete{color:#fff;background-color:var(--color-error)}.delete-timer-set-modal .buttons .delete:hover{background-color:var(--color-error-hover);filter:drop-shadow(0 0 3px var(--color-error-hover))}#timers-list{background-color:var(--color-surface);width:100%;flex:1;height:350px;display:flex;flex-direction:column;align-items:center;border-radius:20px}#timers-list #timers-list-header,#timers-list #timers-list-footer{display:flex;align-items:center;justify-content:space-evenly;padding-top:15px;padding-bottom:20px;margin:0;width:100%;background-color:var(--color-surface-hover)}#timers-list #timers-list-header{overflow-x:scroll;border-radius:20px 20px 0 0;border-bottom:1px solid var(--color-border)}#timers-list #timers-list-header .timer-name{padding:8px 12px;cursor:pointer;border-radius:8px;transition:all .2s ease;-webkit-user-select:none;user-select:none;color:var(--color-text-secondary);font-weight:600;width:fit-content;text-wrap:nowrap}#timers-list #timers-list-header .timer-name:hover{background-color:var(--color-surface);color:var(--color-text-primary)}#timers-list #timers-list-header .timer-name.selected{background-color:var(--color-brand-primary);color:#fff}#timers-list #timers-list-header .divider{margin:0 8px;color:var(--color-border);font-weight:300;-webkit-user-select:none;user-select:none}#timers-list #timers-list-body{flex:1;width:100%;padding:20px;overflow:hidden;line-height:1px;display:flex;align-items:center;flex-direction:column}#timers-list #timers-list-footer{border-radius:0 0 20px 20px;border-top:1px solid var(--color-border)}.no-timers{padding:20px;text-align:center;color:var(--color-text-secondary);font-weight:600;font-size:25px;-webkit-user-select:none;user-select:none}.timer-view{-webkit-user-select:none;user-select:none}.timer-view .time-section{font-weight:400;font-size:120px;line-height:1;-webkit-user-select:all;user-select:all}.timer-view .progress-container{width:100%;height:6px;background-color:transparent;border-radius:3px;overflow:hidden;margin-top:10px}.timer-view .progress-container .progress-bar{height:100%;background:linear-gradient(90deg,var(--color-brand-primary) 0%,var(--color-brand-primary) 70%,var(--color-brand-secondary) 100%);border-radius:3px;transition:width .05s ease-out;position:relative}.timer-view .progress-container .progress-bar:after{content:"";position:absolute;top:0;right:0;bottom:0;width:20px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shine 2s ease-in-out infinite}@keyframes shine{0%,to{opacity:0;transform:translate(-100%)}50%{opacity:1;transform:translate(0)}}@media screen and (max-width: 600px){.timer-view .time-section{font-size:80px}}#home{margin-top:10%}#home .logo{height:12em;padding:1.5em;will-change:filter;transition:filter .3s;-webkit-user-select:none;user-select:none}#home .logo:hover{filter:drop-shadow(0 0 2em var(--color-logo-shine))}
