/* ==========================================================
   design/aden.css — 새 디자인 '아덴 나이트' (2026-10-09, docs/기획/디자인-리뉴얼_plan.md)

   켜짐: <html class="d-aden"> — BaseController::resolveDesign()이 정하고, 레이아웃이 이 파일을 화면 CSS 뒤에 불러온다.
   모든 규칙은 .d-aden 아래에만 둔다. 이 파일을 불러오지 않으면(디자인 'classic') 이전 디자인이 그대로다.
   복원: app/Config/Design.php $default = 'classic' (전체) · 바닥글 '이전 디자인으로 보기'(방문자별)

   방향: 아데나(금화)를 주제 색으로, 남색 밤하늘 위에 금빛 — 선으로 나눈 터미널 대신 카드로 정리한 데이터 화면.
   색은 모두 WCAG AA 실측(기획 §2-1). 숫자는 Pretendard 같은 폭 숫자(tnum).
   ========================================================== */

/* ── 1. 토큰 ──────────────────────────────────────────── */
:root.d-aden {
  --bg-body:     #0B0F17;
  --bg-surface:  #121826;
  --bg-elevated: #182032;
  --bg-hover:    #1D263A;
  --bg-active:   #253049;

  --text-primary:   #ECEFF5;
  --text-secondary: #B6BFCE;
  --text-tertiary:  #959FB2;
  --text-muted:     #8F9AAE;
  --text-on-accent: #1A1300;

  --color-up:          #2BC48A;
  --color-up-bg:       rgba(43, 196, 138, 0.12);
  --color-up-bg-20:    rgba(43, 196, 138, 0.2);
  --color-down:        #F4646F;
  --color-down-strong: #FF7F89;
  --color-down-bg:     rgba(244, 100, 111, 0.12);
  --color-down-bg-20:  rgba(244, 100, 111, 0.2);
  --color-accent:       #F2C14E;
  --color-accent-hover: #F7D27E;
  --color-accent-bg:    rgba(242, 193, 78, 0.1);
  --color-info:   #62A8FF;
  --color-purple: #A897FF;
  --color-orange: #FF9F5A;

  --color-up-a05: rgba(43,196,138,0.05);  --color-up-a10: rgba(43,196,138,0.1);  --color-up-a20: rgba(43,196,138,0.2);
  --color-up-a30: rgba(43,196,138,0.3);  --color-up-a50: rgba(43,196,138,0.5);  --color-up-a80: rgba(43,196,138,0.8);
  --color-down-a05: rgba(244,100,111,0.05);  --color-down-a10: rgba(244,100,111,0.1);  --color-down-a20: rgba(244,100,111,0.2);
  --color-down-a30: rgba(244,100,111,0.3);  --color-down-a50: rgba(244,100,111,0.5);  --color-down-a80: rgba(244,100,111,0.8);
  --color-accent-a05: rgba(242,193,78,0.05);  --color-accent-a10: rgba(242,193,78,0.1);  --color-accent-a20: rgba(242,193,78,0.2);
  --color-accent-a30: rgba(242,193,78,0.3);  --color-accent-a50: rgba(242,193,78,0.5);  --color-accent-a80: rgba(242,193,78,0.8);
  --color-info-a05: rgba(98,168,255,0.05);  --color-info-a10: rgba(98,168,255,0.1);  --color-info-a20: rgba(98,168,255,0.2);
  --color-info-a30: rgba(98,168,255,0.3);  --color-info-a50: rgba(98,168,255,0.5);  --color-info-a80: rgba(98,168,255,0.8);
  --color-purple-a05: rgba(168,151,255,0.05);  --color-purple-a10: rgba(168,151,255,0.1);  --color-purple-a20: rgba(168,151,255,0.2);
  --color-purple-a30: rgba(168,151,255,0.3);  --color-purple-a50: rgba(168,151,255,0.5);  --color-purple-a80: rgba(168,151,255,0.8);
  --color-orange-a05: rgba(255,159,90,0.05);  --color-orange-a10: rgba(255,159,90,0.1);  --color-orange-a20: rgba(255,159,90,0.2);
  --color-orange-a30: rgba(255,159,90,0.3);  --color-orange-a50: rgba(255,159,90,0.5);  --color-orange-a80: rgba(255,159,90,0.8);

  --border-primary:   #263147;
  --border-secondary: #1C2538;

  /* 숫자도 Pretendard(같은 폭 숫자) — 고정폭 글꼴은 코드에만 */
  --font-mono: 'Pretendard Variable', 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-code: 'JetBrains Mono', 'SF Mono', monospace;

  /* 작은 글자 한 단계씩 (가독성) */
  --fs-10: 11px;  --fs-11: 12px;  --fs-12: 13px;

  --radius-xs: 4px;  --radius-sm: 6px;  --radius-md: 8px;  --radius-lg: 10px;
  --radius-xl: 14px; --radius-2xl: 18px;

  --shadow-sm: 0 1px 2px rgba(2, 6, 16, 0.35), 0 1px 3px rgba(2, 6, 16, 0.2);
  --shadow-md: 0 4px 14px rgba(2, 6, 16, 0.4);
  --shadow-lg: 0 12px 32px rgba(2, 6, 16, 0.55);
  --shadow-xl: 0 18px 48px rgba(2, 6, 16, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.04);
  --glow-accent-sm: 0 2px 10px rgba(242, 193, 78, 0.22);
  --glow-accent:    0 6px 20px rgba(242, 193, 78, 0.32);
  --bg-glass: rgba(13, 18, 29, 0.82);

  /* 이 디자인에서만 쓰는 값 */
  --aden-aurora-gold: rgba(242, 193, 78, 0.07);
  --aden-aurora-blue: rgba(98, 168, 255, 0.07);
  --aden-card-hi: rgba(255, 255, 255, 0.025);   /* 카드 위쪽 미세한 빛 */
  --aden-gap: 12px;
  --aden-text-body: #D3D9E3;   /* 긴 글 본문 — 흰 글자보다 눈부심이 덜하다 (카드 위 대비 12.5) */

  --chart-bg: #121826;  --chart-text: #8F9AAE;  --chart-grid: rgba(38,49,71,0.5);  --chart-cross: #3A4763;  --chart-border: #263147;
  --chart-up: #2BC48A;  --chart-down: #F4646F;  --chart-up-vol: rgba(43,196,138,0.35);  --chart-down-vol: rgba(244,100,111,0.35);
  --chart-line: #62A8FF;  --chart-area-top: rgba(98,168,255,0.28);  --chart-area-bottom: rgba(98,168,255,0.02);
  --chart-ma5: #F2C14E;  --chart-ma20: #A897FF;  --chart-bb: rgba(255,159,90,0.55);
  --chart-ev-update: #F2C14E;  --chart-ev-maint: #8F9AAE;  --chart-ev-open: #2BC48A;
  --heat-up-rgb: 43, 196, 138;  --heat-down-rgb: 244, 100, 111;

  --gnb-height: 64px;
  --ticker-height: 34px;
}
@media (max-width: 768px) {
  :root.d-aden { --fs-10: 12px; --fs-11: 12px; --fs-12: 13px; }
}
@media (max-width: 600px) {
  :root.d-aden { --gnb-height: 56px; --ticker-height: 30px; --aden-gap: 10px; }
}

