PageSourceSearch

https://creategbm.com/_next/static/chunks/2237.c01733ee347a74fd.js

js creategbm.com collected 2026-10-05 09:46:40 UTC 131,725 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2237],{82237:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>eG});var a=n(95155),l=n(12115),i=n(57223),r=n(86122),s=n(59136),o=n(67401);let d=(0,o.A)("Thermometer",[["path",{d:"M14 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z",key:"17jzev"}]]);var c=n(51719),p=n(88060),m=n.n(p);n(66467);var h=n(20638),x=n(54255),u=n(49696),b=n(98867),g=n(44857);let f=(0,o.A)("ClipboardCopy",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]]),v='"Hiragino Sans", "Noto Sans JP", "Yu Gothic", "Meiryo", "Segoe UI", sans-serif';function y(e,t,n){if(!t)return[];let a=[],l="";for(let i of t){let t=l+i;e.measureText(t).width>n&&l?(a.push(l),l=i):l=t}return l&&a.push(l),a}function _(e,t,n){var a;let l;let i=[];for(let a of(i.push({text:"".concat(t.stationName,"(").concat(t.stationPref,")"),size:16,bold:!0,color:"#0f2b5c"}),(t.koppenCode||t.koppenName)&&i.push({text:"".concat(t.koppenCode," ").concat(t.koppenName).trim(),size:12,bold:!0,color:"#0f2b5c"}),t.koppenCaption&&i.push({text:t.koppenCaption,size:10,color:"#64748b"}),i.push({text:t.statsLine,size:11,color:"#475569"}),y(e,t.sourceLine,n)))i.push({text:a,size:10,color:"#64748b"});for(let l of null!==(a=t.extraLines)&&void 0!==a?a:[])for(let t of y(e,l,n))i.push({text:t,size:10,color:"#64748b"});if(t.overlayHint)for(let a of y(e,t.overlayHint,n))i.push({text:a,size:10,color:"#64748b"});for(let e of(i.push({text:t.brandLine,size:9,color:"#94a3b8"}),l=358,i.slice(1)))l+=e.size+6;return{lines:i,height:l+=20}}async function w(e){var t,n,a;let l=document.createElement("canvas").getContext("2d");l.font="bold 16px ".concat(v);let{height:i}=_(l,e,380),r=document.createElement("canvas");r.width=840,r.height=2*i;let s=r.getContext("2d");if(!s)throw Error("Canvas unsupported");s.scale(2,2),s.fillStyle="#ffffff",s.fillRect(0,0,420,i),s.strokeStyle="#e2e8f0",s.lineWidth=1,s.strokeRect(.5,.5,419,i-1);let o=20,{lines:d}=_(s,e,380),c=d[0];s.fillStyle=null!==(t=c.color)&&void 0!==t?t:"#0f2b5c",s.font="bold ".concat(c.size,"px ").concat(v),s.fillText(c.text,20,o+c.size),o+=c.size+10;let p=await (a=e.svgString,new Promise((e,t)=>{let n=new Image,l=URL.createObjectURL(new Blob([a],{type:"image/svg+xml;charset=utf-8"}));n.onload=()=>{URL.revokeObjectURL(l),e(n)},n.onerror=()=>{URL.revokeObjectURL(l),t(Error("SVG rasterize failed"))},n.src=l}));for(let e of(s.drawImage(p,20,o,380,300),o+=312,d.slice(1)))s.fillStyle=null!==(n=e.color)&&void 0!==n?n:"#475569",s.font="".concat(e.bold?"bold ":"").concat(e.size,"px ").concat(v),s.fillText(e.text,20,o+e.size),o+=e.size+6;return new Promise((e,t)=>{r.toBlob(n=>{n?e(n):t(Error("PNG encode failed"))},"image/png")})}async function k(e,t){var n;if("undefined"!=typeof navigator&&(null===(n=navigator.clipboard)||void 0===n?void 0:n.write)&&"undefined"!=typeof ClipboardItem)try{return await navigator.clipboard.write([new ClipboardItem({"image/png":e})]),"copied"}catch(e){}let a=URL.createObjectURL(e),l=document.createElement("a");return l.href=a,l.download=t,l.click(),URL.revokeObjectURL(a),"downloaded"}function j(e){let{label:t,titleLabel:n,copiedLabel:i,downloadedLabel:r,failedLabel:s,exportData:o,filenameSuffix:d=""}=e,[c,p]=(0,l.useState)("idle"),m=(0,l.useCallback)(async()=>{if("working"!==c){p("working");try{let e=await w(o),t=await k(e,function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=e.replace(RegExp("[^\\p{L}\\p{N}]+","gu"),"-").replace(/^-|-$/g,"")||"chart";return"climate-".concat(n).concat(t?"-".concat(t):"",".png")}(o.stationName,d));p(t),window.setTimeout(()=>p("idle"),2200)}catch(e){p("error"),window.setTimeout(()=>p("idle"),2800)}}},[o,d,c]),h="copied"===c,x="downloaded"===c,u="working"===c,v=h?i:x?r:"error"===c?s:t,y=h?b.A:x?g.A:f;return(0,a.jsxs)("button",{type:"button",onClick:m,disabled:u,title:n,"aria-label":n,className:"inline-flex flex-col items-center justify-center gap-1 w-[4.5rem] h-[4.5rem] shrink-0 rounded-lg font-black text-[11px] leading-tight tracking-tight shadow-[0_4px_14px_rgba(15,43,92,0.18)] transition-all active:scale-[0.97] disabled:opacity-70 ".concat(h?"bg-emerald-600 text-white ring-2 ring-emerald-300":x?"bg-slate-700 text-white ring-2 ring-slate-400":"error"===c?"bg-rose-600 text-white ring-2 ring-rose-300":"bg-brand-blue text-white hover:bg-brand-navy ring-2 ring-brand-blue/30"),children:[(0,a.jsx)(y,{className:"w-4 h-4 shrink-0","aria-hidden":!0}),(0,a.jsx)("span",{className:"text-center px-0.5",children:u?"…":v})]})}var N=n(40767),A=n(58197),C=n(93467),S=n(14081);function M(e){let{open:t,canCompare:n,labels:i,onClose:r,onCreate:s}=e,[o,d]=l.useState("type"),[c,p]=l.useState(null);if((0,l.useEffect)(()=>{t||(d("type"),p(null))},[t]),(0,l.useEffect)(()=>
1{if(!t)return;let e=e=>{"Escape"===e.key&&r()};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[t,r]),!t)return null;let m=e=>{("compare"!==e||n)&&(p(e),d("level"))},h=e=>{c&&s(c,e)};return(0,a.jsx)("div",{className:"fixed inset-0 z-[80] flex items-center justify-center p-4 bg-slate-950/55 backdrop-blur-[2px]",role:"dialog","aria-modal":"true","aria-labelledby":"ws-modal-title",onClick:r,children:(0,a.jsxs)("div",{className:"w-full max-w-lg rounded-2xl bg-white shadow-[0_24px_60px_rgba(2,6,23,0.35)] ring-1 ring-slate-200 overflow-hidden",onClick:e=>e.stopPropagation(),children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-3 px-5 py-4 border-b border-slate-100 bg-gradient-to-br from-brand-navy to-[#15294a] text-white",children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"text-[9px] font-mono tracking-[0.28em] uppercase text-sky-300 font-black mb-1",children:"WORKSHEET"}),(0,a.jsx)("h2",{id:"ws-modal-title",className:"text-[16px] font-black leading-snug",children:i.title}),(0,a.jsx)("p",{className:"text-[12px] text-slate-300 mt-1 leading-relaxed",children:i.lead})]}),(0,a.jsx)("button",{type:"button",onClick:r,className:"shrink-0 rounded-lg p-1.5 text-slate-300 hover:bg-white/10 hover:text-white","aria-label":i.cancel,children:(0,a.jsx)(N.A,{className:"w-5 h-5"})})]}),(0,a.jsx)("div",{className:"p-5",children:"type"===o?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{className:"text-[10px] font-mono tracking-[0.22em] uppercase text-brand-blue font-black mb-3",children:i.stepType}),(0,a.jsxs)("div",{className:"grid gap-2.5",children:[(0,a.jsx)("button",{type:"button",onClick:()=>m("explore"),className:"text-left rounded-xl ring-1 ring-slate-200 hover:ring-brand-blue/50 hover:bg-brand-blue/[0.04] p-3.5 transition-colors",children:(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[(0,a.jsx)("span",{className:"shrink-0 w-9 h-9 rounded-lg bg-emerald-500/15 text-emerald-700 flex items-center justify-center",children:(0,a.jsx)(A.A,{className:"w-4 h-4"})}),(0,a.jsxs)("span",{className:"min-w-0",children:[(0,a.jsx)("span",{className:"block text-[13.5px] font-black text-brand-navy",children:i.kindExplore}),(0,a.jsx)("span",{className:"block text-[11.5px] text-slate-600 mt-0.5 leading-relaxed",children:i.kindExploreDesc})]})]})}),(0,a.jsx)("button",{type:"button",onClick:()=>m("compare"),disabled:!n,className:"text-left rounded-xl ring-1 p-3.5 transition-colors ".concat(n?"ring-slate-200 hover:ring-brand-blue/50 hover:bg-brand-blue/[0.04]":"ring-slate-100 bg-slate-50 opacity-60 cursor-not-allowed"),children:(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[(0,a.jsx)("span",{className:"shrink-0 w-9 h-9 rounded-lg bg-sky-500/15 text-sky-700 flex items-center justify-center",children:(0,a.jsx)(C.A,{className:"w-4 h-4"})}),(0,a.jsxs)("span",{className:"min-w-0",children:[(0,a.jsx)("span",{className:"block text-[13.5px] font-black text-brand-navy",children:i.kindCompare}),(0,a.jsx)("span",{className:"block text-[11.5px] text-slate-600 mt-0.5 leading-relaxed",children:n?i.kindCompareDesc:i.kindCompareDisabled})]})]})})]})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,a.jsx)("p",{className:"text-[10px] font-mono tracking-[0.22em] uppercase text-brand-blue font-black",children:i.stepLevel}),(0,a.jsxs)("button",{type:"button",onClick:()=>{d("type"),p(null)},className:"text-[11.5px] font-bold text-slate-500 hover:text-brand-navy",children:["← ",i.back]})]}),(0,a.jsx)("div",{className:"grid gap-2",children:[["elementary",i.levelElementary,i.levelElementaryDesc],["junior",i.levelJunior,i.levelJuniorDesc],["senior",i.levelSenior,i.levelSeniorDesc]].map(e=>{let[t,n,l]=e;return(0,a.jsxs)("button",{type:"button",onClick:()=>h(t),className:"text-left rounded-xl ring-1 ring-slate-200 hover:ring-brand-blue/50 hover:bg-brand-blue/[0.04] px-3.5 py-3 transition-colors",children:[(0,a.jsx)("span",{className:"block text-[13.5px] font-black text-brand-navy",children:n}),(0,a.jsx)("span",{className:"block text-[11px] text-slate-600 mt-0.5",children:l})]},t)})})]})}),(0,a.jsx)("div",{className:"px-5 py-3 border-t border-slate-100 flex justify-end",children:(0,a.jsx)("button",{type:"button",onClick:r,className:"px-3 py-1.5 rounded-lg text-[12.5px] font-bold text-slate-600 hover:bg-slate-50",children:i.cancel})})]})})}function B(e){let{label:t,onClick:n}=e;return(0,a.jsxs)("button",{type:"button",onClick:n,className:"ml-auto px-3 py-1.5 rounded-md bg-brand-navy text-white text-[12.5px] font-black tracking-wide shadow-[0_4px_14px_rgba(11,23,74,0.25)] hover:bg-[#15294a] ring-1 ring-brand-navy
1/80 inline-flex items-center gap-1.5 transition-colors",children:[(0,a.jsx)(S.A,{className:"w-3.5 h-3.5","aria-hidden":!0}),t]})}let H={brand:"Create GBM 気候くらべマップ",nameLabel:"名前",classLabel:"組",dateLabel:"日付",kindExplore:"操作しながら探究する",kindCompare:"この2地点を考察する",levelElementary:"小学校",levelJunior:"中学校",levelSenior:"高等学校",sourceFooter:"出典:気象庁平年値(1991-2020)/WMO Normals 等(画面の各地点に準拠)|Create GBM",createGbmHint:"Create GBM内:気候くらべマップ/季節風・ジェット気流・海流/3D白地図エディター",pasteAppendixTitle:"付属:貼り付け用の雨温図",pasteAppendixLead:"探究で選んだ2地点の雨温図です。切り取り線に沿って切り、ワークシートの空欄やノートに貼ってください。",pasteAppendixLeadEmpty:"まだ2地点が選ばれていません。気候くらべマップでA・Bを選んでから、もう一度「操作しながら探究する」ワークシートを作成すると、ここに貼り付け用の雨温図が入ります。下の枠に手書きや画面のコピー画像を貼っても構いません。",pasteAppendixCutHint:"点線=切り取り線(貼り付けやすい大きさ)",pasteAppendixALabel:"地点 A",pasteAppendixBLabel:"地点 B",chartOnScreen:"(雨温図は画面で確認)",needTwoStations:"(2地点を選んでから生成してください)",seniorRowMeans:"年平均 / 年降水 / 年較差",seniorRowExtremes:"最寒月・最暖月気温",seniorRowSeason:"冬/夏降水 → f・w・s",seniorRowScreen:"画面の区分(検証対象)",seniorRowYours:"自分の判定(一致?)",pages:{explore:{elementary:{title:"にてる・ちがう まちをさがそう",subtitle:"気候くらべマップを操作しながら、2つのまちをくらべる",timeNote:"約20分・端末と一緒に",sections:[{heading:"1. えらぶルールを1つ選ぶ",bodyHtml:'<ul class="chk">\n              <li>□ 海に近いまち と 山の中のまち</li>\n              <li>□ 北の方のまち と 南の方のまち</li>\n              <li>□ 同じ地方の中の2つのまち</li>\n            </ul>'},{heading:"2. 地図か地名リストから2つ選ぶ(1つ目=A、2つ目=B)",bodyHtml:'<div class="grid2 name-fill">\n              <div>Aのまち:________________</div>\n              <div>Bのまち:________________</div>\n            </div>\n            <p class="tiny">画面の雨温図を見ながら下の表をうめよう。</p>'},{heading:"3. よみとってくらべる",bodyHtml:'<table class="ws">\n              <thead><tr><th>項目</th><th>A</th><th>B</th><th>どちらが大きい?</th></tr></thead>\n              <tbody>\n                <tr><td>1年の平均の気温</td><td></td><td></td><td>○ A ○ B</td></tr>\n                <tr><td>1年の雨や雪の量</td><td></td><td></td><td>○ A ○ B</td></tr>\n                <tr><td>冬(12〜2月)の雨や雪</td><td></td><td></td><td>○ A ○ B</td></tr>\n              </tbody>\n            </table>'},{heading:"4. かんがえよう",bodyHtml:'<p>にてるところを1つ:</p><div class="lines short"></div>\n              <p>ちがうところを1つ:</p><div class="lines short"></div>\n              <p class="opt">(やってみよう)気温の補助線で「あつい」と思う線を1本引く。線をこえる月が長いのは ○A ○B</p>'},{heading:"5. もういちど",bodyHtml:"<p>別のルールで2つのまちを選んで、もう1回やってみよう。新しく選んだまち:________ と ________</p>"}]},junior:{title:"気候区分を自分で探す",subtitle:"条件を決めて2地点を選び、判定→検証→他機能で確かめる",timeNote:"約40〜50分・端末と一緒に",sections:[{heading:"1. 条件を1つ選んで2地点を選ぶ",bodyHtml:'<ul class="chk">\n              <li>□ 同じ地方で「沿岸」と「内陸」</li>\n              <li>□ 隣り合う都道府県で気候が違いそうな組</li>\n              <li>□ 自分の住む県を含む組</li>\n            </ul>\n            <div class="grid2 name-fill"><div>A:________________</div><div>B:________________</div></div>'},{heading:"2. 読み取りの表(画面を見て記入)",bodyHtml:'<table class="ws compact">\n              <thead><tr><th>
1項目</th><th>A</th><th>B</th></tr></thead>\n              <tbody>\n                <tr><td>年平均気温 (℃)</td><td></td><td></td></tr>\n                <tr><td>年降水量 (mm)</td><td></td><td></td></tr>\n                <tr><td>気温の年較差 (℃)</td><td></td><td></td></tr>\n                <tr><td>最も雨が多い月</td><td></td><td></td></tr>\n                <tr><td>冬(12〜2月)降水量</td><td></td><td></td></tr>\n                <tr><td>夏(6〜8月)降水量</td><td></td><td></td></tr>\n              </tbody>\n            </table>\n            <p class="tiny">冬・夏の降水量は棒を足して確かめること。</p>'},{heading:"3. 判定メモ",bodyHtml:'<table class="ws compact">\n              <thead><tr><th>手がかり</th><th>A</th><th>B</th></tr></thead>\n              <tbody>\n                <tr><td>冬の降水 ≧ 夏の降水?</td><td>○はい ○いいえ</td><td>○はい ○いいえ</td></tr>\n                <tr><td>年較差は大きい?(目安20℃以上)</td><td>○はい ○いいえ</td><td>○はい ○いいえ</td></tr>\n                <tr><td>仮の気候区分名</td><td></td><td></td></tr>\n              </tbody>\n            </table>'},{heading:"4. 仮説を確かめる(同区分の別地点)",bodyHtml:'<p>同じ仮区分の別地点:________ 冬降水量:________ mm</p>\n              <p>仮説は ○支持された ○要修正 → 理由(1文):</p><div class="lines short"></div>'},{heading:"5. Create GBMで確かめる(1つ以上)",bodyHtml:'<ul class="chk">\n              <li>□ 季節風・ジェット気流・海流:1月の風の向きを確認</li>\n              <li>□ 3D白地図エディター:A–B付近の山地の壁を見る</li>\n              <li>□ 気候くらべマップ:同区分の別地点を再確認</li>\n            </ul>\n            <p>使った機能と分かったこと:</p><div class="lines short"></div>'}]},senior:{title:"地点を選び、仮説を立てて検証する",subtitle:"選定方針→読み取り→基準照合→Create GBMで検証",timeNote:"約50分〜・課題研究の導入",sections:[{heading:"1. 選定方針(選ぶ前に書く)",bodyHtml:'<p>例:同緯度だが気候が違う2地点を選び、緯度以外の要因を検証したい</p>\n              <div class="lines med"></div>\n              <div class="grid2 name-fill"><div>A:________________</div><div>B:________________</div></div>'},{heading:"2. 読み取り・基準照合",bodyHtml:'<table class="ws compact">\n              <thead><tr><th>項目</th><th>A</th><th>B</th></tr></thead>\n              <tbody>\n                <tr><td>年平均気温 / 年降水量 / 年較差</td><td></td><td></td></tr>\n                <tr><td>最寒月・最暖月の気温</td><td></td><td></td></tr>\n                <tr><td>冬/夏の降水量比 → f・w・s</td><td></td><td></td></tr>\n                <tr><td>画面の区分表示(検証対象)</td><td></td><td></td></tr>\n                <tr><td>自分の判定(一致?)</td><td></td><td></td></tr>\n              </tbody>\n            </table>'},{heading:"3. Create GBMで調べる(1つ以上)",bodyHtml:'<ul class="chk">\n              <li>□ 季節風・ジェット気流・海流(1月と7月)</li>\n              <li>□ 3D白地図エディター(地形・隔海度)</li>\n              <li>□ 海岸線タイムマシン(低地都市の場合)</li>\n              <li>□ 知識リポジトリ「気象と雲」/Weather Spark</li>\n              <li>□ 気候くらべマップ(世界・ケッペン重ね)</li>\n            </ul>\n            <p>使った機能名:________ 分かったこと:</p><div class="lines short"></div>'},{heading:"4. 考察(200〜300字)",bodyHtml:'<div class="lines tall"></div>'},{heading:"5. 次の探究の種",bodyHtml:'<p>次に比べたい2地点の候補:________ と ________(理由1行)</p><div class="lines short"></div>'}]}},compare:{elementary:{title:"2つのまちをくらべる",subtitle:"選ばれた2地点の雨温図をよみ、くらしとつなげる",timeNote:"約20〜30分",sections:[{heading:"1. ウォームアップ",bodyHtml:"<p>雨温図で、青い棒がいちばん高い月に○、赤い線がいちばん高い月に△をつけよう(画面または下の図)。</p>"},{heading:"2. よみとろう",bodyHtml:"<p>
1Aでいちばん気温が高いのは(  )月で、約(  )℃。</p>\n              <p>Bでいちばん雨や雪が多いのは(  )月。</p>"},{heading:"3. くらべよう(表の数値を見て○)",bodyHtml:"{{COMPARE_TABLE_ELEM}}"},{heading:"4. かんがえよう",bodyHtml:'<p>冬にBのまちへ行くなら、どんな服やもちものが必要?グラフを見て理由も書こう。</p>\n              <div class="lines med"></div>\n              <p class="opt">(やってみよう)気温の補助線で「あつい」線を引くと、線をこえる月が長いのは ○A ○B</p>'},{heading:"5. しらべてみよう",bodyHtml:'<ul class="chk">\n              <li>□ 2つのまちの冬の写真をさがす(雪はある?)</li>\n              <li>□ 名物の食べものや行事を1つ調べ、気候と関係があるか考える</li>\n              <li>□(余裕があれば)季節風・ジェット気流・海流で冬の風を見る</li>\n            </ul>'}]},junior:{title:"2地点をくらべ、気候区分を判定する",subtitle:"読み取り→判定→理由→Create GBMで確かめる",timeNote:"約30〜50分",sections:[{heading:"1. 読み取りの表(空欄を埋める)",bodyHtml:'{{COMPARE_TABLE_JUNIOR}}\n              <p class="tiny">冬・夏の降水量は棒を足して確かめる。年平均・年較差は画面の表を参照してよい。</p>'},{heading:"2. 判定",bodyHtml:'<table class="ws compact">\n              <thead><tr><th>手がかり</th><th>A</th><th>B</th></tr></thead>\n              <tbody>\n                <tr><td>冬の降水 ≧ 夏の降水?</td><td>○はい ○いいえ</td><td>○はい ○いいえ</td></tr>\n                <tr><td>年較差は大きい?(目安20℃以上)</td><td>○はい ○いいえ</td><td>○はい ○いいえ</td></tr>\n                <tr><td>気候区分(根拠を2つ)</td><td></td><td></td></tr>\n              </tbody>\n            </table>\n            <p class="tiny">ヒント:冬の降水が夏と同程度以上→日本海側を疑う。年較差が大きい→内陸・北。年中高温で年較差が小さい→南西諸島。</p>'},{heading:"3. 理由の考察(100〜150字)",bodyHtml:'<p>冬の降水量の違いはなぜ生まれるか。季節風・山地・海流のうち使える語を使って説明しなさい。</p>\n              <div class="lines med"></div>'},{heading:"4. Create GBMで確かめる",bodyHtml:'<ul class="chk">\n              <li>□ 季節風・ジェット気流・海流:1月の季節風の向き</li>\n              <li>□ 3D白地図エディター:A–Bを含む範囲の立体</li>\n              <li>□ 同区分の別地点で仮説を確かめる</li>\n            </ul>\n            <p>別地点名:________ 冬降水量:________ 仮説は ○支持 ○要修正</p>'}]},senior:{title:"2地点の気候差を検証する",subtitle:"平年値の性格→基準照合→考察→批判→次の問い",timeNote:"約50分〜",sections:[{heading:"1. データの性格",bodyHtml:'<p>この雨温図は平年値(1991-2020の30年平均)である。利点と、平年値では見えないものを1つずつ。</p>\n              <div class="grid2"><div>利点:<div class="lines short"></div></div><div>見えないもの:<div class="lines short"></div></div></div>'},{heading:"2. 読み取りと基準照合",bodyHtml:"{{COMPARE_TABLE_SENIOR}}"},{heading:"3. 比較考察(200〜300字)",bodyHtml:'<p>緯度以外の要因(隔海度・海流・地形・標高)のうち、この差を最もよく説明するものを選び、根拠とともに論ぜよ。</p>\n              <div class="lines tall"></div>'},{heading:"4. 批判的検討とCreate GBM",bodyHtml:'<p>日本の6区分の境界は本教材が標高から引いた近似である。境界を「線」で引く限界を1つ指摘せよ。</p>\n              <div class="lines short"></div>\n              <ul class="chk">\n                <li>□ 季節風・ジェット気流・海流</li>\n                <li>□ 3D白地図エディター</li>\n                <li>□ 海岸線タイムマシン</li>\n                <li>□ 知識リポジトリ/Weather Spark</li>\n                <li>□ 気候くらべマップ(ケッペン重ね)</li>\n              </ul>\n              <p>使った機能:________ 分かったこと(1文):</p><div class="lines short"></div>'},{heading:"5. 次の探究(RQ)",bodyHtml:'<div class="grid2 compact-grid">\n              <div>問い:<div class="lines short"></div></div>\n              <div>仮説:<div class="lines short"></div></div>\n              <div>必要なデータ:<div class="lines short"></div></div>\n              <div>出典の候補:<div class="lines short"></div></div>\n            </div>'}]}}}},E={brand:"Create GBM Climate Compare Map",nameLabel:"Name",classLabel:"Class",dateLabel:"Date",kindExplore:"Explore while using the map",kindCompare:"Analyse these two places",levelElementary:"Elementary",levelJunior:"Junior high",levelSenior:"Senior high",sourceFooter:"Sources: JMA normals (1991–2020) / WMO Normals (as shown per station) | Create GBM",createGbmHint:"In Create GBM: Climate Compare Map / Seasonal wind–jet–current / 3D white relief editor",pasteAppendixTitle:"Ap
1pendix: climographs for pasting",pasteAppendixLead:"Climographs for the two places you chose. Cut along the dotted lines and paste onto the worksheet blanks or your notes.",pasteAppendixLeadEmpty:"No two places are selected yet. Pick A and B on the Climate Compare Map, then create this “explore” worksheet again to fill these paste-ready climographs. You may also paste a screenshot or hand-drawn copy into the frames.",pasteAppendixCutHint:"Dotted line = cut line (sized for pasting)",pasteAppendixALabel:"Place A",pasteAppendixBLabel:"Place B",chartOnScreen:"(Check the climograph on screen)",needTwoStations:"(Select two places before generating)",seniorRowMeans:"Annual mean / precip. / range",seniorRowExtremes:"Coldest / warmest month temps",seniorRowSeason:"Winter/summer precip. → f / w / s",seniorRowScreen:"On-screen class (to verify)",seniorRowYours:"Your class (match?)",pages:{explore:{elementary:{title:"Find two towns that are alike and different",subtitle:"Use the Climate Compare Map to pick and compare two places",timeNote:"About 20 min \xb7 with a device",sections:[{heading:"1. Choose one picking rule",bodyHtml:'<ul class="chk"><li>□ Coastal town and inland / mountain town</li><li>□ Northern town and southern town</li><li>□ Two towns in the same region</li></ul>'},{heading:"2. Pick two places (1st = A, 2nd = B)",bodyHtml:'<div class="grid2 name-fill"><div>A: ________________</div><div>B: ________________</div></div>\n              <p class="tiny">Fill the table while looking at the climographs on screen.</p>'},{heading:"3. Read and compare",bodyHtml:'<table class="ws"><thead><tr><th>Item</th><th>A</th><th>B</th><th>Which is larger?</th></tr></thead>\n              <tbody>\n                <tr><td>Annual mean temperature</td><td></td><td></td><td>○ A ○ B</td></tr>\n                <tr><td>Annual precipitation</td><td></td><td></td><td>○ A ○ B</td></tr>\n                <tr><td>Winter (Dec–Feb) precipitation</td><td></td><td></td><td>○ A ○ B</td></tr>\n              </tbody></table>'},{heading:"4. Think",bodyHtml:'<p>One similarity:</p><div class="lines short"></div>\n              <p>One difference:</p><div class="lines short"></div>\n              <p class="opt">(Optional) Draw a “hot” guide line. Which place stays above it longer? ○A ○B</p>'},{heading:"5. Try again",bodyHtml:"<p>Pick two towns with another rule. New towns: ________ and ________</p>"}]},junior:{title:"Find climate zones yourself",subtitle:"Choose places by a rule → classify → check with other Create GBM tools",timeNote:"About 40–50 min \xb7 with a device",sections:[{heading:"1. Choose a rule and two places",bodyHtml:'<ul class="chk"><li>□ Same region: coast vs inland</li><li>□ Neighbouring prefectures that may differ</li><li>□ Include your home prefecture</li></ul>\n              <div class="grid2 name-fill"><div>A: ________________</div><div>B: ________________</div></div>'},{heading:"2. Reading table (from the screen)",bodyHtml:'<table class="ws compact"><thead><tr><th>Item</th><th>A</th><th>B</th></tr></thead><tbody>\n                <tr><td>Annual mean temp (\xb0C)</td><td></td><td></td></tr>\n                <tr><td>Annual precipitation (mm)</td><td></td><td></td></tr>\n                <tr><td>Annual temperature range (\xb0C)</td><td></td><td></td></tr>\n                <tr><td>Wettest month</td><td></td><td></td></tr>\n                <tr><td>Winter (Dec–Feb) precip.</td><td></td><td></td></tr>\n                <tr><td>Summer (Jun–Aug) precip.</td><td></td><td></td></tr>\n              </tbody></table>\n              <p class="tiny">Add the bars yourself for winter and summer totals.</p>'},{heading:"3. Classification notes",bodyHtml:'<table class="ws compact"><thead><tr><th>Clue</th><th>A</th><th>B</th></tr></thead><tbody>\n                <tr><td>Winter precip. ≥ summer?</td><td>○Yes ○No</td><td>○Yes ○No</td></tr>\n                <tr><td>Large annual range? (≈20\xb0C+)</td><td>○Yes ○No</td><td>○Yes ○No</td></tr>\n                <tr><td>Provisional climate zone</td><td></td><td></td></tr>\n              </tbody></table>'},{heading:"4. Test the hypothesis (another place in the same zone)",bodyHtml:'<p>Other place: ________ Winter precip.: ________ mm</p>\n              <p>○ Supported ○ Needs revision — reason:</p><div class="lines short"></div>'},{heading:"5. Check in Create GBM (at least one)",bodyHtml:'<ul class="chk">\n              <li>□ Seasonal wind–jet–current: January wind direction</li>\n              <li>□ 3D white relief editor: mountain barrier near A–B</li>\n              <li>□ Climate Compare Map: re-check same-zone place</li>\n            </ul>\n            <p>Tool used and what you learned:</p><div class="lines short"></div>'}
1]},senior:{title:"Choose places, form a hypothesis, verify",subtitle:"Selection rationale → reading → criteria check → Create GBM",timeNote:"About 50+ min \xb7 intro to inquiry",sections:[{heading:"1. Selection rationale (before picking)",bodyHtml:'<p>e.g. Two places at similar latitude but different climates — test non-latitude factors</p>\n              <div class="lines med"></div>\n              <div class="grid2 name-fill"><div>A: ________________</div><div>B: ________________</div></div>'},{heading:"2. Reading and criteria check",bodyHtml:'<table class="ws compact"><thead><tr><th>Item</th><th>A</th><th>B</th></tr></thead><tbody>\n                <tr><td>Mean temp / precip. / annual range</td><td></td><td></td></tr>\n                <tr><td>Coldest / warmest month temps</td><td></td><td></td></tr>\n                <tr><td>Winter/summer precip. → f / w / s</td><td></td><td></td></tr>\n                <tr><td>On-screen class (to verify)</td><td></td><td></td></tr>\n                <tr><td>Your class (match?)</td><td></td><td></td></tr>\n              </tbody></table>'},{heading:"3. Investigate in Create GBM (at least one)",bodyHtml:'<ul class="chk">\n              <li>□ Seasonal wind–jet–current (Jan & Jul)</li>\n              <li>□ 3D white relief editor</li>\n              <li>□ Coastline time machine (lowland cities)</li>\n              <li>□ Knowledge Repository / Weather Spark</li>\n              <li>□ Climate Compare Map (world K\xf6ppen overlay)</li>\n            </ul>\n            <p>Tool: ________ Finding:</p><div class="lines short"></div>'},{heading:"4. Discussion (200–300 words)",bodyHtml:'<div class="lines tall"></div>'},{heading:"5. Next inquiry seed",bodyHtml:'<p>Next candidate pair: ________ and ________</p><div class="lines short"></div>'}]}},compare:{elementary:{title:"Compare two towns",subtitle:"Read the climographs of the selected places and link them to daily life",timeNote:"About 20–30 min",sections:[{heading:"1. Warm-up",bodyHtml:"<p>On the climograph, mark ○ on the month with the tallest blue bar and △ on the month with the highest red line.</p>"},{heading:"2. Read",bodyHtml:"<p>At A, the warmest month is (  ), about (  )\xb0C.</p>\n              <p>At B, the wettest month is (  ).</p>"},{heading:"3. Compare (use the printed numbers)",bodyHtml:"{{COMPARE_TABLE_ELEM}}"},{heading:"4. Think",bodyHtml:'<p>If you visit B in winter, what clothes or gear do you need? Use the graph and give a reason.</p>\n              <div class="lines med"></div>\n              <p class="opt">(Optional) Guide line for “hot”: which place stays above it longer? ○A ○B</p>'},{heading:"5. Explore further",bodyHtml:'<ul class="chk">\n              <li>
1□ Find winter photos of both towns (any snow?)</li>\n              <li>□ One local food or festival — link to climate?</li>\n              <li>□ (Optional) Seasonal wind–jet–current for winter wind</li>\n            </ul>'}]},junior:{title:"Compare two places and classify the climate",subtitle:"Read → classify → explain → check in Create GBM",timeNote:"About 30–50 min",sections:[{heading:"1. Reading table (fill the blanks)",bodyHtml:'{{COMPARE_TABLE_JUNIOR}}\n              <p class="tiny">Add winter/summer bars yourself. Mean and range may follow the on-screen table.</p>'},{heading:"2. Classification",bodyHtml:'<table class="ws compact"><thead><tr><th>Clue</th><th>A</th><th>B</th></tr></thead><tbody>\n                <tr><td>Winter precip. ≥ summer?</td><td>○Yes ○No</td><td>○Yes ○No</td></tr>\n                <tr><td>Large annual range? (≈20\xb0C+)</td><td>○Yes ○No</td><td>○Yes ○No</td></tr>\n                <tr><td>Climate zone (two reasons)</td><td></td><td></td></tr>\n              </tbody></table>\n              <p class="tiny">Hint: winter precip. ≥ summer → Sea of Japan side; large range → inland/north; warm year-round, small range → Nansei Islands.</p>'},{heading:"3. Explanation (100–150 words)",bodyHtml:'<p>Why do winter precipitations differ? Use monsoon, mountains, and/or ocean currents.</p>\n              <div class="lines med"></div>'},{heading:"4. Check in Create GBM",bodyHtml:'<ul class="chk">\n              <li>□ Seasonal wind–jet–current: January wind</li>\n              <li>□ 3D white relief editor: terrain between A and B</li>\n              <li>□ Another same-zone place to test the hypothesis</li>\n            </ul>\n            <p>Other place: ________ Winter precip.: ________ ○Supported ○Needs revision</p>'}]},senior:{title:"Verify the climate difference between two places",subtitle:"Normals → criteria → discussion → critique → next question",timeNote:"About 50+ min",sections:[{heading:"1. Nature of the data",bodyHtml:'<p>These climographs use 1991–2020 normals. One benefit and one thing normals hide:</p>\n              <div class="grid2"><div>Benefit:<div class="lines short"></div></div><div>Hidden:<div class="lines short"></div></div></div>'},{heading:"2. Reading and criteria check",bodyHtml:"{{COMPARE_TABLE_SENIOR}}"},{heading:"3. Comparative discussion (200–300 words)",bodyHtml:'<p>Which non-latitude factor best explains the difference? Argue with evidence.</p>\n              <div class="lines tall"></div>'},{heading:"4. Critique and Create GBM",bodyHtml:'<p>Japan’s six-zone boundaries here are elevation-based approximations. Note one limit of drawing climate as a line.</p>\n              <div class="lines short"></div>\n              <ul class="chk">\n                <li>□ Seasonal wind–jet–current</li>\n                <li>□ 3D white relief editor</li>\n                <li>□ Coastline time machine</li>\n                <li>□ Knowledge Repository / Weather Spark</li>\n                <li>□ Climate Compare Map (K\xf6ppen overlay)</li>\n              </ul>\n              <p>Tool: ________ One-sentence finding:</p><div class="lines short"></div>'},{heading:"5. Next inquiry (RQ)",bodyHtml:'<div class="grid2 compact-grid">\n              <div>Question:<div class="lines short"></div></div>\n              <div>Hypothesis:<div class="lines short"></div></div>\n              <div>Data needed:<div class="lines short"></div></div>\n              <div>Source candidates:<div class="lines short"></div></div>\n            </div>'}]}}}},R={brand:"Create GBM 氣候比較地圖",nameLabel:"姓名",classLabel:"班級",dateLabel:"日期",kindExplore:"一邊操作一邊探究",kindCompare:"考察這兩個地點",levelElementary:"小學",levelJunior:"國中",levelSenior:"高中",sourceFooter:"資料來源:氣象廳平年值(1991-2020)/WMO Normals 等(依畫面各地點)|Create GBM",createGbmHint:"Create GBM內:氣候比較地圖/季節風・噴流・海流/3D白地圖編輯器",pasteAppendixTitle:"附錄:可貼上的雨溫圖",pasteAppendixLead:"探究中選取的兩個地點雨溫圖。請沿虛線剪下,貼到學習單空白處或筆記本。",pasteAppendixLeadEmpty:"尚未選滿兩個地點。請在氣候比較地圖選好 A、B 後,再建ç«
1‹ä¸€æ¬¡ã€Œä¸€é‚Šæ“ä½œä¸€é‚ŠæŽ¢ç©¶ã€å­¸ç¿’å–®ï¼Œæ­¤è™•å°±æœƒå¡«å…¥å¯è²¼ä¸Šçš„é›¨æº«åœ–ã€‚ä¹Ÿå¯æŠŠèž¢å¹•æˆªåœ–æˆ–æ‰‹ç¹ªåœ–è²¼é€²ä¸‹æ–¹æ¡†å…§ã€‚",pasteAppendixCutHint:"虛線=裁切線(適合貼上的大小)",pasteAppendixALabel:"地點 A",pasteAppendixBLabel:"地點 B",chartOnScreen:"(請在畫面確認雨溫圖)",needTwoStations:"(請先選兩個地點再產生)",seniorRowMeans:"年平均/年降水/年較差",seniorRowExtremes:"最寒月・最暖月氣溫",seniorRowSeason:"冬/夏降水 → f・w・s",seniorRowScreen:"畫面區分(待驗證)",seniorRowYours:"自己的判定(是否一致)",pages:{explore:{elementary:{title:"找出相似又不同的城鎮",subtitle:"操作氣候比較地圖,比較兩個地方",timeNote:"約20分鐘・搭配裝置",sections:[{heading:"1. 選一個挑選規則",bodyHtml:'<ul class="chk"><li>□ 靠海的城鎮 與 山中的城鎮</li><li>□ 偏北的城鎮 與 偏南的城鎮</li><li>□ 同一地方內的兩個城鎮</li></ul>'},{heading:"2. 從地圖或地名列表選兩個(第1=A、第2=B)",bodyHtml:'<div class="grid2 name-fill"><div>A:________________</div><div>B:________________</div></div>\n              <p class="tiny">看著畫面的雨溫圖填下表。</p>'},{heading:"3. 讀圖並比較",bodyHtml:'<table class="ws"><thead><tr><th>項目</th><th>A</th><th>B</th><th>哪個較大?</th></tr></thead><tbody>\n                <tr><td>年平均氣溫</td><td></td><td></td><td>○ A ○ B</td></tr>\n                <tr><td>年降水量</td><td></td><td></td><td>○ A ○ B</td></tr>\n                <tr><td>冬季(12〜2月)降水</td><td></td><td></td><td>○ A ○ B</td></tr>\n              </tbody></table>'},{heading:"4. 想一想",bodyHtml:'<p>相似之處一點:</p><div class="lines short"></div>\n              <p>不同之處一點:</p><div class="lines short"></div>\n              <p class="opt">(試試)畫「熱」的補助線。超過該線的月份較長的是 ○A ○B</p>'},{heading:"5. 再試一次",bodyHtml:"<p>用別的規則再選兩個城鎮:________ 與 ________</p>"}]},junior:{title:"自己找出氣候區分",subtitle:"依條件選點→判定→用其他功能驗證",timeNote:"約40〜50分鐘・搭配裝置",sections:[{heading:"1. 選條件並選兩個地點",bodyHtml:'<ul class="chk"><li>□ 同一地方:沿岸與內陸</li><li>□ 相鄰縣市、氣候可能不同</li><li>□ 包含自己居住的縣</li></ul>\n              <div class="grid2 name-fill"><div>A:________________</div><div>B:________________</div></div>'},{heading:"2. 讀取表(看畫面填寫)",bodyHtml:'<table class="ws compact"><thead><tr><th>項目</th><th>A</th><th>B</th></tr></thead><tbody>\n                <tr><td>年平均氣溫 (℃)</td><td></td><td></td></tr>\n                <tr><td>年降水量 (mm)</td><td></td><td></td></tr>\n                <tr><td>氣溫年較差 (℃)</td><td></td><td></td></tr>\n                <tr><td>降水最多的月份</td><td></td><td></td></tr>\n                <tr><td>冬季(12〜2月)降水量</td><td></td><td></td></tr>\n                <tr><td>夏季(6〜8月)降水量</td><td></td><td></td></tr>\n              </tbody></table>\n              <p class="tiny">冬夏降水量請自行加總長條。</p>'},{heading:"3. 判定備註",bodyHtml:'<table class="ws compact"><thead><tr><th>線索</th><th>A</th><th>B</th></tr></thead><tbody>\n                <tr><td>冬季降水 ≧ 夏季?</td><td>○是 ○否</td><td>○是 ○否</td></tr>\n                <tr><td>年較差大?(約20℃以上)</td><td>○是 ○否</td><td>○是 ○否</td></tr>\n                <tr><td>暫定氣候區分</td><td></td><td></td></tr>\n              </tbody></table>'},{heading:"4. 驗證假設(同區分另一地點)",bodyHtml:'<p>另一地點:________ 冬季降水:________ mm</p>\n              <p>○支持 ○需修正 — 理由:</p><div class="lines short"></div>'},{heading:"5. 在 Create GBM 確認(至少一項)",bodyHtml:'<ul class="chk">\n              <li>□ 季節風・噴流・海流:1月風向</li>\n              <li>□ 3D白地圖編輯器:A–B附近山脈</li>\n              <li>□ 氣候比較地圖:再確認同區分地點</li>\n            </ul>\n            <p>使用的功能與發現:</p><div class="lines short"></div>'}
1]},senior:{title:"選點、立假設、再驗證",subtitle:"選定方針→讀圖→基準對照→Create GBM",timeNote:"約50分鐘以上・課題研究導入",sections:[{heading:"1. 選定方針(選點前先寫)",bodyHtml:'<p>例:選緯度相近但氣候不同的兩地,驗證緯度以外的因素</p>\n              <div class="lines med"></div>\n              <div class="grid2 name-fill"><div>A:________________</div><div>B:________________</div></div>'},{heading:"2. 讀取與基準對照",bodyHtml:'<table class="ws compact"><thead><tr><th>項目</th><th>A</th><th>B</th></tr></thead><tbody>\n                <tr><td>年平均氣溫/年降水/年較差</td><td></td><td></td></tr>\n                <tr><td>最寒月・最暖月氣溫</td><td></td><td></td></tr>\n                <tr><td>冬/夏降水比 → f・w・s</td><td></td><td></td></tr>\n                <tr><td>畫面區分(待驗證)</td><td></td><td></td></tr>\n                <tr><td>自己的判定(是否一致)</td><td></td><td></td></tr>\n              </tbody></table>'},{heading:"3. 用 Create GBM 調查(至少一項)",bodyHtml:'<ul class="chk">\n              <li>□ 季節風・噴流・海流(1月與7月)</li>\n              <li>□ 3D白地圖編輯器</li>\n              <li>□ 海岸線時光機(低地都市)</li>\n              <li>□ 知識庫/Weather Spark</li>\n              <li>□ 氣候比較地圖(世界柯本疊加)</li>\n            </ul>\n            <p>功能:________ 發現:</p><div class="lines short"></div>'},{heading:"4. 考察(200〜300字)",bodyHtml:'<div class="lines tall"></div>'},{heading:"5. 下一個探究種子",bodyHtml:'<p>下一組候選:________ 與 ________</p><div class="lines short"></div>'}]}},compare:{elementary:{title:"比較兩個城鎮",subtitle:"讀取已選兩地的雨溫圖,並連結生活",timeNote:"約20〜30分鐘",sections:[{heading:"1. 暖身",bodyHtml:"<p>在雨溫圖上,藍色長條最高的月份畫○,紅色線最高的月份畫△。</p>"},{heading:"2. 讀一讀",bodyHtml:"<p>A氣溫最高的是(  )月,約(  )℃。</p>\n              <p>B降水最多的是(  )月。</p>"},{heading:"3. 比一比(看表中數值畫○)",bodyHtml:"{{COMPARE_TABLE_ELEM}}"},{heading:"4. 想一想",bodyHtml:'<p>冬天去B需要什麼衣服或裝備?看圖寫理由。</p>\n              <div class="lines med"></div>\n              <p class="opt">(試試)「熱」的補助線:超過較久的是 ○A ○B</p>'},{heading:"5. 再查查看",bodyHtml:'<ul class="chk">\n              <li>□ 找兩地冬天的照片(有雪嗎?)</li>\n              <li>□ 查一項名產或活動,是否與氣候有關</li>\n              <li>□(有餘力)季節風・噴流・海流看冬季风</li>\n            </ul>'}]},junior:{title:"比較兩地並判定氣候區分",subtitle:"讀取→判定→說明→在 Create GBM 確認",timeNote:"約30〜50分鐘",sections:[{heading:"1. 讀取表(填空)",bodyHtml:'{{COMPARE_TABLE_JUNIOR}}\n              <p class="tiny">冬夏降水請自行加總。年平均・年較差可參考畫面表格。</p>'},{heading:"2. 判定",bodyHtml:'<table class="ws compact"><thead><tr><th>線索</th><th>A</th><th>B</th></tr></thead><tbody>\n                <tr><td>冬季降水 ≧ 夏季?</td><td>○是 ○否</td><td>○是 ○否</td></tr>\n                <tr><td>年較差大?(約20℃以上)</td><td>○是 ○否</td><td>○是 ○否</td></tr>\n                <tr><td>氣候區分(兩個依據)</td><td></td><td></td></tr>\n              </tbody></table>\n              <p class="tiny">提示:冬降水≧夏→疑似日本海側;年較差大→內陸/北方;全年高溫且年較差小→南西諸島。</p>'},{heading:"3. 理由說明(100〜150字)",bodyHtml:'<p>冬季降水量差異為何產生?請使用季節風、山地、海流等詞彙說明。</p>\n              <div class="lines med"></div>'},{heading:"4. 在 Create GBM 確認",bodyHtml:'<ul class="chk">\n              <li>□ 季節風・噴流・海流:1月風向</li>\n              <li>□ 3D白地圖編輯器:A–B地形</li>\n              <li>□ 同區分另一地點驗證假設</li>\n            </ul>\n            <p>另一地點:________ 冬季降水:________ ○支持 ○需修正</p>'}]}
1,senior:{title:"驗證兩地的氣候差異",subtitle:"平年值性質→基準對照→考察→批判→下一個問題",timeNote:"約50分鐘以上",sections:[{heading:"1. 資料的性質",bodyHtml:'<p>本雨溫圖為1991-2020平年值。各寫一項優點與平年值看不見的事物。</p>\n              <div class="grid2"><div>優點:<div class="lines short"></div></div><div>看不見:<div class="lines short"></div></div></div>'},{heading:"2. 讀取與基準對照",bodyHtml:"{{COMPARE_TABLE_SENIOR}}"},{heading:"3. 比較考察(200〜300字)",bodyHtml:'<p>緯度以外的因素中,何者最能說明差異?請提出依據論述。</p>\n              <div class="lines tall"></div>'},{heading:"4. 批判與 Create GBM",bodyHtml:'<p>日本六區分界線為本教材依海拔近似繪製。指出以「線」劃氣候的一項限制。</p>\n              <div class="lines short"></div>\n              <ul class="chk">\n                <li>□ 季節風・噴流・海流</li>\n                <li>□ 3D白地圖編輯器</li>\n                <li>□ 海岸線時光機</li>\n                <li>□ 知識庫/Weather Spark</li>\n                <li>□ 氣候比較地圖(柯本疊加)</li>\n              </ul>\n              <p>功能:________ 一句發現:</p><div class="lines short"></div>'},{heading:"5. 下一個探究(RQ)",bodyHtml:'<div class="grid2 compact-grid">\n              <div>問題:<div class="lines short"></div></div>\n              <div>假設:<div class="lines short"></div></div>\n              <div>所需資料:<div class="lines short"></div></div>\n              <div>來源候選:<div class="lines short"></div></div>\n            </div>'}]}}}};function L(e){return"en"===e?E:"zh-TW"===e?R:H}function z(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function O(e,t,n){if(!(null==t?void 0:t.svg))return'<div class="chart-slot empty"><div class="chart-label">'.concat(z(e),'</div><p class="tiny">').concat(z(n),"</p></div>");let a=[t.pref?z(t.pref):"",t.koppenCode?"K\xf6ppen ".concat(z(t.koppenCode)).concat(t.koppenName?" ".concat(z(t.koppenName)):""):""].filter(Boolean).join(" \xb7 ");return'<div class="chart-slot">\n    <div class="chart-label">'.concat(z(e)," ").concat(z(t.name)).concat(a?'<span class="meta">'.concat(a,"</span>"):"",'</div>\n    <div class="chart-svg">').concat(t.svg,"</div>\n  </div>")}function D(e,t,n){if(null==t?void 0:t.svg){let n=[t.pref?z(t.pref):"",t.koppenCode?z(t.koppenCode):""].filter(Boolean).join(" \xb7 ");return'<div class="paste-card">\n      <div class="paste-head"><span>'.concat(z(e)," ").concat(z(t.name),"</span>").concat(n?'<span class="meta">'.concat(n,"</span>"):"",'</div>\n      <div class="paste-body">').concat(t.svg,"</div>\n    </div>")}return'<div class="paste-card">\n    <div class="paste-head"><span>'.concat(z(e),'</span></div>\n    <div class="paste-body"><div class="paste-empty">').concat(z(n),"</div></div>\n  </div>")}let T={url:"https://hosho.ees.hokudai.ac.jp/tsuyu/top/dct/climate-j.html",siteLabel:"北海道大学 小辞典「気候」",authorLabel:"露崎史朗(北海道大学大学院地球環境科学研究院 教授)",breadcrumb:"講義・実習・演習 › 小辞典 › 気候"},P={portalUrl:"https://opendata.cwa.gov.tw/index",monthlyMeanUrl:"https://www.cwa.gov.tw/V8/C/C/Statistics/monthlymean.html",usageUrl:"https://www.cwa.gov.tw/V8/C/information.html",licenseUrl:"https://data.gov.tw/license",datasetId:"C-B0027-001",datasetName:"氣候類-地面測站氣候統計資料",shortJa:"出典:台湾 交通部中央気象署 気象資料開放平台",fullZh:"提供機關/交通部中央氣象署 [2026] [氣候類-地面測站氣候統計資料 C-B0027-001 (2026/07/09取得)]\n此開放資料依政府資料開放授權條款 (Open Government Data License) 進行公眾釋出。\n政府資料開放授權條款:https://data.gov.tw/license",cwaStationIds:["466920","466940","467080","467490","467480","467410","467440","467530","467350","467590","466990","467660"],stationNamesJa:"台北・
1基隆・宜蘭・台中・嘉義・台南・高雄・阿里山・澎湖・恆春・花蓮・台東"},W=e=>{var t,n;return(null==e?void 0:e.source_provider)==="cwa"||null!==(n=null==e?void 0:null===(t=e.src)||void 0===t?void 0:t.includes("cwa.gov.tw"))&&void 0!==n&&n},I="bg-white ring-1 ring-slate-200/80 rounded-2xl shadow-[0_12px_40px_rgba(2,6,23,0.10)]",F=e=>Math.round(10*e)/10;function G(e){let t=Math.max(...e.t),n=Math.min(...e.t),a=e.p.indexOf(Math.max(...e.p)),l=e.p.indexOf(Math.min(...e.p));return{tAvg:F(e.t.reduce((e,t)=>e+t,0)/12),pSum:F(e.p.reduce((e,t)=>e+t,0)),tRange:F(t-n),wet:a,dry:l,winterP:F(e.p[11]+e.p[0]+e.p[1]),summerP:F(e.p[5]+e.p[6]+e.p[7])}}let J={Af:"熱帯雨林気候",Am:"熱帯モンスーン気候",Aw:"サバナ気候",As:"サバナ気候",BWh:"砂漠気候(高温)",BWk:"砂漠気候(寒冷)",BSh:"ステップ気候(高温)",BSk:"ステップ気候(寒冷)",Cfa:"温暖湿潤気候",Cfb:"西岸海洋性気候",Cfc:"西岸海洋性気候(冷涼)",Cwa:"温暖冬季少雨気候",Cwb:"温帯高地気候",Cwc:"温帯高地気候(冷涼)",Csa:"地中海性気候",Csb:"地中海性気候(涼夏)",Csc:"地中海性気候(冷涼)",Dfa:"冷帯湿潤気候(高温夏)",Dfb:"冷帯湿潤気候",Dfc:"亜寒帯(タイガ)",Dfd:"亜寒帯(極寒)",Dwa:"冷帯冬季少雨気候(高温夏)",Dwb:"冷帯冬季少雨気候",Dwc:"亜寒帯冬季少雨",Dwd:"亜寒帯冬季少雨(極寒)",Dsa:"冷帯夏季少雨",Dsb:"冷帯夏季少雨",Dsc:"冷帯夏季少雨",Dsd:"冷帯夏季少雨",ET:"ツンドラ気候",EF:"氷雪気候",A:"熱帯",B:"乾燥帯",C:"温帯",D:"冷帯",E:"寒帯"};function U(e,t,n){var a,l;let i;let r=e.reduce((e,t)=>e+t,0)/12,s=Math.max(...e),o=Math.min(...e),d=t.reduce((e,t)=>e+t,0),c=Math.min(...t),p=e.filter(e=>e>=10).length,m=n>=0,h=m?[3,4,5,6,7,8]:[9,10,11,0,1,2],x=m?[9,10,11,0,1,2]:[3,4,5,6,7,8],u=h.reduce((e,n)=>e+t[n],0),b=x.reduce((e,n)=>e+t[n],0),g=Math.min(...h.map(e=>t[e])),f=Math.max(...h.map(e=>t[e])),v=Math.min(...x.map(e=>t[e])),y=Math.max(...x.map(e=>t[e])),_=b>=.7*d?2*r:u>=.7*d?2*r+28:2*r+14,w=()=>g<40&&g<y/3?"s":v<f/10?"w":"f",k=()=>s>=22?"a":p>=4?"b":"c";return{code:i=d<10*_?(d<5*_?"BW":"BS")+(r>=18?"h":"k"):o>=18?c>=60?"Af":c>=100-d/25?"Am":"Aw":s<10?s>=0?"ET":"EF":o>0?"C"+w()+k():"D"+w()+(o<-38?"d":k()),name:null!==(l=null!==(a=J[i])&&void 0!==a?a:J[i[0]])&&void 0!==l?l:""}}let Y=[{letter:"A",label:"熱帯",color:"#0078ff",codes:["Af","Am","Aw"]},{letter:"B",label:"乾燥帯",color:"#ff0000",codes:["BWh","BWk","BSh","BSk"]},{letter:"C",label:"温帯",color:"#ffff00",codes:["Csa","Csb","Csc","Cwa","Cwb","Cwc","Cfa","Cfb","Cfc"]},{letter:"D",label:"冷帯",color:"#00ffff",codes:["Dsa","Dsb","Dsc","Dsd","Dwa","Dwb","Dwc","Dwd","Dfa","Dfb","Dfc","Dfd"]},{letter:"E",label:"寒帯",color:"#b2b2b2",codes:["ET","EF"]}],K="#94a3b8",V={太平洋側の気候:{color:"#c94f1f",tag:"橙赤・夏多雨",lineWidth:2.4},瀬戸内の気候:{color:"#8b6f4e",tag:"金茶・少雨",lineDash:[4,2],lineWidth:2.4}};function q(e,t){let n=e.replace("#",""),a=parseInt(n.slice(0,2),16),l=parseInt(n.slice(2,4),16),i=parseInt(n.slice(4,6),16);return"rgba(".concat(a,",").concat(l,",").concat(i,",").concat(t,")")}function Q(e,t,n){let a=!1;for(let l=0,i=n.length-1;l<n.length;i=l++){let r=n[l][0],s=n[l][1],o=n[i][0],d=n[i][1];s>t!=d>t&&e<(o-r)*(t-s)/(d-s)+r&&(a=!a)}return a}function Z(e,t,n){if(!n[0]||!Q(e,t,n[0]))return!1;for(let a=1;a<n.length;a++)if(Q(e,t,n[a]))return!1;return!0}let $=["hokkaido","tohoku","kanto","chubu","kinki","chugoku","shikoku","kyushuOkinawa"],X=Object.fromEntries(Object.entries({hokkaido:["北海道"],tohoku:["青森県","岩手県","宮城県","秋田県","山形県","福島県"],kanto:["茨城県","栃木県","群馬県","埼玉県","千葉県","東京都","神奈川県"],chubu:["新潟県","富山県","石川県","福井県","山梨県","長野県","岐阜県","静岡県","愛知県"],kinki:["三重県","滋賀県","京都府","大阪府","兵庫県","奈良県","和歌山県"],chugoku:["鳥取県","島根県","岡山県","広島県","山口県"],shikoku:["徳島県","香川県","愛媛県","高知県"],kyushuOkinawa:["福岡県","佐賀県","長崎県","熊本県","大分県","宮崎県","鹿児島県","沖縄県"]}).flatMap(e=>{let[t,n]=e;return n.map(e=>[e,t])})),ee=["eastAsia","southeastAsia","southAsia","centralAsiaMiddleEast","europe","africa","northAmerica","latinAmerica","oceania","polarOther"],et=Object.fromEntries(Object.entries({eastAsia:["日本","韓国","中国","香港","台湾","モンゴル"],southeastAsia:["タイ","フィリピン","シンガポール","インドネシア","マレーシア","ミャンマー","ラオス"],southAsia:["スリランカ"],centralAsiaMiddleEast:["トルコ","イラン","イラク","UAE","サウジアラビア","バーレーン","カザフスタン","ウズベキスタン","キルギス"],europe:["イギリス","フランス","ドイツ","イタリア","スペイン","スウェーデン","フィンランド"],africa:["エジプト","アルジェリア","南アフリカ","スーダン","ナイジェリア","ニジェール","ガーナ","マリ","コンゴ民主共和国","マダガスカル","ルワンダ","モロッコ","チュニジア"],northAmerica:["アメリカ","メキシコ"],latinAmerica:["ブラジル","アルゼンチン","チリ","コロンビア","ベネズエラ","ウルグアイ","パラグアイ"],oceania:["オーストラリア"],polarOther:["アイスランド","グリーンランド"]}).flatMap(e=>{let[t,n]=e;return n.map(e=>[e,t])}));function en(e){return null!=e&&!!e.tmax&&!!e.tmin&&12===e.tmax.length&&12===e.tmin.length&&e.tmax.every(e=>"number"==typeof e&&!Number.isNaN(e))&&e.tmin.every(e=>"number"==typeof e&&!Number.isNaN(e))}function ea(e,t){if(null===t.high&&null===t.low)return"";let n=t=>ep+em*(e.tHi-t)/(e.tHi-e.tLo),a="<style>".concat("\n  @keyframes gbm-ref-blink { 0%, 100% { opacity: 0.92; } 50% { opacity: 0.28; } }\n  .gbm-ref-hi, .gbm-ref-lo { animation: gbm-ref-blink 1.65s ease-in-out infinite; }\n  .gbm-ref-lo { animation-delay: 0.4s; }\n","</style>"),l=(t,a,l)=>{if(t<e.tLo||t>e.tHi)return"";let i=n(t);return'<line class="'.concat(a,'" x1="').concat(ed,'" y1="').concat(i,'" x2="').concat(eo-ec,'" y2="').
1concat(i,'" stroke="').concat(l,'" stroke-width="2.2" stroke-dasharray="10 7"/>')+'<text class="'.concat(a,'" x="').concat(ed+6,'" y="').concat(i-5,'" font-size="9.5" font-weight="bold" fill="').concat(l,'">').concat(t,"℃</text>")};return null!==t.high&&(a+=l(t.high,"gbm-ref-hi","#ea580c")),null!==t.low&&(a+=l(t.low,"gbm-ref-lo","#0891b2")),a}function el(){return{high:null,low:null}}function ei(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=-10,a=30,l=400;for(let i of e){if(!i)continue;let e=[...i.t];t&&en(i)&&e.push(...i.tmax,...i.tmin),n=Math.min(n,5*Math.floor((Math.min(...e)-2)/5)),a=Math.max(a,5*Math.ceil((Math.max(...e)+2)/5)),l=Math.max(l,50*Math.ceil((Math.max(...i.p)+20)/50))}return{tLo:n,tHi:a,pHi:l}}function er(e,t){let n=0;for(let a of e)n+=/[\u3000-\u9FFF\uF900-\uFAFF\uFF00-\uFFEF]/.test(a)?t:.55*t;return n}function es(e,t,n,a,l){let i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"start";return'<text x="'.concat(e,'" y="').concat(t,'" font-size="').concat(n,'" text-anchor="').concat(i,'" fill="').concat(a,'" stroke="#ffffff" stroke-width="3.2" paint-order="stroke fill" stroke-linejoin="round">').concat(l,"</text>")}let eo=380,ed=44,ec=48,ep=18,em=252,eh=e=>ed+288*(e+.5)/12,ex=()=>'<svg viewBox="0 0 '.concat(eo," ").concat(300,'" xmlns="http://www.w3.org/2000/svg" role="img">');function eu(e,t,n){return!function(e,t,n){var a;let l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:6;if(e.tHi<=e.tLo)return!1;let i=(a=n.y+n.h+l,e.tHi-(a-ep)*(e.tHi-e.tLo)/em),r=n.x-l,s=n.x+n.w+l;for(let e of t)for(let t=0;t<12;t++){let n=e[t];if(null==n||!Number.isFinite(n))continue;let a=eh(t);if(!(a<r)&&!(a>s)&&n>=i)return!0}return!1}(e,t,n)?e:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10;return{...e,tHi:5*Math.ceil((e.tHi+t)/5)}}(e)}function eb(e,t){return{x:ed+4,y:ep+2,w:Math.ceil(2+Math.max(er("— ".concat(e),10),er("- - ".concat(t),10))+2+4),h:34}}function eg(e,t){return{x:ed+4,y:ep+2,w:Math.ceil(20+Math.max(er(e,10),er(t,10))+2+4),h:40}}function ef(e){let t=Math.ceil(22+Math.max(er(e.mean,8.5),er(e.tmax,8.5),er(e.tmin,8.5))+2+4);return{x:eo-ec-t-2,y:ep+2,w:t,h:46}}function ev(e){let t=[e.t];return en(e)&&t.push(e.tmax,e.tmin),t}function ey(e){return en(e)?[e.tmax]:[e.t]}let e_={temp:"#dc2626",prec:"#3b82f6",precB:"#93c5fd",tempB:"#f59e0b",accent:"#2563eb"},ew={tmax:"#f97316",tmin:"#6366f1"};function ek(e){let t="",n=t=>ep+em*(e.tHi-t)/(e.tHi-e.tLo),a=t=>ep+em*(1-t/e.pHi);for(let a=e.tLo;a<=e.tHi;a+=10)t+='<line x1="'.concat(ed,'" y1="').concat(n(a),'" x2="').concat(eo-ec,'" y2="').concat(n(a),'" stroke="#e3e9ee"/><text x="').concat(ed-6,'" y="').concat(n(a)+4,'" font-size="10" text-anchor="end" fill="#b04a4a">').concat(a,"</text>");let l=e.pHi>=600?200:100;for(let n=0;n<=e.pHi;n+=l)t+='<text x="'.concat(eo-ec+6,'" y="').concat(a(n)+4,'" font-size="10" fill="#3f6fa8">').concat(n,"</text>");for(let e=0;e<12;e++)t+='<text x="'.concat(eh(e),'" y="').concat(288,'" font-size="10" text-anchor="middle" fill="#556">').concat(e+1,"</text>");return t+='<text x="'.concat(ed-6,'" y="').concat(ep-6,'" font-size="10" text-anchor="end" fill="#b04a4a">℃</text><text x="').concat(eo-ec+6,'" y="').concat(ep-6,'" font-size="10" fill="#3f6fa8">mm</text>'),t+='<line x1="'.concat(ed,'" y1="').concat(ep,'" x2="').concat(ed,'" y2="').concat(270,'" stroke="#8895a0"/><line x1="').concat(eo-ec,'" y1="').concat(ep,'" x2="').concat(eo-ec,'" y2="').concat(270,'" stroke="#8895a0"/><line x1="').concat(ed,'" y1="').concat(270,'" x2="').concat(eo-ec,'" y2="').concat(270,'" stroke="#8895a0"/>'),e.tLo<0&&e.tHi>0&&(t+='<line x1="'.concat(ed,'" y1="').concat(n(0),'" x2="').concat(eo-ec,'" y2="').concat(n(0),'" stroke="#c9a0a0" stroke-dasharray="4 3"/>')),t}function ej(e,t,n){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,i=e=>ep+em*(1-e/t.pHi),r=l||24*.55,s="";for(let t=0;t<12;t++){let l=i(e.p[t]);s+='<rect x="'.concat(eh(t)-r/2+a,'" y="').concat(l,'" width="').concat(r,'" height="').concat(270-l,'" fill="').concat(n,'"/>')}return s}
1function eN(e,t,n){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:2,i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:2.6,r=e=>ep+em*(t.tHi-e)/(t.tHi-t.tLo),s=e.t.map((e,t)=>"".concat(eh(t),",").concat(r(e))).join(" "),o='<polyline points="'.concat(s,'" fill="none" stroke="').concat(n,'" stroke-width="').concat(l,'" ').concat(a?'stroke-dasharray="'.concat(a,'"'):"","/>");return e.t.forEach((e,t)=>{o+='<circle cx="'.concat(eh(t),'" cy="').concat(r(e),'" r="').concat(i,'" fill="').concat(n,'"/>')}),o}function eA(e,t,n,a){if(!en(e))return"";let l=e=>ep+em*(t.tHi-e)/(t.tHi-t.tLo),i=e.tmax.map((e,t)=>"".concat(eh(t),",").concat(l(e))),r=[...e.tmin].reverse().map((e,t)=>"".concat(eh(11-t),",").concat(l(e)));return'<polygon points="'.concat([...i,...r].join(" "),'" fill="').concat(n,'" fill-opacity="').concat(a,'" stroke="none"/>')}function eC(e,t,n){return en(e)?eN({t:e.tmax},t,n,"",1,0)+eN({t:e.tmin},t,n,"",1,0):""}function eS(e,t,n,a){return'<rect x="'.concat(e,'" y="').concat(t,'" width="14" height="10" fill="').concat(n,'" fill-opacity="').concat(.32,'" stroke="').concat(n,'" stroke-width="0.8"/>')+es(e+18,t+8,10,"#334155",a)}let eM=(e,t)=>{let n;return n=W(e)?"交通部中央氣象署 氣候月平均(1991-2020)":t?"WMO Normals 1991-2020 (NOAA NCEI 0253808)":"気象庁 平年値(1991-2020)",'<text x="'.concat(eo/2,'" y="').concat(299,'" font-size="8.5" text-anchor="middle" fill="#8a97a3">データ: ').concat(n," / 図: Create GBM 気候くらべマップ</text>")};function eB(e,t,n){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:el(),l=arguments.length>4&&void 0!==arguments[4]&&arguments[4],i=arguments.length>5?arguments[5]:void 0,r=l&&i?eu(t,ev(e),ef(i)):t,s=ex()+ek(r)+ej(e,r,e_.prec)+eN(e,r,e_.temp);if(l&&i){var o,d;s+=(o=ew.tmax,d=ew.tmin,en(e)?eN({t:e.tmax},r,o,"7 4",1.5,2)+eN({t:e.tmin},r,d,"4 4",1.5,2):""),s+=function(e,t,n,a){let l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",i=ef(e),r=i.x,s=i.y,o=r+2+16+4,d=(e,t,n,a,l)=>'<line x1="'.concat(r+2,'" y1="').concat(s+e,'" x2="').concat(r+2+16,'" y2="').concat(s+e,'" stroke="').concat(t,'" stroke-width="').concat(l,'"').concat(n?' stroke-dasharray="'.concat(n,'"'):"","/>")+es(o,s+e+3,8.5,"#475569",a);return'<g font-family="sans-serif">'+d(8,t,l,e.mean,2)+d(20,n,"7 4",e.tmax,1.5)+d(32,a,"4 4",e.tmin,1.5)+"</g>"}(i,e_.temp,ew.tmax,ew.tmin)}return s+ea(r,a)+eM(e,n)+"</svg>"}function eH(e,t,n,a){let l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:el(),i=eu(n,[e.d.t,t.d.t],eb(e.name,t.name)),r=24*.3,s=ex()+ek(i);return s+=ej(e.d,i,e_.prec,-r/2-1,r)+ej(t.d,i,e_.precB,r/2+1,r),s+=eN(e.d,i,e_.temp)+eN(t.d,i,e_.tempB,"6 4"),s+=ea(i,l),(s+=function(e,t,n,a){let l=ed+4,i=ep+2;
1return es(l+2,i+2+10,10,n,"— ".concat(e))+es(l+2,i+2+10+13,10,a,"- - ".concat(t))}(e.name,t.name,e_.temp,e_.tempB))+eM(W(e.d)||W(t.d)?W(e.d)?e.d:t.d:null,a)+"</svg>"}function eE(e,t,n,a){let l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:el(),i=eu(n,[...ey(e.d),...ey(t.d)],eg(e.name,t.name)),r=24*.3,s=ex()+ek(i);return s+=ej(e.d,i,e_.prec,-r/2-1,r)+ej(t.d,i,e_.precB,r/2+1,r),s+=eA(e.d,i,e_.temp,.32),s+=eA(t.d,i,e_.tempB,.32),s+=eC(e.d,i,e_.temp),s+=eC(t.d,i,e_.tempB),s+=ea(i,l),(s+=function(e,t,n,a){let l=ep+2,i=ed+4+2;return eS(i,l+2,n,e)+eS(i,l+2+16,a,t)}(e.name,t.name,e_.temp,e_.tempB))+eM(W(e.d)||W(t.d)?W(e.d)?e.d:t.d:null,a)+"</svg>"}function eR(e,t,n){let a=e=>ed+288*(e/t.pHi),l=e=>ep+em*(t.tHi-e)/(t.tHi-t.tLo),i=ex();for(let e=t.tLo;e<=t.tHi;e+=10)i+='<line x1="'.concat(ed,'" y1="').concat(l(e),'" x2="').concat(eo-ec,'" y2="').concat(l(e),'" stroke="#e3e9ee"/><text x="').concat(ed-6,'" y="').concat(l(e)+4,'" font-size="10" text-anchor="end" fill="#b04a4a">').concat(e,"</text>");let r=t.pHi>=600?200:100;for(let e=0;e<=t.pHi;e+=r)i+='<line x1="'.concat(a(e),'" y1="').concat(ep,'" x2="').concat(a(e),'" y2="').concat(270,'" stroke="#eef2f5"/><text x="').concat(a(e),'" y="').concat(288,'" font-size="10" text-anchor="middle" fill="#3f6fa8">').concat(e,"</text>");i+='<text x="'.concat(ed-6,'" y="').concat(ep-6,'" font-size="10" text-anchor="end" fill="#b04a4a">℃</text><text x="').concat(eo-ec,'" y="').concat(298,'" font-size="10" fill="#3f6fa8">mm</text><line x1="').concat(ed,'" y1="').concat(ep,'" x2="').concat(ed,'" y2="').concat(270,'" stroke="#8895a0"/><line x1="').concat(ed,'" y1="').concat(270,'" x2="').concat(eo-ec,'" y2="').concat(270,'" stroke="#8895a0"/>');let s=e.t.map((t,n)=>[a(e.p[n]),l(t)]);return i+='<polyline points="'.concat(s.map(e=>e.join(",")).join(" "),'" fill="none" stroke="').concat(e_.accent,'" stroke-width="1.8"/><line x1="').concat(s[11][0],'" y1="').concat(s[11][1],'" x2="').concat(s[0][0],'" y2="').concat(s[0][1],'" stroke="').concat(e_.accent,'" stroke-dasharray="4 3"/>'),s.forEach((e,t)=>{i+='<circle cx="'.concat(e[0],'" cy="').concat(e[1],'" r="2.6" fill="').concat(e_.accent,'"/><text x="').concat(e[0]+5,'" y="').concat(e[1]-4,'" font-size="9" fill="#345">').concat(t+1,"</text>")}),i+eM(e,n)+"</svg>"}let eL="https://cyberjapandata.gsi.go.jp/xyz/",ez='<a href="https://maps.gsi.go.jp/development/ichiran.html" target="_blank" rel="noopener">国土地理院</a>',eO=[122,20,154.5,46.5],eD=[[-180,85.05112878],[180,85.05112878],[180,-85.05112878],[-180,-85.05112878]];function eT(e){let{name:t,color:n}=e,l=V[t];if(!l)return(0,a.jsx)("span",{className:"w-3.5 h-3.5 rounded-sm ring-1 ring-slate-400/50 inline-block shrink-0",style:{background:n}});let i=l.lineDash&&l.lineDash.length>1;return(0,a.jsx)("span",{className:"w-3.5 h-3.5 rounded-sm inline-block shrink-0 ring-1",style:{background:i?"repeating-linear-gradient(135deg, ".concat(n," 0 3px, ").concat(q(n,.35)," 3px 6px)"):n,boxShadow:i?void 0:"inset 0 0 0 1px ".concat(q("#5c1f08",.35)),outline:i?"2px dashed ".concat(q("#4a3824",.75)):void 0,outlineOffset:i?-1:void 0},"aria-hidden":!0})}function eP(e,t){return{backgroundColor:e,opacity:t?1:.38}}function eW(e,t,n){let a="A"===n?" outline outline-[3px] outline-brand-blue/90":"B"===n?" outline outline-[3px] outline-brand-navy/90":e.special?" outline outline-[2px] outline-amber-500":"";return"".concat("w-3.5 h-3.5 rounded-full border-2 border-white shadow-[0_0_4px_rgba(0,8,20,0.45)] cursor-pointer box-content").concat(a)}function eI(e,t){return"world"===t||!e.world}function eF(e,t,n){let a=eI(t,n);e.style.display=a?"":"none",e.style.pointerEvents=a?"auto":"none"}function eG(){var e,t,n,o;let{t:p,locale:b}=(0,u.Bd)(),g=p.climateCompare,f=g.dataNone,v=e=>{var t;return null!==(t=g.zones[e])&&void 0!==t?t:e},y=e=>{var t,n;return null!==(n=g.zoneTags[e])&&void 0!==n?n:null===(t=V[e])||void 0===t?void 0:t.tag},_=e=>{var t;return null!==(t=g.koppen[e])&&void 0!==t?t:e},[w,k]=(0,l.useState)(null),[N,A]=(0,l.useState)(null),[C,S]=(0,l.useState)({}),[H,E]=(0,l.useState)(!0),[R,F]=(0,l.useState)(""),[J,Q]=(0,l.useState)("japan"),[ea,er]=(0,l.useState)("std"),[es,eo]=(0,l.useState)("uonzu"),[ed,ec]=(0,l.useState)(null),[ep,em]=(0,l.useState)(null),[eh,ex]=(0,l.useState)(""),[e_,ew]=(0,l.useState)(""),[ek,ej]=(0,l.useState)(null),[eN,eA]=(0,l.useState)(!0),[eC,eS]=(0,l.useState)(!1),[eM,eG]=(0,l.useState)(null),[eJ,eU]=(0,l.useState)(null),[eY,eK]=(0,l.useState)(!1),eV=(0,l.useRef)(null),eq=(0,l.useRef)(null),eQ=(0,l.useRef)({}),eZ=(0,l.useRef)(()=>{}),e$=(0,l.useMemo)(()=>w?[...w.prefectural_capitals.map(e=>({id:e.id,name:e.name,pref:e.pref,lat:e.lat,lon:e.lon,note:e.kind&&"官署"!==e.kind?e.kind:void 0})),...w.special_stations.map(e=>({id:e.id,name:e.name,pref:e.label,lat:e.lat,lon:e.lon,note:e.note,special:!0})),...w.world_capitals.map(e=>({id:e.id,name:e.name,pref:e.country,lat:e.lat,lon:e.lon,world:!0}))]:[],[w]),eX=(0,l.useMemo)(()=>
1{if(!w)return null;let e=new Set(w.prefectural_capitals.map(e=>e.pref.replace(/\(代替\)$/,""))).size;return"".concat(e,"+").concat(w.special_stations.length)},[w]),e0=(0,l.useMemo)(()=>w?String(w.world_capitals.length):null,[w]),e1=(0,l.useMemo)(()=>{let e=new Map;for(let t of e$)e.set(t.id,t);return e},[e$]),e2=(0,l.useMemo)(()=>{let e={};for(let t of e$)e[t.id]=function(e,t,n,a){if("world"===a||e.world){let t=n[e.id];return t?function(e){var t,n,a,l;let i=null!==(a=null===(t=e[0])||void 0===t?void 0:t.toUpperCase())&&void 0!==a?a:"";return null!==(l=null===(n=Y.find(e=>e.letter===i))||void 0===n?void 0:n.color)&&void 0!==l?l:K}(U(t.t,t.p,e.lat).code):K}if(t){let n=function(e,t,n){for(let s of n.features){var a,l,i,r;let n=s.properties,o=s.geometry;if("Polygon"===o.type){if(Z(e,t,o.coordinates))return{name:null!==(a=n.name)&&void 0!==a?a:"",color:null!==(l=n.color)&&void 0!==l?l:K}}else if("MultiPolygon"===o.type){for(let a of o.coordinates)if(Z(e,t,a))return{name:null!==(i=n.name)&&void 0!==i?i:"",color:null!==(r=n.color)&&void 0!==r?r:K}}}return null}(e.lon,e.lat,t);if(n)return n.color}return K}(t,N,C,J);return e},[e$,N,C,J]),e5=eM&&null!==(e=e1.get(eM))&&void 0!==e?e:null,e3=eJ&&null!==(t=e1.get(eJ))&&void 0!==t?t:null,e4=(0,l.useCallback)(e=>{var t;return e&&null!==(t=C[e.id])&&void 0!==t?t:null},[C]);(0,l.useEffect)(()=>{let e=!0;return(async()=>{try{var t;let[n,a,l]=await Promise.all([fetch("/data/climate-map/master_data.json"),fetch("/data/climate-map/climate_zones_japan.geojson"),fetch("/data/climate-map/stations_normals.json")]);if(!n.ok||!a.ok)throw Error(g.loadError);let i=await n.json(),r={...t=await a.json(),features:t.features.map(e=>{var t,n;let a=e.properties,l=a.name?V[a.name]:void 0;return l?{...e,properties:{...a,color:l.color,lineDash:null!==(t=l.lineDash)&&void 0!==t?t:[1,0],lineWidth:null!==(n=l.lineWidth)&&void 0!==n?n:1.4}}:e})},s={...i.verified_climate_data};if(l.ok){let e=await l.json();for(let[t,n]of Object.entries(e))Array.isArray(n.t)&&12===n.t.length&&Array.isArray(n.p)&&12===n.p.length&&(s[t]=n)}try{let t=await fetch("/data/climate-map/world_capitals.json");if(t.ok){let n=await t.json(),a=0;for(let[e,t]of Object.entries(n))Array.isArray(t.t)&&12===t.t.length&&Array.isArray(t.p)&&12===t.p.length&&(s[e]=t,a++);e&&a>0&&E(!1)}}catch(e){}try{let e=await fetch("/data/climate-map/taiwan_cwa_normals.json");if(e.ok){let t=await e.json();for(let[e,n]of Object.entries(t))!e.startsWith("_")&&Array.isArray(n.t)&&12===n.t.length&&Array.isArray(n.p)&&12===n.p.length&&(s[e]=n)}}catch(e){}if(!e)return;k(i),A(r),S(s)}catch(t){e&&F(t instanceof Error?t.message:String(t))}})(),()=>{e=!1}},[]);let e8=(0,l.useCallback)(e=>{if(!eI(e,J))return;eG(t=>t?(e.id!==t&&eU(e.id),t):e.id);let t=eV.current;t&&eY&&t.panTo([e.lon,e.lat],{duration:650})},[J,eY]);(0,l.useEffect)(()=>{eZ.current=e8},[e8]),(0,l.useEffect)(()=>{"japan"===J&&(eG(e=>{let t=e?e1.get(e):null;return(null==t?void 0:t.world)?null:e}),eU(e=>{let t=e?e1.get(e):null;return(null==t?void 0:t.world)?null:e}))},[J,e1]),(0,l.useEffect)(()=>{if(!eq.current||!N||eV.current)return;let e=new(m()).Map({container:eq.current,style:{version:8,glyphs:"https://demotiles.maplibre.org/font/{fontstack}/{range}.pbf",sources:{world:{type:"raster",tiles:["https://basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}.png"],tileSize:256,maxzoom:20,attribution:'\xa9 <a href="https://carto.com/attributions" target="_blank" rel="noopener">CARTO</a> \xa9 <a href="https://www.openstreetmap.org/copyright" target="_blank" rel="noopener">OpenStreetMap</a> contributors'},std:{type:"raster",tiles:[eL+"std/{z}/{x}/{y}.png"],tileSize:256,maxzoom:18,attribution:ez},pale:{type:"raster",tiles:[eL+"pale/{z}/{x}/{y}.png"],tileSize:256,maxzoom:18,attribution:ez},relief:{type:"raster",tiles:[eL+"relief/{z}/{x}/{y}.png"],tileSize:256,maxzoom:15,bounds:eO,attribution:ez},hills:{type:"raster",tiles:[eL+"hillshademap/{z}/{x}/{y}.png"],tileSize:256,maxzoom:16,bounds:eO,attribution:ez},blank:{type:"raster",tiles:[eL+"blank/{z}/{x}/{y}.png"],tileSize:256,maxzoom:14,bounds:eO,attribution:ez},zones:{type:"geojson",data:N},koppen:{type:"image",url:"/data/climate-map/koppen_world_1991_2020.png",coordinates:eD}},layers:[{id:"world_l",type:"raster",source:"world",layout:{visibility:"none"}},{id:"std_l",type:"raster",source:"std"},{id:"pale_l",type:"raster",source:"pale",layout:{visibility:"none"}},{id:"relief_l",type:"raster",source:"relief",paint:{"raster-opacity":.55},layout:{visibility:"none"}},{id:"hills_l",type:"raster",source:"hills",paint:{"raster-opacity":.45},layout:{visibility:"none"}},{id:"blank_l",type:"raster",source:"blank",layout:{visibility:"none"}}
1,{id:"zone_fill",type:"fill",source:"zones",paint:{"fill-color":["get","color"],"fill-opacity":["case",["==",["get","name"],"太平洋側の気候"],.5,["==",["get","name"],"瀬戸内の気候"],.5,.42]}},{id:"zone_line",type:"line",source:"zones",paint:{"line-color":["get","color"],"line-width":["coalesce",["get","lineWidth"],1.4],"line-opacity":.95,"line-dasharray":["coalesce",["get","lineDash"],["literal",[1,0]]]}},{id:"zone_label",type:"symbol",source:"zones",layout:{"text-field":["get","name"],"text-size":12,"text-font":["Noto Sans Regular"],"text-max-width":6},paint:{"text-color":"#33414d","text-halo-color":"#ffffff","text-halo-width":1.6}},{id:"koppen_l",type:"raster",source:"koppen",paint:{"raster-opacity":.8},layout:{visibility:"none"}}]},center:[135,37.2],zoom:4.05,attributionControl:{compact:!1},localIdeographFontFamily:"'Hiragino Sans', 'Noto Sans JP', 'Yu Gothic', 'Meiryo', sans-serif"});e.on("error",e=>{var t;let n=e.error,a=null==n?void 0:n.status,l=null!==(t=null==n?void 0:n.message)&&void 0!==t?t:"";404===a||403===a||/abort/i.test(l)||/failed to fetch/i.test(l)||console.warn("[climate-map] map error:",null!=n?n:e)}),e.addControl(new(m()).NavigationControl({showCompass:!1})),e.on("load",()=>{eK(!0)});let t="undefined"!=typeof ResizeObserver?new ResizeObserver(()=>{e.resize()}):null;return t&&eq.current&&t.observe(eq.current),eV.current=e,()=>{null==t||t.disconnect(),e.remove(),eV.current=null}},[N]),(0,l.useEffect)(()=>{let e=eV.current;if(e&&eY&&0!==e$.length)for(let n of e$){var t;if(eQ.current[n.id])continue;let a=document.createElement("div"),l=document.createElement("div"),i=null!==(t=e2[n.id])&&void 0!==t?t:K;l.className=eW(n,!!C[n.id],null),Object.assign(l.style,eP(i,!!C[n.id])),a.appendChild(l),a.title=n.name+(C[n.id]?"":" (".concat(f,")")),a.onclick=e=>{e.stopPropagation(),eZ.current(n)},eF(a,n,J),eQ.current[n.id]=new(m()).Marker({element:a}).setLngLat([n.lon,n.lat]).addTo(e)}},[eY,e$,e2,C,f,J]),(0,l.useEffect)(()=>{for(let t of e$){var e;let n=eQ.current[t.id];if(!n)continue;let a=eM===t.id?"A":eJ===t.id?"B":null,l=!!C[t.id],i=null!==(e=e2[t.id])&&void 0!==e?e:K,r=n.getElement().firstElementChild;r&&(r.className=eW(t,l,a),Object.assign(r.style,eP(i,l))),n.getElement().title=t.name+(l?"":" (".concat(f,")")),eF(n.getElement(),t,J)}},[e$,C,eM,eJ,J,e2,f]),(0,l.useEffect)(()=>{let e=eV.current;if(!e||!eY)return;let t=(t,n)=>e.setLayoutProperty(t,"visibility",n?"visible":"none"),n="world"===J;t("world_l",n),t("std_l",!n&&"std"===ea),t("pale_l",!n&&"terrain"===ea),t("relief_l",!n&&"terrain"===ea),t("hills_l",!n&&"terrain"===ea),t("blank_l",!n&&"climate"===ea);let a=!n;t("zone_fill",a),t("zone_line",a),t("zone_label",a),t("koppen_l",n)},[ea,J,eY]),(0,l.useEffect)(()=>{let e=eV.current;e&&eY&&("world"===J?(e.setProjection({type:"globe"}),e.easeTo({center:[135,25],zoom:1.6,duration:900})):(e.setProjection({type:"mercator"}),e.easeTo({center:[135,37.2],zoom:4.05,duration:900})))},[J,eY]);let e6=(0,l.useMemo)(()=>e$.filter(e=>eI(e,J)),[e$,J]),e9=(0,l.useCallback)(e=>{switch(e){case"hokkaido":return g.regionHokkaido;case"tohoku":return g.regionTohoku;case"kanto":return g.regionKanto;case"chubu":return g.regionChubu;case"kinki":return g.regionKinki;case"chugoku":return g.regionChugoku;case"shikoku":return g.regionShikoku;case"kyushuOkinawa":return g.regionKyushuOkinawa;default:return g.regionOther}},[g]),e7=(0,l.useCallback)(e=>{switch(e){case"eastAsia":return g.worldRegionEastAsia;case"southeastAsia":return g.worldRegionSoutheastAsia;case"southAsia":return g.worldRegionSouthAsia;case"centralAsiaMiddleEast":return g.worldRegionCentralAsiaMiddleEast;case"europe":return g.worldRegionEurope;case"africa":return g.worldRegionAfrica;case"northAmerica":return g.worldRegionNorthAmerica;case"latinAmerica":return g.worldRegionLatinAmerica;case"oceania":return g.worldRegionOceania;case"polarOther":return g.worldRegionPolarOther;default:return g.regionOther}},[g]),te=(0,l.useMemo)(()=>{if("world"===J){let e=new Map;for(let t of ee)e.set(t,[]);for(let t of(e.set("other",[]),e6)){let n=function(e){var t;if(!e.world)return"other";let n=e.pref;return"ロシア"===n?e.lon>=60?"eastAsia":"europe":"アメリカ"===n?e.lon<-155&&e.lat<30?"oceania":e.lat>
1=70?"polarOther":"northAmerica":null!==(t=et[n])&&void 0!==t?t:"other"}(t);e.get(n).push(t)}let t=[];for(let n of ee){let a=e.get(n);a.length&&t.push({id:n,label:e7(n),stations:a})}let n=e.get("other");return n.length&&t.push({id:"other",label:e7("other"),stations:n}),t}let e=new Map;for(let t of $)e.set(t,[]);for(let t of(e.set("other",[]),e6)){let n=function(e){var t;return e.world?"other":null!==(t=X[function(e){var t,n;let a=e.replace(/\(代替\)$/,"").replace(/\(特色\)$/,"").trim();return null!==(n=null===(t=a.split("・")[0])||void 0===t?void 0:t.trim())&&void 0!==n?n:a}(e.pref)])&&void 0!==t?t:"other"}(t);e.get(n).push(t)}let t=[];for(let n of $){let a=e.get(n);a.length&&t.push({id:n,label:e9(n),stations:a})}let n=e.get("other");return n.length&&t.push({id:"other",label:e9("other"),stations:n}),t},[e6,J,e9,e7]),tt=(0,l.useCallback)(e=>{var t;let n=null===(t=e.target.files)||void 0===t?void 0:t[0];if(!n)return;let a=new FileReader;a.onload=()=>{try{let e=JSON.parse(String(a.result)),t=0,n={};for(let a of Object.keys(e)){let l=e[a];l&&Array.isArray(l.t)&&12===l.t.length&&Array.isArray(l.p)&&12===l.p.length&&(n[a]=l,t++)}S(e=>({...e,...n})),alert(g.jsonLoaded.replace("{n}",String(t)))}catch(e){alert(g.jsonLoadFailed.replace("{error}",e instanceof Error?e.message:String(e)))}},a.readAsText(n),e.target.value=""},[g.jsonLoaded,g.jsonLoadFailed]),tn=[e5,e3].filter(e=>!!e&&eI(e,J)),ta=tn.filter(e=>e4(e)),tl=!!(e5&&e3&&e4(e5)&&e4(e3)&&"uonzu"===es),ti=(0,l.useMemo)(()=>({mean:g.legendTempMean,tmax:g.legendTempMax,tmin:g.legendTempMin}),[g.legendTempMean,g.legendTempMax,g.legendTempMin]),tr=ei(ta.map(e=>e4(e)),tl),ts=tl&&ta.some(e=>en(e4(e))),to=(0,l.useMemo)(()=>{if(!tl||0===ta.length)return tr;let e=tr.tHi;if(tl&&e5&&e3&&e4(e5)&&e4(e3)){let t=e4(e5),n=e4(e3);e=Math.max(e,eu(tr,[t.t,n.t],eb(e5.name,e3.name)).tHi),ts&&(e=Math.max(e,eu(tr,[...ey(t),...ey(n)],eg(e5.name,e3.name)).tHi))}for(let t of ta){let n=e4(t);n&&en(n)&&(e=Math.max(e,eu(tr,ev(n),ef(ti)).tHi))}return{...tr,tHi:e}},[tr,tl,tl,ts,ta,e5,e3,ti]),td=(0,l.useMemo)(()=>"uonzu"===es?{high:ed,low:ep}:el(),[es,ed,ep]),tc=(0,l.useMemo)(()=>{if("uonzu"!==es||0===ta.length)return[];let e=[],t=t=>{null!==t&&(t<to.tLo||t>to.tHi)&&e.push(g.tempRefOffScale.replace("{value}",String(t)).replace("{lo}",String(to.tLo)).replace("{hi}",String(to.tHi)))};return t(ed),t(ep),e},[es,ta.length,ed,ep,to,g.tempRefOffScale]),tp=e=>{let t=e.trim();if(!t)return null;let n=Number(t);return Number.isFinite(n)?Math.round(10*n)/10:null},tm=e=>{let t=tp("high"===e?eh:e_);if(null===t){ej(g.tempRefInvalid);return}if(t<-10||t>30){ej(g.tempRefOutOfRange);return}ej(null),"high"===e?ec(t):em(t)},th=e=>{ej(null),("high"===e||"all"===e)&&(ec(null),ex("")),("low"===e||"all"===e)&&(em(null),ew(""))},tx=(0,l.useMemo)(()=>{if(!tl||!e5||!e3)return null;let e=e4(e5),t=e4(e3),n=G(e),a=G(t),l=(e,t)=>"en"===b?"Month ".concat(e+1," (").concat(t," mm)"):"zh-TW"===b?"".concat(e+1,"月(").concat(t,"mm)"):"".concat(e+1,"月(").concat(t,"mm)");return[[g.factRowTAvg,String(n.tAvg),String(a.tAvg)],[g.factRowPSum,String(n.pSum),String(a.pSum)],[g.factRowTRange,String(n.tRange),String(a.tRange)],[g.factRowWetMonth,l(n.wet,e.p[n.wet]),l(a.wet,t.p[a.wet])],[g.factRowWinterP,String(n.winterP),String(a.winterP)],[g.factRowSummerP,String(n.summerP),String(a.summerP)]]},[tl,e5,e3,e4,b,g.factRowTAvg,g.factRowPSum,g.factRowTRange,g.factRowWetMonth,g.factRowWinterP,g.factRowSummerP]),tu=(0,l.useMemo)(()=>N?N.features.map(e=>{var t,n;let a=e.properties,l=null!==(t=a.name)&&void 0!==t?t:"",i=V[l];return{name:l,color:null!==(n=a.color)&&void 0!==n?n:"#999",tag:null==i?void 0:i.tag}}):[],[N]);function tb(e){let t=e4(e);if(!t)return null;let n=G(t),a=U(t.t,t.p,e.lat),l=ta.length>=2?tr:ei([t]),i=eB(t,l,!!e.world,el(),!1);return{name:e.name,pref:e.pref,svg:i,tAvg:n.tAvg,pSum:n.pSum,tRange:n.tRange,wetMonth:n.wet+1,wetMm:t.p[n.wet],winterP:n.winterP,summerP:n.summerP,koppenCode:a.code,koppenName:a.name}}let tg=!!(e5&&e3&&e4(e5)&&e4(e3));function tf(e){var t,n;let a="";a=W(e)?"交通部中央氣象署 氣候月平均(1991-2020)":(null===(t=e.src)||void 0===t?void 0:t.startsWith("http"))?"気象庁 平年値(1991-2020)":null!==(n=e.src)&&void 0!==n?n:"WMO Normals 1991-2020";let l=[];
1if(e.got&&l.push("".concat(g.fetchedOn," ").concat(e.got)),e.cwa_station_id&&l.push("".concat(g.stationId," ").concat(e.cwa_station_id)),void 0!==e.yT){let t=!1===e.verified?g.verifyPending:g.verifyOk;l.push("".concat(g.publishedAnnual,": ").concat(e.yT,"℃ / ").concat(e.yP,"mm (").concat(t,")"))}let i="".concat(g.sourcePrefix,": ").concat(a);return l.length&&(i+=" / ".concat(l.join(" / "))),i}let tv=e=>"px-3 py-1.5 text-[12.5px] font-bold transition-colors ".concat(e?"bg-brand-blue text-white":"bg-white text-slate-700 hover:bg-slate-50");return(0,a.jsxs)("div",{className:"bg-brand-navy min-h-screen flex flex-col relative overflow-hidden",children:[(0,a.jsx)(h.default,{}),(0,a.jsx)("div",{className:"absolute inset-0 opacity-[0.05] pointer-events-none","aria-hidden":"true",children:(0,a.jsxs)("svg",{width:"100%",height:"100%",xmlns:"http://www.w3.org/2000/svg",children:[(0,a.jsx)("defs",{children:(0,a.jsxs)("pattern",{id:"topo-climate",x:"0",y:"0",width:"120",height:"120",patternUnits:"userSpaceOnUse",children:[(0,a.jsx)("path",{d:"M0 60 Q 30 40, 60 60 T 120 60",stroke:"white",strokeWidth:"0.6",fill:"none"}),(0,a.jsx)("path",{d:"M0 90 Q 30 70, 60 90 T 120 90",stroke:"white",strokeWidth:"0.6",fill:"none"}),(0,a.jsx)("path",{d:"M0 30 Q 30 10, 60 30 T 120 30",stroke:"white",strokeWidth:"0.6",fill:"none"})]})}),(0,a.jsx)("rect",{width:"100%",height:"100%",fill:"url(#topo-climate)"})]})}),(0,a.jsx)("div",{className:"absolute -top-32 -right-32 w-[520px] h-[520px] bg-brand-blue/15 blur-[120px] rounded-full pointer-events-none","aria-hidden":"true"}),(0,a.jsx)("div",{className:"absolute top-1/3 -left-24 w-[360px] h-[360px] bg-cyan-400/8 blur-[100px] rounded-full pointer-events-none","aria-hidden":"true"}),(0,a.jsx)("div",{className:"flex-grow relative z-10 pt-28 pb-12",children:(0,a.jsxs)("div",{className:"max-w-[1400px] mx-auto px-4 lg:px-10",children:[(0,a.jsxs)("header",{className:"relative mb-8",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 mb-5 flex-wrap",children:[(0,a.jsxs)("div",{className:"inline-flex items-center gap-2 px-3 py-1.5 bg-emerald-500/10 ring-1 ring-emerald-400/30 rounded-full text-[9px] font-black tracking-[0.25em] uppercase text-emerald-300",children:[(0,a.jsxs)("span",{className:"relative flex h-1.5 w-1.5",children:[(0,a.jsx)("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-emerald-400 opacity-75"}),(0,a.jsx)("span",{className:"relative inline-flex rounded-full h-1.5 w-1.5 bg-emerald-400"})]}),g.badge]}),(0,a.jsx)("div",{className:"text-[9px] font-mono tracking-[0.3em] uppercase text-slate-500",children:g.statusVersion})]}),(0,a.jsxs)("div",{className:"flex items-end gap-4 flex-wrap",children:[(0,a.jsxs)("h1",{className:"text-3xl md:text-4xl lg:text-5xl font-black text-slate-100 tracking-[-0.03em] leading-[0.95]",children:[g.title,(0,a.jsx)("span",{className:"text-brand-blue italic ml-1.5",children:g.titleAccent})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-1.5 opacity-80",children:[(0,a.jsx)("div",{className:"h-px w-8 bg-brand-accent"}),(0,a.jsx)("span",{className:"text-brand-accent font-black tracking-[0.3em] text-[9px] uppercase",children:g.eyebrow})]})]}),(0,a.jsx)("p",{className:"mt-4 text-[13px] md:text-sm text-slate-300 font-medium leading-relaxed border-l-2 border-brand-blue pl-4 max-w-3xl",children:g.intro}),(0,a.jsxs)("div",{className:"mt-4 flex items-center gap-x-5 gap-y-2 flex-wrap text-[10px] font-mono tracking-[0.18em] uppercase text-slate-500",children:[(0,a.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,a.jsx)(i.A,{className:"w-3.5 h-3.5 text-brand-blue","aria-hidden":!0}),(0,a.jsx)("span",{className:"text-slate-300 font-black",children:eX?"".concat(eX," ").concat(g.metaJapan):g.metaJapanFallback})]}),(0,a.jsx)("span",{className:"hidden sm:block w-px h-3 bg-slate-700","aria-hidden":!0}),(0,a.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,a.jsx)(r.A,{className:"w-3.5 h-3.5 text-brand-blue","aria-hidden":!0}),(0,a.jsx)("span",{className:"text-slate-300 font-black",children:e0?"".concat(e0," ").concat(g.metaWorld):g.metaWorld})]}),(0,a.jsx)("span",{className:"hidden sm:block w-px h-3 bg-slate-700","aria-hidden":!0}),(0,a.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,a.jsx)(s.A,{className:"w-3.5 h-3.5 text-brand-blue","aria-hidden":!0}),(0,a.jsx)("span",{className:"text-slate-300 font-black",children:g.metaCharts})]})]})]}),R&&(0,a.jsx)("div",{className:"mb-4 rounded-xl bg-red-50 ring-1 ring-red-200 px-4 py-3 text-sm text-red-800 font-bold",children:R}),tn.length<2&&(0,a.jsxs)("div",{className:"mb-3 rounded-2xl bg-brand-blue/[0.06] ring-1 ring-brand-blue/25 px-3.5 py-2.5 flex flex-wrap items-center gap-x-3 gap-y-2",role:"status",children:[(0,a.jsx)("span",{className:"text-[9px] font-mono tracking-[0.28em] uppercase text-brand-blue font-black shrink-0",children:g.pickNextEyebrow}),(0,a.jsxs)("span",{className:"inline-flex items-baseline gap-0.5 shrink-0 rounded-lg bg-brand-navy px-2 py-1 text-white shadow-sm","aria-label":g.pickNextProgress.replace("{n}",String(tn.length)),children:[(0,a.jsx)("span",{className:"text-[15px] font-black tabular-nums leading-none",children:tn.length}),(0,a.jsx)("span",{className:"text-[11px] font-bold text-white/70 leading-none",children:"/"}),(0,a.jsx)("span",{className:"text-[15px] font-black tabular-nums text-sky-300 leading-none",children:"2"})]}),(0,a.jsxs)("div",{className:"flex items-center gap-1.5 shrink-0","aria-hidden":!0,
1children:[(0,a.jsx)("span",{className:"inline-flex h-6 min-w-[1.5rem] items-center justify-center rounded-md px-1.5 text-[11px] font-black ".concat(0===tn.length?"bg-brand-blue text-white shadow-sm animate-pulse":"bg-brand-blue/15 text-brand-navy ring-1 ring-brand-blue/30"),children:"A"}),(0,a.jsx)("span",{className:"text-slate-400 text-[11px] font-bold",children:"→"}),(0,a.jsx)("span",{className:"inline-flex h-6 min-w-[1.5rem] items-center justify-center rounded-md px-1.5 text-[11px] font-black ".concat(1===tn.length?"bg-brand-blue text-white shadow-sm animate-pulse":"bg-white text-slate-400 ring-1 ring-dashed ring-slate-300"),children:"B"})]}),(0,a.jsx)("p",{className:"text-[14px] sm:text-[15px] font-black text-brand-navy leading-snug min-w-0 flex-1",children:0===tn.length?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"inline-block rounded-md bg-amber-100 text-amber-950 ring-1 ring-amber-300/80 px-1.5 py-0.5 mr-1.5",children:g.pickNextEmptyLead}),(0,a.jsx)("span",{className:"font-bold text-slate-700",children:g.pickNextEmptyRest})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"inline-block rounded-md bg-amber-100 text-amber-950 ring-1 ring-amber-300/80 px-1.5 py-0.5 mr-1.5",children:g.pickNextNeedBLead}),(0,a.jsx)("span",{className:"font-bold text-slate-700",children:g.pickNextNeedBRest})]})})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-3 items-stretch",children:[(0,a.jsxs)("div",{className:"flex-1 min-w-[330px] basis-[440px] flex flex-col gap-2",children:[(0,a.jsx)("div",{className:"".concat(I," p-2.5 text-[13px]"),children:(0,a.jsxs)("div",{className:"flex flex-wrap gap-x-3 gap-y-1.5 items-center",children:[(0,a.jsxs)("span",{className:"font-bold text-slate-600 shrink-0",children:[g.scope,":"]}),(0,a.jsxs)("div",{className:"flex rounded-lg overflow-hidden ring-1 ring-slate-300 shrink-0",children:[(0,a.jsx)("button",{className:tv("japan"===J),onClick:()=>Q("japan"),children:g.scopeJapan}),(0,a.jsx)("button",{className:tv("world"===J),onClick:()=>Q("world"),children:g.scopeWorld})]}),(0,a.jsxs)("span",{className:"font-bold text-slate-600 shrink-0",children:[g.background,":"]}),(0,a.jsxs)("div",{className:"flex rounded-lg overflow-hidden ring-1 ring-slate-300 shrink-0 ".concat("world"===J?"opacity-40 pointer-events-none":""),children:[(0,a.jsx)("button",{className:tv("std"===ea),onClick:()=>er("std"),children:g.baseStd}),(0,a.jsx)("button",{className:tv("terrain"===ea),onClick:()=>er("terrain"),children:g.baseTerrain}),(0,a.jsx)("button",{className:tv("climate"===ea),onClick:()=>er("climate"),children:g.baseClimate})]})]})}),(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)("div",{ref:eq,className:"h-[540px] rounded-2xl ring-1 ring-slate-300/80 bg-slate-100 overflow-hidden shadow-[0_12px_40px_rgba(2,6,23,0.12)]"}),"world"===J&&(0,a.jsx)("div",{className:"pointer-events-none absolute bottom-1.5 left-2 right-2 z-10 text-[9px] leading-snug text-slate-600/90 bg-white/75 backdrop-blur-[2px] rounded px-2 py-0.5 ring-1 ring-slate-200/60",children:g.cwaWorldOverlay})]}),(0,a.jsx)("div",{className:"".concat(I," p-3"),children:"japan"===J?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"flex flex-wrap gap-x-3 gap-y-2 text-[11.5px]",children:tu.map(e=>(0,a.jsxs)("span",{className:"inline-flex gap-1.5 items-center font-bold text-slate-700",children:[(0,a.jsx)(eT,{name:e.name,color:e.color}),(0,a.jsxs)("span",{children:[v(e.name),y(e.name)?(0,a.jsxs)("span",{className:"ml-1 text-[10px] font-mono font-black text-slate-500",children:["(",y(e.name),")"]}):null]})]},e.name))}),(0,a.jsxs)("div",{className:"text-[11.5px] mt-1.5 text-slate-600 font-medium",children:[g.legendMarkerJapan,(0,a.jsx)("span",{className:"block mt-0.5 text-[10.5px] text-slate-500",children:g.legendPacificSetouchi})]}),(0,a.jsxs)("details",{className:"text-[11px] mt-2 rounded-xl bg-brand-blue/5 ring-1 ring-brand-blue/20 text-slate-800 px-3 py-2 leading-relaxed",children:[(0,a.jsx)("summary",{className:"cursor-pointer text-brand-blue font-bold",children:g.academicRefTitle}),(0,a.jsxs)("p",{className:"mt-2",children:[g.academicRefBody.replace("{site}",T.siteLabel).replace("{author}",T.authorLabel).replace("{breadcrumb}",T.breadcrumb)," ",(0,a.jsx)("a",{href:T.url,target:"_blank",rel:"noopener noreferrer",className:"text-brand-blue underline font-bold",children:T.siteLabel})," \xb7 ",(0,a.jsx)("a",{href:"https://ja.wikipedia.org/wiki/%E4%B8%AD%E5%A4%AE%E9%AB%98%E5%9C%B0%E5%BC%8F%E6%B0%97%E5%80%99",target:"_blank",rel:"noopener noreferrer",className:"text-brand-blue underline",children:g.academicRefWikiLabel})]})]})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"text-[11.5px] text-slate-600 font-medium",children:g.legendMarkerWorld}),(0,a.jsx)("div",{className:"text-[11px] mt-1.5 rounded-lg bg-sky-50 ring-1 ring-sky-200 text-sky-900 px-2.5 py-1.5 leading-relaxed",children:g.worldNormalsNote.replace("{dataNone}",f)}),H?(0,a.jsx)("div",{className:"text-[11px] mt-1.5 rounded-lg bg-amber-50 ring-1 ring-amber-200 text-amber-900 px-2.5 py-1.5 leading-relaxed",children:g.worldDataLoadFailed}):null,(0,a.jsx)("div",{className:"flex flex-wrap gap-2 text-[11.5px] mt-2",children:Y.map(e=>(0,a.jsxs)("span",{className:"inline-flex gap-1 items-center font-bold text-slate-700",children:[(0,a.jsx)("span",{className:"w-3 h-3 rounded ring-1 ring-slate-400/50 inline-block",style:{background:e.color}}),e.letter,": ",_(e.letter)]},e.letter))}),(0,a.jsxs)("div",{className:"text-[11px] mt-1.5 rounded-lg bg-amber-50 ring-1 ring-amber-200 text-amber-900 px-2.5 py-1.5 leading-relaxed",children:[g.worldKoppenNote," ",(0,a.jsx)("a",{href:"https://doi.org/10.1038/s41597-023-02549-6",target:"_blank",rel:"noopener noreferrer",className:"underline",children:"DOI"})]})]})}),(0,a.jsx)("div",{className:"".concat(I," p-3"),children:(0,a.jsx)("div",{className:"max-h-[220px] overflow-auto pr-0.5",children:te.map(e=>(0,a.jsxs)("div",{className:e.label?"mb-2 last:mb-0":void 0,children:[e.label?(0,a.jsxs)("div",{className:"sticky top-0 z-[1] flex items-baseline gap-1.5 px-1 py-1 mb-0.5 bg-white/95 backdrop-blur-[1px]",children:[(0,a.jsx)("span",{className:"text-[10px] font-mono tracking-[0.18em] uppercase text-brand-blue font-black",children:e.label}),(0,a.jsx)("span",{className:"text-[10px] font-bold text-slate-400 tabular-nums",children:e.stations.length})]}):null,(0,a.jsx)("div",{className:"flex flex-wrap",children:e.stations.map(e=>{var t,n;let l=!!C[e.id],i=eM===e.id?"A":eJ===e.id?"B":null,r=null!==(t=e2[e.id])&&void 0!==t?t:K;return(0,a.jsxs)("button",{type:"button",onClick:()=>e8(e),className:"inline-block m-0.5 px-2 py-0.5 rounded-full text-[12px] font-bold transition-colors ".concat((n=!!e.special,"A"===i?"ring-2 ring-brand-blue ring-offset-1":"B"===i?"ring-2 ring-brand-navy ring-offset-1":n?"ring-2 ring-amber-500 ring-offset-1":"ring-1")),style:{backgroundColor:q(r,l?.28:.12),borderWidth:1,borderStyle:"solid",borderColor:q(r,l?.88:.42),color:l?"#1e293b":"#94a3b8"},children:[e.name,l?"":"\xb7".concat(f)]},e.id)})})]},e.id))})})]}),(0,a.jsxs)("div",{className:"flex-1 min-w-[340px] basis-[480px] flex flex-col gap-2",children:[(0,a.jsxs)("div",{className:"".concat(I," p-3 flex gap-4 flex-wrap items-center text-[13px]"),children:[(0,a.jsxs)("label",{className:"flex gap-1.5 items-center font-bold text-slate-700",children:[g.graph,":",(0,a.jsxs)("select",{value:es,onChange:e=>eo(e.target.value),className:"ring-1 ring-slate-300 rounded px-1.5 py-0.5",children:[(0,a.jsx)("option",{value:"uonzu",children:g.chartUonzu}),(0,a.jsx)("option",{value:"hyther",children:g.chartHyther})]})]}),(0,a.jsx)("button",{onClick:()=>{eJ&&(eG(eJ),eU(eM))},className:"px-3 py-1 rounded-md ring-1 ring-brand-blue text-brand-blue text-[12.5px] font-bold hover:bg-brand-blue/5",children:"A⇄B"}),(0,a.jsx)("button",{type:"button",onClick:()=>{eG(null),eU(null)},className:"px-3.5 py-1.5 rounded-md bg-slate-100 ring-1 ring-slate-400/80 text-slate-800 text-[12.5px] font-black tracking-wide shadow-[0_1px_0_rgba(15,23,42,0.06)] hover:bg-slate-200/90 hover:ring-slate-500 hover:text-slate-900 transition-colors",children:g.clearSelection}),(0,a.jsxs)("label",{className:"px-3 py-1 rounded-md ring-1 ring-dashed ring-brand-blue text-brand-blue text-[12.5px] font-bold cursor-pointer hover:bg-brand-blue/5",children:[g.loadJson,(0,a.jsx)("input",{type:"file",accept:".json",className:"hidden",onChange:tt})]}),(0,a.jsx)(B,{label:g.worksheet,onClick:()=>eS(!0)})]}),"uonzu"===es&&(0,a.jsxs)("div",{className:"".concat(I," p-3 sm:p-4 ring-2 ring-amber-400/50 bg-gradient-to-br from-amber-50/90 via-white to-sky-50/60"),children:[(0,a.jsxs)("button",{type:"button",onClick:()=>eA(e=>!e),"aria-expanded":eN,className:"w-full flex items-start gap-3 text-left rounded-xl -m-1 p-1 hover:bg-amber-50/60 transition-colors",children:[(0,a.jsx)("div",{className:"shrink-0 w-10 h-10 rounded-xl bg-amber-500/15 ring-2 ring-amber-400/40 flex items-center justify-center ".concat(eN?"animate-pulse":""),children:(0,a.jsx)(d,{className:"w-5 h-5 text-amber-700","aria-hidden":!0})}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("div",{className:"text-[9px] font-mono tracking-[0.28em] uppercase text-amber-700 font-black mb-0.5",children:g.tempRefPanelEyebrow}),(0,a.jsx)("h3",{className:"text-[13.5px] font-black text-brand-navy leading-snug",children:eN?g.tempRefPanelTitle:g.tempRefPanelToggle}),!eN&&(null!==ed||null!==ep)&&(0,a.jsx)("p",{className:"text-[11px] text-slate-600 mt-1 font-bold leading-relaxed",children:[null!==ed?g.tempRefActive.replace("{value}",String(ed)):null,null!==ep?g.tempRefActive.replace("{value}
1",String(ep)):null].filter(Boolean).join(" \xb7 ")})]}),(0,a.jsxs)("span",{className:"shrink-0 inline-flex items-center gap-1 mt-1 text-[11px] font-bold text-amber-800/80",children:[eN?g.tempRefPanelCollapse:g.tempRefPanelExpand,(0,a.jsx)(c.A,{className:"w-4 h-4 transition-transform ".concat(eN?"rotate-180":""),"aria-hidden":!0})]})]}),eN&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"mt-3 mb-3",children:[(0,a.jsx)("p",{className:"text-[11.5px] text-slate-600 leading-relaxed",children:g.tempRefPanelLead}),(0,a.jsx)("p",{className:"text-[10.5px] text-slate-500 mt-1 leading-relaxed",children:g.tempRefLineHint})]}),(0,a.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 mb-3",children:[(0,a.jsxs)("div",{className:"rounded-xl p-3 ring-2 ".concat(null!==ed?"ring-orange-400/60 bg-orange-50/50":"ring-dashed ring-orange-300/70 bg-white/80"),children:[(0,a.jsx)("div",{className:"text-[10px] font-mono tracking-[0.2em] uppercase text-orange-700 font-black mb-1.5",children:g.tempRefHighLineLabel}),(0,a.jsx)("p",{className:"text-[10px] text-slate-500 leading-relaxed mb-2",children:g.tempRefHighExample}),(0,a.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,a.jsxs)("label",{className:"inline-flex items-center gap-1 font-black text-brand-navy text-[13px]",children:[(0,a.jsx)("span",{className:"text-slate-500 font-bold text-[11px]",children:g.tempRefLineValueLabel}),(0,a.jsx)("span",{className:"text-orange-600",children:"["}),(0,a.jsx)("input",{type:"number",inputMode:"decimal",step:"0.5",min:-10,max:30,value:eh,onChange:e=>ex(e.target.value),placeholder:"—",className:"w-14 text-center ring-1 ring-orange-200 rounded px-1 py-0.5 font-black text-[13px] bg-white"}),(0,a.jsx)("span",{className:"text-orange-600",children:"]"}),(0,a.jsx)("span",{className:"text-[11px]",children:"℃"})]}),(0,a.jsx)("button",{type:"button",onClick:()=>tm("high"),className:"px-3 py-1.5 rounded-lg bg-orange-500 text-white text-[12px] font-black shadow-[0_4px_14px_rgba(234,88,12,0.35)] hover:bg-orange-600 ring-2 ring-orange-300/50 transition-colors",children:g.tempRefDraw}),null!==ed&&(0,a.jsx)("button",{type:"button",onClick:()=>th("high"),className:"px-2 py-1 rounded-md ring-1 ring-slate-300 text-slate-600 text-[11px] font-bold hover:bg-slate-50",children:g.tempRefClear})]}),null!==ed&&(0,a.jsx)("div",{className:"mt-1.5 text-[10px] font-bold text-orange-700",children:g.tempRefActive.replace("{value}",String(ed))})]}),(0,a.jsxs)("div",{className:"rounded-xl p-3 ring-2 ".concat(null!==ep?"ring-cyan-400/60 bg-cyan-50/50":"ring-dashed ring-cyan-300/70 bg-white/80"),children:[(0,a.jsx)("div",{className:"text-[10px] font-mono tracking-[0.2em] uppercase text-cyan-700 font-black mb-1.5",children:g.tempRefLowLineLabel}),(0,a.jsx)("p",{className:"text-[10px] text-slate-500 leading-relaxed mb-2",children:g.tempRefLowExample}),(0,a.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,a.jsxs)("label",{className:"inline-flex items-center gap-1 font-black text-brand-navy text-[13px]",children:[(0,a.jsx)("span",{className:"text-slate-500 font-bold text-[11px]",children:g.tempRefLineValueLabel}),(0,a.jsx)("span",{className:"text-cyan-600",children:"["}),(0,a.jsx)("input",{type:"number",inputMode:"decimal",step:"0.5",min:-10,max:30,value:e_,onChange:e=>ew(e.target.value),placeholder:"—",className:"w-14 text-center ring-1 ring-cyan-200 rounded px-1 py-0.5 font-black text-[13px] bg-white"}),(0,a.jsx)("span",{className:"text-cyan-600",children:"]"}),(0,a.jsx)("span",{className:"text-[11px]",children:"℃"})]}),(0,a.jsx)("button",{type:"button",onClick:()=>tm("low"),className:"px-3 py-1.5 rounded-lg bg-cyan-600 text-white text-[12px] font-black shadow-[0_4px_14px_rgba(8,145,178,0.35)] hover:bg-cyan-700 ring-2 ring-cyan-300/50 transition-colors",children:g.tempRefDraw}),null!==ep&&(0,a.jsx)("button",{type:"button",onClick:()=>th("low"),className:"px-2 py-1 rounded-md ring-1 ring-slate-300 text-slate-600 text-[11px] font-bold hover:bg-slate-50",children:g.tempRefClear})]}),null!==ep&&(0,a.jsx)("div",{className:"mt-1.5 text-[10px] font-bold text-cyan-700",children:g.tempRefActive.replace("{value}",String(ep))})]})]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)("button",{type:"button",onClick:()=>{ex(String(22)),ew(String(11)),ec(22),em(11),ej(null)},className:"px-3 py-1.5 rounded-lg ring-2 ring-brand-blue/40 bg-brand-blue/5 text-brand-navy text-[12px] font-black hover:bg-brand-blue/10 transition-colors",children:g.tempRefTryExample}),(null!==ed||null!==ep)&&(0,a.jsx)("button",{type:"button",onClick:()=>th("all"),className:"px-2.5 py-1 rounded-md ring-1 ring-slate-300 text-slate-600 text-[11px] font-bold hover:bg-slate-50",children:g.tempRefClearAll}),(0,a.jsx)("span",{className:"text-[10px] text-slate-400 font-mono",children:g.tempRefRangeNote})]}),ek&&(0,a.jsx)("p",{className:"mt-2 text-[11px] font-bold text-rose-700 bg-rose-50 ring-1 ring-rose-200 rounded-lg px-2.5 py-1.5",children:ek}),tc.length>0&&(0,a.jsx)("div",{className:"mt-2 text-[10.5px] text-amber-800 bg-amber-50 ring-1 ring-amber-200 rounded-lg px-2.5 py-1.5 leading-relaxed space-y-0.5",children:tc.map(e=>(0,a.jsx)("p",{children:e},e))})]})]}),(0,a.jsx)("div",{className:"".concat(I," p-3"),children:0===tn.length?(0,a.jsxs)("div",{className:"p-5 space-y-2",children:[(0,a.jsx)("p",{className:"text-[13px] text-slate-500 font-medium leading-relaxed",children:g.pickHint}),(0,a.jsx)("p",{className:"text-[11.5px] text-slate-400 leading-relaxed",children:g.pickHintData})]}):(0,a.jsxs)(a.Fragment,{children:[tl&&e5&&e3&&(()=>{let e=function(){if(!tl||!e5||!e3)return null;let e=e4(e5),t=e4(e3),n=eH({name:e5.name,d:e},{name:e3.name,d:t},tr,!!(e5.world||e3.world),td),a=G(e),l=G(t);return{stationName:"".concat(e5.name," \xd7 ").concat(e3.name),stationPref:"".concat(g.overlayTitle," \xb7 ").concat(g.overlayScaleBadge),svgString:n,koppenCode:"",koppenName:"",koppenCaption:"",statsLine:"".concat(e5.name,": ").concat(g.statsAnnual.replace("{tAvg}",String(a.tAvg)).replace("{pSum}",String(a.pSum)).replace("{tRange}",String(a.tRange))," / ").concat(e3.name,": ").concat(g.statsAnnual.replace("{tAvg}",String(l.tAvg)).replace("{pSum}",String(l.pSum)).replace("{tRange}",String(l.tRange))),sourceLine:"".concat(tf(e)," / ").concat(tf(t)),overlayHint:g.overlayHint,brandLine:g.exportBrand}}();return(0,a.jsxs)("div",{className:"flex-1 min-w-[280px]",children:[(0,a.jsxs)("h3",{className:"text-sm font-black text-brand-navy mb-1",children:[g.overlayTitle," ",(0,a.jsx)("span",{className:"inline-block text-[10.5px] px-1.5 py-0.5 rounded-lg bg-brand-blue/10 ring-1 ring-brand-blue/25 text-brand-navy font-black",children:g.overlayScaleBadge})]}),(0,a.jsx)("div",{dangerouslySetInnerHTML:{__html:eH({name:e5.name,d:e4(e5)},{name:e3.name,d:e4(e3)},tr,!!(e5.world||e3.world),td)}}),(0,a.jsxs)("div",{className:"mt-1 flex gap-3 items-stretch",children:[(0,a.jsx)("div",{className:"flex-1 min-w-0 text-[10.5px] text-slate-500 leading-relaxed self-center",children:g.overlayHint}),e&&(0,a.jsx)("div",{className:"shrink-0 flex items-center self-center",children:(0,a.jsx)(j,{label:g.copyImage,titleLabel:g.copyImageOverlay,copiedLabel:g.copyImageDone,downloadedLabel:g.copyImageDownloaded,failedLabel:g.copyImageFailed,exportData:e,filenameSuffix:"overlay"})})]})]})})(),tn.map(e=>(function(e){var t,n;let l=e4(e);if(!l)return(0,a.jsxs)("div",{className:"flex-1 min-w-[280px]",children:[(0,a.jsxs)("h3",{className:"text-sm font-black text-brand-navy mb-1",children:[e.name," ",(0,a.jsxs)("span",{className:"text-[11px] font-bold text-slate-500",children:["(",e.pref,")"]})]}),(0,a.jsxs)("div",{className:"border border-dashed border-slate-300 rounded-xl p-6 text-center text-slate-500 text-[13px]",children:[g.noNormalsLead.replace("{dataNone}",f),(0,a.jsx)("br",{}),(0,a.jsxs)("span",{className:"text-[11px]",children:[e.note?(0,a.jsxs)(a.Fragment,{children:[e.note,(0,a.jsx)("br",{})]}):null,e.world?g.noNormalsWorld:g.noNormalsJapan]})]})]},e.id);let i=ta.length>=2?tr:ei([l]),r="hyther"===es?eR(l,i,!!e.world):eB(l,i,!!e.world,td,tl&&en(l),ti),s=G(l),o=U(l.t,l.p,e.lat),d=e.id===eM?"A":e.id===eJ?"B":null,c=function(e){let t=e4(e);if(!t)return null;let n=ta.length>=2?tr:ei([t]),a="hyther"===es?eR(t,n,!!e.world):eB(t,n,!!e.world,td,tl&&en(t),ti),l=G(t),i=U(t.t,t.p,e.lat);
1return{stationName:e.name,stationPref:e.pref,svgString:a,koppenCode:i.code,koppenName:i.name,koppenCaption:g.koppenAutoNote,statsLine:g.statsAnnual.replace("{tAvg}",String(l.tAvg)).replace("{pSum}",String(l.pSum)).replace("{tRange}",String(l.tRange)),sourceLine:tf(t),brandLine:g.exportBrand}}(e),p="A"===d?g.copyImageA:"B"===d?g.copyImageB:g.copyImageA;return(0,a.jsxs)("div",{className:"flex-1 min-w-[280px]",children:[(0,a.jsxs)("h3",{className:"text-sm font-black text-brand-navy mb-1",children:[e.name," ",(0,a.jsxs)("span",{className:"text-[11px] font-bold text-slate-500",children:["(",e.pref,")"]}),!1===l.verified&&(0,a.jsx)("span",{className:"ml-2 inline-block text-[10px] px-1.5 py-0.5 rounded bg-amber-100 text-amber-800 ring-1 ring-amber-300 font-black",children:g.verifyPending})]}),(0,a.jsx)("div",{dangerouslySetInnerHTML:{__html:r}}),(0,a.jsxs)("div",{className:"mt-1 flex gap-3 items-stretch",children:[(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 text-[11px] flex-wrap",children:[(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded bg-brand-blue/10 ring-1 ring-brand-blue/25 text-brand-navy font-black",children:[o.code,(0,a.jsx)("span",{className:"font-bold",children:o.name})]}),(0,a.jsx)("span",{className:"text-[10px] text-slate-400",children:g.koppenAutoNote})]}),(0,a.jsxs)("div",{className:"text-[10.5px] text-slate-500 mt-1 leading-relaxed",children:[g.statsAnnual.replace("{tAvg}",String(s.tAvg)).replace("{pSum}",String(s.pSum)).replace("{tRange}",String(s.tRange)),(0,a.jsx)("br",{}),g.sourcePrefix,": ",W(l)?(0,a.jsx)("a",{href:P.monthlyMeanUrl,target:"_blank",rel:"noopener noreferrer",className:"text-brand-blue underline",children:"交通部中央氣象署 氣候月平均(1991-2020)"}):(null===(t=l.src)||void 0===t?void 0:t.startsWith("http"))?(0,a.jsx)("a",{href:l.src,target:"_blank",rel:"noopener noreferrer",className:"text-brand-blue underline",children:"気象庁 平年値"}):(0,a.jsx)("span",{children:null!==(n=l.src)&&void 0!==n?n:"WMO Normals 1991-2020"}),l.got?" ".concat(g.fetchedOn).concat(l.got):"",l.cwa_station_id?" / ".concat(g.stationId).concat(l.cwa_station_id):"",void 0!==l.yT?" / ".concat(g.publishedAnnual,": ").concat(l.yT,"℃・").concat(l.yP,"mm(").concat(!1===l.verified?g.verifyPending:g.verifyOk,")"):""]})]}),d&&c&&(0,a.jsx)("div",{className:"shrink-0 flex items-center self-center",children:(0,a.jsx)(j,{label:g.copyImage,titleLabel:p,copiedLabel:g.copyImageDone,downloadedLabel:g.copyImageDownloaded,failedLabel:g.copyImageFailed,exportData:c,filenameSuffix:"A"===d?"A":"B"})})]})]},e.id)})(e)),ts&&e5&&e3&&(()=>{let e=function(){if(!ts||!e5||!e3)return null;let e=e4(e5),t=e4(e3),n=eE({name:e5.name,d:e},{name:e3.name,d:t},tr,!!(e5.world||e3.world),td);return{stationName:"".concat(e5.name," \xd7 ").concat(e3.name),stationPref:"".concat(g.rangeOverlayTitle," \xb7 ").concat(g.overlayScaleBadge),svgString:n,koppenCode:"",koppenName:"",koppenCaption:"",statsLine:g.rangeOverlayHint,sourceLine:"".concat(tf(e)," / ").concat(tf(t)),overlayHint:g.rangeOverlayHint,brandLine:g.exportBrand}}(),t=en(e4(e5))&&en(e4(e3))?null:g.rangeOverlayPartialNote;return(0,a.jsxs)("div",{className:"flex-1 min-w-[280px]",children:[(0,a.jsxs)("h3",{className:"text-sm font-black text-brand-navy mb-1",children:[g.rangeOverlayTitle," ",(0,a.jsx)("span",{className:"inline-block text-[10.5px] px-1.5 py-0.5 rounded-lg bg-brand-blue/10 ring-1 ring-brand-blue/25 text-brand-navy font-black",children:g.overlayScaleBadge})]}),(0,a.jsx)("div",{dangerouslySetInnerHTML:{__html:eE({name:e5.name,d:e4(e5)},{name:e3.name,d:e4(e3)},tr,!!(e5.world||e3.world),td)}}),(0,a.jsxs)("div",{className:"mt-1 flex gap-3 items-stretch",children:[(0,a.jsxs)("div",{className:"flex-1 min-w-0 text-[10.5px] text-slate-500 leading-relaxed self-center",children:[g.rangeOverlayHint,t?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("br",{}),(0,a.jsx)("span",{className:"text-amber-700",children:t})]}):null]}),e&&(0,a.jsx)("div",{className:"shrink-0 flex items-center self-center",children:(0,a.jsx)(j,{label:g.copyImage,titleLabel:g.copyImageRangeOverlay,copiedLabel:g.copyImageDone,downloadedLabel:g.copyImageDownloaded,failedLabel:g.copyImageFailed,exportData:e,filenameSuffix:"range-overlay"})})]})]})})()]})}),tx&&e5&&e3&&(0,a.jsxs)("div",{className:"".concat(I," p-3"),children:[(0,a.jsxs)("h3",{className:"text-sm font-black text-brand-navy mb-1.5",children:[g.factTableTitle," — ",e5.name," と ",e3.name]}),(0,a.jsxs)("table",{className:"w-full border-collapse text-[12.5px]",children:[(0,a.jsx)("thead",{children:(0,a.jsxs)("tr",{children:[(0,a.jsx)("th",{className:"border border-slate-300 px-1.5 py-1 text-left bg-slate-50",children:g.factTableItem}),(0,a.jsx)("th",{className:"border border-slate-300 px-1.5 py-1 text-right bg-slate-50",children:e5.name}),(0,a.jsx)("th",{className:"border border-slate-300 px-1.5 py-1 text-right bg-slate-50",children:e3.name})]})}),(0,a.jsx)("tbody",{children:tx.map(e=>(0,a.jsxs)("tr",{children:[(0,a.jsx)("td",{className:"border border-slate-200 px-1.5 py-1",children:e[0]}),(0,a.jsx)("td",{className:"border border-slate-200 px-1.5 py-1 text-right",children:e[1]}),(0,a.jsx)("td",{className:"border border-slate-200 px-1.5 py-1 text-right",children:e[2]})]},e[0]))})]}),(0,a.jsx)("div",{className:"text-[12px] text-slate-700 mt-1.5 rounded-lg bg-emerald-50 ring-1 ring-emerald-200 px-2.5 py-1.5 leading-relaxed",children:g.factHintJapan})]}),(0,a.jsx)("div",{className:"".concat(I," p-3"),children:(0,a.jsxs)("details",{className:"text-[12px] text-slate-600",children:[(0,a.jsx)("summary",{className:"cursor-pointer text-brand-blue font-bold",children:g.teacherMemoTitle}),(0,a.jsxs)("p",{className:"mt-2 leading-relaxed",children:["・日本の平年値(県庁所在地",null!==(n=null==w?void 0:w.prefectural_capitals.length)&&void 0!==n?n:"—","+特色地域",null!==(o=null==w?void 0:w.special_stations.length)&&void 0!==o?o:"—",")は気象庁「過去の気象データ検索」から取得ã
1‚¹ã‚¯ãƒªãƒ—トで実取得し、月別値と掲載年値の検算を通ったものだけを表示しています。",(0,a.jsx)("br",{}),"・世界の都市は WMO Climatological Standard Normals 1991-2020(観測値)を使用します。近くに観測所がない都市は「",f,"」と表示し、モデル推計値による穴埋めは行いません。",(0,a.jsx)("br",{}),"・台湾の地点(",P.stationNamesJa,")はすべて交通部中央氣象署の開放資料 API(",P.datasetId,")から取得した1991-2020年の気候月平均です。WMO 経由のデータは使いません。政府資料開放授權條款に基づき出典を明記しています。",(0,a.jsx)("br",{}),"・各地点の雨温図に添えるケッペン気候区分は、表示中の月別平年値から標準的な判定式で自動分類したものです(地図の色分けとは別に、その地点の実測値から計算しています)。",(0,a.jsx)("br",{}),"・「地点JSON読込」で取得スクリプトの出力JSONを追加読み込みできます。",(0,a.jsx)("br",{}),"・日本の気候区分ポリゴンは、",(0,a.jsx)("a",{href:T.url,target:"_blank",rel:"noopener noreferrer",className:"text-brand-blue underline font-bold",children:T.siteLabel}),"(",T.authorLabel,"・講義研究資料)の6区分体系を参照し、国土地理院の標高タイルから実際の分水嶺(尾根線)・海岸線・標高を計算して自動生成した本教材の近似です。手描きの概形ではなく地形データに基づきますが、気象庁等が定めた公式の境界ではありません。中央高地(内陸性)の範囲設定は",(0,a.jsx)("a",{href:"https://ja.wikipedia.org/wiki/%E4%B8%AD%E5%A4%AE%E9%AB%98%E5%9C%B0%E5%BC%8F%E6%B0%97%E5%80%99",target:"_blank",rel:"noopener noreferrer",className:"text-brand-blue underline",children:"Wikipedia「中央高地式気候」"}),"の議論(長野418mを明瞭例・甲府273mを太平洋寄り例とする気候データ、北関東・東北内陸の両説併記)も踏まえています。",(0,a.jsx)("br",{}),"・世界の気候区分は、Beck et al. (2023) が公開しているケッペン気候区分の計算済みデータ(1km解像度・CC BY)をそのまま画像化して重ねており、南極やグリーンランドを含む陸域をほぼ全て網羅しています。"]})]})}),(0,a.jsxs)("div",{className:"text-[11px] text-slate-500 leading-relaxed px-1 space-y-2",children:[(0,a.jsxs)("p",{children:[(0,a.jsx)("span",{className:"font-bold text-slate-600",children:"出典(日本・気象庁):"})," ","気象庁ホームページ「過去の気象データ検索」平年値(1991〜2020å¹´)を加工して作成"]}),(0,a.jsxs)("p",{children:[(0,a.jsx)("span",{className:"font-bold text-slate-600",children:"出典(世界・WMO):"})," ","WMO Climatological Standard Normals 1991-2020 (via NOAA NCEI, accession 0253808)"]}),(0,a.jsxs)("details",{className:"rounded-lg bg-slate-50 ring-1 ring-slate-200 px-2.5 py-2",children:[(0,a.jsxs)("summary",{className:"cursor-pointer font-bold text-slate-600",children:["出典(台湾・OGDL): ",P.shortJa]}),(0,a.jsxs)("div",{className:"mt-2 space-y-2 text-[10.5px] leading-relaxed",children:[(0,a.jsxs)("p",{children:[(0,a.jsx)("a",{className:"text-brand-blue underline",href:P.portalUrl,target:"_blank",rel:"noopener noreferrer",children:"交通部中央氣象署 氣象資料開放平台"}),"/",(0,a.jsx)("a",{className:"text-brand-blue underline",href:P.usageUrl,target:"_blank",rel:"noopener noreferrer",children:"網站資訊使用聲明"}),"/",(0,a.jsx)("a",{className:"text-brand-blue underline",href:P.licenseUrl,target:"_blank",rel:"noopener noreferrer",children:"政府資料開放授權條款"})]}),(0,a.jsx)("p",{className:"whitespace-pre-line font-mono text-[10px] text-slate-700 bg-white rounded px-2 py-1.5 ring-1 ring-slate-200",children:P.fullZh}),(0,a.jsxs)("p",{children:["利用データセット: ",P.datasetName," (",P.datasetId,") — 測站 ID: ",P.cwaStationIds.join("、"),"(",P.stationNamesJa,"。台湾地点はすべてこの出典)"]})]})]}),(0,a.jsxs)("p",{children:[(0,a.jsx)("span",{className:"font-bold text-slate-600",children:"地図タイルï¼
1ˆå›½åœŸåœ°ç†é™¢ï¼‰:"})," ","国土地理院(標準地図・淡色地図・色別標高図・陰影起伏図・白地図、",(0,a.jsx)("a",{className:"text-brand-blue underline",href:"https://maps.gsi.go.jp/development/ichiran.html",target:"_blank",rel:"noopener noreferrer",children:"地理院タイル一覧"}),")"]}),(0,a.jsxs)("p",{children:[(0,a.jsx)("span",{className:"font-bold text-slate-600",children:"地図タイル(世界):"})," ","CartoDB(\xa9 ",(0,a.jsx)("a",{className:"text-brand-blue underline",href:"https://carto.com/attributions",target:"_blank",rel:"noopener noreferrer",children:"CARTO"})," / \xa9 OpenStreetMap contributors)"]}),(0,a.jsxs)("p",{children:[(0,a.jsx)("span",{className:"font-bold text-slate-600",children:"気候区分(日本):"})," ",(0,a.jsx)("a",{className:"text-brand-blue underline",href:T.url,target:"_blank",rel:"noopener noreferrer",children:T.siteLabel}),"(",T.authorLabel,")の6区分を参照した本教材の近似。国土地理院標高タイルから分水嶺・海岸線を計算。公式定義ではありません。"]}),(0,a.jsxs)("p",{children:[(0,a.jsx)("span",{className:"font-bold text-slate-600",children:"気候区分(世界):"})," ",(0,a.jsx)("a",{className:"text-brand-blue underline",href:"https://doi.org/10.1038/s41597-023-02549-6",target:"_blank",rel:"noopener noreferrer",children:"Beck, H. E. et al. High-resolution (1 km) K\xf6ppen-Geiger maps for 1901-2099 based on constrained CMIP6 projections. Scientific Data 10, 724 (2023)"}),"、CC BY 4.0。"]})]})]})]})]})}),(0,a.jsx)(M,{open:eC,canCompare:tg,labels:{title:g.worksheetModalTitle,lead:g.worksheetModalLead,stepType:g.worksheetStepType,stepLevel:g.worksheetStepLevel,kindExplore:g.worksheetKindExplore,kindExploreDesc:g.worksheetKindExploreDesc,kindCompare:g.worksheetKindCompare,kindCompareDesc:g.worksheetKindCompareDesc,kindCompareDisabled:g.worksheetKindCompareDisabled,levelElementary:g.worksheetLevelElementary,levelJunior:g.worksheetLevelJunior,levelSenior:g.worksheetLevelSenior,levelElementaryDesc:g.worksheetLevelElementaryDesc,levelJuniorDesc:g.worksheetLevelJuniorDesc,levelSeniorDesc:g.worksheetLevelSeniorDesc,create:g.worksheet,cancel:g.worksheetCancel,back:g.worksheetBack},onClose:()=>eS(!1),onCreate:(e,t)=>{let n=e5?tb(e5):null,a=e3?tb(e3):null;if("compare"===e&&(!n||!a))return;let l=function(e){let t=function(e){let t=e.locale||"ja",n=L(t),a=n.pages[e.kind][e.level],l=e.stationA,i=e.stationB,r="compare"===e.kind,s="explore"===e.kind,o=s?n.kindExplore:n.kindCompare,d="elementary"===e.level?n.levelElementary:"junior"===e.level?n.levelJunior:n.levelSenior,c=r&&l&&i?"".concat(z(l.name)," \xd7 ").concat(z(i.name)):"",p=a.sections.map(n=>{let a=function(e,t,n,a,l,i){let r=z(L(i).needTwoStations);return"compare"===t&&a&&l?e.replace("{{COMPARE_TABLE_ELEM}}",function(e,t,n){let a="en"===n?{item:"Item",which:"Larger?",t:"Annual mean temp (\xb0C)",p:"Annual precip. (mm)",w:"Winter precip. (mm)"}:"zh-TW"===n?{item:"項目",which:"哪個較大?",t:"年平均氣溫 (℃)",p:"年降水量 (mm)",w:"冬季降水量 (mm)"}:{item:"項目",which:"どちらが大きい?",t:"1年の平均の気温 (℃)",p:"1年の雨や雪 (mm)",w:"冬の雨や雪 (mm)"};return'<table class="ws">\n    <thead><tr><th>'.concat(a.item,"</th><th>").concat(z(e.name),"</th><th>").concat(z(t.name),"</th><th>").concat(a.which,"</th></tr></thead>\n    <tbody>\n      <tr><td>").concat(a.t,'</td><td class="num">').concat(e.tAvg,'</td><td class="num">').concat(t.tAvg,"</td><td>○ A ○ B</td></tr>\n      <tr><td>").concat(a.p,'</td><td class="num">').concat(e.pSum,'</td><td class="num">').concat(t.pSum,"</td><td>○ A ○ B</td></tr>\n      <tr><td>").concat(a.w,'</td><td class="num">').concat(e.winterP,'</td><td class="num">').concat(t.winterP,"</td><td>○ A ○ B</td></tr>\n    </tbody>\n  </table>")}(a,l,i)).replace("{{COMPARE_TABLE_JUNIOR}}",function(e,t,n){let a="en"===n?{item:"Item",t:"Annual mean temp (\xb0C)",p:"Annual precip. (mm)",r:"Annual temp. range (\xb0C)",wet:"Wettest month",win:"Winter precip. (mm)",sum:"Summer precip. (mm)"}:"zh-TW"===n?{item:"項目",t:"年平均氣溫 (℃)",p:"年降水量 (mm)",r:"氣溫年較差 (℃)",wet:"降水最多月",win:"冬季降水量 (mm)",sum:"夏季降水量 (mm)"}:{item:"項目",t:"年平均気温 (℃)",p:"年降水量 (mm)",r:"気温の年較差 (℃)",wet:"最も雨が多い月",win:"冬(12〜2月)降水量 (mm)",sum:"夏(6〜8月)降水量 (mm)"};return'<table class="ws compact">\n    <thead><tr><th>
1'.concat(a.item,"</th><th>").concat(z(e.name),"</th><th>").concat(z(t.name),"</th></tr></thead>\n    <tbody>\n      <tr><td>").concat(a.t,"</td><td></td><td></td></tr>\n      <tr><td>").concat(a.p,"</td><td></td><td></td></tr>\n      <tr><td>").concat(a.r,"</td><td></td><td></td></tr>\n      <tr><td>").concat(a.wet,"</td><td></td><td></td></tr>\n      <tr><td>").concat(a.win,"</td><td></td><td></td></tr>\n      <tr><td>").concat(a.sum,"</td><td></td><td></td></tr>\n    </tbody>\n  </table>")}(a,l,i)).replace("{{COMPARE_TABLE_SENIOR}}",function(e,t,n){let a=L(n),l=e.koppenCode?"".concat(e.koppenCode).concat(e.koppenName?" ".concat(e.koppenName):""):"—",i=t.koppenCode?"".concat(t.koppenCode).concat(t.koppenName?" ".concat(t.koppenName):""):"—";return'<table class="ws compact">\n    <thead><tr><th>'.concat(z("en"===n?"Item":"項目"),"</th><th>").concat(z(e.name),"</th><th>").concat(z(t.name),"</th></tr></thead>\n    <tbody>\n      <tr><td>").concat(z(a.seniorRowMeans),"</td><td></td><td></td></tr>\n      <tr><td>").concat(z(a.seniorRowExtremes),"</td><td></td><td></td></tr>\n      <tr><td>").concat(z(a.seniorRowSeason),"</td><td></td><td></td></tr>\n      <tr><td>").concat(z(a.seniorRowScreen),'</td><td class="num">').concat(z(l),'</td><td class="num">').concat(z(i),"</td></tr>\n      <tr><td>").concat(z(a.seniorRowYours),"</td><td></td><td></td></tr>\n    </tbody>\n  </table>")}(a,l,i)):e.replace("{{COMPARE_TABLE_ELEM}}",'<p class="tiny">'.concat(r,"</p>")).replace("{{COMPARE_TABLE_JUNIOR}}",'<p class="tiny">'.concat(r,"</p>")).replace("{{COMPARE_TABLE_SENIOR}}",'<p class="tiny">'.concat(r,"</p>"))}(n.bodyHtml,e.kind,e.level,l,i,t);return"<section><h2>".concat(z(n.heading),"</h2>").concat(a,"</section>")}).join("\n"),m=r?'<div class="charts">'.concat(O("A",l,n.chartOnScreen)).concat(O("B",i,n.chartOnScreen),"</div>"):"",h=s?function(e,t,n){let a=(null==t?void 0:t.svg)&&(null==n?void 0:n.svg)?e.pasteAppendixLead:e.pasteAppendixLeadEmpty,l=e.pasteAppendixLeadEmpty;return'<div class="sheet sheet-break">\n    <header class="mast">\n      <div>\n        <h1>'.concat(z(e.pasteAppendixTitle),'</h1>\n        <p class="sub">').concat(z(e.pasteAppendixCutHint),'</p>\n      </div>\n      <div class="brand">').concat(z(e.brand),'</div>\n    </header>\n    <p class="paste-lead">').concat(z(a),'</p>\n    <div class="paste-grid">\n      ').concat(D(e.pasteAppendixALabel,t,l),"\n      ").concat(D(e.pasteAppendixBLabel,n,l),'\n    </div>\n    <p class="paste-cut">✂ ').concat(z(e.pasteAppendixCutHint),'</p>\n    <footer class="foot">
1\n      <span>').concat(z(e.sourceFooter),"</span>\n      <span>").concat(z(e.createGbmHint),"</span>\n    </footer>\n  </div>")}(n,l,i):"",x="en"===t?"Print / Save as PDF":"zh-TW"===t?"列印/另存 PDF":"印刷 / PDFとして保存",u="en"===t?"Close":"zh-TW"===t?"關閉":"閉じる",b=s?"en"===t?" \xb7 + paste appendix":"zh-TW"===t?" \xb7 含可貼附錄":" \xb7 貼付用付属あり":"";return'<!DOCTYPE html>\n<html lang="'.concat("zh-TW"===t?"zh-Hant":t,'">\n<head>\n  <meta charset="utf-8" />\n  <meta name="viewport" content="width=device-width, initial-scale=1" />\n  <title>').concat(z(a.title)," — ").concat(z(n.brand),"</title>\n  <style>").concat('\n  @page { size: A4; margin: 10mm 12mm; }\n  * { box-sizing: border-box; }\n  html, body {\n    margin: 0; padding: 0;\n    font-family: "Hiragino Sans", "Noto Sans JP", "Yu Gothic", "Meiryo", "Segoe UI", sans-serif;\n    color: #0f172a;\n    font-size: 10.5pt;\n    line-height: 1.35;\n    -webkit-print-color-adjust: exact;\n    print-color-adjust: exact;\n  }\n  .sheet {\n    max-width: 186mm;\n    margin: 0 auto;\n  }\n  .no-print {\n    position: sticky; top: 0; z-index: 10;\n    display: flex; gap: 8px; align-items: center; flex-wrap: wrap;\n    background: #0b1730; color: #fff; padding: 10px 14px;\n    font-size: 13px;\n  }\n  .no-print button {\n    cursor: pointer; border: 0; border-radius: 8px;\n    padding: 8px 14px; font-weight: 800; font-size: 13px;\n  }\n  .no-print .print-btn { background: #2563eb; color: #fff; }\n  .no-print .close-btn { background: #e2e8f0; color: #0f172a; }\n  .mast {\n    display: flex; justify-content: space-between; align-items: flex-end;\n    gap: 8px; border-bottom: 2.5px solid #0b1730; padding-bottom: 4px; margin-bottom: 6px;\n  }\n  .mast h1 {\n    margin: 0; font-size: 14.5pt; font-weight: 900; letter-spacing: -0.02em; line-height: 1.15;\n  }\n  .mast .sub { margin: 2px 0 0; font-size: 8.5pt; color: #475569; font-weight: 600; }\n  .brand {\n    font-size: 7.5pt; font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase;\n    color: #2563eb; white-space: nowrap;\n  }\n  .meta-row {\n    display: flex; gap: 10px; flex-wrap: wrap; align-items: center;\n    font-size: 9pt; margin: 4px 0 8px; color: #334155;\n  }\n  .meta-row .fill {\n    border-bottom: 1px solid #94a3b8; min-width: 7em; display: inline-block; height: 1.1em;\n  }\n  .badge {\n    display: inline-block; font-size: 7.5pt; font-weight: 900; letter-spacing: 0.08em;\n    text-transform: uppercase; background: #eff6ff; color: #1d4ed8;\n    border: 1px solid #93c5fd; border-radius: 999px; padding: 1px 8px;\n  }\n  .charts {\n    display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin: 4px 0 8px;\n  }\n  .chart-slot {\n    border: 1px solid #cbd5e1; border-radius: 6px; padding: 4px 4px 2px; background: #f8fafc;\n    overflow: hidden;\n  }\n  .chart-slot.empty { min-height: 40px; }\n  .chart-label { font-size: 8pt; font-weight: 900; color: #0b1730; margin-bottom: 2px; }\n  .chart-label .meta { font-weight: 600; color: #64748b; margin-left: 4px; font-size: 7.5pt; }\n  .chart-svg { width: 100%; }\n  .chart-svg svg { width: 100% !important; height: auto !important; max-height: 48mm; display: block; }\n  .sheet-break { page-break-before: always; break-before: page; margin-top: 0; }\n  @media screen {\n    .sheet-break { margin-top: 24px; }\n  }\n  .paste-lead { font-size: 9pt; color: #334155; margin: 0 0 8px; line-height: 1.4; }\n  .paste-grid {\n    display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 6px;\n  }\n  .paste-card {\n    border: 1.5px dashed #64748b; border-radius: 8px; padding: 8px 8px 6px;\n    background: #fff; min-height: 78mm;\n    display: flex; flex-direction: column;\n  }\n  .paste-card .paste-head {\n    font-size: 9pt; font-weight: 900; color: #0b1730; margin-bottom: 4px;\n    display: flex; justify-content: space-between; align-items: baseline; gap: 4px;\n  }\n  .paste-card .paste-head .meta { font-size: 7.5pt; font-weight: 600; color: #64748b; }\n  .paste-card .paste-body { flex: 1; display: flex; align-items: center; justify-content: center; }\n  .paste-card .paste-body svg {\n    width: 100% !important; height: auto !important; max-height: 68mm; display: block;\n  }
1\n  .paste-card .paste-empty {\n    width: 100%; min-height: 58mm; border: 1px solid #e2e8f0; border-radius: 4px;\n    background: repeating-linear-gradient(-45deg, #f8fafc, #f8fafc 6px, #f1f5f9 6px, #f1f5f9 12px);\n    display: flex; align-items: center; justify-content: center;\n    font-size: 8pt; color: #94a3b8; font-weight: 700; text-align: center; padding: 8px;\n  }\n  .paste-cut {\n    font-size: 7pt; color: #64748b; margin: 8px 0 0; text-align: center; font-weight: 600;\n  }\n  section {\n    margin: 0 0 6px; padding: 5px 7px 6px;\n    border: 1px solid #e2e8f0; border-radius: 6px; background: #fff;\n    break-inside: avoid;\n  }\n  section h2 {\n    margin: 0 0 4px; font-size: 9.5pt; font-weight: 900; color: #0b1730;\n    border-left: 3px solid #2563eb; padding-left: 6px; line-height: 1.2;\n  }\n  section p { margin: 2px 0 3px; }\n  .tiny { font-size: 7.5pt; color: #64748b; margin: 2px 0 !important; }\n  .ref-hint { font-size: 6.5pt !important; color: #94a3b8 !important; }\n  .opt { font-size: 8pt; color: #57534e; }\n  ul.chk { margin: 2px 0 4px; padding-left: 0; list-style: none; }\n  ul.chk li { margin: 1px 0; font-size: 9pt; }\n  table.ws {\n    width: 100%; border-collapse: collapse; font-size: 8.5pt; margin: 3px 0;\n  }\n  table.ws.compact { font-size: 8pt; }\n  table.ws th, table.ws td {\n    border: 1px solid #94a3b8; padding: 3px 5px; vertical-align: middle;\n  }\n  table.ws th { background: #f1f5f9; font-weight: 800; text-align: left; }\n  table.ws td.num { text-align: right; font-variant-numeric: tabular-nums; font-weight: 700; }\n  table.ws tbody td:not(:first-child) { min-height: 1.4em; height: 1.55em; }\n  .grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }\n  .compact-grid { gap: 4px; }\n  .name-fill { font-weight: 700; font-size: 9.5pt; margin: 3px 0; }\n  .lines { border-bottom: 1px solid #cbd5e1; margin: 2px 0 4px; }\n  .lines.short { height: 1.5em; }\n  .lines.med { height: 3.2em; background: repeating-linear-gradient(to bottom, transparent 0, transparent 1.35em, #e2e8f0 1.35em, #e2e8f0 calc(1.35em + 1px)); }\n  .lines.tall { height: 5.2em; background: repeating-linear-gradient(to bottom, transparent 0, transparent 1.35em, #e2e8f0 1.35em, #e2e8f0 calc(1.35em + 1px)); }\n  .foot {\n    margin-top: 6px; padding-top: 4px; border-top: 1px solid #cbd5e1;\n    font-size: 6.5pt; color: #64748b; display: flex; justify-content: space-between; gap: 8px;\n  }\n  @media print {\n    .no-print { display: none !important; }\n    body { background: #fff; }\n    section { break-inside: avoid; }\n  }\n  @media screen {\n    body { background: #334155; padding: 16px 0 40px; }\n    .sheet {\n      background: #fff; padding: 10mm 12mm; box-shadow: 0 12px 40px rgba(0,0,0,0.35);\n      min-height: 277mm;\n    }\n  }\n','</style>\n</head>\n<body>\n  <div class="no-print">\n    <button type="button" class="print-btn" onclick="window.print()">').concat(z(x),'</button>\n    <button type="button" class="close-btn" onclick="window.close()">').concat(z(u),"</button>\n    <span>").concat(z(o)," \xb7 ").concat(z(d)).concat(c?" \xb7 ".concat(c):"").
1concat(b,'</span>\n  </div>\n  <div class="sheet">\n    <header class="mast">\n      <div>\n        <h1>').concat(z(a.title),'</h1>\n        <p class="sub">').concat(z(a.subtitle)).concat(c?" — ".concat(c):"",'</p>\n      </div>\n      <div class="brand">').concat(z(n.brand),'</div>\n    </header>\n    <div class="meta-row">\n      <span class="badge">').concat(z(d),'</span>\n      <span class="badge">').concat(z(o),"</span>\n      <span>").concat(z(n.nameLabel),':<span class="fill"></span></span>\n      <span>').concat(z(n.classLabel),':<span class="fill"></span></span>\n      <span>').concat(z(n.dateLabel),':<span class="fill"></span></span>\n      <span class="tiny">').concat(z(a.timeNote),"</span>\n    </div>\n    ").concat(m,"\n    ").concat(p,'\n    <footer class="foot">\n      <span>').concat(z(n.sourceFooter),"</span>\n      <span>").concat(z(n.createGbmHint),"</span>\n    </footer>\n  </div>\n  ").concat(h,"\n</body>\n</html>")}(e),n=window.open("","_blank","noopener,noreferrer,width=900,height=1200");return n?(n.document.open(),n.document.write(t),n.document.close(),n):null}({kind:e,level:t,locale:b,stationA:n,stationB:a});eS(!1),l||window.alert(g.worksheetPopupBlocked)}}),(0,a.jsx)(x.default,{})]})}},93467:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});let a=(0,n(67401).A)("BookOpen",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]])},59136:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});let a=(0,n(67401).A)("ChartColumn",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]])},98867:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});let a=(0,n(67401).A)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},44857:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});let a=(0,n(67401).A)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]])},14081:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});let a=(0,n(67401).A)("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]])},86122:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});let a=(0,n(67401).A)("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])},57223:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});let a=(0,n(67401).A)("MapPin",[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]])},58197:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});let a=(0,n(67401).A)("Map",[["path",{d:"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z",key:"169xi5"}],["path",{d:"M15 5.764v15",key:"1pn4in"}],["path",{d:"M9 3.236v15",key:"1uimfh"}]])},66467:()=>{}}]);

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.