/* ==========================================================================
   VCS Terminal Theme v1.1 — 컨셉 12 "Terminal Glass"
   바이브코딩스쿨 명함 톤(보랏빛 차콜 + 라벤더) 스킨

   원칙
   - 모든 규칙은 html.vt 아래에서만 동작한다. 홈은 html.vt-home(전체 다크), 서브페이지는 html.vt-sub(메뉴·상단·푸터만 다크, 본문은 원래 색). <html>에 vt 클래스가 없으면 기존 디자인 그대로.
   - 기존 마크업·클래스·ID·JS 동작을 바꾸지 않는다. 겉모습만 덮어쓴다.
   - main.js 캐러셀 계산값을 지킨다: .case-studies-carousel gap 20px, .reviews-carousel gap 2rem(32px).
   - 인라인 style이 박힌 요소(히어로 PDF 버튼·가이드 링크, 세종도서 띠, FAQ)는 !important로만 덮는다.
   - 교육결과사례 썸네일(유튜브형 컬러)은 원본 색 그대로 보여준다. 필터·채도 조정 금지.
   ========================================================================== */

/* ---------- 1. 디자인 토큰 ---------- */
html.vt{
  --vt-bg:#1E1B24; --vt-bg-deep:#16141B; --vt-surface:#28242F; --vt-surface-2:#2F2A37; --vt-bar:#37313E;
  --vt-line:rgba(255,255,255,.10); --vt-line-2:rgba(255,255,255,.16);
  --vt-text:#F6F4F8; --vt-text-2:#B9B2C1; --vt-text-3:#8A8396;
  --vt-accent:#A99CE8; --vt-accent-deep:#7F72C9; --vt-accent-soft:rgba(169,156,232,.14);
  --vt-red:#F26D5B; --vt-yellow:#F5CF5E; --vt-green:#BFD37A;
  --vt-sans:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Noto Sans KR",sans-serif;
  --vt-mono:"JetBrains Mono","IBM Plex Mono","Pretendard Variable",Pretendard,"Noto Sans KR",ui-monospace,Consolas,monospace;
  --vt-r:16px; --vt-r-lg:22px;
  --vt-ease:cubic-bezier(.2,.7,.2,1);
  --vt-dots:radial-gradient(circle at 6px 50%,var(--vt-red) 0 4.5px,transparent 5px),radial-gradient(circle at 22px 50%,var(--vt-yellow) 0 4.5px,transparent 5px),radial-gradient(circle at 38px 50%,var(--vt-green) 0 4.5px,transparent 5px);
}
/* 전 페이지 공통: 글꼴만 교체 (색은 건드리지 않음) */
html.vt body{font-family:var(--vt-sans);-webkit-font-smoothing:antialiased;overflow-x:clip}
html.vt ::selection{background:var(--vt-accent);color:var(--vt-bg)}

/* 홈 전용: 기존 style.css 변수 재매핑 → 변수를 쓰는 기존 규칙이 자동으로 다크 톤이 됨 */
html.vt-home{
  --primary-color:#A99CE8; --secondary-color:#7F72C9; --accent-color:#A99CE8;
  --text-dark:#F6F4F8; --text-light:#B9B2C1;
  --background:#1E1B24; --background-light:#28242F; --border-color:rgba(255,255,255,.14);
  background:var(--vt-bg); color-scheme:dark;
}
html.vt-home body{background:var(--vt-bg);color:var(--vt-text);letter-spacing:-.015em}
html.vt-home a{color:inherit}

