.ur-page {
  --ur-ink: #4b245f;
  --ur-muted: #786a80;
  --ur-line: #eadff1;
  --ur-surface: #fff;
  --ur-soft: #fbf8fd;
  --ur-brand: #724f8c;
}
.ur-page :is(#user-recipes, #add-user-recipe, #recipe-community) { scroll-margin-top: 96px; }
.ur-page .ur-community-link:hover { text-decoration: underline; }
.ur-page .ur-search-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin: 0 0 12px; }
.ur-page .ur-search-heading h2 { margin: 0 0 4px; color: var(--ur-ink); font-size: 18px; font-weight: 700; line-height: 1.35; }
.ur-page .ur-search-heading span { color: var(--ur-muted); font-size: 13px; }
.ur-page .ur-search-reset { color: var(--ur-brand); font-size: 13px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.ur-page .ur-search { display: flex; margin: 0 0 20px; min-width: 0; }
.ur-page .ur-search-field { display: flex; align-items: center; flex: 1; gap: 10px; min-width: 0; padding-left: 12px; border: 1px solid #ded6e5; border-right: 0; border-radius: 6px 0 0 6px; background: var(--ur-surface); color: var(--ur-muted); }
.ur-page .ur-search-field svg { flex: none; }
.ur-page .ur-search-field:focus-within { border-color: var(--ur-brand); box-shadow: inset 0 0 0 1px var(--ur-brand); }
.ur-page .ur-search input { width: 100%; min-width: 0; height: 42px; padding: 0 10px 0 0; border: 0; outline: 0; background: transparent; color: var(--ur-ink); font-size: 14px; }
.ur-page .ur-search input::placeholder { color: var(--ur-muted); opacity: 1; }
.ur-page .ur-search button { flex: none; min-height: 42px; padding: 0 20px; border: 1px solid #724f8c; border-radius: 0 6px 6px 0; background: #724f8c; color: #fff; font-size: 14px; font-weight: 700; }
.ur-page .ur-search button:hover { background: #5e3e76; }
.ur-page .ur-card { min-width: 0; }
.ur-page .ur-card :is(h2, p), .ur-page .ur-ingredient a { overflow-wrap: anywhere; }
.ur-page .ur-card [data-recipe-calculator] input { min-width: 0; }
.ur-page .ur-card [data-recipe-calc-action] { min-width: 0; font-size: 13px; line-height: 1.25; padding: 10px 12px; }
.ur-page .ur-card [data-recipe-calc-action] svg { flex: none; }
.ur-page .ur-ingredient-image { flex: none; }
.ur-page .ur-ingredient-buy { flex: none; width: 38px; height: 34px; padding: 0; }
.ur-page .ur-community-sections { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--ur-line); }
.ur-page .ur-add > div:first-child { display: flex; align-items: center; gap: 10px; }
.ur-page :is(a, button, input, textarea, select):focus-visible { outline: 2px solid var(--ur-brand); outline-offset: 3px; }

html[data-theme="dark"] .ur-page {
  --ur-ink: #e6d7ef;
  --ur-muted: #b4a6bd;
  --ur-line: #44374f;
  --ur-surface: #211c28;
  --ur-soft: #292231;
  --ur-brand: #c19dd8;
}
html[data-theme="dark"] .ur-page .ur-hero { background: linear-gradient(135deg, #2b2134, #211c28); border-color: var(--ur-line); box-shadow: none; }
html[data-theme="dark"] .ur-page [class~="bg-white"] { background-color: var(--ur-surface); }
html[data-theme="dark"] .ur-page :is([class~="bg-[#fbf8fd]"], [class~="bg-[#fcfaff]"], [class~="bg-[#fdfbfe]"], [class~="bg-[#fbf9fc]"], [class~="bg-[#f8f3fb]"], [class~="bg-[#f4eef8]"]) { background-color: var(--ur-soft); }
html[data-theme="dark"] .ur-page [class*="border-[#"] { border-color: var(--ur-line); }
html[data-theme="dark"] .ur-page [class*="divide-[#"] > :not([hidden]) ~ :not([hidden]) { border-color: var(--ur-line); }
html[data-theme="dark"] .ur-page :is([class~="text-[#4b245f]"], [class~="text-[#2f2737]"], [class~="text-[#201626]"], [class~="text-[#3a3040]"], [class~="text-[#352d3a]"], [class~="text-[#56366f]"], [class~="text-[#4d4453]"]) { color: var(--ur-ink); }
html[data-theme="dark"] .ur-page :is([class~="text-[#6c6172]"], [class~="text-[#75687d]"], [class~="text-[#75677d]"], [class~="text-[#6f6575]"], [class~="text-[#887b91]"], [class~="text-[#7b7082]"], [class~="text-[#5f5566]"]) { color: var(--ur-muted); }
html[data-theme="dark"] .ur-page :is([class~="text-[#674a7b]"], [class~="text-[#684779]"], [class~="text-[#724f8c]"], [class~="text-[#72527f]"]) { color: var(--ur-brand); }
html[data-theme="dark"] .ur-page :is([class~="bg-[#e9fbf4]"], [class~="bg-[#eef8ef]"]) { background-color: #20382e; color: #8ad2a9; }
html[data-theme="dark"] .ur-page [class~="bg-[#fff2ec]"] { background-color: #3d2b26; color: #e6aa85; }
html[data-theme="dark"] .ur-page [class~="bg-[#fff6df]"] { background-color: #3b3221; color: #dfc07e; }
html[data-theme="dark"] .ur-page [class~="bg-[#e9f4fb]"] { background-color: #223646; color: #94c9e6; }
html[data-theme="dark"] .ur-page input:not([type="hidden"]), html[data-theme="dark"] .ur-page textarea, html[data-theme="dark"] .ur-page select { background-color: var(--ur-surface); color: var(--ur-ink); border-color: var(--ur-line); }
html[data-theme="dark"] .ur-page .ur-search-field { border-color: var(--ur-line); }
html[data-theme="dark"] .ur-page [data-recipe-calc-result] { color: var(--ur-ink); }
html[data-theme="dark"] .ur-page [data-recipe-calc-result] > p { color: var(--ur-muted); }
html[data-theme="dark"] .ur-page [data-recipe-calc-result] .font-semibold { color: var(--ur-ink); }

@media (max-width: 639px) {
  .ur-page .ur-hero > div:first-of-type > a:first-child { width: 100%; justify-content: center; }
  .ur-page .ur-hero > div:first-of-type > a { font-size: 13px; }
  .ur-page .ur-books { gap: 8px; }
  .ur-page .ur-books > span { flex-basis: 100%; }
  .ur-page .ur-books a { flex: 1 1 calc(50% - 8px); justify-content: center; padding: 0 8px; font-size: 13px; }
  .ur-page .ur-ingredient { grid-template-columns: 44px minmax(0, 1fr) 34px; gap: 8px; }
  .ur-page .ur-ingredient > :first-child { font-size: 12px; padding: 6px 2px; }
  .ur-page .ur-ingredient-image { width: 40px; height: 48px; }
  .ur-page .ur-ingredient a, .ur-page .ur-ingredient span.block { font-size: 12px; }
  .ur-page .ur-ingredient-buy { width: 34px; }
  .ur-page .ur-search-field svg { display: none; }
  .ur-page .ur-search input { font-size: 13px; }
  .ur-page .ur-search button { padding: 0 14px; }
  .ur-page .ur-community-sections { margin-top: 24px; }
}
