/**
 * MADO Public Widget Runtime CSS
 *
 * ROLE:
 * - CUSTOMER SITE / OFFICIAL APP の公開Widgetが生成するUIだけを担当する。
 * - ポータル管理画面（POP編集・分析・問い合わせ設定等）のCSSは含めない。
 * - JavaScript内へCSS文字列を戻さない。
 *
 * SOURCE SPLIT: 2026-07-21
 *
 * PUBLIC CONTENT BLOCK CONTRACT（2026-07-25）:
 * - title_backgroundとbody_blocks.backgroundの公開描画を担当する。
 * - 旧text_body_*はRuntime JSの移行fallbackだけで、新しいCSS経路を増やさない。
 * - 背景幅は保存値を直接使い、上帯・下帯だけ全幅とする。
 * - title_vertical_alignのtop/center/bottomは公開POPでもタイトルだけを独立配置する。
 */

/* ===== Chat / scenario / support UI ===== */
#ai-chat-widget-container {
    position: fixed;
    z-index: var(--ai-chat-zindex, 999999);
    box-sizing: border-box;
    font-family: var(--ai-chat-font-family, "Noto Sans JP", system-ui, -apple-system, "Segoe UI", Roboto, "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif);
    border: 0;
    outline: 0;
    box-shadow: none;
    background: transparent;
    padding: 0;
}
#ai-chat-widget-container,
#ai-chat-widget-container *,
#ai-chat-widget-container *::before,
#ai-chat-widget-container *::after {
    box-sizing: border-box;
}
#ai-chat-widget-container button,
#ai-chat-widget-container input,
#ai-chat-widget-container textarea {
    font: inherit;
}
#ai-chat-widget-container button {
    appearance: none;
    -webkit-appearance: none;
}
#ai-chat-widget-container.ai-chat-widget-position-bottom-right {
    right: var(--ai-chat-offset-x, 24px);
    bottom: var(--ai-chat-offset-y, 24px);
    border: 0;
    outline: 0;
    background: transparent;
    padding: 0;
}
#ai-chat-widget-container.ai-chat-widget-position-bottom-left {
    left: var(--ai-chat-offset-x, 24px);
    bottom: var(--ai-chat-offset-y, 24px);
    border: 0;
    outline: 0;
    background: transparent;
    padding: 0;
}
#ai-chat-widget-container.ai-chat-widget-position-top-right {
    right: var(--ai-chat-offset-x, 24px);
    top: var(--ai-chat-offset-y, 24px);
    border: 0;
    outline: 0;
    background: transparent;
    padding: 0;
}
#ai-chat-widget-container.ai-chat-widget-position-top-left {
    left: var(--ai-chat-offset-x, 24px);
    top: var(--ai-chat-offset-y, 24px);
    border: 0;
    outline: 0;
    background: transparent;
    padding: 0;
}
#ai-chat-widget-container .ai-chat-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--ai-chat-toggle-width, 60px);
    height: var(--ai-chat-toggle-height, 60px);
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: var(--ai-chat-toggle-bg, var(--ai-chat-accent, #2563eb));
    color: var(--ai-chat-toggle-icon, var(--ai-chat-accent-icon, #ffffff));
    outline: 0;
    box-shadow: var(--ai-chat-toggle-shadow, none);
    filter: none;
    isolation: isolate;
    background-clip: padding-box;
    cursor: pointer;
}
#ai-chat-widget-container .ai-chat-toggle > svg,
#ai-chat-widget-container .ai-chat-toggle > img {
    display: block;
    box-shadow: none;
    filter: none;
    text-shadow: none;
}
#ai-chat-widget-container .ai-chat-toggle > svg {
    flex: 0 0 auto;
    width: calc(28px * var(--ai-chat-toggle-icon-scale, 0.8));
    height: calc(28px * var(--ai-chat-toggle-icon-scale, 0.8));
}
#ai-chat-widget-container .ai-chat-toggle__image--fill {
    width: auto;
    height: auto;
    max-width: calc(100% * var(--ai-chat-toggle-icon-scale, 0.8));
    max-height: calc(100% * var(--ai-chat-toggle-icon-scale, 0.8));
    object-fit: contain;
}
#ai-chat-widget-container .ai-chat-toggle__image--inline {
    width: calc(28px * var(--ai-chat-toggle-icon-scale, 0.8));
    height: calc(28px * var(--ai-chat-toggle-icon-scale, 0.8));
    object-fit: contain;
}
#ai-chat-widget-container .ai-chat-toggle.ai-chat-toggle--image {
    background: transparent;
    color: transparent;
    border-radius: 999px;
}
#ai-chat-widget-container .ai-chat-toggle.is-motion-float-y {
    animation: ai-chat-toggle-float-y var(--ai-chat-toggle-motion-duration, 2.4s) ease-in-out infinite;
}
#ai-chat-widget-container .ai-chat-toggle.is-motion-float-x {
    animation: ai-chat-toggle-float-x var(--ai-chat-toggle-motion-duration, 2.4s) ease-in-out infinite;
}
#ai-chat-widget-container .ai-chat-toggle.is-motion-bounce {
    animation: ai-chat-toggle-bounce var(--ai-chat-toggle-motion-duration, 2.4s) ease-in-out infinite;
}
#ai-chat-widget-container .ai-chat-toggle.is-motion-pulse {
    animation: ai-chat-toggle-pulse var(--ai-chat-toggle-motion-duration, 2.4s) ease-in-out infinite;
}
#ai-chat-widget-container .ai-chat-toggle:focus {
    outline: 0;
}
#ai-chat-widget-container .ai-chat-toggle:focus-visible {
    outline: 2px solid var(--ai-chat-toggle-focus, rgba(34, 211, 238, 0.55));
    outline-offset: 3px;
}
#ai-chat-widget-container .ai-chat-window {
    display: none;
    width: min(var(--ai-chat-width, 384px), calc(100vw - 32px));
    height: min(var(--ai-chat-height, 600px), calc(100vh - 96px));
    flex-direction: column;
    overflow: hidden;
    border: 0;
    border-radius: var(--ai-chat-radius, 12px);
    outline: 0;
    background: var(--ai-chat-window-bg, var(--ai-chat-body-bg, #ffffff));
    background-clip: padding-box;
    box-shadow: var(--ai-chat-window-shadow, 0 8px 32px rgba(0, 0, 0, 0.12));
}
#ai-chat-widget-container .ai-chat-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px var(--ai-chat-header-edge-inset, 20px) 16px 20px;
    background: var(--ai-chat-header-bg, #2563eb);
    color: var(--ai-chat-header-text, #ffffff);
}
#ai-chat-widget-container .ai-chat-header-text-group {
    flex: 1 1 auto;
    min-width: 0;
}
#ai-chat-widget-container .ai-chat-header-actions {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 8px;
}
#ai-chat-widget-container .ai-chat-header h3,
#ai-chat-widget-container .ai-chat-header p {
    margin: 0;
}
#ai-chat-widget-container .ai-chat-header h3 {
    font-size: var(--ai-chat-title-font-size, 18px);
    color: var(--ai-chat-title-color, var(--ai-chat-header-text, #ffffff));
}
#ai-chat-widget-container .ai-chat-header p {
    margin-top: 4px;
    font-size: var(--ai-chat-subtitle-font-size, 14px);
    color: var(--ai-chat-subtitle-color, var(--ai-chat-header-text, #ffffff));
}
#ai-chat-widget-container .ai-chat-close {
    color: inherit;
}
#ai-chat-widget-container .ai-chat-clear-history {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--ai-chat-close-color, inherit);
    opacity: 0.82;
    cursor: pointer;
    transition: background 0.2s ease, opacity 0.2s ease;
}
#ai-chat-widget-container .ai-chat-clear-history:hover,
#ai-chat-widget-container .ai-chat-clear-history:focus-visible {
    background: rgba(255, 255, 255, 0.22);
    opacity: 1;
}
#ai-chat-widget-container .ai-chat-clear-history:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}
#ai-chat-widget-container .ai-chat-clear-history svg {
    display: block;
    width: 16px;
    height: 16px;
}
#ai-chat-widget-container .ai-chat-clear-history::after {
    content: attr(data-tooltip);
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 3;
    padding: 4px 7px;
    border-radius: 5px;
    background: rgba(15, 23, 42, 0.92);
    color: #ffffff;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transform: translateY(-2px);
    transition: opacity 0.16s ease, transform 0.16s ease;
}
#ai-chat-widget-container .ai-chat-clear-history:hover::after,
#ai-chat-widget-container .ai-chat-clear-history:focus-visible::after {
    opacity: 1;
    transform: translateY(0);
}
#ai-chat-widget-container .ai-chat-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--ai-chat-close-color, inherit);
    font-size: var(--ai-chat-close-size, 18px);
    cursor: pointer;
}
#ai-chat-widget-container .ai-chat-body,
#ai-chat-widget-container .ai-chat-messages {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: 16px;
    background: var(--ai-chat-body-bg, #f8fafc);
}
#ai-chat-widget-container .ai-chat-message {
    display: flex;
    margin-bottom: 12px;
}
#ai-chat-widget-container .ai-chat-message-user {
    justify-content: flex-end;
}
#ai-chat-widget-container .ai-chat-message-content {
    max-width: 85%;
    padding: 10px 12px;
    border: var(--ai-chat-assistant-message-border-width, 1px) solid var(--ai-chat-assistant-message-border-color, transparent);
    border-radius: 14px;
    background: var(--ai-chat-assistant-message-bg, #ffffff);
    color: var(--ai-chat-assistant-message-text, #1f2937);
    box-shadow: var(--ai-chat-assistant-message-shadow, none);
    font-size: var(--ai-chat-message-font-size, 14px);
    font-weight: var(--ai-chat-message-font-weight, 400);
}
#ai-chat-widget-container .ai-chat-message-user .ai-chat-message-content {
    border-color: var(--ai-chat-user-message-border-color, transparent);
    border-width: var(--ai-chat-user-message-border-width, 1px);
    background: var(--ai-chat-user-message-bg, #2563eb);
    color: var(--ai-chat-user-message-text, #ffffff);
    box-shadow: var(--ai-chat-user-message-shadow, none);
}
#ai-chat-widget-container .ai-chat-message[data-entry-refs-level] .ai-chat-message-content {
    max-width: 100%;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
#ai-chat-widget-container .ai-chat-message-text {
    white-space: pre-wrap;
    word-break: break-word;
}

#ai-chat-widget-container .ai-chat-message-time {
    display: block;
    margin-top: 4px;
    color: rgba(100, 116, 139, 0.88);
    font-size: 11px;
    font-weight: 400;
    line-height: 1.3;
}
#ai-chat-widget-container .ai-chat-message-user .ai-chat-message-time {
    color: rgba(71, 85, 105, 0.82);
}
#ai-chat-widget-container .ai-chat-message[data-entry-chips-level] .ai-chat-message-text {
    margin-bottom: 8px;
}
#ai-chat-widget-container .ai-chat-message[data-entry-chips-level] .ai-chat-entry-chips-in-message {
    margin-top: 8px;
}
#ai-chat-widget-container .ai-chat-terminal-panel,
#ai-chat-widget-container .ai-chat-feedback-container {
    margin-top: 12px;
}
#ai-chat-widget-container .ai-chat-feedback-question {
    margin: 0 0 8px;
    line-height: 1.6;
}
#ai-chat-widget-container .ai-chat-feedback-chips {
    margin: 0 0 12px;
}
#ai-chat-widget-container .ai-chat-feedback-followup:not([hidden]) {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
}
#ai-chat-widget-container .ai-chat-feedback-followup .ai-chat-terminal-panel__lead,
#ai-chat-widget-container .ai-chat-terminal-panel.is-contact-form .ai-chat-terminal-panel__lead {
    flex: 1 0 100%;
    margin: 0 0 4px;
    line-height: 1.65;
}
#ai-chat-widget-container .ai-chat-terminal-link.ai-chat-terminal-button--link,
#ai-chat-widget-container .ai-chat-inline-link {
    text-decoration: none;
}
#ai-chat-widget-container .ai-chat-terminal-link .ai-chat-link-icon,
#ai-chat-widget-container .ai-chat-inline-link .ai-chat-link-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 5px;
    font-size: 0.86em;
    line-height: 1;
}