/* ── 2. 바탕 ──────────────────────────────────────────── */
.d-aden body {
  background: transparent;   /* html 배경 위로 아래 오로라가 보이게 */
  font-size: var(--fs-14);
  line-height: 1.55;
  letter-spacing: -0.005em;
  font-feature-settings: 'tnum' 1;
}
.d-aden body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(1100px 520px at 12% -12%, var(--aden-aurora-gold), transparent 62%),
    radial-gradient(900px 520px at 92% -18%, var(--aden-aurora-blue), transparent 60%);
}
.d-aden ::selection { background: var(--color-accent-a30); color: var(--text-primary); }
.d-aden :focus-visible { outline: 2px solid var(--color-accent); outline-offset: 1px; }
.d-aden h1, .d-aden h2, .d-aden h3 { letter-spacing: -0.02em; }
.d-aden code, .d-aden pre, .d-aden kbd { font-family: var(--font-code); }
.d-aden ::-webkit-scrollbar-thumb { background: var(--border-primary); border-radius: var(--radius-pill); }
.d-aden ::-webkit-scrollbar-track { background: transparent; }

/* ── 3. 머리 (GNB) ────────────────────────────────────── */
.d-aden .gnb {
  background: var(--bg-glass);
  -webkit-backdrop-filter: saturate(150%) blur(16px);
  backdrop-filter: saturate(150%) blur(16px);
  border-bottom: 1px solid var(--border-secondary);
}
.d-aden .gnb::after {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--color-accent-a30), transparent);
}
.d-aden .gnb-inner { border-left: 0; border-right: 0; padding: 0 8px; }
.d-aden .gnb-logo { border-right: 0; justify-content: flex-start; padding: 0 12px 0 14px; gap: 10px; }
.d-aden .gnb-logo:hover { background: transparent; }
.d-aden .gnb-logo-icon { width: 30px; height: 30px; margin-right: 0; }
.d-aden .gnb-logo-main { font-size: var(--fs-18); font-weight: 800; letter-spacing: -0.02em; }
.d-aden .gnb-logo-sub { font-family: var(--font-ui); font-size: var(--fs-10); font-weight: 600; letter-spacing: 0.26em; color: var(--color-accent); }
.d-aden .gnb-logo:hover .gnb-logo-sub { color: var(--color-accent-hover); }

