.chat-page{height:100dvh;overflow:hidden;display:flex;flex-direction:column}.chat-top{display:flex;align-items:center;justify-content:space-between;gap:20px;width:min(100%,900px);margin:auto;padding:15px 24px;flex-shrink:0}.chat-tools{display:flex;gap:10px;align-items:center}.chat-shell{padding:0;margin:0 auto 16px;width:min(calc(100% - 32px),850px);border:1px solid var(--line);border-radius:22px;background:#fff;display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden;box-shadow:0 12px 50px #123d3608}.chat-head{display:flex;align-items:center;gap:12px;padding:18px 24px;border-bottom:1px solid var(--line);flex-shrink:0}.chat-head h1{font-size:21px;letter-spacing:0;margin:0;line-height:1.5}.chat-head p{font-size:13px;color:var(--muted)}.partner-avatar{width:43px;height:43px;display:grid;place-items:center;border-radius:50%;background:#e8f0e0;color:#466c43;font-size:23px}.live-badge{margin-inline-start:auto;border:1px solid #c4d6c4;color:#627d62;padding:3px 8px;border-radius:7px;font-size:10px;letter-spacing:1.8px}.chat-head p.online{color:#247651}.chat-info{display:flex;justify-content:space-between;gap:12px;background:#f6f8f4;padding:8px 24px;font-size:11px;color:#70806f}.chat-info a{text-decoration:none}.messages{overflow:auto;overscroll-behavior:contain;flex:1;min-height:0;padding:22px 26px;scroll-behavior:smooth}.chat-empty{text-align:center;margin:70px auto 0;max-width:340px;color:#71816e}.chat-empty>span{display:block;font-size:38px;color:#315b46;font-family:Georgia,serif;margin-bottom:16px}.chat-empty h2{font-size:25px;line-height:1.6;font-weight:500;color:var(--ink)}.chat-empty p{font-size:14px}.bubble{width:fit-content;max-width:82%;margin:0 0 18px;margin-inline-end:auto;background:#edf3e9;padding:14px 17px;border-radius:18px 18px 4px 18px;color:#254932}.bubble.mine{margin-inline-start:auto;margin-inline-end:0;background:#214f43;color:white;border-radius:18px 18px 18px 4px}.bubble p{font-size:18px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.bubble .message-meta{font-size:11px;opacity:.7;display:flex;gap:9px;flex-wrap:wrap;margin-top:8px}.bubble details{margin-top:9px;border-top:1px solid #6e956340;padding-top:5px}.bubble.mine details{border-top-color:#ffffff30}.bubble summary{font-size:12px;opacity:.85}.bubble details p{font-size:14px;margin-top:7px}.bubble details h4{font-size:11px;font-weight:400;opacity:.7;margin:10px 0 2px}.bubble.mine summary:before{color:#d7e9d0}.typing{font-size:12px;color:#71816e;height:22px;padding:0 26px;flex-shrink:0}.chat-composer{padding:12px 22px 16px;border-top:1px solid var(--line);background:#fcfdfb;flex-shrink:0}.composer-options{display:flex;align-items:center;gap:12px;font-size:12px;margin-bottom:8px}.composer-options>span{color:#60785f}.composer-options select{font:inherit;color:var(--ink);background:#f1f6ec;border:1px solid #d9e5d1;border-radius:16px;padding:6px 10px;max-width:125px}.composer-options .text-button{margin-inline-start:auto;padding:3px;font-size:12px;min-height:32px}.chat-composer summary{font-size:12px;padding-block:1px;margin-bottom:6px}.chat-composer summary:before{top:-1px}.chat-composer #context{max-height:85px;min-height:65px;margin:5px 0 8px;font-size:16px}.compose-row{display:flex;gap:10px;align-items:end}.chat-composer #message{border:1px solid #cbdacf;border-radius:12px;resize:none;height:75px;min-height:75px;max-height:150px;font-size:17px;padding:11px 13px;flex:1;min-width:0;line-height:1.6}.compose-row .primary{width:auto;font-size:14px;min-height:49px;padding:12px 16px;white-space:nowrap}.composer-hint{font-size:11px;color:#7a897b;margin-top:7px}.send-note{font-size:13px;border-radius:10px;padding:9px 12px;background:#fff3d9;color:#796037;margin:6px 0 10px;max-height:100px;overflow:auto}.role-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}#choose-role small{font-size:19px}.slang-item{display:block;width:100%;text-align:start;border:1px solid #d7e1d2;background:#f5f8f0;border-radius:12px;padding:14px;margin:12px 0;color:var(--ink)}.slang-item strong,.slang-item span,.slang-item small{display:block}.slang-item strong{font-size:17px}.slang-item span{font-size:16px;margin:7px 0}.slang-item small{font-size:12px;color:#73806b}.pending-bubble{opacity:.65}.chat-page dialog p{line-height:1.8}@media(max-width:720px){.chat-top{padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top))}.chat-top .brand>span{font-size:21px}.chat-top .secondary{padding:6px 10px;font-size:12px;min-height:36px}.chat-shell{width:100%;margin:0;border-radius:0;border-inline:0;border-bottom:0}.chat-head{padding:10px 18px}.chat-head h1{font-size:18px}.chat-info{padding:7px 18px;font-size:10px}.messages{padding:18px 14px}.bubble{max-width:89%;padding:12px 14px}.bubble p{font-size:17px}.chat-empty{margin-top:45px;max-width:280px}.chat-empty h2{font-size:23px}.chat-composer{padding:8px 14px max(10px,env(safe-area-inset-bottom))}.composer-options{gap:8px;margin:0 0 5px}.compose-row{gap:8px}.compose-row .primary{font-size:12px;padding:11px;white-space:normal;width:88px;line-height:1.5}.chat-composer #message{height:68px;min-height:68px}.composer-hint{font-size:10px}.typing{padding-inline:18px}}@media(prefers-reduced-motion:reduce){.messages{scroll-behavior:auto}}
.reply-open{display:block;border:1px solid #b8cdb7;border-radius:18px;padding:8px 12px;background:#fff9;color:#315b46;font:inherit;font-size:13px;margin-top:12px;min-height:40px}.reply-open:hover{background:#fff}.reply-option{border:1px solid var(--line);border-radius:14px;padding:15px;margin:12px 0;background:#f4f8ef}.reply-option h3{font-size:13px;color:#648060;margin:0 0 7px}.reply-option p{font-size:17px;margin-bottom:12px}.reply-option .secondary{font-size:13px;min-height:40px}#reply-message{margin:14px 0;padding:10px 14px;border-inline-start:3px solid #9bb99a;background:#f3f6ef;font-size:14px;max-height:130px;overflow:auto;white-space:pre-wrap}#reply-options{margin-top:16px}#reply-dialog{max-width:510px}
.chat-shortcuts{flex-shrink:0;padding:7px 24px;border-bottom:1px solid var(--line);font-size:12px;background:#fff}.chat-shortcuts a{display:inline-block;text-decoration:none;color:#476e4c;background:#f1f6e8;border:1px solid #d9e5cc;border-radius:14px;padding:4px 12px}@media(max-width:720px){.chat-shortcuts{padding:6px 18px}}
.home-tools{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 20px;border-bottom:1px solid var(--line);flex-shrink:0;background:#fff}.home-tool{display:flex;align-items:center;gap:10px;border:1px solid #cedbc5;border-radius:14px;background:#f5f8f0;padding:12px;text-decoration:none;min-width:0}.home-tool.featured{background:#dff0c9;border-color:#adc38f}.home-tool strong{display:block;font-size:15px;line-height:1.5}.home-tool small{display:block;font-size:11px;color:#5b755d;line-height:1.5;margin-top:3px}.home-tool>span:last-child{margin-inline-start:auto}.tool-symbol{font-size:19px;white-space:nowrap}.home-tool:hover{border-color:#7da169}@media(max-width:720px){.home-tools{gap:8px;padding:10px 14px}.home-tool{padding:10px;gap:5px;align-items:start}.home-tool strong{font-size:13px}.home-tool small{font-size:10px}.tool-symbol{display:none}}

#slang-search{width:100%;margin:8px 0 16px;padding:12px;border:1px solid #bfd1c6;border-radius:12px;font:inherit} #slang-library .slang-item{margin-bottom:10px;padding:14px;border:1px solid #d4ded6;border-radius:14px;display:grid;gap:8px} .bubble details p{white-space:pre-wrap}

.meaning-note{margin-top:12px;padding:12px 14px;border-inline-start:3px solid #658b76;border-radius:10px;background:#f2f6ee;font-size:.88rem;line-height:1.65}.meaning-note strong{font-size:.8rem;color:#426853}.meaning-note p{margin:5px 0 0;white-space:pre-wrap}

.push-settings{border-block:1px solid var(--line);padding:12px 0;margin:18px 0}.push-actions{display:flex;flex-wrap:wrap;gap:8px}.push-actions .primary{width:auto}.push-actions button{font-size:13px}@media(max-width:460px){.chat-tools{gap:5px}.chat-top{gap:8px}.chat-top .brand small{font-size:10px}.chat-top .secondary{padding:5px 7px}}
