/* ═════════════════════════════════════════════════════════
   ☣️ エヴァンゲリオン - Evangelion Terminal Style (v.MAGI rev.7 Rilichat适配版)
   ═════════════════════════════════════════════════════════ */

/* --- 字体设置 & 核心动画 --- */
@import url('https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap');

/* MAGI: Casper - Glitch/Jitter协议已激活。 */
@keyframes glitch {
    0%, 100% { text-shadow: 1.5px 0 0 var(--eva-glitch-magenta), -1.5px 0 0 var(--eva-purple-highlight); transform: translate(0, 0); }
    10% { transform: translate(-1px, 1px); }
    20% { text-shadow: none; transform: translate(1px, -1px); }
    30% { text-shadow: 1.5px 0 0 var(--eva-glitch-magenta), -1.5px 0 0 var(--eva-purple-highlight); transform: translate(-1px, 0); }
    40% { transform: translate(1px, 1px); }
    50% { text-shadow: none; transform: translate(0, -1px); }
    60% { text-shadow: 1.5px 0 0 var(--eva-glitch-magenta), -1.5px 0 0 var(--eva-purple-highlight); transform: translate(0, 0); }
    70% { transform: translate(1px, -1px); }
    80% { transform: translate(-1px, 1px); }
    90% { text-shadow: none; transform: translate(0, 0); }
}

