:root{color:#0a0a0a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--surface:#f5f5f3;--card:#fff;--ink:#0a0a0a;--muted:#73736f;--line:#0a0a0a17;background:#f5f5f3;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}html,body{overscroll-behavior:none}button,input{font:inherit}button{color:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #00000038}.pushup-screen{min-height:100dvh;padding:calc(env(safe-area-inset-top) + 18px) max(22px, env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 18px) max(22px, env(safe-area-inset-left));background:var(--surface);-webkit-user-select:none;user-select:none;grid-template-rows:auto 1fr auto auto;display:grid;position:relative;overflow:hidden}.prayer-hotspot{appearance:none;z-index:10;width:76px;height:calc(env(safe-area-inset-top) + 16px);background:0 0;border:0;padding:0;position:fixed;top:0;left:50%;transform:translate(-50%)}.prayer-hotspot span{width:18px;height:2px;margin:calc(env(safe-area-inset-top) + 5px) auto 0;background:#0000001a;border-radius:2px;display:block}.app-header{justify-content:space-between;align-items:center;min-height:52px;display:flex}.logo{letter-spacing:-.04em;align-items:center;gap:9px;font-size:19px;font-weight:650;display:inline-flex}.logo svg{display:block}.icon-button{width:48px;height:48px;box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;background:#ffffffb3;border:0;border-radius:50%;place-items:center;display:grid}.icon-button:active{transform:scale(.96)}.counter-zone{text-align:center;touch-action:none;place-content:center;min-height:300px;display:grid}.count-wrap{justify-content:center;align-items:baseline;gap:9px;display:flex}.count-number{letter-spacing:-.095em;font-variant-numeric:tabular-nums;margin-left:-.08em;font-size:clamp(8rem,42vw,13rem);font-weight:630;line-height:.82}.target-progress{color:var(--muted);font-size:15px;font-weight:560}.count-label{letter-spacing:.22em;margin:25px 0 0;font-size:13px;font-weight:700}.detector-pill{min-height:27px;color:var(--muted);letter-spacing:.01em;background:#0000000b;border-radius:999px;align-items:center;gap:7px;margin:22px auto 0;padding:6px 10px;font-size:11px;display:inline-flex}.detector-pill span{background:#9b9b96;border-radius:50%;width:6px;height:6px}.detector-pill.near span{background:#111;transform:scale(1.35)}.session-controls{gap:10px;width:min(100%,420px);margin:auto;display:grid}.primary-button{appearance:none;color:#fff;cursor:pointer;background:#090909;border:0;border-radius:18px;width:100%;min-height:58px;padding:0 24px;font-size:17px;font-weight:650;box-shadow:0 8px 24px #0000001f}.primary-button:active{transform:scale(.985)}.secondary-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.quiet-button{min-height:48px;box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;background:#ffffffb8;border:0;border-radius:15px;font-size:14px;font-weight:580}.quiet-button:disabled{opacity:.35}.floor-hint{color:#9a9a95;text-align:center;margin:18px 0 0;font-size:11px}.session-running .count-number{font-size:clamp(9rem,49vw,15rem)}.modal-layer{z-index:100;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#eeeeebf5;position:fixed;inset:0}.calibration-layer{padding:max(22px, env(safe-area-inset-top)) 22px max(22px, env(safe-area-inset-bottom));place-items:center;display:grid}.calibration-card{background:#fff;border-radius:30px;flex-direction:column;width:min(100%,430px);min-height:min(610px,100dvh - 44px);padding:30px 28px 24px;display:flex;box-shadow:0 20px 70px #00000017}.calibration-card .logo{margin-bottom:auto}.calibration-card h1{letter-spacing:-.06em;margin:16px 0 12px;font-size:clamp(2rem,9vw,2.8rem);line-height:1.02}.eyebrow,.step-count{letter-spacing:.16em;color:var(--muted);margin:auto 0 0;font-size:11px;font-weight:700}.body-copy{color:var(--muted);margin:0 0 24px;font-size:16px;line-height:1.45}.privacy-note{color:#62625e;background:#f6f6f3;border-radius:14px;align-items:flex-start;gap:10px;margin:0 0 26px;padding:14px;font-size:12px;line-height:1.45;display:flex}.privacy-dot{background:#39a461;border-radius:50%;flex:none;width:7px;height:7px;margin-top:5px;box-shadow:0 0 0 4px #39a4611a}.text-button{min-height:50px;color:var(--muted);cursor:pointer;background:0 0;border:0}.inline-error{color:#b82c2c;margin:0 0 12px;font-size:13px}.calibration-center{text-align:center;margin:auto 0}.calibration-center h1{font-size:1.7rem}.spinner{border:3px solid #e6e6e3;border-top-color:#111;border-radius:50%;width:32px;height:32px;margin:0 auto;animation:.7s linear infinite spin;display:block}@keyframes spin{to{transform:rotate(360deg)}}.sheet-layer{background:#0000003d;align-items:flex-end;display:flex}.settings-sheet{width:min(100%,560px);max-height:calc(100dvh - max(18px, env(safe-area-inset-top)));padding:18px 18px calc(env(safe-area-inset-bottom) + 24px);background:#f4f4f1;border-radius:28px 28px 0 0;margin:0 auto;overflow-y:auto;box-shadow:0 -20px 60px #0000001f}.sheet-header{justify-content:space-between;align-items:center;height:62px;padding-left:6px;display:flex}.sheet-header h2{letter-spacing:-.04em;margin:0;font-size:26px}.setting-group{background:#fff;border-radius:20px;margin:12px 0;overflow:hidden}.setting-row,.setting-action{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:66px;padding:13px 16px;display:flex}.setting-group>:last-child{border-bottom:0}.setting-row span,.setting-row>div:first-child{gap:3px;display:grid}.setting-row strong{font-size:14px;font-weight:620}.setting-row small{color:var(--muted);font-size:11px}.setting-column{flex-direction:column;align-items:stretch;gap:11px}.setting-row input[type=checkbox]{appearance:none;background:#d8d8d5;border-radius:999px;width:48px;height:29px;transition:background .16s;position:relative}.setting-row input[type=checkbox]:after{content:"";background:#fff;border-radius:50%;width:25px;height:25px;transition:transform .16s;position:absolute;top:2px;left:2px;box-shadow:0 1px 4px #0000002e}.setting-row input[type=checkbox]:checked{background:#111}.setting-row input[type=checkbox]:checked:after{transform:translate(19px)}input[type=range]{accent-color:#111;width:100%}.segmented-control{background:#f0f0ed;border-radius:11px;grid-auto-columns:1fr;grid-auto-flow:column;padding:3px;display:grid}.segmented-control button{min-height:35px;color:var(--muted);background:0 0;border:0;border-radius:9px;padding:0 8px;font-size:12px}.segmented-control button.selected{color:#111;background:#fff;box-shadow:0 1px 4px #0000001a}.setting-action{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;font-size:14px;font-weight:580}.setting-action span{color:#aaa;font-size:22px}.history-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;min-height:48px;padding:0 16px;font-size:12px;display:flex}.history-row span{color:var(--muted)}.history-row strong{font-weight:600}.empty-history{color:var(--muted);margin:0;padding:0 16px 16px;font-size:12px}.danger-button{border:0;border-top:1px solid var(--line);color:#c32c2c;text-align:left;background:0 0;width:100%;min-height:50px;padding:0 16px;font-size:13px}.privacy-footer{color:#858580;text-align:center;margin:20px 12px 0;font-size:10px;line-height:1.5}.prayer-screen{touch-action:none;-webkit-user-select:none;user-select:none;background:#000;position:fixed;inset:0;overflow:hidden}.prayer-counter{z-index:2;color:#fff;letter-spacing:.04em;font-variant-numeric:tabular-nums;touch-action:none;cursor:move;background:0 0;border:0;min-width:68px;min-height:52px;padding:14px;font-weight:420;position:absolute;transform:translate(-50%,-50%)}.prayer-counter.editing{border-radius:8px;outline:1px dashed #ffffff40}.prayer-counter.target-reached{text-underline-offset:6px;-webkit-text-decoration:underline #ffffff47;text-decoration:underline #ffffff47}.counter-editor{z-index:3;left:14px;right:14px;bottom:calc(env(safe-area-inset-bottom) + 14px);color:#ffffffd1;background:#151515;border-radius:18px;padding:12px 18px 16px;position:absolute;box-shadow:0 10px 40px #0006}.editor-grip{background:#555;border-radius:3px;width:30px;height:3px;margin:0 auto 12px}.counter-editor label{grid-template-columns:70px 1fr;align-items:center;min-height:40px;font-size:12px;display:grid}.counter-editor input{accent-color:#fff}.editor-actions{grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:8px;display:grid}.editor-actions button{color:#ddd;background:#202020;border:1px solid #323232;border-radius:11px;min-height:42px;font-size:11px}@media (width>=700px){.pushup-screen{border-radius:32px;max-width:520px;min-height:calc(100dvh - 32px);margin:16px auto;box-shadow:0 24px 80px #00000014}body{background:#e9e9e6}}@media (height<=650px){.pushup-screen{grid-template-rows:auto minmax(250px,1fr) auto auto}.count-number{font-size:clamp(7rem,38vw,10rem)}.floor-hint{margin-top:8px}.calibration-card{min-height:calc(100dvh - 32px);padding-top:22px}}@media (orientation:landscape) and (height<=600px){.pushup-screen{width:100%;max-width:none;min-height:100dvh;padding:max(12px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));box-shadow:none;border-radius:0;grid-template-rows:1fr;grid-template-columns:minmax(82px,.65fr) minmax(180px,1.2fr) minmax(210px,.9fr);column-gap:20px;margin:0}.app-header{flex-direction:column;grid-area:1/1;justify-content:space-between;align-self:stretch}.app-header .logo{flex-direction:column;gap:2px;font-size:14px}.counter-zone{grid-area:1/2;min-height:0}.count-number,.session-running .count-number{font-size:clamp(6rem,19vw,9rem)}.count-label{margin-top:15px}.detector-pill{margin-top:12px}.session-controls{grid-area:1/3;align-self:center}.floor-hint{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}
