:root{
  --blue:#2AABEE;
  --blue-dark:#229ED9;
  --ink:#232E3C;
  --gray:#707579;
  --line:#E7E8EC;
  --bg-soft:#F4F4F5;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC","Helvetica Neue",Arial,sans-serif;
  color:var(--ink);line-height:1.75;background:#fff;font-size:16px;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:720px;margin:0 auto;padding:0 20px}
a{color:var(--blue-dark);text-decoration:none}
a:hover{text-decoration:underline}

/* Top nav */
nav{border-bottom:1px solid var(--line)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:56px}
nav .brand{display:flex;align-items:center;gap:9px;font-weight:600;font-size:1.05rem;color:var(--ink)}
nav .brand:hover{text-decoration:none}
nav .links{display:flex;align-items:center;gap:20px;font-size:.92rem}
nav .links a{color:var(--gray)}
nav .links a:hover{color:var(--blue-dark);text-decoration:none}

/* Logo mark */
.mark{
  width:32px;height:32px;border-radius:50%;flex-shrink:0;display:block;
}

/* Hero — telegram.org style: centered, airy, minimal */
.hero{text-align:center;padding:64px 0 46px}
.hero .mark{width:96px;height:96px;margin:0 auto 26px;box-shadow:0 8px 28px rgba(42,171,238,.28)}
h1{font-size:2.1rem;font-weight:700;letter-spacing:-.01em;line-height:1.3}
.hero p.lead{
  margin:14px auto 0;max-width:560px;color:var(--gray);font-size:1.06rem;
}
.hero .cta{
  display:inline-block;margin-top:28px;background:var(--blue);color:#fff;
  padding:13px 40px;border-radius:26px;font-weight:600;font-size:1.02rem;
  transition:background .15s ease;
}
.hero .cta:hover{background:var(--blue-dark);text-decoration:none}
.hero .meta{margin-top:16px;font-size:.85rem;color:#9AA0A6}
.hero .meta span{margin:0 9px}

/* Platform list — like telegram.org/apps */
.platforms{padding:8px 0 26px}
.dl_apps{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:10px 26px;margin-top:53px}
.dl_app{display:block;text-align:center;color:var(--ink);border-radius:16px;padding:12px 10px 16px}
.dl_app:hover,.dl_desktop:hover{background:#F3F8FC;text-decoration:none}
.dl_app img{display:block;margin:0 auto;height:220px;max-width:100%;width:auto;object-fit:contain}
.dl_desktop{display:block;text-align:center;color:var(--ink);border-radius:16px;padding:14px 10px 18px;margin:14px auto 0;max-width:640px}
.dl_desktop img{display:block;margin:0 auto;width:100%;height:auto}
.dl_name{display:block;margin-top:12px;font-size:1.05rem;font-weight:500}
.dl_name b{font-weight:700}
.dl_ico{display:inline-block;width:20px;height:22px;vertical-align:-4px;margin-right:8px;background:50% 50%/contain no-repeat}
.dl_ico_android{background-image:url(img/SiteIconAndroid.svg)}
.dl_ico_ios{background-image:url(img/SiteIconApple.svg)}
.dl_guide{max-width:560px;margin:30px auto 0;color:#3C4650;font-size:.98rem;line-height:1.7}
.dl_guide p{margin-bottom:6px}
.dl_guide ul{margin:0;padding:0;list-style:none}
.dl_guide li{padding:8px 0;border-top:1px solid var(--line)}
@media (max-width:520px){.dl_app img{height:172px}.dl_name{font-size:.98rem}}
/* Why Telegram — animated sticker cards (assets from telegram.org) */
.why{margin-top:44px;padding-top:6px}
.why_head{text-align:center;margin-bottom:4px}
.why_cards{display:flex;flex-wrap:wrap;justify-content:center;margin-top:8px}
.why_cell{width:33.3333%;text-align:center;padding:16px 12px}
.why_anim{width:150px;height:150px;margin:0 auto}
.why_title{color:var(--blue-dark);font-size:1.2rem;font-weight:500;margin:6px 0 5px}
.why_lead{font-size:.92rem;line-height:1.62;color:#4A545E;max-width:240px;margin:0 auto}
.why_lead b{color:var(--ink);font-weight:600}
@media(max-width:640px){.why_cell{width:50%}}
@media(max-width:430px){.why_cell{width:100%}}

/* Content sections — clean doc style */
main section{padding:30px 0 4px}
h2{font-size:1.4rem;font-weight:700;margin-bottom:14px;letter-spacing:-.01em}
h3{font-size:1.08rem;font-weight:600;margin:20px 0 8px}
main p{margin-bottom:12px;color:#3C4650}
strong{color:var(--ink)}
ol,ul{margin:0 0 14px 1.45em;color:#3C4650}
li{margin-bottom:7px}
.divider{border:none;border-top:1px solid var(--line);margin:26px 0 0}

/* Article page */
.article{padding:34px 0 10px}
.crumb{font-size:.85rem;color:var(--gray);margin-bottom:16px}
.crumb a{color:var(--gray)}
.article h1{font-size:1.7rem;line-height:1.35;margin-bottom:8px}
.article .sub{color:var(--gray);font-size:1.02rem;margin-bottom:6px}
.backhome{display:inline-block;margin:22px 0 6px;color:var(--blue-dark);font-weight:600}

.tipbox{
  background:var(--bg-soft);border-radius:12px;padding:14px 18px;margin:14px 0;
  font-size:.93rem;color:#4A545E;
}
.tipbox b{color:var(--ink)}

/* Official links list */
.offlist{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:14px 0}
.offlist>div{display:flex;justify-content:space-between;gap:14px;padding:12px 18px;font-size:.94rem;flex-wrap:wrap}
.offlist>div+div{border-top:1px solid var(--line)}
.offlist b{color:var(--ink);font-weight:600}

/* FAQ */
details{border-bottom:1px solid var(--line)}
details:first-of-type{border-top:1px solid var(--line)}
summary{
  cursor:pointer;padding:15px 4px;font-weight:600;font-size:1rem;list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:10px;
}
summary::-webkit-details-marker{display:none}
summary::after{content:"›";font-size:1.25rem;color:var(--blue);transform:rotate(90deg);transition:transform .15s;flex-shrink:0}
details[open] summary::after{transform:rotate(-90deg)}
details .a{padding:0 4px 15px;color:#3C4650;font-size:.95rem}

footer{
  margin-top:44px;border-top:1px solid var(--line);padding:26px 0 34px;
  font-size:.82rem;color:#9AA0A6;text-align:center;
}
footer p{margin-bottom:6px}
footer a{color:#9AA0A6;text-decoration:underline}

@media (max-width:560px){
  h1{font-size:1.6rem}
  .hero{padding:46px 0 36px}
  .hero .mark{width:80px;height:80px}
  nav .links{display:none}
}

code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background:var(--bg-soft);padding:1px 6px;border-radius:5px}

/* ===== Installer checker (verify page) ===== */
.vf_hero{text-align:center;border:1px solid var(--line);border-radius:20px;padding:34px 24px 26px;margin:8px 0 20px;background:linear-gradient(180deg,#F1F8FD,#fff)}
.vf_shield{width:54px;height:54px;margin:0 auto 12px;color:var(--blue-dark)}
.vf_shield svg{width:100%;height:100%}
.vf_hero h1{font-size:1.6rem;color:var(--ink);margin:0}
.vf_hero p{max-width:544px;margin:9px auto 0;color:var(--gray);font-size:.98rem;line-height:1.7}
.vf_badges{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-top:16px}
.vf_badges span{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:6px 13px;font-size:.82rem;font-weight:600;color:#3C4650}
.vf_badges span svg{width:15px;height:15px;color:var(--blue-dark);flex-shrink:0}

.vf_drop{position:relative;text-align:center;border:1.5px dashed #BFE0F4;border-radius:18px;padding:34px 22px;background:#F8FCFE;cursor:pointer;transition:border-color .15s,background .15s}
.vf_drop:hover,.vf_drop.drag{border-color:var(--blue);background:#F1F8FD}
.vf_upicon{width:50px;height:50px;margin:0 auto 12px;color:var(--blue)}
.vf_upicon svg{width:100%;height:100%}
.vf_drop b{font-size:1.04rem;color:var(--ink)}
.vf_drop .hint{color:var(--gray);font-size:.85rem;margin-top:6px}
.vf_btn{display:inline-block;margin-top:16px;background:var(--blue);color:#fff;font-weight:600;padding:10px 28px;border-radius:22px;font-size:.94rem}
.vf_drop:hover .vf_btn{background:var(--blue-dark)}

.vf_scan{display:none;align-items:center;gap:12px;margin-top:16px;padding:13px 18px;border:1px solid var(--line);border-radius:14px;color:var(--blue-dark);font-size:.9rem;font-weight:600}
.vf_scan.show{display:flex}
.vf_bar{flex:1;height:5px;border-radius:5px;background:#E7F3FB;overflow:hidden;position:relative}
.vf_bar::before{content:"";position:absolute;left:-40%;top:0;height:100%;width:40%;border-radius:5px;background:var(--blue);animation:vfslide 1s linear infinite}
@keyframes vfslide{to{left:110%}}

.vf_report{display:none;margin-top:18px;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.vf_report.show{display:block;animation:vfin .22s ease}
@keyframes vfin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.vf_rhead{display:flex;align-items:center;gap:14px;padding:16px 18px;background:#F1F8FD;border-bottom:1px solid var(--line)}
.vf_ficon{color:var(--blue-dark);flex-shrink:0}
.vf_ficon svg{width:30px;height:30px;display:block}
.vf_fname{font-weight:700;font-size:1rem;color:var(--ink);word-break:break-all}
.vf_ftype{font-size:.84rem;color:var(--gray);margin-top:2px}
.vf_rsize{margin-left:auto;font-size:.82rem;background:#fff;border:1px solid var(--line);color:var(--gray);border-radius:16px;padding:4px 12px;white-space:nowrap;flex-shrink:0}
.vf_hashes{padding:16px 18px;display:grid;gap:14px}
.vf_hash_k{display:flex;align-items:center;gap:8px;font-size:.79rem;color:var(--gray);font-weight:600;margin-bottom:5px;letter-spacing:.02em}
.vf_hash_v{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85rem;color:var(--ink);word-break:break-all;background:var(--bg-soft);border-radius:10px;padding:10px 12px}
.chk_copy{background:#fff;border:1px solid var(--line);border-radius:6px;padding:1px 9px;font-size:.75rem;color:var(--blue-dark);cursor:pointer}
.chk_copy:hover{background:#F3F8FC}
.vf_vt{display:block;margin:0 18px 8px;text-align:center;background:var(--blue);color:#fff;font-weight:600;padding:12px;border-radius:11px;font-size:.96rem}
.vf_vt:hover{background:var(--blue-dark);text-decoration:none;color:#fff}
.vf_vtnote{font-size:.8rem;color:var(--gray);padding:0 18px 16px;text-align:center}

.vf_cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0 4px}
.vf_card{border:1px solid var(--line);border-radius:16px;padding:18px 18px 8px;background:#fff}
.vf_card h3{margin:0 0 8px;font-size:1rem;display:flex;align-items:center;gap:8px}
.vf_hi{width:19px;height:19px;color:var(--blue-dark);flex-shrink:0}
.vf_card ul{list-style:none;margin:0;padding:0}
.vf_card li{font-size:.9rem;color:#3C4650;padding:9px 0;border-top:1px solid var(--line);line-height:1.55}
.vf_card li:first-child{border-top:0}
.vf_card li b{color:var(--ink)}
.vf_k{color:var(--gray);font-size:.83rem}
.vf_x{color:#C5221F;font-weight:700;margin-right:4px}
.vf_ok{color:#137333;font-weight:700;margin-right:4px}
@media(max-width:600px){.vf_cards{grid-template-columns:1fr}.vf_hero h1{font-size:1.4rem}}

/* Tutorial screenshots */
.shots{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;margin:18px 0 6px}
.shots figure{margin:0;text-align:center;max-width:250px;flex:0 1 250px}
.shots img{width:100%;height:auto;border:1px solid var(--line);border-radius:16px;display:block}
.shots figcaption{font-size:.86rem;color:var(--gray);margin-top:9px}

/* Homepage content: answer-first intro, page nav, reference tables, alias note */
.dl_intro{margin:0 0 20px;color:#3C4650;font-size:.98rem;line-height:1.8}
.dl_intro b{color:var(--ink);font-weight:600}
.toc{display:flex;flex-wrap:wrap;gap:8px 10px;margin:0 0 28px;padding:13px 16px;background:var(--bg-soft);border:1px solid var(--line);border-radius:14px}
.toc a{font-size:.9rem;color:var(--blue-dark);white-space:nowrap}
.dl_th{margin-top:36px}
.dl_table_wrap{overflow-x:auto;margin:6px 0 8px;-webkit-overflow-scrolling:touch}
.dl_table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:520px}
.dl_table th,.dl_table td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top;line-height:1.6}
.dl_table thead th{background:var(--bg-soft);color:var(--ink);font-weight:600;white-space:nowrap}
.dl_table td:first-child{white-space:nowrap;font-weight:600;color:var(--ink)}
.dl_note{font-size:.9rem;color:#3C4650;background:var(--bg-soft);border-radius:12px;padding:14px 16px;line-height:1.75;margin:14px 0 4px}
.dl_note b{color:var(--ink)}
