@charset "utf-8";

.chef-explorer-wrap { --ce-sage: #243447; --ce-sage-dk: #31465F; --ce-sage-lt: #edf7ee; --ce-sage-mid: #b8d4ba; --ce-cream: #faf8f4; --ce-warm: #FDFDFC; --ce-peach: #E7C9C9; --ce-peach-lt: #fdf0e6; --ce-lav: #c5b8e8; --ce-lav-lt: #f0ecfb; --ce-sky: #50657D; --ce-sky-lt: #e4f5fb; --ce-yel: #f5c842; --ce-yel-lt: #fef9dc; --ce-char: #2a2520; --ce-brown: #5B6470; --ce-muted: #8a7e74; --ce-border: rgba(36,52,71,0.18); --ce-shadow: 0 4px 28px rgba(74,122,78,0.09); --ce-shadow-h: 0 16px 48px rgba(74,122,78,0.15); --ce-r: 18px; --ce-r-lg: 26px; --ce-serif: 'Playfair Display', Georgia, serif; --ce-sans: 'DM Sans', system-ui, sans-serif; --ce-tr: all 0.28s cubic-bezier(0.25,0.46,0.45,0.94); font-family: var(--ce-sans); color: var(--ce-char); -webkit-font-smoothing: antialiased; }

.chef-explorer-section { background: var(--ce-cream); padding: var(--section-gap) 0; }

.chef-explorer-section:nth-child(2n) { background: rgb(255, 255, 255); }

.chef-explorer-container { max-width: 1160px; margin: 0px auto; padding: 0px 32px; }

.ce-hero { text-align: center; margin-bottom: 48px; }

.ce-badge { display: inline-flex; align-items: center; gap: 7px; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ce-sage-dk); background: var(--ce-sage-lt); border: 1px solid var(--ce-border); border-radius: 50px; padding: 6px 16px; margin-bottom: 18px; }

.ce-title { font-family: var(--ce-serif); font-size: clamp(2rem, 4vw, 3rem); font-weight: 600; color: var(--ce-sage-dk); line-height: 1.15; margin: 0px 0px 14px; }

.ce-subtitle { font-size: 1rem; font-weight: 300; color: var(--ce-muted); max-width: 540px; margin: 0px auto; line-height: 1.72; }

.ce-search-wrap { display: flex; align-items: center; gap: 10px; background: rgb(255, 255, 255); border: 2px solid var(--ce-border); border-radius: 60px; padding: 8px 8px 8px 20px; box-shadow: var(--ce-shadow); max-width: 680px; margin: 32px auto 24px; transition: var(--ce-tr); }

.ce-search-wrap:focus-within { border-color: var(--ce-sage); box-shadow: 0 0 0 4px rgba(36,52,71,0.12), var(--ce-shadow); }

.ce-search-icon { font-size: 1.2rem; flex-shrink: 0; }

.ce-search-input { flex: 1 1 0%; border-width: medium; border-style: none; border-color: currentcolor; border-image: initial; outline: none; font-family: var(--ce-sans); font-size: 1rem; font-weight: 400; color: var(--ce-char); background: transparent; }

.ce-search-input::placeholder { color: var(--ce-muted); }

.ce-search-btn { font-family: var(--ce-sans); font-size: 0.88rem; font-weight: 600; background: var(--ce-sage-dk); color: rgb(255, 255, 255); border-width: medium; border-style: none; border-color: currentcolor; border-image: initial; border-radius: 50px; padding: 11px 24px; cursor: pointer; transition: var(--ce-tr); white-space: nowrap; }

.ce-search-btn:hover { background: rgb(42, 77, 46); transform: scale(1.03); }

.ce-chips { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 40px; }

.ce-chip { font-family: var(--ce-sans); font-size: 0.8rem; font-weight: 500; padding: 7px 16px; border-radius: 50px; cursor: pointer; border: 1.5px solid var(--ce-border); background: rgb(255, 255, 255); color: var(--ce-muted); transition: var(--ce-tr); user-select: none; }

.ce-chip:hover { border-color: var(--ce-sage); color: var(--ce-sage-dk); background: var(--ce-sage-lt); }

.ce-chip.ce-chip-active { background: var(--ce-sage-dk); color: rgb(255, 255, 255); border-color: var(--ce-sage-dk); }

.ce-mini-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 12px; margin-bottom: 36px; }

.ce-mini-card { background: rgb(255, 255, 255); border: 1.5px solid var(--ce-border); border-radius: var(--ce-r); padding: 16px 10px; text-align: center; cursor: pointer; transition: var(--ce-tr); }

.ce-mini-card:hover { transform: translateY(-3px); box-shadow: var(--ce-shadow-h); border-color: var(--ce-sage-mid); }

.ce-mini-card.ce-mini-active { border-color: var(--ce-sage-dk); background: var(--ce-sage-lt); }

.ce-mini-emoji { font-size: 1.8rem; margin-bottom: 6px; }

.ce-mini-name { font-size: 0.78rem; font-weight: 600; color: var(--ce-sage-dk); }

