PluginProbe
ThinkRank AI SEO – AI SEO Plugin for WordPress: Schema, XML Sitemaps, Meta Tags, Search Console & Local SEO / 2.8.0
ThinkRank AI SEO – AI SEO Plugin for WordPress: Schema, XML Sitemaps, Meta Tags, Search Console & Local SEO v2.8.0
2.8.0 2.7.0 2.6.0 2.5.0 2.4.0 2.3.0 2.2.0 2.1.1 2.1.0 2.0.2 2.0.1 2.0.0 1.32.0 1.31.0 1.30.0 1.29.0 1.28.0 1.27.0 1.26.0 1.25.0 trunk 1.0.0 1.0.1 1.0.2 1.1.0 All 49 releases
← All changes | assets/oxygen.css +443 -316 1.26.02.8.0 View file →
@@ -1,6 +1,5 @@
1 -@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap);
2 -@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.thinkrank-seo-score-calculator .calculator-header{margin-bottom:20px;background:#f9f9f9;border-radius:8px;padding:10px 20px}.thinkrank-seo-score-calculator .calculator-header .header-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.thinkrank-seo-score-calculator .calculator-header .header-content h3{margin:0;font-size:18px;font-weight:600}.thinkrank-seo-score-calculator .calculator-header .last-calculated{font-size:12px;color:#666;font-style:italic}.thinkrank-seo-score-calculator .calculating-state{text-align:center;padding:40px 20px}.thinkrank-seo-score-calculator .calculating-state .components-spinner{margin-bottom:15px}.thinkrank-seo-score-calculator .calculating-state p{color:#666;margin:0}.thinkrank-seo-score-calculator .empty-state{text-align:center;padding:60px 20px}.thinkrank-seo-score-calculator .empty-state .empty-state-content{max-width:400px;margin:0 auto}.thinkrank-seo-score-calculator .empty-state .empty-state-content .empty-state-icon{font-size:48px;margin-bottom:20px}.thinkrank-seo-score-calculator .empty-state .empty-state-content h4{margin:0 0 10px 0;font-size:18px;color:#1e1e1e}.thinkrank-seo-score-calculator .empty-state .empty-state-content p{color:#666;line-height:1.5;margin:0}.thinkrank-score-breakdown .score-overview-card{margin-bottom:20px}.thinkrank-score-breakdown .score-overview-card .overall-score-display{display:flex;align-items:center;gap:20px}.thinkrank-score-breakdown .score-overview-card .overall-score-display .score-circle{width:80px;height:80px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:bold;position:relative}.thinkrank-score-breakdown .score-overview-card .overall-score-display .score-circle.score-excellent{background:linear-gradient(135deg, #10b981, #059669);color:#fff}.thinkrank-score-breakdown .score-overview-card .overall-score-display .score-circle.score-good{background:linear-gradient(135deg, #4451FF, #4451FF);color:#fff}.thinkrank-score-breakdown .score-overview-card .overall-score-display .score-circle.score-fair{background:linear-gradient(135deg, #B54708, #B54708);color:#fff}.thinkrank-score-breakdown .score-overview-card .overall-score-display .score-circle.score-poor{background:linear-gradient(135deg, #921C13, #921C13);color:#fff}.thinkrank-score-breakdown .score-overview-card .overall-score-display .score-circle .score-number{font-size:24px;line-height:1}.thinkrank-score-breakdown .score-overview-card .overall-score-display .score-circle .score-grade{font-size:12px;opacity:.9}.thinkrank-score-breakdown .score-overview-card .overall-score-display .score-info{flex:1}.thinkrank-score-breakdown .score-overview-card .overall-score-display .score-info .score-description{font-size:16px;font-weight:500;margin:0 0 5px 0;color:#1e1e1e}.thinkrank-score-breakdown .score-overview-card .overall-score-display .score-info .score-timestamp{font-size:12px;color:#666;margin:0}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;overflow:hidden}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header{padding:16px;cursor:pointer;transition:background-color .2s}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header:hover{background-color:#f9fafb}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .components-flex{width:100%;align-items:center}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .components-flex .components-flex-item:first-child{flex:1}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .components-flex .components-flex-item.factor-score-container{flex:0 0 auto;min-width:80px;text-align:right}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .components-flex .components-flex-item:last-child{flex:0 0 auto;margin-left:8px}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .factor-info{display:flex;align-items:center;gap:12px;flex:1}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .factor-info .factor-icon{font-size:20px}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .factor-info .factor-text .factor-label{display:block;font-weight:500;color:#1e1e1e;margin-bottom:2px}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .factor-info .factor-text .factor-description{display:block;font-size:12px;color:#666}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .factor-score{text-align:right}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .factor-score .score-value{display:block;font-weight:600;margin-bottom:4px;color:#1e1e1e}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .factor-score .score-bar{width:100px;height:6px;background-color:#e5e7eb;border-radius:3px;overflow:hidden}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .factor-score .score-bar .score-bar-fill{height:100%;transition:width .3s ease}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .factor-score .score-bar .score-bar-fill.score-excellent{background-color:#10b981}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .factor-score .score-bar .score-bar-fill.score-good{background-color:#4451ff}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .factor-score .score-bar .score-bar-fill.score-fair{background-color:#b54708}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .factor-score .score-bar .score-bar-fill.score-poor{background-color:#921c13}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-details{padding:16px;background-color:#f9fafb;border-top:1px solid #e5e7eb}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-details .factor-suggestions{margin-bottom:16px}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-details .factor-suggestions h5{margin:0 0 8px 0;font-size:14px;font-weight:600;color:#1e1e1e}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-details .factor-suggestions ul{margin:0;padding-left:20px}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-details .factor-suggestions ul li{margin-bottom:4px;color:#374151;font-size:14px}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-details .factor-technical-details{margin-top:16px;padding:12px;background:#f8f9fa;border-radius:4px;border-left:3px solid #007cba}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-details .factor-technical-details h5{margin:0 0 8px 0;font-size:13px;font-weight:600;color:#1e1e1e}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-details .factor-technical-details .details-list .detail-item{display:flex;align-items:center;padding:6px 0;font-size:13px;color:#374151}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-details .factor-technical-details .details-list .detail-item:before{content:"";width:4px;height:4px;background:#007cba;border-radius:50%;margin-right:8px;flex-shrink:0}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-details .factor-technical-details .details-list .detail-item:not(:last-child){margin-bottom:2px}.improvement-suggestions-card{margin-bottom:20px}.improvement-suggestions-card .suggestions-header{display:flex;align-items:center;gap:8px}.improvement-suggestions-card .suggestions-header .suggestions-icon{font-size:20px}.improvement-suggestions-card .suggestions-header h4{margin:0;font-size:16px;font-weight:600}.improvement-suggestions-card .suggestions-count{font-size:12px;color:#666;background-color:#f3f4f6;padding:4px 8px;border-radius:12px}.improvement-suggestions-card .no-suggestions{text-align:center;padding:40px 20px}.improvement-suggestions-card .no-suggestions .success-icon{font-size:48px;margin-bottom:16px}.improvement-suggestions-card .no-suggestions h4{margin:0 0 8px 0;color:#10b981;font-size:18px}.improvement-suggestions-card .no-suggestions p{color:#666;margin:0}.improvement-suggestions-card .suggestions-list .priority-group{margin-bottom:24px}.improvement-suggestions-card .suggestions-list .priority-group .priority-header{display:flex;align-items:center;gap:8px;margin:0 0 12px 0;font-size:14px;font-weight:600}.improvement-suggestions-card .suggestions-list .priority-group .priority-header .priority-icon{font-size:12px}.improvement-suggestions-card .suggestions-list .priority-group .priority-header .priority-count{font-size:12px;color:#666;font-weight:normal}.improvement-suggestions-card .suggestions-list .priority-group.priority-high .priority-header{color:#921c13}.improvement-suggestions-card .suggestions-list .priority-group.priority-medium .priority-header{color:#b54708}.improvement-suggestions-card .suggestions-list .priority-group.priority-low .priority-header{color:#059669}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:8px}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item.priority-high{border-left:4px solid #921c13}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item.priority-medium{border-left:4px solid #b54708}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item.priority-low{border-left:4px solid #059669}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item .suggestion-content{padding:16px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item .suggestion-content .suggestion-text{flex:1;display:flex;flex-direction:column;gap:8px}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item .suggestion-content .suggestion-text .category-badge{display:inline-block;background-color:#f3f4f6;color:#374151;font-size:10px;font-weight:500;text-transform:uppercase;padding:2px 6px;border-radius:3px;align-self:flex-start}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item .suggestion-content .suggestion-text .suggestion-message{font-size:14px;line-height:1.5;color:#374151}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item .suggestion-content .suggestion-text .priority-badge{display:inline-block;font-size:10px;font-weight:600;text-transform:uppercase;padding:3px 8px;align-self:flex-start;border-radius:4px;margin-right:8px}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item .suggestion-content .suggestion-text .priority-badge.priority-high{background-color:#fef2f2;color:#921c13;border:1px solid #fecaca}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item .suggestion-content .suggestion-text .priority-badge.priority-medium{background-color:#fffbeb;color:#b54708;border:1px solid #fed7aa}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item .suggestion-content .suggestion-text .priority-badge.priority-low{background-color:#f0fdf4;color:#059669;border:1px solid #bbf7d0}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item .suggestion-content .suggestion-actions{display:flex;gap:8px;flex-shrink:0}.improvement-suggestions-card .dismissed-suggestions-notice{margin-top:16px}@media(max-width: 768px){.thinkrank-score-breakdown .score-overview-card .overall-score-display{flex-direction:column;text-align:center;gap:16px}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .factor-score{min-width:auto}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .factor-score .score-bar{width:80px}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item .suggestion-content{flex-direction:column;gap:12px}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item .suggestion-content .suggestion-actions{align-self:flex-end}.seo-score-summary-card .analysis-section.score-section{flex-direction:column;text-align:center;gap:20px}.seo-score-summary-card .analysis-section.score-section .score-circle{width:100px;height:100px}.seo-score-summary-card .analysis-section.score-section .score-circle .score-number{font-size:28px}.seo-score-summary-card .analysis-section.score-section .score-circle .score-grade{font-size:16px}.seo-score-summary-card .analysis-section.score-section .score-breakdown{width:100%}.seo-score-summary-card .analysis-section.score-section .score-breakdown .score-item{flex-direction:column;text-align:center;gap:8px}.seo-score-summary-card .analysis-section.score-section .score-breakdown .score-item .score-label{font-size:13px}.seo-score-summary-card .analysis-section.score-section .score-breakdown .score-item .score-value{font-size:13px}.seo-score-summary-card .analysis-section.content-analysis .analysis-grid{grid-template-columns:1fr;gap:12px}.seo-score-summary-card .analysis-section.content-analysis .analysis-grid .analysis-item{flex-direction:column;text-align:center;gap:6px}.seo-score-summary-card .analysis-section.content-analysis .analysis-grid .analysis-item .analysis-label{font-size:12px}.seo-score-summary-card .analysis-section.content-analysis .analysis-grid .analysis-item .analysis-value{font-size:12px}}@media(max-width: 480px){.seo-score-summary-card .analysis-section.score-section{padding:16px}.seo-score-summary-card .analysis-section.score-section .score-circle{width:80px;height:80px}.seo-score-summary-card .analysis-section.score-section .score-circle .score-number{font-size:24px}.seo-score-summary-card .analysis-section.score-section .score-circle .score-grade{font-size:14px}.seo-score-summary-card .analysis-section.score-section .score-circle .score-label{font-size:10px}.seo-score-summary-card .analysis-section.content-analysis{padding:16px}.seo-score-summary-card .analysis-section.content-analysis h4{font-size:14px}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item .suggestion-content .suggestion-text .suggestion-message{font-size:13px}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item .suggestion-content .suggestion-text .priority-badge{font-size:9px;padding:2px 6px}}.seo-score-summary-card{margin-bottom:20px}.seo-score-summary-card .analysis-section.score-section{display:flex;align-items:center;gap:24px;margin-bottom:24px;padding:20px;background:linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);border-radius:12px;border:1px solid #e2e8f0}.seo-score-summary-card .analysis-section.score-section .score-circle{display:flex;flex-direction:column;align-items:center;justify-content:center;width:120px;height:120px;border-radius:50%;border:4px solid;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.1);flex-shrink:0}.seo-score-summary-card .analysis-section.score-section .score-circle .score-number{font-size:32px;font-weight:700;line-height:1;margin-bottom:4px}.seo-score-summary-card .analysis-section.score-section .score-circle .score-grade{font-size:18px;font-weight:600;line-height:1;margin-bottom:4px}.seo-score-summary-card .analysis-section.score-section .score-circle .score-label{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;opacity:.8}.seo-score-summary-card .analysis-section.score-section .score-circle.score-high{border-color:#10b981;color:#10b981;background:linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%)}.seo-score-summary-card .analysis-section.score-section .score-circle.score-medium{border-color:#b54708;color:#b54708;background:linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%)}.seo-score-summary-card .analysis-section.score-section .score-circle.score-low{border-color:#921c13;color:#921c13;background:linear-gradient(135deg, #fef2f2 0%, #fecaca 100%)}.seo-score-summary-card .analysis-section.score-section .score-breakdown{flex:1;display:grid;grid-template-columns:1fr;gap:16px}.seo-score-summary-card .analysis-section.score-section .score-breakdown .score-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border-radius:8px;border:1px solid #e5e7eb;box-shadow:0 1px 3px rgba(0,0,0,.05)}.seo-score-summary-card .analysis-section.score-section .score-breakdown .score-item .score-label{font-weight:600;color:#374151;font-size:14px}.seo-score-summary-card .analysis-section.score-section .score-breakdown .score-item .score-value{font-weight:500;color:#1f2937;font-size:14px;padding:4px 8px;background:#f9fafb;border-radius:4px;border:1px solid #e5e7eb}.seo-score-summary-card .analysis-section.content-analysis{padding:20px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.seo-score-summary-card .analysis-section.content-analysis h4{margin:0 0 16px 0;font-size:16px;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:8px}.seo-score-summary-card .analysis-section.content-analysis h4:before{content:"📊";font-size:18px}.seo-score-summary-card .analysis-section.content-analysis .analysis-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:16px}.seo-score-summary-card .analysis-section.content-analysis .analysis-grid .analysis-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border-radius:6px;border:1px solid #e5e7eb}.seo-score-summary-card .analysis-section.content-analysis .analysis-grid .analysis-item .analysis-label{font-weight:500;color:#6b7280;font-size:13px}.seo-score-summary-card .analysis-section.content-analysis .analysis-grid .analysis-item .analysis-value{font-weight:600;color:#1f2937;font-size:13px}.seo-score-summary-card .analysis-section.content-analysis .analysis-grid .analysis-item .analysis-note{display:block;font-size:11px;color:#666;margin-top:2px;font-style:italic}.thinkrank-seo-results-tabs{margin-top:20px}.thinkrank-seo-results-tabs .components-tab-panel__tabs{display:flex;border-bottom:1px solid #ddd;margin-bottom:20px}.thinkrank-seo-results-tabs .components-tab-panel__tabs .components-button{border:none;border-bottom:2px solid rgba(0,0,0,0);border-radius:0;padding:12px 20px;font-weight:500;color:#666;background:none;transition:all .2s ease}.thinkrank-seo-results-tabs .components-tab-panel__tabs .components-button:hover{color:#0073aa;background-color:#f8f9fa}.thinkrank-seo-results-tabs .components-tab-panel__tabs .components-button.is-active{color:#0073aa;border-bottom-color:#0073aa;background-color:#fff}.thinkrank-seo-results-tabs .components-tab-panel__tabs .components-button .tab-title-with-badge{display:flex;align-items:center;gap:6px}.thinkrank-seo-results-tabs .components-tab-panel__tabs .components-button .tab-title-with-badge .suggestion-count-badge{background-color:#dc3545;color:#fff;font-size:11px;font-weight:600;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center;line-height:1.2}.thinkrank-seo-results-tabs .tab-content{min-height:300px}.thinkrank-seo-results-tabs .tab-content .no-suggestions-message{text-align:center;padding:60px 20px}.thinkrank-seo-results-tabs .tab-content .no-suggestions-message .success-icon{font-size:48px;margin-bottom:16px}.thinkrank-seo-results-tabs .tab-content .no-suggestions-message h4{margin:0 0 8px 0;color:#10b981;font-size:18px}.thinkrank-seo-results-tabs .tab-content .no-suggestions-message p{color:#666;margin:0;font-size:14px}.thinkrank-suggestion-modal .modal-content{margin-bottom:20px}.thinkrank-suggestion-modal .modal-content .suggestion-quote{background-color:#f8f9fa;border-left:4px solid #0073aa;padding:12px 16px;margin:12px 0;font-style:italic;color:#1e1e1e}.thinkrank-suggestion-modal .modal-content .guidance-section{background-color:#e7f3ff;border:1px solid #b3d9ff;border-radius:6px;padding:12px;margin:12px 0}.thinkrank-suggestion-modal .modal-content .guidance-section p{margin:0;color:#0073aa;font-weight:500}.thinkrank-suggestion-modal .modal-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:16px;border-top:1px solid #ddd}.serp-preview-controls{margin-bottom:20px}.serp-preview-controls .preview-label{display:block;font-weight:600;margin-bottom:8px;color:var(--thinkrank-text-primary)}.serp-preview-controls .preview-toggle{display:flex;gap:16px}.serp-preview-controls .preview-toggle .toggle-option{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--thinkrank-text-secondary);transition:color .2s ease}.serp-preview-controls .preview-toggle .toggle-option.active{color:var(--thinkrank-primary);font-weight:500}.serp-preview-controls .preview-toggle .toggle-option input[type=radio]{display:none}.serp-preview-controls .preview-toggle .toggle-option .radio-icon{width:16px;height:16px;border:2px solid var(--thinkrank-border);border-radius:50%;position:relative;transition:all .2s ease}.serp-preview-controls .preview-toggle .toggle-option .radio-icon::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:8px;height:8px;border-radius:50%;background:var(--thinkrank-primary);opacity:0;transition:opacity .2s ease}.serp-preview-controls .preview-toggle .toggle-option.active .radio-icon{border-color:var(--thinkrank-primary)}.serp-preview-controls .preview-toggle .toggle-option.active .radio-icon::after{opacity:1}.serp-result-container{background:#f8f9fa;border:1px solid var(--thinkrank-border-light);border-radius:8px;padding:20px}.serp-result-container.mobile{max-width:375px;margin:0 auto}.serp-result-container.desktop{max-width:600px}.serp-result{background:#fff;border-radius:8px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,.1);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}.serp-result .serp-site-info{display:flex;align-items:center;margin-bottom:8px;font-size:14px;color:#5f6368}.serp-result .serp-site-info .site-favicon{margin-right:8px}.serp-result .serp-site-info .site-favicon .favicon-image{width:16px;height:16px;background:#f1f3f4;border-radius:2px;position:relative}.serp-result .serp-site-info .site-favicon .favicon-image::after{content:"";position:absolute;top:2px;left:2px;right:2px;bottom:2px;background:#fff;border-radius:1px}.serp-result .serp-site-info .site-details{display:flex;align-items:center;flex:1}.serp-result .serp-site-info .site-details .site-name{font-weight:500}.serp-result .serp-site-info .site-details .breadcrumb-arrow{margin:0 4px;color:#9aa0a6}.serp-result .serp-site-info .site-details .page-path{color:#9aa0a6}.serp-result .serp-site-info .serp-menu{color:#9aa0a6;cursor:pointer;padding:4px;border-radius:4px}.serp-result .serp-site-info .serp-menu:hover{background:#f1f3f4}.serp-result .serp-title{font-size:20px;line-height:1.3;color:#1a0dab;margin-bottom:4px;cursor:pointer;text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.serp-result .serp-title:hover{text-decoration:underline}.serp-result .serp-content{display:flex;align-items:flex-start;gap:12px}.serp-result .serp-content.serp-content-with-image .serp-meta{flex:1}.serp-result .serp-meta{font-size:14px;line-height:1.4;color:#4d5156}.serp-result .serp-meta .serp-date{color:#5f6368}.serp-result .serp-meta .serp-separator{color:#9aa0a6}.serp-result .serp-meta .serp-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.serp-result .serp-featured-image{flex-shrink:0}.serp-result .serp-featured-image .featured-image{width:80px;height:80px;object-fit:cover;border-radius:8px}.serp-result .serp-featured-image .image-placeholder{width:80px;height:80px;background:#f8f9fa;border:1px dashed #dadce0;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9aa0a6}.serp-result .serp-featured-image .image-placeholder .image-icon{font-size:16px}.serp-result-container.mobile .serp-result .serp-title{font-size:18px}.serp-result-container.mobile .serp-result .serp-meta{font-size:13px}.serp-result-container.mobile .serp-result .serp-featured-image .featured-image{width:72px;height:72px}.serp-result-container.mobile .serp-result .serp-featured-image .image-placeholder{width:72px;height:72px}.serp-result-container.mobile .serp-result .serp-featured-image .image-placeholder .image-icon{font-size:14px}.serp-result-container.desktop .serp-result .serp-content{display:block}.serp-result-container.desktop .serp-result .serp-featured-image{display:none}@media(max-width: 768px){.serp-preview-controls .preview-toggle{flex-direction:column;gap:12px}.serp-result-container.desktop{max-width:100%}}.thinkrank-metabox-tabs{margin:16px 0}.thinkrank-metabox-tabs .components-tab-panel__tabs{display:flex;border-bottom:1px solid #ddd;margin:0 0 20px 0;padding:0;background:#f9f9f9;border-radius:4px 4px 0 0}.thinkrank-metabox-tabs .components-tab-panel__tabs-item{background:rgba(0,0,0,0);border:none;border-bottom:2px solid rgba(0,0,0,0);color:#666;cursor:pointer;font-size:14px;font-weight:500;padding:12px 20px;text-decoration:none;transition:all .2s ease}.thinkrank-metabox-tabs .components-tab-panel__tabs-item:hover{background:#fff;color:#0073aa}.thinkrank-metabox-tabs .components-tab-panel__tabs-item.is-active{background:#fff;border-bottom-color:#0073aa;color:#0073aa;font-weight:600}.thinkrank-metabox-tabs .components-tab-panel__tabs-item:focus{box-shadow:0 0 0 1px #0073aa;outline:none}.thinkrank-metabox-tabs .components-tab-panel__tab-content{padding:0}.thinkrank-metabox-tabs .components-tab-panel__tab-content .thinkrank-metabox-seo-tab,.thinkrank-metabox-tabs .components-tab-panel__tab-content .thinkrank-metabox-schema-tab,.thinkrank-metabox-tabs .components-tab-panel__tab-content .thinkrank-metabox-social-tab{min-height:200px}.thinkrank-metabox-seo-tab .thinkrank-card{margin-bottom:20px}.thinkrank-metabox-seo-tab .thinkrank-card:last-child{margin-bottom:0}.thinkrank-metabox-seo-tab .thinkrank-ai-controls{margin-top:20px;padding-top:20px;border-top:1px solid #eee}.thinkrank-metabox-seo-tab .thinkrank-ai-controls .ai-controls-row{display:flex;gap:20px;margin-bottom:16px}@media(max-width: 782px){.thinkrank-metabox-seo-tab .thinkrank-ai-controls .ai-controls-row{flex-direction:column;gap:12px}}.thinkrank-metabox-seo-tab .thinkrank-ai-controls .ai-control-group{flex:1}.thinkrank-metabox-seo-tab .thinkrank-ai-controls .ai-control-group label{display:block;font-weight:600;margin-bottom:4px;color:#333}.thinkrank-metabox-seo-tab .thinkrank-ai-controls .ai-control-group select{width:100%;padding:6px 8px;border:1px solid #ddd;border-radius:3px;font-size:14px}.thinkrank-metabox-seo-tab .thinkrank-ai-controls .ai-control-group select:focus{border-color:#0073aa;box-shadow:0 0 0 1px #0073aa;outline:none}.thinkrank-metabox-seo-tab .thinkrank-ai-controls .ai-buttons{display:flex;gap:12px}@media(max-width: 782px){.thinkrank-metabox-seo-tab .thinkrank-ai-controls .ai-buttons{flex-direction:column}}.thinkrank-metabox-seo-tab .thinkrank-ai-controls .ai-buttons .button{display:flex;align-items:center;gap:6px}.thinkrank-metabox-seo-tab .thinkrank-ai-controls .ai-buttons .button .dashicons{font-size:16px;width:16px;height:16px}.thinkrank-metabox-seo-tab .thinkrank-ai-controls .ai-buttons .button .dashicons.spin{animation:spin 1s linear infinite}.thinkrank-metabox-schema-tab .thinkrank-card{margin-bottom:20px}.thinkrank-metabox-schema-tab .thinkrank-card:last-child{margin-bottom:0}.thinkrank-metabox-schema-tab .thinkrank-field{margin-bottom:16px}.thinkrank-metabox-schema-tab .thinkrank-field label{display:block;font-weight:600;margin-bottom:4px;color:#333}.thinkrank-metabox-schema-tab .thinkrank-field select{width:100%;padding:6px 8px;border:1px solid #ddd;border-radius:3px;font-size:14px}.thinkrank-metabox-schema-tab .thinkrank-field select:focus{border-color:#0073aa;box-shadow:0 0 0 1px #0073aa;outline:none}.thinkrank-metabox-schema-tab .thinkrank-field .description{margin-top:4px;color:#666;font-size:13px}.thinkrank-metabox-schema-tab .schema-actions{margin-top:16px;display:flex;gap:12px}.thinkrank-metabox-schema-tab .schema-actions .button{display:flex;align-items:center;gap:6px}.thinkrank-metabox-schema-tab .schema-actions .button .dashicons{font-size:16px;width:16px;height:16px}.thinkrank-metabox-schema-tab .schema-actions .button .dashicons.spin{animation:spin 1s linear infinite}.thinkrank-metabox-schema-tab .schema-status-notice{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;margin-bottom:16px;background:#e8f2fd}.thinkrank-metabox-schema-tab .schema-status-notice .dashicons{color:#12467b;margin-top:2px}.thinkrank-metabox-schema-tab .schema-status-notice p{font-size:14px;margin:0;color:#12467b}.thinkrank-metabox-schema-tab .schema-status-notice.success,.thinkrank-metabox-schema-tab .schema-status-notice.deployed{background:#ecfdf3}.thinkrank-metabox-schema-tab .schema-status-notice.success .dashicons,.thinkrank-metabox-schema-tab .schema-status-notice.deployed .dashicons{color:#027a48}.thinkrank-metabox-schema-tab .schema-status-notice.success p,.thinkrank-metabox-schema-tab .schema-status-notice.deployed p{color:#027a48}.thinkrank-metabox-schema-tab .schema-status-notice.warning{background:#fffaeb}.thinkrank-metabox-schema-tab .schema-status-notice.warning .dashicons{color:#b54708}.thinkrank-metabox-schema-tab .schema-status-notice.warning p{color:#b54708}.thinkrank-metabox-schema-tab .schema-types-generated{margin-bottom:20px}.thinkrank-metabox-schema-tab .schema-types-generated h5{margin:0 0 8px 0;font-size:14px;font-weight:600}.thinkrank-metabox-schema-tab .schema-types-generated .schema-type-badges{display:flex;gap:8px;flex-wrap:wrap}.thinkrank-metabox-schema-tab .schema-types-generated .schema-type-badge{background:#0073aa;color:#fff;padding:4px 8px;border-radius:3px;font-size:12px;font-weight:500}.thinkrank-metabox-schema-tab .schema-code-preview{margin-bottom:20px}.thinkrank-metabox-schema-tab .schema-code-preview h5{margin:0 0 12px 0;font-size:14px;font-weight:600}.thinkrank-metabox-schema-tab .schema-code-preview .schema-code-block{margin-bottom:16px}.thinkrank-metabox-schema-tab .schema-code-preview .schema-code-block h6{margin:0 0 8px 0;font-size:13px;font-weight:600;color:#666}.thinkrank-metabox-schema-tab .schema-code-preview .schema-json-preview{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;padding:12px;font-size:12px;font-family:"Monaco","Menlo","Ubuntu Mono",monospace;overflow:auto;max-height:300px;white-space:pre-wrap;word-wrap:break-word}.thinkrank-metabox-schema-tab .schema-data-source h5{margin:0 0 8px 0;font-size:14px;font-weight:600}.thinkrank-metabox-schema-tab .schema-data-source ul{margin:0 0 12px 0;padding-left:20px}.thinkrank-metabox-schema-tab .schema-data-source ul li{margin-bottom:4px;font-size:13px;color:#333}.thinkrank-metabox-schema-tab .schema-data-source .description{color:#666;font-size:13px;margin:0}.thinkrank-metabox-social-tab .thinkrank-card{text-align:center;padding:40px 20px}.thinkrank-metabox-social-tab .thinkrank-card .thinkrank-card-header h4{margin-bottom:8px}.thinkrank-metabox-social-tab .thinkrank-card .description{color:#666;margin-bottom:0}.thinkrank-metabox-social-tab .thinkrank-card .thinkrank-card-body p{color:#999;font-style:italic}.thinkrank-social-preview-notice{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;margin-bottom:16px;background:#e8f2fd;font-size:14px}.thinkrank-social-preview-notice.warning{background:#fffaeb}.thinkrank-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px;background:#f9f9f9;border:1px solid #ddd;border-radius:4px;margin:16px 0}.thinkrank-loading .spinner{float:none;margin:0}.thinkrank-loading p{margin:0;color:#666;font-weight:500}@media(max-width: 782px){.thinkrank-metabox-tabs .components-tab-panel__tabs{flex-direction:column}.thinkrank-metabox-tabs .components-tab-panel__tabs-item{text-align:center;border-bottom:1px solid #ddd;border-radius:0}.thinkrank-metabox-tabs .components-tab-panel__tabs-item:last-child{border-bottom:none}.thinkrank-metabox-tabs .components-tab-panel__tabs-item.is-active{border-bottom-color:#ddd;border-left:3px solid #0073aa}}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.thinkrank-social-tab .social-preview-placeholder{text-align:center;padding:40px 20px;background:#f9fafb;border:2px dashed #ddd;border-radius:8px;color:#666}.thinkrank-social-tab .social-preview-card{border:1px solid #ddd;border-radius:8px;overflow:hidden;background:#fff;max-width:500px;margin-bottom:20px}.thinkrank-social-tab .social-preview-card .preview-platform-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f9f9f9;border-bottom:1px solid #ddd;font-size:14px}.thinkrank-social-tab .social-preview-card .preview-platform-header .preview-status.preview-valid{color:#00a32a}.thinkrank-social-tab .social-preview-card .preview-platform-header .preview-status.preview-invalid{color:#d63638}.thinkrank-social-tab .social-preview-card .preview-image{width:100%}.thinkrank-social-tab .social-preview-card .preview-image.preview-image-facebook,.thinkrank-social-tab .social-preview-card .preview-image.preview-image-linkedin{aspect-ratio:1.91/1}.thinkrank-social-tab .social-preview-card .preview-image.preview-image-twitter{aspect-ratio:2/1}.thinkrank-social-tab .social-preview-card .preview-image.preview-image-pinterest{aspect-ratio:2/3}.thinkrank-social-tab .social-preview-card .preview-image img{width:100%;height:100%;object-fit:cover}.thinkrank-social-tab .social-preview-card .preview-content{padding:16px}.thinkrank-social-tab .social-preview-card .preview-content .preview-title{margin:0 0 8px 0;font-size:16px;font-weight:600;line-height:1.4}.thinkrank-social-tab .social-preview-card .preview-content .preview-description{margin:0 0 12px 0;font-size:14px;color:#666}.thinkrank-social-tab .social-preview-card .preview-content .preview-meta{display:flex;justify-content:space-between;font-size:12px;color:#999}.thinkrank-social-tab .social-preview-card .preview-warnings{margin:16px;padding:12px;background:#fef3c7;border-radius:6px;font-size:12px;color:#92400e}.thinkrank-social-tab .data-source-info{padding:16px;background:#f9f9f9;border:1px solid #ddd;border-radius:8px;font-size:13px}.thinkrank-social-tab .data-source-info h4{margin:0 0 12px 0;font-size:14px}.thinkrank-social-tab .data-source-info ul{margin:0 0 12px 0;padding:0;list-style:none}.thinkrank-social-tab .data-source-info ul li{margin-bottom:6px;color:#666}.thinkrank-social-tab .data-source-info .help-text{margin:0;font-size:12px;color:#999;font-style:italic}@media(max-width: 768px){.thinkrank-social-tab .social-preview-card{max-width:100%}}:root{--thinkrank-primary: #4451FF;--thinkrank-text-primary: #1D1D1D;--thinkrank-text-secondary: #535353;--thinkrank-border: #D5D5DD;--thinkrank-border-light: #E2E6F1}#thinkrank-seo-metabox{display:none !important}.thinkrank-header-slot{display:inline-flex;align-items:center;margin-right:8px}.thinkrank-header-slot .tr-root{display:inline-flex;align-items:center}.thinkrank-header-launcher{line-height:1}.thinkrank-configure-seo__mark{position:relative;display:inline-flex;align-items:center;justify-content:center;line-height:0}.thinkrank-configure-seo__score{position:absolute;top:-6px;right:-8px;min-width:16px;height:16px;padding:0 3px;box-sizing:border-box;border-radius:8px;border:1.5px solid #fff;font-size:10px;font-weight:700;line-height:13px;text-align:center}.thinkrank-metabox-launcher{top:110px;left:50%;transform:translateX(-50%)}@media screen and (max-width: 782px){.thinkrank-metabox-launcher{top:92px}}.elementor-editor-active .thinkrank-metabox-launcher{top:auto;bottom:24px;left:auto;right:24px;transform:none}.thinkrank-metabox-drawer{height:82vh;max-height:82vh}.thinkrank-metabox-drawer select{width:100% !important;max-width:100% !important;box-sizing:border-box}@media screen and (max-width: 782px){.thinkrank-metabox-drawer{height:92vh;max-height:92vh}}.schema-form-container{margin:16px 0}.schema-form-container .components-card{box-shadow:none;border:1px solid #ddd}.schema-form-container .components-card .components-card-header{border-bottom:1px solid #ddd;padding:12px 16px}.schema-form-container .components-card .components-card-header h4{margin:0;font-size:14px;font-weight:600}.schema-form-container .components-card .components-card-body{padding:16px}.thinkrank-metabox .inside{margin:0 !important;padding:0 !important}.thinkrank-metabox-content{padding:20px;word-wrap:break-word;overflow-wrap:break-word;max-width:100%;box-sizing:border-box}.thinkrank-card{background:#fff;border:1px solid #ddd;border-radius:8px;margin-bottom:20px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.thinkrank-card-header{padding:16px 20px;border-bottom:1px solid #eee;background:#f9f9f9;border-radius:8px 8px 0 0}.thinkrank-card-header h4{margin:0 0 8px 0;font-size:16px;font-weight:600;color:#23282d}.thinkrank-card-header .description{margin:0;color:#666;font-size:13px;line-height:1.4}.thinkrank-card-body{padding:20px}.thinkrank-metabox-header{padding:10px 20px;margin:0 20px;border:1px solid #eee;background:#f9f9f9;border-radius:8px}.thinkrank-metabox-header h4{margin:0 0 8px 0;font-size:16px;font-weight:600;color:#23282d}.thinkrank-metabox-header .description{margin:0;color:#666;font-size:13px;line-height:1.4}.thinkrank-metabox-content h4{margin:0 0 15px 0;font-size:14px;font-weight:600}.thinkrank-metabox-content p{margin:0 0 15px 0;color:#666;font-size:13px;line-height:1.4;word-wrap:break-word}.thinkrank-field{margin-bottom:20px}.thinkrank-field label{display:block;margin-bottom:5px;font-weight:600;font-size:13px}.thinkrank-field input[type=text],.thinkrank-field textarea,.thinkrank-field select{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:13px;line-height:1.4}.thinkrank-field textarea{resize:vertical;min-height:80px}.thinkrank-field .description{margin-top:5px;color:#666;font-size:12px;font-style:italic}.character-counter{float:right;font-size:11px;color:#666;margin-top:5px}.character-counter.over-limit{color:#d63638;font-weight:600}.ai-controls-row{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap}.ai-control-group{flex:1;min-width:150px}.ai-control-group label{display:block;margin-bottom:5px;font-weight:600;font-size:13px}.ai-control-group select{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:13px}.ai-buttons{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.ai-buttons .button{display:flex;align-items:center;gap:5px;padding:8px 16px;font-size:13px}.ai-buttons .button .dashicons{font-size:16px;width:16px;height:16px}.ai-buttons .button:disabled{opacity:.6;cursor:not-allowed}.spin{animation:spin 1s linear infinite}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.thinkrank-analysis-results{margin-top:20px;padding:20px;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px}.analysis-section{margin-bottom:25px}.analysis-section:last-child{margin-bottom:0}.analysis-section h4{margin:0 0 15px 0;font-size:14px;font-weight:600;color:#333;border-bottom:2px solid #0073aa;padding-bottom:5px}.analysis-section h5{margin:0 0 10px 0;font-size:13px;font-weight:600;color:#555}.analysis-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));gap:15px}.analysis-item{padding:15px;background:#fff;border:1px solid #ddd;border-radius:6px;text-align:center}.analysis-label{display:block;font-size:12px;color:#666;margin-bottom:5px;text-transform:uppercase;font-weight:600}.analysis-value{display:block;font-size:16px;font-weight:700;color:#333;text-transform:capitalize}.suggestions-list{margin:0;padding:0;list-style:none}.suggestions-list li{margin-bottom:10px;padding:12px 15px;background:#fff;border:1px solid #ddd;border-left:4px solid #0073aa;border-radius:4px;font-size:13px;line-height:1.4}.suggestions-list li:last-child{margin-bottom:0}.strengths-weaknesses{display:grid;grid-template-columns:1fr 1fr;gap:20px}.strengths-column,.weaknesses-column{padding:15px;background:#fff;border:1px solid #ddd;border-radius:6px}.strengths-list,.weaknesses-list{margin:0;padding:0;list-style:none}.strengths-list li,.weaknesses-list li{margin-bottom:8px;padding:8px 12px;border-radius:4px;font-size:12px;line-height:1.4}.strengths-list li{background:#e8f5e8;border-left:3px solid #00a32a;color:#155724}.weaknesses-list li{background:#f8e8e8;border-left:3px solid #d63638;color:#721c24}.strengths-list li:last-child,.weaknesses-list li:last-child{margin-bottom:0}@media(max-width: 782px){.ai-controls-row{flex-direction:column}.ai-buttons{flex-direction:column}.analysis-grid{grid-template-columns:1fr}.strengths-weaknesses{grid-template-columns:1fr}}.thinkrank-field.loading input,.thinkrank-field.loading textarea{opacity:.6;pointer-events:none}.thinkrank-field input:focus,.thinkrank-field textarea:focus,.thinkrank-field select:focus{border-color:#0073aa;box-shadow:0 0 0 1px #0073aa;outline:none}.hidden{display:none}.suggestion-content{display:flex;justify-content:space-between;align-items:center;gap:10px}.priority-badge{font-size:10px;padding:2px 6px;border-radius:3px;font-weight:600;text-transform:uppercase}.priority-badge.priority-high{background-color:#dc3545;color:#fff}.priority-badge.priority-medium{background-color:#ffc107;color:#212529}.priority-badge.priority-low{background-color:#28a745;color:#fff}.priority-badge.priority-critical{background-color:#6f42c1;color:#fff}.thinkrank-refresh-indicator{position:fixed;top:32px;right:20px;background:#fff;border:1px solid #ddd;border-radius:4px;padding:8px 12px;box-shadow:0 2px 8px rgba(0,0,0,.1);z-index:9999;display:flex;align-items:center;gap:8px;font-size:13px;color:#666}.thinkrank-refresh-indicator .spinner{float:none;margin:0;width:16px;height:16px}.thinkrank-refresh-indicator span:not(.spinner){white-space:nowrap}.thinkrank-metabox-schema-tab.is-refreshing{opacity:.7;pointer-events:none;transition:opacity .2s ease}.tr-root select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%2394a3b8%27%3E%3Cpath fill-rule=%27evenodd%27 d=%27M4.22 6.22a.75.75 0 0 1 1.06 0L8 8.94l2.72-2.72a.75.75 0 1 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0L4.22 7.28a.75.75 0 0 1 0-1.06Z%27 clip-rule=%27evenodd%27/%3E%3C%2Fsvg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1rem 1rem;padding-right:1.75rem}.tr-root select:focus{outline:none !important;box-shadow:none !important}.thinkrank-metabox-panel-card{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:4px 0}.thinkrank-metabox-panel-card .thinkrank-metabox-panel-card-text{display:flex;flex-direction:column;gap:2px;min-width:0}.thinkrank-metabox-panel-card .thinkrank-metabox-panel-card-text strong{font-size:13px;line-height:1.4}.thinkrank-metabox-panel-card .thinkrank-metabox-panel-card-text span{font-size:12px;color:#646970;line-height:1.4}.thinkrank-metabox-panel-card .thinkrank-metabox-panel-card-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.thinkrank-metabox-panel-card .thinkrank-metabox-panel-card-score{font-size:15px;font-weight:600;line-height:1;color:#1e1e1e;white-space:nowrap}.thinkrank-metabox-panel-card .thinkrank-metabox-panel-card-score small{font-size:11px;font-weight:400;color:#646970}
1 +@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.thinkrank-seo-score-calculator .calculator-header{margin-bottom:20px;background:#f9f9f9;border-radius:8px;padding:10px 20px}.thinkrank-seo-score-calculator .calculator-header .header-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.thinkrank-seo-score-calculator .calculator-header .header-content h3{margin:0;font-size:18px;font-weight:600}.thinkrank-seo-score-calculator .calculator-header .last-calculated{font-size:12px;color:#666;font-style:italic}.thinkrank-seo-score-calculator .calculating-state{text-align:center;padding:40px 20px}.thinkrank-seo-score-calculator .calculating-state .components-spinner{margin-bottom:15px}.thinkrank-seo-score-calculator .calculating-state p{color:#666;margin:0}.thinkrank-seo-score-calculator .empty-state{text-align:center;padding:60px 20px}.thinkrank-seo-score-calculator .empty-state .empty-state-content{max-width:400px;margin:0 auto}.thinkrank-seo-score-calculator .empty-state .empty-state-content .empty-state-icon{font-size:48px;margin-bottom:20px}.thinkrank-seo-score-calculator .empty-state .empty-state-content h4{margin:0 0 10px 0;font-size:18px;color:#1e1e1e}.thinkrank-seo-score-calculator .empty-state .empty-state-content p{color:#666;line-height:1.5;margin:0}.thinkrank-score-breakdown .score-overview-card{margin-bottom:20px}.thinkrank-score-breakdown .score-overview-card .overall-score-display{display:flex;align-items:center;gap:20px}.thinkrank-score-breakdown .score-overview-card .overall-score-display .score-circle{width:80px;height:80px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;position:relative}.thinkrank-score-breakdown .score-overview-card .overall-score-display .score-circle.score-excellent{background:linear-gradient(135deg, #10b981, #059669);color:#fff}.thinkrank-score-breakdown .score-overview-card .overall-score-display .score-circle.score-good{background:linear-gradient(135deg, #4451ff, #4451ff);color:#fff}.thinkrank-score-breakdown .score-overview-card .overall-score-display .score-circle.score-fair{background:linear-gradient(135deg, #b54708, #b54708);color:#fff}.thinkrank-score-breakdown .score-overview-card .overall-score-display .score-circle.score-poor{background:linear-gradient(135deg, #921c13, #921c13);color:#fff}.thinkrank-score-breakdown .score-overview-card .overall-score-display .score-circle .score-number{font-size:24px;line-height:1}.thinkrank-score-breakdown .score-overview-card .overall-score-display .score-circle .score-grade{font-size:12px;opacity:.9}.thinkrank-score-breakdown .score-overview-card .overall-score-display .score-info{flex:1}.thinkrank-score-breakdown .score-overview-card .overall-score-display .score-info .score-description{font-size:16px;font-weight:500;margin:0 0 5px 0;color:#1e1e1e}.thinkrank-score-breakdown .score-overview-card .overall-score-display .score-info .score-timestamp{font-size:12px;color:#666;margin:0}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;overflow:hidden}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header{padding:16px;cursor:pointer;transition:background-color .2s}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header:hover{background-color:#f9fafb}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .components-flex{width:100%;align-items:center}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .components-flex .components-flex-item:first-child{flex:1}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .components-flex .components-flex-item.factor-score-container{flex:0 0 auto;min-width:80px;text-align:right}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .components-flex .components-flex-item:last-child{flex:0 0 auto;margin-left:8px}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .factor-info{display:flex;align-items:center;gap:12px;flex:1}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .factor-info .factor-icon{font-size:20px}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .factor-info .factor-text .factor-label{display:block;font-weight:500;color:#1e1e1e;margin-bottom:2px}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .factor-info .factor-text .factor-description{display:block;font-size:12px;color:#666}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .factor-score{text-align:right}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .factor-score .score-value{display:block;font-weight:600;margin-bottom:4px;color:#1e1e1e}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .factor-score .score-bar{width:100px;height:6px;background-color:#e5e7eb;border-radius:3px;overflow:hidden}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .factor-score .score-bar .score-bar-fill{height:100%;transition:width .3s ease}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .factor-score .score-bar .score-bar-fill.score-excellent{background-color:#10b981}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .factor-score .score-bar .score-bar-fill.score-good{background-color:#4451ff}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .factor-score .score-bar .score-bar-fill.score-fair{background-color:#b54708}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .factor-score .score-bar .score-bar-fill.score-poor{background-color:#921c13}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-details{padding:16px;background-color:#f9fafb;border-top:1px solid #e5e7eb}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-details .factor-suggestions{margin-bottom:16px}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-details .factor-suggestions h5{margin:0 0 8px 0;font-size:14px;font-weight:600;color:#1e1e1e}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-details .factor-suggestions ul{margin:0;padding-left:20px}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-details .factor-suggestions ul li{margin-bottom:4px;color:#374151;font-size:14px}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-details .factor-technical-details{margin-top:16px;padding:12px;background:#f8f9fa;border-radius:4px;border-left:3px solid #007cba}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-details .factor-technical-details h5{margin:0 0 8px 0;font-size:13px;font-weight:600;color:#1e1e1e}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-details .factor-technical-details .details-list .detail-item{display:flex;align-items:center;padding:6px 0;font-size:13px;color:#374151}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-details .factor-technical-details .details-list .detail-item::before{content:"";width:4px;height:4px;background:#007cba;border-radius:50%;margin-right:8px;flex-shrink:0}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-details .factor-technical-details .details-list .detail-item:not(:last-child){margin-bottom:2px}.improvement-suggestions-card{margin-bottom:20px}.improvement-suggestions-card .suggestions-header{display:flex;align-items:center;gap:8px}.improvement-suggestions-card .suggestions-header .suggestions-icon{font-size:20px}.improvement-suggestions-card .suggestions-header h4{margin:0;font-size:16px;font-weight:600}.improvement-suggestions-card .suggestions-count{font-size:12px;color:#666;background-color:#f3f4f6;padding:4px 8px;border-radius:12px}.improvement-suggestions-card .no-suggestions{text-align:center;padding:40px 20px}.improvement-suggestions-card .no-suggestions .success-icon{font-size:48px;margin-bottom:16px}.improvement-suggestions-card .no-suggestions h4{margin:0 0 8px 0;color:#10b981;font-size:18px}.improvement-suggestions-card .no-suggestions p{color:#666;margin:0}.improvement-suggestions-card .suggestions-list .priority-group{margin-bottom:24px}.improvement-suggestions-card .suggestions-list .priority-group .priority-header{display:flex;align-items:center;gap:8px;margin:0 0 12px 0;font-size:14px;font-weight:600}.improvement-suggestions-card .suggestions-list .priority-group .priority-header .priority-icon{font-size:12px}.improvement-suggestions-card .suggestions-list .priority-group .priority-header .priority-count{font-size:12px;color:#666;font-weight:400}.improvement-suggestions-card .suggestions-list .priority-group.priority-high .priority-header{color:#921c13}.improvement-suggestions-card .suggestions-list .priority-group.priority-medium .priority-header{color:#b54708}.improvement-suggestions-card .suggestions-list .priority-group.priority-low .priority-header{color:#059669}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:8px}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item.priority-high{border-left:4px solid #921c13}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item.priority-medium{border-left:4px solid #b54708}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item.priority-low{border-left:4px solid #059669}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item .suggestion-content{padding:16px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item .suggestion-content .suggestion-text{flex:1;display:flex;flex-direction:column;gap:8px}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item .suggestion-content .suggestion-text .category-badge{display:inline-block;background-color:#f3f4f6;color:#374151;font-size:10px;font-weight:500;text-transform:uppercase;padding:2px 6px;border-radius:3px;align-self:flex-start}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item .suggestion-content .suggestion-text .suggestion-message{font-size:14px;line-height:1.5;color:#374151}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item .suggestion-content .suggestion-text .priority-badge{display:inline-block;font-size:10px;font-weight:600;text-transform:uppercase;padding:3px 8px;align-self:flex-start;border-radius:4px;margin-right:8px}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item .suggestion-content .suggestion-text .priority-badge.priority-high{background-color:#fef2f2;color:#921c13;border:1px solid #fecaca}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item .suggestion-content .suggestion-text .priority-badge.priority-medium{background-color:#fffbeb;color:#b54708;border:1px solid #fed7aa}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item .suggestion-content .suggestion-text .priority-badge.priority-low{background-color:#f0fdf4;color:#059669;border:1px solid #bbf7d0}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item .suggestion-content .suggestion-actions{display:flex;gap:8px;flex-shrink:0}.improvement-suggestions-card .dismissed-suggestions-notice{margin-top:16px}@media(max-width: 768px){.thinkrank-score-breakdown .score-overview-card .overall-score-display{flex-direction:column;text-align:center;gap:16px}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .factor-score{min-width:auto}.thinkrank-score-breakdown .score-factors-card .score-factors-list .score-factor-item .factor-header .factor-score .score-bar{width:80px}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item .suggestion-content{flex-direction:column;gap:12px}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item .suggestion-content .suggestion-actions{align-self:flex-end}.seo-score-summary-card .analysis-section.score-section{flex-direction:column;text-align:center;gap:20px}.seo-score-summary-card .analysis-section.score-section .score-circle{width:100px;height:100px}.seo-score-summary-card .analysis-section.score-section .score-circle .score-number{font-size:28px}.seo-score-summary-card .analysis-section.score-section .score-circle .score-grade{font-size:16px}.seo-score-summary-card .analysis-section.score-section .score-breakdown{width:100%}.seo-score-summary-card .analysis-section.score-section .score-breakdown .score-item{flex-direction:column;text-align:center;gap:8px}.seo-score-summary-card .analysis-section.score-section .score-breakdown .score-item .score-label{font-size:13px}.seo-score-summary-card .analysis-section.score-section .score-breakdown .score-item .score-value{font-size:13px}.seo-score-summary-card .analysis-section.content-analysis .analysis-grid{grid-template-columns:1fr;gap:12px}.seo-score-summary-card .analysis-section.content-analysis .analysis-grid .analysis-item{flex-direction:column;text-align:center;gap:6px}.seo-score-summary-card .analysis-section.content-analysis .analysis-grid .analysis-item .analysis-label{font-size:12px}.seo-score-summary-card .analysis-section.content-analysis .analysis-grid .analysis-item .analysis-value{font-size:12px}}@media(max-width: 480px){.seo-score-summary-card .analysis-section.score-section{padding:16px}.seo-score-summary-card .analysis-section.score-section .score-circle{width:80px;height:80px}.seo-score-summary-card .analysis-section.score-section .score-circle .score-number{font-size:24px}.seo-score-summary-card .analysis-section.score-section .score-circle .score-grade{font-size:14px}.seo-score-summary-card .analysis-section.score-section .score-circle .score-label{font-size:10px}.seo-score-summary-card .analysis-section.content-analysis{padding:16px}.seo-score-summary-card .analysis-section.content-analysis h4{font-size:14px}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item .suggestion-content .suggestion-text .suggestion-message{font-size:13px}.improvement-suggestions-card .suggestions-list .priority-group .suggestions-in-group .suggestion-item .suggestion-content .suggestion-text .priority-badge{font-size:9px;padding:2px 6px}}.seo-score-summary-card{margin-bottom:20px}.seo-score-summary-card .analysis-section.score-section{display:flex;align-items:center;gap:24px;margin-bottom:24px;padding:20px;background:linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);border-radius:12px;border:1px solid #e2e8f0}.seo-score-summary-card .analysis-section.score-section .score-circle{display:flex;flex-direction:column;align-items:center;justify-content:center;width:120px;height:120px;border-radius:50%;border:4px solid;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.1);flex-shrink:0}.seo-score-summary-card .analysis-section.score-section .score-circle .score-number{font-size:32px;font-weight:700;line-height:1;margin-bottom:4px}.seo-score-summary-card .analysis-section.score-section .score-circle .score-grade{font-size:18px;font-weight:600;line-height:1;margin-bottom:4px}.seo-score-summary-card .analysis-section.score-section .score-circle .score-label{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;opacity:.8}.seo-score-summary-card .analysis-section.score-section .score-circle.score-high{border-color:#10b981;color:#10b981;background:linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%)}.seo-score-summary-card .analysis-section.score-section .score-circle.score-medium{border-color:#b54708;color:#b54708;background:linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%)}.seo-score-summary-card .analysis-section.score-section .score-circle.score-low{border-color:#921c13;color:#921c13;background:linear-gradient(135deg, #fef2f2 0%, #fecaca 100%)}.seo-score-summary-card .analysis-section.score-section .score-breakdown{flex:1;display:grid;grid-template-columns:1fr;gap:16px}.seo-score-summary-card .analysis-section.score-section .score-breakdown .score-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border-radius:8px;border:1px solid #e5e7eb;box-shadow:0 1px 3px rgba(0,0,0,.05)}.seo-score-summary-card .analysis-section.score-section .score-breakdown .score-item .score-label{font-weight:600;color:#374151;font-size:14px}.seo-score-summary-card .analysis-section.score-section .score-breakdown .score-item .score-value{font-weight:500;color:#1f2937;font-size:14px;padding:4px 8px;background:#f9fafb;border-radius:4px;border:1px solid #e5e7eb}.seo-score-summary-card .analysis-section.content-analysis{padding:20px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.seo-score-summary-card .analysis-section.content-analysis h4{margin:0 0 16px 0;font-size:16px;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:8px}.seo-score-summary-card .analysis-section.content-analysis h4::before{content:"📊";font-size:18px}.seo-score-summary-card .analysis-section.content-analysis .analysis-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:16px}.seo-score-summary-card .analysis-section.content-analysis .analysis-grid .analysis-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border-radius:6px;border:1px solid #e5e7eb}.seo-score-summary-card .analysis-section.content-analysis .analysis-grid .analysis-item .analysis-label{font-weight:500;color:#6b7280;font-size:13px}.seo-score-summary-card .analysis-section.content-analysis .analysis-grid .analysis-item .analysis-value{font-weight:600;color:#1f2937;font-size:13px}.seo-score-summary-card .analysis-section.content-analysis .analysis-grid .analysis-item .analysis-note{display:block;font-size:11px;color:#666;margin-top:2px;font-style:italic}.thinkrank-seo-results-tabs{margin-top:20px}.thinkrank-seo-results-tabs .components-tab-panel__tabs{display:flex;border-bottom:1px solid #ddd;margin-bottom:20px}.thinkrank-seo-results-tabs .components-tab-panel__tabs .components-button{border:none;border-bottom:2px solid rgba(0,0,0,0);border-radius:0;padding:12px 20px;font-weight:500;color:#666;background:none;transition:all .2s ease}.thinkrank-seo-results-tabs .components-tab-panel__tabs .components-button:hover{color:#0073aa;background-color:#f8f9fa}.thinkrank-seo-results-tabs .components-tab-panel__tabs .components-button.is-active{color:#0073aa;border-bottom-color:#0073aa;background-color:#fff}.thinkrank-seo-results-tabs .components-tab-panel__tabs .components-button .tab-title-with-badge{display:flex;align-items:center;gap:6px}.thinkrank-seo-results-tabs .components-tab-panel__tabs .components-button .tab-title-with-badge .suggestion-count-badge{background-color:#dc3545;color:#fff;font-size:11px;font-weight:600;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center;line-height:1.2}.thinkrank-seo-results-tabs .tab-content{min-height:300px}.thinkrank-seo-results-tabs .tab-content .no-suggestions-message{text-align:center;padding:60px 20px}.thinkrank-seo-results-tabs .tab-content .no-suggestions-message .success-icon{font-size:48px;margin-bottom:16px}.thinkrank-seo-results-tabs .tab-content .no-suggestions-message h4{margin:0 0 8px 0;color:#10b981;font-size:18px}.thinkrank-seo-results-tabs .tab-content .no-suggestions-message p{color:#666;margin:0;font-size:14px}.thinkrank-suggestion-modal .modal-content{margin-bottom:20px}.thinkrank-suggestion-modal .modal-content .suggestion-quote{background-color:#f8f9fa;border-left:4px solid #0073aa;padding:12px 16px;margin:12px 0;font-style:italic;color:#1e1e1e}.thinkrank-suggestion-modal .modal-content .guidance-section{background-color:#e7f3ff;border:1px solid #b3d9ff;border-radius:6px;padding:12px;margin:12px 0}.thinkrank-suggestion-modal .modal-content .guidance-section p{margin:0;color:#0073aa;font-weight:500}.thinkrank-suggestion-modal .modal-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:16px;border-top:1px solid #ddd}.serp-preview-controls{margin-bottom:20px}.serp-preview-controls .preview-label{display:block;font-weight:600;margin-bottom:8px;color:var(--thinkrank-text-primary)}.serp-preview-controls .preview-toggle{display:flex;gap:16px}.serp-preview-controls .preview-toggle .toggle-option{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--thinkrank-text-secondary);transition:color .2s ease}.serp-preview-controls .preview-toggle .toggle-option.active{color:var(--thinkrank-primary);font-weight:500}.serp-preview-controls .preview-toggle .toggle-option input[type=radio]{display:none}.serp-preview-controls .preview-toggle .toggle-option .radio-icon{width:16px;height:16px;border:2px solid var(--thinkrank-border);border-radius:50%;position:relative;transition:all .2s ease}.serp-preview-controls .preview-toggle .toggle-option .radio-icon::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:8px;height:8px;border-radius:50%;background:var(--thinkrank-primary);opacity:0;transition:opacity .2s ease}.serp-preview-controls .preview-toggle .toggle-option.active .radio-icon{border-color:var(--thinkrank-primary)}.serp-preview-controls .preview-toggle .toggle-option.active .radio-icon::after{opacity:1}.serp-result-container{background:#f8f9fa;border:1px solid var(--thinkrank-border-light);border-radius:8px;padding:20px}.serp-result-container.mobile{max-width:375px;margin:0 auto}.serp-result-container.desktop{max-width:600px}.serp-result{background:#fff;border-radius:8px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,.1);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}.serp-result .serp-site-info{display:flex;align-items:center;margin-bottom:8px;font-size:14px;color:#5f6368}.serp-result .serp-site-info .site-favicon{margin-right:8px}.serp-result .serp-site-info .site-favicon .favicon-image{width:16px;height:16px;background:#f1f3f4;border-radius:2px;position:relative}.serp-result .serp-site-info .site-favicon .favicon-image::after{content:"";position:absolute;top:2px;left:2px;right:2px;bottom:2px;background:#fff;border-radius:1px}.serp-result .serp-site-info .site-details{display:flex;align-items:center;flex:1}.serp-result .serp-site-info .site-details .site-name{font-weight:500}.serp-result .serp-site-info .site-details .breadcrumb-arrow{margin:0 4px;color:#9aa0a6}.serp-result .serp-site-info .site-details .page-path{color:#9aa0a6}.serp-result .serp-site-info .serp-menu{color:#9aa0a6;cursor:pointer;padding:4px;border-radius:4px}.serp-result .serp-site-info .serp-menu:hover{background:#f1f3f4}.serp-result .serp-title{font-size:20px;line-height:1.3;color:#1a0dab;margin-bottom:4px;cursor:pointer;text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.serp-result .serp-title:hover{text-decoration:underline}.serp-result .serp-content{display:flex;align-items:flex-start;gap:12px}.serp-result .serp-content.serp-content-with-image .serp-meta{flex:1}.serp-result .serp-meta{font-size:14px;line-height:1.4;color:#4d5156}.serp-result .serp-meta .serp-date{color:#5f6368}.serp-result .serp-meta .serp-separator{color:#9aa0a6}.serp-result .serp-meta .serp-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.serp-result .serp-featured-image{flex-shrink:0}.serp-result .serp-featured-image .featured-image{width:80px;height:80px;object-fit:cover;border-radius:8px}.serp-result .serp-featured-image .image-placeholder{width:80px;height:80px;background:#f8f9fa;border:1px dashed #dadce0;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9aa0a6}.serp-result .serp-featured-image .image-placeholder .image-icon{font-size:16px}.serp-result-container.mobile .serp-result .serp-title{font-size:18px}.serp-result-container.mobile .serp-result .serp-meta{font-size:13px}.serp-result-container.mobile .serp-result .serp-featured-image .featured-image{width:72px;height:72px}.serp-result-container.mobile .serp-result .serp-featured-image .image-placeholder{width:72px;height:72px}.serp-result-container.mobile .serp-result .serp-featured-image .image-placeholder .image-icon{font-size:14px}.serp-result-container.desktop .serp-result .serp-content{display:block}.serp-result-container.desktop .serp-result .serp-featured-image{display:none}@media(max-width: 768px){.serp-preview-controls .preview-toggle{flex-direction:column;gap:12px}.serp-result-container.desktop{max-width:100%}}.thinkrank-metabox-tabs{margin:16px 0}.thinkrank-metabox-tabs .components-tab-panel__tabs{display:flex;border-bottom:1px solid #ddd;margin:0 0 20px 0;padding:0;background:#f9f9f9;border-radius:4px 4px 0 0}.thinkrank-metabox-tabs .components-tab-panel__tabs-item{background:rgba(0,0,0,0);border:none;border-bottom:2px solid rgba(0,0,0,0);color:#666;cursor:pointer;font-size:14px;font-weight:500;padding:12px 20px;text-decoration:none;transition:all .2s ease}.thinkrank-metabox-tabs .components-tab-panel__tabs-item:hover{background:#fff;color:#0073aa}.thinkrank-metabox-tabs .components-tab-panel__tabs-item.is-active{background:#fff;border-bottom-color:#0073aa;color:#0073aa;font-weight:600}.thinkrank-metabox-tabs .components-tab-panel__tabs-item:focus{box-shadow:0 0 0 1px #0073aa;outline:none}.thinkrank-metabox-tabs .components-tab-panel__tab-content{padding:0}.thinkrank-metabox-tabs .components-tab-panel__tab-content .thinkrank-metabox-seo-tab,.thinkrank-metabox-tabs .components-tab-panel__tab-content .thinkrank-metabox-schema-tab,.thinkrank-metabox-tabs .components-tab-panel__tab-content .thinkrank-metabox-social-tab{min-height:200px}.thinkrank-metabox-seo-tab .thinkrank-card{margin-bottom:20px}.thinkrank-metabox-seo-tab .thinkrank-card:last-child{margin-bottom:0}.thinkrank-metabox-seo-tab .thinkrank-ai-controls{margin-top:20px;padding-top:20px;border-top:1px solid #eee}.thinkrank-metabox-seo-tab .thinkrank-ai-controls .ai-controls-row{display:flex;gap:20px;margin-bottom:16px}@media(max-width: 782px){.thinkrank-metabox-seo-tab .thinkrank-ai-controls .ai-controls-row{flex-direction:column;gap:12px}}.thinkrank-metabox-seo-tab .thinkrank-ai-controls .ai-control-group{flex:1}.thinkrank-metabox-seo-tab .thinkrank-ai-controls .ai-control-group label{display:block;font-weight:600;margin-bottom:4px;color:#333}.thinkrank-metabox-seo-tab .thinkrank-ai-controls .ai-control-group select{width:100%;padding:6px 8px;border:1px solid #ddd;border-radius:3px;font-size:14px}.thinkrank-metabox-seo-tab .thinkrank-ai-controls .ai-control-group select:focus{border-color:#0073aa;box-shadow:0 0 0 1px #0073aa;outline:none}.thinkrank-metabox-seo-tab .thinkrank-ai-controls .ai-buttons{display:flex;gap:12px}@media(max-width: 782px){.thinkrank-metabox-seo-tab .thinkrank-ai-controls .ai-buttons{flex-direction:column}}.thinkrank-metabox-seo-tab .thinkrank-ai-controls .ai-buttons .button{display:flex;align-items:center;gap:6px}.thinkrank-metabox-seo-tab .thinkrank-ai-controls .ai-buttons .button .dashicons{font-size:16px;width:16px;height:16px}.thinkrank-metabox-seo-tab .thinkrank-ai-controls .ai-buttons .button .dashicons.spin{animation:spin 1s linear infinite}.thinkrank-metabox-schema-tab .thinkrank-card{margin-bottom:20px}.thinkrank-metabox-schema-tab .thinkrank-card:last-child{margin-bottom:0}.thinkrank-metabox-schema-tab .thinkrank-field{margin-bottom:16px}.thinkrank-metabox-schema-tab .thinkrank-field label{display:block;font-weight:600;margin-bottom:4px;color:#333}.thinkrank-metabox-schema-tab .thinkrank-field select{width:100%;padding:6px 8px;border:1px solid #ddd;border-radius:3px;font-size:14px}.thinkrank-metabox-schema-tab .thinkrank-field select:focus{border-color:#0073aa;box-shadow:0 0 0 1px #0073aa;outline:none}.thinkrank-metabox-schema-tab .thinkrank-field .description{margin-top:4px;color:#666;font-size:13px}.thinkrank-metabox-schema-tab .schema-actions{margin-top:16px;display:flex;gap:12px}.thinkrank-metabox-schema-tab .schema-actions .button{display:flex;align-items:center;gap:6px}.thinkrank-metabox-schema-tab .schema-actions .button .dashicons{font-size:16px;width:16px;height:16px}.thinkrank-metabox-schema-tab .schema-actions .button .dashicons.spin{animation:spin 1s linear infinite}.thinkrank-metabox-schema-tab .schema-status-notice{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;margin-bottom:16px;background:#e8f2fd}.thinkrank-metabox-schema-tab .schema-status-notice .dashicons{color:#12467b;margin-top:2px}.thinkrank-metabox-schema-tab .schema-status-notice p{font-size:14px;margin:0;color:#12467b}.thinkrank-metabox-schema-tab .schema-status-notice.success,.thinkrank-metabox-schema-tab .schema-status-notice.deployed{background:#ecfdf3}.thinkrank-metabox-schema-tab .schema-status-notice.success .dashicons,.thinkrank-metabox-schema-tab .schema-status-notice.deployed .dashicons{color:#027a48}.thinkrank-metabox-schema-tab .schema-status-notice.success p,.thinkrank-metabox-schema-tab .schema-status-notice.deployed p{color:#027a48}.thinkrank-metabox-schema-tab .schema-status-notice.warning{background:#fffaeb}.thinkrank-metabox-schema-tab .schema-status-notice.warning .dashicons{color:#b54708}.thinkrank-metabox-schema-tab .schema-status-notice.warning p{color:#b54708}.thinkrank-metabox-schema-tab .schema-types-generated{margin-bottom:20px}.thinkrank-metabox-schema-tab .schema-types-generated h5{margin:0 0 8px 0;font-size:14px;font-weight:600}.thinkrank-metabox-schema-tab .schema-types-generated .schema-type-badges{display:flex;gap:8px;flex-wrap:wrap}.thinkrank-metabox-schema-tab .schema-types-generated .schema-type-badge{background:#0073aa;color:#fff;padding:4px 8px;border-radius:3px;font-size:12px;font-weight:500}.thinkrank-metabox-schema-tab .schema-code-preview{margin-bottom:20px}.thinkrank-metabox-schema-tab .schema-code-preview h5{margin:0 0 12px 0;font-size:14px;font-weight:600}.thinkrank-metabox-schema-tab .schema-code-preview .schema-code-block{margin-bottom:16px}.thinkrank-metabox-schema-tab .schema-code-preview .schema-code-block h6{margin:0 0 8px 0;font-size:13px;font-weight:600;color:#666}.thinkrank-metabox-schema-tab .schema-code-preview .schema-json-preview{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;padding:12px;font-size:12px;font-family:Monaco,Menlo,"Ubuntu Mono",monospace;overflow:auto;max-height:300px;white-space:pre-wrap;word-wrap:break-word}.thinkrank-metabox-schema-tab .schema-data-source h5{margin:0 0 8px 0;font-size:14px;font-weight:600}.thinkrank-metabox-schema-tab .schema-data-source ul{margin:0 0 12px 0;padding-left:20px}.thinkrank-metabox-schema-tab .schema-data-source ul li{margin-bottom:4px;font-size:13px;color:#333}.thinkrank-metabox-schema-tab .schema-data-source .description{color:#666;font-size:13px;margin:0}.thinkrank-metabox-social-tab .thinkrank-card{text-align:center;padding:40px 20px}.thinkrank-metabox-social-tab .thinkrank-card .thinkrank-card-header h4{margin-bottom:8px}.thinkrank-metabox-social-tab .thinkrank-card .description{color:#666;margin-bottom:0}.thinkrank-metabox-social-tab .thinkrank-card .thinkrank-card-body p{color:#999;font-style:italic}.thinkrank-social-preview-notice{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;margin-bottom:16px;background:#e8f2fd;font-size:14px}.thinkrank-social-preview-notice.warning{background:#fffaeb}.thinkrank-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px;background:#f9f9f9;border:1px solid #ddd;border-radius:4px;margin:16px 0}.thinkrank-loading .spinner{float:none;margin:0}.thinkrank-loading p{margin:0;color:#666;font-weight:500}@media(max-width: 782px){.thinkrank-metabox-tabs .components-tab-panel__tabs{flex-direction:column}.thinkrank-metabox-tabs .components-tab-panel__tabs-item{text-align:center;border-bottom:1px solid #ddd;border-radius:0}.thinkrank-metabox-tabs .components-tab-panel__tabs-item:last-child{border-bottom:none}.thinkrank-metabox-tabs .components-tab-panel__tabs-item.is-active{border-bottom-color:#ddd;border-left:3px solid #0073aa}}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.thinkrank-social-tab .social-preview-placeholder{text-align:center;padding:40px 20px;background:#f9fafb;border:2px dashed #ddd;border-radius:8px;color:#666}.thinkrank-social-tab .social-preview-card{border:1px solid #ddd;border-radius:8px;overflow:hidden;background:#fff;max-width:500px;margin-bottom:20px}.thinkrank-social-tab .social-preview-card .preview-platform-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f9f9f9;border-bottom:1px solid #ddd;font-size:14px}.thinkrank-social-tab .social-preview-card .preview-platform-header .preview-status.preview-valid{color:#00a32a}.thinkrank-social-tab .social-preview-card .preview-platform-header .preview-status.preview-invalid{color:#d63638}.thinkrank-social-tab .social-preview-card .preview-image{width:100%}.thinkrank-social-tab .social-preview-card .preview-image.preview-image-facebook,.thinkrank-social-tab .social-preview-card .preview-image.preview-image-linkedin{aspect-ratio:1.91/1}.thinkrank-social-tab .social-preview-card .preview-image.preview-image-twitter{aspect-ratio:2/1}.thinkrank-social-tab .social-preview-card .preview-image.preview-image-pinterest{aspect-ratio:2/3}.thinkrank-social-tab .social-preview-card .preview-image img{width:100%;height:100%;object-fit:cover}.thinkrank-social-tab .social-preview-card .preview-content{padding:16px}.thinkrank-social-tab .social-preview-card .preview-content .preview-title{margin:0 0 8px 0;font-size:16px;font-weight:600;line-height:1.4}.thinkrank-social-tab .social-preview-card .preview-content .preview-description{margin:0 0 12px 0;font-size:14px;color:#666}.thinkrank-social-tab .social-preview-card .preview-content .preview-meta{display:flex;justify-content:space-between;font-size:12px;color:#999}.thinkrank-social-tab .social-preview-card .preview-warnings{margin:16px;padding:12px;background:#fef3c7;border-radius:6px;font-size:12px;color:#92400e}.thinkrank-social-tab .data-source-info{padding:16px;background:#f9f9f9;border:1px solid #ddd;border-radius:8px;font-size:13px}.thinkrank-social-tab .data-source-info h4{margin:0 0 12px 0;font-size:14px}.thinkrank-social-tab .data-source-info ul{margin:0 0 12px 0;padding:0;list-style:none}.thinkrank-social-tab .data-source-info ul li{margin-bottom:6px;color:#666}.thinkrank-social-tab .data-source-info .help-text{margin:0;font-size:12px;color:#999;font-style:italic}@media(max-width: 768px){.thinkrank-social-tab .social-preview-card{max-width:100%}}:root{--thinkrank-primary: #4451ff;--thinkrank-text-primary: #1d1d1d;--thinkrank-text-secondary: #535353;--thinkrank-border: #d5d5dd;--thinkrank-border-light: #e2e6f1}.thinkrank-header-slot{display:inline-flex;align-items:center;margin-right:8px}.thinkrank-header-slot .tr-root{display:inline-flex;align-items:center}.thinkrank-header-launcher{line-height:1}.thinkrank-configure-seo__mark{position:relative;display:inline-flex;align-items:center;justify-content:center;line-height:0}.thinkrank-configure-seo__score{position:absolute;top:-6px;right:-8px;min-width:16px;height:16px;padding:0 3px;box-sizing:border-box;border-radius:8px;border:1.5px solid #fff;font-size:10px;font-weight:700;line-height:13px;text-align:center}.thinkrank-metabox-launcher{top:110px;left:50%;transform:translateX(-50%)}@media screen and (max-width: 782px){.thinkrank-metabox-launcher{top:92px}}.elementor-editor-active .thinkrank-metabox-launcher{top:auto;bottom:24px;left:auto;right:24px;transform:none}.thinkrank-metabox-drawer{height:82vh;max-height:82vh}.thinkrank-metabox-drawer select{width:100% !important;max-width:100% !important;box-sizing:border-box}@media screen and (max-width: 782px){.thinkrank-metabox-drawer{height:92vh;max-height:92vh}}.schema-form-container{margin:16px 0}.schema-form-container .components-card{box-shadow:none;border:1px solid #ddd}.schema-form-container .components-card .components-card-header{border-bottom:1px solid #ddd;padding:12px 16px}.schema-form-container .components-card .components-card-header h4{margin:0;font-size:14px;font-weight:600}.schema-form-container .components-card .components-card-body{padding:16px}.thinkrank-metabox .inside{margin:0 !important;padding:0 !important}.thinkrank-metabox-content{padding:20px;word-wrap:break-word;overflow-wrap:break-word;max-width:100%;box-sizing:border-box}.thinkrank-card{background:#fff;border:1px solid #ddd;border-radius:8px;margin-bottom:20px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.thinkrank-card-header{padding:16px 20px;border-bottom:1px solid #eee;background:#f9f9f9;border-radius:8px 8px 0 0}.thinkrank-card-header h4{margin:0 0 8px 0;font-size:16px;font-weight:600;color:#23282d}.thinkrank-card-header .description{margin:0;color:#666;font-size:13px;line-height:1.4}.thinkrank-card-body{padding:20px}.thinkrank-metabox-header{padding:10px 20px;margin:0 20px;border:1px solid #eee;background:#f9f9f9;border-radius:8px}.thinkrank-metabox-header h4{margin:0 0 8px 0;font-size:16px;font-weight:600;color:#23282d}.thinkrank-metabox-header .description{margin:0;color:#666;font-size:13px;line-height:1.4}.thinkrank-metabox-content h4{margin:0 0 15px 0;font-size:14px;font-weight:600}.thinkrank-metabox-content p{margin:0 0 15px 0;color:#666;font-size:13px;line-height:1.4;word-wrap:break-word}.thinkrank-field{margin-bottom:20px}.thinkrank-field label{display:block;margin-bottom:5px;font-weight:600;font-size:13px}.thinkrank-field input[type=text],.thinkrank-field textarea,.thinkrank-field select{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:13px;line-height:1.4}.thinkrank-field textarea{resize:vertical;min-height:80px}.thinkrank-field .description{margin-top:5px;color:#666;font-size:12px;font-style:italic}.character-counter{float:right;font-size:11px;color:#666;margin-top:5px}.character-counter.over-limit{color:#d63638;font-weight:600}.ai-controls-row{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap}.ai-control-group{flex:1;min-width:150px}.ai-control-group label{display:block;margin-bottom:5px;font-weight:600;font-size:13px}.ai-control-group select{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:13px}.ai-buttons{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.ai-buttons .button{display:flex;align-items:center;gap:5px;padding:8px 16px;font-size:13px}.ai-buttons .button .dashicons{font-size:16px;width:16px;height:16px}.ai-buttons .button:disabled{opacity:.6;cursor:not-allowed}.spin{animation:spin 1s linear infinite}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.thinkrank-analysis-results{margin-top:20px;padding:20px;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px}.analysis-section{margin-bottom:25px}.analysis-section:last-child{margin-bottom:0}.analysis-section h4{margin:0 0 15px 0;font-size:14px;font-weight:600;color:#333;border-bottom:2px solid #0073aa;padding-bottom:5px}.analysis-section h5{margin:0 0 10px 0;font-size:13px;font-weight:600;color:#555}.analysis-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));gap:15px}.analysis-item{padding:15px;background:#fff;border:1px solid #ddd;border-radius:6px;text-align:center}.analysis-label{display:block;font-size:12px;color:#666;margin-bottom:5px;text-transform:uppercase;font-weight:600}.analysis-value{display:block;font-size:16px;font-weight:700;color:#333;text-transform:capitalize}.suggestions-list{margin:0;padding:0;list-style:none}.suggestions-list li{margin-bottom:10px;padding:12px 15px;background:#fff;border:1px solid #ddd;border-left:4px solid #0073aa;border-radius:4px;font-size:13px;line-height:1.4}.suggestions-list li:last-child{margin-bottom:0}.strengths-weaknesses{display:grid;grid-template-columns:1fr 1fr;gap:20px}.strengths-column,.weaknesses-column{padding:15px;background:#fff;border:1px solid #ddd;border-radius:6px}.strengths-list,.weaknesses-list{margin:0;padding:0;list-style:none}.strengths-list li,.weaknesses-list li{margin-bottom:8px;padding:8px 12px;border-radius:4px;font-size:12px;line-height:1.4}.strengths-list li{background:#e8f5e8;border-left:3px solid #00a32a;color:#155724}.weaknesses-list li{background:#f8e8e8;border-left:3px solid #d63638;color:#721c24}.strengths-list li:last-child,.weaknesses-list li:last-child{margin-bottom:0}@media(max-width: 782px){.ai-controls-row{flex-direction:column}.ai-buttons{flex-direction:column}.analysis-grid{grid-template-columns:1fr}.strengths-weaknesses{grid-template-columns:1fr}}.thinkrank-field.loading input,.thinkrank-field.loading textarea{opacity:.6;pointer-events:none}.thinkrank-field input:focus,.thinkrank-field textarea:focus,.thinkrank-field select:focus{border-color:#0073aa;box-shadow:0 0 0 1px #0073aa;outline:none}.hidden{display:none}.suggestion-content{display:flex;justify-content:space-between;align-items:center;gap:10px}.priority-badge{font-size:10px;padding:2px 6px;border-radius:3px;font-weight:600;text-transform:uppercase}.priority-badge.priority-high{background-color:#dc3545;color:#fff}.priority-badge.priority-medium{background-color:#ffc107;color:#212529}.priority-badge.priority-low{background-color:#28a745;color:#fff}.priority-badge.priority-critical{background-color:#6f42c1;color:#fff}.thinkrank-refresh-indicator{position:fixed;top:32px;right:20px;background:#fff;border:1px solid #ddd;border-radius:4px;padding:8px 12px;box-shadow:0 2px 8px rgba(0,0,0,.1);z-index:9999;display:flex;align-items:center;gap:8px;font-size:13px;color:#666}.thinkrank-refresh-indicator .spinner{float:none;margin:0;width:16px;height:16px}.thinkrank-refresh-indicator span:not(.spinner){white-space:nowrap}.thinkrank-metabox-schema-tab.is-refreshing{opacity:.7;pointer-events:none;transition:opacity .2s ease}.tr-root select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%2394a3b8%27%3E%3Cpath fill-rule=%27evenodd%27 d=%27M4.22 6.22a.75.75 0 0 1 1.06 0L8 8.94l2.72-2.72a.75.75 0 1 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0L4.22 7.28a.75.75 0 0 1 0-1.06Z%27 clip-rule=%27evenodd%27/%3E%3C%2Fsvg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1rem 1rem;padding-right:1.75rem}.tr-root select:focus{outline:none !important;box-shadow:none !important}.thinkrank-metabox-panel-card{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:4px 0}.thinkrank-metabox-panel-card .thinkrank-metabox-panel-card-text{display:flex;flex-direction:column;gap:2px;min-width:0}.thinkrank-metabox-panel-card .thinkrank-metabox-panel-card-text strong{font-size:13px;line-height:1.4}.thinkrank-metabox-panel-card .thinkrank-metabox-panel-card-text span{font-size:12px;color:#646970;line-height:1.4}.thinkrank-metabox-panel-card .thinkrank-metabox-panel-card-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.thinkrank-metabox-panel-card .thinkrank-metabox-panel-card-score{font-size:15px;font-weight:600;line-height:1;color:#1e1e1e;white-space:nowrap}.thinkrank-metabox-panel-card .thinkrank-metabox-panel-card-score small{font-size:11px;font-weight:400;color:#646970}
3 2 /* Full-page WP chrome takeover — applied when ThinkRank admin UI is active */
4 3
5 4 #wpcontent:has(#thinkrank-root) {
6 5 padding-left: 0;
@@ -54,8 +53,9 @@
54 53 and normal WP screens are untouched; `min-width: 783px` avoids WP's
55 54 off-canvas mobile menu; no `!important`, so WP's own inline pin styles still
56 55 win for a taller-than-viewport menu. */
57 56 @media screen and (min-width: 783px) {
57 +
58 58 body:has(#thinkrank-root) #adminmenuwrap {
59 59 position: fixed;
60 60 top: var(--wp-admin--admin-bar--height, 32px);
61 61 bottom: 0;
@@ -60,8 +60,9 @@
60 60 top: var(--wp-admin--admin-bar--height, 32px);
61 61 bottom: 0;
62 62 overflow-x: hidden;
63 63 overflow-y: auto;
64 +
64 65 /* Keep the menu scrollable for taller-than-viewport menus, but hide the
65 66 scrollbar so the sidebar stays clean (Firefox / IE / WebKit). */
66 67 scrollbar-width: none;
67 68 -ms-overflow-style: none;
@@ -90,16 +91,18 @@
90 91
91 92 /* Ensure Inter font applies inside both admin shell and metabox */
92 93 #thinkrank-root,
93 94 .tr-root {
94 - font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
95 + font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
95 96 -webkit-font-smoothing: antialiased;
96 97 -moz-osx-font-smoothing: grayscale;
97 98 }
98 99
99 100 /* ─── Reduced-motion ────────────────────────────────────────────────────────── */
101 +
100 102 /* Honour the user's OS-level preference; collapse all durations to near-zero */
101 103 @media (prefers-reduced-motion: reduce) {
104 +
102 105 .tr-root *,
103 106 .tr-root *::before,
104 107 .tr-root *::after {
105 108 animation-duration: 0.01ms !important;
@@ -109,59 +112,68 @@
109 112 }
110 113 }
111 114
112 115 /* ─── CSS Custom Properties — Design Token Layer ───────────────────────────── */
116 +
113 117 /* These mirror the Tailwind palette and serve as a hook for a future dark-mode */
118 +
114 119 /* toggle. Dark-mode overrides are intentionally empty until the toggle ships. */
115 120 :root {
121 +
116 122 /* Brand */
117 - --tr-color-brand: #4451FF;
118 - --tr-color-brand-500: #4451FF;
119 - --tr-color-brand-bg: #EEF0FF;
123 + --tr-color-brand: #4451ff;
124 + --tr-color-brand-500: #4451ff;
125 + --tr-color-brand-bg: #eef0ff;
120 126
121 127 /* Semantic */
122 - --tr-color-success: #027A48;
123 - --tr-color-success-bg: #ECFDF3;
124 - --tr-color-warning: #B54708;
125 - --tr-color-warning-bg: #FFFAEB;
126 - --tr-color-danger: #921C13;
127 - --tr-color-danger-bg: #FEF3F2;
128 + --tr-color-success: #027a48;
129 + --tr-color-success-bg: #ecfdf3;
130 + --tr-color-warning: #b54708;
131 + --tr-color-warning-bg: #fffaeb;
132 + --tr-color-danger: #921c13;
133 + --tr-color-danger-bg: #fef3f2;
128 134
129 135 /* Semantic surfaces */
130 - --tr-bg-canvas: #FFFFFF;
131 - --tr-bg-surface: #FFFFFF;
132 - --tr-bg-elevated: #FFFFFF;
136 + --tr-bg-canvas: #fff;
137 + --tr-bg-surface: #fff;
138 + --tr-bg-elevated: #fff;
133 139
134 140 /* Text */
135 - --tr-text-primary: #1D1D1D;
141 + --tr-text-primary: #1d1d1d;
136 142 --tr-text-secondary: #535353;
137 - --tr-text-tertiary: #5A5C5E;
138 - --tr-text-muted: #5A5C5E;
143 + --tr-text-tertiary: #5a5c5e;
144 + --tr-text-muted: #5a5c5e;
139 145
140 146 /* Borders */
141 - --tr-border-primary: #D5D5DD;
142 - --tr-border-secondary: #E2E6F1;
143 - --tr-border-base: #D5D5DD;
144 - --tr-border-subtle: #E2E6F1;
147 + --tr-border-primary: #d5d5dd;
148 + --tr-border-secondary: #e2e6f1;
149 + --tr-border-base: #d5d5dd;
150 + --tr-border-subtle: #e2e6f1;
145 151
146 152 /* Focus ring */
147 - --tr-ring-color: #4451FF;
153 + --tr-ring-color: #4451ff;
148 154 --tr-ring-width: 2px;
149 155
150 156 /* Transition */
151 - --tr-duration-fast: 150ms;
157 + --tr-duration-fast: 150ms;
152 158 --tr-duration-normal: 200ms;
153 - --tr-easing: ease-in-out;
159 + --tr-easing: ease-in-out;
154 160 }
155 161
156 162 /* Dark mode hook — intentionally a no-op until the toggle feature ships */
163 +
157 164 /* @media (prefers-color-scheme: dark) { :root { ... } } */
158 165
159 166 /* ─── WP Admin Color Scheme Isolation ──────────────────────────────────────── */
167 +
160 168 /* WP ships 6 admin color schemes that override link colour, menu highlight etc. */
169 +
161 170 /* Our plugin UI is fully self-contained inside .tr-root so these bleed-throughs */
171 +
162 172 /* are neutralised by Tailwind's important:.tr-root specificity. */
173 +
163 174 /* The rule below prevents WP's focus outline colour from leaking into our shell. */
175 +
164 176 /* Suppress WP is-busy button stripe animation — our plugin uses text-only loading states */
165 177 .tr-root .components-button.is-busy,
166 178 .tr-root .components-button.is-busy:hover,
167 179 .tr-root .components-button.is-busy:disabled,
@@ -180,63 +192,42 @@
180 192 outline: none;
181 193 box-shadow: none;
182 194 }
183 195
184 -*, ::before, ::after{
185 - --tw-border-spacing-x: 0;
186 - --tw-border-spacing-y: 0;
187 - --tw-translate-x: 0;
188 - --tw-translate-y: 0;
189 - --tw-rotate: 0;
190 - --tw-skew-x: 0;
191 - --tw-skew-y: 0;
192 - --tw-scale-x: 1;
193 - --tw-scale-y: 1;
194 - --tw-pan-x: ;
195 - --tw-pan-y: ;
196 - --tw-pinch-zoom: ;
197 - --tw-scroll-snap-strictness: proximity;
198 - --tw-gradient-from-position: ;
199 - --tw-gradient-via-position: ;
200 - --tw-gradient-to-position: ;
201 - --tw-ordinal: ;
202 - --tw-slashed-zero: ;
203 - --tw-numeric-figure: ;
204 - --tw-numeric-spacing: ;
205 - --tw-numeric-fraction: ;
206 - --tw-ring-inset: ;
207 - --tw-ring-offset-width: 0px;
208 - --tw-ring-offset-color: #fff;
209 - --tw-ring-color: rgb(59 130 246 / 0.5);
210 - --tw-ring-offset-shadow: 0 0 #0000;
211 - --tw-ring-shadow: 0 0 #0000;
212 - --tw-shadow: 0 0 #0000;
213 - --tw-shadow-colored: 0 0 #0000;
214 - --tw-blur: ;
215 - --tw-brightness: ;
216 - --tw-contrast: ;
217 - --tw-grayscale: ;
218 - --tw-hue-rotate: ;
219 - --tw-invert: ;
220 - --tw-saturate: ;
221 - --tw-sepia: ;
222 - --tw-drop-shadow: ;
223 - --tw-backdrop-blur: ;
224 - --tw-backdrop-brightness: ;
225 - --tw-backdrop-contrast: ;
226 - --tw-backdrop-grayscale: ;
227 - --tw-backdrop-hue-rotate: ;
228 - --tw-backdrop-invert: ;
229 - --tw-backdrop-opacity: ;
230 - --tw-backdrop-saturate: ;
231 - --tw-backdrop-sepia: ;
232 - --tw-contain-size: ;
233 - --tw-contain-layout: ;
234 - --tw-contain-paint: ;
235 - --tw-contain-style: ;
196 +/*
197 + * Inter, self-hosted.
198 + *
199 + * Bundled from @fontsource-variable/inter (SIL OFL 1.1) instead of loading
200 + * from Google Fonts, so no ThinkRank screen makes a third-party request.
201 + * Latin and Latin Extended only; other scripts fall back to the system font
202 + * stack that every `font-family: Inter, …` declaration already lists.
203 + *
204 + * Declared as `Inter` (not fontsource's `Inter Variable`) so the existing
205 + * font stacks, Tailwind config and canvas fonts keep working unchanged.
206 + */
207 +
208 +@font-face {
209 + font-family: Inter;
210 + font-style: normal;
211 + font-display: swap;
212 + font-weight: 100 900;
213 + src: url(fonts/inter-latin-ext-wght-normal.8bff79fb.woff2) format("woff2-variations");
214 + unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
236 215 }
237 216
238 -::backdrop{
217 +@font-face {
218 + font-family: Inter;
219 + font-style: normal;
220 + font-display: swap;
221 + font-weight: 100 900;
222 + src: url(fonts/inter-latin-wght-normal.4f2981d8.woff2) format("woff2-variations");
223 + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
224 +}
225 +
226 +:where(.tr-root),
227 +:where(.tr-root) *,
228 +:where(.tr-root) ::before,
229 +:where(.tr-root) ::after{
239 230 --tw-border-spacing-x: 0;
240 231 --tw-border-spacing-y: 0;
241 232 --tw-translate-x: 0;
242 233 --tw-translate-y: 0;
@@ -287,32 +278,28 @@
287 278 --tw-contain-layout: ;
288 279 --tw-contain-paint: ;
289 280 --tw-contain-style: ;
290 281 }
291 -
292 282 /*
293 283 ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
294 284 */
295 -
296 285 /*
297 286 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
298 287 2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
299 288 */
300 -
301 -*,
302 -::before,
303 -::after {
289 +:where(.tr-root),
290 +:where(.tr-root) *,
291 +:where(.tr-root) ::before,
292 +:where(.tr-root) ::after {
304 293 box-sizing: border-box; /* 1 */
305 294 border-width: 0; /* 2 */
306 295 border-style: solid; /* 2 */
307 296 border-color: #D5D5DD; /* 2 */
308 297 }
309 -
310 -::before,
311 -::after {
298 +:where(.tr-root) ::before,
299 +:where(.tr-root) ::after {
312 300 --tw-content: '';
313 301 }
314 -
315 302 /*
316 303 1. Use a consistent sensible line-height in all browsers.
317 304 2. Prevent adjustments of font size after orientation changes in iOS.
318 305 3. Use a more readable tab size.
@@ -320,11 +307,9 @@
320 307 5. Use the user's configured `sans` font-feature-settings by default.
321 308 6. Use the user's configured `sans` font-variation-settings by default.
322 309 7. Disable tap highlights on iOS
323 310 */
324 -
325 -html,
326 -:host {
311 +:where(.tr-root) {
327 312 line-height: 1.5; /* 1 */
328 313 -webkit-text-size-adjust: 100%; /* 2 */ /* 3 */
329 314 tab-size: 4; /* 3 */
330 315 font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; /* 4 */
@@ -331,72 +316,59 @@
331 316 font-feature-settings: normal; /* 5 */
332 317 font-variation-settings: normal; /* 6 */
333 318 -webkit-tap-highlight-color: transparent; /* 7 */
334 319 }
335 -
336 320 /*
337 321 1. Remove the margin in all browsers.
338 322 2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
339 323 */
340 -
341 -body {
324 +:where(.tr-root) body {
342 325 margin: 0; /* 1 */
343 326 line-height: inherit; /* 2 */
344 327 }
345 -
346 328 /*
347 329 1. Add the correct height in Firefox.
348 330 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
349 331 3. Ensure horizontal rules are visible by default.
350 332 */
351 -
352 -hr {
333 +:where(.tr-root) hr {
353 334 height: 0; /* 1 */
354 335 color: inherit; /* 2 */
355 336 border-top-width: 1px; /* 3 */
356 337 }
357 -
358 338 /*
359 339 Add the correct text decoration in Chrome, Edge, and Safari.
360 340 */
361 -
362 -abbr:where([title]) {
341 +:where(.tr-root) abbr:where([title]) {
363 342 -webkit-text-decoration: underline dotted;
364 343 text-decoration: underline dotted;
365 344 }
366 -
367 345 /*
368 346 Remove the default font size and weight for headings.
369 347 */
370 -
371 -h1,
372 -h2,
373 -h3,
374 -h4,
375 -h5,
376 -h6 {
348 +:where(.tr-root) h1,
349 +:where(.tr-root) h2,
350 +:where(.tr-root) h3,
351 +:where(.tr-root) h4,
352 +:where(.tr-root) h5,
353 +:where(.tr-root) h6 {
377 354 font-size: inherit;
378 355 font-weight: inherit;
379 356 }
380 -
381 357 /*
382 358 Reset links to optimize for opt-in styling instead of opt-out.
383 359 */
384 -
385 -a {
360 +:where(.tr-root) a {
386 361 color: inherit;
387 362 text-decoration: inherit;
388 363 }
389 -
390 364 /*
391 365 Add the correct font weight in Edge and Safari.
392 366 */
393 -
394 -b,
395 -strong {
367 +:where(.tr-root) b,
368 +:where(.tr-root) strong {
396 369 font-weight: bolder;
397 370 }
398 -
399 371 /*
400 372 1. Use the user's configured `mono` font-family by default.
401 373 2. Use the user's configured `mono` font-feature-settings by default.
402 374 3. Use the user's configured `mono` font-variation-settings by default.
@@ -401,70 +373,59 @@
401 373 2. Use the user's configured `mono` font-feature-settings by default.
402 374 3. Use the user's configured `mono` font-variation-settings by default.
403 375 4. Correct the odd `em` font sizing in all browsers.
404 376 */
405 -
406 -code,
407 -kbd,
408 -samp,
409 -pre {
377 +:where(.tr-root) code,
378 +:where(.tr-root) kbd,
379 +:where(.tr-root) samp,
380 +:where(.tr-root) pre {
410 381 font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
411 382 font-feature-settings: normal; /* 2 */
412 383 font-variation-settings: normal; /* 3 */
413 384 font-size: 1em; /* 4 */
414 385 }
415 -
416 386 /*
417 387 Add the correct font size in all browsers.
418 388 */
419 -
420 -small {
389 +:where(.tr-root) small {
421 390 font-size: 80%;
422 391 }
423 -
424 392 /*
425 393 Prevent `sub` and `sup` elements from affecting the line height in all browsers.
426 394 */
427 -
428 -sub,
429 -sup {
395 +:where(.tr-root) sub,
396 +:where(.tr-root) sup {
430 397 font-size: 75%;
431 398 line-height: 0;
432 399 position: relative;
433 400 vertical-align: baseline;
434 401 }
435 -
436 -sub {
402 +:where(.tr-root) sub {
437 403 bottom: -0.25em;
438 404 }
439 -
440 -sup {
405 +:where(.tr-root) sup {
441 406 top: -0.5em;
442 407 }
443 -
444 408 /*
445 409 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
446 410 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
447 411 3. Remove gaps between table borders by default.
448 412 */
449 -
450 -table {
413 +:where(.tr-root) table {
451 414 text-indent: 0; /* 1 */
452 415 border-color: inherit; /* 2 */
453 416 border-collapse: collapse; /* 3 */
454 417 }
455 -
456 418 /*
457 419 1. Change the font styles in all browsers.
458 420 2. Remove the margin in Firefox and Safari.
459 421 3. Remove default padding in all browsers.
460 422 */
461 -
462 -button,
463 -input,
464 -optgroup,
465 -select,
466 -textarea {
423 +:where(.tr-root) button,
424 +:where(.tr-root) input,
425 +:where(.tr-root) optgroup,
426 +:where(.tr-root) select,
427 +:where(.tr-root) textarea {
467 428 font-family: inherit; /* 1 */
468 429 font-feature-settings: inherit; /* 1 */
469 430 font-variation-settings: inherit; /* 1 */
470 431 font-size: 100%; /* 1 */
@@ -474,213 +435,172 @@
474 435 color: inherit; /* 1 */
475 436 margin: 0; /* 2 */
476 437 padding: 0; /* 3 */
477 438 }
478 -
479 439 /*
480 440 Remove the inheritance of text transform in Edge and Firefox.
481 441 */
482 -
483 -button,
484 -select {
442 +:where(.tr-root) button,
443 +:where(.tr-root) select {
485 444 text-transform: none;
486 445 }
487 -
488 446 /*
489 447 1. Correct the inability to style clickable types in iOS and Safari.
490 448 2. Remove default button styles.
491 449 */
492 -
493 -button,
494 -input:where([type='button']),
495 -input:where([type='reset']),
496 -input:where([type='submit']) {
450 +:where(.tr-root) button,
451 +:where(.tr-root) input:where([type='button']),
452 +:where(.tr-root) input:where([type='reset']),
453 +:where(.tr-root) input:where([type='submit']) {
497 454 -webkit-appearance: button; /* 1 */
498 455 background-color: transparent; /* 2 */
499 456 background-image: none; /* 2 */
500 457 }
501 -
502 458 /*
503 459 Use the modern Firefox focus style for all focusable elements.
504 460 */
505 -
506 -:-moz-focusring {
461 +:where(.tr-root) :-moz-focusring {
507 462 outline: auto;
508 463 }
509 -
510 464 /*
511 465 Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
512 466 */
513 -
514 -:-moz-ui-invalid {
467 +:where(.tr-root) :-moz-ui-invalid {
515 468 box-shadow: none;
516 469 }
517 -
518 470 /*
519 471 Add the correct vertical alignment in Chrome and Firefox.
520 472 */
521 -
522 -progress {
473 +:where(.tr-root) progress {
523 474 vertical-align: baseline;
524 475 }
525 -
526 476 /*
527 477 Correct the cursor style of increment and decrement buttons in Safari.
528 478 */
529 -
530 -::-webkit-inner-spin-button,
531 -::-webkit-outer-spin-button {
479 +:where(.tr-root) ::-webkit-inner-spin-button,
480 +:where(.tr-root) ::-webkit-outer-spin-button {
532 481 height: auto;
533 482 }
534 -
535 483 /*
536 484 1. Correct the odd appearance in Chrome and Safari.
537 485 2. Correct the outline style in Safari.
538 486 */
539 -
540 -[type='search'] {
487 +:where(.tr-root) [type='search'] {
541 488 -webkit-appearance: textfield; /* 1 */
542 489 outline-offset: -2px; /* 2 */
543 490 }
544 -
545 491 /*
546 492 Remove the inner padding in Chrome and Safari on macOS.
547 493 */
548 -
549 -::-webkit-search-decoration {
494 +:where(.tr-root) ::-webkit-search-decoration {
550 495 -webkit-appearance: none;
551 496 }
552 -
553 497 /*
554 498 1. Correct the inability to style clickable types in iOS and Safari.
555 499 2. Change font properties to `inherit` in Safari.
556 500 */
557 -
558 -::-webkit-file-upload-button {
501 +:where(.tr-root) ::-webkit-file-upload-button {
559 502 -webkit-appearance: button; /* 1 */
560 503 font: inherit; /* 2 */
561 504 }
562 -
563 505 /*
564 506 Add the correct display in Chrome and Safari.
565 507 */
566 -
567 -summary {
508 +:where(.tr-root) summary {
568 509 display: list-item;
569 510 }
570 -
571 511 /*
572 512 Removes the default spacing and border for appropriate elements.
573 513 */
574 -
575 -blockquote,
576 -dl,
577 -dd,
578 -h1,
579 -h2,
580 -h3,
581 -h4,
582 -h5,
583 -h6,
584 -hr,
585 -figure,
586 -p,
587 -pre {
514 +:where(.tr-root) blockquote,
515 +:where(.tr-root) dl,
516 +:where(.tr-root) dd,
517 +:where(.tr-root) h1,
518 +:where(.tr-root) h2,
519 +:where(.tr-root) h3,
520 +:where(.tr-root) h4,
521 +:where(.tr-root) h5,
522 +:where(.tr-root) h6,
523 +:where(.tr-root) hr,
524 +:where(.tr-root) figure,
525 +:where(.tr-root) p,
526 +:where(.tr-root) pre {
588 527 margin: 0;
589 528 }
590 -
591 -fieldset {
529 +:where(.tr-root) fieldset {
592 530 margin: 0;
593 531 padding: 0;
594 532 }
595 -
596 -legend {
533 +:where(.tr-root) legend {
597 534 padding: 0;
598 535 }
599 -
600 -ol,
601 -ul,
602 -menu {
536 +:where(.tr-root) ol,
537 +:where(.tr-root) ul,
538 +:where(.tr-root) menu {
603 539 list-style: none;
604 540 margin: 0;
605 541 padding: 0;
606 542 }
607 -
608 543 /*
609 544 Reset default styling for dialogs.
610 545 */
611 -
612 -dialog {
546 +:where(.tr-root) dialog {
613 547 padding: 0;
614 548 }
615 -
616 549 /*
617 550 Prevent resizing textareas horizontally by default.
618 551 */
619 -
620 -textarea {
552 +:where(.tr-root) textarea {
621 553 resize: vertical;
622 554 }
623 -
624 555 /*
625 556 1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
626 557 2. Set the default placeholder color to the user's configured gray 400 color.
627 558 */
628 -
629 -input::placeholder,
630 -textarea::placeholder {
559 +:where(.tr-root) input::placeholder,
560 +:where(.tr-root) textarea::placeholder {
631 561 opacity: 1; /* 1 */
632 562 color: #9ca3af; /* 2 */
633 563 }
634 -
635 564 /*
636 565 Set the default cursor for buttons.
637 566 */
638 -
639 -button,
640 -[role="button"] {
567 +:where(.tr-root) button,
568 +:where(.tr-root) [role="button"] {
641 569 cursor: pointer;
642 570 }
643 -
644 571 /*
645 572 Make sure disabled buttons don't get the pointer cursor.
646 573 */
647 -
648 -:disabled {
574 +:where(.tr-root) :disabled {
649 575 cursor: default;
650 576 }
651 -
652 577 /*
653 578 1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
654 579 2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
655 580 This can trigger a poorly considered lint error in some tools but is included by design.
656 581 */
657 -
658 -img,
659 -svg,
660 -video,
661 -canvas,
662 -audio,
663 -iframe,
664 -embed,
665 -object {
582 +:where(.tr-root) img,
583 +:where(.tr-root) svg,
584 +:where(.tr-root) video,
585 +:where(.tr-root) canvas,
586 +:where(.tr-root) audio,
587 +:where(.tr-root) iframe,
588 +:where(.tr-root) embed,
589 +:where(.tr-root) object {
666 590 display: block; /* 1 */
667 591 vertical-align: middle; /* 2 */
668 592 }
669 -
670 593 /*
671 594 Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
672 595 */
673 -
674 -img,
675 -video {
596 +:where(.tr-root) img,
597 +:where(.tr-root) video {
676 598 max-width: 100%;
677 599 height: auto;
678 600 }
679 -
680 601 /* Make elements with the HTML hidden attribute stay hidden by default */
681 -
682 -[hidden]:where(:not([hidden="until-found"])) {
602 +:where(.tr-root) [hidden]:where(:not([hidden="until-found"])) {
683 603 display: none;
684 604 }
685 605 .tr-root .tr-pointer-events-none{
686 606 pointer-events: none;
@@ -693,8 +613,11 @@
693 613 }
694 614 .tr-root .tr-relative{
695 615 position: relative;
696 616 }
617 +.tr-root .tr-sticky{
618 + position: sticky;
619 +}
697 620 .tr-root .tr-inset-0{
698 621 inset: 0px;
699 622 }
700 623 .tr-root .tr-inset-x-0{
@@ -746,8 +669,11 @@
746 669 }
747 670 .tr-root .tr-left-full{
748 671 left: 100%;
749 672 }
673 +.tr-root .tr-right-1{
674 + right: 0.25rem;
675 +}
750 676 .tr-root .tr-right-2{
751 677 right: 0.5rem;
752 678 }
753 679 .tr-root .tr-right-3{
@@ -761,8 +687,14 @@
761 687 }
762 688 .tr-root .tr-right-full{
763 689 right: 100%;
764 690 }
691 +.tr-root .tr-top-0{
692 + top: 0px;
693 +}
694 +.tr-root .tr-top-1{
695 + top: 0.25rem;
696 +}
765 697 .tr-root .tr-top-1\.5{
766 698 top: 0.375rem;
767 699 }
768 700 .tr-root .tr-top-1\/2{
@@ -779,8 +711,11 @@
779 711 }
780 712 .tr-root .tr-top-full{
781 713 top: 100%;
782 714 }
715 +.tr-root .tr-z-10{
716 + z-index: 10;
717 +}
783 718 .tr-root .tr-z-50{
784 719 z-index: 50;
785 720 }
786 721 .tr-root .tr-z-\[99990\]{
@@ -990,8 +925,11 @@
990 925 }
991 926 .tr-root .tr-h-2\.5{
992 927 height: 0.625rem;
993 928 }
929 +.tr-root .tr-h-20{
930 + height: 5rem;
931 +}
994 932 .tr-root .tr-h-3{
995 933 height: 0.75rem;
996 934 }
997 935 .tr-root .tr-h-3\.5{
@@ -1026,10 +964,10 @@
1026 964 }
1027 965 .tr-root .tr-h-\[22px\]{
1028 966 height: 22px;
1029 967 }
1030 -.tr-root .tr-h-auto{
1031 - height: auto;
968 +.tr-root .tr-h-\[72px\]{
969 + height: 72px;
1032 970 }
1033 971 .tr-root .tr-h-full{
1034 972 height: 100%;
1035 973 }
@@ -1035,8 +973,17 @@
1035 973 }
1036 974 .tr-root .tr-h-px{
1037 975 height: 1px;
1038 976 }
977 +.tr-root .tr-max-h-80{
978 + max-height: 20rem;
979 +}
980 +.tr-root .tr-max-h-\[70vh\]{
981 + max-height: 70vh;
982 +}
983 +.tr-root .tr-max-h-full{
984 + max-height: 100%;
985 +}
1039 986 .tr-root .tr-min-h-0{
1040 987 min-height: 0px;
1041 988 }
1042 989 .tr-root .tr-min-h-10{
@@ -1062,8 +1009,14 @@
1062 1009 }
1063 1010 .tr-root .tr-w-11{
1064 1011 width: 2.75rem;
1065 1012 }
1013 +.tr-root .tr-w-12{
1014 + width: 3rem;
1015 +}
1016 +.tr-root .tr-w-14{
1017 + width: 3.5rem;
1018 +}
1066 1019 .tr-root .tr-w-16{
1067 1020 width: 4rem;
1068 1021 }
1069 1022 .tr-root .tr-w-2{
@@ -1074,8 +1027,14 @@
1074 1027 }
1075 1028 .tr-root .tr-w-2\/3{
1076 1029 width: 66.666667%;
1077 1030 }
1031 +.tr-root .tr-w-20{
1032 + width: 5rem;
1033 +}
1034 +.tr-root .tr-w-24{
1035 + width: 6rem;
1036 +}
1078 1037 .tr-root .tr-w-3{
1079 1038 width: 0.75rem;
1080 1039 }
1081 1040 .tr-root .tr-w-3\.5{
@@ -1098,11 +1057,20 @@
1098 1057 }
1099 1058 .tr-root .tr-w-44{
1100 1059 width: 11rem;
1101 1060 }
1061 +.tr-root .tr-w-48{
1062 + width: 12rem;
1063 +}
1102 1064 .tr-root .tr-w-5{
1103 1065 width: 1.25rem;
1104 1066 }
1067 +.tr-root .tr-w-52{
1068 + width: 13rem;
1069 +}
1070 +.tr-root .tr-w-56{
1071 + width: 14rem;
1072 +}
1105 1073 .tr-root .tr-w-6{
1106 1074 width: 1.5rem;
1107 1075 }
1108 1076 .tr-root .tr-w-7{
@@ -1119,11 +1087,17 @@
1119 1087 }
1120 1088 .tr-root .tr-w-\[18px\]{
1121 1089 width: 18px;
1122 1090 }
1091 +.tr-root .tr-w-\[200px\]{
1092 + width: 200px;
1093 +}
1123 1094 .tr-root .tr-w-\[22px\]{
1124 1095 width: 22px;
1125 1096 }
1097 +.tr-root .tr-w-\[260px\]{
1098 + width: 260px;
1099 +}
1126 1100 .tr-root .tr-w-full{
1127 1101 width: 100%;
1128 1102 }
1129 1103 .tr-root .tr-w-max{
@@ -1146,14 +1120,23 @@
1146 1120 }
1147 1121 .tr-root .tr-min-w-\[16px\]{
1148 1122 min-width: 16px;
1149 1123 }
1124 +.tr-root .tr-min-w-\[170px\]{
1125 + min-width: 170px;
1126 +}
1150 1127 .tr-root .tr-min-w-\[18px\]{
1151 1128 min-width: 18px;
1152 1129 }
1130 +.tr-root .tr-min-w-\[200px\]{
1131 + min-width: 200px;
1132 +}
1153 1133 .tr-root .tr-min-w-\[20px\]{
1154 1134 min-width: 20px;
1155 1135 }
1136 +.tr-root .tr-min-w-\[260px\]{
1137 + min-width: 260px;
1138 +}
1156 1139 .tr-root .tr-max-w-2xl{
1157 1140 max-width: 42rem;
1158 1141 }
1159 1142 .tr-root .tr-max-w-4xl{
@@ -1167,8 +1150,11 @@
1167 1150 }
1168 1151 .tr-root .tr-max-w-\[480px\]{
1169 1152 max-width: 480px;
1170 1153 }
1154 +.tr-root .tr-max-w-full{
1155 + max-width: 100%;
1156 +}
1171 1157 .tr-root .tr-max-w-lg{
1172 1158 max-width: 32rem;
1173 1159 }
1174 1160 .tr-root .tr-max-w-md{
@@ -1235,9 +1221,8 @@
1235 1221 .tr-root .tr-animate-\[fadeIn_150ms_ease-out\]{
1236 1222 animation: fadeIn 150ms ease-out;
1237 1223 }
1238 1224 @keyframes tr-pulse{
1239 -
1240 1225 50%{
1241 1226 opacity: .5;
1242 1227 }
1243 1228 }
@@ -1244,13 +1229,11 @@
1244 1229 .tr-root .tr-animate-pulse{
1245 1230 animation: tr-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
1246 1231 }
1247 1232 @keyframes tr-skeleton-pulse{
1248 -
1249 1233 0%, 100%{
1250 1234 opacity: 1;
1251 1235 }
1252 -
1253 1236 50%{
1254 1237 opacity: 0.4;
1255 1238 }
1256 1239 }
@@ -1257,9 +1240,8 @@
1257 1240 .tr-root .tr-animate-skeleton-pulse{
1258 1241 animation: tr-skeleton-pulse 1.5s ease-in-out infinite;
1259 1242 }
1260 1243 @keyframes tr-spin{
1261 -
1262 1244 to{
1263 1245 transform: rotate(360deg);
1264 1246 }
1265 1247 }
@@ -1395,14 +1377,43 @@
1395 1377 }
1396 1378 .tr-root .tr-gap-px{
1397 1379 gap: 1px;
1398 1380 }
1381 +.tr-root .tr-gap-x-10{
1382 + column-gap: 2.5rem;
1383 +}
1384 +.tr-root .tr-gap-x-2{
1385 + column-gap: 0.5rem;
1386 +}
1399 1387 .tr-root .tr-gap-x-5{
1400 1388 column-gap: 1.25rem;
1401 1389 }
1390 +.tr-root .tr-gap-x-6{
1391 + column-gap: 1.5rem;
1392 +}
1393 +.tr-root .tr-gap-x-8{
1394 + column-gap: 2rem;
1395 +}
1396 +.tr-root .tr-gap-y-1{
1397 + row-gap: 0.25rem;
1398 +}
1402 1399 .tr-root .tr-gap-y-2{
1403 1400 row-gap: 0.5rem;
1404 1401 }
1402 +.tr-root .tr-gap-y-2\.5{
1403 + row-gap: 0.625rem;
1404 +}
1405 +.tr-root .tr-gap-y-4{
1406 + row-gap: 1rem;
1407 +}
1408 +.tr-root .tr-gap-y-5{
1409 + row-gap: 1.25rem;
1410 +}
1411 +.tr-root :is(.tr-space-y-1 > :not([hidden]) ~ :not([hidden])){
1412 + --tw-space-y-reverse: 0;
1413 + margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
1414 + margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
1415 +}
1405 1416 .tr-root :is(.tr-divide-y > :not([hidden]) ~ :not([hidden])){
1406 1417 --tw-divide-y-reverse: 0;
1407 1418 border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
1408 1419 border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
@@ -1410,11 +1421,18 @@
1410 1421 .tr-root :is(.tr-divide-line-2 > :not([hidden]) ~ :not([hidden])){
1411 1422 --tw-divide-opacity: 1;
1412 1423 border-color: rgb(226 230 241 / var(--tw-divide-opacity, 1));
1413 1424 }
1425 +.tr-root :is(.tr-divide-secondary > :not([hidden]) ~ :not([hidden])){
1426 + --tw-divide-opacity: 1;
1427 + border-color: rgb(226 230 241 / var(--tw-divide-opacity, 1));
1428 +}
1414 1429 .tr-root .tr-self-start{
1415 1430 align-self: flex-start;
1416 1431 }
1432 +.tr-root .tr-overflow-auto{
1433 + overflow: auto;
1434 +}
1417 1435 .tr-root .tr-overflow-hidden{
1418 1436 overflow: hidden;
1419 1437 }
1420 1438 .tr-root .tr-overflow-x-auto{
@@ -1430,8 +1448,11 @@
1430 1448 }
1431 1449 .tr-root .tr-whitespace-nowrap{
1432 1450 white-space: nowrap;
1433 1451 }
1452 +.tr-root .tr-whitespace-pre{
1453 + white-space: pre;
1454 +}
1434 1455 .tr-root .tr-whitespace-pre-wrap{
1435 1456 white-space: pre-wrap;
1436 1457 }
1437 1458 .tr-root .tr-break-words{
@@ -1488,8 +1509,11 @@
1488 1509 }
1489 1510 .tr-root .tr-border-l-4{
1490 1511 border-left-width: 4px;
1491 1512 }
1513 +.tr-root .tr-border-r{
1514 + border-right-width: 1px;
1515 +}
1492 1516 .tr-root .tr-border-t{
1493 1517 border-top-width: 1px;
1494 1518 }
1495 1519 .tr-root .tr-border-solid{
@@ -1497,12 +1521,20 @@
1497 1521 }
1498 1522 .tr-root .tr-border-dashed{
1499 1523 border-style: dashed;
1500 1524 }
1525 +.tr-root .tr-border-amber-200{
1526 + --tw-border-opacity: 1;
1527 + border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
1528 +}
1501 1529 .tr-root .tr-border-blue-100{
1502 1530 --tw-border-opacity: 1;
1503 1531 border-color: rgb(219 234 254 / var(--tw-border-opacity, 1));
1504 1532 }
1533 +.tr-root .tr-border-blue-200{
1534 + --tw-border-opacity: 1;
1535 + border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
1536 +}
1505 1537 .tr-root .tr-border-brand{
1506 1538 --tw-border-opacity: 1;
1507 1539 border-color: rgb(68 81 255 / var(--tw-border-opacity, 1));
1508 1540 }
@@ -1508,11 +1540,8 @@
1508 1540 }
1509 1541 .tr-root .tr-border-brand\/30{
1510 1542 border-color: rgb(68 81 255 / 0.3);
1511 1543 }
1512 -.tr-root .tr-border-brand\/40{
1513 - border-color: rgb(68 81 255 / 0.4);
1514 -}
1515 1544 .tr-root .tr-border-danger{
1516 1545 --tw-border-opacity: 1;
1517 1546 border-color: rgb(146 28 19 / var(--tw-border-opacity, 1));
1518 1547 }
@@ -1518,8 +1547,12 @@
1518 1547 }
1519 1548 .tr-root .tr-border-danger\/30{
1520 1549 border-color: rgb(146 28 19 / 0.3);
1521 1550 }
1551 +.tr-root .tr-border-emerald-200{
1552 + --tw-border-opacity: 1;
1553 + border-color: rgb(167 243 208 / var(--tw-border-opacity, 1));
1554 +}
1522 1555 .tr-root .tr-border-line{
1523 1556 --tw-border-opacity: 1;
1524 1557 border-color: rgb(213 213 221 / var(--tw-border-opacity, 1));
1525 1558 }
@@ -1555,8 +1588,12 @@
1555 1588 }
1556 1589 .tr-root .tr-border-transparent{
1557 1590 border-color: transparent;
1558 1591 }
1592 +.tr-root .tr-border-violet-200{
1593 + --tw-border-opacity: 1;
1594 + border-color: rgb(221 214 254 / var(--tw-border-opacity, 1));
1595 +}
1559 1596 .tr-root .tr-border-warning{
1560 1597 --tw-border-opacity: 1;
1561 1598 border-color: rgb(181 71 8 / var(--tw-border-opacity, 1));
1562 1599 }
@@ -1588,8 +1625,12 @@
1588 1625 .tr-root .tr-bg-\[\#F2F3F5\]{
1589 1626 --tw-bg-opacity: 1;
1590 1627 background-color: rgb(242 243 245 / var(--tw-bg-opacity, 1));
1591 1628 }
1629 +.tr-root .tr-bg-\[\#F5F6FA\]{
1630 + --tw-bg-opacity: 1;
1631 + background-color: rgb(245 246 250 / var(--tw-bg-opacity, 1));
1632 +}
1592 1633 .tr-root .tr-bg-\[\#F6F7FB\]{
1593 1634 --tw-bg-opacity: 1;
1594 1635 background-color: rgb(246 247 251 / var(--tw-bg-opacity, 1));
1595 1636 }
@@ -1596,8 +1637,12 @@
1596 1637 .tr-root .tr-bg-\[\#F7F8FB\]{
1597 1638 --tw-bg-opacity: 1;
1598 1639 background-color: rgb(247 248 251 / var(--tw-bg-opacity, 1));
1599 1640 }
1641 +.tr-root .tr-bg-\[\#FAFBFC\]{
1642 + --tw-bg-opacity: 1;
1643 + background-color: rgb(250 251 252 / var(--tw-bg-opacity, 1));
1644 +}
1600 1645 .tr-root .tr-bg-\[\#ecfdf3\]{
1601 1646 --tw-bg-opacity: 1;
1602 1647 background-color: rgb(236 253 243 / var(--tw-bg-opacity, 1));
1603 1648 }
@@ -1641,17 +1686,14 @@
1641 1686 .tr-root .tr-bg-brand-bg{
1642 1687 --tw-bg-opacity: 1;
1643 1688 background-color: rgb(238 240 255 / var(--tw-bg-opacity, 1));
1644 1689 }
1690 +.tr-root .tr-bg-brand-bg\/30{
1691 + background-color: rgb(238 240 255 / 0.3);
1692 +}
1645 1693 .tr-root .tr-bg-brand-bg\/40{
1646 1694 background-color: rgb(238 240 255 / 0.4);
1647 1695 }
1648 -.tr-root .tr-bg-brand\/15{
1649 - background-color: rgb(68 81 255 / 0.15);
1650 -}
1651 -.tr-root .tr-bg-brand\/5{
1652 - background-color: rgb(68 81 255 / 0.05);
1653 -}
1654 1696 .tr-root .tr-bg-cyan-50{
1655 1697 --tw-bg-opacity: 1;
1656 1698 background-color: rgb(236 254 255 / var(--tw-bg-opacity, 1));
1657 1699 }
@@ -1666,8 +1708,12 @@
1666 1708 .tr-root .tr-bg-emerald-50{
1667 1709 --tw-bg-opacity: 1;
1668 1710 background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
1669 1711 }
1712 +.tr-root .tr-bg-gray-50{
1713 + --tw-bg-opacity: 1;
1714 + background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
1715 +}
1670 1716 .tr-root .tr-bg-green-100{
1671 1717 --tw-bg-opacity: 1;
1672 1718 background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
1673 1719 }
@@ -1681,8 +1727,12 @@
1681 1727 }
1682 1728 .tr-root .tr-bg-ink-2\/40{
1683 1729 background-color: rgb(83 83 83 / 0.4);
1684 1730 }
1731 +.tr-root .tr-bg-line{
1732 + --tw-bg-opacity: 1;
1733 + background-color: rgb(213 213 221 / var(--tw-bg-opacity, 1));
1734 +}
1685 1735 .tr-root .tr-bg-line-2{
1686 1736 --tw-bg-opacity: 1;
1687 1737 background-color: rgb(226 230 241 / var(--tw-bg-opacity, 1));
1688 1738 }
@@ -1697,8 +1747,12 @@
1697 1747 .tr-root .tr-bg-red-100{
1698 1748 --tw-bg-opacity: 1;
1699 1749 background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
1700 1750 }
1751 +.tr-root .tr-bg-slate-50{
1752 + --tw-bg-opacity: 1;
1753 + background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
1754 +}
1701 1755 .tr-root .tr-bg-success{
1702 1756 --tw-bg-opacity: 1;
1703 1757 background-color: rgb(2 122 72 / var(--tw-bg-opacity, 1));
1704 1758 }
@@ -1711,8 +1765,12 @@
1711 1765 }
1712 1766 .tr-root .tr-bg-transparent{
1713 1767 background-color: transparent;
1714 1768 }
1769 +.tr-root .tr-bg-violet-50{
1770 + --tw-bg-opacity: 1;
1771 + background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1));
1772 +}
1715 1773 .tr-root .tr-bg-warning{
1716 1774 --tw-bg-opacity: 1;
1717 1775 background-color: rgb(181 71 8 / var(--tw-bg-opacity, 1));
1718 1776 }
@@ -1735,8 +1793,11 @@
1735 1793 }
1736 1794 .tr-root .tr-bg-white\/5{
1737 1795 background-color: rgb(255 255 255 / 0.05);
1738 1796 }
1797 +.tr-root .tr-bg-white\/90{
1798 + background-color: rgb(255 255 255 / 0.9);
1799 +}
1739 1800 .tr-root .tr-bg-yellow-100{
1740 1801 --tw-bg-opacity: 1;
1741 1802 background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
1742 1803 }
@@ -1746,8 +1807,11 @@
1746 1807 }
1747 1808 .tr-root .tr-bg-\[linear-gradient\(90deg\,\#4c4cff_58\%\,\#3535b0_118\%\)\]{
1748 1809 background-image: linear-gradient(90deg,#4c4cff 58%,#3535b0 118%);
1749 1810 }
1811 +.tr-root .tr-object-contain{
1812 + object-fit: contain;
1813 +}
1750 1814 .tr-root .tr-object-cover{
1751 1815 object-fit: cover;
1752 1816 }
1753 1817 .tr-root .tr-p-0{
@@ -1867,8 +1931,12 @@
1867 1931 .tr-root .tr-py-6{
1868 1932 padding-top: 1.5rem;
1869 1933 padding-bottom: 1.5rem;
1870 1934 }
1935 +.tr-root .tr-py-7{
1936 + padding-top: 1.75rem;
1937 + padding-bottom: 1.75rem;
1938 +}
1871 1939 .tr-root .tr-py-8{
1872 1940 padding-top: 2rem;
1873 1941 padding-bottom: 2rem;
1874 1942 }
@@ -1875,8 +1943,14 @@
1875 1943 .tr-root .tr-py-px{
1876 1944 padding-top: 1px;
1877 1945 padding-bottom: 1px;
1878 1946 }
1947 +.tr-root .tr-pb-0{
1948 + padding-bottom: 0px;
1949 +}
1950 +.tr-root .tr-pb-2{
1951 + padding-bottom: 0.5rem;
1952 +}
1879 1953 .tr-root .tr-pb-3{
1880 1954 padding-bottom: 0.75rem;
1881 1955 }
1882 1956 .tr-root .tr-pb-4{
@@ -1896,8 +1970,11 @@
1896 1970 }
1897 1971 .tr-root .tr-pl-1\.5{
1898 1972 padding-left: 0.375rem;
1899 1973 }
1974 +.tr-root .tr-pl-2{
1975 + padding-left: 0.5rem;
1976 +}
1900 1977 .tr-root .tr-pl-3{
1901 1978 padding-left: 0.75rem;
1902 1979 }
1903 1980 .tr-root .tr-pl-4{
@@ -1917,8 +1994,11 @@
1917 1994 }
1918 1995 .tr-root .tr-pr-1\.5{
1919 1996 padding-right: 0.375rem;
1920 1997 }
1998 +.tr-root .tr-pr-10{
1999 + padding-right: 2.5rem;
2000 +}
1921 2001 .tr-root .tr-pr-14{
1922 2002 padding-right: 3.5rem;
1923 2003 }
1924 2004 .tr-root .tr-pr-16{
@@ -1992,8 +2072,14 @@
1992 2072 }
1993 2073 .tr-root .tr-text-\[11px\]{
1994 2074 font-size: 11px;
1995 2075 }
2076 +.tr-root .tr-text-\[13px\]{
2077 + font-size: 13px;
2078 +}
2079 +.tr-root .tr-text-\[18px\]{
2080 + font-size: 18px;
2081 +}
1996 2082 .tr-root .tr-text-\[9px\]{
1997 2083 font-size: 9px;
1998 2084 }
1999 2085 .tr-root .tr-text-base{
@@ -2067,8 +2153,12 @@
2067 2153 }
2068 2154 .tr-root .tr-tracking-wide{
2069 2155 letter-spacing: 0.025em;
2070 2156 }
2157 +.tr-root .tr-text-\[\#006621\]{
2158 + --tw-text-opacity: 1;
2159 + color: rgb(0 102 33 / var(--tw-text-opacity, 1));
2160 +}
2071 2161 .tr-root .tr-text-\[\#1a0dab\]{
2072 2162 --tw-text-opacity: 1;
2073 2163 color: rgb(26 13 171 / var(--tw-text-opacity, 1));
2074 2164 }
@@ -2116,8 +2206,12 @@
2116 2206 .tr-root .tr-text-emerald-600{
2117 2207 --tw-text-opacity: 1;
2118 2208 color: rgb(5 150 105 / var(--tw-text-opacity, 1));
2119 2209 }
2210 +.tr-root .tr-text-emerald-700{
2211 + --tw-text-opacity: 1;
2212 + color: rgb(4 120 87 / var(--tw-text-opacity, 1));
2213 +}
2120 2214 .tr-root .tr-text-green-700{
2121 2215 --tw-text-opacity: 1;
2122 2216 color: rgb(21 128 61 / var(--tw-text-opacity, 1));
2123 2217 }
@@ -2132,8 +2226,12 @@
2132 2226 .tr-root .tr-text-primary{
2133 2227 --tw-text-opacity: 1;
2134 2228 color: rgb(29 29 29 / var(--tw-text-opacity, 1));
2135 2229 }
2230 +.tr-root .tr-text-red-600{
2231 + --tw-text-opacity: 1;
2232 + color: rgb(220 38 38 / var(--tw-text-opacity, 1));
2233 +}
2136 2234 .tr-root .tr-text-red-700{
2137 2235 --tw-text-opacity: 1;
2138 2236 color: rgb(185 28 28 / var(--tw-text-opacity, 1));
2139 2237 }
@@ -2140,8 +2238,12 @@
2140 2238 .tr-root .tr-text-secondary{
2141 2239 --tw-text-opacity: 1;
2142 2240 color: rgb(83 83 83 / var(--tw-text-opacity, 1));
2143 2241 }
2242 +.tr-root .tr-text-slate-300{
2243 + --tw-text-opacity: 1;
2244 + color: rgb(203 213 225 / var(--tw-text-opacity, 1));
2245 +}
2144 2246 .tr-root .tr-text-slate-400{
2145 2247 --tw-text-opacity: 1;
2146 2248 color: rgb(148 163 184 / var(--tw-text-opacity, 1));
2147 2249 }
@@ -2148,12 +2250,8 @@
2148 2250 .tr-root .tr-text-slate-500{
2149 2251 --tw-text-opacity: 1;
2150 2252 color: rgb(100 116 139 / var(--tw-text-opacity, 1));
2151 2253 }
2152 -.tr-root .tr-text-slate-600{
2153 - --tw-text-opacity: 1;
2154 - color: rgb(71 85 105 / var(--tw-text-opacity, 1));
2155 -}
2156 2254 .tr-root .tr-text-slate-700{
2157 2255 --tw-text-opacity: 1;
2158 2256 color: rgb(51 65 85 / var(--tw-text-opacity, 1));
2159 2257 }
@@ -2178,8 +2276,12 @@
2178 2276 .tr-root .tr-text-tertiary{
2179 2277 --tw-text-opacity: 1;
2180 2278 color: rgb(90 92 94 / var(--tw-text-opacity, 1));
2181 2279 }
2280 +.tr-root .tr-text-violet-700{
2281 + --tw-text-opacity: 1;
2282 + color: rgb(109 40 217 / var(--tw-text-opacity, 1));
2283 +}
2182 2284 .tr-root .tr-text-warning{
2183 2285 --tw-text-opacity: 1;
2184 2286 color: rgb(181 71 8 / var(--tw-text-opacity, 1));
2185 2287 }
@@ -2263,8 +2365,12 @@
2263 2365 --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
2264 2366 --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
2265 2367 box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
2266 2368 }
2369 +.tr-root .tr-ring-brand-500{
2370 + --tw-ring-opacity: 1;
2371 + --tw-ring-color: rgb(68 81 255 / var(--tw-ring-opacity, 1));
2372 +}
2267 2373 .tr-root .tr-ring-white{
2268 2374 --tw-ring-opacity: 1;
2269 2375 --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1));
2270 2376 }
@@ -2324,13 +2430,15 @@
2324 2430 .tr-root .tr-ease-out{
2325 2431 transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
2326 2432 }
2327 2433 @media (prefers-reduced-motion: reduce) {
2434 +
2328 2435 .tr-root .tr-animate-skeleton-pulse,
2329 2436 .tr-root .tr-animate-spin,
2330 2437 .tr-root .tr-animate-score-spin {
2331 2438 animation: none !important;
2332 2439 }
2440 +
2333 2441 .tr-root .tr-transition,
2334 2442 .tr-root .tr-transition-colors,
2335 2443 .tr-root .tr-transition-transform,
2336 2444 .tr-root .tr-transition-opacity,
@@ -2336,13 +2444,15 @@
2336 2444 .tr-root .tr-transition-opacity,
2337 2445 .tr-root .tr-transition-all {
2338 2446 transition: none !important;
2339 2447 }
2448 +
2340 2449 .tr-root .tr-animate-skeleton-pulse,
2341 2450 .tr-root .tr-animate-spin,
2342 2451 .tr-root .tr-animate-score-spin {
2343 2452 animation: none !important;
2344 2453 }
2454 +
2345 2455 .tr-root .tr-transition,
2346 2456 .tr-root .tr-transition-colors,
2347 2457 .tr-root .tr-transition-transform,
2348 2458 .tr-root .tr-transition-opacity,
@@ -2348,13 +2458,15 @@
2348 2458 .tr-root .tr-transition-opacity,
2349 2459 .tr-root .tr-transition-all {
2350 2460 transition: none !important;
2351 2461 }
2462 +
2352 2463 .tr-root .tr-animate-skeleton-pulse,
2353 2464 .tr-root .tr-animate-spin,
2354 2465 .tr-root .tr-animate-score-spin {
2355 2466 animation: none !important;
2356 2467 }
2468 +
2357 2469 .tr-root .tr-transition,
2358 2470 .tr-root .tr-transition-colors,
2359 2471 .tr-root .tr-transition-transform,
2360 2472 .tr-root .tr-transition-opacity,
@@ -2360,13 +2472,15 @@
2360 2472 .tr-root .tr-transition-opacity,
2361 2473 .tr-root .tr-transition-all {
2362 2474 transition: none !important;
2363 2475 }
2476 +
2364 2477 .tr-root .tr-animate-skeleton-pulse,
2365 2478 .tr-root .tr-animate-spin,
2366 2479 .tr-root .tr-animate-score-spin {
2367 2480 animation: none !important;
2368 2481 }
2482 +
2369 2483 .tr-root .tr-transition,
2370 2484 .tr-root .tr-transition-colors,
2371 2485 .tr-root .tr-transition-transform,
2372 2486 .tr-root .tr-transition-opacity,
@@ -2372,13 +2486,15 @@
2372 2486 .tr-root .tr-transition-opacity,
2373 2487 .tr-root .tr-transition-all {
2374 2488 transition: none !important;
2375 2489 }
2490 +
2376 2491 .tr-root .tr-animate-skeleton-pulse,
2377 2492 .tr-root .tr-animate-spin,
2378 2493 .tr-root .tr-animate-score-spin {
2379 2494 animation: none !important;
2380 2495 }
2496 +
2381 2497 .tr-root .tr-transition,
2382 2498 .tr-root .tr-transition-colors,
2383 2499 .tr-root .tr-transition-transform,
2384 2500 .tr-root .tr-transition-opacity,
@@ -2384,13 +2500,15 @@
2384 2500 .tr-root .tr-transition-opacity,
2385 2501 .tr-root .tr-transition-all {
2386 2502 transition: none !important;
2387 2503 }
2504 +
2388 2505 .tr-root .tr-animate-skeleton-pulse,
2389 2506 .tr-root .tr-animate-spin,
2390 2507 .tr-root .tr-animate-score-spin {
2391 2508 animation: none !important;
2392 2509 }
2510 +
2393 2511 .tr-root .tr-transition,
2394 2512 .tr-root .tr-transition-colors,
2395 2513 .tr-root .tr-transition-transform,
2396 2514 .tr-root .tr-transition-opacity,
@@ -2399,27 +2517,33 @@
2399 2517 }
2400 2518 }
2401 2519
2402 2520 /*
2403 - * Fix: Tailwind Preflight (@tailwind base) emits UNSCOPED global resets —
2404 - * `img, svg, video, canvas { display: block }` and `img { max-width: 100% }` —
2405 - * that leak past our React root into WordPress admin chrome on any page where
2406 - * this bundle loads (ThinkRank pages, the post-editor metabox, etc.).
2521 + * Tailwind Preflight (@tailwind base) emits UNSCOPED global resets — e.g.
2522 + * `img, svg, video, canvas { display: block }` and `*, ::before, ::after`
2523 + * box-sizing/border. Left as-is they leak past our React root into WordPress
2524 + * admin chrome and page builders (Divi/Elementor/Oxygen), breaking host UI
2525 + * (e.g. Divi's Visual Builder breadcrumb stacked vertically — issue #275).
2407 2526 *
2408 - * WordPress centers image-based admin-menu icons with `text-align: center` on
2409 - * `#adminmenu div.wp-menu-image` and an inline <img>. Preflight's `display:block`
2410 - * defeats that centering, shoving other plugins' menu icons flush-left (looks
2411 - * "broken"). Restore native rendering for admin-menu icons. Kept unlayered so it
2412 - * always beats Preflight's `@layer base` rules; only display/alignment is set so
2413 - * WP's own padding/opacity on the icon are preserved.
2527 + * The scoping now happens at BUILD TIME in `build/postcss-scope-preflight.js`,
2528 + * which rewrites every Preflight selector to live under `.tr-root` (where the
2529 + * `tr-*` utilities already live). That removes the leak at the source, so the
2530 + * old per-symptom overrides here (e.g. restoring `#adminmenu` icon centering)
2531 + * are no longer needed.
2532 + *
2533 + * Do NOT add unscoped bare element selectors to this file — they would leak the
2534 + * same way and defeat the build-time scoping.
2414 2535 */
2415 -#adminmenu .wp-menu-image img,
2416 -#adminmenu .wp-menu-image svg {
2417 - display: inline-block;
2418 - vertical-align: middle;
2536 +
2537 +/* Ensure Tailwind's animate-* skeleton pulse respects reduced-motion */
2538 +
2539 +.tr-root :is(.marker\:tr-hidden *)::marker{
2540 + display: none;
2419 2541 }
2420 2542
2421 -/* Ensure Tailwind's animate-* skeleton pulse respects reduced-motion */
2543 +.tr-root .marker\:tr-hidden::marker{
2544 + display: none;
2545 +}
2422 2546
2423 2547 .tr-root .placeholder\:tr-text-tertiary::placeholder{
2424 2548 --tw-text-opacity: 1;
2425 2549 color: rgb(90 92 94 / var(--tw-text-opacity, 1));
@@ -2518,8 +2642,13 @@
2518 2642 --tw-border-opacity: 1;
2519 2643 border-color: rgb(169 174 192 / var(--tw-border-opacity, 1));
2520 2644 }
2521 2645
2646 +.tr-root .hover\:tr-border-brand:hover{
2647 + --tw-border-opacity: 1;
2648 + border-color: rgb(68 81 255 / var(--tw-border-opacity, 1));
2649 +}
2650 +
2522 2651 .tr-root .hover\:tr-border-danger:hover{
2523 2652 --tw-border-opacity: 1;
2524 2653 border-color: rgb(146 28 19 / var(--tw-border-opacity, 1));
2525 2654 }
@@ -2538,8 +2667,13 @@
2538 2667 --tw-bg-opacity: 1;
2539 2668 background-color: rgb(247 248 251 / var(--tw-bg-opacity, 1));
2540 2669 }
2541 2670
2671 +.tr-root .hover\:tr-bg-\[\#FAFBFC\]:hover{
2672 + --tw-bg-opacity: 1;
2673 + background-color: rgb(250 251 252 / var(--tw-bg-opacity, 1));
2674 +}
2675 +
2542 2676 .tr-root .hover\:tr-bg-brand:hover{
2543 2677 --tw-bg-opacity: 1;
2544 2678 background-color: rgb(68 81 255 / var(--tw-bg-opacity, 1));
2545 2679 }
@@ -2587,8 +2721,13 @@
2587 2721 --tw-text-opacity: 1;
2588 2722 color: rgb(68 81 255 / var(--tw-text-opacity, 1));
2589 2723 }
2590 2724
2725 +.tr-root .hover\:tr-text-danger:hover{
2726 + --tw-text-opacity: 1;
2727 + color: rgb(146 28 19 / var(--tw-text-opacity, 1));
2728 +}
2729 +
2591 2730 .tr-root .hover\:tr-text-primary:hover{
2592 2731 --tw-text-opacity: 1;
2593 2732 color: rgb(29 29 29 / var(--tw-text-opacity, 1));
2594 2733 }
@@ -2716,30 +2855,37 @@
2716 2855 .tr-root .disabled\:tr-opacity-50:disabled{
2717 2856 opacity: 0.5;
2718 2857 }
2719 2858
2859 +.tr-root .disabled\:tr-opacity-60:disabled{
2860 + opacity: 0.6;
2861 +}
2862 +
2720 2863 .tr-root .disabled\:tr-opacity-70:disabled{
2721 2864 opacity: 0.7;
2722 2865 }
2723 2866
2867 +.tr-root :is(.tr-group[open] .group-open\:tr-rotate-90){
2868 + --tw-rotate: 90deg;
2869 + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
2870 +}
2871 +
2724 2872 @media (min-width: 640px){
2725 -
2726 2873 .tr-root .sm\:tr-block{
2727 2874 display: block;
2728 2875 }
2729 -
2876 + .tr-root .sm\:tr-w-80{
2877 + width: 20rem;
2878 + }
2730 2879 .tr-root .sm\:tr-flex-1{
2731 2880 flex: 1 1 0%;
2732 2881 }
2733 -
2734 2882 .tr-root .sm\:tr-grid-cols-2{
2735 2883 grid-template-columns: repeat(2, minmax(0, 1fr));
2736 2884 }
2737 -
2738 2885 .tr-root .sm\:tr-grid-cols-4{
2739 2886 grid-template-columns: repeat(4, minmax(0, 1fr));
2740 2887 }
2741 -
2742 2888 .tr-root .sm\:tr-flex-row{
2743 2889 flex-direction: row;
2744 2890 }
2745 2891 }
@@ -2744,103 +2890,82 @@
2744 2890 }
2745 2891 }
2746 2892
2747 2893 @media (min-width: 768px){
2748 -
2749 2894 .tr-root .md\:tr-sticky{
2750 2895 position: sticky;
2751 2896 }
2752 -
2753 2897 .tr-root .md\:tr-top-0{
2754 2898 top: 0px;
2755 2899 }
2756 -
2757 2900 .tr-root .md\:tr-top-4{
2758 2901 top: 1rem;
2759 2902 }
2760 -
2761 2903 .tr-root .md\:tr-block{
2762 2904 display: block;
2763 2905 }
2764 -
2765 2906 .tr-root .md\:tr-inline-flex{
2766 2907 display: inline-flex;
2767 2908 }
2768 -
2769 2909 .tr-root .md\:tr-w-44{
2770 2910 width: 11rem;
2771 2911 }
2772 -
2773 2912 .tr-root .md\:tr-w-52{
2774 2913 width: 13rem;
2775 2914 }
2776 -
2777 2915 .tr-root .md\:tr-w-56{
2778 2916 width: 14rem;
2779 2917 }
2780 -
2781 2918 .tr-root .md\:tr-w-full{
2782 2919 width: 100%;
2783 2920 }
2784 -
2785 2921 .tr-root .md\:tr-shrink-0{
2786 2922 flex-shrink: 0;
2787 2923 }
2788 -
2789 2924 .tr-root .md\:tr-grid-cols-2{
2790 2925 grid-template-columns: repeat(2, minmax(0, 1fr));
2791 2926 }
2792 -
2793 2927 .tr-root .md\:tr-grid-cols-3{
2794 2928 grid-template-columns: repeat(3, minmax(0, 1fr));
2795 2929 }
2796 -
2930 + .tr-root .md\:tr-grid-cols-4{
2931 + grid-template-columns: repeat(4, minmax(0, 1fr));
2932 + }
2797 2933 .tr-root .md\:tr-flex-row{
2798 2934 flex-direction: row;
2799 2935 }
2800 -
2801 2936 .tr-root .md\:tr-flex-col{
2802 2937 flex-direction: column;
2803 2938 }
2804 -
2805 2939 .tr-root .md\:tr-items-stretch{
2806 2940 align-items: stretch;
2807 2941 }
2808 -
2809 2942 .tr-root .md\:tr-self-stretch{
2810 2943 align-self: stretch;
2811 2944 }
2812 -
2813 2945 .tr-root .md\:tr-overflow-visible{
2814 2946 overflow: visible;
2815 2947 }
2816 -
2817 2948 .tr-root .md\:tr-overflow-x-visible{
2818 2949 overflow-x: visible;
2819 2950 }
2820 -
2821 2951 .tr-root .md\:tr-border-b-0{
2822 2952 border-bottom-width: 0px;
2823 2953 }
2824 -
2825 2954 .tr-root .md\:tr-border-r{
2826 2955 border-right-width: 1px;
2827 2956 }
2828 -
2829 2957 .tr-root .md\:tr-p-6{
2830 2958 padding: 1.5rem;
2831 2959 }
2832 -
2833 2960 .tr-root .md\:tr-px-3{
2834 2961 padding-left: 0.75rem;
2835 2962 padding-right: 0.75rem;
2836 2963 }
2837 -
2838 2964 .tr-root .md\:tr-px-8{
2839 2965 padding-left: 2rem;
2840 2966 padding-right: 2rem;
2841 2967 }
2842 -
2843 2968 .tr-root .md\:tr-text-sm{
2844 2969 font-size: 0.875rem;
2845 2970 line-height: 1.5;
2846 2971 }
@@ -2846,69 +2971,53 @@
2846 2971 }
2847 2972 }
2848 2973
2849 2974 @media (min-width: 1024px){
2850 -
2851 2975 .tr-root .lg\:tr-absolute{
2852 2976 position: absolute;
2853 2977 }
2854 -
2855 2978 .tr-root .lg\:tr-inset-0{
2856 2979 inset: 0px;
2857 2980 }
2858 -
2859 2981 .tr-root .lg\:tr-col-span-2{
2860 2982 grid-column: span 2 / span 2;
2861 2983 }
2862 -
2863 2984 .tr-root .lg\:tr-col-span-3{
2864 2985 grid-column: span 3 / span 3;
2865 2986 }
2866 -
2867 2987 .tr-root .lg\:tr-flex{
2868 2988 display: flex;
2869 2989 }
2870 -
2871 2990 .tr-root .lg\:tr-inline-flex{
2872 2991 display: inline-flex;
2873 2992 }
2874 -
2875 2993 .tr-root .lg\:tr-w-56{
2876 2994 width: 14rem;
2877 2995 }
2878 -
2879 2996 .tr-root .lg\:tr-grid-cols-2{
2880 2997 grid-template-columns: repeat(2, minmax(0, 1fr));
2881 2998 }
2882 -
2883 2999 .tr-root .lg\:tr-grid-cols-3{
2884 3000 grid-template-columns: repeat(3, minmax(0, 1fr));
2885 3001 }
2886 -
2887 3002 .tr-root .lg\:tr-grid-cols-4{
2888 3003 grid-template-columns: repeat(4, minmax(0, 1fr));
2889 3004 }
2890 -
2891 3005 .tr-root .lg\:tr-grid-cols-5{
2892 3006 grid-template-columns: repeat(5, minmax(0, 1fr));
2893 3007 }
2894 -
2895 3008 .tr-root .lg\:tr-grid-cols-\[minmax\(0\2c 1fr\)_minmax\(0\2c 2fr\)\]{
2896 3009 grid-template-columns: minmax(0,1fr) minmax(0,2fr);
2897 3010 }
2898 -
2899 3011 .tr-root .lg\:tr-gap-6{
2900 3012 gap: 1.5rem;
2901 3013 }
2902 -
2903 3014 .tr-root .lg\:tr-gap-8{
2904 3015 gap: 2rem;
2905 3016 }
2906 -
2907 3017 .tr-root .lg\:tr-p-8{
2908 3018 padding: 2rem;
2909 3019 }
2910 -
2911 3020 .tr-root .lg\:tr-pt-2\.5{
2912 3021 padding-top: 0.625rem;
2913 3022 }
2914 3023 }
@@ -2913,18 +3022,36 @@
2913 3022 }
2914 3023 }
2915 3024
2916 3025 @media (min-width: 1280px){
2917 -
2918 3026 .tr-root .xl\:tr-col-span-2{
2919 3027 grid-column: span 2 / span 2;
2920 3028 }
2921 -
2922 3029 .tr-root .xl\:tr-block{
2923 3030 display: block;
2924 3031 }
2925 -
2926 3032 .tr-root .xl\:tr-grid-cols-3{
2927 3033 grid-template-columns: repeat(3, minmax(0, 1fr));
2928 3034 }
3035 +}
3036 +
3037 +.tr-root :is(.\[\&_p\:last-child\]\:tr-mb-0 p:last-child){
3038 + margin-bottom: 0px;
3039 +}
3040 +
3041 +.tr-root :is(.\[\&_p\]\:tr-mb-3 p){
3042 + margin-bottom: 0.75rem;
3043 +}
3044 +
3045 +.tr-root :is(.\[\&_p\]\:tr-mt-0 p){
3046 + margin-top: 0px;
3047 +}
3048 +
3049 +.tr-root :is(.\[\&_strong\]\:tr-font-semibold strong){
3050 + font-weight: 600;
3051 +}
3052 +
3053 +.tr-root :is(.\[\&_strong\]\:tr-text-primary strong){
3054 + --tw-text-opacity: 1;
3055 + color: rgb(29 29 29 / var(--tw-text-opacity, 1));
2929 3056 }
2930 3057