#gideonHost{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:48;
}

#gideonSidebarMount{
  display:none;
}

.gideon-shell{
  pointer-events:auto;
  color:var(--text);
}

.gideon-shell *{
  box-sizing:border-box;
}

.gideon-shell.is-desktop{
  position:fixed;
  z-index:48;
}

.gideon-shell.is-desktop.is-collapsed{
  width:192px;
}

.gideon-shell.is-desktop.is-expanded{
  width:286px;
  height:486px;
}

.gideon-desktop-tab{
  width:192px;
  min-height:192px;
  border:1px solid rgba(134,242,255,.30);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(13,19,34,.97),rgba(8,12,22,.97)),radial-gradient(circle at top,rgba(134,242,255,.16),transparent 60%);
  box-shadow:0 18px 38px rgba(0,0,0,.48),0 0 22px rgba(134,242,255,.10),inset 0 1px 0 rgba(255,255,255,.06);
  overflow:hidden;
}

.gideon-desktop-tab-button{
  width:100%;
  min-height:192px;
  border:none;
  background:transparent;
  color:inherit;
  cursor:pointer;
  display:grid;
  gap:14px;
  justify-items:center;
  padding:16px 14px 15px;
}

.gideon-tab-meta{
  display:grid;
  gap:4px;
  justify-items:center;
}

.gideon-tab-label,
.gideon-tab-status,
.gideon-ident,
.gideon-bubble-title,
.gideon-input,
.gideon-input-prompt,
.gideon-suggestion,
.gideon-send,
.gideon-sidebar-label,
.gideon-caption{
  font-family:var(--mono);
}

.gideon-tab-label{
  font-size:14px;
  letter-spacing:.52px;
  color:rgba(217,226,255,.88);
  text-transform:uppercase;
}

.gideon-tab-status{
  font-size:11px;
  letter-spacing:.38px;
  color:var(--accent2);
}

.gideon-tab-portrait,
.gideon-projection{
  --gideon-tilt-x:0deg;
  --gideon-tilt-y:0deg;
  --gideon-depth:0px;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:linear-gradient(180deg,#0a111a,#04070b);
}

.gideon-tab-portrait{
  width:66px;
  height:82px;
  border-radius:18px;
  border:1px solid rgba(134,242,255,.22);
  box-shadow:inset 0 0 20px rgba(134,242,255,.08),0 0 12px rgba(134,242,255,.06);
}

.gideon-shell.is-desktop.is-collapsed .gideon-tab-portrait{
  width:126px;
  height:136px;
  border-radius:28px;
  border-color:rgba(134,242,255,.24);
  box-shadow:inset 0 0 28px rgba(134,242,255,.10),0 0 18px rgba(134,242,255,.08);
}

.gideon-projection{
  min-height:clamp(152px, calc(var(--gideon-panel-height, 486px) * .31), 216px);
  border-radius:16px;
  border:1px solid rgba(134,242,255,.16);
  box-shadow:inset 0 0 24px rgba(134,242,255,.08),0 0 14px rgba(134,242,255,.04);
}

.gideon-portrait-stage,
.gideon-projection-stage{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  transform-style:preserve-3d;
  perspective:1000px;
  z-index:1;
}

.gideon-oscilloscope{
  position:absolute;
  inset:-4%;
  z-index:0;
  pointer-events:none;
}

.gideon-oscilloscope::before,
.gideon-oscilloscope::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}

.gideon-oscilloscope::before{
  background-image:url('oscilloscope.gif');
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
  opacity:.18;
  mix-blend-mode:screen;
  filter:grayscale(1) contrast(1.15) brightness(.72) saturate(.7) blur(.2px);
}

.gideon-oscilloscope::after{
  background:var(--accent);
  opacity:.34;
  mix-blend-mode:color;
}

.gideon-tab-portrait img,
.gideon-projection img{
  position:absolute;
  inset:0;
  z-index:2;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center 42%;
  filter:grayscale(1) brightness(1.2) contrast(1.3);
  mix-blend-mode:screen;
  opacity:.95;
  transform:perspective(780px) rotateX(var(--gideon-tilt-x)) rotateY(var(--gideon-tilt-y)) translateZ(var(--gideon-depth)) scale(1.02);
  transform-origin:center 38%;
  transition:transform .14s ease-out, filter .18s ease-out;
}