.ce-not-found { text-align: center; padding: 40px 20px; display: none; font-size: 0.95rem; color: var(--ce-muted); }

.ce-not-found.ce-visible { display: block; }

.ce-profile { display: none; }

.ce-profile.ce-visible { display: block; }

.ce-profile-hero { background: linear-gradient(135deg, var(--ce-sage-lt) 0%, var(--ce-warm) 100%); border-radius: var(--ce-r-lg); padding: 36px 40px; display: flex; align-items: center; gap: 28px; margin-bottom: 24px; position: relative; overflow: hidden; }

.ce-profile-hero::before { content: ""; position: absolute; top: -40px; right: -40px; width: 200px; height: 200px; border-radius: 50%; background: rgba(36, 52, 71, 0.08); pointer-events: none; }

.ce-profile-emoji { font-size: 5rem; line-height: 1; flex-shrink: 0; }

.ce-profile-info { }

.ce-profile-cat { font-size: 0.68rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ce-sage); margin-bottom: 4px; }

.ce-profile-name { font-family: var(--ce-serif); font-size: clamp(1.8rem, 3.5vw, 2.6rem); font-weight: 600; color: var(--ce-sage-dk); line-height: 1.1; margin-bottom: 10px; }

.ce-profile-tags { display: flex; flex-wrap: wrap; gap: 6px; }

.ce-profile-tag { font-size: 0.72rem; font-weight: 500; padding: 4px 12px; border-radius: 50px; background: rgba(255, 255, 255, 0.75); color: var(--ce-sage-dk); border: 1px solid var(--ce-border); }

.ce-cards-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 24px; }

.ce-card { background: rgb(255, 255, 255); border: 1px solid var(--ce-border); border-radius: var(--ce-r); padding: 22px 20px; box-shadow: var(--ce-shadow); transition: var(--ce-tr); position: relative; overflow: hidden; }

.ce-card::after { content: ""; position: absolute; top: 0px; left: 0px; right: 0px; height: 3px; border-radius: var(--ce-r) var(--ce-r) 0 0; opacity: 0; transition: opacity 0.25s; }

.ce-card:hover { transform: translateY(-3px); box-shadow: var(--ce-shadow-h); }

.ce-card:hover::after { opacity: 1; }

.ce-card.ce-card-origin::after { background: rgb(255, 255, 255); }

.ce-card.ce-card-mission::after { background: rgb(255, 255, 255); }

.ce-card.ce-card-science::after { background: rgb(255, 255, 255); }

.ce-card.ce-card-sensory::after { background: rgb(255, 255, 255); }

.ce-card.ce-card-mood::after { background: rgb(255, 255, 255); }

.ce-card.ce-card-snapshot::after { background: rgb(255, 255, 255); }

.ce-card-label { font-size: 0.65rem; font-weight: 600; letter-spacing: 0.11em; text-transform: uppercase; color: var(--ce-sage); margin-bottom: 10px; display: flex; align-items: center; gap: 6px; }

.ce-card-title { font-family: var(--ce-serif); font-size: 1.05rem; font-weight: 600; color: var(--ce-sage-dk); margin-bottom: 8px; }

.ce-card-text { font-size: 0.85rem; color: var(--ce-brown); line-height: 1.65; }

.ce-card-highlight { display: inline-block; margin-top: 10px; font-size: 0.78rem; font-weight: 500; color: var(--ce-sage-dk); background: var(--ce-sage-lt); padding: 4px 12px; border-radius: 50px; }

.ce-snapshot-row { display: flex; justify-content: space-between; align-items: center; padding: 8px 0px; border-bottom: 1px solid var(--ce-border); font-size: 0.83rem; }

.ce-snapshot-row:last-child { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }

.ce-snapshot-key { color: var(--ce-muted); font-weight: 400; }

.ce-snapshot-val { color: var(--ce-char); font-weight: 500; text-align: right; max-width: 55%; }

.ce-map-panel { background: rgb(255, 255, 255); border: 1px solid var(--ce-border); border-radius: var(--ce-r-lg); padding: 24px; margin-bottom: 24px; box-shadow: var(--ce-shadow); }

.ce-map-label { font-size: 0.68rem; font-weight: 600; letter-spacing: 0.11em; text-transform: uppercase; color: var(--ce-sage); margin-bottom: 16px; }

.ce-map-regions { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }

.ce-map-region { border-radius: 14px; padding: 14px 10px; text-align: center; border: 2px solid var(--ce-border); background: var(--ce-cream); transition: var(--ce-tr); cursor: default; }

.ce-map-region.ce-map-active { border-color: var(--ce-sage-dk); background: var(--ce-sage-lt); transform: scale(1.04); box-shadow: rgba(74, 122, 78, 0.18) 0px 4px 16px; }

.ce-map-region-icon { font-size: 1.6rem; margin-bottom: 6px; }

.ce-map-region-name { font-size: 0.72rem; font-weight: 600; color: var(--ce-sage-dk); }

