/* ============================================================
   PickStock 버튼 시스템 — 모노크롬 필 (2026-07, 창업자 결정)
   - 솔리드(주요 CTA): 다크=흰 배경/검정 글자, 라이트=검정 배경/흰 글자
   - 고스트(보조): 투명 배경 + 중립 보더
   - 각 템플릿의 인라인 <style>보다 먼저 로드되므로 !important로 우선한다.
   - 카카오/네이버 소셜 로그인 등 브랜드 규정 버튼은 대상에서 제외.
   ============================================================ */

:root {
    --ps-btn-solid-bg: #0d0d0d;
    --ps-btn-solid-fg: #ffffff;
    --ps-btn-solid-bg-hover: #383838;
    --ps-btn-ghost-fg: #0d0d0d;
    --ps-btn-ghost-border: rgba(0, 0, 0, 0.18);
    --ps-btn-ghost-bg-hover: rgba(0, 0, 0, 0.05);
}

@media (prefers-color-scheme: dark) {
    :root {
        --ps-btn-solid-bg: #ffffff;
        --ps-btn-solid-fg: #0d0d0d;
        --ps-btn-solid-bg-hover: #ececec;
        --ps-btn-ghost-fg: #ececec;
        --ps-btn-ghost-border: rgba(255, 255, 255, 0.18);
        --ps-btn-ghost-bg-hover: rgba(255, 255, 255, 0.08);
    }
}

:root[data-theme="dark"] {
    --ps-btn-solid-bg: #ffffff;
    --ps-btn-solid-fg: #0d0d0d;
    --ps-btn-solid-bg-hover: #ececec;
    --ps-btn-ghost-fg: #ececec;
    --ps-btn-ghost-border: rgba(255, 255, 255, 0.18);
    --ps-btn-ghost-bg-hover: rgba(255, 255, 255, 0.08);
}

:root[data-theme="light"] {
    --ps-btn-solid-bg: #0d0d0d;
    --ps-btn-solid-fg: #ffffff;
    --ps-btn-solid-bg-hover: #383838;
    --ps-btn-ghost-fg: #0d0d0d;
    --ps-btn-ghost-border: rgba(0, 0, 0, 0.18);
    --ps-btn-ghost-bg-hover: rgba(0, 0, 0, 0.05);
}

/* ── 솔리드: 기존 액센트(라임그린) 배경 CTA 전부 ── */
.cw-btn,
.cw-live-context-actions button,
.cw-view-toggle button.active,
.research-credit-prompt.empty .research-credit-prompt-cta,
.wb-live-choice-btn.primary,
.error-home-btn,
.research-entry-action.primary,
.research-credit-prompt.premium .research-credit-prompt-cta,
.cta-btn,
.explore-action-btn.primary,
.priority-cluster-action.primary,
.theme-action-btn.primary,
.theme-map-cta,
.ftab-btn.active,
.mobile-workbench-btn,
.nav-workbench-btn,
.live-depth-link.primary,
.live-search button,
.mobile-live-actions button.primary,
.rail-button.alert,
.top-link.primary,
.panel.cta .btn-primary,
.btn-cta,
.info-cta,
.modal-cta,
.share-copy-btn,
.btn-accent,
.ws-btn,
.demo-chat-cta-btn,
.btn-explore {
    background: var(--ps-btn-solid-bg) !important;
    color: var(--ps-btn-solid-fg) !important;
    border-color: transparent !important;
    border-radius: 9999px !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

.cw-btn:hover,
.cw-live-context-actions button:hover,
.error-home-btn:hover,
.research-entry-action.primary:hover,
.research-credit-prompt.premium .research-credit-prompt-cta:hover,
.wb-live-choice-btn.primary:hover,
.cta-btn:hover,
.explore-action-btn.primary:hover,
.priority-cluster-action.primary:hover,
.theme-action-btn.primary:hover,
.theme-map-cta:hover,
.mobile-workbench-btn:hover,
.nav-workbench-btn:hover,
.live-depth-link.primary:hover,
.live-search button:hover,
.mobile-live-actions button.primary:hover,
.rail-button.alert:hover,
.top-link.primary:hover,
.panel.cta .btn-primary:hover,
.btn-cta:hover,
.info-cta:hover,
.modal-cta:hover,
.share-copy-btn:hover,
.btn-accent:hover,
.ws-btn:hover,
.demo-chat-cta-btn:hover,
.btn-explore:hover {
    background: var(--ps-btn-solid-bg-hover) !important;
    color: var(--ps-btn-solid-fg) !important;
    opacity: 1 !important;
}

/* 리서치 결과 '분석' 버튼: 호버에만 액센트가 칠해지던 케이스 */
.research-result-analyze:hover {
    background: var(--ps-btn-ghost-bg-hover) !important;
    color: var(--ps-btn-ghost-fg) !important;
    border-color: var(--ps-btn-ghost-border) !important;
}

/* ── 고스트: 솔리드의 보조 버튼 패밀리 ── */
.explore-action-btn,
.priority-cluster-action,
.theme-action-btn,
.research-entry-action,
.live-depth-link,
.top-link,
.rail-button,
.mobile-live-actions button,
.card-button,
.wb-live-choice-btn,
.cw-btn.ghost,
.cw-view-toggle button,
.ws-btn.ghost {
    border-radius: 9999px !important;
}

.explore-action-btn:not(.primary),
.priority-cluster-action:not(.primary),
.theme-action-btn:not(.primary),
.research-entry-action:not(.primary),
.live-depth-link:not(.primary),
.top-link:not(.primary),
.rail-button:not(.alert),
.mobile-live-actions button:not(.primary),
.wb-live-choice-btn:not(.primary),
.cw-btn.ghost,
.ws-btn.ghost {
    background: transparent !important;
    color: var(--ps-btn-ghost-fg) !important;
    border: 1px solid var(--ps-btn-ghost-border) !important;
}

.explore-action-btn:not(.primary):hover,
.priority-cluster-action:not(.primary):hover,
.theme-action-btn:not(.primary):hover,
.research-entry-action:not(.primary):hover,
.live-depth-link:not(.primary):hover,
.top-link:not(.primary):hover,
.rail-button:not(.alert):hover,
.mobile-live-actions button:not(.primary):hover,
.wb-live-choice-btn:not(.primary):hover,
.cw-btn.ghost:hover,
.ws-btn.ghost:hover {
    background: var(--ps-btn-ghost-bg-hover) !important;
    border-color: var(--ps-btn-ghost-border) !important;
    color: var(--ps-btn-ghost-fg) !important;
    opacity: 1 !important;
}

/* /app 워크벤치 홈 라이브 액션: 호버 시 액센트 글자색 → 중립 */
.wb-live-action.primary:hover {
    color: var(--ps-btn-ghost-fg) !important;
}

/* 키보드 포커스 표시 (기존 outline 제거 스타일 대비) */
.cta-btn:focus-visible,
.explore-action-btn:focus-visible,
.priority-cluster-action:focus-visible,
.theme-action-btn:focus-visible,
.ws-btn:focus-visible,
.btn-cta:focus-visible,
.modal-cta:focus-visible {
    outline: 2px solid var(--ps-btn-ghost-border) !important;
    outline-offset: 2px;
}
