:root{
  --bg:#FAFAF8; --surface:#FFFFFF; --border:#ECEAE4;
  --text:#1A1A1A; --muted:#6B6B6B; --accent:#4F46E5; --fire:#F97316;
  --radius:14px; --shadow:0 1px 2px rgba(16,16,16,.04),0 6px 20px rgba(16,16,16,.05);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);
  font-family:"Inter","Noto Sans JP",system-ui,sans-serif;line-height:1.7;}
h1,h2,.display{font-family:"Space Grotesk","Noto Sans JP",sans-serif;letter-spacing:-.01em}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}
.btn{background:var(--accent);color:#fff;border:0;border-radius:10px;padding:10px 16px;font-weight:600;cursor:pointer;white-space:nowrap}
.btn:hover{filter:brightness(1.06)} .btn:disabled{opacity:.5;cursor:not-allowed}
.input,textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px 12px;
  font:inherit;background:#fff;color:var(--text)}
.muted{color:var(--muted)} .wrap{max-width:760px;margin:0 auto;padding:24px 16px}
.badge{display:inline-flex;gap:6px;align-items:center;font-size:.8rem;padding:4px 10px;border-radius:999px;border:1px solid var(--border)}
.tabs{display:flex;gap:8px;margin:8px 0}
.tab{background:transparent;border:1px solid var(--border);border-radius:999px;padding:6px 14px;cursor:pointer}
.tab.active{background:var(--text);color:#fff;border-color:var(--text)}
.sort{display:flex;gap:8px;margin-bottom:10px}
.sortbtn{background:transparent;border:0;color:var(--muted);cursor:pointer;font-weight:600}
.sortbtn.active{color:var(--accent)}
.post-actions{display:flex;gap:14px;align-items:center;margin-top:10px}
.fire{background:transparent;border:1px solid var(--border);border-radius:999px;padding:4px 12px;cursor:pointer;transition:transform .1s}
.fire.on{border-color:var(--fire);color:var(--fire);background:#FFF7ED}
.fire:active{transform:scale(1.15)}
.react{background:transparent;border:1px solid var(--border);border-radius:999px;padding:4px 12px;cursor:pointer;transition:transform .1s;white-space:nowrap}
.react:active{transform:scale(1.15)}
.clap.on{border-color:var(--accent);color:var(--accent);background:#EEF0FF}
.ans-badge{font-size:.72rem;color:#15803D;background:#DCFCE7;border:1px solid #BBF7D0;border-radius:999px;padding:2px 8px;white-space:nowrap}
.post.answered{opacity:.6}
.post.answered:hover{opacity:1}
#posts.only-unanswered .post.answered{display:none}
.host-answer{color:var(--accent);font-weight:600}
.link{background:transparent;border:0;color:var(--muted);cursor:pointer}
.replies{margin-top:10px;padding-left:12px;border-left:2px solid var(--border)}
.reply{padding:8px 0;border-bottom:1px solid var(--border)}
.reply-form{display:flex;gap:8px;margin-top:8px}
.reply-form .input{flex:1;min-width:0}
.chatmsg{padding:8px 10px;border-bottom:1px solid var(--border);font-size:.95rem}
.chatmsg strong{color:var(--accent)}
.chat-time{display:block;font-size:.72rem;margin-top:2px}
.presets{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.preset-btn{background:#fff;border:1px solid var(--border);border-radius:999px;padding:6px 14px;cursor:pointer;font-size:.95rem;transition:transform .08s,border-color .12s}
.preset-btn:hover{border-color:var(--accent)}
.preset-btn:active{transform:scale(1.12)}
.preset-btn:disabled{opacity:.45;cursor:default}
/* アンケート（参加者フォーム） */
.q{margin:14px 0;padding-bottom:12px;border-bottom:1px solid var(--border)}
.qp{font-weight:600;margin-bottom:6px}
.stars .star{font-size:1.5rem;background:none;border:0;cursor:pointer;color:var(--fire);line-height:1}
.opt{display:block;padding:4px 0}
/* アンケート結果バー（管理） */
/* 評価バー：★N は短いので横並び */
.barrow{display:flex;align-items:center;gap:8px;margin:6px 0}
.barlbl{flex:0 0 46px;font-size:.85rem;text-align:right;color:var(--muted);white-space:nowrap}
.bar{flex:1 1 auto;min-width:0;height:14px;background:#F0EFEA;border-radius:7px;overflow:hidden}
.bar>span{display:block;height:100%;background:var(--accent)}
.barnum{flex:0 0 34px;text-align:right;font-size:.85rem}
/* 選択肢バー：ラベルが長いので上段に全幅で出し、単語途中で割らない */
.cbar{margin:10px 0}
.cbar-head{display:flex;justify-content:space-between;gap:10px;font-size:.88rem;margin-bottom:4px}
.cbar-lbl{word-break:keep-all;overflow-wrap:anywhere;line-break:strict}
.cbar-num{flex:0 0 auto;color:var(--muted);font-variant-numeric:tabular-nums}
/* 自由記述一覧：長いURL等も折り返す */
.txtlist{margin:6px 0;padding-left:1.2em}
.txtlist li{overflow-wrap:anywhere;margin:4px 0}
/* QR表示（管理） */
.qrbox img{width:200px;height:200px;image-rendering:pixelated}
/* 受講者画面：セミナー名の大見出し＋控えめなフッター */
#title{font-size:clamp(1.3rem,4vw,1.7rem)}
.site-foot{max-width:760px;margin:24px auto;padding:20px 16px;text-align:center;border-top:1px solid var(--border)}
.foot-logo{height:26px;width:auto;opacity:.85;transition:opacity .15s}
.site-foot a:hover .foot-logo{opacity:1}
@media(max-width:560px){ .wrap{padding:16px 12px} #headerImg{max-height:160px} }