@keyframes alertFlicker {
    0%, 100% { text-shadow: 0 0 5px var(--eva-red-alert), 0 0 1px #fff; }
    50% { text-shadow: 0 0 2px var(--eva-red-alert); }
}

.rili-markdown-renderer,
.rili-markdown-renderer * {
    font-family: 'Share Tech Mono', 'Courier New', monospace !important;
    letter-spacing: 1.5px !important;
    font-weight: 400 !important;
    box-sizing: border-box !important;
}

/* --- EVA复古色彩系统 --- */
:root {
    --eva-bg: #040002;
    --eva-text: #FFF3FF;
    --eva-purple-deep: #4E1194;
    --eva-purple-highlight: #D28CF7;
    --eva-summary-text: #D394FD;
    --eva-accent-pink: #FF80FF;
    --eva-story-branch-accent: #F12FF3;
    --eva-green-glow: #80C41C;
    --eva-red-alert: #E50011;
    --eva-border-color: #6317B8;
    --eva-panel-bg: #290E49;
    --eva-glitch-magenta: #E040FB;
    --eva-lcl-orange: #F39800;
    --eva-grid-color: rgba(211, 148, 253, 0.1);
}

/* --- 蒸汽波网格效果 --- */
.vaporwave-grid {
    background-image: 
        repeating-linear-gradient(to right, var(--eva-grid-color) 0, var(--eva-grid-color) 1px, transparent 1px, transparent 20px),
        repeating-linear-gradient(to bottom, var(--eva-grid-color) 0, var(--eva-grid-color) 1px, transparent 1px, transparent 20px) !important;
}

/* --- 对话气泡 (模拟终端屏幕) --- */
.is-user > div,
.is-assistant > div {
    position: relative !important;
    background: var(--eva-bg) !important;
    border: 1px solid var(--eva-border-color) !important;
    box-shadow: 
        inset 0 0 20px rgba(99, 23, 184, 0.4), 
        0 0 15px rgba(99, 23, 184, 0.3) !important;
    border-radius: 0 !important;
    padding: 28px 32px !important;
    overflow: hidden !important;
    margin-top: 1.5em !important;
}

/* NERV水印层 */
.is-user > div::before,
.is-assistant > div::before {
    content: '' !important;
    position: absolute !important;
    right: 15px;
    bottom: 15px;
    width: 110px !important;
    height: 110px !important;
    background-image: url('https://pic1.imgdb.cn/item/6900e0d43203f7be00aca8e7.png') !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    pointer-events: none !important;
    z-index: 1 !important;
    opacity: 0.45 !important;
    display: block !important;
}

.is-user > div > *,
.is-assistant > div > * {
    position: relative;
    z-index: 3 !important;
    color: var(--eva-text) !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
}

/* 正文字体放大 */
.rili-markdown-renderer p,
.rili-markdown-renderer td,
.rili-markdown-renderer li {
    font-size: 1.05em !important;
    line-height: 1.8 !important;
}

.rili-markdown-renderer details > div,
.rili-markdown-renderer details > div p,
.rili-markdown-renderer details > div li,
.rili-markdown-renderer details > div span {
    font-size: 1.15em !important;
    line-height: 1.9 !important;
}

/* --- 加载动画 --- */
.is-assistant > div > div.space-y-3 > div.flex.items-center.justify-center.size-6.opacity-50 {
    width: 100% !important;
    height: auto !important;
    max-width: 400px !important;
    aspect-ratio: 68 / 60 !important;
    padding: 0 !important;
    background: var(--eva-bg) !important;
    border: 1px solid var(--eva-border-color) !important;
    box-shadow: 0 0 10px rgba(99, 23, 184, 0.4) !important;
    position: relative !important;
    overflow: hidden !important;
    margin: 1em auto !important;
    opacity: 1 !important;
}

.is-assistant > div > div.space-y-3 > div.flex.items-center.justify-center.size-6.opacity-50::before {
    content: '' !important;
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    background-image: url('https://pic1.imgdb.cn/item/6900ade83203f7be00ac71d3.gif') !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    z-index: 5 !important;
}

.is-assistant > div > div.space-y-3 > div.flex.items-center.justify-center.size-6.opacity-50 > div.flex.gap-2 {
    display: none !important;
}

/* --- 标题样式 (系统指令) --- */
.rili-markdown-renderer h1,
.rili-markdown-renderer h2,
.rili-markdown-renderer h3 {
    font-size: 1.6em !important;
    letter-spacing: 4px !important;
    color: var(--eva-purple-highlight) !important;
    border-bottom: 1px solid var(--eva-border-color) !important;
    text-shadow: 0 0 8px var(--eva-purple-highlight), 0 0 15px rgba(210, 140, 247, 0.4) !important;
    padding-bottom: 8px;
    margin-bottom: 15px !important;
    position: relative;
    font-weight: 700 !important;
}

.rili-markdown-renderer h1::after,
.rili-markdown-renderer h2::after,
.rili-markdown-renderer h3::after {
    content: '▋';
    position: absolute;
    bottom: 4px;
    right: 0;
    font-size: 1.1em;
    color: var(--eva-accent-pink);
    animation: alertFlicker 1.5s infinite;
    background: none !important;
    box-shadow: none !important;
    width: auto;
    height: auto;
}

/* --- 折叠栏样式 (数据面板) --- */
.rili-markdown-renderer details {
    background: var(--eva-panel-bg) !important;
    border: 1px solid var(--eva-border-color) !important;
    outline: none !important;
    margin: 8px 0 !important;
    padding: 0 !important;
    position: relative !important;
    overflow: hidden !important;
    transition: all 0.25s ease !important;
    box-shadow: inset 0 0 15px rgba(4, 0, 2, 0.7);
}

.rili-markdown-renderer details.vaporwave-grid {
    background-image: 
        repeating-linear-gradient(to right, var(--eva-grid-color) 0, var(--eva-grid-color) 1px, transparent 1px, transparent 20px),
        repeating-linear-gradient(to bottom, var(--eva-grid-color) 0, var(--eva-grid-color) 1px, transparent 1px, transparent 20px) !important;
    background-color: var(--eva-panel-bg) !important;
}

.rili-markdown-renderer details:hover {
    border-color: var(--eva-purple-highlight) !important;
    box-shadow: 0 0 10px rgba(210, 140, 247, 0.3), inset 0 0 15px rgba(4, 0, 2, 0.7);
}

/* --- 折叠栏标题 (交互指令) --- */
.rili-markdown-renderer summary {
    font-size: 1.1em !important;
    letter-spacing: 2px !important;
    padding: 10px 15px 10px 35px !important;
    cursor: pointer !important;
    font-weight: 700 !important;
    outline: none !important;
    list-style: none;
    position: relative;
    transition: all 0.3s ease;
    background: transparent !important;
    color: var(--eva-summary-text) !important;
    text-shadow: none !important;
    box-shadow: none !important;
    border-bottom: 1px solid var(--eva-border-color);
    display: flex !important;
    align-items: center !important;
}

.rili-markdown-renderer details[open] > summary {
    border-bottom-color: var(--eva-purple-highlight);
}

.rili-markdown-renderer summary:hover {
    background: rgba(210, 140, 247, 0.1) !important;
    color: var(--eva-purple-highlight) !important;
    text-shadow: 0 0 5px var(--eva-purple-highlight) !important;
    animation: glitch 0.5s linear infinite;
}

.rili-markdown-renderer summary::-webkit-details-marker {
    display: none;
}

.rili-markdown-renderer summary::before {
    content: '>';
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.2em !important;
    color: var(--eva-green-glow);
    transition: all 0.25s ease;
    text-shadow: 0 0 5px var(--eva-green-glow);
}

.rili-markdown-renderer details[open] > summary::before {
    transform: translateY(-50%) rotate(90deg);
}

/* --- 折叠栏内容 --- */
.rili-markdown-renderer details > div {
    padding: 14px 20px !important;
    background: rgba(4, 0, 2, 0.5) !important;
    border: none !important;
    box-shadow: inset 0 0 10px rgba(0,0,0,0.5);
    margin-top: 0 !important;
    color: var(--eva-text) !important;
    position: relative;
    animation: fadeInContent 0.3s ease-out;
}

@keyframes fadeInContent {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

/* 文本换行修复 */
.rili-markdown-renderer details,
.rili-markdown-renderer details * {
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
}

.rili-markdown-renderer details > div *,
.rili-markdown-renderer details > div p,
.rili-markdown-renderer details > div span,
.rili-markdown-renderer details > div li,
.rili-markdown-renderer details > div strong,
.rili-markdown-renderer details > div em,
.rili-markdown-renderer summary * {
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.rili-markdown-renderer details code,
.rili-markdown-renderer details > div code {
    white-space: pre-wrap !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-all !important;
    display: inline !important;
    max-width: 100% !important;
}

/* --- 信息胶囊 (Info Card) --- */
.rili-markdown-renderer info {
    display: inline-block !important;
    padding: 6px 18px !important;
    margin: 4px 2px !important;
    border-radius: 9999px !important;
    background: var(--eva-purple-deep) !important;
    color: var(--eva-text) !important;
    border: 1px solid var(--eva-purple-highlight) !important;
    font-weight: 700 !important;
    text-shadow: 0 0 5px var(--eva-purple-highlight) !important;
    box-shadow: 0 0 8px rgba(210, 140, 247, 0.4), inset 0 0 10px rgba(0,0,0,0.5) !important;
    transition: all 0.25s ease !important;
}

.rili-markdown-renderer info:hover {
    transform: translateY(-2px) scale(1.02) !important;
    background: var(--eva-purple-highlight) !important;
    color: var(--eva-bg) !important;
    border-color: var(--eva-accent-pink) !important;
    box-shadow: 0 0 15px var(--eva-accent-pink), inset 0 0 10px rgba(0,0,0,0.5) !important;
}

/* --- 强调文字 (LCL高亮) --- */
.rili-markdown-renderer strong {
    color: var(--eva-lcl-orange) !important;
    font-weight: 700 !important;
    background: none;
    padding: 0;
    border: none;
    display: inline;
    text-shadow: 0 0 5px var(--eva-lcl-orange);
}

/* --- 链接样式 --- */
.rili-markdown-renderer a {
    color: var(--eva-purple-highlight) !important;
    text-decoration: underline !important;
    text-decoration-style: dotted !important;
    border-bottom: none;
    transition: all 0.25s ease;
    font-weight: 700;
}

.rili-markdown-renderer a:hover {
    background: none;
    color: var(--eva-accent-pink) !important;
    text-decoration: underline !important;
    text-decoration-style: solid !important;
    box-shadow: none;
    text-shadow: 0 0 8px var(--eva-accent-pink);
    transform: none;
}

/* --- 代码块 & 引用块 & 表格 (应用蒸汽波网格) --- */
.rili-markdown-renderer pre,
.rili-markdown-renderer blockquote,
.rili-markdown-renderer table {
    background-image: 
        repeating-linear-gradient(to right, var(--eva-grid-color) 0, var(--eva-grid-color) 1px, transparent 1px, transparent 20px),
        repeating-linear-gradient(to bottom, var(--eva-grid-color) 0, var(--eva-grid-color) 1px, transparent 1px, transparent 20px) !important;
}

.rili-markdown-renderer code {
    background: rgba(41, 14, 73, 0.5) !important;
    color: var(--eva-text) !important;
    border: 1px solid var(--eva-border-color) !important;
    box-shadow: none;
    padding: 2px 6px !important;
    border-radius: 0 !important;
    font-size: 0.95em !important;
    font-family: 'Share Tech Mono', 'Courier New', monospace !important;
}

.rili-markdown-renderer pre {
    white-space: pre-wrap !important;
    word-wrap: break-word !important;
    background-color: var(--eva-panel-bg) !important;
    padding: 1em;
    border: 1px solid var(--eva-border-color);
}

.rili-markdown-renderer blockquote {
    border-left: 3px solid var(--eva-purple-highlight) !important;
    box-shadow: none;
    background-color: rgba(41, 14, 73, 0.3) !important;
    padding: 14px 20px !important;
    color: var(--eva-text) !important;
    margin: 14px 0 !important;
    position: relative;
    font-style: italic;
}

.rili-markdown-renderer table {
    border: 1px solid var(--eva-border-color) !important;
    box-shadow: none;
    background-color: var(--eva-panel-bg) !important;
    border-collapse: collapse;
    width: 100%;
}

.rili-markdown-renderer th {
    background: var(--eva-purple-deep) !important;
    color: var(--eva-text) !important;
    border: 1px solid var(--eva-border-color) !important;
    padding: 10px 15px !important;
    letter-spacing: 2px;
    font-weight: 700;
    text-shadow: none;
}

.rili-markdown-renderer td {
    border: 1px solid var(--eva-border-color) !important;
    color: var(--eva-text) !important;
    padding: 10px 15px !important;
}

.rili-markdown-renderer tr:nth-child(even) {
    background-color: rgba(78, 17, 148, 0.2) !important;
}

.rili-markdown-renderer tr:hover {
    background-color: rgba(210, 140, 247, 0.15) !important;
    color: var(--eva-purple-highlight) !important;
}

/* --- 列表 --- */
.rili-markdown-renderer li::marker {
    color: var(--eva-accent-pink);
}

/* --- 气泡底部按钮 --- */
.is-assistant > div button,
.is-user > div button {
    background: var(--eva-purple-deep) !important;
    color: var(--eva-text) !important;
    border: 2px solid var(--eva-border-color) !important;
    border-radius: 4px !important;
    box-shadow: 3px 3px 0px var(--eva-border-color) !important;
    font-family: 'Share Tech Mono', 'Courier New', monospace !important;
    font-weight: 700 !important;
    text-transform: none !important;
    transition: all 0.1s ease-in-out !important;
    padding: 6px 16px !important;
    letter-spacing: 1px !important;
    text-shadow: 0 0 5px var(--eva-purple-highlight);
}

.is-assistant > div button:hover,
.is-user > div button:hover {
    background: var(--eva-purple-highlight) !important;
    color: var(--eva-bg) !important;
    transform: translate(3px, 3px) !important;
    box-shadow: 0px 0px 0px var(--eva-accent-pink) !important;
    text-shadow: none !important;
    border-color: var(--eva-accent-pink) !important;
}

.is-assistant > div button:active,
.is-user > div button:active {
    background: var(--eva-purple-deep) !important;
    transform: translate(3px, 3px) !important;
    box-shadow: 0px 0px 0px var(--eva-border-color) !important;
    color: var(--eva-text) !important;
}

/* --- 输入框容器 --- */
div[data-slot="input-group"] {
    background: var(--eva-panel-bg) !important;
    border: 1px solid var(--eva-border-color) !important;
    border-radius: 0 !important;
    box-shadow: inset 0 0 10px rgba(99, 23, 184, 0.4) !important;
    transition: all 0.2s ease !important;
}

div[data-slot="input-group"]:focus-within {
    border-color: var(--eva-purple-highlight) !important;
    box-shadow: inset 0 0 10px rgba(210, 140, 247, 0.6), 0 0 15px var(--eva-purple-highlight) !important;
}

/* --- 输入框本体 --- */
#prompt-input textarea {
    font-family: 'Share Tech Mono', 'Courier New', monospace !important;
    font-size: 1em !important;
    font-weight: 700 !important;
    padding: 10px 16px !important;
    border: none !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
    letter-spacing: 1.5px !important;
    outline: none !important;
    caret-color: var(--eva-purple-highlight) !important;
    background-color: var(--eva-panel-bg) !important;
    color: var(--eva-text) !important;
}

#prompt-input textarea:focus {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

#prompt-input textarea::placeholder {
    color: var(--eva-summary-text) !important;
    font-style: normal;
    opacity: 0.7;
}

#prompt-input textarea::selection {
    background: var(--eva-purple-highlight) !important;
    color: var(--eva-bg) !important;
}

