/*
 * AVAAIO Build 34
 * Standalone Apple AI Privacy V4
 *
 * UI only.
 * Does not replace the Build32 core.
 */

#a34-ai-privacy-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147483000;

  display: flex;
  align-items: center;
  justify-content: center;

  box-sizing: border-box;

  padding:
    max(18px, env(safe-area-inset-top))
    16px
    max(18px, env(safe-area-inset-bottom));

  background:
    rgba(0, 5, 9, 0.94);

  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);

  overflow-y: auto;
}

#a34-ai-privacy-card {
  width: min(560px, 100%);

  box-sizing: border-box;

  padding: 22px;

  border:
    1px solid
    rgba(65, 233, 245, 0.42);

  border-radius: 22px;

  background:
    linear-gradient(
      180deg,
      rgba(5, 26, 33, 0.98),
      rgba(1, 10, 15, 0.99)
    );

  box-shadow:
    0 24px 80px
    rgba(0, 0, 0, 0.58);

  color: #eafcff;
}

#a34-ai-privacy-card
.a34-privacy-kicker {
  margin-bottom: 6px;

  color: #55eef5;

  font-size: 12px;
  font-weight: 900;

  letter-spacing: 0.15em;

  text-transform: uppercase;
}

#a34-ai-privacy-card h2 {
  margin: 0 0 12px;

  color: #f0feff;

  font-size: 27px;
  line-height: 1.15;
}

#a34-ai-privacy-card
.a34-privacy-intro {
  margin: 0 0 14px;

  color:
    rgba(235, 252, 255, 0.83);

  font-size: 14px;
  line-height: 1.58;
}

#a34-ai-privacy-card
.a34-privacy-off {
  margin: 12px 0 16px;

  padding: 10px 12px;

  border:
    1px solid
    rgba(85, 238, 245, 0.22);

  border-radius: 12px;

  background:
    rgba(0, 20, 26, 0.72);

  color: #bffbff;

  font-size: 13px;
  font-weight: 800;

  line-height: 1.45;
}

#a34-ai-privacy-card
.a34-privacy-section-title {
  margin: 16px 0 8px;

  color: #8ff8ff;

  font-size: 13px;
  font-weight: 900;

  letter-spacing: 0.05em;

  text-transform: uppercase;
}

#a34-ai-privacy-card ul {
  margin: 0;
  padding-left: 20px;

  color:
    rgba(235, 252, 255, 0.80);

  font-size: 13px;
  line-height: 1.55;
}

#a34-ai-privacy-card li {
  margin: 6px 0;
}

#a34-ai-privacy-card
.a34-provider-list {
  display: grid;
  gap: 8px;

  margin-top: 9px;
}

#a34-ai-privacy-card
.a34-provider {
  padding: 10px 12px;

  border:
    1px solid
    rgba(65, 233, 245, 0.16);

  border-radius: 11px;

  background:
    rgba(0, 15, 21, 0.64);
}

#a34-ai-privacy-card
.a34-provider strong {
  display: block;

  margin-bottom: 3px;

  color: #d4fcff;

  font-size: 13px;
}

#a34-ai-privacy-card
.a34-provider span {
  color:
    rgba(235, 252, 255, 0.72);

  font-size: 12px;
  line-height: 1.45;
}

#a34-ai-privacy-card
.a34-privacy-note {
  margin: 15px 0 0;

  color:
    rgba(235, 252, 255, 0.68);

  font-size: 12px;
  line-height: 1.5;
}

#a34-ai-privacy-card
.a34-privacy-links {
  display: flex;
  flex-wrap: wrap;

  gap: 8px 14px;

  margin-top: 14px;
}

#a34-ai-privacy-card
.a34-privacy-links a {
  color: #55eef5;

  font-size: 12px;
  font-weight: 800;

  text-decoration: none;
}

#a34-ai-privacy-card
.a34-privacy-error {
  min-height: 18px;

  margin-top: 10px;

  color: #ffb6b6;

  font-size: 12px;
}

