/* ShotChaos house style: warm paper, botanical green and bright social accents.
   See docs/design/shotchaos-huisstijl.md. Feature layouts use these same tokens. */
:root {
  --paper:#faf8f1; --ink:#173d35; --muted:#5e7066; --line:#d9dfd5;
  --lime:#dbf784; --purple:#e4d7f5; --peach:#ffc5ac; --surface:#fffefb;
  --green-soft:#eef3df; --purple-soft:#f1ebf8; --peach-soft:#fff0e6;
  --plum:#725297; --coral:#ef8b6c; --focus:#7855b8;
  --radius-control:12px; --radius-card:22px; --radius-feature:28px;
  --shadow-card:0 5px 0 #173d3508; --shadow-raised:0 12px 30px #173d3510;
}
body {background:var(--paper);color:var(--ink)}
.wrap {width:min(1280px,calc(100% - 80px))}
h1,h2,h3 {font-family:var(--display)}
.eyebrow,.panel-kicker {font-size:11px;font-weight:700;letter-spacing:1.7px;line-height:1.5}
.button {min-height:48px;padding:14px 22px;border-radius:var(--radius-control);font-size:14px;font-weight:600;gap:18px;box-shadow:none;transition:background .18s,box-shadow .18s,transform .18s}
.button.dark {background:var(--ink);color:#fffef5;box-shadow:0 3px 0 #0c2924}.button.dark:hover {background:#29554a}
.button.lime {background:var(--lime);color:var(--ink);box-shadow:0 3px 0 #b0ce58}
.button.outline {border-color:#b4c4b6;background:var(--surface);color:var(--ink)}
.button:hover {transform:translateY(-1px)}.button:active {transform:translateY(1px);box-shadow:none}
:focus-visible {outline-color:var(--focus)}
::selection {background:var(--purple);color:var(--ink)}
.site-header,.info-header {height:auto;min-height:90px;padding-block:18px;display:flex;flex-wrap:nowrap;align-items:center;gap:22px;border-bottom:1px solid var(--line)}
.wordmark {font-size:30px;letter-spacing:-1.6px;gap:7px}.brand-flower {font-size:40px;color:#44654a}
.desktop-nav,.info-header nav {display:flex;flex-wrap:nowrap;align-items:center;gap:4px;margin-left:auto;font-size:13px;font-weight:600}
.desktop-nav a,.info-header nav a {padding:11px 13px;min-height:44px;white-space:nowrap;border-radius:9px}
.desktop-nav a:hover,.info-header nav a:hover {background:#eaeede;color:var(--ink)}
.desktop-nav .active:after {display:none}
.desktop-nav a.active,.info-header nav a[aria-current=page] {background:var(--lime);text-decoration:none}
.site-header [data-language-control],.info-header [data-language-control] {flex-shrink:0}
.language-picker {font-size:13px;gap:0}.language-picker>span {display:none}
.language-picker select {font-size:13px;min-height:42px;border-color:var(--line);background:transparent;padding:8px;max-width:115px}
.saved-nav {border-left:1px solid var(--line);padding:10px 0 10px 18px;gap:7px}.saved-nav>span {display:none}
.saved-nav b {background:var(--purple);min-width:21px;height:21px}
.mobile-section-nav {display:none}
.age-banner {background:#e9eedc;border-bottom:0;color:var(--ink);font-size:12px;gap:16px;padding:8px 24px}
.age-banner strong {font-size:20px}.age-banner p {max-width:83ch}
.age-banner button {border:1px solid #aebd98;border-radius:8px;padding:6px 12px;min-height:36px;background:transparent;font-size:12px}
/* One confident hero, with the photo doing the decorative work. */
.hero {background:var(--ink);color:var(--paper);padding:0;margin-block:28px 0;gap:0;border-radius:24px;overflow:hidden;grid-template-columns:1fr 1fr;align-items:stretch}
.hero::before,.catalog::before {display:none}
.hero-copy {padding:48px 46px;display:flex;align-items:flex-start;flex-direction:column;justify-content:center;min-width:0}
.hero .eyebrow {color:var(--lime);margin-bottom:20px;font-size:10px}
.hero h1 {font-size:clamp(56px,5.4vw,78px);line-height:.99;letter-spacing:-3.5px;margin:0 0 24px;max-width:100%}
.hero h1 span {color:var(--lime)}
.hero-description {font-size:16px;line-height:1.7;color:#dee6dd;margin:0 0 26px;max-width:38ch}
.hero-search {width:100%;max-width:none;min-height:58px;border:0;background:var(--surface);padding:5px;border-radius:12px;margin:0 0 16px;box-shadow:none;color:var(--ink)}
.hero-search input {font-size:14px;padding:12px;line-height:1.5}
.hero-search button {background:var(--lime);color:var(--ink);border-radius:8px;width:46px;height:46px}
.hero-actions {width:100%;justify-content:space-between;gap:16px;flex-wrap:wrap}
.hero-browse {font-size:13px;font-weight:600;display:flex;align-items:center;gap:20px;min-height:44px}
.hero-browse:hover {text-decoration:underline;text-underline-offset:5px}
.hero-actions .text-button {color:var(--paper);font-size:13px;min-height:44px;padding:0}
.hero-actions .dice-icon {font-size:24px;color:var(--lime)}
.hero-footnote {font-size:11px;color:#bed0c5;line-height:1.5;margin:26px 0 0;display:block}
.hero-visual {padding:0;min-width:0;position:relative}
.hero-photo {height:100%;min-height:510px;aspect-ratio:auto;border-radius:0;box-shadow:none;background:var(--purple)}
.hero-photo:hover {transform:none;box-shadow:none}
.hero-photo>img {height:100%;width:100%;position:absolute;inset:0;object-fit:cover;object-position:49% 50%}
.photo-caption {bottom:26px;left:26px;right:auto;max-width:calc(100% - 52px);background:var(--paper);color:var(--ink);padding:18px 23px;border-radius:14px;text-shadow:none;transform:rotate(-3deg);box-shadow:0 5px 25px #173d3515}
.photo-caption span:first-child {font-size:9px;letter-spacing:1.4px}.photo-caption span:last-child {font-size:24px;line-height:1.1}
.discovery-links {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-block:20px 0;gap:14px}
.discovery-links a {display:flex;align-items:center;gap:16px;padding:20px 22px;border-radius:14px;min-width:0;background:#e8efd9;transition:background .2s}
.discovery-links a:nth-child(2) {background:#ede6f7}.discovery-links a:nth-child(3) {background:#f9e3d5}
.discovery-links a:hover {background:#e0edbd}.discovery-links a:nth-child(2):hover {background:#dfd0f1}.discovery-links a:nth-child(3):hover {background:#f6cdae}
.discovery-number {font:500 12px var(--display);opacity:.7}
.discovery-links strong {display:block;font-size:14px;line-height:1.4}
.discovery-links small {display:block;font-size:12px;color:#58675a;margin-top:4px;line-height:1.4}
.discovery-links a>span:last-child {margin-left:auto;font-size:23px}
.pantry-view .discovery-links,.generator-view .discovery-links {display:none}
/* Catalog and working pages use the same surfaces and controls. */
.catalog {padding-top:64px;padding-bottom:58px}
.section-top {align-items:end;margin-bottom:26px;gap:24px}.section-top .eyebrow {margin-bottom:10px}
.section-top h2 {font-size:clamp(34px,3.8vw,49px);line-height:1.1;letter-spacing:-1.6px}.lime-question {color:#66872e}
.section-note {font-size:13px;line-height:1.7;color:var(--muted)}
.generator-shortcut {background:#ece5f6;box-shadow:none;border:0;padding:16px 20px;border-radius:12px;font-size:13px}
.searchbox {background:var(--surface);border:1px solid #cbd5c8;border-radius:12px;min-height:55px}.searchbox input {font-size:15px}
.pantry-button {border-radius:12px;background:#e8efd9;font-size:13px;min-height:52px}
.category {font-size:13px;min-height:40px;padding:10px 16px;border-radius:24px;background:transparent;border:1px solid #cdd5c8}
.category.active {background:var(--ink);color:var(--paper);border-color:var(--ink)}
.category.active span {background:#3c5b44;color:var(--paper)}
.collection-choice {font-size:13px}.collection-choice label span {border-radius:8px}
.results-meta,.results-meta select {font-size:12px}
.recipe-grid {gap:28px 22px}
.recipe-card {background:var(--surface);border:1px solid #dce2d4;border-radius:var(--radius-card);overflow:hidden;padding:8px;box-shadow:var(--shadow-card)}
.card-image-button {border-radius:12px;box-shadow:none;aspect-ratio:1.12}
.card-image-button:hover {transform:none;box-shadow:none}
.card-body {padding:16px 10px 0}.card-title {font-size:26px;line-height:1.1;letter-spacing:-.6px}
.card-bottom {border-color:#e5e7dd}.card-badge {border-radius:7px;font-size:9px;letter-spacing:.6px}
.card-favorite {background:#fffef5ed;border:1px solid #ffffff77}
.card-ingredients {color:#5a685d}.card-variants {border-radius:8px}
.bar-banner {margin-block:12px 0;border-radius:24px;box-shadow:none;background-image:linear-gradient(90deg,#163d34ed,#163d3488),url('atmosphere/bar-light-20261022.jpg')}
.banner-doodle {color:var(--peach)}
.generator-workspace,.pantry-workspace {padding-top:36px}
.generator-heading h1,.pantry-hero h1 {letter-spacing:-2px}
.generator-heading h1 span {color:#69518b}
.generator-workspace .generator-controls {background:#ede6f7;border:1px solid #dbcee8;box-shadow:none;border-radius:20px}
.generator-workspace .generator-result {background:#f6ead9;border-radius:20px;box-shadow:none;border-color:#e5d9c6}
.generator-workspace .generator-result:not(.has-result) {background-image:linear-gradient(90deg,#173d35cc,#173d3555),url('atmosphere/bar-light-20261022.jpg');box-shadow:none}
.generator-workspace .generator-result .recipe-card {border:0;background:transparent}
.generator-workspace .generator-controls label {font-size:13px}
.generator-workspace .generator-controls select,.generator-workspace .generator-controls input[type=search] {border-radius:9px}
.pantry-workspace .pantry-hero {border-radius:24px;box-shadow:none;background-image:linear-gradient(90deg,#173d35ef,#173d3580),url('atmosphere/bar-light-20261022.jpg')}
.pantry-workspace .stock-discovery {background:#e9efd9;border:1px solid #d7e1c0;border-radius:18px;box-shadow:none}
.pantry-workspace .stock-panel {background:var(--surface);box-shadow:none;border-radius:18px;border-color:var(--line)}
.pantry-workspace .shopping-panel {background:#ede6f7;box-shadow:none;border-radius:18px;border-color:#dbcee8}
.pantry-workspace .pantry-suggestion {background:#e9efd9;box-shadow:none;border-radius:18px;border-color:#d7e1c0}
.recipe-dialog,.pantry-dialog,#bottleDialog {background:var(--paper);border-radius:20px;box-shadow:0 24px 100px #0f302b4d}
.recipe-dialog-header {background:var(--paper)}
.recipe-facts {background:#e9efd9;border-color:#dce5cd;border-radius:12px}
/* Information pages have a readable width and share the site's header/footer. */
.info-main {max-width:1040px;padding-block:48px 72px}
.info-main>.eyebrow {color:#687a57;margin-bottom:12px}
.info-main h1 {font-size:clamp(40px,5.5vw,68px);letter-spacing:-2.5px;line-height:1.04;margin-bottom:24px}
.info-main>p {font-size:17px;color:#58695e;max-width:65ch;line-height:1.7}
.info-main section {margin-top:36px}.info-main h2 {font-size:27px;letter-spacing:-.6px}
.info-card {border:1px solid #173d3514;background:var(--green-soft);border-radius:var(--radius-card);padding:30px;gap:18px;box-shadow:var(--shadow-card)}
.info-card:nth-child(2) {background:var(--purple)}.info-card .info-status {align-self:flex-start;background:var(--surface);padding:7px 11px;border-radius:30px;font-size:10px}
.info-contact {background:var(--peach-soft);border:1px solid #173d3514;border-radius:var(--radius-card);padding:30px;box-shadow:var(--shadow-card)}
.info-small {color:#62705f;line-height:1.65}
.footer,.info-footer {border-top:1px solid var(--line);padding-top:32px;margin-top:44px}
.info-footer {gap:24px;padding-bottom:28px;font-size:13px;color:#52675a}
.info-footer span {margin-right:auto}.footer-links {font-size:13px;gap:18px 28px}.footer-links>span {font-size:12px}.footer p {font-size:12px}
/* Account: a compact sign-in, then collections first and account management second. */
.account-main {max-width:1180px;margin:42px auto 72px;padding:0}
.account-heading {display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:16px}
.account-heading .eyebrow {margin:0 0 10px;color:#657b56}
.account-heading h1 {font-size:52px;line-height:1.05;letter-spacing:-2px;margin:0}
.account-back {display:flex;gap:18px;align-items:center;min-height:44px;font-size:13px;border-bottom:1px solid #bdcbbf}
.account-status {min-height:0;margin:0 0 20px;padding:12px 16px;background:#e9efd9;border-radius:10px;font-size:14px}
.account-status:empty {display:none}.account-status.error {background:#f8e3dc;color:#882e20}
.account-layout {display:grid;grid-template-columns:1fr 1fr;border-radius:24px;overflow:hidden;background:var(--surface);border:1px solid #dfe4d8}
.account-story {position:relative;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;min-width:0}
.account-story-copy {padding:38px 42px;position:relative;z-index:1}
.account-emblem {display:grid;place-items:center;background:var(--lime);color:var(--ink);width:58px;height:58px;border-radius:18px;transform:rotate(-9deg);font:48px/1 Arial,sans-serif;margin-bottom:28px}
.account-story h2 {font-size:48px;line-height:1.03;letter-spacing:-1.7px;margin:0 0 20px;color:var(--lime)}
.account-story p {font-size:16px;color:#dde7dd;line-height:1.7;max-width:36ch;margin:0 0 24px}
.account-perks {display:flex;gap:8px;flex-wrap:wrap;font-size:11px;color:#e0e9dc}
.account-perks span {padding:8px 10px;border:1px solid #64816e;border-radius:6px}
.account-story-photo {background:url('atmosphere/bar-light-20261022.jpg') center 50%/cover;min-height:180px;flex:1;opacity:.85}
.account-content {min-width:0;padding:40px 42px 24px;align-self:center}
.account-panel {background:transparent;border:0;border-radius:0;padding:0;margin:0}
.account-panel h2 {font-size:32px;line-height:1.12;letter-spacing:-1px;margin:14px 0 18px}
.panel-kicker {color:#627552;display:block;font-size:10px}
.account-panel p {font-size:14px;line-height:1.7;margin:0 0 22px;color:#56685c}
.account-panel label {margin:20px 0 8px;font-size:13px;font-weight:600}
.account-panel input[type=email] {font-size:16px;border:1px solid #b9c8b9;background:#fff;border-radius:10px;min-height:54px;margin:0}
.account-panel input::placeholder {color:#7a877d;font-weight:400}
.account-panel label.account-check {display:flex;align-items:flex-start;gap:10px;font-weight:400;line-height:1.5;font-size:13px;margin:18px 0}
.account-check input[type=checkbox] {flex:none;width:20px;height:20px;margin:0;accent-color:var(--ink)}
.account-panel form>.button {width:100%;font-size:14px}
.account-panel .info-small {font-size:12px;margin-top:14px}
.account-import-note {background:#ede6f7;padding:15px 16px;border-radius:12px;display:flex;gap:12px;align-items:start;margin-top:22px}
.account-import-note>span {font-size:23px;color:#715297}.account-import-note p {margin:0;font-size:12px;color:#514663}
.account-panel .account-link {font-size:12px;line-height:1.5;margin-top:8px}
.account-guest {margin:18px 0 0;font-size:12px;text-align:center}
.account-guest .account-link {font-size:12px;text-decoration:none;color:#63765f}
.account-email {word-break:break-word}.account-panel .account-email {color:var(--ink);font-size:15px}
.account-main[data-state=profile] .account-story,.account-main[data-state=profile] .account-guest {display:none}
.account-main[data-state=profile] .account-layout {display:block;border:0;background:transparent;overflow:visible}
.account-main[data-state=profile] .account-content {padding:14px 0 0}
.profile-welcome {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.profile-welcome h2 {font-size:30px;margin:0 0 8px}.profile-welcome .account-email {margin:0}
.profile-welcome .account-sync {margin:0;background:transparent;border:0;font-size:12px;padding:8px 0;color:#48613e;max-width:50%}
.account-collections {display:grid;grid-template-columns:1fr 1fr;gap:22px}
.account-collection {position:relative;display:flex;flex-direction:column;align-items:flex-start;border:1px solid #173d3514;border-radius:var(--radius-card);padding:30px 34px;min-height:270px;box-shadow:var(--shadow-card);transition:box-shadow .2s}
.account-collection:hover {box-shadow:0 10px 26px #173d3512}
.collection-pantry {background:#e5f2c5}.collection-favorites {background:var(--purple)}
.collection-icon {position:absolute;top:26px;right:28px;display:grid;place-items:center;background:#fffdf780;border-radius:50%;width:58px;height:58px;transform:rotate(9deg)}
.collection-icon svg {width:31px;height:31px;fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.collection-title {font:600 26px var(--display);letter-spacing:-.5px;padding-right:60px}
.account-collection>strong {font:500 60px/1 var(--display);letter-spacing:-2px;margin-top:25px}
.account-collection>span:not([class]) {font-size:13px;line-height:1.5;margin-top:5px;color:#58664f}
.collection-cta {margin-top:24px;font-size:13px;font-weight:600;border-top:1px solid #173d3526;padding-top:16px;width:100%}
.account-panel .account-storage-note {font-size:13px;max-width:85ch;margin:22px 0 30px;color:#687665}
.account-settings {display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-top:24px}
.account-settings h3 {font-size:20px;letter-spacing:-.5px;margin:0 0 8px}.account-settings p {font-size:12px;margin:0}
.account-actions {gap:18px;margin:0;align-items:center}.account-actions .account-link {margin:0;font-size:12px}
.account-danger {padding-top:18px;margin-top:24px;border-color:var(--line);max-width:800px}
.account-danger summary {font-size:12px;color:#7e6258;min-height:32px}
.account-danger p {margin-top:16px}.account-danger .account-link {margin-left:12px}
.account-sync {border:1px solid #d6dfca;background:#e9efd9;border-radius:10px;line-height:1.5}
/* The game's physical board stays intact, in the same site shell. */
.game-page {background:var(--paper);color:var(--ink);font-family:var(--body);--panel-line:#d9dfd5;--gold:#526d38;--accent:#173d35;--accent-strong:#29554a;--shadow:none}
.game-page::before {display:none}.game-page .page-shell {width:min(980px,calc(100% - 32px));padding:32px 0 16px;gap:24px}
.game-page .top-copy {background:#e8def4;border:0;box-shadow:none;padding:30px;border-radius:22px}.game-page .top-copy::after {display:none}
.game-page .top-copy h1 {font-size:56px;letter-spacing:-2px;color:var(--ink);line-height:1.1;margin:12px 0}
.game-page .lead {color:#586159;font:15px/1.7 var(--body)}
.game-page .status-pill {background:#fffaf5;border-color:#d8cee6;color:#5a4969;font:12px var(--body)}
.game-page .game-panel {background:var(--surface);border:1px solid var(--line);box-shadow:none;backdrop-filter:none;border-radius:22px}
.game-page .counter-label,.game-page .counter-value {color:var(--ink)}
.game-page .result-box {background:#e9efd9;border-color:#d2ddbf;color:var(--ink)}
.game-page .btn {border-radius:10px;font:600 14px var(--body);min-height:48px;box-shadow:none}
.game-page .btn-primary {background:var(--ink);color:var(--paper)}.game-page .btn-secondary {background:var(--purple);color:var(--ink)}
.game-page .btn-ghost {background:var(--paper);color:var(--ink);border-color:#bdcbbf}
@media(max-width:1200px) {
  .site-header,.info-header {gap:14px}.desktop-nav a,.info-header nav a {padding-inline:9px}
  .hero-copy {padding:36px}.hero h1 {font-size:68px}
  .account-content,.account-story-copy {padding:32px}
}
@media(max-width:1050px) {
  .wrap {width:calc(100% - 48px)}
  .site-header {min-height:82px}.desktop-nav {display:none}
  .site-header [data-language-control] {margin-left:auto}
  .mobile-section-nav {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:8px 0;gap:6px;border-bottom:1px solid var(--line)}
  .mobile-section-nav a {padding:10px 6px;font-size:13px;text-align:center;border-radius:8px;white-space:normal;min-height:42px;display:flex;align-items:center;justify-content:center}
  .mobile-section-nav a[aria-current=page] {background:var(--lime)}
  .info-header {flex-wrap:wrap;padding-bottom:0}.info-header [data-language-control] {margin-left:auto}
  .info-header nav {order:3;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;margin:0;gap:6px;padding:0 0 8px;overflow:visible}
  .info-header nav a {font-size:13px;text-align:center;justify-content:center;white-space:normal;padding:10px 6px;min-width:0;line-height:1.4}
  .hero {margin-top:20px}.hero-copy {padding:30px}.hero h1 {font-size:59px;letter-spacing:-2.8px}
  .hero-description {font-size:15px}.hero-photo {min-height:480px}
  .hero-search input {padding-inline:8px;font-size:13px}.hero-actions {gap:8px}
  .discovery-links a {padding:18px 16px;gap:10px}.discovery-number {display:none}
  .discovery-links strong {font-size:13px}.discovery-links small {font-size:11px}
  .account-settings {align-items:start;flex-direction:column;gap:18px}
}
@media(max-width:760px) {
  .hero {grid-template-columns:1.1fr .9fr}.hero-copy {padding:28px 24px}.hero h1 {font-size:49px;letter-spacing:-2px}
  .hero-description {font-size:14px;line-height:1.65}.hero .eyebrow {font-size:9px;letter-spacing:1px}
  .hero-actions {gap:4px;flex-direction:column;align-items:start}.hero-footnote {margin-top:14px}
  .photo-caption {left:16px;bottom:20px;max-width:calc(100% - 32px);padding:14px;transform:rotate(-3deg)}.photo-caption span:last-child {font-size:21px}
  .discovery-links {gap:10px}.discovery-links a {align-items:start;padding:16px 12px;flex-direction:column}.discovery-links a>span:last-child {display:none}
  .account-main {margin-top:28px}.account-heading h1 {font-size:43px}.account-back {font-size:12px}
  .account-layout {grid-template-columns:1fr}.account-story {display:none}.account-content {padding:32px}
  .account-collections {gap:16px}.account-collection {padding:24px}.collection-title {font-size:23px;padding-right:0;max-width:75%}
  .collection-icon {width:42px;height:42px;top:20px;right:18px}.collection-icon svg {width:25px;height:25px}
}
@media(max-width:600px) {
  .wrap {width:calc(100% - 32px)}
  .site-header,.info-header {min-height:72px;gap:10px;padding-top:14px;padding-bottom:14px}
  .wordmark,.site-header .wordmark {font-size:24px;letter-spacing:-1.2px;gap:5px}
  .brand-flower,.site-header .brand-flower {font-size:31px}
  .language-picker select {font-size:13px;min-height:40px;padding:6px;max-width:112px}
  .site-header .saved-nav {border:0;padding:6px 0!important;gap:4px}.site-header .saved-nav svg {width:20px}.site-header .saved-nav b {width:17px;height:17px;min-width:17px;font-size:10px}
  .mobile-section-nav {gap:2px;padding:7px 0}.mobile-section-nav a {font-size:12px;min-height:40px;padding:8px 2px}
  .info-header {padding-bottom:0;row-gap:10px}.info-header nav {gap:2px;padding-bottom:7px}.info-header nav a {font-size:12px;padding:8px 2px;min-height:40px}
  .age-banner {display:grid;grid-template-columns:32px 1fr;gap:6px 10px;padding:10px 16px;font-size:11px}
  .age-banner strong {font-size:18px}.age-banner p {line-height:1.45}.age-banner button {grid-column:2;min-height:34px;font-size:11px;justify-self:start;padding:5px 10px}
  .hero {display:flex;flex-direction:column;margin-top:16px;border-radius:20px}
  .hero-copy {padding:30px 24px 24px}.hero h1 {font-size:58px;line-height:.99;letter-spacing:-2.5px;margin:0 0 18px}
  .hero .eyebrow {margin-bottom:18px;font-size:9px;letter-spacing:1.5px}
  .hero-description {font-size:15px;line-height:1.65;max-width:35ch;margin:0 0 22px}
  .hero-search {min-height:56px;margin-bottom:10px}.hero-search input {font-size:16px;padding:10px;max-width:100%}
  .hero-search button {width:42px;height:44px}.hero-actions {flex-direction:row;align-items:center;gap:8px}.hero-browse,.hero-actions .text-button {font-size:12px}
  .hero-footnote {font-size:10px;margin-top:14px}
  .hero-visual {width:100%}.hero-photo {min-height:0;height:240px}.hero-photo>img {object-position:50% 57%}
  .photo-caption {bottom:17px;left:20px;padding:12px 16px;border-radius:10px}.photo-caption span:first-child {font-size:8px}.photo-caption span:last-child {font-size:21px}
  .discovery-links {grid-template-columns:1fr;gap:8px;margin-top:14px}
  .discovery-links a {padding:14px 18px;flex-direction:row;align-items:center;gap:16px}.discovery-number {display:block}
  .discovery-links strong {font-size:13px}.discovery-links small {font-size:11px;margin-top:2px}.discovery-links a>span:last-child {display:block;font-size:22px}
  .catalog {padding-top:42px;padding-bottom:36px}.section-top h2 {font-size:35px;letter-spacing:-1.4px}.section-top .eyebrow {font-size:9px}.section-note {font-size:12px}
  .generator-shortcut {font-size:12px;line-height:1.6;padding:15px 16px}.generator-shortcut a {font-size:12px}
  .searchbox input {font-size:16px}.pantry-button {font-size:13px;min-height:48px;width:100%;margin-top:10px}
  .categories {margin-right:0;padding-right:0;gap:6px}.category {font-size:12px;min-height:40px;padding:9px 14px}
  .taste-select select {font-size:16px;min-height:40px}.results-meta,.results-meta select {font-size:12px}
  .recipe-grid {gap:14px 10px}.recipe-card {padding:6px;border-radius:14px}.card-image-button {border-radius:9px;aspect-ratio:.97}
  .card-body {padding:12px 5px 0}.card-title {font-size:21px;line-height:1.1}.card-topline,.card-topline span:last-child {font-size:9px;letter-spacing:0}
  .card-ingredients {font-size:11px}.card-favorite {width:36px;height:36px;right:6px;top:6px}.card-favorite svg {width:16px;height:16px}
  .card-badge {font-size:8px;max-width:calc(100% - 52px);left:6px;top:8px;padding:5px;letter-spacing:0}
  .recipe-timing {font-size:11px}.card-variants {font-size:11px;padding:7px}
  .bar-banner {border-radius:20px;padding:28px 24px}.banner-copy h2 {font-size:31px}.banner-copy>p:not(.eyebrow) {font-size:13px}
  .generator-workspace,.pantry-workspace {padding-top:24px}
  .generator-heading h1 {font-size:43px}.generator-workspace .generator-controls {padding:20px}.generator-workspace .generator-controls label {font-size:13px}
  .generator-workspace .generator-controls input[type=search],.generator-workspace .generator-controls select {font-size:16px}
  .pantry-workspace .pantry-hero {border-radius:20px}
  .info-main {padding-top:30px}.info-main h1 {font-size:44px;letter-spacing:-1.8px}.info-main>p {font-size:15px}
  .info-card,.info-contact {padding:24px}.info-main h2 {font-size:26px}.info-grid {gap:16px}
  .footer,.info-footer {padding-top:24px;margin-top:32px}.info-footer {gap:10px 22px;font-size:12px}.info-footer span {width:100%;margin-bottom:8px}.info-footer a {min-height:36px;display:flex;align-items:center}
  .footer-links {font-size:12px;gap:16px 22px}.footer-links>span {font-size:11px}.footer-bottom {font-size:10px}
  .account-main {margin:28px auto 48px}.account-heading {align-items:start;gap:12px;margin-bottom:24px}.account-heading .eyebrow {font-size:9px;letter-spacing:1.5px;margin-bottom:8px}
  .account-heading h1 {font-size:40px;letter-spacing:-1.5px}.account-back {display:none}
  .account-content {padding:26px 22px 18px}.account-layout {border-radius:20px;border:0;background:#eee7f7}
  .account-panel h2 {font-size:31px;line-height:1.1;letter-spacing:-.9px}.account-panel p {font-size:14px}
  .account-panel .info-small {font-size:12px}.account-panel label {font-size:13px}.account-panel label.account-check {font-size:13px}
  .account-import-note {background:#fffdf890;padding:14px;margin-top:22px}.account-import-note p {font-size:12px}
  .profile-welcome {display:block;margin-bottom:22px}.profile-welcome h2 {font-size:30px}.profile-welcome .account-sync {max-width:none;margin-top:10px;font-size:12px}
  .account-main[data-state=profile] .account-content {padding:0}
  .account-collections {grid-template-columns:1fr;gap:14px}
  .account-collection {min-height:0;padding:22px 24px;border-radius:20px}.collection-title {font-size:25px}
  .account-collection>strong {font-size:48px;margin-top:22px}.collection-icon {width:48px;height:48px;right:24px;top:20px}
  .collection-cta {margin-top:20px;padding-top:14px}.account-panel .account-storage-note {font-size:12px;margin:18px 0 26px}
  .account-actions {flex-direction:row;align-items:center;gap:10px 22px}.account-actions .button {font-size:13px}
  .account-danger .account-link {margin-left:0}.account-status {font-size:13px}
  .game-page .top-copy {padding:24px}.game-page .top-copy h1 {font-size:44px}
}
@media(max-width:360px) {
  .site-header .wordmark,.wordmark {font-size:20px}.site-header .brand-flower,.brand-flower {font-size:27px}
  .site-header,.info-header {gap:8px}.language-picker select {max-width:102px}
  .mobile-section-nav a,.info-header nav a {font-size:11px}
  .hero-copy {padding:26px 20px 22px}.hero h1 {font-size:50px}.hero-description {font-size:14px}.hero-actions {gap:2px}
  .hero-search input {padding-inline:7px}.hero-browse,.hero-actions .text-button {font-size:11px}
  .account-content {padding:24px 18px 18px}.account-heading h1 {font-size:37px}
}
@media(prefers-reduced-motion:reduce) {.discovery-links a,.account-collection,.button {transition:none}.button:hover,.button:active {transform:none}}
@media(forced-colors:active) {
  .hero,.account-story,.account-collection,.account-layout,.discovery-links a,.info-card {border:1px solid CanvasText}
  .hero h1 span,.hero .eyebrow,.account-story h2,.account-story p,.hero-description,.hero-footnote {color:CanvasText}
  .hero,.account-story,.hero-actions .text-button {color:CanvasText;background:Canvas}
  .account-story-photo {display:none}
}
/* Colour connects the discovery shortcuts to the personal collection. */
.discovery-links a {background:#e5f2c5}.discovery-links a:nth-child(2) {background:#e5d8f5}.discovery-links a:nth-child(3) {background:#fbd7bf}
@media(max-width:600px) {.hero h1 {font-size:clamp(42px,13vw,54px)}}

.account-collections .collection-planner{grid-column:1/-1;min-height:0;background:var(--peach)}.collection-planner .collection-title{font-size:22px}

/* Shared visual system. Feature files own layout/behaviour; these components
   own colour, type, spacing and interaction states on every route. */
:root{
  --page-width:1280px;--page-gutter:40px;--space-section:32px;
  --type-title:clamp(36px,4.4vw,60px);--type-section:clamp(26px,2.8vw,36px);
  --control-height:48px;--control-border:#a8b9ad;
  --shadow-card:0 4px 0 #173d3508;--shadow-raised:0 14px 38px #173d3512;
}
.wrap{width:min(var(--page-width),calc(100% - var(--page-gutter)*2))}
body{font-size:16px;line-height:1.5}
main :is(h1,h2,h3){text-wrap:balance}
main :is(p,li){text-wrap:pretty}
main :is(input[type=text],input[type=email],input[type=search],input[type=number],input[type=date],input[type=time],select,textarea),dialog :is(input[type=search],input[type=number],select){font-family:var(--body);font-size:16px;line-height:1.5;min-height:var(--control-height);border-radius:var(--radius-control);border-color:var(--control-border);color:var(--ink);min-width:0;max-width:100%;background-color:var(--surface)}
main select,dialog select{appearance:none;padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}
main input[type=checkbox],dialog input[type=checkbox]{accent-color:var(--ink)}
.button,main .button,.game-page .btn{font:600 14px/1.4 var(--body);min-height:var(--control-height);border-radius:var(--radius-control);padding:13px 20px;gap:12px;justify-content:center;max-width:100%;white-space:normal;text-align:center}
.button.dark,.game-page .btn-primary{background:var(--ink);color:var(--surface);box-shadow:0 3px 0 #0c2924}
.button.lime{background:var(--lime);color:var(--ink)}
.button.outline,.game-page .btn-ghost{background:var(--surface);border:1px solid var(--control-border);color:var(--ink)}
.button:disabled{transform:none;box-shadow:none}
main .account-link,main .text-button{font-size:14px;line-height:1.5;min-height:44px}
:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
main :is(h1,h2)[tabindex="-1"]:focus:not(:focus-visible){outline:none}
/* The same introduction, with a quieter tone on reading pages. */
.info-main,.account-main,.planner-main,.game-page .page-shell{width:min(var(--page-width),calc(100% - var(--page-gutter)*2));max-width:none;margin:0 auto;padding:28px 0 56px}
.generator-workspace,.pantry-workspace{padding-top:28px}
.page-intro,.planner-intro.page-intro,.game-page .top-copy.page-intro{display:flex;align-items:center;justify-content:space-between;position:relative;isolation:isolate;gap:32px;min-height:230px;padding:36px 40px;margin:0 0 var(--space-section);border:1px solid #d9cee9;border-radius:var(--radius-feature);background:var(--purple-soft);box-shadow:none;color:var(--ink);overflow:hidden}
.page-intro-copy,.planner-intro-copy{min-width:0;max-width:850px;position:relative;z-index:1}
.page-intro .eyebrow,.planner-intro.page-intro .eyebrow{font:700 11px/1.5 var(--body);letter-spacing:1.6px;color:var(--plum);margin:0 0 14px}
.page-intro h1,.account-main .page-intro h1,.planner-intro.page-intro h1,.game-page .page-intro h1{font:650 var(--type-title)/1.06 var(--display);letter-spacing:-.04em;color:var(--ink);margin:0 0 18px;max-width:100%;overflow-wrap:anywhere}
.page-intro h1 span,.planner-intro.page-intro h1 span{color:var(--plum);background:none}
.page-intro-copy>p:not(.eyebrow),.planner-intro.page-intro p:last-child{font:400 16px/1.7 var(--body);color:var(--muted);max-width:65ch;margin:0}
.page-intro-copy>p.info-status{display:inline-flex;background:var(--surface);border:1px solid #d9cee9;border-radius:30px;padding:6px 12px;font-size:12px;font-weight:600;color:var(--plum);margin:0 0 16px}
.page-intro .info-small{font-size:13px!important}
.page-intro-warm{background:var(--peach-soft);border-color:#efcebb}.page-intro-quiet{background:var(--green-soft);border-color:#d4dfbc}
.page-intro-art{position:relative;width:180px;height:160px;flex:0 0 180px;margin-right:12px}
.page-intro-art>span{position:absolute;left:20px;top:14px;display:grid;place-items:center;width:126px;height:126px;border:1px solid var(--ink);border-radius:30px;background:var(--lime);font:110px/1 Arial,sans-serif;transform:rotate(-12deg);box-shadow:6px 6px 0 var(--ink)}
.page-intro-art>i{position:absolute;right:-9px;top:0;width:42px;height:42px;border-radius:50%;background:var(--coral);border:1px solid var(--ink)}
.page-intro-art>b{position:absolute;right:-12px;bottom:-7px;width:65px;height:65px;border:1px solid var(--ink);border-radius:50%;background:var(--purple)}
.account-heading.page-intro{min-height:200px}.account-heading .account-back{position:absolute;bottom:26px;right:40px;font-size:13px;z-index:2}.account-heading .page-intro-art{margin-bottom:26px;transform:scale(.8)}
.planner-intro.page-intro .planner-intro-copy{max-width:calc(100% - 260px)}
.planner-intro.page-intro .planner-intro-art{right:32px;top:22px;width:210px;height:195px;transform:rotate(7deg)}
.planner-intro-art img{border:5px solid var(--surface)}.planner-intro-orbit{border-color:var(--purple-soft)}
.planner-intro.page-intro{margin-bottom:20px}.planner-home .planner-intro.page-intro{margin-bottom:24px}
.hero,.pantry-workspace .pantry-hero{border-radius:var(--radius-feature)}
.hero{margin-top:28px}.hero-copy{padding:44px}.hero h1,.pantry-hero h1{font-size:clamp(42px,5.1vw,72px);line-height:1.03;letter-spacing:-.045em}
.hero .eyebrow,.pantry-hero .eyebrow{font-size:11px;letter-spacing:1.6px}.hero-description,.pantry-hero p:not(.eyebrow){font-size:16px;line-height:1.75}
.hero-search input{font-size:16px}.hero-search button{min-width:48px;height:48px}.hero-photo{min-height:470px}
.hero-actions .text-button{font-size:14px}.hero-footnote{font-size:12px}
.discovery-links a{border:1px solid #173d3514;border-radius:var(--radius-card);padding:22px;min-height:96px}.discovery-links strong{font-size:16px}.discovery-links small{font-size:13px}
/* Reusable cards and readable tools, including older pantry/generator controls. */
.info-card,.info-contact,.planner-panel,.stock-panel,.shopping-panel,.generator-controls,.account-layout{border-radius:var(--radius-card);border:1px solid var(--line);box-shadow:var(--shadow-card)}
.info-grid{gap:24px}.info-main section{margin-top:24px}.info-grid>.info-card{margin-top:0;padding:32px}.info-card h2{font-size:32px;line-height:1.15;letter-spacing:-1px}.info-card p{font-size:16px;line-height:1.7}.info-card .info-status{font-size:11px;border:1px solid #173d3514;border-radius:30px;background:var(--surface);padding:7px 12px}
.info-main>section:not(.info-card){padding:28px 32px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card)}
.info-content-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:24px}.info-content-grid>section{margin:0;padding:32px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card)}.info-content-grid .info-contact{grid-row:span 2;background:var(--peach-soft)}.info-contact dl{margin-bottom:0}.info-contact dt{font-size:12px;color:var(--muted);letter-spacing:.05em;margin:22px 0 4px}.info-contact dd{font-size:17px}.info-contact #contactEmail{font-weight:600}
.info-document{max-width:900px;margin:auto;padding:36px 48px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card)}.info-document>p{margin-top:0}.info-document section{border-top:1px solid var(--line);padding-top:28px;margin-top:28px}.info-document h2{font-size:26px}.info-document p{font-size:16px;line-height:1.85}
.info-truth-or-dare>.info-card{background:var(--surface);max-width:900px;margin-inline:auto}
.account-layout{background:var(--surface)}.account-main[data-state=profile] .account-collections{grid-template-columns:repeat(3,minmax(0,1fr))}.account-collections .collection-planner{grid-column:auto;min-height:270px;justify-content:flex-start}.collection-planner .collection-title{font-size:26px;padding:0}.account-collections .collection-cta{margin-top:auto}.account-panel .account-storage-note{font-size:14px}
.account-panel p{font-size:15px}.account-panel .info-small{font-size:13px}.account-panel .account-link{font-size:14px}.account-collection{padding:28px;min-height:280px}.account-panel .account-actions .account-link{font-size:14px}.account-settings{align-items:start}.account-panel .account-danger summary{font-size:14px;min-height:44px}
.planner-panel{max-width:none;border-top-width:1px}.planner-picker{max-width:none}.planner-panel-heading h2,.evening-home-grid h2{font-size:var(--type-section)}
.planner-main label:not(.account-check),.planner-main .account-check{font-size:14px}.planner-main .planner-muted,.planner-savebar,.planner-panel-heading p,.planner-result .planner-availability{font-size:14px;line-height:1.65}
.planner-main select{height:auto;min-height:48px}.planner-main .planned-recipe small,.planner-main .shopping-row small{font-size:13px}.planner-main .planned-recipe a{font-size:17px}.planner-main .shopping-row{font-size:16px}.planner-main .evening-assignment-controls label{font-size:14px!important}
.planner-main .planner-steps a{font-size:14px;border-radius:var(--radius-control)}.planner-main .planner-steps a[aria-current=step]{border-color:var(--ink)}
.planner-main .planner-next{border-radius:var(--radius-card)}.evening-home-grid{gap:24px}.evening-start .button{margin-top:8px}.evening-list-item{border-radius:var(--radius-control);padding:18px}.evening-people h2{font-size:26px}
.generator-workspace .generator-controls{background:var(--surface);padding:28px;border-color:var(--line)}.generator-controls>label:not(.generator-checkbox),.generator-controls label,.generator-count,.generator-description,.generator-info,.generator-stock-note{font-size:14px;line-height:1.65}.generator-controls .button{font-size:14px}.generator-ingredients li{font-size:13px}.generator-workspace .generator-result{border-radius:var(--radius-card)}
.pantry-stats strong{font-size:38px}.pantry-stats span,.pantry-save-note{font-size:13px;line-height:1.6}.pantry-result-tabs button,.stock-discovery-category,.pantry-result-count,.stock-availability,.stock-browse-all{font-size:14px;min-height:44px}.stock-discovery-heading>p,.stock-empty-copy{font-size:14px;line-height:1.7}.stock-discovery .eyebrow,.pantry-results-heading .eyebrow{font-size:11px}.pantry-result-search label:last-child{max-width:180px}.pantry-workspace .stock-panel,.pantry-workspace .shopping-panel{padding:24px;border-radius:var(--radius-card)}
.stock-category-tabs button{font-size:13px;min-height:44px;border-radius:24px}.stock-editor .ingredient-choice-copy strong{font-size:14px}.stock-editor .ingredient-choice-copy small{font-size:12px}.stock-editor .ingredient-result-count,.stock-editor .pantry-intro,.stock-editor-meta{font-size:13px;line-height:1.6}.stock-chip button{min-width:36px;min-height:36px}.stock-editor .pantry-bottom .button{min-height:48px}
.recipe-dialog,.pantry-dialog,#bottleDialog{border:1px solid var(--line);border-radius:var(--radius-card)}.close-dialog{min-width:44px;min-height:44px;background:var(--surface);border:1px solid var(--line);border-radius:50%}.card-favorite{min-width:44px;min-height:44px}.card-description,.card-ingredients,.recipe-timing{font-size:13px;line-height:1.65}.card-badge{max-width:calc(100% - 62px)}
.game-page .page-shell{gap:0}.game-page .page-intro .lead{font-size:16px}.game-page .page-intro .status-row{margin-top:18px;gap:8px}.game-page .status-pill{font-size:12px;line-height:1.5;padding:7px 12px;border-radius:30px}.game-page .game-panel{border-radius:var(--radius-card);padding:28px;max-width:1000px;width:100%;margin-inline:auto}.game-page .note-card{background:var(--green-soft);border:1px solid var(--line);border-radius:var(--radius-card);padding:24px}.game-page .note-card:nth-child(2){background:var(--purple-soft)}.game-page .note-card h2{font:600 24px/1.2 var(--display);color:var(--ink);margin:0 0 14px}.game-page .note-card p,.game-page .note-card li{font:400 15px/1.7 var(--body);color:var(--ink)}.game-page .note-card li::before{color:var(--plum)}.game-page .result-box{font:400 16px/1.6 var(--body);border-radius:var(--radius-control)}
/* One footer template, on every route, independent of the game's CSS reset. */
.site-footer{display:grid;grid-template-columns:1fr 1.2fr;gap:36px 56px;margin-top:32px;margin-bottom:0;padding:40px 0 24px;border-top:1px solid var(--line);color:var(--ink);font:400 14px/1.6 var(--body)}
.site-footer .wordmark{font:800 30px/1 var(--display);letter-spacing:-1.6px;display:inline-flex;align-items:center;gap:8px;min-height:44px}.site-footer .brand-flower{font:40px/1 Arial,sans-serif;color:var(--ink)}.site-footer-brand p{font-size:15px;line-height:1.7;margin:16px 0;color:var(--muted)}.footer-signature{display:inline-flex;gap:10px;align-items:center;background:var(--lime);border:1px solid #173d3514;border-radius:30px;padding:8px 16px;transform:rotate(-3deg);margin-top:8px;font-size:20px}.footer-signature i{font:500 17px/1.3 var(--display)}
.site-footer-nav{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}.site-footer-nav h2{font:700 12px/1.5 var(--body);letter-spacing:.05em;margin:0 0 10px;color:var(--muted)}.site-footer-nav a{display:flex;align-items:center;min-height:44px;font-size:14px;text-decoration:none;line-height:1.5;padding:6px 0}.site-footer-nav a:hover{text-decoration:underline;text-underline-offset:4px}.site-footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:22px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.age-banner{font-size:13px;background:var(--green-soft)}.age-banner button{min-height:44px;background:var(--surface);border-radius:var(--radius-control);font-size:12px}
@media(max-width:1050px){:root{--page-gutter:24px}.page-intro-art{flex-basis:140px;transform:scale(.8);transform-origin:right center}.page-intro-copy{max-width:calc(100% - 170px)}.account-main[data-state=profile] .account-collections{grid-template-columns:1fr 1fr}.account-collections .collection-planner{grid-column:1/-1;min-height:170px}.site-footer{grid-template-columns:1fr;gap:30px}.site-footer-nav{max-width:700px}.page-intro,.planner-intro.page-intro,.game-page .top-copy.page-intro{padding:30px;gap:20px}.planner-intro.page-intro .planner-intro-art{width:180px;height:170px;right:22px;top:22px}.planner-intro.page-intro .planner-intro-copy{max-width:calc(100% - 200px)}}
@media(max-width:700px){.info-content-grid{grid-template-columns:1fr}.info-content-grid .info-contact{grid-row:auto}.info-document{padding:28px}.page-intro-art{display:none}.page-intro-copy{max-width:100%}.planner-intro.page-intro .planner-intro-art{display:none}.planner-intro.page-intro .planner-intro-copy{max-width:100%}.site-footer-nav{gap:16px}}
@media(max-width:600px){
 :root{--page-gutter:16px;--space-section:24px;--radius-feature:22px;--type-title:clamp(34px,8.7vw,44px)}
 .info-main,.account-main,.planner-main,.game-page .page-shell,.generator-workspace,.pantry-workspace{padding-top:20px;padding-bottom:40px}
 .page-intro,.planner-intro.page-intro,.game-page .top-copy.page-intro{padding:26px 24px;min-height:0;margin-bottom:24px;border-radius:var(--radius-feature)}
 .page-intro .eyebrow,.planner-intro.page-intro .eyebrow{font-size:10px;letter-spacing:1.3px}.page-intro h1,.account-main .page-intro h1{margin-bottom:14px}.page-intro-copy>p:not(.eyebrow),.planner-intro.page-intro p:last-child{font-size:15px;line-height:1.7}
 .account-heading.page-intro{min-height:0}.account-heading .account-back{display:none}
 .hero{margin-top:20px}.hero-copy{padding:30px 24px}.hero h1{font-size:clamp(42px,12vw,58px)}.hero-photo{min-height:0;height:230px}.hero .eyebrow,.pantry-hero .eyebrow{font-size:10px}.hero-description,.pantry-hero p:not(.eyebrow){font-size:15px}.hero-actions{align-items:stretch}.hero-actions .text-button,.hero-browse{font-size:13px;min-height:44px}
 .discovery-links a{padding:18px;min-height:86px;border-radius:16px}.discovery-links strong{font-size:15px}.discovery-links small{font-size:13px}
 .info-grid{gap:18px}.info-grid>.info-card,.info-content-grid>section,.info-main>section:not(.info-card){padding:24px}.info-card h2{font-size:28px}.info-card p,.info-document p{font-size:15px}.info-document{padding:24px}.info-document h2{font-size:25px}.info-contact dd{font-size:16px}
 .account-main[data-state=profile] .account-collections{grid-template-columns:1fr}.account-collection{min-height:235px;padding:26px}.account-collections .collection-planner{grid-column:auto;min-height:175px}.account-content{padding:26px 24px}.account-layout{background:var(--surface);border:1px solid var(--line)}
 .planner-main .planner-steps a{font-size:12px;gap:8px;padding:10px 5px}.planner-panel{padding:24px}.planner-main .planner-next .button{font-size:13px}.planner-main .planner-muted{font-size:13px}.planner-main .shopping-row{font-size:15px}
 .generator-workspace .generator-controls{padding:24px}.generator-controls{display:block}.generator-controls>label{margin-bottom:18px!important}.generator-count{margin-block:14px}.generator-workspace .generator-controls select,.generator-workspace .generator-controls input[type=search]{font-size:16px}
 .pantry-hero h1{font-size:clamp(35px,10vw,46px)}.pantry-hero .button{font-size:14px}.pantry-stats strong{font-size:32px}.pantry-stats span{font-size:12px}.pantry-result-tabs{flex-wrap:wrap;justify-content:flex-start;gap:8px}.pantry-result-tabs button{font-size:13px;padding:10px 12px}.pantry-result-search{flex-direction:column;gap:12px}.pantry-result-search label:last-child{max-width:none}.pantry-result-search input,.pantry-result-search select{width:100%;font-size:16px}.stock-discovery-search input{font-size:16px}.stock-discovery-category{font-size:13px}.stock-discovery-heading>p{font-size:14px}.stock-editor{padding:24px 20px}.stock-editor .ingredient-choice-copy strong{font-size:13px}.stock-editor .ingredient-choice-copy small{font-size:11px}.stock-editor .ingredient-choices{min-height:80px}.stock-editor .pantry-bottom{gap:12px}.stock-editor .pantry-bottom>span{font-size:12px}
 .card-favorite{min-width:44px;min-height:44px}.card-badge{font-size:9px}.card-description{font-size:12px}.card-ingredients,.recipe-timing{font-size:12px}.pantry-recipe-grid .card-topline,.card-topline{font-size:10px}.pantry-recipe-grid .card-topline span:last-child,.card-topline span:last-child{font-size:10px}
 .game-page .game-panel{padding:16px}.game-page .note-card{padding:22px}.game-page .top-copy .status-row{gap:6px}.game-page .status-pill{font-size:11px}
 .site-footer{margin-top:12px;padding-top:30px;gap:28px}.site-footer-nav{grid-template-columns:1fr 1fr;gap:24px}.site-footer-nav>div:last-child{grid-column:1/-1;display:flex;align-items:center;gap:12px 24px;flex-wrap:wrap}.site-footer-nav>div:last-child h2{flex-basis:100%;margin:0}.site-footer-nav h2{font-size:12px}.site-footer-nav a{font-size:14px}.site-footer-bottom{display:block;font-size:12px}.site-footer-bottom>span{display:block;margin:0 0 8px}
}
@media print{.site-footer,.page-intro{display:none!important}}
@media(prefers-reduced-motion:reduce){.page-intro-art,.footer-signature{transform:none}.button:hover{transform:none}}
@media(forced-colors:active){.page-intro,.planner-intro.page-intro,.game-page .top-copy.page-intro{background:Canvas;color:CanvasText;border-color:CanvasText}.page-intro-art,.planner-intro-art{display:none}.page-intro h1,.page-intro h1 span,.page-intro .eyebrow,.page-intro-copy>p{color:CanvasText!important}.page-intro-copy,.planner-intro.page-intro .planner-intro-copy{max-width:100%}.site-footer{border-color:CanvasText}.button{border:1px solid ButtonText}}
/* Long translations and short screens must never push primary actions away. */
.evening-company>.planner-next{flex-wrap:wrap}.evening-company>.planner-next p{flex-basis:100%}.evening-company>.planner-next a{flex:1 1 220px;min-width:0;white-space:normal}
.stock-editor[open]{display:flex;flex-direction:column;overflow:hidden;max-height:94dvh}
.stock-editor>.stock-editor-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 4px 12px;scroll-padding:8px}
.stock-editor-body .ingredient-choices{max-height:none;min-height:0;overflow:visible;display:grid}
.stock-editor .stock-category-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:7px;min-height:52px;padding:4px 1px;scrollbar-width:thin}
.stock-editor .stock-category-tabs button{flex-shrink:0}
.stock-editor>.pantry-bottom{flex:0 0 auto;margin-top:0;border-top:1px solid var(--line);padding-top:16px;background:var(--paper)}
.stock-editor>.close-dialog{z-index:5}
@media(max-width:600px){.stock-editor[open]{padding:20px 16px 16px}.stock-editor h2{font-size:30px;margin-bottom:14px}.stock-editor .stock-editor-body .ingredient-choices{max-height:none;min-height:0}.stock-editor>.pantry-bottom{padding-top:12px}.stock-editor .pantry-bottom .button{margin-top:0}}

.info-spellen .chaos-game-feature{grid-column:1/-1;background:var(--green-soft);position:relative}.chaos-game-feature>p:not(.info-status){max-width:65ch}.chaos-game-feature h2{font-size:clamp(32px,4vw,48px)}