.d-aden .gnb-nav { gap: 2px; }
.d-aden .gnb-nav-item,
.d-aden .gnb-nav-dropdown .gnb-dropdown-trigger {
  width: auto;
  padding: 0 14px;
  border-right: 0;
  font-size: var(--fs-15);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--text-tertiary);
}
.d-aden .gnb-nav-item:hover { color: var(--text-primary); background: transparent; }
.d-aden .gnb-nav-item::after { height: 2px; border-radius: var(--radius-pill); }
.d-aden .gnb-nav-item:hover::after { left: 14px; right: 14px; }
.d-aden .gnb-nav-item.active,
.d-aden .gnb-nav-dropdown.active .gnb-dropdown-trigger { color: var(--text-primary); font-weight: 700; }
.d-aden .gnb-nav-item.active::after,
.d-aden .gnb-nav-dropdown.active .gnb-dropdown-trigger::after { left: 14px; right: 14px; height: 2px; box-shadow: 0 0 12px var(--color-accent-a50); }
.d-aden .gnb-dropdown-menu {
  top: calc(100% - 6px);
  min-width: 200px;
  padding: 6px;
  border-radius: var(--radius-xl);
  border-color: var(--border-primary);
  background: var(--bg-elevated);
  box-shadow: var(--shadow-xl);
}
.d-aden .gnb-dropdown-item { padding: 9px 12px; border-radius: var(--radius-md); font-size: var(--fs-14); }
.d-aden button.gnb-dropdown-item { border-top: 0; margin-top: 4px; }
.d-aden .gnb-dropdown-item.active { background: var(--color-accent-a10); }

.d-aden .gnb-right { border-left: 0; align-items: center; gap: 4px; padding: 0 4px; }
.d-aden .gnb-icon-btn { width: 40px; height: 40px; border-right: 0; border-radius: var(--radius-lg); color: var(--text-tertiary); }
.d-aden .gnb-icon-btn:hover { background: var(--overlay-a06); }
.d-aden .gnb-realtime {
  flex-direction: row;
  width: auto;
  min-width: 0;
  height: 30px;
  align-self: center;
  margin: 0 8px 0 4px;
  padding: 0 12px;
  gap: 6px;
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-pill);
  background: var(--overlay-a02);
}
.d-aden .gnb-realtime:hover { background: var(--overlay-a04); }
.d-aden .gnb-realtime #gnb-update-time { font-size: var(--fs-12); color: var(--text-secondary); letter-spacing: 0; }
.d-aden .gnb-server-select { border-left: 0; }
.d-aden .gnb-hamburger { border-left: 0; }