/* 공통 타이포 */
html.vt-home .section{background:transparent;padding:clamp(88px,10vw,150px) 0}
html.vt-home .section-header{text-align:left;margin-bottom:clamp(36px,4.5vw,64px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:end;gap:24px;border-top:1px solid var(--vt-line);padding-top:22px;position:relative}
html.vt-home .section-header::before{content:attr(data-vt-no);position:absolute;top:-1px;left:0;transform:translateY(-100%);padding-bottom:10px;font-family:var(--vt-mono);font-size:12px;color:var(--vt-text-3);letter-spacing:.02em}
html.vt-home .section-title{font-size:clamp(34px,4.6vw,68px);font-weight:850;letter-spacing:-.06em;line-height:1.05;color:var(--vt-text);margin:0}
html.vt-home .section-subtitle{font-size:15px;color:var(--vt-text-2);margin:0;max-width:440px;justify-self:end;line-height:1.7}
html.vt-home .subsection-title{font-size:clamp(22px,2.2vw,30px);font-weight:800;letter-spacing:-.04em;color:var(--vt-text);text-align:left;margin:56px 0 24px;display:flex;align-items:center;gap:12px}
html.vt-home .subsection-title::before{content:"$";font-family:var(--vt-mono);font-weight:500;font-size:.7em;color:var(--vt-accent)}
html.vt-home .container{max-width:1240px;padding:0 clamp(16px,3vw,32px)}

/* 터미널 창 공용 장식: 제목줄(신호등 3점) */
html.vt-home .vt-win-bar,
html.vt-home .case-study-card::before,
html.vt-home .intro-card::before,
html.vt-home .achievement-card::before,
html.vt-home .contact-form-wrapper::before{
  content:""; display:block; height:34px; flex:0 0 34px;
  background:var(--vt-dots),var(--vt-bar); background-repeat:no-repeat; background-position:14px 50%,14px 50%,14px 50%,0 0;
  border-bottom:1px solid var(--vt-line);
}

/* 버튼 공통 */
html.vt-home .btn{border-radius:12px;font-weight:700;letter-spacing:-.02em;padding:14px 26px;font-size:15px;transition:transform .25s var(--vt-ease),background .25s,color .25s,border-color .25s,box-shadow .25s}
html.vt-home .btn-primary{background:var(--vt-accent);color:var(--vt-bg);box-shadow:0 10px 30px -12px rgba(169,156,232,.65)}
html.vt-home .btn-primary:hover{background:#BDB2F0;transform:translateY(-2px);box-shadow:0 16px 36px -12px rgba(169,156,232,.75)}
html.vt-home .btn-secondary,html.vt-home .btn-outline{background:rgba(255,255,255,.03);color:var(--vt-text);border:1px solid var(--vt-line-2)}
html.vt-home .btn-secondary:hover,html.vt-home .btn-outline:hover{background:rgba(255,255,255,.08);color:var(--vt-text);border-color:rgba(255,255,255,.3);transform:translateY(-2px)}

/* ---------- 2. 내비게이션 (templates/partials/header.html) ---------- */
html.vt nav.navbar{
  background:rgba(22,20,27,.72)!important; backdrop-filter:blur(16px) saturate(140%); -webkit-backdrop-filter:blur(16px) saturate(140%);
  border-bottom:1px solid var(--vt-line); box-shadow:none!important; /* main.js가 스크롤 때 인라인 boxShadow를 넣음 */
}
html.vt nav.navbar .nav-brand a{display:flex;align-items:center;gap:12px}
html.vt nav.navbar .nav-brand a::before{content:"";width:44px;height:12px;background:var(--vt-dots);background-repeat:no-repeat;background-position:0 50%;flex:0 0 44px;transform:translateX(-2px)}
html.vt nav.navbar .nav-brand h2{color:var(--vt-text);font-weight:850;letter-spacing:-.05em;font-size:1.2rem}
html.vt nav.navbar .nav-menu li a{color:var(--vt-text-2);font-weight:500}
html.vt nav.navbar .nav-menu li a:hover{color:var(--vt-text)}
html.vt nav.navbar .nav-academy a{color:var(--vt-accent)!important}
html.vt nav.navbar .nav-dropdown-menu{background:var(--vt-surface);border:1px solid var(--vt-line);box-shadow:0 24px 48px -16px rgba(0,0,0,.7)}
html.vt nav.navbar .nav-dropdown-menu li a:hover{background:rgba(255,255,255,.05)}
html.vt nav.navbar .lang-toggle{border:1px solid var(--vt-line-2);color:var(--vt-text-2);font-family:var(--vt-mono);font-size:12px;border-radius:8px}
html.vt nav.navbar .lang-toggle:hover{background:rgba(255,255,255,.06);color:var(--vt-text)}
html.vt nav.navbar .lang-option.active{color:var(--vt-accent)}
html.vt nav.navbar .lang-toggle:hover .lang-option.active{color:var(--vt-accent)}
html.vt nav.navbar .hamburger{width:44px;height:44px;padding:13px 10px;border:1px solid var(--vt-line-2);border-radius:10px}
html.vt nav.navbar .hamburger span{background:var(--vt-text);height:2px}
html.vt nav.navbar .hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
html.vt nav.navbar .hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:900px){
  html.vt nav.navbar .nav-right{background:var(--vt-surface);border-bottom:1px solid var(--vt-line);box-shadow:0 30px 60px -20px rgba(0,0,0,.8)}
  html.vt nav.navbar .nav-menu li{border-bottom:1px solid var(--vt-line)}
  html.vt nav.navbar .nav-menu li a{color:var(--vt-text);min-height:44px;display:flex;align-items:center}
  html.vt nav.navbar .nav-dropdown-menu{background:transparent;border:0;box-shadow:none}
  html.vt nav.navbar .nav-dropdown-menu li a{color:var(--vt-text-2)}
}

/* ---------- 3. 히어로 ---------- */
html.vt-home .hero{background:var(--vt-bg);color:var(--vt-text);text-align:left;padding:clamp(56px,7vw,110px) 0 clamp(64px,7vw,110px);overflow:hidden;isolation:isolate}
html.vt-home .hero::before{background-image:linear-gradient(var(--vt-line) 1px,transparent 1px),linear-gradient(90deg,var(--vt-line) 1px,transparent 1px);background-size:72px 72px;opacity:.35;-webkit-mask-image:radial-gradient(ellipse 70% 70% at 70% 40%,#000 10%,transparent 75%);mask-image:radial-gradient(ellipse 70% 70% at 70% 40%,#000 10%,transparent 75%)}
html.vt-home .hero::after{content:"";position:absolute;width:900px;height:900px;right:-240px;top:-320px;background:radial-gradient(circle,rgba(169,156,232,.18),transparent 62%);z-index:0;pointer-events:none}
html.vt-home .hero > .container{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,64px);align-items:center}
html.vt-home .hero > .container > *{min-width:0}
html.vt-home .hero-content{text-align:left}
/* 키커 "~ $ !pip install vibe" — CSS만으로 타이핑(자리를 처음부터 차지 → 레이아웃 이동 없음, 스크린리더·SEO 영향 없음) */
html.vt-home .hero-content::before{content:"~ $ !pip install vibe";display:block;width:21ch;max-width:100%;height:22px;line-height:22px;margin:0 0 22px;overflow:hidden;white-space:nowrap;
  font-family:var(--vt-mono);font-size:14px;font-weight:400;letter-spacing:0;
  background:linear-gradient(90deg,var(--vt-accent) 0 3.2ch,var(--vt-text-2) 3.2ch);-webkit-background-clip:text;background-clip:text;color:transparent;
  border-right:9px solid var(--vt-accent);box-sizing:content-box;padding-right:3px;
  animation:vt-type 1.3s steps(17,end) .5s both,vt-caret 1.05s steps(1) 1.8s infinite}
@keyframes vt-type{from{width:4ch}to{width:21ch}}
@keyframes vt-caret{50%{border-right-color:transparent}}
@keyframes vt-blink{50%{opacity:0}}
html.vt-home .hero-title{font-size:clamp(42px,6.3vw,100px);font-weight:880;letter-spacing:-.065em;line-height:1.02;margin:0 0 28px;color:var(--vt-text);word-break:keep-all}
/* 영어처럼 긴 제목(한/영 전환)은 한 단계 작게 — JS가 글자 수를 보고 .vt-long 부여 */
html.vt-home .hero-title.vt-long{font-size:clamp(38px,4.9vw,78px);letter-spacing:-.05em;line-height:1.04}
html.vt-home .hero-subtitle{font-size:clamp(15px,1.25vw,18px);color:var(--vt-text-2);opacity:1;max-width:600px;line-height:1.75;margin:0 0 32px}
html.vt-home .hero-buttons{justify-content:flex-start;gap:10px}
html.vt-home .hero-buttons .btn{padding:16px 26px}
/* 인라인 style(노랑 배경)이 박힌 PDF 버튼 → 고스트 스타일 */
html.vt-home .hero-buttons a.btn-primary[style]{background:rgba(255,255,255,.04)!important;color:var(--vt-text)!important;border:1px solid var(--vt-line-2)!important;box-shadow:none}
html.vt-home .hero-buttons a.btn-primary[style]:hover{background:rgba(255,255,255,.09)!important}
/* 가이드 링크 묶음(인라인 style div) → 모노 칩 */
html.vt-home .hero-content > .hero-buttons + div{justify-content:flex-start!important;gap:8px!important;margin-top:22px!important;font-size:13px!important}
html.vt-home .hero-content > .hero-buttons + div a{color:var(--vt-text-2)!important;text-decoration:none!important;border:1px solid var(--vt-line);border-radius:8px;padding:8px 12px;min-height:36px;display:inline-flex;align-items:center;transition:color .2s,border-color .2s,background .2s}
html.vt-home .hero-content > .hero-buttons + div a:hover{color:var(--vt-text)!important;border-color:var(--vt-line-2);background:rgba(255,255,255,.04)}
html.vt-home .hero-academy-link{text-align:left;margin-top:18px}
html.vt-home .hero-academy-link a{color:var(--vt-text-3);font-weight:500;text-decoration:none;font-family:var(--vt-mono);font-size:13px}
html.vt-home .hero-academy-link a:hover{color:var(--vt-accent)}

/* 히어로 오른쪽 무대: vcs-terminal.js가 .vt-stage를 넣는다 (장식, aria-hidden) */
html.vt-home .hero > .container::after{content:"";grid-column:2;grid-row:1;width:100%;aspect-ratio:1/1.02;max-height:560px}
html.vt-home .hero > .container > .hero-content{grid-column:1;grid-row:1}
html.vt-home .vt-stage{position:absolute;inset:0;grid-column:2;grid-row:1;align-self:center;width:100%;aspect-ratio:1/1.02;max-height:560px;margin:auto 0}
html.vt-home .vt-stage .vt-term{position:absolute;inset:6% 4% 8% 0;border-radius:var(--vt-r-lg);border:1px solid var(--vt-line);background:linear-gradient(180deg,rgba(40,36,47,.55),rgba(30,27,36,.35));backdrop-filter:blur(6px);overflow:hidden;box-shadow:0 40px 90px -40px rgba(0,0,0,.85)}
html.vt-home .vt-stage .vt-bar{height:38px;display:flex;align-items:center;justify-content:center;background:var(--vt-dots),rgba(55,49,62,.9);background-repeat:no-repeat;background-position:16px 50%,16px 50%,16px 50%,0 0;border-bottom:1px solid var(--vt-line);font-family:var(--vt-mono);font-size:12px;color:var(--vt-text-2);padding-left:60px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.vt-home .vt-term .vt-cmd{position:absolute;left:18px;top:54px;font-family:var(--vt-mono);font-size:13px;color:var(--vt-text);z-index:2}
html.vt-home .vt-term .vt-cmd b{color:var(--vt-accent);font-weight:500;margin-right:6px}
html.vt-home .vt-term .vt-log{position:absolute;left:18px;right:18px;bottom:16px;font-family:var(--vt-mono);font-size:12px;color:var(--vt-text-3);line-height:1.7;z-index:2;opacity:0;transition:opacity .8s}
html.vt-home .vt-term .vt-log.on{opacity:1}
html.vt-home .vt-term .vt-log i{font-style:normal;color:var(--vt-green)}
html.vt-home .vt-stage canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1}
html.vt-home .vt-mini{position:absolute;z-index:3;min-width:170px;border-radius:14px;border:1px solid var(--vt-line-2);background:rgba(40,36,47,.78);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:0 24px 50px -20px rgba(0,0,0,.8);overflow:hidden;transform:translate3d(calc(var(--px,0)*var(--d,16px)),calc(var(--py,0)*var(--d,16px)),0)}
html.vt-home .vt-mini .vt-bar{height:28px;font-size:11px;background-position:12px 50%,12px 50%,12px 50%,0 0;padding-left:64px;justify-content:flex-start}
html.vt-home .vt-mini .vt-mini-b{padding:12px 16px 14px}
html.vt-home .vt-mini .vt-p{font-family:var(--vt-mono);font-size:11px;color:var(--vt-text-3)}
html.vt-home .vt-mini .vt-p b{color:var(--vt-accent);font-weight:500}
html.vt-home .vt-mini .vt-v{font-size:30px;font-weight:880;letter-spacing:-.05em;line-height:1.1;color:var(--vt-text);margin-top:4px}
html.vt-home .vt-mini .vt-k{font-size:12px;color:var(--vt-text-2);margin-top:2px;white-space:nowrap}
html.vt-home .vt-mini.m1{left:-4%;top:34%;--d:-18px}
html.vt-home .vt-mini.m2{right:-2%;top:16%;--d:22px}
html.vt-home .vt-mini.m3{right:6%;bottom:14%;--d:-14px}
@media (max-width:980px){
  html.vt-home .hero > .container{grid-template-columns:1fr}
  html.vt-home .hero > .container::after{grid-column:1;grid-row:2;aspect-ratio:16/13;max-height:420px}
  html.vt-home .vt-stage{grid-column:1;grid-row:2;aspect-ratio:16/13;max-height:420px}
  html.vt-home .vt-mini{display:none}
}
@media (max-width:640px){
  html.vt-home .hero > .container::after,html.vt-home .vt-stage{aspect-ratio:1/1}
  html.vt-home .hero-buttons .btn{width:100%;text-align:center}
  html.vt-home .hero-content > .hero-buttons + div{flex-wrap:nowrap!important;overflow-x:auto;justify-content:flex-start!important;margin-left:-16px!important;margin-right:-16px!important;padding:0 16px 4px;scrollbar-width:none}
  html.vt-home .hero-content > .hero-buttons + div a{white-space:nowrap}
}

/* ---------- 4. 세종도서 띠 (히어로 바로 다음, 인라인 style section) ---------- */
html.vt-home main > section.hero + section{background:var(--vt-bg-deep)!important;border-top:1px solid var(--vt-line)!important;border-bottom:1px solid var(--vt-line)!important;padding:18px 16px!important}
html.vt-home main > section.hero + section > .container{max-width:1240px!important}
html.vt-home main > section.hero + section > .container > div{justify-content:flex-start!important;text-align:left!important;gap:14px 18px!important}
html.vt-home main > section.hero + section span[style]{background:transparent!important;color:var(--vt-accent)!important;border:1px solid rgba(169,156,232,.45);font-family:var(--vt-mono);font-weight:500!important;font-size:12px!important;border-radius:8px!important}
html.vt-home #sejong-book-announcement{color:var(--vt-text)!important;font-size:15px!important;font-weight:700}
html.vt-home main > section.hero + section a[style]{color:var(--vt-text-3)!important;font-family:var(--vt-mono);font-size:12px!important;text-decoration:none!important}
html.vt-home main > section.hero + section a[style]:hover{color:var(--vt-accent)!important}

/* ---------- 5. 교육결과사례 캐러셀 (main.js가 /api/board로 카드를 채움) ---------- */
html.vt-home .case-studies-section{background:var(--vt-bg)!important}
html.vt-home .case-studies-carousel-wrapper{padding:0 56px}
/* gap 20px 유지 (main.js goToSlide 계산값) */
html.vt-home .case-studies-carousel{gap:20px;padding:10px 0 24px}
html.vt-home .case-study-card{display:flex;flex-direction:column;background:var(--vt-surface);border:1px solid var(--vt-line);border-radius:14px;box-shadow:none;transition:transform .45s var(--vt-ease),border-color .3s,box-shadow .45s}
html.vt-home .case-study-card:hover,html.vt-home .case-study-card:focus-visible{transform:translateY(-4px);border-color:rgba(169,156,232,.45);box-shadow:0 26px 50px -26px rgba(0,0,0,.85),0 0 0 1px rgba(169,156,232,.14);outline:none}
html.vt-home .case-study-card::before{height:30px;flex-basis:30px;background-size:auto;background-position:12px 50%,12px 50%,12px 50%,0 0}
/* 썸네일: 유튜브형 원본 컬러 그대로. 비율만 16:9로 맞춤 (높이는 JS 계산에 쓰이지 않음) */
html.vt-home .case-study-thumbnail{height:auto;aspect-ratio:16/9;background:var(--vt-bg-deep);transition:transform .8s var(--vt-ease)}
html.vt-home .case-study-card{overflow:hidden}
html.vt-home .case-study-card:hover .case-study-thumbnail{transform:scale(1.035)}
html.vt-home .case-study-content{padding:16px 16px 18px;position:relative;background:var(--vt-surface);z-index:1}
html.vt-home .case-study-title{color:var(--vt-text);font-size:15px;font-weight:700;letter-spacing:-.03em;line-height:1.5}
html.vt-home .case-study-meta{font-family:var(--vt-mono);font-size:11.5px;color:var(--vt-text-3)}
html.vt-home .case-carousel-btn{background:rgba(255,255,255,.04);color:var(--vt-text);border:1px solid var(--vt-line-2);border-radius:12px;box-shadow:none;width:44px;height:44px}
html.vt-home .case-carousel-btn:hover{background:var(--vt-accent);border-color:var(--vt-accent);color:var(--vt-bg)}
html.vt-home .case-carousel-indicators{gap:6px;flex-wrap:wrap;max-width:640px;margin-left:auto;margin-right:auto}
html.vt-home .case-carousel-indicators .indicator{width:14px;height:3px;border-radius:2px;background:rgba(255,255,255,.16)}
html.vt-home .case-carousel-indicators .indicator.active{background:var(--vt-accent);width:28px;transform:none}
html.vt-home .case-studies-cta{text-align:left;margin-top:28px}

/* ---------- 6. 강사 소개 ---------- */
html.vt-home .intro-section{background:transparent!important}
html.vt-home .intro-content{gap:clamp(24px,4vw,56px);align-items:start}
html.vt-home .intro-card{background:var(--vt-surface);border:1px solid var(--vt-line);border-radius:var(--vt-r-lg);box-shadow:0 40px 80px -40px rgba(0,0,0,.8);overflow:hidden;padding:0;text-align:left;color:var(--vt-text)}
html.vt-home .intro-card::before{content:"bash -- www.vibecodingschool.co.kr";font-family:var(--vt-mono);font-size:12px;color:var(--vt-text-2);display:flex;align-items:center;justify-content:center;padding-left:48px}
html.vt-home .intro-card > *:not(.instructor-photo){margin-left:28px;margin-right:28px}
html.vt-home .intro-card .instructor-photo{width:auto;height:auto;aspect-ratio:4/3;margin:0 0 24px;border:0;border-bottom:1px solid var(--vt-line);border-radius:0;box-shadow:none;overflow:hidden;background:var(--vt-bg-deep)}
html.vt-home .intro-card .instructor-photo picture{display:block;width:100%;height:100%}
html.vt-home .intro-card .instructor-photo img{border-radius:0;width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
html.vt-home .intro-card h3{font-size:clamp(40px,4.4vw,60px);font-weight:880;letter-spacing:-.06em;line-height:1;color:var(--vt-text);display:flex;align-items:baseline;gap:12px}
html.vt-home .intro-card h3::after{content:"bhyunco";font-size:18px;font-weight:500;letter-spacing:-.01em;color:var(--vt-text-2)}
html.vt-home .intro-role{font-family:var(--vt-mono);font-size:13px;color:var(--vt-accent);margin:12px 0 18px}
html.vt-home .intro-details{border-top:1px solid var(--vt-line);padding:14px 0 26px}
html.vt-home .intro-details p{font-size:14px;color:var(--vt-text-2);padding:7px 0;border-bottom:1px dashed rgba(255,255,255,.07);margin:0}
html.vt-home .intro-description{color:var(--vt-text-2);line-height:1.8}
html.vt-home .intro-description h3{color:var(--vt-text);font-size:22px;font-weight:800;letter-spacing:-.04em;margin:0 0 10px}
html.vt-home .intro-description h3.mt-4{margin-top:36px}
html.vt-home .intro-description p{color:var(--vt-text-2)}
html.vt-home .expertise-list li{border-bottom:1px solid var(--vt-line);padding:12px 0;color:var(--vt-text-2);list-style:none}
html.vt-home .expertise-list li strong{color:var(--vt-text)}

/* ---------- 7. AX 가이드 허브 (2곳) ---------- */
html.vt-home .ax-hub-section{background:transparent!important;padding:clamp(88px,10vw,150px) 0}
html.vt-home .ax-hub-grid{gap:0!important;border-top:1px solid var(--vt-line)}
html.vt-home .ax-hub-card{background:transparent;border:0;border-bottom:1px solid var(--vt-line);border-radius:0;box-shadow:none;padding:26px 8px;transition:background .3s}
html.vt-home .ax-hub-card:hover{background:rgba(255,255,255,.025)}
html.vt-home .ax-hub-card h3{color:var(--vt-text);font-size:clamp(19px,1.7vw,24px);font-weight:800;letter-spacing:-.04em}
html.vt-home .ax-hub-card p{color:var(--vt-text-2);font-size:14px}
html.vt-home .ax-hub-link{color:var(--vt-accent);font-family:var(--vt-mono);font-size:13px;text-decoration:none}
html.vt-home .ax-hub-academy a{color:var(--vt-text-3);font-family:var(--vt-mono);font-size:13px}

/* ---------- 8. 강의 안내·저서 ---------- */
html.vt-home .courses-section{background:transparent!important}
html.vt-home .course-card{background:var(--vt-surface);border:1px solid var(--vt-line);border-radius:var(--vt-r);box-shadow:none;color:var(--vt-text);text-align:left;transition:transform .4s var(--vt-ease),border-color .3s}
html.vt-home .course-card:hover{transform:translateY(-4px);border-color:var(--vt-line-2)}
html.vt-home .course-card.featured{border-color:rgba(169,156,232,.5);background:linear-gradient(180deg,rgba(169,156,232,.08),transparent 60%),var(--vt-surface)}
html.vt-home .course-icon{display:none}
html.vt-home .course-badge{background:transparent;color:var(--vt-accent);border:1px solid rgba(169,156,232,.45);font-family:var(--vt-mono);font-size:11.5px;font-weight:500;border-radius:8px}
html.vt-home .course-title{color:var(--vt-text);font-weight:800;letter-spacing:-.04em}
html.vt-home .course-description{color:var(--vt-text-2)}
html.vt-home .course-features li{color:var(--vt-text-2);border-color:var(--vt-line)}
html.vt-home .btn-course{background:rgba(255,255,255,.04);color:var(--vt-text);border:1px solid var(--vt-line-2)}
html.vt-home .btn-course:hover{background:var(--vt-accent);color:var(--vt-bg);border-color:var(--vt-accent);box-shadow:none}
html.vt-home .course-card.featured .btn-course{background:var(--vt-accent);color:var(--vt-bg);border-color:var(--vt-accent)}
html.vt-home .books-grid .course-card a[style]{color:var(--vt-text-3)!important}

/* ---------- 9. 수강생 후기 캐러셀 (gap 2rem 유지) ---------- */
html.vt-home .reviews-section{background:transparent!important}
html.vt-home .reviews-carousel{gap:2rem}
html.vt-home .review-card{background:var(--vt-surface);border:1px solid var(--vt-line);border-radius:var(--vt-r);box-shadow:none;color:var(--vt-text)}
html.vt-home .review-card:hover{box-shadow:0 24px 48px -24px rgba(0,0,0,.8);border-color:var(--vt-line-2)}
html.vt-home .review-text{color:var(--vt-text);font-size:16px;font-weight:600;letter-spacing:-.03em;line-height:1.6}
html.vt-home .review-author{color:var(--vt-text)}
html.vt-home .review-meta{font-family:var(--vt-mono);font-size:12px;color:var(--vt-text-3)}
html.vt-home .carousel-btn{background:rgba(255,255,255,.04);border:1px solid var(--vt-line-2);color:var(--vt-text);border-radius:12px;width:44px;height:44px}
html.vt-home .carousel-btn:hover{background:var(--vt-accent);color:var(--vt-bg);border-color:var(--vt-accent)}
html.vt-home .carousel-indicator{width:14px;height:3px;border-radius:2px;background:rgba(255,255,255,.16)}
html.vt-home .carousel-indicator.active{background:var(--vt-accent);width:28px;border-radius:2px}

/* ---------- 10. 교육 성과 ---------- */
html.vt-home .achievements-section{background:transparent!important}
html.vt-home .achievements-grid{gap:16px}
html.vt-home .achievement-card{background:var(--vt-surface);border:1px solid var(--vt-line);border-radius:var(--vt-r);box-shadow:none;padding:0;overflow:hidden;text-align:left}
html.vt-home .achievement-card > *{margin-left:22px;margin-right:22px}
html.vt-home .achievement-number{font-size:clamp(40px,4.4vw,64px);font-weight:880;letter-spacing:-.06em;color:var(--vt-text);margin-top:24px;line-height:1;font-variant-numeric:tabular-nums}
html.vt-home .achievement-label{color:var(--vt-accent);font-family:var(--vt-mono);font-size:12.5px;margin-top:10px}
html.vt-home .achievement-desc{color:var(--vt-text-3);font-size:13px;margin-bottom:22px}
html.vt-home .story-card{background:var(--vt-surface);border:1px solid var(--vt-line);border-radius:var(--vt-r);box-shadow:none;color:var(--vt-text)}
html.vt-home .story-card h4{color:var(--vt-text);font-weight:800}
html.vt-home .story-card p{color:var(--vt-text-2)}
html.vt-home .story-card strong{color:var(--vt-accent)}
html.vt-home .story-tag{background:transparent;color:var(--vt-text-3);border:1px solid var(--vt-line-2);font-family:var(--vt-mono);font-size:11px;border-radius:6px}

/* ---------- 11. FAQ (전부 인라인 style → !important. display는 절대 건드리지 않음: onclick 토글) ---------- */
html.vt-home #faq{background:transparent!important}
html.vt-home #faq .faq-item{background:var(--vt-surface)!important;border:1px solid var(--vt-line);box-shadow:none!important;border-radius:14px!important}
html.vt-home #faq .faq-question{color:var(--vt-text)!important;font-weight:700!important;letter-spacing:-.02em;min-height:56px}
html.vt-home #faq .faq-question::before{content:"?";font-family:var(--vt-mono);color:var(--vt-accent);margin-right:12px;font-weight:500}
html.vt-home #faq .faq-question.open{color:var(--vt-accent)!important}
html.vt-home #faq .faq-item > div{color:var(--vt-text-2)!important}

/* ---------- 12. 문의 ---------- */
html.vt-home .contact-section{background:transparent!important}
html.vt-home .contact-info{background:var(--vt-surface);border:1px solid var(--vt-line);border-radius:var(--vt-r-lg);box-shadow:none;padding:28px}
html.vt-home .contact-info h3{color:var(--vt-text);font-weight:800;letter-spacing:-.04em}
html.vt-home .contact-info .info-item{border-top:1px solid var(--vt-line);padding:16px 0;background:transparent}
html.vt-home .contact-info .info-item strong{font-family:var(--vt-mono);font-size:12px;font-weight:500;color:var(--vt-accent)}
html.vt-home .contact-info .info-item p{color:var(--vt-text-2)}
html.vt-home .contact-form-wrapper{background:var(--vt-surface);border:1px solid var(--vt-line);border-radius:var(--vt-r-lg);box-shadow:0 40px 80px -40px rgba(0,0,0,.8);overflow:hidden;padding:0}
html.vt-home .contact-form-wrapper::before{content:"inquiry.form — vibecodingschool.co.kr";font-family:var(--vt-mono);font-size:12px;color:var(--vt-text-2);display:flex;align-items:center;justify-content:center;padding-left:48px}
html.vt-home .contact-form{padding:24px 26px 28px;background:transparent;box-shadow:none}
html.vt-home .contact-form .form-group label{font-family:var(--vt-mono);font-size:12px;color:var(--vt-text-2);font-weight:500}
html.vt-home .contact-form input,html.vt-home .contact-form textarea,html.vt-home .contact-form select{background:var(--vt-bg-deep);border:1px solid var(--vt-line-2);color:var(--vt-text);border-radius:10px;font-size:15px;min-height:46px}
html.vt-home .contact-form input:focus,html.vt-home .contact-form textarea:focus{border-color:var(--vt-accent);box-shadow:0 0 0 3px rgba(169,156,232,.18);outline:none}
html.vt-home .contact-form ::placeholder{color:var(--vt-text-3)}
html.vt-home .contact-form-wrapper .form-message{margin:0 26px 24px}
html.vt-home .form-message.success{background:rgba(191,211,122,.12);color:var(--vt-green);border:1px solid rgba(191,211,122,.35)}
html.vt-home .form-message.error{background:rgba(242,109,91,.12);color:#FF9A8B;border:1px solid rgba(242,109,91,.35)}

/* ---------- 13. 푸터 (전 페이지: 홈은 .footer, 서브페이지는 body > footer) ---------- */
html.vt body > footer,html.vt .footer{background:var(--vt-bg-deep)!important;color:var(--vt-text-3)!important;border-top:1px solid var(--vt-line)}
html.vt body > footer a,html.vt .footer a{color:var(--vt-text-2)!important}
html.vt body > footer a:hover,html.vt .footer a:hover{color:var(--vt-accent)!important}
html.vt body > footer h1,html.vt body > footer h2,html.vt body > footer h3,html.vt body > footer h4,html.vt body > footer strong{color:var(--vt-text)!important}

/* ---------- 14. 모바일 하단 고정 CTA (vcs-terminal.js가 기존 히어로 버튼 링크를 복제해 생성) ---------- */
html.vt .vt-mcta{display:none}
@media (max-width:768px){
  html.vt .vt-mcta{display:flex;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom, 0px));z-index:900;gap:8px;padding:8px;border-radius:16px;background:rgba(40,36,47,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--vt-line-2);box-shadow:0 20px 40px -12px rgba(0,0,0,.7);transform:translateY(140%);visibility:hidden;pointer-events:none;transition:transform .45s var(--vt-ease),visibility 0s linear .45s}
  html.vt .vt-mcta.on{transform:none;visibility:visible;pointer-events:auto;transition:transform .45s var(--vt-ease),visibility 0s}
  html.vt .vt-mcta a{flex:1;min-height:48px;display:flex;align-items:center;justify-content:center;border-radius:11px;font-weight:700;font-size:15px;text-decoration:none;color:var(--vt-text);border:1px solid var(--vt-line-2)}
  html.vt .vt-mcta a.p{background:var(--vt-accent);color:var(--vt-bg);border-color:var(--vt-accent)}
  html.vt body{padding-bottom:calc(84px + env(safe-area-inset-bottom, 0px))}
}

/* ---------- 15. 반응형 공통 ---------- */
@media (max-width:900px){
  html.vt-home .section-header{grid-template-columns:1fr}
  html.vt-home .section-subtitle{justify-self:start}
}
@media (max-width:768px){
  html.vt-home .case-studies-carousel-wrapper{padding:0 40px}
  html.vt-home .intro-card > *:not(.instructor-photo){margin-left:20px;margin-right:20px}
}

/* ---------- 16. 스크롤 등장 모션: 관찰 실패·JS 실패에도 본문은 항상 보임 ---------- */
html.vt.vt-js .vt-rv{opacity:1;transform:none}
html.vt.vt-js .vt-rv.in{animation:vt-reveal .9s var(--vt-ease) both}
@keyframes vt-reveal{from{opacity:.7;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  html.vt *,html.vt *::before,html.vt *::after{animation:none!important;transition:none!important}
  html.vt.vt-js .vt-rv{opacity:1;transform:none}
}


/* ---------- 17. 서브페이지 (html.vt-sub) ----------
   서브페이지 27종은 템플릿마다 흰 배경 기준 색이 인라인 <style>에 박혀 있다.
   → 메뉴·상단 제목 영역(히어로)·푸터만 터미널 다크로 바꾸고, 본문은 원래 색 그대로 둔다(가독성 보장).
   대상 히어로: body > div.hero · header.wl-hero · div.board-header · section.ax-hero (모두 흰 글자 + 그라데이션) */
html.vt-sub body{letter-spacing:-.01em}
html.vt-sub body > .hero,
html.vt-sub body > header.wl-hero,
html.vt-sub body > .board-header,
html.vt-sub body > section.ax-hero{
  position:relative; isolation:isolate; overflow:hidden;
  background:
    radial-gradient(ellipse 60% 90% at 88% -10%,rgba(169,156,232,.22),transparent 60%),
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px) 0 0/64px 64px,
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px) 0 0/64px 64px,
    var(--vt-bg) !important;
  color:var(--vt-text);
  border-bottom:1px solid var(--vt-line);
}
/* 기존 히어로의 장식 가상요소(배경 이미지 등)는 톤을 해치므로 흐리게 */
html.vt-sub body > .hero::before,html.vt-sub body > header.wl-hero::before,
html.vt-sub body > .board-header::before,html.vt-sub body > section.ax-hero::before{opacity:.08}
html.vt-sub .vt-subhero h1{font-weight:850!important;letter-spacing:-.055em!important;line-height:1.12;color:var(--vt-text)!important;word-break:keep-all}
html.vt-sub .vt-subhero p{color:var(--vt-text-2)!important}
html.vt-sub .vt-subhero p strong,html.vt-sub .vt-subhero p b{color:var(--vt-text)!important}
/* 히어로 안 배지·통계 칩 */
html.vt-sub .vt-subhero .badge,html.vt-sub .vt-subhero .hero-stat{
  background:rgba(255,255,255,.04)!important;border:1px solid var(--vt-line-2)!important;color:var(--vt-text-2)!important;border-radius:8px!important;font-family:var(--vt-mono);font-size:12.5px}
/* 히어로 버튼: JS가 원래 색을 보고 분류 → 노랑(주 CTA)=라벤더, 흰색=밝은 고스트, 투명=고스트 */
html.vt-sub .vt-subhero a.vt-btn-main{background:var(--vt-accent)!important;color:var(--vt-bg)!important;border-color:var(--vt-accent)!important;box-shadow:0 10px 30px -12px rgba(169,156,232,.65)!important}
html.vt-sub .vt-subhero a.vt-btn-light{background:rgba(255,255,255,.92)!important;color:var(--vt-bg)!important;border-color:transparent!important}
html.vt-sub .vt-subhero a.vt-btn-ghost{background:rgba(255,255,255,.04)!important;color:var(--vt-text)!important;border:1px solid var(--vt-line-2)!important}
html.vt-sub .vt-subhero a.vt-btn-main,html.vt-sub .vt-subhero a.vt-btn-light,html.vt-sub .vt-subhero a.vt-btn-ghost{border-radius:12px!important;font-weight:700!important;transition:transform .25s var(--vt-ease),background .25s}
html.vt-sub .vt-subhero a.vt-btn-main:hover,html.vt-sub .vt-subhero a.vt-btn-light:hover,html.vt-sub .vt-subhero a.vt-btn-ghost:hover{transform:translateY(-2px)}
html.vt-sub .vt-subhero a:not([class*="btn"]){color:var(--vt-text-2)}
/* JS가 넣는 경로 키커 (~/vibecodingschool/corporate $) */
html.vt-sub .vt-crumb{font-family:var(--vt-mono);font-size:13px;color:var(--vt-text-3);margin:0 auto 18px!important;max-width:none!important;width:auto;padding:0!important;display:block;text-align:inherit;word-break:break-all}
html.vt-sub .vt-crumb .vt-caret{margin-left:6px;vertical-align:-3px}
html.vt-sub .vt-crumb b{color:var(--vt-accent);font-weight:500}
html.vt-sub .vt-crumb .vt-caret{display:inline-block;width:8px;height:16px;background:var(--vt-accent);animation:vt-blink 1.05s steps(1) infinite}
/* 상단 영역 아래 본문 시작부에 얇은 라벤더 라인 */
html.vt-sub body > .hero + *,html.vt-sub body > header.wl-hero + *,html.vt-sub body > .board-header + *,html.vt-sub body > section.ax-hero + *{border-top:0}
/* 서브페이지 본문은 밝은 배경 → 반투명 메뉴가 회색으로 탁해지지 않도록 거의 불투명하게 */
html.vt-sub nav.navbar{background:rgba(22,20,27,.96)!important}
/* 히어로 안 색 배경 칩(노랑 라벨 등) → 라벤더 외곽선 칩 (JS가 분류) */
html.vt-sub .vt-subhero .vt-chip{background:rgba(169,156,232,.10)!important;color:var(--vt-accent)!important;border:1px solid rgba(169,156,232,.45)!important;box-shadow:none!important}
/* 페이지별 a 스타일이 로고에 밑줄을 넣는 경우 방지 */
html.vt nav.navbar .nav-brand a,html.vt nav.navbar .nav-menu a{text-decoration:none!important}

/* ---------- 18. 모바일 메뉴 스크롤 (전 페이지) ----------
   서브페이지 메뉴는 항목이 많아 펼치면 화면보다 길어진다 → 맨 아래 한/영 버튼에 손이 닿지 않던 문제(원래 사이트도 작은 폰에서 발생).
   펼친 메뉴를 화면 높이 안에 두고 내부 스크롤. open 클래스 토글(헤더 스크립트)은 그대로. */
@media (max-width:900px){
  html.vt nav.navbar .nav-right.open{max-height:calc(100vh - 72px);max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
}

/* ---------- 19. 태블릿·작은 노트북(901~1180px) 메뉴 접기 ----------
   메뉴 13개가 한 줄에 안 들어가 원래 사이트도 1024px에서 가로 스크롤(+70px)이 생긴다.
   이 구간에서도 햄버거 메뉴를 쓴다. 열고 닫기는 기존 헤더 스크립트의 .open 토글을 그대로 사용. */
@media (min-width:901px) and (max-width:1180px){
  html.vt nav.navbar .hamburger{display:flex!important}
  html.vt nav.navbar .nav-right{display:none!important;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1rem clamp(16px,3vw,32px) 1.5rem;background:var(--vt-surface);border-bottom:1px solid var(--vt-line);box-shadow:0 30px 60px -20px rgba(0,0,0,.8);z-index:999;max-height:calc(100vh - 72px);max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain}
  html.vt nav.navbar .nav-right.open{display:flex!important}
  html.vt nav.navbar .nav-menu{flex-direction:column;align-items:flex-start;width:100%;flex-wrap:nowrap}
  html.vt nav.navbar .nav-menu li{width:100%;border-bottom:1px solid var(--vt-line)}
  html.vt nav.navbar .nav-menu li:last-child{border-bottom:0}
  html.vt nav.navbar .nav-menu li a{font-size:.95rem;padding:.75rem 0;min-height:44px;display:flex;align-items:center;color:var(--vt-text)}
  html.vt nav.navbar .nav-dropdown-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-radius:0;padding:0 0 .4rem .9rem;min-width:0;background:transparent}
  html.vt nav.navbar .nav-dropdown-menu li{border-bottom:0}
  html.vt nav.navbar .nav-dropdown-menu li a{font-size:.88rem;padding:.5rem 0;color:var(--vt-text-2)}
  html.vt nav.navbar .nav-dropdown > .nav-dropdown-toggle::after{content:""}
  html.vt nav.navbar .lang-toggle{margin-top:.25rem}
}

/* ---------- 20. 사례 온톨로지 3D 그래프 — v1.2 terminal design language ---------- */
html.vt-home .vt-stage canvas{cursor:grab;touch-action:pan-y;-webkit-tap-highlight-color:transparent}
html.vt-home .vt-stage canvas:active{cursor:grabbing}
html.vt-home .vt-stage .vt-cmd,html.vt-home .vt-stage .vt-log,html.vt-home .vt-mini{pointer-events:none}
html.vt-home .vt-stage .vt-log .vt-hint{color:var(--vt-text-2)}
/* Stable layout boxes: only composited transforms/opacity change when the graph becomes ready.
   Never transition width/top/left/font-size/padding here: those caused measurable CLS on 4× CPU. */
html.vt-home .vt-stage .vt-mini{width:170px;min-width:170px;box-sizing:border-box;transition:opacity .35s,transform .6s var(--vt-ease)}
html.vt-home .vt-stage .vt-mini .vt-mini-b{overflow:hidden}
html.vt-home .vt-stage .vt-mini .vt-v,
html.vt-home .vt-stage .vt-mini .vt-k{white-space:nowrap}
html.vt-home .vt-stage .vt-mini .vt-v{transition:transform .6s var(--vt-ease);transform-origin:left center}
html.vt-home .vt-stage.vt-graph-ready .vt-mini{opacity:.92;transform:translate3d(0,0,0) scale(.88)}
html.vt-home .vt-stage.vt-graph-ready .vt-mini .vt-v{transform:scale(.84)}
html.vt-home .vt-stage.vt-graph-ready .vt-mini.m1{transform-origin:left top;transform:translate3d(clamp(12px,1.6vw,24px),calc(-1 * clamp(90px,12vw,170px)),0) scale(.88)}
html.vt-home .vt-stage.vt-graph-ready .vt-mini.m2{transform-origin:right top;transform:translate3d(calc(-1 * clamp(6px,.8vw,12px)),calc(-1 * clamp(48px,5.6vw,78px)),0) scale(.88)}
html.vt-home .vt-stage.vt-graph-ready .vt-mini.m3{transform-origin:right bottom;transform:translate3d(clamp(18px,2.4vw,36px),clamp(40px,5.2vw,74px),0) scale(.88)}
html.vt-home .vt-stage.vt-card-open .vt-mini{opacity:0!important}
@media (hover:hover){html.vt-home .vt-stage.vt-graph-ready:hover .vt-mini{opacity:.12}}

html.vt-home .vt-node-card{position:absolute;z-index:5;top:52px;right:14px;width:min(300px,calc(100% - 28px));border-radius:14px;overflow:hidden;
  background:rgba(30,27,36,.96);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);
  border:1px solid rgba(169,156,232,.5);box-shadow:0 30px 60px -20px rgba(0,0,0,.85);
  opacity:0;transform:translateY(8px) scale(.98);pointer-events:none;transition:opacity .3s var(--vt-ease),transform .3s var(--vt-ease)}