/* --- 输入框功能按钮 --- */
#prompt-input-header button,
#prompt-input-footer button {
    background: var(--eva-purple-deep) !important;
    color: var(--eva-text) !important;
    border: 2px solid var(--eva-border-color) !important;
    border-radius: 4px !important;
    box-shadow: 3px 3px 0px var(--eva-border-color) !important;
    font-family: 'Share Tech Mono', 'Courier New', monospace !important;
    font-weight: 700 !important;
    transition: all 0.1s ease-in-out !important;
    padding: 6px 16px !important;
    letter-spacing: 1px !important;
    text-shadow: 0 0 5px var(--eva-purple-highlight);
}

#prompt-input-header button:hover,
#prompt-input-footer button:hover {
    background: var(--eva-purple-highlight) !important;
    color: var(--eva-bg) !important;
    transform: translate(3px, 3px) !important;
    box-shadow: 0px 0px 0px var(--eva-accent-pink) !important;
    text-shadow: none !important;
    border-color: var(--eva-accent-pink) !important;
}

/* --- 发送按钮 --- */
#prompt-input-footer button[type="submit"] {
    background: var(--eva-purple-deep) !important;
    color: var(--eva-text) !important;
    border: 2px solid var(--eva-border-color) !important;
    border-radius: 4px !important;
    box-shadow: 3px 3px 0px var(--eva-border-color) !important;
    font-weight: 700 !important;
    transition: all 0.1s ease-in-out !important;
    padding: 7px 16px !important;
    font-size: 0.9em !important;
    text-shadow: 0 0 5px var(--eva-purple-highlight);
    font-family: 'Share Tech Mono', 'Courier New', monospace !important;
}

