.chart-gallery-header{margin-bottom:var(--spacing-xl)}.chart-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-lg)}.chart-gallery-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;transition:box-shadow var(--transition-base),transform var(--transition-base)}.chart-gallery-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.chart-gallery-preview{background:#fafbfc;padding:var(--spacing-md);border-bottom:1px solid var(--border);text-align:center}.chart-gallery-preview img{max-width:100%;height:auto;max-height:200px}.chart-gallery-info{padding:var(--spacing-md)}.chart-gallery-info h3{font-size:var(--font-size-h6);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.chart-gallery-info h3 a{color:var(--text-primary);text-decoration:none}.chart-gallery-info h3 a:hover{color:var(--primary)}.chart-gallery-info p{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.chart-gallery-actions{display:flex;gap:var(--spacing-xs)}.chart-page{max-width:900px;margin:0 auto}.chart-page-header{margin-bottom:var(--spacing-lg)}.chart-page-header h1{font-size:var(--font-size-h2)}.chart-container{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);text-align:center}.chart-container img{max-width:100%;height:auto}.chart-container .chart-watermark{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--spacing-xs)}.chart-toolbar{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--light);border-radius:var(--radius-md);border:1px solid var(--border)}.chart-toolbar .btn{display:inline-flex;align-items:center;gap:4px}.embed-code-section{margin-bottom:var(--spacing-lg)}.embed-code-section h3{font-size:var(--font-size-h5);margin-bottom:var(--spacing-sm)}.embed-code-box{position:relative;background:#1e293b;border-radius:var(--radius-md);padding:var(--spacing-md);overflow:hidden}.embed-code-box pre{margin:0;white-space:pre-wrap;word-break:break-all;color:#e2e8f0;font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.embed-code-box code{color:#93c5fd}.embed-copy-btn{position:absolute;top:var(--spacing-xs);right:var(--spacing-xs);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#e2e8f0;border-radius:var(--radius-sm);padding:4px 10px;font-size:var(--font-size-xs);cursor:pointer;transition:background var(--transition-fast)}.embed-copy-btn:hover{background:rgba(255,255,255,.2)}.embed-copy-btn.copied{background:var(--success);color:var(--white)}.embed-preview-section{margin-bottom:var(--spacing-lg)}.embed-preview-frame{border:2px dashed var(--border);border-radius:var(--radius-md);padding:var(--spacing-md);background:#fafbfc}.embed-preview-frame iframe{border:none;width:100%;min-height:400px}.embed-size-selector{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.embed-size-btn{padding:4px 12px;border:1px solid var(--border);background:var(--white);border-radius:var(--radius-sm);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast)}.embed-size-btn.active,.embed-size-btn:hover{background:var(--primary);color:var(--white);border-color:var(--primary)}.chart-share-section{margin-bottom:var(--spacing-lg)}.chart-share-section h3{font-size:var(--font-size-h5);margin-bottom:var(--spacing-sm)}.chart-share-buttons{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.chart-context{margin-bottom:var(--spacing-lg)}.chart-context h2{font-size:var(--font-size-h4);margin-bottom:var(--spacing-sm)}.embed-mode{margin:0;padding:var(--spacing-md);background:var(--white)}.embed-mode .chart-container{border:none;padding:0;margin:0}.embed-mode .embed-attribution{text-align:center;margin-top:var(--spacing-xs)}.embed-mode .embed-attribution a{color:var(--text-muted);font-size:var(--font-size-xs);text-decoration:none}.embed-mode .embed-attribution a:hover{color:var(--primary);text-decoration:underline}@media(max-width:768px){.chart-gallery-grid{grid-template-columns:1fr}.chart-toolbar{flex-direction:column}.embed-size-selector{flex-wrap:wrap}}