:root{
  --gf-radius: 16px; --gf-gap: 16px;
  --gf-brand: #EA4335; --gf-border-strong: #34A534; --gf-secondary: #139E7B;
  --gf-card-bg: #ffffff; --gf-muted-bg: #fff7fb;
  --gf-font-size: 1.125rem; --gf-title-size: 1.3rem; --gf-url-size: .95rem; --gf-btn-size: 1rem;
}
.gf-summarizer{ border: 2px solid var(--gf-border-strong); padding: calc(var(--gf-gap) + 2px); border-radius: var(--gf-radius); background: var(--gf-muted-bg); box-shadow: 0 10px 30px rgba(52,165,52,.12); }
.gf-sum-actions{ display:flex; gap:16px; justify-content:space-between; flex-wrap:wrap; margin-bottom:12px; }
.gf-sum-btn{ font: inherit; font-weight: 700; padding: 14px 18px; border-radius: 999px; border: 2px solid color-mix(in srgb, var(--gf-brand) 75%, #0000 25%); background: var(--gf-brand); color: #fff !important; cursor: pointer; transition: transform .08s ease, box-shadow .2s ease, opacity .2s ease; box-shadow: 0 4px 14px rgba(0,0,0,.08); font-size: var(--gf-btn-size); flex: 1 1 0; text-align: center; min-width: 220px; display:inline-flex; align-items:center; justify-content:center; gap:10px; text-decoration:none; }
.gf-sum-btn.is-loading{ opacity:.7; pointer-events:none; }
.gf-sum-btn--outline{ background: var(--gf-secondary); border-color: color-mix(in srgb, var(--gf-secondary) 70%, #0000 30%); color:#fff !important; }
.gf-sum-btn--outline span{ color:#fff !important; } .gf-sum-btn--outline .gf-ico path{ fill:#fff; } .gf-sum-btn--outline:hover{ filter: brightness(0.98); }
.gf-ico{ width: 1.15em; height: 1.15em; display:inline-block; } .gf-ico path{ fill: currentColor; }
.gf-pulse{ position: relative; } .gf-pulse::after{ content: ""; position:absolute; inset:-6px; border-radius:999px; border:2px solid var(--gf-border-strong); opacity:.45; animation: gf-pulse 1.8s ease-out infinite; }
@keyframes gf-pulse{ 0%{transform:scale(.98);opacity:.5;}70%{transform:scale(1.08);opacity:0;}100%{opacity:0;} }
.gf-sum-status{ font-size: 1rem; min-height: 1.2em; opacity:0; transition:opacity .2s ease; margin-bottom: 8px; } .gf-sum-status.show{ opacity:1; }
.gf-sum-result{ background: var(--gf-card-bg); border: 1px solid #d7f2d7; border-radius: var(--gf-radius); padding: 20px; }
.gf-sum-card{ font-size: var(--gf-font-size); line-height: 1.7; } .gf-sum-title{ margin: 0 0 10px 0; font-size: var(--gf-title-size); font-weight: 800; }
.gf-sum-highlights{ padding-left: 22px; margin: 8px 0 14px; } .gf-sum-highlights li{ margin: 6px 0; }

/* CTA reset */
.gf-cta-box{ margin-top: 16px; padding: 14px 16px; border-radius: 12px; background: #34A534; color: #fff; border: 1px solid color-mix(in srgb, #000 10%, #34A534 90%); display:block !important; clear: both !important; }
.gf-cta-box *{ flex: none !important; float: none !important; }
.gf-cta-copy, .gf-cta-source{ display:block !important; clear: both !important; }
.gf-cta-box a.gf-link{ color:#fff !important; text-decoration: underline; text-decoration-color: rgba(255,255,255,.6); }
.gf-cta-source{ font-size: var(--gf-url-size); margin-top: 6px; opacity: .95; overflow-wrap:anywhere; word-break:break-word; }

@media (max-width: 768px){ .gf-sum-actions{ flex-direction: column; } .gf-sum-btn{ width: 100%; min-width: 0; } }
