@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:#141820;font-synthesis:none;--blue:#1457ef;--muted:#687181;--line:#e8ebf0;--soft:#f6f8fb;--ink:#141820;background:#fff;font-family:Inter,system-ui,sans-serif;font-weight:400}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}button,a,input{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:4px;outline:3px solid #8eb0ff}button{transition:background .16s,color .16s,transform .16s}button:active:not(:disabled){transform:translateY(1px)}button svg{width:18px;height:18px}a,button{color:inherit}button:disabled{transform:none}.app-shell{flex-direction:column;min-height:100svh;display:flex}.app-header{justify-content:space-between;align-items:center;gap:16px;height:96px;padding:0 48px;display:flex}.wordmark{letter-spacing:-.5px;align-items:center;gap:11px;font-size:18px;font-weight:600;display:inline-flex}.brand-dot{border:4px solid var(--blue);border-radius:50%;width:17px;height:17px;display:inline-block}.quiet-button{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 16px;font-size:14px;font-weight:500;display:inline-flex}.quiet-button:hover{background:var(--soft);border-color:#cbd3de}.timer-stage{flex:1;place-items:center;min-height:530px;padding:25px 20px;display:grid}.dial{aspect-ratio:1;place-items:center;width:min(570px,84vw);display:grid;position:relative}.dial-ticks{background:repeating-conic-gradient(from -.15deg,#dce1e9 0deg .3deg,#0000 .3deg 6deg);border-radius:50%;position:absolute;inset:0;-webkit-mask:radial-gradient(#0000 67.9%,#000 68%);mask:radial-gradient(#0000 67.9%,#000 68%)}.dial:before,.dial:after{content:"";z-index:1;background:#9ca6b6;position:absolute}.dial:before{width:2px;height:16px;top:0;left:50%}.dial:after{width:2px;height:16px;bottom:0;left:50%}.timer-content{z-index:2;text-align:center;width:100%}.eyebrow{letter-spacing:2px;color:var(--muted);margin:0 0 24px;font-size:12px;font-weight:600}.elapsed{font-variant-numeric:tabular-nums;letter-spacing:-4px;font-size:clamp(46px,8.2vw,88px);font-weight:300;line-height:1.15}.timer-button{background:var(--blue);color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;margin:34px auto 0;display:flex;box-shadow:0 5px 14px #1457ef16}.timer-button:hover{background:#1049d0;box-shadow:0 7px 18px #1457ef24}.timer-button svg{width:30px;height:30px}.play-icon{border-top:11px solid #0000;border-bottom:11px solid #0000;border-left:17px solid #fff;width:0;height:0;margin-left:5px}.timer-caption{color:var(--muted);margin:17px 0 0;font-size:14px}.app-footer{color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin:0 48px;padding:24px 0 30px;font-size:13px;display:flex}@media (width<=640px){.app-header{height:78px;padding:0 22px}.app-footer{margin:0 22px;font-size:12px}.timer-stage{min-height:420px;padding:25px 10px}.elapsed{letter-spacing:-2px}.eyebrow{margin-bottom:20px;font-size:11px}.timer-button{width:76px;height:76px;margin-top:25px}.timer-caption{font-size:13px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.header-actions,.history-actions,.backup-actions{align-items:center;gap:12px;display:flex}.icon-button{width:42px;height:42px;color:var(--muted);background:0 0;border:0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:var(--soft);color:var(--ink)}.primary-button{background:var(--blue);border:1px solid var(--blue);color:#fff;border-radius:8px;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:12px 18px;font-size:14px;font-weight:550;display:flex}.primary-button:hover{background:#1049d0}.text-button{color:var(--muted);background:0 0;border:0;padding:5px 0;font-size:13px}.text-button:hover{color:var(--blue)}.status-dot{background:var(--blue);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block}.status-dot.offline{background:#9ba3b0}.sync-label{align-items:center;display:inline-flex}.is-running .dial:before{background:var(--blue)}.is-running .eyebrow{color:var(--blue)}.spinner{border:2px solid #fff5;border-top-color:#fff;border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.connection-notice,.app-error{color:#795811;background:#fff7e9;border-radius:8px;margin:0 48px;padding:12px 16px;font-size:14px}.app-error{color:#a22e36;background:#fff2f2}.loading-state,.fatal-error{text-align:center;flex:1;padding:80px 24px}.fatal-error .primary-button{margin:24px auto}.fatal-error h1{font-size:24px;font-weight:500}.fatal-error p{color:var(--muted)}.modal-backdrop{z-index:30;background:#111b2a38;transition:opacity .16s;position:fixed;inset:0}.modal-panel{border:1px solid var(--line);z-index:31;background:#fff;border-radius:16px;width:min(440px,100vw - 32px);max-height:calc(100svh - 48px);padding:36px;transition:opacity .16s,transform .16s;position:fixed;top:50%;left:50%;overflow:auto;translate:-50% -50%;box-shadow:0 24px 100px #14203522}.modal-panel[data-starting-style],.modal-panel[data-ending-style]{opacity:0;transform:translateY(8px)}.modal-backdrop[data-starting-style],.modal-backdrop[data-ending-style]{opacity:0}.modal-close{position:absolute;top:10px;right:10px}.modal-title{letter-spacing:-.9px;margin:12px 0;font-size:26px;font-weight:550;line-height:1.2}.modal-description{color:var(--muted);margin:0 0 28px;font-size:14px;line-height:1.6}.auth-form{flex-direction:column;gap:20px;display:flex}.auth-form label{flex-direction:column;gap:8px;font-size:14px;font-weight:500;display:flex}.auth-form input{width:100%;height:48px;color:var(--ink);background:#fff;border:1px solid #dce1e8;border-radius:8px;padding:0 14px;font-size:16px}.auth-form input::placeholder{color:#89909c}.form-note{color:var(--muted);margin:0;font-size:13px;line-height:1.65}.error-message{color:#a22e36;margin:0;font-size:14px;line-height:1.5}.backup-actions{flex-direction:column;align-items:stretch;margin:22px 0}.backup-actions+input+.form-note{margin-bottom:16px}.session-details{flex-direction:column;gap:22px;display:flex}.detail-row+.detail-row{border-top:1px solid var(--line);padding-top:22px}.detail-time{justify-content:space-between;gap:14px;font-size:14px;display:flex}.detail-time strong{font-variant-numeric:tabular-nums;color:var(--blue);font-weight:550}.detail-row dl{margin:18px 0 0;font-size:13px}.detail-row dl div{justify-content:space-between;gap:12px;margin:10px 0;display:flex}.detail-row dt{color:var(--muted)}.detail-row dd{text-align:right;margin:0}.history-page{flex:1;width:100%;max-width:1400px;margin:auto;padding:32px 48px 24px;animation:.18s ease-out appear}.history-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:40px;display:flex}.history-heading .eyebrow{margin:0 0 10px}.history-heading h1{letter-spacing:-1.5px;margin:0;font-size:36px;font-weight:500}.segmented{border:1px solid var(--line);background:var(--soft);border-radius:10px;gap:3px;padding:4px;display:flex}.segmented button{color:var(--muted);background:0 0;border:0;border-radius:7px;min-width:64px;min-height:36px;padding:8px 14px;font-size:14px}.segmented button[aria-pressed=true]{color:var(--ink);background:#fff;font-weight:550;box-shadow:0 1px 3px #14182016}.calendar-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.date-navigation{align-items:center;gap:8px;display:flex}.date-navigation h2{letter-spacing:-.5px;text-align:center;margin:0;font-size:18px;font-weight:500}.today-button{min-height:34px;margin-left:12px;padding:6px 12px}.period-total{color:var(--muted);white-space:nowrap;font-size:13px}.period-total strong{color:var(--ink);font-variant-numeric:tabular-nums;margin-right:3px;font-weight:550}.calendar-scroll{border:1px solid var(--line);border-radius:10px;overflow-x:auto}.calendar-surface{--fc-monarch-primary:var(--blue);--fc-monarch-primary-over:#1049d0;--fc-monarch-primary-down:#0f43be;--fc-monarch-event:#eaf0ff;--fc-monarch-event-contrast:#1c489d;--fc-monarch-border:var(--line);--fc-monarch-background:#fff;--fc-monarch-foreground:var(--ink);--fc-monarch-muted-foreground:var(--muted);--fc-monarch-highlight:#f5f8ff;--fc-monarch-now:var(--blue);--fc-monarch-faint:#f6f8fb;--fc-monarch-muted:#eef1f6;--fc-monarch-strong:#dbe1eb;--fc-monarch-outline:#8eb0ff;min-width:660px}.day-header{color:var(--muted);flex-direction:column;align-items:center;gap:6px;padding:14px 4px;font-size:12px;font-weight:400;display:flex}.day-header strong{color:var(--ink);letter-spacing:-.5px;border-radius:50%;width:34px;height:34px;font-size:22px;font-weight:450;line-height:34px}.day-header strong.is-today{background:var(--blue);color:#fff}.day-header small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.calendar-session{cursor:pointer;border-left:2px solid var(--blue)!important;border-radius:3px!important}.session-block{flex-direction:column;gap:4px;min-width:0;padding:5px 7px;font-size:12px;line-height:1.3;display:flex;overflow:hidden}.session-time{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.session-block strong{font-weight:400}.session-running{--fc-monarch-event:#dce8ff}.live-label{letter-spacing:.5px;text-transform:uppercase;color:var(--blue);font-size:10px}.calendar-note{color:var(--muted);gap:10px;margin:18px 0 0;font-size:12px;display:flex}.empty-history{text-align:center;color:var(--muted);padding:70px 20px}.empty-history h3{color:var(--ink);margin:18px 0 8px;font-size:18px;font-weight:500}.empty-history p{margin:0;font-size:14px}.empty-dial{border:1px solid #ccd4e0;border-radius:50%;width:36px;height:36px;display:inline-block;position:relative}.empty-dial:after{content:"";transform-origin:bottom;background:#8290a5;width:1px;height:12px;position:absolute;top:7px;left:17px;transform:rotate(25deg)}@keyframes appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (width<=760px){.history-page{padding:20px 22px}.history-heading{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:24px}.history-heading h1{font-size:30px}.history-actions{flex-direction:row-reverse;justify-content:space-between;width:100%}.calendar-toolbar{flex-direction:column;align-items:flex-start;gap:12px}.date-navigation{justify-content:space-between;gap:2px;width:100%}.date-navigation h2{font-size:16px}.today-button{margin-left:4px}.calendar-note{line-height:1.8;display:block}.calendar-note span{margin:0 6px}.connection-notice,.app-error{margin:0 22px}.modal-panel{padding:28px}.segmented button{min-width:58px;padding:8px 10px}.header-actions{gap:4px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}output.timer-caption{display:block}
