/* Auto-extracted from inline CSS to remove style-src unsafe-inline from CSP.
   Source: index.html */

:root{
      --bg:#f6f9ff;
      --bg2:#eef4ff;
      --ink:#0b1020;
      --muted:rgba(11,16,32,.68);

      --royal:#2b4cff;
      --royal2:#1730b8;

      --ivory:#ffffff;         /* defined so no undefined var issues */
      --surface:#ffffff;
      --surfaceTint: rgba(255,255,255,.78);

      --line:rgba(43,76,255,.20);
      --shadow: 0 22px 60px rgba(10,22,60,.14);

      --radius:22px;
      --radius2:22px;          /* you referenced this before */
    }

    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji","Segoe UI Emoji";
      color:var(--ink);
      background:
        radial-gradient(1000px 600px at 20% 10%, rgba(43,76,255,.12), transparent 55%),
        radial-gradient(900px 500px at 70% 20%, rgba(43,76,255,.08), transparent 60%),
        linear-gradient(180deg, var(--bg) 0%, var(--bg2) 100%);
    }

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

    .wrap{max-width:1120px; margin:0 auto; padding:28px 20px 90px}

    .nav{
      display:flex; align-items:center; justify-content:space-between; gap:18px;
      padding:10px 0 22px;
    }

    .brand{
      display:flex; align-items:center; gap:12px;
      letter-spacing:.22em; text-transform:uppercase; font-size:12px;
      color:var(--muted);
    }

    .mark{
      width:34px; height:34px; border-radius:12px;
      background: linear-gradient(145deg, rgba(43,76,255,.22), rgba(43,76,255,.06));
      border:1px solid var(--line);
      box-shadow: 0 10px 26px rgba(10,22,60,.16);
      position:relative;
    }
    .mark:after{
      content:"";
      position:absolute; inset:9px;
      border-radius:9px;
      border:1px solid rgba(11,16,32,.10);
    }

    .navRight{display:flex; align-items:center; gap:10px}

    .pill{
      padding:10px 14px;
      border-radius:999px;
      border:1px solid var(--line);
      background: rgba(255,255,255,.55);
      color: var(--ink);
      font-size:12px;
      letter-spacing:.08em;
      text-transform:uppercase;
      transition: all .2s ease;
    }
    .pill:hover{
      border-color:rgba(43,76,255,.35);
      background: rgba(255,255,255,.75);
      transform: translateY(-1px);
    }

    .hero{
      display:grid;
      grid-template-columns: 1.2fr .8fr;
      gap:26px;
      padding:26px 0 0;
      align-items:start;
    }
    @media (max-width: 900px){
      .hero{grid-template-columns:1fr; gap:18px}
    }

    .h1{
      font-family: ui-serif, Georgia, "Times New Roman", Times, serif;
      font-weight:520;
      font-size: clamp(44px, 5.2vw, 74px);
      line-height:1.02;
      letter-spacing:-.02em;
      margin:10px 0 10px;
    }

    .sub{
      max-width: 56ch;
      color:var(--muted);
      font-size:16px;
      line-height:1.65;
      margin:0 0 22px;
    }

    .hairline{
      height:1px; width:180px;
      background: linear-gradient(90deg, rgba(43,76,255,.0), rgba(43,76,255,.32), rgba(43,76,255,.0));
      margin:18px 0 18px;
    }

    .ctaRow{display:flex; gap:12px; flex-wrap:wrap; align-items:center}

    .btn{
      border:1px solid var(--line);
      background: rgba(255,255,255,.65);
      padding:13px 16px;
      border-radius:999px;
      cursor:pointer;
      color:var(--ink);
      font-size:12px;
      letter-spacing:.10em;
      text-transform:uppercase;
      transition: all .2s ease;
    }
    .btn:hover{
      border-color:rgba(43,76,255,.35);
      background: rgba(255,255,255,.85);
      transform: translateY(-1px);
    }
    .btn.primary{
      border-color:rgba(43,76,255,.45);
      background: linear-gradient(180deg, rgba(43,76,255,.14), rgba(255,255,255,.80));
    }
    .btn[aria-disabled="true"], .btn:disabled{
      opacity:.52;
      cursor:not-allowed;
      pointer-events:none;
      transform:none;
    }

    .note{color:rgba(11,16,32,.55); font-size:12px; letter-spacing:.04em}

    .panel{
      border-radius: var(--radius2);
      border:1px solid var(--line);
      background: var(--surfaceTint);
      box-shadow: var(--shadow);
      overflow:hidden;
      color: var(--ink);
    }

    .panelTop{
      padding:18px 18px 0;
      display:flex; align-items:center; justify-content:space-between; gap:10px;
    }

    .panelTitle{
      font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--muted);
    }

    .panelBody{padding:16px 18px 18px}

    .grid2{display:grid; grid-template-columns:1fr 1fr; gap:10px}
    @media(max-width:520px){.grid2{grid-template-columns:1fr}}

    .field{display:flex; flex-direction:column; gap:8px; margin:10px 0}

    label{
      font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted);
    }

    input, select, textarea{
      width:100%;
      padding:12px 12px;
      border-radius:14px;
      border:1px solid var(--line);
      background: rgba(255,255,255,.88);
      color:var(--ink);
      outline:none;
      transition:all .18s ease;
      font: inherit;
    }
    textarea{min-height:120px; resize:vertical}
    input::placeholder, textarea::placeholder{color:rgba(11,16,32,.45)}
    input:focus, select:focus, textarea:focus{
      border-color:rgba(43,76,255,.55);
      box-shadow:0 0 0 3px rgba(43,76,255,.14)
    }

    .panelActions{display:flex; gap:10px; flex-wrap:wrap; margin-top:10px}

    .status{
      margin-top:12px;
      padding:12px 12px;
      border-radius:16px;
      border:1px solid var(--line);
      background: rgba(255,255,255,.70);
      color:var(--ink);
      font-size:13px;
      line-height:1.5;
      min-height:48px;
      white-space:pre-wrap;
    }

    .sections{
      margin-top:34px;
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:14px;
    }
    @media(max-width:900px){.sections{grid-template-columns:1fr}}

    .card{
      padding:18px 18px 16px;
      border-radius:var(--radius);
      border:1px solid var(--line);
      background: var(--surfaceTint);
      box-shadow: 0 16px 45px rgba(10,22,60,.12);
      color: var(--ink);
    }

    .card h3{
      margin:0 0 8px;
      font-family: ui-serif, Georgia, "Times New Roman", Times, serif;
      font-weight:520;
      letter-spacing:-.01em;
    }
    .card p{margin:0; color:var(--muted); line-height:1.65}

    .tag{
      display:inline-block;
      margin-top:12px;
      padding:8px 12px;
      border-radius:999px;
      border:1px solid var(--line);
      background: rgba(43,76,255,.08);
      color: rgba(11,16,32,.82);
      font-size:11px;
      letter-spacing:.16em;
      text-transform:uppercase;
    }

    .fadeIn{opacity:0; transform: translateY(10px); transition: opacity .8s ease, transform .8s ease}
    .fadeIn.show{opacity:1; transform: translateY(0)}

    .footer{
      margin-top:56px;
      padding-top:18px;
      border-top:1px solid var(--line);
      color:rgba(11,16,32,.55);
      font-size:12px;
      letter-spacing:.06em;
      display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap;
    }

    .btn:focus-visible, input:focus-visible, .pill:focus-visible, select:focus-visible, textarea:focus-visible{
      outline:3px solid rgba(43,76,255,.22);
      outline-offset:2px;
    }

    .pill.active{
      background:var(--ink);
      color:#fff;
      border-color:var(--ink);
    }
    .usagePage{
      display:none;
      margin-top:32px;
    }
    .usagePage.active{
      display:block;
    }
    .usagePage .panel{
      width:100%;
    }
    .usageTopBar{
      display:flex;
      justify-content:space-between;
      gap:12px;
      align-items:center;
      flex-wrap:wrap;
      margin-bottom:14px;
    }
    .usageTopBar .note{
      margin:0;
    }
    .usageFilters{
      display:grid;
      grid-template-columns:repeat(6, minmax(120px, 1fr));
      gap:10px;
      margin-top:14px;
      margin-bottom:14px;
    }
    .usageFilters .field{
      margin:0;
    }
    .usageToolbar{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:10px;
      flex-wrap:wrap;
      margin-top:8px;
      margin-bottom:10px;
    }
    .usageTableWrap{
      width:100%;
      overflow:auto;
      border:1px solid var(--line);
      border-radius:18px;
      background:#fff;
      box-shadow:0 12px 40px rgba(17,24,39,.06);
    }
    .usageTable{
      width:100%;
      border-collapse:separate;
      border-spacing:0;
      min-width:1450px;
      font-size:13px;
    }
    .usageTable thead th{
      position:sticky;
      top:0;
      z-index:1;
      background:#f7f9ff;
      border-bottom:1px solid var(--line);
      color:rgba(11,16,32,.78);
      text-align:left;
      padding:12px 14px;
      white-space:nowrap;
    }
    .usageTable thead th.sortable{
      cursor:pointer;
      user-select:none;
    }
    .usageTable tbody td{
      border-bottom:1px solid rgba(43,76,255,.10);
      padding:12px 14px;
      vertical-align:top;
      white-space:nowrap;
      color:var(--ink);
    }
    .usageTable tbody tr:hover{
      background:rgba(43,76,255,.03);
    }
    .usageTable tbody tr:last-child td{
      border-bottom:none;
    }
    .usageEmpty{
      padding:22px;
      color:rgba(11,16,32,.62);
    }
    .usageHeaderActions{
      display:flex;
      gap:8px;
      align-items:center;
      flex-wrap:wrap;
    }
    @media (max-width: 1100px){
      .usageFilters{
        grid-template-columns:repeat(2, minmax(140px, 1fr));
      }
    }
    @media (max-width: 720px){
      .usageFilters{
        grid-template-columns:1fr;
      }
    }

    .instant-results-install-guide {
      margin-top: 20px;
      padding: 18px 20px;
      border-radius: 16px;
      background: rgba(255, 255, 255, 0.72);
      border: 1px solid rgba(15, 23, 42, 0.08);
      box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
      color: #1f2937;
      text-align: left;
      max-width: 760px;
    }

    .instant-results-install-guide h3 {
      margin: 0 0 10px;
      font-size: 1.1rem;
      line-height: 1.35;
      color: #111827;
    }

    .instant-results-install-guide p {
      margin: 0 0 14px;
      font-size: 0.97rem;
      line-height: 1.65;
      color: #374151;
    }

    .instant-results-install-guide ol,
    .instant-results-install-guide ul {
      margin: 0 0 0 20px;
      padding: 0;
    }

    .instant-results-install-guide ol {
      margin-bottom: 14px;
    }

    .instant-results-install-guide li {
      margin-bottom: 8px;
      font-size: 0.95rem;
      line-height: 1.6;
      color: #374151;
    }

    .instant-results-install-guide strong {
      color: #111827;
    }

    .instant-results-install-guide ul li {
      list-style: disc;
    }

    @media (max-width: 768px) {
      .instant-results-install-guide {
        margin-top: 16px;
        padding: 16px;
        border-radius: 14px;
      }

      .instant-results-install-guide h3 {
        font-size: 1rem;
      }

      .instant-results-install-guide p,
      .instant-results-install-guide li {
        font-size: 0.92rem;
      }
    }

    .instant-results-overlay-note {
      margin-top: 12px;
      font-size: 0.94rem;
      line-height: 1.6;
      color: #4b5563;
    }

    .instant-results-pricing-note {
      margin-top: 14px;
      padding: 12px 14px;
      border-radius: 12px;
      border: 1px solid rgba(146, 64, 14, 0.24);
      background: rgba(255, 247, 237, 0.78);
      color: #7c2d12;
      font-size: 0.93rem;
      line-height: 1.6;
    }

    .instant-results-pricing-note strong {
      color: #7c2d12;
    }

