/*
 * Global stylesheet (renamed from index.css — styling batch 4).
 * Loaded via <link> in index.html + views/index.html.ejs.
 *
 * Scope: app-wide globals (html/body/headings/lists/links),
 * MarkdownParser output classes (.code, .inline-code, .italic — emitted
 * as raw HTML by src/ChatComponents/MarkdownParser.tsx), and classes used
 * by multiple components or set at runtime (react-cropper .cropper-view-box,
 * .SnackBar .MuiPaper-root, .panel/.SettingsPanel — chat sidebar).
 *
 * Chat-specific CSS: src/ChatComponents/chat.css.
 * Page-specific CSS: src/help.css, src/login.css.
 */
html, html * {
    scroll-behavior: smooth;
}
html {
    height: 100%;
}

*, ::before, ::after {
    box-sizing: inherit;
}
/* Main CSS*/
body {
    font-size: 15px;
    line-height: normal;
    font-weight: 400;
    font-style: normal;
    text-rendering: optimizeLegibility;
    /* Original stack — NOT aligned to the theme on purpose (user preference):
       chat message text (MarkdownParser raw HTML) inherits this, and on
       Windows ui-monospace → Consolas, the established chat typography.
       MUI components use the theme font (Roboto) via typography.fontFamily. */
    font-family: "-apple-system",BlinkMacSystemFont,ui-monospace,"Segoe UI",sans-serif;
    margin: 0;
    color: #bbb;
    background-color: #000;
    height: 100%;
    overflow: hidden
}
#root{
    height: 100%;
}
.SettingsPanel {
    display: flex;
    flex-direction: column;
    flex: 1 auto;
    margin: 0.5em 1.5em 0 0.5em;
}.code {
    background-color: rgb(4, 5, 5);
    font-size: normal;
    font-weight: 400;
    font-family: Monaco, Andale Mono, Ubuntu Mono, monospace;
    border: solid 1px #aaa;
    padding: 1rem;
    border-radius: 1rem 1rem 0 0;
    overflow: scroll;
    white-space: pre-wrap !important;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
  }
.code code {
    white-space: pre-wrap !important;
    word-break: break-all;
  }
.inline-code {
    background-color: #2a2a2a;
    padding: 2px 6px;
    border-radius: 4px;
    font-family: Monaco, Andale Mono, Ubuntu Mono, monospace;
    font-size: 0.9em;
    overflow-wrap: break-word;
    word-break: break-all;
  }
h1, h2, h3, h4, h5, h6 {
    margin: 0.5em 0 0.25em 0;
    font-weight: 600;
  }
h1 { font-size: 1.5em; }
h2 { font-size: 1.3em; }
h2 {
    margin-left: 1em; /* kept from index.css: indents assistant-markdown `## ` headings (MarkdownParser standard mode) */
  }
h3 { font-size: 1.1em; }
ul, ol {
    margin: 0.25em 0;
    padding-left: 1.5em;
  }
li {
    margin: 0.1em 0;
  }
blockquote {
    margin: 0.25em 0;
    padding: 0.25em 0.75em;
    border-left: 3px solid #555;
    background-color: #ffffff08;
    border-radius: 0 4px 4px 0;
  }
hr {
    border: none;
    border-top: 1px solid #444;
    margin: 0.5em 0;
  }
input[type="checkbox"] {
    margin-right: 0.5em;
    vertical-align: middle;
  }
a {
    color: #9788ff;
    text-decoration: none;
  }
a:hover {
    text-decoration: underline;
  }
.RegenDialogue {
  font-weight: 400;
  font-style: italic;
}
.italic{
    font-style: italic;
}
.RegenOldData{
    background-color: #0001;
    border-radius: 0rem;
    padding: 0.5rem;
}
.RegenNewData{
    background-color: #0001;
    border-radius: 0rem;
    padding: 0.5rem;
}.textboxArea{
    overflow-y: scroll;
    display: flex;
    flex-direction: column;
    font-style: italic;
    padding: 0.5em;
    flex-grow: 1;
    list-style: none;
}
@media only screen and (max-width: 768px) {
    /* For mobile phones: */
    .textboxArea {
        overflow-y: scroll;
        height: 84dvh;
        position: initial;
        
    }
  }
.panel {
    flex-grow: 1;
    flex-basis: auto;
    min-width: 300px;
    display: flex;
    flex-direction: column;
    border-left: 1px solid #7f7f7f;
    padding: 0.5em;
    background-color: #7f7f7f36;
    flex: 1;
    overflow-y: scroll;
}
/* Shared (not chat-only): the circular avatar crop frame in AvatarGenerator
   (react-cropper, runtime class) on the account / charcard / contact routes.
   Stays global — used by 3+ routes. */
.cropper-view-box{
    border-radius: 50%;
}
.ContactAvatar:hover{
    animation: ripple 1.2s infinite ease-in-out;
    border: 1px solid #1e3518;
    content: "";
}

@keyframes ripple {
    0% {
      transform: scale(1.0);
      opacity: 1;
    }
    50% {
        transform: scale(1.1);
        opacity: 1;
    }
    100% {
      transform: scale(1.0);
      opacity: 1;
    }
}
.SnackBar .MuiPaper-root{
    background-color: #36313d;
}
.account_page{
    width: 100%;
    display: flex;
    flex-direction: column;
}
.account_info{
    display: flex;
    width: 66%;
    margin: auto;
    flex-direction: column;
}
.rightMobilePanel{
    background-color: #7f7f7f36;
    height: 100%;
}
@media only screen and (max-width: 768px) {
    /* For mobile phones: */
    .account_info{
        margin: 0.4rem;
        width: auto;
    }
    .ava_info{
        flex-direction: column;
        margin-bottom: 1rem;
    }

  }