.gf-chat-launch{z-index:900;opacity:1;transition:opacity .35s var(--ease-out), transform .35s var(--ease-out);flex-direction:column;align-items:center;gap:.85rem;display:flex;position:fixed;bottom:clamp(1.25rem,3vw,2.5rem);right:clamp(1.25rem,3vw,2.5rem);transform:translateY(0)}.gf-chat-launch[data-hidden=true]{opacity:0;pointer-events:none;transform:translateY(1rem)}.gf-chat-launch__orb{border:3px solid var(--burg-primary);background:var(--burg-primary);color:#fff;cursor:pointer;width:3.75rem;height:3.75rem;transition:background .25s ease, transform .25s var(--ease-out);border-radius:50%;justify-content:center;align-items:center;padding:0;animation:4.5s ease-in-out infinite gf-chat-vibrate;display:flex;position:relative}.gf-chat-launch__orb:hover{background:var(--burg-bright);animation-play-state:paused;transform:translateY(-2px)}.gf-chat-launch__orb:focus-visible{outline:2px solid var(--burg-bright);outline-offset:3px}.gf-chat-launch__orb svg{width:1.375rem;height:1.375rem}@keyframes gf-chat-vibrate{0%,85%{transform:rotate(0)scale(1)}87%{transform:rotate(-8deg)scale(1.05)}89%{transform:rotate(8deg)scale(1.05)}91%{transform:rotate(-8deg)scale(1.05)}93%{transform:rotate(8deg)scale(1.05)}95%{transform:rotate(0)scale(1)}to{transform:rotate(0)scale(1)}}.gf-chat-launch__ring,.gf-chat-launch__ring:after{content:"";border:2px solid var(--burg-primary);pointer-events:none;opacity:0;border-radius:50%;animation:1.5s cubic-bezier(.4,0,.2,1) infinite gf-chat-ripple;position:absolute;inset:-2px}.gf-chat-launch__ring:after{animation-delay:.75s;inset:-2px}@keyframes gf-chat-ripple{0%{opacity:.8;border-width:2px;transform:scale(1)}to{opacity:0;border-width:0;transform:scale(1.6)}}.gf-chat-launch__status{background:var(--accent-green);width:12px;height:12px;box-shadow:0 0 8px var(--accent-green);border:2px solid #fff;border-radius:50%;position:absolute;top:2px;right:2px}[data-theme=dark] .gf-chat-launch__status{border-color:var(--burg-dark)}.gf-chat-launch__nudge{white-space:nowrap;background:var(--card-bg);color:var(--ink);border:1px solid var(--border-light);opacity:0;pointer-events:none;border-radius:12px 12px 4px;padding:.5rem .85rem;font-size:.75rem;font-weight:600;transition:opacity .4s .2s;position:absolute;top:50%;right:calc(100% + .75rem);transform:translateY(-50%);box-shadow:0 8px 24px #0a11281f}.gf-chat-launch[data-unread=true] .gf-chat-launch__nudge{opacity:1;animation:3s ease-in-out infinite gf-chat-nudge-float}@keyframes gf-chat-nudge-float{0%,to{transform:translateY(-50%)}50%{transform:translateY(calc(-50% - 4px))}}.gf-chat-top{border:1px solid var(--border-light);background:var(--card-bg);width:2.75rem;height:2.75rem;color:var(--ink);cursor:pointer;transition:transform .25s var(--ease-out), border-color .2s ease;border-radius:50%;justify-content:center;align-items:center;display:flex}.gf-chat-top:hover{border-color:var(--burg-primary);transform:scale(1.1)}.gf-chat-top svg{width:.95rem;height:.95rem}.gf-chat{z-index:9000;background:var(--ivory);border:1px solid var(--border-light);width:clamp(335px,92vw,400px);max-height:min(480px,100dvh - 11rem);animation:gf-chat-in .35s var(--ease-out);border-radius:20px;flex-direction:column;display:flex;position:fixed;bottom:clamp(5.5rem,8vh,6.5rem);right:clamp(1rem,2.5vw,2.5rem);overflow:hidden;box-shadow:0 28px 75px #0a112838,0 10px 30px #0a4bb81f}@keyframes gf-chat-in{0%{opacity:0;transform:translateY(18px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.gf-chat{animation:none}}.gf-chat__head{background:var(--burg-dark);color:#fff;flex-shrink:0;align-items:center;gap:.75rem;padding:1rem 1.15rem 1rem 1.25rem;display:flex;position:relative}.gf-chat__head:after{content:"";pointer-events:none;background-image:repeating-linear-gradient(90deg,#ffffff0d 0 1px,#0000 1px 7px);position:absolute;inset:0}.gf-chat__avatar{border:2px solid #ffffffe6;border-radius:50%;flex-shrink:0;width:2.65rem;height:2.65rem;position:relative;overflow:hidden}.gf-chat__avatar img{object-fit:cover}.gf-chat__avatar-dot{background:var(--accent-green);border:1.5px solid #fff;border-radius:50%;width:9px;height:9px;position:absolute;bottom:0;right:0}.gf-chat__who{min-width:0}.gf-chat__who-kicker{letter-spacing:.14em;text-transform:uppercase;color:#fff9;margin-bottom:.15rem;font-size:.5625rem;font-weight:700;display:block}.gf-chat__who-name{letter-spacing:-.01em;margin:0;font-size:.9375rem;font-weight:800;line-height:1.2}.gf-chat__who-status{color:#ffffffa6;align-items:center;gap:.35rem;margin-top:.2rem;font-size:.6875rem;display:flex}.gf-chat__who-status-dot{background:var(--accent-green);width:6px;height:6px;box-shadow:0 0 6px var(--accent-green);border-radius:50%}.gf-chat__head-actions{z-index:1;align-items:center;gap:.15rem;margin-left:auto;display:flex;position:relative}.gf-chat__head-actions>button{color:#fff;opacity:.85;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.4rem;transition:opacity .2s,background .2s;display:flex}.gf-chat__head-actions>button:hover{opacity:1;background:#ffffff1f}.gf-chat__head-actions>button:focus-visible{outline:2px solid var(--burg-bright);outline-offset:1px}.gf-chat__head-actions svg{width:1.05rem;height:1.05rem}.gf-chat__menu{background:var(--card-bg);border:1px solid var(--border-light);z-index:5;width:178px;animation:gf-chat-in .2s var(--ease-out);border-radius:12px;padding:.4rem;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 14px 40px #0a112833}.gf-chat__menu a,.gf-chat__menu button{text-align:left;width:100%;font-family:var(--font-sans);color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.6rem;padding:.55rem .7rem;font-size:.75rem;font-weight:600;text-decoration:none;transition:background .15s;display:flex}.gf-chat__menu a:hover,.gf-chat__menu button:hover{background:#0a4bb812}.gf-chat__menu a:focus-visible,.gf-chat__menu button:focus-visible{outline:2px solid var(--burg-bright);outline-offset:-2px}.gf-chat__menu svg{width:.95rem;height:.95rem;color:var(--burg-primary);flex-shrink:0}.gf-chat__log{overscroll-behavior:contain;touch-action:pan-y;background:var(--ivory);flex-direction:column;flex:1;gap:.9rem;min-height:0;padding:1.15rem 1.15rem .5rem;display:flex;overflow-y:auto}.gf-chat__log::-webkit-scrollbar{width:5px}.gf-chat__log::-webkit-scrollbar-thumb{background:#0a4bb84d;border-radius:9999px}.gf-chat__msg{flex-direction:column;gap:.4rem;display:flex}.gf-chat__msg--user{align-items:flex-end}.gf-chat__msg--bot{align-items:flex-start}.gf-chat__bubble{border-radius:16px;max-width:86%;padding:.7rem 1rem;font-size:.84375rem;line-height:1.55}.gf-chat__msg--user .gf-chat__bubble{background:var(--burg-primary);color:#fff;border-bottom-right-radius:4px;font-weight:500}.gf-chat__msg--bot .gf-chat__bubble{background:var(--card-bg);color:var(--ink);border:1px solid var(--border-light);border-bottom-left-radius:4px}.gf-chat__time{letter-spacing:.04em;color:var(--muted);opacity:.75;padding-inline:.25rem;font-size:.625rem;font-weight:600}.gf-chat__action{border-top:1px solid var(--border-light);font-family:var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--burg-primary);align-items:center;gap:.4rem;margin-top:.6rem;padding-top:.55rem;font-size:.75rem;font-weight:800;text-decoration:none;transition:gap .25s;display:inline-flex}.gf-chat__action:hover{gap:.65rem}.gf-chat__action svg{width:.85rem;height:.85rem}.gf-chat__chips{flex-wrap:wrap;gap:.4rem;display:flex}.gf-chat__chip{color:var(--burg-primary);font-family:var(--font-sans);cursor:pointer;text-align:left;background:0 0;border:1.5px solid #0a4bb873;border-radius:9999px;padding:.45rem .85rem;font-size:.75rem;font-weight:700;transition:background .2s,color .2s,border-color .2s}.gf-chat__chip:hover,.gf-chat__chip:focus-visible{background:var(--burg-primary);border-color:var(--burg-primary);color:#fff}.gf-chat__chip:focus-visible{outline:2px solid var(--burg-bright);outline-offset:2px}.gf-chat__rate{color:var(--muted);align-items:center;gap:.45rem;padding-inline:.25rem;font-size:.6875rem;display:flex}.gf-chat__rate-group{border:1px solid var(--border-light);background:var(--card-bg);border-radius:9999px;align-items:center;gap:.15rem;padding:.15rem .4rem;display:inline-flex}.gf-chat__rate-btn{width:1.35rem;height:1.35rem;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.gf-chat__rate-btn svg{width:.75rem;height:.75rem}.gf-chat__rate-btn:hover{color:var(--burg-primary)}.gf-chat__rate-btn:focus-visible{outline:2px solid var(--burg-bright);outline-offset:1px}.gf-chat__rate-btn[data-on=up]{background:var(--burg-primary);color:#fff}.gf-chat__rate-btn[data-on=down]{color:#fff;background:#b42318}.gf-chat__rate-done{color:var(--burg-primary);font-size:.625rem;font-weight:700}.gf-chat__typing{background:var(--card-bg);border:1px solid var(--border-light);border-radius:16px 16px 16px 4px;align-self:flex-start;align-items:center;gap:.3rem;padding:.8rem 1rem;display:flex}.gf-chat__typing i{background:var(--burg-primary);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite gf-chat-bounce}.gf-chat__typing i:nth-child(2){animation-delay:.18s}.gf-chat__typing i:nth-child(3){animation-delay:.36s}@keyframes gf-chat-bounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1.1)}}.gf-chat__form{border-top:1px solid var(--border-light);background:var(--card-bg);flex-shrink:0;align-items:center;gap:.6rem;padding:.85rem .9rem .95rem 1.15rem;display:flex}.gf-chat__input{min-width:0;font-family:var(--font-sans);color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-size:.84375rem}.gf-chat__input::placeholder{color:var(--muted);opacity:.7}.gf-chat__input:focus-visible{outline:none}.gf-chat__send{background:var(--burg-primary);color:#fff;cursor:pointer;width:2.6rem;height:2.6rem;transition:background .2s ease, transform .2s var(--ease-out), opacity .2s ease;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.gf-chat__send svg{width:1rem;height:1rem}.gf-chat__send:hover:not(:disabled){background:var(--burg-bright);transform:scale(1.06)}.gf-chat__send:focus-visible{outline:2px solid var(--burg-bright);outline-offset:2px}.gf-chat__send:disabled{opacity:.4;cursor:default}.gf-chat__foot{background:var(--card-bg);border-top:1px solid var(--border-light);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);opacity:.8;flex-shrink:0;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1rem .65rem;font-size:.5625rem;font-weight:700;display:flex}.gf-chat__foot strong{color:var(--burg-primary);font-weight:800}@media (max-width:480px){.gf-chat{width:auto;bottom:5.25rem;left:.75rem;right:.75rem}.gf-chat-launch__nudge{display:none}}.gf-chat__cards{gap:.5rem;margin-top:.75rem;display:grid}.gf-chat__card{background:var(--card-bg,var(--ivory,#fff));border:1px solid var(--border-light,#0a14281f);border-radius:10px;gap:.35rem;padding:.75rem 2rem .75rem .85rem;text-decoration:none;transition:border-color .25s,box-shadow .25s,transform .25s;display:grid;position:relative}a.gf-chat__card:hover{border-color:var(--burg-primary);transform:translateY(-1px);box-shadow:0 6px 18px #0a4bb81f}a.gf-chat__card:focus-visible{outline:2px solid var(--burg-bright,#3d6fd8);outline-offset:2px}.gf-chat__card-code{letter-spacing:.14em;text-transform:uppercase;color:var(--burg-primary);font-size:.5rem;font-weight:800}.gf-chat__card-title{letter-spacing:.01em;text-transform:uppercase;color:var(--ink,#0b1526);font-size:.75rem;font-weight:800;line-height:1.35}.gf-chat__card-rows{gap:.2rem;margin:.15rem 0 0;display:grid}.gf-chat__card-row{align-items:baseline;gap:.5rem;font-size:.6875rem;line-height:1.45;display:flex}.gf-chat__card-row dt{letter-spacing:.04em;color:var(--muted,#5b6b84);flex:none;font-weight:700}.gf-chat__card-row dd{color:var(--ink,#0b1526);margin:0;font-weight:600}.gf-chat__card-go{width:1.1rem;height:1.1rem;color:var(--burg-primary);opacity:.75;place-items:center;display:grid;position:absolute;top:.7rem;right:.7rem}.gf-chat__card-go svg{width:.85rem;height:.85rem}a.gf-chat__card:hover .gf-chat__card-go{opacity:1}