#ai-chat-widget-container .ai-chat-support-resolution {
    display: grid;
    gap: 8px;
    margin-top: 10px;
}
#ai-chat-widget-container .ai-chat-support-resolution__status,
#ai-chat-widget-container .ai-chat-support-resolution__result {
    min-height: 1.5em;
    color: #475569;
    font-size: 12px;
    line-height: 1.55;
}
#ai-chat-widget-container .ai-chat-support-resolution__status[data-state="error"] {
    color: #b42318;
}
#ai-chat-widget-container .ai-chat-support-resolution button:disabled {
    cursor: wait;
    opacity: 0.65;
}

#ai-chat-widget-container .ai-chat-ref-block,
#ai-chat-widget-container .ai-chat-message-urls {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
#ai-chat-widget-container .ai-chat-ref-block {
    margin-top: 0;
}
#ai-chat-widget-container .ai-chat-message-urls {
    margin-top: 8px;
}
#ai-chat-widget-container .ai-chat-ref-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35em;
    max-width: 100%;
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid var(--ai-chat-ref-link-border, transparent);
    border-radius: 999px;
    background: var(--ai-chat-ref-link-bg, #eef2ff);
    color: var(--ai-chat-ref-link-text, #1f2937);
    font-size: var(--ai-chat-ref-link-font-size, 14px);
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
    vertical-align: baseline;
    white-space: normal;
    word-break: break-word;
    cursor: pointer;
}
#ai-chat-widget-container .ai-chat-ref-link:hover {
    transform: translateY(-1px);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.15);
}
#ai-chat-widget-container .ai-chat-link-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 1em;
    height: 1em;
    font-size: 0.82em;
    line-height: 1;
    color: currentColor;
    opacity: 0.86;
}
#ai-chat-widget-container .ai-chat-input-area {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px;
    background: var(--ai-chat-input-area-bg, #ffffff);
}
#ai-chat-widget-container .ai-chat-input-row {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    width: 100%;
}
#ai-chat-widget-container #ai-chat-input {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 40px;
    max-height: 144px;
    padding: 10px 12px;
    border: 1px solid var(--ai-chat-input-border, transparent);
    border-radius: 8px;
    background: var(--ai-chat-input-bg, #ffffff);
    color: var(--ai-chat-input-text, #111111);
    font: inherit;
    font-size: var(--ai-chat-input-font-size, 14px);
    line-height: 1.5;
    resize: none;
}
#ai-chat-widget-container #ai-chat-send {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: var(--ai-chat-accent, #2563eb);
    color: var(--ai-chat-accent-icon, #ffffff);
    cursor: pointer;
}
#ai-chat-widget-container .ai-chat-input-row[data-mado-input-enabled="0"] #ai-chat-input,
#ai-chat-widget-container #ai-chat-input:disabled {
    cursor: not-allowed;
    opacity: 0.68;
}
#ai-chat-widget-container .ai-chat-input-row[data-mado-input-enabled="0"] #ai-chat-send,
#ai-chat-widget-container #ai-chat-send:disabled {
    cursor: not-allowed;
    opacity: 0.5;
}
#ai-chat-widget-container .ai-chat-close,
#ai-chat-widget-container #ai-chat-send,
#ai-chat-widget-container .ai-chat-terminal-button,
#ai-chat-widget-container .ai-chat-entry-chip {
    appearance: none;
    -webkit-appearance: none;
    outline: 0;
}
#ai-chat-widget-container .ai-chat-close:focus,
#ai-chat-widget-container #ai-chat-send:focus,
#ai-chat-widget-container .ai-chat-terminal-button:focus,
#ai-chat-widget-container .ai-chat-entry-chip:focus {
    outline: 0;
}
#ai-chat-widget-container .ai-chat-close:focus-visible,
#ai-chat-widget-container #ai-chat-send:focus-visible,
#ai-chat-widget-container .ai-chat-terminal-button:focus-visible,
#ai-chat-widget-container .ai-chat-entry-chip:focus-visible {
    outline: 2px solid var(--ai-chat-toggle-focus, rgba(34, 211, 238, 0.55));
    outline-offset: 2px;
}
#ai-chat-widget-container .ai-chat-entry-chips,
#ai-chat-widget-container .ai-chat-entry-chips-in-message,
#ai-chat-widget-container .ai-chat-feedback-chips,
#ai-chat-widget-container .ai-chat-terminal-panel__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
#ai-chat-widget-container .ai-chat-entry-chip,
#ai-chat-widget-container .ai-chat-terminal-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 12px;
    border: var(--ai-chat-entry-chip-border-width, 1px) solid var(--ai-chat-entry-chip-border-color, #cbd5e1);
    border-radius: 999px;
    background: var(--ai-chat-entry-chip-bg, #ffffff);
    color: var(--ai-chat-entry-chip-text, #0f172a);
    font-size: var(--ai-chat-chip-font-size, 14px);
    font-weight: var(--ai-chat-chip-font-weight, 400);
    cursor: pointer;
}
#ai-chat-widget-container .ai-chat-entry-chip.is-active,
#ai-chat-widget-container .ai-chat-entry-chip.is-selected,
#ai-chat-widget-container .ai-chat-entry-chip[aria-pressed="true"],
#ai-chat-widget-container .ai-chat-terminal-button.is-selected,
#ai-chat-widget-container .ai-chat-terminal-button[aria-pressed="true"],
#ai-chat-widget-container .ai-chat-feedback-yes.is-selected,
#ai-chat-widget-container .ai-chat-feedback-no.is-selected,
#ai-chat-widget-container .ai-chat-feedback-yes[aria-pressed="true"],
#ai-chat-widget-container .ai-chat-feedback-no[aria-pressed="true"] {
    background: var(--ai-chat-entry-chip-active-bg, var(--ai-chat-accent, #2563eb));
    color: var(--ai-chat-entry-chip-active-text, #ffffff);
    border-width: var(--ai-chat-entry-chip-active-border-width, 1px);
    border-style: solid;
    border-color: var(--ai-chat-entry-chip-active-border-color, var(--ai-chat-entry-chip-active-bg, var(--ai-chat-accent, #2563eb)));
}
#ai-chat-widget-container .ai-chat-footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 8px 16px;
    background: var(--ai-chat-input-area-bg, #ffffff);
    text-align: center;
}
#ai-chat-widget-container .ai-chat-footer small,
#ai-chat-widget-container .ai-chat-powered-by {
    font-size: 11px;
    line-height: 1.4;
}

/* Persistent AI / staff route selector (mode: ai_or_staff_choice).
 * This control belongs above the input, not inside scrollable message history.
 */
#ai-chat-widget-container .ai-chat-route-switch {
    display: grid;
    gap: 7px;
    margin: 0 0 10px;
    padding: 9px 10px;
    border: 1px solid rgba(148, 163, 184, 0.34);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.62);
    backdrop-filter: blur(8px);
}
#ai-chat-widget-container .ai-chat-route-switch__label {
    color: var(--ai-chat-footer-note-color, #475569);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
}
#ai-chat-widget-container .ai-chat-route-switch__choices {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}
#ai-chat-widget-container .ai-chat-route-switch__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 34px;
    padding: 7px 9px;
    border: 1px solid var(--ai-chat-entry-chip-border-color, rgba(15, 23, 42, 0.12));
    border-radius: 999px;
    background: var(--ai-chat-entry-chip-bg, #ffffff);
    color: var(--ai-chat-entry-chip-text, #1f2937);
    font-size: var(--ai-chat-chip-font-size, 12px);
    font-weight: var(--ai-chat-chip-font-weight, 600);
    line-height: 1.25;
    text-align: center;
    white-space: normal;
    cursor: pointer;
}
#ai-chat-widget-container .ai-chat-route-switch__button:hover,
#ai-chat-widget-container .ai-chat-route-switch__button:focus-visible,
#ai-chat-widget-container .ai-chat-route-switch__button.is-selected {
    border-color: var(--ai-chat-entry-chip-active-border-color, var(--ai-chat-accent, #2563eb));
    background: var(--ai-chat-entry-chip-active-bg, var(--ai-chat-accent, #2563eb));
    color: var(--ai-chat-entry-chip-active-text, #ffffff);
}
#ai-chat-widget-container .ai-chat-route-switch__button:focus-visible {
    outline: 2px solid var(--ai-chat-accent, #2563eb);
    outline-offset: 2px;
}
#ai-chat-widget-container .ai-chat-route-switch__button:disabled {
    cursor: wait;
    opacity: 0.62;
}

#ai-chat-widget-container .ai-chat-unresolved-options {
    display: grid;
    gap: 8px;
    margin-top: 10px;
}
#ai-chat-widget-container .ai-chat-unresolved-options__choice {
    width: 100%;
    justify-content: flex-start;
    text-align: left;
    white-space: normal;
}
#ai-chat-widget-container .ai-chat-initial-route-choice {
    display: grid;
    gap: 8px;
    margin-top: 10px;
}
#ai-chat-widget-container .ai-chat-initial-route-choice__button {
    width: 100%;
    justify-content: flex-start;
    text-align: left;
    white-space: normal;
}
#ai-chat-widget-container .ai-chat-initial-route-panel {
    margin-top: 10px;
}
#ai-chat-widget-container .ai-chat-ai-consent-check {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    width: 100%;
    padding: 9px 10px;
    border: 1px solid rgba(148, 163, 184, 0.34);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.68);
    color: var(--ai-chat-assistant-message-text, #1f2937);
    font-size: var(--ai-chat-chip-font-size, 12px);
    font-weight: 600;
    line-height: 1.5;
    cursor: pointer;
}
#ai-chat-widget-container .ai-chat-ai-consent-check__input {
    flex: 0 0 auto;
    width: 17px;
    height: 17px;
    margin: 1px 0 0;
    accent-color: var(--ai-chat-accent, #2563eb);
    cursor: pointer;
}
#ai-chat-widget-container .ai-chat-ai-consent-check__label {
    min-width: 0;
}
#ai-chat-widget-container .ai-chat-ai-consent-check__input:focus-visible {
    outline: 2px solid var(--ai-chat-accent, #2563eb);
    outline-offset: 2px;
}
#ai-chat-widget-container .ai-chat-initial-route-panel.is-confirmed .ai-chat-ai-consent-check {
    cursor: default;
    opacity: 0.82;
}
#ai-chat-widget-container .ai-chat-initial-route-panel.is-confirmed .ai-chat-ai-consent-check__input {
    cursor: default;
}
#ai-chat-widget-container .ai-chat-unresolved-feedback-form {
    display: grid;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #dbe6f2;
}
#ai-chat-widget-container .ai-chat-unresolved-feedback-form[hidden] {
    display: none;
}
#ai-chat-widget-container .ai-chat-unresolved-feedback-form__title {
    color: #0f172a;
    font-size: 13px;
    line-height: 1.5;
}
#ai-chat-widget-container .ai-chat-unresolved-feedback-form__description {
    margin: 0;
    color: #475569;
    font-size: 12px;
    line-height: 1.65;
}
#ai-chat-widget-container .ai-chat-unresolved-feedback-form__textarea {
    width: 100%;
    min-height: 86px;
    padding: 9px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    background: #ffffff;
    color: #0f172a;
    font: inherit;
    font-size: 13px;
    line-height: 1.55;
    resize: vertical;
}
#ai-chat-widget-container .ai-chat-unresolved-feedback-form__textarea:focus {
    border-color: var(--ai-chat-accent, #2563eb);
    outline: 2px solid rgba(37, 99, 235, 0.14);
    outline-offset: 0;
}
#ai-chat-widget-container .ai-chat-unresolved-feedback-form__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
#ai-chat-widget-container .ai-chat-unresolved-feedback-form__status,
#ai-chat-widget-container .ai-chat-unresolved-options__result {
    min-height: 1.5em;
    margin: 0;
    color: #475569;
    font-size: 12px;
    line-height: 1.5;
}
#ai-chat-widget-container .ai-chat-unresolved-feedback-form__status[data-state="success"],
#ai-chat-widget-container .ai-chat-unresolved-options__result[data-state="ended"] {
    color: #15803d;
}
#ai-chat-widget-container .ai-chat-unresolved-feedback-form__status[data-state="error"],
#ai-chat-widget-container .ai-chat-unresolved-options__result[data-state="error"] {
    color: #b42318;
}

