:root{--paper:oklch(96.5% .018 82);--paper-deep:oklch(93.5% .024 82);--ink:oklch(24% .022 40);--muted:oklch(38% .022 40);--quiet:oklch(58% .02 60);--line:oklch(78% .025 70);--card-sheen:inset 0 1px 0 oklch(100% 0 0/.72);--card-sheen-hover:inset 0 1px 0 oklch(100% 0 0/.8);--card-drop:0 2px 8px oklch(35% .04 40/.05);--card-drop-hover:0 8px 20px -14px oklch(0% 0 0/.3);--control-tint:oklch(93.5% .024 82/.72);--line-soft:oklch(82% .02 72);--accent:oklch(58.5% .155 35)}*{box-sizing:border-box}html,body,#root{width:100%;min-width:0;max-width:100%;min-height:100%;margin:0;overflow-x:clip}body{background-color:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;background-image:radial-gradient(oklch(88% .04 75/.35) 1px,#0000 1.4px),radial-gradient(oklch(92% .03 80/.5) 1px,#0000 1.6px);background-position:0 0,3px 4px;background-size:7px 7px,13px 13px;font-family:Karla,system-ui,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}::selection{background:var(--accent);color:var(--paper)}.shelf{width:min(1360px,100%);margin:0 auto;padding:clamp(28px,6vw,56px) clamp(18px,5vw,40px) clamp(56px,10vw,96px)}.brand{flex-direction:column;justify-content:center;align-items:center;margin:0 auto clamp(22px,5vw,38px);display:flex;position:relative}.brand img{object-fit:contain;width:auto;max-width:100%;height:clamp(48px,15vw,76px);display:block}.social{justify-content:center;align-items:center;gap:18px;margin-top:14px;display:flex}.social a{border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.social a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.social img{object-fit:contain;width:20px;height:20px}.brand-nav{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 22px;margin-top:16px;display:flex}.brand-nav a{border-bottom:2px solid #0000;padding-bottom:3px}.brand-nav a:hover{border-color:var(--accent)}.brand-nav a.on{border-color:var(--accent);color:var(--ink);font-weight:700}.count{letter-spacing:.14em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:10.5px;line-height:1.4}h1{letter-spacing:-.015em;text-wrap:pretty;margin:10px 0 0;font-family:Newsreader,Georgia,serif;font-size:clamp(30px,7vw,40px);font-weight:600;line-height:1.12}.controls{flex-direction:column;align-items:center;gap:12px;margin-top:clamp(22px,5vw,34px);display:flex}input{border:1px solid var(--line);width:100%;min-width:0;height:46px;color:var(--ink);background:var(--paper);border-radius:999px;outline:none;flex:none;padding:0 18px;font:15px Karla,sans-serif;transition:border-color .15s,box-shadow .15s}input:focus{border-color:var(--ink);box-shadow:0 0 0 3px oklch(58.5% .155 35/.12)}input::placeholder{color:var(--quiet)}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid oklch(58.5% .155 35/.3)}.results-meta{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:14px;margin-top:14px;display:flex}.clear{border:0;border-bottom:1px solid var(--line);color:var(--accent);cursor:pointer;background:0 0;padding:0}.clear:hover{border-color:var(--accent)}.shelf-status{color:var(--muted);letter-spacing:.08em;text-align:center;text-transform:uppercase;margin:32px 0;font:12px JetBrains Mono,monospace}.shelf-error{border:1px solid var(--line-soft);background:var(--paper-deep);text-align:center;border-radius:12px;margin:32px 0;padding:26px 20px}.shelf-error h2{margin:0;font:700 20px/1.2 Archivo,sans-serif}.shelf-error p{color:var(--muted);margin:10px auto 0;font-size:14px;line-height:1.45}.shelf-error button{border:1px solid var(--accent);height:42px;color:var(--paper);background:var(--accent);cursor:pointer;border-radius:999px;margin-top:18px;padding:0 16px;font:700 13px Karla,sans-serif}.grid{grid-template-columns:1fr;gap:12px;margin-top:clamp(20px,5vw,32px);display:grid;position:relative}.card{isolation:isolate;border:1px solid color-mix(in srgb, var(--line-soft) 82%, white);background:var(--paper-deep);min-width:0;min-height:188px;box-shadow:var(--card-sheen), inset 0 -14px 30px oklch(70% .06 45/.1), var(--card-drop);border-radius:16px;transition:border-color .18s,box-shadow .18s,transform .18s;display:block;position:relative;overflow:hidden}.card:after{z-index:1;border-radius:inherit;content:"";pointer-events:none;border:1px solid oklch(100% 0 0/.32);position:absolute;inset:0;box-shadow:inset 0 0 22px oklch(24% .04 40/.16),inset 0 1px oklch(100% 0 0/.65)}.card:hover{border-color:var(--accent);box-shadow:var(--card-sheen-hover), inset 0 -14px 30px oklch(70% .06 45/.12), var(--card-drop-hover);transform:translateY(-1px)}.card:focus-visible{outline-offset:3px;outline:3px solid oklch(58.5% .155 35/.3)}.photo{border-radius:inherit;background:var(--paper-deep);border:0;position:absolute;inset:0;overflow:hidden}.photo img{object-fit:cover;width:100%;height:100%;display:block}.photo img.contain{object-fit:contain;mix-blend-mode:multiply;padding:22px}.photo img.multiply{mix-blend-mode:multiply}.card-copy{z-index:2;isolation:isolate;flex-direction:column;width:min(92%,370px);min-width:0;min-height:188px;padding:20px 18px 16px;display:flex;position:relative}.card-copy:before{z-index:-1;-webkit-backdrop-filter:blur(2px)saturate(.96);content:"";pointer-events:none;background:linear-gradient(90deg,oklch(96.5% .018 82/.8) 0%,oklch(96.5% .018 82/.52) 42%,oklch(96.5% .018 82/0) 100%);position:absolute;inset:-24px -12px -24px -24px;-webkit-mask-image:linear-gradient(90deg,#000 0% 50%,#0000 82%);mask-image:linear-gradient(90deg,#000 0% 50%,#0000 82%)}h2{color:var(--ink);letter-spacing:-.04em;text-wrap:pretty;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:7px 0 0;font:800 clamp(18px,4.8vw,22px)/1.12 Archivo,Arial Narrow,sans-serif;display:-webkit-box;overflow:hidden}.description{color:oklch(31% .024 40);text-wrap:pretty;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:8px 0 0;font-size:14px;font-weight:500;line-height:1.4;display:-webkit-box;overflow:hidden}.listing{width:fit-content;height:auto;color:var(--accent);letter-spacing:.01em;align-items:center;gap:5px;margin-top:auto;padding-top:8px;font-size:12px;font-weight:700;display:inline-flex}.listing span:last-child{transition:transform .15s}.card:hover .listing span:last-child{transform:translate(2px,-2px)}@media (width>=620px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.card,.card-copy{min-height:202px}}@media (width>=980px){.grid{gap:20px}.card,.card-copy{min-height:216px}}.empty{border:1px solid var(--line-soft);background:var(--paper-deep);text-align:center;border-radius:6px;margin-top:32px;padding:36px 24px}.empty h2{max-width:26ch;margin:0 auto;font-size:24px;font-style:italic}.empty p{max-width:44ch;color:var(--muted);margin:10px auto 0;font-size:15px;line-height:1.5}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shelf-intro{margin-top:clamp(26px,5vw,44px)}.shelf-intro h1{max-width:18ch;margin:0}.shelf-intro p{max-width:62ch;color:var(--muted);text-wrap:pretty;margin:20px 0 0;font-size:clamp(15px,2.2vw,16px);line-height:1.55}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}.shelf-section{margin-top:clamp(22px,4vw,30px)}.shelf-section+.shelf-section{margin-top:clamp(40px,8vw,68px)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px 24px;display:flex}.section-head h2{-webkit-line-clamp:none;margin:0;font-size:clamp(20px,4.8vw,24px);display:block;overflow:visible}.go{color:var(--accent);align-items:center;gap:5px;font-size:12px;font-weight:700;display:inline-flex}.go span:last-child{transition:transform .15s}.go:hover span:last-child,.recipe-card:hover .go span:last-child{transform:translate(2px)}.recipe-grid{grid-template-columns:1fr;gap:12px;margin-top:clamp(20px,5vw,32px);display:grid}.recipe-card{isolation:isolate;border:1px solid var(--line-soft);background:var(--paper-deep);min-height:190px;box-shadow:var(--card-sheen), var(--card-drop);color:var(--quiet);border-radius:16px;flex-direction:column;justify-content:space-between;gap:24px;padding:24px 26px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;position:relative;overflow:hidden}.recipe-card:hover{border-color:var(--accent);box-shadow:var(--card-sheen-hover), var(--card-drop-hover);transform:translateY(-1px)}@media (width>=620px){.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.recipe-card{min-height:204px}}@media (width>=980px){.recipe-grid{gap:20px}.recipe-card{min-height:218px}}.recipe-card-photo{z-index:-2;border-radius:inherit;background:var(--paper-deep);border:0;position:absolute;inset:0;overflow:hidden}.recipe-card-photo img{object-fit:cover;width:100%;height:100%;display:block}.recipe-card:has(.recipe-card-photo):before{z-index:-1;-webkit-backdrop-filter:blur(2px)saturate(.96);content:"";pointer-events:none;background:linear-gradient(90deg,oklch(96.5% .018 82/.8) 0%,oklch(96.5% .018 82/.52) 42%,oklch(96.5% .018 82/0) 100%);position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000 0% 50%,#0000 82%);mask-image:linear-gradient(90deg,#000 0% 50%,#0000 82%)}.recipe-card:has(.recipe-card-photo):after{z-index:1;border-radius:inherit;content:"";pointer-events:none;border:1px solid oklch(100% 0 0/.32);position:absolute;inset:0;box-shadow:inset 0 0 22px oklch(24% .04 40/.16),inset 0 1px oklch(100% 0 0/.65)}:is(.recipe-card:has(.recipe-card-photo) .count,.recipe-card:has(.recipe-card-photo) .recipe-card-foot){z-index:2;position:relative}.recipe-card-foot{flex-direction:column;gap:14px;display:flex}.recipe-card .name{color:var(--ink);letter-spacing:-.01em;text-wrap:pretty;font-family:Newsreader,Georgia,serif;font-size:26px;font-weight:600;line-height:1.15}.brand-action{border:1px solid var(--line);height:44px;color:var(--accent);cursor:pointer;background:0 0;border-radius:999px;padding:0 16px;font:700 13px Karla,sans-serif;position:absolute;top:0;right:0}.brand-action:hover{border-color:var(--accent);background:var(--control-tint)}.error-shell{place-items:center;min-height:100vh;padding:24px 18px;display:grid}.error-card{border:1px solid var(--line-soft);background:var(--paper-deep);text-align:center;border-radius:16px;width:min(100%,440px);padding:28px}.error-card h1{margin:0;font:700 28px/1.1 Archivo,sans-serif}.error-card p{color:var(--muted);margin:12px 0 0;line-height:1.5}.error-card button{border:1px solid var(--accent);height:42px;color:var(--paper);background:var(--accent);cursor:pointer;border-radius:999px;margin-top:20px;padding:0 16px;font:700 13px Karla,sans-serif}
