/* [next]/internal/font/google/inter_d1f3e8e.module.css [app-client] (css) */
@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter Fallback;
  src: local(Arial);
  ascent-override: 90.44%;
  descent-override: 22.52%;
  line-gap-override: 0.0%;
  size-adjust: 107.12%;
}

.inter_d1f3e8e-module__9IXPpW__className {
  font-family: Inter, Inter Fallback;
  font-style: normal;
}

.inter_d1f3e8e-module__9IXPpW__variable {
  --font-inter: "Inter", "Inter Fallback";
}

/* [next]/internal/font/google/jetbrains_mono_6b11738f.module.css [app-client] (css) */
@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/13bf9871fe164e7f-s.2f7nqdagzwx2-.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/cc545e633e20c56d-s.176arc174-8zp.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/71b036adf157cdcf-s.0bp8oijd_gu96.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/89b21bb081cb7469-s.1fby2rem9ngyr.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/3fe682a82f50d426-s.0vfdmo25voy_0.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/70bc3e132a0a741e-s.p.3t6q91iet4nsy.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: JetBrains Mono Fallback;
  src: local(Arial);
  ascent-override: 75.79%;
  descent-override: 22.29%;
  line-gap-override: 0.0%;
  size-adjust: 134.59%;
}

.jetbrains_mono_6b11738f-module__c5tpUG__className {
  font-family: JetBrains Mono, JetBrains Mono Fallback;
  font-style: normal;
}

.jetbrains_mono_6b11738f-module__c5tpUG__variable {
  --font-jetbrains-mono: "JetBrains Mono", "JetBrains Mono Fallback";
}

/* [project]/app/globals.css [app-client] (css) */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-duration: initial;
      --tw-ease: initial;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-white: #fff;
    --spacing: .25rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --font-weight-normal: 400;
    --font-weight-extrabold: 800;
    --tracking-normal: 0em;
    --tracking-wider: .05em;
    --radius-md: .375rem;
    --radius-lg: .5rem;
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

@layer components;