@keyframes ai-chat-toggle-float-y {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(calc(-1 * var(--ai-chat-toggle-motion-distance, 0px))); }
}
@keyframes ai-chat-toggle-float-x {
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(calc(-1 * var(--ai-chat-toggle-motion-distance, 0px))); }
}
@keyframes ai-chat-toggle-bounce {
    0%, 100% { transform: translateY(0); }
    35% { transform: translateY(calc(-1 * var(--ai-chat-toggle-motion-distance, 0px))); }
    55% { transform: translateY(calc(var(--ai-chat-toggle-motion-distance, 0px) * 0.22)); }
    70% { transform: translateY(calc(-1 * var(--ai-chat-toggle-motion-distance, 0px) * 0.18)); }
}
@keyframes ai-chat-toggle-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(calc(1 + (var(--ai-chat-toggle-motion-distance, 0px) / 60))); }
}

/* ===== Public POP / survey UI ===== */
.mado-public-pop-layer{position:fixed;inset:0;z-index:2147482600;pointer-events:none;font-family:"Noto Sans JP","Noto Sans",system-ui,-apple-system,"Segoe UI",sans-serif}
/*
 * PUBLIC POP SIZE CONTRACT / 公開POPサイズ契約（2026-07-24）
 * width/height set by the editor are the outer dimensions. Background images
 * are cover-painted inside the box and must not change its size.
 *
 * PUBLIC SURVEY LAYOUT CONTRACT / 公開アンケート表示契約（2026-07-24）
 * A valid survey displays Q1 immediately inside the saved outer dimensions.
 * The JS runtime switches the canonical content state to --survey. Survey
 * screens must not inherit the default content scroller or host-page button
 * styling. Do not add a second survey layout or a trailing override block.
 */
