:root {
            --bg-color: #f5f5f5;
            --card-color: #ffffff;
            --text-color: #333333;
            --header-bg: #4dbcd7;
            --header-text: #ffffff;
            --border-color: #eeeeee;
            --secondary-text: #999999;
            --error-color: #dc3545;
            --success-color: #28a745;
            --modal-bg: #ffffff;
            --modal-text: #333333;
            --modal-border: #eeeeee;
            --modal-input-bg: #ffffff;
            --accent-color: #4dbcd7;
        }

        .dark-mode {
            --bg-color: #121212;
            --card-color: #1e1e1e;
            --text-color: #e0e0e0;
            --header-bg: #4dbcd7;
            --header-text: #ffffff;
            --border-color: #333333;
            --secondary-text: #aaaaaa;
            --error-color: #e74c3c;
            --success-color: #2ecc71;
            --modal-bg: #1e1e1e;
            --modal-text: #e0e0e0;
            --modal-border: #333333;
            --modal-input-bg: #2a2a2a;
        }

        * {

            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: "Microsoft YaHei", sans-serif;
            transition: background-color 0.3s, color 0.3s;
        }

        body {
            background-color: var(--bg-color);
            color: var(--text-color);
            margin: 0;
        }
        

        .container {
            max-width: 1200px;
            margin: 20px auto;
            background-color: var(--card-color);
            border-radius: 8px;
            box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
            overflow: hidden;
            width: 100%;
        }

        .header {
            background-color: var(--header-bg);
            color: var(--header-text);
            padding: 15px 20px;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .content {
            padding: 30px;
        }

        .title {
            font-size: 1.8rem;
            margin-bottom: 20px;
            text-align: center;
            color: var(--header-bg);
        }

        .description {
            color: var(--secondary-text);
            margin-bottom: 30px;
            line-height: 1.6;
            text-align: center;
        }

        .form-group {
            margin-bottom: 15px;
        }

        label {
            display: block;
            margin-bottom: 8px;
            font-weight: bold;
        }

        select, input {
            padding: 10px 15px;
            width: 100%;
            border: 1px solid var(--border-color);
            border-radius: 4px;
            font-size: 1rem;
            background-color: var(--card-color);
            color: var(--text-color);
        }

        .form-row {
            display: flex;
            gap: 20px;
            margin-bottom: 20px;
        }

        .form-col {
            flex: 1;
        }

        .actions {
            display: flex;
            justify-content: center;
            gap: 15px;
            margin-top: 30px;
            flex-wrap: wrap;
        }

        .button {
            padding: 10px 20px;
            border-radius: 4px;
            cursor: pointer;
            text-decoration: none;
            font-weight: bold;
            transition: all 0.3s;
            border: none;
        }

        .primary-button {
            background-color: var(--header-bg);
            color: white;
        }

        .primary-button:hover {
            background-color: #3aa8c4;
        }

        .secondary-button {
            background-color: transparent;
            color: var(--header-bg);
            border: 1px solid var(--header-bg);
        }

        .secondary-button:hover {
            background-color: var(--header-bg);
            color: white;
        }

        .theme-toggle {
            background: none;
            border: none;
            color: var(--header-text);
            cursor: pointer;
            font-size: 16px;
            display: flex;
            align-items: center;
            gap: 5px;
        }

        .result-container {
            margin-top: 30px;
            padding: 20px;
            border-radius: 4px;
            display: none;
        }

        .success {
            background-color: rgba(40, 167, 69, 0.1);
            border: 1px solid var(--success-color);
            color: var(--success-color);
        }

        .error {
            background-color: rgba(220, 53, 69, 0.1);
            border: 1px solid var(--error-color);
            color: var(--error-color);
        }

        .chart-container {
            margin-top: 30px;
            height: 400px;
            border: 1px solid var(--border-color);
            border-radius: 4px;
            padding: 10px;
        }

        .download-options {
            margin-top: 20px;
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
        }

        .download-button {
            padding: 8px 15px;
            border-radius: 4px;
            background-color: var(--header-bg);
            color: white;
            border: none;
            cursor: pointer;
            font-size: 0.9rem;
        }

        .data-table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 20px;
            font-size: 0.9rem;
        }

        .data-table th, .data-table td {
            border: 1px solid var(--border-color);
            padding: 8px;
            text-align: left;
        }

        .data-table th {
            background-color: var(--header-bg);
            color: white;
            position: sticky;
            top: 0;
        }

        .data-table tr:nth-child(even) {
            background-color: rgba(77, 188, 215, 0.1);
        }

        .stats-container {
            margin-top: 20px;
            padding: 15px;
            background-color: rgba(77, 188, 215, 0.1);
            border-radius: 4px;
            display: flex;
            flex-wrap: wrap;
            gap: 20px;
        }

        .stat-item {
            flex: 1;
            min-width: 150px;
        }

        .stat-label {
            font-size: 0.8rem;
            color: var(--secondary-text);
            margin-bottom: 5px;
        }

        .stat-value {
            font-size: 1.1rem;
            font-weight: bold;
        }

        /* AI分析相关样式 */
        .ai-analysis-option {
            margin: 20px 0;
        }

        .ai-checkbox-container {
            display: flex;
            gap: 5px;
            align-items: center;
            overflow-x: auto; 
            white-space: nowrap; 
            padding-bottom: 10px;
            margin: 10px;
            -webkit-overflow-scrolling: touch; 
        }
        .ai-checkbox-container::-webkit-scrollbar {
            display: none;
        }

        .ai-checkbox-container input[type="checkbox"] {
            width: 12px;
            height: 12px;
            margin: 0;
        }
        .ai-checkbox-container input[type="radio"] {
            width: 12px;
            height: 12px;
            margin: 0;
        }

        .ai-checkbox-container label {
            margin: 0;
            font-weight: normal;
            cursor: pointer;
        }
        .ai-name{
            display: block;
            margin-bottom: 8px;
            font-weight: bold;
        }

        .ai-analysis-container {
            margin-top: 30px;
            display: none;
        }

        .loading {
            display: none;
            text-align: center;
            margin: 20px 0;
        }

        .spinner {
            border: 4px solid rgba(0, 0, 0, 0.1);
            border-radius: 50%;
            border-top: 4px solid var(--header-bg);
            width: 30px;
            height: 30px;
            animation: spin 1s linear infinite;
            margin: 0 auto 10px;
        }

        .ai-result {
            margin-top: 20px;
            padding: 15px;
            border-radius: 4px;
            background-color: var(--bg-color);
            display: none;
            max-height: 400px;
            overflow-y: auto;
        }

        .ai-analysis-content {
    --ds-md-zoom: 1.143;
    --ds-md-font-size: calc(var(--ds-md-zoom)*var(--ds-font-size-m));
    --ds-md-line-height: calc(var(--ds-md-zoom)*var(--ds-line-height-m));
    font-size: var(--ds-md-font-size);
    min-height: var(--ds-md-font-size);
    line-height: var(--ds-md-line-height)
}

