:root{
  --bg:#0b0f1a; --panel:#141b2d; --panel2:#1b2438; --line:#2a3452;
  --ink:#eef2ff; --sub:#98a3c4; --accent:#37e6c4; --accent2:#ff5da2;
  --warn:#ffb454; --bad:#ff6b6b;
  --sans:'Hiragino Sans','Noto Sans JP',system-ui,sans-serif;
  --mono:'SFMono-Regular','Consolas',monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none !important}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.6;min-height:100dvh}

.hd{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:14px 22px;border-bottom:1px solid var(--line);
  background:rgba(11,15,26,.9);backdrop-filter:blur(8px);position:sticky;top:0;z-index:20}
.hd-title{font-size:16px;font-weight:800}
.stats{display:flex;gap:16px;font-size:12px;color:var(--sub);font-family:var(--mono)}
.stats b{color:var(--accent);font-size:15px}

.gate{max-width:560px;margin:60px auto;padding:24px;text-align:center;color:var(--sub)}
.gate code{background:var(--panel2);padding:2px 8px;border-radius:6px;font-family:var(--mono);color:var(--ink)}

.cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:18px 22px 60px;max-width:1400px;margin:0 auto}
@media(max-width:900px){.cols{grid-template-columns:1fr}}
.col{display:flex;flex-direction:column;gap:18px;min-width:0}

.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px}
.panel h2{font-size:15px;margin-bottom:4px;display:flex;align-items:center;gap:9px}
.mini{font-size:12px;color:var(--sub);margin-bottom:12px}
.badge{background:var(--warn);color:#2a1a00;border-radius:20px;padding:1px 9px;font-size:12px;font-weight:800}

.list{display:flex;flex-direction:column;gap:8px;margin:12px 0}

/* お題・アンケートの行 */
.row{display:flex;align-items:center;gap:11px;background:var(--panel2);
  border:1px solid var(--line);border-radius:10px;padding:11px 13px;font-size:14px}
.row.on{border-color:var(--accent);background:rgba(55,230,196,.1)}
.row .p{flex:0 0 auto;font-size:11px;color:var(--sub);font-family:var(--mono)}
.row .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row .live{flex:0 0 auto;color:var(--accent);font-size:11px;font-weight:800}

/* アンケート行（回答数とリセットを下段に置く2段組） */
.row2{background:var(--panel2);border:1px solid var(--line);border-radius:10px;
  padding:11px 13px;font-size:14px}
.row2.on{border-color:var(--accent);background:rgba(55,230,196,.1)}
.row2-main{display:flex;align-items:center;gap:11px}
.row2-main .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row2-sub{display:flex;align-items:center;gap:10px;margin-top:9px;
  padding-top:9px;border-top:1px solid var(--line);font-size:12px;color:var(--sub)}
.row2-sub .cnt b{color:var(--ink);font-size:14px;font-family:var(--mono)}
.row2-sub .past{color:var(--warn)}
.row2-sub .mini-btn{margin-left:auto}
.mini-btn.reset{background:var(--panel);color:var(--sub);border:1px solid var(--line)}
.mini-btn.reset:disabled{opacity:.4;cursor:not-allowed}
.mini-btn.reset.armed{background:rgba(255,107,107,.2);color:#ffd3d3;
  border-color:rgba(255,107,107,.6)}

/* コメント行 */
.cmt{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:11px 13px;font-size:14px}
.cmt .meta{font-size:11px;color:var(--sub);margin-bottom:3px;display:flex;gap:9px;align-items:center}
.cmt .who{color:var(--ink);font-weight:700}
.cmt .why{color:var(--warn)}
.cmt .body{word-break:break-word;margin-bottom:8px}

button,.btn{border:none;cursor:pointer;font-family:var(--sans);border-radius:9px}
.btn{display:block;width:100%;padding:11px;background:var(--accent);color:#06231d;
  font-weight:800;font-size:14px;text-align:center;text-decoration:none;margin-top:8px}
.btn.ghost{background:var(--panel2);color:var(--ink);border:1px solid var(--line)}
.mini-btn{padding:6px 13px;font-size:12px;font-weight:700}
.mini-btn.go{background:var(--accent);color:#06231d}
.mini-btn.del{background:rgba(255,107,107,.16);color:#ffb3b3;border:1px solid rgba(255,107,107,.4)}
.mini-btn.ok{background:rgba(55,230,196,.16);color:#b8fff0;border:1px solid rgba(55,230,196,.4)}
.acts{display:flex;gap:8px}

.add{margin-top:12px;border-top:1px dashed var(--line);padding-top:12px}
.add summary{cursor:pointer;font-size:13px;color:var(--sub)}
.add input,.add textarea,.add select{width:100%;margin-top:8px;background:var(--panel2);
  border:1px solid var(--line);color:var(--ink);padding:10px;border-radius:9px;
  font-size:14px;font-family:var(--sans)}
.chk{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13px;color:var(--sub)}
.chk select{width:auto;margin:0}
.empty{color:var(--sub);font-size:13px;padding:10px 0}
