2026-01-20 07:31:23 +08:00
/* Modern Dark Theme - Slate/Blue Palette */
: root {
--bg-color : # 0f172a ; /* Slate 900 */
--card-bg : # 1e293b ; /* Slate 800 */
--card-border : # 334155 ; /* Slate 700 */
--text-primary : # f1f5f9 ; /* Slate 100 */
--text-secondary : # 94a3b8 ; /* Slate 400 */
--accent-color : # 3b82f6 ; /* Blue 500 */
--accent-hover : # 2563eb ; /* Blue 600 */
--success-color : # 10b981 ; /* Emerald 500 */
--table-header-bg : # 0f172a ;
--table-row-hover : # 334155 ;
--scrollbar-thumb : # 475569 ;
--scrollbar-track : # 0f172a ;
}
body {
margin : 0 ;
font-family : 'Inter' , system-ui , -apple-system , BlinkMacSystemFont , "Segoe UI" , Roboto , sans-serif ;
background-color : var ( --bg-color ) ;
color : var ( --text-primary ) ;
height : 100vh ;
overflow : hidden ;
background-image : radial-gradient ( circle at 50 % 0 % , # 1e293b 0 % , # 0f172a 100 % ) ;
}
# app {
display : flex ;
flex-direction : column ; /* Changed to column to include header */
height : 100vh ;
padding : 16px ;
gap : 16px ;
box-sizing : border-box ;
}
/* Header Styling */
. dashboard-header {
display : flex ;
justify-content : space-between ;
align-items : center ;
padding : 0 8px ;
flex : 0 0 auto ;
}
. dashboard-title {
font-size : 24px ;
font-weight : 700 ;
background : linear-gradient ( to right , # 60a5fa , # a78bfa ) ;
-webkit-background-clip : text ;
-webkit-text-fill-color : transparent ;
letter-spacing : -0 . 5px ;
}
2026-01-20 08:21:08 +08:00
/* Navigation Tabs */
. nav-tabs {
display : flex ;
background : rgba ( 30 , 41 , 59 , 0 . 5 ) ;
border-radius : 8px ;
padding : 4px ;
gap : 4px ;
}
. nav-tab {
padding : 8px 16px ;
border-radius : 6px ;
color : var ( --text-secondary ) ;
font-weight : 600 ;
font-size : 14px ;
cursor : pointer ;
transition : all 0 . 2s ;
background : transparent ;
border : none ;
}
. nav-tab : hover {
color : var ( --text-primary ) ;
background : rgba ( 255 , 255 , 255 , 0 . 05 ) ;
}
. nav-tab . active {
background : var ( --accent-color ) ;
color : white ;
box-shadow : 0 2px 4px rgba ( 59 , 130 , 246 , 0 . 3 ) ;
}
2026-01-20 07:31:23 +08:00
/* Main Layout */
. main-content {
display : flex ;
flex : 1 ;
gap : 16px ;
min-height : 0 ; /* Important for nested scrolling */
}
. left-panel {
flex : 3 ;
display : flex ;
flex-direction : column ;
gap : 16px ;
min-width : 0 ;
}
. right-panel {
flex : 2 ;
display : flex ;
flex-direction : column ;
background-color : var ( --card-bg ) ;
border-radius : 12px ;
border : 1px solid var ( --card-border ) ;
box-shadow : 0 4px 6px -1px rgba ( 0 , 0 , 0 , 0 . 1 ) , 0 2px 4px -1px rgba ( 0 , 0 , 0 , 0 . 06 ) ;
padding : 20px ;
min-width : 0 ;
}
/* Cards */
. card {
background-color : var ( --card-bg ) ;
border : 1px solid var ( --card-border ) ;
border-radius : 12px ;
box-shadow : 0 4px 6px -1px rgba ( 0 , 0 , 0 , 0 . 1 ) , 0 2px 4px -1px rgba ( 0 , 0 , 0 , 0 . 06 ) ;
display : flex ;
flex-direction : column ;
overflow : hidden ;
}
/* Controls */
. controls {
display : flex ;
gap : 12px ;
align-items : center ;
}
. btn-primary {
padding : 8px 16px ;
border-radius : 8px ;
border : none ;
background : linear-gradient ( 135deg , var ( --accent-color ) , var ( --accent-hover ) ) ;
color : white ;
font-weight : 600 ;
cursor : pointer ;
transition : all 0 . 2s ease ;
box-shadow : 0 2px 4px rgba ( 59 , 130 , 246 , 0 . 3 ) ;
font-size : 14px ;
}
. btn-primary : hover : not ( : disabled ) {
transform : translateY ( -1px ) ;
box-shadow : 0 4px 6px rgba ( 59 , 130 , 246 , 0 . 4 ) ;
}
. btn-primary : disabled {
opacity : 0 . 6 ;
cursor : not-allowed ;
transform : none ;
filter : grayscale ( 0 . 5 ) ;
}
/* Station List / Table */
. station-list {
flex : 1 ; /* Give it space */
min-height : 0 ;
@ apply card ; /* Conceptually using card styles */
background-color : var ( --card-bg ) ;
border : 1px solid var ( --card-border ) ;
border-radius : 12px ;
display : flex ;
flex-direction : column ;
overflow : hidden ;
}
. station-list-header {
padding : 16px 20px ;
border-bottom : 1px solid var ( --card-border ) ;
font-size : 16px ;
font-weight : 600 ;
color : var ( --text-primary ) ;
background-color : rgba ( 15 , 23 , 42 , 0 . 5 ) ;
}
. station-table-container {
flex : 1 ;
overflow-y : auto ;
scrollbar-width : thin ;
scrollbar-color : var ( --scrollbar-thumb ) var ( --scrollbar-track ) ;
}
. station-table {
width : 100 % ;
border-collapse : separate ; /* Changed for border-radius support if needed, but sticky needs collapse usually or specific handling. Keeping collapse for alignment. */
border-collapse : collapse ;
font-size : 14px ;
}
. station-table th {
background-color : var ( --table-header-bg ) ;
color : var ( --text-secondary ) ;
font-weight : 600 ;
text-transform : uppercase ;
font-size : 12px ;
letter-spacing : 0 . 05em ;
padding : 12px 16px ;
position : sticky ;
top : 0 ;
z-index : 10 ;
border-bottom : 1px solid var ( --card-border ) ;
box-shadow : 0 1px 2px rgba ( 0 , 0 , 0 , 0 . 2 ) ;
2026-01-20 08:30:04 +08:00
text-align : center ;
2026-01-20 07:31:23 +08:00
}
. station-table td {
padding : 12px 16px ;
border-bottom : 1px solid var ( --card-border ) ;
color : var ( --text-primary ) ;
transition : background-color 0 . 15s ;
2026-01-20 08:30:04 +08:00
text-align : center ;
2026-01-20 07:31:23 +08:00
}
. station-table tbody tr : hover td {
background-color : var ( --table-row-hover ) ;
}
. station-table tbody tr : last-child td {
border-bottom : none ;
}
/* Chart */
# chart {
flex : 1 ;
min-height : 300px ;
background-color : var ( --card-bg ) ;
border : 1px solid var ( --card-border ) ;
border-radius : 12px ;
padding : 16px ;
box-sizing : border-box ;
}
/* AI Analysis Section */
. ai-title {
font-size : 18px ;
font-weight : 700 ;
color : var ( --text-primary ) ;
margin-bottom : 16px ;
display : flex ;
align-items : center ;
gap : 8px ;
}
. ai-title :: before {
content : '' ;
display : block ;
width : 4px ;
height : 18px ;
background-color : var ( --accent-color ) ;
border-radius : 2px ;
}
. ai-box {
flex : 1 ;
background-color : rgba ( 15 , 23 , 42 , 0 . 3 ) ; /* Slightly darker inner bg */
border-radius : 8px ;
border : 1px solid var ( --card-border ) ;
padding : 16px ;
overflow-y : auto ;
font-size : 14px ;
line-height : 1 . 7 ;
color : # cbd5e1 ; /* Slate 300 */
scrollbar-width : thin ;
scrollbar-color : var ( --scrollbar-thumb ) transparent ;
}
. ai-question {
background-color : rgba ( 59 , 130 , 246 , 0 . 1 ) ;
border-left : 3px solid var ( --accent-color ) ;
padding : 12px ;
border-radius : 0 4px 4px 0 ;
margin-bottom : 16px ;
}
. ai-question . label {
font-size : 12px ;
color : var ( --accent-color ) ;
font-weight : 700 ;
margin-bottom : 4px ;
text-transform : uppercase ;
}
. ai-question . question-text {
font-size : 14px ;
color : var ( --text-primary ) ;
}
. ai-result {
margin-top : 16px ;
}
/* Markdown Styling in AI Result */
. ai-result h1 , . ai-result h2 , . ai-result h3 {
color : var ( --text-primary ) ;
margin-top : 20px ;
margin-bottom : 10px ;
font-weight : 600 ;
}
. ai-result strong {
color : # 60a5fa ; /* Blue 400 */
}
. ai-result ul {
padding-left : 20px ;
}
. ai-result li {
margin-bottom : 6px ;
}
. ai-result p {
margin-bottom : 12px ;
}
2026-01-20 07:43:13 +08:00
/* Markdown Table Styling in AI Result */
. ai-result table {
width : 100 % ;
border-collapse : collapse ;
margin : 16px 0 ;
font-size : 13px ;
background-color : var ( --card-bg ) ; /* Use card bg to distinguish from ai-box bg */
border : 1px solid var ( --card-border ) ;
border-radius : 6px ;
overflow : hidden ; /* For rounded corners on table */
}
. ai-result th ,
. ai-result td {
padding : 10px 12px ;
border : 1px solid var ( --card-border ) ; /* Explicit border color */
text-align : left ;
}
. ai-result th {
background-color : rgba ( 15 , 23 , 42 , 0 . 8 ) ;
color : var ( --text-secondary ) ;
font-weight : 600 ;
font-size : 12px ;
text-transform : uppercase ;
letter-spacing : 0 . 05em ;
}
. ai-result tr : nth-child ( even ) {
background-color : rgba ( 255 , 255 , 255 , 0 . 02 ) ; /* Slight zebra striping */
}
. ai-result tr : hover td {
background-color : var ( --table-row-hover ) ;
}
2026-01-20 07:31:23 +08:00
/* Custom Scrollbar Webkit */
:: -webkit-scrollbar {
width : 8px ;
height : 8px ;
}
:: -webkit-scrollbar-track {
background : transparent ;
}
:: -webkit-scrollbar-thumb {
background : var ( --scrollbar-thumb ) ;
border-radius : 4px ;
}
:: -webkit-scrollbar-thumb : hover {
background : # 64748b ;
}
2026-01-18 16:08:46 +08:00
2026-01-20 08:21:08 +08:00
/ * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
INTEGRATED DEGREE STYLES
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = * /
. degree-container {
max-width : 1000px ;
margin : 40px auto ;
padding : 0 20px ;
width : 100 % ;
flex : 1 ;
overflow-y : auto ;
scrollbar-width : thin ;
}
. query-section {
background : rgba ( 15 , 23 , 42 , 0 . 96 ) ;
border-radius : 12px ;
padding : 30px ;
box-shadow : 0 24px 60px rgba ( 15 , 23 , 42 , 0 . 9 ) ;
margin-bottom : 30px ;
text-align : center ;
border : 1px solid var ( --card-border ) ;
}
. page-title {
font-size : 32px ;
background : linear-gradient ( 135deg , # fff 0 % , # 94a3b8 100 % ) ;
-webkit-background-clip : text ;
-webkit-text-fill-color : transparent ;
margin-bottom : 16px ;
font-weight : 700 ;
letter-spacing : -0 . 025em ;
}
. page-subtitle {
margin-bottom : 32px ;
color : # 94a3b8 ;
font-size : 16px ;
opacity : 0 . 9 ;
}
. input-wrapper {
max-width : 700px ;
margin : 0 auto ;
position : relative ;
}
/* 搜索框样式优化 */
. search-input . el-input {
--el-input-border-color : rgba ( 148 , 163 , 184 , 0 . 5 ) ;
--el-input-hover-border-color : rgba ( 56 , 189 , 248 , 0 . 9 ) ;
--el-input-focus-border-color : rgba ( 56 , 189 , 248 , 0 . 9 ) ;
--el-input-bg-color : rgba ( 15 , 23 , 42 , 0 . 9 ) ;
--el-input-text-color : # e5e7eb ;
}
. search-input . el-input__wrapper {
padding-left : 20px ;
padding-right : 20px ;
box-shadow : 0 2px 18px rgba ( 15 , 23 , 42 , 0 . 6 ) ;
background-color : rgba ( 15 , 23 , 42 , 0 . 9 ) ;
border : 1px solid rgba ( 148 , 163 , 184 , 0 . 5 ) ;
transition : all 0 . 3s ease ;
}
. search-input . el-input-group--append . el-input__wrapper {
border-radius : 24px 0 0 24px ;
border-right : none ;
}
. search-input : not ( . el-input-group--append ) . el-input__wrapper {
border-radius : 24px ;
}
. search-input . el-input-group__append {
background-color : rgba ( 56 , 189 , 248 , 0 . 9 ) ;
border : 1px solid rgba ( 56 , 189 , 248 , 0 . 9 ) ;
border-left : none ;
border-radius : 0 24px 24px 0 ;
padding : 0 ;
box-shadow : 0 2px 18px rgba ( 15 , 23 , 42 , 0 . 6 ) ;
}
. search-input . el-input-group__append . el-button ,
. search-input . el-input-group__append . el-button . el-button--primary {
border : none ;
margin : 0 ;
padding : 0 30px ;
height : 48px ;
color : # fff ;
background-color : transparent ;
font-weight : 600 ;
font-size : 16px ;
transition : all 0 . 2s ;
border-radius : 0 ;
}
. search-input . el-input-group__append . el-button : hover ,
. search-input . el-input-group__append . el-button . el-button--primary : hover {
background-color : rgba ( 14 , 165 , 233 , 1 ) ;
color : # fff ;
}
. search-input . el-input-group__append . el-button : active {
transform : scale ( 0 . 98 ) ;
}
. search-input . el-input__wrapper : hover ,
. search-input . el-input__wrapper . is-focus {
box-shadow : 0 0 0 1px rgba ( 56 , 189 , 248 , 0 . 9 ) , 0 20px 40px rgba ( 15 , 23 , 42 , 0 . 9 ) ;
border-color : rgba ( 56 , 189 , 248 , 0 . 9 ) ;
z-index : 1 ;
}
. search-input . el-input-group__append : hover {
border-color : rgba ( 56 , 189 , 248 , 0 . 9 ) ;
}
. search-input . el-input__inner {
height : 48px ;
font-size : 16px ;
color : # e5e7eb ;
}
. search-input . el-input__inner :: placeholder {
color : rgba ( 148 , 163 , 184 , 0 . 8 ) ;
}
. example-tags {
margin-top : 16px ;
display : flex ;
justify-content : center ;
gap : 10px ;
flex-wrap : wrap ;
}
. example-tag {
cursor : pointer ;
transition : all 0 . 2s ;
border-color : rgba ( 148 , 163 , 184 , 0 . 6 ) ;
color : # cbd5f5 ;
background-color : rgba ( 15 , 23 , 42 , 0 . 8 ) ;
}
. example-tag : hover {
transform : translateY ( -2px ) ;
border-color : rgba ( 56 , 189 , 248 , 0 . 9 ) ;
color : # e0f2fe ;
background-color : rgba ( 15 , 23 , 42 , 1 ) ;
}
. result-section {
background : rgba ( 15 , 23 , 42 , 0 . 96 ) ;
border-radius : 12px ;
padding : 30px ;
box-shadow : 0 24px 60px rgba ( 15 , 23 , 42 , 0 . 9 ) ;
min-height : 200px ;
border : 1px solid var ( --card-border ) ;
}
. result-header {
display : flex ;
align-items : center ;
justify-content : space-between ;
margin-bottom : 20px ;
border-bottom : 1px solid # eee ;
padding-bottom : 15px ;
}
. result-title {
font-size : 18px ;
font-weight : 600 ;
color : # e5e7eb ;
display : flex ;
align-items : center ;
gap : 8px ;
}
. markdown-body {
font-size : 16px ;
line-height : 1 . 7 ;
color : # e5e7eb ;
}
. markdown-body table {
width : 100 % ;
border-collapse : collapse ;
margin : 16px 0 ;
}
. markdown-body th ,
. markdown-body td {
padding : 12px ;
border : 1px solid rgba ( 51 , 65 , 85 , 0 . 9 ) ;
}
. markdown-body th {
background-color : rgba ( 30 , 64 , 175 , 0 . 95 ) ;
font-weight : 600 ;
}
. markdown-body tr : nth-child ( even ) {
background-color : rgba ( 15 , 23 , 42 , 0 . 9 ) ;
}
. loading-container {
display : flex ;
flex-direction : column ;
align-items : center ;
justify-content : center ;
padding : 40px 0 ;
color : rgba ( 148 , 163 , 184 , 0 . 9 ) ;
}
/* Cursor blink animation for streaming effect */
. cursor-blink {
display : inline-block ;
width : 2px ;
height : 1em ;
background-color : # 38bdf8 ;
vertical-align : text-bottom ;
animation : blink 1s step-end infinite ;
}
@ keyframes blink {
0 % , 100 % { opacity : 1 ; }
50 % { opacity : 0 ; }
}
/* 二维码容器 */
. qr-sidebar {
position : fixed ;
right : 20px ;
bottom : 20px ;
background : rgba ( 15 , 23 , 42 , 0 . 95 ) ;
border : 1px solid rgba ( 148 , 163 , 184 , 0 . 25 ) ;
border-radius : 12px ;
padding : 16px ;
box-shadow : 0 10px 30px rgba ( 0 , 0 , 0 , 0 . 5 ) ;
z-index : 1000 ;
text-align : center ;
transition : all 0 . 3s ease ;
box-sizing : border-box ;
}
. qr-sidebar : hover {
transform : translateY ( -5px ) ;
border-color : rgba ( 56 , 189 , 248 , 0 . 5 ) ;
background : rgba ( 15 , 23 , 42 , 1 ) ;
}
. qr-code {
width : 128px ;
height : 128px ;
background : # fff ;
padding : 8px ;
border-radius : 8px ;
margin-bottom : 10px ;
display : flex ;
align-items : center ;
justify-content : center ;
box-sizing : border-box ;
overflow : hidden ;
}
. qr-code canvas , . qr-code img {
max-width : 100 % ! important ;
max-height : 100 % ! important ;
height : auto ! important ;
display : block ;
}
. qr-text {
font-size : 13px ;
font-weight : 500 ;
color : # 94a3b8 ;
margin : 0 ;
letter-spacing : 0 . 5px ;
}
/* 响应式调整 */
@ media screen and ( max-width : 1200px ) {
. qr-sidebar {
display : none ;
}
}
/* ECharts 图表容器 */
. echarts-container {
width : 100 % ;
height : 400px ;
margin : 24px 0 ;
background : rgba ( 15 , 23 , 42 , 0 . 4 ) ;
border : 1px solid rgba ( 56 , 189 , 248 , 0 . 1 ) ;
border-radius : 12px ;
box-shadow : 0 4px 20px rgba ( 0 , 0 , 0 , 0 . 2 ) ;
overflow : hidden ;
transition : all 0 . 3s ease ;
}
. echarts-container : hover {
border-color : rgba ( 56 , 189 , 248 , 0 . 3 ) ;
box-shadow : 0 8px 30px rgba ( 0 , 0 , 0 , 0 . 3 ) ;
}
@ media ( max-width : 768px ) {
. echarts-container {
height : 300px ;
margin : 16px 0 ;
padding : 10px ! important ;
}
. degree-container {
margin-top : 20px ! important ;
padding : 0 15px ;
}
. query-section {
padding : 20px 10px ;
}
. page-title {
font-size : 22px ;
margin-bottom : 10px ;
}
. page-subtitle {
font-size : 14px ;
margin-bottom : 20px ;
}
. result-section {
padding : 15px ;
}
. input-wrapper {
max-width : 100 % ;
}
. search-input . el-input__inner {
height : 40px ;
font-size : 14px ;
}
. search-input . el-input-group__append . el-button {
padding : 0 12px ;
height : 40px ;
font-size : 14px ;
}
. example-tags {
gap : 6px ;
}
. example-tag {
font-size : 12px ;
padding : 0 8px ;
}
. result-section {
padding : 15px ;
margin-top : 20px ;
}
. markdown-body {
font-size : 14px ;
}
. markdown-body table {
display : block ;
width : 100 % ;
overflow-x : auto ;
-webkit-overflow-scrolling : touch ;
margin : 16px 0 ;
border-collapse : collapse ;
/* 增加一个细小的滚动条样式,提示可以滚动 */
}
. markdown-body table :: -webkit-scrollbar {
height : 4px ;
}
. markdown-body table :: -webkit-scrollbar-thumb {
background : rgba ( 56 , 189 , 248 , 0 . 5 ) ;
border-radius : 2px ;
}
. markdown-body th ,
. markdown-body td {
white-space : nowrap ;
padding : 10px 15px ;
font-size : 13px ;
min-width : 100px ;
}
/* 手机端首列固定 */
. markdown-body table tr th : first-child ,
. markdown-body table tr td : first-child {
position : sticky ;
left : 0 ;
z-index : 2 ;
box-shadow : 2px 0 5px rgba ( 0 , 0 , 0 , 0 . 3 ) ;
}
. markdown-body table tr th : first-child {
background-color : # 1e40af ! important ; /* 统一使用深蓝色 */
}
. markdown-body table tr : nth-child ( odd ) td : first-child {
background-color : # 0f172a ! important ; /* 与容器背景一致 */
}
. markdown-body table tr : nth-child ( even ) td : first-child {
background-color : # 1e293b ! important ; /* 稍亮的条纹背景 */
}
}
2026-01-20 08:49:28 +08:00
/ * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
AD OVERLAY STYLES
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = * /
. ad-overlay {
position : fixed ;
top : 0 ;
left : 0 ;
width : 100vw ;
height : 100vh ;
background-color : rgba ( 0 , 0 , 0 , 0 . 85 ) ;
backdrop-filter : blur ( 8px ) ;
z-index : 9999 ;
display : flex ;
justify-content : center ;
align-items : center ;
}
. ad-content {
background : linear-gradient ( 145deg , # 1e293b , # 0f172a ) ;
border : 1px solid rgba ( 148 , 163 , 184 , 0 . 3 ) ;
border-radius : 20px ;
padding : 40px ;
max-width : 600px ;
width : 90 % ;
box-shadow : 0 25px 50px -12px rgba ( 0 , 0 , 0 , 0 . 7 ) , 0 0 15px rgba ( 59 , 130 , 246 , 0 . 2 ) ;
position : relative ;
animation : slideUp 0 . 5s cubic-bezier ( 0 . 16 , 1 , 0 . 3 , 1 ) ;
color : # fff ;
}
. ad-close {
position : absolute ;
top : 15px ;
right : 15px ;
background : rgba ( 255 , 255 , 255 , 0 . 1 ) ;
border : none ;
border-radius : 50 % ;
width : 32px ;
height : 32px ;
color : # fff ;
font-size : 20px ;
cursor : pointer ;
transition : all 0 . 2s ;
display : flex ;
align-items : center ;
justify-content : center ;
line-height : 1 ;
}
. ad-close : hover {
background : rgba ( 239 , 68 , 68 , 0 . 8 ) ;
transform : rotate ( 90deg ) ;
}
. ad-header h2 {
margin : 0 0 30px 0 ;
text-align : center ;
font-size : 26px ;
font-weight : 800 ;
background : linear-gradient ( to right , # 60a5fa , # c084fc ) ;
-webkit-background-clip : text ;
-webkit-text-fill-color : transparent ;
letter-spacing : 0 . 5px ;
text-shadow : 0 2px 10px rgba ( 96 , 165 , 250 , 0 . 3 ) ;
}
. ad-body {
display : flex ;
flex-direction : column ;
gap : 20px ;
}
. ad-item {
display : flex ;
align-items : flex-start ;
gap : 16px ;
padding : 12px ;
border-radius : 12px ;
background : rgba ( 255 , 255 , 255 , 0 . 03 ) ;
transition : transform 0 . 2s ;
}
. ad-item : hover {
transform : translateX ( 5px ) ;
background : rgba ( 255 , 255 , 255 , 0 . 05 ) ;
}
. ad-icon-wrapper {
background : linear-gradient ( 135deg , rgba ( 59 , 130 , 246 , 0 . 2 ) , rgba ( 167 , 139 , 250 , 0 . 2 ) ) ;
padding : 10px ;
border-radius : 12px ;
display : flex ;
align-items : center ;
justify-content : center ;
min-width : 44px ;
height : 44px ;
box-sizing : border-box ;
}
. ad-icon {
font-size : 20px ;
}
. ad-item p {
margin : 0 ;
font-size : 15px ;
line-height : 1 . 6 ;
color : # cbd5e1 ;
flex : 1 ;
}
. ad-item strong {
color : # 60a5fa ;
font-weight : 600 ;
}
. ad-footer {
margin-top : 30px ;
text-align : center ;
border-top : 1px solid rgba ( 148 , 163 , 184 , 0 . 1 ) ;
padding-top : 20px ;
}
. auto-close-text {
font-size : 13px ;
color : # 94a3b8 ;
font-family : monospace ;
background : rgba ( 0 , 0 , 0 , 0 . 2 ) ;
display : inline-block ;
padding : 4px 12px ;
border-radius : 20px ;
}
/* Animations */
@ keyframes slideUp {
from { opacity : 0 ; transform : translateY ( 30 px ) scale ( 0.95 ) ; }
to { opacity : 1 ; transform : translateY ( 0 ) scale ( 1 ) ; }
}
. fade-enter-active ,
. fade-leave-active {
transition : opacity 0 . 4s ease ;
}
. fade-enter-from ,
. fade-leave-to {
opacity : 0 ;
}