/* Home page: polish layer (home only) */

/* ほんのり舞台光（中央だけ持ち上げる） */
body.home::before{ content: none !important; }

/* カードの“ガラス感”をホームだけ少し強める */
body.home .card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,0)),
    rgba(14,18,28,.62);
  border-color: rgba(255,255,255,.10);
  box-shadow: 0 18px 60px rgba(0,0,0,.38);
  backdrop-filter: blur(10px);
  position:relative;
}

body.home .card::before{
  content:"";
  position:absolute; inset:0;
  border-radius: inherit;
  pointer-events:none;
  background: linear-gradient(180deg, rgba(255,255,255,.055), transparent 38%);
}

/* 右上アクション（pill） */
body.home .panel-actions{
  display:flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

body.home .btn.pill{
  height: 34px;
  padding: 0 12px;
  border-radius: 12px; /* 999pxより“UIっぽい” */
  font-size: 12px;
}

body.home .btn.pill.ghost{
  background: transparent;
  border-color: rgba(255,255,255,.12);
  opacity: .85;
}

/* メニュー：ボタンではなく“遷移リスト”に見せる */
.homeNav{
  display:flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 6px;
}

.homeNavItem{
  display:flex;
  align-items:center;
  justify-content: space-between;
  padding: 14px 16px;
  border-radius: 14px;
  text-decoration:none;
  color: inherit;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.075);
  transition: transform .12s ease, background .18s ease, border-color .18s ease;
}

.homeNavItem:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.065);
  border-color: rgba(170,240,255,.22);
}

.homeNavLabel{
  letter-spacing: .02em;
}

.homeNavChev{
  opacity: .55;
  font-size: 18px;
  line-height: 1;
  transform: translateY(-1px);
}

/* 右下：Sq署名 */
.sqCorner{
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: 46px;
  height: 46px;
  opacity: .32;
  filter: drop-shadow(0 0 10px rgba(150,240,255,.16));
  pointer-events:none;
}

.pageTitle .brand{
  /* brand is rendered as logo image in /style.css (v3) */
  opacity: .92;
}

.pageTitle .cyber-underline{
  font-size: 20px;
  letter-spacing: .04em;
}

#authBox{
  max-width: 680px;
  margin: 0 auto 16px;
}

#authBox{
  max-width: 680px;
  margin: 0 auto 16px;
}

.menuButton{
  opacity: .6;
}
.menuButton:hover{
  opacity: .9;
}

.sqCorner{
  opacity: .26; /* 0.32 → 0.26 */
  filter: drop-shadow(0 0 6px rgba(150,240,255,.14));
}


/* Global chat (home) */
#globalChat{ max-width: 860px; margin: 0 auto 18px; }
.gchatLog{
  margin-top: 10px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.12);
  padding: 10px;
  max-height: 360px;
  overflow: auto;
}
.gchatMsg{ display:flex; gap:10px; padding: 8px 4px; }
.gchatIcon{
  width: 34px;
  height: 34px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.05);
  object-fit: cover;
  flex: 0 0 auto;
}
.gchatIcon.ph{ display:block; }
.gchatBody{ flex:1; min-width: 0; }
.gchatMeta{ display:flex; gap:10px; align-items:baseline; }
.gchatName{ font-weight: 800; }
.gchatTime{ font-size: 12px; opacity: .6; }
.gchatText{ margin-top: 4px; line-height: 1.5; word-break: break-word; }
.gchatForm{ margin-top: 10px; display:grid; gap:10px; }
.gchatRow{ display:flex; justify-content:space-between; align-items:center; gap:12px; }
.gchatForm.gchatGuest textarea{ opacity:.6; }

/* Global chat (room_chat-like) */
#globalChat{
  max-width: 960px;
  margin: 0 auto 18px;
}
#gchatStatus{ font-size: 12px; opacity: .8; }
.gchatEmpty{
  padding: 12px;
  border-radius: 12px;
  border: 1px dashed rgba(255,255,255,.16);
  background: rgba(255,255,255,.02);
  opacity: .88;
}

/* Home global chat (room_chat-like controls) */
#globalChat .chatTopBar{
  margin-top: 6px;
}
#globalChat .chatGrid{
  margin-top: 10px;
  max-height: 430px;
  overflow: auto;
}
#globalChat .chatCol{
  min-width: 0;
}
#globalChat .chatCard{
  margin-bottom: 8px;
}
#gchatStatus{ font-size: 12px; opacity: .85; }

.gchatIconPicker{
  margin-top: 8px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  background: rgba(5,10,26,.45);
  display: none;
}
.gchatIconPicker.open{ display: block; }
.gchatIconGrid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(44px, 1fr));
  gap: 8px;
}
.gchatIconItem{
  width: 44px; height: 44px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.2);
  padding: 0;
  background: rgba(255,255,255,.04);
  overflow: hidden;
  cursor: pointer;
}
.gchatIconItem img{
  width: 100%; height: 100%; object-fit: cover;
}
.gchatIconItem.isSelected{
  outline: 2px solid rgba(120,220,255,.95);
  border-color: rgba(120,220,255,.95);
}

@media (max-width: 880px){
  #globalChat .chatGrid{
    grid-template-columns: 1fr;
  }
}
/* message card layout is unified in style.css (article.chatCard) */
