:root{--paper:#f7f6ef;--white:#fdfdf8;--ink:#29372c;--muted:#72786e;--sage:#51654d;--sage-light:#e9eee2;--line:#e1e4d8;--warm:#ad6b4f;--warm-light:#f4e9df;--serif:'Hiragino Mincho ProN','Yu Mincho',serif;--sans:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.65 var(--sans)}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--sage);outline-offset:4px}a{color:var(--sage)}button{border:0;background:none}button[disabled]{opacity:.45;cursor:default}[hidden]{display:none!important}.site-header{max-width:1440px;margin:auto;height:100px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:30px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-size:21px;font-weight:600;letter-spacing:.09em}.brand small{display:block;font-size:9px;letter-spacing:.25em;font-weight:500;line-height:1.8}.brand-mark{width:42px;height:42px;background:var(--sage-light);border-radius:50%;display:grid;place-items:center}.brand-mark svg{width:30px;fill:none;stroke:var(--sage);stroke-width:1.4}nav{display:flex;gap:24px}.nav{padding:9px 0;position:relative;color:var(--muted);font-size:13px}.nav.active{color:var(--sage);font-weight:600}.nav.active:after{content:'';width:14px;height:2px;background:var(--sage);position:absolute;left:calc(50% - 7px);bottom:0}.research-date{color:var(--muted);font-size:10px;letter-spacing:.06em}main{max-width:1440px;margin:auto;padding:0 48px}.intro{display:flex;align-items:center;justify-content:space-between;padding:31px 0 25px}.eyebrow{font-size:9px;letter-spacing:.22em;color:var(--sage);margin:0 0 9px;font-weight:600}h1{font:32px/1.4 var(--serif);letter-spacing:.03em;margin:0 0 9px}h2{font:21px/1.6 var(--serif);margin:0}.intro-copy{color:var(--muted);margin:0;font-size:12px;letter-spacing:.04em}.intro-copy span{margin-left:12px}.inventory{display:flex;gap:13px;align-items:center;margin-right:4px}.inventory strong{font:40px/1 Georgia,serif;color:var(--sage)}.inventory>span{font-size:11px}.inventory small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.workspace{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:22px 24px 15px;box-shadow:0 12px 30px #34403004}.map-controls{display:flex;justify-content:space-between;align-items:center;gap:20px}.segmented{display:flex;gap:3px;padding:4px;border-radius:10px;background:var(--paper)}.segmented button{min-height:39px;padding:7px 24px;font-size:12px;border-radius:7px;white-space:nowrap;color:var(--muted)}.segmented button.selected{background:var(--sage);color:#fff}.search-box{display:flex;align-items:center;gap:9px;background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:8px 12px;width:270px}.search-box svg{width:18px;fill:none;stroke:var(--muted);stroke-width:1.5;flex-shrink:0}.search-box input{width:100%;border:0;outline:0;background:none;min-width:0;font-size:12px;color:var(--ink)}.search-shortcut{border:1px solid var(--line);border-radius:3px;font-size:10px;padding:0 5px;color:var(--muted)}.categories{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;margin:17px 0 15px;padding:0 0 3px}.categories::-webkit-scrollbar{display:none}.categories button{white-space:nowrap;padding:5px 12px;border-radius:20px;font-size:11px;color:var(--muted);min-height:32px}.categories button.selected{background:var(--sage-light);color:var(--sage);font-weight:600}.map-topline{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;gap:12px}.map-meta{display:flex;align-items:center;gap:7px;font-size:11px;flex-wrap:wrap}.live-dot{width:5px;height:5px;display:block;border-radius:50%;background:#789270}.map-meta>span:last-child{color:var(--muted);font-size:10px}.mini-segment{display:flex;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:2px;flex-shrink:0}.mini-segment button{font-size:10px;padding:4px 12px;min-height:28px;border-radius:4px;color:var(--muted)}.mini-segment button.selected{background:#fff;color:var(--ink);box-shadow:0 1px 4px #00000009}.chart-wrap{position:relative;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fafbf6}.chart-heading{padding:11px 16px 0;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px;gap:8px;min-height:32px}.chart-heading button{color:var(--sage);padding:3px 5px;font-size:10px;white-space:nowrap}.chart{height:clamp(345px,44vh,510px);position:relative;overflow:hidden;isolation:isolate}.chart svg{position:absolute;inset:0;width:100%;height:100%}.axis-text{font-family:var(--sans);font-size:10px;fill:var(--muted)}.axis-title{font-size:10px;fill:var(--ink);letter-spacing:.03em}.grid-line{stroke:#e2e6db;stroke-width:1}.threshold{stroke:#a5b49b;stroke-dasharray:3 5}.point{fill:var(--sage);opacity:.65}.node{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #dde3d4;border-radius:50%;background:#fffffc;box-shadow:0 2px 6px #33452f0c;z-index:2;padding:5px;transition:box-shadow .15s,border-color .15s}.node img{height:27px;width:27px;object-fit:contain;pointer-events:none}.node.cluster{background:#f1f4ea;border-color:#b7c6ab}.node:hover,.node:focus-visible{z-index:8;border-color:var(--sage);box-shadow:0 3px 10px #33452f18}.node .badge{position:absolute;right:-4px;top:-3px;min-width:17px;height:17px;border-radius:10px;background:var(--sage);color:white;line-height:17px;font-size:9px;padding:0 3px;box-shadow:0 0 0 2px var(--white)}.node-label{position:absolute;top:40px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:9px;color:var(--ink);pointer-events:none;padding:1px 4px;background:#fafbf6dc;border-radius:3px;line-height:1.45;max-width:122px;overflow:hidden;text-overflow:ellipsis}.node:not(.labelled) .node-label{display:none}.node:hover .node-label,.node:focus-visible .node-label{display:block}.node.high{border-color:#d2ac92;background:#fff9f3}.node.high .badge{background:var(--warm)}.chart-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;font-size:9px;color:var(--muted);padding:8px 14px}.chart-footer #legend{color:var(--sage)}.map-bottom{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-top:11px}.map-bottom p{font-size:10px;line-height:1.6;color:var(--muted);margin:0;flex:1;min-width:200px}.text-link{font-size:11px;color:var(--sage);padding:4px 0;text-underline-offset:4px;text-decoration:none}.text-link:hover{text-decoration:underline}.quick-guides{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0 30px}.quick-guides button{border-bottom:1px solid var(--line);padding:13px 7px 18px;display:flex;align-items:center;gap:16px;text-align:left}.guide-icon{font:28px Georgia,serif;color:#8b987e}.quick-guides strong{display:block;font-size:12px;font-weight:500}.quick-guides small{color:var(--muted);font-size:10px}.quick-guides b{margin-left:auto;font-weight:400;font-size:16px;color:var(--sage)}footer{max-width:1440px;margin:auto;padding:22px 48px 30px;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.footer-brand{font:15px var(--serif);color:var(--sage)}.footer-brand small{font:8px var(--sans);letter-spacing:.15em;margin-left:8px}footer button{font-size:10px;margin-left:24px;color:var(--sage)}.content-view{padding:45px 0 50px}.page-lead{color:var(--muted);font-size:13px;line-height:2;margin:14px 0 35px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:40px 0 18px}.section-head>span{font-size:10px;color:var(--muted)}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.food-card{border:1px solid var(--line);border-radius:12px;background:var(--white);padding:22px;text-align:left;transition:transform .15s,border-color .15s;position:relative;display:block;width:100%}.food-card:hover{transform:translateY(-2px);border-color:#bbc8b2}.food-card .card-icon{width:40px;height:40px;object-fit:contain;margin-bottom:10px}.food-card h3{font-size:14px;font-weight:500;margin:0 0 12px}.food-card p{font-size:11px;line-height:1.9;color:var(--muted);margin:10px 0 0}.pill{display:inline-block;border-radius:20px;background:var(--sage-light);color:var(--sage);font-size:10px;padding:3px 9px;margin:0 4px 3px 0}.pill.high{background:var(--warm-light);color:var(--warm)}.pill.neutral{background:#efeee7;color:#74776e}.guide-card{border:1px solid var(--line);border-radius:12px;padding:23px;background:#fbfbf5}.guide-card h3{font:18px var(--serif);margin:0 0 17px}.guide-card p{font-size:12px;color:var(--muted);line-height:1.9}.ingredient-tags{display:flex;gap:6px;flex-wrap:wrap}.ingredient-tags button{border:1px solid #d8dece;border-radius:7px;padding:5px 8px;font-size:10px;background:var(--white);color:var(--sage);min-height:32px}.guide-card .guide-foot{font-size:10px;border-top:1px solid var(--line);padding-top:12px}.method-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:30px}.method-grid article{border-top:1px solid var(--line);padding:22px 8px}.method-number{font:12px Georgia,serif;letter-spacing:.1em;color:var(--muted);display:block;margin-bottom:12px}.method-grid h2{font-size:20px}.method-grid p{font-size:12px;color:var(--muted);line-height:2;margin-bottom:0}.source-note{color:var(--muted);font-size:12px;max-width:780px}.source-list{margin-top:23px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px 30px}.source-link{display:flex;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);padding:12px 0;gap:12px;align-items:flex-start}.source-link>span{color:var(--muted);font:11px Georgia,serif;padding-top:3px;min-width:18px}.source-link strong{font-size:12px;font-weight:500;display:block}.source-link small{color:var(--muted);font-size:10px;overflow-wrap:anywhere}.source-link b{margin-left:auto;color:var(--sage);font-size:12px}.history{margin:35px 0;border:1px solid var(--line);border-radius:8px;padding:16px;color:var(--muted);font-size:12px}.history summary{cursor:pointer}.use-note{border-left:2px solid #a8b29a;padding:7px 20px;font-size:12px;margin-top:35px;max-width:800px}.use-note strong{font-weight:500}.use-note p{color:var(--muted)}.use-note a{font-size:11px}dialog{border:1px solid var(--line);border-radius:18px;background:var(--white);color:var(--ink);padding:0;width:min(680px,calc(100% - 32px));max-height:88dvh;box-shadow:0 30px 100px #1e2c2430}dialog::backdrop{background:#24302550;backdrop-filter:blur(3px)}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:13px 18px;position:sticky;top:0;background:var(--white);z-index:2;border-bottom:1px solid var(--line)}#close-dialog{margin-left:auto;border:1px solid var(--line);border-radius:50%;height:32px;width:32px;font-size:12px}#dialog-content{padding:26px 30px 32px}#dialog-title{font:24px var(--serif);line-height:1.5;margin:8px 0 15px}.detail-icon{width:53px;height:53px;object-fit:contain}.detail-values{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.value-box{padding:18px;border-radius:12px;border:1px solid var(--line);background:#f4f6ee}.value-box span{font-size:10px;color:var(--muted);display:block}.value-box strong{display:block;color:var(--sage);font:32px Georgia,serif;margin:7px 0 3px}.value-box strong.word{font:16px/1.5 var(--sans)}.value-box small{font-size:10px;color:var(--muted)}.detail-qual{border-left:3px solid #9baf8e;padding:10px 16px;background:#f3f6ee;border-radius:0 7px 7px 0;font-size:12px;line-height:1.9}.detail-qual.high{border-color:#c78e6d;background:#fbf0e8}.detail-qual strong{display:block}.detail-qual p{margin:5px 0;color:var(--muted)}.detail-section{border-top:1px solid var(--line);padding:18px 0 0;margin-top:20px}.detail-section h3{font-size:12px;font-weight:600;margin:0 0 8px}.detail-section p{font-size:11px;color:var(--muted);line-height:1.95;overflow-wrap:anywhere;margin:5px 0}.detail-section a{display:inline-block;font-size:11px;margin-top:8px;overflow-wrap:anywhere}.detail-condition{font-size:11px;color:var(--muted);line-height:1.9}.item-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.item-button{border:1px solid var(--line);border-radius:9px;background:#f8f9f2;padding:12px;display:flex;gap:10px;text-align:left;align-items:center;width:100%}.item-button:hover{border-color:#b9c6ae}.item-button img{width:34px;height:34px;object-fit:contain;flex-shrink:0}.item-button strong{font-size:11px;font-weight:500;display:block;line-height:1.5}.item-button small{font-size:9px;color:var(--muted);display:block;line-height:1.6}.list-intro{font-size:11px;line-height:1.9;color:var(--muted);margin-bottom:18px}.dialog-search{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);margin-bottom:16px;color:var(--ink);font-size:12px}.search-results{border-top:1px solid var(--line);margin-top:16px;padding-top:15px}.search-results>p{font-size:11px;color:var(--muted)}.empty-chart{position:absolute;inset:32px 0 33px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:#fafbf6f0;pointer-events:none}.empty-chart>span{font-size:29px;opacity:.6;margin-bottom:10px}.empty-chart strong{font-size:13px;font-weight:500}.empty-chart p{font-size:11px;color:var(--muted);padding:0 16px}.noscript{margin:30px}.class-column{fill:#edf2e7}.class-column.high{fill:#f6eae0}.history-list{font-size:11px;color:var(--muted)}.history-list li{padding:5px 0;border-bottom:1px solid var(--line)}
@media(min-width:1500px){.site-header{height:110px}.intro{padding:40px 0 30px}h1{font-size:37px}.chart{height:clamp(400px,48vh,570px)}}
@media(max-width:1050px){.site-header{padding:0 28px;gap:20px}.research-date{display:none}main{padding:0 28px}.categories{gap:1px}.categories button{padding:5px 9px}.map-meta>span:last-child{display:none}.card-grid{grid-template-columns:repeat(2,1fr)}footer{padding:22px 28px}.segmented button{padding:7px 18px}.intro-copy span{display:block;margin-left:0;margin-top:3px}}
@media(max-width:600px){body{font-size:13px}.site-header{height:76px;padding:0 18px;gap:14px}.brand{font-size:17px;gap:8px}.brand-mark{width:33px;height:33px}.brand-mark svg{width:23px}.brand small{font-size:7px}.site-header nav{gap:13px}.nav{font-size:10px;padding:10px 0}.research-date{display:none}main{padding:0 14px}.intro{padding:24px 5px 19px}.eyebrow{font-size:7px;letter-spacing:.14em;margin-bottom:7px}h1{font-size:24px;letter-spacing:0}.intro-copy{font-size:10px}.intro-copy span{display:none}.inventory{display:none}.workspace{padding:13px 12px 12px;border-radius:13px}.map-controls{display:block}.segmented{width:100%;justify-content:stretch}.segmented button{flex:1;padding:7px 8px;font-size:11px;min-height:36px}.search-box{width:100%;margin-top:12px;padding:7px 10px}.search-box input{font-size:12px}.search-shortcut{display:none}.categories{margin:11px 0 10px;padding-bottom:1px;gap:3px}.categories button{font-size:10px;padding:5px 10px;min-height:30px}.map-topline{padding-bottom:9px;gap:8px}.map-meta{font-size:10px;gap:5px}.mini-segment button{font-size:9px;padding:4px 8px;min-height:26px}.chart-heading{font-size:9px;padding:8px 8px 0;min-height:30px}.chart-heading button{font-size:9px}.chart{height:clamp(310px,43dvh,405px)}.chart-footer{font-size:8px;padding:7px 8px;gap:6px;align-items:flex-start}.chart-footer>span:last-child{max-width:98px;text-align:right}.node{width:34px;height:34px;padding:4px}.node img{width:24px;height:24px}.node .badge{min-width:16px;height:16px;line-height:16px;font-size:8px;right:-3px;top:-3px}.node-label{top:33px;font-size:8px;max-width:88px;padding:1px 2px}.axis-text,.axis-title{font-size:8px}.map-bottom{padding-top:9px;gap:4px 14px}.map-bottom p{font-size:9px;flex-basis:100%;line-height:1.7}.map-bottom .text-link{font-size:9px}.quick-guides{gap:14px;margin:13px 0 20px}.quick-guides button{padding:10px 3px 12px;gap:8px}.quick-guides .guide-icon{font-size:21px}.quick-guides strong{font-size:10px}.quick-guides small{font-size:8px;line-height:1.6;display:block;max-width:135px}.quick-guides b{font-size:12px}footer{padding:19px 18px 24px;font-size:8px}.footer-brand{font-size:12px}.footer-brand small{font-size:6px;display:block;margin:4px 0}footer button{font-size:8px;margin-left:8px}.content-view{padding:29px 5px 30px}.page-lead{font-size:11px;margin:13px 0 25px;line-height:1.95}.page-lead br{display:none}.section-head{margin:30px 0 13px;align-items:flex-start}.section-head h2{font-size:18px}.section-head>.text-link{font-size:9px;white-space:nowrap}.section-head>span{font-size:8px;max-width:100px;text-align:right}.card-grid{gap:10px}.food-card{padding:14px 12px}.food-card .card-icon{width:32px;height:32px;margin-bottom:6px}.food-card h3{font-size:11px;line-height:1.65;margin-bottom:9px}.food-card p{font-size:9px;line-height:1.8}.pill{font-size:8px;padding:3px 7px}.guide-grid{grid-template-columns:1fr}.guide-card{padding:20px}.guide-card h3{font-size:17px}.guide-card p{font-size:11px}.method-grid{grid-template-columns:1fr;gap:10px}.method-grid article{padding:17px 4px}.method-grid h2{font-size:18px}.method-grid p{font-size:11px}.source-list{grid-template-columns:1fr;gap:0}.source-link strong{font-size:11px}.source-note{font-size:11px}.use-note{font-size:11px;padding:5px 14px}.history{font-size:10px;padding:14px}dialog{max-height:90dvh;width:calc(100% - 20px);border-radius:14px}.dialog-header{padding:9px 12px}#dialog-content{padding:20px 18px 24px}#dialog-title{font-size:21px}.value-box{padding:13px 10px}.value-box strong{font-size:27px}.value-box strong.word{font-size:13px}.value-box small{font-size:9px}.detail-values{gap:9px}.item-grid{gap:7px}.item-button{padding:9px 7px;gap:7px}.item-button img{width:27px;height:27px}.item-button strong{font-size:10px}.item-button small{font-size:8px}.detail-qual{font-size:11px;padding:9px 12px}.detail-section p{font-size:10px}.list-intro{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Keep the map in the first screen on ordinary laptop displays. */
@media(min-width:601px) and (max-height:850px){.site-header{height:72px}.intro{padding:17px 0 18px}.intro h1{font-size:28px;margin-bottom:6px}.intro .eyebrow{margin-bottom:5px}.workspace{padding-top:16px}.categories{margin-top:9px;margin-bottom:8px}.map-topline{padding-bottom:8px}.chart{height:clamp(260px,calc(100dvh - 447px),430px)}.chart-heading{min-height:28px;padding-top:6px}.map-bottom{padding-top:8px}.quick-guides{margin-top:12px}}
@media(min-width:601px){.chart:has(.class-column) .node{width:32px;height:32px;padding:4px}.chart:has(.class-column) .node img{width:24px;height:24px}}
@media(min-width:601px) and (max-height:850px){.chart:has(.class-column) .node{width:26px;height:26px;padding:3px}.chart:has(.class-column) .node img{width:20px;height:20px}.chart:has(.class-column) .node .badge{font-size:8px;min-width:15px;height:15px;line-height:15px}}
.intro-copy .mobile-total{display:none}
@media(max-width:600px){.intro-copy .mobile-total{display:inline;margin-left:10px;font-size:9px;color:var(--sage)}.intro-copy .mobile-total span{display:inline;margin:0}}