.ce-map-region-sub { font-size: 0.64rem; color: var(--ce-muted); margin-top: 2px; }

.ce-try-next { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }

.ce-try-btn { font-family: var(--ce-sans); font-size: 0.8rem; font-weight: 500; padding: 7px 15px; border-radius: 50px; cursor: pointer; border: 1.5px solid var(--ce-sage-mid); background: rgb(255, 255, 255); color: var(--ce-sage-dk); transition: var(--ce-tr); }

.ce-try-btn:hover { background: var(--ce-sage-dk); color: rgb(255, 255, 255); border-color: var(--ce-sage-dk); }

.ce-bottom-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; margin-bottom: 24px; }

.ce-progress-card { background: linear-gradient(135deg, var(--ce-sage-dk), #2a4d2e); border-radius: var(--ce-r-lg); padding: 26px 24px; color: rgb(255, 255, 255); }

.ce-progress-title { font-family: var(--ce-serif); font-size: 1.1rem; font-weight: 600; margin-bottom: 16px; }

.ce-progress-stats { display: flex; flex-direction: column; gap: 10px; }

.ce-progress-stat { display: flex; align-items: center; justify-content: space-between; }

.ce-progress-stat-label { font-size: 0.78rem; opacity: 0.85; }

.ce-progress-stat-val { font-family: var(--ce-serif); font-size: 1.1rem; font-weight: 600; background: rgba(255, 255, 255, 0.18); border-radius: 50px; padding: 2px 12px; min-width: 44px; text-align: center; }

.ce-progress-bar-wrap { margin-top: 14px; }

.ce-progress-bar-label { font-size: 0.7rem; opacity: 0.75; margin-bottom: 6px; }

.ce-progress-bar-track { background: rgba(255, 255, 255, 0.2); border-radius: 4px; height: 6px; }

.ce-progress-bar-fill { background: var(--ce-yel); border-radius: 4px; height: 6px; transition: width 0.6s; }

.ce-next-badge { font-size: 0.7rem; opacity: 0.75; margin-top: 6px; text-align: right; }

.ce-feature-card { background: rgb(255, 255, 255); border: 1px solid var(--ce-border); border-radius: var(--ce-r-lg); padding: 26px 24px; box-shadow: var(--ce-shadow); display: flex; flex-direction: column; gap: 12px; }

.ce-feature-icon { width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; }

.ce-feature-title { font-family: var(--ce-serif); font-size: 1.05rem; font-weight: 600; color: var(--ce-sage-dk); }

.ce-feature-text { font-size: 0.82rem; color: var(--ce-muted); line-height: 1.6; flex: 1 1 0%; }

.ce-feature-pill { display: inline-flex; align-items: center; gap: 5px; font-size: 0.72rem; font-weight: 500; padding: 5px 12px; border-radius: 50px; border: 1.5px solid var(--ce-border); color: var(--ce-muted); width: fit-content; }

.ce-print-card { background: linear-gradient(135deg, var(--ce-yel-lt), var(--ce-peach-lt)); border: 1px solid rgba(245, 200, 66, 0.3); border-radius: var(--ce-r-lg); padding: 28px 32px; display: flex; align-items: center; gap: 24px; box-shadow: var(--ce-shadow); margin-bottom: 0px; }

.ce-print-icon { font-size: 2.8rem; flex-shrink: 0; }

.ce-print-info { flex: 1 1 0%; }

.ce-print-title { font-family: var(--ce-serif); font-size: 1.15rem; font-weight: 600; color: var(--ce-sage-dk); margin-bottom: 4px; }

.ce-print-text { font-size: 0.85rem; color: var(--ce-brown); line-height: 1.55; }

.ce-print-btn { font-family: var(--ce-sans); font-size: 0.88rem; font-weight: 600; background: var(--ce-sage-dk); color: rgb(255, 255, 255); border-width: medium; border-style: none; border-color: currentcolor; border-image: initial; border-radius: 50px; padding: 12px 24px; cursor: pointer; transition: var(--ce-tr); flex-shrink: 0; white-space: nowrap; }

.ce-print-btn:hover { background: rgb(42, 77, 46); transform: translateY(-1px); box-shadow: rgba(74, 122, 78, 0.3) 0px 6px 18px; }

@media (max-width: 900px) {
  .ce-cards-grid { grid-template-columns: repeat(2, 1fr); }
  .ce-bottom-grid { grid-template-columns: 1fr 1fr; }
  .ce-map-regions { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 640px) {
  .chef-explorer-container { padding: 0px 16px; }
  .chef-explorer-section { padding: var(--section-gap-sm) 0; }
  .ce-cards-grid { grid-template-columns: 1fr; }
  .ce-bottom-grid { grid-template-columns: 1fr; }
  .ce-profile-hero { flex-direction: column; text-align: center; padding: 28px 20px; }
  .ce-map-regions { grid-template-columns: repeat(2, 1fr); }
  .ce-print-card { flex-direction: column; text-align: center; }
  .ce-mini-grid { grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); }
}