:root{--green-900: #1a3409;--green-800: #22450e;--green-700: #2d5016;--green-600: #3a6b1e;--green-500: #4a8528;--green-100: #e8f0e0;--cream-50: #fdfcfa;--cream-100: #faf6f0;--cream-200: #f5efe4;--cream-300: #ede4d4;--cream-400: #ddd2be;--terracotta-700: #9e5a30;--terracotta-600: #b8673a;--terracotta-500: #c4703f;--terracotta-400: #d4884f;--terracotta-300: #e0a06a;--brown-900: #2c2416;--brown-800: #3d3223;--brown-700: #5a4e3e;--brown-600: #7a6e5e;--brown-500: #9a8e7e;--brown-400: #b5a898;--brown-300: #d6cbb8;--red-600: #a33333;--red-100: #fde8e8;--red-border: #e6b0b0;--shadow-sm: 0 1px 3px rgba(44, 36, 22, .06);--shadow-md: 0 4px 12px rgba(44, 36, 22, .08);--shadow-lg: 0 8px 24px rgba(44, 36, 22, .12);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-full: 100px;--font-display: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;font-family:var(--font-body);line-height:1.6;font-weight:400;color:var(--brown-900);background-color:var(--cream-100);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-height:100vh}#root{max-width:840px;margin:0 auto;padding:2.5rem 1.5rem 4rem}@media(max-width:600px){#root{padding:1.5rem 1rem 3rem}}.navbar{display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:2rem}.navbar-tabs{display:flex;gap:0;border-bottom:1px solid var(--cream-300)}.nav-tab{display:flex;align-items:center;color:var(--brown-500);text-decoration:none;font-size:.9rem;font-weight:500;letter-spacing:.01em;padding:.6rem 1.5rem .65rem;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--transition-fast),border-color var(--transition-fast);white-space:nowrap}.nav-tab:hover{color:var(--brown-900)}.nav-tab--active{color:var(--brown-900);font-weight:600;border-bottom-color:var(--green-700)}.nav-tab--active:hover{color:var(--brown-900)}.nav-tab-icon{display:none}.navbar-aux{position:absolute;right:0;display:flex;align-items:center;gap:1rem}.nav-aux-link{color:var(--brown-500);text-decoration:none;font-size:.8rem;font-weight:500;transition:color var(--transition-fast)}.nav-aux-link:hover{color:var(--brown-800)}.nav-aux-button{background:none;border:none;color:var(--brown-500);font-family:var(--font-body);font-size:.8rem;font-weight:500;cursor:pointer;padding:0;transition:color var(--transition-fast)}.nav-aux-button:hover{color:var(--brown-800)}@media(max-width:480px){.navbar-aux{position:static;margin-top:.75rem}.navbar{flex-direction:column;gap:.5rem}.nav-tab{font-size:.8rem;padding:.4rem 1rem}}.search-bar{display:flex;gap:.75rem}.search-input-wrapper{flex:1;position:relative}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--brown-400);pointer-events:none;transition:color var(--transition-fast)}.search-input-wrapper:focus-within .search-icon{color:var(--green-600)}.search-input-wrapper input{width:100%;padding:.875rem 1rem .875rem 2.75rem;font-size:.95rem;font-family:var(--font-body);border:1.5px solid var(--cream-400);border-radius:var(--radius-full);background:var(--cream-50);color:var(--brown-900);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.search-input-wrapper input:focus{outline:none;border-color:var(--green-600);box-shadow:0 0 0 3px #3a6b1e1a}.search-input-wrapper input::placeholder{color:var(--brown-400)}.search-bar button{padding:.875rem 1.75rem;font-size:.9rem;font-family:var(--font-body);font-weight:600;border:none;border-radius:var(--radius-full);background:var(--terracotta-600);color:#fff;cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast);white-space:nowrap;letter-spacing:.02em}.search-bar button:hover:not(:disabled){background:var(--terracotta-700);transform:translateY(-1px)}.search-bar button:active:not(:disabled){transform:translateY(0)}.search-bar button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:500px){.search-bar{flex-direction:column}.search-bar button{padding:.75rem}}.herb-card{position:relative;background:var(--cream-50);border:1px solid var(--cream-300);border-radius:var(--radius-lg);padding:1.75rem 1.75rem 1.5rem;overflow:hidden;transition:box-shadow var(--transition-base),transform var(--transition-base)}.herb-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.herb-card-header{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.5rem}.herb-name{margin:0;font-family:var(--font-display);font-size:1.65rem;font-weight:800;color:var(--green-800);line-height:1.15}.similarity-badge{font-size:.65rem;font-weight:700;padding:.25rem .65rem;background:transparent;color:var(--terracotta-600);border:1.5px solid var(--terracotta-600);border-radius:var(--radius-full);white-space:nowrap;flex-shrink:0;letter-spacing:.08em;text-transform:uppercase;transform:rotate(-2deg);position:relative;z-index:1}.herb-latin-name{position:relative;z-index:1;font-style:italic;color:var(--brown-500);font-size:.9rem;margin:0 0 .85rem;line-height:1.4}.herb-description{position:relative;z-index:1;color:var(--brown-800);margin:0 0 1rem;font-size:.9rem;line-height:1.7;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.herb-card:hover .herb-description,.herb-card:focus-within .herb-description{-webkit-line-clamp:unset}.herb-categories{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:0}.category-tag{font-size:.65rem;font-weight:700;padding:.2rem .6rem;background:var(--green-100);color:var(--green-700);border:1px solid rgba(45,80,22,.12);border-radius:var(--radius-sm);letter-spacing:.06em;text-transform:uppercase}.traditional-prep-toggle{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.4rem;background:none;border:none;color:var(--terracotta-600);font-family:var(--font-body);font-size:.9rem;font-style:italic;font-weight:500;cursor:pointer;padding:0;margin-top:1.1rem;transition:color var(--transition-fast)}.traditional-prep-toggle:hover{color:var(--terracotta-500)}.prep-arrow{flex-shrink:0;font-style:normal;line-height:1}.herb-how-to-use{position:relative;z-index:1;animation:slideDown var(--transition-base)}.herb-how-to-use p{color:var(--brown-700);font-size:.85rem;line-height:1.75;margin:.5rem 0 0;padding:.875rem 1rem;background:var(--cream-200);border-radius:var(--radius-sm);border-left:2px solid var(--terracotta-400)}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.herb-card{padding:1.25rem 1rem 1rem}.herb-name{font-size:1.35rem}.herb-description{font-size:.85rem}}.herb-card-list{display:flex;flex-direction:column;gap:.75rem}.results-count{margin:0;font-size:.8rem;font-weight:500;color:var(--brown-500);letter-spacing:.03em;text-transform:uppercase}.herb-card-list-items{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media(max-width:640px){.herb-card-list-items{grid-template-columns:1fr}}.recipe-card{background:var(--cream-100);border:1px solid var(--cream-300);border-radius:var(--radius-md);overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s}.recipe-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.recipe-card-photo{width:100%;height:160px;object-fit:cover}.recipe-card-body{padding:1rem}.recipe-card-title{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--green-800);margin:0 0 .25rem}.recipe-card-meta{font-size:.8rem;color:var(--brown-500);margin:0 0 .5rem}.recipe-card-description{font-size:.85rem;color:var(--brown-700);line-height:1.5;margin:0}.recipe-card-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:3rem 1rem}.spinner-dots{display:flex;gap:.5rem}.dot{width:10px;height:10px;background:var(--green-600);border-radius:50%;animation:pulse 1.4s ease-in-out infinite}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.loading-spinner p{color:var(--brown-600);font-family:var(--font-display);font-style:italic;font-size:1.05rem;margin:0}.empty-state{text-align:center;padding:3rem 1rem}.empty-state-icon{font-size:2.5rem;margin:0 0 .5rem;opacity:.4}.empty-state-title{font-family:var(--font-display);color:var(--green-800);font-size:1.6rem;font-weight:600;margin:0 0 .75rem}.empty-state-message{color:var(--brown-600);font-size:.95rem;max-width:460px;margin:0 auto;line-height:1.7}.suggestion-chips{margin-top:2rem}.suggestion-label{font-size:.8rem;font-weight:500;color:var(--brown-500);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.chip{font-family:var(--font-body);font-size:.85rem;padding:.45rem 1rem;background:var(--cream-50);color:var(--brown-800);border:1px solid var(--cream-400);border-radius:var(--radius-full);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.chip:hover{background:var(--green-100);border-color:var(--green-500);color:var(--green-800);transform:translateY(-1px)}.auth-page{max-width:400px;margin:0 auto}.auth-title{font-family:var(--font-display);color:var(--green-800);font-size:1.75rem;margin:0 0 1.5rem;text-align:center}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;color:var(--brown-700);font-weight:500}.auth-input{padding:.6rem .75rem;border:1px solid var(--cream-400);border-radius:var(--radius-sm);font-size:1rem;background:var(--cream-50);color:var(--brown-800);transition:border-color .15s}.auth-input:focus{outline:none;border-color:var(--green-500);box-shadow:0 0 0 2px var(--green-100)}.auth-submit{padding:.7rem 1rem;background:var(--green-700);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:500;cursor:pointer;margin-top:.5rem;transition:background .15s}.auth-submit:hover:not(:disabled){background:var(--green-800)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-error{color:var(--red-600);background:var(--red-100);border:1px solid var(--red-border);padding:.5rem .75rem;border-radius:var(--radius-sm);margin:0;font-size:.85rem}.auth-switch{text-align:center;margin-top:1.5rem;font-size:.9rem;color:var(--brown-600)}.auth-switch a{color:var(--green-700);text-decoration:none;font-weight:500}.auth-switch a:hover{text-decoration:underline}.auth-message{text-align:center;color:var(--brown-700);line-height:1.5;margin-bottom:1rem}.auth-link{display:block;text-align:center;color:var(--green-700);text-decoration:none;font-weight:500}.auth-link:hover{text-decoration:underline}.recipe-detail{max-width:700px;margin:0 auto}.recipe-detail-photo{width:100%;height:300px;object-fit:cover;border-radius:var(--radius-md);margin-bottom:1.5rem}.recipe-detail-title{font-family:var(--font-display);font-size:2rem;color:var(--green-800);margin:0 0 .25rem}.recipe-detail-meta{color:var(--brown-500);font-size:.9rem;margin:0 0 1.5rem}.recipe-detail-section{font-family:var(--font-display);font-size:1.25rem;color:var(--brown-800);margin:1.5rem 0 .75rem}.recipe-detail-ingredients{margin:0;padding-left:1.25rem}.recipe-detail-ingredients li{font-size:1rem;color:var(--brown-700);line-height:1.8}.recipe-detail-instructions{font-size:1rem;color:var(--brown-700);line-height:1.7;white-space:pre-wrap}.recipe-detail-back{display:inline-block;margin-top:2rem;color:var(--green-700);text-decoration:none;font-weight:500}.recipe-detail-back:hover{text-decoration:underline}.loading-text{text-align:center;color:var(--brown-500);margin:2rem 0}.my-recipes{max-width:600px;margin:0 auto}.my-recipes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.my-recipes-title{font-family:var(--font-display);color:var(--green-800);font-size:1.75rem;margin:0}.my-recipes-add{color:var(--green-700);text-decoration:none;font-weight:600;font-size:.9rem}.my-recipes-add:hover{text-decoration:underline}.my-recipes-empty{text-align:center;color:var(--brown-500);margin:3rem 0}.my-recipes-list{display:flex;flex-direction:column;gap:.75rem}.my-recipe-item{display:flex;align-items:center;background:var(--cream-100);border:1px solid var(--cream-300);border-radius:var(--radius-sm);padding:.75rem 1rem}.my-recipe-info{flex:1;display:flex;flex-direction:column;text-decoration:none;color:inherit}.my-recipe-name{font-weight:600;color:var(--green-800)}.my-recipe-meta{font-size:.8rem;color:var(--brown-500);margin-top:.15rem}.my-recipe-delete{background:var(--red-100);border:none;color:var(--red-600);font-size:.8rem;font-weight:600;padding:.35rem .75rem;border-radius:var(--radius-sm);cursor:pointer}.my-recipe-delete:hover{background:#f5c6c6}.add-recipe{max-width:500px;margin:0 auto}.add-recipe-title{font-family:var(--font-display);color:var(--green-800);font-size:1.75rem;margin:0 0 1.5rem;text-align:center}.add-recipe-form{display:flex;flex-direction:column;gap:1rem}.add-recipe-label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;color:var(--brown-700);font-weight:500}.add-recipe-input{padding:.6rem .75rem;border:1px solid var(--cream-400);border-radius:var(--radius-sm);font-size:1rem;background:var(--cream-50);color:var(--brown-800)}.add-recipe-input:focus{outline:none;border-color:var(--green-500);box-shadow:0 0 0 2px var(--green-100)}.add-recipe-textarea{min-height:100px;resize:vertical;font-family:inherit}.add-recipe-file{margin-top:.25rem}.ingredient-row{display:flex;gap:.5rem;margin-top:.25rem}.ingredient-row .add-recipe-input{flex:1}.ingredient-remove{background:var(--red-100);border:none;color:var(--red-600);font-weight:700;padding:0 .75rem;border-radius:var(--radius-sm);cursor:pointer}.ingredient-add{background:none;border:none;color:var(--green-700);font-weight:600;font-size:.85rem;cursor:pointer;padding:.25rem 0;text-align:left}.chat-thinking{display:inline-block;padding:.25rem 0;font-size:.92rem;font-style:italic;line-height:1.6;transition:opacity var(--thinking-fade, .22s) ease;background-image:linear-gradient(90deg,var(--brown-500) 0%,var(--green-700) 30%,var(--brown-500) 60%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:chat-thinking-shimmer 2.4s ease-in-out infinite}.chat-thinking.is-visible{opacity:1}.chat-thinking.is-fading{opacity:0}.chat-thinking-dot{display:inline-block;animation:chat-thinking-dot 1.2s ease-in-out infinite}.chat-thinking-dot:nth-child(2){animation-delay:.15s}.chat-thinking-dot:nth-child(3){animation-delay:.3s}@keyframes chat-thinking-shimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes chat-thinking-dot{0%,60%,to{opacity:.35}30%{opacity:1}}@supports not (background-clip: text){.chat-thinking{color:var(--brown-500);-webkit-text-fill-color:var(--brown-500);background:none;animation:chat-thinking-pulse 1.8s ease-in-out infinite}@keyframes chat-thinking-pulse{0%,to{opacity:.55}50%{opacity:1}}}.chat-message{display:flex;margin-bottom:1.25rem}.chat-message--user{justify-content:flex-end}.chat-message--assistant{justify-content:flex-start}.chat-message-user-text{background:var(--green-700);color:#fff;padding:.75rem 1rem;border-radius:var(--radius-md) var(--radius-md) var(--radius-sm) var(--radius-md);max-width:78%;margin:0;font-size:.9rem;line-height:1.6;word-break:break-word}.chat-message-body{max-width:88%}.chat-message-markdown{background:var(--cream-50);border:1px solid var(--cream-300);border-radius:var(--radius-sm) var(--radius-md) var(--radius-md) var(--radius-md);padding:.875rem 1.125rem;font-size:.9rem;line-height:1.75;color:var(--brown-800);word-break:break-word}.chat-message-markdown p{margin:0 0 .75em}.chat-message-markdown p:last-child{margin-bottom:0}.chat-message-markdown h3,.chat-message-markdown h4{font-family:var(--font-display);font-size:1.05rem;color:var(--green-800);margin:1em 0 .35em}.chat-message-markdown ul,.chat-message-markdown ol{margin:.5em 0 .75em;padding-left:1.4em}.chat-message-markdown li{margin-bottom:.2em}.chat-message-markdown a{color:var(--terracotta-600);text-decoration-thickness:1px;text-underline-offset:2px}.chat-message-markdown a:hover{color:var(--terracotta-500)}.chat-message-markdown strong{font-weight:600;color:var(--brown-900)}.chat-message-markdown code{font-size:.85em;background:var(--cream-200);border-radius:3px;padding:.1em .35em}.chat-herb-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.875rem;margin-top:1rem}@media(max-width:480px){.chat-message-user-text{max-width:90%}.chat-message-body{max-width:96%}.chat-herb-row{grid-template-columns:1fr}}.chat-list{display:flex;flex-direction:column;max-height:62vh;overflow-y:auto;padding:1rem .25rem .5rem;scroll-behavior:smooth}.chat-list::-webkit-scrollbar{width:5px}.chat-list::-webkit-scrollbar-track{background:transparent}.chat-list::-webkit-scrollbar-thumb{background:var(--cream-400);border-radius:3px}@media(max-width:480px){.chat-list{max-height:55vh;padding:.75rem 0 .5rem}}.chat-input-wrapper{margin-top:1rem;border-top:1px solid var(--cream-300);padding-top:1rem}.chat-input-error{margin:0 0 .6rem;padding:.6rem .875rem;background:var(--red-100);border:1px solid var(--red-border);border-radius:var(--radius-sm);color:var(--red-600);font-size:.85rem}.chat-input-rate-limit{margin:0 0 .6rem;padding:.6rem .875rem;background:var(--cream-200);border:1px solid var(--cream-400);border-radius:var(--radius-sm);color:var(--brown-600);font-size:.85rem}.chat-input-row{display:flex;align-items:flex-end;gap:.6rem}.chat-input-textarea{flex:1;font-family:var(--font-body);font-size:.9rem;line-height:1.6;color:var(--brown-900);background:var(--cream-50);border:1px solid var(--cream-400);border-radius:var(--radius-md);padding:.65rem .875rem;resize:none;overflow-y:hidden;max-height:140px;overflow-y:auto;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none}.chat-input-textarea:focus{border-color:var(--green-600);box-shadow:0 0 0 2px var(--green-100)}.chat-input-textarea::placeholder{color:var(--brown-400)}.chat-input-textarea:disabled{opacity:.55;cursor:not-allowed}.chat-input-send{flex-shrink:0;width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:var(--green-700);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast)}.chat-input-send:hover:not(:disabled){background:var(--green-600);transform:translateY(-1px)}.chat-input-send:active:not(:disabled){transform:translateY(0)}.chat-input-send:disabled{opacity:.4;cursor:not-allowed;transform:none}.nutritionist-page{display:flex;flex-direction:column;gap:0}.nutritionist-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--cream-300)}.nutritionist-title{font-family:var(--font-display);font-size:1.9rem;font-weight:600;color:var(--green-800);margin:0 0 .2rem;line-height:1.2}.nutritionist-subtitle{margin:0;color:var(--brown-500);font-style:italic;font-size:.9rem}.nutritionist-reset-btn{flex-shrink:0;background:none;border:1px solid var(--cream-400);border-radius:var(--radius-full);color:var(--brown-600);font-family:var(--font-body);font-size:.8rem;font-weight:500;padding:.35rem .875rem;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast);white-space:nowrap;margin-top:.25rem}.nutritionist-reset-btn:hover{border-color:var(--brown-400);color:var(--brown-800)}.nutritionist-empty{padding:1.5rem 0 2rem}.nutritionist-empty-text{color:var(--brown-600);font-family:var(--font-display);font-size:1.15rem;font-style:italic;margin:0 0 1.25rem}.nutritionist-chips{display:flex;flex-wrap:wrap;gap:.5rem}.nutritionist-chip{background:var(--cream-200);border:1px solid var(--cream-400);border-radius:var(--radius-full);color:var(--brown-700);font-family:var(--font-body);font-size:.85rem;font-weight:500;padding:.45rem 1rem;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.nutritionist-chip:hover{background:var(--green-100);border-color:var(--green-600);color:var(--green-800)}.nutritionist-chip:disabled{opacity:.5;cursor:not-allowed}@media(max-width:480px){.nutritionist-title{font-size:1.6rem}.nutritionist-chips{gap:.4rem}.nutritionist-chip{font-size:.8rem;padding:.4rem .85rem}}.app-header{text-align:center;margin-bottom:2.5rem}.app-header-frame{position:relative;padding:2rem 2.5rem;border:1px solid var(--green-700);border-radius:20px;background:var(--cream-50);display:flex;flex-direction:column;align-items:center}.app-header-frame:after{content:"";position:absolute;inset:5px;border:1.5px solid var(--green-700);border-radius:16px;pointer-events:none;opacity:.35}.app-header-ornament{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1rem;width:100%}.ornament-line{display:block;flex:1;height:1px;background:var(--green-700);opacity:.25}.ornament-dot{font-size:1.1rem;color:var(--green-700);line-height:1}.app-title{font-family:var(--font-display);font-size:3.25rem;font-weight:800;color:var(--green-800);margin:0;letter-spacing:-.02em;line-height:1.05}.app-header-divider{width:3.5rem;height:2px;background:var(--terracotta-600);margin:.9rem 0 .75rem;border-radius:2px}.app-subtitle{font-family:var(--font-display);color:var(--brown-600);font-size:1.1rem;font-style:italic;margin:0;letter-spacing:.01em}.app-tagline{font-size:.65rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--brown-400);margin:.75rem 0 0}.app-main{display:flex;flex-direction:column;gap:1.5rem}.error-message{color:var(--red-600);background:var(--red-100);border:1px solid var(--red-border);padding:.75rem 1rem;border-radius:var(--radius-sm);margin:0;font-size:.9rem}.search-tabs{display:flex;gap:0;background:var(--cream-200);border-radius:var(--radius-sm);padding:3px;margin-bottom:1rem}.search-tab{flex:1;padding:.5rem 1rem;border:none;border-radius:calc(var(--radius-sm) - 2px);background:transparent;color:var(--brown-600);font-weight:600;font-size:.85rem;cursor:pointer;transition:background .15s,color .15s}.search-tab-active{background:var(--green-700);color:#fff}.no-results{text-align:center;color:var(--brown-500);margin:2rem 0}@media(max-width:600px){.app-header-frame{padding:1.5rem 1.25rem}.app-title{font-size:2.4rem}.app-subtitle{font-size:1rem}}
