:root{--bg:#120d0b;--bg-elevated:#1a120dcc;--bg-soft:#ffffff0a;--bg-soft-strong:#ffffff14;--surface:#211711;--surface-2:#2b1d15;--text:#f7efe2;--text-dim:#f7efe2b8;--text-muted:#f7efe280;--accent:#efa84b;--accent-hot:#d86135;--accent-olive:#819a60;--line:#ffffff17;--line-strong:#ffffff29;--shadow:0 30px 90px #00000057;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Sora", system-ui, sans-serif;--mono:"IBM Plex Mono", monospace;--content-width:min(1180px, calc(100vw - 32px))}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:radial-gradient(circle at 0 0,#efa84b1f,#0000 34%),radial-gradient(circle at 85% 15%,#d861351f,#0000 22%),radial-gradient(circle at 50% 110%,#819a6014,#0000 36%),linear-gradient(#3b2516 0%,#24170f 42%,#130f0c 100%);margin:0}button,input,a{font:inherit}button{color:inherit;background:0 0;border:0}a{color:inherit;text-decoration:none}.noise-layer{z-index:0;pointer-events:none;opacity:.18;mix-blend-mode:soft-light;background-image:radial-gradient(circle at 25% 20%,#ffffff14 .5px,#0000 .8px),radial-gradient(circle at 75%,#ffffff0f .6px,#0000 .85px);background-size:28px 28px,32px 32px;position:fixed;inset:0}.site-nav,.hero-panel,.referee-section,.fridge-panel,.mood-panel,.ingredient-search,.ingredient-chip,.selected-chip,.mood-option,.mood-reason,.decision-note,.winner-card,.backup-panel,.backup-card,.chef-card,.map-stage,.globe-spotlight,.map-search,.map-search-results,.button{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.page-shell{z-index:1;width:var(--content-width);margin:0 auto;padding:0 0 88px;position:relative}.site-nav{z-index:50;border:1px solid var(--line);background:#120d0bbd;border-radius:999px;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;width:min(980px,100vw - 28px);margin:16px auto 0;padding:14px 16px;display:grid;position:sticky;top:16px;box-shadow:0 12px 30px #0000002e}.brand{font-family:var(--serif);letter-spacing:-.05em;font-size:1.6rem;font-weight:600}.brand em{color:var(--accent);font-style:italic}.nav-note{color:var(--text-dim);text-align:center;margin:0;font-size:.94rem}.hero{grid-template-columns:minmax(0,1.15fr) minmax(320px,400px);align-items:start;gap:24px;padding:40px 0 24px;display:grid}.eyebrow,.card-step,.detail-label,.winner-kicker,.winner-badge,.selected-label,.ingredient-search-shell span,.chef-topline span,.backup-headline span,.spotlight-meta span,.spotlight-block .detail-label,.map-search-shell span{color:var(--accent);font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;margin:0 0 10px;font-size:.72rem;display:block}.hero-copy h1,.hero-panel h2,.section-head h2,.panel-head h3,.winner-card h3,.backup-panel h3,.chef-card h4,.globe-spotlight h3{font-family:var(--serif);letter-spacing:-.05em;margin:0}.hero-copy h1{max-width:9.8ch;font-size:clamp(3.4rem,2.6rem + 3.1vw,5.4rem);line-height:.9}.hero-lede,.section-copy,.tension-card p,.hero-list,.decision-note p,.mood-reason p,.winner-card p,.backup-card p,.chef-card p,.globe-spotlight p,.search-result span,.selected-empty{color:var(--text-dim);line-height:1.68}.hero-lede{max-width:34rem;margin:16px 0 0;font-size:1.05rem}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.hero-signals{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.hero-signal{border:1px solid var(--line);min-height:38px;color:var(--text-dim);background:#ffffff0a;border-radius:999px;align-items:center;padding:0 14px;font-size:.88rem;display:inline-flex}.hero-panel,.referee-section,.winner-card,.backup-panel,.map-stage{border-radius:30px}.hero-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#140e0bb8;padding:20px}.hero-panel h2{font-size:clamp(1.9rem,1.45rem + 1.05vw,2.55rem);line-height:.98}.hero-steps{gap:12px;margin-top:16px;display:grid}.hero-step{border:1px solid var(--line);background:#ffffff09;border-radius:20px;padding:14px 16px}.hero-step span{min-width:32px;min-height:24px;color:var(--accent);font-family:var(--mono);letter-spacing:.14em;border:1px solid #efa84b47;border-radius:999px;justify-content:center;align-items:center;font-size:.72rem;display:inline-flex}.hero-step strong{margin-top:10px;font-size:1rem;display:block}.hero-step p{color:var(--text-dim);margin:8px 0 0;font-size:.88rem;line-height:1.55}.button{border:1px solid var(--line);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 18px;transition:transform .18s,border-color .18s,background .18s,color .18s,opacity .18s;display:inline-flex}.button:hover,.button:focus-visible,.ingredient-chip:hover,.ingredient-chip:focus-visible,.selected-chip:hover,.selected-chip:focus-visible,.mood-option:hover,.mood-option:focus-visible,.backup-card:hover,.backup-card:focus-visible,.search-result:hover,.search-result:focus-visible,.spotlight-link:hover,.spotlight-link:focus-visible{transform:translateY(-2px)}.button--ghost,.button--small{background:#ffffff0d}.button--primary{color:#1a120d;background:linear-gradient(135deg,#f4c56e,#df8c47);border-color:#0000;font-weight:700}.button--small{min-height:42px;padding-inline:14px;font-size:.86rem}.referee-section,.verdict-section,.map-section{margin-top:24px}.referee-section,.verdict-section{border:1px solid var(--line);background:#120d0bb3;border-radius:32px;padding:28px}.section-head,.panel-head{justify-content:space-between;align-items:start;gap:18px;display:flex}.section-head h2{font-size:clamp(2.2rem,1.85rem + 1.2vw,3.2rem);line-height:.96}.section-head--split,.section-head--stack{align-items:end}.section-actions{flex-wrap:wrap;gap:10px;display:flex}.verdict-summary{max-width:34rem;margin:0}.referee-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,360px);gap:18px;margin-top:22px;display:grid}.fridge-panel,.mood-panel,.backup-panel{border:1px solid var(--line);background:#ffffff08;padding:22px}.panel-head h3,.backup-panel h3{font-size:clamp(2rem,1.5rem + 1vw,2.6rem);line-height:.98}.ingredient-search-shell,.map-search-shell{display:block}.ingredient-search,.map-search{border:1px solid var(--line);width:100%;min-height:54px;color:var(--text);background:#0a08076b;border-radius:18px;outline:0;margin-top:10px;padding:0 18px}.ingredient-search::placeholder,.map-search::placeholder{color:var(--text-muted)}.ingredient-search:focus,.map-search:focus{border-color:#efa84b85}.selected-shell{margin-top:18px}.selected-ingredients{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.selected-chip,.ingredient-chip,.detail-tag,.spotlight-link,.spotlight-meta span{border:1px solid var(--line);background:#ffffff0a;border-radius:999px;align-items:center;gap:8px;min-height:40px;padding:0 14px;display:inline-flex}.selected-chip,.ingredient-chip,.spotlight-link{cursor:pointer;transition:transform .18s,border-color .18s,background .18s,color .18s}.selected-chip span{opacity:.7}.ingredient-groups{gap:16px;margin-top:22px;display:grid}.ingredient-group{border-top:1px solid var(--line);padding-top:16px}.ingredient-group:first-child{border-top:0;padding-top:0}.ingredient-group-head h4{margin:0;font-size:1rem}.ingredient-chip-grid,.mood-options,.tag-row,.spotlight-links{flex-wrap:wrap;gap:10px;display:flex}.ingredient-chip-grid{margin-top:12px}.ingredient-chip.is-active{color:#1a120d;background:linear-gradient(135deg,#f0b15d,#d98d46);border-color:#0000;font-weight:700}.mood-options{margin-top:18px}.mood-option{text-align:left;border:1px solid var(--line);cursor:pointer;background:#ffffff08;border-radius:24px;flex:calc(50% - 10px);min-width:0;min-height:132px;padding:16px;transition:transform .18s,border-color .18s,background .18s}.mood-option strong{font-size:1rem;display:block}.mood-option span{color:var(--text-dim);margin-top:10px;font-size:.9rem;line-height:1.55;display:block}.mood-option.is-active{background:linear-gradient(#efa84b2e,#ffffff0a);border-color:#efa84b80}.mood-reason,.decision-note{border:1px solid var(--line);background:#ffffff08;border-radius:24px;margin-top:16px;padding:18px}.mood-reason h4{margin:0;font-size:1.2rem}.mood-reason p,.decision-note p{margin:10px 0 0;font-size:.94rem}.winner-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#140e0bb8;padding:24px}.winner-rail{justify-content:space-between;align-items:center;gap:14px;display:flex}.winner-rail .card-step{margin-bottom:0}.winner-badge{background:#efa84b1f;border:1px solid #efa84b40;border-radius:999px;margin:0;padding:8px 12px}.winner-head{justify-content:space-between;align-items:start;gap:18px;margin-top:18px;display:flex}.winner-kicker{color:var(--text-muted);margin-bottom:8px}.winner-card h3{font-size:clamp(2.6rem,2rem + 1.4vw,3.7rem);line-height:.92}.winner-stats{flex-wrap:wrap;justify-content:end;gap:10px;max-width:15rem;display:flex}.winner-stats span,.detail-tag,.detail-empty{border:1px solid var(--line);min-height:34px;color:var(--text-dim);background:#ffffff0d;border-radius:999px;align-items:center;padding:0 12px;display:inline-flex}.winner-pitch{margin:18px 0 0;font-size:1.22rem;line-height:1.55}.winner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.winner-block{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.winner-block p{margin:10px 0 0}.detail-tag--soft{background:#ffffff05}.step-list{color:var(--text-dim);margin:12px 0 0;padding-left:20px}.step-list li+li{margin-top:10px}.chef-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px;display:grid}.chef-card{border:1px solid var(--line);background:#ffffff08;border-radius:24px;padding:18px}.chef-topline{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.chef-topline span{color:var(--text-muted);margin-bottom:0}.chef-card h4{margin-top:10px;font-size:1.9rem;line-height:.95}.chef-card p{margin:10px 0 16px;font-size:.92rem}.verdict-grid{grid-template-columns:minmax(0,1.2fr) minmax(290px,360px);gap:18px;margin-top:22px;display:grid}.backup-list{gap:12px;margin-top:16px;display:grid}.backup-card{text-align:left;border:1px solid var(--line);cursor:pointer;background:#ffffff08;border-radius:24px;width:100%;padding:18px;transition:transform .18s,border-color .18s,background .18s}.backup-headline{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.backup-headline span{color:var(--text-muted);margin-bottom:0}.backup-card strong{margin-top:10px;font-size:1.2rem;display:block}.backup-card p{margin:10px 0 0;font-size:.92rem}.backup-tags{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.map-section{padding-top:4px}.section-head--map{grid-template-columns:minmax(0,1fr) minmax(300px,380px);align-items:end;gap:20px;display:grid}.map-toolbar{gap:12px;display:grid}.map-search-shell{position:relative}.map-search-results{border:1px solid var(--line);z-index:10;background:#0e0a08eb;border-radius:18px;gap:1px;display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden;box-shadow:0 24px 40px #0000003d}.map-search-results.is-open{display:grid}.search-result{text-align:left;cursor:pointer;background:#ffffff05;width:100%;padding:13px 16px}.search-result strong{font-size:.96rem;display:block}.search-result span{margin-top:4px;font-size:.82rem;display:block}.map-stage{border:1px solid var(--line);min-height:clamp(620px,72vh,860px);box-shadow:var(--shadow);background:radial-gradient(circle at 50% 110%,#f0ae531f,#0000 30%),radial-gradient(circle at 50% 0,#ffffff0a,#0000 26%),#0d0908;margin-top:22px;position:relative;overflow:hidden}.home-globe-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.globe-tooltip{z-index:20;border:1px solid var(--line);pointer-events:none;opacity:0;background:#0a0807eb;border-radius:14px;min-width:140px;padding:10px 12px;transition:opacity .14s;position:fixed;transform:translate(-50%,calc(-100% - 12px));box-shadow:0 18px 30px #00000038}.globe-tooltip.is-visible{opacity:1}.globe-tooltip strong{font-size:.88rem;display:block}.globe-tooltip span{color:var(--text-dim);margin-top:4px;font-size:.74rem;display:block}.globe-spotlight{border:1px solid var(--line);background:#0e0a08c7;border-radius:28px;width:min(420px,100% - 44px);padding:20px;position:absolute;bottom:22px;left:22px}.globe-spotlight h3{font-size:clamp(2.4rem,2rem + 1vw,3.3rem);line-height:.92}.globe-spotlight p{margin:10px 0 0;font-size:.95rem}.spotlight-meta{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.spotlight-meta span{color:var(--text-dim);margin-bottom:0}.spotlight-block{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.spotlight-block .detail-label{margin-bottom:12px}.spotlight-link{min-height:36px;color:var(--text)}.spotlight-link--soft{color:var(--text-dim)}body.is-globe-fullscreen .map-stage{border-radius:0}body.is-globe-fullscreen .globe-spotlight{bottom:18px;left:18px}@media (width<=1080px){.hero,.referee-grid,.verdict-grid,.section-head--map,.winner-grid{grid-template-columns:1fr}.hero-copy h1{max-width:none}.winner-stats{justify-content:start;max-width:none}.chef-list{grid-template-columns:1fr}}@media (width<=860px){.site-nav{grid-template-columns:1fr auto;width:calc(100vw - 24px);margin-top:12px;padding:12px 14px;top:12px}.nav-note{display:none}.page-shell{width:min(100vw - 24px,760px)}.hero{gap:18px;padding-top:24px}.hero-copy h1{font-size:clamp(2.9rem,11vw,4.2rem)}.referee-section,.verdict-section{padding:22px 18px}.section-actions{width:100%}.section-actions .button{flex:1 1 0}.mood-option{flex-basis:100%;min-height:112px}.globe-spotlight{width:auto;right:22px}}@media (width<=640px){.hero-copy h1{font-size:clamp(2.55rem,10.4vw,3.35rem);line-height:.94}.hero-lede{margin-top:12px;font-size:.95rem}.hero-actions{margin-top:16px}.hero-actions .button{width:100%}.hero-panel,.fridge-panel,.mood-panel,.backup-panel,.winner-card{padding:18px}.section-actions,.winner-head{flex-direction:column}.winner-card h3{font-size:clamp(2.3rem,10vw,3rem)}.ingredient-chip-grid,.selected-ingredients,.tag-row,.spotlight-links{gap:8px}.ingredient-chip,.selected-chip,.detail-tag,.spotlight-link{min-height:36px;padding-inline:12px;font-size:.88rem}.hero-signal{min-height:34px;font-size:.82rem}.map-stage{min-height:640px}.globe-spotlight{bottom:14px;left:14px;right:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
