:root{--orange:#ff671b;--ink:#191d24;--muted:#9299a6;--line:#e9ebef;--soft:#f5f6f8}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:16px}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid #dce0e6;background:white;border-radius:8px;padding:10px 17px}button:hover{background:#f7f8fa}button:active{transform:translateY(1px)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--orange);outline-offset:3px}button:disabled{opacity:.45;cursor:not-allowed}img{display:block}button img{width:22px;height:22px}button.primary,.send{background:var(--orange);color:white;border-color:var(--orange)}button.primary:hover,.send:hover{background:#ed5c12}.shell{display:grid;grid-template-columns:98px 436px minmax(0,1fr);height:100dvh;min-height:560px}.iconbutton{border:0;padding:9px;background:transparent;display:inline-flex;align-items:center;justify-content:center}.iconbutton img{opacity:.65}.avatar{height:60px;width:60px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ebedf1}.avatar img{width:29px;height:29px;filter:brightness(0) invert(1)}.orange{background:#ff773c}.blue{background:#4e8cf9}.yellow{background:#f6b21f}.gray{background:#626a76}.teal{background:#08acae}.pale{background:#c1c6cf}#rail{background:#f5f6f8;border-right:1px solid var(--line);padding-top:19px;display:flex;align-items:center;flex-direction:column;gap:20px}#rail button{width:80px;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:7px;font-size:16px;padding:10px 0}#rail img{width:29px;height:29px}#rail button.active{font-weight:600}#rail button:hover{background:#e9ecf0}.conversations{border-right:1px solid var(--line);overflow:auto;background:#fff}.conversations>header{height:70px;padding:15px 26px 10px 20px;display:flex;justify-content:space-between}.inboxfilters{padding:4px 14px 20px}.inboxfilters button{display:flex;justify-content:space-between;width:184px;border:0;padding:7px 14px;border-radius:5px;color:#414854;font-size:20px}.inboxfilters span{color:#8a92a0}.inboxfilters button.active{color:var(--orange);background:#fff4ee}.inboxfilters button.active span{color:var(--orange)}.conv{border:0;border-radius:0;width:100%;padding:10px 30px 10px 22px;display:flex;gap:20px;text-align:left;align-items:center;position:relative;height:85px}.conv.active{background:#fff5f0;border-left:3px solid var(--orange);padding-left:19px}.conv .text{min-width:0;flex:1}.conv strong{font-weight:500;font-size:22px;white-space:nowrap}.conv small{display:block;margin-top:6px;color:#969daa;font-size:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv time{color:#9ba3af;font-size:14px;align-self:flex-start;margin-top:9px}.badge{font-size:15px;color:#707782;background:#eef0f3;border-radius:20px;padding:3px 10px;white-space:nowrap}.conv .badge{font-size:12px;margin-left:7px;border:1px solid #c9cdd3;background:white;padding:2px 5px}.newchat{border:0;display:flex;align-items:center;gap:26px;margin:4px 20px;padding:8px 0;font-size:20px}.newchat img{background:#f1f2f4;border-radius:50%;width:52px;height:52px;padding:15px}main{display:flex;flex-direction:column;min-width:0;min-height:0}.chatheader{height:88px;flex-shrink:0;display:flex;align-items:center;padding:0 33px;gap:16px;border-bottom:1px solid var(--line)}h1{font-size:28px;font-weight:600;margin:0}.headtools{margin-left:auto;display:flex;gap:23px}.headtools img{width:26px;height:26px}.mobile-back{display:none}#messages{flex:1;overflow:auto;padding:50px 30px 30px;scroll-behavior:smooth}.stamp{text-align:center;color:#959caa;font-size:18px;margin:3px 0 32px}.message{display:flex;align-items:flex-start;gap:24px;margin:0 0 32px}.message.user{flex-direction:row-reverse;gap:20px;margin-bottom:50px}.message .avatar{width:60px;height:60px}.message .bubble{padding:15px 19px;border-radius:12px;background:#f3f4f6;line-height:1.65;font-size:20px;white-space:pre-wrap;max-width:640px;overflow-wrap:anywhere}.message.user .bubble{background:#ffede3}.receipt{font-size:14px;color:#959caa;text-align:right;margin-top:8px}.bot-content{max-width:calc(100% - 84px)}.card{width:560px;max-width:100%;padding:22px;border:1px solid var(--line);border-radius:12px;margin-top:14px;background:#fff}.card h2{font-size:23px;font-weight:600;margin:0 0 19px;display:flex;align-items:center;gap:17px;line-height:1.4}.card h2 .avatar{width:57px;height:57px}.card p{color:#616976;font-size:19px;line-height:1.6;margin:9px 0;display:flex;gap:20px;align-items:center}.card p img{height:24px;width:24px;opacity:.65}.reason{border-top:1px solid var(--line);padding-top:16px;margin-top:23px!important}.actions{display:flex;gap:16px;margin-top:19px;flex-wrap:wrap}.actions button{flex:1;white-space:nowrap;font-size:19px;padding:13px 12px}.card-note{color:#989eaa;font-size:14px;line-height:1.6;margin-top:15px}.companion{display:flex;align-items:center;justify-content:space-between;gap:10px}.companion img{width:220px;height:152px;object-fit:contain}.companion p{font-size:18px}.timerline{font-variant-numeric:tabular-nums;color:#747d8a}.smallactions{display:flex;gap:10px;align-items:center;margin-top:12px}.smallactions button{border:0;font-size:13px;color:#87909d;padding:4px 0;background:transparent}.composewrap{padding:0 30px 0;flex-shrink:0}.quick{display:flex;gap:8px;min-height:31px;padding-bottom:7px;flex-wrap:wrap}.quick button{font-size:12px;padding:4px 10px;border-color:#eceef1;color:#7d8591}.quick button:hover{border-color:#ffc3a3;color:var(--orange)}#composer{height:128px;border:1px solid #d9dee5;border-radius:12px;position:relative;padding:12px 20px}.toolbar{display:flex;gap:13px}.toolbar .iconbutton{padding:5px 2px}textarea{resize:none;border:0;background:transparent;width:calc(100% - 75px);height:54px;outline:none;padding:12px 0;font-size:18px;line-height:1.5}textarea::placeholder{color:#9aa1ac}.send{position:absolute;right:17px;bottom:15px;border-radius:50%;height:56px;width:56px;display:flex;justify-content:center;align-items:center;padding:15px}.send img{filter:brightness(0) invert(1);width:26px;height:26px}.keyboardhint{position:absolute;right:104px;bottom:22px;font-size:14px;color:#a0a6b0;pointer-events:none}textarea:focus~.keyboardhint{display:none}footer{text-align:center;font-size:12px;color:#99a3b3;padding:15px}dialog{border:1px solid var(--line);border-radius:16px;padding:25px;width:560px;max-width:calc(100vw - 28px);max-height:85dvh;box-shadow:0 14px 70px #202b3b29}dialog::backdrop{background:#202a3a4d;backdrop-filter:blur(2px)}dialog>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}dialog h2{font-size:22px;margin:0}dialog p{line-height:1.7;color:#657080}dialog label{display:block;font-size:14px;margin:14px 0}dialog input:not([type=checkbox]),dialog select{width:100%;margin-top:7px;border:1px solid #d9dee5;border-radius:7px;padding:11px;background:white}dialog input[type=checkbox]{accent-color:var(--orange)}.formrow{display:flex;gap:20px}.formrow>*{flex:1;min-width:0}.taskrow{padding:17px 0;border-bottom:1px solid var(--line)}.taskrow strong{display:block;overflow-wrap:anywhere}.taskrow small{display:block;color:#959daa;margin:7px 0}.taskrow .actions{margin-top:10px;gap:8px}.taskrow button{font-size:13px;padding:6px 10px;flex:initial}.taskrow.done strong{text-decoration:line-through;color:#999}.tabs{display:flex;gap:6px;margin-bottom:12px}.tabs button{font-size:14px;padding:7px 12px}.tabs button.active{background:#fff3eb;color:var(--orange);border-color:#ffd8c0}.textbutton{border:0;color:#707b88;font-size:14px;padding:6px;background:transparent}.danger{color:#bf4444}.notice{padding:12px 15px;background:#fff6f0;font-size:14px;color:#926747;line-height:1.7;border-radius:8px}#toast{position:fixed;bottom:44px;left:50%;transform:translateX(-50%);background:#323b48;color:white;border-radius:8px;padding:13px 22px;z-index:10;max-width:85vw}#searchbar{background:#fafbfc;padding:12px 30px;border-bottom:1px solid var(--line)}#searchbar input{border:1px solid #d9dee5;border-radius:6px;padding:8px;width:60%}#searchbar span{font-size:13px;margin:10px;color:#929aaa}.match{outline:2px solid #ffb384;border-radius:12px}.empty{text-align:center;padding:28px 0;color:#9098a4}.hostnotice{margin:40px auto;max-width:500px;text-align:center;color:#7f8793;line-height:1.8}.historyrow{border-bottom:1px solid var(--line);padding:14px 0}.historyrow small{display:block;color:#929aaa;margin-top:7px}[hidden]{display:none!important}@media(max-width:1350px){.shell{grid-template-columns:74px 300px minmax(0,1fr)}#rail button{width:64px;font-size:14px}.conv{padding-right:15px;gap:12px}.conv strong{font-size:18px}.conv small{font-size:14px}.conv .avatar{width:46px;height:46px}.conv time{font-size:11px}.inboxfilters button{font-size:17px;padding:6px 12px}.headtools{gap:12px}.chatheader{padding:0 25px}#messages{padding:30px 25px 24px}.message{gap:16px}.message .avatar{width:46px;height:46px}.bot-content{max-width:calc(100% - 62px)}.message .bubble{font-size:17px}.card h2{font-size:20px}.card p{font-size:16px}.actions button{font-size:16px}.keyboardhint{font-size:12px}.card{width:530px}.stamp{font-size:15px}}@media(max-width:1000px){.shell{grid-template-columns:64px 245px minmax(0,1fr)}.conv time{display:none}.conv .badge{display:none}.chatheader h1{font-size:22px}.chatheader>.avatar{width:44px;height:44px}.headtools{gap:4px}.headtools .iconbutton{padding:6px}.chatheader{gap:10px;padding:0 16px}.companion img{width:135px;height:110px}.keyboardhint{display:none}.card{padding:18px}.message .avatar{width:36px;height:36px}.message{gap:12px}.bot-content{max-width:calc(100% - 48px)}.card h2 .avatar{width:40px;height:40px}.card p{gap:10px}.actions{gap:8px}.actions button{font-size:14px;padding:11px 8px}#messages{padding:24px 16px}.composewrap{padding:0 16px}.message.user{margin-bottom:30px}}@media(max-width:760px){.shell{display:block;height:100dvh;min-height:520px}#rail,.conversations{display:none}main{height:100%}.mobile-back{display:inline-flex}.chatheader{height:72px}.chatheader .badge{font-size:11px}.headtools .iconbutton:first-child{display:none}.headtools img{width:21px;height:21px}.chatheader>.avatar{width:34px;height:34px}.chatheader h1{font-size:20px}.message .bubble{font-size:16px}.card h2{font-size:19px}.card p{font-size:15px}.companion img{width:100px;height:90px}.companion p{font-size:14px}.card h2 .avatar{display:none}.card{width:100%;padding:16px}.bot-content{width:calc(100% - 48px)}#messages{padding:24px 12px}.composewrap{padding:0 12px}.quick button{font-size:11px}.quick{gap:5px}footer{font-size:10px;padding:10px}.show-conversations .conversations{display:block;position:fixed;z-index:3;left:0;top:72px;bottom:0;width:280px;box-shadow:4px 0 24px #0002}.formrow{gap:10px}.card .actions{gap:6px}.card .actions button{font-size:13px}}
/* Match the message spacing of the selected DChat mock. */
#messages{padding-bottom:12px}.message.user{margin-bottom:24px}.message:last-child{margin-bottom:0}.bot-content>.bubble{width:fit-content}.conv{height:84px}.conversations .inboxfilters{padding-bottom:10px}
.card h2>img{width:24px;height:24px;filter:invert(48%) sepia(85%) saturate(2160%) hue-rotate(347deg) brightness(102%)}.stamp .older{display:block;border:0;font-size:11px;color:#a0a8b5;background:transparent;padding:4px 8px;margin:0 auto -21px}.companion img{width:190px;height:131px}@media(max-width:1000px){.companion img{width:130px;height:100px}}@media(max-width:760px){.companion img{width:95px;height:82px}}
.sync-status{flex-shrink:0;font-size:11px;padding:4px 30px;color:#82938a;background:#fcfdfc;min-height:22px}.sync-status.error{background:#fff1e7;color:#a04b20;font-size:13px}.sync-status button{font-size:12px;padding:4px 8px;margin-left:8px}.ai-progress{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;background:#fff5ee;color:#906847;font-size:13px;border-radius:8px;margin-bottom:6px}.ai-progress button{padding:5px 10px;font-size:12px}.card .actions .textbutton{flex-basis:100%;font-size:13px;padding:3px}
#boot-message{display:none}.service-pending .shell{visibility:hidden}.service-pending #boot-message{display:block;position:fixed;inset:0;align-content:center;text-align:center;font-size:17px;color:#818895;background:#fff;z-index:12}
/* Calm companionship: no flashing, no automatic animation. */
.companion-card.desk{background:#fffdf9}.companion-card.window{background:#f4f8f7}.companion-card.tea{background:#fcf6f2}.companion-card .companion-caption{color:#5c635e;font-size:16px;border:0}.companion-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:7px 0 0;font-size:12px;color:#747b78}.companion-controls button{font-size:12px}.hide-timer .timerline{display:none}.hide-art .companion>img{display:none}.companion-anchor{margin:0 24px 10px;padding:12px 16px;border:1px solid #e3e7e1;border-radius:9px;background:#f6f8f4;display:flex;gap:14px;align-items:center;justify-content:space-between;flex-shrink:0}.companion-anchor strong{display:block;font-size:13px;font-weight:500}.companion-anchor small{display:block;font-size:12px;color:#727a71;margin-top:4px;overflow-wrap:anywhere}.anchor-actions{display:flex;gap:5px;flex-shrink:0}.anchor-actions button{padding:6px;font-size:12px}.support-actions button{font-size:14px}.companion-anchor>div:first-child{min-width:0}@media(max-width:1000px){.companion-anchor{margin:0 12px 8px;flex-wrap:wrap;padding:9px}.anchor-actions{flex-wrap:wrap}.companion-anchor small{max-height:36px;overflow:auto}}@media(prefers-reduced-motion:reduce){#messages{scroll-behavior:auto}}
.companion-card{padding:16px 20px}.companion-card h2{margin-bottom:10px}.companion-card p{margin:6px 0}.companion-card .companion>img{height:105px;width:156px}.companion-card .actions{margin-top:12px}.companion-card .smallactions{margin-top:8px}.companion-controls{margin-bottom:0}.message:has(.companion-card){margin-bottom:12px}@media(max-width:760px){.companion-card .companion>img{width:90px;height:76px}.companion-card{padding:12px}}
body:has(.companion-anchor:not([hidden])) #composer{height:108px}body:has(.companion-anchor:not([hidden])) textarea{height:38px}.companion-card .companion>img{height:85px;width:140px}
