:root{color-scheme:light;--bg:#f5f6f8;--surface:#fff;--surface-sunken:#eceef2;--line:#d8dbe2;--line-soft:#e6e8ee;--text:#16181d;--muted:#5a606c;--faint:#868d9b;--accent:#0f6f85;--accent-strong:#0b5566;--accent-wash:#dff0f4;--accent-line:#9fd0dc;--on-accent:#fff;--danger:#b3261e;--danger-wash:#f8e7e6;--on-danger:#fff;--warn:#8a5a09;--warn-wash:#f7f0dc;--ok:#1d7a3d;--ok-wash:#dcf0e3;--hero-base:#0d1418;--hero-1:#11889e;--hero-2:#1c5fa8;--hero-3:#6a44b8;--ai:#6fd8e6;--radius-sm:2px;--radius-md:2px;--radius-lg:2px;--radius-pill:2rem;--radius-round:50%;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.5rem;--text-hero:clamp(2.6rem,10vw,5.1rem);--leading-tight:1.25;--leading-normal:1.55;--weight-thin:200;--weight-light:250;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--tracking-wide:0.08em;--tracking-brand:0.10em;--tracking-vertical:0.46em;--control-sm:2.25rem;--control-md:2.75rem;--control-lg:4rem;--control-xl:5.5rem;--focus-ring:2px;--hairline:1px;--shadow-card:0 1px 2px rgba(22,24,29,.06);--shadow-lift:0 10px 30px rgba(15,111,133,.22);--fast:0.15s;--slow:0.3s;--pulse:1.8s;--drift:4s;--shell-max:90rem;--reading-max:46rem;--form-max:24rem;--panel-min:22rem;--font-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-brand:"Unbounded",var(--font-sans)}*,:after,:before{box-sizing:border-box}body,html{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-regular);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-weight:var(--weight-medium);margin:0}p{margin:0}a{color:var(--accent)}::selection{background:var(--accent-wash)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@font-face{font-family:Unbounded;font-style:normal;font-weight:200 400;font-display:block;src:url(/fonts/unbounded-latin.woff2) format("woff2")}.shell{display:flex;flex-direction:column;max-width:var(--shell-max);min-height:100dvh}.shell,.shell__main{width:100%;margin:0 auto}.shell__main{flex:1 1;padding:var(--space-6) var(--space-5) var(--space-7)}.shell__main--narrow{max-width:var(--form-max)}.shell__main--wide{max-width:var(--reading-max)}.shell__wait{color:var(--faint);text-align:center}.bar{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--line);background:var(--surface)}.bar__brand{display:flex;align-items:baseline;gap:var(--space-2);color:var(--text);text-decoration:none}.bar__name{font-weight:var(--weight-light);font-size:var(--text-lg);letter-spacing:var(--tracking-brand)}.bar__line,.bar__name{font-family:var(--font-brand)}.bar__line{font-weight:var(--weight-thin);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--faint)}.bar__side{margin-left:auto;display:flex;gap:var(--space-3)}.bar__side,.btn{align-items:center}.btn{display:inline-flex;justify-content:center;gap:var(--space-2);min-height:var(--control-md);padding:var(--space-2) var(--space-5);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font:inherit;font-size:var(--text-sm);text-decoration:none;cursor:pointer;transition:border-color var(--fast),background var(--fast),color var(--fast)}.btn:hover{border-color:var(--accent-line)}.btn:focus-visible{outline:var(--focus-ring) solid var(--accent);outline-offset:var(--focus-ring)}.btn[disabled]{opacity:.45;cursor:default}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn--primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn--quiet{border-color:transparent;background:transparent;color:var(--muted)}.btn--quiet:hover{color:var(--accent);border-color:transparent}.btn--wide{width:100%}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field__label{color:var(--muted);font-size:var(--text-sm)}.field__input{min-height:var(--control-md);padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font:inherit;font-size:var(--text-base)}.field__input:focus-visible{outline:var(--focus-ring) solid var(--accent);outline-offset:0;border-color:var(--accent)}.field__hint{color:var(--faint);font-size:var(--text-xs)}.notice{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border-left:3px solid;font-size:var(--text-sm)}.notice--error{background:var(--danger-wash);border-color:var(--danger);color:var(--danger)}.notice--warn{background:var(--warn-wash);border-color:var(--warn);color:var(--warn)}.notice--ok{background:var(--ok-wash);border-color:var(--ok);color:var(--text)}.chip{display:inline-block;padding:var(--space-1) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--muted);font-size:var(--text-sm);white-space:nowrap}.chip-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.status-dot{flex:none;width:var(--space-3);height:var(--space-3);border-radius:var(--radius-round);background:var(--faint)}.status-dot--ok{background:var(--ok);box-shadow:var(--shadow-card)}.status-dot--idle{background:var(--warn)}.status-dot--off{background:var(--faint)}.stat{display:flex;flex-direction:column;gap:var(--space-1)}.stat__value{font-size:var(--text-xl);font-weight:var(--weight-light);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:var(--leading-tight)}.stat__label{color:var(--muted);font-size:var(--text-sm)}.stat-row{display:flex;flex-wrap:wrap;gap:var(--space-6)}.hero{position:fixed;inset:0;display:grid;place-items:center;overflow:hidden;background:var(--hero-base);text-shadow:0 1px 12px color-mix(in srgb,var(--hero-base) 45%,transparent)}.hero__bg{position:absolute;inset:-30%;background:radial-gradient(circle at 30% 30%,var(--hero-1),var(--hero-2) 55%,var(--hero-3));filter:brightness(.5);animation:hero-drift var(--drift) ease-in-out infinite}@keyframes hero-drift{0%{transform:translate(-4%,-3%) scale(1)}50%{transform:translate(4%,3%) scale(1.06)}to{transform:translate(-4%,-3%) scale(1)}}.hero__grain{position:absolute;inset:0;pointer-events:none;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}.hero__inner{position:relative;display:grid;justify-items:center;grid-gap:var(--space-6);gap:var(--space-6);padding:var(--space-6);text-align:center}.wordmark__name{margin:0;font-family:var(--font-brand);font-weight:var(--weight-thin);font-size:var(--text-hero);letter-spacing:var(--tracking-brand);color:var(--on-accent);white-space:nowrap}.wordmark__name span{display:inline-block}.wordmark__m{margin-right:-.03em}.wordmark__i{margin-right:-.01em}.wordmark__v{margin-right:-.08em}.wordmark__ai{color:var(--ai)}.wordmark__line{margin-top:var(--space-2);font-family:var(--font-brand);font-weight:var(--weight-thin);font-size:clamp(var(--text-xs),2.5vw,var(--text-lg));letter-spacing:var(--tracking-vertical);text-indent:var(--tracking-vertical);color:color-mix(in srgb,var(--on-accent) 72%,transparent)}.device{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-card)}.device__body{min-width:0}.device__name{font-weight:var(--weight-medium);overflow-wrap:anywhere}.device__meta{color:var(--muted);font-size:var(--text-sm)}.device__seen{margin-left:auto;text-align:right;color:var(--faint);font-size:var(--text-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.device__seen-label{display:block;letter-spacing:var(--tracking-wide);text-transform:uppercase}.download{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--accent-line);border-radius:var(--radius-md);background:var(--accent-wash)}.download,.download__body{display:flex;flex-direction:column}.download__body{gap:var(--space-1)}.download__title{font-family:var(--font-brand);font-weight:var(--weight-light);font-size:var(--text-lg)}.download__desc{color:var(--muted);font-size:var(--text-sm)}.download__soon{color:var(--warn);font-size:var(--text-sm)}.auth{gap:var(--space-5)}.auth,.auth__head{display:flex;flex-direction:column}.auth__head{gap:var(--space-1)}.auth__title{font-family:var(--font-brand);font-weight:var(--weight-light);font-size:var(--text-xl)}.auth__lead{color:var(--muted);font-size:var(--text-sm)}.auth__form{display:flex;flex-direction:column;gap:var(--space-4)}.auth__alt{display:flex;align-items:baseline;gap:var(--space-2);color:var(--muted);font-size:var(--text-sm)}.dash{gap:var(--space-6)}.dash,.dash__head{display:flex;flex-direction:column}.dash__head{gap:var(--space-1)}.dash__title{font-family:var(--font-brand);font-weight:var(--weight-light);font-size:var(--text-xl)}.dash__lead{color:var(--muted);font-size:var(--text-sm)}.dash__section{display:flex;flex-direction:column;gap:var(--space-3)}.dash__heading{font-size:var(--text-lg)}.dash__note{color:var(--muted);font-size:var(--text-sm)}.dash__quiet{color:var(--faint);font-size:var(--text-sm)}.pair{gap:var(--space-5)}.pair,.pair__head{display:flex;flex-direction:column}.pair__head{gap:var(--space-1)}.pair__title{font-family:var(--font-brand);font-weight:var(--weight-light);font-size:var(--text-xl)}.pair__lead{color:var(--muted);font-size:var(--text-sm)}.pair__facts{gap:var(--space-3);padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.pair__fact,.pair__facts{display:flex;flex-direction:column}.pair__fact{gap:var(--space-1)}.pair__label{color:var(--faint);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase}.pair__value{font-weight:var(--weight-medium);overflow-wrap:anywhere}