:root{--primary:#0d6efd;--soft1:#f7f9fb;--soft2:#eaf1f7}
html,body{height:100%}
body{font-family:'Roboto',sans-serif;background:linear-gradient(120deg,var(--soft1),var(--soft2));background-size:200% 200%;color:#333;overflow-x:hidden}
h1,h2,h3,h4,h5{font-family:'Poppins',sans-serif;color:#1c1c1c}
.section-title{margin-bottom:2rem;position:relative}
.section-title::after{content:'';display:block;width:60px;height:3px;background-color:var(--primary);margin-top:0.5rem;border-radius:2px}
.card-hover{transition:all 0.3s ease}
.card-hover:hover{transform:translateY(-5px);box-shadow:0 12px 20px rgba(0,0,0,0.12)}
.cv-btn{position:fixed;bottom:30px;right:30px;background:var(--primary);color:#fff;padding:0.8rem 1.2rem;border-radius:50px;font-weight:600;display:flex;align-items:center;gap:0.5rem;box-shadow:0 4px 12px rgba(0,0,0,0.18);z-index:1100;text-decoration:none}
.cv-btn:hover{transform:scale(1.05)}
.sidebar{position:sticky;top:0;height:100vh;background:#fff;padding:2rem 1rem;border-right:1px solid #e6e6e6}
.sidebar a{display:block;margin:1rem 0;color:#555;font-weight:500;transition:color 0.2s;text-decoration:none}
.sidebar a:hover{color:var(--primary)}
.timeline{position:relative;padding-left:2rem}
.timeline::before{content:'';position:absolute;left:0.75rem;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--primary),#6c757d);border-radius:2px}
.timeline-item{position:relative;margin-left:10px}
.timeline-item::before{content:'';position:absolute;left:-35px;top:1rem;width:15px;height:15px;background:var(--primary);border-radius:50%;box-shadow:0 0 0 3px #fff;transition:all 0.25s ease}
.timeline-item:hover::before{transform:scale(1.2);background:#0056b3}
#scoreCounter{position:fixed;top:18px;right:18px;background:rgba(13,110,253,0.95);color:#fff;padding:8px 12px;border-radius:999px;font-weight:700;z-index:1200;display:flex;align-items:center;gap:8px;box-shadow:0 10px 30px rgba(13,110,253,0.18)}
#gameArea{position:fixed;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:1050}
.gameIcon{position:absolute;width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;cursor:pointer;pointer-events:auto;box-shadow:0 8px 20px rgba(0,0,0,0.15);transform:translate3d(0,0,0);transition:transform 0.12s ease}
.popupPoints{position:fixed;font-weight:700;color:#111;pointer-events:none;z-index:1600}
#rbidRow{display:flex;align-items:center;gap:10px}
.playBadge{background:transparent;border:none;color:var(--primary);font-size:20px;cursor:pointer;padding:6px;border-radius:6px}
.playBadge:hover{background:rgba(13,110,253,0.06)}
#aiWidget{position:fixed;right:30px;bottom:110px;width:360px;max-width:calc(100% - 40px);background:linear-gradient(180deg,#fff,#f8fbff);border-radius:12px;box-shadow:0 18px 40px rgba(13,110,253,0.12);z-index:1150;overflow:hidden;display:flex;flex-direction:column;border:1px solid rgba(13,110,253,0.06);font-size:14px}
.ai-header{display:flex;align-items:center;gap:10px;padding:12px 14px;background:rgba(13,110,253,0.06);border-bottom:1px solid rgba(0,0,0,0.03)}
.ai-header h5{margin:0;font-size:15px}
.ai-body{padding:10px;height:300px;overflow:auto;display:flex;flex-direction:column;gap:8px}
.ai-footer{padding:10px;border-top:1px solid rgba(0,0,0,0.03);display:flex;gap:8px;align-items:center}
.ai-input{flex:1;padding:8px 10px;border-radius:8px;border:1px solid #ddd;outline:none}
.ai-btn{padding:8px 10px;border-radius:8px;border:none;background:var(--primary);color:#fff;font-weight:600;cursor:pointer}
.ai-msg{max-width:85%;padding:8px 10px;border-radius:10px;font-size:13px;line-height:1.3}
.ai-msg.user{margin-left:auto;background:var(--primary);color:#fff;border-bottom-right-radius:2px}
.ai-msg.bot{margin-right:auto;background:#f1f6ff;color:#222;border-bottom-left-radius:2px}
@media(max-width:768px){.sidebar{display:none} .ai-header img{display:none} .cv-btn{right:12px} #aiWidget{right:12px;left:12px;width:auto;bottom:110px}}
@media(max-width:992px){
  main{padding:2rem 1.5rem;}
  .row-cols-md-2{row-gap:1.5rem;}
  .timeline{padding-left:1rem;}
  .timeline-item::before{left:-25px;}
}

@media(max-width:768px){
  .sidebar{display:none !important;}
  .cv-btn{right:12px;bottom:20px;padding:0.6rem 1rem;font-size:0.9rem;}
  #aiWidget{right:12px;left:12px;width:auto;bottom:100px;}
  #rbidRow h3{font-size:1.25rem;}
  .timeline-item{margin-left:0; padding:1rem;}
  .timeline::before{left:10px;}
  .timeline-item::before{left:-20px;}
  .card-hover{margin-bottom:1.5rem;}
  .section-title{font-size:1.4rem;}
  h2.section-title::after{width:40px;height:2px;}
}

@media(max-width:576px){
  .cv-btn{padding:0.5rem 0.9rem;font-size:0.85rem;}
  .ai-input{font-size:13px;}
  .ai-btn{font-size:13px;padding:6px 8px;}
  .timeline-item ul li{font-size:0.85rem;}
  .section-title{font-size:1.25rem;}
  .timeline::before{width:3px;}
  .timeline-item::before{width:12px;height:12px;}
  .card-hover h5{font-size:1rem;}
  .card-hover p{font-size:0.85rem;}
}
#rbidRow h3.fw-bold.mb-0 {
    font-size: 1.2rem;
}

#scoreCounter{
  display: none;
}

@media (max-width: 767px) {
  #scoreCounter {
    top: 60px;
  }
}