/* Former inline style attributes moved here to support a strict CSP. */

.csp-inline-001-586e80f8 { font-size:12px; color:var(--ink); letter-spacing:.26em; }

.csp-inline-002-16be4dbf { font-size:11px; margin-top:2px; }

.csp-inline-003-73907f98 { display:block; width:100%; max-width:520px; margin:10px auto 0; border-radius:14px; box-shadow:0 8px 22px rgba(0,0,0,.12); }

.csp-inline-004-29ba4b0e { display:flex; gap:8px; align-items:center; }

.csp-inline-005-7f153e1c { display:block; margin-top:10px; }

.csp-inline-006-6b99de8b { display:none; }

.csp-inline-007-d2c171b1 { margin-top:10px; }

.csp-inline-008-b4a42b19 { display:flex; align-items:flex-start; gap:10px; text-transform:none; letter-spacing:normal; }

.csp-inline-009-84db640a { width:auto; padding:0; margin-top:4px; }

.legalConsentCompact{display:flex; align-items:flex-start; gap:4px; flex-wrap:wrap; color:var(--muted); font-size:11px; letter-spacing:.04em;}
.legalConsentLabel{display:flex; align-items:flex-start; gap:10px; text-transform:none; letter-spacing:.04em; color:var(--muted); cursor:pointer;}
.legalConsentDetails{min-width:0;}
.legalConsentDetails summary,
.locationDetails summary{color:var(--royal2); cursor:pointer; font-weight:700; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:2px;}
.legalConsentDetails summary:focus-visible,
.locationDetails summary:focus-visible,
.legalConsentLinks a:focus-visible,
.locationDetails a:focus-visible{outline:3px solid rgba(43,76,255,.25); outline-offset:3px; border-radius:4px;}
.legalConsentLinks{display:flex; flex-wrap:wrap; gap:7px 12px; width:100%; margin:8px 0 0; padding:10px 12px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.72);}
.legalConsentLinks a,
.locationDetails a{color:var(--royal2); text-decoration:underline; text-underline-offset:2px;}