#a34-ai-privacy-card
.a34-privacy-actions {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 10px;

  margin-top: 12px;
}

#a34-ai-privacy-card button {
  min-height: 46px;

  border-radius: 13px;

  padding: 11px 14px;

  font: inherit;
  font-weight: 900;

  cursor: pointer;

  touch-action: manipulation;
}

#a34-ai-privacy-card
.a34-not-now {
  border:
    1px solid
    rgba(235, 252, 255, 0.28);

  background:
    rgba(255, 255, 255, 0.04);

  color: #dceff1;
}

#a34-ai-privacy-card
.a34-allow {
  border:
    1px solid
    rgba(85, 238, 245, 0.64);

  background:
    linear-gradient(
      90deg,
      #087e8d,
      #19b9c7
    );

  color: #f7ffff;

  box-shadow:
    0 0 22px
    rgba(32, 220, 235, 0.14);
}

#a34-ai-privacy-card
.a34-close {
  grid-column: 1 / -1;

  border:
    1px solid
    rgba(85, 238, 245, 0.48);

  background:
    rgba(5, 35, 42, 0.90);

  color: #dfffff;
}

/* Profile injection */

#a34-cloud-ai-profile-section {
  margin-top: 20px;
}

#a34-cloud-ai-profile-card {
  box-sizing: border-box;

  padding: 16px;

  border:
    1px solid
    rgba(65, 233, 245, 0.28);

  border-radius: 14px;

  background:
    rgba(0, 22, 29, 0.62);

  color: #eafcff;
}

#a34-cloud-ai-profile-card
.a34-profile-ai-title {
  color: #55eef5;

  font-size: 15px;
  font-weight: 900;

  letter-spacing: 0.04em;
}

#a34-cloud-ai-profile-card
.a34-profile-ai-copy {
  margin-top: 8px;

  color:
    rgba(235, 252, 255, 0.72);

  font-size: 13px;
  line-height: 1.5;
}

#a34-cloud-ai-profile-card
.a34-profile-ai-status {
  margin-top: 12px;

  font-size: 14px;
  font-weight: 900;
}

#a34-cloud-ai-profile-card
.a34-profile-ai-actions {
  display: flex;
  flex-wrap: wrap;

  gap: 9px;

  margin-top: 12px;
}

#a34-cloud-ai-profile-card button {
  min-height: 42px;

  padding: 9px 13px;

  border-radius: 11px;

  font: inherit;
  font-weight: 800;

  cursor: pointer;

  touch-action: manipulation;
}

#a34-cloud-ai-profile-card
.a34-profile-ai-primary {
  border:
    1px solid
    rgba(85, 238, 245, 0.55);

  background:
    rgba(0, 45, 54, 0.88);

  color: #c9fdff;
}

#a34-cloud-ai-profile-card
.a34-profile-ai-review {
  border:
    1px solid
    rgba(235, 252, 255, 0.23);

  background:
    rgba(255, 255, 255, 0.035);

  color: #d7eef0;
}

@media (max-width: 520px) {
  #a34-ai-privacy-card {
    padding: 18px;
    border-radius: 18px;
  }

  #a34-ai-privacy-card h2 {
    font-size: 23px;
  }

  #a34-ai-privacy-card
  .a34-privacy-actions {
    grid-template-columns: 1fr;
  }
}

/* ========================================================================
   AVAAIO_BUILD34_PRIVACY_COMPACT_SCROLL_V1

   Purpose:
   - prevent oversized privacy card
   - make card itself the iOS scrolling surface
   - improve touch / momentum scrolling
   - preserve all disclosure content
   ======================================================================== */

#a34-ai-privacy-overlay {
  display: block;

  box-sizing: border-box;

  padding:
    max(12px, env(safe-area-inset-top))
    12px
    max(12px, env(safe-area-inset-bottom));

  overflow: hidden;

  touch-action: none;
}