.mado-public-pop{--mado-public-pop-bg-image:none;--mado-public-pop-bg-image-opacity:0;position:absolute;display:grid;gap:8px;box-sizing:border-box;max-width:min(92vw,var(--mado-public-pop-width,320px));width:var(--mado-public-pop-width,320px);height:var(--mado-public-pop-height,64px);min-height:0;max-height:min(92vh,var(--mado-public-pop-height,64px));padding:14px;border-radius:var(--mado-public-pop-radius,16px);background:var(--mado-public-pop-bg,#ffffff);color:var(--mado-public-pop-text,#111827);box-shadow:0 var(--mado-public-pop-shadow,14px) calc(var(--mado-public-pop-shadow,14px) * 2) rgba(15,23,42,.18);pointer-events:auto;overflow:hidden}
.mado-public-pop::before{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;background:var(--mado-public-pop-bg-image) center/cover no-repeat;opacity:var(--mado-public-pop-bg-image-opacity,0);pointer-events:none}
.mado-public-pop>*{position:relative;z-index:1}
.mado-public-pop__content{width:100%;height:100%;min-width:0;min-height:0}
.mado-public-pop__content--default{position:relative;display:grid;align-content:center;gap:8px;overflow:auto}
.mado-public-pop__content--survey{display:flex;align-items:stretch;justify-content:center;overflow:hidden}
.mado-public-pop__media{display:block;width:100%;max-height:100%;height:auto;border-radius:calc(var(--mado-public-pop-radius,16px) * .6);object-fit:cover}
.mado-public-pop__text-block{position:relative;display:grid;width:100%;min-width:0;isolation:isolate}
.mado-public-pop__text-block.has-text-background{min-height:min(var(--mado-public-pop-content-bg-height,50px),100%);padding:6px 8px}
.mado-public-pop>.mado-public-pop__text-background-layer{position:absolute;z-index:0;display:block;width:var(--mado-public-pop-content-bg-width,220px);height:var(--mado-public-pop-content-bg-height,50px);border-radius:var(--mado-public-pop-content-bg-radius,8px);background:var(--mado-public-pop-content-bg,rgba(255,255,255,.92));pointer-events:none}
.mado-public-pop>.mado-public-pop__text-background-layer.is-background-top-band{top:var(--mado-public-pop-content-bg-offset-y,0px);right:var(--mado-public-pop-content-bg-offset-x,0px)}
.mado-public-pop>.mado-public-pop__text-background-layer.is-background-bottom-band{right:var(--mado-public-pop-content-bg-offset-x,0px);bottom:var(--mado-public-pop-content-bg-offset-y,0px)}
.mado-public-pop>.mado-public-pop__text-background-layer.is-background-left-band{top:var(--mado-public-pop-content-bg-offset-y,0px);left:var(--mado-public-pop-content-bg-offset-x,0px)}
.mado-public-pop>.mado-public-pop__text-background-layer.is-background-right-band{top:var(--mado-public-pop-content-bg-offset-y,0px);right:var(--mado-public-pop-content-bg-offset-x,0px)}
.mado-public-pop>.mado-public-pop__text-background-layer.is-background-center-horizontal,.mado-public-pop>.mado-public-pop__text-background-layer.is-background-center-vertical{top:calc(50% + var(--mado-public-pop-content-bg-offset-y,0px));left:calc(50% + var(--mado-public-pop-content-bg-offset-x,0px));transform:translate(-50%,-50%)}
.mado-public-pop__text-block--title.is-title-vertical-top,.mado-public-pop__text-block--title.is-title-vertical-center,.mado-public-pop__text-block--title.is-title-vertical-bottom{position:absolute;right:0;left:0;z-index:2;width:100%;max-width:100%}
.mado-public-pop__text-block--title.is-title-vertical-top{top:var(--mado-public-pop-title-anchor-offset-y,0px)}
.mado-public-pop__text-block--title.is-title-vertical-center{top:calc(50% + var(--mado-public-pop-title-anchor-offset-y,0px));transform:translateY(-50%)}
.mado-public-pop__text-block--title.is-title-vertical-bottom{bottom:var(--mado-public-pop-title-anchor-offset-y,0px)}
.mado-public-pop__title{margin:0;color:var(--mado-public-pop-title-text,var(--mado-public-pop-text,currentColor));font-size:var(--mado-public-pop-title-size,15px);font-weight:var(--mado-public-pop-title-weight,800);line-height:1.35;text-align:var(--mado-public-pop-title-align,left);font-family:var(--mado-public-pop-title-font-family,'Noto Sans JP','Noto Sans',sans-serif);transform:translate(var(--mado-public-pop-title-offset-x,0px),var(--mado-public-pop-title-offset-y,0px)) rotate(var(--mado-public-pop-title-rotation,0deg));transform-origin:left top}
.mado-public-pop__body{width:100%;margin:0;color:var(--mado-public-pop-body-text,var(--mado-public-pop-text,currentColor));font-size:var(--mado-public-pop-body-size,13px);font-weight:var(--mado-public-pop-body-weight,500);line-height:1.55;text-align:var(--mado-public-pop-body-align,left);white-space:pre-wrap;font-family:var(--mado-public-pop-body-font-family,'Noto Sans JP','Noto Sans',sans-serif);transform:translate(var(--mado-public-pop-body-offset-x,0px),var(--mado-public-pop-body-offset-y,0px)) rotate(var(--mado-public-pop-body-rotation,0deg));transform-origin:left top}
.mado-public-pop__body--block{min-width:0}
.mado-public-pop__button{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;min-height:34px;padding:8px 13px;border:0;border-radius:999px;background:#0f9f7a;color:#fff;font-size:13px;font-weight:700;text-decoration:none;cursor:pointer}
.mado-public-pop__close{position:absolute;top:6px;right:6px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin:0;padding:0;border:0;border-radius:999px;background:rgba(15,23,42,.08);color:currentColor;font:inherit;font-size:18px;line-height:1;cursor:pointer;appearance:none}
.mado-public-pop__survey{display:flex;flex:1 1 auto;flex-direction:column;justify-content:center;width:100%;min-width:0;min-height:0;gap:6px;overflow:hidden}
.mado-public-pop__survey-meta,.mado-public-pop__survey-note{margin:0;padding-right:24px;color:currentColor;font-size:11px;line-height:1.3;opacity:.78}
.mado-public-pop__survey-note{white-space:pre-line}
.mado-public-pop__survey-question,.mado-public-pop__survey-final{margin:0;color:currentColor;font-size:14px;line-height:1.4;font-weight:700;overflow-wrap:anywhere}
.mado-public-pop__survey-options,.mado-public-pop__survey-actions{display:grid;grid-template-columns:repeat(var(--mado-public-pop-survey-columns,2),minmax(0,1fr));gap:6px;min-width:0}
.mado-public-pop__survey-actions{--mado-public-pop-survey-columns:2}
.mado-public-pop__survey-action:only-child{grid-column:1/-1}
.mado-public-pop .mado-public-pop__survey-option,.mado-public-pop .mado-public-pop__survey-action{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;min-width:0;max-width:none;min-height:32px;margin:0;padding:6px 9px;border:1px solid rgba(15,23,42,.16);border-radius:10px;background:rgba(255,255,255,.96);color:#111827;font:inherit;font-size:12.5px;line-height:1.25;font-weight:700;text-align:center;text-decoration:none;text-transform:none;overflow-wrap:anywhere;box-shadow:none;opacity:1;cursor:pointer;pointer-events:auto;appearance:none}
.mado-public-pop__survey-options[data-density="compact"]{gap:4px}
.mado-public-pop .mado-public-pop__survey-options[data-density="compact"] .mado-public-pop__survey-option{min-height:27px;padding:4px 5px;font-size:11px;line-height:1.15}
.mado-public-pop .mado-public-pop__survey-option:hover,.mado-public-pop .mado-public-pop__survey-action:hover{background:#f8fafc}
.mado-public-pop .mado-public-pop__survey-option:focus-visible,.mado-public-pop .mado-public-pop__survey-action:focus-visible{outline:2px solid rgba(255,255,255,.95);outline-offset:2px}
.mado-public-pop .mado-public-pop__survey-option:disabled{opacity:.62;cursor:default}
        

/* Public POP URL action */
.mado-public-pop.is-clickable{cursor:pointer}
.mado-public-pop.is-clickable:focus-visible{outline:3px solid rgba(37,99,235,.38);outline-offset:3px}
