:root{--ink: #171812;--ink-2: #292a21;--paper: #f2f0e8;--paper-high: #faf8ef;--paper-inset: #e9e6dc;--whey: #fffdf4;--signal: #e8ff3f;--sale: #ef5438;--water: #8dd7ff;--protein: #171812;--carb: #e8ff3f;--fat: #ef5438;--text-1: #171812;--text-2: #4c4d44;--text-3: #77786e;--text-muted: #a09f95;--line: rgba(23, 24, 18, .16);--line-soft: rgba(23, 24, 18, .08);--line-strong: rgba(23, 24, 18, .34);--control: #e7e4da;--focus: #171812;--radius-sm: 2px;--radius-md: 6px;--space: 4px;font-family:Zen Kaku Gothic New,sans-serif;color:var(--text-1);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--paper)}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}svg{width:20px;height:20px}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.topbar{position:sticky;top:0;z-index:30;height:72px;padding:0 clamp(18px,4vw,64px);display:flex;align-items:center;border-bottom:1px solid var(--line);background:#f2f0e8f0;backdrop-filter:blur(14px)}.logo{display:inline-flex;align-items:center;gap:10px;min-width:220px}.logo>span{width:38px;height:38px;display:grid;place-items:center;background:var(--ink);color:var(--signal);font:500 13px/1 DM Mono,monospace}.logo strong{font:900 12px/10px Zen Kaku Gothic New,sans-serif;letter-spacing:-.04em}.topbar nav{display:flex;align-self:stretch;gap:28px}.topbar nav a{position:relative;display:grid;place-items:center;color:var(--text-3);font-weight:700;font-size:13px}.topbar nav a:hover,.topbar nav a.active{color:var(--text-1)}.topbar nav a.active:after{content:"";position:absolute;bottom:-1px;width:100%;height:3px;background:var(--ink)}.freshness{margin-left:auto;display:flex;align-items:center;gap:8px;color:var(--text-3);font:500 10px/1 DM Mono,monospace}.freshness i{width:7px;height:7px;border-radius:50%;background:#4fa254;box-shadow:0 0 0 4px #4fa2541f}main{overflow:hidden}.market-head{min-height:520px;padding:76px clamp(18px,6vw,96px) 56px;display:grid;grid-template-columns:minmax(420px,1fr) minmax(440px,.85fr);align-items:end;gap:7vw;position:relative}.market-head:before{content:"PROTEIN";position:absolute;right:-20px;top:12px;color:#17181206;font:900 clamp(100px,19vw,280px)/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:-.1em;pointer-events:none}.eyebrow,.section-title span{margin:0 0 14px;color:var(--text-3);font:500 10px/1 DM Mono,monospace;letter-spacing:.12em}.market-head h1{margin:0;font-size:clamp(58px,8vw,116px);line-height:.88;letter-spacing:-.075em;font-weight:900}.market-head h1 em{position:relative;font-style:normal}.market-head h1 em:after{content:"";position:absolute;left:-2%;right:-4%;bottom:4%;height:18%;background:var(--signal);z-index:-1;transform:rotate(-1deg)}.lead{max-width:520px;margin:32px 0 0;color:var(--text-2);font-size:15px;line-height:1.9;font-weight:500}.market-tape{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);display:grid;grid-template-columns:1fr 1fr}.market-tape>div{min-height:130px;padding:22px 0;display:flex;flex-direction:column;border-bottom:1px solid var(--line)}.market-tape>div:nth-child(odd){padding-right:24px;border-right:1px solid var(--line)}.market-tape>div:nth-child(2n){padding-left:24px}.market-tape>div:nth-last-child(-n+2){border-bottom:0}.market-tape span{color:var(--text-3);font-size:11px;font-weight:700}.market-tape strong{margin-top:auto;font:500 clamp(32px,4vw,54px)/.9 "DM Mono",monospace;letter-spacing:-.06em}.market-tape small{margin-top:9px;font:500 9px/1 DM Mono,monospace;color:var(--text-3)}.deal-strip{height:44px;display:flex;background:var(--ink);color:var(--paper);overflow:hidden}.deal-strip>span{flex:0 0 auto;padding:0 22px;display:grid;place-items:center;color:var(--ink);background:var(--signal);font:500 10px/1 DM Mono,monospace}.marquee{min-width:0;display:flex;align-items:center;overflow:hidden;white-space:nowrap;font:400 11px/1 DM Mono,monospace}.marquee>div{padding-left:36px;animation:ticker 26s linear infinite alternate}.marquee b{color:var(--signal)}@keyframes ticker{to{transform:translate(-18%)}}.compare-section,.method-section{padding:88px clamp(18px,4vw,64px)}.section-title{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:36px}.section-title h2{margin:0;font-size:clamp(38px,4vw,62px);line-height:.9;letter-spacing:-.06em}.section-title p{max-width:560px;margin:0;color:var(--text-3);font-size:11px;line-height:1.8}.control-deck{display:grid;grid-template-columns:minmax(280px,1.1fr) auto auto;align-items:center;gap:12px;padding:12px;background:var(--paper-inset);border:1px solid var(--line-soft)}.searchbox{height:44px;padding:0 12px;display:flex;align-items:center;gap:10px;background:var(--paper-high);border:1px solid transparent}.searchbox:focus-within{border-color:var(--line-strong)}.searchbox svg{width:16px}.searchbox input{min-width:0;flex:1;border:0;outline:0;background:transparent;font-size:13px}.searchbox kbd{padding:3px 6px;border:1px solid var(--line);color:var(--text-3);font:10px DM Mono,monospace}.filter-set,.sort-set,.metric-switch{display:flex;gap:2px}.filter-set button,.sort-set button,.metric-switch button{height:36px;padding:0 10px;border:0;background:transparent;color:var(--text-3);cursor:pointer;font:500 10px/1 DM Mono,monospace}.filter-set button:hover,.sort-set button:hover{color:var(--text-1);background:#1718120d}.filter-set button.active,.sort-set button.active{color:var(--paper);background:var(--ink)}.sort-set{align-items:center;padding-left:12px;border-left:1px solid var(--line)}.sort-set>span{margin-right:4px;color:var(--text-muted);font:500 9px DM Mono,monospace}.table-shell{width:100%;overflow-x:auto;border-bottom:1px solid var(--line-strong)}table{width:100%;min-width:1140px;border-collapse:collapse}th{height:56px;padding:0 12px;border-bottom:1px solid var(--line-strong);color:var(--text-3);text-align:left;white-space:nowrap;font:500 9px/1.5 DM Mono,monospace;letter-spacing:.06em}th:first-child,td:first-child{width:54px;padding-left:4px}th:nth-child(2){min-width:240px}th small{font-size:8px;color:var(--text-muted)}td{height:92px;padding:12px;border-bottom:1px solid var(--line-soft);vertical-align:middle}tbody tr{animation:row-in .35s ease both;animation-delay:calc(var(--row-index) * 35ms);transition:background .16s ease}tbody tr:hover{background:var(--paper-high)}tbody tr:last-child td{border-bottom:0}@keyframes row-in{0%{opacity:0;transform:translateY(6px)}}.compare-check{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);background:transparent;color:var(--text-3);cursor:pointer;font:500 10px DM Mono,monospace}.compare-check:hover{border-color:var(--ink)}.compare-check.is-checked{background:var(--signal);color:var(--ink);border-color:var(--ink)}.compare-check svg{width:15px}.product-open{max-width:280px;display:flex;align-items:center;gap:12px;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.brand-mark{flex:0 0 auto;width:40px;height:48px;display:grid;place-items:center;background:var(--ink-2);color:var(--paper);font:500 11px DM Mono,monospace;clip-path:polygon(0 0,100% 0,100% 85%,78% 100%,0 100%)}.product-open b{display:block;font-size:13px;font-weight:900}.product-open small{max-width:200px;display:block;margin-top:4px;overflow:hidden;color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:10px}.type-stamp{padding:4px 6px;border:1px solid var(--line-strong);font:500 9px DM Mono,monospace}.amount{margin-left:7px;color:var(--text-3);font:500 10px DM Mono,monospace}.price-cell strong{display:block;white-space:nowrap;font:500 17px DM Mono,monospace}.price-cell strong small{color:var(--text-3);font-size:9px}.price-cell>span,.protein-cell span{display:block;margin-top:6px;color:var(--text-3);font:400 9px DM Mono,monospace}.deal-badge{display:inline-block;padding:5px 7px;color:var(--paper);background:var(--sale);white-space:nowrap;font-size:9px;font-weight:900}.deal-cell small{display:block;margin-top:5px;color:var(--sale);font:500 9px DM Mono,monospace}.no-deal{color:var(--text-muted);font-size:9px}.protein-cell strong{font:500 20px DM Mono,monospace}.macro{width:76px;height:26px;display:flex;align-items:end;gap:3px}.macro span{width:7px;height:max(3px,calc(var(--v) * .32));background:var(--protein)}.macro span:nth-child(2){background:var(--carb);border:1px solid var(--line)}.macro span:nth-child(3){background:var(--fat)}.rating{min-width:54px;display:flex;flex-direction:column;gap:6px;font:500 14px DM Mono,monospace}.rating i{position:relative;display:block;width:48px;height:3px;background:var(--line)}.rating i:after{content:"";display:block;width:var(--fill);height:100%;background:var(--ink)}.pending{color:var(--text-muted);font-size:9px;white-space:nowrap}.reviews strong{font:500 14px DM Mono,monospace}.reviews span{margin-left:3px;color:var(--text-muted);font-size:9px}.row-arrow{width:36px;height:36px;display:grid;place-items:center;border:0;background:transparent;cursor:pointer}.row-arrow:hover{background:var(--signal)}.row-arrow svg{width:17px;transition:transform .18s ease}.row-arrow:hover svg{transform:translate(3px)}.empty{height:180px;text-align:center;color:var(--text-3)}.table-note{min-height:48px;display:flex;align-items:center;gap:18px;color:var(--text-3);font-size:9px}.table-note>span{display:flex;align-items:center;gap:6px}.table-note .spacer{flex:1}.dot{width:7px;height:7px;background:var(--protein)}.dot.carb{background:var(--carb);border:1px solid var(--line)}.dot.fat{background:var(--fat)}.trend-section{padding:88px clamp(18px,6vw,96px);color:var(--paper);background:var(--ink)}.section-title.inverse span{color:#f2f0e880}.metric-switch{padding:3px;background:#ffffff14}.metric-switch button{color:#f2f0e899}.metric-switch button.active{color:var(--ink);background:var(--signal)}.chart-shell{min-height:320px;padding:22px 24px 8px;border:1px solid rgba(242,240,232,.16);background:#ffffff06;overflow:hidden}.chart-legend{display:flex;gap:24px;min-height:30px;font:500 9px DM Mono,monospace;color:#f2f0e8b3}.chart-legend span{display:flex;align-items:center;gap:7px}.chart-legend i{width:14px;height:3px;background:var(--series)}.price-chart{width:100%;height:250px;overflow:visible}.grid line{stroke:#f2f0e817;stroke-width:1}.grid text{fill:#f2f0e866;text-anchor:end;font:9px DM Mono,monospace}.chart-series path{fill:none;stroke:var(--series);stroke-width:2;vector-effect:non-scaling-stroke}.chart-series circle{fill:var(--ink);stroke:var(--series);stroke-width:2;vector-effect:non-scaling-stroke}.chart-note{margin:14px 0 0;color:#f2f0e873;font-size:9px}.chart-empty{min-height:240px;display:grid;place-items:center;color:#f2f0e880}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-strong)}.method-grid article{min-height:210px;padding:30px 8% 24px 0;border-right:1px solid var(--line)}.method-grid article+article{padding-left:8%}.method-grid article:last-child{border-right:0}.method-grid b{color:var(--text-muted);font:500 10px DM Mono,monospace}.method-grid h3{margin:48px 0 12px;font-size:18px}.method-grid p{margin:0;color:var(--text-3);font-size:12px;line-height:1.9}footer{min-height:120px;padding:28px clamp(18px,4vw,64px);display:flex;align-items:center;gap:32px;color:#f2f0e880;background:var(--ink-2);font-size:9px}footer .logo{min-width:170px}footer .logo>span{border:1px solid rgba(242,240,232,.3);background:transparent;color:var(--paper)}footer p{flex:1;max-width:620px;line-height:1.7}footer>span{font:500 9px DM Mono,monospace}.drawer-open{overflow:hidden}.drawer-backdrop{position:fixed;inset:0;z-index:60;background:#17181280;backdrop-filter:blur(4px);animation:fade .2s ease}.drawer{position:fixed;inset:0 0 0 auto;z-index:61;width:min(600px,100%);padding:34px clamp(20px,4vw,48px) 60px;overflow-y:auto;background:var(--paper-high);box-shadow:-20px 0 60px #00000024;animation:slide .32s cubic-bezier(.2,.8,.2,1)}@keyframes fade{0%{opacity:0}}@keyframes slide{0%{transform:translate(100%)}}.drawer-close{position:absolute;top:24px;right:24px;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);background:transparent;cursor:pointer}.drawer-head{padding:48px 0 32px;display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line-strong)}.brand-mark.large{width:58px;height:70px}.drawer-head p{margin:0 0 6px;color:var(--text-3);font:500 9px DM Mono,monospace}.drawer-head h2{margin:0;font-size:34px;line-height:1;letter-spacing:-.05em}.drawer-head div>span{display:block;margin-top:7px;color:var(--text-3);font-size:11px}.detail-price{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line-strong)}.detail-price>div{padding:24px 0}.detail-price>div+div{padding-left:24px;border-left:1px solid var(--line)}.detail-price span{display:block;margin-bottom:12px;color:var(--text-3);font-size:9px}.detail-price strong{font:500 28px DM Mono,monospace}.deal-detail{margin:18px 0 0;padding:14px;display:flex;align-items:center;gap:14px;background:#fff0ea;border-left:3px solid var(--sale)}.deal-detail b{padding:4px 6px;color:#fff;background:var(--sale);font-size:9px}.deal-detail span{color:var(--text-2);font-size:10px}.nutrition,.flavor-section{padding:32px 0;border-bottom:1px solid var(--line-strong)}.nutrition h3,.drawer-section-title h3{margin:0 0 18px;font-size:14px}.nutrition>div{display:grid;grid-template-columns:repeat(4,1fr)}.nutrition span{border-right:1px solid var(--line);font:500 11px DM Mono,monospace}.nutrition span+span{padding-left:16px}.nutrition span:last-child{border-right:0}.nutrition b{font-size:21px}.nutrition small{display:block;margin-top:6px;color:var(--text-muted);font-size:7px}.drawer-section-title{display:flex;justify-content:space-between;align-items:baseline}.drawer-section-title span{color:var(--text-muted);font:500 8px DM Mono,monospace}.flavor-list article{padding:16px 0;display:grid;grid-template-columns:1fr 180px;gap:18px;border-top:1px solid var(--line-soft)}.flavor-list h4{margin:0;font-size:13px}.flavor-list p{margin:5px 0 0;color:var(--text-3);font-size:9px;line-height:1.6}.flavor-list dl{margin:0;display:grid;grid-template-columns:repeat(3,1fr)}.flavor-list dl div{text-align:right}.flavor-list dt{color:var(--text-muted);font-size:8px}.flavor-list dd{margin:5px 0 0;font:500 10px DM Mono,monospace}.source-box{margin-top:24px;padding:18px;display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--paper-inset)}.source-box div>*{display:block}.source-box span,.source-box small{color:var(--text-3);font:500 8px/1.6 DM Mono,monospace}.source-box b{margin:4px 0;font-size:11px}.source-box a{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:10px;font-weight:700}.source-box svg{width:15px}.fatal{min-height:100vh;display:grid;place-content:center;justify-items:center;padding:30px;text-align:center}.fatal>span{width:64px;height:64px;display:grid;place-items:center;color:var(--signal);background:var(--ink)}.fatal h1{margin:24px 0 8px}.fatal p{color:var(--text-3)}.fatal button{padding:10px 18px;border:0;color:var(--paper);background:var(--ink);cursor:pointer}@media(max-width:1080px){.market-head{grid-template-columns:1fr;gap:56px}.market-tape{max-width:700px}.control-deck{grid-template-columns:1fr auto}.searchbox{grid-column:1 / -1}}@media(max-width:720px){.topbar{height:60px;padding:0 16px}.logo{min-width:auto}.topbar nav{display:none}.freshness span{display:none}.market-head{min-height:0;padding:62px 20px 42px}.market-head h1{font-size:clamp(56px,19vw,82px)}.lead{margin-top:24px}.market-tape>div{min-height:104px}.market-tape strong{font-size:28px}.deal-strip>span{padding:0 12px}.compare-section,.method-section,.trend-section{padding:64px 16px}.section-title{display:block}.section-title p{margin-top:18px}.control-deck{display:block}.filter-set{margin-top:10px;overflow-x:auto}.sort-set{margin-top:8px;padding:8px 0 0;overflow-x:auto;border-top:1px solid var(--line);border-left:0}.filter-set button,.sort-set button{flex:0 0 auto}.table-note{flex-wrap:wrap;padding-top:10px}.table-note .spacer{display:none}.trend-section .section-title{display:flex;align-items:end}.chart-shell{min-height:260px;padding:16px 8px 0}.price-chart{height:210px}.method-grid{grid-template-columns:1fr}.method-grid article,.method-grid article+article{min-height:0;padding:24px 0;border-right:0;border-bottom:1px solid var(--line)}.method-grid h3{margin-top:22px}footer{display:grid;grid-template-columns:1fr auto}footer p{grid-column:1 / -1;order:2}.drawer{padding-inline:20px}.flavor-list article{grid-template-columns:1fr}.flavor-list dl div{text-align:left}.source-box{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
