.slide-commit{--sc-track:#262626;--sc-ink:#f5f5f5;--sc-ok:#22c55e;--sc-no:#e5484d;--sc-on-ink:#111;--sc-on-ok:#111;--sc-on-no:#fff;--sc-radius:28px;--sc-grip-r:24px;--sc-pad:4px;--sc-font:14px;vertical-align:middle;font-family:inherit;display:inline-block;position:relative}.slide-commit[data-disabled]{opacity:.55;pointer-events:none}.slide-commit__track{border-radius:var(--sc-radius);background:var(--sc-track);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;width:100%;height:100%;position:relative}.slide-commit[data-held] .slide-commit__track{cursor:grabbing}.slide-commit[data-phase=pending] .slide-commit__track,.slide-commit[data-phase=done] .slide-commit__track{cursor:default}.slide-commit__label{pointer-events:none;font-size:var(--sc-font);letter-spacing:-.006em;white-space:nowrap;place-items:center;font-weight:500;line-height:1;display:grid;position:absolute;inset:0}.slide-commit__text{color:color-mix(in srgb, var(--sc-ink) 45%, transparent);grid-area:1/1;transition:opacity .2s,filter .2s}.slide-commit__text--error{color:var(--sc-no);opacity:0;filter:blur(2px)}.slide-commit[data-phase=error] .slide-commit__text--plain{opacity:0;filter:blur(2px)}.slide-commit[data-phase=error] .slide-commit__text--error{opacity:1;filter:none}.slide-commit__capsule{top:var(--sc-pad);left:var(--sc-pad);width:calc(100% - var(--sc-pad) * 2);height:calc(100% - var(--sc-pad) * 2);background:var(--sc-ink);color:var(--sc-on-ink);outline:none;transition:background-color .2s,color .2s;position:absolute}.slide-commit[data-phase=done] .slide-commit__capsule{background:var(--sc-ok);color:var(--sc-on-ok)}.slide-commit[data-phase=error] .slide-commit__capsule{background:var(--sc-no);color:var(--sc-on-no)}.slide-commit__capsule:focus-visible{box-shadow:inset 0 0 0 2px var(--sc-track)}.slide-commit__content{position:absolute;inset:0}.slide-commit__arrow,.slide-commit__spin,.slide-commit__done{pointer-events:none;font-size:var(--sc-font);letter-spacing:-.006em;white-space:nowrap;justify-content:center;align-items:center;gap:8px;font-weight:600;line-height:1;display:flex;position:absolute;inset:0}.slide-commit__arrow svg,.slide-commit__done svg,.slide-commit__spinner{display:block}.slide-commit__arrow,.slide-commit__spin{transition:filter .2s}.slide-commit[data-phase=pending] .slide-commit__arrow,.slide-commit:not([data-phase=pending]) .slide-commit__spin{filter:blur(2px)}.slide-commit__spinner{animation:1s linear infinite paused slide-commit-spin}.slide-commit[data-phase=pending] .slide-commit__spinner{animation-play-state:running}@keyframes slide-commit-spin{to{transform:rotate(360deg)}}.slide-commit__sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.slide-commit__spinner{animation:1.4s ease-in-out infinite paused slide-commit-breathe}.slide-commit[data-phase=pending] .slide-commit__spinner{animation-play-state:running}@keyframes slide-commit-breathe{0%,to{opacity:1}50%{opacity:.4}}}.animated-gradient-text{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;border-radius:1.25rem;flex-direction:row;justify-content:center;align-items:center;max-width:fit-content;margin:0 auto;font-weight:500;transition:box-shadow .5s ease-out;display:flex;position:relative;overflow:hidden}.gradient-overlay{border-radius:inherit;z-index:0;pointer-events:none;background-size:300% 100%;animation:linear infinite gradient;position:absolute;inset:0}.gradient-overlay:before{content:"";border-radius:inherit;z-index:-1;background-color:#120f17;width:calc(100% - 2px);height:calc(100% - 2px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes gradient{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.text-content{z-index:2;color:#0000;background-size:300% 100%;-webkit-background-clip:text;background-clip:text;animation:linear infinite gradient;display:inline-block;position:relative}@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{--bg:#eef0f5;--text:#11131a;--muted:#5d6270;--faint:#8c91a0;--glass:#ffffff85;--glass-strong:#ffffffb8;--glass-edge:#ffffffd9;--glass-edge-low:#ffffff40;--glass-line:#11131a12;--glass-shadow:0 1px 1px #11131a0a, 0 12px 40px -12px #11131a2e;--fill:#11131a0d;--fill-2:#11131a17;--in:#12a364;--in-2:#0fbf8f;--break:#e59a0c;--break-2:#f6c34a;--out:#7b8190;--stop:#e2483d;--stop-2:#ff7a59;--accent:#3b6cf6;--accent-2:#7a5cff;--danger:#d63b3b;--r-panel:26px;--r-inner:16px;--r-pill:999px;--spring:cubic-bezier(.32, 1.28, .54, 1);--ease:cubic-bezier(.22, 1, .36, 1);--tabbar-h:68px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#07080c;--text:#f1f3f8;--muted:#a3a9b8;--faint:#6e7485;--glass:#1e212c7a;--glass-strong:#262a38b8;--glass-edge:#fff3;--glass-edge-low:#ffffff0a;--glass-line:#ffffff14;--glass-shadow:0 1px 1px #0000004d, 0 18px 50px -14px #000000b3;--fill:#ffffff0f;--fill-2:#ffffff1c;--in:#34d68f;--in-2:#2ee6b6;--break:#f7b73b;--break-2:#ffd36b;--stop:#ff5a4e;--stop-2:#ff8a66;--accent:#6f93ff;--accent-2:#a58bff;--danger:#ff6b6b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}html{background:var(--bg)}body{color:var(--text);font-feature-settings:"cv11", "ss01", "tnum" 0;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;font:16px/1.5 Inter Variable,Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent)}h1{letter-spacing:-.03em;margin:.2em 0;font-size:1.7rem}h2{letter-spacing:-.015em;color:var(--text);margin:0;font-size:1.02rem;font-weight:700}h2.cap{text-transform:none;letter-spacing:-.01em;color:var(--text);font-size:1rem}code{background:var(--fill);word-break:break-all;border-radius:6px;padding:.1em .4em;font-family:ui-monospace,Cascadia Code,Menlo,monospace;font-size:.85em}::selection{background:color-mix(in srgb, var(--accent) 30%, transparent)}.fx-bg{z-index:-1;pointer-events:none;background:var(--bg);position:fixed;inset:0;overflow:hidden}.fx-threads{opacity:.7;inset:0;position:absolute!important}.panel{border-radius:var(--r-panel);display:block;overflow:hidden}.panel>.panel-body{border-radius:inherit;gap:12px;padding:16px;display:grid}.panel,.ltabbar-frost,.punch-slider{background:color-mix(in srgb, var(--bg) 72%, transparent);-webkit-backdrop-filter:blur(18px)saturate(160%);backdrop-filter:blur(18px)saturate(160%);border:1px solid var(--glass-line);box-shadow:inset 0 1px 0 0 var(--glass-edge), inset 0 -1px 0 0 var(--glass-edge-low), var(--glass-shadow)}.glass{background:linear-gradient(160deg, var(--glass-strong), var(--glass) 55%);-webkit-backdrop-filter:blur(28px)saturate(185%);backdrop-filter:blur(28px)saturate(185%);border:1px solid var(--glass-line);box-shadow:inset 0 1px 0 0 var(--glass-edge), inset 0 -1px 0 0 var(--glass-edge-low), var(--glass-shadow)}.splash,.login{text-align:center;place-items:center;min-height:100dvh;padding:24px;display:grid}.splash img{width:72px;animation:1.6s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.6;transform:scale(.92)}}.login-card{max-width:380px;animation:pop-in .6s var(--spring)}.login-card>.panel-body{justify-items:center;gap:10px;padding:32px 24px}.login-logo{border-radius:22px;width:84px}.shell{max-width:720px;min-height:100dvh;padding-bottom:calc(var(--tabbar-h) + 28px + env(safe-area-inset-bottom));margin:0 auto}.topbar-wrap{top:calc(env(safe-area-inset-top) + 8px);z-index:20;margin:calc(env(safe-area-inset-top) + 8px) 12px 0;position:sticky}.brand-text{font-size:1.05rem;font-weight:800;margin:0!important}.topbar>.panel-body{justify-content:space-between;align-items:center;gap:12px;padding:8px 14px 8px 10px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-weight:750;display:flex}.brand img{border-radius:9px;width:28px;height:28px}.topbar-user{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:50%;padding-right:6px;font-size:.85rem;font-weight:600;overflow:hidden}.content{padding:16px 12px}.page{animation:page-in .45s var(--ease) both}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}}.stack{gap:14px;display:grid}.stack>*{animation:rise-in .5s var(--ease) both}.stack>:nth-child(2){animation-delay:40ms}.stack>:nth-child(3){animation-delay:80ms}.stack>:nth-child(4){animation-delay:.12s}.stack>:nth-child(n+5){animation-delay:.16s}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.92)}}.loading,.center{text-align:center;color:var(--muted);padding:32px 0}.ltabbar{z-index:30;left:0;right:0;bottom:calc(14px + env(safe-area-inset-bottom));border-radius:var(--r-pill);touch-action:none;-webkit-user-select:none;user-select:none;max-width:calc(100% - 24px);margin:0 auto;position:fixed}.ltabbar-frost{z-index:0;pointer-events:none;border-radius:var(--r-pill);background:color-mix(in srgb, var(--bg) 84%, transparent);position:absolute;inset:0}.ltabbar-row{z-index:1;box-sizing:border-box;cursor:grab;display:flex;position:relative}.ltabbar-row:active{cursor:grabbing}.ltab{appearance:none;font:inherit;cursor:inherit;border-radius:var(--r-pill);color:var(--muted);transition:color .3s, transform .45s var(--spring);background:0 0;border:0;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:3px;padding:0;font-size:.68rem;font-weight:650;line-height:1;display:flex}.ltab svg{transition:color .3s, transform .45s var(--spring);display:block}.ltab.active{color:var(--text)}.ltab.active svg{color:var(--accent)}.ltab.hot{color:var(--text)}.ltab.hot svg{color:var(--accent);transform:scale(1.15)}.ltab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ltab-lens{z-index:0;pointer-events:none;will-change:transform;position:absolute;left:0}.ltab-pill{border-radius:var(--r-pill);background:var(--fill-2);border:1px solid var(--glass-line);width:100%;height:100%;box-shadow:inset 0 1px 0 var(--glass-edge-low), 0 4px 14px -6px #00000059}.card{min-width:0}.card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.cap:first-letter{text-transform:uppercase}.skeleton{border-radius:var(--r-panel);min-height:280px;position:relative;overflow:hidden}.skeleton.short{min-height:110px}.skeleton:after{content:"";background:linear-gradient(100deg, transparent 30%, var(--glass-edge-low) 50%, transparent 70%);animation:1.4s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.hero{position:relative}.hero>.panel-body{text-align:center;justify-items:stretch;gap:4px;padding:24px 20px 20px}.hero:before{content:"";background:radial-gradient(closest-side, color-mix(in srgb, var(--state) 28%, transparent), transparent);height:120%;transition:background .8s var(--ease);pointer-events:none;z-index:-1;position:absolute;inset:-40% -20% auto}.hero.is-in{--state:var(--in)}.hero.is-break{--state:var(--break)}.hero.is-out{--state:var(--out)}.hero-state{border-radius:var(--r-pill);background:var(--fill);color:color-mix(in srgb, var(--state) 80%, var(--text));justify-self:center;align-items:center;gap:8px;padding:5px 12px 5px 10px;font-size:.85rem;font-weight:650;transition:color .4s;display:inline-flex}.dot{background:var(--state);border-radius:50%;width:9px;height:9px;transition:background .4s}.is-in .dot,.is-break .dot{animation:ping 2s var(--ease) infinite}@keyframes ping{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--state) 55%, transparent)}to{box-shadow:0 0 0 10px #0000}}.swap{animation:swap-in .4s var(--spring);display:inline-block}@keyframes swap-in{0%{opacity:0;filter:blur(3px);transform:translateY(6px)}}.hero-timer{font-variant-numeric:tabular-nums;letter-spacing:-.045em;justify-content:center;margin-top:10px;font-size:clamp(3rem,15vw,4.6rem);font-weight:750;line-height:1.05;display:flex}.hero-sub{color:var(--muted);font-size:.95rem}.roll{font-variant-numeric:tabular-nums;align-items:center;padding-inline:.05em;line-height:1;display:inline-flex;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 22% 78%,#0000);mask-image:linear-gradient(#0000,#000 22% 78%,#0000)}.roll-wheel{width:.62em;display:inline-block;position:relative}.roll-face{color:var(--text);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.roll-sep{text-align:center;opacity:.55;width:.3em;transform:translateY(-.04em)}.greeting{letter-spacing:-.04em;margin:6px 4px -2px;font-size:clamp(1.7rem,7.5vw,2.3rem);font-weight:800;line-height:1.1}.greeting p{margin:0}.greeting-skeleton{height:40px}.hero-actions{gap:10px;margin-top:18px;display:grid}.hero-secondary{transition:opacity .3s, transform .4s var(--spring);display:grid}.hero-secondary.hidden{opacity:0;pointer-events:none;height:0;transform:translateY(-6px)}.nfc-wait{color:var(--accent);margin-top:10px;font-weight:600}.punch-slider{border-radius:var(--r-pill);background:color-mix(in srgb, var(--bg) 55%, transparent);width:100%;position:relative}.punch-slider.small{justify-self:center;width:82%}.punch-slide .slide-commit__label{padding:0 18px 0 calc(var(--sc-grip-r) * 2 + 18px)}.punch-slide .slide-commit__text{text-overflow:ellipsis;max-width:100%;overflow:hidden}.punch-slide .slide-commit__text--error{color:#ef4444;white-space:normal;text-align:center;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.85em;font-weight:700;line-height:1.15;display:-webkit-box}.punch-slide{z-index:1;inset:0;position:absolute!important}.punch-slide .slide-commit__track{background:0 0!important}.punch-slide .slide-commit__text--plain{color:var(--muted);font-weight:650}.punch-slide .slide-commit__capsule{box-shadow:inset 0 1px 0 #ffffff73, inset 0 -6px 14px #00000024, 0 8px 22px -8px var(--tone);background-image:linear-gradient(#ffffff38,#0000 55%)!important}.punch-slide .slide-commit__done{color:#fff}.btn{appearance:none;border-radius:var(--r-pill);font:inherit;cursor:pointer;color:var(--text);min-height:44px;transition:transform .3s var(--spring), background .2s, color .2s, border-color .2s, opacity .2s;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:650;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.95)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;box-shadow:inset 0 1px 0 #ffffff59, 0 8px 22px -10px var(--accent)}.btn.secondary,.btn.glass-btn{background:var(--fill);border-color:var(--glass-line);box-shadow:inset 0 1px 0 var(--glass-edge-low)}.btn.glass-btn{min-height:52px;font-size:1.02rem}.btn.secondary:hover,.btn.glass-btn:hover{background:var(--fill-2)}.btn.ghost{border-color:var(--glass-line);background:0 0}.btn.danger{background:var(--danger);color:#fff}.btn.danger-ghost{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, transparent);background:0 0}.btn.big{padding:14px 24px;font-size:1.05rem}.btn.huge{min-height:64px;font-size:1.25rem}.btn.small{min-height:34px;padding:6px 12px;font-size:.85rem}.btn.confirm{transition:all .3s var(--spring)}.btn.confirm.armed{background:var(--danger);color:#fff;animation:nudge .35s var(--spring);border-color:#0000}@keyframes nudge{30%{transform:scale(1.06)}}.link{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.icon-btn{appearance:none;cursor:pointer;font:inherit;color:var(--text);background:var(--fill);width:44px;height:44px;transition:transform .3s var(--spring), background .2s;border:0;border-radius:50%;flex:none;place-items:center;padding:0;line-height:0;display:grid}.icon-btn:hover{background:var(--fill-2)}.icon-btn:active{transform:scale(.88)}.icon-btn.small{width:32px;height:32px;color:var(--muted);font-size:.85rem}.chip-btn{appearance:none;border:1px dashed var(--faint);color:var(--muted);font:inherit;border-radius:var(--r-pill);cursor:pointer;transition:all .25s var(--spring);background:0 0;justify-self:start;padding:6px 14px;font-size:.88rem;font-weight:650}.chip-btn:hover{color:var(--text);border-color:var(--text)}.chip-btn:active{transform:scale(.94)}.segmented{grid-template-columns:repeat(var(--n), 1fr);background:var(--fill);border-radius:var(--r-pill);isolation:isolate;padding:4px;display:grid;position:relative}.seg-indicator{z-index:-1;width:calc((100% - 8px) / var(--n));border-radius:var(--r-pill);background:var(--glass-strong);box-shadow:inset 0 1px 0 var(--glass-edge), 0 2px 10px -2px #0000002e;transform:translateX(calc(var(--i) * 100%));transition:transform .5s var(--spring);position:absolute;top:4px;bottom:4px;left:4px}.subtabs{background:var(--fill);border-radius:var(--r-pill);flex-wrap:wrap;gap:4px;padding:4px;display:flex}.seg{border-radius:var(--r-pill);font:inherit;color:var(--muted);cursor:pointer;text-align:center;background:0 0;border:0;flex:1;padding:8px 10px;font-size:.9rem;font-weight:650;text-decoration:none;transition:color .25s}.seg.active{color:var(--text)}.subtabs .seg.active{background:var(--glass-strong);box-shadow:inset 0 1px 0 var(--glass-edge), 0 2px 10px -2px #0000002e}.seg:disabled{opacity:.35;cursor:not-allowed}.shift-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.shift-list>li+li{border-top:1px solid var(--glass-line)}.shift{gap:8px;min-width:0;padding:10px 2px;display:grid}.shift-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.shift-worked{align-items:baseline;gap:8px;display:flex}.shift-worked-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.45rem;font-weight:750}.shift-worked-label{color:var(--muted);font-size:.82rem;font-weight:600}.shift.live .shift-worked-label{color:var(--in)}.shift.on-break .shift-worked-label{color:var(--break)}.shift-meta{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;justify-items:end;font-size:.85rem;line-height:1.3;display:grid}.shift-meta .cap{color:var(--text);font-weight:600}.timeline{border-radius:var(--r-pill);background:linear-gradient(90deg, var(--in), var(--in-2));height:10px;position:relative;overflow:hidden;box-shadow:inset 0 1px 1px #0000001f}.shift.live .timeline:after{content:"";background:linear-gradient(100deg,#0000 30%,#fff6 50%,#0000 70%);animation:2.2s infinite shimmer;position:absolute;inset:0}.timeline-break{background:repeating-linear-gradient(135deg, var(--break) 0 4px, var(--break-2) 4px 8px);box-shadow:0 0 0 1.5px var(--bg);transition:width .6s var(--ease), left .6s var(--ease);position:absolute;top:0;bottom:0}.timeline-break.open{animation:1.6s ease-in-out infinite glow}@keyframes glow{50%{filter:brightness(1.2)}}.shift-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.break-chips{flex-wrap:wrap;gap:6px;font-size:.85rem;display:flex}.break-chip{border-radius:var(--r-pill);background:color-mix(in srgb, var(--break) 14%, transparent);color:color-mix(in srgb, var(--break) 65%, var(--text));font-variant-numeric:tabular-nums;align-items:center;gap:6px;padding:3px 10px 3px 8px;font-weight:650;display:inline-flex}.break-chip.open{box-shadow:0 0 0 1px color-mix(in srgb, var(--break) 50%, transparent)}.break-len{opacity:.7;font-weight:600}.break-dot{background:var(--break);border-radius:50%;flex:none;width:7px;height:7px}.shift-total{color:var(--faint);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.8rem}.week>.panel-body{align-items:center;gap:8px;padding:10px;display:flex}.week-title{text-align:center;animation:swap-in .45s var(--spring);flex:1;line-height:1.2;display:grid}.week-worked{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.5rem}.day-total{font-variant-numeric:tabular-nums;font-weight:750}.shift-item{border-radius:var(--r-inner);transition:background .3s}.shift-item.editing{background:var(--fill)}.shift-list>li.shift-item+li.shift-item{border-top-color:var(--glass-line)}.shift-btn{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:var(--r-inner);transition:transform .3s var(--spring);background:0 0;border:0;align-items:center;gap:8px;margin:0;padding:0 8px;display:flex}.shift-btn:active{transform:scale(.985)}.shift-btn .shift{flex:1}.chev{color:var(--faint);transition:transform .4s var(--spring);place-items:center;display:grid}.editing .chev{transform:rotate(90deg)}.add-card>.panel-body{padding:6px;display:block}.add-toggle{width:100%;font:inherit;color:var(--text);cursor:pointer;border-radius:var(--r-inner);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:10px 12px;font-weight:650;display:flex}.add-plus{background:var(--fill-2);width:30px;height:30px;transition:transform .45s var(--spring);border-radius:50%;flex:none;place-items:center;display:grid}.add-card.expanded .add-plus{transform:rotate(45deg)}.add-card .editor{padding:4px 10px 10px}.collapse{opacity:0;transition:grid-template-rows .42s var(--ease), opacity .3s;grid-template-rows:0fr;display:grid}.collapse.open{opacity:1;grid-template-rows:1fr}.collapse-inner{min-height:0;overflow:hidden}.collapse{scroll-margin:90px 0 calc(var(--tabbar-h) + 40px)}.editor{gap:14px;padding:6px 10px 14px;display:grid}.editor-grid{grid-template-columns:1.3fr 1fr 1fr;gap:8px;display:grid}.editor-label{font-size:.9rem;font-weight:600}.editor-breaks{gap:8px;display:grid}.break-edit{animation:rise-in .35s var(--spring);grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:8px;display:grid}.editor-actions{align-items:center;gap:8px;display:flex}.editor-actions .btn{padding-inline:16px}.editor-actions .btn.primary{min-width:96px}.spacer{flex:1}@media (width<=420px){.editor-grid{grid-template-columns:1fr 1fr}.editor-grid label:first-child{grid-column:span 2}}.hint{color:var(--muted);margin:0;font-size:.9rem}.muted{color:var(--muted)}.small{font-size:.83rem}.big-text{font-size:1.15rem}.error-box{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger);border-radius:var(--r-inner);margin:0;padding:10px 14px}.error-text{color:var(--danger)}.list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.row{border-bottom:1px solid var(--glass-line);justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:10px 4px;display:flex}.list>li:last-child>.row,.list>li.row:last-child{border-bottom:0}.row.wrap{flex-wrap:wrap}.row.disabled{opacity:.5}.row.clickable{border:0;border-bottom:1px solid var(--glass-line);width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:var(--r-inner);background:0 0;padding:10px 8px}.row.clickable:hover{background:var(--fill)}.row.selected{background:var(--fill-2)}.grow{flex:1;min-width:0}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.url{cursor:copy;margin-top:4px;display:block}.pill{border-radius:var(--r-pill);background:var(--fill);white-space:nowrap;font-variant-numeric:tabular-nums;padding:3px 10px;font-size:.8rem;font-weight:650}.pill.accent{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent)}.pill.ok{background:color-mix(in srgb, var(--in) 16%, transparent);color:var(--in)}.pill.err{background:color-mix(in srgb, var(--danger) 16%, transparent);color:var(--danger)}.toolbar{align-items:center;gap:8px;display:flex}.toolbar-title{text-align:center;flex:1;display:grid}input,select,textarea{font:inherit;color:var(--text);background:var(--fill);border:1px solid var(--glass-line);border-radius:var(--r-inner);width:100%;min-width:0;min-height:44px;padding:10px 12px;transition:border-color .2s,box-shadow .2s,background .2s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 20%, transparent);background:var(--glass-strong);outline:none}input[type=time],input[type=date]{font-variant-numeric:tabular-nums}label{gap:4px;font-size:.9rem;font-weight:600;display:grid}label.check{align-items:center;gap:10px;font-weight:500;display:flex}label.check input{width:20px;min-height:20px;accent-color:var(--accent)}fieldset{border:1px solid var(--glass-line);border-radius:var(--r-inner);gap:8px;margin:0;padding:10px 12px;display:grid}legend{padding:0 4px;font-size:.9rem;font-weight:600}.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;display:grid}.inline-form,.with-action{gap:8px;display:flex}.secret{background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:var(--r-inner);padding:10px 12px}.secret p{margin:0 0 6px}.secret code{background:var(--glass-strong);cursor:copy;padding:8px;display:block}.steps{gap:8px;margin:0;padding-left:20px;display:grid}.steps ul{gap:4px;margin:6px 0 0;padding-left:18px;display:grid}.code{background:var(--fill);border-radius:var(--r-inner);cursor:copy;white-space:pre-wrap;word-break:break-all;margin:0;padding:12px;font-size:.82rem;overflow-x:auto}.toast{z-index:60;left:50%;top:calc(env(safe-area-inset-top) + 64px);border-radius:var(--r-pill);cursor:pointer;width:max-content;max-width:min(520px,100% - 24px);animation:toast-in .55s var(--spring) both;align-items:center;gap:10px;padding:10px 16px 10px 10px;font-size:.95rem;font-weight:650;display:flex;position:fixed;transform:translate(-50%)}.toast.leaving{animation:toast-out .26s var(--ease) both}.toast-icon{color:#fff;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:.85rem;font-weight:800;display:grid}.toast.ok .toast-icon{background:var(--in)}.toast.err .toast-icon{background:var(--danger)}.toast.err{color:var(--danger)}@keyframes toast-in{0%{opacity:0;filter:blur(4px);transform:translate(-50%,-18px)scale(.9)}}@keyframes toast-out{to{opacity:0;transform:translate(-50%,-12px)scale(.95)}}.center-page{text-align:center;justify-items:center;padding-top:32px}.nfc-badge{background:var(--fill);width:104px;height:104px;color:var(--muted);box-shadow:inset 0 1px 0 var(--glass-edge);animation:pop-in .5s var(--spring);border-radius:50%;place-items:center;font-size:2rem;font-weight:800;display:grid}.nfc-badge.ok{background:color-mix(in srgb, var(--in) 18%, transparent);color:var(--in)}.nfc-badge.err{background:color-mix(in srgb, var(--danger) 18%, transparent);color:var(--danger)}@media (width<=420px){.inline-form{flex-direction:column}.tabbar-item{min-width:54px;padding-inline:6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.btn svg,.icon-btn svg,.add-plus svg{flex:none;display:block}.plan-head{gap:2px;display:grid}.plan-big{letter-spacing:-.035em;font-variant-numeric:tabular-nums;font-size:1.7rem;font-weight:800;line-height:1.15}.plan-sub{color:var(--muted);font-size:.95rem}.plan-sub strong{color:var(--text);font-variant-numeric:tabular-nums}.plan-bar{border-radius:var(--r-pill);background:var(--fill-2);height:8px;overflow:hidden}.plan-bar>span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-2));height:100%;transition:width .8s var(--ease);display:block}.plan-bar.done>span{background:linear-gradient(90deg, var(--in), var(--in-2))}.plan-calc{flex-wrap:wrap;gap:6px;display:flex}.plan-chip{border-radius:var(--r-pill);background:var(--fill);font-variant-numeric:tabular-nums;align-items:center;padding:4px 10px;font-size:.82rem;font-weight:650;display:inline-flex}.plan-chip.off{background:color-mix(in srgb, var(--break) 16%, transparent);color:color-mix(in srgb, var(--break) 70%, var(--text))}.plan-chip.total{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent)}.plan-chip.muted-chip{color:var(--muted)}.plan-section{gap:6px;display:grid}.plan-section+.plan-section{border-top:1px solid var(--glass-line);padding-top:12px}.plan-section-head{justify-content:space-between;align-items:baseline;gap:8px;font-size:.95rem;font-weight:700;display:flex}.plan-week-total{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:650}.plan-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.plan-item{grid-template-columns:64px 1fr auto;align-items:center;gap:10px;padding:8px 0;display:grid}.plan-item+.plan-item{border-top:1px solid var(--glass-line)}.plan-day{font-variant-numeric:tabular-nums;font-weight:700}.plan-what{color:var(--muted);gap:2px;min-width:0;font-size:.9rem;display:grid}.plan-what strong{color:color-mix(in srgb, var(--break) 70%, var(--text));font-weight:700}.plan-off{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.plan-off.pending strong{color:var(--muted)}.plan-need{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:650}.quota{gap:12px;display:grid}.quota-days{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.quota-day{appearance:none;border:1px solid var(--glass-line);background:var(--fill);color:var(--muted);font:inherit;aspect-ratio:1;cursor:pointer;transition:background .2s, color .2s, transform .3s var(--spring);border-radius:50%;place-items:center;font-weight:700;display:grid}.quota-day:active{transform:scale(.9)}.quota-day.on{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;border-color:#0000}.auto-break{align-items:flex-start;font-weight:600}.auto-break input{appearance:none;border-radius:var(--r-pill);background:var(--fill-2);border:1px solid var(--glass-line);cursor:pointer;flex:none;width:44px;height:26px;min-height:0;margin:0;padding:0;transition:background .25s;position:relative}.auto-break input:after{content:"";width:20px;height:20px;transition:transform .35s var(--spring);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000004d}.auto-break input:checked{background:var(--in)}.auto-break input:checked:after{transform:translate(18px)}.auto-break .hint{font-weight:400;display:block}.timeoff-new{border-radius:var(--r-inner);background:var(--fill);transition:background .3s}.timeoff-new .editor{padding:4px 12px 12px}.timeoff-new.expanded .add-plus{transform:rotate(45deg)}.editor-grid.two{grid-template-columns:1fr 1fr}.timeoff-item{grid-template-columns:1fr auto;align-items:center;gap:12px;padding:10px 0;display:grid}.timeoff-side{justify-items:end;gap:6px;display:grid}.timeoff-item+.timeoff-item{border-top:1px solid var(--glass-line)}@media (width<=420px){.editor-grid.two label:first-child{grid-column:auto}}.tw-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tw-pair .editor-label{margin-bottom:4px;display:block}.tw{border-radius:var(--r-inner);background:var(--fill);border:1px solid var(--glass-line);font-variant-numeric:tabular-nums;perspective:700px;-webkit-user-select:none;user-select:none;grid-template-columns:1fr auto 1fr;align-items:center;font-size:1.3rem;font-weight:650;display:grid;position:relative}.tw-band{background:var(--fill-2);pointer-events:none;border-radius:10px;height:36px;position:absolute;top:50%;left:6px;right:6px;transform:translateY(-50%)}.tw-sep{color:var(--muted);padding-bottom:2px;font-weight:700;position:relative}.tw-wheel{scroll-snap-type:y mandatory;overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-y;outline:none;position:relative;overflow-y:scroll;-webkit-mask-image:linear-gradient(#0000,#000 30% 70%,#0000);mask-image:linear-gradient(#0000,#000 30% 70%,#0000)}.tw-wheel::-webkit-scrollbar{display:none}.tw-wheel:focus-visible{box-shadow:inset 0 0 0 2px var(--accent);border-radius:var(--r-inner)}.tw-item{scroll-snap-align:center;cursor:pointer;transform-origin:50%;backface-visibility:hidden;place-items:center;display:grid}.tw-summary{text-align:center;font-variant-numeric:tabular-nums}.nav-row{gap:12px}.nav-icon{background:var(--fill-2);width:36px;height:36px;color:var(--accent);border-radius:12px;flex:none;place-items:center;display:grid}.nav-sub{margin-top:1px;font-weight:400;display:block}.nav-row>svg{color:var(--faint);flex:none}.back-link{color:var(--muted);border-radius:var(--r-pill);justify-self:start;align-items:center;gap:2px;padding:4px 10px 4px 4px;font-weight:650;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--text);background:var(--fill)}.home-grid .col{display:contents}.home-grid .greeting{order:1}.home-grid .hero{order:2}.home-grid .o-today{order:3}.home-grid .o-upcoming{order:4}.home-grid .o-method{order:5}.home-grid .o-recent{order:6}.home-grid .col>*{animation:rise-in .5s var(--ease) both}.shell.wide{max-width:1320px;padding:calc(env(safe-area-inset-top) + 20px) 24px 24px;grid-template-columns:250px minmax(0,1fr);gap:22px;display:grid}.shell.wide .content{min-width:0;padding:0}.sidenav{flex-direction:column;align-self:start;gap:24px;height:calc(100dvh - 44px);padding:20px 12px 18px;display:flex;position:sticky;top:20px}.sidenav .brand{padding:0 8px}.sidenav-list{gap:4px;display:grid}.sidenav-item{z-index:0;border-radius:var(--r-inner);color:var(--muted);align-items:center;gap:12px;padding:11px 14px;font-weight:650;text-decoration:none;transition:color .2s,background .2s;display:flex;position:relative}.sidenav-item:hover{color:var(--text);background:var(--fill)}.sidenav-item.active{color:var(--text)}.sidenav-item.active svg{color:var(--accent)}.sidenav-pill{z-index:-1;border-radius:inherit;background:var(--fill-2);box-shadow:inset 0 1px 0 var(--glass-edge-low);position:absolute;inset:0}.sidenav-user{color:var(--muted);margin-top:auto;padding:0 10px;font-size:.85rem;font-weight:600}@media (width>=900px){.shell.wide .home-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:18px}.shell.wide .home-grid .col{align-content:start;gap:18px;display:grid}.shell.wide .home-grid .col-main{position:sticky;top:20px}.shell.wide .hero-timer{font-size:clamp(4rem,6vw,5.6rem)}.shell.wide .greeting{margin-top:4px;font-size:2.6rem}.shell.wide .history{max-width:820px}.shell.wide .history>.week,.shell.wide .history>.add-card,.shell.wide .history>p{grid-column:1/-1}.shell.wide .settings{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.shell.wide .page>.stack:not(.home-grid):not(.history):not(.settings){max-width:820px}.shell.wide .page>.stack.history.stack{margin:0}.shell.wide .toast{top:24px}}@media (width>=1240px){.shell.wide .history{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;max-width:none}}@media (width>=1680px){.shell.wide .history{grid-template-columns:repeat(3,minmax(0,1fr))}}.shift-worked-value{white-space:nowrap}.shell:not(.wide) .content{padding-top:calc(env(safe-area-inset-top) + 14px)}.plan-shift{color:var(--text);font-weight:600}.toff-when{gap:2px;display:grid}.toff-when strong{letter-spacing:-.025em;font-size:1.35rem;font-weight:750;line-height:1.2}.toff-strip{border-radius:var(--r-pill);background:repeating-linear-gradient(135deg, var(--break) 0 6px, var(--break-2) 6px 12px);height:6px}.toff-card.approved .toff-strip{background:linear-gradient(90deg, var(--in), var(--in-2))}.toff-card.declined .toff-strip{background:color-mix(in srgb, var(--danger) 55%, transparent)}.toff-card.declined .toff-when strong{text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--danger) 60%, transparent);text-decoration-color:color-mix(in srgb, var(--danger) 60%, transparent)}.toff-card .confirm{justify-self:start}.toff-reply{color:var(--text)}
