/* ==========================================================================
   Adobe 스타일 테마 (2026-10-08) — adobe.com/kr 의 색·모양 조합 참고
   (로고·Adobe 전용 글꼴 등 브랜드 요소는 쓰지 않음)
   연회색 바탕 + 흰 판 · 굵은 검정 제목 · 분홍→주황 배너 · 파랑/검정 알약 버튼
   되돌리기: HTML에서 이 파일 연결 한 줄을 지우면 보라(Luna Night)로 돌아감
   ========================================================================== */
:root {
  --bg: #f5f5f5;
  --panel: #f5f5f5;
  --line: #e1e1e1;
  --line-2: #cacaca;
  --text: #131313;
  --text-2: #4b4b4b;
  --text-3: #6e6e6e;
  --blue: #131313;        /* 제목·메뉴 */
  --blue-2: #0265dc;      /* 링크 */
  --blue-soft: #edf3fd;
  --red: #0265dc;         /* 주 버튼(파랑) */
  --gold: #b26a00;
  --gold-soft: #fdf4e6;
  --gray: #8e8e8e;
  --green: #12805c;
  --pill: 999px;
  --round: 16px;
}
body { background: var(--bg); color: var(--text-2); }

/* 맨 위 띠: 검정-짙은 빨강 그라데이션 */
.util { background: linear-gradient(90deg, #120808 0%, #5a0b04 35%, #8a1d07 55%, #3a0904 80%, #120808 100%); border-bottom: 0; color: #f1d9d4; }
.util a { color: #fff; }
.util-links a:hover { color: #ffd2c4; }

/* 머리: 흰 바탕, 둥근 검색창, 알약 버튼 */
.header { background: #fff; }
.logo-text b { color: var(--text); font-weight: 900; }
.logo-text small { color: #eb1000; letter-spacing: .3em; }
.topsearch { border: 2px solid var(--line-2); border-radius: var(--pill); height: 44px; background: #fff; }
.topsearch select { border-right: 1px solid var(--line); background: #fff; border-radius: var(--pill) 0 0 var(--pill); padding-left: 16px; }
.topsearch button { background: var(--text); border-radius: var(--pill); margin: 3px; padding: 0 20px; }
.topsearch button:hover { background: #2c2c2c; }
.btn-pilot { background: var(--red); border-color: var(--red); color: #fff; border-radius: var(--pill); padding: 9px 18px; }
.btn-pilot:hover { background: #0054b6; border-color: #0054b6; color: #fff; }

/* 메뉴: 흰 바탕 검정 글자, 선택은 검정 밑줄 */
.gnb { background: #fff; border-bottom: 1px solid var(--line); }
.gnb a { color: #292929; font-weight: 500; font-size: 14.5px; }
.gnb a:hover, .gnb a.on { color: var(--text); }
.gnb a.on { font-weight: 700; }
.gnb a.on::after { background: var(--text); height: 2px; }
.gnb a i { color: #fff; background: #eb1000; border: 0; border-radius: 4px; padding: 0 5px; font-weight: 700; }
.ticker { background: var(--bg); border-bottom: 0; }
.ticker strong { color: #eb1000; }

/* 본문: 연회색 위 흰 판 */
.layout { padding-top: 20px; }
.content > .block, .content > section.block { background: #fff; border-radius: var(--round); padding: 22px 24px; }
.block-head { border-bottom: 0; padding-bottom: 4px; }
.block-head h2 { font-weight: 900; color: var(--text); font-size: 20px; }
.dot { display: none; }

/* 큰 배너: 분홍 → 주황, 아래로 흰색에 녹아듦 */
.hero-rec {
  border: 0; border-radius: var(--round); padding: 32px 28px 26px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.65) 38%, #fff 62%),
    linear-gradient(100deg, #ff6aa0 0%, #ff8a7a 40%, #ffa24e 75%, #f8901f 100%);
}
.hero-kicker { color: #131313; font-weight: 700; }
.hero-rec h1 { color: var(--text); font-weight: 900; }
.hero-rec h1 em { color: #eb1000; }
.hero-rec h1 s { color: #6e6e6e; }
.rec-form { background: #fff; border-radius: 14px; padding: 16px; box-shadow: 0 2px 10px rgba(0, 0, 0, .06); }
.rec-form input, .rec-form textarea, .rec-filters select { border: 1px solid var(--line-2); border-radius: 8px; background: #fff; }
.rec-form input:focus, .rec-form textarea:focus { outline: 2px solid #b5d3fb; border-color: var(--blue-2); }
.rec-filters { border: 1px solid var(--line); border-radius: 10px; }
.rec-actions button[type="submit"] { background: var(--text); border-radius: var(--pill); padding: 11px 24px; font-weight: 700; }
.rec-actions button[type="submit"]:hover { filter: none; background: #2c2c2c; }
.compare { border-radius: 12px; overflow: hidden; }
.compare thead th { background: var(--bg); }
.compare thead th:last-child, .compare td:last-child { background: var(--blue-soft); }

/* 카드: 흰 바탕, 둥근 모서리, 옅은 테두리, 색 띠 없음 */
.jcard, .jcard.top, .jcard.cand, .jcard.wos, .jcard.intl, .jcard.cssci {
  background: #fff; border: 1px solid var(--line); border-top: 1px solid var(--line); border-radius: 14px; padding: 14px;
}
.jcard:hover { box-shadow: 0 6px 18px rgba(0, 0, 0, .08); transform: none; border-color: var(--line-2); }
.jcard .mono, .jcard.top .mono, .jcard.cand .mono, .jcard.wos .mono, .jcard.intl .mono, .jcard.cssci .mono {
  border-radius: 7px; width: 26px; height: 26px; font-size: 12px; background: #131313;
}
.jcard.top .mono { background: #eb1000; }
.jcard-name { color: var(--text); }
.grade { background: #f0f0f0; color: #4b4b4b; border-radius: 4px; }
.grade.top { background: #fff1e0; color: #b26a00; }
.grade.cand { background: #f0f0f0; color: #8e8e8e; }

/* 탭: 알약 대신 글자 + 검정 밑줄 */
.tabs { gap: 2px 18px; border-bottom: 1px solid var(--line); margin-bottom: 14px; }
.tabs button { border: 0; background: none; border-radius: 0; padding: 8px 1px 10px; color: #4b4b4b; font-weight: 500; }
.tabs button:hover { color: var(--text); border: 0; }
.tabs button[aria-selected="true"] { background: none; color: var(--text); font-weight: 700; box-shadow: inset 0 -2px 0 var(--text); }
.legend .g-top { background: #eb1000; } .legend .g-reg { background: #131313; } .legend .g-cand { background: #cacaca; }
.idx-tabs button[aria-selected="true"] { border-top: 0; border-color: transparent; box-shadow: inset 0 -2px 0 var(--text); color: var(--text); background: none; }
.idx-tabs button { border-radius: 0; }
.idx, .badge { border-radius: 4px; }
.idx-wos, .idx-lv { border-color: #4b4b4b; color: #4b4b4b; }
.idx-erih, .idx-cssci { border-color: #eb1000; color: #d31510; }
.idx-scopus { border-color: #b26a00; color: #b26a00; }
.badge-kci { border-color: #b26a00; color: #b26a00; }

/* 추천 결과 */
.gj { background: #fff; border: 1px solid var(--line); border-left: 1px solid var(--line); border-radius: 14px; }
.analysis { background: var(--bg); border: 0; border-radius: 10px; }
.claude-box { background: var(--blue-soft); border: 0; border-radius: 10px; }
.claude-box b { color: var(--blue-2); }
.claude-fit { background: #f7f7f7; border-left: 0; border-radius: 8px; }
.claude-fit .stars { color: #eb1000; }
.btn-compare { border-radius: var(--pill); border-color: var(--line-2); color: #292929; }
.btn-compare.on { background: var(--text); border-color: var(--text); color: #fff; }
.inline-search { border: 2px solid var(--line-2); border-radius: var(--pill); }
.inline-search button { background: var(--text); border-radius: var(--pill); margin: 3px; }
.chips button, .examples button { border-radius: var(--pill); }

/* 오른쪽 상자: 흰 판 */
.side-box { background: #fff; border: 0; border-radius: var(--round); }
.side-box h3 { border-bottom: 0; color: var(--text); font-weight: 900; }
.banner, .banner-blue, .banner-gold { border-radius: var(--round); border: 0; }
.banner-blue { background: linear-gradient(135deg, #1f1f1f 0%, #3a0d07 60%, #8a1d07 100%); }
.banner-gold { background: linear-gradient(120deg, #ff6aa0 0%, #ffa24e 100%); color: #131313; }
.banner-gold span, .banner-gold small { color: #131313; opacity: .85; }
.banner::after { content: none; }
.banner em { background: #fff; color: #131313; border-radius: var(--pill); padding: 5px 12px; }
.btn-suggest { border-radius: var(--pill); border-color: var(--line-2); color: #292929; }
.btn-suggest:hover { background: var(--text); color: #fff; border-color: var(--text); }
.mini-dl a { color: var(--text); }
.mini-dl span { color: #d31510; }
.dl-badge { color: #d31510; border-color: #d31510; border-radius: 4px; }
.dl-badge.soon { background: #eb1000; border-color: #eb1000; color: #fff; }

/* 형식 변환 · 요금제 */
.format-flow div { background: #fff; border-color: var(--line); }
.format-flow div:first-child { border-radius: 12px 0 0 12px; } .format-flow div:last-child { border-radius: 0 12px 12px 0; }
.format-flow b { background: var(--text); }
.plan { border-radius: var(--round); border-color: var(--line); }
.plan-pro { border: 2px solid var(--text); box-shadow: 0 8px 22px rgba(0, 0, 0, .08); }
.plan-tag { background: #eb1000; border-radius: var(--pill); }
.plan-btn { background: var(--red); border-radius: var(--pill); }
.plan-btn:hover { background: #0054b6; }
.plan-btn-line { background: #fff; color: var(--text); border: 2px solid var(--text); }

/* 알림 · 대화상자 · 비교 막대 */
.notice { background: #fff8eb; border: 0; border-radius: 10px; color: #5c3b00; }
dialog.suggest { border-radius: var(--round); }
.btn-send { background: var(--red); border-radius: var(--pill); }
.btn-cancel { border-radius: var(--pill); }
.compare-bar { background: #131313; }
.compare-go { background: var(--red); border-radius: var(--pill); }
.compare-table { border-radius: 12px; overflow: hidden; }
.compare-table thead th { background: #131313; }
.footer { background: var(--bg); border-top: 0; }

/* 상세 · 비교 · 캘린더 페이지 */
.jd { background: transparent; }
.jd-head { background: #fff; border-radius: var(--round); padding: 20px 24px; border-bottom: 0; }
.jd-head h1 { color: var(--text); font-weight: 900; }
.tile { background: #fff; border: 0; border-radius: 14px; }
.tile dd { color: var(--text); font-weight: 900; }
.tile-sch { background: #fff; box-shadow: inset 0 0 0 2px #ffd9cc; }
.jd-topics li { background: var(--bg); color: #4b4b4b; border-radius: var(--pill); }
.rv-list li { background: #fff; border: 0; border-radius: 12px; }
.rv-write, .sched-facts { background: #fff; border: 0; border-radius: 14px; }
.dl-list { background: #fff; border-radius: var(--round); padding: 6px 20px 14px; }
.dl-month { border-bottom: 2px solid var(--text); }
.dl-d { color: #4b4b4b; } .dl-d.soon { color: #d31510; }
.jd-grid .block { background: #fff; border-radius: var(--round); padding: 18px 20px; }

/* 로고: TUGO 네 글자를 '투고' 폭 양끝에 맞춤 */
.logo-text { align-items: stretch; }
.logo-text small { display: flex; justify-content: space-between; letter-spacing: 0 !important; margin-top: 2px; font-size: 10.5px; line-height: 1; }
.logo-text small i { font-style: normal; }
