/* 文字起こし / 会話 の切り替えと「聞いています／考えています／話しています」— js/voice/chat-modes.js（Mac と iPhone で共用） */
.cm-bar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0 0 8px; pointer-events: auto; }
.cm-switch { display: inline-flex; padding: 3px; border-radius: 18px; background: rgba(8, 30, 52, .78); border: 1px solid rgba(120, 180, 225, .35); }
.cm-switch button { all: unset; cursor: pointer; padding: 7px 14px; min-height: 22px; border-radius: 15px; font: 600 13px/1.6 system-ui, -apple-system, sans-serif; color: #b9d6ea; }
.cm-switch button.on { background: linear-gradient(180deg, rgba(70, 175, 245, .55), rgba(40, 120, 200, .55)); color: #fff; box-shadow: 0 0 12px rgba(80, 190, 255, .35); }
.cm-switch button:focus-visible { outline: 2px solid rgba(140, 220, 255, .8); }
.cm-state { font: 700 14px/1.4 system-ui, -apple-system, sans-serif; color: #8fe6ff; letter-spacing: .02em; }
.cm-state.on { padding: 5px 12px; border-radius: 14px; background: rgba(10, 60, 96, .82); border: 1px solid rgba(143, 230, 255, .6); text-shadow: 0 0 10px rgba(80, 200, 255, .5); }
.cm-pending { display: inline-flex; align-items: center; gap: 8px; padding: 5px 6px 5px 12px; border-radius: 14px; font: 600 13px/1.4 system-ui, sans-serif;
  color: #ffe6a8; background: rgba(60, 40, 6, .82); border: 1px solid rgba(255, 210, 120, .55); }
.cm-pending button { all: unset; cursor: pointer; width: 28px; height: 28px; border-radius: 14px; text-align: center; line-height: 28px; font-size: 16px; color: #fff; background: rgba(255, 255, 255, .15); }
.live-status { display: block; margin-top: 4px; font-size: 12px; color: #9fd8ff; }
.live-mark { display: block; margin-top: 4px; font-size: 11px; color: #7fa9c4; }
/* 👤 menu: いつもの場所（GPS が使えないとき）— js/core/account-menu.js */
.am-place { display: flex; gap: 6px; flex-wrap: wrap; margin: 4px 0 10px; }
.am-place input { flex: 1 1 120px; min-width: 0; padding: 8px 10px; border-radius: 8px; border: 1px solid rgba(120, 180, 225, .35); background: rgba(6, 22, 40, .7); color: #e6f4ff; font: 500 14px/1.3 system-ui, sans-serif; }
.am-place button { padding: 8px 14px; border-radius: 8px; border: 1px solid rgba(120, 190, 240, .5); background: rgba(40, 110, 170, .35); color: #dff2ff; cursor: pointer; font: 600 13px/1.3 system-ui, sans-serif; }
/* Mac (index.html): the input is absolutely placed — the switch sits just above it */
.workspace .cm-bar { position: absolute; right: 14px; top: 276px; margin: 0; z-index: 5; }
.mode-ambient .workspace .cm-bar { right: auto; left: 14px; top: auto; bottom: calc(100% + 10px); }
/* iPhone Ambient: MIRA's reply (it grows as it arrives) stays in view just above the mode switch, instead of below the CORE off-screen */
.mode-ambient #ambReply:not(:empty), .task-first.mode-ambient #viewHome > #ambReply:not(:empty) { display: block !important; position: fixed; left: 14px; right: 14px; z-index: 6; margin: 0;
  bottom: calc(var(--nav-h, 64px) + var(--ask-h, 60px) + var(--sab, 0px) + 66px); max-height: 34vh; overflow-y: auto;
  padding: 10px 14px; border-radius: 14px; text-align: left; background: rgba(4, 18, 34, .78); border: 1px solid rgba(110, 180, 230, .3); }
.mode-ambient .workspace .cm-bar { left: auto; right: 14px; }
/* the two icons (Claude app style): microphone = 文字起こし, sound wave = 会話; the name stays for screen readers and the tooltip */
.cm-switch button { display: inline-grid; place-items: center; width: 40px; height: 34px; padding: 0; }
.cm-switch svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.cm-l { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* 作業 15 D: the calendar confirm card (live.js) — created only when 作成する is pressed */
.cal-card { margin: 8px 0 2px; padding: 10px 12px; border-radius: 12px; border: 1px solid rgba(120, 190, 240, .45); background: rgba(6, 26, 46, .75); color: #e6f4ff; font-size: 13.5px; }
.cal-card .cal-sum { margin-top: 4px; font-weight: 700; font-size: 15px; } .cal-card .cal-when { margin-top: 2px; color: #a9cde8; }
.cal-row { display: flex; gap: 8px; margin-top: 10px; }
.cal-row button { padding: 8px 14px; min-height: 36px; border-radius: 10px; font: 600 13.5px/1 system-ui, sans-serif; cursor: pointer; border: 1px solid rgba(120, 190, 240, .5); background: rgba(40, 110, 170, .35); color: #fff; }
.cal-row .cal-ok { background: linear-gradient(180deg, #4b93ff, #3a78e8); border-color: #6aa8ff; }
.cal-out { margin-top: 6px; color: #bfe3ff; } .cal-out:empty { display: none; }
/* 👤 menu: MIRA が覚えていること（作業 15 C） */
.am-mem { list-style: none; margin: 4px 0 10px; padding: 0; max-height: 220px; overflow-y: auto; display: grid; gap: 6px; }
.am-mem li { display: grid; grid-template-columns: auto 1fr auto; gap: 8px; align-items: center; padding: 6px 8px; border-radius: 8px; background: rgba(6, 22, 40, .55); border: 1px solid rgba(120, 180, 225, .2); }
.am-mk { font-size: 11px; color: #8fd0ff; white-space: nowrap; } .am-mt { font-size: 13px; color: #e6f4ff; overflow-wrap: anywhere; }
.am-mem button { padding: 5px 10px; border-radius: 8px; border: 1px solid rgba(255, 140, 150, .45); background: transparent; color: #ffb3bf; cursor: pointer; font-size: 12px; }
/* 👤 menu: the 7 voice modes folded away (作業 13/15) */
.vm-more { margin-top: 10px; border-top: 1px solid rgba(120, 180, 225, .2); padding-top: 8px; }
.vm-more > summary { cursor: pointer; font: 600 13px/2 system-ui, sans-serif; color: #9fd0f0; list-style: none; }
.vm-more > summary::before { content: '▸ '; } .vm-more[open] > summary::before { content: '▾ '; }