.ai-analysis-content strong {
    font-weight: 600
}

.ai-analysis-content img {
    max-width: 100%
}

.ai-analysis-content h1,.ai-analysis-content h2,.ai-analysis-content h3,.ai-analysis-content h4,.ai-analysis-content h5,.ai-analysis-content h6 {
    font-weight: var(--ds-font-weight-strong);
    font-size: var(--ds-md-font-size);
    line-height: var(--ds-md-line-height);
    margin: calc(var(--ds-md-zoom)*16px)0 calc(var(--ds-md-zoom)*12px)0
}

.ai-analysis-content h1 {
    font-size: calc(var(--ds-md-zoom)*24px);
    line-height: 1.5
}

.ai-analysis-content h2 {
    font-size: calc(var(--ds-md-zoom)*20px);
    line-height: 1.5
}

.ai-analysis-content h3 {
    font-size: calc(var(--ds-md-zoom)*16px);
    line-height: 1.5
}

.ai-analysis-content h1 .header-anchor,.ai-analysis-content h2 .header-anchor,.ai-analysis-content h3 .header-anchor,.ai-analysis-content h4 .header-anchor,.ai-analysis-content h5 .header-anchor,.ai-analysis-content h6 .header-anchor {
    opacity: 0;
    margin-left: 4px
}

