/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */
/* Gita reflections: calm, content-first, and deliberately free of popups. */
.gita-hero { background: radial-gradient(circle at 80% 20%, rgba(227, 180, 92, .24), transparent 34%), linear-gradient(135deg, #092f25, #16533d); color: #fff; padding: clamp(4.5rem, 9vw, 8rem) 0; }
.gita-hero__grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(16rem, .7fr); gap: clamp(2rem, 6vw, 6rem); align-items: end; }
.gita-hero .display-title { max-width: 15ch; }
.gita-hero .lede { max-width: 65ch; color: rgba(255,255,255,.82); }
.gita-hero .eyebrow, .gita-responsible .eyebrow, .gita-guide__hero .eyebrow { color: #efbd73; }
.gita-hero__aside { border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.08); backdrop-filter: blur(10px); border-radius: 1.25rem; padding: 1.5rem; }
.gita-hero__aside p { margin-top: 0; color: rgba(255,255,255,.8); }
.gita-trust-row { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.5rem; }
.gita-trust-row span { border: 1px solid rgba(255,255,255,.25); border-radius: 999px; padding: .5rem .8rem; font-size: .84rem; }
.gita-experience-section { background: #f5f1e8; }
.gita-experience-layout { display: grid; grid-template-columns: minmax(15rem, .65fr) minmax(0, 1.35fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.gita-experience-intro { position: sticky; top: 7rem; }
.gita-boundaries { padding-left: 1.1rem; color: #4f5d55; line-height: 1.8; }
.gita-chat { background: #fff; border: 1px solid #d9dfda; border-radius: 1.35rem; box-shadow: 0 20px 60px rgba(24, 52, 42, .1); overflow: hidden; }
.gita-chat__header { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 1rem 1.25rem; border-bottom: 1px solid #e5e9e6; }
.gita-chat__header div { display: grid; gap: .15rem; }
.gita-chat__header span { color: #647169; font-size: .82rem; }
.gita-project-path { display: flex; justify-content: space-between; align-items: center; gap: .8rem; padding: .65rem 1.25rem; background: #f7f3e7; color: #536158; font-size: .8rem; }
.gita-project-path a { color: #15563d; font-weight: 800; white-space: nowrap; }
.gita-usage { white-space: nowrap; background: #eaf4ee; color: #14513a !important; border-radius: 999px; padding: .4rem .7rem; font-weight: 700; }
.gita-chat__messages { height: clamp(16rem, 60vh, 36rem); padding: 1.25rem; display: grid; gap: 1rem; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; overflow-anchor: none; }
.gita-empty { align-self: center; text-align: center; color: #5c6a62; padding: 2rem; }
.gita-empty p { margin-bottom: 0; }
.gita-message { max-width: 90%; border-radius: 1rem; padding: .9rem 1rem; }
.gita-message > span { display: block; text-transform: uppercase; letter-spacing: .08em; font-size: .68rem; font-weight: 800; margin-bottom: .35rem; }
.gita-message--visitor { justify-self: end; background: #123f31; color: #fff; border-bottom-right-radius: .25rem; }
.gita-message--assistant { justify-self: stretch; max-width: 100%; background: #f0f4f1; color: #24352d; border-bottom-left-radius: .25rem; }
.gita-message p, .gita-message__content p { margin: 0; line-height: 1.65; }
.gita-reflection-sections { display: grid; gap: 0; margin: 0; }
.gita-reflection-sections div { display: grid; gap: .3rem; padding: .85rem 0; border-bottom: 1px solid #d9e1dc; }
.gita-reflection-sections div:first-child { padding-top: .15rem; }
.gita-reflection-sections div:last-child { padding-bottom: .15rem; border-bottom: 0; }
.gita-reflection-sections dt { color: #496158; font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.gita-reflection-sections dd { margin: 0; line-height: 1.58; }
.gita-practical-steps { margin: .35rem 0 0; padding-left: 1.25rem; display: grid; gap: .45rem; }
.gita-practical-steps li::marker { color: #1d6549; font-weight: 800; }
.gita-copy { min-height: 2.75rem; margin-top: .8rem; padding: .5rem .75rem; border: 1px solid #adbbb3; border-radius: .5rem; background: #fff; color: #15513b; cursor: pointer; font: inherit; font-size: .8rem; font-weight: 750; }
.gita-copy:hover, .gita-copy:focus-visible { border-color: #15513b; }
.gita-thinking { opacity: .7; animation: gita-pulse 1.25s ease-in-out infinite alternate; }
@keyframes gita-pulse { to { opacity: .35; } }
.gita-form { border-top: 1px solid #e5e9e6; padding: 1.25rem; }
.gita-form > label { display: block; font-weight: 750; margin-bottom: .5rem; }
.gita-form textarea { width: 100%; resize: vertical; border: 1px solid #bcc8c0; border-radius: .8rem; padding: .85rem; font: inherit; }
.gita-form__footer { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: .75rem; }
.gita-form__footer p { margin: 0; color: #65736b; font-size: .82rem; }
.gita-captcha { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; margin-top: .75rem; }
.gita-captcha label { font-size: .8rem; }
.gita-captcha input { width: 5rem; padding: .5rem; border: 1px solid #bcc8c0; border-radius: .5rem; }
.gita-feedback { margin: 0 1.25rem 1rem; padding: .85rem 1rem; border-radius: .7rem; background: #fff4dc; color: #5e4317; border: 1px solid #e4c98f; }
.gita-feedback--crisis, .gita-feedback--medical { background: #fff0ef; color: #722b26; border-color: #e8aaa4; }
.gita-limit { border-top: 1px solid #e5e9e6; padding: 1.5rem; }
.gita-limit p { color: #5b6961; }
.gita-chat__proof { display: flex; justify-content: space-between; gap: 1rem; padding: .85rem 1.25rem; background: #f7f3e7; font-size: .82rem; }
.gita-chat__proof a { color: #15563d; font-weight: 750; }
.gita-theme-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.gita-theme-grid article { padding: 1.4rem; border: 1px solid #dde3df; border-radius: 1rem; background: #fff; }
.gita-theme-grid h3 { margin-top: 0; }
.gita-theme-grid h3 a { color: #164f3b; text-decoration-thickness: .08em; text-underline-offset: .16em; }
.gita-theme-grid p { color: #5a6861; margin-bottom: 0; }
.gita-responsible { background: #113d30; color: #fff; }
.gita-responsible .lede { color: rgba(255,255,255,.76); }
.gita-responsible__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(2rem, 6vw, 5rem); }
.gita-conversion-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.gita-conversion-pair article { padding: 1.5rem; border-radius: 1rem; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.18); }
.gita-conversion-pair h3 { margin-top: .35rem; }
.gita-conversion-pair p { color: rgba(255,255,255,.75); }
.gita-conversion-pair .text-link { color: #f5d48f; font-weight: 750; }
.gita-guide__hero { padding: clamp(4rem, 8vw, 7rem) 0; background: linear-gradient(135deg, #0d382c, #176044); color: #fff; }
.gita-guide__hero-inner { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(16rem, .65fr); gap: clamp(2rem, 6vw, 5rem); align-items: end; }
.gita-guide__hero .display-title { max-width: 18ch; }
.gita-guide__hero .lede { max-width: 68ch; color: rgba(255,255,255,.82); }
.gita-guide__note { padding: 1.4rem; border: 1px solid rgba(255,255,255,.22); border-radius: 1rem; background: rgba(255,255,255,.08); }
.gita-guide__note p { color: rgba(255,255,255,.78); }
.gita-guide__body { display: grid; grid-template-columns: minmax(12rem, .35fr) minmax(0, 1fr); gap: clamp(2rem, 7vw, 6rem); padding-top: clamp(3rem, 6vw, 6rem); padding-bottom: clamp(3rem, 6vw, 6rem); }
.gita-guide__contents { position: sticky; top: 7rem; align-self: start; display: grid; gap: .8rem; padding: 1.2rem; border-left: 3px solid #d5a94f; background: #f7f3e8; }
.gita-guide__contents a { color: #315348; }
.gita-guide__content { max-width: 50rem; }
.gita-guide__content > section { padding: 0 0 2.7rem; margin: 0 0 2.7rem; border-bottom: 1px solid #dfe5e1; scroll-margin-top: 7rem; }
.gita-guide__content h2 { margin-top: .3rem; font-size: clamp(1.55rem, 3vw, 2.3rem); }
.gita-guide__content p, .gita-guide__content li { color: #43564d; font-size: 1.04rem; line-height: 1.8; }
.gita-guide__source { margin-bottom: .25rem; color: #806221 !important; font-size: .78rem !important; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.gita-guide__questions { padding: 1.5rem !important; border: 0 !important; border-radius: 1rem; background: #f1f5f2; }
.gita-guide__questions li + li { margin-top: .7rem; }
.gita-guide__next { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; border: 0 !important; }
.gita-guide__next > div { padding: 1.5rem; border: 1px solid #d9e1dc; border-radius: 1rem; }
@media (prefers-reduced-motion: reduce) {
  .gita-thinking { animation: none; }
}
@media (max-width: 850px) {
  .gita-hero__grid, .gita-experience-layout, .gita-responsible__grid, .gita-guide__hero-inner, .gita-guide__body { grid-template-columns: 1fr; }
  .gita-experience-intro { position: static; }
  .gita-guide__contents { position: static; }
  .gita-theme-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .gita-theme-grid, .gita-conversion-pair, .gita-guide__next { grid-template-columns: 1fr; }
  .gita-chat__messages { height: clamp(18rem, 48svh, 28rem); padding: 1rem; }
  .gita-form__footer, .gita-chat__proof { align-items: stretch; flex-direction: column; }
  .gita-form__footer .button { width: 100%; }
  .gita-message { max-width: 96%; }
  .gita-project-path { align-items: flex-start; flex-direction: column; }
}
