.theme-wayfarer{--app-brand:#2dd4bf;--app-brand-hi:#5eead4;--app-on-brand:#032621}.theme-signal-scout{--app-brand:#5646e6;--app-brand-hi:#a196ff;--app-on-brand:#fff}.app-hero{border-bottom:1px solid var(--color-rule);background:var(--color-canvas);position:relative;overflow:hidden}.app-hero-glow{pointer-events:none;background:radial-gradient(closest-side, color-mix(in oklch, var(--color-accent) 24%, transparent), transparent);height:120%;position:absolute;inset:-30% -20% auto 30%}.app-hero-grid{align-items:center;gap:3.5rem;padding-block:clamp(3rem,8vw,5rem);display:grid;position:relative}@media (min-width:1024px){.app-hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:4rem;min-height:calc(100dvh - 4.5rem);padding-block:3rem}}.dl-btn{gap:.75rem}.dl-size{background:color-mix(in srgb, var(--color-on-accent) 16%, transparent);letter-spacing:.08em;border-radius:999px;padding:.28rem .55rem;font-size:.625rem}.dial-card,.meter-card{width:100%;max-width:32rem;box-shadow:inset 0 1px 0 #ffffff0f, 0 2px 4px -1px #00000059, 0 24px 48px -18px #00000080, 0 60px 120px -50px color-mix(in oklch, var(--app-brand) 45%, transparent);color:#f4f4fa;background:linear-gradient(#12121b,#0b0b12);border:1px solid #ffffff14;border-radius:22px;margin-inline:auto;padding:clamp(1.25rem,3vw,2rem)}.dial-face{max-width:27rem;margin-inline:auto;position:relative}.dial-tick{font-family:var(--font-mono);fill:#7d7d96;font-size:12px}.dial-centre{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;padding-top:5%;display:flex;position:absolute;inset:0}.dial-number{font-family:var(--font-display);letter-spacing:-.045em;font-variant-numeric:tabular-nums;font-size:clamp(3.4rem,9vw,5.4rem);font-weight:800;line-height:1}.dial-unit{pointer-events:auto;color:#a9a9c0;min-height:2rem;font:600 .875rem/1.4 var(--font-sans);letter-spacing:.02em;cursor:pointer;transition:color .2s var(--ease-out-expo), background-color .2s var(--ease-out-expo);background:#1a1a26;border-radius:999px;margin-top:.4rem;padding:.15rem .8rem}.dial-unit:hover{color:#f4f4fa;background:#232332}.dial-mode{font:500 .75rem/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:#9a9ab2;margin-top:.7rem}.dial-chips{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:-1.5rem;display:flex;position:relative}.dial-chip{isolation:isolate;color:#a9a9c0;height:2.75rem;font:600 .875rem/1 var(--font-sans);cursor:pointer;transition:color .2s var(--ease-out-expo), border-color .2s var(--ease-out-expo), transform .15s var(--ease-out-expo);background:#101018;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:.45rem;padding:0 1rem;display:inline-flex;position:relative}.dial-chip:hover{color:#f4f4fa;border-color:#ffffff2e}.dial-chip.is-on{color:var(--app-on-brand);border-color:#0000}.dial-chip:active{transition-duration:60ms;transform:scale(.97)}.dial-chip-fill{z-index:-1;border-radius:inherit;background:var(--app-brand);position:absolute;inset:-1px}.dial-unit:focus-visible,.dial-chip:focus-visible,.meter-go:focus-visible,.meter-again:focus-visible{outline:2px solid var(--app-brand-hi);outline-offset:3px}.screen-rail{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--color-rule) transparent;grid-auto-columns:min(62vw,15.5rem);grid-auto-flow:column;gap:clamp(1.25rem,2.5vw,2.25rem);margin-top:2.5rem;padding-block:1rem 1.5rem;display:grid;overflow-x:auto}.screen-rail:focus-visible{outline:2px solid var(--color-accent);outline-offset:6px;border-radius:var(--r-card)}.screen-rail-item{scroll-snap-align:start}@media (min-width:768px){.screen-rail-item:nth-child(2n){padding-top:3.5rem}}.ladder{border:1px solid var(--color-rule);border-radius:var(--r-panel);background:var(--color-surface);box-shadow:var(--lift-1);padding:clamp(1.5rem,4vw,3rem)}.ladder-readout{gap:1rem;display:grid}@media (min-width:768px){.ladder-readout{grid-template-columns:minmax(11rem,auto) 1fr;align-items:end;gap:3rem}}.ladder-speed{align-items:baseline;gap:.6rem;display:flex}.ladder-speed .font-display{letter-spacing:-.045em;font-variant-numeric:tabular-nums;font-size:clamp(3.5rem,9vw,6.25rem);font-weight:800;line-height:.9}.ladder-speed-unit{font:500 .875rem/1 var(--font-mono);letter-spacing:.08em;color:var(--color-muted)}.ladder-says{max-width:46ch;min-height:3.5rem;position:relative}.ladder-track{height:7rem;margin-top:2.75rem;position:relative}.ladder-bands{height:4.5rem;position:absolute;inset:0 0 auto}.ladder-band{border-left:1px solid var(--color-canvas);background:color-mix(in oklch, var(--color-accent) 9%, var(--color-canvas));color:var(--color-muted);font:600 .8125rem/1.2 var(--font-sans);white-space:nowrap;transition:background-color .25s var(--ease-out-expo), color .25s var(--ease-out-expo);flex-direction:column;justify-content:center;gap:.35rem;padding-inline:clamp(.4rem,1.2vw,.85rem);display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.ladder-band:first-child{border-left:0;border-radius:.9rem 0 0 .9rem}.ladder-band:last-child{border-radius:0 .9rem .9rem 0}.ladder-band.is-on{background:color-mix(in oklch, var(--color-accent) 30%, var(--color-canvas));color:var(--color-ink)}@media (max-width:639px){.ladder-band span{display:none}}.ladder-needle{background:var(--color-ink);pointer-events:none;border-radius:2px;width:2px;height:5.7rem;margin-left:-1px;position:absolute;top:-.6rem}.ladder-needle:after{content:"";background:var(--color-accent-solid);border:3px solid var(--color-surface);width:1.1rem;height:1.1rem;box-shadow:var(--lift-1);border-radius:999px;margin-left:-.55rem;position:absolute;bottom:-.55rem;left:50%}.ladder-input{opacity:0;cursor:ew-resize;touch-action:pan-y;width:100%;height:5.7rem;margin:0;position:absolute;inset:-.6rem 0 auto}.ladder-track:has(.ladder-input:focus-visible) .ladder-bands{outline:2px solid var(--color-accent);outline-offset:5px;border-radius:1rem}.ladder-marks{position:absolute;inset:5.6rem 0 auto}.ladder-marks span{font:500 .6875rem/1 var(--font-mono);color:var(--color-faint);position:absolute;transform:translate(-50%)}.ladder-marks span:first-child{transform:none}.ladder-marks span:last-child{transform:translate(-100%)}.trips-grid{align-items:center;gap:4rem;display:grid}@media (min-width:1024px){.trips-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:5.5rem}}.trips-phones{width:min(100%,30rem);margin-inline:auto;padding-bottom:16%;position:relative}.trips-phone-back{width:60%;transform:rotate(-5deg)}.trips-phone-front{width:60%;position:absolute;top:14%;right:0;transform:rotate(4deg)}.smooth{border:1px solid var(--color-rule);border-radius:var(--r-card);background:var(--color-canvas);padding:1.25rem 1.25rem 1rem}.smooth-grid{stroke:var(--color-rule);stroke-opacity:.45;stroke-dasharray:2 4}.smooth-axis{font-family:var(--font-mono);fill:var(--color-faint);font-size:14px}.smooth-band{fill:color-mix(in oklch, var(--color-accent) 12%, transparent)}.smooth-dot{fill:var(--color-faint)}.smooth-line{fill:none;stroke:var(--color-accent-ink);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.smooth-key{color:var(--color-muted);flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:.75rem;font-size:.8125rem;display:flex}.smooth-key span{align-items:center;gap:.5rem;display:inline-flex}.smooth-key-dot{background:var(--color-faint);border-radius:999px;width:7px;height:7px}.smooth-key-line{background:var(--color-accent-ink);border-radius:3px;width:18px;height:3px}.smooth-key-band{background:color-mix(in oklch, var(--color-accent) 22%, transparent);border-radius:3px;width:14px;height:12px}.statement{letter-spacing:-.032em;max-width:19ch;font-size:clamp(2rem,5vw,3.9rem);line-height:1.02}.privacy-row{border-top:1px solid var(--color-rule);gap:2.5rem;margin-top:clamp(3rem,6vw,4.5rem);padding-top:2.5rem;display:grid}@media (min-width:768px){.privacy-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem}}.bars-grid{align-items:center;gap:4rem;display:grid}@media (min-width:1024px){.bars-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:5rem}}.bars-phone{width:min(70vw,18.75rem);margin-inline:auto}.how-grid{border-top:1px solid var(--color-rule);gap:2rem 2.5rem;margin-top:3rem;padding-top:2.5rem;display:grid}@media (min-width:640px){.how-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.install-grid{align-items:start;gap:3rem;display:grid}@media (min-width:1024px){.install-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:5rem}}.install-scan{border:1px solid var(--color-rule);border-radius:var(--r-panel);background:radial-gradient(90% 80% at 0% 0%, color-mix(in oklch, var(--color-accent) 14%, transparent), transparent 70%), var(--color-canvas);box-shadow:var(--lift-1);flex-direction:column;gap:2rem;padding:clamp(1.5rem,3vw,2.25rem);display:flex}@media (min-width:640px){.install-scan{flex-direction:row;align-items:center}}.install-qr{display:none}@media (min-width:640px){.install-qr{border-radius:var(--r-card);width:10rem;box-shadow:var(--lift-2);background:#f4f6fb;flex:none;padding:.85rem;display:block}.install-qr svg{width:100%;height:auto;display:block}}.install-steps{display:grid}.install-step{grid-template-columns:2.25rem 1fr;gap:1.1rem;padding-bottom:1.6rem;display:grid;position:relative}.install-steps>li:not(:last-child) .install-step:before{content:"";background:var(--color-rule);width:1px;position:absolute;top:2.5rem;bottom:.25rem;left:calc(1.125rem - .5px)}.install-step-n{border:1px solid var(--color-accent);width:2.25rem;height:2.25rem;color:var(--color-accent-ink);font:500 .8125rem/1 var(--font-mono);border-radius:999px;place-items:center;display:grid}.install-facts{border-top:1px solid var(--color-rule);grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 2rem;margin-top:1rem;padding-top:1.75rem;display:grid}@media (min-width:640px){.install-facts{grid-template-columns:repeat(4,minmax(0,1fr))}}.closing-grid{align-items:center;gap:3.5rem;display:grid}@media (min-width:1024px){.closing-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:4rem}}.sister{border-radius:var(--r-panel);border:1px solid var(--color-rule);background:radial-gradient(110% 90% at 100% 0%, color-mix(in oklch, var(--color-accent) 20%, transparent), transparent 65%), var(--color-surface);min-height:19rem;color:var(--color-ink);box-shadow:var(--lift-1);transition:border-color .3s var(--ease-out-expo), transform .3s var(--ease-out-expo), box-shadow .3s var(--ease-out-expo);grid-template-columns:minmax(0,1fr) auto;display:grid;overflow:hidden}.sister:hover{border-color:var(--color-accent);box-shadow:var(--lift-2);transform:translateY(-2px)}.sister:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.sister-copy{flex-direction:column;padding:clamp(1.5rem,3vw,2.25rem);display:flex}.sister-go{font:500 .6875rem/1.45 var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent-ink);align-items:center;gap:.45rem;margin-top:auto;padding-top:1.5rem;display:inline-flex}.sister-shot{transform-origin:bottom;width:clamp(7.5rem,16vw,11.5rem);transition:transform .5s var(--ease-out-expo);border:6px solid #0c0c11;border-bottom:0;border-radius:1.7rem 1.7rem 0 0;align-self:end;margin-right:clamp(1rem,2.5vw,2rem);overflow:hidden;transform:translateY(16%)rotate(4deg)}.sister-shot img{width:100%;height:auto;display:block}.sister:hover .sister-shot{transform:translateY(9%)rotate(2deg)}.meter-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.meter-icon{color:#a196ff;background:#7c6cff29;border-radius:12px;place-items:center;width:2.5rem;height:2.5rem;display:grid}.meter-title{font:600 1rem/1.3 var(--font-sans)}.meter-sub{color:#a9a9c0;font-size:.8125rem}.meter-pill{font:600 .75rem/1.4 var(--font-sans);border:1px solid;border-radius:999px;padding:.2rem .65rem}.tone-success{color:#34d399;background:#34d39921;border-color:#34d39947}.tone-danger{color:#f87171;background:#f8717121;border-color:#f8717147}.tone-neutral{color:#a9a9c0;background:#ffffff0f;border-color:#ffffff17}.meter-reading{align-items:baseline;gap:.5rem;margin-top:1.75rem;display:flex}.meter-number{font-family:var(--font-display);letter-spacing:-.045em;font-variant-numeric:tabular-nums;transition:color .4s var(--ease-out-expo);font-size:clamp(4rem,10vw,5.75rem);font-weight:800;line-height:.95}.meter-unit{font:600 1.125rem/1 var(--font-sans);color:#a9a9c0}.meter-spark{width:100%;height:4rem;margin-top:1rem;display:block;overflow:visible}.meter-spark-line{fill:none;stroke:#a196ff;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.meter-spark-dot{fill:#a196ff}.meter-hint{color:#9a9ab2;margin-top:.75rem;font-size:.8125rem}.meter-survey{border-top:1px solid #ffffff14;min-height:8.75rem;margin-top:1.5rem;padding-top:1.5rem}.meter-go{background:var(--app-brand);width:100%;height:3.25rem;color:var(--app-on-brand);font:600 1rem/1 var(--font-sans);cursor:pointer;transition:background-color .2s var(--ease-out-expo), transform .15s var(--ease-out-expo);border-radius:14px}.meter-go:hover:not(:disabled){background:color-mix(in oklch, var(--app-brand) 88%, white)}.meter-go:active:not(:disabled){transition-duration:60ms;transform:scale(.985)}.meter-go:disabled{opacity:.5;cursor:default}.meter-note{text-align:center;color:#9a9ab2;margin-top:.75rem;font-size:.75rem}.meter-error{color:#fbbf24;margin-bottom:.85rem;font-size:.875rem}.meter-progress-label{font:600 .9375rem/1.3 var(--font-sans)}.meter-pips{gap:6px;margin-top:1rem;display:flex}.meter-pip{width:1.5rem;height:.4rem;transition:background-color .3s var(--ease-out-expo);background:#ffffff14;border-radius:999px}.meter-pip.is-wide{flex:1}.meter-pip.is-active{background:#a196ff73}.meter-pip.is-done{background:#a196ff}.meter-result{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.25rem;display:flex}.meter-score{font-family:var(--font-display);letter-spacing:-.04em;font-size:3.4rem;font-weight:800;line-height:.95}.meter-grade{color:#a9a9c0;margin-top:.35rem;font-size:.875rem}.meter-stats{grid-template-columns:repeat(3,auto);gap:1.25rem;display:grid}.meter-stats dt{font:500 .625rem/1.4 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:#9a9ab2}.meter-stats dd{font:600 1rem/1.2 var(--font-sans);font-variant-numeric:tabular-nums;margin-top:.25rem}.meter-again{min-height:2.75rem;font:600 .8125rem/1 var(--font-sans);color:#a196ff;cursor:pointer;transition:color .2s var(--ease-out-expo);align-items:center;gap:.4rem;margin-top:.5rem;display:inline-flex}.meter-again:hover{color:#cbc4ff}.story{gap:4rem;display:grid}.story-stage{display:none}.story-steps{gap:4.5rem;display:grid}.story-inline{width:min(70vw,18.75rem);margin-top:2rem}@media (min-width:1024px){.story{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:6rem}.story-stage{align-self:start;display:block;position:sticky;top:7rem}.story-phone{width:min(100%,19rem);margin-inline:auto;position:relative;overflow:hidden}.story-steps{gap:0}.story-step{opacity:.32;min-height:72vh;transition:opacity .45s var(--ease-out-expo);flex-direction:column;justify-content:center;display:flex}.story-step.is-on{opacity:1}.story-inline{display:none}}.lab{border:1px solid var(--color-rule);border-radius:var(--r-panel);background:var(--color-surface);box-shadow:var(--lift-1);gap:3rem;padding:clamp(1.5rem,4vw,3rem);display:grid}@media (min-width:1024px){.lab{grid-template-columns:minmax(0,1fr) minmax(0,21rem);column-gap:5rem}}.lab-controls{flex-direction:column;gap:2rem;display:flex}.lab-value{font:500 .9375rem/1 var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-accent-ink)}.lab-input{appearance:none;cursor:pointer;background:0 0;width:100%;height:2.75rem;margin-top:.25rem;display:block}.lab-input::-webkit-slider-runnable-track{background:color-mix(in oklch, var(--color-rule) 45%, transparent);border-radius:999px;height:6px}.lab-input::-moz-range-track{background:color-mix(in oklch, var(--color-rule) 45%, transparent);border-radius:999px;height:6px}.lab-input::-webkit-slider-thumb{-webkit-appearance:none;border:3px solid var(--color-surface);background:var(--color-accent-solid);width:1.4rem;height:1.4rem;box-shadow:var(--lift-1);transition:transform .15s var(--ease-out-expo);border-radius:999px;margin-top:calc(3px - .7rem)}.lab-input::-moz-range-thumb{border:3px solid var(--color-surface);background:var(--color-accent-solid);width:1.4rem;height:1.4rem;box-shadow:var(--lift-1);border-radius:999px}.lab-input:active::-webkit-slider-thumb{transform:scale(1.12)}.lab-input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:999px}.lab-ring-wrap{flex-direction:column;align-items:center;display:flex;position:relative}.lab-ring{width:min(100%,15rem);height:auto;display:block}.lab-ring-track{fill:none;stroke:color-mix(in oklch, var(--color-rule) 30%, transparent);stroke-width:14px}.lab-arc{fill:none;stroke-width:14px}.lab-arc-a{stroke:var(--color-accent-solid);background:var(--color-accent-solid)}.lab-arc-b{stroke:color-mix(in oklch, var(--color-accent) 62%, var(--color-surface));background:color-mix(in oklch, var(--color-accent) 62%, var(--color-surface))}.lab-arc-c{stroke:color-mix(in oklch, var(--color-accent) 32%, var(--color-surface));background:color-mix(in oklch, var(--color-accent) 32%, var(--color-surface))}.lab-ring-centre{aspect-ratio:1;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;width:min(100%,15rem);display:flex;position:absolute;top:0}.lab-score{font-family:var(--font-display);letter-spacing:-.045em;font-variant-numeric:tabular-nums;font-size:3.6rem;font-weight:800;line-height:1}.lab-grade{font:600 .9375rem/1 var(--font-sans);color:var(--color-muted);margin-top:.35rem}.lab-parts{gap:.6rem;width:min(100%,15rem);margin-top:1.75rem;font-size:.875rem;display:grid}.lab-parts li{grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;display:grid}.lab-swatch{border-radius:3px;width:.75rem;height:.75rem}.lab-pts{font:500 .875rem/1 var(--font-mono);font-variant-numeric:tabular-nums}.lab-grades{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;display:grid}@media (min-width:768px){.lab-grades{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (min-width:1024px){.lab-grades{grid-column:1/-1}}.lab-grades li{border-top:3px solid color-mix(in oklch, var(--tone) 30%, transparent);transition:border-color .25s var(--ease-out-expo), background-color .25s var(--ease-out-expo);border-radius:0 0 .6rem .6rem;flex-direction:column;gap:.3rem;padding:.8rem .7rem;display:flex}.lab-grades li.is-on{border-top-color:var(--tone);background:color-mix(in oklch, var(--tone) 12%, transparent)}.lab-grade-name{font:600 .875rem/1.2 var(--font-sans)}.lab-grade-range{font:500 .6875rem/1 var(--font-mono);color:var(--color-faint)}@media (prefers-reduced-motion:reduce){.sister,.sister-shot,.story-step,.ladder-band,.lab-grades li,.meter-number,.meter-pip{transition:none}.sister:hover{transform:none}.sister:hover .sister-shot{transform:translateY(16%)rotate(4deg)}}.signup-page{padding-block:clamp(3.5rem,8vw,6.5rem) clamp(4rem,9vw,7rem);position:relative;overflow:hidden}.signup-grid{align-items:start;gap:clamp(3rem,6vw,5.5rem);display:grid;position:relative}@media (min-width:1024px){.signup-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}}.signup-card{border:1px solid var(--color-rule);background:color-mix(in oklch, var(--color-surface) 70%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);max-width:30rem;box-shadow:inset 0 1px 0 color-mix(in oklch, var(--color-ink) 7%, transparent), 0 30px 60px -40px #0000008c;border-radius:1.5rem;padding:clamp(1.5rem,3.5vw,2.25rem)}.signup-label{color:var(--color-muted);margin-top:1.4rem;font-size:.8rem;font-weight:500;display:block}.signup-label:first-of-type{margin-top:0}.signup-or{color:var(--color-faint);align-items:center;gap:.9rem;margin-block:1.6rem;font-size:.75rem;display:flex}.signup-or:before,.signup-or:after{content:"";background:var(--color-rule);flex:1;height:1px}.signup-check{color:var(--color-muted);cursor:pointer;align-items:flex-start;gap:.7rem;margin-top:1.7rem;font-size:.875rem;line-height:1.45;display:flex}.signup-check input{width:1rem;height:1rem;accent-color:var(--color-accent-solid);flex-shrink:0;margin-top:.2rem}.signup-code{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.5em;text-align:center;margin-top:.9rem;font-weight:600;font-size:1.35rem!important}.signup-aside{justify-items:center;gap:2.75rem;display:grid}.signup-phone{width:min(300px,64vw);transition:transform .6s cubic-bezier(.16,1,.3,1);transform:rotate(3deg)}.signup-phone:hover{transform:rotate(0)translateY(-6px)}.signup-steps{gap:1.4rem;max-width:26rem;display:grid}.signup-steps li{border-top:1px solid var(--color-rule);grid-template-columns:2.25rem 1fr;gap:.5rem;padding-top:1.1rem;display:grid}@media (prefers-reduced-motion:reduce){.signup-phone,.signup-phone:hover{transform:none}}
