*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100dvh;overflow:hidden}#root{width:100%;height:100dvh;display:flex;flex-direction:column;overflow:hidden;position:relative}:root{--background: #AFAFAF;--foreground: #4D4D4D;--transition: all .3s ease}body.dark-theme{--background: #4D4D4D !important;--foreground: #AFAFAF !important}body{background-color:var(--background)!important}.app-container{transition:var(--transition)}.timer-countdown{color:var(--foreground)!important}.button-container button{color:var(--foreground)!important;border-color:var(--foreground)!important}.time-tic,.medium-tic,.large-tic{background-color:var(--foreground)!important}.time-marker{border-bottom-color:var(--foreground)!important}.tic-label{color:var(--foreground)!important}.modal-content{background-color:var(--background);border:1px solid var(--foreground)}.modal-content h2{color:var(--foreground)}.modal-content:after{background-color:var(--foreground)}.app-container{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;position:relative;z-index:1;overflow:hidden;opacity:0;transform:scale(.98);transition:all .8s cubic-bezier(.4,0,.2,1)}.app-container.visible{opacity:1;transform:scale(1)}.timer-group{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;z-index:1;opacity:0;animation:fadeInAnimation .8s cubic-bezier(.4,0,.2,1) forwards;animation-delay:.3s}.timer-countdown{margin-bottom:2vh;font-size:clamp(60px,10vw,80px)}.context-label{margin-bottom:3vh}.button-container{position:absolute;bottom:20px;left:50%;transform:translate(-50%) translateY(20px) scale(.95);width:min(calc(100% - 24px),475px);margin-bottom:env(safe-area-inset-bottom);border:1px solid var(--foreground, #4D4D4D);border-radius:24px;background-color:var(--background, #AFAFAF);display:flex;flex-direction:column;opacity:0;pointer-events:auto;z-index:2}.button-container.visible{opacity:1;transform:translate(-50%) translateY(0) scale(1);transition:all .8s cubic-bezier(.4,0,.2,1)}@media (max-width: 479px){.button-container{overflow:hidden}}@media (min-width: 480px){.button-container{overflow:visible}}.button-container>div{display:flex;flex-direction:column;overflow:hidden;border-radius:24px}.button-container.visible{opacity:1;transform:translate(-50%) translateY(0)}.button-container.fade-out,.view-active .button-container{opacity:0;pointer-events:none;transition:opacity .8s ease-in-out;>*{pointer-events:none}}.button-container>div>button:first-child{border-bottom:1px solid var(--foreground, #4D4D4D)}@media (min-width: 480px){.button-container>div{flex-direction:row}.button-container>div>button:first-child{border-bottom:none;border-right:1px solid var(--foreground, #4D4D4D)}}.button-container button{width:100%;height:80px;border:none;outline:none;background-color:transparent;color:var(--foreground, #4D4D4D);font-size:20px;font-family:Montserrat,sans-serif;font-weight:600;text-transform:uppercase;display:flex;align-items:center;justify-content:center;margin:0;padding:0;box-sizing:border-box}.button-5min,.button-25min{background-color:transparent;color:var(--foreground, #4D4D4D);border:1px solid var(--foreground, #4D4D4D)}.button-container button:hover,.button-container button:active,.button-container button:focus{background-color:transparent!important;opacity:1!important;outline:none!important}button:before,button:after{display:none!important}.button-5min:hover,.button-25min:hover{opacity:.8}.timer-countdown{font-size:80px;font-family:Montserrat,sans-serif;font-weight:100;text-transform:uppercase;text-align:center;color:#4d4d4d;font-feature-settings:"tnum" on;font-variant-numeric:tabular-nums;margin-bottom:10px;opacity:0;transform:translateY(10px) scale(.98);transition:all .8s cubic-bezier(.4,0,.2,1)}.timer-countdown.visible{opacity:1;transform:translateY(0) scale(1)}body{background-color:#afafaf;min-height:100vh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.audio-prompt{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:1000}.enable-sound-btn{font-family:Montserrat,sans-serif;font-weight:500;font-size:16px;padding:12px 24px;background-color:#afafaf;border:1px solid #4D4D4D;border-radius:24px;color:#4d4d4d;cursor:pointer;box-shadow:0 16px 24px #4d4d4d40}.timer-display{font-family:Montserrat,sans-serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.5px;display:inline-block;min-width:3ch;text-align:center}.timer{font-family:Montserrat,sans-serif;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";text-align:center;min-width:3ch;display:inline-block}.alpha-badge{position:fixed;top:10%;left:50%;transform:translate(-50%);background-color:#afafaf;opacity:.5;color:#4d4d4d;padding:4px 12px;border-radius:100px;font-size:12px;font-family:Montserrat,sans-serif;font-weight:500;z-index:9999;pointer-events:none;transition:opacity 10s ease-in-out;display:none}.alpha-badge.faded{opacity:0!important}.debug-badge{position:fixed;top:100px;left:50%;transform:translate(-50%);background-color:#f003;color:#f009;padding:4px 12px;border-radius:100px;font-size:12px;font-family:Montserrat,sans-serif;font-weight:500;z-index:9999;pointer-events:none}.menu-button{opacity:1;-webkit-transition:opacity 10s ease-in-out;transition:opacity 10s ease-in-out;-webkit-tap-highlight-color:transparent;user-select:none;outline:none}.menu-button.faded{opacity:0;pointer-events:none;transition:opacity 10s ease-in-out}.context-label{height:20px;width:min(calc(100% - 48px),475px);text-align:center;font-family:Montserrat,sans-serif;font-size:16px;letter-spacing:2px;font-weight:400;text-transform:uppercase;color:var(--foreground);margin-bottom:30px}.button-container.fade-out button,.view-active .button-container button{pointer-events:none;visibility:hidden}.menu-button:focus,.close-button:focus{outline:none}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}.timer-slider-wrapper{width:100vw;height:76px;position:relative}.time-marker{position:absolute;left:50%;transform:translate(-50%);top:40px;width:0;height:0;border-left:5.6px solid transparent;border-right:5.6px solid transparent;border-bottom:11.2px solid #4D4D4D}.time-tics-container{position:absolute;width:100%;height:100%;overflow:hidden}.time-tics-container:before,.time-tics-container:after{content:"";position:absolute;top:0;width:80px;height:100%;z-index:2;pointer-events:none}.time-tics-container:before{left:0;background:linear-gradient(to right,var(--background) 0%,rgba(175,175,175,0) 100%)}.time-tics-container:after{right:0;background:linear-gradient(to left,var(--background) 0%,rgba(175,175,175,0) 100%)}.time-tics{display:flex;gap:0px;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%);align-items:flex-start;transition:transform .8s cubic-bezier(.4,0,.2,1)}.time-tic{width:2px;height:8px;background-color:#4d4d4d}.medium-tic{height:16px;background-color:#4d4d4d}.large-tic{height:20px;background-color:#4d4d4d}.tic-container{display:flex;flex-direction:column;align-items:center;width:4px}.tic-label{font-family:Montserrat,sans-serif;font-size:12px;color:#4d4d4d;margin-top:2px;font-weight:500}.timer-button{width:100%;height:80px;border:none;background-color:transparent;color:var(--foreground, #4D4D4D);font-size:20px;font-family:Montserrat,sans-serif;font-weight:600;text-transform:uppercase;display:flex;align-items:center;justify-content:center;padding:0;box-sizing:border-box;border-radius:0;opacity:1;transition:opacity .8s ease-in-out,transform .2s ease-out;-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media (hover: hover){.timer-button:hover{opacity:.8;transition:opacity .3s ease-in-out}}.modal-overlay{position:fixed;top:0;left:0;right:0;display:flex;justify-content:center;align-items:flex-start;padding-top:20px;z-index:20000;pointer-events:none}.modal-content{background-color:var(--background);padding:20px 40px;margin:0 40px;width:min(calc(100vw - 80px),475px);border-radius:24px;border:1px solid var(--foreground);text-align:center;box-shadow:0 16px 24px #4d4d4d40;animation:modalAppear .5s ease-in-out forwards,modalHold 5s .5s forwards,modalDisappear .5s 5.5s forwards;position:relative;overflow:hidden}.modal-content h2{font-family:Montserrat,sans-serif;font-weight:500;font-size:16px;margin:0;color:var(--foreground)}.modal-content:after{content:"";position:absolute;bottom:0;left:0;height:2px;background-color:var(--foreground);animation:countdownLine 5s linear .8s forwards;width:100%}@keyframes modalAppear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes modalHold{0%,to{opacity:1;transform:translateY(0)}}@keyframes modalDisappear{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}@keyframes countdownLine{0%{width:100%}to{width:0%}}.menu-container{position:fixed;top:max(20px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right));z-index:1000;display:flex;flex-direction:column;align-items:flex-end;transition:opacity .8s cubic-bezier(.4,0,.2,1)}.menu-container.faded{opacity:0;pointer-events:none}.menu-button{position:relative;top:20px;width:64px;height:32px;background-color:#4d4d4d;color:#afafaf;border:1px solid #AFAFAF!important;border-radius:100px;font-family:Montserrat,sans-serif;font-size:12px;font-weight:500;cursor:pointer;transition:width .4s cubic-bezier(.4,0,.2,1),height .4s cubic-bezier(.4,0,.2,1),padding .4s cubic-bezier(.4,0,.2,1),border-radius .4s cubic-bezier(.4,0,.2,1),opacity .8s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;z-index:10000;overflow:hidden;opacity:1}.menu-button.faded{opacity:0;pointer-events:none}.menu-button.width-expanded{width:min(calc(100% - 48px),475px);border-radius:24px}.menu-button.height-expanded{height:auto;min-height:32px;padding:40px 24px 24px;border:1px solid #AFAFAF!important;border-radius:24px}.menu-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#afafaf;font-family:Montserrat,sans-serif;font-size:12px;font-weight:500;pointer-events:none;transition:opacity .2s ease}.menu-button.width-expanded .menu-text{opacity:0}.close-button{position:absolute;top:24px;right:24px;width:24px;height:24px;padding:0;border:none;background:transparent;cursor:pointer;opacity:0;animation:fadeIn .2s forwards;animation-delay:.4s}.close-icon{position:relative;display:block;width:24px;height:24px}.close-icon:before,.close-icon:after{content:"";position:absolute;top:50%;left:0;width:24px;height:2px;background-color:#afafaf;transform-origin:center}.close-icon:before{transform:rotate(45deg)}.close-icon:after{transform:rotate(-45deg)}.menu-button.faded{opacity:0;pointer-events:none;transition:opacity 2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.menu-items{position:relative;top:auto;left:auto;right:auto;width:100%;opacity:0;transition:opacity .3s ease .4s}.height-expanded .menu-items{opacity:1;transition:opacity .3s ease 1.5s}.menu-items.closing{opacity:0;transition:opacity .3s ease}.toggle-container{display:flex;align-items:center;justify-content:space-between;padding:12px 0;width:100%;cursor:default}.toggle-container+.toggle-container{margin-top:8px}.toggle-label{color:#afafaf;font-family:Montserrat,sans-serif;font-size:14px;font-weight:500}.toggle-switch{position:relative;width:36px;height:20px;background-color:var(--background);border-radius:34px;border:1px solid #AFAFAF;cursor:pointer;padding:0;transition:var(--transition)}.toggle-switch.active{background-color:#4d4d4d}.toggle-thumb{position:absolute;top:50%;left:2px;width:16px;height:16px;background-color:#4d4d4d;border:1px solid #AFAFAF;border-radius:50%;transform:translateY(-50%);transition:transform .3s ease}.toggle-switch.active .toggle-thumb{transform:translate(16px,-50%);background-color:#4d4d4d;border:1px solid #AFAFAF}.reset-button{width:100%;font-family:Montserrat,sans-serif;font-size:32px;font-weight:400;text-align:left;margin:20px 0;color:#afafaf;background:none;border:none;cursor:pointer;padding:0}.menu-action-button{width:100%;font-family:Montserrat,sans-serif;font-size:32px;font-weight:400;text-align:left;margin:20px 0;color:#afafaf;background:none;border:none;cursor:pointer;padding:0;transition:opacity .3s ease}.menu-action-button:hover{opacity:.8}.splash-container{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--background);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10000;transition:opacity .8s cubic-bezier(.4,0,.2,1)}.splash-container.exiting{opacity:0;transition:opacity .8s cubic-bezier(.4,0,.2,1)}.splash-container.exiting .splash-title,.splash-container.exiting .splash-subtitle,.splash-container.exiting .splash-tap{opacity:0;transform:translateY(20px) scale(.95);transition:all .8s cubic-bezier(.4,0,.2,1)}.splash-container.exiting .splash-slider{opacity:0;transform:scale(.98);transition:all .8s cubic-bezier(.4,0,.2,1)}.splash-container.exiting .splash-marker{opacity:0;transform:translate(-50%) translateY(20px);transition:all .8s cubic-bezier(.4,0,.2,1)}.splash-title,.splash-subtitle,.splash-tap{opacity:0;transform:translateY(-20px) scale(.95);transition:all .8s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}.splash-title{font-family:Montserrat,sans-serif;font-size:14px;font-weight:400;color:var(--foreground);margin-bottom:8px}.splash-subtitle{font-family:Montserrat,sans-serif;font-size:36px;font-weight:400;color:var(--foreground);margin-bottom:48px}.splash-tap{font-family:Montserrat,sans-serif;font-size:14px;font-weight:400;color:var(--foreground);margin-top:48px}.splash-slider{opacity:0;transform:translate(100vw) scale(.98);transition:all .8s cubic-bezier(.4,0,.2,1);position:relative;width:100vw;margin:0 auto}.splash-marker{position:absolute;left:50%;top:40px;width:0;height:0;border-left:5.6px solid transparent;border-right:5.6px solid transparent;border-bottom:11.2px solid var(--foreground);transform:translate(-50%) translateY(20px);opacity:0;transition:all .8s ease-out;pointer-events:none;z-index:2}.splash-title.visible,.splash-subtitle.visible,.splash-tap.visible{opacity:1;transform:translateY(0) scale(1)}.splash-slider.visible{opacity:1;transform:translate(0) scale(1)}.splash-marker.visible{opacity:1;transform:translate(-50%) translateY(0)}.action-button{width:100%;height:80px;border:none;background-color:transparent;color:var(--foreground, #4D4D4D);font-size:20px;font-family:Montserrat,sans-serif;font-weight:600;text-transform:uppercase;display:flex;align-items:center;justify-content:center;padding:0;box-sizing:border-box;border-radius:0;opacity:1;transition:opacity .8s ease-in-out,transform .2s ease-out;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.button-pressed{transform:scale(.98);opacity:.8;transition:all .2s ease-out}.fade-out{opacity:0;pointer-events:none;transition:opacity .8s ease-in-out}@media (hover: hover){.action-button:hover{opacity:.8;transition:opacity .3s ease-in-out}}.pomodoro-progress-chart{width:100%;height:40px;overflow:hidden;opacity:1;transition:opacity .8s cubic-bezier(.4,0,.2,1);pointer-events:none;margin-bottom:0;position:relative}@media (max-width: 479px){.pomodoro-progress-chart{border-bottom:1px solid var(--foreground);border-radius:0!important}}@media (min-width: 480px){.pomodoro-progress-chart{position:absolute;bottom:calc(100% + 20px);left:0;right:0;border:1px solid var(--foreground);border-radius:24px}}.pomodoro-progress-chart.faded{opacity:0}.progress-fill{height:100%;background-color:var(--foreground);transition:width .8s cubic-bezier(.4,0,.2,1)}.progress-rule{position:absolute;inset:0;pointer-events:none}.segment-divider{position:absolute;top:0;bottom:0;width:1px;background-color:var(--foreground);opacity:.3}.segment-divider:nth-of-type(1){left:25%}.segment-divider:nth-of-type(2){left:50%}.segment-divider:nth-of-type(3){left:75%}.ruler-tics{position:absolute;bottom:0;left:0;right:0;height:20px;display:flex;justify-content:space-between;padding:0 1px}.ruler-tic{width:1px;height:4px;background-color:var(--foreground);opacity:.3;align-self:flex-end}.ruler-tic.medium{height:8px}.ruler-tic.large{height:12px}.long-break-view{position:relative;height:100vh;width:100vw;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:var(--background);color:var(--foreground);z-index:10;animation:fadeIn .5s ease-out}.long-break-view h2{font-family:Montserrat,sans-serif;font-size:24px;font-weight:400;margin-bottom:16px}.long-break-view p{font-family:Montserrat,sans-serif;font-size:16px;margin-bottom:32px;opacity:.8}.long-break-buttons{position:absolute;bottom:20px;display:flex;flex-direction:column;gap:8px;width:100%;padding:0 20px}.long-break-buttons button{font-family:Montserrat,sans-serif;font-size:20px;font-weight:600;text-transform:uppercase;padding:16px 32px;border-radius:24px;border:1px solid var(--foreground);background:transparent;color:var(--foreground);cursor:pointer;transition:all .3s ease}.long-break-buttons button:first-child{background-color:var(--foreground);color:var(--background);border:none}.start-break{background:var(--foreground)!important;color:var(--background)!important}.content-wrapper{margin:0 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center}.app-update-overlay{position:fixed;top:0;left:0;right:0;display:flex;justify-content:center;align-items:flex-start;padding-top:20px;z-index:30000;cursor:pointer}.app-update-content{background-color:var(--background);padding:20px 40px;margin:0 40px;width:min(calc(100vw - 80px),475px);border-radius:24px;border:1px solid var(--foreground);text-align:center;box-shadow:0 16px 24px #4d4d4d40;animation:updateAppear .5s ease-in-out forwards}.app-update-content h2{font-family:Montserrat,sans-serif;font-weight:500;font-size:16px;margin:0;color:var(--foreground)}.app-update-content p{font-family:Montserrat,sans-serif;font-weight:400;font-size:14px;margin:8px 0 0;color:var(--foreground);opacity:.8}@keyframes updateAppear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.about-view{position:fixed;height:100vh;width:100vw;inset:0;display:flex;flex-direction:column;justify-content:flex-start;background-color:var(--background);color:var(--foreground);z-index:10;animation:fadeIn .5s ease-out;overflow:hidden;transition:all .8s cubic-bezier(.4,0,.2,1)}.about-view.exiting{opacity:0;transform:translateY(20px) scale(.95)}.about-view .content-wrapper{position:absolute;inset:0;overflow-y:auto;scroll-behavior:smooth;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0!important;max-width:475px;margin:0 auto}.about-view .scroll-content{position:absolute;width:100%;height:auto;top:0;left:0;right:0;transform:translateY(0);padding:100px 10px}.about-view h2{font-family:Montserrat,sans-serif;font-size:24px;font-weight:400;margin-bottom:16px;text-align:center;background-color:var(--background);padding:20px 0}.about-view .about-content{font-family:Montserrat,sans-serif;font-size:16px;line-height:1.6;margin-bottom:32px;opacity:.8;height:auto;min-height:min-content;display:flex;flex-direction:column}.about-view .about-content .how-to-use,.about-view .about-content .mission-text{text-align:left;margin:0}.about-view .about-content h3{font-size:20px;font-weight:500;margin-bottom:16px;opacity:1}.about-view .about-content ol{padding-left:24px;margin:16px 0}.about-view .about-content li{margin-bottom:12px}.about-view .divider{height:1px;background-color:var(--foreground);opacity:.2;margin:40px 0}.about-view .acknowledgment{text-align:center;font-size:16px;opacity:.75}.about-view .about-content p{margin-bottom:16px}.about-buttons{position:absolute;bottom:20px;display:flex;flex-direction:column;width:100%;padding:0 20px;background-color:var(--background)}.about-buttons button{width:100%;font-family:Montserrat,sans-serif;font-size:20px;font-weight:600;text-transform:uppercase;padding:16px 32px;border-radius:24px;border:1px solid var(--foreground);background:transparent;color:var(--foreground);cursor:pointer;transition:all .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
