/*@kc-late-css*/
/* yes-no */
  .ynbig { text-align: center; margin: 2px 0 10px; }
  .ynbig.yes { color: #2f7d62; } .ynbig.no { color: #b4546a; }
  .yn-word { display: block; font-size: 26px; font-weight: 800; letter-spacing: -.02em; }
  .yn-reason { display: block; font-size: 13px; font-weight: 500; color: var(--sheet-ink-2); margin-top: 12px; line-height: 1.5; }
  .history-result .ynbig { margin: 0 0 12px; padding: 0 0 12px; border-bottom: 1px solid rgba(255,255,255,.08); }
  .history-result .yn-word { display: block; font-size: 22px; font-weight: 800; }
  .history-result .ynbig.yes .yn-word { color: #7fe3bd; }
  .history-result .ynbig.no .yn-word { color: #ff9fb4; }
  #resultModal .ynbig.yes { color: #7fe3bd; text-shadow: 0 0 22px rgba(127,227,189,.35); }
  #resultModal .ynbig.no { color: #ff9fb4; text-shadow: 0 0 22px rgba(255,159,180,.35); }

/* lucky-item */
  .lkbig { display: grid; gap: 8px; margin: 2px 0 14px; text-align: center; }
  .lkbig small { color: #f1d28a; font-size: 12px; font-weight: 700; letter-spacing: .06em; }
  .lkbig .lk-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
  .lkbig .lk-c { display: grid; justify-items: center; gap: 4px; min-width: 84px; padding: 10px 12px; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: rgba(255,255,255,.04); }
  .lkbig .lk-c.lk-wide { min-width: 150px; max-width: 220px; }
  .lkbig .lk-c b { font-size: 14px; font-weight: 800; color: #f8ecc8; line-height: 1.35; }
  .lkbig .lk-c span { color: rgba(214,218,250,.6); font-size: 11px; }
  .lkbig .lk-sw { width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,.55); }
  .lkbig .lk-num { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; border: 1px solid rgba(241,210,138,.5); color: #f1d28a; font-style: normal; font-weight: 800; font-size: 15px; }
  .lkbig .lk-item { display: grid; place-items: center; width: 30px; height: 30px; color: #f1d28a; font-style: normal; font-size: 20px; }
  .lk-note { margin: 14px 0 0 !important; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.08); color: rgba(214,218,250,.55); font-size: 11.5px !important; line-height: 1.6; }
  .history-result .lkbig { padding: 0 0 12px; margin: 0 0 12px; border-bottom: 1px solid rgba(255,255,255,.08); }

  /* ---- 리딩 공통 결과 레이아웃 ----
     전용 리딩의 게이지 색·간격이 해석 본문과 경쟁하지 않도록, 모든 결과를 같은
     요약 카드와 한 개의 읽기 칼럼으로 정리한다. */
  #resultModal .reading-summary { margin: 0 0 14px; }
  #resultModal .rd-extra {
    min-height: 0 !important; display: flex !important; align-items: center; justify-content: center;
    gap: 10px; margin: 0 !important; padding: 12px 14px !important; border: 1px solid rgba(241,210,138,.18);
    border-radius: 14px; background: rgba(241,210,138,.055); color: #f6e7bd; text-align: left !important;
    box-shadow: none !important;
  }
  #resultModal .rd-extra small { margin: 0 2px 0 0; color: rgba(241,210,138,.8) !important; font-size: 11px !important; font-weight: 700; letter-spacing: .04em; }
  #resultModal .rd-extra [class$="-word"], #resultModal .rd-extra .yn-word { color: #fff !important; font-size: 15px !important; font-weight: 750 !important; text-shadow: none !important; }
  #resultModal .rd-extra [class$="-sub"], #resultModal .rd-extra .yn-reason { color: rgba(226,230,255,.7) !important; font-size: 12px !important; }
  #resultModal .rd-extra .marks, #resultModal .rd-extra .hearts, #resultModal .rd-extra .coins { display: flex; gap: 4px !important; }
  #resultModal .rd-extra .marks i, #resultModal .rd-extra .hearts i, #resultModal .rd-extra .coins i { width: auto !important; height: auto !important; border: 0 !important; background: none !important; color: rgba(255,255,255,.18) !important; font-size: 14px !important; line-height: 1 !important; box-shadow: none !important; text-shadow: none !important; }
  #resultModal .rd-extra .marks i.on, #resultModal .rd-extra .hearts i.on, #resultModal .rd-extra .coins i.on { color: #f1d28a !important; text-shadow: none !important; }
  #resultModal .rd-extra [class$="cmp"] { display: flex !important; align-items: center; gap: 8px !important; }
  #resultModal .rd-extra [class$="cmp"] span { color: rgba(226,230,255,.7) !important; font-size: 12px !important; text-align: left !important; }
  #resultModal .interp-block { margin-inline: auto; }
  #resultModal .interp-block > .pinterp { margin: 0; }
  #resultModal .pinterp > .syn { margin: 0; padding: 0; border: 0; background: none; }
  #resultModal .pinterp h4, #resultModal .pinterp .syn h4 { margin-top: 22px !important; padding-top: 20px !important; }
  #resultModal .pinterp h4:first-child, #resultModal .pinterp .syn h4:first-child { margin-top: 0 !important; padding-top: 0 !important; border-top: 0 !important; }
  #resultModal .pinterp p, #resultModal .pinterp .syn p { max-width: 64ch; margin-bottom: 18px; font-size: 15px; line-height: 1.9; word-break: keep-all; }
  /* 결과 화면: 카드의 자리와 실제 의미를 먼저 읽고, 긴 해설은 번호가 붙은 문단으로 따라간다. */
  #resultModal .interp-block { width: 100%; max-width: 72ch; }
  #resultModal .mini-wrap { appearance: none; border: 0; background: none; padding: 0; font: inherit; text-align: center; }
  #resultModal .mini-wrap:focus-visible { outline: 2px solid #f1d28a; outline-offset: 4px; border-radius: 8px; }
  #resultModal .reading-overview { --reading-accent: #dfc99f; padding: 24px; border: 1px solid #cbb58d38; border-radius: 18px; background: linear-gradient(140deg,#cbb58d0e,#10111d33); }
  #resultModal .reading-overview-kicker { display: block; margin: 0 0 6px; color: var(--reading-accent); font-size: 11px; font-weight: 750; letter-spacing: .08em; }
  #resultModal .reading-overview .mainHead { margin: 0; color: #f3eee4; font-size: clamp(21px, 2.2vw, 26px); line-height: 1.45; letter-spacing: -.025em; overflow-wrap: anywhere; }
  #resultModal .reading-summary { margin: 17px 0 0; }
  /* 짧은 예·아니오만 강조하고 보류·안내 문구는 작은 배지로 유지한다. */
  #resultModal .reading-overview .ynbig.rd-extra { --yn-accent: #c9c6e7; --yn-tint: rgba(184,175,224,.1); display: flex !important; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 8px 12px !important; padding: 10px 12px !important; border-color: rgba(222,219,247,.1); border-radius: 12px; background: rgba(7,8,24,.16); }
  #resultModal .reading-overview .ynbig.yes { --yn-accent: #a8dcc8; --yn-tint: rgba(143,217,190,.1); }
  #resultModal .reading-overview .ynbig.no { --yn-accent: #edb5c4; --yn-tint: rgba(237,181,196,.1); }
  #resultModal .reading-overview .ynbig .yn-word { flex: 0 1 auto; max-width: 100%; padding: 5px 9px; border-radius: 8px; background: var(--yn-tint); font-size: 14px !important; font-weight: 700 !important; line-height: 1.4; letter-spacing: -.015em; white-space: normal; overflow-wrap: anywhere; word-break: keep-all; color: var(--yn-accent) !important; }
  #resultModal .reading-overview .ynbig.yes .yn-word, #resultModal .reading-overview .ynbig.no .yn-word { font-size: 24px !important; font-weight: 800 !important; line-height: 1.25; }
  #resultModal .reading-overview .ynbig .yn-reason { flex: 1 1 150px; min-width: 0; margin: 0; color: rgba(232,231,247,.72) !important; font-size: 12.5px !important; font-weight: 450; line-height: 1.65; word-break: keep-all; overflow-wrap: anywhere; }
  #resultModal .reading-overview .lkbig.rd-extra { display: grid !important; justify-items: stretch; gap: 10px !important; padding: 15px !important; text-align: left !important; }
  #resultModal .reading-overview .lkbig .lk-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
  #resultModal .reading-overview .lkbig .lk-c { min-width: 0; padding: 9px 6px; }
  #resultModal .reading-overview .lkbig .lk-c.lk-wide { min-width: 0; max-width: none; }
  #resultModal .reading-anchors { margin-top: 19px; padding-top: 17px; border-top: 1px solid rgba(255,255,255,.1); }
  #resultModal .reading-anchors h3 { margin: 0 0 10px; color: rgba(235,239,255,.72); font-size: 12px; font-weight: 700; letter-spacing: .025em; }
  #resultModal .reading-anchor-grid { display: grid; gap: 8px; }
  #resultModal .reading-anchor-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #resultModal .reading-anchor-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #resultModal .reading-anchor { min-width: 0; padding: 14px; border: 1px solid #cbb58d18; border-radius: 12px; background: #0b0d194d; }
  #resultModal .reading-anchor-place { display: block; min-height: 1.3em; color: var(--reading-accent); font-size: 11px; font-weight: 700; line-height: 1.35; }
  #resultModal .reading-anchor-card { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 7px; margin: 6px 0 5px; }
  #resultModal .reading-anchor-card b { color: #fff; font-size: 14px; font-weight: 700; }
  #resultModal .reading-anchor-card small { color: #aaa7bc; font-size: 11px; }
  #resultModal .reading-anchor p { display: grid; gap: 4px; min-width: 0; margin: 0; color: #bdb9cc; font-size: 12.5px; line-height: 1.7; word-break: keep-all; overflow-wrap: anywhere; }
  #resultModal .reading-anchor p strong { color: #dfc99f; font-size: 13px; font-weight: 600; }
  #resultModal .reading-detail-heading { margin: 26px 0 12px; padding-left: 2px; color: #cbb58d; font-size: 12px; font-weight: 650; letter-spacing: .035em; }
  #resultModal .interp-block > .pinterp { padding: 0 !important; border: 0; background: none; }
  #resultModal .reading-section { margin: 0 0 12px; padding: 22px; border: 1px solid #ffffff0d; border-radius: 16px; background: #ffffff03; }
  #resultModal .reading-section--summary { border-color: #cbb58d45; background: linear-gradient(135deg,#cbb58d12,#cbb58d04); }
  #resultModal .reading-section--summary .reading-section-head h4 { color: #ead6af !important; }
  #resultModal .reading-section--summary p { color: #f3eee4 !important; font-weight: 500; }
  #resultModal .reading-section--overall { border-color: #cbb58d30; background: #cbb58d06; }
  #resultModal .reading-section-head { display: flex; align-items: baseline; gap: 11px; margin: 0 0 9px; }
  #resultModal .reading-section-head > span { flex: none; color: #a99878; font-size: 11px; font-weight: 600; font-variant-numeric: tabular-nums; }
  #resultModal .pinterp .reading-section-head h4 { margin: 0 !important; padding: 0 !important; border: 0 !important; color: #dfc99f; font-size: 14px; font-weight: 650; line-height: 1.5; letter-spacing: .005em; text-transform: none; }
  :is(#resultModal,#historyDetail) .reading-subsection + .reading-subsection { margin-top:18px; padding-top:16px; border-top:1px solid rgba(255,255,255,.08); }
  :is(#resultModal,#historyDetail) .reading-subsection h5 { margin:0 0 11px; padding:10px 12px; border-left:3px solid #f1d28a; border-radius:0 8px 8px 0; background:rgba(241,210,138,.07); color:#f3f2ff; font-size:16px; line-height:1.55; font-weight:750; }
  #resultModal .reading-subsection h5 { padding: 0 0 0 12px; border-left: 2px solid #cbb58d; border-radius: 0; background: none; color: #e5dfd1; font-size: 15px; font-weight: 600; }
  :is(#resultModal,#historyDetail) .reading-section .reading-subsection--question { margin-top:16px; padding-top:14px; border-top:1px solid rgba(255,255,255,.08); }
  :is(#resultModal,#historyDetail) .reading-section p + p { margin-top:12px !important; }
  #historyDetail .reading-section .hs-subsection { margin:18px 0 11px; padding:10px 12px; border-left:3px solid #f1d28a; background:rgba(241,210,138,.07); color:#f3f2ff; font-size:16px; line-height:1.55; font-weight:750; }
  #resultModal .pinterp .reading-section p { max-width: none; margin: 0 !important; color: #d6d2e0; font-size: 15px; line-height: 1.9; word-break: keep-all; overflow-wrap: anywhere; }
  html[lang="ko"] #resultModal .pinterp p,
  html[lang="ko"] #resultModal .ai-body p,
  html[lang="ko"] .history-result .pinterp p,
  html[lang="ko"] .history-result .ai-body p { text-align: left; }
  .history-result .reading-overview { margin: 0 0 14px; }
  .history-result .reading-anchor-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 7px; }
  .history-result .reading-anchor { padding: 9px; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; }
  .history-result .reading-anchor p { display: grid; gap: 2px; }
  .history-result .reading-section { margin: 0 0 12px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.08); }
  .history-result .reading-section--summary { padding: 14px; border: 1px solid rgba(143,217,190,.32); border-radius: 12px; background: rgba(143,217,190,.08); }
  .history-result .reading-section-head { display: flex; gap: 8px; align-items: baseline; }
  .history-result .reading-section-head > span { color: #f1d28a; font-size: 11px; }
  .history-result .reading-section h4 { margin: 0; }
  /* 저장된 문장은 그대로 두고, 리딩 당시의 요약·카드 근거 배치를 기록 화면에도 복원한다. */
  #historyDetail .history-result { margin-top: 16px; padding: 0; background: transparent; }
  #historyDetail .reading-overview { --reading-accent: #f1d28a; margin: 0 0 20px; padding: 22px; border: 1px solid rgba(241,210,138,.2); border-top: 2px solid var(--reading-accent); border-radius: 20px; background: linear-gradient(155deg, rgba(241,210,138,.075), rgba(255,255,255,.035) 48%, rgba(255,255,255,.02)); }
  #historyDetail .reading-overview--decision, #historyDetail .reading-overview--work { --reading-accent: #8fd9be; }
  #historyDetail .reading-overview--relationship { --reading-accent: #eab4cb; }
  #historyDetail .reading-overview--calendar, #historyDetail .reading-overview--timeline { --reading-accent: #a7baf8; }
  #historyDetail .reading-overview--reflection { --reading-accent: #c7b5f1; }
  #historyDetail .reading-overview-kicker { display: block; margin: 0 0 6px; color: var(--reading-accent); font-size: 11px; font-weight: 750; letter-spacing: .08em; }
  #historyDetail .reading-overview .mainHead { margin: 0; color: #fff; font-size: clamp(21px, 2.4vw, 27px); line-height: 1.35; letter-spacing: -.025em; }
  #historyDetail .reading-anchors { margin-top: 19px; padding-top: 17px; border-top: 1px solid rgba(255,255,255,.1); }
  #historyDetail .reading-anchors h3 { margin: 0 0 10px; color: rgba(235,239,255,.72); font-size: 12px; font-weight: 700; letter-spacing: .025em; }
  #historyDetail .reading-anchor-grid { display: grid; gap: 8px; }
  #historyDetail .reading-anchor-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #historyDetail .reading-anchor-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #historyDetail .reading-anchor { min-width: 0; padding: 12px 13px; border: 1px solid rgba(255,255,255,.09); border-radius: 13px; background: rgba(4,8,22,.23); }
  #historyDetail .reading-anchor-place { display: block; min-height: 1.3em; color: var(--reading-accent); font-size: 11px; font-weight: 700; line-height: 1.35; }
  #historyDetail .reading-anchor-card { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 7px; margin: 6px 0 5px; }
  #historyDetail .reading-anchor-card b { color: #fff; font-size: 14px; font-weight: 700; }
  #historyDetail .reading-anchor-card small { color: rgba(225,230,255,.57); font-size: 10.5px; }
  #historyDetail .reading-anchor p { display: grid; gap: 2px; margin: 0; color: rgba(231,235,255,.69); font-size: 12px; line-height: 1.55; word-break: keep-all; }
  #historyDetail .reading-anchor p strong { color: #f8e2aa; font-size: 12.5px; font-weight: 700; }
  #historyDetail .reading-detail-heading { margin: 24px 0 10px; padding-left: 2px; color: #f1d28a; font-size: 12px; font-weight: 750; letter-spacing: .055em; }
  #historyDetail .reading-section { margin: 0; padding: 19px 2px; border: 0; border-bottom: 1px solid rgba(255,255,255,.09); border-radius: 0; background: none; }
  #historyDetail .reading-section--summary { margin: 0 0 12px; padding: 19px 21px; border: 1px solid rgba(143,217,190,.24); border-radius: 16px; background: linear-gradient(135deg, rgba(143,217,190,.12), rgba(143,217,190,.035)); box-shadow: none; }
  #historyDetail .reading-section-head { display: flex; align-items: baseline; gap: 11px; margin: 0 0 9px; }
  #historyDetail .reading-section-head > span { flex: none; color: rgba(241,210,138,.64); font-size: 11px; font-weight: 700; font-variant-numeric: tabular-nums; }
  #historyDetail .reading-section-head h4 { margin: 0; color: #f1d28a; font-size: 13px; font-weight: 750; line-height: 1.5; }
  #historyDetail .reading-section--summary .reading-section-head h4 { color: #a9e8d1; }
  #historyDetail .reading-section p { margin: 0; color: rgba(239,241,255,.9); font-size: 15px; line-height: 1.82; word-break: keep-all; overflow-wrap: anywhere; }
  #historyDetail .reading-section--summary p { color: #fff; font-weight: 550; }
  /* Structured snapshots already have a summary container; legacy paragraph
     decoration must not create a second, clipped box inside it. */
  #historyDetail .reading-section--summary { display: flow-root; min-width: 0; overflow: visible; scroll-margin-top: 80px; }
  #historyDetail .reading-section--summary .hs-summary { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; }
  #historyDetail .reading-section p, #historyDetail .history-snapshot .hs-paragraph, #historyDetail .history-snapshot .hs-summary, #historyDetail .history-snapshot .hs-callout, #historyDetail .ai-body p, #historyDetail .pinterp p { text-align: left; hyphens: auto; }
  html[lang="ko"] #historyDetail .reading-section p, html[lang="ko"] #historyDetail .history-snapshot .hs-paragraph, html[lang="ko"] #historyDetail .history-snapshot .hs-summary, html[lang="ko"] #historyDetail .history-snapshot .hs-callout, html[lang="ko"] #historyDetail .ai-body p, html[lang="ko"] #historyDetail .pinterp p { text-align: left; }
  @media (max-width: 999px) {
    #resultModal .card-strip .summary-row:has(.mini-wrap:nth-child(4)) { display: flex; flex-wrap: nowrap; justify-content: flex-start; gap: 12px; overflow-x: auto; scroll-snap-type: x proximity; padding: 2px 2px 10px; }
    #resultModal .card-strip .summary-row:has(.mini-wrap:nth-child(4)) .mini-wrap { flex: 0 0 76px; scroll-snap-align: start; }
  }
  /* 결과 카드 줄: 2~3장은 칸을 나눠 크게 보여 주고(PC·태블릿), 위치 이름은 단어 중간에서 끊지 않는다. */
  #resultModal .mini-wrap { word-break: keep-all; overflow-wrap: break-word; text-wrap: balance; line-height: 1.35; }
  #resultModal .reading-anchor.reading-anchor--solo { display: block; }
  #resultModal .reading-anchor.reading-anchor--solo p { grid-column: auto; grid-row: auto; }
  @media (min-width: 1000px) {
    #resultModal .mfoot:has(> .mbtns.single) { flex-direction: row; flex-wrap: nowrap; justify-content: space-between; gap: 18px; padding: 14px 28px; }
    #resultModal .mfoot:has(> .mbtns.single) > .dots { flex: none; }
    #resultModal .mfoot:has(> .mbtns.single) > .mlinks { order: 2; flex: none; width: auto; }
    #resultModal .mfoot:has(> .mbtns.single) > .mbtns.single { order: 3; flex: none; width: auto; margin: 0; }
    #resultModal .mfoot:has(> .mbtns.single) .mbtns.single .mbtn { flex: none; width: 150px; }
  }
  @media (max-width: 560px) {
    #resultModal .reading-overview { padding: 17px; border-radius: 17px; }
    #resultModal .reading-anchor-grid--3, #resultModal .reading-anchor-grid--2 { grid-template-columns: 1fr; }
    #resultModal .reading-anchor { display: grid; grid-template-columns: minmax(90px, .55fr) 1fr; column-gap: 10px; align-items: baseline; }
    #resultModal .reading-anchor-place { grid-column: 1; }
    #resultModal .reading-anchor-card { grid-column: 1; margin: 2px 0 0; }
    #resultModal .reading-anchor p { grid-column: 2; grid-row: 1 / span 2; }
    #resultModal .reading-overview .ynbig.rd-extra { align-items: flex-start; gap: 7px !important; }
    #resultModal .reading-overview .ynbig .yn-word { font-size: 13px !important; }
    #resultModal .reading-overview .ynbig.yes .yn-word, #resultModal .reading-overview .ynbig.no .yn-word { font-size: 22px !important; }
    #resultModal .reading-overview .ynbig .yn-reason { flex-basis: 100%; }
    #resultModal .reading-section { padding: 16px; }
    #resultModal .pinterp .reading-section p { font-size: 14.5px; line-height: 1.8; }
    #historyDetail .reading-overview { padding: 17px; border-radius: 17px; }
    #historyDetail .reading-anchor-grid--3, #historyDetail .reading-anchor-grid--2 { grid-template-columns: 1fr; }
    #historyDetail .reading-anchor { display: grid; grid-template-columns: minmax(90px, .55fr) 1fr; column-gap: 10px; align-items: baseline; }
    #historyDetail .reading-anchor-place { grid-column: 1; }
    #historyDetail .reading-anchor-card { grid-column: 1; margin: 2px 0 0; }
    #historyDetail .reading-anchor p { grid-column: 2; grid-row: 1 / span 2; }
    #historyDetail .reading-section { padding: 16px 1px; }
    #historyDetail .reading-section--summary { padding: 16px; }
    #historyDetail .reading-section p { font-size: 14.5px; line-height: 1.8; }
    /* Keep even ten-card spreads compact so the summary is not buried below
       several screenfuls of cards. Only the card strip scrolls sideways. */
    #historyDetail .history-card-list:not(.single) { display: flex; flex-wrap: nowrap; gap: 12px; margin-top: 8px; padding: 6px 0 14px; overflow-x: auto; scroll-snap-type: x proximity; }
    #historyDetail .history-card-list:not(.single) .history-card-item { flex: 0 0 78px; scroll-snap-align: start; }
    #historyDetail .history-card-list:not(.single) .history-card-item .history-card { width: 70px; }
    #historyDetail .history-card-list:not(.single) .history-card-caption b { font-size: 11.5px; }
  }
  /* Navigation and account controls share the same compact touch targets. */
  #siteMenu .menu-single{grid-template-columns:1fr}
  #settingsSheet .about{display:grid;gap:14px}
  #settingsSheet .set-card{margin:0;padding:18px;border-radius:16px}
  #settingsSheet .set-card h3{margin:0 0 12px;font-size:14px;color:#f1d28a}
  #settingsSheet #memorySettingsBox[hidden]{display:none}
  #settingsSheet .memory-settings-note{margin:0 0 8px;color:#b9b5ce;font-size:12px;line-height:1.55}
  #settingsSheet .memory-settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid rgba(225,228,255,.08)}
  #settingsSheet .memory-settings-row > span{min-width:0;display:grid;gap:3px}
  #settingsSheet .memory-settings-row b{font-size:13px;color:#eee9fb}
  #settingsSheet .memory-settings-row small{color:#aca7c2;font-size:11px;line-height:1.45;overflow-wrap:anywhere}
  #settingsSheet .memory-settings-row button{flex:none;border:1px solid rgba(231,195,123,.35);border-radius:10px;background:#ffffff09;color:#e7cc93;padding:8px 10px;font:inherit;font-size:11px;cursor:pointer}
  #settingsSheet .memory-settings-row button:disabled{opacity:.5;cursor:default}
  #settingsSheet .settings-row{min-height:42px;padding:8px 0;gap:16px;border-bottom:1px solid rgba(225,228,255,.08)}
  #settingsSheet .settings-row:last-child{border-bottom:0}
  #settingsSheet .settings-row b{max-width:65%;text-align:right;font-size:13px;line-height:1.6}
  #settingsSheet .pay-actions{justify-content:flex-end;margin-top:12px}
  #settingsSheet .cta,#settingsSheet .text-btn{width:auto;height:40px;min-height:40px;padding:9px 15px;font-size:13px;line-height:1.4;border-radius:11px;margin:0;box-shadow:none}
  .account-actions{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid rgba(225,228,255,.12)}
  #settingsSheet .account-danger{color:#e8a5b7;background:transparent;border-color:transparent}
  #aboutSheet .help-lead{font-size:16px;color:#e8e5fc;line-height:1.7;margin:8px 0 24px}
  .help-steps{list-style:none;padding:0;margin:0;display:grid;gap:12px}
  .help-steps li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;border:1px solid rgba(214,215,255,.14);border-radius:16px;padding:18px;background:rgba(255,255,255,.035)}
  .help-number{color:#f1d28a;font-weight:700;font-size:18px}
  #aboutSheet .help-steps h3{margin:0 0 6px;color:#eeeafa;font-size:15px}
  #aboutSheet p{font-size:13px;line-height:1.85;margin:0;color:#bfc0db}
  .help-panels{display:grid;gap:16px;margin:24px 0}
  .help-panels section,.help-note{padding:16px;border-left:2px solid rgba(241,210,138,.5);background:rgba(255,255,255,.025)}
  #aboutSheet h3{font-size:14px;color:#f1d28a;margin:0 0 8px}
  .help-catalog ul{display:grid;gap:10px;list-style:none;padding:4px 0}
  #aboutSheet details{border:1px solid rgba(214,215,255,.12);border-radius:12px;padding:14px;margin:12px 0}
  #aboutSheet summary{color:#eeeafa;font-size:14px;cursor:pointer;line-height:1.6}
  #aboutSheet details p{margin-top:12px}
  .help-note{margin:22px 0 16px}
  /* 사용 방법 아래 바로가기: 작은 글자 버튼 대신 아이콘·이름·화살표가 있는 넓은 링크 카드 */
  .help-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:0 0 18px}
  .help-actions a{display:flex;align-items:center;gap:12px;min-height:56px;padding:10px 14px;border:1px solid rgba(241,210,138,.24);border-radius:14px;background:linear-gradient(180deg,rgba(241,210,138,.08),rgba(241,210,138,.02));color:#f2ecdc;font-size:14.5px;font-weight:650;text-decoration:none;transition:border-color .18s,background .18s,transform .15s}
  .help-actions a span{flex:1;min-width:0;word-break:keep-all;overflow-wrap:anywhere}
  .help-actions a b{color:#f1d28a;font-size:20px;font-weight:400;line-height:1}
  .help-actions a:hover{border-color:rgba(241,210,138,.55);background:rgba(241,210,138,.12)}
  .help-actions a:active{transform:scale(.98)}
  .help-actions .menu-icon{flex:none;width:32px;height:32px}
  @media(min-width:1000px){.help-panels{grid-template-columns:1fr 1fr}}
  /* card-stock-finish-v1: soft shadow only; original corners and artwork unchanged. */
  .card .front, #resultModal .mini, #cardModal .pcard, #historyDetail .mini, .sh-cards > div {
    box-shadow: 0 10px 22px #0006 !important;
  }
  /* /card-stock-finish-v1 */

#resultModal .mbox { position:relative; }
#resultModal .ai-q-field:has(textarea) { height:auto; min-height:94px; padding:10px 14px; align-items:flex-end; }
.ai-q-field textarea { flex:1; width:100%; min-width:0; height:4.8em; padding:0; border:0; resize:none; outline:none; background:none; color:inherit; font:inherit; font-size:16px; line-height:1.6; }
.ai-q-field textarea::placeholder { color:rgba(238,240,255,.5); }
#resultModal.ai-session-open .pager, #resultModal.ai-session-open .mfoot { visibility:hidden; pointer-events:none; }
#resultModal.ai-session-open .mshare { display:none; }
#resultModal .mhead { gap:12px; }
#resultModal .mhead h2 { min-width:0; }
#resultModal .mh-actions { flex:none; }
#resultModal .ai-audio-controls { display:flex; align-items:center; justify-content:flex-end; gap:8px; }
#resultModal .ai-audio-controls[hidden] { display:none; }
#resultModal .ai-audio-controls [role="switch"] { display:inline-flex; align-items:center; gap:7px; min-height:34px; margin:0; padding:5px 10px; border:1px solid #ffffff30; border-radius:999px; background:#ffffff0d; color:#eee9f6; font:inherit; font-size:12px; white-space:nowrap; cursor:pointer; }
#resultModal .ai-audio-controls [role="switch"]::before { content:''; flex:none; width:25px; height:15px; border-radius:20px; background:radial-gradient(circle at 7px 7.5px,#fff 4px,transparent 5px),#ffffff38; }
#resultModal .ai-audio-controls [role="switch"][aria-checked="true"]::before { background:radial-gradient(circle at 18px 7.5px,#fff 4px,transparent 5px),var(--kcs-a,#8064bf); }
#resultModal .ai-audio-controls [role="switch"]:focus-visible { outline:2px solid #f1d28a; outline-offset:2px; }
#resultModal .ai-audio-controls [role="switch"][hidden] { display:none; }
#resultModal .ai-audio-controls [role="switch"]:disabled { opacity:.55; cursor:not-allowed; }
#resultModal.ai-session-open .mbox { height:min(850px,calc(100dvh - 48px)); max-height:calc(100dvh - 48px)!important; transition:height .6s cubic-bezier(.22,1,.36,1); }
.ai-session { --rail:clamp(155px,20%,210px); position:absolute; inset:64px 0 0; display:grid; grid-template-columns:var(--rail) minmax(0,1fr); min-height:0; overflow:hidden; isolation:isolate; border-radius:0 0 26px 26px; background:#171523; }
.ai-session-cards { grid-column:1; grid-row:1; min-width:0; min-height:0; padding:20px 14px; overflow-y:auto; border-right:1px solid #e3d2ff24; background:linear-gradient(180deg,#211d32,#171523); }
.ai-session-cards::before { content:'이번 카드'; display:block; margin:0 0 14px; color:#d5c4ef; font-size:11px; font-weight:700; letter-spacing:.06em; }
html[lang="en"] .ai-session-cards::before { content:'YOUR CARDS'; }
html[lang="ja"] .ai-session-cards::before { content:'今回のカード'; }
html[lang="es"] .ai-session-cards::before { content:'TUS CARTAS'; }
#resultModal .ai-session .ai-session-cards .card-strip { display:block; width:100%; margin:0; padding:0; border:0; background:none; box-shadow:none; }
#resultModal .ai-session .ai-session-cards .card-strip .summary-row { display:grid; grid-auto-flow:row; grid-auto-columns:auto; grid-template-columns:repeat(2,minmax(0,1fr)); justify-content:center; align-items:start; gap:16px 8px; width:100%; max-width:none; margin:0; padding:0; overflow:visible; }
#resultModal .ai-session .ai-session-cards .mini-wrap { flex:none; min-width:0; width:100%; display:flex; align-items:center; flex-direction:column; }
#resultModal .ai-session .ai-session-cards .mini { width:min(100%,76px); max-width:76px; }
#resultModal .ai-session .ai-session-cards .mini-wrap:only-child { grid-column:1/-1; }
#resultModal .ai-session .ai-session-cards .mini-wrap:only-child .mini { width:min(100%,110px); max-width:110px; }
#resultModal .ai-session-cards .mini-wrap .mini { transition:transform .22s ease,box-shadow .22s ease; }
#resultModal .ai-session-cards .mini-wrap.kcs-card-speaking .mini { transform:translateY(-3px) scale(1.08); box-shadow:0 0 0 2px var(--kcs-gold,#f1d28a),0 0 20px color-mix(in srgb,var(--kcs-gold,#f1d28a) 55%,transparent),0 10px 20px #0009; }
#resultModal .ai-session-cards .mini-wrap.kcs-card-speaking > span { color:var(--kcs-gold,#f1d28a); }
#resultModal .kcs-card-lift { position:fixed; z-index:20; pointer-events:none; overflow:hidden; border-radius:10px; transform-origin:top left; transition:transform .52s cubic-bezier(.22,.8,.22,1); box-shadow:0 22px 58px #000c,0 0 36px color-mix(in srgb,var(--kcs-gold,#f1d28a) 30%,transparent); will-change:transform; }
#resultModal .kcs-card-lift .mini { width:100%!important; max-width:none!important; height:100%!important; transform:none!important; border-radius:inherit; box-shadow:none!important; }
@media (prefers-reduced-motion:reduce) { #resultModal .ai-session-cards .mini-wrap .mini { transition:none; } #resultModal .ai-session-cards .mini-wrap.kcs-card-speaking .mini { transform:none; } }
@media (prefers-reduced-motion:reduce) { #resultModal .kcs-card-lift { transition:none; } }
.ai-session-cards .tap-hint, .ai-session-cards .pmeta { display:none; }
.ai-session-cards .strip-name { margin-top:8px; text-align:center; font-size:12px; }
.ai-session-character { display:none; }
#resultModal .ai-session #aiBox { grid-column:2; grid-row:1; display:flex; flex-direction:column; width:100%; min-width:0; min-height:0; margin:0!important; border:0; border-radius:0; padding:0; overflow:hidden; background:linear-gradient(145deg,#292338,#181623); }
#resultModal .ai-session .ai-head { flex:none; min-height:0; margin:0; padding:16px 22px 12px; border-bottom:1px solid #ffffff17; gap:11px; }
#resultModal .ai-session .ai-head b { font-size:16px; }
#resultModal .ai-session .ai-character-face { display:block; width:42px; height:42px; flex:0 0 42px; }
.ai-chat-progress { flex:none; padding:9px 24px; color:#ddc89e; background:#ffffff06; border-bottom:1px solid #ffffff12; font-size:12px; font-weight:700; }
.ai-chat-progress[hidden] { display:none; }
#resultModal .ai-session .ai-need,
#resultModal .ai-session .ai-examples,
#resultModal .ai-session #aiYourQ,
#resultModal .ai-session .ai-note.ai-foot,
#resultModal .ai-session .ai-status { display:none; }
#resultModal .ai-session .ai-body { position:relative; flex:1 1 0; min-height:0; width:100%; overflow-y:auto; overscroll-behavior:contain; padding:22px clamp(16px,4vw,42px); scrollbar-width:thin; }
#resultModal .ai-session .ai-q { flex:none; width:calc(100% - 48px); max-width:720px; margin:auto auto 12px; }
#resultModal .ai-session .ai-q-field { background:#161522; }
#resultModal #aiBox[data-collapsed-chat="1"] .ai-q,
#resultModal #aiBox[data-collapsed-chat="1"] .ai-actions,
#resultModal #aiBox[data-collapsed-chat="1"] .ai-chat-compose,
#resultModal #aiBox[data-collapsed-chat="1"] .ai-note.ai-foot { display:none; }
#resultModal #aiBox[data-collapsed-chat="1"] .ai-body { max-height:220px; overflow-y:auto; scrollbar-width:thin; }
#resultModal .ai-reopen-chat { display:block; width:100%; min-height:46px; margin:12px 0 0; border:1px solid #bda4ed77; border-radius:13px; background:linear-gradient(90deg,#6f50b9,#9b46bd); color:#fff; font:inherit; font-size:14px; font-weight:700; cursor:pointer; }
#resultModal .ai-reopen-chat[hidden] { display:none; }
#resultModal .ai-reopen-chat:focus-visible { outline:2px solid #f1d28a; outline-offset:2px; }
#resultModal .ai-actions { display:flex; align-items:center; gap:8px; min-width:0; }
#resultModal .ai-actions .ai-btn { margin-top:4px; }
#resultModal .ai-session .ai-actions { flex:none; width:calc(100% - 48px); max-width:720px; margin:0 auto 16px; }
#resultModal .ai-session .ai-actions .ai-btn { flex:none; width:auto; min-width:96px; min-height:42px; margin:0 0 0 auto; padding:9px 20px; }
#resultModal .ai-session .ai-btn[hidden] { display:none; }
#resultModal .ai-session .ai-rit { padding:18px 0; }
#resultModal .ai-session .ai-orb { width:32px; height:32px; margin:0 auto 10px; }
.ai-chat { display:flex; flex-direction:column; gap:20px; width:100%; max-width:620px; margin:0 auto; }
.ai-turn { display:flex; align-items:flex-end; gap:9px; max-width:100%; }
.ai-turn.user { flex-direction:row-reverse; }
/* 말풍선 옆 둥근 얼굴(캐릭터 얼굴 사진·사용자 프로필 사진, 없으면 이름 첫 글자) */
.ai-turn-face { position:relative; flex:none; display:grid; place-items:center; width:34px; height:34px; margin-bottom:2px; border-radius:50%; overflow:hidden; border:1px solid #ffffff26; background:#ffffff14; color:#e8e1f7; font-size:13px; font-weight:700; }
.ai-turn-face img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 20%; }
.ai-turn.user .ai-turn-face { border-color:#ad93e366; background:#8369b955; }
.ai-turn-main { display:flex; flex-direction:column; align-items:flex-start; min-width:0; max-width:min(88%,560px); }
.ai-turn.user .ai-turn-main { align-items:flex-end; }
.ai-turn-label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.ai-turn-bubble { max-width:100%; padding:12px 15px; border-radius:16px 16px 16px 5px; border:1px solid #ffffff1c; background:#ffffff0e; overflow-wrap:anywhere; line-height:1.65; }
.ai-turn.user .ai-turn-bubble { border-radius:16px 16px 5px 16px; border-color:#ad93e349; background:#8369b940; white-space:pre-wrap; }
.ai-turn-bubble > :last-child { margin-bottom:0!important; }
/* 답을 받는 중: 첫 글자 전에는 점 세 개(글이 오기 시작하면 커서 없이 글만) */
.ai-typing { display:inline-flex; gap:5px; align-items:center; height:1.65em; }
.ai-typing i { width:6px; height:6px; border-radius:50%; background:#f1d28a; animation:aiTypingDot 1.1s ease-in-out infinite; }
.ai-typing i:nth-child(2) { animation-delay:.18s; } .ai-typing i:nth-child(3) { animation-delay:.36s; }
@keyframes aiTypingDot { 0%,80%,100% { opacity:.25; transform:translateY(0); } 40% { opacity:1; transform:translateY(-3px); } }
@media (prefers-reduced-motion: reduce) { .ai-typing i { animation:none; } }
#resultModal .ai-session .ai-turn-bubble p { margin:0 0 10px; }
#resultModal .ai-session .ai-turn-bubble p:last-child { margin-bottom:0; }
.ai-chat-compose { flex:none; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 10px; align-items:end; width:calc(100% - 48px); max-width:720px; margin:0 auto 14px; padding:8px 10px; border:1px solid #bda4ed55; border-radius:15px; background:#161522; }
.ai-chat-compose[hidden] { display:none; }
.ai-chat-compose:focus-within { border-color:#f1d28a; box-shadow:0 0 0 3px #f1d28a14; }
.ai-chat-compose textarea { width:100%; min-height:42px; max-height:100px; padding:8px 4px; border:0; outline:0; resize:vertical; background:transparent; color:#fff; font:inherit; font-size:15px; line-height:1.5; }
.ai-chat-compose textarea::placeholder { color:#aaa0bb; }
.ai-chat-compose button { min-width:68px; min-height:42px; padding:0 12px; border:0; border-radius:10px; color:#181321; background:#f1d28a; font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.ai-chat-compose button:disabled { opacity:.5; cursor:wait; }
.ai-chat-hint { grid-column:1/-1; color:#bcb1ce; font-size:11px; line-height:1.4; }
.ai-chat-error { grid-column:1/-1; color:#ffb7c5; font-size:12px; }
.ai-chat-error[hidden] { display:none; }
#resultModal #aiBox .ai-actions > .kcs-voice { display:none; }
#resultModal #aiBox[data-done="1"] .ai-actions > .kcs-voice { display:flex; flex:none; gap:8px; margin:0; }
#resultModal .ai-actions .kcs-voice button:not([hidden]) { min-height:42px; }
#resultModal #aiBox .ai-actions > .kcs-voice #kcsListen, #resultModal #aiBox .ai-actions > .kcs-voice .kcs-note { display:none; }
#resultModal .ai-session .ai-body > .ai-feedback-tools { width:100%; max-width:620px; margin:20px auto 0; box-sizing:border-box; }
@media(min-width:1000px) {
  .ai-session { --rail:clamp(260px,28%,320px); }
  #resultModal .ai-session .ai-session-cards .mini { width:min(100%,104px); max-width:104px; }
  #resultModal .ai-session .ai-session-cards .mini-wrap:only-child .mini { width:min(100%,150px); max-width:150px; }
  #resultModal .ai-session .ai-q, #resultModal .ai-session .ai-actions, .ai-chat-compose { max-width:620px; }
}
@media(max-width:680px) {
  #resultModal.ai-session-open { padding:0; }
  #resultModal.ai-session-open .mbox { width:100%; max-width:none; height:100dvh; max-height:100dvh!important; border-radius:0; }
  .ai-session { inset:60px 0 0; display:flex; flex-direction:column; border-radius:0; }
  .ai-session-cards { flex:none; display:flex; align-items:center; gap:10px; width:100%; height:88px; padding:6px 12px; overflow-x:auto; overflow-y:hidden; border-right:0; border-bottom:1px solid #e3d2ff24; }
  .ai-session-cards::before { flex:none; margin:0; font-size:10px; }
  #resultModal .ai-session .ai-session-cards .card-strip { flex:none; width:max-content; min-width:0; }
  #resultModal .ai-session .ai-session-cards .card-strip .summary-row { display:flex; flex-wrap:nowrap; justify-content:flex-start; gap:8px; width:max-content; max-width:none; padding:0; overflow:visible; }
  #resultModal .ai-session .ai-session-cards .card-strip .summary-row .mini-wrap, #resultModal .ai-session .ai-session-cards .card-strip .summary-row .mini-wrap:only-child { flex:0 0 64px; width:64px; grid-column:auto; font-size:10px; }
  #resultModal .ai-session .ai-session-cards .mini, #resultModal .ai-session .ai-session-cards .mini-wrap:only-child .mini { width:34px; max-width:34px; border-radius:5px; }
  #resultModal .ai-session .ai-session-cards .mini-wrap > span { display:block; width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:10px; }
  .ai-session-cards .strip-name { display:none; }
  #resultModal .ai-session #aiBox { flex:1; height:auto; min-height:0; }
  #resultModal .ai-session .ai-head { padding:10px 14px; }
  #resultModal .mhead { padding:12px; gap:6px; }
  #resultModal .mhead h2 { font-size:14px; }
  #resultModal .ai-audio-controls { gap:4px; }
  #resultModal .ai-audio-controls [role="switch"] { min-height:30px; padding:4px 6px; gap:4px; font-size:11px; }
  #resultModal .ai-audio-controls [role="switch"]::before { width:22px; height:14px; background:radial-gradient(circle at 7px 7px,#fff 4px,transparent 5px),#ffffff38; }
  #resultModal .ai-audio-controls [role="switch"][aria-checked="true"]::before { background:radial-gradient(circle at 15px 7px,#fff 4px,transparent 5px),var(--kcs-a,#8064bf); }
  #resultModal .ai-session .ai-body { padding:14px 12px; }
  .ai-chat-progress { padding:7px 14px; }
  #resultModal .ai-session .ai-q, #resultModal .ai-session .ai-actions, .ai-chat-compose { width:calc(100% - 24px); }
  .ai-chat { gap:14px; }
  .ai-turn-main { max-width:calc(100% - 40px); } .ai-turn-face { width:30px; height:30px; } .ai-turn-bubble { padding:10px 12px; font-size:13px; }
  .ai-chat-compose { margin-bottom:calc(8px + env(safe-area-inset-bottom)); }
  #resultModal .ai-session .ai-actions { flex-wrap:wrap; }
  #resultModal.kb-open .ai-session-cards { display:none; }
  #resultModal.kb-open.ai-session-open { padding:12px 16px; }
  #resultModal.kb-open.ai-session-open .mbox { height:100%; max-height:100%!important; border-radius:20px; transition:none; }
}
@media(max-width:360px) {
  #resultModal .mhead { flex-wrap:wrap; }
  #resultModal .mhead h2 { flex:1 1 100%; }
  #resultModal .mh-actions { margin-left:auto; }
}
html.ai-collapsing::view-transition-old(ai-reading-box),
html.ai-collapsing::view-transition-new(ai-reading-box) {
  animation-duration:560ms;
  animation-timing-function:cubic-bezier(.22,1,.36,1);
  object-fit:cover;
  object-position:top;
}
html.ai-collapsing::view-transition-old(root),
html.ai-collapsing::view-transition-new(root) { animation-duration:0ms; }
@media(prefers-reduced-motion:reduce) { #resultModal.ai-session-open .mbox { transition:none; } }
/* 대화 중 도움(2026-10-22): 바로 답하기 예시와 '이제 정리해 주세요', 기다리는 동안의 캐릭터 동작 문구 */
.ai-chat-assist { display:flex; flex-wrap:wrap; gap:6px 8px; align-items:center; margin:0 0 8px; }
.ai-chat-assist[hidden] { display:none; }
.ai-reply-chips { display:flex; flex-wrap:wrap; gap:6px; min-width:0; }
.ai-reply-chips button, .ai-wrap-now { min-height:32px; padding:5px 12px; border:1px solid #bda4ed55; border-radius:999px; background:#ffffff0a; color:#e9e2f5; font:inherit; font-size:12.5px; line-height:1.35; text-align:left; cursor:pointer; }
.ai-reply-chips button:hover, .ai-reply-chips button:focus-visible { border-color:#f1d28a99; background:#f1d28a14; }
.ai-wrap-now { border-color:#f1d28a88; color:#f1d28a; font-weight:700; }
.ai-wrap-now:hover, .ai-wrap-now:focus-visible { background:#f1d28a1f; }
.ai-typing-note { display:block; margin-top:2px; color:#bcb1ce; font-size:12px; }
/* 음성 낭독이 없는 이용권: 재생·처음부터 버튼 숨김, 스위치는 꺼진 모양 + 자물쇠 표시(누르면 업그레이드 안내) */
.kcs-voice.kcs-locked button { display:none !important; }
#aiListenToggle[data-locked="1"]::after { content:'🔒'; margin-left:6px; font-size:.85em; opacity:.8; }

/* 모바일 질문 입력: 메인 입력줄과 같은 표면·높이·마이크 상태. */
@media (max-width:999.98px) {
  #resultModal .ai-q-field:has(textarea), #resultModal .ai-session .ai-q-field {
    position:relative; box-sizing:border-box; height:auto; min-height:56px; padding:6px; gap:6px; align-items:flex-end;
    border:1px solid rgba(184,178,220,.28); border-radius:14px; background:rgba(22,20,40,.82);
    box-shadow:0 10px 26px rgba(10,8,24,.35),inset 0 1px 0 rgba(255,242,210,.08);
  }
  #resultModal .ai-q-field:focus-within { border-color:#f1d28a; box-shadow:0 0 0 3px rgba(241,210,138,.16),0 10px 26px rgba(10,8,24,.35); }
  #resultModal .ai-q-field.invalid { border-color:rgba(255,159,180,.6); }
  #resultModal .ai-q-field textarea { box-sizing:border-box; height:42px; min-height:42px; max-height:108px; padding:10px; margin:0; font-size:16px; font-weight:500; line-height:22px; color:var(--text); overflow-y:auto; }
  #resultModal .ai-q-field textarea::placeholder { color:rgba(226,222,245,.55); font-size:15px; }
  #resultModal .ai-q-count { display:none; }
  #resultModal .ai-q-field #kcsMic { flex:none; align-self:flex-end; box-sizing:border-box; display:grid; place-items:center; width:40px; height:40px; min-width:40px; padding:0; margin:0; border:0; border-radius:12px; background:transparent; color:rgba(226,222,245,.72); }
  #resultModal .ai-q-field #kcsMic svg { width:20px; height:20px; animation:none; }
  #resultModal .ai-q-field #kcsMic.on { background:var(--kcs-gold,#f1d28a); color:#1a1530; box-shadow:0 0 0 3px rgba(241,210,138,.22); animation:askMicPulse 1.4s ease-in-out infinite; }
  @media (prefers-reduced-motion:reduce) { #resultModal .ai-q-field #kcsMic.on { animation:none; } }
}

/* 상담 공간: 차분한 보라색 표면과 얇은 골드 포인트. 카드 모션과 입력 동작은 유지. */
#resultModal .ai-session { background:#191524; }
#resultModal .ai-session .ai-session-cards { background:radial-gradient(ellipse at 0 0,#8163b51c,transparent 65%),linear-gradient(180deg,#241d33,#181521); border-color:#c5adf022; }
#resultModal .ai-session #aiBox { background:radial-gradient(ellipse at 90% 0%,#9671c918,transparent 55%),linear-gradient(160deg,#282134,#1c1828 65%); }
#resultModal .ai-session .ai-head { position:relative; padding:17px 24px; gap:13px; background:linear-gradient(110deg,#ffffff06,transparent); border-bottom:1px solid #dbc5f01f; box-shadow:0 8px 24px #100c1c20; }
#resultModal .ai-session .ai-head::after { content:''; position:absolute; bottom:-1px; left:24px; width:62px; height:1px; background:linear-gradient(90deg,#e5c48d9c,transparent); }
#resultModal .ai-session .ai-head b { letter-spacing:.02em; color:#f7f0ff; }
#resultModal .ai-session .ai-character-face { width:46px; height:46px; flex-basis:46px; border:1px solid #e7ca9277; border-radius:50%; box-shadow:0 0 0 4px #e7ca9209,0 4px 14px #100b2040; }
#resultModal .ai-session .ai-chat-progress { padding:10px 24px; background:#17102024; color:#d8c297; font-size:11px; font-weight:500; letter-spacing:.03em; border-color:#ffffff09; }
#resultModal .ai-session .ai-body { padding-top:28px; padding-bottom:26px; scrollbar-color:#9a81b64d transparent; }
#resultModal .ai-session .ai-chat { gap:24px; }
#resultModal .ai-session .ai-turn { gap:10px; }
#resultModal .ai-session .ai-turn-face { border-color:#d6b57650; box-shadow:0 3px 12px #0e091f40; }
#resultModal .ai-session .ai-turn-bubble { padding:16px 19px; border:1px solid #dfc6ff1c; border-radius:19px 19px 19px 5px; background:linear-gradient(135deg,#ffffff0c,#ffffff04); box-shadow:0 5px 18px #0b081b24,inset 0 1px 0 #ffffff05; color:#ece6f4; line-height:1.85; }
#resultModal .ai-session .ai-turn.user .ai-turn-bubble { border-radius:19px 19px 5px 19px; border-color:#b997e33b; background:linear-gradient(135deg,#71559470,#58407470); color:#f7f1ff; box-shadow:0 5px 16px #10092130,inset 0 1px 0 #ffffff08; }
#resultModal .ai-session .ai-turn.user .ai-turn-face { border-color:#c2a4e94a; background:#9676bd30; }
#resultModal .ai-session .ai-typing-note { margin-top:7px; color:#bfb1ce; font-size:11px; }
#resultModal .ai-session .ai-q-field, #resultModal .ai-session .ai-chat-compose { border-color:#bea5dd40; background:linear-gradient(135deg,#211b31,#1b1728); box-shadow:0 8px 24px #0c091e30,inset 0 1px 0 #ffffff08; }
#resultModal .ai-session .ai-q-field:focus-within, #resultModal .ai-session .ai-chat-compose:focus-within { border-color:#e4c58d99; box-shadow:0 0 0 3px #e4c58d0c,0 8px 24px #0c091e30; }
#resultModal .ai-session .ai-actions .ai-btn, #resultModal .ai-session .ai-chat-compose button { border:1px solid #e9d5a755; border-radius:12px; background:linear-gradient(135deg,#edd6a5,#c8a76b); color:#302337; box-shadow:0 4px 12px #100b202b,inset 0 1px 0 #fff7; font-weight:800; transition:filter .18s,box-shadow .18s; }
#resultModal .ai-session .ai-actions .ai-btn:hover:not(:disabled), #resultModal .ai-session .ai-chat-compose button:hover:not(:disabled) { filter:brightness(1.08); box-shadow:0 5px 16px #d9b77820; }
#resultModal .ai-session .ai-actions .ai-btn:focus-visible, #resultModal .ai-session .ai-chat-compose button:focus-visible { outline:2px solid #f1d28a; outline-offset:3px; }
#resultModal .ai-session .ai-reply-chips button { border-color:#c6ace332; background:#ffffff05; color:#d7c9e6; }
#resultModal .ai-session .ai-wrap-now { border-color:#d8bc7c60; background:#d8bc7c09; color:#e7cd98; }
@media(max-width:680px) {
  #resultModal .ai-session .ai-head { padding:12px 16px; }
  #resultModal .ai-session .ai-head::after { left:16px; }
  #resultModal .ai-session .ai-character-face { width:40px; height:40px; flex-basis:40px; }
  #resultModal .ai-session .ai-chat-progress { padding:8px 16px; }
  #resultModal .ai-session .ai-body { padding:20px 14px; }
  #resultModal .ai-session .ai-chat { gap:21px; }
  #resultModal .ai-session .ai-turn { gap:8px; }
  #resultModal .ai-session .ai-turn-bubble { padding:13px 15px; font-size:14px; line-height:1.8; }
}
@media(prefers-reduced-motion:reduce) {
  #resultModal .ai-session .ai-actions .ai-btn, #resultModal .ai-session .ai-chat-compose button { transition:none; }
}

@media (max-width:999.98px) {
  #resultModal .page:has(#aiQInput:focus) { overflow-anchor:none; }
}
