/* [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";
}

/* [next]/internal/font/google/barlow_condensed_13f41310.module.css [app-client] (css) */
@font-face {
  font-family: Barlow Condensed;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/9710cef2a2a6ac70-s.38t85nkp60tez.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: Barlow Condensed;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/a978fc28c69736ab-s.2omtmoo94goav.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: Barlow Condensed;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/303804218d80822e-s.p.3lj349bs9hfu1.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: Barlow Condensed;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/e37557cf0085218d-s.2dbbbbabmw4n4.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: Barlow Condensed;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/146a3e5eadafdf83-s.1oqo1buse5xew.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: Barlow Condensed;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/d9b5d46d9a89ffe6-s.p.0xxdg0o7uh536.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: Barlow Condensed;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../media/5a938ab334846ae8-s.0i8had3keju7i.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: Barlow Condensed;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../media/3dae58b0b46c3f93-s.24oj26lcm6-u8.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: Barlow Condensed;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../media/89232e6535d3b87e-s.p.2oeto2j5aaelm.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: Barlow Condensed;
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../media/91a39433b4ff06b2-s.2avsd28_hqhmt.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: Barlow Condensed;
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../media/a6365570ca21fbb9-s.1wbhu6nb2u97d.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: Barlow Condensed;
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../media/ddf6ae3f623ba878-s.p.2zhff3cxreb6s.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: Barlow Condensed Fallback;
  src: local(Arial);
  ascent-override: 130.73%;
  descent-override: 26.15%;
  line-gap-override: 0.0%;
  size-adjust: 76.49%;
}

.barlow_condensed_13f41310-module__1-KykG__className {
  font-family: Barlow Condensed, Barlow Condensed Fallback;
  font-style: normal;
}

.barlow_condensed_13f41310-module__1-KykG__variable {
  --font-barlow-condensed: "Barlow Condensed", "Barlow Condensed Fallback";
}

/* [next]/internal/font/google/montserrat_7db72518.module.css [app-client] (css) */
@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/8298327da6d5bcce-s.3q4n78m6muld7.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: Montserrat;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/44fac91e6f2d2b1b-s.1d_6dtvtn9g3_.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/2b402d8aebffd579-s.16nfeub7ja6ze.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: Montserrat;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/a88409fdd7dc121c-s.1mvr14jy3vxq7.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: Montserrat;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/e8f2fbee2754df70-s.1dqa_6e_ad4sj.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: Montserrat Fallback;
  src: local(Arial);
  ascent-override: 85.79%;
  descent-override: 22.25%;
  line-gap-override: 0.0%;
  size-adjust: 112.83%;
}

.montserrat_7db72518-module__14J_5q__className {
  font-family: Montserrat, Montserrat Fallback;
  font-style: normal;
}

.montserrat_7db72518-module__14J_5q__variable {
  --font-montserrat: "Montserrat", "Montserrat Fallback";
}

/* [next]/internal/font/google/playfair_display_ec093eb.module.css [app-client] (css) */
@font-face {
  font-family: Playfair Display;
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("../media/65c558afe41e89d6-s.3jppgd0xzx-0d.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Playfair Display;
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("../media/14e23f9b59180572-s.0t8ljjjn9wtsx.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: Playfair Display;
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("../media/b49b0d9b851e4899-s.2zyohmvb-ks7f.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: Playfair Display;
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("../media/2a65768255d6b625-s.3u4lli0-axodc.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: Playfair Display Fallback;
  src: local(Times New Roman);
  ascent-override: 97.25%;
  descent-override: 22.56%;
  line-gap-override: 0.0%;
  size-adjust: 111.26%;
}

.playfair_display_ec093eb-module__R6k0WW__className {
  font-family: Playfair Display, Playfair Display Fallback;
  font-style: normal;
}

.playfair_display_ec093eb-module__R6k0WW__variable {
  --font-playfair: "Playfair Display", "Playfair Display Fallback";
}

/* [next]/internal/font/google/public_sans_cef0544a.module.css [app-client] (css) */
@font-face {
  font-family: Public Sans;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/6e8df35dd937fa7a-s.0itc0wjx1mi4q.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: Public Sans;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/fc2699ecc8323b38-s.1gwygi6ipeo67.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: Public Sans;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/fa0520225c6f3d07-s.33u8lzvd44aqk.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: Public Sans Fallback;
  src: local(Arial);
  ascent-override: 90.59%;
  descent-override: 21.46%;
  line-gap-override: 0.0%;
  size-adjust: 104.87%;
}

.public_sans_cef0544a-module__skNIla__className {
  font-family: Public Sans, Public Sans Fallback;
  font-style: normal;
}

.public_sans_cef0544a-module__skNIla__variable {
  --font-public-sans: "Public Sans", "Public Sans Fallback";
}

/* [next]/internal/font/google/ibm_plex_mono_7bf05afb.module.css [app-client] (css) */
@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/6ff74e33ebd7bca3-s.352ti9pm7m6qh.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: IBM Plex Mono;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/1a69062cfe6f77f8-s.0o-3_g79811ob.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/9a4838fcda0d1bca-s.0ngr-xkgqz1kf.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: IBM Plex Mono;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/2e95a7d252b9825a-s.15orukf5wyxb5.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: IBM Plex Mono;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../media/23b7a97ae3b5c134-s.226pwps5o-gq_.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: IBM Plex Mono;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/f53f4557ddd9f7a6-s.1u-lvzo58r3-e.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: IBM Plex Mono;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/5256dd17dd2ccf14-s.37c107x1d-cfz.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: IBM Plex Mono;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/fe48c93add1d142c-s.3_gspotjv4tkw.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: IBM Plex Mono;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/5689d89b20a4bd5b-s.0m-w082keobar.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: IBM Plex Mono;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/a7e15459c1805da0-s.3y9b8znjr2455.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: IBM Plex Mono Fallback;
  src: local(Arial);
  ascent-override: 76.16%;
  descent-override: 20.43%;
  line-gap-override: 0.0%;
  size-adjust: 134.59%;
}

.ibm_plex_mono_7bf05afb-module__j4r7Vq__className {
  font-family: IBM Plex Mono, IBM Plex Mono Fallback;
  font-style: normal;
}

.ibm_plex_mono_7bf05afb-module__j4r7Vq__variable {
  --font-plex-mono: "IBM Plex Mono", "IBM Plex Mono Fallback";
}

/* [next]/internal/font/google/ibm_plex_sans_2a84e381.module.css [app-client] (css) */
@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/7fea77d1d19108bf-s.2y65deuc30pmy.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: IBM Plex Sans;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/e15f58668ad64cb8-s.3cvcemwuzoywn.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: IBM Plex Sans;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.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: IBM Plex Sans;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/57215795b8570f5c-s.2rixgazldzomk.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: IBM Plex Sans;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/03fc1b4a8d284b5e-s.0wiir8udbzjvx.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: IBM Plex Sans;
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/7fea77d1d19108bf-s.2y65deuc30pmy.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: IBM Plex Sans;
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/e15f58668ad64cb8-s.3cvcemwuzoywn.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: IBM Plex Sans;
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.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: IBM Plex Sans;
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/57215795b8570f5c-s.2rixgazldzomk.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: IBM Plex Sans;
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/03fc1b4a8d284b5e-s.0wiir8udbzjvx.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: IBM Plex Sans Fallback;
  src: local(Arial);
  ascent-override: 101.32%;
  descent-override: 27.18%;
  line-gap-override: 0.0%;
  size-adjust: 101.17%;
}

.ibm_plex_sans_2a84e381-module__GevHCa__className {
  font-family: IBM Plex Sans, IBM Plex Sans Fallback;
  font-style: normal;
}

.ibm_plex_sans_2a84e381-module__GevHCa__variable {
  --font-plex-sans: "IBM Plex Sans", "IBM Plex Sans Fallback";
}

/* [next]/internal/font/google/fredoka_27c1232b.module.css [app-client] (css) */
@font-face {
  font-family: Fredoka;
  font-style: normal;
  font-weight: 300 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/b6df7c92285ebcd2-s.0y4xxz2y19qqs.woff2") format("woff2");
  unicode-range: U+307-308, U+590-5FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}

@font-face {
  font-family: Fredoka;
  font-style: normal;
  font-weight: 300 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/eeba9b1ad34c1404-s.0yczt4r3j28ff.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: Fredoka;
  font-style: normal;
  font-weight: 300 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/5d52bd6c4cb3f315-s.0ez3bnoxb63ra.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: Fredoka Fallback;
  src: local(Arial);
  ascent-override: 95.64%;
  descent-override: 23.17%;
  line-gap-override: 0.0%;
  size-adjust: 101.84%;
}

.fredoka_27c1232b-module__d_YVHG__className {
  font-family: Fredoka, Fredoka Fallback;
  font-style: normal;
}

.fredoka_27c1232b-module__d_YVHG__variable {
  --font-fredoka: "Fredoka", "Fredoka Fallback";
}

/* [next]/internal/font/google/nunito_97ba26ad.module.css [app-client] (css) */
@font-face {
  font-family: Nunito;
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
  src: url("../media/224e262ef877bfa4-s.1zkvd_innyig_.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: Nunito;
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
  src: url("../media/7f11d98043fdedc9-s.2c8-7nzo1jf9r.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Nunito;
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
  src: url("../media/e6d00ff86ef9e699-s.1vcas2uk12q5a.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: Nunito;
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
  src: url("../media/d8cb5ab3660140cd-s.2demiz2t05dx4.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: Nunito;
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
  src: url("../media/07454f8ad8aaac57-s.2kjei9psvcorz.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: Nunito Fallback;
  src: local(Arial);
  ascent-override: 99.71%;
  descent-override: 34.82%;
  line-gap-override: 0.0%;
  size-adjust: 101.39%;
}

.nunito_97ba26ad-module__Righ_a__className {
  font-family: Nunito, Nunito Fallback;
  font-style: normal;
}

.nunito_97ba26ad-module__Righ_a__variable {
  --font-nunito: "Nunito", "Nunito Fallback";
}

/* [project]/apps/web/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-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --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-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: 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-red-400: #ff6568;
    --color-amber-400: #fcbb00;
    --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);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --font-weight-black: 900;
    --tracking-wider: .05em;
    --radius-lg: .5rem;
    --radius-xl: .75rem;
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --blur-md: 12px;
    --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);
  }

  @supports (color: lab(0% 0 0)) {
    :root, :host {
      --color-red-400: lab(63.7053% 60.745 31.3109);
      --color-amber-400: lab(80.1641% 16.6016 99.2089);
    }
  }
}

@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-auto {
    pointer-events: auto;
  }

  .pointer-events-none {
    pointer-events: none;
  }

  .collapse {
    visibility: collapse;
  }

  .invisible {
    visibility: hidden;
  }

  .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-4 {
    top: calc(var(--spacing) * 4);
  }

  .top-14 {
    top: calc(var(--spacing) * 14);
  }

  .top-15 {
    top: calc(var(--spacing) * 15);
  }

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

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

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

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

  .isolate {
    isolation: isolate;
  }

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

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

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

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

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

  .\!container {
    width: 100% !important;
  }

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

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

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

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

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

  .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;
    }
  }

  .mx-0\.5 {
    margin-inline: calc(var(--spacing) * .5);
  }

  .mt-0\.5 {
    margin-top: calc(var(--spacing) * .5);
  }

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

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

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

  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }

  .block {
    display: block;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

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

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

  .table {
    display: table;
  }

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

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

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

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

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

  .h-full {
    height: 100%;
  }

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

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

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

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

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

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

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

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

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

  .w-full {
    width: 100%;
  }

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

  .flex-1 {
    flex: 1;
  }

  .shrink {
    flex-shrink: 1;
  }

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

  .grow {
    flex-grow: 1;
  }

  .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;
  }

  .auto-cols-fr {
    grid-auto-columns: minmax(0, 1fr);
  }

  .grid-flow-col {
    grid-auto-flow: column;
  }

  .flex-col {
    flex-direction: column;
  }

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

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

  .items-start {
    align-items: flex-start;
  }

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

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

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

  .justify-end {
    justify-content: flex-end;
  }

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

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

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

  :where(.space-y-0\.5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-1 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-2 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .overflow-y-auto {
    overflow-y: auto;
  }

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

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

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

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

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

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

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

  .border-\[rgba\(var\(--overlay-rgb\)\,0\.06\)\] {
    border-color: rgba(var(--overlay-rgb),.06);
  }

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

  .border-\[var\(--green\)\]\/40 {
    border-color: var(--green);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-\[var\(--green\)\]\/40 {
      border-color: color-mix(in oklab, var(--green) 40%, transparent);
    }
  }

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

  .bg-\[rgba\(255\,255\,255\,0\.05\)\] {
    background-color: #ffffff0d;
  }

  .bg-\[rgba\(var\(--bg-2-rgb\)\,0\.88\)\] {
    background-color: rgba(var(--bg-2-rgb),.88);
  }

  .bg-\[rgba\(var\(--bg-2-rgb\)\,0\.95\)\] {
    background-color: rgba(var(--bg-2-rgb),.95);
  }

  .bg-\[rgba\(var\(--overlay-rgb\)\,0\.12\)\] {
    background-color: rgba(var(--overlay-rgb),.12);
  }

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

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

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

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

  .bg-\[var\(--good\)\]\/10 {
    background-color: var(--good);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-\[var\(--good\)\]\/10 {
      background-color: color-mix(in oklab, var(--good) 10%, transparent);
    }
  }

  .bg-\[var\(--green\)\]\/20 {
    background-color: var(--green);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-\[var\(--green\)\]\/20 {
      background-color: color-mix(in oklab, var(--green) 20%, transparent);
    }
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .pt-1 {
    padding-top: calc(var(--spacing) * 1);
  }

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

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

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

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

  .font-\[family-name\:var\(--font-ui\)\] {
    font-family: var(--font-ui);
  }

  .font-mono {
    font-family: var(--font-mono);
  }

  .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-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .text-amber-400 {
    color: var(--color-amber-400);
  }

  .text-red-400 {
    color: var(--color-red-400);
  }

  .lowercase {
    text-transform: lowercase;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

  .underline {
    text-decoration-line: underline;
  }

  .opacity-55 {
    opacity: .55;
  }

  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-2xl {
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, #00000040);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    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, );
  }

  .backdrop-blur-md {
    --tw-backdrop-blur: blur(var(--blur-md));
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .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-all {
    transition-property: all;
    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-auto {
    -webkit-user-select: auto;
    user-select: auto;
  }

  .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-\[var\(--bg-3\)\]:hover {
      background-color: var(--bg-3);
    }
  }

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

  @media (hover: hover) {
    .hover\:brightness-110:hover {
      --tw-brightness: brightness(110%);
      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, );
    }
  }

  @media (min-width: 40rem) {
    .sm\:inline {
      display: inline;
    }
  }

  @media (min-width: 40rem) {
    .sm\:w-\[280px\] {
      width: 280px;
    }
  }

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

  @media (min-width: 48rem) {
    .md\:h-\[620px\] {
      height: 620px;
    }
  }

  @media (min-width: 48rem) {
    .md\:w-96 {
      width: calc(var(--spacing) * 96);
    }
  }
}

.leaflet-pane, .leaflet-tile, .leaflet-marker-icon, .leaflet-marker-shadow, .leaflet-tile-container, .leaflet-pane > svg, .leaflet-pane > canvas, .leaflet-zoom-box, .leaflet-image-layer, .leaflet-layer {
  position: absolute;
  top: 0;
  left: 0;
}

.leaflet-container {
  overflow: hidden;
}

.leaflet-tile, .leaflet-marker-icon, .leaflet-marker-shadow {
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
}

.leaflet-tile::selection {
  background: none;
}

.leaflet-safari .leaflet-tile {
  image-rendering: -webkit-optimize-contrast;
}

.leaflet-safari .leaflet-tile-container {
  -webkit-transform-origin: 0 0;
  width: 1600px;
  height: 1600px;
}

.leaflet-marker-icon, .leaflet-marker-shadow {
  display: block;
}

.leaflet-container .leaflet-overlay-pane svg {
  max-width: none !important;
  max-height: none !important;
}

.leaflet-container .leaflet-marker-pane img, .leaflet-container .leaflet-shadow-pane img, .leaflet-container .leaflet-tile-pane img, .leaflet-container img.leaflet-image-layer, .leaflet-container .leaflet-tile {
  width: auto;
  padding: 0;
  max-width: none !important;
  max-height: none !important;
}

.leaflet-container img.leaflet-tile {
  mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
  -ms-touch-action: pan-x pan-y;
  touch-action: pan-x pan-y;
}

.leaflet-container.leaflet-touch-drag {
  -ms-touch-action: pinch-zoom;
  touch-action: none;
  touch-action: pinch-zoom;
}

.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
  -ms-touch-action: none;
  touch-action: none;
}

.leaflet-container {
  -webkit-tap-highlight-color: transparent;
}

.leaflet-container a {
  -webkit-tap-highlight-color: #33b5e566;
}

.leaflet-tile {
  filter: inherit;
  visibility: hidden;
}

.leaflet-tile-loaded {
  visibility: inherit;
}

.leaflet-zoom-box {
  box-sizing: border-box;
  z-index: 800;
  width: 0;
  height: 0;
}

.leaflet-overlay-pane svg {
  -moz-user-select: none;
}

.leaflet-pane {
  z-index: 400;
}

.leaflet-tile-pane {
  z-index: 200;
}

.leaflet-overlay-pane {
  z-index: 400;
}

.leaflet-shadow-pane {
  z-index: 500;
}

.leaflet-marker-pane {
  z-index: 600;
}

.leaflet-tooltip-pane {
  z-index: 650;
}

.leaflet-popup-pane {
  z-index: 700;
}

.leaflet-map-pane canvas {
  z-index: 100;
}

.leaflet-map-pane svg {
  z-index: 200;
}

.leaflet-vml-shape {
  width: 1px;
  height: 1px;
}

.lvml {
  behavior: url("#default#VML");
  display: inline-block;
  position: absolute;
}

.leaflet-control {
  z-index: 800;
  pointer-events: visiblePainted;
  pointer-events: auto;
  position: relative;
}

.leaflet-top, .leaflet-bottom {
  z-index: 1000;
  pointer-events: none;
  position: absolute;
}

.leaflet-top {
  top: 0;
}

.leaflet-right {
  right: 0;
}

.leaflet-bottom {
  bottom: 0;
}

.leaflet-left {
  left: 0;
}

.leaflet-control {
  float: left;
  clear: both;
}

.leaflet-right .leaflet-control {
  float: right;
}

.leaflet-top .leaflet-control {
  margin-top: 10px;
}

.leaflet-bottom .leaflet-control {
  margin-bottom: 10px;
}

.leaflet-left .leaflet-control {
  margin-left: 10px;
}

.leaflet-right .leaflet-control {
  margin-right: 10px;
}

.leaflet-fade-anim .leaflet-popup {
  opacity: 0;
  transition: opacity .2s linear;
}

.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
  opacity: 1;
}

.leaflet-zoom-animated {
  transform-origin: 0 0;
}

svg.leaflet-zoom-animated {
  will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
  -webkit-transition: -webkit-transform .25s cubic-bezier(0, 0, .25, 1);
  -moz-transition: -moz-transform .25s cubic-bezier(0, 0, .25, 1);
  transition: transform .25s cubic-bezier(0, 0, .25, 1);
}

.leaflet-zoom-anim .leaflet-tile, .leaflet-pan-anim .leaflet-tile {
  transition: none;
}

.leaflet-zoom-anim .leaflet-zoom-hide {
  visibility: hidden;
}

.leaflet-interactive {
  cursor: pointer;
}

.leaflet-grab {
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab;
}

.leaflet-crosshair, .leaflet-crosshair .leaflet-interactive {
  cursor: crosshair;
}

.leaflet-popup-pane, .leaflet-control {
  cursor: auto;
}

.leaflet-dragging .leaflet-grab, .leaflet-dragging .leaflet-grab .leaflet-interactive, .leaflet-dragging .leaflet-marker-draggable {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing;
}

.leaflet-marker-icon, .leaflet-marker-shadow, .leaflet-image-layer, .leaflet-pane > svg path, .leaflet-tile-container {
  pointer-events: none;
}

.leaflet-marker-icon.leaflet-interactive, .leaflet-image-layer.leaflet-interactive, .leaflet-pane > svg path.leaflet-interactive, svg.leaflet-image-layer.leaflet-interactive path {
  pointer-events: visiblePainted;
  pointer-events: auto;
}

.leaflet-container {
  outline-offset: 1px;
  background: #ddd;
}

.leaflet-container a {
  color: #0078a8;
}

.leaflet-zoom-box {
  background: #ffffff80;
  border: 2px dotted #38f;
}

.leaflet-container {
  font-family: Helvetica Neue, Arial, Helvetica, sans-serif;
  font-size: .75rem;
  line-height: 1.5;
}

.leaflet-bar {
  border-radius: 4px;
  box-shadow: 0 1px 5px #000000a6;
}

.leaflet-bar a {
  text-align: center;
  color: #000;
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  width: 26px;
  height: 26px;
  line-height: 26px;
  text-decoration: none;
  display: block;
}

.leaflet-bar a, .leaflet-control-layers-toggle {
  background-position: 50%;
  background-repeat: no-repeat;
  display: block;
}

.leaflet-bar a:hover, .leaflet-bar a:focus {
  background-color: #f4f4f4;
}

.leaflet-bar a:first-child {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

.leaflet-bar a:last-child {
  border-bottom: none;
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
}

.leaflet-bar a.leaflet-disabled {
  cursor: default;
  color: #bbb;
  background-color: #f4f4f4;
}

.leaflet-touch .leaflet-bar a {
  width: 30px;
  height: 30px;
  line-height: 30px;
}

.leaflet-touch .leaflet-bar a:first-child {
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}

.leaflet-touch .leaflet-bar a:last-child {
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}

.leaflet-control-zoom-in, .leaflet-control-zoom-out {
  text-indent: 1px;
  font: bold 18px Lucida Console, Monaco, monospace;
}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {
  font-size: 22px;
}

.leaflet-control-layers {
  background: #fff;
  border-radius: 5px;
  box-shadow: 0 1px 5px #0006;
}

.leaflet-control-layers-toggle {
  background-image: url("../media/layers.3muxcl8sz6330.png");
  width: 36px;
  height: 36px;
}

.leaflet-retina .leaflet-control-layers-toggle {
  background-image: url("../media/layers-2x.23wrxu3xxu9-i.png");
  background-size: 26px 26px;
}

.leaflet-touch .leaflet-control-layers-toggle {
  width: 44px;
  height: 44px;
}

.leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers-expanded .leaflet-control-layers-toggle {
  display: none;
}

.leaflet-control-layers-expanded .leaflet-control-layers-list {
  display: block;
  position: relative;
}

.leaflet-control-layers-expanded {
  color: #333;
  background: #fff;
  padding: 6px 10px 6px 6px;
}

.leaflet-control-layers-scrollbar {
  padding-right: 5px;
  overflow: hidden scroll;
}

.leaflet-control-layers-selector {
  margin-top: 2px;
  position: relative;
  top: 1px;
}

.leaflet-control-layers label {
  font-size: 1.08333em;
  display: block;
}

.leaflet-control-layers-separator {
  border-top: 1px solid #ddd;
  height: 0;
  margin: 5px -10px 5px -6px;
}

.leaflet-default-icon-path {
  background-image: url("../media/marker-icon.1le94j_pe_ih1.png");
}

.leaflet-container .leaflet-control-attribution {
  background: #fffc;
  margin: 0;
}

.leaflet-control-attribution, .leaflet-control-scale-line {
  color: #333;
  padding: 0 5px;
  line-height: 1.4;
}

.leaflet-control-attribution a {
  text-decoration: none;
}

.leaflet-control-attribution a:hover, .leaflet-control-attribution a:focus {
  text-decoration: underline;
}

.leaflet-attribution-flag {
  width: 1em;
  height: .6669em;
  vertical-align: baseline !important;
  display: inline !important;
}

.leaflet-left .leaflet-control-scale {
  margin-left: 5px;
}

.leaflet-bottom .leaflet-control-scale {
  margin-bottom: 5px;
}

.leaflet-control-scale-line {
  white-space: nowrap;
  box-sizing: border-box;
  text-shadow: 1px 1px #fff;
  background: #fffc;
  border: 2px solid #777;
  border-top: none;
  padding: 2px 5px 1px;
  line-height: 1.1;
}

.leaflet-control-scale-line:not(:first-child) {
  border-top: 2px solid #777;
  border-bottom: none;
  margin-top: -2px;
}

.leaflet-control-scale-line:not(:first-child):not(:last-child) {
  border-bottom: 2px solid #777;
}

.leaflet-touch .leaflet-control-attribution, .leaflet-touch .leaflet-control-layers, .leaflet-touch .leaflet-bar {
  box-shadow: none;
}

.leaflet-touch .leaflet-control-layers, .leaflet-touch .leaflet-bar {
  background-clip: padding-box;
  border: 2px solid #0003;
}

.leaflet-popup {
  text-align: center;
  margin-bottom: 20px;
  position: absolute;
}

.leaflet-popup-content-wrapper {
  text-align: left;
  border-radius: 12px;
  padding: 1px;
}

.leaflet-popup-content {
  min-height: 1px;
  margin: 13px 24px 13px 20px;
  font-size: 1.08333em;
  line-height: 1.3;
}

.leaflet-popup-content p {
  margin: 1.3em 0;
}

.leaflet-popup-tip-container {
  pointer-events: none;
  width: 40px;
  height: 20px;
  margin-top: -1px;
  margin-left: -20px;
  position: absolute;
  left: 50%;
  overflow: hidden;
}

.leaflet-popup-tip {
  pointer-events: auto;
  width: 17px;
  height: 17px;
  margin: -10px auto 0;
  padding: 1px;
  transform: rotate(45deg);
}

.leaflet-popup-content-wrapper, .leaflet-popup-tip {
  color: #333;
  background: #fff;
  box-shadow: 0 3px 14px #0006;
}

.leaflet-container a.leaflet-popup-close-button {
  text-align: center;
  color: #757575;
  background: none;
  border: none;
  width: 24px;
  height: 24px;
  font: 16px / 24px Tahoma, Verdana, sans-serif;
  text-decoration: none;
  position: absolute;
  top: 0;
  right: 0;
}

.leaflet-container a.leaflet-popup-close-button:hover, .leaflet-container a.leaflet-popup-close-button:focus {
  color: #585858;
}

.leaflet-popup-scrolled {
  overflow: auto;
}

.leaflet-oldie .leaflet-popup-content-wrapper {
  -ms-zoom: 1;
}

.leaflet-oldie .leaflet-popup-tip {
  -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
  width: 24px;
  filter: progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);
  margin: 0 auto;
}

.leaflet-oldie .leaflet-control-zoom, .leaflet-oldie .leaflet-control-layers, .leaflet-oldie .leaflet-popup-content-wrapper, .leaflet-oldie .leaflet-popup-tip {
  border: 1px solid #999;
}

.leaflet-div-icon {
  background: #fff;
  border: 1px solid #666;
}

.leaflet-tooltip {
  color: #222;
  white-space: nowrap;
  -webkit-user-select: none;
  user-select: none;
  pointer-events: none;
  background-color: #fff;
  border: 1px solid #fff;
  border-radius: 3px;
  padding: 6px;
  position: absolute;
  box-shadow: 0 1px 3px #0006;
}

.leaflet-tooltip.leaflet-interactive {
  cursor: pointer;
  pointer-events: auto;
}

.leaflet-tooltip-top:before, .leaflet-tooltip-bottom:before, .leaflet-tooltip-left:before, .leaflet-tooltip-right:before {
  pointer-events: none;
  content: "";
  background: none;
  border: 6px solid #0000;
  position: absolute;
}

.leaflet-tooltip-bottom {
  margin-top: 6px;
}

.leaflet-tooltip-top {
  margin-top: -6px;
}

.leaflet-tooltip-bottom:before, .leaflet-tooltip-top:before {
  margin-left: -6px;
  left: 50%;
}

.leaflet-tooltip-top:before {
  border-top-color: #fff;
  margin-bottom: -12px;
  bottom: 0;
}

.leaflet-tooltip-bottom:before {
  border-bottom-color: #fff;
  margin-top: -12px;
  margin-left: -6px;
  top: 0;
}

.leaflet-tooltip-left {
  margin-left: -6px;
}

.leaflet-tooltip-right {
  margin-left: 6px;
}

.leaflet-tooltip-left:before, .leaflet-tooltip-right:before {
  margin-top: -6px;
  top: 50%;
}

.leaflet-tooltip-left:before {
  border-left-color: #fff;
  margin-right: -12px;
  right: 0;
}

.leaflet-tooltip-right:before {
  border-right-color: #fff;
  margin-left: -12px;
  left: 0;
}

@media print {
  .leaflet-control {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

: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;
  --accent-hover: #ff7a45;
  --accent-deep: #f45117;
  --fare-standard: #ff5b1f;
  --map-good: #22c55e;
  --map-good-rgb: 34, 197, 94;
  --map-good-ink: #4dd28a;
  --map-sky: #38bdf8;
  --map-sky-rgb: 56, 189, 248;
  --map-sky-ink: #7dd3fc;
  --map-violet: #a855f7;
  --map-violet-rgb: 168, 85, 247;
  --map-violet-ink: #c084fc;
  --map-amber: #f59e0b;
  --map-amber-rgb: 245, 158, 11;
  --map-amber-ink: #fbbf24;
  --accent-ink: #14100c;
  --bg-rgb: 11, 13, 14;
  --bg-2-rgb: 17, 20, 22;
  --bg-3-rgb: 23, 27, 30;
  --ink-rgb: 235, 231, 223;
  --ink-dim-rgb: 150, 144, 137;
  --accent-rgb: 255, 91, 31;
  --accent-2-rgb: 255, 216, 77;
  --den-rgb: 90, 184, 255;
  --good-rgb: 77, 210, 138;
  --warn-rgb: 255, 138, 61;
  --bad-rgb: 255, 77, 106;
  --overlay-rgb: 255, 255, 255;
  --shadow-rgb: 0, 0, 0;
  --shadow: 0 24px 80px #00000061;
  --font-display: var(--font-barlow-condensed), "Arial Narrow", "Roboto Condensed", Impact, sans-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;
  --font-display-2: var(--font-ui);
  --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);
}

html[data-theme="light"] {
  --lightningcss-light: initial;
  --lightningcss-dark: ;
  color-scheme: light;
  --bg: #f4efe5;
  --bg-2: #faf7f0;
  --bg-3: #fffdf8;
  --ink: #221f19;
  --ink-dim: #625c51;
  --ink-faint: #9a9385;
  --line: #ddd6c6;
  --line-bright: #cbc2ae;
  --accent: #e84d10;
  --fare-standard: #c94718;
  --map-good: #16a34a;
  --map-good-rgb: 22, 163, 74;
  --map-good-ink: #15803d;
  --map-sky: #0284c7;
  --map-sky-rgb: 2, 132, 199;
  --map-sky-ink: #0369a1;
  --map-violet: #9333ea;
  --map-violet-rgb: 147, 51, 234;
  --map-violet-ink: #7e22ce;
  --map-amber: #d97706;
  --map-amber-rgb: 217, 119, 6;
  --map-amber-ink: #b45309;
  --accent-2: #b8890a;
  --den: #2273c2;
  --good: #157f48;
  --warn: #b35a00;
  --bad: #cf2440;
  --shadow: 0 24px 80px rgba(var(--shadow-rgb), .14);
  --bg-rgb: 244, 239, 229;
  --bg-2-rgb: 250, 247, 240;
  --bg-3-rgb: 255, 253, 248;
  --ink-rgb: 34, 31, 25;
  --ink-dim-rgb: 98, 92, 81;
  --accent-rgb: 232, 77, 16;
  --accent-2-rgb: 184, 137, 10;
  --den-rgb: 34, 115, 194;
  --good-rgb: 21, 127, 72;
  --warn-rgb: 179, 90, 0;
  --bad-rgb: 207, 36, 64;
  --overlay-rgb: 17, 20, 22;
  --accent-hover: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  html[data-theme="light"] {
    --accent-hover: color-mix(in srgb, var(--accent) 82%, #fff);
  }
}

html[data-theme="light"] {
  --accent-deep: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  html[data-theme="light"] {
    --accent-deep: color-mix(in srgb, var(--accent) 88%, #000);
  }
}

html[data-theme="light"] {
  --accent-ink: #fff6ee;
}

html[data-accent] {
  --accent-hover: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  html[data-accent] {
    --accent-hover: color-mix(in srgb, var(--accent) 82%, #fff);
  }
}

html[data-accent] {
  --accent-deep: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  html[data-accent] {
    --accent-deep: color-mix(in srgb, var(--accent) 90%, #000);
  }
}

html[data-accent] {
  --accent-ink: #101315;
}

html[data-theme="light"][data-accent] {
  --accent-ink: #fdfbf5;
}

html[data-accent="evergreen"] {
  --accent: #12a55f;
  --accent-rgb: 18, 165, 95;
  --accent-2: #7dc242;
  --accent-2-rgb: 125, 194, 66;
}

html[data-theme="light"][data-accent="evergreen"] {
  --accent: #006643;
  --accent-rgb: 0, 102, 67;
  --accent-2: #4d8722;
  --accent-2-rgb: 77, 135, 34;
}

html[data-theme="light"][data-surface="white"] {
  --bg: #f4f5f3;
  --bg-2: #fdfdfc;
  --bg-3: #fff;
  --ink: #2e3a40;
  --ink-dim: #5b6d75;
  --ink-faint: #93a1a7;
  --line: #dfe1dc;
  --line-bright: #ccd0c9;
  --bg-rgb: 244, 245, 243;
  --bg-2-rgb: 253, 253, 252;
  --bg-3-rgb: 255, 255, 255;
  --ink-rgb: 46, 58, 64;
  --ink-dim-rgb: 91, 109, 117;
}

html[data-accent="gold"] {
  --accent: #f5b301;
  --accent-rgb: 245, 179, 1;
  --accent-2: #ff9448;
  --accent-2-rgb: 255, 148, 72;
}

html[data-theme="light"][data-accent="gold"] {
  --accent: #8f6b00;
  --accent-rgb: 143, 107, 0;
  --accent-2: #a3541b;
  --accent-2-rgb: 163, 84, 27;
}

html[data-accent="lime"] {
  --accent: #a4d740;
  --accent-rgb: 164, 215, 64;
  --accent-2: #dced5c;
  --accent-2-rgb: 220, 237, 92;
}

html[data-theme="light"][data-accent="lime"] {
  --accent: #506e00;
  --accent-rgb: 80, 110, 0;
  --accent-2: #857a10;
  --accent-2-rgb: 133, 122, 16;
}

html[data-accent="mint"] {
  --accent: #3ad0b4;
  --accent-rgb: 58, 208, 180;
  --accent-2: #7ce8a2;
  --accent-2-rgb: 124, 232, 162;
}

html[data-theme="light"][data-accent="mint"] {
  --accent: #0c7a67;
  --accent-rgb: 12, 122, 103;
  --accent-2: #2f7d4b;
  --accent-2-rgb: 47, 125, 75;
}

html[data-accent="sky"] {
  --accent: #58b8ff;
  --accent-rgb: 88, 184, 255;
  --accent-2: #8fe0ff;
  --accent-2-rgb: 143, 224, 255;
}

html[data-theme="light"][data-accent="sky"] {
  --accent: #0b6bb8;
  --accent-rgb: 11, 107, 184;
  --accent-2: #0f7d9b;
  --accent-2-rgb: 15, 125, 155;
}

html[data-accent="cobalt"] {
  --accent: #7592ff;
  --accent-rgb: 117, 146, 255;
  --accent-2: #a49aff;
  --accent-2-rgb: 164, 154, 255;
}

html[data-theme="light"][data-accent="cobalt"] {
  --accent: #3452c8;
  --accent-rgb: 52, 82, 200;
  --accent-2: #5f3fb8;
  --accent-2-rgb: 95, 63, 184;
}

html[data-accent="violet"] {
  --accent: #a887fa;
  --accent-rgb: 168, 135, 250;
  --accent-2: #d3a5ff;
  --accent-2-rgb: 211, 165, 255;
}

html[data-theme="light"][data-accent="violet"] {
  --accent: #6b3fd1;
  --accent-rgb: 107, 63, 209;
  --accent-2: #8a2fa8;
  --accent-2-rgb: 138, 47, 168;
}

html[data-accent="magenta"] {
  --accent: #f0619f;
  --accent-rgb: 240, 97, 159;
  --accent-2: #ff9ab8;
  --accent-2-rgb: 255, 154, 184;
}

html[data-theme="light"][data-accent="magenta"] {
  --accent: #b01e63;
  --accent-rgb: 176, 30, 99;
  --accent-2: #b43c47;
  --accent-2-rgb: 180, 60, 71;
}

html[data-accent="mono"] {
  --accent: #f2efe9;
  --accent-rgb: 242, 239, 233;
  --accent-2: #d8d3c8;
  --accent-2-rgb: 216, 211, 200;
  --accent-ink: #0d0f10;
}

html[data-theme="light"][data-accent="mono"] {
  --accent: #1d1a14;
  --accent-rgb: 29, 26, 20;
  --accent-2: #4c463c;
  --accent-2-rgb: 76, 70, 60;
  --accent-ink: #f8f5ee;
}

html[data-font="rounded"] {
  --font-display-2: var(--font-display);
  --font-display: var(--font-montserrat), "Avenir Next", "Segoe UI", sans-serif;
  --font-ui: var(--font-montserrat), ui-sans-serif, system-ui, sans-serif;
  --lh-display: 1;
}

html[data-font="editorial"] {
  --font-display-2: var(--font-display);
  --font-display: var(--font-playfair), Georgia, "Times New Roman", serif;
  --font-ui: var(--font-public-sans), ui-sans-serif, system-ui, sans-serif;
  --lh-display: .98;
}

html[data-font="terminal"] {
  --font-display-2: var(--font-display);
  --font-display: var(--font-plex-mono), "SFMono-Regular", Consolas, monospace;
  --font-ui: var(--font-plex-sans), ui-sans-serif, system-ui, sans-serif;
  --lh-display: 1;
}

html[data-font="playful"] {
  --font-display-2: var(--font-display);
  --font-display: var(--font-fredoka), "Trebuchet MS", sans-serif;
  --font-ui: var(--font-nunito), ui-sans-serif, system-ui, sans-serif;
  --lh-display: 1.04;
}

html[data-theme="light"] .v2-toggle-group, html[data-theme="light"] .v2-return-day-toggle {
  background: rgba(var(--ink-rgb), .08);
}

html[data-theme="light"] .v2-fare-item.is-standard[data-state="on"] {
  background: linear-gradient(180deg, rgba(var(--ink-rgb), .14), rgba(var(--ink-rgb), .09));
  border-color: rgba(var(--ink-rgb), .16);
  color: var(--ink);
}

html[data-theme="light"] .v2-fare-item.is-dd[data-state="on"] {
  color: #265e92;
  background: linear-gradient(#34659233, #1f426529);
  border-color: #1f42654d;
}

html[data-theme="light"] .v2-fare-item.is-gowild[data-state="on"] {
  border-color: rgba(var(--good-rgb), .35);
  color: var(--good);
  background: linear-gradient(#265e3e29, #1d48311f);
}

html[data-theme="light"] .v2-slider-range, html[data-accent] .v2-slider-range {
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
}

html[data-theme="light"] .v2-slider-thumb {
  background: var(--bg-3);
}

html[data-theme="light"] .v2-switch-root {
  background: rgba(var(--ink-rgb), .18);
  border-color: rgba(var(--ink-rgb), .25);
}

html[data-theme="light"] .quota-bar {
  background: rgba(var(--ink-rgb), .1);
}

html[data-theme="light"] .header-discord-button, html[data-theme="light"] .mobile-discord-link {
  color: #4752c4;
}

html[data-theme="light"] .recent-type-pill.blue {
  color: #2565a3;
}

html[data-theme="light"] .form-error, html[data-theme="light"] .admin-error {
  color: #b02a37;
}

html[data-theme="light"] .chat-input-row {
  background: linear-gradient(180deg, rgba(var(--overlay-rgb), .05), rgba(var(--overlay-rgb), .01)),
    rgba(var(--bg-3-rgb), .78);
  box-shadow: 0 10px 30px rgba(var(--shadow-rgb), .14);
}

html[data-theme="light"] .alert-card-hot {
  background: linear-gradient(135deg, rgba(var(--accent-rgb), .08), transparent 55%),
    rgba(var(--bg-3-rgb), .92);
}

html[data-theme="light"] .alert-card-hot .flight-path-plane {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  html[data-theme="light"] .alert-card-hot .flight-path-plane {
    background: color-mix(in srgb, var(--accent) 8%, var(--bg-2));
  }
}

html[data-theme="light"]:not([data-surface="white"]) .leaflet-tile-pane {
  filter: sepia(.24) saturate(.75) brightness(1.02);
}

html[data-theme="light"] .invite-field input, html[data-theme="light"] .invite-field select {
  --lightningcss-light: initial;
  --lightningcss-dark: ;
  color-scheme: light;
}

* {
  box-sizing: border-box;
}

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

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-3);
  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;
}

.admin-page-header {
  flex-direction: column;
  align-items: flex-start;
}

.admin-page-header .page-header-main, .admin-page-header .page-header-aside {
  flex: 0 auto;
  width: 100%;
}

.admin-page-header .page-header-aside {
  margin-top: var(--sp-2);
}

.admin-page-header .admin-tabs {
  justify-content: flex-start;
}

@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;
  border-bottom: 1px solid rgba(var(--accent-2-rgb), .12);
  background: linear-gradient(180deg, rgba(var(--bg-3-rgb), .94), rgba(var(--bg-rgb), .86)),
    rgba(var(--bg-rgb), .9);
  -webkit-backdrop-filter: blur(22px);
  backdrop-filter: blur(22px);
  position: sticky;
  top: 0;
}

.app-header:after {
  content: "";
  background: linear-gradient(90deg,
    transparent,
    rgba(var(--accent-rgb), .68),
    rgba(var(--accent-2-rgb), .28),
    transparent);
  pointer-events: none;
  height: 1px;
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
}

.header-primary {
  border-bottom: 1px solid rgba(var(--overlay-rgb), .07);
  background: linear-gradient(135deg, rgba(var(--overlay-rgb), .055), rgba(var(--overlay-rgb), .018)),
    rgba(var(--bg-2-rgb), .74);
  width: 100%;
  min-height: 66px;
  box-shadow: 0 18px 42px rgba(var(--shadow-rgb), .18);
  grid-template-columns: auto minmax(0, 1fr) minmax(0, auto);
  align-items: center;
  gap: clamp(16px, 3vw, 28px);
  padding: 10px clamp(14px, 3.4vw, 34px);
  display: grid;
}

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

.brand-lede {
  white-space: nowrap;
}

.brand-mark {
  vertical-align: baseline;
  color: inherit;
  width: .915em;
  height: .72em;
  width: 1.271cap;
  height: 1cap;
  display: inline-block;
}

.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-ui);
  margin: 0 4px;
  font-style: italic;
  font-weight: 400;
}

.app-nav {
  border: 1px solid rgba(var(--overlay-rgb), .07);
  background: rgba(var(--bg-rgb), .48);
  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-ui);
  letter-spacing: .01em;
  border: 1px solid #0000;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  padding: 0 13px;
  font-size: 13.5px;
  font-weight: 550;
  transition: background .16s, border-color .16s, color .16s, transform .16s;
  display: inline-flex;
}

.nav-link:hover {
  color: var(--accent);
  background: rgba(var(--accent-rgb), .08);
}

.nav-link.active {
  border-color: rgba(var(--accent-rgb), .36);
  background: linear-gradient(180deg, rgba(var(--accent-rgb), .2), rgba(var(--accent-rgb), .1)),
    rgba(var(--accent-rgb), .08);
  color: var(--ink);
  box-shadow: inset 0 -2px 0 var(--accent);
}

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

.header-icon-button {
  border: 1px solid var(--line-bright);
  background: rgba(var(--overlay-rgb), .03);
  width: 40px;
  min-width: 40px;
  height: 40px;
  color: var(--ink);
  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-discord-button .discord-icon, .mobile-discord-link .discord-icon, .button-discord-icon {
  fill: currentColor;
  stroke: none;
}

.header-discord-button {
  color: #8d96ff;
}

.header-icon-button:hover {
  border-color: rgba(var(--accent-rgb), .55);
  color: var(--accent);
  background: rgba(var(--accent-rgb), .08);
}

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

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

.header-quota {
  border: 1px solid rgba(var(--good-rgb), .26);
  background: linear-gradient(180deg, rgba(var(--good-rgb), .1), rgba(var(--good-rgb), .035)),
    rgba(var(--bg-2-rgb), .7);
  width: fit-content;
  min-width: 0;
  max-width: 100%;
  color: var(--ink-dim);
  font-family: var(--font-ui);
  letter-spacing: .02em;
  border-radius: 7px;
  gap: 2px;
  padding: 8px 11px;
  font-size: 10px;
  font-weight: 550;
  line-height: 1;
  display: grid;
}

.header-quota span, .header-quota strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

.header-quota strong {
  color: var(--good);
  font-family: var(--font-display);
  letter-spacing: 0;
  text-transform: none;
  font-size: clamp(14px, 3.6vw, 18px);
  font-weight: 500;
}

.header-quota-flip {
  perspective: 600px;
  min-width: 0;
  max-width: 100%;
}

.header-quota-flip-inner {
  transform-style: preserve-3d;
  transition: transform .42s cubic-bezier(.32, .72, .33, 1);
  position: relative;
}

.header-quota-flip[data-flipped] .header-quota-flip-inner {
  transform: rotateY(180deg);
}

.header-quota-face {
  backface-visibility: hidden;
  cursor: pointer;
}

.header-quota-front {
  text-align: left;
  position: relative;
}

.header-quota-back {
  justify-content: space-between;
  align-items: center;
  gap: 6px;
  padding: 0 6px 0 10px;
  display: flex;
  position: absolute;
  inset: 0;
  transform: rotateY(180deg);
}

.header-quota-admin-link {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  color: var(--good);
  font-family: var(--font-display);
  letter-spacing: 0;
  text-transform: none;
  flex: auto;
  font-size: clamp(15px, 3.6vw, 18px);
  text-decoration: none;
  overflow: hidden;
}

.header-quota-flip-back {
  border: 1px solid rgba(var(--good-rgb), .26);
  background: rgba(var(--bg-2-rgb), .6);
  width: 22px;
  height: 22px;
  color: var(--ink-dim);
  cursor: pointer;
  border-radius: 6px;
  flex: none;
  justify-content: center;
  align-items: center;
  font-size: 13px;
  line-height: 1;
  display: inline-flex;
}

.header-quota-flip-back:hover {
  color: var(--good);
}

@media (prefers-reduced-motion: reduce) {
  .header-quota-flip-inner {
    transition: none;
  }
}

@media (max-width: 1180px) {
  .header-profile-button {
    width: 40px;
    max-width: 40px;
    padding: 0;
  }

  .header-profile-button span {
    display: none;
  }
}

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

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

.mobile-menu-toggle:hover, .mobile-menu.is-open .mobile-menu-toggle {
  border-color: rgba(var(--accent-rgb), .55);
  color: var(--accent);
  background: rgba(var(--accent-rgb), .08);
}

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

.mobile-menu-panel {
  border: 1px solid rgba(var(--overlay-rgb), .08);
  background: linear-gradient(180deg, rgba(var(--bg-3-rgb), .98), rgba(var(--bg-rgb), .98)),
    var(--bg-2);
  width: min(360px, 100vw - 20px);
  box-shadow: 0 26px 70px rgba(var(--shadow-rgb), .48);
  border-radius: 8px;
  padding: 10px;
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
}

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

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

.mobile-menu-link.active {
  border-color: rgba(var(--accent-rgb), .38);
  background: rgba(var(--accent-rgb), .12);
  color: var(--ink);
}

.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 rgba(var(--overlay-rgb), .07);
  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;
}

.mobile-discord-link {
  color: #aab0ff;
}

.button-discord-icon {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
}

.button {
  min-height: 40px;
  font-family: var(--font-ui);
  letter-spacing: .01em;
  border: 1px solid #0000;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 11px 17px;
  font-size: 13px;
  font-weight: 600;
  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:disabled {
  cursor: not-allowed;
  opacity: .55;
  box-shadow: none;
  transform: none;
}

.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 {
  border-color: rgba(var(--good-rgb), .35);
  color: var(--good);
}

.status-chip-warn {
  border-color: rgba(var(--warn-rgb), .35);
  color: var(--warn);
}

.status-chip-bad {
  border-color: rgba(var(--bad-rgb), .35);
  color: var(--bad);
}

.home-page {
  font-family: var(--font-ui);
}

.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-subhead {
  max-width: 620px;
  margin: 0 0 18px;
  font-size: clamp(19px, 2.4vw, 26px);
  font-weight: 600;
  line-height: 1.25;
}

.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;
}

.home-page .flight-leg-card {
  border: 1px solid var(--line-bright);
  background: linear-gradient(135deg, rgba(var(--overlay-rgb), .035), transparent 48%),
    rgba(var(--bg-2-rgb), .9);
  border-radius: 10px;
  padding: 16px 0;
}

.home-page .flight-leg-card.is-one-way-preview {
  padding-top: 0;
}

.home-page .flight-leg-fare {
  margin: 0;
  padding: 0 20px;
}

.hero-card {
  gap: 12px;
  width: min(100%, 460px);
  margin-left: auto;
  display: grid;
}

.hero-card > .flight-leg-card {
  box-shadow: var(--shadow);
}

.hero-card-extra {
  opacity: .72;
  transform-origin: top;
  transition: opacity .25s, transform .25s, -webkit-mask-image .25s, mask-image .25s;
  transform: scale(.96);
  -webkit-mask-image: linear-gradient(#000 55%, #0000 125%);
  mask-image: linear-gradient(#000 55%, #0000 125%);
}

.hero-card-extra:hover, .hero-card-extra:focus-within {
  opacity: 1;
  transform: none;
  -webkit-mask-image: none;
  mask-image: none;
}

.homepage-mockv2 .mockv2-hero {
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  align-items: center;
  gap: clamp(32px, 7vw, 88px);
  min-height: calc(100vh - 120px);
  padding-block: clamp(42px, 6vw, 76px);
  display: grid;
}

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

.mockv2-hero-copy h2 {
  max-width: 680px;
  font-family: var(--font-ui);
  margin: 0 0 18px;
  font-size: clamp(20px, 2.4vw, 28px);
  font-weight: 700;
  line-height: 1.22;
}

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

.mockv2-thesis {
  border-block: 1px solid var(--line);
  background: linear-gradient(90deg, rgba(var(--accent-rgb), .08), transparent 52%),
    var(--bg-2);
}

.mockv2-thesis-inner {
  background: var(--line);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  padding-block: 1px;
  display: grid;
}

.mockv2-proof {
  background: var(--bg);
  min-height: 180px;
  padding: clamp(26px, 4vw, 42px);
}

.mockv2-proof span {
  color: var(--accent);
  font-family: var(--font-mono);
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 800;
}

.mockv2-proof p {
  max-width: 520px;
  color: var(--ink);
  margin: 18px 0 0;
  font-size: clamp(20px, 2vw, 27px);
  font-weight: 650;
  line-height: 1.28;
}

.mockv2-problem {
  border-bottom: 1px solid var(--line);
  background: radial-gradient(720px 360px at 12% 20%, rgba(var(--accent-2-rgb), .07), transparent),
    var(--bg);
  padding: 76px 0;
}

.mockv2-problem-inner {
  grid-template-columns: minmax(0, .85fr) minmax(320px, 1.15fr);
  align-items: start;
  gap: clamp(30px, 6vw, 76px);
  display: grid;
}

.mockv2-problem h2, .mockv2-value h2, .mockv2-features 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;
}

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

.mockv2-pain-list p {
  background: rgba(var(--bg-2-rgb), .84);
  color: var(--ink-dim);
  margin: 0;
  padding: 20px 22px;
  font-size: 16px;
  line-height: 1.55;
}

.mockv2-pain-list p:before {
  content: "";
  background: var(--accent);
  vertical-align: .08em;
  border-radius: 50%;
  width: 7px;
  height: 7px;
  margin-right: 12px;
  display: inline-block;
}

.mockv2-value {
  padding: 76px 0;
}

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

.mockv2-value-card {
  background: linear-gradient(145deg, #27d0b10d, transparent 54%),
    var(--bg);
  min-height: 280px;
  padding: 28px 24px;
}

.mockv2-value-card > span {
  border: 1px solid var(--line-bright);
  width: 44px;
  height: 44px;
  color: var(--accent-2);
  border-radius: 8px;
  place-items: center;
  display: grid;
}

.mockv2-value-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: 26px 0 12px;
}

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

.mockv2-features {
  border-bottom: 1px solid var(--line);
  background: var(--bg-2);
  padding: 72px 0;
}

.mockv2-features-inner {
  grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr);
  align-items: start;
  gap: clamp(30px, 6vw, 72px);
  display: grid;
}

.mockv2-features ul {
  border: 1px solid var(--line);
  background: var(--line);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.mockv2-features li {
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 18px 20px;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.35;
}

@media (max-width: 1080px) {
  .homepage-mockv2 .mockv2-hero, .mockv2-problem-inner, .mockv2-features-inner {
    grid-template-columns: 1fr;
  }

  .homepage-mockv2 .hero-card {
    width: min(100%, 560px);
    margin-left: 0;
  }

  .mockv2-value-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .homepage-mockv2 .mockv2-hero {
    min-height: auto;
    padding-block: 42px 46px;
  }

  .mockv2-hero-copy h1 {
    font-size: clamp(48px, 14vw, 68px);
  }

  .mockv2-thesis-inner, .mockv2-value-grid, .mockv2-features ul {
    grid-template-columns: 1fr;
  }

  .mockv2-proof {
    min-height: 0;
  }

  .mockv2-proof p {
    font-size: 20px;
  }

  .mockv2-value-card {
    min-height: 0;
  }

  .mockv2-problem, .mockv2-value, .mockv2-features {
    padding: 54px 0;
  }
}

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

.utility-rows {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  display: grid;
}

.utility-row {
  border: 1px solid var(--line);
  background: var(--bg);
  border-radius: 4px;
  align-items: flex-start;
  gap: 14px;
  padding: 20px 22px;
  display: flex;
}

.utility-row-icon {
  border: 1px solid var(--line-bright);
  width: 40px;
  height: 40px;
  color: var(--accent);
  border-radius: 8px;
  flex-shrink: 0;
  place-items: center;
  display: grid;
}

.utility-row-text h3 {
  font-family: var(--font-ui);
  letter-spacing: -.01em;
  margin: 0 0 4px;
  font-size: 16px;
  font-weight: 600;
}

.utility-row-text p {
  color: var(--ink-dim);
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
}

.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;
}

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

.cta-band {
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  padding-block: 84px 96px;
  display: flex;
}

.home-page .cta-band {
  width: calc(100% - 2 * var(--page-pad));
  max-width: calc(var(--page-max) - 2 * var(--page-pad));
  border: 1px solid var(--line-bright);
  background: radial-gradient(70% 130% at 50% 0%, rgba(var(--accent-rgb), .1), transparent 62%),
    var(--bg-2);
  border-radius: 14px;
  margin-block: 48px 84px;
  margin-inline: auto;
  padding: clamp(48px, 7vw, 84px) clamp(24px, 5vw, 64px);
}

.home-page .cta-band .button {
  min-height: 46px;
  padding: 13px 22px;
  font-size: 14px;
}

.cta-band h2 {
  max-width: 18ch;
  margin: 0;
}

.cta-band p {
  max-width: 560px;
  margin: 0;
  font-size: 17px;
}

.cta-band .hero-actions {
  justify-content: center;
  margin-top: 6px;
}

.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-band-copy 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(3, 1fr);
  gap: 1px;
  display: grid;
}

.mode-banner {
  background: linear-gradient(90deg, rgba(var(--accent-2-rgb), .06), transparent 60%),
    var(--bg);
  border-left: 2px solid var(--accent-2);
  grid-column: 1 / -1;
  align-items: baseline;
  gap: 18px;
  padding: 18px 24px;
  display: flex;
}

.mode-banner strong {
  color: var(--accent-2);
  font-family: var(--font-mono);
  letter-spacing: .02em;
  text-transform: uppercase;
  flex-shrink: 0;
  font-size: 12px;
  font-style: italic;
  font-weight: 900;
}

.mode-banner p {
  color: var(--ink-dim);
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
}

.mode-card {
  background: var(--bg);
  min-height: 180px;
  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 rgba(var(--accent-rgb), .15);
  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);
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
}

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

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

.learn-band {
  border-top: 1px solid var(--line);
  padding: 56px 0;
}

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

.learn-card {
  background: var(--bg);
  padding: 26px 24px;
  transition: transform .25s, box-shadow .25s;
}

.learn-card:hover {
  box-shadow: 0 0 0 1px var(--accent),
    0 12px 40px rgba(var(--accent-rgb), .15);
  z-index: 1;
  transform: translateY(-4px);
}

.learn-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: 0 0 10px;
}

.learn-card h3 a {
  color: var(--ink);
  text-decoration: none;
}

.learn-card h3 a:hover {
  color: var(--accent);
}

.learn-card p {
  color: var(--ink-dim);
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
}

.learn-footnote {
  font-family: var(--font-ui);
  color: var(--ink-dim);
  margin: 22px 0 0;
  font-style: italic;
}

.learn-footnote a {
  color: var(--accent-2);
}

@media (max-width: 720px) {
  .learn-grid {
    grid-template-columns: 1fr;
  }
}

.fare-band {
  background: radial-gradient(640px 320px at 80% 42%, rgba(var(--accent-rgb), .06), transparent);
  padding: 70px 0;
}

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

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

.alert-band {
  border-block: 1px solid var(--line);
  background: radial-gradient(640px 320px at 80% 30%, rgba(var(--good-rgb), .07), 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-showcase {
  width: min(100%, 440px);
  margin-left: auto;
}

.community-band {
  border-bottom: 1px solid var(--line);
  background: linear-gradient(135deg, #27d0b114, transparent 42%),
    var(--bg);
  padding: 72px 0;
}

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

.community-copy 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;
}

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

.community-stack {
  gap: 12px;
  display: grid;
}

.community-row {
  border: 1px solid var(--line);
  background: rgba(var(--bg-2-rgb), .78);
  border-radius: 8px;
  align-items: flex-start;
  gap: 14px;
  padding: 18px 20px;
  display: flex;
}

.community-row-icon, .discord-community-icon {
  width: 40px;
  height: 40px;
  color: var(--accent-2);
  background: #27d0b114;
  border: 1px solid #27d0b142;
  border-radius: 8px;
  flex-shrink: 0;
  place-items: center;
  display: grid;
}

.community-row h3, .discord-community-card h3 {
  font-family: var(--font-ui);
  margin: 0 0 5px;
  font-size: 15px;
  font-weight: 650;
}

.community-row p, .discord-community-card p {
  color: var(--ink-dim);
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
}

.community-status, .discord-note {
  color: var(--accent-2);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
  display: flex;
}

.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: 15px;
  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);
}

.versus-mark {
  vertical-align: -2px;
  flex-shrink: 0;
  margin-right: 6px;
  display: inline-block;
}

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

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

.teaser-band {
  width: calc(100% - 2 * var(--page-pad));
  max-width: calc(var(--page-max) - 2 * var(--page-pad));
  border: 1px solid var(--line-bright);
  background: linear-gradient(180deg, rgba(var(--accent-2-rgb), .045), transparent 62%),
    var(--bg-2);
  text-align: center;
  margin-block: 26px 10px;
  margin-inline: auto;
  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 {
  border: 1px solid rgba(var(--accent-2-rgb), .5);
  color: var(--accent-2);
  font-family: var(--font-mono);
  letter-spacing: .14em;
  text-transform: uppercase;
  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;
}

@keyframes hero-rise {
  from {
    opacity: 0;
    transform: translateY(16px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.hero-line {
  display: block;
}

.hero-word {
  animation: .6s both hero-rise;
  display: inline-block;
}

.hero .eyebrow {
  animation: .55s 40ms both hero-rise;
}

.hero-copy > p:not(.eyebrow) {
  animation: .6s .5s both hero-rise;
}

.hero .hero-actions {
  animation: .6s .62s both hero-rise;
}

.hero-card {
  animation: .7s .46s both hero-rise;
}

.reveal .mode-card, .reveal .utility-row, .reveal .versus-row:not(.versus-head) {
  opacity: 0;
  transition: opacity .5s, transform .5s, box-shadow .25s;
  transform: translateY(16px);
}

.reveal.is-visible .mode-card, .reveal.is-visible .utility-row, .reveal.is-visible .versus-row:not(.versus-head) {
  opacity: 1;
  transform: none;
}

.reveal.is-visible .mode-card:first-child, .reveal.is-visible .utility-row:first-child, .reveal.is-visible .versus-row:nth-child(2) {
  transition-delay: 60ms;
}

.reveal.is-visible .mode-card:nth-child(2), .reveal.is-visible .utility-row:nth-child(2), .reveal.is-visible .versus-row:nth-child(3) {
  transition-delay: .13s;
}

.reveal.is-visible .mode-card:nth-child(3), .reveal.is-visible .utility-row:nth-child(3), .reveal.is-visible .versus-row:nth-child(4) {
  transition-delay: .2s;
}

.reveal.is-visible .mode-card:nth-child(4), .reveal.is-visible .versus-row:nth-child(5) {
  transition-delay: .27s;
}

.reveal.is-visible .versus-row:nth-child(6) {
  transition-delay: .34s;
}

.reveal.is-visible .versus-row:nth-child(7) {
  transition-delay: .41s;
}

.plans-header {
  padding-block: clamp(34px, 4.6vw, 54px) 0;
}

.plans-header h1 {
  max-width: 980px;
  font-family: var(--font-display);
  font-size: clamp(54px, 7vw, 108px);
  font-weight: 900;
  line-height: var(--lh-display);
  text-transform: uppercase;
  margin: 10px 0 12px;
}

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

.billing-term-toggle {
  border: 1px solid var(--line-bright);
  background: var(--bg-2);
  grid-template-columns: repeat(3, minmax(92px, 1fr));
  gap: 4px;
  margin-top: 18px;
  padding: 4px;
  display: inline-grid;
}

.billing-term-toggle button {
  min-height: 40px;
  color: var(--ink-dim);
  cursor: pointer;
  font-family: var(--font-mono);
  text-transform: uppercase;
  background: none;
  border: 0;
  font-size: 12px;
  font-weight: 800;
}

.billing-term-toggle button[aria-pressed="true"] {
  background: var(--accent);
  color: var(--bg);
}

.pricing-plans {
  max-width: min(1480px, 100%);
}

.plan-grid {
  grid-template-columns: repeat(4, 1fr);
  align-items: stretch;
  gap: clamp(14px, 1.4vw, 18px);
  padding-block: 22px 18px;
  display: grid;
}

.plan-card {
  border: 1px solid var(--line-bright);
  background: var(--bg-2);
  grid-template-rows: minmax(48px, auto) minmax(104px, auto) minmax(220px, 1fr) auto;
  gap: 0;
  min-height: clamp(520px, 44vw, 590px);
  padding: clamp(22px, 1.7vw, 28px) clamp(20px, 1.8vw, 30px);
  display: grid;
  position: relative;
  overflow: visible;
}

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

.plan-card.gowild {
  border-color: rgba(var(--accent-2-rgb), .65);
  box-shadow: 0 0 0 1px rgba(var(--accent-2-rgb), .65), 0 18px 60px rgba(var(--accent-2-rgb), .1);
}

.plan-card.is-flipped {
  grid-template-rows: minmax(48px, auto) 1fr;
  transform: rotateY(180deg);
}

.plan-card.is-flipped > * {
  transform: rotateY(180deg);
}

.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: clamp(30px, 2.4vw, 42px);
  font-weight: 900;
  line-height: .95;
}

.plan-card-head {
  align-items: flex-start;
  display: flex;
}

.plan-price-block {
  align-content: start;
  gap: 6px;
  padding-top: 8px;
  padding-bottom: 12px;
  display: grid;
}

.plan-price {
  font-family: var(--font-mono);
  letter-spacing: 0;
  color: var(--accent-2);
  margin: 0 0 6px;
  font-size: clamp(17px, 1.5vw, 24px);
  font-weight: 700;
  line-height: 1.1;
}

.plan-billing-subline {
  min-height: 28px;
  color: var(--ink-faint);
  margin: 0;
  font-size: 13px;
  line-height: 1.35;
}

.plan-savings, .plan-savings-spacer {
  min-height: 28px;
}

.plan-savings {
  color: var(--good);
  font-family: var(--font-mono);
  text-transform: uppercase;
  background: #59e38f14;
  border: 1px solid #59e38f57;
  justify-self: start;
  align-items: center;
  padding: 5px 9px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  display: inline-flex;
}

.plan-savings-spacer {
  display: block;
}

.plan-features {
  align-content: start;
  gap: clamp(10px, .9vw, 14px);
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.plan-features li {
  color: var(--ink-dim);
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 9px;
  font-size: 14px;
  line-height: 1.45;
  display: grid;
  position: relative;
}

.plan-features li:before {
  content: "✓";
  color: var(--good);
  font-family: var(--font-mono);
  padding-top: 2px;
  font-size: 12px;
  position: static;
}

.plan-feature-text {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.plan-feature-text strong {
  color: var(--ink);
  font-family: var(--font-mono);
  font-size: clamp(13px, 1.05vw, 15px);
  font-weight: 800;
  line-height: 1.25;
}

.plan-feature-text span {
  color: var(--ink-faint);
  font-size: 12px;
  line-height: 1.35;
}

.plan-action-area {
  align-self: end;
  gap: 10px;
  padding-top: clamp(14px, 1.5vw, 20px);
  display: grid;
}

.plan-action-area .button {
  justify-content: center;
  width: 100%;
  min-height: 52px;
}

.plan-term-panel {
  grid-row: 2 / -1;
  grid-template-rows: auto 1fr auto;
  gap: 14px;
  min-height: 0;
  padding-top: 10px;
  display: grid;
}

.plan-term-kicker {
  color: var(--ink-faint);
  font-family: var(--font-mono);
  text-transform: uppercase;
  margin: 0;
  font-size: 12px;
  font-weight: 800;
}

.plan-term-list {
  align-content: start;
  gap: 10px;
  display: grid;
}

.plan-term-option {
  border: 1px solid var(--line-bright);
  background: rgba(var(--overlay-rgb), .03);
  width: 100%;
  min-height: 92px;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 12px;
  padding: 14px;
  display: grid;
}

.plan-term-option:disabled {
  cursor: wait;
  opacity: .76;
}

.plan-term-option:not(:disabled):hover {
  border-color: var(--accent);
  background: rgba(var(--accent-rgb), .08);
}

.plan-term-option.is-unavailable {
  cursor: default;
  opacity: .58;
}

.plan-term-label, .plan-term-price {
  font-family: var(--font-mono);
  font-weight: 800;
}

.plan-term-label {
  text-transform: uppercase;
  font-size: 13px;
}

.plan-term-price {
  color: var(--accent-2);
  font-size: 15px;
}

.plan-term-subline {
  color: var(--ink-faint);
  grid-column: 1 / -1;
  font-size: 12px;
  line-height: 1.35;
}

.plan-term-option .plan-savings {
  grid-column: 1 / -1;
  margin-top: 2px;
}

.plan-back-button {
  border: 1px solid var(--line-bright);
  min-height: 42px;
  color: var(--ink-dim);
  cursor: pointer;
  font-family: var(--font-mono);
  text-transform: uppercase;
  background: none;
  font-size: 12px;
  font-weight: 800;
}

.plan-back-button:hover {
  border-color: var(--ink-dim);
  color: var(--ink);
}

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

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

.plan-note-spacer {
  min-height: 17px;
  display: block;
}

.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;
}

.plans-error {
  color: var(--bad);
  margin: 8px 0 0;
  font-size: 13px;
}

.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);
  line-height: 1.55;
  font-family: var(--font-ui);
  margin: 12px 0 0;
}

@media (prefers-reduced-motion: no-preference) {
  .fare-ticker-track {
    animation: 36s linear infinite ticker-scroll;
  }
}

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

  .coming-soon-chip {
    animation: none;
  }

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

  .hero-card-extra {
    transition: none;
  }

  .hero-word, .hero .eyebrow, .hero-copy > p:not(.eyebrow), .hero .hero-actions, .hero-card {
    animation: none;
  }

  .reveal .mode-card, .reveal .utility-row, .reveal .versus-row:not(.versus-head) {
    opacity: 1;
    transition: none;
    transform: none;
  }
}

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

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

@keyframes chip-shimmer {
  0%, 100% {
    border-color: rgba(var(--accent-2-rgb), .5);
    color: var(--accent-2);
  }

  50% {
    border-color: rgba(var(--accent-2-rgb), .95);
    color: #ffe88a;
  }
}

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

@media (max-width: 760px) {
  .hero {
    grid-template-columns: 1fr;
    gap: 32px;
    min-height: auto;
    padding-block: 28px 36px;
  }

  .hero-copy h1 {
    margin-bottom: 18px;
    font-size: clamp(40px, 13vw, 56px);
  }

  .hero-card {
    margin: 0 auto;
  }

  .hero-card-extra {
    display: none;
  }

  .mode-grid, .plan-grid, .utility-rows {
    grid-template-columns: 1fr;
  }

  .mode-banner {
    flex-direction: column;
    gap: 6px;
  }

  .plan-card {
    grid-template-rows: auto auto auto auto;
    min-height: auto;
    padding: 26px 22px;
  }

  .plan-card.has-flag {
    padding-top: 58px;
  }

  .plan-flag {
    top: 16px;
    right: 16px;
    transform: none;
  }

  .plan-card-head, .plan-price-block, .plan-features, .plan-action-area, .plan-billing-subline {
    min-height: 0;
  }

  .plan-features {
    gap: 14px;
    padding-top: 8px;
  }

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

  .alert-showcase {
    width: 100%;
    margin-inline: 0;
  }

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

  .versus-head {
    display: none;
  }

  .versus-them {
    text-decoration: line-through;
    -webkit-text-decoration-color: rgba(var(--bad-rgb), .5);
    text-decoration-color: rgba(var(--bad-rgb), .5);
  }
}

.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%, rgba(var(--accent-rgb), .12)),
    repeating-linear-gradient(45deg, transparent 0 76px, rgba(var(--overlay-rgb), .035) 77px),
    var(--bg-2);
  flex-direction: column;
  justify-content: center;
  min-height: 620px;
  padding: clamp(32px, 6vw, 70px);
  display: flex;
}

.auth-flightpath {
  border-bottom: 2px dashed var(--line-bright);
  max-width: 460px;
  height: 24px;
  margin-block: 10px 26px;
  position: relative;
}

.auth-plane {
  color: var(--accent);
  animation: 12s linear infinite auth-fly;
  position: absolute;
  bottom: -11px;
  left: 0;
  transform: rotate(45deg);
}

@keyframes auth-fly {
  0% {
    transform: translateX(-26px)rotate(45deg);
  }

  100% {
    transform: translateX(min(460px, 82vw))rotate(45deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .auth-plane {
    animation: none;
    left: auto;
    right: 0;
  }
}

.auth-pass {
  border: 1px solid var(--line);
  background: var(--bg);
  border-radius: 10px;
  width: min(100%, 460px);
  overflow: hidden;
}

.auth-pass-head {
  background: var(--bg-3);
  border-bottom: 1px dashed var(--line-bright);
  font-family: var(--font-mono);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ink-dim);
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 10px 16px;
  font-size: 10px;
  display: flex;
}

.auth-pass-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px 20px;
  margin: 0;
  padding: 16px;
  display: grid;
}

.auth-pass-grid dt {
  color: var(--ink-faint);
  font-family: var(--font-mono);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 10px;
}

.auth-pass-grid dd {
  color: var(--ink);
  font-family: var(--font-ui);
  margin: 4px 0 0;
  font-size: 15px;
  font-weight: 600;
}

.auth-pass-good {
  color: var(--good);
}

.auth-perks {
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
  display: none;
}

.auth-perks li {
  border: 1px solid var(--line-bright);
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
  background: #ffffff08;
  padding: 6px 10px;
  font-size: 10px;
}

.auth-art.signup {
  background: linear-gradient(135deg, transparent 42%, rgba(var(--good-rgb), .11)),
    repeating-linear-gradient(-45deg, transparent 0 76px, rgba(var(--overlay-rgb), .035) 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(24px, 4vw, 44px);
}

.auth-card h2 {
  font-size: var(--fs-display-3);
  margin-top: 0;
  margin-bottom: 10px;
}

.auth-card p {
  font-family: var(--font-ui);
  margin: 0;
  font-size: 14px;
}

.auth-form {
  gap: 14px;
  margin-top: 22px;
  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 {
  border: 1px solid rgba(var(--good-rgb), .35);
  background: rgba(var(--good-rgb), .08);
  color: var(--good);
  font-family: var(--font-mono);
  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, .auth-terms-note a {
  color: var(--accent);
}

.auth-terms-note {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  text-align: center;
  margin: 0;
  font-size: 11px;
  line-height: 1.45;
}

.auth-oauth {
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  display: grid;
}

.auth-oauth-gis-wrap {
  position: relative;
}

.auth-oauth-google {
  display: none;
}

.auth-oauth-google[data-visible="true"] {
  opacity: .001;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.auth-oauth-gis-wrap:hover .auth-oauth-button {
  border-color: var(--accent);
  color: var(--accent);
}

.auth-oauth-button {
  background: var(--bg-2);
  width: 100%;
  min-height: 44px;
  font-size: 14px;
}

.auth-oauth-icon {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

.auth-discord-icon {
  fill: #8d96ff;
}

.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%, rgba(var(--good-rgb), .1)),
    repeating-linear-gradient(-45deg, transparent 0 76px, rgba(var(--overlay-rgb), .03) 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(180deg, rgba(var(--overlay-rgb), .035), transparent),
    rgba(var(--bg-rgb), .82);
  width: min(100%, 560px);
  box-shadow: 0 24px 70px rgba(var(--shadow-rgb), .26);
  padding: clamp(24px, 5vw, 38px);
}

.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-hint {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
}

.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: rgba(var(--bg-2-rgb), .82);
  padding: 18px clamp(12px, 1.3vw, 14px);
}

.quota-card, .recent-panel, .results-table, .results-state {
  border: 1px solid var(--line);
  background: linear-gradient(135deg, rgba(var(--accent-rgb), .08), transparent 42%),
    rgba(var(--bg-2-rgb), .86);
  border-radius: 8px;
}

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

.recent-panel {
  padding-inline: 0;
  margin-top: 14px;
  padding-bottom: 14px;
}

.panel-label {
  color: var(--ink-dim);
  font-family: var(--font-ui);
  letter-spacing: .02em;
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
}

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

.quota-meter {
  gap: 14px;
  margin-top: 18px;
  display: grid;
}

.quota-line {
  font-family: var(--font-display);
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: nowrap;
  align-items: baseline;
  gap: 8px;
  font-weight: 900;
  line-height: .86;
  display: flex;
}

.quota-line strong {
  font-size: 68px;
  line-height: inherit;
}

.quota-line > span {
  color: var(--ink-dim);
  font-size: 28px;
}

.quota-copy {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.quota-copy strong {
  color: var(--ink);
  font-family: var(--font-ui);
  letter-spacing: .02em;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
}

.quota-copy span {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  white-space: nowrap;
  font-size: 10px;
}

.quota-bar {
  border: 1px solid rgba(var(--accent-rgb), .22);
  background: #050708;
  border-radius: 999px;
  height: 10px;
  overflow: hidden;
}

.quota-bar span {
  background: linear-gradient(90deg, var(--accent), var(--accent-hover));
  height: 100%;
  box-shadow: 0 0 28px rgba(var(--accent-rgb), .36);
  display: block;
}

.quota-foot {
  border-top: 1px solid rgba(var(--overlay-rgb), .08);
  color: var(--ink-dim);
  font-family: var(--font-mono);
  justify-content: space-between;
  gap: 12px;
  padding-top: 12px;
  font-size: 9px;
  display: flex;
}

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

.recent-panel-head {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 0 14px 12px;
  display: flex;
}

.recent-view-all {
  color: var(--accent);
  font-family: var(--font-ui);
  letter-spacing: .01em;
  white-space: nowrap;
  font-size: 11.5px;
  font-weight: 600;
  text-decoration: none;
}

.recent-item {
  border-top: 1px solid rgba(var(--overlay-rgb), .08);
  min-height: 112px;
  color: inherit;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  padding: 15px 14px;
  text-decoration: none;
  transition: background .16s, border-color .16s, box-shadow .16s;
  display: grid;
  position: relative;
}

.recent-item:first-of-type {
  border-top-color: rgba(var(--accent-rgb), .28);
}

.recent-item:hover, .recent-item:focus-visible {
  border-color: rgba(var(--accent-rgb), .3);
  background: linear-gradient(90deg, rgba(var(--accent-rgb), .12), transparent 48%),
    #171e23b8;
  box-shadow: inset 0 0 0 1px rgba(var(--accent-rgb), .08);
}

.recent-item:first-of-type:before {
  content: "";
  background: var(--accent);
  border-radius: 0 999px 999px 0;
  width: 3px;
  position: absolute;
  inset: 16px auto 16px 0;
}

.recent-route {
  align-content: space-between;
  gap: 10px;
  min-width: 0;
  display: grid;
}

.recent-row-top {
  align-items: center;
  gap: 7px;
  min-width: 0;
  display: flex;
}

.recent-type-pill {
  border: 1px solid rgba(var(--warn-rgb), .36);
  color: var(--accent);
  font-family: var(--font-ui);
  letter-spacing: .02em;
  white-space: nowrap;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
}

.recent-type-pill.blue {
  color: #9cc9ff;
  border-color: #61a1e259;
}

.recent-row-top time {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 9px;
  overflow: hidden;
}

.recent-route strong {
  font-family: var(--font-display-2);
  letter-spacing: 0;
  font-size: 22px;
  font-weight: 800;
  line-height: 1;
}

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

.recent-metric {
  text-align: right;
  align-content: space-between;
  justify-items: end;
  min-width: 58px;
  display: grid;
}

.recent-fare {
  color: var(--good);
  font-family: var(--font-display);
  white-space: nowrap;
  font-size: 24px;
  font-weight: 900;
  line-height: .92;
}

.recent-fare.muted {
  color: var(--ink-dim);
  font-size: 18px;
}

.recent-arrow {
  border: 1px solid rgba(var(--accent-rgb), .2);
  background: linear-gradient(135deg, rgba(var(--accent-rgb), .13), rgba(var(--overlay-rgb), .025));
  width: 28px;
  height: 28px;
  color: var(--ink-dim);
  border-radius: 999px;
  place-items: center;
  line-height: 0;
  transition: background .16s, border-color .16s, color .16s, transform .16s;
  display: inline-grid;
}

.recent-arrow svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.4px;
  width: 14px;
  height: 14px;
}

.recent-item:hover .recent-arrow, .recent-item:focus-visible .recent-arrow {
  border-color: rgba(var(--accent-rgb), .58);
  background: rgba(var(--accent-rgb), .16);
  color: var(--accent);
  transform: translateX(2px);
}

.recent-item.is-muted {
  opacity: .68;
}

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

.mode-tabs {
  border: 1px solid var(--line-bright);
  background: rgba(var(--bg-2-rgb), .92);
  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 {
  background: rgba(var(--overlay-rgb), .05);
  min-height: 32px;
  color: var(--ink-dim);
  font-family: var(--font-ui);
  letter-spacing: .01em;
  cursor: pointer;
  white-space: nowrap;
  border: 1px solid #0000;
  border-radius: 999px;
  padding: 7px 14px;
  font-size: 12.5px;
  font-weight: 600;
  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 {
  font-family: var(--font-ui);
  letter-spacing: 0;
  font-size: clamp(16px, 1.45vw, 19px);
  font-weight: 750;
}

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

.results-state h2 {
  font-family: var(--font-display);
  font-size: var(--fs-display-3);
  font-weight: 900;
  line-height: var(--lh-display);
  letter-spacing: .01em;
  text-transform: uppercase;
  margin: 10px 0;
}

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

.error-state {
  border: 1px solid rgba(var(--bad-rgb), .5);
  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);
  width: 100%;
  height: 7px;
  box-shadow: inset 0 0 0 1px rgba(var(--shadow-rgb), .35);
  border-radius: 999px;
  position: relative;
  overflow: hidden;
}

.search-progress-track:after {
  content: "";
  background: linear-gradient(90deg,
    transparent,
    rgba(var(--overlay-rgb), .18) 50%,
    transparent);
  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));
  height: 100%;
  box-shadow: 0 0 10px rgba(var(--accent-rgb), .65),
    0 0 22px rgba(var(--accent-rgb), .35);
  border-radius: 999px;
  transition: width .32s cubic-bezier(.22, 1, .36, 1);
  position: relative;
}

.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);
  width: 8px;
  height: 8px;
  box-shadow: 0 0 0 0 rgba(var(--accent-rgb), .6);
  border-radius: 999px;
  animation: 1.4s ease-out infinite progress-pulse;
}

@keyframes progress-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(var(--accent-rgb), .55);
  }

  70% {
    box-shadow: 0 0 0 7px rgba(var(--accent-rgb), 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(var(--accent-rgb), 0);
  }
}

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

.flight-card-skeleton .flight-route {
  padding-bottom: 16px;
}

.skeleton-line {
  background: linear-gradient(90deg,
    rgba(var(--overlay-rgb), .04) 0%,
    rgba(var(--overlay-rgb), .1) 50%,
    rgba(var(--overlay-rgb), .04) 100%);
  background-size: 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-track {
  opacity: .72;
}

.skeleton-path-plane {
  z-index: 1;
  background: var(--bg-2);
  border-radius: 999px;
  width: 30px;
  height: 12px;
  display: block;
  position: relative;
}

.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);
  font-family: var(--font-ui);
  margin: 0 0 5px;
  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, rgba(var(--overlay-rgb), .035), transparent 48%),
    rgba(var(--bg-2-rgb), .9);
  border-radius: 8px;
}

.details-button, .book-button {
  border: 1px solid var(--line-bright);
  background: rgba(var(--bg-rgb), .38);
  min-height: 38px;
  color: var(--ink-dim);
  font-family: var(--font-ui);
  letter-spacing: .01em;
  border-radius: 5px;
  padding: 9px 12px;
  font-size: 12.5px;
  font-weight: 600;
  transition: background .16s, border-color .16s, color .16s, transform .16s;
}

.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: rgba(var(--accent-rgb), .55);
  box-shadow: 0 18px 54px rgba(var(--shadow-rgb), .24);
  transform: translateY(-1px);
}

.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 {
  font-family: var(--font-display-2);
  letter-spacing: 0;
  align-self: start;
  margin-top: 28px;
  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: var(--font-display-2);
  font-size: 30px;
  font-weight: 850;
  line-height: 1;
}

.everywhere-destination-price-alt {
  font-family: var(--font-display-2);
  opacity: .55;
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
}

.everywhere-alt-fare-tag {
  font-family: var(--font-mono);
  letter-spacing: .06em;
  margin-inline-start: 3px;
  font-size: 9px;
  font-weight: 900;
}

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

.chat-best-pick {
  border: 1px solid rgba(var(--accent-rgb), .5);
  background: rgba(var(--accent-rgb), .05);
  border-radius: 12px;
  flex-direction: column;
  gap: 8px;
  margin: 6px 0 10px;
  padding: 10px;
  display: flex;
}

.chat-best-badge {
  border: 1px solid rgba(var(--accent-rgb), .5);
  background: rgba(var(--accent-rgb), .06);
  min-height: 31px;
  box-shadow: inset 0 0 0 1px rgba(var(--accent-rgb), .08);
  color: var(--accent);
  font-family: var(--font-mono);
  letter-spacing: .04em;
  text-transform: uppercase;
  border-radius: 6px;
  flex: none;
  justify-content: center;
  align-self: flex-start;
  align-items: center;
  gap: 7px;
  padding: 6px 10px;
  font-size: 10px;
  font-weight: 850;
  display: inline-flex;
}

.chat-best-badge.is-pending {
  border-color: rgba(var(--ink-rgb), .16);
  background: rgba(var(--ink-rgb), .04);
  min-width: 96px;
  box-shadow: none;
  color: var(--ink-dim);
  animation: 1.1s ease-in-out infinite weather-pending-pulse;
}

@media (prefers-reduced-motion: reduce) {
  .chat-best-badge.is-pending {
    animation: none;
  }
}

.everywhere-weather-badge {
  min-width: 96px;
  min-height: 34px;
  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 {
  border-color: rgba(var(--ink-rgb), .16);
  background: rgba(var(--ink-rgb), .04);
  min-width: 96px;
  box-shadow: none;
  color: var(--ink-dim);
}

.everywhere-weather-pending-dots {
  background: rgba(var(--ink-rgb), .22);
  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.is-streaming > .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);
  }
}

.results-body {
  animation: .22s cubic-bezier(.22, 1, .36, 1) both results-body-in;
}

@keyframes results-body-in {
  from {
    opacity: 0;
    transform: translateY(4px);
  }

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

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

.flight-card.is-expanded {
  border-color: rgba(var(--accent-rgb), .34);
  box-shadow: 0 18px 54px rgba(var(--shadow-rgb), .22);
}

.fare-detail strong, .segment-row strong {
  font-family: var(--font-display-2);
  letter-spacing: 0;
  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 {
  border: 1px solid rgba(var(--accent-rgb), .4);
  background: rgba(var(--accent-rgb), .1);
  color: var(--accent);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  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: var(--font-display-2);
  font-size: 30px;
  font-weight: 800;
  line-height: 1;
}

.flight-headline-fare span {
  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 {
  font-family: var(--font-display-2);
  white-space: nowrap;
  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 rgba(var(--overlay-rgb), .07);
  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: 0;
  padding-inline: 10px;
  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 {
  border-top: 1px solid rgba(var(--overlay-rgb), .07);
  background: rgba(var(--bg-rgb), .34);
  gap: 12px;
  padding: 16px 20px 18px;
  display: grid;
}

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

.fare-detail {
  border: 1px solid rgba(var(--overlay-rgb), .08);
  background: rgba(var(--overlay-rgb), .025);
  border-radius: 6px;
  gap: 6px;
  min-height: 78px;
  padding: 13px 14px;
  display: grid;
}

.fare-detail-gowild {
  border-color: rgba(var(--good-rgb), .38);
  background: rgba(var(--good-rgb), .055);
}

.fare-detail-discount-den {
  border-color: rgba(var(--den-rgb), .34);
}

.fare-detail-standard {
  border-color: rgba(var(--ink-rgb), .18);
}

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

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

.segment-breakdown {
  border: 1px solid rgba(var(--overlay-rgb), .08);
  background: rgba(var(--overlay-rgb), .018);
  border-radius: 6px;
  gap: 0;
  display: grid;
  overflow: hidden;
}

.segment-breakdown-head {
  border-bottom: 1px solid rgba(var(--overlay-rgb), .08);
  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 rgba(var(--overlay-rgb), .08);
}

.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 {
  border-bottom: 1px solid rgba(var(--warn-rgb), .18);
  background: rgba(var(--warn-rgb), .06);
  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-stack {
  gap: 28px;
  display: grid;
}

.history-section {
  gap: 12px;
  display: grid;
}

.history-section-title {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .16em;
  text-transform: uppercase;
  align-items: center;
  gap: 12px;
  margin: 0;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  display: flex;
}

.history-section-title:after {
  content: "";
  background: var(--line);
  flex: 1;
  height: 1px;
}

.history-card-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.history-card {
  border: 1px solid var(--line);
  background: linear-gradient(135deg, rgba(var(--accent-rgb), .08), transparent 34%),
    var(--bg-2);
  border-radius: 8px;
  grid-template-rows: auto 1fr auto;
  gap: 18px;
  min-height: 178px;
  padding: 18px;
  display: grid;
}

.history-card-top, .history-card-bottom {
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  display: flex;
}

.history-card-top time {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  white-space: nowrap;
  font-size: 11px;
}

.history-type-pill {
  border: 1px solid rgba(var(--warn-rgb), .36);
  color: var(--warn);
  font-family: var(--font-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
  white-space: nowrap;
  border-radius: 999px;
  padding: 5px 8px;
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
}

.history-card-route h3 {
  font-family: var(--font-display-2);
  letter-spacing: 0;
  text-transform: uppercase;
  margin: 0;
  font-size: clamp(28px, 4vw, 46px);
  font-weight: 850;
  line-height: .94;
}

.history-card-route p {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  margin: 9px 0 0;
  font-size: 12px;
}

.history-card-bottom {
  border-top: 1px solid var(--line);
  align-items: end;
  padding-top: 14px;
}

.history-card-metric {
  gap: 4px;
  display: grid;
}

.history-card-metric span {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
}

.history-card-metric strong {
  color: var(--good);
  font-family: var(--font-display-2);
  font-size: 34px;
  font-weight: 800;
  line-height: .9;
}

.history-card-metric small {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  font-size: 12px;
}

.history-search-again {
  color: var(--good);
  white-space: nowrap;
  background: #52e88b1a;
  border: 1px solid #52e88b5c;
  border-radius: 999px;
  padding: 10px 12px;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
}

.history-search-again:hover, .history-search-again:focus-visible {
  background: #52e88b2e;
  border-color: #52e88bb8;
}

.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);
}

.discord-hero-panel {
  border: 1px solid var(--line);
  background: linear-gradient(135deg, #27d0b11a, transparent 48%),
    var(--bg-2);
  border-radius: 8px;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 22px;
  padding: clamp(20px, 4vw, 30px);
  display: grid;
}

.discord-hero-mark {
  border: 1px solid rgba(var(--accent-rgb), .26);
  background: rgba(var(--accent-rgb), .08);
  border-radius: 24px;
  place-items: center;
  width: 92px;
  height: 92px;
  display: grid;
}

.discord-fgw-logo {
  border-radius: 16px;
  width: 70px;
  height: 70px;
  display: block;
}

.discord-hero-copy h2 {
  font-family: var(--font-display);
  letter-spacing: 0;
  font-size: clamp(34px, 7vw, 58px);
  font-weight: 900;
  line-height: var(--lh-display);
  text-transform: uppercase;
  margin: 12px 0 8px;
}

.discord-hero-copy p {
  max-width: 640px;
  color: var(--ink-dim);
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
}

.discord-error {
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--bad) !important;
  margin-top: 12px !important;
  font-size: 11px !important;
}

.discord-actions {
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
  display: flex;
}

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

.discord-community-card {
  border: 1px solid var(--line);
  background: rgba(var(--bg-2-rgb), .74);
  border-radius: 8px;
  align-items: flex-start;
  gap: 14px;
  padding: 18px;
  display: flex;
}

.discord-note {
  color: var(--ink-dim);
  text-transform: none;
  letter-spacing: 0;
  background: #27d0b112;
  border: 1px solid #27d0b138;
  border-radius: 8px;
  margin-top: 18px;
  padding: 14px 16px;
}

.discord-note p {
  margin: 0;
}

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

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

.settings-avatar {
  background: rgba(var(--accent-rgb), .16);
  width: 46px;
  height: 46px;
  color: var(--accent-hover);
  border-radius: 50%;
  flex: none;
  justify-content: center;
  align-items: center;
  font-size: 15px;
  font-weight: 600;
  display: flex;
}

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

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

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

.settings-id-meta span {
  text-overflow: ellipsis;
  min-width: 0;
  color: var(--ink-dim);
  white-space: nowrap;
  font-size: 13px;
  line-height: 1.35;
  overflow: hidden;
}

.settings-id-separator {
  flex: none;
}

.settings-id-meta form, .settings-signout {
  flex: none;
  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"] {
  background: rgba(var(--accent-rgb), .1);
  color: var(--ink);
}

.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-card + .settings-eyebrow {
  margin-top: 20px;
}

.settings-row {
  align-items: center;
  gap: 16px;
  min-width: 0;
  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-top {
  justify-content: space-between;
  align-items: flex-start;
}

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

.settings-row-text {
  flex: auto;
  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 {
  overflow-wrap: anywhere;
  min-width: 0;
  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-actions {
  flex-wrap: wrap;
  flex: none;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  display: flex;
}

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

.settings-value-prominent {
  color: var(--ink);
  font-size: 16px;
  font-weight: 600;
}

.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"] {
  background: rgba(var(--accent-rgb), .14);
  color: var(--accent-hover);
  border-color: #0000;
}

.fare-toggle-group {
  --fare-standard-fill: var(--fare-standard);
  --fare-discount-fill: #5ab8ff;
  --fare-gowild-fill: #4dd28a;
  --fare-toggle-ink: #101315;
}

html[data-theme="light"] .fare-toggle-group {
  --fare-standard-fill: var(--fare-standard);
  --fare-discount-fill: #1d68ad;
  --fare-gowild-fill: #126b3e;
  --fare-toggle-ink: #fff;
}

.fare-toggle {
  align-items: center;
  gap: 5px;
  min-height: 44px;
  display: inline-flex;
}

.fare-toggle-icon {
  place-items: center;
  width: 13px;
  height: 13px;
  display: inline-grid;
}

.fare-toggle[data-fare-type="standard"][aria-pressed="true"] {
  background: var(--fare-standard-fill);
  color: var(--fare-toggle-ink);
}

.fare-toggle[data-fare-type="discount_den"][aria-pressed="true"] {
  background: var(--fare-discount-fill);
  color: var(--fare-toggle-ink);
}

.fare-toggle[data-fare-type="gowild"][aria-pressed="true"] {
  background: var(--fare-gowild-fill);
  color: var(--fare-toggle-ink);
}

.fare-toggle:focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 2px;
}

.appearance-presets {
  grid-template-columns: repeat(auto-fill, minmax(88px, 1fr));
  gap: 10px;
  display: grid;
}

.appearance-tile {
  color: var(--ink-dim);
  font-family: var(--font-ui);
  cursor: pointer;
  background: none;
  border: 0;
  flex-direction: column;
  gap: 7px;
  padding: 0;
  font-size: 12px;
  display: flex;
}

.appearance-tile-art {
  aspect-ratio: 5 / 4;
  border: 1px solid var(--line-bright);
  border-radius: 12px;
  place-items: center;
  font-size: 34px;
  font-weight: 800;
  line-height: 1;
  transition: border-color .15s, box-shadow .15s;
  display: grid;
}

.appearance-tile:hover, .appearance-tile[aria-pressed="true"] {
  color: var(--ink);
}

.appearance-tile[aria-pressed="true"] .appearance-tile-art {
  border-color: var(--accent);
  box-shadow: 0 0 0 1px var(--accent), 0 6px 22px rgba(var(--accent-rgb), .22);
}

.appearance-tile-art-custom {
  background: linear-gradient(160deg, rgba(var(--bg-2-rgb), .35), transparent 60%),
    conic-gradient(from 210deg, #ff6a2e, #f5b301, #0fb45f, #58b8ff, #a887fa, #f0619f, #ff6a2e);
  color: #fff;
  font-family: var(--font-display);
}

.appearance-modes {
  flex-wrap: wrap;
  gap: 8px;
  display: inline-flex;
}

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

.appearance-mode:hover {
  color: var(--ink);
}

.appearance-mode[aria-pressed="true"] {
  background: rgba(var(--accent-rgb), .14);
  color: var(--accent-hover);
  border-color: #0000;
}

.appearance-swatches {
  flex-wrap: wrap;
  gap: 12px;
  display: flex;
}

.appearance-swatch {
  border: 1px solid var(--line-bright);
  background: var(--swatch);
  cursor: pointer;
  border-radius: 999px;
  width: 36px;
  height: 36px;
  transition: transform .15s, box-shadow .15s;
}

.appearance-swatch:hover {
  transform: scale(1.08);
}

.appearance-swatch[aria-pressed="true"] {
  box-shadow: 0 0 0 2px var(--bg-2), 0 0 0 4px var(--ink);
}

.appearance-fonts {
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 10px;
  display: grid;
}

.appearance-font-card {
  border: 1px solid var(--line-bright);
  color: var(--ink-dim);
  font-family: var(--font-ui);
  text-align: left;
  cursor: pointer;
  background: none;
  border-radius: 12px;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  padding: 12px 14px;
  transition: border-color .15s, background .15s;
  display: flex;
}

.appearance-font-card:hover {
  border-color: var(--line-bright);
  color: var(--ink);
}

.appearance-font-card[aria-pressed="true"] {
  border-color: var(--accent);
  background: rgba(var(--accent-rgb), .08);
  color: var(--ink);
}

.appearance-font-specimen {
  color: var(--ink);
  font-size: 26px;
  font-weight: 700;
}

.appearance-font-card[data-font-card="classic"] .appearance-font-specimen {
  font-family: var(--font-barlow-condensed), sans-serif;
}

.appearance-font-card[data-font-card="rounded"] .appearance-font-specimen {
  font-family: var(--font-montserrat), sans-serif;
}

.appearance-font-card[data-font-card="editorial"] .appearance-font-specimen {
  font-family: var(--font-playfair), serif;
}

.appearance-font-card[data-font-card="terminal"] .appearance-font-specimen {
  font-family: var(--font-plex-mono), monospace;
}

.appearance-font-card[data-font-card="playful"] .appearance-font-specimen {
  font-family: var(--font-fredoka), sans-serif;
}

.appearance-font-name {
  font-size: 12px;
}

.appearance-font-detail {
  color: var(--ink-faint);
  font-size: 11px;
}

.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 {
  gap: 0;
  margin: 0;
  display: block;
}

.settings-card-notif .notif-row {
  background: none;
  border: 0;
  border-radius: 0;
  flex-direction: row;
  align-items: center;
  gap: 12px 16px;
  padding: 14px 16px;
}

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

.settings-card-notif .notif-toggle {
  flex: auto;
  align-items: center;
  min-width: 0;
}

.settings-card-notif .notif-device, .settings-card-notif .notif-linked {
  flex: none;
  margin-left: auto;
}

.settings-card-notif .notif-device {
  justify-content: flex-end;
}

.settings-card-notif .notif-device-prompt {
  text-align: right;
}

.settings-card-notif .button {
  border-radius: 8px;
  min-height: 34px;
  padding: 7px 14px;
  font-size: 11px;
}

@media (max-width: 760px) {
  .settings-header {
    align-items: center;
    gap: 10px;
    width: 100%;
  }

  .settings-id {
    flex: 1 1 0;
    align-items: center;
    gap: 10px;
  }

  .settings-id-meta {
    gap: 5px;
  }

  .settings-id-text strong {
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
    overflow: hidden;
  }

  .settings-signout {
    margin-left: 0;
  }

  .settings-signout .settings-btn {
    min-height: 36px;
    padding: 8px 14px;
  }

  .settings {
    grid-template-columns: 1fr;
    gap: 16px;
    min-width: 0;
  }

  .settings-nav {
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    flex-direction: row;
    gap: 6px;
    max-width: 100%;
    margin: 0;
    padding: 0 0 4px;
    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 12px;
  }

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

  .settings-actions {
    justify-content: stretch;
    width: 100%;
  }

  .settings-actions .settings-btn {
    flex: 140px;
  }
}

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

.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);
  max-width: 100%;
  overflow-x: clip;
}

@media (max-width: 380px) {
  .settings-id-meta {
    gap: 2px;
    display: grid;
  }

  .settings-id-separator {
    display: none;
  }
}

.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 {
  border: 1px solid rgba(var(--good-rgb), .35);
  background: rgba(var(--good-rgb), .08);
  color: var(--good);
  font-family: var(--font-mono);
  margin: 0 0 18px;
  padding: 12px;
  font-size: 12px;
}

.admin-error {
  border-color: rgba(var(--bad-rgb), .35);
  background: rgba(var(--bad-rgb), .08);
  color: #ffb4b4;
}

.admin-dashboard, .admin-settings {
  gap: 26px;
  min-width: 0;
  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);
  border-radius: 12px;
  padding: 18px;
}

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

.admin-panel-head h2 {
  font-family: var(--font-ui);
  letter-spacing: 0;
  text-transform: none;
  margin: 0 0 3px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.25;
}

.admin-panel-head p {
  color: var(--ink-dim);
  font-family: var(--font-ui);
  margin: 0;
  font-size: 12.5px;
  line-height: 1.4;
}

.admin-chart-legend, .admin-activity-head {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
  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-successful {
  color: var(--good);
}

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

.admin-legend-failed {
  color: var(--bad);
}

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

.admin-overview-head {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.admin-range {
  border: 1px solid var(--line);
  background: var(--bg-3);
  border-radius: 9px;
  gap: 3px;
  padding: 3px;
  display: inline-flex;
}

.admin-range-btn {
  color: var(--ink-dim);
  font-family: var(--font-ui);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 6px;
  padding: 6px 14px;
  font-size: 13px;
  transition: background .15s, color .15s;
}

.admin-range-btn:hover:not([aria-pressed="true"]) {
  color: var(--ink);
}

.admin-range-btn[aria-pressed="true"] {
  background: var(--accent);
  color: var(--bg);
}

.admin-range-btn:disabled {
  cursor: default;
  opacity: .7;
}

.admin-overview-tz {
  color: var(--ink-faint);
  font-family: var(--font-mono);
  letter-spacing: .04em;
  font-size: 11px;
}

.admin-dashboard[aria-busy="true"] {
  opacity: .65;
  transition: opacity .15s;
}

.admin-insight {
  border: 1px solid var(--line);
  background: var(--bg-3);
  color: var(--ink-dim);
  font-family: var(--font-mono);
  border-radius: 8px;
  margin: 0 0 16px;
  padding: 7px 11px;
  font-size: 11px;
  display: inline-block;
}

.admin-insight strong {
  color: var(--accent-2);
  font-weight: 500;
}

.admin-chart2 {
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  min-width: 0;
  display: grid;
}

.admin-chart2-guides {
  height: 168px;
  color: var(--ink-faint);
  font-family: var(--font-mono);
  text-align: right;
  flex-direction: column;
  justify-content: space-between;
  font-size: 10px;
  display: flex;
}

.admin-chart2-main {
  min-width: 0;
}

.admin-chart2-plot {
  border-left: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background-image: linear-gradient(to top, var(--line) 1px, transparent 1px);
  background-position: 0 100%;
  background-size: 100% 56px;
  height: 168px;
  position: relative;
}

.admin-chart2-line {
  pointer-events: none;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  overflow: visible;
}

.admin-chart2-line polyline {
  fill: none;
  stroke: var(--accent-2);
  stroke-width: 2px;
  stroke-linejoin: round;
  stroke-linecap: round;
}

.admin-chart2-bars {
  align-items: flex-end;
  gap: 3px;
  padding: 0 2px;
  display: flex;
  position: absolute;
  inset: 0;
}

.admin-chart2-col {
  flex: 1 1 0;
  align-items: flex-end;
  min-width: 0;
  height: 100%;
  display: flex;
  position: relative;
}

.admin-chart2-stack {
  border-radius: 3px 3px 0 0;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  min-width: 3px;
  height: 100%;
  transition: opacity .12s;
  display: flex;
  overflow: hidden;
}

.admin-chart2-bars:hover .admin-chart2-col:not(:hover) .admin-chart2-stack {
  opacity: .45;
}

.admin-seg {
  width: 100%;
  display: block;
}

.admin-seg-successful {
  background: var(--good);
}

.admin-seg-refunded {
  background: var(--warn);
}

.admin-seg-failed {
  background: var(--bad);
}

.admin-chart2-tip {
  z-index: 5;
  border: 1px solid var(--line-bright);
  background: var(--bg-3);
  min-width: 132px;
  box-shadow: 0 8px 22px rgba(var(--shadow-rgb), .5);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  border-radius: 8px;
  gap: 3px;
  padding: 9px 11px;
  transition: opacity .12s, transform .12s;
  display: grid;
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%)translateY(4px);
}

.admin-chart2-col:hover .admin-chart2-tip, .admin-chart2-col:focus-within .admin-chart2-tip {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%)translateY(0);
}

.admin-chart2-tip strong {
  color: var(--ink);
  font-family: var(--font-mono);
  margin-bottom: 2px;
  font-size: 11px;
  font-weight: 500;
}

.admin-tip-row {
  font-family: var(--font-mono);
  align-items: center;
  gap: 7px;
  font-size: 11px;
  display: flex;
}

.admin-tip-row:before {
  content: "";
  background: currentColor;
  border-radius: 2px;
  flex: none;
  width: 8px;
  height: 8px;
}

.admin-tip-row em {
  color: var(--ink);
  margin-left: auto;
  padding-left: 14px;
  font-style: normal;
}

.admin-tip-successful {
  color: var(--good);
}

.admin-tip-refunded {
  color: var(--warn);
}

.admin-tip-failed {
  color: var(--bad);
}

.admin-tip-signups {
  color: var(--accent-2);
}

.admin-chart2-axis {
  gap: 3px;
  margin-top: 7px;
  padding: 0 2px;
  display: flex;
}

.admin-chart2-axis span {
  min-width: 0;
  color: var(--ink-faint);
  font-family: var(--font-mono);
  text-align: center;
  white-space: nowrap;
  flex: 1 1 0;
  font-size: 10px;
  overflow: hidden;
}

.admin-donut-row {
  flex-wrap: wrap;
  align-items: center;
  gap: 24px;
  display: flex;
}

.admin-donut {
  flex: none;
  width: 132px;
  height: 132px;
  transform: rotate(-90deg);
}

.admin-donut-track {
  fill: none;
  stroke: var(--line);
  stroke-width: 14px;
}

.admin-donut-seg {
  fill: none;
  stroke-width: 14px;
}

.admin-donut-successful {
  stroke: var(--good);
}

.admin-donut-refunded {
  stroke: var(--warn);
}

.admin-donut-failed {
  stroke: var(--bad);
}

.admin-donut-legend {
  flex: 220px;
  gap: 10px;
  min-width: 0;
  max-width: 360px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.admin-donut-legend li {
  grid-template-columns: 1fr auto auto;
  align-items: baseline;
  gap: 10px;
  padding-left: 16px;
  display: grid;
  position: relative;
}

.admin-donut-legend li:before {
  content: "";
  background: currentColor;
  border-radius: 2px;
  width: 9px;
  height: 9px;
  position: absolute;
  top: 4px;
  left: 0;
}

.admin-donut-legend li.admin-donut-successful {
  color: var(--good);
}

.admin-donut-legend li.admin-donut-refunded {
  color: var(--warn);
}

.admin-donut-legend li.admin-donut-failed {
  color: var(--bad);
}

.admin-donut-legend span {
  color: var(--ink);
  font-size: 13px;
}

.admin-donut-legend strong {
  color: var(--ink);
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 500;
}

.admin-donut-legend em {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  font-size: 11px;
  font-style: normal;
}

.activity-feed {
  min-width: 0;
}

.activity-head {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  display: flex;
}

.activity-title {
  align-items: center;
  gap: 10px;
  display: flex;
}

.activity-title h2 {
  font-family: var(--font-ui);
  margin: 0;
  font-size: 17px;
  font-weight: 500;
}

.activity-live {
  border: 1px solid var(--line);
  background: var(--bg-3);
  color: var(--ink-faint);
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  font-size: 10.5px;
  display: inline-flex;
}

.activity-live.is-live {
  color: var(--good);
}

.activity-live-dot {
  background: currentColor;
  border-radius: 50%;
  width: 7px;
  height: 7px;
}

.activity-live.is-live .activity-live-dot {
  animation: 1.8s infinite activity-pulse;
}

@keyframes activity-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(var(--good-rgb), .55);
  }

  70% {
    box-shadow: 0 0 0 7px rgba(var(--good-rgb), 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(var(--good-rgb), 0);
  }
}

.activity-search {
  flex: 0 260px;
  align-items: center;
  display: flex;
  position: relative;
}

.activity-search-icon {
  color: var(--ink-faint);
  pointer-events: none;
  position: absolute;
  left: 10px;
}

.activity-search input {
  background: var(--bg-3);
  border: 1px solid var(--line-bright);
  width: 100%;
  color: var(--ink);
  font-family: var(--font-ui);
  border-radius: 8px;
  padding: 8px 10px 8px 32px;
  font-size: 13px;
}

.activity-search input:focus {
  border-color: var(--accent);
  outline: none;
}

.activity-pills {
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  gap: 6px;
  max-width: 100%;
  margin-bottom: 6px;
  padding: 0 2px 6px;
  display: flex;
  overflow-x: auto;
}

.activity-pills::-webkit-scrollbar {
  display: none;
}

.activity-pill {
  border: 1px solid var(--line);
  color: var(--ink-dim);
  font-family: var(--font-ui);
  white-space: nowrap;
  cursor: pointer;
  background: none;
  border-radius: 999px;
  flex: none;
  justify-content: center;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font-size: 12.5px;
  transition: background .12s, color .12s, border-color .12s;
  display: inline-flex;
}

.activity-pill-label, .activity-pill-count {
  line-height: 1;
  display: inline-block;
}

.activity-pill:hover {
  color: var(--ink);
}

.activity-pill[aria-pressed="true"] {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--bg);
}

.activity-pill-count {
  font-family: var(--font-mono);
  opacity: .7;
  font-size: 10.5px;
}

.activity-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.activity-item {
  --c: var(--ink-dim);
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 11px 4px;
  display: grid;
}

.activity-item + .activity-item {
  border-top: 1px solid var(--line);
}

.activity-item[data-tone="good"] {
  --c: var(--good);
}

.activity-item[data-tone="warn"] {
  --c: var(--warn);
}

.activity-item[data-tone="bad"] {
  --c: var(--bad);
}

.activity-item[data-tone="accent"] {
  --c: var(--accent);
}

.activity-item[data-tone="yellow"] {
  --c: var(--accent-2);
}

.activity-item[data-tone="blue"] {
  --c: #7aa2ff;
}

.activity-item[data-tone="purple"] {
  --c: #b9a8ff;
}

.activity-item[data-tone="teal"] {
  --c: #3ad0b4;
}

.activity-item.is-new {
  animation: 1.6s ease-out activity-flash;
}

@keyframes activity-flash {
  from {
    background: rgba(var(--accent-rgb), .14);
  }

  to {
    background: none;
  }
}

.activity-icon {
  width: 32px;
  height: 32px;
  color: var(--c);
  background: var(--c);
  border-radius: 9px;
  justify-content: center;
  align-items: center;
  display: flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .activity-icon {
    background: color-mix(in srgb, var(--c) 15%, transparent);
  }
}

.activity-body {
  min-width: 0;
}

.activity-line {
  color: var(--ink);
  margin: 0;
  font-size: 13.5px;
  line-height: 1.35;
}

.activity-line strong {
  font-weight: 500;
}

.activity-detail {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin: 2px 0 0;
  font-size: 12px;
  overflow: hidden;
}

.activity-meta {
  flex-direction: column;
  align-items: flex-end;
  gap: 5px;
  display: flex;
}

.activity-meta time {
  color: var(--ink-faint);
  font-family: var(--font-mono);
  white-space: nowrap;
  font-size: 11px;
}

.activity-tag {
  color: var(--c);
  background: var(--c);
}

@supports (color: color-mix(in lab, red, red)) {
  .activity-tag {
    background: color-mix(in srgb, var(--c) 12%, transparent);
  }
}

.activity-tag {
  font-family: var(--font-mono);
  letter-spacing: .05em;
  text-transform: uppercase;
  border-radius: 5px;
  padding: 2px 6px;
  font-size: 9.5px;
}

.activity-empty {
  text-align: center;
  color: var(--ink-faint);
  font-family: var(--font-mono);
  margin: 0;
  padding: 28px 4px;
  font-size: 12px;
}

@media (max-width: 600px) {
  .activity-head {
    align-items: stretch;
  }

  .activity-title {
    justify-content: space-between;
    width: 100%;
  }

  .activity-search {
    flex: 100%;
    order: 3;
  }

  .activity-pills {
    margin-inline: calc(var(--page-pad) * -1);
    padding-inline: var(--page-pad);
  }

  .activity-pill {
    min-height: 34px;
    padding-inline: 13px;
  }

  .activity-item {
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    padding-block: 13px;
  }

  .activity-icon {
    border-radius: 8px;
    width: 28px;
    height: 28px;
  }

  .activity-line {
    font-size: 14px;
  }

  .activity-detail {
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .activity-meta {
    flex-direction: row;
    grid-column: 2;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
    margin-top: -4px;
  }

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

.users-panel {
  min-width: 0;
}

.users-head {
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 14px;
  display: flex;
}

.users-head h2 {
  font-family: var(--font-ui);
  margin: 0;
  font-size: 17px;
  font-weight: 500;
}

.users-count {
  color: var(--ink-faint);
  font-family: var(--font-mono);
  font-size: 11px;
}

.users-filters {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  display: flex;
}

.users-search {
  flex: 220px;
  gap: 8px;
  min-width: 180px;
  display: flex;
}

.users-search input {
  background: var(--bg-3);
  border: 1px solid var(--line-bright);
  min-width: 0;
  color: var(--ink);
  font-family: var(--font-ui);
  border-radius: 8px;
  flex: 1;
  padding: 8px 10px;
  font-size: 13px;
}

.users-search input:focus {
  border-color: var(--accent);
  outline: none;
}

.users-role {
  border: 1px solid var(--line);
  background: var(--bg-3);
  border-radius: 8px;
  gap: 3px;
  padding: 3px;
  display: inline-flex;
}

.users-role-btn {
  color: var(--ink-dim);
  font-family: var(--font-ui);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 6px;
  padding: 6px 12px;
  font-size: 12.5px;
}

.users-role-btn[aria-pressed="true"] {
  background: var(--accent);
  color: var(--bg);
}

.users-tier-select {
  background: var(--bg-3);
  border: 1px solid var(--line-bright);
  color: var(--ink);
  font-family: var(--font-ui);
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 13px;
}

.users-unverified-toggle {
  color: var(--ink-dim);
  font-family: var(--font-ui);
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  align-items: center;
  gap: 7px;
  font-size: 12.5px;
  display: inline-flex;
}

.users-unverified-toggle input {
  accent-color: var(--accent);
  cursor: pointer;
}

.users-list {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

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

.user-card.is-open {
  border-color: var(--line-bright);
}

.user-row {
  width: 100%;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  grid-template-areas: "avatar ident chips chev";
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  display: grid;
}

.user-avatar {
  background: rgba(var(--accent-rgb), .16);
  width: 36px;
  height: 36px;
  color: var(--accent-hover);
  border-radius: 50%;
  flex: none;
  grid-area: avatar;
  justify-content: center;
  align-items: center;
  font-size: 12.5px;
  font-weight: 500;
  display: flex;
}

.user-ident {
  grid-area: ident;
  min-width: 0;
}

.user-ident strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 500;
  display: block;
  overflow: hidden;
}

.user-ident span {
  font-family: var(--font-mono);
  color: var(--ink-faint);
  font-size: 10.5px;
}

.user-chips {
  flex-wrap: wrap;
  grid-area: chips;
  justify-content: flex-end;
  gap: 5px;
  display: flex;
}

.user-chip {
  font-family: var(--font-mono);
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--ink-dim);
  background: rgba(var(--ink-dim-rgb), .14);
  border-radius: 5px;
  padding: 3px 7px;
  font-size: 9.5px;
}

.user-chip-temp {
  color: var(--accent-2);
  background: var(--accent-2);
}

@supports (color: color-mix(in lab, red, red)) {
  .user-chip-temp {
    background: color-mix(in srgb, var(--accent-2) 13%, transparent);
  }
}

.user-chip-admin, .user-chip-status {
  color: var(--good);
  background: var(--good);
}

@supports (color: color-mix(in lab, red, red)) {
  .user-chip-admin, .user-chip-status {
    background: color-mix(in srgb, var(--good) 13%, transparent);
  }
}

.user-chip-unverified {
  color: var(--bad, #e5484d);
  background: var(--bad, #e5484d);
}

@supports (color: color-mix(in lab, red, red)) {
  .user-chip-unverified {
    background: color-mix(in srgb, var(--bad, #e5484d) 13%, transparent);
  }
}

.user-chip-paying {
  color: #3ad0b4;
  background: #3ad0b421;
}

.user-chev {
  color: var(--ink-faint);
  grid-area: chev;
  transition: transform .15s;
  display: flex;
}

.user-card.is-open .user-chev {
  transform: rotate(90deg);
}

.user-panel {
  border-top: 1px solid var(--line);
  background: var(--bg);
  padding: 14px;
}

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

.user-detail-cell dt {
  font-family: var(--font-mono);
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin-bottom: 3px;
  font-size: 9.5px;
}

.user-detail-cell dd {
  color: var(--ink);
  margin: 0;
  font-size: 13px;
}

.user-detail-temp {
  color: var(--accent-2);
}

.user-detail-admin {
  color: var(--good);
}

.user-plan {
  border: 1px solid var(--line);
  background: var(--bg-2);
  border-radius: 9px;
  margin-bottom: 14px;
  padding: 10px 12px;
}

.user-plan-head {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
  display: flex;
}

.user-plan-head strong {
  font-size: 13.5px;
  font-weight: 500;
}

.user-plan-grid {
  font-family: var(--font-mono);
  color: var(--ink-dim);
  flex-wrap: wrap;
  gap: 6px 16px;
  font-size: 11px;
  display: flex;
}

.user-plan-grid b {
  color: var(--ink);
  font-weight: 500;
}

.user-plan-none {
  font-family: var(--font-mono);
  color: var(--ink-dim);
  font-size: 11.5px;
}

.user-panel-actions {
  margin-bottom: 14px;
}

.user-edit {
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 14px;
  display: grid;
}

.user-edit-actions {
  grid-column: 1 / -1;
  gap: 8px;
  display: flex;
}

.user-log-head {
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ink-faint);
  border-top: 1px solid var(--line);
  justify-content: space-between;
  align-items: center;
  padding: 8px 0 4px;
  font-size: 10px;
  display: flex;
}

.user-log-status {
  border-top: 1px solid var(--line);
  color: var(--ink-faint);
  font-family: var(--font-mono);
  margin: 0;
  padding: 12px 0;
  font-size: 11.5px;
}

.user-log-pager {
  font-family: var(--font-mono);
  color: var(--ink-dim);
  justify-content: space-between;
  align-items: center;
  margin-top: 8px;
  font-size: 11px;
  display: flex;
}

.user-log-btn {
  border: 1px solid var(--line-bright);
  color: var(--ink);
  cursor: pointer;
  background: none;
  border-radius: 7px;
  padding: 5px 11px;
  font-size: 12px;
}

.user-log-btn:disabled {
  opacity: .4;
  cursor: default;
}

.users-pagination {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
  font-size: 12px;
  display: flex;
}

@media (max-width: 600px) {
  .user-row {
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas: "avatar ident chev"
                         "avatar chips chev";
    align-items: center;
    row-gap: 6px;
  }

  .user-chips {
    justify-content: flex-start;
  }

  .user-detail {
    grid-template-columns: 1fr 1fr;
  }

  .user-edit {
    grid-template-columns: 1fr;
  }

  .users-search {
    flex: 100%;
  }
}

.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(--ink);
  font-family: var(--font-ui);
  text-transform: none;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
}

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

.admin-table-wrap, .admin-section {
  border: 1px solid var(--line);
  background: var(--bg-2);
  border-radius: 12px;
  min-width: 0;
  max-width: 100%;
  padding: 18px;
}

.admin-table-wrap h2, .admin-section h2 {
  font-family: var(--font-ui);
  letter-spacing: 0;
  text-transform: none;
  margin: 0 0 3px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.25;
}

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

.admin-table-scroll {
  border: 1px solid var(--line);
  contain: inline-size;
  max-width: 100%;
  overflow-x: auto;
}

.admin-table-scroll .admin-table {
  min-width: 680px;
}

.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-section-head > div {
  min-width: 0;
}

.admin-section-head p {
  overflow-wrap: anywhere;
}

.sys-panel {
  min-width: 0;
}

.sys-head {
  margin-bottom: 16px;
}

.sys-head h2 {
  font-family: var(--font-ui);
  margin: 0;
  font-size: 17px;
  font-weight: 500;
}

.sys-sub {
  font-family: var(--font-mono);
  color: var(--ink-faint);
  margin-top: 4px;
  font-size: 11px;
  display: block;
}

.sys-card {
  border: 1px solid var(--line);
  background: var(--bg-2);
  border-radius: 11px;
  padding: 16px;
}

.sys-card + .sys-card {
  margin-top: 10px;
}

.sys-card-head {
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
  display: flex;
}

.sys-glyph {
  width: 38px;
  height: 38px;
  color: var(--accent);
  background: var(--accent);
  border-radius: 9px;
  flex: none;
  justify-content: center;
  align-items: center;
  display: flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .sys-glyph {
    background: color-mix(in srgb, var(--accent) 13%, transparent);
  }
}

.sys-glyph-den {
  color: var(--den);
  background: var(--den);
}

@supports (color: color-mix(in lab, red, red)) {
  .sys-glyph-den {
    background: color-mix(in srgb, var(--den) 13%, transparent);
  }
}

.sys-ct {
  flex: 1;
  min-width: 0;
}

.sys-ct h3 {
  font-family: var(--font-ui);
  margin: 0;
  font-size: 14px;
  font-weight: 500;
}

.sys-ct p {
  font-family: var(--font-mono);
  color: var(--ink-dim);
  margin: 3px 0 0;
  font-size: 10.5px;
  line-height: 1.5;
}

.sys-status {
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--good);
  background: var(--good);
  border-radius: 5px;
  flex: none;
  padding: 4px 8px;
  font-size: 9px;
}

@supports (color: color-mix(in lab, red, red)) {
  .sys-status {
    background: color-mix(in srgb, var(--good) 13%, transparent);
  }
}

.sys-status {
  white-space: nowrap;
}

.sys-segmented {
  border: 1px solid var(--line);
  background: var(--bg-3);
  border-radius: 9px;
  gap: 3px;
  padding: 3px;
  display: inline-flex;
}

.sys-seg {
  color: var(--ink-dim);
  font-family: var(--font-ui);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 6px;
  padding: 8px 22px;
  font-size: 13px;
  font-weight: 500;
}

.sys-seg[aria-pressed="true"] {
  background: var(--accent);
  color: var(--bg);
}

.sys-seg:disabled {
  cursor: default;
  opacity: .6;
}

.sys-seg-note {
  font-family: var(--font-mono);
  color: var(--ink-faint);
  margin: 11px 0 0;
  font-size: 10.5px;
  line-height: 1.5;
}

.sys-inputrow {
  align-items: stretch;
  gap: 8px;
  display: flex;
}

.sys-input {
  border: 1px solid var(--line-bright);
  background: var(--bg);
  min-width: 0;
  min-height: 40px;
  color: var(--ink);
  font-family: var(--font-mono);
  border-radius: 8px;
  flex: 1;
  padding: 9px 11px;
  font-size: 12px;
}

.sys-input:focus {
  border-color: var(--accent);
  outline: none;
}

.sys-current {
  font-family: var(--font-mono);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ink-faint);
  align-items: center;
  gap: 7px;
  margin: 11px 0 0;
  font-size: 10px;
  display: flex;
}

.sys-current b {
  color: var(--den);
  letter-spacing: 0;
  text-transform: none;
  font-weight: 400;
}

.sys-current-empty {
  color: var(--ink-faint);
}

.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 {
  max-width: 100%;
  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, rgba(var(--overlay-rgb), .03), 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: 2px solid rgba(var(--accent-rgb), .18);
  outline-offset: 0;
}

.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, rgba(var(--overlay-rgb), .03), 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);
  background: rgba(var(--bg-rgb), .4);
  min-height: 36px;
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
  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-redemptions {
  border-top: 1px solid var(--line);
  padding-top: 12px;
}

.invite-redemption-list {
  gap: 8px;
  display: grid;
}

.invite-redemption-row {
  border: 1px solid rgba(var(--overlay-rgb), .07);
  background: rgba(var(--bg-rgb), .28);
  border-radius: 8px;
  grid-template-columns: minmax(180px, 1.2fr) minmax(180px, 1fr) auto auto;
  align-items: center;
  gap: 10px 14px;
  min-width: 0;
  padding: 10px 12px;
  display: grid;
}

.invite-redemption-main, .invite-redemption-dates {
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  display: flex;
}

.invite-redemption-main strong {
  color: var(--ink);
  font-family: var(--font-mono);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  overflow: hidden;
}

.invite-redemption-main span, .invite-redemption-dates span {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  font-size: 10px;
  line-height: 1.35;
}

.invite-redemption-empty {
  border: 1px dashed var(--line-bright);
  color: var(--ink-dim);
  font-family: var(--font-mono);
  border-radius: 8px;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 12px 14px;
  font-size: 11px;
  display: flex;
}

.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 {
  border-color: rgba(var(--good-rgb), .45);
  background: rgba(var(--good-rgb), .1);
  color: var(--good);
}

.invite-status-full {
  border-color: rgba(var(--warn-rgb), .45);
  background: rgba(var(--warn-rgb), .1);
  color: var(--warn);
}

.invite-status-expired {
  border-color: var(--line-bright);
  background: rgba(var(--overlay-rgb), .04);
  color: var(--ink-dim);
}

.invite-status-revoked {
  border-color: rgba(var(--bad-rgb), .45);
  background: rgba(var(--bad-rgb), .1);
  color: var(--bad);
}

@media (max-width: 760px) {
  .invite-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .invite-redemption-row {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .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-ui);
  letter-spacing: 0;
  text-transform: none;
  overflow-wrap: anywhere;
  margin: 0;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3;
}

.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 {
  border-color: rgba(var(--good-rgb), .42);
  color: var(--good);
  background: rgba(var(--good-rgb), .07);
}

.admin-chip-warn {
  color: #ffd38a;
  background: #ffbe5c14;
  border-color: #ffbe5c6b;
}

.admin-chip-stripe {
  color: #b8c7ff;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: #6d8fff14;
  border-color: #6d8fff73;
  max-width: min(100%, 360px);
  overflow: hidden;
}

.admin-user-note {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: -2px 0 0;
  font-size: 10px;
  line-height: 1.45;
}

.dst-panel {
  min-width: 0;
}

.dst-panel + .dst-panel {
  margin-top: 26px;
}

.dst-head {
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 14px;
  display: flex;
}

.dst-head h2 {
  font-family: var(--font-ui);
  margin: 0;
  font-size: 17px;
  font-weight: 500;
}

.dst-sub {
  color: var(--ink-faint);
  font-family: var(--font-mono);
  font-size: 11px;
}

.dst-sub b {
  color: var(--warn);
  font-weight: 500;
}

.dst-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 14px;
  display: grid;
}

.dst-stat {
  text-align: left;
  border: 1px solid var(--line);
  background: var(--bg-2);
  cursor: pointer;
  border-radius: 10px;
  padding: 12px 13px;
}

.dst-stat.is-active {
  border-color: var(--accent);
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .dst-stat.is-active {
    background: color-mix(in srgb, var(--accent) 8%, var(--bg-2));
  }
}

.dst-stat-k {
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink-dim);
  align-items: center;
  gap: 6px;
  font-size: 9px;
  display: flex;
}

.dst-stat-v {
  font-family: var(--font-display);
  color: var(--ink);
  margin-top: 7px;
  font-size: 34px;
  line-height: 1;
  display: block;
}

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

.dst-stat-good .dst-stat-v {
  color: var(--good);
}

.dst-stat-warn .dst-stat-v {
  color: var(--warn);
}

.dst-toolbar {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 11px;
  display: flex;
}

.dst-search {
  border: 1px solid var(--line-bright);
  background: var(--bg-3);
  min-width: 0;
  height: 38px;
  color: var(--ink-faint);
  border-radius: 8px;
  flex: 220px;
  align-items: center;
  gap: 8px;
  padding: 0 10px;
  display: flex;
}

.dst-search input {
  min-width: 0;
  color: var(--ink);
  font-family: var(--font-ui);
  background: none;
  border: 0;
  outline: none;
  flex: 1;
  font-size: 13px;
}

.dst-sort {
  border: 1px solid var(--line-bright);
  background: var(--bg-3);
  height: 38px;
  color: var(--ink);
  font-family: var(--font-ui);
  border-radius: 8px;
  padding: 0 11px;
  font-size: 12.5px;
}

.dst-toggle {
  border: 1px solid var(--line-bright);
  background: var(--bg-3);
  height: 38px;
  font-family: var(--font-mono);
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--ink-dim);
  white-space: nowrap;
  cursor: pointer;
  border-radius: 8px;
  align-items: center;
  gap: 7px;
  padding: 0 11px;
  font-size: 10px;
  display: inline-flex;
}

.dst-toggle input {
  width: 15px;
  height: 15px;
  accent-color: var(--accent);
}

.dst-pills {
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 14px;
  display: flex;
}

.dst-pill {
  font-family: var(--font-mono);
  letter-spacing: .05em;
  text-transform: uppercase;
  border: 1px solid var(--line-bright);
  color: var(--ink-dim);
  white-space: nowrap;
  cursor: pointer;
  background: none;
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 10px;
}

.dst-pill-warn {
  color: var(--warn);
  border-color: var(--warn);
}

@supports (color: color-mix(in lab, red, red)) {
  .dst-pill-warn {
    border-color: color-mix(in srgb, var(--warn) 45%, transparent);
  }
}

.dst-pill[aria-pressed="true"] {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--bg);
}

.dst-list {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

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

.dst-card.is-open {
  border-color: var(--line-bright);
}

.dst-card.is-flag {
  border-color: var(--warn);
}

@supports (color: color-mix(in lab, red, red)) {
  .dst-card.is-flag {
    border-color: color-mix(in srgb, var(--warn) 38%, var(--line));
  }
}

.dst-card.is-draft {
  border-color: var(--accent);
}

.dst-row {
  width: 100%;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  grid-template-areas: "code ident chips chev";
  align-items: center;
  gap: 12px;
  padding: 11px 13px;
  display: grid;
}

.dst-row-static {
  cursor: default;
}

.dst-code {
  width: 50px;
  height: 40px;
  font-family: var(--font-display);
  letter-spacing: .02em;
  color: var(--ink);
  background: rgba(var(--ink-dim-rgb), .12);
  border-radius: 8px;
  flex: none;
  grid-area: code;
  justify-content: center;
  align-items: center;
  font-size: 21px;
  display: flex;
}

.dst-code-domestic {
  color: var(--accent-2);
  background: var(--accent-2);
}

@supports (color: color-mix(in lab, red, red)) {
  .dst-code-domestic {
    background: color-mix(in srgb, var(--accent-2) 13%, transparent);
  }
}

.dst-code-intl {
  color: var(--den);
  background: var(--den);
}

@supports (color: color-mix(in lab, red, red)) {
  .dst-code-intl {
    background: color-mix(in srgb, var(--den) 13%, transparent);
  }
}

.dst-code-flag {
  color: var(--warn);
  background: var(--warn);
}

@supports (color: color-mix(in lab, red, red)) {
  .dst-code-flag {
    background: color-mix(in srgb, var(--warn) 14%, transparent);
  }
}

.dst-code-off {
  color: var(--ink-faint);
  background: rgba(var(--ink-dim-rgb), .1);
}

.dst-code-group {
  width: auto;
  min-width: 50px;
  color: var(--den);
  background: var(--den);
  padding: 0 11px;
}

@supports (color: color-mix(in lab, red, red)) {
  .dst-code-group {
    background: color-mix(in srgb, var(--den) 13%, transparent);
  }
}

.dst-code.is-accent {
  color: var(--accent);
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .dst-code.is-accent {
    background: color-mix(in srgb, var(--accent) 13%, transparent);
  }
}

.dst-ident {
  grid-area: ident;
  min-width: 0;
}

.dst-name {
  font-family: var(--font-ui);
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  display: block;
  overflow: hidden;
}

.dst-meta {
  font-family: var(--font-mono);
  letter-spacing: .03em;
  text-transform: uppercase;
  color: var(--ink-faint);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: 3px;
  font-size: 10.5px;
  display: block;
  overflow: hidden;
}

.dst-chips {
  flex-wrap: wrap;
  grid-area: chips;
  justify-content: flex-end;
  align-items: center;
  gap: 6px;
  display: flex;
}

.dst-chip {
  font-family: var(--font-mono);
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--ink-dim);
  background: rgba(var(--ink-dim-rgb), .14);
  border-radius: 5px;
  padding: 3px 7px;
  font-size: 9.5px;
}

.dst-chip-good {
  color: var(--good);
  background: var(--good);
}

@supports (color: color-mix(in lab, red, red)) {
  .dst-chip-good {
    background: color-mix(in srgb, var(--good) 13%, transparent);
  }
}

.dst-chip-warn {
  color: var(--warn);
  background: var(--warn);
}

@supports (color: color-mix(in lab, red, red)) {
  .dst-chip-warn {
    background: color-mix(in srgb, var(--warn) 14%, transparent);
  }
}

.dst-routes {
  color: var(--ink);
}

.dst-chev {
  color: var(--ink-faint);
  grid-area: chev;
  transition: transform .15s;
  display: flex;
}

.dst-card.is-open .dst-chev {
  transform: rotate(90deg);
}

.dst-panel {
  border-top: 1px solid var(--line);
  background: var(--bg);
  padding: 14px;
}

.dst-note {
  font-family: var(--font-mono);
  color: var(--warn);
  background: var(--warn);
  gap: 8px;
  margin: 0 0 13px;
  font-size: 11px;
  line-height: 1.5;
  display: flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .dst-note {
    background: color-mix(in srgb, var(--warn) 10%, transparent);
  }
}

.dst-note {
  border-radius: 7px;
  padding: 9px 11px;
}

.dst-detail {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 13px 18px;
  margin: 0;
  display: grid;
}

.dst-detail dt {
  font-family: var(--font-mono);
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin: 0 0 3px;
  font-size: 9.5px;
}

.dst-detail dd {
  font-family: var(--font-ui);
  color: var(--ink);
  margin: 0;
  font-size: 13px;
}

.dst-detail-warn {
  color: var(--warn);
}

.dst-served {
  margin-top: 14px;
}

.dst-served-label {
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin-bottom: 7px;
  font-size: 9.5px;
}

.dst-served-chips {
  flex-wrap: wrap;
  gap: 5px;
  display: flex;
}

.dst-mini {
  font-family: var(--font-mono);
  color: var(--ink-dim);
  border: 1px solid var(--line);
  border-radius: 5px;
  padding: 2px 7px;
  font-size: 10px;
}

.dst-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  display: flex;
}

.dst-empty {
  border: 1px solid var(--line);
  color: var(--ink-dim);
  font-family: var(--font-mono);
  border-radius: 11px;
  margin: 0;
  padding: 20px;
  font-size: 11.5px;
}

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

.dst-edit input, .dst-edit select {
  border: 1px solid var(--line-bright);
  background: var(--bg);
  width: 100%;
  min-height: 40px;
  color: var(--ink);
  font-family: var(--font-mono);
  border-radius: 7px;
  padding: 9px 11px;
  font-size: 12px;
}

.dst-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) 17px, calc(100% - 11px) 17px;
  background-repeat: no-repeat;
  background-size: 5px 5px;
  padding-right: 30px;
}

.dst-edit input:focus, .dst-edit select:focus {
  border-color: var(--accent);
  outline: none;
}

.dst-panel .admin-tier-form {
  background: none;
  border: 0;
  margin: 0;
  padding: 0;
}

@media (max-width: 600px) {
  .dst-stats, .dst-detail, .dst-edit {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dst-served-routes {
    display: none;
  }

  .dst-row {
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas: "code ident chev"
                         "code chips chev";
    row-gap: 7px;
  }

  .dst-chips {
    justify-content: flex-start;
  }
}

.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, .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 {
  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, .admin-user-search input:focus {
  border-color: var(--accent);
  outline: 2px solid rgba(var(--accent-rgb), .18);
  outline-offset: 0;
}

.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;
}

.tiers-panel {
  min-width: 0;
}

.tiers-head {
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 14px;
  display: flex;
}

.tiers-head h2 {
  font-family: var(--font-ui);
  margin: 0;
  font-size: 17px;
  font-weight: 500;
}

.tiers-count {
  color: var(--ink-faint);
  font-family: var(--font-mono);
  font-size: 11px;
}

.tiers-toolbar {
  justify-content: flex-end;
  margin-bottom: 14px;
  display: flex;
}

.tier-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 14px;
  display: grid;
}

.tier-stat {
  border: 1px solid var(--line);
  background: var(--bg-2);
  border-radius: 10px;
  padding: 12px 13px;
}

.tier-stat-k {
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink-dim);
  font-size: 9px;
  display: block;
}

.tier-stat-v {
  font-family: var(--font-display);
  color: var(--ink);
  margin-top: 7px;
  font-size: 34px;
  line-height: 1;
  display: block;
}

.tier-stat-pay .tier-stat-v {
  color: var(--good);
}

.tier-stat-rev .tier-stat-v {
  color: var(--accent-2);
}

.tiers-list {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

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

.tier-card.is-open {
  border-color: var(--line-bright);
}

.tier-card.is-draft {
  border-color: var(--accent);
}

.tier-row {
  width: 100%;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  grid-template-areas: "glyph ident chips chev";
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  display: grid;
}

.tier-row-static {
  cursor: default;
}

.tier-glyph {
  width: 36px;
  height: 36px;
  color: var(--accent-2);
  background: var(--accent-2);
  border-radius: 9px;
  flex: none;
  grid-area: glyph;
  justify-content: center;
  align-items: center;
  display: flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .tier-glyph {
    background: color-mix(in srgb, var(--accent-2) 15%, transparent);
  }
}

.tier-glyph svg {
  width: 18px;
  height: 18px;
}

.tier-glyph.is-accent {
  color: var(--accent);
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .tier-glyph.is-accent {
    background: color-mix(in srgb, var(--accent) 15%, transparent);
  }
}

.tier-ident {
  grid-area: ident;
  min-width: 0;
}

.tier-ident strong {
  font-family: var(--font-ui);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  display: block;
  overflow: hidden;
}

.tier-ident span {
  font-family: var(--font-mono);
  letter-spacing: .03em;
  text-transform: uppercase;
  color: var(--ink-faint);
  font-size: 10.5px;
}

.tier-chips {
  flex-wrap: wrap;
  grid-area: chips;
  justify-content: flex-end;
  align-items: center;
  gap: 6px;
  display: flex;
}

.tier-pill {
  font-family: var(--font-mono);
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--ink-dim);
  background: rgba(var(--ink-dim-rgb), .14);
  border-radius: 5px;
  padding: 3px 7px;
  font-size: 9.5px;
}

.tier-pill-default {
  color: var(--good);
  background: var(--good);
}

@supports (color: color-mix(in lab, red, red)) {
  .tier-pill-default {
    background: color-mix(in srgb, var(--good) 13%, transparent);
  }
}

.tier-pill-editing {
  color: var(--accent);
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .tier-pill-editing {
    background: color-mix(in srgb, var(--accent) 13%, transparent);
  }
}

.tier-price {
  font-family: var(--font-display);
  color: var(--accent-2);
  padding-left: 2px;
  font-size: 21px;
  line-height: 1;
}

.tier-price.is-free {
  font-family: var(--font-mono);
  color: var(--ink-dim);
  font-size: 13px;
}

.tier-chev {
  color: var(--ink-faint);
  grid-area: chev;
  transition: transform .15s;
  display: flex;
}

.tier-card.is-open .tier-chev {
  transform: rotate(90deg);
}

.tier-panel {
  border-top: 1px solid var(--line);
  background: var(--bg);
  padding: 14px;
}

.tier-spec {
  gap: 16px;
  display: grid;
}

.tier-spec-group {
  min-width: 0;
}

.tier-spec-h {
  font-family: var(--font-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--accent);
  align-items: center;
  gap: 8px;
  margin: 0 0 11px;
  font-size: 9px;
  font-weight: 500;
  display: flex;
}

.tier-spec-h:after {
  content: "";
  background: var(--line);
  flex: 1;
  height: 1px;
}

.tier-spec-h svg {
  flex: none;
}

.tier-spec-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 13px 18px;
  margin: 0;
  display: grid;
}

.tier-feature-cell {
  min-width: 0;
}

.tier-feature-cell dt {
  color: var(--ink-faint);
  font-family: var(--font-mono);
  letter-spacing: .05em;
  text-transform: uppercase;
  align-items: center;
  gap: 7px;
  margin-bottom: 3px;
  font-size: 9.5px;
  display: flex;
}

.tier-feature-cell dd {
  font-family: var(--font-ui);
  color: var(--ink);
  margin: 0;
  font-size: 13px;
}

.tier-feature-cell.is-off dd {
  color: var(--ink-faint);
}

.tier-feature-dot {
  background: var(--good);
  width: 6px;
  height: 6px;
  box-shadow: 0 0 0 3px rgba(var(--good-rgb), .16);
  border-radius: 999px;
  flex: none;
}

.tier-feature-cell.is-off .tier-feature-dot {
  background: var(--line-bright);
  box-shadow: none;
}

.tier-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  display: flex;
}

.tier-delete {
  margin-left: auto;
}

.tier-delete:not(:disabled):hover {
  color: #ff8f8f;
  border-color: #e55c5c80;
}

.tier-form {
  background: none;
  border: 0;
  margin: 0;
  padding: 0;
}

.tier-form-block + .tier-form-block {
  border-top: 1px solid var(--line);
  margin-top: 18px;
  padding-top: 18px;
}

.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-price-hint {
  color: var(--accent-2);
  letter-spacing: .02em;
  font-size: 12px;
}

.tier-switches {
  gap: 10px;
  display: grid;
}

.tier-switch-row {
  border: 1px solid var(--line);
  background: var(--bg-2);
  border-radius: 9px;
  padding: 11px 12px;
}

.tier-switch-row.is-on {
  border-color: var(--line-bright);
}

.tier-switch-head {
  cursor: pointer;
  align-items: center;
  gap: 12px;
  display: flex;
}

.tier-switch-input {
  opacity: 0;
  pointer-events: none;
  width: 1px;
  height: 1px;
  position: absolute;
}

.tier-switch {
  background: var(--line-bright);
  border-radius: 999px;
  flex: none;
  width: 36px;
  height: 20px;
  transition: background .15s;
  position: relative;
}

.tier-switch:after {
  content: "";
  background: var(--ink-dim);
  border-radius: 50%;
  width: 16px;
  height: 16px;
  transition: transform .15s, background .15s;
  position: absolute;
  top: 2px;
  left: 2px;
}

.tier-switch-row.is-on .tier-switch {
  background: var(--accent);
}

.tier-switch-row.is-on .tier-switch:after {
  background: #fff;
  transform: translateX(16px);
}

.tier-switch-input:focus-visible + .tier-switch {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.tier-switch-text {
  flex: 1;
  min-width: 0;
}

.tier-switch-text b {
  font-family: var(--font-ui);
  font-size: 13px;
  font-weight: 500;
  display: block;
}

.tier-switch-text small {
  font-family: var(--font-mono);
  letter-spacing: .03em;
  text-transform: uppercase;
  color: var(--ink-faint);
  font-size: 10px;
}

.tier-switch-reveal {
  border-top: 1px dashed var(--line);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
  padding-top: 12px;
  display: grid;
}

.tier-form-footer {
  border-top: 1px solid var(--line);
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-top: 18px;
  padding-top: 16px;
  display: flex;
}

.tier-check {
  font-family: var(--font-mono);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ink-dim);
  cursor: pointer;
  align-items: center;
  gap: 9px;
  font-size: 11px;
  display: flex;
}

.tier-check input {
  width: 16px;
  height: 16px;
  accent-color: var(--accent);
}

.button-icon {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6px;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
}

.tier-actions .button {
  white-space: nowrap;
  padding-left: 13px;
  padding-right: 13px;
}

@media (max-width: 760px) {
  .admin-shell {
    padding-inline: 18px;
  }

  .admin-section {
    padding: 20px 16px;
    overflow: hidden;
  }

  .admin-section h2 {
    overflow-wrap: anywhere;
  }

  .admin-section-head, .admin-section-head > div {
    max-width: 100%;
  }

  .admin-section-head {
    min-width: 0;
  }

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

  .community-band {
    padding-block: 54px;
  }

  .community-row {
    padding: 16px;
  }

  .discord-hero-panel {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 14px;
    padding: 20px;
  }

  .discord-hero-mark {
    border-radius: 18px;
    width: 72px;
    height: 72px;
  }

  .discord-fgw-logo {
    border-radius: 13px;
    width: 54px;
    height: 54px;
  }

  .discord-hero-copy h2 {
    margin-top: 8px;
    font-size: clamp(34px, 9.4vw, 46px);
  }

  .discord-hero-copy p {
    font-size: 14px;
    line-height: 1.48;
  }

  .discord-actions {
    gap: 9px;
    margin-top: 18px;
  }

  .discord-actions .button {
    min-height: 44px;
  }

  .discord-community-grid {
    grid-template-columns: 1fr;
  }

  .discord-actions .button, .admin-section-head .button {
    width: 100%;
  }
}

@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: 8px;
    min-height: auto;
    padding: 10px 10px 8px;
  }

  .app-nav {
    display: none;
  }

  .header-quota {
    letter-spacing: .06em;
    width: auto;
    max-width: 42vw;
    padding: 7px;
  }

  .header-quota strong {
    font-size: clamp(12px, 3.15vw, 16px);
  }

  .brand-wordmark {
    font-size: clamp(17px, 4.7vw, 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;
  }

  .cta-band {
    padding-block: 48px 64px;
  }

  .auth-art {
    border-right: 0;
    border-bottom: 1px solid var(--line);
    min-height: auto;
    padding: 16px 20px 18px;
  }

  .auth-art h1 {
    margin-block: 8px 0;
    font-size: 24px;
    line-height: .95;
  }

  .auth-flightpath, .auth-pass {
    display: none;
  }

  .auth-perks {
    display: flex;
  }

  .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: 26px;
  }

  .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;
  }

  .auth-oauth-button {
    min-height: 44px;
  }

  .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-card-grid {
    grid-template-columns: 1fr;
  }

  .history-card {
    padding: 16px;
  }

  .history-card-route h3 {
    font-size: 36px;
  }

  .history-card-metric strong {
    font-size: 31px;
  }

  .profile-page {
    padding-top: var(--sp-5);
  }

  .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-form-row-basics, .tier-switch-reveal, .admin-user-card, .admin-user-edit, .admin-pagination {
    grid-template-columns: 1fr;
  }

  .tier-stats, .tier-spec-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .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-chart2 {
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 8px;
  }

  .admin-donut-row {
    gap: 16px;
  }

  .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;
  }

  .admin-table-scroll .admin-table {
    min-width: 600px;
  }

  .results-head {
    margin-top: 18px;
  }

  .sort-pills {
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap;
    gap: 6px;
    width: 100%;
    overflow-x: auto;
  }

  .sort-pills::-webkit-scrollbar {
    display: none;
  }

  .sort-pills button {
    text-align: center;
    white-space: nowrap;
    flex: 1 1 0;
    min-width: max-content;
    padding: 6px 8px;
    font-size: 12px;
  }

  .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 {
    display: none;
  }

  .flight-stat-stops {
    letter-spacing: 0;
    font-size: 10px;
  }

  .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 rgba(var(--overlay-rgb), .08);
    border-radius: 6px;
    grid-template-columns: 1fr;
    gap: 0;
    overflow: hidden;
  }

  .fare-detail {
    background: rgba(var(--overlay-rgb), .018);
    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 rgba(var(--overlay-rgb), .08);
  }

  .fare-detail-gowild, .fare-detail-discount-den, .fare-detail-standard {
    background: rgba(var(--overlay-rgb), .018);
    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 {
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: 20px;
  display: grid;
}

.v2-header {
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  display: flex;
  margin-bottom: 12px !important;
}

.v2-header-copy h1 {
  font-family: var(--font-display);
  font-size: var(--fs-display-3);
  font-weight: 900;
  line-height: var(--lh-display);
  letter-spacing: .01em;
  text-transform: uppercase;
  margin: 4px 0 6px;
}

.v2-header-copy p:not(.eyebrow) {
  max-width: 560px;
  color: var(--ink-dim);
  font-family: var(--font-ui);
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
}

.v2-mode-tabs {
  background: rgba(var(--bg-2-rgb), .92);
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
  border-radius: 7px;
  gap: 4px;
  min-width: 0;
  max-width: 100%;
  padding: 4px;
  scroll-padding-inline: 4px;
  display: inline-flex;
  overflow-x: auto;
}

.v2-mode-tabs::-webkit-scrollbar {
  display: none;
}

.v2-mode-tabs-shell {
  min-width: 0;
  max-width: 100%;
  display: inline-flex;
  position: relative;
}

.v2-mode-tabs-shell.is-clipped-right .v2-mode-tabs {
  -webkit-mask-image: linear-gradient(to right,
    #000 calc(100% - 48px),
    rgba(var(--shadow-rgb), .4) calc(100% - 16px),
    transparent);
  -webkit-mask-image: linear-gradient(to right,
    #000 calc(100% - 48px),
    rgba(var(--shadow-rgb), .4) calc(100% - 16px),
    transparent);
  mask-image: linear-gradient(to right,
    #000 calc(100% - 48px),
    rgba(var(--shadow-rgb), .4) calc(100% - 16px),
    transparent);
}

.v2-mode-tabs-shell.is-clipped-left .v2-mode-tabs {
  -webkit-mask-image: linear-gradient(to right,
    transparent,
    rgba(var(--shadow-rgb), .4) 16px,
    #000 48px);
  -webkit-mask-image: linear-gradient(to right,
    transparent,
    rgba(var(--shadow-rgb), .4) 16px,
    #000 48px);
  mask-image: linear-gradient(to right,
    transparent,
    rgba(var(--shadow-rgb), .4) 16px,
    #000 48px);
}

.v2-mode-tabs-shell.is-clipped-left.is-clipped-right .v2-mode-tabs {
  -webkit-mask-image: linear-gradient(to right,
    transparent,
    rgba(var(--shadow-rgb), .4) 16px,
    #000 48px,
    #000 calc(100% - 48px),
    rgba(var(--shadow-rgb), .4) calc(100% - 16px),
    transparent);
  -webkit-mask-image: linear-gradient(to right,
    transparent,
    rgba(var(--shadow-rgb), .4) 16px,
    #000 48px,
    #000 calc(100% - 48px),
    rgba(var(--shadow-rgb), .4) calc(100% - 16px),
    transparent);
  mask-image: linear-gradient(to right,
    transparent,
    rgba(var(--shadow-rgb), .4) 16px,
    #000 48px,
    #000 calc(100% - 48px),
    rgba(var(--shadow-rgb), .4) calc(100% - 16px),
    transparent);
}

.v2-mode-tabs-shell:before, .v2-mode-tabs-shell:after {
  color: var(--accent);
  pointer-events: none;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.v2-mode-tabs-shell.is-clipped-left:before {
  content: "‹";
  left: 4px;
}

.v2-mode-tabs-shell.is-clipped-right:after {
  content: "›";
  right: 4px;
}

.v2-mode-tabs button {
  min-height: 36px;
  color: var(--ink-dim);
  font-family: var(--font-ui);
  letter-spacing: .01em;
  white-space: nowrap;
  background: none;
  border: 0;
  border-radius: 4px;
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 600;
  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 {
  box-sizing: border-box;
  border: 1px solid var(--line-bright);
  background: linear-gradient(135deg, rgba(var(--overlay-rgb), .03), transparent 52%),
    rgba(var(--bg-2-rgb), .92);
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-shadow: 0 18px 54px rgba(var(--shadow-rgb), .22);
  border-radius: 10px;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  padding: 14px;
  display: grid;
}

.v2-console-primary {
  box-sizing: border-box;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  display: flex;
}

.v2-console-primary > .v2-route-picker {
  flex: 360px;
  min-width: 0;
}

.v2-console-primary > .v2-picker {
  flex: 0 190px;
  min-width: 0;
}

.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-return-day-control, .v2-console-primary > .v2-route-finder-bounds {
  order: 1;
}

.v2-hunt-row {
  align-items: stretch;
  gap: 10px;
  min-width: 0;
  max-width: 100%;
  display: flex;
}

.v2-hunt-row .v2-hunt-button {
  flex: auto;
}

.v2-hunt-quota {
  display: none;
}

.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-airport-field {
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  display: grid;
  position: relative;
}

.v2-field-multi-toggle {
  position: absolute;
  top: -4px;
  right: 0;
}

.v2-field-multi-toggle:not(:disabled):hover {
  border-color: var(--line-bright);
  color: var(--ink);
}

.v2-field-multi-toggle: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-ui);
  letter-spacing: .01em;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 600;
}

.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 rgba(var(--accent-rgb), .35);
}

.v2-picker-control.is-disabled {
  opacity: .6;
}

.v2-picker-control.is-invalid {
  border-color: rgba(var(--warn-rgb), .75);
  box-shadow: inset 0 0 0 1px rgba(var(--warn-rgb), .45);
  animation: .3s v2-field-nudge;
}

@keyframes v2-field-nudge {
  25% {
    transform: translateX(-3px);
  }

  75% {
    transform: translateX(3px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .v2-picker-control.is-invalid {
    animation: none;
  }
}

.v2-picker-badge {
  border: 1px solid rgba(var(--accent-rgb), .4);
  background: rgba(var(--accent-rgb), .1);
  color: var(--accent);
  font-family: var(--font-mono);
  letter-spacing: .06em;
  border-radius: 5px;
  flex: none;
  padding: 4px 7px;
  font-size: 11px;
  font-weight: 800;
}

.v2-picker-input {
  min-width: 0;
  color: var(--ink);
  font-family: var(--font-ui);
  background: none;
  border: 0;
  flex: 1;
  padding: 13px 0;
  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, .v2-picker-add, .v2-field-multi-toggle {
  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-add + .v2-picker-clear {
  margin-left: 0;
}

.v2-picker-add {
  color: var(--accent);
  font-weight: 800;
}

.v2-picker-add:not(:disabled):hover {
  border-color: rgba(var(--accent-rgb), .4);
  background: rgba(var(--accent-rgb), .1);
}

.v2-picker-add:disabled {
  cursor: not-allowed;
  opacity: .5;
}

.v2-picker-clear:hover {
  border-color: var(--line-bright);
  color: var(--ink);
}

.v2-picker-popover {
  z-index: 62;
  width: 340px;
  max-width: min(calc(100vw - 32px), var(--popover-available-width, calc(100vw - 32px)));
  max-height: min(360px, 60dvh, var(--popover-available-height, 60dvh));
  overscroll-behavior: contain;
  pointer-events: auto;
  border: 1px solid var(--line-bright);
  background: linear-gradient(180deg, rgba(var(--bg-3-rgb), .99), rgba(var(--bg-rgb), .99)),
    var(--bg-2);
  box-shadow: 0 26px 70px rgba(var(--shadow-rgb), .5);
  scrollbar-width: none;
  -ms-overflow-style: none;
  border-radius: 8px;
  padding: 5px;
  overflow-y: auto;
}

.v2-picker-popover::-webkit-scrollbar {
  display: none;
}

.v2-picker-empty {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  text-align: center;
  padding: 18px;
  font-size: 12px;
}

.v2-picker-empty p {
  margin: 0;
}

.v2-picker-empty-hint {
  opacity: .7;
  margin-top: 6px;
}

.v2-picker-empty-action {
  border: 1px solid var(--line);
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  background: none;
  border-radius: 6px;
  margin-top: 8px;
  padding: 3px 9px;
}

.v2-picker-empty-action:hover {
  border-color: var(--ink-dim);
}

.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: rgba(var(--accent-rgb), .12);
}

.v2-picker-option.is-everywhere {
  border: 1px dashed rgba(var(--accent-2-rgb), .36);
  background: rgba(var(--accent-2-rgb), .05);
}

.v2-console-primary .v2-multi-picker-control, .v2-multi-picker-control {
  flex-wrap: wrap;
  align-content: center;
  row-gap: 6px;
  height: auto;
  min-height: 52px;
  padding-top: 6px;
  padding-bottom: 6px;
}

.v2-multi-picker-control .v2-picker-input {
  flex: 110px;
  min-width: 96px;
  padding: 6px 0;
}

.v2-multi-picker-control.has-value .v2-picker-input {
  flex-basis: 0;
  min-width: 0;
  margin-left: -8px;
}

.v2-multi-picker-chip.is-everywhere {
  border: 1px dashed rgba(var(--accent-2-rgb), .5);
  background: rgba(var(--accent-2-rgb), .07);
  color: var(--accent-2);
  align-items: center;
  gap: 5px;
  display: inline-flex;
}

.v2-multi-picker-chip.is-warn {
  border: 1px solid rgba(var(--warn-rgb), .55);
  background: rgba(var(--warn-rgb), .09);
  color: var(--warn);
}

.v2-picker-option-main {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.v2-picker-option-title {
  color: var(--ink);
  font-family: var(--font-ui);
  align-items: center;
  gap: 7px;
  font-size: 15px;
  font-weight: 750;
  display: inline-flex;
}

.v2-picker-globe {
  width: 15px;
  height: 15px;
  color: var(--accent-2);
}

.v2-picker-tag {
  border: 1px solid rgba(var(--good-rgb), .4);
  color: var(--good);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  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, rgba(var(--bg-3-rgb), .99), rgba(var(--bg-rgb), .99)),
    var(--bg-2);
  box-shadow: 0 26px 70px rgba(var(--shadow-rgb), .5);
  border-radius: 10px;
  padding: 14px;
}

.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 {
  background: rgba(var(--good-rgb), .16);
  border-color: rgba(var(--good-rgb), .5);
  color: var(--good);
}

.v2-day-blackout .rdp-day_button {
  background: rgba(var(--bad-rgb), .18);
  border-color: rgba(var(--bad-rgb), .45);
  color: var(--bad);
}

.v2-day-bookable.v2-day-blackout .rdp-day_button {
  background: rgba(var(--good-rgb), .16);
  border-color: rgba(var(--good-rgb), .5);
  color: var(--good);
}

.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: rgba(var(--good-rgb), .2);
  border-color: rgba(var(--good-rgb), .6);
}

.v2-legend-swatch.is-blackout {
  background: rgba(var(--bad-rgb), .2);
  border-color: rgba(var(--bad-rgb), .6);
}

.v2-toggle-group {
  background: #10161a;
  border-radius: 9px;
  gap: 5px;
  padding: 3px;
  display: inline-flex;
}

.v2-toggle-item {
  min-width: 34px;
  min-height: 28px;
  color: var(--ink-dim);
  font-family: var(--font-ui);
  letter-spacing: .01em;
  box-shadow: inset 0 1px rgba(var(--overlay-rgb), .03);
  background: none;
  border: 1px solid #0000;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  padding: 0 14px;
  font-size: 12.5px;
  font-weight: 600;
  transition: background .14s, border-color .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: linear-gradient(#eee9df2e, #eee9df21);
  border-color: #eee9df14;
}

.v2-fare-item.is-dd[data-state="on"] {
  color: #8fc2ff;
  background: linear-gradient(#346592b8, #1f4265b8);
  border-color: #8fc2ff14;
}

.v2-fare-item.is-gowild[data-state="on"] {
  border-color: rgba(var(--good-rgb), .08);
  color: var(--good);
  background: linear-gradient(#265e3ec2, #1d4831c2);
}

.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-ui);
  letter-spacing: .02em;
  color: var(--ink-dim);
  font-size: 9.5px;
  font-weight: 600;
}

.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, rgba(var(--bg-3-rgb), .99), rgba(var(--bg-rgb), .99)),
    var(--bg-2);
  min-width: 74px;
  max-height: 280px;
  box-shadow: 0 26px 70px rgba(var(--shadow-rgb), .5);
  border-radius: 8px;
  padding: 5px;
  overflow-y: auto;
}

.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 {
  background: rgba(var(--accent-rgb), .12);
  color: var(--ink);
}

.v2-pax-item[aria-selected="true"] {
  color: var(--accent);
}

.v2-switch-field {
  align-content: end;
  gap: 6px;
  display: grid;
}

.v2-switch-note {
  color: var(--ink-faint);
  margin-left: 6px;
  font-weight: 500;
}

.v2-switch-root {
  appearance: none;
  width: 38px;
  height: 22px;
  box-shadow: inset 0 1px 2px rgba(var(--shadow-rgb), .45);
  background: #151b1f;
  border: 1px solid #5d6c74b3;
  border-radius: 999px;
  align-items: center;
  padding: 2px;
  line-height: 0;
  transition: background .16s, border-color .16s, box-shadow .16s;
  display: inline-flex;
  position: relative;
}

.v2-switch-root[data-state="checked"] {
  border-color: rgba(var(--accent-rgb), .65);
  background: linear-gradient(180deg, var(--accent-hover), var(--accent-deep));
  box-shadow: inset 0 1px 1px rgba(var(--overlay-rgb), .16),
    0 0 0 1px rgba(var(--accent-rgb), .1);
}

.v2-switch-thumb {
  background: var(--ink);
  width: 16px;
  height: 16px;
  box-shadow: 0 1px 3px rgba(var(--shadow-rgb), .45),
    inset 0 -1px rgba(var(--shadow-rgb), .08);
  border-radius: 999px;
  flex: 0 0 16px;
  transition: background .16s, transform .16s;
  display: block;
  transform: translateX(0);
}

.v2-switch-root[data-state="checked"] .v2-switch-thumb {
  background: #fff7ec;
  transform: translateX(16px);
}

.v2-hunt-button {
  min-height: 52px;
  padding-inline: 22px;
  font-size: 15px;
}

.v2-hunt-button svg {
  width: 16px;
  height: 16px;
}

.v2-route-notice {
  border: 1px solid rgba(var(--warn-rgb), .4);
  background: rgba(var(--warn-rgb), .08);
  color: var(--warn);
  font-family: var(--font-ui);
  border-radius: 6px;
  margin: 0;
  padding: 9px 12px;
  font-size: 12.5px;
}

.v2-slider {
  gap: 8px;
  min-width: 160px;
  display: grid;
}

.v2-slider-head {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  min-height: 16px;
  display: flex;
}

.v2-slider-value {
  font-family: var(--font-mono);
  color: var(--ink);
  white-space: nowrap;
  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);
  width: 20px;
  height: 20px;
  box-shadow: 0 2px 7px rgba(var(--shadow-rgb), .5);
  cursor: grab;
  border-radius: 999px;
  transition: border-color .14s, transform .14s;
  display: block;
}

.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: rgba(var(--bg-rgb), .4);
  border-radius: 8px;
  align-items: center;
  gap: 12px;
  padding: 11px 20px;
  display: flex;
}

.v2-filter-bar > .v2-filter-controls {
  flex: auto;
  min-width: 0;
}

.v2-filter-clear {
  border: 1px solid var(--line);
  color: var(--ink);
  cursor: pointer;
  font-family: var(--font-ui);
  background: none;
  border-radius: 6px;
  flex: none;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 600;
}

.v2-filter-clear:hover {
  border-color: var(--ink-dim);
}

.v2-filter-icon {
  width: 15px;
  height: 15px;
  color: var(--ink-dim);
  flex: 0 0 15px;
}

.v2-filter-controls {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
  display: flex;
}

.v2-filter-controls > .v2-field, .v2-filter-controls > .v2-switch-field {
  flex: none;
}

.v2-filter-controls > .v2-slider {
  flex: 150px;
  min-width: 130px;
}

@media (min-width: 1321px) and (max-width: 1475px), (max-width: 1175px) {
  .v2-filter-bar .v2-filter-controls:before {
    content: "";
    flex: 0 0 100%;
    order: 1;
  }

  .v2-filter-bar .v2-filter-controls > .v2-slider {
    flex: 240px;
    order: 2;
    min-width: 220px;
  }
}

.v2-mobile-filter-trigger {
  box-sizing: border-box;
  border: 1px solid var(--line-bright);
  background: var(--bg-2);
  width: 100%;
  min-width: 0;
  max-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-filter-trigger-label {
  font-family: var(--font-ui);
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 650;
  display: inline-flex;
}

.v2-filter-count-badge {
  background: rgba(var(--accent-rgb), .16);
  border: 1px solid rgba(var(--accent-rgb), .4);
  min-width: 18px;
  height: 18px;
  color: var(--accent);
  font-family: var(--font-ui);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  padding: 0 5px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
}

.v2-filter-trigger-summary {
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: right;
  min-width: 0;
  color: var(--ink-dim);
  font-family: var(--font-ui);
  flex: auto;
  font-size: 12px;
  font-weight: 550;
  overflow: hidden;
}

.v2-drawer-overlay {
  z-index: 70;
  background: rgba(var(--shadow-rgb), .6);
  position: fixed;
  inset: 0;
}

.v2-drawer {
  z-index: 71;
  border-top: 1px solid var(--line-bright);
  background: linear-gradient(180deg, rgba(var(--bg-3-rgb), .99), rgba(var(--bg-rgb), .99)),
    var(--bg-2);
  max-height: 86vh;
  box-shadow: 0 -26px 70px rgba(var(--shadow-rgb), .5);
  border-radius: 14px 14px 0 0;
  padding: 18px;
  position: fixed;
  inset: auto 0 0;
  overflow-y: auto;
}

.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;
  min-width: 0;
  padding: 0;
}

.v2-drawer .v2-toggle-group, .v2-drawer .v2-fare-group {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  max-width: 100%;
  display: grid;
}

.v2-drawer .v2-toggle-item {
  white-space: nowrap;
  min-width: 0;
  padding-inline: 8px;
}

.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 {
  font-family: var(--font-display-2);
  letter-spacing: .02em;
  font-size: 16px;
  font-weight: 800;
}

.v2-day-section-head span {
  color: var(--ink-dim);
}

.v2-day-weather {
  border: 1px solid rgba(var(--good-rgb), .4);
  color: var(--good);
  border-radius: 6px;
  margin-left: auto;
  padding: 3px 9px;
  font-weight: 800;
}

.v2-day-error {
  border: 1px solid rgba(var(--bad-rgb), .4);
  background: rgba(var(--bad-rgb), .07);
  color: var(--bad);
  font-family: var(--font-mono);
  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%;
    min-width: 0;
    max-width: 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-return-day-control, .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-shell {
    width: 100%;
    display: flex;
  }

  .v2-mode-tabs {
    box-sizing: border-box;
    width: 100%;
    display: flex;
  }

  .v2-mode-tabs button {
    scroll-snap-align: start;
    text-align: center;
    flex: 1 0 auto;
    justify-content: center;
    padding: 8px 12px;
  }

  .v2-console-primary, .v2-console-primary > .v2-route-picker {
    min-width: 0;
    max-width: 100%;
  }

  .v2-console-primary > .v2-picker {
    flex: 1;
    min-width: 0;
  }

  .v2-console-primary > .v2-window-field, .v2-console-primary > .v2-pax-field {
    flex: none;
    min-width: 0;
  }

  .v2-mobile-filter-trigger {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .v2-console.is-day-tripper > .v2-console-primary {
    grid-template-columns: 58px minmax(0, 1fr);
    align-items: end;
    width: auto;
    min-width: 0;
    max-width: 100%;
    display: grid;
  }

  .v2-console.is-day-tripper > .v2-console-primary > .v2-route-picker, .v2-console.is-day-tripper > .v2-console-primary > .v2-picker, .v2-console.is-day-tripper > .v2-console-primary > .v2-return-day-control, .v2-console.is-day-tripper > .v2-console-primary > .v2-day-tripper-bounds, .v2-console.is-day-tripper > .v2-console-primary > .v2-same-home-toggle {
    grid-column: 1 / -1;
    width: auto;
    min-width: 0;
    max-width: 100%;
  }

  .v2-console.is-day-tripper .v2-slider, .v2-console.is-day-tripper .v2-slider-head, .v2-console.is-day-tripper .v2-slider-root {
    min-width: 0;
    max-width: 100%;
  }

  .v2-console.is-day-tripper > .v2-console-primary > .v2-pax-field {
    grid-column: 1;
    min-width: 0;
  }

  .v2-console.is-day-tripper > .v2-console-primary > .v2-hunt-row {
    grid-column: 2;
    width: auto;
    min-width: 0;
    max-width: 100%;
  }

  .v2-console.is-day-tripper > .v2-console-secondary {
    width: auto;
    min-width: 0;
    max-width: 100%;
  }

  .v2-console.is-day-tripper .v2-mobile-filter-trigger {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .v2-route-picker {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "from swap"
                         "to swap";
  }

  .v2-route-picker > .v2-airport-field:first-child {
    grid-area: from;
  }

  .v2-route-picker > .v2-airport-field:last-child {
    grid-area: to;
  }

  .v2-route-picker.is-single .v2-airport-field {
    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-mobile, var(--winctl-open-w)), calc(100vw - 32px));
    right: var(--winctl-shift-r, 0px);
    z-index: 40;
    border-color: var(--accent);
    background: var(--bg-2);
    box-shadow: 0 10px 30px rgba(var(--shadow-rgb), .45);
  }

  .v2-winctl-track {
    flex: auto;
    min-width: 0;
  }

  .v2-winctl-seg {
    flex: 1 1 0;
    min-width: 0;
  }

  .v2-field:has(.v2-winctl[data-expanded="true"]) {
    z-index: 41;
    position: relative;
  }

  .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-console.is-calendar .v2-pax-field .v2-winctl[data-expanded="true"] .v2-winctl-reveal, .v2-console.is-day-tripper .v2-pax-field .v2-winctl[data-expanded="true"] .v2-winctl-reveal, .v2-console.is-route-finder .v2-pax-field .v2-winctl[data-expanded="true"] .v2-winctl-reveal {
    left: var(--winctl-shift-l, 0px);
  }

  .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 {
  max-width: 100%;
  font-family: var(--font-display-2);
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
  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 3px;
  }

  .calendar-cell-secondary {
    display: none;
  }

  .calendar-cell-main {
    width: 100%;
    font-size: clamp(11px, 3.45vw, 14px);
    line-height: 1;
  }

  .calendar-price-full {
    display: none;
  }

  .calendar-price-round {
    display: inline;
  }
}

.alert-bell-button {
  border: 1px solid var(--line-bright);
  background: rgba(var(--bg-rgb), .38);
  width: 38px;
  min-height: 38px;
  color: var(--ink-dim);
  cursor: pointer;
  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 {
  background: rgba(var(--shadow-rgb), .6);
  z-index: 60;
  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);
  box-shadow: 0 24px 60px rgba(var(--shadow-rgb), .5);
  font-family: var(--font-ui);
  border-radius: 10px;
  padding: 20px;
  position: fixed;
  top: 50%;
  left: 50%;
  overflow-y: auto;
  transform: translate(-50%, -50%);
}

.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: rgba(var(--accent-rgb), .06);
}

.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-row select {
  text-overflow: ellipsis;
}

#alert-expiry {
  flex-basis: clamp(220px, 62vw, 260px);
}

.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 {
  background: rgba(var(--accent-rgb), .12);
  width: 48px;
  height: 48px;
  color: var(--accent);
  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;
}

.search-quota-dialog {
  width: min(380px, 100vw - 32px);
  padding: 18px;
}

.search-quota-dialog .alert-dialog-head {
  margin-bottom: 12px;
}

.search-quota-dialog .alert-dialog-title {
  font-size: 18px;
}

.search-quota-dialog-body {
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  display: flex;
}

.search-quota-dialog-title {
  color: var(--ink);
  font-family: var(--font-ui);
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
}

.search-quota-dialog-copy {
  color: var(--ink-dim);
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
}

.search-quota-dialog-actions {
  justify-content: flex-end;
  gap: 10px;
  margin-top: 8px;
  display: flex;
}

.search-quota-dialog-actions .button {
  min-width: 104px;
}

@media (max-width: 420px) {
  .search-quota-dialog-actions {
    flex-direction: column-reverse;
  }

  .search-quota-dialog-actions .button {
    width: 100%;
  }
}

.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, rgba(var(--overlay-rgb), .035), transparent 48%),
    rgba(var(--bg-2-rgb), .9);
  border-radius: 8px;
  flex-direction: column;
  display: flex;
  container-type: inline-size;
}

.alert-card-hot {
  border-color: var(--accent);
  background: linear-gradient(135deg, rgba(var(--accent-rgb), .08), transparent 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 {
  border: 1px solid rgba(var(--accent-rgb), .4);
  background: rgba(var(--accent-rgb), .1);
  color: var(--accent);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
  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 {
  font-family: var(--font-display-2);
  color: var(--ink);
  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);
  background: rgba(var(--bg-rgb), .38);
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  border-radius: 999px;
  padding: 3px 9px;
  font-size: 10px;
  font-weight: 800;
}

.alert-chip-gowild {
  border-color: rgba(var(--good-rgb), .35);
  background: rgba(var(--good-rgb), .08);
  color: var(--good);
}

.alert-chip-den {
  color: var(--den);
  background: #7fb5ff1a;
  border-color: #7fb5ff6b;
}

.alert-meta-row {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 0 16px 12px;
  display: flex;
}

.alert-chip-seats {
  border-color: rgba(var(--accent-rgb), .4);
  background: rgba(var(--accent-rgb), .1);
  color: var(--accent);
}

.alert-live-strip {
  border: 1px solid var(--line);
  background: #0a0e10b8;
  border-radius: 8px;
  grid-template-columns: minmax(112px, max-content) minmax(0, 1fr);
  align-items: center;
  gap: 16px 22px;
  margin: 0 16px 14px;
  padding: 14px 16px;
  display: grid;
}

.alert-live-meta {
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.alert-live-status {
  color: var(--ink);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 900;
  display: inline-flex;
}

.alert-live-dot {
  background: #ff3b32;
  border-radius: 999px;
  width: 10px;
  height: 10px;
  box-shadow: 0 0 0 7px #ff3b3221;
}

.alert-live-checked {
  color: var(--ink-faint);
  font-family: var(--font-ui);
  letter-spacing: 0;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.2;
}

.alert-live-offer {
  justify-self: end;
  justify-items: start;
  gap: 6px;
  min-width: 0;
  display: grid;
}

.alert-live-offer strong {
  font-family: var(--font-display-2);
  color: var(--ink);
  letter-spacing: 0;
  white-space: nowrap;
  font-size: clamp(28px, 3.8vw, 36px);
  font-weight: 800;
  line-height: 1;
}

.alert-live-fareline {
  white-space: nowrap;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
  display: inline-flex;
}

.alert-live-fareline span, .alert-live-fareline em {
  font-family: var(--font-mono);
  letter-spacing: .02em;
  text-transform: uppercase;
  font-size: 13px;
  font-weight: 650;
}

.alert-live-fareline em {
  color: var(--ink);
  font-style: normal;
}

.alert-live-fareline em:before {
  content: "·";
  color: var(--ink-faint);
  margin-right: 8px;
}

.alert-statbar {
  border-top: 1px solid rgba(var(--overlay-rgb), .07);
  grid-template-columns: minmax(0, 1fr) auto;
  justify-content: space-between;
  align-items: center;
  gap: 10px 16px;
  margin: auto 16px 0;
  padding: 12px 0 14px;
  display: grid;
}

.alert-stats {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  min-width: 0;
  display: flex;
}

.alert-card .flight-stat {
  letter-spacing: .01em;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.3;
}

.alert-card .flight-stat svg {
  width: 16px;
  height: 16px;
}

.alert-actions {
  align-items: stretch;
  gap: 8px;
  margin-inline-start: 0;
  display: flex;
}

@container (max-width: 420px) {
  .alert-statbar {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  .alert-actions {
    justify-content: flex-start;
  }
}

.alert-actions .book-button {
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.alert-card-delete {
  flex: none;
  gap: 6px;
}

.alert-confirm-delete {
  border-color: rgba(var(--bad-rgb), .5);
  color: var(--bad);
  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-live-strip {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 14px;
  }

  .alert-live-meta {
    flex-flow: wrap;
    align-items: center;
    gap: 8px 12px;
  }

  .alert-live-checked {
    white-space: nowrap;
  }

  .alert-live-offer {
    justify-self: stretch;
    gap: 6px;
  }

  .alert-live-offer strong {
    font-size: clamp(30px, 10vw, 38px);
  }

  .alert-live-fareline span, .alert-live-fareline em {
    font-size: 13px;
  }

  .alert-live-fareline {
    text-overflow: ellipsis;
    max-width: 100%;
    overflow: hidden;
  }

  .alert-statbar {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  .alert-actions {
    margin-inline-start: 0;
  }

  .alert-actions .button, .alert-actions .book-button {
    flex: 1;
    justify-content: center;
  }

  .alert-actions .alert-card-delete {
    flex: none;
    justify-content: flex-start;
  }

  .notif-row-stacked .notif-device .button {
    justify-content: center;
    width: 100%;
  }

  .settings-card-notif .notif-row {
    flex-direction: column;
    align-items: stretch;
  }

  .settings-card-notif .notif-device, .settings-card-notif .notif-linked {
    align-self: flex-start;
    margin-left: 0;
    padding-left: 28px;
  }

  .settings-card-notif .notif-device {
    justify-content: flex-start;
  }

  .settings-card-notif .notif-device-prompt {
    text-align: left;
  }
}

.header-install-slot {
  align-items: center;
  gap: 8px;
  min-width: 0;
  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);
  border: 1px solid rgba(var(--good-rgb), .32);
  background: linear-gradient(180deg, rgba(var(--good-rgb), .1), rgba(var(--good-rgb), .035)),
    rgba(var(--bg-2-rgb), .7);
}

.header-quota-mini.is-empty {
  color: var(--bad);
  border: 1px solid rgba(var(--bad-rgb), .34);
  background: linear-gradient(180deg, rgba(var(--bad-rgb), .1), rgba(var(--bad-rgb), .035)),
    rgba(var(--bg-2-rgb), .7);
}

@media (max-width: 760px) {
  .header-install-slot .header-quota-mini {
    display: none;
  }
}

.header-install-chip {
  border: 1px solid rgba(var(--accent-rgb), .45);
  background: linear-gradient(180deg, rgba(var(--accent-rgb), .16), rgba(var(--accent-rgb), .05)),
    rgba(var(--bg-2-rgb), .7);
  min-width: 0;
  height: 34px;
  color: var(--ink);
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  border-radius: 7px;
  align-items: center;
  gap: 6px;
  padding: 0 12px;
  font-size: 11px;
  display: inline-flex;
}

.header-install-chip:active {
  background: linear-gradient(180deg, rgba(var(--accent-rgb), .28), rgba(var(--accent-rgb), .1)),
    rgba(var(--bg-2-rgb), .7);
}

@media (max-width: 520px) {
  .header-install-chip {
    letter-spacing: .04em;
    gap: 5px;
    padding: 0 9px;
    font-size: 10px;
  }
}

@media (max-width: 380px) {
  .alert-row:has(#alert-expiry) {
    flex-direction: column;
    align-items: stretch;
  }

  #alert-expiry {
    flex-basis: auto;
    width: 100%;
  }
}

.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 {
  border: 1px solid rgba(var(--accent-rgb), .5);
  background: rgba(var(--accent-rgb), .13);
  color: var(--accent);
  white-space: nowrap;
  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);
  border: 1px solid rgba(var(--accent-rgb), .5);
  background: rgba(var(--accent-rgb), .14);
  width: 25px;
  height: 25px;
  color: var(--accent);
  font-family: var(--font-mono);
  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);
  background: rgba(var(--accent-2-rgb), .05);
  color: var(--ink-dim);
  font-family: var(--font-ui);
  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 {
  border: 1px solid rgba(var(--accent-rgb), .45);
  color: var(--ink);
  font-family: var(--font-mono);
  letter-spacing: .05em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  background: none;
  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));
}

:is(html[data-standalone="true"]:has(.page-scroller), html[data-standalone="true"]:has(.standalone-scroll-shell)) {
  height: 100%;
  overflow: hidden;
}

:is(html[data-standalone="true"]:has(.page-scroller) body, html[data-standalone="true"]:has(.standalone-scroll-shell) 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"] .standalone-scroll-shell {
  height: var(--app-viewport-height, 100dvh);
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  min-height: 0;
  overflow: hidden auto;
}

html[data-standalone="true"] .standalone-scroll-shell .app-header {
  z-index: 50;
  position: sticky;
  top: 0;
}

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(180deg, #000, rgba(var(--bg-rgb), 1)),
      #0b0d0e;
  }

  html[data-standalone="true"] .header-primary {
    background: linear-gradient(180deg, #000, rgba(var(--bg-2-rgb), .74));
  }

  html[data-standalone="true"][data-theme="light"] .app-header {
    background: rgb(var(--bg-rgb));
  }

  html[data-standalone="true"][data-theme="light"] .header-primary {
    background: linear-gradient(180deg, rgb(var(--bg-rgb)), rgba(var(--bg-2-rgb), .74));
  }
}

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[data-standalone="true"] .app-header, html[data-standalone="true"] .bottom-tab-bar {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  touch-action: none;
}

.bottom-tab-bar {
  --bottom-tab-track-pad: 18px;
  --dock-tint: #0f121485;
  --dock-shadow: 0 22px 48px #00000094, inset 0 1px 0 #ffffff3d,
    inset 0 -1px 0 #0000005c;
  display: none;
}

html[data-theme="light"] .bottom-tab-bar {
  --dock-tint: rgba(var(--bg-3-rgb), .34);
  --dock-shadow: 0 18px 42px #00000029, inset 0 1px 0 #ffffffa6,
    inset 0 -1px 0 #00000014;
}

.bottom-tab-glass {
  border: 1px solid rgba(var(--overlay-rgb), .18);
  border-radius: var(--bottom-tab-shell-radius, 999px);
  background: linear-gradient(180deg, rgba(var(--overlay-rgb), .13), rgba(var(--overlay-rgb), .025)),
    #0a0d0f94;
  width: 100%;
  height: 100%;
}

html[data-theme="light"] .bottom-tab-glass {
  background: linear-gradient(180deg, #ffffff57, #ffffff1a),
    rgba(var(--bg-3-rgb), .38);
}

.bottom-tab-glass:before {
  content: "";
  z-index: 1;
  border-radius: calc(var(--bottom-tab-shell-radius, 999px) - 1px);
  background: linear-gradient(90deg, transparent 4%, rgba(var(--overlay-rgb), .16) 12%, transparent 30%),
    linear-gradient(270deg, transparent 4%, rgba(var(--overlay-rgb), .11) 13%, transparent 32%);
  mix-blend-mode: screen;
  pointer-events: none;
  position: absolute;
  inset: 1px;
}

.bottom-tab-glass > div:last-child {
  height: 100%;
}

.bottom-tab-bar-inner {
  height: 100%;
  padding-inline: var(--bottom-tab-track-pad);
  grid-auto-columns: 1fr;
  grid-auto-flow: column;
  display: grid;
  position: relative;
}

.bottom-tab-indicator {
  display: none;
}

@media (max-width: 760px) {
  html[data-standalone="true"] .bottom-tab-bar {
    --bottom-tab-shell-radius: 33px;
    --bottom-tab-indicator-width: min(76px, calc((var(--bottom-tab-dock-width) - (var(--bottom-tab-track-pad) * 2)) / 5 + 10px));
    --bottom-tab-indicator-height: 50px;
    --bottom-tab-dock-width: min(390px, calc(100vw - 40px));
    right: auto;
    bottom: max(8px, calc(env(safe-area-inset-bottom, 0px) - 8px));
    z-index: 60;
    width: var(--bottom-tab-dock-width);
    height: 66px;
    transition: width .22s cubic-bezier(.32, .72, .33, 1), bottom .22s cubic-bezier(.32, .72, .33, 1), height .22s cubic-bezier(.32, .72, .33, 1);
    display: block;
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
  }

  html[data-standalone="true"] .bottom-tab-bar--compact {
    --bottom-tab-shell-radius: 27px;
    --bottom-tab-indicator-width: min(58px, calc((var(--bottom-tab-dock-width) - (var(--bottom-tab-track-pad) * 2)) / 5 + 7px));
    --bottom-tab-indicator-height: 40px;
    --bottom-tab-dock-width: min(302px, calc(100vw - 124px));
    bottom: max(12px, calc(env(safe-area-inset-bottom, 0px) - 2px));
    height: 54px;
  }

  html[data-standalone="true"] .bottom-tab-bar--pressed {
    --bottom-tab-shell-radius: 35px;
    --bottom-tab-indicator-width: min(80px, calc((var(--bottom-tab-dock-width) - (var(--bottom-tab-track-pad) * 2)) / 5 + 10px));
    --bottom-tab-indicator-height: 52px;
    --bottom-tab-dock-width: min(398px, calc(100vw - 32px));
    bottom: max(7px, calc(env(safe-area-inset-bottom, 0px) - 9px));
    height: 70px;
  }

  html[data-standalone="true"] .bottom-tab-bar--pressed .bottom-tab-glass {
    background: linear-gradient(180deg, rgba(var(--overlay-rgb), .18), rgba(var(--overlay-rgb), .04)),
      #0e1214a3;
  }

  html[data-standalone="true"][data-theme="light"] .bottom-tab-bar--pressed .bottom-tab-glass {
    background: linear-gradient(180deg, #ffffff6b, #ffffff24),
      rgba(var(--bg-3-rgb), .46);
  }

  html[data-standalone="true"] .bottom-tab {
    min-width: 0;
    min-height: 0;
    color: var(--ink-dim);
    place-items: center;
    padding: 0;
    text-decoration: none;
    transition: color .16s;
    display: grid;
  }

  html[data-standalone="true"] .bottom-tab svg {
    width: 28px;
    height: 28px;
    filter: drop-shadow(0 2px 7px rgba(var(--shadow-rgb), .28));
    transition: width .22s cubic-bezier(.32, .72, .33, 1), height .22s cubic-bezier(.32, .72, .33, 1);
  }

  html[data-standalone="true"] .bottom-tab-bar--compact .bottom-tab svg {
    width: 25px;
    height: 25px;
  }

  html[data-standalone="true"] .bottom-tab-bar--pressed .bottom-tab svg {
    width: 29px;
    height: 29px;
  }

  html[data-standalone="true"] .bottom-tab.active {
    color: var(--accent);
  }

  html[data-standalone="true"] .bottom-tab-indicator {
    top: 0;
    bottom: 0;
    left: var(--bottom-tab-track-pad);
    width: calc((100% - (var(--bottom-tab-track-pad) * 2)) / 5);
    pointer-events: none;
    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;
  }

  html[data-standalone="true"][data-tab-swiping] .bottom-tab-indicator, html[data-standalone="true"][data-tab-dock-dragging] .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: "";
    width: var(--bottom-tab-indicator-width);
    height: var(--bottom-tab-indicator-height);
    border: 1px solid rgba(var(--overlay-rgb), .2);
    border-radius: calc(var(--bottom-tab-indicator-height) / 2);
    background: linear-gradient(180deg, rgba(var(--overlay-rgb), .16), rgba(var(--overlay-rgb), .04)),
      rgba(var(--overlay-rgb), .12);
    box-shadow: 0 10px 24px rgba(var(--shadow-rgb), .28),
      inset 0 1px 0 rgba(var(--overlay-rgb), .26);
    transition: width .22s cubic-bezier(.32, .72, .33, 1), height .22s cubic-bezier(.32, .72, .33, 1);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  html[data-standalone="true"] .bottom-tab {
    position: relative;
  }

  html[data-standalone="true"] .bottom-tab-bar--android {
    --bottom-tab-shell-radius: 0;
    --dock-tint: transparent;
    --bottom-tab-indicator-width: 52px;
    --bottom-tab-indicator-height: 36px;
    --bottom-tab-dock-width: 100vw;
    width: 100vw;
    height: calc(64px + env(safe-area-inset-bottom, 0px));
    padding-bottom: env(safe-area-inset-bottom, 0px);
    border-top: 1px solid rgba(var(--overlay-rgb), .1);
    background: #0a0d0ff5;
    transition: none;
    bottom: 0;
    left: 0;
    right: 0;
    transform: none;
  }

  html[data-standalone="true"][data-theme="light"] .bottom-tab-bar--android {
    background: rgba(var(--bg-2-rgb), .97);
  }

  html[data-standalone="true"] .bottom-tab-bar--android.bottom-tab-bar--compact, html[data-standalone="true"] .bottom-tab-bar--android.bottom-tab-bar--pressed {
    --bottom-tab-shell-radius: 0;
    --bottom-tab-indicator-width: 52px;
    --bottom-tab-indicator-height: 36px;
    --bottom-tab-dock-width: 100vw;
    width: 100vw;
    height: calc(64px + env(safe-area-inset-bottom, 0px));
    bottom: 0;
  }

  html[data-standalone="true"] .bottom-tab-bar--android .bottom-tab-glass {
    background: none;
    border: 0;
    border-radius: 0;
    box-shadow: none !important;
  }

  html[data-standalone="true"] .bottom-tab-bar--android .bottom-tab-glass:before {
    display: none;
  }

  html[data-standalone="true"] .bottom-tab-bar--android .bottom-tab svg, html[data-standalone="true"] .bottom-tab-bar--android.bottom-tab-bar--compact .bottom-tab svg, html[data-standalone="true"] .bottom-tab-bar--android.bottom-tab-bar--pressed .bottom-tab svg {
    filter: none;
    width: 25px;
    height: 25px;
  }

  html[data-standalone="true"] .bottom-tab-bar--android .bottom-tab-indicator:after {
    border-color: rgba(var(--accent-rgb), .3);
    background: rgba(var(--accent-rgb), .14);
    box-shadow: none;
  }

  html[data-standalone="true"] .page-shell:has(.bottom-tab-bar):not(:has(.page-scroller)) {
    padding-bottom: calc(90px + 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(.page-scroller) .tab-pane {
    padding-bottom: calc(90px + env(safe-area-inset-bottom));
  }

  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, rgba(var(--overlay-rgb), .035), transparent 48%),
    rgba(var(--bg-2-rgb), .9);
  border-radius: 8px;
  transition: border-color .18s, box-shadow .18s;
  overflow: hidden;
}

.day-tripper-dest-card:hover {
  border-color: rgba(var(--accent-rgb), .4);
}

.day-tripper-dest-card:has(.day-tripper-dest-head.is-open) {
  border-color: rgba(var(--accent-rgb), .34);
  box-shadow: 0 18px 54px rgba(var(--shadow-rgb), .22);
}

.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 {
  font-family: var(--font-display-2);
  margin-top: 18px;
  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: var(--font-display-2);
  font-size: 26px;
  font-weight: 850;
  line-height: 1;
}

.day-tripper-dest-skeleton {
  pointer-events: none;
}

.day-tripper-dest-skeleton .day-tripper-dest-head {
  cursor: default;
}

.dt-sk-code {
  width: 120px;
  height: 36px;
  margin-top: 18px;
}

.dt-sk-city {
  width: 150px;
  height: 12px;
  margin-top: 8px;
}

.dt-sk-price {
  width: 88px;
  height: 24px;
  margin-top: 12px;
}

.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, rgba(var(--overlay-rgb), .035), transparent 48%),
    rgba(var(--bg-2-rgb), .9);
  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-card-skeleton {
  pointer-events: none;
}

.paired-skeleton-legs {
  gap: 10px;
  padding: 14px 20px 4px;
  display: grid;
}

.paired-skeleton-leg {
  border-radius: 8px;
  height: 44px;
}

.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 {
  border: 1px solid rgba(var(--accent-rgb), .4);
  background: rgba(var(--accent-rgb), .1);
  color: var(--accent);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  border-radius: 999px;
  justify-self: start;
  padding: 3px 10px;
  font-size: 10px;
  font-weight: 800;
}

.paired-itinerary-route-tag {
  border: 1px solid var(--line);
  background: var(--bg-3);
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  border-radius: 999px;
  justify-self: start;
  padding: 3px 10px;
  font-size: 10px;
  font-weight: 800;
}

.paired-itinerary-price {
  font-family: var(--font-display-2);
  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 rgba(var(--overlay-rgb), .07);
  align-items: center;
  gap: 12px 18px;
  margin: 12px 20px 0;
  padding-top: 12px;
  display: flex;
}

.one-way-preview-details-cue {
  min-height: 44px;
  color: var(--ink-faint);
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: default;
  justify-content: center;
  align-items: center;
  gap: 7px;
  padding-inline: 10px;
  font-size: 11px;
  font-weight: 800;
  display: inline-flex;
}

.one-way-preview-details-cue .details-chevron {
  opacity: .6;
  transition: none;
}

.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;
}

.v2-return-day-control {
  flex: 100%;
  width: 100%;
}

.v2-return-day-toggle {
  background: #10161a;
  border-radius: 9px;
  gap: 5px;
  width: fit-content;
  padding: 3px;
  display: inline-flex;
}

.v2-same-home-toggle {
  border: 1px solid var(--line);
  background: rgba(var(--overlay-rgb), .02);
  width: fit-content;
  min-height: 44px;
  color: var(--ink);
  font-family: var(--font-mono);
  letter-spacing: .12em;
  text-transform: uppercase;
  align-items: center;
  gap: .65rem;
  padding: .65rem .9rem;
  font-size: .78rem;
  font-weight: 800;
  display: inline-flex;
}

.v2-same-home-toggle input {
  width: 18px;
  height: 18px;
  accent-color: var(--accent);
}

.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: var(--accent-ink);
  background: linear-gradient(180deg, var(--accent-hover) 0%, var(--accent) 100%);
  box-shadow: 0 6px 18px rgba(var(--accent-rgb), .3),
    inset 0 1px 0 #ffffff47;
  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;
}

.kona-root .kona-create:hover {
  filter: brightness(1.05);
}

.kona-root .kona-create:active {
  box-shadow: 0 3px 10px rgba(var(--accent-rgb), .28);
  transform: translateY(1px);
}

.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: rgba(var(--accent-rgb), .18);
  box-shadow: 0 0 0 1px rgba(var(--accent-rgb), .4);
}

.kona-copy-flag {
  z-index: 2;
  background: var(--accent);
  color: var(--accent-ink);
  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 {
  background: rgba(var(--shadow-rgb), .6);
  z-index: 80;
  position: fixed;
  inset: 0;
}

.kona-dialog {
  z-index: 81;
  background: var(--bg-2);
  border: 1px solid var(--line-bright);
  width: min(400px, 100vw - 32px);
  box-shadow: 0 24px 60px rgba(var(--shadow-rgb), .5);
  font-family: var(--font-ui);
  border-radius: 12px;
  padding: 20px;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.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, .dst-edit-form, .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, .dst-edit-form, .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;
  }
}

.blog-header {
  padding-top: clamp(32px, 6vw, 72px);
  padding-bottom: 8px;
}

.blog-header h1 {
  font-family: var(--font-display);
  margin: 8px 0 16px;
  font-size: clamp(36px, 6vw, 56px);
  line-height: 1.04;
}

.blog-header > p:not(.eyebrow) {
  max-width: 60ch;
  color: var(--ink-dim);
  font-size: 1.05rem;
}

.blog-list ul {
  gap: 16px;
  margin: 0;
  padding: 0 0 clamp(48px, 8vw, 96px);
  list-style: none;
  display: grid;
}

.blog-card {
  border: 1px solid var(--line);
  background: var(--bg-2);
  border-radius: 14px;
  padding: 24px;
  text-decoration: none;
  transition: border-color .15s, transform .15s;
  display: block;
}

.blog-card:hover {
  border-color: var(--line-bright);
  transform: translateY(-2px);
}

.blog-card time {
  font-family: var(--font-ui);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ink-faint);
  font-size: .8rem;
}

.blog-card h2 {
  font-family: var(--font-display);
  color: var(--ink);
  margin: 8px 0;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.1;
}

.blog-card p {
  color: var(--ink-dim);
  margin: 0;
}

.blog-post {
  max-width: 72ch;
  padding-top: clamp(24px, 5vw, 56px);
  padding-bottom: clamp(48px, 8vw, 96px);
}

.blog-breadcrumb {
  font-family: var(--font-ui);
  margin-bottom: 24px;
  font-size: .85rem;
}

.blog-breadcrumb a {
  color: var(--ink-dim);
  text-decoration: none;
}

.blog-breadcrumb a:hover {
  color: var(--ink);
}

.blog-post-header time {
  font-family: var(--font-ui);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ink-faint);
  font-size: .8rem;
}

.blog-post-header h1 {
  font-family: var(--font-display);
  margin: 8px 0 0;
  font-size: clamp(32px, 5vw, 48px);
  line-height: 1.06;
}

.blog-prose {
  font-family: var(--font-ui);
  color: var(--ink);
  margin-top: 32px;
  font-size: 1.0625rem;
  line-height: 1.7;
}

.blog-prose h2 {
  font-family: var(--font-display);
  margin: 44px 0 12px;
  font-size: clamp(23px, 3vw, 30px);
  line-height: 1.15;
}

.blog-prose h3 {
  font-family: var(--font-ui);
  margin: 32px 0 8px;
  font-size: 1.15rem;
  font-weight: 600;
}

.blog-prose p {
  margin: 0 0 20px;
}

.blog-prose ul, .blog-prose ol {
  margin: 0 0 20px;
  padding-left: 1.4em;
}

.blog-prose li {
  margin-bottom: 10px;
}

.blog-prose a {
  color: var(--accent);
  text-underline-offset: 3px;
}

.blog-prose strong {
  color: var(--ink);
}

.blog-prose table {
  border-collapse: collapse;
  width: 100%;
  margin: 0 0 24px;
  font-size: .97rem;
}

.blog-prose th, .blog-prose td {
  text-align: left;
  border: 1px solid var(--line);
  padding: 10px 14px;
}

.blog-prose thead th {
  background: var(--bg-2);
  color: var(--ink);
  font-weight: 600;
}

.blog-prose tbody tr:nth-child(2n) {
  background: var(--bg-2);
}

.guide-faq {
  margin-top: clamp(32px, 5vw, 56px);
}

.guide-faq h2 {
  font-family: var(--font-display);
  margin: 0 0 16px;
  font-size: clamp(24px, 3vw, 32px);
}

.blog-callout {
  border-left: 3px solid var(--accent);
  background: var(--bg-2);
  color: var(--ink-dim);
  border-radius: 0 10px 10px 0;
  margin: 28px 0;
  padding: 16px 20px;
}

.blog-callout p:last-child {
  margin-bottom: 0;
}

.blog-cta {
  border: 1px solid var(--line-bright);
  background: var(--bg-3);
  text-align: center;
  border-radius: 14px;
  margin: 40px 0 8px;
  padding: 28px;
}

.blog-cta h3 {
  font-family: var(--font-display);
  margin: 0 0 8px;
  font-size: clamp(24px, 3vw, 32px);
}

.blog-cta p {
  color: var(--ink-dim);
  margin: 0 0 20px;
}

.flights-hero {
  padding-top: clamp(24px, 5vw, 64px);
  padding-bottom: 8px;
}

.flights-hero h1 {
  font-family: var(--font-display);
  margin: 8px 0 16px;
  font-size: clamp(34px, 5vw, 60px);
  line-height: 1.05;
}

.flights-lede {
  font-family: var(--font-ui);
  color: var(--ink-dim);
  max-width: 62ch;
  margin: 0 0 24px;
  font-size: 1.0625rem;
  line-height: 1.6;
}

.flights-lede strong {
  color: var(--ink);
}

.flights-destinations {
  padding-top: clamp(20px, 3vw, 32px);
  padding-bottom: 8px;
}

.flights-destinations h2, .flights-gowild h2 {
  font-family: var(--font-display);
  margin: 0 0 16px;
  font-size: clamp(23px, 3vw, 30px);
  line-height: 1.15;
}

.flights-dest-grid {
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.flights-dest-grid a {
  font-family: var(--font-ui);
  border: 1px solid var(--line);
  background: var(--bg-2);
  color: var(--ink);
  border-radius: 10px;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  padding: 10px 14px;
  font-size: .95rem;
  text-decoration: none;
  transition: border-color .15s, background .15s;
  display: flex;
}

.flights-dest-grid a:hover {
  border-color: var(--line-bright);
  background: var(--bg-3);
}

.flights-dest-code {
  font-family: var(--font-mono);
  letter-spacing: .03em;
  color: var(--ink-faint);
  font-size: .78rem;
}

.flights-gowild {
  padding-top: clamp(28px, 4vw, 48px);
}

.flights-gowild p {
  font-family: var(--font-ui);
  color: var(--ink);
  max-width: 68ch;
  margin: 0 0 16px;
  font-size: 1.0625rem;
  line-height: 1.7;
}

.flights-gowild a {
  color: var(--accent);
  text-underline-offset: 2px;
  text-decoration: underline;
}

.flights-stats {
  padding-top: clamp(16px, 2.5vw, 24px);
}

.flights-stat-grid {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.flights-stat {
  border: 1px solid var(--line);
  background: var(--bg-2);
  border-radius: 12px;
  padding: 14px 16px;
}

.flights-stat dt {
  font-family: var(--font-ui);
  color: var(--ink-dim);
  margin: 0 0 6px;
  font-size: .8rem;
}

.flights-stat dd {
  font-family: var(--font-display);
  color: var(--ink);
  margin: 0;
  font-size: 1.5rem;
  line-height: 1.1;
}

.flights-hub-excellent, .flights-hub-strong {
  color: var(--good);
}

.flights-hub-good {
  color: var(--accent-2);
}

.flights-hub-limited {
  color: var(--ink-dim);
}

.flights-besttime, .flights-routes, .flights-nearby, .flights-faq {
  padding-top: clamp(28px, 4vw, 48px);
}

.flights-besttime h2, .flights-routes h2, .flights-nearby h2, .flights-faq h2 {
  font-family: var(--font-display);
  margin: 0 0 16px;
  font-size: clamp(23px, 3vw, 30px);
  line-height: 1.15;
}

.flights-besttime p, .flights-nearby p {
  font-family: var(--font-ui);
  color: var(--ink);
  max-width: 68ch;
  margin: 0 0 16px;
  font-size: 1.0625rem;
  line-height: 1.7;
}

.flights-route-table {
  border-collapse: collapse;
  width: 100%;
  font-family: var(--font-ui);
  font-size: .95rem;
}

.flights-route-table th {
  text-align: left;
  color: var(--ink-dim);
  border-bottom: 1px solid var(--line);
  padding: 8px 12px;
  font-weight: 600;
}

.flights-route-table td {
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  padding: 10px 12px;
}

.flights-route-table a {
  font-family: var(--font-mono);
  color: var(--ink);
  text-decoration: none;
}

.flights-route-table a:hover {
  color: var(--accent);
}

.flights-route-city {
  color: var(--ink-faint);
}

.flights-route-fare {
  color: var(--good);
  font-variant-numeric: tabular-nums;
}

.flights-route-note {
  font-family: var(--font-ui);
  color: var(--ink-faint);
  max-width: 64ch;
  margin: 12px 0 0;
  font-size: .82rem;
  line-height: 1.5;
}

.flights-nearby-list {
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.flights-nearby-list a {
  font-family: var(--font-ui);
  border: 1px solid var(--line);
  background: var(--bg-2);
  color: var(--ink);
  border-radius: 999px;
  align-items: baseline;
  gap: 6px;
  padding: 8px 14px;
  font-size: .95rem;
  text-decoration: none;
  transition: border-color .15s, background .15s;
  display: inline-flex;
}

.flights-nearby-list a:hover {
  border-color: var(--line-bright);
  background: var(--bg-3);
}

.site-footer {
  font-family: var(--font-ui);
  border-top: 1px solid var(--line);
  margin-top: clamp(48px, 8vw, 96px);
  padding: clamp(32px, 5vw, 56px) clamp(20px, 5vw, 64px) 24px;
}

.site-footer-inner {
  grid-template-columns: 1.4fr repeat(3, 1fr);
  gap: 32px;
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
}

.site-footer-wordmark {
  font-family: var(--font-display);
  color: var(--ink);
  font-size: 1.5rem;
}

.site-footer-brand p {
  max-width: 32ch;
  color: var(--ink-dim);
  margin: 8px 0 0;
  font-size: .9rem;
  line-height: 1.5;
}

.site-footer-heading {
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin: 0 0 12px;
  font-size: .75rem;
}

.site-footer-col ul {
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.site-footer-col a {
  color: var(--ink-dim);
  font-size: .92rem;
  text-decoration: none;
}

.site-footer-col a:hover {
  color: var(--ink);
}

.site-footer-bottom {
  border-top: 1px solid var(--line);
  max-width: 1100px;
  color: var(--ink-faint);
  justify-content: space-between;
  gap: 16px;
  margin: clamp(32px, 5vw, 48px) auto 0;
  padding-top: 20px;
  font-size: .8rem;
  display: flex;
}

@media (max-width: 720px) {
  .site-footer-inner {
    grid-template-columns: 1fr 1fr;
  }

  .site-footer-brand {
    grid-column: 1 / -1;
  }
}

.world-cup-match-toggle {
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--fs-small);
  color: var(--ink-dim);
  font-family: var(--font-ui);
  display: inline-flex;
}

.world-cup-match-toggle input {
  accent-color: var(--accent);
}

.world-cup-match-toggle small {
  color: var(--ink-faint);
}

.world-cup-event-grid {
  gap: var(--sp-3);
  margin: var(--sp-4) 0;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  display: grid;
}

.world-cup-event-card {
  background: var(--bg-2);
  border: 1px solid var(--line);
  padding: var(--sp-3) var(--sp-4);
  font-family: var(--font-ui);
  border-radius: 14px;
}

.world-cup-event-card.is-match {
  border-left: 3px solid var(--good);
}

.world-cup-event-card.is-fest {
  border-left: 3px solid var(--accent-2);
}

.world-cup-event-head {
  justify-content: space-between;
  align-items: center;
  gap: var(--sp-2);
  margin-bottom: var(--sp-2);
  display: flex;
}

.world-cup-event-tag {
  font-size: var(--fs-eyebrow);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink-dim);
  font-weight: 500;
}

.world-cup-event-title {
  margin-bottom: var(--sp-3);
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.world-cup-event-title strong {
  font-size: var(--fs-body);
  font-weight: 600;
}

.world-cup-event-title span {
  font-size: var(--fs-small);
  color: var(--ink-dim);
}

.world-cup-event-meta {
  gap: var(--sp-2);
  flex-direction: column;
  margin: 0;
  display: flex;
}

.world-cup-event-meta > div {
  justify-content: space-between;
  gap: var(--sp-3);
  font-size: var(--fs-small);
  display: flex;
}

.world-cup-event-meta dt {
  color: var(--ink-faint);
  font-size: var(--fs-eyebrow);
  text-transform: uppercase;
  letter-spacing: .04em;
}

.world-cup-event-meta dd {
  color: var(--ink);
  text-align: right;
  margin: 0;
}

.world-cup-event-meta dd a {
  color: var(--den);
  text-decoration: underline;
}

.world-cup-verdict.is-comfortable dd {
  color: var(--good);
}

.world-cup-verdict.is-tight dd {
  color: var(--warn);
}

.world-cup-verdict.is-too-late dd {
  color: var(--bad);
}

.world-cup-event-fare dd {
  color: var(--accent);
  font-weight: 600;
}

.world-cup-hero {
  padding-top: clamp(24px, 5vw, 64px);
  padding-bottom: var(--sp-4);
}

.world-cup-hero-panel {
  border: 1px solid var(--line-bright);
  background: radial-gradient(circle at 12% 0%, rgba(var(--accent-rgb), .16), transparent 42%),
    radial-gradient(circle at 92% 110%, rgba(var(--accent-2-rgb), .1), transparent 46%),
    var(--bg-2);
  box-shadow: var(--shadow);
  border-radius: 20px;
  padding: clamp(24px, 4vw, 48px);
  position: relative;
  overflow: hidden;
}

.world-cup-hero-panel h1 {
  font-family: var(--font-display);
  margin: var(--sp-2) 0 var(--sp-4);
  max-width: 18ch;
  font-size: clamp(34px, 5vw, 60px);
  line-height: 1.05;
}

.world-cup-hero-panel .flights-lede {
  margin-bottom: var(--sp-5);
}

.world-cup-hero-stats {
  gap: var(--sp-6);
  margin: var(--sp-6) 0 0;
  padding-top: var(--sp-5);
  border-top: 1px solid var(--line);
  flex-wrap: wrap;
  display: flex;
}

.world-cup-hero-stats div {
  flex-direction: column-reverse;
  gap: 2px;
  display: flex;
}

.world-cup-hero-stats dt {
  font-family: var(--font-ui);
  font-size: var(--fs-eyebrow);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink-dim);
}

.world-cup-hero-stats dd {
  font-family: var(--font-display);
  color: var(--accent);
  margin: 0;
  font-size: clamp(28px, 4vw, 40px);
  line-height: 1;
}

.world-cup-cta {
  gap: var(--sp-3);
  margin-top: var(--sp-4);
  flex-wrap: wrap;
  align-items: flex-end;
  max-width: 520px;
  display: flex;
}

.world-cup-cta > :first-child {
  flex: 240px;
}

.world-cup-schedule, .world-cup-fanfests {
  margin-top: var(--sp-7);
}

.world-cup-schedule h2, .world-cup-fanfests h2 {
  font-family: var(--font-display);
  font-size: var(--fs-display-3);
  margin-bottom: var(--sp-4);
}

.world-cup-schedule-grid {
  gap: var(--sp-4);
  grid-template-columns: repeat(auto-fill, minmax(248px, 1fr));
  display: grid;
}

.world-cup-day-card {
  background: var(--bg-2);
  border: 1px solid var(--line);
  padding: var(--sp-3) var(--sp-4) var(--sp-2);
  border-radius: 14px;
  flex-direction: column;
  display: flex;
}

.world-cup-day-head {
  align-items: baseline;
  gap: var(--sp-2);
  padding-bottom: var(--sp-3);
  margin-bottom: var(--sp-2);
  border-bottom: 1px solid var(--line);
  display: flex;
}

.world-cup-day-dow {
  font-family: var(--font-ui);
  font-size: var(--fs-eyebrow);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--accent);
  font-weight: 600;
}

.world-cup-day-date {
  font-family: var(--font-display);
  font-size: var(--fs-title);
  color: var(--ink);
}

.world-cup-day-matches {
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.world-cup-match {
  align-items: flex-start;
  gap: var(--sp-3);
  padding: var(--sp-2) 0;
  border-top: 1px solid var(--line);
  display: flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .world-cup-match {
    border-top: 1px solid color-mix(in srgb, var(--line) 60%, transparent);
  }
}

.world-cup-match:first-child {
  border-top: none;
}

.world-cup-round-chip {
  font-family: var(--font-mono);
  letter-spacing: .06em;
  background: var(--den);
  border-radius: 6px;
  flex-shrink: 0;
  margin-top: 1px;
  padding: 3px 6px;
  font-size: 10px;
  font-weight: 700;
}

@supports (color: color-mix(in lab, red, red)) {
  .world-cup-round-chip {
    background: color-mix(in srgb, var(--den) 16%, transparent);
  }
}

.world-cup-round-chip {
  color: var(--den);
}

.world-cup-round-chip.is-final {
  background: var(--accent-2);
}

@supports (color: color-mix(in lab, red, red)) {
  .world-cup-round-chip.is-final {
    background: color-mix(in srgb, var(--accent-2) 20%, transparent);
  }
}

.world-cup-round-chip.is-final {
  color: var(--accent-2);
}

.world-cup-round-chip.is-sf, .world-cup-round-chip.is-qf {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .world-cup-round-chip.is-sf, .world-cup-round-chip.is-qf {
    background: color-mix(in srgb, var(--accent) 16%, transparent);
  }
}

.world-cup-round-chip.is-sf, .world-cup-round-chip.is-qf {
  color: var(--accent);
}

.world-cup-match-body {
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  display: flex;
}

.world-cup-match-body strong {
  font-family: var(--font-ui);
  font-size: var(--fs-body);
  font-weight: 600;
  line-height: 1.25;
}

.world-cup-match-body span {
  font-family: var(--font-ui);
  font-size: var(--fs-small);
  color: var(--ink-dim);
}

.world-cup-fanfest-grid {
  margin: var(--sp-4) 0 0;
  gap: var(--sp-3);
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  padding: 0;
  list-style: none;
  display: grid;
}

.world-cup-fanfest-grid li {
  background: var(--bg-2);
  border: 1px solid var(--line);
  padding: var(--sp-4);
  border-radius: 12px;
  flex-direction: column;
  gap: 6px;
  transition: border-color .15s, background .15s;
  display: flex;
}

.world-cup-fanfest-grid li:hover {
  border-color: var(--line-bright);
  background: var(--bg-3);
}

.world-cup-fanfest-grid li strong {
  font-family: var(--font-display);
  font-size: var(--fs-title);
}

.world-cup-fanfest-grid li span {
  font-family: var(--font-ui);
  font-size: var(--fs-small);
  color: var(--ink-dim);
}

.world-cup-fanfest-grid li a {
  font-family: var(--font-ui);
  font-size: var(--fs-small);
  color: var(--den);
  text-underline-offset: 2px;
  margin-top: auto;
  text-decoration: underline;
}

.wc-promo-band {
  border-block: 1px solid var(--line);
  background: radial-gradient(640px 320px at 16% 26%, rgba(var(--accent-rgb), .09), transparent),
    radial-gradient(560px 280px at 92% 90%, rgba(var(--accent-2-rgb), .05), transparent),
    var(--bg-2);
  padding: 70px 0;
}

.wc-promo-inner {
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr);
  align-items: center;
  gap: clamp(32px, 6vw, 72px);
  display: grid;
}

.wc-promo-copy 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;
}

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

.wc-promo-copy .hero-actions {
  align-items: center;
  margin-top: 26px;
}

.wc-promo-link {
  font-family: var(--font-ui);
  color: var(--ink-dim);
  text-underline-offset: 3px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: underline;
  transition: color .15s;
}

.wc-promo-link:hover {
  color: var(--ink);
}

.wc-promo-card {
  width: min(100%, 460px);
  margin-left: auto;
}

@media (max-width: 860px) {
  .wc-promo-inner {
    grid-template-columns: 1fr;
  }

  .wc-promo-card {
    width: 100%;
    margin-inline: 0;
  }
}

.world-cup-card-list {
  gap: var(--sp-3);
  margin-top: var(--sp-4);
  flex-direction: column;
  display: flex;
}

.world-cup-day-stack {
  gap: var(--sp-5);
  margin-top: var(--sp-4);
  flex-direction: column;
  display: flex;
}

.world-cup-day-section {
  gap: var(--sp-3);
  flex-direction: column;
  display: flex;
}

.world-cup-day-section .world-cup-card-list {
  margin-top: 0;
}

.world-cup-day-heading {
  align-items: center;
  gap: var(--sp-3);
  font-family: var(--font-mono);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ink-dim);
  margin: 0;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  display: flex;
}

.world-cup-day-heading:after {
  content: "";
  background: var(--line);
  flex: 1;
  height: 1px;
}

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

.wc-band {
  justify-content: space-between;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-2) var(--sp-4);
  font-family: var(--font-ui);
  border-bottom: 1px solid var(--line);
  display: flex;
}

.wc-card.is-match .wc-band {
  background: var(--good);
}

@supports (color: color-mix(in lab, red, red)) {
  .wc-card.is-match .wc-band {
    background: color-mix(in srgb, var(--good) 12%, transparent);
  }
}

.wc-card.is-match .wc-band {
  border-bottom-color: var(--good);
}

@supports (color: color-mix(in lab, red, red)) {
  .wc-card.is-match .wc-band {
    border-bottom-color: color-mix(in srgb, var(--good) 30%, var(--line));
  }
}

.wc-card.is-fest .wc-band {
  background: var(--accent-2);
}

@supports (color: color-mix(in lab, red, red)) {
  .wc-card.is-fest .wc-band {
    background: color-mix(in srgb, var(--accent-2) 10%, transparent);
  }
}

.wc-card.is-fest .wc-band {
  border-bottom-color: var(--accent-2);
}

@supports (color: color-mix(in lab, red, red)) {
  .wc-card.is-fest .wc-band {
    border-bottom-color: color-mix(in srgb, var(--accent-2) 28%, var(--line));
  }
}

.wc-band-left {
  align-items: center;
  gap: var(--sp-2);
  flex-wrap: wrap;
  min-width: 0;
  display: flex;
}

.wc-tag {
  font-family: var(--font-mono);
  font-size: var(--fs-eyebrow);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink-dim);
  font-weight: 700;
}

.wc-card.is-match .wc-tag {
  color: var(--good);
}

.wc-card.is-fest .wc-tag {
  color: var(--accent-2);
}

.wc-teams {
  font-size: var(--fs-body);
  font-weight: 600;
}

.wc-team {
  align-items: center;
  gap: .3em;
  display: inline-flex;
}

.wc-flag {
  font-size: 1.15em;
  line-height: 1;
}

.wc-vs {
  opacity: .55;
  padding: 0 .15em;
  font-weight: 500;
}

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

.wc-card-skeleton .skeleton-line {
  height: 13px;
}

.wc-card-skeleton .wc-sk-tag {
  width: 72px;
  height: 11px;
}

.wc-card-skeleton .wc-sk-teams {
  width: 180px;
  height: 16px;
  margin-top: 6px;
}

.wc-card-skeleton .wc-sk-kick {
  width: 84px;
  height: 13px;
}

.wc-card-skeleton .wc-sk-venue {
  width: 140px;
  height: 12px;
}

.wc-card-skeleton .wc-route {
  gap: var(--sp-3);
  align-items: center;
}

.wc-card-skeleton .wc-sk-time {
  width: 56px;
  height: 20px;
}

.wc-card-skeleton .wc-sk-path {
  flex: 1;
  height: 8px;
}

.wc-card-skeleton .wc-sk-price {
  width: 64px;
  height: 26px;
}

.wc-card-skeleton .wc-sk-box {
  border-radius: 10px;
  width: 100%;
  height: 34px;
}

.wc-grp {
  font-family: var(--font-mono);
  font-size: var(--fs-small);
  color: var(--ink-dim);
  border-left: 1px solid var(--line);
  padding-left: var(--sp-2);
}

.wc-band-right {
  font-family: var(--font-mono);
  font-size: var(--fs-small);
  letter-spacing: .02em;
  color: var(--accent-2);
  white-space: nowrap;
  font-weight: 600;
}

@media (max-width: 600px) {
  .wc-band {
    align-items: flex-start;
    gap: var(--sp-1);
    flex-direction: column;
  }

  .wc-band-right {
    white-space: normal;
  }
}

.wc-card-body {
  padding: var(--sp-3) var(--sp-4);
  font-family: var(--font-ui);
}

.wc-toprow {
  align-items: center;
  gap: var(--sp-4);
  display: flex;
}

.wc-flight {
  flex: auto;
  min-width: 0;
}

.wc-venue-row {
  align-items: center;
  gap: var(--sp-2);
  margin-bottom: var(--sp-2);
  font-size: var(--fs-small);
  color: var(--ink-dim);
  flex-wrap: wrap;
  display: flex;
}

.wc-fn {
  font-family: var(--font-mono);
  color: var(--ink-faint);
  border-left: 1px solid var(--line);
  padding-left: var(--sp-2);
}

.wc-price {
  padding-left: var(--sp-3);
  border-left: 1px solid var(--line);
  flex-direction: column;
  flex: none;
  align-items: flex-end;
  gap: 4px;
  display: flex;
}

.wc-gw-badge {
  font-family: var(--font-mono);
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--ink-dim);
  font-size: 10px;
  font-weight: 800;
}

.wc-amt {
  font-family: var(--font-display-2);
  font-size: var(--fs-display-3);
  color: var(--ink);
  font-weight: 800;
  line-height: 1;
}

.wc-price.is-gowild .wc-amt, .wc-price.is-gowild .wc-gw-badge {
  color: var(--good);
}

.wc-price.is-discount-den .wc-amt, .wc-price.is-discount-den .wc-gw-badge {
  color: var(--den);
}

.wc-price.is-standard .wc-amt, .wc-price.is-standard .wc-gw-badge {
  color: var(--ink);
}

.wc-seats {
  font-family: var(--font-mono);
  font-size: var(--fs-small);
  color: var(--warn);
}

.wc-boxes {
  gap: var(--sp-2);
  margin-top: var(--sp-3);
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  display: grid;
}

.wc-box {
  background: var(--bg-3);
  border: 1px solid var(--line);
  padding: var(--sp-2) var(--sp-3);
  border-radius: 10px;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  display: flex;
}

.wc-box-k {
  font-family: var(--font-mono);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ink-faint);
  font-size: 10px;
}

.wc-box-v {
  font-family: var(--font-mono);
  font-size: var(--fs-small);
  color: var(--ink);
}

.wc-box.is-comfortable .wc-box-v {
  color: var(--good);
}

.wc-box.is-tight .wc-box-v {
  color: var(--warn);
}

.wc-box.is-too-late .wc-box-v {
  color: var(--bad);
}

.wc-actbar {
  justify-content: space-between;
  align-items: center;
  gap: var(--sp-3);
  margin-top: var(--sp-3);
  display: flex;
}

.wc-details-btn {
  align-items: center;
  gap: var(--sp-1);
  font-size: var(--fs-small);
  color: var(--ink);
  border: 1px solid var(--line);
  padding: var(--sp-2) var(--sp-3);
  background: none;
  border-radius: 8px;
  display: inline-flex;
}

.wc-chevron {
  fill: none;
  stroke: currentColor;
  stroke-width: 2px;
  width: 14px;
  height: 14px;
  transition: transform .15s;
}

.wc-details-btn.is-open .wc-chevron {
  transform: rotate(180deg);
}

.wc-actions {
  align-items: center;
  gap: var(--sp-2);
  display: flex;
}

.wc-alert-btn {
  border: 1px solid var(--line);
  width: 35px;
  height: 35px;
  color: var(--ink);
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.wc-alert-btn svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7px;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.wc-drawer {
  margin-top: var(--sp-3);
  border-top: 1px solid var(--line);
  padding-top: var(--sp-3);
  gap: var(--sp-3);
  flex-direction: column;
  display: flex;
}

.wc-drawer-rows {
  gap: var(--sp-2);
  flex-direction: column;
  margin: 0;
  display: flex;
}

.wc-drawer-rows > div {
  gap: var(--sp-3);
  font-size: var(--fs-small);
  display: flex;
}

.wc-drawer-rows dt {
  font-family: var(--font-mono);
  color: var(--ink-faint);
  text-transform: uppercase;
  letter-spacing: .04em;
  flex: 0 0 96px;
  padding-top: 2px;
  font-size: 10px;
}

.wc-drawer-rows dd {
  color: var(--ink);
  margin: 0;
}

.wc-drawer-rows a {
  color: var(--den);
  text-decoration: underline;
}

.wc-more-btn {
  margin-top: var(--sp-3);
  width: 100%;
  font-size: var(--fs-small);
  color: var(--ink-dim);
  border: 1px dashed var(--line);
  padding: var(--sp-2);
  background: none;
  border-radius: 8px;
}

.wc-more-list {
  margin-top: var(--sp-2);
  gap: var(--sp-2);
  flex-direction: column;
  display: flex;
}

.wc-more-card {
  border: 1px solid var(--line);
  background: var(--bg-3);
  padding-bottom: var(--sp-2);
  border-radius: 10px;
}

.wc-more-list .flight-path-plane {
  background: var(--bg-3);
}

.wc-more-top {
  justify-content: space-between;
  align-items: center;
  gap: var(--sp-2);
  padding: var(--sp-2) var(--sp-4) 0;
  display: flex;
}

.wc-more-fares {
  font-family: var(--font-mono);
  font-size: var(--fs-small);
  color: var(--ink-dim);
  flex-wrap: wrap;
  gap: 1px 14px;
  min-width: 0;
  display: flex;
}

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

.wc-more-fare.is-gowild strong {
  color: var(--good);
}

.wc-more-fare.is-discount-den strong {
  color: var(--den);
}

.wc-more-fare.is-standard strong {
  color: var(--ink);
}

.wc-more-top .wc-alert-btn {
  flex: none;
  width: 32px;
  height: 32px;
}

@media (max-width: 600px) {
  .wc-more-fare:not(.is-cheapest) {
    display: none;
  }

  .wc-toprow {
    align-items: stretch;
    gap: var(--sp-2);
    flex-direction: column;
  }

  .wc-price {
    justify-content: flex-end;
    align-items: center;
    gap: var(--sp-2);
    border-left: none;
    border-top: 1px solid var(--line);
    padding-left: 0;
    padding-top: var(--sp-2);
    flex-direction: row;
  }
}

.wc-route {
  align-items: center;
  gap: var(--sp-3);
  display: flex;
}

.wc-ep {
  flex-direction: column;
  min-width: 0;
  display: flex;
}

.wc-ep-arr {
  text-align: right;
}

.wc-ep strong {
  font-family: var(--font-display-2);
  font-variant-numeric: tabular-nums;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.1;
}

.wc-ep span {
  font-family: var(--font-mono);
  font-size: var(--fs-small);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ink-dim);
  font-weight: 800;
}

.wc-route-mid {
  flex-direction: column;
  flex: auto;
  align-items: center;
  gap: 4px;
  min-width: 64px;
  display: flex;
}

.wc-route-line {
  background: var(--line-bright);
  border-radius: 2px;
  width: 100%;
  height: 2px;
  position: relative;
}

.wc-route-plane {
  width: 15px;
  height: 15px;
  fill: var(--accent);
  position: absolute;
  top: 50%;
  right: -3px;
  transform: translateY(-50%);
}

.wc-route-line:before {
  content: "";
  background: var(--ink-faint);
  border-radius: 50%;
  width: 5px;
  height: 5px;
  position: absolute;
  top: 50%;
  left: -2px;
  transform: translateY(-50%);
}

.wc-route-stops {
  font-family: var(--font-mono);
  color: var(--ink-dim);
  white-space: nowrap;
  font-size: 11px;
}

.chat-page {
  flex-direction: column;
  max-width: 860px;
  display: flex;
}

@media (max-width: 760px) {
  html[data-standalone="true"] .page-shell:has(.page-scroller) .tab-pane:has(.chat-page) {
    padding-bottom: 0;
  }

  html[data-standalone="true"] .tab-pane > .chat-page {
    --chat-dock: calc(max(8px, env(safe-area-inset-bottom, 0px) - 8px) + 66px);
    height: 100%;
    min-height: 0;
    position: relative;
  }

  html[data-standalone="true"] .chat-page .chat-thread {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    min-height: 0;
    padding-bottom: calc(var(--chat-dock) + 78px);
    flex: 1;
    overflow-y: auto;
  }

  html[data-standalone="true"] .chat-page .chat-input-row {
    left: var(--page-pad);
    right: var(--page-pad);
    bottom: calc(var(--chat-dock) + 10px);
    margin: 0;
    position: absolute;
  }

  html[data-standalone="true"] .chat-page .chat-input-row:focus-within {
    bottom: 10px;
  }

  html[data-standalone="true"] .chat-page:has(.chat-input-row:focus-within) .chat-thread {
    padding-bottom: 78px;
  }

  html[data-standalone="true"] .page-shell:has(.chat-input-row:focus-within) .bottom-tab-bar {
    display: none !important;
  }

  @supports (-webkit-touch-callout: none) {
    html:not([data-standalone="true"]) .chat-page .chat-input-row {
      left: var(--page-pad);
      right: var(--page-pad);
      bottom: calc(10px + env(safe-area-inset-bottom, 0px));
      z-index: 40;
      margin-top: 0;
      position: fixed;
    }

    html:not([data-standalone="true"]) .chat-page .chat-thread {
      padding-bottom: calc(78px + env(safe-area-inset-bottom, 0px));
    }
  }

  .chat-page input {
    font-size: 16px !important;
  }
}

.chat-thread {
  flex-direction: column;
  flex: 1;
  gap: 12px;
  min-height: 240px;
  padding: 12px 0 20px;
  display: flex;
}

.chat-empty {
  text-align: center;
  flex-direction: column;
  flex: 1;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 24px 12px;
  display: flex;
}

.chat-empty-icon {
  width: 54px;
  height: 54px;
  color: var(--accent);
  background: rgba(var(--accent-rgb), .12);
  border: 1px solid rgba(var(--accent-rgb), .35);
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  margin-bottom: 4px;
  display: flex;
}

.chat-empty-title {
  font-family: var(--font-display);
  letter-spacing: .04em;
  color: var(--ink);
  margin: 0;
  font-size: 26px;
}

.chat-empty-beta {
  font-family: var(--font-ui);
  letter-spacing: .12em;
  color: var(--accent);
  background: rgba(var(--accent-rgb), .12);
  border: 1px solid rgba(var(--accent-rgb), .35);
  border-radius: 999px;
  margin-top: -2px;
  padding: 3px 7px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  display: inline-block;
}

.chat-empty p {
  color: var(--ink-dim);
  font-family: var(--font-ui);
  font-size: var(--fs-small);
  margin: 0 0 12px;
}

.chat-empty-chips {
  flex-direction: column;
  align-items: center;
}

.chat-bubble {
  max-width: min(560px, 88%);
  font-family: var(--font-ui);
  font-size: var(--fs-body);
  border-radius: 14px;
  padding: 10px 14px;
  line-height: 1.45;
}

.chat-bubble-user {
  background: var(--accent);
  color: var(--accent-ink);
  align-self: flex-end;
}

.chat-bubble-bot {
  background: var(--bg-3);
  border: 1px solid var(--line);
  color: var(--ink);
  align-self: flex-start;
}

.chat-bubble-error {
  border-color: var(--bad);
  color: var(--ink);
}

.chat-status {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  font-size: var(--fs-small);
  align-self: flex-start;
}

.chat-thinking {
  animation: 1.2s ease-in-out infinite chat-pulse;
}

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

  50% {
    opacity: 1;
  }
}

.chat-results {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.chat-controls {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.chat-filter-bar {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  display: flex;
}

.chat-filter-pill.is-active {
  background: rgba(var(--accent-rgb), .14);
  border-color: var(--accent);
  color: var(--ink);
}

.chat-fare-gowild.is-active {
  background: var(--good);
}

@supports (color: color-mix(in lab, red, red)) {
  .chat-fare-gowild.is-active {
    background: color-mix(in srgb, var(--good) 16%, transparent);
  }
}

.chat-fare-gowild.is-active {
  border-color: var(--good);
  color: var(--good);
}

.chat-fare-discount-den.is-active {
  background: var(--den);
}

@supports (color: color-mix(in lab, red, red)) {
  .chat-fare-discount-den.is-active {
    background: color-mix(in srgb, var(--den) 16%, transparent);
  }
}

.chat-fare-discount-den.is-active {
  border-color: var(--den);
  color: var(--den);
}

.chat-fare-standard.is-active {
  background: rgba(var(--overlay-rgb), .1);
  border-color: var(--line-bright);
  color: var(--ink);
}

.chat-filter-time.is-active {
  background: var(--info, #3b82f6);
}

@supports (color: color-mix(in lab, red, red)) {
  .chat-filter-time.is-active {
    background: color-mix(in srgb, var(--info, #3b82f6) 15%, transparent);
  }
}

.chat-filter-time.is-active {
  border-color: var(--info, #3b82f6);
  color: var(--ink);
}

.chat-filter-reset {
  color: var(--ink-dim);
  border-style: dashed;
}

.chat-filter-reset:hover {
  color: var(--ink);
  border-color: var(--accent);
}

.chat-tab-row {
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  flex-wrap: nowrap;
  gap: 6px;
  padding: 2px 0;
  display: flex;
  overflow-x: auto;
}

.chat-tab-row::-webkit-scrollbar {
  display: none;
}

.chat-leg-switcher {
  margin-bottom: 4px;
}

.chat-tab {
  appearance: none;
  white-space: nowrap;
  background: var(--bg-2);
  border: 1px solid var(--line);
  color: var(--ink-dim);
  cursor: pointer;
  font-family: var(--font-ui);
  font-size: var(--fs-small);
  border-radius: 999px;
  flex: none;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  transition: border-color .12s, color .12s, background .12s, opacity .12s;
  display: inline-flex;
}

.chat-tab-code {
  font-family: var(--font-mono);
  letter-spacing: .06em;
  color: var(--ink-faint);
  background: rgba(var(--overlay-rgb), .07);
  border-radius: 6px;
  padding: 2px 5px;
  font-size: 10px;
}

.chat-tab-count {
  color: var(--ink-faint);
  font-family: var(--font-mono);
  font-size: 11px;
}

.chat-tab-label {
  white-space: nowrap;
  color: var(--ink-faint);
  font-family: var(--font-ui);
  font-size: var(--fs-small);
  flex: none;
  align-items: center;
  display: inline-flex;
}

.chat-tab.is-active {
  background: rgba(var(--accent-rgb), .14);
  border-color: var(--accent);
  color: var(--ink);
}

.chat-tab-date.is-active {
  background: var(--bg-2);
  border-color: var(--line-bright);
  color: var(--ink);
}

.chat-tab-date.is-off {
  opacity: .45;
  border-style: dashed;
}

.chat-airports-toggle {
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

.chat-airports-toggle.is-active {
  border-color: var(--accent);
  color: var(--ink);
}

.chat-chevron {
  width: 14px;
  height: 14px;
  transition: transform .16s;
}

.chat-chevron.is-open {
  transform: rotate(180deg);
}

.chat-airport-panel {
  background: var(--bg-2);
  border: 1px solid var(--line);
  border-radius: 16px;
  flex-direction: column;
  gap: 8px;
  padding: 10px;
  display: flex;
}

.chat-airport-search {
  background: var(--bg-3);
  border: 1px solid var(--line);
  width: 100%;
  color: var(--ink);
  font-family: var(--font-ui);
  font-size: var(--fs-small);
  border-radius: 999px;
  padding: 8px 14px;
}

.chat-airport-search:focus {
  border-color: var(--accent);
  outline: none;
}

.chat-airport-search::placeholder {
  color: var(--ink-faint);
}

.chat-airport-grid {
  flex-wrap: wrap;
  gap: 6px;
  max-height: 236px;
  display: flex;
  overflow-y: auto;
}

.chat-airport-grid .chat-tab {
  background: var(--bg-3);
}

.chat-chip-row {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.chat-chip {
  appearance: none;
  background: var(--bg-2);
  border: 1px solid var(--line-bright);
  color: var(--ink);
  cursor: pointer;
  font-family: var(--font-ui);
  font-size: var(--fs-small);
  white-space: nowrap;
  border-radius: 999px;
  padding: 6px 12px;
  transition: border-color .12s, background .12s;
}

.chat-chip:hover {
  border-color: var(--accent);
}

.chat-input-row {
  bottom: calc(10px + env(safe-area-inset-bottom, 0px));
  border: 1px solid rgba(var(--overlay-rgb), .18);
  background: linear-gradient(180deg, rgba(var(--overlay-rgb), .13), rgba(var(--overlay-rgb), .025)),
    #0a0d0fb8;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  box-shadow: 0 10px 30px rgba(var(--shadow-rgb), .4);
  border-radius: 16px;
  align-items: flex-end;
  gap: 8px;
  margin-top: 4px;
  padding: 6px;
  transition: border-color .12s, bottom .2s cubic-bezier(.32, .72, .33, 1);
  display: flex;
  position: sticky;
  overflow: hidden;
}

.chat-input-row:focus-within {
  border-color: rgba(var(--overlay-rgb), .32);
}

.chat-input {
  min-width: 0;
  color: var(--ink);
  font-family: var(--font-ui);
  font-size: var(--fs-body);
  resize: none;
  word-break: break-word;
  overflow-wrap: break-word;
  scrollbar-width: none;
  -ms-overflow-style: none;
  background: none;
  border: 0;
  flex: 1;
  max-height: 140px;
  padding: 8px 6px 8px 14px;
  line-height: 1.45;
  overflow-y: auto;
}

.chat-input::-webkit-scrollbar {
  display: none;
}

.chat-input:focus {
  outline: none;
}

.chat-input::placeholder {
  color: var(--ink-faint);
}

.chat-send {
  appearance: none;
  background: var(--accent);
  width: 38px;
  height: 38px;
  color: var(--accent-ink);
  cursor: pointer;
  border: 0;
  border-radius: 999px;
  flex: none;
  justify-content: center;
  align-items: center;
  transition: opacity .12s, transform .12s;
  display: flex;
}

.chat-send:active {
  transform: scale(.94);
}

.chat-send:disabled {
  opacity: .55;
  cursor: default;
}

.chat-upsell-wrap {
  flex: 1;
  min-height: 420px;
  position: relative;
}

.chat-upsell-preview {
  filter: blur(5px);
  opacity: .55;
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.chat-mock-card {
  background: var(--bg-2);
  border: 1px solid var(--line);
  font-family: var(--font-ui);
  border-radius: 12px;
  align-items: baseline;
  gap: 12px;
  padding: 12px 14px;
  display: flex;
}

.chat-mock-card strong {
  color: var(--good);
  font-size: 18px;
}

.chat-mock-card span {
  color: var(--ink-dim);
  font-size: var(--fs-small);
}

.chat-upsell-overlay {
  justify-content: center;
  align-items: flex-start;
  padding: 96px 16px 24px;
  display: flex;
  position: absolute;
  inset: 0;
}

.chat-upsell-card {
  text-align: center;
  background: var(--bg-3);
  border: 1px solid var(--line-bright);
  width: 100%;
  max-width: 360px;
  box-shadow: var(--shadow);
  border-radius: 16px;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  padding: 28px 24px;
  display: flex;
}

.chat-upsell-badge {
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--accent-2);
  background: var(--accent-2);
  align-items: center;
  gap: 6px;
  font-size: 11px;
  display: inline-flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .chat-upsell-badge {
    background: color-mix(in srgb, var(--accent-2) 14%, transparent);
  }
}

.chat-upsell-badge {
  border: 1px solid var(--accent-2);
}

@supports (color: color-mix(in lab, red, red)) {
  .chat-upsell-badge {
    border: 1px solid color-mix(in srgb, var(--accent-2) 32%, transparent);
  }
}

.chat-upsell-badge {
  border-radius: 999px;
  padding: 4px 10px;
}

.chat-upsell-card h2 {
  font-family: var(--font-display);
  font-size: var(--fs-display-3);
  line-height: var(--lh-display);
  text-transform: uppercase;
  margin: 0;
}

.chat-upsell-lede {
  color: var(--ink-dim);
  font-family: var(--font-ui);
  font-size: var(--fs-body);
  max-width: 30ch;
  margin: 0;
  line-height: 1.45;
}

.chat-upsell-card ul {
  color: var(--ink);
  font-family: var(--font-ui);
  font-size: var(--fs-small);
  text-align: left;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  margin: 2px 0 4px;
  padding: 0;
  list-style: none;
  display: flex;
}

.chat-upsell-card li {
  align-items: flex-start;
  gap: 8px;
  display: flex;
}

.chat-upsell-card li svg {
  color: var(--good);
  flex: none;
  margin-top: 1px;
}

.chat-upsell-card .button {
  width: 100%;
  margin-top: 4px;
}

@media (pointer: coarse) {
  .v2-picker-clear, .v2-picker-add, .v2-multi-picker-chip-remove {
    position: relative;
  }

  .v2-picker-clear:after, .v2-picker-add:after, .v2-multi-picker-chip-remove:after, .v2-field-multi-toggle:after {
    content: "";
    width: 44px;
    height: 44px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .v2-multi-picker-chip-remove:after {
    width: 34px;
    height: 28px;
  }

  .v2-picker-add:after, .v2-picker-add + .v2-picker-clear:after {
    width: 30px;
  }

  .v2-field-multi-toggle:after {
    height: 28px;
  }

  .sort-pills button, .details-button, .book-button {
    min-height: 44px;
  }
}

@media (max-width: 760px) and (pointer: coarse) {
  .details-button {
    width: 44px;
    min-width: 44px;
  }
}

.hv2 {
  overflow-x: clip;
}

.hv2-progress {
  z-index: 120;
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
  transform-origin: 0;
  pointer-events: none;
  width: 100%;
  height: 3px;
  position: fixed;
  top: 0;
  left: 0;
  transform: scaleX(0);
}

.hv2-hero {
  position: relative;
}

.hv2-hero .hero-copy, .hv2-hero .hero-card {
  z-index: 1;
  position: relative;
}

.hv2-radar {
  z-index: 0;
  width: clamp(460px, 52vw, 760px);
  height: auto;
  color: var(--ink);
  opacity: .5;
  pointer-events: none;
  position: absolute;
  top: 50%;
  right: clamp(-260px, -14vw, -120px);
  transform: translateY(-50%);
}

.hv2-word-mask {
  vertical-align: bottom;
  margin-bottom: -.06em;
  padding-bottom: .06em;
  display: inline-block;
  overflow: hidden;
}

.hv2-word {
  display: inline-block;
}

.hv2-hero-sub {
  max-width: 620px;
  margin: 0 0 18px;
  font-size: clamp(19px, 2.4vw, 26px);
  font-weight: 600;
  line-height: 1.25;
}

.hv2-magnetic {
  display: inline-block;
}

.hv2-scroll-cue {
  z-index: 1;
  border: 1px solid var(--line-bright);
  width: 34px;
  height: 34px;
  color: var(--ink-dim);
  border-radius: 999px;
  place-items: center;
  animation: 1.8s ease-in-out infinite hv2-cue-bob;
  display: grid;
  position: absolute;
  bottom: 14px;
  left: 50%;
  transform: translateX(-50%);
}

@keyframes hv2-cue-bob {
  0%, 100% {
    transform: translateX(-50%)translateY(0);
  }

  50% {
    transform: translateX(-50%)translateY(7px);
  }
}

.hv2 .mode-card {
  transition: box-shadow .25s;
}

.hv2 .mode-card:hover {
  transform: none;
}

.hv2-modes-inner {
  flex-direction: column;
  justify-content: center;
  gap: 30px;
  display: flex;
}

.hv2-modes-scrub {
  align-items: center;
  gap: 14px;
  margin-top: 18px;
  display: flex;
}

.hv2-modes-dash {
  background: var(--line);
  width: 220px;
  height: 2px;
}

.hv2-modes-count {
  font-family: var(--font-mono);
  letter-spacing: .14em;
  color: var(--ink-dim);
  font-size: 12px;
}

.hv2-modes-count strong {
  color: var(--accent);
  font-weight: 700;
}

.hv2-scene-dash {
  background: var(--line);
  width: 180px;
  height: 2px;
  margin: 14px 0 18px;
}

.hv2-scene-dash-fill, .hv2-modes-dash-fill {
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
  transform-origin: 0;
  width: 100%;
  height: 100%;
  display: block;
  transform: scaleX(0);
}

.hv2-mode-card {
  border: 1px solid var(--line);
  border-radius: 12px;
  flex-direction: column;
  align-items: flex-start;
  display: flex;
}

.hv2-mode-tag {
  font-family: var(--font-mono);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink-dim);
  margin-top: auto;
  padding-top: 18px;
  font-size: 11px;
}

.hv2 .mode-num {
  opacity: .09;
  bottom: -14px;
}

.hv2-modes-intro h2, .hv2-finale h2 {
  font-size: calc(var(--fs-display-2) * 1.18);
}

@media (min-width: 900px) {
  .hv2-modes-inner {
    min-height: 100svh;
  }

  .hv2-modes-window {
    padding-block: 10px;
    overflow: hidden;
  }

  .hv2-mode-rail {
    gap: 18px;
    width: max-content;
    display: flex;
  }

  .hv2-mode-rail .hv2-mode-card {
    flex: 0 0 clamp(320px, 34vw, 440px);
    min-height: clamp(340px, 44svh, 440px);
  }

  .hv2-modes-window {
    -webkit-mask-image: linear-gradient(90deg, #0000 0, #000 40px calc(100% - 40px), #0000);
    mask-image: linear-gradient(90deg, #0000 0, #000 40px calc(100% - 40px), #0000);
  }
}

@media (max-width: 899.98px) {
  .hv2-modes {
    padding-block: 40px;
  }

  .hv2-mode-rail {
    flex-direction: column;
    gap: 18px;
    display: flex;
  }

  .hv2-mode-rail .hv2-mode-card {
    background: var(--bg-2);
    min-height: 240px;
    box-shadow: 0 -12px 34px rgba(var(--shadow-rgb), .45);
    position: sticky;
    top: 96px;
  }

  .hv2-modes-intro {
    z-index: 2;
    background: var(--bg-2);
    padding-block: 8px;
    position: sticky;
    top: 52px;
  }
}

.hv2-finale {
  position: relative;
}

@media (min-width: 900px) {
  .hv2-finale {
    flex-direction: column;
    justify-content: center;
    min-height: 70svh;
    display: flex;
  }
}

.hv2 .cta-band {
  padding-block: 48px 64px;
}

.hv2-finale-rest p {
  max-width: 34ch;
  margin-inline: auto;
}

@media (max-width: 899.98px) {
  .hv2-finale {
    min-height: auto;
    padding-block: 56px 64px;
  }
}

.hv2-pulse-chip {
  animation: 2.4s ease-in-out infinite hv2-chip-pulse;
}

@keyframes hv2-chip-pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(var(--accent-rgb), .35);
  }

  50% {
    box-shadow: 0 0 0 8px rgba(var(--accent-rgb), 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hv2-progress, .hv2-scroll-cue {
    display: none;
  }

  .hv2-pulse-chip {
    animation: none;
  }

  .hv2-modes-dash-fill {
    transform: scaleX(1);
  }
}

@media (max-width: 899.98px) {
  .hv2-hero-more {
    display: none;
  }

  .hv2-radar {
    opacity: .14;
    width: 120vw;
    top: -4%;
    right: -40vw;
    transform: none;
  }

  .hv2-scroll-cue {
    display: none;
  }
}

@media (max-width: 480px) {
  .hv2-radar {
    display: none;
  }
}

.hv3 {
  overflow-x: clip;
}

.hv3-rail {
  z-index: 40;
  flex-direction: column;
  gap: 26px;
  display: none;
  position: fixed;
  top: 50%;
  left: clamp(10px, 2vw, 28px);
  transform: translateY(-50%);
}

@media (min-width: 1100px) {
  .hv3-rail {
    display: flex;
  }
}

.hv3-rail-step {
  flex-direction: column;
  align-items: center;
  gap: 8px;
  display: flex;
}

.hv3-rail-num {
  font-family: var(--font-mono);
  letter-spacing: .12em;
  color: var(--ink-dim);
  font-size: 11px;
  transition: color .25s;
}

.hv3-rail-step.is-active .hv3-rail-num {
  color: var(--accent);
}

.hv3-rail-track {
  background: var(--line);
  width: 2px;
  height: 54px;
  overflow: hidden;
}

.hv3-rail-fill {
  background: linear-gradient(180deg, var(--accent), var(--accent-2));
  transform-origin: top;
  width: 100%;
  height: 100%;
  display: block;
  transform: scaleY(0);
}

.hv3-hero {
  text-align: center;
  place-items: center;
  min-height: 86svh;
  padding-block: clamp(48px, 8svh, 90px);
  display: grid;
  position: relative;
}

.hv3-hero-field {
  background-image: radial-gradient(rgba(var(--overlay-rgb), .14) 1px, transparent 1.4px);
  pointer-events: none;
  background-size: 30px 30px;
  position: absolute;
  inset: 0;
  -webkit-mask-image: radial-gradient(75% 65% at 50% 42%, #000 25%, #0000 78%);
  mask-image: radial-gradient(75% 65% at 50% 42%, #000 25%, #0000 78%);
}

.hv3-hero-inner {
  flex-direction: column;
  align-items: center;
  display: flex;
  position: relative;
}

.hv3-hero-title {
  max-width: 12ch;
  font-family: var(--font-display);
  letter-spacing: -.01em;
  text-transform: uppercase;
  margin: 0 0 22px;
  font-size: clamp(52px, 9.5vw, 132px);
  font-weight: 900;
  line-height: .9;
}

.hv3-word-mask {
  vertical-align: bottom;
  margin-bottom: -.06em;
  padding-bottom: .06em;
  display: inline-block;
  overflow: hidden;
}

.hv3-word {
  display: inline-block;
}

.hv3-hero-sub {
  max-width: 42ch;
  color: var(--ink-dim);
  margin: 0 0 30px;
  font-size: clamp(17px, 2vw, 21px);
  font-weight: 600;
  line-height: 1.4;
}

.hv3-hero-actions {
  justify-content: center;
}

.hv3-hero-stats {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 34px;
  margin: 40px 0 0;
  display: flex;
}

.hv3-hero-stats dt {
  font-family: var(--font-mono);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--accent);
  font-size: 11px;
}

.hv3-hero-stats dd {
  color: var(--ink-dim);
  margin: 4px 0 0;
  font-size: 14px;
}

.hv3-step {
  padding-block: clamp(64px, 12svh, 120px);
}

.hv3-step-tag {
  font-family: var(--font-mono);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--accent);
  margin: 0 0 14px;
  font-size: 12px;
}

.hv3-step-tag span {
  color: var(--ink-dim);
}

.hv3-step 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 18px;
}

.hv3-problem {
  border-block: 1px solid var(--line);
  background: var(--bg-2);
}

.hv3-pains {
  gap: 14px;
  max-width: 560px;
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.hv3-pain {
  width: fit-content;
  color: var(--ink);
  font-size: clamp(16px, 1.9vw, 19px);
  line-height: 1.45;
  position: relative;
}

.hv3-pain-strike {
  background: var(--accent);
  transform-origin: 0;
  height: 2px;
  position: absolute;
  top: 50%;
  left: -4px;
  right: -4px;
  transform: scaleX(0);
}

.hv3-problem-fix {
  font-family: var(--font-display);
  text-transform: uppercase;
  color: var(--accent-2);
  margin: 34px 0 0;
  font-size: clamp(20px, 2.6vw, 28px);
  font-weight: 900;
}

.hv3-bento-sub {
  max-width: 52ch;
  color: var(--ink-dim);
  margin: 0;
  font-size: clamp(15px, 1.7vw, 17px);
  line-height: 1.55;
}

.hv3-bento {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 38px;
  display: grid;
}

.hv3-cell {
  border: 1px solid var(--line-bright);
  background: linear-gradient(150deg, rgba(var(--overlay-rgb), .04), transparent 55%),
    var(--bg-2);
  border-radius: 16px;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 22px;
  transition: transform .22s, box-shadow .22s;
  display: flex;
}

@media (hover: hover) {
  .hv3-cell:hover {
    box-shadow: 0 0 0 1px var(--accent),
      0 18px 50px rgba(var(--accent-rgb), .12);
    transform: scale(1.02);
  }
}

.hv3-cell-results {
  grid-area: span 2 / span 2;
}

.hv3-cell-modes {
  grid-column: span 2;
}

.hv3-cell-label {
  font-family: var(--font-mono);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--accent);
  align-items: center;
  gap: 7px;
  margin: 0;
  font-size: 11px;
  display: inline-flex;
}

.hv3-cell-note {
  color: var(--ink-dim);
  margin: 0;
  font-size: 13.5px;
  line-height: 1.5;
}

.hv3-cell-results .hv3-cell-note {
  margin-top: auto;
}

.hv3-mode-chips {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.hv3-mode-chip {
  border: 1px solid var(--line-bright);
  font-family: var(--font-mono);
  letter-spacing: .04em;
  color: var(--ink);
  border-radius: 999px;
  padding: 7px 13px;
  font-size: 12.5px;
}

.hv3-seat-big {
  font-family: var(--font-display);
  color: var(--accent-2);
  margin: 0;
  font-size: clamp(44px, 5vw, 64px);
  font-weight: 900;
  line-height: 1;
}

.hv3-seat-big span {
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink-dim);
  font-size: .35em;
}

.hv3-alert-mini {
  color: var(--ink-dim);
  align-items: center;
  gap: 12px;
  font-size: 14px;
  display: flex;
}

.hv3-alert-mini strong {
  font-family: var(--font-display);
  font-size: 30px;
  font-weight: 900;
}

.hv3-scout-bubble {
  border: 1px solid var(--line-bright);
  background: var(--bg-3);
  color: var(--ink);
  border-radius: 14px 14px 14px 4px;
  margin: 0;
  padding: 12px 16px;
  font-size: 14.5px;
  font-style: italic;
}

.hv3-step-cta {
  margin: 30px 0 0;
}

.hv3-action {
  border-top: 1px solid var(--line);
  background: var(--bg-2);
}

.hv3-proof {
  gap: 12px;
  max-width: 860px;
  margin-top: 30px;
  display: grid;
}

.hv3-proof-row {
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  display: grid;
}

.hv3-proof-them, .hv3-proof-us {
  border-radius: 12px;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  font-size: 14.5px;
  line-height: 1.4;
  display: flex;
}

.hv3-proof-them {
  border: 1px solid var(--line);
  color: var(--ink-dim);
}

.hv3-proof-them svg {
  color: var(--ink-dim);
  flex: none;
}

.hv3-proof-us {
  border: 1px solid var(--line-bright);
  background: var(--bg);
  color: var(--ink);
}

.hv3-proof-us svg {
  color: var(--accent-2);
  flex: none;
}

.hv3-close {
  text-align: center;
  margin-top: clamp(56px, 10svh, 96px);
}

.hv3-close h3 {
  font-family: var(--font-display);
  font-size: calc(var(--fs-display-2) * 1.18);
  text-transform: uppercase;
  margin: 0 0 14px;
  font-weight: 900;
}

.hv3-close p {
  max-width: 40ch;
  color: var(--ink-dim);
  margin: 0 auto 26px;
  font-size: clamp(15px, 1.8vw, 17px);
  line-height: 1.55;
}

.hv3-close-actions {
  justify-content: center;
}

@media (max-width: 899.98px) {
  .hv3-hero {
    min-height: 78svh;
  }

  .hv3-bento {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hv3-cell-results {
    grid-area: auto / span 2;
  }

  .hv3-proof-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

@media (max-width: 560px) {
  .hv3-bento {
    grid-template-columns: 1fr;
  }

  .hv3-cell-modes, .hv3-cell-results {
    grid-column: auto;
  }

  .hv3-hero-stats {
    gap: 12px 22px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hv3-rail {
    display: none;
  }

  .hv3-pain-strike {
    transform: scaleX(1);
  }

  .hv3-pain {
    opacity: .45;
  }
}

.hv4 {
  overflow-x: clip;
}

.hv4-thread {
  position: relative;
}

.hv4-spine {
  z-index: 5;
  pointer-events: none;
  width: 2px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: clamp(14px, 3vw, 44px);
}

.hv4-spine-line {
  background-image: linear-gradient(180deg, var(--line) 55%, transparent 55%);
  background-size: 2px 12px;
  position: absolute;
  inset: 0;
}

.hv4-spine-fill {
  background: linear-gradient(180deg, var(--accent), var(--accent-2));
  transform-origin: top;
  position: absolute;
  inset: 0;
  transform: scaleY(0);
}

.hv4-plane {
  border: 1px solid var(--line-bright);
  background: var(--bg-2);
  width: 34px;
  height: 34px;
  color: var(--accent);
  box-shadow: 0 6px 22px rgba(var(--shadow-rgb), .5);
  border-radius: 999px;
  place-items: center;
  display: grid;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.hv4-plane svg {
  transform: rotate(90deg);
}

.hv4-scene {
  padding-block: clamp(64px, 12svh, 120px);
  position: relative;
}

.hv4-scene-inner {
  padding-left: clamp(28px, 6vw, 84px);
}

.hv4-scene 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 16px;
}

.hv4-scene > .hv4-scene-inner > div > p:not(.hv4-waypoint), .hv4-map-head p, .hv4-results-head p, .hv4-catch-head p {
  max-width: 52ch;
  color: var(--ink-dim);
  margin: 0;
  font-size: clamp(15px, 1.7vw, 17px);
  line-height: 1.55;
}

.hv4-waypoint {
  font-family: var(--font-mono);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ink-dim);
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
  font-size: 12px;
  transition: color .3s;
  display: inline-flex;
}

.hv4-waypoint-node {
  border: 1.5px solid var(--ink-dim);
  border-radius: 999px;
  width: 9px;
  height: 9px;
  transition: background .3s, border-color .3s, box-shadow .3s;
}

.hv4-waypoint.is-active {
  color: var(--accent);
}

.hv4-waypoint.is-active .hv4-waypoint-node {
  border-color: var(--accent);
  background: var(--accent);
  box-shadow: 0 0 12px rgba(var(--accent-rgb), .7);
}

.hv4-waypoint-label {
  color: inherit;
  opacity: .75;
}

.hv4-depart {
  align-items: center;
  min-height: 86svh;
  display: grid;
}

.hv4-contrails {
  background-image: linear-gradient(115deg, transparent 42%, rgba(var(--overlay-rgb), .05) 42.5%, transparent 43.5%),
    linear-gradient(115deg, transparent 58%, rgba(var(--accent-rgb), .07) 58.5%, transparent 60%),
    linear-gradient(115deg, transparent 74%, rgba(var(--overlay-rgb), .035) 74.5%, transparent 75.5%);
  pointer-events: none;
  position: absolute;
  inset: 0;
}

.hv4-flight-strip {
  min-height: 1.4em;
  font-family: var(--font-mono);
  letter-spacing: .14em;
  color: var(--accent-2);
  margin: 0 0 18px;
  font-size: clamp(10.5px, 1.2vw, 12.5px);
}

.hv4-depart-title {
  font-family: var(--font-display);
  text-transform: uppercase;
  margin: 0 0 20px;
  font-size: clamp(54px, 9vw, 124px);
  font-weight: 900;
  line-height: .9;
}

.hv4-depart-line {
  display: block;
}

.hv4-word-mask {
  vertical-align: bottom;
  margin-bottom: -.06em;
  padding-bottom: .06em;
  display: inline-block;
  overflow: hidden;
}

.hv4-word {
  display: inline-block;
}

.hv4-depart-sub {
  max-width: 46ch;
  color: var(--ink-dim);
  margin: 0 0 28px;
  font-size: clamp(17px, 2vw, 20px);
  font-weight: 600;
  line-height: 1.45;
}

.hv4-map {
  border-block: 1px solid var(--line);
  background: var(--bg-2);
}

@media (min-width: 900px) {
  .hv4-map .hv4-scene-inner {
    flex-direction: column;
    justify-content: center;
    min-height: 100svh;
    display: flex;
  }
}

.hv4-map-board {
  aspect-ratio: 16 / 9;
  border: 1px solid var(--line-bright);
  background: radial-gradient(rgba(var(--overlay-rgb), .1) 1px, transparent 1.3px),
    var(--bg);
  background-size: 26px 26px, auto;
  border-radius: 16px;
  max-height: 52svh;
  margin-top: 30px;
  position: relative;
  overflow: hidden;
}

.hv4-map-svg {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.hv4-route-path {
  stroke: var(--accent);
  stroke-width: .45px;
  stroke-dasharray: 1;
  stroke-dashoffset: 1px;
  opacity: .85;
  vector-effect: non-scaling-stroke;
  stroke-width: 1.5px;
}

.hv4-map-origin {
  border: 1px solid var(--accent);
  background: var(--bg);
  font-family: var(--font-mono);
  letter-spacing: .08em;
  color: var(--accent);
  border-radius: 999px;
  padding: 4px 9px;
  font-size: 12px;
  font-weight: 700;
  position: absolute;
  transform: translate(-50%, -50%);
}

.hv4-map-stop {
  justify-items: center;
  gap: 5px;
  display: grid;
  position: absolute;
  transform: translate(-50%, -50%);
}

.hv4-map-dot {
  background: var(--accent-2);
  width: 8px;
  height: 8px;
  box-shadow: 0 0 10px rgba(var(--accent-2-rgb), .65);
  border-radius: 999px;
}

.hv4-map-price {
  background: rgba(var(--bg-rgb), .85);
  font-family: var(--font-mono);
  letter-spacing: .06em;
  color: var(--ink);
  white-space: nowrap;
  border-radius: 6px;
  padding: 2px 7px;
  font-size: 10.5px;
}

.hv4-map-tally {
  margin-top: 22px !important;
}

.hv4-map-tally strong {
  color: var(--accent-2);
}

.hv4-stream {
  gap: 12px;
  max-width: 560px;
  margin-top: 30px;
  display: grid;
  position: relative;
}

.hv4-scanline {
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
  transform-origin: 0;
  height: 2px;
  display: block;
}

.hv4-stream-status {
  font-family: var(--font-mono);
  letter-spacing: .08em;
  color: var(--ink-dim);
  align-items: center;
  gap: 9px;
  margin: 4px 0 0;
  font-size: 12px;
  display: flex;
}

.hv4-stream-pulse {
  background: var(--accent);
  border-radius: 999px;
  width: 8px;
  height: 8px;
  animation: 1.4s ease-in-out infinite hv4-pulse;
}

@keyframes hv4-pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(var(--accent-rgb), .5);
  }

  50% {
    box-shadow: 0 0 0 6px rgba(var(--accent-rgb), 0);
  }
}

.hv4-catch {
  border-block: 1px solid var(--line);
  background: var(--bg-2);
}

.hv4-stamp-card {
  border: 1px solid var(--line-bright);
  background: linear-gradient(150deg, rgba(var(--overlay-rgb), .04), transparent 55%),
    var(--bg);
  border-radius: 16px;
  max-width: 460px;
  margin-top: 30px;
  padding: 24px;
}

.hv4-catch-top {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.hv4-catch-route {
  font-family: var(--font-mono);
  letter-spacing: .06em;
  color: var(--ink-dim);
  font-size: 12.5px;
}

.hv4-stamp-zone {
  place-items: center;
  padding: 34px 0 30px;
  display: grid;
  position: relative;
}

.hv4-stamp {
  border: 3px solid var(--accent-2);
  font-family: var(--font-display);
  color: var(--accent-2);
  text-transform: uppercase;
  border-radius: 10px;
  padding: 10px 22px;
  font-size: clamp(40px, 5vw, 56px);
  font-weight: 900;
  line-height: 1;
  display: inline-block;
  transform: rotate(-6deg);
}

.hv4-stamp em {
  letter-spacing: .12em;
  vertical-align: .5em;
  font-size: .34em;
  font-style: normal;
}

.hv4-stamp-ring {
  border: 2px solid var(--accent-2);
  opacity: 0;
  border-radius: 14px;
  width: 190px;
  height: 110px;
  position: absolute;
}

.hv4-catch-meta {
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  display: flex;
}

.hv4-arsenal-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 30px;
  display: grid;
}

.hv4-arsenal-card {
  border: 1px solid var(--line);
  background: var(--bg-2);
  border-radius: 14px;
  padding: 18px;
  transition: transform .22s, box-shadow .22s;
  position: relative;
  overflow: hidden;
}

@media (hover: hover) {
  .hv4-arsenal-card:hover {
    box-shadow: 0 0 0 1px var(--accent);
    transform: scale(1.02);
  }
}

.hv4-arsenal-num {
  font-family: var(--font-display);
  color: var(--ink);
  opacity: .07;
  pointer-events: none;
  font-size: 74px;
  font-weight: 900;
  line-height: 1;
  position: absolute;
  bottom: -18px;
  right: -4px;
}

.hv4-arsenal-card h3 {
  font-family: var(--font-display);
  text-transform: uppercase;
  margin: 0 0 8px;
  font-size: 20px;
  font-weight: 900;
}

.hv4-arsenal-card p {
  color: var(--ink-dim);
  margin: 0;
  font-size: 13.5px;
  line-height: 1.5;
}

.hv4-board {
  border-top: 1px solid var(--line);
  background: var(--bg-2);
  padding-bottom: clamp(72px, 12svh, 130px);
}

.hv4-pass {
  border: 1px solid var(--line-bright);
  background: linear-gradient(150deg, rgba(var(--overlay-rgb), .05), transparent 50%),
    var(--bg);
  border-radius: 18px;
  grid-template-columns: minmax(0, 1.5fr) minmax(260px, 1fr);
  max-width: 820px;
  margin-top: 30px;
  display: grid;
  overflow: hidden;
}

.hv4-pass-main {
  padding: 24px 26px;
  position: relative;
}

.hv4-pass-brand {
  font-family: var(--font-mono);
  letter-spacing: .18em;
  color: var(--ink-dim);
  margin: 0 0 20px;
  font-size: 12px;
}

.hv4-pass-brand span {
  color: var(--accent);
}

.hv4-pass-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px 16px;
  display: grid;
}

.hv4-pass-field {
  gap: 3px;
  margin: 0;
  display: grid;
}

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

.hv4-pass-field strong {
  font-family: var(--font-display);
  text-transform: uppercase;
  font-size: 17px;
  font-weight: 900;
}

.hv4-pass-stamp {
  border: 2.5px solid var(--accent);
  font-family: var(--font-display);
  text-transform: uppercase;
  color: var(--accent);
  border-radius: 8px;
  padding: 5px 14px;
  font-size: 24px;
  font-weight: 900;
  position: absolute;
  top: 16px;
  right: 20px;
  transform: rotate(7deg);
}

.hv4-pass-stub {
  border-left: 2px dashed var(--line-bright);
  background: rgba(var(--overlay-rgb), .02);
  align-content: center;
  gap: 18px;
  padding: 24px 26px;
  display: grid;
}

.hv4-pass-barcode {
  background: repeating-linear-gradient(90deg,
    var(--ink) 0 2px,
    transparent 2px 5px,
    var(--ink) 5px 6px,
    transparent 6px 11px,
    var(--ink) 11px 14px,
    transparent 14px 17px);
  opacity: .8;
  height: 44px;
  display: block;
}

.hv4-pass-actions {
  gap: 10px;
}

.hv4-board-after {
  gap: 8px;
  margin-top: 28px;
  display: grid;
}

.hv4-board-after p {
  color: var(--ink-dim);
  margin: 0;
  font-size: 14.5px;
}

.hv4-board-after a {
  color: var(--accent);
}

@media (max-width: 899.98px) {
  .hv4-spine {
    left: 12px;
  }

  .hv4-plane {
    width: 28px;
    height: 28px;
  }

  .hv4-plane svg {
    width: 14px;
    height: 14px;
  }

  .hv4-scene-inner {
    padding-left: 30px;
  }

  .hv4-depart {
    min-height: 80svh;
  }

  .hv4-map-board {
    aspect-ratio: 4 / 5;
    max-height: none;
  }

  .hv4-arsenal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hv4-pass {
    grid-template-columns: 1fr;
  }

  .hv4-pass-stub {
    border-left: 0;
    border-top: 2px dashed var(--line-bright);
  }

  .hv4-pass-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .hv4-arsenal-grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hv4-spine {
    display: none;
  }

  .hv4-scene-inner {
    padding-left: 0;
  }

  .hv4-stream-pulse {
    animation: none;
  }

  .hv4-route-path {
    stroke-dashoffset: 0;
  }
}

.flight-card {
  container-type: inline-size !important;
}

.flight-statbar, .flight-leg-meta {
  flex-flow: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: clamp(6px, 1.5cqi, 8px) !important;
  overflow: visible !important;
}

.flight-stats {
  white-space: nowrap;
  flex-wrap: nowrap !important;
  flex: auto !important;
  align-items: center !important;
  gap: clamp(6px, 1.5cqi, 8px) !important;
  min-width: 0 !important;
  display: flex !important;
}

.flight-actions {
  flex-wrap: nowrap !important;
  flex: none !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 6px !important;
  display: flex !important;
}

.flight-actions > .alert-bell-button {
  aspect-ratio: 1 !important;
  flex: 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: clamp(2.75rem, 10cqi, 3rem) !important;
  min-height: 0 !important;
  padding: 0 !important;
}

.flight-actions > .details-button {
  flex: 0 auto !important;
  height: clamp(2.75rem, 10cqi, 3rem) !important;
  min-height: 0 !important;
}

@media (max-width: 760px) {
  .flight-actions > .details-button {
    aspect-ratio: 1 !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
  }
}

.flight-actions > .book-button {
  flex: 0 auto !important;
  justify-content: center !important;
  align-items: center !important;
  height: clamp(2.75rem, 10cqi, 3rem) !important;
  min-height: 0 !important;
  padding-inline: clamp(.75rem, 2.5cqi, 1rem) !important;
  font-size: clamp(.875rem, 4cqi, 1rem) !important;
  display: inline-flex !important;
}

@media (max-width: 380px) {
  .flight-stat-stops {
    font-size: 0 !important;
  }

  .flight-stat-stops .flight-stat-dot {
    margin-right: 0 !important;
  }

  .flight-actions .book-button {
    padding-inline: 12px !important;
    font-size: 14px !important;
  }
}

.v2-map-section .book-button, .v2-map-section .alert-bell-button {
  box-sizing: border-box !important;
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  font-size: 12px !important;
  line-height: 1 !important;
}

.v2-map-section .alert-bell-button {
  border-radius: 5px !important;
  width: 36px !important;
  min-width: 36px !important;
  padding: 0 !important;
}

.v2-map-section .book-button {
  border-radius: 5px !important;
  min-width: 0 !important;
  padding-inline: 10px !important;
}

.flight-route {
  grid-template-columns: minmax(0, max-content) minmax(0, 1fr) minmax(0, max-content) !important;
  gap: clamp(6px, 2.5cqi, 14px) !important;
}

.flight-endpoint strong {
  font-size: clamp(17px, 7cqi, 28px) !important;
}

.flight-headline-fare strong {
  font-size: clamp(20px, 8cqi, 30px) !important;
}

.flight-card-head {
  gap: clamp(12px, 3.5cqi, 20px) !important;
}

.flight-option-date {
  font-size: clamp(12px, 3.5cqi, 13px) !important;
}

.v2-map-view {
  box-shadow: inset 0 0 40px rgba(var(--shadow-rgb), .7);
  background-image: radial-gradient(circle, #1e293b4d 0%, #090b0df2 100%);
}

.v2-map-fullscreen {
  z-index: 99999 !important;
  width: 100vw !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  padding-top: env(safe-area-inset-top, 0px) !important;
  padding-bottom: env(safe-area-inset-bottom, 0px) !important;
  padding-left: env(safe-area-inset-left, 0px) !important;
  padding-right: env(safe-area-inset-right, 0px) !important;
  box-sizing: border-box !important;
  background-color: #090b0d !important;
  position: fixed !important;
  inset: 0 !important;
  overflow: hidden !important;
}

.v2-map-toggle-bar {
  margin-top: .5rem;
  margin-bottom: 0;
}

.v2-map-toggle-bar + .results-panel {
  margin-top: 0;
  padding-top: 0;
}

.v2-map-toggle-bar + .results-panel .search-progress {
  margin-top: 6px;
}

.v2-map-toggle-bar + .results-panel .results-head {
  margin-top: 8px;
}

.v2-map-toggle button {
  font-family: var(--font-mono);
}

.custom-leaflet-origin-marker, .custom-leaflet-dest-marker {
  background: none !important;
  border: none !important;
}

.v2-origin-pin {
  flex-direction: column;
  align-items: center;
  display: flex;
  position: relative;
}

.v2-origin-pulse {
  background: rgba(var(--accent-rgb), .5);
  border-radius: 50%;
  width: 28px;
  height: 28px;
  margin-top: -14px;
  margin-left: -14px;
  animation: 2s cubic-bezier(0, 0, .2, 1) infinite ping-pulse;
  position: absolute;
  top: 50%;
  left: 50%;
}

@keyframes ping-pulse {
  0% {
    opacity: .9;
    transform: scale(.6);
  }

  100% {
    opacity: 0;
    transform: scale(2.4);
  }
}

.v2-origin-badge {
  z-index: 2;
  background: linear-gradient(135deg, var(--accent-hover) 0%, var(--accent-deep) 100%);
  color: var(--accent-ink, #fff);
  font-family: var(--font-mono);
  letter-spacing: .05em;
  box-shadow: 0 4px 14px rgba(var(--accent-rgb), .6), inset 0 1px 1px rgba(var(--overlay-rgb), .4);
  white-space: nowrap;
  border: 1.5px solid #fff;
  border-radius: 12px;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 900;
  display: flex;
  position: relative;
}

.v2-origin-plane {
  fill: currentColor;
  flex-shrink: 0;
  width: 12px;
  height: 12px;
}

.v2-dest-pin {
  cursor: pointer;
  flex-direction: column;
  align-items: center;
  transition: transform .2s cubic-bezier(.34, 1.56, .64, 1);
  display: flex;
  position: relative;
}

.v2-dest-pin:hover, .v2-dest-pin.is-selected {
  transform: scale(1.18);
  z-index: 1000 !important;
}

.v2-dest-chip {
  font-family: var(--font-mono);
  letter-spacing: -.01em;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  box-shadow: 0 4px 14px rgba(var(--shadow-rgb), .7);
  white-space: nowrap;
  border: 1.5px solid #0000;
  border-radius: 20px;
  align-items: center;
  gap: 3px;
  padding: 3px 9px;
  font-size: 11px;
  font-weight: 800;
  transition: all .2s;
  display: flex;
}

.v2-pin-pointer {
  opacity: .9;
  border-top: 5px solid;
  border-left: 4px solid #0000;
  border-right: 4px solid #0000;
  width: 0;
  height: 0;
  margin-top: -1px;
}

@media (max-width: 640px) {
  .v2-map-view {
    height: 420px !important;
  }
}

@keyframes v2-flight-dash-flow {
  from {
    stroke-dashoffset: 0;
  }

  to {
    stroke-dashoffset: 24px;
  }
}

.v2-map-route-line {
  stroke-linecap: round;
  transition: stroke .2s, stroke-width .2s, opacity .2s;
}

.v2-map-route-animated {
  stroke-dasharray: 6 6;
  animation: 1.6s linear infinite v2-flight-dash-flow;
}

.v2-map-route-selected {
  stroke-dasharray: 8 5;
  filter: drop-shadow(0 0 6px #ff5500d9);
  animation: 1s linear infinite v2-flight-dash-flow;
}

.v2-map-route-dimmed {
  stroke-dasharray: 4 4;
  opacity: .5;
}

.map-promo-band {
  border-block: 1px solid var(--line);
  background: radial-gradient(640px 320px at 16% 26%, rgba(var(--good-rgb), .07), transparent),
    radial-gradient(560px 280px at 92% 90%, rgba(var(--accent-rgb), .06), transparent),
    var(--bg-2);
  padding: 70px 0;
}

.map-promo-inner {
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr);
  align-items: center;
  gap: clamp(32px, 6vw, 72px);
  display: grid;
}

.map-promo-copy 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;
}

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

.map-promo-copy .hero-actions {
  align-items: center;
  margin-top: 26px;
}

.map-promo-link {
  font-family: var(--font-ui);
  color: var(--ink-dim);
  text-underline-offset: 3px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: underline;
  transition: color .15s;
}

.map-promo-link:hover {
  color: var(--ink);
}

.map-promo-frame {
  border: 1px solid var(--line-bright);
  width: min(100%, 480px);
  box-shadow: var(--shadow);
  border-radius: 14px;
  margin-left: auto;
  overflow: hidden;
}

.map-promo-visual {
  aspect-ratio: 480 / 340;
  background: var(--bg-3);
  pointer-events: none;
  width: 100%;
}

@media (max-width: 860px) {
  .map-promo-inner {
    grid-template-columns: 1fr;
  }

  .map-promo-frame {
    width: 100%;
    margin-inline: 0;
  }
}

.nf-hero {
  padding-top: clamp(24px, 5vw, 64px);
  padding-bottom: 0;
}

.nf-hero h1 {
  font-family: var(--font-display);
  font-size: var(--fs-display-1);
  line-height: var(--lh-display);
  margin: 8px 0 16px;
}

.nf-lede {
  font-family: var(--font-ui);
  color: var(--ink-dim);
  max-width: 56ch;
  margin: 0;
  font-size: 1.0625rem;
  line-height: 1.6;
}

.nf-lede em {
  color: var(--ink);
  font-style: normal;
  font-weight: 600;
}

.nf-board-wrap {
  max-width: 760px;
  padding-top: clamp(20px, 3vw, 40px);
  padding-bottom: 16px;
}

.nf-flightpath {
  border-bottom: 2px dashed var(--line-bright);
  height: 26px;
  margin-bottom: 12px;
  position: relative;
}

.nf-plane {
  color: var(--accent);
  animation: 14s linear infinite nf-fly;
  position: absolute;
  bottom: -12px;
  left: 0;
  transform: rotate(45deg);
}

@keyframes nf-fly {
  0% {
    transform: translateX(-30px)rotate(45deg);
  }

  100% {
    transform: translateX(min(760px, 92vw))rotate(45deg);
  }
}

.nf-board {
  background: var(--bg-2);
  border: 1px solid var(--line);
  border-radius: 10px;
  overflow: hidden;
}

.nf-board-head {
  background: var(--bg-3);
  border-bottom: 1px solid var(--line);
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 12px 16px;
  display: flex;
}

.nf-board-title {
  font-family: var(--font-display);
  font-size: var(--fs-title);
  text-transform: uppercase;
  letter-spacing: .06em;
}

.nf-board-clock {
  font-family: var(--font-mono);
  font-size: var(--fs-small);
  color: var(--ink-dim);
}

.nf-table {
  border-collapse: collapse;
  width: 100%;
  font-family: var(--font-mono);
  font-size: var(--fs-small);
}

.nf-table th {
  text-align: left;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 500;
  font-size: var(--fs-eyebrow);
  color: var(--ink-faint);
  border-bottom: 1px solid var(--line);
  padding: 10px 16px 8px;
}

.nf-table td {
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  padding: 12px 16px;
}

.nf-table tbody tr:last-child td {
  border-bottom: none;
}

.nf-table td a {
  color: var(--ink);
  box-shadow: inset 0 -1px 0 var(--line-bright);
  text-decoration: none;
}

.nf-table td a:hover {
  color: var(--accent);
  box-shadow: inset 0 -1px 0 var(--accent);
}

.nf-row-404 td {
  color: var(--ink-dim);
}

.nf-status {
  text-transform: uppercase;
  letter-spacing: .06em;
}

.nf-status-bad {
  color: var(--bad);
  animation: 1.6s steps(2, jump-none) infinite nf-blink;
}

.nf-status-good {
  color: var(--good);
}

.nf-status-accent {
  color: var(--accent-2);
}

@keyframes nf-blink {
  50% {
    opacity: .35;
  }
}

.nf-board-note {
  font-family: var(--font-ui);
  font-size: var(--fs-small);
  color: var(--ink-dim);
  max-width: 60ch;
  margin: 12px 2px 0;
}

.nf-actions {
  margin-top: 24px;
}

@media (prefers-reduced-motion: reduce) {
  .nf-plane {
    animation: none;
    left: auto;
    right: 8px;
  }

  .nf-status-bad {
    animation: none;
  }
}

@media (max-width: 560px) {
  .nf-table th:nth-child(3), .nf-table td:nth-child(3) {
    display: none;
  }
}

.settings-nav-badge {
  background: var(--accent);
  min-width: 20px;
  color: var(--accent-ink);
  text-align: center;
  border-radius: 999px;
  margin-left: auto;
  padding: 1px 6px;
  font-size: 11px;
  font-weight: 700;
  line-height: 17px;
}

.inbox-panel {
  gap: 14px;
  min-width: 0;
  display: grid;
}

.inbox-head {
  align-items: baseline;
  gap: 10px;
  display: flex;
}

.inbox-head h2 {
  margin: 0;
}

.inbox-sub {
  color: var(--ink-dim);
  font-size: 13px;
}

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

.inbox-filter-row {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.inbox-mailbox-select {
  border: 1px solid var(--line-bright);
  background: var(--bg-2);
  color: var(--ink);
  font: inherit;
  border-radius: 9px;
  padding: 7px 10px;
  font-size: 13px;
}

.inbox-chips {
  gap: 6px;
  display: flex;
}

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

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

.inbox-chip[aria-pressed="true"] {
  border-color: var(--accent);
  background: rgba(var(--accent-rgb), .12);
  color: var(--ink);
}

.inbox-layout {
  grid-template-columns: minmax(250px, 330px) minmax(0, 1fr);
  align-items: start;
  gap: 16px;
  display: grid;
}

.inbox-list {
  gap: 10px;
  min-width: 0;
  display: grid;
}

.inbox-threads {
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.inbox-thread {
  border: 1px solid var(--line);
  background: var(--bg-2);
  width: 100%;
  color: var(--ink-dim);
  font-family: var(--font-ui);
  text-align: left;
  cursor: pointer;
  border-radius: 12px;
  gap: 3px;
  padding: 10px 12px;
  transition: border-color .15s, background .15s;
  display: grid;
}

.inbox-thread:hover {
  border-color: var(--line-bright);
}

.inbox-thread[aria-current="true"] {
  border-color: var(--accent);
  background: rgba(var(--accent-rgb), .08);
}

.inbox-thread-top {
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  display: flex;
}

.inbox-thread-from {
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 600;
  overflow: hidden;
}

.inbox-thread-when {
  color: var(--ink-faint);
  flex: none;
  font-size: 11px;
}

.inbox-thread-subject {
  color: var(--ink-dim);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
  overflow: hidden;
}

.inbox-thread-unread .inbox-thread-subject {
  color: var(--ink);
  font-weight: 600;
}

.inbox-thread-bottom {
  align-items: center;
  gap: 6px;
  display: flex;
}

.inbox-thread-snippet {
  min-width: 0;
  color: var(--ink-faint);
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: auto;
  font-size: 12px;
  overflow: hidden;
}

.inbox-tag {
  border: 1px solid var(--line);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ink-dim);
  border-radius: 999px;
  flex: none;
  padding: 1px 7px;
  font-size: 10px;
}

.inbox-tag-mailbox {
  border-color: rgba(var(--den-rgb), .5);
  color: var(--den);
}

.inbox-unread-dot {
  background: var(--accent);
  min-width: 18px;
  color: var(--accent-ink);
  text-align: center;
  border-radius: 999px;
  flex: none;
  padding: 0 5px;
  font-size: 11px;
  font-weight: 700;
  line-height: 17px;
}

.inbox-empty {
  color: var(--ink-dim);
  margin: 0;
  padding: 18px 12px;
  font-size: 13px;
}

.inbox-detail {
  border: 1px solid var(--line);
  background: var(--bg-2);
  border-radius: 14px;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  min-width: 0;
  padding: 14px;
  display: grid;
}

.inbox-empty-detail {
  text-align: center;
  padding: 32px 12px;
}

.inbox-detail-head {
  gap: 8px;
  display: grid;
}

.inbox-back {
  color: var(--accent);
  font-family: var(--font-ui);
  cursor: pointer;
  background: none;
  border: 0;
  justify-self: start;
  padding: 8px 0;
  font-size: 14px;
  display: none;
}

.inbox-detail-subject {
  color: var(--ink);
  overflow-wrap: anywhere;
  margin: 0;
  font-size: 17px;
  line-height: 1.3;
}

.inbox-detail-meta {
  color: var(--ink-faint);
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 12px;
  display: flex;
}

.inbox-detail-participants {
  overflow-wrap: anywhere;
}

.inbox-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: flex;
}

.inbox-messages {
  gap: 12px;
  min-width: 0;
  display: grid;
}

.inbox-msg {
  border: 1px solid var(--line);
  border-left: 3px solid var(--den);
  background: var(--bg-3);
  border-radius: 12px;
  gap: 6px;
  min-width: 0;
  max-width: 100%;
  padding: 12px;
  display: grid;
}

.inbox-msg-out {
  border-left-color: var(--accent);
}

.inbox-msg-head {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  display: flex;
}

.inbox-msg-dir {
  background: rgba(var(--den-rgb), .14);
  color: var(--den);
  letter-spacing: .04em;
  text-transform: uppercase;
  border-radius: 999px;
  padding: 1px 7px;
  font-size: 10px;
}

.inbox-msg-dir-out {
  background: rgba(var(--accent-rgb), .14);
  color: var(--accent);
}

.inbox-msg-from {
  min-width: 0;
  color: var(--ink);
  overflow-wrap: anywhere;
  font-size: 13px;
}

.inbox-msg-when {
  color: var(--ink-faint);
  margin-left: auto;
  font-size: 11px;
}

.inbox-msg-to {
  color: var(--ink-faint);
  overflow-wrap: anywhere;
  margin: 0;
  font-size: 12px;
}

.inbox-msg-pending {
  color: var(--ink-faint);
  margin: 0;
  font-size: 13px;
  font-style: italic;
}

.inbox-msg-text {
  color: var(--ink);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
}

.inbox-msg-frame {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 12px;
  width: 100%;
  max-width: 100%;
  height: 600px;
}

.inbox-attachments {
  flex-wrap: wrap;
  gap: 6px;
  margin: 2px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.inbox-attachment {
  border: 1px dashed var(--line-bright);
  max-width: 100%;
  font-family: var(--font-ui);
  color: var(--ink-dim);
  background: none;
  border-radius: 9px;
  align-items: baseline;
  gap: 6px;
  padding: 6px 10px;
  font-size: 12px;
  display: flex;
}

.inbox-attachment-name {
  overflow-wrap: anywhere;
}

.inbox-attachment:not(:disabled) {
  cursor: pointer;
  color: var(--ink);
  border-style: solid;
  transition: border-color .15s;
}

.inbox-attachment:not(:disabled):hover {
  border-color: var(--accent);
}

.inbox-attachment:disabled {
  cursor: not-allowed;
  opacity: .75;
}

.inbox-attachment-blocked {
  border-color: rgba(var(--bad-rgb), .55);
  color: var(--bad);
}

.inbox-attachment-blocked .inbox-attachment-meta {
  color: var(--bad);
}

.inbox-attachment-meta {
  color: var(--ink-faint);
  font-size: 11px;
}

.inbox-identities-toggle {
  margin-left: auto;
}

.inbox-composer {
  border-top: 1px solid var(--line);
  gap: 8px;
  padding-top: 12px;
  display: grid;
}

.inbox-composer-from {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.inbox-composer-label {
  color: var(--ink-dim);
  font-size: 12px;
}

.inbox-composer-address {
  color: var(--ink-faint);
  font-size: 12px;
}

.inbox-composer-textarea {
  border: 1px solid var(--line-bright);
  background: var(--bg-3);
  width: 100%;
  min-height: 92px;
  color: var(--ink);
  font: inherit;
  resize: vertical;
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 14px;
  line-height: 1.5;
}

.inbox-composer-textarea:focus-visible {
  border-color: var(--accent);
  outline: none;
}

.inbox-composer-foot {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.inbox-composer-note {
  color: var(--ink-faint);
  font-size: 12px;
}

.inbox-composer-hint {
  border-top: 1px solid var(--line);
  color: var(--ink-dim);
  margin: 0;
  padding-top: 12px;
  font-size: 13px;
}

.inbox-body-editor {
  gap: 6px;
  min-width: 0;
  display: grid;
}

.inbox-rich-toolbar {
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  display: flex;
}

.inbox-rich-tool {
  border: 1px solid var(--line-bright);
  min-width: 36px;
  min-height: 36px;
  color: var(--ink-dim);
  font-family: var(--font-ui);
  cursor: pointer;
  background: none;
  border-radius: 9px;
  padding: 0 10px;
  font-size: 13px;
  font-weight: 600;
  transition: color .15s, border-color .15s;
}

.inbox-rich-tool:hover {
  color: var(--ink);
  border-color: var(--accent);
}

.inbox-rich-tool[aria-pressed="true"] {
  color: var(--accent);
  border-color: var(--accent);
  background: rgba(var(--accent-rgb), .14);
}

.inbox-rich-tool:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.inbox-rich-editor {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  min-height: 110px;
  overflow-y: auto;
}

.inbox-rich-editor:empty:before {
  content: attr(data-placeholder);
  color: var(--ink-faint);
  pointer-events: none;
}

.inbox-rich-editor:focus-visible {
  border-color: var(--accent);
  outline: none;
}

.inbox-rich-editor ul, .inbox-rich-editor ol {
  margin: .35em 0;
  padding-left: 1.4em;
}

.inbox-rich-editor a {
  color: var(--accent);
}

.inbox-body-mode-toggle {
  color: var(--ink-dim);
  font-family: var(--font-ui);
  cursor: pointer;
  background: none;
  border: 0;
  justify-self: start;
  padding: 2px 0;
  font-size: 12px;
}

.inbox-body-mode-toggle:hover {
  color: var(--ink);
}

.inbox-signature {
  justify-items: start;
  gap: 6px;
  display: grid;
}

.inbox-signature-summary {
  color: var(--ink-dim);
  font-family: var(--font-ui);
  text-align: left;
  cursor: pointer;
  overflow-wrap: anywhere;
  background: none;
  border: 0;
  padding: 4px 0;
  font-size: 12px;
}

.inbox-signature-summary:hover {
  color: var(--ink);
}

.inbox-signature-textarea {
  min-height: 56px;
}

.inbox-signature-reset {
  color: var(--accent);
  font-family: var(--font-ui);
  cursor: pointer;
  background: none;
  border: 0;
  padding: 2px 0;
  font-size: 12px;
}

.inbox-compose {
  border: 1px solid var(--line);
  background: var(--bg-2);
  border-radius: 14px;
  gap: 10px;
  max-width: 640px;
  padding: 14px;
  display: grid;
}

.inbox-compose-actions {
  align-items: center;
  gap: 8px;
  display: flex;
}

.inbox-identities {
  gap: 16px;
  display: grid;
}

.inbox-identities-title {
  color: var(--ink);
  margin: 0;
  font-size: 14px;
}

.inbox-identity-add, .inbox-identity-group {
  border: 1px solid var(--line);
  background: var(--bg-2);
  border-radius: 14px;
  gap: 10px;
  padding: 14px;
  display: grid;
}

.inbox-identity-add > .button {
  justify-self: start;
}

.inbox-identity-add-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  display: grid;
}

.inbox-id-field {
  color: var(--ink-dim);
  gap: 4px;
  font-size: 12px;
  display: grid;
}

.inbox-id-field input, .inbox-id-field textarea {
  border: 1px solid var(--line-bright);
  background: var(--bg-3);
  color: var(--ink);
  font: inherit;
  border-radius: 9px;
  padding: 8px 10px;
  font-size: 13px;
}

.inbox-identity-list {
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.inbox-identity {
  border: 1px solid var(--line);
  background: var(--bg-3);
  border-radius: 12px;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  display: flex;
}

.inbox-identity-info {
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.inbox-identity-name {
  color: var(--ink);
  font-size: 13px;
}

.inbox-identity-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.inbox-identity-form {
  flex: 100%;
  gap: 8px;
  display: grid;
}

.inbox-identity-form-actions {
  gap: 8px;
  display: flex;
}

.inbox-panel, .inbox-filters, .inbox-list, .inbox-threads, .inbox-thread, .inbox-detail-head, .inbox-messages, .inbox-msg, .inbox-composer, .inbox-body-editor, .inbox-signature, .inbox-compose, .inbox-identities, .inbox-identity-add, .inbox-identity-group, .inbox-id-field, .inbox-identity-list, .inbox-identity-form {
  grid-template-columns: minmax(0, 1fr);
}

@media (max-width: 760px) {
  .inbox-panel {
    max-width: 100%;
    overflow-x: clip;
  }

  .inbox-layout {
    grid-template-columns: 1fr;
  }

  .inbox-thread-open .inbox-list, .inbox-panel:not(.inbox-thread-open) .inbox-detail {
    display: none;
  }

  .inbox-back {
    display: inline-block;
  }

  .inbox-filters {
    gap: 6px;
  }

  .inbox-filter-row {
    flex-wrap: nowrap;
  }

  .inbox-filter-scroll {
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
  }

  .inbox-filter-scroll::-webkit-scrollbar {
    display: none;
  }

  .inbox-filter-scroll .inbox-chip {
    flex: none;
  }

  .inbox-mailbox-select {
    flex: auto;
    min-width: 0;
  }

  .inbox-chip {
    padding: 6px 11px;
    font-size: 12px;
  }

  .inbox-detail {
    padding: 12px 10px;
  }

  .inbox-detail-head {
    gap: 6px;
  }

  .inbox-detail-subject {
    font-size: 15px;
  }

  .inbox-detail-meta {
    font-size: 11px;
  }

  .inbox-actions {
    gap: 6px 8px;
  }

  .inbox-msg {
    padding: 10px;
  }

  .inbox-msg-frame {
    height: 320px;
    min-height: 160px;
    max-height: 55vh;
  }

  .inbox-identity-add-grid {
    grid-template-columns: 1fr;
  }

  .inbox-composer-textarea, .inbox-id-field input, .inbox-id-field textarea {
    font-size: 16px;
  }

  .inbox-rich-toolbar {
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap;
    overflow-x: auto;
  }

  .inbox-rich-toolbar::-webkit-scrollbar {
    display: none;
  }

  .inbox-rich-tool {
    flex: none;
    min-width: 40px;
    min-height: 40px;
  }
}

.onboarding-wizard {
  flex-direction: column;
  gap: 10px;
  width: min(560px, 100vw - 32px);
  display: flex;
  overflow: hidden;
}

.onboarding-wizard .alert-dialog-head {
  margin-bottom: 2px;
}

.wizard-head-meta {
  align-items: center;
  gap: 10px;
  display: flex;
}

.wizard-progress-label {
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink-faint);
  font-size: 10px;
  font-weight: 800;
}

.wizard-dots {
  gap: 5px;
  display: flex;
}

.wizard-dot {
  background: var(--line-bright);
  border-radius: 999px;
  width: 6px;
  height: 6px;
  transition: background .15s;
}

.wizard-dot.is-active {
  background: var(--accent);
}

.wizard-dot.is-done {
  background: rgba(var(--accent-rgb), .45);
}

.wizard-step-title {
  font-size: 22px;
}

.wizard-step-sub {
  color: var(--ink-dim);
  margin: 0;
  font-size: 13px;
}

.wizard-body {
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  flex-direction: column;
  gap: 14px;
  min-height: 0;
  margin-top: 6px;
  display: flex;
  overflow-y: auto;
}

.wizard-theme {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.wizard-swap {
  min-height: 212px;
}

.wizard-swap-view {
  flex-direction: column;
  gap: 12px;
  animation: .16s both wizard-swap-in;
  display: flex;
}

@keyframes wizard-swap-in {
  from {
    opacity: 0;
    transform: translateY(3px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wizard-swap-view {
    animation: none;
  }
}

.wizard-swap-head {
  align-items: center;
  gap: 10px;
  min-height: 32px;
  display: flex;
}

.wizard-back {
  border: 1px solid var(--line-bright);
  min-height: 32px;
  color: var(--ink-dim);
  font-family: var(--font-ui);
  cursor: pointer;
  background: none;
  border-radius: 999px;
  align-items: center;
  gap: 4px;
  padding: 5px 12px 5px 7px;
  font-size: 12px;
  transition: color .15s, border-color .15s;
  display: inline-flex;
}

.wizard-back:hover {
  color: var(--ink);
  border-color: var(--ink-faint);
}

.wizard-back svg {
  width: 14px;
  height: 14px;
}

.wizard-cats {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.wizard-cat {
  border: 1px solid var(--line);
  min-height: 48px;
  color: var(--ink);
  font-family: var(--font-ui);
  text-align: left;
  cursor: pointer;
  background: none;
  border-radius: 10px;
  align-items: center;
  gap: 10px;
  padding: 10px 12px 10px 14px;
  font-size: 13px;
  transition: border-color .15s, background .15s;
  display: flex;
}

.wizard-cat:hover {
  border-color: var(--line-bright);
  background: rgba(var(--overlay-rgb), .03);
}

.wizard-cat-name {
  font-weight: 600;
}

.wizard-cat-value {
  color: var(--ink-dim);
  align-items: center;
  gap: 8px;
  margin-left: auto;
  font-size: 12px;
  display: inline-flex;
}

.wizard-cat-dot {
  border: 1px solid var(--line-bright);
  border-radius: 999px;
  width: 14px;
  height: 14px;
}

.wizard-cat-chevron {
  width: 16px;
  height: 16px;
  color: var(--ink-faint);
  flex: none;
}

.wizard-swap .appearance-fonts {
  grid-template-columns: repeat(auto-fill, minmax(92px, 1fr));
  gap: 8px;
}

.wizard-swap .appearance-font-card {
  gap: 2px;
  padding: 9px 10px;
}

.wizard-swap .appearance-font-specimen {
  font-size: 22px;
}

.wizard-swap .appearance-font-detail {
  display: none;
}

.wizard-custom-label {
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink-faint);
  font-size: 10px;
  font-weight: 800;
}

.wizard-preview {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.wizard-preview-card {
  pointer-events: none;
  container-type: inline-size;
}

.wizard-preview-card .flight-leg-card {
  border: 1px solid var(--line);
  background: linear-gradient(135deg, rgba(var(--overlay-rgb), .035), transparent 48%),
    rgba(var(--bg-2-rgb), .9);
  border-radius: 8px;
  padding: 16px 0;
}

.wizard-preview-card .flight-leg-fare {
  margin: 0;
  padding: 0 20px;
}

.wizard-preview-card .flight-card-head {
  padding-top: 0;
}

.wizard-actions {
  justify-content: space-between;
  gap: 10px;
  margin-top: 6px;
  display: flex;
}

.wizard-airport {
  flex-direction: column;
  gap: 10px;
  min-height: 96px;
  display: flex;
}

@media (max-width: 640px) {
  .onboarding-wizard {
    top: calc(env(safe-area-inset-top, 0px) + 10px);
    max-height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 20px);
    transform: translateX(-50%);
  }

  .onboarding-wizard[data-state="open"] {
    animation: .22s cubic-bezier(.22, 1, .36, 1) both onboarding-mobile-in;
  }

  .onboarding-wizard[data-state="closed"] {
    animation: .17s cubic-bezier(.22, 1, .36, 1) both onboarding-mobile-out;
  }
}

@keyframes onboarding-mobile-in {
  from {
    opacity: 0;
    transform: translate(-50%, 8px)scale(.98);
  }

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

@keyframes onboarding-mobile-out {
  from {
    opacity: 1;
    transform: translateX(-50%)scale(1);
  }

  to {
    opacity: 0;
    transform: translate(-50%, 8px)scale(.98);
  }
}

@media (max-width: 640px) and (prefers-reduced-motion: reduce) {
  .onboarding-wizard[data-state="open"], .onboarding-wizard[data-state="closed"] {
    animation: none;
  }
}

.wizard-filters {
  flex-direction: column;
  gap: 14px;
  display: flex;
}

.wizard-filters-row {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px 14px;
}

.wizard-filters-row .v2-switch-field {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.wizard-offer-actions {
  margin-top: 14px;
}

.onboarding-wizard .appearance-presets {
  padding: 3px;
}

@media (max-width: 480px) {
  .onboarding-wizard .appearance-presets {
    grid-template-columns: repeat(3, 1fr);
  }

  .wizard-step-title {
    font-size: 20px;
  }
}

.tour-overlay {
  z-index: 90;
  position: fixed;
  inset: 0;
  overflow: hidden;
}

.tour-overlay.is-covering {
  background: rgba(var(--shadow-rgb), .6);
}

.tour-spotlight {
  border: 2px solid var(--accent);
  box-shadow: 0 0 0 200vmax rgba(var(--shadow-rgb), .6);
  pointer-events: none;
  border-radius: 12px;
  transition: top .2s, left .2s, width .2s, height .2s;
  position: fixed;
}

.tour-bubble {
  z-index: 91;
  background: var(--bg-2);
  border: 1px solid var(--line-bright);
  width: min(360px, 100vw - 24px);
  box-shadow: 0 24px 60px rgba(var(--shadow-rgb), .5);
  border-radius: 10px;
  outline: none;
  flex-direction: column;
  gap: 8px;
  max-height: calc(100dvh - 24px);
  padding: 16px;
  display: flex;
  position: fixed;
}

.tour-bubble-scroll {
  overscroll-behavior: contain;
  flex-direction: column;
  gap: 8px;
  min-height: 0;
  display: flex;
  overflow-y: auto;
}

.tour-bubble-actions {
  flex-shrink: 0;
}

.tour-bubble.is-sheet {
  inset: auto 12px calc(env(safe-area-inset-bottom, 0px) + 12px) 12px;
  width: auto;
  max-width: 480px;
  max-height: calc(100vh - env(safe-area-inset-bottom, 0px) - 24px);
  max-height: calc(100dvh - env(safe-area-inset-bottom, 0px) - 24px);
  margin-inline: auto;
}

@media (max-width: 760px) {
  html[data-standalone="true"] .tour-bubble.is-sheet {
    bottom: calc(env(safe-area-inset-bottom, 0px) + 86px);
    max-height: calc(100vh - env(safe-area-inset-bottom, 0px) - 98px);
    max-height: calc(100dvh - env(safe-area-inset-bottom, 0px) - 98px);
  }
}

.tour-bubble-progress {
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin: 0;
  font-size: 10px;
  font-weight: 800;
}

.tour-bubble-title {
  color: var(--ink);
  margin: 0;
  font-size: 17px;
  font-weight: 700;
}

.tour-bubble-body {
  color: var(--ink-dim);
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
}

.tour-demo {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px;
  overflow: hidden;
}

.tour-bubble-actions {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-top: 6px;
  display: flex;
}

.tour-bubble-nav {
  gap: 8px;
  display: flex;
}

.tour-dont-show {
  color: var(--ink-dim);
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  display: flex;
}

.tour-dont-show input {
  accent-color: var(--accent);
  width: 15px;
  height: 15px;
  margin: 0;
}

.tour-bubble:has(.tour-demo-everywhere) {
  width: min(520px, 100vw - 24px);
}

@media (min-width: 640px) {
  .tour-bubble:has(.tour-demo-everywhere) {
    width: min(780px, 100vw - 24px);
  }

  .tour-bubble:has(.tour-demo-everywhere) .tour-bubble-scroll {
    grid-template-rows: auto auto 1fr;
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    align-items: start;
    column-gap: 18px;
    display: grid;
  }

  :is(.tour-bubble:has(.tour-demo-everywhere) .tour-bubble-progress, .tour-bubble:has(.tour-demo-everywhere) .tour-bubble-title, .tour-bubble:has(.tour-demo-everywhere) .tour-bubble-body) {
    grid-column: 1;
  }

  .tour-bubble:has(.tour-demo-everywhere) .tour-demo {
    grid-area: 1 / 2 / -1;
    align-self: stretch;
    min-height: 280px;
  }
}

.tour-bubble:has(.tour-demo-everywhere) .tour-bubble-scroll {
  overflow-y: hidden;
}

.tour-bubble:has(.tour-demo-everywhere) .tour-demo {
  flex-direction: column;
  flex: auto;
  min-height: 0;
  display: flex;
}

.tour-demo-everywhere {
  flex-direction: column;
  flex: auto;
  gap: 10px;
  min-width: 0;
  max-width: 100%;
  min-height: 0;
  display: flex;
}

.tour-demo-everywhere-caption {
  color: var(--ink-dim);
  margin: 0;
  font-size: 12px;
  font-weight: 600;
}

.tour-demo-everywhere-map {
  aspect-ratio: 4 / 3;
  border: 1px solid var(--line);
  background: var(--bg-2);
  border-radius: 10px;
  flex: auto;
  width: 100%;
  min-height: 150px;
  overflow: hidden;
}

.tour-demo-ew-pin .v2-dest-pin {
  opacity: 0;
  transform-origin: bottom;
  transition: opacity .24s, transform .24s;
  transform: scale(.4);
}

.tour-demo-ew-pin.is-visible .v2-dest-pin {
  opacity: 1;
  transform: none;
}

.tour-demo-ew-arc {
  opacity: 0;
  transition: opacity .24s;
}

.tour-demo-ew-arc.is-visible {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .tour-demo-ew-pin .v2-dest-pin, .tour-demo-ew-arc {
    transition: none;
  }
}

@media (max-width: 480px) {
  .tour-demo-everywhere-map {
    aspect-ratio: 4 / 2.8;
  }

  .tour-demo-ew-pin.is-visible .v2-dest-pin {
    transform-origin: bottom;
    transform: scale(.72);
  }
}

@media (max-height: 650px) {
  .tour-demo-everywhere-map {
    aspect-ratio: auto;
    height: clamp(120px, 30dvh, 200px);
  }
}

.tour-bubble:has(.tour-demo-filters) {
  width: min(480px, 100vw - 24px);
}

.tour-demo-filters {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  font-size: 12px;
  display: grid;
}

.tour-demo-filters-head {
  grid-column: 1 / -1;
}

@media (max-width: 639px) {
  .tour-demo-filters {
    grid-template-columns: 1fr;
  }
}

.tour-demo-filters-head, .tour-demo-filter-row {
  align-items: center;
  gap: 8px;
  display: flex;
}

.tour-demo-filters-head {
  color: var(--ink-dim);
  justify-content: space-between;
}

.tour-demo-filters-head strong {
  color: var(--accent);
}

.tour-demo-filter-label {
  white-space: nowrap;
  width: 62px;
  color: var(--ink-faint);
  flex: none;
}

.tour-demo-filter-chips {
  gap: 6px;
  display: flex;
}

.tour-demo-filter-chip, .tour-demo-filter-value, .tour-demo-filter-toggle {
  border: 1px solid var(--line);
  color: var(--ink-dim);
  border-radius: 999px;
  padding: 4px 8px;
  transition: background-color .18s, border-color .18s, color .18s;
}

.tour-demo-filter-chip.is-active, .tour-demo-filter-value.is-active {
  border-color: var(--accent);
  background: var(--accent);
  color: var(--bg);
}

.tour-demo-filter-toggle {
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

.tour-demo-filter-toggle i {
  border: 1px solid var(--line-bright);
  background: none;
  border-radius: 50%;
  width: 14px;
  height: 14px;
  transition: background-color .18s, border-color .18s;
}

.tour-demo-filter-toggle.is-active i {
  border-color: var(--accent);
  background: var(--accent);
}

@media (prefers-reduced-motion: reduce) {
  .tour-demo-filter-chip, .tour-demo-filter-value, .tour-demo-filter-toggle, .tour-demo-filter-toggle i {
    transition: none;
  }
}

.tour-demo-multi-airport {
  font-size: 12px;
}

.tour-demo-ma-field {
  gap: 6px;
  display: grid;
  position: relative;
}

.tour-demo-ma-label {
  padding-right: 26px;
}

.tour-demo-ma-control {
  flex-wrap: nowrap;
}

.tour-demo-ma-chip {
  opacity: 0;
  align-items: center;
  gap: 4px;
  transition: opacity .22s, transform .22s;
  display: inline-flex;
  transform: translateX(-4px)scale(.9);
}

.tour-demo-ma-chip.is-visible {
  opacity: 1;
  transform: none;
}

.tour-demo-ma-remove {
  width: 14px;
  height: 14px;
  color: var(--ink-dim);
  opacity: 0;
  justify-content: center;
  align-items: center;
  font-size: 13px;
  line-height: 1;
  transition: opacity .2s, transform .2s;
  display: inline-flex;
  transform: scale(.6);
}

.tour-demo-ma-remove.is-visible {
  opacity: 1;
  transform: none;
}

.tour-demo-ma-add {
  justify-content: center;
  align-items: center;
  transition: opacity .2s, background-color .2s, border-color .2s, transform .2s;
  display: inline-flex;
}

.tour-demo-ma-add.is-pressed {
  border-color: rgba(var(--accent-rgb), .4);
  background: rgba(var(--accent-rgb), .14);
  transform: scale(.9);
}

.tour-demo-ma-add.is-hidden {
  opacity: 0;
}

.tour-demo-ma-toggle {
  opacity: 0;
  justify-content: center;
  align-items: center;
  transition: opacity .2s, background-color .2s, border-color .2s, transform .2s;
  display: inline-flex;
}

.tour-demo-ma-toggle.is-visible {
  opacity: 1;
}

.tour-demo-ma-toggle.is-pressed {
  border-color: rgba(var(--accent-rgb), .4);
  background: rgba(var(--accent-rgb), .14);
  transform: scale(.9);
}

@media (prefers-reduced-motion: reduce) {
  .tour-demo-ma-chip, .tour-demo-ma-remove, .tour-demo-ma-add, .tour-demo-ma-toggle {
    transition: none;
  }
}

.tour-bubble.is-centered {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

:is(.tour-bubble:has(.tour-demo-alert), .tour-bubble:has(.tour-demo-chat)) {
  width: min(420px, 100vw - 24px);
}

.tour-demo-alert {
  flex-direction: column;
  gap: 8px;
  font-size: 12px;
  display: flex;
}

.tour-demo-alert-flight {
  border: 1px solid var(--line);
  background: var(--bg-3);
  border-radius: 8px;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  display: flex;
}

.tour-demo-alert-flight-info {
  flex-direction: column;
  flex: 1;
  gap: 2px;
  min-width: 0;
  display: flex;
}

.tour-demo-alert-route {
  color: var(--ink);
  font-weight: 700;
}

.tour-demo-alert-meta {
  color: var(--ink-faint);
  font-size: 11px;
}

.tour-demo-alert-fare {
  font-family: var(--font-mono);
  color: var(--good);
  font-weight: 800;
}

.tour-demo-alert-bell {
  border: 1px solid var(--line-bright);
  width: 26px;
  height: 26px;
  color: var(--ink-dim);
  border-radius: 50%;
  flex: none;
  justify-content: center;
  align-items: center;
  transition: background .2s, color .2s, border-color .2s;
  display: inline-flex;
}

.tour-demo-alert-bell.is-pressed {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--accent-ink);
}

.tour-demo-alert-dialog {
  border: 1px solid var(--line-bright);
  background: var(--bg-2);
  border-radius: 10px;
  flex-direction: column;
  gap: 6px;
  padding: 10px;
  animation: .25s both tour-demo-card-in;
  display: flex;
}

.tour-demo-alert-dialog-title {
  font-family: var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink-faint);
  font-size: 10px;
  font-weight: 800;
}

.tour-demo-alert-row {
  border: 1px solid var(--line);
  color: var(--ink-dim);
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  transition: border-color .2s, color .2s;
  display: flex;
}

.tour-demo-alert-row > span:last-child small {
  color: var(--ink-faint);
}

.tour-demo-alert-row.is-checked {
  border-color: var(--accent);
  color: var(--ink);
}

.tour-demo-alert-check {
  border: 1px solid var(--line-bright);
  color: #0000;
  border-radius: 4px;
  flex: none;
  order: -1;
  justify-content: center;
  align-items: center;
  width: 16px;
  height: 16px;
  transition: background .2s, color .2s;
  display: inline-flex;
}

.tour-demo-alert-check.is-checked {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--accent-ink);
}

.tour-demo-alert-row .tour-demo-alert-check + span {
  text-align: left;
  flex: 1;
}

.tour-demo-alert-field {
  border: 1px solid var(--line);
  background: var(--bg-3);
  min-width: 48px;
  min-height: 20px;
  font-family: var(--font-mono);
  color: var(--ink);
  text-align: right;
  border-radius: 6px;
  padding: 2px 6px;
}

.tour-demo-alert-submit {
  background: var(--accent);
  color: var(--accent-ink);
  border-radius: 8px;
  align-self: flex-end;
  padding: 5px 12px;
  font-weight: 700;
  transition: transform .15s, filter .15s;
}

.tour-demo-alert-submit.is-pressed {
  filter: brightness(1.15);
  transform: scale(.94);
}

.tour-demo-alert-status-card {
  border: 1px solid var(--line-bright);
  background: var(--bg-3);
  color: var(--ink-dim);
  transform-origin: center;
  border-radius: 10px;
  flex-direction: column;
  gap: 8px;
  padding: 10px;
  transition: border-color .2s, background .2s, transform .2s;
  display: flex;
}

.tour-demo-alert-status-card.is-triggered {
  border-color: var(--good);
  background: var(--good);
}

@supports (color: color-mix(in lab, red, red)) {
  .tour-demo-alert-status-card.is-triggered {
    background: color-mix(in srgb, var(--good) 10%, var(--bg-3));
  }
}

.tour-demo-alert-status-card.is-triggered {
  transform: rotateX(4deg);
}

.tour-demo-alert-status-head {
  align-items: center;
  gap: 8px;
  display: flex;
}

.tour-demo-alert-status-head > span:last-child {
  flex-direction: column;
  gap: 1px;
  display: flex;
}

.tour-demo-alert-status-head strong {
  color: var(--ink);
  font-size: 13px;
}

.tour-demo-alert-status-head small {
  color: var(--ink-faint);
  font-family: var(--font-mono);
  font-size: 10px;
}

.tour-demo-alert-done-icon {
  background: var(--accent);
  width: 34px;
  height: 34px;
  color: var(--accent-ink);
  border-radius: 50%;
  flex: none;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.tour-demo-alert-status-card.is-triggered .tour-demo-alert-done-icon {
  background: var(--good);
  color: var(--bg-1);
}

.tour-demo-alert-prices {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  display: grid;
}

.tour-demo-alert-prices > span {
  border: 1px solid var(--line);
  color: var(--ink-faint);
  border-radius: 7px;
  flex-direction: column;
  gap: 2px;
  padding: 6px 8px;
  font-size: 10px;
  display: flex;
}

.tour-demo-alert-prices strong {
  font-family: var(--font-mono);
  color: var(--ink);
  font-size: 13px;
}

.tour-demo-alert-status-card.is-triggered .tour-demo-alert-prices > span:last-child strong {
  color: var(--good);
}

.tour-demo-alert-watching-copy, .tour-demo-alert-ping {
  font-size: 11px;
}

.tour-demo-alert-ping {
  color: var(--good);
  align-items: center;
  gap: 4px;
  font-weight: 700;
  display: flex;
}

@media (prefers-reduced-motion: reduce) {
  .tour-demo-alert-status-card {
    transition: none;
    transform: none;
  }
}

.tour-demo-chat {
  flex-direction: column;
  gap: 8px;
  min-height: 178px;
  font-size: 12px;
  display: flex;
}

.tour-demo-chat .chat-bubble {
  max-width: 100%;
  font-size: 12px;
}

.tour-demo-chat-user {
  align-self: flex-end;
  min-height: 20px;
}

.tour-demo-chat-results {
  gap: 7px;
}

.tour-demo-chat-top-pick {
  gap: 6px;
  margin: 0;
  padding: 7px;
}

.tour-demo-chat-flight {
  border: 1px solid var(--line);
  background: var(--bg-3);
  color: var(--ink-dim);
  font-family: var(--font-mono);
  border-radius: 8px;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  gap: 2px 8px;
  padding: 7px 8px;
  font-size: 10px;
  line-height: 1.35;
  display: grid;
}

.tour-demo-chat-flight strong {
  color: var(--good);
  font-size: 12px;
}

.tour-demo-chat-flight span {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

.tour-demo-chat-flight small {
  color: var(--ink-faint);
  grid-column: 2;
  font-size: 9px;
}

.tour-demo-chat-filters {
  gap: 5px;
}

.tour-demo-chat-filters .chat-tab {
  min-height: 26px;
  padding: 4px 8px;
  font-size: 10px;
}

.tour-demo-chat-upgrade {
  color: var(--ink-dim);
  margin: 0;
  font-size: 11px;
  line-height: 1.4;
}

.tour-demo-chat-caret {
  vertical-align: text-bottom;
  background: currentColor;
  width: 2px;
  height: 12px;
  margin-left: 2px;
  animation: .8s steps(2, start) infinite tour-demo-caret;
  display: inline-block;
}

@keyframes tour-demo-caret {
  to {
    visibility: hidden;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tour-demo-chat-caret {
    animation: none;
  }
}

.tour-demo-discord {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.tour-demo-discord-list {
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.tour-demo-discord-list li {
  color: var(--ink-dim);
  align-items: flex-start;
  gap: 8px;
  font-size: 13px;
  line-height: 1.4;
  display: flex;
}

.tour-demo-discord-list svg {
  color: var(--accent);
  flex: none;
  margin-top: 2px;
}

.tour-demo-discord-join {
  text-align: center;
  align-self: stretch;
}

.tour-offer-card {
  right: 16px;
  bottom: calc(env(safe-area-inset-bottom, 0px) + 16px);
  z-index: 55;
  background: var(--bg-2);
  border: 1px solid var(--line-bright);
  width: min(320px, 100vw - 24px);
  box-shadow: 0 24px 60px rgba(var(--shadow-rgb), .5);
  border-radius: 10px;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  animation: .25s tour-offer-in;
  display: flex;
  position: fixed;
}

@media (max-width: 480px) {
  .tour-offer-card {
    width: auto;
    left: 12px;
    right: 12px;
  }
}

@media (max-width: 760px) {
  html[data-standalone="true"] .tour-offer-card {
    bottom: calc(env(safe-area-inset-bottom, 0px) + 86px);
  }
}

.tour-offer-title {
  color: var(--ink);
  margin: 0;
  font-size: 15px;
  font-weight: 700;
}

.tour-offer-body {
  color: var(--ink-dim);
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
}

.tour-offer-actions {
  justify-content: flex-end;
  gap: 8px;
  margin-top: 4px;
  display: flex;
}

@keyframes tour-offer-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

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

@media (prefers-reduced-motion: reduce) {
  .tour-spotlight {
    transition: none;
  }

  .tour-offer-card {
    animation: none;
  }
}

.tour-mode-example {
  border: 1px solid var(--line-bright);
  background: linear-gradient(135deg, rgba(var(--accent-rgb), .08), transparent 60%),
    var(--bg-2);
  border-radius: 12px;
  width: 100%;
  max-width: 100%;
  margin-top: 12px;
  padding: 12px 14px 14px;
  animation: .22s ease-out both tour-mode-example-in;
  overflow: hidden;
}

@keyframes tour-mode-example-in {
  from {
    opacity: 0;
    transform: translateY(6px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.tour-demo .tour-mode-example {
  background: none;
  border: 0;
  border-radius: 0;
  margin-top: 0;
  padding: 0;
}

.tour-mode-example-tag {
  color: var(--accent);
  font-family: var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-bottom: 8px;
  font-size: 10px;
  font-weight: 800;
  display: block;
}

.tour-mode-example-route {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  display: flex;
}

.tour-mode-example-route > strong {
  color: var(--ink);
  font-family: var(--font-display-2);
  font-size: 20px;
  line-height: 1;
}

.tour-mode-example-route > span[aria-hidden] {
  color: var(--ink-faint);
  font-size: 12px;
}

.tour-mode-example-trip-tag {
  background: rgba(var(--ink-dim-rgb), .16);
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .04em;
  text-transform: uppercase;
  border-radius: 999px;
  margin-left: auto;
  padding: 3px 8px;
  font-size: 10px;
  font-weight: 700;
}

.tour-mode-example-rows {
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.tour-mode-example-row {
  border: 1px solid var(--line);
  background: rgba(var(--bg-rgb), .4);
  border-radius: 8px;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
  padding: 8px 10px;
  display: flex;
}

.tour-mode-example-flight {
  color: var(--ink-faint);
  font-family: var(--font-mono);
  letter-spacing: .03em;
  font-size: 10px;
  font-weight: 700;
}

.tour-mode-example-duration {
  color: var(--ink-dim);
  white-space: nowrap;
  font-size: 11px;
}

.tour-mode-example-seats {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .03em;
  white-space: nowrap;
  font-size: 10px;
  font-weight: 700;
}

.tour-mode-example-leg {
  min-width: 64px;
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .03em;
  font-size: 11px;
  font-weight: 700;
}

.tour-mode-example-times {
  color: var(--ink);
  white-space: nowrap;
  font-size: 13px;
}

.tour-mode-example-times span[aria-hidden] {
  color: var(--ink-faint);
}

.tour-mode-example-nonstop {
  color: var(--good);
  font-family: var(--font-mono);
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 700;
}

.tour-mode-example-fare {
  white-space: nowrap;
  align-items: baseline;
  gap: 6px;
  margin-left: auto;
  display: flex;
}

.tour-mode-example-fare strong {
  color: var(--accent);
  font-family: var(--font-display-2);
  font-size: 18px;
  line-height: 1;
}

.tour-mode-example-fare em {
  color: var(--ink-dim);
  font-family: var(--font-mono);
  letter-spacing: .03em;
  text-transform: uppercase;
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
}

.tour-mode-example-summary {
  border-top: 1px solid var(--line);
  color: var(--ink-dim);
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  padding-top: 10px;
  font-size: 12px;
  display: flex;
}

.tour-mode-example-note {
  color: var(--ink-faint);
  font-family: var(--font-mono);
  letter-spacing: .03em;
  text-transform: uppercase;
  font-size: 10px;
}

.tour-mode-example-weekdays {
  color: var(--ink-faint);
  font-family: var(--font-mono);
  letter-spacing: .04em;
  text-align: center;
  text-transform: uppercase;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 3px;
  margin-bottom: 4px;
  font-size: 8px;
  font-weight: 700;
  display: grid;
}

.tour-mode-example-month {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 3px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.tour-mode-example-day {
  border: 1px solid var(--line);
  background: rgba(var(--bg-rgb), .4);
  text-align: center;
  border-radius: 6px;
  justify-items: center;
  gap: 1px;
  min-height: 30px;
  padding: 3px 1px;
  display: grid;
}

.tour-mode-example-day.is-blank {
  background: none;
  border-color: #0000;
}

.tour-mode-example-day.is-low {
  border-color: var(--good);
  background: rgba(var(--good-rgb), .12);
}

.tour-mode-example-day-date {
  color: var(--ink-faint);
  font-family: var(--font-mono);
  font-size: 8px;
  font-weight: 700;
}

.tour-mode-example-day-fare {
  color: var(--ink);
  font-family: var(--font-display-2);
  font-size: 10px;
}

.tour-mode-example-day.is-low .tour-mode-example-day-fare {
  color: var(--good);
}

@media (prefers-reduced-motion: reduce) {
  .tour-mode-example {
    animation: none;
  }
}

@media (max-width: 480px) {
  .tour-mode-example-row {
    flex-wrap: wrap;
    gap: 6px 10px;
  }

  .tour-mode-example-nonstop {
    order: 3;
  }
}

@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-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@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-backdrop-blur {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-duration {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__0u_tsv2._.css.map*/