.csp-inline-010-cf5ca290 { display:none; margin-top:14px; }

.csp-inline-011-8a77e5a3 { margin-top:8px; }

.csp-inline-012-fd4df0cc { display:flex; align-items:center; gap:10px; text-transform:none; letter-spacing:.04em; }

.csp-inline-013-880393ff { width:auto; padding:0; margin:0; }

.csp-inline-014-1234b17d { margin-top:12px; display:flex; gap:10px; flex-wrap:wrap; align-items:center; }

.csp-inline-015-0d80f7c2 { width:160px; padding:10px 12px; border-radius:12px; border:1px solid rgba(43,76,255,.20); }

.csp-inline-016-0a66406c { width:110px; padding:10px 12px; border-radius:12px; border:1px solid rgba(43,76,255,.20); }

.csp-inline-017-cefd6ccd { margin-top:10px; max-width:520px; white-space:pre-wrap; }

.csp-inline-018-d56698ef { margin-top:10px; max-width:520px; white-space:pre-wrap; display:none; }

.csp-inline-019-fb03ce1b { margin-top:8px; max-width:620px; }

.csp-inline-020-cdda4dfc { max-width:620px; margin-top:8px; }

.csp-inline-021-d462248a { margin-top:0; }

.csp-inline-022-27ed1fef { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; }

