1document.addEventListener("DOMContentLoaded",()=>{const QUIZ_DATA=[{key:"flavor",question:"Q1: ã©ã®ãããªãã¬ã¼ãã¼ã«æ¹ããã¾ããï¼",subtitle:"æ®æ®µå¥½ãå³ãèãã¦ã¿ã¦ãã ããã",options:["è¯ããããã«ã¼ãã£ã¼","ãããããã§ã³ã¬ã¼ãã®ãã","ã¹ã¢ã¼ãã¼ãåå¼·ã","ãã©ã³ã¹ãåãã¦ãã¦æ»ãã"]},{key:"acidity",question:"Q2: ã³ã¼ãã¼ã®é
¸å³ã«ã¤ãã¦ã¯ã©ãã§ããï¼",subtitle:"ç½ãããªé
¸å³ã好ãããç©ãããªãã®ãè¯ããæãã¦ãã ããã",options:["ãã«ã¼ãã£ã¼ãªé
¸å³ã好ã","å°ãæããããããä¸åº¦ãã","é
¸å³ã¯ãã¾ã徿ã§ã¯ãªã"]},{key:"body",question:"Q3: å£å½ããã®å¥½ã¿ã¯ããã¾ããï¼",subtitle:"飲ãã æã®æºè¶³æãã¤ã¡ã¼ã¸ãã¦ãã ããã",options:["ãã£ãã軽ãã","ãã©ã³ã¹ãåãã¦ãã","ã©ã£ããéåæ"]},{key:"effort",question:"Q4: ã©ããããã®æéãããããã§ããï¼",subtitle:"æ¯æ¥ã®ç¿æ
£ã«åããã¦æ£ç´ã«çãã¦ãã ããï¼",options:["ã»ã¼æéãªãï¼ãæ¹¯ãæ³¨ãã ããªã©ï¼","å°ãã®æéï¼ããªãããã·ã³ãªã©ï¼","ããã»ã¹ã楽ããï¼ãã³ãããªãããªã©ï¼"]},{key:"caffeine",question:"Q5: ã«ãã§ã¤ã³ã¯ã©ã®ãããæ°ã«ãã¾ããï¼",subtitle:"æé帯ãä½èª¿ã«åããã¦é¸ãã§ã¿ã¾ãããã",options:["ãã£ããæãããï¼æ°ã«ããªãï¼","æ®éã§è¯ã","æ§ãããè¯ãï¼ãã«ãã§ï¼"]},{key:"roast",question:"Q6: çç
度åãã®å¥½ã¿ã¯ããã¾ããï¼",subtitle:"é¦ã°ãããè¦å³ã®ãã©ã³ã¹ãé¸ãã§ãã ããã",options:["æµ
ç
ãï¼ãã«ã¼ãã£ã¼ï¼","ä¸ç
ãï¼ãã©ã³ã¹ï¼","æ·±ç
ãï¼ãã¿ã¼ï¼"]},{key:"pairing",question:"Q7: ã³ã¼ãã¼ã¨ä½ãåãããã®ã好ãã§ããï¼",subtitle:"ãæ°ã«å
¥ãã®çµã¿åãããæãã¦ãã ããã",options:["ã¹ã¤ã¼ããã±ã¼ã","ç¹ã«ä½ãåãããªã","ãã§ã³ã¬ã¼ã"]},{key:"importance",question:"Q8: ã³ã¼ãã¼ãé¸ã¶ä¸ã§æãéè¦ãããã¨ã¯ï¼",subtitle:"ããªãã®ã³ã¼ãã¼å²å¦ãæãã¦ãã ããã",options:["é¦ã","å³ã®ãã©ã³ã¹","æè»½ã","çãã"]}];const COFFEE_DATA={decafGuide:{name:"ãã«ãã§ã®ã³ã¼ãã¼é¸ã³",tagline:"ã«ãã§ã¤ã³ãæ§ããã叿ãåªå
ãã¾ãã",description:"å³ã®å¥½ã¿ã«å ãã¦ããã«ãã§ã§ãããã¨ãæ¡ä»¶ã«é¸ã³ã¾ãããããã«ãã§å°ç¨ã®æ¯è¼è¨äºãããè±ãç²ãªã©ã好ã¿ã®ã¿ã¤ããæ¢ãã¾ãã",ctaText:"ãã«ãã§ã®æ¯è¼è¨äºãè¦ã",ctaUrl:"https://coffee-labo.co.jp/decaf-recommended/",internal:!0},laboCafe:{name:"ã©ãã«ãã§ å®æä¾¿",tagline:"ããªãã ãã®ã³ã¼ãã¼ä½é¨ã",imageUrl:"https://coffee-labo.co.jp/wp-content/uploads/2022/03/6e5c6d711d5e73c5789269fd7ee5e10c.jpg",description:"å°éã®ã³ã¼ãã¼éå®å£«ãå³é¸ãããé«å質ãªã¹ãã·ã£ã«ãã£ã³ã¼ãã¼ã®å®æä¾¿ãããªãã®å¥½ã¿ã«åãããç¹å¥ãªä¸æ¯ã§ãæ¯æ¥ãè±ãã«å½©ãã¾ãã",ctaText:"å®æä¾¿ã詳ããè¦ã",ctaUrl:"https://coffee-labo.co.jp/products/subscription/",internalLinkText:"ã©ãã«ãã§ã®é
åã¨ã¯ï¼è©å¤ã»å£ã³ãããããã人æ°ã³ã¼ãã¼è±ãç´¹ä»ï¼",internalLinkUrl:"https://coffee-labo.co.jp/labo-cafe/"},coffeeSoldier:{name:"ã³ã¼ãã¼ã½ã«ã¸ã£ã¼",tagline:"ã¾ãã¯äººæ°ã®ä¸æ¯ã試ãããæ¹ã«",imageUrl:"https://coffee-labo.co.jp/wp-content/uploads/2020/06/f97ce16d09a6306f72fa058663f89dd3.jpg",description:"ã³ã¼ãã¼ã½ã«ã¸ã£ã¼ãæ°ã«ãªãæ¹ã«åãããããããã¾ãã¯ã試ãã§å³ã確ããããæ¹ãæè»½ã«ç¾å³ããã³ã¼ãã¼ä½é¨ãå§ãããæ¹ã«åãã¦ãã¾ãã",ctaText:"ååãã¼ã¸ãè¦ã",ctaUrl:"https://af.moshimo.com/af/c/click?a_id=1919333&p_id=1956&pc_id=3910&pl_id=26914&url=http%3A%2F%2Fcoffeesoldier.shop-pro.jp%2F%3Fpid%3D107962818",internalLinks:[{text:"ã³ã¼ãã¼ã½ã«ã¸ã£ã¼ ã試ãã»ããã®ã¬ãã¥ã¼ã»è©³ç´°ã¯ãã¡ã",url:"https://coffee-labo.co.jp/coffee-soldier-trial-set/"},{text:"ã³ã¼ãã¼ã½ã«ã¸ã£ã¼ã®è©å¤ã»ç¹å¾´ã¾ã¨ãã¯ãã¡ã",url:"https://coffee-labo.co.jp/coffee-soldier/"}]},coffeeCarrot:{name:"çç²ãããã£ã¨ ååã試ãã»ãã",tagline:"æåã®é¦ãããã¾ãã¯ã試ã",imageUrl:"https://coffee-labo.co.jp/wp-content/uploads/2019/06/coffee-carrot-set-1.jpg",description:"åãã¦ã®æ¹éå®ï¼ãããæ¬å½ã«ã³ã¼ãã¼ï¼ãã¨é©ãã»ã©ã®ãã«ã¼ãã£ã¼ãªé¦ãã¨çããä½é¨ã§ããã»ãããçç
ããã¦ã®æ°é®®ãªè±ã ããæã¤ãæ ¼å¥ãªå³ããããå®¶åºã§ã",ctaText:"ã試ãã»ãããè¦ã",ctaUrl:"https://px.a8.net/svt/ejp?a8mat=3BBPK4+4786QY+2CG0+5YJRM",internalLinkText:"çç²ãããã£ã¨ã®è©å¤ã»å£ã³ãã¯ï¼ããããã®ååã試ãã»ãããç´¹ä»",internalLinkUrl:"https://coffee-labo.co.jp/carrot/"},doiCoffee:{name:"åå±
çç² ããããã»ãã",tagline:"è·äººæãå
ããæ¥µä¸ã®ä¸æ¯",imageUrl:"https://coffee-labo.co.jp/wp-content/uploads/2020/11/IMG_9945.jpeg",description:"嵿¥40年以ä¸ã®èèããæ³¨æå¾ã«å°éãã¤ä¸å¯§ã«çç
ãè±ãæã¤ããã³ã·ã£ã«ãæå¤§éã«å¼ãåºãããæ·±ãè±ããªå³ãããç¹å¾´ã§ããæ¬ç©ã®ã³ã¼ãã¼ã®å³ãç¥ãããããªãã«ã",ctaText:"ã試ãã»ãããè¦ã",ctaUrl:"https://px.a8.net/svt/ejp?a8mat=3BBEJS+E9T65M+2H8I+5YJRM",internalLinkText:"åå±
çç²ã®è©å¤ã¯ï¼ç¾å³ããã®çç±ããããããã®è±ã¾ã§è§£èª¬",internalLinkUrl:"https://coffee-labo.co.jp/doi/"}};const RESULT_TYPES={adventurousExplorer:{name:"åéºå®¶ã¿ã¤ã",description:"æ°ãããã¬ã¼ãã¼ãä½é¨ãæ±ããããªãããã«ã¼ãã£ã¼ã§è¯ãããªé¦ãã®ã³ã¼ãã¼ã«å¿æ¹ãããå¾åãããã¾ããã³ã¼ãã¼ãæ·¹ããããã»ã¹ãã®ãã®ã楽ãããã¨ãã§ããã好å¥å¿æºçãªã¿ã¤ãã§ãã",coffeeId:"coffeeCarrot",imageUrl:"https://coffee-labo.co.jp/wp-content/uploads/2022/09/pixta_78235373_M.jpg"}
1,qualitySeeker:{name:"æ¬æ ¼å¿åã¿ã¤ã",description:"ã³ã¼ãã¼æ¬æ¥ã®æ·±ãè±ããªå³ããã大åã«ããããªãããã§ã³ã¬ã¼ãããããã®ãããªãªãããªé¢¨å³ããè·äººæãå ã䏿¯ãæ±ãã¦ãã¾ããæ¬ç©ãè¦æ¥µãã確ããªèãæã¤ãã³ã¼ãã¼éã¿ã¤ãã§ãã",coffeeId:"doiCoffee",imageUrl:"https://coffee-labo.co.jp/wp-content/uploads/2024/11/pixta_92503091_M.jpg"},everydayComfort:{name:"ãã©ã³ã¹éè¦ã¿ã¤ã",description:"æ¯æ¥ã®çæ´»ã«ãã£ã¨å¯ãæ·»ãããã©ã³ã¹ã®åãã䏿¯ã好ãããªããæéãããããããå®ããã®ã²ã¨ã¨ããæ¥½ãã¿ããã¨èãã¦ãã¾ããã©ããªã·ã¼ã³ã«ãåãã調åã®åããã³ã¼ãã¼ãã´ã£ããã§ãã",coffeeId:"laboCafe",imageUrl:"https://coffee-labo.co.jp/wp-content/uploads/2024/11/pixta_98498963_M.jpg"},trendySeeker:{name:"ãã¬ã³ã追æ±ã¿ã¤ã",description:"å¸¸ã«æ°ãããã®ã話é¡ã®ãã®ã追ããããããªãããã¶ã¤ã³æ§ã®é«ãããã±ã¼ã¸ããSNSã§è©±é¡ã®ã³ã¼ãã¼ã«èå³ãããã¾ããã³ã¼ãã¼ãéãã¦ã©ã¤ãã¹ã¿ã¤ã«ã表ç¾ããã¿ã¤ãã§ãã",coffeeId:"coffeeSoldier",imageUrl:"https://coffee-labo.co.jp/wp-content/uploads/2019/07/pixta_42843010_M.jpg"}};const QUIZ_VARIANT="A" 2const SCORING_CONFIG={A:{initialBias:{everydayComfort:2,adventurousExplorer:0,qualitySeeker:0,trendySeeker:0}}} 3const container=document.getElementById("quiz-container");if(!container)return;const quizBody=container.querySelector("#quiz-body");const resultArea=container.querySelector("#result-area");let index=0,answers={},resultType=null;let questionStartTime=null,quizStartTime=null,quizInProgress=!1,abandonmentFired=!1;let resultViewStartTime=null;let quizStarted=!1;function trackEvent(name,params){if(typeof gtag==="function")gtag("event",name,{...params,quiz_variant:QUIZ_VARIANT})} 4function el(tag,attrs,children){const e=document.createElement(tag);if(attrs){for(const k in attrs){if(k==="className")e.className=attrs[k];else if(k==="dataset"){for(const d in attrs[k])e.dataset[d]=attrs[k][d]}else if(attrs[k]!=null)e.setAttribute(k,attrs[k])}} 5if(children){(Array.isArray(children)?children:[children]).forEach(ch=>{if(ch==null)return;e.appendChild(typeof ch==="string"?document.createTextNode(ch):ch)})} 6return e} 7function svgEl(paths,vb){const NS="http://www.w3.org/2000/svg";const svg=document.createElementNS(NS,"svg");svg.setAttribute("viewBox",vb||"0 0 24 24");paths.forEach(d=>{const p=document.createElementNS(NS,"path");p.setAttribute("d",d);svg.appendChild(p)});return svg} 8function trackAbandonment(){if(!quizInProgress||abandonmentFired||index>=QUIZ_DATA.length)return;abandonmentFired=!0;const timeSpent=quizStartTime?Math.round((Date.now()-quizStartTime)/1000):0;trackEvent("quiz_abandoned",{abandoned_at_question:index+1,total_questions:QUIZ_DATA.length,time_spent_seconds:timeSpent,answers_given:Object.keys(answers).length})} 9document.addEventListener("visibilitychange",()=>{if(document.visibilityState==="hidden"){trackAbandonment();if(resultViewStartTime&&!quizInProgress){trackEvent("result_view_duration",{result_type:resultType?resultType.name:'',type_key:resultType?resultType.typeKey:'',duration_seconds:Math.round((Date.now()-resultViewStartTime)/1000)});resultViewStartTime=null}}});window.addEventListener("pagehide",()=>{trackAbandonment()});function showCelebration(){const celebIcon=el("div",{className:"celebration-icon"});const celebSvg=svgEl(["M2 21V19H22V21ZM4 17V10H6V17ZM8 17V7C8 6.45 8.196 5.979 8.588 5.587C8.98 5.195 9.45 5 10 5H18C18.55 5 19.021 5.195 19.413 5.587C19.805 5.979 20 6.45 20 7V10H16V17ZM10 10H14V7H10ZM18 10V7H16V10Z"],"0 0 24 24");celebSvg.style.cssText="width:48px;height:48px;fill:#8b5e3c;";celebIcon.appendChild(celebSvg);const celebBlock=el("div",{className:"celebration-block"},[celebIcon,el("p",{className:"celebration-text"},["診æå®äºï¼"]),el("p",{className:"celebration-subtext"},["ããªãã«ã´ã£ããã®ã³ã¼ãã¼ãåæä¸..."])]);quizBody.textContent="";quizBody.appendChild(celebBlock);quizBody.classList.remove("hidden");resultArea.classList.add("hidden");setTimeout(()=>{renderResult()},2000)} 10function generateShareCard(rt,callback){const canvas=document.createElement('canvas');canvas.width=1200;canvas.height=630;const ctx=canvas.getContext('2d');const grad=ctx.createLinearGradient(0,0,1200,630);grad.addColorStop(0,'#2c1810');grad.addColorStop(1,'#4a2c20');ctx.fillStyle=grad;ctx.fillRect(0,0,1200,630);ctx.fillStyle='#c4a882';ctx.font='600 24px sans-serif';ctx.fillText('ã³ã¼ãã¼è¨ºæçµæ',60,80);ctx.fillStyle='#ffffff';ctx.font='700 48px sans-serif';ctx.fillText('ããªãã¯',60,180);ctx.fillText('ã'+rt.name+'ã',60,240);ctx.font='400 20px sans-serif';if(rt.caffeinePreference==='decaf')ctx.fillText('ã«ãã§ã¤ã³ã
10®å¸æï¼ãã«ãã§',60,275);const words=rt.description;const maxW=500;const lineH=30;let y=310;let line='';for(let i=0;i<words.length;i++){const test=line+words[i];if(ctx.measureText(test).width>maxW&&line){ctx.fillText(line,60,y);y+=lineH;line=words[i]}else line=test} 11if(line)ctx.fillText(line,60,y);ctx.fillStyle='#c4a882';ctx.font='600 18px sans-serif';ctx.fillText('coffee-labo.co.jp',60,580);const img=new Image();img.crossOrigin='anonymous';img.onload=function(){ctx.drawImage(img,620,40,540,550);callback(canvas)};img.onerror=function(){callback(canvas)};img.src=rt.imageUrl} 12function renderQuestion(){questionStartTime=Date.now();if(index===0&&!quizStarted)quizStartTime=Date.now();if(index>=QUIZ_DATA.length){showCelebration();return} 13const q=QUIZ_DATA[index];const prog=((index+1)/QUIZ_DATA.length)*100;const fillDiv=el("div",{className:"progress-bar-fill"});fillDiv.style.width=prog+"%";const optionsContainer=el("div",{className:"options-container",role:"radiogroup","aria-labelledby":"quiz-question-title"});q.options.forEach((o,i)=>{const id="q"+index+"-"+i;const radio=el("input",{type:"radio",id:id,name:"q-"+index,value:o});if(answers[q.key]===o)radio.checked=!0;const label=el("label",{"for":id},[el("span",{className:"option-radio-visual"},[el("span",{className:"inner-dot"})]),el("span",null,[o])]);optionsContainer.appendChild(el("div",null,[radio,label]))});const trackDiv=el("div",{className:"progress-bar-track",role:"progressbar","aria-valuenow":String(Math.round(prog)),"aria-valuemin":"0","aria-valuemax":"100"},[fillDiv]) 14const blockChildren=[el("div",{className:"progress-bar-container"},[el("div",{className:"progress-bar-labels"},[el("span",{className:"label-text"},["Q"+(index+1)]),el("span",{className:"label-count"},[(QUIZ_DATA.length-index-1)>0?"ã㨠"+(QUIZ_DATA.length-index-1)+" å":"æå¾ã®è³ªå"])]),trackDiv]),el("p",{className:"question-title",id:"quiz-question-title",tabindex:"-1"},[q.question]),el("p",{className:"question-subtitle"},[q.subtitle]),optionsContainer];if(index===0&&!quizStarted){const lead=el("p",{className:"quiz-lead"},["å ¨"+QUIZ_DATA.length+"åã»ç´30ç§ã§ãããªãã«ã´ã£ããã®ä¸æ¯ããããã¾ã"]);blockChildren.unshift(lead)} 15if(index>0){blockChildren.push(el("div",{className:"back-button-container"},[(function(){const btn=el("button",{className:"back-button"},["åã®è³ªåã«æ»ã"]);const arw=svgEl(["M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"],"0 0 24 24");arw.style.cssText="width:14px;height:14px;fill:currentColor;";btn.prepend(arw);return btn})()]))} 16const block=el("div",{className:"question-block"},blockChildren);quizBody.textContent="";quizBody.appendChild(block);quizBody.classList.remove("hidden");resultArea.classList.add("hidden");let advanceTimer=null;block.querySelectorAll('input[type=radio]').forEach(r=>r.onchange=e=>{const timeSpent=questionStartTime?Math.round((Date.now()-questionStartTime)/1000):0;if(!quizStarted){quizStarted=!0;quizInProgress=!0;trackEvent("quiz_start",{})} 17answers[q.key]=e.target.value;trackEvent("question_answered",{question_key:q.key,answer:e.target.value,question_number:index+1,time_spent_seconds:timeSpent});clearTimeout(advanceTimer);advanceTimer=setTimeout(()=>{index++;renderQuestion()},300)});const back=block.querySelector(".back-button");if(back)back.onclick=()=>{clearTimeout(advanceTimer);index--;renderQuestion()};const qTitle=block.querySelector(".question-title") 18if(qTitle)qTitle.focus({preventScroll:!0})} 19function judge(){const s={...SCORING_CONFIG[QUIZ_VARIANT].initialBias};const a=answers;if(a.flavor==="è¯ããããã«ã¼ãã£ã¼")s.adventurousExplorer+=3;if(a.flavor==="ãããããã§ã³ã¬ã¼ãã®ãã")s.qualitySeeker+=3;if(a.flavor==="ã¹ã¢ã¼ãã¼ãåå¼·ã"){s.qualitySeeker+=1;s.everydayComfort+=1} 20if(a.flavor==="ãã©ã³ã¹ãåãã¦ãã¦æ»ãã")s.everydayComfort+=3;if(a.acidity==="ãã«ã¼ãã£ã¼ãªé ¸å³ã好ã")s.adventurousExplorer+=2;if(a.acidity==="å°ãæããããããä¸åº¦ãã")s.everydayComfort+=1;if(a.acidity==="é ¸å³ã¯ãã¾ã徿ã§ã¯ãªã"){s.qualitySeeker+=1;s.everydayComfort+=1} 21if(a.body==="ãã£ãã軽ãã"){s.adventurousExplorer+=1;s.everydayComfort+=1} 22if(a.body==="ãã©ã³ã¹ãåãã¦ãã")s.everydayComfort+=2;if(a.body==="ã©ã£ããéåæ")s.qualitySeeker+=2;if(a.effort==="ã»ã¼æéãªãï¼ãæ¹¯ãæ³¨ãã ããªã©ï¼"){s.trendySeeker+=4;s.everydayComfort+=1} 23if(a.effort==="å°ãã®æéï¼ããªãããã·ã³ãªã©ï¼")s.everydayComfort+=1;if(a.effort==="ããã»ã¹ã楽ããï¼ãã³ãããªãããªã©ï¼"){s.adventurousExplorer+=1;s.qualitySeeker+=1} 24if(a.caffeine==="ãã£ããæãããï¼æ°ã«ããªãï¼")s.qual
24itySeeker+=1;if(a.caffeine==="æ®éã§è¯ã")s.everydayComfort+=1;if(a.caffeine==="æ§ãããè¯ãï¼ãã«ãã§ï¼"){s.trendySeeker+=1;s.everydayComfort+=1} 25if(a.roast==="æµ ç ãï¼ãã«ã¼ãã£ã¼ï¼")s.adventurousExplorer+=2;if(a.roast==="ä¸ç ãï¼ãã©ã³ã¹ï¼")s.everydayComfort+=3;if(a.roast==="æ·±ç ãï¼ãã¿ã¼ï¼"){s.qualitySeeker+=3;s.everydayComfort+=1} 26if(a.pairing==="ã¹ã¤ã¼ããã±ã¼ã")s.trendySeeker+=1;if(a.pairing==="ç¹ã«ä½ãåãããªã")s.everydayComfort+=1;if(a.pairing==="ãã§ã³ã¬ã¼ã")s.qualitySeeker+=2;if(a.importance==="é¦ã"){s.adventurousExplorer+=1;s.qualitySeeker+=1} 27if(a.importance==="å³ã®ãã©ã³ã¹")s.everydayComfort+=2;if(a.importance==="æè»½ã"){s.trendySeeker+=3;s.everydayComfort+=1} 28if(a.importance==="çãã"){s.adventurousExplorer+=1;s.trendySeeker+=1} 29const PRIORITY=["everydayComfort","adventurousExplorer","qualitySeeker","trendySeeker"];let key=PRIORITY[0],max=s[key];PRIORITY.forEach(k=>{if(s[k]>max){max=s[k];key=k}});return resultForType(key,a.caffeine==="æ§ãããè¯ãï¼ãã«ãã§ï¼"?"decaf":"any")} 30function resultForType(key,preference){const caffeinePreference=preference==="decaf"||preference==="any"?preference:"unknown";return{...RESULT_TYPES[key],typeKey:key,caffeinePreference,...(caffeinePreference==="decaf"?{coffeeId:"decafGuide"}:{})}} 31function trackResultScrollDepth(){if(typeof IntersectionObserver==="undefined")return;const milestones=[25,50,75,100];const fired=new Set();const block=resultArea.querySelector('.result-block');if(!block)return;const observer=new IntersectionObserver((entries)=>{entries.forEach(entry=>{if(entry.isIntersecting){const pct=parseInt(entry.target.dataset.scrollDepth);if(!fired.has(pct)){fired.add(pct);trackEvent("result_scroll_depth",{result_type:resultType.name,type_key:resultType.typeKey,depth_percent:pct})}}})},{threshold:0.5});milestones.forEach(pct=>{const marker=el("div",{dataset:{scrollDepth:String(pct)}});marker.style.cssText='height:1px;width:1px;pointer-events:none;';const children=block.children;const insertIndex=Math.floor((pct/100)*children.length);if(insertIndex<children.length)block.insertBefore(marker,children[insertIndex]);else block.appendChild(marker);observer.observe(marker)})} 32function renderResult(typeKeyOverride,caffeinePreference){if(typeKeyOverride&&RESULT_TYPES[typeKeyOverride]){resultType=resultForType(typeKeyOverride,caffeinePreference)}else{resultType=judge()} 33const c=COFFEE_DATA[resultType.coffeeId];if(!typeKeyOverride){const totalTime=quizStartTime?Math.round((Date.now()-quizStartTime)/1000):0;trackEvent("quiz_completed",{result_type:resultType.name,coffee_id:resultType.coffeeId,total_time_seconds:totalTime})} 34quizInProgress=!1;resultViewStartTime=Date.now();if(!typeKeyOverride){try{localStorage.setItem("coffee-quiz-result",JSON.stringify({schemaVersion:2,typeKey:resultType.typeKey,caffeinePreference:resultType.caffeinePreference,timestamp:Date.now()}))}catch(e){}} 35const typeImg=el("img",{className:"result-type-image",src:resultType.imageUrl,alt:resultType.name,width:"672",height:"224",loading:"lazy"});let feedbackText="" 36if(!typeKeyOverride&&Object.keys(answers).length>0){const flavorMap={"è¯ããããã«ã¼ãã£ã¼":"ãã«ã¼ãã£ã¼ãªå³ãã","ãããããã§ã³ã¬ã¼ãã®ãã":"ãããããã§ã³ã¬ã¼ãç³»ã®å³ãã","ã¹ã¢ã¼ãã¼ãåå¼·ã":"åå¼·ãå³ãã","ãã©ã³ã¹ãåãã¦ãã¦æ»ãã":"ãã©ã³ã¹ã®åããå³ãã"} 37const importanceMap={"é¦ã":"é¦ã","å³ã®ãã©ã³ã¹":"å³ã®ãã©ã³ã¹","æè»½ã":"æè»½ã","çãã":"çãããæ°ããçºè¦"} 38const f=flavorMap[answers.flavor]||"" 39const imp=importanceMap[answers.importance]||"" 40if(f&&imp)feedbackText=f+"ã好ã¿ã"+imp+"ã大åã«ããããªãã«ã´ã£ããã®ä¸æ¯ã§ãã"} 41const typeCardChildren=[el("p",{className:"subtitle"},["ããªãã¯..."]),el("p",{className:"result-type-name"},["ã"+resultType.name+"ãã§ãï¼"]),typeImg,el("p",{className:"result-type-description"},[resultType.description])]
42if(feedbackText){typeCardChildren.push(el("p",{className:"result-type-feedback"},[feedbackText]))} 43const preferenceText=resultType.caffeinePreference==="decaf"?"ã«ãã§ã¤ã³ã®å¸æï¼æ§ããï¼ãã«ãã§ï¼ããã«ãã§å°ç¨ã®æ¯è¼è¨äºããæ¡å ãã¾ãã":resultType.caffeinePreference==="unknown"?"ãã®çµæã«ã¯ã«ãã§ã¤ã³ã®å¸æãä¿åããã¦ãã¾ããããã«ãã§ãã叿ã®å ´åã¯ãããä¸åº¦è¨ºæãã¦ãã ããã":"ã«ãã§ã¤ã³ã®å¸æï¼é常ã®ã³ã¼ãã¼ã鏿è¢ã«å«ããã";typeCardChildren.push(el("p",{className:"result-caffeine-preference"},[preferenceText]));const typeCard=el("div",{className:"result-type-card"},typeCardChildren) 44const productImg=c.imageUrl?el("img",{src:c.imageUrl,alt:c.name,width:"672",height:"224",loading:"lazy"}):null;const ctaLink=el("a",{href:c.ctaUrl,...(c.internal?{}:{target:"_blank",rel:"nofollow noopener noreferrer"}),className:"cta-button"},[c.ctaText]);ctaLink.addEventListener("click",()=>{trackEvent("cta_clicked",{result_type:resultType.name,type_key:resultType.typeKey,coffee_name:c.name,coffee_id:resultType.coffeeId,link_url:c.ctaUrl})});const cardChildren=[el("p",{className:"result-card-title"},[c.name]),el("p",{className:"tagline"},[c.tagline]),productImg,el("p",{className:"description"},[c.description]),ctaLink];if(c&&Array.isArray(c.internalLinks)&&c.internalLinks.length){const promo=el("p",{className:"internal-link-promo"},["詳ããã¯ä»¥ä¸ã®è¨äºãåèã«ãã¦ä¸ããï¼"]);c.internalLinks.forEach((l,i)=>{if(i>0)promo.appendChild(document.createElement("br"));promo.appendChild(document.createElement("br"));const a=el("a",{href:l.url},[l.text]);promo.appendChild(a)});cardChildren.push(promo)}else if(c&&c.internalLinkUrl&&c.internalLinkText){const promo=el("p",{className:"internal-link-promo"},["詳ããã¯ä»¥ä¸ã®è¨äºãåèã«ãã¦ä¸ããï¼"]);promo.appendChild(document.createElement("br"));promo.appendChild(el("a",{href:c.internalLinkUrl},[c.internalLinkText]));cardChildren.push(promo)} 45const resultCard=el("div",{className:"result-card"},cardChildren);resultCard.querySelectorAll('.internal-link-promo a').forEach((link,i)=>{link.addEventListener('click',()=>{trackEvent("internal_link_clicked",{result_type:resultType.name,type_key:resultType.typeKey,link_url:link.href,link_position:i+1})})});const xBtn=el("button",{className:"share-button share-x","aria-label":"Xã§ã·ã§ã¢",dataset:{p:"x"}},[svgEl(["M18.901 1.153h3.68l-8.04 9.19L24 22.846H16.594l-5.8-7.584L4.156 22.846H.474l8.6-9.83L0 1.154h7.594l5.243 6.932Z"])]);const fbBtn=el("button",{className:"share-button share-facebook","aria-label":"Facebookã§ã·ã§ã¢",dataset:{p:"facebook"}},[svgEl(["M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878V14.89H7.9V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z"])]);const lineBtn=el("button",{className:"share-button share-line","aria-label":"LINEã§ã·ã§ã¢",dataset:{p:"line"}},[svgEl(["M12 1.2A10.8 10.8 0 0 0 1.2 12 10.8 10.8 0 0 0 12 22.8h.1A10.8 10.8 0 0 0 22.8 12 10.8 10.8 0 0 0 12 1.2zM16.4 14.3h-1.3a1 1 0 0 1-1-1.3 1.35 1.35 0 0 0-1.3-1 1.26 1.26 0 0 0-1.3 1.3v1h-1V9.5h1.1V11a2.27 2.27 0 0 1 2.7-1.5 2.53 2.53 0 0 1 2.6 2.4zm-5.3-4.8H9.9v4.8h1.2zm-3.1 0H6.8v4.8H8z"])]);const shareSection=el("div",{className:"share-section"},[el("p",{className:"share-section-title"},["診æçµæãã·ã§ã¢ãã"]),el("div",{className:"share-buttons-container"},[xBtn,fbBtn,lineBtn])]);const lineCta=el("div",{className:"line-cta-section"},[el("p",{className:"line-cta-title"},["診æçµæãLINEã§ä¿å & ããããæ å ±ãåãåã"]),el("p",{className:"line-cta-subtitle"},["åã ã¡è¿½å ã§ãããªãã®ã"+resultType.name+"ãã¿ã¤ãã«åã£ãã³ã¼ãã¼æ å ±ããå±ããã¾ã"]),el("a",{href:"https://lin.ee/q64GmoF",target:"_blank",rel:"noopener noreferrer",className:"line-cta-button"},["LINEã§åã ã¡è¿½å ãã"])]);lineCta.querySelector('.line-cta-button').addEventListener('click',()=>{trackEvent("line_friend_add_clicked",{result_type:resultType.name,type_key:resultType.typeKey})});const dlIcon=svgEl(["M5 20h14v-2H5v2zm7-18v12.17l3.59-3.58L17 12l-5 5-5-5 1.41-1.41L11 14.17V2h2z"],"0 0 24 24");dlIcon.style.cssText="width:16px;height:16px;fill:currentColor;";const downloadBtn=el("button",{className:"share-card-download"},[dlIcon,"診æã«ã¼ãããã¦ã³ãã¼ã"]);downloadBtn.addEventListener("click",()=>{generateShareCard(resultType,(canvas)=>{try{const link=document.createElement('a');link.download='coffee-diagnosis-'+resultType.typeKey+'.png';link.href=canvas.toDataURL('image/png');link.click();trackEvent("share_card_downloaded",{result_type:resultType.name})}
45catch(err){console.error("share card download failed:",err);trackEvent("share_card_download_failed",{result_type:resultType.name});alert("診æã«ã¼ãã®ç»åçæã«å¤±æãã¾ããããææ°ã§ãããçµæç»é¢ã®ã¹ã¯ãªã¼ã³ã·ã§ããããå©ç¨ãã ããã")}})});const block=el("div",{className:"result-block"},[el("p",{className:"result-title",tabindex:"-1"},["診æçµæ"]),typeCard,el("p",{className:"result-recommendation-title"},["ãããªããªãã¸ã®ããããã¯ãã¡ã"]),resultCard,el("div",{className:"restart-button-container"},[el("button",{className:"restart-button"},["ããä¸åº¦è¨ºæãã"])]),el("div",{className:"share-card-container"},[downloadBtn]),shareSection,lineCta]);container.dataset.resultType=resultType.typeKey 46resultArea.textContent="";resultArea.appendChild(block);quizBody.classList.add("hidden");resultArea.classList.remove("hidden");const rTitle=resultArea.querySelector(".result-title");if(rTitle)rTitle.focus({preventScroll:!0});trackResultScrollDepth()} 47function share(platform){if(!resultType)return;const configuredBase=window.ooaksCoffeeQuiz&&window.ooaksCoffeeQuiz.resultBaseUrl;const resultBase=(configuredBase||location.origin+location.pathname).replace(/[?#].*$/,"");const base=resultBase+"?result="+encodeURIComponent(resultType.typeKey)+"&caffeine="+encodeURIComponent(resultType.caffeinePreference);const url=encodeURIComponent(base);const text=encodeURIComponent("ã³ã¼ãã¼è¨ºæã§ã"+resultType.name+"ãã§ããï¼ #ã³ã¼ãã¼è¨ºæ");trackEvent("quiz_shared",{platform:platform,result_type:resultType.name});const map={x:"https://twitter.com/intent/tweet?url="+url+"&text="+text,facebook:"https://www.facebook.com/sharer/sharer.php?u="+url,line:"https://social-plugins.line.me/lineit/share?url="+url+"&text="+text};window.open(map[platform],"_blank","noopener,noreferrer")} 48resultArea.addEventListener("click",e=>{const restart=e.target.closest(".restart-button");if(restart){delete container.dataset.resultType;index=0;answers={};resultType=null;quizInProgress=!1;questionStartTime=null;quizStartTime=null;abandonmentFired=!1;resultViewStartTime=null;quizStarted=!1;quizBody.classList.remove("hidden");renderQuestion();return} 49const shareBtn=e.target.closest(".share-button");if(shareBtn){share(shareBtn.dataset.p)}});(function(){const fire=()=>trackEvent("quiz_impression",{});if(typeof IntersectionObserver==="undefined"){fire();return} 50const io=new IntersectionObserver(entries=>{if(entries.some(en=>en.isIntersecting)){io.disconnect();fire()}},{threshold:0.3});io.observe(container)})();try{const urlParams=new URLSearchParams(location.search);const urlResult=urlParams.get("result");if(urlResult&&RESULT_TYPES[urlResult]){renderResult(urlResult,urlParams.get("caffeine"));return}}catch(e){} 51try{const saved=localStorage.getItem("coffee-quiz-result");if(saved){const data=JSON.parse(saved);if(data&&data.typeKey&&RESULT_TYPES[data.typeKey]){const prevBtn=el("button",{className:"restart-button"},["ååã®è¨ºæçµæãè¦ã"]);const newBtn=el("button",{className:"restart-button"},["æ°ãã診æãå§ãã"]);const choiceBlock=el("div",{className:"question-block"},[el("p",{className:"question-title"},["ãããããªããï¼"]),el("p",{className:"question-subtitle"},["ååã®è¨ºæçµæã確èªããããæ°ãã診æãå§ãããã¨ãã§ãã¾ãã"]),el("div",{className:"back-button-container"},[prevBtn]),el("div",{className:"back-button-container"},[newBtn])]);quizBody.textContent="";quizBody.appendChild(choiceBlock);quizBody.classList.remove("hidden");resultArea.classList.add("hidden");prevBtn.addEventListener("click",()=>{renderResult(data.typeKey,data.caffeinePreference)});newBtn.addEventListener("click",()=>{renderQuestion()});return}}}catch(e){} 52renderQuestion()})
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.