:root{--primary: #0d9488;--primary-dark: #0f766e;--surface: #ffffff;--surface-muted: #f5faf9;--border: #dbe6e4;--border-dark: #b8cdca;--text-main: #10241f;--text-muted: #5c706c;--accent: #b45309;--shadow-soft: 0 2px 12px rgba(16,36,31,0.05);}
.rfg-spotlight{background: linear-gradient(135deg, #0d9488 0%, #0f766e 100%);border-radius: 1rem;padding: 1.5rem;color: #ffffff;box-shadow: 0 6px 20px rgba(13,148,136,0.18);margin-bottom: 1rem;}
@media (min-width: 768px){.rfg-spotlight{padding: 2rem 2.25rem;}}
.rfg-spot-tags{display: flex;flex-wrap: wrap;gap: 0.4rem;margin-bottom: 0.9rem;}
.rfg-spot-text{font-size: 1.125rem;line-height: 1.55;font-weight: 600;margin: 0 0 0.6rem;}
@media (min-width: 768px){.rfg-spot-text{font-size: 1.375rem;line-height: 1.5;}}
.rfg-spot-field{font-size: 0.8125rem;letter-spacing: 0.03em;text-transform: uppercase;opacity: 0.85;margin: 0 0 1.15rem;}
.rfg-spot-actions{display: flex;flex-wrap: wrap;gap: 0.6rem;}
.rfg-spotlight .rfg-btn-primary{background: #ffffff;color: var(--primary-dark);}
.rfg-spotlight .rfg-btn-primary:hover{background: #ecfdf5;}
.rfg-spotlight .rfg-btn-ghost{border-color: rgba(255,255,255,0.55);color: #ffffff;}
.rfg-spotlight .rfg-btn-ghost:hover{background: rgba(255,255,255,0.14);color: #ffffff;}
.rfg-spotlight .rfg-tag-cat{background: rgba(255,255,255,0.2);color: #ffffff;}
.rfg-spotlight .rfg-tag-depth{background: rgba(255,255,255,0.12);color: #ffffff;}
.rfg-byline{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 0.4rem 1rem;font-size: 0.875rem;color: var(--text-muted);padding: 0 0.25rem;margin-bottom: 1.5rem;}
.rfg-byline .author-link{color: var(--primary-dark);text-decoration: none;font-weight: 600;}
.rfg-byline .author-link:hover{text-decoration: underline;}
.rfg-bench{background: var(--surface);border: 1px solid var(--border);border-radius: 1rem;box-shadow: var(--shadow-soft);padding: 1.25rem;margin-bottom: 1.25rem;}
.rfg-form{display: grid;grid-template-columns: 1fr;gap: 1rem;align-items: end;}
@media (min-width: 768px){.rfg-form{grid-template-columns: 1.2fr 1fr 0.7fr 1fr;}}
@media (min-width: 992px){.rfg-form{grid-template-columns: 1.2fr 1fr 0.6fr 1fr auto;}}
.rfg-field{display: flex;flex-direction: column;gap: 0.35rem;}
.rfg-field-check{justify-content: flex-end;padding-bottom: 0.65rem;}
.rfg-label{font-weight: 600;font-size: 0.9375rem;color: var(--text-main);}
.rfg-input,.rfg-select{width: 100%;padding: 0.7rem 1rem;font-size: 1rem;color: var(--text-main);background: var(--surface);border: 1px solid var(--border-dark);border-radius: 0.5rem;}
.rfg-select{-webkit-appearance: none;appearance: none;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%235c706c' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-repeat: no-repeat;background-position: right 0.75rem center;padding-right: 2.25rem;}
.rfg-input:focus,.rfg-select:focus{outline: none;border-color: var(--primary);box-shadow: 0 0 0 3px rgba(13,148,136,0.16);}
.rfg-check{display: flex;align-items: center;gap: 0.5rem;font-size: 0.9375rem;color: var(--text-muted);cursor: pointer;margin: 0;}
.rfg-check input{width: 1.1rem;height: 1.1rem;accent-color: var(--primary);}
.rfg-actions{display: flex;flex-wrap: wrap;gap: 0.6rem;}
.rfg-btn{display: inline-flex;align-items: center;justify-content: center;gap: 0.45rem;padding: 0.72rem 1.3rem;font-size: 1rem;font-weight: 600;border-radius: 0.5rem;border: 1px solid transparent;cursor: pointer;transition: transform 0.15s, box-shadow 0.15s, background 0.15s;}
.rfg-btn-primary{background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);color: #ffffff;}
.rfg-btn-primary:hover{transform: translateY(-1px);box-shadow: 0 6px 16px rgba(13,148,136,0.26);}
.rfg-btn-ghost{background: transparent;color: var(--text-muted);border-color: var(--border-dark);}
.rfg-btn-ghost:hover{border-color: var(--primary);color: var(--primary-dark);}
.rfg-pool-note{font-size: 0.8125rem;color: var(--text-muted);margin: 0.9rem 0 0;}
.rfg-output{background: var(--surface);border: 1px solid var(--border);border-radius: 1rem;box-shadow: var(--shadow-soft);padding: 1.25rem;margin-bottom: 2rem;}
.rfg-output-head{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 0.75rem;padding-bottom: 0.85rem;margin-bottom: 1.1rem;border-bottom: 1px solid var(--border);}
.rfg-output-title{font-size: 1.125rem;font-weight: 700;color: var(--text-main);margin: 0;}
.rfg-foot{display: flex;flex-wrap: wrap;gap: 0.5rem;}
.rfg-foot-btn{display: inline-flex;align-items: center;gap: 0.4rem;padding: 0.5rem 0.95rem;font-size: 0.875rem;font-weight: 600;color: var(--text-muted);background: var(--surface);border: 1px solid var(--border-dark);border-radius: 0.5rem;cursor: pointer;}
.rfg-foot-btn:hover{color: var(--primary-dark);border-color: var(--primary);}
.rfg-foot-btn.copied{background: var(--primary);border-color: var(--primary);color: #ffffff;}
.rfg-empty{text-align: center;padding: 2.5rem 1rem;color: var(--text-muted);}
.rfg-empty-title{font-size: 1.0625rem;font-weight: 600;color: var(--text-main);margin: 0 0 0.3rem;}
.rfg-empty-desc{font-size: 0.9375rem;margin: 0;}
.rfg-cards{list-style: none;padding: 0;margin: 0;display: grid;grid-template-columns: 1fr;gap: 0.85rem;}
@media (min-width: 768px){.rfg-cards{grid-template-columns: repeat(2, 1fr);}}
.rfg-card{background: var(--surface-muted);border: 1px solid var(--border);border-top: 3px solid var(--primary);border-radius: 0.65rem;padding: 1rem 1.15rem;display: flex;flex-direction: column;}
.rfg-card-head{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 0.5rem;margin-bottom: 0.6rem;}
.rfg-card-num{font-weight: 700;font-size: 0.875rem;color: var(--primary-dark);}
.rfg-card-tags{display: flex;flex-wrap: wrap;gap: 0.35rem;}
.rfg-tag{display: inline-block;padding: 0.2rem 0.6rem;border-radius: 9999px;font-size: 0.75rem;font-weight: 600;text-transform: capitalize;}
.rfg-tag-cat{background: #ccfbf1;color: #115e59;}
.rfg-tag-depth{background: #fef3c7;color: #92400e;}
.rfg-card-text{font-size: 1rem;line-height: 1.55;color: var(--text-main);margin: 0 0 0.55rem;flex: 1;}
.rfg-card-field{font-size: 0.8125rem;color: var(--text-muted);font-style: italic;margin: 0 0 0.65rem;}
.rfg-card-copy{align-self: flex-start;display: inline-flex;align-items: center;gap: 0.35rem;padding: 0.32rem 0.7rem;font-size: 0.8125rem;font-weight: 600;color: var(--text-muted);background: var(--surface);border: 1px solid var(--border-dark);border-radius: 0.375rem;cursor: pointer;}
.rfg-card-copy:hover{color: var(--primary-dark);border-color: var(--primary);}
.rfg-card-copy.copied{background: var(--primary);border-color: var(--primary);color: #ffffff;}
.rfg-content{margin-bottom: 2rem;}
.rfg-content .rfg-lead{font-size: 1.0625rem;line-height: 1.5;color: var(--text-main);font-weight: 600;margin: 0 0 0.75rem;}
.rfg-content-h2{font-size: 1.25rem;font-weight: 700;color: var(--text-main);margin: 1.75rem 0 0.6rem;}
.rfg-content p{font-size: 1rem;line-height: 1.55;color: var(--text-muted);margin: 0 0 1rem;}
.rfg-content a{color: var(--primary-dark);text-decoration: none;font-weight: 600;}
.rfg-content a:hover{text-decoration: underline;}
.rfg-table-wrap{overflow-x: auto;margin: 0 0 1rem;border: 1px solid var(--border);border-radius: 0.65rem;}
.rfg-table{width: 100%;border-collapse: collapse;min-width: 34rem;font-size: 0.9375rem;}
.rfg-table th{text-align: left;background: var(--surface-muted);color: var(--text-main);font-weight: 700;padding: 0.7rem 0.9rem;border-bottom: 1px solid var(--border);}
.rfg-table td{padding: 0.8rem 0.9rem;color: var(--text-muted);border-bottom: 1px solid var(--border);vertical-align: top;line-height: 1.5;}
.rfg-table tr:last-child td{border-bottom: none;}
.rfg-list-checked{list-style: none;padding: 0;margin: 0 0 1rem;display: flex;flex-direction: column;gap: 0.6rem;}
.rfg-list-checked li{background: var(--surface-muted);border-left: 3px solid var(--border-dark);border-radius: 0 0.5rem 0.5rem 0;padding: 0.75rem 1rem;font-size: 0.9375rem;line-height: 1.5;color: var(--text-muted);}
.rfg-list-checked strong{color: var(--text-main);display: block;margin-bottom: 0.2rem;}
.rfg-callout{border-left: 4px solid var(--accent);background: #fffbeb;border-radius: 0 0.5rem 0.5rem 0;padding: 1rem 1.15rem;margin: 1.25rem 0;}
.rfg-content .rfg-callout-title{font-size: 0.9375rem;font-weight: 700;color: #92400e;margin: 0 0 0.35rem;}
.rfg-content .rfg-callout-body{font-size: 0.9375rem;color: #78350f;margin: 0;line-height: 1.5;}
