*,*:before,*:after{box-sizing:border-box}:root{--app-width: 100vw;--app-height: 100dvh;color:#000;background:#fff;font-family:Ubuntu Mono,JetBrains Mono,IBM Plex Mono,monospace;font-synthesis:none;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{min-width:320px;width:100%;height:var(--app-height);min-height:var(--app-height);overflow:hidden;overscroll-behavior:none}body{position:fixed;inset:0;min-width:320px;width:var(--app-width);max-width:100%;height:var(--app-height);min-height:var(--app-height);margin:0;overflow:hidden;overscroll-behavior:none;touch-action:manipulation;background:linear-gradient(180deg,#000 0 3%,rgba(0,0,0,.86) 4%,rgba(0,0,0,.4) 5%,rgba(0,0,0,.1) 8%,transparent 30%),linear-gradient(180deg,#000 0 8%,#505050 15%,#d9d9d9 28%,#fff 34% 100%)}body:before{position:absolute;inset:0;z-index:0;min-height:100%;content:"";pointer-events:none;opacity:.42;mix-blend-mode:overlay;filter:grayscale(1) contrast(1.25);-webkit-mask-image:linear-gradient(180deg,#000 0 34%,rgba(0,0,0,.5) 44%,transparent 56%);mask-image:linear-gradient(180deg,#000 0 34%,rgba(0,0,0,.5) 44%,transparent 56%);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cfilter id='noise' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.65' numOctaves='2' seed='7' stitchTiles='stitch' result='noise'/%3E%3CfeColorMatrix in='noise' type='saturate' values='0' result='gray'/%3E%3CfeComponentTransfer in='gray'%3E%3CfeFuncR type='discrete' tableValues='0 .18 .42 .72 1'/%3E%3CfeFuncG type='discrete' tableValues='0 .18 .42 .72 1'/%3E%3CfeFuncB type='discrete' tableValues='0 .18 .42 .72 1'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='96' height='96' filter='url(%23noise)'/%3E%3C/svg%3E");background-size:112px 112px}button,input{font:inherit}button{color:inherit}#root{width:100%;height:var(--app-height);min-height:var(--app-height);overflow:hidden}.sky{position:absolute;inset:0 0 auto;z-index:0;height:min(34dvh,300px);overflow:hidden;pointer-events:none;color:#fff;mix-blend-mode:normal}.sky__symbols{position:absolute;inset:max(16px,env(safe-area-inset-top)) 18px auto;height:min(26dvh,228px)}.sky__symbol{position:absolute;left:var(--x);top:var(--y);width:12px;height:12px;color:#fff;opacity:var(--opacity);font-size:var(--size);font-family:Oswald,Arial Narrow,sans-serif;font-weight:300;line-height:1;transform:translateZ(0);animation:star-drift calc(var(--duration) * 4) ease-in-out var(--delay) infinite alternate;will-change:transform}.sky__symbol--off{opacity:0}.app-shell{position:relative;z-index:2;width:100%;height:var(--app-height);min-height:var(--app-height);padding:max(12px,env(safe-area-inset-top)) 18px max(12px,env(safe-area-inset-bottom));display:flex;align-items:flex-start;justify-content:center;overflow:hidden}.app-shell--mobile,.app-shell--standalone{height:var(--app-height);min-height:var(--app-height);padding-bottom:0}@supports (-webkit-touch-callout: none){html,body,#root,.app-shell--mobile,.app-shell--standalone{height:var(--app-height);min-height:var(--app-height)}.app-shell--mobile .back-button+.calculator,.app-shell--standalone .back-button+.calculator{height:calc(var(--app-height) - max(12px,env(safe-area-inset-top)));max-height:none}}.calculator{width:min(calc(100vw - 56px),420px);max-width:300px;min-width:0;padding-top:clamp(126px,18dvh,166px)}.back-button+.calculator{height:calc(var(--app-height) - max(12px,env(safe-area-inset-top)));max-height:none;padding-bottom:max(14px,env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.back-button+.calculator::-webkit-scrollbar{display:none}.app-shell--mobile .back-button+.calculator,.app-shell--standalone .back-button+.calculator{height:calc(var(--app-height) - max(12px,env(safe-area-inset-top)));max-height:none;padding-top:clamp(128px,20dvh,164px)}.calculator__header{display:flex;align-items:center;margin-bottom:8px;min-width:0}.app-logo{display:block;width:42px;height:42px;image-rendering:crisp-edges}h1,h2,p{margin:0}h1,h2{font-family:Oswald,Arial Narrow,sans-serif;font-weight:300;letter-spacing:0;text-transform:uppercase}h1{min-width:0;font-size:clamp(50px,13.4vw,68px);line-height:.84}.result-heading{padding-bottom:8px;border-bottom:1px solid #9a9a9a}.result-heading p,.time-panel p,.time-control span{font-size:16px;line-height:1.2}.result-heading time{display:block;margin-top:5px;font-size:clamp(52px,15.2vw,72px);line-height:.84;letter-spacing:0}.cycle-list{display:grid;gap:0;width:100%;max-width:100%;margin:6px 0 14px;padding:0;list-style:none}.cycle-row{display:grid;grid-template-columns:minmax(0,1fr) max-content;column-gap:16px;align-items:center;width:100%;max-width:100%;overflow:hidden;min-width:0;min-height:31px;padding:0 8px;border-bottom:1px solid #bdbdbd;font-size:17px;line-height:1}.cycle-row span{min-width:0;padding-right:0}.cycle-row:first-child{border-top:0}.cycle-row:has(+.cycle-row--recommended){border-bottom-color:transparent}.cycle-row--recommended{margin:2px 0;border-color:#000;background:#000;color:#fff}.cycle-row time{position:static;transform:none;justify-self:end;min-width:5ch;text-align:right;font-size:17px;color:currentColor;z-index:2}.info-block{display:grid;gap:8px;margin-top:14px;padding:11px 14px;border:1px solid #7a7a7a;font-size:15px;line-height:1.1}.bottom-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.mode-button,.calculate-button,.back-button{min-height:50px;border:1px solid #000;border-radius:0;background:#ffffffc7;text-transform:uppercase;cursor:pointer;touch-action:manipulation}.back-button{position:fixed;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));z-index:5;min-width:68px;min-height:34px;padding:0 10px;font-size:14px;background:#ffffffeb}@media(max-width:719px){.app-shell--mobile .calculator,.app-shell--standalone .calculator{width:min(calc(100vw - 44px),342px);max-width:342px}.app-shell--mobile .time-panel h2,.app-shell--standalone .time-panel h2{font-size:clamp(40px,9.6vw,52px)}.time-panel,.time-control,.time-control input,.calculate-button{min-width:0;max-width:100%}}@media(max-width:430px){.calculator{max-width:342px}.result-heading p,.time-panel p,.time-control span{font-size:15px}.cycle-row,.cycle-row time{font-size:16px}.info-block{font-size:14px}}@media(max-width:360px),(max-height:760px){.app-shell--mobile,.app-shell--standalone{padding-inline:16px}.app-shell--mobile .calculator,.app-shell--standalone .calculator{width:min(calc(100vw - 44px),342px);padding-top:clamp(100px,14.5dvh,122px)}.app-shell--mobile .back-button+.calculator,.app-shell--standalone .back-button+.calculator{padding-top:clamp(118px,17dvh,138px)}.app-shell--mobile h1,.app-shell--standalone h1{font-size:clamp(42px,12.6vw,50px)}.app-shell--mobile .result-heading,.app-shell--standalone .result-heading{padding-bottom:6px}.app-shell--mobile .result-heading time,.app-shell--standalone .result-heading time{margin-top:4px;font-size:clamp(46px,14vw,56px)}.app-shell--mobile .cycle-list,.app-shell--standalone .cycle-list{margin:5px 0 10px}.app-shell--mobile .cycle-row,.app-shell--standalone .cycle-row{min-height:27px}.app-shell--mobile .cycle-row,.app-shell--mobile .cycle-row time,.app-shell--standalone .cycle-row,.app-shell--standalone .cycle-row time{font-size:15px}.app-shell--mobile .info-block,.app-shell--standalone .info-block{gap:5px;margin-top:10px;padding:9px 12px;font-size:13px}.app-shell--mobile .bottom-actions,.app-shell--standalone .bottom-actions{gap:8px;margin-top:10px}.app-shell--mobile .mode-button,.app-shell--mobile .calculate-button,.app-shell--standalone .mode-button,.app-shell--standalone .calculate-button{min-height:42px}}.mode-button--active,.mode-button:active,.calculate-button:active{background:#000;color:#fff}.time-panel{display:grid;gap:10px;margin:0 0 14px}.time-panel__copy{display:grid;gap:6px}.time-panel h2{font-family:Oswald,Arial Narrow,sans-serif;font-weight:600;font-size:clamp(38px,11vw,54px);line-height:.9}.time-control{display:grid;gap:8px}.time-control input{width:100%;min-height:58px;padding:0 18px;border:1px solid #8b8b8b;border-radius:0;background:#ffffffc7;color:#000;font-size:30px;line-height:1;appearance:none;-webkit-appearance:none}.calculate-button{min-height:48px}@keyframes star-drift{0%{transform:translate3d(calc(var(--drift) * -.7),-1px,0)}to{transform:translate3d(var(--drift),3px,0)}}@media(min-width:720px){body{background:linear-gradient(180deg,#000 0 10%,rgba(0,0,0,.86) 13%,rgba(0,0,0,.42) 18%,rgba(0,0,0,.08) 24%,transparent 32%),linear-gradient(180deg,#000 0 17%,#555 24%,#dedede 34%,#fff 43% 100%)}.app-shell{padding-top:24px}.calculator{max-width:420px;padding-top:154px}}@media(min-width:720px)and (hover:hover)and (pointer:fine){body:has(.app-shell--desktop-browser){background:linear-gradient(180deg,#000 0 6%,rgba(0,0,0,.86) 9%,rgba(0,0,0,.32) 13%,rgba(0,0,0,.06) 16%,transparent 20%),linear-gradient(180deg,#000 0 12%,#626262 16%,#e9e9e9 19%,#fff 23% 100%)}body:has(.app-shell--desktop-browser):before{opacity:.34;-webkit-mask-image:linear-gradient(180deg,#000 0 18%,rgba(0,0,0,.38) 28%,transparent 42%);mask-image:linear-gradient(180deg,#000 0 18%,rgba(0,0,0,.38) 28%,transparent 42%)}.app-shell--desktop-browser{flex-direction:column;align-items:center;justify-content:flex-start;padding:0 24px}body:has(.app-shell--desktop-browser) .sky{height:min(25dvh,190px)}body:has(.app-shell--desktop-browser) .sky__symbols{inset:24px 8vw auto;height:min(17dvh,130px)}body:has(.app-shell--desktop-browser) .sky__symbol{font-size:calc(var(--size) * .74)}.app-shell--desktop-browser .calculator{width:min(30vw,420px);min-width:340px;max-width:420px;max-height:var(--app-height);padding-top:clamp(146px,21dvh,166px);padding-bottom:28px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable both-edges;scrollbar-color:#6f6f6f transparent;scrollbar-width:thin}.app-shell--desktop-browser .calculator::-webkit-scrollbar{width:5px}.app-shell--desktop-browser .calculator::-webkit-scrollbar-track{background:transparent}.app-shell--desktop-browser .calculator::-webkit-scrollbar-thumb{min-height:28px;background:#6f6f6f}.app-shell--desktop-browser .calculator::-webkit-scrollbar-button{width:0;height:0;display:none;appearance:none;background:transparent}.app-shell--desktop-browser .calculator::-webkit-scrollbar-button:vertical:start:decrement,.app-shell--desktop-browser .calculator::-webkit-scrollbar-button:vertical:end:increment{width:0;height:0;display:none;appearance:none;background:transparent}.app-shell--desktop-browser .calculator::-webkit-scrollbar-corner{background:transparent}.app-shell--desktop-browser .back-button{position:static;width:min(30vw,420px);min-width:340px;max-width:420px;min-height:0;margin:150px auto 4px;padding:0 0 0 12px;border:0;background:transparent;font-size:16px;line-height:1;text-align:left;text-transform:lowercase}.app-shell--desktop-browser .back-button:before{content:"< "}.app-shell--desktop-browser .back-button:focus-visible{outline:1px solid currentColor;outline-offset:3px}.app-shell--desktop-browser .back-button+.calculator{max-height:calc(var(--app-height) - 170px);padding-top:0}.app-shell--desktop-browser .back-button+.calculator .bottom-actions{display:none}.app-shell--desktop-browser h1{font-size:clamp(46px,4.2vw,58px)}.app-shell--desktop-browser .time-panel{gap:8px;margin-bottom:10px}.app-shell--desktop-browser .time-panel h2{font-size:clamp(38px,4.5vw,52px)}.app-shell--desktop-browser .result-heading{padding-bottom:7px}.app-shell--desktop-browser .result-heading time{font-size:clamp(54px,5vw,68px)}.app-shell--desktop-browser .cycle-list{margin:5px 0 11px}.app-shell--desktop-browser .cycle-row{min-height:28px;font-size:16px}.app-shell--desktop-browser .cycle-row time{font-size:16px}.app-shell--desktop-browser .info-block{gap:6px;margin-top:11px;padding:10px 13px;font-size:14px}.app-shell--desktop-browser .bottom-actions{margin-top:10px}.app-shell--desktop-browser .mode-button,.app-shell--desktop-browser .calculate-button{min-height:46px}}@media(min-width:720px)and (hover:hover)and (pointer:fine)and (max-height:820px){.app-shell--desktop-browser .calculator{width:min(27vw,380px);min-width:320px;padding-top:clamp(138px,18dvh,148px)}.app-shell--desktop-browser .back-button{width:min(27vw,380px);min-width:320px;margin-top:136px}.app-shell--desktop-browser .back-button+.calculator{max-height:calc(var(--app-height) - 156px)}.app-shell--desktop-browser h1{font-size:clamp(42px,3.8vw,52px)}.app-shell--desktop-browser .time-panel h2{font-size:clamp(34px,4vw,46px)}.app-shell--desktop-browser .result-heading p,.app-shell--desktop-browser .time-panel p,.app-shell--desktop-browser .time-control span{font-size:14px}.app-shell--desktop-browser .result-heading time{font-size:clamp(48px,4.4vw,60px)}.app-shell--desktop-browser .time-control input{min-height:52px;font-size:27px}.app-shell--desktop-browser .cycle-row{min-height:25px;font-size:15px}.app-shell--desktop-browser .cycle-row time{font-size:15px}.app-shell--desktop-browser .info-block{gap:5px;margin-top:9px;padding:8px 12px;font-size:13px}.app-shell--desktop-browser .bottom-actions{margin-top:8px}.app-shell--desktop-browser .mode-button,.app-shell--desktop-browser .calculate-button{min-height:42px}}@media(max-height:720px){.calculator{padding-top:clamp(96px,15dvh,116px)}h1{font-size:clamp(42px,11vw,56px)}.result-heading time{font-size:clamp(46px,13.5vw,62px)}.cycle-row{min-height:27px}.info-block{gap:5px;margin-top:10px;padding:9px 12px;font-size:13px}.bottom-actions{margin-top:9px}.mode-button,.calculate-button{min-height:44px}}@media(prefers-reduced-motion:reduce){.sky__symbol{animation:none}}
