:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--md-primary:#d7baff;--md-on-primary:#430088;--md-primary-container:#6000be;--md-on-primary-container:#eddcff;--md-secondary:#d9bde3;--md-on-secondary:#3c2946;--md-secondary-container:#543f5e;--md-on-secondary-container:#f5d9ff;--md-tertiary:#e9b6e6;--md-on-tertiary:#472348;--md-tertiary-container:#603960;--md-on-tertiary-container:#ffd6fa;--md-error:#ffb4ab;--md-on-error:#690005;--md-error-container:#93000a;--md-on-error-container:#ffdad6;--md-background:#16121b;--md-on-background:#e9dfee;--md-surface:#16121b;--md-on-surface:#e9dfee;--md-surface-variant:#4b4452;--md-on-surface-variant:#cdc3d5;--md-surface-dim:#16121b;--md-surface-bright:#3c3742;--md-surface-container-lowest:#100c16;--md-surface-container-low:#1e1a24;--md-surface-container:#221e28;--md-surface-container-high:#2d2833;--md-surface-container-highest:#38333e;--md-outline:#968d9e;--md-outline-variant:#4b4452;--md-inverse-surface:#e9dfee;--md-inverse-on-surface:#332e39;--md-inverse-primary:#7f00f7;--md-scrim:#000;--md-shadow:#000;--md-success:#52df9a;--md-on-success:#003921;--md-success-container:#005232;--md-on-success-container:#72fcb4;--md-warning:#ffb870;--md-on-warning:#4a2800;--md-warning-container:#693c00;--md-on-warning-container:#ffdcbe;--chart-real:#968d9e;--chart-trend:#d7baff;--chart-goal:#e9b6e6;--chart-grid:#4b4452}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--md-surface);color:var(--md-on-surface);margin:0;font-family:Roboto Flex,system-ui,sans-serif;line-height:1.45}button,input,select{font:inherit;color:inherit}.sym{font-variation-settings:"FILL" 0;-webkit-user-select:none;user-select:none;font-family:Material Symbols Rounded;font-size:24px;font-style:normal;font-weight:400;line-height:1;display:inline-block}.sym.fill{font-variation-settings:"FILL" 1}.shell{flex-direction:column;max-width:560px;min-height:100dvh;margin:0 auto;display:flex}.appbar{height:64px;padding:env(safe-area-inset-top) 16px 0;box-sizing:content-box;z-index:2;background:var(--md-surface);align-items:center;gap:12px;display:flex;position:sticky;top:0}.appbar .t{flex:1;font-size:22px}.appbar .who{color:var(--md-on-surface-variant);align-items:center;gap:6px;font-size:14px;display:inline-flex}.content{padding:8px 16px calc(96px + env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:14px;display:flex}.navbar{z-index:3;height:calc(80px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--md-surface-container);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-item{all:unset;cursor:pointer;color:var(--md-on-surface-variant);flex-direction:column;flex:1;align-items:center;gap:4px;font-size:12px;font-weight:500;display:flex}.nav-item .pill{border-radius:16px;place-items:center;width:64px;height:32px;transition:background .15s;display:grid}.nav-item[aria-current=page]{color:var(--md-on-surface)}.nav-item[aria-current=page] .pill{background:var(--md-secondary-container);color:var(--md-on-secondary-container)}.nav-item:focus-visible .pill{outline:2px solid var(--md-primary)}.weighin-art{flex:1;min-height:120px;position:relative}.weighin-art.on{z-index:5}.spotlight{z-index:4;opacity:0;pointer-events:none;background:#0009;transition:opacity .6s;position:fixed;inset:0}.spotlight.on{opacity:1}.waves{opacity:0;pointer-events:none;transition:opacity .4s;position:absolute;inset:0;overflow:hidden}.weighin-art.on .waves{opacity:1}.waves span{aspect-ratio:1;background:color-mix(in srgb, var(--md-primary) 45%, transparent);opacity:0;border-radius:50%;width:min(70%,70vh);animation-iteration-count:1;animation-play-state:paused;animation-fill-mode:both;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.15)}.waves .beat{opacity:.55;width:min(42%,42vh);animation-name:beat;animation-duration:3.75s;animation-timing-function:ease-out;transform:translate(-50%,-50%)scale(.85)}.waves .ring{animation-name:wave;animation-duration:3.75s;animation-timing-function:cubic-bezier(.1,.7,.3,1)}.weighin-art.on .waves span{animation-play-state:running}@keyframes beat{0%,40%,to{transform:translate(-50%,-50%)scale(.85)}15%{transform:translate(-50%,-50%)scale(1.05)}}@keyframes wave{0%{opacity:.75;transform:translate(-50%,-50%)scale(.3)}85%,to{opacity:0;transform:translate(-50%,-50%)scale(1.5)}}@media (prefers-reduced-motion:reduce){.waves{display:none}}.goodjob{letter-spacing:.04em;color:#fff;-webkit-text-stroke:6px #000;paint-order:stroke fill;place-items:center;height:10%;min-height:32px;font-family:Pixelify Sans,Roboto Flex,system-ui,sans-serif;font-size:clamp(24px,5dvh,38px);font-weight:700;animation:.35s cubic-bezier(.2,1.4,.4,1) both goodjob;display:grid;position:absolute;bottom:0;left:0;right:0}@keyframes goodjob{0%{opacity:0;transform:scale(.6)}}@media (prefers-reduced-motion:reduce){.goodjob{animation:none}}.weighin-art img{object-fit:contain;opacity:.75;width:auto;max-width:100%;height:80%;image-rendering:pixelated;margin:auto;transition:opacity .3s;position:absolute;inset:0}.weighin-art.on img{opacity:1}.weighin-form{margin-bottom:16px}.dateline{align-self:center;align-items:center;gap:4px;display:flex;position:relative}.iconbtn:hover{background:color-mix(in srgb, var(--md-on-surface) 8%, transparent)}.iconbtn[disabled]{opacity:.38;cursor:default;background:0 0}.datepicker{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;bottom:0;left:50%}.datechip{all:unset;cursor:pointer;box-sizing:border-box;border:1px solid var(--md-outline);width:208px;height:32px;color:var(--md-on-surface-variant);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 14px 0 10px;font-size:14px;font-weight:500;display:inline-flex;position:relative}.datechip .sym{font-size:18px}.datechip.past{background:var(--md-secondary-container);color:var(--md-on-secondary-container);border-color:#0000}.datechip:focus-visible{outline:2px solid var(--md-primary)}.entry{justify-content:center;align-items:center;gap:12px;margin-top:6px;display:flex}.stepbtn{all:unset;cursor:pointer;background:var(--md-surface-container-highest);width:56px;height:56px;color:var(--md-primary);border-radius:16px;place-items:center;display:grid}.stepbtn:active{background:var(--md-secondary-container)}.stepbtn:focus-visible{outline:2px solid var(--md-primary)}.weightfield{text-align:center;background:var(--md-surface-container-highest);border-bottom:2px solid var(--md-primary);border-radius:4px 4px 0 0;width:200px;padding:10px 0 8px}.weightfield label{color:var(--md-primary);font-size:12px;display:block}.weightfield .val{justify-content:center;align-items:baseline;display:flex}.weightfield input{all:unset;text-align:center;font-variant-numeric:tabular-nums;min-width:1ch;max-width:5.2ch;font-size:45px;line-height:1.1}.weightfield small{color:var(--md-on-surface-variant);margin-left:4px;font-size:18px}.hint{text-align:center;color:var(--md-on-surface-variant);margin-top:-6px;font-size:12px}.hint.err{color:var(--md-error)}.btn{all:unset;cursor:pointer;box-sizing:border-box;border-radius:20px;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 24px;font-size:14px;font-weight:500;display:inline-flex}.btn .sym{font-size:18px}.btn:focus-visible{outline:2px solid var(--md-on-surface);outline-offset:2px}.btn[disabled]{opacity:.38;cursor:default}.btn.filled{background:var(--md-primary);color:var(--md-on-primary)}.btn.tonal{background:var(--md-secondary-container);color:var(--md-on-secondary-container)}.btn.text{color:var(--md-primary);padding:0 12px}.btn.big{border-radius:28px;height:56px;font-size:16px}.btn.big .sym{font-size:22px}.iconbtn{all:unset;cursor:pointer;width:40px;height:40px;color:var(--md-on-surface-variant);border-radius:20px;place-items:center;display:grid}.iconbtn:focus-visible{outline:2px solid var(--md-primary)}.iconbtn:active{background:var(--md-surface-container-highest)}.card{border-radius:12px;padding:14px}.card.filled{background:var(--md-surface-container-highest)}.card.low{background:var(--md-surface-container-low)}.card.primc{background:var(--md-primary-container);color:var(--md-on-primary-container)}.k{letter-spacing:.4px;text-transform:uppercase;opacity:.85;font-size:12px;font-weight:500}.big{font-variant-numeric:tabular-nums;font-size:32px}.big .dir{color:#fff;vertical-align:-1px;margin-left:6px}.mid{font-variant-numeric:tabular-nums;font-size:22px}.sub{font-size:14px}.muted{color:var(--md-on-surface-variant)}.row{gap:10px;display:flex}.row>*{flex:1;min-width:0}.delta{border-radius:8px;align-items:center;gap:2px;margin-top:4px;padding:2px 8px;font-size:14px;font-weight:500;display:inline-flex}.delta .sym{font-size:16px}.delta.loss{background:var(--md-success-container);color:var(--md-on-success-container)}.delta.gain{background:var(--md-error-container);color:var(--md-on-error-container)}.delta.none{background:var(--md-surface-container);color:var(--md-on-surface-variant)}.equiv{align-items:center;gap:12px;display:flex}.equiv .ic{background:var(--md-tertiary-container);width:40px;height:40px;color:var(--md-on-tertiary-container);border-radius:20px;flex:none;place-items:center;display:grid}.equiv b{font-weight:500}.stack{gap:4px;margin:6px 0 0;padding:0;list-style:none;display:grid}.stack li{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.stack .kcal{color:var(--md-on-surface-variant);opacity:.7;font-variant-numeric:tabular-nums;flex:none;font-size:13px}.stack b{color:var(--md-primary);font-variant-numeric:tabular-nums;font-weight:500}.walk .k{margin-bottom:8px}.map{background:var(--md-surface-container-low);border-radius:8px;width:100%;height:auto;display:block}.map-land{fill:var(--md-surface-container-highest)}.map-borders{fill:none;stroke:var(--md-outline-variant);stroke-width:.6px;vector-effect:non-scaling-stroke}.map-route{fill:none;stroke:var(--md-outline);stroke-width:1.5px;stroke-dasharray:1 4;stroke-linecap:round;vector-effect:non-scaling-stroke}.map-walked{fill:none;stroke:var(--md-primary);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.map-city{fill:var(--md-surface-container-low);stroke:var(--md-outline);stroke-width:1px;vector-effect:non-scaling-stroke}.map-city.reached{fill:var(--md-primary);stroke:none}.map-halo{fill:var(--md-primary);opacity:.25}.map-head{fill:var(--md-on-surface);stroke:var(--md-primary);stroke-width:2px;vector-effect:non-scaling-stroke}.map-label{fill:var(--md-on-surface-variant);paint-order:stroke;stroke:var(--md-surface-container-low);stroke-width:10px;stroke-linejoin:round;font-size:34px;font-weight:500}.map-label.strong{fill:var(--md-on-surface);font-size:40px;font-weight:600}.city-photo{margin:0;padding:0 0 10px;overflow:hidden}.city-photo .frame{color:inherit;text-decoration:none;display:block;position:relative}.city-photo .frame:focus-visible{outline:2px solid var(--md-primary);outline-offset:-2px}.city-photo img{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;display:block}.city-photo figcaption{color:#fff;background:linear-gradient(#0000,#000000b3);padding:28px 14px 10px;font-size:20px;font-weight:500;position:absolute;bottom:0;left:0;right:0}.city-photo figcaption span{opacity:.85;align-items:center;gap:4px;margin-top:2px;font-size:13px;font-weight:400;display:flex}.city-photo figcaption .sym{font-size:15px}.city-photo .credit{color:var(--md-on-surface-variant);opacity:.7;white-space:nowrap;text-overflow:ellipsis;padding:8px 14px 0;font-size:11px;text-decoration:none;display:block;overflow:hidden}.route{flex-wrap:wrap;gap:2px 0;margin:8px 0 10px;padding:0;font-size:14px;list-style:none;display:flex}.route li:not(:last-child):after{content:"→";opacity:.6;margin:0 6px}.route li:last-child{font-weight:500}.progress{background:var(--md-secondary-container);border-radius:4px;height:8px;overflow:hidden}.progress>div{background:var(--md-primary);border-radius:4px;height:100%}.primc .progress{background:color-mix(in srgb, var(--md-on-primary-container) 20%, transparent)}.primc .progress>div{background:var(--md-on-primary-container)}.chips{gap:8px;display:flex}.chip{all:unset;cursor:pointer;border:1px solid var(--md-outline-variant);height:32px;color:var(--md-on-surface-variant);border-radius:8px;align-items:center;gap:4px;padding:0 12px;font-size:14px;font-weight:500;display:inline-flex}.chip[aria-pressed=true]{background:var(--md-secondary-container);color:var(--md-on-secondary-container);border-color:#0000}.chip:focus-visible{outline:2px solid var(--md-primary)}.chartbox{touch-action:pan-y;height:220px;position:relative}.chartbox.mini{height:90px;margin-top:8px}.legend{color:var(--md-on-surface-variant);flex-wrap:wrap;gap:14px;padding:6px 8px 0;font-size:12px;display:flex}.legend i{vertical-align:middle;border-radius:2px;width:14px;height:3px;margin-right:6px;display:inline-block}.list{background:var(--md-surface-container-low);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.list-item{align-items:center;gap:12px;min-height:56px;padding:4px 4px 4px 16px;display:flex}.list-item+.list-item{border-top:1px solid var(--md-outline-variant)}.list-item .main{flex:1;min-width:0}.list-item .val{font-variant-numeric:tabular-nums}.section-title{color:var(--md-primary);margin:10px 4px -4px;font-size:14px;font-weight:500}.field{background:var(--md-surface-container-highest);border-bottom:1px solid var(--md-on-surface-variant);border-radius:4px 4px 0 0;flex-direction:column;gap:4px;padding:8px 16px 6px;display:flex}.field:focus-within{border-bottom:2px solid var(--md-primary);padding-bottom:5px}.field label{color:var(--md-on-surface-variant);font-size:12px}.field:focus-within label{color:var(--md-primary)}.field input,.field select{all:unset;width:100%;min-height:24px;font-size:16px}.field select option{background:var(--md-surface-container-highest)}.field .help{color:var(--md-on-surface-variant);font-size:12px}.form{flex-direction:column;gap:12px;display:flex}.debug{margin-top:32px}.debug .help{color:var(--md-on-surface-variant);font-size:12px}.debug-buttons{grid-template-columns:1fr 1fr;gap:8px;display:grid}.snackbar{max-width:536px;left:12px;right:12px;bottom:calc(92px + env(safe-area-inset-bottom));z-index:6;background:var(--md-inverse-surface);min-height:48px;color:var(--md-inverse-on-surface);border-radius:4px;justify-content:space-between;align-items:center;margin:0 auto;padding:4px 8px 4px 16px;font-size:14px;display:flex;position:fixed;box-shadow:0 2px 6px #0006}.snackbar .btn.text{color:var(--md-inverse-primary)}.center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:70dvh;padding:16px;display:flex}.center .hero-ic{background:var(--md-primary-container);width:72px;height:72px;color:var(--md-on-primary-container);border-radius:24px;place-items:center;display:grid}.center .hero-ic .sym{font-size:40px}code{background:var(--md-surface-container-highest);border-radius:4px;padding:1px 6px;font-family:Roboto Mono,ui-monospace,monospace}.empty{text-align:center;color:var(--md-on-surface-variant);padding:24px 8px;font-size:14px}.dialog{box-sizing:border-box;background:var(--md-surface-container-high);width:min(312px,100vw - 48px);color:var(--md-on-surface);border:none;border-radius:28px;padding:24px}.dialog::backdrop{background:#00000080}.dialog h2{margin:0 0 16px;font-size:24px;font-weight:400}.dialog p{color:var(--md-on-surface-variant);margin:0;font-size:14px;line-height:20px}.dialog p b{color:var(--md-on-surface);font-weight:500}.dialog .actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}