#a34-ai-privacy-card {
  position: relative;

  width: min(520px, 100%);

  max-height:
    calc(
      100dvh
      - max(12px, env(safe-area-inset-top))
      - max(12px, env(safe-area-inset-bottom))
      - 24px
    );

  margin:
    0 auto;

  padding: 16px 17px 18px;

  border-radius: 18px;

  overflow-x: hidden;
  overflow-y: auto;

  -webkit-overflow-scrolling: touch;

  overscroll-behavior-y: contain;

  touch-action: pan-y;

  scrollbar-width: thin;
}

@supports not (height: 100dvh) {
  #a34-ai-privacy-card {
    max-height:
      calc(
        100vh
        - max(12px, env(safe-area-inset-top))
        - max(12px, env(safe-area-inset-bottom))
        - 24px
      );
  }
}

#a34-ai-privacy-card
.a34-privacy-kicker {
  margin-bottom: 4px;

  font-size: 10px;

  letter-spacing: 0.12em;
}

#a34-ai-privacy-card h2 {
  margin-bottom: 8px;

  font-size: 22px;

  line-height: 1.08;
}

#a34-ai-privacy-card
.a34-privacy-intro {
  margin-bottom: 9px;

  font-size: 12.5px;

  line-height: 1.42;
}

#a34-ai-privacy-card
.a34-privacy-off {
  margin: 8px 0 10px;

  padding: 8px 10px;

  font-size: 12px;

  line-height: 1.35;
}

#a34-ai-privacy-card
.a34-privacy-section-title {
  margin: 11px 0 5px;

  font-size: 11px;
}

#a34-ai-privacy-card
.a34-provider-list {
  gap: 5px;

  margin-top: 5px;
}

#a34-ai-privacy-card
.a34-provider {
  padding: 7px 9px;

  border-radius: 9px;
}

#a34-ai-privacy-card
.a34-provider strong {
  margin-bottom: 1px;

  font-size: 12px;
}

#a34-ai-privacy-card
.a34-provider span {
  font-size: 11px;

  line-height: 1.32;
}

#a34-ai-privacy-card ul {
  padding-left: 18px;

  font-size: 11.5px;

  line-height: 1.38;
}

#a34-ai-privacy-card li {
  margin: 3px 0;
}

#a34-ai-privacy-card
.a34-privacy-note {
  margin-top: 10px;

  font-size: 11px;

  line-height: 1.38;
}

#a34-ai-privacy-card
.a34-privacy-links {
  gap: 6px 12px;

  margin-top: 9px;
}

#a34-ai-privacy-card
.a34-privacy-links a {
  font-size: 11px;
}

#a34-ai-privacy-card
.a34-privacy-error {
  min-height: 12px;

  margin-top: 5px;

  font-size: 11px;
}

#a34-ai-privacy-card
.a34-privacy-actions {
  position: sticky;

  bottom: -18px;

  z-index: 4;

  gap: 8px;

  margin:
    7px -17px -18px;

  padding:
    10px 17px
    max(
      12px,
      env(safe-area-inset-bottom)
    );

  background:
    linear-gradient(
      180deg,
      rgba(1, 10, 15, 0.78),
      rgba(1, 10, 15, 0.99) 32%
    );

  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

#a34-ai-privacy-card button {
  min-height: 42px;

  padding: 9px 11px;

  border-radius: 11px;

  font-size: 12px;
}

/*
 * Keep profile control compact too.
 */

#a34-cloud-ai-profile-card {
  padding: 13px;
}

#a34-cloud-ai-profile-card
.a34-profile-ai-copy {
  margin-top: 5px;

  font-size: 12px;

  line-height: 1.4;
}

#a34-cloud-ai-profile-card
.a34-profile-ai-status {
  margin-top: 8px;

  font-size: 13px;
}

#a34-cloud-ai-profile-card
.a34-profile-ai-actions {
  gap: 7px;

  margin-top: 9px;
}

#a34-cloud-ai-profile-card button {
  min-height: 39px;

  padding: 8px 11px;

  font-size: 12px;
}

/*
 * iPhone / narrow portrait:
 * use nearly full screen but never exceed viewport.
 */

