*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg-color: #faf9f6;--card-bg: #ffffff;--text-main: #111111;--text-muted: #757470;--text-faint: #a09e99;--seal-red: #c82333;--seal-red-hover: #a71d2a;--border-line: #e5e3dc;--border-dark: #111111;--font-sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "Space Mono", Menlo, Monaco, Consolas, monospace}html,body{min-height:100%;background-color:var(--bg-color);color:var(--text-main);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-layout{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:2rem 1.5rem 4rem}main{flex:1;display:flex;flex-direction:column;align-items:center;width:100%;max-width:1240px;padding-top:3vh}.search-container{max-width:680px;width:100%;padding:1rem 0;text-align:center}.brand-row{display:inline-flex;align-items:center;gap:.65rem;margin-bottom:.25rem}.logo{font-family:var(--font-sans);font-size:3.75rem;font-weight:700;color:var(--text-main);letter-spacing:-2px;text-decoration:none;line-height:1;transition:opacity .2s ease}.logo:hover{opacity:.85}.brand-seal{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background-color:var(--seal-red);color:#fff;font-family:serif;font-size:.85rem;font-weight:700;line-height:1;-webkit-user-select:none;user-select:none}.tagline{font-family:var(--font-mono);font-size:.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.2px;margin-top:.5rem;margin-bottom:2.5rem}.search-form{display:flex;align-items:center;border-bottom:2px solid var(--border-dark);background:transparent;padding:0 0 .5rem;transition:border-color .2s ease}.search-form:focus-within{border-bottom-color:var(--seal-red)}.search-form input{flex-grow:1;border:none;outline:none;padding:.75rem .5rem .5rem .25rem;font-size:1.15rem;font-family:var(--font-sans);background:transparent;color:var(--text-main);letter-spacing:-.2px}.search-form input::placeholder{color:var(--text-faint);font-weight:400}.search-form button{border:none;background:transparent;color:var(--text-main);padding:.5rem .75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s ease,transform .15s ease}.search-form button:hover:not(:disabled){color:var(--seal-red);transform:translate(2px)}.search-form button:disabled{opacity:.4;cursor:not-allowed}.search-icon{stroke-width:2}#results-container{width:100%;margin-top:3rem;padding-bottom:3rem}.status-message{font-family:var(--font-mono);font-size:.95rem;color:var(--text-muted);letter-spacing:.5px;padding:3rem;text-align:center;text-transform:uppercase}.loading-state{display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:2.5rem}.provider-counts{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem;margin-bottom:2.5rem}.count-badge{display:inline-flex;align-items:center;background-color:var(--card-bg);border:1px solid var(--border-line);color:var(--text-muted);padding:.35rem .8rem;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.5px;text-transform:uppercase;transition:border-color .2s ease}.count-badge:hover{border-color:var(--text-main)}.count-badge strong{color:var(--seal-red);margin-left:.4rem;font-weight:700}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.75rem}.recipe-card{background:var(--card-bg);border:1px solid var(--border-line);border-radius:0;overflow:hidden;text-decoration:none;color:var(--text-main);display:flex;flex-direction:column;position:relative;transition:border-color .25s ease,box-shadow .25s ease}.recipe-card:hover{border-color:var(--border-dark);box-shadow:0 6px 18px #0000000d}.recipe-card-media{position:relative;width:100%;aspect-ratio:4 / 3;background-color:#f1efea;border-bottom:1px solid var(--border-line);overflow:hidden}.recipe-card-media img{width:100%;height:100%;object-fit:cover;filter:contrast(1.04) saturate(1.1);transition:transform .4s ease,filter .3s ease}.recipe-card:hover .recipe-card-media img{transform:scale(1.03);filter:contrast(1.06) saturate(1.18)}.card-index-tag{position:absolute;top:10px;left:10px;background:var(--card-bg);color:var(--text-main);border:1px solid var(--border-line);font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:.5px;padding:.2rem .5rem;z-index:2;box-shadow:0 2px 6px #0000000a}.recipe-card-content{padding:1.25rem 1.25rem 1.15rem;text-align:left;flex-grow:1;display:flex;flex-direction:column}.recipe-card-content h3{font-family:var(--font-sans);font-size:1.05rem;font-weight:600;line-height:1.4;margin-bottom:1rem;color:var(--text-main);letter-spacing:-.2px;transition:color .2s ease}.recipe-card:hover .recipe-card-content h3{color:var(--seal-red);text-decoration:underline;text-decoration-color:var(--seal-red);text-underline-offset:4px}.recipe-card-meta{margin-top:auto;display:flex;align-items:center;gap:.5rem}.recipe-source-dot{width:5px;height:5px;background-color:var(--seal-red);flex-shrink:0}.recipe-source{font-family:var(--font-mono);font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted)}.skeleton-card{pointer-events:none;border-style:solid;border-color:var(--border-line)}.skeleton-media{display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,#f2efe9 25%,#e8e4dc,#f2efe9 75%);background-size:200% 100%;animation:tokyoShimmer 1.8s infinite}.skeleton-provider-pill{background:var(--card-bg);color:var(--text-muted);border:1px solid var(--border-line);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.8px;padding:.35rem .75rem;text-transform:uppercase}.skeleton-line{background:linear-gradient(90deg,#f2efe9 25%,#e8e4dc,#f2efe9 75%);background-size:200% 100%;animation:tokyoShimmer 1.8s infinite;border-radius:0}.skeleton-title{height:16px;width:80%;margin-bottom:.6rem}.skeleton-title-short{height:16px;width:50%;margin-bottom:.85rem}.skeleton-meta{height:12px;width:35%}@keyframes tokyoShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner-container{display:inline-flex;justify-content:center;align-items:center}.spinner{width:36px;height:36px;border:2px solid var(--border-line);border-radius:0;border-top-color:var(--seal-red);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}footer{width:100%;padding:3rem 0 1rem;text-align:center;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.8px;color:var(--text-faint);text-transform:uppercase}@media(max-width:680px){.app-layout{padding:1.5rem 1rem 3rem}main{padding-top:1.5vh}.logo{font-size:2.85rem}.brand-seal{width:22px;height:22px;font-size:.75rem}.tagline{font-size:.78rem;margin-bottom:2rem}.results-grid{grid-template-columns:1fr;gap:1.25rem}.search-form input{font-size:1.05rem}}