#prompt-input-footer button[type="submit"]:hover {
    background: var(--eva-purple-highlight) !important;
    color: var(--eva-bg) !important;
    transform: translate(3px, 3px) !important;
    box-shadow: 0px 0px 0px var(--eva-accent-pink) !important;
    text-shadow: none !important;
    border-color: var(--eva-accent-pink) !important;
}

#prompt-input-footer button[type="submit"]:active {
    transform: translate(3px, 3px) !important;
    background: var(--eva-purple-deep) !important;
    box-shadow: 0px 0px 0px var(--eva-border-color) !important;
    color: var(--eva-text) !important;
}

/* --- 滚动条 --- */
::-webkit-scrollbar {
    width: 8px !important;
}

::-webkit-scrollbar-thumb {
    background: var(--eva-purple-deep) !important;
    border: 1px solid var(--eva-border-color);
    border-radius: 0;
}

::-webkit-scrollbar-track {
    background: var(--eva-bg) !important;
    border: none;
}

/* --- 特殊组件：剧情分支 (紧急警报) --- */
.rili-markdown-renderer details.story-branch {
    width: 100% !important;
    margin-top: 12px !important;
    border: 1px solid var(--eva-red-alert) !important;
    box-shadow: 0 0 15px var(--eva-red-alert) !important;
    background: #000000 !important;
}

