:root{--bg:#070707;--sunk:#0b0b0c;--raise-1:#121314;--raise-2:#1a1c1e;--raise-3:#25282b;--line:#1e2123;--line-2:#2f3337;--text:#f2f2f2;--text-2:#a5acb3;--text-3:#5c666f;--signal:#6f86e8;--signal-hi:#8499f0;--signal-ink:#ffffff;--signal-dim:rgba(111,134,232,.14);--signal-glow:rgba(111,134,232,.25);--warn:#ed3435;--warn-dim:rgba(237,52,53,.14);--violet:#9fb0ff;--violet-dim:rgba(159,176,255,.15);--amber:#f3b547;--amber-dim:rgba(243,181,71,.14);--overlay:rgba(0,0,0,.7);--shadow:var(--shadow);color-scheme:dark;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:22px;--sans:ui-sans-serif,-apple-system,"SF Pro Text","Inter","Segoe UI",Roboto,sans-serif;--mono:ui-monospace,"SF Mono","JetBrains Mono","Cascadia Code","Roboto Mono",monospace;--rail-w:76px}:root[data-theme=light]{--bg:#f2f2f2;--sunk:#ebebeb;--raise-1:#ffffff;--raise-2:#f8f8f8;--raise-3:#e5e5e5;--line:#e3e3e3;--line-2:#d6d6d6;--text:#070707;--text-2:#474747;--text-3:#5c666f;--signal:#294099;--signal-hi:#3450b8;--signal-ink:#ffffff;--signal-dim:rgba(41,64,153,.09);--signal-glow:rgba(41,64,153,.2);--warn:#e73428;--warn-dim:rgba(231,52,40,.09);--violet:#4f46c8;--violet-dim:rgba(79,70,200,.1);--amber:#a86a0c;--amber-dim:rgba(214,140,20,.13);--overlay:rgba(7,7,7,.4);--shadow:rgba(7,7,7,.15);color-scheme:light}*{box-sizing:border-box}html{font-size:14px;-webkit-text-size-adjust:100%;overflow-x:hidden}body,html{background:var(--bg)}body{min-height:100dvh;margin:0;overflow-x:clip;color:var(--text);font:400 14px/1.45 var(--sans);font-feature-settings:"tnum" 1,"ss01" 1;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit}dd,dl,h1,h2,h3,p{margin:0}::selection{background:var(--signal);color:var(--signal-ink)}:focus-visible{outline:2px solid var(--signal);outline-offset:3px}@media (max-width:767px){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{font-size:16px!important}}select{width:100%;min-height:2.9rem;padding:.7rem 2.2rem .7rem .9rem;border:1px solid var(--line-2);border-radius:var(--r-sm);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--sunk) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23a6a297' stroke-width='1.8'%3E%3Cpath d='M3 4.5l3 3 3-3'/%3E%3C/svg%3E") no-repeat right .9rem center;color:var(--text)}select:focus{outline:0;border-color:var(--signal);box-shadow:0 0 0 3px var(--signal-glow)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:var(--text-2)}.small{font-size:.82rem;line-height:1.5}.mono{font-family:var(--mono);letter-spacing:-.02em}.t-short,.t-short dd{color:var(--warn)!important}.t-plus,.t-plus dd{color:var(--signal)!important}.empty a,.link,.muted a{color:var(--signal);text-decoration:none;font-weight:600}.danger{color:var(--warn)!important}.brand-mark{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--signal);color:var(--signal-ink);font:800 1.05rem/1 var(--sans);letter-spacing:-.06em}.fm-boot{display:grid;place-items:center;min-height:100dvh}.fm-boot .brand-mark{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{transform:scale(.9);opacity:.6}}.auth-needed{display:grid;place-items:center;min-height:100dvh;padding:2rem;text-align:center}.auth-needed h1{font:700 clamp(1.3rem,5vw,1.87rem)/1.05 var(--sans);letter-spacing:-.04em}.auth-needed p{margin:.75rem 0 1.5rem;color:var(--text-2)}.auth-needed a{display:inline-flex;padding:.8rem 1.3rem;border-radius:999px;background:var(--signal);color:var(--signal-ink);font-weight:700;text-decoration:none}.login{display:grid;min-height:100dvh;grid-template-columns:1fr}.login-art{display:none}.login-panel{display:flex;flex-direction:column;justify-content:center;gap:1rem;width:100%;max-width:420px;margin:0 auto;padding:3rem 1.5rem}.login-panel h1{margin-top:1.5rem;font:800 clamp(1.7rem,7vw,2.3rem)/.92 var(--sans);letter-spacing:-.055em}.login-lede{color:var(--text-2);font-size:1rem}.login-form{display:grid;grid-gap:1rem;gap:1rem;margin-top:1.25rem}.login-form .button,.login-form button[type=submit]{width:100%;margin-top:.25rem}.login-note{color:var(--text-3);font-size:.8rem}.login-legal{display:flex;gap:1rem;font-size:.8rem}.login-legal a{color:var(--text-2);text-decoration:none}.login-legal a:hover{color:var(--text)}@media (min-width:900px){.login{grid-template-columns:1.1fr 1fr}.login-art{display:grid;place-items:center;border-right:1px solid var(--line);background:radial-gradient(circle at 50% 50%,var(--raise-1),var(--bg) 70%)}.login-panel{padding:4rem 3rem}}.login-dial{position:relative;width:min(34vw,420px);aspect-ratio:1;border-radius:50%}.login-dial i{position:absolute;top:0;left:calc(50% - 1px);width:2px;height:50%;transform-origin:50% 100%}.login-dial i:before{content:"";display:block;width:2px;height:10px;background:var(--line-2)}.login-dial i.major:before{height:22px;background:var(--text-3)}.login-hand{top:8%;left:calc(50% - 1.5px);width:3px;height:42%;border-radius:3px;transform-origin:50% 100%;animation:sweep 60s linear infinite;box-shadow:0 0 24px var(--signal-glow)}.login-hand,.login-hand:after{position:absolute;background:var(--signal)}.login-hand:after{content:"";bottom:-8px;left:-6.5px;width:16px;height:16px;border-radius:50%}@keyframes sweep{to{transform:rotate(1turn)}}.page-shell{min-height:100dvh}.page-main{width:100%;max-width:1120px;margin:0 auto;padding:1rem 1rem calc(6.5rem + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:1.25rem}.page-main.narrow{max-width:760px}.rail{display:none}.mobile-bar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:.75rem;padding:calc(.6rem + env(safe-area-inset-top)) 1rem .6rem;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-bar .rail-brand span{width:34px;height:34px;border-radius:11px;font-size:.9rem}.mobile-user{margin-left:auto;color:var(--text-2);font-size:.82rem}.rail-brand{text-decoration:none}.rail-brand span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--signal);color:var(--signal-ink);font:800 1.05rem/1 var(--sans);letter-spacing:-.06em}.rail-logout{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:12px;background:transparent;color:var(--text-3)}.rail-logout:hover{background:var(--raise-2);color:var(--warn)}.dock{position:fixed;z-index:30;left:50%;bottom:calc(.75rem + env(safe-area-inset-bottom));display:flex;gap:.15rem;padding:.35rem;border:1px solid var(--line-2);border-radius:22px;background:color-mix(in srgb,var(--raise-1) 88%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 50px var(--shadow);transform:translateX(-50%)}.dock a{display:flex;flex-direction:column;align-items:center;gap:.2rem;min-width:58px;padding:.5rem .35rem .4rem;border-radius:16px;color:var(--text-3);font-size:.64rem;font-weight:600;text-decoration:none;transition:color .14s,background-color .14s}.dock a.is-active{background:var(--signal);color:var(--signal-ink)}@media (min-width:900px){.dock,.mobile-bar{display:none}.rail{position:fixed;inset:0 auto 0 0;z-index:20;width:var(--rail-w);align-items:center;padding:1.25rem 0;border-right:1px solid var(--line);background:var(--bg)}.rail,.rail-nav{display:flex;flex-direction:column}.rail-nav{gap:.35rem;margin-top:2.25rem}.rail-nav a{display:flex;flex-direction:column;align-items:center;gap:.3rem;width:64px;padding:.7rem 0 .55rem;border-radius:16px;color:var(--text-3);font-size:.66rem;font-weight:600;text-decoration:none;transition:color .14s,background-color .14s}.rail-nav a:hover{color:var(--text);background:var(--raise-1)}.rail-nav a.is-active{color:var(--signal-ink);background:var(--signal)}.rail-foot{display:flex;flex-direction:column;align-items:center;gap:.6rem;margin-top:auto}.rail-user{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--raise-2);color:var(--text-2);font-size:.75rem;font-weight:700;text-transform:uppercase}.page-shell{padding-left:var(--rail-w)}.page-main{padding:2.5rem 2.5rem 4rem;gap:1.5rem}}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;padding-top:.25rem}.page-head h1{font:800 clamp(1.3rem,5vw,1.8rem)/.95 var(--sans);letter-spacing:-.05em}.page-head p{margin-top:.45rem;color:var(--text-2)}.section-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem;margin-bottom:.9rem;font:700 1.05rem/1.2 var(--sans);letter-spacing:-.02em}.section-title small{color:var(--text-3);font-size:.78rem;font-weight:500;letter-spacing:0}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.32rem .7rem;border:1px solid var(--line-2);border-radius:999px;color:var(--text-2);font-size:.76rem;font-weight:600;white-space:nowrap}.chip-holiday{border-color:transparent;background:var(--amber-dim);color:var(--amber)}.chip-sunday{border-color:transparent;background:var(--violet-dim);color:var(--violet)}.chip-saturday{border-color:transparent;background:var(--raise-2);color:var(--text)}.chip-saved{border-color:transparent;background:var(--signal-dim);color:var(--signal)}.panel{padding:1.25rem;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--raise-1)}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.panel-head .section-title{margin-bottom:.9rem}.panel-danger{border-color:color-mix(in srgb,var(--warn) 30%,var(--line))}.panel>p{color:var(--text-2);font-size:.88rem;line-height:1.55}.panel>p+*{margin-top:1rem}.field{display:flex;min-width:0;flex-direction:column;gap:.4rem}.field small{color:var(--text-3);font-size:.74rem;line-height:1.4}.field-end{justify-content:flex-end}.field-pair{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem}.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:.9rem;gap:.9rem}.button-row{display:flex;flex-wrap:wrap;gap:.5rem}.button-row a{color:var(--text-2);font-size:.85rem;text-decoration:none}.button-row a:hover{color:var(--signal)}.unit-input{position:relative}.unit-input>span{position:absolute;top:50%;right:.9rem;color:var(--text-3);font-size:.8rem;pointer-events:none;transform:translateY(-50%)}.unit-input input{padding-right:3.2rem}.flash{padding:.7rem .9rem;border-radius:var(--r-sm);background:var(--signal-dim);color:var(--signal);font-size:.85rem;font-weight:500}.flash.is-error{background:var(--warn-dim);color:var(--warn)}.empty{display:grid;justify-items:center;grid-gap:.6rem;gap:.6rem;padding:2.5rem 1rem;border:1px dashed var(--line-2);border-radius:var(--r-lg);color:var(--text-2);text-align:center}.empty strong{color:var(--text);font-size:1rem}.switch-row{display:flex;align-items:center;gap:.85rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:var(--r-md);background:var(--sunk);cursor:pointer}.switch-row input{position:absolute;opacity:0;pointer-events:none}.switch{position:relative;flex:none;width:44px;height:26px;border-radius:999px;background:var(--raise-3);transition:background-color .16s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--text-2);transition:transform .18s cubic-bezier(.3,.8,.3,1),background-color .16s}.switch-row input:checked+.switch{background:var(--amber)}.switch-row input:checked+.switch:after{background:#fff;transform:translateX(18px)}.switch-row input:focus-visible+.switch{outline:2px solid var(--signal);outline-offset:3px}.switch-row b{display:block;font-size:.9rem}.switch-row small{color:var(--text-3);font-size:.78rem}.calculation-rules,.fold{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--raise-1)}.calculation-rules>summary,.fold>summary,.subfold{display:flex;align-items:center;gap:.75rem;width:100%;padding:1rem 1.25rem;border:0;background:none;cursor:pointer;list-style:none;text-align:left}.calculation-rules>summary::-webkit-details-marker,.fold>summary::-webkit-details-marker{display:none}.calculation-rules>summary strong,.fold>summary strong,.subfold strong{font-size:.95rem}.fold>summary span{overflow:hidden;color:var(--text-3);font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.calculation-rules>summary i,.fold>summary i,.subfold i{display:grid;place-items:center;flex:none;width:28px;height:28px;margin-left:auto;border-radius:50%;background:var(--raise-2);color:var(--text-2);font-style:normal}.calculation-rules-body,.fold-body{display:grid;grid-gap:1rem;gap:1rem;padding:0 1.25rem 1.25rem}.calculation-rules-body p{color:var(--text-2);font-size:.86rem;line-height:1.6}.subfold{padding:.75rem 0;border-top:1px solid var(--line);border-radius:0}.sheet .fold{background:transparent}.sheet .fold>summary{padding:.85rem 1rem}.sheet .fold-body{padding:0 1rem 1rem}.result-strip,.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:1px;gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-md);background:var(--line)}.result-strip>div,.stats>div{display:flex;flex-direction:column;gap:.3rem;padding:.9rem 1rem;background:var(--sunk)}.result-strip dt,.result-strip span,.stats span{color:var(--text-3);font-size:.74rem;font-weight:500}.result-strip dd,.result-strip strong,.stats strong{font:700 1.3rem/1.1 var(--mono);letter-spacing:-.04em}.result-strip .is-signal dd,.result-strip .is-signal strong,.stats .is-signal strong{color:var(--signal)}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stats strong{font-size:clamp(.68rem,4vw,.94rem);white-space:nowrap}.stats .is-short strong{color:var(--warn)}.today{display:flex;flex-direction:column;gap:1.5rem}.today-date{display:grid;grid-template-columns:auto auto;align-items:end;justify-content:start;grid-gap:0 .6rem;gap:0 .6rem}.today-date .today-chips{grid-column:1/-1}.live-clock{padding-bottom:.05em;color:var(--text-2);font-size:.85rem;font-weight:600;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.live-clock b{color:var(--signal);font-weight:600}.today-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem}.today-date h1{font:800 clamp(1.15rem,5vw,1.6rem)/.98 var(--sans);letter-spacing:-.05em}.today-date h1 span{display:block;color:var(--signal);text-transform:capitalize}.today-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.9rem}.date-pill,.month-pill{position:relative;display:inline-flex}.date-pill input,.month-pill input{min-height:2.5rem;padding:.5rem .9rem;border:1px solid var(--line-2);border-radius:999px;background:var(--raise-1);color:var(--text);font-size:.85rem;font-weight:600;color-scheme:dark}.date-pill input:focus,.month-pill input:focus{outline:0;border-color:var(--signal)}.today-grid{display:grid;grid-gap:1rem;gap:1rem}@media (min-width:960px){.today-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);align-items:start;gap:1.5rem}}.today-main{display:flex;flex-direction:column;gap:1.25rem;padding:1.25rem;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--raise-1)}@media (min-width:600px){.today-main{padding:1.75rem}}.clock-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;grid-gap:.6rem;gap:.6rem}.clock{min-width:0;display:flex;flex-direction:column;gap:.35rem;padding:.85rem 1rem;border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--sunk);cursor:text;transition:border-color .14s,box-shadow .14s}.clock:focus-within{border-color:var(--signal);box-shadow:0 0 0 3px var(--signal-glow)}.clock>span{color:var(--text-3);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.clock input{width:100%;min-width:0;padding:0;border:0;background:none;color:var(--text);font:700 clamp(1rem,4.5vw,1.3rem)/1 var(--mono)!important;letter-spacing:-.05em;color-scheme:dark}.clock input:focus{outline:0}.clock input::-webkit-calendar-picker-indicator{display:none}.clock input[aria-invalid=true]{color:var(--warn)}.clock-sep{align-self:center;width:14px;height:2px;border-radius:2px;background:var(--line-2)}.readout{display:grid;grid-template-columns:1fr auto;align-items:end;grid-gap:.25rem 1rem;gap:.25rem 1rem;padding-top:.25rem}.readout-label{grid-column:1/-1;color:var(--text-3);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.readout-value{font:800 clamp(2rem,10vw,2.7rem)/.86 var(--mono);letter-spacing:-.075em}.readout-value small{margin:0 .12em 0 .04em;color:var(--text-3);font-size:.32em;font-weight:600;letter-spacing:0}.readout-balance{align-self:end;margin-bottom:.4rem;padding:.45rem .8rem;border-radius:999px;background:var(--raise-2);color:var(--text-2);font-size:.85rem;font-weight:700;white-space:nowrap}.readout.is-plus .readout-balance{background:var(--signal-dim);color:var(--signal)}.readout.is-short .readout-balance{background:var(--warn-dim);color:var(--warn)}.readout.is-even .readout-balance{background:var(--signal);color:var(--signal-ink)}@media (max-width:420px){.readout{grid-template-columns:1fr}.readout-balance{justify-self:start}}.timeline{margin:.5rem 0 0}.timeline-track{position:relative;height:44px;border-radius:12px;background:repeating-linear-gradient(90deg,var(--sunk) 0 calc(100% / 16 - 1px),var(--line) calc(100% / 16 - 1px) calc(100% / 16))}.timeline-span{position:absolute;top:8px;bottom:8px;border-radius:8px;background:linear-gradient(90deg,color-mix(in srgb,var(--signal) 70%,transparent),var(--signal));box-shadow:0 0 22px var(--signal-glow);transition:left .42s cubic-bezier(.2,.8,.2,1),width .42s cubic-bezier(.2,.8,.2,1),background-color .24s}.readout.is-short~.timeline .timeline-span{background:linear-gradient(90deg,color-mix(in srgb,var(--warn) 60%,transparent),var(--warn));box-shadow:none}.timeline-tick{position:absolute;top:-6px;bottom:-6px;width:0;border-left:1px dashed var(--text-3)}.timeline-tick i{position:absolute;top:-16px;left:0;color:var(--text-3);font:600 .62rem/1 var(--mono);font-style:normal;transform:translateX(-50%)}.timeline-tick.is-hit{border-color:var(--bg)}.timeline-tick.is-hit i{color:var(--text-2)}.timeline-target{position:absolute;top:-4px;bottom:-4px;width:3px;margin-left:-1.5px;border-radius:3px;background:var(--text)}.timeline-target i{position:absolute;bottom:-18px;left:50%;color:var(--text);font:700 .62rem/1 var(--sans);font-style:normal;text-transform:uppercase;letter-spacing:.06em;transform:translateX(-50%)}.timeline-now{position:absolute;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border:2px solid var(--bg);border-radius:50%;background:var(--warn);box-shadow:0 0 0 4px var(--warn-dim)}.timeline-scale{position:relative;height:1.4rem;margin-top:1.4rem}.timeline-scale span{position:absolute;color:var(--text-3);font:500 .66rem/1 var(--mono);transform:translateX(-50%)}.timeline-scale span:first-child{transform:none}.timeline-scale span:last-child{transform:translateX(-100%)}.note-line{color:var(--text-2);font-size:.82rem}.note-line b{color:var(--amber);font-family:var(--mono)}.exit-plan{display:grid;grid-gap:.9rem;gap:.9rem;padding-top:1.1rem;border-top:1px solid var(--line)}.exit-plan-head{flex-wrap:wrap;justify-content:space-between;gap:.5rem .75rem}.exit-plan-head,.exit-route{display:flex;align-items:center}.exit-route{gap:.45rem;color:var(--text-3);font-size:.85rem}.exit-route select{width:auto;min-height:2.25rem;padding:.3rem 1.7rem .3rem .7rem;border-radius:999px;font:600 .85rem/1 var(--mono)}.exit-route .segmented{padding:.2rem}.exit-route .segmented button{min-height:40px;padding:.3rem .9rem;font-family:var(--mono)}.exit-best{display:grid;justify-items:start;grid-gap:.6rem;gap:.6rem;padding:1rem;border:1px solid color-mix(in srgb,var(--signal) 28%,var(--line));border-radius:var(--r-lg);background:radial-gradient(120% 90% at 100% 0,var(--signal-dim),transparent 60%),var(--sunk)}.exit-best-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .8rem}.exit-best .hero-num{font-size:clamp(2.2rem,11vw,3rem)}.exit-balance{padding:.3rem .7rem;border-radius:999px;background:var(--signal-dim);color:var(--signal);font-size:.85rem;font-weight:700;white-space:nowrap}.exit-balance.is-short{background:var(--warn-dim);color:var(--warn)}.exit-balance.is-even{background:var(--signal);color:var(--signal-ink)}.exit-ring{display:flex;align-items:flex-start;gap:.5rem;color:var(--text);font-size:.92rem;line-height:1.4}.exit-ring svg{flex:none;margin-top:.22rem;color:var(--signal)}.exit-why{color:var(--text-2);font-size:.84rem;line-height:1.5}.exit-options{display:grid;margin:0;padding:0;list-style:none}.exit-options li+li{border-top:1px solid var(--line)}.exit-options button{display:grid;grid-template-columns:3.4rem minmax(0,1fr) auto;align-items:baseline;grid-gap:.6rem;gap:.6rem;width:100%;min-height:2.75rem;padding:.6rem .25rem;border:0;border-radius:var(--r-sm);background:none;color:inherit;font-size:.88rem;text-align:left;cursor:pointer;transition:background-color .14s}.exit-options button:hover,.exit-options button[aria-pressed=true]{background:var(--raise-2)}.exit-options b{font-size:1rem}.exit-options span{overflow:hidden;color:var(--text-2);text-overflow:ellipsis;white-space:nowrap}.exit-options small{color:var(--signal);font-size:.78rem;font-weight:600;white-space:nowrap}.exit-options small.is-short{color:var(--warn)}.exit-foot{color:var(--text-3);font-size:.76rem;line-height:1.45}.today-side{display:flex;flex-direction:column;gap:.75rem}.stat-list{overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--raise-1)}.stat-list>div{display:flex;align-items:baseline;justify-content:space-between;padding:.95rem 1.1rem}.stat-list>div+div{border-top:1px solid var(--line)}.stat-list dt{color:var(--text-2);font-size:.86rem}.stat-list dd{font:700 .94rem/1 var(--mono);letter-spacing:-.04em}.hint{display:flex;align-items:center;gap:.9rem;padding:.9rem 1rem;border:1px solid color-mix(in srgb,var(--signal) 28%,var(--line));border-radius:var(--r-md);background:var(--signal-dim)}.hint p{flex:1 1;color:var(--text-2);font-size:.84rem;line-height:1.45}.hint b{color:var(--signal);font-family:var(--mono)}.save-button{width:100%;min-height:3.6rem!important;font-size:1rem!important}@media (max-width:959px){.today{gap:1rem}.today-grid,.today-side{display:contents}.today-save{position:-webkit-sticky;position:sticky;bottom:calc(5.75rem + env(safe-area-inset-bottom));z-index:25}.today-save .save-button{box-shadow:0 12px 36px var(--shadow),0 0 0 4px var(--bg)}}.sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.sheet-form{display:grid;grid-gap:1rem;gap:1rem}.sheet-form .input-time{font:700 1.11rem/1 var(--mono)!important;letter-spacing:-.04em}.sheet-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin-top:.25rem}.sheet-actions button[type=submit]{min-width:9rem}.lock-card{align-items:stretch;gap:.5rem;text-align:left}.lock-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:.75rem;border-radius:16px;background:var(--signal-dim);color:var(--signal)}.lock-form{display:grid;grid-gap:.9rem;gap:.9rem;margin:1rem 0 .25rem}.toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.75rem}.segmented{display:inline-flex;padding:.25rem;border:1px solid var(--line);border-radius:999px;background:var(--raise-1)}.segmented button{min-height:40px;padding:.5rem 1.1rem;border:0;border-radius:999px;background:none;color:var(--text-2);font-size:.85rem;font-weight:600}.segmented button[aria-pressed=true]{background:var(--text);color:var(--bg)}.stepper{display:flex;align-items:center;gap:.4rem}.range-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:.6rem;gap:.6rem;width:100%;max-width:420px}.week-bars{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:.4rem;gap:.4rem;padding:1rem .75rem .75rem;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--raise-1)}.week-bar{display:flex;flex-direction:column;align-items:center;gap:.45rem;min-width:0;padding:.4rem 0;border:0;border-radius:var(--r-md);background:none;color:var(--text-2);transition:background-color .14s}.week-bar:hover{background:var(--raise-2)}.week-bar-val{color:var(--text-3);font:600 .66rem/1 var(--mono);white-space:nowrap}.week-bar-col{position:relative;display:flex;align-items:flex-end;width:min(34px,70%);height:120px;border-radius:10px;background:var(--sunk)}.week-bar-col i{display:block;width:100%;border-radius:10px;background:var(--text-3);transition:height .3s ease}.week-bar-col em{position:absolute;left:-4px;right:-4px;height:0;border-top:1px dashed var(--text-3)}.week-bar.is-plus .week-bar-col i{background:var(--signal)}.week-bar.is-short .week-bar-col i{background:var(--warn)}.week-bar.is-even .week-bar-col i{background:var(--text-2)}.week-bar.is-plus .week-bar-val{color:var(--signal)}.week-bar.is-short .week-bar-val{color:var(--warn)}.week-bar-day{display:flex;flex-direction:column;align-items:center;gap:.1rem;font-size:.7rem}.week-bar-day b{color:var(--text);font-size:1rem}.week-bar.is-today .week-bar-day b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--signal);color:var(--signal-ink)}.ledger{display:flex;flex-direction:column;gap:.5rem}.ledger-row{overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--raise-1)}.ledger-main{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:1rem;gap:1rem;width:100%;padding:.85rem 1rem;border:0;background:none;text-align:left}.ledger-main:hover{background:var(--raise-2)}.ledger-date{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--sunk);line-height:1}.ledger-date b{font-size:1.15rem}.ledger-date small{color:var(--text-3);font-size:.64rem;font-weight:600;text-transform:uppercase}.ledger-times{display:flex;min-width:0;flex-direction:column;gap:.25rem}.ledger-times strong{font-size:1.05rem}.ledger-outcome small,.ledger-times small{overflow:hidden;color:var(--text-3);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.ledger-outcome{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;text-align:right}.ledger-outcome strong{font:700 1.05rem/1 var(--mono);letter-spacing:-.03em}.tone-covered .ledger-outcome strong,.tone-positive .ledger-outcome strong{color:var(--signal)}.tone-warning .ledger-outcome strong{color:var(--warn)}.tone-sunday .ledger-outcome strong{color:var(--violet)}.tone-holiday .ledger-outcome strong{color:var(--amber)}.tone-neutral .ledger-outcome strong{color:var(--text-2)}.ledger-detail{display:grid;grid-gap:1rem;gap:1rem;padding:0 1rem 1rem;border-top:1px solid var(--line)}.ledger-detail dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:.9rem 1rem;gap:.9rem 1rem;padding-top:1rem}.ledger-detail dt{color:var(--text-3);font-size:.72rem}.ledger-detail dd{font-size:.9rem;font-weight:600}.ledger-detail .wide{grid-column:1/-1}.ledger-actions{display:flex;gap:.5rem}@media (max-width:420px){.ledger-main{gap:.7rem;padding:.75rem}.ledger-outcome small{display:none}}.bento{display:grid;grid-gap:1rem;gap:1rem}@media (min-width:900px){.bento{grid-template-columns:1.4fr 1fr}.bento .tile-alert{grid-column:1/-1}}.tile{display:flex;flex-direction:column;gap:.75rem;padding:1.4rem;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--raise-1)}.tile-label{color:var(--text-3);font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.tile-hero{background:radial-gradient(120% 90% at 100% 0,var(--signal-dim),transparent 60%),var(--raise-1)}.hero-num{color:var(--signal);font:800 clamp(1.7rem,7vw,2.4rem)/.88 var(--mono);letter-spacing:-.075em}.hero-sub{color:var(--text-2)}.hero-sub b{color:var(--text);font-family:var(--mono)}.hero-split{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1px;gap:1px;margin-top:.5rem;overflow:hidden;border-radius:var(--r-md);background:var(--line)}@media (min-width:600px){.hero-split{grid-template-columns:repeat(4,1fr)}}.hero-split>div{padding:.8rem .9rem;background:var(--sunk)}.hero-split dt{color:var(--text-3);font-size:.72rem}.hero-split dd{margin-top:.25rem;white-space:nowrap;font:700 1rem/1 var(--mono);letter-spacing:-.04em}.goal{display:flex;align-items:center;gap:1.25rem}.ring{flex:none;width:128px;height:128px;transform:rotate(-90deg)}.ring text{transform:rotate(90deg);transform-origin:60px 60px}.ring-bg{fill:none;stroke:var(--raise-3);stroke-width:10}.ring-fg{fill:none;stroke:var(--signal);stroke-linecap:round;stroke-width:10;transition:stroke-dashoffset .5s ease}.ring-pct{fill:var(--text);font:800 22px/1 var(--mono);letter-spacing:-1px}.ring-sub{fill:var(--text-3);font:600 10px/1 var(--mono)}.goal-copy{display:flex;flex-direction:column;gap:.3rem}.goal-copy strong{font-size:1.35rem;letter-spacing:-.03em}.goal-copy span{color:var(--text-3);font-size:.8rem}.goal-copy p{margin-top:.35rem;color:var(--text-2);font-size:.85rem;line-height:1.45}.tile-goal.is-done .goal-copy strong{color:var(--signal)}.tile-alert{flex-direction:row;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;border-color:color-mix(in srgb,var(--warn) 35%,var(--line));background:var(--warn-dim)}.tile-alert strong{color:var(--warn);font:700 .98rem/1 var(--mono)}.tile-alert p{flex-basis:100%;color:var(--text-2);font-size:.85rem}.tile-alert.is-closed{border-color:color-mix(in srgb,var(--signal) 30%,var(--line));background:var(--signal-dim)}.tile-alert.is-closed strong{color:var(--signal)}.two-col{display:grid;grid-gap:1rem;gap:1rem}@media (min-width:1000px){.two-col{grid-template-columns:1.15fr 1fr;align-items:start}}.weeks{display:flex;flex-direction:column}.week-row+.week-row{border-top:1px solid var(--line)}.week-row>button{display:flex;align-items:center;gap:.6rem;width:100%;padding:.9rem .1rem;border:0;background:none;text-align:left}.week-row>button span{color:var(--text-2);font-size:.88rem}.week-row>button strong{display:grid;justify-items:end;grid-gap:.3rem;gap:.3rem;margin-left:auto;font:700 1.05rem/1 var(--mono);letter-spacing:-.03em}.week-row>button strong small{color:var(--text-3);font:500 .72rem/1 var(--mono);letter-spacing:0}.week-row.is-open>button strong{color:var(--signal)}.dot-short{width:7px;height:7px;border-radius:50%;background:var(--warn)}.week-row dl{display:grid;grid-template-columns:1fr 1fr;grid-gap:.7rem 1rem;gap:.7rem 1rem;padding:0 .1rem 1rem}.week-row dt{color:var(--text-3);font-size:.72rem}.week-row dd{font:600 .92rem/1.2 var(--mono)}.estimate{display:grid;grid-gap:.9rem;gap:.9rem}.encrypted-transfer{display:grid;grid-gap:.8rem;gap:.8rem;padding-top:1rem;border-top:1px solid var(--line)}.encrypted-transfer h2{font-size:.95rem}.encrypted-transfer>p{color:var(--text-2);font-size:.82rem}.encrypted-transfer .form-field{display:flex;flex-direction:column;gap:.4rem}.encrypted-transfer-actions{display:flex;flex-wrap:wrap;gap:.5rem}.encrypted-file-label{position:relative;display:inline-flex;align-items:center;min-height:2.75rem;padding:.7rem 1.2rem;border:1px solid var(--line-2);border-radius:999px;font-size:.875rem;font-weight:600;cursor:pointer}.encrypted-file-label:hover{background:var(--raise-2)}.encrypted-file-label input{position:absolute;inset:0;opacity:0;cursor:pointer}.encrypted-transfer-message:empty{display:none}.encrypted-transfer-message{color:var(--text-2);font-size:.82rem}.fm-pwa-install-button{justify-self:start}.cal{display:flex;flex-direction:column;gap:.75rem}.cal-head{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .75rem}.cal-head strong{font-size:1.05rem;text-transform:capitalize}.cal-head small{color:var(--text-3);font-size:.78rem}.cal-nav{display:flex;gap:.3rem;margin-left:auto}.cal-grid,.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.cal-weekdays span{color:var(--text-3);font-size:.66rem;font-weight:600;text-align:center;text-transform:uppercase}.cal-day{position:relative;display:flex;aspect-ratio:1/1.05;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:0;border:1px solid transparent;border-radius:12px;background:var(--sunk);color:var(--text-2);transition:background-color .12s,border-color .12s}.cal-day:hover{background:var(--raise-2)}.cal-num{font-size:.9rem;font-weight:600}.cal-net{font:600 .58rem/1 var(--mono);letter-spacing:-.03em}.cal-day.is-weekend,.cal-net{color:var(--text-3)}.cal-day.has-record{background:var(--raise-2);color:var(--text)}.cal-day.has-record.is-plus{background:var(--signal-dim)}.cal-day.has-record.is-plus .cal-net{color:var(--signal)}.cal-day.has-record.is-short{background:var(--warn-dim)}.cal-day.has-record.is-short .cal-net{color:var(--warn)}.cal-day.is-today .cal-num{color:var(--signal)}.cal-day.is-today:after{content:"";position:absolute;top:6px;right:6px;width:5px;height:5px;border-radius:50%;background:var(--signal)}.cal-day.is-selected{border-color:var(--text)}.cal-day.is-armed{border-color:var(--signal);box-shadow:0 0 0 3px var(--signal-glow)}.cal-empty{aspect-ratio:1/1.05}.cal-detail{display:grid;grid-gap:.6rem;gap:.6rem;padding:1rem;border-radius:var(--r-md);background:var(--sunk)}.cal-detail-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.cal-detail-head strong{font-size:.92rem}.cal-detail-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .8rem;font-size:.88rem}.cal-detail-row>span:nth-child(2){color:var(--text-2)}.cal-detail-row b{font-family:var(--mono)}.cal-detail-row small{color:var(--text-3)}.cal-detail .muted{font-size:.85rem}.rate-box{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.6rem;width:100%;max-width:440px}.rate-box .field{flex:1 1 200px}.calc-card{display:grid;grid-gap:1.1rem;gap:1.1rem}.calc-card .section-title{margin-bottom:0}.settings{display:flex;flex-direction:column;gap:1rem}.settings .panel{display:grid;grid-gap:1rem;gap:1rem}.settings .panel .section-title{margin-bottom:0}.rule-note{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .75rem;padding:.85rem 1rem;border-radius:var(--r-md);background:var(--sunk);font-size:.86rem}.rule-note span{color:var(--text-2)}.rule-note small{flex-basis:100%;color:var(--text-3)}.break-list{display:grid;grid-gap:.6rem;gap:.6rem}.break-row{display:grid;grid-template-columns:auto 1fr 1fr;align-items:end;grid-gap:.75rem;gap:.75rem;padding:.75rem;border-radius:var(--r-md);background:var(--sunk)}.break-index{display:grid;place-items:center;align-self:center;width:34px;height:34px;border-radius:10px;background:var(--raise-2);color:var(--text-2);font:700 .8rem/1 var(--mono)}.readout-box{display:flex;flex-direction:column;gap:.3rem;padding:.9rem 1rem;border-radius:var(--r-md);background:var(--sunk)}.readout-box small,.readout-box span{color:var(--text-3);font-size:.74rem}.rate-copy{display:grid;grid-gap:.6rem;gap:.6rem;align-content:start}.rate-copy p{color:var(--text-2);font-size:.8rem;line-height:1.5}.salary-visibility-toggle{justify-self:start}.sticky-save{position:-webkit-sticky;position:sticky;bottom:calc(5.8rem + env(safe-area-inset-bottom));z-index:5}.sticky-save button{width:100%;box-shadow:0 12px 40px var(--shadow)}@media (min-width:900px){.sticky-save{bottom:1.25rem}}@media (max-width:480px){.break-row{grid-template-columns:1fr 1fr}.break-index{display:none}}.legal-page{min-height:100dvh;padding:2.5rem 1.25rem 4rem}.legal-card{max-width:680px;margin:0 auto}.legal-back{color:var(--signal);font-size:.88rem;font-weight:600;text-decoration:none}.legal-card h1{margin:1.5rem 0 1rem;font:800 clamp(1.44rem,7vw,2.16rem)/1 var(--sans);letter-spacing:-.05em}.legal-lede{color:var(--text-2);font-size:1.05rem;line-height:1.6}.legal-card section{padding:1.5rem 0;border-bottom:1px solid var(--line)}.legal-card h2{margin-bottom:.6rem;font-size:1rem}.legal-card li,.legal-card section p{color:var(--text-2);font-size:.92rem;line-height:1.65}.legal-card ul{margin:0;padding-left:1.1rem}.legal-card strong{color:var(--text)}.legal-card section a{color:var(--signal)}.legal-meta{margin-top:1.5rem;color:var(--text-3);font-size:.8rem}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.error-detail{margin-top:.9rem;color:var(--text-3);font-size:.78rem;word-break:break-word}.error-detail code{font-family:var(--mono)}.error-actions{display:flex;gap:.5rem;margin-top:1.1rem}.error-actions button{padding:.6rem 1rem;border:1px solid var(--line-2);border-radius:999px;background:var(--raise-2);font-weight:600}.error-actions button:first-child{border-color:transparent;background:var(--signal);color:var(--signal-ink)}input[type=date],input[type=time]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;min-width:0;max-width:100%}input[type=date]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value{text-align:left}.clock input::-webkit-date-and-time-value{text-align:center}.field,.field-row>*{min-width:0}.break-card{display:grid;grid-gap:.6rem;gap:.6rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--raise-1)}.break-card header{display:flex;justify-content:space-between;align-items:baseline;color:var(--text-2);font-size:.8rem}.break-card header b{color:var(--text);font:700 1rem/1 var(--mono)}.break-next{color:var(--text-2);font-size:.85rem;line-height:1.45}.break-next b{color:var(--text);font-family:var(--mono)}.break-next strong{display:block;margin-top:.15rem;color:var(--signal);font:700 1.05rem/1.2 var(--mono)}.break-tiers{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.35rem;gap:.35rem;margin:0;padding:0;list-style:none}.break-tiers li{display:grid;grid-gap:.15rem;gap:.15rem;padding:.45rem .55rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--sunk)}.break-tiers span{font:600 .85rem/1 var(--mono)}.break-tiers i{color:var(--text-3);font:normal .72rem/1 var(--sans)}.break-tiers li.is-passed{opacity:.45}.break-tiers li.is-next{border-color:var(--signal);background:var(--signal-dim)}.break-tiers li.is-next i{color:var(--signal)}.picker-closing input[type=date],.picker-closing input[type=datetime-local],.picker-closing input[type=time]{pointer-events:none}.pinpad{display:grid;justify-items:center;grid-gap:1.75rem;gap:1.75rem}.pinpad.is-busy .keypad{opacity:.55;pointer-events:none}.pin-dots{display:flex;justify-content:center;gap:12px;min-height:14px}.pin-dots i{width:13px;height:13px;border:1.5px solid var(--text-3);border-radius:50%;transition:background-color .12s,border-color .12s,transform .12s}.pin-dots i.on{border-color:var(--text);background:var(--text);transform:scale(1.06)}.pin-dots.is-bad{animation:pinShake .38s}.pin-dots.is-bad i{border-color:var(--warn);background:transparent}.pin-dots.is-ok i{border-color:var(--signal);background:var(--signal)}.keypad{display:grid;grid-template-columns:repeat(3,72px);grid-gap:14px 22px;gap:14px 22px;justify-content:center}.keypad button{display:grid;place-items:center;width:72px;height:72px;padding:0;border:0;border-radius:50%;background:var(--raise-2);box-shadow:inset 0 0 0 1px var(--line);color:var(--text);font:450 1.75rem/1 var(--sans);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent;transition:background-color .1s,transform 80ms}.keypad button:hover:not(:disabled){background:var(--raise-3)}.keypad button:active:not(:disabled){background:var(--raise-3);transform:scale(.93)}.keypad button:disabled{opacity:1;cursor:default}.keypad .key-del{background:transparent;box-shadow:none;color:var(--text-2)}.keypad .key-del:disabled{color:var(--text-3);opacity:.5}.keypad .key-ok{background:var(--signal);box-shadow:none;color:var(--signal-ink)}.keypad .key-ok:hover:not(:disabled){background:var(--signal-hi)}.keypad .key-ok:disabled{background:transparent;box-shadow:inset 0 0 0 1px var(--line);color:var(--text-3)}.key-spin{width:20px;height:20px;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:uiSpinGlobal .65s linear infinite}.pin-msg{min-height:1.2em;color:var(--text-3);font-size:.82rem;text-align:center}.pin-msg:not(:empty){color:var(--text-2)}.login-pin{display:grid;justify-items:center;grid-gap:1rem;gap:1rem;margin-top:1rem}.pin-title{margin-top:0!important;font-size:1.5rem!important;letter-spacing:-.03em!important}.pin-user{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.35rem .8rem;border:1px solid var(--line-2);border-radius:999px;background:var(--raise-1);color:var(--text);font-weight:600}.pin-user span{color:var(--signal);font-size:.75rem;font-weight:600}.lock-pad{display:grid;grid-gap:.75rem;gap:.75rem;margin:1.25rem 0 .5rem}.pin-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.9rem}.pin-row p{flex:1 1 16rem;color:var(--text-2);font-size:.85rem}.pin-sheet{gap:.5rem;text-align:center}.pin-sheet .pinpad{margin-top:1.25rem}.pin-steps{display:flex;justify-content:center;gap:6px;margin:0 0 .75rem;padding:0;list-style:none}.pin-steps li{width:22px;height:4px;border-radius:4px;background:var(--line-2)}.pin-steps li.is-on{background:var(--signal)}@keyframes pinShake{0%,to{transform:none}20%{transform:translateX(-9px)}40%{transform:translateX(8px)}60%{transform:translateX(-6px)}80%{transform:translateX(4px)}}@keyframes uiSpinGlobal{to{transform:rotate(1turn)}}@media (max-height:700px){.keypad{grid-template-columns:repeat(3,64px);gap:10px 20px}.keypad button{width:64px;height:64px}}.login-panel:has(.login-pin) .brand-mark{align-self:center}@media (max-width:400px){.dock a{min-width:50px;padding-inline:.2rem}}.ring-days button{display:inline-flex;align-items:center;gap:.35rem;padding-inline:.9rem}.ring-days i{width:6px;height:6px;border-radius:50%;background:var(--signal)}.ring-days button[aria-pressed=true] i{background:var(--bg)}.ring-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:1.25rem;gap:1.25rem}.ring-grid>*,.ring-stops{min-width:0}@media (min-width:1000px){.ring-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start}}.ring-plan{gap:1.1rem}.ring-route{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;grid-gap:.5rem;gap:.5rem}.ring-swap{display:grid;place-items:center;width:2.9rem;height:2.9rem;border:1px solid var(--line-2);border-radius:50%;background:var(--raise-2);color:var(--text-2);transition:color .14s,transform .14s}.ring-swap:hover:not(:disabled){color:var(--signal)}.ring-swap:active:not(:disabled){transform:rotate(180deg)}.ring-swap:disabled{opacity:.4}.ring-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.4rem;gap:.4rem}.ring-quick .chip{justify-content:center;min-height:44px;padding-inline:.3rem;background:none;cursor:pointer;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:color .14s,background-color .14s,border-color .14s}.ring-quick .chip>span{color:var(--text-3)}.ring-quick .chip[aria-pressed=true]{border-color:transparent;background:var(--signal-dim);color:var(--signal)}.ring-quick .chip[aria-pressed=true]>span{color:inherit}@media (max-width:340px){.ring-quick{grid-template-columns:repeat(2,minmax(0,1fr))}}.ring-when{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}.ring-when .chip{min-height:44px;background:none;cursor:pointer}.ring-when .chip.chip-saved{background:var(--signal-dim)}.ring-time{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-3);font-size:.78rem}.ring-time input{width:auto;min-height:2.25rem;padding:.3rem .6rem;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--sunk);font-family:var(--mono)}.ring-next{display:flex;flex-direction:column;gap:.55rem;padding-top:1.1rem;border-top:1px solid var(--line)}.ring-next-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .9rem}.ring-next .hero-num{font-size:clamp(2.6rem,13vw,3.6rem)}.ring-wait{padding:.3rem .7rem;border-radius:999px;background:var(--signal-dim);color:var(--signal);font-size:.85rem;font-weight:700}.ring-later{display:grid;margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.ring-later li{display:grid;grid-template-columns:3.4rem minmax(0,1fr) auto 3.6rem;align-items:baseline;grid-gap:.6rem;gap:.6rem;padding:.6rem 0;border-bottom:1px solid var(--line);font-size:.88rem}.ring-later li:last-child{border-bottom:0;padding-bottom:0}.ring-later b{font-size:1rem}.ring-later span{overflow:hidden;color:var(--text-2);text-overflow:ellipsis;white-space:nowrap}.ring-later em{color:var(--text-3);font-style:normal}.ring-later small{color:var(--text-3);font-size:.76rem;text-align:right;white-space:nowrap}.ring-board{display:flex;flex-direction:column;gap:1rem}.ring-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;grid-gap:.25rem;gap:.25rem;padding:.25rem;border-radius:var(--r-md);background:var(--sunk)}.ring-tabs button{min-height:44px;border:0;border-radius:calc(var(--r-md) - .25rem);background:none;color:var(--text-2);font-size:.88rem;font-weight:700}.ring-tabs button[aria-selected=true]{background:var(--raise-3);color:var(--text)}.ring-caption{display:flex;flex-direction:column;gap:.2rem}.ring-caption strong{color:var(--text);font-size:.95rem}.ring-caption span,.ring-foot,.ring-note{color:var(--text-3);font-size:.78rem;line-height:1.45}.ring-matrix{display:grid;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-md)}.ring-hour{display:grid;grid-template-columns:2.9rem minmax(0,1fr);align-items:center;border-bottom:1px solid var(--line)}.ring-hour:last-child{border-bottom:0}.ring-hour>span{align-self:stretch;display:grid;place-items:center;background:var(--sunk);color:var(--text);font:700 .95rem/1 var(--mono)}.ring-hour>div{display:flex;flex-wrap:wrap;gap:.1rem;padding:.3rem .5rem}.ring-hour b{min-width:2.1rem;padding:.3rem .25rem;border-radius:8px;font:600 .9rem/1 var(--mono);text-align:center}.ring-hour b.is-past{color:var(--text-3);font-weight:500;opacity:.55}.ring-hour b.is-next{background:var(--signal);color:var(--signal-ink)}.ring-stops ol{display:flex;gap:.35rem;margin:.5rem -1.25rem 0;padding:0 1.25rem .35rem;overflow-x:auto;list-style:none;scrollbar-width:thin}.ring-stops button{display:grid;justify-items:center;grid-gap:.2rem;gap:.2rem;width:3.3rem;padding:.5rem .45rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--sunk);color:var(--text-2);font:600 .8rem/1 var(--mono)}.ring-stops button small{color:var(--text-3);font-size:.68rem;font-weight:500}.ring-stops button.is-from{border-color:var(--signal);background:var(--signal-dim);color:var(--signal)}.ring-stops button.is-to{border-color:var(--text-2);color:var(--text)}.ring-special-groups{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:1.25rem;gap:1.25rem}@media (min-width:1000px){.ring-special-groups{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);grid-template-rows:auto 1fr;align-items:start}.ring-special-group:first-child{grid-row:span 2}}.ring-special-group h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .6rem;font:700 .95rem/1.2 var(--sans)}.ring-special-group h3 small{color:var(--text-3);font-size:.76rem;font-weight:500}.ring-special-group ul{margin:.6rem 0 0;padding:0;list-style:none}.ring-special-group li{display:grid;grid-gap:.4rem;gap:.4rem;padding:.85rem 0;border-top:1px solid var(--line)}.ring-special-group li:last-child{padding-bottom:0}.ring-special-group li.is-mine strong:after{content:"";display:inline-block;width:6px;height:6px;margin-left:.45rem;border-radius:50%;background:var(--signal);vertical-align:middle}.ring-special-head{display:grid;grid-gap:.5rem;gap:.5rem}.ring-special-head strong{font-size:.88rem}.ring-times{display:flex;flex-wrap:wrap;gap:.3rem}.ring-times span{display:grid;justify-items:center;grid-gap:.15rem;gap:.15rem;padding:.32rem .5rem;border-radius:8px;background:var(--raise-2)}.ring-times b{font:600 .84rem/1 var(--mono)}.ring-times small{color:var(--text-3);font:500 .66rem/1 var(--mono)}.ring-times .is-past{background:none;box-shadow:inset 0 0 0 1px var(--line);color:var(--text-3)}.ring-path{color:var(--text-2);font:500 .76rem/1.5 var(--mono)}@keyframes ringRise{0%{opacity:0;transform:translateY(10px)}}@keyframes ringTick{0%{opacity:0;transform:translateY(.35em);filter:blur(4px)}}@keyframes ringBeacon{0%{box-shadow:0 0 0 0 var(--signal-glow)}70%,to{box-shadow:0 0 0 9px transparent}}@keyframes ringSoon{50%{opacity:.55}}.ring-grid>*{animation:ringRise .42s cubic-bezier(.2,.7,.2,1) both}.ring-grid>:nth-child(2){animation-delay:70ms}.ring-special-group{animation:ringRise .42s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(.12s + var(--i, 0) * 60ms)}.ring-next .hero-num span{display:inline-block;animation:ringTick .38s cubic-bezier(.2,.7,.2,1) both}.ring-later li{animation:ringRise .36s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i, 0) * 45ms)}.ring-wait b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ring-wait.is-soon{background:var(--amber-dim);color:var(--amber);animation:ringSoon 1.2s ease-in-out infinite}.ring-hour b.is-next{animation:ringBeacon 2s ease-out infinite}.ring-tabs button{transition:background-color .18s,color .18s}.ring-stops button{transition:border-color .18s,background-color .18s,color .18s,transform .12s}.ring-stops button:active{transform:scale(.94)}.ring-live-head{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;color:var(--text);font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.ring-live-head i{width:8px;height:8px;border-radius:50%;background:var(--text-3)}.ring-live-head i.is-on{background:var(--signal);animation:ringBeacon 1.6s ease-out infinite}.ring-live-head span{margin-left:auto;color:var(--text-3);font-weight:500;letter-spacing:0;text-transform:none}.ring-live{display:grid;grid-gap:.55rem;gap:.55rem;margin-top:.35rem;padding:.9rem 1rem 1rem;border:1px solid var(--line);border-radius:var(--r-md);background:var(--sunk)}.ring-live-track{position:relative;height:28px;margin:.35rem 13px 0}.ring-live-fill,.ring-live-track:before{content:"";position:absolute;top:12px;left:0;height:4px;border-radius:2px}.ring-live-track:before{right:0;background:var(--line-2)}.ring-live-fill{width:calc(var(--p) * 100%);background:var(--signal);transition:width 1s linear}.ring-live-track>i{position:absolute;top:11px;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--raise-3);box-shadow:0 0 0 2px var(--sunk);transition:background-color .3s}.ring-live-track>i.is-done{background:var(--signal)}.ring-live-track>i:last-of-type{top:8px;width:12px;height:12px;margin-left:-6px;background:var(--sunk);box-shadow:inset 0 0 0 3px var(--text)}.ring-live-bus{position:absolute;top:1px;left:calc(var(--p) * 100%);display:grid;place-items:center;width:26px;height:26px;margin-left:-13px;border-radius:9px;background:var(--signal);color:var(--signal-ink);transition:left 1s linear;animation:ringBeacon 1.6s ease-out infinite}.ring-live.is-waiting .ring-live-bus{background:var(--raise-3);color:var(--text-2);animation:none}.ring-live-ends{display:flex;justify-content:space-between;color:var(--text-3);font:600 .72rem/1 var(--mono)}.ring-live-ends span:last-child{color:var(--text)}.ring-live-status{color:var(--text-2);font-size:.85rem}.ring-stops .ring-live-head{margin-top:.75rem}.ring-stops ol{position:relative}.ring-stops ol.has-rail{padding-top:34px}.ring-rail{position:absolute;top:12px;left:calc(1.25rem + 1.65rem);width:calc((var(--n) - 1) * 3.65rem);height:3px;border-radius:2px;background:var(--line-2)}.ring-rail i{position:absolute;top:-11px;left:calc(var(--i) * 3.65rem);display:grid;place-items:center;width:24px;height:24px;margin-left:-12px;border-radius:8px;background:var(--signal);color:var(--signal-ink);transition:left 1s linear;animation:ringBeacon 1.6s ease-out infinite}@media (prefers-reduced-motion:reduce){.ring-hour b.is-next,.ring-live-bus,.ring-live-head i.is-on,.ring-rail i,.ring-wait.is-soon{animation:none}}.ring-offline{display:flex;align-items:center;gap:.6rem;margin:0 0 .9rem;padding:.6rem .85rem;border:1px dashed var(--line,currentColor);border-radius:14px;color:var(--text-2);font-size:.82rem;line-height:1.35;animation:ringRise .4s both}.ring-offline b{color:var(--text,inherit);font-weight:700}.ring-offline i{flex:none;width:.5rem;height:.5rem;border-radius:50%;background:currentColor;opacity:.55}@media (prefers-reduced-motion:reduce){.ring-offline{animation:none}}.chip-dirty,.flash.is-warn{background:var(--amber-dim);color:var(--amber)}.chip-dirty{border-color:transparent}.day-nav{display:flex;align-items:center;gap:.35rem;margin-left:auto}.day-nav>button,.day-pick{position:relative;display:grid;flex:none;place-items:center;width:44px;height:44px;border:1px solid var(--line-2);border-radius:50%;background:var(--raise-1);color:var(--text-2);cursor:pointer;transition:color .14s,background-color .14s,border-color .14s,transform .14s}.day-nav>button:hover,.day-pick:hover{background:var(--raise-2);color:var(--text)}.day-nav>button:active,.day-pick:active{transform:scale(.92)}.day-nav svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.day-pick input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.day-pick:focus-within{border-color:var(--signal);box-shadow:0 0 0 3px var(--signal-glow)}.today-chips .day-nav-today{min-height:40px;margin:-.3rem 0;padding-inline:.95rem;border-color:transparent;background:var(--signal-dim);color:var(--signal);font-weight:700;cursor:pointer;animation:popIn .26s cubic-bezier(.3,1.4,.5,1) backwards}.day-status{display:grid;grid-gap:.5rem;gap:.5rem}.day-status-label{color:var(--text-3);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.day-status-track{position:relative;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));padding:4px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--sunk)}.day-status-thumb{position:absolute;top:4px;bottom:4px;left:calc(4px + var(--i) * (100% - 8px) / var(--n));width:calc((100% - 8px) / var(--n));border-radius:calc(var(--r-md) - 4px);background:var(--raise-3);transition:left .32s cubic-bezier(.3,1.3,.5,1),background-color .22s}.day-status-thumb.is-absent,.day-status-thumb.is-excused{background:var(--violet-dim);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--violet) 35%,transparent)}.day-status-thumb.is-holiday{background:var(--amber-dim);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--amber) 35%,transparent)}.day-status-track button{position:relative;min-width:0;min-height:44px;padding:0 .2rem;border:0;border-radius:calc(var(--r-md) - 4px);background:none;color:var(--text-2);font-size:.84rem;font-weight:600;transition:color .2s,transform .14s}.day-status-track button:active{transform:scale(.95)}.day-status-track button.is-on{color:var(--text);font-weight:700}.day-status-thumb.is-absent~button.is-on,.day-status-thumb.is-excused~button.is-on{color:var(--violet)}.day-status-thumb.is-holiday~button.is-on{color:var(--amber)}.day-status-track button:focus-visible{outline:2px solid var(--signal);outline-offset:-2px}.day-status-note{min-height:2.3em;color:var(--text-3);font-size:.78rem;line-height:1.45}.day-status-note span{display:block;animation:fadeIn .26s ease backwards}.sheet-actions{position:-webkit-sticky;position:sticky;bottom:-1.5rem;z-index:2;margin:0 -1.5rem -1.5rem;padding:.85rem 1.5rem 1.5rem;border-top:1px solid var(--line);background:var(--raise-1)}@media (max-width:599px){.sheet-actions{bottom:calc(-1.5rem - env(safe-area-inset-bottom));margin-bottom:calc(-1.5rem - env(safe-area-inset-bottom));padding-bottom:calc(1.5rem + env(safe-area-inset-bottom))}.sheet-actions button[type=submit]{flex:1 1}}.cal-day.is-assumed{border:1px dashed var(--line-2);background:none;color:var(--text-3)}.cal-day.is-assumed .cal-net{color:var(--text-3);opacity:.75}.cal-day.is-assumed.is-selected{border-style:solid;border-color:var(--text)}.cal-day.is-leave{background:var(--violet-dim)}.cal-day.is-leave .cal-net{color:var(--violet);font-family:var(--sans);font-weight:700;letter-spacing:0}.cal-day.is-excused:before,.cal-day.is-holiday:before{content:"";position:absolute;top:6px;left:6px;width:6px;height:6px;border-radius:50%}.cal-day.is-excused:before{border:1.5px solid var(--violet)}.cal-day.is-holiday:before{background:var(--amber)}.cal-legend{display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin:0;padding:0;list-style:none;color:var(--text-3);font-size:.74rem}.cal-legend li{display:inline-flex;align-items:center;gap:.4rem}.cal-legend i{width:10px;height:10px;border-radius:3px}.cal-legend i.is-assumed{border:1px dashed var(--text-3)}.cal-legend i.is-leave{background:var(--violet-dim);box-shadow:inset 0 0 0 1px var(--violet)}.cal-legend i.is-excused{width:8px;height:8px;border:1.5px solid var(--violet);border-radius:50%}.cal-legend i.is-holiday{width:8px;height:8px;border-radius:50%;background:var(--amber)}.goal-parts{display:grid;grid-gap:.3rem;gap:.3rem;margin:.35rem 0 0;padding:.6rem .75rem;border-radius:var(--r-sm);background:var(--sunk);list-style:none;font-size:.8rem;color:var(--text-2)}.goal-parts li{display:flex;align-items:center;gap:.5rem}.goal-parts b{margin-left:auto;white-space:nowrap;font:700 .8rem/1 var(--mono);color:var(--text)}.goal-parts i{width:8px;height:8px;border-radius:50%;background:var(--warn)}.goal-parts .is-leave i{background:var(--violet)}.goal-parts .is-excused i{border:1.5px solid var(--violet);background:none}.week-bar.is-assumed .week-bar-col i{border:1px dashed var(--text-3);background:repeating-linear-gradient(135deg,transparent 0 5px,var(--line-2) 5px 6px)}.week-bars-note{grid-column:1/-1;display:flex;align-items:center;gap:.5rem;margin-top:.25rem;padding:0 .25rem;color:var(--text-3);font-size:.74rem}.week-bars-note i{flex:none;width:10px;height:10px;border:1px dashed var(--text-3);border-radius:3px}@media (max-width:899px){.page-shell:after{content:"";position:fixed;z-index:20;inset:auto 0 0 0;height:calc(6.75rem + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--bg) 30%,transparent);pointer-events:none}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}@keyframes fadeIn{0%{opacity:0}}@keyframes popIn{0%{opacity:0;transform:scale(.9)}}@keyframes barGrow{0%{transform:scaleY(0)}}@keyframes savePop{0%{transform:scale(1)}35%{transform:scale(.965)}70%{transform:scale(1.015)}to{transform:scale(1)}}@keyframes saveGlow{0%{box-shadow:0 0 0 0 var(--signal-glow)}to{box-shadow:0 0 0 18px transparent}}@keyframes checkDraw{to{stroke-dashoffset:0}}@keyframes dockPop{0%{transform:scale(.82)}60%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes nowPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--warn) 55%,transparent)}70%,to{box-shadow:0 0 0 9px transparent}}.bento>*,.page-main>*,.today>*,.two-col>*{animation:rise .46s cubic-bezier(.2,.8,.2,1) backwards}.bento>:nth-child(2),.page-main>:nth-child(2),.today>:nth-child(2),.two-col>:nth-child(2){animation-delay:60ms}.bento>:nth-child(3),.page-main>:nth-child(3),.today>:nth-child(3){animation-delay:.12s}.page-main>:nth-child(4),.today>:nth-child(4){animation-delay:.18s}.page-main>:nth-child(n+5),.today>:nth-child(n+5){animation-delay:.24s}.today-main,.today-side>*{animation:rise .46s cubic-bezier(.2,.8,.2,1) 60ms backwards}.today-side>:nth-child(2){animation-delay:.12s}.today-side>:nth-child(n+3){animation-delay:.18s}.cal-legend,.clock-pair,.flash,.goal-parts,.hint,.note-line,.timeline{animation:rise .3s cubic-bezier(.2,.8,.2,1) backwards}.readout-balance{animation:popIn .28s cubic-bezier(.3,1.4,.5,1) backwards;transition:background-color .22s,color .22s}.readout-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timeline-now,.timeline-target,.timeline-tick{transition:left .42s cubic-bezier(.2,.8,.2,1)}.timeline-now{animation:nowPulse 2.2s ease-out infinite}.save-button{transition:transform .14s,background-color .22s,box-shadow .22s}.save-button.is-saved{animation:savePop .42s cubic-bezier(.2,.8,.2,1)}.today-save{border-radius:999px}@media (min-width:960px){.today-save{position:relative}}.today-save:has(.is-saved):after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;animation:saveGlow .7s ease-out forwards}.save-check{width:1.25rem;height:1.25rem;margin-right:.5rem;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24;animation:checkDraw .38s cubic-bezier(.6,0,.2,1) .12s forwards}.cal-grid .cal-day{animation:popIn .3s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc(var(--i, 0) * 9ms);transition:background-color .12s,border-color .12s,transform .14s}.cal-day:active{transform:scale(.92)}.cal-detail>*{animation:fadeIn .22s ease backwards}.week-bar-col i{transform-origin:bottom;animation:barGrow .56s cubic-bezier(.2,.9,.2,1) backwards;animation-delay:calc(var(--i, 0) * 45ms)}.week-bar:active{transform:scale(.96)}.ledger-row{animation:rise .34s cubic-bezier(.2,.8,.2,1) backwards}.ledger-row:nth-child(2){animation-delay:35ms}.ledger-row:nth-child(3){animation-delay:70ms}.ledger-row:nth-child(4){animation-delay:105ms}.ledger-row:nth-child(5){animation-delay:.14s}.ledger-row:nth-child(6){animation-delay:175ms}.ledger-row:nth-child(n+7){animation-delay:.21s}.dock a{transition:color .18s,background-color .22s,transform .14s}.dock a:active{transform:scale(.93)}.dock a.is-active svg{animation:dockPop .36s cubic-bezier(.3,1.3,.5,1)}.chip{transition:color .16s,background-color .16s,border-color .16s}.today-chips .chip-dirty,.today-chips .chip-saved{animation:popIn .26s cubic-bezier(.3,1.4,.5,1) backwards}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-delay:0s!important}.timeline-now{animation:none}}.mobile-bar button{width:44px;height:44px}.mobile-bar .rail-brand{display:grid;place-items:center;min-width:44px;min-height:44px}