:root{--bg:#07090d;--bg-soft:#0f131a;--line:#1d2430;--text:#e8edf5;--muted:#8b97a8;--accent:#22d3a0;--tone-a:#22d3a0;--tone-b:#4ade80;--tone-c:#a7e635;--tone-d:#fbbf24;--tone-e:#fb923c;--tone-f:#f87171;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (prefers-color-scheme:light){:root{--bg:#f6f7f9;--bg-soft:#fff;--line:#e3e7ee;--text:#111722;--muted:#68748a;--tone-c:#84cc16}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:contain;font:16px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}button{font:inherit;color:inherit;cursor:pointer}.tone-a{color:var(--tone-a)}.tone-b{color:var(--tone-b)}.tone-c{color:var(--tone-c)}.tone-d{color:var(--tone-d)}.tone-e{color:var(--tone-e)}.tone-f{color:var(--tone-f)}.wrap{max-width:34rem;padding:max(1rem, env(safe-area-inset-top)) 1rem calc(2rem + env(safe-area-inset-bottom));margin:0 auto}.top{justify-content:space-between;align-items:center;gap:1rem;padding:.25rem 0 1rem;display:flex}.top h1{letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:650}.top h1 span{color:var(--accent)}.net{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.4rem;font-size:.7rem;font-weight:600;display:inline-flex}.net:before{content:"";background:var(--tone-a);border-radius:50%;width:.45rem;height:.45rem}.net.is-off:before{background:var(--tone-f)}.card{background:var(--bg-soft);border:1px solid var(--line);text-align:center;border-radius:1.25rem;padding:1.5rem 1.25rem 1.75rem}.gauge{width:100%;max-width:17rem;margin:0 auto -3.1rem;display:block}.gauge path{fill:none;stroke-width:10px;stroke-linecap:round}.gauge-track{stroke:var(--line)}.gauge-fill{stroke:currentColor;transition:stroke-dashoffset .35s,stroke .35s}.gauge-fill.is-live{transition:stroke-dashoffset .12s linear,stroke .3s}.readout{flex-direction:column;align-items:center;gap:.1rem;margin-bottom:1rem;display:flex}.readout strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:3.4rem;font-weight:300;line-height:1}.readout span{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.place{margin:0 0 .9rem;font-weight:600}.hint{color:var(--muted);margin:.85rem 0 0;font-size:.85rem}.hint.small{font-size:.78rem}.primary,.ghost{border:1px solid #0000;border-radius:999px;padding:.7rem 1.4rem;font-size:.92rem;font-weight:600;transition:filter .15s,background .15s}.primary{background:var(--accent);color:#04120d;min-width:11rem}.primary:active{filter:brightness(.92)}.ghost{border-color:var(--line);color:var(--muted);background:0 0}.ghost:active{background:var(--line)}.ghost.tiny{padding:.4rem .8rem;font-size:.78rem;font-weight:500}.ghost.danger{color:var(--tone-f)}.row{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.25rem;display:flex}.naming{text-align:left;flex-direction:column;gap:.7rem;display:flex}.naming label{color:var(--muted);font-size:.8rem;font-weight:600}.naming input{font:inherit;width:100%;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:.75rem;outline:none;padding:.75rem .9rem}.naming input:focus{border-color:var(--accent)}.chips{scrollbar-width:none;grid-template-rows:repeat(2,auto);grid-auto-flow:column;justify-content:start;gap:.4rem;padding-bottom:.1rem;display:grid;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{white-space:nowrap}.suggest{border:1px dashed var(--accent);color:var(--text);background:0 0;border-radius:999px;align-self:flex-start;padding:.35rem .8rem;font-size:.85rem}.suggest b{color:var(--accent)}.rename{flex-wrap:wrap;align-items:center;gap:.4rem;margin:0 0 .6rem;display:flex}.rename input{min-width:0;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:.5rem;outline:none;flex:10rem;padding:.4rem .6rem;font-size:.9rem}.rename input:focus{border-color:var(--accent)}.rename .hint{flex-basis:100%;margin:0}.chip{background:var(--bg);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.35rem .75rem;font-size:.8rem}.chip:active{border-color:var(--accent);color:var(--text)}.bar{background:var(--line);border-radius:999px;height:.3rem;overflow:hidden}.bar i{background:var(--accent);height:100%;transition:width .2s linear;display:block}.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:.5rem;margin:0 0 1.1rem;padding:.9rem 0;display:grid}.stats dt{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.65rem}.stats dd{font-variant-numeric:tabular-nums;margin:.2rem 0 0;font-size:.86rem;font-weight:600}.map{margin-top:1.75rem}.map-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.6rem;display:flex}.map-head h2{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.78rem;font-weight:650}.count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem}.empty{color:var(--muted);background:var(--bg-soft);border:1px dashed var(--line);border-radius:1rem;margin:0;padding:1.25rem;font-size:.86rem}.spots{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.spots>li{background:var(--bg-soft);border:1px solid var(--line);border-radius:1rem;overflow:hidden}.spots>li.is-open{border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}.spot{text-align:left;background:0 0;border:0;grid-template-columns:1fr auto auto;grid-template-areas:"name value unit""bar bar bar""meta meta meta";align-items:baseline;gap:.35rem .5rem;width:100%;padding:.9rem 1rem;display:grid}.spot-name{text-overflow:ellipsis;white-space:nowrap;grid-area:name;font-weight:600;overflow:hidden}.spot-value{font-variant-numeric:tabular-nums;grid-area:value;font-size:1.1rem;font-weight:600}.spot-unit{color:var(--muted);grid-area:unit;font-size:.68rem}.spot-bar{background:var(--line);border-radius:999px;grid-area:bar;height:.3rem;overflow:hidden}.spot-bar i{background:currentColor;border-radius:999px;height:100%;display:block}.spot-meta{color:var(--muted);grid-area:meta;font-size:.73rem}.history{border-top:1px solid var(--line);padding:0 1rem .9rem}.history-head{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:.75rem 0 .5rem;font-size:.73rem}.history ul{flex-direction:column;gap:.1rem;margin:0 0 .6rem;padding:0;list-style:none;display:flex}.history li{font-variant-numeric:tabular-nums;grid-template-columns:4.2rem 4.2rem 4.2rem 1fr auto;align-items:center;gap:.3rem;padding:.3rem 0;font-size:.8rem;display:grid}.history li+li{border-top:1px solid color-mix(in srgb, var(--line) 60%, transparent)}.h-up,.h-ping,.h-when{color:var(--muted)}.h-when{text-align:right}.x{color:var(--muted);background:0 0;border:0;padding:0 .3rem;font-size:1.1rem;line-height:1}.map-foot{gap:.5rem;margin-top:.85rem;display:flex}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}}.install{text-align:center;margin:1.75rem 0 0}.install.note{color:var(--muted);font-size:.8rem;line-height:1.6}.install.note b{color:var(--text);font-weight:600}@media (display-mode:standalone),(display-mode:fullscreen),(display-mode:minimal-ui){.install{display:none}}.hint+.ghost{margin-top:.9rem}@media (max-width:24rem){.stats{grid-template-columns:repeat(2,1fr);gap:.75rem .5rem}.readout strong{font-size:2.9rem}.history li{grid-template-columns:3.6rem 3.6rem 3.2rem 1fr auto;font-size:.75rem}}.map-head h2 em{letter-spacing:.04em;color:color-mix(in srgb, var(--muted) 75%, transparent);font-style:normal;font-weight:500}.spot-row{align-items:stretch;display:flex}.spot{flex:1;min-width:0}.retest{border:0;border-left:1px solid var(--line);width:4rem;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;background:0 0;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:.15rem;padding:0 .4rem;font-size:.6rem;font-weight:650;display:flex}.retest-icon{font-size:1.15rem;line-height:1}.retest:active:not(:disabled){color:var(--accent);background:var(--line)}.retest:disabled{opacity:.35;cursor:default}.tag{letter-spacing:.07em;text-transform:uppercase;margin-right:.45rem;font-size:.66rem;font-weight:700}.tag-best{color:var(--tone-a)}.tag-worst{color:var(--tone-e)}.chips-label{color:var(--muted);margin:0;font-size:.75rem}.history-foot{flex-wrap:wrap;gap:.5rem;display:flex}.ghost:disabled{opacity:.35;cursor:default}.top-right{align-items:center;gap:.6rem;display:flex}.help{border:1px solid var(--line);width:1.55rem;height:1.55rem;color:var(--muted);background:0 0;border-radius:50%;padding:0;font-size:.8rem;font-weight:700;line-height:1}.help:active{color:var(--accent);border-color:var(--accent)}.intro{width:min(22rem,100vw - 2rem);color:var(--text);background:var(--bg-soft);border:1px solid var(--line);border-radius:1.25rem;margin:auto;padding:1.5rem 1.35rem 1.1rem}.intro::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#020408b8}.intro-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 1.1rem;font-size:.68rem;font-weight:650}.intro-step{align-items:flex-start;gap:.85rem;min-height:7.5rem;display:flex}.intro-number{background:var(--accent);color:#04120d;border-radius:50%;flex:none;place-items:center;width:1.85rem;height:1.85rem;font-size:.85rem;font-weight:700;display:grid}.intro-step h2{letter-spacing:-.01em;margin:.15rem 0 .4rem;font-size:1.05rem;font-weight:650}.intro-step p{color:var(--muted);margin:0;font-size:.87rem;line-height:1.55}.intro-dots{gap:.35rem;margin:1.1rem 0;display:flex}.intro-dots i{background:var(--line);border-radius:999px;width:1.35rem;height:.2rem;transition:background .2s}.intro-dots i.is-on{background:var(--accent)}.intro-actions{flex-direction:row-reverse;justify-content:flex-end;gap:.5rem;display:flex}.intro-actions .primary{flex:1;min-width:0}.intro-skip{width:100%;color:var(--muted);background:0 0;border:0;margin-top:.5rem;padding:.6rem;font-size:.8rem;display:block}.empty-head{margin:0 0 .75rem;font-size:.86rem}.steps{flex-direction:column;gap:.4rem;margin:0 0 1rem;padding-left:1.1rem;font-size:.86rem;line-height:1.5;display:flex}.steps li::marker{color:var(--accent);font-weight:700}.prose{line-height:1.6}.prose h1{margin:.5rem 0 .25rem;font-size:1.6rem}.prose h2{margin:1.6rem 0 .4rem;font-size:1.05rem}.prose p,.prose li{color:var(--muted)}.prose ul{padding-left:1.2rem}.prose a{color:var(--accent)}
