/* © 2026 Olive Root Tech. All rights reserved. Unauthorized reproduction prohibited. */
/* ORT Rooted OS · © 2026 Olive Root Tech · oliveroottech.com · Built by Dante */
/* ort_rooted_ai.css — Rooted AI. The Gladiator IS the assistant. */
:root{
  --rai-forest:#1C2B1A; --rai-forest2:#162414; --rai-olive:#3B6A3B; --rai-leaf:#639922;
  --rai-amber:#EF9F27; --rai-coyote:#8B7355; --rai-cream:#F5F0E4; --rai-line:rgba(255,255,255,.08);
}

/* ---- the truck trigger (parked, bottom right) ---- */
#rai-truck{
  position:fixed; right:22px; bottom:22px; z-index:99000;
  width:96px; cursor:pointer; border:none; background:none; padding:0;
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.4));
  transition:transform .9s cubic-bezier(.25,.1,.25,1);
}
#rai-truck img, #rai-truck svg{width:100%; display:block;}
#rai-truck .rai-idle{animation:rai-idle 2.4s cubic-bezier(.25,.1,.25,1) infinite alternate;}
@keyframes rai-idle{from{transform:translateY(0)}to{transform:translateY(-2px)}}
/* headlights — off at rest, amber glow on hover */
#rai-truck .rai-lights{
  position:absolute; left:-18px; bottom:6px; width:46px; height:30px;
  background:radial-gradient(ellipse at right,rgba(239,159,39,.55),rgba(239,159,39,0) 70%);
  opacity:0; transition:opacity .4s cubic-bezier(.25,.1,.25,1); pointer-events:none; filter:blur(2px);
}
#rai-truck:hover .rai-lights{opacity:1;}
#rai-truck:hover{transform:translateX(-6px);}
#rai-truck.driving{transform:translateX(-18px) scale(1.04);}
#rai-truck .rai-hint{
  position:absolute; right:104px; bottom:24px; white-space:nowrap;
  background:#0f160d; color:var(--rai-cream); font:700 12px/1 'DM Sans',sans-serif;
  padding:8px 11px; border-radius:9px; border:1px solid var(--rai-line); opacity:0;
  transition:opacity .3s; pointer-events:none;
}
#rai-truck:hover .rai-hint{opacity:1;}

/* ---- chat panel ---- */
#rai-panel{
  position:fixed; right:22px; bottom:128px; z-index:99001;
  width:380px; height:520px; max-width:calc(100vw - 28px); max-height:calc(100vh - 150px);
  background:var(--rai-forest); border:1px solid var(--rai-line); border-radius:18px;
  box-shadow:0 26px 70px rgba(0,0,0,.55); display:none; flex-direction:column; overflow:hidden;
  font-family:'DM Sans',system-ui,sans-serif; transform-origin:bottom right;
}
#rai-panel.open{display:flex; animation:rai-tow .42s cubic-bezier(.25,.1,.25,1);}
@keyframes rai-tow{from{opacity:0; transform:translateY(40px) scale(.96);} to{opacity:1; transform:none;}}
#rai-panel.closing{animation:rai-fold .3s cubic-bezier(.25,.1,.25,1) forwards;}
@keyframes rai-fold{to{opacity:0; transform:translateY(40px) scale(.96);}}

