:root{--rb-ink: #22201c;--rb-muted: #6b645a;--rb-paper: #faf6ef;--rb-line: #e6ddcf;--rb-green: #1f5f4a;--rb-green-dark: #164536;--rb-yes: #e7f3ec;--rb-no: #fbeae6;--rb-serif: Georgia, "Times New Roman", serif;--primary: #1f5f4a;--primary-dark: #164536;--border: #e6ddcf;--surface: #ffffff;--shadow-soft: 0 12px 28px rgba(34, 32, 28, 0.08);--surface-muted: #faf6ef;--text-main: #22201c;--text-muted: #6b645a;}
.rb-tool{display: grid;grid-template-columns: minmax(0, 1fr);gap: 18px;margin: 8px 0 52px;padding: 20px;border: 1px solid var(--rb-line);border-radius: 18px;background: var(--rb-paper);box-shadow: var(--shadow-soft);color: var(--rb-ink);}
.rb-controls{display: flex;flex-direction: column;gap: 16px;padding: 18px;border: 1px solid var(--rb-line);border-radius: 14px;background: #fff;}
.rb-field{border: 0;margin: 0;padding: 0;min-width: 0;}
.rb-legend{float: none;display: block;width: auto;margin: 0 0 6px;padding: 0;font-size: 12px;font-weight: 700;letter-spacing: 0.06em;text-transform: uppercase;color: var(--rb-muted);}
.rb-select{width: 100%;padding: 9px 12px;border: 1px solid var(--rb-line);border-radius: 10px;background: var(--rb-paper);font-size: 15px;color: var(--rb-ink);}
.rb-select:focus{outline: 2px solid var(--rb-green);outline-offset: 2px;}
.rb-toggle{display: flex;flex-wrap: wrap;border: 1px solid var(--rb-line);border-radius: 10px;overflow: hidden;background: var(--rb-paper);}
.rb-toggle label{position: relative;flex: 1 1 auto;margin: 0;cursor: pointer;}
.rb-toggle label + label{border-left: 1px solid var(--rb-line);}
.rb-toggle input{position: absolute;opacity: 0;}
.rb-toggle span{display: block;padding: 8px 10px;text-align: center;font-size: 13px;font-weight: 600;white-space: nowrap;}
.rb-toggle input:checked + span{background: var(--rb-green);color: #fff;}
.rb-toggle input:focus-visible + span{outline: 2px solid var(--rb-ink);outline-offset: -3px;}
.rb-pick{padding: 12px 20px;border: 0;border-radius: 10px;background: var(--rb-green);color: #fff;font-size: 16px;font-weight: 800;cursor: pointer;}
.rb-pick:hover{background: var(--rb-green-dark);}
.rb-pick:disabled{opacity: 0.6;cursor: wait;}
.rb-status{min-height: 20px;margin: -6px 0 0;font-size: 13px;color: var(--rb-muted);}
.rb-status.is-error{color: #b42318;font-weight: 600;}
.rb-book{--rb-tone: #1f5f4a;display: grid;grid-template-columns: minmax(0, 1fr);border: 1px solid var(--rb-line);border-radius: 14px;background: #fff;overflow: hidden;min-width: 0;}
.rb-book[data-genre="literary"]{--rb-tone: #7a3e2b;}
.rb-book[data-genre="mystery"]{--rb-tone: #2d3a5c;}
.rb-book[data-genre="scifi"]{--rb-tone: #1b5e7a;}
.rb-book[data-genre="fantasy"]{--rb-tone: #5b3a7a;}
.rb-book[data-genre="horror"]{--rb-tone: #3a2a2a;}
.rb-book[data-genre="romance"]{--rb-tone: #a23c5a;}
.rb-book[data-genre="historical"]{--rb-tone: #7a5a1f;}
.rb-book[data-genre="memoir"]{--rb-tone: #1f5f4a;}
.rb-book[data-genre="history"]{--rb-tone: #5c4a3a;}
.rb-book[data-genre="science"]{--rb-tone: #2b6a3a;}
.rb-book.is-new{animation: rb-in 0.35s ease-out;}
@keyframes rb-in{from{opacity: 0.25;transform: translateY(6px);}to{opacity: 1;transform: none;}}
.rb-cover{position: relative;display: flex;flex-direction: column;justify-content: center;gap: 8px;min-height: 210px;padding: 26px 24px 26px 34px;background: var(--rb-tone);color: #fff;}
.rb-cover::before{content: "";position: absolute;top: 0;bottom: 0;left: 12px;width: 3px;background: rgba(255, 255, 255, 0.35);}
.rb-cover-genre{font-size: 11px;font-weight: 700;letter-spacing: 0.08em;text-transform: uppercase;opacity: 0.85;}
.rb-title{margin: 0;font-family: var(--rb-serif);font-size: 28px;font-weight: 700;line-height: 1.2;}
.rb-author{margin: 0;font-size: 15px;font-style: italic;opacity: 0.9;}
.rb-cover-year{align-self: flex-start;margin-top: 6px;padding: 2px 10px;border: 1px solid rgba(255, 255, 255, 0.5);border-radius: 999px;font-size: 12px;font-weight: 700;}
.rb-info{display: flex;flex-direction: column;gap: 14px;padding: 20px 22px;}
.rb-facts{display: flex;flex-wrap: wrap;gap: 8px 22px;margin: 0;padding: 0 0 12px;list-style: none;border-bottom: 1px dashed var(--rb-line);font-size: 14px;}
.rb-facts span{display: block;font-size: 11px;font-weight: 700;letter-spacing: 0.06em;text-transform: uppercase;color: var(--rb-muted);}
.rb-facts em{font-style: normal;color: var(--rb-muted);}
.rb-hook{margin: 0;font-family: var(--rb-serif);font-size: 17px;line-height: 1.55;}
.rb-verdict{display: grid;grid-template-columns: minmax(0, 1fr);gap: 8px;}
.rb-verdict p{margin: 0;padding: 10px 12px;border-radius: 10px;font-size: 14px;line-height: 1.5;}
.rb-verdict p > span:first-child{display: block;margin-bottom: 2px;font-size: 11px;font-weight: 800;letter-spacing: 0.06em;text-transform: uppercase;}
.rb-yes{background: var(--rb-yes);}
.rb-yes > span:first-child{color: #1f6b45;}
.rb-no{background: var(--rb-no);}
.rb-no > span:first-child{color: #a6351f;}
.rb-actions{display: flex;flex-wrap: wrap;align-items: center;gap: 8px 10px;margin-top: auto;}
.rb-btn{padding: 8px 14px;border: 1px solid var(--rb-line);border-radius: 9px;background: var(--rb-paper);font-size: 13px;font-weight: 700;color: var(--rb-ink);cursor: pointer;}
.rb-btn:hover{border-color: var(--rb-green);color: var(--rb-green-dark);}
.rb-btn:disabled{opacity: 0.55;cursor: wait;}
.rb-btn.is-done{background: var(--rb-green);border-color: var(--rb-green);color: #fff;}
.rb-btn-main{background: var(--rb-ink);border-color: var(--rb-ink);color: #fff;}
.rb-btn-main:hover{background: var(--rb-green-dark);border-color: var(--rb-green-dark);color: #fff;}
.rb-find{font-size: 13px;font-weight: 700;color: var(--rb-green-dark);}
.rb-shelf{padding: 16px 18px;border: 1px solid var(--rb-line);border-radius: 14px;background: #fff;}
.rb-shelf-head{display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;gap: 8px;margin-bottom: 8px;}
.rb-shelf-head h2{margin: 0;font-size: 18px;font-weight: 800;}
.rb-shelf-tools{display: flex;gap: 8px;}
.rb-shelf-empty{margin: 0;font-size: 14px;color: var(--rb-muted);}
.rb-shelf-list{margin: 0;padding-left: 22px;}
.rb-shelf-list li{padding: 6px 0;border-bottom: 1px solid var(--rb-paper);font-size: 14px;}
.rb-shelf-list cite{font-family: var(--rb-serif);font-style: normal;font-weight: 700;}
.rb-shelf-list small{color: var(--rb-muted);}
.rb-shelf-list button{margin-left: 8px;padding: 0 6px;border: 0;background: none;font-size: 12px;font-weight: 700;color: #a6351f;cursor: pointer;}
.rb-byline{display: flex;flex-wrap: wrap;gap: 4px 14px;font-size: 13px;color: var(--rb-muted);}
.rb-byline .author-link{color: var(--rb-green-dark);font-weight: 600;}
.rb-read,.rb-limits{margin: 0 auto 44px;color: var(--rb-ink);line-height: 1.7;}
.rb-read h2,.rb-limits h2{margin-bottom: 12px;font-size: 26px;font-weight: 800;}
.rb-read h3{margin: 0 0 6px;font-size: 18px;font-weight: 700;}
.rb-read cite{font-style: italic;}
.rb-anatomy{display: grid;grid-template-columns: minmax(0, 1fr);gap: 10px;margin: 16px 0;}
.rb-anatomy div{display: grid;grid-template-columns: minmax(0, 1fr);gap: 2px;padding: 12px 16px;border-left: 4px solid var(--rb-green);border-radius: 0 10px 10px 0;background: #fff;}
.rb-anatomy dt{font-size: 12px;font-weight: 800;letter-spacing: 0.06em;text-transform: uppercase;color: var(--rb-green-dark);}
.rb-anatomy dd{margin: 0;font-size: 15px;}
.rb-table-wrap{overflow-x: auto;margin: 14px 0;border: 1px solid var(--rb-line);border-radius: 12px;}
.rb-table{width: 100%;border-collapse: collapse;font-size: 14px;background: #fff;}
.rb-table th,.rb-table td{padding: 10px 12px;border-bottom: 1px solid var(--rb-line);text-align: left;vertical-align: top;}
.rb-table thead th{background: var(--rb-paper);font-size: 12px;letter-spacing: 0.05em;text-transform: uppercase;color: var(--rb-muted);}
.rb-table tbody tr:last-child th,.rb-table tbody tr:last-child td{border-bottom: 0;}
.rb-ways{display: grid;grid-template-columns: minmax(0, 1fr);gap: 14px;margin-top: 14px;}
.rb-way{padding: 16px 18px;border: 1px solid var(--rb-line);border-radius: 12px;background: #fff;}
.rb-way p{margin: 0;font-size: 15px;}
.rb-rules ol{padding-left: 22px;}
.rb-rules li{margin-bottom: 8px;}
.rb-limits{padding: 22px 26px;border: 1px solid var(--rb-line);border-left: 6px solid #a6351f;border-radius: 14px;background: #fff;}
.rb-limits ul{margin: 0;padding-left: 20px;}
.rb-limits li{margin-bottom: 8px;}
.rb-read a,.rb-limits a{color: var(--rb-green-dark);font-weight: 600;}
.rb-closing{display: grid;grid-template-columns: minmax(0, 1fr);gap: 1.25rem;align-items: start;margin-top: 1rem;}
.rb-closing > section{margin: 0;min-width: 0;}
@media (min-width: 768px){.rb-book{grid-template-columns: 240px minmax(0, 1fr);}.rb-verdict{grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);}.rb-ways{grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);}.rb-anatomy div{grid-template-columns: 120px minmax(0, 1fr);gap: 14px;}}
@media (min-width: 992px){.rb-tool{grid-template-columns: 300px minmax(0, 1fr);align-items: start;}.rb-shelf,.rb-byline{grid-column: 1 / -1;}.rb-closing{grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);}}
@media (max-width: 575px){.rb-tool{padding: 14px;}.rb-cover{min-height: 170px;}.rb-title{font-size: 24px;}.rb-info{padding: 16px;}.rb-read h2,.rb-limits h2{font-size: 22px;}.rb-limits{padding: 18px;}}
@media (prefers-reduced-motion: reduce){.rb-book.is-new{animation: none;}}