@font-face{font-family:RyouHomeHand;src:url('/home-art/ryou-home-hand.woff?v=2') format('woff');font-weight:300 700;font-display:swap}
.cp-overlay,.cp-sheet-cover{font-family:RyouHomeHand,'LXGW WenKai Screen','PingFang SC',sans-serif;color:#725c4b;font-weight:300;--cp-line:#dfd2bd;--cp-green:#8d9f7c;--cp-cream:#fffaf0;box-sizing:border-box}.cp-overlay *,.cp-sheet-cover *{box-sizing:border-box}.cp-overlay button,.cp-sheet-cover button,.cp-overlay input,.cp-overlay textarea,.cp-overlay select{font:inherit;color:inherit}.cp-overlay button,.cp-sheet-cover button{border:1px solid var(--cp-line);border-radius:15px;min-height:37px;padding:8px 12px;background:#fffaf1;cursor:pointer;touch-action:manipulation}.cp-overlay button:focus-visible,.cp-sheet-cover button:focus-visible,.cp-overlay input:focus-visible,.cp-overlay select:focus-visible,.cp-overlay textarea:focus-visible{outline:2px solid #91a17e;outline-offset:2px}.cp-overlay button:disabled{opacity:.5}.cp-primary{background:#92a282!important;color:#fffdf4!important;border-color:#92a282!important}.cp-text{background:transparent!important;border:0!important;font-size:11px!important;color:#a58b73!important}.cp-wide{width:100%;margin-top:12px}.cp-avatar{width:39px;height:39px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid #d7cab5;background:#f4ead7}.cp-duo{display:inline-block;width:48px;height:39px;position:relative;flex-shrink:0}.cp-duo img{position:absolute;left:0;top:0;width:31px;height:31px;border:2px solid #fffaf0;border-radius:50%;object-fit:cover}.cp-duo img+img{left:18px;top:9px}.cp-list-row .conv-icon{display:flex;align-items:center;justify-content:center}.cp-list-row .conv-name small{font-size:9px;letter-spacing:.3px;color:#ab947b;border:1px solid #e6dac6;border-radius:8px;padding:1px 5px;margin-left:4px}.cp-sheet-cover{position:fixed;inset:0;background:#493d333d;backdrop-filter:blur(3px);z-index:2147483002;display:flex;align-items:flex-end;justify-content:center}.cp-sheet{width:100%;max-width:510px;max-height:85dvh;overflow-y:auto;background:linear-gradient(#fffaf3f5,#faf1e7fc);border-radius:27px 27px 0 0;border:1px solid #e9dfce;padding:20px 20px calc(16px + env(safe-area-inset-bottom));box-shadow:0 -8px 35px #69574416}.cp-sheet header{display:flex;align-items:center;justify-content:space-between;margin:0 0 18px}.cp-sheet h2{font-size:23px;font-weight:400;letter-spacing:2px;margin:0}.cp-sheet header button{background:none;border:0;font-size:25px}.cp-sheet .cp-pick-option{display:flex;align-items:center;gap:14px;width:100%;padding:15px 13px;margin:11px 0;border-radius:19px;text-align:left;background:#fffaf3b5;box-shadow:0 3px 12px #8b6a4d08;min-height:78px}.cp-pick-option>span:not(.cp-duo){flex:1}.cp-pick-option b{font-size:18px;font-weight:400;display:block}.cp-pick-option small{font-size:12px;color:#ac9680;display:block;margin-top:6px}.cp-pick-option .cp-avatar{width:49px;height:49px}
.cp-overlay{position:fixed;inset:0 0 calc(56px + env(safe-area-inset-bottom)) 0;z-index:2147483000;display:flex;flex-direction:column;background:#faf6ed;padding-top:env(safe-area-inset-top);overflow:hidden}.cp-header{display:flex;align-items:center;gap:9px;padding:12px 13px;border-bottom:1px solid #e8dece;background:#fffaf2ed;flex-shrink:0}.cp-header>div{flex:1;min-width:0}.cp-header h1{margin:0;font-size:21px;font-weight:400;line-height:1.5;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cp-header small{font-size:10px;color:#ab957b}.cp-header>button{background:transparent;border:0;padding:3px;min-width:27px;font-size:24px}.cp-messages{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 15px 24px;background:linear-gradient(#fff9edb8,#faf5eac4),url('/assets/chat-lily-v1/canvas.webp') center/cover}.cp-message{display:flex;align-items:flex-start;gap:8px;margin:0 0 20px}.cp-message>div{min-width:0;max-width:80%}.cp-message small{display:block;font-size:10px;color:#a38e76;line-height:1.5;margin:0 3px 5px}.cp-bubble{background:#fffcf4;border:1px solid #e9dfce;border-radius:4px 18px 18px 18px;padding:12px 14px;line-height:1.9;font-size:16px;overflow-wrap:anywhere;box-shadow:0 4px 14px #80644d08}.cp-message.zhazha .cp-bubble{background:#fff1cc;border-color:#e7d8ae}.cp-message.mine{justify-content:flex-end}.cp-message.mine small{text-align:right}.cp-message.mine .cp-bubble{background:#e1e9d6;border-color:#ccd7bc;border-radius:18px 4px 18px 18px}.cp-message .cp-reply-person{font-size:10px;padding:3px 5px;min-height:24px;margin-top:4px;border:0;background:transparent;color:#a49477}.cp-welcome{text-align:center;padding:45px 15px;color:#a38f76}.cp-welcome>.cp-avatar{width:80px;height:80px}.cp-welcome h2{font-size:23px;font-weight:400;color:#8c765c}.cp-welcome p{font-size:13px;line-height:1.8}.cp-card-wrap{margin:15px 17px 22px}.cp-card{padding:14px 15px;background:#fffdf5ed;border:1px solid #e6d9c6;border-radius:18px;box-shadow:0 5px 16px #80634a0b}.cp-card small{font-size:10px;color:#a99176;line-height:1.7;display:block}.cp-card b{font-size:16px;font-weight:400;display:block;margin:6px 0}.cp-card p{font-size:12px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.cp-card>div{display:flex;gap:7px;margin-top:10px;flex-wrap:wrap}.cp-card button{font-size:11px;min-height:30px;padding:5px 10px}.cp-typing,.cp-empty{font-size:12px;line-height:1.8;color:#a89479;text-align:center;padding:18px}.cp-load{display:block;margin:0 auto 20px;font-size:11px!important;background:transparent!important;border:0!important}.cp-retry{display:block;margin:10px auto;color:#a77961!important;font-size:12px!important}.cp-notice{flex-shrink:0;margin:0;padding:10px 17px;background:#f0e4cf;font-size:12px;line-height:1.7;max-height:100px;overflow:auto}.cp-composer{flex-shrink:0;padding:9px 13px 12px;border-top:1px solid #e9ddc9;background:#fffbf3}.cp-room-label{display:flex;align-items:center;gap:7px;font-size:10px;color:#ad987e}.cp-room-label>span{flex:1}.cp-room-label button{padding:2px 3px;min-height:24px}.cp-reply-label{display:inline-flex;align-items:center;font-size:11px;color:#7b9169;border:1px solid #ddd9c6;border-radius:13px;padding:2px 6px;margin:4px 0}.cp-reply-label select{font-size:11px;border:0;background:none;color:#7c906c;outline:none;padding:3px}.cp-composer form{display:flex;align-items:flex-end;gap:9px;margin-top:7px}.cp-composer textarea{flex:1;width:100%;min-width:0;resize:none;max-height:120px;min-height:43px;border:1px solid #dfd8c5;background:#fffdf7;border-radius:22px;padding:11px 15px;font-size:16px;line-height:1.5;outline:none}.cp-composer form button{width:43px;height:43px;flex-shrink:0;border-radius:50%;background:#9aab88;color:#fffdf5;border:0;font-family:system-ui;font-size:20px;padding:0}
.cp-panel{flex:1;min-height:0;overflow-y:auto;padding:17px 18px 30px;background:#fcf7ee}.cp-panel>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.cp-panel h2{font-size:23px;font-weight:400;letter-spacing:1px;margin:0 0 16px}.cp-panel h3{font-weight:400;font-size:17px;margin:24px 0 12px}.cp-muted{font-size:12px;line-height:1.9;color:#ac967c}.cp-panel label{display:block;font-size:14px;margin:16px 0;line-height:1.7}.cp-panel input:not([type=checkbox]),.cp-panel select,.cp-panel textarea{display:block;width:100%;max-width:100%;min-width:0;margin-top:6px;border:1px solid #dfd3bc;border-radius:11px;background:#fffdf7;padding:10px;font-size:16px;min-height:43px}.cp-panel textarea{min-height:95px;resize:vertical}.cp-panel .cp-check{display:flex;align-items:flex-start;gap:8px;font-size:13px}.cp-panel input[type=checkbox]{margin-top:5px;accent-color:#91a17c}.cp-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.cp-task{display:flex;gap:10px;align-items:center;padding:14px 12px;background:#fffdf5;border:1px solid #e7dbc9;border-radius:15px;margin:10px 0}.cp-task>div,.cp-task>p{flex:1;min-width:0;overflow-wrap:anywhere}.cp-task b{font-weight:400;font-size:16px}.cp-task small{font-size:10px;color:#ad967e;display:block;line-height:1.7;margin-top:4px}.cp-task p{font-size:12px;line-height:1.8;margin:6px 0}.cp-task button{font-size:11px;min-height:31px;padding:5px 8px;flex-shrink:0}.cp-panel summary{font-size:13px;color:#a28e76;margin-top:20px}.cp-button-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:20px}.cp-button-row button{flex:1;white-space:nowrap;font-size:12px}
@media(min-width:620px){.cp-overlay{left:calc(50% - 270px);right:calc(50% - 270px);box-shadow:0 0 30px #705c4120;border-inline:1px solid #e3d7c5}.cp-message>div{max-width:78%}}
@media(max-width:350px){.cp-header{gap:6px;padding-inline:9px}.cp-header h1{font-size:19px}.cp-bubble{font-size:15px;padding:10px 12px}.cp-messages{padding-inline:10px}.cp-card-wrap{margin-inline:10px}}
@media(prefers-reduced-motion:reduce){.cp-overlay *{scroll-behavior:auto!important;transition:none!important}}

/* RYO_COMPANIONS_POLISH_V1 */
.cp-overlay{width:auto;max-width:100vw;overflow-x:clip;}
.cp-panel{width:100%;max-width:100%;min-width:0;overflow-x:hidden;}
.cp-header{padding:8px 11px;gap:7px;}.cp-header h1{font-size:19px;}.cp-header>button:first-child{font-size:14px;white-space:nowrap;min-width:50px;padding:8px 2px;}
.cp-messages{padding:12px 12px 18px;}.cp-message{margin-bottom:13px;gap:7px;}.cp-message>div{max-width:84%;}.cp-bubble{font-size:14px;line-height:1.7;padding:9px 11px;border-radius:4px 15px 15px 15px;}.cp-avatar{width:33px;height:33px;}.cp-message small{margin-bottom:3px;}
.cp-composer{padding:6px 11px 8px;}.cp-composer form{gap:6px;margin-top:4px;}.cp-composer textarea{font-size:16px;min-height:40px;padding:9px 12px;}.cp-composer .cp-newline{width:31px;height:38px;background:transparent;color:#8d9f7c;font-size:23px;}.cp-composer form button[data-cp-send]{width:40px;height:40px;}
.cp-pat-avatar{border:0!important;background:none!important;padding:0!important;width:33px;height:33px;min-height:33px!important;flex-shrink:0;}.cp-pat-avatar:active{transform:rotate(-8deg) scale(.94);}.cp-pat-event{margin:10px auto 15px;text-align:center;font-size:11px;color:#9c8a72;}
.cp-panel h2{font-size:20px;margin-bottom:13px;}.cp-panel label{font-size:13px;margin:12px 0;}.cp-panel input,.cp-panel select,.cp-panel textarea{max-width:100%;min-width:0;box-sizing:border-box;}.cp-panel .cp-grid{grid-template-columns:1fr;gap:0;}.cp-panel input[type=time]{-webkit-appearance:none;appearance:none;width:100%;min-width:0;max-width:100%;text-align:left;}.cp-panel input[type=time]::-webkit-date-and-time-value{text-align:left;min-width:0;}.cp-notice[hidden]{display:none;}
.cp-persona-tabs{display:flex;gap:8px;margin:12px 0;}.cp-persona-tabs button{flex:1;padding:9px;border:1px solid #d9d3c1;border-radius:12px;background:#f3f0e5;color:#786653;font:inherit;}.cp-persona-editor{overflow-x:hidden;}.cp-persona-editor label{display:block;margin:14px 0;}.cp-persona-editor textarea{box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;font:inherit;font-size:16px;margin-top:7px;padding:10px;border:1px solid #d9d3c1;border-radius:12px;background:#fffaf1;}.cp-persona-editor p{font-size:12px;line-height:1.7;}.cp-persona-editor button{padding:10px 16px;border:0;border-radius:12px;background:#92a282;color:white;font:inherit;}#cpPersonaStatus{display:block;font-size:12px;margin-top:9px;}#cpPersonaRyoBody[hidden],.cp-persona-editor[hidden]{display:none;}

/* Continuity and stable scrolling */
.cp-messages{scroll-behavior:auto!important;overflow-anchor:none;padding-bottom:12px;}.cp-messages>.cp-message:last-of-type{margin-bottom:0;}.cp-message-actions{display:flex;gap:6px;margin-top:6px;align-items:center;}.cp-message-actions button{display:grid;place-items:center;width:25px;height:25px;min-height:25px;padding:0;border-radius:50%;background:#e7eddf;border:1px solid #cfdbc5;color:#839577;}.cp-message .cp-reply-person{margin-top:3px;padding-bottom:0;min-height:20px;}.cp-bubble{white-space:normal;}.cp-bubble br{display:initial;}
.cp-input-shell{position:relative;flex:1;min-width:0;}.cp-input-shell textarea{width:100%;display:block;padding-right:39px;}.cp-composer .cp-input-shell .cp-newline{position:absolute;right:5px;bottom:3px;width:30px;height:34px;min-height:30px;border-radius:12px;}.cp-quote-preview{display:flex;align-items:center;gap:8px;font-size:11px;border-left:2px solid #a8b899;padding:4px 7px;margin-bottom:5px;color:#998a73;}.cp-quote-preview[hidden]{display:none;}.cp-quote-preview>span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.cp-quote-preview button{border:0;min-height:24px;padding:2px;background:none;}.cp-message-quote{border-left:2px solid #bac5ad;font-size:11px;line-height:1.5;padding:3px 7px;margin-bottom:6px;color:#998a73;}
.cp-archive-entry{display:block;width:calc(100% - 20px);margin:12px 10px;border:1px solid #d8dfcd;background:#f1f4e9;padding:10px;border-radius:12px;font:inherit;color:#8a987a;text-align:center;}.cp-archived-row{padding:14px 0;border-bottom:1px solid #e4dccb;}.cp-archived-row strong{display:block;font-weight:400;font-size:17px;}.cp-archived-row small{display:block;font-size:12px;color:#a4967f;margin-top:5px;overflow-wrap:anywhere;}.cp-archived-row>div{display:flex;gap:9px;margin-top:9px;}.cp-archived-footer{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#9f927d;}

.cp-message-actions button[aria-pressed=true] svg{fill:currentColor;}
