/* 用語集（js/glossary.js）。ことばは点線の下線と小さな「?」で、触れる印を出す。ゲームと wiki の両方で読む。 */
.term { display: inline; cursor: help; text-decoration: underline dotted 1.5px; text-underline-offset: 3px; text-decoration-color: currentColor; border-radius: 3px; -webkit-tap-highlight-color: transparent; }
.term::after { content: '?'; display: inline-block; margin-left: 2px; width: 1.15em; height: 1.15em; line-height: 1.15em; font-size: .72em; font-weight: bold; text-align: center; vertical-align: .18em; border-radius: 50%; background: #ffe36b; color: #2a1d00; text-decoration: none; }
.term:hover, .term:focus-visible { background: #ffe36b33; outline: none; }
/* ボタンの中のことばは説明を開かない（押すとボタンの動き）。見た目も押せる印を消す */
button .term, a[href] .term { cursor: inherit; text-decoration: none; }
button .term::after, a[href] .term::after { content: none; }
button .term:hover, a[href] .term:hover { background: none; }
.term-pop { position: fixed; z-index: 9999; box-sizing: border-box; padding: 10px 12px 8px; background: #fffbea; color: #1d2540; border: 2px solid #c99a2e; border-radius: 10px; box-shadow: 0 6px 22px #000a; font: 14px/1.7 'Yu Gothic', 'Hiragino Sans', sans-serif; text-align: left; letter-spacing: 0; white-space: normal; }
.term-pop[hidden] { display: none; }
.term-pop b { display: block; font-size: 15px; color: #7a4d00; margin-bottom: 2px; }
.term-pop p { margin: 0 0 6px; }
.term-pop .term-x { display: block; margin-left: auto; min-width: 72px; min-height: 40px; padding: 4px 12px; font: bold 13px 'Yu Gothic', sans-serif; color: #fff; background: #3a5d9c; border: 2px solid #1d3567; border-radius: 8px; cursor: pointer; }
