/* 解説ページ共通の見せ方（guide/ の全ページが読む）。tool.css は共有のため触らない */
.guide{--soft-navy:#EAF0F5;--soft-yellow:#FBF4DC;--gw:56rem}
.guide p{margin:0 0 1.1rem;font-size:.9375rem;line-height:2.05;max-width:var(--gw)}
.guide p:last-child{margin-bottom:0}
.guide strong{font-weight:700}
.guide h2{display:flex;align-items:center;gap:.75rem;margin:0 0 1.5rem;padding:0;border-left:0;font-size:1.3rem;line-height:1.5}
.guide h2.plain{display:block;padding-left:.75rem;border-left:3px solid var(--line);font-size:1.1875rem}
.guide h2 .no{flex:none;min-width:2.1rem;height:2.1rem;padding:0 .4rem;display:inline-flex;align-items:center;justify-content:center;background:var(--line);color:#fff;border-bottom:3px solid var(--signal);font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.guide h3{margin:2rem 0 .6rem;font-size:1.0625rem;display:flex;align-items:center;gap:.5rem}
.guide h3::before{content:"";flex:none;width:.5rem;height:.5rem;background:var(--signal)}
.guide .basis,.guide .toc{max-width:var(--gw)}
.guide .basis li{line-height:2}

/* 結論カード */
.concl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;margin:0 0 1.75rem;padding:0;list-style:none}
.concl li{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--rule);border-top:4px solid var(--line);padding:1rem 1rem .85rem}
.concl li.hl{border-top-color:var(--signal)}
.concl .big{font-size:2.5rem;font-weight:700;line-height:1.15;color:var(--line);font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap}
.concl .big small{font-size:1.125rem;font-weight:700;margin-left:.1em}
.concl .what{margin:.4rem 0 .6rem;font-size:.8125rem;line-height:1.8;font-weight:500;color:var(--ink)}
.concl .src{margin-top:auto;padding-top:.5rem;border-top:1px solid var(--rule);font-size:.6875rem;line-height:1.6;color:var(--ink-soft)}

/* 要点・目次 */
.guide .summary{background:var(--panel);border:1px solid var(--rule);border-left:3px solid var(--line);padding:1.1rem 1.4rem;max-width:var(--gw)}
.guide .summary p{margin:0 0 .75rem}
.guide .summary p:last-child{margin-bottom:0}
.toc{margin:1.75rem 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem .9rem;max-width:var(--gw);font-size:.9375rem}
.toc::before{content:"目次";grid-column:1 / -1;font-size:.75rem;letter-spacing:.2em;color:var(--ink-soft);font-weight:500}
.toc li{padding:0}
.toc a{display:block;padding:.65rem .9rem;background:var(--panel);border:1px solid var(--rule);border-left:3px solid var(--line);color:var(--ink);text-decoration:none;line-height:1.6}
.toc a:hover{background:var(--soft-navy)}

