/* XPlein Landing Page Styles */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

body{font-family:'DM Sans',sans-serif;background:var(--cr);color:var(--sl);height:100vh;display:flex;overflow:hidden}

/* SIDEBAR */
.sb{width:64px;height:100vh;background:var(--wh);border-right:1px solid var(--cd);display:flex;flex-direction:column;align-items:center;padding:20px 0;flex-shrink:0;z-index:10}
.sb-logo{width:36px;height:36px;background:var(--ac);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:28px;cursor:pointer;transition:transform .15s}
.sb-logo:hover{transform:scale(1.06)}
.sb-logo svg{width:18px;height:18px;fill:white;stroke:none}
.sb-nav{display:flex;flex-direction:column;gap:4px;flex:1;width:100%;padding:0 10px;align-items:center}
.nav-item{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s;color:var(--s6);position:relative}
.nav-item:hover{background:var(--cd);color:var(--sl)}
.nav-item.active{background:var(--al);color:var(--ac)}
.nav-item .ni svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;display:block}
.nav-item .tooltip{position:absolute;left:calc(100% + 12px);background:var(--sl);color:#fff;font-size:12px;font-weight:500;padding:5px 10px;border-radius:7px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s;z-index:100}
.nav-item .tooltip::before{content:'';position:absolute;right:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-right-color:var(--sl)}
.nav-item:hover .tooltip{opacity:1}
.nav-divider{width:28px;height:1px;background:var(--cd);margin:6px auto}
.sb-bot{padding:0 10px;display:flex;flex-direction:column;gap:4px;align-items:center}

/* MAIN */
.main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;position:relative;overflow:hidden}
.main::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 600px 400px at 65% 30%,color-mix(in srgb,var(--ac) 6%,transparent) 0%,transparent 70%),radial-gradient(ellipse 400px 300px at 20% 80%,color-mix(in srgb,var(--am) 8%,transparent) 0%,transparent 70%);pointer-events:none}
.cs{width:100%;max-width:640px;display:flex;flex-direction:column;align-items:center;position:relative;z-index:1}
.cs.cm{display:none}

/* WORDMARK */
.wm{font-size:28px;font-weight:400;color:var(--sl);letter-spacing:-.3px;margin-bottom:36px;opacity:0;animation:fu .5s ease .1s forwards}
.wm span{color:var(--ac);font-style:italic}

/* BUBBLE */
.bw{width:100%;margin-bottom:20px;opacity:0;animation:fu .5s ease .2s forwards}
.bb{background:var(--wh);border:1px solid var(--cd);border-radius:20px 20px 20px 4px;padding:18px 22px;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.bn{font-size:11px;font-weight:500;color:var(--ac);letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;display:flex;align-items:center;gap:6px}
.bn::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--ac)}
.bb p{font-size:15px;line-height:1.6;color:var(--sl)}
.bb p strong{font-weight:600}

