/* GIAN-AI / GJ Soccer — isolated, accessible FAQ companion. */
.gfaq{--gf-ink:#0b1733;--gf-wine:#56152f;--gf-gold:#ebca8b;--gf-white:#fff8ed;font-family:Segoe UI,Arial,sans-serif;position:fixed;right:22px;bottom:88px;z-index:80;color:var(--gf-white);line-height:1.5;isolation:isolate}
.gfaq *{box-sizing:border-box}.gfaq [hidden]{display:none!important}
.gfaq button,.gfaq input,.gfaq a{font:inherit}.gfaq button{cursor:pointer}.gfaq button:focus-visible,.gfaq a:focus-visible,.gfaq input:focus-visible{outline:3px solid #ffe3a0;outline-offset:3px}
.gfaq-launch{position:relative;display:flex;align-items:center;justify-content:center;width:84px;height:98px;padding:0;border:0;background:none;color:var(--gf-white);filter:drop-shadow(0 8px 13px #03081580)}
.gfaq-launch::before{content:'';position:absolute;bottom:7px;left:11px;width:64px;height:23px;border-radius:50%;background:#edcd9140;filter:blur(9px)}
.gfaq-avatar{width:84px;height:98px;object-fit:contain;overflow:visible;position:relative;transform-origin:center bottom;transition:transform .25s ease;animation:gf-companion 7s ease-in-out infinite;pointer-events:none}
.gfaq-launch:hover .gfaq-avatar{transform:translateY(-4px)}
.gfaq-eye{transform-box:fill-box;transform-origin:center;animation:gf-blink 6.7s infinite}
.gfaq-wave{transform-origin:74px 57px;animation:gf-wave 7s ease-in-out infinite}
.gfaq-ball{transform-origin:66px 88px;animation:gf-ball 7s ease-in-out infinite}
.gfaq-aura{animation:gf-aura 4.5s ease-in-out infinite}
.gfaq-greeting{position:absolute;right:94px;bottom:30px;min-width:168px;max-width:205px;padding:10px 14px;border:1px solid #eed19b77;border-radius:15px 15px 3px 15px;background:linear-gradient(135deg,#172541f5,#321932f0);box-shadow:0 8px 24px #02061750;color:#fff3d9;font-size:13px;text-align:left;pointer-events:none;animation:gf-greeting 12s both}
.gfaq-launch-label{position:absolute;bottom:-7px;right:0;white-space:nowrap;background:linear-gradient(120deg,#132341f5,#38172ffa);border:1px solid #e4c3837a;border-radius:20px;padding:3px 9px;font-size:11px;font-weight:650;letter-spacing:.02em}
.gfaq-panel{position:absolute;right:0;bottom:114px;width:390px;max-width:calc(100vw - 32px);height:560px;max-height:calc(100dvh - 225px);min-height:260px;display:flex;flex-direction:column;border:1px solid #e3c38785;border-radius:23px;background:linear-gradient(155deg,#122441fa 0%,#171c34fc 60%,#361728fc 100%);box-shadow:0 22px 60px #03071699,inset 0 1px 0 #fff1d32e;overflow:hidden;animation:gf-enter .22s ease both}
.gfaq-head{display:flex;align-items:center;gap:10px;padding:16px 17px 13px;border-bottom:1px solid #e4c28b30;background:linear-gradient(110deg,#fff1d00c,#9e3b5b10)}
.gfaq-brand{width:41px;height:41px;object-fit:contain}.gfaq-head-copy{flex:1;min-width:0}.gfaq-head h2{font-size:16px;line-height:1.25;margin:0;color:#ffe2a9;letter-spacing:.01em;font-weight:650}.gfaq-head p{font-size:11px;margin:4px 0 0;color:#c9ccd9}
.gfaq-close{flex:0 0 32px;width:32px;height:32px;background:#ffffff08;border:1px solid #edce9940;border-radius:50%;font-size:24px!important;color:#f6e5c7;line-height:1!important;padding:0}
.gfaq-messages{overflow:auto;overscroll-behavior:contain;flex:1;padding:17px 15px;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#c5a47266 transparent}
.gfaq-msg{font-size:13px;margin:0 0 13px;border:1px solid #d6c3a427;border-radius:15px 15px 15px 4px;padding:12px 13px;background:#ffffff06;overflow-wrap:anywhere;color:#f3eee8}
.gfaq-msg p{margin:0 0 8px}.gfaq-msg p:last-child{margin:0}.gfaq-msg strong{display:block;color:#f4d398;margin:0 0 6px;font-size:13px;line-height:1.4}
.gfaq-user{margin-left:38px;border-radius:15px 15px 4px 15px;background:#89583622;border-color:#e3ba6c3d}
.gfaq-link{display:inline-flex;align-items:center;gap:7px;color:#f8d99f!important;text-decoration:underline;text-underline-offset:3px;font-weight:600;font-size:12px}
.gfaq-choices{display:flex;flex-wrap:wrap;gap:7px;margin:9px 0 2px}
.gfaq-chip{border:1px solid #d5b87a66;border-radius:11px;background:linear-gradient(130deg,#d6a76017,#6d294223);color:#f9e8c7;padding:7px 10px;font-size:12px!important;text-align:left;line-height:1.35;transition:border-color .2s,background .2s}
.gfaq-chip:hover{border-color:#f6d399;background:#d9b46b22}
.gfaq-project{display:flex;gap:11px;align-items:center;padding:10px;margin-top:8px;border:1px solid #d7bd8939;border-radius:12px;text-decoration:none;background:#03142b3a;color:#fff0cf!important;font-size:12px;transition:background .2s}
.gfaq-project:hover{background:#efd09b14}.gfaq-project img{width:56px;height:54px;object-fit:contain;border-radius:8px}.gfaq-project span{flex:1}.gfaq-project b{display:block;font-size:13px}.gfaq-project small{display:block;color:#c6cbd8;margin-top:2px;font-size:11px}
.gfaq-form{display:flex;gap:7px;padding:11px 13px 6px;border-top:1px solid #ddbd8329;background:#09172a55}
.gfaq-input{min-width:0;flex:1;border:1px solid #dcc18c66;border-radius:12px;background:#08172d70;color:#fff5e4;padding:10px 11px;font-size:13px!important;line-height:1.4}.gfaq-input::placeholder{color:#c4c9d6}
.gfaq-submit{flex:0 0 40px;border:1px solid #f1d596;border-radius:12px;color:#102039;background:linear-gradient(130deg,#fcebc4,#d8b673 55%,#ad854f);box-shadow:inset 0 1px 0 #fff9e9,0 3px 0 #75572e;line-height:1;font-size:20px!important}
.gfaq-footer{margin:0;padding:4px 14px 11px;color:#c0c5d1;font-size:10px;line-height:1.4;background:#09172a55}.gfaq-footer button{font-size:10px;background:transparent;color:#e8c990;border:0;text-decoration:underline;padding:0}
.gfaq[data-brand=gjs]{--gf-wine:#13372e}.gfaq[data-brand=gjs] .gfaq-panel{background:linear-gradient(145deg,#102d43fa,#111d34fc 65%,#142f2afc)}.gfaq[data-brand=gjs] .gfaq-greeting{background:linear-gradient(135deg,#162b43f5,#17392bf5)}
@keyframes gf-blink{0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.1)}}
@keyframes gf-wave{0%,9%,23%,100%{transform:rotate(0)}12%,18%{transform:rotate(-17deg)}15%,21%{transform:rotate(12deg)}}
@keyframes gf-ball{0%,10%,28%,100%{transform:translateY(0) rotate(0)}17%{transform:translateY(-5px) rotate(14deg)}}
@keyframes gf-aura{0%,100%{opacity:.45}50%{opacity:.8}}
@keyframes gf-greeting{0%{opacity:0;transform:translateX(8px)}5%,76%{opacity:1;transform:translateX(0)}86%,100%{opacity:0;visibility:hidden}}
@keyframes gf-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes gf-companion{0%,28%,100%{transform:translateY(0) rotate(0)}8%{transform:translateY(-4px) rotate(-5deg)}16%{transform:translateY(-2px) rotate(4deg)}22%{transform:translateY(-3px) rotate(-2deg)}}
.gfaq-msg{font-size:15px}.gfaq-msg strong{font-size:14px}.gfaq-chip{font-size:14px!important}.gfaq-head p{font-size:12px}.gfaq-link{font-size:14px}.gfaq-input{font-size:14px!important}.gfaq-project{font-size:14px}.gfaq-project b{font-size:14px}.gfaq-project small{font-size:12px}.gfaq-footer,.gfaq-footer button{font-size:12px}.gfaq-launch-label{font-size:12px}
@media(max-width:700px){.gfaq{right:13px;bottom:calc(82px + env(safe-area-inset-bottom,0px))}.gfaq-launch{width:72px;height:86px}.gfaq-avatar{width:72px;height:86px}.gfaq-launch-label{font-size:10px}.gfaq-greeting{right:80px;bottom:24px;min-width:146px;max-width:174px;font-size:12px}.gfaq-panel{position:fixed;right:10px;left:10px;bottom:calc(13px + env(safe-area-inset-bottom,0px));width:auto;max-width:none;height:570px;max-height:calc(100dvh - 30px);border-radius:20px}.gfaq[data-open=true] .gfaq-launch{visibility:hidden}.gfaq-msg{font-size:13px}.gfaq-input{font-size:16px!important}.gfaq-head{padding:13px 15px}.gfaq-brand{width:35px;height:35px}}
@media(max-height:550px) and (min-width:701px){.gfaq-panel{position:fixed;top:12px;bottom:12px;right:22px;height:auto;max-height:none}}
@media(prefers-reduced-motion:reduce){.gfaq *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.gfaq-greeting{display:none}}
.motion-off .gfaq *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-off .gfaq-greeting{display:none}
@media(max-width:700px){.gfaq-panel{min-height:0}.gfaq-msg{font-size:15px}.gfaq-chip{font-size:14px!important}.gfaq-input{font-size:16px!important}}
.gfaq[data-brand=gjs]{z-index:110;bottom:100px;--gf-gold:#eaff00}.gfaq[data-brand=gjs] .gfaq-chip{border-color:#d3dd6855}.gfaq[data-brand=gjs] .gfaq-head h2{color:#ecf59b}
