.chat-side{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--chat-border)}.chat-side-top{display:grid;gap:.625rem;padding:.875rem;border-bottom:1px solid var(--chat-border)}.chat-search-input,.chat-sort{box-sizing:border-box;padding:.5rem .75rem;border:1px solid var(--chat-border);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--chat-text);font:inherit;font-size:.9rem}.chat-search-input{width:100%}.chat-search-input:focus-visible,.chat-sort:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.chat-filter,.chat-kind{--filter-bar-gap: .375rem}.chat-sort{margin-left:auto;padding:.25rem .375rem;font-size:.8125rem;cursor:pointer}.chat-list,.chat-results{flex:1;min-height:0;overflow-y:auto}.chat-row,.chat-hit-row{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .875rem;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.chat-row:hover,.chat-hit-row:hover{background:var(--bg-tertiary)}.chat-row:focus-visible,.chat-hit-row:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}.chat-row.is-selected{background:color-mix(in srgb,var(--accent-primary) 14%,transparent)}.chat-row-body{display:grid;flex:1;min-width:0}.chat-row-top{display:flex;align-items:baseline;gap:.375rem;min-width:0}.chat-row-name{min-width:0;overflow:hidden;color:var(--text-heading);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.chat-row-top .chat-handle{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-row-count{flex:none;margin-left:auto;color:var(--text-muted);font-size:.75rem;font-variant-numeric:tabular-nums}.chat-row-preview{overflow:hidden;color:var(--text-muted);font-size:.8125rem;text-overflow:ellipsis;white-space:nowrap}.chat-avatar{flex:none;width:2.75rem;height:2.75rem;border-radius:50%;object-fit:cover;background:var(--bg-tertiary)}.chat-avatar--sm{width:2rem;height:2rem}.chat-avatar--letter{display:inline-grid;place-items:center;color:var(--chat-text-secondary);font-weight:700}.chat-handle{margin-left:.25rem;color:var(--text-muted);font-size:.75rem;font-weight:400}.chat-results-head{display:flex;justify-content:space-between;margin:0;padding:.875rem .875rem .25rem;color:var(--text-muted);font-size:.75rem;font-weight:600}.chat-hit-speaker{padding-bottom:.25rem;border-bottom:1px solid var(--chat-border)}.chat-hit-speaker-head{display:flex;align-items:center;gap:.625rem;padding:.5rem .875rem .25rem}.chat-hit-speaker-head b{color:var(--text-heading)}.chat-hit-row{padding-block:.5rem;font-size:.875rem}.chat-hit-speaker .chat-hit-row{padding-left:4.25rem}.chat-hit-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-hit-count{flex:none;margin-left:auto;color:var(--text-muted);font-size:.75rem;font-variant-numeric:tabular-nums}.chat-hit-body{display:grid;flex:1;min-width:0}.chat-hit-where{overflow:hidden;color:var(--text-muted);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.chat-hit-snippet{overflow-wrap:anywhere}.chat-results-note{margin:0;padding:.5rem .875rem;color:var(--text-muted);font-size:.75rem}.chat-results-more{margin:.5rem .875rem 1rem}.chat-main{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg-primary)}.chat-empty{margin:auto;color:var(--text-muted)}.chat-pane{display:flex;flex:1;flex-direction:column;min-height:0}.chat-head{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;border-bottom:1px solid var(--chat-border);background:var(--bg-secondary)}.chat-head .chat-back{display:none}.chat-head-avatar{display:flex;flex:none}.chat-head-who{display:grid;flex:1;min-width:0}.chat-head-name,.chat-head-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-head-name{color:var(--text-heading);font-weight:700}.chat-head-sub{color:var(--text-muted);font-size:.8125rem}.chat-head-sub .chat-handle{margin-left:0}.chat-mode{flex:none}.chat-tabs{display:flex;gap:.125rem;padding:0 .75rem;overflow-x:auto;border-bottom:1px solid var(--chat-border);background:var(--bg-secondary)}.chat-tab{flex:none;padding:.5rem .75rem;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--chat-text-secondary);font:inherit;font-size:.875rem;white-space:nowrap;cursor:pointer}.chat-tab:hover{color:var(--chat-text)}.chat-tab.is-active{border-bottom-color:var(--accent-primary);color:var(--text-heading);font-weight:600}.chat-tab:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}.chat-jump{display:flex;align-items:center;gap:.5rem;padding:.375rem 1rem;border-bottom:1px solid var(--chat-border);background:color-mix(in srgb,var(--accent-primary) 12%,transparent);font-size:.8125rem}.chat-jump-label{flex:1;min-width:0}.chat-reply{display:grid;gap:.375rem;padding:.75rem 1rem .875rem;border-top:1px solid var(--chat-border);background:var(--bg-secondary)}.chat-reply-label{color:var(--text-muted);font-size:.75rem;font-weight:600}.chat-reply .chat-reply-btn{justify-content:flex-start;text-align:left;white-space:normal}.chat-log{position:relative;display:flex;flex:1;flex-direction:column;gap:.25rem;min-height:0;padding:1rem 1.25rem 1.5rem;overflow-y:auto;overscroll-behavior:contain}.chat-unlock{align-self:center;margin:0 0 .5rem;padding:.25rem .75rem;border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--chat-text-secondary);font-size:.8125rem;text-align:center}.chat-unlock strong{color:var(--text-heading);font-weight:600}.chat-msg{display:flex;align-items:flex-start;gap:.5rem;max-width:min(40rem,80%)}.chat-log[data-mode=play] .chat-msg{animation:chat-msg-in .3s ease-out}@keyframes chat-msg-in{0%{opacity:0;transform:translateY(.5rem)}}.chat-msg--character:not(.is-cont){margin-top:.625rem}.chat-msg--character>.chat-avatar{width:2.5rem;height:2.5rem}.chat-msg.is-cont>.chat-avatar{height:0;visibility:hidden}.chat-msg--player{align-self:flex-end;margin-top:.375rem}.chat-msg--narrator{display:block;align-self:center;max-width:90%;margin-block:.375rem;color:var(--text-muted);font-size:.875rem;font-style:italic;text-align:center}.chat-bubble{min-width:0;padding:.5rem .875rem;border-radius:1rem 1rem 1rem .25rem;background:var(--character-bg);color:var(--chat-text);line-height:1.5;overflow-wrap:anywhere}.chat-msg.is-cont .chat-bubble{border-radius:1rem}.chat-msg--player .chat-bubble{border-radius:1rem 1rem .25rem;background:var(--player-bg);color:var(--player-text)}.chat-speaker{margin:0 0 .125rem;color:var(--text-heading);font-size:.8125rem;font-weight:700}.chat-text{margin:0}.chat-color{color:oklch(from var(--chat-ink, currentColor) min(l,.45) c h)}body.chat-viewer.dark-mode .chat-color{color:oklch(from var(--chat-ink, currentColor) max(l,.85) c h)}body.chat-viewer.dark-mode .chat-msg--player .chat-color{color:oklch(from var(--chat-ink, currentColor) min(l,.3) c h)}.chat-choice{display:grid;align-self:center;justify-items:center;gap:.375rem;max-width:90%;margin:.75rem 0 .25rem}.chat-choice-label{color:var(--text-muted);font-size:.6875rem;font-weight:600;letter-spacing:.06em}.chat-choice-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:.375rem}.chip.chat-choice-tab{padding:.3125rem .75rem;font-size:.8125rem;font-weight:400;line-height:1.4}.chat-msg.is-hit .chat-bubble{box-shadow:0 0 0 2px var(--chat-hit-bg)}.chat-log .is-focus:not(:has(.chat-bubble)),.chat-log .is-focus .chat-bubble{border-radius:1rem;outline:2px solid var(--chat-focus);outline-offset:3px}.chat-end{align-self:center;margin-top:1rem;color:var(--text-muted);font-size:.75rem}.chat-sticker{display:block;width:7.5rem;height:auto}.chat-sticker--missing{width:auto;padding:.25rem .625rem;border:1px dashed var(--chat-border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.75rem}.chat-system{align-self:center;max-width:90%;margin-block:.375rem;padding:.25rem .75rem;border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--chat-text-secondary);font-size:.8125rem;text-align:center}.chat-envelope{align-self:center;width:15.625rem;margin-block:.5rem;padding:.9375rem;border-radius:.75rem;background-color:var(--red-envelope);box-shadow:0 .25rem .375rem var(--shadow-medium);color:#fff;font-weight:700;text-align:center}.chat-envelope:before{content:"🧧";display:block;font-size:2em}.shake-effect{animation:shake .5s}@media(max-width:768px){.chat-page{padding:.5rem .5rem .75rem}.chat-page .page-header-title{font-size:1.2rem}.chat-app{--chat-app-offset: 8rem;grid-template-columns:minmax(0,1fr);border-radius:.5rem}.chat-app[data-view=list] .chat-main,.chat-app[data-view=chat] .chat-side{display:none}.chat-side{border-right:0}.chat-head{gap:.5rem;padding:.5rem .625rem}.chat-head .chat-back{display:inline-flex}.chat-log{padding:.75rem .75rem 1rem}.chat-msg{max-width:88%}}
