/* ---------- 畫面圖層（layers.js） ---------- */
.ig-layers { position: absolute; container-type: inline-size; pointer-events: none; overflow: visible; }
.igl { position: absolute; box-sizing: border-box; transform-origin: 50% 50%; }
.igl-svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.igl-text { white-space: pre-wrap; word-break: break-word; line-height: 1.35; height: auto !important; }
.igl-emoji { display: flex; align-items: center; justify-content: center; line-height: 1; font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; }
.igl-image { object-fit: fill; display: block; user-select: none; -webkit-user-drag: none; }
.igl.a-fade { animation: iglFade .45s ease both; }
.igl.a-pop { animation: iglPop .45s cubic-bezier(.3, 1.6, .5, 1) both; }
.igl.a-draw path, .igl.a-draw line, .igl.a-draw polyline { stroke-dasharray: var(--len, 3000); stroke-dashoffset: var(--len, 3000); animation: iglDraw .7s ease forwards; }
@keyframes iglFade { from { opacity: 0; } }
@keyframes iglPop { from { opacity: 0; scale: .4; } }
@keyframes iglDraw { to { stroke-dashoffset: 0; } }
/* 連結元件 */
.igl-link { display: flex; align-items: center; gap: .5em; font-family: var(--font, sans-serif); line-height: 1.3; cursor: pointer; pointer-events: auto; user-select: none; transition: transform .15s ease, box-shadow .15s ease; }
.igl-link:hover, .igl-link:focus-visible { transform: translateY(-2px); box-shadow: 0 .6em 1.6em rgba(0, 0, 0, .3); outline: none; }
.igl-link-card { background: #fff; color: #111; border-radius: .7em; padding: .45em; border: .14em solid var(--lk, #FFB600); box-shadow: 0 .3em 1em rgba(0, 0, 0, .22); overflow: hidden; }
.igl-lk-th { flex: none; height: 100%; aspect-ratio: 16 / 9; max-width: 48%; border-radius: .45em; background: #eee center / cover no-repeat; display: flex; align-items: center; justify-content: center; font-size: 1.6em; position: relative; }
.igl-lk-th i { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 1.6em; height: 1.6em; border-radius: 50%; background: rgba(0, 0, 0, .65); color: #fff; font-style: normal; font-size: .62em; display: flex; align-items: center; justify-content: center; padding-left: .12em; box-sizing: border-box; }
.igl-lk-tx { min-width: 0; display: flex; flex-direction: column; gap: .15em; }
.igl-lk-tx small { font-size: .7em; font-weight: 700; color: var(--lk, #FFB600); filter: brightness(.8); letter-spacing: .03em; }
.igl-lk-tx b { font-weight: 800; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.igl-link-button { justify-content: center; background: var(--lk, #FFB600); color: var(--on-amber, #111); border-radius: 999px; padding: 0 1em; font-weight: 800; box-shadow: 0 .3em 1em rgba(0, 0, 0, .25); white-space: nowrap; overflow: hidden; }
.igl-lk-t { overflow: hidden; text-overflow: ellipsis; }
.igl-link.missing { opacity: .55; border-style: dashed; }
