.v2-avatar-status{margin-top:16px;padding:18px;border:1px solid #dfe4d6;border-radius:12px;background:#f8faef}.v2-avatar-status p{margin:10px 0}.v2-avatar-status small{display:block;margin-top:12px;color:#697664}.v2-filters{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.v2-filters input,.v2-filters select{padding:10px;border:1px solid #dfe4d6;border-radius:8px;min-width:120px}.v2-channel{padding:20px 0;border-top:1px solid #dfe4d6}.v2-channel label{display:block;margin:10px 0}.v2-channel input:not([type=checkbox]),.v2-channel select{width:100%;padding:12px;border:1px solid #dfe4d6;border-radius:8px;background:white}.v2-channel button{margin:8px 8px 0 0}.v2-owner-actions{display:flex;gap:12px;flex-wrap:wrap}.v2-platform{padding:24px;border:1px solid #dfe4d6;border-radius:16px;margin:24px 0}.v2-platform label{display:block;margin:12px 0}.v2-platform input,.v2-platform select{padding:10px;max-width:100%;width:360px}
.character-editor{width:min(790px,calc(100vw - 28px));max-height:90dvh;padding:0;border-radius:18px;background:#fffef8;color:#18241d}
.character-editor form{display:flex;flex-direction:column;max-height:inherit;margin:0}
.character-editor header,.character-editor footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;flex-shrink:0;background:#fffef8}
.character-editor header{border-bottom:1px solid #dfe4d6}.character-editor header h2{margin:0;font-size:24px}
.character-editor header button{background:none;border:0;font-size:28px;cursor:pointer}
.character-editor .editor-fields{display:grid;grid-template-columns:minmax(145px,.75fr) minmax(0,1.6fr);align-items:start;gap:28px;margin:0;padding:22px 24px;border:0;overflow:auto;min-height:0}
.editor-avatar h3,.editor-character label{margin:0 0 8px;font-size:15px;font-weight:650}
.editor-upload{display:grid;gap:6px;color:#285737;cursor:pointer;text-decoration:underline}.editor-upload img{max-width:100%;width:100%;max-height:240px;object-fit:contain;background:#f0f1e9;border-radius:10px}
.editor-upload,.editor-file-picker{position:relative}.editor-upload input,.editor-character .editor-file-picker input{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.editor-upload:focus-within,.editor-file-picker:focus-within{outline:2px solid #395d42;outline-offset:3px}
.editor-character label.editor-file-picker{display:block;margin:0;padding:10px 12px;color:#35543c;background:#f4f7ef;border:1px dashed #b8c5af;border-radius:8px;font-weight:500;cursor:pointer}
.editor-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;overflow-wrap:anywhere}
.editor-tools button,#editor-prepare{border:0;background:none;padding:4px 0;text-decoration:underline;cursor:pointer;color:#31563e}
.editor-character{display:grid;min-width:0;gap:5px}.editor-character textarea,.editor-character input,.editor-character #character-voice{width:100%;min-width:0;padding:10px;border:1px solid #cbd3c2;border-radius:8px;background:white;font:inherit;color:inherit}
.editor-character textarea{resize:vertical;min-height:115px}.editor-character label:not(:first-child){margin-top:12px}.editor-character small,.editor-avatar p{color:#52634f;font-size:13px}
.character-editor footer{border-top:1px solid #dfe4d6}.character-editor footer p{margin:0;font-size:14px}.character-editor footer button{margin-left:auto;white-space:nowrap}
@media(max-width:600px){.character-editor .editor-fields{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px}.character-editor header,.character-editor footer{padding:12px 16px}.editor-upload img{width:auto;max-height:156px}}

.offline-stage:has(> .v2-rtc-view) {
  aspect-ratio: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.v2-rtc-view {
  position: relative;
  --frame-ratio: 1.777778;
  width: min(100%, calc(78vh * var(--frame-ratio)));
  aspect-ratio: var(--frame-ratio);
  background: #142219;
  border-radius: 18px;
  overflow: hidden;
}
.v2-rtc-surface { position:absolute; inset:0; }
.v2-viewer-caption:not([hidden]) {
  position:absolute; z-index:2; bottom:9%; left:5%; max-width:90%; box-sizing:border-box;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
  padding:.45em .75em; border-radius:.5em; color:white; background:rgba(15,20,18,.85);
  font:bold clamp(14px,2vw,23px)/1.35 system-ui,sans-serif; text-align:start;
  overflow-wrap:anywhere; pointer-events:none;
}