.downloadButtons{display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:wrap;}

.locationPreference{
  margin:10px 0 16px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(255,255,255,.58);
}
.locationPreferenceHeader{display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;}
.locationToggle{display:flex; align-items:center; gap:10px; text-transform:none; letter-spacing:.04em; color:var(--ink); cursor:pointer;}
.locationToggle input{width:auto; margin:0; padding:0; accent-color:rgb(43,76,255);}
.locationToggle input:disabled{cursor:not-allowed;}
.locationRefreshButton{padding:9px 12px;}
.locationDisclosure{margin:10px 0 0; line-height:1.55; letter-spacing:.02em;}
.locationDetails{margin-top:3px;}
.locationDetails p{max-width:720px; margin:8px 0 5px;}
.locationStatus{margin-top:8px; line-height:1.45; letter-spacing:.02em;}
.locationStatus.locationError{color:rgb(155,35,35);}

@media(max-width:620px){
  .csp-inline-022-27ed1fef{align-items:flex-start; flex-direction:column;}
  .downloadButtons{justify-content:flex-start;}
}

.csp-inline-023-b329179b { display:flex; gap:8px; flex-wrap:wrap; }

.csp-inline-024-24a1eddd { display:grid; grid-template-columns:1fr 1fr; gap:8px; }

.csp-inline-025-ed526d3e { display:flex; gap:14px; flex-wrap:wrap; }

