/* GchemIB glow layer: loaded last, only adds polish on top of existing styles */
html body{
  --g-teal:#2ee6d0;--g-violet:#8b7cff;--g-blue:#4f8dff;--g-amber:#ffb454;
  --g-ease:cubic-bezier(.2,.8,.2,1);
  background-image:
    radial-gradient(900px 520px at 85% -8%,rgba(139,124,255,.18),transparent 60%),
    radial-gradient(760px 480px at -5% 12%,rgba(46,230,208,.14),transparent 62%),
    radial-gradient(700px 500px at 60% 108%,rgba(79,141,255,.12),transparent 60%)!important;
  background-attachment:fixed!important;
  -webkit-font-smoothing:antialiased;
}

/* Sidebar and navigation */
html body .sidebar{backdrop-filter:blur(18px) saturate(1.3);border-right:1px solid rgba(46,230,208,.14)!important}
html body .brand-mark{filter:drop-shadow(0 0 10px rgba(46,230,208,.55))}
html body .nav-link{border-radius:12px!important;transition:background .2s var(--g-ease),transform .2s var(--g-ease),box-shadow .2s}
html body .nav-link:hover{transform:translateX(3px)}
html body .nav-link.active{
  background:linear-gradient(90deg,rgba(46,230,208,.20),rgba(139,124,255,.12))!important;
  box-shadow:inset 3px 0 0 var(--g-teal),0 0 24px rgba(46,230,208,.12)!important}