@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }

  .collapse {
    visibility: collapse;
  }

  .visible {
    visibility: visible;
  }

  .sr-only {
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .sticky {
    position: sticky;
  }

  .inset-y-0\.5 {
    inset-block: calc(var(--spacing) * .5);
  }

  .top-\[2px\] {
    top: 2px;
  }

  .top-\[calc\(100\%\+8px\)\] {
    top: calc(100% + 8px);
  }

  .top-full {
    top: 100%;
  }

  .right-0 {
    right: calc(var(--spacing) * 0);
  }

  .right-4 {
    right: calc(var(--spacing) * 4);
  }

  .bottom-\[17px\] {
    bottom: 17px;
  }

  .left-0 {
    left: calc(var(--spacing) * 0);
  }

  .isolate {
    isolation: isolate;
  }

  .z-10 {
    z-index: 10;
  }

  .z-20 {
    z-index: 20;
  }

  .z-50 {
    z-index: 50;
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }

  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }

  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }

  .mb-\[22px\] {
    margin-bottom: 22px;
  }

  .block {
    display: block;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

  .inline-flex {
    display: inline-flex;
  }

  .table {
    display: table;
  }

  .h-4 {
    height: calc(var(--spacing) * 4);
  }

  .h-5 {
    height: calc(var(--spacing) * 5);
  }

  .h-\[14px\] {
    height: 14px;
  }

  .h-\[18px\] {
    height: 18px;
  }

  .max-h-80 {
    max-height: calc(var(--spacing) * 80);
  }

  .min-h-\[29px\] {
    min-height: 29px;
  }

  .min-h-\[38px\] {
    min-height: 38px;
  }

  .min-h-\[52px\] {
    min-height: 52px;
  }

  .w-4 {
    width: calc(var(--spacing) * 4);
  }

  .w-5 {
    width: calc(var(--spacing) * 5);
  }

  .w-\[14px\] {
    width: 14px;
  }

  .w-\[32px\] {
    width: 32px;
  }

  .w-full {
    width: 100%;
  }

  .max-w-\[calc\(100vw-32px\)\] {
    max-width: calc(100vw - 32px);
  }

  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }

  .min-w-\[40px\] {
    min-width: 40px;
  }

  .min-w-\[46px\] {
    min-width: 46px;
  }

  .shrink {
    flex-shrink: 1;
  }

  .shrink-0 {
    flex-shrink: 0;
  }

  .-translate-x-1\.5 {
    --tw-translate-x: calc(var(--spacing) * -1.5);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-0 {
    --tw-translate-x: calc(var(--spacing) * 0);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-\[2px\] {
    --tw-translate-x: 2px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-x-\[16px\] {
    --tw-translate-x: 16px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .rotate-180 {
    rotate: 180deg;
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .cursor-not-allowed {
    cursor: not-allowed;
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .resize {
    resize: both;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .place-items-center {
    place-items: center;
  }

  .content-center {
    align-content: center;
  }

  .items-center {
    align-items: center;
  }

  .items-stretch {
    align-items: stretch;
  }

  .justify-between {
    justify-content: space-between;
  }

  .justify-center {
    justify-content: center;
  }

  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  .truncate {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .overflow-auto {
    overflow: auto;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .rounded {
    border-radius: .25rem;
  }

  .rounded-\[5px\] {
    border-radius: 5px;
  }

  .rounded-full {
    border-radius: 3.40282e38px;
  }

  .rounded-md {
    border-radius: var(--radius-md);
  }

  .rounded-b-lg {
    border-bottom-right-radius: var(--radius-lg);
    border-bottom-left-radius: var(--radius-lg);
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-t-0 {
    border-top-style: var(--tw-border-style);
    border-top-width: 0;
  }

  .border-l-0 {
    border-left-style: var(--tw-border-style);
    border-left-width: 0;
  }

  .border-\[rgba\(235\,231\,223\,0\.7\)\] {
    border-color: #ebe7dfb3;
  }

  .border-\[var\(--accent\)\] {
    border-color: var(--accent);
  }

  .border-\[var\(--den\)\] {
    border-color: var(--den);
  }

  .border-\[var\(--good\)\] {
    border-color: var(--good);
  }

  .border-\[var\(--line\)\] {
    border-color: var(--line);
  }

  .border-\[var\(--line-bright\)\] {
    border-color: var(--line-bright);
  }

  .bg-\[rgba\(11\,13\,14\,0\.38\)\] {
    background-color: #0b0d0e61;
  }

  .bg-\[rgba\(255\,91\,31\,0\.1\)\] {
    background-color: #ff5b1f1a;
  }

  .bg-\[rgba\(255\,91\,31\,0\.16\)\] {
    background-color: #ff5b1f29;
  }

  .bg-\[var\(--accent\)\] {
    background-color: var(--accent);
  }

  .bg-\[var\(--bg-2\)\] {
    background-color: var(--bg-2);
  }

  .bg-\[var\(--bg-3\)\] {
    background-color: var(--bg-3);
  }

  .bg-\[var\(--line-bright\)\] {
    background-color: var(--line-bright);
  }

  .bg-white {
    background-color: var(--color-white);
  }

  .p-0\.5 {
    padding: calc(var(--spacing) * .5);
  }

  .p-1\.5 {
    padding: calc(var(--spacing) * 1.5);
  }

  .p-2 {
    padding: calc(var(--spacing) * 2);
  }

  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }

  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }

  .px-3\.5 {
    padding-inline: calc(var(--spacing) * 3.5);
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .px-\[9px\] {
    padding-inline: 9px;
  }

  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }

  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }

  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }

  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }

  .py-\[6px\] {
    padding-block: 6px;
  }

  .pr-11 {
    padding-right: calc(var(--spacing) * 11);
  }

  .text-center {
    text-align: center;
  }

  .text-left {
    text-align: left;
  }

  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }

  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .text-\[10px\] {
    font-size: 10px;
  }

  .text-\[11px\] {
    font-size: 11px;
  }

  .font-\[var\(--font-mono\)\] {
    --tw-font-weight: var(--font-mono);
    font-weight: var(--font-mono);
  }

  .font-extrabold {
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
  }

  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }

  .tracking-\[0\.06em\] {
    --tw-tracking: .06em;
    letter-spacing: .06em;
  }

  .tracking-normal {
    --tw-tracking: var(--tracking-normal);
    letter-spacing: var(--tracking-normal);
  }

  .tracking-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }

  .whitespace-nowrap {
    white-space: nowrap;
  }

  .text-\[var\(--accent\)\] {
    color: var(--accent);
  }

  .text-\[var\(--bg\)\] {
    color: var(--bg);
  }

  .text-\[var\(--den\)\] {
    color: var(--den);
  }

  .text-\[var\(--good\)\] {
    color: var(--good);
  }

  .text-\[var\(--ink\)\] {
    color: var(--ink);
  }

  .text-\[var\(--ink-dim\)\] {
    color: var(--ink-dim);
  }

  .lowercase {
    text-transform: lowercase;
  }

  .normal-case {
    text-transform: none;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .opacity-0 {
    opacity: 0;
  }

  .opacity-55 {
    opacity: .55;
  }

  .opacity-60 {
    opacity: .6;
  }

  .opacity-100 {
    opacity: 1;
  }

  .shadow-\[var\(--shadow\)\] {
    --tw-shadow: var(--shadow);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .duration-200 {
    --tw-duration: .2s;
    transition-duration: .2s;
  }

  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }

  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }

  @media (hover: hover) {
    .hover\:border-\[var\(--accent\)\]:hover {
      border-color: var(--accent);
    }
  }

  @media (hover: hover) {
    .hover\:bg-\[rgba\(255\,255\,255\,0\.04\)\]:hover {
      background-color: #ffffff0a;
    }
  }

  @media (hover: hover) {
    .hover\:text-\[var\(--accent\)\]:hover {
      color: var(--accent);
    }
  }

  @media (hover: hover) {
    .hover\:text-\[var\(--ink\)\]:hover {
      color: var(--ink);
    }
  }

  @media (min-width: 64rem) {
    .lg\:top-1\/2 {
      top: 50%;
    }
  }

  @media (min-width: 64rem) {
    .lg\:right-auto {
      right: auto;
    }
  }

  @media (min-width: 64rem) {
    .lg\:left-full {
      left: 100%;
    }
  }

  @media (min-width: 64rem) {
    .lg\:mt-0 {
      margin-top: calc(var(--spacing) * 0);
    }
  }

  @media (min-width: 64rem) {
    .lg\:ml-2 {
      margin-left: calc(var(--spacing) * 2);
    }
  }

  @media (min-width: 64rem) {
    .lg\:grid {
      display: grid;
    }
  }

  @media (min-width: 64rem) {
    .lg\:hidden {
      display: none;
    }
  }

  @media (min-width: 64rem) {
    .lg\:min-h-\[50px\] {
      min-height: 50px;
    }
  }

  @media (min-width: 64rem) {
    .lg\:-translate-y-1\/2 {
      --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }

  @media (min-width: 64rem) {
    .lg\:grid-cols-\[minmax\(220px\,1fr\)_minmax\(150px\,0\.66fr\)_minmax\(170px\,1fr\)_minmax\(170px\,1fr\)_minmax\(140px\,0\.7fr\)\] {
      grid-template-columns: minmax(220px, 1fr) minmax(150px, .66fr) minmax(170px, 1fr) minmax(170px, 1fr) minmax(140px, .7fr);
    }
  }

  @media (min-width: 64rem) {
    .lg\:items-center {
      align-items: center;
    }
  }

  @media (min-width: 64rem) {
    .lg\:gap-3 {
      gap: calc(var(--spacing) * 3);
    }
  }

  @media (min-width: 64rem) {
    .lg\:border-l {
      border-left-style: var(--tw-border-style);
      border-left-width: 1px;
    }
  }

  @media (min-width: 64rem) {
    .lg\:border-\[rgba\(255\,255\,255\,0\.06\)\] {
      border-color: #ffffff0f;
    }
  }

  @media (min-width: 64rem) {
    .lg\:pl-3 {
      padding-left: calc(var(--spacing) * 3);
    }
  }

  @media (min-width: 64rem) {
    .lg\:first\:border-l-0:first-child {
      border-left-style: var(--tw-border-style);
      border-left-width: 0;
    }
  }

  @media (min-width: 64rem) {
    .lg\:first\:pl-0:first-child {
      padding-left: calc(var(--spacing) * 0);
    }
  }
}

:root {
  --bg: #0b0d0e;
  --bg-2: #111416;
  --bg-3: #171b1e;
  --ink: #ebe7df;
  --ink-dim: #969089;
  --ink-faint: #5b554d;
  --line: #24292d;
  --line-bright: #343b40;
  --accent: #ff5b1f;
  --accent-2: #ffd84d;
  --den: #5ab8ff;
  --good: #4dd28a;
  --warn: #ff8a3d;
  --bad: #ff4d6a;
  --paper: #f3ede1;
  --shadow: 0 24px 80px #00000061;
  --font-display: "Arial Narrow", "Roboto Condensed", Impact, sans-serif;
  --font-body: Georgia, "Times New Roman", serif;
  --font-mono: var(--font-jetbrains-mono), "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --font-ui: var(--font-inter), ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --fs-display-1: clamp(48px, 7vw, 86px);
  --fs-display-2: clamp(34px, 5vw, 56px);
  --fs-display-3: clamp(26px, 3.4vw, 40px);
  --fs-hero: clamp(56px, 8vw, 98px);
  --fs-title: 20px;
  --fs-body: 15px;
  --fs-small: 13px;
  --fs-eyebrow: 12px;
  --lh-display: .92;
  --lh-body: 1.55;
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;
  --sp-7: 48px;
  --sp-8: 64px;
  --page-max: 1180px;
  --page-pad: clamp(20px, 4vw, 48px);
}

* {
  box-sizing: border-box;
}

html, body {
  background: var(--bg);
  min-height: 100%;
  color: var(--ink);
  font-family: var(--font-body);
  margin: 0;
  overflow-x: hidden;
}

body:before {
  content: "";
  z-index: -2;
  background: radial-gradient(circle at 18% 8%, #ff5b1f1a, transparent 34%),
    radial-gradient(circle at 86% 78%, #ffd84d0f, transparent 42%),
    var(--bg);
  position: fixed;
  inset: 0;
}

body:after {
  content: "";
  z-index: -1;
  pointer-events: none;
  opacity: .38;
  background-image: linear-gradient(#ffffff06 1px, #0000 1px), linear-gradient(90deg, #ffffff05 1px, #0000 1px);
  background-size: 72px 72px;
  position: fixed;
  inset: 0;
  -webkit-mask-image: linear-gradient(#000, #0000 78%);
  mask-image: linear-gradient(#000, #0000 78%);
}

a {
  color: inherit;
  text-decoration: none;
}

button, input, select {
  font: inherit;
}

button {
  cursor: pointer;
}

::selection {
  background: var(--accent);
  color: var(--bg);
}

.page-shell {
  min-height: 100vh;
}

html:not([data-standalone="true"]) .page-shell:has(.page-scroller) {
  flex-direction: column;
  display: flex;
}

html:not([data-standalone="true"]) .page-scroller, html:not([data-standalone="true"]) .tab-track, html:not([data-standalone="true"]) .tab-pane {
  flex-direction: column;
  flex: 1;
  display: flex;
}

html:not([data-standalone="true"]) .tab-pane > .search-layout, html:not([data-standalone="true"]) .tab-pane > .page-container {
  flex: 1;
}

.starter-panel {
  border: 1px solid var(--line);
  background: var(--bg-2);
  max-width: 720px;
  padding: 32px;
}

.eyebrow {
  color: var(--accent);
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: 12px;
  font-family: var(--font-mono);
}

.page-container {
  width: 100%;
  max-width: var(--page-max);
  padding-inline: var(--page-pad);
  margin-inline: auto;
}

.page-header {
  justify-content: space-between;
  align-items: flex-end;
  gap: var(--sp-5);
  margin: 0 0 var(--sp-6);
  font-family: var(--font-ui);
  flex-wrap: wrap;
  display: flex;
}

.page-header-main {
  flex: 320px;
  min-width: 0;
}

.page-header .eyebrow {
  margin: 0 0 var(--sp-3);
}

.page-header-title {
  font-family: var(--font-display);
  font-size: var(--fs-display-1);
  font-weight: 900;
  line-height: var(--lh-display);
  letter-spacing: .01em;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0;
}

.page-header-sub {
  margin: var(--sp-3) 0 0;
  max-width: 560px;
  color: var(--ink-dim);
  font-family: var(--font-mono);
  font-size: var(--fs-eyebrow);
  line-height: 1.5;
}

.page-header-actions {
  gap: var(--sp-3);
  margin-top: var(--sp-4);
  flex-wrap: wrap;
  display: flex;
}

.page-header-aside {
  flex: 0 auto;
  min-width: 0;
}

@media (max-width: 760px) {
  .page-header {
    align-items: stretch;
  }

  .page-header-aside {
    flex-basis: 100%;
  }
}

.heading {
  font-family: var(--font-display);
  font-weight: 900;
  line-height: var(--lh-display);
  letter-spacing: .01em;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0;
}

.heading-1 {
  font-size: var(--fs-display-1);
}

.heading-2 {
  font-size: var(--fs-display-2);
}

.heading-3 {
  font-size: var(--fs-display-3);
}

.app-header {
  z-index: 50;
  -webkit-backdrop-filter: blur(22px);
  backdrop-filter: blur(22px);
  background: linear-gradient(#171b1ef0, #0b0d0edb), #0b0d0ee6;
  border-bottom: 1px solid #ffd84d1f;
  position: sticky;
  top: 0;
}

.app-header:after {
  content: "";
  pointer-events: none;
  background: linear-gradient(90deg, #0000, #ff5b1fad, #ffd84d47, #0000);
  height: 1px;
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
}

.header-primary {
  background: linear-gradient(135deg, #ffffff0e, #ffffff05), #111416bd;
  border-bottom: 1px solid #ffffff12;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: clamp(16px, 3vw, 28px);
  width: 100%;
  min-height: 66px;
  padding: 10px clamp(14px, 3.4vw, 34px);
  display: grid;
  box-shadow: 0 18px 42px #0000002e;
}

.brand {
  border-radius: 7px;
  align-items: center;
  gap: 12px;
  min-width: max-content;
  display: inline-flex;
}

.brand-mark {
  width: auto;
  height: .72em;
  color: inherit;
}

.brand-wordmark {
  color: var(--ink);
  font-family: var(--font-display);
  letter-spacing: .02em;
  align-items: baseline;
  gap: 0;
  font-size: clamp(20px, 2vw, 24px);
  font-weight: 900;
  display: inline-flex;
}

.brand-slash {
  color: var(--accent);
  font-family: var(--font-body);
  margin: 0 4px;
  font-style: italic;
  font-weight: 400;
}

.app-nav {
  background: #0b0d0e7a;
  border: 1px solid #ffffff12;
  border-radius: 8px;
  justify-content: center;
  justify-self: center;
  align-items: center;
  gap: 4px;
  min-width: 0;
  max-width: 100%;
  padding: 4px;
  display: flex;
}

.nav-link {
  min-height: 38px;
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
  border: 1px solid #0000;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  padding: 0 13px;
  font-size: 12px;
  transition: background .16s, border-color .16s, color .16s, transform .16s;
  display: inline-flex;
}

.nav-link:hover {
  color: var(--accent);
  background: #ff5b1f14;
}

.nav-link.active {
  color: var(--ink);
  box-shadow: inset 0 -2px 0 var(--accent);
  background: linear-gradient(#ff5b1f33, #ff5b1f1a), #ff5b1f14;
  border-color: #ff5b1f5c;
}

.header-actions {
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  display: flex;
}

.header-icon-button {
  border: 1px solid var(--line-bright);
  width: 40px;
  min-width: 40px;
  height: 40px;
  color: var(--ink);
  background: #ffffff08;
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  padding: 0;
  display: inline-flex;
}

.header-icon-button svg, .mobile-menu svg, .mobile-account-link svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9px;
  stroke-linecap: square;
  stroke-linejoin: miter;
  width: 18px;
  height: 18px;
}

.header-icon-button:hover {
  color: var(--accent);
  background: #ff5b1f14;
  border-color: #ff5b1f8c;
}

.header-profile-button {
  gap: 9px;
  width: auto;
  max-width: 202px;
  padding: 0 11px;
}

.header-profile-button span {
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--ink-dim);
  font-family: var(--font-mono);
  font-size: 11px;
  overflow: hidden;
}

.header-quota {
  min-width: max-content;
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  background: linear-gradient(#4dd28a1a, #4dd28a09), #111416b3;
  border: 1px solid #4dd28a42;
  border-radius: 7px;
  gap: 2px;
  padding: 8px 11px;
  font-size: 9px;
  line-height: 1;
  display: grid;
}

.header-quota strong {
  color: var(--good);
  font-family: var(--font-display);
  letter-spacing: 0;
  text-transform: none;
  font-size: 18px;
}

.mobile-menu {
  display: none;
  position: relative;
}

.mobile-menu-toggle {
  border: 1px solid var(--line-bright);
  width: 40px;
  height: 40px;
  color: var(--ink);
  cursor: pointer;
  background: #ffffff09;
  border-radius: 7px;
  place-items: center;
  padding: 0;
  display: grid;
}

.mobile-menu-toggle:hover, .mobile-menu.is-open .mobile-menu-toggle {
  color: var(--accent);
  background: #ff5b1f14;
  border-color: #ff5b1f8c;
}

.tab-pane-loading {
  min-height: 40vh;
}

.mobile-menu-panel {
  background: linear-gradient(180deg, #171b1efa, #0b0d0efa),
    var(--bg-2);
  border: 1px solid #ffffff14;
  border-radius: 8px;
  width: min(360px, 100vw - 20px);
  padding: 10px;
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  box-shadow: 0 26px 70px #0000007a;
}

.mobile-menu-nav {
  gap: 6px;
  display: grid;
}

.mobile-menu-link, .mobile-account-link {
  min-height: 44px;
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  background: #ffffff06;
  border: 1px solid #ffffff12;
  border-radius: 7px;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 0 12px;
  font-size: 12px;
  display: flex;
}

.mobile-menu-link.active {
  color: var(--ink);
  background: #ff5b1f1f;
  border-color: #ff5b1f61;
}

.mobile-menu-link:after {
  content: "";
  border-top: 1px solid;
  border-right: 1px solid;
  width: 6px;
  height: 6px;
  transform: rotate(45deg);
}

.mobile-menu-actions {
  border-top: 1px solid #ffffff12;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 10px;
  padding-top: 10px;
  display: grid;
}

.mobile-menu-actions form, .mobile-menu-actions .button {
  width: 100%;
}

.mobile-account-link {
  text-transform: none;
  letter-spacing: 0;
  grid-column: 1 / -1;
  justify-content: flex-start;
  min-width: 0;
}

.mobile-account-link span {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

.button {
  min-height: 40px;
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  border: 1px solid #0000;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 11px 17px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  transition: background .16s, border-color .16s, color .16s, transform .16s, box-shadow .16s;
  display: inline-flex;
}

.button:focus-visible, .nav-link:focus-visible, .brand:focus-visible, .header-icon-button:focus-visible, .mobile-menu-toggle:focus-visible, .mobile-menu-link:focus-visible, .mobile-account-link:focus-visible {
  outline: 2px solid var(--accent-2);
  outline-offset: 4px;
}

.button-primary {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--bg);
}

.button-primary:hover {
  background: var(--accent-2);
  border-color: var(--accent-2);
  box-shadow: 4px 4px 0 var(--ink-faint);
  transform: translate(-1px, -1px);
}

.button-secondary {
  border-color: var(--line-bright);
  color: var(--ink);
  background: none;
}

.button-secondary:hover {
  border-color: var(--accent);
  color: var(--accent);
}

.button-ghost {
  min-height: auto;
  color: var(--ink-dim);
  border-color: #0000;
  padding-inline: 0;
}

.button-ghost:hover {
  color: var(--accent);
}

.button.header-icon-button {
  min-height: 40px;
  padding: 0;
}

.status-chip {
  border: 1px solid var(--line-bright);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  align-items: center;
  padding: 5px 9px;
  font-size: 10px;
  display: inline-flex;
}

.status-chip-good {
  color: var(--good);
  border-color: #4dd28a59;
}

.status-chip-warn {
  color: var(--warn);
  border-color: #ff8a3d59;
}

.status-chip-bad {
  color: var(--bad);
  border-color: #ff4d6a59;
}

.hero {
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
  align-items: center;
  gap: clamp(32px, 7vw, 86px);
  min-height: calc(100vh - 120px);
  padding-block: clamp(38px, 6vw, 68px);
  display: grid;
}

.hero-copy h1 {
  font-family: var(--font-display);
  font-size: var(--fs-hero);
  letter-spacing: 0;
  text-transform: uppercase;
  margin: 0 0 24px;
  font-weight: 900;
  line-height: .86;
}

.hero-copy p:not(.eyebrow) {
  max-width: 620px;
  color: var(--ink-dim);
  margin: 0 0 34px;
  font-size: clamp(17px, 1.8vw, 20px);
  line-height: 1.55;
}

.hero-actions {
  flex-wrap: wrap;
  gap: 14px;
  display: flex;
}

.boarding-pass {
  background: var(--paper);
  width: min(100%, 430px);
  color: var(--bg);
  box-shadow: var(--shadow);
  margin-left: auto;
  padding: 30px;
  position: relative;
  transform: rotate(3deg);
}

.boarding-pass:before {
  content: "";
  border-top: 2px dashed #0b0d0e38;
  position: absolute;
  top: 58%;
  left: -10px;
  right: -10px;
}

.pass-tag {
  background: var(--good);
  font-family: var(--font-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 7px 12px;
  font-size: 10px;
  font-weight: 800;
  position: absolute;
  top: -13px;
  right: 22px;
  transform: rotate(6deg);
}

.pass-head, .pass-price {
  font-family: var(--font-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  font-size: 10px;
  display: flex;
}

.pass-head {
  border-bottom: 1px solid #0b0d0ebf;
  padding-bottom: 14px;
}

.pass-route {
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 28px 0 22px;
  display: flex;
}

.pass-route strong {
  font-family: var(--font-display);
  font-size: clamp(48px, 8vw, 76px);
  line-height: 1;
}

.pass-route span {
  font-family: var(--font-body);
  opacity: .55;
  font-style: italic;
}

.pass-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  padding: 18px 0 28px;
  display: grid;
}

.pass-grid span {
  font-family: var(--font-mono);
  gap: 4px;
  font-size: 13px;
  font-weight: 800;
  display: grid;
}

.pass-grid small {
  opacity: .48;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 9px;
  font-weight: 700;
}

.pass-price {
  border-top: 1px solid #0b0d0ebf;
  padding-top: 18px;
}

.pass-price strong {
  font-family: var(--font-display);
  font-size: 44px;
  line-height: 1;
}

.feature-strip {
  border-block: 1px solid var(--line);
  background: var(--bg-2);
  padding: 54px 0;
}

.feature-grid {
  background: var(--line);
  border: 1px solid var(--line);
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  display: grid;
}

.feature-grid article {
  background: var(--bg);
  min-height: 220px;
  padding: 30px;
}

.feature-grid span {
  color: var(--accent);
  font-family: var(--font-mono);
  letter-spacing: .16em;
  font-size: 11px;
}

.feature-grid h2, .cta-band h2, .auth-card h2, .auth-art h1 {
  font-family: var(--font-display);
  font-size: var(--fs-display-2);
  font-weight: 900;
  line-height: var(--lh-display);
  text-transform: uppercase;
  margin: 18px 0 14px;
}

.feature-grid p, .cta-band p, .auth-card p, .auth-art p {
  color: var(--ink-dim);
  line-height: 1.55;
}

.cta-band {
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 24px;
  padding-block: 70px 86px;
  display: grid;
}

.cta-band h2, .cta-band p {
  margin-block: 0 10px;
}

.cta-band .hero-actions {
  grid-column: 1 / -1;
  margin-top: 14px;
}

.hero-search {
  margin: 0 0 26px;
}

.hero-search-bar {
  border: 1px solid var(--line-bright);
  background: var(--bg-2);
  align-items: stretch;
  gap: 10px;
  width: min(100%, 560px);
  padding: 10px;
  display: flex;
}

.hero-search-field {
  flex: 1;
  gap: 2px;
  min-width: 0;
  padding: 6px 10px;
  display: grid;
}

.hero-search-field span {
  font-family: var(--font-mono);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink-faint);
  font-size: 9px;
}

.hero-search-field input {
  width: 100%;
  color: var(--ink);
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  background: none;
  border: 0;
  font-size: 18px;
  font-weight: 700;
}

.hero-search-field input:focus {
  outline: none;
}

.hero-search-field input::placeholder {
  color: var(--ink-faint);
}

.hero-search-bar:focus-within {
  border-color: var(--accent);
}

.hero-search-swap {
  color: var(--ink-faint);
  align-self: center;
  font-size: 18px;
}

.hero-search-nudge {
  font-family: var(--font-mono);
  letter-spacing: .06em;
  color: var(--accent-2);
  opacity: 0;
  margin: 10px 0 0;
  font-size: 11px;
  transition: opacity .3s;
}

.hero-search-nudge[data-visible] {
  opacity: 1;
}

.hero-search-login {
  color: var(--ink-dim);
  margin: 6px 0 0;
  font-size: 13px;
}

.hero-search-login a {
  color: var(--ink);
  text-underline-offset: 3px;
  text-decoration: underline;
}

.hero-passes {
  position: relative;
}

.boarding-pass-behind {
  opacity: .85;
  width: min(86%, 370px);
  padding: 22px 26px;
  position: absolute;
  inset: auto 8% -34px auto;
  transform: rotate(-5deg);
}

.boarding-pass-behind:before {
  content: none;
}

.boarding-pass-behind .pass-route {
  padding: 16px 0 12px;
}

.boarding-pass-behind .pass-route strong {
  font-size: clamp(34px, 5vw, 52px);
}

.boarding-pass-behind .pass-price strong {
  font-size: 32px;
}

.fare-ticker {
  border-block: 1px solid var(--line);
  background: var(--bg-2);
  padding: 12px 0;
  overflow: hidden;
}

.fare-ticker-track {
  white-space: nowrap;
  gap: 36px;
  width: max-content;
  display: flex;
}

.fare-ticker-item {
  font-family: var(--font-mono);
  letter-spacing: .06em;
  color: var(--ink-dim);
  font-size: 12px;
}

.fare-ticker-item strong {
  color: var(--ink);
  font-weight: 700;
}

.fare-kind {
  letter-spacing: .1em;
  text-transform: uppercase;
  font-size: 10px;
  font-style: normal;
}

.fare-kind-gowild {
  color: var(--accent-2);
}

.fare-kind-den {
  color: var(--den);
}

.fare-kind-standard {
  color: var(--ink-faint);
}

.mode-intro {
  margin-bottom: 34px;
}

.mode-intro h2, .fare-class-band > h2, .alert-copy h2, .versus-band h2, .teaser-band h2 {
  font-family: var(--font-display);
  font-size: var(--fs-display-2);
  font-weight: 900;
  line-height: var(--lh-display);
  text-transform: uppercase;
  margin: 14px 0 0;
}

.mode-grid {
  background: var(--line);
  border: 1px solid var(--line);
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  display: grid;
}

.mode-card {
  background: var(--bg);
  min-height: 220px;
  padding: 28px 24px;
  transition: transform .25s, box-shadow .25s;
  position: relative;
  overflow: hidden;
}

.mode-card:hover {
  box-shadow: 0 0 0 1px var(--accent),
    0 12px 40px #ff5b1f26;
  z-index: 1;
  transform: translateY(-4px);
}

.mode-num {
  font-family: var(--font-display);
  color: var(--ink);
  opacity: .05;
  pointer-events: none;
  font-size: 130px;
  font-weight: 900;
  line-height: 1;
  position: absolute;
  bottom: -30px;
  right: -8px;
}

.mode-card > span:not(.mode-num) {
  color: var(--accent);
  font-family: var(--font-mono);
  letter-spacing: .16em;
  font-size: 11px;
}

.mode-card h3 {
  font-family: var(--font-display);
  font-size: var(--fs-display-3);
  font-weight: 900;
  line-height: var(--lh-display);
  text-transform: uppercase;
  margin: 16px 0 12px;
}

.mode-card p {
  color: var(--ink-dim);
  font-size: 14px;
  line-height: 1.55;
}

.mode-footnote, .versus-footnote {
  font-family: var(--font-body);
  color: var(--ink-dim);
  margin: 22px 0 0;
  font-style: italic;
}

.mode-footnote strong {
  color: var(--accent-2);
}

.fare-class-band {
  padding-block: 70px;
}

.fare-class-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 34px;
  display: grid;
}

.fare-class-card {
  border: 1px solid var(--line);
  background: var(--bg-2);
  border-top-width: 3px;
  padding: 26px 24px;
  position: relative;
}

.fare-class-standard {
  border-top-color: var(--accent);
}

.fare-class-den {
  border-top-color: var(--den);
}

.fare-class-gowild {
  border-top-color: var(--accent-2);
}

.fare-class-card h3 {
  font-family: var(--font-display);
  text-transform: uppercase;
  margin: 0 0 12px;
  font-size: 24px;
  font-weight: 900;
}

.fare-class-card p {
  color: var(--ink-dim);
  font-size: 14px;
  line-height: 1.55;
}

.alert-band {
  border-block: 1px solid var(--line);
  background: radial-gradient(640px 320px at 80% 30%, #4dd28a12, transparent),
    var(--bg-2);
  padding: 70px 0;
}

.alert-band-inner {
  grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
  align-items: center;
  gap: clamp(32px, 6vw, 72px);
  display: grid;
}

.alert-copy p:not(.eyebrow) {
  max-width: 520px;
  color: var(--ink-dim);
  margin: 16px 0 0;
  font-size: 16px;
  line-height: 1.55;
}

.alert-pass {
  transform: rotate(-2deg);
}

.pass-tag-alert {
  animation: 2.2s ease-in-out infinite pass-tag-pulse;
}

.versus-band {
  padding: 78px 0;
}

.versus-table {
  border: 1px solid var(--line);
  background: var(--bg-2);
  margin-top: 34px;
}

.versus-row {
  border-top: 1px solid var(--line);
  grid-template-columns: minmax(130px, .7fr) 1fr 1fr;
  gap: 16px;
  padding: 16px 20px;
  font-size: 14px;
  line-height: 1.45;
  display: grid;
}

.versus-row:first-child {
  border-top: 0;
}

.versus-head {
  font-family: var(--font-mono);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink-faint);
  font-size: 11px;
}

.versus-head span:last-child {
  color: var(--accent);
}

.versus-label {
  font-family: var(--font-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ink-dim);
  font-size: 11px;
}

.versus-them {
  color: var(--ink-faint);
}

.versus-us {
  color: var(--ink);
}

.versus-them i, .versus-us i {
  font-style: normal;
  font-family: var(--font-mono);
  margin-right: 6px;
}

.versus-them i {
  color: var(--bad);
}

.versus-us i {
  color: var(--good);
}

.teaser-band {
  text-align: center;
  border: 1px dashed #ffd84d73;
  margin-block: 26px 10px;
  padding: clamp(32px, 5vw, 54px);
}

.teaser-band h2 {
  font-size: var(--fs-display-2);
  margin: 16px 0 12px;
}

.teaser-band p {
  max-width: 520px;
  color: var(--ink-dim);
  margin: 0 auto;
  line-height: 1.55;
}

.coming-soon-chip {
  color: var(--accent-2);
  font-family: var(--font-mono);
  letter-spacing: .14em;
  text-transform: uppercase;
  border: 1px solid #ffd84d80;
  padding: 5px 10px;
  font-size: 10px;
  font-weight: 700;
  animation: 2.6s ease-in-out infinite chip-shimmer;
  display: inline-block;
}

.reveal {
  opacity: 0;
  transition: opacity .6s, transform .6s;
  transform: translateY(18px);
}

.reveal.is-visible {
  opacity: 1;
  transform: none;
}

.plans-header {
  padding-block: clamp(44px, 6vw, 72px) 10px;
}

.plans-header h1 {
  font-family: var(--font-display);
  font-size: var(--fs-display-1);
  font-weight: 900;
  line-height: var(--lh-display);
  text-transform: uppercase;
  margin: 14px 0 16px;
}

.plans-header p:not(.eyebrow) {
  color: var(--ink-dim);
  margin: 0;
  font-size: 18px;
}

.plan-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  padding-block: 38px 18px;
  display: grid;
}

.plan-card {
  border: 1px solid var(--line-bright);
  background: var(--bg-2);
  flex-direction: column;
  gap: 0;
  padding: 28px 24px;
  display: flex;
  position: relative;
}

.plan-card.featured {
  border-color: var(--accent);
  box-shadow: 0 0 0 1px var(--accent), 0 18px 60px #ff5b1f1f;
}

.plan-card.gowild {
  border-color: #ffd84da6;
  box-shadow: 0 0 0 1px #ffd84da6, 0 18px 60px #ffd84d1a;
}

.plan-flag-gowild {
  background: var(--accent-2);
}

.plan-flag {
  background: var(--accent);
  color: var(--bg);
  font-family: var(--font-mono);
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 6px 10px;
  font-size: 9px;
  font-weight: 800;
  position: absolute;
  top: -12px;
  right: 18px;
  transform: rotate(3deg);
}

.plan-card h2 {
  font-family: var(--font-display);
  text-transform: uppercase;
  margin: 0;
  font-size: 30px;
  font-weight: 900;
}

.plan-price {
  font-family: var(--font-mono);
  letter-spacing: .04em;
  color: var(--accent-2);
  margin: 8px 0 18px;
  font-size: 15px;
  font-weight: 700;
}

.plan-features {
  flex: 1;
  gap: 10px;
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
  display: grid;
}

.plan-features li {
  color: var(--ink-dim);
  padding-left: 18px;
  font-size: 14px;
  line-height: 1.45;
  position: relative;
}

.plan-features li:before {
  content: "✓";
  color: var(--good);
  font-family: var(--font-mono);
  font-size: 12px;
  position: absolute;
  left: 0;
}

.plan-coming-soon {
  opacity: .6;
  cursor: default;
  text-align: center;
}

.plan-note {
  color: var(--ink-faint);
  margin: 10px 0 0;
  font-size: 12px;
}

.plans-early {
  color: var(--ink-dim);
  margin: 6px 0 0;
  font-style: italic;
}

.plans-early a {
  color: var(--ink);
  text-underline-offset: 3px;
  text-decoration: underline;
}

.faq-section {
  padding-block: 56px 20px;
}

.faq-section h2 {
  font-family: var(--font-display);
  font-size: var(--fs-display-2);
  font-weight: 900;
  line-height: var(--lh-display);
  text-transform: uppercase;
  margin: 0 0 24px;
}

.faq-list {
  border: 1px solid var(--line);
  background: var(--line);
  gap: 1px;
  display: grid;
}

.faq-list details {
  background: var(--bg-2);
  padding: 18px 22px;
}

.faq-list summary {
  cursor: pointer;
  font-family: var(--font-ui);
  font-size: 15px;
  font-weight: 600;
}

.faq-list details p {
  max-width: 640px;
  color: var(--ink-dim);
  margin: 12px 0 0;
  line-height: 1.55;
}

@media (prefers-reduced-motion: no-preference) {
  .hero-passes .boarding-pass:not(.boarding-pass-behind) {
    animation: 6s ease-in-out infinite pass-float;
  }

  .fare-ticker-track {
    animation: 36s linear infinite ticker-scroll;
  }
}

@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1;
    transition: none;
    transform: none;
  }

  .pass-tag-alert, .coming-soon-chip {
    animation: none;
  }

  .mode-card, .mode-card:hover {
    transition: none;
    transform: none;
  }
}

@keyframes pass-float {
  0%, 100% {
    transform: rotate(3deg)translateY(0);
  }

  50% {
    transform: rotate(2.2deg)translateY(-10px);
  }
}

@keyframes ticker-scroll {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

@keyframes pass-tag-pulse {
  0%, 100% {
    opacity: 1;
  }

  50% {
    opacity: .55;
  }
}

@keyframes chip-shimmer {
  0%, 100% {
    color: var(--accent-2);
    border-color: #ffd84d80;
  }

  50% {
    color: #ffe88a;
    border-color: #ffd84df2;
  }
}

@media (max-width: 1080px) {
  .mode-grid, .plan-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 760px) {
  .hero-search-bar {
    flex-direction: column;
    align-items: stretch;
  }

  .hero-search-swap {
    display: none;
  }

  .mode-grid, .plan-grid, .fare-class-grid, .alert-band-inner {
    grid-template-columns: 1fr;
  }

  .alert-pass {
    margin: 0 auto;
    transform: rotate(0);
  }

  .boarding-pass-behind {
    display: none;
  }

  .versus-row {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .versus-head {
    display: none;
  }

  .versus-them {
    -webkit-text-decoration: line-through #ff4d6a80;
    text-decoration: line-through #ff4d6a80;
  }
}

.page-shell:has(.auth-layout) {
  flex-direction: column;
  display: flex;
}

.auth-layout {
  flex: 1;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 540px);
  display: grid;
}

.auth-art {
  border-right: 1px solid var(--line);
  background: linear-gradient(135deg, transparent 38%, #ff5b1f1f),
    repeating-linear-gradient(45deg, transparent 0 76px, #ffffff09 77px),
    var(--bg-2);
  flex-direction: column;
  justify-content: flex-end;
  min-height: 620px;
  padding: clamp(32px, 6vw, 70px);
  display: flex;
}

.auth-art.signup {
  background: linear-gradient(135deg, transparent 42%, #4dd28a1c),
    repeating-linear-gradient(-45deg, transparent 0 76px, #ffffff09 77px),
    var(--bg-2);
}

.auth-art h1 {
  max-width: 620px;
}

.auth-art p:not(.eyebrow) {
  max-width: 520px;
  font-size: 18px;
}

.auth-card {
  width: min(100%, 520px);
  font-family: var(--font-ui);
  align-self: center;
  margin: 0 auto;
  padding: clamp(28px, 5vw, 52px);
}

.auth-card h2 {
  margin-top: 0;
}

.auth-card p {
  font-family: var(--font-ui);
}

.auth-form {
  gap: 18px;
  margin-top: 30px;
  display: grid;
}

.field {
  gap: 8px;
  min-width: 0;
  display: grid;
}

.field span {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 10px;
}

.field input, .field select {
  border: 1px solid var(--line-bright);
  background: var(--bg-2);
  width: 100%;
  min-height: 52px;
  color: var(--ink);
  font-family: var(--font-mono);
  padding: 14px 16px;
  font-size: 15px;
}

.auth-form .field input {
  font-family: var(--font-ui);
  font-size: 16px;
}

.field select {
  appearance: auto;
}

.field input:focus, .field select:focus {
  border-color: var(--accent);
  outline: 0;
}

.field input[aria-invalid="true"] {
  border-color: var(--bad);
}

.field small {
  color: var(--bad);
  font-family: var(--font-mono);
  font-size: 11px;
}

.auth-submit {
  width: 100%;
  min-height: 54px;
  margin-top: 6px;
}

.form-success {
  color: var(--good);
  font-family: var(--font-mono);
  background: #4dd28a14;
  border: 1px solid #4dd28a59;
  margin: 0;
  padding: 12px;
  font-size: 12px;
}

.form-error {
  color: #ffb4b4;
  font-family: var(--font-mono);
  background: #ff787814;
  border: 1px solid #ff787859;
  margin: 0;
  padding: 12px;
  font-size: 12px;
}

.auth-switch {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  text-align: center;
  margin: 0;
  font-size: 12px;
}

.auth-switch a {
  color: var(--accent);
}

.auth-forgot {
  text-align: right;
  font-family: var(--font-mono);
  margin: -6px 0 0;
  font-size: 12px;
}

.auth-forgot a {
  color: var(--accent);
}

.auth-divider {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .12em;
  text-transform: uppercase;
  align-items: center;
  gap: 12px;
  font-size: 10px;
  display: flex;
}

.auth-divider:before, .auth-divider:after {
  content: "";
  background: var(--line-bright);
  flex: 1;
  height: 1px;
}

.auth-code-step {
  gap: 8px;
  display: grid;
}

.invite-redeem-layout {
  padding: clamp(32px, 7vw, 72px) var(--page-pad);
  border-top: 1px solid var(--line);
  background: linear-gradient(135deg, transparent 42%, #4dd28a1a),
    repeating-linear-gradient(-45deg, transparent 0 76px, #ffffff08 77px),
    var(--bg-2);
  flex: 1;
  align-content: center;
  justify-items: center;
  gap: 24px;
  display: grid;
}

.invite-redeem-intro {
  text-align: center;
  max-width: 760px;
}

.invite-redeem-intro h1 {
  font-family: var(--font-display);
  font-size: clamp(34px, 5vw, 58px);
  font-weight: 900;
  line-height: var(--lh-display);
  text-transform: uppercase;
  margin: 14px 0 12px;
}

.invite-redeem-intro p:not(.eyebrow) {
  color: var(--ink-dim);
  font-family: var(--font-ui);
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
}

.invite-redeem-panel {
  border: 1px solid var(--line-bright);
  background: linear-gradient(#ffffff09, #0000), #0b0d0ed1;
  width: min(100%, 560px);
  padding: clamp(24px, 5vw, 38px);
  box-shadow: 0 24px 70px #00000042;
}

.invite-redeem-state {
  font-family: var(--font-ui);
  justify-items: start;
  gap: 16px;
  display: grid;
}

.invite-redeem-state h2 {
  font-family: var(--font-display);
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 900;
  line-height: var(--lh-display);
  text-transform: uppercase;
  margin: 0;
}

.invite-redeem-state p {
  color: var(--ink-dim);
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
}

.auth-linklike {
  color: var(--accent);
  font-family: var(--font-mono);
  cursor: pointer;
  background: none;
  border: 0;
  padding: 0;
  font-size: 12px;
}

.auth-linklike:disabled {
  opacity: .6;
  cursor: default;
}

.discord-icon {
  color: #5865f2;
  flex: none;
  width: 20px;
  height: 20px;
}

.search-layout {
  grid-template-columns: clamp(248px, 22vw, 300px) minmax(0, 1fr);
  display: grid;
}

html[data-standalone="true"] .search-layout {
  min-height: 100%;
}

.search-sidebar {
  border-right: 1px solid var(--line);
  background: #111416d1;
  padding: 28px clamp(16px, 1.6vw, 22px);
}

.quota-card, .recent-panel, .results-table, .results-state {
  border: 1px solid var(--line);
  background: #111416db;
}

.quota-card, .recent-panel {
  padding: 20px;
}

.recent-panel {
  margin-top: 22px;
}

.panel-label {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .12em;
  text-transform: uppercase;
  margin: 0 0 14px;
  font-size: 10px;
}

.plan-grant-note {
  color: var(--accent);
  margin: 6px 0 0;
  font-size: 13px;
  font-weight: 600;
}

.quota-line {
  font-family: var(--font-display);
  text-transform: uppercase;
  flex-direction: column-reverse;
  align-items: flex-start;
  gap: 4px;
  font-weight: 800;
  display: flex;
}

.quota-line > span {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .12em;
  font-size: 12px;
  font-weight: 700;
}

.quota-line strong {
  text-align: left;
  overflow-wrap: break-word;
  max-width: 100%;
  font-size: 28px;
  line-height: 1.05;
}

.quota-line small {
  color: var(--ink-faint);
  font-size: 16px;
}

.quota-bar {
  background: var(--line);
  height: 7px;
  margin: 16px 0 10px;
  overflow: hidden;
}

.quota-bar span {
  background: var(--accent);
  height: 100%;
  display: block;
}

.quota-reset {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  text-align: right;
  margin: 0;
  font-size: 11px;
}

.quota-meter + .quota-meter {
  margin-top: 18px;
}

.recent-item {
  border-top: 1px dashed var(--line);
  gap: 5px;
  padding: 13px 0;
  display: grid;
}

.recent-item:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.recent-item strong {
  font-family: var(--font-display);
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: 18px;
}

.recent-item span {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  font-size: 10px;
}

.search-main {
  min-width: 0;
  padding: clamp(24px, 4vw, 48px);
}

.mode-tabs {
  border: 1px solid var(--line-bright);
  background: #111416eb;
  border-radius: 6px;
  align-items: center;
  gap: 4px;
  padding: 4px;
  display: flex;
}

.mode-tabs button {
  min-height: 38px;
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  background: none;
  border: 0;
  border-radius: 4px;
  padding: 9px 14px;
  font-size: 10px;
}

.mode-tabs button.active {
  background: var(--accent);
  color: var(--bg);
  font-weight: 800;
}

.sort-pills {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.sort-pills button {
  min-height: 32px;
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  background: none;
  border: 1px solid #ffffff1a;
  border-radius: 999px;
  padding: 7px 14px;
  font-size: 10px;
  font-weight: 800;
  transition: border-color .16s, background .16s, color .16s;
}

.sort-pills button:hover {
  border-color: var(--line-bright);
  color: var(--ink);
}

.sort-pills button.active {
  border-color: var(--accent);
  background: var(--accent);
  color: var(--bg);
}

.mode-tabs button:disabled {
  cursor: not-allowed;
  opacity: .48;
}

.airport-field input {
  letter-spacing: 0;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: clamp(16px, 1.45vw, 19px);
  font-weight: 750;
}

.results-state {
  text-align: center;
  place-items: center;
  min-height: 300px;
  padding: 40px;
  display: grid;
}

.results-state h2 {
  font-family: var(--font-display);
  text-transform: uppercase;
  margin: 12px 0;
  font-size: clamp(34px, 5vw, 54px);
  line-height: .95;
}

.results-state p {
  max-width: 520px;
  color: var(--ink-dim);
  margin: 0;
}

.error-state {
  border: 1px solid #ff4d6a80;
  border-radius: 8px;
}

.loader {
  border: 3px solid var(--line-bright);
  border-top-color: var(--accent);
  border-radius: 999px;
  width: 36px;
  height: 36px;
  animation: .8s linear infinite spin;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.search-progress {
  flex-direction: column;
  gap: 9px;
  margin: 18px 0 4px;
  display: flex;
}

.search-progress-track {
  background: var(--line-bright);
  border-radius: 999px;
  width: 100%;
  height: 7px;
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 0 0 1px #00000059;
}

.search-progress-track:after {
  content: "";
  background: linear-gradient(90deg, #0000, #ffffff2e 50%, #0000);
  animation: 1.6s ease-in-out infinite progress-sheen;
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
}

.search-progress-fill {
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
  border-radius: 999px;
  height: 100%;
  transition: width .32s cubic-bezier(.22, 1, .36, 1);
  position: relative;
  box-shadow: 0 0 10px #ff5b1fa6, 0 0 22px #ff5b1f59;
}

.search-progress-track.indeterminate .search-progress-fill {
  width: 40%;
  animation: 1.1s ease-in-out infinite progress-slide;
}

@keyframes progress-slide {
  0% {
    margin-left: -40%;
  }

  100% {
    margin-left: 100%;
  }
}

@keyframes progress-sheen {
  0% {
    transform: translateX(-100%);
  }

  60%, 100% {
    transform: translateX(100%);
  }
}

.search-progress-label {
  color: var(--ink-soft, var(--ink));
  letter-spacing: .01em;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 650;
  display: inline-flex;
}

.search-progress-label:before {
  content: "";
  background: var(--accent);
  border-radius: 999px;
  width: 8px;
  height: 8px;
  animation: 1.4s ease-out infinite progress-pulse;
  box-shadow: 0 0 #ff5b1f99;
}

@keyframes progress-pulse {
  0% {
    box-shadow: 0 0 #ff5b1f8c;
  }

  70% {
    box-shadow: 0 0 0 7px #ff5b1f00;
  }

  100% {
    box-shadow: 0 0 #ff5b1f00;
  }
}

.flight-card-skeleton {
  pointer-events: none;
}

.skeleton-line {
  background: linear-gradient(90deg, #ffffff0a 0%, #ffffff1a 50%, #ffffff0a 100%) 0 0 / 200% 100%;
  border-radius: 6px;
  animation: 1.4s ease-in-out infinite skeleton-shimmer;
  display: block;
}

.skeleton-tag {
  width: 64px;
  height: 13px;
}

.skeleton-date {
  width: 96px;
  height: 11px;
  margin-top: 7px;
}

.skeleton-price {
  width: 82px;
  height: 22px;
  margin-left: auto;
}

.skeleton-fare-label {
  width: 54px;
  height: 11px;
  margin-top: 7px;
  margin-left: auto;
}

.skeleton-time {
  width: 58px;
  height: 18px;
}

.skeleton-station {
  width: 38px;
  height: 11px;
  margin-top: 7px;
}

.skeleton-path {
  align-self: center;
  width: 100%;
  height: 4px;
}

.skeleton-stat {
  width: 78px;
  height: 12px;
}

@keyframes skeleton-shimmer {
  0% {
    background-position: 200% 0;
  }

  100% {
    background-position: -200% 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .search-progress-track:after, .search-progress-label:before, .skeleton-line {
    animation: none;
  }
}

.results-head {
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin: 22px 0 14px;
  display: flex;
}

.results-head p {
  color: var(--ink);
  margin: 0 0 5px;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: 16px;
  font-weight: 750;
}

.results-head strong {
  color: var(--accent);
}

.res-good, .res-warn {
  font-family: var(--font-mono);
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 800;
}

.res-good {
  color: var(--good);
}

.res-warn {
  color: var(--warn);
}

.results-head > div > span {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  font-size: 11px;
  display: block;
}

.results-head > div > span strong {
  color: var(--ink);
}

.flight-card, .everywhere-destination-card, .everywhere-flight-panel, .filtered-empty {
  border: 1px solid var(--line);
  background: linear-gradient(135deg, #ffffff09, #0000 48%), #111416e6;
  border-radius: 8px;
}

.details-button, .book-button {
  border: 1px solid var(--line-bright);
  min-height: 38px;
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  background: #0b0d0e61;
  border-radius: 5px;
  padding: 9px 12px;
  font-size: 10px;
  font-weight: 800;
  transition: background .16s, border-color .16s, color .16s, transform .16s;
}

.range-slider {
  --track-height: 5px;
  height: 22px;
  display: block;
  position: relative;
}

.range-slider:before, .range-slider:after {
  content: "";
  left: 0;
  right: 0;
  top: calc(50% - (var(--track-height) / 2));
  height: var(--track-height);
  border-radius: 999px;
  position: absolute;
}

.range-slider:before {
  background: var(--line-bright);
}

.range-slider:after {
  left: var(--range-start);
  right: calc(100% - var(--range-end));
  background: var(--accent);
}

.range-slider-input {
  appearance: none;
  width: 100%;
  height: 22px;
  accent-color: var(--accent);
  background: none;
  margin: 0;
  position: absolute;
  inset: 0;
}

.range-slider-dual .range-slider-input {
  z-index: 2;
  pointer-events: none;
}

.range-slider-input::-webkit-slider-runnable-track {
  height: var(--track-height);
  background: none;
  border: 0;
}

.range-slider-input::-webkit-slider-thumb {
  appearance: none;
  border: 2px solid var(--bg-2);
  background: var(--accent);
  cursor: pointer;
  pointer-events: auto;
  border-radius: 999px;
  width: 16px;
  height: 16px;
  margin-top: -5.5px;
  box-shadow: 0 0 0 1px #ff5b1f73;
}

.range-slider-input::-moz-range-track {
  height: var(--track-height);
  background: none;
  border: 0;
}

.range-slider-input::-moz-range-thumb {
  border: 2px solid var(--bg-2);
  background: var(--accent);
  cursor: pointer;
  pointer-events: auto;
  border-radius: 999px;
  width: 16px;
  height: 16px;
}

.range-slider-input:focus-visible::-webkit-slider-thumb {
  outline: 2px solid var(--accent-2);
  outline-offset: 3px;
}

.range-slider-input:focus-visible::-moz-range-thumb {
  outline: 2px solid var(--accent-2);
  outline-offset: 3px;
}

.flight-card-list {
  gap: 12px;
  display: grid;
}

.everywhere-destination-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
  display: grid;
}

@media (min-width: 1640px) {
  .everywhere-destination-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .everywhere-destination-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 699px) {
  .everywhere-destination-grid {
    grid-template-columns: 1fr;
  }
}

.everywhere-destination-card {
  min-height: 178px;
  color: var(--ink);
  text-align: left;
  align-content: start;
  padding: 22px;
  transition: border-color .18s, box-shadow .18s, transform .18s;
  display: grid;
  position: relative;
}

.everywhere-destination-card:hover, .everywhere-destination-card.active {
  border-color: #ff5b1f8c;
  transform: translateY(-1px);
  box-shadow: 0 18px 54px #0000003d;
}

.everywhere-card-top {
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  min-width: 0;
  display: flex;
}

.everywhere-destination-kicker, .everywhere-destination-meta, .everywhere-flight-panel-head p {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 800;
}

.everywhere-destination-kicker {
  white-space: nowrap;
  min-width: 0;
  padding-right: 0;
}

.everywhere-destination-card > strong {
  letter-spacing: 0;
  align-self: start;
  margin-top: 28px;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: clamp(34px, 4vw, 54px);
  font-weight: 850;
  line-height: .95;
}

.everywhere-destination-city {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .02em;
  margin-top: 6px;
  font-size: 12px;
  font-weight: 700;
}

.everywhere-destination-price-row {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  margin-top: 10px;
  display: flex;
}

.everywhere-destination-price {
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: 30px;
  font-weight: 850;
  line-height: 1;
}

.everywhere-destination-price-alt {
  opacity: .55;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
}

.everywhere-destination-meta {
  margin-top: 8px;
}

.everywhere-weather-badge {
  min-height: 31px;
  color: var(--good);
  font-family: var(--font-mono);
  letter-spacing: .04em;
  text-transform: uppercase;
  background: #4fe28b0f;
  border: 1px solid #4fe28b80;
  border-radius: 6px;
  flex: none;
  justify-content: center;
  align-items: center;
  gap: 7px;
  padding: 6px 10px;
  font-size: 10px;
  font-weight: 850;
  display: inline-flex;
  box-shadow: inset 0 0 0 1px #4fe28b14;
}

.everywhere-weather-badge-pending {
  min-width: 96px;
  box-shadow: none;
  color: var(--ink-dim);
  background: #ebe7df0a;
  border-color: #ebe7df29;
}

.everywhere-weather-pending-dots {
  background: #ebe7df38;
  border-radius: 999px;
  width: 36px;
  height: 6px;
  animation: 1.1s ease-in-out infinite weather-pending-pulse;
}

@keyframes weather-pending-pulse {
  0%, 100% {
    opacity: .35;
  }

  50% {
    opacity: .85;
  }
}

@media (prefers-reduced-motion: reduce) {
  .everywhere-weather-pending-dots {
    animation: none;
  }
}

.weather-icon {
  object-fit: contain;
  flex: none;
  width: 20px;
  height: 20px;
  display: block;
}

.everywhere-flight-panel {
  margin-top: 12px;
  padding: 18px;
}

.everywhere-flight-panel-reveal {
  grid-column: 1 / -1;
}

.everywhere-flight-panel-inline {
  grid-column: 1 / -1;
  margin-top: 0;
}

.everywhere-flight-panel-head {
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 14px;
  display: flex;
}

.everywhere-flight-panel-head h2 {
  color: var(--ink);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin: 0 0 6px;
  font-size: 15px;
}

.everywhere-flight-panel-head p {
  margin: 0;
}

.everywhere-flight-panel-head button {
  border: 1px solid var(--line);
  min-height: 44px;
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  border-radius: 8px;
  padding: 0 18px;
  font-size: 11px;
  font-weight: 850;
}

.everywhere-seat-check {
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  display: flex;
}

.everywhere-seat-check-button {
  border: 1px solid var(--accent);
  min-height: 40px;
  color: var(--accent);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  background: none;
  border-radius: 8px;
  padding: 0 16px;
  font-size: 11px;
  font-weight: 850;
  transition: background .16s, color .16s;
}

.everywhere-seat-check-button:hover:not(:disabled) {
  background: var(--accent);
  color: var(--bg);
}

.everywhere-seat-check-button:disabled {
  cursor: default;
  opacity: .6;
}

.everywhere-seat-check-hint, .everywhere-seat-check-done {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: 0;
  font-size: 11px;
}

.flight-card {
  transition: border-color .18s, box-shadow .18s, transform .18s;
  overflow: hidden;
}

.flight-card-list > .flight-card:not(.flight-card-skeleton) {
  animation: .32s cubic-bezier(.22, 1, .36, 1) both flight-card-in;
}

@keyframes flight-card-in {
  from {
    opacity: 0;
    transform: translateY(6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .flight-card-list > .flight-card:not(.flight-card-skeleton) {
    animation: none;
  }
}

.flight-card.is-expanded {
  border-color: #ff5b1f57;
  box-shadow: 0 18px 54px #00000038;
}

.fare-detail strong, .segment-row strong {
  letter-spacing: 0;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-weight: 800;
  line-height: 1;
}

.fare-detail span, .fare-detail small, .segment-breakdown-head span, .segment-breakdown-head strong, .segment-row span, .layover-row span {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  font-size: 10px;
}

.flight-card-head {
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 16px 20px 0;
  display: flex;
}

.flight-option {
  gap: 7px;
  display: grid;
}

.flight-option-tag {
  color: var(--accent);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  background: #ff5b1f1a;
  border: 1px solid #ff5b1f66;
  border-radius: 999px;
  justify-self: start;
  padding: 3px 10px;
  font-size: 10px;
  font-weight: 800;
}

.flight-option-date {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .04em;
  font-size: 11px;
}

.flight-headline-fare {
  text-align: right;
  justify-items: end;
  gap: 4px;
  display: grid;
}

.flight-headline-fare strong {
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: 30px;
  font-weight: 800;
  line-height: 1;
}

.flight-headline-fare span {
  color: var(--good);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 900;
}

.flight-headline-fare small {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  font-size: 10px;
}

.seat-note-checking {
  color: var(--ink-faint, var(--ink-dim));
  font-style: italic;
  animation: 1.4s ease-in-out infinite seat-note-pulse;
}

@keyframes seat-note-pulse {
  0%, 100% {
    opacity: .45;
  }

  50% {
    opacity: .9;
  }
}

@media (prefers-reduced-motion: reduce) {
  .seat-note-checking {
    animation: none;
  }
}

.flight-route {
  grid-template-columns: minmax(64px, max-content) minmax(0, 1fr) minmax(64px, max-content);
  align-items: center;
  gap: 14px;
  padding: 18px 20px 0;
  display: grid;
}

.flight-endpoint {
  gap: 5px;
  display: grid;
}

.flight-endpoint-arr {
  text-align: right;
  justify-items: end;
}

.flight-endpoint strong {
  white-space: nowrap;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: clamp(22px, 5.4vw, 28px);
  font-weight: 800;
  line-height: 1;
}

.flight-endpoint span {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 800;
}

.flight-endpoint small {
  color: var(--bad);
  font-family: var(--font-mono);
  letter-spacing: .05em;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 900;
}

.flight-path {
  justify-items: center;
  gap: 7px;
  min-width: 0;
  display: grid;
}

.flight-path-track {
  background-image: linear-gradient(var(--line-bright), var(--line-bright));
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 1px;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 18px;
  display: flex;
  position: relative;
}

.flight-path-track:before, .flight-path-track:after {
  content: "";
  border: 1px solid var(--line-bright);
  border-radius: 999px;
  width: 5px;
  height: 5px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.flight-path-track:before {
  left: 0;
}

.flight-path-track:after {
  right: 0;
}

.flight-path-plane {
  z-index: 1;
  box-sizing: content-box;
  background: var(--bg-2);
  width: 17px;
  height: 17px;
  fill: var(--ink-dim);
  padding: 0 7px;
  position: relative;
}

.flight-path-label {
  text-align: center;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1px 10px;
  display: flex;
}

.flight-path-nonstop {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 800;
}

.flight-path-stop {
  flex-direction: column;
  align-items: center;
  gap: 1px;
  line-height: 1.25;
  display: inline-flex;
}

.flight-path-stop strong {
  color: var(--accent);
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 900;
}

.flight-path-stop small {
  color: var(--warn);
  font-family: var(--font-mono);
  font-size: 10px;
}

.flight-statbar {
  border-top: 1px solid #ffffff12;
  align-items: center;
  gap: 12px 18px;
  margin: 16px 20px 0;
  padding-top: 14px;
  padding-bottom: 18px;
  display: flex;
}

.flight-stats {
  flex-wrap: nowrap;
  align-items: center;
  gap: 9px 18px;
  min-width: 0;
  display: flex;
}

.flight-stat {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .03em;
  align-items: center;
  gap: 7px;
  font-size: 11px;
  display: inline-flex;
}

.flight-stat svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6px;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: 15px;
  height: 15px;
}

.flight-stat.res-good {
  color: var(--good);
}

.flight-stat.res-warn {
  color: var(--warn);
}

.flight-stat-dot {
  background: currentColor;
  border-radius: 999px;
  width: 7px;
  height: 7px;
}

.fare-price-standard {
  color: var(--ink);
}

.fare-price-discount-den {
  color: var(--den);
}

.fare-price-gowild {
  color: var(--good);
}

.flight-actions {
  align-items: stretch;
  gap: 10px;
  min-width: 0;
  margin-inline-start: auto;
  display: flex;
}

.details-button {
  justify-content: center;
  align-items: center;
  gap: 7px;
  display: inline-flex;
}

.details-chevron {
  fill: none;
  stroke: currentColor;
  stroke-width: 2px;
  stroke-linecap: round;
  stroke-linejoin: round;
  width: 14px;
  height: 14px;
  transition: transform .16s;
}

.flight-card.is-expanded .details-chevron {
  transform: rotate(180deg);
}

.details-button:hover, .details-button:focus-visible {
  border-color: var(--accent);
  color: var(--ink);
}

.book-button {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--bg);
  text-align: center;
  justify-content: center;
  align-items: center;
  min-width: 88px;
  display: inline-flex;
}

.book-button:hover, .book-button:focus-visible {
  background: var(--accent-2);
  border-color: var(--accent-2);
  transform: translateY(-1px);
}

.flight-card-details {
  background: #0b0d0e57;
  border-top: 1px solid #ffffff12;
  gap: 12px;
  padding: 16px 20px 18px;
  display: grid;
}

.fare-breakdown {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  display: grid;
}

.fare-detail {
  background: #ffffff06;
  border: 1px solid #ffffff14;
  border-radius: 6px;
  gap: 6px;
  min-height: 78px;
  padding: 13px 14px;
  display: grid;
}

.fare-detail-gowild {
  background: #4dd28a0e;
  border-color: #4dd28a61;
}

.fare-detail-discount-den {
  border-color: #5ab8ff57;
}

.fare-detail-standard {
  border-color: #ebe7df2e;
}

.fare-detail span {
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 900;
}

.fare-detail strong {
  font-size: 22px;
}

.segment-breakdown {
  background: #ffffff05;
  border: 1px solid #ffffff14;
  border-radius: 6px;
  gap: 0;
  display: grid;
  overflow: hidden;
}

.segment-breakdown-head {
  border-bottom: 1px solid #ffffff14;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-height: 38px;
  padding: 10px 16px;
  display: flex;
}

.segment-breakdown-head span {
  color: var(--ink);
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 900;
}

.segment-breakdown-head strong {
  color: var(--ink-dim);
  font-weight: 900;
}

.segment-group + .segment-group {
  border-top: 1px solid #ffffff14;
}

.segment-row {
  background: none;
  grid-template-columns: minmax(160px, 1fr) minmax(160px, auto);
  align-items: center;
  gap: 16px;
  padding: 14px 16px;
  display: grid;
}

.segment-row > div {
  gap: 5px;
  display: grid;
}

.segment-row > div:last-child {
  text-align: right;
  justify-items: end;
}

.segment-row strong {
  font-size: 15px;
}

.layover-row {
  background: #ff8a3d0f;
  border-bottom: 1px solid #ff8a3d2e;
  align-items: center;
  min-height: 32px;
  padding: 7px 16px;
  display: flex;
}

.layover-row span {
  color: var(--warn);
  letter-spacing: .06em;
  text-transform: uppercase;
  font-weight: 900;
  position: relative;
}

.history-list {
  border: 1px solid var(--line);
  background: var(--bg-2);
  display: grid;
}

.history-row {
  border-bottom: 1px solid var(--line);
  grid-template-columns: minmax(220px, 1fr) auto 120px;
  align-items: center;
  gap: 24px;
  padding: 24px;
  display: grid;
}

.history-row:last-child {
  border-bottom: 0;
}

.history-row h2 {
  font-family: var(--font-display);
  text-transform: uppercase;
  margin: 0 0 5px;
  font-size: 30px;
  line-height: 1;
}

.history-row p, .history-row time, .history-meta span {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  margin: 0;
  font-size: 11px;
}

.history-meta {
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  display: flex;
}

.history-meta strong {
  min-width: 58px;
  color: var(--good);
  font-family: var(--font-display);
  text-align: right;
  font-size: 26px;
  line-height: 1;
}

.history-empty {
  border: 1px solid var(--line);
  background: var(--bg-2);
  padding: 40px;
}

.profile-page {
  padding-block: var(--page-pad) var(--sp-8);
  font-family: var(--font-ui);
}

.settings-header {
  align-items: center;
  gap: 14px;
  margin: 0 0 26px;
  display: flex;
}

.settings-id {
  align-items: center;
  gap: 14px;
  min-width: 0;
  display: flex;
}

.settings-avatar {
  color: #ff7a45;
  background: #ff5b1f29;
  border-radius: 50%;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 46px;
  height: 46px;
  font-size: 15px;
  font-weight: 600;
  display: flex;
}

.settings-id-text {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.settings-id-text strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--ink);
  font-size: 15px;
  font-weight: 500;
  overflow: hidden;
}

.settings-id-text span {
  color: var(--ink-dim);
  font-size: 13px;
}

.settings-header form {
  margin-left: auto;
}

.settings {
  grid-template-columns: 172px minmax(0, 1fr);
  align-items: start;
  gap: 26px;
  display: grid;
}

.settings-nav {
  top: calc(var(--app-header-h, 72px) + 12px);
  flex-direction: column;
  gap: 3px;
  display: flex;
  position: sticky;
}

.settings-nav-item {
  color: var(--ink-dim);
  font-family: var(--font-ui);
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 9px;
  align-items: center;
  gap: 11px;
  padding: 9px 11px;
  font-size: 14px;
  font-weight: 500;
  transition: background .15s, color .15s;
  display: flex;
}

.settings-nav-item:hover {
  color: var(--ink);
}

.settings-nav-item[aria-current="page"] {
  color: var(--ink);
  background: #ff5b1f1a;
}

.settings-nav-icon {
  width: 18px;
  height: 18px;
  color: var(--ink-faint);
  flex: none;
}

.settings-nav-item:hover .settings-nav-icon, .settings-nav-item[aria-current="page"] .settings-nav-icon {
  color: var(--accent);
}

.settings-main {
  gap: 22px;
  min-width: 0;
  display: grid;
}

.settings-group {
  min-width: 0;
}

.settings-eyebrow {
  font-family: var(--font-mono);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin: 0 0 9px;
  font-size: 11px;
}

.settings-card {
  border: 1px solid var(--line);
  background: var(--bg-2);
  border-radius: 12px;
  overflow: hidden;
}

.settings-row {
  align-items: center;
  gap: 16px;
  padding: 15px 16px;
  display: flex;
}

.settings-card > .settings-row + .settings-row {
  border-top: 1px solid var(--line);
}

.settings-row-stacked {
  flex-direction: column;
  align-items: stretch;
  gap: 14px;
}

.settings-row-head {
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  display: flex;
}

.settings-row-text {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.settings-row-text strong {
  color: var(--ink);
  font-size: 14px;
  font-weight: 500;
}

.settings-row-strong {
  align-items: center;
  gap: 8px;
  display: inline-flex;
}

.settings-row-strong .discord-icon {
  width: 17px;
  height: 17px;
}

.settings-row-text span {
  color: var(--ink-dim);
  font-size: 13px;
  line-height: 1.45;
}

.settings-row-text .settings-accent {
  color: var(--accent);
  font-size: 12px;
}

.settings-row-value {
  flex: none;
  align-items: center;
  gap: 11px;
  display: flex;
}

.settings-value {
  color: var(--ink-dim);
  font-size: 14px;
}

.settings-row .v2-switch-field {
  flex: none;
}

.settings-row .v2-switch-field .v2-field-label {
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.settings-btn {
  border: 1px solid var(--line-bright);
  min-height: 34px;
  color: var(--ink);
  font-family: var(--font-mono);
  letter-spacing: .09em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  background: none;
  border-radius: 8px;
  flex: none;
  justify-content: center;
  align-items: center;
  padding: 7px 14px;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
  transition: border-color .15s, color .15s;
  display: inline-flex;
}

.settings-btn:hover {
  border-color: var(--accent);
}

.settings-btn:disabled {
  opacity: .5;
  cursor: default;
}

.settings-chips {
  flex-wrap: wrap;
  gap: 7px;
  display: flex;
}

.settings-chip {
  border: 1px solid var(--line-bright);
  color: var(--ink-faint);
  font-family: var(--font-ui);
  cursor: pointer;
  background: none;
  border-radius: 999px;
  padding: 6px 13px;
  font-size: 12px;
  transition: background .15s, color .15s, border-color .15s;
}

.settings-chip:hover {
  color: var(--ink);
}

.settings-chip[aria-pressed="true"] {
  color: #ff7a45;
  background: #ff5b1f24;
  border-color: #0000;
}

.settings-editor {
  gap: 12px;
  display: grid;
}

.settings-editor-actions {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.settings-note, .settings-error, .settings-success {
  margin: 2px 0 0;
  font-size: 13px;
  line-height: 1.45;
}

.settings-note {
  color: var(--ink-dim);
}

.settings-error {
  color: var(--bad);
}

.settings-success {
  color: var(--good);
}

.settings-form {
  gap: 16px;
  padding: 16px;
  display: grid;
}

.settings-form-submit {
  width: 100%;
  min-height: 48px;
  margin-top: 2px;
}

.settings-card-notif {
  padding: 0;
}

.settings-card-notif .notif-settings-hint {
  border-bottom: 1px solid var(--line);
  color: var(--ink-dim);
  font-family: var(--font-ui);
  margin: 0;
  padding: 14px 16px;
  font-size: 13px;
}

.settings-card-notif .notif-list {
  margin: 0;
}

.settings-card-notif .notif-row {
  padding: 14px 16px;
}

.settings-card-notif .notif-row + .notif-row {
  border-top: 1px solid var(--line);
}

@media (max-width: 760px) {
  .settings {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .settings-nav {
    margin: 0 calc(-1 * var(--page-pad));
    padding: 0 var(--page-pad) 4px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    flex-direction: row;
    gap: 6px;
    position: static;
    overflow-x: auto;
  }

  .settings-nav::-webkit-scrollbar {
    display: none;
  }

  .settings-nav-item {
    border: 1px solid var(--line-bright);
    border-radius: 999px;
    flex: none;
    padding: 8px 14px;
  }

  .settings-nav-item[aria-current="page"] {
    border-color: var(--accent);
  }
}

.profile-quota-meter {
  gap: 8px;
  display: grid;
}

.profile-quota-meter > div:first-child {
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  display: flex;
}

.profile-quota-meter span {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
  font-size: 10px;
}

.profile-quota-meter strong {
  color: var(--ink);
  font-family: var(--font-ui);
  font-size: 16px;
  font-weight: 600;
}

.profile-quota-meter small {
  color: var(--ink-faint);
  font-family: var(--font-mono);
  font-size: 11px;
}

.profile-quota-meter .quota-bar {
  margin: 0;
}

.password-requirements-hint {
  color: var(--warn);
  font-family: var(--font-mono);
  grid-template-rows: 0fr;
  font-size: 11px;
  line-height: 1.5;
  transition: grid-template-rows .22s cubic-bezier(.22, 1, .36, 1);
  display: grid;
}

.password-requirements-hint[data-show="true"] {
  grid-template-rows: 1fr;
}

.password-requirements-hint-inner {
  min-height: 0;
  overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .password-requirements-hint {
    transition: none;
  }
}

.admin-shell {
  padding-block: var(--page-pad) var(--sp-8);
}

.admin-tabs {
  flex-wrap: wrap;
  gap: 8px;
  max-width: 100%;
  display: flex;
}

.admin-tab {
  border: 1px solid var(--line-bright);
  min-height: 40px;
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  background: none;
  border-radius: 999px;
  flex: none;
  padding: 10px 18px;
  font-size: 12px;
  font-weight: 800;
  transition: background .15s, color .15s, border-color .15s;
}

.admin-tab:hover {
  border-color: var(--accent);
  color: var(--ink);
}

.admin-tab[aria-selected="true"] {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--bg);
}

.admin-notice, .admin-error {
  color: var(--good);
  font-family: var(--font-mono);
  background: #4dd28a14;
  border: 1px solid #4dd28a59;
  margin: 0 0 18px;
  padding: 12px;
  font-size: 12px;
}

.admin-error {
  color: #ffb4b4;
  background: #ff4d6a14;
  border-color: #ff4d6a59;
}

.admin-dashboard, .admin-settings {
  gap: 26px;
  display: grid;
}

.admin-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.admin-metric {
  border: 1px solid var(--line);
  background: var(--bg-2);
  padding: 22px;
}

.admin-metric span, .admin-section-head p, .admin-muted, .admin-table th, .admin-check span {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 10px;
}

.admin-metric strong {
  font-family: var(--font-display);
  margin-top: 8px;
  font-size: clamp(36px, 4vw, 52px);
  line-height: 1;
  display: block;
}

.admin-metric p {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  margin: 12px 0 0;
  font-size: 11px;
}

.admin-metric-accent strong {
  color: var(--accent);
}

.admin-metric-good strong {
  color: var(--good);
}

.admin-metric-warn strong {
  color: var(--warn);
}

.admin-chart-panel, .admin-activity-panel {
  border: 1px solid var(--line);
  background: var(--bg-2);
  padding: 24px;
}

.admin-panel-head {
  justify-content: space-between;
  align-items: start;
  gap: 20px;
  margin-bottom: 18px;
  display: flex;
}

.admin-panel-head h2 {
  font-family: var(--font-display);
  text-transform: uppercase;
  margin: 0 0 8px;
  font-size: 32px;
  line-height: 1;
}

.admin-panel-head p {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  margin: 0;
  font-size: 11px;
}

.admin-chart-legend, .admin-activity-head {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  align-items: center;
  gap: 14px;
  font-size: 10px;
  display: flex;
}

.admin-chart-legend span {
  align-items: center;
  gap: 7px;
  display: inline-flex;
}

.admin-chart-legend span:before {
  content: "";
  background: currentColor;
  width: 9px;
  height: 9px;
}

.admin-legend-searches {
  color: var(--accent);
}

.admin-legend-signups {
  color: var(--good);
}

.admin-legend-refunds {
  color: var(--warn);
}

.admin-chart-frame {
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  min-width: 0;
  display: grid;
}

.admin-chart-guides {
  height: 168px;
  color: var(--ink-faint);
  font-family: var(--font-mono);
  flex-direction: column;
  justify-content: space-between;
  padding-top: 58px;
  font-size: 10px;
  display: flex;
}

.admin-chart {
  grid-auto-columns: minmax(96px, 1fr);
  grid-auto-flow: column;
  gap: 12px;
  min-width: 0;
  padding-bottom: 4px;
  display: grid;
  overflow-x: auto;
}

.admin-chart-bucket {
  grid-template-rows: auto 168px auto;
  gap: 8px;
  min-width: 96px;
  display: grid;
}

.admin-chart-values {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  gap: 3px;
  font-size: 10px;
  display: grid;
}

.admin-chart-bars {
  border-bottom: 1px solid var(--line-bright);
  background: linear-gradient(to top, var(--line) 1px, transparent 1px),
    var(--bg);
  background-size: 100% 56px;
  align-items: end;
  gap: 5px;
  height: 168px;
  padding: 10px 8px 0;
  display: flex;
}

.admin-bar {
  flex: 1;
  width: auto;
  min-height: 8px;
}

.admin-bar-searches {
  background: var(--accent);
}

.admin-bar-signups {
  background: var(--good);
}

.admin-bar-refunds {
  background: var(--warn);
}

.admin-chart-bucket strong {
  color: var(--ink);
  font-family: var(--font-mono);
  text-align: center;
  text-transform: uppercase;
  font-size: 11px;
}

.admin-activity-list {
  display: grid;
}

.admin-activity-head, .admin-activity-row {
  grid-template-columns: minmax(140px, .8fr) minmax(180px, 1fr) minmax(160px, 1fr) minmax(160px, .8fr);
  align-items: center;
  gap: 16px;
  display: grid;
}

.admin-activity-head {
  border-bottom: 1px solid var(--line);
  padding: 0 0 10px;
}

.admin-activity-row {
  border-bottom: 1px solid var(--line);
  padding: 15px 0;
}

.admin-activity-row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.admin-activity-row strong, .admin-activity-row span, .admin-activity-row time {
  min-width: 0;
  color: var(--ink);
  font-family: var(--font-mono);
  overflow-wrap: anywhere;
  font-size: 12px;
}

.admin-activity-row strong {
  color: var(--accent-2);
  font-family: var(--font-display);
  text-transform: uppercase;
  font-size: 21px;
  line-height: 1;
}

.admin-activity-label {
  display: none;
}

.admin-table-wrap, .admin-section {
  border: 1px solid var(--line);
  background: var(--bg-2);
  padding: 24px;
}

.admin-table-wrap h2, .admin-section h2 {
  font-family: var(--font-display);
  text-transform: uppercase;
  margin: 0 0 18px;
  font-size: 32px;
  line-height: 1;
}

.admin-table {
  border-collapse: collapse;
  width: 100%;
}

.admin-table th, .admin-table td {
  border-top: 1px solid var(--line);
  text-align: left;
  padding: 13px 10px;
}

.admin-table td {
  color: var(--ink);
  font-family: var(--font-mono);
  font-size: 12px;
}

.admin-section-head {
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 20px;
  display: flex;
}

.admin-user-search, .admin-pagination {
  gap: 10px;
  display: grid;
}

.admin-user-search {
  grid-template-columns: minmax(220px, 1fr) auto;
  margin-bottom: 18px;
}

.admin-tier-list, .admin-user-list {
  display: grid;
}

.admin-cache-table select {
  font-family: var(--font-mono);
  font-size: 12px;
}

.admin-cache-row-disabled td {
  opacity: .55;
}

.admin-badge {
  border: 1px solid var(--line);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ink-dim);
  border-radius: 999px;
  margin-left: 8px;
  padding: 1px 7px;
  font-size: 10px;
}

.admin-link-button {
  font: inherit;
  color: var(--accent, #2563eb);
  cursor: pointer;
  background: none;
  border: 0;
  padding: 0;
}

.admin-link-button:disabled {
  color: var(--muted);
  cursor: default;
}

.admin-link-danger {
  color: #b91c1c;
}

.invite-form {
  border: 1px solid var(--line);
  background: linear-gradient(135deg, #ffffff08, transparent 46%),
    var(--bg-3);
  border-radius: 10px;
  margin: 4px 0 22px;
  padding: 18px 20px 20px;
}

.invite-form legend {
  font-family: var(--font-display);
  letter-spacing: .01em;
  text-transform: uppercase;
  padding: 0 8px;
  font-size: 18px;
  line-height: 1;
}

.invite-form-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
  display: grid;
}

.invite-field {
  flex-direction: column;
  gap: 7px;
  min-width: 0;
  display: flex;
}

.invite-field > span {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 10px;
}

.invite-field input, .invite-field select {
  border: 1px solid var(--line-bright);
  background: var(--bg);
  width: 100%;
  min-height: 42px;
  color: var(--ink);
  font-family: var(--font-mono);
  --lightningcss-light: ;
  --lightningcss-dark: initial;
  color-scheme: dark;
  border-radius: 6px;
  padding: 10px 12px;
  font-size: 13px;
}

.invite-field select {
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--ink-dim) 50%),
    linear-gradient(135deg, var(--ink-dim) 50%, transparent 50%);
  background-position: calc(100% - 16px) 18px, calc(100% - 11px) 18px;
  background-repeat: no-repeat;
  background-size: 5px 5px;
  padding-right: 32px;
}

.invite-field input:focus, .invite-field select:focus {
  border-color: var(--accent);
  outline-offset: 0;
  outline: 2px solid #ff5b1f2e;
}

.invite-field input[type="datetime-local"]::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: .55;
  filter: invert(.85);
}

.invite-field input[type="datetime-local"]::-webkit-calendar-picker-indicator:hover {
  opacity: 1;
}

.invite-form-actions {
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
  display: flex;
}

.invite-empty {
  border: 1px dashed var(--line-bright);
  text-align: center;
  color: var(--ink-dim);
  font-family: var(--font-mono);
  border-radius: 10px;
  margin: 6px 0 0;
  padding: 28px 20px;
  font-size: 12px;
}

.invite-card-list {
  gap: 12px;
  display: grid;
}

.invite-card {
  border: 1px solid var(--line);
  background: linear-gradient(135deg, #ffffff08, transparent 48%),
    var(--bg-3);
  border-radius: 10px;
  gap: 14px;
  padding: 16px 18px;
  display: grid;
}

.invite-card.is-revoked {
  opacity: .55;
}

.invite-card-head {
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  display: flex;
}

.invite-card-ident {
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  display: flex;
}

.invite-card-tier {
  color: var(--accent);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 800;
}

.invite-card-name {
  font-family: var(--font-display);
  text-transform: uppercase;
  color: var(--ink);
  text-overflow: ellipsis;
  font-size: 22px;
  line-height: 1.05;
  overflow: hidden;
}

.invite-card-grid {
  border-top: 1px solid var(--line);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding-top: 14px;
  display: grid;
}

.invite-stat {
  flex-direction: column;
  gap: 5px;
  min-width: 0;
  display: flex;
}

.invite-stat-key {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 10px;
}

.invite-stat-val {
  color: var(--ink);
  font-family: var(--font-mono);
  margin: 0;
  font-size: 13px;
}

.invite-card-actions {
  border-top: 1px solid var(--line);
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 14px;
  display: flex;
}

.invite-action {
  border: 1px solid var(--line-bright);
  min-height: 36px;
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
  background: #0b0d0e66;
  border-radius: 6px;
  padding: 8px 14px;
  font-size: 10px;
  font-weight: 800;
  transition: border-color .15s, color .15s, background .15s;
}

.invite-action:hover:not(:disabled) {
  border-color: var(--ink-dim);
  color: var(--ink);
}

.invite-action-primary {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--bg);
}

.invite-action-primary:hover:not(:disabled) {
  color: var(--bg);
  filter: brightness(1.06);
}

.invite-action-danger:hover:not(:disabled) {
  border-color: var(--bad);
  color: var(--bad);
}

.invite-action:disabled {
  opacity: .4;
  cursor: default;
}

.invite-status {
  border: 1px solid var(--line-bright);
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
  border-radius: 999px;
  flex: none;
  align-self: flex-start;
  padding: 4px 11px;
  font-size: 10px;
  font-weight: 800;
}

.invite-status-active {
  color: var(--good);
  background: #4dd28a1a;
  border-color: #4dd28a73;
}

.invite-status-full {
  color: var(--warn);
  background: #ff8a3d1a;
  border-color: #ff8a3d73;
}

.invite-status-expired {
  border-color: var(--line-bright);
  color: var(--ink-dim);
  background: #ffffff0a;
}

.invite-status-revoked {
  color: var(--bad);
  background: #ff4d6a1a;
  border-color: #ff4d6a73;
}

@media (max-width: 760px) {
  .invite-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .invite-form-actions .button, .invite-action {
    text-align: center;
    flex: auto;
  }
}

.admin-cache-form {
  border: 1px solid var(--line);
  border-radius: 12px;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 16px;
  margin: 16px 0;
  padding: 16px;
  display: flex;
}

.admin-cache-form legend {
  padding: 0 6px;
  font-weight: 600;
}

.admin-cache-form label {
  color: var(--muted);
  flex-direction: column;
  gap: 6px;
  font-size: 12px;
  display: flex;
}

.admin-cache-form-actions {
  gap: 10px;
  display: flex;
}

.admin-tier-card, .admin-user-card, .admin-user-edit {
  border-top: 1px solid var(--line);
  padding: 18px 0;
}

.admin-tier-card:first-child, .admin-user-card:first-child, .admin-user-edit:first-child {
  border-top: 0;
  padding-top: 0;
}

.admin-tier-main, .admin-user-card, .admin-user-edit {
  align-items: center;
  gap: 16px;
  display: grid;
}

.admin-tier-main {
  grid-template-columns: minmax(0, 1fr) auto;
  margin-bottom: 16px;
}

.admin-tier-title {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: flex;
}

.admin-tier-title h3, .admin-user-identity strong, .admin-form-head h3 {
  font-family: var(--font-display);
  text-transform: uppercase;
  margin: 0;
  font-size: 26px;
  line-height: 1;
}

.admin-tier-main p, .admin-form-head p, .admin-user-identity span, .admin-user-meta time, .admin-count {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  margin: 0;
  font-size: 11px;
}

.admin-tier-main strong {
  color: var(--accent-2);
  font-family: var(--font-display);
  text-align: right;
  font-size: 30px;
  line-height: 1;
}

.admin-detail-grid {
  background: var(--line);
  border: 1px solid var(--line);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 0 0 16px;
  display: grid;
}

.admin-detail-grid div {
  background: var(--bg);
  min-width: 0;
  padding: 13px;
}

.admin-detail-grid dt, .admin-field span, .admin-form-head p, .admin-user-meta time, .admin-count {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 10px;
}

.admin-detail-grid dd {
  font-family: var(--font-mono);
  margin: 6px 0 0;
  font-size: 12px;
}

.admin-chip {
  border: 1px solid var(--line-bright);
  width: fit-content;
  min-height: 26px;
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  align-items: center;
  padding: 5px 9px;
  font-size: 10px;
  line-height: 1;
  display: inline-flex;
}

.admin-chip-good {
  color: var(--good);
  background: #4dd28a12;
  border-color: #4dd28a6b;
}

.admin-chip-warn {
  color: #ffd38a;
  background: #ffbe5c14;
  border-color: #ffbe5c6b;
}

.destination-toolbar {
  grid-template-columns: minmax(260px, 1fr) minmax(170px, .35fr) minmax(180px, .35fr) auto;
  align-items: end;
  gap: 12px;
  margin-bottom: 14px;
  display: grid;
}

.destination-search {
  min-width: 0;
}

.destination-toggle {
  border: 1px solid var(--line-bright);
  background: var(--bg);
  min-height: 42px;
  color: var(--ink);
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  font-size: 11px;
  display: inline-flex;
}

.destination-toggle input {
  width: 15px;
  height: 15px;
  accent-color: var(--accent);
}

.destination-summary {
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
  display: flex;
}

.destination-summary span {
  border: 1px solid var(--line);
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .07em;
  text-transform: uppercase;
  padding: 7px 9px;
  font-size: 10px;
}

.destination-table-wrap {
  border: 1px solid var(--line);
  overflow-x: auto;
}

.destination-table {
  border-collapse: collapse;
  width: 100%;
  min-width: 980px;
}

.destination-table th, .destination-table td {
  border-top: 1px solid var(--line);
  text-align: left;
  vertical-align: middle;
  padding: 13px 12px;
}

.destination-table th {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
  white-space: nowrap;
  border-top: 0;
  font-size: 10px;
}

.destination-table td {
  color: var(--ink);
  font-family: var(--font-mono);
  font-size: 12px;
}

.destination-code {
  min-width: 54px;
  color: var(--ink);
  font-family: var(--font-display);
  letter-spacing: 0;
  font-size: 22px;
  line-height: 1;
  display: inline-flex;
}

.destination-location {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.destination-location strong {
  font-family: var(--font-display);
  font-size: 20px;
  line-height: 1;
}

.destination-location span, .destination-timezone {
  color: var(--ink-dim);
}

.destination-chip-stack {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.destination-edit-row td {
  padding: 0;
}

.destination-edit {
  background: #ff5b1f0d;
  grid-template-columns: minmax(100px, .4fr) minmax(190px, 1fr) minmax(250px, 1.2fr) minmax(150px, .7fr) minmax(150px, .7fr) auto;
  align-items: end;
  gap: 12px;
  padding: 16px;
  display: grid;
}

.destination-edit-title {
  align-self: center;
  gap: 4px;
  display: grid;
}

.destination-edit-title strong {
  font-family: var(--font-display);
  font-size: 24px;
  line-height: 1;
}

.destination-edit-title span, .destination-empty {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  font-size: 11px;
}

.destination-empty {
  border-top: 1px solid var(--line);
  margin: 0;
  padding: 20px;
}

.admin-row-actions, .admin-user-meta {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: flex;
}

.admin-row-actions {
  justify-content: flex-end;
}

.admin-tier-form {
  border: 1px solid var(--line-bright);
  background: var(--bg);
  margin-bottom: 18px;
  padding: 18px;
}

.admin-form-head {
  justify-content: space-between;
  align-items: baseline;
  gap: 18px;
  margin-bottom: 16px;
  display: flex;
}

.admin-form-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: end;
  gap: 12px;
  display: grid;
}

.admin-field {
  gap: 7px;
  min-width: 0;
  display: grid;
}

.admin-default-check {
  align-self: end;
  min-height: 42px;
}

.admin-user-card {
  grid-template-columns: minmax(220px, 1.2fr) minmax(250px, 1fr) auto;
}

.admin-user-edit {
  grid-template-columns: minmax(220px, 1.2fr) minmax(150px, .6fr) minmax(130px, .5fr) auto;
}

.admin-user-identity {
  gap: 6px;
  min-width: 0;
  display: grid;
}

.admin-user-identity strong, .admin-user-identity span {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.admin-tier-form input, .admin-tier-form select, .tier-form input, .tier-form select, .admin-user-edit select, .destination-toolbar input, .destination-toolbar select, .destination-edit input, .destination-edit select, .admin-user-search input, .admin-user-search select {
  border: 1px solid var(--line-bright);
  background: var(--bg);
  width: 100%;
  min-height: 42px;
  color: var(--ink);
  font-family: var(--font-mono);
  padding: 10px 12px;
  font-size: 12px;
}

.admin-tier-form select, .tier-form select, .admin-user-edit select, .destination-toolbar select, .destination-edit select {
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--ink-dim) 50%),
    linear-gradient(135deg, var(--ink-dim) 50%, transparent 50%);
  background-position: calc(100% - 16px) 18px, calc(100% - 11px) 18px;
  background-repeat: no-repeat;
  background-size: 5px 5px;
  padding-right: 32px;
}

.admin-tier-form input:focus, .admin-tier-form select:focus, .tier-form input:focus, .tier-form select:focus, .admin-user-edit select:focus, .destination-toolbar input:focus, .destination-toolbar select:focus, .destination-edit input:focus, .destination-edit select:focus, .admin-user-search input:focus {
  border-color: var(--accent);
  outline-offset: 0;
  outline: 2px solid #ff5b1f2e;
}

.admin-check {
  align-items: center;
  gap: 8px;
  display: inline-flex;
}

.admin-check input {
  width: 16px;
  min-height: 16px;
  accent-color: var(--accent);
}

.admin-pagination {
  border-top: 1px solid var(--line);
  grid-template-columns: auto 1fr auto;
  align-items: center;
  padding-top: 16px;
}

.admin-pagination span {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  text-align: center;
  font-size: 12px;
}

.tier-card {
  border-top: 1px solid var(--line);
  padding: 20px 0;
}

.tier-card:first-child {
  border-top: 0;
  padding-top: 0;
}

.tier-card-head {
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 16px;
  display: flex;
}

.tier-card-title {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.tier-card-title h3 {
  font-family: var(--font-display);
  text-transform: uppercase;
  margin: 0;
  font-size: 28px;
  line-height: 1;
}

.tier-card-price {
  text-align: right;
  flex-shrink: 0;
  justify-items: end;
  gap: 5px;
  display: grid;
}

.tier-card-price strong {
  color: var(--accent-2);
  font-family: var(--font-display);
  font-size: 26px;
  line-height: 1;
}

.tier-card-price span {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .07em;
  text-transform: uppercase;
  font-size: 10px;
}

.tier-card-grid {
  background: var(--line);
  border: 1px solid var(--line);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 0 0 16px;
  display: grid;
}

.tier-feature-cell {
  background: var(--bg);
  gap: 7px;
  min-width: 0;
  padding: 13px;
  display: grid;
}

.tier-feature-cell dt {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  display: flex;
}

.tier-feature-cell dd {
  font-family: var(--font-mono);
  color: var(--ink);
  margin: 0;
  font-size: 12px;
}

.tier-feature-cell.is-off dd {
  color: var(--ink-dim);
}

.tier-feature-dot {
  background: var(--good);
  border-radius: 999px;
  width: 7px;
  height: 7px;
  box-shadow: 0 0 0 3px #4dd28a29;
}

.tier-feature-cell.is-off .tier-feature-dot {
  background: var(--line-bright);
  box-shadow: none;
}

.tier-form {
  border: 1px solid var(--accent);
  background: var(--bg);
  margin-bottom: 18px;
}

.tier-form-head {
  border-bottom: 1px solid var(--line);
  background: #ff5b1f0d;
  padding: 18px 20px;
}

.tier-form-head h3 {
  font-family: var(--font-display);
  text-transform: uppercase;
  margin: 0 0 6px;
  font-size: 24px;
  line-height: 1;
}

.tier-form-head p {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  margin: 0;
  font-size: 11px;
}

.tier-form-block {
  padding: 18px 20px;
}

.tier-form-block + .tier-form-block {
  padding-top: 0;
}

.tier-form-block-label {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 12px;
  font-size: 10px;
  display: block;
}

.tier-form-row-basics {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 14px;
  display: grid;
}

.tier-form-field {
  gap: 6px;
  min-width: 0;
  display: grid;
}

.tier-form-hint {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .04em;
  font-size: 10px;
}

.tier-form-features {
  gap: 12px;
  display: grid;
}

.tier-feature {
  border: 1px solid var(--line);
  background: var(--bg-2);
  padding: 14px 16px;
}

.tier-feature.is-on {
  border-color: var(--line-bright);
}

.tier-feature-toggle {
  font-family: var(--font-display);
  text-transform: uppercase;
  cursor: pointer;
  align-items: center;
  gap: 9px;
  font-size: 16px;
  line-height: 1;
  display: inline-flex;
}

.tier-feature-toggle input {
  width: 16px;
  height: 16px;
  accent-color: var(--accent);
}

.tier-feature-desc {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  margin: 7px 0 0 25px;
  font-size: 11px;
}

.tier-feature-fields {
  opacity: .4;
  pointer-events: none;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 14px 0 0 25px;
  display: grid;
}

.tier-feature.is-on .tier-feature-fields {
  opacity: 1;
  pointer-events: auto;
}

.tier-feature-fields-single {
  grid-template-columns: minmax(0, 1fr);
  max-width: calc(50% - 7px);
}

.tier-form-footer {
  border-top: 1px solid var(--line);
  background: var(--bg-2);
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  display: flex;
}

.tier-form-default {
  font-family: var(--font-mono);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ink-dim);
  font-size: 11px;
}

.button-icon {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6px;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
}

.tier-card-actions .button {
  white-space: nowrap;
  padding-left: 13px;
  padding-right: 13px;
}

.tier-card-edit {
  margin-left: auto;
}

.tier-card-delete:not(:disabled):hover {
  color: #ff8f8f;
  border-color: #e55c5c80;
}

@media (max-width: 1320px) {
  .destination-toolbar {
    grid-template-columns: minmax(220px, 1fr) minmax(160px, .5fr);
  }

  .destination-edit {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .destination-edit-title, .destination-edit .admin-row-actions {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .destination-toolbar, .destination-edit {
    grid-template-columns: 1fr;
  }

  .destination-toggle {
    justify-content: flex-start;
  }
}

@media (max-width: 1320px) {
  .search-layout {
    grid-template-columns: 1fr;
  }

  .search-sidebar {
    display: none;
  }
}

@media (max-width: 1024px) {
  .header-primary {
    gap: clamp(10px, 1.6vw, 18px);
  }

  .header-actions {
    gap: 9px;
  }

  .nav-link {
    letter-spacing: .06em;
    padding: 0 10px;
  }

  .header-profile-button {
    width: 40px;
    min-width: 40px;
    max-width: 40px;
    padding: 0;
  }

  .header-profile-button span {
    display: none;
  }
}

@media (max-width: 980px) {
  .search-main {
    padding: 22px 16px 40px;
  }

  .mode-tabs, .sort-pills {
    overflow-x: auto;
  }

  .results-head {
    flex-direction: column;
    align-items: stretch;
  }

  .results-table {
    background: none;
    border: 0;
    gap: 12px;
    display: grid;
  }

  .table-head {
    display: none;
  }

  .result-row {
    border: 1px solid var(--line);
    background: var(--bg-2);
    grid-template-columns: 1fr 1fr;
    gap: 10px 14px;
    padding: 18px;
  }

  .result-row > :not(.res-fare) {
    gap: 5px;
    display: grid;
  }

  .result-label {
    color: var(--ink-dim);
    font-family: var(--font-mono);
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    display: block;
  }

  .res-route, .res-times {
    grid-column: 1 / -1;
  }

  .res-fare {
    border: 1px solid var(--line);
    background: var(--bg);
    text-align: left;
    order: 8;
    grid-column: 1 / -1;
    align-content: start;
    justify-items: start;
    min-height: 86px;
    padding: 12px;
  }

  .res-fare.gowild {
    order: 7;
  }

  .res-fare.discount-den {
    order: 9;
  }

  .res-fare strong {
    font-size: 30px;
  }

  .res-fare small:empty {
    display: none;
  }
}

@media (max-width: 760px) {
  .app-header {
    padding: 0;
  }

  .app-header:after {
    left: 0;
    right: 0;
  }

  .header-primary {
    grid-template-columns: 1fr auto;
    gap: 10px 12px;
    min-height: auto;
    padding: 10px 10px 8px;
  }

  .app-nav {
    display: none;
  }

  .header-quota {
    padding: 7px 9px;
  }

  .brand-wordmark {
    font-size: 19px;
  }

  .header-actions {
    gap: 8px;
  }

  .header-actions > .button, .header-actions > a.button, .header-actions > form, .header-profile-button {
    display: none;
  }

  .mobile-menu {
    display: block;
  }

  .mobile-menu-actions .button {
    min-height: 36px;
    padding: 10px 12px;
    font-size: 10px;
  }

  .hero, .auth-layout, .cta-band {
    grid-template-columns: 1fr;
  }

  .auth-layout {
    flex: none;
  }

  .hero {
    min-height: auto;
    padding-block: 44px 64px;
  }

  .boarding-pass {
    margin: 0 auto;
    transform: rotate(0);
  }

  .feature-grid {
    grid-template-columns: 1fr;
  }

  .feature-grid article {
    min-height: auto;
  }

  .cta-band {
    padding-block: 48px 64px;
  }

  .auth-art {
    border-right: 0;
    border-bottom: 1px solid var(--line);
    min-height: auto;
    padding: 24px 22px 22px;
  }

  .auth-art h1 {
    margin-block: 12px 10px;
    font-size: 28px;
    line-height: .95;
  }

  .auth-art p:not(.eyebrow) {
    max-width: none;
    font-family: var(--font-ui);
    font-size: 14px;
    line-height: 1.45;
  }

  .auth-art-invite {
    padding-block: 20px;
  }

  .auth-card {
    align-self: start;
    padding: 26px 22px 32px;
  }

  .auth-card h2 {
    font-size: 36px;
  }

  .auth-card p {
    font-size: 14px;
    line-height: 1.45;
  }

  .auth-form {
    gap: 14px;
    margin-top: 22px;
  }

  .auth-form .field {
    gap: 7px;
  }

  .auth-form .field input {
    min-height: 48px;
    padding: 12px 14px;
  }

  .auth-submit {
    min-height: 50px;
    margin-top: 2px;
  }

  .invite-redeem-layout {
    align-content: start;
    gap: 18px;
    padding: 28px 18px 42px;
  }

  .invite-redeem-intro {
    text-align: left;
  }

  .invite-redeem-intro h1 {
    margin-block: 12px 10px;
    font-size: 28px;
  }

  .invite-redeem-intro p:not(.eyebrow), .invite-redeem-state p {
    font-size: 14px;
  }

  .invite-redeem-panel {
    padding: 22px;
  }

  .invite-redeem-state h2 {
    font-size: 32px;
  }

  .search-layout {
    grid-template-columns: 1fr;
  }

  .search-sidebar {
    display: none;
  }

  .search-main {
    padding: 22px 16px 40px;
  }

  .mode-tabs {
    overflow-x: auto;
  }

  .results-head {
    flex-direction: column;
    align-items: stretch;
  }

  .sort-pills {
    overflow-x: auto;
  }

  .results-table {
    background: none;
    border: 0;
    gap: 12px;
    display: grid;
  }

  .table-head {
    display: none;
  }

  .result-row {
    border: 1px solid var(--line);
    background: var(--bg-2);
    grid-template-columns: 1fr 1fr;
    gap: 10px 14px;
    padding: 18px;
  }

  .result-row > :not(.res-fare) {
    gap: 5px;
    display: grid;
  }

  .result-label {
    color: var(--ink-dim);
    font-family: var(--font-mono);
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    display: block;
  }

  .res-route, .res-times {
    grid-column: 1 / -1;
  }

  .res-fare {
    border: 1px solid var(--line);
    background: var(--bg);
    text-align: left;
    order: 8;
    grid-column: 1 / -1;
    align-content: start;
    place-items: end start;
    min-height: 86px;
    padding: 12px;
  }

  .res-fare.gowild {
    order: 7;
  }

  .res-fare.discount-den {
    order: 9;
  }

  .res-fare strong {
    font-size: 30px;
  }

  .res-fare small:empty {
    display: none;
  }

  .history-row {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .history-meta {
    flex-direction: column;
    align-items: flex-start;
  }

  .history-meta strong {
    text-align: left;
  }

  .profile-page {
    padding-top: var(--sp-5);
  }

  .profile-quota-meter > div:first-child, .admin-section-head {
    flex-direction: column;
    align-items: stretch;
  }

  .admin-tabs {
    width: 100%;
  }

  .admin-tab {
    flex: none;
  }

  .admin-metrics, .admin-user-search, .admin-tier-main, .admin-detail-grid, .admin-form-grid, .tier-card-grid, .tier-form-row-basics, .tier-feature-fields, .admin-user-card, .admin-user-edit, .admin-pagination {
    grid-template-columns: 1fr;
  }

  .tier-feature-fields-single {
    max-width: 100%;
  }

  .tier-form-footer {
    flex-direction: column;
    align-items: stretch;
  }

  .tier-form-footer .admin-row-actions .button {
    text-align: center;
    width: 100%;
  }

  .admin-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-panel-head {
    flex-direction: column;
    align-items: stretch;
  }

  .admin-chart-frame {
    grid-template-columns: 32px minmax(0, 1fr);
  }

  .admin-chart {
    grid-auto-columns: minmax(112px, 112px);
    overflow-x: auto;
  }

  .admin-activity-head {
    display: none;
  }

  .admin-activity-row {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .admin-activity-label {
    color: var(--ink-dim);
    font-family: var(--font-mono);
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 4px;
    font-size: 10px;
    display: block;
  }

  .admin-form-head, .admin-row-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .admin-tier-main strong, .admin-row-actions .button {
    text-align: center;
    width: 100%;
  }

  .admin-tier-main strong {
    text-align: left;
  }

  .admin-user-meta {
    flex-direction: column;
    align-items: flex-start;
  }

  .admin-table-wrap {
    overflow-x: auto;
  }

  .results-head {
    margin-top: 18px;
  }

  .sort-pills {
    width: 100%;
  }

  .sort-pills button {
    flex: 1;
    min-width: max-content;
  }

  .everywhere-destination-card {
    min-height: 126px;
    padding: 16px;
  }

  .everywhere-flight-panel {
    padding: 14px;
  }

  .everywhere-flight-panel-head {
    flex-direction: column;
    align-items: stretch;
  }

  .everywhere-flight-panel-head button {
    width: 100%;
  }

  .flight-card-head, .flight-route {
    padding-inline: 14px;
  }

  .flight-statbar {
    gap: 10px 12px;
    margin-inline: 14px;
  }

  .flight-stats {
    flex-wrap: nowrap;
    gap: 12px;
  }

  .flight-stat {
    white-space: nowrap;
  }

  .flight-stat-arrival, .flight-stat-stops {
    display: none;
  }

  .flight-actions {
    gap: 8px;
  }

  .details-button, .book-button {
    padding-inline: 10px;
  }

  .details-button {
    width: 40px;
    min-width: 40px;
    padding: 0;
  }

  .details-button span {
    display: none;
  }

  .details-button .details-chevron {
    width: 18px;
    height: 18px;
  }

  .book-button {
    min-width: 72px;
  }

  .flight-card-details {
    gap: 10px;
    padding: 12px;
  }

  .fare-breakdown {
    border: 1px solid #ffffff14;
    border-radius: 6px;
    grid-template-columns: 1fr;
    gap: 0;
    overflow: hidden;
  }

  .fare-detail {
    background: #ffffff05;
    border: 0;
    border-radius: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 4px 12px;
    min-height: auto;
    padding: 10px 12px;
  }

  .fare-detail + .fare-detail {
    border-top: 1px solid #ffffff14;
  }

  .fare-detail-gowild, .fare-detail-discount-den, .fare-detail-standard {
    background: #ffffff05;
    border-color: #0000;
  }

  .fare-detail span {
    min-width: 0;
  }

  .fare-detail small {
    overflow-wrap: anywhere;
    grid-column: 1;
    min-width: 0;
  }

  .fare-detail strong {
    grid-area: 1 / 2 / 3;
    justify-self: end;
    font-size: 20px;
  }

  .segment-breakdown-head {
    min-height: 34px;
    padding: 9px 12px;
  }

  .segment-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    padding: 12px;
  }

  .segment-row > div {
    min-width: 0;
  }

  .segment-row strong {
    font-size: 14px;
  }

  .segment-row span {
    overflow-wrap: anywhere;
  }

  .segment-row > div:last-child {
    text-align: right;
    justify-items: end;
    min-width: 92px;
  }

  .layover-row {
    min-height: 30px;
    padding-inline: 12px;
  }
}

.v2-main {
  align-content: start;
  gap: 20px;
  display: grid;
}

.v2-header {
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  display: flex;
}

.v2-header-copy h1 {
  font-family: var(--font-display);
  font-size: var(--fs-display-1);
  font-weight: 900;
  line-height: var(--lh-display);
  letter-spacing: .01em;
  text-transform: uppercase;
  margin: 6px 0 8px;
}

.v2-header-copy p:not(.eyebrow) {
  max-width: 560px;
  color: var(--ink-dim);
  font-family: var(--font-mono);
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
}

.v2-mode-tabs {
  border: 1px solid var(--line-bright);
  background: #111416eb;
  border-radius: 7px;
  gap: 4px;
  padding: 4px;
  display: inline-flex;
}

.v2-mode-tabs button {
  min-height: 36px;
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
  background: none;
  border: 0;
  border-radius: 4px;
  padding: 8px 14px;
  font-size: 10px;
  font-weight: 800;
  transition: background .16s, color .16s;
}

.v2-mode-tabs button.active {
  background: var(--accent);
  color: var(--bg);
}

.v2-mode-tabs button:disabled {
  cursor: not-allowed;
  opacity: .42;
}

.v2-console {
  border: 1px solid var(--line-bright);
  background: linear-gradient(135deg, #ffffff08, #0000 52%), #111416eb;
  border-radius: 10px;
  gap: 12px;
  padding: 14px;
  display: grid;
  box-shadow: 0 18px 54px #00000038;
}

.v2-console-primary {
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px;
  display: flex;
}

.v2-console-primary > .v2-route-picker {
  flex: 360px;
}

.v2-console-primary > .v2-picker {
  flex: 0 190px;
}

.v2-console-primary > .v2-window-field, .v2-console-primary > .v2-pax-field, .v2-console-primary > .v2-hunt-row {
  flex: none;
}

.v2-console-primary > .v2-day-tripper-bounds, .v2-console-primary > .v2-route-finder-bounds {
  order: 1;
}

.v2-hunt-row {
  align-items: stretch;
  gap: 10px;
  display: flex;
}

.v2-hunt-row .v2-hunt-button {
  flex: auto;
}

.v2-hunt-quota, html[data-standalone="true"] .v2-hunt-row .v2-hunt-quota {
  display: none;
}

@media (max-width: 1320px) {
  .v2-hunt-row .v2-hunt-quota {
    min-width: 64px;
    font-family: var(--font-display);
    border-radius: 8px;
    align-content: center;
    place-items: center;
    gap: 3px;
    padding: 0 10px;
    line-height: 1;
    display: grid;
  }

  .v2-hunt-row .v2-hunt-quota strong {
    font-size: 18px;
    line-height: 1;
  }

  .v2-hunt-row .v2-hunt-quota small {
    font-family: var(--font-mono);
    letter-spacing: .08em;
    text-transform: uppercase;
    opacity: .85;
    font-size: 7px;
    font-weight: 700;
  }

  .v2-hunt-row .v2-hunt-quota.has-left {
    color: var(--good);
    background: linear-gradient(#4dd28a1a, #4dd28a09), #111416b3;
    border: 1px solid #4dd28a52;
  }

  .v2-hunt-row .v2-hunt-quota.is-empty {
    color: var(--bad);
    background: linear-gradient(#ff4d6a1a, #ff4d6a09), #111416b3;
    border: 1px solid #ff4d6a57;
  }
}

.v2-console-primary .v2-picker-control, .v2-console-primary .v2-date-trigger, .v2-winctl, .v2-pax-select, .v2-swap-button, .v2-hunt-button {
  height: 52px;
  min-height: 52px;
}

.v2-route-picker {
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: end;
  gap: 8px;
  display: grid;
}

.v2-route-picker.is-single {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: none;
}

.v2-swap-button {
  border: 1px solid var(--line-bright);
  background: var(--bg-3);
  width: 44px;
  height: 52px;
  color: var(--ink-dim);
  border-radius: 7px;
  place-items: center;
  transition: border-color .16s, color .16s, transform .16s;
  display: grid;
}

.v2-swap-button svg {
  width: 18px;
  height: 18px;
}

.v2-swap-button:not(:disabled):hover {
  border-color: var(--accent);
  color: var(--accent);
  transform: translateY(-1px);
}

.v2-swap-button:disabled {
  cursor: not-allowed;
  opacity: .5;
}

.v2-picker, .v2-field {
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
  min-width: 0;
  display: grid;
}

.v2-picker-label, .v2-field-label, .v2-slider-label {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 700;
}

.v2-picker-control {
  border: 1px solid var(--line-bright);
  background: var(--bg-2);
  border-radius: 7px;
  align-items: center;
  gap: 8px;
  min-height: 52px;
  padding: 0 10px;
  transition: border-color .16s;
  display: flex;
}

.v2-picker-control:focus-within {
  border-color: var(--accent);
  box-shadow: inset 0 0 0 1px #ff5b1f59;
}

.v2-picker-control.is-disabled {
  opacity: .6;
}

.v2-picker-badge {
  color: var(--accent);
  font-family: var(--font-mono);
  letter-spacing: .06em;
  background: #ff5b1f1a;
  border: 1px solid #ff5b1f66;
  border-radius: 5px;
  flex: none;
  padding: 4px 7px;
  font-size: 11px;
  font-weight: 800;
}

.v2-picker-input {
  min-width: 0;
  color: var(--ink);
  background: none;
  border: 0;
  flex: 1;
  padding: 13px 0;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: 15px;
  font-weight: 700;
}

@media (pointer: coarse) {
  .v2-picker-input {
    font-size: 16px;
  }
}

.v2-picker-input:focus {
  outline: 0;
}

.v2-picker-input::placeholder {
  color: var(--ink-faint);
  font-weight: 600;
}

.v2-picker-clear {
  width: 22px;
  height: 22px;
  color: var(--ink-dim);
  background: none;
  border: 1px solid #0000;
  border-radius: 5px;
  flex: none;
  margin-left: auto;
  font-size: 16px;
  line-height: 1;
}

.v2-picker-clear:hover {
  border-color: var(--line-bright);
  color: var(--ink);
}

.v2-picker-popover {
  z-index: 60;
  border: 1px solid var(--line-bright);
  background: linear-gradient(180deg, #171b1efc, #0b0d0efc),
    var(--bg-2);
  border-radius: 8px;
  width: 340px;
  max-width: calc(100vw - 32px);
  max-height: min(360px, 60vh);
  padding: 5px;
  overflow-y: auto;
  box-shadow: 0 26px 70px #00000080;
}

.v2-picker-empty {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  text-align: center;
  padding: 18px;
  font-size: 12px;
}

.v2-picker-option {
  cursor: pointer;
  border-radius: 6px;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 9px 11px;
  scroll-margin: 6px;
  display: flex;
}

.v2-picker-option[data-active-item], .v2-picker-option:hover {
  background: #ff5b1f1f;
}

.v2-picker-option.is-everywhere {
  background: #ffd84d0d;
  border: 1px dashed #ffd84d5c;
}

.v2-picker-option-main {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.v2-picker-option-title {
  color: var(--ink);
  align-items: center;
  gap: 7px;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: 15px;
  font-weight: 750;
  display: inline-flex;
}

.v2-picker-globe {
  width: 15px;
  height: 15px;
  color: var(--accent-2);
}

.v2-picker-tag {
  color: var(--good);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  border: 1px solid #4dd28a66;
  border-radius: 4px;
  padding: 1px 6px;
  font-size: 9px;
  font-weight: 800;
}

.v2-picker-option-secondary {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
  overflow: hidden;
}

.v2-picker-option-badge {
  border: 1px solid var(--line-bright);
  color: var(--ink);
  font-family: var(--font-mono);
  letter-spacing: .06em;
  border-radius: 5px;
  flex: none;
  padding: 4px 7px;
  font-size: 11px;
  font-weight: 800;
}

.v2-date-trigger {
  border: 1px solid var(--line-bright);
  background: var(--bg-2);
  min-height: 52px;
  color: var(--ink);
  font-family: var(--font-mono);
  border-radius: 7px;
  align-items: center;
  gap: 9px;
  padding: 0 13px;
  font-size: 13px;
  font-weight: 700;
  transition: border-color .16s, color .16s;
  display: flex;
}

.v2-date-trigger:hover {
  border-color: var(--accent);
}

.v2-date-icon {
  width: 16px;
  height: 16px;
  color: var(--ink-dim);
}

.v2-calendar-popover {
  z-index: 60;
  border: 1px solid var(--line-bright);
  background: linear-gradient(180deg, #171b1efc, #0b0d0efc),
    var(--bg-2);
  border-radius: 10px;
  padding: 14px;
  box-shadow: 0 26px 70px #00000080;
}

.v2-daypicker {
  --rdp-accent-color: var(--accent);
  color: var(--ink);
  font-family: var(--font-mono);
  margin: 0;
}

.v2-daypicker .rdp-month_caption {
  font-family: var(--font-display);
  text-transform: uppercase;
  padding: 0 4px 10px;
  font-size: 20px;
  font-weight: 900;
}

.v2-daypicker .rdp-months {
  position: relative;
}

.v2-daypicker .rdp-nav {
  align-items: center;
  gap: 6px;
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
}

.v2-daypicker .rdp-button_previous, .v2-daypicker .rdp-button_next {
  border: 1px solid var(--line-bright);
  background: var(--bg-3);
  width: 28px;
  height: 28px;
  color: var(--ink-dim);
  border-radius: 7px;
  place-items: center;
  transition: border-color .16s, color .16s;
  display: inline-grid;
}

.v2-daypicker .rdp-button_previous:hover, .v2-daypicker .rdp-button_next:hover {
  border-color: var(--accent);
  color: var(--accent);
}

.v2-daypicker .rdp-button_previous:disabled, .v2-daypicker .rdp-button_next:disabled {
  opacity: .4;
  cursor: not-allowed;
}

.v2-cal-chevron {
  width: 15px;
  height: 15px;
}

.v2-daypicker .rdp-month_grid {
  border-collapse: separate;
  border-spacing: 3px;
}

.v2-daypicker .rdp-weekday {
  color: var(--ink-faint);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 800;
}

.v2-daypicker .rdp-day {
  position: relative;
}

.v2-daypicker .rdp-day_button {
  width: 38px;
  height: 38px;
  color: var(--ink);
  font-family: var(--font-mono);
  background: none;
  border: 1px solid #0000;
  border-radius: 7px;
  font-size: 13px;
  font-weight: 700;
}

.v2-daypicker .rdp-day_button:hover {
  border-color: var(--line-bright);
}

.v2-daypicker .rdp-outside .rdp-day_button {
  color: var(--ink-faint);
}

.v2-day-bookable .rdp-day_button {
  color: var(--good);
  background: #4dd28a29;
  border-color: #4dd28a80;
}

.v2-day-blackout .rdp-day_button {
  color: var(--bad);
  background: #ff4d6a2e;
  border-color: #ff4d6a73;
}

.v2-day-bookable.v2-day-blackout .rdp-day_button {
  color: var(--good);
  background: #4dd28a29;
  border-color: #4dd28a80;
}

.v2-day-bookable.v2-day-blackout:after {
  content: "";
  border-top: 8px solid var(--bad);
  border-left: 8px solid #0000;
  width: 0;
  height: 0;
  position: absolute;
  top: 4px;
  right: 4px;
}

.v2-day-today .rdp-day_button {
  border-color: var(--line-bright);
}

.v2-day-disabled .rdp-day_button, .v2-daypicker .rdp-disabled .rdp-day_button {
  color: var(--ink-faint);
  opacity: .4;
  cursor: not-allowed;
  background: none;
  border-color: #0000;
}

.v2-day-selected .rdp-day_button, .v2-daypicker .rdp-selected .rdp-day_button {
  border-color: var(--accent);
  background: var(--accent);
  color: var(--bg);
  font-weight: 900;
}

.v2-calendar-legend {
  border-top: 1px solid var(--line);
  flex-direction: column;
  gap: 8px;
  margin-top: 12px;
  padding-top: 12px;
  display: flex;
}

.v2-legend-item {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .04em;
  text-transform: uppercase;
  align-items: center;
  gap: 7px;
  font-size: 10px;
  display: inline-flex;
}

.v2-legend-dot {
  border-radius: 999px;
  width: 9px;
  height: 9px;
}

.v2-legend-dot.is-bookable {
  background: var(--good);
}

.v2-legend-dot.is-blackout {
  background: var(--bad);
}

.v2-legend-swatch {
  border: 1px solid;
  border-radius: 3px;
  width: 12px;
  height: 12px;
}

.v2-legend-swatch.is-bookable {
  background: #4dd28a33;
  border-color: #4dd28a99;
}

.v2-legend-swatch.is-blackout {
  background: #ff4d6a33;
  border-color: #ff4d6a99;
}

.v2-toggle-group {
  border: 1px solid var(--line-bright);
  background: var(--bg-3);
  border-radius: 7px;
  gap: 3px;
  padding: 3px;
  display: inline-flex;
}

.v2-toggle-item {
  min-width: 40px;
  min-height: 40px;
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  background: none;
  border: 0;
  border-radius: 5px;
  justify-content: center;
  align-items: center;
  padding: 0 12px;
  font-size: 11px;
  font-weight: 800;
  transition: background .14s, color .14s;
  display: inline-flex;
}

.v2-toggle-item:hover {
  color: var(--ink);
}

.v2-toggle-item[data-state="on"] {
  background: var(--accent);
  color: var(--bg);
}

.v2-fare-item.is-standard[data-state="on"] {
  color: var(--ink);
  background: #ebe7df2e;
}

.v2-fare-item.is-dd[data-state="on"] {
  color: #8fc2ff;
  background: #4da3ff33;
}

.v2-fare-item.is-gowild[data-state="on"] {
  color: var(--good);
  background: #4dd28a38;
}

.v2-window-field {
  justify-items: start;
}

.v2-winctl {
  border: 1px solid var(--line-bright);
  background: var(--bg-2);
  border-radius: 7px;
  grid-template: 1fr / minmax(0, 1fr);
  width: 58px;
  height: 52px;
  transition: width .24s cubic-bezier(.4, 0, .2, 1), border-color .16s;
  display: grid;
  position: relative;
  overflow: clip;
}

.v2-winctl[data-expanded="true"] {
  width: var(--winctl-open-w, 110px);
}

.v2-winctl.is-open, .v2-winctl:not(.is-disabled):hover {
  border-color: var(--accent);
}

.v2-winctl.is-disabled {
  cursor: not-allowed;
  opacity: .6;
}

.v2-winctl-face {
  z-index: 1;
  color: var(--ink);
  background: none;
  grid-area: 1 / 1;
  align-content: center;
  place-items: center;
  gap: 1px;
  transition: opacity .14s cubic-bezier(.4, 0, 1, 1), color .16s;
  display: grid;
}

.v2-winctl:not(.is-disabled):hover .v2-winctl-face, .v2-winctl.is-open .v2-winctl-face {
  color: var(--accent);
}

.v2-winctl[data-expanded="true"] .v2-winctl-face {
  opacity: 0;
  pointer-events: none;
}

.v2-winctl-num {
  font-family: var(--font-mono);
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
}

.v2-winctl-unit {
  font-family: var(--font-mono);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ink-dim);
  font-size: 8.5px;
  font-weight: 700;
}

.v2-winctl:not(.is-disabled):hover .v2-winctl-unit, .v2-winctl.is-open .v2-winctl-unit {
  color: var(--accent);
}

.v2-winctl-reveal {
  z-index: 2;
  pointer-events: none;
  grid-area: 1 / 1;
  display: flex;
  overflow: clip;
}

.v2-winctl[data-expanded="true"] .v2-winctl-reveal {
  pointer-events: auto;
}

.v2-winctl-track {
  opacity: 0;
  padding: 4px;
  transition: opacity .18s 60ms, transform .18s cubic-bezier(0, 0, .2, 1) 60ms;
  display: flex;
  position: relative;
  transform: translateX(-4px);
}

.v2-winctl[data-expanded="true"] .v2-winctl-track {
  opacity: 1;
  transform: none;
}

.v2-winctl-pill {
  z-index: 0;
  background: var(--accent);
  border-radius: 5px;
  position: absolute;
  inset: 4px auto 4px 0;
}

.v2-winctl-pill.is-ready {
  transition: transform .2s ease-out, width .2s ease-out;
}

.v2-winctl-seg {
  z-index: 1;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  font-family: var(--font-mono);
  color: var(--ink-dim);
  border-radius: 5px;
  flex: 0 0 26px;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  font-weight: 800;
  transition: color .16s;
  display: flex;
  position: relative;
}

.v2-winctl-seg[data-active="true"], .v2-winctl-seg[data-active="true"]:hover {
  color: var(--bg);
}

.v2-winctl-seg:hover {
  color: var(--ink);
}

.v2-winctl-seg:has(input:focus-visible) {
  outline: 2px solid var(--accent-2);
  outline-offset: 1px;
}

@media (prefers-reduced-motion: reduce) {
  .v2-winctl, .v2-winctl-reveal, .v2-winctl-face, .v2-winctl-track, .v2-winctl-pill {
    transition: none;
  }
}

.v2-pax-field {
  justify-items: start;
}

.v2-pax-select {
  border: 1px solid var(--line-bright);
  background: var(--bg-2);
  min-width: 74px;
  min-height: 52px;
  color: var(--ink);
  font-family: var(--font-mono);
  border-radius: 7px;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 0 10px 0 14px;
  font-size: 15px;
  font-weight: 800;
  transition: border-color .16s;
  display: inline-flex;
}

.v2-pax-select:not(.is-disabled):hover, .v2-pax-select[aria-expanded="true"] {
  border-color: var(--accent);
}

.v2-pax-select.is-disabled {
  cursor: not-allowed;
  opacity: .6;
}

.v2-pax-value {
  line-height: 1;
}

.v2-pax-chevron {
  width: 15px;
  height: 15px;
  color: var(--ink-dim);
  transition: transform .16s;
}

.v2-pax-select[aria-expanded="true"] .v2-pax-chevron {
  color: var(--accent);
  transform: rotate(180deg);
}

.v2-pax-popover {
  z-index: 60;
  border: 1px solid var(--line-bright);
  background: linear-gradient(180deg, #171b1efc, #0b0d0efc),
    var(--bg-2);
  border-radius: 8px;
  min-width: 74px;
  max-height: 280px;
  padding: 5px;
  overflow-y: auto;
  box-shadow: 0 26px 70px #00000080;
}

.v2-pax-item {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  cursor: pointer;
  border-radius: 5px;
  align-items: center;
  padding: 9px 13px;
  scroll-margin: 5px;
  font-size: 14px;
  font-weight: 700;
  display: flex;
}

.v2-pax-item[data-active-item], .v2-pax-item:hover {
  color: var(--ink);
  background: #ff5b1f1f;
}

.v2-pax-item[aria-selected="true"] {
  color: var(--accent);
}

.v2-switch-field {
  align-content: end;
  gap: 6px;
  display: grid;
}

.v2-switch-root {
  border: 1px solid var(--line-bright);
  background: var(--bg-3);
  border-radius: 999px;
  width: 46px;
  height: 26px;
  transition: background .16s, border-color .16s;
  position: relative;
}

.v2-switch-root[data-state="checked"] {
  background: var(--accent);
  border-color: var(--accent);
}

.v2-switch-thumb {
  background: var(--ink);
  border-radius: 999px;
  width: 20px;
  height: 20px;
  transition: transform .16s;
  display: block;
  transform: translateX(2px);
}

.v2-switch-root[data-state="checked"] .v2-switch-thumb {
  background: var(--bg);
  transform: translateX(22px);
}

.v2-hunt-button {
  min-height: 52px;
  padding-inline: 22px;
  font-size: 12px;
}

.v2-hunt-button svg {
  width: 16px;
  height: 16px;
}

.v2-route-notice {
  color: var(--warn);
  font-family: var(--font-mono);
  background: #ff8a3d14;
  border: 1px solid #ff8a3d66;
  border-radius: 6px;
  margin: 0;
  padding: 9px 12px;
  font-size: 11px;
}

.v2-slider {
  gap: 8px;
  min-width: 160px;
  display: grid;
}

.v2-slider-head {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.v2-slider-value {
  font-family: var(--font-mono);
  color: var(--ink);
  font-size: 11px;
  font-weight: 800;
}

.v2-slider-root {
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
  align-items: center;
  width: 100%;
  height: 22px;
  display: flex;
  position: relative;
}

.v2-slider-track {
  background: var(--bg-3);
  height: 6px;
  box-shadow: inset 0 0 0 1px var(--line-bright);
  border-radius: 999px;
  flex-grow: 1;
  position: relative;
}

.v2-slider-range {
  background: linear-gradient(90deg, var(--accent), var(--warn));
  border-radius: 999px;
  height: 100%;
  position: absolute;
}

.v2-slider-thumb {
  border: 3px solid var(--accent);
  background: var(--ink);
  cursor: grab;
  border-radius: 999px;
  width: 20px;
  height: 20px;
  transition: border-color .14s, transform .14s;
  display: block;
  box-shadow: 0 2px 7px #00000080;
}

.v2-slider-thumb:hover {
  border-color: var(--accent-2);
  transform: scale(1.08);
}

.v2-slider-thumb:active {
  cursor: grabbing;
}

.v2-slider-thumb:focus-visible {
  outline: 2px solid var(--accent-2);
  outline-offset: 2px;
}

.v2-filter-bar {
  border: 1px solid var(--line);
  background: #0b0d0e66;
  border-radius: 8px;
  padding: 12px;
}

.v2-filter-icon {
  width: 15px;
  height: 15px;
  color: var(--ink-dim);
}

.v2-filter-controls {
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 10px 18px;
  display: flex;
}

.v2-filter-controls > .v2-field, .v2-filter-controls > .v2-switch-field {
  flex: none;
}

.v2-filter-controls > .v2-slider {
  flex: 170px;
  min-width: 150px;
}

.v2-mobile-filter-trigger {
  border: 1px solid var(--line-bright);
  background: var(--bg-2);
  width: 100%;
  min-height: 48px;
  color: var(--ink);
  font-family: var(--font-mono);
  border-radius: 8px;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  font-size: 12px;
  font-weight: 700;
  display: flex;
}

.v2-drawer-overlay {
  z-index: 70;
  background: #0009;
  position: fixed;
  inset: 0;
}

.v2-drawer {
  z-index: 71;
  border-top: 1px solid var(--line-bright);
  background: linear-gradient(180deg, #171b1efc, #0b0d0efc),
    var(--bg-2);
  border-radius: 14px 14px 0 0;
  max-height: 86vh;
  padding: 18px;
  position: fixed;
  inset: auto 0 0;
  overflow-y: auto;
  box-shadow: 0 -26px 70px #00000080;
}

.v2-drawer-overlay[data-state="open"] {
  animation: .2s both v2-drawer-overlay-in;
}

.v2-drawer-overlay[data-state="closed"] {
  animation: .2s both v2-drawer-overlay-out;
}

.v2-drawer[data-state="open"] {
  animation: .3s cubic-bezier(.22, 1, .36, 1) both v2-drawer-in;
}

.v2-drawer[data-state="closed"] {
  animation: .24s cubic-bezier(.22, 1, .36, 1) both v2-drawer-out;
}

@keyframes v2-drawer-overlay-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes v2-drawer-overlay-out {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes v2-drawer-in {
  from {
    transform: translateY(100%);
  }

  to {
    transform: translateY(0);
  }
}

@keyframes v2-drawer-out {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(100%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .v2-drawer[data-state="open"], .v2-drawer[data-state="closed"], .v2-drawer-overlay[data-state="open"], .v2-drawer-overlay[data-state="closed"] {
    animation: none;
  }
}

.v2-drawer-head {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  display: flex;
}

.v2-drawer-title {
  font-family: var(--font-display);
  text-transform: uppercase;
  margin: 0;
  font-size: 28px;
  font-weight: 900;
}

.v2-drawer-close {
  border: 1px solid var(--line-bright);
  background: var(--bg-3);
  width: 38px;
  height: 38px;
  color: var(--ink);
  border-radius: 7px;
  place-items: center;
  display: grid;
}

.v2-drawer-close svg {
  width: 18px;
  height: 18px;
}

.v2-drawer .v2-filter-controls {
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
  padding: 0;
}

.v2-drawer .v2-filter-controls > .v2-slider {
  flex: auto;
  width: 100%;
  min-width: 0;
}

.v2-drawer-actions {
  border-top: 1px solid var(--line);
  margin-top: 18px;
  padding-top: 16px;
}

.v2-drawer-actions .button {
  width: 100%;
}

.v2-progress {
  margin: 0;
}

.v2-progress-route {
  color: var(--ink-dim);
  font-family: var(--font-mono);
}

.v2-results {
  gap: 14px;
  display: grid;
}

.v2-results-toolbar {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  display: flex;
}

.v2-results-toolbar-meta {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  align-items: baseline;
  gap: 7px;
  font-size: 12px;
  display: inline-flex;
}

.v2-results-toolbar-meta strong {
  color: var(--accent);
  font-family: var(--font-display);
  font-size: 22px;
}

.v2-results-toolbar-summary {
  border-left: 1px solid var(--line);
  margin-left: 6px;
  padding-left: 12px;
}

.v2-results-body {
  gap: 18px;
  display: grid;
}

.v2-day-section {
  gap: 10px;
  display: grid;
}

.v2-day-section-head {
  color: var(--ink);
  font-family: var(--font-mono);
  align-items: center;
  gap: 12px;
  font-size: 12px;
  display: flex;
}

.v2-day-section-head strong {
  letter-spacing: .02em;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: 16px;
  font-weight: 800;
}

.v2-day-section-head span {
  color: var(--ink-dim);
}

.v2-day-weather {
  color: var(--good);
  border: 1px solid #4dd28a66;
  border-radius: 6px;
  margin-left: auto;
  padding: 3px 9px;
  font-weight: 800;
}

.v2-day-error {
  color: var(--bad);
  font-family: var(--font-mono);
  background: #ff4d6a12;
  border: 1px solid #ff4d6a66;
  border-radius: 7px;
  margin: 0;
  padding: 12px 14px;
  font-size: 12px;
}

.v2-results-state {
  border-radius: 10px;
}

.v2-desktop-only {
  display: block;
}

.v2-mobile-only {
  display: none;
}

@media (max-width: 1080px) {
  .v2-console-primary > .v2-route-picker {
    flex: 100%;
    max-width: none;
  }

  .v2-console-primary > .v2-picker {
    flex: 160px;
  }

  .v2-console-primary > .v2-hunt-row {
    flex: 100%;
    margin-left: 0;
  }

  .v2-console.is-calendar > .v2-console-primary > .v2-hunt-row, .v2-console.is-day-tripper > .v2-console-primary > .v2-hunt-row, .v2-console.is-route-finder > .v2-console-primary > .v2-hunt-row {
    flex: auto;
  }

  .v2-console-primary > .v2-day-tripper-bounds, .v2-console-primary > .v2-route-finder-bounds {
    order: 0;
  }

  .v2-console-primary > .v2-day-tripper-bounds {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .v2-header {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }

  .v2-mode-tabs {
    overflow-x: auto;
  }

  .v2-console-primary > .v2-picker {
    flex: 150px;
  }

  .v2-console-primary > .v2-window-field, .v2-console-primary > .v2-pax-field {
    flex: none;
  }

  .v2-route-picker {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "from swap"
                         "to swap";
  }

  .v2-route-picker > .v2-picker:first-child {
    grid-area: from;
  }

  .v2-route-picker > .v2-picker:last-child {
    grid-area: to;
  }

  .v2-route-picker.is-single .v2-picker {
    grid-area: auto / 1 / auto / -1;
    min-width: 0;
  }

  .v2-swap-button {
    grid-area: swap;
    align-self: center;
    width: 44px;
    height: 44px;
    min-height: 44px;
    transform: rotate(90deg);
  }

  .v2-winctl {
    overflow: visible;
  }

  .v2-winctl[data-expanded="true"] {
    width: 58px;
  }

  .v2-winctl-reveal {
    background: none;
    border: 1px solid #0000;
    border-radius: 7px;
    width: 58px;
    transition: width .24s cubic-bezier(.4, 0, .2, 1), right .24s cubic-bezier(.4, 0, .2, 1), background-color .18s, border-color .18s, box-shadow .18s;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    overflow: clip;
  }

  .v2-winctl[data-expanded="true"] .v2-winctl-reveal {
    width: min(var(--winctl-open-w), calc(100vw - 32px));
    z-index: 40;
    border-color: var(--accent);
    background: var(--bg-2);
    box-shadow: 0 10px 30px #00000073;
  }

  .v2-window-field .v2-winctl[data-expanded="true"] .v2-winctl-reveal {
    right: 0;
  }

  .v2-console.is-calendar .v2-pax-field .v2-winctl-reveal, .v2-console.is-day-tripper .v2-pax-field .v2-winctl-reveal, .v2-console.is-route-finder .v2-pax-field .v2-winctl-reveal {
    left: 0;
    right: auto;
  }

  .v2-desktop-only {
    display: none;
  }

  .v2-mobile-only {
    display: block;
  }

  .v2-results-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
}

.calendar-results {
  flex-direction: column;
  gap: 22px;
  display: flex;
}

.calendar-empty, .calendar-progress {
  color: var(--ink-dim);
  margin: 0;
  font-size: 14px;
}

.calendar-reset-filters, .filtered-empty-reset {
  border: 1px solid var(--line);
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  background: none;
  border-radius: 6px;
  padding: 4px 10px;
  font-size: 13px;
}

.calendar-reset-filters:hover, .filtered-empty-reset:hover {
  border-color: var(--ink-dim);
}

.filtered-empty-reset {
  margin-top: 10px;
}

.calendar-progress {
  font-family: var(--font-mono, monospace);
  letter-spacing: .02em;
  font-size: 12px;
}

.calendar-month {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.calendar-month-title {
  font-family: var(--font-display);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ink);
  margin: 0;
  font-size: 18px;
  font-weight: 700;
}

.calendar-weekdays, .calendar-days {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
  display: grid;
}

.calendar-weekdays {
  font-family: var(--font-mono, monospace);
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--ink-faint);
  font-size: 10px;
}

.calendar-weekdays span {
  text-align: center;
  padding: 2px 0;
}

.calendar-cell {
  border: 1px solid var(--line);
  background: var(--bg-2);
  min-width: 0;
  min-height: 86px;
  color: var(--ink);
  text-align: center;
  cursor: default;
  border-radius: 10px;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 2px;
  padding: 6px 8px;
  transition: border-color .16s, background .16s, transform .16s;
  display: flex;
  overflow: hidden;
}

.calendar-cell.is-blank {
  background: none;
  border: none;
  min-height: 0;
}

.calendar-cell.has-fares {
  cursor: pointer;
}

.calendar-cell.has-fares:hover {
  border-color: var(--line-bright);
  background: var(--bg-3);
}

.calendar-cell.is-selected {
  border-color: var(--accent);
  background: var(--bg-3);
}

.calendar-cell:disabled {
  cursor: default;
}

.calendar-cell-date {
  font-family: var(--font-mono, monospace);
  color: var(--ink-faint);
  font-variant-numeric: tabular-nums;
  align-self: flex-start;
  font-size: 11px;
}

.calendar-cell-main {
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
  max-width: 100%;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: 19px;
  font-weight: 800;
  line-height: 1.05;
  overflow: hidden;
}

.calendar-price-round {
  display: none;
}

.calendar-cell-secondary {
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  margin-top: 1px;
  display: flex;
}

.calendar-cell-secondary small {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: 11px;
  font-weight: 600;
}

.calendar-cell-none {
  font-family: var(--font-mono);
  color: var(--ink-faint);
  font-size: 16px;
}

.calendar-cell-skeleton {
  background: linear-gradient(90deg, var(--bg-3) 25%, var(--line) 50%, var(--bg-3) 75%);
  background-size: 200% 100%;
  border-radius: 6px;
  width: 70%;
  height: 14px;
  margin-top: 4px;
  animation: 1.2s ease-in-out infinite calendar-shimmer;
}

@keyframes calendar-shimmer {
  from {
    background-position: 200% 0;
  }

  to {
    background-position: -200% 0;
  }
}

.calendar-day-panel {
  border: 1px solid var(--line);
  background: var(--bg-2);
  border-radius: 14px;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  display: flex;
}

.calendar-day-panel-head {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px;
  display: flex;
}

.calendar-day-panel-head strong {
  font-family: var(--font-display);
  letter-spacing: .03em;
  text-transform: uppercase;
  color: var(--ink);
  font-size: 17px;
  font-weight: 700;
}

.calendar-day-panel-head span {
  font-family: var(--font-mono);
  color: var(--ink-dim);
  letter-spacing: .01em;
  font-size: 12px;
}

.calendar-day-close {
  border: 1px solid var(--line);
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
  background: none;
  border-radius: 8px;
  margin-left: auto;
  padding: 5px 12px;
  font-size: 11px;
  font-weight: 700;
}

.calendar-day-close:hover {
  border-color: var(--line-bright);
  color: var(--ink);
}

.calendar-day-flights {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.reveal-down {
  grid-template-rows: 1fr;
  animation: .3s cubic-bezier(.22, 1, .36, 1) both reveal-down;
  display: grid;
}

.reveal-down-inner {
  min-height: 0;
  overflow: hidden;
}

@keyframes reveal-down {
  from {
    opacity: 0;
    grid-template-rows: 0fr;
    transform: translateY(-10px);
  }

  to {
    opacity: 1;
    grid-template-rows: 1fr;
    transform: translateY(0);
  }
}

.reveal-down.is-closing {
  animation: .26s cubic-bezier(.22, 1, .36, 1) both reveal-up;
}

@keyframes reveal-up {
  from {
    opacity: 1;
    grid-template-rows: 1fr;
    transform: translateY(0);
  }

  to {
    opacity: 0;
    grid-template-rows: 0fr;
    transform: translateY(-10px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .reveal-down {
    animation: none;
  }

  .reveal-down.is-closing {
    animation: none;
    display: none;
  }
}

@media (max-width: 640px) {
  .calendar-weekdays, .calendar-days {
    gap: 4px;
  }

  .calendar-cell {
    border-radius: 8px;
    min-height: 64px;
    padding: 4px 5px;
  }

  .calendar-cell-secondary {
    display: none;
  }

  .calendar-cell-main {
    font-size: 14px;
  }

  .calendar-price-full {
    display: none;
  }

  .calendar-price-round {
    display: inline;
  }
}

.alert-bell-button {
  border: 1px solid var(--line-bright);
  width: 38px;
  min-height: 38px;
  color: var(--ink-dim);
  cursor: pointer;
  background: #0b0d0e61;
  border-radius: 5px;
  justify-content: center;
  align-items: center;
  transition: background .16s, border-color .16s, color .16s, transform .16s;
  display: inline-flex;
}

.alert-bell-button:hover, .alert-bell-button:focus-visible {
  border-color: var(--accent);
  color: var(--accent);
  transform: translateY(-1px);
}

.alert-dialog-overlay {
  z-index: 60;
  background: #0009;
  position: fixed;
  inset: 0;
}

.alert-dialog {
  z-index: 61;
  background: var(--bg-2);
  border: 1px solid var(--line-bright);
  width: min(440px, 100vw - 32px);
  max-height: calc(100vh - 48px);
  font-family: var(--font-ui);
  border-radius: 10px;
  padding: 20px;
  position: fixed;
  top: 50%;
  left: 50%;
  overflow-y: auto;
  transform: translate(-50%, -50%);
  box-shadow: 0 24px 60px #00000080;
}

.alert-dialog-head {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  display: flex;
}

.alert-dialog-title {
  font-family: var(--font-display);
  letter-spacing: .02em;
  color: var(--ink);
  margin: 0;
  font-size: 19px;
}

.alert-dialog-close {
  border: 1px solid var(--line);
  width: 30px;
  height: 30px;
  color: var(--ink-dim);
  cursor: pointer;
  background: none;
  border-radius: 5px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.alert-dialog-close:hover {
  color: var(--ink);
  border-color: var(--line-bright);
}

.alert-dialog-form {
  flex-direction: column;
  gap: 14px;
  display: flex;
}

.alert-scope {
  border: 0;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  display: flex;
}

.alert-scope legend {
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin-bottom: 4px;
  font-size: 10px;
  font-weight: 800;
}

.alert-scope-option {
  border: 1px solid var(--line);
  cursor: pointer;
  border-radius: 8px;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  transition: border-color .14s, background .14s;
  display: flex;
}

.alert-scope-option.is-active {
  border-color: var(--accent);
  background: #ff5b1f0f;
}

.alert-scope-option input[type="radio"] {
  appearance: none;
  border: 1px solid var(--line-bright);
  background: var(--bg-3);
  cursor: pointer;
  border-radius: 50%;
  flex: none;
  place-content: center;
  width: 18px;
  height: 18px;
  margin: 0;
  transition: border-color .14s;
  display: inline-grid;
}

.alert-scope-option input[type="radio"]:before {
  content: "";
  background: var(--accent);
  border-radius: 50%;
  width: 8px;
  height: 8px;
  transition: transform .12s;
  transform: scale(0);
}

.alert-scope-option input[type="radio"]:checked {
  border-color: var(--accent);
}

.alert-scope-option input[type="radio"]:checked:before {
  transform: scale(1);
}

.alert-scope-option input[type="radio"]:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.alert-scope-option span {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.alert-scope-option strong {
  color: var(--ink);
  font-family: var(--font-ui);
  font-size: 14px;
  font-weight: 600;
}

.alert-scope-option small {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  font-size: 11px;
}

.alert-row {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px 12px;
  display: flex;
}

.alert-row > label {
  font-family: var(--font-mono);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ink-dim);
  font-size: 11px;
}

.alert-row input[type="number"], .alert-row select {
  background: var(--bg-3);
  border: 1px solid var(--line-bright);
  min-width: 0;
  max-width: 100%;
  color: var(--ink);
  font-family: var(--font-mono);
  border-radius: 5px;
  flex: 160px;
  padding: 8px 10px;
  font-size: 13px;
}

.alert-check {
  cursor: pointer;
  justify-content: flex-start;
  gap: 10px;
}

.alert-check span {
  color: var(--ink);
  font-size: 14px;
}

.alert-dialog-error {
  color: var(--bad);
  margin: 0;
  font-size: 13px;
}

.alert-dialog-actions {
  justify-content: flex-end;
  gap: 10px;
  margin-top: 4px;
  display: flex;
}

.alert-dialog-done {
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 8px 4px 4px;
  display: flex;
}

.alert-dialog-done-icon {
  width: 48px;
  height: 48px;
  color: var(--accent);
  background: #ff5b1f1f;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  margin-bottom: 4px;
  display: inline-flex;
}

.alert-dialog-done-title {
  font-family: var(--font-display);
  letter-spacing: .01em;
  color: var(--ink);
  margin: 0;
  font-size: 22px;
}

.alert-dialog-done-sub {
  color: var(--ink-dim);
  max-width: 320px;
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
}

.alert-dialog-done .button {
  width: 100%;
  margin-top: 10px;
}

.alert-row input[type="number"] {
  appearance: textfield;
}

.alert-row input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.alert-row input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.alerts-page {
  padding-block: var(--page-pad) var(--sp-8);
}

.alerts-usage {
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ink-dim);
  border: 1px solid var(--line-bright);
  border-radius: 999px;
  flex: none;
  padding: 6px 12px;
  font-size: 11px;
}

.alerts-usage strong {
  color: var(--ink);
}

.alerts-bell-hint {
  vertical-align: middle;
  color: var(--accent);
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.alerts-bell-hint svg {
  display: block;
}

.alerts-push-hint {
  font-family: var(--font-mono);
  color: var(--ink-faint);
  max-width: 280px;
  font-size: 11px;
  line-height: 1.4;
}

.alerts-page-error {
  color: var(--bad);
}

.alerts-empty {
  color: var(--ink-dim);
  border: 1px dashed var(--line-bright);
  text-align: center;
  border-radius: 8px;
  padding: 24px;
}

.alerts-section-title {
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin: 28px 0 10px;
  font-size: 11px;
}

.alerts-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.alerts-list-hot {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 1099px) {
  .alerts-list, .alerts-list-hot {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 699px) {
  .alerts-list, .alerts-list-hot {
    grid-template-columns: 1fr;
  }
}

.alert-card {
  border: 1px solid var(--line);
  background: linear-gradient(135deg, #ffffff09, #0000 48%), #111416e6;
  border-radius: 8px;
  flex-direction: column;
  display: flex;
}

.alert-card-hot {
  border-color: var(--accent);
  background: linear-gradient(135deg, #ff5b1f14, #0000 55%), #191512eb;
}

.alert-card-hot .flight-path-plane {
  background: #191512;
}

.alerts-list-muted .alert-card {
  opacity: .72;
}

.alert-card-head {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px 0;
  display: flex;
}

.alert-card-id {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.alert-date-tag {
  color: var(--accent);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
  background: #ff5b1f1a;
  border: 1px solid #ff5b1f66;
  border-radius: 999px;
  padding: 3px 10px;
  font-size: 10px;
  font-weight: 800;
}

.alert-headline-fare {
  text-align: right;
  justify-items: end;
  gap: 4px;
  display: grid;
}

.alert-headline-fare strong {
  color: var(--ink);
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: 26px;
  font-weight: 800;
  line-height: 1;
}

.alert-headline-fare span {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 900;
}

.alert-headline-fare .alert-fare-any {
  color: var(--ink-faint);
  letter-spacing: .06em;
  font-size: 12px;
  font-weight: 800;
}

.alert-route {
  gap: 12px;
  padding: 16px 16px 14px;
}

.alert-route .flight-endpoint strong {
  font-size: clamp(20px, 4.5vw, 24px);
}

.alert-route .flight-endpoint span {
  letter-spacing: .04em;
}

.alert-chips {
  flex-wrap: wrap;
  gap: 6px;
  padding: 0 16px 14px;
  display: flex;
}

.alert-chip {
  border: 1px solid var(--line-bright);
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  background: #0b0d0e61;
  border-radius: 999px;
  padding: 3px 9px;
  font-size: 10px;
  font-weight: 800;
}

.alert-chip-gowild {
  color: var(--good);
  background: #4dd28a14;
  border-color: #4dd28a59;
}

.alert-meta-row {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 0 16px 12px;
  display: flex;
}

.alert-chip-seats {
  color: var(--accent);
  background: #ff7a291a;
  border-color: #ff7a2966;
}

.alert-statbar {
  border-top: 1px solid #ffffff12;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px 16px;
  margin: auto 16px 0;
  padding: 12px 0 14px;
  display: flex;
}

.alert-stats {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  min-width: 0;
  display: flex;
}

.alert-actions {
  align-items: stretch;
  gap: 8px;
  margin-inline-start: auto;
  display: flex;
}

.alert-actions .book-button {
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.alert-card-delete {
  flex: none;
  gap: 6px;
}

.alert-confirm-delete {
  color: var(--bad);
  border-color: #ff4d6a80;
  gap: 6px;
}

.alert-confirm-delete:hover, .alert-confirm-delete:focus-visible {
  border-color: var(--bad);
  color: var(--bad);
}

.alerts-section {
  margin-bottom: 8px;
}

.alerts-section-title-hot {
  color: var(--accent);
}

.notif-settings {
  border: 1px solid var(--line-bright);
  background: var(--bg-2);
  border-radius: 8px;
  margin-bottom: 24px;
  padding: 16px;
}

.notif-settings-hint {
  color: var(--ink-dim);
  margin: 0 0 12px;
  font-size: 13px;
}

.notif-list {
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.notif-row {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.notif-toggle {
  cursor: pointer;
  color: var(--ink);
  align-items: center;
  gap: 10px;
  font-size: 14px;
  display: inline-flex;
}

.notif-toggle small {
  color: var(--ink-faint);
  font-family: var(--font-mono);
  font-size: 11px;
}

.notif-linked {
  color: var(--good);
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
}

.notif-row-stacked {
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.notif-device {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: inline-flex;
}

.notif-device-prompt {
  color: var(--accent);
  font-size: 12px;
}

.notif-device-hint {
  color: var(--ink-faint);
  font-size: 12px;
  line-height: 1.45;
}

.notif-device-link {
  cursor: pointer;
  color: var(--ink-faint);
  font-family: var(--font-mono);
  background: none;
  border: none;
  padding: 0;
  font-size: 11px;
  text-decoration: underline;
}

.notif-device-link:disabled {
  cursor: default;
  opacity: .6;
}

.notif-check, .alert-check input[type="checkbox"] {
  appearance: none;
  border: 1px solid var(--line-bright);
  background: var(--bg-3);
  cursor: pointer;
  border-radius: 5px;
  flex: none;
  place-content: center;
  width: 18px;
  height: 18px;
  margin: 0;
  transition: background .14s, border-color .14s;
  display: inline-grid;
}

.notif-check:before, .alert-check input[type="checkbox"]:before {
  content: "";
  transform-origin: center;
  background: var(--bg);
  clip-path: polygon(14% 44%, 0 60%, 39% 100%, 100% 18%, 84% 4%, 39% 70%);
  width: 10px;
  height: 10px;
  transition: transform .12s;
  transform: scale(0);
}

.notif-check:checked, .alert-check input[type="checkbox"]:checked {
  background: var(--accent);
  border-color: var(--accent);
}

.notif-check:checked:before, .alert-check input[type="checkbox"]:checked:before {
  transform: scale(1);
}

.notif-check:disabled, .alert-check input[type="checkbox"]:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.notif-check:focus-visible, .alert-check input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.notif-settings {
  background: none;
  border: 0;
  border-radius: 0;
  margin: 0;
  padding: 0;
}

.notif-settings-hint {
  font-family: var(--font-ui);
}

.notif-row {
  border: 1px solid var(--line);
  background: var(--bg-3);
  border-radius: 8px;
  align-items: flex-start;
  padding: 12px 14px;
}

.notif-toggle {
  font-family: var(--font-ui);
  align-items: flex-start;
}

.notif-channel {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.notif-channel strong {
  font-weight: 600;
}

.notif-channel small {
  color: var(--ink-faint);
  font-family: var(--font-mono);
  font-size: 11px;
}

@media (max-width: 540px) {
  .alert-statbar {
    flex-direction: column;
    align-items: stretch;
  }

  .alert-actions {
    margin-inline-start: 0;
  }

  .alert-actions .button, .alert-actions .book-button {
    flex: 1;
    justify-content: center;
  }

  .notif-row-stacked .notif-device .button {
    justify-content: center;
    width: 100%;
  }
}

.header-install-slot {
  align-items: center;
  gap: 8px;
  min-width: max-content;
  display: flex;
}

.header-quota-mini {
  min-width: 34px;
  height: 34px;
  font-family: var(--font-display);
  border-radius: 7px;
  place-items: center;
  padding: 0 8px;
  font-size: 16px;
  line-height: 1;
  display: grid;
}

.header-quota-mini.has-left {
  color: var(--good);
  background: linear-gradient(#4dd28a1a, #4dd28a09), #111416b3;
  border: 1px solid #4dd28a52;
}

.header-quota-mini.is-empty {
  color: var(--bad);
  background: linear-gradient(#ff4d6a1a, #ff4d6a09), #111416b3;
  border: 1px solid #ff4d6a57;
}

@media (max-width: 760px) {
  .header-install-slot .header-quota-mini {
    display: none;
  }
}

.header-install-chip {
  height: 34px;
  color: var(--ink);
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  background: linear-gradient(#ff5b1f29, #ff5b1f0d), #111416b3;
  border: 1px solid #ff5b1f73;
  border-radius: 7px;
  align-items: center;
  gap: 6px;
  padding: 0 12px;
  font-size: 11px;
  display: inline-flex;
}

.header-install-chip:active {
  background: linear-gradient(#ff5b1f47, #ff5b1f1a), #111416b3;
}

.install-dialog {
  padding: 24px 22px 22px;
}

.install-dialog-close {
  position: absolute;
  top: 14px;
  right: 14px;
}

.install-dialog-hero {
  align-items: center;
  gap: 11px;
  margin-bottom: 10px;
  display: flex;
}

.install-dialog-icon {
  border-radius: 9px;
  flex-shrink: 0;
  width: 38px;
  height: 38px;
}

.install-dialog-title {
  font-family: var(--font-display);
  letter-spacing: .01em;
  color: var(--ink);
  margin: 0;
  font-size: 20px;
}

.install-dialog-pitch {
  color: var(--ink-dim);
  margin: 0 0 16px;
  font-size: 13.5px;
  line-height: 1.55;
}

.ui-token {
  color: var(--accent);
  white-space: nowrap;
  background: #ff5b1f21;
  border: 1px solid #ff5b1f80;
  border-radius: 6px;
  align-items: center;
  gap: 4px;
  margin: 0 1px;
  padding: 1px 7px;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.4;
  display: inline-flex;
}

.ui-token svg {
  color: var(--accent);
}

.install-dialog-body {
  flex-direction: column;
  gap: 14px;
  display: flex;
}

.install-steps {
  counter-reset: install-step;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.install-steps li {
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.install-steps li:before {
  counter-increment: install-step;
  content: counter(install-step);
  width: 25px;
  height: 25px;
  color: var(--accent);
  font-family: var(--font-mono);
  background: #ff5b1f24;
  border: 1px solid #ff5b1f80;
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  margin-top: 2px;
  font-size: 12px;
  font-weight: 600;
  display: grid;
}

.install-step-text {
  min-width: 0;
  color: var(--ink);
  flex: 1;
  font-size: 14px;
  line-height: 1.85;
}

.install-dialog-note {
  border-top: 1px solid var(--line);
  color: var(--ink-dim);
  margin: 0;
  padding-top: 12px;
  font-size: 12px;
  line-height: 1.5;
}

.install-dialog-note-plain {
  color: var(--ink);
  border-top: 0;
  padding-top: 0;
}

.install-dialog-actions {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.install-dialog-actions .button {
  justify-content: center;
  width: 100%;
}

.push-nudge {
  border-bottom: 1px solid var(--line);
  color: var(--ink-dim);
  font-family: var(--font-ui);
  background: #ffd84d0d;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  font-size: 12.5px;
  display: flex;
}

.push-nudge svg {
  color: var(--accent);
  flex-shrink: 0;
}

.push-nudge-text {
  flex: 1;
  min-width: 0;
}

.push-nudge-action {
  color: var(--ink);
  font-family: var(--font-mono);
  letter-spacing: .05em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  background: none;
  border: 1px solid #ff5b1f73;
  border-radius: 6px;
  padding: 5px 10px;
  font-size: 11px;
  text-decoration: none;
}

.push-nudge-error {
  color: var(--bad);
  font-size: 11.5px;
}

.push-nudge-dismiss {
  width: 26px;
  height: 26px;
  color: var(--ink-dim);
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 5px;
  place-items: center;
  display: grid;
}

html[data-standalone="true"] .header-primary {
  padding-top: calc(10px + env(safe-area-inset-top));
}

html[data-standalone="true"]:has(.page-scroller) {
  height: 100%;
  overflow: hidden;
}

html[data-standalone="true"]:has(.page-scroller) body {
  position: fixed;
  inset: 0;
  overflow: hidden;
}

html[data-standalone="true"] .page-shell:has(.page-scroller) {
  height: var(--app-viewport-height, 100dvh);
  flex-direction: column;
  min-height: 0;
  display: flex;
  overflow: hidden;
}

html[data-standalone="true"] .page-shell:has(.page-scroller) .app-header {
  flex: none;
  position: static;
}

html[data-standalone="true"] .page-scroller {
  min-height: 0;
  padding-bottom: env(safe-area-inset-bottom);
  flex: auto;
  overflow: hidden;
}

html[data-standalone="true"] .tab-track {
  will-change: transform;
  height: 100%;
  transition: transform .28s cubic-bezier(.32, .72, .33, 1);
  display: flex;
}

html[data-standalone="true"] .tab-pane {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  overflow: hidden auto;
}

@media (prefers-reduced-motion: reduce) {
  html[data-standalone="true"] .tab-track, html[data-standalone="true"] .bottom-tab-indicator {
    transition: none;
  }
}

@media (max-width: 760px) {
  html[data-standalone="true"] .app-header {
    background: linear-gradient(#000, #0b0d0e), #0b0d0e;
  }

  html[data-standalone="true"] .header-primary {
    background: linear-gradient(#000, #111416bd);
  }
}

a, button, input, select, textarea, summary, [role="button"] {
  touch-action: manipulation;
}

html[data-standalone="true"], html[data-standalone="true"] body {
  overscroll-behavior: none;
}

html[data-standalone="true"] body {
  touch-action: pan-x pan-y;
}

html[data-standalone="true"] input, html[data-standalone="true"] select, html[data-standalone="true"] textarea {
  font-size: 16px !important;
}

html[data-standalone="true"] {
  -webkit-tap-highlight-color: transparent;
  scrollbar-width: none;
}

html[data-standalone="true"] * {
  scrollbar-width: none;
}

html[data-standalone="true"]::-webkit-scrollbar {
  display: none;
}

html[data-standalone="true"] ::-webkit-scrollbar {
  display: none;
}

html:not([data-standalone="true"]) .history-standalone-only {
  visibility: hidden;
}

html[data-standalone="true"] .app-header, html[data-standalone="true"] .bottom-tab-bar {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}

.bottom-tab-bar {
  -webkit-backdrop-filter: blur(22px);
  backdrop-filter: blur(22px);
  background: linear-gradient(0deg, #0b0d0ef5, #171b1eeb), #0b0d0ee6;
  border-top: 1px solid #ffffff14;
  display: none;
  position: relative;
}

.bottom-tab-indicator {
  display: none;
}

@media (max-width: 760px) {
  html[data-standalone="true"] .bottom-tab-bar {
    z-index: 60;
    padding-bottom: env(safe-area-inset-bottom);
    grid-auto-columns: 1fr;
    grid-auto-flow: column;
    display: grid;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
  }

  html[data-standalone="true"] .page-shell:has(.page-scroller) .bottom-tab-bar {
    z-index: auto;
    flex: none;
    order: 1;
    position: static;
  }

  html[data-standalone="true"] .bottom-tab {
    min-height: 52px;
    color: var(--ink-dim);
    font-family: var(--font-mono);
    letter-spacing: .06em;
    text-transform: uppercase;
    align-content: center;
    justify-items: center;
    gap: 3px;
    padding: 8px 4px 6px;
    font-size: 10px;
    text-decoration: none;
    transition: color .16s;
    display: grid;
  }

  html[data-standalone="true"] .bottom-tab.active {
    color: var(--accent);
  }

  html[data-standalone="true"] .bottom-tab-indicator {
    top: 5px;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 5px);
    pointer-events: none;
    width: 25%;
    transform: translateX(var(--tab-ind-x, var(--tab-ind-x-rest, 0%)));
    opacity: var(--tab-ind-op, var(--tab-ind-op-rest, 1));
    transition: transform .26s cubic-bezier(.32, .72, .33, 1), opacity .22s;
    display: block;
    position: absolute;
    left: 0;
  }

  html[data-standalone="true"][data-tab-swiping] .bottom-tab-indicator {
    transition: none;
  }

  html[data-standalone="true"] .bottom-tab-indicator--off {
    opacity: 0;
  }

  @media (prefers-reduced-motion: reduce) {
    html[data-standalone="true"] .bottom-tab-indicator {
      transition: none;
    }
  }

  html[data-standalone="true"] .bottom-tab-indicator:after {
    content: "";
    background: var(--accent);
    border-radius: 13px;
    position: absolute;
    inset: 0 14px;
  }

  @supports (color: color-mix(in lab, red, red)) {
    html[data-standalone="true"] .bottom-tab-indicator:after {
      background: color-mix(in srgb, var(--accent) 13%, transparent);
    }
  }

  html[data-standalone="true"] .bottom-tab {
    position: relative;
  }

  html[data-standalone="true"] .page-shell:has(.bottom-tab-bar):not(:has(.page-scroller)) {
    padding-bottom: calc(64px + env(safe-area-inset-bottom));
  }

  html[data-standalone="true"] .page-shell:has(.page-scroller) .page-scroller {
    padding-bottom: 0;
  }

  html[data-standalone="true"] .page-shell:has(.bottom-tab-bar) .mobile-menu {
    display: none;
  }
}

.day-tripper-grid {
  gap: 12px;
  display: grid;
}

.day-tripper-dest-card {
  border: 1px solid var(--line);
  background: linear-gradient(135deg, #ffffff09, #0000 48%), #111416e6;
  border-radius: 8px;
  transition: border-color .18s, box-shadow .18s;
  overflow: hidden;
}

.day-tripper-dest-card:hover {
  border-color: #ff5b1f66;
}

.day-tripper-dest-card:has(.day-tripper-dest-head.is-open) {
  border-color: #ff5b1f57;
  box-shadow: 0 18px 54px #00000038;
}

.day-tripper-dest-head {
  width: 100%;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  align-content: start;
  padding: 20px 22px;
  display: grid;
}

.day-tripper-dest-top {
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  display: flex;
}

.day-tripper-dest-top-right {
  align-items: center;
  gap: 10px;
  display: inline-flex;
}

.day-tripper-dest-kicker {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 800;
}

.day-tripper-dest-chevron {
  fill: none;
  width: 16px;
  height: 16px;
  stroke: var(--ink-dim);
  stroke-width: 2px;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .18s;
}

.day-tripper-dest-head.is-open .day-tripper-dest-chevron {
  stroke: var(--accent);
  transform: rotate(180deg);
}

.day-tripper-dest-code {
  margin-top: 18px;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: clamp(30px, 3.4vw, 44px);
  font-weight: 850;
  line-height: .95;
}

.day-tripper-dest-city {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .02em;
  margin-top: 6px;
  font-size: 12px;
  font-weight: 700;
}

.day-tripper-dest-price-row {
  align-items: baseline;
  gap: 7px;
  margin-top: 10px;
  display: flex;
}

.day-tripper-dest-from {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 800;
}

.day-tripper-dest-price {
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: 26px;
  font-weight: 850;
  line-height: 1;
}

.paired-itinerary-list {
  gap: 12px;
  padding: 4px 16px 16px;
  display: grid;
}

.paired-card-list {
  gap: 12px;
  display: grid;
}

.paired-itinerary-card {
  border: 1px solid var(--line);
  background: linear-gradient(135deg, #ffffff09, #0000 48%), #111416e6;
  border-radius: 8px;
  padding-bottom: 16px;
  overflow: hidden;
}

.paired-itinerary-head {
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 16px 20px 0;
  display: flex;
}

.paired-itinerary-lead {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  display: flex;
}

.paired-itinerary-fare {
  text-align: right;
  justify-items: end;
  gap: 4px;
  display: grid;
}

.paired-itinerary-tag {
  color: var(--accent);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  background: #ff5b1f1a;
  border: 1px solid #ff5b1f66;
  border-radius: 999px;
  justify-self: start;
  padding: 3px 10px;
  font-size: 10px;
  font-weight: 800;
}

.paired-itinerary-price {
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: 26px;
  font-weight: 800;
  line-height: 1;
}

.paired-itinerary-breakdown, .paired-itinerary-kind {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 700;
}

.paired-itinerary-summary {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 8px;
  padding: 8px 20px 0;
  display: flex;
}

.paired-summary-stat {
  color: var(--ink);
  font-family: var(--font-mono);
  letter-spacing: .02em;
  font-size: 11px;
  font-weight: 700;
}

.paired-summary-key {
  color: var(--ink-dim);
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 800;
}

.paired-summary-sep {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  font-size: 11px;
}

.paired-itinerary-middle {
  border-left: 2px solid var(--accent);
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .02em;
  align-items: center;
  gap: 8px;
  margin: 8px 20px;
  padding: 7px 12px;
  font-size: 11px;
  display: flex;
}

.paired-next-day {
  color: var(--warn);
}

.flight-leg-card {
  padding: 0;
}

.flight-leg-card.is-compact .flight-leg-fare {
  display: none;
}

.flight-leg-fare {
  align-items: baseline;
  gap: .5rem;
  margin-bottom: .5rem;
  display: flex;
}

.flight-leg-meta {
  border-top: 1px solid #ffffff12;
  align-items: center;
  gap: 12px 18px;
  margin: 12px 20px 0;
  padding-top: 12px;
  display: flex;
}

.v2-route-finder-bounds {
  gap: .75rem;
  width: 100%;
  display: grid;
}

.v2-day-tripper-bounds {
  grid-template-columns: 1fr 1fr;
  gap: .75rem 1.25rem;
  width: 100%;
  display: grid;
}

.app-splash {
  z-index: 9999;
  pointer-events: none;
  display: none;
  position: fixed;
  inset: 0;
}

html[data-standalone="true"] .app-splash {
  background: #0b0b0c;
  animation: 4s ease-out both app-splash-failsafe;
  display: block;
}

html[data-standalone="true"] .app-splash--out {
  animation: .5s ease-in-out both app-splash-out;
}

html[data-standalone="true"] .app-splash__mark {
  width: 96px;
  height: 96px;
  margin-top: -48px;
  margin-left: -48px;
  animation: .52s cubic-bezier(.22, 1, .36, 1) both app-splash-mark-in;
  position: absolute;
  top: 42%;
  left: 50%;
}

html[data-standalone="true"] .app-splash--out .app-splash__mark {
  animation: .5s ease-in-out both app-splash-mark-out;
}

html[data-standalone="true"] .app-splash__mark:before {
  content: "";
  background: radial-gradient(circle, #ec5c1459, #0000 70%);
  border-radius: 50%;
  animation: 1.1s ease-out both app-splash-glow;
  position: absolute;
  inset: -52px;
}

html[data-standalone="true"] .app-splash__svg {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}

html[data-standalone="true"] .app-splash__wing {
  transform-box: fill-box;
  animation: .46s cubic-bezier(.22, 1, .36, 1) both app-splash-wing;
}

html[data-standalone="true"] .app-splash__wing--1 {
  animation-delay: .22s;
}

html[data-standalone="true"] .app-splash__wing--2 {
  animation-delay: .3s;
}

html[data-standalone="true"] .app-splash__wing--3 {
  animation-delay: .38s;
}

@keyframes app-splash-mark-in {
  from {
    opacity: 0;
    transform: scale(.9);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes app-splash-glow {
  0% {
    opacity: 0;
    transform: scale(.7);
  }

  60% {
    opacity: 1;
    transform: scale(1.08);
  }

  100% {
    opacity: .75;
    transform: scale(1);
  }
}

@keyframes app-splash-wing {
  from {
    opacity: 0;
    transform: translateX(-12px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes app-splash-out {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes app-splash-mark-out {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(-14px);
  }
}

@keyframes app-splash-failsafe {
  0%, 95% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    visibility: hidden;
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-standalone="true"] .app-splash__mark, html[data-standalone="true"] .app-splash__wing {
    animation: none;
  }

  html[data-standalone="true"] .app-splash__mark:before {
    display: none;
  }

  html[data-standalone="true"] .app-splash--out .app-splash__mark {
    animation: none;
  }

  html[data-standalone="true"] .app-splash--out {
    animation: .2s ease-out both app-splash-out;
  }
}

.kona-root {
  --kona-navy: #150e3a;
  --kona-navy-2: #1d1550;
  font-family: var(--font-ui);
  color: var(--ink);
  min-height: 100%;
}

.kona-root:not([data-standalone="true"]) {
  z-index: 70;
  background: radial-gradient(120% 60% at 50% 0%, var(--kona-navy-2) 0%, var(--kona-navy) 38%, var(--bg) 100%);
  position: fixed;
  inset: 0;
  overflow-y: auto;
}

.kona-root[data-standalone="true"] {
  background: linear-gradient(180deg, var(--kona-navy) 0%, var(--bg) 220px);
}

.kona-header {
  padding: var(--sp-4) var(--page-pad) 8px;
  flex-direction: column;
  gap: 14px;
  display: flex;
}

.kona-back {
  color: var(--ink);
  cursor: pointer;
  background: #ffffff0f;
  border: 1px solid #ffffff2e;
  border-radius: 999px;
  align-self: flex-start;
  align-items: center;
  gap: 7px;
  padding: 7px 13px;
  font-size: 13px;
  display: inline-flex;
}

.kona-back:hover {
  background: #ffffff1f;
}

.kona-header-main {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.kona-eyebrow {
  font-family: var(--font-mono);
  text-transform: uppercase;
  letter-spacing: .22em;
  color: var(--accent-2);
  margin: 0;
  font-size: 11px;
}

.kona-title {
  font-family: var(--font-display);
  font-size: var(--fs-display-1);
  letter-spacing: .04em;
  color: #fff;
  margin: 0;
  line-height: .9;
}

.kona-body {
  padding: 8px var(--page-pad) 64px;
  max-width: 760px;
  margin: 0 auto;
}

.kona-toolbar {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 14px 0 20px;
  display: flex;
}

.kona-quota {
  color: var(--ink);
  flex-direction: column;
  gap: 2px;
  font-size: 15px;
  display: flex;
}

.kona-quota strong {
  color: var(--accent-2);
}

.kona-quota small {
  font-family: var(--font-mono);
  letter-spacing: .06em;
  color: var(--ink-dim);
  text-transform: uppercase;
  font-size: 11px;
}

.kona-root .kona-create {
  font-family: var(--font-ui);
  letter-spacing: .01em;
  color: #1b1206;
  background: linear-gradient(180deg, #ff8a45 0%, var(--accent) 100%);
  border: none;
  border-radius: 999px;
  align-items: center;
  gap: 7px;
  padding: 10px 18px;
  font-size: 14px;
  font-weight: 600;
  transition: transform .12s, box-shadow .12s, filter .12s;
  display: inline-flex;
  box-shadow: 0 6px 18px #ff5b1f4d, inset 0 1px #ffffff47;
}

.kona-root .kona-create:hover {
  filter: brightness(1.05);
}

.kona-root .kona-create:active {
  transform: translateY(1px);
  box-shadow: 0 3px 10px #ff5b1f47;
}

.kona-root .kona-create:disabled {
  opacity: .5;
  box-shadow: none;
  filter: none;
  transform: none;
}

.kona-spin {
  animation: .8s linear infinite kona-spin;
}

@keyframes kona-spin {
  to {
    transform: rotate(360deg);
  }
}

.kona-error {
  color: var(--bad, #ff6a5b);
  margin: 0;
  font-size: 13px;
}

.kona-error-block {
  margin: 0 0 16px;
}

.kona-muted {
  color: var(--ink-dim);
  font-size: 14px;
}

.kona-bin {
  margin-bottom: 28px;
}

.kona-bin-head {
  align-items: baseline;
  gap: 10px;
  display: flex;
}

.kona-bin-title {
  font-family: var(--font-display);
  font-size: var(--fs-display-3);
  letter-spacing: .02em;
  color: var(--ink);
  margin: 0;
}

.kona-bin-count {
  font-family: var(--font-mono);
  color: var(--ink-faint);
  letter-spacing: .02em;
  font-size: 13px;
}

.kona-bin-blurb {
  color: var(--ink-dim);
  margin: 2px 0 12px;
  font-size: 13px;
}

.kona-bin-empty {
  padding: 4px 0 0;
}

.kona-bin-list {
  gap: 12px;
  display: grid;
}

.kona-card {
  border: 1px solid var(--line);
  background: var(--bg-2);
  border-radius: 12px;
  padding: 16px;
}

.kona-card-head {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
  display: flex;
}

.kona-card-name {
  font-family: var(--font-display);
  letter-spacing: .02em;
  color: var(--ink);
  margin: 0;
  font-size: 22px;
}

.kona-card-actions {
  flex: none;
  align-items: center;
  gap: 8px;
  display: flex;
}

.kona-card-toggle {
  border: 1px solid var(--line-bright);
  background: var(--bg-3);
  width: 32px;
  height: 32px;
  color: var(--ink-dim);
  cursor: pointer;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.kona-card-toggle:hover {
  color: var(--ink);
  border-color: var(--ink-faint);
}

.kona-chevron {
  transition: transform .18s;
}

.kona-chevron.is-open {
  transform: rotate(180deg);
}

.kona-card-status {
  font-family: var(--font-mono);
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--ink-dim);
  font-size: 11px;
}

.kona-archive-btn {
  padding: 6px 14px;
  font-size: 13px;
}

.kona-card-summary {
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  display: flex;
}

.kona-summary-phone {
  color: var(--ink);
  letter-spacing: .02em;
  font-size: 15px;
}

.kona-summary-active {
  color: var(--ink-dim);
  flex: none;
  font-size: 13px;
}

.kona-card-details {
  border-top: 1px dashed var(--line);
  gap: 10px;
  margin-top: 12px;
  padding-top: 12px;
  display: grid;
}

.kona-detail-row {
  grid-template-columns: 84px 1fr;
  align-items: baseline;
  gap: 12px;
  min-width: 0;
  display: grid;
}

.kona-field-label {
  font-family: var(--font-mono);
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--ink-faint);
  font-size: 10px;
}

.kona-field-value {
  color: var(--ink);
  overflow-wrap: anywhere;
  min-width: 0;
  font-size: 14px;
}

.kona-mono {
  font-family: var(--font-mono);
}

.kona-copy {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  touch-action: none;
  border-radius: 5px;
  transition: background-color .12s;
  position: relative;
}

.kona-copy:active {
  background: #ffffff0f;
}

.kona-copy.is-armed {
  background: #ff5b1f2e;
  box-shadow: 0 0 0 1px #ff5b1f66;
}

.kona-copy-flag {
  z-index: 2;
  background: var(--accent);
  color: #1b1206;
  font-family: var(--font-ui);
  letter-spacing: 0;
  white-space: nowrap;
  pointer-events: none;
  border-radius: 6px;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 600;
  animation: .14s kona-copied-pop;
  position: absolute;
  bottom: calc(100% + 4px);
  left: 0;
}

@keyframes kona-copied-pop {
  from {
    opacity: 0;
    transform: translateY(3px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.kona-password {
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.kona-eye {
  border: 1px solid var(--line);
  width: 26px;
  height: 26px;
  color: var(--ink-dim);
  cursor: pointer;
  background: none;
  border-radius: 6px;
  flex: none;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.kona-eye:hover {
  color: var(--ink);
  border-color: var(--line-bright);
}

.kona-dialog-overlay {
  z-index: 80;
  background: #0009;
  position: fixed;
  inset: 0;
}

.kona-dialog {
  z-index: 81;
  background: var(--bg-2);
  border: 1px solid var(--line-bright);
  width: min(400px, 100vw - 32px);
  font-family: var(--font-ui);
  border-radius: 12px;
  padding: 20px;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 24px 60px #00000080;
}

.kona-dialog-head {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.kona-dialog-title {
  font-family: var(--font-display);
  letter-spacing: .02em;
  color: var(--ink);
  margin: 0;
  font-size: 19px;
}

.kona-dialog-close {
  border: 1px solid var(--line);
  width: 30px;
  height: 30px;
  color: var(--ink-dim);
  cursor: pointer;
  background: none;
  border-radius: 5px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.kona-dialog-close:hover {
  color: var(--ink);
  border-color: var(--line-bright);
}

.kona-dialog-sub {
  color: var(--ink-dim);
  margin: 12px 0 16px;
  font-size: 14px;
}

.kona-dialog-actions {
  gap: 10px;
  display: flex;
}

.kona-dialog-actions .button {
  flex: 1;
}

.v2-picker-popover {
  transform-origin: top;
  animation: .16s cubic-bezier(.22, 1, .36, 1) both v2-pop-in;
}

.v2-calendar-popover {
  transform-origin: 0 0;
}

.v2-calendar-popover[data-state="open"] {
  animation: .18s cubic-bezier(.22, 1, .36, 1) both v2-pop-in;
}

.v2-calendar-popover[data-state="closed"] {
  animation: .15s cubic-bezier(.22, 1, .36, 1) both v2-pop-out;
}

.airport-combobox-pop {
  transform-origin: top;
  animation: .15s cubic-bezier(.22, 1, .36, 1) both v2-pop-in;
}

@keyframes v2-pop-in {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes v2-pop-out {
  from {
    opacity: 1;
    transform: translateY(0);
  }

  to {
    opacity: 0;
    transform: translateY(-6px);
  }
}

.alert-dialog-overlay[data-state="open"], .kona-dialog-overlay[data-state="open"] {
  animation: .18s both v2-drawer-overlay-in;
}

.alert-dialog-overlay[data-state="closed"], .kona-dialog-overlay[data-state="closed"] {
  animation: .18s both v2-drawer-overlay-out;
}

.alert-dialog[data-state="open"], .kona-dialog[data-state="open"] {
  animation: .22s cubic-bezier(.22, 1, .36, 1) both v2-modal-in;
}

.alert-dialog[data-state="closed"], .kona-dialog[data-state="closed"] {
  animation: .17s cubic-bezier(.22, 1, .36, 1) both v2-modal-out;
}

@keyframes v2-modal-in {
  from {
    opacity: 0;
    transform: translate(-50%, calc(8px - 50%))scale(.98);
  }

  to {
    opacity: 1;
    transform: translate(-50%, -50%)scale(1);
  }
}

@keyframes v2-modal-out {
  from {
    opacity: 1;
    transform: translate(-50%, -50%)scale(1);
  }

  to {
    opacity: 0;
    transform: translate(-50%, calc(8px - 50%))scale(.98);
  }
}

.alert-card, .alert-confirm-action, .admin-user-edit, .tier-form, .admin-tier-form, .destination-edit, .settings-main, .v2-day-tripper-bounds, .v2-route-finder-bounds, .v2-window-field {
  animation: .32s cubic-bezier(.22, 1, .36, 1) both flight-card-in;
}

.settings-nav-item {
  transition: background-color .16s, color .16s, border-color .16s;
}

.mobile-menu-panel {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .16s, transform .2s cubic-bezier(.22, 1, .36, 1), visibility 0s linear .2s;
  transform: translateY(-6px);
}

.mobile-menu.is-open .mobile-menu-panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity .16s, transform .2s cubic-bezier(.22, 1, .36, 1), visibility;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .v2-picker-popover, .v2-calendar-popover[data-state="open"], .v2-calendar-popover[data-state="closed"], .airport-combobox-pop, .alert-dialog-overlay[data-state="open"], .alert-dialog-overlay[data-state="closed"], .kona-dialog-overlay[data-state="open"], .kona-dialog-overlay[data-state="closed"], .alert-dialog[data-state="open"], .alert-dialog[data-state="closed"], .kona-dialog[data-state="open"], .kona-dialog[data-state="closed"], .alert-card, .alert-confirm-action, .admin-user-edit, .tier-form, .admin-tier-form, .destination-edit, .settings-main, .v2-day-tripper-bounds, .v2-route-finder-bounds, .v2-window-field {
    animation: none;
  }

  .settings-nav-item, .mobile-menu-panel, .mobile-menu.is-open .mobile-menu-panel {
    transition: none;
  }
}

@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-tracking {
  syntax: "*";
  inherits: false
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-duration {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__03w87pv._.css.map*/