/* ── 4. 시세 흐름 띠 ──────────────────────────────────── */
.d-aden .premium-ticker { background: transparent; border-bottom: 1px solid var(--border-secondary); }
.d-aden .premium-ticker-item { gap: 7px; padding: 0 14px; border-right: 0; }
.d-aden .premium-ticker-item + .premium-ticker-item::before {
  content: '';
  width: 3px;
  height: 3px;
  margin-right: 7px;
  border-radius: 50%;
  background: var(--border-primary);
}
.d-aden .premium-ticker-item:hover { background: var(--overlay-a04); }
.d-aden .ticker-server-name { color: var(--text-tertiary); }
.d-aden .ticker-price { font-weight: 700; }
.d-aden .ticker-change { font-weight: 600; }

/* ── 5. 배치·사이드바 ─────────────────────────────────── */
.d-aden .main-layout { border-left: 0; border-right: 0; }

/* 왼쪽 유튜브 — 바탕 위 목록 */
.d-aden .sidebar-youtube { background: transparent; border-right: 1px solid var(--border-secondary); }
.d-aden .sidebar-youtube-header { height: 44px; padding: 0 14px; border-bottom: 0; }
.d-aden .sidebar-youtube-header .yt-label { font-size: var(--fs-12); font-weight: 700; letter-spacing: 0.08em; color: var(--text-tertiary); }
.d-aden .yt-live-item { margin: 2px 8px 6px; padding: 8px; border-radius: var(--radius-lg); }
.d-aden .yt-live-item:hover { background: var(--bg-surface); }
.d-aden .yt-thumbnail { border-radius: var(--radius-md); }
.d-aden .yt-title { font-size: var(--fs-12); font-weight: 600; line-height: 1.45; }
.d-aden .sidebar-youtube-footer { background: transparent; border-top: 1px solid var(--border-secondary); }

/* 오른쪽 서버 목록 — 표 패널 */
.d-aden .sidebar-servers { background: var(--bg-surface); border-left: 1px solid var(--border-secondary); }
.d-aden .server-search {
  height: 40px;
  margin: 12px 12px 8px;
  padding: 0 12px;
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-lg);
  background: var(--bg-body);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.d-aden .server-search:focus-within { border-color: var(--color-accent); box-shadow: 0 0 0 3px var(--color-accent-a10); }
.d-aden .server-search input { font-size: var(--fs-13); }
.d-aden .server-tabs {
  height: 36px;
  margin: 0 12px 8px;
  padding: 3px;
  gap: 3px;
  border: 0;
  border-radius: var(--radius-lg);
  background: var(--bg-body);
}
.d-aden .server-tab,
.d-aden .server-tab:first-child { border: 0; border-radius: var(--radius-md); font-size: var(--fs-13); font-weight: 600; }
.d-aden .server-tab::after { display: none; }
.d-aden .server-tab:hover { background: var(--overlay-a04); }
.d-aden .server-tab.active { background: var(--bg-active); color: var(--text-primary); }
.d-aden .server-list-header { height: 30px; background: transparent; border-top: 1px solid var(--border-secondary); font-size: var(--fs-11); font-weight: 600; color: var(--text-muted); }
.d-aden .server-row { height: 38px; border-bottom-color: var(--border-secondary); }
.d-aden .server-row:hover { background: var(--bg-hover); }
.d-aden .server-row.active { background: linear-gradient(90deg, var(--color-accent-a10), transparent 80%); border-left-width: 3px; padding-left: 9px; }
.d-aden .server-row .col-name { font-size: var(--fs-13); font-weight: 600; }
.d-aden .server-row .col-price { font-size: var(--fs-13); font-weight: 700; }
.d-aden .server-row .col-change .change-badge { padding: 2px 6px; border-radius: var(--radius-pill); font-size: var(--fs-11); font-weight: 700; }
.d-aden .server-row .col-volume { font-size: var(--fs-11); color: var(--text-tertiary); }
.d-aden .heat-badge,
.d-aden .new-badge { border-radius: var(--radius-pill); padding: 0 5px; }