/* Hero: the one memorable moment */
html body .hero{position:relative;border-radius:28px!important;overflow:hidden;
  border:1px solid transparent!important;
  background:
    linear-gradient(var(--panel,#0c1626),var(--panel,#0c1626)) padding-box,
    linear-gradient(135deg,var(--g-teal),var(--g-violet) 55%,var(--g-blue)) border-box!important;
  box-shadow:0 30px 80px -30px rgba(79,141,255,.55),0 0 0 1px rgba(255,255,255,.02)!important}
html body .hero h1 span{
  background:linear-gradient(100deg,var(--g-teal),var(--g-blue) 50%,var(--g-violet));
  -webkit-background-clip:text;background-clip:text;color:transparent!important;
  background-size:200% 100%;animation:g-shift 7s ease-in-out infinite alternate}
@keyframes g-shift{to{background-position:100% 0}}
html body .atom-aura{filter:blur(6px);opacity:.9}

/* Buttons */
html body .btn{border-radius:14px!important;transition:transform .2s var(--g-ease),box-shadow .25s,filter .2s}
html body .btn-primary{
  background:linear-gradient(120deg,var(--g-teal),var(--g-blue) 60%,var(--g-violet))!important;
  color:#04101c!important;font-weight:800!important;border:0!important;
  box-shadow:0 10px 30px -8px rgba(46,230,208,.65),inset 0 1px 0 rgba(255,255,255,.35)!important}
html body .btn-primary:hover{transform:translateY(-2px);filter:brightness(1.08);
  box-shadow:0 16px 40px -8px rgba(46,230,208,.8),inset 0 1px 0 rgba(255,255,255,.4)!important}
html body .btn-ghost:hover{border-color:var(--g-teal)!important;box-shadow:0 0 0 3px rgba(46,230,208,.14)}

/* Cards and panels */
html body .panel,html body .feature-card,html body .topic-button,html body .calculator-card{
  border-radius:20px!important;transition:transform .25s var(--g-ease),box-shadow .3s,border-color .25s}
html body .feature-card:hover,html body .topic-button:hover{
  transform:translateY(-4px);border-color:rgba(46,230,208,.55)!important;
  box-shadow:0 18px 44px -18px rgba(46,230,208,.45),0 0 0 1px rgba(46,230,208,.18)!important}
html body .element-cell{transition:transform .15s var(--g-ease),box-shadow .2s}
html body .element-cell:hover{transform:scale(1.14);z-index:3;box-shadow:0 0 22px rgba(46,230,208,.55)}

/* Inputs */
html body .global-search,html body .search-field{border-radius:14px!important;transition:box-shadow .2s,border-color .2s}
html body .global-search:focus-within,html body .search-field:focus-within{
  border-color:var(--g-teal)!important;box-shadow:0 0 0 4px rgba(46,230,208,.16),0 0 28px rgba(46,230,208,.18)}

/* AI tutor page */
html body .tutor-chat{position:relative;border-radius:24px!important;
  box-shadow:0 30px 90px -40px rgba(139,124,255,.7)!important}
html body .chat-header .ai-avatar,html body .message-avatar{
  background:linear-gradient(135deg,var(--g-teal),var(--g-violet))!important;color:#04101c!important;
  box-shadow:0 0 18px rgba(139,124,255,.55)}
html body .message.assistant .message-body{border-radius:6px 18px 18px 18px!important;
  border:1px solid rgba(139,124,255,.28)!important;background:rgba(139,124,255,.07)!important}
html body .message.user .message-body{border-radius:18px 6px 18px 18px!important;
  background:linear-gradient(135deg,rgba(46,230,208,.24),rgba(79,141,255,.22))!important;
  border:1px solid rgba(46,230,208,.35)!important}
html body .suggestion-chips button{border-radius:999px!important;transition:transform .2s var(--g-ease),background .2s,box-shadow .2s}
html body .suggestion-chips button:hover{transform:translateY(-2px);background:rgba(46,230,208,.16)!important;box-shadow:0 8px 22px -10px rgba(46,230,208,.7)}
html body .chat-compose{border-radius:18px!important;transition:box-shadow .2s,border-color .2s}
html body .chat-compose:focus-within{border-color:var(--g-violet)!important;box-shadow:0 0 0 4px rgba(139,124,255,.18),0 0 34px rgba(139,124,255,.22)}
html body .send-button{background:linear-gradient(135deg,var(--g-teal),var(--g-violet))!important;color:#04101c!important;
  border-radius:14px!important;box-shadow:0 8px 24px -6px rgba(139,124,255,.8)}
html body .ai-status i{background:var(--g-teal)!important;box-shadow:0 0 12px var(--g-teal)}

/* Floating AI button (glow.js) */
.g-fab{position:fixed;right:22px;bottom:22px;z-index:60;display:flex;align-items:center;gap:10px;
  height:56px;padding:0 20px 0 16px;border:0;border-radius:999px;cursor:pointer;
  font:800 15px "Plus Jakarta Sans","DM Sans",sans-serif;color:#04101c;
  background:linear-gradient(120deg,var(--g-teal),var(--g-blue) 55%,var(--g-violet));
  box-shadow:0 14px 40px -8px rgba(79,141,255,.85),0 0 0 0 rgba(46,230,208,.6),inset 0 1px 0 rgba(255,255,255,.4);
  animation:g-pulse 3.2s ease-out 2;transition:transform .2s var(--g-ease),filter .2s}
.g-fab:hover{transform:translateY(-3px) scale(1.03);filter:brightness(1.08)}
.g-fab:focus-visible{outline:3px solid #fff;outline-offset:3px}
.g-fab svg{width:22px;height:22px}
.g-fab kbd{font:700 11px "DM Sans",sans-serif;padding:3px 6px;border-radius:6px;background:rgba(4,16,28,.18)}
.g-fab[hidden]{display:none}
@keyframes g-pulse{0%{box-shadow:0 14px 40px -8px rgba(79,141,255,.85),0 0 0 0 rgba(46,230,208,.6)}
  70%,100%{box-shadow:0 14px 40px -8px rgba(79,141,255,.85),0 0 0 22px rgba(46,230,208,0)}}
@media(max-width:760px){.g-fab{right:14px;bottom:14px;height:52px;padding:0 16px 0 14px}.g-fab kbd{display:none}}
@media(prefers-reduced-motion:reduce){.g-fab,html body .hero h1 span{animation:none}
  html body .feature-card:hover,html body .topic-button:hover,html body .btn-primary:hover{transform:none}}
