/* Opt-in scope: Lianhua does not load or activate this layer. */
html.cp-ready {
  --cp-primary: #365951;
  --cp-on-primary: #fff;
  --cp-ink: #253c36;
  --cp-muted: #64736a;
  --cp-paper: #faf9f4;
  --cp-panel: #fffefa;
  --cp-line: rgba(72,88,68,.13);
  --cp-soft: #eef0e8;
  --cp-ink: var(--brand-ink, #253c36);
  --cp-muted: var(--brand-earth, #64736a);
  --cp-soft: var(--brand-rice, #eef0e8);
  color-scheme: light;
  -webkit-text-size-adjust:auto!important;text-size-adjust:auto!important;
}
html.cp-ready, .cp-ready body {height:100%;overflow:hidden;background:var(--cp-soft)!important;color:var(--cp-ink)!important;}
.cp-ready body {margin:0;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft Yahei',sans-serif;}
.cp-ready .chat-container {height:100%;height:100dvh;max-width:1040px;margin:0 auto;isolation:isolate;background:var(--cp-paper)!important;overflow:hidden;}
.cp-ready .cp-header {position:relative;z-index:40;flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--cp-line);background:var(--cp-panel);}
.cp-ready .cp-identity {display:flex;align-items:center;gap:12px;min-width:0;}
.cp-ready .cp-portrait {width:46px;height:46px;flex:none;border-radius:50%;background-size:cover;background-position:center;box-shadow:0 0 0 3px var(--cp-panel),0 0 0 4px var(--cp-line);}
.cp-ready .cp-header h1 {font-family:'Songti SC','STSong',serif;font-size:1.35rem;letter-spacing:.08em;line-height:1.3;font-weight:600;margin:0;color:var(--cp-ink);overflow-wrap:anywhere;}
.cp-ready .cp-caption {display:block;font-size:.7rem;letter-spacing:.15em;color:var(--cp-muted);margin-top:3px;}
.cp-ready .cp-header-actions {display:flex;align-items:center;gap:2px;flex:none;}
.cp-ready .cp-header-actions > button,.cp-ready .cp-header-actions .oc-launcher {position:relative!important;inset:auto!important;transform:none!important;width:44px!important;height:44px!important;min-width:44px;display:grid!important;place-items:center;padding:0!important;margin:0!important;border:0!important;border-radius:50%!important;color:var(--cp-primary)!important;background:transparent!important;box-shadow:none!important;cursor:pointer;}
.cp-ready .cp-header-actions > button:hover,.cp-ready .cp-header-actions .oc-launcher:hover {background:var(--cp-soft)!important;}
.cp-ready .cp-header-actions > button:active,.cp-ready .cp-header-actions .oc-launcher:active {transform:scale(.94)!important;}
.cp-ready .chat-messages {min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:26px 20px 30px!important;scroll-padding-bottom:20px;background:radial-gradient(ellipse at 0 0,var(--cp-soft),transparent 52%),var(--cp-paper)!important;}
.cp-ready .message {max-width:88%!important;margin:20px 0!important;width:fit-content;animation:cp-arrive .18s ease-out;}
.cp-ready .user-message {margin-left:auto!important;}
.cp-ready .message-content {display:flex!important;gap:10px!important;align-items:flex-start!important;border:0!important;background:transparent!important;box-shadow:none!important;max-width:100%;}
.cp-ready .message-avatar {width:32px!important;height:32px!important;min-width:32px!important;border-radius:50%!important;margin:3px 0 0!important;box-shadow:0 0 0 2px var(--cp-panel);background-position:center;background-size:cover;}
.cp-ready .message-bubble-container {min-width:0;max-width:100%;}
.cp-ready .user-message .message-content {flex-direction:row!important;}
.cp-ready .user-message .message-avatar {order:2!important;background-color:var(--cp-soft)!important;}
.cp-ready .user-bubble {font-weight:400!important;}
.cp-ready .user-bubble,.cp-ready .lotus-bubble,.cp-ready .ai-bubble {font-size:1rem!important;line-height:1.8!important;letter-spacing:.01em;overflow-wrap:anywhere;word-break:normal!important;padding:12px 16px!important;box-shadow:none!important;border:1px solid var(--cp-line)!important;}
.cp-ready .lotus-bubble,.cp-ready .ai-bubble {background:var(--cp-panel)!important;color:var(--cp-ink)!important;border-radius:4px 18px 18px 18px!important;box-shadow:0 3px 14px rgba(40,45,30,.025)!important;}
.cp-ready .user-bubble {background:var(--cp-primary)!important;color:#fff!important;border-color:transparent!important;border-radius:18px 4px 18px 18px!important;}
.cp-ready .lotus-bubble p,.cp-ready .ai-bubble p {margin:0 0 .7em!important;line-height:1.8!important;}
.cp-ready .lotus-bubble p:last-child,.cp-ready .ai-bubble p:last-child {margin-bottom:0!important;}
.cp-ready .cp-cue {font-size:.8rem;line-height:1.7;color:var(--cp-muted);margin:0 0 .65rem;display:flex;align-items:baseline;gap:7px;}
.cp-ready .cp-cue:before {content:'';display:block;width:4px;height:4px;border-radius:50%;background:var(--cp-primary);opacity:.5;flex:none;transform:translateY(-2px);}
.cp-ready .message-time {font-size:.68rem!important;line-height:1.5;color:var(--cp-muted)!important;margin-top:6px!important;padding:0 4px!important;}
.cp-ready .oc-message-delivery {font-size:.78rem;line-height:1.5;max-width:100%;margin-top:7px;color:var(--cp-muted);}
.cp-ready .oc-message-delivery[data-status=failed] {color:#a04736;}
.cp-ready .input-area {position:relative!important;inset:auto!important;flex:none;width:100%;padding:12px 16px calc(12px + env(safe-area-inset-bottom))!important;border-top:1px solid var(--cp-line)!important;background:var(--cp-panel)!important;z-index:30;}
.cp-ready .input-area-inner {display:flex;align-items:flex-end!important;gap:10px;max-width:880px!important;margin:auto;}
.cp-ready .message-input {flex:1;min-width:0;min-height:calc(1.5em + 24px);max-height:9em;font-size:1rem!important;line-height:1.5!important;padding:11px 14px!important;border-radius:16px!important;resize:none;background:var(--cp-paper)!important;border:1px solid var(--cp-line)!important;color:var(--cp-ink)!important;box-shadow:none!important;}
.cp-ready .message-input::placeholder {color:var(--cp-muted)!important;opacity:.65;}
.cp-ready .send-btn {position:static!important;flex:none;width:44px!important;height:44px!important;border-radius:50%!important;background:var(--cp-primary)!important;color:white!important;border:0!important;margin:0 0 1px!important;display:grid;place-items:center;box-shadow:none!important;}
.cp-ready .send-btn:disabled {opacity:.3;cursor:default;}
.cp-ready .floating-menu {position:absolute!important;top:76px!important;right:16px!important;bottom:auto!important;border-radius:16px!important;background:var(--cp-panel)!important;border:1px solid var(--cp-line)!important;box-shadow:0 14px 50px #24332a1a!important;z-index:60!important;min-width:180px;max-width:calc(100% - 32px);}
.cp-ready .menu-item {font-size:.9rem;color:var(--cp-ink)!important;padding:13px 18px;}
.cp-ready .oc-shell {height:0;}
.cp-ready .oc-overlay {z-index:1000;}
.cp-ready .oc-status {border-radius:20px;background:var(--cp-panel)!important;color:var(--cp-ink);max-height:80dvh;overflow-y:auto;}
.cp-ready .oc-load-more,.cp-ready .load-more-history-button {font-size:.75rem!important;color:var(--cp-muted)!important;background:transparent!important;border:0!important;min-height:44px;}
.cp-ready .oc-action-receipt {font-size:.85rem!important;background:var(--cp-soft)!important;border:1px solid var(--cp-line)!important;border-radius:14px;padding:14px!important;}
.cp-ready .play-btn-x {color:var(--cp-muted)!important;box-shadow:none!important;}
.cp-ready .cp-jump {position:absolute;z-index:20;bottom:108px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:5px;padding:9px 15px;background:var(--cp-panel);border:1px solid var(--cp-line);border-radius:24px;color:var(--cp-primary);box-shadow:0 4px 14px #263a2912;font-size:.8rem;cursor:pointer;}
.cp-ready [hidden] {display:none!important;}
.cp-ready button:focus-visible,.cp-ready [role=button]:focus-visible,.cp-ready textarea:focus-visible {outline:2px solid var(--cp-primary)!important;outline-offset:3px;}
@keyframes cp-arrive {from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:800px) {
 .cp-ready .chat-container {height:calc(100vh - 64px);height:calc(100dvh - 64px);margin:32px auto;border:1px solid var(--cp-line);border-radius:24px;box-shadow:0 24px 80px #24392b0c;}
 .cp-ready .cp-header {padding:20px 32px;}
 .cp-ready .chat-messages {padding:30px 64px 40px!important;}
 .cp-ready .message {max-width:78%!important;margin:24px 0!important;}
 .cp-ready .user-message {margin-left:auto!important;}
 .cp-ready .input-area {padding:18px 32px!important;}
 .cp-ready .floating-menu {top:90px!important;right:28px!important;}
}
@media(max-width:360px) {.cp-ready .cp-header{padding:12px}.cp-ready .chat-messages{padding:18px 10px!important}.cp-ready .message{max-width:94%!important}.cp-ready .message-avatar{width:26px!important;height:26px!important;min-width:26px!important}.cp-ready .input-area{padding-left:10px!important;padding-right:10px!important}.cp-ready .input-area-inner{gap:6px}}
@media(prefers-color-scheme:dark) {html.cp-ready{--cp-paper:#19211f;--cp-panel:#202a27;--cp-soft:#26332e;--cp-ink:#e5ebe4;--cp-muted:#adb9ae;--cp-line:rgba(215,231,211,.13);color-scheme:dark}.cp-ready .cp-header-actions button{color:#c6d5c5!important}.cp-ready .cp-cue:before{background:#a8bca7}.cp-ready .user-bubble{background:#405a4f!important}.cp-ready .message-input{background:#19211f!important}}
@media(prefers-reduced-motion:reduce) {.cp-ready *{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

.cp-ready .cp-header-actions .oc-shell {height:44px;width:44px;position:static;flex:none;}
.cp-ready .cp-copy-choice {font-size:.8rem;display:flex;align-items:center;gap:4px;white-space:nowrap;}
.cp-ready #selectionToolbar {flex-wrap:wrap;}
.cp-ready .selection-actions {flex-wrap:wrap;justify-content:center;}
.cp-ready .oc-status button {background:var(--cp-soft);color:var(--cp-ink);border-color:var(--cp-line);}
.cp-ready .oc-status h2,.cp-ready .oc-sync-label {color:var(--cp-ink);}
.cp-ready .oc-status {font-size:.9rem;}
.cp-ready .oc-status h2 {font-size:1.15rem;}
.cp-ready .oc-action-receipt small {font-size:.8em;}
.cp-ready .oc-world-status {color:var(--cp-muted);}
.cp-ready .play-btn-x {background:var(--cp-panel)!important;border-color:var(--cp-line)!important;}
.cp-ready .user-bubble,.cp-ready .send-btn {color:var(--cp-on-primary)!important;}
@media(prefers-color-scheme:dark) {.cp-ready .user-bubble{background:var(--cp-primary)!important}.cp-ready .oc-status button{color:var(--cp-ink)!important}}

/* Keep the world dialog above the unchanged body-level floating microphone. */
.cp-ready .chat-container:has(.oc-overlay:not([hidden])) {z-index:1001;}