/* QUICK ACTIONS */
.qa{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap;opacity:0;animation:fu .5s ease .35s forwards}
.qb{display:flex;align-items:center;gap:7px;padding:9px 16px;border-radius:40px;border:1.5px solid var(--cd);background:var(--wh);font-family:'DM Sans',sans-serif;font-size:13.5px;font-weight:500;color:var(--sl);cursor:pointer;transition:all .15s;white-space:nowrap}
.qb:hover{border-color:var(--ac);color:var(--ac);background:var(--al);transform:translateY(-1px);box-shadow:0 3px 10px color-mix(in srgb,var(--ac) 15%,transparent)}
.qb svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* INPUT BAR */
.iw{width:100%;margin-top:20px;opacity:0;animation:fu .5s ease .45s forwards}
.ib{width:100%;background:var(--wh);border:1.5px solid var(--cd);border-radius:50px;display:flex;align-items:center;padding:10px 10px 10px 22px;gap:10px;transition:border-color .2s,box-shadow .2s;box-shadow:0 2px 16px rgba(0,0,0,.06)}
.ib:focus-within{border-color:var(--ac);box-shadow:0 4px 20px color-mix(in srgb,var(--ac) 14%,transparent)}
.ib input{flex:1;border:none;outline:none;background:transparent;font-family:'DM Sans',sans-serif;font-size:15px;color:var(--sl)}
.ib input::placeholder{color:#A8B0BC}
.sb2{width:40px;height:40px;border-radius:50%;background:var(--ac);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:filter .15s,transform .1s;flex-shrink:0}
.sb2:hover{filter:brightness(.88);transform:scale(1.05)}
.sb2 svg{width:16px;height:16px;fill:none;stroke:white;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ROLE TOGGLE */
.rt{margin-top:14px;display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--s6);opacity:0;animation:fu .5s ease .55s forwards}
.rp{font-size:12.5px;font-weight:600;cursor:pointer;padding:3px 10px;border-radius:20px;transition:all .15s;user-select:none}
.rp.ar{background:var(--sl);color:#fff}
.rp.ir{color:var(--s6);text-decoration:underline;text-underline-offset:2px}
.rp.ir:hover{color:var(--sl)}
.rs{color:var(--cd)}

/* CHAT VIEW */
.cv{display:none;flex-direction:column;height:100%;width:100%;max-width:720px;position:relative;z-index:1}
.cv.vis{display:flex}
.ch{display:flex;align-items:center;gap:12px;padding:0 0 16px;border-bottom:1px solid var(--cd);flex-shrink:0}
.bk{width:32px;height:32px;border-radius:50%;border:1px solid var(--cd);background:var(--wh);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--s6);transition:all .15s}
.bk:hover{border-color:var(--sl);color:var(--sl)}
.bk svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.ct{font-size:16px;font-weight:400;color:var(--sl)}
.msgs{flex:1;overflow-y:auto;padding:24px 0;display:flex;flex-direction:column;gap:16px;scrollbar-width:thin;scrollbar-color:var(--cd) transparent}
.msg{display:flex;gap:10px;animation:fu .3s ease}
.msg.u{flex-direction:row-reverse}
.av{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;letter-spacing:-.5px}
.msg.ai .av{background:var(--al);color:var(--ac)}
.msg.u .av{background:var(--sl);color:#fff}
.mb{max-width:80%;padding:11px 16px;border-radius:16px;font-size:14px;line-height:1.6}
.msg.ai .mb{background:var(--wh);border:1px solid var(--cd);color:var(--sl);border-radius:4px 16px 16px 16px}
.msg.u .mb{background:var(--sl);color:#fff;border-radius:16px 4px 16px 16px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.chip{padding:7px 14px;border-radius:30px;border:1.5px solid var(--cd);font-size:13px;font-weight:500;color:var(--sl);cursor:pointer;background:var(--wh);transition:all .15s;font-family:'DM Sans',sans-serif}
.chip:hover{border-color:var(--ac);color:var(--ac);background:var(--al)}
.chip.sel{border-color:var(--ac);background:var(--ac);color:#fff}
.typing{display:flex;align-items:center;gap:4px;padding:8px 0}
.typing span{width:6px;height:6px;background:var(--s6);border-radius:50%;animation:bc 1.2s infinite}
.typing span:nth-child(2){animation-delay:.2s}
.typing span:nth-child(3){animation-delay:.4s}
@keyframes bc{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-6px)}}
.cia{padding:16px 0 0;border-top:1px solid var(--cd);flex-shrink:0}
@keyframes fu{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* NAV LINKS */
.nav-links{position:absolute;top:16px;right:24px;display:flex;gap:12px;z-index:20}
.nav-links a{font-size:13px;font-weight:500;color:var(--s6);text-decoration:none;padding:6px 14px;border-radius:20px;transition:all .15s}
.nav-links a:hover{color:var(--ac);background:var(--al)}

/* RESPONSIVE */
@media(max-width:520px){
  .sb{width:52px}
  .nav-item{width:36px;height:36px}
  .nav-links{top:8px;right:8px;gap:6px}
  .nav-links a{font-size:12px;padding:4px 10px}
}
