:root{
  --gcp-bg:#f7fbff;
  --gcp-surface:#ffffff;
  --gcp-surface-2:#eef5ff;
  --gcp-ink:#10233d;
  --gcp-muted:#687b95;
  --gcp-line:rgba(16,35,61,.13);
  --gcp-brand:#1268e8;
  --gcp-brand-deep:#0b4fb8;
  --gcp-aqua:#0aa897;
  --gcp-user:#0d5dcf;
  --gcp-shadow:0 26px 78px rgba(14,54,105,.24);
}
html[data-theme="dark"]{
  --gcp-bg:#081728;
  --gcp-surface:#0e2035;
  --gcp-surface-2:#142b48;
  --gcp-ink:#eef5ff;
  --gcp-muted:#a4b6cc;
  --gcp-line:rgba(225,238,255,.14);
  --gcp-brand:#70aaff;
  --gcp-brand-deep:#3f83eb;
  --gcp-aqua:#46d4c3;
  --gcp-user:#176dd8;
  --gcp-shadow:0 30px 88px rgba(0,0,0,.48);
}

.generics-copilot-hero{margin:1rem 0 0;max-width:720px}
.generics-copilot-hero-label{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin:0 0 .46rem;color:var(--gcp-muted);font-size:.78rem}
.generics-copilot-hero-label strong{display:inline-flex;align-items:center;gap:.42rem;color:var(--gcp-ink);font-weight:800}
.generics-copilot-hero-label span:last-child{font-size:.7rem;white-space:nowrap}
.generics-copilot-hero-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem;padding:.42rem;border:1px solid var(--gcp-line);border-radius:1rem;background:color-mix(in srgb,var(--gcp-surface) 96%,transparent);box-shadow:0 12px 38px rgba(19,82,153,.09)}
.generics-copilot-hero-form:focus-within{border-color:color-mix(in srgb,var(--gcp-brand) 50%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--gcp-brand) 11%,transparent),0 12px 38px rgba(19,82,153,.11)}
.generics-copilot-hero-form input{min-width:0;min-height:2.9rem;padding:.65rem .76rem;border:0;outline:0;background:transparent;color:var(--gcp-ink);font:inherit;font-size:.9rem}
.generics-copilot-hero-form input::placeholder{color:var(--gcp-muted)}
.generics-copilot-hero-form button{min-width:3rem;min-height:2.9rem;padding:0 .95rem;border:0;border-radius:.76rem;background:linear-gradient(135deg,var(--gcp-brand),var(--gcp-brand-deep));color:#fff;cursor:pointer;font:inherit;font-weight:800}

.generics-copilot-launcher{position:fixed;right:max(1.1rem,env(safe-area-inset-right));bottom:max(1.1rem,env(safe-area-inset-bottom));z-index:920;display:inline-flex;align-items:center;gap:.58rem;min-height:3.2rem;padding:.5rem .86rem .5rem .56rem;border:1px solid color-mix(in srgb,var(--gcp-brand) 28%,transparent);border-radius:999px;background:linear-gradient(135deg,var(--gcp-brand),var(--gcp-brand-deep));color:#fff;box-shadow:0 14px 42px rgba(18,104,232,.3);cursor:pointer;font:inherit;font-size:.82rem;font-weight:800;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}
.generics-copilot-launcher:hover{transform:translateY(-2px);box-shadow:0 18px 50px rgba(18,104,232,.36)}
.generics-copilot-launcher:focus-visible{outline:3px solid color-mix(in srgb,var(--gcp-brand) 34%,transparent);outline-offset:3px}
.generics-copilot-launcher[aria-expanded="true"]{opacity:0;pointer-events:none;transform:translateY(8px)}
.generics-copilot-launcher-mark{display:grid;place-items:center;width:2.15rem;height:2.15rem;border-radius:50%;background:rgba(255,255,255,.15);font-size:.88rem;font-weight:900}

.generics-copilot-backdrop{position:fixed;inset:0;z-index:925;border:0;background:rgba(5,18,38,.16);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .18s ease}
.generics-copilot-backdrop.show{opacity:1;pointer-events:auto}

.generics-copilot-panel{position:fixed;right:max(1.1rem,env(safe-area-inset-right));bottom:max(1.1rem,env(safe-area-inset-bottom));z-index:930;width:min(438px,calc(100vw - 2.2rem));height:min(700px,calc(100dvh - 2.2rem));min-height:490px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--gcp-line);border-radius:1.35rem;background:var(--gcp-bg);color:var(--gcp-ink);box-shadow:var(--gcp-shadow);opacity:0;pointer-events:none;transform:translateY(14px) scale(.985);transform-origin:right bottom;transition:opacity .18s ease,transform .18s ease}
.generics-copilot-panel.open{opacity:1;pointer-events:auto;transform:none}

.generics-copilot-head{display:flex;align-items:center;gap:.72rem;padding:.82rem .88rem;border-bottom:1px solid var(--gcp-line);background:var(--gcp-surface)}
.generics-copilot-brandmark{display:grid;place-items:center;width:2.42rem;height:2.42rem;flex:0 0 2.42rem;border-radius:.78rem;background:linear-gradient(145deg,var(--gcp-brand),var(--gcp-brand-deep));color:#fff;font-weight:900;font-size:.78rem;letter-spacing:-.02em}
.generics-copilot-headcopy{min-width:0;flex:1}
.generics-copilot-titleline{display:flex;align-items:center;gap:.42rem;min-width:0}
.generics-copilot-titleline strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.91rem;letter-spacing:-.012em}
.generics-copilot-free{display:inline-flex;align-items:center;min-height:1.22rem;padding:0 .38rem;border-radius:999px;background:color-mix(in srgb,var(--gcp-aqua) 13%,transparent);color:var(--gcp-aqua);font-size:.56rem;font-weight:900;letter-spacing:.06em}
.generics-copilot-headcopy>small{display:block;margin-top:.08rem;color:var(--gcp-muted);font-size:.66rem}
.generics-copilot-presence{display:flex;align-items:center;gap:.33rem;margin-top:.25rem;color:var(--gcp-muted);font-size:.63rem}
.generics-copilot-presence i{width:.42rem;height:.42rem;border-radius:50%;background:#d59b32;box-shadow:0 0 0 3px color-mix(in srgb,#d59b32 10%,transparent)}
.generics-copilot-presence i.ok{background:#25a26f;box-shadow:0 0 0 3px color-mix(in srgb,#25a26f 11%,transparent)}
.generics-copilot-presence i.bad{background:#d55763;box-shadow:0 0 0 3px color-mix(in srgb,#d55763 11%,transparent)}
.generics-copilot-actions{display:flex;align-items:center;gap:.24rem}
.generics-copilot-new,.generics-copilot-iconbtn{border:0;background:transparent;color:var(--gcp-muted);cursor:pointer;font:inherit}
.generics-copilot-new{display:inline-flex;align-items:center;gap:.28rem;min-height:2.12rem;padding:0 .55rem;border-radius:.64rem;font-size:.65rem;font-weight:750}
.generics-copilot-new:hover,.generics-copilot-iconbtn:hover{background:var(--gcp-surface-2);color:var(--gcp-ink)}
.generics-copilot-iconbtn{display:grid;place-items:center;width:2.12rem;height:2.12rem;border-radius:.64rem;font-size:1.06rem}

.generics-copilot-messages{position:relative;min-height:0;overflow-y:auto;padding:1rem .9rem 1.2rem;overscroll-behavior:contain;scrollbar-width:thin}
.generics-copilot-welcome{padding:.3rem .12rem .9rem;text-align:left}
.generics-copilot-welcome-mark{display:grid;place-items:center;width:2.7rem;height:2.7rem;margin-bottom:.72rem;border-radius:.88rem;background:var(--gcp-surface-2);color:var(--gcp-brand);font-weight:900}
.generics-copilot-eyebrow{display:block;margin-bottom:.34rem;color:var(--gcp-brand);font-size:.6rem;font-weight:900;letter-spacing:.08em}
.generics-copilot-welcome h2{margin:0;font-size:1.14rem;letter-spacing:-.028em}
.generics-copilot-welcome p{margin:.48rem 0 .8rem;color:var(--gcp-muted);font-size:.77rem;line-height:1.55}
.generics-copilot-suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.42rem}
.generics-copilot-suggestions button{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:0;padding:.68rem .7rem;border:1px solid var(--gcp-line);border-radius:.78rem;background:var(--gcp-surface);color:var(--gcp-ink);text-align:left;cursor:pointer;font:inherit;font-size:.7rem;line-height:1.35}
.generics-copilot-suggestions button:hover{border-color:color-mix(in srgb,var(--gcp-brand) 36%,transparent);background:var(--gcp-surface-2)}
.generics-copilot-suggestions b{color:var(--gcp-brand);font-size:.75rem}

.generics-copilot-message{margin:0 0 .92rem}
.generics-copilot-message.user{display:flex;justify-content:flex-end}
.generics-copilot-userbubble{max-width:84%;padding:.64rem .75rem .48rem;border-radius:1rem 1rem .3rem 1rem;background:var(--gcp-user);color:#fff;font-size:.8rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.generics-copilot-userbubble time{display:block;margin-top:.28rem;color:rgba(255,255,255,.65);font-size:.54rem;text-align:right;opacity:0;transition:opacity .15s ease}
.generics-copilot-userbubble:hover time,.generics-copilot-userbubble:focus-within time{opacity:1}
.generics-copilot-assistant{display:grid;grid-template-columns:1.78rem minmax(0,1fr);gap:.54rem;align-items:start}
.generics-copilot-assistantmark{display:grid;place-items:center;width:1.78rem;height:1.78rem;border-radius:.56rem;background:var(--gcp-surface-2);color:var(--gcp-brand);font-size:.63rem;font-weight:900}
.generics-copilot-assistantbody{min-width:0;padding-top:.04rem}
.generics-copilot-assistanttext{font-size:.8rem;line-height:1.62;color:var(--gcp-ink);white-space:pre-wrap;overflow-wrap:anywhere}
.generics-copilot-assistantbody>time{display:block;margin-top:.26rem;color:var(--gcp-muted);font-size:.54rem;opacity:.55}
.generics-copilot-thinking{display:inline-flex;align-items:center;gap:.22rem;color:var(--gcp-muted);font-size:.73rem}
.generics-copilot-thinking i{width:.3rem;height:.3rem;border-radius:50%;background:currentColor;animation:gcpPulse 1.1s ease-in-out infinite}
.generics-copilot-thinking i:nth-child(2){animation-delay:.12s}.generics-copilot-thinking i:nth-child(3){animation-delay:.24s}
.generics-copilot-thinking em{margin-left:.16rem;font-style:normal}
@keyframes gcpPulse{0%,80%,100%{opacity:.24;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}
.generics-copilot-response-actions{display:flex;align-items:center;gap:.2rem;margin-top:.42rem}
.generics-copilot-response-actions button{min-height:1.72rem;padding:0 .42rem;border:0;border-radius:.5rem;background:transparent;color:var(--gcp-muted);cursor:pointer;font:inherit;font-size:.59rem}
.generics-copilot-response-actions button:hover,.generics-copilot-response-actions button.active{background:var(--gcp-surface-2);color:var(--gcp-brand)}

.generics-copilot-card{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.58rem;margin:.18rem 0 .9rem 2.32rem;padding:.68rem .7rem;border:1px solid color-mix(in srgb,var(--gcp-brand) 18%,var(--gcp-line));border-radius:.8rem;background:var(--gcp-surface)}
.generics-copilot-card-icon{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.62rem;background:color-mix(in srgb,var(--gcp-brand) 10%,transparent);color:var(--gcp-brand);font-size:.75rem}
.generics-copilot-card small{display:block;margin-bottom:.18rem;color:var(--gcp-brand);font-size:.55rem;font-weight:900;letter-spacing:.065em}
.generics-copilot-card strong{display:block;font-size:.75rem}
.generics-copilot-card p{margin:.26rem 0 0;color:var(--gcp-muted);font-size:.65rem;line-height:1.45}
.generics-copilot-card a{display:inline-flex;align-items:center;gap:.28rem;margin-top:.46rem;color:var(--gcp-brand);font-size:.65rem;font-weight:850;text-decoration:none}
.generics-copilot-inline-error{margin:0 0 .8rem 2.32rem;padding:.6rem .66rem;border:1px solid color-mix(in srgb,#d55763 26%,var(--gcp-line));border-radius:.7rem;background:color-mix(in srgb,#d55763 7%,var(--gcp-surface));color:#b63e4d;font-size:.69rem;line-height:1.45}

.generics-copilot-latest{position:absolute;right:1.05rem;bottom:5.65rem;z-index:4;padding:.4rem .62rem;border:1px solid var(--gcp-line);border-radius:999px;background:var(--gcp-surface);color:var(--gcp-brand);box-shadow:0 8px 22px rgba(16,35,61,.12);cursor:pointer;font:inherit;font-size:.62rem;font-weight:800}
.generics-copilot-composerarea{padding:.7rem .76rem max(.76rem,env(safe-area-inset-bottom));border-top:1px solid var(--gcp-line);background:var(--gcp-surface)}
.generics-copilot-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.4rem;padding:.4rem;border:1px solid var(--gcp-line);border-radius:.9rem;background:var(--gcp-bg)}
.generics-copilot-composer:focus-within{border-color:color-mix(in srgb,var(--gcp-brand) 46%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--gcp-brand) 9%,transparent)}
.generics-copilot-composer textarea{width:100%;min-height:2.35rem;max-height:7.2rem;resize:none;padding:.55rem .56rem;border:0;outline:0;background:transparent;color:var(--gcp-ink);font:inherit;font-size:.8rem;line-height:1.4}
.generics-copilot-composer textarea::placeholder{color:var(--gcp-muted)}
.generics-copilot-send{display:grid;place-items:center;width:2.45rem;height:2.45rem;border:0;border-radius:.7rem;background:linear-gradient(135deg,var(--gcp-brand),var(--gcp-brand-deep));color:#fff;cursor:pointer;font-size:1rem;font-weight:900}
.generics-copilot-send.stop{background:#b84d59;font-size:.72rem}
.generics-copilot-composermeta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:.34rem .12rem 0;color:var(--gcp-muted);font-size:.55rem}
.generics-copilot-composerarea>p{margin:.3rem .16rem 0;color:var(--gcp-muted);font-size:.55rem;line-height:1.35;text-align:center}

body.generics-copilot-open{overflow:hidden}

@media(max-width:700px){
  .generics-copilot-hero{margin-top:.78rem}
  .generics-copilot-hero-label span:last-child{display:none}
  .generics-copilot-hero-form button span{display:none}
  .generics-copilot-hero-form button{min-width:2.9rem;padding:0}
  .generics-copilot-launcher{right:.78rem;bottom:calc(5.4rem + env(safe-area-inset-bottom));min-height:3rem;padding-right:.64rem}
  .generics-copilot-launcher>span:last-child{display:none}
  .generics-copilot-panel{inset:auto .38rem calc(.38rem + env(safe-area-inset-bottom)) .38rem;width:auto;height:min(86dvh,760px);min-height:470px;border-radius:1.15rem;transform-origin:center bottom}
  .generics-copilot-backdrop{background:rgba(5,18,38,.38);backdrop-filter:blur(4px)}
  .generics-copilot-new span{display:none}
  .generics-copilot-new{width:2.12rem;padding:0;justify-content:center}
  .generics-copilot-suggestions{grid-template-columns:1fr}
  .generics-copilot-composermeta span:first-child{display:none}
}
@media(max-width:420px){
  .generics-copilot-head{padding:.72rem .7rem}
  .generics-copilot-brandmark{width:2.25rem;height:2.25rem;flex-basis:2.25rem}
  .generics-copilot-titleline strong{font-size:.84rem}
  .generics-copilot-messages{padding:.86rem .72rem 1rem}
  .generics-copilot-card{margin-left:0}
  .generics-copilot-assistant{grid-template-columns:1.65rem minmax(0,1fr)}
  .generics-copilot-assistantmark{width:1.65rem;height:1.65rem}
}
@media(prefers-reduced-motion:reduce){
  .generics-copilot-launcher,.generics-copilot-panel,.generics-copilot-backdrop{transition:none}
  .generics-copilot-thinking i{animation:none}
}