.gideon-shell.is-desktop.is-collapsed .gideon-tab-portrait img{
  object-position:center 39%;
  transform:perspective(780px) rotateX(var(--gideon-tilt-x)) rotateY(var(--gideon-tilt-y)) translateZ(var(--gideon-depth)) scale(1.04);
}

.gideon-shell.is-desktop.is-expanded .gideon-projection img{
  object-position:center 34%;
}

.gideon-shell.is-mobile .gideon-projection img{
  object-position:center 42%;
}

.gideon-crt-glow,
.gideon-crt-scanlines,
.gideon-crt-sweep,
.gideon-crt-noise,
.gideon-shell.is-thinking .gideon-crt-sweep,
.gideon-shell.is-responding .gideon-crt-sweep{
  opacity:.72;
}

.gideon-shell.is-responding .gideon-projection,
.gideon-shell.is-responding .gideon-tab-portrait{
  box-shadow:inset 0 0 28px rgba(134,242,255,.11),0 0 18px rgba(134,242,255,.08);
}

.gideon-frame{
  position:relative;
  height:100%;
  display:grid;
  grid-template-rows:auto 1fr;
  border:1px solid rgba(134,242,255,.26);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(13,19,34,.97),rgba(8,12,22,.97)),radial-gradient(circle at top,rgba(134,242,255,.14),transparent 58%);
  box-shadow:0 16px 38px rgba(0,0,0,.48),0 0 20px rgba(134,242,255,.08),inset 0 1px 0 rgba(255,255,255,.05);
  overflow:hidden;
  backdrop-filter:blur(10px);
}

.gideon-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:10px 11px;
  border-bottom:1px solid rgba(134,242,255,.16);
  background:linear-gradient(180deg,rgba(134,242,255,.10),rgba(0,0,0,0));
}

.gideon-header.is-draggable{ cursor:grab; }
.gideon-shell.is-desktop.is-expanded.is-dragging .gideon-header{ cursor:grabbing; }
.gideon-shell.is-desktop.is-expanded.is-resizing .gideon-header{ cursor:default; }

.gideon-ident{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:11px;
  letter-spacing:.55px;
  color:var(--accent2);
  text-transform:uppercase;
}

.gideon-status{
  color:rgba(217,226,255,.74);
  font-size:10px;
}