.rili-markdown-renderer details.story-branch > summary {
    background: var(--eva-red-alert) !important;
    color: var(--eva-text) !important;
    font-weight: 900 !important;
    text-shadow: 0 0 5px #fff !important;
    border-bottom-color: var(--eva-border-color);
    animation: alertFlicker 1s infinite;
}

.rili-markdown-renderer details.story-branch > summary:hover {
    animation: none;
}

.rili-markdown-renderer details.story-branch > div {
    background: #000000 !important;
    background-color: #000000 !important;
    background-image: none !important;
    border-left: none !important;
    box-shadow: inset 0 0 20px rgba(139, 0, 0, 0.8);
}

.rili-markdown-renderer details.story-branch ul,
.rili-markdown-renderer details.story-branch ol {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
}

.rili-markdown-renderer details.story-branch li {
    background: #000000 !important;
    background-color: #000000 !important;
    background-image: none !important;
    color: var(--eva-text) !important;
    border: 2px solid #FFFFFF !important;
    padding: 12px 16px !important;
    transition: all 0.25s ease !important;
    cursor: pointer !important;
    box-shadow: none;
    text-shadow: none;
    font-weight: 700 !important;
}

.rili-markdown-renderer details.story-branch li:hover {
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    background-image: none !important;
    color: #000000 !important;
    border-color: #000000 !important;
    transform: none !important;
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.8) !important;
}

