#sr-chatbot{--sr-chat-lift:0px;position:fixed;right:max(24px,env(safe-area-inset-right,0px));bottom:calc(max(24px,env(safe-area-inset-bottom,0px)) + var(--sr-chat-lift));z-index:10050;color:#edfaff;font:14px/1.65 system-ui,-apple-system,"Noto Sans JP",sans-serif;color-scheme:dark}
#sr-chatbot *{box-sizing:border-box}
#sr-chatbot [hidden]{display:none!important}
#sr-chatbot button,#sr-chatbot input,#sr-chatbot a{font:inherit}
#sr-chatbot button,#sr-chatbot a{touch-action:manipulation}
#sr-chatbot button{cursor:pointer;color:inherit}
#sr-chatbot button:focus-visible,#sr-chatbot a:focus-visible,#sr-chatbot input:focus-visible{outline:2px solid #a9edff;outline-offset:3px}
#sr-chatbot .sr-chat-launcher{display:flex;flex-direction:column;align-items:flex-end;gap:0;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#a9edff;font-weight:800;-webkit-tap-highlight-color:transparent}
#sr-chatbot .sr-chat-panel{position:absolute;right:0;bottom:68px;width:390px;max-width:calc(100vw - 32px);height: min(680px,calc(100dvh - 116px));display:flex;flex-direction:column;overflow:hidden;background:#0b1128;border:1px solid #34415b;border-radius:16px;box-shadow:0 16px 70px #0009,0 0 25px #8355ff22}
#sr-chatbot .sr-chat-header{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 10px;overflow:hidden;background:radial-gradient(90px 64px at 8% 40%,rgba(14,165,233,.2),transparent 72%),radial-gradient(70px 56px at 0% 100%,rgba(131,85,255,.16),transparent 70%),#0d1428;border-bottom:1px solid #34415b}
#sr-chatbot .sr-chat-mark{position:relative;width:56px;height:56px;flex:0 0 56px;border-radius:50%;background:radial-gradient(circle at 32% 68%,rgba(168,85,247,.42),transparent 58%),radial-gradient(circle at 70% 28%,rgba(34,211,238,.48),transparent 62%),#121a33;box-shadow:0 0 0 1px rgba(125,211,252,.4),0 0 12px rgba(14,165,233,.28)}
#sr-chatbot .sr-chat-mark img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 5px rgba(125,211,252,.45))}
#sr-chatbot .sr-chat-heading{min-width:0;flex:1}
#sr-chatbot .sr-chat-header small{display:block;color:#a9edff;font-size:11px;letter-spacing:.12em}
#sr-chatbot h2{margin:0;color:#edfaff;font-size:18px;line-height:1.35}
#sr-chatbot .sr-chat-close{flex:0 0 44px}
#sr-chatbot h3{margin:0 0 10px;color:#edfaff;font-size:15px}
#sr-chatbot .sr-chat-close{border:0;background:transparent;min-width:44px;min-height:44px;font-size:28px}
#sr-chatbot .sr-chat-toolbar{display:flex;justify-content:space-between;gap:8px;padding:5px 12px;border-bottom:1px solid #34415b}
#sr-chatbot .sr-chat-note{margin:0;padding:6px 14px 8px;color:#9fb0c8;background:#0d1428;font-size:11px;line-height:1.55}
#sr-chatbot .sr-chat-guide{margin:2px 0 0;color:#a9edff;font-size:12px;font-weight:700}
#sr-chatbot .sr-chat-toolbar button,#sr-chatbot .sr-chat-toolbar a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:4px 8px;background:none;border:0;color:#a9edff;text-decoration:underline;text-underline-offset:4px;font-size:13px}
#sr-chatbot .sr-chat-messages{flex:1;min-height:0;overflow-y:auto;overflow-anchor:none;overscroll-behavior:contain;padding:16px;scrollbar-width:thin;scrollbar-color:#34415b #0b1128}
#sr-chatbot .sr-chat-spacer{width:100%;pointer-events:none}
#sr-chatbot .sr-chat-row{display:flex;align-items:flex-start;gap:8px;margin:0 0 14px;max-width:100%}
#sr-chatbot .sr-chat-row.is-user{justify-content:flex-end}
#sr-chatbot .sr-chat-avatar{position:relative;width:40px;height:40px;flex:0 0 40px;overflow:hidden;border:1px solid #34415b;border-radius:50%;background:#17213b}
#sr-chatbot .sr-chat-avatar img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 18%}
#sr-chatbot .sr-chat-avatar.is-sheet img{position:absolute;left:50%;top:50%;width:300%;height:400%;max-width:none;object-fit:fill;transform:translate(calc(-100% * var(--fx)),calc(-100% * var(--fy)))}
#sr-chatbot .sr-chat-message{width:fit-content;max-width:calc(100% - 48px);padding:11px 13px;margin:0;border:1px solid #34415b;border-radius:14px;background:#141e35;overflow-wrap:anywhere;font-size:14px;line-height:1.75}
#sr-chatbot .sr-chat-message p{margin:0 0 .75em}
#sr-chatbot .sr-chat-message p:last-child,#sr-chatbot .sr-chat-message ul:last-child{margin-bottom:0}
#sr-chatbot .sr-chat-message ul{margin:.15em 0 .75em;padding:0 0 0 1.25em;list-style:disc}
#sr-chatbot .sr-chat-message li{margin:0 0 .4em}
#sr-chatbot .sr-chat-message li::marker{color:#a9edff}
#sr-chatbot .sr-chat-message li:last-child{margin-bottom:0}
#sr-chatbot .sr-chat-message strong{font-weight:700;color:#fff}
#sr-chatbot .sr-chat-row.is-user .sr-chat-message{max-width:92%}
#sr-chatbot .sr-chat-user{background:#12334a;border-color:#24749a}
#sr-chatbot .sr-chat-choices{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:calc(100% - 48px);margin:0 0 14px 48px}
#sr-chatbot .sr-chat-choices button{min-height:44px;padding:10px 12px;border:1px solid #0ea5e9;border-radius:14px;background:#12334a;color:#e8fbff;font-size:14px;line-height:1.45;text-align:left}
#sr-chatbot .sr-chat-choices button:disabled{opacity:.45}
#sr-chatbot .sr-chat-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
#sr-chatbot .sr-chat-chips button{min-height:44px;padding:8px 12px;border:1px solid #34415b;border-radius:14px;background:#0d1428;color:#a9edff;font-size:13px;line-height:1.45;text-align:left;white-space:normal;max-width:100%;word-break:auto-phrase;overflow-wrap:break-word}
#sr-chatbot .sr-chat-chips button:hover,#sr-chatbot .sr-chat-agent:hover{background:#1a2945;border-color:#0ea5e9}
@media(max-width:420px){#sr-chatbot .sr-chat-chips button{flex:1 1 auto}}
#sr-chatbot .sr-chat-opener{gap:6px;margin:0 0 12px}
#sr-chatbot .sr-chat-opener button{flex:0 1 auto;min-height:40px;padding:6px 11px;border-radius:999px;font-size:13px;line-height:1.4}
#sr-chatbot .sr-chat-handoff{margin:0 0 6px}
#sr-chatbot .sr-chat-app-link{margin:0 0 14px}
#sr-chatbot .sr-chat-app-link button{display:inline-flex;align-items:center;min-height:36px;padding:4px 2px;border:0;background:none;color:#9fb0c8;font-size:13px;line-height:1.45;text-align:left;text-decoration:underline;text-decoration-color:rgba(159,176,200,.6);text-underline-offset:4px}
#sr-chatbot .sr-chat-app-link button:hover{color:#a9edff;text-decoration-color:currentColor}
@media(max-width:360px){#sr-chatbot .sr-chat-opener button{padding:6px 10px}}
#sr-chatbot .sr-chat-picker{margin-bottom:16px}
#sr-chatbot .sr-chat-agent{display:flex;align-items:center;gap:12px;width:100%;min-height:76px;margin:8px 0;padding:10px;border:1px solid #34415b;border-radius:14px;background:#0d1428;text-align:left}
#sr-chatbot .sr-chat-agent img{width:52px;height:52px;flex:0 0 52px;object-fit:cover;border-radius:50%;background:#1d2940}
#sr-chatbot .sr-chat-agent strong{display:block;color:#a9edff;font-size:14px}
#sr-chatbot .sr-chat-agent small{display:block;color:#d0d9e7;font-size:13px;line-height:1.5}
#sr-chatbot .sr-chat-form{display:flex;gap:8px;padding:12px;border-top:1px solid #34415b;background:#0d1428}
#sr-chatbot .sr-chat-form input{width:0;min-width:0;flex:1;min-height:46px;border:1px solid #34415b;border-radius:12px;padding:10px;background:#0b1128;color:#fff;font-size:16px}
#sr-chatbot .sr-chat-form input::placeholder{color:#a5afc1}
#sr-chatbot .sr-chat-form button{min-height:46px;min-width:58px;padding:8px 12px;border:1px solid #0ea5e9;border-radius:12px;background:#12334a;color:#a9edff;font-weight:700}
#sr-chatbot .sr-chat-form button:disabled{opacity:.55;cursor:progress}
#sr-chatbot .sr-chat-summary{padding:14px;margin-bottom:14px;border:1px solid #9976f1;border-radius:14px;background:#1b1c36;overflow-wrap:anywhere}
#sr-chatbot .sr-chat-summary dl{margin:0}
#sr-chatbot .sr-chat-summary dt{font-size:13px;color:#a9edff;margin-top:8px}
#sr-chatbot .sr-chat-summary dd{margin:2px 0 0;white-space:pre-wrap}
#sr-chatbot .sr-chat-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:768px){
#sr-chatbot{right:max(12px,env(safe-area-inset-right,0px));bottom:calc(92px + env(safe-area-inset-bottom,0px) + var(--sr-chat-lift))}
#sr-chatbot .sr-chat-panel{position:fixed;left:8px;right:8px;bottom:calc(92px + env(safe-area-inset-bottom,0px));width:auto;max-width:none;height:min(660px,calc(100dvh - 96px - env(safe-area-inset-bottom,0px)));border-radius:16px}
#sr-chatbot .sr-chat-messages{padding:12px}
#sr-chatbot .sr-chat-avatar{width:34px;height:34px;flex-basis:34px}
#sr-chatbot .sr-chat-message{max-width:calc(100% - 42px);font-size:14px;line-height:1.75}
#sr-chatbot .sr-chat-header{padding:6px 4px 6px 8px}
#sr-chatbot .sr-chat-mark{width:46px;height:46px;flex-basis:46px}
#sr-chatbot h2{font-size:16px}
#sr-chatbot .sr-chat-choices{width:100%;margin-left:0}
}
@media(prefers-reduced-motion:reduce){#sr-chatbot,#sr-chatbot *,#sr-chatbot *::before,#sr-chatbot *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

#sr-chatbot .sr-chat-launcher[aria-expanded="true"]{visibility:hidden;pointer-events:none}
body.sr-chat-open{overflow:hidden}
@media(max-width:768px){
#sr-chatbot .sr-chat-panel{z-index:10060}
}

#sr-chatbot .sr-app-entry{flex-shrink:0;min-height:48px;margin:8px 12px 0;padding:10px 12px;border:1px solid #69f5d0;border-radius:12px;background:#10332f;color:#c7ffed;font-size:13px;text-align:left;box-shadow:0 0 14px #69f5d022}
#sr-chatbot .sr-app-entry strong{margin-right:6px;color:#69f5d0;font-size:13px}
#sr-chatbot .sr-app-card{margin:0 0 14px;padding:14px;border:1px solid #69f5d0;border-radius:14px;background:#102c30;overflow-wrap:anywhere;font-size:14px}
#sr-chatbot .sr-app-card h3{color:#baffeb}
#sr-chatbot .sr-app-card p{margin:8px 0;white-space:pre-wrap}
#sr-chatbot .sr-app-card button{width:100%;min-height:44px;margin-top:8px;padding:10px;border:1px solid #69f5d0;border-radius:10px;background:#17463d;color:#c7ffed;font-size:13px;font-weight:700}
#sr-chatbot .sr-app-entry:hover,#sr-chatbot .sr-app-card button:hover{background:#205448}

/* Launcher + レック. /rec.webp draws a slogan across the lower left; the polygon keeps the character. */
@property --sr-chat-ang{syntax:"<angle>";inherits:false;initial-value:0deg}
#sr-chatbot .sr-chat-companion{display:flex;flex-direction:column;align-items:flex-end;margin:0 2px -12px 0;position:relative;z-index:1;pointer-events:none}
/* 吹き出し: HUD風の発光タグ（暗いガラス＋細い発光枠） */
#sr-chatbot .sr-chat-bubble{position:relative;margin:0 6px 4px 0;padding:6px 11px 7px 23px;border:1px solid rgba(126,231,255,.72);border-radius:10px;background:linear-gradient(180deg,rgba(18,30,62,.94),rgba(9,15,36,.94));color:#e2fbff;font-family:"Zen Kaku Gothic New",system-ui,-apple-system,"Noto Sans JP",sans-serif;font-size:13px;font-weight:800;line-height:1.35;letter-spacing:.02em;white-space:nowrap;text-shadow:0 0 8px rgba(34,211,238,.45);box-shadow:0 6px 16px rgba(2,6,20,.45),0 0 12px rgba(34,211,238,.32),inset 0 0 10px rgba(34,211,238,.1)}
#sr-chatbot .sr-chat-bubble::before{content:"";position:absolute;left:10px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#67e8f9;box-shadow:0 0 6px #22d3ee;opacity:.65;transition:opacity .2s}
#sr-chatbot .sr-chat-companion.is-talking .sr-chat-bubble::before{opacity:1}
#sr-chatbot .sr-chat-bubble::after{content:"";position:absolute;right:18px;bottom:-5px;width:9px;height:9px;background:#0a1026;border-right:1px solid rgba(126,231,255,.72);border-bottom:1px solid rgba(126,231,255,.72);transform:rotate(45deg)}
/* 文言を回しているときは、いちばん長い行に合わせて幅を固定（ガタつき防止） */
#sr-chatbot .sr-chat-bubble.is-rotating{width:calc(12.4em + 34px);text-align:left}
#sr-chatbot .sr-chat-mascot{position:relative;display:block;width:96px;height:112px;flex:0 0 auto}
#sr-chatbot .sr-chat-mascot img{position:absolute;left:-25px;top:-3px;width:124px;height:auto;max-width:none;clip-path:polygon(20% 2%,99% 2%,99% 96%,40% 96%,40% 50%,20% 50%);filter:drop-shadow(0 8px 12px rgba(0,0,0,.42)) drop-shadow(0 0 5px rgba(56,189,248,.3));user-select:none;-webkit-user-drag:none}
#sr-chatbot .sr-chat-companion.is-talking .sr-chat-mascot{animation:sr-chat-bob .38s ease-in-out infinite alternate}
@keyframes sr-chat-bob{from{transform:translateY(0)}to{transform:translateY(-2px)}}
/* ピル: ガラス＋回転する発光枠＋ゆっくりしたグロー＋掃光（文字は回さない） */
#sr-chatbot .sr-chat-pill{position:relative;z-index:2;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:56px;min-width:56px;padding:0 18px 0 16px;border:0;border-radius:999px;background:rgba(9,15,38,.66);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#d4f8ff;font-family:"Zen Kaku Gothic New",system-ui,-apple-system,"Noto Sans JP",sans-serif;font-size:15px;font-weight:800;line-height:1;letter-spacing:.04em;white-space:nowrap;text-shadow:0 0 10px rgba(34,211,238,.55);box-shadow:0 10px 28px rgba(0,0,0,.42),0 0 18px rgba(34,211,238,.38),0 0 34px rgba(124,92,255,.14);animation:sr-chat-pulse 3.2s ease-in-out infinite}
#sr-chatbot .sr-chat-pill::before{content:"";position:absolute;inset:0;z-index:-1;padding:1.5px;border-radius:inherit;background:conic-gradient(from var(--sr-chat-ang),#22d3ee,#7dd3fc 18%,#8b5cf6 38%,#22d3ee 55%,#a5f3fc 72%,#7c5cff 88%,#22d3ee);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);animation:sr-chat-spin 6s linear infinite;pointer-events:none}
#sr-chatbot .sr-chat-pill::after{content:"";position:absolute;top:0;bottom:0;left:0;width:45%;z-index:-1;background:linear-gradient(105deg,transparent 0,rgba(165,243,252,.14) 45%,rgba(255,255,255,.2) 50%,rgba(165,243,252,.14) 55%,transparent 100%);transform:translateX(-120%);animation:sr-chat-shimmer 5s ease-in-out infinite;pointer-events:none}
#sr-chatbot .sr-chat-pill svg{flex:0 0 auto;filter:drop-shadow(0 0 4px rgba(34,211,238,.6))}
#sr-chatbot .sr-chat-label{position:relative}
@keyframes sr-chat-spin{to{--sr-chat-ang:360deg}}
@keyframes sr-chat-pulse{0%,100%{box-shadow:0 10px 28px rgba(0,0,0,.42),0 0 14px rgba(34,211,238,.3),0 0 30px rgba(124,92,255,.1)}50%{box-shadow:0 10px 28px rgba(0,0,0,.42),0 0 22px rgba(34,211,238,.5),0 0 40px rgba(124,92,255,.2)}}
@keyframes sr-chat-shimmer{0%,62%{transform:translateX(-120%)}86%,100%{transform:translateX(260%)}}
#sr-chatbot .sr-chat-panel{z-index:2}
#sr-chatbot .sr-chat-launcher[aria-expanded="true"]{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media (hover:hover) and (pointer:fine){
#sr-chatbot .sr-chat-launcher:hover .sr-chat-pill{background:rgba(14,24,56,.74);color:#f0fdff}
#sr-chatbot .sr-chat-launcher:hover .sr-chat-bubble{border-color:#a5f3fc}
}
@media (max-width:768px){
#sr-chatbot .sr-chat-companion{margin:0 0 -18px}
#sr-chatbot .sr-chat-bubble{margin:0 2px -2px 0;padding:4px 9px 5px 20px;font-size:12px}
#sr-chatbot .sr-chat-bubble::before{left:8px;width:5px;height:5px;margin-top:-2.5px}
#sr-chatbot .sr-chat-bubble::after{right:16px}
#sr-chatbot .sr-chat-bubble.is-rotating{width:calc(12.4em + 29px)}
#sr-chatbot .sr-chat-mascot{width:62px;height:72px}
#sr-chatbot .sr-chat-mascot img{left:-16px;top:-2px;width:80px}
#sr-chatbot .sr-chat-pill{min-height:48px;padding:0 14px 0 12px;font-size:14px;letter-spacing:.02em}
}
#sr-chatbot.is-raised .sr-chat-companion{margin-bottom:-26px}
#sr-chatbot.is-raised .sr-chat-bubble{margin-bottom:-6px;padding:3px 8px 4px 19px;font-size:12px}
#sr-chatbot.is-raised .sr-chat-bubble::before{left:7px;width:5px;height:5px;margin-top:-2.5px}
#sr-chatbot.is-raised .sr-chat-bubble.is-rotating{width:calc(12.4em + 27px)}
#sr-chatbot.is-raised .sr-chat-mascot{width:52px;height:60px}
#sr-chatbot.is-raised .sr-chat-mascot img{left:-13px;top:-1px;width:66px}
@media (max-width:360px),(max-height:520px){
#sr-chatbot .sr-chat-mark{width:42px;height:42px;flex-basis:42px}
#sr-chatbot h2{font-size:15px}
#sr-chatbot .sr-chat-header small{font-size:10px;letter-spacing:.04em}
#sr-chatbot .sr-chat-bubble{padding:3px 8px 4px 19px;font-size:12px}
#sr-chatbot .sr-chat-bubble::before{left:7px;width:5px;height:5px;margin-top:-2.5px}
#sr-chatbot .sr-chat-bubble.is-rotating{width:calc(12.4em + 27px)}
#sr-chatbot .sr-chat-mascot{width:56px;height:66px}
#sr-chatbot .sr-chat-mascot img{left:-15px;top:-2px;width:74px}
#sr-chatbot .sr-chat-pill{min-height:48px;padding:0 12px 0 10px;font-size:13px;gap:6px}
#sr-chatbot .sr-chat-pill svg{width:18px;height:18px}
}

/* パネルの開閉: 右下から、光るスキャンラインを先頭にワイプして開き、短く逆再生して閉じる */
#sr-chatbot .sr-chat-panel::after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;opacity:0;background:linear-gradient(180deg,rgba(236,254,255,.95) 0,#67e8f9 1px,rgba(139,92,246,.75) 3px,rgba(34,211,238,.28) 10px,rgba(34,211,238,.08) 46px,transparent 90px);transform:translateY(100%)}
#sr-chatbot .sr-chat-panel.is-opening{animation:sr-chat-wipe-in 540ms cubic-bezier(.22,.8,.3,1) both}
#sr-chatbot .sr-chat-panel.is-opening::after{animation:sr-chat-scan-in 540ms cubic-bezier(.22,.8,.3,1) both}
#sr-chatbot .sr-chat-panel.is-glow{animation:sr-chat-glow 700ms ease-out both}
#sr-chatbot .sr-chat-panel.is-closing{pointer-events:none;animation:sr-chat-wipe-out 250ms cubic-bezier(.5,0,.75,0) both}
/* スクリーンショット用: 開くワイプの中間（スキャンラインが見える位置）で止める。通常の開閉では使わない */
#sr-chatbot .sr-chat-panel.is-wipe-mid{animation:sr-chat-wipe-in 540ms cubic-bezier(.22,.8,.3,1) -200ms both paused!important}
#sr-chatbot .sr-chat-panel.is-wipe-mid::after{animation:sr-chat-scan-in 540ms cubic-bezier(.22,.8,.3,1) -200ms both paused!important}
@keyframes sr-chat-wipe-in{from{clip-path:inset(100% 0 0 35% round 16px);border-color:#7ee7ff}to{clip-path:inset(0 0 0 0 round 16px);border-color:#5b7fa8}}
@keyframes sr-chat-scan-in{0%{opacity:1;transform:translateY(100%)}85%{opacity:1}100%{opacity:0;transform:translateY(0)}}
@keyframes sr-chat-glow{from{border-color:#7ee7ff;box-shadow:0 16px 70px #0009,0 0 34px rgba(34,211,238,.45)}to{border-color:#34415b;box-shadow:0 16px 70px #0009,0 0 25px #8355ff22}}
@keyframes sr-chat-wipe-out{from{clip-path:inset(0 0 0 0 round 16px);opacity:1}to{clip-path:inset(100% 0 0 35% round 16px);opacity:.6}}
@keyframes sr-chat-fade-in{from{opacity:0}to{opacity:1}}
@keyframes sr-chat-fade-out{from{opacity:1}to{opacity:0}}
/* 動きを減らす設定: ワイプ・回転・パルス・掃光・bob はせず、開閉は単純なフェードだけ */
@media(prefers-reduced-motion:reduce){
#sr-chatbot .sr-chat-pill::before{--sr-chat-ang:200deg}
#sr-chatbot .sr-chat-panel.is-opening{animation:sr-chat-fade-in 180ms ease-out both!important}
#sr-chatbot .sr-chat-panel.is-closing{animation:sr-chat-fade-out 160ms ease-in both!important}
}
