.v2x-lab-page .hex-intro .v2x-introduction { max-width:1000px; font-size:21px; line-height:1.6; color:var(--navy); margin:0 auto; }
.v2x-lab-page #faculty .detail-faculty { grid-template-columns:145px minmax(0,1fr); align-items:center; }
.v2x-lab-page #faculty .detail-faculty img { width:145px; height:182px; object-fit:cover; }
.v2x-lab-page #faculty .lab-contact-email { margin:8px 0 14px; font-size:16px; overflow-wrap:anywhere; }
@media(max-width:600px) { .v2x-lab-page #faculty .detail-faculty { grid-template-columns:115px minmax(0,1fr); gap:16px; }.v2x-lab-page #faculty .detail-faculty img { width:115px; height:145px; } }
.v2x-lab-page .hex-level-heading > span { font-size:22px; letter-spacing:.08em; line-height:1.3; }
.v2x-lab-page .research-symbol { position:relative; aspect-ratio:4/3; display:grid; place-items:center; background:white; border:2px solid #86cbd0; border-radius:12px; padding:4px; overflow:hidden; box-shadow:0 5px 16px #193c5012; }
.v2x-lab-page .network-level .research-symbol { border-color:#80acc9; }
.v2x-lab-page .research-symbol img { width:100%; height:100%; min-height:0; object-fit:cover; border-radius:7px; filter:none; }
.v2x-lab-page #physical-ai .research-symbol img,.v2x-lab-page #simulation .research-symbol img,.v2x-lab-page #cloud-edge .research-symbol img { object-fit:contain; }
@media(min-width:1151px) { .v2x-lab-page .hex-theme { grid-template-columns:minmax(0,1fr) 160px; }.v2x-lab-page .network-level .hex-theme { grid-template-columns:160px minmax(0,1fr); } }
@media(min-width:601px) and (max-width:900px) { .v2x-lab-page .research-symbol { width:190px; } }
.v2x-lab-page .hex-connections g { stroke-width:3; opacity:.55; }
.v2x-lab-page .hex-image { background:linear-gradient(140deg,#67cbd0,#448db7); }
.v2x-lab-page .hex-image img { inset:4px; width:calc(100% - 8px); height:calc(100% - 8px); }
.v2x-lab-page .challenge-heading { max-width:none; display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:25px; }
.v2x-lab-page .challenge-heading h2 { margin:0; font-size:30px; }
.challenge-controls { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.challenge-controls button { width:44px; height:44px; border:1px solid #8baebb; background:white; color:var(--navy); font-size:23px; cursor:pointer; border-radius:50%; }
.challenge-controls button:hover:not(:disabled) { background:var(--navy); color:white; }
.challenge-controls button:disabled { opacity:.35; cursor:default; }
.challenge-position { color:var(--muted); font-size:13px; margin-right:6px; }
.challenge-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 48px)/3); gap:24px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#4794a9 #dce9ee; padding-bottom:20px; }
.challenge-track:focus-visible { outline:3px solid var(--iit-red); outline-offset:5px; }
.challenge-track.challenge-loop { scroll-snap-type:none; scroll-behavior:auto; scrollbar-width:none; }
.challenge-track.challenge-loop::-webkit-scrollbar { display:none; }
.challenge-card { scroll-snap-align:start; min-width:0; }
.challenge-card figure { margin:0 0 20px; height:220px; background:white; display:flex; align-items:center; }
.challenge-card img { width:100%; height:100%; object-fit:contain; }
.v2x-lab-page .challenge-card h3 { font:700 21px/1.3 Arial,sans-serif; margin:0 0 12px; }
.challenge-card p { font-size:16px; line-height:1.6; color:var(--muted); margin:0; }
@media(max-width:1000px) { .challenge-track { grid-auto-columns:calc((100% - 24px)/2); } }
@media(max-width:600px) { .v2x-lab-page .hex-intro .v2x-introduction { font-size:18px; }.v2x-lab-page .hex-level-heading > span { font-size:20px; }.challenge-track { grid-auto-columns:92%; gap:18px; }.v2x-lab-page .challenge-heading { flex-wrap:wrap; gap:14px; }.v2x-lab-page .challenge-heading h2 { font-size:26px; }.challenge-card figure { height:210px; } }