html.vt-home .vt-node-card[hidden]{display:none}
html.vt-home .vt-node-card.left{right:auto;left:14px}
html.vt-home .vt-node-card.on{opacity:1;transform:none;pointer-events:auto}
html.vt-home .vt-nc-x{position:absolute;top:4px;right:4px;z-index:2;width:44px;height:44px;border-radius:10px;border:1px solid var(--vt-line-2);background:rgba(22,20,27,.85);color:var(--vt-text);font-size:22px;line-height:1;cursor:pointer}
html.vt-home .vt-nc-img{aspect-ratio:16/9;background:var(--vt-bg-deep);overflow:hidden}
html.vt-home .vt-nc-img[hidden]{display:none}
html.vt-home .vt-nc-img img{width:100%;height:100%;object-fit:cover;display:block}
html.vt-home .vt-nc-b{padding:14px 16px 16px;display:grid;gap:7px}
html.vt-home .vt-nc-tag{justify-self:start;font-family:var(--vt-mono);font-size:11px;color:var(--vt-accent);border:1px solid rgba(169,156,232,.45);border-radius:6px;padding:2px 8px}
html.vt-home .vt-nc-chips{display:flex;gap:5px;flex-wrap:wrap}
html.vt-home .vt-nc-chip{font:10px var(--vt-mono);color:var(--vt-text-2);background:rgba(169,156,232,.12);border-radius:4px;padding:3px 6px}
html.vt-home .vt-nc-t{margin:0;font-size:14.5px;font-weight:700;letter-spacing:-.03em;line-height:1.45;color:var(--vt-text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
html.vt-home .vt-nc-m{margin:0;font-size:20px;font-weight:880;letter-spacing:-.05em;color:var(--vt-accent)}
html.vt-home .vt-nc-meta{margin:0;display:flex;justify-content:space-between;font-family:var(--vt-mono);font-size:11px;color:var(--vt-text-3)}
html.vt-home .vt-nc-go{justify-self:start;margin-top:4px;min-height:44px;display:inline-flex;align-items:center;padding:0 14px;border-radius:10px;background:var(--vt-accent);color:var(--vt-bg)!important;font-weight:700;font-size:14px;text-decoration:none}
html.vt-home .vt-nc-go:hover{background:#BDB2F0}
html.vt-home .vt-nc-go:focus-visible,html.vt-home .vt-nc-x:focus-visible{outline:2px solid var(--vt-accent);outline-offset:2px}
html.vt-home .vt-skill-item{border-top:1px solid var(--vt-line);padding:7px 0;display:grid;gap:3px}
html.vt-home .vt-skill-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
html.vt-home .vt-skill-item small{font-family:var(--vt-mono);font-size:10px;color:var(--vt-accent)}
html.vt-home .vt-sr-list{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html.vt-home .vt-sr-node{display:block;width:1px;height:1px;padding:0;margin:0;border:0;background:transparent;color:transparent}
@media (max-width:640px){
  html.vt-home .vt-node-card{top:auto;bottom:12px;left:12px;right:12px;width:auto;max-height:78%;overflow-y:auto}
  html.vt-home .vt-node-card.left{left:12px;right:12px}
  html.vt-home .vt-nc-img{display:none}
}
