/* FieldBase FORGE AI Shell UI - rev 1.6.8.4.33
   Standalone, mobile-first modal/chat shell. Does not alter existing FORGE page. */
:root{
  --forge-shell-bg:#07111f;
  --forge-shell-panel:rgba(12,22,39,.94);
  --forge-shell-panel-2:rgba(18,31,52,.88);
  --forge-shell-text:#eef6ff;
  --forge-shell-muted:#a9bad0;
  --forge-shell-line:rgba(120,170,255,.26);
  --forge-shell-glow:rgba(72,140,255,.38);
  --forge-shell-accent:#51a7ff;
  --forge-shell-accent-2:#76f0d0;
  --forge-shell-danger:#ff6b87;
  --forge-shell-shadow:0 24px 80px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.12);
}
html.forge-shell-lock,
body.forge-shell-lock{overflow:hidden!important;}
.forge-shell-launcher{
  border:0;border-radius:999px;padding:.82rem 1.08rem;font-weight:900;letter-spacing:.02em;
  color:#06101f;background:linear-gradient(135deg,#85f5dc,#59aaff 48%,#b99cff);
  box-shadow:0 14px 34px rgba(50,126,255,.24);cursor:pointer;touch-action:manipulation;
}
.forge-shell-root{position:fixed;inset:0;z-index:99999;display:none;isolation:isolate;color:var(--forge-shell-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.forge-shell-root.is-open{display:block;}
.forge-shell-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 18% 8%,rgba(86,169,255,.34),transparent 33%),radial-gradient(circle at 82% 18%,rgba(120,240,210,.16),transparent 28%),rgba(2,7,15,.78);backdrop-filter:blur(16px);}
.forge-shell-frame{position:absolute;inset:clamp(10px,2vw,24px);display:grid;grid-template-rows:auto 1fr auto;border:1px solid var(--forge-shell-line);border-radius:28px;background:linear-gradient(145deg,rgba(8,15,27,.98),rgba(17,31,53,.96));box-shadow:var(--forge-shell-shadow);overflow:hidden;}
.forge-shell-frame:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.12),transparent 28%,transparent 72%,rgba(118,240,208,.08));mix-blend-mode:screen;}
.forge-shell-topbar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,2vw,1.35rem);border-bottom:1px solid var(--forge-shell-line);background:rgba(5,12,23,.72);}
.forge-shell-brand{display:flex;align-items:center;gap:.9rem;min-width:0;}
.forge-shell-orb{width:46px;height:46px;border-radius:16px;background:linear-gradient(145deg,#59aaff,#78f0d2 52%,#b99cff);box-shadow:0 0 28px rgba(81,167,255,.42),inset 0 1px 0 rgba(255,255,255,.45);position:relative;flex:0 0 auto;}
.forge-shell-orb:after{content:"";position:absolute;inset:9px;border-radius:12px;border:1px solid rgba(5,12,23,.38);background:rgba(255,255,255,.18);}
.forge-shell-title{min-width:0;}
.forge-shell-title strong{display:block;font-size:clamp(1.02rem,2vw,1.35rem);line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.forge-shell-title span{display:block;color:var(--forge-shell-muted);font-size:.82rem;margin-top:.16rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.forge-shell-top-actions{display:flex;align-items:center;gap:.55rem;}
.forge-shell-chip,.forge-shell-icon-btn{border:1px solid var(--forge-shell-line);background:rgba(255,255,255,.06);color:var(--forge-shell-text);border-radius:999px;min-height:38px;padding:.48rem .72rem;font-weight:800;cursor:pointer;}
.forge-shell-icon-btn{min-width:40px;display:grid;place-items:center;font-size:1.1rem;}
.forge-shell-chip:hover,.forge-shell-icon-btn:hover{border-color:rgba(118,240,208,.7);box-shadow:0 0 0 3px rgba(118,240,208,.12);}
.forge-shell-body{position:relative;z-index:2;display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);min-height:0;}
.forge-shell-rail{border-right:1px solid var(--forge-shell-line);background:rgba(6,13,24,.52);padding:1rem;overflow:auto;}
.forge-shell-rail-card{border:1px solid var(--forge-shell-line);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.03));padding:1rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.08);margin-bottom:.9rem;}
.forge-shell-rail-card h3{margin:0 0 .4rem;font-size:.94rem;}
.forge-shell-rail-card p{margin:0;color:var(--forge-shell-muted);font-size:.82rem;line-height:1.45;}
.forge-shell-mode-list{display:grid;gap:.55rem;margin-top:.75rem;}
.forge-shell-mode{border:1px solid rgba(255,255,255,.11);border-radius:16px;background:rgba(255,255,255,.045);color:var(--forge-shell-text);padding:.78rem;text-align:left;cursor:pointer;}
.forge-shell-mode strong{display:block;font-size:.88rem;}
.forge-shell-mode span{display:block;color:var(--forge-shell-muted);font-size:.76rem;margin-top:.14rem;}
.forge-shell-mode.is-active{border-color:rgba(118,240,208,.75);background:linear-gradient(135deg,rgba(81,167,255,.2),rgba(118,240,208,.12));}
.forge-shell-main{min-width:0;display:grid;grid-template-rows:1fr auto;background:radial-gradient(circle at 78% 4%,rgba(81,167,255,.14),transparent 32%);}
.forge-shell-messages{padding:1.15rem;overflow:auto;display:flex;flex-direction:column;gap:.85rem;scroll-behavior:smooth;}
.forge-shell-message{max-width:min(780px,92%);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:.88rem 1rem;background:rgba(255,255,255,.065);box-shadow:0 12px 28px rgba(0,0,0,.16);line-height:1.5;overflow-wrap:anywhere;}
.forge-shell-message.assistant{align-self:flex-start;border-top-left-radius:9px;background:linear-gradient(145deg,rgba(81,167,255,.16),rgba(255,255,255,.055));}
.forge-shell-message.user{align-self:flex-end;border-top-right-radius:9px;background:linear-gradient(145deg,rgba(118,240,208,.18),rgba(255,255,255,.06));}
.forge-shell-message.system{align-self:center;max-width:760px;text-align:center;background:rgba(255,255,255,.045);border-style:dashed;color:var(--forge-shell-muted);}
.forge-shell-message strong{display:block;margin-bottom:.24rem;color:#fff;}
.forge-shell-message p{margin:.25rem 0 0;}
.forge-shell-compose{border-top:1px solid var(--forge-shell-line);padding:.8rem;background:rgba(5,12,23,.78);display:grid;gap:.65rem;}
.forge-shell-quickbar{display:flex;gap:.5rem;overflow:auto;padding-bottom:.05rem;}
.forge-shell-quickbar button{white-space:nowrap;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.06);color:var(--forge-shell-text);border-radius:999px;padding:.48rem .75rem;font-weight:800;cursor:pointer;}
.forge-shell-input-row{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:end;}
.forge-shell-input{min-height:54px;max-height:140px;resize:vertical;border:1px solid var(--forge-shell-line);border-radius:18px;background:rgba(255,255,255,.08);color:var(--forge-shell-text);padding:.85rem 1rem;font:inherit;outline:none;}
.forge-shell-input:focus{border-color:rgba(118,240,208,.8);box-shadow:0 0 0 4px rgba(118,240,208,.12);}
.forge-shell-send{border:0;border-radius:18px;min-height:54px;padding:0 1.1rem;font-weight:950;color:#04101f;background:linear-gradient(135deg,#78f0d2,#59aaff);cursor:pointer;box-shadow:0 14px 28px rgba(81,167,255,.22);}
.forge-shell-send:disabled{opacity:.6;cursor:not-allowed;}
.forge-shell-status{font-size:.78rem;color:var(--forge-shell-muted);padding:0 .2rem;min-height:1rem;}
.forge-shell-route-pill{display:inline-flex;align-items:center;gap:.4rem;border-radius:999px;border:1px solid rgba(118,240,208,.25);background:rgba(118,240,208,.08);padding:.3rem .55rem;font-size:.74rem;font-weight:900;color:#dffdf5;}
.forge-shell-mini-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.65rem;}
.forge-shell-mini-actions button{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.075);color:var(--forge-shell-text);border-radius:999px;padding:.42rem .62rem;font-weight:850;cursor:pointer;}
@media (max-width: 860px){
  .forge-shell-frame{inset:0;border-radius:0;border-left:0;border-right:0;}
  .forge-shell-topbar{padding:.72rem .78rem;}
  .forge-shell-orb{width:40px;height:40px;border-radius:14px;}
  .forge-shell-title strong{font-size:1rem;}
  .forge-shell-title span{font-size:.74rem;}
  .forge-shell-chip{display:none;}
  .forge-shell-body{grid-template-columns:1fr;}
  .forge-shell-rail{display:none;}
  .forge-shell-messages{padding:.8rem .7rem 1rem;}
  .forge-shell-message{max-width:94%;border-radius:18px;padding:.78rem .82rem;font-size:.94rem;}
  .forge-shell-compose{padding:.65rem .62rem calc(.72rem + env(safe-area-inset-bottom));}
  .forge-shell-quickbar{gap:.42rem;}
  .forge-shell-quickbar button{font-size:.78rem;padding:.44rem .62rem;}
  .forge-shell-input-row{grid-template-columns:1fr auto;gap:.45rem;}
  .forge-shell-input{min-height:48px;border-radius:16px;padding:.72rem .78rem;font-size:.95rem;}
  .forge-shell-send{min-height:48px;border-radius:16px;padding:0 .9rem;}
}
@media (prefers-reduced-motion: no-preference){
  .forge-shell-root.is-open .forge-shell-frame{animation:forgeShellEnter .22s ease-out both;}
  .forge-shell-root.is-open .forge-shell-backdrop{animation:forgeBackdrop .18s ease-out both;}
  .forge-shell-message{animation:forgeMessageIn .18s ease-out both;}
  @keyframes forgeShellEnter{from{transform:translateY(12px) scale(.985);opacity:.65}to{transform:translateY(0) scale(1);opacity:1}}
  @keyframes forgeBackdrop{from{opacity:0}to{opacity:1}}
  @keyframes forgeMessageIn{from{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}
}
[data-theme="light"] .forge-shell-root,
body.light .forge-shell-root{--forge-shell-bg:#f3f7ff;--forge-shell-panel:rgba(255,255,255,.96);--forge-shell-panel-2:rgba(242,248,255,.94);--forge-shell-text:#122033;--forge-shell-muted:#596a80;--forge-shell-line:rgba(33,96,170,.18);--forge-shell-glow:rgba(55,130,240,.24);}
[data-theme="light"] .forge-shell-frame,
body.light .forge-shell-frame{background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(236,245,255,.96));}
[data-theme="light"] .forge-shell-message strong,
body.light .forge-shell-message strong{color:#0f223b;}
[data-theme="light"] .forge-shell-topbar,
body.light .forge-shell-topbar,[data-theme="light"] .forge-shell-compose,body.light .forge-shell-compose{background:rgba(255,255,255,.78);}


/* Patch 1.6.8.4.33: FORGE V2 dev lab countdown. */
.forge-lab-countdown strong,
.forge-shell-rail-card [data-forge-launch-countdown] {
  display: block;
  margin-top: 0.35rem;
  color: #ffffff;
  font-weight: 950;
}

/* Patch 1.6.8.4.46: FORGE V2 Dev Trainer Session Foundation. */
.forge-shell-json {
  margin: .75rem 0 0;
  max-height: 320px;
  overflow: auto;
  white-space: pre-wrap;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background: rgba(0,0,0,.22);
  padding: .75rem;
  color: #dcecff;
  font: 12px/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.forge-shell-message.system .forge-shell-json { text-align: left; }

/* Patch 1.6.8.4.46: FORGE V2 shell scroll stability guard.
   Keeps the chat inside the viewport on mobile/desktop and prevents the compose bar
   from pushing the message stream below the visible screen. V2 shell only. */
html.forge-shell-lock,
body.forge-shell-lock {
  width: 100%;
  height: 100%;
  overscroll-behavior: none;
}
.forge-shell-root {
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  max-height: 100dvh;
  overflow: hidden;
}
.forge-shell-frame {
  max-height: calc(100dvh - clamp(20px,4vw,48px));
  min-height: 0;
  grid-template-rows: auto minmax(0,1fr);
}
.forge-shell-body,
.forge-shell-main,
.forge-shell-messages {
  min-height: 0;
}
.forge-shell-main {
  height: 100%;
  max-height: 100%;
  overflow: hidden;
  grid-template-rows: minmax(0,1fr) auto;
}
.forge-shell-messages {
  height: 100%;
  max-height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 1rem;
}
.forge-shell-compose {
  flex: 0 0 auto;
  min-height: 0;
}
.forge-shell-input {
  overflow-y: auto;
}
@media (max-width: 860px) {
  html,
  body {
    min-height: 100%;
  }
  .forge-shell-root {
    height: 100svh;
    height: 100dvh;
  }
  .forge-shell-frame {
    inset: 0;
    height: 100svh;
    height: 100dvh;
    max-height: 100dvh;
    border-radius: 0;
    grid-template-rows: auto minmax(0,1fr);
  }
  .forge-shell-body {
    height: 100%;
    overflow: hidden;
  }
  .forge-shell-messages {
    padding-bottom: 1.15rem;
  }
  .forge-shell-compose {
    padding-bottom: calc(.72rem + env(safe-area-inset-bottom, 0px));
  }
}

/* Patch 1.6.8.4.46: V2 session scope switching guard. */
.forge-shell-message p{
  white-space:pre-wrap;
}
.forge-shell-message.assistant p{
  line-height:1.55;
}
