/* [2026-10-10 Claude 수정본] 접근성 대비 보정 — 반드시 마지막에 로드.
   이유: 메인 에메랄드 #20B486 위 흰 글씨 대비가 2.65:1(읽기 기준 4.5:1 미달)이고, 흰 배경 위 #20B486 글자(메뉴 강조 등)도 같다.
   방침: 글자·버튼 바탕에 쓰는 색만 디자인 키트의 접근 가능 색(#007E51, 흰 글씨 대비 5.1:1)으로 바꾸고,
   장식(테두리·그림자·진행선·링 등)에 쓰는 #20B486 은 그대로 둔다. 시안 브랜드 느낌은 유지. */
/* CLAUDE-REVIEW(2026-10-10): styles.css still contains multiple older :root token declarations.
   This final override is intentional for this merge. Consolidate tokens only with a full visual regression check. */
:root{--primary:#007E51;--primary-dark:#006643;--muted:#5E6965}
.btn,.sg-button.sg-primary,.sg-primary{background-color:#007E51;border-color:#007E51;color:#fff}
.btn:hover,.sg-button.sg-primary:hover,.sg-primary:hover{background-color:#006643;border-color:#006643}
.btn.secondary,.btn.text,.sg-button:not(.sg-primary){color:#303734}
.btn.text{color:#007E51}
.hero h1 .accent{background:linear-gradient(100deg,#232a27 0%,#0b8a5f 72%);background-clip:text;-webkit-background-clip:text;color:transparent}
.nav a.active,.nav a:hover{color:#007E51}
.brand-type b{color:#0b8a5f}
.chip.selected{background-color:#007E51;border-color:#007E51;color:#fff}
.sj-primary{background-color:#007E51;color:#fff}
.sj-primary:hover{background-color:#006643}
.sr-reason-grid b,.sr-flow i{color:#007E51}
.promo-status{color:#55635c}
.promo-footnote{color:#5e6965!important}
.tutorial-ui{--ui:#087f57}
.tutorial-ui.red{--ui:#c23535}
.tutorial-ui.blue{--ui:#1f6bd8}
.quick-source-note{color:#5e6965!important}
.story-index a span{color:#667770}
.quick-note strong{color:#7a5a12}
.rr-offer-bottom button{background-color:#007E51}
.srw-tabs button[aria-pressed=true]{background-color:#007E51;border-color:#007E51}
/* 2026-10-10 mobile QA: floating profile and chat covered pricing content at 320-390px.
   The character remains available through the mobile navigation and its own page. */
@media(max-width:760px){
  .qw-floating-profile{display:none}
  .mobile-cta{padding-right:70px}
  .floating-chat{right:16px;bottom:calc(12px + env(safe-area-inset-bottom));width:42px;height:42px;z-index:36}
  .chat-panel{bottom:calc(76px + env(safe-area-inset-bottom))}
  .chat-form input{min-width:0}
  .chat-form .btn{min-width:54px;padding-inline:8px;white-space:nowrap}
}
@media(max-width:360px){.mobile-cta>span{display:none}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
