/* =========================================
   角色扮演回复格式 UI 美化 (内嵌于平台自带CSS或使用<style>包裹)
   ========================================= */

/* 消除全局外边距干扰，确保上下文隔断独立 */
.urban-panel {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
}

/* 基础对话框排版：独立成块、自动适应宽度、平滑过渡 */
span.aus, span.aes {
    display: block;
    margin: 12px 0;
    padding: 10px 16px;
    border-radius: 8px;
    font-size: 15px;
    line-height: 1.6;
    position: relative;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    width: fit-content;
    max-width: 85%;
    letter-spacing: 0.5px;
    word-break: break-word;
}

/* 玩家对话 (aus) - 冷静/掌控/深邃蓝调 */
span.aus {
    color: #1e3799;
    background: linear-gradient(135deg, rgba(74, 105, 189, 0.08) 0%, rgba(74, 105, 189, 0.02) 100%);
    border-left: 4px solid #4a69bd;
    margin-right: auto;
    box-shadow: 2px 4px 12px rgba(74, 105, 189, 0.06);
    border-bottom-right-radius: 18px;
    border-top-right-radius: 18px;
}

/* 玩家对话 Hover交互：压迫感推进 */
span.aus:hover {
    background: linear-gradient(135deg, rgba(74, 105, 189, 0.12) 0%, rgba(74, 105, 189, 0.05) 100%);
    transform: translateX(4px);
    box-shadow: 4px 6px 16px rgba(74, 105, 189, 0.1);
}

/* 林静对话 (aes) - 娇弱/病态/泣血红调 */
span.aes {
    color: #b71540;
    background: linear-gradient(135deg, rgba(229, 80, 57, 0.02) 0%, rgba(229, 80, 57, 0.09) 100%);
    border-right: 4px solid #e55039;
    margin-left: auto;
    text-align: right;
    box-shadow: -2px 4px 12px rgba(229, 80, 57, 0.06);
    border-bottom-left-radius: 18px;
    border-top-left-radius: 18px;
}

/* 林静对话 Hover交互：瑟缩与退让 */
span.aes:hover {
    background: linear-gradient(135deg, rgba(229, 80, 57, 0.05) 0%, rgba(229, 80, 57, 0.15) 100%);
    transform: translateX(-4px);
    box-shadow: -4px 6px 16px rgba(229, 80, 57, 0.1);
}

/* 对话专属引号装饰：注入轻小说视觉感 */
span.aus::before {
    content: '「';
    color: #4a69bd;
    opacity: 0.8;
    font-weight: 900;
    margin-right: 4px;
    font-size: 1.1em;
}
span.aus::after {
    content: '」';
    color: #4a69bd;
    opacity: 0.8;
    font-weight: 900;
    margin-left: 4px;
    font-size: 1.1em;
}

span.aes::before {
    content: '「';
    color: #e55039;
    opacity: 0.8;
    font-weight: 900;
    margin-right: 4px;
    font-size: 1.1em;
}
span.aes::after {
    content: '」';
    color: #e55039;
    opacity: 0.8;
    font-weight: 900;
    margin-left: 4px;
    font-size: 1.1em;
}

/* 正文环境/旁白/感官渲染文字（未包裹span的部分） */
.urban-panel p {
    color: #2d3436;
    font-size: 15px;
    line-height: 1.7;
    margin: 8px 0;
    text-align: justify;
    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
}