/* Talk boards and private cards; every selector is scoped to this game. */
.talk-page { --accent:#b7c6ee; background:radial-gradient(ellipse at 80% 0,#243a6144,transparent 60%),#0c1427; }
.talk-page .topbar { max-width:1100px; width:100%; gap:14px; padding-right:94px; margin-bottom:16px; }
.talk-page a.back,.talk-meta { color:#b7c6dd; font-size:.85rem; }
.talk-page .header { margin-bottom:20px; }
.talk-page .header h1 { font-size:clamp(1.6rem,4vw,2.2rem); letter-spacing:.04em; color:#fff0ce; }
.talk-shell { width:100%; max-width:1060px; position:relative; z-index:1; }
.talk-panel { background:#142139; border:1px solid #334766; border-radius:18px; padding:22px; margin-bottom:14px; }
.talk-setup,.talk-editor,.talk-card-editor { display:grid; gap:16px; min-width:0; }
.talk-view-options { display:flex; justify-content:flex-end; margin-bottom:12px; }
.talk-toggle,.talk-card-check { display:flex; align-items:center; gap:10px; min-height:44px; color:#c8d4e7; font-size:.85rem; cursor:pointer; }
.talk-toggle input,.talk-card-check input { width:18px; height:18px; accent-color:#d5bc83; }
.talk-switch { display:none; }
.talk-field { display:grid; gap:7px; text-align:left; font-size:.85rem; color:#c8d4e7; min-width:0; width:100%; }
.talk-field select,.talk-field textarea,.talk-field input { box-sizing:border-box; width:100%; min-width:0; max-width:100%; font:inherit; font-size:16px; color:#f4f5fb; background:#0d182d; border:1px solid #526681; border-radius:10px; padding:11px 12px; }
.talk-field textarea { resize:vertical; line-height:1.55; }
.talk-field textarea::placeholder { color:#aab8ce; }
.talk-settings-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; }
.talk-mode-settings { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; border-bottom:1px solid #334766; padding-bottom:16px; }
.talk-mode-settings>.talk-soft { grid-column:1/-1; }
.talk-button { font:inherit; font-size:.88rem; font-weight:600; cursor:pointer; min-height:44px; padding:10px 15px; border-radius:10px; border:1px solid #526681; color:#e2eafa; background:#233451; line-height:1.4; }
.talk-button:hover:not(:disabled) { background:#304767; border-color:#c6d4ee; }
.talk-button.talk-primary { background:#e5c98e; border-color:#e5c98e; color:#272519; }
.talk-button.talk-primary:hover:not(:disabled) { background:#f2dcae; }
.talk-button[aria-pressed="true"] { border-color:#e5c98e; background:#34415a; }
.talk-button:disabled { opacity:.45; cursor:default; }
.talk-button:focus-visible,.talk-field :focus-visible,summary:focus-visible { outline:2px solid #f4d798; outline-offset:3px; }
.talk-actions { display:flex; flex-wrap:wrap; gap:8px; }
.talk-actions .talk-button { flex:1; }
.talk-browse-link { display:flex; align-items:center; justify-content:center; text-align:center; text-decoration:none; }
.talk-kicker { color:#bdcae0; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; }
.talk-topic,.talk-topic-card,.talk-preview { position:relative; background:linear-gradient(140deg,#f7efdf,#eaddc2); border:1px solid #eee1c5; color:#2a3144; border-radius:16px; padding:28px; text-align:left; min-width:0; }
.talk-topic:before,.talk-topic-card:before { content:'“'; position:absolute; right:18px; top:-4px; font:100px Georgia,serif; opacity:.065; pointer-events:none; }
.talk-topic .talk-kicker,.talk-topic-card .talk-kicker { color:#626377; }
.talk-topic h2,.talk-preview h2,.talk-player-topic { position:relative; font-family:Georgia,'Times New Roman',serif; font-size:clamp(1.45rem,3.2vw,2.2rem); font-weight:500; line-height:1.4; color:#252f44; margin:12px 0; overflow-wrap:anywhere; white-space:pre-wrap; }
.talk-starter { white-space:pre-wrap; overflow-wrap:anywhere; text-align:left; font-size:.9rem; line-height:1.6; color:#c7d1e2; }
.talk-topic .talk-starter,.talk-topic-card .talk-starter,.talk-preview .talk-starter { color:#4f5767; }
.talk-topic .talk-soft,.talk-preview .talk-soft,.talk-preview .talk-details p { color:#525b6c; }
.talk-topic .talk-button,.talk-preview .talk-button { background:#e0d4bb; color:#2a3144; border-color:#aca58f; }
.talk-topic-explanation { border-top:1px solid #b4ab962e; margin-top:14px; }
.talk-topic-explanation summary,.talk-topic .talk-details summary,.talk-preview .talk-details summary { color:#525b6c; font-size:.8rem; min-height:40px; display:flex; align-items:center; cursor:pointer; }
.talk-extension { color:#ebd39f; line-height:1.55; font-size:1rem; margin-top:12px; border-top:1px solid #bdb09755; padding-top:12px; overflow-wrap:anywhere; white-space:pre-wrap; }
.talk-topic .talk-extension,.talk-topic-card .talk-extension { color:#775523; }
.talk-starters-off .talk-starter,.talk-starter:empty { display:none; }
.talk-board { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr); gap:14px; align-items:start; }
.talk-board>.talk-topic { grid-row:span 2; min-height:260px; }
.talk-host-floor { display:grid; gap:12px; text-align:left; }
.talk-floor { font-size:1.25rem; font-weight:650; color:#e4edff; line-height:1.4; overflow-wrap:anywhere; }
.talk-host-floor .talk-floor { font-size:1.45rem; }
.talk-soft { font-size:.82rem; color:#b9c7de; line-height:1.55; margin:0; }
.talk-section-label { display:flex; justify-content:space-between; font-size:.72rem; color:#b9c7de; letter-spacing:.04em; margin-bottom:10px; }
.talk-participant-list { width:100%; display:grid; gap:6px; }
.talk-participant { display:flex; align-items:center; gap:9px; min-width:0; background:#192b46; border:1px solid transparent; padding:9px 10px; border-radius:9px; }
.talk-avatar { width:26px; height:26px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; font-size:.75rem; color:#c8d7f3; background:#304261; }
.talk-participant-name { flex:1; min-width:0; color:#e2eafa; font-size:.9rem; overflow-wrap:anywhere; text-align:left; }
.talk-participant-name small { color:#a9b8d2; margin-left:7px; font-size:.65rem; }
.talk-participant-state { flex:0 0 auto; color:#aebed7; font-size:.7rem; }
.talk-participant.is-speaking { border-color:#c2a878; background:#3b372f; }
.talk-participant.is-speaking .talk-avatar { background:#e5c98e; color:#352d1b; }
.talk-participant.is-speaking .talk-participant-state { color:#f1d598; }
.talk-participant.is-you .talk-participant-name { font-weight:650; }
.talk-session-actions { justify-content:flex-start; margin:12px 0; }
.talk-session-actions .talk-button { flex:0 1 auto; }
.talk-controls { width:100%; display:grid; gap:10px; }
.talk-controls:empty,.talk-flow-controls:empty,.talk-feedback:empty,.talk-connection:empty,.talk-interest:empty,.talk-host-floor>:empty { display:none; }
.secret-card.talk-player { box-sizing:border-box; width:100%; max-width:740px; background:#101c32; color:#eaf0fb; padding:16px; gap:14px; border:1px solid #405578; box-shadow:none; animation:none; border-radius:18px; align-items:stretch; text-align:left; }
.talk-player .talk-card-top { display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; }
.talk-player .name-banner,.talk-demo-card .name-banner { display:inline-block; padding:7px 12px; border-radius:99px; color:#dfebff; background:#293c5b; font-size:.8rem; font-weight:600; }
.talk-player .talk-topic-card { width:100%; box-sizing:border-box; padding:22px; }
.talk-player .talk-player-topic { font-size:clamp(1.35rem,4.8vw,1.85rem); margin:10px 0 0; }
.talk-current-state { display:grid; gap:8px; width:100%; box-sizing:border-box; border:1px solid #334968; border-radius:12px; padding:15px; }
.talk-current-state.is-your-turn { border-color:#cbb17c; background:#4b3e2133; }
.talk-my-turn { border-color:#d5bb85!important; }
.talk-card-roster { width:100%; }
.talk-feedback,.talk-connection { font-size:.85rem; color:#f2d3a3; line-height:1.5; }
.talk-management,.talk-card-explore,.talk-assignment,.talk-shared { width:100%; min-width:0; text-align:left; }
.talk-management,.talk-assignment { border-top:1px solid #334968; padding-top:4px; }
.talk-management summary,.talk-card-explore summary,.talk-assignment summary,.talk-shared summary,.talk-details summary { min-height:44px; display:flex; align-items:center; color:#c4d2e9; cursor:pointer; font-size:.85rem; }
.talk-management summary::after,.talk-card-explore summary::after,.talk-assignment summary::after { content:'⌄'; margin-left:auto; }
.talk-management-body,.talk-assignment-body { display:grid; gap:13px; padding-top:12px; }
.talk-card-editor { padding:15px; background:#0d182b; border:1px solid #425671; border-radius:12px; }
.talk-card-editor .talk-preview { padding:16px; overflow-wrap:anywhere; }
.talk-card-confirm { width:100%; box-sizing:border-box; display:grid; gap:14px; padding:16px; border:1px solid #d8b875; border-radius:12px; color:#f4dfb0; background:#302818; text-align:left; line-height:1.55; }
.talk-card-confirm .talk-player-topic { color:#f4dfb0; }
.talk-details { margin:12px 0; font-size:.85rem; }
.talk-details p { color:#b9c7de; line-height:1.55; margin:8px 0; }
.talk-path { padding-left:22px; display:grid; gap:12px; color:#4f5767; }
.talk-question-bank { margin-top:30px; scroll-margin-top:24px; }
.talk-bank-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:start; }
.talk-bank-topic { display:grid; gap:10px; padding:18px; background:#0d182d; border:1px solid #344867; border-radius:12px; min-width:0; overflow-wrap:anywhere; }
.talk-bank-topic h3 { font-size:1rem; line-height:1.55; color:#e9edfa; font-weight:500; }
.talk-note { display:grid; gap:4px; font-size:.9rem; padding:10px 0; border-bottom:1px solid #334968; white-space:pre-wrap; overflow-wrap:anywhere; }
.talk-note span { color:#b9c7de; font-size:.7rem; }
.talk-notes h3 { font-size:1rem; margin-bottom:10px; }
.talk-demo-bar { display:grid; gap:12px; }
.talk-demo-card { max-width:640px; margin:0 auto 24px; }
.talk-demo-card .secret-card { display:flex; flex-direction:column; }
.talk-page [hidden],.talk-player [hidden] { display:none!important; }
.talk-crazy-host { display:grid; gap:10px; background:#292139; border-color:#61506e; }
.talk-crazy-host h2 { color:#f3cbea; font-size:1rem; }
.talk-crazy-prompt { width:100%; box-sizing:border-box; display:grid; gap:12px; padding:20px; border:1px solid #d7a5c0; border-radius:14px; background:linear-gradient(140deg,#f5dfe9,#ead0db); color:#45263d; scroll-margin-top:12px; }
.talk-crazy-heading { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; align-items:center; }
.talk-crazy-heading strong { font-size:.76rem; letter-spacing:.02em; }
.talk-crazy-heading span { font-size:.65rem; color:#725569; }
.talk-crazy-prompt blockquote { margin:0; font-size:clamp(1.15rem,4.5vw,1.5rem); font-weight:650; line-height:1.45; overflow-wrap:anywhere; white-space:pre-wrap; }
.talk-crazy-prompt p,.talk-crazy-prompt small { color:#684a5d; font-size:.78rem; line-height:1.55; }
.talk-crazy-prompt .talk-button { background:#ead0dc; color:#492b3d; border-color:#bda0ae; }
.talk-crazy-prompt .talk-primary { background:#5d3a51; border-color:#5d3a51; color:#fff3f7; }
.talk-crazy-prompt .talk-button:hover:not(:disabled) { background:#f2dce6; border-color:#9b758b; color:#492b3d; }
.talk-crazy-prompt .talk-button.talk-primary:hover:not(:disabled) { background:#744b66; border-color:#744b66; color:#fff3f7; }
.talk-crazy-wait { display:flex; align-items:center; flex-wrap:wrap; gap:7px 14px; width:100%; font-size:.75rem; color:#d9bfd5; }
.talk-crazy-wait strong { color:#eed0e2; font-size:.8rem; }
.talk-is-crazy .talk-assignment summary { color:#efd0e3; }
@media(max-width:680px) {
 .talk-page .topbar { padding-right:84px; }
 .talk-page .header { margin-bottom:16px; }
 .talk-board { grid-template-columns:1fr; }
 .talk-board>.talk-topic { grid-row:auto; min-height:0; }
 .talk-panel { padding:18px; }
 .talk-topic { padding:24px 20px; }
 .talk-mode-settings,.talk-settings-row,.talk-bank-grid { grid-template-columns:1fr; }
 .talk-session-actions .talk-button { flex:1; }
 .talk-player .talk-topic-card { padding:20px 17px; }
 .talk-player .talk-card-top .talk-kicker { font-size:.65rem; }
 .talk-management-body .talk-actions { flex-wrap:wrap; }
 .talk-card-editor { padding:12px; }
}
@media(prefers-reduced-motion:reduce) { .talk-page *,.talk-player * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }

.talk-subtitle { font-size:.85rem; line-height:1.5; color:#b9c7de; margin-top:7px; }
.talk-sidebar { display:grid; gap:0; min-width:0; }
.talk-session-topic { min-height:300px; }
.talk-participants h3 { margin:0 0 12px; }
.talk-participants .talk-participant-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
.talk-preparation,.talk-view-options { margin:0; }
.talk-question-bank>summary { color:#c4d2e9; font-size:.9rem; cursor:pointer; min-height:44px; display:flex; align-items:center; }
.talk-question-bank:not([open]) { display:block; }
.talk-question-bank[open]>*+* { margin-top:14px; }
.talk-player .talk-card-explore .talk-player-topic,#talk-followup-preview { color:#e4edff; font-family:inherit; font-size:1rem; }
@media(max-width:680px) { .talk-session-topic { min-height:0; } .talk-participants .talk-participant-list { grid-template-columns:1fr; } }

.talk-card-top .name-banner { min-width:0; overflow-wrap:anywhere; }
.talk-card-top .talk-kicker { flex-shrink:0; }

.talk-interval-settings { grid-column: 1 / -1; display: grid; gap: 8px; }
.talk-interval-settings > span { font-size: .9rem; font-weight: 700; }
.talk-interval-settings .talk-soft { margin: 0; }
.talk-queue-count { margin: 0; padding: 10px 16px; color: var(--talk-muted, #c4cfde); font-size: .85rem; }

.talk-round-strip { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:7px; width:100%; padding:9px 0; color:#f3d8a0; font-size:.88rem; font-variant-numeric:tabular-nums; }
.talk-round-strip small { color:#b6c5dc; font-size:.7rem; }
.talk-participant-score { flex:0 0 auto; color:#f0d89f; background:#413b2f; min-width:26px; height:26px; border-radius:8px; font-size:.8rem; display:grid; place-items:center; font-variant-numeric:tabular-nums; }
.talk-rest-card { width:100%; box-sizing:border-box; text-align:center; padding:30px 20px; border:1px solid #736752; border-radius:16px; background:linear-gradient(145deg,#f4e9d0,#e9daba); color:#313341; display:grid; gap:10px; }
.talk-rest-icon { font-size:2.4rem; }
.talk-rest-card h2 { font-size:1.7rem; font-family:Georgia,'Times New Roman',serif; font-weight:500; margin:0; }
.talk-rest-card p { margin:0; }
.talk-rest-card .talk-soft { color:#656373; }
.talk-scoreboard { width:100%; box-sizing:border-box; display:grid; gap:12px; text-align:left; }
.talk-scoreboard h3 { color:#dce7f8; font-size:.9rem; margin:0; }
.talk-scoreboard ol { list-style:none; margin:0; padding:0; display:grid; gap:7px; }
.talk-scoreboard li { display:flex; gap:12px; align-items:center; justify-content:space-between; padding:12px 14px; border:1px solid #384c69; border-radius:10px; background:#172740; color:#e3eafb; }
.talk-scoreboard li.is-you { border-color:#ae9565; }
.talk-scoreboard li span { min-width:0; overflow-wrap:anywhere; }
.talk-scoreboard li small { color:#adbbd2; font-size:.7rem; }
.talk-scoreboard li strong { flex-shrink:0; color:#edd299; font-size:.95rem; }

.talk-round-clock { font-size:1.05rem; color:#f0d598; font-variant-numeric:tabular-nums; margin:0; }
.talk-round-rest { display:grid; gap:16px; padding:26px; }
.talk-round-rest h2 { color:#f0d8a6; font-size:1.6rem; font-weight:500; margin:0; }
.talk-round-rest>p { color:#b9c7de; line-height:1.5; margin:0; font-size:.88rem; }

.talk-participant.is-away { opacity:.65; }
.talk-participant [data-talk-participant-control] { padding:7px 9px; font-size:.72rem; flex-shrink:0; }
.talk-participant { flex-wrap:wrap; }

/* Writing stays beside the topic; optional time stays with secondary controls. */
.talk-assignment { box-sizing:border-box; border:1px solid #53617a; border-radius:14px; padding:12px 16px; background:#18243a; }
.talk-is-crazy .talk-assignment { border-color:#72556d; background:#282136; }
.talk-assignment summary { font-weight:650; }
.talk-assignment .talk-field textarea { min-height:96px; }
.talk-round-strip { color:#b9c7de; font-size:.8rem; padding:0; }
.talk-time-toggle { background:transparent; border-color:transparent; color:#b9c7de; font-size:.78rem; padding:8px 10px; }
.talk-time-toggle:hover:not(:disabled) { background:#233451; border-color:#526681; }
.talk-round-clock { color:#b9c7de; font-size:.9rem; }
.talk-vnext,.talk-round-stage,.talk-sort-cards,.talk-reveal-cards { display:grid; gap:12px; width:100%; min-width:0; }
.talk-vnext-host { margin:16px 0; }
.talk-receiving { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.talk-receiving p { margin:0; }
.talk-receivers,.talk-private-library,.talk-round-stage,.talk-sort-cards,.talk-reveal-cards { border:1px solid #435169; border-radius:13px; padding:14px; background:#17263b; }
.talk-receivers ul { list-style:none; margin:12px 0 0; padding:0; display:grid; gap:9px; }
.talk-receivers li { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.talk-receivers small { color:#b9c7de; }
.talk-crazy-reminder { display:block; margin:0; opacity:.85; }
.talk-crazy-offer { display:grid; gap:9px; margin-top:2px; padding:13px; border:1px solid #b89aa9; border-radius:10px; background:#eddae4; }
.talk-crazy-offer p { margin:0; font-size:1rem; font-weight:600; }
.talk-round-stage h3,.talk-sort-cards h3,.talk-reveal-cards h3 { color:#ead5a6; margin:0; font-size:1rem; }
.talk-round-stage p { margin:0; }
.talk-delegate { display:flex; align-items:end; gap:10px; flex-wrap:wrap; }
.talk-delegate .talk-field { flex:1; min-width:150px; }
.talk-sort-card { display:grid; grid-template-columns:24px minmax(0,1fr); gap:8px 10px; align-items:start; border:1px solid #526075; padding:12px; border-radius:10px; cursor:pointer; }
.talk-sort-card input { min-width:20px; min-height:20px; margin:2px 0; accent-color:#cc9bbd; }
.talk-sort-card span { overflow-wrap:anywhere; line-height:1.5; }
.talk-sort-card small { grid-column:2; color:#bdc9dc; }
.talk-library-card { display:grid; gap:10px; padding:13px; margin-top:12px; border:1px solid #526075; border-radius:10px; }
.talk-library-card>p { margin:0; overflow-wrap:anywhere; white-space:pre-wrap; line-height:1.5; }
.talk-recap-meta { display:flex; flex-wrap:wrap; gap:5px 12px; color:#b9c7de; font-size:.75rem; }
.talk-private-library>summary { cursor:pointer; min-height:32px; display:list-item; }
.talk-assignment:not([open]) { padding:9px 14px; }
.talk-assignment .talk-assignment-body { display:grid; gap:12px; }
.talk-inspiration { min-width:0; border-top:1px solid #5d4b66; }
.talk-inspiration[hidden] { display:none; }
.talk-assignment .talk-inspiration>summary { font-size:.8rem; font-weight:500; min-height:36px; }
.talk-inspiration-body { display:grid; gap:8px; padding:0 0 6px; }
.talk-inspiration-body>p { margin:0; font-size:.78rem; }
.talk-idea { min-height:44px; padding:9px 11px; border:1px solid #72556d; border-radius:9px; background:#342b43; color:#f1e1ec; font:inherit; font-size:.85rem; text-align:left; line-height:1.45; white-space:normal; overflow-wrap:anywhere; cursor:pointer; }
.talk-idea:hover:not(:disabled),.talk-idea:focus-visible { background:#48354e; border-color:#c79bb9; }
.talk-idea:disabled { opacity:.5; cursor:default; }
.talk-inspiration-body>.talk-button { justify-self:start; font-size:.75rem; padding:7px 10px; background:transparent; color:#c9b7d0; }
.talk-skip-hint { display:block; font-size:.76rem; line-height:1.5; color:#6e4b63; }
.talk-skip-feedback { margin:0; color:#d7c4dc; font-size:.85rem; line-height:1.5; }
.talk-returned { display:grid; gap:10px; padding:14px; border:1px solid #88677b; border-radius:13px; background:#252238; }
.talk-returned h3 { margin:0; color:#efd4e6; font-size:.95rem; }
.talk-returned>p { margin:0; font-size:.8rem; }
.talk-returned-card { display:grid; gap:9px; padding-top:12px; margin-top:10px; border-top:1px solid #5d4b66; }
.talk-returned-card .talk-field { margin:0; }
.talk-returned-card textarea { min-height:74px; }
.talk-returned-card .talk-button { padding:9px 12px; font-size:.8rem; }
.talk-private-send { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:end; min-width:0; }
.talk-private-send .talk-field { min-width:0; margin:0; }
.talk-private-send .talk-button { padding:10px 12px; font-size:.8rem; }
.talk-crazy-check-in{display:grid;gap:8px;margin-top:14px;padding:12px;border:1px solid rgba(91,54,77,.22);border-radius:12px;background:rgba(255,255,255,.24)}
.talk-crazy-check-in[hidden]{display:none}
.talk-crazy-reminder[hidden]{display:none}
.talk-crazy-check-in p{margin:0;font-size:.9rem;font-weight:650}
.talk-crazy-check-in .talk-button{justify-self:start;max-width:100%;font-size:.85rem}
