.olb-board{display:flex;flex-direction:column;gap:16px;color:#fff;position:relative;padding:0;background:transparent;border:none}
.olb-compose,.olb-thread{
  border:1px solid #3a3a3a;background:#1f1f1f;border-radius:10px;padding:14px;
  --olb-inset-x-start:14px;--olb-inset-x-end:14px;
  overflow:hidden
}
.olb-item.olb-new-post-prompt{margin:6px 0;padding:0;border-left:none;opacity:1}
.olb-new-post-prompt .olb-row{
  display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;
  background:#236343;color:#fff;border:1px solid #2e7d32;border-radius:8px;
  padding:6px 10px;line-height:1.35;cursor:pointer;
}
.olb-new-post-prompt .olb-row:hover{background:#2a7349}
.olb-new-post-prompt.is-selected .olb-row{box-shadow:0 0 0 2px rgba(139,195,74,.45)}
.olb-new-post-prompt .olb-select{flex-shrink:0;accent-color:#c5e1a5;cursor:pointer}
.olb-new-post-prompt-label{font-weight:600;color:#fff;flex:1;min-width:0}
.olb-new-post-prompt.olb-new-post-composing .olb-new-post-prompt-label{display:none}
.olb-new-post-prompt .olb-new-post-preview-host{
  flex:1;min-width:0;background:transparent;padding:0
}
.olb-new-post-prompt .olb-new-post-preview-host .olb-content,
.olb-new-post-prompt .olb-new-post-preview-host .olb-author,
.olb-new-post-prompt .olb-new-post-preview-host .olb-meta,
.olb-new-post-prompt .olb-new-post-preview-host .olb-sep{color:#fff}
.olb-new-post-prompt .olb-new-post-preview-host .olb-item-split{
  display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 10px;width:100%
}
.olb-new-post-prompt .olb-new-post-preview-host .olb-item-split-formation{
  flex:0 0 min(100%,220px);max-width:220px
}
.olb-new-post-prompt .olb-new-post-preview-host .olb-item-split-main{flex:1 1 140px;min-width:0}
.olb-new-post-prompt .olb-new-post-preview-host .olb-item-split-main .olb-row{
  padding:0;margin:0;background:transparent;border:none;box-shadow:none;cursor:default
}
.olb-panel-title{margin:0 0 12px;font-size:1rem;font-weight:700;color:#c8e6c9;line-height:1.3}
.olb-compose .olb-panel-title{padding-bottom:10px;border-bottom:1px solid #333}
.olb-thread .olb-poll-notice{text-align:right;margin:0 0 6px}
/* 右寄せボタン */
.olb-toolbar{display:flex;gap:6px;justify-content:flex-end;margin:0 0 10px}
.olb-btn{background:#2a2a2a;border:1px solid #555;border-radius:6px;padding:4px 8px;color:#ddd;cursor:pointer;font-size:.85em;opacity:.9;box-shadow:inset 0 0 0 0 transparent;transition:box-shadow .15s ease,opacity .15s ease}
.olb-btn.is-active{box-shadow:inset 0 0 0 2px #8bc34a;opacity:1}

/* 入力フォーム（最上部） */
.olb-form{display:flex;gap:8px;align-items:center;margin:0 0 10px 0;flex-wrap:wrap}
.olb-form input[type="text"]{background:#2a2a2a;border:1px solid #444;border-radius:6px;padding:8px 10px;color:#fff;outline:none}
.olb-form .olb-name{width:160px;max-width:40%}
.olb-msg-wrap{flex:1;min-width:220px;display:flex;flex-direction:row;align-items:center;gap:8px}
.olb-form .olb-msg{flex:1;min-width:0;box-sizing:border-box}
.olb-board.has-reply .olb-msg{border-color:#6a9f4a;box-shadow:0 0 0 2px rgba(139,195,74,.22)}
.olb-char-count{flex-shrink:0;font-size:.8em;opacity:.9;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums}
.olb-char-count.is-near-limit{color:#c5e1a5;font-weight:600}
.olb-char-count.is-over{color:#ff8a80;font-weight:700}
.olb-form .olb-send{background:#2e7d32;border:none;border-bottom:3px solid #1f5a23;color:#fff;padding:8px 14px;border-radius:8px;cursor:pointer}
.olb-form .olb-send:disabled{opacity:.6;cursor:default}
.olb-reply-indicator{font-size:.9em;opacity:.85;flex-basis:100%}
.olb-reply-indicator .olb-clear-reply{margin-left:6px;background:transparent;border:1px solid #555;border-radius:6px;padding:2px 8px;color:#ddd;cursor:pointer}

/* コメントリスト */
.olb-list{list-style:none;margin:0;padding-left:0}
.olb-item{margin:6px 0;padding-left:8px;border-left:none;position:relative}
/* 親スレッド同士はグレーの帯で区切る（黒枠の内側ぴったり） */
.olb-list > .olb-item[data-parent-id="0"]:not(.olb-preview-item){
  --olb-item-pad-x-start:8px;--olb-item-pad-x-end:10px;
  border-left:none;
  margin-top:0;
  margin-bottom:0;
  padding:12px var(--olb-item-pad-x-end) 12px var(--olb-item-pad-x-start)
}
.olb-list > .olb-item[data-parent-id="0"]:not(.olb-preview-item) ~ .olb-item[data-parent-id="0"]:not(.olb-preview-item){
  padding-top:26px
}
.olb-list > .olb-item[data-parent-id="0"]:not(.olb-preview-item) ~ .olb-item[data-parent-id="0"]:not(.olb-preview-item)::before{
  content:'';
  position:absolute;
  top:0;
  left:calc(-1 * var(--olb-inset-x-start, 14px));
  right:calc(-1 * var(--olb-inset-x-end, 14px));
  height:12px;
  background:#464646;
  pointer-events:none
}
.olb-list > .olb-item.olb-new-post-prompt{
  border-left:none;
  padding-bottom:10px
}
.olb-item-split{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-start}
.olb-item-split-formation{flex:0 0 min(100%,300px);width:min(100%,300px);min-width:220px}
.olb-item-split-main{flex:1 1 180px;min-width:0}
.olb-item-split-main .olb-row{margin:0}
.olb-item-split-formation .olb-formation{margin:0}
.olb-comment-card .home-feed-formation{width:100%;max-width:none;margin-top:.55rem}
.olb-comment-card .olb-item-split-formation{width:100%;max-width:none}
.olb-item.olb-has-formation .olb-hidden-banner{margin-top:6px}
@media (max-width:640px){
.olb-item-split{flex-direction:column}
.olb-item-split-formation{width:100%;max-width:none}
}
.olb-item .olb-row{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.olb-select{margin-right:4px;transform:translateY(1px)}
.olb-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.olb-author{font-weight:700;font-size:0.8em}
.olb-meta{opacity:.85;font-size:0.6em}
.olb-sep{opacity:.7}
.olb-votes{display:flex;gap:6px}
.olb-vote{background:#2a2a2a;border:1px solid #555;border-radius:6px;padding:2px 8px;color:#ddd;cursor:pointer}
.children{list-style:none;margin:6px 0 0 8px;padding-left:4px;border-left:1px dashed #444}

/* 他ページ由来: 左=ページ文脈レール / 右=本文（編成板は編成カード列を挟む） */
.olb-item-split--page-scope{
  display:flex;flex-direction:row;align-items:flex-start;flex-wrap:nowrap;gap:14px
}
.olb-item-split--page-scope .olb-page-scope-rail{
  flex:0 0 min(100%,168px);width:min(100%,168px);min-width:140px;max-width:168px;
  padding:8px 10px;border-radius:8px;border:1px solid rgba(147,197,253,.35);
  background:rgba(30,41,59,.55);font-size:.82em;line-height:1.35
}
.olb-item-split--page-scope .olb-page-scope-kind{
  display:block;font-size:.72em;opacity:.85;margin-bottom:4px;font-weight:700
}
.olb-item-split--page-scope .olb-page-scope-title{
  display:block;color:#93c5fd;font-weight:700;text-decoration:none;word-break:break-word
}
.olb-item-split--page-scope .olb-page-scope-title:hover{text-decoration:underline}
.olb-item-split--page-scope .olb-item-split-main{flex:1 1 0;min-width:0}
.olb-item-split--page-scope.olb-item-split--formation-thread .olb-item-split-formation{
  flex:0 0 min(100%,280px);width:min(100%,280px);min-width:200px;max-width:280px
}
@media (max-width:720px){
.olb-item-split--page-scope{flex-direction:column;flex-wrap:wrap}
.olb-item-split--page-scope .olb-page-scope-rail{width:100%;max-width:none}
.olb-item-split--page-scope.olb-item-split--formation-thread .olb-item-split-formation{width:100%;max-width:none}
}

/* 編成板: 左=編成カード / 右=親本文＋返信（縦並び） */
.olb-item-split--formation-thread{
  display:flex;flex-direction:row;align-items:flex-start;flex-wrap:nowrap;gap:14px
}
.olb-item-split--formation-thread .olb-item-split-formation{
  flex:0 0 min(100%,300px);width:min(100%,300px);min-width:220px;max-width:300px
}
.olb-item-split--formation-thread .olb-item-split-thread{
  flex:1 1 0;min-width:0
}
.olb-item-split--formation-thread .olb-item-split-main{display:block;min-width:0}
.olb-item-split--formation-thread .olb-item-split-main .olb-content{
  white-space:normal;overflow:visible;text-overflow:unset
}
.olb-item-split--formation-thread .olb-thread-discussion{
  margin-top:8px;padding-top:8px;border-top:1px dashed rgba(255,255,255,.18)
}
.olb-item-split--formation-thread .olb-thread-discussion > .children{
  margin:0;padding:0;border-left:none
}
@media (max-width:640px){
.olb-item-split--formation-thread{flex-direction:column;flex-wrap:wrap}
.olb-item-split--formation-thread .olb-item-split-formation{width:100%;max-width:none}
}
.olb-board.olb-board-formation .olb-thread-reply{
  margin:4px 0;padding:0 0 0 6px;border-left:2px solid rgba(147,197,253,.5)
}
.olb-board.olb-board-formation .olb-thread-reply .olb-thread-reply-inner .olb-row{
  font-size:.92em
}
.olb-board.olb-board-formation .olb-thread-reply .olb-thread-reply-inner .olb-hidden-banner{
  margin-top:4px
}
.community-reply-preview-list .olb-thread-reply{
  margin:3px 0;padding-left:6px;border-left:2px solid rgba(139,195,74,.45)
}

/* 低評価で非表示 */
.olb-item.olb-hidden .olb-row{filter:blur(3px);opacity:.4;pointer-events:none}
.olb-item.olb-hidden .olb-hidden-banner{display:flex}
.olb-hidden-banner{display:none;gap:8px;align-items:center;margin-top:6px;font-size:.9em;opacity:.85}
.olb-hidden-banner .olb-toggle-visibility{background:transparent;border:1px solid #555;border-radius:6px;padding:2px 8px;color:#ddd;cursor:pointer}

/* 非表示の一時表示 */
.olb-item.olb-hidden.olb-revealed .olb-row{filter:none;opacity:1;pointer-events:auto}
.olb-item.olb-hidden.olb-revealed .olb-hidden-banner .olb-toggle-visibility{border-color:#2e7d32}

/* 返信先指定時：対象外スレッドを薄く（対象＝返信先・祖先・子孫） */
.olb-board.olb-reply-focus .olb-item.olb-focus-out{opacity:.28;filter:grayscale(.2);transition:opacity .2s ease,filter .2s ease}
body.olb-dock-open .olb-board.olb-reply-focus .olb-item.olb-focus-out{opacity:.55;filter:grayscale(.12)}
.olb-board.olb-reply-focus .olb-item.olb-focus-out .olb-vote{opacity:.5}
.olb-board.olb-reply-focus .olb-item.olb-focus-in,
.olb-board.olb-reply-focus .olb-preview-item{opacity:1;filter:none}
.olb-board.olb-reply-focus .olb-item.olb-focus-in{box-shadow:inset 3px 0 0 #8bc34a}
.olb-board.olb-reply-focus .olb-item.olb-focus-target{box-shadow:inset 3px 0 0 #ffeb3b,inset 0 0 0 1px rgba(255,235,59,.25)}
.olb-vote.olb-voted{opacity:.55;cursor:default;box-shadow:inset 0 0 0 1px #8bc34a}
.olb-board-alert{background:#3d1f1f;border:1px solid #a44;padding:.5rem .75rem;border-radius:6px;margin-bottom:.5rem;font-size:.9em;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.olb-board-alert[hidden],
.olb-form-notice[hidden],
.olb-form-error[hidden],
.olb-poll-notice[hidden]{display:none!important}
.olb-board-alert-retry{background:transparent;border:1px solid #ccc;border-radius:4px;color:#fff;padding:2px 8px;cursor:pointer}
.olb-form-notice{flex-basis:100%;margin:.35rem 0 0;font-size:.88em;color:#c8e6c9}
.olb-form-error{flex-basis:100%;margin:.35rem 0 0;font-size:.88em;color:#ffcdd2}
.olb-poll-notice{font-size:.75em;opacity:.65;margin:0;padding:0}
.olb-item.olb-comment-flash{animation:olb-flash 3s ease}
@keyframes olb-flash{0%,100%{background:transparent}15%,40%{background:rgba(139,195,74,.2)}}

/* プレビュー：コメント＋編成カードをまとめた緑ブロック */
.olb-preview-item{box-shadow:inset 3px 0 0 #88aa66;opacity:1}
.olb-preview-item .olb-preview-compose-body{
  background:#236343;color:#fff;border-radius:8px;padding:.5rem .55rem
}
.olb-preview-item .olb-preview-compose-body .olb-row{
  background:transparent;padding:0;margin:0;border-radius:0
}
.olb-preview-item .olb-preview-compose-body .olb-content,
.olb-preview-item .olb-preview-compose-body .olb-author,
.olb-preview-item .olb-preview-compose-body .olb-meta,
.olb-preview-item .olb-preview-compose-body .olb-sep{color:#fff}
.olb-preview-item .olb-preview-compose-body .olb-item-split{
  display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px 14px;margin:0
}
.olb-preview-item .olb-preview-compose-body .olb-item-split-formation{
  flex:0 0 min(100%,300px);width:min(100%,300px);min-width:220px;max-width:300px
}
.olb-preview-item .olb-preview-compose-body .olb-item-split-main{
  flex:1 1 180px;min-width:0
}
.olb-preview-item .olb-preview-compose-body .olb-item-split-main .olb-content{
  white-space:normal;overflow:visible;text-overflow:unset
}
.olb-preview-item:not(.olb-has-formation) .olb-row{
  background:#236343;color:#fff;border-radius:6px;padding:4px 6px
}
.olb-preview-item:not(.olb-has-formation) .olb-content,
.olb-preview-item:not(.olb-has-formation) .olb-author,
.olb-preview-item:not(.olb-has-formation) .olb-meta,
.olb-preview-item:not(.olb-has-formation) .olb-sep{color:#fff}

/* 空状態 */
.olb-empty{opacity:.7;padding:8px 4px;margin:6px 0;border-left:2px dashed #666}

/* スマホコンパクト */
@media (max-width: 600px){
  .olb-board{padding:10px}
  .olb-btn{padding:3px 6px}
  .olb-item .olb-row{gap:6px}
  .olb-author{font-size:0.75em}
  .olb-meta{font-size:0.55em}
  .olb-form .olb-name{width:120px}
  .olb-form .olb-send{padding:6px 10px}
  .olb-vote{padding:1px 6px;font-size:.9em}
}


/* === Minimal patch: show full comment text on mobile === */
@media (max-width: 768px){
  .olb-item .olb-content{
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    -webkit-line-clamp: unset !important;
    max-height: none !important;
    display: inline !important;
  }
}

/* === OLB 3.2.4 additions === */
.olb-form{
  border:2px solid #236343;
  background:#236343;
  color:#fff;
  border-radius:8px;
  padding:.6rem;
}
.olb-name.olb-readonly{background:#e9ecef;color:#333;}
.olb-board:not(.has-reply) .olb-reply-indicator{display:none;}
/* モバイルで全文表示（強制省略を無効化） */
@media (max-width: 700px){
  .olb-item .olb-content{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;-webkit-line-clamp:unset!important;display:inline!important;}
}

/* === 画面下固定の投稿ドック === */
.olb-compose-hint{margin:.35rem 0 .6rem;font-size:.9rem;color:#555}
.olb-compose-open{
  display:inline-block;padding:.45rem 1rem;font-size:.95rem;font-weight:600;
  color:#fff;background:#236343;border:2px solid #184c38;border-radius:8px;cursor:pointer;
}
.olb-compose-open:hover{background:#184c38}
.olb-compose-dock{
  position:fixed;inset:auto 0 0 0;z-index:1200;
  display:flex;flex-direction:column;justify-content:flex-end;
  pointer-events:none;
}
.olb-compose-dock.olb-compose-dock-portal{z-index:var(--olb-overlay-dock-z,1320)}
.olb-compose-dock[hidden]{display:none!important}
.olb-compose-dock.is-open{
  pointer-events:none;
  justify-content:flex-end
}
.olb-compose-dock-backdrop{
  position:absolute;inset:0;border:0;padding:0;margin:0;
  cursor:pointer;
  background:var(--olb-overlay-bg,rgba(15,23,42,.12));
  -webkit-backdrop-filter:blur(var(--olb-overlay-blur,3px)) saturate(var(--olb-overlay-saturate,1.02));
  backdrop-filter:blur(var(--olb-overlay-blur,3px)) saturate(var(--olb-overlay-saturate,1.02))
}
body.olb-dock-open .olb-compose-dock-portal .olb-compose-dock-backdrop{
  display:none
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .olb-compose-dock-backdrop{background:rgba(15,23,42,.38)}
}
.olb-compose-dock-panel{
  position:relative;z-index:1;
  margin:0 auto;width:100%;max-width:960px;
  padding:.65rem .85rem calc(.65rem + env(safe-area-inset-bottom, 0px));
  background:#236343;color:#fff;
  isolation:isolate;
  border-top:3px solid #184c38;
  box-shadow:0 -4px 20px rgba(0,0,0,.2);
  pointer-events:auto;
}
.olb-compose-dock-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.45rem;
}
.olb-compose-dock-target{
  margin:0;font-size:.88rem;line-height:1.35;flex:1;opacity:.95;
  overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
}
.olb-compose-dock-close{
  flex-shrink:0;width:2rem;height:2rem;padding:0;border:0;border-radius:6px;
  background:rgba(255,255,255,.15);color:#fff;font-size:1.25rem;line-height:1;cursor:pointer;
}
.olb-compose-dock-close:hover{background:rgba(255,255,255,.28)}
.olb-compose-dock .olb-form{
  border:0;background:transparent;padding:0;color:inherit;
}
/* 返信モード：投稿先板選択は非表示（返信プレビュー内ラジオで返信先を変更） */
.olb-board.has-reply .olb-compose-dock-board,
.olb-board.has-reply .olb-compose-dock-board-hint,
.olb-compose-dock.has-reply .olb-compose-dock-board,
.olb-compose-dock.has-reply .olb-compose-dock-board-hint{
  display:none!important
}
body.olb-dock-open{padding-bottom:var(--olb-dock-h, 9rem)}
.olb-compose-dock-board{
  display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .75rem;
  margin:0 0 .4rem;padding:.4rem .5rem;background:rgba(0,0,0,.12);border-radius:6px;font-size:.85rem;
}
.olb-compose-dock-board-label{font-weight:700;margin-right:.15rem}
.olb-compose-dock-board-opt{display:inline-flex;align-items:center;gap:.2rem;cursor:pointer}
.olb-compose-dock-board-hint{margin:0 0 .45rem;font-size:.82rem;opacity:.9}