:root{--rp-ink: #2b2118;--rp-muted: #6a5a4c;--rp-paper: #fbf6ec;--rp-cream: #f4ead8;--rp-line: #e4d6bf;--rp-brick: #b5451f;--rp-brick-dark: #8e3415;--rp-amber: #f0b64a;--rp-moss: #3f6b4f;--primary: #b5451f;--primary-dark: #8e3415;--border: #e4d6bf;--surface: #ffffff;--shadow-soft: 0 12px 28px rgba(60, 38, 18, 0.1);--surface-muted: #fbf6ec;--text-main: #2b2118;--text-muted: #6a5a4c;}
.rp-sprite{position: absolute;width: 0;height: 0;overflow: hidden;}
.rp-tool{display: grid;grid-template-columns: 330px minmax(0, 1fr);margin: 8px 0 56px;border: 1px solid var(--rp-line);border-radius: 20px;overflow: hidden;background: #fff;box-shadow: var(--shadow-soft);color: var(--rp-ink);}
.rp-form{padding: 20px 20px 16px;background: var(--rp-cream);border-right: 1px solid var(--rp-line);min-width: 0;}
.rp-form-head{display: flex;justify-content: space-between;align-items: center;gap: 10px;margin-bottom: 14px;}
.rp-form-head h2{margin: 0;font-size: 19px;font-weight: 800;}
.rp-clear{padding: 0;border: 0;background: none;font-size: 13px;font-weight: 600;color: var(--rp-brick-dark);text-decoration: underline;cursor: pointer;}
.rp-field{border: 0;margin: 0 0 14px;padding: 0;min-width: 0;}
.rp-field legend{float: none;width: auto;margin: 0 0 6px;padding: 0;font-size: 12px;font-weight: 700;letter-spacing: 0.05em;text-transform: uppercase;color: var(--rp-muted);}
.rp-chips{display: flex;flex-wrap: wrap;gap: 6px;}
.rp-chips label{position: relative;margin: 0;cursor: pointer;}
.rp-chips input{position: absolute;opacity: 0;}
.rp-chips span{display: block;padding: 5px 10px;border: 1px solid var(--rp-line);border-radius: 999px;background: #fff;font-size: 13px;font-weight: 600;color: var(--rp-ink);}
.rp-chips label:hover span{border-color: var(--rp-brick);}
.rp-chips input:checked + span{background: var(--rp-ink);border-color: var(--rp-ink);color: #fff;}
.rp-chips input:focus-visible + span{outline: 2px solid var(--rp-brick);outline-offset: 2px;}
.rp-draw{width: 100%;margin-top: 4px;padding: 12px;border: 0;border-radius: 12px;background: var(--rp-brick);color: #fff;font-size: 16px;font-weight: 800;cursor: pointer;}
.rp-draw:hover{background: var(--rp-brick-dark);}
.rp-draw:disabled{opacity: 0.6;cursor: wait;}
.rp-status{min-height: 20px;margin: 10px 0 0;font-size: 13px;color: var(--rp-muted);}
.rp-status.is-error{color: var(--rp-brick-dark);font-weight: 600;}
.rp-stage{padding: 20px 22px 16px;background: var(--rp-paper);min-width: 0;}
.rp-roster{display: grid;grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));gap: 8px;margin: 0 0 14px;padding: 0;list-style: none;}
.rp-roster li{min-width: 0;}
.rp-roster button{display: grid;grid-template-columns: 26px minmax(0, 1fr);column-gap: 8px;align-items: center;width: 100%;padding: 7px 9px;border: 1px solid var(--rp-line);border-radius: 10px;background: #fff;text-align: left;color: var(--rp-ink);cursor: pointer;}
.rp-roster button:hover{border-color: var(--rp-brick);}
.rp-roster button[aria-current="true"]{border-color: var(--rp-ink);box-shadow: inset 0 0 0 1px var(--rp-ink);}
.rp-roster svg{grid-row: span 2;width: 26px;height: 26px;fill: var(--rp-tone);--rp-cut: #fff;}
.rp-roster-name{font-size: 14px;font-weight: 800;line-height: 1.2;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}
.rp-roster-breed{font-size: 12px;line-height: 1.25;color: var(--rp-muted);overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}
.rp-cut{fill: var(--rp-cut, #fff);}
[data-tone="dog"]{--rp-tone: #b5451f;}
[data-tone="cat"]{--rp-tone: #6d4a8d;}
[data-tone="fish"]{--rp-tone: #1b6f91;}
[data-tone="bird"]{--rp-tone: #a8780c;}
[data-tone="reptile"]{--rp-tone: #3f6b4f;}
[data-tone="rabbit"]{--rp-tone: #a04668;}
[data-tone="guinea-pig"]{--rp-tone: #8a5a2b;}
[data-tone="hamster"]{--rp-tone: #66625a;}
.rp-card{padding: 20px 22px;border: 1px solid var(--rp-line);border-top: 8px solid var(--rp-tone);border-radius: 14px;background: #fff;}
.rp-card.is-new{animation: rp-in 0.26s ease-out;}
@keyframes rp-in{from{opacity: 0.4;transform: translateY(4px);}to{opacity: 1;transform: none;}}
.rp-card-top{display: grid;grid-template-columns: 96px minmax(0, 1fr);gap: 18px;align-items: start;}
.rp-badge{display: flex;align-items: center;justify-content: center;width: 96px;height: 96px;border-radius: 50%;background: var(--rp-tone);--rp-cut: var(--rp-tone);}
.rp-badge svg{width: 60px;height: 60px;fill: #fff;}
.rp-eyebrow{margin: 0 0 2px;font-size: 12px;font-weight: 700;letter-spacing: 0.06em;text-transform: uppercase;color: var(--rp-tone);}
.rp-name{margin: 0 0 4px;font-size: 40px;font-weight: 800;line-height: 1.08;color: var(--rp-ink);overflow-wrap: anywhere;}
.rp-why{margin: 0;font-size: 14px;line-height: 1.5;color: var(--rp-muted);}
.rp-traits{display: grid;grid-template-columns: repeat(4, minmax(0, 1fr));gap: 12px;margin: 18px 0 14px;padding: 12px 0;border-top: 1px solid var(--rp-line);border-bottom: 1px solid var(--rp-line);}
.rp-traits dt{font-size: 12px;font-weight: 600;color: var(--rp-muted);}
.rp-traits dd{margin: 0;font-size: 15px;font-weight: 700;}
.rp-quirk{margin: 0 0 16px;padding: 10px 14px;border-radius: 10px;background: var(--rp-cream);font-size: 15px;}
.rp-quirk strong{margin-right: 6px;}
.rp-facts{padding: 14px 16px;border: 1px dashed var(--rp-line);border-radius: 12px;}
.rp-facts h3{margin: 0 0 8px;font-size: 13px;font-weight: 800;letter-spacing: 0.04em;text-transform: uppercase;color: var(--rp-moss);}
.rp-facts dl{display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 8px 16px;margin: 0 0 10px;}
.rp-facts dt{font-size: 12px;font-weight: 600;color: var(--rp-muted);}
.rp-facts dd{margin: 0;font-size: 14px;font-weight: 600;}
.rp-note{margin: 0;font-size: 14px;line-height: 1.5;}
.rp-actions{display: flex;flex-wrap: wrap;gap: 8px;margin-top: 16px;}
.rp-actions button{padding: 8px 14px;border: 1px solid var(--rp-ink);border-radius: 10px;background: #fff;font-size: 14px;font-weight: 700;color: var(--rp-ink);cursor: pointer;}
.rp-actions button:hover{background: var(--rp-cream);}
.rp-actions .rp-again{background: var(--rp-ink);color: #fff;}
.rp-actions .rp-again:hover{background: #000;}
.rp-actions button.is-done{background: var(--rp-moss);border-color: var(--rp-moss);color: #fff;}
.rp-actions button:disabled{opacity: 0.6;cursor: wait;}
.rp-byline{display: flex;flex-wrap: wrap;justify-content: space-between;gap: 6px 16px;padding-top: 12px;font-size: 13px;color: var(--rp-muted);}
.rp-read{margin: 0 auto 48px;font-size: 16px;line-height: 1.7;color: var(--rp-ink);}
.rp-read h2,.rp-limits h2{margin: 0 0 12px;font-size: 28px;font-weight: 800;line-height: 1.2;}
.rp-read a,.rp-limits a{font-weight: 600;color: var(--rp-brick-dark);}
.rp-table-wrap{overflow-x: auto;margin: 16px 0;border: 1px solid var(--rp-line);border-radius: 12px;}
.rp-table{width: 100%;min-width: 540px;border-collapse: collapse;font-size: 15px;line-height: 1.5;}
.rp-table-wide{min-width: 820px;}
.rp-table th,.rp-table td{padding: 10px 14px;text-align: left;vertical-align: top;border-bottom: 1px solid var(--rp-line);}
.rp-table thead th{background: var(--rp-ink);color: #fff;font-size: 13px;font-weight: 700;}
.rp-table tbody th{font-weight: 700;white-space: nowrap;}
.rp-table tbody tr:last-child th,.rp-table tbody tr:last-child td{border-bottom: 0;}
.rp-source{font-size: 14px;color: var(--rp-muted);}
.rp-life{margin: 18px 0;padding: 0;list-style: none;}
.rp-life li{display: grid;grid-template-columns: 180px minmax(0, 1fr) 72px;gap: 12px;align-items: center;padding: 6px 0;border-bottom: 1px solid var(--rp-line);font-size: 15px;}
.rp-life-name{font-weight: 600;}
.rp-life-track{position: relative;display: block;height: 12px;border-radius: 6px;background: var(--rp-cream);overflow: hidden;}
.rp-life-track span{position: absolute;top: 0;bottom: 0;min-width: 6px;border-radius: 6px;background: var(--rp-brick);}
.rp-life-years{text-align: right;font-weight: 700;}
.rp-jobs{display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 12px 22px;margin: 14px 0 0;padding: 0;list-style: none;}
.rp-jobs li{padding: 0 0 12px;border-bottom: 1px solid var(--rp-line);}
.rp-jobs p{margin: 6px 0 0;font-size: 15px;line-height: 1.55;}
.rp-preset{padding: 6px 12px;border: 1px solid var(--rp-brick);border-radius: 999px;background: #fff;font-size: 14px;font-weight: 700;color: var(--rp-brick-dark);cursor: pointer;}
.rp-preset:hover{background: var(--rp-brick);color: #fff;}
.rp-steps{padding-left: 22px;}
.rp-steps li{margin-bottom: 7px;}
.rp-limits{margin: 0 auto 48px;padding: 26px 28px;border-radius: 16px;background: var(--rp-ink);color: #fff;font-size: 15px;line-height: 1.65;}
.rp-limits h2{color: #fff;}
.rp-limits ul{margin: 0;padding-left: 20px;}
.rp-limits li{margin-bottom: 9px;}
.rp-limits a{color: var(--rp-amber);}
@media (max-width: 991px){.rp-tool{grid-template-columns: minmax(0, 1fr);}.rp-stage{order: -1;}.rp-form{border-right: 0;border-top: 1px solid var(--rp-line);}}
@media (max-width: 640px){.rp-stage,.rp-form{padding-left: 16px;padding-right: 16px;}.rp-card{padding: 16px;}.rp-card-top{grid-template-columns: 64px minmax(0, 1fr);gap: 12px;}.rp-badge{width: 64px;height: 64px;}.rp-badge svg{width: 40px;height: 40px;}.rp-name{font-size: 30px;}.rp-traits{grid-template-columns: repeat(2, minmax(0, 1fr));}.rp-facts dl{grid-template-columns: minmax(0, 1fr);}.rp-life li{grid-template-columns: 110px minmax(0, 1fr) 62px;gap: 8px;font-size: 14px;}.rp-jobs{grid-template-columns: minmax(0, 1fr);}.rp-read h2,.rp-limits h2{font-size: 24px;}.rp-limits{padding: 20px 18px;}}
@media (prefers-reduced-motion: reduce){.rp-card.is-new{animation: none;}}