@charset "utf-8";
/* AI 상담 (/ai) — 시안 docs/features/ai-consult.md 「화면」: 처음 화면 안 나 + 대화 화면 답변 안 2.
   공용 머리·바닥 위에 본문만 더한다. 모든 규칙은 .aic 안에 가둔다. px 로 쓴다(840px 이하에서 html 폰트가 줄어 rem 이 예측이 안 된다). */
.aic{--fire:#ff5a00;--ink:#1f2d3a;--sub:#8b949c;--line:#e3e7eb;max-width:560px;margin:0 auto;padding:0 16px;font-size:15px;color:var(--ink);box-sizing:border-box}
.aic *{box-sizing:border-box}
.aic svg.ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.aic button{font-family:inherit}

/* 맨 위 건물 꼬리표 + 견적 바로 신청 */
.aic .top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0 6px;min-height:52px}
.aic .tag{display:none;align-items:center;gap:6px;max-width:72%;padding:7px 12px;border:1px solid var(--line);border-radius:20px;background:#fff;font-size:14px;font-weight:700;color:var(--ink);cursor:pointer;text-align:left}
.aic .tag .ic{color:var(--fire);width:17px;height:17px}
.aic .tag span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aic.has-building .tag{display:inline-flex}
/* "건물 주소 넣기" — 점선 회색은 눈에 안 띄었다(2026-10-21 사용자 "보지도 못했다") → 주황 테두리·글씨·핀 알약 */
.aic .tag.add{display:inline-flex;border:1.5px solid #ff8a4c;background:#fff5ef;color:var(--fire);font-weight:800}
.aic.has-building .tag.add,.aic.fresh .tag.add{display:none}
.aic .direct{margin-left:auto;font-size:13.5px;color:#6b7680;text-decoration:underline;white-space:nowrap}
.aic .tag_info{display:none;margin:0 0 8px;padding:10px 12px;border-radius:10px;background:#f6f8fa;font-size:13px;line-height:1.5;color:#5b6670;word-break:keep-all}
.aic .tag_info.open{display:block}
.aic .tag_info b{color:var(--ink)}
.aic .tag_info button{margin-top:6px;border:0;background:none;padding:0;font-size:13px;color:var(--fire);text-decoration:underline;cursor:pointer}

/* 화면 한 장 = 대화 앱 모양(시안 안 나): 제목은 가운데, 주소 카드·입력줄은 맨 아래에 붙는다.
   사이트 바닥(회사 정보)은 이 화면에서만 숨긴다 — 입력줄 아래로 검은 띠가 올라오면 대화 앱처럼 안 보인다 */
body.aic_page #footer{display:none}
/* ⚠️ 공용 layout.css 의 #wrap{overflow:hidden} 이 #wrap 을 스크롤 상자로 만들어 입력줄의 position:sticky 가 화면이 아니라 #wrap 에 붙었다
   (긴 답을 펼치면 입력줄이 아래로 밀려 안 보이던 원인, 2026-10-21). 이 화면만 풀고, 가로 넘침은 clip(스크롤 상자를 만들지 않는다)으로 자른다 */
body.aic_page #wrap{overflow:visible;overflow-x:clip}
body.aic_page #container{padding-top:0;padding-bottom:0}
/* --aic-top = 이 화면이 시작하는 높이(머리 + 본문 위 여백). 화면 끝 스크립트가 재서 넣는다 — 바닥 앱 메뉴 자리는 공용 spacer 가 따로 잡는다 */
.aic{display:flex;flex-direction:column;min-height:calc(100vh - var(--aic-top, 100px) - var(--appnav-h, 0px));min-height:calc(100dvh - var(--aic-top, 100px) - var(--appnav-h, 0px))}
.aic .log{flex:1 0 auto}
.aic.fresh .log{flex:0 0 auto}
.aic.fresh .hello{flex:1 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center}

/* 처음 화면 */
.aic .hello{text-align:center;padding:36px 0 28px}
.aic .hello .mark{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,#ff7a2e,#ff5a00);color:#fff;box-shadow:0 8px 20px rgba(255,90,0,.25)}
.aic .hello .mark .ic{width:32px;height:32px}
.aic .hello h2{margin:20px 0 8px;font-size:24px;font-weight:800;letter-spacing:-.4px;word-break:keep-all}
.aic .hello p{margin:0;font-size:15px;color:#6b7680;word-break:keep-all}
.aic:not(.fresh) .hello{display:none}

.aic .addr_card{display:flex;align-items:center;gap:12px;width:100%;margin:0 0 10px;padding:14px;border:1.5px solid #ffb68a;border-radius:14px;background:#fff;text-align:left;cursor:pointer}
.aic .addr_card .ico{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:#fff1e8;color:var(--fire);flex:none}
.aic .addr_card b{display:block;font-size:16px;font-weight:800;color:var(--ink)}
.aic .addr_card small{display:block;margin-top:2px;font-size:15px;color:#6b7680;word-break:keep-all}
.aic .addr_card .go{margin-left:auto;color:var(--fire)}
.aic:not(.fresh) .addr_card,.aic.has-building .addr_card{display:none}

/* 대화 */
.aic .log{padding:4px 0 8px}
.aic .me{display:flex;justify-content:flex-end;margin:14px 0}
.aic .me p{max-width:82%;margin:0;padding:11px 15px;border-radius:18px 18px 4px 18px;background:var(--fire);color:#fff;font-size:16.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word}
.aic .ai{margin:14px 0}
.aic .ai .who{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:14.5px;font-weight:700;color:#5b6670}
.aic .ai .who i{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#fff1e8;color:var(--fire)}
.aic .ai .who .ic{width:16px;height:16px}
.aic .bubble{max-width:92%;padding:13px 15px 11px;border:1px solid var(--line);border-radius:4px 18px 18px 18px;background:#fff;box-shadow:0 2px 10px rgba(31,45,58,.05)}
.aic .bubble .sum{display:flex;gap:8px;margin:0;font-size:17px;font-weight:800;line-height:1.55;letter-spacing:-.2px;word-break:keep-all}
.aic .bubble .sum .ic{margin-top:2px;color:var(--fire)}
/* 답 본문 — 40~60대 기준 글자(2026-10-21 사용자). 접지 않는다(2026-10-23 사용자): 결론 밑 조건 줄(회색 대시) → 선 → 번호 목록 */
.aic .bubble .cond{margin:8px 0 0 26px;padding:0;list-style:none;font-size:16px;line-height:1.65;color:#2b3640;word-break:keep-all;overflow-wrap:anywhere}
.aic .bubble .cond li{position:relative;padding-left:13px}
.aic .bubble .cond li+li{margin-top:4px}
.aic .bubble .cond li::before{content:"";position:absolute;left:0;top:calc(.82em - 1px);width:7px;height:2px;background:#8a96a3}
.aic .bubble .detail{margin:14px 0 0;padding:14px 0 0;border-top:1px solid var(--line);list-style:none;counter-reset:dn;font-size:17px;line-height:1.75;color:#222;word-break:keep-all;overflow-wrap:anywhere}
.aic .bubble .detail li{position:relative;margin:0;padding-left:30px;counter-increment:dn}
.aic .bubble .detail li+li{margin-top:10px}
.aic .bubble .detail li::before{content:counter(dn);position:absolute;left:0;top:.22em;width:21px;height:21px;border-radius:50%;background:var(--fire);color:#fff;font-size:13px;font-weight:800;line-height:21px;text-align:center}
.aic .bubble.wait .sum{font-weight:500;color:var(--sub)}
.aic .bubble.err{border-color:#f3c2c2;background:#fff8f8}
/* 기다리는 동안 — 쉬운 말 한 줄 · 5초부터 'N초째' · 20초부터 길어진다는 안내, 첫 글자가 오면 쓰는 중인 답(「흘려 보여 주기」). 40~60대 글자 크기 */
.aic .prog{display:flex;flex-direction:column;gap:6px}
.aic .prog .p_now{display:flex;align-items:center;gap:8px;margin:0;font-size:15.5px;font-weight:700;line-height:1.55;color:var(--fire);word-break:keep-all}
.aic .prog .p_now .dots{flex:none}
.aic .prog .p_now .dots i{background:#ffb48a}
.aic .prog .p_sec{margin:0;padding-left:30px;font-size:14px;color:#8b949c;font-variant-numeric:tabular-nums}
.aic .prog .p_long{margin:6px 0 0;padding:11px 13px;border-radius:12px;background:#fff6ef;font-size:15px;line-height:1.6;color:#5b4636;word-break:keep-all}
.aic .caret{display:inline-block;width:2px;height:1.05em;margin-left:2px;vertical-align:-2px;background:var(--fire);animation:aicCaret 1s steps(2,start) infinite}
@keyframes aicCaret{to{visibility:hidden}}
@media (prefers-reduced-motion: reduce){.aic .caret{animation:none}}
.aic .ai .basis{max-width:92%;margin:0 0 6px}
.aic .ai .basis_t{display:inline-flex;align-items:center;gap:6px;padding:4px 2px;border:0;background:none;font-family:inherit;font-size:14.5px;font-weight:600;line-height:1.5;color:#7d868e;cursor:pointer}
.aic .ai .basis_t .ic{flex:none;width:16px;height:16px}
.aic .ai .basis_t .ic:last-child{width:15px;height:15px;transition:transform .15s}
.aic .ai .basis.open .basis_t .ic:last-child{transform:rotate(180deg)}
.aic .ai .basis ul{display:none;margin:2px 0 4px;padding:0 0 0 24px;list-style:none;font-size:14.5px;line-height:1.6;color:#7d868e;word-break:keep-all}
.aic .ai .basis.open ul{display:block}
.aic .ai .basis li{position:relative;padding-left:11px}
.aic .ai .basis li::before{content:"";position:absolute;left:0;top:calc(.8em - 2px);width:4px;height:4px;border-radius:50%;background:#c4cad0}
.aic .ai .basis .b_more::before{display:none}
.aic .bubble.err .sum{font-weight:600;color:#b42318}
/* 답 밑 주소 카드 — AI 가 askAddress 로 "건물마다 달라요" 라고 했을 때만. 건물이 생기면 그리지 않는다 */
.aic .addr_ask{max-width:92%;margin:-6px 0 14px;padding:13px 14px;border:1.5px solid #ffb68a;border-radius:14px;background:#fff8f3}
.aic .addr_ask p{display:flex;gap:8px;margin:0 0 10px;font-size:15.5px;font-weight:700;line-height:1.5;color:var(--ink);word-break:keep-all}
.aic .addr_ask p .ic{margin-top:1px;color:var(--fire)}
.aic .addr_ask .re_ask{display:block;width:100%;padding:12px 0;border:0;border-radius:10px;background:var(--fire);color:#fff;font-size:15.5px;font-weight:800;cursor:pointer}
/* "○○ 건물로 다시 볼게요" 안내 줄 */
.aic .re_note{display:flex;align-items:center;justify-content:center;gap:6px;width:max-content;max-width:100%;margin:14px auto;padding:7px 14px;border-radius:16px;background:#f3f5f7;font-size:13.5px;color:#5b6670}
.aic .re_note .ic{width:16px;height:16px;color:var(--fire)}
.aic .re_note span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aic .dots i{display:inline-block;width:6px;height:6px;margin:0 2px;border-radius:50%;background:#c9ced3;animation:aicDot 1s infinite ease-in-out}
.aic .dots i:nth-child(2){animation-delay:.15s}
.aic .dots i:nth-child(3){animation-delay:.3s}
@keyframes aicDot{0%,80%,100%{opacity:.3}40%{opacity:1}}
@media (prefers-reduced-motion: reduce){.aic .dots i{animation:none}}

/* 입력줄 — 바닥 앱 메뉴 위에 붙는다 */
.aic .aic_sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}
.aic .aic_askbar{display:block;border:0;position:sticky;bottom:calc(var(--appnav-h, 0px) + env(safe-area-inset-bottom, 0px));z-index:20;padding:10px 0 8px;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 22%)}
.aic .ask_box{display:flex;align-items:flex-end;gap:8px;padding:8px;border:1.5px solid #ffcfb3;border-radius:30px;background:#fff;box-shadow:0 10px 28px rgba(255,90,0,.13),0 2px 6px rgba(31,45,58,.05);transition:border-color .15s,box-shadow .15s}
/* "여기가 채팅창" 이 바로 보이게 — 주황 테두리·그림자, 누르면 더 진하게 (2026-10-21 사용자) */
.aic .ask_box:focus-within{border-color:#ff8a4c;box-shadow:0 10px 30px rgba(255,90,0,.20),0 0 0 4px rgba(255,90,0,.08)}
.aic .ask_box .pin{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;border-radius:50%;background:#fff1e8;color:var(--fire);cursor:pointer;flex:none}
.aic .ask_box .pin .ic{width:19px;height:19px}
.aic .ask_box textarea{flex:1;display:block;width:auto;height:24px;min-height:24px;max-height:140px;margin:8px 0;scrollbar-width:none;padding:0;border:0;outline:0;resize:none;background:none;font-family:inherit;font-size:16px;line-height:1.5;color:var(--ink)}
.aic .ask_box textarea::placeholder{color:#a3abb2}
.aic .send{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;border-radius:50%;background:#e9ecef;color:#fff;cursor:pointer;flex:none}
.aic .send.on{background:var(--fire)}
.aic .send:disabled{cursor:default}
.aic .note{display:flex;flex-direction:column;align-items:center;gap:4px;margin:8px 0 0;font-size:13.5px;color:#7d868e;text-align:center}
.aic .note a{color:#6b7680;text-decoration:underline}
.aic:not(.fresh) .note .direct2{display:none}
.aic .closed{margin:40px 0;padding:22px 16px;border:1px solid var(--line);border-radius:14px;background:#fafbfc;text-align:center;color:#5b6670;line-height:1.6;word-break:keep-all}
.aic .closed b{display:block;margin-bottom:4px;font-size:17px;color:var(--ink)}

/* 주소 창(아래에서 올라온다) */
.aic_sheet{position:fixed;inset:0;z-index:1000;display:none}
.aic_sheet.open{display:block}
.aic_sheet .dim{position:absolute;inset:0;background:rgba(15,23,30,.45)}
.aic_sheet .panel{position:absolute;left:0;right:0;bottom:0;max-width:560px;margin:0 auto;max-height:86vh;overflow:auto;padding:10px 18px calc(18px + env(safe-area-inset-bottom, 0px));border-radius:20px 20px 0 0;background:#fff;color:#1f2d3a;font-size:15px}
.aic_sheet .grab{width:40px;height:4px;margin:0 auto 14px;border-radius:2px;background:#dfe3e6}
.aic_sheet h3{margin:0;font-size:19px;font-weight:800}
.aic_sheet .h{margin:4px 0 14px;font-size:13.5px;color:#6b7680}
.aic_sheet .find{display:flex;align-items:center;gap:8px;width:100%;padding:13px 14px;border:1px solid #dfe3e6;border-radius:12px;background:#fff;font-size:15px;color:#a3abb2;text-align:left;cursor:pointer}
.aic_sheet .find.done{color:#1f2d3a;font-weight:700}
.aic_sheet .find svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.aic_sheet .facts{margin:8px 2px 0;font-size:13px;color:#6b7680;line-height:1.5;word-break:keep-all}
.aic_sheet .facts.bad{color:#b42318}
.aic_sheet .fl_t{margin:18px 0 10px;font-size:15px;font-weight:800}
.aic_sheet .floors{display:flex;flex-wrap:wrap;gap:8px}
.aic_sheet .floors button{padding:9px 14px;border:1.5px solid #dfe3e6;border-radius:20px;background:#fff;font-size:14.5px;font-weight:600;color:#444;cursor:pointer}
.aic_sheet .floors button.on{border-color:#ff5a00;color:#ff5a00;background:#fff5ef}
/* 가게 넓이(선택) — 소방필증·다중이용업 답에서 연 주소 창에만 */
.aic_sheet .fl_t small{font-size:13px;font-weight:600;color:#8b949c}
.aic_sheet .area_h{margin:-4px 0 10px;font-size:13.5px;color:#6b7680;line-height:1.5;word-break:keep-all}
.aic_sheet .area_row{display:flex;gap:8px;align-items:stretch}
.aic_sheet #areaUnknown{flex:none;padding:0 18px;border:1.5px solid #dfe3e6;border-radius:12px;background:#fff;font-size:15px;font-weight:700;color:#444;cursor:pointer}
.aic_sheet #areaUnknown.on{border-color:#ff5a00;color:#ff5a00;background:#fff5ef}
.aic_sheet .area_in{flex:1;display:flex;align-items:center;gap:6px;padding:0 14px;border:1px solid #dfe3e6;border-radius:12px;background:#fff}
.aic_sheet .area_in:focus-within{border-color:#ff8a4c}
.aic_sheet .area_in input{flex:1;min-width:0;height:46px;border:0;outline:0;background:none;font-family:inherit;font-size:16px;color:#1f2d3a}
.aic_sheet .area_in b{font-size:15px;color:#5b6670}
.aic_sheet .aic_sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}
.aic_sheet .go{display:block;width:100%;margin-top:20px;padding:15px 0;border:0;border-radius:12px;background:#ff5a00;color:#fff;font-size:16.5px;font-weight:800;cursor:pointer}
.aic_sheet .go:disabled{background:#f3c4a6;cursor:default}
.aic_sheet .x{position:absolute;right:12px;top:10px;width:36px;height:36px;border:0;background:none;color:#8b949c;font-size:22px;cursor:pointer}

/* PC — 넓은 화면은 아래가 비어 보여서(2026-10-21 사용자 "밋밋하다") 처음 화면은 제목 아래 가운데에 카드·입력줄을 모으고,
   은은한 주황 빛을 깐다. 질문을 보내면 입력줄은 다시 아래에 붙는다. 주소 카드는 숨기지 않는다(3판을 버린 이유 — 단추만 두면 모른다) */
@media (min-width: 900px){
  body.aic_page .aic{max-width:none;padding:0 32px;background:radial-gradient(ellipse 55% 50% at 50% 52%,#ffe6d5 0%,#fff4ec 42%,#fff 72%)}
  .aic .top,.aic .tag_info,.aic .log,.aic .aic_askbar{width:100%;max-width:760px;margin-left:auto;margin-right:auto}
  .aic.fresh{padding-bottom:12vh}
  .aic.fresh .hello{flex:0 0 auto;margin-top:auto;padding:0 0 26px}
  .aic.fresh .aic_askbar{margin-bottom:auto}
  .aic.fresh .hello h2{font-size:30px}
  .aic.fresh .aic_askbar{position:static;background:none;padding:0}
  .aic .ask_box{padding:10px}
  .aic .ask_box textarea{font-size:17px}
  .aic .send{width:44px;height:44px}
  .aic .me p{font-size:17px}
  .aic .bubble .sum{font-size:18px}
  .aic .bubble .detail{font-size:18px}
  .aic .bubble .cond{font-size:17px}
}

/* ===== 2묶음 (docs/features/ai-consult.md 「2묶음」) ===================================================
   같은 말씨를 지킨다: 주황(--fire) · 흰 카드 · 40~60대 글자(본문 16.5~17, PC 17~18) · Lucide 선 아이콘. 이모지 없음.
   눈에 띄게 하는 것은 한 곳 — 견적 요청서 카드(종이 한 장처럼 왼쪽 주황 줄 + 이름표 칸). 나머지는 조용히. */

/* 입력줄 아래 남은 질문 */
.aic .note .quota{color:#5b6670}
.aic .note .quota b{color:var(--fire);font-weight:800}
.aic .ask_box textarea:disabled{background:none;color:#a3abb2}
.aic .ask_box .pin:disabled{opacity:.45;cursor:default}
/* 다 썼거나 이번 달 마감이면 입력줄을 치운다 — 카드의 단추가 다음 할 일이다(입력줄이 카드를 가리지 않게) */
.aic.blocked .ask_box,.aic.blocked .addr_card,.aic.blocked .addr_ask{display:none}
.aic.blocked .aic_askbar{position:static;background:none}

/* 휴대폰 위 '지난 대화' 단추 — PC 는 왼쪽 칸이 늘 보여 숨긴다 */
.aic .hist{display:inline-flex;align-items:center;gap:5px;flex:none;padding:7px 11px;border:1px solid var(--line);border-radius:20px;background:#fff;font-size:14px;font-weight:700;color:#4b5660;cursor:pointer}
.aic .hist .ic{width:17px;height:17px;color:#6b7680}
.aic .top{justify-content:flex-start}
.aic .top .direct{margin-left:auto}

/* 카카오 단추 — 카카오 로그인 안내서 색(#FEE500, 글자 85% 검정) */
.aic .kakao,.aic_side .kakao{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;padding:0 14px;border:0;border-radius:12px;background:#fee500;color:rgba(0,0,0,.85);font-family:inherit;font-size:16.5px;font-weight:800;cursor:pointer}
.aic .kakao .ic,.aic_side .kakao .ic{width:21px;height:21px}
.aic .kakao:disabled,.aic_side .kakao:disabled{opacity:.6;cursor:default}
.aic .agree,.aic_side .agree{margin:8px 0 0;font-size:13px;line-height:1.5;color:#7d868e;text-align:center;word-break:keep-all}
.aic .agree a,.aic_side .agree a{color:#5b6670;text-decoration:underline}

/* 다 썼을 때 · 이번 달 마감 카드 (시안 5-chat-offer.jpg 오른쪽) */
.aic .limit{margin:18px 0 10px;padding:22px 18px 18px;border:1px solid var(--line);border-radius:16px;background:#fff;text-align:center;box-shadow:0 2px 12px rgba(31,45,58,.05)}
.aic .limit b{display:block;font-size:18px;font-weight:800;letter-spacing:-.3px;word-break:keep-all}
.aic .limit p{margin:8px 0 16px;font-size:15.5px;line-height:1.6;color:#5b6670;word-break:keep-all}
.aic .limit .to_est{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;margin-top:10px;border:1.5px solid var(--fire);border-radius:12px;background:#fff;color:var(--fire);font-family:inherit;font-size:16.5px;font-weight:800;text-decoration:none;cursor:pointer}
.aic .limit .to_est.solid{border-color:var(--fire);background:var(--fire);color:#fff}
.aic .limit .kakao + .agree{margin-bottom:2px}

/* 견적 요청서 카드 — 대화창 안에 종이 한 장 */
.aic .draft{max-width:94%;margin:18px 0 14px;padding:16px 16px 14px;border:1px solid #f3d9c8;border-radius:4px 18px 18px 18px;background:#fff;box-shadow:0 4px 18px rgba(255,90,0,.08)}
.aic .draft .d_head{display:flex;align-items:center;gap:7px;margin:0 0 12px;font-size:15px;font-weight:800;color:#3b4652}
.aic .draft .d_head .ic{width:19px;height:19px;color:var(--fire)}
.aic .draft .d_sheet{padding:14px 14px 12px 16px;border-left:3px solid var(--fire);border-radius:2px 10px 10px 2px;background:#fff8f3}
.aic .draft .d_item{margin:0 0 10px;font-size:17px;line-height:1.5;word-break:keep-all}
.aic .draft .d_item b{font-weight:800;color:var(--ink)}
.aic .draft .d_item span{font-size:15px;color:#6b7680}
.aic .draft .d_item b.none{font-weight:700;color:#6b7680}
.aic .draft dl{margin:0}
.aic .draft .d_row{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;padding:8px 0;border-top:1px dashed #f0d5c3}
.aic .draft dt{font-size:14.5px;font-weight:700;line-height:1.6;color:#8a7466}
.aic .draft dd{margin:0;font-size:16.5px;line-height:1.6;color:var(--ink);word-break:keep-all;overflow-wrap:anywhere}
.aic .draft dd .none{color:#9aa3ab}
/* 내용은 긴 글이라 이름표 옆 좁은 칸에 두면 한 줄에 열 글자도 안 들어간다(2026-10-22 캡처) — 이름표 아래 전체 폭으로 */
.aic .draft .d_row.is-stack{grid-template-columns:minmax(0,1fr);gap:2px}
.aic .draft .d_addr{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:4px 11px;border:1.5px solid #ff8a4c;border-radius:16px;background:#fff;color:var(--fire);font-family:inherit;font-size:14px;font-weight:800;cursor:pointer;vertical-align:1px}
.aic .draft .d_addr .ic{width:15px;height:15px}
/* 요청 내용은 세 줄 뒤 접는다 */
.aic .draft .d_req{margin:0;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.aic .draft .d_req.wide{display:block;-webkit-line-clamp:unset;overflow:visible}
.aic .draft .d_more{margin-top:4px;padding:0;border:0;background:none;font-family:inherit;font-size:14.5px;font-weight:700;color:var(--fire);text-decoration:underline;cursor:pointer}
.aic .draft .d_ask{margin:14px 2px 10px;font-size:15.5px;line-height:1.55;font-weight:600;color:#3b4652;word-break:keep-all}
.aic .draft .d_go{display:block;width:100%;min-height:54px;border:0;border-radius:12px;background:var(--fire);color:#fff;font-family:inherit;font-size:17px;font-weight:800;cursor:pointer;box-shadow:0 6px 16px rgba(255,90,0,.22)}
.aic .draft .d_go:disabled{background:#f3a77b;box-shadow:none;cursor:default}
.aic .draft .d_fine{margin:9px 0 0;font-size:13.5px;line-height:1.5;color:#8b949c;text-align:center;word-break:keep-all}
/* 정리하는 동안 — 뼈대 */
.aic .draft .sk{display:block;height:14px;margin:9px 0;border-radius:7px;background:linear-gradient(90deg,#f6e4d8 0%,#fdf1e9 50%,#f6e4d8 100%);background-size:200% 100%;animation:aicSk 1.2s infinite linear}
.aic .draft .sk.w40{width:40%}
.aic .draft .sk.w60{width:60%;height:17px}
.aic .draft .sk.w75{width:75%}
.aic .draft .sk.w90{width:90%}
.aic .draft .d_wait{display:flex;align-items:center;gap:8px;margin:12px 2px 0;font-size:14.5px;color:#7d868e}
@keyframes aicSk{from{background-position:200% 0}to{background-position:-200% 0}}
@media (prefers-reduced-motion: reduce){.aic .draft .sk{animation:none}}
.aic .draft.is-fail{padding:14px 16px;border-color:#f3c2c2;background:#fff8f8;box-shadow:none}
.aic .draft.is-fail p{margin:0;font-size:15.5px;line-height:1.6;color:#8a2a1e;word-break:keep-all}
.aic .draft.is-fail a{color:#b42318;font-weight:700;text-decoration:underline}

/* 지난 대화 칸 — 휴대폰은 왼쪽에서 나오는 서랍 */
.aic_side{--fire:#ff5a00;--ink:#1f2d3a;position:fixed;top:0;bottom:0;left:0;z-index:1002;width:min(84vw,320px);padding:14px 14px calc(18px + env(safe-area-inset-bottom,0px));overflow:auto;background:#f7f8fa;color:var(--ink);font-size:15px;box-sizing:border-box;transform:translateX(-102%);transition:transform .2s ease;box-shadow:4px 0 24px rgba(15,23,30,.12)}
.aic_side.open{transform:none}
.aic_side *{box-sizing:border-box}
.aic_side svg.ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.aic_side .side_head{display:flex;align-items:center;gap:8px}
.aic_side .newchat{flex:1;display:flex;align-items:center;gap:7px;padding:11px 14px;border:1px solid #e1e5e9;border-radius:22px;background:#fff;font-family:inherit;font-size:15px;font-weight:800;color:var(--ink);cursor:pointer}
.aic_side .newchat .ic{color:var(--fire)}
.aic_side .side_x{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;border-radius:50%;background:none;color:#6b7680;cursor:pointer}
.aic_side .side_t{margin:20px 6px 8px;font-size:13.5px;font-weight:700;color:#7d868e}
.aic_side .convs{margin:0;padding:0;list-style:none}
.aic_side .convs button{display:block;width:100%;margin:0 0 2px;padding:10px 10px;border:0;border-radius:10px;background:none;font-family:inherit;text-align:left;cursor:pointer}
.aic_side .convs button:hover{background:#eef1f4}
.aic_side .convs button.on{background:#fff1e8}
.aic_side .convs b{display:block;font-size:15px;font-weight:700;line-height:1.45;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aic_side .convs button.on b{color:var(--fire)}
.aic_side .convs small{display:block;margin-top:2px;font-size:12.5px;color:#8b949c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aic_side .side_empty{margin:8px 6px;font-size:14px;color:#8b949c}
.aic_side .side_login{margin-top:16px;padding:16px 14px;border:1px solid #e6e9ec;border-radius:14px;background:#fff}
.aic_side .side_login b{display:block;font-size:16px;font-weight:800}
.aic_side .side_login .perks{list-style:none;margin:12px 0 14px;padding:0;display:grid;gap:8px}
.aic_side .side_login .perks li{display:flex;align-items:center;gap:10px;font-size:14.5px;line-height:1.4;color:#3a4048;word-break:keep-all}
.aic_side .side_login .perks .pi{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#fff1e6;color:var(--fire)}
.aic_side .side_login .perks .pi .ic{width:18px;height:18px}
.aic_side .side_login p{margin:6px 0 14px;font-size:14.5px;line-height:1.6;color:#5b6670;word-break:keep-all}
.aic_side .side_login .kakao{min-height:48px;gap:6px;padding:0 10px;font-size:15px;white-space:nowrap}
.aic_side .side_login .kakao .ic{width:19px;height:19px}
.aic_dim{position:fixed;inset:0;z-index:1001;display:none;background:rgba(15,23,30,.35)}
.aic_dim.open{display:block}
.aic_side :focus-visible,.aic :focus-visible{outline:2px solid var(--fire);outline-offset:2px}

@media (min-width: 900px){
  .aic_shell{display:grid;grid-template-columns:280px minmax(0,1fr)}
  /* 격자 칸 안에서 margin:auto 는 내용 폭으로 줄어든다(입력줄이 340px 로 좁아졌다) — 칸을 꽉 채운다 */
  .aic_shell > .aic{margin:0;width:auto}
  .aic_side{position:sticky;top:0;z-index:1;width:auto;min-height:calc(100vh - var(--aic-top, 100px));align-self:stretch;transform:none;box-shadow:none;border-right:1px solid #eceff2;padding:16px 14px 24px;transition:none}
  .aic_side .side_x,.aic_dim,.aic .hist{display:none !important}
  .aic .draft{max-width:86%}
  .aic .draft .d_item{font-size:18px}
  .aic .draft dd{font-size:17px}
}