.gideon-toggle,
.gideon-send,
.gideon-suggestion,
.gideon-sidebar-toggle{
  border:1px solid rgba(134,242,255,.24);
  background:rgba(0,0,0,.26);
  color:var(--text);
  cursor:pointer;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.gideon-toggle:hover,
.gideon-send:hover,
.gideon-suggestion:hover,
.gideon-sidebar-toggle:hover{
  border-color:rgba(134,242,255,.45);
  box-shadow:0 0 0 2px rgba(134,242,255,.10);
}

.gideon-toggle{
  width:23px;
  height:23px;
  border-radius:7px;
  font-size:14px;
  line-height:1;
  padding:0;
}

.gideon-body{
  min-height:0;
  display:grid;
  grid-template-rows:auto 1fr;
  gap:10px;
  padding:10px;
  overflow:auto;
}

.gideon-projection-wrap,
.gideon-chat-shell{
  display:grid;
  gap:8px;
}

.gideon-chat-shell{
  align-content:start;
}

.gideon-caption{
  text-align:center;
  font-size:9px;
  letter-spacing:.45px;
  color:rgba(217,226,255,.62);
  text-transform:uppercase;
}

.gideon-bubble{
  position:relative;
  border-radius:14px;
  padding:10px 11px;
  border:1px solid rgba(134,242,255,.14);
  background:rgba(4,10,18,.84);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.gideon-bubble::after{
  content:"";
  position:absolute;
  width:12px;
  height:12px;
  background:inherit;
  border:inherit;
  transform:rotate(45deg);
}

.gideon-bubble-assistant::after{ left:18px; bottom:-7px; border-top:none; border-left:none; }
.gideon-bubble-user{ background:rgba(0,0,0,.24); border-color:rgba(255,255,255,.10); }
.gideon-bubble-user::after{ right:18px; top:-7px; border-right:none; border-bottom:none; }

.gideon-bubble-title{
  margin-bottom:7px;
  color:var(--accent2);
  font-size:11px;
  letter-spacing:.45px;
}

.gideon-bubble-body{
  min-height:48px;
  font-size:13px;
  line-height:1.58;
  color:var(--text);
}

.gideon-bubble-hint{
  margin-top:8px;
  color:rgba(217,226,255,.54);
  font-family:var(--mono);
  font-size:9px;
  letter-spacing:.38px;
}

.gideon-input{
  width:100%;
  min-height:48px;
  border:none;
  outline:none;
  resize:none;
  background:transparent;
  color:var(--text);
  font-size:12px;
  line-height:1.5;
}

.gideon-input::placeholder{ color:rgba(217,226,255,.42); }

.gideon-input-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:8px;
}

.gideon-input-prompt{
  font-size:9px;
  letter-spacing:.42px;
  color:rgba(217,226,255,.58);
  text-transform:uppercase;
}

.gideon-send{ border-radius:999px; padding:6px 11px; font-size:10px; }

.gideon-suggestions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.gideon-suggestion{
  border-radius:999px;
  padding:5px 9px;
  font-size:10px;
  letter-spacing:.24px;
  color:var(--muted);
}

.gideon-resize-handle{
  position:absolute;
  right:7px;
  bottom:7px;
  width:18px;
  height:18px;
  border:none;
  padding:0;
  background:transparent;
  cursor:nwse-resize;
}

.gideon-resize-handle::before,
.gideon-resize-handle::after{
  content:"";
  position:absolute;
  right:1px;
  bottom:1px;
  border-right:1px solid rgba(134,242,255,.42);
  border-bottom:1px solid rgba(134,242,255,.42);
}

.gideon-resize-handle::before{ width:14px; height:14px; }
.gideon-resize-handle::after{ width:9px; height:9px; right:4px; bottom:4px; }

.gideon-sidebar-card{
  margin-top:12px;
  border:1px solid rgba(134,242,255,.18);
  border-radius:12px;
  background:rgba(0,0,0,.18);
  overflow:hidden;
}

.gideon-sidebar-toggle{
  width:100%;
  padding:10px 12px;
  border:none;
  border-radius:0;
  background:linear-gradient(180deg,rgba(0,194,255,.08),rgba(0,0,0,.06));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.gideon-sidebar-card.is-open .gideon-sidebar-toggle{ border-bottom:1px solid rgba(134,242,255,.14); }

.gideon-sidebar-label{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:11px;
  letter-spacing:.4px;
  color:var(--accent2);
  text-transform:uppercase;
}

.gideon-sidebar-chevron{ color:rgba(217,226,255,.72); font-size:11px; }
.gideon-sidebar-body{ padding:8px; }

@keyframes gideonPreviewDrift{
  from { transform: translateY(0); }
  to { transform: translateY(20px); }
}

@keyframes gideonPreviewSweep{
  0% { transform: translateY(-100%); opacity: 0.2; }
  50% { opacity: 0.7; }
  100% { transform: translateY(120%); opacity: 0.2; }
}

@keyframes gideonPreviewFlicker{
  0% { opacity: 0.06; }
  50% { opacity: 0.10; }
  100% { opacity: 0.07; }
}

@media (max-width:860px){
  #gideonHost{ display:none; }
  #gideonSidebarMount{ display:block; }
  .gideon-shell.is-mobile{ position:static; width:100%; }
  .gideon-sidebar-card{ width:100%; }
  .gideon-frame{ border-radius:14px; }
  .gideon-body,
  .gideon-sidebar-body{ padding:8px; }
  .gideon-projection{ min-height:150px; }
  .gideon-shell.is-mobile .gideon-projection img{ object-position:center 42%; }
  .gideon-bubble-body{ min-height:42px; font-size:12px; }
  .gideon-input{ font-size:12px; }
  .gideon-resize-handle{ display:none; }
}

@media (max-width:420px){
  .gideon-sidebar-toggle{ padding:9px 10px; }
  .gideon-sidebar-label{ font-size:10px; }
  .gideon-projection{ min-height:138px; }
  .gideon-shell.is-mobile .gideon-projection img{ object-position:center 43%; }
  .gideon-suggestion{ font-size:9px; padding:4px 8px; }
}