/* 図 */
.fig{margin:1.5rem 0 1.75rem;padding:1rem;max-width:var(--gw);background:var(--panel);border:1px solid var(--rule);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:1.25rem 1.25rem}
.fig svg{display:block;width:100%;height:auto}
.fig .v{display:none}
.fig text{font-family:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;fill:var(--ink)}
.fig .n{font-size:16px;font-weight:700}
.fig .s{font-size:13px;fill:var(--ink-soft)}
.fig .c{font-size:15px;font-weight:700;fill:#fff}
.fig .e{font-size:15px;font-weight:700;fill:var(--line)}
@media (max-width:40rem){.fig .h{display:none}.fig .v{display:block;max-width:24rem;margin:0 auto}.fig{padding:.75rem}}

/* 式 */
.guide .formula{margin:0 0 1.25rem;padding:.9rem 1.25rem;background:var(--soft-navy);border:1px solid var(--rule);border-left:4px solid var(--line);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Zen Kaku Gothic New",monospace;font-size:1rem;font-weight:500;line-height:2.1;max-width:var(--gw);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}

/* 表 */
.guide .tbl-wrap{overflow-x:auto;margin:0 0 1.5rem;max-width:var(--gw);-webkit-overflow-scrolling:touch}
.guide table{border-collapse:collapse;width:100%;min-width:30rem;background:var(--panel);font-size:.875rem;line-height:1.8;border:1px solid var(--rule)}
.guide th,.guide td{border:1px solid var(--rule);padding:.6rem .8rem;text-align:left;vertical-align:top}
.guide th{background:var(--line);color:#fff;font-weight:700;border-color:#0d2c48}
.guide table.sm{min-width:0}
.guide tbody tr:nth-child(even) td{background:#F8FAFB}
.guide td:first-child{font-weight:700;color:var(--line);min-width:8.5rem}
.guide .num{text-align:right;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Zen Kaku Gothic New",monospace;white-space:nowrap}
.guide caption{caption-side:bottom;text-align:left;padding:.5rem .1rem 0;font-size:.75rem;line-height:1.7;color:var(--ink-soft)}

/* 囲み */
.guide p.note,.guide p.warn{padding:.9rem 1.15rem;font-size:.875rem;line-height:1.95}
.guide p.note{background:var(--soft-navy);border-left:4px solid var(--line)}
.guide p.warn{background:var(--soft-yellow);border-left:4px solid var(--signal)}

/* 計算の手順 */
.guide .eg{margin:0 0 1.25rem;padding:1.1rem 1.25rem 1.25rem;background:var(--panel);border:1px solid var(--rule);border-top:4px solid var(--signal);max-width:var(--gw)}
.guide .eg > p:first-child{padding:.75rem 1rem;background:var(--soft-navy);border-left:4px solid var(--line)}
.guide .eg ol{counter-reset:step;list-style:none;margin:1rem 0 0;padding:0;font-size:.9375rem}
.guide .eg li{counter-increment:step;position:relative;margin:0 0 .65rem;padding:.7rem .9rem .7rem 3.2rem;background:var(--paper);border:1px solid var(--rule);line-height:1.95;font-variant-numeric:tabular-nums}
.guide .eg li::before{content:counter(step);position:absolute;left:.8rem;top:.75rem;width:1.7rem;height:1.7rem;display:flex;align-items:center;justify-content:center;background:var(--line);color:#fff;font-weight:700;font-size:.875rem;line-height:1}
.guide .eg li:last-child{border-color:var(--line);border-width:1px 1px 1px 4px}
.guide .eg li strong{color:var(--line);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Zen Kaku Gothic New",monospace;background:linear-gradient(transparent 62%,rgba(217,164,0,.38) 62%);padding:0 .15em}
.guide .eg p:not(:first-child){margin-top:1rem}

/* 関連ツール */
.guide .tools-compact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}
.guide .tools-compact li{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;margin:0;padding:1.1rem 1.1rem 2.6rem;background:var(--panel);border:1px solid var(--rule);border-top:4px solid var(--line)}
.guide .tools-compact li:first-child{padding-top:1.1rem}
.guide .tools-compact li:hover{background:var(--soft-navy);border-top-color:var(--signal)}
.guide .tools-compact a{font-size:1rem;font-weight:700;text-decoration:none;color:var(--line);line-height:1.6}
.guide .tools-compact a::after{content:"";position:absolute;inset:0}
.guide .tools-compact li::after{content:"開く →";position:absolute;right:1rem;bottom:.8rem;font-size:.8125rem;font-weight:700;color:var(--line)}
.guide .tools-compact span{font-size:.8125rem;line-height:1.8;color:var(--ink-soft)}
.guide .tools-compact a:focus-visible{outline:none}
.guide .tools-compact li:focus-within{outline:2px solid var(--signal);outline-offset:3px}

@media (max-width:60rem){
  .concl{grid-template-columns:repeat(2,minmax(0,1fr))}
  .guide .tools-compact{grid-template-columns:1fr}
}
@media (max-width:40rem){
  .toc{grid-template-columns:1fr}
  .concl{grid-template-columns:1fr}
  .concl li{display:grid;grid-template-columns:auto 1fr;column-gap:1rem;align-items:center}
  .concl .big{grid-row:1 / span 2;min-width:4.5rem;font-size:2.25rem}
  .concl .what{margin:0}
  .concl .src{grid-column:2;margin-top:.4rem}
  .guide h2{font-size:1.15rem}
  .guide .eg{padding:.9rem .8rem 1rem}
  .guide .eg li{padding-left:2.9rem}
}

/* 日本語の折り返し：文節の切れ目に <wbr> を入れた要素に class="jp" を付ける（Safari でも効く）。
   <wbr> 以外では折り返さず、枠からはみ出す場合だけ最後の手段で折り返す */
.jp{word-break:keep-all;overflow-wrap:anywhere}
.nw{white-space:nowrap}
