:root{color-scheme:light;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:#202522;background:#fffce3}*{box-sizing:border-box}body{margin:0;line-height:1.6}a{color:#185295}a:hover{text-decoration:underline}.wrap{width:min(1100px,calc(100% - 36px));margin:auto}.topbar{background:#161616;color:#fff4a0}.topinner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:66px}.topbar a{color:#fff4a0;text-decoration:none}.brand{font-weight:800;letter-spacing:.07em;font-size:1.15rem}nav{display:flex;gap:18px}nav a[aria-current]{border-bottom:2px solid #fff4a0}.panel{background:#fff;border:1px solid #e3d99e;border-radius:10px;padding:24px;margin:24px 0;box-shadow:0 2px 10px #2820000a}.home{display:grid;grid-template-columns:180px 1fr 160px;gap:24px;align-items:start}.home .logo{max-width:100%;height:auto}.home .portrait{max-width:100%;height:auto;border-radius:8px}.searchbox{background:#fffbe6;padding:16px;border:1px solid #ded298;border-radius:8px}

.searchbox input{width:100%}
.searchbox input::placeholder{font-size:.98rem}
@media(max-width:480px){
  .searchbox{padding:14px}
  .searchbox input{width:100%;font-size:.98rem;padding:9px 10px}
  .searchbox input::placeholder{font-size:.92rem}
}
input,select,button{font:inherit;max-width:100%}input,select{border:1px solid #b6b6aa;border-radius:5px;padding:8px;background:#fff}button,.button{padding:9px 17px;border:0;background:#192d19;color:#fff;border-radius:5px;cursor:pointer;text-decoration:none;display:inline-block}.button:hover,button:hover{background:#345d34;color:white}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.filters label{display:flex;flex-direction:column;gap:4px}.actions{margin-top:16px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid #e7e2c3;padding:10px;text-align:left;vertical-align:top}th{background:#f4edbc}.table-scroll{overflow-x:auto}.pagination{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.pagination a,.pagination strong{padding:5px 10px;background:#fff;border:1px solid #d5cb9e;border-radius:4px}.recipe-grid{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:20px}.recipe-grid h2{margin-top:0}.recipe-content{white-space:normal;overflow-wrap:anywhere}.meta{color:#565b50}.footer{margin-top:40px;padding:22px 0;background:#1c1c1c;color:#eee}.empty{padding:18px;background:#fff9d4;border-radius:6px}@media(max-width:740px){.home{grid-template-columns:1fr}.home aside:first-child{order:2}.home .portrait{max-width:145px}.recipe-grid{grid-template-columns:1fr}.topinner{flex-wrap:wrap;padding:12px 0}}@media print{.topbar,.footer,.actions,.filters,.pagination{display:none!important}body{background:#fff}.panel{border:0;box-shadow:none;padding:0}}

.recipe-source{margin-top:24px;padding-top:12px;border-top:1px solid #c7c7c7;font-size:.9rem;overflow-wrap:anywhere}.recipe-source a{overflow-wrap:anywhere}@media print{.recipe-source{color:#000;break-inside:avoid}.recipe-source a{color:#000;text-decoration:none}}

.legal-links{display:flex;gap:1rem;flex-wrap:wrap}.legal-links a{color:#fff4a0}.footer p{margin:0 0 .65rem}.legal-page{max-width:850px}.legal-page h2{margin-top:1.4rem}.legal-page p{max-width:75ch}

/* Wider search results: use the available desktop space without forcing scrolling. */
body:has(.recipe-results) .wrap { width: min(1400px, calc(100% - 32px)); }
.recipe-results { width: 100%; table-layout: fixed; }
.recipe-results th, .recipe-results td { vertical-align: middle; }
.recipe-results th:nth-child(1) { width: 7%; }
.recipe-results th:nth-child(2) { width: 43%; }
.recipe-results th:nth-child(3) { width: 19%; }
.recipe-results th:nth-child(4) { width: 9%; }
.recipe-results th:nth-child(5) { width: 12%; }
.recipe-results th:nth-child(6) { width: 10%; }
.recipe-results .recipe-name, .recipe-results .recipe-author { min-width: 0; }
.recipe-results .recipe-name a, .recipe-results .recipe-author a {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.recipe-results .recipe-time, .recipe-results th:nth-child(4) {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
/* On narrow screens keep practical column widths; scrolling remains a fallback. */
@media (max-width: 850px) {
    .recipe-results { min-width: 780px; }
}

/* Homepage: give the quick-search field enough real horizontal space. */
@media (min-width: 901px) {
  .home { grid-template-columns: 260px minmax(0, 1fr) 160px; gap: 20px; }
}
@media (min-width: 741px) and (max-width: 900px) {
  .home { grid-template-columns: 260px minmax(0, 1fr); gap: 20px; }
  .home aside:last-child { display: none; }
}
.home aside, .home article { min-width: 0; }
.home .searchbox input { display: block; width: 100%; min-width: 0; }
@media (max-width: 740px) {
  .home { grid-template-columns: minmax(0, 1fr); }
  .home aside:first-child { order: 0; }
  .home .searchbox { max-width: 420px; }
}