.rili-markdown-renderer details.story-branch li::before {
    display: none;
}

.rili-markdown-renderer details.story-branch *,
.rili-markdown-renderer details.story-branch > div *,
.rili-markdown-renderer details.story-branch li * {
    background-image: none !important;
    background-color: transparent !important;
}

/* --- 移动端优化 --- */
@media (max-width: 768px) {
    .rili-markdown-renderer,
    .rili-markdown-renderer * {
        letter-spacing: 1px !important;
    }
    
    .is-user > div,
    .is-assistant > div {
        padding: 22px 18px !important;
    }
    
    .rili-markdown-renderer h1,
    .rili-markdown-renderer h2,
    .rili-markdown-renderer h3 {
        font-size: 1.4em !important;
        letter-spacing: 3px !important;
    }
    
    .rili-markdown-renderer summary {
        padding: 8px 12px 8px 32px !important;
        font-size: 1em !important;
        letter-spacing: 1.5px !important;
    }
    
    .rili-markdown-renderer summary::before {
        left: 10px;
    }
}

@media (max-width: 480px) {
    .is-user > div,
    .is-assistant > div {
        padding: 18px 12px !important;
    }
    
    .rili-markdown-renderer h1,
    .rili-markdown-renderer h2,
    .rili-markdown-renderer h3 {
        font-size: 1.2em !important;
        letter-spacing: 2px !important;
    }
    
    .rili-markdown-renderer summary {
        font-size: 0.9em !important;
        padding: 7px 10px 7px 28px !important;
        letter-spacing: 1px !important;
    }
}

/* ═════════════════════════════════════════════════════════
   ☣️ エヴァンゲリオン Rilichat适配版 结束
   ═════════════════════════════════════════════════════════ */