/* ひまトーク+ ダッシュボード共通CSS */

/* リセット */
*{margin:0;padding:0;box-sizing:border-box}
html,body{overflow-x:hidden;max-width:100vw}
body{background:#0f1117;color:#e0e0e0;font-family:'Segoe UI',sans-serif}

/* ナビゲーション */
h1{text-align:center;color:#7dd3fc;margin-bottom:4px;font-size:20px}
.nav{display:flex;justify-content:center;gap:10px;margin:6px 0 8px;flex-wrap:wrap}
.nav a{color:#7dd3fc;text-decoration:none;padding:5px 14px;border-radius:6px;background:#1a1d27;font-size:13px;border:1px solid #2a2d37}
.nav a:hover,.nav a.active{background:#7dd3fc;color:#0f1117}

/* ソート/タブ */
.sort-bar{display:flex;justify-content:center;gap:4px;margin-bottom:8px;flex-wrap:wrap}
.sort-btn{padding:4px 10px;border-radius:6px;cursor:pointer;font-size:11px;background:#2a2d37;color:#888;border:1px solid #3a3d47}
.sort-btn.active{background:#7dd3fc;color:#0f1117;font-weight:bold;border-color:#7dd3fc}

/* トースト */
.toast{position:fixed;bottom:60px;left:50%;transform:translateX(-50%);background:#065f46;color:#34d399;padding:8px 20px;border-radius:8px;font-size:13px;display:none;z-index:100}
.toast.error{background:#7f1d1d;color:#f87171}

/* ライトボックス */
.lightbox-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.85);display:none;align-items:center;justify-content:center;z-index:200;cursor:pointer}
.lightbox-overlay.show{display:flex;flex-direction:column;align-items:center;justify-content:center}
.lightbox-overlay img{max-width:90vw;max-height:90vh;border-radius:12px;object-fit:contain}

/* 自己紹介文 */
.user-bio{font-size:10px;color:#a8a29e;margin-top:2px;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4}

/* PWA safe area */
@supports(padding: env(safe-area-inset-top)){
  body{
    padding-top:env(safe-area-inset-top);
    padding-bottom:env(safe-area-inset-bottom);
    padding-left:env(safe-area-inset-left);
    padding-right:env(safe-area-inset-right);
  }
}

/* モバイル共通 */
@media(max-width:500px){
  .nav{flex-wrap:wrap;gap:4px}
  .nav a{font-size:11px;padding:5px 8px}
  h1{font-size:18px}
}

/* テキストはみ出し防止 */
.review-info,.card .meta,.card .name{min-width:0;overflow:hidden}