.rai-head{display:flex; align-items:center; gap:11px; padding:14px 15px; border-bottom:1px solid var(--rai-line); background:linear-gradient(180deg,#21381b,#1a2d15);}
.rai-head .rai-mk{width:34px;height:34px;border-radius:10px;background:#16240f;border:1px solid var(--rai-line);display:flex;align-items:center;justify-content:center;}
.rai-head .rai-mk svg{width:22px;height:22px;}
.rai-head .nm{font-weight:800;font-size:14px;color:var(--rai-cream);}
.rai-head .sub{font-size:11px;color:var(--rai-coyote);font-weight:600;}
.rai-head .dot{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:11px;color:var(--rai-coyote);font-weight:700;}
.rai-head .dot i{width:7px;height:7px;border-radius:50%;background:var(--rai-leaf);box-shadow:0 0 0 0 rgba(99,153,34,.6);animation:rai-pulse 2s infinite;}
@keyframes rai-pulse{0%{box-shadow:0 0 0 0 rgba(99,153,34,.5)}70%{box-shadow:0 0 0 7px rgba(99,153,34,0)}100%{box-shadow:0 0 0 0 rgba(99,153,34,0)}}
.rai-x{background:none;border:none;color:var(--rai-coyote);font-size:20px;line-height:1;cursor:pointer;padding:0 2px;margin-left:8px;}
.rai-x:hover{color:var(--rai-cream);}

.rai-log{flex:1; overflow-y:auto; padding:15px; display:flex; flex-direction:column; gap:12px; scroll-behavior:smooth;}
.rai-msg{max-width:84%; font-size:13.5px; line-height:1.5;}
.rai-msg .tx{padding:10px 12px; border-radius:13px;}
.rai-msg .ts{font-size:10px; color:var(--rai-coyote); margin-top:3px;}
.rai-msg.user{align-self:flex-end; text-align:right;}
.rai-msg.user .tx{background:#2a4a22; color:var(--rai-cream); border-bottom-right-radius:4px;}
.rai-msg.rooted{align-self:flex-start;}
.rai-msg.rooted .tx{background:var(--rai-forest2); color:var(--rai-cream); border-left:3px solid var(--rai-olive); border-bottom-left-radius:4px;}

.rai-typing{display:flex;gap:5px;padding:10px 12px;background:var(--rai-forest2);border-left:3px solid var(--rai-olive);border-radius:13px;border-bottom-left-radius:4px;width:fit-content;}
.rai-typing i{width:7px;height:7px;border-radius:50%;background:var(--rai-amber);opacity:.5;animation:rai-blink 1.2s infinite;}
.rai-typing i:nth-child(2){animation-delay:.2s;} .rai-typing i:nth-child(3){animation-delay:.4s;}
@keyframes rai-blink{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}

.rai-quick{display:flex; gap:7px; flex-wrap:wrap; padding:10px 12px 0;}
.rai-quick button{background:#16240f;border:1px solid var(--rai-line);color:var(--rai-cream);font:700 11.5px 'DM Sans',sans-serif;padding:7px 10px;border-radius:8px;cursor:pointer;transition:all .14s;}
.rai-quick button:hover{background:#21381b;transform:translateY(-1px);}

.rai-input{display:flex;gap:8px;padding:12px;border-top:1px solid var(--rai-line);}
.rai-input input{flex:1;background:#101a0c;border:1px solid var(--rai-line);border-radius:10px;padding:11px 12px;color:var(--rai-cream);font-family:inherit;font-size:13px;}
.rai-input input:focus{outline:2px solid var(--rai-leaf);outline-offset:1px;}
.rai-input button{background:var(--rai-amber);color:#2a1c05;border:none;border-radius:10px;padding:0 16px;font-weight:800;font-size:13px;cursor:pointer;transition:transform .12s,background .12s;}
.rai-input button:hover{background:#f6ad3e;transform:translateY(-1px);}

/* ---- mobile: full screen panel, smaller truck ---- */
@media (max-width:560px){
  #rai-truck{width:64px; right:14px; bottom:14px;}
  #rai-panel{right:0; bottom:0; left:0; top:0; width:100%; height:100%; max-width:100%; max-height:100%; border-radius:0;}
}

/* ---- 404 / centered variant ---- */
body.rai-center #rai-truck{position:fixed; left:50%; right:auto; bottom:34px; transform:translateX(-50%); width:120px;}
body.rai-center #rai-truck:hover{transform:translateX(-50%) translateY(-4px);}
