:root{--pine: #131b18;--stone: #1f2925;--stone-edge: #34413b;--birch: #e8e3d4;--lichen: #9aa79e;--hearth: #f2a541;--frost: #8cb6c8;--blood: #e0705c;--display: "Grenze", "Palatino Linotype", Georgia, serif;--body: "Alegreya Sans", "Gill Sans", "Segoe UI", system-ui, sans-serif;--step-0: 1.0625rem;--step-1: 1.33rem;--step-2: 1.66rem;--step-hero: clamp(3.2rem, 11vw, 6.5rem);color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--pine);color:var(--birch);font:400 var(--step-0) / 1.5 var(--body);-webkit-font-smoothing:antialiased}.page{max-width:46rem;margin:0 auto;padding:1.25rem clamp(1rem,4vw,2rem) 4rem}h1,h2{font-family:var(--display);font-weight:700;margin:0}h2{font-size:var(--step-2);line-height:1.1;margin-bottom:1rem}b{font-weight:700;font-variant-numeric:tabular-nums}code{font:500 var(--step-1) / 1.2 var(--body);font-variant-numeric:tabular-nums}.muted{color:var(--lichen)}:focus-visible{outline:2px solid var(--hearth);outline-offset:3px;border-radius:3px}.top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;color:var(--lichen)}.brand{font-family:var(--display);font-size:var(--step-1);color:var(--birch)}.who{display:flex;gap:.75rem;align-items:baseline}.hero{--tone: var(--lichen);padding-block:clamp(2.5rem,8vw,4.5rem) 2.5rem}.hero[data-tone=on]{--tone: var(--hearth)}.hero[data-tone=off]{--tone: var(--frost)}.state{display:flex;align-items:flex-start;gap:clamp(.75rem,3vw,1.5rem)}.state-title{font-size:var(--step-hero);line-height:.9;letter-spacing:-.01em;color:var(--tone, var(--birch))}.ember{flex:none;width:clamp(1.1rem,3.5vw,1.8rem);aspect-ratio:1;margin-top:calc(var(--step-hero) * .28);border-radius:50%;background:var(--tone);box-shadow:0 0 0 .35rem color-mix(in srgb,var(--tone) 18%,transparent)}.hero[data-tone=on] .ember{animation:ember 2.8s ease-in-out infinite}.hero[data-tone=off] .ember{background:transparent;border:3px solid var(--tone);box-shadow:none}@keyframes ember{0%,to{box-shadow:0 0 0 .35rem color-mix(in srgb,var(--hearth) 18%,transparent),0 0 1.5rem .2rem color-mix(in srgb,var(--hearth) 35%,transparent)}50%{box-shadow:0 0 0 .5rem color-mix(in srgb,var(--hearth) 12%,transparent),0 0 2.5rem .6rem color-mix(in srgb,var(--hearth) 25%,transparent)}}@media(prefers-reduced-motion:reduce){.hero[data-tone=on] .ember{animation:none}}.lede{font-size:var(--step-1);line-height:1.4;margin:1rem 0 0;max-width:34em}.address{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-top:1.75rem;padding:.75rem 1rem;background:var(--stone);border-left:3px solid var(--tone);border-radius:0 6px 6px 0}.address code{overflow-wrap:anywhere}.facts{list-style:none;padding:0;margin:1.25rem 0 0;display:flex;flex-wrap:wrap;gap:.35rem 1.75rem;color:var(--lichen)}.facts b{color:var(--birch)}.facts .warn{color:var(--hearth);flex-basis:100%}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:2rem}.confirm{flex-basis:100%;margin:0}.btn{font:700 var(--step-0) / 1 var(--body);min-height:2.9rem;padding:0 1.4rem;border-radius:6px;border:1.5px solid var(--stone-edge);background:var(--stone);color:var(--birch);cursor:pointer}.btn:hover{border-color:var(--lichen)}.btn-primary{background:var(--hearth);border-color:var(--hearth);color:var(--pine);font-size:var(--step-1);padding:0 2rem;min-height:3.4rem}.btn-primary:hover{background:#f7b866;border-color:#f7b866}.btn-danger{background:var(--blood);border-color:var(--blood);color:var(--pine)}.btn-quiet{background:transparent}.link{background:none;border:0;padding:0;color:var(--lichen);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.link:hover{color:var(--birch)}.error{margin:0 0 2rem;padding:.75rem 1rem;border-left:3px solid var(--blood);background:color-mix(in srgb,var(--blood) 12%,var(--pine))}.block{padding-top:2.5rem;margin-top:2.5rem;border-top:1px solid var(--stone-edge)}.charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1.75rem 2rem}.charts figure{margin:0;min-width:0}.charts figcaption{display:flex;justify-content:space-between;gap:1rem;color:var(--lichen);margin-bottom:.35rem}.charts figcaption b{color:var(--birch)}.chart-plot{position:relative}.chart-plot svg{display:block;width:100%;height:auto;touch-action:pan-y}.chart-line{fill:none;stroke:var(--hearth);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart-base{stroke:var(--stone-edge);stroke-width:1}.chart-grid{stroke:var(--stone-edge);stroke-width:1;stroke-dasharray:2 4}.chart-cross{stroke:var(--lichen);stroke-width:1}.chart-dot{fill:var(--hearth);stroke:var(--pine);stroke-width:2}.chart-tip{position:absolute;top:-.4rem;transform:translate(-50%,-100%);white-space:pre;font-size:.875rem;font-variant-numeric:tabular-nums;padding:.2rem .5rem;background:var(--stone);border:1px solid var(--stone-edge);border-radius:4px;pointer-events:none}.chart-ticks{display:flex;justify-content:space-between;font-size:.8125rem;color:var(--lichen);font-variant-numeric:tabular-nums}.chart-empty{color:var(--lichen);margin:0;padding:1.5rem 0;font-size:.9375rem}.cost{display:flex;flex-wrap:wrap;gap:1.25rem 3rem;margin:0 0 1rem}.cost dt{color:var(--lichen)}.cost dd{margin:0;font-family:var(--display);font-size:var(--step-2);font-variant-numeric:tabular-nums}.log{list-style:none;padding:0;margin:0}.log li{display:grid;grid-template-columns:7.5rem 1fr;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--stone)}.log time{color:var(--lichen);font-variant-numeric:tabular-nums}.login{padding-top:clamp(4rem,18vh,10rem)}.login .state-title{color:var(--hearth)}.login .btn{margin-top:2rem}@media(max-width:30rem){.log li{grid-template-columns:1fr;gap:0}.btn-primary{width:100%}}
