/* Pilot: an optional, native-feeling message thread in Good Fight colours. */
.pilot-widget{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));pointer-events:none;z-index:200;color:#191918;font:15px/1.5 -apple-system,BlinkMacSystemFont,system-ui,sans-serif;text-align:left;-webkit-font-smoothing:antialiased}
.pilot-widget *{box-sizing:border-box}.pilot-widget [hidden],.pilot-widget.pilot-consent-covered{display:none!important}.pilot-widget button,.pilot-widget textarea{font:inherit}.pilot-widget button,.pilot-widget a{-webkit-tap-highlight-color:transparent}.pilot-widget button{cursor:pointer}.pilot-widget :is(button,a,textarea):focus-visible{outline:3px solid #1550a0;outline-offset:4px}
.training-site .pilot-widget .pilot-launch{position:relative;display:block;width:120px;height:120px;max-width:120px;padding:0;border:0;border-radius:0;background:transparent;color:#191918;box-shadow:none;overflow:visible;clip-path:none;pointer-events:auto;isolation:isolate}
.pilot-launch-art{position:absolute;inset:4px;display:grid;place-items:center;pointer-events:none;filter:drop-shadow(0 3px 2px #19191815)}
.pilot-launch-art img,.pilot-launch-art canvas{position:absolute;inset:0;display:block;width:112px;height:112px;object-fit:contain;pointer-events:none}
.pilot-wave-canvas{visibility:hidden}.pilot-wave-ready .pilot-wave-canvas{visibility:visible}.pilot-wave-ready .pilot-seated{visibility:hidden}
.pilot-launch::after{content:"";position:absolute;width:34px;height:5px;left:43px;bottom:0;background:#19191816;border-radius:50%;pointer-events:none;z-index:-1}
.pilot-invite{position:absolute;left:calc(50% - 48px);right:auto;bottom:calc(100% + 2px);width:96px;min-height:44px;display:flex;align-items:center;justify-content:center;padding:8px 9px;background:#fffdf8;color:#191918;border:1px solid #ddd8cf;border-radius:16px;box-shadow:0 2px 10px #1919180d;font-size:12px;line-height:1.3;font-weight:500;text-align:center;pointer-events:auto;opacity:1;visibility:visible}
.pilot-invite>span{white-space:nowrap}
.pilot-invite::before,.pilot-invite::after{content:"";position:absolute;transform:rotate(20deg) scaleX(-1);pointer-events:none}
.pilot-invite::before{right:34px;bottom:-10px;width:19px;height:18px;background:#ddd8cf}
.pilot-invite::after{right:35px;bottom:-9px;width:18px;height:17px;background:#fffdf8}

.pilot-launch:focus-visible .pilot-invite{opacity:1;visibility:visible}
@media(hover:hover) and (pointer:fine){.pilot-launch:hover .pilot-invite{opacity:1;visibility:visible}}

.pilot-panel{position:absolute;right:0;bottom:0;pointer-events:auto;width:416px;max-width:calc(100vw - 32px);height:min(620px,calc(100dvh - 136px));min-height:260px;background:#f5f0e6;border:1px solid #ddd8cf;border-radius:24px;box-shadow:0 16px 56px #19191828;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:contain}
.pilot-widget .pilot-header{height:76px;min-height:76px;padding:12px 16px;background:#fffdf8;color:#191918;display:flex;align-items:center;border-bottom:1px solid #e8e2d7;gap:12px}.pilot-header-avatar{display:block;flex:0 0 44px;width:44px;height:44px;overflow:hidden;border-radius:50%;background:#ffdf82}.pilot-header-avatar img{display:block;width:44px;height:53px;object-fit:contain;object-position:center top}.pilot-header-identity{flex:1;min-width:0;text-align:left}.pilot-header strong{display:block;font:600 18px/1.2 -apple-system,BlinkMacSystemFont,system-ui,sans-serif;letter-spacing:-.25px;text-transform:none}.pilot-mode{display:block;font-size:11px;line-height:1.3;color:#706c63;margin-top:3px}.pilot-close,.pilot-reset{flex:0 0 44px;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#716d65;line-height:1}.pilot-close{font-size:28px!important}.pilot-reset{font-size:25px!important;margin-right:-8px}@media(hover:hover) and (pointer:fine){.pilot-close:hover,.pilot-reset:hover{background:#f0ebe2}}
.pilot-widget .pilot-scene{display:none}.pilot-scroll{overflow:auto;flex:1;min-height:60px;padding:16px 20px 20px;scrollbar-width:thin;overscroll-behavior:contain}.pilot-bubble{margin:8px 0;padding:12px 16px;border-radius:20px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.5;letter-spacing:-.1px}.pilot-bubble-pilot{background:#fffdf8;border:1px solid #e8e2d7;box-shadow:0 1px 0 #19191805}.pilot-bubble-user{position:relative;max-width:85%;width:fit-content;margin-left:auto;background:#ffdf82;color:#191918;border-bottom-right-radius:5px}
.pilot-speech-row{margin:10px 0}.pilot-speaker{display:none}.pilot-active-reply{display:flex;align-items:flex-start;gap:12px;padding-top:4px;min-height:124px}.pilot-active-reply .pilot-speaker{display:block;flex:0 0 88px;width:88px;height:110px}.pilot-active-reply .pilot-character{width:88px;height:110px;max-width:none;object-fit:contain;object-position:center top}.pilot-active-reply .pilot-bubble-pilot{position:relative;flex:1;min-width:0;margin:4px 0 8px;padding:13px 16px;border-radius:20px}.pilot-active-reply .pilot-bubble-pilot::before,.pilot-active-reply .pilot-bubble-pilot::after{content:"";position:absolute;clip-path:polygon(100% 0,0 50%,100% 100%);pointer-events:none}.pilot-active-reply .pilot-bubble-pilot::before{width:29px;height:19px;left:-28px;top:26px;background:#e8e2d7}.pilot-active-reply .pilot-bubble-pilot::after{width:28px;height:17px;left:-26px;top:27px;background:#fffdf8}.pilot-speech-row:not(.pilot-active-reply) .pilot-bubble{max-width:90%;background:#eae6de;border-color:transparent}.pilot-thinking-status .pilot-bubble{color:#706c63;font-style:italic}
.pilot-options{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}.pilot-chip{min-height:48px;border:1px solid #d7d2c8;border-radius:999px;background:#fffdf8;color:#191918;padding:10px 16px;font-size:14px!important;line-height:1.3;flex:0 1 auto}@media(hover:hover) and (pointer:fine){.pilot-chip:hover{background:#ffe8a7;border-color:#ded7cb}}.pilot-action{display:flex;align-items:center;justify-content:center;text-align:center;height:64px;min-height:64px;width:100%;padding:8px 20px;background:#191918;color:#f8efdd!important;text-decoration:none!important;border:0;border-radius:999px;box-shadow:0 3px 0 #ffbc00;font-size:15px!important;line-height:1.3;font-weight:500}.pilot-action+.pilot-action{height:48px;min-height:48px;background:#e9e5dc;color:#191918!important;border:1px solid #d7d2c8;box-shadow:none}@media(hover:hover) and (pointer:fine){.pilot-action:hover{filter:brightness(.96)}}
.pilot-widget .pilot-composer{padding:10px 14px 12px;border-top:1px solid #ddd8cf;margin:0;background:#fbf8f2;flex-shrink:0}.pilot-input-row{display:flex;align-items:flex-end;gap:8px;border:1px solid #d4cfc6;border-radius:24px;background:#fffdf8;padding:4px 5px 4px 14px}.pilot-input-row textarea{width:100%;min-height:36px;max-height:110px;margin:0!important;border:0;border-radius:0;background:transparent;color:#191918;padding:8px 0 6px;resize:vertical;font-size:15px!important;line-height:1.4;box-shadow:none}.pilot-input-row textarea:focus-visible{outline:0}.pilot-input-row:focus-within{outline:2px solid #1550a0;outline-offset:2px}.pilot-send{flex:0 0 36px;width:36px;height:36px;border:0;border-radius:50%;background:#191918;color:#ffbc00;font-size:24px!important;line-height:1;padding:0;align-self:flex-end}.pilot-send:disabled{opacity:.45;cursor:wait}.pilot-context-privacy{display:block;width:100%;font-size:11px;color:#706c63;text-decoration:underline;padding:4px}
.pilot-handoff{margin-top:16px}.pilot-handoff label{display:block;font-size:13px;font-weight:500;margin-bottom:8px}.pilot-handoff textarea{display:block;width:100%;font-size:14px;padding:12px 14px;background:#fffdf8;color:#191918;border:1px solid #d4cfc6;border-radius:16px;resize:vertical;margin-top:8px}.pilot-handoff-hint{font-size:12px!important;line-height:1.5;color:#706c63;margin:10px 0}.pilot-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pilot-is-open .pilot-launch{visibility:hidden;pointer-events:none}
@media(max-width:760px){.training-site .pilot-widget .pilot-launch{width:108px;height:108px;max-width:108px}.pilot-launch-art img,.pilot-launch-art canvas{width:100px;height:100px}.pilot-launch::after{left:37px}.pilot-invite{left:calc(50% - 46px);right:auto;width:92px;font-size:12px}.pilot-panel{position:fixed;left:16px;right:16px;top:calc(var(--pilot-view-top,0px) + var(--pilot-view-height,100dvh)/2);bottom:auto;transform:translateY(-50%);width:auto;max-width:400px;margin-inline:auto;min-height:0;height:min(560px,calc(var(--pilot-view-height,100dvh) - 32px));border-radius:24px}.pilot-scroll{padding:12px 16px 16px}.pilot-active-reply{gap:10px;min-height:112px}.pilot-active-reply .pilot-speaker{flex-basis:78px;width:78px;height:100px}.pilot-active-reply .pilot-character{width:78px;height:100px}.pilot-active-reply .pilot-bubble-pilot{padding:12px 14px}.pilot-active-reply .pilot-bubble-pilot::before{top:24px;width:26px;left:-25px}.pilot-active-reply .pilot-bubble-pilot::after{top:25px;width:25px;left:-23px}.pilot-widget .pilot-header{height:72px;min-height:72px;padding:10px 12px;gap:10px}.pilot-chip{padding:10px 14px}}
@media(max-height:500px){.pilot-panel{min-height:0;height:calc(100dvh - 128px)}.pilot-widget .pilot-header{height:48px;min-height:48px;padding-block:2px}.pilot-mode{display:none}.pilot-widget .pilot-composer{padding-block:6px}.pilot-active-reply .pilot-speaker{flex-basis:54px;width:54px;height:68px}.pilot-active-reply .pilot-character{width:54px;height:68px}.pilot-active-reply{min-height:80px;gap:8px}.pilot-active-reply .pilot-bubble-pilot::before{top:15px;width:21px;left:-20px}.pilot-active-reply .pilot-bubble-pilot::after{top:16px;width:20px;left:-18px}}
@media(prefers-reduced-motion:no-preference){.pilot-launch-art,.pilot-invite{animation:pilot-levitate 3.8s ease-in-out infinite}.pilot-launch::after{animation:pilot-shadow 3.8s ease-in-out infinite}@keyframes pilot-levitate{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pilot-shadow{0%,100%{transform:scaleX(1);opacity:.8}50%{transform:scaleX(.7);opacity:.35}}.pilot-chip,.pilot-action{transition:background .15s}.pilot-widget[data-state="thinking"] .pilot-character{animation:pilot-think 2s ease-in-out infinite}@keyframes pilot-think{50%{transform:translateY(-2px) rotate(1deg)}}}
/* Explicit widget shapes take priority over the page's shared square-button contract. */
.training-site .pilot-widget :is(.pilot-launch,.pilot-chip,.pilot-action){border-radius:999px}.training-site .pilot-widget :is(.pilot-send,.pilot-close,.pilot-reset){border-radius:50%}
/* Curved lower-corner message tails, following Justin's WhatsApp reference. */
.pilot-active-reply{align-items:flex-end;min-height:0;margin-bottom:62px}.pilot-active-reply .pilot-speaker{height:80px;transform:translateY(32px)}
.pilot-active-reply .pilot-bubble-pilot::before,.pilot-active-reply .pilot-bubble-pilot::after,.pilot-invite::before,.pilot-invite::after{clip-path:none;top:auto;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 24'%3E%3Cpath d='M28 0C23 5 23 12 16 17C11 20 5 21 0 20C7 25 20 24 28 17Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 24'%3E%3Cpath d='M28 0C23 5 23 12 16 17C11 20 5 21 0 20C7 25 20 24 28 17Z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.pilot-active-reply .pilot-bubble-pilot::before{left:-19px;bottom:-1px;width:29px;height:25px;background:#e8e2d7}.pilot-active-reply .pilot-bubble-pilot::after{left:-18px;bottom:0;width:28px;height:24px;background:#fffdf8}
.pilot-bubble-user::after{content:"";position:absolute;width:22px;height:21px;right:-9px;bottom:0;background:#ffdf82;transform:scaleX(-1);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 24'%3E%3Cpath d='M28 0C23 5 23 12 16 17C11 20 5 21 0 20C7 25 20 24 28 17Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 24'%3E%3Cpath d='M28 0C23 5 23 12 16 17C11 20 5 21 0 20C7 25 20 24 28 17Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;pointer-events:none}
@media(max-width:760px){.pilot-active-reply{min-height:0;margin-bottom:56px}.pilot-active-reply .pilot-speaker{height:72px;transform:translateY(28px)}}
@media(max-height:500px){.pilot-active-reply{min-height:0;margin-bottom:40px}.pilot-active-reply .pilot-speaker{height:48px;transform:translateY(20px)}}

.pilot-widget :is(.pilot-close,.pilot-reset):focus:not(:focus-visible){outline:none;box-shadow:none}
.pilot-widget:not(.pilot-keyboard) :is(.pilot-close,.pilot-reset):focus{outline:none;box-shadow:none}

.pilot-widget button.pilot-context-privacy{background:transparent;border:0;border-radius:0;min-height:32px;height:auto;box-shadow:none;text-align:left;cursor:pointer;font-family:inherit;line-height:1.4}

/* Preserve the compact Spanish invitation and the v179 portrait header. */
:lang(es) .pilot-invite>span{font-size:11.5px}
.pilot-widget.pilot-is-open .pilot-launch{visibility:hidden;pointer-events:none}


.pilot-widget.pilot-is-open .pilot-launch *{visibility:hidden}
