/* Native-inspired surfaces. Legible type is retained from the readability pass. */
.phone{background:#f7f7f7;color:#191919}.phone.context-chat,.phone.context-wechat{background:#ededed}.phone.context-red{background:#fff}.phone.context-mail{background:#fff}.screen{background:inherit}.scroll{scrollbar-width:thin;scrollbar-color:#c8c8c8 transparent}svg{flex-shrink:0;vertical-align:middle}.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:38px;padding:5px;background:transparent;color:inherit;flex-shrink:0}.native-head,.mail-top{display:flex;align-items:center;justify-content:space-between;gap:8px;height:52px;min-height:52px;padding:0 10px;background:#f7f7f7;border-bottom:1px solid #dedede}.headtitle{text-align:center;min-width:0}.headtitle strong{font-size:17px;font-weight:600}.headtitle small{display:block;font-size:11px;color:#666;margin-top:3px}.native-head>strong,.mail-top>strong{font-size:18px}.native-section{padding:13px 17px 8px;color:#777;font-size:12px;background:#ededed}.native-body{background:#fff}.native-search{display:block;width:calc(100% - 28px);margin:12px 14px;padding:10px 13px;border:0;border-radius:7px;background:#f1f2f4;color:#333;font-size:14px}.native-doc{display:flex;gap:12px;width:100%;padding:18px;text-align:left;background:white;color:#222;border-bottom:1px solid #eee;align-items:center}.native-doc>div{flex:1;min-width:0}.native-doc h3{font-size:16px;line-height:1.55;margin:5px 0 8px;font-weight:600}.native-doc p{font-size:12px;color:#666;margin:0;line-height:1.8}.native-doc>small{font-size:11px;color:#777;flex-shrink:0}.doc-tag{color:#63728d;font-size:11px}.file-blue{color:#4388ee}.native-bottom{display:flex;justify-content:space-around;padding:17px 8px;color:#757b87;background:#fafbfc;border-top:1px solid #eceef0;font-size:12px}.native-bottom b{color:#367bdd}.document-detail{padding:23px 20px 32px}.document-detail h2{font-size:23px;line-height:1.65;color:#1f2329;margin:10px 0 13px}.doc-meta{color:#747b85;font-size:12px;line-height:1.9;margin-bottom:23px}.document-detail p{font-size:16px;line-height:1.95;color:#25292f;white-space:pre-wrap;margin:0 0 19px}.theme-feishu .document-detail p{padding:0;background:none;border-radius:0}.context-feishu .native-head{background:#fff}.theme-feishu{background:#fff}.theme-forum .document-detail p{padding:0 0 18px;border-bottom:1px solid #eee;font-size:15px}.theme-forum .doc-tag{color:#a67546}.forum-post{align-items:flex-start}.forum-post h3{font-size:17px}.browser-address{margin:10px 15px 0;padding:10px;display:flex;gap:8px;align-items:center;justify-content:center;background:#e9ebef;border-radius:9px;color:#555;font-size:12px}.related-doc{display:flex;align-items:center;gap:10px;width:100%;padding:14px;margin:12px 0;border:1px solid #e0e6f0;background:#f7f9fc;color:#3376ca;text-align:left;border-radius:7px;font-size:14px}.related-doc svg:last-child{margin-left:auto}.wide-button{display:block;width:calc(100% - 32px);margin:15px 16px;padding:14px;background:#eceee8;border-radius:8px;color:#3b5033}.personal-note{margin:18px;padding:20px;background:#fff8dd;font-size:16px;line-height:2;color:#6c592c;border-radius:8px}
/* WeChat: full-width lists, pale gray conversations, squared green bubbles. */
.wx-list-head,.wx-chat-head{background:#ededed;border-bottom-color:#ddd}.wx-list-head>strong{flex:1;text-align:center}.wx-list{background:white}.wx-search{display:flex;align-items:center;justify-content:center;gap:5px;margin:8px 12px;padding:8px;background:#f1f1f1;border-radius:6px;color:#969696;font-size:14px}.wx-row{display:flex;align-items:center;gap:13px;width:100%;padding:13px 16px;background:white;color:#1b1b1b;text-align:left;border-bottom:1px solid #eee;min-height:78px}.wx-row>div{flex:1;min-width:0}.wx-row strong{font-size:16px;font-weight:500}.wx-row p{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:13px;color:#888;line-height:1.6;margin:5px 0 0}.wx-row time{align-self:flex-start;margin-top:4px;font-size:11px;color:#999}.portrait{height:43px;width:43px;border-radius:5px;flex-shrink:0;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center}.portrait>span{font-family:'Microsoft YaHei',sans-serif;font-size:17px;color:#ffffffdb;z-index:1}.portrait-xu{background:linear-gradient(150deg,#cbbdaf 0 35%,#6c8d80 36% 60%,#385949 61%)}.portrait-xu:before{content:'';position:absolute;bottom:7px;right:7px;border:2px solid #e2c5a0;width:17px;height:24px;border-radius:50% 50% 0 0;transform:rotate(20deg)}.portrait-zhou{background:linear-gradient(160deg,#8fa0ba,#34465d)}.portrait-lin{background:linear-gradient(140deg,#eedbc7,#ba9d89 50%,#7e716e)}.portrait-chen{background:linear-gradient(#9bc6d3 0 58%,#3a6778 59%)}.portrait-chen:after{content:'';position:absolute;width:30px;height:12px;background:#d3e2df;bottom:7px;left:5px;border-radius:50% 50% 50% 8%;transform:rotate(-12deg)}.portrait-chen span{display:none}.portrait.small{height:30px;width:30px}.wx-nav{display:flex;flex-shrink:0;justify-content:space-around;border-top:1px solid #d8d8d8;background:#f7f7f7;padding:7px 0 3px}.wx-nav button{background:transparent;color:#272727;font-size:10px;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:60px}.wx-nav button.active{color:#07b75b}.wx-nav button.active svg{fill:#07b75b20}.wx-profile{display:flex;gap:18px;padding:35px 20px;background:#fff;margin-bottom:10px;align-items:center}.wx-profile h2{font-size:21px;margin:0 0 8px}.wx-profile p{font-size:12px;color:#777;margin:0}.wx-profile .portrait{height:60px;width:60px}.record-icon{width:43px;height:43px;background:#f5bd56;color:white;border-radius:5px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.record-icon.red{background:#e76c69}.record-row strong{font-size:14px}
.chatlog{padding:12px 12px 25px;background:#ededed;overflow-x:hidden}.chat-time{font-size:12px;color:#999;text-align:center;margin:6px 0 22px}.bubble-row{display:flex;gap:10px;align-items:flex-start;margin:17px 0}.bubble-row.me{justify-content:flex-end}.bubble{position:relative;background:#fff;color:#111;max-width:calc(100% - 70px);padding:10px 12px;border-radius:4px;font-size:16px;font-weight:500;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.bubble:before{content:'';position:absolute;left:-5px;top:14px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:6px solid white}.bubble-row.me .bubble{background:#95ec69;border-radius:4px}.bubble-row.me .bubble:before{left:auto;right:-5px;border-right:0;border-left:6px solid #95ec69}.chatlog .portrait{height:39px;width:39px}.wx-composer{display:flex;align-items:center;gap:6px;padding:9px 9px 10px;flex-shrink:0;background:#f7f7f7;border-top:1px solid #ddd}.wx-composer .iconbtn{width:26px;height:33px;padding:0}.wx-composer input{min-width:0;width:100%;border:0;border-radius:5px;background:white;height:39px;padding:8px;color:#1b1b1b;font-size:16px;outline-color:#88c273}.wx-send{background:#07b75b;color:white;font-size:13px;border-radius:4px;padding:9px 10px;flex-shrink:0}.chat-assist{display:flex;justify-content:space-between;background:#ededed;padding:5px 13px;border-top:1px solid #e4e4e4}.chat-assist button{font-size:12px;background:transparent;color:#64755b;padding:5px 0}.reply-options{background:#f7f7f7;padding:8px 12px;flex-shrink:0}.reply-options button{width:100%;text-align:left;padding:10px 12px;border:1px solid #d4dccf;background:#fff;color:#374c2c;font-size:14px;line-height:1.7;border-radius:7px}.reply-options p{font-size:12px;color:#666;margin:0}.typing-row{display:flex;gap:10px;align-items:center;margin:16px 0}.typing-bubble{display:flex;gap:5px;background:#fff;border-radius:4px;padding:17px 15px}.typing-bubble i{width:5px;height:5px;background:#a3a3a3;border-radius:50%;animation:typing 1.2s infinite}.typing-bubble i:nth-child(2){animation-delay:.18s}.typing-bubble i:nth-child(3){animation-delay:.36s}@keyframes typing{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.shared-card{margin:12px -5px -3px;background:#fff;color:#333;border-radius:4px;padding:11px;white-space:normal}.shared-card>div{display:flex;gap:8px;align-items:center}.shared-card strong{font-size:14px;line-height:1.5;font-weight:600}.shared-card p{font-size:12px;color:#666;line-height:1.8;margin:10px 0}.shared-card footer{font-size:10px;color:#999;border-top:1px solid #eee;padding-top:7px}
/* Mail is an actual inbox with sender, recipient, and confidentiality scope. */
.mail-top{background:white;border:0}.mail-account{padding:8px 20px 17px;font-size:18px;font-weight:600}.mail-account span{display:block;font-size:12px;color:#7b8490;font-weight:400;margin-top:5px}.mail-tabs{display:flex;gap:26px;padding:0 20px;border-bottom:1px solid #eee}.mail-tabs button{position:relative;padding:11px 0;font-size:15px;color:#777;background:none}.mail-tabs .active{color:#2879e4;font-weight:600}.mail-tabs .active:after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:#2879e4}.mail-body{background:white}.mail-row{display:flex;align-items:flex-start;gap:9px;width:100%;text-align:left;background:white;padding:18px 17px;border-bottom:1px solid #eee;color:#222}.mail-row>div{flex:1;min-width:0}.mail-unread{height:7px;width:7px;border-radius:50%;background:#3b87ed;margin-top:6px;flex-shrink:0}.mail-unread.read{background:transparent}.mail-sender{display:flex;align-items:center;justify-content:space-between;gap:10px}.mail-sender b{font-size:15px}.mail-sender time{font-size:11px;color:#9199a4}.mail-row h3{font-size:15px;margin:8px 0 6px;font-weight:500}.mail-row p{font-size:12px;color:#8b919a;margin:0;line-height:1.7;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mail-row>svg{margin-top:27px;color:#d2a958}.mail-footer{padding:12px;text-align:center;font-size:11px;color:#818a95;border-top:1px solid #eee}.mail-detail{padding:22px 20px}.mail-detail h2{font-size:23px;margin:0 0 20px;line-height:1.6}.mail-envelope{display:flex;gap:12px;padding-bottom:20px;border-bottom:1px solid #eee;margin-bottom:24px}.mail-envelope b{font-size:14px}.mail-envelope small{display:block;font-size:12px;color:#7b8290;margin:6px 0;word-break:break-word}.mail-avatar{display:flex;align-items:center;justify-content:center;height:39px;width:39px;background:#eaf2ff;color:#4588de;border-radius:50%;flex-shrink:0}.mail-detail p{font-size:16px;line-height:1.95;color:#2c3137;margin:0 0 20px;white-space:pre-wrap}.confidential{font-size:12px;background:#fff5e6;color:#9d722e;border:1px solid #f0e3cb;border-radius:5px;padding:9px 12px;margin-bottom:20px}
/* Xiaohongshu: white chrome, red accents, masonry cards, full-bleed notes. */
.xhs-top{height:51px;min-height:51px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;background:white}.xhs-top>div{display:flex;gap:22px}.xhs-top>div button{position:relative;color:#777;background:none;font-size:16px;padding:13px 0}.xhs-top>div button.selected{color:#222;font-weight:600}.xhs-top>div button.selected:after{content:'';position:absolute;left:3px;right:3px;bottom:4px;height:3px;border-radius:4px;background:#ff2442}.xhs-body{background:white}.xhs-search{display:flex;align-items:center;gap:8px;margin:8px 12px;background:#f5f5f5;border-radius:20px;padding:0 13px;color:#999}.xhs-search input{height:35px;width:100%;min-width:0;border:0;background:transparent;font-size:13px;outline:none;color:#444}.xhs-categories{display:flex;justify-content:space-around;padding:3px 12px 11px}.xhs-categories button{background:transparent;font-size:13px;color:#777;padding:7px}.xhs-categories button:first-child{color:#222;font-weight:600}.xhs-grid{padding:0 7px 12px;columns:2;column-gap:7px;background:#f5f5f5}.xhs-card{display:block;break-inside:avoid;background:white;border-radius:9px;text-align:left;width:100%;padding:0;margin:0 0 7px;overflow:hidden;color:#222}.xhs-card h3{font-size:14px;font-weight:600;line-height:1.6;padding:0 10px;margin:10px 0 8px}.xhs-card-foot{display:flex;align-items:center;gap:5px;padding:0 8px 12px;font-size:10px;color:#666;min-width:0}.xhs-card-foot>span:nth-child(2){flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tiny-avatar{display:flex;justify-content:center;align-items:center;width:22px;height:22px;border-radius:50%;color:white;font-size:10px;flex-shrink:0}.av-0{background:#8a9c86}.av-1{background:#bca698}.av-2{background:#95a7b3}.likes{display:flex;align-items:center;gap:2px;flex-shrink:0;font-size:10px}.xhs-nav{height:55px;min-height:55px;display:flex;align-items:center;justify-content:space-around;background:white;border-top:1px solid #eee}.xhs-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:white;color:#777;font-size:10px;min-width:43px}.xhs-nav button b{font-size:16px;font-weight:500}.xhs-nav .active{color:#222}.xhs-nav .active b{font-weight:700}.xhs-nav .publish{background:#ff2442;color:white;height:30px;width:42px;min-width:42px;border-radius:9px}.xhs-note-head{height:55px;min-height:55px;display:flex;align-items:center;gap:9px;background:white;padding:0 9px}.xhs-note-head>.tiny-avatar{width:30px;height:30px;font-size:13px}.xhs-note-head>span:not(.tiny-avatar){font-size:13px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.follow-button{border:1px solid #ff2442;background:white;color:#ff2442;border-radius:18px;padding:6px 14px;font-size:12px;flex-shrink:0}.xhs-note-head .iconbtn{width:29px}.xhs-hero{position:relative}.xhs-hero .note-cover{height:340px}.page-counter{position:absolute;right:13px;top:12px;padding:4px 9px;color:white;background:#0005;border-radius:13px;font-size:11px}.xhs-note{padding:17px 17px 0}.xhs-note h2{font-size:18px;line-height:1.6;margin:0 0 12px;font-weight:700}.xhs-note p{font-size:15px;line-height:1.9;color:#333;margin:0 0 12px}.hashtags{color:#315b81;font-size:14px;line-height:1.8;margin:15px 0 12px}.xhs-date{font-size:11px;color:#999;padding-bottom:16px;border-bottom:1px solid #eee}.xhs-comments{padding:18px 16px 25px}.xhs-comments h3{color:#777;font-size:13px;font-weight:400;margin:0 0 20px}.comment{display:flex;align-items:flex-start;gap:10px;margin:20px 0}.comment>div{flex:1;min-width:0}.comment .tiny-avatar{width:30px;height:30px}.comment small{font-size:12px;color:#888}.comment small em{font-style:normal;background:#f1f1f1;padding:1px 4px;font-size:10px;border-radius:3px}.comment p{font-size:14px;line-height:1.7;margin:4px 0 6px;color:#333}.comment time{color:#aaa;font-size:10px}.comment>svg{color:#aaa;margin-top:4px}.comment.reply{margin-left:40px}.comment.reply .tiny-avatar{width:24px;height:24px}.xhs-note-bottom{display:flex;align-items:center;gap:17px;background:white;border-top:1px solid #eee;padding:10px 13px;min-height:56px}.xhs-note-bottom button{background:transparent;color:#333;padding:0;display:flex;align-items:center;gap:4px}.xhs-note-bottom button small{font-size:10px}.xhs-note-bottom .comment-input{background:#f5f5f5;border-radius:20px;padding:10px 12px;flex:1;text-align:left;min-width:80px;color:#999;font-size:12px}.xhs-note-bottom .on{color:#ff2442}.xhs-note-bottom .on svg{fill:#ff244220}.red-profile{padding:30px 20px;background:linear-gradient(135deg,#ddd4c9,#f7f3ee)}.red-profile .profile-avatar{display:flex;width:60px;height:60px;border-radius:50%;background:#8b9eaa;align-items:center;justify-content:center;color:white;font-size:24px}.red-profile h2{font-size:23px;margin:12px 0 8px}.red-profile p{font-size:12px;color:#777}.red-profile>div:last-child{display:flex;gap:25px;margin-top:22px}.red-profile b{font-size:17px}.red-profile small{font-size:11px;font-weight:400;display:block;margin-top:4px;color:#777}.xhs-message{padding:22px;font-size:14px;line-height:2;color:#777}
/* Local editorial cover art, rather than remote image dependencies. */
.note-cover{height:216px;position:relative;overflow:hidden;isolation:isolate}.xhs-card:nth-child(2n) .note-cover{height:245px}.cover-letter{background:linear-gradient(130deg,#516774,#9dadaf)}.cover-letter>.cover-letter{position:absolute;background:#eee9dc;inset:24px 24px 19px;transform:rotate(-8deg);box-shadow:10px 14px 20px #20333d44;padding:18px 16px;font-family:serif;font-size:27px;letter-spacing:6px;color:#405259;line-height:1.5}.cover-letter small{display:block;font:8px sans-serif;letter-spacing:1px;margin-top:15px}.cover-portfolio{background:#e7ded3}.portfolio-paper{position:absolute;inset:28px 18px 20px;background:#fcfaf5;box-shadow:4px 10px 14px #76594422;transform:rotate(5deg);padding:20px 13px;font-size:11px;color:#b0a089;line-height:2.4}.portfolio-paper b{display:block;font-size:25px;line-height:1.5;color:#6b5643;margin-top:20px}.portfolio-paper small{font-size:8px;display:block;margin-top:15px}.cover-coffee{background:linear-gradient(120deg,#857b65 0,#c1ac82 50%,#766854 100%)}.coffee-cup{position:absolute;height:100px;width:100px;background:radial-gradient(circle,#9d6940 0 45%,#e5cfa3 46% 50%,#faf7eb 51% 65%,#c6ba9e 66% 70%,transparent 71%);border-radius:50%;top:35px;left:50%;transform:translateX(-50%);box-shadow:6px 12px 16px #493a3d55}.cover-caption{position:absolute;bottom:22px;left:10px;right:10px;text-align:center;font-size:12px;color:white;letter-spacing:2px}.cover-desk{background:linear-gradient(30deg,#c0a483,#ead5b6)}.desk-book{position:absolute;left:20px;right:20px;top:35px;bottom:35px;background:#5c725f;transform:rotate(-8deg);padding:25px 17px;color:#f0e7d4;font-size:25px;box-shadow:10px 13px 18px #67523f55}.desk-book small{font-size:7px;display:block;line-height:2.2;letter-spacing:2px;margin-top:20px}.cover-yard{background:linear-gradient(#b3c2c5 0 18%,#9a9c91 19% 65%,#4b5555 66%)}.cover-yard .cover-art{position:absolute;inset:28% 10% 24%;background:repeating-linear-gradient(90deg,#34444b 0 12%,#a4a69c 12% 16%);border:10px solid #85887e}.building-number{position:absolute;top:24px;right:20px;color:#eeebdf;font-size:36px;font-weight:700}.construction-sign{position:absolute;bottom:15px;left:12px;right:12px;background:#bdaf80;border-top:8px solid #535448;border-bottom:8px solid #535448;color:#393f36;padding:9px;font-size:10px;text-align:center}.xhs-hero .cover-letter>.cover-letter{inset:28px 90px 24px;padding:30px;font-size:42px}.xhs-hero .coffee-cup{height:180px;width:180px;top:65px}.xhs-hero .portfolio-paper{inset:30px 65px 24px;padding:30px}.xhs-hero .portfolio-paper b{font-size:35px}.xhs-hero .desk-book{left:70px;right:70px;padding:50px 30px;font-size:40px}
/* Out-of-character guidance is kept away from NPC dialogue. */
.excerpt-section{margin:25px 0 10px}.excerpt-label{font-size:11px;color:#8a8f85;letter-spacing:1px;margin-bottom:9px}.excerpt{position:relative;width:100%;display:block;text-align:left;border-left:2px solid #b7c8a7;background:#f5f7f1;padding:12px 32px 12px 12px;margin:8px 0;border-radius:0 5px 5px 0}.excerpt>span{display:block;font-size:13px;line-height:1.8;color:#57624d}.excerpt>small{display:block;font-size:11px;color:#78906a;margin-top:8px}.excerpt>svg{position:absolute;right:10px;bottom:12px;color:#78906a}.context-red .excerpt{background:#faf8f5;border-left-color:#d7c6b5}.context-red .excerpt-label{color:#a49b92}.option small{display:block;font-size:12px;margin-top:7px;line-height:1.8;color:#bac9b0}.intro-instructions{font-size:12px;color:#aab99b;line-height:1.9;border-top:1px solid #516145;padding-top:16px;margin-top:20px}.aside-label{padding:18px 0 8px;color:#9caa91;font-size:12px}.emoji-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.emoji-grid button{background:#ffffff15;padding:15px;font-size:28px;border-radius:8px}.notification small{display:flex;align-items:center;gap:5px}.notification small>span{margin-left:auto}.apps{grid-template-columns:repeat(4,1fr);gap:23px 8px;margin-top:auto}.glyph{width:54px;height:54px;border-radius:13px}.glyph.red{font-size:13px}.app-icon{font-size:12px;gap:8px}.appbadge{position:absolute;top:-5px;right:-5px;background:#ee544a;border-radius:50%;font-style:normal;font-size:10px;min-width:18px;line-height:18px;color:white}.home-dots{display:flex;justify-content:center;gap:8px;margin:7px}.home-dots i{width:5px;height:5px;border-radius:50%;background:#eff3e6}.home-dots i:last-child{background:#eff3e655}.notification{margin:25px 0 24px}.home-screen{min-height:570px}.modal{scrollbar-width:thin}.modal p{font-size:15px;line-height:1.9}.primary{font-size:15px}.phone .homebar{background:inherit}.native-body,.xhs-body,.mail-body,.wx-list{min-height:0}
@media(max-width:650px){.wx-composer{padding-left:8px;padding-right:8px;gap:5px}.wx-composer .iconbtn{width:24px}.xhs-hero .note-cover{height:330px}.apps{max-width:360px}.xhs-note-bottom{gap:12px}.phone{min-height:0}.home-screen{padding-top:22px}.time{font-size:62px}}
@media(prefers-reduced-motion:reduce){.typing-bubble i{animation:none;opacity:.6}}