/* ── 6. 바닥글 ───────────────────────────────────────── */
.d-aden .site-footer { margin-top: 24px; background: transparent; border: 0; border-top: 1px solid var(--border-secondary); }
.d-aden .footer-top { border-bottom: 1px solid var(--border-secondary); }
.d-aden .footer-brand,
.d-aden .footer-link-group { border-right: 0; }
.d-aden .footer-brand-en { font-family: var(--font-ui); color: var(--color-accent); letter-spacing: 0.26em; }
.d-aden .footer-desc { color: var(--text-tertiary); }
.d-aden .footer-link-title { border-bottom: 0; margin-bottom: 8px; color: var(--text-secondary); font-family: var(--font-ui); letter-spacing: 0.12em; }
.d-aden .footer-link-group a { color: var(--text-tertiary); }
.d-aden .footer-link-group a:hover { color: var(--text-primary); }
.d-aden .footer-copyright,
.d-aden .footer-email { text-transform: none; }
.d-aden .footer-design-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 30px;
  padding: 0 12px;
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-pill);
  font-size: var(--fs-12);
  color: var(--text-secondary);
}
.d-aden .footer-design-toggle:hover { border-color: var(--color-accent-a50); color: var(--color-accent); }

/* ── 7. 모달·토스트·서랍·하단 탭바 ─────────────────────── */
.d-aden .modal-overlay { background: var(--scrim-a60); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.d-aden .modal-box { padding: 28px; border-radius: var(--radius-2xl); background: var(--bg-elevated); box-shadow: var(--shadow-xl); }
.d-aden .modal-close { border-radius: var(--radius-md); }
.d-aden kbd { border-radius: var(--radius-sm); }
.d-aden .toast { border-radius: var(--radius-xl); background: var(--bg-elevated); box-shadow: var(--shadow-lg); }
.d-aden .mobile-drawer { background: var(--bg-surface); }
.d-aden .mobile-drawer-item { border-radius: var(--radius-lg); }
.d-aden .bottom-nav { border-top-color: var(--border-secondary); }
.d-aden .bottom-nav__item { position: relative; }
.d-aden .bottom-nav__item.is-active::before {
  content: '';
  position: absolute;
  top: 0;
  left: 30%;
  right: 30%;
  height: 2px;
  border-radius: var(--radius-pill);
  background: var(--color-accent);
}

/* ── 8. 공통 컴포넌트 (components.css) ─────────────────── */
/* 화면 머리말·안내·탭·도구 줄은 띠 대신 바탕 위에 — 내용(목록·표·카드)만 카드로 */
.d-aden .page-head { padding: 28px var(--page-pad-x) 18px; background: transparent; border-bottom: 0; }
.d-aden .page-head__icon {
  width: 48px;
  height: 48px;
  border-radius: var(--radius-xl);
  background: linear-gradient(145deg, var(--color-accent-a20), var(--color-accent-a05));
  border-color: var(--color-accent-a30);
  box-shadow: var(--glow-accent-sm);
}
.d-aden .page-head__title { font-size: var(--fs-24); font-weight: 800; }
.d-aden .page-head__desc { font-size: var(--fs-14); color: var(--text-tertiary); }
.d-aden .page-notice {
  margin: 0 var(--page-pad-x) 12px;
  padding: 10px 14px;
  border: 1px solid var(--border-secondary);
  border-radius: var(--radius-lg);
  background: var(--overlay-a02);
  font-size: var(--fs-13);
}
.d-aden .page-notice > .ph { color: var(--color-accent); }
.d-aden .tabs { background: transparent; border-bottom: 1px solid var(--border-secondary); }
.d-aden .tabs__item { font-size: var(--fs-15); color: var(--text-tertiary); }
.d-aden .tabs__item.is-active { color: var(--text-primary); }
.d-aden .tabs__item.is-active::after { left: 12px; right: 12px; height: 2px; box-shadow: 0 0 10px var(--color-accent-a50); }
.d-aden .toolbar,
.d-aden .search-bar { background: transparent; border-bottom: 0; }
.d-aden .segmented { padding: 4px; border-radius: var(--radius-lg); background: var(--bg-surface); border-color: var(--border-primary); }
.d-aden .segmented__item { border-radius: var(--radius-md); color: var(--text-tertiary); }
.d-aden .segmented__item.is-active { color: var(--text-on-accent); box-shadow: var(--glow-accent-sm); }
.d-aden .chip { height: 34px; padding: 0 14px; background: var(--bg-surface); border-color: var(--border-primary); color: var(--text-secondary); font-weight: 600; }
.d-aden .chip:hover { background: var(--bg-elevated); border-color: var(--text-muted); }
.d-aden .chip.is-active { background: var(--color-accent-a10); border-color: var(--color-accent-a50); color: var(--color-accent); }
.d-aden .chip--sm { height: 30px; padding: 0 12px; }
.d-aden .btn { height: 42px; border-radius: var(--radius-lg); font-weight: 700; letter-spacing: -0.01em; }
.d-aden .btn--primary { box-shadow: var(--glow-accent-sm); }
.d-aden .btn--primary:hover { box-shadow: var(--glow-accent); }
.d-aden .btn--secondary { background: var(--bg-surface); }
.d-aden .btn--secondary:hover { background: var(--bg-elevated); }
.d-aden .btn--sm { height: 34px; border-radius: var(--radius-md); }
.d-aden .search-bar__field,
.d-aden .select-field { height: 44px; border-radius: var(--radius-lg); background: var(--bg-surface); }
.d-aden .page-body { padding-top: 16px; }
.d-aden .list-head { font-size: var(--fs-16); font-weight: 800; letter-spacing: -0.02em; }
.d-aden .pager__link { min-width: 40px; height: 40px; border-radius: var(--radius-lg); border-color: var(--border-primary); }
.d-aden .pager__link[aria-current="page"] { box-shadow: var(--glow-accent-sm); }
.d-aden .ticker-alert-btn { border-radius: var(--radius-pill); }

/* ── 9. 시세형 화면 — 패널을 간격 있는 카드로 (홈·서버 시세·최저가·통계) ───── */
.d-aden .main-content:has(> .ticker-board),
.d-aden .main-content:has(> .st-header-board) { padding: var(--aden-gap); gap: var(--aden-gap); }
.d-aden .main-content > :is(.ticker-board, .chart-section, .briefing-card, .bottom-split, .server-profile, .server-streams, .server-summary,
  .lw-summary-grid, .lw-filter-bar, .lw-section, .st-header-board, .st-summary-grid, .st-section),
.d-aden .main-content > .st-dual-panel > .st-section {
  margin: 0;
  border: 1px solid var(--border-secondary);
  border-radius: var(--radius-xl);
  background: linear-gradient(180deg, var(--aden-card-hi), transparent 120px), var(--bg-surface);
  box-shadow: var(--shadow-sm);
}
.d-aden .main-content > :is(.ticker-board, .briefing-card, .bottom-split, .lw-summary-grid, .lw-section, .st-header-board, .st-summary-grid, .st-section),
.d-aden .main-content > .st-dual-panel > .st-section { overflow: clip; }
.d-aden .main-content > .st-dual-panel { gap: var(--aden-gap); border-bottom: 0; }
.d-aden .st-dual-panel > .st-section:first-child { border-right: 1px solid var(--border-secondary); }

/* 구획 머리·탭 (호가/체결·통계 구획) */
.d-aden .section-header,
.d-aden .st-section-header { background: transparent; border-bottom-color: var(--border-secondary); }
.d-aden .st-section-header { padding: 0 16px; }
.d-aden .st-section-title { font-size: var(--fs-14); font-weight: 800; letter-spacing: -0.02em; color: var(--text-primary); }
.d-aden .section-tab { min-width: 0; padding: 0 16px; border-right: 0; font-size: var(--fs-13); font-weight: 600; }
.d-aden .section-tab:hover { background: transparent; color: var(--text-primary); }
.d-aden .section-tab.active { color: var(--text-primary); font-weight: 700; }
.d-aden .section-tab::after { left: 50%; right: 50%; border-radius: var(--radius-pill); }
.d-aden .section-tab.active::after { left: 12px; right: 12px; }
.d-aden .orderbook-panel,
.d-aden .trade-panel { background: transparent; }
.d-aden .orderbook-panel { border-right-color: var(--border-secondary); }

/* 시세 머리판 — 현재가를 크게, 보조 수치는 이름표 + 굵은 숫자 */
.d-aden .ticker-info { padding: 18px 22px; gap: 6px; }
.d-aden .ticker-info,
.d-aden .ticker-meta,
.d-aden .ticker-sparkline { border-right-color: var(--border-secondary); }
.d-aden .ticker-server-select .server-name { font-size: var(--fs-15); font-weight: 800; letter-spacing: -0.02em; }
.d-aden .ticker-current-price { font-size: var(--fs-36); font-weight: 800; letter-spacing: -0.03em; }
.d-aden .ticker-unit { font-size: var(--fs-12); color: var(--text-muted); }
.d-aden .ticker-change-pct { font-size: var(--fs-14); font-weight: 800; }
.d-aden .ticker-change-amt { font-size: var(--fs-13); }
.d-aden .ticker-trust { font-size: var(--fs-12); line-height: 1.5; }
.d-aden .ticker-stat-cell { padding: 10px 18px; border-color: var(--border-secondary); }
.d-aden :is(.ticker-stat-cell .stat-label, .ticker-source .source-name, .sparkline-label, .ticker-strength-label .label) {
  font-size: var(--fs-11);
  font-weight: 600;
  letter-spacing: 0;
  color: var(--text-muted);
}
.d-aden .ticker-stat-cell .stat-value { font-size: var(--fs-16); font-weight: 800; letter-spacing: -0.02em; }
.d-aden .ticker-source .source-price { font-size: var(--fs-15); font-weight: 800; }
.d-aden .ticker-strength-bar { height: 4px; border-radius: var(--radius-pill); }
.d-aden .ticker-sparkline .spark-line { stroke-width: 2; }

/* ── 10. 콘텐츠 화면 — 목록·표를 카드로 ─────────────────── */
.d-aden .bbs-list {
  margin: 0 var(--page-pad-x);
  border: 1px solid var(--border-secondary);
  border-radius: var(--radius-xl);
  background: var(--bg-surface);
  overflow: clip;
}
.d-aden .bbs-alert { margin: 12px var(--page-pad-x) 0; border: 1px solid var(--border-secondary); border-radius: var(--radius-lg); }

/* 단위·금액이 글자 중간에서 꺾이지 않게 — 자리가 모자라면 단위가 통째로 다음 줄 */
.d-aden .ticker-price-row { flex-wrap: wrap; row-gap: 2px; }
.d-aden .ticker-unit,
.d-aden .ticker-stat-cell .stat-value { white-space: nowrap; }
@media (max-width: 1100px) {
  .d-aden .ticker-current-price { font-size: var(--fs-32); }
  .d-aden .ticker-stat-cell { padding: 10px 14px; }
  .d-aden .ticker-stat-cell .stat-value { font-size: var(--fs-14); }
}
@media (max-width: 600px) {
  .d-aden .ticker-info { padding: 16px; }
  .d-aden .ticker-unit { font-size: var(--fs-11); }
}

/* ── 11. 머리 검색창 (넓은 화면) · 현재가 카드 빛 ─────────── */
@media (min-width: 1500px) {
  .d-aden .gnb-search {
    width: 230px;
    justify-content: flex-start;
    gap: 8px;
    padding: 0 8px 0 12px;
    border: 1px solid var(--border-primary);
    border-radius: var(--radius-lg);
    background: var(--overlay-a02);
    color: var(--text-muted);
  }
  .d-aden .gnb-search:hover { background: var(--overlay-a04); border-color: var(--text-muted); }
  .d-aden .gnb-search:hover i { transform: none; }
  .d-aden .gnb-search__label { display: inline; font-size: var(--fs-13); font-weight: 500; }
  .d-aden .gnb-search__kbd { display: inline-flex; margin-left: auto; min-width: 22px; height: 22px; font-size: var(--fs-11); color: var(--text-tertiary); background: var(--bg-surface); border-bottom-width: 1px; }
}
.d-aden .main-content > .ticker-board .ticker-info {
  background: radial-gradient(260px 160px at 0% 0%, var(--color-accent-a10), transparent 72%);
}

/* ── 12. 오류 화면 — 로고 이미지의 검은 바탕을 카드색에 녹인다 ─── */
.d-aden .err-brand { mix-blend-mode: lighten; }

/* ── 13. 긴 글 — 브리핑 본문: 양쪽 정렬은 한글 단어 간격이 들쭉날쭉해 왼쪽 정렬로 ─── */
.d-aden .br-article-content { text-align: left; color: var(--aden-text-body); letter-spacing: -0.01em; }
.d-aden .br-article-content :is(h2, h3) { color: var(--text-primary); letter-spacing: -0.02em; }