.ai-analysis-content h1:hover .header-anchor,.ai-analysis-content h2:hover .header-anchor,.ai-analysis-content h3:hover .header-anchor,.ai-analysis-content h4:hover .header-anchor,.ai-analysis-content h5:hover .header-anchor,.ai-analysis-content h6:hover .header-anchor {
    opacity: 1
}

.ai-analysis-content .ai-analysis-content-paragraph {
    margin: calc(var(--ds-md-zoom)*12px)0;
    font-size: var(--ds-md-font-size);
    line-height: var(--ds-md-line-height)
}

.ai-analysis-content a:not(.ds-a) {
    color: rgb(var(--ds-rgb-link));
    transition: box-shadow var(--ds-transition-duration)var(--ds-ease-in-out);
    border-radius: calc(var(--ds-md-zoom)*6px);
    border-left: 3px solid rgba(var(--ds-rgba-transparent));
    border-right: 3px solid rgba(var(--ds-rgba-transparent));
    border-top: 2px solid rgba(var(--ds-rgba-transparent));
    border-bottom: 2px solid rgba(var(--ds-rgba-transparent));
    margin-left: -3px;
    margin-right: -3px;
    text-decoration: none;
    position: relative
}

.ai-analysis-content a:not(.ds-a):focus {
    outline: none
}

.ai-analysis-content a:not(.ds-a):focus-visible {
    box-shadow: 0 0 0 2px rgb(var(--ds-rgb-primary))
}

.ai-analysis-content li>ul,.ai-analysis-content li>ol {
    margin-top: 4px
}

.ai-analysis-content ul,.ai-analysis-content ol {
    margin: calc(var(--ds-md-zoom)*12px)0;
    padding-left: calc(var(--ds-md-zoom)*24px)
}

.ai-analysis-content li:not(:first-child) {
    margin-top: 4px
}

.ai-analysis-content li::marker {
    line-height: var(--ds-md-line-height);
    color: rgb(var(--ds-rgb-label-2))
}

.ai-analysis-content hr {
    height: 1px;
    margin: calc(var(--ds-md-zoom)*12px)0;
    background: rgb(var(--ds-rgb-label-3));
    border: none;
    display: block
}

.ai-analysis-content blockquote {
    border-left: 2px solid rgb(var(--ds-rgb-label-3));
    padding-left: calc(var(--ds-md-zoom)*16px);
    margin: 0
}

.ai-analysis-content table {
    border-collapse: collapse
}

.ai-analysis-content th {
    color: rgb(var(--ds-rgb-label-1));
    padding: calc(var(--ds-md-zoom)*6px)calc(var(--ds-md-zoom)*12px);
    border-bottom: 1px solid rgb(var(--ds-rgb-label-3));
    border-top: 1px solid rgb(var(--ds-rgb-label-3));
    font-weight: 600
}

.ai-analysis-content th:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))) {
    text-align: left
}

.ai-analysis-content th:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))) {
    text-align: left
}

.ai-analysis-content th:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))) {
    text-align: left
}

.ai-analysis-content th:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) {
    text-align: right
}

.ai-analysis-content th:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) {
    text-align: right
}

.ai-analysis-content th:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) {
    text-align: right
}

.ai-analysis-content th:first-child {
    padding-left: 0
}

.ai-analysis-content td {
    padding: calc(var(--ds-md-zoom)*6px)calc(var(--ds-md-zoom)*12px);
    border-bottom: 1px solid rgb(var(--ds-rgb-label-3))
}

.ai-analysis-content td:first-child {
    padding-left: 0
}

.ai-analysis-content pre {
    margin: calc(var(--ds-md-zoom)*12px)0;
    font-family: var(--ds-font-family-code);
    overflow: auto
}

