/* 2026-10-05 Claude: the Board tab of a party window (party-board.js) — Results, Tasks, Decisions and the handoff note in one scrolling column. */
:is(#party-preview,.party-preview).party-room .room-board-panel{display:flex;flex-direction:column;gap:22px;flex:1 1 auto;min-height:0;overflow:auto;padding:14px 2px 20px;overscroll-behavior:contain}
:is(#party-preview,.party-preview).party-room .room-board-panel[hidden]{display:none!important}
.room-board-panel>.room-task-panel,.room-board-panel>.room-handoff-panel{flex:none;overflow:visible;max-height:none;padding:0}
.room-board-panel>.room-task-panel[hidden],.room-board-panel>.room-handoff-panel[hidden]{display:block!important}
.room-board-results,.room-board-decisions{flex:none;min-width:0}
.room-board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:12px}
/* Results are one kind of tile: a 4:3 preview (picture, the file's kind, the site's initial, the AI's words), then a two-line name and who/when. */
.room-board-card{display:flex;flex-direction:column;gap:6px;min-width:0;padding:8px;border:1px solid #8b9ab62e;border-radius:12px;background:#ffffffb3}
.room-board-thumb{display:grid;place-items:center;width:100%;aspect-ratio:4/3;margin:0;padding:0;border:0;border-radius:8px;overflow:hidden;background:#e8edf5;color:inherit;text-decoration:none;font:inherit;cursor:pointer;box-sizing:border-box}
.room-board-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.is-picture .room-board-thumb{cursor:zoom-in}
.room-board-file{background:var(--tone,#7a8699)}
.room-board-file span{font-size:clamp(15px,2.2vw,22px);font-weight:700;letter-spacing:.05em;color:#fff}
.room-board-file.kind-pdf{--tone:#dd5050}.room-board-file.kind-doc{--tone:#3d6fdf}.room-board-file.kind-sheet{--tone:#2e9a61}.room-board-file.kind-slide{--tone:#e3812f}
.room-board-file.kind-image{--tone:#8a5bd6}.room-board-file.kind-video{--tone:#6a4bcf}.room-board-file.kind-audio{--tone:#cf4f88}.room-board-file.kind-archive{--tone:#7b808c}
.room-board-file.kind-code{--tone:#1f8e89}.room-board-file.kind-text{--tone:#5a6a86}.room-board-file.kind-share{--tone:#46597c}.room-board-file.kind-other{--tone:#7a8699}
.room-board-site{display:flex;flex-direction:column;justify-content:center;gap:7px;background:#eef2fb}
.room-board-site b{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#fff;color:#3b4a6b;font-size:calc(20px * var(--pg-ts,1));box-shadow:0 1px 3px #20304a14}
.room-board-site.is-drive b{color:#1a73e8}
.room-board-site small{max-width:90%;font-size:calc(11px * var(--pg-ts,1));color:#5b6b86;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.room-board-ai{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;padding:10px;text-align:start;background:#f5f0ff}
.room-board-kind{flex:none;font-size:calc(10px * var(--pg-ts,1));font-weight:600;letter-spacing:.02em;padding:2px 7px;border-radius:999px;background:#e7dcff;color:#5b3ea8}
.room-board-excerpt{font-size:calc(11.5px * var(--pg-ts,1));line-height:1.45;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;color:#3e3560}
.room-board-title{font-size:calc(12.5px * var(--pg-ts,1));font-weight:600;line-height:1.35;color:inherit;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.room-board-meta{font-size:calc(11px * var(--pg-ts,1));line-height:1.3;color:#7d889a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.room-board-more{align-self:flex-start;margin:10px 0 0;padding:6px 10px;border:1px solid #8b9ab640;border-radius:999px;background:transparent;color:inherit;font-size:calc(12px * var(--pg-ts,1));cursor:pointer}
.room-board-versions{font-size:calc(12px * var(--pg-ts,1))}
.room-board-versions summary{cursor:pointer;color:#5b6b86}
.room-board-versions a{display:block;padding:4px 0 0 12px;color:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.room-board-empty{margin:10px 0 0;font-size:calc(13px * var(--pg-ts,1));color:#7d889a}
.room-board-decision-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
html body :is(#party-preview,.party-preview).party-room .room-board-decision-list button{display:flex;flex-direction:column;align-items:stretch;gap:4px;width:100%;min-height:0;margin:0;padding:10px 12px;text-align:start;border:1px solid #8b9ab62e;border-left:3px solid #6d83d8;border-radius:10px;background:#ffffffb3;color:inherit;font-size:calc(13px * var(--pg-ts,1));font-weight:400;line-height:1.45;cursor:pointer}
.room-board-decision-list button>span:first-child{overflow-wrap:anywhere}
@keyframes room-board-flash{0%,100%{box-shadow:none}30%{box-shadow:0 0 0 3px #7c93ff66}}
.room-message.room-board-flash .room-message-copy>p,.room-message.room-board-flash .room-message-copy>.room-message-image,.room-message.room-board-flash .room-file-card{animation:room-board-flash 1.6s ease;border-radius:12px}
/* 2026-10-05 Claude (감독 '대화랑 보드는 없애고 우측에 화살표 버튼만들어서 누르면 작업공간이 펼쳐지는기능 … 다시 복원'): the workspace panel and its
   edge arrow are back, holding the Board; the extra workspace button in the header stays out (the arrow is the one way in). */
html body :is(#party-preview,.party-preview).party-room [data-room-toggle]{display:none!important}
:is(#party-preview,.party-preview).party-room .room-work>.room-board-panel{padding-top:2px}
body.dark .room-board-card,html body.dark :is(#party-preview,.party-preview).party-room .room-board-decision-list button{background:#1c2433cc;border-color:#3a4760}
/* 2026-10-05 Claude (검토): the general dark tile colour comes first, so a file keeps its kind's colour and the site and AI tiles keep theirs. */
body.dark .room-board-thumb{background:#232d42}
body.dark .room-board-site{background:#232d42}body.dark .room-board-site b{background:#2e3a55;color:#dbe4f5}body.dark .room-board-ai{background:#2a2442}body.dark .room-board-excerpt{color:#ddd5f7}
body.dark .room-board-file{background:var(--tone,#7a8699)}
body.dark .room-board-kind{background:#3a2f5c;color:#d9ccff}
body.dark .room-board-meta,body.dark .room-board-empty,body.dark .room-board-site small{color:#9aa6ba}
@media (max-width:700px),(hover:none) and (pointer:coarse) and (max-height:500px){
 .room-board-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 :is(#party-preview,.party-preview).party-room .room-board-panel{padding:12px 0 24px}
}
/* An AI's own task: its progress comes from the AI (a tick here would be undone by the next sync), so the box is read-only. */
.room-task-item.is-ai-task input{cursor:default;opacity:.55}
/* 2026-10-05 Claude (감독 '아 캐릭터칸은 살려야겠다 호버링 하니까 복잡하네'): the row of people keeps its own strip above the conversation (it floated over
   it for a moment) — slimmer now that its characters are smaller; folded, only its button stays. */
html body :is(#party-preview,.party-preview).party-room .room-chat>.room-people{min-height:50px;padding:10px 0}
html body :is(#party-preview,.party-preview).party-room .room-chat>.room-people.is-collapsed{min-height:0;padding:6px 0}
@media (max-width:700px),(hover:none) and (pointer:coarse) and (max-height:500px){
 html body :is(#party-preview,.party-preview).party-room .room-chat>.room-people{min-height:46px;padding:8px 0}
}
}
/* the ladder in the workspace: its title (section) and line under it (meta); each Board part's heading (section) and description (meta) */
html body :is(#party-preview,.party-preview).party-room .room-work-head b{font-size:var(--pg-t-section,15px);font-weight:700;color:var(--pg-ink,#1d2433)}
html body :is(#party-preview,.party-preview).party-room .room-work-head small{display:block;margin-top:2px;font-size:var(--pg-t-meta,12.5px);color:var(--pg-muted,#6b7385)}
html body :is(#party-preview,.party-preview).party-room .room-board-panel .room-section-heading h3{font-size:var(--pg-t-section,15px);font-weight:700;color:var(--pg-ink,#1d2433);margin:0}
html body :is(#party-preview,.party-preview).party-room .room-board-panel .room-section-heading p{font-size:var(--pg-t-meta,12.5px);line-height:1.5;color:var(--pg-muted,#6b7385);margin:3px 0 0}
html body :is(#party-preview,.party-preview).party-room .room-board-panel .room-section-heading>span{font-size:var(--pg-t-meta,12.5px);color:var(--pg-muted,#6b7385)}

/* 2026-10-07: notes, review and restore on Board results (party-board.js review()) */
.room-board-review{display:flex;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap}
.rb-status{padding:2px 8px;border-radius:999px;font-size:calc(11px * var(--pg-ts,1));font-weight:700}.rb-status.is-ok{background:#e3f3ea;color:#1d7a52}.rb-status.is-fix{background:#fbefd9;color:#a96a12}
.rb-open{padding:2px 8px;border-radius:999px;border:1px solid #d9e0ea;font-size:calc(11.5px * var(--pg-ts,1));color:inherit;background:transparent}
.rb-panel{margin-top:6px;display:flex;flex-direction:column;gap:6px}.rb-panel[hidden]{display:none}
.rb-notes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:160px;overflow:auto}.rb-notes li{font-size:calc(12px * var(--pg-ts,1));line-height:1.45}.rb-notes b{margin-right:6px}
.rb-panel textarea{width:100%;box-sizing:border-box;border:1px solid #d9e0ea;border-radius:10px;padding:6px 8px;font:inherit;font-size:calc(12px * var(--pg-ts,1));resize:vertical}
.rb-actions{display:flex;gap:6px;flex-wrap:wrap}.rb-actions button{height:28px;padding:0 10px;border-radius:9px;background:#eef1f6;font-size:calc(11.5px * var(--pg-ts,1));font-weight:600}.rb-actions .is-fix{background:var(--pg-btn-bg,#1f2a44);color:#fff}
.rb-version{display:flex;align-items:center;gap:6px}.rb-version a{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rb-restore{flex:none;height:24px;padding:0 8px;border-radius:8px;background:#eef1f6;font-size:calc(11px * var(--pg-ts,1))}
body.dark .rb-open,body.dark .rb-panel textarea{border-color:#3a4a66}body.dark .rb-actions button,body.dark .rb-restore{background:#26324a;color:#e3eaf6}
