@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2)format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff)format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2)format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.woff)format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-condensed-latin-400-normal-Dc2u_eUW.woff2)format("woff2"),url(/assets/barlow-condensed-latin-400-normal-BXL2z6Kg.woff)format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff)format("woff")}:root{--navy:#0e2a47;--navy-hover:#2c4a6b;--navy-pressed:#071a2e;--yellow:#ffc421;--ground:#f2f2f3;--track:#dde0e4;--muted:#5a6472;--muted-on-navy:#c9d1db;--reversed:#f2f2f3;--hairline:#0e2a474d;--rule-light:#0e2a4726;--leader:#0e2a4773;--shadow:0 1px 2px #2b2b2d24;--cond:"Barlow Condensed", "Arial Narrow", sans-serif;--body:Barlow, system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body{background:var(--ground);color:var(--navy);font-family:var(--body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.screen{max-width:440px;min-height:100dvh;padding:calc(24px + env(safe-area-inset-top)) 24px 0;flex-direction:column;gap:16px;margin:0 auto;display:flex}.screen--history{gap:18px}.kicker{font:600 11px/1 var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.header{justify-content:space-between;align-items:center;gap:12px;display:flex}.lockup{align-items:center;gap:10px;display:flex}.lockup__ls{width:30px;height:30px;display:block}.lockup__x{font:400 14px/1 var(--body);color:var(--muted)}.lockup__tile{background:#000;flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:flex;overflow:hidden}.lockup__tile img{width:52px;max-width:none;height:56px;display:block}.header__label{font:600 12px/1 var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:right}.rings{flex:none;width:280px;height:280px;margin:0 auto;position:relative}.rings svg{position:absolute;top:10px;left:10px;overflow:visible;transform:rotate(-90deg)}.ring-fill{transition:stroke-dashoffset .5s}.ring2{transform-origin:130px 130px;animation:.2s ease-out both ring-in}.ring-label{font:600 11px/1 var(--cond);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);animation:.2s ease-out both fade-in;position:absolute}.ring-label--12{top:2px;left:50%;transform:translate(-50%)}.ring-label--3{top:50%;right:0;transform:translateY(-50%)}.ring-label--6{bottom:2px;left:50%;transform:translate(-50%)}.ring-label--9{top:50%;left:0;transform:translateY(-50%)}.rings__center{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;display:flex;position:absolute;inset:0}.rings__total{font:600 40px/1 var(--cond);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.rings__status{font:400 12px/1.3 var(--body);color:var(--muted);max-width:110px}.chip{font:600 11px/1 var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--navy);background:var(--yellow);padding:4px 7px;animation:.2s ease-out both fade-in}@keyframes ring-in{0%{opacity:0;scale:.94}to{opacity:1;scale:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.ledger{padding:4px 0 14px}.ledger__row{border-bottom:1px dashed var(--hairline);flex-direction:column;gap:8px;padding:12px 0;display:flex}.ledger__line{align-items:baseline;gap:8px;display:flex}.ledger__city{font:600 19px/1 var(--cond);letter-spacing:.04em;text-transform:uppercase;overflow-wrap:anywhere}.ledger__leader{border-bottom:1px dotted var(--leader);flex:1;min-width:12px;transform:translateY(-4px)}.ledger__math{font:400 13px/1 var(--body);color:var(--muted);white-space:nowrap}.ledger__amount{font:600 19px/1 var(--cond);text-align:right;font-variant-numeric:tabular-nums;min-width:60px}.ledger__empty{border-bottom:1px dashed var(--hairline);font:400 13px/1.4 var(--body);color:var(--muted);padding:12px 0}.tally{flex-wrap:wrap;gap:14px;min-height:14px;display:flex}.tally__group{gap:4px;height:14px;display:flex;position:relative}.tally__bar{background:var(--navy);width:2px;height:14px;display:block}.tally__strike{background:var(--navy);width:26px;height:2px;position:absolute;top:6px;left:-3px;transform:rotate(-28deg)}.crossed{align-items:center;gap:10px;padding:12px 0 2px;display:flex}.crossed__bar{background:var(--yellow);flex:1;height:3px}.crossed__label{font:600 11px/1 var(--cond);letter-spacing:.14em;text-transform:uppercase}.ledger__total{align-items:baseline;gap:8px;padding-top:12px;display:flex}.crossed+.ledger__total{padding-top:8px}.ledger__total-label{font:600 13px/1 var(--cond);letter-spacing:.14em;text-transform:uppercase}.ledger__total-amount{font:600 24px/1 var(--cond);text-align:right;font-variant-numeric:tabular-nums;min-width:60px}.spacer{flex:1}.cities{flex-direction:column;gap:10px;display:flex}.cities__head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.sync{font:600 11px/1 var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.sync--error{color:var(--navy);cursor:pointer;text-underline-offset:3px;white-space:normal;text-align:right;background:0 0;border:0;padding:0;text-decoration:underline}.cities__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.city{min-height:76px;position:relative}.city__add{background:var(--navy);width:100%;min-height:76px;color:var(--reversed);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;box-shadow:var(--shadow);border:0;border-radius:0;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:4px;padding:14px 14px 12px;display:flex}.city__add:hover{background:var(--navy-hover)}.city__add:active{background:var(--navy-pressed)}.city__name{font:600 22px/1 var(--cond);overflow-wrap:anywhere;padding-right:30px}.city__sub{font:400 12px/1 var(--body);color:var(--muted-on-navy)}.city__minus{color:#f2f2f3b3;width:44px;height:44px;font:400 20px/1 var(--body);cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:0;position:absolute;top:0;right:0}.city__minus:hover:not(:disabled){color:var(--reversed);background:#ffffff1f}.city__minus:disabled{opacity:.35;cursor:default}.new-city{border:1px solid var(--hairline);min-height:76px;color:var(--navy);text-align:left;cursor:pointer;font:600 14px/1 var(--cond);letter-spacing:.08em;text-transform:uppercase;touch-action:manipulation;background:0 0;border-radius:0;align-items:flex-end;padding:14px;display:flex}.new-city:hover{background:#0e2a470d}.new-city-form{border:1px solid var(--navy);flex-direction:column;justify-content:flex-end;gap:8px;min-height:76px;margin:0;padding:10px 12px 10px 14px;display:flex}.new-city-form input{border:0;border-bottom:1px solid var(--hairline);width:100%;font:600 22px/1 var(--cond);color:var(--navy);background:0 0;border-radius:0;outline:none;padding:0 0 4px}.new-city-form input::placeholder{color:var(--muted);opacity:.6}.new-city-form__actions{justify-content:flex-end;gap:4px;display:flex}.text-button{font:600 12px/1 var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:6px 4px}.text-button--primary{color:var(--navy)}.tabs{padding:10px 24px calc(24px + env(safe-area-inset-bottom));background:var(--ground);justify-content:center;gap:28px;margin-top:auto;margin-left:-24px;margin-right:-24px;display:flex;position:sticky;bottom:0}.tabs:before{content:"";background:linear-gradient(#f2f2f300, var(--ground));pointer-events:none;height:16px;position:absolute;bottom:100%;left:0;right:0}.tab{min-height:30px;font:600 13px/1 var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:0 0 4px}.tab:hover{color:var(--navy)}.tab[aria-current=page]{color:var(--navy);border-bottom-color:var(--yellow)}.title{font:600 34px/1 var(--cond);letter-spacing:-.01em;margin:0}.frame{border:1px solid var(--hairline);position:relative}.reg{opacity:.6;background:linear-gradient(var(--navy), var(--navy)) 5px 0 / 1px 100% no-repeat, linear-gradient(var(--navy), var(--navy)) 0 5px / 100% 1px no-repeat;width:11px;height:11px;position:absolute}.reg--tl{top:-6px;left:-6px}.reg--tr{top:-6px;right:-6px}.reg--bl{bottom:-6px;left:-6px}.reg--br{bottom:-6px;right:-6px}.running{justify-content:space-between;align-items:flex-end;gap:12px;padding:16px 18px;display:flex}.running__left{flex-direction:column;gap:6px;display:flex}.running__weeks{align-items:baseline;gap:6px;display:flex}.running__num{font:600 48px/1 var(--cond);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.running__unit{font:600 18px/1 var(--cond);color:var(--muted)}.running__right{text-align:right;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.running__over{font:600 20px/1 var(--cond);font-variant-numeric:tabular-nums}.running__since{font:400 12px/1.2 var(--body);color:var(--muted)}.months{flex-direction:column;display:flex}.months__head{font:600 10px/1 var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--hairline);justify-content:space-between;padding-bottom:8px;display:flex}.month{border:0;border-bottom:1px solid var(--rule-light);text-align:left;cursor:pointer;background:0 0;border-radius:0;flex-direction:column;gap:9px;width:100%;padding:14px 0;display:flex}.month:hover{background:#0e2a4708}.month__line{align-items:baseline;gap:8px;display:flex}.month__name{font:600 20px/1 var(--cond)}.tag{font:600 10px/1 var(--cond);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--hairline);white-space:nowrap;padding:4px 6px}.month__passes{font:400 13px/1 var(--body);color:var(--muted);white-space:nowrap}.month__amount{font:600 20px/1 var(--cond);text-align:right;font-variant-numeric:tabular-nums;min-width:64px}.bar{background:var(--track);height:8px;margin-right:2px;position:relative}.bar__fill,.bar__over{transition:width .5s;position:absolute;top:0;bottom:0}.bar__fill{background:var(--navy);left:0}.bar__over{background:var(--yellow);left:75%}.bar__tick{background:var(--yellow);width:3px;height:18px;margin-left:-1px;position:absolute;top:-5px;left:75%}.month__notes{font:400 12px/1 var(--body);color:var(--muted);justify-content:space-between;gap:8px;display:flex}.month__running{color:var(--navy);white-space:nowrap;font-weight:500}.state{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:48px 0;display:flex}.state p{font:400 14px/1.4 var(--body);color:var(--muted);margin:0}.outline-button{border:1px solid var(--hairline);font:600 13px/1 var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--navy);cursor:pointer;background:0 0;border-radius:0;padding:12px 16px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=360px){.screen{padding-left:16px;padding-right:16px}.tabs{margin-left:-16px;margin-right:-16px}.rings{margin:-14px auto;transform:scale(.9)}}@media (prefers-reduced-motion:reduce){.ring-fill,.bar__fill,.bar__over{transition:none}.ring2,.ring-label,.chip{animation:none}}.signin{text-align:left;align-items:stretch;gap:18px;width:100%;max-width:340px;margin:0 auto}.signin p{font-size:14px}.primary-button{background:var(--navy);min-height:52px;color:var(--reversed);font:600 16px/1 var(--cond);letter-spacing:.08em;text-transform:uppercase;box-shadow:var(--shadow);justify-content:center;align-items:center;padding:0 18px;text-decoration:none;display:flex}.primary-button:hover{background:var(--navy-hover)}.primary-button:active{background:var(--navy-pressed)}
