/* 聊天页独立视觉层：不改变数据、接口或其他页面的布局。 */
.chat-screen{--chat-font:26px;--bg:#e9fbf5;--surface:#fff;--line:#d5e9e6;--btn:#008bd4;--btn-hover:#008bd4;--ink:#142228;--ink-2:#455761;--muted:#586b73;background:var(--bg);font-family:var(--sans)}
.chat-screen .scroll{min-height:0;overscroll-behavior:contain}
.chat-screen .wrap.chat{max-width:1260px;width:100%;padding:28px 36px 40px;display:flex;flex-direction:column;gap:24px}
.chat-screen .row{gap:16px;animation:none;flex:none}
.chat-screen .row>div:not(.ava){min-width:0;max-width:calc(100% - 76px)}
.chat-screen .row.me>div.elder-content{max-width:min(820px,calc(100% - 76px))}
.chat-screen .ava{width:60px;height:60px;flex:none;border:2px solid white;background:#f8fffd;overflow:hidden;font-family:var(--sans);font-size:24px;color:#426c65}
.chat-screen .ava img{width:100%;height:100%;object-fit:contain}
.chat-screen .bubble{max-width:820px;font-size:var(--chat-font);line-height:1.65;padding:18px 24px;overflow-wrap:anywhere;word-break:normal;border:0!important;border-radius:22px!important;box-shadow:0 3px 14px #378a7307}
.chat-screen .row.bot .bubble{background:white}
.chat-screen .row.me .bubble{background:#e2f9d7}
.chat-screen .bubble.annotated{border-left:4px solid #C47A2B!important}
.chat-screen .tester-bubble{max-width:820px}
.chat-screen .note-corner{gap:10px;padding:2px 0;flex-wrap:wrap}
.chat-screen .note-mark{min-height:56px;min-width:56px;border-radius:18px;font-size:20px;color:#5b6870;background:#ffffffa8}
.chat-screen .note-label{color:#94531a;overflow-wrap:anywhere}
.chat-screen .audio-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:8px 0 0;padding:0;position:static}
.chat-screen .row.bot .audio-controls button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;min-height:56px;min-width:56px;border-radius:28px;background:#f7fffd;color:#346473;font-size:18px}
.chat-screen .audio-controls button svg{width:25px;height:25px;flex:none}
.chat-screen .audio-controls [role=status]{font-size:18px;color:var(--muted)}
.chat-screen .row .pbtn{margin-top:12px;min-height:56px;background:var(--btn);color:#fff}
.chat-screen .card{margin:0 0 0 76px;max-width:820px;width:calc(100% - 76px);border:1px solid #eee6d7;border-radius:22px;background:#fffdf6;box-shadow:none;animation:none}
.chat-screen .card .lab{background:transparent;color:#955219;padding:18px 24px 0;font-size:18px}
.chat-screen .card .bd{padding:8px 24px}
.chat-screen .card-title{min-height:56px;text-align:left;max-width:100%;overflow-wrap:anywhere}
.chat-screen .card h3{font-family:var(--sans);font-size:26px}
.chat-screen .card .brief{font-size:21px;min-width:0}
.chat-screen .brief-toggle{min-height:56px;min-width:56px;color:#006da7}
.chat-screen .card .ft{background:transparent;padding:8px 24px 16px;min-height:56px;color:#617079;gap:12px;flex-wrap:wrap}
.chat-screen .card .ft b{color:#325f6e;font-size:20px}
.chat-screen .hint{border-radius:18px;font-size:21px;line-height:1.6;background:#ffffffab;color:var(--ink-2);padding:16px 20px;animation:none}
.chat-screen .hint button{min-height:56px;padding:8px 16px;color:#006fa7}
.chat-screen .composer-bar{background:#f9fffd;border-color:#dcefeb;border-radius:28px 28px 0 0;flex:none;padding-bottom:env(safe-area-inset-bottom)}
.chat-screen .composer{padding:16px 28px;gap:14px;align-items:center;max-width:1280px}
.chat-screen .composer textarea{min-width:0;min-height:68px;max-height:150px;width:0;flex:1;border:1px solid #c7e0ed;background:#fff;border-radius:26px;font-size:24px;line-height:1.45;padding:15px 20px;color:var(--ink)}
.chat-screen .composer textarea:focus{border-color:#008ed4;outline:2px solid #008ed430}
.chat-screen .composer button{min-height:68px;border-radius:26px;flex:none}
.chat-screen .input-mode{min-width:100px;background:#edf8ff;border:1px solid #cce8f6;padding:8px 16px;color:#244b60}
.chat-screen .hold-speech{flex:1!important;min-width:0;background:#008bd4;color:white;font-size:27px;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.chat-screen .hold-speech[aria-pressed=true]{background:#007ec4}
.chat-screen .send-text{background:#008bd4;color:#fff;min-width:100px;padding:12px 22px}
.chat-screen .composer-hint:empty{display:none}
.chat-screen .composer-hint:not(:empty){min-height:0;margin:12px auto 0;padding:14px 24px;background:#e7f5ff;border-radius:18px;color:#155b87;font-size:22px;width:calc(100% - 56px)}
.chat-screen .voice-review{padding:0 28px 10px;justify-content:flex-end}
.chat-screen .voice-review button,.chat-screen .voice-help button,.chat-screen .composer-error button{min-height:56px;border-radius:16px;padding:8px 14px;color:#066e9d}
.chat-screen .composer-error{background:#fff1de;color:#864a11}
.chat-screen .new-reply{position:absolute;bottom:130px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);z-index:6}
.chat-screen .new-reply button{background:white;border:1px solid #cce3ed;border-radius:24px;min-height:56px;font-size:20px;box-shadow:0 4px 16px #226e6820}
.chat-screen .unlock{background:var(--bg)}
.chat-screen .unlock .logo{width:112px;height:112px;background:transparent;border:0}
.chat-screen .unlock .logo img{width:100%;height:100%;object-fit:contain}
.chat-screen .unlock h2{font-family:var(--sans)}
.chat-screen .unlock .pbtn{background:#008bd4;color:white;border-radius:24px;min-height:68px}
.chat-screen button:focus-visible{outline:3px solid #0079bb;outline-offset:3px}
/* 每日提醒整张为一个按钮，宽度受限，不抢占整行聊天。 */
.chat-screen .notice-row>div.digest-content{width:560px}
.chat-screen .row.notice-row .digest-card{display:grid;grid-template-columns:64px minmax(0,1fr) 24px;align-items:center;gap:16px;width:100%;max-width:100%;padding:22px;text-align:left;white-space:normal;cursor:pointer;background:#fffdf7;border:1px solid #e5e3dc!important;border-radius:20px!important;box-shadow:none;line-height:1.4}
.chat-screen .digest-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#e7f4ff;color:#0077b3}
.chat-screen .digest-icon svg{width:36px;height:36px}
.chat-screen .digest-copy{display:flex;flex-direction:column;gap:8px;min-width:0}
.chat-screen .digest-copy strong{font-size:var(--chat-font);font-weight:700;color:var(--ink)}
.chat-screen .digest-copy>span{font-size:calc(var(--chat-font) - 3px);color:#58636d}
.chat-screen .digest-arrow{display:flex;color:#0077b3}.chat-screen .digest-arrow svg{width:24px;height:24px}
.chat-screen .row.notice-row .digest-card:hover{background:#fffaf0}.chat-screen .row.notice-row .digest-card:active{background:#f8f3e8}
.note-mask .note-dlg{width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border-radius:24px;background:#fff;padding:28px;color:#142228}
.note-mask .note-tags{gap:10px}.note-mask .note-tags .sbtn{min-height:56px;border:1px solid #c9e2e9;background:#f4fbff;border-radius:18px;font-size:20px;padding:8px 16px}
.note-mask .note-tags .selected{background:#0077b3;color:white;border-color:#009ff0}
.note-mask .note-field input{min-height:56px;border-color:#c9e2e9;background:#fff}
.note-mask .acts{display:flex;flex-wrap:wrap;gap:12px}.note-mask .acts button{min-height:56px;border-radius:18px}.note-mask .acts .pbtn{background:#008bd4;color:white}
@media(max-width:768px){
 .chat-screen .wrap.chat{padding:20px 16px 28px;gap:20px}.chat-screen .row{gap:10px}.chat-screen .ava{width:44px;height:44px;font-size:20px}
 .chat-screen .row>div:not(.ava),.chat-screen .row.me>div.elder-content{max-width:calc(100% - 54px)}
 .chat-screen{--chat-font:24px}.chat-screen .bubble{padding:14px 18px}.chat-screen .card{margin-left:54px;width:calc(100% - 54px)}
 .chat-screen .card .lab,.chat-screen .card .bd,.chat-screen .card .ft{padding-left:18px;padding-right:18px}.chat-screen .card h3{font-size:24px}
 .chat-screen .composer{padding:12px 16px;gap:8px}.chat-screen .composer textarea{font-size:22px;padding:14px;min-height:64px;border-radius:22px}
 .chat-screen .composer button{min-height:64px;border-radius:22px}.chat-screen .input-mode{min-width:64px;padding:6px 10px;font-size:17px}
 .chat-screen .send-text{min-width:68px;padding:10px 12px;font-size:22px}.chat-screen .hold-speech{font-size:25px}
 .chat-screen .composer-hint:not(:empty){width:calc(100% - 32px);font-size:20px;padding:10px 16px}.chat-screen .voice-review{padding:0 16px 8px}
}
@media(max-width:420px){
 .chat-screen .wrap.chat{padding:18px 12px 24px}.chat-screen .ava{width:36px;height:36px}.chat-screen .row{gap:8px}
 .chat-screen .row>div:not(.ava),.chat-screen .row.me>div.elder-content{max-width:calc(100% - 44px)}
 .chat-screen{--chat-font:21px}.chat-screen .bubble{padding:13px 15px}.chat-screen .card{margin-left:0;width:100%}
 .chat-screen .composer{padding:10px 10px;gap:6px}.chat-screen .input-mode{min-width:56px;padding:6px}.chat-screen .send-text{min-width:60px;padding:8px;font-size:20px}
 .chat-screen .composer textarea{padding:12px 10px;font-size:20px}.chat-screen .composer-hint:not(:empty){font-size:18px}
 .note-mask .note-dlg{padding:20px}.note-mask .note-tags .sbtn{padding:8px 12px;font-size:18px}.note-mask .acts{gap:8px}
}
@media(max-height:500px) and (orientation:landscape){
 .chat-screen .wrap.chat{padding-top:14px;padding-bottom:18px}.chat-screen .composer{padding-top:8px;padding-bottom:8px}
 .chat-screen .composer button,.chat-screen .composer textarea{min-height:56px}.chat-screen .composer-hint:not(:empty){margin-top:6px;padding:6px 16px}
}

.larger-text .chat-screen{--chat-font:28px}
.chat-screen .chat-time{align-self:center;text-align:center;color:#566b65;font-size:18px;line-height:1.5;margin:8px 0;max-width:100%;font-variant-numeric:tabular-nums}
.chat-screen .composer .input-mode{display:flex;align-items:center;justify-content:center;padding:6px;min-width:60px;width:64px;min-height:64px;border:0;border-radius:50%;background:transparent;color:#26342f}
.chat-screen .input-mode svg{width:42px;height:42px}
.chat-screen .composer .hold-speech{border:1px solid #c7d9d0;border-radius:12px;background:#fff;color:#182b24;font-weight:600}
.chat-screen .composer .hold-speech[aria-pressed=true]{background:#dceae3}
@media(max-width:420px){.chat-screen .composer .input-mode{min-width:56px;width:56px}.chat-screen .chat-time{font-size:17px}}
@media(max-width:768px){.chat-screen .row.notice-row .digest-card{grid-template-columns:48px minmax(0,1fr) 20px;gap:12px;padding:18px}.chat-screen .digest-icon{width:48px;height:48px}.chat-screen .digest-icon svg{width:30px;height:30px}.chat-screen .digest-arrow svg{width:20px;height:20px}}
@media(max-width:420px){.chat-screen .row.notice-row .digest-card{grid-template-columns:36px minmax(0,1fr) 16px;gap:8px;padding:14px 12px;border-radius:16px!important}.chat-screen .digest-icon{width:36px;height:36px}.chat-screen .digest-icon svg{width:24px;height:24px}.chat-screen .digest-arrow svg{width:16px;height:20px}.chat-screen .digest-copy{gap:6px}.chat-screen .digest-copy>span{font-size:19px}}
