/*
 * ai-chat.css — サイトの AI チャット（右下のキャラクター＋パネル＋TOP の FV の入力欄）
 * 正本＝ARROWS assets/design/_part-aichat.html（AD 10/20・9205891f→dfc1c84e＝入口を FV の下の節に・吹き出しを透かす→0bfd1881＝入口を詰める・欄の縁の虹・考え中の画面の縁の虹 .ac-edge→e47141af＝縁の実線を外し、ぼかし3枚の帯に→1f667231＝縁のすぐ内側だけ柔らかく→5e33f64d＝ゆっくり出て引く・呼吸／入口の次の節の線を外す→9b5be9a6＝欄の外の光・下の1行を外す・見出しは句読点なし）と scripts/make-aichat-design.py の FV_CSS（入口の節 .ac-ask）をそのまま写した。
 * キャラクターの部品は石井さん側（VEDA Chat 社25）。テーマで変えたのは絵の置き場（assets/img/aichat/・WebP に縮めた）だけ。
 * 読むのは inc/ai-chat.php が「出す」にしたときだけ（option arrows_ai_chat）。
 */
/* ---------- 右下のキャラクター（石井さん側の部品・そのまま） ---------- */
  .veda-launcher{
    --veda-size:110px;
    --veda-bubble-bg:rgba(237,241,247,.78); --veda-bubble-text:#05080F;   /* 吹き出しは少し透かす（社128 齋藤さん〈セリフは少し透過させましょう〉・部品の元は #EDF1F7） */
    position:fixed; right:calc(16px + env(safe-area-inset-right)); bottom:calc(16px + env(safe-area-inset-bottom)); z-index:45;
    display:flex; align-items:flex-end; gap:6px;
    margin:0; padding:0; border:0; background:none; cursor:pointer; font:inherit;
    -webkit-tap-highlight-color:transparent;
    transition:opacity .35s, transform .45s cubic-bezier(.19,1,.22,1), visibility 0s linear 0s;
  }
  .veda-launcher.is-light{ --veda-bubble-bg:rgba(23,39,74,.82); --veda-bubble-text:#FFFFFF; }
  .veda-launcher:focus-visible{ outline:2px solid #4A74FF; outline-offset:4px; border-radius:12px; }
  .veda-launcher__bubble{
    margin-bottom:calc(var(--veda-size) * .55);
    background:var(--veda-bubble-bg); color:var(--veda-bubble-text);
    font-size:13px; font-weight:700; letter-spacing:.04em; line-height:1.6;
    padding:7px 14px; border-radius:4px;
    /* 1行で出す。画面に入りきらないときだけ吹き出しの中で折る（AD 209b8f63・360px 以上は1行のまま・320px で長い文が2行） */
    box-sizing:border-box; max-width:calc(100vw - var(--veda-size) - 38px - env(safe-area-inset-right)); text-wrap:balance; line-break:strict;
    -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
    opacity:0; transform:translateX(8px); transition:opacity .4s, transform .4s;
  }
  .veda-launcher.is-ready .veda-launcher__bubble{ opacity:1; transform:none; }
  .veda-launcher.is-ready.is-swap .veda-launcher__bubble{ opacity:0; transform:translateX(8px); }
  .veda-launcher__char{ position:relative; width:var(--veda-size); height:calc(var(--veda-size) * 1.25);
    filter:drop-shadow(2px 6px 8px rgba(9,40,140,.28)); }
  .veda-launcher__char img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain;
    opacity:0; transition:opacity .15s; pointer-events:none; user-select:none; }
  .veda-launcher[data-state="idle"]  .veda-launcher__img--idle,
  .veda-launcher[data-state="hover"] .veda-launcher__img--hover,
  .veda-launcher[data-state="think"] .veda-launcher__img--think{ opacity:1; }
  .veda-launcher__char{ animation:veda-bob 2.6s ease-in-out infinite; }
  @keyframes veda-bob{ 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(-5px) } }
  .veda-launcher:hover .veda-launcher__char{ animation-duration:1.3s; }
  @media (prefers-reduced-motion: reduce){ .veda-launcher__char{ animation:none } .veda-launcher__bubble{ transition:none } }
  @media (max-width:600px){ .veda-launcher{ --veda-size:84px } .veda-launcher__bubble{ font-size:12px } }
  /* AD が足したのは隠し方だけ：パネルが開いているあいだ／TOP の FV の入力欄が見えているあいだ */
  .veda-launcher.is-hidden{ opacity:0; visibility:hidden; transform:translateY(16px); pointer-events:none;
    transition:opacity .25s, transform .35s, visibility 0s linear .35s; }

  /* ---------- パネル ---------- */
  .ac-panel{
    --ac-bg:#0A1020; --ac-line:rgba(255,255,255,.10); --ac-line2:rgba(255,255,255,.18);
    position:fixed; right:24px; bottom:24px; z-index:60; width:400px; height:min(640px, calc(100vh - 112px));
    display:flex; flex-direction:column; background:var(--ac-bg); color:#EDF1F7;
    border:1px solid var(--ac-line2); border-radius:6px; overflow:hidden;
    box-shadow:0 30px 80px rgba(0,0,0,.55), 0 0 0 1px rgba(74,116,255,.06);
    font-family:inherit; letter-spacing:.02em;
    opacity:0; visibility:hidden; transform:translateY(16px) scale(.985); transform-origin:100% 100%;
    transition:opacity .3s, transform .45s cubic-bezier(.19,1,.22,1), visibility 0s linear .45s;
  }
  .ac-panel:before{ content:""; position:absolute; left:0; right:0; top:0; height:1px;
    background:linear-gradient(90deg, rgba(74,116,255,0), rgba(74,116,255,.9) 50%, rgba(74,116,255,0)); }
  .ac-panel.is-open{ opacity:1; visibility:visible; transform:none; transition:opacity .3s, transform .45s cubic-bezier(.19,1,.22,1), visibility 0s; }
  .ac-panel.is-static{ position:relative; right:auto; bottom:auto; opacity:1; visibility:visible; transform:none; z-index:auto; }

  .ac-head{ display:flex; align-items:center; gap:12px; flex:0 0 auto; height:60px; padding:0 10px 0 18px; border-bottom:1px solid var(--ac-line); }
  .ac-av{ flex:0 0 auto; width:34px; height:34px; border-radius:50%; overflow:hidden; background:radial-gradient(circle at 50% 40%, #1B2E8A 0%, #0E1838 70%); border:1px solid rgba(74,116,255,.35); }
  .ac-av img{ display:block; width:100%; height:100%; object-fit:cover; }
  .ac-ttl{ flex:1 1 auto; min-width:0; }
  .ac-ttl b{ display:block; font-size:14px; font-weight:500; letter-spacing:.06em; line-height:1.4; }
  .ac-ttl span{ display:flex; align-items:center; gap:7px; font-size:11px; letter-spacing:.06em; color:#788196; text-transform:none; } /* 和文の1行〈ARROWSの案内役のAI〉＝等幅をやめた（AD 7c72ac78） */
  .ac-ttl span:before{ content:""; width:5px; height:5px; border-radius:50%; background:#4A74FF; box-shadow:0 0 0 3px rgba(74,116,255,.2); }
  .ac-x{ flex:0 0 auto; width:40px; height:40px; display:grid; place-items:center; border:0; border-radius:4px; background:none; color:#9AA4B8; cursor:pointer; transition:background .3s, color .3s; }
  .ac-x:hover{ background:rgba(255,255,255,.06); color:#fff; }
  .ac-x:focus-visible,.ac-send:focus-visible,.ac-ex:focus-visible,.ac-src a:focus-visible,.ac-acts a:focus-visible{ outline:2px solid #4A74FF; outline-offset:2px; }
  .ac-x svg{ width:14px; height:14px; }

  .ac-log{ flex:1 1 auto; min-height:0; overflow-y:auto; padding:22px 18px 8px; display:flex; flex-direction:column; gap:18px; scroll-behavior:smooth; overscroll-behavior:contain; }
  .ac-log::-webkit-scrollbar{ width:6px; } .ac-log::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.12); border-radius:3px; }

  /* 開いた直後（まだ何も聞いていない）＝聞ける例 */
  .ac-hello{ padding:6px 0 2px; }
  .ac-hello .k{ display:block; font-family:ui-monospace,"SF Mono",Menlo,monospace; font-size:10px; letter-spacing:.14em; color:#4A74FF; padding-bottom:12px; }
  .ac-hello p{ font-size:13.5px; line-height:1.9; color:#9AA4B8; padding-bottom:14px; }
  .ac-exs{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
  .ac-ex{ display:inline-flex; align-items:center; gap:10px; padding:9px 14px; border:1px solid var(--ac-line2); border-radius:4px; background:rgba(255,255,255,.02); color:#EDF1F7; font:inherit; font-size:13.5px; letter-spacing:.03em; line-height:1.5; text-align:left; cursor:pointer; transition:border-color .3s, background .3s; }
  .ac-ex:hover{ border-color:rgba(74,116,255,.8); background:rgba(74,116,255,.08); }
  .ac-ex svg{ flex:0 0 14px; width:14px; height:8px; color:#9AA4B8; }

  /* 発言 */
  .ac-q{ align-self:flex-end; max-width:86%; padding:10px 14px; border-radius:6px 6px 2px 6px; background:rgba(74,116,255,.16); border:1px solid rgba(74,116,255,.32); font-size:14px; line-height:1.8; white-space:pre-wrap; word-break:break-word; }
  .ac-a{ display:grid; grid-template-columns:28px 1fr; gap:10px; align-items:start; }
  .ac-a .ac-av{ width:28px; height:28px; }
  .ac-a .tx{ font-size:14.5px; line-height:1.95; color:#EDF1F7; word-break:break-word; }
  .ac-a .tx p + p{ margin-top:8px; }

  /* 出典（答えの元のページ） */
  .ac-src{ margin-top:14px; border-top:1px solid var(--ac-line); }
  .ac-src .k{ display:block; font-family:ui-monospace,"SF Mono",Menlo,monospace; font-size:10px; letter-spacing:.14em; color:#788196; padding:12px 0 4px; }
  .ac-src a{ display:grid; grid-template-columns:1fr 16px; align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid var(--ac-line); color:#EDF1F7; transition:color .3s; }
  .ac-src a b{ display:block; font-size:13.5px; font-weight:500; line-height:1.6; }
  .ac-src a i{ display:block; font-style:normal; font-family:ui-monospace,"SF Mono",Menlo,monospace; font-size:10.5px; letter-spacing:.04em; color:#788196; }
  .ac-src a svg{ width:16px; height:9px; color:#9AA4B8; transition:transform .4s cubic-bezier(.19,1,.22,1), color .3s; }
  .ac-src a:hover{ color:#fff; } .ac-src a:hover svg{ transform:translateX(3px); color:#fff; }

  /* 考え中 */
  .ac-think{ display:grid; grid-template-columns:28px 1fr; gap:10px; align-items:center; }
  .ac-think .ac-av img{ object-fit:cover; object-position:50% 18%; }
  .ac-think .tx{ display:flex; align-items:center; gap:12px; }
  .ac-dots{ display:inline-flex; gap:5px; }
  .ac-dots i{ width:6px; height:6px; border-radius:50%; background:#4A74FF; animation:ac-dot 1.2s ease-in-out infinite; }
  .ac-dots i:nth-child(2){ animation-delay:.15s; } .ac-dots i:nth-child(3){ animation-delay:.3s; }
  @keyframes ac-dot{ 0%,80%,100%{ opacity:.25; transform:translateY(0) } 40%{ opacity:1; transform:translateY(-3px) } }
  .ac-think .ac-mono{ font-family:ui-monospace,"SF Mono",Menlo,monospace; font-size:10.5px; letter-spacing:.1em; color:#788196; }
  @media (prefers-reduced-motion: reduce){ .ac-dots i{ animation:none; opacity:.7 } }

  /* 止まったとき（上限・休止）＝案内の札 */
  .ac-stop{ padding:18px; border:1px solid var(--ac-line2); border-radius:6px; background:rgba(255,255,255,.035); }
  .ac-stop p{ font-size:13.5px; line-height:1.9; }
  .ac-acts{ display:flex; gap:8px; margin-top:14px; }
  .ac-acts a{ flex:1 1 0; display:flex; align-items:center; justify-content:space-between; gap:10px; height:44px; padding:0 14px; border-radius:4px; font-size:13px; font-weight:500; letter-spacing:.06em; }
  .ac-acts a.p{ background:linear-gradient(90deg,#3B63F2 0%,#2B4FE0 100%); color:#fff; }
  .ac-acts a.g{ border:1px solid var(--ac-line2); color:#EDF1F7; }
  .ac-acts a.g:hover{ border-color:rgba(74,116,255,.8); background:rgba(74,116,255,.08); }
  .ac-acts svg{ width:16px; height:9px; }

  /* 答えられなかったとき（エラー・断り・空） */
  .ac-err .tx{ display:flex; gap:10px; font-size:13.5px; line-height:1.9; color:#C4CBD8; }
  .ac-err .tx:before{ content:""; flex:0 0 6px; height:6px; margin-top:11px; border-radius:50%; background:#FB4D4D; }

  /* 入力の欄 */
  .ac-foot{ flex:0 0 auto; padding:12px 14px 14px; border-top:1px solid var(--ac-line); background:rgba(255,255,255,.015); }
  .ac-box{ display:flex; align-items:flex-end; gap:8px; padding:6px 6px 6px 14px; border:1px solid var(--ac-line2); border-radius:6px; background:#05080F; transition:border-color .3s, box-shadow .3s; }
  .ac-box:focus-within{ border-color:rgba(74,116,255,.9); box-shadow:0 0 0 3px rgba(74,116,255,.18); }
  .ac-box.is-over{ border-color:#FB4D4D; box-shadow:0 0 0 3px rgba(251,77,77,.16); }
  .ac-in{ flex:1 1 auto; min-width:0; min-height:64px; max-height:120px; padding:8px 0; border:0; outline:0; resize:none; background:none; color:#EDF1F7; font:inherit; font-size:14px; line-height:1.7; letter-spacing:.02em; }
  .ac-in::placeholder{ color:#788196; }
  .ac-in:disabled{ cursor:not-allowed; }
  .ac-send{ flex:0 0 auto; width:40px; height:40px; display:grid; place-items:center; border:0; border-radius:4px; background:linear-gradient(90deg,#3B63F2 0%,#2B4FE0 100%); color:#fff; cursor:pointer; transition:opacity .3s; }
  .ac-send svg{ width:16px; height:9px; }
  .ac-send:disabled{ opacity:.3; cursor:not-allowed; }
  .ac-send{ transition:opacity .3s, transform .18s, filter .18s; }
  .ac-send.is-press{ transform:scale(.88); filter:brightness(1.25); }   /* 例・聞き返しの候補を打ち込み終えて、ボタンが押されたところ（TOP の入口の .is-press と同じ） */
  .ac-foot textarea.is-typing{ caret-color:#4A74FF; }
  .ac-chs{ margin-top:14px; }   /* 聞き返しの候補（MD 16b8cb54・押すと下の欄に打ち込んで送る） */
  .ac-meta{ display:flex; justify-content:space-between; gap:12px; padding-top:8px; }
  .ac-note{ font-size:11.5px; line-height:1.75; color:#788196; }
  .ac-cnt{ display:none; flex:0 0 auto; font-family:ui-monospace,"SF Mono",Menlo,monospace; font-size:10.5px; color:#788196; padding-top:2px; }
  .ac-cnt.is-near{ display:block; } .ac-cnt.is-over{ color:#FF8C8C; }
  .ac-over{ display:none; font-size:12px; color:#FF8C8C; padding-top:6px; }
  .ac-box.is-over ~ .ac-over{ display:block; }

  /* スマホ＝全画面で下から */
  @media (max-width:600px){
    .ac-panel:not(.is-static){ right:0; bottom:0; left:0; top:0; width:auto; height:100dvh; border:0; border-radius:0;
      transform:translateY(100%); transition:transform .5s cubic-bezier(.19,1,.22,1), visibility 0s linear .5s; opacity:1; }
    .ac-panel.is-open:not(.is-static){ transform:none; transition:transform .5s cubic-bezier(.19,1,.22,1), visibility 0s; }
    .ac-head{ height:56px; padding:0 6px 0 16px; }
    .ac-log{ padding:20px 16px 8px; }
    .ac-foot{ padding:10px 12px calc(12px + env(safe-area-inset-bottom)); }
    .ac-in{ font-size:16px; }   /* 16px 未満だと iPhone が入力のたびに拡大する */
  }
  body.ac-lock{ overflow:hidden; }

  /* ---------- AI が動いているあいだ＝画面の縁が虹色に光る（社130 齋藤さん〈Appleインテリジェンスみたいにウィンドウの縁が虹色になる効果〉） ----------
     作り＝画面いっぱいの枠（pointer-events:none）を縁だけ見えるように切り抜き（mask）、中の大きな虹の円盤を transform で回す。
     回すのは transform だけ＝合成だけで描き直しが無い（軽い）。ぼかした光の層は filter:blur を使うので、出すのは考え中のあいだだけ（1〜3秒）。動きを減らす設定では回さず色だけ */
  /* 出る・消える（10/20 齋藤さん〈フェードインフェードアウトをもっと生き物的にゆっくりとしてほしい、急に出て急に消える〉）：
     出るのは 1.8 秒・消えるのは 2.6 秒（消えるほうを長く）。どちらも、ゆっくり始まってゆっくり終わる曲線（息を吸う・吐くような ease-in-out）。
     光っているあいだは、にじむ2層（g・g3）がゆっくり呼吸する（3.6 秒で薄く→濃く）。消えていくあいだも回り続ける（is-run＝JS が消え終わるまで付けておく） */
  .ac-edge{position:fixed;inset:0;z-index:70;pointer-events:none;opacity:0;transition:opacity 2.6s cubic-bezier(.37,0,.63,1);}
  .ac-edge.is-on{opacity:1;transition:opacity 1.8s cubic-bezier(.37,0,.63,1);}
  .ac-edge i{position:absolute;inset:0;overflow:hidden;
    -webkit-mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0); -webkit-mask-composite:xor;
    mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0); }
  /* 縁の実線は置かない（10/20 齋藤さん〈ウィンドウの虹色ですが実線はいらないです〉）。参考＝齋藤さんが添えた Apple Intelligence の画面2枚：
     幅のある濃い色の帯（橙・赤・紫・青）が、縁から中へなめらかに溶ける。＝ぼかした光の層を3枚重ねる
     g1＝縁のすぐ内の明るい帯／g＝中くらいの帯／g3＝中へ広く溶ける帯。ぼかしは切り抜いた後の外の箱にかける（同じ要素だと切り抜きの線が硬く残る） */
  .ac-edge b{position:absolute;inset:0;}
  /* 10/20 齋藤さん〈範囲が広すぎるので調整して〉〈1枚目の画像を参考に〉（iPhone のロック画面＝縁のすぐ内側だけが明るく柔らかに光り、中へは少しにじむ）
     g1＝縁に沿った明るい光（細い帯をぼかす＝実線にはしない）／g＝少しにじむ／g3＝ごく薄く中へ */
  .ac-edge b.g1{filter:blur(3px);opacity:1;} .ac-edge b.g1 i{padding:5px;}
  .ac-edge b.g{filter:blur(9px);opacity:.7;} .ac-edge b.g i{padding:14px;}
  .ac-edge b.g3{filter:blur(22px);opacity:.3;} .ac-edge b.g3 i{padding:30px;}
  .ac-edge i:before{content:"";position:absolute;left:50%;top:50%;width:150vmax;height:150vmax;margin:-75vmax 0 0 -75vmax;
    background:conic-gradient(#FF3B6B,#FF7A45,#FF9F43,#FF3B8E,#C04CFD,#7A5CFF,#3E8BFF,#5AC8FA,#C04CFD,#FF3B6B);animation:ac-spin 5s linear infinite;}   /* ピンク・赤・橙・紫・青・水色（1枚目の色） */
  .ac-edge:not(.is-on):not(.is-run) i:before{animation-play-state:paused;}
  @keyframes ac-spin{to{transform:rotate(360deg);}}
  .ac-edge.is-run b.g{animation:ac-breath 3.6s ease-in-out infinite;} .ac-edge.is-run b.g3{animation:ac-breath3 3.6s ease-in-out infinite;}
  @keyframes ac-breath{0%,100%{opacity:.7;}50%{opacity:.4;}}
  @keyframes ac-breath3{0%,100%{opacity:.3;}50%{opacity:.14;}}
  .ac-edge.is-box{position:absolute;z-index:1;border-radius:10px;overflow:hidden;}
  .ac-edge.is-box i,.ac-edge.is-box b{border-radius:inherit;}
  @media (prefers-reduced-motion: reduce){ .ac-edge i:before,.ac-edge b{animation:none !important;} }

/* ---------- AI チャットの入口＝FV のすぐ下（AD 10/20・scripts/make-aichat-design.py） ---------- */
  .ac-ask{padding:76px var(--gut) 84px;}   /* 社130〈余白が大きいのでもう少しコンパクトに〉 */
  .ac-ask + section{border-top:none;}   /* 社131〈罫線いらない〉＝入口の節と次の節のあいだの線（section + section の線）を外す */
  .ac-ask:before{content:"";position:absolute;left:50%;top:50%;width:900px;height:320px;transform:translate(-50%,-38%);background:radial-gradient(closest-side,rgba(var(--glow-rgb),.16),rgba(var(--glow-rgb),0));pointer-events:none;}
  .ac-fv{max-width:820px;margin:0 auto;text-align:center;}
  .ac-askk{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;color:var(--glow);padding-bottom:22px;text-transform:none;}
  .ac-askk:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--glow);box-shadow:0 0 0 4px rgba(var(--glow-rgb),.18);animation:ac-pulse 2.4s ease-in-out infinite;}
  @keyframes ac-pulse{0%,100%{box-shadow:0 0 0 3px rgba(var(--glow-rgb),.18);}50%{box-shadow:0 0 0 7px rgba(var(--glow-rgb),.06);}}
  .ac-askh{font-size:34px;font-weight:300;letter-spacing:.06em;line-height:1.5;word-break:keep-all;padding-bottom:32px;}   /* 下の1行（fv_sub）は置かない（社133〈これいらない／AIがせっかくあるので極力シンプルに〉） */
  /* 社130〈デザインをもう少し目立たせる方向で〉＝欄の縁に虹の色がゆっくり回る（AI が動いているときの画面の縁の光と同じ色）＋後ろにぼかした光 */
  @property --ac-a{syntax:"<angle>";inherits:false;initial-value:0deg;}
  .ac-pill{position:relative;display:flex;align-items:center;gap:12px;height:72px;padding:0 10px 0 30px;border:1.5px solid transparent;border-radius:36px;
    background:linear-gradient(#131A2A,#131A2A) padding-box,conic-gradient(from var(--ac-a),#4A74FF,#9B6BFF,#FF6BB5,#FFB15C,#5CE1E6,#4A74FF) border-box;
    box-shadow:0 10px 40px rgba(0,0,0,.35);text-align:left;animation:ac-rot 8s linear infinite;}
  /* 後ろのぼかした光（:after）は外した（社132〈周りの文字がぼやけるので外側の光を削除〉）＝虹は欄の縁の線だけ */
  @keyframes ac-rot{to{--ac-a:360deg;}}
  .ac-ask:not(.is-in) .ac-pill{animation-play-state:paused;}   /* 節が画面に無いあいだは止める（FE の指摘・テーマと同じ） */
  .ac-fv{position:relative;isolation:isolate;}
  .ac-pill input{flex:1 1 auto;min-width:0;height:100%;border:0;outline:0;background:none;color:var(--text);font:inherit;font-size:16.5px;letter-spacing:.03em;text-overflow:ellipsis;}
  .ac-pill input::placeholder{color:#8A93A6;}
  .ac-pill button[type=submit]{flex:0 0 auto;width:48px;height:48px;display:grid;place-items:center;border:0;border-radius:50%;background:#fff;color:#05080F;cursor:pointer;transition:background .3s,color .3s,transform .2s;}
  .ac-pill button[type=submit] svg{width:18px;height:18px;}
  .ac-pill button[type=submit]:disabled{background:rgba(255,255,255,.12);color:rgba(255,255,255,.35);cursor:default;}
  .ac-pill button[type=submit]:not(:disabled):hover{transform:scale(1.05);}
  .ac-pill button[type=submit].is-press{transform:scale(.88);background:#DDE6FF;}   /* 定型文を打ち込み終えて、ボタンが押されたところ（AD d028658e） */
  .ac-pill input.is-typing{caret-color:var(--glow);}
  .ac-fv button:focus-visible{outline:2px solid var(--glow);outline-offset:3px;}
  .ac-fvex{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding-top:22px;}
  .ac-fvex button{padding:9px 18px;border:1px solid var(--line2);border-radius:999px;background:transparent;color:var(--sub);font:inherit;font-size:13.5px;letter-spacing:.03em;line-height:1.6;cursor:pointer;transition:color .3s,border-color .3s,background .3s;}
  .ac-fvex button:hover{color:#fff;border-color:rgba(var(--glow-rgb),.7);background:rgba(var(--glow-rgb),.08);}
  .ac-asknote{font-size:12px;color:var(--dim);padding-top:26px;line-height:1.8;}
  @media (prefers-reduced-motion: reduce){.ac-askk:before,.ac-pill{animation:none;}}
  @media (max-width:767px){
    .ac-ask{padding:56px var(--gut) 60px;} .ac-ask:before{width:420px;height:260px;}
    .ac-askh{font-size:22px;padding-bottom:22px;}
    .ac-pill{height:60px;padding:0 6px 0 20px;border-radius:30px;}
    .ac-pill input{font-size:16px;}   /* 16px 未満だと iPhone が拡大する */
    .ac-pill button[type=submit]{width:44px;height:44px;}
    .ac-fvex{gap:8px;padding-top:18px;}
    .ac-fvex button{font-size:13px;padding:8px 14px;}
    .ac-asknote{font-size:11.5px;padding-top:20px;text-align:left;}
  }

/* テーマで足したもの（FE）：パネルの中の Turnstile（確かめに操作が要るときだけ出る）・受け口に聞くまで右下を出さない */
.ac-ts:empty{display:none;}
.ac-ts{padding-top:8px;overflow:hidden;transition:opacity .4s,height .4s,padding-top .4s;}
.ac-ts.is-done{opacity:0;padding-top:0;}   /* 確かめが済んだら畳む（高さは JS で今の高さ→0）＝齋藤さん〈確認が済んだら消えるように〉10/20 */
.ac-ts>div,.ac-ts>div>div{width:fit-content;line-height:0;}   /* 枠の箱をチェック欄の大きさ（300×65）に合わせる＝光が欄にぴったり付く */
.ac-ts.is-ask>div{border-radius:6px;animation:acTsAsk 1.6s ease-in-out infinite;}   /* 操作が要るときだけ枠を光らせる（齋藤さん〈しばらく待ってて気づく〉10/20） */
@keyframes acTsAsk{0%,100%{box-shadow:0 0 0 1px rgba(var(--glow-rgb,74,116,255),.55),0 0 0 0 rgba(var(--glow-rgb,74,116,255),0);}50%{box-shadow:0 0 0 1px rgba(var(--glow-rgb,74,116,255),.9),0 0 18px 2px rgba(var(--glow-rgb,74,116,255),.45);}}
.ac-think.is-verify .ac-dots{display:none;}
.ac-think.is-verify .ac-mono{font-family:inherit;font-size:13px;letter-spacing:0;line-height:1.6;color:var(--glow,#4A74FF);}
@media (prefers-reduced-motion: reduce){.ac-ts.is-ask>div{animation:none;box-shadow:0 0 0 1px rgba(var(--glow-rgb,74,116,255),.9);}}
.veda-launcher[hidden]{display:none;}
/* 欄の縁の虹（@property --ac-a を回す）は毎こま描き直す（transform ではない）＝入口の節が画面に無いあいだは止める（FE・JS が .is-in を付け外し） */
.ac-ask:not(.is-in) .ac-pill{animation-play-state:paused;}