.ai-analysis-content code {
    font-size: .875em;
    font-weight: var(--ds-font-weight-strong);
    font-family: var(--ds-font-family-code);
    background-color: var(--ds-md-inline-code-color,#ececec);
    border-radius: 4px;
    padding: .15rem .3rem
}

.ai-analysis-content code:before {
    margin-left: 4px
}

.ai-analysis-content code:after {
    margin-right: 4px
}
       
       
        

        .buy-button {
            background-color: #4CAF50;
            color: white;
            padding: 10px 15px;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            margin-left: 10px;
        }

        .home-button {
            left: 20px;
            padding: 8px 15px;
            background-color: #32afcd;
            color: white;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            text-decoration: none;
            font-size: 14px;
            transition: background-color 0.3s;
        }

        .home-button:hover {
            background-color: #e0e0e0;
            color: #333;
        }

        .buy-button:hover {
            background-color: #45a049;
        }

        /* 登录弹窗样式 */
        .modal {
            display: none;
            position: fixed;
            z-index: 1000;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.5);
            justify-content: center;
            align-items: center;
        }

        .modal-content {
            background-color: var(--modal-bg);
            color: var(--modal-text);
            padding: 30px;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
            width: 300px;
            border: 1px solid var(--modal-border);
        }

        .modal h2 {
            text-align: center;
            margin-bottom: 20px;
            color: var(--modal-text);
        }

        .modal .form-group {
            margin-bottom: 15px;
            position: relative;
        }

        .modal label {
            display: block;
            margin-bottom: 5px;
            font-weight: bold;
            color: var(--modal-text);
        }

        .modal input[type="text"],
        .modal input[type="password"],
        .modal input[type="email"] {
            width: 100%;
            padding: 8px;
            border: 1px solid var(--modal-border);
            border-radius: 4px;
            box-sizing: border-box;
            background-color: var(--modal-input-bg);
            color: var(--modal-text);
        }

        .modal button {
            width: 100%;
            padding: 10px;
            background-color: #4CAF50;
            color: white;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            font-size: 16px;
        }

        .modal button:hover {
            background-color: #45a049;
        }

        .modal .switch-form {
            text-align: center;
            margin-top: 15px;
            font-size: 14px;
            color: var(--modal-text);
        }

        .modal .switch-form a {
            color: #4CAF50;
            text-decoration: none;
            cursor: pointer;
        }

        .modal .switch-form a:hover {
            text-decoration: underline;
        }

        .modal .message {
            text-align: center;
            margin-bottom: 15px;
            padding: 10px;
            border-radius: 4px;
        }

        .modal .error {
            background-color: #ffebee;
            color: #c62828;
        }

        .modal .success {
            background-color: #e8f5e9;
            color: #2e7d32;
        }

        .modal .loading {
            display: inline-block;
            width: 20px;
            height: 20px;
            border: 3px solid rgba(255,255,255,.3);
            border-radius: 50%;
            border-top-color: #fff;
            animation: spin 1s ease-in-out infinite;
            margin-right: 10px;
        }

        .modal .toggle-password {
            position: absolute;
            right: 10px;
            top: 38px;
            cursor: pointer;
            color: var(--secondary-text);
            font-size: 12px;
        }

        /* 购买提示弹窗样式 */
        .buy-modal {
            display: none;
            position: fixed;
            z-index: 1000;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.5);
            justify-content: center;
            align-items: center;
        }

        .buy-modal-content {
            background-color: var(--modal-bg);
            color: var(--modal-text);
            padding: 30px;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
            width: 350px;
            text-align: center;
            border: 1px solid var(--modal-border);
        }

        .buy-modal h2 {
            margin-bottom: 20px;
            color: var(--modal-text);
        }

        .buy-modal p {
            margin-bottom: 25px;
            line-height: 1.6;
            color: var(--modal-text);
        }

        .buy-modal-buttons {
            display: flex;
            justify-content: center;
            gap: 15px;
        }

        .buy-modal-button {
            padding: 10px 20px;
            border-radius: 4px;
            cursor: pointer;
            text-decoration: none;
            font-weight: bold;
            transition: all 0.3s;
            border: none;
        }

        .buy-modal-primary {
            background-color: #4CAF50;
            color: white;
        }

        .buy-modal-primary:hover {
            background-color: #45a049;
        }

        .buy-modal-secondary {
            background-color: var(--border-color);
            color: var(--text-color);
        }

        .buy-modal-secondary:hover {
            background-color: var(--secondary-text);
        }

        /* 搜索框样式 */
        .search-container {
            position: relative;
            margin-bottom: 20px;
            display: none; /* 默认隐藏搜索框 */
            max-width: 50%;
        }

        .search-input {
            padding: 10px 15px 10px 40px;
            width: 100%;
            border: 1px solid var(--border-color);
            border-radius: 4px;
            font-size: 1rem;
            background-color: var(--card-color);
            color: var(--text-color);
            background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%23999999" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>');
            background-repeat: no-repeat;
            background-position: 15px center;
        }

        .search-input:focus {
            outline: none;
            border-color: var(--header-bg);
        }

        .coin-options {
            position: absolute;
            width: 100%;
            max-height: 300px;
            overflow-y: auto;
            background-color: var(--card-color);
            border: 1px solid var(--border-color);
            border-radius: 4px;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
            z-index: 100;
            display: none;
        }

        .coin-option {
            padding: 10px 15px;
            cursor: pointer;
        }

        .coin-option:hover {
            background-color: rgba(77, 188, 215, 0.1);
        }

        .coin-option.highlight {
            background-color: rgba(77, 188, 215, 0.2);
        }
         .action-buttons {
    display: flex;
    justify-content: flex-end;
    margin-top: 20px;
    gap: 10px;
}

