@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&family=Playfair+Display:wght@400;700&family=Source+Serif+4:wght@300;400;600&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--brown:#61463C;--brown-light:#7D5F53;--brown-dark:#4A3229;--orange:#FF9700;--orange-light:#FFB340;--orange-dark:#D07C00;--green:#7BB662;--green-light:#9BCB87;--green-dark:#5E9447;--bg:#FDFBF7;--card-bg:#F8F4ED;--elevated:#FFFFFF;--text-primary:#2C1E17;--text-secondary:#6B5548;--text-muted:#9C8578;--border:#E5DDD4;--border-light:#F0EAE2;--rci-gold:#B8860B;--fs-xs:clamp(0.75rem,0.7rem + 0.25vw,0.875rem);--fs-sm:clamp(0.875rem,0.83rem + 0.2vw,1rem);--fs-base:clamp(1rem,0.95rem + 0.25vw,1.125rem);--fs-md:clamp(1.125rem,1rem + 0.5vw,1.375rem);--fs-lg:clamp(1.5rem,1.3rem + 0.75vw,2rem);--fs-xl:clamp(2rem,1.7rem + 1vw,2.75rem);--fs-2xl:clamp(2.25rem,1.8rem + 1.5vw,3.25rem);--radius:12px;--radius-sm:4px;--max-width:1152px;--narrow-width:896px;--header-height:64px;--shadow-sm:0 1px 2px rgba(97,70,60,0.06);--shadow-md:0 4px 12px rgba(97,70,60,0.08);--shadow-lg:0 8px 30px rgba(97,70,60,0.12)}html{scroll-padding-top:calc(var(--header-height) + 1rem)}body{font-family:"Source Serif 4",Georgia,Times New Roman,serif;background:var(--bg);color:var(--text-primary);font-size:var(--fs-base);line-height:1.7;min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}main{flex:1 1;width:100%;max-width:var(--max-width);margin:0 auto;padding:clamp(1.5rem,3vw,2.5rem) clamp(1rem,3vw,2rem)}a{color:var(--orange);text-decoration:none;transition:color .15s ease}a:hover{color:var(--orange-dark)}.skip-to-content{position:absolute;left:-9999px;top:0;z-index:9999;padding:.75rem 1.5rem;background:var(--orange);color:white;font-family:Inter,system-ui,sans-serif;font-weight:600;border-radius:0 0 var(--radius) 0}.skip-to-content:focus{left:0}:focus-visible{outline:3px solid var(--orange);outline-offset:2px;border-radius:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.site-header{background:var(--brown);color:white;padding:0 clamp(1rem,3vw,2rem);position:-webkit-sticky;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-md)}.header-inner{max-width:var(--max-width);margin:0 auto;justify-content:space-between;height:var(--header-height)}.header-inner,.logo{display:flex;align-items:center}.logo{gap:.75rem;color:white;text-decoration:none;transition:opacity .2s ease}.logo:hover{opacity:.9;color:white}.logo-img{height:50px;width:auto}.logo-text{font-family:Playfair Display,Georgia,serif;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.header-nav{display:flex;gap:1.75rem;align-items:center}.header-nav a{color:rgba(255,255,255,.8);font-family:Inter,system-ui,sans-serif;font-size:.875rem;font-weight:500;letter-spacing:.03em;transition:color .15s ease}.header-nav a:hover{color:var(--orange)}.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px;z-index:200}.menu-toggle-bar{display:block;width:24px;height:2px;background:white;border-radius:2px;transition:transform .25s ease,opacity .25s ease}.menu-toggle-bar.open:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle-bar.open:nth-child(2){opacity:0}.menu-toggle-bar.open:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-nav-overlay{position:fixed;inset:0;background:rgba(44,30,23,.5);z-index:150;animation:fadeIn .2s ease}.mobile-nav{position:absolute;top:0;right:0;width:min(300px,80vw);height:100%;background:var(--brown);padding:calc(var(--header-height) + 1.5rem) 2rem 2rem;display:flex;flex-direction:column;gap:0;animation:slideIn .25s ease}.mobile-nav a{color:rgba(255,255,255,.9);font-family:Inter,system-ui,sans-serif;font-size:1.125rem;font-weight:500;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.1);text-decoration:none;transition:color .15s ease}.mobile-nav a:hover{color:var(--orange)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}@media (max-width:768px){.menu-toggle{display:flex}.header-nav{display:none}}@media (min-width:769px){.mobile-nav-overlay{display:none}}@media (prefers-reduced-motion:reduce){.mobile-nav,.mobile-nav-overlay{animation:none}}.not-found-page{text-align:center;padding:4rem 1rem;max-width:600px;margin:0 auto}.not-found-page h1{font-family:var(--font-heading);font-size:2rem;margin-bottom:1rem;color:var(--brown)}.not-found-page p{font-size:1.1rem;margin-bottom:2rem;color:var(--text-secondary)}.not-found-links{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.not-found-links a{padding:.5rem 1.25rem;border:1px solid var(--brown);border-radius:6px;color:var(--brown);text-decoration:none;transition:background .2s,color .2s}.not-found-links a:hover{background:var(--brown);color:white}.site-footer{padding:clamp(2rem,4vw,3rem) clamp(1rem,3vw,2rem);color:var(--text-muted);font-size:var(--fs-sm);font-family:Inter,system-ui,sans-serif;border-top:1px solid var(--border);background:var(--card-bg)}.footer-inner{max-width:var(--max-width);margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start;gap:2rem}.footer-brand .footer-title{color:var(--text-primary);font-size:var(--fs-base)}.footer-brand .footer-tagline{margin-top:.25rem;color:var(--text-muted)}.footer-nav{display:flex;gap:1.5rem;flex-shrink:0}.footer-nav a{color:var(--text-secondary);font-size:var(--fs-sm);font-weight:500;transition:color .15s ease}.footer-nav a:hover{color:var(--orange)}.footer-legal{max-width:var(--max-width);margin:1.5rem auto 0;padding-top:1rem;border-top:1px solid var(--border-light);text-align:center;font-size:var(--fs-xs);color:var(--text-muted)}.footer-legal a{color:var(--text-secondary)}.footer-legal a:hover{color:var(--orange)}@media (max-width:639px){.footer-inner{flex-direction:column;align-items:center;text-align:center}.footer-nav{flex-wrap:wrap;justify-content:center}}.page-hero{text-align:center;margin-bottom:3rem;padding-bottom:2.5rem;border-bottom:1px solid var(--border-light)}.hero-logo{display:flex;flex-direction:column;align-items:center;gap:0;margin-bottom:.5rem}.hero-logo-icon{width:clamp(120px,15vw + 40px,180px)}.hero-logo-full,.hero-logo-icon{height:auto;filter:drop-shadow(0 4px 12px rgba(97,70,60,.15))}.hero-logo-full{width:clamp(240px,30vw + 80px,420px);margin-top:-.5rem}.hero-logo-wordmark{width:clamp(200px,25vw + 60px,380px);height:auto;filter:drop-shadow(0 4px 12px rgba(97,70,60,.15))}.hero-logo-text{font-family:Playfair Display,Georgia,serif;font-size:clamp(3rem,2.5rem + 2.5vw,5rem);font-weight:700;color:var(--brown-dark);letter-spacing:-.02em;line-height:1}.hero-search{max-width:520px;margin:1.75rem auto 0;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.hero-search .search-input{flex:1 1}@media (max-width:480px){.hero-search{flex-direction:column}.hero-search .btn-primary{width:100%}.hero-search .search-filter-label{justify-content:center}}.page-hero h1{font-family:Playfair Display,Georgia,serif;font-size:var(--fs-2xl);font-weight:700;color:var(--brown-dark);margin-bottom:.25rem;margin-top:0;line-height:1.2}.page-hero .subtitle{font-family:"Source Serif 4",Georgia,serif;font-size:var(--fs-md);color:var(--text-secondary);font-style:italic;font-weight:300}.page-hero .stats{display:flex;justify-content:center;gap:clamp(1.5rem,3vw,2.5rem);margin-top:1.5rem;font-family:Inter,system-ui,sans-serif;font-size:var(--fs-sm);color:var(--text-muted);flex-wrap:wrap}.page-hero .stats .stat-value{font-weight:600;color:var(--orange);font-size:var(--fs-md);display:block}.page-hero .stats .stat-link{text-decoration:none;color:var(--text-muted);transition:color .15s ease}.page-hero .stats .stat-link:hover{color:var(--orange)}.domains-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));grid-gap:1.5rem;gap:1.5rem}.domain-card{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius);padding:1.75rem;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;position:relative}.domain-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--orange)}.domain-card-link{position:absolute;inset:0;z-index:0;border-radius:var(--radius)}.domain-card--clickable{cursor:pointer}.domain-card h2{font-family:Playfair Display,Georgia,serif;font-size:1.25rem;font-weight:400;color:var(--brown-dark);margin-bottom:.25rem}.domain-card .domain-code{font-family:JetBrains Mono,Courier New,monospace;font-size:.875rem;font-weight:500;color:var(--rci-gold);margin-bottom:.75rem}.domain-card .domain-desc{font-size:1rem;color:var(--text-secondary);margin-bottom:1rem;line-height:1.6}.family-list{list-style:none;border-top:1px solid var(--border);padding-top:.75rem}.family-item{padding:.5rem 0;display:flex;justify-content:space-between;align-items:center;font-size:1rem}.family-item>div>div:first-child>span:first-child{font-family:Inter,system-ui,sans-serif;font-size:.875rem;font-weight:500;color:var(--text-primary)}.family-code{font-family:JetBrains Mono,Courier New,monospace;font-size:.75rem;font-weight:500;color:var(--text-muted)}.type-list{list-style:none;margin-left:1rem;padding-top:.25rem}.type-item{padding:.35rem 0;font-size:.9375rem;display:flex;justify-content:space-between;align-items:center;gap:.75rem}.type-item a{font-family:Inter,system-ui,sans-serif;font-size:.875rem;color:var(--text-primary);font-weight:400;transition:color .15s ease}.type-item a:hover{color:var(--orange)}.rci-badge{font-family:JetBrains Mono,Courier New,monospace;font-size:.75rem;font-weight:500;color:var(--rci-gold);background:rgba(184,134,11,.1);padding:.2rem .5rem;border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0}.breadcrumb{font-family:Inter,system-ui,sans-serif;font-size:.875rem;margin-bottom:1.5rem}.breadcrumb,.breadcrumb a{color:var(--text-muted)}.breadcrumb a:hover{color:var(--orange)}.breadcrumb .sep{margin:0 .5rem;color:var(--border)}.type-header{margin-bottom:2.5rem}.type-header h1{font-family:Playfair Display,Georgia,serif;font-size:var(--fs-2xl);font-weight:700;color:var(--brown-dark);margin-bottom:.25rem;line-height:1.2}.type-header .type-rci{font-family:JetBrains Mono,Courier New,monospace;color:var(--rci-gold);font-size:.875rem;font-weight:500}.type-meta{display:flex;gap:2rem;margin-top:.75rem;font-family:Inter,system-ui,sans-serif;font-size:.875rem;color:var(--text-muted)}.type-body{display:grid;grid-template-columns:1fr;grid-gap:2.5rem;gap:2.5rem}@media (max-width:1023px){.btn-i-made-this{margin-left:0}}.scholarly-content{display:grid;grid-template-columns:2fr 1fr;grid-gap:2.5rem;gap:2.5rem;margin-bottom:2.5rem}.scholarly-content.single-column{grid-template-columns:1fr}@media (max-width:1023px){.scholarly-content{grid-template-columns:1fr}}.type-description{font-size:1.125rem;line-height:1.7;max-width:var(--narrow-width)}.type-sidebar{display:flex;flex-direction:column;gap:1.5rem}.sidebar-card{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm)}.sidebar-card h3{font-family:Inter,system-ui,sans-serif;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.75rem}.sidebar-card ul{list-style:none}.sidebar-card li{padding:.75rem 0 .75rem 1rem;font-size:1rem;line-height:1.5;position:relative;border-top:1px solid var(--border-light)}.sidebar-card li:first-child{border-top:none}.sidebar-card li:before{content:"";position:absolute;left:0;top:1.15rem;width:6px;height:6px;background:var(--orange);border-radius:50%}.cultural-heading{font-family:Inter,system-ui,sans-serif;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.75rem}.primary-variant-section{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border-light)}.primary-variant-header{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.primary-variant-header h2{font-family:Playfair Display,Georgia,serif;font-size:var(--fs-xl);font-weight:400;color:var(--brown-dark);margin:0}.variant-permalink{font-family:Inter,system-ui,sans-serif;font-size:.8125rem;color:var(--text-muted);text-decoration:none}.variant-permalink:hover{color:var(--orange)}.variants-section{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border-light)}.variants-section h2{font-family:Playfair Display,Georgia,serif;font-size:var(--fs-xl);font-weight:400;color:var(--brown-dark);margin-bottom:1.25rem}.variants-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));grid-gap:1.25rem;gap:1.25rem}.variant-card{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;display:block;color:var(--text-primary)}.variant-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--orange);color:var(--text-primary)}.variant-card .variant-rci{font-family:JetBrains Mono,Courier New,monospace;font-size:.75rem;font-weight:500;color:var(--rci-gold)}.variant-card h3{font-family:Playfair Display,Georgia,serif;font-size:1.25rem;font-weight:400;color:var(--brown-dark);margin:.35rem 0}.variant-card .variant-subtitle{font-size:.9375rem;color:var(--text-secondary);font-style:italic;font-weight:300}.variant-card .variant-meta{display:flex;gap:1rem;margin-top:.75rem;font-family:Inter,system-ui,sans-serif;font-size:.8125rem;color:var(--text-muted)}.recipe-header{margin-bottom:2.5rem}.recipe-header h1{font-family:Playfair Display,Georgia,serif;font-size:var(--fs-2xl);font-weight:700;color:var(--brown-dark);line-height:1.2}.recipe-header .type-rci{font-family:JetBrains Mono,Courier New,monospace;color:var(--rci-gold);font-size:.875rem;font-weight:500;margin-bottom:.25rem}.recipe-header .recipe-subtitle{font-style:italic;font-weight:300;color:var(--text-secondary);font-size:1.25rem;margin-top:.35rem}.recipe-stats{display:flex;gap:1rem;margin-top:1.25rem;flex-wrap:wrap}.recipe-stats .stat{display:flex;flex-direction:column;align-items:center;background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius);padding:.75rem 1.5rem;box-shadow:var(--shadow-sm);font-family:Inter,system-ui,sans-serif}.recipe-stats .stat-label{font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.recipe-stats .stat-value{font-size:1.125rem;font-weight:600;color:var(--brown-dark)}.recipe-body{display:grid;grid-template-columns:1fr 2fr;grid-gap:2.5rem;gap:2.5rem;margin-top:2rem}.ingredients-card{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius);padding:1.75rem;align-self:start;position:-webkit-sticky;position:sticky;top:calc(var(--header-height) + 1rem);box-shadow:var(--shadow-sm)}@media (max-width:1023px){.recipe-body{grid-template-columns:1fr}.ingredients-card{position:static}}.ingredients-card h2{font-family:Inter,system-ui,sans-serif;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:1rem}.ingredients-list{list-style:none}.ingredients-list li{padding:.6rem 0;border-bottom:1px solid var(--border-light);font-size:1rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.ingredients-list li:last-child{border-bottom:none}.ingredient-name{font-weight:600;color:var(--text-primary)}a.ingredient-link{color:var(--brown);text-decoration:none;border-bottom:1px dotted var(--brown);transition:color .15s,border-color .15s}a.ingredient-link:hover{color:var(--orange);border-bottom-color:var(--orange)}.ingredient-amount{font-family:Inter,system-ui,sans-serif;color:var(--text-muted);font-size:.875rem;white-space:nowrap;flex-shrink:0}.ingredient-notes{font-size:.875rem;color:var(--green-dark);font-style:italic}.steps-section h2{font-family:Inter,system-ui,sans-serif;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:1.25rem}.step{display:flex;gap:1rem;margin-bottom:1.75rem}.step-number{flex-shrink:0;width:32px;height:32px;background:var(--orange);color:white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Inter,system-ui,sans-serif;font-size:.875rem;font-weight:600}.step-content{font-size:1.125rem;line-height:1.7;padding-top:.2rem}.step-duration{font-family:Inter,system-ui,sans-serif;font-size:.8125rem;color:var(--green-dark);margin-top:.25rem}.dietary-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.dietary-tag{font-family:Inter,system-ui,sans-serif;font-size:.75rem;font-weight:500;background:rgba(123,182,98,.15);color:var(--green-dark);padding:.25rem .75rem;border-radius:999px}.search-form{max-width:600px;margin:0 auto 2rem;display:flex;flex-wrap:wrap;gap:.5rem}.search-form .search-input{min-width:0}@media (max-width:640px){.search-form{flex-direction:column}.search-form .btn-primary,.search-form .search-input{width:100%}.search-form .search-filter-label{justify-content:center}}.search-input{flex:1 1;padding:.875rem 1.25rem;border:1px solid var(--border);border-radius:var(--radius);font-family:Inter,system-ui,sans-serif;font-size:1rem;background:var(--elevated);color:var(--text-primary);box-shadow:var(--shadow-md);transition:border-color .2s ease,box-shadow .2s ease}.search-input:focus{border-color:var(--orange);box-shadow:var(--shadow-md),0 0 0 3px rgba(255,151,0,.15);outline:none}.search-input::placeholder{color:var(--text-muted)}.btn-primary{padding:.875rem 1.75rem;background:var(--orange);color:white;border:none;border-radius:var(--radius);cursor:pointer;font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:.9375rem;transition:background .2s ease}.btn-primary:hover{background:var(--orange-dark)}.search-results-info{text-align:center;color:var(--text-muted);font-family:Inter,system-ui,sans-serif;font-size:.875rem;margin-bottom:1.5rem}.search-section-heading{font-family:Playfair Display,Georgia,serif;font-size:1.25rem;font-weight:400;color:var(--brown-dark);margin-bottom:1rem}.search-filter-label{display:flex;align-items:center;gap:.375rem;font-family:Inter,system-ui,sans-serif;font-size:.875rem;color:var(--text-secondary);white-space:nowrap;cursor:pointer}.search-filter-label input[type=checkbox]{accent-color:var(--orange);width:1rem;height:1rem}.search-empty{text-align:center;color:var(--text-muted);font-style:italic;margin-top:3rem;font-size:1.125rem}.btn-secondary{padding:.5rem 1rem;background:var(--elevated);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-family:Inter,system-ui,sans-serif;font-weight:500;font-size:.875rem;transition:background .2s ease,border-color .2s ease;text-decoration:none}.btn-secondary:hover{background:var(--border-light);border-color:var(--orange);color:var(--text-primary)}.hero-image-container{position:relative;width:100%;border-radius:var(--radius);overflow:hidden;background:linear-gradient(135deg,var(--card-bg) 0,var(--border-light) 100%);margin-bottom:1.5rem}.hero-image-container.type-hero{aspect-ratio:16/9;max-height:400px}.hero-image-container.recipe-hero{aspect-ratio:16/10;max-height:480px}.hero-image-container img{width:100%;height:100%;object-fit:cover;display:block}.image-attribution{position:absolute;bottom:0;right:0;padding:.25rem .5rem;font-family:Inter,system-ui,sans-serif;font-size:var(--fs-xs);color:rgba(255,255,255,.85);background:rgba(0,0,0,.45);border-radius:var(--radius-sm) 0 0 0;line-height:1.4}.image-attribution a{color:rgba(255,255,255,.95);text-decoration:underline;-webkit-text-decoration-color:rgba(255,255,255,.4);text-decoration-color:rgba(255,255,255,.4)}.image-attribution a:hover{color:#fff;-webkit-text-decoration-color:#fff;text-decoration-color:#fff}.image-attribution .image-license{opacity:.75}.hero-image-placeholder{height:100%;display:flex;align-items:center;justify-content:center;font-size:4rem;color:var(--border)}.card-image-container,.hero-image-placeholder{width:100%;background:linear-gradient(135deg,var(--card-bg) 0,var(--border-light) 100%)}.card-image-container{position:relative;aspect-ratio:4/3;border-radius:var(--radius) var(--radius) 0 0;overflow:hidden}.card-image-container img{width:100%;height:100%;object-fit:cover;display:block}.card-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:var(--border)}.variant-card.has-image{padding:0}.variant-card.has-image .variant-card-body{padding:1rem 1.5rem 1.5rem}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:2rem;font-family:Inter,system-ui,sans-serif;font-size:.875rem}.pagination-info,.pagination-info-btn{color:var(--text-muted)}.pagination-info-btn{background:none;border:none;cursor:pointer;font:inherit;padding:.25rem .5rem;border-radius:4px;transition:background .15s}.pagination-info-btn:hover{background:var(--bg-card,rgba(0,0,0,.05));text-decoration:underline}.pagination-input-form{display:flex;align-items:center;gap:.25rem}.pagination-input{width:3.5rem;padding:.2rem .4rem;text-align:center;font:inherit;border:1px solid var(--border-light,#ccc);border-radius:4px;background:var(--bg-main,#fff);color:var(--text-primary);-moz-appearance:textfield}.pagination-input::-webkit-inner-spin-button,.pagination-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cuisines-section{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border-light)}.cuisines-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr));grid-gap:.75rem;gap:.75rem}.cuisine-link{display:block;padding:.75rem 1rem;background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-sm);text-decoration:none;color:var(--text-primary);font-family:Inter,system-ui,sans-serif;font-size:.9375rem;font-weight:500;transition:border-color .2s ease,box-shadow .2s ease}.cuisine-link:hover{border-color:var(--orange);box-shadow:var(--shadow-sm);color:var(--text-primary)}.recipe-count-badge{font-family:Inter,system-ui,sans-serif;font-size:.6875rem;font-weight:500;color:var(--text-muted);background:var(--elevated);padding:.15rem .5rem;border-radius:999px;white-space:nowrap}.child-cuisines{display:flex;flex-wrap:wrap;gap:.5rem}.taxonomy-page{max-width:var(--narrow-width)}.taxonomy-subnav{display:flex;gap:0;margin-bottom:2.5rem;border-bottom:2px solid var(--border-light)}.taxonomy-subnav a{font-family:Inter,system-ui,sans-serif;font-size:.9375rem;font-weight:500;padding:.75rem 1.5rem;text-decoration:none;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s ease,border-color .15s ease}.taxonomy-subnav a:hover{color:var(--brown-dark)}.taxonomy-subnav a.active{color:var(--brown-dark);border-bottom-color:var(--orange);font-weight:600}.taxonomy-section{margin-bottom:3rem}.taxonomy-section h2{font-family:Playfair Display,Georgia,serif;font-size:var(--fs-xl);font-weight:400;color:var(--brown-dark);margin-bottom:1rem}.taxonomy-section p{margin-bottom:1rem;line-height:1.7}.taxonomy-list{list-style:none;margin:1rem 0}.taxonomy-list li{padding:.5rem 0 .5rem 1.5rem;position:relative}.taxonomy-list li:before{content:"";position:absolute;left:0;top:1rem;width:8px;height:8px;background:var(--orange);border-radius:50%}.rci-breakdown{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius);padding:2rem;margin:1.5rem 0;box-shadow:var(--shadow-sm)}.rci-example{font-family:JetBrains Mono,Courier New,monospace;font-size:clamp(1.25rem,1rem + 1.5vw,2rem);font-weight:500;text-align:center;margin-bottom:1.5rem;letter-spacing:.02em}.rci-dot{color:var(--text-muted);margin:0 .1rem}.rci-domain{color:#d97706}.rci-family{color:#059669}.rci-type{color:#2563eb}.rci-variant{color:#9333ea}.rci-labels{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(120px,100%),1fr));grid-gap:1rem;gap:1rem;text-align:center;font-family:Inter,system-ui,sans-serif;font-size:var(--fs-xs)}.rci-labels div{display:flex;flex-direction:column;gap:.25rem}.rci-labels strong{font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em}.rci-labels span{color:var(--text-secondary)}.taxonomy-domains-list{display:flex;flex-direction:column;gap:2rem}.taxonomy-domain-entry h3{font-family:Playfair Display,Georgia,serif;font-size:1.25rem;font-weight:400;color:var(--brown-dark);display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.taxonomy-anchor{color:inherit;text-decoration:none}.taxonomy-anchor:hover{color:var(--orange)}.taxonomy-code{font-family:JetBrains Mono,Courier New,monospace;font-size:.75rem;font-weight:500;color:var(--rci-gold);background:rgba(184,134,11,.1);padding:.2rem .5rem;border-radius:var(--radius-sm)}.taxonomy-domain-entry>p{font-size:1rem;color:var(--text-secondary);margin-bottom:.75rem}.taxonomy-table{width:100%;border-collapse:collapse;font-family:Inter,system-ui,sans-serif;font-size:.875rem}.taxonomy-table th{text-align:left;padding:.5rem .75rem;border-bottom:2px solid var(--border);font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.taxonomy-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border-light)}.taxonomy-cuisine-tree{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));grid-gap:1.5rem;gap:1.5rem}.taxonomy-cuisine-region h3{font-family:Playfair Display,Georgia,serif;font-size:1.125rem;font-weight:400;color:var(--brown-dark);margin-bottom:.5rem}.taxonomy-cuisine-children{list-style:none;font-family:Inter,system-ui,sans-serif;font-size:.875rem}.taxonomy-cuisine-children li{padding:.25rem 0}.taxonomy-cuisine-children ul{list-style:none;margin-left:1rem;color:var(--text-secondary)}.taxonomy-cuisine-children ul li{padding:.15rem 0;font-size:.8125rem}@media (max-width:768px){.cuisine-detail-grid{grid-template-columns:1fr!important}}.features-section{margin-top:2.5rem}.contribute-page{max-width:720px;margin:0 auto;padding:2rem 1rem}.contribute-page h1{font-family:Playfair Display,Georgia,serif;font-size:2rem;color:var(--brown-dark);margin-bottom:1.5rem}.auth-prompt{background:var(--elevated);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;text-align:center}.auth-prompt p{font-family:Inter,system-ui,sans-serif;font-size:1.0625rem;color:var(--text-secondary);margin-bottom:1.5rem}.auth-buttons{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.auth-buttons .btn-primary,.auth-buttons .btn-secondary{display:inline-block;padding:.75rem 1.5rem;border-radius:var(--radius);font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:.9375rem;text-decoration:none;cursor:pointer;transition:background .2s ease}.auth-buttons .btn-secondary{background:var(--elevated);color:var(--brown-dark);border:1px solid var(--border)}.report-image-btn{position:absolute;top:.75rem;right:.75rem;z-index:10;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:rgba(0,0,0,.5);color:#fff;border:none;border-radius:50%;cursor:pointer;opacity:0;transition:opacity .2s ease,background .2s ease}.hero-image-container:hover .report-image-btn,.report-image-btn:focus-visible{opacity:1}.report-image-btn:hover{background:rgba(180,40,40,.8)}.report-image-btn:focus-visible{outline:2px solid var(--orange);outline-offset:2px;opacity:1}.report-modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.report-modal{background:var(--elevated);border-radius:var(--radius);box-shadow:0 20px 60px rgba(0,0,0,.3);width:90%;max-width:480px;max-height:90vh;overflow-y:auto}.report-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-light)}.report-modal-header h3{font-family:var(--font-heading);font-size:1.25rem;color:var(--text-primary);margin:0}.report-modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1}.report-modal-close:hover{color:var(--text-primary)}.report-modal-body{padding:1.5rem}.report-modal-body label{display:block;font-family:var(--font-ui);font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.report-modal-body select,.report-modal-body textarea{width:100%;padding:.625rem .75rem;font-family:var(--font-ui);font-size:.875rem;border:1px solid var(--border);border-radius:calc(var(--radius) / 2);background:var(--bg);color:var(--text-primary);margin-bottom:1rem}.report-modal-body select:focus,.report-modal-body textarea:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,151,0,.15)}.report-modal-body textarea{resize:vertical;min-height:80px}.report-char-count{font-family:var(--font-ui);font-size:.75rem;color:var(--text-secondary);text-align:right;margin-top:-.75rem;margin-bottom:.5rem}.report-error{background:#FEF2F2;color:#B91C1C;padding:.75rem 1rem;border-radius:calc(var(--radius) / 2);font-family:var(--font-ui);font-size:.875rem;margin-top:.5rem}.report-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-light)}.report-modal-footer .btn-primary,.report-modal-footer .btn-secondary{padding:.5rem 1.25rem;font-family:var(--font-ui);font-size:.875rem;font-weight:500;border-radius:calc(var(--radius) / 2);cursor:pointer;transition:background .2s ease,opacity .2s ease}.report-modal-footer .btn-primary{background:var(--orange);color:#fff;border:none}.report-modal-footer .btn-primary:hover:not(:disabled){background:var(--orange-dark)}.report-modal-footer .btn-primary:disabled{opacity:.5;cursor:not-allowed}.report-modal-footer .btn-secondary{background:var(--elevated);color:var(--text-primary);border:1px solid var(--border)}.report-modal-footer .btn-secondary:hover:not(:disabled){background:var(--card-bg)}.toast{position:fixed;bottom:2rem;right:2rem;z-index:1100;display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;border-radius:var(--radius);box-shadow:0 8px 24px rgba(0,0,0,.15);font-family:var(--font-ui);font-size:.875rem;max-width:400px;animation:toast-slide-in .3s ease forwards}.toast-success{background:#F0FDF4;color:#166534;border:1px solid #bbf7d0}.toast-error{background:#FEF2F2;color:#B91C1C;border:1px solid #fecaca}.toast-info{background:#EFF6FF;color:#1E40AF;border:1px solid #bfdbfe}.toast-exit{animation:toast-slide-out .3s ease forwards}.toast-close{background:none;border:none;font-size:1.25rem;color:inherit;cursor:pointer;padding:0;line-height:1;opacity:.6}.toast-close:hover{opacity:1}@keyframes toast-slide-in{0%{transform:translateY(1rem);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toast-slide-out{0%{transform:translateY(0);opacity:1}to{transform:translateY(1rem);opacity:0}}.auth-buttons .btn-secondary:hover{background:var(--border)}.type-rci-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.classification-badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:var(--radius-sm);font-family:Inter,system-ui,sans-serif;font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.classification-badge-original{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}.classification-badge-variant{background:#e3f2fd;color:#1565c0;border:1px solid #90caf9}.classification-badge-disputed{background:#fff3e0;color:#e65100;border:1px solid #ffcc80}.academic-citations-section{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border-light)}.citations-heading{font-family:Playfair Display,serif;font-size:var(--fs-md);font-weight:700;color:var(--text-primary);margin-bottom:1rem}.citations-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:1rem}.citation-card{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius);padding:1rem 1.25rem}.citation-card-body{display:flex;flex-direction:column;gap:.5rem}.citation-text{font-family:"Source Serif 4",serif;font-size:var(--fs-sm);color:var(--text-primary);line-height:1.6;font-style:normal}.citation-relevance{font-family:"Source Serif 4",serif;font-size:var(--fs-xs);color:var(--text-secondary);line-height:1.5;margin-top:.25rem}.citation-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:.25rem}.citation-badge{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:var(--radius-sm);font-family:Inter,system-ui,sans-serif;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.citation-badge-expert{background:#e8f5e9;color:#2e7d32}.citation-badge-community{background:#e3f2fd;color:#1565c0}.citation-badge-ai{background:#fff8e1;color:#f9a825}.citation-badge-unverified{background:#f5f5f5;color:#9e9e9e}.citation-link{font-family:Inter,system-ui,sans-serif;font-size:var(--fs-xs);color:var(--brown);text-decoration:underline;text-underline-offset:2px}.citation-link:hover{color:var(--orange)}.citation-isbn{font-family:JetBrains Mono,monospace;font-size:.7rem;color:var(--text-muted)}.citations-empty{background:var(--card-bg);border:1px dashed var(--border);border-radius:var(--radius);padding:1.5rem;text-align:center}.citations-empty p{font-family:"Source Serif 4",serif;font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:.5rem}.citations-empty .citations-cta{font-size:var(--fs-xs);color:var(--text-muted)}.citations-empty .citations-cta a{color:var(--brown);text-decoration:underline;text-underline-offset:2px}.citations-empty .citations-cta a:hover{color:var(--orange)}.related-recipes-list{padding-left:1.25rem}.related-recipes-list li{margin-bottom:.5rem}.cook-snapshots-section{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border-light)}.cook-snapshots-card{background:var(--card-bg);border:1px solid var(--border-light);border-radius:.75rem;padding:1.5rem}.snapshot-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.btn-i-made-this{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1.25rem;background:var(--orange);color:#fff;border:none;border-radius:.5rem;font-family:Inter,system-ui,sans-serif;font-size:.875rem;font-weight:600;text-decoration:none;cursor:pointer;transition:background .15s ease}.btn-i-made-this:hover{background:#e08800;color:#fff}.snapshot-gallery-empty{text-align:center;padding:1rem 0 .25rem;color:var(--text-muted);font-family:Inter,system-ui,sans-serif;font-size:.9rem}.quality-badge{font-family:Inter,system-ui,sans-serif;font-size:.75rem;font-weight:600;padding:.25rem .625rem;border-radius:1rem;text-transform:uppercase;letter-spacing:.03em}.badge-tested{background:#e8f5e9;color:#2e7d32}.badge-featured{background:#fff3e0;color:#e65100}.notification-bell{margin-left:.5rem}.notification-bell,.notification-bell-button{position:relative;display:flex;align-items:center}.notification-bell-button{background:none;border:none;cursor:pointer;padding:.5rem;color:rgba(255,255,255,.85);border-radius:6px;justify-content:center;transition:color .15s ease,background .15s ease}.notification-bell-button:hover,.notification-bell-button[aria-expanded=true]{color:var(--orange);background:rgba(255,255,255,.08)}.notification-bell-button:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.notification-bell-badge{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 5px;background:var(--orange);color:white;font-family:Inter,system-ui,sans-serif;font-size:.6875rem;font-weight:700;line-height:18px;text-align:center;border-radius:9px;box-shadow:0 0 0 2px var(--brown)}.notification-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:min(360px,calc(100vw - 2rem));max-height:70vh;background:white;color:var(--text-primary,#1a1a1a);border-radius:10px;box-shadow:0 10px 40px rgba(0,0,0,.25);overflow:hidden;z-index:200;display:flex;flex-direction:column}.notification-dropdown-header{padding:.875rem 1rem;border-bottom:1px solid rgba(0,0,0,.08);font-family:Inter,system-ui,sans-serif;font-size:.875rem}.notification-dropdown-empty{padding:1.5rem 1rem;text-align:center;color:#666;font-size:.875rem}.notification-list{list-style:none;margin:0;padding:0;overflow-y:auto}.notification-item{border-bottom:1px solid rgba(0,0,0,.06)}.notification-item:last-child{border-bottom:none}.notification-item.unread{background:#fff8ef}.notification-item a,.notification-item button{display:block;width:100%;padding:.875rem 1rem;background:none;border:none;text-align:left;cursor:pointer;color:inherit;text-decoration:none;font:inherit;transition:background .15s ease}.notification-item a:hover,.notification-item button:hover{background:rgba(0,0,0,.04)}.notification-title{font-family:Inter,system-ui,sans-serif;font-size:.875rem;font-weight:600;margin-bottom:.25rem;color:var(--brown)}.notification-message{font-family:Inter,system-ui,sans-serif;font-size:.8125rem;color:#555;line-height:1.4}@media (max-width:768px){.notification-dropdown{position:fixed;top:4rem;left:.5rem;right:.5rem;width:auto;max-width:none}}.step-indicator{display:flex;gap:.25rem;margin-bottom:2rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.step-tab{flex-shrink:0;padding:.625rem 1rem;background:var(--elevated,#f5f5f5);border:1px solid var(--border,#ddd);border-radius:var(--radius,8px);font-family:Inter,system-ui,sans-serif;font-size:.8125rem;font-weight:500;color:var(--text-muted,#888);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;white-space:nowrap}.step-tab:disabled{opacity:.5;cursor:not-allowed}.step-tab.active{background:var(--orange,#FF9700);color:white;border-color:var(--orange,#FF9700)}.step-tab.completed{background:rgba(123,182,98,.15);color:var(--green-dark,#4a7c3f);border-color:rgba(123,182,98,.3)}.contribute-form{margin-top:1rem}.form-step h2{font-family:Playfair Display,Georgia,serif;font-size:1.5rem;color:var(--brown-dark,#4a3630);margin-bottom:1.25rem}.form-step label{display:block;font-family:Inter,system-ui,sans-serif;font-size:.875rem;font-weight:600;color:var(--text-primary,#1a1a1a);margin-bottom:1rem}.form-step input[type=email],.form-step input[type=number],.form-step input[type=password],.form-step input[type=text],.form-step input[type=url],.form-step select,.form-step textarea{display:block;width:100%;margin-top:.375rem;padding:.75rem 1rem;border:1px solid var(--border,#ddd);border-radius:var(--radius,8px);font-family:Inter,system-ui,sans-serif;font-size:.9375rem;background:var(--elevated,#f9f9f9);color:var(--text-primary,#1a1a1a);transition:border-color .2s ease;box-sizing:border-box}.form-step input:focus,.form-step select:focus,.form-step textarea:focus{border-color:var(--orange,#FF9700);outline:none;box-shadow:0 0 0 3px rgba(255,151,0,.12)}.form-field{margin-bottom:1rem}.field-hint{font-family:Inter,system-ui,sans-serif;font-size:.8125rem;color:var(--text-muted,#888);margin:.25rem 0 .5rem}.form-actions{display:flex;gap:.75rem;margin-top:1.5rem;justify-content:flex-end}.btn-remove{background:none;border:1px solid rgba(200,50,50,.3);color:#c33;border-radius:var(--radius,8px);padding:.375rem .75rem;font-size:1rem;cursor:pointer;flex-shrink:0;transition:background .15s ease}.btn-remove:hover{background:rgba(200,50,50,.08)}.step-row{display:flex;gap:.75rem;align-items:flex-start;margin-bottom:.75rem}.step-row .step-number{flex-shrink:0;width:28px;height:28px;background:var(--orange,#FF9700);color:white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Inter,system-ui,sans-serif;font-size:.8125rem;font-weight:600;margin-top:.5rem}.step-row textarea{flex:1 1;min-width:0;padding:.75rem 1rem;border:1px solid var(--border,#ddd);border-radius:var(--radius,8px);font-family:Inter,system-ui,sans-serif;font-size:.9375rem;background:var(--elevated,#f9f9f9);color:var(--text-primary,#1a1a1a);resize:vertical}.step-row .step-duration{width:70px;flex-shrink:0}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1rem;gap:1rem}.references-section h3{font-family:Playfair Display,Georgia,serif;font-size:1.125rem;margin-bottom:.75rem}.reference-row{display:flex;gap:.5rem;align-items:flex-start;margin-bottom:.75rem;flex-wrap:wrap}.reference-row select{width:120px;flex-shrink:0}.reference-row input[type=text]{flex:2 1;min-width:120px}.reference-row input[type=url]{flex:1 1;min-width:120px}.form-step fieldset{border:1px solid var(--border,#ddd);border-radius:var(--radius,8px);padding:1rem;margin:1rem 0}.form-step fieldset legend{font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:.875rem;padding:0 .5rem}.checkbox-label{display:inline-flex!important;align-items:center;gap:.5rem;margin-right:1rem;margin-bottom:.5rem;font-weight:400!important;cursor:pointer}.checkbox-label input[type=checkbox]{width:auto;margin:0}.review-loading{text-align:center;padding:2rem}.review-loading p:first-child{font-family:Inter,system-ui,sans-serif;font-size:1.0625rem;font-weight:600;color:var(--brown-dark,#4a3630)}.review-hint{font-size:.875rem;color:var(--text-muted,#888);margin-top:.5rem}.review-blocked{background:#fef2f2;border:1px solid #fca5a5;border-radius:var(--radius,8px);padding:1.5rem}.review-blocked h3{color:#dc2626;margin-bottom:.75rem}.review-blocked ul{padding-left:1.25rem;margin-bottom:1rem}.review-error{background:#fef2f2;border:1px solid #fca5a5;border-radius:var(--radius,8px);padding:1.5rem;text-align:center}.review-passed{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius,8px);padding:1.5rem}.review-passed h3{color:#166534;margin-bottom:.75rem}.variant-note{background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius,8px);padding:.75rem 1rem;font-size:.875rem;margin:.75rem 0}.btn-publish{font-size:1rem;padding:.875rem 2rem}.success-message{text-align:center;padding:3rem 1rem}.success-message h1{color:#166534;margin-bottom:.75rem}.success-message p{font-family:Inter,system-ui,sans-serif;font-size:1.0625rem;color:var(--text-secondary,#555);margin-bottom:1.5rem}.success-message .btn-primary,.success-message .btn-secondary{margin:0 .375rem}.cook-snapshot-page{max-width:640px;margin:0 auto;padding:2rem 1rem}.cook-snapshot-page h1{font-family:Playfair Display,Georgia,serif;font-size:2rem;color:var(--brown-dark,#4a3630);margin-bottom:.5rem}.page-subtitle{font-family:Inter,system-ui,sans-serif;font-size:1rem;color:var(--text-secondary,#555);margin-bottom:1.5rem}.snapshot-form label{display:block;font-family:Inter,system-ui,sans-serif;font-size:.875rem;font-weight:600;color:var(--text-primary,#1a1a1a);margin-bottom:1rem}.snapshot-form input[type=file],.snapshot-form textarea{display:block;width:100%;margin-top:.375rem;padding:.75rem 1rem;border:1px solid var(--border,#ddd);border-radius:var(--radius,8px);font-family:Inter,system-ui,sans-serif;font-size:.9375rem;background:var(--elevated,#f9f9f9);box-sizing:border-box}.rating-group{margin-bottom:1rem}.rating-group label{margin-bottom:.25rem}.star-rating{display:flex;gap:.25rem}.star-rating .star{background:none;border:none;cursor:pointer;font-size:1.75rem;color:#ccc;padding:0;line-height:1;transition:color .15s ease,transform .15s ease}.star-rating .star.filled{color:var(--orange,#FF9700)}.star-rating .star:hover{transform:scale(1.15)}.community-page{max-width:900px;margin:0 auto;padding:2rem 1rem}.community-page h1{font-size:2rem;margin-bottom:2rem}.community-page h1,.community-page h2{font-family:Playfair Display,Georgia,serif;color:var(--brown-dark,#4a3630)}.community-page h2{font-size:1.375rem;margin-bottom:1rem}.active-challenges{margin-bottom:2.5rem}.challenge-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:1rem}.challenge-card{background:var(--elevated,#f9f9f9);border:1px solid var(--border,#ddd);border-radius:var(--radius,8px);padding:1.25rem}.challenge-card h3{font-size:1rem;font-weight:600;color:var(--brown-dark,#4a3630);margin-bottom:.5rem}.challenge-card h3,.challenge-card p{font-family:Inter,system-ui,sans-serif}.challenge-card p{font-size:.875rem;color:var(--text-secondary,#555);margin-bottom:.75rem;line-height:1.5}.challenge-meta{display:flex;gap:1rem;font-family:Inter,system-ui,sans-serif;font-size:.8125rem;color:var(--text-muted,#888)}.leaderboard{margin-bottom:2.5rem}.leaderboard-table{width:100%;border-collapse:collapse;font-family:Inter,system-ui,sans-serif;font-size:.9375rem}.leaderboard-table th{text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#888);padding:.75rem 1rem;border-bottom:2px solid var(--border,#ddd)}.leaderboard-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border-light,#eee)}.leaderboard-table .rank{width:50px;font-weight:700;color:var(--orange,#FF9700)}.leaderboard-table .reputation{font-weight:600;font-family:JetBrains Mono,monospace}.leaderboard-table a{color:var(--brown,#61463C);text-decoration:none;font-weight:500}.leaderboard-table a:hover{text-decoration:underline}.recent-badges{margin-bottom:2rem}.badge-feed{list-style:none;padding:0}.badge-feed li{padding:.75rem 0;border-bottom:1px solid var(--border-light,#eee);font-family:Inter,system-ui,sans-serif;font-size:.9375rem;color:var(--text-secondary,#555)}.badge-feed a{color:var(--brown,#61463C);text-decoration:none;font-weight:500}.badge-feed a:hover{text-decoration:underline}.profile-page{max-width:900px;margin:0 auto;padding:2rem 1rem}.profile-header{display:flex;gap:1.5rem;align-items:flex-start;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border,#ddd)}.profile-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;flex-shrink:0}.profile-info h1{font-family:Playfair Display,Georgia,serif;font-size:1.75rem;color:var(--brown-dark,#4a3630);margin-bottom:.375rem}.profile-bio{font-size:.9375rem;color:var(--text-secondary,#555);line-height:1.5;margin-bottom:.75rem}.profile-bio,.profile-stats{font-family:Inter,system-ui,sans-serif}.profile-stats{display:flex;gap:1.25rem;font-size:.875rem}.reputation-score{font-weight:700;color:var(--orange,#FF9700)}.contribution-count{color:var(--text-muted,#888)}.profile-body{display:grid;grid-template-columns:1fr 280px;grid-gap:2rem;gap:2rem}.profile-main h2{font-family:Playfair Display,Georgia,serif;font-size:1.25rem;color:var(--brown-dark,#4a3630);margin-bottom:1rem}.badges-section{margin-bottom:2rem}.badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:.75rem;gap:.75rem}.badge-card{background:var(--elevated,#f9f9f9);border:1px solid var(--border,#ddd);border-radius:var(--radius,8px);padding:1rem;display:flex;flex-direction:column;gap:.25rem}.badge-card.badge-bronze{border-left:3px solid #cd7f32}.badge-card.badge-silver{border-left:3px solid #c0c0c0}.badge-card.badge-gold{border-left:3px solid #ffd700}.badge-card.badge-platinum{border-left:3px solid #e5e4e2}.badge-name{font-size:.9375rem;font-weight:600;color:var(--brown-dark,#4a3630)}.badge-description,.badge-name{font-family:Inter,system-ui,sans-serif}.badge-description{font-size:.8125rem;color:var(--text-muted,#888);line-height:1.4}.contributions-section{margin-bottom:2rem}.contribution-list{list-style:none;padding:0}.contribution-list li{border-bottom:1px solid var(--border-light,#eee)}.contribution-list a{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;text-decoration:none;color:var(--text-primary,#1a1a1a);transition:color .15s ease}.contribution-list a:hover{color:var(--orange,#FF9700)}.variant-rci{font-family:JetBrains Mono,monospace;font-weight:500;font-size:.8125rem;color:#B8860B}.profile-sidebar{position:-webkit-sticky;position:sticky;top:5rem;align-self:start}.privilege-progress{background:var(--elevated,#f9f9f9);border:1px solid var(--border,#ddd);border-radius:var(--radius,8px);padding:1.25rem}.privilege-progress h3{font-family:Inter,system-ui,sans-serif;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#888);margin-bottom:1rem}.tier-item{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-light,#eee)}.tier-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.tier-item.locked{opacity:.55}.tier-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.tier-name{font-family:Inter,system-ui,sans-serif;font-size:.9375rem;font-weight:600;color:var(--brown-dark,#4a3630)}.tier-threshold{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text-muted,#888)}.tier-status{font-size:.6875rem;font-weight:600;text-transform:uppercase;background:rgba(123,182,98,.15);color:var(--green-dark,#4a7c3f);padding:.125rem .5rem;border-radius:999px;margin-left:auto}.tier-description,.tier-status{font-family:Inter,system-ui,sans-serif}.tier-description{font-size:.8125rem;color:var(--text-muted,#888);line-height:1.4;margin-bottom:.5rem}.tier-progress{display:flex;align-items:center;gap:.75rem}.progress-bar{flex:1 1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.progress-fill{height:100%;border-radius:4px;background:var(--orange,#FF9700);transition:width .3s ease}.tier-item.unlocked .tier-name{color:var(--green-dark,#4a7c3f)}.tier-item.current .progress-fill{background:var(--orange,#FF9700)}.progress-label{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text-muted,#888);white-space:nowrap}.auth-page{max-width:440px;margin:0 auto;padding:2rem 1rem}.auth-page h1{font-family:Playfair Display,Georgia,serif;font-size:1.75rem;color:var(--brown-dark,#4a3630);text-align:center;margin-bottom:.5rem}.auth-subtitle{font-size:.9375rem;color:var(--text-muted,#888);text-align:center;margin-bottom:1.5rem}.auth-error,.auth-subtitle{font-family:Inter,system-ui,sans-serif}.auth-error{background:#fef2f2;border:1px solid #fca5a5;border-radius:var(--radius,8px);padding:.75rem 1rem;font-size:.875rem;color:#dc2626;margin-bottom:1rem}.auth-form{background:var(--elevated,#f9f9f9);border:1px solid var(--border,#ddd);border-radius:var(--radius,8px);padding:1.5rem}.auth-form label{font-size:.875rem;font-weight:600;margin-bottom:1rem}.auth-form input,.auth-form label{display:block;font-family:Inter,system-ui,sans-serif}.auth-form input{width:100%;margin-top:.375rem;padding:.75rem 1rem;border:1px solid var(--border,#ddd);border-radius:var(--radius,8px);font-size:.9375rem;background:white;box-sizing:border-box}.auth-form input:focus{border-color:var(--orange,#FF9700);outline:none;box-shadow:0 0 0 3px rgba(255,151,0,.12)}.auth-form .btn-primary{width:100%;margin-top:.5rem}.auth-switch{text-align:center;margin-top:1rem;font-family:Inter,system-ui,sans-serif;font-size:.875rem;color:var(--text-muted,#888)}.auth-switch a{color:var(--orange,#FF9700);font-weight:600}.suggestions-page{max-width:800px;margin:0 auto;padding:2rem 1rem}.suggestion-card{background:var(--elevated,#f9f9f9);border:1px solid var(--border,#ddd);border-radius:var(--radius,8px);padding:1.25rem;margin-bottom:1rem}.suggestion-diff{font-family:JetBrains Mono,monospace;font-size:.8125rem;background:#1e1e1e;color:#d4d4d4;padding:1rem;border-radius:var(--radius,8px);overflow-x:auto;margin:.75rem 0}.admin-pending-types{max-width:900px;margin:0 auto;padding:2rem 1rem}.enrichment-cards{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0}.enrichment-card{background:white;border:1px solid var(--border,#ddd);border-radius:var(--radius,8px);padding:1rem;display:flex;gap:1rem;align-items:flex-start}.enrichment-card.accepted{border-color:rgba(123,182,98,.5);background:#f0fdf4}.enrichment-toggle{flex-shrink:0;margin-top:.25rem}.enrichment-body{flex:1 1;min-width:0}.enrichment-field{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#888);margin-bottom:.375rem}.enrichment-field,.enrichment-text{font-family:Inter,system-ui,sans-serif}.enrichment-text{font-size:.875rem;color:var(--text-primary,#1a1a1a);line-height:1.5}.enrichment-rationale{font-size:.8125rem;color:var(--text-muted,#888);margin-top:.375rem;font-style:italic}@media (max-width:768px){.contribute-page{padding:1.25rem .75rem}.contribute-page h1{font-size:1.5rem}.step-indicator{gap:.125rem;margin-bottom:1.25rem;padding-bottom:.5rem}.step-tab{padding:.5rem .625rem;font-size:.6875rem}.form-step h2{font-size:1.25rem}.step-row{flex-wrap:wrap}.step-row textarea{width:100%;order:2}.step-row .step-duration{order:3;width:80px}.step-row .btn-remove{order:4}.detail-grid{grid-template-columns:1fr 1fr;gap:.75rem}.reference-row{flex-direction:column}.reference-row input[type=text],.reference-row input[type=url],.reference-row select{width:100%;flex:none}.form-actions{flex-direction:column-reverse}.form-actions .btn-primary,.form-actions .btn-secondary{width:100%;text-align:center}.checkbox-label{display:flex!important;width:100%;margin-right:0}.enrichment-card{flex-direction:column;gap:.5rem}.cook-snapshot-page{padding:1.25rem .75rem}.cook-snapshot-page h1,.star-rating .star{font-size:1.5rem}.community-page{padding:1.25rem .75rem}.community-page h1{font-size:1.5rem;margin-bottom:1.25rem}.challenge-cards{grid-template-columns:1fr}.leaderboard-table{font-size:.8125rem}.leaderboard-table td,.leaderboard-table th{padding:.625rem .5rem}.profile-page{padding:1.25rem .75rem}.profile-header{flex-direction:column;align-items:center;text-align:center}.profile-stats{justify-content:center}.profile-body{grid-template-columns:1fr}.profile-sidebar{position:static;order:-1;margin-bottom:1.5rem}.badges-grid{grid-template-columns:1fr}.contribution-list a{flex-direction:column;align-items:flex-start;gap:.25rem}.auth-page{padding:1.25rem .75rem}.auth-form{padding:1rem}.suggestions-page{padding:1.25rem .75rem}.suggestion-diff{font-size:.75rem}.admin-pending-types{padding:1.25rem .75rem}}