.rk{display:flex;flex-direction:column;gap:18px;padding-block:24px 48px}
.rk-top p{margin:0;max-width:70ch}
.rk .card{gap:12px}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.rk-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rk-field{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--muted);min-width:0}
.rk-field.grow{flex:1 1 220px}
.rk-field input,.rk-field textarea,.rk-field select{font:inherit;font-size:.95rem;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);width:100%;min-width:0}
.rk-field textarea{resize:vertical;line-height:1.5}
.rk-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.rk-hint{margin:0;color:var(--muted);font-size:.9rem;max-width:75ch}
.rk-toast{margin:0;color:var(--muted);font-size:.95rem;min-height:1.2em}
.rk-error{margin:0;color:var(--danger);font-weight:600}
.rk-summary{margin:0;font-weight:600}
.rk-empty{margin:0;color:var(--muted);font-size:.9rem}

#rk-form{display:flex;flex-direction:column;gap:10px}

.rk-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:18px;align-items:start}
@media (max-width:860px){.rk-grid{grid-template-columns:minmax(0,1fr)}}

/* Library */
.rk-search input{width:100%}
.rk-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:420px;overflow-y:auto}
.rk-list li{min-width:0}
.rk-list button{width:100%;text-align:left;font:inherit;background:none;border:1px solid transparent;border-radius:8px;padding:8px 10px;color:var(--ink);cursor:pointer;min-width:0}
.rk-list button:hover{border-color:var(--line);background:var(--soft)}
.rk-list button[aria-current="true"]{border-color:var(--accent);background:var(--soft)}
.rk-list .name{display:block;font-weight:600;overflow-wrap:anywhere}
.rk-list .sub{display:block;color:var(--muted);font-size:.82rem;overflow-wrap:anywhere}

/* Detail */
.rk-meta{margin:0;color:var(--muted);font-size:.9rem}
.rk-detail h3{margin:8px 0 0;font-size:1rem}
.rk-detail .rk-field{flex-direction:row;align-items:center;gap:6px}
.rk-detail .rk-field input{width:5.5rem}
.rk-ings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}
.rk-ings li{font-size:.95rem;overflow-wrap:anywhere}
.rk-ings .note{color:var(--muted)}
.rk-steps{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:6px}
.rk-steps li{font-size:.95rem;overflow-wrap:anywhere}
.rk-notes{margin:0;font-size:.95rem;overflow-wrap:anywhere}

/* Plan */
.rk-scroll{overflow-x:auto;min-width:0}
.rk-plan-table{width:100%;border-collapse:collapse;font-size:.88rem;min-width:520px}
.rk-plan-table th,.rk-plan-table td{border:1px solid var(--line);padding:6px;vertical-align:top;text-align:left}
.rk-plan-table th{color:var(--muted);font-weight:600;background:var(--soft);white-space:nowrap}
.rk-plan-table select{font:inherit;font-size:.85rem;padding:5px 6px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);width:100%;min-width:0}
.rk-plan-table .serves{width:4.2rem;font:inherit;font-size:.85rem;padding:4px 6px;margin-top:4px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink)}

/* Shopping list */
.rk-shop-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.rk-shop-list li{min-width:0}
.rk-shop-list label{display:flex;gap:8px;align-items:flex-start;font-size:.95rem;cursor:pointer;min-width:0}
.rk-shop-list .text{overflow-wrap:anywhere;min-width:0}
.rk-shop-list .from{color:var(--muted);font-size:.8rem;display:block}
.rk-shop-list input:checked ~ .text{text-decoration:line-through;color:var(--muted)}

@media print{
  .no-print{display:none!important}
  .rk-grid{grid-template-columns:minmax(0,1fr)}
  .rk-list{max-height:none}
}
