#consent-root{
  position: fixed;
  inset: 0;
  z-index: 11000;
  pointer-events: none; /* 中身出るまでクリック無効 */
}

/* 全面オーバーレイ */
.consent-banner{
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0,.5);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  pointer-events: auto;
}

/* 中のカード（本文） */
.consent-card{
  width: min(920px, 94vw);
  max-height: 86vh;
  overflow: auto;
  background: rgba(0,0,0,.82);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 14px;
  box-shadow: 0 25px 80px rgba(0,0,0,.65);
  padding: 18px 18px 14px;
}

/* タイトル */
.consent-card h2{
  margin: 0 0 10px;
  font-size: 1.15rem;
}

/* ボタン列 */
.consent-actions{
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 14px;
  position: sticky;     /* スクロールしてもボタンは見える */
  bottom: 0;
  padding-top: 10px;
}

/* ボタン */
.consent-actions button{
  appearance: none;
  border: 0;
  cursor: pointer;
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 800;
}

.consent-ok{
  background: #107C10;
  color: #fff;
}

.consent-close{
  background: rgba(255,255,255,.12);
  color: rgba(238,246,255,.90);
  border: 1px solid rgba(255,255,255,.18);
}

.box{
  padding: 10px 14px;
  border-radius: 2px;
  background: #107C10;
  color: #fff;
}
.box:hover{
  color: #107C10;
  background: #fff;
}

.robot-grid{
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
}

.robot-grid a{
  text-decoration: none;
}

.robot-cell{
  width: 100%;
  padding: 16px 0;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 6px;
  cursor: pointer;
  font-size: .9rem;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.robot-cell:hover{
  background: rgba(255,255,255,.22);
}
