/* 현과 대화(사주톡) 화면. 사이트 토큰(--paper·--ink·--gold)을 그대로 쓴다. */
body{margin:0}
.talk{max-width:480px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--paper)}
.th{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:10px;padding:10px 12px 10px 16px;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid color-mix(in srgb,var(--gold) 18%,transparent)}
.th a{color:var(--ink);text-decoration:none;font-size:22px;line-height:1;padding-right:2px}
.th img{width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:50% 14%;border:1px solid color-mix(in srgb,var(--gold) 40%,transparent)}
.th-name{flex:1}.th b{font-family:"MaruBuri","Noto Serif KR",serif;font-size:17px}
.th-menu{background:none;border:0;color:var(--ink);font-size:22px;padding:4px 8px;cursor:pointer}
.menu{position:sticky;top:61px;z-index:3;display:flex;justify-content:flex-end;padding:0 12px}
.menu button{padding:10px 14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);background:var(--paper);color:var(--ink);font-size:14px}
.flow{flex:1;padding:12px 16px 132px}
.msg{display:flex;gap:8px;margin:10px 0;align-items:flex-start}.msg.me{justify-content:flex-end}
.av{width:30px;height:30px;border-radius:50%;object-fit:cover;object-position:50% 14%;flex:none;margin-top:2px}
.b{max-width:78vw;padding:10px 13px;border-radius:16px;font-size:15px;line-height:1.6;word-break:keep-all;white-space:pre-wrap}
.hy .b{background:color-mix(in srgb,var(--paper) 82%,#fff);border-top-left-radius:4px}
.me .b{background:#5b3fb0;color:#fff;border-top-right-radius:4px;max-width:70vw}
.note{text-align:center;font-size:12.5px;opacity:.7;margin:8px 0}
.typing .b{opacity:.7}
.pass{margin:14px 0 6px 38px;padding:14px;border-radius:16px;border:1px solid color-mix(in srgb,var(--gold) 30%,transparent);background:color-mix(in srgb,var(--paper) 88%,var(--gold))}
.pass p{margin:0 0 10px;font-size:14px}
.opt{display:flex;justify-content:space-between;align-items:center;width:100%;box-sizing:border-box;margin:7px 0 0;padding:11px 13px;border-radius:12px;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);background:transparent;color:var(--ink);font-size:15px;text-decoration:none;cursor:pointer}
.opt.rec{border-color:#8f6cf0;background:color-mix(in srgb,#7a4be8 22%,transparent)}.opt em{font-style:normal;font-size:11px;margin-left:6px;padding:1px 6px;border-radius:8px;background:#7a4be8;color:#fff}
.opt span{opacity:.8;font-size:13px}.opt[disabled]{opacity:.5}
.pass .fine{font-size:11.5px;opacity:.55;margin-top:9px}
.opt.first{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 20%,transparent)}.opt.first em{background:var(--gold);color:#1a1408}.opt s{opacity:.6;font-size:12px;margin-right:2px}
.tk-next{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 2px 38px}.tk-next button{padding:7px 12px;border-radius:16px;border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);background:transparent;color:var(--ink);font-size:13px;cursor:pointer}
.opt.signup{border-color:#4fae7e;background:color-mix(in srgb,#2f8f5f 22%,transparent)}.opt.signup span{opacity:1;color:#8fdcb2;font-weight:600}
.empty{text-align:center;margin:40px 8px}.empty p{font-size:15px;line-height:1.6;white-space:pre-line}.empty a{display:inline-block;margin-top:10px;padding:12px 18px;border-radius:22px;background:#7a4be8;color:#fff;text-decoration:none}
.in{position:fixed;left:0;right:0;bottom:0;padding:10px 16px calc(8px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--paper) 94%,transparent);border-top:1px solid color-mix(in srgb,var(--gold) 14%,transparent)}
.in form{max-width:448px;margin:0 auto;display:flex;gap:8px}.in input{flex:1;min-width:0;padding:12px 14px;border-radius:22px;border:1px solid color-mix(in srgb,var(--ink) 20%,transparent);background:transparent;color:var(--ink);font-size:16px}
.in button{padding:0 16px;border-radius:22px;border:0;background:#7a4be8;color:#fff;font-size:15px}.in button[disabled]{opacity:.5}
/* 장면 묘사(*별표*): 말풍선 밖 장면 줄과 말풍선 안 섞인 줄. 사이트 styles.css의 .scene·.notice와 겹치지 않게 tk- 접두어 */
.tk-scene{margin:12px 6px 4px 38px;font-size:13.5px;line-height:1.65;font-style:italic;opacity:.62;word-break:keep-all}
.b .nr{font-style:italic;opacity:.62}
/* 처음 대화 전 안내(한 번만) */
.tk-notice{position:fixed;inset:0;z-index:10;display:flex;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.55)}
.tk-notice-card{width:100%;max-width:480px;box-sizing:border-box;padding:22px 20px calc(18px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;background:var(--paper);color:var(--ink)}
.tk-notice-card b{display:block;font-size:17px;margin-bottom:10px}.tk-notice-card p{margin:7px 0;font-size:14px;line-height:1.55;opacity:.85}
.tk-notice-card button{width:100%;margin-top:14px;padding:14px;border-radius:14px;border:0;background:#7a4be8;color:#fff;font-size:16px}
.tk-sound{margin:4px 0 2px 38px;font-size:12px;letter-spacing:.12em;opacity:.5;font-style:italic}.th-sound{background:none;border:0;color:var(--ink);font-size:18px;padding:4px 6px;cursor:pointer;opacity:.8}

/* 소원지(생년월일 입력) — 사장님 11/01 */
.tk-slip{margin:10px 6px 18px;padding:18px 16px 14px;border-radius:14px;background:#f4ead6;color:#2b2218;box-shadow:0 6px 18px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:12px}
.tk-slip-title{font-size:17px;text-align:center;letter-spacing:.2em}
.tk-f{display:flex;flex-direction:column;gap:6px;font-size:14px}
.tk-f>span{font-weight:600}
.tk-slip input,.tk-slip select{font:inherit;font-size:16px;padding:10px 12px;border:1px solid #c9b48f;border-radius:10px;background:#fffaf0;color:#2b2218}
.tk-seg{display:flex;flex-wrap:wrap;gap:6px}
.tk-seg button{font:inherit;font-size:14px;padding:8px 12px;border:1px solid #c9b48f;border-radius:999px;background:#fffaf0;color:#2b2218}
.tk-seg button.on{background:#6b4f2a;border-color:#6b4f2a;color:#fff}
.tk-leap{font-size:14px}
.tk-slip-status{min-height:1em;margin:0;color:#a3302a;font-size:13px}
.tk-slip-go{font:inherit;font-size:16px;font-weight:700;padding:13px;border:0;border-radius:12px;background:#7c4dff;color:#fff}
.tk-slip-go:disabled{opacity:.6}
.tk-slip-privacy{margin:0;text-align:center;font-size:12px;color:#7a6a55}

/* 첫 화면(notice-wip 11/02): 소원지 위 대화 예시 · AI 라벨(설정 켜짐일 때만) */
.th-ai{margin-left:6px;padding:0 5px;border:1px solid currentColor;border-radius:4px;font-size:10px;font-weight:600;opacity:.6;vertical-align:middle}
.tk-preview{margin:6px 0 10px;padding:12px 12px 10px;border:1px dashed color-mix(in srgb,var(--gold,#c9a227) 55%,transparent);border-radius:14px;display:flex;flex-direction:column;gap:6px}
.tk-preview-tag{align-self:flex-start;font-size:11px;letter-spacing:.08em;color:color-mix(in srgb,var(--gold,#c9a227) 80%,#000);border:1px solid color-mix(in srgb,var(--gold,#c9a227) 60%,transparent);border-radius:999px;padding:1px 8px;margin-bottom:2px}
.tk-pv{margin:0;max-width:82%;padding:8px 12px;border-radius:14px;font-size:14px;line-height:1.5;word-break:keep-all}
.tk-pv-user{align-self:flex-end;background:#5b3fb0;color:#fff;border-top-right-radius:4px}
.tk-pv-hyeon{align-self:flex-start;background:color-mix(in srgb,var(--paper,#fff) 82%,#fff);border:1px solid rgba(0,0,0,.06);border-top-left-radius:4px}

/* ── 구미호 화면(client/gumiho-talk/gumiho-talk.css) ── */
/* 현과 대화(사주톡) 화면. 사이트 토큰(--paper·--ink·--gold)을 그대로 쓴다. */
body{margin:0}
.talk{max-width:480px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--paper)}
.th{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:10px;padding:10px 12px 10px 16px;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid color-mix(in srgb,var(--gold) 18%,transparent)}
.th a{color:var(--ink);text-decoration:none;font-size:22px;line-height:1;padding-right:2px}
.th img{width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:50% 50%;border:1px solid color-mix(in srgb,var(--gold) 40%,transparent)}
.th-name{flex:1}.th b{font-family:"MaruBuri","Noto Serif KR",serif;font-size:17px}
.th-menu{background:none;border:0;color:var(--ink);font-size:22px;padding:4px 8px;cursor:pointer}
.menu{position:sticky;top:61px;z-index:3;display:flex;justify-content:flex-end;padding:0 12px}
.menu button{padding:10px 14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);background:var(--paper);color:var(--ink);font-size:14px}
.flow{flex:1;padding:12px 16px 132px}
.msg{display:flex;gap:8px;margin:10px 0;align-items:flex-start}.msg.me{justify-content:flex-end}
.av{width:30px;height:30px;border-radius:50%;object-fit:cover;object-position:50% 50%;flex:none;margin-top:2px}
.b{max-width:78vw;padding:10px 13px;border-radius:16px;font-size:15px;line-height:1.6;word-break:keep-all;white-space:pre-wrap}
.hy .b{background:color-mix(in srgb,var(--paper) 82%,#fff);border-top-left-radius:4px}
.me .b{background:#5b3fb0;color:#fff;border-top-right-radius:4px;max-width:70vw}
.note{text-align:center;font-size:12.5px;opacity:.7;margin:8px 0}
.typing .b{opacity:.7}
.pass{margin:14px 0 6px 38px;padding:14px;border-radius:16px;border:1px solid color-mix(in srgb,var(--gold) 30%,transparent);background:color-mix(in srgb,var(--paper) 88%,var(--gold))}
.pass p{margin:0 0 10px;font-size:14px}
.opt{display:flex;justify-content:space-between;align-items:center;width:100%;box-sizing:border-box;margin:7px 0 0;padding:11px 13px;border-radius:12px;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);background:transparent;color:var(--ink);font-size:15px;text-decoration:none;cursor:pointer}
.opt.rec{border-color:#8f6cf0;background:color-mix(in srgb,#7a4be8 22%,transparent)}.opt em{font-style:normal;font-size:11px;margin-left:6px;padding:1px 6px;border-radius:8px;background:#7a4be8;color:#fff}
.opt span{opacity:.8;font-size:13px}.opt[disabled]{opacity:.5}
.pass .fine{font-size:11.5px;opacity:.55;margin-top:9px}
.opt.first{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 20%,transparent)}.opt.first em{background:var(--gold);color:#1a1408}.opt s{opacity:.6;font-size:12px;margin-right:2px}
.tk-next{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 2px 38px}.tk-next button{padding:7px 12px;border-radius:16px;border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);background:transparent;color:var(--ink);font-size:13px;cursor:pointer}
.opt.signup{border-color:#4fae7e;background:color-mix(in srgb,#2f8f5f 22%,transparent)}.opt.signup span{opacity:1;color:#8fdcb2;font-weight:600}
.empty{text-align:center;margin:40px 8px}.empty p{font-size:15px;line-height:1.6;white-space:pre-line}.empty a{display:inline-block;margin-top:10px;padding:12px 18px;border-radius:22px;background:#7a4be8;color:#fff;text-decoration:none}
.in{position:fixed;left:0;right:0;bottom:0;padding:10px 16px calc(8px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--paper) 94%,transparent);border-top:1px solid color-mix(in srgb,var(--gold) 14%,transparent)}
.in form{max-width:448px;margin:0 auto;display:flex;gap:8px}.in input{flex:1;min-width:0;padding:12px 14px;border-radius:22px;border:1px solid color-mix(in srgb,var(--ink) 20%,transparent);background:transparent;color:var(--ink);font-size:16px}
.in button{padding:0 16px;border-radius:22px;border:0;background:#7a4be8;color:#fff;font-size:15px}.in button[disabled]{opacity:.5}
/* 장면 묘사(*별표*): 말풍선 밖 장면 줄과 말풍선 안 섞인 줄. 사이트 styles.css의 .scene·.notice와 겹치지 않게 tk- 접두어 */
.tk-scene{margin:12px 6px 4px 38px;font-size:13.5px;line-height:1.65;font-style:italic;opacity:.62;word-break:keep-all}
.b .nr{font-style:italic;opacity:.62}
/* 처음 대화 전 안내(한 번만) */
.tk-sound{margin:4px 0 2px 38px;font-size:12px;letter-spacing:.12em;opacity:.5;font-style:italic}.th-sound{background:none;border:0;color:var(--ink);font-size:18px;padding:4px 6px;cursor:pointer;opacity:.8}

/* 소원지(생년월일 입력) — 사장님 11/01 */
.tk-slip{margin:10px 6px 18px;padding:18px 16px 14px;border-radius:14px;background:#f4ead6;color:#2b2218;box-shadow:0 6px 18px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:12px}
.tk-slip-title{font-size:17px;text-align:center;letter-spacing:.2em}
.tk-f{display:flex;flex-direction:column;gap:6px;font-size:14px}
.tk-f>span{font-weight:600}
.tk-slip input,.tk-slip select{font:inherit;font-size:16px;padding:10px 12px;border:1px solid #c9b48f;border-radius:10px;background:#fffaf0;color:#2b2218}
.tk-seg{display:flex;flex-wrap:wrap;gap:6px}
.tk-seg button{font:inherit;font-size:14px;padding:8px 12px;border:1px solid #c9b48f;border-radius:999px;background:#fffaf0;color:#2b2218}
.tk-seg button.on{background:#6b4f2a;border-color:#6b4f2a;color:#fff}
.tk-leap{font-size:14px}
.tk-slip-status{min-height:1em;margin:0;color:#a3302a;font-size:13px}
.tk-slip-go{font:inherit;font-size:16px;font-weight:700;padding:13px;border:0;border-radius:12px;background:#7c4dff;color:#fff}
.tk-slip-go:disabled{opacity:.6}
.tk-slip-privacy{margin:0;text-align:center;font-size:12px;color:#7a6a55}


.gm{--gm-ink:#0a1018;--gm-lake:#13202e;--gm-red:#b8322f}
.gm,.gm .flow{background:linear-gradient(180deg,#0a1018 0%,#0f1a26 60%,#132433 100%)}
.gm .msg.hy .b{background:#1b2a3a;color:#e8eef5}
.gm .msg.me .b{background:var(--gm-red);color:#fff}
.gm .tk-scene{color:#9fb3c8}
.gm .tk-next button{border-color:#b8322f88;color:#f1d9d6}
.gm .in button{background:var(--gm-red)}
.gm .tk-slip{background:#eef2f6;color:#14202c}
.gm .tk-seg button.on{background:#13202e;border-color:#13202e;color:#fff}
.gm .tk-slip-go{background:var(--gm-red)}
.gm .tk-sub{margin:6px 0 0;font-weight:700;font-size:15px;border-top:1px dashed #9fb3c8;padding-top:10px}

.gm-intro{margin:6px 6px 14px;padding:18px 16px;border-radius:14px;background:linear-gradient(180deg,#152536,#0e1824);border:1px solid #b8322f55;color:#e8eef5}
.gm-hero{display:block;width:100%;height:210px;object-fit:cover;object-position:50% 30%;border-radius:10px;margin:0 0 14px;border:1px solid #b8322f44}
.gm-tag{display:block;font-size:17px;letter-spacing:.02em;margin-bottom:8px}
.gm-hook{white-space:pre-line;margin:0 0 12px;color:#c9d6e3;font-size:14px;line-height:1.6}
.gm-blk{margin:0 0 10px}.gm-blk b{font-size:14px}.gm-blk p{margin:2px 0 0;color:#a9bccf;font-size:13px;line-height:1.55}
.gm-teaser{white-space:pre-line;margin:12px 0 0;padding-top:12px;border-top:1px dashed #b8322f66;color:#f1d9d6;font-size:14px;line-height:1.6}

/* 마지막 답이 아래 입력창에 가리지 않게 */
.gm .flow::after{content:'';display:block;height:110px}
/* slip-wip(11/02): 소원지 위 가치 한 줄 · 접힌 태어난 시간 · 대화 안 하는 일/연애 버튼 */
.tk-slip-value{margin:6px 10px 0;text-align:center;font-size:14.5px;font-weight:600;line-height:1.5;word-break:keep-all;color:var(--ink,#f3eee4)}
.tk-more{border-top:1px dashed #c9b48f;padding-top:8px}
.tk-more>summary{cursor:pointer;font-size:14px;font-weight:600;color:#6b4f2a;list-style:none;padding:4px 0}
.tk-more>summary::-webkit-details-marker{display:none}
.tk-more>summary::before{content:"+ ";font-weight:700}
.tk-more[open]>summary::before{content:"− "}
.tk-more>.tk-f{margin-top:8px}
.tk-life{margin:4px 0 2px}
.tk-life-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 2px 38px}
.tk-life-chips button{font:inherit;font-size:13.5px;padding:7px 12px;border-radius:16px;border:1px solid color-mix(in srgb,var(--gold,#c9a227) 55%,transparent);background:transparent;color:inherit}
.tk-life-chips button.skip{opacity:.6;border-style:dashed}
.tk-life-chips button:disabled{opacity:.45}
/* slip-wip(11/02): 구미호 2단계 */
.gm-me-sum{font:inherit;font-size:14px;text-align:left;padding:10px 12px;border:1px dashed #c9b48f;border-radius:10px;background:#fffaf0;color:#2b2218}
.gm-fields{display:flex;flex-direction:column;gap:12px}
.gm-fields[hidden]{display:none}
.gm-teaser{margin-top:6px}
/* alimtalk-wip: 결제 완료 카카오톡 안내 받기(기본 꺼짐) */
.tk-notify{margin:4px 0 10px;font-size:13px;line-height:1.5}
.tk-notify-check{display:flex;gap:8px;align-items:center;cursor:pointer}
.tk-notify-check input{width:18px;height:18px;margin:0;flex:none}
.tk-notify-phone{display:block;width:100%;box-sizing:border-box;margin-top:8px;padding:11px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);color:inherit;font-size:16px}
.tk-notify-phone[hidden]{display:none}

/* r26 상태 창 */
.st-card{margin:10px 8px 4px;padding:8px 12px;border-radius:12px;background:rgba(255,179,107,.07);border:1px solid #ffb36b33;font-size:12.5px;line-height:1.55;color:#d9d2ee}
.st-card .st-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.st-card .st-h{color:#ffb36b;letter-spacing:1px}.st-card .st-in{margin-top:3px;color:#efe9ff;font-style:italic}
.st-card.old{padding:4px 10px;opacity:.55;font-size:11px}.st-card.old .st-in{display:none}
