/* ZQ 発表一覧（STAGE4） v0.1.0
 * 白基調＋青のアクセント。投影しても読めるよう字を大きめに。
 */
.zqg-wrap{
  --ink:#1b2637; --sub:#6b7a90; --line:#e4eaf3;
  --blue:#2563eb; --blueSoft:#f2f7ff;
  min-height:100vh;background:#f7f9fc;color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,'Hiragino Sans','Noto Sans JP',sans-serif;
  -webkit-font-smoothing:antialiased;padding-bottom:40px;
}
.zqg-wrap *{box-sizing:border-box}

.zqg-hd{display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  background:#fff;border-bottom:1px solid var(--line);padding:13px 24px}
.zqg-badge{background:var(--blue);color:#fff;font-weight:900;font-size:11px;letter-spacing:.1em;
  padding:6px 14px;border-radius:8px;flex:0 0 auto}
.zqg-ttl{font-size:19px;font-weight:900}
.zqg-sp{flex:1}
.zqg-count{font-size:13.5px;font-weight:800;color:var(--sub)}

.zqg-loading,.zqg-empty{padding:70px 24px;text-align:center;color:var(--sub);
  font-size:15px;font-weight:800;line-height:2}
.zqg-empty span{font-size:13px;font-weight:600}

.zqg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));
  gap:16px;padding:20px 24px}
.zqg-tileWrap{position:relative}
.zqg-tile{width:100%;text-align:left;border:1.5px solid var(--line);border-left:4px solid var(--blue);
  border-radius:14px;background:#fff;cursor:pointer;padding:16px 18px;font-family:inherit;color:var(--ink);
  box-shadow:0 3px 14px rgba(20,30,60,.06);transition:transform .18s,box-shadow .18s,border-color .18s}
.zqg-tile:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(20,30,60,.12)}
.zqg-tteam{font-size:12px;font-weight:900;color:var(--blue);letter-spacing:.04em}
.zqg-tbiz{font-size:21px;font-weight:900;line-height:1.35;margin-top:5px}
.zqg-tidea{font-size:12.5px;line-height:1.7;color:#4c5b72;margin-top:7px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.zqg-tfoot{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:11px;
  padding-top:9px;border-top:1px dashed var(--line)}
.zqg-tk{font-size:11.5px;font-weight:900;color:#5a6b86;background:#f2f5fa;
  border-radius:6px;padding:3px 9px}
.zqg-tn{font-size:11px;color:var(--sub);font-weight:700;margin-left:auto}

.zqg-del{position:absolute;top:10px;right:10px;border:1.5px solid #f3c4c4;background:#fff;
  color:#c0392b;border-radius:8px;padding:4px 10px;font-size:11.5px;font-weight:900;
  cursor:pointer;font-family:inherit;opacity:0;transition:opacity .15s}
.zqg-tileWrap:hover .zqg-del{opacity:1}
.zqg-del:hover{background:#fff5f5}

/* 1チームを大きく見せているとき */
.zqg-one .zqg-sheetHolder{background:#f7f9fc}

@media(max-width:820px){
  .zqg-grid{grid-template-columns:1fr;padding:14px 12px;gap:12px}
  .zqg-hd{padding:11px 12px}
  .zqg-ttl{font-size:16px}
  .zqg-tbiz{font-size:18px}
  .zqg-del{opacity:1}
}

/* ===== 発表タイマー（残り時間） ===== */
.zqg-tm{display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  margin:0 0 14px;padding:10px 16px;background:#fff;border:1px solid #e3e9f2;border-radius:12px;
  box-shadow:0 2px 10px rgba(20,40,80,.05)}
.zqg-tmSet{font-size:12.5px;font-weight:800;color:#5b6b80}
.zqg-tmSet input{width:70px;margin:0 4px;padding:5px 6px;font-size:14px;font-weight:800;
  border:1px solid #cfd8e6;border-radius:7px;text-align:right}
.zqg-tmNum{margin-left:auto;font-size:34px;font-weight:900;letter-spacing:.02em;
  color:#1b2637;font-variant-numeric:tabular-nums;line-height:1}
.zqg-tmBtn{padding:9px 14px;font-size:13px;font-weight:800;border:0;border-radius:9px;
  background:#2563eb;color:#fff;cursor:pointer}
.zqg-tmBtn:hover{background:#1746b8}
.zqg-tmRs{background:#eef2f8;color:#41506a}
.zqg-tmRs:hover{background:#e2e8f2;color:#1b2637}
.zqg-tm.zqg-tmRun .zqg-tmNum{color:#1746b8}
.zqg-tm.zqg-tmLow{background:#fff8ec;border-color:#f6d9a8}
.zqg-tm.zqg-tmLow .zqg-tmNum{color:#c2680c}
.zqg-tm.zqg-tmEnd{background:#fdecec;border-color:#f5c2c2}
.zqg-tm.zqg-tmEnd .zqg-tmNum{color:#c0392b}
.zqg-tm.zqg-tmEnd .zqg-tmNum::after{content:' 終了';font-size:15px;font-weight:900;margin-left:6px}
@media(max-width:860px){
  .zqg-tmNum{font-size:26px}
  .zqg-tm{gap:10px;padding:9px 12px}
}
