/*
 * Copyright 2024 The Chromium Authors
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

@scope to (devtools-widget > *){
  .ai-settings-container {
    container-type: inline-size;
    container-name: ai-settings;

    @container ai-settings (min-width: 480px) {
      .settings-container-wrapper {
        align-items: center;
      }
    }
  }

  * {
    box-sizing: border-box;
    min-height: auto;
  }

  .shared-disclaimer {
    background: linear-gradient(135deg, var(--sys-color-gradient-primary), var(--sys-color-gradient-tertiary));
    border-radius: var(--sys-size-5);
    padding: var(--sys-size-9) var(--sys-size-11);
    max-width: var(--sys-size-35);
    min-width: var(--sys-size-28);

    h2 {
      font: var(--sys-typescale-headline5);
      margin: 0 0 var(--sys-size-6);
    }
  }

  .disclaimer-list-header {
    font: var(--sys-typescale-body5-medium);
    margin: 0;
  }

  .disclaimer-list {
    padding: var(--sys-size-6) 0 0;
    display: grid;
    grid-template-columns: var(--sys-size-12) auto;
    gap: var(--sys-size-6) 0;
    line-height: var(--sys-typescale-body5-line-height);
  }

  .settings-container {
    display: grid;
    grid-template-columns: 1fr auto auto;
    border-radius: var(--sys-size-5);
    box-shadow: var(--sys-elevation-level2);
    margin: var(--sys-size-11) 0 var(--sys-size-4);
    line-height: var(--sys-typescale-body5-line-height);
    min-width: var(--sys-size-28);
    max-width: var(--sys-size-35);
    background-color: var(--app-color-card-background);
  }

  .accordion-header {
    display: grid;
    grid-template-columns: auto 1fr auto;

    &:hover {
      background-color: var(--sys-color-state-hover-on-subtle);
    }
  }

  .icon-container,
  .dropdown {
    padding: 0 var(--sys-size-8);
  }

  .toggle-container {
    padding: 0 var(--sys-size-8) 0 var(--sys-size-9);

    &:hover {
      background-color: var(--sys-color-state-hover-on-subtle);
    }
  }

  .expansion-grid {
    padding: var(--sys-size-4) var(--sys-size-8) var(--sys-size-6);
    display: grid;
    grid-template-columns: var(--sys-size-9) auto;
    gap: var(--sys-size-6) var(--sys-size-8);
    line-height: var(--sys-typescale-body5-line-height);
    color: var(--sys-color-on-surface-subtle);
  }

  .expansion-grid-whole-row {
    grid-column: span 2;
    font-weight: var(--ref-typeface-weight-medium);
    color: var(--sys-color-on-surface);
    padding-top: var(--sys-size-4);
    margin: 0;
    font-size: inherit;
  }

  .setting-description {
    color: var(--sys-color-on-surface-subtle);
  }

  .centered {
    display: grid;
    place-content: center;
  }

  .setting-card {
    padding: var(--sys-size-6) 0;

    h2 {
      margin: 0;
      font: inherit;
    }
  }

  .divider {
    margin: var(--sys-size-5) 0;
    border-left: var(--sys-size-1) solid var(--sys-color-divider);
  }

  .accordion-header ~ .accordion-header,
  .divider ~ .divider,
  .toggle-container ~ .toggle-container {
    border-top: var(--sys-size-1) solid var(--sys-color-divider);
  }

  .whole-row {
    grid-column: span 5;
    overflow: hidden;
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows var(--sys-motion-duration-short4) ease-in;
  }

  .whole-row.open {
    grid-template-rows: 1fr;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .link,
  .devtools-link {
    color: var(--sys-color-primary);
    text-decoration: underline;
    cursor: pointer;
    outline-offset: var(--sys-size-2);
    padding: 0;
    font-weight: var(--ref-typeface-weight-regular);
  }

  .padded {
    padding: var(--sys-size-2) 0;
  }

  .settings-container-wrapper {
    position: absolute;
    inset: var(--sys-size-8) 0 0;
    overflow: auto;
    padding: var(--sys-size-3) var(--sys-size-6) var(--sys-size-6);
    display: flex;
    flex-direction: column;
  }

  header {
    font-size: var(--sys-typescale-headline3-size);
    font-weight: var(--ref-typeface-weight-regular);
  }

  .disabled-explainer {
    background-color: var(--sys-color-surface-yellow);
    border-radius: var(--sys-shape-corner-medium-small);
    margin-top: var(--sys-size-11);
    padding: var(--sys-size-6) var(--sys-size-11) var(--sys-size-8);
    width: 100%;
    max-width: var(--sys-size-35);
    min-width: var(--sys-size-28);
    color: var(--sys-color-yellow);
  }

  .disabled-explainer-row {
    display: flex;
    gap: var(--sys-size-6);
    margin-top: var(--sys-size-4);
  }
}
