:root{--rcg-paper: #fbf6ec;--rcg-card: #fffdf8;--rcg-ink: #2a2420;--rcg-muted: #6c6056;--rcg-tomato: #c2412d;--rcg-tomato-dark: #983020;--rcg-tomato-soft: #fbe9e4;--rcg-basil: #3b6845;--rcg-basil-soft: #e4eee2;--rcg-mustard: #d9962b;--rcg-tape: #f7e9bd;--rcg-line: #e8dbc6;--rcg-soft: #f4ecdd;--rcg-serif: Georgia, "Times New Roman", serif;--rcg-radius: 12px;--rcg-shadow: 0 12px 30px rgba(70, 45, 20, 0.10);--primary: #c2412d;--primary-dark: #983020;--border: #e8dbc6;--surface: #fffdf8;--shadow-soft: 0 12px 30px rgba(70, 45, 20, 0.10);--surface-muted: #f4ecdd;--text-main: #2a2420;--text-muted: #6c6056;}
.rcg-tool [hidden],.rcg-read [hidden]{display: none !important;}
.rcg-tool{background: var(--rcg-paper);border: 1px solid var(--rcg-line);border-radius: var(--rcg-radius);padding: 1.25rem;margin: 1.5rem 0 3rem;box-shadow: var(--rcg-shadow);color: var(--rcg-ink);}
.rcg-byline{display: flex;flex-wrap: wrap;justify-content: space-between;gap: 0.3rem 1rem;font-size: 0.82rem;color: var(--rcg-muted);padding-bottom: 0.85rem;margin-bottom: 1.1rem;border-bottom: 1px dashed var(--rcg-line);}
.rcg-byline-author a,.rcg-byline .author-link{color: var(--rcg-tomato-dark);text-decoration: underline;text-underline-offset: 2px;}
.rcg-board{display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 1rem 2rem;align-items: start;}
.rcg-mode{display: inline-grid;grid-template-columns: auto auto;gap: 0.2rem;padding: 0.2rem;border: 1px solid var(--rcg-line);border-radius: 999px;background: var(--rcg-card);}
.rcg-mode label{position: relative;margin: 0;cursor: pointer;}
.rcg-mode input,.rcg-chips input{position: absolute;opacity: 0;width: 1px;height: 1px;pointer-events: none;}
.rcg-mode span{display: flex;align-items: baseline;gap: 0.4rem;padding: 0.38rem 1rem;border-radius: 999px;transition: background 0.15s ease, color 0.15s ease;}
.rcg-mode strong{font-family: var(--rcg-serif);font-size: 0.98rem;color: var(--rcg-ink);}
.rcg-mode small{font-size: 0.76rem;color: var(--rcg-muted);}
.rcg-mode input:checked + span{background: var(--rcg-tomato);}
.rcg-mode input:checked + span strong,.rcg-mode input:checked + span small{color: #fff;}
.rcg-mode input:focus-visible + span,.rcg-chips input:focus-visible + span{outline: 3px solid var(--rcg-mustard);outline-offset: 2px;}
.rcg-row{border: 0;padding: 0;margin: 0;min-width: 0;}
.rcg-row legend,.rcg-field label,.rcg-label{display: block;float: none;width: auto;font-size: 0.74rem;font-weight: 700;letter-spacing: 0.08em;text-transform: uppercase;color: var(--rcg-tomato-dark);margin-bottom: 0.45rem;}
.rcg-row legend small{text-transform: none;letter-spacing: 0;font-weight: 500;color: var(--rcg-muted);margin-left: 0.35rem;}
.rcg-row-note{font-size: 0.84rem;color: var(--rcg-muted);margin: 0.4rem 0 0;}
.rcg-chips{display: flex;flex-wrap: wrap;gap: 0.45rem;}
.rcg-chips label{position: relative;margin: 0;cursor: pointer;}
.rcg-chips span{display: inline-flex;align-items: center;gap: 0.35rem;padding: 0.42rem 0.85rem;border: 1px solid var(--rcg-line);border-radius: 999px;background: var(--rcg-card);font-size: 0.9rem;color: var(--rcg-ink);transition: background 0.15s ease, border-color 0.15s ease;}
.rcg-chips label:hover span{border-color: var(--rcg-tomato);}
.rcg-chips input:checked + span{background: var(--rcg-ink);border-color: var(--rcg-ink);color: #fff;}
.rcg-chips input[type="checkbox"]:checked + span{background: var(--rcg-basil);border-color: var(--rcg-basil);}
.rcg-chips input[type="checkbox"]:checked + span::before{content: "\2713";font-weight: 700;}
.rcg-row.is-off .rcg-chips{opacity: 0.4;pointer-events: none;}
.rcg-selects{grid-column: 1 / -1;display: flex;flex-wrap: wrap;align-items: flex-end;gap: 0.8rem 1rem;}
.rcg-field{flex: 1 1 200px;min-width: 0;}
.rcg-field select{width: 100%;padding: 0.65rem 2.2rem 0.65rem 0.8rem;border: 1px solid var(--rcg-line);border-radius: 10px;background: var(--rcg-card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23983020' d='M6 9L1 4h10z'/%3E%3C/svg%3E") no-repeat right 0.8rem center;appearance: none;font-size: 0.95rem;color: var(--rcg-ink);}
.rcg-field select:focus{outline: 3px solid var(--rcg-mustard);outline-offset: 1px;border-color: var(--rcg-tomato);}
.rcg-roll{flex: 0 0 auto;display: inline-flex;align-items: center;gap: 0.5rem;padding: 0.72rem 1.4rem;border: 0;border-radius: 10px;background: var(--rcg-tomato);color: #fff;font-weight: 700;font-size: 1rem;box-shadow: 0 4px 0 var(--rcg-tomato-dark);transition: transform 0.1s ease, box-shadow 0.1s ease;}
.rcg-roll:hover{background: var(--rcg-tomato-dark);}
.rcg-roll:active{transform: translateY(3px);box-shadow: 0 1px 0 var(--rcg-tomato-dark);}
.rcg-roll:disabled{opacity: 0.65;cursor: wait;}
.rcg-roll:focus-visible{outline: 3px solid var(--rcg-mustard);outline-offset: 3px;}
.rcg-status{margin: 1rem 0;padding: 0.6rem 0.85rem;border-left: 4px solid var(--rcg-basil);background: var(--rcg-basil-soft);border-radius: 0 8px 8px 0;font-size: 0.9rem;color: var(--rcg-ink);}
.rcg-status.is-error{border-left-color: var(--rcg-tomato);background: var(--rcg-tomato-soft);}
.rcg-nights{list-style: none;display: grid;grid-template-columns: repeat(5, minmax(0, 1fr));gap: 0.5rem;padding: 0;margin: 0 0 1rem;}
.rcg-nights button{width: 100%;height: 100%;text-align: left;padding: 0.6rem 0.7rem;border: 1px solid var(--rcg-line);border-radius: 10px;background: var(--rcg-card);color: var(--rcg-ink);display: flex;flex-direction: column;gap: 0.15rem;}
.rcg-nights small{font-size: 0.7rem;font-weight: 700;letter-spacing: 0.08em;text-transform: uppercase;color: var(--rcg-tomato-dark);}
.rcg-nights strong{font-family: var(--rcg-serif);font-size: 0.98rem;line-height: 1.25;}
.rcg-nights span{font-size: 0.78rem;color: var(--rcg-muted);}
.rcg-nights button:hover{border-color: var(--rcg-tomato);}
.rcg-nights button.is-current{border-color: var(--rcg-tomato);box-shadow: inset 0 -4px 0 var(--rcg-tomato);}
.rcg-desk{display: grid;grid-template-columns: minmax(0, 1fr) 290px;gap: 1.25rem;align-items: start;}
.rcg-card{background: var(--rcg-card);border: 1px solid var(--rcg-line);border-radius: 6px;padding: 1.4rem 1.5rem 1.2rem;box-shadow: 0 2px 0 var(--rcg-line), 0 10px 24px rgba(70, 45, 20, 0.08);}
.rcg-card.is-new{animation: rcg-in 0.35s ease;}
@keyframes rcg-in{from{opacity: 0;transform: translateY(8px) rotate(-0.4deg);}to{opacity: 1;transform: none;}}
.rcg-card-head{padding-bottom: 0.9rem;border-bottom: 3px double var(--rcg-tomato);}
.rcg-kicker{margin: 0 0 0.25rem;font-size: 0.75rem;font-weight: 700;letter-spacing: 0.1em;text-transform: uppercase;color: var(--rcg-tomato-dark);}
.rcg-name{font-family: var(--rcg-serif);font-size: clamp(1.6rem, 3.4vw, 2.2rem);font-weight: 700;line-height: 1.15;margin: 0;color: var(--rcg-ink);}
.rcg-diets{list-style: none;display: flex;flex-wrap: wrap;gap: 0.35rem;padding: 0;margin: 0.6rem 0 0;}
.rcg-diets li{font-size: 0.76rem;font-weight: 600;padding: 0.18rem 0.6rem;border-radius: 999px;background: var(--rcg-basil-soft);color: var(--rcg-basil);}
.rcg-facts{display: grid;grid-template-columns: repeat(4, minmax(0, 1fr));margin: 0;border-bottom: 1px dashed var(--rcg-line);}
.rcg-facts > div{padding: 0.75rem 0.5rem;border-right: 1px dashed var(--rcg-line);}
.rcg-facts > div:last-child{border-right: 0;}
.rcg-facts dt{font-size: 0.7rem;font-weight: 700;letter-spacing: 0.08em;text-transform: uppercase;color: var(--rcg-muted);}
.rcg-facts dd{margin: 0.2rem 0 0;font-weight: 700;font-size: 1rem;}
.rcg-serves dd{display: flex;align-items: center;gap: 0.4rem;}
.rcg-serves button{width: 1.9rem;height: 1.9rem;border: 1px solid var(--rcg-line);border-radius: 50%;background: var(--rcg-paper);color: var(--rcg-tomato-dark);font-weight: 700;font-size: 1.05rem;line-height: 1;}
.rcg-serves button:hover:not(:disabled){border-color: var(--rcg-tomato);background: var(--rcg-tomato-soft);}
.rcg-serves button:disabled{opacity: 0.35;}
.rcg-serves output{min-width: 1.5rem;text-align: center;font-variant-numeric: tabular-nums;font-size: 1.1rem;}
.rcg-scaled{margin: 0.6rem 0 0;font-size: 0.84rem;color: #7a5410;background: #fdf3dc;border-radius: 6px;padding: 0.45rem 0.7rem;}
.rcg-body{display: grid;grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.35fr);gap: 1.5rem;margin-top: 1.1rem;}
.rcg-body h3{font-family: var(--rcg-serif);font-size: 1.15rem;margin: 0 0 0.5rem;color: var(--rcg-ink);}
.rcg-ing ul{list-style: none;padding: 0;margin: 0;}
.rcg-ing li button,.rcg-method li button{width: 100%;text-align: left;border: 0;background: none;color: var(--rcg-ink);padding: 0;font-size: 0.95rem;line-height: 1.5;}
.rcg-ing li button{display: block;position: relative;padding: 0.42rem 0 0.42rem 1.6rem;border-bottom: 1px dotted var(--rcg-line);}
.rcg-ing li button::before{content: "";position: absolute;left: 0;top: 0.68rem;width: 0.95rem;height: 0.95rem;border: 1.5px solid #c9b79c;border-radius: 3px;}
.rcg-ing strong{font-variant-numeric: tabular-nums;color: var(--rcg-tomato-dark);}
.rcg-ing li span{color: var(--rcg-muted);}
.rcg-ing li button.is-got{color: var(--rcg-muted);text-decoration: line-through;text-decoration-color: rgba(108, 96, 86, 0.6);}
.rcg-ing li button.is-got strong{color: var(--rcg-muted);}
.rcg-ing li button.is-got::before{content: "\2713";background: var(--rcg-basil);border-color: var(--rcg-basil);color: #fff;font-size: 0.7rem;line-height: 0.85rem;text-align: center;}
.rcg-hint{font-size: 0.78rem;color: var(--rcg-muted);margin: 0.5rem 0 0;}
.rcg-method ol{list-style: none;counter-reset: rcg-step;padding: 0;margin: 0;}
.rcg-method li{counter-increment: rcg-step;}
.rcg-method li button{display: grid;grid-template-columns: 1.9rem 1fr;gap: 0.6rem;padding: 0.45rem 0;}
.rcg-method li button::before{content: counter(rcg-step);display: flex;align-items: center;justify-content: center;width: 1.75rem;height: 1.75rem;border-radius: 50%;background: var(--rcg-ink);color: #fff;font-weight: 700;font-size: 0.85rem;font-family: var(--rcg-serif);}
.rcg-method li button.is-done{color: var(--rcg-muted);}
.rcg-method li button.is-done::before{content: "\2713";background: var(--rcg-basil);}
.rcg-ing li button:focus-visible,.rcg-method li button:focus-visible,.rcg-nights button:focus-visible,.rcg-ghost:focus-visible,.rcg-serves button:focus-visible,.rcg-history-list button:focus-visible{outline: 3px solid var(--rcg-mustard);outline-offset: 2px;}
.rcg-note{position: relative;margin: 1.4rem 0.3rem 0;padding: 1rem 1.1rem 0.9rem;background: var(--rcg-tape);border-radius: 2px;transform: rotate(-0.5deg);box-shadow: 0 3px 8px rgba(70, 45, 20, 0.10);}
.rcg-note::before{content: "";position: absolute;top: -10px;left: 50%;width: 90px;height: 20px;margin-left: -45px;background: rgba(255, 255, 255, 0.55);border: 1px solid rgba(200, 180, 140, 0.4);transform: rotate(2deg);}
.rcg-note-label{margin: 0 0 0.3rem;font-family: var(--rcg-serif);font-style: italic;font-weight: 700;color: var(--rcg-tomato-dark);}
.rcg-note p:last-child{margin: 0;font-size: 0.93rem;line-height: 1.55;}
.rcg-actions{display: flex;flex-wrap: wrap;gap: 0.5rem;margin-top: 1.2rem;padding-top: 1rem;border-top: 1px dashed var(--rcg-line);}
.rcg-ghost{display: inline-flex;align-items: center;gap: 0.45rem;padding: 0.5rem 0.9rem;border: 1px solid var(--rcg-line);border-radius: 8px;background: var(--rcg-card);color: var(--rcg-ink);font-size: 0.88rem;font-weight: 600;}
.rcg-ghost:hover{border-color: var(--rcg-tomato);color: var(--rcg-tomato-dark);}
.rcg-ghost.is-done{border-color: var(--rcg-basil);color: var(--rcg-basil);}
.rcg-side{display: grid;gap: 1rem;}
.rcg-side > div{background: var(--rcg-card);border: 1px solid var(--rcg-line);border-radius: 10px;padding: 1rem;}
.rcg-side-title{font-family: var(--rcg-serif);font-size: 1.05rem;margin: 0 0 0.5rem;color: var(--rcg-ink);}
.rcg-side-empty{font-size: 0.85rem;color: var(--rcg-muted);margin: 0;}
.rcg-history-list{list-style: none;padding: 0;margin: 0;display: grid;gap: 0.3rem;}
.rcg-history-list button{width: 100%;text-align: left;border: 0;border-radius: 6px;background: none;padding: 0.4rem 0.5rem;color: var(--rcg-ink);display: flex;justify-content: space-between;gap: 0.5rem;font-size: 0.9rem;}
.rcg-history-list button small{color: var(--rcg-muted);white-space: nowrap;}
.rcg-history-list button:hover,.rcg-history-list button.is-current{background: var(--rcg-soft);}
.rcg-history-list button.is-current{font-weight: 700;}
.rcg-shop-sum{font-size: 0.84rem;color: var(--rcg-muted);margin: 0 0 0.6rem;}
.rcg-shop-list{list-style: none;padding: 0;margin: 0 0 0.8rem;max-height: 420px;overflow-y: auto;font-size: 0.88rem;}
.rcg-shop-list li{display: flex;justify-content: space-between;gap: 0.5rem;padding: 0.32rem 0;border-bottom: 1px dotted var(--rcg-line);}
.rcg-shop-list li strong{color: var(--rcg-tomato-dark);font-variant-numeric: tabular-nums;}
.rcg-shop-list li em{font-style: normal;font-size: 0.72rem;font-weight: 700;white-space: nowrap;align-self: center;padding: 0.1rem 0.45rem;border-radius: 999px;background: var(--rcg-basil-soft);color: var(--rcg-basil);}
.rcg-read{margin: 0 auto 2.75rem;color: var(--rcg-ink);}
.rcg-read h2,.rcg-limits h2{font-family: var(--rcg-serif);font-size: clamp(1.4rem, 2.6vw, 1.8rem);margin-bottom: 0.8rem;color: var(--rcg-ink);}
.rcg-read p{line-height: 1.7;}
.rcg-anatomy{display: grid;gap: 0.6rem;margin: 1.2rem 0;}
.rcg-anatomy > div{display: grid;grid-template-columns: 130px 1fr;gap: 1rem;padding: 0.8rem 1rem;background: var(--rcg-card);border: 1px solid var(--rcg-line);border-left: 4px solid var(--rcg-tomato);border-radius: 8px;}
.rcg-anatomy dt{font-family: var(--rcg-serif);font-weight: 700;}
.rcg-anatomy dd{margin: 0;line-height: 1.6;color: var(--rcg-ink);}
.rcg-table-wrap{overflow-x: auto;margin: 1.2rem 0;border: 1px solid var(--rcg-line);border-radius: 10px;}
.rcg-grid-table{width: 100%;border-collapse: collapse;font-size: 0.93rem;background: var(--rcg-card);}
.rcg-grid-table caption{caption-side: top;padding: 0.7rem 1rem;font-weight: 700;color: var(--rcg-muted);background: var(--rcg-soft);}
.rcg-grid-table th,.rcg-grid-table td{padding: 0.7rem 1rem;text-align: left;vertical-align: top;border-top: 1px solid var(--rcg-line);}
.rcg-grid-table th{font-size: 0.78rem;letter-spacing: 0.06em;text-transform: uppercase;color: var(--rcg-tomato-dark);}
.rcg-grid-table td:nth-child(2){white-space: nowrap;font-weight: 600;}
.rcg-order{list-style: none;padding: 0;margin: 1.2rem 0;display: grid;gap: 0.5rem;}
.rcg-order li{padding: 0.7rem 1rem;background: var(--rcg-basil-soft);border-radius: 8px;line-height: 1.6;}
.rcg-slips{display: grid;grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));gap: 0.8rem;margin: 1.2rem 0;}
.rcg-slips > div{padding: 0.9rem 1rem;background: var(--rcg-card);border: 1px solid var(--rcg-line);border-top: 4px solid var(--rcg-mustard);border-radius: 8px;}
.rcg-slips h3{font-size: 1rem;font-weight: 700;margin: 0 0 0.4rem;}
.rcg-slips p{margin: 0;font-size: 0.92rem;line-height: 1.6;}
.rcg-limits{margin: 0 auto 2.75rem;padding: 1.3rem 1.5rem;background: var(--rcg-card);border: 1px solid var(--rcg-line);border-left: 5px solid var(--rcg-basil);border-radius: 0 12px 12px 0;}
.rcg-limits ul{margin: 0;padding-left: 1.1rem;}
.rcg-limits li{margin-bottom: 0.55rem;line-height: 1.65;}
.rcg-limits a,.rcg-read a{color: var(--rcg-tomato-dark);text-decoration: underline;text-underline-offset: 2px;}
@media (max-width: 991px){.rcg-desk{grid-template-columns: 1fr;}.rcg-nights{grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));}}
@media (max-width: 767px){.rcg-board{grid-template-columns: 1fr;gap: 0.9rem;}.rcg-tool{padding: 1rem;}.rcg-card{padding: 1.1rem 1rem;}.rcg-body{grid-template-columns: 1fr;}.rcg-facts{grid-template-columns: repeat(2, minmax(0, 1fr));}.rcg-facts > div:nth-child(2){border-right: 0;}.rcg-facts > div:nth-child(-n+2){border-bottom: 1px dashed var(--rcg-line);}.rcg-anatomy > div{grid-template-columns: 1fr;gap: 0.25rem;}.rcg-roll{width: 100%;justify-content: center;}}
@media (max-width: 480px){.rcg-mode{display: grid;grid-template-columns: 1fr 1fr;}.rcg-mode span{flex-direction: column;gap: 0;align-items: center;text-align: center;padding: 0.4rem 0.5rem;}}
@media (prefers-reduced-motion: reduce){.rcg-card.is-new{animation: none;}.rcg-roll,.rcg-chips span,.rcg-mode span{transition: none;}}
@media print{body *{visibility: hidden;}.rcg-card,.rcg-card *{visibility: visible;}.rcg-card{position: absolute;left: 0;top: 0;width: 100%;border: 0;box-shadow: none;}.rcg-actions,.rcg-hint,.rcg-serves button{display: none !important;}.rcg-note{transform: none;box-shadow: none;border: 1px solid #ccc;}.rcg-note::before{display: none;}}