:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif;color:#edf3f0;background:#080c0d;font-synthesis:none;font-weight:400;--mint:#a3e7cf;--muted:#83928d;--line:#22302c;--card:#111918;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{-webkit-tap-highlight-color:transparent;font:inherit}button{cursor:pointer;color:inherit;border:0;background:none;touch-action:manipulation}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--mint);outline-offset:4px}input,select,textarea{color:inherit;background:#17211e;border:1px solid #2a3933;border-radius:10px;padding:10px;min-height:44px;max-width:100%}input[type=number]{width:94px;text-align:right}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:44px;height:27px;min-height:0;border-radius:20px;position:relative;background:#34403b;transition:.2s}input[type=checkbox]:before{content:"";position:absolute;background:#d9e5df;border-radius:50%;width:19px;height:19px;left:3px;top:3px;transition:.2s}input[type=checkbox]:checked{background:#77b9a2}input[type=checkbox]:checked:before{left:21px;background:#fff}input[type=range]{padding:0;accent-color:var(--mint);border:0;width:140px;background:none}textarea{width:64%;min-height:85px;resize:vertical}h1,h2,p{margin:0}h2{font-size:17px;font-weight:550;letter-spacing:.5px}small{font-size:11px;color:var(--muted)}.app{max-width:620px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 20px) 24px calc(env(safe-area-inset-bottom) + 110px);min-height:100dvh;background:radial-gradient(ellipse 80% 30% at 50% 32%,#15302838,transparent 100%)}header{display:flex;align-items:center;justify-content:space-between;padding-bottom:30px}.brand{font-size:25px;letter-spacing:-1.2px;padding:0;font-weight:650;display:flex;align-items:center}.brand span,.about-logo span{font-weight:300;color:var(--mint)}.brand i{width:5px;height:5px;background:var(--mint);border-radius:50%;margin-left:5px;align-self:flex-end;margin-bottom:6px}.header-note{font-size:10px;color:#71847d;letter-spacing:1px}.date-line{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;align-items:center}.checkin{display:flex;align-items:center;gap:4px;font-size:10px;color:#8eaaa0;border:1px solid #253b32;border-radius:20px;padding:7px 9px}.checkin.done{color:var(--mint);background:#173127}.lifetime{text-align:center;margin:29px 0 27px}.lifetime>span{font-size:11px;color:var(--muted);letter-spacing:2px}.lifetime>div{font-size:29px;font-weight:350;letter-spacing:-.5px;margin-top:7px;font-variant-numeric:tabular-nums}.lifetime small{font-size:12px;margin:0 9px 0 5px;font-weight:400;color:#afc0b8}.mode-switch{display:flex;background:#101715;border:1px solid #1c2b25;padding:4px;border-radius:13px;gap:5px;max-width:330px;margin:0 auto}.mode-switch button{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;min-height:37px;font-size:12px;color:#7e9289;border-radius:9px}.mode-switch button.selected{background:#27382f;color:#d8eee2;box-shadow:0 2px 5px #0003}.timer{text-align:center;padding-top:31px}.timer-top{font-size:11px;color:#8fa49b;letter-spacing:1px;display:flex;align-items:center;justify-content:center;gap:7px}.status-dot{width:5px;height:5px;background:#4c6a5c;border-radius:50%}.running .status-dot{background:var(--mint);box-shadow:0 0 10px #a3e7cf66;animation:pulse 2s infinite}.digits{font-size:clamp(52px,14.1vw,85px);letter-spacing:-3px;font-weight:240;font-variant-numeric:tabular-nums;line-height:1.4;margin-top:17px;color:#f2f8f4;text-shadow:0 0 45px #8fc7ae18}.timer-type{margin:5px auto 28px;display:flex;gap:8px;align-items:center;justify-content:center;font-size:11px;color:#8a9d93}.timer-type span{color:#b6cdc0}.timer-controls{display:flex;gap:12px;justify-content:center}.primary{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 23px;min-height:55px;background:var(--mint);color:#13362a;border-radius:15px;font-size:14px;font-weight:600;box-shadow:0 7px 35px #8cd1b70b}.primary.start{width:100%;max-width:330px}.timer-controls .primary{flex:1}.end{display:flex;align-items:center;justify-content:center;gap:7px;padding:14px 22px;border:1px solid #3c4e44;border-radius:15px;color:#c5d4cc;font-size:14px}.category-select{background:none;border:0;color:#879e91;margin-top:13px;padding:4px 20px;font-size:11px;min-height:33px;text-align:center}.tiny{display:block;color:#708579;font-size:10px;margin-top:13px}.today-card{display:flex;align-items:center;gap:27px;margin-top:27px;padding:20px;background:linear-gradient(120deg,#16241d99,#10191688);border:1px solid #24352b;border-radius:17px}.today-card>div:first-child{flex-shrink:0}.today-card span{font-size:11px;color:#91a398}.today-card strong{display:block;font-size:27px;font-weight:400;margin-top:6px}.today-card strong small{font-size:11px}.goal{flex:1}.goal>span{font-size:10px}.progress{height:4px;background:#29382f;border-radius:8px;overflow:hidden}.progress i{display:block;height:100%;background:#92cdb1;border-radius:8px;transition:width .4s}.goal .progress{margin:10px 0}.goal>small{font-size:9px;color:#6f8979}.metro-strip{width:100%;display:flex;gap:11px;align-items:center;border:1px solid #1d2b24;padding:17px 14px;margin:13px 0 26px;border-radius:13px;background:#10171455;text-align:left;font-size:12px}.metro-strip small{margin-left:6px;font-size:10px}.metro-dots{display:flex;gap:3px}.metro-dots i{height:12px;width:3px;background:#52665a;border-radius:5px}.metro-dots i:nth-child(2){height:19px}.metro-dots i:nth-child(3){height:15px}.metro-dots i.lit{background:var(--mint)}.metro-state{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:10px;color:#7d9284}.on .metro-state{color:var(--mint)}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:25px 0 15px;gap:7px}.section-heading h2{font-size:14px}.section-heading h2 small{display:block;font-size:10px;margin-top:6px}.section-heading>button{font-size:10px;color:#91a99a;display:flex;align-items:center;gap:4px}.empty{text-align:center;padding:25px 0 18px;color:#72867a;font-size:11px}.empty small{display:block;margin-top:9px;color:#4f695a;font-size:10px}.quiet-footer{text-align:center;font-size:9px;color:#4a6153;letter-spacing:1px;line-height:2;margin:34px 0 8px}.record-row{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:16px 0;border-bottom:1px solid #1b2821;font-size:12px}.record-icon{display:grid;place-items:center;width:35px;height:38px;border-radius:10px;background:#192b21;color:#a2c7ae;flex-shrink:0}.record-desc{flex:1;min-width:0}.record-desc strong{font-size:12px;font-weight:500;display:block}.record-desc small{font-size:10px;display:block;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-row>span:nth-last-child(2){font-size:11px}.saved-actions{display:flex;gap:14px;font-size:10px;align-items:center;padding:14px 0;color:#849f8d}.saved-actions button{color:var(--mint);font-size:11px}.saved-actions span{margin-right:auto}nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:620px;padding:12px 28px calc(env(safe-area-inset-bottom) + 12px);background:#0b1310f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid #223329;display:flex;justify-content:space-around;z-index:10}nav button{display:flex;align-items:center;flex-direction:column;gap:6px;min-width:64px;color:#647c6d;font-size:10px}nav button.active{color:var(--mint)}nav button.active:after{content:"";width:3px;height:3px;border-radius:50%;background:var(--mint);position:absolute;top:5px}.page-title{padding:8px 0 25px}.eyebrow{font-size:9px;letter-spacing:2.8px;color:#8cba9c}.page-title h1{font-size:28px;font-weight:420;margin:13px 0}.page-title p{font-size:12px;color:var(--muted)}.total-card{background:linear-gradient(120deg,#1b3022,#132119);border:1px solid #314536;border-radius:16px;padding:22px 19px;display:flex;flex-direction:column;gap:11px}.total-card span{font-size:11px;color:#a3b7a7}.total-card strong{font-size:26px;font-weight:400}.total-card small{font-size:10px;line-height:1.8;color:#7b9684}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:13px 0 25px}.stats-grid>div{padding:16px;background:#111d16;border-radius:12px;border:1px solid #1d2d22}.stats-grid span{display:block;font-size:10px;color:#839b8a;margin-bottom:8px}.stats-grid strong{font-size:16px;font-weight:450}.chart{display:flex;gap:8px;background:#101b14;border:1px solid #213025;padding:20px 10px 13px;border-radius:14px;height:166px}.chart button{flex:1;display:flex;flex-direction:column;gap:7px;padding:0;align-items:center;font-size:9px;min-width:0}.chart button>div{height:90px;width:100%;max-width:20px;display:flex;align-items:flex-end}.chart i{width:100%;background:#79ad8e;border-radius:4px 4px 0 0}.chart span{font-size:9px;color:#9fbca8}.chart small{font-size:8px;white-space:nowrap}.month-controls{display:flex;align-items:center;gap:2px}.month-controls button{font-size:25px;color:#a0bba7;padding:1px 7px}.month-controls input{font-size:11px;max-width:140px;padding:5px;min-height:35px}.calendar{padding:16px 9px;background:#111c15;border:1px solid #243127;border-radius:15px}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:5px}.weekdays{font-size:10px;color:#657d6b;padding:0 0 14px}.calendar-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;height:49px;border-radius:9px;font-size:12px;color:#9aaca0}.calendar-grid small{font-size:8px;height:10px;color:#a3d4b5}.calendar-grid small i{display:inline-block;height:4px;width:4px;background:#93d8ab;border-radius:50%}.calendar-grid button.today{color:var(--mint)}.calendar-grid button.picked{background:#2b4833;color:#eef9ef}.calendar-legend{border-top:1px solid #213427;padding:15px 5px 0;margin-top:13px;display:flex;align-items:center;font-size:9px;color:#7f9988;gap:7px}.calendar-legend>i{width:4px;height:4px;border-radius:50%;background:#93d8ab}.calendar-legend span{margin-left:auto;font-size:8px;color:#5b7863}.month-chart{height:112px;display:flex;align-items:flex-end;gap:3px;background:#101c14;border-radius:12px;padding:10px}.month-chart button{flex:1;background:#88b797;min-width:2px;border-radius:2px}.category-stats{background:#101b14;border-radius:13px;padding:4px 15px}.category-stats>div{display:flex;align-items:center;gap:13px;padding:15px 0}.category-stats span{font-size:11px;min-width:48px;color:#a0b6a6}.category-stats .progress{flex:1}.category-stats strong{font-size:10px;font-weight:400;min-width:75px;text-align:right;color:#8da994}.milestones{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.milestones>div{display:flex;flex-direction:column;align-items:center;padding:16px 4px;gap:6px;border:1px solid #253328;border-radius:13px;background:#121d16;color:#526957}.milestones span{font-size:28px}.milestones strong{font-size:20px;font-weight:450}.milestones small{font-size:9px;color:inherit}.milestones .achieved{color:#dcc88b;border-color:#5b5335;background:#24271b}.hint{font-size:10px;line-height:1.9;color:#7f9786;margin:13px 0}.warning{color:#99a288}.settings-card{border:1px solid #26382b;background:#101c14;border-radius:14px;padding:0 15px}.field{min-height:58px;padding:10px 0;display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:12px;color:#b7c8ba;border-bottom:1px solid #223126}.field select{font-size:11px}.field input[type=text]{width:60%}.setting-link{width:100%;min-height:54px;display:flex;align-items:center;justify-content:space-between;font-size:12px;border-bottom:1px solid #223126;text-align:left;padding:13px 0}.settings-card .setting-link:last-child,.settings-card .field:last-child{border-bottom:0}.setting-link svg{color:#7c9985}.file-input{position:relative;cursor:pointer;overflow:hidden}.file-input input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;cursor:pointer}.notice{font-size:11px;line-height:1.8;background:#25301c;border:1px solid #3e4c2c;color:#bfcb96;border-radius:11px;padding:12px 14px;margin:15px 0}.pending{display:flex;width:100%;align-items:center;justify-content:space-between}.gold{color:#dfc483}.toast{position:fixed;z-index:100;left:50%;bottom:calc(env(safe-area-inset-bottom) + 95px);transform:translate(-50%);width:max-content;max-width:calc(100vw - 36px);padding:14px 21px;border-radius:13px;background:#d2eddb;color:#183324;box-shadow:0 6px 35px #0006;font-size:12px;line-height:1.7}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#0009;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:flex-end;justify-content:center}.sheet{position:relative;max-width:620px;width:100%;max-height:92dvh;overflow:auto;overscroll-behavior:contain;background:#101c15;border:1px solid #2d4131;border-radius:25px 25px 0 0;padding:30px 25px calc(env(safe-area-inset-bottom) + 28px);box-shadow:0 -15px 70px #0004}.sheet-handle{position:absolute;left:calc(50% - 17px);top:9px;width:34px;height:4px;border-radius:4px;background:#3f5145}.sheet h2{font-size:22px;font-weight:450;margin:10px 30px 10px 0}.sheet>p{font-size:12px;line-height:1.9;color:#91a795;margin:13px 0 23px}.sheet .mode-switch{margin:23px auto}.sheet .hint{font-size:10px}.close{position:absolute;right:18px;top:21px;padding:8px;color:#91a997}.presets{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.presets button{border:1px solid #354a3a;color:#8cae96;border-radius:9px;padding:11px 13px;font-size:12px;flex:1;white-space:nowrap}.presets button.chosen{border-color:#9dccad;background:#263e2e;color:var(--mint)}.wide{width:100%;margin-top:16px}.secondary{border:1px solid #3b5442;border-radius:12px;color:#bdd3c1;padding:14px;min-height:48px;font-size:12px}.subtle{color:#8ca996;min-height:32px}.bpm{display:flex;align-items:center;justify-content:center;gap:35px;margin:35px 0}.bpm button{border:1px solid #344e3b;border-radius:50%;width:45px;height:45px;font-size:23px}.bpm strong{font-size:65px;font-weight:250;line-height:1;text-align:center;font-variant-numeric:tabular-nums}.bpm small{display:block;letter-spacing:3px;font-size:10px;margin-top:14px}.big-beats{display:flex;gap:17px;justify-content:center;margin:27px}.big-beats i{width:18px;height:18px;background:#2c4433;border-radius:50%}.big-beats .lit{background:var(--mint);box-shadow:0 0 20px #b3f4c466}.breath-container{height:235px;position:relative;display:grid;place-items:center}.breath-ring{width:210px;height:210px;border:1px solid #789d80;border-radius:50%;position:absolute;box-shadow:0 0 50px #84b99510,inset 0 0 40px #88bd9510;transition:transform .2s linear}.breath-ring:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid #34553e;border-radius:50%}.breath-content{display:flex;flex-direction:column;align-items:center;gap:8px;z-index:1}.breath-content>span{font-size:11px;color:#afc7b5;letter-spacing:3px}.breath-content strong{font-size:75px;font-weight:250;line-height:1.1}.breath-content small{font-size:10px}.duration-edit{display:flex;gap:10px;margin:13px 0}.duration-edit .field{display:block;flex:1;min-width:0;border:0}.duration-edit input{display:block;width:100%;margin-top:9px;text-align:left}.stack{display:flex;gap:10px;flex-direction:column;margin:15px 0}.two-cols{display:flex;gap:10px}.two-cols>*{flex:1}.about-logo{font-size:40px;text-align:center;letter-spacing:-2px;margin-top:30px;font-weight:600}.sheet .about-logo+p{text-align:center;font-size:11px;letter-spacing:3px;color:#8daf98}.about-copy{text-align:center;font-size:12px;line-height:2.2;color:#8ba894;margin:30px 0}.version{display:block;margin:25px auto;padding:12px;color:#6c8b74;font-size:12px}.log{padding:17px 0;border-bottom:1px solid #2b3e2f;font-size:12px;line-height:1.7}.log strong{font-weight:450}.log small{display:block;font-size:10px;margin-top:6px}.update{background:#223a2a;color:#c6e4ce;border-radius:10px;padding:12px;font-size:11px;margin-bottom:18px}.update button{color:var(--mint);text-decoration:underline}.loading{min-height:100dvh;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:20px;padding:30px;font-size:13px;color:var(--muted)}@keyframes pulse{50%{opacity:.35}}@media(min-width:600px){.app{padding-left:42px;padding-right:42px}.timer{padding-top:40px}.digits{font-size:85px}.today-card{margin-top:35px}}@media(max-width:360px){.app{padding-left:18px;padding-right:18px}.header-note{font-size:8px}.digits{letter-spacing:-2px}.today-card{gap:16px;padding:16px}.date-line{font-size:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.clock-face{position:relative;display:grid;place-items:center;height:min(86vw,394px);margin:9px auto 0}.clock-dial{position:absolute;width:min(100%,390px);height:auto;aspect-ratio:1;overflow:visible}.dial-ring{fill:none;stroke:#2a4236;stroke-width:.7}.dial-tick{stroke:#3d5a49;stroke-width:.8}.dial-tick.major{stroke:#719480;stroke-width:1.2}.second-hand{stroke:var(--mint);stroke-width:2;stroke-linecap:round;fill:var(--mint)}.second-hand .hand-tail{stroke-width:1;opacity:.35}.clock-face .digits{position:relative;z-index:1;margin:0;padding:3px 6px;background:linear-gradient(90deg,transparent,#0b1410ed 12%,#0b1410ed 88%,transparent);line-height:1.25;pointer-events:none}.mini-timer{position:sticky;top:calc(env(safe-area-inset-top) + 8px);z-index:12;display:flex;align-items:center;gap:8px;width:100%;min-height:45px;margin:0 0 16px;padding:10px 12px;border:1px solid #314b3b;border-radius:12px;background:#14231cf5;box-shadow:0 4px 20px #0003;text-align:left;font-size:10px;color:#a7c6b3}.mini-timer .status-dot{background:var(--mint)}.mini-timer .status-dot.paused{background:#819489}.mini-timer strong{font-size:16px;font-weight:450;font-variant-numeric:tabular-nums;color:#e4f4ea;white-space:nowrap}.mini-timer>span:last-child{margin-left:auto;display:flex;align-items:center;gap:3px;font-size:9px;white-space:nowrap}@media(max-width:360px){.mini-timer{gap:5px;padding:9px}.mini-timer strong{font-size:14px}}.sheet .mini-timer{position:static;margin-top:23px}.clock-face .digits{display:flex;align-items:baseline;justify-content:center;white-space:nowrap;max-width:100%;font-size:clamp(40px,11.8vw,75px);letter-spacing:-2px}.clock-face .centiseconds{display:inline-block;width:1.65em;font-size:.48em;letter-spacing:-.02em;text-align:left;font-weight:300;color:#c1d4c9}
