.ts-support-launcher{position:fixed;right:14px;bottom:12px;z-index:2147483000;width:140px;height:56px;padding:0;border:0;background:transparent;filter:drop-shadow(0 7px 11px rgba(0,0,0,.22));cursor:pointer;display:grid;place-items:center;transform-origin:82% 80%;animation:ts-support-attention 6s ease-in-out infinite}
.ts-support-launcher img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.ts-support-launcher:hover{animation-play-state:paused;transform:translateY(-2px) scale(1.025);filter:drop-shadow(0 10px 15px rgba(0,0,0,.28))}
@keyframes ts-support-attention{0%,78%,100%{transform:rotate(0) translateX(0)}81%{transform:rotate(-1.8deg) translateX(-1px)}84%{transform:rotate(1.8deg) translateX(1px)}87%{transform:rotate(-1.2deg)}90%{transform:rotate(.8deg)}93%{transform:rotate(0)}}
@media(prefers-reduced-motion:reduce){.ts-support-launcher{animation:none}}
.ts-support-launcher:focus-visible,.ts-support-panel button:focus-visible,.ts-support-panel input:focus-visible,.ts-support-panel a:focus-visible{outline:3px solid #ffd24d;outline-offset:2px}
.ts-support-panel{position:fixed;right:20px;bottom:90px;z-index:2147483000;width:min(460px,calc(100vw - 28px));height:min(720px,calc(100vh - 112px));background:#fff;border:1px solid #dce4e2;border-radius:17px;box-shadow:0 18px 55px rgba(0,0,0,.25);overflow:hidden;color:#16201f;font:14px/1.45 Arial,"Noto Sans JP",sans-serif;display:flex;flex-direction:column}
.ts-support-panel[hidden]{display:none}
.ts-support-head{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;width:100%!important;max-width:none!important;min-height:0!important;height:auto!important;margin:0!important;padding:10px 13px;background:#0c2522;color:#fff;box-sizing:border-box}
.ts-support-head strong{font-size:15px;flex:1}.ts-support-reset{border:0;background:transparent;color:#b9d8d3;font-size:11px;text-decoration:underline;cursor:pointer;margin-right:8px}.ts-support-close{border:0;background:transparent;color:#fff;font-size:25px;line-height:1;cursor:pointer}
.ts-support-body{padding:12px;min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden}
.ts-support-intro{margin:0 0 8px;color:#52605e;font-size:12px}
.ts-support-questions{display:grid;grid-template-columns:1fr 1fr;gap:5px;flex:0 0 auto}
.ts-support-question{border:1px solid #bdd9d5;border-radius:8px;background:#f3fbf9;color:#0b6259;text-align:left;padding:6px 8px;min-height:36px;font-size:11px;line-height:1.25;font-weight:700;cursor:pointer}
.ts-support-question:hover{background:#e4f6f2}
.ts-support-messages{display:flex;flex:1 1 auto;min-height:130px;flex-direction:column;gap:7px;overflow:auto;margin-top:9px;padding:2px 4px 4px 2px;scrollbar-gutter:stable}
.ts-support-message{max-width:88%;border-radius:11px;padding:8px 10px;white-space:pre-line;overflow-wrap:anywhere}
.ts-support-message small{display:block;font-size:10px;font-weight:700;opacity:.65;margin-bottom:2px}.ts-support-message p{margin:0}.ts-support-message.user{align-self:flex-end;background:#128579;color:#fff;border-bottom-right-radius:3px}.ts-support-message.assistant{align-self:flex-start;background:#f0f3f3;color:#1c2524;border-bottom-left-radius:3px}
.ts-support-controls{flex:0 0 auto;border-top:1px solid #e5ecea;padding-top:8px;background:#fff}
.ts-support-api-note{margin:0 0 5px;font-size:11px;color:#687572}.ts-support-form{display:flex;gap:7px}.ts-support-input{min-width:0;flex:1;border:1px solid #cbd5d3;border-radius:8px;padding:9px}.ts-support-send{border:0;border-radius:8px;background:#128579;color:#fff;padding:0 14px;font-weight:700;cursor:pointer}.ts-support-send:disabled{opacity:.55}
.ts-support-links{display:flex;gap:8px;margin-top:8px}.ts-support-links a{flex:1;text-align:center;text-decoration:none;border-radius:8px;padding:8px;color:#fff;font-weight:700}.ts-support-line{background:#06c755}.ts-support-instagram{background:linear-gradient(90deg,#ff9a36,#8a20d5)}
html.ts-support-open .floating-tools,html.ts-support-open .floating-toast{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
@media(max-width:600px){.ts-support-launcher{right:max(8px,env(safe-area-inset-right));bottom:max(54px,calc(54px + env(safe-area-inset-bottom)));width:112px;height:40px}.ts-support-panel{right:10px;bottom:calc(54px + env(safe-area-inset-bottom));width:calc(100vw - 20px);height:auto!important;max-height:min(70dvh,500px)!important;border-radius:13px}.ts-support-head{padding:9px 11px}.ts-support-head strong{font-size:12px}.ts-support-close{font-size:22px}.ts-support-body{padding:8px;max-height:calc(min(70dvh,500px) - 42px)}.ts-support-intro{display:none}.ts-support-questions{gap:4px}.ts-support-question{padding:4px 6px;min-height:31px;font-size:10px}.ts-support-messages{flex:0 1 auto;max-height:210px;min-height:0;margin-top:6px}.ts-support-messages:empty{display:none}.ts-support-message{max-width:91%;padding:6px 8px;font-size:11.5px}.ts-support-controls{padding-top:6px}.ts-support-api-note{margin-bottom:3px;font-size:10px}.ts-support-input{padding:7px;font-size:12px}.ts-support-send{padding:0 11px}.ts-support-links{margin-top:5px}.ts-support-links a{padding:6px;font-size:11px}}
@media(max-width:360px){.ts-support-question{font-size:9.5px}.ts-support-panel{right:7px;width:calc(100vw - 14px)}.ts-support-messages{max-height:170px}}
@media(max-width:600px) and (max-height:620px){.ts-support-panel{max-height:68dvh!important}.ts-support-body{max-height:calc(68dvh - 42px)}.ts-support-questions{display:none}.ts-support-messages{max-height:150px}}
@media(max-width:600px){html.ts-support-keyboard .ts-support-launcher{display:none}html.ts-support-keyboard .ts-support-panel{max-height:min(48dvh,300px)!important;border-radius:11px}html.ts-support-keyboard .ts-support-head{padding:6px 9px}html.ts-support-keyboard .ts-support-head strong{font-size:11px}html.ts-support-keyboard .ts-support-reset{display:none}html.ts-support-keyboard .ts-support-close{font-size:19px}html.ts-support-keyboard .ts-support-body{padding:6px;max-height:calc(min(48dvh,300px) - 32px)}html.ts-support-keyboard .ts-support-questions{display:none}html.ts-support-keyboard .ts-support-messages{max-height:96px;margin-top:0}html.ts-support-keyboard .ts-support-message{padding:5px 7px;font-size:11px}html.ts-support-keyboard .ts-support-controls{padding-top:4px}html.ts-support-keyboard .ts-support-api-note{display:none}html.ts-support-keyboard .ts-support-input{padding:6px}html.ts-support-keyboard .ts-support-links{margin-top:4px}html.ts-support-keyboard .ts-support-links a{padding:5px}}
