/* Phone screen templates. Every screen is drawn at iPhone 15 points (393 x 852), exported at 3x. */
.scr{--fg:#000;--bg:#fff;--sub:#8E8E93;width:393px;height:852px;position:relative;overflow:hidden;display:flex;flex-direction:column;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Inter",system-ui,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;text-align:left;line-height:1.25;letter-spacing:-.012em;font-size:16px;font-weight:400;cursor:default}
.scr *{box-sizing:border-box;margin:0;padding:0}
.scr.long{height:auto;min-height:852px}
.scr svg{display:block;flex:none}
.scr img{display:block}
.scr [data-k]{outline:none;white-space:pre-wrap;overflow-wrap:anywhere}
.live .scr [data-k]{cursor:text;border-radius:3px;transition:box-shadow .15s}
.live .scr [data-k]:hover{box-shadow:0 0 0 2px rgba(255,77,166,.75)}
.live .scr [data-k]:focus{box-shadow:0 0 0 2px #ff4da6}
.scr .top{flex:none;position:relative;z-index:3}
.scr .body{flex:1;position:relative;overflow:hidden;min-height:0}
.scr .feed{position:absolute;left:0;right:0;top:0}
.scr.long .body{overflow:visible;flex:1 0 auto}
.scr.long .igc-sheet{flex:1 0 auto}
.scr.long .feed{padding-bottom:16px}
.scr.long .feed{position:relative;top:0!important}
.scr .row{display:flex;align-items:flex-end;position:relative}
.scr .row.me{justify-content:flex-end}
.scr .ph{opacity:.5}

/* status bar */
.sb{height:54px;display:flex;justify-content:space-between;align-items:center;flex:none;color:var(--sbfg,var(--fg));position:relative;z-index:4}
.sb-t{width:132px;text-align:center;font-weight:600;font-size:17px;letter-spacing:-.02em;padding:3px 0 0 8px;font-family:-apple-system,"SF Pro Text","Inter",system-ui,sans-serif}
.sb-r{width:132px;display:flex;justify-content:center;align-items:center;gap:6px;padding:3px 6px 0 0}
.bat{position:relative;width:27px;height:13px}
.bat-pct{position:absolute;left:0;width:24.5px;top:0;height:13px;display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:700;letter-spacing:-.02em;color:var(--batpctfg,#fff)}

/* avatars */
.av{border-radius:50%;flex:none;object-fit:cover;display:flex!important;align-items:center;justify-content:center;color:#fff;font-weight:500;overflow:hidden;position:relative}
.av-im{background:linear-gradient(180deg,#A6ABB9,#858994)}
.av-glyph svg{width:62%;height:62%}

/* big emoji messages */
.jumbo{background:none!important;box-shadow:none!important;font-size:52px!important;line-height:62px!important;padding:0 2px!important}
.jumbo::before,.jumbo::after{display:none!important}

/* ---------------- iMessage ---------------- */
.im{--blue:#0A7AFF;--grey:#E9E9EB;--topbg:rgba(246,246,246,.97);--line:rgba(0,0,0,.2)}
.im.sms{--blue:#34C759}
.im.dark{--fg:#fff;--bg:#000;--sub:#8E8E93;--blue:#0A84FF;--grey:#262628;--topbg:rgba(26,26,28,.97);--line:rgba(255,255,255,.14)}
.im.dark.sms{--blue:#30D158}
.im .top{background:var(--topbg);border-bottom:.5px solid var(--line)}
.im-head{height:94px;position:relative;display:flex;justify-content:center}
.im-back{position:absolute;left:6px;top:20px;display:flex;align-items:center;color:var(--blue)}
.im-badge{background:var(--blue);color:#fff;font-size:15px;font-weight:500;border-radius:13px;padding:2px 8px;min-width:26px;text-align:center;margin-left:-3px;letter-spacing:-.02em}
.im-who{display:flex;flex-direction:column;align-items:center;padding-top:2px}
.im-name{font-size:12px;margin-top:6px;display:flex;align-items:center;gap:2px;color:var(--fg)}
.im-name svg{color:var(--sub)}
.im-vid{position:absolute;right:14px;top:21px;color:var(--blue)}
.im .feed{padding:10px 16px 12px}
.im-time{text-align:center;font-size:11.5px;color:var(--sub);margin:12px 0 8px;line-height:15px}
.im-time b{font-weight:600}
.im-b{position:relative;max-width:264px;padding:7px 13px 8px;border-radius:19px;font-size:17px;line-height:22px;letter-spacing:-.02em}
.me .im-b{background:var(--blue);color:#fff}
.them .im-b{background:var(--grey);color:var(--fg)}
.im-b.tail::before,.im-b.tail::after{content:"";position:absolute;bottom:0;height:20px}
.me .im-b.tail::before{right:-7px;width:20px;background:var(--blue);border-bottom-left-radius:16px 14px}
.me .im-b.tail::after{right:-26px;width:26px;background:var(--bg);border-bottom-left-radius:10px}
.them .im-b.tail::before{left:-7px;width:20px;background:var(--grey);border-bottom-right-radius:16px 14px}
.them .im-b.tail::after{left:-26px;width:26px;background:var(--bg);border-bottom-right-radius:10px}
.im-img{max-width:236px;max-height:320px;border-radius:18px;object-fit:cover}
.im-rcpt{text-align:right;font-size:11.5px;color:var(--sub);margin-top:4px;padding-right:2px}
.im-rcpt b{font-weight:600}
.im-typing{background:var(--grey);border-radius:19px;height:38px;width:64px;display:flex;align-items:center;justify-content:center;gap:4px;position:relative}
.im-typing i,.ms-typing i,.ig-typing i,.wa-typing i{width:8px;height:8px;border-radius:50%;background:#909095;display:block}
.im-typing i:nth-child(2){opacity:.7}.im-typing i:nth-child(3){opacity:.45}
.im-in{display:flex;align-items:center;gap:9px;padding:6px 12px 34px;background:var(--bg);flex:none}
.im-plus{width:35px;height:35px;border-radius:50%;background:#E9E9EB;color:#7D7D82;display:flex;align-items:center;justify-content:center;flex:none}
.im.dark .im-plus{background:#262628;color:#98989E}
.im-field{flex:1;height:36px;border:1px solid rgba(60,60,67,.3);border-radius:18px;display:flex;align-items:center;justify-content:space-between;padding:0 9px 0 13px;font-size:17px;color:#BDBDC2}
.im.dark .im-field{border-color:rgba(255,255,255,.2);color:#5D5D62}

/* ---------------- WhatsApp ---------------- */
.wa{--bg:#EFE7DE;--top:rgba(247,247,247,.97);--icon:#000;--me:#D9FDD3;--them:#fff;--meta:rgba(0,0,0,.45);--chip:#fff;--chipfg:#54656F;--sub:#8A8A8E;--field:#fff;--line:rgba(0,0,0,.14);--tick:#53BDEB}
.wa.dark{--fg:#E9EDEF;--bg:#0B141A;--top:rgba(20,20,20,.97);--icon:#fff;--me:#144D37;--them:#1F2C34;--meta:rgba(233,237,239,.6);--chip:#1F2C34;--chipfg:#8696A0;--sub:#8E8E93;--field:#2A2A2C;--line:rgba(255,255,255,.1)}
.wa .top{background:var(--top);border-bottom:.5px solid var(--line)}
.wa-head{height:52px;display:flex;align-items:center;padding:0 16px 4px 4px;gap:8px;color:var(--icon)}
.wa-back{display:flex;align-items:center;font-size:17px;gap:0;letter-spacing:-.02em}
.wa-who{flex:1;display:flex;align-items:center;gap:9px;min-width:0}
.wa-who>div{min-width:0}
.wa-name{font-size:16.5px;font-weight:600;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wa-sub{font-size:12.5px;color:var(--sub);margin-top:1px;white-space:nowrap}
.wa-ic{display:flex;gap:24px;align-items:center}
.wa .body{background-color:var(--bg);background-size:150px}
.wa .feed{padding:8px 0 10px}
.wa .row{padding:0 16px}
.wa-b{max-width:298px;padding:6px 8px 7px 10px;border-radius:17px;font-size:16.5px;line-height:21px;box-shadow:0 1px .6px rgba(11,20,26,.14);position:relative;letter-spacing:-.015em}
.me .wa-b{background:var(--me)}
.them .wa-b{background:var(--them)}
.wa-tail{position:absolute;bottom:0;width:13px;height:18px}
.me .wa-tail{right:-7px;color:var(--me)}
.them .wa-tail{left:-7px;color:var(--them);transform:scaleX(-1)}
.me .wa-b.tail{border-bottom-right-radius:4px}
.them .wa-b.tail{border-bottom-left-radius:4px}
.wa-sp{display:inline-block;width:44px;height:10px}
.me .wa-sp{width:62px}
.wa-m{position:absolute;right:9px;bottom:5px;font-size:11px;color:var(--meta);display:flex;align-items:center;gap:3px;line-height:13px;letter-spacing:0}
.wa-m .tk{color:var(--meta)}
.wa-m .tk.read{color:var(--tick)}
.wa-img{display:block;max-width:250px;max-height:320px;border-radius:12px;margin:-2px -4px 2px -6px;object-fit:cover}
.wa-date{margin:10px auto;background:var(--chip);color:var(--chipfg);font-size:12.5px;padding:5px 11px;border-radius:9px;width:fit-content;box-shadow:0 1px .6px rgba(11,20,26,.13);font-weight:500}
.wa-typing{background:var(--them);border-radius:17px;padding:13px 14px;display:flex;gap:4px;box-shadow:0 1px .6px rgba(11,20,26,.14)}
.wa-typing i{width:7px;height:7px}
.wa-in{display:flex;align-items:center;gap:14px;padding:7px 14px 32px 12px;background:var(--top);color:var(--icon);flex:none;border-top:.5px solid var(--line)}
.wa-field{flex:1;height:36px;border-radius:18px;background:var(--field);border:.5px solid var(--line);display:flex;align-items:center;justify-content:flex-end;padding:0 10px;color:var(--icon)}

/* ---------------- Instagram DM ---------------- */
.ig{--fg:#000;--bg:#fff;--them:#EFEFEF;--sub:#737373;--line:rgba(0,0,0,.1)}
.ig.dark{--fg:#F5F5F5;--bg:#000;--them:#262626;--sub:#A8A8A8;--line:rgba(255,255,255,.12)}
.ig-head{height:56px;display:flex;align-items:center;padding:0 16px 0 6px;gap:8px;color:var(--fg)}
.ig-who{flex:1;display:flex;align-items:center;gap:10px;min-width:0}
.ig-name{font-size:16px;font-weight:600;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ig-user{font-size:12.5px;color:var(--sub);margin-top:1px}
.ig-ic{display:flex;gap:22px;align-items:center}
.ig .feed{padding:8px 14px 8px}
.ig .row{gap:8px}
.ig-avs{width:28px;flex:none}
.ig-b{max-width:262px;padding:9px 14px 10px;border-radius:22px;font-size:16px;line-height:21px;letter-spacing:-.015em}
.them .ig-b{background:var(--them);color:var(--fg)}
.me .ig-b{color:#fff;background:linear-gradient(180deg,#A033FF 0%,#7A49FB 35%,#5762F5 65%,#3797F0 100%);background-size:100% 852px;background-repeat:no-repeat}
.me .ig-b.g-mid,.me .ig-b.g-last{border-top-right-radius:5px}
.me .ig-b.g-first,.me .ig-b.g-mid{border-bottom-right-radius:5px}
.them .ig-b.g-mid,.them .ig-b.g-last{border-top-left-radius:5px}
.them .ig-b.g-first,.them .ig-b.g-mid{border-bottom-left-radius:5px}
.ig-img{max-width:230px;max-height:320px;border-radius:20px;object-fit:cover}
.ig-time{text-align:center;color:var(--sub);font-size:12px;margin:16px 0 12px;font-weight:500}
.ig-seen{text-align:right;color:var(--sub);font-size:12px;margin-top:5px;padding-right:4px}
.ig-typing{background:var(--them);border-radius:22px;padding:14px 16px;display:flex;gap:4px}
.ig-typing i{width:7px;height:7px;background:var(--sub)}
.ig-in{padding:6px 12px 34px;flex:none}
.ig-field{height:46px;border-radius:23px;background:var(--them);display:flex;align-items:center;padding:0 14px 0 5px;gap:10px;color:var(--fg)}
.ig-cam{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#A033FF,#3797F0);color:#fff;display:flex;align-items:center;justify-content:center}
.ig-ph{flex:1;color:var(--sub);font-size:16px}
.ig-field .ig-ic{gap:16px}

/* ---------------- Messenger ---------------- */
.ms{--fg:#050505;--bg:#fff;--them:#F0F0F0;--sub:#65676B;--acc:#0A7CFF;--line:rgba(0,0,0,.08)}
.ms.dark{--fg:#E4E6EB;--bg:#000;--them:#303030;--sub:#B0B3B8;--acc:#2E8DFF;--line:rgba(255,255,255,.1)}
.ms .top{border-bottom:.5px solid var(--line)}
.ms-head{height:56px;display:flex;align-items:center;padding:0 16px 2px 4px;gap:8px;color:var(--acc)}
.ms-who{flex:1;display:flex;align-items:center;gap:10px;min-width:0;color:var(--fg)}
.ms-name{font-size:16.5px;font-weight:600;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ms-sub{font-size:12.5px;color:var(--sub);margin-top:1px}
.ms-dot{position:absolute;right:-1px;bottom:-1px;width:14px;height:14px;border-radius:50%;background:#31A24C;border:2.5px solid var(--bg)}
.ms-ic{display:flex;gap:22px;align-items:center;color:var(--acc)}
.ms .feed{padding:8px 12px 8px}
.ms .row{gap:8px}
.ms-avs{width:28px;flex:none}
.ms-b{max-width:256px;padding:8px 12px 9px;border-radius:18px;font-size:16px;line-height:21px;letter-spacing:-.015em}
.them .ms-b{background:var(--them);color:var(--fg)}
.me .ms-b{background:var(--acc);color:#fff}
.me .ms-b.g-mid,.me .ms-b.g-last{border-top-right-radius:4px}
.me .ms-b.g-first,.me .ms-b.g-mid{border-bottom-right-radius:4px}
.them .ms-b.g-mid,.them .ms-b.g-last{border-top-left-radius:4px}
.them .ms-b.g-first,.them .ms-b.g-mid{border-bottom-left-radius:4px}
.ms-img{max-width:230px;max-height:320px;border-radius:18px;object-fit:cover}
.ms-time{text-align:center;color:var(--sub);font-size:12px;margin:16px 0 12px;font-weight:500}
.ms-seen{display:flex;justify-content:flex-end;margin-top:4px;padding-right:2px}
.ms-typing{background:var(--them);border-radius:18px;padding:13px 14px;display:flex;gap:4px}
.ms-typing i{width:7px;height:7px;background:var(--sub)}
.ms-in{display:flex;align-items:center;gap:14px;padding:6px 14px 34px 12px;color:var(--acc);flex:none}
.ms-field{flex:1;height:36px;border-radius:18px;background:var(--them);display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 13px;font-size:16px;color:var(--sub)}
.ms-field svg{color:var(--acc)}

/* ---------------- Instagram comments ---------------- */
.igc{--fg:#000;--bg:#fff;--sub:#737373;--line:rgba(0,0,0,.1);--handle:#C7C7C7}
.igc.dark{--fg:#F5F5F5;--bg:#262626;--sub:#A8A8A8;--line:rgba(255,255,255,.12);--handle:#5E5E5E}
.igc.has-post{background:#000;--sbfg:#fff}
.igc-post{position:absolute;left:0;right:0;top:0;height:330px;overflow:hidden;background:#000}
.igc-post img{width:100%;height:100%;object-fit:cover}
.igc-post::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,0) 30%)}
.igc-sheet{flex:1;display:flex;flex-direction:column;background:var(--bg);min-height:0;position:relative;z-index:2}
.igc.has-post .igc-sheet{margin-top:224px;border-radius:16px 16px 0 0}
.igc-handle{width:38px;height:4px;border-radius:2px;background:var(--handle);margin:8px auto 0;flex:none}
.igc-title{text-align:center;font-weight:700;font-size:16px;padding:14px 0 14px;flex:none;letter-spacing:-.02em}
.igc .feed{padding:2px 0 8px}
.igc-c{display:flex;gap:12px;padding:9px 16px 9px}
.igc-c.rep{padding-left:64px}
.igc-main{flex:1;min-width:0}
.igc-u{font-size:13px;font-weight:600;display:flex;align-items:center;gap:4px;letter-spacing:-.01em}
.igc-u .tm{color:var(--sub);font-weight:400;margin-left:3px}
.igc-t{font-size:14px;line-height:18.5px;margin-top:2px;letter-spacing:-.01em}
.igc-r{font-size:12px;color:var(--sub);font-weight:600;margin-top:7px;display:flex;gap:16px}
.igc-like{width:26px;display:flex;flex-direction:column;align-items:center;gap:3px;padding-top:9px;color:var(--sub);font-size:11.5px}
.igc-like.on{color:#FF3040}
.igc-like span{color:var(--sub)}
.igc-more{padding:2px 16px 8px 64px;display:flex;align-items:center;gap:12px;font-size:12px;color:var(--sub);font-weight:600}
.igc-more::before{content:"";width:24px;height:1px;background:var(--sub);opacity:.6}
.igc-emo{display:flex;justify-content:space-between;padding:10px 22px 8px;font-size:26px;line-height:32px;flex:none;border-top:.5px solid var(--line)}
.igc-in{display:flex;align-items:center;gap:12px;padding:4px 16px 34px;flex:none}
.igc-ph{flex:1;height:44px;border-radius:22px;border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 14px 0 16px;font-size:14px;color:var(--sub)}
.igc-gif{font-size:11px;font-weight:700;border:1.6px solid var(--fg);border-radius:5px;padding:1px 3px;color:var(--fg);letter-spacing:.02em}
.vbadge{display:inline-flex;width:12px;height:12px}

/* ---------------- Facebook comments ---------------- */
.fb{--fg:#050505;--bg:#fff;--sub:#65676B;--bub:#F0F2F5;--line:#E4E6EB;--blue:#0866FF;--btn:#65676B}
.fb.dark{--fg:#E4E6EB;--bg:#242526;--sub:#B0B3B8;--bub:#3A3B3C;--line:#3E4042;--btn:#B0B3B8}
.fb .top{border-bottom:.5px solid var(--line)}
.fb-head{height:48px;display:flex;align-items:center;gap:4px;padding:0 14px 2px 4px;color:var(--fg)}
.fb-head .ttl{flex:1;font-size:17px;font-weight:600;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fb .feed{padding:0 0 10px}
.fb-post{padding:12px 16px 0}
.fb-ph{display:flex;gap:10px;align-items:center}
.fb-pn{font-size:15px;font-weight:600;letter-spacing:-.01em}
.fb-pm{font-size:13px;color:var(--sub);display:flex;align-items:center;gap:4px;margin-top:1px}
.fb-pt{font-size:15px;line-height:20px;margin:10px 0 10px;letter-spacing:-.01em}
.fb-pimg{width:calc(100% + 32px);margin:0 -16px;max-height:390px;object-fit:cover}
.fb-stats{display:flex;justify-content:space-between;align-items:center;padding:10px 0;font-size:14px;color:var(--sub)}
.fb-rx{display:flex;align-items:center;gap:6px}
.fb-rx .ics{display:flex}
.fb-rx .ics>*{margin-right:-3px;border:2px solid var(--bg);border-radius:50%}
.fb-act{display:flex;justify-content:space-around;border-top:1px solid var(--line);border-bottom:1px solid var(--line);height:44px;align-items:center;font-size:14px;font-weight:600;color:var(--btn);margin:0 -16px;padding:0 6px}
.fb-act>div{display:flex;align-items:center;gap:6px}
.fb-sort{padding:12px 16px 6px;font-size:15px;font-weight:600;display:flex;align-items:center;gap:4px}
.fb-c{display:flex;gap:8px;padding:5px 16px 2px}
.fb-c.rep{padding-left:56px}
.fb-cm{min-width:0;flex:1}
.fb-bub{background:var(--bub);border-radius:18px;padding:8px 12px 9px;display:inline-block;max-width:292px;position:relative}
.fb-cn{font-size:13px;font-weight:600;display:flex;align-items:center;gap:4px;letter-spacing:-.01em}
.fb-author{font-size:12px;color:var(--sub);font-weight:600;display:flex;align-items:center;gap:3px;margin-bottom:1px}
.fb-ct{font-size:15px;line-height:20px;letter-spacing:-.01em}
.fb-meta{font-size:12px;color:var(--sub);font-weight:600;display:flex;gap:16px;padding:4px 12px 6px}
.fb-meta .tm{font-weight:400}
.fb-badge{position:absolute;right:-10px;bottom:-10px;background:var(--bg);border-radius:12px;padding:2px 5px 2px 2px;display:flex;align-items:center;gap:3px;font-size:12.5px;color:var(--sub);box-shadow:0 1px 3px rgba(0,0,0,.2)}
.fb-badge.solo{padding-right:2px}
.fb-more{padding:0 16px 8px 56px;font-size:14px;font-weight:600;color:var(--sub);display:flex;align-items:center;gap:8px}
.fb-in{display:flex;align-items:center;gap:10px;padding:8px 14px 34px;border-top:1px solid var(--line);flex:none;color:var(--sub)}
.fb-field{flex:1;height:38px;border-radius:19px;background:var(--bub);display:flex;align-items:center;padding:0 14px;font-size:15px;color:var(--sub)}

/* ---------------- Gmail ---------------- */
.gm{--fg:#1F1F1F;--bg:#fff;--sub:#444746;--icon:#444746;--chip:#E3E3E3;--line:#C4C7C5;--fam:"Inter",-apple-system,system-ui,sans-serif}
.gm.dark{--fg:#E3E3E3;--bg:#131314;--sub:#C4C7C5;--icon:#C4C7C5;--chip:#3C3C3E;--line:#5E5E5E}
.gm-head{height:50px;display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 6px;color:var(--icon)}
.gm-head .ic{display:flex;gap:24px;align-items:center}
.gm .feed{padding:0 0 20px}
.gm-subj{font-size:22px;line-height:29px;padding:8px 16px 0;display:flex;gap:12px;align-items:flex-start;letter-spacing:-.01em}
.gm-subj>div{flex:1}
.gm-chip{display:inline-block;font-size:12px;line-height:18px;background:var(--chip);color:var(--fg);border-radius:4px;padding:0 6px;margin-left:6px;vertical-align:4px;letter-spacing:0}
.gm-subj>.gm-star{flex:none;color:var(--icon);padding-top:4px}
.gm-from{display:flex;gap:12px;padding:20px 16px 2px;align-items:flex-start}
.gm-fm{flex:1;min-width:0}
.gm-fn{font-size:16px;font-weight:600;display:flex;align-items:baseline;gap:8px;letter-spacing:-.01em}
.gm-fn .tm{font-size:13px;font-weight:400;color:var(--sub)}
.gm-to{font-size:13px;color:var(--sub);display:flex;align-items:center;gap:2px;margin-top:2px}
.gm-fi{display:flex;gap:18px;color:var(--icon);padding-top:6px}
.gm-text{padding:16px 16px 0;font-size:15.5px;line-height:23px;letter-spacing:-.005em}
.gm-act{display:flex;gap:8px;padding:10px 12px 34px;flex:none;background:var(--bg)}
.gm-act>div{flex:1;height:40px;border:1px solid var(--line);border-radius:20px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:14px;font-weight:500;color:var(--fg)}