@media (max-width: 520px) {
  #a34-ai-privacy-overlay {
    padding:
      max(8px, env(safe-area-inset-top))
      8px
      max(8px, env(safe-area-inset-bottom));
  }

  #a34-ai-privacy-card {
    width: 100%;

    max-height:
      calc(
        100dvh
        - max(8px, env(safe-area-inset-top))
        - max(8px, env(safe-area-inset-bottom))
        - 16px
      );

    padding: 14px 14px 16px;

    border-radius: 15px;
  }

  #a34-ai-privacy-card
  .a34-privacy-actions {
    bottom: -16px;

    margin:
      7px -14px -16px;

    padding:
      9px 14px
      max(
        10px,
        env(safe-area-inset-bottom)
      );
  }

  #a34-ai-privacy-card h2 {
    font-size: 20px;
  }
}

/*
 * Short landscape displays:
 * aggressively compact vertical spacing.
 */

@media (max-height: 560px) {
  #a34-ai-privacy-card {
    padding-top: 11px;

    max-height:
      calc(
        100dvh
        - max(6px, env(safe-area-inset-top))
        - max(6px, env(safe-area-inset-bottom))
        - 12px
      );
  }

  #a34-ai-privacy-card
  .a34-privacy-kicker {
    display: none;
  }

  #a34-ai-privacy-card h2 {
    margin-bottom: 5px;

    font-size: 18px;
  }

  #a34-ai-privacy-card
  .a34-privacy-intro {
    margin-bottom: 5px;

    line-height: 1.3;
  }

  #a34-ai-privacy-card
  .a34-privacy-off {
    margin: 5px 0 7px;
  }

  #a34-ai-privacy-card
  .a34-privacy-section-title {
    margin: 8px 0 4px;
  }

  #a34-ai-privacy-card
  .a34-provider {
    padding: 5px 8px;
  }

  #a34-ai-privacy-card li {
    margin: 2px 0;
  }
}

/* ========================================================================
   AVAAIO_BUILD34_FIRST_CHOICE_GATE_V2

   First-time privacy choice:
   - modal remains visible
   - AVAAIO root/dashboard/mobile orb remain hidden
   - root becomes visible only after a choice is saved
   ======================================================================== */

html.a34-ai-choice-pending,
body.a34-ai-choice-pending {
  background: #000 !important;
}

html.a34-ai-choice-pending #root {
  visibility: hidden !important;
  opacity: 0 !important;

  pointer-events: none !important;

  user-select: none !important;
  -webkit-user-select: none !important;
}

html.a34-ai-choice-pending
#a34-ai-privacy-overlay {
  visibility: visible !important;
  opacity: 1 !important;

  pointer-events: auto !important;
}

#a34-ai-privacy-overlay {
  pointer-events: auto !important;
}

#a34-ai-privacy-card {
  pointer-events: auto !important;
}

#a34-ai-privacy-card button,
#a34-ai-privacy-card a {
  position: relative;

  z-index: 2;

  pointer-events: auto !important;

  touch-action: manipulation !important;
}

/* ========================================================================
   AVAAIO_BUILD34_PRIVACY_CHOICE_FADE_V1
   ======================================================================== */

#a34-ai-privacy-overlay {
  opacity: 1;

  transition:
    opacity 180ms ease-out,
    background-color 180ms ease-out;
}

#a34-ai-privacy-overlay.a34-privacy-closing {
  opacity: 0 !important;

  pointer-events: none !important;
}

#a34-ai-privacy-card {
  transform: scale(1);

  transition:
    transform 140ms ease,
    opacity 140ms ease;
}

#a34-ai-privacy-card.a34-choice-saving {
  transform: scale(0.992);

  opacity: 0.94;
}

#a34-ai-privacy-card
.a34-not-now:active,
#a34-ai-privacy-card
.a34-allow:active {
  transform: scale(0.97);
}

