/* Loaded before other styles so mode-specific important rules also win over native layers. */
@layer chat-pure-mode, mobile-card-density, chat-text-settings;
@layer chat-pure-mode {
  :root, :host { --chat-pure-card-size:64px; --chat-pure-card-gap:5.647059px; }
  .chat-pure-toggle { cursor:pointer; flex-shrink:0; touch-action:manipulation; color:#effcff!important; }
  .chat-pure-toggle > svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  .chat-pure-toggle:focus-visible { outline:2px solid #91f6e1!important; outline-offset:2px; }
  /* Shared 64px cards fit four columns in the compact desktop chat. */
  .chat-pure-card {
    box-sizing:border-box!important; position:relative!important; display:flex!important; flex-direction:column!important;
    width:var(--chat-pure-card-size)!important; height:var(--chat-pure-card-size)!important; min-width:var(--chat-pure-card-size)!important; max-width:var(--chat-pure-card-size)!important;
    min-height:var(--chat-pure-card-size)!important; max-height:var(--chat-pure-card-size)!important; flex:0 0 var(--chat-pure-card-size)!important;
    padding:6.588235px 3.764706px!important; margin:0!important; gap:0!important; border:0!important; border-radius:11.294118px!important;
    background:rgba(0,0,0,.7)!important; opacity:1; box-shadow:none!important; overflow:hidden!important;
    transform-origin:center center!important; animation:chat-pure-center-pop 380ms ease-out both!important;
    font-size:0!important; line-height:0!important; text-align:center!important; isolation:isolate;
  }
  .chat-pure-card::before { content:none!important; }
  .chat-pure-card::after {
    display:block!important; visibility:visible!important; z-index:1!important;
    content:""!important; position:absolute!important; inset:0!important; width:auto!important; height:auto!important; min-width:0!important; min-height:0!important; max-width:none!important; max-height:none!important; margin:0!important; border:0!important; border-radius:inherit!important; padding:0.941176px!important;
    background:conic-gradient(from var(--chat-pure-angle),#ff67d4,#a777ff,#508dff,#58eaff,#65f0ae,#ffe875,#ffa866,#ff6e94,#ff67d4)!important;
    -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0)!important;
    -webkit-mask-composite:xor!important; mask-composite:exclude!important;
    pointer-events:none!important; box-shadow:none!important; filter:none!important; transform:none!important; opacity:1!important;
    animation:chat-pure-flow 4.7s linear -.9s infinite!important;
  }
  .chat-pure-card:nth-child(5n+2)::after { animation-duration:6.1s!important; animation-direction:reverse!important; animation-delay:-2.7s!important; }
  .chat-pure-card:nth-child(5n+3)::after { animation-duration:7.9s!important; animation-delay:-5.1s!important; }
  .chat-pure-card:nth-child(5n+4)::after { animation-duration:5.3s!important; animation-direction:reverse!important; animation-delay:-.4s!important; }
  .chat-pure-card:nth-child(5n+5)::after { animation-duration:9.1s!important; animation-delay:-6.8s!important; }
  .chat-pure-card > :not(.chat-pure-presentation) { display:none!important; }
  /* Keep the source image link as the actual hit target over its new presentation. */
  .ph-image-bubble.chat-pure-card > a.ph-image-square { display:block!important; position:absolute!important; inset:0!important; width:100%!important; height:100%!important; margin:0!important; padding:0!important; opacity:0!important; z-index:2!important; pointer-events:auto!important; }
  .ph-image-bubble.chat-pure-card:focus-within { outline:2px solid #91f6e1!important; outline-offset:2px!important; }
  .chat-pure-presentation { display:flex!important; flex-direction:column!important; align-items:center!important; justify-content:flex-start!important; gap:4.705882px!important; width:100%!important; height:100%!important; pointer-events:none!important; }
  .chat-pure-visual { display:grid!important; place-items:center!important; position:relative!important; top:1.411765px!important; width:32px!important; height:32px!important; min-height:32px!important; flex:0 0 32px!important; background:none!important; border:0!important; border-radius:0!important; font:12px/1.4 sans-serif!important; color:#eee!important; }
  .chat-pure-visual .chat-pure-art { display:block!important; position:static!important; width:96%!important; height:96%!important; max-width:96%!important; max-height:96%!important; object-fit:contain!important; padding:0!important; margin:0!important; border:0!important; border-radius:0!important; background:none!important; opacity:1!important; transform:none!important; }
  /* Intrinsic portrait/canvas height must not enlarge the grid's implicit row. */
  .chat-pure-visual { grid-template-columns:minmax(0,1fr)!important; grid-template-rows:minmax(0,1fr)!important; }
  .chat-pure-visual .chat-pure-art { box-sizing:border-box!important; min-width:0!important; min-height:0!important; object-position:center!important; align-self:center!important; justify-self:center!important; }
  .chat-pure-visual svg { fill:none; stroke:currentColor; stroke-width:1.8; color:#70e6ed; }
  .chat-pure-card[data-category="investor"] .chat-pure-visual svg { color:#ffc56c!important; }
  .chat-pure-card[data-category="industry"] .chat-pure-visual svg { color:#8ce1b5!important; }
  .chat-pure-card[data-category="social"] .chat-pure-visual svg { color:#c7a5ff!important; }
  .chat-pure-visual[data-placeholder]::after { content:attr(data-placeholder); }
  .chat-pure-visual .chat-pure-windows { display:grid!important; grid-template-columns:repeat(2,1fr)!important; grid-template-rows:repeat(2,1fr)!important; gap:1.411765px!important; width:26.419991px!important; height:26.419991px!important; }
  .chat-pure-windows > i { display:block!important; position:static!important; width:100%!important; height:100%!important; border:0!important; transform:none!important; }
  .chat-pure-windows > i:nth-child(1) { background:#f35325!important; }
  .chat-pure-windows > i:nth-child(2) { background:#81bc06!important; }
  .chat-pure-windows > i:nth-child(3) { background:#05a6f0!important; }
  .chat-pure-windows > i:nth-child(4) { background:#ffba08!important; }
  .chat-pure-caption { display:flex!important; align-items:center!important; justify-content:center!important; width:100%!important; height:14.117647px!important; min-height:14.117647px!important; margin:0!important; padding:0!important; color:#fff!important; font-size:10.352941px!important; font-weight:700!important; line-height:13.176471px!important; letter-spacing:0!important; white-space:normal!important; word-break:normal!important; overflow-wrap:anywhere!important; text-align:center!important; text-shadow:0 1px 3px #000!important; }
  .chat-pure-caption-long { font-size:6.588235px!important; line-height:6.588235px!important; }
  .chat-pure-caption { color:transparent!important; text-shadow:none!important; }
  .chat-pure-caption-text { display:block!important; width:100%!important; min-width:0!important; font:inherit!important; line-height:inherit!important; }
  .chat-pure-caption-text > br { font:inherit!important; line-height:inherit!important; }
  .chat-pure-caption-char { display:inline-block!important; width:auto!important; min-width:0!important; margin:0!important; padding:0!important; font:inherit!important; line-height:inherit!important; vertical-align:top!important; }
  .chat-pure-caption-char::after {
    content:attr(data-char); white-space:pre; font:inherit!important; line-height:inherit!important;
    background:linear-gradient(90deg,#fff,#a8efff,#76bfd2,#d9f8ff,#fff);
    background-size:260% 100%; background-position:100% 50%;
    background-clip:text; -webkit-background-clip:text; color:transparent; -webkit-text-fill-color:transparent;
  }
  .chat-pure-caption-char[data-tone="1"]::after { background-image:linear-gradient(90deg,#fff,#f0c4df,#c79bd7,#e9d7f5,#fff); }
  .chat-pure-caption-char[data-tone="2"]::after { background-image:linear-gradient(90deg,#fff,#fff0b8,#ddbd70,#ffe4a0,#fff); }
  .chat-pure-caption-char[data-tone="3"]::after { background-image:linear-gradient(90deg,#fff,#d7f2df,#91c6aa,#c8ead8,#fff); }
  .chat-pure-grid { display:flex!important; flex-wrap:wrap!important; gap:var(--chat-pure-card-gap)!important; justify-content:flex-start!important; align-items:flex-start!important; grid-template-columns:none!important; }
  /* ProductWindow computes visible ranges from grid columns; spacer rows must span them. */
  .children.chat-pure-grid { display:grid!important; grid-template-columns:repeat(auto-fill,var(--chat-pure-card-size))!important; align-content:start!important; }
  /* Only the homepage's compact conversation uses four tracks. */
  html[data-compact-home-chat] .bean-platform-versions.chat-pure-grid {
    display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important;
    width:100%!important; max-width:calc(4 * var(--chat-pure-card-size) + 3 * var(--chat-pure-card-gap))!important;
  }
  html[data-compact-home-chat] .bean-platform-versions.chat-pure-grid > .chat-pure-card {
    width:100%!important; min-width:0!important; max-width:var(--chat-pure-card-size)!important;
    height:auto!important; min-height:0!important; max-height:none!important; aspect-ratio:1!important;
  }
  .chat-pure-acquisition { display:flex!important; flex-wrap:wrap!important; gap:5.647059px!important; align-items:flex-start!important; }
  .chat-pure-card[hidden] { display:none!important; }
  @media(max-width:720px) {
    html[data-chat-pure="true"] .bean-chat-panel > .bean-chat-toolbar > .bean-chat-toolbar-group { flex-wrap:wrap!important; max-width:100%!important; row-gap:4px!important; }
    html[data-chat-pure="true"] .bean-chat-panel > .bean-chat-log { padding-top:max(52px,var(--chat-pure-toolbar-space,52px))!important; }
    :is(.bean-chat-toolbar,.contact-toolbar,.chat-toolbar) { flex-wrap:wrap!important; row-gap:4px!important; }
    :is(.bean-chat-toolbar-group,.contact-toolbar-group,.toolbar-group) { flex-shrink:0!important; }
  }
  @media(prefers-reduced-motion:reduce) { .chat-pure-card,.chat-pure-card::after { animation:none!important; } }
}
@property --chat-pure-angle { syntax:'<angle>'; inherits:false; initial-value:135deg; }
@keyframes chat-pure-flow { to { --chat-pure-angle:495deg; } }
@keyframes chat-pure-center-pop { 0% { scale:.18; opacity:0; } 65% { scale:1.045; opacity:1; } 84% { scale:.985; opacity:1; } 100% { scale:1; opacity:1; } }


@layer chat-pure-mode {
 .mobile-center-button .chat-pure-visual{width:38px!important;height:38px!important;min-height:38px!important;flex-basis:38px!important;top:0!important}
 .mobile-center-button.chat-pure-card{padding-block:5px!important}
 .mobile-center-button .chat-pure-presentation{gap:1px!important}
 .mobile-center-button[data-mobile-center="products"] .chat-pure-art{transform:scale(1.333333)!important}
}