.socialLoginGroup{
  display:flex;
  align-items:center;
  gap:10px;
  margin:10px 0 4px;
}
.socialIconBtn{
  width:42px;
  height:42px;
  min-width:42px;
  padding:0;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.9);
  font-size:18px;
  font-weight:900;
  line-height:1;
}
.socialIconBtn:disabled{
  opacity:.42;
  cursor:not-allowed;
  transform:none;
}
.socialIconGoogle{font-family:Arial, sans-serif;}
.socialIconLinkedIn{font-family:Arial, sans-serif; font-size:16px;}
.socialIconTwitter{font-size:19px;}
.socialIconFacebook{font-family:Arial, sans-serif; font-size:22px;}
.socialNote{margin:4px 0 8px;}


/* Chordize hero right-side vertical card stack */
.heroSideStack{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-width:0;
}

.heroSideStack > .panel,
.heroSideStack > .card{
  width:100%;
  box-sizing:border-box;
}

/* --- Top Up card (2026-08-09) --- */
.topupBalanceRow{display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-bottom:6px;}
#topup .csp-inline-015-0d80f7c2, #topup .csp-inline-016-0a66406c{width:100%; box-sizing:border-box;}
#topup .csp-inline-017-cefd6ccd, #topup .csp-inline-019-fb03ce1b, #topup .csp-inline-020-cdda4dfc{max-width:none;}
.tuRow{display:flex; justify-content:space-between; gap:12px; margin-top:4px;}
.tuDivider{border-top:1px solid rgba(111,161,179,.35); margin:8px 0;}
.tuNote{margin-top:8px;}

/* --- Top Up compact action layout (2026-08-09) --- */
.tuGrid{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
@media (max-width:720px){ .tuGrid{grid-template-columns:1fr;} }
.tuBuyRow{display:flex; justify-content:center; margin-top:14px;}
#topup .csp-inline-018-d56698ef{text-align:center;}

/* --- Top Up: balance row mirrored pills (2026-08-09) --- */
.topupBalanceRow{display:grid; grid-template-columns:1fr 1fr; gap:12px; align-items:center;}
@media (max-width:720px){ .topupBalanceRow{grid-template-columns:1fr;} }
#topup .topupBalanceRow .tag,
#topup .topupBalanceRow .btn{
  margin:0;
  width:100%;
  box-sizing:border-box;
  padding:8px 12px;
  border-radius:999px;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  line-height:1.2;
  height:auto;
  min-height:0;
  text-align:center;
}