#a34-ai-privacy-card
.a34-not-now,
#a34-ai-privacy-card
.a34-allow {
  -webkit-tap-highlight-color:
    rgba(0, 0, 0, 0);

  pointer-events: auto !important;

  touch-action:
    manipulation !important;

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

/* ========================================================================
 * AVAAIO_BUILD34_IPAD_PRIVACY_CARD_COMPACT_V1
 *
 * iPad landscape presentation only.
 *
 * Goals:
 * - shorten the disclosure card
 * - preserve every Apple-required disclosure
 * - preserve card scrolling
 * - preserve sticky action buttons
 * - leave iPhone rules completely unchanged
 * ======================================================================== */

@media
  (min-width: 700px)
  and (max-width: 1366px)
  and (orientation: landscape) {

    #a34-ai-privacy-overlay {
        display: flex;
        align-items: center;
        justify-content: center;

        padding:
            max(18px, env(safe-area-inset-top))
            16px
            max(18px, env(safe-area-inset-bottom));

        overflow: hidden;
    }

    #a34-ai-privacy-card {
        width: min(520px, 88vw);

        max-height:
            min(
                72dvh,
                590px
            );

        margin: 0 auto;

        padding:
            14px
            16px
            16px;

        border-radius: 18px;

        overflow-x: hidden;
        overflow-y: auto;

        -webkit-overflow-scrolling: touch;
        overscroll-behavior-y: contain;
        touch-action: pan-y;
    }

    #a34-ai-privacy-card
    .a34-privacy-kicker {
        margin-bottom: 3px;
        font-size: 10px;
    }

    #a34-ai-privacy-card h2 {
        margin-bottom: 6px;
        font-size: 20px;
        line-height: 1.08;
    }

    #a34-ai-privacy-card
    .a34-privacy-intro {
        margin-bottom: 7px;
        font-size: 12px;
        line-height: 1.34;
    }

    #a34-ai-privacy-card
    .a34-privacy-off {
        margin:
            6px
            0
            8px;

        padding:
            7px
            9px;

        font-size: 11.5px;
        line-height: 1.32;
    }

    #a34-ai-privacy-card
    .a34-privacy-section-title {
        margin:
            8px
            0
            4px;

        font-size: 10.5px;
    }

    #a34-ai-privacy-card
    .a34-provider-list {
        gap: 4px;
        margin-top: 4px;
    }

    #a34-ai-privacy-card
    .a34-provider {
        padding:
            6px
            8px;

        border-radius: 9px;
    }

    #a34-ai-privacy-card
    .a34-provider strong {
        font-size: 11.5px;
    }

    #a34-ai-privacy-card
    .a34-provider span {
        font-size: 10.5px;
        line-height: 1.28;
    }

    #a34-ai-privacy-card ul {
        padding-left: 17px;
        font-size: 11px;
        line-height: 1.32;
    }

    #a34-ai-privacy-card li {
        margin:
            2px
            0;
    }

    #a34-ai-privacy-card
    .a34-privacy-note {
        margin-top: 7px;
        font-size: 10.5px;
        line-height: 1.32;
    }

    #a34-ai-privacy-card
    .a34-privacy-links {
        gap:
            5px
            11px;

        margin-top: 7px;
    }

    #a34-ai-privacy-card
    .a34-privacy-links a {
        font-size: 10.5px;
    }

    #a34-ai-privacy-card
    .a34-privacy-error {
        min-height: 10px;
        margin-top: 4px;
        font-size: 10.5px;
    }

    #a34-ai-privacy-card
    .a34-privacy-actions {
        position: sticky;
        bottom: -16px;
        z-index: 4;

        gap: 8px;

        margin:
            6px
            -16px
            -16px;

        padding:
            9px
            16px
            max(
                10px,
                env(safe-area-inset-bottom)
            );
    }

    #a34-ai-privacy-card button {
        min-height: 40px;
        padding:
            8px
            10px;

        font-size: 11.5px;
    }
}

@supports not (height: 100dvh) {

    @media
      (min-width: 700px)
      and (max-width: 1366px)
      and (orientation: landscape) {

        #a34-ai-privacy-card {
            max-height:
                min(
                    72vh,
                    590px
                );
        }
    }
}

