/* FirstHack AI: launcher, side panel and inline chat. Uses the site's own tokens. */
.fa-launch{position:fixed;right:22px;bottom:22px;z-index:900;display:inline-flex;align-items:center;gap:9px;height:48px;padding:0 18px 0 14px;border:0;border-radius:999px;cursor:pointer;
  background:linear-gradient(135deg,#dc2733 0%,#c1121f 48%,#9c0e19 100%);color:#fff;font:600 15px/1 inherit;letter-spacing:-.01em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 2px 4px rgba(141,13,21,.25),0 12px 28px -10px rgba(141,13,21,.55);transition:transform .18s ease,box-shadow .18s ease}
.fa-launch:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 3px 6px rgba(141,13,21,.25),0 16px 32px -10px rgba(141,13,21,.6)}
.fa-launch svg{width:20px;height:20px}
.fa-launch .fa-dot{width:7px;height:7px;border-radius:50%;background:#7CFFB2;box-shadow:0 0 0 3px rgba(124,255,178,.25)}
body.fa-open .fa-launch{opacity:0;pointer-events:none}

.fa-panel{position:fixed;top:0;right:0;bottom:0;z-index:950;width:min(440px,100vw);display:flex;flex-direction:column;background:var(--surface,#fff);
  border-left:1px solid var(--border,#e4e5e9);box-shadow:-24px 0 60px -30px rgba(10,12,16,.35);transform:translateX(102%);transition:transform .28s cubic-bezier(.2,.8,.3,1)}
body.fa-open .fa-panel{transform:none}
.fa-inline .fa-panel,.fa-panel.fa-in{position:relative;transform:none;width:100%;height:min(76vh,760px);border:1px solid var(--border,#e4e5e9);border-radius:16px;box-shadow:0 1px 2px rgba(10,12,16,.05),0 12px 32px -18px rgba(10,12,16,.2);z-index:1}

.fa-head{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border-soft,#eee)}
.fa-logo{width:36px;height:36px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;color:#fff;flex:0 0 auto;
  background:linear-gradient(135deg,#dc2733,#9c0e19)}
.fa-logo svg{width:19px;height:19px}
.fa-ht{flex:1;min-width:0}
.fa-ht b{display:block;font-size:15px;letter-spacing:-.01em}
.fa-ht small{display:block;color:var(--text-faint,#767b85);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fa-x{border:0;background:transparent;width:34px;height:34px;border-radius:9px;cursor:pointer;color:var(--text-dim,#474b53);font-size:22px;line-height:1}
.fa-x:hover{background:var(--surface-2,#f4f4f6)}

.fa-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px;scroll-behavior:smooth}
.fa-hello{padding:4px 2px}
.fa-hello h3{margin:0 0 4px;font-size:18px;letter-spacing:-.02em}
.fa-hello p{margin:0 0 12px;color:var(--text-dim,#474b53);font-size:14px;line-height:1.55}
.fa-chips{display:flex;flex-wrap:wrap;gap:8px}
.fa-chip{border:1px solid var(--border,#e4e5e9);background:var(--surface,#fff);color:var(--text,#14161a);border-radius:999px;padding:8px 12px;font:500 13px/1.2 inherit;cursor:pointer;text-align:left}
.fa-chip:hover{border-color:var(--blue,#c1121f);color:var(--blue,#c1121f)}

.fa-m{max-width:92%;font-size:14.5px;line-height:1.6;word-wrap:break-word}
.fa-u{align-self:flex-end;background:var(--text,#14161a);color:#fff;padding:10px 14px;border-radius:16px 16px 4px 16px;white-space:pre-wrap}
.fa-a{align-self:flex-start;color:var(--text,#14161a)}
.fa-a p{margin:0 0 9px}.fa-a p:last-child{margin-bottom:0}
.fa-a ul,.fa-a ol{margin:0 0 9px;padding-left:20px}
.fa-a h4{margin:10px 0 6px;font-size:15px}
.fa-a code{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.88em;background:var(--surface-2,#f4f4f6);padding:1px 5px;border-radius:5px}
.fa-a pre{margin:0 0 10px;background:var(--code-bg,#1c1e26);color:var(--code-text,#e6e9ef);border-radius:10px;padding:12px 14px;overflow-x:auto;font-size:13px;line-height:1.55}
.fa-a pre code{background:none;padding:0;color:inherit;font-size:inherit}
.fa-err{align-self:stretch;background:#fff4f4;border:1px solid #f3c9cc;color:#8d0d15;border-radius:12px;padding:10px 12px;font-size:13.5px}
.fa-typing{align-self:flex-start;display:inline-flex;gap:5px;padding:10px 2px}
.fa-typing i{width:7px;height:7px;border-radius:50%;background:var(--text-faint,#9aa0ab);animation:fa-b 1s infinite ease-in-out}
.fa-typing i:nth-child(2){animation-delay:.15s}.fa-typing i:nth-child(3){animation-delay:.3s}
@keyframes fa-b{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}

.fa-foot{border-top:1px solid var(--border-soft,#eee);padding:12px}
.fa-box{display:flex;align-items:flex-end;gap:8px;border:1px solid var(--border,#e4e5e9);border-radius:14px;padding:6px 6px 6px 12px;background:var(--surface,#fff)}
.fa-box:focus-within{border-color:var(--blue,#c1121f);box-shadow:0 0 0 3px rgba(193,18,31,.12)}
.fa-box textarea{flex:1;border:0!important;outline:0;box-shadow:none!important;border-radius:0!important;resize:none;background:transparent!important;font:400 14.5px/1.5 inherit;color:var(--text,#14161a);max-height:140px;min-height:24px;height:auto;padding:5px 0!important;margin:0!important;width:auto}
.fa-send{flex:0 0 auto;width:38px;height:38px;border:0;border-radius:11px;cursor:pointer;color:#fff;background:linear-gradient(135deg,#dc2733,#9c0e19);display:inline-flex;align-items:center;justify-content:center}
.fa-send:disabled{opacity:.45;cursor:default}
.fa-meta{display:flex;justify-content:space-between;gap:8px;margin-top:7px;font-size:11.5px;color:var(--text-faint,#9aa0ab)}
.fa-login{padding:20px;text-align:center}
.fa-login a{display:inline-block;margin-top:10px}

@media (max-width:640px){
  .fa-launch{right:max(12px,env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom));height:44px;padding:0 15px 0 12px;font-size:14px}
  .fa-panel:not(.fa-in){left:0;right:0;top:0;bottom:auto;width:auto;height:100vh;height:100dvh;border-left:0}
  .fa-foot{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
  .fa-inline .fa-panel,.fa-panel.fa-in{position:relative;left:auto;top:auto;width:100%;height:min(70vh,640px);height:min(70dvh,640px)}
  body.fa-open{overflow:hidden}
}
@media print{.fa-launch,.fa-panel{display:none!important}}
