/* Yappy iMessage v19 — tuned against the supplied iOS Messages screenshots. */
html[data-social-app="imessage"]{--im-blue:#0a84ff;--im-bg:#fff;--im-in:#e9e9eb;--im-text:#000;--im-sub:#8e8e93;--im-panel:#f2f2f7;--im-card:#f2f2f7;--im-line:rgba(60,60,67,.18);--im-pill:rgba(118,118,128,.12)}
html[data-theme="dark"][data-social-app="imessage"]{--im-bg:#000;--im-in:#28282a;--im-text:#fff;--im-sub:#8e8e93;--im-panel:#1c1c1e;--im-card:#1c1c1e;--im-line:rgba(84,84,88,.5);--im-pill:rgba(118,118,128,.24)}
html[data-social-app="imessage"] #tabbar{display:none!important}
html[data-social-app="imessage"] #tab-content{padding-bottom:0!important;background:var(--im-bg)!important}
html[data-social-app="imessage"] body{background:#000}

/* Messages list */
.imessage-list-screen{background:var(--im-bg)!important;color:var(--im-text)!important}
.im-list-nav{height:54px;display:grid;grid-template-columns:80px 1fr 80px;align-items:center;padding:0 14px;background:var(--im-bg);border-bottom:1px solid var(--im-line)}
.im-list-nav>strong{text-align:center;font-size:18px;font-weight:700;letter-spacing:-.02em}
.im-list-edit,.im-list-compose{appearance:none;border:0;background:none;color:var(--im-blue);font:inherit;min-height:44px;display:flex;align-items:center}
.im-list-edit{justify-content:flex-start;font-size:16px}.im-list-compose{justify-content:flex-end;margin-left:auto}.im-list-compose svg{width:25px;height:25px}
.imessage-list-screen .searchbar-wrap,.imessage-list-screen .screen-body{background:var(--im-bg)!important}
.imessage-list-screen .searchbar{margin:8px 14px 6px;border:0;background:var(--im-pill)!important;height:36px;border-radius:11px}
.imessage-list-screen .list-row{min-height:76px;padding:9px 14px;border-bottom:0!important;position:relative}
.imessage-list-screen .list-row:after{content:"";position:absolute;left:76px;right:14px;bottom:0;height:1px;background:var(--im-line)}
.imessage-list-screen .list-row .avatar{width:50px!important;height:50px!important;font-size:17px!important}
.imessage-list-screen .row-name{font-size:16.5px;font-weight:650;color:var(--im-text)!important}
.imessage-list-screen .row-preview,.imessage-list-screen .row-time{font-size:14px;color:var(--im-sub)!important}
.imessage-list-screen .row-preview{line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.imessage-list-screen .row-unread{background:var(--im-blue)!important;color:#fff!important}

/* Conversation chrome */
.imessage-v19{background:var(--im-bg)!important;color:var(--im-text)!important}
.imessage-v19 .chat-navbar{background:linear-gradient(to bottom,var(--im-bg) 0,var(--im-bg) 74%,color-mix(in srgb,var(--im-bg) 88%,transparent) 100%)!important;border:0!important;box-shadow:none!important;overflow:visible;z-index:8}
.imessage-v19 .chat-navbar-inner{height:118px!important;min-height:118px!important;display:grid!important;grid-template-columns:96px 1fr 96px!important;align-items:start!important;padding:8px 14px 6px!important;position:relative;overflow:visible}
.im19-back,.im19-video{height:48px;min-width:48px;border-radius:26px;border:1px solid var(--im-line);background:var(--im-pill);color:var(--im-text);display:flex;align-items:center;justify-content:center;gap:2px;padding:0 13px;backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%)}
.im19-back{justify-self:start}.im19-video{justify-self:end}.im19-back svg,.im19-video svg{width:28px;height:28px}.im19-back span{font-size:16px;font-weight:700;margin-left:-2px}
.im19-person{appearance:none;border:0;background:none;color:inherit;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;padding:0;min-width:0;position:relative;z-index:2}
.im19-person .avatar{width:62px!important;height:62px!important;font-size:20px!important;border:1px solid rgba(127,127,127,.2);box-shadow:0 1px 2px rgba(0,0,0,.06)}
.im19-person>span{height:34px;min-width:72px;max-width:190px;padding:4px 13px 5px;margin-top:-1px;border-radius:18px;background:color-mix(in srgb,var(--im-bg) 76%,rgba(118,118,128,.28));border:1px solid var(--im-line);font-size:18px;font-weight:700;line-height:24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 1px 7px rgba(0,0,0,.08);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.im19-person>span b{font-size:22px;font-weight:500;color:var(--im-sub);vertical-align:-1px}

.imessage-scroll-v19{background:var(--im-bg)!important;background-image:none!important;padding:7px 17px 108px!important;scroll-padding-bottom:105px}
.im-msg-row{margin:2px 0!important;max-width:100%}
.im-bubble{max-width:82%!important;padding:8px 13px 9px!important;border-radius:19px!important;font-size:18px!important;line-height:1.23!important;letter-spacing:-.014em!important;box-shadow:none!important}
.im-bubble.in{background:var(--im-in)!important;color:var(--im-text)!important}.im-bubble.out{background:var(--im-blue)!important;color:#fff!important}
.im-msg-row.cluster-start .im-bubble.in{border-bottom-left-radius:7px!important}.im-msg-row.cluster-mid .im-bubble.in{border-top-left-radius:7px!important;border-bottom-left-radius:7px!important}.im-msg-row.cluster-end .im-bubble.in{border-top-left-radius:7px!important}.im-msg-row.cluster-start .im-bubble.out{border-bottom-right-radius:7px!important}.im-msg-row.cluster-mid .im-bubble.out{border-top-right-radius:7px!important;border-bottom-right-radius:7px!important}.im-msg-row.cluster-end .im-bubble.out{border-top-right-radius:7px!important}
.im-msg-row.cluster-start,.im-msg-row.cluster-mid{margin-bottom:1px!important}
.im-bubble:after{display:none!important}
.im-msg-row.cluster-single .im-bubble.in:after,.im-msg-row.cluster-end .im-bubble.in:after{display:block!important;content:"";position:absolute;left:-7px;bottom:0;width:15px;height:17px;background:var(--im-in);clip-path:path("M15 0C11 9 8 13 0 16C8 17 12 15 15 13Z")}
.im-msg-row.cluster-single .im-bubble.out:after,.im-msg-row.cluster-end .im-bubble.out:after{display:block!important;content:"";position:absolute;right:-7px;bottom:0;width:15px;height:17px;background:var(--im-blue);transform:scaleX(-1);clip-path:path("M15 0C11 9 8 13 0 16C8 17 12 15 15 13Z")}
.im-text{white-space:pre-wrap}.im-sender{font-size:12.5px;font-weight:650;margin:0 0 3px}
.im-receipt{font-size:12.5px!important;color:var(--im-sub)!important;margin:3px 7px 6px!important;line-height:1.15;text-align:right}
.im-date-wrap{display:flex;justify-content:center;margin:15px 0 11px!important}.im-date{border:0;background:none!important;color:var(--im-sub)!important;font-size:13px!important;font-weight:500!important;padding:2px 6px!important}
.im-system{margin:12px auto!important;text-align:center;max-width:84%;color:var(--im-sub)!important;font-size:12.5px!important;line-height:1.32}
.im-media,.im-sticker{max-width:82%!important}.im-media-wrap{border-radius:22px!important;overflow:hidden;background:#1c1c1e;box-shadow:none}.im-media-wrap img{width:100%;display:block;max-height:520px;object-fit:cover}.im-sticker img{max-width:190px!important;max-height:190px!important}.im-caption{font-size:16px!important;line-height:1.25!important;border-radius:18px!important}
.im-voice{min-width:235px!important;display:flex!important;align-items:center!important;gap:9px!important}.im-wave i{width:2px!important;border-radius:2px}.im-duration{font-size:12px!important}
.im-card{min-width:230px}.im-location{overflow:hidden;padding:0!important}.im-location img{display:block;width:100%}.im-location strong{display:block;padding:9px 12px 10px}.im-contact{display:flex!important;align-items:center!important;gap:9px!important}.im-call{min-width:230px!important}

/* Composer matches the supplied Messages screenshots: +, iMessage field, waveform/send. */
.imessage-v19 .composer{background:linear-gradient(to top,var(--im-bg) 72%,color-mix(in srgb,var(--im-bg) 0%,transparent))!important;border:0!important;padding:8px 16px calc(11px + env(safe-area-inset-bottom))!important;gap:10px!important;align-items:flex-end!important}
.imessage-v19 .composer-round{width:44px!important;height:44px!important;border-radius:23px!important;background:var(--im-pill)!important;border:1px solid var(--im-line)!important;color:var(--im-text)!important;box-shadow:none!important;flex:0 0 44px!important}
.imessage-v19 .composer-field-wrap{min-height:44px!important;background:var(--im-pill)!important;border:1px solid var(--im-line)!important;border-radius:23px!important;box-shadow:none!important;padding-left:13px!important;padding-right:4px!important;display:flex!important;align-items:flex-end!important}
.imessage-v19 #cv-input{font-size:17px!important;line-height:22px!important;color:var(--im-text)!important;padding:10px 4px 9px!important;min-height:42px!important}.imessage-v19 #cv-input::placeholder{color:var(--im-sub)!important}
.imessage-v19 .voice-main{margin-left:-54px!important;z-index:4;width:40px!important;height:40px!important;min-width:40px!important;background:transparent!important;border:0!important;color:var(--im-sub)!important;flex-basis:40px!important}.imessage-v19 .voice-main svg{width:28px;height:24px}.imessage-v19 .voice-main.send-main{background:var(--im-blue)!important;color:#fff!important;width:34px!important;height:34px!important;min-width:34px!important;margin:5px 3px 5px -47px!important}
.im19-hidden-control{display:none!important}

/* Vertical Messages + sheet */
.im19-attach{display:flex;flex-direction:column;padding:2px 0 8px}.im19-attach>button{appearance:none;border:0;background:transparent;color:inherit;display:flex;align-items:center;gap:18px;min-height:66px;padding:7px 15px;text-align:left;font-size:19px;border-bottom:1px solid var(--im-line)}.im19-attach>button:last-child{border-bottom:0}.im19-appicon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;flex:0 0 46px;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}.im19-appicon svg{width:27px;height:27px}.im19-appicon.camera{background:#4b4b50}.im19-appicon.photos{background:linear-gradient(135deg,#ff4f8b,#ffd34d 35%,#34c759 60%,#0a84ff)}.im19-appicon.stickers{background:linear-gradient(145deg,#bf8cff,#61d9ff)}.im19-appicon.audio{background:#ff654d}.im19-appicon.doc{background:#0a84ff}.im19-appicon.location{background:#20c997}.im19-appicon.contact{background:#8e8e93}.im19-appicon.call{background:#34c759}.im19-appicon.date{background:#ff3b30;font-size:17px;font-weight:750}.im19-appicon.typing{background:#636366;font-size:19px;font-weight:800;letter-spacing:1px}
html[data-social-app="imessage"] #sheet-el{background:color-mix(in srgb,var(--im-panel) 94%,transparent)!important;border:1px solid var(--im-line);backdrop-filter:blur(34px) saturate(180%);-webkit-backdrop-filter:blur(34px) saturate(180%)}

/* Contact / group info */
.imessage-info-v19{background:var(--im-bg)!important;color:var(--im-text)!important;overflow:auto!important}
.im19-info-nav{height:56px;display:grid;grid-template-columns:80px 1fr 80px;align-items:center;padding:0 14px;position:sticky;top:0;z-index:4;background:color-mix(in srgb,var(--im-bg) 88%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.im19-info-nav button{border:0;background:var(--im-pill);color:var(--im-text);height:44px;min-width:44px;border-radius:23px;display:flex;align-items:center;justify-content:center;font:inherit}.im19-info-nav #im19-ci-back{justify-self:start;width:48px}.im19-info-nav #im19-ci-edit{justify-self:end;padding:0 17px;font-size:16px}
.im19-info-body{padding:6px 16px calc(28px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center}
.im19-info-avatar{appearance:none;border:0;background:none;padding:0;margin:3px 0 7px}.im19-info-avatar .avatar{width:96px!important;height:96px!important;font-size:34px!important}.im19-info-body>h1{font-size:34px;line-height:1.05;letter-spacing:-.035em;margin:4px 0 22px;text-align:center}
.im19-info-actions{display:flex;justify-content:center;gap:35px;margin-bottom:28px}.im19-info-actions button{appearance:none;border:0;background:none;color:var(--im-text);display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11px;min-width:58px}.im19-info-actions button>svg{width:28px;height:28px;padding:14px;box-sizing:content-box;border-radius:50%;background:var(--im-panel);color:var(--im-text)}
.im19-tabs{width:100%;display:flex;gap:15px;overflow-x:auto;padding:0 0 12px;scrollbar-width:none}.im19-tabs::-webkit-scrollbar{display:none}.im19-tabs button{appearance:none;border:0;background:none;color:var(--im-sub);font-size:16px;white-space:nowrap;padding:8px 2px}.im19-tabs button.active{color:var(--im-text);font-weight:700;padding:8px 15px;border-radius:22px;background:var(--im-panel)}
#im19-info-panel{width:100%}.im19-card{width:100%;background:var(--im-card);border-radius:22px;overflow:hidden;margin:12px 0}.im19-info-row,.im19-member,.im19-link,.im19-doc{width:100%;min-height:68px;padding:12px 17px;border:0;border-bottom:1px solid var(--im-line);background:none;color:var(--im-text);display:flex;align-items:center;gap:11px;text-align:left}.im19-card>:last-child{border-bottom:0}.im19-info-row{justify-content:space-between}.im19-info-row>span:first-child{display:flex;flex-direction:column;gap:3px}.im19-info-row small,.im19-doc small{font-size:13px;color:var(--im-sub);font-weight:500}.im19-info-row b,.im19-doc b{font-size:17px;font-weight:500}.im19-member .avatar{width:40px!important;height:40px!important}.im19-member span{font-size:16px}.im19-danger{width:100%;min-height:58px;padding:12px 17px;border:0;border-bottom:1px solid var(--im-line);background:none;color:#ff453a;font-size:17px;text-align:left}.im19-danger:last-child{border-bottom:0}.im19-media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin:12px 0;border-radius:18px;overflow:hidden}.im19-media-grid>div{aspect-ratio:1;background:var(--im-panel)}.im19-media-grid img{width:100%;height:100%;object-fit:cover}.im19-empty{color:var(--im-sub);text-align:center;padding:38px 14px}.im19-link{display:block;white-space:pre-wrap;font-size:14px;line-height:1.35}.im19-doc{flex-direction:column;align-items:flex-start;gap:3px}

/* Platform switch labels */
.app-switch-dot{flex:0 0 auto}.app-coming{opacity:.58}.quick-unread{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}

@media(max-width:700px){
  .imessage-v19 .chat-navbar-inner{grid-template-columns:86px 1fr 86px!important;padding-left:11px!important;padding-right:11px!important}.im19-person>span{max-width:150px}.imessage-scroll-v19{padding-left:14px!important;padding-right:14px!important}.im-bubble,.im-media,.im-sticker{max-width:86%!important}.im19-info-body{padding-left:15px;padding-right:15px}.im19-info-actions{gap:25px}.imessage-v19 .composer{padding-left:12px!important;padding-right:12px!important}
}
