/* MenuSum AI 번역 확인 카드. 색은 아래 변수만 바꾸면 사이트에 맞출 수 있어요. */
.msai {
  --msai-bg: #fff;
  --msai-soft: #f6f5f1;
  --msai-line: #e3e1d8;
  --msai-text: #1f1e1b;
  --msai-muted: #6b6a64;
  --msai-ok: #2f7a4a;
  --msai-ok-bg: #edf6ef;
  --msai-warn: #8a5a10;
  --msai-warn-bg: #fbf3e2;
  --msai-danger: #a32d2d;
  --msai-danger-bg: #fcebeb;
  --msai-radius: 12px;
  display: grid;
  gap: 14px;
  color: var(--msai-text);
}
.msai-card { background: var(--msai-bg); border: 1px solid var(--msai-line); border-radius: var(--msai-radius); padding: 16px; }
.msai-card.is-confirmed { border-color: var(--msai-ok); box-shadow: inset 0 0 0 1px var(--msai-ok); }
.msai-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; }
.msai-ko { font-size: 18px; font-weight: 700; margin: 0; }
.msai-ro { flex: 1 1 140px; min-width: 0; font: inherit; font-size: 13px; color: var(--msai-muted); border: 1px solid transparent; border-radius: 6px; padding: 2px 6px; background: transparent; }
.msai-ro:hover, .msai-ro:focus { border-color: var(--msai-line); background: var(--msai-bg); }
.msai-lang { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 8px; margin-top: 10px; }
.msai-lang-label { font-size: 12px; color: var(--msai-muted); padding-top: 8px; }
.msai-lang-box { display: grid; gap: 4px; }
.msai-name, .msai-desc { width: 100%; box-sizing: border-box; font: inherit; color: inherit; border: 1px solid var(--msai-line); border-radius: 8px; padding: 6px 8px; background: var(--msai-bg); }
.msai-name { font-weight: 600; resize: none; overflow: hidden; line-height: 1.4; }
.msai-desc { font-size: 13px; color: var(--msai-muted); resize: vertical; min-height: 2.6em; line-height: 1.5; }
.msai-name:focus, .msai-desc:focus, .msai-ro:focus, .msai select:focus { outline: 2px solid #9ec5ff; outline-offset: 1px; }
.msai-note, .msai-check, .msai-warn { margin: 10px 0 0; font-size: 13px; line-height: 1.6; border-radius: 8px; padding: 8px 10px; }
.msai-note { background: var(--msai-soft); color: var(--msai-muted); }
.msai-check, .msai-warn { background: var(--msai-warn-bg); color: var(--msai-warn); }
.msai-est { margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--msai-line); }
.msai-est-title { margin: 0 0 8px; font-size: 12px; color: var(--msai-muted); }
.msai-selects { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.msai-select { display: flex; align-items: center; gap: 6px; font-size: 13px; }
.msai-select select { font: inherit; font-size: 13px; padding: 4px 6px; border: 1px solid var(--msai-line); border-radius: 8px; background: var(--msai-bg); color: inherit; }
.msai-group { border: 0; margin: 10px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.msai-group legend { font-size: 12px; color: var(--msai-muted); padding: 0; margin-bottom: 6px; width: 100%; }
.msai-chip { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; border: 1px solid var(--msai-line); border-radius: 999px; padding: 3px 10px 3px 6px; cursor: pointer; user-select: none; }
.msai-chip input { margin: 0; }
.msai-chip:has(input:checked) { background: var(--msai-soft); border-color: var(--msai-muted); }
.msai-chip.is-danger:has(input:checked) { background: var(--msai-danger-bg); border-color: var(--msai-danger); color: var(--msai-danger); }
.msai-ok { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; font-size: 14px; font-weight: 600; cursor: pointer; }
.msai-ok input { width: 18px; height: 18px; margin: 0; }
.msai-card.is-confirmed .msai-ok { color: var(--msai-ok); }
@media print { .msai { display: none; } }
/* 영어 메뉴판 만들기 (2026-10-28) */
.mm{margin:22px 0 0}
.mm-in{padding:16px 18px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}
.mm-in label{display:block}
.mm-in label small{color:var(--slate);font-weight:400;margin-left:4px}
.mm-in textarea{width:100%;min-height:170px;margin:8px 0 0;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);font:500 16px/1.6 var(--ko);resize:vertical}
.mm-in textarea:focus{outline:none;border-color:var(--hand)}
.mm-opts{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin:12px 0 0;font-size:15px}
.mm-opts label{display:flex;align-items:center;gap:6px}
.mm-opts select{min-height:40px;padding:6px 10px;border-radius:10px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:500 15px var(--ko)}
.mm-chk input{width:20px;height:20px;accent-color:var(--hand)}
.mm-check{margin:26px 0 0}
.mm-tbl td{vertical-align:middle}
.mm-tbl td:first-child{min-width:7em}
.mm-tbl input[type=text],.mm-tbl select{width:100%;min-height:40px;padding:6px 10px;border-radius:10px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:500 15px var(--ui,inherit)}
.mm-tbl input.mm-num{width:7.5em}
.mm-tbl td:nth-child(2){min-width:15em}
.mm-tag{display:block;margin-top:3px;font-size:12px;font-weight:600}
.mm-tag.ok{color:#2E7D32}.mm-tag.near{color:#B26A00}.mm-tag.no{color:#C62828}
tr.mm-near td:first-child{box-shadow:inset 4px 0 #F5B700}tr.mm-none td:first-child{box-shadow:inset 4px 0 #E53935}tr.mm-ok td:first-child{box-shadow:inset 4px 0 #43A047}
#mmOutWrap{margin:26px 0 0}
.mm-paper{max-width:640px;margin:10px 0 0;padding:28px 30px;border-radius:14px;background:#fff;color:#1b1b1b;border:1px solid var(--line);box-shadow:var(--shadow)}
.mm-title{margin:0 0 14px;text-align:center}
.mm-title input{width:100%;border:0;border-bottom:1px dashed #bbb;background:transparent;text-align:center;font:800 26px/1.3 var(--ko);color:#1b1b1b;padding:4px}
.mm-list{list-style:none;margin:0;padding:0}
.mm-list li{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:10px 0;border-bottom:1px dotted #ccc}
.mm-name b{font:700 18px/1.35 var(--ui,inherit)}
.mm-name small{display:block;color:#666;font:500 14px/1.3 var(--ko)}
.mm-sp{font-size:14px;margin-left:4px}
.mm-pr{white-space:nowrap;font:700 17px/1.3 var(--ui,inherit)}
.mm-foot{margin:12px 0 0;color:#666;font-size:13px;text-align:right}
@media print{
 body *{visibility:hidden}
 #mmPaper,#mmPaper *{visibility:visible}
 #mmPaper{position:absolute;left:0;top:0;width:100%;max-width:none;border:0;box-shadow:none;padding:10mm}
 .mm-title input{border:0;outline:none;box-shadow:none;-webkit-appearance:none;appearance:none}
 .mm-title input:placeholder-shown{display:none}
}
/* 일본어·중국어 메뉴판 (2026-10-28 오후) */
.mm-langs{margin:14px 0 0;padding:10px 14px 12px;border:1px solid var(--line);border-radius:12px;display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center}
.mm-langs legend{padding:0 6px;font-weight:700;font-size:15px}
.mm-langs legend small,.mm-langs label small{color:var(--slate);font-weight:400;font-size:13px;margin-left:2px}
.mm-langs label{display:flex;align-items:center;gap:6px;font-size:15px}
.mm-li{display:flex;align-items:center;gap:8px;margin:0 0 6px}
.mm-li:last-child{margin-bottom:0}
.mm-li span{flex:0 0 2.2em;text-align:center;font:700 12px/1.9 var(--ui,inherit);color:var(--slate);border:1px solid var(--line);border-radius:8px}
.mm-li.mm-empty input{border-color:#E53935;border-style:dashed}
.mm-li.mm-empty input::placeholder{color:#C62828;font-size:13px}
.mm-name .mm-alt{display:block;color:#333;font:600 15px/1.35 var(--ui,inherit)}
.mm-name .mm-ko{display:block;color:#666;font:500 14px/1.3 var(--ko)}
.mm-foot p{margin:2px 0}
.mm [lang=ja]{font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,"Noto Sans JP",sans-serif}
.mm [lang=zh-Hans]{font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif}
.mm [lang=zh-Hant]{font-family:"PingFang TC","Microsoft JhengHei","Noto Sans TC",sans-serif}
.mm .mm-tbl input[lang=ja]{font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,"Noto Sans JP",sans-serif}
.mm .mm-tbl input[lang=zh-Hans]{font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif}
.mm .mm-tbl input[lang=zh-Hant]{font-family:"PingFang TC","Microsoft JhengHei","Noto Sans TC",sans-serif}
@media (max-width:640px){
 .mm-tbl thead{display:none}
 .mm-tbl,.mm-tbl tbody,.mm-tbl tr,.mm-tbl td{display:block;width:auto}
 .mm-tbl tr{padding:10px 12px 12px 14px;border-bottom:1px solid var(--line)}
 .mm-tbl td,.mm-tbl td:first-child,.mm-tbl td:nth-child(2){border:0;padding:4px 0;min-width:0;box-shadow:none}
 tr.mm-ok{box-shadow:inset 4px 0 #43A047}tr.mm-near{box-shadow:inset 4px 0 #F5B700}tr.mm-none{box-shadow:inset 4px 0 #E53935}
 tr.mm-ok td:first-child,tr.mm-near td:first-child,tr.mm-none td:first-child{box-shadow:none}
 .mm-tbl td:nth-child(3),.mm-tbl td:nth-child(4){display:inline-block;width:48%;vertical-align:top}
 .mm-tbl td:nth-child(4){margin-left:3%}
 .mm-tbl td:nth-child(3)::before,.mm-tbl td:nth-child(4)::before{display:block;margin:0 0 3px;color:var(--slate);font-size:12px;font-weight:600}
 .mm-tbl td:nth-child(3)::before{content:"맵기"}.mm-tbl td:nth-child(4)::before{content:"가격"}
 .mm-tbl input.mm-num{width:100%}
}
.mm-opts label{white-space:nowrap}
/* 검색·소개 보강 (2026-10-28 저녁): 요약, 메뉴 표, 방한객 표, 예시 그림, 출처 */
.mm-facts{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:4px;font-size:15px}
.mm-facts li{position:relative;padding-left:24px;word-break:keep-all}
.mm-facts li::before{content:"✓";position:absolute;left:3px;top:0;color:var(--green);font-weight:800}
.mm-names td{vertical-align:top}
.mm-names td:first-child{white-space:nowrap;font-weight:700}
.mm-names td:first-child a{color:var(--ink)}
.mm-names td[lang=en]{color:var(--slate);font-size:14px}
.mm-names b{font-weight:600}
h3.kosec{margin:22px 0 6px;font-size:18px}
h3.kosec small{font-size:.75em;color:var(--slate);font-weight:600}
.mm-vis{max-width:560px}
.mm-vis td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.mm-vis tr.mm-hl td{background:var(--chip);font-weight:700}
.mm-vis tr.mm-sum td{font-weight:800}
.mm-sample{margin:16px 0 0;max-width:520px}
.mm-sample img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--line);background:#fff}
.mm-sample figcaption{margin-top:6px;color:var(--slate);font-size:13.5px;word-break:keep-all}
.mm-src ul{margin:0;padding-left:20px;font-size:14px}
.mm-src li{margin:3px 0;word-break:keep-all;overflow-wrap:anywhere}
@media (max-width:640px){
 .mm-names thead{display:none}
 .mm-names,.mm-names tbody,.mm-names tr,.mm-names td{display:block;width:auto}
 .mm-names tr{padding:9px 0;border-bottom:1px solid var(--line)}
 .mm-names td{border:0;padding:1px 0}
 .mm-names td[data-l]::before{content:attr(data-l);display:inline-block;min-width:3.4em;margin-right:6px;color:var(--slate);font:600 12px/1.6 var(--ko)}
}
/* AI 번역·확인 카드·QR (2026-10-29) */
.mm-ai{margin:12px 0 14px;padding:14px 16px;border-radius:14px;background:color-mix(in srgb,#6D6AE0 8%,var(--surface));border:1px solid color-mix(in srgb,#6D6AE0 35%,var(--line))}
.mm-ai p{margin:0 0 8px}
.mm-ai .kobtns{margin:6px 0 8px}
.mm-ai-s{color:var(--slate);font-size:13.5px;word-break:keep-all}
.mm-msg{margin:8px 0 0;font-size:14.5px;font-weight:700;word-break:keep-all}
.mm-msg:empty{display:none}
.mm-msg.ok{color:var(--green)}.mm-msg.warn{color:#B26A00}.mm-msg.err{color:#C62828}
.mm-tag.ai{color:#4F46B8}
tr.mm-ai td:first-child{box-shadow:inset 4px 0 #6D6AE0}
.mm-tbl output{display:block;flex:1;min-width:0;font:600 15px/1.4 var(--ui,inherit);overflow-wrap:anywhere}
.mm-tbl output i{color:var(--slate);font-weight:500;font-style:normal;font-size:13px}
.mm-aiwrap{margin:26px 0 0}
.mm-aiwrap h2 small{font-size:.7em;color:var(--slate);font-weight:600}
/* 확인 카드(ms-ai.css) 색을 MenuSum 색으로 — 사이트 공통 입력칸 스타일(width:100%·높이 48px)은 카드 안에서 되돌림 */
.mm .msai{--msai-bg:var(--surface);--msai-soft:var(--chip);--msai-line:var(--line);--msai-text:var(--ink);--msai-muted:var(--slate);--msai-ok:var(--green);
 --msai-ok-bg:color-mix(in srgb,var(--green) 12%,var(--surface));--msai-warn:#8a5a10;--msai-warn-bg:color-mix(in srgb,var(--mark) 18%,var(--surface));
 --msai-danger:#C62828;--msai-danger-bg:color-mix(in srgb,#E53935 12%,var(--surface))}
.mm .msai input[type=checkbox]{width:18px;height:18px;min-height:0;padding:0;margin:0;flex:0 0 auto;accent-color:var(--hand)}
.mm .msai .msai-ro{width:auto;min-height:0;padding:2px 6px;font:500 13px/1.4 var(--ui,inherit);background:transparent;border:1px solid transparent;border-radius:6px;box-shadow:none}
.mm .msai .msai-ro:focus{border-color:var(--line);background:var(--surface)}
.mm .msai select{width:auto;min-height:36px;padding:4px 8px;font:500 14px var(--ui,inherit);border-radius:8px}
.mm .msai textarea{min-height:0;padding:6px 8px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:500 15px/1.45 var(--ui,inherit)}
.mm .msai .msai-name{font-weight:700;font-size:16px}
.mm .msai .msai-desc{min-height:2.6em;font-size:14px;color:var(--slate)}
.mm .msai textarea:focus{border-color:var(--hand);background:var(--surface)}
.mm .msai .msai-chip{background:var(--surface)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .mm .msai{--msai-warn:var(--mark);--msai-danger:#FF8A80}:root:not([data-theme="light"]) .mm-tag.ai{color:#A9A6FF}:root:not([data-theme="light"]) .mm-msg.err{color:#FF8A80}:root:not([data-theme="light"]) .mm-msg.warn{color:var(--mark)}}
:root[data-theme="dark"] .mm .msai{--msai-warn:var(--mark);--msai-danger:#FF8A80}:root[data-theme="dark"] .mm-tag.ai{color:#A9A6FF}
/* 인쇄 메뉴판: AI 메뉴 설명·재료, QR */
.mm-name .mm-desc{display:block;margin-top:2px;color:#444;font:400 13.5px/1.45 var(--ui,inherit)}
.mm-name .mm-info{display:block;margin-top:2px;color:#7A4B00;font:600 12.5px/1.4 var(--ui,inherit)}
.mm-qr{display:flex;align-items:center;gap:14px;margin:16px 0 0;padding-top:12px;border-top:1px dotted #ccc}
.mm-qr[hidden]{display:none}
.mm-qr-img svg{display:block;width:112px;height:112px}
.mm-qr-txt p{margin:2px 0;color:#333;font-size:13.5px;line-height:1.4}
@media print{
 .mm-qr-img svg{width:var(--qr-mm,28mm);height:var(--qr-mm,28mm)}.mm-msg{display:none}
 /* 메뉴판만 남기고 나머지는 자리도 차지하지 않게 (예전처럼 visibility만 숨기면 빈 쪽이 더 인쇄됨) */
 header.top,footer.foot,.ad,ins.adsbygoogle,main>:not(#maker),#maker>:not(#mmOutWrap),#mmOutWrap>:not(#mmPaper){display:none!important}
 #mmPaper{position:static!important;margin:0}
 .mm-list li,.mm-qr{break-inside:avoid;page-break-inside:avoid}
}
@media (max-width:640px){tr.mm-ai{box-shadow:inset 4px 0 #6D6AE0}tr.mm-ai td:first-child{box-shadow:none}.mm-qr-img svg{width:96px;height:96px}}
