﻿html,
body {

  height:100%;
}
#main {display: flex;flex-direction: column;height:100vh;}
#wrap {display: flex;flex-direction: row;flex:1; min-height: 0;}


#concept {display: flex;flex-direction: row;flex:1; min-height: 0;}
#gn {width:40%;text-align: center;margin-right:20px; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);}
#gptype1 .btn {font-size:13px;width:20%;}
#gptype2 .btn {font-size:13px;width:20%;}
#gn_content {font-size:12px;}

#gn_content .item {box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);}
#hits th {text-align: center;text-indent:8px;}
#concept th {text-align: center;text-indent:5px;}
#concept tr {cursor: pointer;}
#stocks tr {cursor: pointer;}
#hits {width:49%;text-align: center;margin-right:20px; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);}
#content {overflow: auto;box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);}
#hits table {width:100%;}
.qa-list {
        /* display: flex;
        flex-direction: column;
        gap: 20px; */
    }

    .qa-card {
        background-color: white;
        border-radius: 0px;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
        padding: 15px;
        margin-bottom: 20px;
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }
    
    .qa-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
    }
    
    .stock-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
 
        padding-bottom: 16px;
        border-bottom: 1px solid #f0f0f0;
    }
    
    .stock-info {
        display: flex;
        align-items: center;
    }
    
    .stock-code {
        width: 60px;
        height: 25px;

        background: #DBEAFE;
        color: #165DFF;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 600;
        font-size: 14px;
        margin-right: 10px;
    }
    
    .stock-name {
        font-size: 16px;
        font-weight: 600;
        color: #2c3e50;
    }
    
    .time {
        font-size: 13px;
        color: #95a5a6;
        text-align: right;
    }
    
    .question {

        padding: 12px 0;
    }
    
    .question-title {
        font-size: 14px;
        color: #7f8c8d;
        margin-bottom: 6px;
    }
    
    .question-content {
        font-size: 14px;
        line-height: 1.5;
        color: #2c3e50;
    }
    
    .answer {
  
        padding:  0;
    }
    
    .answer-title {
        font-size: 14px;
        color: #7f8c8d;
        margin-bottom: 6px;
    }
    
    .answer-content {
      border: 1px solid #f0f0f0;
        font-size: 14px;
        line-height: 1.5;
        color: #2c3e50;
        background-color: #fafafa;
        padding: 10px 10px;
        border-radius: 5px;
        border-left: 3px solid #eee;
        
    }
.highlight {color:red;}
  

.search-container {
        background: white;
  
        padding: 5px;
        /* box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05); */
        margin-bottom: 10px;

        display: flex;
        flex-direction: row;
    }
    
    .search-box {
        display: flex;
        margin-bottom: 3px;
    }
    
    #searchInput {
        flex: 1;
        padding: 5px 20px;
        border: 2px solid #e0e6ed;
        border-radius: 10px 0 0 10px;
        font-size: 14px;
        transition: all 0.3s;

        border:2px solid rgba(237,81,68);
     
        /* border-left:1px solid #D6493F; */
        border-right:0;
        /* border-top-right-radius: 0px;
        border-bottom-right-radius: 0px; */
    }
    
    #searchInput:focus {
        outline: none;
        border-color: #3498db;
        box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.2);
    }
    
    #searchBtn {
        background: #3498db;
        color: white;
        border: none;
        padding: 0 15px;
        border-radius: 0 10px 10px 0;
        cursor: pointer;
        font-size: 16px;
        font-weight: 600;
        transition: background 0.3s;

        background:#D6493F;
        font-size:20px;
        background:rgba(237,81,68)
    }
    
    #searchBtn:hover {
        background: #D6493F;
    }
    
    .trends-container {
        display: flex;
        gap: 20px;
        /* margin-bottom: 10px; */
    }
    
    .trend-section {
        flex: 1;
        background: white;
        border-radius: 12px;
        padding: 0px;
        padding:2px 0 0;
        


    }
    
    .trend-section h2 {
        color: #2c3e50;
margin:0;
font-weight: 600;
text-align: center;
padding-top:2px;
        padding-bottom: 4px;
        border-bottom: 2px solid #f0f3f8;
        font-size: 13px;
color:#555;
box-shadow: 0 1px 6px rgba(0, 0, 0, 0.05);
      
    }
    
    .trend-section h2 i {
        margin-right: 2px;
        color: #e74c3c;
    }
    
    .keywords-list {
        list-style: none;
        overflow: auto;
        height:115px;
        margin-bottom: 0;
 
    }
    
    .keyword-item {
        display: flex;
        align-items: center;
        padding: 6px 0;
        border-bottom: 1px solid #f0f3f8;
        transition: background 0.2s;
        cursor: pointer;
        border-radius: 6px;
        padding-left: 0px;
        padding-left:10px;

 
        /* margin-bottom: 5px; */
    }
    
    #stock_topic li.keyword-item {width:33.3%;float:left;}
    #keylist .keyword-item{padding:5px 6px;}
    .keyword-item:hover {
        background: #f8fafc;
    }
    
    .keyword-rank {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 18px;
        line-height: 20px;;
        height: 18px;
        background: #ecf0f1;
        color: #7f8c8d;
        border-radius: 50%;
        font-size: 12px;
        font-weight: bold;
        margin-right: 6px;
    }
    
    .top-3 .keyword-rank {
        color: white;
    }
    
    .rank-1 .keyword-rank {
        background: #e74c3c;
    }
    
    .rank-2 .keyword-rank {
        background: #e67e22;
    }
    
    .rank-3 .keyword-rank {
        background: #f1c40f;
    }
    
    .keyword-text {
        flex: 1;
        font-size: 12px;
        padding-top:2px;
    }
    
    .keyword-count {
        color: #95a5a6;
        font-size: 12px;
        margin-left: 10px;
        margin-right: 0px;;
        color:#ccc;

    }

    .table-container {
        position: relative;
        border: 1px solid #ddd;
        border-radius: 5px;
        overflow: hidden;

        height:94%;
       
 
    }
    
    .table-header {
        overflow: hidden;
        background-color: #f8f9fa;
    }
    
    .table-content {
        max-height: 95%;
        overflow-y: auto;
        overflow-x: hidden;
    }
    
    table {
        width: 100%;
        border-collapse: collapse;
    }
    
    thead {
        background-color: #3498db;
        color: white;
        background-color: #DBEAFE;
        color: #165DFF; 

    }
    
    th {
        padding: 12px 5px;
        text-align: left;
        cursor: pointer;
        user-select: none;
        position: relative;
        transition: background-color 0.2s;
    }
    
    th:hover {
        background-color: #2980b9;
    }
    
    th.sortable::after {
        content: "↕";
        margin-left: 5px;
        opacity: 0.6;
    }
    
    th.asc::after {
        content: "↑";
        opacity: 1;
    }
    
    th.desc::after {
        content: "↓";
        opacity: 1;
    }
    
    td {
        padding: 8px 5px;
        border-bottom: 1px solid #eee;
    }
    
    tr:nth-child(even) {
        background-color: #f8f9fa;
    }
    
    #hits tbody tr:hover {
        background-color: #e3f2fd;
    }
    
    .red {
        color: #e74c3c;
    }
    
    .green {
        color: #2ecc71;
    }

    #hits th {width:20%;}
    #hits td {width:20%;}


    #stock_result {
        display: flex;flex-direction: row;
        flex:1;
    }

    #stock_left {
        width:49%;
        display: flex;
        flex-direction: column;
      
    }

    #stock_right {
        margin-left:1.5%;
        flex:1;
        font-size:12px;
        display: flex;
        flex-direction: column;
      
    }