.copy-button {
    background-color: var(--card-color);
    color: var(--header-bg);
    border: 1px solid var(--header-bg);
    border-radius: 4px;
    padding: 8px 15px;
    cursor: pointer;
}

.copy-button:hover {
    background-color: var(--header-bg);
    color: white;
}

.poster-button {
    background-color: #ff6b6b;
    color: white;
    border: none;
    border-radius: 4px;
    padding: 8px 15px;
    cursor: pointer;
}

.poster-button:hover {
    background-color: #ff5252;
}

.toast {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    background-color: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 10px 20px;
    border-radius: 4px;
    z-index: 1000;
    display: none;
}

.poster-modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.8);
            z-index: 1001;
            justify-content: center;
            align-items: center;
            
        }

        .poster-content {
           background-color: white;
            border-radius: 8px;
            max-width: 90%;
            max-height: 90%;
            overflow: auto;
            text-align: center;
        }

        .poster-image {
            max-width: 100%;
            max-height: 70vh;
            display: block;
            margin: 0 auto;
            border: 1px solid #ddd;
        }

        .poster-actions {
            margin-top: 15px;
            display: flex;
            justify-content: center;
            gap: 10px;
        }
        
        .poster-actions button {
            padding: 8px;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            margin: 10px;
        }

        .download-poster {
            background-color: #4dbcd7;
            color: white;
        }

        .close-poster {
            background-color: #999;
            color: white;
        }

        .poster-loading {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.7);
            z-index: 1024;
            justify-content: center;
            align-items: center;
            color: white;
            font-size: 18px;
            flex-direction: column;
        }

         .poster-template-container {
            position: fixed;
            left: -9999px;
            top: 0;
            width: 375px;
            min-height: 60%;
            z-index: -9999;
            opacity: 0;
            pointer-events: none;
        }


        .poster-header {
            background-color: var(--accent-color);
            color: white;
            padding: 15px;
            text-align: center;
            font-size: 18px;
            font-weight: bold;
            margin-bottom: 0;
        }

        .poster-body {
            background-color: white;
            padding: 20px;
            flex-grow: 1;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
        }

        .poster-title {
            font-size: 16px;
            font-weight: bold;
            margin-bottom: 15px;
            color: #333;
            line-height: 1.3;
        }

        .poster-content-text {
            font-size: 14px;
            line-height: 1.6;
            color: #555;
            margin-bottom: 20px;
            text-align: justify;
            white-space: pre-line; 
            word-break: break-word;
        }

        .poster-meta {
            display: flex;
            justify-content: space-between;
            font-size: 10px;
            color: #888;
            margin-bottom: 20px;
            padding-bottom: 15px;
            border-bottom: 1px dashed #ddd;
        }

        .poster-footer {
            text-align: center;
            margin-top: 20px;
            color: var(--accent-color);
            font-size: 14px;
        }
        

        @keyframes spin {
            to { transform: rotate(360deg); }
        }

        @media (max-width: 768px) {
            .container {
                margin: 10px auto;
            }

            .content {
                padding: 15px;
            }

            .form-row {
                flex-direction: column;
                gap: 10px;
            }

            .data-table {
                display: block;
                overflow-x: auto;
            }

            .stats-container {
                flex-direction: column;
                gap: 10px;
            }

            .buy-modal-content {
                width: 90%;
                padding: 20px;
            }
        }