:root{--rfg-forest: #1f3a2d;--rfg-forest-soft: #2c4f3e;--rfg-moss: #2f6b4f;--rfg-moss-dark: #235240;--rfg-paper: #fbf9f2;--rfg-plate: #f4efe1;--rfg-line: #ddd6c3;--rfg-ink: #1d2a24;--rfg-muted: #5c6a62;--rfg-mist: #cfe0d6;--rfg-red: #a32036;--rfg-amber: #8a5a00;--rfg-serif: Georgia, "Times New Roman", serif;--primary: #2f6b4f;--primary-dark: #235240;--border: #ddd6c3;--surface: #ffffff;--shadow-soft: 0 10px 26px rgba(31, 58, 45, 0.08);--surface-muted: #f4efe1;--text-main: #1d2a24;--text-muted: #5c6a62;}
.rfg-bench{display: grid;grid-template-columns: 300px minmax(0, 1fr);gap: 20px;margin: 8px 0 56px;align-items: start;color: var(--rfg-ink);}
.rfg-filters{background: var(--rfg-forest);color: #fff;border-radius: 22px;padding: 22px 20px;}
.rfg-filters-title{font-family: var(--rfg-serif);font-size: 22px;font-weight: 700;margin: 0 0 16px;color: #fff;}
.rfg-group{border: 0;margin: 0 0 16px;padding: 0;min-width: 0;}
.rfg-group legend{float: none;width: auto;padding: 0;margin-bottom: 8px;font-size: 12px;font-weight: 700;letter-spacing: 0.08em;text-transform: uppercase;color: var(--rfg-mist);}
.rfg-chips{display: flex;flex-wrap: wrap;gap: 6px;}
.rfg-chips label,.rfg-swatches label{margin: 0;cursor: pointer;position: relative;}
.rfg-chips input,.rfg-swatches input{position: absolute;opacity: 0;pointer-events: none;}
.rfg-chips span,.rfg-swatch-any span{display: block;padding: 6px 11px;border-radius: 999px;background: var(--rfg-forest-soft);color: #fff;font-size: 13px;font-weight: 600;border: 1px solid transparent;}
.rfg-chips label:hover span,.rfg-swatch-any:hover span{border-color: var(--rfg-mist);}
.rfg-chips input:checked + span,.rfg-swatch-any input:checked + span{background: #fff;color: var(--rfg-forest);}
.rfg-swatches{display: flex;flex-wrap: wrap;align-items: center;gap: 8px;}
.rfg-swatch span{display: block;width: 28px;height: 28px;border-radius: 50%;border: 2px solid rgba(255, 255, 255, 0.5);}
.rfg-swatch:hover span{border-color: #fff;}
.rfg-swatch input:checked + span{border-color: #fff;box-shadow: 0 0 0 3px var(--rfg-mist);}
.rfg-chips input:focus-visible + span,.rfg-swatches input:focus-visible + span{outline: 3px solid #fff;outline-offset: 2px;}
.rfg-toggle{display: flex;align-items: center;gap: 10px;margin: 0 0 18px;cursor: pointer;font-size: 14px;font-weight: 600;position: relative;}
.rfg-toggle input{position: absolute;opacity: 0;pointer-events: none;}
.rfg-toggle-track{flex: 0 0 auto;position: relative;width: 40px;height: 22px;border-radius: 999px;background: var(--rfg-forest-soft);border: 1px solid var(--rfg-mist);transition: background 0.15s ease;}
.rfg-toggle-track::after{content: "";position: absolute;top: 2px;left: 2px;width: 16px;height: 16px;border-radius: 50%;background: #fff;transition: transform 0.15s ease;}
.rfg-toggle input:checked + .rfg-toggle-track{background: #5fb88a;}
.rfg-toggle input:checked + .rfg-toggle-track::after{transform: translateX(18px);}
.rfg-toggle input:focus-visible + .rfg-toggle-track{outline: 3px solid #fff;outline-offset: 2px;}
.rfg-draw{display: block;width: 100%;padding: 14px 18px;border: 0;border-radius: 14px;background: #f2c14e;color: var(--rfg-forest);font-size: 17px;font-weight: 800;cursor: pointer;transition: background 0.15s ease, transform 0.1s ease;}
.rfg-draw:hover{background: #f7d278;}
.rfg-draw:active{transform: translateY(1px);}
.rfg-draw:focus-visible{outline: 3px solid #fff;outline-offset: 2px;}
.rfg-draw:disabled{opacity: 0.75;cursor: wait;}
.rfg-status{font-size: 13px;color: var(--rfg-mist);margin: 10px 0 6px;min-height: 20px;}
.rfg-status.is-error{color: #ffd3d3;font-weight: 600;}
.rfg-clear{background: none;border: 0;padding: 0;color: #fff;font-size: 13px;text-decoration: underline;cursor: pointer;}
.rfg-clear:focus-visible{outline: 2px solid #fff;outline-offset: 2px;}
.rfg-sheet{min-width: 0;display: flex;flex-direction: column;gap: 16px;}
.rfg-plate{display: grid;grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);background: var(--rfg-paper);border: 1px solid var(--rfg-line);border-radius: 22px;overflow: hidden;box-shadow: var(--shadow-soft);}
.rfg-plate.is-new .rfg-art svg{animation: rfg-grow 0.45s ease-out both;}
.rfg-figure{margin: 0;background: var(--rfg-plate);border-right: 1px solid var(--rfg-line);padding: 18px 16px 12px;display: flex;flex-direction: column;justify-content: center;}
.rfg-art{flex: 1;display: flex;align-items: center;justify-content: center;min-height: 280px;}
.rfg-art svg{width: 100%;max-width: 280px;height: auto;display: block;transform-origin: 50% 100%;}
.rfg-figure figcaption{text-align: center;font-family: var(--rfg-serif);font-style: italic;font-size: 13px;color: var(--rfg-muted);margin-top: 8px;}
.rfg-record{padding: 24px 26px 20px;min-width: 0;}
.rfg-eyebrow{font-size: 12px;font-weight: 700;letter-spacing: 0.08em;text-transform: uppercase;color: var(--rfg-moss);margin: 0 0 6px;}
.rfg-name{font-family: var(--rfg-serif);font-size: clamp(30px, 4vw, 42px);line-height: 1.1;font-weight: 700;margin: 0;color: var(--rfg-forest);}
.rfg-latin{font-family: var(--rfg-serif);font-style: italic;font-size: 17px;color: var(--rfg-muted);margin: 4px 0 12px;}
.rfg-pets{display: inline-block;padding: 5px 12px;border-radius: 8px;font-size: 13px;font-weight: 700;margin: 0 0 14px;background: #eee9da;color: #4a4a3f;}
[data-pets="both"].rfg-pets,[data-pets="cats"].rfg-pets{background: #fbe4e7;color: var(--rfg-red);}
[data-pets="safe"].rfg-pets{background: #dff1e5;color: var(--rfg-moss-dark);}
[data-pets="unlisted"].rfg-pets{background: #fbf0d4;color: var(--rfg-amber);}
.rfg-ledger{display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 0 20px;margin: 0 0 14px;border-top: 1px solid var(--rfg-line);}
.rfg-ledger div{padding: 8px 0;border-bottom: 1px solid var(--rfg-line);min-width: 0;}
.rfg-ledger dt{font-size: 11px;font-weight: 700;letter-spacing: 0.06em;text-transform: uppercase;color: var(--rfg-muted);}
.rfg-ledger dd{margin: 2px 0 0;font-size: 14px;color: var(--rfg-ink);}
.rfg-note{font-size: 15px;line-height: 1.55;margin: 0 0 8px;}
.rfg-plate-foot{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 10px 16px;margin-top: 14px;padding-top: 12px;border-top: 1px solid var(--rfg-line);}
.rfg-copy{padding: 8px 14px;border: 1px solid var(--rfg-moss);border-radius: 10px;background: #fff;color: var(--rfg-moss-dark);font-size: 14px;font-weight: 700;cursor: pointer;}
.rfg-copy:hover{background: var(--rfg-moss);color: #fff;}
.rfg-copy.is-done{background: var(--rfg-moss);color: #fff;}
.rfg-copy:focus-visible{outline: 3px solid var(--rfg-moss);outline-offset: 2px;}
.rfg-byline{display: flex;flex-wrap: wrap;gap: 2px 12px;font-size: 12px;color: var(--rfg-muted);}
.rfg-byline .author-link{color: var(--rfg-moss-dark);font-weight: 600;text-decoration: none;}
.rfg-byline .author-link:hover{text-decoration: underline;}
.rfg-history{background: var(--rfg-paper);border: 1px solid var(--rfg-line);border-radius: 18px;padding: 12px 16px;}
.rfg-history-title{font-size: 12px;font-weight: 700;letter-spacing: 0.08em;text-transform: uppercase;color: var(--rfg-muted);margin: 0 0 8px;}
.rfg-history-list{display: flex;gap: 8px;list-style: none;margin: 0;padding: 0 0 4px;overflow-x: auto;}
.rfg-history-list button{display: block;width: 72px;padding: 4px 4px 6px;border: 1px solid var(--rfg-line);border-radius: 10px;background: var(--rfg-plate);cursor: pointer;}
.rfg-history-list button:hover,.rfg-history-list button[aria-current="true"]{border-color: var(--rfg-moss);box-shadow: 0 0 0 1px var(--rfg-moss);}
.rfg-history-list button:focus-visible{outline: 3px solid var(--rfg-moss);outline-offset: 1px;}
.rfg-history-list svg{display: block;width: 100%;height: 58px;}
.rfg-history-list span{display: block;font-size: 11px;line-height: 1.2;color: var(--rfg-ink);white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}
.rfg-read,.rfg-limits{margin: 0 0 52px;color: var(--rfg-ink);}
.rfg-read h2,.rfg-limits h2{font-family: var(--rfg-serif);font-size: clamp(24px, 3vw, 30px);font-weight: 700;color: var(--rfg-forest);margin: 0 0 12px;}
.rfg-read p,.rfg-limits li{font-size: 16px;line-height: 1.7;}
.rfg-read a{color: var(--rfg-moss-dark);font-weight: 600;}
.rfg-table-wrap{overflow-x: auto;border: 1px solid var(--rfg-line);border-radius: 14px;}
.rfg-table{width: 100%;border-collapse: collapse;font-size: 15px;min-width: 600px;}
.rfg-table th,.rfg-table td{padding: 11px 14px;text-align: left;vertical-align: top;border-bottom: 1px solid var(--rfg-line);}
.rfg-table thead th{background: var(--rfg-forest);color: #fff;font-size: 13px;}
.rfg-table tbody th{font-weight: 700;white-space: nowrap;}
.rfg-table tbody tr:last-child th,.rfg-table tbody tr:last-child td{border-bottom: 0;}
.rfg-table td:nth-child(2){font-weight: 600;color: var(--rfg-moss-dark);white-space: nowrap;}
.rfg-types{display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 0 32px;}
.rfg-type{padding: 14px 0;border-top: 2px solid var(--rfg-forest);}
.rfg-type h3{font-family: var(--rfg-serif);font-size: 20px;font-weight: 700;margin: 0 0 4px;color: var(--rfg-forest);}
.rfg-type h3 span{font-family: inherit;font-size: 14px;font-weight: 400;color: var(--rfg-muted);}
.rfg-type p{font-size: 15px;line-height: 1.6;margin: 0 0 6px;}
.rfg-type-names{font-style: italic;color: var(--rfg-muted);}
.rfg-warn{background: #fdf4f1;border: 1px solid #f0d5cd;border-left: 6px solid var(--rfg-red);border-radius: 16px;padding: 24px 26px;}
.rfg-warn h2{color: var(--rfg-red);}
.rfg-pet-lists{display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap: 12px;margin: 14px 0 16px;}
.rfg-pet-lists div{background: #fff;border-radius: 12px;padding: 12px 14px;border-top: 4px solid var(--rfg-muted);}
.rfg-pet-lists div[data-pets="both"]{border-top-color: var(--rfg-red);}
.rfg-pet-lists div[data-pets="cats"]{border-top-color: #d4692a;}
.rfg-pet-lists div[data-pets="safe"]{border-top-color: var(--rfg-moss);}
.rfg-pet-lists h3{font-size: 15px;font-weight: 700;margin: 0 0 6px;}
.rfg-pet-lists h3 span{font-weight: 400;color: var(--rfg-muted);}
.rfg-pet-lists p{font-size: 14px;line-height: 1.55;margin: 0;}
.rfg-checks{display: grid;grid-template-columns: 2fr 1fr 1fr;gap: 24px;}
.rfg-checks h3{font-family: var(--rfg-serif);font-size: 19px;font-weight: 700;margin: 0 0 6px;color: var(--rfg-moss-dark);}
.rfg-checks p{font-size: 15px;line-height: 1.65;margin: 0;}
.rfg-backfire{margin: 0 0 12px;padding-left: 20px;}
.rfg-backfire li{font-size: 16px;line-height: 1.7;margin-bottom: 4px;}
.rfg-limits{background: var(--rfg-forest);color: #fff;border-radius: 18px;padding: 24px 26px;}
.rfg-limits h2{color: #fff;}
.rfg-limits ul{margin: 0;padding-left: 20px;}
.rfg-limits li{margin-bottom: 8px;}
.rfg-limits li:last-child{margin-bottom: 0;}
@keyframes rfg-grow{from{opacity: 0;transform: scale(0.82);}to{opacity: 1;transform: scale(1);}}
@media (max-width: 991.98px){.rfg-bench{grid-template-columns: minmax(0, 1fr);}.rfg-checks{grid-template-columns: 1fr;gap: 16px;}.rfg-pet-lists{grid-template-columns: 1fr;}}
@media (max-width: 640px){.rfg-table{min-width: 0;}.rfg-table thead{position: absolute;width: 1px;height: 1px;overflow: hidden;clip-path: inset(50%);}.rfg-table tbody,.rfg-table tr,.rfg-table th,.rfg-table td{display: block;}.rfg-table tr{padding: 10px 14px;border-bottom: 1px solid var(--rfg-line);}.rfg-table tbody tr:last-child{border-bottom: 0;}.rfg-table tbody th,.rfg-table td{padding: 0 0 3px;border-bottom: 0;white-space: normal;}.rfg-table td:nth-child(2){white-space: normal;}.rfg-plate{grid-template-columns: minmax(0, 1fr);}.rfg-figure{border-right: 0;border-bottom: 1px solid var(--rfg-line);}.rfg-art{min-height: 0;}.rfg-art svg{max-width: 200px;}.rfg-record{padding: 18px 16px;}.rfg-types{grid-template-columns: minmax(0, 1fr);}.rfg-warn,.rfg-limits{padding: 18px 16px;}}
@media (prefers-reduced-motion: reduce){.rfg-plate.is-new .rfg-art svg{animation: none;}.rfg-draw,.rfg-toggle-track,.rfg-toggle-track::after{transition: none;}}