#gn_basic table {margin-bottom:10px;}
    #stock_yidong {padding:0;}



    #stock_left .item {

        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
        
    }

    #stock_right .item {

        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
        
    }

    #stock_basic {font-size:12px;}

    #stock_basic table {margin-bottom: 0;;}

    #stock_yidong .panel-heading {padding:3px 5px;background:white;border-bottom:1px solid #eee;}

    #stock_yidong .panel {margin-bottom: 10px;border-radius: 0px;}

    #stock_yidong .panel-body {padding: 5px;font-size:12px;}

    .stype {box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);padding:5px 5px;overflow: hidden;width:100%;;}


    #searchtype .btn , #gptype .btn {font-size:13px;width:20%;}

    em {color:red;font-style: normal;}

    .showpdf {cursor: pointer;}

    #loading {width:100%;background:#f9f9f9;flex:1;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        
        /* 柔和的渐变背景 */
        background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
    }


        .loader {
            position: relative;
            width: 80px;
            height: 80px;
            margin-bottom: 20px;
        }

        /* 圆形加载动画 */
        .loader::before,
        .loader::after {
            content: "";
            position: absolute;
            border-radius: 50%;
            animation: spin 1.5s linear infinite;
        }

        /* 外层圆环 */
        .loader::before {
            width: 100%;
            height: 100%;
            border: 6px solid rgba(82, 109, 255, 0.2);
            border-top-color: #526dff;
        }

        /* 内层小圆点（增强视觉效果） */
        .loader::after {
            top: 50%;
            left: 50%;
            width: 12px;
            height: 12px;
            background: #526dff;
            transform: translate(-50%, -50%);
            animation: pulse 1.5s ease-in-out infinite;
        }

        /* 加载文字样式 */
        .loading-text {
            color: #526dff;
            font-size: 18px;
            font-weight: 500;
            /* 文字渐变动画 */
            animation: fade 2s ease-in-out infinite;
        }

        /* 旋转动画 */
        @keyframes spin {
            0% {
                transform: rotate(0deg);
            }
            100% {
                transform: rotate(360deg);
            }
        }

        /* 圆点脉冲动画 */
        @keyframes pulse {
            0%, 100% {
                transform: translate(-50%, -50%) scale(1);
                opacity: 1;
            }
            50% {
                transform: translate(-50%, -50%) scale(1.2);
                opacity: 0.8;
            }
        }

        /* 文字渐变动画 */
        @keyframes fade {
            0%, 100% {
                opacity: 0.8;
            }
            50% {
                opacity: 1;
            }
        }

        /* 响应式调整（移动端） */
        @media (max-width: 480px) {
            .loader {
                width: 60px;
                height: 60px;
            }
            .loading-text {
                font-size: 16px;
            }
        }