.idr {
  --idr-ink: #211b18;
  --idr-paper: #faf7f0;
  --idr-wood: #2c1b14;
  --idr-muted: #665850;
  --idr-tomato: #c4452b;
  --idr-line: #d9cfc3;
  --idr-layout-width: 90rem;
  --idr-text-body: clamp(1.125rem, 1.02rem + .3vw, 1.32rem);
  --idr-text-lede: clamp(1.2rem, 1.05rem + .5vw, 1.5rem);
  --idr-text-section: clamp(2.5rem, 1.9rem + 2vw, 4.15rem);
  color: var(--idr-ink);
  position: relative;
  left: 50%;
  width: min(var(--idr-layout-width), calc(100vw - clamp(1.25rem, 6vw, 7rem)));
  max-width: none;
  transform: translateX(-50%);
  font-size: var(--idr-text-body);
  font-family: "Open Sans", Arial, Helvetica, sans-serif;
  line-height: 1.55;
}

.idr * { box-sizing: border-box; }
.idr h2, .idr h3, .idr p { margin-top: 0; }
.idr :focus-visible { outline: 3px solid #315f7d; outline-offset: 3px; }
.idr-loading,
.idr-notice { margin: 0; }
.idr-loading { font-size: var(--idr-text-lede); font-weight: 700; }
.idr-finder { display: grid; gap: clamp(3rem, 6vw, 5rem); }
.idr-finder-intro { max-width: 64rem; }
.idr-finder-intro h2,
.idr-results-head h2 { color: var(--idr-ink); font-size: var(--idr-text-section); letter-spacing: -.04em; line-height: 1.03; margin-bottom: .9rem; }
.idr-finder-intro > p:last-child,
.idr-results-head p:last-child { color: var(--idr-muted); font-size: var(--idr-text-lede); line-height: 1.6; }
.idr-eyebrow { color: var(--idr-tomato); font-size: clamp(.92rem, .88rem + .18vw, 1.02rem); font-weight: 800; letter-spacing: .08em; margin-bottom: .65rem; text-transform: uppercase; }
.idr-controls { display: grid; gap: clamp(1.25rem, 2vw, 2rem); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.idr-panel { min-width: 0; padding: clamp(1.25rem, 1rem + 1vw, 2rem); }
.idr-panel legend { float: left; width: 100%; color: var(--idr-wood); font-size: clamp(1.3rem, 1.1rem + .55vw, 1.65rem); font-weight: 800; line-height: 1.12; margin-bottom: .8rem; padding: 0; }
.idr-panel legend + * { clear: both; }
.idr-panel > p { color: var(--idr-muted); font-size: var(--idr-text-body); line-height: 1.58; margin-bottom: 1.35rem; }
.idr-search { display: block; margin-bottom: .9rem; }
.idr-search input { width: 100%; border: 1px solid #cdbcae; border-radius: 999px; background: #fff; color: var(--idr-ink); font: inherit; font-size: clamp(1.02rem, .96rem + .2vw, 1.15rem); line-height: 1.35; padding: .82rem 1.05rem; }
.idr-search input::placeholder { color: #81736b; opacity: 1; }
.idr-category-tabs { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0 0 1rem; }
.idr-category { appearance: none; border: 1px solid #bca99b; border-radius: 999px; background: #fff; color: var(--idr-wood); cursor: pointer; font: inherit; font-size: clamp(.92rem, .86rem + .18vw, 1.04rem); font-weight: 700; line-height: 1.2; padding: .5rem .76rem; }
.idr-category:hover,
.idr-category[aria-pressed="true"] { border-color: var(--idr-tomato); background: var(--idr-tomato); color: #fff; }
.idr-head-starts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; max-height: 29rem; overflow: auto; padding: .25rem .55rem .25rem .25rem; }
.idr-choice { position: relative; display: grid; grid-template-columns: clamp(3.5rem, 6vw, 4.5rem) minmax(0, 1fr); gap: .75rem; align-items: center; min-height: 7.2rem; cursor: pointer; border: 2px solid rgb(44 27 20 / 18%); border-radius: .65rem; background: #fff; padding: .8rem; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.idr-choice:hover { border-color: rgb(196 69 43 / 70%); box-shadow: 0 4px 12px rgb(44 27 20 / 8%); transform: translateY(-1px); }
.idr-choice.is-selected,
.idr-choice:has(input:checked) { border-color: var(--idr-tomato); background: #fff7f3; box-shadow: inset 0 0 0 1px var(--idr-tomato); }
.idr-choice input { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); border: 0; white-space: nowrap; }
.idr-choice input:focus-visible + .idr-choice-check { outline: 3px solid #315f7d; outline-offset: 3px; }
.idr-choice-check { position: absolute; z-index: 2; top: .45rem; right: .45rem; display: grid; place-items: center; width: 1.35rem; height: 1.35rem; border: 2px solid #bca99b; border-radius: 999px; background: #fff; color: transparent; font-size: .82rem; font-weight: 800; line-height: 1; }
.idr-choice.is-selected .idr-choice-check,
.idr-choice:has(input:checked) .idr-choice-check,
.idr-feel[aria-pressed="true"] .idr-choice-check { border-color: var(--idr-tomato); background: var(--idr-tomato); color: #fff; }
.idr-choice-icon { display: grid; place-items: center; width: 100%; aspect-ratio: 1; }
.idr-choice-icon .ik-recipe-icon,
.idr-choice-icon .ik-canon-svg { display: block; width: 100%; height: 100%; }
.idr-choice-icon .ik-canon-svg { object-fit: contain; }
.idr-choice strong, .idr-choice small { display: block; }
.idr-choice strong { color: var(--idr-ink); font-size: clamp(1.02rem, .95rem + .2vw, 1.16rem); line-height: 1.35; }
.idr-choice small { color: var(--idr-muted); font-size: clamp(.94rem, .88rem + .16vw, 1.04rem); line-height: 1.4; margin-top: .22rem; }
.idr-feel-group + .idr-feel-group { border-top: 1px solid var(--idr-line); margin-top: 1.2rem; padding-top: 1.2rem; }
.idr-feel-group h3 { color: var(--idr-tomato); font-size: clamp(.96rem, .9rem + .16vw, 1.06rem); font-weight: 800; letter-spacing: .08em; margin-bottom: .75rem; text-transform: uppercase; }
.idr-feels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.idr-feel,
.idr-reset,
.idr-primary { appearance: none; border: 2px solid var(--idr-wood); border-radius: 999px; background: #fff; color: var(--idr-wood); cursor: pointer; font: inherit; font-weight: 800; line-height: 1.2; }
.idr-feel { position: relative; display: grid; grid-template-rows: minmax(4.6rem, auto) auto; place-items: center; gap: .5rem; min-width: 0; min-height: 8.25rem; border-color: rgb(44 27 20 / 24%); border-radius: .65rem; font-size: clamp(.98rem, .91rem + .2vw, 1.12rem); padding: .75rem .6rem .7rem; text-align: center; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.idr-feel:hover { border-color: rgb(196 69 43 / 70%); box-shadow: 0 4px 12px rgb(44 27 20 / 8%); transform: translateY(-1px); }
.idr-feel[aria-pressed="true"] { border-color: var(--idr-tomato); background: #fff7f3; color: var(--idr-wood); box-shadow: inset 0 0 0 1px var(--idr-tomato); }
.idr-feel-icon { display: flex; align-items: center; justify-content: center; width: clamp(4.5rem, 4rem + .8vw, 5.25rem); height: clamp(4.5rem, 4rem + .8vw, 5.25rem); }
.idr-feel-icon-multiple { gap: .1rem; width: clamp(5.6rem, 5rem + 1vw, 6.6rem); }
.idr-feel-icon .ik-recipe-icon { display: block; width: 100%; height: 100%; min-width: 0; }
.idr-feel-icon-multiple .ik-recipe-icon { width: 50%; }
.idr-feel-icon .ik-canon-svg { display: block; width: 100%; height: 100%; object-fit: contain; }
.idr-feel-label { overflow-wrap: anywhere; }
.idr-reset { flex: 0 0 auto; font-size: 1rem; padding: .72rem 1.05rem; }
.idr-reset:hover { border-color: var(--idr-tomato); color: var(--idr-tomato); }
.idr-primary { display: inline-block; background: var(--idr-wood); color: #fff; padding: .72rem 1.05rem; text-decoration: none; }
.idr-primary:hover { border-color: var(--idr-tomato); background: var(--idr-tomato); color: #fff; }
.idr-choice-empty { color: var(--idr-muted); font-size: .95rem; margin: .75rem 0 0; }
.idr-selection-summary { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; padding-block: 1rem; }
.idr-selection-summary[hidden] { display: none; }
.idr-selection-summary > div { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; min-width: 0; }
.idr-selection-summary span { color: var(--idr-muted); font-size: 1rem; }
.idr-selection-summary strong { color: var(--idr-ink); }
.idr-results { display: grid; gap: clamp(1.5rem, 3vw, 2.25rem); }
.idr-results-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; }
.idr-results-head > div { min-width: 0; }
.idr-results-head h2 { margin-bottom: .45rem; }
.idr .ik-library-grid { align-items: stretch; }
.idr.ik-platform { border: 0; background: transparent; padding: 0; }
.idr-no-results { text-align: center; }
.idr-no-results h3 { font-size: var(--idr-text-lede); margin-bottom: .65rem; }
.idr-no-results p { color: var(--idr-muted); font-size: var(--idr-text-body); margin-bottom: 0; }
.idr-lower-quip { max-width: 36ch; margin: .35rem 0 0; color: var(--idr-tomato); font-family: "Gochi Hand", "Comic Sans MS", cursive; font-size: clamp(1.7rem, 1.4rem + 1vw, 2.35rem); line-height: 1.2; transform: rotate(-1deg); }
.idr-back { border-top: 1px solid var(--idr-line); margin-bottom: 0; padding-top: 1.5rem; }
.idr-back a { color: var(--idr-wood); font-size: var(--idr-text-body); font-weight: 800; text-underline-offset: .2em; }
.idr-filter-icon-sources { display: none !important; }

@media (max-width: 820px) {
  .idr-controls { grid-template-columns: 1fr; }
  .idr-head-starts { max-height: 20rem; }
}

@media (max-width: 620px) {
  .idr { width: calc(100vw - 1.25rem); }
  .idr-finder { gap: 2.75rem; }
  .idr-head-starts,
  .idr-feels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .idr-selection-summary { align-items: flex-start; flex-direction: column; }
  .idr-results-head { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .idr-reset { align-self: flex-start; }
}

@media (max-width: 410px) {
  .idr-head-starts,
  .idr-feels { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .idr * { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
